[
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\r\n## files generated by popular Visual Studio add-ons.\r\n##\r\n## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore\r\n\r\n# User-specific files\r\n*.rsuser\r\n*.suo\r\n*.user\r\n*.userosscache\r\n*.sln.docstates\r\nbuild\r\n# User-specific files (MonoDevelop/Xamarin Studio)\r\n*.userprefs\r\n\r\n# Mono auto generated files\r\nmono_crash.*\r\n\r\n# Build results\r\n[Dd]ebug/\r\n[Dd]ebugPublic/\r\n[Rr]elease/\r\n[Rr]eleases/\r\nx64/\r\nx86/\r\n[Ww][Ii][Nn]32/\r\n[Aa][Rr][Mm]/\r\n[Aa][Rr][Mm]64/\r\nbld/\r\n[Bb]in/\r\n[Oo]bj/\r\n[Ll]og/\r\n[Ll]ogs/\r\n\r\n# Visual Studio 2015/2017 cache/options directory\r\n.vs/\r\n# Uncomment if you have tasks that create the project's static files in wwwroot\r\n#wwwroot/\r\n\r\n# Visual Studio 2017 auto generated files\r\nGenerated\\ Files/\r\n\r\n# MSTest test Results\r\n[Tt]est[Rr]esult*/\r\n[Bb]uild[Ll]og.*\r\n\r\n# NUnit\r\n*.VisualState.xml\r\nTestResult.xml\r\nnunit-*.xml\r\n\r\n# Build Results of an ATL Project\r\n[Dd]ebugPS/\r\n[Rr]eleasePS/\r\ndlldata.c\r\n\r\n# Benchmark Results\r\nBenchmarkDotNet.Artifacts/\r\n\r\n# .NET Core\r\nproject.lock.json\r\nproject.fragment.lock.json\r\nartifacts/\r\n\r\n# ASP.NET Scaffolding\r\nScaffoldingReadMe.txt\r\n\r\n# StyleCop\r\nStyleCopReport.xml\r\n\r\n# Files built by Visual Studio\r\n*_i.c\r\n*_p.c\r\n*_h.h\r\n*.ilk\r\n*.meta\r\n*.obj\r\n*.iobj\r\n*.pch\r\n*.pdb\r\n*.ipdb\r\n*.pgc\r\n*.pgd\r\n*.rsp\r\n*.sbr\r\n*.tlb\r\n*.tli\r\n*.tlh\r\n*.tmp\r\n*.tmp_proj\r\n*_wpftmp.csproj\r\n*.log\r\n*.tlog\r\n*.vspscc\r\n*.vssscc\r\n.builds\r\n*.pidb\r\n*.svclog\r\n*.scc\r\n\r\n# Chutzpah Test files\r\n_Chutzpah*\r\n\r\n# Visual C++ cache files\r\nipch/\r\n*.aps\r\n*.ncb\r\n*.opendb\r\n*.opensdf\r\n*.sdf\r\n*.cachefile\r\n*.VC.db\r\n*.VC.VC.opendb\r\n\r\n# Visual Studio profiler\r\n*.psess\r\n*.vsp\r\n*.vspx\r\n*.sap\r\n\r\n# Visual Studio Trace Files\r\n*.e2e\r\n\r\n# TFS 2012 Local Workspace\r\n$tf/\r\n\r\n# Guidance Automation Toolkit\r\n*.gpState\r\n\r\n# ReSharper is a .NET coding add-in\r\n_ReSharper*/\r\n*.[Rr]e[Ss]harper\r\n*.DotSettings.user\r\n\r\n# TeamCity is a build add-in\r\n_TeamCity*\r\n\r\n# DotCover is a Code Coverage Tool\r\n*.dotCover\r\n\r\n# AxoCover is a Code Coverage Tool\r\n.axoCover/*\r\n!.axoCover/settings.json\r\n\r\n# Coverlet is a free, cross platform Code Coverage Tool\r\ncoverage*.json\r\ncoverage*.xml\r\ncoverage*.info\r\n\r\n# Visual Studio code coverage results\r\n*.coverage\r\n*.coveragexml\r\n\r\n# NCrunch\r\n_NCrunch_*\r\n.*crunch*.local.xml\r\nnCrunchTemp_*\r\n\r\n# MightyMoose\r\n*.mm.*\r\nAutoTest.Net/\r\n\r\n# Web workbench (sass)\r\n.sass-cache/\r\n\r\n# Installshield output folder\r\n[Ee]xpress/\r\n\r\n# DocProject is a documentation generator add-in\r\nDocProject/buildhelp/\r\nDocProject/Help/*.HxT\r\nDocProject/Help/*.HxC\r\nDocProject/Help/*.hhc\r\nDocProject/Help/*.hhk\r\nDocProject/Help/*.hhp\r\nDocProject/Help/Html2\r\nDocProject/Help/html\r\n\r\n# Click-Once directory\r\npublish/\r\n\r\n# Publish Web Output\r\n*.[Pp]ublish.xml\r\n*.azurePubxml\r\n# Note: Comment the next line if you want to checkin your web deploy settings,\r\n# but database connection strings (with potential passwords) will be unencrypted\r\n*.pubxml\r\n*.publishproj\r\n\r\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\r\n# checkin your Azure Web App publish settings, but sensitive information contained\r\n# in these scripts will be unencrypted\r\nPublishScripts/\r\n\r\n# NuGet Packages\r\n*.nupkg\r\n# NuGet Symbol Packages\r\n*.snupkg\r\n# The packages folder can be ignored because of Package Restore\r\n**/[Pp]ackages/*\r\n# except build/, which is used as an MSBuild target.\r\n!**/[Pp]ackages/build/\r\n# Uncomment if necessary however generally it will be regenerated when needed\r\n#!**/[Pp]ackages/repositories.config\r\n# NuGet v3's project.json files produces more ignorable files\r\n*.nuget.props\r\n*.nuget.targets\r\n\r\n# Microsoft Azure Build Output\r\ncsx/\r\n*.build.csdef\r\n\r\n# Microsoft Azure Emulator\r\necf/\r\nrcf/\r\n\r\n# Windows Store app package directories and files\r\nAppPackages/\r\nBundleArtifacts/\r\nPackage.StoreAssociation.xml\r\n_pkginfo.txt\r\n*.appx\r\n*.appxbundle\r\n*.appxupload\r\n\r\n# Visual Studio cache files\r\n# files ending in .cache can be ignored\r\n*.[Cc]ache\r\n# but keep track of directories ending in .cache\r\n!?*.[Cc]ache/\r\n\r\n# Others\r\nClientBin/\r\n~$*\r\n*~\r\n*.dbmdl\r\n*.dbproj.schemaview\r\n*.jfm\r\n*.pfx\r\n*.publishsettings\r\norleans.codegen.cs\r\n\r\n# Including strong name files can present a security risk\r\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\r\n#*.snk\r\n\r\n# Since there are multiple workflows, uncomment next line to ignore bower_components\r\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\r\n#bower_components/\r\n\r\n# RIA/Silverlight projects\r\nGenerated_Code/\r\n\r\n# Backup & report files from converting an old project file\r\n# to a newer Visual Studio version. Backup files are not needed,\r\n# because we have git ;-)\r\n_UpgradeReport_Files/\r\nBackup*/\r\nUpgradeLog*.XML\r\nUpgradeLog*.htm\r\nServiceFabricBackup/\r\n*.rptproj.bak\r\n\r\n# SQL Server files\r\n*.mdf\r\n*.ldf\r\n*.ndf\r\n\r\n# Business Intelligence projects\r\n*.rdl.data\r\n*.bim.layout\r\n*.bim_*.settings\r\n*.rptproj.rsuser\r\n*- [Bb]ackup.rdl\r\n*- [Bb]ackup ([0-9]).rdl\r\n*- [Bb]ackup ([0-9][0-9]).rdl\r\n\r\n# Microsoft Fakes\r\nFakesAssemblies/\r\n\r\n# GhostDoc plugin setting file\r\n*.GhostDoc.xml\r\n\r\n# Node.js Tools for Visual Studio\r\n.ntvs_analysis.dat\r\nnode_modules/\r\n\r\n# Visual Studio 6 build log\r\n*.plg\r\n\r\n# Visual Studio 6 workspace options file\r\n*.opt\r\n\r\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\r\n*.vbw\r\n\r\n# Visual Studio 6 auto-generated project file (contains which files were open etc.)\r\n*.vbp\r\n\r\n# Visual Studio 6 workspace and project file (working project files containing files to include in project)\r\n*.dsw\r\n*.dsp\r\n\r\n# Visual Studio 6 technical files \r\n*.ncb\r\n*.aps\r\n\r\n# Visual Studio LightSwitch build output\r\n**/*.HTMLClient/GeneratedArtifacts\r\n**/*.DesktopClient/GeneratedArtifacts\r\n**/*.DesktopClient/ModelManifest.xml\r\n**/*.Server/GeneratedArtifacts\r\n**/*.Server/ModelManifest.xml\r\n_Pvt_Extensions\r\n\r\n# Paket dependency manager\r\n.paket/paket.exe\r\npaket-files/\r\n\r\n# FAKE - F# Make\r\n.fake/\r\n\r\n# CodeRush personal settings\r\n.cr/personal\r\n\r\n# Python Tools for Visual Studio (PTVS)\r\n__pycache__/\r\n*.pyc\r\n\r\n# Cake - Uncomment if you are using it\r\n# tools/**\r\n# !tools/packages.config\r\n\r\n# Tabs Studio\r\n*.tss\r\n\r\n# Telerik's JustMock configuration file\r\n*.jmconfig\r\n\r\n# BizTalk build output\r\n*.btp.cs\r\n*.btm.cs\r\n*.odx.cs\r\n*.xsd.cs\r\n\r\n# OpenCover UI analysis results\r\nOpenCover/\r\n\r\n# Azure Stream Analytics local run output\r\nASALocalRun/\r\n\r\n# MSBuild Binary and Structured Log\r\n*.binlog\r\n\r\n# NVidia Nsight GPU debugger configuration file\r\n*.nvuser\r\n\r\n# MFractors (Xamarin productivity tool) working folder\r\n.mfractor/\r\n\r\n# Local History for Visual Studio\r\n.localhistory/\r\n\r\n# Visual Studio History (VSHistory) files\r\n.vshistory/\r\n\r\n# BeatPulse healthcheck temp database\r\nhealthchecksdb\r\n\r\n# Backup folder for Package Reference Convert tool in Visual Studio 2017\r\nMigrationBackup/\r\n\r\n# Ionide (cross platform F# VS Code tools) working folder\r\n.ionide/\r\n\r\n# Fody - auto-generated XML schema\r\nFodyWeavers.xsd\r\n\r\n# VS Code files for those working on multiple tools\r\n.vscode/*\r\n!.vscode/settings.json\r\n!.vscode/tasks.json\r\n!.vscode/launch.json\r\n!.vscode/extensions.json\r\n*.code-workspace\r\n\r\n# Local History for Visual Studio Code\r\n.history/\r\n\r\n# Windows Installer files from build outputs\r\n*.cab\r\n*.msi\r\n*.msix\r\n*.msm\r\n*.msp\r\n\r\n# JetBrains Rider\r\n*.sln.iml\r\n\r\n# Created by https://www.toptal.com/developers/gitignore/api/cmake\r\n# Edit at https://www.toptal.com/developers/gitignore?templates=cmake\r\n\r\n### CMake ###\r\nCMakeLists.txt.user\r\nCMakeCache.txt\r\nCMakeFiles\r\nCMakeScripts\r\nTesting\r\nMakefile\r\ncmake_install.cmake\r\ninstall_manifest.txt\r\ncompile_commands.json\r\nCTestTestfile.cmake\r\n_deps\r\n\r\n### CMake Patch ###\r\n# External projects\r\n*-prefix/\r\n\r\n# End of https://www.toptal.com/developers/gitignore/api/cmake\r\n!/Makefile\r\n\r\n# C++ objects and libs\r\n*.slo\r\n*.lo\r\n*.o\r\n*.a\r\n*.la\r\n*.lai\r\n*.so\r\n*.so.*\r\n*.dll\r\n*.dylib\r\n\r\n# Qt-es\r\nobject_script.*.Release\r\nobject_script.*.Debug\r\n*_plugin_import.cpp\r\n/.qmake.cache\r\n/.qmake.stash\r\n*.pro.user\r\n*.pro.user.*\r\n*.qbs.user\r\n*.qbs.user.*\r\n*.moc\r\nmoc_*.cpp\r\nmoc_*.h\r\nqrc_*.cpp\r\nui_*.h\r\n*.qmlc\r\n*.jsc\r\nMakefile*\r\n*build-*\r\n*.prl\r\n\r\n# Qt unit tests\r\ntarget_wrapper.*\r\n\r\n# QtCreator\r\n*.autosave\r\n\r\n# QtCreator Qml\r\n*.qmlproject.user\r\n*.qmlproject.user.*\r\n\r\n# QtCreator CMake\r\nCMakeLists.txt.user*\r\n\r\n# QtCreator 4.8< compilation database\r\ncompile_commands.json\r\n\r\n# QtCreator local machine specific files for imported projects\r\n*creator.user*\r\n\r\n[Bb]uild/\r\n.vscode/\r\n.vs/\r\n"
  },
  {
    "path": "CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.16)\nproject(NotePad-- VERSION 1.22.0)\n\nset(CMAKE_AUTOMOC ON)\nset(CMAKE_AUTOUIC ON)\nset(CMAKE_AUTORCC ON)\n\nfind_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Concurrent Network PrintSupport XmlPatterns)\n\n# qscint 关键依赖库\nadd_subdirectory(${PROJECT_SOURCE_DIR}/src/qscint)\n\n# 插件库包含\n# helloworld 动态插件库\nadd_subdirectory(${PROJECT_SOURCE_DIR}/src/plugin/helloworld)\n\n# win下需要开启UNICODE进行支持TCHAR\nif(CMAKE_HOST_WIN32)\n    add_definitions(-D_UNICODE -DUNICODE)\nendif()\n\n\nif(${PLUGIN_EN})\n    if(${PLUGIN_EN}  STREQUAL on)\n        add_definitions(-DNO_PLUGIN=1)\n    endif(${PLUGIN_EN})    \nendif()\n\n\n\nfile(GLOB UI_SRC ${PROJECT_SOURCE_DIR}/src/*.ui)\nset(UI_SRC ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/cceditor/ccnotepad.ui)\naux_source_directory(${PROJECT_SOURCE_DIR}/src SRC)\naux_source_directory(${PROJECT_SOURCE_DIR}/src/cceditor SRC)\n\n\nif(CMAKE_HOST_WIN32)\n# 添加 WIN32 保证主程序启动没有命令行\n    list(APPEND WIN_RCS ${PROJECT_SOURCE_DIR}/src/RealCompareToMinGw.rc)\n    add_executable(${PROJECT_NAME} WIN32 ${WIN_RCS} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc)\nelse()\n    add_executable(${PROJECT_NAME} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc)\nendif()\n\ntarget_include_directories(${PROJECT_NAME} PRIVATE\n${PROJECT_SOURCE_DIR}/src\n${PROJECT_SOURCE_DIR}/src/cceditor\n\n${PROJECT_SOURCE_DIR}/src/qscint/src\n${PROJECT_SOURCE_DIR}/src/qscint/src/Qsci\n${PROJECT_SOURCE_DIR}/src/qscint/scintilla/src\n${PROJECT_SOURCE_DIR}/src/qscint/scintilla/include\n${PROJECT_SOURCE_DIR}/src/qscint/scintilla/lexlib\n${PROJECT_SOURCE_DIR}/src/qscint/scintilla/boostregex\n)\n\ntarget_link_libraries(${PROJECT_NAME} qscint Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network  Qt5::PrintSupport Qt5::XmlPatterns)\n\n# set(PROJECT_BINARY_DIR \"${PROJECT_BINARY_DIR}/bin\")\n# set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)\n\nif(CMAKE_HOST_UNIX)\n    install(\n        TARGETS ${PROJECT_NAME}\n        DESTINATION \"bin\"\n    )\n\n    install(DIRECTORY  ${PROJECT_SOURCE_DIR}/src/linux/usr\n            DESTINATION \"/\")\n\n    include(${PROJECT_SOURCE_DIR}/cmake/deb_package_config.cmake) \n    include(CPack)\nelseif(CMAKE_HOST_WIN32)\n    install(TARGETS ${PROJECT_NAME}\n            DESTINATION \"/\")\n\n    install(DIRECTORY  ${PROJECT_SOURCE_DIR}/build/bin/\n            DESTINATION \"/\")\n    # 设置软件版本\n    set(CPACK_PACKAGE_NAME \"NotePad--\")\n    set(CPACK_PACKAGE_DESCRIPTION \"NotePad--\")\n    set(CPACK_PACKAGE_COPYRIGHT \"Copyright (c) 2023\")\n    set(CPACK_PACKAGE_VERSION \"1.22.0\")\n    set(CPACK_PACKAGE_VERSION_MAJOR \"1\")\n    set(CPACK_PACKAGE_VERSION_MINOR \"22\")\n    set(CPACK_PACKAGE_VERSION_PATCH \"0\")\n\n    include(${PROJECT_SOURCE_DIR}/cmake/nsis_package_config.cmake) \n    include(CPack)\nendif()\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\r\n                       Version 3, 29 June 2007\r\n\r\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\r\n Everyone is permitted to copy and distribute verbatim copies\r\n of this license document, but changing it is not allowed.\r\n\r\n                            Preamble\r\n\r\n  The GNU General Public License is a free, copyleft license for\r\nsoftware and other kinds of works.\r\n\r\n  The licenses for most software and other practical works are designed\r\nto take away your freedom to share and change the works.  By contrast,\r\nthe GNU General Public License is intended to guarantee your freedom to\r\nshare and change all versions of a program--to make sure it remains free\r\nsoftware for all its users.  We, the Free Software Foundation, use the\r\nGNU General Public License for most of our software; it applies also to\r\nany other work released this way by its authors.  You can apply it to\r\nyour programs, too.\r\n\r\n  When we speak of free software, we are referring to freedom, not\r\nprice.  Our General Public Licenses are designed to make sure that you\r\nhave the freedom to distribute copies of free software (and charge for\r\nthem if you wish), that you receive source code or can get it if you\r\nwant it, that you can change the software or use pieces of it in new\r\nfree programs, and that you know you can do these things.\r\n\r\n  To protect your rights, we need to prevent others from denying you\r\nthese rights or asking you to surrender the rights.  Therefore, you have\r\ncertain responsibilities if you distribute copies of the software, or if\r\nyou modify it: responsibilities to respect the freedom of others.\r\n\r\n  For example, if you distribute copies of such a program, whether\r\ngratis or for a fee, you must pass on to the recipients the same\r\nfreedoms that you received.  You must make sure that they, too, receive\r\nor can get the source code.  And you must show them these terms so they\r\nknow their rights.\r\n\r\n  Developers that use the GNU GPL protect your rights with two steps:\r\n(1) assert copyright on the software, and (2) offer you this License\r\ngiving you legal permission to copy, distribute and/or modify it.\r\n\r\n  For the developers' and authors' protection, the GPL clearly explains\r\nthat there is no warranty for this free software.  For both users' and\r\nauthors' sake, the GPL requires that modified versions be marked as\r\nchanged, so that their problems will not be attributed erroneously to\r\nauthors of previous versions.\r\n\r\n  Some devices are designed to deny users access to install or run\r\nmodified versions of the software inside them, although the manufacturer\r\ncan do so.  This is fundamentally incompatible with the aim of\r\nprotecting users' freedom to change the software.  The systematic\r\npattern of such abuse occurs in the area of products for individuals to\r\nuse, which is precisely where it is most unacceptable.  Therefore, we\r\nhave designed this version of the GPL to prohibit the practice for those\r\nproducts.  If such problems arise substantially in other domains, we\r\nstand ready to extend this provision to those domains in future versions\r\nof the GPL, as needed to protect the freedom of users.\r\n\r\n  Finally, every program is threatened constantly by software patents.\r\nStates should not allow patents to restrict development and use of\r\nsoftware on general-purpose computers, but in those that do, we wish to\r\navoid the special danger that patents applied to a free program could\r\nmake it effectively proprietary.  To prevent this, the GPL assures that\r\npatents cannot be used to render the program non-free.\r\n\r\n  The precise terms and conditions for copying, distribution and\r\nmodification follow.\r\n\r\n                       TERMS AND CONDITIONS\r\n\r\n  0. Definitions.\r\n\r\n  \"This License\" refers to version 3 of the GNU General Public License.\r\n\r\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\r\nworks, such as semiconductor masks.\r\n\r\n  \"The Program\" refers to any copyrightable work licensed under this\r\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\r\n\"recipients\" may be individuals or organizations.\r\n\r\n  To \"modify\" a work means to copy from or adapt all or part of the work\r\nin a fashion requiring copyright permission, other than the making of an\r\nexact copy.  The resulting work is called a \"modified version\" of the\r\nearlier work or a work \"based on\" the earlier work.\r\n\r\n  A \"covered work\" means either the unmodified Program or a work based\r\non the Program.\r\n\r\n  To \"propagate\" a work means to do anything with it that, without\r\npermission, would make you directly or secondarily liable for\r\ninfringement under applicable copyright law, except executing it on a\r\ncomputer or modifying a private copy.  Propagation includes copying,\r\ndistribution (with or without modification), making available to the\r\npublic, and in some countries other activities as well.\r\n\r\n  To \"convey\" a work means any kind of propagation that enables other\r\nparties to make or receive copies.  Mere interaction with a user through\r\na computer network, with no transfer of a copy, is not conveying.\r\n\r\n  An interactive user interface displays \"Appropriate Legal Notices\"\r\nto the extent that it includes a convenient and prominently visible\r\nfeature that (1) displays an appropriate copyright notice, and (2)\r\ntells the user that there is no warranty for the work (except to the\r\nextent that warranties are provided), that licensees may convey the\r\nwork under this License, and how to view a copy of this License.  If\r\nthe interface presents a list of user commands or options, such as a\r\nmenu, a prominent item in the list meets this criterion.\r\n\r\n  1. Source Code.\r\n\r\n  The \"source code\" for a work means the preferred form of the work\r\nfor making modifications to it.  \"Object code\" means any non-source\r\nform of a work.\r\n\r\n  A \"Standard Interface\" means an interface that either is an official\r\nstandard defined by a recognized standards body, or, in the case of\r\ninterfaces specified for a particular programming language, one that\r\nis widely used among developers working in that language.\r\n\r\n  The \"System Libraries\" of an executable work include anything, other\r\nthan the work as a whole, that (a) is included in the normal form of\r\npackaging a Major Component, but which is not part of that Major\r\nComponent, and (b) serves only to enable use of the work with that\r\nMajor Component, or to implement a Standard Interface for which an\r\nimplementation is available to the public in source code form.  A\r\n\"Major Component\", in this context, means a major essential component\r\n(kernel, window system, and so on) of the specific operating system\r\n(if any) on which the executable work runs, or a compiler used to\r\nproduce the work, or an object code interpreter used to run it.\r\n\r\n  The \"Corresponding Source\" for a work in object code form means all\r\nthe source code needed to generate, install, and (for an executable\r\nwork) run the object code and to modify the work, including scripts to\r\ncontrol those activities.  However, it does not include the work's\r\nSystem Libraries, or general-purpose tools or generally available free\r\nprograms which are used unmodified in performing those activities but\r\nwhich are not part of the work.  For example, Corresponding Source\r\nincludes interface definition files associated with source files for\r\nthe work, and the source code for shared libraries and dynamically\r\nlinked subprograms that the work is specifically designed to require,\r\nsuch as by intimate data communication or control flow between those\r\nsubprograms and other parts of the work.\r\n\r\n  The Corresponding Source need not include anything that users\r\ncan regenerate automatically from other parts of the Corresponding\r\nSource.\r\n\r\n  The Corresponding Source for a work in source code form is that\r\nsame work.\r\n\r\n  2. Basic Permissions.\r\n\r\n  All rights granted under this License are granted for the term of\r\ncopyright on the Program, and are irrevocable provided the stated\r\nconditions are met.  This License explicitly affirms your unlimited\r\npermission to run the unmodified Program.  The output from running a\r\ncovered work is covered by this License only if the output, given its\r\ncontent, constitutes a covered work.  This License acknowledges your\r\nrights of fair use or other equivalent, as provided by copyright law.\r\n\r\n  You may make, run and propagate covered works that you do not\r\nconvey, without conditions so long as your license otherwise remains\r\nin force.  You may convey covered works to others for the sole purpose\r\nof having them make modifications exclusively for you, or provide you\r\nwith facilities for running those works, provided that you comply with\r\nthe terms of this License in conveying all material for which you do\r\nnot control copyright.  Those thus making or running the covered works\r\nfor you must do so exclusively on your behalf, under your direction\r\nand control, on terms that prohibit them from making any copies of\r\nyour copyrighted material outside their relationship with you.\r\n\r\n  Conveying under any other circumstances is permitted solely under\r\nthe conditions stated below.  Sublicensing is not allowed; section 10\r\nmakes it unnecessary.\r\n\r\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\r\n\r\n  No covered work shall be deemed part of an effective technological\r\nmeasure under any applicable law fulfilling obligations under article\r\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\r\nsimilar laws prohibiting or restricting circumvention of such\r\nmeasures.\r\n\r\n  When you convey a covered work, you waive any legal power to forbid\r\ncircumvention of technological measures to the extent such circumvention\r\nis effected by exercising rights under this License with respect to\r\nthe covered work, and you disclaim any intention to limit operation or\r\nmodification of the work as a means of enforcing, against the work's\r\nusers, your or third parties' legal rights to forbid circumvention of\r\ntechnological measures.\r\n\r\n  4. Conveying Verbatim Copies.\r\n\r\n  You may convey verbatim copies of the Program's source code as you\r\nreceive it, in any medium, provided that you conspicuously and\r\nappropriately publish on each copy an appropriate copyright notice;\r\nkeep intact all notices stating that this License and any\r\nnon-permissive terms added in accord with section 7 apply to the code;\r\nkeep intact all notices of the absence of any warranty; and give all\r\nrecipients a copy of this License along with the Program.\r\n\r\n  You may charge any price or no price for each copy that you convey,\r\nand you may offer support or warranty protection for a fee.\r\n\r\n  5. Conveying Modified Source Versions.\r\n\r\n  You may convey a work based on the Program, or the modifications to\r\nproduce it from the Program, in the form of source code under the\r\nterms of section 4, provided that you also meet all of these conditions:\r\n\r\n    a) The work must carry prominent notices stating that you modified\r\n    it, and giving a relevant date.\r\n\r\n    b) The work must carry prominent notices stating that it is\r\n    released under this License and any conditions added under section\r\n    7.  This requirement modifies the requirement in section 4 to\r\n    \"keep intact all notices\".\r\n\r\n    c) You must license the entire work, as a whole, under this\r\n    License to anyone who comes into possession of a copy.  This\r\n    License will therefore apply, along with any applicable section 7\r\n    additional terms, to the whole of the work, and all its parts,\r\n    regardless of how they are packaged.  This License gives no\r\n    permission to license the work in any other way, but it does not\r\n    invalidate such permission if you have separately received it.\r\n\r\n    d) If the work has interactive user interfaces, each must display\r\n    Appropriate Legal Notices; however, if the Program has interactive\r\n    interfaces that do not display Appropriate Legal Notices, your\r\n    work need not make them do so.\r\n\r\n  A compilation of a covered work with other separate and independent\r\nworks, which are not by their nature extensions of the covered work,\r\nand which are not combined with it such as to form a larger program,\r\nin or on a volume of a storage or distribution medium, is called an\r\n\"aggregate\" if the compilation and its resulting copyright are not\r\nused to limit the access or legal rights of the compilation's users\r\nbeyond what the individual works permit.  Inclusion of a covered work\r\nin an aggregate does not cause this License to apply to the other\r\nparts of the aggregate.\r\n\r\n  6. Conveying Non-Source Forms.\r\n\r\n  You may convey a covered work in object code form under the terms\r\nof sections 4 and 5, provided that you also convey the\r\nmachine-readable Corresponding Source under the terms of this License,\r\nin one of these ways:\r\n\r\n    a) Convey the object code in, or embodied in, a physical product\r\n    (including a physical distribution medium), accompanied by the\r\n    Corresponding Source fixed on a durable physical medium\r\n    customarily used for software interchange.\r\n\r\n    b) Convey the object code in, or embodied in, a physical product\r\n    (including a physical distribution medium), accompanied by a\r\n    written offer, valid for at least three years and valid for as\r\n    long as you offer spare parts or customer support for that product\r\n    model, to give anyone who possesses the object code either (1) a\r\n    copy of the Corresponding Source for all the software in the\r\n    product that is covered by this License, on a durable physical\r\n    medium customarily used for software interchange, for a price no\r\n    more than your reasonable cost of physically performing this\r\n    conveying of source, or (2) access to copy the\r\n    Corresponding Source from a network server at no charge.\r\n\r\n    c) Convey individual copies of the object code with a copy of the\r\n    written offer to provide the Corresponding Source.  This\r\n    alternative is allowed only occasionally and noncommercially, and\r\n    only if you received the object code with such an offer, in accord\r\n    with subsection 6b.\r\n\r\n    d) Convey the object code by offering access from a designated\r\n    place (gratis or for a charge), and offer equivalent access to the\r\n    Corresponding Source in the same way through the same place at no\r\n    further charge.  You need not require recipients to copy the\r\n    Corresponding Source along with the object code.  If the place to\r\n    copy the object code is a network server, the Corresponding Source\r\n    may be on a different server (operated by you or a third party)\r\n    that supports equivalent copying facilities, provided you maintain\r\n    clear directions next to the object code saying where to find the\r\n    Corresponding Source.  Regardless of what server hosts the\r\n    Corresponding Source, you remain obligated to ensure that it is\r\n    available for as long as needed to satisfy these requirements.\r\n\r\n    e) Convey the object code using peer-to-peer transmission, provided\r\n    you inform other peers where the object code and Corresponding\r\n    Source of the work are being offered to the general public at no\r\n    charge under subsection 6d.\r\n\r\n  A separable portion of the object code, whose source code is excluded\r\nfrom the Corresponding Source as a System Library, need not be\r\nincluded in conveying the object code work.\r\n\r\n  A \"User Product\" is either (1) a \"consumer product\", which means any\r\ntangible personal property which is normally used for personal, family,\r\nor household purposes, or (2) anything designed or sold for incorporation\r\ninto a dwelling.  In determining whether a product is a consumer product,\r\ndoubtful cases shall be resolved in favor of coverage.  For a particular\r\nproduct received by a particular user, \"normally used\" refers to a\r\ntypical or common use of that class of product, regardless of the status\r\nof the particular user or of the way in which the particular user\r\nactually uses, or expects or is expected to use, the product.  A product\r\nis a consumer product regardless of whether the product has substantial\r\ncommercial, industrial or non-consumer uses, unless such uses represent\r\nthe only significant mode of use of the product.\r\n\r\n  \"Installation Information\" for a User Product means any methods,\r\nprocedures, authorization keys, or other information required to install\r\nand execute modified versions of a covered work in that User Product from\r\na modified version of its Corresponding Source.  The information must\r\nsuffice to ensure that the continued functioning of the modified object\r\ncode is in no case prevented or interfered with solely because\r\nmodification has been made.\r\n\r\n  If you convey an object code work under this section in, or with, or\r\nspecifically for use in, a User Product, and the conveying occurs as\r\npart of a transaction in which the right of possession and use of the\r\nUser Product is transferred to the recipient in perpetuity or for a\r\nfixed term (regardless of how the transaction is characterized), the\r\nCorresponding Source conveyed under this section must be accompanied\r\nby the Installation Information.  But this requirement does not apply\r\nif neither you nor any third party retains the ability to install\r\nmodified object code on the User Product (for example, the work has\r\nbeen installed in ROM).\r\n\r\n  The requirement to provide Installation Information does not include a\r\nrequirement to continue to provide support service, warranty, or updates\r\nfor a work that has been modified or installed by the recipient, or for\r\nthe User Product in which it has been modified or installed.  Access to a\r\nnetwork may be denied when the modification itself materially and\r\nadversely affects the operation of the network or violates the rules and\r\nprotocols for communication across the network.\r\n\r\n  Corresponding Source conveyed, and Installation Information provided,\r\nin accord with this section must be in a format that is publicly\r\ndocumented (and with an implementation available to the public in\r\nsource code form), and must require no special password or key for\r\nunpacking, reading or copying.\r\n\r\n  7. Additional Terms.\r\n\r\n  \"Additional permissions\" are terms that supplement the terms of this\r\nLicense by making exceptions from one or more of its conditions.\r\nAdditional permissions that are applicable to the entire Program shall\r\nbe treated as though they were included in this License, to the extent\r\nthat they are valid under applicable law.  If additional permissions\r\napply only to part of the Program, that part may be used separately\r\nunder those permissions, but the entire Program remains governed by\r\nthis License without regard to the additional permissions.\r\n\r\n  When you convey a copy of a covered work, you may at your option\r\nremove any additional permissions from that copy, or from any part of\r\nit.  (Additional permissions may be written to require their own\r\nremoval in certain cases when you modify the work.)  You may place\r\nadditional permissions on material, added by you to a covered work,\r\nfor which you have or can give appropriate copyright permission.\r\n\r\n  Notwithstanding any other provision of this License, for material you\r\nadd to a covered work, you may (if authorized by the copyright holders of\r\nthat material) supplement the terms of this License with terms:\r\n\r\n    a) Disclaiming warranty or limiting liability differently from the\r\n    terms of sections 15 and 16 of this License; or\r\n\r\n    b) Requiring preservation of specified reasonable legal notices or\r\n    author attributions in that material or in the Appropriate Legal\r\n    Notices displayed by works containing it; or\r\n\r\n    c) Prohibiting misrepresentation of the origin of that material, or\r\n    requiring that modified versions of such material be marked in\r\n    reasonable ways as different from the original version; or\r\n\r\n    d) Limiting the use for publicity purposes of names of licensors or\r\n    authors of the material; or\r\n\r\n    e) Declining to grant rights under trademark law for use of some\r\n    trade names, trademarks, or service marks; or\r\n\r\n    f) Requiring indemnification of licensors and authors of that\r\n    material by anyone who conveys the material (or modified versions of\r\n    it) with contractual assumptions of liability to the recipient, for\r\n    any liability that these contractual assumptions directly impose on\r\n    those licensors and authors.\r\n\r\n  All other non-permissive additional terms are considered \"further\r\nrestrictions\" within the meaning of section 10.  If the Program as you\r\nreceived it, or any part of it, contains a notice stating that it is\r\ngoverned by this License along with a term that is a further\r\nrestriction, you may remove that term.  If a license document contains\r\na further restriction but permits relicensing or conveying under this\r\nLicense, you may add to a covered work material governed by the terms\r\nof that license document, provided that the further restriction does\r\nnot survive such relicensing or conveying.\r\n\r\n  If you add terms to a covered work in accord with this section, you\r\nmust place, in the relevant source files, a statement of the\r\nadditional terms that apply to those files, or a notice indicating\r\nwhere to find the applicable terms.\r\n\r\n  Additional terms, permissive or non-permissive, may be stated in the\r\nform of a separately written license, or stated as exceptions;\r\nthe above requirements apply either way.\r\n\r\n  8. Termination.\r\n\r\n  You may not propagate or modify a covered work except as expressly\r\nprovided under this License.  Any attempt otherwise to propagate or\r\nmodify it is void, and will automatically terminate your rights under\r\nthis License (including any patent licenses granted under the third\r\nparagraph of section 11).\r\n\r\n  However, if you cease all violation of this License, then your\r\nlicense from a particular copyright holder is reinstated (a)\r\nprovisionally, unless and until the copyright holder explicitly and\r\nfinally terminates your license, and (b) permanently, if the copyright\r\nholder fails to notify you of the violation by some reasonable means\r\nprior to 60 days after the cessation.\r\n\r\n  Moreover, your license from a particular copyright holder is\r\nreinstated permanently if the copyright holder notifies you of the\r\nviolation by some reasonable means, this is the first time you have\r\nreceived notice of violation of this License (for any work) from that\r\ncopyright holder, and you cure the violation prior to 30 days after\r\nyour receipt of the notice.\r\n\r\n  Termination of your rights under this section does not terminate the\r\nlicenses of parties who have received copies or rights from you under\r\nthis License.  If your rights have been terminated and not permanently\r\nreinstated, you do not qualify to receive new licenses for the same\r\nmaterial under section 10.\r\n\r\n  9. Acceptance Not Required for Having Copies.\r\n\r\n  You are not required to accept this License in order to receive or\r\nrun a copy of the Program.  Ancillary propagation of a covered work\r\noccurring solely as a consequence of using peer-to-peer transmission\r\nto receive a copy likewise does not require acceptance.  However,\r\nnothing other than this License grants you permission to propagate or\r\nmodify any covered work.  These actions infringe copyright if you do\r\nnot accept this License.  Therefore, by modifying or propagating a\r\ncovered work, you indicate your acceptance of this License to do so.\r\n\r\n  10. Automatic Licensing of Downstream Recipients.\r\n\r\n  Each time you convey a covered work, the recipient automatically\r\nreceives a license from the original licensors, to run, modify and\r\npropagate that work, subject to this License.  You are not responsible\r\nfor enforcing compliance by third parties with this License.\r\n\r\n  An \"entity transaction\" is a transaction transferring control of an\r\norganization, or substantially all assets of one, or subdividing an\r\norganization, or merging organizations.  If propagation of a covered\r\nwork results from an entity transaction, each party to that\r\ntransaction who receives a copy of the work also receives whatever\r\nlicenses to the work the party's predecessor in interest had or could\r\ngive under the previous paragraph, plus a right to possession of the\r\nCorresponding Source of the work from the predecessor in interest, if\r\nthe predecessor has it or can get it with reasonable efforts.\r\n\r\n  You may not impose any further restrictions on the exercise of the\r\nrights granted or affirmed under this License.  For example, you may\r\nnot impose a license fee, royalty, or other charge for exercise of\r\nrights granted under this License, and you may not initiate litigation\r\n(including a cross-claim or counterclaim in a lawsuit) alleging that\r\nany patent claim is infringed by making, using, selling, offering for\r\nsale, or importing the Program or any portion of it.\r\n\r\n  11. Patents.\r\n\r\n  A \"contributor\" is a copyright holder who authorizes use under this\r\nLicense of the Program or a work on which the Program is based.  The\r\nwork thus licensed is called the contributor's \"contributor version\".\r\n\r\n  A contributor's \"essential patent claims\" are all patent claims\r\nowned or controlled by the contributor, whether already acquired or\r\nhereafter acquired, that would be infringed by some manner, permitted\r\nby this License, of making, using, or selling its contributor version,\r\nbut do not include claims that would be infringed only as a\r\nconsequence of further modification of the contributor version.  For\r\npurposes of this definition, \"control\" includes the right to grant\r\npatent sublicenses in a manner consistent with the requirements of\r\nthis License.\r\n\r\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\r\npatent license under the contributor's essential patent claims, to\r\nmake, use, sell, offer for sale, import and otherwise run, modify and\r\npropagate the contents of its contributor version.\r\n\r\n  In the following three paragraphs, a \"patent license\" is any express\r\nagreement or commitment, however denominated, not to enforce a patent\r\n(such as an express permission to practice a patent or covenant not to\r\nsue for patent infringement).  To \"grant\" such a patent license to a\r\nparty means to make such an agreement or commitment not to enforce a\r\npatent against the party.\r\n\r\n  If you convey a covered work, knowingly relying on a patent license,\r\nand the Corresponding Source of the work is not available for anyone\r\nto copy, free of charge and under the terms of this License, through a\r\npublicly available network server or other readily accessible means,\r\nthen you must either (1) cause the Corresponding Source to be so\r\navailable, or (2) arrange to deprive yourself of the benefit of the\r\npatent license for this particular work, or (3) arrange, in a manner\r\nconsistent with the requirements of this License, to extend the patent\r\nlicense to downstream recipients.  \"Knowingly relying\" means you have\r\nactual knowledge that, but for the patent license, your conveying the\r\ncovered work in a country, or your recipient's use of the covered work\r\nin a country, would infringe one or more identifiable patents in that\r\ncountry that you have reason to believe are valid.\r\n\r\n  If, pursuant to or in connection with a single transaction or\r\narrangement, you convey, or propagate by procuring conveyance of, a\r\ncovered work, and grant a patent license to some of the parties\r\nreceiving the covered work authorizing them to use, propagate, modify\r\nor convey a specific copy of the covered work, then the patent license\r\nyou grant is automatically extended to all recipients of the covered\r\nwork and works based on it.\r\n\r\n  A patent license is \"discriminatory\" if it does not include within\r\nthe scope of its coverage, prohibits the exercise of, or is\r\nconditioned on the non-exercise of one or more of the rights that are\r\nspecifically granted under this License.  You may not convey a covered\r\nwork if you are a party to an arrangement with a third party that is\r\nin the business of distributing software, under which you make payment\r\nto the third party based on the extent of your activity of conveying\r\nthe work, and under which the third party grants, to any of the\r\nparties who would receive the covered work from you, a discriminatory\r\npatent license (a) in connection with copies of the covered work\r\nconveyed by you (or copies made from those copies), or (b) primarily\r\nfor and in connection with specific products or compilations that\r\ncontain the covered work, unless you entered into that arrangement,\r\nor that patent license was granted, prior to 28 March 2007.\r\n\r\n  Nothing in this License shall be construed as excluding or limiting\r\nany implied license or other defenses to infringement that may\r\notherwise be available to you under applicable patent law.\r\n\r\n  12. No Surrender of Others' Freedom.\r\n\r\n  If conditions are imposed on you (whether by court order, agreement or\r\notherwise) that contradict the conditions of this License, they do not\r\nexcuse you from the conditions of this License.  If you cannot convey a\r\ncovered work so as to satisfy simultaneously your obligations under this\r\nLicense and any other pertinent obligations, then as a consequence you may\r\nnot convey it at all.  For example, if you agree to terms that obligate you\r\nto collect a royalty for further conveying from those to whom you convey\r\nthe Program, the only way you could satisfy both those terms and this\r\nLicense would be to refrain entirely from conveying the Program.\r\n\r\n  13. Use with the GNU Affero General Public License.\r\n\r\n  Notwithstanding any other provision of this License, you have\r\npermission to link or combine any covered work with a work licensed\r\nunder version 3 of the GNU Affero General Public License into a single\r\ncombined work, and to convey the resulting work.  The terms of this\r\nLicense will continue to apply to the part which is the covered work,\r\nbut the special requirements of the GNU Affero General Public License,\r\nsection 13, concerning interaction through a network will apply to the\r\ncombination as such.\r\n\r\n  14. Revised Versions of this License.\r\n\r\n  The Free Software Foundation may publish revised and/or new versions of\r\nthe GNU General Public License from time to time.  Such new versions will\r\nbe similar in spirit to the present version, but may differ in detail to\r\naddress new problems or concerns.\r\n\r\n  Each version is given a distinguishing version number.  If the\r\nProgram specifies that a certain numbered version of the GNU General\r\nPublic License \"or any later version\" applies to it, you have the\r\noption of following the terms and conditions either of that numbered\r\nversion or of any later version published by the Free Software\r\nFoundation.  If the Program does not specify a version number of the\r\nGNU General Public License, you may choose any version ever published\r\nby the Free Software Foundation.\r\n\r\n  If the Program specifies that a proxy can decide which future\r\nversions of the GNU General Public License can be used, that proxy's\r\npublic statement of acceptance of a version permanently authorizes you\r\nto choose that version for the Program.\r\n\r\n  Later license versions may give you additional or different\r\npermissions.  However, no additional obligations are imposed on any\r\nauthor or copyright holder as a result of your choosing to follow a\r\nlater version.\r\n\r\n  15. Disclaimer of Warranty.\r\n\r\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\r\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\r\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\r\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\r\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\r\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\r\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\r\n\r\n  16. Limitation of Liability.\r\n\r\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\r\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\r\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\r\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\r\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\r\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\r\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\r\nSUCH DAMAGES.\r\n\r\n  17. Interpretation of Sections 15 and 16.\r\n\r\n  If the disclaimer of warranty and limitation of liability provided\r\nabove cannot be given local legal effect according to their terms,\r\nreviewing courts shall apply local law that most closely approximates\r\nan absolute waiver of all civil liability in connection with the\r\nProgram, unless a warranty or assumption of liability accompanies a\r\ncopy of the Program in return for a fee.\r\n\r\n                     END OF TERMS AND CONDITIONS\r\n\r\n            How to Apply These Terms to Your New Programs\r\n\r\n  If you develop a new program, and you want it to be of the greatest\r\npossible use to the public, the best way to achieve this is to make it\r\nfree software which everyone can redistribute and change under these terms.\r\n\r\n  To do so, attach the following notices to the program.  It is safest\r\nto attach them to the start of each source file to most effectively\r\nstate the exclusion of warranty; and each file should have at least\r\nthe \"copyright\" line and a pointer to where the full notice is found.\r\n\r\n    <one line to give the program's name and a brief idea of what it does.>\r\n    Copyright (C) <year>  <name of author>\r\n\r\n    This program is free software: you can redistribute it and/or modify\r\n    it under the terms of the GNU General Public License as published by\r\n    the Free Software Foundation, either version 3 of the License, or\r\n    (at your option) any later version.\r\n\r\n    This program is distributed in the hope that it will be useful,\r\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n    GNU General Public License for more details.\r\n\r\n    You should have received a copy of the GNU General Public License\r\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n\r\nAlso add information on how to contact you by electronic and paper mail.\r\n\r\n  If the program does terminal interaction, make it output a short\r\nnotice like this when it starts in an interactive mode:\r\n\r\n    <program>  Copyright (C) <year>  <name of author>\r\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\r\n    This is free software, and you are welcome to redistribute it\r\n    under certain conditions; type `show c' for details.\r\n\r\nThe hypothetical commands `show w' and `show c' should show the appropriate\r\nparts of the General Public License.  Of course, your program's commands\r\nmight be different; for a GUI interface, you would use an \"about box\".\r\n\r\n  You should also get your employer (if you work as a programmer) or school,\r\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\r\nFor more information on this, and how to apply and follow the GNU GPL, see\r\n<http://www.gnu.org/licenses/>.\r\n\r\n  The GNU General Public License does not permit incorporating your program\r\ninto proprietary programs.  If your program is a subroutine library, you\r\nmay consider it more useful to permit linking proprietary applications with\r\nthe library.  If this is what you want to do, use the GNU Lesser General\r\nPublic License instead of this License.  But first, please read\r\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\r\n"
  },
  {
    "path": "README.md",
    "content": "# notepad--\r\n\r\n[中文 ](README.md) | [English](README_EN.md)\r\n\r\n## 项目简介\r\n\r\nNotepad--是一个轻量级文本编辑器软件,可以支持Win/Linux/Mac平台。\r\n\r\n其开发目标是进行文本编辑类软件的国产可替代，重点在国产信创Uos系统、Mac 系统、各类linux系统上发展。\r\n\r\n对比其它竞品Notepad类软件而言，ndd 的优势是可以跨平台，支持linux mac操作系统。\r\n\r\n **鉴于某些Notepad竞品作者的不当言论，Notepad--的意义在于：减少一点错误言论，减少一点自以为是。** \r\n\r\n **Notepad--的目标，致力于国产软件的可替代，专心做软件。** \r\n\r\n您可以在这个项目提交bug或反馈问题。\r\n\r\n本仓库与https://gitee.com/cxasm/notepad-- 是同一个软件。\r\n中国内使用https://gitee.com/cxasm/notepad-- 。国外使用本github库，该库会定期同步国内gitee库。\r\n由于作者在中国经常网络无法访问github，所以该库可能不会及时更新，还请见谅。\r\n\r\n最新版本下载地址：https://gitee.com/cxasm/notepad--/releases/tag/v3.5\r\n\r\n**鉴于Notepad--遭到竞品软件的匿名发帖诋毁，ndd项目申明：** \r\n\r\n**Notepad--不涉及任何政治，更不会随意发布政治言论。** \r\n\r\n对此Notepad--澄清如下：\r\n\r\n[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)\r\n\r\n**建议全体海内外同胞，务必禁用发表错误言论的软件，您可以选择用其它同类软件进行替代，比如vscode,notepad3,sublime都行。大家用实际行动拒绝错误言论软件, 不去评论它，不去关注它，不给它带来任何流量，则发布错误言论的人，终将自讨没趣而闭嘴。** \r\n\r\nndd在深度国产uos运行效果：\r\n![ntscreenshot_20230805_134025](https://github.com/cxasm/notepad--/assets/42246867/ec0b5243-3c9d-46d0-bba6-348617236829)\r\n\r\nndd在windows运行效果：\r\n![ndd在windows](https://user-images.githubusercontent.com/42246867/235033753-058ef39a-f815-4404-b5d1-de4a834dec1d.png)\r\n\r\n![ndd 在windows](https://user-images.githubusercontent.com/42246867/218263319-3e78b0a9-9fb1-45d1-8f1c-2e850e073425.png)\r\n\r\nndd 在macOs运行效果：\r\n\r\n![ndd 在 mac Os](https://user-images.githubusercontent.com/42246867/221394341-743f71a9-11bd-4dc8-aa0d-c24316493dcf.png)\r\n\r\nsubtwo在redhat运行效果：\r\n\r\n![subtwo 在redhat 运行效果](https://user-images.githubusercontent.com/42246867/235033326-b2fffca5-625c-4c96-a661-1072f8a8b3ee.png)\r\n\r\n"
  },
  {
    "path": "README_EN.md",
    "content": "# Notepad--\r\n\r\n[中文 ](README.md) | [English](README_EN.md)\r\n\r\n## Project Introduction\r\n\r\nIntroducing 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.\r\n\r\n**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.** \r\n\r\nIf you come across any bugs or have any feedback, feel free to share it with us.\r\n\r\nYou can download the latest version at https://gitee.com/cxasm/notepad--/releases/tag/v2.0\r\n\r\nWe 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.\r\n\r\nCreating a free text editor requires support from users like you. If you'd like to contribute, please consider donating through WeChat.\r\n\r\n![Input description picture](6688.png)\r\n\r\n## Compilation\r\n\r\n**CMake Toolchain Compilation Instructions:**\r\n\r\n- Ubuntu/Debian\r\n\r\n1. Install compilation environment `sudo apt-get install g++ make cmake`\r\n1. Install qt tools and libraries `sudo apt-get install qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5printsupport5 libqt5xmlpatterns5-dev `\r\n1. Configure `cmake -B build -DCMAKE_BUILD_TYPE=Release`\r\n1. Compile `cd build && make -j`\r\n1. Package `cpack`\r\n\r\n- ArchLinux\r\n\r\n1. Install compilation environment `sudo pacman -S gcc cmake make ninja`\r\n1. Install qt tools and libraries `sudo pacman -S qt5-tools qt5-base qt5-xmlpatterns `\r\n1. Configure `cmake -S . -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Release  -DCMAKE_INSTALL_PREFIX=/usr -W no-dev`\r\n1. Compile `ninja -C build && ninja -C build install`\r\n1. Package: use [AUR/notepad---git](https://aur.archlinux.org/packages/notepad---git) `yay -S notepad---git`\r\n1. Installation:\r\n    - Pre-compiled package add [ArchLinuxCN/notepad---git](https://github.com/archlinuxcn/repo) mirror `yay -S archlinuxcn/notepad---git`\r\n    - Pre-compiled package [Debuginfod/notepad---git-debug](https://wiki.archlinux.org/title/Debuginfod) package `yay -S archlinuxcn/notepad---git-debug`\r\n\r\n**Qt Project Compilation Instructions:** \r\n\r\n1) Start by opening qscint/src/qscintilla.pro in either Qt Creator or Visual Studio and compile the qscintilla dependency library.\r\n\r\n2) Next, open RealCompare.pro and compile it after loading.\r\n\r\n3) 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.\r\n\r\nRecently, 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.\r\n\r\n4) 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)\r\n```\r\nyay -S notepad---git\r\n```\r\n\r\n## Preview\r\n\r\n![Input description picture](png/20221107_160824.png)\r\n\r\n![Input description picture](png/6.png)\r\n\r\n![Input description picture](png/3.png)\r\n\r\n![Input description picture](png/7.png)\r\n"
  },
  {
    "path": "THIRDPARTY.md",
    "content": "## 第三方依赖\r\n\r\n## 源码依赖\r\n\r\n- [[GPL v3](src/qscint/LICENSE)] [QScintilla](https://riverbankcomputing.com/software/qscintilla/intro) \r\n- [GPL v3] \r\n    - [boostregex](src/qscint/scintilla/boostregex)\r\n    - [rgba_icons.h](src/rgba_icons.h) \r\n    - [xmlMatchedTagsHighlighter.cpp](src/qscint/src/xmlMatchedTagsHighlighter.cpp)\r\n    - [xmlMatchedTagsHighlighter.h](src/qscint/src/xmlMatchedTagsHighlighter.h)\r\n\r\n## 开发、打包时依赖\r\n\r\n- [[zlib/libpng](https://nsis.sourceforge.io/License)] [NSIS](https://nsis.sourceforge.io) \r\n    打包工具\r\n"
  },
  {
    "path": "changelog.txt",
    "content": "Ndd V1.23 发布 20230226\r\n功能：\r\n1 希望可以支持xml按照层次折叠和展开操作\r\n2 能否增加自动刷新和滚动文本功能，以及手动重新打开文件。提供tailf方式。\r\n3 建议 查找与替换 添加ESC键响应，ESC键退出查找替换窗体\r\n4 查找替换没有默认选中\r\n5 新窗口打开的文件，不能再拖放回去\r\n6 无法计算选中内容的行数\r\n7 json 格式化，提供json格式化插件，命令行插件等\r\n8 高清屏幕适配一些列问题\r\n9 能否支持在软件内设置文件关联。安装包支持\r\n10 希望记录一下关闭软件时的标签页\r\n11 增加md5/sha计算\r\n\r\n改进：\r\n1 新建文件缩进参考线会消失\r\n2 XML 文件 注释部分文字偏小看不清\r\n3 关闭编辑器之后，编辑器的设置窗口还在，如果多次就会有下图的样子\r\n4 Ctrl+F时，建议文本框内的内容默认选中\r\n5 建议程序打开时tab页为最后关闭时tab页\r\n6 选中多个文件右键打开时会启动多个窗口，而非多个标签，\r\n7 双击英文句点全部文本都会高亮\r\n8 command只能-缩小，+没用 不能放大\r\n9 CTRL+F搜索框丢失焦点后，再用快捷键CTRL+F不能自动聚焦\r\n10 已设置的快捷键可以取消\r\n11 希望显示总字数\r\n12 Ctrl+S时，并不能删除.swp临时文件，建议隐藏.swp文件\r\n13 建议 增加 打开当前文件目录下 命令提示符的功能\r\n14 显示空格的问题\r\n15 鼠标选择文本后高亮\r\n\r\nNdd V1.22 预发布 20230202\r\n1 提供大文本、超大文本打开两种方式；并尽量显示行号。\r\n2 增加ASM语言的语法高亮;增加shell语法高亮。 \r\n3 大文本打开时，显示行号。\r\n4 BUG: 超大文本打开乱码。\r\n5 批量查找窗口大小记住恢复。\r\n6 块注释崩溃。\r\n7 替换ctrl+h 自动填充选中内容，查找替换切换自动带过去关键字。\r\n8 查找结果框，可以放大缩小，避免看不清楚；完善配色。\r\n9 第一次安装后，新建NEW文件，下次打开无法自动恢复的问题。\r\n10 win10下面管理员授权打开文件后，旧文件修改跟随到新打开窗口\r\n11 解决一些列小bug等。\r\n12 提供ARCH LINUX的构建版本等。\r\n\r\n\r\nNdd V1.21 预发布 20230107\r\n1 支持主题的修改，完善八种新主题\r\n2 初步支持插件开发\r\n3 小需求完善：批量替换支持进度条、支持web地址高亮双击打开\r\n4 解决反馈的bug\r\n\r\nv1.21.1 小版本 20230125\r\n解决如下问题\r\n1 新增语法与文件后缀关联的设置。16A5Y1\r\n2 新增快捷键的管理与修改设置\r\n3 查找框完善：选中文本查找，字段自动填充到替换的查找框中。\r\n4 查找框完善：默认不选中文本查找时，查找框和替换框中默认填空，\r\n避免残留上次结果，让用户还需要手动去删除。gitee:16ALEJ\r\n5 用户反馈，默认字体14过大，修改为12\r\n6 查找结果太长时，增加查找结果框的水平滚动条功能。gitee:16A77D\r\n7 区块选择崩溃bug修复\r\n8 调整对比框中的配色问题\r\n9 解决右键菜单中清除标记颜色无效的bug \r\n10 解决ndd关闭后再打开，恢复出来的文件顺序可能不一样的问题\r\n11 解决gitee:169U01:关闭软件后重启，新建文件名称从原来的序号开始，导致重名。\r\n12 git169twc 打开文件时窗口没有还原\r\n\r\n\r\nNdd V1.20 预发布 20221216\r\n1 增加文件列表，方便多文件时选中。 \r\n2 增加快捷注释功能 \r\n3 完善黑色配色 \r\n4 完善大文本文件打开时选择的方式 \r\n5 解决New0冒出问题 \r\n6 打开文件时，如果在后台，窗口自动弹到前面 \r\n7 菜单最近对比合入对比 \r\n8 解决输入法有时会无法出现的bug \r\n9 提速，使用vs2019 qt515.7重新构建版本 \r\n10 新增代码自动缩进的功能 \r\n11 工具栏增加 缩放率 大小显示。ctrl+鼠标滑动，增加缩放率显示 \r\n12 长行查找结构，进行截断处理，避免太长导致结果框慢\r\n\r\n1.19 预发布 20221205 version26\r\n1 提供深色功能\r\n2 对比目录增加递归处理菜单项\r\n3 增加对比文件时的差异图\r\n4 完善查找功能、查找结果位置修正\r\n5 增加vb语法高亮等\r\n6 解决一系列发现的bug或其它小问题\r\n\r\n1.18 预发布版本发布 20221120 version25\r\n1 字体风格提供全局一键修改全部功能\r\n2 对比可以直接拷贝粘贴内容进行对比\r\n3 记住窗口大小未知；查找结果位置记住；放大缩小率记住；下次打开恢复上述信息\r\n4 安装位置修改到x64安装目录\r\n5 支持书签下8种功能，快捷键F2切换书签等。\r\n6 解决一些列bug，如txt下字体大小显示不等宽；对比窗口行号不统一等；\r\n7 提高安全性，崩溃后下次打开无条件保存新旧文件等。\r\n8 提高打开速度。内部使用ini配置替换json格式等。\r\n\r\n1.17.0 发布 20221108\r\n1.17 win10版本发布了，完成如下功能\r\n1 完成自定义编程语言风格 -- 给出一个基础版本，可自定义语言，添加关键词。\r\n2 语言风格全局设置，快捷一键全部弄成一样的字体样式 \r\n3 查询关键字计数 \r\n4 增加大小写转换功能 \r\n5 使用了boot的正则表达式\r\n6 增加移除空行功能\r\n7 列编辑功能\r\n8  行编辑中16 种功能移植\r\n9 中文安装包\r\n10 对比卡死bug解决\r\n11 其它小功能。比如根据win linxu自动设置换行符号、长行显示不全等bug。\r\n\r\n//5 1.3\r\n//6 1.4 20211027日\r\n//7 1.5 20211110日发布，是第一个真正意义上的稳定版本。\r\n//8 1.6 20211201发布，增加了网络消息中的6和7命令。第一次发布了notebook版本。\r\n//9 1.7 20211224日发布，增加了bin二进制的对比方式。暂时先在www.itdp.cn发布。\r\n//10 没有使用，单独给mac的一个版本做尝试\r\n//11 20210118日发布，单独发布ccompare和ccnotepad。notepad暂时在www.itdp.cn发布。这个版本中的linux 和 windows的 VERIFY_CODE 做了不同的区别。将二者分离出来\r\n//12 1.9 发布。\r\n//13 1.9.1 20220225发布，bin对比背景高亮。调整了界面美观度\r\n//版本号没有修改，换皮。20220525重新发布，不再继续维护修改了。\r\n因为编辑器的市场已经是红海，没必要死磕，考虑其它途径。就这样吧。\r\n//15 1.9.0 20220530左右发布。在uos上面第一次发布。\r\n//16 1.10.0 20220616左右发布。在uos上面发布了。增加查找高亮、Uos上右键关联打开等。\r\n//17 1.11.0 20220629左右编译发布，在Uos也发布了。增加单词高亮、自动保存、前后位置跳转等。\r\n//18 1.11.0 20220630 linux uos下面重新编译了下，版本直接修改为18，在网站发布。因为已经提交到uos商店中去了，后续再提交时，不修改版本，直接保持为18即可。\r\n//18 1.12.0 20220707 只发布了windows版本，修改为多线程、取消数据库db，修改为json存储格式。加速第一次运行时的速度处理。\r\n//19 1.13.0 20220802 只发布了windows版本，增加文件夹查找功能，美化界面。马上要发布uos版本。\r\n//19 1.13.0 20220803 大幅度改善查找文件框的设置，优化其显示。20220804发布了uos 1.13版本\r\n//21 1.14.0 20220901 大幅完善细节，中间有个20的版本做了皮肤风格的。本次对查找扩展、大量细节做了完善。已经发布了win10版本。\r\n//22 1.14.0 202209010 先发布了windows下面的版本、自动检测二进制文件或文本，支持大文本分块显示、合入文件对比的功能、提交了第一个版本的注册界面。\r\n理论上这个版本应该是一个里程碑式样的版本。先只发布了windows版本。mac和uos的在后面等稳定后再发布。\r\n//23 1.16.0 20221008 完善了大量细节，应该是更加完善的一个里程碑版本。目前windows mac 都已经发布,uos的还没有提交到商场，预计月底提交。\r\n//23 1.16.1 20221011 1.16里面存在问题，对比时会卡死，紧急解决了这个故障。使用nsis进行了打包，只发布了win10，后续还需要uos mac发布。\r\n"
  },
  {
    "path": "cmake/deb_package_config.cmake",
    "content": "set(CPACK_GENERATOR \"DEB\")\nset(CPACK_PACKAGE_NAME \"notepad--\")\nset(CPACK_PACKAGE_DESCRIPTION_SUMMARY \"a text editor like notepad++\")\nset(CPACK_PACKAGE_CONTACT \"coconil\")\n\nset(CPACK_PACKAGE_VERSION \"1.22.0\")\nset(CPACK_PACKAGE_VERSION_MAJOR \"1\")\nset(CPACK_PACKAGE_VERSION_MINOR \"22\")\nset(CPACK_PACKAGE_VERSION_PATCH \"0\")\n\nset(CPACK_DEBIAN_PACKAGE_ARCHITECTURE \"amd64\")\nset(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)\nset(CPACK_DEBIAN_PACKAGE_DEPENDS \"libqt5concurrent5,libqt5core5a,libqt5gui5,libqt5network5,libqt5printsupport5,libqt5xmlpatterns5\")"
  },
  {
    "path": "cmake/nsis_package_config.cmake",
    "content": "set(CPACK_GENERATOR NSIS)\n\nset(CPACK_PACKAGE_DESCRIPTION_SUMMARY \"${PROJECT_NAME}\")\n# 维护人员\nset(CPACK_PACKAGE_CONTACT \"XiaoPb\")\n\nset(P4_VERSION_INFO_CL_HIGH \"0\")\nset(P4_VERSION_INFO_CL_LOW \"0\")\n# set(CPACK_PACKAGE_VERSION_PATCH \"0\")\n\nset (CPACK_PACKAGE_INSTALL_DIRECTORY \"${CPACK_PACKAGE_NAME}\")\n\nset(CPACK_NSIS_DISPLAY_NAME \"${CPACK_PACKAGE_NAME}V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\")\nset(CPACK_NSIS_PACKAGE_NAME \"${CPACK_PACKAGE_NAME}V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\")\n\nset(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL \"ON\")\n\nset(CPACK_NSIS_MUI_ICON \"${CMAKE_CURRENT_SOURCE_DIR}/src/Resources/ico/txt (9).ico\")\nset(CPACK_NSIS_MUI_UNIICON \"${CMAKE_CURRENT_SOURCE_DIR}/src/Resources/ico/txt (9).ico\")\nset(CPACK_RESOURCE_FILE_LICENSE \"${CMAKE_CURRENT_SOURCE_DIR}/License\")\n\nset (CPACK_PACKAGE_EXECUTABLES \"${PROJECT_NAME}\" \"${PROJECT_NAME}\" )\n\n# 设置 安装包属性信息\nset (CPACK_NSIS_DEFINES \"\n        ${CPACK_NSIS_DEFINES}\n        VIProductVersion ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${P4_VERSION_INFO_CL_HIGH}.${P4_VERSION_INFO_CL_LOW}\n        VIFileVersion ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${P4_VERSION_INFO_CL_HIGH}.${P4_VERSION_INFO_CL_LOW}\n        VIAddVersionKey /LANG=0 \\\\\\\"ProductName\\\\\\\" \\\\\\\"${CPACK_PACKAGE_NAME}\\\\\\\"\n        VIAddVersionKey /LANG=0 \\\\\\\"ProductVersion\\\\\\\" \\\\\\\"v${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${CPACK_PACKAGE_BUILD_TYPE_REVISION}\\\\\\\"\n        VIAddVersionKey /LANG=0 \\\\\\\"Comments\\\\\\\" \\\\\\\"${CPACK_PACKAGE_DESCRIPTION}\\\\\\\"\n        VIAddVersionKey /LANG=0 \\\\\\\"CompanyName\\\\\\\" \\\\\\\"${CPACK_PACKAGE_VENDOR}\\\\\\\"\n        VIAddVersionKey /LANG=0 \\\\\\\"LegalCopyright\\\\\\\" \\\\\\\"${CPACK_PACKAGE_COPYRIGHT}\\\\\\\"\n        VIAddVersionKey /LANG=0 \\\\\\\"FileDescription\\\\\\\" \\\\\\\"${CPACK_PACKAGE_NAME} Installer\\\\\\\"\n        VIAddVersionKey /LANG=0 \\\\\\\"FileVersion\\\\\\\" \\\\\\\"v${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${CPACK_PACKAGE_BUILD_TYPE_REVISION}\\\\\\\"\n        \"\n)\n\n# 设置 安装时需要的环境变量 \nset (CPACK_NSIS_EXTRA_INSTALL_COMMANDS \"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\App Paths\\\\\\\\${PROJECT_NAME}\\\\\\\" \\\\\\\"\\\\\\\" \\\\\\\"$INSTDIR\\\\\\\\bin\\\\\\\\${PROJECT_NAME}.exe\\\\\\\"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\${PROJECT_NAME}\\\\\\\\shell\\\\\\\" \\\\\\\"\\\\\\\" \\\\\\\"open\\\\\\\"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\${PROJECT_NAME}\\\\\\\\shell\\\\\\\\open\\\\\\\\command\\\\\\\" \\\\\\\"\\\\\\\" \\\\\\\"$\\\\\\\\\\\\\\\"$INSTDIR\\\\\\\\bin\\\\\\\\${PROJECT_NAME}.exe$\\\\\\\\\\\\\\\" $\\\\\\\\\\\\\\\"%1$\\\\\\\\\\\\\\\"\\\\\\\"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\.txt\\\\\\\\OpenWithProgids\\\\\\\" \\\\\\\"${PROJECT_NAME}\\\\\\\" \\\\\\\"\\\\\\\"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\*\\\\\\\\shell\\\\\\\\${PROJECT_NAME}\\\\\\\" \\\\\\\"\\\\\\\" \\\\\\\"Edit with ${PROJECT_NAME}\\\\\\\"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\*\\\\\\\\shell\\\\\\\\${PROJECT_NAME}\\\\\\\" \\\\\\\"Icon\\\\\\\" \\\\\\\"$INSTDIR\\\\\\\\bin\\\\\\\\${PROJECT_NAME}.exe\\\\\\\"\n        WriteRegStr SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\*\\\\\\\\shell\\\\\\\\${PROJECT_NAME}\\\\\\\\command\\\\\\\" \\\\\\\"\\\\\\\" \\\\\\\"$\\\\\\\\\\\\\\\"$INSTDIR\\\\\\\\bin\\\\\\\\${PROJECT_NAME}.exe$\\\\\\\\\\\\\\\" $\\\\\\\\\\\\\\\"%1$\\\\\\\\\\\\\\\"\\\\\\\"\n     \")\n\n# 设置 卸载时需要的环境变量 \nset (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS \"\n        Delete \\\\\\\"$DESKTOP\\\\\\\\${PROJECT_NAME}.lnk\\\\\\\"\n        Delete \\\\\\\"$SMPROGRAMS\\\\\\\\${PROJECT_NAME}.lnk\\\\\\\"\n        DeleteRegKey SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\*\\\\\\\\shell\\\\\\\\${PROJECT_NAME}\\\\\\\"\n        DeleteRegKey SHCTX \\\\\\\"Software\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\App Paths\\\\\\\\bin\\\\\\\\${PROJECT_NAME}.exe\\\\\\\" \\\\\\\"\\\\\\\" \\\\\\\"$INSTDIR\\\\\\\\bin\\\\\\\\${PROJECT_NAME}.exe\\\\\\\"\n        DeleteRegKey SHCTX \\\\\\\"Software\\\\\\\\${PROJECT_NAME}\\\\\\\"\n        DeleteRegValue SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\.txt\\\\\\\\OpenWithProgids\\\\\\\" \\\\\\\"${PROJECT_NAME}\\\\\\\"\n        DeleteRegKey SHCTX \\\\\\\"Software\\\\\\\\Classes\\\\\\\\${PROJECT_NAME}\\\\\\\"\n     \")\n"
  },
  {
    "path": "src/.qmake.stash",
    "content": "QMAKE_CXX.QT_COMPILER_STDCXX = 199711L\r\nQMAKE_CXX.QMAKE_MSC_VER = 1929\r\nQMAKE_CXX.QMAKE_MSC_FULL_VER = 192930142\r\nQMAKE_CXX.COMPILER_MACROS = \\\r\n    QT_COMPILER_STDCXX \\\r\n    QMAKE_MSC_VER \\\r\n    QMAKE_MSC_FULL_VER\r\nQMAKE_CXX.INCDIRS = \\\r\n    \"C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.29.30133\\\\ATLMFC\\\\include\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.29.30133\\\\include\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.19041.0\\\\ucrt\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.19041.0\\\\shared\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.19041.0\\\\um\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.19041.0\\\\winrt\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.19041.0\\\\cppwinrt\"\r\nQMAKE_CXX.LIBDIRS = \\\r\n    \"C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.29.30133\\\\ATLMFC\\\\lib\\\\x64\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.29.30133\\\\lib\\\\x64\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\lib\\\\10.0.19041.0\\\\ucrt\\\\x64\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\lib\\\\10.0.19041.0\\\\um\\\\x64\"\r\n"
  },
  {
    "path": "src/CmpareMode.cpp",
    "content": "﻿#include \"CmpareMode.h\"\r\n#include \"Encode.h\"\r\n#include \"rcglobal.h\"\r\n\r\n\r\n#include <QFile>\r\n#include <QFileDevice> \r\n#include <QVector>\r\n#include <QCryptographicHash>\r\n#include <functional>\r\n#include <QDataStream>\r\n#include <QtConcurrent>\r\n\r\n\r\nCmpareMode::CmpareMode()\r\n{\r\n}\r\n\r\n\r\nCmpareMode::~CmpareMode()\r\n{\r\n\t\r\n}\r\n\r\n//识别文字编码，并将文字按照原始编码格式，转换为QString。如果失败，默认按照utf8的格式进行转换；\r\nbool CmpareMode::recognizeTextCode(QByteArray & text, LineFileInfo &lineInfo, QString &outUnicodeText)\r\n{\r\n\tint lineNums = lineInfo.lineNums;\r\n\r\n\tint length = text.count();\r\n\r\n\tint result = false;\r\n\r\n\t//第一行时，检测一下文件编码，返回值也是文件的编码\r\n\tif (0 == lineNums)\r\n\t{\r\n\t\tint skip = 0;\r\n\t\tlineInfo.code = Encode::DetectEncode((uchar*) text.data(), length, skip);\r\n\t\t//根据编码跳过第一行前面的几个字符编码标识字段\r\n\t\tif (skip > 0)\r\n\t\t{\r\n\t\t\ttext = text.mid(skip);\r\n\t\t}\r\n\r\n\t\treturn Encode::tranStrToUNICODE((CODE_ID)lineInfo.code, text.data(), text.count(), outUnicodeText);\r\n\r\n\t}\r\n\telse\r\n\t{\r\n\t\t/*对于头部没有标识的行，需要每行进行详细检查，比较耗时\r\n\t\t*对于第一行已经是GBK的编码，标识出所有的确是GBK的行号\r\n\t\t*严格来说，如果以后要做国际版，不应该只考虑GBK，而是要考虑本地ASNI编码。\r\n\t\t*对中国而言，本地ASNI编码是GBK，对其它国家，比如日本/韩国而言，这些ASNI是它们本国\r\n\t\t*对应的本地编码。\r\n\t\t*/\r\n//#if 0\r\n//\t\t//全部都在ascii范围以内，就作为ascii码。注意ASCII处理时其它地方时按照UTF8进行编码的\r\n//\t\tif (Encode::CheckTextIsAllAscii((uchar*)text.data(), length))\r\n//\t\t{\r\n//\t\t\tlineInfo.code = CODE_ID::ASCII;\r\n//\t\t\treturn Encode::tranStrToUNICODE((CODE_ID)lineInfo.code, text.data(), length, outUnicodeText);\r\n//\t\t}\r\n//\t\telse\r\n//\t\t{\r\n//#endif\r\n\t\t\tCODE_ID actualCode = Encode::CheckUnicodeWithoutBOM((uchar*)text.data(), length, outUnicodeText);\r\n\t\t\tif (CODE_ID::UTF8_NOBOM == actualCode)\r\n\t\t\t{\r\n\t\t\t\tlineInfo.code = CODE_ID::UTF8_NOBOM;\r\n\t\t\t\tresult = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::GBK == actualCode)\r\n\t\t\t{\r\n\t\t\t\t//如果发现存在GBK，则要以GBK作为字符编码。这里识别gbk是因为显示的时候，需要转化gbk进行显示\r\n\t\t\t\tlineInfo.code = CODE_ID::GBK;\r\n\t\t\t\tresult = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::ANSI == actualCode)\r\n\t\t\t{\r\n\t\t\t\tlineInfo.code = CODE_ID::UNKOWN; //这里就是乱码了。即不是utf8也不是GBK，也不能说乱码，目前其它国家未处理的码\r\n\t\t\t\tresult = false;\r\n\t\t\t}\r\n//#if 0\r\n//\t\t}\r\n//#endif\r\n\t}\r\n\r\n\treturn result;\r\n}\r\n\r\n//LE编码要特殊对待。\r\nbool CmpareMode::isUnicodeLeBomFile(uchar* fileFpr, int fileLength)\r\n{\r\n\tif (fileLength >= 2 && fileFpr[0] == 0xFF && fileFpr[1] == 0xFE)\r\n\t{\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n//isCheckHead:是否检测头。只有文件开头，才有。如果是分块加载，中间打开的文件，则不需要检测。默认检测\r\nCODE_ID CmpareMode::getTextFileEncodeType(uchar* fileFpr, int fileLength, QString filePath, bool isCheckHead)\r\n{\r\n\tif (isCheckHead)\r\n\t{\r\n\t\tif (fileLength >= 2 && fileFpr[0] == 0xFF && fileFpr[1] == 0xFE)\r\n\t\t{\r\n\t\treturn CODE_ID::UNICODE_LE; //skip 2\r\n\t}\r\n\telse if (fileLength >= 2 && fileFpr[0] == 0xFE && fileFpr[1] == 0xFF)\r\n\t{\r\n\t\treturn CODE_ID::UNICODE_BE; //skip 2\r\n\t}\r\n\telse if (fileLength >= 3 && fileFpr[0] == 0xEF && fileFpr[1] == 0xBB && fileFpr[2] == 0xBF)\r\n\t{\r\n\t\treturn CODE_ID::UTF8_BOM; //skip 3 with BOM\r\n\t}\r\n\t}\r\n\t//走到这里说明没有文件头BOM，进行全盘文件扫描\r\n\tif (!filePath.isEmpty())\r\n\t{\r\n\t\treturn scanFileRealCode(filePath);\r\n\t}\r\n\t\r\n\treturn CODE_ID::UNKOWN;\r\n}\r\n\r\n//20230201新增:把Unicode_LE的字节流，转换为QString 发现如果是CODE_ID::UNICODE_LE，\\r\\n变成了\\r\\0\\n\\0，读取readLine遇到\\n就结束了，而且toUnicode也会变成乱码失败\r\n//所以UNICODE_LE需要单独处理。该函数只处理Unicode_LE编码文件，事先一定要检查文件编码\r\n//返回字符数，不是编码类型，注意是字符数，不是bytes\r\n\r\n//这里有个问题，当初读取文件分块是，是无条件读取到\\n就结束，则可能最后不是\\n\\0，而是\\n。这种情况要特殊处理。标记为A。\r\n//是否跳过前面的LE头。默认不跳过。只有文件块开头第一块，才需要跳过。\r\nbool CmpareMode::tranUnicodeLeToUtf8Bytes(uchar* fileFpr, const int fileLength, QString &outUtf8Bytes, bool isSkipHead)\r\n{\r\n\tCODE_ID code = CODE_ID::UNICODE_LE;\r\n\r\n\tint lineStartPos = (isSkipHead ? 2:0); //uicode_le前面有2个特殊标识，故跳过2\r\n\r\n\t//获取一行在文件中\r\n\tauto getOneLineFromFile = [fileFpr](int& startPos, const int fileLength, QByteArray& ret)->bool {\r\n\r\n\t\tif (startPos < fileLength)\r\n\t\t{\r\n\t\t\tret.clear();\r\n\r\n\t\t\tint lineLens = 0;\r\n\r\n\t\t\tbool isFindLine = false;\r\n\r\n\t\t\tfor (int i = startPos; i < fileLength; ++i, ++lineLens)\r\n\t\t\t{\r\n\t\t\t\t//遇到换行符号\r\n\t\t\t\tif (fileFpr[i] == 0x0A)\r\n\t\t\t\t{\r\n\t\t\t\t\t//lineLens需要加2，因为当前这个没有加，而且后面还有一个\\0,这是le格式规定的。\r\n\t\t\t\t\t//特殊对待A。如果后续还要一个\\0，及长度足够，则+2，否则只能加1\r\n\t\t\t\t\tif (startPos + lineLens + 2 < fileLength)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tret.append((char*)(fileFpr + startPos), lineLens + 2);\r\n\t\t\t\t\t\tstartPos += lineLens + 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//这里就是特殊情况，尾部后面没有\\0，只能前进1个。\r\n\t\t\t\t\t\tret.append((char*)(fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\t\t//必须手动补上一个\\0。避免格式残缺\r\n\t\t\t\t\t\tret.append('\\0');\r\n\t\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//没有找到一行\r\n\t\t\tif (!isFindLine)\r\n\t\t\t{\r\n\t\t\t\t//最后一行，可能没有带\\r\\0直接返回\r\n\t\t\t\tret.append((char*)(fileFpr + startPos), fileLength - startPos);\r\n\r\n\t\t\t\tstartPos = fileLength;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tQByteArray line;\r\n\r\n\tQByteArray tempUtf8Bytes;\r\n\ttempUtf8Bytes.reserve(fileLength+1);\r\n\r\n\twhile (getOneLineFromFile(lineStartPos, fileLength, line)) {\r\n\t\ttempUtf8Bytes.append(line);\r\n\t}\r\n\r\n\treturn Encode::tranStrToUNICODE(code, tempUtf8Bytes.data(), tempUtf8Bytes.count(), outUtf8Bytes);\r\n}\r\n\r\n//20210802：发现如果是CODE_ID::UNICODE_LE，\\r\\n变成了\\r\\0\\n\\0，读取readLine遇到\\n就结束了，而且toUnicode也会变成乱码失败\r\n//所以UNICODE_LE需要单独处理。该函数只处理Unicode_LE编码文件，事先一定要检查文件编码\r\n//返回字符数，不是编码类型，注意是字符数，不是bytes\r\nquint32 CmpareMode::readLineFromFileWithUnicodeLe(uchar* m_fileFpr, const int fileLength, QList<LineFileInfo>& lineInfoVec, QList<LineFileInfo>& blankLineInfoVec,int mode, int &maxLineSize)\r\n{\r\n\tQCryptographicHash md4(QCryptographicHash::Md4);\r\n\r\n\tint lineNums = 0;\r\n\tCODE_ID code = CODE_ID::UNICODE_LE;\r\n\r\n\tint lineStartPos = 2; //uicode_le前面有2个特殊标识，故跳过2\r\n\r\n\t//获取一行在文件中\r\n\tauto getOneLineFromFile = [m_fileFpr](int& startPos, const int fileLength, QByteArray& ret)->bool{\r\n\r\n\t\tif (startPos < fileLength)\r\n\t\t{\r\n\t\t\tret.clear();\r\n\r\n\t\t\tint lineLens = 0;\r\n\r\n\t\t\tbool isFindLine = false;\r\n\r\n\t\t\tfor (int i = startPos; i < fileLength; ++i,++lineLens)\r\n\t\t\t{\r\n\t\t\t\t//遇到换行符号\r\n\t\t\t\tif (m_fileFpr[i] == 0x0A)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (startPos + lineLens + 2 < fileLength)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t//lineLens需要加2，因为当前这个没有加，而且后面还有一个\\0,这是le格式规定的\r\n\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 2);\r\n\t\t\t\t\tstartPos += lineLens + 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//这里就是特殊情况，尾部后面没有\\0，只能前进1个。\r\n\t\t\t\t\t\t//其实是容错，可能最后一个没有\\0\r\n\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\t\t//必须手动补上一个\\0。避免格式残缺\r\n\t\t\t\t\t\tret.append('\\0');\r\n\t\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//没有找到一行\r\n\t\t\tif (!isFindLine)\r\n\t\t\t{\r\n\t\t\t\t//最后一行，可能没有带\\r\\0直接返回\r\n\t\t\t\tret.append((char*)(m_fileFpr + startPos), fileLength - startPos);\r\n\r\n\t\t\t\tstartPos = fileLength;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tQByteArray line;\r\n\r\n\tquint32 charNums = 0;\r\n\r\n\tauto work = [mode, &md4](LineFileInfo& lineInfo, const int n) {\r\n\t\tif (mode == 0)\r\n\t\t{\r\n\t\t\tmd4.addData(lineInfo.unicodeStr.trimmed().toUtf8());\r\n\t\t}\r\n\t\telse if (mode == 1)\r\n\t\t{\r\n\t\t\tmd4.addData(lineInfo.unicodeStr.left(lineInfo.unicodeStr.length() - n).toUtf8());\r\n\t\t}\r\n\t\telse if (mode == 2)\r\n\t\t{\r\n\t\t\tQString temp = lineInfo.unicodeStr;\r\n\t\t\tmd4.addData(temp.replace(QRegExp(\"\\\\s\"), QString(\"\")).toUtf8());\r\n\t\t}\r\n\t};\r\n\r\n\twhile (getOneLineFromFile(lineStartPos, fileLength,line)) {\r\n\r\n\t\tLineFileInfo lineInfo;\r\n\r\n\t\tlineInfo.lineNums = lineNums;\r\n\r\n\t\t/* 这种方式读取文件会包含后面的行尾 */\r\n\t\tint length = line.length();\r\n\r\n\t\tif (maxLineSize < length)\r\n\t\t{\r\n\t\t\tmaxLineSize = length;\r\n\t\t}\r\n\r\n\t\t//如果是头部有标识的格式，则后续不用详细检查每行编码，直接按照头部标识走\r\n\t\tEncode::tranStrToUNICODE(code, line.data(), line.count(), lineInfo.unicodeStr);\r\n\t\tlineInfo.code = code;\r\n\r\n\t\tcharNums += lineInfo.unicodeStr.size();\r\n\t\r\n\t\tif (lineInfo.unicodeStr.endsWith(\"\\r\\r\\n\"))\r\n\t\t{\r\n\t\t\t//这里是一种错误，但确实可能出现\r\n\t\t\tif (length > 3)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 3);\r\n\t\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//空白行\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE;\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\r\\n\"))\r\n\t\t{\r\n\t\t\tif (length > 2)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 2);\r\n\t\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//空白行\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE;\r\n\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\n\"))\r\n\t\t{\r\n\t\t\tif (length > 1)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 1);\r\n\t\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::UNIX_LINE;\r\n\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\r\"))\r\n\t\t{\r\n\t\t\tif (length > 1)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 1);\r\n\t\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::MAC_LINE;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif (length > 0)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 0);\r\n\t\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::UNKNOWN_LINE;\r\n\t\t}\r\n\r\n\t\tif (lineInfo.isEmptyLine)\r\n\t\t{\r\n\t\t\tblankLineInfoVec.append(lineInfo);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlineInfo.md4 = md4.result();\r\n\t\t\t//qDebug() << lineInfo.md4;\r\n\t\t\tmd4.reset();\r\n\t\t\tlineInfoVec.append(lineInfo);\r\n\t\t}\r\n\t\t++lineNums;\r\n\t}\r\n\r\n\treturn charNums;\r\n}\r\n\r\n\r\n//读取每一行，将空白行和非空白行分开。非空白行取他们的行md4值（不包含尾部的换行符）\r\n//返回值：文件扫描出来的字符编码\r\n//在对比行的md5值时，忽略了后面的行尾类型。即只对比字符内容，忽略了行尾。\r\n//20210802：发现如果是CODE_ID::UNICODE_LE，\\r\\n变成了\\r\\0\\n\\0，读取readLine遇到\\n就结束了，而且toUnicode也会变成乱码失败\r\n//所以UNICODE_LE需要单独处理。注意UNICODE_BE没有这个问题，因为BE是\\0\\r\\0\\n，0在前面就没有这个问题\r\n\r\n//20210901 发现使用readLine的方式来读取一行不可靠。因为有些文件中一行中间有个\\r，这种情况没有识别为多行。readLine是根据\\n来识别的。\r\n//进而导致中间的\\r没有识别为多行，但是在编辑器中却多一行，导致对比错误。还是要自己来识别行。不依赖于readLine\r\n\r\n\r\n//CODE_ID fileCode 事先预判定的编码\r\nCODE_ID CmpareMode::readLineFromFile(uchar* m_fileFpr, const int fileLength, const CODE_ID fileCode, QList<LineFileInfo>&lineInfoVec, QList<LineFileInfo>&blankLineInfoVec, int mode, int &maxLineSize)\r\n{\r\n\tQCryptographicHash md4(QCryptographicHash::Md4);\r\n\r\n\tint lineNums = 0;\r\n\tCODE_ID code = fileCode;\r\n\tbool isExistGbk = false;\r\n\tbool isExistUnKownCode = false;\r\n\tbool isExistUtf8 = false;\r\n\r\n\r\n\tint lineStartPos = 0; \r\n\r\n\t//跳过前面的BOM头部。LE不在这里处理，在外面\r\n\tif (fileCode == CODE_ID::UNICODE_BE || fileCode == CODE_ID::UNICODE_LE)\r\n\t{\r\n\t\tlineStartPos = 2;\r\n\t}\r\n\telse if (fileCode == CODE_ID::UTF8_BOM)\r\n\t{\r\n\t\tlineStartPos = 3;\r\n\t}\r\n\r\n\t//获取一行在文件中\r\n\tauto getOneLineFromFile = [m_fileFpr](int& startPos, const int fileLength, const CODE_ID fileCode, QByteArray& ret)->bool {\r\n\r\n\t\tif (startPos < fileLength)\r\n\t\t{\r\n\t\t\tret.clear();\r\n\r\n\t\t\tint lineLens = 0;\r\n\t\t\tbool isFindLine = false;\r\n\r\n\t\t\tfor (int i = startPos; i < fileLength; ++i, ++lineLens)\r\n\t\t\t{\r\n\t\t\t\t//遇到符号CR\r\n\t\t\t\tif (m_fileFpr[i] == 0x0D)\r\n\t\t\t\t{\r\n\t\t\t\t\t//后一个是LF,即以CRLF结尾\r\n\t\t\t\t\tif ((i + 1 < fileLength) && (m_fileFpr[i+1] == 0x0A))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//lineLens需要加2，因为当前这个没有加，而且后面还有一个\\n\r\n\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 2);\r\n\t\t\t\t\t\tstartPos += lineLens + 2;\r\n\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if ((fileCode == UNICODE_BE)&&((i>0) && m_fileFpr[i-1] == '\\0'))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//事先发现就是BE格式，以\\0\\r\\0\\n为结尾的\r\n\t\t\t\t\t\tif ((i + 2 < fileLength) && (m_fileFpr[i + 1] == 0x0) && (m_fileFpr[i + 2] == 0x0A))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t//lineLens需要加3，因为当前这个没有加，而且后面还有一个\\0\\n\r\n\t\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 3);\r\n\t\t\t\t\t\t\tstartPos += lineLens + 3;\r\n\t\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse \r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t//虽然说是BE格式，但是后面没有以\\0\\n结尾，而是以\\r结尾。这种多半就是错误。直接按\\0\\r结尾\r\n\t\t\t\t\t\t\t//lineLens需要加1，因为当前这个没有加\r\n\t\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//直接以\\r结尾了，后面没有\\n或者\\0\\n。符合MAC格式，windows可能编码只有\\r，没有\\n的错误情况。\r\n\t\t\t\t\t\t//lineLens需要加1，因为当前这个没有加\r\n\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if(m_fileFpr[i] == 0x0A)\r\n\t\t\t\t{\r\n\t\t\t\t\t//没有先遇到\\r，直接遇到\\n.20210903发现忘记处理该情况le\r\n\t\t\t\t\t//lineLens需要加1，因为当前这个没有加\r\n\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//没有找到一行\r\n\t\t\tif (!isFindLine)\r\n\t\t\t{\r\n\t\t\t\t//最后一行，可能没有带\\r\\0直接返回\r\n\t\t\t\tret.append((char*)(m_fileFpr + startPos), fileLength - startPos);\r\n\r\n\t\t\t\tstartPos = fileLength;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tQByteArray line;\r\n\r\n\tauto work = [mode,&md4](LineFileInfo& lineInfo, const int n) {\r\n\t\tif (mode == 0)\r\n\t\t{\r\n\t\t\tmd4.addData(lineInfo.unicodeStr.trimmed().toUtf8());\r\n\t\t}\r\n\t\telse if (mode == 1)\r\n\t\t{\r\n\t\t\tmd4.addData(lineInfo.unicodeStr.left(lineInfo.unicodeStr.length() - n).toUtf8());\r\n\t\t}\r\n\t\telse if (mode == 2)\r\n\t\t{\r\n\t\t\tQString temp = lineInfo.unicodeStr;\r\n\t\t\tmd4.addData(temp.replace(QRegExp(\"\\\\s\"), QString(\"\")).toUtf8());\r\n\t\t}\r\n\t};\r\n\r\n\twhile (getOneLineFromFile(lineStartPos, fileLength, code, line)) {\r\n\r\n\t\tLineFileInfo lineInfo;\r\n\r\n\t\tlineInfo.lineNums = lineNums;\r\n\r\n\t\t/* 这种方式读取文件会包含后面的行尾 */\r\n\t\tint length = line.length();\r\n\r\n\t\tif (maxLineSize < length)\r\n\t\t{\r\n\t\t\tmaxLineSize = length;\r\n\t\t}\r\n\t\t//外面必须把code先检测好了\r\n\r\n\t\t//if (fileCode == CODE_ID::UNICODE_BE /*|| fileCode == CODE_ID::UNICODE_LE */ || fileCode == CODE_ID::UTF8_BOM)\r\n\t\tif(fileCode != CODE_ID::UNKOWN)\r\n\t\t{\r\n\t\t\t//如果是头部有标识的格式，则后续不用详细检查每行编码，直接按照头部标识走\r\n\t\t\tEncode::tranStrToUNICODE(code, line.data(), line.count(), lineInfo.unicodeStr);\r\n\t\t\tlineInfo.code = fileCode;\r\n\t\t}\r\n\t\telse if(fileCode == CODE_ID::UNKOWN)\r\n\t\t{\r\n\t\t\t/*对于头部没有标识的行，需要每行进行详细检查，比较耗时\r\n\t\t\t*对于第一行已经是GBK的编码，标识出所有的确是GBK的行号\r\n\t\t\t*严格来说，如果以后要做国际版，不应该只考虑GBK，而是要考虑本地ASNI编码。\r\n\t\t\t*对中国而言，本地ASNI编码是GBK，对其它国家，比如日本/韩国而言，这些ASNI是它们本国\r\n\t\t\t*对应的本地编码。\r\n\t\t\t*/\r\n\t\t\trecognizeTextCode(line, lineInfo, lineInfo.unicodeStr);\r\n\r\n\t\t\tif (CODE_ID::UTF8_NOBOM == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\tisExistUtf8 = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::GBK == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\t//如果发现存在GBK，则要以GBK作为字符编码。这里识别gbk是因为显示的时候，需要转化gbk进行显示\r\n\t\t\t\tisExistGbk = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::UNKOWN == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\tisExistUnKownCode = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tif (lineInfo.unicodeStr.endsWith(\"\\r\\r\\n\"))\r\n\t\t{\r\n\t\t\t//这里是一种错误，但确实可能出现\r\n\t\t\tif (length > 3)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo,3);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//空白行\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE;\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\r\\n\"))\r\n\t\t{\r\n\t\t\tif (length > 2)\r\n\t\t\t{\r\n\t\t\t\r\n\t\t\t\twork(lineInfo, 2);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//空白行\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE;\r\n\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\n\"))\r\n\t\t{\r\n\t\t\tif (length > 1)\r\n\t\t\t{\r\n\t\r\n\t\t\t\twork(lineInfo, 1);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::UNIX_LINE;\r\n\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\r\"))\r\n\t\t{\r\n\t\t\tif (length > 1)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 1);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::MAC_LINE;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif (length > 0)\r\n\t\t\t{\r\n\t\t\t\twork(lineInfo, 0);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::UNKNOWN_LINE;\r\n\t\t}\r\n\r\n\t\tif (lineInfo.isEmptyLine)\r\n\t\t{\r\n\t\t\tblankLineInfoVec.append(lineInfo);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlineInfo.md4 = md4.result();\r\n\t\t\tmd4.reset();\r\n\t\t\tlineInfoVec.append(lineInfo);\r\n\t\t}\r\n\t\t++lineNums;\r\n\t}\r\n\r\n\t//如果外部指定了格式，则直接返回外部格式\r\n\tif (fileCode != CODE_ID::UNKOWN)\r\n\t{\r\n\t\treturn fileCode;\r\n\t}\r\n\r\n\treturn judgeFinalTextCode(code, isExistUnKownCode, isExistGbk, isExistUtf8);\r\n}\r\n\r\nCODE_ID CmpareMode::judgeFinalTextCode(CODE_ID code, bool isExistUnKownCode, bool isExistGbk, bool isExistUtf8)\r\n{\r\n\t//如果是三种有明确标识的字符编码，则严格按照标识的逻辑去读取。哪怕里面存在错误编码，也只能按照头部标识为准\r\n\tif (CODE_ID::UNICODE_LE == code || CODE_ID::UNICODE_BE == code || CODE_ID::UTF8_BOM == code || code == CODE_ID::GBK)\r\n\t{\r\n\t\treturn code;\r\n\t}\r\n\r\n\t//剩下的是在文件头没有严格标识编码的文件\r\n\t//存在不能识别的编码，则应该是ASNI，需要用户指定编码\r\n\tif (isExistUnKownCode)\r\n\t{\r\n\t\treturn CODE_ID::UNKOWN;\r\n\t}\r\n\tif (isExistGbk)\r\n\t{\r\n\t\t//如果没有错误码，而且发现gbk，则是gbk编码\r\n\t\treturn CODE_ID::GBK;\r\n\t}\r\n\t//如果不存在错误和gbk，就是纯粹的ut8_nobom\r\n\tif (isExistUtf8)\r\n\t{\r\n\t\treturn CODE_ID::UTF8_NOBOM;\r\n\t}\r\n\r\n\treturn code;\r\n}\r\n\r\n\r\n//读取用于纯输出，不做比较。bool &isMaybeHexFile 是否是hex文件，不一定准确，做一个推测\r\n// int& charsNums 输出字符个数\r\nCODE_ID CmpareMode::readLineFromFile(uchar* m_fileFpr, const int fileLength, const CODE_ID fileCode, QList<LineFileInfo>&lineInfoVec, int& maxLineSize, int& charsNums, bool &isMaybeHexFile)\r\n{\r\n\tint lineNums = 0;\r\n\tCODE_ID code = fileCode;\r\n\tbool isExistGbk = false;\r\n\tbool isExistUnKownCode = false;\r\n\tbool isExistUtf8 = false;\r\n\tint lineStartPos = 0;\r\n\tint errorCodeLines = 0;\r\n\tcharsNums = 0;\r\n\r\n\tif (fileCode == CODE_ID::UNICODE_BE || fileCode == CODE_ID::UNICODE_LE)\r\n\t{\r\n\t\tlineStartPos = 2;\r\n\t}\r\n\telse if (fileCode == CODE_ID::UTF8_BOM)\r\n\t{\r\n\t\tlineStartPos = 3;\r\n\t}\r\n\r\n\t//获取一行在文件中\r\n\tauto getOneLineFromFile = [m_fileFpr](int& startPos, const int fileLength, const CODE_ID fileCode, QByteArray& ret)->bool {\r\n\r\n\t\tif (startPos < fileLength)\r\n\t\t{\r\n\t\t\tret.clear();\r\n\r\n\t\t\tint lineLens = 0;\r\n\t\t\tbool isFindLine = false;\r\n\r\n\t\t\tfor (int i = startPos; i < fileLength; ++i, ++lineLens)\r\n\t\t\t{\r\n\t\t\t\t//遇到符号CR\r\n\t\t\t\tif (m_fileFpr[i] == 0x0D)\r\n\t\t\t\t{\r\n\t\t\t\t\t//后一个是LF,即以CRLF结尾\r\n\t\t\t\t\tif ((i + 1 < fileLength) && (m_fileFpr[i + 1] == 0x0A))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//lineLens需要加2，因为当前这个没有加，而且后面还有一个\\n\r\n\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 2);\r\n\t\t\t\t\t\tstartPos += lineLens + 2;\r\n\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if ((fileCode == UNICODE_BE) && ((i > 0) && m_fileFpr[i - 1] == '\\0'))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//事先发现就是BE格式，以\\0\\r\\0\\n为结尾的\r\n\t\t\t\t\t\tif ((i + 2 < fileLength) && (m_fileFpr[i + 1] == 0x0) && (m_fileFpr[i + 2] == 0x0A))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t//lineLens需要加3，因为当前这个没有加，而且后面还有一个\\0\\n\r\n\t\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 3);\r\n\t\t\t\t\t\t\tstartPos += lineLens + 3;\r\n\t\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t//虽然说是BE格式，但是后面没有以\\0\\n结尾，而是以\\r结尾。这种多半就是错误。直接按\\0\\r结尾\r\n\t\t\t\t\t\t\t//lineLens需要加1，因为当前这个没有加\r\n\t\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//直接以\\r结尾了，后面没有\\n或者\\0\\n。符合MAC格式，windows可能编码只有\\r，没有\\n的错误情况。\r\n\t\t\t\t\t\t//lineLens需要加1，因为当前这个没有加\r\n\t\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (m_fileFpr[i] == 0x0A)\r\n\t\t\t\t{\r\n\t\t\t\t\t//没有先遇到\\r，直接遇到\\n.20210903发现忘记处理该情况le\r\n\t\t\t\t\t//lineLens需要加1，因为当前这个没有加\r\n\t\t\t\t\tret.append((char*)(m_fileFpr + startPos), lineLens + 1);\r\n\t\t\t\t\tstartPos += lineLens + 1;\r\n\t\t\t\t\tisFindLine = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//没有找到一行\r\n\t\t\tif (!isFindLine)\r\n\t\t\t{\r\n\t\t\t\t//最后一行，可能没有带\\r\\0直接返回\r\n\t\t\t\tret.append((char*)(m_fileFpr + startPos), fileLength - startPos);\r\n\r\n\t\t\t\tstartPos = fileLength;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tQByteArray line;\r\n\r\n\r\n\twhile (getOneLineFromFile(lineStartPos, fileLength, code, line)) {\r\n\r\n\t\tLineFileInfo lineInfo;\r\n\r\n\t\tlineInfo.lineNums = lineNums;\r\n\r\n\t\t/* 这种方式读取文件会包含后面的行尾 */\r\n\t\tint length = line.length();\r\n\r\n\t\tif (maxLineSize < length)\r\n\t\t{\r\n\t\t\tmaxLineSize = length;\r\n\t\t}\r\n\r\n\t\t//外面必须把code先检测好了\r\n\r\n\t\t//if (fileCode == CODE_ID::UNICODE_BE /*|| fileCode == CODE_ID::UNICODE_LE */ || fileCode == CODE_ID::UTF8_BOM)\r\n\t\tif(fileCode != CODE_ID::UNKOWN)\r\n\t\t{\r\n\t\t\t//如果是头部有标识的格式，则后续不用详细检查每行编码，直接按照头部标识走\r\n\t\t\tEncode::tranStrToUNICODE(code, line.data(), line.count(), lineInfo.unicodeStr);\r\n\t\t\tlineInfo.code = fileCode;\r\n\t\t}\r\n\t\telse if (fileCode == CODE_ID::UNKOWN)\r\n\t\t{\r\n\t\t\t/*对于头部没有标识的行，需要每行进行详细检查，比较耗时\r\n\t\t\t*对于第一行已经是GBK的编码，标识出所有的确是GBK的行号\r\n\t\t\t*严格来说，如果以后要做国际版，不应该只考虑GBK，而是要考虑本地ASNI编码。\r\n\t\t\t*对中国而言，本地ASNI编码是GBK，对其它国家，比如日本/韩国而言，这些ASNI是它们本国\r\n\t\t\t*对应的本地编码。\r\n\t\t\t*/\r\n\t\t\trecognizeTextCode(line, lineInfo, lineInfo.unicodeStr);\r\n\r\n\t\t\tif (CODE_ID::UTF8_NOBOM == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\tisExistUtf8 = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::GBK == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\t//如果发现存在GBK，则要以GBK作为字符编码。这里识别gbk是因为显示的时候，需要转化gbk进行显示\r\n\t\t\t\tisExistGbk = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::UNKOWN == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\tisExistUnKownCode = true;\r\n\r\n\t\t\t\t//增加错误行的计数\r\n\t\t\t\terrorCodeLines++;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tif (lineInfo.unicodeStr.endsWith(\"\\r\\r\\n\"))\r\n\t\t{\r\n\t\t\t//这里是一种错误，但确实可能出现\r\n\t\t\tif (length > 3)\r\n\t\t\t{\r\n\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//空白行\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE;\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\r\\n\"))\r\n\t\t{\r\n\t\t\tif (length > 2)\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//空白行\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE;\r\n\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\n\"))\r\n\t\t{\r\n\t\t\tif (length > 1)\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::UNIX_LINE;\r\n\r\n\t\t}\r\n\t\telse if (lineInfo.unicodeStr.endsWith(\"\\r\"))\r\n\t\t{\r\n\t\t\tif (length > 1)\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::MAC_LINE;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif (length > 0)\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlineInfo.isLcsExist = false;\r\n\r\n\t\t\t\tlineInfo.isEmptyLine = true;\r\n\r\n\t\t\t}\r\n\t\t\tlineInfo.lineEndFormat = RC_LINE_FORM::UNKNOWN_LINE;\r\n\t\t}\r\n\r\n\t\tlineInfoVec.append(lineInfo);\r\n\t\t\r\n\t\tcharsNums += lineInfo.unicodeStr.size();\r\n\t\t++lineNums;\r\n\t}\r\n\r\n\t//如果超过一半的行都是错误的，则考虑为hex文件。\r\n\tif (lineNums >= 10 && (errorCodeLines * 100 / lineNums > 50))\r\n\t{\r\n\t\tisMaybeHexFile = true;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tisMaybeHexFile = false;\r\n\r\n\t\t//如果前面三行中含有\\0字符，也可能是二进制文件\r\n\t\tif (lineNums > 3)\r\n\t\t{\r\n\t\t\tfor (int i = 0; i < 3; ++i)\r\n\t\t\t{\r\n\t\t\t\tif (lineInfoVec.at(i).unicodeStr.contains(QChar('\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tisMaybeHexFile = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//如果用户外部强制编码，则直接按改编码返回\r\n\tif (fileCode != CODE_ID::UNKOWN)\r\n\t{\r\n\t\treturn fileCode;\r\n\t}\r\n\r\n\treturn judgeFinalTextCode(code, isExistUnKownCode, isExistGbk, isExistUtf8);\r\n}\r\n\r\n\r\n//扫描文件的字符编码，不输出文件\r\n//扫描多少行scanLineNum 默认100\r\n//如果是-1 之前全部扫描\r\nCODE_ID CmpareMode::scanFileRealCode(QString filePath, int scanLineNum)\r\n{\r\n\tQFile file(filePath);\r\n\tfile.open(QIODevice::ReadOnly);\r\n\t\r\n\tCODE_ID code = CODE_ID::UNKOWN;\r\n\tint lineNums = 0;\r\n\r\n\tbool isExistGbk = false;\r\n\tbool isExistUnKownCode = false;\r\n\tbool isExistUtf8 = false;\r\n\r\n\r\n\twhile (!file.atEnd()) {\r\n\r\n\t\tLineFileInfo lineInfo;\r\n\r\n\t\tQByteArray line = file.readLine();\r\n\r\n\t\tlineInfo.lineNums = lineNums;\r\n\r\n\t\t/* 这种方式读取文件会包含后面的行尾 */\r\n\t\t//int length = line.length();\r\n\r\n\t\t//第一行时，检测一下文件编码，返回值也是文件的编码\r\n\t\tif (0 == lineNums)\r\n\t\t{\r\n\t\t\trecognizeTextCode(line, lineInfo, lineInfo.unicodeStr);\r\n\t\t\tcode = (CODE_ID)lineInfo.code;\r\n\r\n\t\t\t//已经找到文本的标签，相信标签，之前返回\r\n\t\t\tif (code == CODE_ID::UNICODE_BE || code == CODE_ID::UNICODE_LE || code == CODE_ID::UTF8_BOM || code == CODE_ID::GBK)\r\n\t\t\t{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t/*对于头部没有标识的行，需要每行进行详细检查，比较耗时\r\n\t\t\t*对于第一行已经是GBK的编码，标识出所有的确是GBK的行号\r\n\t\t\t*严格来说，如果以后要做国际版，不应该只考虑GBK，而是要考虑本地ASNI编码。\r\n\t\t\t*对中国而言，本地ASNI编码是GBK，对其它国家，比如日本/韩国而言，这些ASNI是它们本国\r\n\t\t\t*对应的本地编码。\r\n\t\t\t*/\r\n\t\t\trecognizeTextCode(line, lineInfo, lineInfo.unicodeStr);\r\n\r\n\t\t\tif (CODE_ID::UTF8_NOBOM == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\tisExistUtf8 = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::GBK == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\t//如果发现存在GBK，则要以GBK作为字符编码。这里识别gbk是因为显示的时候，需要转化gbk进行显示\r\n\t\t\t\tisExistGbk = true;\r\n\t\t\t}\r\n\t\t\telse if (CODE_ID::UNKOWN == lineInfo.code)\r\n\t\t\t{\r\n\t\t\t\tisExistUnKownCode = true;\r\n\t\t\t\t//20220127一旦发现错误编码，或者说不能识别的编码，则直接跳出。\r\n\t\t\t\t//因为肯定是不能识别的编码ASNI\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t++lineNums;\r\n\r\n\t\t//默认最多扫描200行，加块速度。速度与精确性的权衡\r\n\t\t//对于打开文件，默认扫描前面的200行，加快速度。\r\n\t\t//对于编码转换，为了精确，默认全部都要处理\r\n\t\tif ((scanLineNum != -1) && (lineNums >= scanLineNum))\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tfile.close();\r\n\r\n\treturn judgeFinalTextCode(code, isExistUnKownCode, isExistGbk, isExistUtf8);\r\n\r\n}\r\n\r\n//读取文件，并输出\r\n//bytescharsNums:文件字符个数，不是文件大小\r\n//20220908 自动判断是否是二进制文件。isHexFile 是输出\r\nCODE_ID CmpareMode::scanFileOutPut(CODE_ID code, QString filePath, QList<LineFileInfo>& outputLineInfoVec, int &maxLineSize, int& charsNums, bool &isHexFile)\r\n{\r\n\tQFile* file = new QFile(filePath);\r\n\tfile->open(QIODevice::ReadOnly);\r\n\tuchar* m_fileFpr = file->map(0, file->size());\r\n\r\n\tif (code == UNKOWN)\r\n\t{\r\n\t\tcode = getTextFileEncodeType(m_fileFpr, file->size(), filePath);\r\n\t}\r\n\r\n\t//UNICODE_LE格式需要单独处理\r\n\tif (code == UNICODE_LE)\r\n\t{\r\n\t\tcharsNums = readLineFromFileWithUnicodeLe(m_fileFpr, file->size(), outputLineInfoVec, outputLineInfoVec, 0, maxLineSize);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tcode = readLineFromFile(m_fileFpr, file->size(), code, outputLineInfoVec, maxLineSize, charsNums, isHexFile);\r\n\t}\r\n\r\n\tfile->unmap(m_fileFpr);\r\n\tfile->close();\r\n\tdelete file;\r\n\r\n\treturn code;\r\n}\r\n\r\n//读取文件，并输出\r\n//bytes charsNums:文件字符个数，不是文件大小\r\n//20220908 自动判断是否是二进制文件。isHexFile 是输出\r\n//20230304 新增，一次性读取文件，不检测每行文本，加快速度。existGrbledCode 是否存在乱码\r\nCODE_ID CmpareMode::scanFileOutPut(QFile& pFile, CODE_ID code, QString filePath, QString& outText, bool & existGrbledCode)\r\n{\r\n\tQByteArray outTextBytes = pFile.readAll();\r\n\r\n\tif (outTextBytes.size() == 0)\r\n\t{\r\n\t\toutText = \"\";\r\n\t\texistGrbledCode = false;\r\n\t\treturn CODE_ID::UTF8_NOBOM;\r\n\t}\r\n\r\n\tif (code == UNKOWN)\r\n\t{\r\n\t\tcode = getTextFileEncodeType((uchar * )outTextBytes.data(), pFile.size(), filePath);\r\n\r\n\t\t//编码还是检测失败，这里概率是比较小的。\r\n\t\tif (code == CODE_ID::UNKOWN)\r\n\t\t{\r\n\t\t\t//无条件按照ANSI/GBK编码打开\r\n\t\t\tcode = CODE_ID::GBK;\r\n\t\t}\r\n\t}\r\n\r\n\tint lineStartPos = 0; //uicode_le前面有2个特殊标识，故跳过2\r\n\r\n\tif (code == CODE_ID::UNICODE_BE || code == CODE_ID::UNICODE_LE)\r\n\t{\r\n\t\tlineStartPos = 2;\r\n\t}\r\n\telse if (code == CODE_ID::UTF8_BOM)\r\n\t{\r\n\t\tlineStartPos = 3;\r\n\t}\r\n\t\t\r\n\tbool codeSucess = Encode::tranStrToUNICODE(code, outTextBytes.data()+ lineStartPos, outTextBytes.size()- lineStartPos, outText);\r\n\r\n\t//如果存在乱码，而且不是以gbk编码打开，再无条件尝试ASNI/GBK编码打开。如果是国际版，后续还得完善策略，得无条件以ASNI本地编码打开。\r\n\tif (!codeSucess && (code != CODE_ID::GBK))\r\n\t{\r\n\t\tcode = CODE_ID::GBK;\r\n\t\toutText.clear();\r\n\t\tcodeSucess = Encode::tranStrToUNICODE(code, outTextBytes.data() + lineStartPos, outTextBytes.size() - lineStartPos, outText);\r\n\t}\r\n\texistGrbledCode = !codeSucess;\r\n\r\n\treturn code;\r\n}\r\n\r\n"
  },
  {
    "path": "src/CmpareMode.h",
    "content": "﻿#pragma once\r\n#include <qobject.h>\r\n#include<QVector>\r\n#include<QMap>\r\n#include <QFuture>\r\n\r\n#include <functional>\r\n#include \"rcglobal.h\"\r\n#include \"Encode.h\"\r\n\r\n\r\nclass BlockUserData;\r\nclass QFile;\r\n\r\n\r\nconst int LEFT = 0;\r\nconst int RIGHT = 1;\r\n\r\n//对比bin二进制文件。\r\nconst int MAX_BIN_SIZE = 1024 * 1024 * 10; //最大10M\r\n\r\ntypedef void(* CALL_FUNC)(void *, uchar *, int);\r\n\r\ntypedef struct lineFileInfo_ {\r\n\tqint32 lineNums; //行号码\r\n\tbool isLcsExist;//是否属于lcsline的一部分\r\n\tbool isEmptyLine; //是否是空白行，只包含换行符的行\r\n\tint code; //该行的字符编码\r\n\tint lineEndFormat; //行尾：见RC_LINE_FORM\r\n\tQByteArray md4;\r\n\tQString unicodeStr; //这个是包含行尾的换行符的\r\n\tlineFileInfo_()\r\n\t{\r\n\t\tisLcsExist = false;\r\n\t\tisEmptyLine = false;\r\n\t\tcode = UNKOWN;\r\n\t\tlineEndFormat = UNKNOWN_LINE;\r\n\t}\r\n}LineFileInfo;\r\n\r\n\r\n\r\nconst int EMPTY_FILE = 0;\r\nconst int SCAN_SUCCESS = 1;\r\n\r\nclass CmpareMode;\r\n\r\ntypedef struct ThreadFileCmpParameter_ {\r\n\tQString leftPath;\r\n\tQString rightPath;\r\n\tCmpareMode *resultCmpObj;\r\n\r\n\tThreadFileCmpParameter_(QString leftPath_, QString rightPath_)\r\n\t{\r\n\t\tleftPath = leftPath_;\r\n\t\trightPath = rightPath_;\r\n\t\tresultCmpObj = nullptr;\r\n\t}\r\n\r\n}ThreadFileCmpParameter;\r\n\r\nclass CmpareMode :public QObject\r\n{\r\n\tQ_OBJECT\r\npublic:\r\n\tCmpareMode();\r\n\tvirtual ~CmpareMode();\r\n\r\n\tstatic CODE_ID readLineFromFile(uchar * m_fileFpr, const int fileLength, const CODE_ID fileCode, QList<LineFileInfo>& lineInfoVec, QList<LineFileInfo>& blankLineInfoVec, int mode, int& maxLineSize);\r\n\tstatic CODE_ID judgeFinalTextCode(CODE_ID code, bool isExistUnKownCode, bool isExistGbk, bool isExistUtf8);\r\n\tstatic CODE_ID readLineFromFile(uchar * m_fileFpr, const int fileLength, const CODE_ID fileCode, QList<LineFileInfo>& lineInfoVec,int& maxLineSize, int& charsNums, bool &isMaybeHexFile);\r\n\r\n\tstatic CODE_ID scanFileRealCode(QString filePath,int scanLineNum=200);\r\n\tstatic CODE_ID scanFileOutPut(CODE_ID code, QString filePath, QList<LineFileInfo>& outputLineInfoVec, int & maxLineSize, int & charsNums, bool &isHexFile);\r\n\tstatic CODE_ID scanFileOutPut(QFile& pFile, CODE_ID code, QString filePath, QString& outText, bool& existGrbledCode);\r\n\r\n\tstatic CODE_ID getTextFileEncodeType(uchar* fileFpr, int fileLength, QString filePath=\"\", bool isCheckHead = true);\r\n\tstatic bool tranUnicodeLeToUtf8Bytes(uchar* fileFpr, const int fileLength, QString& outUtf8Bytes, bool isSkipHead=false);\r\n\tstatic bool isUnicodeLeBomFile(uchar* fileFpr, int fileLength);\r\nprivate:\r\n\r\n\tstatic bool recognizeTextCode(QByteArray & text, LineFileInfo & lineInfo, QString & outUnicodeText);\r\n\tquint32 static readLineFromFileWithUnicodeLe(uchar* m_fileFpr, const int fileLength, QList<LineFileInfo>& lineInfoVec, QList<LineFileInfo>& blankLineInfoVec,int mode, int &maxLineSize);\r\n\r\n\t\r\n};\r\n\r\n"
  },
  {
    "path": "src/Encode.cpp",
    "content": "﻿#include \"Encode.h\"\r\n#include <QTextCodec>\r\n#include <QtDebug>\r\n\r\n/* 检查字符串编码的类。看了大量文献，结论如下：\r\n*如果是UTF BOM格式，或者UNICODE格式，其文件头部前几个字节（2-3）有一定的标识。由此标识直接按对应编码处理。\r\n*如果没有标识，默认就是UTF8(NO BOM) 与 ANSI(现在只考虑GBK）进行对比。\r\n*此时需要做统计分析。对所有行进行UTF8解析，如果按照UTF8解析错位再按照GBK解析。如果解析出GBK那么大概率认为文件是GBK编码的。\r\n*/\r\n\r\nEncode::Encode()\r\n{\r\n\r\n}\r\n\r\nEncode::~Encode()\r\n{\r\n\r\n}\r\n\r\nCODE_ID Encode::getCodeByName(QString name)\r\n{\r\n\tCODE_ID id;\r\n\r\n\tif (name == \"unknown\")\r\n\t{\r\n\t\tid = CODE_ID::UNKOWN;\r\n\t}\r\n\telse if (name == \"UTF16-LE\")\r\n\t{\r\n\t\tid = CODE_ID::UNICODE_LE;\r\n\t}\r\n\telse if (name == \"UTF16-BE\")\r\n\t{\r\n\t\tid = CODE_ID::UNICODE_BE;\r\n\t}\r\n\telse if (name == \"UTF8\")\r\n\t{\r\n\t\tid = CODE_ID::UTF8_NOBOM;\r\n\t}\r\n\telse if (name == \"UTF8-BOM\")\r\n\t{\r\n\t\tid = CODE_ID::UTF8_BOM;\r\n\t}\r\n\telse if (name == \"GBK\")\r\n\t{\r\n\t\tid = CODE_ID::GBK;\r\n\t}\r\n\telse if (name == \"EUC-JP\")\r\n\t{\r\n\t\tid = CODE_ID::EUC_JP;\r\n\t}\r\n\telse if (name == \"Shift-JIS\")\r\n\t{\r\n\t\tid = CODE_ID::Shift_JIS;\r\n\t}\r\n\telse if (name == \"EUC-KR\")\r\n\t{\r\n\t\tid = CODE_ID::EUC_KR;\r\n\t}\r\n\telse if (name == \"KOI8-R\")\r\n\t{\r\n\t\tid = CODE_ID::KOI8_R;\r\n\t}\r\n\telse if (name == \"TSCII\")\r\n\t{\r\n\t\tid = CODE_ID::TSCII;\r\n\t}\r\n\telse if (name == \"TIS-620\")\r\n\t{\r\n\t\tid = CODE_ID::TIS_620;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tid = CODE_ID::UNKOWN;\r\n\t}\r\n\r\n\treturn id;\r\n\r\n}\r\n\r\nQString Encode::getLineEndById(RC_LINE_FORM id)\r\n{\r\n\tQString ret;\r\n\r\n\tswitch (id)\r\n\t{\r\n\tcase PAD_LINE:\r\n\tcase UNKNOWN_LINE:\r\n#ifdef WIN32\r\n\t\tret = \"Windows(CR LF)\";\r\n#else\r\n\t\tret = \"Unix(LF)\";\r\n#endif\r\n\t\tret = \"NULL\";\r\n\t\tbreak;\r\n\tcase UNIX_LINE:\r\n\t\tret = \"Unix(LF)\";\r\n\t\tbreak;\r\n\tcase DOS_LINE:\r\n\t\tret = \"Windows(CR LF)\";\r\n\t\tbreak;\r\n\tcase MAC_LINE:\r\n\t\tret = \"Mac(CR)\";\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn  ret;\r\n}\r\n\r\nQString Encode::getCodeNameById(CODE_ID id)\r\n{\r\n\tQString ret;\r\n\r\n\tswitch (id)\r\n\t{\r\n\tcase UNKOWN:\r\n\t\tret = \"unknown\";\r\n\t\tbreak;\r\n\tcase ANSI:\r\n\t\tret = \"unknown\";\r\n\t\tbreak;\r\n\tcase UNICODE_LE:\r\n\t\tret = \"UTF16-LE\";\r\n\t\tbreak;\r\n\tcase UNICODE_BE:\r\n\t\tret = \"UTF16-BE\";\r\n\t\tbreak;\r\n\tcase UTF8_NOBOM:\r\n\t\tret = \"UTF8\";\r\n\t\tbreak;\r\n\tcase UTF8_BOM:\r\n\t\tret = \"UTF8-BOM\";\r\n\t\tbreak;\r\n\tcase GBK:\r\n\t\tret = \"GBK\";\r\n\t\tbreak;\r\n\tcase EUC_JP:\r\n\t\tret = \"EUC-JP\";\r\n\t\tbreak;\r\n\tcase Shift_JIS:\r\n\t\tret = \"Shift-JIS\";\r\n\t\tbreak;\r\n\tcase EUC_KR:\r\n\t\tret = \"EUC-KR\";\r\n\t\tbreak;\r\n\tcase KOI8_R:\r\n\t\tret = \"KOI8-R\";\r\n\t\tbreak;\r\n\tcase TSCII:\r\n\t\tret = \"TSCII\";\r\n\t\tbreak;\r\n\tcase TIS_620:\r\n\t\tret = \"TIS-620\";\r\n\t\tbreak;\r\n\tcase BIG5:\r\n\t\tret = \"BIG5-HKSCS\";\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tret = \"unknown\";\r\n\t\tbreak;\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\nQByteArray Encode::getEncodeStartFlagByte(CODE_ID code)\r\n{\r\n\tQByteArray ret;\r\n\r\n\tswitch (code)\r\n\t{\r\n\t\tcase UNICODE_LE:\r\n\t\t{\r\n\t\t\tret.append((char)0xFF);\r\n\t\t\tret.append((char)0xFE);\r\n\t\t}\r\n\t\tbreak;\r\n\r\n\t\tcase UNICODE_BE:\r\n\t\t{\r\n\t\tret.append((char)0xFE);\r\n\t\tret.append((char)0xFF);\r\n\t\t}\r\n\t\tbreak;\r\n\r\n\t\tcase UTF8_BOM:\r\n\t\t{\r\n\t\t\tret.append((char)0xEF);\r\n\t\t\tret.append((char)0xBB);\r\n\t\t\tret.append((char)0xBF);\r\n\t\t}\r\n\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\nCODE_ID Encode::DetectEncode(const uchar* pBuffer, int length, int &skip)\r\n{\r\n\tif (pBuffer[0] == 0xFF && pBuffer[1] == 0xFE)\r\n\t{\r\n\t\tskip = 2;\r\n\t\treturn CODE_ID::UNICODE_LE; //skip 2\r\n\t}\r\n\tif (pBuffer[0] == 0xFE && pBuffer[1] == 0xFF)\r\n\t{\r\n\t\tskip = 2;\r\n\t\treturn CODE_ID::UNICODE_BE; //skip 2\r\n\t}\r\n\tif (pBuffer[0] == 0xEF && pBuffer[1] == 0xBB && pBuffer[2] == 0xBF)\r\n\t{\r\n\t\tskip = 3;\r\n\t\treturn CODE_ID::UTF8_BOM; //skip 3 with BOM\r\n\t}\r\n\r\n\t// 不能知道是不是UTF8\r\n\tCODE_ID code = CheckUnicodeWithoutBOM(pBuffer, length);\r\n\r\n\tskip = 0;\r\n\treturn code; //skip 0\r\n\r\n}\r\n\r\nbool Encode::tranGbkToUNICODE(const char* pText, int length, QString &out)\r\n{\r\n\tQTextCodec::ConverterState state;\r\n\t\r\n\tQTextCodec *codec = QTextCodec::codecForName(\"GBK\");\r\n\tout = codec->toUnicode((const char *)pText, length, &state);\r\n\tif (state.invalidChars > 0) {\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\nbool Encode::tranUtf8ToUNICODE(const char* pText, int length, QString &out)\r\n{\r\n\tQTextCodec::ConverterState state;\r\n\r\n\tQTextCodec *codec = QTextCodec::codecForName(\"UTF-8\");\r\n\tout = codec->toUnicode((const char *)pText, length, &state);\r\n\tif (state.invalidChars > 0) {\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n//与getCodeNameById类似，但是返回的是QT系统支持的编码的字符串名称\r\nQString Encode::getQtCodecNameById(CODE_ID id)\r\n{\r\n\tQString ret;\r\n\r\n\tswitch (id)\r\n\t{\r\n\tcase UNKOWN:\r\n\tcase ANSI:\r\n\t\tret = \"unknown\";\r\n\t\tbreak;\r\n\tcase UNICODE_LE:\r\n\t\tret = \"UTF16-LE\";\r\n\t\tbreak;\r\n\tcase UNICODE_BE:\r\n\t\tret = \"UTF16-BE\";\r\n\t\tbreak;\r\n\tcase UTF8_NOBOM://qt没有这种\r\n\tcase UTF8_BOM:\r\n\t\tret = \"UTF8\";\r\n\t\tbreak;\r\n\tcase GBK:\r\n\t\tret = \"GBK\";\r\n\t\tbreak;\r\n\tcase EUC_JP:\r\n\t\tret = \"EUC-JP\";\r\n\t\tbreak;\r\n\tcase Shift_JIS:\r\n\t\tret = \"Shift-JIS\";\r\n\t\tbreak;\r\n\tcase EUC_KR:\r\n\t\tret = \"EUC-KR\";\r\n\t\tbreak;\r\n\tcase KOI8_R:\r\n\t\tret = \"KOI8-R\";\r\n\t\tbreak;\r\n\tcase TSCII:\r\n\t\tret = \"TSCII\";\r\n\t\tbreak;\r\n\tcase TIS_620:\r\n\t\tret = \"TIS-620\";\r\n\t\tbreak;\r\n\tcase BIG5:\r\n\t\tret = \"Big5-HKSCS\";\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tret = \"unknown\";\r\n\t\tbreak;\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n//将指定编码的字符串转换到unicode\r\nbool Encode::tranStrToUNICODE(CODE_ID code, const char* pText, int length, QString &out)\r\n{\r\n\tif (length < 0)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tQTextCodec::ConverterState state;\r\n\tQTextCodec *codec = nullptr;\r\n\r\n\tQString textCodeName = getQtCodecNameById(code);\r\n\tif (textCodeName.isEmpty() || textCodeName == \"unknown\")\r\n\t{\r\n\t\t//对于其它非识别编码，统一转换为utf8。减去让用户选择的麻烦\r\n\t\t//这里其实是有问题的。先这样简单处理\r\n\t\tcodec = QTextCodec::codecForName(\"UTF-8\");\r\n\t}\r\n\telse\r\n\t{\r\n\t\tcodec = QTextCodec::codecForName(textCodeName.toStdString().c_str());\r\n\t}\r\n\t\r\n\tif (codec == nullptr)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tout = codec->toUnicode((const char *)pText, length, &state);\r\n\tif (state.invalidChars > 0) {\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n/* 这里其实是穷举字符串的字符编码；ASNI utf8。目前只检测GBK和utf8;其它语种没有穷举\r\n*GB2312 GBK GB18030 三种差别见https://cloud.tencent.com/developer/article/1343240\r\n*关于编码的详细说明，见https://blog.csdn.net/libaineu2004/article/details/19245205\r\n*/\r\n//这里是有限检查utf8的，如果出现gbk，说明一定不是utf8，因为utf8检查到错误码。\r\nCODE_ID Encode::CheckUnicodeWithoutBOM(const uchar* pText, int length)\r\n{\r\n\tQTextCodec::ConverterState state;\r\n\tQTextCodec *codec = QTextCodec::codecForName(\"UTF-8\");\r\n\tconst QString text = codec->toUnicode((const char *)pText, length, &state);\r\n\tif (state.invalidChars > 0) {\r\n\t\t/*不是UTF-8格式的文件，这里优先判断是不是UTF8，再判断是不是GBK；我们先做中文版；如果后续要做\r\n\t\t*国际版，其实不应该只检查GBK，而是应该检查本地ASCI码，包括ascii码*/\r\n\t\tQTextCodec::ConverterState state1;\r\n\t\tQTextCodec *codec1 = QTextCodec::codecForName(\"GBK\");\r\n\t\tcodec1->toUnicode((const char *)pText, length, &state1);\r\n\t\tif (state1.invalidChars > 0) {\r\n\t\t\treturn CODE_ID::ANSI;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn CODE_ID::GBK;\r\n\t\t}\r\n\t}\r\n\r\n\treturn CODE_ID::UTF8_NOBOM;\r\n}\r\n\r\nCODE_ID Encode::CheckUnicodeWithoutBOM(const uchar* pText, int length, QString &outUnicodeText)\r\n{\r\n\tQTextCodec::ConverterState state;\r\n\tQTextCodec *codec = QTextCodec::codecForName(\"UTF-8\");\r\n\toutUnicodeText = codec->toUnicode((const char *)pText, length, &state);\r\n\tif (state.invalidChars > 0) {\r\n\t\t/*不是UTF-8格式的文件，这里优先判断是不是UTF8，再判断是不是GBK；我们先做中文版；如果后续要做\r\n\t\t*国际版，其实不应该只检查GBK，而是因为检查本地ASCI码，包括ascii码*/\r\n\t\tQTextCodec::ConverterState state1;\r\n\t\tQTextCodec *codec1 = QTextCodec::codecForName(\"GBK\");\r\n\t\tQString gbkStr = codec1->toUnicode((const char *)pText, length, &state1);\r\n\t\tif (state1.invalidChars > 0) {\r\n\t\t\t//如果也不是gbk，姑且按照utf8直接返回\r\n\t\t\treturn CODE_ID::ANSI;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\toutUnicodeText = gbkStr;\r\n\t\t\treturn CODE_ID::GBK;\r\n\t\t}\r\n\t}\r\n\r\n\treturn CODE_ID::UTF8_NOBOM;\r\n}\r\n\r\n//检查是否全是ascii字符码\r\nbool Encode::CheckTextIsAllAscii(const uchar* pText, int length)\r\n{\r\n\tfor (int i = 0; i < length; ++i)\r\n\t{\r\n\t\tif (*(pText + i) < 0 || *(pText + i) > 0x7F)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n}\r\n"
  },
  {
    "path": "src/Encode.h",
    "content": "﻿#pragma once\r\n#include <QtGlobal>\r\n\r\n//#define GBK_\r\n#include \"rcglobal.h\"\r\n\r\n\r\nclass Encode\r\n{\r\npublic:\r\n\tEncode();\r\n\t~Encode();\r\n\tstatic CODE_ID getCodeByName(QString name);\r\n\tstatic QString getLineEndById(RC_LINE_FORM id);\r\n\tstatic QString getCodeNameById(CODE_ID id);\r\n\tstatic QByteArray getEncodeStartFlagByte(CODE_ID code);\r\n\tstatic CODE_ID DetectEncode(const uchar* pBuffer, int length,int &skip);\r\n\tstatic bool tranGbkToUNICODE(const char* pText, int length, QString &out);\r\n\tstatic bool tranUtf8ToUNICODE(const char * pText, int length, QString & out);\r\n\tstatic QString getQtCodecNameById(CODE_ID id);\r\n\tstatic bool tranStrToUNICODE(CODE_ID code, const char * pText, int length, QString & out);\r\n\tstatic CODE_ID CheckUnicodeWithoutBOM(const uchar * pText, int length);\r\n\tstatic CODE_ID CheckUnicodeWithoutBOM(const uchar * pText, int length, QString & outUnicodeText);\r\n\tstatic bool CheckTextIsAllAscii(const uchar * pText, int length);\r\n};\r\n\r\n"
  },
  {
    "path": "src/LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\r\n                       Version 3, 29 June 2007\r\n\r\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\r\n Everyone is permitted to copy and distribute verbatim copies\r\n of this license document, but changing it is not allowed.\r\n\r\n                            Preamble\r\n\r\n  The GNU General Public License is a free, copyleft license for\r\nsoftware and other kinds of works.\r\n\r\n  The licenses for most software and other practical works are designed\r\nto take away your freedom to share and change the works.  By contrast,\r\nthe GNU General Public License is intended to guarantee your freedom to\r\nshare and change all versions of a program--to make sure it remains free\r\nsoftware for all its users.  We, the Free Software Foundation, use the\r\nGNU General Public License for most of our software; it applies also to\r\nany other work released this way by its authors.  You can apply it to\r\nyour programs, too.\r\n\r\n  When we speak of free software, we are referring to freedom, not\r\nprice.  Our General Public Licenses are designed to make sure that you\r\nhave the freedom to distribute copies of free software (and charge for\r\nthem if you wish), that you receive source code or can get it if you\r\nwant it, that you can change the software or use pieces of it in new\r\nfree programs, and that you know you can do these things.\r\n\r\n  To protect your rights, we need to prevent others from denying you\r\nthese rights or asking you to surrender the rights.  Therefore, you have\r\ncertain responsibilities if you distribute copies of the software, or if\r\nyou modify it: responsibilities to respect the freedom of others.\r\n\r\n  For example, if you distribute copies of such a program, whether\r\ngratis or for a fee, you must pass on to the recipients the same\r\nfreedoms that you received.  You must make sure that they, too, receive\r\nor can get the source code.  And you must show them these terms so they\r\nknow their rights.\r\n\r\n  Developers that use the GNU GPL protect your rights with two steps:\r\n(1) assert copyright on the software, and (2) offer you this License\r\ngiving you legal permission to copy, distribute and/or modify it.\r\n\r\n  For the developers' and authors' protection, the GPL clearly explains\r\nthat there is no warranty for this free software.  For both users' and\r\nauthors' sake, the GPL requires that modified versions be marked as\r\nchanged, so that their problems will not be attributed erroneously to\r\nauthors of previous versions.\r\n\r\n  Some devices are designed to deny users access to install or run\r\nmodified versions of the software inside them, although the manufacturer\r\ncan do so.  This is fundamentally incompatible with the aim of\r\nprotecting users' freedom to change the software.  The systematic\r\npattern of such abuse occurs in the area of products for individuals to\r\nuse, which is precisely where it is most unacceptable.  Therefore, we\r\nhave designed this version of the GPL to prohibit the practice for those\r\nproducts.  If such problems arise substantially in other domains, we\r\nstand ready to extend this provision to those domains in future versions\r\nof the GPL, as needed to protect the freedom of users.\r\n\r\n  Finally, every program is threatened constantly by software patents.\r\nStates should not allow patents to restrict development and use of\r\nsoftware on general-purpose computers, but in those that do, we wish to\r\navoid the special danger that patents applied to a free program could\r\nmake it effectively proprietary.  To prevent this, the GPL assures that\r\npatents cannot be used to render the program non-free.\r\n\r\n  The precise terms and conditions for copying, distribution and\r\nmodification follow.\r\n\r\n                       TERMS AND CONDITIONS\r\n\r\n  0. Definitions.\r\n\r\n  \"This License\" refers to version 3 of the GNU General Public License.\r\n\r\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\r\nworks, such as semiconductor masks.\r\n\r\n  \"The Program\" refers to any copyrightable work licensed under this\r\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\r\n\"recipients\" may be individuals or organizations.\r\n\r\n  To \"modify\" a work means to copy from or adapt all or part of the work\r\nin a fashion requiring copyright permission, other than the making of an\r\nexact copy.  The resulting work is called a \"modified version\" of the\r\nearlier work or a work \"based on\" the earlier work.\r\n\r\n  A \"covered work\" means either the unmodified Program or a work based\r\non the Program.\r\n\r\n  To \"propagate\" a work means to do anything with it that, without\r\npermission, would make you directly or secondarily liable for\r\ninfringement under applicable copyright law, except executing it on a\r\ncomputer or modifying a private copy.  Propagation includes copying,\r\ndistribution (with or without modification), making available to the\r\npublic, and in some countries other activities as well.\r\n\r\n  To \"convey\" a work means any kind of propagation that enables other\r\nparties to make or receive copies.  Mere interaction with a user through\r\na computer network, with no transfer of a copy, is not conveying.\r\n\r\n  An interactive user interface displays \"Appropriate Legal Notices\"\r\nto the extent that it includes a convenient and prominently visible\r\nfeature that (1) displays an appropriate copyright notice, and (2)\r\ntells the user that there is no warranty for the work (except to the\r\nextent that warranties are provided), that licensees may convey the\r\nwork under this License, and how to view a copy of this License.  If\r\nthe interface presents a list of user commands or options, such as a\r\nmenu, a prominent item in the list meets this criterion.\r\n\r\n  1. Source Code.\r\n\r\n  The \"source code\" for a work means the preferred form of the work\r\nfor making modifications to it.  \"Object code\" means any non-source\r\nform of a work.\r\n\r\n  A \"Standard Interface\" means an interface that either is an official\r\nstandard defined by a recognized standards body, or, in the case of\r\ninterfaces specified for a particular programming language, one that\r\nis widely used among developers working in that language.\r\n\r\n  The \"System Libraries\" of an executable work include anything, other\r\nthan the work as a whole, that (a) is included in the normal form of\r\npackaging a Major Component, but which is not part of that Major\r\nComponent, and (b) serves only to enable use of the work with that\r\nMajor Component, or to implement a Standard Interface for which an\r\nimplementation is available to the public in source code form.  A\r\n\"Major Component\", in this context, means a major essential component\r\n(kernel, window system, and so on) of the specific operating system\r\n(if any) on which the executable work runs, or a compiler used to\r\nproduce the work, or an object code interpreter used to run it.\r\n\r\n  The \"Corresponding Source\" for a work in object code form means all\r\nthe source code needed to generate, install, and (for an executable\r\nwork) run the object code and to modify the work, including scripts to\r\ncontrol those activities.  However, it does not include the work's\r\nSystem Libraries, or general-purpose tools or generally available free\r\nprograms which are used unmodified in performing those activities but\r\nwhich are not part of the work.  For example, Corresponding Source\r\nincludes interface definition files associated with source files for\r\nthe work, and the source code for shared libraries and dynamically\r\nlinked subprograms that the work is specifically designed to require,\r\nsuch as by intimate data communication or control flow between those\r\nsubprograms and other parts of the work.\r\n\r\n  The Corresponding Source need not include anything that users\r\ncan regenerate automatically from other parts of the Corresponding\r\nSource.\r\n\r\n  The Corresponding Source for a work in source code form is that\r\nsame work.\r\n\r\n  2. Basic Permissions.\r\n\r\n  All rights granted under this License are granted for the term of\r\ncopyright on the Program, and are irrevocable provided the stated\r\nconditions are met.  This License explicitly affirms your unlimited\r\npermission to run the unmodified Program.  The output from running a\r\ncovered work is covered by this License only if the output, given its\r\ncontent, constitutes a covered work.  This License acknowledges your\r\nrights of fair use or other equivalent, as provided by copyright law.\r\n\r\n  You may make, run and propagate covered works that you do not\r\nconvey, without conditions so long as your license otherwise remains\r\nin force.  You may convey covered works to others for the sole purpose\r\nof having them make modifications exclusively for you, or provide you\r\nwith facilities for running those works, provided that you comply with\r\nthe terms of this License in conveying all material for which you do\r\nnot control copyright.  Those thus making or running the covered works\r\nfor you must do so exclusively on your behalf, under your direction\r\nand control, on terms that prohibit them from making any copies of\r\nyour copyrighted material outside their relationship with you.\r\n\r\n  Conveying under any other circumstances is permitted solely under\r\nthe conditions stated below.  Sublicensing is not allowed; section 10\r\nmakes it unnecessary.\r\n\r\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\r\n\r\n  No covered work shall be deemed part of an effective technological\r\nmeasure under any applicable law fulfilling obligations under article\r\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\r\nsimilar laws prohibiting or restricting circumvention of such\r\nmeasures.\r\n\r\n  When you convey a covered work, you waive any legal power to forbid\r\ncircumvention of technological measures to the extent such circumvention\r\nis effected by exercising rights under this License with respect to\r\nthe covered work, and you disclaim any intention to limit operation or\r\nmodification of the work as a means of enforcing, against the work's\r\nusers, your or third parties' legal rights to forbid circumvention of\r\ntechnological measures.\r\n\r\n  4. Conveying Verbatim Copies.\r\n\r\n  You may convey verbatim copies of the Program's source code as you\r\nreceive it, in any medium, provided that you conspicuously and\r\nappropriately publish on each copy an appropriate copyright notice;\r\nkeep intact all notices stating that this License and any\r\nnon-permissive terms added in accord with section 7 apply to the code;\r\nkeep intact all notices of the absence of any warranty; and give all\r\nrecipients a copy of this License along with the Program.\r\n\r\n  You may charge any price or no price for each copy that you convey,\r\nand you may offer support or warranty protection for a fee.\r\n\r\n  5. Conveying Modified Source Versions.\r\n\r\n  You may convey a work based on the Program, or the modifications to\r\nproduce it from the Program, in the form of source code under the\r\nterms of section 4, provided that you also meet all of these conditions:\r\n\r\n    a) The work must carry prominent notices stating that you modified\r\n    it, and giving a relevant date.\r\n\r\n    b) The work must carry prominent notices stating that it is\r\n    released under this License and any conditions added under section\r\n    7.  This requirement modifies the requirement in section 4 to\r\n    \"keep intact all notices\".\r\n\r\n    c) You must license the entire work, as a whole, under this\r\n    License to anyone who comes into possession of a copy.  This\r\n    License will therefore apply, along with any applicable section 7\r\n    additional terms, to the whole of the work, and all its parts,\r\n    regardless of how they are packaged.  This License gives no\r\n    permission to license the work in any other way, but it does not\r\n    invalidate such permission if you have separately received it.\r\n\r\n    d) If the work has interactive user interfaces, each must display\r\n    Appropriate Legal Notices; however, if the Program has interactive\r\n    interfaces that do not display Appropriate Legal Notices, your\r\n    work need not make them do so.\r\n\r\n  A compilation of a covered work with other separate and independent\r\nworks, which are not by their nature extensions of the covered work,\r\nand which are not combined with it such as to form a larger program,\r\nin or on a volume of a storage or distribution medium, is called an\r\n\"aggregate\" if the compilation and its resulting copyright are not\r\nused to limit the access or legal rights of the compilation's users\r\nbeyond what the individual works permit.  Inclusion of a covered work\r\nin an aggregate does not cause this License to apply to the other\r\nparts of the aggregate.\r\n\r\n  6. Conveying Non-Source Forms.\r\n\r\n  You may convey a covered work in object code form under the terms\r\nof sections 4 and 5, provided that you also convey the\r\nmachine-readable Corresponding Source under the terms of this License,\r\nin one of these ways:\r\n\r\n    a) Convey the object code in, or embodied in, a physical product\r\n    (including a physical distribution medium), accompanied by the\r\n    Corresponding Source fixed on a durable physical medium\r\n    customarily used for software interchange.\r\n\r\n    b) Convey the object code in, or embodied in, a physical product\r\n    (including a physical distribution medium), accompanied by a\r\n    written offer, valid for at least three years and valid for as\r\n    long as you offer spare parts or customer support for that product\r\n    model, to give anyone who possesses the object code either (1) a\r\n    copy of the Corresponding Source for all the software in the\r\n    product that is covered by this License, on a durable physical\r\n    medium customarily used for software interchange, for a price no\r\n    more than your reasonable cost of physically performing this\r\n    conveying of source, or (2) access to copy the\r\n    Corresponding Source from a network server at no charge.\r\n\r\n    c) Convey individual copies of the object code with a copy of the\r\n    written offer to provide the Corresponding Source.  This\r\n    alternative is allowed only occasionally and noncommercially, and\r\n    only if you received the object code with such an offer, in accord\r\n    with subsection 6b.\r\n\r\n    d) Convey the object code by offering access from a designated\r\n    place (gratis or for a charge), and offer equivalent access to the\r\n    Corresponding Source in the same way through the same place at no\r\n    further charge.  You need not require recipients to copy the\r\n    Corresponding Source along with the object code.  If the place to\r\n    copy the object code is a network server, the Corresponding Source\r\n    may be on a different server (operated by you or a third party)\r\n    that supports equivalent copying facilities, provided you maintain\r\n    clear directions next to the object code saying where to find the\r\n    Corresponding Source.  Regardless of what server hosts the\r\n    Corresponding Source, you remain obligated to ensure that it is\r\n    available for as long as needed to satisfy these requirements.\r\n\r\n    e) Convey the object code using peer-to-peer transmission, provided\r\n    you inform other peers where the object code and Corresponding\r\n    Source of the work are being offered to the general public at no\r\n    charge under subsection 6d.\r\n\r\n  A separable portion of the object code, whose source code is excluded\r\nfrom the Corresponding Source as a System Library, need not be\r\nincluded in conveying the object code work.\r\n\r\n  A \"User Product\" is either (1) a \"consumer product\", which means any\r\ntangible personal property which is normally used for personal, family,\r\nor household purposes, or (2) anything designed or sold for incorporation\r\ninto a dwelling.  In determining whether a product is a consumer product,\r\ndoubtful cases shall be resolved in favor of coverage.  For a particular\r\nproduct received by a particular user, \"normally used\" refers to a\r\ntypical or common use of that class of product, regardless of the status\r\nof the particular user or of the way in which the particular user\r\nactually uses, or expects or is expected to use, the product.  A product\r\nis a consumer product regardless of whether the product has substantial\r\ncommercial, industrial or non-consumer uses, unless such uses represent\r\nthe only significant mode of use of the product.\r\n\r\n  \"Installation Information\" for a User Product means any methods,\r\nprocedures, authorization keys, or other information required to install\r\nand execute modified versions of a covered work in that User Product from\r\na modified version of its Corresponding Source.  The information must\r\nsuffice to ensure that the continued functioning of the modified object\r\ncode is in no case prevented or interfered with solely because\r\nmodification has been made.\r\n\r\n  If you convey an object code work under this section in, or with, or\r\nspecifically for use in, a User Product, and the conveying occurs as\r\npart of a transaction in which the right of possession and use of the\r\nUser Product is transferred to the recipient in perpetuity or for a\r\nfixed term (regardless of how the transaction is characterized), the\r\nCorresponding Source conveyed under this section must be accompanied\r\nby the Installation Information.  But this requirement does not apply\r\nif neither you nor any third party retains the ability to install\r\nmodified object code on the User Product (for example, the work has\r\nbeen installed in ROM).\r\n\r\n  The requirement to provide Installation Information does not include a\r\nrequirement to continue to provide support service, warranty, or updates\r\nfor a work that has been modified or installed by the recipient, or for\r\nthe User Product in which it has been modified or installed.  Access to a\r\nnetwork may be denied when the modification itself materially and\r\nadversely affects the operation of the network or violates the rules and\r\nprotocols for communication across the network.\r\n\r\n  Corresponding Source conveyed, and Installation Information provided,\r\nin accord with this section must be in a format that is publicly\r\ndocumented (and with an implementation available to the public in\r\nsource code form), and must require no special password or key for\r\nunpacking, reading or copying.\r\n\r\n  7. Additional Terms.\r\n\r\n  \"Additional permissions\" are terms that supplement the terms of this\r\nLicense by making exceptions from one or more of its conditions.\r\nAdditional permissions that are applicable to the entire Program shall\r\nbe treated as though they were included in this License, to the extent\r\nthat they are valid under applicable law.  If additional permissions\r\napply only to part of the Program, that part may be used separately\r\nunder those permissions, but the entire Program remains governed by\r\nthis License without regard to the additional permissions.\r\n\r\n  When you convey a copy of a covered work, you may at your option\r\nremove any additional permissions from that copy, or from any part of\r\nit.  (Additional permissions may be written to require their own\r\nremoval in certain cases when you modify the work.)  You may place\r\nadditional permissions on material, added by you to a covered work,\r\nfor which you have or can give appropriate copyright permission.\r\n\r\n  Notwithstanding any other provision of this License, for material you\r\nadd to a covered work, you may (if authorized by the copyright holders of\r\nthat material) supplement the terms of this License with terms:\r\n\r\n    a) Disclaiming warranty or limiting liability differently from the\r\n    terms of sections 15 and 16 of this License; or\r\n\r\n    b) Requiring preservation of specified reasonable legal notices or\r\n    author attributions in that material or in the Appropriate Legal\r\n    Notices displayed by works containing it; or\r\n\r\n    c) Prohibiting misrepresentation of the origin of that material, or\r\n    requiring that modified versions of such material be marked in\r\n    reasonable ways as different from the original version; or\r\n\r\n    d) Limiting the use for publicity purposes of names of licensors or\r\n    authors of the material; or\r\n\r\n    e) Declining to grant rights under trademark law for use of some\r\n    trade names, trademarks, or service marks; or\r\n\r\n    f) Requiring indemnification of licensors and authors of that\r\n    material by anyone who conveys the material (or modified versions of\r\n    it) with contractual assumptions of liability to the recipient, for\r\n    any liability that these contractual assumptions directly impose on\r\n    those licensors and authors.\r\n\r\n  All other non-permissive additional terms are considered \"further\r\nrestrictions\" within the meaning of section 10.  If the Program as you\r\nreceived it, or any part of it, contains a notice stating that it is\r\ngoverned by this License along with a term that is a further\r\nrestriction, you may remove that term.  If a license document contains\r\na further restriction but permits relicensing or conveying under this\r\nLicense, you may add to a covered work material governed by the terms\r\nof that license document, provided that the further restriction does\r\nnot survive such relicensing or conveying.\r\n\r\n  If you add terms to a covered work in accord with this section, you\r\nmust place, in the relevant source files, a statement of the\r\nadditional terms that apply to those files, or a notice indicating\r\nwhere to find the applicable terms.\r\n\r\n  Additional terms, permissive or non-permissive, may be stated in the\r\nform of a separately written license, or stated as exceptions;\r\nthe above requirements apply either way.\r\n\r\n  8. Termination.\r\n\r\n  You may not propagate or modify a covered work except as expressly\r\nprovided under this License.  Any attempt otherwise to propagate or\r\nmodify it is void, and will automatically terminate your rights under\r\nthis License (including any patent licenses granted under the third\r\nparagraph of section 11).\r\n\r\n  However, if you cease all violation of this License, then your\r\nlicense from a particular copyright holder is reinstated (a)\r\nprovisionally, unless and until the copyright holder explicitly and\r\nfinally terminates your license, and (b) permanently, if the copyright\r\nholder fails to notify you of the violation by some reasonable means\r\nprior to 60 days after the cessation.\r\n\r\n  Moreover, your license from a particular copyright holder is\r\nreinstated permanently if the copyright holder notifies you of the\r\nviolation by some reasonable means, this is the first time you have\r\nreceived notice of violation of this License (for any work) from that\r\ncopyright holder, and you cure the violation prior to 30 days after\r\nyour receipt of the notice.\r\n\r\n  Termination of your rights under this section does not terminate the\r\nlicenses of parties who have received copies or rights from you under\r\nthis License.  If your rights have been terminated and not permanently\r\nreinstated, you do not qualify to receive new licenses for the same\r\nmaterial under section 10.\r\n\r\n  9. Acceptance Not Required for Having Copies.\r\n\r\n  You are not required to accept this License in order to receive or\r\nrun a copy of the Program.  Ancillary propagation of a covered work\r\noccurring solely as a consequence of using peer-to-peer transmission\r\nto receive a copy likewise does not require acceptance.  However,\r\nnothing other than this License grants you permission to propagate or\r\nmodify any covered work.  These actions infringe copyright if you do\r\nnot accept this License.  Therefore, by modifying or propagating a\r\ncovered work, you indicate your acceptance of this License to do so.\r\n\r\n  10. Automatic Licensing of Downstream Recipients.\r\n\r\n  Each time you convey a covered work, the recipient automatically\r\nreceives a license from the original licensors, to run, modify and\r\npropagate that work, subject to this License.  You are not responsible\r\nfor enforcing compliance by third parties with this License.\r\n\r\n  An \"entity transaction\" is a transaction transferring control of an\r\norganization, or substantially all assets of one, or subdividing an\r\norganization, or merging organizations.  If propagation of a covered\r\nwork results from an entity transaction, each party to that\r\ntransaction who receives a copy of the work also receives whatever\r\nlicenses to the work the party's predecessor in interest had or could\r\ngive under the previous paragraph, plus a right to possession of the\r\nCorresponding Source of the work from the predecessor in interest, if\r\nthe predecessor has it or can get it with reasonable efforts.\r\n\r\n  You may not impose any further restrictions on the exercise of the\r\nrights granted or affirmed under this License.  For example, you may\r\nnot impose a license fee, royalty, or other charge for exercise of\r\nrights granted under this License, and you may not initiate litigation\r\n(including a cross-claim or counterclaim in a lawsuit) alleging that\r\nany patent claim is infringed by making, using, selling, offering for\r\nsale, or importing the Program or any portion of it.\r\n\r\n  11. Patents.\r\n\r\n  A \"contributor\" is a copyright holder who authorizes use under this\r\nLicense of the Program or a work on which the Program is based.  The\r\nwork thus licensed is called the contributor's \"contributor version\".\r\n\r\n  A contributor's \"essential patent claims\" are all patent claims\r\nowned or controlled by the contributor, whether already acquired or\r\nhereafter acquired, that would be infringed by some manner, permitted\r\nby this License, of making, using, or selling its contributor version,\r\nbut do not include claims that would be infringed only as a\r\nconsequence of further modification of the contributor version.  For\r\npurposes of this definition, \"control\" includes the right to grant\r\npatent sublicenses in a manner consistent with the requirements of\r\nthis License.\r\n\r\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\r\npatent license under the contributor's essential patent claims, to\r\nmake, use, sell, offer for sale, import and otherwise run, modify and\r\npropagate the contents of its contributor version.\r\n\r\n  In the following three paragraphs, a \"patent license\" is any express\r\nagreement or commitment, however denominated, not to enforce a patent\r\n(such as an express permission to practice a patent or covenant not to\r\nsue for patent infringement).  To \"grant\" such a patent license to a\r\nparty means to make such an agreement or commitment not to enforce a\r\npatent against the party.\r\n\r\n  If you convey a covered work, knowingly relying on a patent license,\r\nand the Corresponding Source of the work is not available for anyone\r\nto copy, free of charge and under the terms of this License, through a\r\npublicly available network server or other readily accessible means,\r\nthen you must either (1) cause the Corresponding Source to be so\r\navailable, or (2) arrange to deprive yourself of the benefit of the\r\npatent license for this particular work, or (3) arrange, in a manner\r\nconsistent with the requirements of this License, to extend the patent\r\nlicense to downstream recipients.  \"Knowingly relying\" means you have\r\nactual knowledge that, but for the patent license, your conveying the\r\ncovered work in a country, or your recipient's use of the covered work\r\nin a country, would infringe one or more identifiable patents in that\r\ncountry that you have reason to believe are valid.\r\n\r\n  If, pursuant to or in connection with a single transaction or\r\narrangement, you convey, or propagate by procuring conveyance of, a\r\ncovered work, and grant a patent license to some of the parties\r\nreceiving the covered work authorizing them to use, propagate, modify\r\nor convey a specific copy of the covered work, then the patent license\r\nyou grant is automatically extended to all recipients of the covered\r\nwork and works based on it.\r\n\r\n  A patent license is \"discriminatory\" if it does not include within\r\nthe scope of its coverage, prohibits the exercise of, or is\r\nconditioned on the non-exercise of one or more of the rights that are\r\nspecifically granted under this License.  You may not convey a covered\r\nwork if you are a party to an arrangement with a third party that is\r\nin the business of distributing software, under which you make payment\r\nto the third party based on the extent of your activity of conveying\r\nthe work, and under which the third party grants, to any of the\r\nparties who would receive the covered work from you, a discriminatory\r\npatent license (a) in connection with copies of the covered work\r\nconveyed by you (or copies made from those copies), or (b) primarily\r\nfor and in connection with specific products or compilations that\r\ncontain the covered work, unless you entered into that arrangement,\r\nor that patent license was granted, prior to 28 March 2007.\r\n\r\n  Nothing in this License shall be construed as excluding or limiting\r\nany implied license or other defenses to infringement that may\r\notherwise be available to you under applicable patent law.\r\n\r\n  12. No Surrender of Others' Freedom.\r\n\r\n  If conditions are imposed on you (whether by court order, agreement or\r\notherwise) that contradict the conditions of this License, they do not\r\nexcuse you from the conditions of this License.  If you cannot convey a\r\ncovered work so as to satisfy simultaneously your obligations under this\r\nLicense and any other pertinent obligations, then as a consequence you may\r\nnot convey it at all.  For example, if you agree to terms that obligate you\r\nto collect a royalty for further conveying from those to whom you convey\r\nthe Program, the only way you could satisfy both those terms and this\r\nLicense would be to refrain entirely from conveying the Program.\r\n\r\n  13. Use with the GNU Affero General Public License.\r\n\r\n  Notwithstanding any other provision of this License, you have\r\npermission to link or combine any covered work with a work licensed\r\nunder version 3 of the GNU Affero General Public License into a single\r\ncombined work, and to convey the resulting work.  The terms of this\r\nLicense will continue to apply to the part which is the covered work,\r\nbut the special requirements of the GNU Affero General Public License,\r\nsection 13, concerning interaction through a network will apply to the\r\ncombination as such.\r\n\r\n  14. Revised Versions of this License.\r\n\r\n  The Free Software Foundation may publish revised and/or new versions of\r\nthe GNU General Public License from time to time.  Such new versions will\r\nbe similar in spirit to the present version, but may differ in detail to\r\naddress new problems or concerns.\r\n\r\n  Each version is given a distinguishing version number.  If the\r\nProgram specifies that a certain numbered version of the GNU General\r\nPublic License \"or any later version\" applies to it, you have the\r\noption of following the terms and conditions either of that numbered\r\nversion or of any later version published by the Free Software\r\nFoundation.  If the Program does not specify a version number of the\r\nGNU General Public License, you may choose any version ever published\r\nby the Free Software Foundation.\r\n\r\n  If the Program specifies that a proxy can decide which future\r\nversions of the GNU General Public License can be used, that proxy's\r\npublic statement of acceptance of a version permanently authorizes you\r\nto choose that version for the Program.\r\n\r\n  Later license versions may give you additional or different\r\npermissions.  However, no additional obligations are imposed on any\r\nauthor or copyright holder as a result of your choosing to follow a\r\nlater version.\r\n\r\n  15. Disclaimer of Warranty.\r\n\r\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\r\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\r\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\r\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\r\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\r\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\r\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\r\n\r\n  16. Limitation of Liability.\r\n\r\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\r\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\r\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\r\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\r\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\r\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\r\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\r\nSUCH DAMAGES.\r\n\r\n  17. Interpretation of Sections 15 and 16.\r\n\r\n  If the disclaimer of warranty and limitation of liability provided\r\nabove cannot be given local legal effect according to their terms,\r\nreviewing courts shall apply local law that most closely approximates\r\nan absolute waiver of all civil liability in connection with the\r\nProgram, unless a warranty or assumption of liability accompanies a\r\ncopy of the Program in return for a fee.\r\n\r\n                     END OF TERMS AND CONDITIONS\r\n\r\n            How to Apply These Terms to Your New Programs\r\n\r\n  If you develop a new program, and you want it to be of the greatest\r\npossible use to the public, the best way to achieve this is to make it\r\nfree software which everyone can redistribute and change under these terms.\r\n\r\n  To do so, attach the following notices to the program.  It is safest\r\nto attach them to the start of each source file to most effectively\r\nstate the exclusion of warranty; and each file should have at least\r\nthe \"copyright\" line and a pointer to where the full notice is found.\r\n\r\n    <one line to give the program's name and a brief idea of what it does.>\r\n    Copyright (C) <year>  <name of author>\r\n\r\n    This program is free software: you can redistribute it and/or modify\r\n    it under the terms of the GNU General Public License as published by\r\n    the Free Software Foundation, either version 3 of the License, or\r\n    (at your option) any later version.\r\n\r\n    This program is distributed in the hope that it will be useful,\r\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n    GNU General Public License for more details.\r\n\r\n    You should have received a copy of the GNU General Public License\r\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n\r\nAlso add information on how to contact you by electronic and paper mail.\r\n\r\n  If the program does terminal interaction, make it output a short\r\nnotice like this when it starts in an interactive mode:\r\n\r\n    <program>  Copyright (C) <year>  <name of author>\r\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\r\n    This is free software, and you are welcome to redistribute it\r\n    under certain conditions; type `show c' for details.\r\n\r\nThe hypothetical commands `show w' and `show c' should show the appropriate\r\nparts of the General Public License.  Of course, your program's commands\r\nmight be different; for a GUI interface, you would use an \"about box\".\r\n\r\n  You should also get your employer (if you work as a programmer) or school,\r\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\r\nFor more information on this, and how to apply and follow the GNU GPL, see\r\n<http://www.gnu.org/licenses/>.\r\n\r\n  The GNU General Public License does not permit incorporating your program\r\ninto proprietary programs.  If your program is a subroutine library, you\r\nmay consider it more useful to permit linking proprietary applications with\r\nthe library.  If this is what you want to do, use the GNU Lesser General\r\nPublic License instead of this License.  But first, please read\r\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\r\n"
  },
  {
    "path": "src/MediatorDisplay.cpp",
    "content": "﻿#include \"MediatorDisplay.h\"\r\n\r\n\r\n//这里如果直接让左右互相同步，互相影响，可能导致混乱。需要一个中间调停者模式，作为中间人去控制同步消息\r\n//中介者模式意图：用一个中介对象来封装一系列的对象交互，中介者使各对象不需要显式地相互引用，从而使其耦合松散，而且可以独立地改变它们之间的交互。\r\n//主要解决：对象与对象之间存在大量的关联关系，这样势必会导致系统的结构变得很复杂，同时若一个对象发生改变，我们也需要跟踪与之相关联的对象，同时做出相应的处理。\r\n//之前不使用该模式时，左右显示同步互相交互，时而发生消息混乱\r\n\r\nMediatorDisplay::MediatorDisplay():QObject(nullptr)\r\n{\r\n\tm_leftLineNum = 0;\r\n\tm_rightLineNum = 0;\r\n\tm_leftScrollValue = 0;\r\n\tm_rightScrollValue = 0;\r\n\r\n}\r\n\r\nMediatorDisplay::~MediatorDisplay()\r\n{\r\n}\r\n\r\nvoid MediatorDisplay::setLeftNum(int value)\r\n{\r\n\t m_leftLineNum = value;\r\n\t if (m_leftLineNum != m_rightLineNum)\r\n\t {\r\n\t\t emit syncCurLineNum(0);\r\n\t }\r\n\t\r\n}\r\n\r\nvoid MediatorDisplay::setRightNum(int value)\r\n{\r\n\tm_rightLineNum = value;\r\n\tif (m_leftLineNum != m_rightLineNum)\r\n\t{\r\n\t\temit syncCurLineNum(1);\r\n\t}\r\n}\r\n\r\nint MediatorDisplay::getLeftNum()\r\n{\r\n\treturn m_leftLineNum;\r\n}\r\n\r\nint MediatorDisplay::getRightNum()\r\n{\r\n\treturn m_rightLineNum;\r\n}\r\n\r\nvoid MediatorDisplay::setLeftScrollValue(int value)\r\n{\r\n\tif (m_leftScrollValue != value)\r\n\t{\r\n\t\tm_leftScrollValue = value;\r\n\t}\r\n\t\r\n\r\n\t//如果左右不相等，则推动对方去同步\r\n\tif (m_leftScrollValue != m_rightScrollValue)\r\n\t{\r\n\t\temit syncCurScrollValue(0);\r\n\t}\r\n\r\n}\r\n\r\nvoid MediatorDisplay::setRightScrollValue(int value)\r\n{\r\n\tif (m_rightScrollValue != value)\r\n\t{\r\n\t\tm_rightScrollValue = value;\r\n\t}\r\n\t\r\n\r\n\tif (m_leftScrollValue != m_rightScrollValue)\r\n\t{\r\n\t\temit syncCurScrollValue(1);\r\n\t}\r\n}\r\n\r\nint MediatorDisplay::getLeftScrollValue()\r\n{\r\n\treturn m_leftScrollValue;\r\n}\r\n\r\nint MediatorDisplay::getRightScrollValue()\r\n{\r\n\treturn m_rightScrollValue;\r\n}\r\n\r\n\r\nvoid MediatorDisplay::setLeftScrollXValue(int value)\r\n{\r\n\tif (m_leftScrollXValue != value)\r\n\t{\r\n\t\tm_leftScrollXValue = value;\r\n\t}\r\n\r\n\r\n\t//如果左右不相等，则推动对方去同步\r\n\tif (m_leftScrollXValue != m_rightScrollXValue)\r\n\t{\r\n\t\temit syncCurScrollXValue(0);\r\n\t}\r\n\r\n}\r\n\r\nvoid MediatorDisplay::setRightScrollXValue(int value)\r\n{\r\n\tif (m_rightScrollXValue != value)\r\n\t{\r\n\t\tm_rightScrollXValue = value;\r\n\t}\r\n\r\n\r\n\tif (m_leftScrollXValue != m_rightScrollXValue)\r\n\t{\r\n\t\temit syncCurScrollXValue(1);\r\n\t}\r\n}\r\n\r\nint MediatorDisplay::getLeftScrollXValue()\r\n{\r\n\treturn m_leftScrollXValue;\r\n}\r\n\r\nint MediatorDisplay::getRightScrollXValue()\r\n{\r\n\treturn m_rightScrollXValue;\r\n}\r\n"
  },
  {
    "path": "src/MediatorDisplay.h",
    "content": "﻿#pragma once\r\n#include <QObject>\r\n\r\nclass MediatorDisplay:public QObject\r\n{\r\n\tQ_OBJECT\r\npublic:\r\n\tMediatorDisplay();\r\n\tvirtual ~MediatorDisplay();\r\n\r\n\tvoid setLeftNum(int value);\r\n\tvoid setRightNum(int value);\r\n\r\n\tint getLeftNum();\r\n\tint getRightNum();\r\n\r\n\tvoid setLeftScrollValue(int value);\r\n\tvoid setRightScrollValue(int value);\r\n\r\n\tint getLeftScrollValue();\r\n\tint getRightScrollValue();\r\n\r\n\tvoid setLeftScrollXValue(int value);\r\n\r\n\tvoid setRightScrollXValue(int value);\r\n\r\n\tint getLeftScrollXValue();\r\n\r\n\tint getRightScrollXValue();\r\n\r\nsignals:\r\n\t//当前行同步\r\n\tvoid syncCurLineNum(int direction);\r\n\r\n\t//滚动条同步\r\n\tvoid syncCurScrollValue(int direction);\r\n\r\n\tvoid syncCurScrollXValue(int direction);\r\n\r\nprivate:\r\n\t//左右当前行的值\r\n\tint m_leftLineNum;\r\n\tint m_rightLineNum;\r\n\r\n\t//左右滚动条的值\r\n\tint m_leftScrollValue;\r\n\tint m_rightScrollValue;\r\n\r\n\t//左右滚动条的值x\r\n\tint m_leftScrollXValue;\r\n\tint m_rightScrollXValue;\r\n};\r\n\r\n"
  },
  {
    "path": "src/MediatorFileTree.cpp",
    "content": "﻿#include \"MediatorFileTree.h\"\r\n\r\n/* 文件夹对比界面的中介者，使用中介者是为了让消息经过中介对象统一调度，避免左右互相依赖导致交互混乱\r\n*/\r\n\r\nMediatorFileTree::MediatorFileTree() :QObject(nullptr)\r\n{\r\n\r\n}\r\n\r\nMediatorFileTree::~MediatorFileTree()\r\n{\r\n\r\n}\r\n\r\nvoid MediatorFileTree::setLeftScrollValue(int value)\r\n{\r\n\tm_leftScrollValue = value;\r\n\r\n\t//如果左右不相等，则推动对方去同步\r\n\tif (m_leftScrollValue != m_rightScrollValue)\r\n\t{\r\n\t\temit syncCurScrollValue(0);\r\n\t}\r\n\r\n}\r\n\r\nvoid MediatorFileTree::setRightScrollValue(int value)\r\n{\r\n\tm_rightScrollValue = value;\r\n\r\n\tif (m_leftScrollValue != m_rightScrollValue)\r\n\t{\r\n\t\temit syncCurScrollValue(1);\r\n\t}\r\n}\r\n\r\nint MediatorFileTree::getLeftScrollValue()\r\n{\r\n\treturn m_leftScrollValue;\r\n}\r\n\r\nint MediatorFileTree::getRightScrollValue()\r\n{\r\n\treturn m_rightScrollValue;\r\n}\r\n\r\n\r\n//设置item。中介本身不保存ITEM，因为太多，发送消息给外面空间\r\nvoid MediatorFileTree::setLeftItemStatus(QString name, int status)\r\n{\r\n\temit syncExpandStatus(name, RC_LEFT, status);\r\n}\r\n\r\nvoid MediatorFileTree::setRightItemStatus(QString name, int status)\r\n{\r\n\temit syncExpandStatus(name, RC_RIGHT, status);\r\n}\r\n"
  },
  {
    "path": "src/MediatorFileTree.h",
    "content": "﻿#pragma once\r\n#include <qobject.h>\r\n#include \"rcglobal.h\"\r\n\r\nclass MediatorFileTree :public QObject\r\n{\r\n\tQ_OBJECT\r\npublic:\r\n\tMediatorFileTree();\r\n\tvirtual ~MediatorFileTree();\r\n\r\n\tvoid setLeftScrollValue(int value);\r\n\tvoid setRightScrollValue(int value);\r\n\tint getLeftScrollValue();\r\n\tint getRightScrollValue();\r\n\r\n\tvoid setLeftItemStatus(QString name, int status);\r\n\tvoid setRightItemStatus(QString name, int status);\r\n\r\n\r\nsignals:\r\n\t//滚动条同步\r\n\tvoid syncCurScrollValue(int direction);\r\n\r\n\t//同步展开和收起状态\r\n\tvoid syncExpandStatus(QString name, int direction, int status);\r\n\r\nprivate:\r\n\tint m_leftScrollValue;\r\n\tint m_rightScrollValue;\r\n};\r\n\r\n"
  },
  {
    "path": "src/QTreeWidgetSortItem.cpp",
    "content": "﻿#include \"QTreeWidgetSortItem.h\"\r\n#include \"rcglobal.h\"\r\n\r\n/* 自己重新实现一个QTreeWidgetSortItem，主要是为了重载函数的排序功能，不适应默认的名字排序，而是使用\r\n* 每个项自带的tip字符串排序。这样做是因为对齐的时候，有些空白对齐项目，并没有名称，就会导致无法排序\r\n*/\r\nint QTreeWidgetSortItem::s_sortType = 0;\r\n\r\nbool QTreeWidgetSortItem::s_syncOrder = false;\r\n\r\nQTreeWidgetSortItem::QTreeWidgetSortItem(int type):QTreeWidgetItem(type)\r\n{\r\n\r\n}\r\n\r\nQTreeWidgetSortItem::QTreeWidgetSortItem(const QStringList &strings, int type):QTreeWidgetItem(strings, type)\r\n{\r\n\r\n}\r\n\r\nQTreeWidgetSortItem::~QTreeWidgetSortItem()\r\n{\r\n\r\n}\r\n\r\nbool QTreeWidgetSortItem::operator<(const QTreeWidgetItem & other) const\r\n{\r\n\tif (s_sortType == 0)\r\n\t{\r\n\t\tif (!s_syncOrder) //按名称排序\r\n\t\t{\r\n\t//目录最大，放在文件前面。都是目录则按照名称排序\r\n\tif ((type() == RC_DIR) && (other.type() == RC_DIR))\r\n\t{\r\n\t\tgoto cmp_name;\r\n\t}\r\n\telse if ((type() == RC_DIR) && (other.type() != RC_DIR))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\telse if ((type() != RC_DIR) && (other.type() == RC_DIR))\r\n\t{\r\n\t\treturn true;\r\n\t}\r\n\r\ncmp_name:\r\n\r\n\tQString a = this->data(0, Item_RelativePath).toString();\r\n\tQString b = other.data(0, Item_RelativePath).toString();\r\n\r\n\t\t\treturn (a.compare(b, Qt::CaseInsensitive) > 0);\r\n}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//同步序号，按序号进行排序\r\n#if 0\r\n\t\t\tif ((type() == RC_DIR) && (other.type() == RC_DIR))\r\n\t\t\t{\r\n\t\t\t\tQString a = this->data(0, Item_RelativePath).toString();\r\n\t\t\t\tQString b = other.data(0, Item_RelativePath).toString();\r\n\r\n\t\t\t\treturn !(a.compare(b, Qt::CaseInsensitive) > 0);\r\n\t\t\t}\r\n\t\t\telse if ((type() == RC_DIR) && (other.type() != RC_DIR))\r\n\t\t\t{\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse if ((type() != RC_DIR) && (other.type() == RC_DIR))\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\tcmp_index:\r\n#endif\r\n\t\t\t//同步对方的操作。\r\n\t\t\tint a = this->data(0, Item_Index).toInt();\r\n\t\t\tint b = other.data(0, Item_Index).toInt();\r\n\r\n\t\t\treturn(a > b);\r\n\t\t}\r\n\t}\r\n\telse if (s_sortType == 1) //按大小排序\r\n\t{\r\n\t\t//目录最大，放在文件前面。都是目录则按照名称排序\r\n\t\tif ((type() == RC_DIR) && (other.type() == RC_DIR))\r\n\t\t{\r\n\r\n\t\t\tqint64 a = this->data(0, DIR_ITEM_MAXSIZE_FILE).toULongLong();\r\n\t\t\tqint64 b = other.data(0, DIR_ITEM_MAXSIZE_FILE).toULongLong(); \r\n\r\n\t\t\treturn(a > b);\r\n#if 0\r\n\t\t\tQString a = this->data(0, Item_RelativePath).toString();\r\n\t\t\tQString b = other.data(0, Item_RelativePath).toString();\r\n\r\n\t\t\treturn (a.compare(b, Qt::CaseInsensitive) > 0);\r\n#endif\r\n\t\t}\r\n\t\telse if ((type() == RC_DIR) && (other.type() != RC_DIR))\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if ((type() != RC_DIR) && (other.type() == RC_DIR))\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tint leftSize = this->text(1).toInt();\r\n\t\tint rightSize = other.text(1).toInt();\r\n\r\n\t\treturn(leftSize > rightSize);\r\n\t}\r\n\telse if (s_sortType == 2) //by 修改日期\r\n\t{\r\n\t\t//目录最大，放在文件前面。都是目录则按照名称排序\r\n\t\tif ((type() == RC_DIR) && (other.type() == RC_DIR))\r\n\t\t{\r\n\t\t\tQString a = this->data(0, Item_RelativePath).toString();\r\n\t\t\tQString b = other.data(0, Item_RelativePath).toString();\r\n\r\n\t\t\treturn (a.compare(b, Qt::CaseInsensitive) > 0);\r\n\t\t}\r\n\t\telse if ((type() == RC_DIR) && (other.type() != RC_DIR))\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if ((type() != RC_DIR) && (other.type() == RC_DIR))\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tQString a = this->text(2);\r\n\t\tQString b = other.text(2);\r\n\r\n\t\treturn(a.compare(b, Qt::CaseInsensitive) > 0);\r\n\t}\r\n\treturn false;\r\n}\r\n"
  },
  {
    "path": "src/QTreeWidgetSortItem.h",
    "content": "﻿#pragma once\r\n#include <qtreewidget.h>\r\nclass QTreeWidgetSortItem : public QTreeWidgetItem\r\n{\r\npublic:\r\n\tQTreeWidgetSortItem(int type);\r\n\tQTreeWidgetSortItem(const QStringList &strings, int type);\r\n\tvirtual ~QTreeWidgetSortItem();\r\n\tvirtual bool operator<(const QTreeWidgetItem &other) const override;\r\n\r\n\tstatic void setSortColumn(int index)\r\n\t{\r\n\t\ts_sortType = index;\r\n\t}\r\n\tstatic void setSyncOrder(bool v)\r\n\t{\r\n\t\ts_syncOrder = v;\r\n\t}\r\nprivate :\r\n\tstatic int s_sortType;\r\n\tstatic bool s_syncOrder;\r\n};\r\n\r\n"
  },
  {
    "path": "src/RcTreeWidget.cpp",
    "content": "﻿#include \"RcTreeWidget.h\"\r\n#include \"MediatorFileTree.h\"\r\n\r\n#include <QScrollBar>\r\n#include <QMenu>\r\n#include <QProcess>\r\n\r\nRcTreeWidget::RcTreeWidget(QWidget *parent):QTreeWidget(parent), m_userAddMenu(nullptr)\r\n{\r\n\r\n\tconnect(this->verticalScrollBar(), &QScrollBar::valueChanged, this, &RcTreeWidget::slot_scrollValueChange);\r\n\r\n\t//收起和伸开子项\r\n\tconnect(this, &QTreeWidget::itemCollapsed, this, &RcTreeWidget::slot_itemCollapsed);\r\n\tconnect(this, &QTreeWidget::itemExpanded, this, &RcTreeWidget::slot_itemExpanded);\r\n\r\n\tsetContextMenuPolicy(Qt::CustomContextMenu);  //设置枚举值\r\n\tconnect(this, &QTreeWidget::customContextMenuRequested, this, &RcTreeWidget::slot_ShowPopMenu);\r\n}\r\n\r\nRcTreeWidget::~RcTreeWidget()\r\n{\r\n\r\n}\r\n\r\n//给用户进行菜单增加的回调函数\r\nvoid RcTreeWidget::setContextUserDefineItemMenuCallBack(std::function<void(int dire,QMenu*, QTreeWidgetItem*)>* userAddMenu)\r\n{\r\n\tm_userAddMenu = userAddMenu;\r\n}\r\n\r\n\r\n//右键菜单\r\nvoid RcTreeWidget::slot_ShowPopMenu(const QPoint& pos)\r\n{\r\n\tQTreeWidgetItem* curItem = this->itemAt(pos);\r\n\tif (curItem != nullptr)\r\n\t{\r\n\t\t\r\n\t\tQMenu* menu = new QMenu(this);\r\n\r\n\t\tif (m_userAddMenu != nullptr)\r\n\t\t{\r\n\t\t\t(*m_userAddMenu)(m_direction, menu, curItem);\r\n\t\t}\r\n\r\n\t\tQAction* action = menu->addAction(tr(\"Show File in Explorer\"), this, [&]() {\r\n\t\t\tQString path = QString(\"%1/%2\").arg(m_rootDir).arg(curItem->data(0, Qt::ToolTipRole).toString());\r\n\t\t\tshowFileInExplorer(path);\r\n\t\r\n\t\t\t});\r\n\r\n\t\t//没有名称表示是对齐的item，不存在对应的文件，只是占位\r\n\t\tif (curItem->text(0).isEmpty())\r\n\t\t{\r\n\t\t\taction->setEnabled(false);\r\n\t\t}\r\n\r\n\t\tif (menu)\r\n\t\t{\r\n\t\t\tmenu->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\t\tmenu->exec(QCursor::pos());\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n//点击收起的槽函数\r\nvoid RcTreeWidget::slot_itemCollapsed(QTreeWidgetItem *item)\r\n{\r\n\tQString name = item->data(0, Qt::ToolTipRole).toString();\r\n\t//左边变化，通知右边去改变\r\n\tif (m_direction == RC_LEFT)\r\n\t{\r\n\t\t//通知右边去收起\r\n\t\tm_mediator->setRightItemStatus(name,RC_COLLAPSED);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//通知左边去收起\r\n\t\tm_mediator->setLeftItemStatus(name, RC_COLLAPSED);\r\n\t}\r\n}\r\n\r\n//点击展开的槽函数\r\nvoid RcTreeWidget::slot_itemExpanded(QTreeWidgetItem *item)\r\n{\r\n\tQString name = item->data(0, Qt::ToolTipRole).toString();\r\n\r\n\t//左边变化，通知右边去改变\r\n\tif (m_direction == RC_LEFT)\r\n\t{\r\n\t\t//右边展开\r\n\t\tm_mediator->setRightItemStatus(name, RC_EXPANDED);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//左边收起\r\n\t\tm_mediator->setLeftItemStatus(name, RC_EXPANDED);\r\n\t}\r\n}\r\n\r\nvoid RcTreeWidget::setDirection(RC_DIRECTION direction)\r\n{\r\n\tm_direction = direction;\r\n}\r\n\r\nvoid RcTreeWidget::setMediator(MediatorFileTree *mediator)\r\n{\r\n\tm_mediator = mediator;\r\n\r\n}\r\n\r\n//滚动条值变化后的槽函数。一旦滚动则会出发这里，发送消息给中介，让中介去同步另外一方\r\nvoid RcTreeWidget::slot_scrollValueChange(int value)\r\n{\r\n\tif (m_direction == RC_LEFT)\r\n\t{\r\n\t\tif (m_mediator->getLeftScrollValue() != value)\r\n\t\t{\r\n\t\t\tm_mediator->setLeftScrollValue(value);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (m_mediator->getRightScrollValue() != value)\r\n\t\t{\r\n\t\t\tm_mediator->setRightScrollValue(value);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//注意，这里一旦开始调整后，又会引发滚动条值的变化\r\nvoid RcTreeWidget::setVerticalValue(int value)\r\n{\r\n\t//不相等才需要设置\r\n\tif (verticalScrollBar()->value() != value)\r\n\t{\r\n\t\t//超过最大值，只能设置为最大值\r\n\t\tif (value > verticalScrollBar()->maximum())\r\n\t\t{\r\n\t\t\tverticalScrollBar()->setValue(verticalScrollBar()->maximum());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tverticalScrollBar()->setValue(value);\r\n\t\t}\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/RcTreeWidget.h",
    "content": "﻿#pragma once\r\n#include <qtreewidget.h>\r\n#include <QPoint>\r\n#include <functional>\r\n#include <QMenu>\r\n\r\n#include \"rcglobal.h\"\r\n\r\nclass MediatorFileTree;\r\n\r\nclass RcTreeWidget :public QTreeWidget\r\n{\r\n\t\r\npublic:\r\n\tRcTreeWidget(QWidget *parent=nullptr);\r\n\t~RcTreeWidget();\r\n\r\n\tvoid setContextUserDefineItemMenuCallBack(std::function<void(int dire, QMenu*, QTreeWidgetItem*)>* userAddMenu);\r\n\r\n\tvoid setDirection(RC_DIRECTION direction);\r\n\tvoid setMediator(MediatorFileTree * mediator);\r\n\tvoid setVerticalValue(int value);\r\n\r\n\tvoid setRootDir(QString dir)\r\n\t{\r\n\t\tm_rootDir = dir;\r\n\t}\r\n\r\n\tQString getRootDir()\r\n\t{\r\n\t\treturn m_rootDir;\r\n\t}\r\n\r\npublic slots:\r\n\tvoid slot_scrollValueChange(int value);\r\n\tvoid slot_itemCollapsed(QTreeWidgetItem * item);\r\n\tvoid slot_itemExpanded(QTreeWidgetItem * item);\r\n\tvoid slot_ShowPopMenu(const QPoint& pos);\r\nprivate:\r\n\tMediatorFileTree * m_mediator;\r\n\tRC_DIRECTION m_direction;\r\n\tQString m_rootDir;\r\n\r\n\tstd::function<void(int dire, QMenu*, QTreeWidgetItem*)>* m_userAddMenu;\r\n};\r\n\r\n"
  },
  {
    "path": "src/RealCompare.pri",
    "content": "# ----------------------------------------------------\r\n# This file is generated by the Qt Visual Studio Tools.\r\n# ------------------------------------------------------\r\n\r\n# This is a reminder that you are using a generated .pro file.\r\n# Remove it when you are finished editing this file.\r\nmessage(\"You are running qmake on a generated .pro file. This may not work!\")\r\n\r\n\r\nHEADERS += ./RealCompare.h \\\r\n    $$PWD/diff.h \\\r\n    ./CompareWin.h\r\nSOURCES += ./CompareWin.cpp \\\r\n    ./main.cpp \\\r\n    ./RealCompare.cpp\r\nFORMS += ./CompareWin.ui \\\r\n    ./RealCompare.ui\r\nRESOURCES += RealCompare.qrc\r\n"
  },
  {
    "path": "src/RealCompare.pro",
    "content": "TEMPLATE = app\r\nLANGUAGE = C++\r\n\r\nTARGET = Notepad--\r\n\r\nCONFIG\t+= qt warn_on\r\n\r\nQT += core gui widgets concurrent network xmlpatterns\r\n\r\n\r\nHEADERS\t+= *.h \\\r\n        cceditor/ccnotepad.h \\\r\n        cceditor/filemanager.h\r\n\r\n\t\t\r\nSOURCES\t+= *.cpp \\\r\n                cceditor/ccnotepad.cpp \\\r\n                cceditor/filemanager.cpp\r\n\r\n\t\t\r\nFORMS += *.ui \\\r\n                cceditor/ccnotepad.ui\r\n\r\n\r\nRESOURCES += RealCompare.qrc\r\n\r\nINCLUDEPATH\t+= qscint/src\r\nINCLUDEPATH\t+= qscint/src/Qsci\r\nINCLUDEPATH\t+= qscint/scintilla/include\r\nINCLUDEPATH += cceditor\r\n\r\n#DEFINES +=  QSCINTILLA_DLL\r\n\r\nTRANSLATIONS += realcompare_zh.ts\r\n\r\n if(contains(QMAKE_HOST.arch, x86_64|loongarch64)){\r\n    CONFIG(Debug, Debug|Release){\r\n        DESTDIR = x64/Debug\r\n\t\tLIBS\t+= -Lx64/Debug\r\n\t\tLIBS += -lqmyedit_qt5d\r\n    }else{\r\n        DESTDIR = x64/Release\r\n\t\tLIBS\t+= -Lx64/Release\r\n\t\tLIBS += -lqmyedit_qt5\r\n        #QMAKE_CXXFLAGS += /openmp\r\n    }\r\n   }\r\nunix{\r\nif(CONFIG(debug, Debug|Release)){\r\n          LIBS += -L/home/yzw/build/CCNotePad/x64/Debug -lqmyedit_qt5\r\n\r\nQMAKE_CXXFLAGS += -fopenmp\r\nLIBS += -lgomp -lpthread\r\n    }else{\r\n          LIBS += -L/home/yzw/build/CCNotePad/x64/Release -lqmyedit_qt5\r\n        DESTDIR = x64/Release\r\n\r\n        QMAKE_CXXFLAGS += -fopenmp -O2\r\n        LIBS += -lgomp -lpthread\r\n    }\r\n   }\r\n\r\n\r\nRC_FILE += RealCompare.rc\r\nunix\r\n{\r\n\r\nINCLUDEPATH += $$PWD/.\r\nDEPENDPATH += $$PWD/.\r\n\r\n\r\nunix:!macx: LIBS += -L$$PWD/x64/Release/ -lqmyedit_qt5\r\n\r\nINCLUDEPATH += $$PWD/x64/Release\r\nDEPENDPATH += $$PWD/x64/Release\r\n\r\nunix:!macx: PRE_TARGETDEPS += $$PWD/x64/Release/libqmyedit_qt5.a\r\n}\r\n\r\n"
  },
  {
    "path": "src/RealCompare.qrc",
    "content": "<RCC>\n    <qresource prefix=\"/\">\n        <file>Resources/img/dir.png</file>\n        <file>Resources/img/file.png</file>\n        <file>Resources/img/open.png</file>\n        <file>Resources/img/open1.png</file>\n        <file>Resources/img/save.png</file>\n        <file>Resources/img/all.png</file>\n        <file>Resources/img/same1.png</file>\n        <file>Resources/img/diff1.png</file>\n        <file>Resources/img/swap.png</file>\n        <file>Resources/img/reload.png</file>\n        <file>Resources/img/rule.png</file>\n        <file>Resources/img/left3.png</file>\n        <file>Resources/img/right3.png</file>\n        <file>Resources/img/point.png</file>\n        <file>Resources/img/main.png</file>\n        <file>Resources/img/showchar.png</file>\n        <file>Resources/img/hidechar.png</file>\n        <file>Resources/img/reload2.png</file>\n        <file>Resources/img/tran.png</file>\n        <file>Resources/img/6688.png</file>\n        <file>Resources/img/clear.png</file>\n        <file>Resources/img/undo.png</file>\n        <file>Resources/img/redo.png</file>\n        <file>Resources/edit/global/close.png</file>\n        <file>Resources/edit/global/closehover.png</file>\n        <file>Resources/edit/global/needsave.png</file>\n        <file>Resources/edit/global/noneedsave.png</file>\n        <file>Resources/edit/global/notebook.png</file>\n        <file>Resources/img/next.png</file>\n        <file>Resources/img/pre.png</file>\n        <file>Resources/edit/styledeepblue/rename.png</file>\n        <file>realcompare_zh.qm</file>\n        <file>Resources/edit/styleblack/rename.png</file>\n        <file>Resources/img/bin.png</file>\n        <file>Resources/img/info.png</file>\n        <file>Resources/edit/styledeepblue/next.png</file>\n        <file>Resources/edit/styledeepblue/pre.png</file>\n        <file>Resources/edit/styledeepblue/goto.png</file>\n        <file>Resources/edit/styledeepblue/bincmp.png</file>\n        <file>Resources/img/strict.png</file>\n        <file>Resources/img/1.png</file>\n        <file>Resources/img/2.png</file>\n        <file>Resources/img/3.png</file>\n        <file>Resources/img/4.png</file>\n        <file>Resources/img/5.png</file>\n        <file>Resources/img/6.png</file>\n        <file>Resources/img/next2.png</file>\n        <file>Resources/img/pre2.png</file>\n        <file>Resources/img/zoomin.png</file>\n        <file>Resources/img/zoomout.png</file>\n        <file>Resources/img/unequaldir.png</file>\n        <file>Resources/img/unequalfile.png</file>\n        <file>Resources/img/onlyfile.png</file>\n        <file>Resources/img/showall.png</file>\n        <file>Resources/img/diff.png</file>\n        <file>Resources/img/tolerant.png</file>\n        <file>Resources/img/needsave.png</file>\n        <file>Resources/img/break.png</file>\n        <file>Resources/img/pullopen.png</file>\n        <file>notepad/closeAll.png</file>\n        <file>notepad/closeFile.png</file>\n        <file>notepad/closeTabButton.png</file>\n        <file>notepad/closeTabButton_hover.png</file>\n        <file>notepad/closeTabButton_inact.png</file>\n        <file>notepad/closeTabButton_push.png</file>\n        <file>notepad/copy.png</file>\n        <file>notepad/cut.png</file>\n        <file>notepad/find.png</file>\n        <file>notepad/findReplace.png</file>\n        <file>notepad/indentGuide.png</file>\n        <file>notepad/invisibleChar.png</file>\n        <file>notepad/newFile.png</file>\n        <file>notepad/openFile.png</file>\n        <file>notepad/paste.png</file>\n        <file>notepad/redo.png</file>\n        <file>notepad/saveAll.png</file>\n        <file>notepad/saveFile.png</file>\n        <file>notepad/undo.png</file>\n        <file>notepad/wrap.png</file>\n        <file>notepad/zoomIn.png</file>\n        <file>notepad/zoomOut.png</file>\n        <file>notepad/savetab.png</file>\n        <file>notepad/close.png</file>\n        <file>notepad/closehover.png</file>\n        <file>notepad/cmpbin.png</file>\n        <file>notepad/cmpdir.png</file>\n        <file>notepad/cmpfile.png</file>\n        <file>notepad/cmpfile1.png</file>\n        <file>notepad/ecg.png</file>\n        <file>notepad/go.png</file>\n        <file>notepad/needsave.png</file>\n        <file>notepad/next.png</file>\n        <file>notepad/noneedsave.png</file>\n        <file>notepad/pre.png</file>\n        <file>notepad/rename.png</file>\n        <file>Resources/edit/global/ndd.ico</file>\n        <file>notepad/mark.png</file>\n        <file>notepad/sign.png</file>\n        <file>notepad/clearsign.png</file>\n        <file>notepad/autosave.png</file>\n        <file>qss/lightblue/arrow_bottom.png</file>\n        <file>qss/lightblue/add_bottom.png</file>\n        <file>qss/mystyle.qss</file>\n        <file>qss/lightbluestyle.qss</file>\n        <file>qss/lightblue/add_top.png</file>\n        <file>mac.icns</file>\n        <file>Resources/img/register.png</file>\n        <file>notepad/rightClose.png</file>\n        <file>Resources/img/bookmark.png</file>\n        <file>Resources/img/refresh.png</file>\n        <file>Resources/edit/styledeepblue/autosave.png</file>\n        <file>Resources/edit/styledeepblue/clearsign.png</file>\n        <file>Resources/edit/styledeepblue/closeall.png</file>\n        <file>Resources/edit/styledeepblue/closefile.png</file>\n        <file>Resources/edit/styledeepblue/copy.png</file>\n        <file>Resources/edit/styledeepblue/crlf.png</file>\n        <file>Resources/edit/styledeepblue/cut.png</file>\n        <file>Resources/edit/styledeepblue/dircompare.png</file>\n        <file>Resources/edit/styledeepblue/filecompare.png</file>\n        <file>Resources/edit/styledeepblue/find.png</file>\n        <file>Resources/edit/styledeepblue/indentGuide.png</file>\n        <file>Resources/edit/styledeepblue/mark.png</file>\n        <file>Resources/edit/styledeepblue/needsavebar.png</file>\n        <file>Resources/edit/styledeepblue/newfile.png</file>\n        <file>Resources/edit/styledeepblue/openfile.png</file>\n        <file>Resources/edit/styledeepblue/paste.png</file>\n        <file>Resources/edit/styledeepblue/redo.png</file>\n        <file>Resources/edit/styledeepblue/replace.png</file>\n        <file>Resources/edit/styledeepblue/sign.png</file>\n        <file>Resources/edit/styledeepblue/transcode.png</file>\n        <file>Resources/edit/styledeepblue/undo.png</file>\n        <file>Resources/edit/styledeepblue/white.png</file>\n        <file>Resources/edit/styledeepblue/zoomin.png</file>\n        <file>Resources/edit/styledeepblue/zoomout.png</file>\n        <file>Resources/edit/styledeepblue/needsaveall.png</file>\n        <file>Resources/img/savedark.png</file>\n        <file>Resources/img/opendark.png</file>\n        <file>Resources/img/reloaddark.png</file>\n        <file>Resources/img/vip.png</file>\n        <file>Resources/img/vipdark.png</file>\n        <file>Resources/edit/global/noneedsavedark.png</file>\n        <file>Resources/img/diffall.png</file>\n        <file>Resources/img/expand.png</file>\n        <file>Resources/img/fold.png</file>\n        <file>qss/common.qss</file>\n        <file>notepad/tailf.png</file>\n        <file>Resources/edit/styledeepblue/tailf.png</file>\n    </qresource>\n</RCC>\n"
  },
  {
    "path": "src/RealCompareToMinGw.rc",
    "content": "#include <windows.h>\n\nIDI_ICON1\tICON\tDISCARDABLE\t\".\\\\Resources\\\\edit\\\\global\\\\ndd.ico\"\n\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n\nVS_VERSION_INFO VERSIONINFO\n        FILEVERSION 1,22,0,0\n        PRODUCTVERSION 1,22,0,0\n        FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n        FILEFLAGS VS_FF_DEBUG\n#else\n        FILEFLAGS 0x0L\n#endif\n        FILEOS VOS__WINDOWS32\n        FILETYPE VFT_DLL\n        FILESUBTYPE 0x0L\n        BEGIN\n                BLOCK \"StringFileInfo\"\n                BEGIN\n                        BLOCK \"080404b0\"\n                        BEGIN\n                                VALUE \"FileDescription\", \"notepad-- v1.22.0\\0\"\n                                VALUE \"FileVersion\", \"1.22.0.0\\0\"\n                                VALUE \"LegalCopyright\", \"Copyright (C) 2020-2023\\0\"\n                                VALUE \"OriginalFilename\", \"Notepad--.exe\\0\"\n                                VALUE \"ProductName\", \"notepad-- \\0\"\n                                VALUE \"ProductVersion\", \"1.22.0.0\\0\"\n                        END\n                END\n                BLOCK \"VarFileInfo\"\n                BEGIN\n                        VALUE \"Translation\", 0x0804, 1200\n                END\n        END\n/* End of Version info */\n\n"
  },
  {
    "path": "src/Sorters.h",
    "content": "#pragma once\r\n#include <algorithm>\n#include <utility>\n#include <random>\n#include <QString>\n\n// Base interface for line sorting.\nclass ISorter\n{\nprivate:\n\tbool _isDescending = true;\n\tsize_t _fromColumn = 0;\n\tsize_t _toColumn = 0;\n\nprotected:\n\tbool isDescending() const\n\t{\n\t\treturn _isDescending;\n\t}\n\n\tQString getSortKey(const QString& input)\n\t{\n\t\tif (isSortingSpecificColumns())\n\t\t{\n\t\t\tif (input.length() < _fromColumn)\n\t\t\t{\n\t\t\t\t// prevent an std::out_of_range exception\n\t\t\t\treturn QString(\"\");\n\t\t\t}\n\t\t\telse if (_fromColumn == _toColumn)\n\t\t\t{\n\t\t\t\t// get characters from the indicated column to the end of the line\n\t\t\t\treturn input.mid(_fromColumn);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// get characters between the indicated columns, inclusive\n\t\t\t\treturn input.mid(_fromColumn, _toColumn - _fromColumn);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn input;\n\t\t}\n\t}\n\n\tbool isSortingSpecificColumns()\n\t{\n\t\treturn _toColumn != 0;\n\t}\n\npublic:\n\tISorter(bool isDescending, size_t fromColumn, size_t toColumn) : _isDescending(isDescending), _fromColumn(fromColumn), _toColumn(toColumn)\n\t{\n\t\tassert(_fromColumn <= _toColumn);\n\t};\n\tvirtual ~ISorter() { };\n\tvirtual QList<QString> sort(QList<QString> lines) = 0;\n};\n\n// Implementation of lexicographic sorting of lines.\nclass LexicographicSorter : public ISorter\n{\npublic:\n\tLexicographicSorter(bool isDescending, size_t fromColumn, size_t toColumn) : ISorter(isDescending, fromColumn, toColumn) { };\n\n\tQList<QString> sort(QList<QString> lines) override\n\t{\n\t\t// Note that both branches here are equivalent in the sense that they always give the same answer.\n\t\t// However, if we are *not* sorting specific columns, then we get a 40% speed improvement by not calling\n\t\t// getSortKey() so many times.\n\t\tif (isSortingSpecificColumns())\n\t\t{\n\t\t\tstd::sort(lines.begin(), lines.end(), [this](QString a, QString b)\n\t\t\t{\n\t\t\t\tif (isDescending())\n\t\t\t\t{\n\t\t\t\t\treturn getSortKey(a).compare(getSortKey(b)) > 0;\n\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn getSortKey(a).compare(getSortKey(b)) < 0;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstd::sort(lines.begin(), lines.end(), [this](QString a, QString b)\n\t\t\t{\n\t\t\t\tif (isDescending())\n\t\t\t\t{\n\t\t\t\t\treturn a.compare(b) > 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn a.compare(b) < 0;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn lines;\n\t}\n};\n\n\n// Implementation of lexicographic sorting of lines, ignoring character casing\nclass LexicographicCaseInsensitiveSorter : public ISorter\n{\npublic:\n\tLexicographicCaseInsensitiveSorter(bool isDescending, size_t fromColumn, size_t toColumn) : ISorter(isDescending, fromColumn, toColumn) { };\n\n\tQList<QString> sort(QList<QString> lines) override\n\t{\n\t\t// Note that both branches here are equivalent in the sense that they always give the same answer.\n\t\t// However, if we are *not* sorting specific columns, then we get a 40% speed improvement by not calling\n\t\t// getSortKey() so many times.\n\t\tif (isSortingSpecificColumns())\n\t\t{\n\t\t\tstd::sort(lines.begin(), lines.end(), [this](QString a, QString b)\n\t\t\t{\n\t\t\t\tif (isDescending())\n\t\t\t\t{\n\t\t\t\t\treturn getSortKey(a).compare(getSortKey(b), Qt::CaseInsensitive) > 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn getSortKey(a).compare(getSortKey(b), Qt::CaseInsensitive) < 0;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstd::sort(lines.begin(), lines.end(), [this](QString a, QString b)\n\t\t\t{\n\t\t\t\tif (isDescending())\n\t\t\t\t{\n\t\t\t\t\treturn QString::compare(a, b, Qt::CaseInsensitive) > 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn QString::compare(a, b, Qt::CaseInsensitive) < 0;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn lines;\n\t}\n};\n\n\nclass ReverseSorter : public ISorter\n{\npublic:\n\tReverseSorter(bool isDescending, size_t fromColumn, size_t toColumn) : ISorter(isDescending, fromColumn, toColumn) { };\n\n\tQList<QString> sort(QList<QString> lines) override\n\t{\n\t\tstd::reverse(lines.begin(), lines.end());\n\t\treturn lines;\n\t}\n};"
  },
  {
    "path": "src/StrategyCompare.h",
    "content": "﻿#pragma once\r\n#include \"CmpareMode.h\"\r\n#include \"AbstractCompare.h\"\r\n#include <QMap>\r\n\r\n\r\n\r\nclass StrategyCompare\r\n{\r\npublic:\r\n\tStrategyCompare();\r\n\tvirtual ~StrategyCompare();\r\n\tvirtual void BlockCmpLcs(const BlocksInfo & leftBlockInfo, uchar * leftFileData, QVector<LineFileInfo>& leftLinesInfo, const BlocksInfo & rightBlockInfo, uchar * rightFileData, QVector<LineFileInfo>& rightLinesInfo, BlockCmpPairResult & result);\r\n\r\nprivate:\r\n\tvoid lessCmpMore(const BlocksInfo & lessBlockInfo, uchar * lessFileData, QVector<LineFileInfo>& lessLinesInfo, const BlocksInfo & moreBlockInfo, uchar * moreFileData, QVector<LineFileInfo>&moreLinesInfo, QMap<int, BlockCmpPairInfo>& result);\r\n};\r\n\r\n"
  },
  {
    "path": "src/aboutndd.cpp",
    "content": "#include \"aboutndd.h\"\r\n\r\nAboutNdd::AboutNdd(QWidget *parent)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tui.label->setOpenExternalLinks(true);\r\n\t// 隐藏最大化、最小化按钮\r\n\tsetWindowFlags(windowFlags() & ~Qt::WindowMinMaxButtonsHint);\r\n\tconnect(ui.aboutPushButton, &QPushButton::clicked, this, &AboutNdd::onButtonOkayClicked);\r\n}\r\n\r\nAboutNdd::~AboutNdd()\r\n{}\r\n\r\nvoid AboutNdd::appendText(QString text)\r\n{\r\n\tui.nddMsgText->appendPlainText(text);\r\n}\r\n\r\nvoid AboutNdd::onButtonOkayClicked()\r\n{\r\n\tclose();\r\n}\r\n"
  },
  {
    "path": "src/aboutndd.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_aboutndd.h\"\r\n\r\nclass AboutNdd : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tAboutNdd(QWidget *parent = nullptr);\r\n\t~AboutNdd();\r\n\r\n\tvoid appendText(QString text);\r\n\r\nprivate slots:\r\n\tvoid onButtonOkayClicked();\r\n\r\nprivate:\r\n\tUi::AboutNddClass ui;\r\n};"
  },
  {
    "path": "src/aboutndd.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>AboutNddClass</class>\r\n <widget class=\"QWidget\" name=\"AboutNddClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>400</width>\r\n    <height>180</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>400</width>\r\n    <height>180</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>About Notepad--</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n   <property name=\"leftMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <item row=\"1\" column=\"0\">\r\n    <layout class=\"QVBoxLayout\" name=\"verticalLayout0\">\r\n     <item>\r\n      <widget class=\"QLabel\" name=\"label_4\">\r\n       <property name=\"text\">\r\n        <string>General Public License</string>\r\n       </property>\r\n       <property name=\"alignment\">\r\n        <set>Qt::AlignCenter</set>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPlainTextEdit\" name=\"nddMsgText\">\r\n       <property name=\"readOnly\">\r\n        <bool>true</bool>\r\n       </property>\r\n       <property name=\"plainText\">\r\n        <string>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.</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item row=\"0\" column=\"0\">\r\n    <widget class=\"QLabel\" name=\"label\">\r\n     <property name=\"text\">\r\n      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Home: &lt;a href=&quot;https://gitee.com/cxasm/notepad--&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;https://gitee.com/cxasm/notepad--&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item row=\"3\" column=\"0\">\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"aboutPushButton\">\r\n       <property name=\"minimumSize\">\r\n        <size>\r\n         <width>100</width>\r\n         <height>28</height>\r\n        </size>\r\n       </property>\r\n       <property name=\"maximumSize\">\r\n        <size>\r\n         <width>100</width>\r\n         <height>28</height>\r\n        </size>\r\n       </property>\r\n       <property name=\"text\">\r\n        <string>Okay</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item row=\"4\" column=\"0\">\r\n    <spacer name=\"verticalSpacer\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Vertical</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>20</width>\r\n       <height>40</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/batchfindreplace.cpp",
    "content": "#include \"batchfindreplace.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"progresswin.h\"\r\n#include \"nddsetting.h\"\r\n#include \"ctipwin.h\"\r\n\r\n#include <QTableWidgetItem>\r\n#include <QFileDialog>\r\n\r\nBatchFindReplace::BatchFindReplace(QWidget *parent)\r\n\t: QMainWindow(parent), m_curEditWin(nullptr), m_editTabWidget(nullptr)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tm_mainNotepad = dynamic_cast<CCNotePad*>(parent);\r\n}\r\n\r\nBatchFindReplace::~BatchFindReplace()\r\n{\r\n\r\n}\r\n\r\nvoid BatchFindReplace::closeEvent(QCloseEvent* event)\r\n{\r\n\tQByteArray curGeo = this->saveGeometry();\r\n\tNddSetting::updataWinPos(BATCH_FIND_REPLACE_POS, curGeo);\r\n}\r\n\r\nvoid BatchFindReplace::setTabWidget(QTabWidget* editTabWidget)\r\n{\r\n\tm_editTabWidget = editTabWidget;\r\n}\r\n\r\n//Զǰڵ״̬˱仯Ҫ϶Ϊ״β\r\nQWidget* BatchFindReplace::autoAdjustCurrentEditWin()\r\n{\r\n\tQWidget* pw = m_editTabWidget->currentWidget();\r\n\r\n\tif (m_curEditWin != pw)\r\n\t{\r\n\t\tm_curEditWin = pw;\r\n\t}\r\n\treturn pw;\r\n}\r\n\r\nvoid BatchFindReplace::appendToFindTable(QString findKeyword)\r\n{\r\n\tint rNum = ui.findReplaceTable->rowCount();\r\n\tui.findReplaceTable->insertRow(rNum);\r\n\r\n\tQTableWidgetItem* itemFind = new QTableWidgetItem(findKeyword);\r\n\tui.findReplaceTable->setItem(rNum, 0, itemFind);\r\n\tui.findReplaceTable->setItem(rNum, 1, new QTableWidgetItem());\r\n}\r\n\r\n//ﲻ׷ӣǲ룬ӦItemѾڡ򲻲\r\nvoid BatchFindReplace::insertToReplaceTable(int row, QString replaceKeyword)\r\n{\r\n\tQTableWidgetItem* item = ui.findReplaceTable->item(row, 1);\r\n\tif (item == nullptr)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"$1 has no find match work item\").arg(replaceKeyword));\r\n\t\treturn;\r\n\t}\r\n\r\n\titem->setText(replaceKeyword);\r\n}\r\n\r\nvoid BatchFindReplace::insertToFindReplaceTable(QStringList& replaceKeyword)\r\n{\r\n\tfor (int i = 0; i < replaceKeyword.size(); ++i)\r\n\t{\r\n\t\tinsertToReplaceTable(i, replaceKeyword.at(i));\r\n\t}\r\n}\r\n\r\n\r\nvoid BatchFindReplace::appendToFindReplaceTable(QStringList& findKeyword)\r\n{\r\n\tif (findKeyword.isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tint rNum = ui.findReplaceTable->rowCount();\r\n\r\n\tfor (int i = 0; i < findKeyword.size(); ++i)\r\n\t{\r\n\t\tint curRow = rNum + i;\r\n\t\tui.findReplaceTable->insertRow(curRow);\r\n\r\n\t\tQTableWidgetItem* itemFind = new QTableWidgetItem(findKeyword.at(i));\r\n\t\tui.findReplaceTable->setItem(curRow, 0, itemFind);\r\n\t\tui.findReplaceTable->setItem(curRow, 1, new QTableWidgetItem());\r\n\t}\r\n}\r\n\r\nbool BatchFindReplace::tranInputKeyword(QString& findKeyWord, QStringList& outputKeyWordList)\r\n{\r\n\t//ѿհַո\\t \\r\\n ַ滻Ϊո\r\n\tQRegExp re(\"\\\\s\");\r\n\tfindKeyWord.replace(re, QString(\" \"));\r\n\r\n\t//ٽпոָ\r\n\toutputKeyWordList = findKeyWord.split(\" \");\r\n\r\n\tif (outputKeyWordList.size() > 20000)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Max find key word 20000 !\"), 10000);\r\n\t\treturn false;\r\n\t}\r\n\r\n\t//ɾÿһյԪ\r\n\tfor (int i = outputKeyWordList.size() - 1; i >= 0; --i)\r\n\t{\r\n\t\tif (outputKeyWordList[i].trimmed().isEmpty())\r\n\t\t{\r\n\t\t\toutputKeyWordList.removeAt(i);\r\n\t\t}\r\n\t}\r\n\r\n\tif (outputKeyWordList.isEmpty())\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n\r\nvoid BatchFindReplace::on_freshBtClick()\r\n{\r\n\tQStringList findWordList;\r\n\tQString findKeyWord = ui.findKeywordEdit->toPlainText();\r\n\tif (findKeyWord.isEmpty())\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Please input find keyword !\"),10000);\r\n\r\n\t\tif (ui.findReplaceTable->rowCount() > 0)\r\n\t\t{\r\n\t\t\tui.findReplaceTable->clearContents();\r\n\t\t\tui.findReplaceTable->setRowCount(0);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (!tranInputKeyword(findKeyWord, findWordList))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.findReplaceTable->clearContents();\r\n\t\tui.findReplaceTable->setRowCount(0);\r\n\t\tappendToFindReplaceTable(findWordList);\r\n\t}\r\n\r\n\tQStringList replaceWordList;\r\n\tQString replaceKeyWord = ui.replaceKeywordEdit->toPlainText();\r\n\tif (!tranInputKeyword(replaceKeyWord, replaceWordList))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tinsertToFindReplaceTable(replaceWordList);\r\n\t}\r\n}\r\n\r\n//ҹ\r\nvoid BatchFindReplace::on_findBtClick()\r\n{\r\n\tif (m_mainNotepad != nullptr && m_mainNotepad)\r\n\t{\r\n\t\tint rowNums = ui.findReplaceTable->rowCount();\r\n\t\tif (rowNums == 0)\r\n\t\t{\r\n\t\t\tCTipWin::showTips(this, tr(\"Please fresh first !\"), 1200);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tint foundTimes = 0;\r\n\r\n\t\tQStringList findKeyList;\r\n\t\r\n\t\tfor (int i = 0; i < rowNums; ++i)\r\n\t\t{\r\n\t\t\tQTableWidgetItem* item = ui.findReplaceTable->item(i, 0);\r\n\t\t\tif (item != nullptr && !item->text().isEmpty())\r\n\t\t\t{\r\n\t\t\t\tfindKeyList.append(item->text());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfoundTimes = m_mainNotepad->findAtBack(findKeyList);\r\n\r\n\t\tui.statusBar->showMessage(tr(\"Batch Find Finished! total %1 found.\").arg(foundTimes),10000);\r\n\t}\r\n}\r\n\r\n//滻\r\nvoid BatchFindReplace::on_replaceBtClick()\r\n{\r\n\tif (m_mainNotepad != nullptr)\r\n\t{\r\n\t\tint rowNums = ui.findReplaceTable->rowCount();\r\n\t\tif (rowNums == 0)\r\n\t\t{\r\n\t\t\tCTipWin::showTips(this, tr(\"Please fresh first !\"), 1200);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\r\n\t\tQStringList findKeyList;\r\n\t\tQStringList replaceKeyList;\r\n\r\n\t\tfor (int i = 0; i < rowNums; ++i)\r\n\t\t{\r\n\t\t\tQTableWidgetItem* item = ui.findReplaceTable->item(i, 0);\r\n\t\t\tif (item != nullptr && !item->text().isEmpty())\r\n\t\t\t{\r\n\t\t\t\tQTableWidgetItem* replaceItem = ui.findReplaceTable->item(i, 1);\r\n\t\t\t\tif (replaceItem != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (item->text() != replaceItem->text())\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfindKeyList.append(item->text());\r\n\t\t\t\t\t\treplaceKeyList.append(replaceItem->text());\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tm_mainNotepad->replaceAtBack(findKeyList, replaceKeyList);\r\n\r\n\t\tui.statusBar->showMessage(tr(\"Batch Replace Finished, total Replace %1 times !\").arg(findKeyList.size()), 10000);\r\n\t}\r\n}\r\n\r\nvoid BatchFindReplace::on_swapFindReplace()\r\n{\r\n\tQString findText = ui.findKeywordEdit->toPlainText();\r\n\tQString replaceText = ui.replaceKeywordEdit->toPlainText();\r\n\r\n\tui.findKeywordEdit->setPlainText(replaceText);\r\n\tui.replaceKeywordEdit->setPlainText(findText);\r\n\r\n\ton_freshBtClick();\r\n}\r\n\r\nvoid BatchFindReplace::on_export()\r\n{\r\n\tQString filter(\"Text files (*.txt);;All types(*.*)\");\r\n\tQString fileName = QFileDialog::getSaveFileName(this, tr(\"Save File As ...\"), QString(), filter);\r\n\r\n\tif (!fileName.isEmpty())\r\n\t{\r\n\t\tQSettings setting(fileName, QSettings::IniFormat);\r\n\t\tsetting.setIniCodec(\"UTF-8\");\r\n\r\n\t\tint rowNums = ui.findReplaceTable->rowCount();\r\n\r\n\t\tQStringList findList;\r\n\t\tQStringList replaceList;\r\n\r\n\t\tfor (int i = 0; i < rowNums; ++i)\r\n\t\t{\r\n\t\t\tQTableWidgetItem* item = ui.findReplaceTable->item(i, 0);\r\n\t\t\tif (item != nullptr && !item->text().isEmpty())\r\n\t\t\t{\r\n\t\t\t\tQTableWidgetItem* replaceItem = ui.findReplaceTable->item(i, 1);\r\n\t\t\t\tif (replaceItem != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tfindList.append(item->text());\r\n\t\t\t\t\treplaceList.append(replaceItem->text());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!findList.isEmpty())\r\n\t\t{\r\n\t\t\tsetting.setValue(\"find\", findList);\r\n\t\t\tsetting.setValue(\"replace\", replaceList);\r\n\r\n\t\t\tui.statusBar->showMessage(tr(\"Export File finished !\"), 10000);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"No Content to Export !\"), 10000);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid BatchFindReplace::on_import()\r\n{\r\n\tQFileDialog fd(this, QString(), CCNotePad::s_lastOpenDirPath);\r\n\tfd.setFileMode(QFileDialog::ExistingFile);\r\n\r\n\tif (fd.exec() == QDialog::Accepted)   //ɹִ\r\n\t{\r\n\t\tQStringList fileNameList = fd.selectedFiles();      //ļб\r\n\t\tQFileInfo fi(fileNameList[0]);\r\n\r\n\t\tQSettings setting(fi.filePath(), QSettings::IniFormat);\r\n\t\tsetting.setIniCodec(\"UTF-8\");\r\n\r\n\t\tui.findKeywordEdit->setPlainText(setting.value(\"find\").toStringList().join(\" \"));\r\n\t\tui.replaceKeywordEdit->setPlainText(setting.value(\"replace\").toStringList().join(\" \"));\r\n\r\n\t\ton_freshBtClick();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tfd.close();\r\n\t}\r\n}\r\n\r\nvoid  BatchFindReplace::on_mark()\r\n{\r\n\tif (m_mainNotepad != nullptr)\r\n\t{\r\n\t\tint rowNums = ui.findReplaceTable->rowCount();\r\n\t\tif (rowNums == 0)\r\n\t\t{\r\n\t\t\tCTipWin::showTips(this, tr(\"Please fresh first !\"), 1200);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tint markTimes = 0;\r\n\r\n\t\tQStringList findKeyList;\r\n\r\n\t\tfor (int i = 0; i < rowNums; ++i)\r\n\t\t{\r\n\t\t\tQTableWidgetItem* item = ui.findReplaceTable->item(i, 0);\r\n\t\t\tif (item != nullptr && !item->text().isEmpty())\r\n\t\t\t{\r\n\t\t\t\tfindKeyList.append(item->text());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tmarkTimes = m_mainNotepad->markAtBack(findKeyList);\r\n\r\n\t\tui.statusBar->showMessage(tr(\"Batch Mark Finished, total Mark %1 times !\").arg(markTimes), 10000);\r\n\t}\r\n}\r\n\r\nvoid BatchFindReplace::on_clearMark()\r\n{\r\n\tif (m_mainNotepad != nullptr)\r\n\t{\r\n\t\tm_mainNotepad->slot_clearMark();\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/batchfindreplace.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include <QTabWidget>\r\n#include <QCloseEvent>\r\n#include \"ui_batchfindreplace.h\"\r\n\r\nclass CCNotePad;\r\n\r\nclass BatchFindReplace : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tBatchFindReplace(QWidget *parent = nullptr);\r\n\tvirtual ~BatchFindReplace();\r\n\tvoid setTabWidget(QTabWidget* editTabWidget);\r\n\r\nprotected:\r\n\tvoid closeEvent(QCloseEvent* event);\r\n\r\nprivate slots:\r\n\tvoid on_freshBtClick();\r\n\tvoid on_findBtClick();\r\n\tvoid on_replaceBtClick();\r\n\tvoid on_swapFindReplace();\r\n\tvoid on_export();\r\n\tvoid on_import();\r\n\tvoid on_mark();\r\n\tvoid on_clearMark();\r\n\r\nprivate:\r\n\tbool tranInputKeyword(QString& keyWord, QStringList& outputKeyWordList);\r\n\tvoid appendToFindReplaceTable(QStringList& findKeyword);\r\n\tvoid appendToFindTable(QString findKeyword);\r\n\tvoid insertToReplaceTable(int row, QString replaceKeyword);\r\n\tvoid insertToFindReplaceTable(QStringList& replaceKeyword);\r\n\r\n\tQWidget* autoAdjustCurrentEditWin();\r\nprivate:\r\n\tUi::BatchFindReplaceClass ui;\r\n\r\n\tQTabWidget* m_editTabWidget;\r\n\tQWidget* m_curEditWin;\r\n\r\n\tCCNotePad* m_mainNotepad;\r\n};\r\n"
  },
  {
    "path": "src/batchfindreplace.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>BatchFindReplaceClass</class>\r\n <widget class=\"QMainWindow\" name=\"BatchFindReplaceClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>902</width>\r\n    <height>737</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>BatchFindReplace</string>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>6</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n      <item>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label\">\r\n          <property name=\"text\">\r\n           <string>Enter multiple find keywords, separated by blank characters</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QPlainTextEdit\" name=\"findKeywordEdit\"/>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_2\">\r\n          <property name=\"text\">\r\n           <string>Enter multiple Replace keywords, separated by blank characters</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QPlainTextEdit\" name=\"replaceKeywordEdit\"/>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n    <item>\r\n     <widget class=\"QTableWidget\" name=\"findReplaceTable\">\r\n      <attribute name=\"horizontalHeaderVisible\">\r\n       <bool>true</bool>\r\n      </attribute>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Keyword</string>\r\n       </property>\r\n      </column>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Replace</string>\r\n       </property>\r\n      </column>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n      <item>\r\n       <spacer name=\"horizontalSpacer\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"freshBt\">\r\n        <property name=\"text\">\r\n         <string>Fresh</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"swapBt\">\r\n        <property name=\"text\">\r\n         <string>swap</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"findBt\">\r\n        <property name=\"text\">\r\n         <string>Find</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"replaceBt\">\r\n        <property name=\"text\">\r\n         <string>Replace</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"markBt\">\r\n        <property name=\"text\">\r\n         <string>Mark</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"pushButton\">\r\n        <property name=\"text\">\r\n         <string>ClearMark</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"importBt\">\r\n        <property name=\"text\">\r\n         <string>Import</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"exportBt\">\r\n        <property name=\"text\">\r\n         <string>Export</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <spacer name=\"horizontalSpacer_2\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>freshBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_freshBtClick()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>204</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>218</x>\r\n     <y>703</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>findBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_findBtClick()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>366</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>426</x>\r\n     <y>736</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>replaceBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_replaceBtClick()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>447</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>530</x>\r\n     <y>709</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>swapBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_swapFindReplace()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>285</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>378</x>\r\n     <y>736</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>importBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_import()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>690</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>687</x>\r\n     <y>736</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>exportBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_export()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>771</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>799</x>\r\n     <y>698</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>markBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_mark()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>528</x>\r\n     <y>710</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>584</x>\r\n     <y>742</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BatchFindReplaceClass</receiver>\r\n   <slot>on_clearMark()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>577</x>\r\n     <y>693</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>570</x>\r\n     <y>746</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>on_freshBtClick()</slot>\r\n  <slot>on_findBtClick()</slot>\r\n  <slot>on_replaceBtClick()</slot>\r\n  <slot>on_swapFindReplace()</slot>\r\n  <slot>on_import()</slot>\r\n  <slot>on_export()</slot>\r\n  <slot>on_mark()</slot>\r\n  <slot>on_clearMark()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/bigfilemessage.cpp",
    "content": "#include \"bigfilemessage.h\"\r\n#include \"nddsetting.h\"\r\n\r\nBigFileMessage::BigFileMessage(QWidget *parent)\r\n\t: QDialog(parent), m_result(-1)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\nBigFileMessage::~BigFileMessage()\r\n{}\r\n\r\nvoid BigFileMessage::setDefOpenMode(NddDocType defMode)\r\n{\r\n\tswitch (defMode)\r\n\t{\r\n\tcase TXT_TYPE:\r\n\t\tui.textMode->setChecked(true);\r\n\t\tbreak;\r\n\tcase BIG_TEXT_RO_TYPE:\r\n\t\tui.bigTextMode->setChecked(true);\r\n\t\tbreak;\r\n\tcase BIG_EDIT_RW_TYPE:\r\n\t\tbreak;\r\n\tcase SUPER_BIG_TEXT_RO_TYPE:\r\n\t\tui.superBigTextMode->setChecked(true);\r\n\t\tbreak;\r\n\tcase HEX_TYPE:\r\n\t\tui.hexMode->setChecked(true);\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n}\r\n\r\nvoid BigFileMessage::setTip(QString msg)\r\n{\r\n\tui.label->setText(msg);\r\n}\r\n\r\nvoid BigFileMessage::slot_okBt()\r\n{\r\n\tif (ui.textMode->isChecked())\r\n\t{\r\n\t\tm_result = TXT_TYPE;//ͨı\r\n\t}\r\n\telse if(ui.bigTextMode->isChecked())\r\n\t{\r\n\t\tm_result = BIG_TEXT_RO_TYPE; //С8GĴı\r\n\t}\r\n\telse if (ui.superBigTextMode->isChecked())\r\n\t{\r\n\t\tm_result = SUPER_BIG_TEXT_RO_TYPE;//8GϵĴı\r\n\t}\r\n\telse if (ui.hexMode->isChecked())\r\n\t{\r\n\t\tm_result = HEX_TYPE;//\r\n\t}\r\n\tdone(m_result);\r\n}\r\n\r\nvoid BigFileMessage::slot_cancelBt()\r\n{\r\n\tm_result = -1;\r\n\tdone(m_result);\r\n}"
  },
  {
    "path": "src/bigfilemessage.h",
    "content": "#pragma once\r\n#include \"ccnotepad.h\"\r\n\r\n#include <QWidget>\r\n#include <QDialog>\r\n#include \"ui_bigfilemessage.h\"\r\n\r\nclass BigFileMessage : public QDialog\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tBigFileMessage(QWidget *parent = nullptr);\r\n\t~BigFileMessage();\r\n\tvoid setTip(QString msg);\r\n\tvoid setDefOpenMode(NddDocType defMode);\r\n\r\nprivate slots:\r\n\tvoid slot_okBt();\r\n\tvoid slot_cancelBt();\r\n\r\nprivate:\r\n\tUi::BigFileMessageClass ui;\r\n\tint m_result;\r\n};\r\n"
  },
  {
    "path": "src/bigfilemessage.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>BigFileMessageClass</class>\r\n <widget class=\"QDialog\" name=\"BigFileMessageClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>661</width>\r\n    <height>211</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>BigFileMessage</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <property name=\"leftMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>6</number>\r\n   </property>\r\n   <item>\r\n    <widget class=\"QLabel\" name=\"label\">\r\n     <property name=\"text\">\r\n      <string>TextLabel</string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Open Mode</string>\r\n     </property>\r\n     <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n      <item row=\"3\" column=\"2\">\r\n       <widget class=\"QLabel\" name=\"label_4\">\r\n        <property name=\"text\">\r\n         <string>Binary Open,load in blocks, and turn pages manually.</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"1\" column=\"0\">\r\n       <widget class=\"QRadioButton\" name=\"bigTextMode\">\r\n        <property name=\"text\">\r\n         <string>Big Text</string>\r\n        </property>\r\n        <property name=\"checked\">\r\n         <bool>true</bool>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"0\" column=\"2\">\r\n       <widget class=\"QLabel\" name=\"label_2\">\r\n        <property name=\"text\">\r\n         <string>Open directly in text mode.May be slow, Need wait.</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"0\" column=\"0\">\r\n       <widget class=\"QRadioButton\" name=\"textMode\">\r\n        <property name=\"text\">\r\n         <string>Text Mode</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"3\" column=\"0\">\r\n       <widget class=\"QRadioButton\" name=\"hexMode\">\r\n        <property name=\"text\">\r\n         <string>Hex Bin</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"1\" column=\"2\">\r\n       <widget class=\"QLabel\" name=\"label_3\">\r\n        <property name=\"text\">\r\n         <string>Big Text File(&lt; 8G) Read only open, load in blocks, and turn pages manually.</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"2\" column=\"2\">\r\n       <widget class=\"QLabel\" name=\"label_5\">\r\n        <property name=\"text\">\r\n         <string>Super big Text File(&gt; 8G bits) Read only open, load in blocks, and turn pages manually.</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"2\" column=\"0\">\r\n       <widget class=\"QRadioButton\" name=\"superBigTextMode\">\r\n        <property name=\"text\">\r\n         <string>Super Big Text</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"okBt\">\r\n       <property name=\"text\">\r\n        <string>Ok</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"cancelBt\">\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>okBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BigFileMessageClass</receiver>\r\n   <slot>slot_okBt()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>359</x>\r\n     <y>168</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>284</x>\r\n     <y>193</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>BigFileMessageClass</receiver>\r\n   <slot>slot_cancelBt()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>448</x>\r\n     <y>176</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>446</x>\r\n     <y>196</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_okBt()</slot>\r\n  <slot>slot_cancelBt()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/cceditor/ccnotepad.cpp",
    "content": "﻿#include <memory>\r\n#include \"ccnotepad.h\"\r\n#include \"filemanager.h\"\r\n#include \"Encode.h\"\r\n#include \"findwin.h\"\r\n#include \"nddsetting.h\"\r\n#include \"findresultwin.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"scintillahexeditview.h\"\r\n#include \"encodeconvert.h\"\r\n#include \"optionsview.h\"\r\n#include \"donate.h\"\r\n#include \"renamewin.h\"\r\n#include \"doctypelistview.h\"\r\n#include \"hexfilegoto.h\"\r\n#include \"qscilexertext.h\"\r\n#include \"styleset.h\"\r\n#include \"qtlangset.h\"\r\n#include \"columnedit.h\"\r\n#include \"langstyledefine.h\"\r\n#include \"extlexermanager.h\"\r\n#include \"aboutndd.h\"\r\n#include \"filelistview.h\"\r\n#include \"bigfilemessage.h\"\r\n#include \"batchfindreplace.h\"\r\n#include \"langextset.h\"\r\n#include \"shortcutkeymgr.h\"\r\n#include \"md5hash.h\"\r\n#include \"CmpareMode.h\"\r\n\r\n#ifdef NO_PLUGIN\r\n#include \"pluginmgr.h\"\r\n#include \"plugin.h\"\r\n#include \"pluginGl.h\"\r\n#endif\r\n\r\n#ifdef Q_OS_WIN\r\n#include \"dectfilechanges.h\"\r\n#endif\r\n\r\n#include <QFileDialog>\r\n#include <QDebug>\r\n#include <QTabBar>\r\n#include <QVariant> \r\n#include <QTextCodec>\r\n#include <QMessageBox> \r\n#include <QToolButton>\r\n#include <qsciscintilla.h>\r\n#include <QDockWidget>\r\n#include <QInputDialog>\r\n#include <QPair>\r\n#include <QMenu>\r\n#include <QProcess>\r\n#include <QSettings>\r\n#include <QSharedMemory>\r\n#include <QMimeDatabase>\r\n#include <QDateTime>\r\n#include <QShortcut>\r\n#ifdef Q_OS_WIN\r\n#include <QXmlQuery>\r\n#include <QXmlFormatter>\r\n#endif\r\n#include <QBuffer>\r\n#include <QXmlStreamReader>\r\n#include <QJsonObject>\r\n#include <QJsonDocument>\r\n#include <QWidgetAction>\r\n#include <QListWidgetItem>\r\n#include <QLibrary>\r\n\r\n#include \"Sorters.h\"\r\n\r\n#ifdef Q_OS_WIN\r\n#include <qt_windows.h>\r\n#include <Windows.h>\r\n#endif\r\n#include <memory>\r\n\r\n#ifdef Q_OS_WIN\r\nextern bool s_isAdminAuth;\r\n\r\ninline std::wstring StringToWString(const std::string& str)\r\n{\r\n#if 0\r\n\tint len = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0);\r\n\twchar_t* wide = new wchar_t[len + 1];\r\n\tmemset(wide, '\\0', sizeof(wchar_t) * (len + 1));\r\n\tMultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, wide, len);\r\n\tstd::wstring w_str(wide);\r\n\tdelete[] wide;\r\n\treturn w_str;\r\n#endif\r\n\r\n\tQString temp = QString::fromStdString(str);\r\n\treturn temp.toStdWString();\r\n}\r\n#endif\r\n\r\n\r\nint CCNotePad::s_padTimes = 0;\r\nint CCNotePad::s_zoomValue = 0;\r\n\r\nQString CCNotePad::s_lastOpenDirPath = \"\";\r\n\r\nQList<CCNotePad*> *CCNotePad::s_padInstances = nullptr;\r\n\r\n//文件保存的路径，qstring\r\nstatic const char* Edit_View_FilePath = \"filePath\";\r\n\r\n//int 新文件的id序号。非新建文件为-1\r\nstatic const char* Edit_File_New = \"newfile\";\r\n\r\n//是否修改 true false\r\nstatic const char* Edit_Text_Change = \"change\";\r\n\r\n//line行尾符号\r\nstatic const char* Edit_Text_End = \"lineend\";\r\n\r\n//外部修改\r\nstatic const char* Modify_Outside = \"modify\";\r\n\r\n//文档类型 1:text 2 hex\r\nstatic const char* Doc_Type = \"type\";\r\n\r\n//tail状态 0 关闭 1开启\r\nstatic const char* Tail_Status = \"tail\";\r\n\r\nstatic const int MSG_EXIST_TIME = 8000;\r\n\r\nvoid setFileOpenAttrProperty(QWidget* pwidget, OpenAttr attr)\r\n{\r\n\tQVariant v(attr);\r\n\tpwidget->setProperty(Open_Attr, v);\r\n}\r\n\r\nconst QString OpenAttrToString(OpenAttr openType)\r\n{\r\n\tQString ret;\r\n\tswitch (openType)\r\n\t{\r\n\tcase Text:\r\n\t\tret = QObject::tr(\"Text Mode\");\r\n\t\tbreak;\r\n\tcase HexReadOnly:\r\n\t\tret = QObject::tr(\"Hex ReadOnly Mode\");\r\n\t\tbreak;\r\n\tcase BigTextReadOnly:\r\n\t\tret = QObject::tr(\"Big Text ReadOnly Mode\");\r\n\t\tbreak;\r\n\tcase BigTextReadWrite:\r\n\t\tret = QObject::tr(\"Big Text ReadWrite Mode\");\r\n\t\tbreak;\r\n\tcase SuperBigTextReadOnly:\r\n\t\tret = QObject::tr(\"Super Big Text ReadOnly Mode\");\r\n\t\tbreak;\r\n\tcase TextReadOnly:\r\n\t\tret = QObject::tr(\"Text ReadOnly Mode\");\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tret = QObject::tr(\"File Mode\");\r\n\t\tbreak;\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nQString getFileOpenAttrProperty(QWidget* pwidget)\r\n{\r\n\tOpenAttr openType = (OpenAttr)pwidget->property(Open_Attr).toInt();\r\n\treturn OpenAttrToString(openType);\r\n}\r\n\r\nvoid setFilePathProperty(QWidget* pwidget, QString filePath)\r\n{\r\n\tQVariant v(filePath);\r\n\tpwidget->setProperty(Edit_View_FilePath, v);\r\n}\r\n\r\nQString getFilePathProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Edit_View_FilePath).toString();\r\n}\r\n\r\nvoid setFileNewIndexProperty(QWidget* pwidget, int index)\r\n{\r\n\tQVariant v(index);\r\n\tpwidget->setProperty(Edit_File_New, v);\r\n}\r\n\r\n//新文件的id，非新文件为-1\r\nint getFileNewIndexProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Edit_File_New).toInt();\r\n}\r\n\r\ninline void setTextChangeProperty(QWidget* pwidget, bool status)\r\n{\r\n\tQVariant v(status);\r\n\tpwidget->setProperty(Edit_Text_Change, v);\r\n}\r\n\r\nbool getTextChangeProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Edit_Text_Change).toBool();\r\n}\r\n\r\nvoid setCodeTypeProperty(QWidget* pwidget, int type)\r\n{\r\n\tQVariant v(type);\r\n\tpwidget->setProperty(Edit_Text_Code, v);\r\n}\r\n\r\nint getCodeTypeProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Edit_Text_Code).toInt();\r\n}\r\n\r\nvoid setEndTypeProperty(QWidget* pwidget, int type)\r\n{\r\n\tQVariant v(type);\r\n\tpwidget->setProperty(Edit_Text_End, v);\r\n}\r\n\r\nint getEndTypeProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Edit_Text_End).toInt();\r\n}\r\n\r\nvoid setFileTailProperty(QWidget* pwidget, int type)\r\n{\r\n\tQVariant v(type);\r\n\tpwidget->setProperty(Tail_Status, v);\r\n}\r\n\r\nint getFileTailProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Tail_Status).toInt();\r\n}\r\n\r\n//根据当前路径，得到交互文件的名称\r\nQString getSwapFilePath(QString filePath)\r\n{\r\n\tQFileInfo fi(filePath);\r\n\r\n#ifdef _WIN32\r\n\treturn QString(\"%1\\\\.%2.swp\").arg(fi.absolutePath()).arg(fi.fileName());\r\n#else\r\n\treturn QString(\"%1/.%2.swp\").arg(fi.absolutePath()).arg(fi.fileName());\r\n#endif\r\n}\r\n\r\n\r\n\r\nvoid setDocTypeProperty(QWidget* pwidget, NddDocType type)\r\n{\r\n\tQVariant v(type);\r\n\tpwidget->setProperty(Doc_Type, v);\r\n}\r\n\r\nint getDocTypeProperty(QWidget* pwidget)\r\n{\r\n\treturn pwidget->property(Doc_Type).toInt();\r\n}\r\n\r\n//#define STYLE_DEEPBLUE\r\n\r\n#define STYLE_NOTEPAD\r\n\r\n#ifdef STYLE_BLACK\r\nconst char *NewFileIcon = \":/Resources/edit/styleblack/newfile.png\";\r\nconst char *OpenFileIcon = \":/Resources/edit/styleblack/openfile.png\";\r\nconst char *NeedSaveBarIcon = \":/Resources/edit/styleblack/needsavebar.png\";\r\nconst char *NoNeedSaveBarIcon = \":/Resources/edit/styleblack/noneedsavebar.png\";\r\nconst char *NeedSaveAllBarIcon = \":/Resources/edit/styleblack/needsaveallbar.png\";\r\nconst char *NoNeedSaveAllBarIcon = \":/Resources/edit/styleblack/noneedsaveallbar.png\";\r\nconst char *CloseFileIcon = \":/Resources/edit/styleblack/closefile.png\";\r\nconst char *CloseAllFileIcon = \":/Resources/edit/styleblack/closeall.png\";\r\nconst char *CutIcon = \":/Resources/edit/styleblack/cut.png\";\r\nconst char *CopyFileIcon = \":/Resources/edit/styleblack/copy.png\";\r\nconst char *PasteIcon = \":/Resources/edit/styleblack/paste.png\";\r\nconst char *UndoIcon = \":/Resources/edit/styleblack/undo.png\";\r\nconst char *RedoIcon = \":/Resources/edit/styleblack/redo.png\";\r\nconst char *FindIcon = \":/Resources/edit/styleblack/find.png\";\r\nconst char *ReplaceIcon = \":/Resources/edit/styleblack/replace.png\";\r\nconst char *ZoominIcon = \":/Resources/edit/styleblack/zoomin.png\";\r\nconst char *ZoomoutIcon = \":/Resources/edit/styleblack/zoomout.png\";\r\nconst char *CrlfIcon = \":/Resources/edit/styleblack/crlf.png\";\r\nconst char *WhiteIcon = \":/Resources/edit/styleblack/white.png\";\r\nconst char *FileCompareIcon = \":/Resources/edit/styleblack/filecompare.png\";\r\nconst char *DirCompareIcon = \":/Resources/edit/styleblack/dircompare.png\";\r\nconst char *TransCodeIcon = \":/Resources/edit/styleblack/transcode.png\";\r\nconst char *RenameIcon = \":/Resources/edit/styleblack/rename.png\";\r\n#endif\r\n\r\n#ifdef STYLE_BLUDE\r\nconst char *NewFileIcon32 = \":/Resources/edit/styleblue/newfile.png\";\r\nconst char *OpenFileIcon32 = \":/Resources/edit/styleblue/openfile.png\";\r\nconst char *NeedSaveBarIcon32 = \":/Resources/edit/styleblue/needsavebar.png\";\r\nconst char *NoNeedSaveBarIcon32 = \":/Resources/edit/styleblue/needsavebar.png\";\r\nconst char *NeedSaveAllBarIcon32 = \":/Resources/edit/styleblue/needsaveall.png\";\r\nconst char *NoNeedSaveAllBarIcon32 = \":/Resources/edit/styleblue/needsaveall.png\";\r\nconst char* AutoTimeSaveBarIcon32 = \":/Resources/edit/styleblue/autosave.png\";\r\nconst char *CloseFileIcon32 = \":/Resources/edit/styleblue/closefile.png\";\r\nconst char *CloseAllFileIcon32 = \":/Resources/edit/styleblue/closeall.png\";\r\nconst char *CutIcon32 = \":/Resources/edit/styleblue/cut.png\";\r\nconst char *CopyFileIcon32 = \":/Resources/edit/styleblue/copy.png\";\r\nconst char *PasteIcon32 = \":/Resources/edit/styleblue/paste.png\";\r\nconst char *UndoIcon32 = \":/Resources/edit/styleblue/undo.png\";\r\nconst char *RedoIcon32 = \":/Resources/edit/styleblue/redo.png\";\r\nconst char *FindIcon32 = \":/Resources/edit/styleblue/find.png\";\r\nconst char *ReplaceIcon32 = \":/Resources/edit/styleblue/replace.png\";\r\nconst char* MarkIcon32 = \":/Resources/edit/styleblue/mark.png\";\r\nconst char* SignIcon32 = \":/Resources/edit/styleblue/sign.png\";\r\nconst char* ClearSignIcon32 = \":/Resources/edit/styleblue/clearsign.png\";\r\nconst char *ZoominIcon32 = \":/Resources/edit/styleblue/zoomin.png\";\r\nconst char *ZoomoutIcon32 = \":/Resources/edit/styleblue/zoomout.png\";\r\nconst char *CrlfIcon32 = \":/Resources/edit/styleblue/crlf.png\";\r\nconst char *WhiteIcon32 = \":/Resources/edit/styleblue/white.png\";\r\nconst char *IndentIcon32 = \":/Resources/edit/styleblue/indentGuide.png\";\r\nconst char *FileCompareIcon32 = \":/Resources/edit/styleblue/filecompare.png\";\r\nconst char *DirCompareIcon32 = \":/Resources/edit/styleblue/dircompare.png\";\r\nconst char *BinCmpIcon32 = \":/Resources/edit/styleblue/bincmp.png\";\r\nconst char *TransCodeIcon32 = \":/Resources/edit/styleblue/transcode.png\";\r\nconst char *RenameIcon32 = \":/Resources/edit/styleblue/rename.png\";\r\nconst char *PreHexIcon32 = \":/Resources/edit/styleblue/pre.png\";\r\nconst char *NextHexIcon32 = \":/Resources/edit/styleblue/next.png\";\r\nconst char *GotoHexIcon32 = \":/Resources/edit/styleblue/goto.png\";\r\nconst char *TabNeedSave32 = \":/Resources/edit/global/needsave.png\";\r\nconst char *TabNoNeedSave32 = \":/Resources/edit/global/noneedsave.png\";\r\n#endif\r\n\r\nconst char *NewFileIcon32 = \":/Resources/edit/styledeepblue/newfile.png\";\r\nconst char *OpenFileIcon32 = \":/Resources/edit/styledeepblue/openfile.png\";\r\nconst char *NeedSaveBarIcon32 = \":/Resources/edit/styledeepblue/needsavebar.png\";\r\nconst char *NoNeedSaveBarIcon32 = \":/Resources/edit/styledeepblue/needsavebar.png\";\r\nconst char *NeedSaveAllBarIcon32 = \":/Resources/edit/styledeepblue/needsaveall.png\";\r\nconst char *NoNeedSaveAllBarIcon32 = \":/Resources/edit/styledeepblue/needsaveall.png\";\r\nconst char* AutoTimeSaveBarIcon32 = \":/Resources/edit/styledeepblue/autosave.png\";\r\nconst char *CloseFileIcon32 = \":/Resources/edit/styledeepblue/closefile.png\";\r\nconst char *CloseAllFileIcon32 = \":/Resources/edit/styledeepblue/closeall.png\";\r\nconst char *CutIcon32 = \":/Resources/edit/styledeepblue/cut.png\";\r\nconst char *CopyFileIcon32 = \":/Resources/edit/styledeepblue/copy.png\";\r\nconst char *PasteIcon32 = \":/Resources/edit/styledeepblue/paste.png\";\r\nconst char *UndoIcon32 = \":/Resources/edit/styledeepblue/undo.png\";\r\nconst char *RedoIcon32 = \":/Resources/edit/styledeepblue/redo.png\";\r\nconst char *FindIcon32 = \":/Resources/edit/styledeepblue/find.png\";\r\nconst char *ReplaceIcon32 = \":/Resources/edit/styledeepblue/replace.png\";\r\nconst char* MarkIcon32 = \":/Resources/edit/styledeepblue/mark.png\";\r\nconst char* SignIcon32 = \":/Resources/edit/styledeepblue/sign.png\";\r\nconst char* ClearSignIcon32 = \":/Resources/edit/styledeepblue/clearsign.png\";\r\nconst char *ZoominIcon32 = \":/Resources/edit/styledeepblue/zoomin.png\";\r\nconst char *ZoomoutIcon32 = \":/Resources/edit/styledeepblue/zoomout.png\";\r\nconst char *CrlfIcon32 = \":/Resources/edit/styledeepblue/crlf.png\";\r\nconst char *WhiteIcon32 = \":/Resources/edit/styledeepblue/white.png\";\r\nconst char *IndentIcon32 = \":/Resources/edit/styledeepblue/indentGuide.png\";\r\nconst char* TailfIcon32 = \":/Resources/edit/styledeepblue/tailf.png\";\r\nconst char *FileCompareIcon32 = \":/Resources/edit/styledeepblue/filecompare.png\";\r\nconst char *DirCompareIcon32 = \":/Resources/edit/styledeepblue/dircompare.png\";\r\nconst char *BinCmpIcon32 = \":/Resources/edit/styledeepblue/bincmp.png\";\r\nconst char *TransCodeIcon32 = \":/Resources/edit/styledeepblue/transcode.png\";\r\nconst char *RenameIcon32 = \":/Resources/edit/styledeepblue/rename.png\";\r\nconst char *PreHexIcon32 = \":/Resources/edit/styledeepblue/pre.png\";\r\nconst char *NextHexIcon32 = \":/Resources/edit/styledeepblue/next.png\";\r\nconst char *GotoHexIcon32 = \":/Resources/edit/styledeepblue/goto.png\";\r\n//const char *TabNeedSave32 = \":/Resources/edit/global/needsave.png\";\r\n//const char *TabNoNeedSave32 = \":/Resources/edit/global/noneedsave.png\";\r\n\r\n#if 0\r\nconst char *NewFileIconDark32 = \":/Resources/edit/styledark/newfile.png\";\r\nconst char *OpenFileIconDark32 = \":/Resources/edit/styledark/openfile.png\";\r\nconst char *NeedSaveBarIconDark32 = \":/Resources/edit/styledark/needsavebar.png\";\r\nconst char *NoNeedSaveBarIconDark32 = \":/Resources/edit/styledark/needsavebar.png\";\r\nconst char *NeedSaveAllBarIconDark32 = \":/Resources/edit/styledark/needsaveall.png\";\r\nconst char *NoNeedSaveAllBarIconDark32 = \":/Resources/edit/styledark/needsaveall.png\";\r\nconst char* AutoTimeSaveBarIconDark32 = \":/Resources/edit/styledark/autosave.png\";\r\nconst char *CloseFileIconDark32 = \":/Resources/edit/styledark/closefile.png\";\r\nconst char *CloseAllFileIconDark32 = \":/Resources/edit/styledark/closeall.png\";\r\nconst char *CutIconDark32 = \":/Resources/edit/styledark/cut.png\";\r\nconst char *CopyFileIconDark32 = \":/Resources/edit/styledark/copy.png\";\r\nconst char *PasteIconDark32 = \":/Resources/edit/styledark/paste.png\";\r\nconst char *UndoIconDark32 = \":/Resources/edit/styledark/undo.png\";\r\nconst char *RedoIconDark32 = \":/Resources/edit/styledark/redo.png\";\r\nconst char *FindIconDark32 = \":/Resources/edit/styledark/find.png\";\r\nconst char *ReplaceIconDark32 = \":/Resources/edit/styledark/replace.png\";\r\nconst char* MarkIconDark32 = \":/Resources/edit/styledark/mark.png\";\r\nconst char* SignIconDark32 = \":/Resources/edit/styledark/sign.png\";\r\nconst char* ClearSignIconDark32 = \":/Resources/edit/styledark/clearsign.png\";\r\nconst char *ZoominIconDark32 = \":/Resources/edit/styledark/zoomin.png\";\r\nconst char *ZoomoutIconDark32 = \":/Resources/edit/styledark/zoomout.png\";\r\nconst char *CrlfIconDark32 = \":/Resources/edit/styledark/crlf.png\";\r\nconst char *WhiteIconDark32 = \":/Resources/edit/styledark/white.png\";\r\nconst char *IndentIconDark32 = \":/Resources/edit/styledark/indentGuide.png\";\r\nconst char *FileCompareIconDark32 = \":/Resources/edit/styledark/filecompare.png\";\r\nconst char *DirCompareIconDark32 = \":/Resources/edit/styledark/dircompare.png\";\r\nconst char *BinCmpIconDark32 = \":/Resources/edit/styledark/bincmp.png\";\r\nconst char *TransCodeIconDark32 = \":/Resources/edit/styledark/transcode.png\";\r\nconst char *RenameIconDark32 = \":/Resources/edit/styledark/rename.png\";\r\nconst char *PreHexIconDark32 = \":/Resources/edit/styledark/pre.png\";\r\nconst char *NextHexIconDark32 = \":/Resources/edit/styledark/next.png\";\r\nconst char *GotoHexIconDark32 = \":/Resources/edit/styledark/goto.png\";\r\nconst char *TabNeedSaveDark32 = \":/Resources/edit/global/needsave.png\";\r\nconst char *TabNoNeedSaveDark32 = \":/Resources/edit/global/noneedsavedark.png\";\r\n#endif\r\n\r\nconst char *TabNeedSaveDark32 = \":/notepad/needsave.png\";\r\nconst char *TabNoNeedSaveDark32 = \":/notepad/noneedsave.png\";\r\n\r\n\r\n#ifdef STYLE_NOTEPAD\r\nconst char* NewFileIcon = \":/notepad/newFile.png\";\r\nconst char* OpenFileIcon = \":/notepad/openFile.png\";\r\nconst char* NeedSaveBarIcon = \":/notepad/saveFile.png\";\r\nconst char* NoNeedSaveBarIcon = \":/notepad/saveFile.png\";\r\nconst char* NeedSaveAllBarIcon = \":/notepad/saveAll.png\";\r\nconst char* NoNeedSaveAllBarIcon = \":/notepad/saveAll.png\";\r\nconst char* AutoTimeSaveBarIcon = \":/notepad/autosave.png\";\r\nconst char* CloseFileIcon = \":/notepad/closeFile.png\";\r\nconst char* CloseAllFileIcon = \":/notepad/closeAll.png\";\r\nconst char* CutIcon = \":/notepad/cut.png\";\r\nconst char* CopyFileIcon = \":/notepad/copy.png\";\r\nconst char* PasteIcon = \":/notepad/paste.png\";\r\nconst char* UndoIcon = \":/notepad/undo.png\";\r\nconst char* RedoIcon = \":/notepad/redo.png\";\r\nconst char* FindIcon = \":/notepad/find.png\";\r\nconst char* ReplaceIcon = \":/notepad/findReplace.png\";\r\nconst char* MarkIcon = \":/notepad/mark.png\";\r\nconst char* SignIcon = \":/notepad/sign.png\";\r\nconst char* ClearSignIcon = \":/notepad/clearsign.png\";\r\nconst char* ZoominIcon = \":/notepad/zoomIn.png\";\r\nconst char* ZoomoutIcon = \":/notepad/zoomOut.png\";\r\nconst char* CrlfIcon = \":/notepad/wrap.png\";\r\nconst char* WhiteIcon = \":/notepad/invisibleChar.png\";\r\nconst char* IndentIcon = \":/notepad/indentGuide.png\";\r\nconst char* TailfIcon = \":/notepad/tailf.png\";\r\nconst char* FileCompareIcon = \":/notepad/cmpfile.png\";\r\nconst char* DirCompareIcon = \":/notepad/cmpdir.png\";\r\nconst char* BinCmpIcon = \":/notepad/cmpbin.png\";\r\nconst char* TransCodeIcon = \":/notepad/ecg.png\";\r\nconst char* RenameIcon = \":/notepad/rename.png\";\r\nconst char* PreHexIcon = \":/notepad/pre.png\";\r\nconst char* NextHexIcon = \":/notepad/next.png\";\r\nconst char* GotoHexIcon = \":/notepad/go.png\";\r\nconst char* RightCloseIcon = \":/notepad/rightClose.png\";\r\n\r\nconst char *TabNeedSave = \":/notepad/needsave.png\";\r\nconst char *TabNoNeedSave = \":/notepad/noneedsave.png\";\r\n#endif\r\n\r\nQString watchFilePath;\r\n\r\n//文件后缀与语言关联,与在ScintillaEditView::langNames中的序号为关联\r\n//static QMap<QString, int> s_fileTypeToLangMap; //使用ExtLexerManager进行了替换\r\n\r\nQStringList CCNotePad::s_findHistroy;\r\n\r\nQStringList CCNotePad::s_replaceHistroy;\r\n\r\nint CCNotePad::s_autoWarp = 0; //自动换行\r\nint CCNotePad::s_indent = 0; //自动缩进\r\nint CCNotePad::s_showblank = 0; //显示空白\r\nint CCNotePad::s_restoreLastFile = 1;//自动恢复上次打开的文件\r\nint CCNotePad::s_curStyleId = 0;\r\nint CCNotePad::s_curMarkColorId = SCE_UNIVERSAL_FOUND_STYLE_EXT5;\r\nint CCNotePad::s_hightWebAddr = 0;\r\n\r\n//lexerName to index\r\n\r\n\r\n//这里是静态的默认文件后缀类型与词法类型。还有一个动态的，用来管理用户新增语言的部分\r\nFileExtLexer s_fileExtMapLexerId[FileExtMapLexerIdLen] = {\r\n{QString(\"h\"), L_C},\r\n{QString(\"c\"), L_C},\r\n{QString(\"cs\"), L_CS},\r\n{QString(\"cpp\"), L_CPP},\r\n{QString(\"cxx\"), L_CPP},\r\n{QString(\"rc\"), L_RC},\r\n{QString(\"html\"), L_HTML},\r\n{QString(\"htm\"), L_HTML},\r\n{QString(\"htmls\"), L_HTML},\r\n{QString(\"ini\"), L_INI},\r\n{QString(\"js\"), L_JAVASCRIPT},\r\n{QString(\"ts\"), L_TYPESCRIPT},\r\n{QString(\"css\"), L_CSS},\r\n{QString(\"java\"), L_JAVA},\r\n{QString(\"xml\"), L_XML},\r\n{QString(\"py\"), L_PYTHON},\r\n{QString(\"pas\"), L_PASCAL},\r\n{QString(\"php\"), L_PHP},\r\n{QString(\"sh\"), L_BASH},\r\n{QString(\"pl\"), L_PERL},\r\n{QString(\"rb\"), L_RUBY},\r\n{QString(\"bat\"), L_BATCH},\r\n{QString(\"go\"), L_GO},\r\n{QString(\"txt\"), L_TXT},\r\n{QString(\"pro\"), L_INI},\r\n{QString(\"pri\"), L_INI},\r\n{QString(\"json\"), L_JSON},\r\n{QString(\"lua\"), L_LUA},\r\n{QString(\"sql\"), L_SQL},\r\n{QString(\"yml\"), L_YAML},\r\n{QString(\"m\"), L_MATLAB},\r\n{QString(\"md\"), L_MARKDOWN},\r\n{QString(\"nsi\"), L_NSIS},\r\n{QString(\"nsh\"), L_NSIS},\r\n{QString(\"v\"), L_VERILOG},\r\n{QString(\"rs\"), L_RUST},\r\n{QString(\"frm\"), L_VB},\r\n{QString(\"NULL\"), L_EXTERNAL},\r\n};\r\n\r\nRC_LINE_FORM getLineEndTypeFromBigText(QString& text)\r\n{\r\n\tfor (int i = 0, s = text.size(); i < s; ++i)\r\n\t{\r\n\t\tif (text.at(i) == '\\n' && ((i > 1) && text.at(i - 1) == '\\r'))\r\n\t\t{\r\n\t\t\treturn DOS_LINE;\r\n\t\t}\r\n\t\telse if (text.at(i) == '\\n' && ((i > 1) && text.at(i - 1) != '\\r'))\r\n\t\t{\r\n\t\t\treturn UNIX_LINE;\r\n\t\t}\r\n\t\telse if (text.at(i) == '\\r' && ((i != (s - 1)) && text.at(i + 1) != '\\n'))\r\n\t\t{\r\n\t\t\treturn MAC_LINE;\r\n\t\t}\r\n\t}\r\n\t//默认windws\r\n\treturn DOS_LINE;\r\n}\r\n\r\n//根据文件的后缀来确定文件的编程语言，进而设置默认的LEXER\r\nvoid initFileTypeLangMap()\r\n{\r\n\tif (0 == ExtLexerManager::getInstance()->size())\r\n\t{\r\n\t\t//先加载静态的关联文件后缀\r\n\t\tfor (int i = 0; i < FileExtMapLexerIdLen; ++i)\r\n\t\t{\r\n\t\t\tif (s_fileExtMapLexerId[i].id == L_EXTERNAL)\r\n\t\t\t{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tFileExtLexer& v = s_fileExtMapLexerId[i];\r\n\r\n\t\t\t\t//标准的定义可以忽略后面的tag,因为标准lexer的tag都是存在的。\r\n\t\t\t\tExtLexerManager::getInstance()->addNewExtType(v.ext, v.id, ScintillaEditView::getTagByLexerId(v.id));\r\n\t\t\t}\r\n\t\t}\r\n\t\t//在加载动态的关联部分，这部分是用户自定义的类型。这里最好不要放在多个文件，否则会慢，单独放一个文件即可。\r\n\t\t//把新语言tagName,和关联ext单独存放起来ext_tag.ini。只读取一个文件就能获取所有，避免遍历慢\r\n\t\tQString extsFile = QString(\"notepad/userlang/ext_tag\");//ext_tag是存在所有tag ext的文件\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, extsFile);\r\n\t\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\t\tQStringList keys = qs.allKeys();\r\n\t\t//LangType lexId = L_USER_TXT;\r\n\t\tbool ok = true;\r\n\t\tQString tagName;\r\n\t\tLangType lexerId;\r\n\r\n\t\tfor (int i = 0, s = keys.size(); i < s; ++i)\r\n\t\t{\r\n\t\t\tconst QString& tagName = keys.at(i);\r\n\r\n\t\t\tQStringList exts = qs.value(tagName).toStringList();\r\n\t\t\tlexerId = (LangType)exts.takeLast().toInt(&ok);\r\n\t\t\tQString ext;\r\n\t\t\tif (ok)\r\n\t\t\t{\r\n\t\t\t\tforeach(ext, exts)\r\n\t\t\t\t{\r\n\r\n\t\t\t\t\tExtLexerManager::getInstance()->addNewExtType(ext, lexerId, tagName);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//最后加载用户自定义的文件后缀名和语法关联文件\r\n\t\tLangExtSet::loadExtRelevanceToMagr();\r\n\t}\r\n}\r\n\r\nvoid  CCNotePad::initLexerNameToIndex()\r\n{\r\n\tif (m_lexerNameToIndex.isEmpty())\r\n\t{\r\n\t\tLexerNode* pNodes = new LexerNode[100];\r\n\r\n\t\tint i = 0;\r\n\r\n\t\t//pNodes[i].pAct = ui.actionAVS;\r\n\t\t//pNodes[i].index = L_AVS;\r\n\t\tQVariant data((int)L_AVS);\r\n\t\t//ui.actionAVS->setData(data);\r\n\t\t//m_lexerNameToIndex.insert(\"avs\", pNodes[i]);\r\n  //      ++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionAssembly;\r\n\t\tpNodes[i].index = L_ASM;\r\n\t\tdata.setValue(int(L_ASM));\r\n\t\tui.actionAssembly->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"asm\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionbash;\r\n\t\tpNodes[i].index = L_BASH;\r\n\t\tdata.setValue(int(L_BASH));\r\n\t\tui.actionbash->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"bash\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionBatch;\r\n\t\tpNodes[i].index = L_BATCH;\r\n\t\tdata.setValue(int(L_BATCH));\r\n\t\tui.actionBatch->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"batch\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionCMake;\r\n\t\tpNodes[i].index = L_CMAKE;\r\n\t\tdata.setValue(int(L_CMAKE));\r\n\t\tui.actionCMake->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"cmake\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionCoffeeScript;\r\n\t\tpNodes[i].index = L_COFFEESCRIPT;\r\n\t\tdata.setValue(int(L_COFFEESCRIPT));\r\n\t\tui.actionCoffeeScript->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"coffeescript\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionCPP;\r\n\t\tpNodes[i].index = L_CPP;\r\n\t\tdata.setValue(int(L_CPP));\r\n\t\tui.actionCPP->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"cpp\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionCShape;\r\n\t\tpNodes[i].index = L_CS;\r\n\t\tdata.setValue(int(L_CS));\r\n\t\tui.actionCShape->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"csharp\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionCss;\r\n\t\tpNodes[i].index = L_CSS;\r\n\t\tdata.setValue(int(L_CSS));\r\n\t\tui.actionCss->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"css\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionD_2;\r\n\t\tpNodes[i].index = L_D;\r\n\t\tdata.setValue(int(L_D));\r\n\t\tui.actionD_2->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"d\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionDiff;\r\n\t\tpNodes[i].index = L_DIFF;\r\n\t\tdata.setValue(int(L_DIFF));\r\n\t\tui.actionDiff->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"diff\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionEdifact;\r\n\t\tpNodes[i].index = L_EDIFACT;\r\n\t\tdata.setValue(int(L_EDIFACT));\r\n\t\tui.actionEdifact->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"edifact\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionFortran;\r\n\t\tpNodes[i].index = L_FORTRAN;\r\n\t\tdata.setValue(int(L_FORTRAN));\r\n\t\tui.actionFortran->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"fortran\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionFortran77;\r\n\t\tpNodes[i].index = L_FORTRAN_77;\r\n\t\tdata.setValue(int(L_FORTRAN_77));\r\n\t\tui.actionFortran77->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"fortran77\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionHTML;\r\n\t\tpNodes[i].index = L_HTML;\r\n\t\tdata.setValue(int(L_HTML));\r\n\t\tui.actionHTML->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"html\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionIDL;\r\n\t\tpNodes[i].index = L_IDL;\r\n\t\tdata.setValue(int(L_IDL));\r\n\t\tui.actionIDL->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"idl\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionJava;\r\n\t\tpNodes[i].index = L_JAVA;\r\n\t\tdata.setValue(int(L_JAVA));\r\n\t\tui.actionJava->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"java\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionJavaScript;\r\n\t\tpNodes[i].index = L_JAVASCRIPT;\r\n\t\tdata.setValue(int(L_JAVASCRIPT));\r\n\t\tui.actionJavaScript->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"javascript\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionjson;\r\n\t\tpNodes[i].index = L_JSON;\r\n\t\tdata.setValue(int(L_JSON));\r\n\t\tui.actionjson->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"json\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionLua;\r\n\t\tpNodes[i].index = L_LUA;\r\n\t\tdata.setValue(int(L_LUA));\r\n\t\tui.actionLua->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"lua\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionMakefile;\r\n\t\tpNodes[i].index = L_MAKEFILE;\r\n\t\tdata.setValue(int(L_MAKEFILE));\r\n\t\tui.actionMakefile->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"makefile\", pNodes[i]);\r\n\t\t++i;\r\n\r\n        pNodes[i].pAct = ui.actionMarkDown_2;\r\n\t\tpNodes[i].index = L_MARKDOWN;\r\n\t\tdata.setValue(int(L_MARKDOWN));\r\n        ui.actionMarkDown_2->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"markdown\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionMatlab;\r\n\t\tpNodes[i].index = L_MATLAB;\r\n\t\tdata.setValue(int(L_MATLAB));\r\n\t\tui.actionMatlab->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"matlab\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionNSIS;\r\n\t\tpNodes[i].index = L_NSIS;\r\n\t\tdata.setValue(int(L_NSIS));\r\n\t\tui.actionNSIS->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"nsis\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionOctave;\r\n\t\tpNodes[i].index = L_OCTAVE;\r\n\t\tdata.setValue(int(L_OCTAVE));\r\n\t\tui.actionOctave->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"octave\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPascal;\r\n\t\tpNodes[i].index = L_PASCAL;\r\n\t\tdata.setValue(int(L_PASCAL));\r\n\t\tui.actionPascal->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"pascal\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPerl;\r\n\t\tpNodes[i].index = L_PERL;\r\n\t\tdata.setValue(int(L_PERL));\r\n\t\tui.actionPerl->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"perl\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPo;\r\n\t\tpNodes[i].index = L_PO;\r\n\t\tdata.setValue(int(L_PO));\r\n\t\tui.actionPo->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"po\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPostScript;\r\n\t\tpNodes[i].index = L_PS;\r\n\t\tdata.setValue(int(L_PS));\r\n\t\tui.actionPostScript->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"postscript\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPov;\r\n\t\tpNodes[i].index = L_POV;\r\n\t\tdata.setValue(int(L_POV));\r\n\t\tui.actionPov->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"pov\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionProperties_file;\r\n\t\tpNodes[i].index = L_INI;\r\n\t\tdata.setValue(int(L_INI));\r\n\t\tui.actionProperties_file->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"props\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPython;\r\n\t\tpNodes[i].index = L_PYTHON;\r\n\t\tdata.setValue(int(L_PYTHON));\r\n\t\tui.actionPython->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"python\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionR_2;\r\n\t\tpNodes[i].index = L_R;\r\n\t\tdata.setValue(int(L_R));\r\n\t\tui.actionR_2->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"r\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionRuby;\r\n\t\tpNodes[i].index = L_RUBY;\r\n\t\tdata.setValue(int(L_RUBY));\r\n\t\tui.actionRuby->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"ruby\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionRust;\r\n\t\tpNodes[i].index = L_RUST;\r\n\t\tdata.setValue(int(L_RUST));\r\n\t\tui.actionRust->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"rust\", pNodes[i]);\r\n\t\t++i;\r\n\t\t\r\n\r\n\t\tpNodes[i].pAct = ui.actionShell;\r\n\t\tpNodes[i].index = L_BASH;\r\n\t\tdata.setValue(int(L_BASH));\r\n\t\tui.actionShell->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"shell\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionSpice;\r\n\t\tpNodes[i].index = L_SPICE;\r\n\t\tdata.setValue(int(L_SPICE));\r\n\t\tui.actionSpice->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"spice\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionSql;\r\n\t\tpNodes[i].index = L_SQL;\r\n\t\tdata.setValue(int(L_SQL));\r\n\t\tui.actionSql->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"sql\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionTcl;\r\n\t\tpNodes[i].index = L_TCL;\r\n\t\tdata.setValue(int(L_TCL));\r\n\t\tui.actionTcl->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"tcl\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\r\n\t\tpNodes[i].pAct = ui.actionTex;\r\n\t\tpNodes[i].index = L_TEX;\r\n\t\tdata.setValue(int(L_TEX));\r\n\t\tui.actionTex->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"tex\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionVb;\r\n\t\tpNodes[i].index = L_VB;\r\n\t\tdata.setValue(int(L_VB));\r\n\t\tui.actionVb->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"vb\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionVerilog;\r\n\t\tpNodes[i].index = L_VERILOG;\r\n\t\tdata.setValue(int(L_VERILOG));\r\n\t\tui.actionVerilog->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"verilog\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\r\n\t\tpNodes[i].pAct = ui.actionVHDL;\r\n\t\tpNodes[i].index = L_VHDL;\r\n\t\tdata.setValue(int(L_VHDL));\r\n\t\tui.actionVHDL->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"vhdl\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionXML;\r\n\t\tpNodes[i].index = L_XML;\r\n\t\tdata.setValue(int(L_XML));\r\n\t\tui.actionXML->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"xml\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionYAML;\r\n\t\tpNodes[i].index = L_YAML;\r\n\t\tdata.setValue(int(L_YAML));\r\n\t\tui.actionYAML->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"yaml\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\t//共用C++\r\n\t\tpNodes[i].pAct = ui.actionC;\r\n\t\tpNodes[i].index = L_C;\r\n\t\tdata.setValue(int(L_C));\r\n\t\tui.actionC->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"c\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionObjective_C;\r\n\t\tpNodes[i].index = L_OBJC;\r\n\t\tdata.setValue(int(L_OBJC));\r\n\t\tui.actionObjective_C->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"objc\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionRC;\r\n\t\tpNodes[i].index = L_RC;\r\n\t\tdata.setValue(int(L_RC));\r\n\t\tui.actionRC->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"rc\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionASP;\r\n\t\tpNodes[i].index = L_ASP;\r\n\t\tdata.setValue(int(L_ASP));\r\n\t\tui.actionASP->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"asp\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionJsp;\r\n\t\tpNodes[i].index = L_JSP;\r\n\t\tdata.setValue(int(L_JSP));\r\n\t\tui.actionJsp->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"jsp\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionPhp;\r\n\t\tpNodes[i].index = L_PHP;\r\n\t\tdata.setValue(int(L_PHP));\r\n\t\tui.actionPhp->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"php\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionini;\r\n\t\tpNodes[i].index = L_INI;\r\n\t\tdata.setValue(int(L_INI));\r\n\t\tui.actionini->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"ini\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionTypeScript;\r\n\t\tpNodes[i].index = L_TYPESCRIPT;\r\n\t\tdata.setValue(int(L_TYPESCRIPT));\r\n\t\tui.actionTypeScript->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"typescript\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionGo;\r\n\t\tpNodes[i].index = L_GO;\r\n\t\tdata.setValue(int(L_GO));\r\n\t\tui.actionGo->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"go\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionTxt;\r\n\t\tpNodes[i].index = L_TXT;\r\n\t\tdata.setValue(int(L_TXT));\r\n\t\tui.actionTxt->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"txt\", pNodes[i]);\r\n\t\t++i;\r\n\r\n\t\tpNodes[i].pAct = ui.actionUserDefine;\r\n\t\tpNodes[i].index = L_USER_DEFINE;\r\n\t\tdata.setValue(int(L_USER_DEFINE));\r\n\t\tui.actionUserDefine->setData(data);\r\n\t\tm_lexerNameToIndex.insert(\"UserDefine\", pNodes[i]);\r\n\t\t++i;\r\n\t\tdelete[]pNodes;\r\n\r\n\t}\r\n}\r\n\r\n\r\n#ifdef Q_OS_WIN\r\nint CCNotePad::runAsAdmin(const QString& filePath)\r\n{\r\n\t//已经是管理员了，直接返回错误\r\n\tif (s_isAdminAuth)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Run As Admin Failed to save the file. Please check the file permissions.\"));\r\n\t\treturn 1;\r\n\t}\r\n\r\n\tTCHAR nddFullPath[MAX_PATH];\r\n\t::GetModuleFileName(NULL, nddFullPath, MAX_PATH);\r\n\r\n\t////先释放掉单一占位的内存\r\n\t//if (m_shareMem->isAttached())\r\n\t//{\r\n\t//\tm_shareMem->detach();\r\n\t//}\r\n\tQString argStr = QString(\"-muti %1\").arg(filePath);\r\n\r\n\tstd::basic_string<TCHAR> args = StringToWString(argStr.toStdString());\r\n\tsize_t shellExecRes = (size_t)::ShellExecute(NULL, TEXT(\"runas\"), nddFullPath, args.c_str(), TEXT(\".\"), SW_SHOW);\r\n\r\n\t// If the function succeeds, it returns a value greater than 32. If the function fails,\r\n\t// it returns an error value that indicates the cause of the failure.\r\n\t// https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx\r\n\r\n\tif (shellExecRes < 32)\r\n\t{\r\n\t\t//失败后弹框。\r\n\t\tQMessageBox::warning(nullptr, tr(\"Error\"), tr(\"Can't Get Admin Auth, Open File %1 failed\").arg(filePath));\r\n\t\treturn 1;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//成功后暂时不退出，因为amin存在的还有存在一些问题，比如后续文件不能右键菜单打开\r\n\t\t//所以还需要维持当前这个界面存在\r\n\t\t//成功获取权限后当前退出。这里其实还需要做一些释放操作\r\n\t\t/*if (m_shareMem->isAttached())\r\n\t\t{\r\n\t\t\tm_shareMem->detach();\r\n\t\t}\r\n\t\texit(0);*/\r\n\t\treturn 1;\r\n\t}\r\n}\r\n#endif\r\n\r\n//需要临时写一些文件，保存在该目录中。目前就是管理员提权时，保存之前的文件。\r\nQString getGlboalTempSaveDir()\r\n{\r\n\t//就是app/notepad/temp的目录\r\n\tQString tempFileList = QString(\"notepad/temp/list\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, tempFileList);\r\n\tQString qsSavePath = qs.fileName();\r\n\tQFileInfo fi(qsSavePath);\r\n\treturn fi.dir().absolutePath();\r\n}\r\n\r\nvoid setEditShowBlankStatus(ScintillaEditView* pEdit, int blankSet)\r\n{\r\n\tif (blankSet == 1)\r\n\t{\r\n\t\tpEdit->setWhitespaceVisibility(QsciScintilla::WsVisible);\r\n\t\tpEdit->setEolVisibility(false);\r\n\t}\r\n\telse if(blankSet == 2)\r\n\t{\r\n\t\tpEdit->setWhitespaceVisibility(QsciScintilla::WsInvisible);\r\n\t\tpEdit->setEolVisibility(true);\r\n\t}\r\n\telse if (blankSet == 3)\r\n\t{\r\n\t\tpEdit->setWhitespaceVisibility(QsciScintilla::WsVisible);\r\n\t\tpEdit->setEolVisibility(true);\r\n\t}\r\n\telse if (blankSet == 0)\r\n\t{\r\n\t\tpEdit->setWhitespaceVisibility(QsciScintilla::WsInvisible);\r\n\t\tpEdit->setEolVisibility(false);\r\n\t}\r\n}\r\n\r\n//根据文件类型给出语言id\r\nLexerInfo CCNotePad::getLangLexerIdByFileExt(QString filePath)\r\n{\r\n\tQFileInfo fi(filePath);\r\n\tQString ext = fi.suffix();\r\n\r\n\tLexerInfo lexer(L_TXT,\"txt\");\r\n\r\n\tif(ExtLexerManager::getInstance()->getLexerTypeByExt(ext, lexer))\r\n\t{\r\n\t\treturn lexer;\r\n\t}\r\n\r\n\treturn lexer;\r\n}\r\n\r\nCCNotePad::CCNotePad(bool isMainWindows, QWidget *parent)\r\n\t: QMainWindow(parent), m_cutFile(nullptr),m_copyFile(nullptr), m_dockSelectTreeWin(nullptr), \\\r\n\tm_pResultWin(nullptr),m_isQuitCancel(false), m_tabRightClickMenu(nullptr), m_shareMem(nullptr),m_isMainWindows(isMainWindows),\\\r\n\tm_openInNewWinAct(nullptr), m_showFileDirAct(nullptr), m_showCmdAct(nullptr), m_timerAutoSave(nullptr), m_curColorIndex(-1), \\\r\n\tm_fileListView(nullptr), m_isInReloadFile(false), m_isToolMenuLoaded(false), m_isRecentFileLoaded(false)\r\n{\r\n\tui.setupUi(this);\r\n\r\n#ifdef Q_OS_MAC\r\n    setWindowIcon(QIcon(\":/mac.icns\"));\r\n#endif\r\n\r\n\tNddSetting::init();\r\n\r\n\tm_translator = new QTranslator(this);\r\n\r\n\t\tm_curSoftLangs = NddSetting::getKeyValueFromNumSets(LANGS_KEY);\r\n\r\n\t\tswitch (m_curSoftLangs)\r\n\t\t{\r\n\t\tcase 0: //自动选择\r\n\t\t{\r\n\t\tQLocale local;\r\n\t\tif (local.language() == QLocale::Chinese)\r\n\t\t{\r\n\t\t\tslot_changeChinese();\r\n\t\t}\r\n\t\t\tbreak;\r\n\t}\r\n\t\tcase 1:\r\n\t\t\tslot_changeChinese();\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\tslot_changeEnglish();\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\t\r\n#if 0\r\n\tif (s_padInstances == nullptr)\r\n\t{\r\n\t\ts_padInstances = new QList<CCNotePad*>();\r\n\t\ts_padInstances->append(this);\r\n\t}\r\n\t//启用拖动\r\n\tsetAcceptDrops(true);\r\n\r\n\tinitFileTypeLangMap();\r\n\tinitLexerNameToIndex();\r\n\r\n\t//这里在主线程里面调用一下，避免后续因为没有创建，而可能在子线程中初始化里面的值，而且多个子线程引发重入竞争问题\r\n\t//20220402在1.11中发现这个问题。所以加上这里的手动调用\r\n\tDocTypeListView::initSupportFileTypes();\r\n\r\n\tui.editTabWidget->setTabsClosable(true);\r\n\r\n\r\n\tQTabBar* pBar = ui.editTabWidget->tabBar();\r\n\r\n\tconnect(pBar,&QTabBar::tabCloseRequested,this,&CCNotePad::slot_tabClose);\r\n\r\n\r\n\tm_codeStatusLabel = new QLabel(\"UTF8\", ui.statusBar);\r\n#ifdef Q_OS_WIN\r\n\tm_lineEndLabel = new QLabel(\"Windows(CR LF)\", ui.statusBar);\r\n#endif\r\n#ifdef Q_OS_UNIX\r\n\tm_lineEndLabel = new QLabel(\"Windows(LF)\", ui.statusBar);\r\n#endif\r\n\tm_lineNumLabel = new QLabel(tr(\"Ln:0\tCol:0\"), ui.statusBar);\r\n\r\n\tm_langDescLabel = new QLabel(\"Txt\", ui.statusBar);\r\n\tm_codeStatusLabel->setMinimumWidth(120);\r\n\tm_lineEndLabel->setMinimumWidth(100);\r\n\tm_lineNumLabel->setMinimumWidth(120);\r\n\tm_langDescLabel->setMinimumWidth(100);\r\n\r\n\t//0在前面，越小越在左边\r\n\tui.statusBar->insertPermanentWidget(0, m_langDescLabel);\r\n\tui.statusBar->insertPermanentWidget(1, m_lineNumLabel);\r\n\tui.statusBar->insertPermanentWidget(2, m_lineEndLabel);\r\n\tui.statusBar->insertPermanentWidget(3, m_codeStatusLabel);\r\n\r\n\tinitToolBar();\r\n\r\n\tm_saveFile->setEnabled(false);\r\n\tm_saveAllFile->setEnabled(false);\r\n\r\n\tinitReceneOpenFileMenu();\r\n\r\n\t//最后加入退出菜单\r\n\tui.menuFile->addSeparator();\r\n\tm_quitAction = ui.menuFile->addAction(tr(\"Quit\"), this, &CCNotePad::slot_quit);\r\n\tm_quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));\r\n\r\n\tconnect(ui.editTabWidget,&QTabWidget::currentChanged,this,&CCNotePad::slot_tabCurrentChanged);\r\n\tconnect(ui.editTabWidget, &QTabWidget::tabBarClicked, this, &CCNotePad::slot_tabBarClicked);\r\n\tui.editTabWidget->installEventFilter(this);\r\n\r\n\tm_fileWatch = new QFileSystemWatcher(this);\r\n\tconnect(m_fileWatch,&QFileSystemWatcher::fileChanged,this, &CCNotePad::slot_fileChange);\r\n\r\n\r\n\t//只有主窗口才监控openwith的文件\r\n\tif (isMainWindows)\r\n\t{\r\n\t\tinitNotePadSqlOptions();\r\n\t}\r\n\r\n\tslot_loadBookMarkMenu();\r\n\r\n\tQByteArray lastGeo = NddSetting::getKeyByteArrayValue(WIN_POS);\r\n\r\n\tif (!lastGeo.isEmpty())\r\n\t{\r\n\t\trestoreGeometry(lastGeo);\r\n\t}\r\n#endif\r\n\t}\r\n\r\nCCNotePad::~CCNotePad()\r\n{\r\n\t//只有主窗口，才有保存最近打开列表的权力\r\n\tif (m_isMainWindows)\r\n\t{\r\n\t\tsaveReceneOpenFile();\r\n\t\tsaveNotePadSqlOptions();\r\n\t\tsavePadUseTimes();\r\n\t}\r\n\tNddSetting::close();\r\n}\r\n\r\n//先快速让窗口展示处理，后续再去做复杂的初始化\r\nvoid CCNotePad::quickshow()\r\n{\r\n\tQByteArray lastGeo = NddSetting::getKeyByteArrayValue(WIN_POS);\r\n\r\n\tif (!lastGeo.isEmpty())\r\n\t{\r\n\t\trestoreGeometry(lastGeo);\r\n\t}\r\n\r\n\tshow();\r\n\r\n\tQCoreApplication::processEvents();\r\n\r\n\tif (s_padInstances == nullptr)\r\n\t{\r\n\t\ts_padInstances = new QList<CCNotePad*>();\r\n\t\ts_padInstances->append(this);\r\n\t}\r\n\t//启用拖动\r\n\tsetAcceptDrops(true);\r\n\r\n\r\n\tinitFileTypeLangMap();\r\n\tinitLexerNameToIndex();\r\n\r\n\t//这里在主线程里面调用一下，避免后续因为没有创建，而可能在子线程中初始化里面的值，而且多个子线程引发重入竞争问题\r\n\t//20220402在1.11中发现这个问题。所以加上这里的手动调用\r\n\tDocTypeListView::initSupportFileTypes();\r\n\r\n\tui.editTabWidget->setTabsClosable(true);\r\n\r\n\r\n\tQTabBar* pBar = ui.editTabWidget->tabBar();\r\n\r\n\tconnect(pBar, &QTabBar::tabCloseRequested, this, &CCNotePad::slot_tabClose);\r\n\r\n\r\n\tm_codeStatusLabel = new QLabel(\"UTF8\", ui.statusBar);\r\n\tm_lineEndLabel = new QComboBox(ui.statusBar);\r\n\tm_lineEndLabel->addItems(QStringList() << \"Windows(CR LF)\" << \"Unix(LF)\" << \"Mac(CR)\");\r\n#ifdef Q_OS_WIN\r\n\tm_lineEndLabel->setCurrentIndex(0);\r\n#else\r\n\tm_lineEndLabel->setCurrentIndex(1);\r\n#endif\r\n\tconnect(m_lineEndLabel, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CCNotePad::on_lineEndChange);\r\n\r\n\tm_lineNumLabel = new QLabel(tr(\"Ln:0\tCol:0\"), ui.statusBar);\r\n\r\n\tm_langDescLabel = new QLabel(\"Txt\", ui.statusBar);\r\n\r\n\tm_zoomLabel = new QLabel(\"Zoom\", ui.statusBar);\r\n\r\n\tm_codeStatusLabel->setMinimumWidth(120);\r\n\tm_lineEndLabel->setMinimumWidth(100);\r\n\tm_lineNumLabel->setMinimumWidth(120);\r\n\tm_langDescLabel->setMinimumWidth(100);\r\n\tm_zoomLabel->setMinimumWidth(100);\r\n\r\n\t//0在前面，越小越在左边\r\n\tui.statusBar->insertPermanentWidget(0, m_zoomLabel);\r\n\tui.statusBar->insertPermanentWidget(1, m_langDescLabel);\r\n\tui.statusBar->insertPermanentWidget(2, m_lineNumLabel);\r\n\tui.statusBar->insertPermanentWidget(3, m_lineEndLabel);\r\n\tui.statusBar->insertPermanentWidget(4, m_codeStatusLabel);\r\n\t\r\n\r\n\tinitToolBar();\r\n\r\n\tm_saveFile->setEnabled(false);\r\n\tm_saveAllFile->setEnabled(false);\r\n\r\n\t//initReceneOpenFileMenu();\r\n\t//延迟加载最近菜单列表\r\n\tconnect(ui.menuRecene_File, &QMenu::aboutToShow, this, &CCNotePad::on_loadReceneFile);\r\n\r\n\t//最后加入退出菜单\r\n\tui.menuFile->addSeparator();\r\n\r\n#if 0\r\n\tm_quitAction = ui.menuFile->addAction(tr(\"Quit\"), this, &CCNotePad::slot_quit);\r\n\tm_quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));\r\n#endif\r\n\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\tconnect(ui.editTabWidget, &QTabWidget::tabBarClicked, this, &CCNotePad::slot_tabBarClicked, Qt::QueuedConnection);\r\n\r\n\t//双击在新窗口中打开\r\n\tconnect(ui.editTabWidget, &QTabWidget::tabBarDoubleClicked, this, &CCNotePad::on_tabBarDoubleClicked, Qt::QueuedConnection);\r\n\r\n\tui.editTabWidget->installEventFilter(this);\r\n\r\n\tm_fileWatch = new QFileSystemWatcher(this);\r\n\tconnect(m_fileWatch, &QFileSystemWatcher::fileChanged, this, &CCNotePad::slot_fileChange);\r\n\r\n\r\n\t//只有主窗口才监控openwith的文件\r\n\tif (m_isMainWindows)\r\n\t{\r\n\r\n\t\tinitNotePadSqlOptions();\r\n\r\n\t\t\r\n\r\n\r\n\t}\r\n\r\n\tm_isInitBookMarkAct = false;\r\n\r\n\tslot_loadBookMarkMenu();\r\n\r\n\tslot_loadMarkColor();\r\n\r\n\tm_isToolMenuLoaded = false;\r\n\r\n\tinit_toolsMenu();\r\n\r\n\tthis->setContextMenuPolicy(Qt::NoContextMenu);\r\n\t\r\n\t//恢复文件列表\r\n\tif (1 == NddSetting::getKeyValueFromNumSets(FILELISTSHOW))\r\n\t{\r\n\t\tinitFileListDockWin();\r\n\t}\r\n\r\n\t//隐藏工具栏\r\n\tif (0 == NddSetting::getKeyValueFromNumSets(TOOLBARSHOW))\r\n\t{\r\n\t\tui.mainToolBar->setVisible(false);\r\n\t\tui.actionShow_ToolBar->setChecked(false);\r\n\t}\r\n\t//高亮web地址。默认为0不高亮\r\n\tif (1 == NddSetting::getKeyValueFromNumSets(SHOWWEBADDR))\r\n\t{\r\n\t\ts_hightWebAddr = 1;\r\n\t\tui.actionShow_Web_Addr->setChecked(true);\r\n\t}\r\n\r\n\t//恢复用户自定义快捷键\r\n\tsetUserDefShortcutKey();\r\n}\r\n\r\nvoid CCNotePad::on_lineEndChange(int index)\r\n{\r\n\r\n\tif (index == 0)\r\n\t{\r\n\t\tif (convertDocLineEnd(DOS_LINE))\r\n\t\t{\r\n\t\t\tui.actionconver_windows_CR_LF->setChecked(true);\r\n\t\t}\r\n\t}\r\n\telse if (index == 1)\r\n\t{\r\n\t\tif (convertDocLineEnd(UNIX_LINE))\r\n\t\t{\r\n\t\t\tui.actionconvert_Unix_LF->setChecked(true);\r\n\t\t}\r\n\t}\r\n\telse if (index == 2)\r\n\t{\r\n\t\tif (convertDocLineEnd(MAC_LINE))\r\n\t\t{\r\n\t\t\tui.actionconvert_Mac_CR->setChecked(true);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::setUserDefShortcutKey(int shortcutId)\r\n{\r\n\tQKeySequence keySeq;\r\n\r\n\tswitch (shortcutId)\r\n\t{\r\n\tcase New_File_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(New_File);\r\n\t\t\tui.actionNewFile->setShortcut(keySeq);\r\n\r\n\t\tbreak;\r\n\tcase Open_File_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Open_File);\r\n\t\t\tui.actionOpenFile->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Save_File_ID:\r\n\t\tbreak;\r\n\tcase Save_All_File_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Save_All_File);\r\n\t\t\tui.actionSave_as->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Close_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Close);\r\n\t\t\tui.actionClose->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Close_All_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Close_All);\r\n\t\t\tui.actionClose_All->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Cut_ID:\r\n\t\tbreak;\r\n\tcase Copy_ID:\r\n\t\tbreak;\r\n\tcase Paste_ID:\r\n\t\tbreak;\r\n\tcase Undo_ID:\r\n\t\tbreak;\r\n\tcase Redo_ID:\r\n\t\tbreak;\r\n\tcase Find_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Find);\r\n\t\t\tui.actionFind->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Replace_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Replace);\r\n\t\t\tui.actionReplace->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Dir_Find_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(DirFind);\r\n\t\t\tui.actionFind_In_Dir->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Mark_ID:\r\n\t\t\r\n\t\tbreak;\r\n\tcase Word_highlight_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Word_highlight);\r\n\t\t\tm_signText->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Clear_all_highlight_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Clear_all_highlight);\r\n\t\t\tm_clearMark->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Zoom_In_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Zoom_In);\r\n\t\t\tm_zoomin->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Zoom_Out_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Zoom_Out);\r\n\t\t\tm_zoomout->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Word_Wrap_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Word_Wrap);\r\n\t\t\tui.actionWrap->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Show_Blank_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Show_Blank);\r\n\t\t\tui.actionShowAll->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Indent_Guide_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Indent_Guide);\r\n\t\t\tm_indentGuide->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Pre_Page_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Pre_Page);\r\n\t\t\tm_preHexPage->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Next_Page_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Next_Page);\r\n\t\t\tm_nextHexPage->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Goto_Page_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Goto_Page);\r\n\t\t\tui.actionGoline->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\t\t\r\n\tcase Trans_code_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Trans_code);\r\n\t\t\tm_transcode->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\tcase Batch_rename_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Batch_rename);\r\n\t\t\tm_rename->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\r\n\tcase Format_Xml_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Format_Xml);\r\n\t\t\tm_formatXml->setShortcut(keySeq);\r\n\t\t\r\n\t\tbreak;\r\n\r\n\tcase Format_Json_ID:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(Format_Json);\r\n\t\t\tm_formatJson->setShortcut(keySeq);\r\n\t\tbreak;\r\n\r\n\tcase ADD_DEL_LINE_COM:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(ADD_DELETE_LINE_COMMENT);\r\n\t\tregisterCommentShortKey(ADD_DEL_LINE_COM, keySeq);\r\n\t\tbreak;\r\n\r\n\tcase ADD_BK_COM:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(ADD_BLOCK_COMMENT);\r\n\t\tregisterCommentShortKey(ADD_BK_COM, keySeq);\r\n\t\tbreak;\r\n\r\n\tcase DEL_BK_COM:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(CANCEL_BLOCK_COMMENT);\r\n\t\tregisterCommentShortKey(DEL_BK_COM, keySeq);\r\n\t\tbreak;\r\n\r\n\tcase S_K_FOLD_1:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_1);\r\n\t\tregisterFoldShortKey(S_K_FOLD_1, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_2:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_2);\r\n\t\tregisterFoldShortKey(S_K_FOLD_2, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_3:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_3);\r\n\t\tregisterFoldShortKey(S_K_FOLD_3, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_4:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_4);\r\n\t\tregisterFoldShortKey(S_K_FOLD_4, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_5:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_5);\r\n\t\tregisterFoldShortKey(S_K_FOLD_5, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_6:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_6);\r\n\t\tregisterFoldShortKey(S_K_FOLD_6, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_7:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_7);\r\n\t\tregisterFoldShortKey(S_K_FOLD_7, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_FOLD_8:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_8);\r\n\t\tregisterFoldShortKey(S_K_FOLD_8, keySeq, false);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_1:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_1);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_1, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_2:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_2);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_2, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_3:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_3);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_3, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_4:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_4);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_4, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_5:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_5);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_5, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_6:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_6);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_6, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_7:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_7);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_7, keySeq, true);\r\n\t\tbreak;\r\n\tcase S_K_UNFOLD_8:\r\n\t\tkeySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_8);\r\n\t\tregisterFoldShortKey(S_K_UNFOLD_8, keySeq, true);\r\n\t\tbreak;\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::registerFoldShortKey(int type, QKeySequence& keySeq, bool isFold)\r\n{\r\n\tQShortcut* pStc = new QShortcut(this);\r\n\tpStc->setKey(keySeq);\r\n\tpStc->setContext(Qt::WidgetWithChildrenShortcut);\r\n\tconnect(pStc, &QShortcut::activated, this, [=]() {\r\n\t\tdoFold(type, isFold);\r\n\t\t});\r\n}\r\n\r\n//注册注释快捷键\r\nvoid CCNotePad::registerCommentShortKey(int type, QKeySequence& keySeq)\r\n{\r\n\tQShortcut* pStc = new QShortcut(this);\r\n\tpStc->setKey(keySeq);\r\n\tpStc->setContext(Qt::WidgetWithChildrenShortcut);\r\n\tconnect(pStc, &QShortcut::activated, this, [=]() {\r\n\t\tdoComment(type);\r\n\t\t});\r\n}\r\n\r\n//注释问题。\r\nvoid CCNotePad::doComment(int type)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr && !pEdit->isReadOnly())\r\n\t{\r\n\t\tpEdit->comment(type);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::doFold(int type, bool mode)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->collapse((mode?(type - S_K_UNFOLD_1): (type - S_K_FOLD_1)), mode);\r\n\t}\r\n}\r\n\r\n\r\n//设置用户自定义快捷键\r\nvoid CCNotePad::setUserDefShortcutKey()\r\n{\r\n\tShortcutKeyMgr::initShortcutKeysMap();\r\n\r\n\tfor (int i = New_File_ID; i < Shortcut_End_ID; ++i)\r\n\t{\r\n\t\tsetUserDefShortcutKey(i);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::init_toolsMenu()\r\n{\r\n\tslot_dynamicLoadToolMenu();\r\n\t//connect(ui.menuTools,&QMenu::aboutToShow,this,&CCNotePad::slot_dynamicLoadToolMenu);\r\n}\r\n\r\nenum ToolMenuAct {\r\n\tBATCH_FIND = 1,\r\n};\r\n//动态加载工具菜单项\r\nvoid CCNotePad::slot_dynamicLoadToolMenu()\r\n{\r\n\tif (!m_isToolMenuLoaded)\r\n\t{\r\n\t\tm_isToolMenuLoaded = true;\r\n\r\n\t\tconnect(ui.actionPlugin_Manager, &QAction::triggered, this, &CCNotePad::slot_pluginMgr, Qt::UniqueConnection);\r\n\r\n\t\tQMenu* formatMenu = new QMenu(tr(\"Format Language\"), this);\r\n\t\tm_formatXml = formatMenu->addAction(tr(\"Format Xml\"), this, &CCNotePad::slot_formatXml);\r\n\t\tm_formatJson = formatMenu->addAction(tr(\"Format Json\"), this, &CCNotePad::slot_formatJson);\r\n\t\tui.menuTools->addMenu(formatMenu);\r\n\r\n\t\tQAction* pAct = nullptr;\r\n\t\tpAct = ui.menuTools->addAction(tr(\"Batch Find\"), this, &CCNotePad::slot_batchFind);\r\n\t\tpAct->setData(BATCH_FIND);\r\n\r\n#ifdef NO_PLUGIN\r\n\t\t//动态加载插件\r\n\t\tm_pluginList.clear();\r\n\t\tloadPluginLib();\r\n#endif\r\n\t}\r\n}\r\n\r\n\r\nvoid  CCNotePad::slot_pluginMgr()\r\n{\r\n#ifdef NO_PLUGIN\r\n\tPluginMgr* pWin = new PluginMgr(this, m_pluginList);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tpWin->show();\r\n#else\r\n\tQMessageBox::warning(this, \"info\", u8\"便携版本不支持插件，请下载插件版!\");\r\n#endif\r\n}\r\n\r\n#ifdef NO_PLUGIN\r\nvoid CCNotePad::loadPluginLib()\r\n{\r\n\tQString strDir = qApp->applicationDirPath();\r\n\tQDir dir(strDir);\r\n\tif (dir.cd(\"./plugin\"))\r\n\t{\r\n\t\tstrDir = dir.absolutePath();\r\n\r\n\t\tloadPluginProcs(strDir,ui.menuPlugin);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::onPlugFound(NDD_PROC_DATA& procData, QMenu* pUserData)\r\n{\r\n\tQMenu* pMenu = pUserData;\r\n\r\n\tif (pMenu == NULL)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\t//创建action\r\n\tif (procData.m_menuType == 0)\r\n\t{\r\n\t\tQAction* pAction = new QAction(procData.m_strPlugName, pMenu);\r\n\t\tpMenu->addAction(pAction);\r\n\tpAction->setText(procData.m_strPlugName);\r\n\tpAction->setData(procData.m_strFilePath);\r\n\tconnect(pAction, &QAction::triggered, this, &CCNotePad::onPlugWork);\r\n\t}\r\n\telse if (procData.m_menuType == 1)\r\n\t{\r\n\t\t//创建二级菜单\r\n\t\tQMenu* pluginMenu = new QMenu(procData.m_strPlugName, pMenu);\r\n\t\tpMenu->addMenu(pluginMenu);\r\n\r\n\t\t//菜单句柄通过procData传递到插件中\r\n\t\tprocData.m_rootMenu = pluginMenu;\r\n\t\tsendParaToPlugin(procData);\r\n\t}\r\n\telse\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tm_pluginList.append(procData);\r\n}\r\n\r\n//真正执行插件的工作\r\nvoid CCNotePad::onPlugWork(bool check)\r\n{\r\n\tQAction* pAct = dynamic_cast<QAction*>(sender());\r\n\tif (pAct != nullptr)\r\n\t{\r\n\t\tQString plugPath = pAct->data().toString();\r\n\r\n\t\tQLibrary* pLib = new QLibrary(plugPath);\r\n\r\n\t\tNDD_PROC_MAIN_CALLBACK pMainCallBack;\r\n\t\tpMainCallBack = (NDD_PROC_MAIN_CALLBACK)pLib->resolve(\"NDD_PROC_MAIN\");\r\n\r\n\t\tif (pMainCallBack != NULL)\r\n\t\t{\r\n\t\t\tstd::function<QsciScintilla* ()> foundCallBack = std::bind(&CCNotePad::getCurEditView, this);\r\n\t\t\tstd::function<bool(int, void*)> pluginCallBack = std::bind(&CCNotePad::pluginInvoke, this, std::placeholders::_1, std::placeholders::_2);\r\n\r\n\t\t\tpMainCallBack(this, plugPath, foundCallBack, pluginCallBack, nullptr);\r\n\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"plugin %1 load failed !\").arg(plugPath), 10000);\r\n\t\t}\r\n\t\r\n\t}\r\n}\r\n\r\n//把插件需要的参数，传递到插件中去\r\nvoid CCNotePad::sendParaToPlugin(NDD_PROC_DATA& procData)\r\n{\r\n\tQString plugPath = procData.m_strFilePath;\r\n\r\n\tQLibrary* pLib = new QLibrary(plugPath);\r\n\r\n\tNDD_PROC_MAIN_CALLBACK pMainCallBack;\r\n\tpMainCallBack = (NDD_PROC_MAIN_CALLBACK)pLib->resolve(\"NDD_PROC_MAIN\");\r\n\r\n\t\tif (pMainCallBack != NULL)\r\n\t\t{\r\n\t\t\tstd::function<QsciScintilla* ()> foundCallBack = std::bind(&CCNotePad::getCurEditView, this);\r\n\t\t\tstd::function<bool(int, void*)> pluginCallBack = std::bind(&CCNotePad::pluginInvoke, this, std::placeholders::_1, std::placeholders::_2);\r\n\r\n\t\t\tpMainCallBack(this, plugPath, foundCallBack, pluginCallBack, &procData);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"plugin %1 load failed !\").arg(plugPath), 10000);\r\n\t\t}\r\n}\r\n\r\nvoid CCNotePad::loadPluginProcs(QString strLibDir, QMenu* pMenu)\r\n{\r\n\tstd::function<void(NDD_PROC_DATA&, QMenu*)> foundCallBack = std::bind(&CCNotePad::onPlugFound, this, std::placeholders::_1, std::placeholders::_2);\r\n\r\n\tint nRet = loadProc(strLibDir, foundCallBack, pMenu);\r\n\tif (nRet > 0)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"load plugin in dir %1 success, plugin num %2\").arg(strLibDir).arg(nRet));\r\n\t}\r\n}\r\n#endif\r\n\r\n//批量查找替换\r\nvoid CCNotePad::slot_batchFind()\r\n{\r\n#ifdef uos\r\n\tbool isPosAdjust = false;\r\n#endif\r\n\r\n\tif (m_batchFindWin.isNull())\r\n\t{\r\n\t\tm_batchFindWin = new BatchFindReplace(this);\r\n\t\tm_batchFindWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\r\n\t\tBatchFindReplace* pWin = dynamic_cast<BatchFindReplace*>(m_batchFindWin.data());\r\n\t\tpWin->setTabWidget(ui.editTabWidget);\r\n\r\n\t\tQByteArray lastGeo = NddSetting::getWinPos(BATCH_FIND_REPLACE_POS);\r\n\t\tif (!lastGeo.isEmpty())\r\n\t\t{\r\n\t\t\tm_batchFindWin->restoreGeometry(lastGeo);\r\n#ifdef uos\r\n\t\t\tisPosAdjust = true;\r\n#endif\r\n\t}\r\n\r\n\t}\r\n\tm_batchFindWin->show();\r\n\r\n#ifdef uos\r\n\tif (!isPosAdjust)\r\n\t{\r\n\tadjustWInPos(m_batchFindWin);\r\n\t}\r\n#endif \r\n\r\n}\r\n\r\n#ifdef Q_OS_WIN\r\nvoid CCNotePad::checkAppFont()\r\n{\r\n\t//检查win下面的字体，win11有时默认字体是楷体\r\n\tQFont srcFont = QApplication::font();\r\n\t//win11发现字体是楷体。检测并设置一下\r\n\tif (QString(\"SimSun\") != srcFont.family())\r\n\t{\r\n\t\tQFont font(QString(\"Courier\"), 9);\r\n\t\tQApplication::setFont(font);\r\n\t\tui.statusBar->showMessage(tr(\"If display exceptions,Please Install System Font Courier\"));\r\n\t}\r\n}\r\n#endif\r\n\r\nenum BookMarkActId {\r\n\tSET_REMOVE=1,\r\n\tNEXT_MARK,\r\n\tPREV_MARK,\r\n\tCLEAR_MARK,\r\n\tCUT_MARK_LINE,\r\n\tCOPY_MARK_LINE,\r\n\tPASTE_MARK_LINE,\r\n\tDELETE_MARK_LINE,\r\n\tDELETE_UNMARK,\r\n\tCLIP_MARK,\r\n};\r\nvoid CCNotePad::slot_bookMarkAction()\r\n{\r\n\tQAction* pAct = dynamic_cast<QAction*>(sender());\r\n\tif (pAct != nullptr)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit == nullptr)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tBookMarkActId id = (BookMarkActId)pAct->data().toInt();\r\n\t\tswitch (id)\r\n\t\t{\r\n\t\tcase SET_REMOVE:\r\n\t\t\tpEdit->bookmarkToggle(-1);\r\n\t\t\tbreak;\r\n\t\tcase NEXT_MARK:\r\n\t\t\tpEdit->bookmarkNext(true);\r\n\t\t\tbreak;\r\n\t\tcase PREV_MARK:\r\n\t\t\tpEdit->bookmarkNext(false);\r\n\t\t\tbreak;\r\n\t\tcase CLEAR_MARK:\r\n\t\t\tpEdit->bookmarkClearAll();\r\n\t\t\tbreak;\r\n\t\tcase CUT_MARK_LINE:\r\n\t\t\tpEdit->cutMarkedLines();\r\n\t\t\tbreak;\r\n\t\tcase COPY_MARK_LINE:\r\n\t\t\tpEdit->copyMarkedLines();\r\n\t\t\tbreak;\r\n\t\tcase PASTE_MARK_LINE:\r\n\t\t\tpEdit->pasteToMarkedLines();\r\n\t\t\tbreak;\r\n\t\tcase DELETE_MARK_LINE:\r\n\t\t\tpEdit->deleteMarkedLines(true);\r\n\t\t\tbreak;\r\n\t\tcase DELETE_UNMARK:\r\n\t\t\tpEdit->deleteMarkedLines(false);\r\n\t\t\tbreak;\r\n\t\tcase CLIP_MARK:\r\n\t\t\tpEdit->inverseMarks();\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n//动态加载书签的菜单项\r\nvoid CCNotePad::slot_loadBookMarkMenu()\r\n{\r\n\r\n\tif (!m_isInitBookMarkAct)\r\n\t{\r\n\t\tm_isInitBookMarkAct = true;\r\n\r\n\t\tQAction* pAct = nullptr;\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Set/Remove BookMark\"), this, &CCNotePad::slot_bookMarkAction, QKeySequence(\"Ctrl+F2\"));\r\n\t\tpAct->setData(SET_REMOVE);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Next BookMark\"), this, &CCNotePad::slot_bookMarkAction, QKeySequence(\"F2\"));\r\n\t\tpAct->setData(NEXT_MARK);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Prev BookMark\"), this, &CCNotePad::slot_bookMarkAction, QKeySequence(\"Shift+F2\"));\r\n\t\tpAct->setData(PREV_MARK);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"ClearAll BookMark\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(CLEAR_MARK);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Cut BookMark Lines\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(CUT_MARK_LINE);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Copy BookMark Lines\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(COPY_MARK_LINE);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Paste BookMark Lines\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(PASTE_MARK_LINE);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Delete BookMark Lines\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(DELETE_MARK_LINE);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Delete UnBookMark Lines\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(DELETE_UNMARK);\r\n\r\n\t\tpAct = ui.menuBook_Mark->addAction(tr(\"Clip BookMark\"), this, &CCNotePad::slot_bookMarkAction);\r\n\t\tpAct->setData(CLIP_MARK);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_markColorGroup(QAction *action)\r\n{\r\n\tCCNotePad::s_curMarkColorId = action->data().toInt();\r\n\tslot_wordHighlight();\r\n}\r\n\r\n#define SCE_UNIVERSAL_FOUND_STYLE_START 20\r\n\r\n//修改标记样式的颜色\r\nvoid CCNotePad::changeMarkColor(int sytleId)\r\n{\r\n\tif (sytleId < 5)\r\n\t{\r\n\t\tQPixmap colorBar(36, 36);\r\n\t\tcolorBar.fill((&StyleSet::s_global_style->mark_style_1)[sytleId].bgColor);\r\n\t\tm_styleMarkActList.at(sytleId)->setIcon(colorBar);\r\n\t}\r\n}\r\n\r\n\r\nvoid CCNotePad::slot_loadMarkColor()\r\n{\r\n\tif (m_curColorIndex == -1)\r\n\t{\r\n\t\tm_curColorIndex = 0;\r\n\r\n\t\tQPixmap colorBar(36, 36);\r\n\r\n\t\tQActionGroup* markColorGroup = new QActionGroup(this);\r\n\t\tconnect(markColorGroup, &QActionGroup::triggered, this, &CCNotePad::slot_markColorGroup, Qt::QueuedConnection);\r\n\r\n\t\tint index = 1;\r\n\t\tauto initColorBar = [this, markColorGroup,&index](QPixmap& colorBar)->QAction* {\r\n\t\t\tQAction* action = new QAction(ui.menuMark_Color);\r\n\t\t\taction->setIcon(colorBar);\r\n\t\t\taction->setText(tr(\"Color %1\").arg(index));\r\n\t\t\taction->setData(index+ SCE_UNIVERSAL_FOUND_STYLE_START);\r\n\t\t\t++index;\r\n\t\t\tui.menuMark_Color->addAction(action);\r\n\t\t\tmarkColorGroup->addAction(action);\r\n\t\t\treturn action;\r\n\t\t};\r\n\r\n\t\tm_styleMarkActList.clear();\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_1.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_2.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_3.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_4.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_5.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::syncCurSkinToMenu(int id)\r\n{\r\n\ts_curStyleId = id;\r\n}\r\n\r\nvoid CCNotePad::slot_changeChinese()\r\n{\r\n\tif (m_translator->load(\":/realcompare_zh.qm\"))\r\n\t{\r\n\t\tqApp->installTranslator(m_translator);\r\n\t\tui.retranslateUi(this);\r\n\r\n\t\tif (m_curSoftLangs != 1)\r\n\t\t{\r\n\t\t\tm_curSoftLangs = 1;\r\n\t\t\tNddSetting::updataKeyValueFromNumSets(LANGS_KEY, m_curSoftLangs);\r\n\t}\r\n\r\n\t\t//如果已经加载了，则冲加载，否则中英文切换不生效\r\n\t\tif (m_isToolMenuLoaded)\r\n\t\t{\r\n#ifdef NO_PLUGIN\r\n\t\t\tui.menuPlugin->clear();\r\n\t\t\tui.menuPlugin->addAction(ui.actionPlugin_Manager);\r\n#endif\r\n\t\t\tui.menuTools->clear();\r\n\r\n\t\t\tm_isToolMenuLoaded = false;\r\n\t\t\tslot_dynamicLoadToolMenu();\r\n}\r\n}\r\n}\r\n\r\n#ifdef uos\r\nvoid CCNotePad::adjustWInPos(QWidget* pWin)\r\n{\r\n    QPoint globalPos = this->mapToGlobal(QPoint(0,0));//父窗口绝对坐标\r\n    int x = globalPos.x() + 300;//x坐标\r\n    int y = globalPos.y() + 100;//y坐标\r\n    pWin->move(x, y);\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::slot_changeEnglish()\r\n{\r\n\tm_translator->load(\"\");\r\n\tqApp->installTranslator(m_translator);\r\n\tui.retranslateUi(this);\r\n\r\n\tif (m_curSoftLangs != 2)\r\n\t{\r\n\t\tm_curSoftLangs = 2;\r\n\t\tNddSetting::updataKeyValueFromNumSets(LANGS_KEY, m_curSoftLangs);\r\n}\r\n\r\n\t//如果已经加载了，则冲加载，否则中英文切换不生效\r\n\tif (m_isToolMenuLoaded)\r\n\t{\r\n#ifdef NO_PLUGIN\r\n\t\tui.menuPlugin->clear();\r\n\t\tui.menuPlugin->addAction(ui.actionPlugin_Manager);\r\n#endif\r\n\t\tui.menuTools->clear();\r\n\t\tm_isToolMenuLoaded = false;\r\n\t\tslot_dynamicLoadToolMenu();\r\n}\r\n}\r\n#if 0\r\nvoid CCNotePad::saveDefFont()\r\n{\r\n\tif (s_txtFont.toString() != m_txtFontStr)\r\n\t{\r\n\t\tQString newFont = s_txtFont.toString();\r\n\t\tNddSetting::updataKeyValueFromSets(TXT_FONT, newFont);\r\n\t}\r\n\r\n\tif (s_proLangFont.toString() != m_proLangFontStr)\r\n\t{\r\n\t\tQString newFont = s_proLangFont.toString();\r\n\t\tNddSetting::updataKeyValueFromSets(PRO_LANG_FONT, newFont);\r\n}\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::savePadUseTimes()\r\n{\r\n\tQString key(\"padtimes\");\r\n\r\n\tint times = NddSetting::getKeyValueFromNumSets(key);\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(key, s_padTimes + times);\r\n}\r\n\r\nvoid CCNotePad::slot_searchResultShow()\r\n{\r\n\tinitFindResultDockWin();\r\n\t\tm_dockSelectTreeWin->show();\r\n\t}\r\n\r\n//读取Sql的全局配置\r\nvoid CCNotePad::initNotePadSqlOptions()\r\n{\r\n\t//tab的长度，默认为4\r\n\tQString key(\"tablens\");\r\n\tScintillaEditView::s_tabLens = NddSetting::getKeyValueFromNumSets(key);\r\n\r\n\t//space replace tab空格替换tab，默认1\r\n\tQString key1(\"tabnouse\");\r\n\tScintillaEditView::s_noUseTab = (1 == NddSetting::getKeyValueFromNumSets(key1)) ? true : false;\r\n\r\n\tScintillaEditView::s_bigTextSize = NddSetting::getKeyValueFromNumSets(MAX_BIG_TEXT);\r\n\tif (ScintillaEditView::s_bigTextSize < 50 || ScintillaEditView::s_bigTextSize > 600)\r\n\t{\r\n\t\tScintillaEditView::s_bigTextSize = 100;\r\n}\r\n\r\n\ts_restoreLastFile = NddSetting::getKeyValueFromNumSets(RESTORE_CLOSE_FILE);\r\n}\r\n//保存Sql的全局配置\r\nvoid CCNotePad::saveNotePadSqlOptions()\r\n{\r\n\tQString key(\"tablens\");\r\n\tNddSetting::updataKeyValueFromNumSets(key, ScintillaEditView::s_tabLens);\r\n\r\n\tQString key1(\"tabnouse\");\r\n\tNddSetting::updataKeyValueFromNumSets(key1, ScintillaEditView::s_noUseTab?1:0);\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(MAX_BIG_TEXT, ScintillaEditView::s_bigTextSize);\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(RESTORE_CLOSE_FILE, CCNotePad::s_restoreLastFile);\r\n}\r\n\r\n//设置程序为文件右键的关联项目\r\nvoid CCNotePad::setToFileRightMenu()\r\n{\r\n#if 0\r\n#ifdef _WIN32\r\n#ifdef _DEBUG\r\n\treturn;\r\n#endif\r\n\tQString exepath = QCoreApplication::applicationFilePath();\r\n\texepath = exepath.replace(\"/\", \"\\\\\");\r\n\tQString iconTxt = exepath;\r\n\texepath += \" \\\"%1\\\"\";\r\n\r\n\tQString menuDisplayName(tr(\"Edit with Notepad--\"));\r\n\tQString keyPath = \"HKEY_CLASSES_ROOT\\\\*\\\\shell\\\\\" + menuDisplayName + \"\\\\command\";\r\n\tQString iconPath = \"HKEY_CLASSES_ROOT\\\\*\\\\shell\\\\\" + menuDisplayName;\r\n\tQSettings settings(keyPath, QSettings::NativeFormat);\r\n\tQSettings iconSettings(iconPath, QSettings::NativeFormat);\r\n\r\n\tif (settings.value(\".\").toString() != exepath)\r\n\t{\r\n\t\tsettings.setValue(\".\", exepath);\r\n\t\ticonSettings.setValue(\"Icon\", iconTxt);\r\n\r\n\t\t//在读一次\r\n\t\tif (settings.value(\".\").toString() != exepath)\r\n\t\t{\r\n\t\t\t//QMessageBox::warning(nullptr, tr(\"Notice\"), tr(\"Please run in admin auth\"));\r\n\t\t\tui.statusBar->showMessage(tr(\"Please run in admin auth\"));\r\n\t\t}\r\n\t}\r\n\r\n#endif\r\n#endif\r\n}\r\n\r\nvoid CCNotePad::slot_fileChange(QString filePath)\r\n{\r\n\t\r\n\tQWidget *pw = nullptr;\r\n\r\n\tint changeIndex = -1;\r\n\r\n\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t{\r\n\t\tpw = ui.editTabWidget->widget(i);\r\n\t\tif (pw != nullptr && (pw->property(Edit_View_FilePath) == filePath))\r\n\t\t{\r\n\t\t\t\t//这里只设置1个标志，下次获取焦点时，才判定询问是否需要重新加载\r\n\t\t\tpw->setProperty(Modify_Outside, QVariant(true));\r\n\r\n\t\t\tchangeIndex = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t//如果就是当前文件，则直接弹窗提示\r\n\tif (ui.editTabWidget->currentIndex() == changeIndex)\r\n\t{\r\n\t\tcheckRoladFile(dynamic_cast<ScintillaEditView*>(pw));\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_tabBarDoubleClicked(int index)\r\n{\r\n\tif (-1 == index)\r\n\t{\r\n\t\tinitTabNewOne();\r\n\t}\r\n}\r\n\r\n//tab的双击行为\r\nvoid  CCNotePad::on_tabBarDoubleClicked(int index)\r\n{\r\n\t//如果是主窗口，则分出去；反之则回到主窗口\r\n\tQWidget* pw = ui.editTabWidget->widget(index);\r\n\tif (pw  == nullptr || (-1 != getFileNewIndexProperty(pw)))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (m_isMainWindows)\r\n\t{\r\n\t\topenFileInNewWin(index);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//一个窗口时，分出去后，当前直接关闭\r\n\t\tbool isQuit = (ui.editTabWidget->count() == 1);\r\n\r\n\t\tif (pw != nullptr)\r\n\t\t{\r\n\t\t\tQString filePath = getFilePathProperty(pw);\r\n\r\n\t\t\ttabClose(index, true);\r\n\t\t\t\t\r\n\t\t\tif (s_padInstances != nullptr)\r\n\t\t\t{\r\n\t\t\t\tfor (int i = 0; i < s_padInstances->size(); ++i)\r\n\t\t\t\t{\r\n\t\t\t\t\tCCNotePad* c = s_padInstances->at(i);\r\n\t\t\t\t\tif (c->m_isMainWindows)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tc->openFile(filePath);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(isQuit)\r\n\t\t\t{\r\n\t\t\t\tclose();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_tabBarClicked(int index)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->widget(index);\r\n\tif (pw == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tint docType = getDocTypeProperty(pw);\r\n\tif (TXT_TYPE == docType)\r\n\t{\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (checkRoladFile(pEdit))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\t//右键菜单\r\n\tif (Qt::RightButton == QGuiApplication::mouseButtons())\r\n\t{\r\n\t\tif (m_tabRightClickMenu == nullptr)\r\n\t\t{\r\n\t\t\tm_tabRightClickMenu = new QMenu(this);\r\n\r\n\t\t\tm_tabRightClickMenu->addAction(tr(\"Close Current Document\"),this,&CCNotePad::slot_actionClose);\r\n\t\t\tm_tabRightClickMenu->addAction(tr(\"Close Non-Current documents\"),this, &CCNotePad::slot_actionCloseNonCurDoc);\r\n\t\t\tm_tabRightClickMenu->addAction(tr(\"Close Left All\"),this, &CCNotePad::slot_actionCloseLeftAll);\r\n\t\t\tm_tabRightClickMenu->addAction(tr(\"Close Right All\"),this, &CCNotePad::slot_actionCloseRightAll);\r\n\t\t\tm_tabRightClickMenu->addSeparator();\r\n\r\n\t\t\tm_tabRightClickMenu->addAction(tr(\"Rename Current Document \"), this, &CCNotePad::slot_actionRenameFile_toggle);\r\n\t\t\tm_tabRightClickMenu->addAction(tr(\"Current Document Sava as...\"), this, &CCNotePad::slot_actionSaveAsFile_toggle);\r\n\t\t\tm_openInNewWinAct = m_tabRightClickMenu->addAction(tr(\"Open in New Window\"),this, &CCNotePad::slot_openFileInNewWin);\r\n\t\t\tm_showFileDirAct = m_tabRightClickMenu->addAction(tr(\"Show File in Explorer...\"), this, &CCNotePad::slot_showFileInExplorer);\r\n\r\n#ifdef Q_OS_WIN\r\n\t\t\t//每种linux mac系统的打开cmd终端方式均不一样，暂时只支持windows\r\n\t\t\tm_showCmdAct = m_tabRightClickMenu->addAction(tr(\"Cmd in Explorer...\"), this, &CCNotePad::slot_showCmdInExplorer);\r\n#endif\r\n\t\t\tm_tabRightClickMenu->addSeparator();\r\n\r\n\t\t\tm_openWithText = m_tabRightClickMenu->addAction(tr(\"Reload With Text Mode\"), this, &CCNotePad::slot_reOpenTextMode);\r\n\t\t\tm_openWithHex = m_tabRightClickMenu->addAction(tr(\"Reload With Hex Mode\"), this, &CCNotePad::slot_reOpenHexMode);\r\n\r\n\t\t\tm_tabRightClickMenu->addSeparator();\r\n\t\t\tm_selectLeftCmp = m_tabRightClickMenu->addAction(tr(\"Select Left Cmp File\"), this, &CCNotePad::slot_selectLeftFile);\r\n\t\t\tm_selectRightCmp = m_tabRightClickMenu->addAction(tr(\"Select Right Cmp File\"), this, &CCNotePad::slot_selectRightFile);\r\n\t\r\n\t\t}\r\n\r\n\t\t//非new文件才能重新打开和定位到文件\r\n\t\tif (getFileNewIndexProperty(pw) == -1)\r\n\t\t{\r\n\t\t\tm_openInNewWinAct->setEnabled(true);\r\n\t\t\tm_showFileDirAct->setEnabled(true);\r\n#ifdef Q_OS_WIN\r\n\t\t\tm_showCmdAct->setEnabled(true);\r\n#endif\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tm_openInNewWinAct->setEnabled(false);\r\n\t\t\tm_showFileDirAct->setEnabled(false);\r\n#ifdef Q_OS_WIN\r\n\t\t\tm_showCmdAct->setEnabled(false);\r\n#endif\r\n\t\t}\r\n\r\n\r\n\t\tif ((TXT_TYPE == docType) && (getFileNewIndexProperty(pw) == -1))\r\n\t\t{\r\n\t\t\tm_openWithText->setEnabled(false);\r\n\t\t\tm_openWithHex->setEnabled(true);\r\n\r\n\t\t\tm_selectLeftCmp->setEnabled(true);\r\n\t\t\tm_selectRightCmp->setEnabled(true);\r\n\t\t}\r\n\t\telse if (HEX_TYPE == docType)\r\n\t\t{\r\n\t\t\tm_openWithText->setEnabled(true);\r\n\t\t\tm_openWithHex->setEnabled(false);\r\n\r\n\t\t\tm_selectLeftCmp->setEnabled(false);\r\n\t\t\tm_selectRightCmp->setEnabled(false);\r\n\t\t}\r\n\t\telse if ((TXT_TYPE == docType) && (getFileNewIndexProperty(pw) != -1))\r\n\t\t{\r\n\t\t\t//新的文本，都不能\r\n\t\t\tm_openWithText->setEnabled(false);\r\n\t\t\tm_openWithHex->setEnabled(false);\r\n\r\n\t\t\tm_selectLeftCmp->setEnabled(false);\r\n\t\t\tm_selectRightCmp->setEnabled(false);\r\n\t\t}\r\n\t\telse if(BIG_TEXT_RO_TYPE == docType || SUPER_BIG_TEXT_RO_TYPE == docType)\r\n\t\t{\r\n\t\t\tm_openWithText->setEnabled(false);\r\n\t\t\tm_openWithHex->setEnabled(true);\r\n\t\t\tm_selectLeftCmp->setEnabled(false);\r\n\t\t\tm_selectRightCmp->setEnabled(false);\r\n\t\t}\r\n\r\n\t\tui.editTabWidget->setCurrentIndex(index);\r\n\t\tm_tabRightClickMenu->move(cursor().pos());\r\n\t\tm_tabRightClickMenu->show();\r\n\t}\r\n\telse if (Qt::MiddleButton == QGuiApplication::mouseButtons())\r\n\t{\r\n\t\t//关闭当前文件\r\n\t\tslot_tabClose(index);\r\n}\r\n\r\n}\r\n\r\nvoid CCNotePad::slot_reOpenTextMode()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tQString filePath = getFilePathProperty(pw);\r\n\r\n\tif (HEX_TYPE != getDocTypeProperty(pw))\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"The currently file %1 is already in text mode\").arg(filePath),5000);\r\n\t\treturn;\r\n\t}\r\n\r\n\tslot_actionClose(true);\r\n\topenTextFile(filePath,false);\r\n\t\r\n}\r\n\r\nvoid CCNotePad::slot_reOpenHexMode()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tQString filePath = getFilePathProperty(pw);\r\n\r\n\tif (HEX_TYPE == getDocTypeProperty(pw))\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"The currently file %1 is already in bin mode\").arg(filePath),5000);\r\n\t\treturn;\r\n\t}\r\n\r\n\tslot_actionClose(true);\r\n\topenHexFile(filePath);\r\n}\r\n\r\nvoid CCNotePad::slot_selectLeftFile()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tm_cmpLeftFilePath = pw->property(Edit_View_FilePath).toString();\r\n\r\n\t\tif (!m_cmpLeftFilePath.isEmpty() && !m_cmpRightFilePath.isEmpty())\r\n\t\t{\r\n\t\t\tcmpSelectFile();\r\n\t\t\tm_cmpLeftFilePath.clear();\r\n\t\t\tm_cmpRightFilePath.clear();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\nvoid CCNotePad::slot_selectRightFile()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tm_cmpRightFilePath = pw->property(Edit_View_FilePath).toString();\r\n\r\n\t\tif (!m_cmpLeftFilePath.isEmpty() && !m_cmpRightFilePath.isEmpty())\r\n\t\t{\r\n\t\t\tcmpSelectFile();\r\n\t\t\tm_cmpLeftFilePath.clear();\r\n\t\t\tm_cmpRightFilePath.clear();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//为了避免路径中\\\\不一样导致的查找不到问题，进行统一替换\r\nQString getRegularFilePath(QString& path)\r\n{\r\n#ifdef _WIN32\r\n\tpath = path.replace(\"/\", \"\\\\\");\r\n#else\r\n\tpath = path.replace(\"\\\\\", \"/\");\r\n#endif\r\n\r\n\treturn path;\r\n}\r\n\r\nvoid CCNotePad::slot_showFileInExplorer()\r\n{\r\n\tQString path;\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tpath = pw->property(Edit_View_FilePath).toString();\r\n\t}\r\n\r\n\tshowFileInExplorer(path);\r\n}\r\n\r\n//打开cmd窗口\r\n\r\n#ifdef Q_OS_WIN\r\nvoid CCNotePad::slot_showCmdInExplorer()\r\n{\r\n\tQString path;\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tpath = pw->property(Edit_View_FilePath).toString();\r\n\t}\r\n\r\n\tQFileInfo fi(path);\r\n\tQString dirEment = fi.absolutePath();\r\n\r\n\r\n\tHWND hWnd = (HWND)this->effectiveWinId();\r\n\tHINSTANCE res = ::ShellExecute(hWnd, TEXT(\"open\"), TEXT(\"cmd\"), TEXT(\"\"), dirEment.toStdWString().data(), SW_SHOW);\r\n\r\n\t//参考 https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx\r\n\tint retResult = static_cast<int>(reinterpret_cast<INT_PTR>(res));\r\n\tif (retResult <= 32)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"open cmd in file dir %1 failed.\").arg(dirEment));\r\n\t}\r\n#if 0 \r\n\t//下面方法不能分离式，主界面关闭后，cmd也消失了\r\n\tQStringList arguments;\r\n\targuments << \"/K\";\r\n\targuments << \"title\";\r\n\targuments << \"child process\";\r\n\r\n\tQProcess* myProcess = new QProcess(this);\r\n\tQString program = \"C:/Windows/System32/cmd.exe\";\r\n\tmyProcess->setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments* args)\r\n\t{\r\n\t\t\t//args->startupInfo->wShowWindow = SW_SHOWMAXIMIZED;//此成员变量设置此有效，QT5.12\r\n\t\t\targs->flags |= CREATE_NEW_CONSOLE;\r\n\t\t\targs->startupInfo->dwFlags &= ~STARTF_USESTDHANDLES;\r\n\t\t\targs->startupInfo->dwFlags |= STARTF_USEFILLATTRIBUTE;\r\n\t\t\targs->startupInfo->dwFillAttribute =  FOREGROUND_INTENSITY;\r\n\t\t\t//args->startupInfo->dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;\r\n\t});\r\n\tmyProcess->start(program, arguments);\r\n#endif\r\n}\r\n#endif\r\n\r\n//把文件在新窗口中打开。如果是新文件，则不行\r\nvoid CCNotePad::openFileInNewWin(int index)\r\n{\r\n\tQString path;\r\n\tQWidget* pw = ui.editTabWidget->widget(index);\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tif (-1 != getFileNewIndexProperty(pw))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tpath = getFilePathProperty(pw);\r\n\t\tslot_tabClose(index);\r\n\r\n\t\tCCNotePad* pNewWin = new CCNotePad(false, nullptr);\r\n\t\tpNewWin->quickshow();\r\n\t\tpNewWin->setShareMem(this->getShareMem());\r\n\t\tpNewWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\tpNewWin->openFile(path);\r\n\r\n#ifdef uos\r\n    adjustWInPos(pNewWin);\r\n#endif\r\n\t\ts_padInstances->append(pNewWin);\r\n\t}\r\n}\r\nvoid CCNotePad::slot_openFileInNewWin()\r\n{\r\n\tint curIndex = ui.editTabWidget->currentIndex();\r\n\topenFileInNewWin(curIndex);\r\n}\r\n\r\n//int defLexerId:如果失败，则按照该语法类型的id赋值；如果-1则不给与默认值。\r\n//因为发现如果是新建的文件，而且手动设置了语法，其文件名还是*.txt，此时如果根据\r\n//后缀名自动赋值与否，会导致手动设置的语法失效。\r\nvoid CCNotePad::autoSetDocLexer(ScintillaEditView* pEdit, int defLexerId)\r\n{\r\n\tQString filePath = pEdit->property(Edit_View_FilePath).toString();\r\n\r\n\t//OpenAttr openType = (OpenAttr)pEdit->property(Open_Attr).toInt();\r\n\t//if (OpenAttr::Text != openType && OpenAttr::BigTextReadOnly != openType)\r\n\t//{\r\n\t//\treturn;\r\n\t//}\r\n\r\n\tLexerInfo lxdata = getLangLexerIdByFileExt(filePath);\r\n\r\n\tQsciLexer* lexer = nullptr;\r\n\r\n\t//如果没有特殊语法，而且默认给与语法不是-1，则按照默认语法设置\r\n\tif (lxdata.lexerId == L_TXT && defLexerId != -1)\r\n\t{\r\n\t\tlexer = ScintillaEditView::createLexer(defLexerId);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tlexer = ScintillaEditView::createLexer(lxdata.lexerId, lxdata.tagName);\r\n\t}\r\n\r\n\tif (lexer != nullptr)\r\n\t{\r\n\t\tif (nullptr != pEdit->lexer())\r\n\t\t{\r\n\t\t\tdelete pEdit->lexer();\r\n\t\t}\r\n\r\n\t\tpEdit->setLexer(lexer);\r\n\t\tsyncCurDocLexerToMenu(pEdit);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tsetTxtLexer(pEdit);\r\n\t\tsyncCurDocLexerToMenu(pEdit);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::updateTitleToCurDocFilePath()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tsetWindowTitle(pw->property(Edit_View_FilePath).toString());\r\n\t}\r\n}\r\n\r\n//切换tab后\r\nvoid CCNotePad::slot_tabCurrentChanged(int index)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->widget(index);\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\t//16进制的处理逻辑\r\n\t\tint docType = getDocTypeProperty(pw);\r\n\t\tif (HEX_TYPE == docType)\r\n\t\t{\r\n\t\t\tsetWindowTitleMode(filePath, OpenAttr::HexReadOnly);\r\n\t\t\tfileListSetCurItem(filePath);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse if ((TXT_TYPE == docType)||(BIG_TEXT_RO_TYPE == docType)||(SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t\t{\r\n\r\n\t\t\tint code = pw->property(Edit_Text_Code).toInt();\r\n\t\t\tsetCodeBarLabel(static_cast<CODE_ID>(code));\r\n\r\n\t\t\tint lineEnd = pw->property(Edit_Text_End).toInt();\r\n\t\t\tsetLineEndBarLabel(static_cast<RC_LINE_FORM>(lineEnd));\r\n\r\n\t\t\tif (pw->property(Edit_Text_Change).toBool())\r\n\t\t\t{\r\n\t\t\t\tm_saveFile->setEnabled(true);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tm_saveFile->setEnabled(false);\r\n\t\t\t}\r\n\r\n\r\n\t\t\tif (TXT_TYPE == docType)\r\n\t\t\t{\r\n\t\t\t\tsetWindowTitleMode(filePath, (OpenAttr)pw->property(Open_Attr).toInt());\r\n\t\t\t}\r\n\t\t\telse if (BIG_TEXT_RO_TYPE == docType)\r\n\t\t\t{\r\n\t\t\t\t//setWindowTitle(QString(\"%1 (%2)\").arg(pw->property(Edit_View_FilePath).toString()).arg(tr(\"Big Text File ReadOnly\")));\r\n\t\t\t\tsetWindowTitleMode(filePath, OpenAttr::BigTextReadOnly);\r\n\t\t\t}\r\n\t\t\telse if (SUPER_BIG_TEXT_RO_TYPE == docType)\r\n\t\t\t{\r\n\t\t\t\t//setWindowTitle(QString(\"%1 (%2)\").arg(pw->property(Edit_View_FilePath).toString()).arg(tr(\"Big Text File ReadOnly\")));\r\n\t\t\t\tsetWindowTitleMode(filePath, OpenAttr::SuperBigTextReadOnly);\r\n\t\t\t}\r\n\t\t\tsyncCurDocEncodeToMenu(pw);\r\n\t\t\tsyncCurDocLineEndStatusToMenu(pw);\r\n\t\t\tsyncCurDocLexerToMenu(pw);\r\n\t\t\tsyncCurDocTailfToMenu(pw);\r\n\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t\t\t//目前只用了0 2 两种换行模式。\r\n\t\t\tif (s_autoWarp != pEdit->wrapMode())\r\n\t\t\t{\r\n\t\t\t\tpEdit->setWrapMode((s_autoWarp == 0 ? QsciScintilla::WrapNone: QsciScintilla::WrapCharacter));\r\n\t\t\t}\r\n\t\t\tpEdit->viewport()->setFocus();\r\n\r\n\t\t\tfileListSetCurItem(filePath);\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n//快捷按钮的初始化\r\nvoid CCNotePad::setShoctIcon(int iconSize)\r\n{\r\n#if 0\r\n\tauto setDark32Icon = [this]()\r\n\t{\r\n\t\t//黑色图标\r\n\t\tm_newFile->setIcon(QIcon(NewFileIconDark32));\r\n\t\tm_openFile->setIcon(QIcon(OpenFileIconDark32));\r\n\t\tm_saveFile->setIcon(QIcon(NoNeedSaveBarIconDark32));\r\n\t\tm_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIconDark32));\r\n\t\tm_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIconDark32));\r\n\t\tm_closeFile->setIcon(QIcon(CloseFileIconDark32));\r\n\t\tm_closeAllFile->setIcon(QIcon(CloseAllFileIconDark32));\r\n\t\tm_cutFile->setIcon(QIcon(CutIconDark32));\r\n\t\tm_copyFile->setIcon(QIcon(CopyFileIconDark32));\r\n\t\tm_pasteFile->setIcon(QIcon(PasteIconDark32));\r\n\t\tm_undo->setIcon(QIcon(UndoIconDark32));\r\n\t\tm_redo->setIcon(QIcon(RedoIconDark32));\r\n\t\tm_findText->setIcon(QIcon(FindIconDark32));\r\n\t\tm_replaceText->setIcon(QIcon(ReplaceIconDark32));\r\n\t\tm_markText->setIcon(QIcon(MarkIconDark32));\r\n\t\tm_signText->setIcon(QIcon(SignIconDark32));\r\n\t\tm_clearMark->setIcon(QIcon(ClearSignIconDark32));\r\n\t\tm_zoomin->setIcon(QIcon(ZoominIconDark32));\r\n\t\tm_zoomout->setIcon(QIcon(ZoomoutIconDark32));\r\n\t\tm_wordwrap->setIcon(QIcon(CrlfIconDark32));\r\n\t\tm_allWhite->setIcon(QIcon(WhiteIconDark32));\r\n\t\tm_indentGuide->setIcon(QIcon(IndentIconDark32));\r\n\t\tm_preHexPage->setIcon(QIcon(PreHexIconDark32));\r\n\t\tm_nextHexPage->setIcon(QIcon(NextHexIconDark32));\r\n\t\tm_gotoHexPage->setIcon(QIcon(GotoHexIconDark32));\r\n\t\tm_fileCompare->setIcon(QIcon(FileCompareIconDark32));\r\n\t\tm_dirCompare->setIcon(QIcon(DirCompareIconDark32));\r\n\t\tm_binCompare->setIcon(QIcon(BinCmpIconDark32));\r\n\t\tm_transcode->setIcon(QIcon(TransCodeIconDark32));\r\n\t\tm_rename->setIcon(QIcon(RenameIconDark32));\r\n\t};\r\n\r\n\tif (iconSize < 48)\r\n\t{\r\n\t\tif (iconSize == 36 && StyleSet::getCurrentSytleId() == DEEP_BLACK)\r\n\t\t{\r\n\t\t\tsetDark32Icon();\r\n}\r\n\t\telse\r\n\t\t{\r\n\t\tm_newFile->setIcon(QIcon(NewFileIcon));\r\n\t\tm_openFile->setIcon(QIcon(OpenFileIcon));\r\n\t\tm_saveFile->setIcon(QIcon(NoNeedSaveBarIcon));\r\n\t\tm_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon));\r\n\t\tm_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon));\r\n\t\tm_closeFile->setIcon(QIcon(CloseFileIcon));\r\n\t\tm_closeAllFile->setIcon(QIcon(CloseAllFileIcon));\r\n\t\tm_cutFile->setIcon(QIcon(CutIcon));\r\n\t\tm_copyFile->setIcon(QIcon(CopyFileIcon));\r\n\t\tm_pasteFile->setIcon(QIcon(PasteIcon));\r\n\t\tm_undo->setIcon(QIcon(UndoIcon));\r\n\t\tm_redo->setIcon(QIcon(RedoIcon));\r\n\t\tm_findText->setIcon(QIcon(FindIcon));\r\n\t\tm_replaceText->setIcon(QIcon(ReplaceIcon));\r\n\t\tm_markText->setIcon(QIcon(MarkIcon));\r\n\t\tm_signText->setIcon(QIcon(SignIcon));\r\n\t\tm_clearMark->setIcon(QIcon(ClearSignIcon));\r\n\t\tm_zoomin->setIcon(QIcon(ZoominIcon));\r\n\t\tm_zoomout->setIcon(QIcon(ZoomoutIcon));\r\n\t\tm_wordwrap->setIcon(QIcon(CrlfIcon));\r\n\t\tm_allWhite->setIcon(QIcon(WhiteIcon));\r\n\t\tm_indentGuide->setIcon(QIcon(IndentIcon));\r\n\t\tm_preHexPage->setIcon(QIcon(PreHexIcon));\r\n\t\tm_nextHexPage->setIcon(QIcon(NextHexIcon));\r\n\t\tm_gotoHexPage->setIcon(QIcon(GotoHexIcon));\r\n\t\tm_fileCompare->setIcon(QIcon(FileCompareIcon));\r\n\t\tm_dirCompare->setIcon(QIcon(DirCompareIcon));\r\n\t\tm_binCompare->setIcon(QIcon(BinCmpIcon));\r\n\t\tm_transcode->setIcon(QIcon(TransCodeIcon));\r\n\t\tm_rename->setIcon(QIcon(RenameIcon));\r\n\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (StyleSet::getCurrentSytleId() != DEEP_BLACK)\r\n\t\t{\r\n\t\tm_newFile->setIcon(QIcon(NewFileIcon32));\r\n\t\tm_openFile->setIcon(QIcon(OpenFileIcon32));\r\n\t\tm_saveFile->setIcon(QIcon(NoNeedSaveBarIcon32));\r\n\t\tm_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon32));\r\n\t\tm_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon32));\r\n\t\tm_closeFile->setIcon(QIcon(CloseFileIcon32));\r\n\t\tm_closeAllFile->setIcon(QIcon(CloseAllFileIcon32));\r\n\t\tm_cutFile->setIcon(QIcon(CutIcon32));\r\n\t\tm_copyFile->setIcon(QIcon(CopyFileIcon32));\r\n\t\tm_pasteFile->setIcon(QIcon(PasteIcon32));\r\n\t\tm_undo->setIcon(QIcon(UndoIcon32));\r\n\t\tm_redo->setIcon(QIcon(RedoIcon32));\r\n\t\tm_findText->setIcon(QIcon(FindIcon32));\r\n\t\tm_replaceText->setIcon(QIcon(ReplaceIcon32));\r\n\t\tm_markText->setIcon(QIcon(MarkIcon32));\r\n\t\tm_signText->setIcon(QIcon(SignIcon32));\r\n\t\tm_clearMark->setIcon(QIcon(ClearSignIcon32));\r\n\t\tm_zoomin->setIcon(QIcon(ZoominIcon32));\r\n\t\tm_zoomout->setIcon(QIcon(ZoomoutIcon32));\r\n\t\tm_wordwrap->setIcon(QIcon(CrlfIcon32));\r\n\t\tm_allWhite->setIcon(QIcon(WhiteIcon32));\r\n\t\tm_indentGuide->setIcon(QIcon(IndentIcon32));\r\n\t\tm_preHexPage->setIcon(QIcon(PreHexIcon32));\r\n\t\tm_nextHexPage->setIcon(QIcon(NextHexIcon32));\r\n\t\tm_gotoHexPage->setIcon(QIcon(GotoHexIcon32));\r\n\t\tm_fileCompare->setIcon(QIcon(FileCompareIcon32));\r\n\t\tm_dirCompare->setIcon(QIcon(DirCompareIcon32));\r\n\t\tm_binCompare->setIcon(QIcon(BinCmpIcon32));\r\n\t\tm_transcode->setIcon(QIcon(TransCodeIcon32));\r\n\t\tm_rename->setIcon(QIcon(RenameIcon32));\r\n\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsetDark32Icon();\r\n\t}\r\n}\r\n#endif\r\n\r\n\tif (iconSize < 48)\r\n\t{\r\n\t\tm_newFile->setIcon(QIcon(NewFileIcon));\r\n\t\tm_openFile->setIcon(QIcon(OpenFileIcon));\r\n\t\tm_saveFile->setIcon(QIcon(NoNeedSaveBarIcon));\r\n\t\tm_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon));\r\n\t\tm_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon));\r\n\t\tm_closeFile->setIcon(QIcon(CloseFileIcon));\r\n\t\tm_closeAllFile->setIcon(QIcon(CloseAllFileIcon));\r\n\t\tm_cutFile->setIcon(QIcon(CutIcon));\r\n\t\tm_copyFile->setIcon(QIcon(CopyFileIcon));\r\n\t\tm_pasteFile->setIcon(QIcon(PasteIcon));\r\n\t\tm_undo->setIcon(QIcon(UndoIcon));\r\n\t\tm_redo->setIcon(QIcon(RedoIcon));\r\n\t\tm_findText->setIcon(QIcon(FindIcon));\r\n\t\tm_replaceText->setIcon(QIcon(ReplaceIcon));\r\n\t\tm_markText->setIcon(QIcon(MarkIcon));\r\n\t\tm_signText->setIcon(QIcon(SignIcon));\r\n\t\tm_clearMark->setIcon(QIcon(ClearSignIcon));\r\n\t\tm_zoomin->setIcon(QIcon(ZoominIcon));\r\n\t\tm_zoomout->setIcon(QIcon(ZoomoutIcon));\r\n\t\tm_wordwrap->setIcon(QIcon(CrlfIcon));\r\n\t\tm_allWhite->setIcon(QIcon(WhiteIcon));\r\n\t\tm_indentGuide->setIcon(QIcon(IndentIcon));\r\n\t\tm_tailf->setIcon(QIcon(TailfIcon));\r\n\t\tm_preHexPage->setIcon(QIcon(PreHexIcon));\r\n\t\tm_nextHexPage->setIcon(QIcon(NextHexIcon));\r\n\t\tm_gotoHexPage->setIcon(QIcon(GotoHexIcon));\r\n\t\tm_transcode->setIcon(QIcon(TransCodeIcon));\r\n\t\tm_rename->setIcon(QIcon(RenameIcon));\r\n}\r\n\telse\r\n\t{\r\n\t\tm_newFile->setIcon(QIcon(NewFileIcon32));\r\n\t\tm_openFile->setIcon(QIcon(OpenFileIcon32));\r\n\t\tm_saveFile->setIcon(QIcon(NoNeedSaveBarIcon32));\r\n\t\tm_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon32));\r\n\t\tm_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon32));\r\n\t\tm_closeFile->setIcon(QIcon(CloseFileIcon32));\r\n\t\tm_closeAllFile->setIcon(QIcon(CloseAllFileIcon32));\r\n\t\tm_cutFile->setIcon(QIcon(CutIcon32));\r\n\t\tm_copyFile->setIcon(QIcon(CopyFileIcon32));\r\n\t\tm_pasteFile->setIcon(QIcon(PasteIcon32));\r\n\t\tm_undo->setIcon(QIcon(UndoIcon32));\r\n\t\tm_redo->setIcon(QIcon(RedoIcon32));\r\n\t\tm_findText->setIcon(QIcon(FindIcon32));\r\n\t\tm_replaceText->setIcon(QIcon(ReplaceIcon32));\r\n\t\tm_markText->setIcon(QIcon(MarkIcon32));\r\n\t\tm_signText->setIcon(QIcon(SignIcon32));\r\n\t\tm_clearMark->setIcon(QIcon(ClearSignIcon32));\r\n\t\tm_zoomin->setIcon(QIcon(ZoominIcon32));\r\n\t\tm_zoomout->setIcon(QIcon(ZoomoutIcon32));\r\n\t\tm_wordwrap->setIcon(QIcon(CrlfIcon32));\r\n\t\tm_allWhite->setIcon(QIcon(WhiteIcon32));\r\n\t\tm_indentGuide->setIcon(QIcon(IndentIcon32));\r\n\t\tm_tailf->setIcon(QIcon(TailfIcon32));\r\n\t\tm_preHexPage->setIcon(QIcon(PreHexIcon32));\r\n\t\tm_nextHexPage->setIcon(QIcon(NextHexIcon32));\r\n\t\tm_gotoHexPage->setIcon(QIcon(GotoHexIcon32));\r\n\t\tm_transcode->setIcon(QIcon(TransCodeIcon32));\r\n\t\tm_rename->setIcon(QIcon(RenameIcon32));\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::initToolBar()\r\n{\r\n\tint iconIndex = NddSetting::getKeyValueFromNumSets(ICON_SIZE);\r\n\t\r\n\tint ICON_SIZE = 24;\r\n\r\n\tif (iconIndex == 0)\r\n\t{\r\n\t\tui.action24->setChecked(true);\r\n\t}\r\n\telse if (iconIndex == 1)\r\n\t{\r\n\t\tICON_SIZE = 36;\r\n\t\tui.action36->setChecked(true);\r\n\t}\r\n\telse if (iconIndex == 2)\r\n\t{\r\n\t\tICON_SIZE = 48;\r\n\t\tui.action48->setChecked(true);\r\n\t}\r\n\r\n\tm_curIconSize = ICON_SIZE;\r\n\r\n\ts_autoWarp = NddSetting::getKeyValueFromNumSets(AUTOWARP_KEY);\r\n\ts_zoomValue = NddSetting::getKeyValueFromNumSets(ZOOMVALUE);\r\n\tif (s_zoomValue > 10 || s_zoomValue < -5)\r\n\t{\r\n\t\ts_zoomValue = 0;\r\n\t\tNddSetting::updataKeyValueFromNumSets(ZOOMVALUE, s_zoomValue);\r\n\t}\r\n\r\n\ts_indent = NddSetting::getKeyValueFromNumSets(INDENT_KEY);\r\n\ts_showblank = NddSetting::getKeyValueFromNumSets(SHOWSPACE_KEY);\r\n\r\n\tm_newFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_newFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionNewFile_toggle);\r\n\tm_newFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_newFile->setToolTip(tr(\"New File\"));\r\n\tui.mainToolBar->addWidget(m_newFile);\r\n\r\n\tm_openFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_openFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionOpenFile_toggle);\r\n\tm_openFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_openFile->setToolTip(tr(\"Open File\"));\r\n\tui.mainToolBar->addWidget(m_openFile);\r\n\r\n\tm_saveFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_saveFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionSaveFile_toggle);\r\n\tm_saveFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_saveFile->setToolTip(tr(\"Save File\"));\r\n\tui.mainToolBar->addWidget(m_saveFile);\r\n\r\n\tm_saveAllFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_saveAllFile, &QAbstractButton::clicked, this, &CCNotePad::slot_saveAllFile);\r\n\tm_saveAllFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_saveAllFile->setToolTip(tr(\"Save All File\"));\r\n\tui.mainToolBar->addWidget(m_saveAllFile);\r\n\r\n\tm_autoSaveAFile = new QToolButton(ui.mainToolBar);\r\n\tm_autoSaveAFile->setCheckable(true);\r\n\tconnect(m_autoSaveAFile, &QAbstractButton::clicked, this, &CCNotePad::slot_autoSaveFile);\r\n\tm_autoSaveAFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_autoSaveAFile->setToolTip(tr(\"Cycle Auto Save\"));\r\n\tui.mainToolBar->addWidget(m_autoSaveAFile);\r\n\t\r\n\r\n\tm_closeFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_closeFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionClose);\r\n\tm_closeFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_closeFile->setToolTip(tr(\"Close\"));\r\n\tui.mainToolBar->addWidget(m_closeFile);\r\n\r\n\tm_closeAllFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_closeAllFile, &QAbstractButton::clicked, this, &CCNotePad::slot_closeAllFile);\r\n\tm_closeAllFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_closeAllFile->setToolTip(tr(\"Close All\"));\r\n\tui.mainToolBar->addWidget(m_closeAllFile);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\tm_cutFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_cutFile, &QAbstractButton::clicked, this, &CCNotePad::slot_cut);\r\n\tm_cutFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_cutFile->setToolTip(tr(\"Cut\"));\r\n\tui.mainToolBar->addWidget(m_cutFile);\r\n\r\n\tm_copyFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_copyFile, &QAbstractButton::clicked, this, &CCNotePad::slot_copy);\r\n\tm_copyFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_copyFile->setIcon(QIcon(CopyFileIcon));\r\n\tm_copyFile->setToolTip(tr(\"Copy\"));\r\n\tui.mainToolBar->addWidget(m_copyFile);\r\n\r\n\tm_pasteFile = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_pasteFile, &QAbstractButton::clicked, this, &CCNotePad::slot_paste);\r\n\tm_pasteFile->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_pasteFile->setToolTip(tr(\"Paste\"));\r\n\tui.mainToolBar->addWidget(m_pasteFile);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\tm_undo = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_undo, &QAbstractButton::clicked, this, &CCNotePad::slot_undo);\r\n\tm_undo->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_undo->setToolTip(tr(\"Undo\"));\r\n\tui.mainToolBar->addWidget(m_undo);\r\n\r\n\tm_redo = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_redo, &QAbstractButton::clicked, this, &CCNotePad::slot_redo);\r\n\tm_redo->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_redo->setToolTip(tr(\"Redo\"));\r\n\tui.mainToolBar->addWidget(m_redo);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\tm_findText = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_findText, &QAbstractButton::clicked, this, &CCNotePad::slot_find);\r\n\tm_findText->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_findText->setToolTip(tr(\"Find\"));\r\n\tui.mainToolBar->addWidget(m_findText);\r\n\r\n\tm_replaceText = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_replaceText, &QAbstractButton::clicked, this, &CCNotePad::slot_replace);\r\n\tm_replaceText->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_replaceText->setToolTip(tr(\"Replace\"));\r\n\tui.mainToolBar->addWidget(m_replaceText);\r\n\r\n\tm_markText = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_markText, &QAbstractButton::clicked, this, &CCNotePad::slot_markHighlight);\r\n\tm_markText->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_markText->setToolTip(tr(\"Mark\"));\r\n\tui.mainToolBar->addWidget(m_markText);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\t//选择单词高亮\r\n\tm_signText = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_signText, &QAbstractButton::clicked, this, &CCNotePad::slot_wordHighlight);\r\n\tm_signText->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_signText->setToolTip(tr(\"word highlight(F8)\"));\r\n\tm_signText->setShortcut(QKeySequence(Qt::Key_F8));\r\n\tui.mainToolBar->addWidget(m_signText);\r\n\r\n\t//选择单词高亮\r\n\tm_clearMark = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_clearMark, &QAbstractButton::clicked, this, &CCNotePad::slot_clearMark);\r\n\tm_clearMark->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_clearMark->setToolTip(tr(\"clear all highlight(F7)\"));\r\n\tm_clearMark->setShortcut(QKeySequence(Qt::Key_F7));\r\n\tui.mainToolBar->addWidget(m_clearMark);\r\n\r\n\t\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\tm_zoomin = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_zoomin, &QAbstractButton::clicked, this, &CCNotePad::slot_zoomin);\r\n\tm_zoomin->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_zoomin->setToolTip(tr(\"Zoom In\"));\r\n\tui.mainToolBar->addWidget(m_zoomin);\r\n\r\n\tm_zoomout = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_zoomout, &QAbstractButton::clicked, this, &CCNotePad::slot_zoomout);\r\n\tm_zoomout->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_zoomout->setToolTip(tr(\"Zoom Out\"));\r\n\tui.mainToolBar->addWidget(m_zoomout);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\tm_wordwrap = new QToolButton(ui.mainToolBar);\r\n\tm_wordwrap->setCheckable(true);\r\n\tm_wordwrap->setChecked((s_autoWarp != QsciScintilla::WrapNone));\r\n\tconnect(m_wordwrap, &QAbstractButton::clicked, this, &CCNotePad::slot_wordwrap);\r\n\tm_wordwrap->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_wordwrap->setToolTip(tr(\"Word Wrap\"));\r\n\tui.mainToolBar->addWidget(m_wordwrap);\r\n\tui.actionWrap->setChecked((s_autoWarp != QsciScintilla::WrapNone));\r\n\r\n\tm_allWhite = new QToolButton(ui.mainToolBar);\r\n\tm_allWhite->setCheckable(true);\r\n\tm_allWhite->setChecked((s_showblank == 3));\r\n\r\n\t//这里使用clicked信号。修改setChecked时，不会触发该信号，避免循环触发。\r\n\t//注意统一:凡是需要两个地方控制一个状态，同步的地方。按钮使用clicked信号，action使用triggered。\r\n\t//因为这两个信号，不会被setchecked修改，这样其他地方调用setchecked时，避免信号循环冲突\r\n\tconnect(m_allWhite, &QAbstractButton::clicked, this, &CCNotePad::slot_allWhite);\r\n\tm_allWhite->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_allWhite->setToolTip(tr(\"Show Blank\"));\r\n\tui.mainToolBar->addWidget(m_allWhite);\r\n\r\n\tui.actionShowAll->setChecked((s_showblank == 3));\r\n\r\n\tm_indentGuide = new QToolButton(ui.mainToolBar);\r\n\tm_indentGuide->setCheckable(true);\r\n\tm_indentGuide->setChecked((s_indent == 1));\r\n\tconnect(m_indentGuide, &QAbstractButton::toggled, this, &CCNotePad::slot_indentGuide);\r\n\tm_indentGuide->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_indentGuide->setToolTip(tr(\"Indent Guide\"));\r\n\tui.mainToolBar->addWidget(m_indentGuide);\r\n\r\n\tm_tailf = new QToolButton(ui.mainToolBar);\r\n\tm_tailf->setCheckable(true);\r\n\tm_tailf->setChecked(false);\r\n\tconnect(m_tailf, &QAbstractButton::clicked, this, &CCNotePad::on_tailfile);\r\n\tm_tailf->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_tailf->setToolTip(tr(\"tailf file\"));\r\n\tui.mainToolBar->addWidget(m_tailf);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\tm_preHexPage = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_preHexPage, &QAbstractButton::clicked, this, &CCNotePad::slot_preHexPage);\r\n\tm_preHexPage->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_preHexPage->setToolTip(tr(\"Pre Hex Page\"));\r\n\tui.mainToolBar->addWidget(m_preHexPage);\r\n\r\n\tm_nextHexPage = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_nextHexPage, &QAbstractButton::clicked, this, &CCNotePad::slot_nextHexPage);\r\n\tm_nextHexPage->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_nextHexPage->setToolTip(tr(\"Next Hex Page\"));\r\n\tui.mainToolBar->addWidget(m_nextHexPage);\r\n\r\n\tm_gotoHexPage = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_gotoHexPage, &QAbstractButton::clicked, this, &CCNotePad::slot_gotoHexPage);\r\n\tm_gotoHexPage->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_gotoHexPage->setToolTip(tr(\"Goto Hex Page\"));\r\n\tui.mainToolBar->addWidget(m_gotoHexPage);\r\n\r\n\tui.mainToolBar->addSeparator();\r\n\r\n\r\n\tm_transcode = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_transcode, &QAbstractButton::clicked, this, &CCNotePad::slot_batch_convert);\r\n\tm_transcode->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_transcode->setToolTip(tr(\"transform encoding\"));\r\n\tui.mainToolBar->addWidget(m_transcode);\r\n\r\n\tm_rename = new QToolButton(ui.mainToolBar);\r\n\tconnect(m_rename, &QAbstractButton::clicked, this, &CCNotePad::slot_batch_rename);\r\n\tm_rename->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tm_rename->setToolTip(tr(\"batch rename file\"));\r\n\tui.mainToolBar->addWidget(m_rename);\r\n\r\n\tsetShoctIcon(ICON_SIZE);\r\n\t\r\n\r\n\t//编码里面只能有一个当前被选中\r\n\tm_pEncodeActGroup = new QActionGroup(this);\r\n\tm_pEncodeActGroup->addAction(ui.actionencode_in_GBK);\r\n\tm_pEncodeActGroup->addAction(ui.actionencode_in_uft8);\r\n\tm_pEncodeActGroup->addAction(ui.actionencode_in_UTF8_BOM);\r\n\tm_pEncodeActGroup->addAction(ui.actionencode_in_UCS_BE_BOM);\r\n\tm_pEncodeActGroup->addAction(ui.actionencode_in_UCS_2_LE_BOM);\r\n\tm_pEncodeActGroup->addAction(ui.actionBig5);\r\n\tm_pEncodeActGroup->setExclusive(true);\r\n\r\n\tm_pLineEndActGroup = new QActionGroup(this);\r\n\tm_pLineEndActGroup->addAction(ui.actionconver_windows_CR_LF);\r\n\tm_pLineEndActGroup->addAction(ui.actionconvert_Unix_LF);\r\n\tm_pLineEndActGroup->addAction(ui.actionconvert_Mac_CR);\r\n\tm_pEncodeActGroup->setExclusive(true);\r\n\r\n\tm_pIconSize = new QActionGroup(this);\r\n\tm_pIconSize->addAction(ui.action24);\r\n\tm_pIconSize->addAction(ui.action36);\r\n\tm_pIconSize->addAction(ui.action48);\r\n\tm_pIconSize->setExclusive(true);\r\n\tconnect(m_pIconSize, &QActionGroup::triggered, this, &CCNotePad::slot_changeIconSize, Qt::QueuedConnection);\r\n\r\n\r\n\tm_pLexerActGroup = new QActionGroup(this);\r\n\t/*m_pLexerActGroup->addAction(ui.actionAVS);*/\r\n\tm_pLexerActGroup->addAction(ui.actionAssembly);\r\n\tm_pLexerActGroup->addAction(ui.actionbash);\r\n\tm_pLexerActGroup->addAction(ui.actionBatch);\r\n\tm_pLexerActGroup->addAction(ui.actionCMake);\r\n\tm_pLexerActGroup->addAction(ui.actionCoffeeScript);\r\n\tm_pLexerActGroup->addAction(ui.actionCPP);\r\n\tm_pLexerActGroup->addAction(ui.actionCShape);\r\n\tm_pLexerActGroup->addAction(ui.actionCss);\r\n\tm_pLexerActGroup->addAction(ui.actionD_2);\r\n\tm_pLexerActGroup->addAction(ui.actionDiff);\r\n\tm_pLexerActGroup->addAction(ui.actionEdifact);\r\n\tm_pLexerActGroup->addAction(ui.actionFortran);\r\n\tm_pLexerActGroup->addAction(ui.actionFortran77);\r\n\tm_pLexerActGroup->addAction(ui.actionHTML);\r\n\tm_pLexerActGroup->addAction(ui.actionIDL);\r\n\tm_pLexerActGroup->addAction(ui.actionJava);\r\n\tm_pLexerActGroup->addAction(ui.actionJavaScript);\r\n\tm_pLexerActGroup->addAction(ui.actionjson);\r\n\tm_pLexerActGroup->addAction(ui.actionLua);\r\n\tm_pLexerActGroup->addAction(ui.actionMakefile);\r\n    m_pLexerActGroup->addAction(ui.actionMarkDown_2);\r\n\tm_pLexerActGroup->addAction(ui.actionMatlab);\r\n\tm_pLexerActGroup->addAction(ui.actionOctave);\r\n\tm_pLexerActGroup->addAction(ui.actionPascal);\r\n\tm_pLexerActGroup->addAction(ui.actionPerl);\r\n\tm_pLexerActGroup->addAction(ui.actionPo);\r\n\tm_pLexerActGroup->addAction(ui.actionPostScript);\r\n\tm_pLexerActGroup->addAction(ui.actionPov);\r\n\tm_pLexerActGroup->addAction(ui.actionProperties_file);\r\n\tm_pLexerActGroup->addAction(ui.actionPython);\r\n\tm_pLexerActGroup->addAction(ui.actionR_2);\r\n\tm_pLexerActGroup->addAction(ui.actionRuby);\r\n\tm_pLexerActGroup->addAction(ui.actionRust);\r\n\tm_pLexerActGroup->addAction(ui.actionSpice);\r\n\tm_pLexerActGroup->addAction(ui.actionSql);\r\n\tm_pLexerActGroup->addAction(ui.actionTcl);\r\n\tm_pLexerActGroup->addAction(ui.actionTex);\r\n\tm_pLexerActGroup->addAction(ui.actionVb);\r\n\tm_pLexerActGroup->addAction(ui.actionVerilog);\r\n\tm_pLexerActGroup->addAction(ui.actionVHDL);\r\n\tm_pLexerActGroup->addAction(ui.actionXML);\r\n\tm_pLexerActGroup->addAction(ui.actionYAML);\r\n\tm_pLexerActGroup->addAction(ui.actionPhp);\r\n\tm_pLexerActGroup->addAction(ui.actionC);\r\n\tm_pLexerActGroup->addAction(ui.actionObjective_C);\r\n\tm_pLexerActGroup->addAction(ui.actionRC);\r\n\tm_pLexerActGroup->addAction(ui.actionini);\r\n\tm_pLexerActGroup->addAction(ui.actionNfo);\r\n\tm_pLexerActGroup->addAction(ui.actionASP);\r\n\tm_pLexerActGroup->addAction(ui.actionVirsual_Basic);\r\n\tm_pLexerActGroup->addAction(ui.actionShell);\r\n\tm_pLexerActGroup->addAction(ui.actionActionScript);\r\n\tm_pLexerActGroup->addAction(ui.actionNSIS);\r\n\tm_pLexerActGroup->addAction(ui.actionLisp);\r\n\tm_pLexerActGroup->addAction(ui.actionScheme);\r\n\tm_pLexerActGroup->addAction(ui.actionAssembly);\r\n\tm_pLexerActGroup->addAction(ui.actionSmalltalk);\r\n\tm_pLexerActGroup->addAction(ui.actionAutoIt);\r\n\tm_pLexerActGroup->addAction(ui.actionPowerShell);\r\n\tm_pLexerActGroup->addAction(ui.actionJsp);\r\n\tm_pLexerActGroup->addAction(ui.actionBaanC);\r\n\tm_pLexerActGroup->addAction(ui.actionS_Record);\r\n\tm_pLexerActGroup->addAction(ui.actionTypeScript);\r\n\tm_pLexerActGroup->addAction(ui.actionVisual_Prolog);\r\n\tm_pLexerActGroup->addAction(ui.actionTxt2tags);\r\n\tm_pLexerActGroup->addAction(ui.actionRegistry);\r\n\tm_pLexerActGroup->addAction(ui.actionREBOL);\r\n\tm_pLexerActGroup->addAction(ui.actionOScript);\r\n\tm_pLexerActGroup->addAction(ui.actionNncrontab);\r\n\tm_pLexerActGroup->addAction(ui.actionNim);\r\n\tm_pLexerActGroup->addAction(ui.actionMMIXAL);\r\n\tm_pLexerActGroup->addAction(ui.actionLaTex);\r\n\tm_pLexerActGroup->addAction(ui.actionForth);\r\n\tm_pLexerActGroup->addAction(ui.actionESCRIPT);\r\n\tm_pLexerActGroup->addAction(ui.actionErlang);\r\n\tm_pLexerActGroup->addAction(ui.actionCsound);\r\n\tm_pLexerActGroup->addAction(ui.actionFreeBasic);\r\n\tm_pLexerActGroup->addAction(ui.actionBlitzBasic);\r\n\tm_pLexerActGroup->addAction(ui.actionPureBasic);\r\n\tm_pLexerActGroup->addAction(ui.actionAviSynth);\r\n\tm_pLexerActGroup->addAction(ui.actionASN1);\r\n\tm_pLexerActGroup->addAction(ui.actionSwift);\r\n\tm_pLexerActGroup->addAction(ui.actionIntel_HEX); \r\n\tm_pLexerActGroup->addAction(ui.actionGo);\r\n\tm_pLexerActGroup->addAction(ui.actionTxt);\r\n\tm_pLexerActGroup->addAction(ui.actionUserDefine);\r\n\r\n\tQActionGroup* langsGroup = new QActionGroup(this);\r\n\tlangsGroup->addAction(ui.actionChinese);\r\n\tlangsGroup->addAction(ui.actionEnglish);\r\n\r\n\tconnect(ui.menuLanguage, &QMenu::triggered, this, &CCNotePad::slot_lexerActTrig);\r\n\r\n\t//这是在网上看到的一个方法，使用一个widget把位置占住，让后面的action跑到最后面 去\r\n\tQWidget* space = new QWidget();\r\n\tspace->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r\n\tui.mainToolBar->addWidget(space);\r\n\r\n\r\n\tQToolButton* closeX = new QToolButton(ui.mainToolBar);\r\n\tconnect(closeX, &QAbstractButton::clicked, this, &CCNotePad::slot_actionClose);\r\n\tcloseX->setFixedSize(ICON_SIZE, ICON_SIZE);\r\n\tcloseX->setIcon(QIcon(RightCloseIcon));\r\n\tcloseX->setToolTip(tr(\"Close\"));\r\n\tui.mainToolBar->addWidget(closeX);\r\n\r\n\tsyncBlankShowStatus();\r\n}\r\n\r\nvoid CCNotePad::setZoomLabelValue(int zoomValue)\r\n{\r\n\tm_zoomLabel->setText(tr(\"Zoom: %1%\").arg(zoomValue));\r\n\t\t}\r\n\r\nvoid CCNotePad::slot_changeIconSize(QAction *action)\r\n{\r\n\tint size = 24;\r\n\tif (action == ui.action24)\r\n\t{\r\n\t\tsize = 24;\r\n\r\n\t\tNddSetting::updataKeyValueFromNumSets(ICON_SIZE,0);\r\n\t\tui.action24->setChecked(true);\r\n\t}\r\n\telse if (action == ui.action36)\r\n\t{\r\n\t\tsize = 36;\r\n\t\tNddSetting::updataKeyValueFromNumSets(ICON_SIZE, 1);\r\n\t\tui.action36->setChecked(true);\r\n\t}\r\n\telse if (action == ui.action48)\r\n\t{\r\n\t\tsize = 48;\r\n\t\tNddSetting::updataKeyValueFromNumSets(ICON_SIZE, 2);\r\n\t\tui.action48->setChecked(true);\r\n\t}\r\n\r\n\tm_curIconSize = size;\r\n\r\n\tconst QObjectList & childs = ui.mainToolBar->children();\r\n\r\n\tQToolButton* toolBt = nullptr;\r\n\r\n\tfor (int i = 0; i < childs.size(); ++i)\r\n\t{\r\n\t\ttoolBt = dynamic_cast<QToolButton*>(childs.at(i));\r\n\t\tif (toolBt != nullptr)\r\n\t\t{\r\n\t\t\ttoolBt->setFixedSize(size, size);\r\n\t\t}\r\n\t}\r\n\r\n\tsetShoctIcon(size);\r\n}\r\n\r\nvoid CCNotePad::setTxtLexer(ScintillaEditView* pEdit)\r\n{\r\n\tQsciLexer* lexer = ScintillaEditView::createLexer(L_TXT, \"\");\r\n\tpEdit->setLexer(lexer);\r\n}\r\n\r\n//点击语言lexer的槽函数\r\nvoid CCNotePad::slot_lexerActTrig(QAction *action)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tQVariant data = action->data();\r\n\t\tif (data.isNull())\r\n\t\t{\r\n\t\t\tQsciLexer * curLexer = pEdit->lexer();\r\n\t\t\tif (curLexer != nullptr)\r\n\t\t\t{\r\n\t\t\t\tpEdit->setLexer(nullptr);\r\n\t\t\t\tdelete curLexer;\r\n\t\t\t\tsetTxtLexer(pEdit);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tint lexerId = data.toInt();\r\n\r\n\t\tQsciLexer * curLexer = pEdit->lexer();\r\n\t\tif (curLexer != nullptr)\r\n\t\t{\r\n\t\t\tQString tag = curLexer->lexerTag();\r\n\r\n\t\t\tif (m_lexerNameToIndex.contains(tag))\r\n\t\t\t{\r\n\t\t\t\t//当前已经相等了，则不需要重新设置lexer\r\n\t\t\t\tif (m_lexerNameToIndex.value(tag).index == lexerId)\r\n\t\t\t\t{\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//用户自定义的不在其中。不能设置为用户自定义的语法，不明确。\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tdelete curLexer;\r\n\t\t}\r\n\r\n\t\tQsciLexer * lexer = ScintillaEditView::createLexer(lexerId,\"\");\r\n\t\tif (lexer != nullptr)\r\n\t\t{\r\n\t\t\tpEdit->setLexer(lexer);\r\n\t\t\tQString tag = lexer->lexerTag();\r\n\t\t\tsetLangsDescLable(tag);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//默认按txt处理\r\n\t\t\tsetTxtLexer(pEdit);\r\n\t}\r\n\t\t\r\n}\r\n}\r\n\r\n//保存最近打开文件到数据库。文件只有在关闭时，才写入最近列表。不关闭的下次自动恢复打开\r\nvoid CCNotePad::saveReceneOpenFile()\r\n{\r\n\tint clearOpenfilelist = NddSetting::getKeyValueFromDelayNumSets(CLEAR_OPENFILE_ON_CLOSE);\r\n\t//开启了关闭时清空打开历史列表\r\n\tif (clearOpenfilelist == 1)\r\n\t{\r\n\t\tNddSetting::updataKeyValueFromDelaySets(RECENT_OPEN_FILE, \"\");\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString rFile(RECENT_OPEN_FILE);\r\n\r\n\tconst int maxRecord = 15;\r\n\r\n\tif (NddSetting::isDbExist())\r\n\t{\r\n\t\tQStringList fileText;\r\n\r\n\t\tint count = 0;\r\n\r\n\t\tfor (QList<QString>::iterator it = m_receneOpenFileList.begin(); it != m_receneOpenFileList.end(); ++it)\r\n\t\t{\r\n\t\t\tfileText.append(*it);\r\n\r\n\t\t\tif (count++ >= maxRecord)\r\n\t\t\t{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tif (!fileText.isEmpty())\r\n\t\t{\r\n\t\t\tQString fileSaveText = fileText.join('|');\r\n\t\t\tNddSetting::updataKeyValueFromDelaySets(rFile, fileSaveText);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n//从最近列表中加载最近打开历史文件，到菜单中\r\nvoid CCNotePad::on_loadReceneFile()\r\n{\r\n\tif (!m_isRecentFileLoaded)\r\n\t{\r\n\t\tm_isRecentFileLoaded = true;\r\n\r\n\t\tinitReceneOpenFileMenu();\r\n}\r\n}\r\n\r\n//从数据库读取最近对比的文件列表\r\nvoid CCNotePad::initReceneOpenFileMenu()\r\n{\r\n\tQString rFile(RECENT_OPEN_FILE);\r\n\r\n\tif (NddSetting::isDbExist())\r\n\t{\r\n\t\tQString fileStr = NddSetting::getKeyValueFromDelaySets(rFile);\r\n\r\n\t\tQStringList fileList = fileStr.split('|');\r\n\r\n\t\tfor (QString var : fileList)\r\n\t\t{\r\n\t\t\tif (!var.isEmpty() && (-1 == m_receneOpenFileList.indexOf(var)))\r\n\t\t\t{\r\n\t\t\t\tQAction* act = ui.menuRecene_File->addAction(var, this, &CCNotePad::slot_openReceneFile);\r\n\t\t\t\tact->setObjectName(var);\r\n\t\t\t\tm_receneOpenFileList.append(var);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//判断文件是否已经打开中,是则返回其tabindex，否则-1\r\nint CCNotePad::findFileIsOpenAtPad(QString filePath)\r\n{\r\n\tint ret = -1;\r\n\tgetRegularFilePath(filePath);\r\n\r\n\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tif (pw != nullptr)\r\n\t\t{\r\n\t\t\tQString curPath = pw->property(Edit_View_FilePath).toString();\r\n\t\t\tgetRegularFilePath(curPath);\r\n\r\n\t\t\tif (curPath == filePath)\r\n\t\t\t{\r\n\t\t\t\tret = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n//判断新建名称是否已经存在，是 true \r\nbool CCNotePad::isNewFileNameExist(QString& fileName)\r\n{\r\n\r\n\tfor (int i = ui.editTabWidget->count() -1; i >=0 ; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tif (pw != nullptr && (-1 != getFileNewIndexProperty(pw)))\r\n\t\t{\r\n\t\t\tif (getFilePathProperty(pw) == fileName)\r\n\t\t\t{\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\n//通过菜单打开最近文档\r\nvoid CCNotePad::slot_openReceneFile()\r\n{\r\n\tQAction* pA = dynamic_cast<QAction*>(sender());\r\n\tif (pA != nullptr)\r\n\t{\r\n\t\t//失败则删除对应的记录\r\n\t\tif (!openFile(pA->text()))\r\n\t\t{\r\n\t\t\tpA->deleteLater();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid  CCNotePad::setCodeBarLabel(CODE_ID code)\r\n{\r\n\tQString codeStr = Encode::getCodeNameById(code);\r\n\r\n\tif (codeStr == \"unknown\")\r\n\t{\r\n\t\tcodeStr = \"UTF8\";\r\n\t}\r\n\telse if (codeStr == \"GBK\")\r\n\t{\r\n\t\tcodeStr = tr(\"GB18030(Simplified Chinese)\");\r\n\t}\r\n\telse if(codeStr == \"BIG5-HKSCS\")\r\n\t{\r\n\t\tcodeStr = tr(\"Big5(Traditional Chinese)\");\r\n\t}\r\n\tm_codeStatusLabel->setText(codeStr);\r\n}\r\n\r\nvoid  CCNotePad::setLineEndBarLabel(RC_LINE_FORM lineEnd)\r\n{\r\n\tQString endStr = Encode::getLineEndById(lineEnd);\r\n\r\n\tif (m_lineEndLabel->currentText() != endStr)\r\n\t{\r\n\t\t//这里要禁止currentIndexChanged,避免循环触发\r\n\t\tdisconnect(m_lineEndLabel, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CCNotePad::on_lineEndChange);\r\n\t\tm_lineEndLabel->setCurrentText(endStr);\r\n\t\tconnect(m_lineEndLabel, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CCNotePad::on_lineEndChange);\r\n}\r\n}\r\n\r\nvoid CCNotePad::setLangsDescLable(QString &langDesc)\r\n{\r\n\tm_langDescLabel->setText(tr(\"Language: %1\").arg(langDesc));\r\n}\r\n\r\n//重新加载文件。这里有个问题，文件的序号会跳动，要解决跳动问题。\r\n//这里不能销毁当前pedit，加载编码也要保持不变。而且加载的文件一定是普通文本模式\r\n//目前只在文本文件被修改后，外部自动加载的场景\r\n//如果isTailfOn == true, 则从startReadSize开始读取文件，不从头读取。startReadSize=-1则还是从头，否则从startReadSize开始\r\nvoid CCNotePad::reloadEditFile(ScintillaEditView* pEdit, bool isTailfOn, qint64 startReadSize)\r\n{\r\n\tQString filePath = pEdit->property(Edit_View_FilePath).toString();\r\n\r\n\tCODE_ID code = (CODE_ID)getCodeTypeProperty(pEdit);\r\n\tRC_LINE_FORM lineEnd;\r\n\tint lineNum = 0;\r\n\r\n\tif (!isTailfOn)\r\n\t{\r\n\t\tlineNum = pEdit->getCurrentLineNumber();\r\n}\r\n\r\n\t//下面这个clear会触发文本修改，要避免不必要的消息循环。先屏蔽一些信号\r\n\tdisEnableEditTextChangeSign(pEdit);\r\n\tif (isTailfOn && startReadSize != -1)\r\n\t{\r\n\t\t//如果是tail模式，则不要直接把文档清空\r\n\t}\r\n\telse\r\n\t{\r\n\tpEdit->clear();\r\n\t}\r\n\tpEdit->setProperty(Edit_Text_Change, QVariant(false));\r\n\tsetSaveButtonStatus(false);\r\n\r\n\tint errCode = 0;\r\n\r\n\tif (isTailfOn && startReadSize != -1)\r\n\t{\r\n\t\t//使用tailf读取尾部一部分数据;而不是全部读取\r\n\t\terrCode = FileManager::getInstance().loadFileDataInTextFromOffset(pEdit, filePath, code, this, startReadSize);\r\n\t}\r\n\telse\r\n\t{\r\n\t\terrCode = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, nullptr, false, this);\r\n\t}\r\n\r\n\tenableEditTextChangeSign(pEdit);\r\n\r\n\tif (6 == errCode)\r\n\t{\r\n\t\t//可能存在乱码，给出警告。还是以编辑模式打开\r\n\t\tui.statusBar->showMessage(tr(\"File %1 open success. But Exist Garbled code !\"));\r\n\t}\r\n\telse if (errCode != 0)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"reload file %1 failed\").arg(filePath));\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (isTailfOn)\r\n\t{\r\n\t\tlineNum = pEdit->lines();\r\n\t}\r\n\tpEdit->execute(SCI_GOTOLINE, lineNum - 1);\r\n\t\r\n}\r\n\r\n#ifdef Q_OS_WIN\r\nvoid CCNotePad::on_roladFile(ScintillaEditView* pEdit,quint64 lastSize, qint64 curSize)\r\n{\r\n\tpEdit->setProperty(Modify_Outside, QVariant(true));\r\n\tcheckRoladFile(pEdit, lastSize);\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::doReloadTxtFile(ScintillaEditView* pEdit, bool isOnTail, qint64 startReadSize) \r\n{\r\n\t//reloadEditFile 里面会关闭和新增tab，触发一系列的currentChanged\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\treloadEditFile(pEdit, isOnTail, startReadSize);\r\n\tpEdit->setProperty(Modify_Outside, QVariant(false));\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n};\r\n\r\n//初次进入文件tailf模式。把文件清空，而且只留100行文件\r\nvoid CCNotePad::firstTimeIntoTail(ScintillaEditView* pEdit, int remainLineNums)\r\n{\r\n\tint lineCount = pEdit->lines();\r\n\tint startLineNum = 0;\r\n\tif (lineCount >= remainLineNums)\r\n\t{\r\n\t\tstartLineNum = lineCount - remainLineNums;\r\n\t}\r\n\tint pos = pEdit->execute(SCI_POSITIONFROMLINE, startLineNum);\r\n\tdisEnableEditTextChangeSign(pEdit);\r\n\tpEdit->clear();\r\n\tenableEditTextChangeSign(pEdit);\r\n\tdoReloadTxtFile(pEdit, true, pos);\r\n}\r\n\r\n//startReadSize == -1 则从头开始读取。否则从startReadSize开始\r\nbool CCNotePad::checkRoladFile(ScintillaEditView* pEdit, qint64 startReadSize)\r\n{\r\n\tif (pEdit != nullptr && pEdit->property(Modify_Outside).toBool())\r\n\t{\r\n\t\t//防止该函数重入，导致时序错误\r\n\t\tif (m_isInReloadFile)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tm_isInReloadFile = true;\r\n\r\n\t\tint tailStatus = getFileTailProperty(pEdit);\r\n\r\n\t\tif (tailStatus != 1)\r\n\t\t{\r\n\t\t\tQApplication::beep();\r\n\t\t}\r\n\r\n\t\t//如果是开启了taif，则不提示，直接重新加载文件\r\n\t\tif (tailStatus == 1)\r\n\t\t{\r\n\t\t\t//如果是进入tailf模式，但是startReadSize == -1.则什么也不干。\r\n\t\t\t//等监控超时后，后续走tailf差异读取模式。\r\n\t\t\tif (startReadSize == -1)\r\n\t\t\t{\r\n\t\t\t\t//这里什么也不做。坐等超时后，走下面的逻辑\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t\t//如果文件大于3000行，则删除内容，只保留当前100行，继续tailf\r\n\t\t\t\tif (pEdit->lines() < 3000)\r\n\t\t\t\t{\r\n\t\t\t\t\tdoReloadTxtFile(pEdit, true, startReadSize);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tfirstTimeIntoTail(pEdit,100);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\telse \r\n\t\t{\r\n\t\t\tQString filePath = pEdit->property(Edit_View_FilePath).toString();\r\n\r\n\t\t\tint 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\"));\r\n\t\t\tif(ret == 0)\r\n\t\t\t{\r\n\t\t\t\tdoReloadTxtFile(pEdit, false, startReadSize);\r\n\t\t\t}\r\n\t\t\telse if (ret == 1)\r\n\t\t\t{\r\n\t\t\t\t//放弃\r\n\t\t\tpEdit->setProperty(Modify_Outside, QVariant(false));\r\n\t\t}\r\n\t\t\telse if (ret == 2)\r\n\t\t\t{\r\n\t\t\t\tm_tailf->setChecked(true);\r\n\r\n\t\t\t\t//这里也是首次开启tailf\r\n\t\t\t\t//读取最后3000行的内容。进入tailf模式\r\n\t\t\t\tfirstTimeIntoTail(pEdit,3000);\r\n\t\t\t\t//开启监控\r\n\t\t\t\ttailfile(true,pEdit);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tm_isInReloadFile = false;\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\n//这个函数是在paint中调用，所以不要直连，否则调用QMessagebox后崩溃\r\nvoid  CCNotePad::slot_LineNumIndexChange(int line, int index)\r\n{\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(sender());\r\n\tif (pEdit == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tQString lineNums;\r\n\r\n\tint type = getDocTypeProperty(pEdit);\r\n\r\n\tswitch (type)\r\n\t{\r\n\tcase TXT_TYPE:\r\n\t\t//文本文件可能被修改。\r\n\tcheckRoladFile(pEdit);\r\n\t\tlineNums = tr(\"Ln: %1\tCol: %2\").arg(line + 1).arg(index);\r\n\t\tbreak;\r\n\tcase BIG_TEXT_RO_TYPE:\r\n\t\t//大文本分块加载，只读格式\r\n\t{\r\n\t\tquint32 bLineStart = pEdit->getBigTextBlockStartLine();\r\n\t\tlineNums = tr(\"Ln: %1\tCol: %2\").arg(bLineStart + line + 1).arg(index);\r\n}\r\n\t\tbreak;\r\n\tcase BIG_EDIT_RW_TYPE:\r\n\t\tbreak;//暂时没有\r\n\tcase SUPER_BIG_TEXT_RO_TYPE:\r\n\tcase HEX_TYPE:\r\n\t\t//这两种是没有行号的，只有列号\r\n\t\tlineNums = tr(\"Ln: %1\tCol: %2\").arg(\"unknown\").arg(index);\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\tm_lineNumLabel->setText(lineNums);\r\n}\r\n\r\n//打开监控文件修改的信号\r\nvoid CCNotePad::enableEditTextChangeSign(ScintillaEditView* pEdit)\r\n{\r\n\tconnect(pEdit, &ScintillaEditView::textChanged,this, &CCNotePad::slot_editViewMofidyChange);\r\n}\r\n\r\n//关闭监控文件修改的信号。这样是为了高效，一旦文字修改后，后续不需要在监控该信号。\r\n//直到保存后，再放开\r\nvoid CCNotePad::disEnableEditTextChangeSign(ScintillaEditView* pEdit)\r\n{\r\n\t//pEdit->disconnect(SIGNAL(textChanged()));\r\n\tdisconnect(pEdit, &ScintillaEditView::textChanged, this, &CCNotePad::slot_editViewMofidyChange);\r\n}\r\n\r\n//编辑框文本变化后，设置对应的变化状态\r\nvoid CCNotePad::slot_editViewMofidyChange()\r\n{\r\n\tScintillaEditView* pEditView = dynamic_cast<ScintillaEditView*>(sender());\r\n\tif (pEditView != nullptr)\r\n\t{\r\n\t\t//如果是未设置脏状态，则设置脏为true\r\n\t\tQVariant v = pEditView->property(Edit_Text_Change);\r\n\r\n\t\tbool isDirty = v.toBool();\r\n\r\n\t\tif (!isDirty)\r\n\t\t{\r\n\t\t\tv.setValue(true);\r\n\r\n\t\t\tpEditView->setProperty(Edit_Text_Change,v);\r\n\t\t}\r\n\r\n\t\t//一旦变化后，设置tab为红色\r\n\t\tint index = ui.editTabWidget->indexOf(pEditView);\r\n\t\tif (index != -1)\r\n\t\t{\r\n\t\t\tui.editTabWidget->setTabIcon(index, QIcon(TabNeedSave));\r\n\t\t}\r\n\r\n\t\t//设置状态栏也是红色\r\n\t\t/*m_saveFile->setIcon(QIcon(NeedSaveBarIcon));\r\n\t\tm_saveAllFile->setIcon(QIcon(NeedSaveAllBarIcon));*/\r\n\t\tm_saveFile->setEnabled(true);\r\n\t\tm_saveAllFile->setEnabled(true);\r\n\r\n\t\t//断开监控。只有保存后再打开\r\n\t\tdisEnableEditTextChangeSign(pEditView);\r\n\t}\r\n}\r\n\r\n//更新当前文件的保存状态\r\nvoid CCNotePad::updateCurTabSaveStatus()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr)\r\n\t{\r\n\t\tif (pw->property(Edit_Text_Change).toBool())\r\n\t\t{\r\n\t\t\tm_saveFile->setEnabled(true);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tm_saveFile->setEnabled(false);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//只设置保存按钮的状态\r\nvoid CCNotePad::setSaveButtonStatus(bool needSave)\r\n{\r\n\tm_saveFile->setEnabled(needSave);\r\n\t}\r\n\r\nvoid CCNotePad::setSaveAllButtonStatus(bool needSave)\r\n{\r\n\tm_saveAllFile->setEnabled(needSave);\r\n\r\n\t/*if (needSave)\r\n\t{\r\n\t\tm_saveAllFile->setIcon(QIcon(NeedSaveAllBarIcon));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tm_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon));\r\n\t}*/\r\n\t}\r\n\r\nQAction* findItemInMenuByName(QMenu* menu, QString name)\r\n{\r\n\treturn menu->findChild<QAction*>(name);\r\n}\r\n\r\nvoid CCNotePad::dealRecentFileMenuWhenColseFile(QString closeFilePath)\r\n{\r\n\t//无条件加载一次，避免没有初始化\r\n\ton_loadReceneFile();\r\n\r\n\tQAction* act = nullptr;\r\n\r\n\tgetRegularFilePath(closeFilePath);\r\n\r\n\t//如果关闭的文件，已经在最近列表中，则移动到最前面即可\r\n\tint index = m_receneOpenFileList.indexOf(closeFilePath);\r\n\tif (-1 != index)\r\n\t{\r\n\t\tQString filePath = m_receneOpenFileList.takeAt(index);\r\n\r\n\t\tact = findItemInMenuByName(ui.menuRecene_File, filePath);\r\n\r\n\t\tif (act != nullptr)\r\n\t\t{\r\n\t\t\tui.menuRecene_File->removeAction(act);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tact = new QAction(closeFilePath, ui.menuRecene_File);\r\n\t\tact->setObjectName(closeFilePath);\r\n\t\tconnect(act, &QAction::triggered, this, &CCNotePad::slot_openReceneFile);\r\n\t}\r\n\r\n\r\n\t//在菜单最近列表上面添加。如果最近列表是空的，则放在退出菜单之上\r\n\tif (m_receneOpenFileList.isEmpty())\r\n\t{\r\n\t\tui.menuRecene_File->insertAction(nullptr, act);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//放在列表最上面\r\n\t\tQString curTopActionPath = m_receneOpenFileList.first();\r\n\r\n\t\tQAction* topAct = findItemInMenuByName(ui.menuRecene_File, curTopActionPath);\r\n\t\t\tui.menuRecene_File->insertAction(topAct, act);\r\n\t\t}\r\n\r\n\tm_receneOpenFileList.push_front(closeFilePath);\r\n\r\n\t//不能无限制变大，及时删除一部分\r\n\tif (m_receneOpenFileList.size() > 15)\r\n\t{\r\n\t\tQString k = m_receneOpenFileList.takeLast();\r\n\t\tQAction* lastAct = findItemInMenuByName(ui.menuRecene_File, k);\r\n\t\tif (lastAct != nullptr)\r\n\t\t{\r\n\t\t\tui.menuRecene_File->removeAction(lastAct);\r\n\t\t\tlastAct->deleteLater();\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n//isInQuit::是否在主程序退出状态\r\nvoid CCNotePad::tabClose(int index, bool isInQuit)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->widget(index);\r\n\tQString filePath = pw->property(Edit_View_FilePath).toString();\r\n\r\n\t//16进制的处理逻辑\r\n\tint type = getDocTypeProperty(pw);\r\n\r\n\tif (HEX_TYPE == type)\r\n\t{\r\n\t\tui.editTabWidget->removeTab(index);\r\n\t\tpw->deleteLater();\r\n\r\n\t\tFileManager::getInstance().closeHexFileHand(filePath);\r\n\r\n\t\t//关闭文件后，打开一个新的页面\r\n\t\tif (!isInQuit)\r\n\t\t{\r\n\t\tinitTabNewOne();\r\n\t\t}\r\n\t\tdelFileListView(filePath);\r\n\t\treturn;\r\n\t}\r\n\telse if (BIG_TEXT_RO_TYPE == type)\r\n\t{\r\n\t\tui.editTabWidget->removeTab(index);\r\n\t\tpw->deleteLater();\r\n\r\n\t\tFileManager::getInstance().closeBigTextRoFileHand(filePath);\r\n\t\tif (!isInQuit)\r\n\t\t{\r\n\t\tinitTabNewOne();\r\n\t\t}\r\n\t\tdelFileListView(filePath);\r\n\t\treturn;\r\n\t}\r\n\telse if (SUPER_BIG_TEXT_RO_TYPE == type)\r\n\t{\r\n\t\tui.editTabWidget->removeTab(index);\r\n\t\tpw->deleteLater();\r\n\r\n\t\tFileManager::getInstance().closeSuperBigTextFileHand(filePath);\r\n\t\tif (!isInQuit)\r\n\t\t{\r\n\t\t\tinitTabNewOne();\r\n\t\t}\r\n\t\tdelFileListView(filePath);\r\n\t\treturn;\r\n\t}\r\n\r\n\t//关闭之前，检查是否要保存。如果文档为脏，则询问是否要保存\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t//关闭之前先检测是否在tailf模式，否则要回收tailf线程，不然可能崩溃\r\n#ifdef Q_OS_WIN\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->deleteTailFileThread();\r\n\t}\r\n#endif\r\n\r\n\tif ((pEdit != nullptr) && (pEdit->property(Edit_Text_Change).toBool()))\r\n\t{\r\n\t\tQApplication::beep();\r\n\r\n\t\tQMessageBox askSave(QMessageBox::Question, tr(\"Do you want to save changes to before closing?\"), \\\r\n\t\t\ttr(\"If you don't save the changes you made in file %1, you'll lose them forever.\").arg(filePath), \\\r\n\t\t\tQMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, this);\r\n\t\tQPushButton* okButton = (QPushButton *) askSave.button(QMessageBox::Yes);\r\n\t\tokButton->setText(tr(\"&Yes\"));\r\n\r\n\t\tokButton = (QPushButton*)askSave.button(QMessageBox::No);\r\n\t\tokButton->setText(tr(\"&No\"));\r\n\r\n\t\tokButton = (QPushButton*)askSave.button(QMessageBox::Cancel);\r\n\t\tokButton->setText(tr(\"&Cancel\"));\r\n\r\n\t\tint ret = askSave.exec();\r\n\r\n\t\t//保存\r\n\t\tif (ret == QMessageBox::Yes)\r\n\t\t{\r\n\t\t\tsaveTabEdit(index);\r\n\r\n\t\t\t//如果还是取消，即没有保存，则不能关闭\r\n\t\t\tif (pEdit->property(Edit_Text_Change).toBool())\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t\t}\r\n\t\telse if (ret == QMessageBox::Cancel)\r\n\t\t{\r\n\t\t\tm_isQuitCancel = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tui.editTabWidget->removeTab(index);\r\n\r\n\tQVariant v = pw->property(Edit_File_New);\r\n\r\n\tint newFileIndex = v.toInt();\r\n\r\n\tif (newFileIndex >= 0)\r\n\t{\r\n\t\t//如果是新建文件，则删除对应的记录\r\n\t\tFileManager::getInstance().delNewFileNode(newFileIndex);\r\n\t}\r\n\r\n\t//如果关闭的是没有保存的新建文件，则不需要保存在最近打开列表中。新建文件需要保存\r\n\tif (-1 == pEdit->property(Edit_File_New).toInt())\r\n\t{\r\n\t\tdealRecentFileMenuWhenColseFile(filePath);\r\n\t}\r\n\r\n\t//取消监控文件\r\n\tremoveWatchFilePath(filePath);\r\n\r\n\tpw->deleteLater();\r\n\r\n\t//删除交换文件\r\n\r\n\tQString swapfile = getSwapFilePath(filePath);\r\n\tif (QFile::exists(swapfile))\r\n\t{\r\n\t\tQFile::remove(swapfile);\r\n\t}\r\n\r\n\t//当前关闭后，更新下tab的是否全部需要关闭状态\r\n\tupdateSaveAllToolBarStatus();\r\n\r\n\tupdateCurTabSaveStatus();\r\n\r\n\tdelFileListView(filePath);\r\n\r\n\tif (!isInQuit)\r\n\t{\r\n\tinitTabNewOne();\r\n}\r\n}\r\n//点击tab上的关闭事件执行槽函数。注意这个index是其在tab中的序号。\r\n//当中间有删除时，是会动态变化的。所以不能以这个id为一直的固定索引\r\nvoid CCNotePad::slot_tabClose(int index)\r\n{\r\n\ttabClose(index);\r\n}\r\n\r\nvoid CCNotePad::tabClose(QWidget* pEdit)\r\n{\r\n\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t{\r\n\t\tif (pEdit == ui.editTabWidget->widget(i))\r\n\t\t{\r\n\t\t\ttabClose(i);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\t\r\n}\r\n\r\n//输入参数：名称和文件新建文件序号。一定是文本文件。contentPath：从这个路径加载文件内容，目前在恢复文件中使用。\r\nScintillaEditView* CCNotePad::newTxtFile(QString name, int index, QString contentPath)\r\n{\r\n\tScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument();\r\n\tpEdit->setNoteWidget(this);\r\n\r\n\tCODE_ID code(UTF8_NOBOM);\r\n\r\n#ifdef _WIN32\r\n\tRC_LINE_FORM lineEnd(DOS_LINE);\r\n#else\r\n\tRC_LINE_FORM lineEnd(UNIX_LINE);\r\n#endif\r\n\r\n\tbool isChange = false;\r\n\r\n\t//如果非空，则从contentPath中加载文件内容。做恢复文件使用\r\n\tif (!contentPath.isEmpty())\r\n\t{\r\n\t\tint ret = FileManager::getInstance().loadFileDataInText(pEdit, contentPath, code, lineEnd, nullptr, false, this);\r\n\t\tif (6 == ret)\r\n\t\t{\r\n\t\t\t//可能存在乱码，给出警告。还是以编辑模式打开\r\n\t\t\tui.statusBar->showMessage(tr(\"File %1 open success. But Exist Garbled code !\"));\r\n\t\t}\r\n\t\telse if (ret != 0)\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"Restore Last Temp File %1 Failed\").arg(contentPath));\r\n\t\t}\r\n\t\tisChange = true;\r\n\t}\r\n\r\n\tconnect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection);\r\n\tconnect(pEdit, &ScintillaEditView::copyAvailable, this, &CCNotePad::slot_copyAvailable);\r\n\tconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n\r\n\tenableEditTextChangeSign(pEdit);\r\n\r\n\tQString label = name;\r\n\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\r\n\tint curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK)? TabNoNeedSave:TabNoNeedSaveDark32), label);\r\n\r\n\tQVariant editViewFilePath(label);\r\n\tpEdit->setProperty(Edit_View_FilePath, editViewFilePath);\r\n\tui.editTabWidget->setTabToolTip(curIndex, label);\r\n\r\n\tsetFileOpenAttrProperty(pEdit, OpenAttr::Text);\r\n\tsetWindowTitleMode(label, OpenAttr::Text);\r\n\r\n\tQVariant editViewNewFile(index);\r\n\tpEdit->setProperty(Edit_File_New, editViewNewFile);\r\n\r\n\tQVariant editTextChange(isChange);\r\n\tpEdit->setProperty(Edit_Text_Change, editTextChange);\r\n\r\n\tQVariant editTextCode((int)code);\r\n\tpEdit->setProperty(Edit_Text_Code, editTextCode);\r\n\tsyncCurDocEncodeToMenu(pEdit);\r\n\tsyncCurDocTailfToMenu(pEdit);\r\n\r\n\tsetDocTypeProperty(pEdit, TXT_TYPE);\r\n\r\n#ifdef _WIN32\r\n\tQVariant editTextEnd((int)lineEnd);\r\n\tpEdit->setProperty(Edit_Text_End, editTextEnd);\r\n\tsetLineEndBarLabel(DOS_LINE);\r\n\r\n#else\r\n\tQVariant editTextEnd((int)lineEnd);\r\n\tpEdit->setProperty(Edit_Text_End, editTextEnd);\r\n\tsetLineEndBarLabel(UNIX_LINE);\r\n#endif\r\n\tsyncCurDocLineEndStatusToMenu(pEdit);\r\n\r\n\tNewFileIdMgr fileId(index, pEdit);\r\n\r\n\tFileManager::getInstance().insertNewFileNode(fileId);\r\n\r\n\tui.editTabWidget->setCurrentIndex(curIndex);\r\n\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\r\n\t//设置自动转换和缩进参考线\r\n\tif (s_autoWarp != QsciScintilla::WrapNone)\r\n\t{\r\n\t\tpEdit->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t}\r\n\r\n\tsetEditShowBlankStatus(pEdit, s_showblank);\r\n\r\n\tif (s_zoomValue != 0)\r\n\t{\r\n\t\tpEdit->zoomTo(s_zoomValue);\r\n\t}\r\n\r\n\tautoSetDocLexer(pEdit);\r\n\r\n\tint zoomValue = 100 + 10 * s_zoomValue;\r\n\tui.statusBar->showMessage(tr(\"New File Finished [Text Mode] Zoom %1%\").arg(zoomValue), MSG_EXIST_TIME);\r\n\tsetZoomLabelValue(zoomValue);\r\n\r\n\t//缩进线要在autoSetDocLexer之后，发现lexer会修改缩进参考线\r\n\tif (s_indent == 1)\r\n\t{\r\n\t\tpEdit->setIndentGuide(true);\r\n\t}\r\n\r\n\taddFileListView(name, pEdit);\r\n\r\n\tpEdit->viewport()->setFocus();\r\n\r\n\treturn pEdit;\r\n}\r\n\r\nvoid CCNotePad::slot_actionNewFile_toggle(bool /*checked*/)\r\n{\r\n\tint index = FileManager::getInstance().getNextNewFileId();\r\n\tint nameId = index;\r\n\tQString name;\r\n\r\n\twhile (true)\r\n\t{\r\n\t\tname = QString(\"New %1\").arg(nameId);\r\n\r\n\t\t//检测一下是否重名New 文件，如果存在，则重新命名。注意id肯定是唯一的，但是名称其实可以重复\r\n\t\tif (!isNewFileNameExist(name))\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\t++nameId;\r\n\t}\r\n\r\n\tnewTxtFile(name,index);\r\n}\r\n\r\n//适当做剪裁\r\nQString CCNotePad::getShortName(const QString& name)\r\n{\r\n\tif (name.size() > 20)\r\n\t{\r\n\t\treturn QString(\"%1...\").arg(name.left(16));\r\n\t}\r\n\treturn name;\r\n}\r\n\r\n//重新加载文件以指定的编码方式。单纯的修改编码，不视作文件做了修改。\r\nbool CCNotePad::reloadTextFileWithCode(CODE_ID code)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\t//16进制的处理逻辑\r\n\r\n\tint docType = getDocTypeProperty(pw);\r\n\r\n\tif (HEX_TYPE == docType)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Only Text File Can Use it, Current Doc is a Hex File !\"), 10000);\r\n\t\tQApplication::beep();\r\n\t\treturn false;\r\n\t}\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t//新建文件不需要重新打开文件，只修改编码显示\r\n\tif (-1 == getFileNewIndexProperty(pw))\r\n\t{\r\n\t\tQString filePath = pw->property(Edit_View_FilePath).toString();\r\n\r\n\t\tRC_LINE_FORM lineEnd;\r\n\r\n\t\tdisEnableEditTextChangeSign(pEdit);\r\n\r\n\t\tpEdit->clear();\r\n\r\n\t\tif (docType == TXT_TYPE)\r\n\t\t{\r\n\t\t\tint errCode = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, this, false,this);\r\n\t\t\tif (errCode == 6)\r\n\t\t{\r\n\t\t\t\t//有乱码\r\n\t\t}\r\n\t\t\telse if (errCode != 0)\r\n\t\t{\r\n\t\t\tdelete pEdit;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t}\r\n\t\telse if (BIG_TEXT_RO_TYPE == docType)\r\n\t\t{\r\n\t\t\t//大文本索引加载模式，不需要再读取文本。只需要进行编码的转换即可\r\n\t\t\tBigTextEditFileMgr* fileMgr = FileManager::getInstance().getBigFileEditMgr(filePath);\r\n\t\t\tif (fileMgr != nullptr)\r\n\t\t\t{\r\n\t\t\t\tfileMgr->loadWithCode = code;\r\n\t\t\t\tshowBigTextFile(pEdit, fileMgr, fileMgr->m_curBlockIndex);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (SUPER_BIG_TEXT_RO_TYPE == docType)\r\n\t\t{\r\n\t\t\tTextFileMgr* fileMgr = FileManager::getInstance().getSuperBigFileMgr(filePath);\r\n\t\t\tif (fileMgr != nullptr)\r\n\t\t\t{\r\n\t\t\t\tfileMgr->loadWithCode = code;\r\n\t\t\t\tshowBigTextFile(pEdit, fileMgr);\r\n\r\n\t\t\t\t//如果切换了编码，可能乱码，把当前的行号缓存清空一下，因为旧行号已经没有意义了。\r\n\t\t\t\tpEdit->clearSuperBitLineCache();\r\n\r\n\t\t\t\tpEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset);\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (pEdit->lexer() == nullptr)\r\n\t\t{\r\n\t\t\tautoSetDocLexer(pEdit);\r\n\t}\r\n\t\tenableEditTextChangeSign(pEdit);\r\n\t}\r\n\r\n\tsetCodeBarLabel(code);\r\n\r\n\tQVariant editTextCode((int)code);\r\n\tpEdit->setProperty(Edit_Text_Code, editTextCode);\r\n\r\n\treturn true;\r\n}\r\n\r\nconst int MAX_TEXT_FILE_SIZE = 100 * 1024 * 1024;\r\n\r\n//大文本打开只读模式。20230126新增，这种模式打开时建立索引;todo:后续可多线程在后台建立索引\r\nbool CCNotePad::openBigTextRoFile(QString filePath)\r\n{\r\n\tQFileInfo fi(filePath);\r\n\tQString fileLabel(fi.fileName());\r\n\r\n\t//如果4M一个分块，则1024则是4G文件，2048则是8G文件。目前暂时最大支持8G的文件，进行文本编辑。\r\n\tBigTextEditFileMgr* txtFile = nullptr;\r\n\r\n\tRC_LINE_FORM lineEnd(UNKNOWN_LINE);\r\n\r\n\tif (!FileManager::getInstance().loadFileDataWithIndex(filePath, txtFile))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(true);\r\n\tpEdit->setReadOnly(true);\r\n\tpEdit->setNoteWidget(this);\r\n\r\n\t//必须要在editTabWidget->addTab之前，因为一旦add时会出发tabchange，其中没有doctype会导致错误\r\n\tpEdit->execute(SCI_SETSCROLLWIDTH, 80 * 10);\r\n\tsetDocTypeProperty(pEdit, BIG_TEXT_RO_TYPE);\r\n\r\n\tshowBigTextFile(pEdit, txtFile,0);\r\n\r\n\tlineEnd = (RC_LINE_FORM)txtFile->lineEndType;\r\n\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\tint curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel));\r\n\r\n\tui.editTabWidget->setCurrentIndex(curIndex);\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\r\n\tconnect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection);\r\n\r\n\tautoSetDocLexer(pEdit);\r\n\r\n\t//pEdit->showBigEidTextLineNum(txtFile);\r\n\r\n\tQVariant editViewFilePath(filePath);\r\n\tpEdit->setProperty(Edit_View_FilePath, editViewFilePath);\r\n\r\n\t//setWindowTitle(QString(\"%1 (%2)\").arg(filePath).arg(tr(\"Big Text File ReadOnly\")));\r\n\r\n\tui.editTabWidget->setTabToolTip(curIndex, filePath);\r\n\r\n\tQVariant editViewNewFile(-1);\r\n\tpEdit->setProperty(Edit_File_New, editViewNewFile);\r\n\r\n\tQVariant editTextChange(false);\r\n\tpEdit->setProperty(Edit_Text_Change, editTextChange);\r\n\r\n\tsetCodeTypeProperty(pEdit, txtFile->loadWithCode);\r\n\tsetCodeBarLabel((CODE_ID)txtFile->loadWithCode);\r\n\r\n\tsetLineEndBarLabel(lineEnd);\r\n\tsetEndTypeProperty(pEdit, lineEnd);\r\n\tsetDocEolMode(pEdit, lineEnd);\r\n\r\n\tsyncCurDocEncodeToMenu(pEdit);\r\n\tsyncCurDocTailfToMenu(pEdit);\r\n\tsetFileOpenAttrProperty(pEdit, OpenAttr::BigTextReadOnly);\r\n\tsetWindowTitleMode(filePath, OpenAttr::BigTextReadOnly);\r\n\r\n\r\n\t//设置自动转换和缩进参考线\r\n\tif (s_autoWarp != QsciScintilla::WrapNone)\r\n\t{\r\n\t\tpEdit->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t}\r\n\r\n\tsetEditShowBlankStatus(pEdit, s_showblank);\r\n\r\n\tif (s_indent == 1)\r\n\t{\r\n\t\tpEdit->setIndentGuide(true);\r\n\t}\r\n\r\n\tif (s_zoomValue != 0)\r\n\t{\r\n\t\tpEdit->zoomTo(s_zoomValue);\r\n\t}\r\n\r\n\taddFileListView(filePath, pEdit);\r\n\r\n\treturn true;\r\n}\r\n\r\n//按照超大文本文件进行只读打开\r\nbool CCNotePad::openSuperBigTextFile(QString filePath)\r\n{\r\n\tQFileInfo fi(filePath);\r\n\tQString fileLabel(fi.fileName());\r\n\r\n\tTextFileMgr* txtFile = nullptr;\r\n\r\n\tRC_LINE_FORM lineEnd(UNKNOWN_LINE);\r\n\r\n\tif (!FileManager::getInstance().loadFileData(filePath, txtFile, lineEnd))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(true);\r\n\tpEdit->setReadOnly(true);\r\n\tpEdit->setNoteWidget(this);\r\n\r\n\t//必须要在editTabWidget->addTab之前，因为一旦add时会出发tabchange，其中没有doctype会导致错误\r\n\tpEdit->execute(SCI_SETSCROLLWIDTH, 80 * 10);\r\n\tsetDocTypeProperty(pEdit, SUPER_BIG_TEXT_RO_TYPE);\r\n\r\n\tshowBigTextFile(pEdit, txtFile);\r\n\tlineEnd = (RC_LINE_FORM)txtFile->lineEndType;\r\n\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\tint curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel));\r\n\r\n\tui.editTabWidget->setCurrentIndex(curIndex);\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\tconnect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection);\r\n\r\n\r\n\tautoSetDocLexer(pEdit);\r\n\r\n\tpEdit->showBigTextLineAddr(txtFile->fileOffset - txtFile->contentRealSize, txtFile->fileOffset);\r\n\r\n\tQVariant editViewFilePath(filePath);\r\n\tpEdit->setProperty(Edit_View_FilePath, editViewFilePath);\r\n\r\n\t//setWindowTitle(QString(\"%1 (%2)\").arg(filePath).arg(tr(\"Big Text File ReadOnly\")));\r\n\t\r\n\tui.editTabWidget->setTabToolTip(curIndex, filePath);\r\n\r\n\tQVariant editViewNewFile(-1);\r\n\tpEdit->setProperty(Edit_File_New, editViewNewFile);\r\n\r\n\tQVariant editTextChange(false);\r\n\tpEdit->setProperty(Edit_Text_Change, editTextChange);\r\n\r\n\tsetCodeTypeProperty(pEdit, txtFile->loadWithCode);\r\n\tsetCodeBarLabel((CODE_ID)txtFile->loadWithCode);\r\n\r\n\tsetLineEndBarLabel(lineEnd);\r\n\tsetEndTypeProperty(pEdit, lineEnd);\r\n\tsetDocEolMode(pEdit, lineEnd);\r\n\r\n\tsyncCurDocEncodeToMenu(pEdit);\r\n\tsyncCurDocTailfToMenu(pEdit);\r\n\tsetFileOpenAttrProperty(pEdit, OpenAttr::SuperBigTextReadOnly);\r\n\tsetWindowTitleMode(filePath, OpenAttr::SuperBigTextReadOnly);\r\n\r\n\r\n\t//设置自动转换和缩进参考线\r\n\tif (s_autoWarp != QsciScintilla::WrapNone)\r\n\t{\r\n\t\tpEdit->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t}\r\n\r\n\tsetEditShowBlankStatus(pEdit, s_showblank);\r\n\r\n\r\n\tif (s_indent == 1)\r\n\t{\r\n\t\tpEdit->setIndentGuide(true);\r\n\t}\r\n\r\n\tif (s_zoomValue != 0)\r\n\t{\r\n\t\tpEdit->zoomTo(s_zoomValue);\r\n\t}\r\n\r\n\taddFileListView(filePath, pEdit);\r\n\r\n\treturn true;\r\n}\r\n\r\n\r\nvoid CCNotePad::showChangePageTips(QWidget* pEdit)\r\n{\r\n\tint type = getDocTypeProperty(pEdit);\r\n\t\r\n\tif ((BIG_TEXT_RO_TYPE == type) || (SUPER_BIG_TEXT_RO_TYPE == type) || (HEX_TYPE == type))\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Use < (Prev) or > (Next) and Goto Buttons to Change Page Num .\"), 10000);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::setWindowTitleMode(QString filePath, OpenAttr attr)\r\n{\r\n\tQString title = QString(\"%1 [%2]\").arg(filePath).arg(OpenAttrToString(attr));\r\n\tsetWindowTitle(title);\r\n}\r\n\r\nconst quint64 MAX_TRY_OPEN_FILE_SIZE = 1024 * 1024 * 1024;\r\n\r\n//打开普通文本文件。\r\nbool CCNotePad::openTextFile(QString filePath, bool isCheckHex, CODE_ID code)\r\n{\r\n\tgetRegularFilePath(filePath);\r\n\r\n\t//先检测交换文件是否存在，如果存在，说明上次崩溃了，提示用户恢复\r\n\tQString swapfile = getSwapFilePath(filePath);\r\n\r\n\tbool isNeedRestoreFile = false;\r\n\r\n\tQFileInfo fi(filePath);\r\n\r\n\t//如果文件大于设定最大值,询问是否只读文件打开\r\n\tif (ScintillaEditView::s_bigTextSize <= 0 || ScintillaEditView::s_bigTextSize > 300)\r\n\t{\r\n\t\tScintillaEditView::s_bigTextSize = 100;\r\n\t}\r\n\r\n\tif (fi.size() > ScintillaEditView::s_bigTextSize*1024*1024)\r\n\t{\r\n\t\t//文件如果小于1G，询问用户如何打开。如果大于1G，无条件分块加载\r\n\t\tif (fi.size() < MAX_TRY_OPEN_FILE_SIZE)\r\n\t\t{\r\n\t\t\tBigFileMessage askMsgBox(this);\r\n\t\t\taskMsgBox.setTip(tr(\"File %1 \\nFile Size %2 > %3M, How to Open it ?\").arg(filePath).arg(tranFileSize(fi.size())).arg(ScintillaEditView::s_bigTextSize));\r\n\t\t\tint openMode = askMsgBox.exec();\r\n\r\n\t\t\t//放弃打开\r\n\t\t\tif (openMode == -1)\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if (openMode == TXT_TYPE)\r\n\t\t\t{\r\n\t\t\t\t//正常普通文本打开，不做什么，继续往下走\r\n\t\t\t}\r\n\t\t\telse if (openMode == BIG_TEXT_RO_TYPE)\r\n\t\t\t{\r\n\t\t\t\t//大文本只读打开。20230125新增，做了内部索引，适合4G-8G左右的文件。\r\n\t\t\t\treturn openBigTextRoFile(filePath);\r\n\t}\r\n\t\t\telse if (openMode == SUPER_BIG_TEXT_RO_TYPE)\r\n\t\t\t{\r\n\t\t\t\t//超大文本编辑模式。8G以上\r\n\t\t\t\treturn openSuperBigTextFile(filePath);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//二进制打开\r\n\t\t\t\treturn openHexFile(filePath);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//如果小于8G，则大文本只读打开;反之则超大文本只读打开\r\n\t\t\tif (fi.size() <= 8 * MAX_TRY_OPEN_FILE_SIZE)\r\n\t\t\t{\r\n\t\t\t\treturn openBigTextRoFile(filePath);\r\n\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\treturn openSuperBigTextFile(filePath);\r\n\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (QFile::exists(swapfile))\r\n\t{\r\n\t\tQFileInfo spfi(swapfile);\r\n\r\n\t\t//如果存在交换文件，而且修改时间更晚，询问用户是否需要恢复\r\n\t\tif ((spfi.size() > 0) /*&& (spfi.lastModified() >= fi.lastModified())*/)\r\n\t\t{\r\n\t\t\t//无条件备份一下文件，swap/原始文件都备份。避免用户文件丢失！！！\r\n\t\t\tQString srcBakFile = QString(\"%1_bak\").arg(filePath);\r\n\t\t\tQString swapBakFile = QString(\"%1_bak\").arg(swapfile);\r\n\r\n\t\t\tQFile::copy(filePath, srcBakFile);\r\n\t\t\tQFile::copy(swapfile, swapBakFile);\r\n\r\n\t\t\tint ret = QMessageBox::question(this, tr(\"Recover File?\"), tr(\"File %1 abnormally closed last time , Restore it ?\").arg(filePath), tr(\"Restore\"), tr(\"No\"));\r\n\t\t\t//使用历史存档恢复文件\r\n\t\t\tif (ret == 0)\r\n\t\t\t{\r\n\t\t\t\tisNeedRestoreFile = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument();\r\n\tpEdit->setNoteWidget(this);\r\n\r\n\t//必须要在editTabWidget->addTab之前，因为一旦add时会出发tabchange，其中没有doctype会导致错误\r\n\tsetDocTypeProperty(pEdit, TXT_TYPE);\r\n\r\n\tRC_LINE_FORM lineEnd;\r\n\r\n\tbool isReadOnly = false;\r\n\r\n\t//如果需要恢复，则加载交换文件的内容。\r\n\tif (!isNeedRestoreFile)\r\n\t{\r\n\t\tint ret = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, this, isCheckHex,this);\r\n\t\tif (4 == ret)\r\n\t{\r\n\t\tdelete pEdit;\r\n\t\t\t//用户同意以二进制格式打开文件\r\n\t\t\treturn openHexFile(filePath);\r\n\t\t}\r\n\t\t//else if (5 == ret)\r\n\t\t//{\r\n\t\t//\tisReadOnly = true;\r\n\t\t//\t//只读模式\r\n\t\t//}\r\n\t\telse if (6 == ret)\r\n\t\t{\r\n\t\t\t//可能存在乱码，给出警告。还是以编辑模式打开\r\n\t\t\tui.statusBar->showMessage(tr(\"File %1 open success. But Exist Garbled code !\"));\r\n\t\t}\r\n\t\telse if (0 != ret)\r\n\t\t{\r\n\t\t\tdelete pEdit;\r\n\t\treturn false;\r\n\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//使用上次的swap文件恢复当前文件\r\n\t\tif (0 != FileManager::getInstance().loadFileDataInText(pEdit, swapfile, code, lineEnd,this,false,this))\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"File %1 Open Failed\").arg(swapfile));\r\n\t\t\tdelete pEdit;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t//恢复时直接使用新内容保存到原始文件中\r\n\t\tsaveFile(filePath, pEdit, false);\r\n\t}\r\n\t\r\n\t//下面函数太长，进行一个重构到setNormalTextEditInitPro，后面其他地方也需要使用\r\n\tsetNormalTextEditInitPro(pEdit, filePath, code, lineEnd, isReadOnly,false);\r\n\r\n\treturn true;\r\n}\r\n\r\n//初始化普通可编辑文件的基本属性\r\n//fileLabel:label显示名称\r\n//filePath:对应的文件路径名\r\n//code 文件编码\r\n//lineEnd 文件换行符\r\n//isReadOnly 是否只读\r\n//isModifyed 是否修改过的脏状态\r\nvoid CCNotePad::setNormalTextEditInitPro(ScintillaEditView* pEdit, QString filePath, CODE_ID code, RC_LINE_FORM lineEnd, bool isReadOnly, bool isModifyed)\r\n{\r\n\t//防止addTab触发currentChanged信号，应发不必要的连锁反应\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\r\n\tQFileInfo fi(filePath);\r\n\tQString fileLabel(fi.fileName());\r\n\r\n\tint curIndex = ui.editTabWidget->addTab(pEdit, QIcon(TabNoNeedSave), getShortName(fileLabel));\r\n\tui.editTabWidget->setCurrentWidget(pEdit);\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\r\n\tconnect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection);\r\n\tenableEditTextChangeSign(pEdit);\r\n\tconnect(pEdit, &ScintillaEditView::copyAvailable, this, &CCNotePad::slot_copyAvailable);\r\n\tconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n\r\n\t//监控文件\r\n\taddWatchFilePath(filePath);\r\n\r\n\tsetCodeBarLabel(code);\r\n\tsetLineEndBarLabel(lineEnd);\r\n\r\n\t//注意顺序\r\n\tQVariant editTextEnd((int)lineEnd);\r\n\tpEdit->setProperty(Edit_Text_End, editTextEnd);\r\n\tsetDocEolMode(pEdit, lineEnd);\r\n\r\n\tQVariant editViewFilePath(filePath);\r\n\tpEdit->setProperty(Edit_View_FilePath, editViewFilePath);\r\n\r\n\tui.editTabWidget->setTabToolTip(curIndex, filePath);\r\n\r\n\tQVariant editViewNewFile(-1);\r\n\tpEdit->setProperty(Edit_File_New, editViewNewFile);\r\n\r\n\tsetTextChangeProperty(pEdit, isModifyed);\r\n\r\n\t//如果是脏，还需要设置保存等按钮\r\n\tm_saveFile->setEnabled(isModifyed);\r\n\r\n\tif (isModifyed)\r\n\t{\r\n\t\tm_saveAllFile->setEnabled(true);\r\n\t\tui.editTabWidget->setTabIcon(curIndex, QIcon(TabNeedSave));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.editTabWidget->setTabIcon(curIndex, QIcon(TabNoNeedSave));\r\n\t}\r\n\r\n\tQVariant editTextCode((int)code);\r\n\tpEdit->setProperty(Edit_Text_Code, editTextCode);\r\n\r\n\tsyncCurDocEncodeToMenu(pEdit);\r\n\tsyncCurDocLineEndStatusToMenu(pEdit);\r\n\tsyncCurDocLexerToMenu(pEdit);\r\n\r\n\t//设置自动转换和缩进参考线\r\n\tif (s_autoWarp != QsciScintilla::WrapNone)\r\n\t{\r\n\t\tpEdit->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t}\r\n\r\n\tsetEditShowBlankStatus(pEdit, s_showblank);\r\n\r\n\r\n\tif (s_zoomValue != 0)\r\n\t{\r\n\t\tpEdit->zoomTo(s_zoomValue);\r\n\t}\r\n\r\n\tif (!isReadOnly)\r\n\t{\r\n\t\tsetFileOpenAttrProperty(pEdit, OpenAttr::Text);\r\n\t\tsetWindowTitleMode(filePath, OpenAttr::Text);\r\n\t\tint zoomValue = 100 + 10 * s_zoomValue;\r\n\t\tui.statusBar->showMessage(tr(\"File %1 Open Finished [Text Mode] Zoom %2%\").arg(filePath).arg(zoomValue), MSG_EXIST_TIME);\r\n\t\tsetZoomLabelValue(zoomValue);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tsetFileOpenAttrProperty(pEdit, OpenAttr::TextReadOnly);\r\n\t\tsetWindowTitleMode(filePath, OpenAttr::TextReadOnly);\r\n\t\tui.statusBar->showMessage(tr(\"File %1 Open Finished [Text ReadOnly Mode] (Note: display up to 50K bytes ...)\").arg(fi.fileName()), MSG_EXIST_TIME);\r\n\t}\r\n\r\n\tif (pEdit->lexer() == nullptr)\r\n\t{\r\n\t\tautoSetDocLexer(pEdit);\r\n\t}\r\n\r\n\t//缩进线要在autoSetDocLexer之后，发现lexer会修改缩进参考线\r\n\tif (s_indent == 1)\r\n\t{\r\n\t\tpEdit->setIndentGuide(true);\r\n\t}\r\n\r\n\taddFileListView(filePath, pEdit);\r\n}\r\n\r\n//显示二进制文件\r\nbool CCNotePad::showHexFile(ScintillaHexEditView* pEdit, HexFileMgr* hexFile)\r\n{\r\n\t//二进制.预留4倍空间，双字节+空格+字符显示就是4倍，还要前面的地址12+空格+换行2=15。预留16个\r\n\t//最后一行不慢16个字符的，也要把文字显示在对齐的16个字符的尾巴上。后面加的那个16*4就是多预留1行的空间\r\n\t//最后一行不足16，字符显示对齐到尾巴的16的位置上\r\n\tconst int BUF_SIZE = hexFile->contentRealSize * 4 + 16 * (hexFile->contentRealSize / 16 + 1) + 16*4;\r\n\r\n\tchar* textOut = new char[BUF_SIZE];\r\n\tmemset(textOut, 0, BUF_SIZE);\r\n\r\n\tint lineMax = 0;\r\n\r\n\tint offset = 0;\r\n\r\n\tuchar* pchar = (uchar*)hexFile->contentBuf;\r\n\r\n\tqint64 addr = hexFile->fileOffset - hexFile->contentRealSize;\r\n\r\n\tui.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));\r\n\r\n\tchar* lineString = new char[17];\r\n\tmemset(lineString,0,17);\r\n\r\n\tfor (int pos = 0; pos < hexFile->contentRealSize; ++pos)\r\n\t{\r\n\t\tif (lineMax == 0)\r\n\t\t{\r\n\t\t\tif (addr < 0xffffffff)\r\n\t\t\t{\r\n\t\t\t\tsprintf(textOut + offset, \"%08llX \", addr);\r\n\t\t\t\toffset += 9;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tsprintf(textOut + offset, \"%012llX \", addr);\r\n\t\t\t\toffset += 13;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\tsprintf(textOut + offset, \"%02X \", *(pchar+pos));\r\n\r\n\t\t//如果在可显示字符内\r\n\t\tif (*(pchar + pos) >= 32 && *(pchar + pos) <= 126)\r\n\t\t{\r\n\t\t\tlineString[lineMax] = *(pchar + pos);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlineString[lineMax] = '.';\r\n\t\t}\r\n\r\n\t\toffset += 3;\r\n\t\tlineMax++;\r\n\r\n\t\tif (lineMax == 16)\r\n\t\t{\r\n\t\t\tmemcpy(textOut + offset, lineString,16);\r\n\t\t\toffset += 16;\r\n\t\t\tsprintf(textOut + offset, \"\\r\\n\");\r\n\t\t\toffset += 2;\r\n\t\t\tlineMax = 0;\r\n\t\t\taddr += 16;\r\n\t\t\tmemset(lineString, 0, 17);\r\n\t\t}\r\n\t}\r\n\r\n\tif (lineMax > 0)\r\n\t{\r\n\t\t//对于尾巴不慢16字符的，对齐一下，让文本总是显示在最后的16个空间上\r\n\t\tfor (int i = 0; i < (16 - lineMax); ++i)\r\n\t\t{\r\n\t\t\tsprintf(textOut + offset, \"-- \");\r\n\t\t\toffset += 3;\r\n\t\t}\r\n\r\n\t\tmemcpy(textOut + offset, lineString, lineMax);\r\n\t\toffset += lineMax;\r\n\r\n\t\tsprintf(textOut + offset, \"\\r\\n\");\r\n\t}\r\n\r\n\tQString text(textOut);\r\n\tpEdit->setUtf8(false);\r\n\tpEdit->setText(text);\r\n\r\n\tdelete[]lineString;\r\n\tdelete[]textOut;\r\n\t\r\n\t\r\n\r\n\treturn true;\r\n}\r\n\r\n//显示超大文本文件只读\r\nbool CCNotePad::showBigTextFile(ScintillaEditView* pEdit, TextFileMgr* txtFile)\r\n{\r\n\tqint64 addr = txtFile->fileOffset - txtFile->contentRealSize;\r\n\r\n\r\n\tCODE_ID code = (CODE_ID)txtFile->loadWithCode;\r\n\r\n\t//不知道编码，则需要自动判断编码\r\n\tif (txtFile->loadWithCode == UNKOWN)\r\n\t{\r\n\t\t//自动从头部或文件中判断编码\r\n\t\tcode = CmpareMode::getTextFileEncodeType((uchar *)txtFile->contentBuf, txtFile->contentRealSize, txtFile->filePath);\r\n\t}\r\n\r\n\tQString outUtf8Text;\r\n\r\n\tbool tranSucess = true;\r\n\r\n\r\n\t//UNICODE_LE格式需要单独处理\r\n\tif (code == UNICODE_LE)\r\n\t{\r\n\t\ttranSucess = CmpareMode::tranUnicodeLeToUtf8Bytes((uchar*)txtFile->contentBuf, txtFile->contentRealSize, outUtf8Text);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//如果还是unknown,则没法了，默认按照Utf8解析。\r\n\t\tif (code == UNKOWN)\r\n\t\t{\r\n\t\t\tcode = UTF8_NOBOM;\r\n\t\t}\r\n\t\ttranSucess = Encode::tranStrToUNICODE(code, (const char*)txtFile->contentBuf, txtFile->contentRealSize, outUtf8Text);\r\n\t}\r\n\r\n\tif (txtFile->loadWithCode != code)\r\n\t{\r\n\t\ttxtFile->loadWithCode = code;\r\n\t}\r\n\r\n\t//获取行结尾信息\r\n\tif (txtFile->lineEndType == RC_LINE_FORM::UNKNOWN_LINE)\r\n\t{\r\n\t\ttxtFile->lineEndType = getLineEndTypeFromBigText(outUtf8Text);\r\n\t}\r\n\r\n\tpEdit->setText(outUtf8Text);\r\n\r\n\tif (tranSucess)\r\n\t{\r\n\tui.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));\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//文件乱码\r\n\t\tif (txtFile->contentBuf == 0)\r\n\t\t{\r\n\t\t\tQMessageBox::warning(this, tr(\"Format Error\"), tr(\"Not a txt format file , load with big txt is garbled code!\"));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"Not a txt format file , load with big txt is garbled code!\"));\r\n\t\t}\r\n\t}\r\n\r\n\t//pEdit->setUtf8Text(txtFile->contentBuf, txtFile->contentRealSize);\r\n\r\n\treturn true;\r\n}\r\n\r\n//显示大文本文件,可编辑。, int blockIndex显示第几块。txtFile->loadWithCode 如果是UNKONW,则自动判断编码；反之以code指定的加载\r\nbool CCNotePad::showBigTextFile(ScintillaEditView* pEdit, BigTextEditFileMgr* txtFile, int blockIndex)\r\n{\r\n\tif (blockIndex >= 0 && blockIndex < txtFile->blocks.size())\r\n\t{\r\n\t\t\r\n\t\tBlockIndex bi = txtFile->blocks.at(blockIndex);\r\n\r\n\t\tCODE_ID code = (CODE_ID)txtFile->loadWithCode;\r\n\r\n\t\t//不知道编码，则需要自动判断编码\r\n\t\tif (txtFile->loadWithCode == UNKOWN)\r\n\t\t{\r\n\t\t\t//自动从头部或文件中判断编码。如果是第0块即文件开头，才能从头部检测\r\n\t\t\tcode = CmpareMode::getTextFileEncodeType(txtFile->filePtr + bi.fileOffset, bi.fileSize, txtFile->filePath, (blockIndex == 0));\r\n\t\t}\r\n\r\n\t\tQString outUtf8Text;\r\n\r\n\t\tbool tranSucess = true;\r\n\r\n\t\t//UNICODE_LE格式需要单独处理\r\n\t\tif (code == UNICODE_LE)\r\n\t\t{\r\n\t\t\ttranSucess = CmpareMode::tranUnicodeLeToUtf8Bytes(txtFile->filePtr + bi.fileOffset, bi.fileSize, outUtf8Text, (blockIndex == 0));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//如果还是unknown,则没法了，默认按照Utf8解析。\r\n\t\t\tif (code == UNKOWN)\r\n\t\t\t{\r\n\t\t\t\tcode = UTF8_NOBOM;\r\n\t\t\t}\r\n\t\t\ttranSucess = Encode::tranStrToUNICODE(code, (const char*)txtFile->filePtr + bi.fileOffset, bi.fileSize, outUtf8Text);\r\n\t\t}\r\n\r\n\t\tif (txtFile->loadWithCode != code)\r\n\t\t{\r\n\t\t\ttxtFile->loadWithCode = code;\r\n\t\t}\r\n\r\n\t\t//获取行结尾信息\r\n\t\tif (txtFile->lineEndType == RC_LINE_FORM::UNKNOWN_LINE)\r\n\t\t{\r\n\t\t\ttxtFile->lineEndType = getLineEndTypeFromBigText(outUtf8Text);\r\n\t\t}\r\n\t\t//int ret = pEdit->setUtf8Text((char*)txtFile->filePtr + bi.fileOffset, bi.fileSize);\r\n\r\n\t\tpEdit->setText(outUtf8Text);\r\n\r\n\t\tpEdit->showBigTextRoLineNum(txtFile, blockIndex);\r\n\t\tpEdit->setBigTextBlockStartLine(bi.lineNumStart);\r\n\t\ttxtFile->m_curBlockIndex = blockIndex;\r\n\r\n\t\tif (tranSucess)\r\n\t\t{\r\n\t\t\tui.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()));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//文件乱码\r\n\t\t\tif (blockIndex == 0)\r\n\t\t\t{\r\n\t\t\t\tQMessageBox::warning(this, tr(\"Format Error\"), tr(\"Not a txt format file , load with big txt is garbled code!\"));\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tui.statusBar->showMessage(tr(\"Not a txt format file , load with big txt is garbled code!\"));\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tBlockIndex bi = txtFile->blocks.at(txtFile->m_curBlockIndex);\r\n\tui.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()));\r\n\r\n\tQApplication::beep();\r\n\treturn false;\r\n}\r\n\r\n//打开并显示二进制文件\r\nbool CCNotePad::openHexFile(QString filePath)\r\n{\r\n\tgetRegularFilePath(filePath);\r\n\r\n\tQFileInfo fi(filePath);\r\n\tQString fileLabel(fi.fileName());\r\n\r\n\tHexFileMgr* hexFile = nullptr;\r\n\r\n\tif (!FileManager::getInstance().loadFileData(filePath, hexFile))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tScintillaHexEditView* pEdit = FileManager::getInstance().newEmptyHexDocument();\r\n\tpEdit->setReadOnly(true);\r\n\tpEdit->setNoteWidget(this);\r\n\tpEdit->execute(SCI_SETSCROLLWIDTH, 80 * 10);\r\n\t\r\n\r\n\tsetDocTypeProperty(pEdit, HEX_TYPE);\r\n\r\n\tshowHexFile(pEdit,hexFile);\r\n\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\tint curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel));\r\n\t\r\n\tui.editTabWidget->setCurrentIndex(curIndex);\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\r\n\tQVariant editViewFilePath(filePath);\r\n\tpEdit->setProperty(Edit_View_FilePath, editViewFilePath);\r\n\r\n\t//setWindowTitle(filePath);\r\n\tui.editTabWidget->setTabToolTip(curIndex, filePath);\r\n\r\n\tQVariant editViewNewFile(-1);\r\n\tpEdit->setProperty(Edit_File_New, editViewNewFile);\r\n\r\n\tQVariant editTextChange(false);\r\n\tpEdit->setProperty(Edit_Text_Change, editTextChange);\r\n\r\n\tsyncCurDocEncodeToMenu(pEdit);\r\n\r\n\tsyncCurDocTailfToMenu(pEdit);\r\n\r\n\tsetFileOpenAttrProperty(pEdit, OpenAttr::HexReadOnly);\r\n\tsetWindowTitleMode(filePath, OpenAttr::HexReadOnly);\r\n\r\n\tui.statusBar->showMessage(tr(\"File %1 Open Finished [Hex ReayOnly Mode]\").arg(filePath),MSG_EXIST_TIME);\r\n\r\n\taddFileListView(filePath, pEdit);\r\n\r\n\treturn true;\r\n}\r\n\r\nvoid CCNotePad::slot_fileListView(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tinitFileListDockWin();\r\n\t\tsyncFileTabToListView();\r\n}\r\n\telse\r\n\t{\r\n\t\tif (!m_dockFileListWin.isNull())\r\n\t\t{\r\n\t\t\tm_dockFileListWin->close();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid CCNotePad::addFileListView(QString file, QWidget* pw)\r\n{\r\n\tif (!m_dockFileListWin.isNull())\r\n\t{\r\n\t\tm_fileListView->addFileItem(file, pw);\r\n\t}\r\n}\r\nvoid CCNotePad::delFileListView(QString file)\r\n{\r\n\tif (!m_dockFileListWin.isNull())\r\n\t{\r\n\t\tm_fileListView->delFileItem(file);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::syncFileTabToListView()\r\n{\r\n\tif (m_dockFileListWin.isNull())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tm_fileListView->addFileItem(filePath,pw);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::fileListSetCurItem(QString filePath)\r\n{\r\n\tif (!m_dockFileListWin.isNull())\r\n\t{\r\n\t\tm_fileListView->setCurItem(filePath);\r\n\t}\r\n}\r\n\r\n//双击文件列表，定位到对应的文件\r\nvoid CCNotePad::slot_fileListItemDoubleClick(QListWidgetItem* item)\r\n{\r\n\tif (!m_dockFileListWin.isNull())\r\n\t{\r\n\t\tQWidget *pWid = m_fileListView->getWidgetByFilePath(item->text());\r\n\t\tif (pWid != nullptr)\r\n\t\t{\r\n\t\t\tui.editTabWidget->setCurrentWidget(pWid);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//在文件列表类中使用，关闭pEdit所在的编辑器\r\nbool  CCNotePad::closeFileByEditWidget(QWidget* pEdit)\r\n{\r\n\tint index = ui.editTabWidget->indexOf(pEdit);\r\n\tif (index != -1)\r\n\t{\r\n\t\tslot_tabClose(index);\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nvoid  CCNotePad::initFileListDockWin()\r\n{\r\n\t//停靠窗口1\r\n\tif (m_dockFileListWin.isNull())\r\n\t{\r\n\t\tm_dockFileListWin = new QDockWidget(tr(\"File List\"), this);\r\n\t\tconnect(m_dockFileListWin, &QDockWidget::dockLocationChanged, this, [](Qt::DockWidgetArea area) {\r\n\t\t\tNddSetting::updataKeyValueFromNumSets(FILELISTPOS, area);\r\n\t\t});\r\n\r\n\t\tconnect(m_dockFileListWin, &QObject::destroyed, this, [this] {\r\n\t\t\tif (ui.actionFileListView->isChecked())\r\n\t\t\t{\r\n\t\t\t\tui.actionFileListView->setChecked(false);\r\n\t\t\t}\r\n\t\t});\r\n\t\tm_dockFileListWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\tm_dockFileListWin->layout()->setMargin(0);\r\n\t\tm_dockFileListWin->layout()->setSpacing(0);\r\n\r\n\t\t//暂时不提供关闭，因为关闭后需要同步菜单的check状态\r\n\r\n\t\tm_dockFileListWin->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable);\r\n\t\tm_dockFileListWin->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);\r\n\r\n\t\tm_fileListView = new FileListView(m_dockFileListWin);\r\n\t\tm_fileListView->setNotepadWin(this);\r\n\r\n\t\tconnect(m_fileListView, &FileListView::itemDoubleClicked, this, &CCNotePad::slot_fileListItemDoubleClick);\r\n\r\n\t\tm_dockFileListWin->setWidget(m_fileListView);\r\n\r\n\t\tint lastArea = NddSetting::getKeyValueFromNumSets(FILELISTPOS);\r\n\t\tif (lastArea == 0)\r\n\t\t{\r\n\t\t\tlastArea = Qt::LeftDockWidgetArea;\r\n\t\t}\r\n\r\n\t\taddDockWidget((Qt::DockWidgetArea)lastArea, m_dockFileListWin);\r\n\r\n\t\tif (!ui.actionFileListView->isChecked())\r\n\t\t{\r\n\t\t\tui.actionFileListView->setChecked(true);\r\n\t}\r\n\t}\r\n\tm_dockFileListWin->show();\r\n}\r\n\r\nstatic QString fileSuffix(const QString& filePath)\r\n{\r\n\tQFileInfo fi(filePath);\r\n\treturn fi.suffix();\r\n}\r\n\r\n//打开之前保存的恢复文件\r\nbool CCNotePad::tryRestoreFile(QString filePath)\r\n{\r\n\tgetRegularFilePath(filePath);\r\n\r\n\tQFileInfo fi(filePath);\r\n\tQString fileName = fi.fileName();\r\n\r\n\tQString tempDir = getGlboalTempSaveDir();\r\n\tQString restoreTempFile = QString(\"%1\\\\%2\").arg(tempDir).arg(fi.fileName());\r\n\t\r\n\tQFileInfo restoreFi(restoreTempFile);\r\n\r\n\t//存在恢复文件，则加载打开\r\n\tif (restoreFi.exists())\r\n\t{\r\n\t\tScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument();\r\n\t\tpEdit->setNoteWidget(this);\r\n\r\n\t\t//使用上次的swap文件恢复当前文件\r\n\t\tCODE_ID code;\r\n\t\tRC_LINE_FORM lineEnd;\r\n\r\n\t\tif (0 != FileManager::getInstance().loadFileDataInText(pEdit, restoreTempFile, code, lineEnd, nullptr,false))\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"File %1 Open Failed\").arg(restoreTempFile));\r\n\t\t\tdelete pEdit;\r\n\t\t\tQFile::remove(restoreTempFile);\r\n\t\t\treturn openFile(filePath);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//打开成功\r\n\t\t\tsetNormalTextEditInitPro(pEdit, filePath, code, lineEnd, false,true);\r\n\t\t\t//删除临时备份文件\r\n\t\t\tQFile::remove(restoreTempFile);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn openFile(filePath);\r\n}\r\nbool CCNotePad::openFile(QString filePath, int lineNum)\r\n{\r\n\ts_padTimes++;\r\n\t//如果是相对路径\r\n\tgetRegularFilePath(filePath);\r\n\r\n\tQFileInfo fi(filePath);\r\n\t\r\n\tif (!fi.exists())\r\n\t{\r\n\t\tQApplication::beep();\r\n\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"file %1 not exist.\").arg(filePath));\r\n\t\treturn false;\r\n\t}\r\n\r\n\ts_lastOpenDirPath = fi.absoluteDir().absolutePath();\r\n\r\n\t//如果已经打开过，则直接返回到当前文档\r\n\tint retIndex = findFileIsOpenAtPad(filePath);\r\n\r\n\tif (-1 != retIndex)\r\n\t{\r\n\t\tui.editTabWidget->setCurrentIndex(retIndex);\r\n\r\n\t\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\t//必须要先获得焦点，否则无法执行行跳转\r\n\t\t\tpEdit->viewport()->setFocus();\r\n\r\n\t\t\tif (lineNum != -1)\r\n\t\t\t{\r\n\t\t\t\tpEdit->execute(SCI_GOTOLINE, lineNum - 1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tui.statusBar->showMessage(tr(\"file %1 already open at tab %2\").arg(filePath).arg(retIndex),MSG_EXIST_TIME);\r\n\t\t\r\n\t\treturn true;\r\n\t}\r\n\r\n\t//如果是已知的二进制文件，以二进制打开\r\n\tif (DocTypeListView::isHexExt(fileSuffix(filePath)))\r\n\t{\r\n\t\treturn openHexFile(filePath);\r\n\t}\r\n\r\n\t//非已知的后缀文件，暂时无条件以文本模式打开\r\n\tint ret = openTextFile(filePath);\r\n\tif (ret && lineNum != -1)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tpEdit->execute(SCI_GOTOLINE, lineNum-1);\r\n\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nvoid CCNotePad::slot_slectionChanged()\r\n{\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(sender());\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->hasSelectedText())\r\n\t\t{\r\n\t\t\tQString selectText = pEdit->selectedText();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_actionOpenFile_toggle(bool /*checked*/)\r\n{\r\n\tif (s_lastOpenDirPath.isEmpty())\r\n\t{\r\n\t\ts_lastOpenDirPath = NddSetting::getKeyValueFromDelaySets(LAST_OPEN_DIR);\r\n\t}\r\n\r\n\tQFileDialog fd(this,QString(), s_lastOpenDirPath);\r\n\tfd.setFileMode(QFileDialog::ExistingFile);\r\n\t\r\n\tif (fd.exec() == QDialog::Accepted)   //如果成功的执行\r\n\t{\r\n\t\tQStringList fileNameList = fd.selectedFiles();      //返回文件列表的名称\r\n\t\tQFileInfo fi(fileNameList[0]);\r\n\r\n\t\topenFile(fi.filePath());\r\n\r\n\t}\r\n\telse\r\n\t{\r\n\t\tfd.close();\r\n\t}\r\n}\r\n\r\n#if 0\r\n#ifdef _WIN32\r\nvoid hide_file(const QString& szFile)\r\n{\r\n#ifdef UNICODE\r\n\tstd::wstring wstr = szFile.toStdWString();\r\n\t::SetFileAttributes(wstr.c_str(), FILE_ATTRIBUTE_HIDDEN);\r\n#else\r\n\t::SetFileAttributes(szFile.toStdString()c_str(), FILE_ATTRIBUTE_HIDDEN);\r\n#endif // !UNICODE\r\n}\r\n#endif // _WIN32\r\n#endif\r\n\r\n//bool isBakWrite:是否进行保护写，即先写swap文件，再写源文件。这样可以避免突然断电导致源文件被清空\r\n//isBakWrite 是否写保护swp文件，默认true。只有新文件时不需要，因为新文件不存在覆盖写的问题\r\n//isStatic 是否静默：不弹出对话框，在外部批量查找替换文件夹时使用，避免弹窗中断。默认false\r\n//isClearSwpFile:是否回收swp交换文件，在外部批量查找替换文件夹时使用，替换后直接删除swp文件。默认false\r\nbool  CCNotePad::saveFile(QString fileName, ScintillaEditView* pEdit, bool isBakWrite, bool isStatic, bool isClearSwpFile)\r\n{\r\n\tQFile srcfile(fileName);\r\n\t\r\n\t//如果文件存在，说明是旧文件，检测是否能写，不能写则失败。\r\n\t//反之文件不存，是保存为新文件\r\n\tbool isNewFile = false;\r\n\r\n\tif (srcfile.exists())\r\n\t{\r\n\t\t//linux也不是拥有者，可写权限就行\r\n\t\tQFlags<QFileDevice::Permission> power = QFile::permissions(fileName);\r\n\r\n\t\tif (!power.testFlag(QFile::WriteUser))\r\n\t\t{\r\n\t\t\t//文件不能写\r\n\t\t\tQApplication::beep();\r\n\t\t\tif (!isStatic)\r\n\t\t\t{\r\n\t\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"Save File %1 failed. Can not write auth, Please save as new file\").arg(fileName));\r\n\t\t\t}\r\n\t\t\tui.statusBar->showMessage(tr(\"Save File %1 failed. Can not write auth, Please save as new file\").arg(fileName));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tisNewFile = true;\r\n\t}\r\n\r\n\tauto saveWork = [this, &pEdit,isStatic](QFile& file, QString &fileName, bool isSwapFile=false)->bool{\r\n\r\n\tif (!file.open(QIODevice::ReadWrite | QIODevice::Truncate))\r\n\t{\r\n\t\tQApplication::beep();\r\n\t\tif (!isStatic)\r\n\t\t{\r\n#ifdef Q_OS_WIN\r\n\t\t\t//打开失败，这里一般是权限问题导致。如果是windows，在外面申请权限后继续处理\r\n\t\t\tif (QFileDevice::OpenError == file.error())\r\n\t\t\t{\r\n\t\t\t\t//先把当前文件的内容，保存到临时的目录中。\r\n\t\t\t\tQString tempDir = getGlboalTempSaveDir();\r\n\t\t\t\tQFileInfo fi(fileName);\r\n\t\t\t\tQString saveTempFile = QString(\"%1\\\\%2\").arg(tempDir).arg(fi.fileName());\r\n\t\t\t\tsaveFile(saveTempFile, pEdit, false, true, false);\r\n\r\n\t\t\t\t//后面新打开的文件，再去读取该文件。\r\n\t\t\t\tthis->runAsAdmin(fileName);\r\n\t\t\t\t\r\n\t\t\t\treturn false;\r\n\t\t}\r\n#endif\r\n\t\t\tif (isSwapFile)\r\n\t\t\t{\r\n\t\t\t\t//如果是交换文件写失败，询问是否继续直接写文件\r\n\t\t\t\treturn (QMessageBox::Yes == QMessageBox::question(this, tr(\"Error\"), tr(\"Save Swap File %1 failed. Write the target file directly ?\").arg(fileName)));\r\n\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"Save File %1 failed. You may not have write privileges \\nPlease save as a new file!\").arg(fileName));\r\n\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tQString textOut = pEdit->text();\r\n\r\n\tCODE_ID dstCode = static_cast<CODE_ID>(pEdit->property(Edit_Text_Code).toInt());\r\n\r\n\t//如果编码是已知如下类型，则后续保存其它行时，不修改编码格式，继续按照原编码进行保存\r\n\tif (dstCode == CODE_ID::UNICODE_BE)\r\n\t{\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(\"UTF-16BE\"));\r\n\t}\r\n\telse if (dstCode == CODE_ID::UNICODE_LE)\r\n\t{\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(\"UTF-16LE\"));\r\n\t}\r\n\telse if (dstCode == CODE_ID::UTF8_BOM)\r\n\t{\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(\"UTF-8\"));\r\n\r\n\t\t//自动转换不会带UTF-8 BOM，所以自己要在前面写个BOM头。这是一个例外。需要手动写入头\r\n\t\t//其他编码BL LE则不需要。\r\n\t\tQByteArray codeFlag = Encode::getEncodeStartFlagByte(dstCode);\r\n\r\n\t\tif (!codeFlag.isEmpty())\r\n\t\t{\r\n\t\t\t//先写入标识头\r\n\t\t\tfile.write(codeFlag);\r\n\t\t}\r\n\t}\r\n\telse if (dstCode == CODE_ID::GBK)\r\n\t{\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(\"GBK\"));\r\n\t}\r\n\telse if (dstCode == CODE_ID::BIG5)\r\n\t{\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(\"BIG5-HKSCS\"));\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//对于其它非识别编码，统一转换为utf8。减去让用户选择的麻烦\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(\"UTF-8\"));\r\n\t}\r\n\r\n\r\n\tif (textOut.length() > 0)\r\n\t{\r\n\t\t//保存时注意编码问题。这个tolocal已经带了字符BOM头了。只有UTF8_BOM不会带，其他BE LE都会带\r\n\t\tQByteArray t = textOut.toLocal8Bit();\r\n\t\tfile.write(textOut.toLocal8Bit());\r\n\t}\r\n\tfile.close();\r\n\treturn true;\r\n\t};\r\n\r\n\t//如果是新文件，第一次保存，直接保存\r\n\t//或者非保护写，直接写源文件即可\r\n\tif (isNewFile || !isBakWrite)\r\n\t{\r\n\t\tsaveWork(srcfile, fileName);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tQString swapFilePath = getSwapFilePath(fileName);\r\n\t\tQFile swapfile(swapFilePath);\r\n\t\t//老文件则先写入交换文件，避免断电后破坏文件不能恢复\r\n\t\t//再写入原本文件\r\n\t\tbool success = saveWork(swapfile, fileName, true);\r\n\t\tif (success)\r\n\t\t{\r\n#if 0 //不要这个了，windows下无条件删除\r\n\t\t\tif (!isClearSwpFile)\r\n\t\t\t{\r\n\t\t\t\thide_file(swapFilePath);\r\n\t\t\t}\r\n#endif\r\n\t\t\tsuccess = saveWork(srcfile, fileName);\r\n\t\tif (!success)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t}\r\n#ifdef _WIN32\r\n\t\t//windows下面如果保存成功，则无条件删除swap文件，许多用户反感这个.swap文件存在\r\n\t\tif (success)\r\n\t\t{\r\n\t\t\tQFile::remove(swapFilePath);\r\n\t\t}\r\n#else\r\n\t\tif (success && isClearSwpFile)\r\n\t\t{\r\n\t\t\tQFile::remove(swapFilePath);\r\n\t}\r\n#endif\r\n\t\t\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n//bool isBakWrite:是否进行保护写，即先写swap文件，再写源文件。这样可以避免突然断电导致源文件被清空\r\n//外部替换后保存文件时调用的函数，主要不弹出messagebox\r\nvoid  CCNotePad::slot_saveFile(QString fileName, ScintillaEditView* pEdit)\r\n{\r\n\t//写保护文件、静默安装、删除保护文件\r\n\tsaveFile(fileName, pEdit,true,true,true);\r\n}\r\n\r\n//保存一个新建的文件后，更新相关配置\r\nvoid CCNotePad::updateProAfterSaveNewFile(int curTabIndex, QString fileName, ScintillaEditView* pEdit)\r\n{\r\n\tgetRegularFilePath(fileName);\r\n\t//保存成功后，更新文件的路径和tab标签\r\n\tQFileInfo fi(fileName);\r\n\tQString fileLabel(fi.fileName());\r\n\r\n\tui.editTabWidget->setTabText(curTabIndex, fileLabel);\r\n\r\n\t//删除新文件的索引\r\n\tQVariant v = pEdit->property(Edit_File_New);\r\n\r\n\tint newFileIndex = v.toInt();\r\n\r\n\tif (newFileIndex >= 0)\r\n\t{\r\n\t\t//如果是新建文件，则删除对于的记录\r\n\t\tFileManager::getInstance().delNewFileNode(newFileIndex);\r\n\t}\r\n\r\n\tv.setValue(-1);\r\n\tpEdit->setProperty(Edit_File_New, v);\r\n\r\n\t//更新路径名称\r\n\tQVariant fp(fileName);\r\n\tpEdit->setProperty(Edit_View_FilePath, fp);\r\n\r\n\t//setWindowTitle(fileName);\r\n\tsetFileOpenAttrProperty(pEdit, OpenAttr::Text);\r\n\tsetWindowTitleMode(fileName, OpenAttr::Text);\r\n\r\n\tui.editTabWidget->setTabToolTip(curTabIndex, fileName);\r\n\r\n\tautoSetDocLexer(pEdit);\r\n\r\n\taddWatchFilePath(fileName);\r\n}\r\n\r\n//\r\nvoid CCNotePad::saveTabEdit(int tabIndex)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->widget(tabIndex);\r\n\r\n\t//16进制的处理逻辑\r\n\tif (HEX_TYPE == getDocTypeProperty(pw))\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Only Text File Can Use it, Current Doc is a Hex File !\"), 10000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t//保存成功后，开启修改监控\r\n\t\t//如果是未设置脏状态，则设置脏为true\r\n\tQVariant v = pEdit->property(Edit_Text_Change);\r\n\r\n\tbool isDirty = v.toBool();\r\n\r\n\t//不脏则不需要保存，直接跳过\r\n\tif (!isDirty)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\t//如果是新建的文件，则弹出保存对话框，进行保存\r\n\t\tif (pEdit->property(Edit_File_New) >= 0)\r\n\t\t{\r\n\t\t\tQString filter(\"Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)\");\r\n\t\t\tQString fileName = QFileDialog::getSaveFileName(this, tr(\"Save File\"), QString(), filter);\r\n\t\t\tif (!fileName.isEmpty())\r\n\t\t\t{\r\n\t\t\t\t//如果已经打开过，则直接返回到当前文档\r\n\t\t\t\tint retIndex = findFileIsOpenAtPad(fileName);\r\n\t\t\t\tif (-1 != retIndex)\r\n\t\t\t\t{\r\n\t\t\t\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"file %1 already open at tab %2, please select other file name.\").arg(fileName).arg(retIndex));\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!saveFile(fileName, pEdit))\r\n\t\t\t\t{\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tupdateProAfterSaveNewFile(tabIndex, fileName, pEdit);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//这里点击了取消，不进行保存\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//如果是打开的文件了，则保存\r\n\t\t\tQString fileName = pEdit->property(Edit_View_FilePath).toString();\r\n\t\t\tif (!fileName.isEmpty())\r\n\t\t\t{\r\n\t\t\t\t//保存前取消文件的修改检测，避免自己修改触发自己\r\n\t\t\t\tremoveWatchFilePath(fileName);\r\n\r\n\t\t\t\tif (!saveFile(fileName, pEdit))\r\n\t\t\t\t{\r\n\t\t\t\t\taddWatchFilePath(fileName);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\taddWatchFilePath(fileName);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//保存成功后，开启修改监控\r\n\t\t//如果是未设置脏状态，则设置脏为true\r\n\t\tif (isDirty)\r\n\t\t{\r\n\t\t\tv.setValue(false);\r\n\r\n\t\t\tpEdit->setProperty(Edit_Text_Change, v);\r\n\t\t}\r\n\r\n\t\t//一旦保存后，设置tab为不需要保存状态\r\n\t\tui.editTabWidget->setTabIcon(tabIndex, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32));\r\n\t\t//m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon));\r\n\t\tm_saveFile->setEnabled(false);\r\n\r\n\r\n\t\tupdateSaveAllToolBarStatus();\r\n\r\n\t\t//只有保存后再打开文本变化监控\r\n\t\tenableEditTextChangeSign(pEdit);\r\n\t}\r\n}\r\n\r\n//保存文件的执行\r\nvoid CCNotePad::slot_actionSaveFile_toggle(bool /*checked*/)\r\n{\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\tsaveTabEdit(index);\r\n}\r\n\r\n\r\n//文件重命名\r\nvoid CCNotePad::slot_actionRenameFile_toggle(bool checked)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\r\n\t//非新建文件走改名逻辑\r\n\tif (-1 == getFileNewIndexProperty(pw))\r\n\t{\r\n\t\t//取消旧的文件监控\r\n\t\tQString oldName = pw->property(Edit_View_FilePath).toString();\r\n\t\tgetRegularFilePath(oldName);\r\n\t\tQFileInfo oldfi(oldName);\r\n\r\n\t\t//如果是打开的本来就存在的文件，也弹出保存进行\r\n\t\tQString filter(\"Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)\");\r\n\t\tQString fileName = QFileDialog::getSaveFileName(this, tr(\"Rename File As ...\"), oldfi.absoluteDir().absolutePath(), filter);\r\n\t\t\r\n\t\tif (!fileName.isEmpty())\r\n\t\t{\r\n\t\t\tgetRegularFilePath(fileName);\r\n\t\t\t\r\n\r\n\t\t\tif (oldName == fileName)\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n\t\t\t} \r\n\r\n\t\t\t\r\n\t\t\tQFileInfo newfi(fileName);\r\n\r\n\t\t\tif (oldfi.absoluteDir().absolutePath() != newfi.absoluteDir().absolutePath())\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (QFile::rename(oldName, fileName))\r\n\t\t\t{\r\n\r\n\t\t\t\tremoveWatchFilePath(oldName);\r\n\t\t\t\t//保存成功后，更新文件的路径和tab标签\r\n\t\t\t\tQFileInfo fi(fileName);\r\n\t\t\t\tQString fileLabel(fi.fileName());\r\n\r\n\t\t\t\tui.editTabWidget->setTabText(index, fileLabel);\r\n\r\n\t\t\t\t//更新路径名称\r\n\t\t\t\tQVariant fp(fileName);\r\n\t\t\t\tpw->setProperty(Edit_View_FilePath, fp);\r\n\t\t\t\tui.editTabWidget->setTabToolTip(index, fileName);\r\n\t\t\t\taddWatchFilePath(fileName);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"file %1 reanme failed!\").arg(fileName));\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//这里点击了取消，不进行操作\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//新建文件直接走另外保存逻辑\r\n\t\tslot_actionSaveAsFile_toggle(checked);\r\n\t}\r\n}\r\n\r\n//保存文件的另存为槽函数。1）先执行保存。2）用保存后的新文件路径，替换当前的路径\r\nvoid CCNotePad::slot_actionSaveAsFile_toggle(bool /*checked*/)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\r\n\t//16进制的处理逻辑\r\n\tif (HEX_TYPE == getDocTypeProperty(pw))\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Only Text File Can Use it, Current Doc is a Hex File !\"), 10000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\t//如果是新建的文件，则弹出保存对话框，进行保存\r\n\t\tif (pEdit->property(Edit_File_New) >= 0)\r\n\t\t{\r\n\t\t\tQString filter(\"Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)\");\r\n\t\t\tQString fileName = QFileDialog::getSaveFileName(this, tr(\"Save File As ...\"),QString(), filter);\r\n\t\t\t\r\n\t\t\tif (!fileName.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tgetRegularFilePath(fileName);\r\n\t\t\t\t//如果已经打开过，则直接返回到当前文档\r\n\t\t\t\tint retIndex = findFileIsOpenAtPad(fileName);\r\n\t\t\t\tif (-1 != retIndex)\r\n\t\t\t\t{\r\n\t\t\t\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"file %1 already open at tab %2, please select other file name.\").arg(fileName).arg(retIndex));\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!saveFile(fileName, pEdit))\r\n\t\t\t\t{\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tupdateProAfterSaveNewFile(index, fileName, pEdit);\r\n\r\n\t\t\t\taddWatchFilePath(fileName);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//这里点击了取消，不进行保存\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//取消旧的文件监控\r\n\t\t\tremoveWatchFilePath(pEdit->property(Edit_View_FilePath).toString());\r\n\r\n\t\t\t//如果是打开的本来就存在的文件，也弹出保存进行\r\n\t\t\tQString filter(\"Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)\");\r\n\r\n\t\t\tQString curFilePath = getFilePathProperty(pEdit);\r\n\t\t\tQString fileName = QFileDialog::getSaveFileName(this, tr(\"Save File As ...\"), curFilePath, filter);\r\n\r\n\t\t\tif (!fileName.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tif (!saveFile(fileName, pEdit))\r\n\t\t\t\t{\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//保存成功后，更新文件的路径和tab标签\r\n\t\t\t\tQFileInfo fi(fileName);\r\n\t\t\t\tQString fileLabel(fi.fileName());\r\n\r\n\t\t\t\tui.editTabWidget->setTabText(index, fileLabel);\r\n\r\n\t\t\t\t//更新路径名称\r\n\t\t\t\tQVariant fp(fileName);\r\n\t\t\t\tpEdit->setProperty(Edit_View_FilePath, fp);\r\n\t\t\t\tui.editTabWidget->setTabToolTip(index, fileName);\r\n\t\t\t\taddWatchFilePath(fileName);\r\n\r\n\t\t\t\tsetWindowTitleMode(fileName, OpenAttr::Text);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//这里点击了取消，不进行保存\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//保存成功后，开启修改监控\r\n\t\t//如果是未设置脏状态，则设置脏为true\r\n\t\tQVariant v = pEdit->property(Edit_Text_Change);\r\n\r\n\t\tbool isDirty = v.toBool();\r\n\r\n\t\tif (isDirty)\r\n\t\t{\r\n\t\t\tv.setValue(false);\r\n\r\n\t\t\tpEdit->setProperty(Edit_Text_Change, v);\r\n\t\t}\r\n\r\n\t\t//保持完毕后，设置tab为蓝色，显示为不需要保持状态\r\n\r\n\t\tui.editTabWidget->setTabIcon(index, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32));\r\n\t\t//m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon));\r\n\t\tm_saveFile->setEnabled(false);\r\n\r\n\t\tupdateSaveAllToolBarStatus();\r\n\r\n\t\t//只有保存后再打开文本变化监控\r\n\t\tenableEditTextChangeSign(pEdit);\r\n\r\n\t\t//updateTitleToCurDocFilePath();\r\n\t}\r\n}\r\n\r\n//关闭当前文件\r\nvoid CCNotePad::slot_actionClose(bool)\r\n{\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\tif (index >= 0)\r\n\t{\r\n\t\tslot_tabClose(index);\r\n\t}\r\n}\r\n\r\n//关闭非当前文档\r\nvoid CCNotePad::slot_actionCloseNonCurDoc()\r\n{\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\r\n\tfor (int i = ui.editTabWidget->count()-1; i >=0; --i)\r\n\t{\r\n\t\tif (i != index)\r\n\t\t{\r\n\t\t\tslot_tabClose(i);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_actionCloseLeftAll()\r\n{\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\r\n\tfor (int i = index - 1; i >= 0; --i)\r\n\t{\r\n\t\t\tslot_tabClose(i);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_actionCloseRightAll()\r\n{\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i > index; --i)\r\n\t{\r\n\t\tslot_tabClose(i);\r\n\t}\r\n}\r\n\r\n//不管如何关闭，最终显示一个new1的新建在最上面\r\nvoid CCNotePad::initTabNewOne()\r\n{\r\n\tif (0 == ui.editTabWidget->count())\r\n\t{\r\n\t\tslot_actionNewFile_toggle(true);\r\n\t\tm_saveFile->setEnabled(false);\r\n\t\tm_saveAllFile->setEnabled(false);\r\n\t}\r\n}\r\n\r\n//退出所有。暂时不要了，默认alt+f4.\r\nvoid CCNotePad::slot_quit(bool)\r\n{\r\n\tclose();\r\n\t}\r\n\r\nvoid CCNotePad::slot_saveAllFile()\r\n{\r\n\tint index = ui.editTabWidget->currentIndex();\r\n\tif (index == -1)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\t//从尾部开始依次调用保存所有文件。没修改的不需要保存\r\n\tfor (int i = ui.editTabWidget->count()-1; i >= 0; --i)\r\n\t{\r\n\t\tsaveTabEdit(i);\r\n\t}\r\n\t//最后恢复之前的current\r\n\tui.editTabWidget->setCurrentIndex(index);\r\n}\r\n\r\n\r\n//定时自动保存\r\nvoid CCNotePad::slot_autoSaveFile(bool status)\r\n{\r\n\tif (m_timerAutoSave == nullptr)\r\n\t{\r\n\t\tm_timerAutoSave = new QTimer(this);\r\n\t\tconnect(m_timerAutoSave, &QTimer::timeout, this, &CCNotePad::slot_timerAutoSave);\r\n\t\tslot_timerAutoSave();\r\n\t}\r\n\r\n\tif (status)\r\n\t{\r\n\t\tif (!m_timerAutoSave->isActive())\r\n\t\t{\r\n\t\t\t//3分钟自动保存一次\r\n\t\t\tm_timerAutoSave->start(1000 * 60 * 3);\r\n\t\t\tui.statusBar->showMessage(tr(\"Cycle autosave on ...\"),5000);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (m_timerAutoSave->isActive())\r\n\t\t{\r\n\t\t\tm_timerAutoSave->stop();\r\n\t\t\tui.statusBar->showMessage(tr(\"Cycle autosave off ...\"), 5000);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//定时器周期触发的自动保存\r\nvoid CCNotePad::slot_timerAutoSave()\r\n{\r\n\tint curTabIndex = ui.editTabWidget->currentIndex();\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\t\r\n\t\t//如果是未修改，不执行保存\r\n\t\tif (!getTextChangeProperty(pw))\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\t//16进制文件不执行保存\r\n\t\tif (HEX_TYPE == getDocTypeProperty(pw))\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\t//新建文件不需要保存\r\n\t\tif (getFileNewIndexProperty(pw) >= 0)\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\t//如果是打开的文件了，则保存\r\n\t\t\tQString fileName = getFilePathProperty(pw);\r\n\t\t\tif (!fileName.isEmpty())\r\n\t\t\t{\r\n\t\t\t\t//保存前取消文件的修改检测，避免自己修改触发自己\r\n\t\t\t\tremoveWatchFilePath(fileName);\r\n\r\n\t\t\t\tif (!saveFile(fileName, pEdit))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\taddWatchFilePath(fileName);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//如果是未设置脏状态，则设置脏为false\r\n\t\tsetTextChangeProperty(pw, false);\r\n\r\n\t\tif (curTabIndex == i)\r\n\t\t{\r\n\t\t\tm_saveFile->setEnabled(false);\r\n\t\t\tui.statusBar->showMessage(tr(\"The current document has been automatically saved\"), 5000);\r\n\t\t}\r\n\r\n\t\t//只有保存后再打开文本变化监控\r\n\t\tenableEditTextChangeSign(pEdit);\r\n\t}\r\n}\r\n\r\n//保存文件为临时文件。一定是文本格式，可读写的。只在关闭时才需要调用该函数。\r\n//凡是存在临时文件的，一定是脏文件，即关闭时没有保存的文件。\r\n//而不存在临时文件，只有一个记录在list中的文件，表示不脏的文件，直接打开原始文件即可。\r\n//1:非脏新建文件 2 非脏的已存在文件 3 脏的新建文件 4 脏的老文件。\r\n//5和3一样，但是多了一个语法设置保存。\r\n//20230119 对于1非脏的新建文件，不再保存。\r\nvoid CCNotePad::saveTempFile(ScintillaEditView* pEdit,int index, QSettings& qs)\r\n{\r\n\t//16进制的处理逻辑\r\n\tif (TXT_TYPE != getDocTypeProperty(pEdit))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQVariant v = pEdit->property(Edit_Text_Change);\r\n\tbool isDirty = v.toBool();\r\n\r\n\t//不脏则不需要保存，直接跳过。不脏的文件，只记录1个名称，下次打开时恢复\r\n\tif (!isDirty)\r\n\t{\r\n\t\tQString fileName = pEdit->property(Edit_View_FilePath).toString();\r\n\t\t//把文件记录到qs中去\r\n\t\t//index一定不能重复。n表示新建\r\n\t\t//如果是新建的文件\r\n\t\tif (pEdit->property(Edit_File_New) >= 0)\r\n\t\t{\r\n\t\t\t//不再保存新建的非脏文件。因为一定是空的，意义不大\r\n\t\t\t//qs.setValue(QString(\"%1\").arg(index), QString(\"%1|1\").arg(fileName));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tqs.setValue(QString(\"%1\").arg(index), QString(\"%1|2\").arg(fileName));\r\n\r\n\t\t\t//非新建文件，清空交换文件\r\n\t\t\tQString swapfile = getSwapFilePath(fileName);\r\n\t\t\tif (QFile::exists(swapfile))\r\n\t\t\t{\r\n\t\t\t\tQFile::remove(swapfile);\r\n\t\t}\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\t//如果是新建的文件\r\n\tif (pEdit->property(Edit_File_New) >= 0)\r\n\t{\r\n\t\tQString qsSavePath = qs.fileName();\r\n\r\n\t\tQFileInfo fi(qsSavePath);\r\n\t\tQString saveDir = fi.dir().absolutePath();\r\n\t\tQString tempFileName = QString(\"%1/%2\").arg(saveDir).arg(index);\r\n\r\n\t\tif (!saveFile(tempFileName, pEdit,false,true))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tQString fileName = pEdit->property(Edit_View_FilePath).toString();\r\n\t\t\t//把文件记录到qs中去\r\n\t\t\t//index一定不能重复。2表示新建\r\n\t\t\tint lexId = L_TXT;\r\n\t\t\tif (pEdit->lexer() != nullptr)\r\n\t\t\t{\r\n\t\t\t\tlexId = pEdit->lexer()->lexerId();\r\n\t\t\t\tif (lexId > L_TXT)\r\n\t\t\t\t{\r\n\t\t\t\t\tlexId = L_TXT;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (lexId == L_TXT)\r\n\t\t\t{\r\n\t\t\tqs.setValue(QString(\"%1\").arg(index), QString(\"%1|3\").arg(fileName));\r\n\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tqs.setValue(QString(\"%1\").arg(index), QString(\"%1|%2|5\").arg(fileName).arg(lexId));\r\n\t}\r\n\t\t}\r\n\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//如果是打开的文件了，则保存。脏的已经存在文件\r\n\t\tQString fileName = pEdit->property(Edit_View_FilePath).toString();\r\n\t\tif (!fileName.isEmpty())\r\n\t\t{\r\n\t\t\t\t//保存前取消文件的修改检测，避免自己修改触发自己\r\n\t\t\tremoveWatchFilePath(fileName);\r\n\r\n\t\t\tQString qsSavePath = qs.fileName();\r\n\t\t\tQFileInfo fi(qsSavePath);\r\n\t\t\tQString saveDir = fi.dir().absolutePath();\r\n\t\t\tQString tempFileName = QString(\"%1/%2\").arg(saveDir).arg(index);\r\n\r\n\t\t\tif (saveFile(tempFileName, pEdit, false, true))\r\n\t\t\t{\r\n\t\t\t\t//把文件记录到qs中去\r\n\t\t\t\t//index一定不能重复。2表示存在\r\n\t\t\t\tqs.setValue(QString(\"%1\").arg(index), QString(\"%1|4\").arg(fileName));\r\n\t\t\t}\r\n\r\n\t\t\t//要注意清空一下交换文件。因为这里的文件其实已经保存完毕了，直接把交换文件删除。\r\n\t\t   //否则下次恢复时，会检测到存在交换文件，会提示用户。\r\n\r\n\t\t\tQString swapfile = getSwapFilePath(fileName);\r\n\t\t\tif (QFile::exists(swapfile))\r\n\t\t\t{\r\n\t\t\t\tQFile::remove(swapfile);\r\n\t\t}\r\n\t}\r\n}\r\n}\r\n\r\nvoid CCNotePad::closeFileStatic(int index, QSettings& qs)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->widget(index);\r\n\tQString filePath = pw->property(Edit_View_FilePath).toString();\r\n\r\n\t//16进制的处理逻辑\r\n\tint type = getDocTypeProperty(pw);\r\n\r\n\tif (HEX_TYPE == type)\r\n\t{\r\n\t\tui.editTabWidget->removeTab(index);\r\n\t\tpw->deleteLater();\r\n\t\tFileManager::getInstance().closeHexFileHand(filePath);\r\n\t\treturn;\r\n\t}\r\n\telse if (BIG_TEXT_RO_TYPE == type)\r\n\t{\r\n\t\tui.editTabWidget->removeTab(index);\r\n\t\tpw->deleteLater();\r\n\r\n\t\tFileManager::getInstance().closeBigTextRoFileHand(filePath);\r\n\t\treturn;\r\n\t}\r\n\telse if (SUPER_BIG_TEXT_RO_TYPE == type)\r\n\t{\r\n\t\tui.editTabWidget->removeTab(index);\r\n\t\tpw->deleteLater();\r\n\r\n\t\tFileManager::getInstance().closeSuperBigTextFileHand(filePath);\r\n\t\treturn;\r\n\t}\r\n\r\n\t//关闭之前，检查是否要保存。如果文档为脏,则静默保存为temp文件\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif ((pEdit != nullptr))\r\n\t{\r\n\t\tsaveTempFile(pEdit,index,qs);\r\n\t}\r\n\r\n\tui.editTabWidget->removeTab(index);\r\n\r\n\tQVariant v = pw->property(Edit_File_New);\r\n\r\n\tint newFileIndex = v.toInt();\r\n\r\n\tif (newFileIndex >= 0)\r\n\t{\r\n\t\t//如果是新建文件，则删除对应的记录\r\n\t\tFileManager::getInstance().delNewFileNode(newFileIndex);\r\n\t}\r\n\r\n\t//这里是在退出程序的过程中，不需要更新最近打开文件菜单列表\r\n\r\n\t//取消监控文件\r\n\tremoveWatchFilePath(filePath);\r\n\tpw->deleteLater();\r\n}\r\n\r\n\r\nvoid CCNotePad::closeAllFileStatic()\r\n{\r\n\tQString tempFileList = QString(\"notepad/temp/list\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, tempFileList);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\tQString qsSavePath = qs.fileName();\r\n\tQFileInfo fi(qsSavePath);\r\n\tQDir saveDir = fi.dir();\r\n\t//检查文件夹temp是否存在，不然就创建。发现第一次时，没有该文件夹，文件保存时失败。\r\n\tif (!saveDir.exists())\r\n\t{\r\n\t\tsaveDir.mkdir(saveDir.absolutePath());\r\n\t}\r\n\r\n\tqs.clear();\r\n\r\n\tint curIndexWhenQuit = ui.editTabWidget->currentIndex();\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(LAST_ACTION_TAB_INDEX, curIndexWhenQuit);\r\n\r\n\t//这里是静默退出，反正要退出了，把槽函数取消一下，避免下面setCurrentIndex再触发做无用功\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\r\n\t//从尾部开始依次调用保存所有文件。没修改的不需要保存\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tui.editTabWidget->setCurrentIndex(i);\r\n\t\tcloseFileStatic(i,qs);\r\n\t}\r\n}\r\n\r\n//退出时关闭所有文件\r\nvoid CCNotePad::closeAllFileWhenQuit(bool isQuit)\r\n{\r\n\tm_isQuitCancel = false;\r\n\r\n\t//从尾部开始依次调用保存所有文件。没修改的不需要保存\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tui.editTabWidget->setCurrentIndex(i);\r\n\r\n\t\ttabClose(i, isQuit);\r\n\r\n\t\tif (m_isQuitCancel)\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//关闭所有文件的槽函数\r\nvoid CCNotePad::slot_closeAllFile(bool)\r\n{\r\n\tcloseAllFileWhenQuit(false);\r\n}\r\n\r\nvoid CCNotePad::closeEvent(QCloseEvent * event)\r\n{\r\n\tif (!m_pFindWin.isNull())\r\n\t{\r\n\t\tQByteArray curGeo = m_pFindWin->saveGeometry();\r\n\t\tNddSetting::updataKeyByteArrayValue(FINDWINSIZE, curGeo);\r\n\r\n\t\tm_pFindWin.data()->close();\r\n\t}\r\n\r\n\tif (!m_pHexGotoWin.isNull())\r\n\t{\r\n\t\tm_pHexGotoWin.data()->close();\r\n\t}\r\n\r\n\tif (!m_columnEditWin.isNull())\r\n\t{\r\n\t\tm_columnEditWin.data()->close();\r\n\t}\r\n\t\r\n\r\n\t//关闭的时候，filelistwin还存在\r\n\tif (!m_dockFileListWin.isNull())\r\n\t{\r\n\t\tNddSetting::updataKeyValueFromNumSets(FILELISTSHOW, 1);\r\n\t\tm_dockFileListWin.data()->close();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tNddSetting::updataKeyValueFromNumSets(FILELISTSHOW, 0);\r\n\t}\r\n\r\n\r\n#ifdef Q_OS_WIN\r\n\tif ((s_restoreLastFile==1) && m_isMainWindows && !s_isAdminAuth)\r\n\t{\r\n\t//走静默安装的函数。对于没有保存的文件，一律保存为临时文件\r\n\t\t//主窗口才需要保存。非主的还是提示\r\n\tcloseAllFileStatic();\r\n\r\n\t\tm_isQuitCancel = false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tcloseAllFileWhenQuit(true);\r\n\t}\r\n#else\r\n\tif ((s_restoreLastFile == 1) && m_isMainWindows)\r\n\t{\r\n\t\tcloseAllFileStatic();\r\n\t\tm_isQuitCancel = false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tcloseAllFileWhenQuit(true);\r\n\t}\r\n#endif\r\n\t\r\n\tif (m_isQuitCancel)\r\n\t{\r\n\t\tm_isQuitCancel = false;\r\n\t\tevent->ignore();\r\n\t\treturn;\r\n\t}\r\n\r\n\ts_padInstances->removeOne(this);\r\n\r\n\t//把hwnd切换到当前还在的notepad，否则右键打开失效。因为窗口隐藏了\r\n\t//退位让贤给当前还在的窗口\r\n\tif (!s_padInstances->isEmpty())\r\n\t{\r\n\t\tCCNotePad* c = s_padInstances->first();\r\n\r\n\t\t//主窗口还在，没有删除,不用切换\r\n\t\t//管理员窗口任何时候不做住窗口\r\n#ifdef Q_OS_WIN\r\n\t\tif (c->m_isMainWindows || s_isAdminAuth)\r\n#else\r\n        if (c->m_isMainWindows)\r\n#endif\r\n\t\t{\r\n\t\t\t//主窗口还在，则当前窗口直接退出。但是把主窗口呼出来一下\r\n\t\t\tif (c->isHidden() || c->isMinimized())\r\n\t\t\t{\r\n\t\t\t\tc->showNormal();\r\n\t\t\t}\r\n\t\t\tevent->accept();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//把接位的窗口设置为主窗口,显示出来。隐藏的窗口时没有winid的，避免该错误。\r\n\t\t\tif (c->isHidden() || c->isMinimized())\r\n\t\t\t{\r\n\t\t\t\tc->showNormal();\r\n\t\t\t}\r\n\t\tqlonglong winId = (qlonglong)c->effectiveWinId();\r\n\t\tm_shareMem->lock();\r\n\t\tmemcpy(m_shareMem->data(), &winId, sizeof(qlonglong));\r\n\t\tm_shareMem->unlock();\r\n\t\t\tc->m_isMainWindows = true;\r\n\t}\r\n\t}\r\n\r\n\t//保存上次打开目录\r\n\t if (!CCNotePad::s_lastOpenDirPath.isEmpty())\r\n\t{\r\n\t\tNddSetting::updataKeyValueFromDelaySets(LAST_OPEN_DIR, CCNotePad::s_lastOpenDirPath);\r\n\t}\r\n\t//保存大小\r\n\tQByteArray curGeo = saveGeometry();\r\n\tNddSetting::updataKeyByteArrayValue(WIN_POS, curGeo);\r\n\r\n\tevent->accept();\r\n}\r\n\r\nvoid CCNotePad::updateSaveAllToolBarStatus()\r\n{\r\n\tbool isNeedSaveAll = false;\r\n\r\n\t//从尾部开始依次调用保存所有文件。没修改的不需要保存\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget *pw = ui.editTabWidget->widget(i);\r\n\t\tif (pw->property(Edit_Text_Change).toBool())\r\n\t\t{\r\n\t\t\tisNeedSaveAll = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tsetSaveAllButtonStatus(isNeedSaveAll);\r\n}\r\n\r\nvoid CCNotePad::slot_copyAvailable(bool select)\r\n{\r\n\tif (m_cutFile != nullptr && m_copyFile != nullptr)\r\n\t{\r\n\t\tm_cutFile->setEnabled(select);\r\n\t\tm_copyFile->setEnabled(select);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_cut()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->cut();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_copy()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->copy();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_paste()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->paste();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_selectAll()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->execute(SCI_SELECTALL);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_undo()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->undo();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_redo()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->redo();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_zoomin()\r\n{\r\n\t++s_zoomValue;\r\n\r\n\tif (s_zoomValue < -10)\r\n\t\ts_zoomValue = -10;\r\n\telse if (s_zoomValue > 20)\r\n\t\ts_zoomValue = 20;\r\n\r\n\tzoomto(s_zoomValue);\r\n}\r\n\r\n//ctrl+鼠标放大缩小zoom，由pedit发送的消息\r\n//任何一个编辑框修改，其余的编辑框也需要同步修改\r\nvoid CCNotePad::slot_zoomValueChange()\r\n\t{\r\n\tScintillaEditView* pSrcEdit = dynamic_cast<ScintillaEditView*>(sender());\r\n\tif (pSrcEdit != nullptr)\r\n\t{\r\n\t\tpSrcEdit->updateLineNumberWidth();\r\n\r\n\t\tint curZoomValue = pSrcEdit->execute(SCI_GETZOOM);\r\n\r\n\t\tif (s_zoomValue != curZoomValue)\r\n\t\t\t{\r\n\t\t\t\ts_zoomValue = curZoomValue;\r\n\t\t\t\tNddSetting::updataKeyValueFromNumSets(ZOOMVALUE, s_zoomValue);\r\n\t\t\tint zoomValue = 100 + 10 * curZoomValue;\r\n\t\t\tui.statusBar->showMessage(tr(\"Current Zoom Value is %1%\").arg(zoomValue));\r\n\t\t\tsetZoomLabelValue(zoomValue);\r\n\t}\r\n\r\n\t\t//修改其余的pedit\r\n\t\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t\t{\r\n\t\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t\t\tif ((pEdit != nullptr) && (pEdit != pSrcEdit))\r\n\t\t\t{\r\n\t\t\t\t//zoomTo 会触发SCN_ZOOM，而zoomTo会触发slot_zoomValueChange，避免循环触发\r\n\t\t\t\tdisconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n\t\t\t\tpEdit->zoomTo(s_zoomValue);\r\n\t\t\t\tpEdit->updateLineNumberWidth();\r\n\t\t\t\tconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n}\r\n\t}\r\n}\r\n}\r\n\r\nvoid CCNotePad::zoomto(int zoomValue)\r\n{\r\n\tNddSetting::updataKeyValueFromNumSets(ZOOMVALUE, zoomValue);\r\n\tint value = 100 + 10 * zoomValue;\r\n\tui.statusBar->showMessage(tr(\"Current Zoom Value is %1%\").arg(value));\r\n\tsetZoomLabelValue(value);\r\n\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\t\t//zoomTo 会触发SCN_ZOOM，而zoomTo会触发slot_zoomValueChange，避免循环触发\r\n\t\t\tdisconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n\t\t\tpEdit->zoomTo(zoomValue);\r\n\t\t\tpEdit->updateLineNumberWidth();\r\n\t\t\tconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n\t}\r\n}\r\n\t}\r\n\r\nvoid CCNotePad::slot_zoomout()\r\n{\r\n\t--s_zoomValue;\r\n\r\n\tif (s_zoomValue < -10)\r\n\t\ts_zoomValue = -10;\r\n\telse if (s_zoomValue > 20)\r\n\t\ts_zoomValue = 20;\r\n\r\n\tzoomto(s_zoomValue);\r\n}\r\n\r\n//只切换了当前文档。换行大批量切换，可能会非常耗时，所以不全部换行。在文档切换的时候，需要检查下当前文档的自动换行状态。\r\nvoid CCNotePad::slot_wordwrap(bool checked)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (checked)\r\n\t\t{\r\n\t\t\tpEdit->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tpEdit->setWrapMode(QsciScintilla::WrapNone);\r\n\t\t}\r\n\t}\r\n\t\r\n\ts_autoWarp = (checked) ? QsciScintilla::WrapCharacter : QsciScintilla::WrapNone;\r\n\tNddSetting::updataKeyValueFromNumSets(AUTOWARP_KEY, s_autoWarp);\r\n\r\n\t//同步两个按钮的状态\r\n\tif (ui.actionWrap->isChecked() != checked)\r\n\t{\r\n\t\tui.actionWrap->setChecked(checked);\r\n}\r\n\r\n\tif (m_wordwrap != nullptr && m_wordwrap->isChecked() != checked)\r\n{\r\n\t\tm_wordwrap->setChecked(checked);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::syncBlankShowStatus()\r\n\t{\r\n\t//检查3个地方按钮的状态。这里务必注意，action使用trigged信号，setcheck修改不会触发该信号。避免循环\r\n\t//同样道理，button使用click信号，也是避免setcheck触发click信号，避免信号循环处理。\r\n\tui.actionShowSpaces->setChecked((0 != (s_showblank & 0x1)));\r\n\tui.actionshow_end_of_line->setChecked((0 != (s_showblank & 0x2)));\r\n\tui.actionShowAll->setChecked((3 == s_showblank));\r\n\tm_allWhite->setChecked((3 == s_showblank));\r\n\t}\r\n\r\n//这里是对所有文档进行了空白的开启等。后续如果发现有效率问题，要学自动换行那样，可以只修当前文档；其余文档在切换是更新\r\nvoid CCNotePad::changeBlankShowStatus(int showBlank)\r\n{\r\n\t//对比判断防止循环触发，这个是有必要的。\r\n\tif (s_showblank == showBlank)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\t//0 全部不开启。1开始空白 2 开启行尾 3 全部开启\r\n\ts_showblank = showBlank;\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\t\tsetEditShowBlankStatus(pEdit, s_showblank);\r\n\t\t}\r\n\t\t}\r\n\t\r\n\tNddSetting::updataKeyValueFromNumSets(SHOWSPACE_KEY, s_showblank);\r\n\r\n\tsyncBlankShowStatus();\r\n}\r\n\r\n//有2个函数，都触发该函数。一个是ui.actionShowAll,一个是按钮m_allWhite。\r\n//状态以ui.actionShowAll为主。m_allWhite为辅助同步按钮状态。避免二者的信号互相干扰。\r\nvoid CCNotePad::slot_allWhite(bool checked)\r\n{\r\n\r\n\t//0 全部不开启。1开始空白 2 开启行尾 3 全部开启\r\n\tchangeBlankShowStatus((checked ? 3 : 0));\r\n}\r\n\r\n//只控制空格和TAB，不控制行尾\r\nvoid CCNotePad::slot_show_spaces(bool checked)\r\n\t{\r\n\tint showblank = s_showblank;\r\n\t\tif (checked)\r\n\t\t{\r\n\t\tshowblank |= 0x1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\tshowblank &= 0xe;\r\n\t\t}\r\n\tchangeBlankShowStatus(showblank);\r\n\t}\r\n\r\n\r\n//全部都会生效，和自动换行不一样，会全部设置\r\nvoid CCNotePad::slot_indentGuide(bool willBeShowed)\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\r\n\t\t//文本的处理逻辑\r\n\t\tif (TXT_TYPE == getDocTypeProperty(pw))\r\n\t\t{\r\n\t\t\t//关闭之前，检查是否要保存。如果文档为脏，则询问是否要保存\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tpEdit->setIndentGuide(willBeShowed);\r\n\t\t}\r\n\t}\r\n\r\n\ts_indent = (willBeShowed) ? 1 : 0;\r\n\tNddSetting::updataKeyValueFromNumSets(INDENT_KEY, s_indent);\r\n}\r\n\r\n#ifdef Q_OS_WIN\r\nTCHAR* CharToWchar(const QString& str)\r\n{\r\n\tQByteArray ba = str.toUtf8();\r\n\tchar* data = ba.data(); //以上两步不能直接简化为“char *data = str.toUtf8().data();”\r\n\tint charLen = strlen(data);\r\n\tint len = MultiByteToWideChar(CP_ACP, 0, data, charLen, NULL, 0);\r\n\tTCHAR* buf = new TCHAR[len + 1];\r\n\tMultiByteToWideChar(CP_ACP, 0, data, charLen, buf, len);\r\n\tbuf[len] = '\\0';\r\n\treturn buf;\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::tailfile(bool isOn, ScintillaEditView* pEdit)\r\n{\r\n\tif (pEdit == nullptr || (TXT_TYPE != getDocTypeProperty(pEdit) || (-1 != getFileNewIndexProperty(pEdit))))\r\n\t{\r\n\t\tm_tailf->setChecked(false);\r\n\t\tui.statusBar->showMessage(tr(\"Only Text File Can Use it !\"), MSG_EXIST_TIME);\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (isOn)\r\n\t{\r\n\t\tif (1 == getFileTailProperty(pEdit))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tpEdit->setReadOnly(true);\r\n\t\tsetFileTailProperty(pEdit, 1);\r\n\t\tui.statusBar->showMessage(tr(\"File %1 into tailf mode, readonly !\").arg(getFilePathProperty(pEdit)), MSG_EXIST_TIME);\r\n\r\n#ifdef Q_OS_WIN\r\n\r\n\t\tauto checkFileChange = [this](ScintillaEditView* pEdit) {\r\n\r\n\t\t\tQString filePath = getFilePathProperty(pEdit);\r\n\r\n\t\t\tTCHAR* fullFileName = CharToWchar(filePath);\r\n\r\n\t\t\tDectFileChanges fileChanges;\r\n\t\t\tfileChanges.AddFile(fullFileName, FILE_NOTIFY_CHANGE_LAST_WRITE | FILE_NOTIFY_CHANGE_SIZE);\r\n\r\n\t\t\t//单独开启一个线程，去监控文件大小的变化\r\n\t\t\tHANDLE eventHandle = ::CreateEvent(nullptr, TRUE, FALSE, nullptr);\r\n\r\n\t\t\tHANDLE changeHandles[] = { eventHandle };\r\n\r\n\t\t\tbool toBeGoon = true;\r\n\r\n\t\t\twhile (toBeGoon)\r\n\t\t\t{\r\n\t\t\t\tDWORD waitStatus = ::WaitForMultipleObjects(_countof(changeHandles), changeHandles, FALSE, 1000);\r\n\t\t\t\tswitch (waitStatus)\r\n\t\t\t\t{\r\n\t\t\t\tcase WAIT_OBJECT_0 + 0:\r\n\t\t\t\t\t// User removes this folder or file browser is closed\r\n\t\t\t\t{\r\n\t\t\t\t\ttoBeGoon = false;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase WAIT_TIMEOUT:\r\n\t\t\t\t{\r\n\t\t\t\t\tif (fileChanges.DetectChanges())\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//这里不能直接更新，而是要发生信号出去。否则跨线程访问，可能发生错误或告警\r\n\t\t\t\t\t\t//pEdit->setProperty(Modify_Outside, QVariant(true));\r\n\t\t\t\t\t\t//checkRoladFile(pEdit);\r\n\t\t\t\t\t\tquint64 lastSize = 0;\r\n\t\t\t\t\t\tquint64 curSize = 0;\r\n\r\n\t\t\t\t\t\tfileChanges.getDiffFileSize(lastSize,curSize);\r\n\t\t\t\t\t\temit this->tailFileChange(pEdit, lastSize, curSize);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//如果退出监控。这里要注意，一定要是volidate的，否则多线程获取不到该变化\r\n\t\t\t\t\t//使用了原子变量，效果是一样的，多个线程均可见\r\n\t\t\t\t\tif (!(pEdit->m_isInTailStatus))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttoBeGoon = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase WAIT_IO_COMPLETION:\r\n\t\t\t\t\t// Nothing to do.\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tqDebug() << \"listen file quit ...\";\r\n\t\t\tfileChanges.Terminate();\r\n\t\t};\r\n\r\n\t\tconnect(this, &CCNotePad::tailFileChange, this, &CCNotePad::on_roladFile, Qt::QueuedConnection);\r\n\r\n\t\tpEdit->m_isInTailStatus = true;\r\n\r\n\t\tstd::thread* pListenThread = new std::thread(checkFileChange, pEdit);\r\n\r\n\t\tQVariant t((qlonglong)pListenThread);\r\n\t\tpEdit->setProperty(Tail_Thread, t);\r\n\r\n#endif // Q_OS_WIN\r\n\r\n\t}\r\n\telse\r\n\t{\r\n#ifdef Q_OS_WIN\r\n\t\tif (!pEdit->m_isInTailStatus)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n#endif\r\n\t\tsetFileTailProperty(pEdit, 0);\r\n\r\n#ifdef Q_OS_WIN\r\n\t\tpEdit->deleteTailFileThread();\r\n#endif\r\n\r\n\t\tpEdit->setReadOnly(false);\r\n\r\n#ifdef Q_OS_WIN\r\n\t\tdisconnect(this, &CCNotePad::tailFileChange, this, &CCNotePad::on_roladFile);\r\n#endif\r\n\t}\r\n}\r\n\r\n//实时开启文件变化tailf。20230218发现一个问题。\r\n//文件没有关闭，只是flush时，无法实时刷新。所有要在windows上单独监控文件大小改变\r\nvoid CCNotePad::on_tailfile(bool isOn)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\ttailfile(isOn, pEdit);\r\n}\r\n\r\nvoid CCNotePad::find(FindTabIndex findType)\r\n{\r\n\tinitFindWindow(findType);\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n#ifdef uos\r\n\tpFind->activateWindow();\r\n#endif\r\n\tpFind->showNormal();\r\n#ifdef uos\r\n\tadjustWInPos(pFind);\r\n#endif\r\n\r\n\tpFind->setFocus();\r\n\tpFind->setCurrentTab(findType);\r\n}\r\n\r\nvoid CCNotePad::slot_findInDir()\r\n{\r\n\tfind(DIR_FIND_TAB);\r\n}\r\n\r\nvoid CCNotePad::slot_find()\r\n{\r\n\tinitFindWindow(FIND_TAB);\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t//必须要激活一下，所谓激活就是让当前这个查找窗口，获取焦点，是所有窗口中的当前活动窗口\r\n    \tpFind->activateWindow();\r\n\tpFind->showNormal();\r\n#ifdef uos\r\n    adjustWInPos(pFind);\r\n#endif\r\n}\r\n\r\n//在后台查找关键字\r\nint CCNotePad::findAtBack(QStringList& keyword)\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\treturn pFind->findAtBack(keyword);\r\n\r\n}\r\n//在后台替换关键字\r\n\r\n//在后台批量替换关键字\r\nint CCNotePad::replaceAtBack(QStringList& keyword, QStringList& replace)\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\treturn pFind->replaceAtBack(keyword, replace);\r\n}\r\n\r\n//在后台高亮关键字\r\nint CCNotePad::markAtBack(QStringList& keyword)\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\treturn pFind->markAtBack(keyword);\r\n}\r\n\r\n//返回值：0 正常 1 选择自动为空\r\nint CCNotePad::initFindWindow(FindTabIndex type)\r\n{\r\n\tint ret = 0;\r\n\tFindWin* pFind = nullptr;\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tint docType = getDocTypeProperty(pw);\r\n\r\n\tif (m_pFindWin.isNull())\r\n\t{\r\n\t\tm_pFindWin = new FindWin(this);\r\n\t\tconnect(m_pFindWin,&QObject::destroyed,this,&CCNotePad::slot_saveSearchHistory);\r\n\r\n\t\tQByteArray lastGeo = NddSetting::getKeyByteArrayValue(FINDWINSIZE);\r\n\r\n\t\tif (!lastGeo.isEmpty())\r\n\t\t{\r\n\t\t\tm_pFindWin->restoreGeometry(lastGeo);\r\n\t\t}\r\n\r\n\t\tpFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\r\n\t\tif (s_findHistroy.isEmpty())\r\n\t\t{\r\n\t\t\t//从历史查找记录文件中加载\r\n\t\t\tQString searchHistory = QString(\"notepad/searchHistory\");//历史查找记录\r\n\t\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, searchHistory);\r\n\t\t\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\t\t\tif (qs.contains(\"keys\"))\r\n\t\t\t{\r\n\t\t\t\tQVariant history = qs.value(\"keys\", \"\");\r\n\t\t\t\ts_findHistroy = history.toStringList();\r\n\t\t\t}\r\n\t\t\tif (qs.contains(\"replace\"))\r\n\t\t\t{\r\n\t\t\t\tQVariant replaceHistory = qs.value(\"replace\", \"\");\r\n\t\t\t\ts_replaceHistroy = replaceHistory.toStringList();\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tpFind->setFindHistory(&s_findHistroy);\r\n\t\tpFind->setReplaceHistory(&s_replaceHistroy);\r\n\r\n\t\tpFind->setTabWidget(ui.editTabWidget);\r\n\r\n\t\tif((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t\t{\r\n\t\t\t//connect(pFind, &FindWin::sign_findAllInCurDoc, this, &CCNotePad::slot_showFindAllInCurDocResult);\r\n\t\t\tconnect(pFind, &FindWin::sign_findAllInOpenDoc, this, &CCNotePad::slot_showfindAllInOpenDocResult);\r\n\t\t\tconnect(pFind, &FindWin::sign_replaceSaveFile, this, &CCNotePad::slot_saveFile);\r\n\t\t\tconnect(pFind, &FindWin::sign_clearResult, this, &CCNotePad::slot_clearFindResult);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//二进制DOC只读，不许替换编辑。不在这里做，会导致编辑框回调。在FindWin里面去判断\r\n\t\t\t//pFind->disableReplace();\r\n\t\t}\r\n\t\t//注册一个ESC的退出按钮事件\r\n\t\t\t//设置查找的快捷键\r\n\t\tQShortcut *escSc = new QShortcut(m_pFindWin);\r\n\t\tescSc->setKey(QKeySequence(Qt::Key_Escape));\r\n\t\tescSc->setContext(Qt::WidgetWithChildrenShortcut);\r\n\t\tconnect(escSc, &QShortcut::activated, this, [this]() {m_pFindWin->close(); });\r\n\t}\r\n\telse\r\n\t{\r\n\t\tpFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t}\r\n\r\n\tpFind->setCurrentTab(type);\r\n\t\r\n\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t{\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr && pEdit->hasSelectedText())\r\n\t\t{\r\n\t\t\tQString text = pEdit->selectedText();\r\n\t\t\tif (FIND_TAB == type)\r\n\t\t\t{\r\n\t\t\tpFind->setFindText(text);\r\n\t\t\t\tpFind->keywordWinGetFouse(FIND_TAB);\r\n\r\n\t\t\t\t//如果字段比较短，则字段填充到替换中\r\n\t\t\t\tif (text.size() <= 60)\r\n\t\t\t\t{\r\n\t\t\t\t\tpFind->setReplaceFindText(text);\r\n\t\t}\r\n\t}\r\n\t\t\telse if (REPLACE_TAB == type)\r\n\t\t\t{\r\n\t\t\t\tpFind->setReplaceFindText(text);\r\n\t\t\t\tpFind->keywordWinGetFouse(REPLACE_TAB);\r\n\t\t\t\t//如果字段比较短，则字段填充到替换中\r\n\t\t\t\tif (text.size() <= 60)\r\n\t\t\t\t{\r\n\t\t\t\t\tpFind->setFindText(text);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (DIR_FIND_TAB == type)\r\n\t\t\t{\r\n\t\t\t\tpFind->setDirFindText(text);\r\n\t\t\t\tpFind->keywordWinGetFouse(DIR_FIND_TAB);\r\n\t\t\t}\r\n\t\t\telse if (MARK_TAB == type)\r\n\t\t\t{\r\n\t\t\t\tpFind->setMarkFindText(text);\r\n\t\t\t\tpFind->keywordWinGetFouse(MARK_TAB);\r\n\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tQString text;\r\n\t\t\tpFind->setFindText(text);\r\n\t\t\tpFind->setReplaceFindText(text);\r\n\t\t\tpFind->setDirFindText(text);\r\n\t\t\tret = 1;\r\n\t\t}\r\n\t}\r\n\telse if (HEX_TYPE == docType)\r\n\t{\r\n\t\tScintillaHexEditView* pEdit = dynamic_cast<ScintillaHexEditView*>(pw);\r\n\t\tif (pEdit != nullptr && pEdit->hasSelectedText())\r\n\t\t{\r\n\t\t\tQString text = pEdit->selectedText();\r\n\t\t\tpFind->setFindText(text);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tQString text;\r\n\t\t\tpFind->setFindText(text);\r\n\t\t\tret = 1;\r\n\t}\r\n}\r\n\treturn ret;\r\n}\r\n\r\n//保存历史查找记录\r\nvoid CCNotePad::slot_saveSearchHistory()\r\n{\r\n\t//从历史查找记录文件中加载\r\n\tQString searchHistory = QString(\"notepad/searchHistory\");//历史查找记录\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, searchHistory);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tif (s_findHistroy.count() > 15)\r\n\t{\r\n\t\ts_findHistroy = s_findHistroy.mid(0, 15);\r\n\t}\r\n\tqs.setValue(\"keys\", s_findHistroy);\r\n\r\n\tif (s_replaceHistroy.count() > 15)\r\n\t{\r\n\t\ts_replaceHistroy = s_replaceHistroy.mid(0, 15);\r\n\t}\r\n\tqs.setValue(\"replace\", s_replaceHistroy);\r\n\r\n\tqs.sync();\r\n}\r\n\r\nvoid CCNotePad::slot_replace()\r\n{\r\n\tinitFindWindow(REPLACE_TAB);\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\tpFind->activateWindow();\r\n\tpFind->showNormal();\r\n#ifdef uos\r\n    adjustWInPos(pFind);\r\n#endif\r\n}\r\n\r\n//标记高亮\r\nvoid CCNotePad::slot_markHighlight()\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\tpFind->setCurrentTab(MARK_TAB);\r\n\tpFind->activateWindow();\r\n\tpFind->showNormal();\r\n#ifdef uos\r\n    adjustWInPos(pFind);\r\n#endif\r\n}\r\n\r\n//取消所有标记高亮\r\nvoid CCNotePad::slot_clearMark()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tint docType = getDocTypeProperty(pw);\r\n\r\n\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t{\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tint docEnd = pEdit->length();\r\n\t\tfor (int i = 0; i < 5; ++i)\r\n\t\t{\r\n\t\t\tpEdit->execute(SCI_SETINDICATORCURRENT, SCE_UNIVERSAL_FOUND_STYLE_EXT5+i);\r\n\t\tpEdit->execute(SCI_INDICATORCLEARRANGE, 0, docEnd);\r\n\t\t}\r\n\t\tpEdit->releaseAllMark();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::clearHighlightWord(QString signWord, ScintillaEditView* pEdit)\r\n{\r\n\tif (pEdit == nullptr)\r\n\t{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\t\tpEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t\tif (HEX_TYPE == getDocTypeProperty(pw) || (pEdit == nullptr))\r\n\t\t{\r\n\t\treturn;\r\n\t}\r\n\t}\r\n\t\r\n\t\t//如果当前已经高亮，则取消高亮\r\n\t\tQList<FindRecords*>& curMarkRecord = pEdit->getCurMarkRecord();\r\n\r\n\t\tbool isClearMark = false;\r\n\r\n\t\tint i = 0;\r\n\t\tfor (; i < curMarkRecord.size(); ++i)\r\n\t\t{\r\n\t\t\tif (signWord == curMarkRecord.at(i)->findText)\r\n\t\t\t{\r\n\t\t\t\tisClearMark = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\tif (isClearMark)\r\n\t{\r\n\t\t//取消高亮\r\n\t\t\tFindRecords* r = curMarkRecord.at(i);\r\n\r\n\t\t\tpEdit->execute(SCI_SETINDICATORCURRENT, r->hightLightColor);\r\n\r\n\t\t\tfor (int j = 0; j < r->records.size(); ++j)\r\n\t\t\t{\r\n\t\t\t\tconst FindRecord& oneRecord = r->records.at(j);\r\n\t\t\t\tpEdit->execute(SCI_INDICATORCLEARRANGE, oneRecord.pos, oneRecord.end - oneRecord.pos);\r\n\t\t\t}\r\n\r\n\t\t\t//必须删除释放，否则内存泄露\r\n\t\t\tdelete r;\r\n\t\t\tcurMarkRecord.removeAt(i);\r\n\t}\r\n\t\t}\r\n\r\nvoid CCNotePad::slot_clearWordHighlight()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tint docType = getDocTypeProperty(pw);\r\n\tQString signWord;\r\n\tScintillaEditView* pEdit;\r\n\tint srcPostion = -1;\r\n\r\n\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t{\r\n\t\tpEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr && pEdit->hasSelectedText())\r\n\t\t{\r\n\t\t\tsignWord = pEdit->selectedText();\r\n\t\t}\r\n\t}\r\n\telse if (HEX_TYPE == docType)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (signWord.isEmpty())\r\n\t{\r\n\t\t//如果没有选择内容，则自动获取当前的单词，进行1个匹配。注意中文也是一样，检测到前后的空格，看做1个单词\r\n\t\tsrcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\t\tsignWord = pEdit->wordAtPosition(srcPostion);\r\n\t}\r\n\r\n\tif (!signWord.isEmpty())\r\n\t{\r\n\t\tclearHighlightWord(signWord, pEdit);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_wordHighlight()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tint docType = getDocTypeProperty(pw);\r\n\tQString signWord;\r\n\tScintillaEditView* pEdit;\r\n\tint srcPostion = -1;\r\n\r\n\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t{\r\n\t\tpEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr && pEdit->hasSelectedText())\r\n\t\t{\r\n\t\t\tsignWord = pEdit->selectedText();\r\n\t\t}\r\n\t}\r\n\telse if (HEX_TYPE == docType)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (signWord.isEmpty())\r\n\t{\r\n\t\t//如果没有选择内容，则自动获取当前的单词，进行1个匹配。注意中文也是一样，检测到前后的空格，看做1个单词\r\n\t\tsrcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\t\tsignWord = pEdit->wordAtPosition(srcPostion);\r\n\t}\r\n\r\n\tif (!signWord.isEmpty())\r\n\t{\r\n\t\t//如果当前已经高亮，则取消高亮\r\n\t\tQList<FindRecords*>& curMarkRecord = pEdit->getCurMarkRecord();\r\n\r\n\t\tbool isClearMark = false;\r\n\r\n\t\tint i = 0;\r\n\t\tfor (; i < curMarkRecord.size(); ++i)\r\n\t\t{\r\n\t\t\tif (signWord == curMarkRecord.at(i)->findText)\r\n\t\t\t{\r\n\t\t\t\tisClearMark = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbool isNeedReColor = false;\r\n\r\n\t\t//取消高亮\r\n\t\tif (isClearMark)\r\n\t\t{\r\n\t\t\tFindRecords* r = curMarkRecord.at(i);\r\n\t\t\tisNeedReColor = (r->hightLightColor != CCNotePad::s_curMarkColorId);\r\n\r\n\t\t\tpEdit->execute(SCI_SETINDICATORCURRENT, r->hightLightColor);\r\n\r\n\t\t\tfor (int j = 0; j < r->records.size(); ++j)\r\n\t\t\t{\r\n\t\t\t\tconst FindRecord& oneRecord = r->records.at(j);\r\n\t\t\t\tpEdit->execute(SCI_INDICATORCLEARRANGE, oneRecord.pos, oneRecord.end - oneRecord.pos);\r\n\t\t\t}\r\n\r\n\t\t\t//必须删除释放，否则内存泄露\r\n\t\t\tdelete r;\r\n\t\t\tcurMarkRecord.removeAt(i);\r\n\t\t}\r\n\r\n\t\t//如果就颜色和当前颜色不一样，则还需要重新高亮\r\n\t\tif(!isClearMark || isNeedReColor)\r\n\t\t{\r\n\t\t\t//反之高亮\r\n\t\t\tinitFindWindow();\r\n\t\t\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t\t\t//静默调用\r\n\t\t\tpFind->markAllWord(signWord);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\nvoid CCNotePad::slot_findResultPosChangeed(Qt::DockWidgetArea area)\r\n{\r\n\tNddSetting::updataKeyValueFromNumSets(FINDRESULTPOS,area);\r\n}\r\n\r\nvoid  CCNotePad::initFindResultDockWin()\r\n{\r\n\t//停靠窗口1\r\n\tif (m_dockSelectTreeWin == nullptr)\r\n\t{\r\n\r\n\t\tm_dockSelectTreeWin = new QDockWidget(tr(\"Find result\"), this);\r\n\t\tconnect(m_dockSelectTreeWin, &QDockWidget::dockLocationChanged, this, &CCNotePad::slot_findResultPosChangeed);\r\n\r\n\t\tm_dockSelectTreeWin->layout()->setMargin(0);\r\n\t\tm_dockSelectTreeWin->layout()->setSpacing(0);\r\n\r\n\t\t//暂时不提供关闭，因为关闭后需要同步菜单的check状态\r\n\r\n\t\tm_dockSelectTreeWin->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable);\r\n\t\tm_dockSelectTreeWin->setAllowedAreas(Qt::LeftDockWidgetArea| Qt::RightDockWidgetArea |Qt::BottomDockWidgetArea);\r\n\r\n\t\tm_pResultWin = new FindResultWin(m_dockSelectTreeWin);\r\n\t\t//connect(m_pResultWin, &FindResultWin::itemDoubleClicked, this, &CCNotePad::slot_findResultItemDoubleClick);\r\n\t\tconnect(m_pResultWin, &FindResultWin::lineDoubleClicked, this, &CCNotePad::on_findResultlineDoubleClick);\r\n\t\t\r\n\t\tconnect(m_pResultWin, &FindResultWin::showMsg, this, [this](QString& msg) {\r\n\t\t\tui.statusBar->showMessage(msg,5000);\r\n\t\t});\r\n\r\n\t\tm_dockSelectTreeWin->setWidget(m_pResultWin);\r\n\r\n\t\tint lastArea = NddSetting::getKeyValueFromNumSets(FINDRESULTPOS);\r\n\t\tif (lastArea == 0)\r\n\t\t{\r\n\t\t\tlastArea = Qt::BottomDockWidgetArea;\r\n\t}\r\n\r\n\t\taddDockWidget((Qt::DockWidgetArea)lastArea, m_dockSelectTreeWin);\r\n}\r\n\r\n}\r\n\r\n\r\n//双击查找结果，定位到对应的地方\r\nvoid CCNotePad::slot_findResultItemDoubleClick(const QModelIndex &index)\r\n{\r\n\t//如果点击的是父节点，父节点有ResultItemEditor，则跳转到对应的编辑框\r\n\tconst QModelIndex* item = &index;\r\n\r\n\t\tauto locationCurrentEdit = [this](const QModelIndex *rootItem)->ScintillaEditView* {\r\n\r\n\t\t\tQString filePath = rootItem->data(ResultItemEditorFilePath).toString();\r\n\r\n\t\tgetRegularFilePath(filePath);\r\n\r\n\t\tif (!rootItem->data(ResultItemEditor).isNull())\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = reinterpret_cast<ScintillaEditView*>(rootItem->data(ResultItemEditor).toLongLong());\r\n\r\n\t\t\t\t//这里如果是目录查找过来的，是没有pEdit的\r\n\t\t\t\tif (pEdit == nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tgoto foundInDir;\r\n\t\t\t\t}\r\n\r\n\t\t\t//当前已经在结果窗口上\r\n\t\t\tif (dynamic_cast<ScintillaEditView*>(ui.editTabWidget->currentWidget()) == pEdit)\r\n\t\t\t{\r\n\t\t\t\treturn pEdit;\r\n\t\t\t}\r\n\r\n\t\t\t//不在则遍历插值定位到\r\n\t\t\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t\t\t{\r\n\t\t\t\tScintillaEditView* pe = dynamic_cast<ScintillaEditView*>(ui.editTabWidget->widget(i));\r\n\t\t\t\tif (pEdit == pe)\r\n\t\t\t\t{\r\n\t\t\t\t\tui.editTabWidget->setCurrentIndex(i);\r\n\t\t\t\t\treturn pe;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfoundInDir:\r\n\t\t\t\t//遍历文件路径查找\r\n\t\t\t\t//不在则遍历插值定位到\r\n\t\t\t\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t\t\t\t{\r\n\t\t\t\t\tScintillaEditView* pe = dynamic_cast<ScintillaEditView*>(ui.editTabWidget->widget(i));\r\n\t\t\t\t\tif (filePath == getFilePathProperty(pe))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tui.editTabWidget->setCurrentIndex(i);\r\n\t\t\t\t\t\treturn pe;\r\n\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//还是没有找到，则新建打开文件\r\n\t\t\t\tif (openFile(filePath))\r\n\t\t\t\t{\r\n\t\t\t\t\tScintillaEditView*pEdit = dynamic_cast<ScintillaEditView*>(ui.editTabWidget->currentWidget());\r\n\t\t\t\t\treturn pEdit;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tui.statusBar->showMessage(tr(\"file %1 was not exists !\").arg(filePath), 5000);\r\n\t\tQApplication::beep();\r\n\t\treturn nullptr;\r\n\t};\r\n\r\n\t\tif (!item->data(ResultItemDesc).isNull())\r\n\t\t{\r\n\t\t//点击的是描述行\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t//点击的是查找的根节点\r\n\t\tif (!item->data(ResultItemEditor).isNull())\r\n\t{\r\n\t\tlocationCurrentEdit(item);\r\n\t}\r\n\telse if (!item->data(ResultItemPos).isNull())\r\n\t{\r\n\t\t//点击的是查找的结果项目\r\n\t\tQModelIndex rootItem = item->parent();\r\n\t\tScintillaEditView* pCurEdit = locationCurrentEdit(&rootItem);\r\n\t\tif(pCurEdit != nullptr)\r\n\t\t{\r\n\t\t\t//int findLens = rootItem.data(ResultWhatFind).toString().length();\r\n\t\t\t//发现是中文必须下面这样，不能直接取qstring长度\r\n\t\t\t//int findLens = rootItem.data(ResultWhatFind).toString().toUtf8().size();\r\n\r\n\t\t\tint pos = item->data(ResultItemPos).toInt();\r\n\t\t\tint len = item->data(ResultItemLen).toInt();\r\n\t\r\n\t\t\tpCurEdit->execute(SCI_SETSEL, pos, pos + len);\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n\r\n//双击文件leve=2的节点后，显示文件并定位到文件位置中去高亮\r\nvoid CCNotePad::on_findResultlineDoubleClick(QString* pFilePath, int pos, int end)\r\n{\r\n\tauto locationCurrentEdit = [this](QString filePath)->ScintillaEditView* {\r\n\r\n\t\tgetRegularFilePath(filePath);\r\n\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(ui.editTabWidget->currentWidget());\r\n\t\tif (pEdit != nullptr && (filePath == getFilePathProperty(pEdit)))\r\n\t\t{\r\n\t\t\treturn pEdit;\r\n\t\t}\r\n\r\n\t\t//不在则遍历插值定位到\r\n\t\tfor (int i = 0; i < ui.editTabWidget->count(); ++i)\r\n\t\t{\r\n\t\t\tpEdit = dynamic_cast<ScintillaEditView*>(ui.editTabWidget->widget(i));\r\n\t\t\tif (pEdit != nullptr && (filePath == getFilePathProperty(pEdit)))\r\n\t\t\t{\r\n\t\t\t\tui.editTabWidget->setCurrentIndex(i);\r\n\t\t\t\treturn pEdit;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//走到这里，说明文档已经关闭，不在当前打开框中\r\n\t\t//还是没有找到，则新建打开文件\r\n\t\tif (openFile(filePath))\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(ui.editTabWidget->currentWidget());\r\n\t\t\treturn pEdit;\r\n\t\t}\r\n\r\n\t\tui.statusBar->showMessage(tr(\"file %1 was not exists !\").arg(filePath), 5000);\r\n\t\tQApplication::beep();\r\n\t\treturn nullptr;\r\n\t};\r\n\r\n\tScintillaEditView* pCurEdit = locationCurrentEdit(*pFilePath);\r\n\tif (pCurEdit != nullptr)\r\n\t{\r\n\t\tpCurEdit->execute(SCI_SETSEL, pos, end);\r\n\t}\t\r\n}\r\n\r\n#if 0\r\nvoid CCNotePad::slot_showFindAllInCurDocResult(FindRecords* record)\r\n{\r\n\tinitFindResultDockWin();\r\n\r\n\tm_dockSelectTreeWin->setWindowTitle(tr(\"Find result - %1 hit\").arg(record->records.size()));\r\n\r\n\t//m_pResultWin->appendResultsToShow(record);\r\n\r\n\tm_dockSelectTreeWin->show();\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::slot_showfindAllInOpenDocResult(QVector<FindRecords*>* record, int hits, QString whatFind)\r\n{\r\n\tinitFindResultDockWin();\r\n\r\n\tm_dockSelectTreeWin->setWindowTitle(tr(\"Find result - %1 hit\").arg(hits));\r\n\r\n\tm_pResultWin->appendResultsToShow(record, hits, whatFind);\r\n\r\n\tm_dockSelectTreeWin->show();\r\n}\r\n\r\n//清空查找结果\r\nvoid CCNotePad::slot_clearFindResult()\r\n{\r\n\tinitFindResultDockWin();\r\n\tm_pResultWin->slot_clearAllContents();\r\n}\r\n\r\n\r\nvoid CCNotePad::slot_convertWinLineEnd(bool)\r\n{\r\n\tconvertDocLineEnd(DOS_LINE);\r\n}\r\n\r\nvoid CCNotePad::slot_convertUnixLineEnd(bool)\r\n{\r\n\tconvertDocLineEnd(UNIX_LINE);\r\n}\r\n\r\nvoid CCNotePad::slot_convertMacLineEnd(bool)\r\n{\r\n\tconvertDocLineEnd(MAC_LINE);\r\n}\r\n\r\n\r\nvoid CCNotePad::setDocEolMode(ScintillaEditView* pEdit, RC_LINE_FORM endStatus)\r\n{\r\n\tint eolMode = 0;\r\n\r\n\tswitch (endStatus)\r\n\t{\r\n\r\n\tcase UNIX_LINE:\r\n\t\teolMode = SC_EOL_LF;\r\n\t\tbreak;\r\n\tcase DOS_LINE:\r\n\t\teolMode = SC_EOL_CRLF;\r\n\t\tbreak;\r\n\tcase MAC_LINE:\r\n\t\teolMode = SC_EOL_CR;\r\n\t\tbreak;\r\n\tcase PAD_LINE:\r\n\tcase UNKNOWN_LINE:\r\n\tdefault:\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tint curCode = pEdit->execute(SCI_GETEOLMODE);\r\n\t\tif (curCode != eolMode)\r\n\t\t{\r\n\t\t\tpEdit->execute(SCI_SETEOLMODE, eolMode);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nbool CCNotePad::convertDocLineEnd(RC_LINE_FORM endStatus)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\r\n\tif (HEX_TYPE == getDocTypeProperty(pw))\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Only Text File Can Use it, Current Doc is a Hex File !\"), 10000);\r\n\t\tQApplication::beep();\r\n\t\treturn false;\r\n\t}\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr && pEdit->isReadOnly())\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), MSG_EXIST_TIME);\r\n\t\tQApplication::beep();\r\n\t\treturn false;\r\n\t}\r\n\r\n\tint eolMode = 0;\r\n\r\n\tswitch (endStatus)\r\n\t{\r\n\r\n\tcase UNIX_LINE:\r\n\t\teolMode = SC_EOL_LF;\r\n\t\tbreak;\r\n\tcase DOS_LINE:\r\n\t\teolMode = SC_EOL_CRLF;\r\n\t\tbreak;\r\n\tcase MAC_LINE:\r\n\t\teolMode = SC_EOL_CR;\r\n\t\tbreak;\r\n\tcase PAD_LINE:\r\n\tcase UNKNOWN_LINE:\r\n\tdefault:\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tint curCode = pEdit->execute(SCI_GETEOLMODE);\r\n\t\tif (curCode != eolMode)\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"Convert end of line In progress, please wait ...\"));\r\n\r\n\t\t\tpEdit->execute(SCI_SETEOLMODE, eolMode);\r\n\t\t\tpEdit->execute(SCI_CONVERTEOLS, eolMode);\r\n\r\n\t\t\tui.statusBar->showMessage(tr(\"Convert end of line finish.\"),5000);\r\n\r\n\t\t\tQVariant editTextEnd((int)endStatus);\r\n\t\t\tpEdit->setProperty(Edit_Text_End, editTextEnd);\r\n\r\n\t\t\tQVariant textChanged(true);\r\n\t\t\tpEdit->setProperty(Edit_Text_Change, textChanged);\r\n\r\n\t\t\tsetLineEndBarLabel(endStatus);\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n\r\nvoid CCNotePad::slot_gotoline()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tint lineCounts = 2147483647;\r\n\r\n\t\tbool ok;\r\n\t\tint num = QInputDialog::getInt(this, tr(\"Go to line\"), tr(\"Line Num:\"), 1, 1, lineCounts, 1, &ok);\r\n\t\tif (ok)\r\n\t\t{\r\n\r\n\t\t\tif (TXT_TYPE == getDocTypeProperty(pw))\r\n\t\t\t{\r\n\t\t\t\tpEdit->execute(SCI_GOTOLINE, num - 1);\r\n\t\t}\r\n\t\t\telse if (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))\r\n\t\t\t{\r\n\t\t\t\t//如果是大文本只读加载的，则逻辑不一样，需要根据行号定位到块，再定位到行\r\n\t\t\t\tint blockid = FileManager::getInstance().getBigFileBlockId(getFilePathProperty(pw), num - 1);\r\n\t\t\t\tif (blockid != -1)\r\n\t\t\t\t{\r\n\t\t\t\t\tBigTextEditFileMgr* mgr = FileManager::getInstance().getBigFileEditMgr(getFilePathProperty(pw));\r\n\t\t\t\t\tconst BlockIndex& v = mgr->blocks.at(blockid);\r\n\r\n\t\t\t\t\tshowBigTextFile(pEdit, mgr, blockid);\r\n\r\n\t\t\t\t\tint offsetLineNum = (num - v.lineNumStart);\r\n\r\n\t\t\t\t\tpEdit->execute(SCI_SETFIRSTVISIBLELINE, (long)offsetLineNum);\r\n\r\n\t\t\t\t\tpEdit->execute(SCI_GOTOLINE, offsetLineNum - 1);\r\n\t\t\t\t\t\r\n\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tBigTextEditFileMgr* mgr = FileManager::getInstance().getBigFileEditMgr(getFilePathProperty(pw));\r\n\t\t\t\t\tconst BlockIndex& v = mgr->blocks.last();\r\n\r\n\t\t\t\t\tQApplication::beep();\r\n\t\t\t\t\tui.statusBar->showMessage(tr(\"out of file line range,mar line num is %1 !\").arg(v.lineNum + v.lineNumStart -1));\r\n}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//超大文本不支持跳转行号，只支持跳转地址。先留着\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_show_line_end(bool checked)\r\n{\r\n\tint showblank = s_showblank;\r\n\t\tif (checked)\r\n\t\t{\r\n\t\tshowblank |= 0x2;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\tshowblank &= 0xd;\r\n\t\t}\r\n\tchangeBlankShowStatus(showblank);\r\n\t}\r\n\r\n\r\n\r\nvoid CCNotePad::slot_load_with_gbk()\r\n{\r\n\treloadTextFileWithCode(CODE_ID::GBK);\r\n}\r\n\r\nvoid CCNotePad::slot_load_with_utf8()\r\n{\r\n\treloadTextFileWithCode(CODE_ID::UTF8_NOBOM);\r\n}\r\n\r\nvoid CCNotePad::slot_load_with_utf8_bom()\r\n{\r\n\treloadTextFileWithCode(CODE_ID::UTF8_BOM);\r\n}\r\n\r\nvoid CCNotePad::slot_load_with_utf16_be()\r\n{\r\n\treloadTextFileWithCode(CODE_ID::UNICODE_BE);\r\n}\r\n\r\nvoid CCNotePad::slot_load_with_utf16_le()\r\n{\r\n\treloadTextFileWithCode(CODE_ID::UNICODE_LE);\r\n}\r\n\r\nvoid CCNotePad::slot_encode_gbk()\r\n{\r\n\ttransDocToEncord(GBK);\r\n}\r\n\r\nvoid CCNotePad::slot_encode_utf8()\r\n{\r\n\ttransDocToEncord(UTF8_NOBOM);\r\n}\r\n\r\nvoid CCNotePad::slot_encode_utf8_bom()\r\n{\r\n\ttransDocToEncord(UTF8_BOM);\r\n}\r\n\r\nvoid CCNotePad::slot_encode_utf16_be()\r\n{\r\n\ttransDocToEncord(UNICODE_BE);\r\n}\r\n\r\nvoid CCNotePad::slot_encode_utf16_le()\r\n{\r\n\ttransDocToEncord(UNICODE_LE);\r\n}\r\n\r\n//执行转换文档编码到指定编码\r\nvoid CCNotePad::transDocToEncord(CODE_ID destCode)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tint srcCode = pEdit->property(Edit_Text_Code).toInt();\r\n\t\tint newCode = static_cast<int>(destCode);\r\n\r\n\t\t//这里只是做了编码状态的修改，并没有及时落盘，修改为已修改状态。\r\n\t\t//等到文件保存时才执行\r\n\t\tif (srcCode != newCode)\r\n\t\t{\r\n\t\t\tsetCodeTypeProperty(pEdit, (int)newCode);\r\n\r\n\t\t\tsetTextChangeProperty(pEdit, true);\r\n\r\n\t\t\tui.editTabWidget->setTabIcon(ui.editTabWidget->currentIndex(), QIcon(TabNeedSave));\r\n\r\n\t\t\tsetSaveButtonStatus(true);\r\n\t\t\tsetSaveAllButtonStatus(true);\r\n\r\n\t\t\tsyncCurDocEncodeToMenu(pw);\r\n\r\n\t\t\tsetCodeBarLabel(static_cast<CODE_ID>(newCode));\r\n\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//同步当前文档的编码状态到菜单的Encode中。即每次切换当前编辑后，菜单上面的编码状态要同步\r\nvoid CCNotePad::syncCurDocEncodeToMenu(QWidget* curEdit)\r\n{\r\n\tif (curEdit != nullptr)\r\n\t{\r\n\t\tint srcCode = curEdit->property(Edit_Text_Code).toInt();\r\n\r\n\t\tswitch (srcCode)\r\n\t\t{\r\n\t\tcase GBK:\r\n\t\t\tui.actionencode_in_GBK->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase UTF8_NOBOM:\r\n\t\t\tui.actionencode_in_uft8->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase UTF8_BOM:\r\n\t\t\tui.actionencode_in_UTF8_BOM->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase UNICODE_BE:\r\n\t\t\tui.actionencode_in_UCS_BE_BOM->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase UNICODE_LE:\r\n\t\t\tui.actionencode_in_UCS_2_LE_BOM->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase BIG5:\r\n\t\t\tui.actionBig5->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//同步当前的tailf状态\r\nvoid CCNotePad::syncCurDocTailfToMenu(QWidget* curEdit)\r\n{\r\n\tm_tailf->setChecked(1 == getFileTailProperty(curEdit));\r\n}\r\n\r\n//同步当前文档的编码状态到菜单的Encode中。即每次切换当前编辑后，菜单上面的编码状态要同步\r\nvoid CCNotePad::syncCurDocLineEndStatusToMenu(QWidget* curEdit)\r\n{\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(curEdit);\r\n\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tint curCode = pEdit->execute(SCI_GETEOLMODE);\r\n\t\tswitch (curCode)\r\n\t\t{\r\n\t\tcase SC_EOL_CRLF:\r\n\t\t\tui.actionconver_windows_CR_LF->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase SC_EOL_LF:\r\n\t\t\tui.actionconvert_Unix_LF->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tcase SC_EOL_CR:\r\n\t\t\tui.actionconvert_Mac_CR->setChecked(true);\r\n\t\t\tbreak;\r\n\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//同步当前的编程语言到menu中\r\nvoid CCNotePad::syncCurDocLexerToMenu(QWidget* pw)\r\n{\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQsciLexer * lexer = pEdit->lexer();\r\n\tif (lexer != nullptr)\r\n\t{\r\n\t\tQString lexerName(lexer->lexerTag());\r\n\r\n\t\tif (m_lexerNameToIndex.contains(lexerName))\r\n\t\t{\r\n\t\t\tm_lexerNameToIndex.value(lexerName).pAct->setChecked(true);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tm_lexerNameToIndex.value(\"UserDefine\").pAct->setChecked(true);\r\n\t\t}\r\n\t\tsetLangsDescLable(lexerName);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.actionTxt->setChecked(true);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::cmpSelectFile()\r\n{\r\n\t//此部分是对比软件的商业代码，开源版本不包含对比功能。\r\n\r\n}\r\n\r\nvoid CCNotePad::slot_compareFile()\r\n{\r\n\t//此部分是对比软件的商业插件代码，开源版本不包含对比功能。\r\n}\r\n\r\nvoid CCNotePad::slot_compareDir()\r\n{\r\n\t//此部分是对比软件的商业插件代码，开源版本不包含对比功能。\r\n}\r\n\r\nvoid CCNotePad::slot_binCompare()\r\n{\r\n\t//此部分是对比软件的商业插件代码，开源版本不包含对比功能。\r\n}\r\n\r\n\r\nvoid CCNotePad::slot_preHexPage()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr && (TXT_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (!pEdit->gotoPrePos())\r\n\t\t{\r\n\t\t\tQApplication::beep();\r\n\t\t\tui.statusBar->showMessage(tr(\"no more pre pos\"));\r\n\t\t}\r\n\t}\r\n\telse if (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tHexFileMgr *fileMgr = nullptr;\r\n\t\t//只有0才是成功\r\n\t\tif (0 == FileManager::getInstance().loadFilePreNextPage(1, filePath, fileMgr))\r\n\t\t{\r\n\t\t\tScintillaHexEditView* pEdit = dynamic_cast<ScintillaHexEditView*>(pw);\r\n\t\t\tshowHexFile(pEdit, fileMgr);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tQApplication::beep();\r\n\t}\r\n\t}\r\n\telse if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tTextFileMgr *fileMgr = nullptr;\r\n\t\t//只有0才是成功\r\n\t\tif (0 == FileManager::getInstance().loadFilePreNextPage(1, filePath, fileMgr))\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tshowBigTextFile(pEdit, fileMgr);\r\n\t\t\tpEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset);\r\n\t}\r\n\t}\r\n\telse if (pw != nullptr && (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tBigTextEditFileMgr* fileMgr = FileManager::getInstance().getBigFileEditMgr(filePath);\r\n\t\tif(fileMgr != nullptr)\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\t\r\n\t\t\tint id = fileMgr->m_curBlockIndex - 1;\r\n\t\t\tshowBigTextFile(pEdit, fileMgr, id);\r\n}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_nextHexPage()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\r\n\tif (pw != nullptr && (TXT_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (!pEdit->gotoNextPos())\r\n\t\t{\r\n\t\t\tQApplication::beep();\r\n\t\t\tui.statusBar->showMessage(tr(\"no more next pos\"));\r\n\t\t}\r\n\t}\r\n\telse if (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tHexFileMgr *fileMgr = nullptr;\r\n\r\n\t\t//只有0才是成功\r\n\t\tint ret = FileManager::getInstance().loadFilePreNextPage(2, filePath, fileMgr);\r\n\t\tif (0 == ret)\r\n\t\t{\r\n\t\t\tScintillaHexEditView* pEdit = dynamic_cast<ScintillaHexEditView*>(pw);\r\n\t\t\tshowHexFile(pEdit, fileMgr);\r\n\t\t\t//ui.statusBar->showMessage(tr(\"Current offset is %1 , File Size is %2\").arg(fileMgr->fileOffset).arg(fileMgr->fileSize));\r\n\t\t}\r\n\t\telse if (1 == ret)\r\n\t\t{\r\n\t\t\tui.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));\r\n\t\t\tQApplication::beep();\r\n\t\t}\r\n\t}\r\n\telse if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tTextFileMgr *fileMgr = nullptr;\r\n\t\t//只有0才是成功\r\n\t\tint ret = FileManager::getInstance().loadFilePreNextPage(2, filePath, fileMgr);\r\n\t\tif (0 == ret)\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tshowBigTextFile(pEdit, fileMgr);\r\n\t\t\tpEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset);\r\n\t}\r\n\t\telse if (1 == ret)\r\n\t\t{\r\n\t\t\tui.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));\r\n\t\t\tQApplication::beep();\r\n\t\t}\r\n\t}\r\n\telse if (pw != nullptr && (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tBigTextEditFileMgr* fileMgr = FileManager::getInstance().getBigFileEditMgr(filePath);\r\n\t\tif (fileMgr != nullptr)\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\t\t\tint id = fileMgr->m_curBlockIndex + 1;\r\n\t\t\tshowBigTextFile(pEdit, fileMgr, id);\r\n}\r\n\t}\r\n}\r\n\r\n//菜单上面的GOTO按钮的执行槽函数\r\nvoid CCNotePad::slot_gotoHexPage()\r\n{\r\n\tif (m_pHexGotoWin.isNull())\r\n\t{\r\n\t\tm_pHexGotoWin = new HexFileGoto(this);\r\n\t\tm_pHexGotoWin->setWindowFlag(Qt::Window);\r\n\r\n\t\tHexFileGoto* pHexGoto = dynamic_cast<HexFileGoto*>(m_pHexGotoWin.data());\r\n\r\n\t\tpHexGoto->setAttribute(Qt::WA_DeleteOnClose);\r\n\r\n\t\tconnect(pHexGoto, &HexFileGoto::gotoClick, this, &CCNotePad::slot_hexGotoFile);\r\n\r\n\t\tregisterEscKeyShort(m_pHexGotoWin);\r\n\t}\r\n\t\r\n\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\tm_pHexGotoWin.data()->activateWindow();\r\n\tm_pHexGotoWin.data()->show();\r\n\r\n#ifdef uos\r\n    adjustWInPos(m_pHexGotoWin.data());\r\n#endif\r\n\t}\r\n\telse if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tm_pHexGotoWin.data()->activateWindow();\r\n\t\tm_pHexGotoWin.data()->show();\r\n\r\n#ifdef uos\r\n\t\tadjustWInPos(m_pHexGotoWin.data());\r\n#endif\r\n\t}\r\n\telse if (pw != nullptr && (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\t//这里直接按跳转到行号进行处理\r\n\t\tslot_gotoline();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Only Hex File Can Use it, Current Doc not a Hex File !\"), 10000);\r\n\t\tQApplication::beep();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_hexGotoFile(qint64 addr)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tif (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tHexFileMgr *fileMgr = nullptr;\r\n\t\t//只有0才是成功\r\n\r\n\t\tif (addr < 0)\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"Error file offset addr , please check !\"), MSG_EXIST_TIME);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tint ret = FileManager::getInstance().loadFileFromAddr(filePath, addr, fileMgr);\r\n\t\tif (0 == ret)\r\n\t\t{\r\n\t\t\tScintillaHexEditView* pEdit = dynamic_cast<ScintillaHexEditView*>(pw);\r\n\t\t\tshowHexFile(pEdit, fileMgr);\r\n\t\t}\r\n\t\telse if (-2 == ret)\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"File Size is %1, addr %2 is exceeds file size\").arg(fileMgr->fileSize).arg(addr));\r\n\t\t\tQApplication::beep();\r\n\t\t}\r\n\t}\r\n\telse if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)))\r\n\t{\r\n\t\tQString filePath = getFilePathProperty(pw);\r\n\t\tTextFileMgr *fileMgr = nullptr;\r\n\t\t//只有0才是成功\r\n\r\n\t\tif (addr < 0)\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"Error file offset addr , please check !\"), MSG_EXIST_TIME);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tint ret = FileManager::getInstance().loadFileFromAddr(filePath, addr, fileMgr);\r\n\t\tif (0 == ret)\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tshowBigTextFile(pEdit, fileMgr);\r\n\t\t\tpEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset);\r\n\t\t}\r\n\t\telse if (-2 == ret)\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"File Size is %1, addr %2 is exceeds file size\").arg(fileMgr->fileSize).arg(addr));\r\n\t\t\tQApplication::beep();\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Current Text Doc Can Not Use it !\"), 10000);\r\n\t\tQApplication::beep();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_about()\r\n{\r\n\tQMessageBox msgBox(this);\r\n\tQString msg = tr(R\"(\r\n<a href=\"https://gitee.com/cxasm/notepad--\">https://gitee.com/cxasm/notepad--</a>\r\n\t\t<br/>\r\n<a href=\"https://github.com/cxasm/notepad--\">https://github.com/cxasm/notepad--</a>\r\n\t)\");\r\n\r\n#if defined (Q_OS_MAC)\r\n\tmsgBox.setText(msg);\r\n\tmsgBox.setDetailedText(QString(\"Notepad-- %1\").arg(VersionStr));\r\n#else\r\n\tmsgBox.setWindowTitle(QString(\"Notepad-- %1\").arg(VersionStr));\r\n\tmsgBox.setText(msg);\r\n#endif\r\n\r\n\tmsgBox.exec();\r\n}\r\n\r\nvoid CCNotePad::slot_aboutNdd()\r\n{\r\n\tAboutNdd* pWin = new AboutNdd(this);\r\n\tpWin->setWindowFlag(Qt::Window);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tQString title = tr(\"Notepad-- Version %1\").arg(VersionStr);\r\n\tpWin->setWindowTitle(title);\r\n\tpWin->appendText(title);\r\n\tint status = NddSetting::getKeyValueFromNumSets(SOFT_STATUS);\r\n\tif (1 == status)\r\n\t{\r\n\t\tpWin->appendText(tr(\"Registered Version\"));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tpWin->appendText(tr(\"Free Trial\"));\r\n\t}\r\n\tpWin->show();\r\n\tregisterEscKeyShort(pWin);\r\n#ifdef uos\r\n\tadjustWInPos(pWin);\r\n#endif\r\n}\r\n\r\nvoid CCNotePad::addWatchFilePath(QString filePath)\r\n{\r\n\tgetRegularFilePath(filePath);\r\n\tm_fileWatch->addPath(filePath);\r\n}\r\n\r\nvoid CCNotePad::removeWatchFilePath(QString filePath)\r\n{\r\n\tgetRegularFilePath(filePath);\r\n\tm_fileWatch->removePath(filePath);\r\n}\r\n\r\nvoid CCNotePad::dragEnterEvent(QDragEnterEvent* event)\r\n{\r\n\tif (event->mimeData()->hasFormat(\"text/uri-list\")) //只能打开文本文件\r\n\t{\r\n\t\tevent->accept(); //可以在这个窗口部件上拖放对象\r\n\t}\r\n\telse\r\n\t{\r\n\t\tevent->ignore();\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::receiveEditDrop(QDropEvent* e)\r\n{\r\n\tdropEvent(e);\r\n}\r\n\r\nvoid CCNotePad::dropEvent(QDropEvent* e)\r\n{\r\n\tQList<QUrl> urls = e->mimeData()->urls();\r\n\tif (urls.isEmpty())\r\n\t\treturn;\r\n\r\n\tfor (int i = 0; i < urls.size(); ++i)\r\n\t{\r\n\t\tQString fileName = urls.at(i).toLocalFile();\r\n\r\n\tif (fileName.isEmpty())\r\n\t{\r\n\t\t\t\tcontinue;\r\n\t}\r\n\r\n\tif (!QFile::exists(fileName))\r\n\t{\r\n\t\t\t\tcontinue;\r\n\t}\r\n\r\n\t\tQFileInfo fi(fileName);\r\n\r\n\t\tif (!fi.isFile())\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"%1 is not a file, skip open it...\").arg(fileName));\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\topenFile(fileName);\r\n\t}\r\n\t\r\n\te->accept();\r\n}\r\n\r\nvoid CCNotePad::dragLeaveEvent(QDragLeaveEvent* event)\r\n{\r\n\tqDebug() << \"drag level\";\r\n}\r\n\r\n//目前只有一个Tabwidget的双击事件。\r\nbool CCNotePad::eventFilter(QObject * watched, QEvent * event)\r\n{\r\n\tswitch (event->type())\r\n\t{\r\n\tcase QEvent::MouseButtonDblClick:\r\n\t\tif (watched == ui.editTabWidget)\r\n\t\t{\r\n\t\tslot_actionNewFile_toggle(true);\r\n\t\tm_saveFile->setEnabled(false);\r\n\t\treturn true; // 注意这里一定要返回true，表示你要过滤该事件原本的实现\r\n\t}\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n}\r\n\treturn QObject::eventFilter(watched, event);;\r\n}\r\n\r\n#ifdef Q_OS_WIN\r\nstatic const ULONG_PTR CUSTOM_TYPE = 10000;\r\nstatic const ULONG_PTR OPEN_NOTEPAD_TYPE = 10001;\r\nstatic const ULONG_PTR CUSTOM_TYPE_FILE_LINENUM = 10002;\r\n\r\nbool CCNotePad::nativeOpenfile(QString openFilePath)\r\n{\r\n\tint retIndex = findFileIsOpenAtPad(openFilePath);\r\n\tif (-1 == retIndex)\r\n\t{\r\n\t\topenFile(openFilePath);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"file %1 already open at tab %2\").arg(openFilePath).arg(retIndex));\r\n\t\tui.editTabWidget->setCurrentIndex(retIndex);\r\n\t}\r\n\t//窗口如果最小化，则在任务栏下面闪动\r\n\tQApplication::alert(this);\r\n\r\n\t//发现在release模式下，必须要先最小再最大，窗口才能跑到最前面。而调试时则没有该现象。可能是哪里有个问题。\r\n\tif (!this->isMinimized())\r\n\t{\r\n\t\tthis->showMinimized();\r\n\t}\r\n\r\n\tif (this->isMaximized())\r\n\t{\r\n\t\tthis->showMaximized();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tthis->showNormal();\r\n\t}\r\n\r\n\tthis->activateWindow();\r\n\treturn true;\r\n}\r\nbool CCNotePad::nativeEvent(const QByteArray & eventType, void * message, long * result)\r\n{\r\n\tMSG *param = static_cast<MSG *>(message);\r\n\r\n\tswitch (param->message)\r\n\t{\r\n\t\tcase WM_COPYDATA:\r\n\t\t{\r\n\t\t\tCOPYDATASTRUCT *cds = reinterpret_cast<COPYDATASTRUCT*>(param->lParam);\r\n\t\t\t\r\n\t\t\tif (cds->dwData == CUSTOM_TYPE)\r\n\t\t\t{\r\n\t\t\t\tQString openFilePath = QString::fromUtf8(reinterpret_cast<char*>(cds->lpData), cds->cbData);\r\n\t\t\t\tnativeOpenfile(openFilePath);\r\n\t\t\t\t*result = 1;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse if (cds->dwData == OPEN_NOTEPAD_TYPE)\r\n\t\t\t{\r\n\t\t\t\tactivateWindow();\r\n\t\t\t\tQApplication::alert(this);\r\n\r\n\t\t\t\t*result = 1;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse if (cds->dwData == CUSTOM_TYPE_FILE_LINENUM)\r\n\t\t\t{\r\n\t\t\t\tQString openFilePath = QString::fromUtf8(reinterpret_cast<char*>(cds->lpData), cds->cbData);\r\n\t\t\t\tQStringList paraList = openFilePath.split(\"|\");\r\n\t\t\t\tif (paraList.size() == 2)\r\n\t\t\t\t{\r\n\t\t\t\t\tnativeOpenfile(paraList.at(0));\r\n\t\t\t\t\tbool ok = true;\r\n\t\t\t\t\tint lineNum = paraList.at(1).toInt(&ok);\r\n\t\t\t\t\tif (ok)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\t\t\t\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\t\t\t\tif (pEdit != nullptr)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpEdit->execute(SCI_GOTOLINE, lineNum - 1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t*result = 1;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn QWidget::nativeEvent(eventType, message, result);\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::slot_batch_convert()\r\n{\r\n\tEncodeConvert* newWin = new EncodeConvert(nullptr);\r\n\tnewWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tnewWin->setWindowModality(Qt::ApplicationModal);\r\n\tnewWin->show();\r\n\tregisterEscKeyShort(newWin);\r\n#ifdef uos\r\n    adjustWInPos(newWin);\r\n#endif\r\n}\r\n\r\n//批量改名\r\nvoid CCNotePad::slot_batch_rename()\r\n{\r\n\tReNameWin* newWin = new ReNameWin(nullptr);\r\n\tnewWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tnewWin->setWindowModality(Qt::ApplicationModal);\r\n\tnewWin->show();\r\n\tregisterEscKeyShort(newWin);\r\n#ifdef uos\r\n    adjustWInPos(newWin);\r\n#endif\r\n}\r\n\r\nvoid CCNotePad::slot_options()\r\n{\r\n\tOptionsView* p = nullptr;\r\n\r\n\tif (m_optionsView.isNull())\r\n\t{\r\n\t\tm_optionsView = new OptionsView(this, this);\r\n\t\tm_optionsView->setWindowFlag(Qt::Window);\r\n\t\tm_optionsView->setAttribute(Qt::WA_DeleteOnClose);\r\n\r\n\t\tp = dynamic_cast<OptionsView*>(m_optionsView.data());\r\n\tconnect(p, &OptionsView::sendTabFormatChange, this, &CCNotePad::slot_tabFormatChange);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tp = dynamic_cast<OptionsView*>(m_optionsView.data());\r\n\t}\r\n\r\n\tp->show();\r\n\tregisterEscKeyShort(p);\r\n#ifdef uos\r\n    adjustWInPos(p);\r\n#endif\r\n}\r\n\r\n#if 0\r\n//默认TXT文本的字体发生了变化\r\nvoid CCNotePad::slot_txtFontChange(QFont &font)\r\n{\r\n\tQsciLexerText::setGlobalDefaultFont(font);\r\n\r\n\ts_txtFont = font;\r\n\r\n\tQWidget* pw = nullptr;\r\n\tQsciLexer* lexer = nullptr;\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tpw = ui.editTabWidget->widget(i);\r\n\t\tint docType = getDocTypeProperty(pw);\r\n\r\n\t\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType))\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tif (pEdit != nullptr )\r\n\t\t\t{\r\n\t\t\t\tlexer = pEdit->lexer();\r\n\r\n\t\t\t\tif (lexer != nullptr && (lexer->lexerId() == L_TXT))\r\n\t\t\t\t{\r\n\t\t\t\t\tQsciLexerText* t = dynamic_cast<QsciLexerText*>(lexer);\r\n\t\t\t\t\tif (t != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tt->setFont(font, 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n#endif\r\n\r\n#if 0\r\n//默认编程语言的文本的字体发生了变化\r\nvoid CCNotePad::slot_proLangFontChange(QFont &font)\r\n{\r\n\tQsciLexer::setProLangeDefaultFont(font);\r\n\r\n\ts_proLangFont = font;\r\n\r\n\tQWidget* pw = nullptr;\r\n\tQsciLexer* lexer = nullptr;\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tpw = ui.editTabWidget->widget(i);\r\n\t\tint docType = getDocTypeProperty(pw);\r\n\r\n\t\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType))\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tif (pEdit != nullptr)\r\n\t\t\t{\r\n\t\t\t\tlexer = pEdit->lexer();\r\n\r\n\t\t\t\tif (lexer != nullptr && (lexer->lexerId() != L_TXT))\r\n\t\t\t\t{\r\n\t\t\t\t\t//这里还是有些问题，把所有的字体大小全部修改了。而没有只针对默认字体。\r\n\t\t\t\t\tlexer->setFont(font, -1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n#endif\r\n\r\n//tab长度或者使用空格替换tab发生了变化\r\nvoid CCNotePad::slot_tabFormatChange(bool tabLenChange, bool useTabChange)\r\n{\r\n\tQWidget* pw = nullptr;\r\n\tint docType = 0;\r\n\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tpw = ui.editTabWidget->widget(i);\r\n\t\tdocType = getDocTypeProperty(pw);\r\n\r\n\t\tif ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType))\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tif (pEdit != nullptr)\r\n\t\t\t{\r\n\t\t\t\tif (tabLenChange)\r\n\t\t\t\t{\r\n\t\t\t\t\tpEdit->execute(SCI_SETTABWIDTH, ScintillaEditView::s_tabLens);\r\n\t\t\t\t}\r\n\t\t\t\tif (useTabChange)\r\n\t\t\t\t{\r\n\t\t\t\t\tpEdit->setIndentationsUseTabs(!ScintillaEditView::s_noUseTab);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_donate()\r\n{\r\n\tDonate* pWin = new Donate(this);\r\n\tpWin->setWindowFlag(Qt::Window);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tpWin->show();\r\n\tregisterEscKeyShort(pWin);\r\n\r\n#ifdef uos\r\n    adjustWInPos(pWin);\r\n#endif\r\n}\r\n\r\n// void CCNotePad::slot_registerCmd(int cmd, int code)\r\n// {\r\n//\tif (cmd == 1)\r\n//\t{\r\n//\t\t//服务器返回注册码的消息。\t//0 试用 1 正版 2 正版过期 3 错误key\r\n//\t\tint status = NddSetting::getKeyValueFromNumSets(SOFT_STATUS);\r\n//\t\tif (status != code)\r\n//\t\t{\r\n//\t\t\tNddSetting::updataKeyValueFromNumSets(SOFT_STATUS, code);\r\n//\t\t}\r\n//\r\n//\t\temit signRegisterReplay(code);\r\n//\t}\r\n//}\r\n\r\n//获取注册码\r\n//void CCNotePad::slot_register()\r\n//{\r\n//}\r\n\r\n//当前正在使用的所有语言的tags\r\nvoid CCNotePad::getCurUseLexerTags(QVector<QString>& tags)\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr && (pEdit->lexer() != nullptr))\r\n\t\t{\r\n\t\t\tQString v = pEdit->lexer()->lexerTag();\r\n\r\n\t\t\tif (-1 == tags.indexOf(v))\r\n\t\t\t{\r\n\t\t\t\ttags.append(v);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nQtLangSet* CCNotePad::getLangSet()\r\n{\r\n\tslot_langFormat();\r\n\treturn dynamic_cast<QtLangSet*>(m_langSetWin.data());\r\n}\r\n\r\nvoid CCNotePad::slot_langFormat()\r\n{\r\n\tQString initTag;\r\n\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr && (pEdit->lexer() != nullptr))\r\n\t{\r\n\t\tinitTag = pEdit->lexer()->lexerTag();\r\n\t}\r\n\tQtLangSet* pWin = nullptr;\r\n\r\n\tif (m_langSetWin.isNull())\r\n\t{\r\n\t\tm_langSetWin = new QtLangSet(initTag, this);\r\n\t\tpWin = dynamic_cast<QtLangSet*>(m_langSetWin.data());\r\n\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tconnect(pWin, &QtLangSet::viewStyleChange, this, &CCNotePad::slot_viewStyleChange);\r\n\tconnect(pWin, &QtLangSet::viewLexerChange, this, &CCNotePad::slot_viewLexerChange);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tpWin = dynamic_cast<QtLangSet*>(m_langSetWin.data());\r\n\t}\r\n\tpWin->show();\r\n\tregisterEscKeyShort(pWin);\r\n#ifdef uos\r\n    adjustWInPos(pWin);\r\n#endif\r\n\tpWin->selectInitLangTag(initTag);\r\n}\r\n\r\nvoid CCNotePad::slot_viewStyleChange(QString tag, int styleId, QColor& fgColor, QColor& bkColor, QFont& font, bool fontChange)\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr && (pEdit->lexer() != nullptr))\r\n\t\t{\r\n\t\t\tQsciLexer* lexer = pEdit->lexer();\r\n\r\n\t\t\tif (lexer->lexerTag() == tag)\r\n\t\t\t{\r\n\t\t\t\tif (fgColor.isValid())\r\n\t\t\t\t{\r\n\t\t\t\t\tlexer->setColor(fgColor, styleId);\r\n\t\t\t\t}\r\n\t\t\t\tif (bkColor.isValid())\r\n\t\t\t\t{\r\n\t\t\t\t\tlexer->setPaper(bkColor, styleId);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (fontChange)\r\n\t\t\t\t{\r\n\t\t\t\t\tlexer->setFont(font, styleId);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_viewLexerChange(QString tag)\r\n{\r\n\tint lexerId = -1;\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr && (pEdit->lexer() != nullptr))\r\n\t\t{\r\n\t\t\tQsciLexer* lexer = pEdit->lexer();\r\n\r\n\t\t\t\r\n\t\t\tif (lexer != nullptr && lexer->lexerTag() == tag)\r\n\t\t\t{\r\n\t\t\t\tlexerId = lexer->lexerId();\r\n\t\t\t\tdelete lexer;\r\n\t\t\t\tautoSetDocLexer(pEdit, lexerId);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//1:非脏新建文件(干净新文件）\r\nvoid CCNotePad::restoreCleanNewFile(QString& fileName)\r\n{\r\n\tint index = FileManager::getInstance().getNextNewFileId();\r\n\tnewTxtFile(fileName, index);\r\n\r\n\tm_saveFile->setEnabled(false);\r\n}\r\n\r\n//2 非脏的老文件,直接打开\r\nvoid CCNotePad::restoreCleanExistFile(QString& filePath)\r\n{\r\n\topenTextFile(filePath);\r\n\tm_saveFile->setEnabled(false);\r\n}\r\n\r\n//3 脏的新建文件。内容在tempFilePath中\r\nvoid CCNotePad::restoreDirtyNewFile(QString& fileName, QString& tempFilePath, int lexid)\r\n{\r\n\tint index = FileManager::getInstance().getNextNewFileId();\r\n\tScintillaEditView* pEdit = newTxtFile(fileName, index, tempFilePath);\r\n\tif (lexid != L_TXT)\r\n\t{\r\n\t\tQsciLexer* lexer = pEdit->createLexer(lexid);\r\n\t\tif (lexer != nullptr)\r\n\t\t{\r\n\t\t\tif (nullptr != pEdit->lexer())\r\n\t\t\t{\r\n\t\t\t\tdelete pEdit->lexer();\r\n\t\t\t}\r\n\r\n\t\t\tpEdit->setLexer(lexer);\r\n\t\t\tsyncCurDocLexerToMenu(pEdit);\r\n\t\t}\r\n\t}\r\n\tsetTextChangeProperty(pEdit,true);\r\n\tm_saveFile->setEnabled(true);\r\n\tm_saveAllFile->setEnabled(true);\r\n\r\n\tint tabIndex = ui.editTabWidget->indexOf(pEdit);\r\n\tif (tabIndex != -1)\r\n\t{\r\n\t\tui.editTabWidget->setTabIcon(tabIndex, QIcon(TabNeedSave));\r\n}\r\n}\r\n\r\n//4 脏的老文件。内容在tempFilePath中\r\nbool CCNotePad::restoreDirtyExistFile(QString& filePath, QString& tempFilePath)\r\n{\r\n\tgetRegularFilePath(filePath);\r\n\r\n#if 0 //这里不需要判断了，大文件压根不能编辑，没有保存临时文件的说法\r\n\tQFileInfo fi(tempFilePath);\r\n\t//如果文件大于300M,按照只读文件打开\r\n\tif (ScintillaEditView::s_bigTextSize <= 0 || ScintillaEditView::s_bigTextSize > 300)\r\n\t{\r\n\t\tScintillaEditView::s_bigTextSize = 100;\r\n\t}\r\n\r\n\tif (fi.size() > ScintillaEditView::s_bigTextSize * 1024 * 1024)\r\n\t{\r\n\t\treturn openBigTextFile(tempFilePath);\r\n\t}\r\n#endif\r\n\tQFileInfo fi(filePath);\r\n\tQString fileLabel(fi.fileName());\r\n\r\n\tScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument();\r\n\tpEdit->setNoteWidget(this);\r\n\t//必须要在editTabWidget->addTab之前，因为一旦add时会出发tabchange，其中没有doctype会导致错误\r\n\tsetDocTypeProperty(pEdit, TXT_TYPE);\r\n\r\n\tCODE_ID code(UNKOWN);\r\n\tbool isReadOnly = false;\r\n#ifdef _WIN32\r\n\tRC_LINE_FORM lineEnd(DOS_LINE);\r\n#else\r\n\tRC_LINE_FORM lineEnd(UNIX_LINE);\r\n#endif\r\n\r\n\tbool isChange = false;\r\n\tbool isLoadOrgin = false;//是否加载原始文件。只有临时文件被破坏或大小为空，才需要加载老的\r\n\r\n\t//如果非空，则从contentPath中加载文件内容。做恢复文件使用\r\n\tif (!tempFilePath.isEmpty())\r\n\t{\r\n\t\tint ret = FileManager::getInstance().loadFileDataInText(pEdit, tempFilePath, code, lineEnd, nullptr, false,this);\r\n\t\tif ((ret != 6) && (ret != 0))\r\n\t\t{\r\n\t\t\tisLoadOrgin = true;\r\n\t\t\tui.statusBar->showMessage(tr(\"Restore Last Temp File %1 Failed\").arg(tempFilePath), 5000);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//如果是空的临时文件，则直接打开原始文件，临时文件估计被破坏或是空的，则直接读取原始文件\r\n\t\t\tif (ERROR_TYPE::OPEN_EMPTY_FILE == FileManager::getInstance().getLastErrorCode())\r\n\t\t\t{\r\n\t\t\t\tisLoadOrgin = true;\r\n\t\t\t\tFileManager::getInstance().resetLastErrorCode();\r\n\t}\r\n\telse\r\n\t{\r\n\t\t\t\tisChange = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif(isLoadOrgin)\r\n\t{\r\n\r\n\t\tint ret = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, this, true, this);\r\n\t\tif (4 == ret)\r\n\t\t{\r\n\t\t\tdelete pEdit;\r\n\t\t\t//用户同意以二进制格式打开文件\r\n\t\t\treturn openHexFile(filePath);\r\n\t\t}\r\n\t\t//else if (5 == ret)\r\n\t\t//{\r\n\t\t//\tisReadOnly = true;\r\n\t\t//\t//只读模式\r\n\t\t//}\r\n\t\telse if (6 == ret)\r\n\t\t{\r\n\t\t\t//存在乱码，还是打开\r\n\t\t}\r\n\t\telse if (0 != ret)\r\n\t\t{\r\n\t\t\tdelete pEdit;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t\r\n\tdisconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged);\r\n\tint curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel));\r\n\tui.editTabWidget->setCurrentIndex(curIndex);\r\n\tconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection);\r\n\r\n\tconnect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection);\r\n\tenableEditTextChangeSign(pEdit);\r\n\tconnect(pEdit, &ScintillaEditView::copyAvailable, this, &CCNotePad::slot_copyAvailable);\r\n\tconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange()));\r\n\r\n\t//监控文件\r\n\taddWatchFilePath(filePath);\r\n\r\n\tsetCodeBarLabel(code);\r\n\tsetLineEndBarLabel(lineEnd);\r\n\r\n\t//注意顺序\r\n\tQVariant editTextEnd((int)lineEnd);\r\n\tpEdit->setProperty(Edit_Text_End, editTextEnd);\r\n\tsetDocEolMode(pEdit, lineEnd);\r\n\r\n\tQVariant editViewFilePath(filePath);\r\n\tpEdit->setProperty(Edit_View_FilePath, editViewFilePath);\r\n\r\n\tui.editTabWidget->setTabToolTip(curIndex, filePath);\r\n\r\n\tQVariant editViewNewFile(-1);\r\n\tpEdit->setProperty(Edit_File_New, editViewNewFile);\r\n\r\n\tsetTextChangeProperty(pEdit, isChange);\r\n\r\n\tif (isChange)\r\n\t{\r\n\t\tui.editTabWidget->setTabIcon(curIndex, QIcon(TabNeedSave));\r\n\t}\r\n\t\r\n\tQVariant editTextCode((int)code);\r\n\tpEdit->setProperty(Edit_Text_Code, editTextCode);\r\n\r\n\tsyncCurDocEncodeToMenu(pEdit);\r\n\tsyncCurDocLineEndStatusToMenu(pEdit);\r\n\tsyncCurDocLexerToMenu(pEdit);\r\n\r\n\t//设置自动转换和缩进参考线\r\n\tif (s_autoWarp != QsciScintilla::WrapNone)\r\n\t{\r\n\t\tpEdit->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t}\r\n\r\n\tsetEditShowBlankStatus(pEdit, s_showblank);\r\n\r\n\r\n\tif (s_indent == 1)\r\n\t{\r\n\t\tpEdit->setIndentGuide(true);\r\n\t}\r\n\r\n\tif (s_zoomValue != 0)\r\n\t{\r\n\t\tpEdit->zoomTo(s_zoomValue);\r\n\t}\r\n\r\n\tif (!isReadOnly)\r\n\t{\r\n\t\tsetFileOpenAttrProperty(pEdit, OpenAttr::Text);\r\n\t\tsetWindowTitleMode(filePath, OpenAttr::Text);\r\n\t\tui.statusBar->showMessage(tr(\"File %1 Open Finished [Text Mode]\").arg(filePath));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tsetFileOpenAttrProperty(pEdit, OpenAttr::TextReadOnly);\r\n\t\tsetWindowTitleMode(filePath, OpenAttr::TextReadOnly);\r\n\t\tui.statusBar->showMessage(tr(\"File %1 Open Finished [Text ReadOnly Mode] (Note: display up to 50K bytes ...)\").arg(fi.fileName()));\r\n\t}\r\n\r\n\tif (pEdit->lexer() == nullptr)\r\n\t{\r\n\t\tautoSetDocLexer(pEdit);\r\n\t}\r\n\r\n\tif (isChange)\r\n\t{\r\n\t\tm_saveFile->setEnabled(true);\r\n\t\tm_saveAllFile->setEnabled(true);\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n//恢复上次打开的文件\r\n//1:非脏新建文件 2 非脏的已存在文件 3 脏的新建文件 4 脏的老文件。\r\nint CCNotePad::restoreLastFiles()\r\n{\r\n\tif (s_restoreLastFile == 0)\r\n\t{\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQString tempFileList = QString(\"notepad/temp/list\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, tempFileList);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tQStringList fileList = qs.allKeys();\r\n\t//从小到大排序一下。这里是按照ASCII排序，不得行。\r\n\t// 需要转换为数字0-N进行排序，否则排序结果错误。\r\n\tQList<int> fileIdList;\r\n\tfor (int i = 0; i < fileList.size(); ++i)\r\n\t{\r\n\t\tfileIdList.append(fileList.at(i).toInt());\r\n\t}\r\n\tstd::sort(fileIdList.begin(), fileIdList.end(), [](int& a, int& b) {\r\n\t\treturn a < b;\r\n\t\t});\r\n\r\n\tint key;\r\n\tQString value;\r\n\r\n\tforeach(key, fileIdList)\r\n\t{\r\n\t\tvalue = qs.value(QString::number(key)).toString();\r\n\t\tif (!value.isEmpty())\r\n\t\t{\r\n\t\t\tbool ok = false;\r\n\t\t\tint type = value.right(1).toInt(&ok);\r\n\r\n\t\t\tif (!ok)\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tQString path = value.left(value.size()-2);\r\n\t\t\t\r\n\t\t\tswitch (type)\r\n\t\t\t{\r\n\t\t\tcase 1:\r\n\t\t\t\trestoreCleanNewFile(path);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2:\r\n\t\t\t\trestoreCleanExistFile(path);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 3:\r\n\t\t\t{\r\n\t\t\t\tQString qsSavePath = qs.fileName();\r\n\t\t\t\tQFileInfo fi(qsSavePath);\r\n\t\t\t\tQString saveDir = fi.dir().absolutePath();\r\n\t\t\t\tQString tempFileName = QString(\"%1/%2\").arg(saveDir).arg(key);\r\n\t\t\t\trestoreDirtyNewFile(path, tempFileName);\r\n\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 4:\r\n\t\t\t{\r\n\t\t\t\tQString qsSavePath = qs.fileName();\r\n\t\t\t\tQFileInfo fi(qsSavePath);\r\n\t\t\t\tQString saveDir = fi.dir().absolutePath();\r\n\t\t\t\tQString tempFileName = QString(\"%1/%2\").arg(saveDir).arg(key);\r\n\t\t\t\trestoreDirtyExistFile(path, tempFileName);\r\n\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 5:\r\n\t\t\t{\r\n\t\t\t\t//与3一样，不过需要恢复语法\r\n\t\t\t\tint pos = path.lastIndexOf(\"|\");\r\n\t\t\t\tQString filePath = path.mid(0,pos);\r\n\t\t\t\tint lexerId = path.mid(pos + 1).toInt(&ok);\r\n\t\t\t\tif (!ok)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tQString qsSavePath = qs.fileName();\r\n\t\t\t\tQFileInfo fi(qsSavePath);\r\n\t\t\t\tQString saveDir = fi.dir().absolutePath();\r\n\t\t\t\tQString tempFileName = QString(\"%1/%2\").arg(saveDir).arg(key);\r\n\t\t\t\trestoreDirtyNewFile(filePath, tempFileName, lexerId);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t//恢复完毕后，恢复上次的标签页\r\n\tint curIndexWhenQuit = NddSetting::getKeyValueFromNumSets(LAST_ACTION_TAB_INDEX);\r\n\tui.editTabWidget->setCurrentIndex(curIndexWhenQuit);\r\n\r\n\treturn fileList.size();\r\n}\r\n\r\n\r\n//删除行首空格\r\nvoid CCNotePad::slot_removeHeadBlank()\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t//静默调用\r\n\tpFind->removeLineHeadEndBlank(1);\r\n}\r\n\r\n//删除行尾空格\r\nvoid CCNotePad::slot_removeEndBlank()\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t//静默调用\r\n\tpFind->removeLineHeadEndBlank(2);\r\n}\r\n\r\n//删除两端空格\r\nvoid CCNotePad::slot_removeHeadEndBlank()\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t//静默调用\r\n\tpFind->removeLineHeadEndBlank(1);\r\n\tpFind->removeLineHeadEndBlank(2);\r\n}\r\n\r\nvoid CCNotePad::slot_columnBlockEdit()\r\n{\r\n\tif (m_columnEditWin.isNull())\r\n\t{\r\n\t\tm_columnEditWin = new ColumnEdit(this);\r\n\t\tm_columnEditWin->setWindowFlag(Qt::Window);\r\n\t\tm_columnEditWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\tColumnEdit* pWin = dynamic_cast<ColumnEdit*>(m_columnEditWin.data());\r\n\tpWin->setTabWidget(ui.editTabWidget);\r\n\t}\r\n\tm_columnEditWin->show();\r\n\tregisterEscKeyShort(m_columnEditWin);\r\n#ifdef uos\r\n    adjustWInPos(m_columnEditWin);\r\n#endif\r\n}\r\n\r\nvoid CCNotePad::slot_defineLangs()\r\n{\r\n\tLangStyleDefine* pWin = new LangStyleDefine(this);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tpWin->show();\r\n\tregisterEscKeyShort(pWin);\r\n#ifdef uos\r\n    adjustWInPos(pWin);\r\n#endif\r\n}\r\n\r\nvoid CCNotePad::transCurUpperOrLower(TextCaseType type)\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), MSG_EXIST_TIME);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tpEdit->convertSelectedTextTo(type);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_uppercase()\r\n{\r\n\ttransCurUpperOrLower(UPPERCASE);\r\n}\r\nvoid CCNotePad::slot_lowercase()\r\n{\r\n\ttransCurUpperOrLower(LOWERCASE);\r\n}\r\nvoid CCNotePad::slot_properCase()\r\n{\r\n\ttransCurUpperOrLower(TITLECASE_FORCE);\r\n}\r\nvoid CCNotePad::slot_properCaseBlend()\r\n{\r\n\ttransCurUpperOrLower(TITLECASE_BLEND);\r\n}\r\nvoid CCNotePad::slot_sentenceCase()\r\n{\r\n\ttransCurUpperOrLower(SENTENCECASE_FORCE);\r\n}\r\nvoid CCNotePad::slot_sentenceCaseBlend()\r\n{\r\n\ttransCurUpperOrLower(SENTENCECASE_BLEND);\r\n}\r\nvoid CCNotePad::slot_invertCase()\r\n{\r\n\ttransCurUpperOrLower(INVERTCASE);\r\n}\r\nvoid CCNotePad::slot_randomCase()\r\n{\r\n\ttransCurUpperOrLower(RANDOMCASE);\r\n}\r\n\r\nvoid CCNotePad::slot_removeEmptyLine()\r\n{\r\n\tremoveEmptyLine(false);\r\n}\r\n\r\n\r\nvoid CCNotePad::slot_removeEmptyLineCbc()\r\n{\r\n\tremoveEmptyLine(true);\r\n}\r\n\r\nvoid CCNotePad::removeEmptyLine(bool isBlankContained)\r\n{\r\n\tinitFindWindow();\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t//静默调用\r\n\tpFind->removeEmptyLine(isBlankContained);\r\n}\r\n\r\nvoid CCNotePad::slot_column_mode()\r\n{\r\n\tQMessageBox::about(this, tr(\"Column Edit Mode Tips\"), tr(\"\\\"ALT+Mouse Click\\\" or \\\"Alt+Shift+Arrow keys\\\" Switch to mode!\"));\r\n}\r\n\r\nvoid CCNotePad::slot_tabToSpace()\r\n{\r\n\tspaceTabConvert(Tab2Space);\r\n}\r\n\r\nvoid CCNotePad::slot_spaceToTabAll()\r\n{\r\n\tspaceTabConvert(Space2TabAll);\r\n}\r\n\r\nvoid CCNotePad::slot_spaceToTabLeading()\r\n{\r\n\tspaceTabConvert(Space2TabLeading);\r\n}\r\n\r\nScintillaEditView* CCNotePad::getCurEditView()\r\n{\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* _pEditView = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\tif (_pEditView->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), MSG_EXIST_TIME);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn nullptr;\r\n\t\t}\r\n\t\treturn _pEditView;\r\n\t}\r\n\treturn nullptr;\r\n}\r\n\r\n//tab space 互转\r\nvoid CCNotePad::spaceTabConvert(SpaceTab type)\r\n{\r\n\r\n\tQWidget* pw = ui.editTabWidget->currentWidget();\r\n\tScintillaEditView* _pEditView = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\tif (_pEditView->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusBar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), MSG_EXIST_TIME);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tintptr_t tabWidth = _pEditView->execute(SCI_GETTABWIDTH);\r\n\t\tintptr_t currentPos = _pEditView->execute(SCI_GETCURRENTPOS);\r\n\t\tintptr_t docLength = _pEditView->execute(SCI_GETLENGTH) + 1;\r\n\t\tif (docLength < 2)\r\n\t\t\treturn;\r\n\r\n\t\tintptr_t count = 0;\r\n\t\tintptr_t column = 0;\r\n\t\tintptr_t newCurrentPos = 0;\r\n\t\tintptr_t tabStop = tabWidth - 1;   // remember, counting from zero !\r\n\t\tbool onlyLeading = false;\r\n\r\n\t\tchar * source = new char[docLength];\r\n\t\tif (source == NULL)\r\n\t\t\treturn;\r\n\t\t_pEditView->execute(SCI_GETTEXT, docLength, reinterpret_cast<sptr_t>(source));\r\n\r\n\t\tif (type == Tab2Space)\r\n\t\t{\r\n\t\t\t// count how many tabs are there\r\n\t\t\tfor (const char * ch = source; *ch; ++ch)\r\n\t\t\t{\r\n\t\t\t\tif (*ch == '\\t')\r\n\t\t\t\t\t++count;\r\n\t\t\t}\r\n\t\t\tif (count == 0)\r\n\t\t\t{\r\n\t\t\t\tdelete[] source;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\t// allocate tabwidth-1 chars extra per tab, just to be safe\r\n\t\tsize_t newlen = docLength + count * (tabWidth - 1) + 1;\r\n\t\tchar * destination = new char[newlen];\r\n\t\tif (destination == NULL)\r\n\t\t{\r\n\t\t\tdelete[] source;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tchar * dest = destination;\r\n\r\n\t\tswitch (type)\r\n\t\t{\r\n\t\tcase Tab2Space:\r\n\t\t{\r\n\t\t\t// rip through each line of the file\r\n\t\t\tfor (int i = 0; source[i] != '\\0'; ++i)\r\n\t\t\t{\r\n\t\t\t\tif (source[i] == '\\t')\r\n\t\t\t\t{\r\n\t\t\t\t\tintptr_t insertTabs = tabWidth - (column % tabWidth);\r\n\t\t\t\t\tfor (int j = 0; j < insertTabs; ++j)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t*dest++ = ' ';\r\n\t\t\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t\t\t++newCurrentPos;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcolumn += insertTabs;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t*dest++ = source[i];\r\n\t\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t\t++newCurrentPos;\r\n\t\t\t\t\tif ((source[i] == '\\n') || (source[i] == '\\r'))\r\n\t\t\t\t\t\tcolumn = 0;\r\n\t\t\t\t\telse if ((source[i] & 0xC0) != 0x80)  // UTF_8 support: count only bytes that don't start with 10......\r\n\t\t\t\t\t\t++column;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t*dest = '\\0';\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tcase Space2TabLeading:\r\n\t\t{\r\n\t\t\tonlyLeading = true;\r\n\t\t}\r\n\t\tcase Space2TabAll:\r\n\t\t{\r\n\t\t\tbool nextChar = false;\r\n\t\t\tint counter = 0;\r\n\t\t\tbool nonSpaceFound = false;\r\n\t\t\tfor (int i = 0; source[i] != '\\0'; ++i)\r\n\t\t\t{\r\n\t\t\t\tif (nonSpaceFound == false)\r\n\t\t\t\t{\r\n\t\t\t\t\twhile (source[i + counter] == ' ')\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif ((column + counter) == tabStop)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttabStop += tabWidth;\r\n\t\t\t\t\t\t\tif (counter >= 1)        // counter is counted from 0, so counter >= max-1\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t*dest++ = '\\t';\r\n\t\t\t\t\t\t\t\ti += counter;\r\n\t\t\t\t\t\t\t\tcolumn += counter + 1;\r\n\t\t\t\t\t\t\t\tcounter = 0;\r\n\t\t\t\t\t\t\t\tnextChar = true;\r\n\t\t\t\t\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t\t\t\t\t++newCurrentPos;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (source[i + 1] == ' ' || source[i + 1] == '\\t')  // if followed by space or TAB, convert even a single space to TAB\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t*dest++ = '\\t';\r\n\t\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t\t\tcolumn += 1;\r\n\t\t\t\t\t\t\t\tcounter = 0;\r\n\t\t\t\t\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t\t\t\t\t++newCurrentPos;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse       // single space, don't convert it to TAB\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t*dest++ = source[i];\r\n\t\t\t\t\t\t\t\tcolumn += 1;\r\n\t\t\t\t\t\t\t\tcounter = 0;\r\n\t\t\t\t\t\t\t\tnextChar = true;\r\n\t\t\t\t\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t\t\t\t\t++newCurrentPos;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t++counter;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (nextChar == true)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tnextChar = false;\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (source[i] == ' ' && source[i + counter] == '\\t') // spaces \"absorbed\" by a TAB on the right\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t*dest++ = '\\t';\r\n\t\t\t\t\t\ti += counter;\r\n\t\t\t\t\t\tcolumn = tabStop + 1;\r\n\t\t\t\t\t\ttabStop += tabWidth;\r\n\t\t\t\t\t\tcounter = 0;\r\n\t\t\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t\t\t++newCurrentPos;\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (onlyLeading == true && nonSpaceFound == false)\r\n\t\t\t\t\tnonSpaceFound = true;\r\n\r\n\t\t\t\tif (source[i] == '\\n' || source[i] == '\\r')\r\n\t\t\t\t{\r\n\t\t\t\t\t*dest++ = source[i];\r\n\t\t\t\t\tcolumn = 0;\r\n\t\t\t\t\ttabStop = tabWidth - 1;\r\n\t\t\t\t\tnonSpaceFound = false;\r\n\t\t\t\t}\r\n\t\t\t\telse if (source[i] == '\\t')\r\n\t\t\t\t{\r\n\t\t\t\t\t*dest++ = source[i];\r\n\t\t\t\t\tcolumn = tabStop + 1;\r\n\t\t\t\t\ttabStop += tabWidth;\r\n\t\t\t\t\tcounter = 0;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t*dest++ = source[i];\r\n\t\t\t\t\tcounter = 0;\r\n\t\t\t\t\tif ((source[i] & 0xC0) != 0x80)   // UTF_8 support: count only bytes that don't start with 10......\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t++column;\r\n\r\n\t\t\t\t\t\tif (column > 0 && column % tabWidth == 0)\r\n\t\t\t\t\t\t\ttabStop += tabWidth;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (i <= currentPos)\r\n\t\t\t\t\t++newCurrentPos;\r\n\t\t\t}\r\n\t\t\t*dest = '\\0';\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\t}\r\n\r\n\t\t_pEditView->execute(SCI_BEGINUNDOACTION);\r\n\t\t_pEditView->execute(SCI_SETTEXT, 0, reinterpret_cast<sptr_t>(destination));\r\n\t\t_pEditView->execute(SCI_GOTOPOS, newCurrentPos);\r\n\r\n\t\t_pEditView->execute(SCI_ENDUNDOACTION);\r\n\r\n\t\t// clean up\r\n\t\tdelete[] source;\r\n\t\tdelete[] destination;\r\n\t}\r\n}\r\n\r\n\r\nvoid CCNotePad::slot_dupCurLine()\r\n{\r\n\tqDebug() << \"dup atcion called\";\r\n\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\t_pEditView->execute(SCI_LINEDUPLICATE);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_removeDupLine()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\t_pEditView->execute(SCI_BEGINUNDOACTION);\r\n\t\t_pEditView->removeAnyDuplicateLines();\r\n\t\t_pEditView->execute(SCI_ENDUNDOACTION);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_splitLines()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\tif (_pEditView->execute(SCI_GETSELECTIONS) == 1)\r\n\t\t{\r\n\t\t\tstd::pair<size_t, size_t> lineRange = _pEditView->getSelectionLinesRange();\r\n\t\t\tauto anchorPos = _pEditView->execute(SCI_POSITIONFROMLINE, lineRange.first);\r\n\t\t\tauto caretPos = _pEditView->execute(SCI_GETLINEENDPOSITION, lineRange.second);\r\n\t\t\t_pEditView->execute(SCI_SETSELECTION, caretPos, anchorPos);\r\n\t\t\t_pEditView->execute(SCI_TARGETFROMSELECTION);\r\n\t\t\tsize_t edgeMode = _pEditView->execute(SCI_GETEDGEMODE);\r\n\t\t\tif (edgeMode == EDGE_NONE)\r\n\t\t\t{\r\n\t\t\t\t_pEditView->execute(SCI_LINESSPLIT, 0);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tauto textWidth = _pEditView->execute(SCI_TEXTWIDTH, STYLE_DEFAULT, reinterpret_cast<sptr_t>(\"P\"));\r\n\t\t\t\tauto edgeCol = _pEditView->execute(SCI_GETEDGECOLUMN); // will work for edgeMode == EDGE_BACKGROUND\r\n\t\t\t\tif (edgeMode == EDGE_MULTILINE)\r\n\t\t\t\t{\r\n\t\t\t\t\t//暂时这样。后续有问题再说\r\n\t\t\t\t}\r\n\t\t\t\t++edgeCol;  // compensate for zero-based column number\r\n\t\t\t\t_pEditView->execute(SCI_LINESSPLIT, textWidth * edgeCol);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\nvoid CCNotePad::slot_joinLines()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\tconst std::pair<size_t, size_t> lineRange = _pEditView->getSelectionLinesRange();\r\n\t\tif (lineRange.first != lineRange.second)\r\n\t\t{\r\n\t\t\tauto anchorPos = _pEditView->execute(SCI_POSITIONFROMLINE, lineRange.first);\r\n\t\t\tauto caretPos = _pEditView->execute(SCI_GETLINEENDPOSITION, lineRange.second);\r\n\t\t\t_pEditView->execute(SCI_SETSELECTION, caretPos, anchorPos);\r\n\t\t\t_pEditView->execute(SCI_TARGETFROMSELECTION);\r\n\t\t\t_pEditView->execute(SCI_LINESJOIN);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_moveUpCurLine()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\t_pEditView->execute(SCI_MOVESELECTEDLINESUP);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_moveDownCurLine()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\t_pEditView->execute(SCI_MOVESELECTEDLINESDOWN);\r\n\r\n\t\t// Ensure the selection is within view\r\n\t\t_pEditView->execute(SCI_SCROLLRANGE, _pEditView->execute(SCI_GETSELECTIONEND), _pEditView->execute(SCI_GETSELECTIONSTART));\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_insertBlankAbvCur()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\t_pEditView->insertNewLineAboveCurrentLine();\r\n}\r\n}\r\nvoid CCNotePad::slot_insertBlankBelCur()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView != nullptr)\r\n\t{\r\n\t\t_pEditView->insertNewLineBelowCurrentLine();\r\n}\r\n}\r\n\r\n\r\nvoid CCNotePad::dealLineSort(LINE_SORT_TYPE type)\r\n{\r\n\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView == nullptr)\r\n\t{\r\n\t\treturn;\r\n}\r\n\r\n\tsize_t fromLine = 0, toLine = 0;\r\n\tsize_t fromColumn = 0, toColumn = 0;\r\n\r\n\tbool hasLineSelection = false;\r\n\tif (_pEditView->execute(SCI_GETSELECTIONS) > 1)\r\n{\r\n\t\tif (_pEditView->execute(SCI_SELECTIONISRECTANGLE))\r\n\t\t{\r\n\t\t\tsize_t rectSelAnchor = _pEditView->execute(SCI_GETRECTANGULARSELECTIONANCHOR);\r\n\t\t\tsize_t rectSelCaret = _pEditView->execute(SCI_GETRECTANGULARSELECTIONCARET);\r\n\t\t\tsize_t anchorLine = _pEditView->execute(SCI_LINEFROMPOSITION, rectSelAnchor);\r\n\t\t\tsize_t caretLine = _pEditView->execute(SCI_LINEFROMPOSITION, rectSelCaret);\r\n\t\t\tfromLine = std::min(anchorLine, caretLine);\r\n\t\t\ttoLine = std::max(anchorLine, caretLine);\r\n\t\t\tsize_t anchorLineOffset = rectSelAnchor - _pEditView->execute(SCI_POSITIONFROMLINE, anchorLine) + _pEditView->execute(SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE);\r\n\t\t\tsize_t caretLineOffset = rectSelCaret - _pEditView->execute(SCI_POSITIONFROMLINE, caretLine) + _pEditView->execute(SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE);\r\n\t\t\tfromColumn = std::min(anchorLineOffset, caretLineOffset);\r\n\t\t\ttoColumn = std::max(anchorLineOffset, caretLineOffset);\r\n}\r\n\t\telse\r\n{\r\n\t\t\treturn;\r\n}\r\n\t}\r\n\telse\r\n{\r\n\t\tauto selStart = _pEditView->execute(SCI_GETSELECTIONSTART);\r\n\t\tauto selEnd = _pEditView->execute(SCI_GETSELECTIONEND);\r\n\t\thasLineSelection = selStart != selEnd;\r\n\t\tif (hasLineSelection)\r\n\t\t{\r\n\t\t\tconst  std::pair<size_t, size_t> lineRange = _pEditView->getSelectionLinesRange();\r\n\t\t\t// One single line selection is not allowed.\r\n\t\t\tif (lineRange.first == lineRange.second)\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n}\r\n\t\t\tfromLine = lineRange.first;\r\n\t\t\ttoLine = lineRange.second;\r\n\t\t}\r\n\t\telse\r\n{\r\n\t\t\t// No selection.\r\n\t\t\tfromLine = 0;\r\n\t\t\ttoLine = _pEditView->execute(SCI_GETLINECOUNT) - 1;\r\n}\r\n\t}\r\n\r\n\tLINE_SORT_TYPE id = type;\r\n\r\n\tbool isDescending = ((id == SORTLINES_LEXICOGRAPHIC_DESCENDING) || (id == SORTLINES_LEXICO_CASE_INSENS_DESCENDING));\r\n\r\n\t_pEditView->execute(SCI_BEGINUNDOACTION);\r\n\tstd::unique_ptr<ISorter> pSorter;\r\n\r\n\tif (id == SORTLINES_LEXICOGRAPHIC_DESCENDING || id == SORTLINES_LEXICOGRAPHIC_ASCENDING)\r\n{\r\n\t\tpSorter = std::unique_ptr<ISorter>(new LexicographicSorter(isDescending, fromColumn, toColumn));\r\n}\r\n\telse if (id == SORTLINES_LEXICO_CASE_INSENS_DESCENDING || id == SORTLINES_LEXICO_CASE_INSENS_ASCENDING)\r\n{\r\n\t\tpSorter = std::unique_ptr<ISorter>(new LexicographicCaseInsensitiveSorter(isDescending, fromColumn, toColumn));\r\n}\r\n\telse if (id == SORTLINES_REVERSE_ORDER)\r\n{\r\n\t\tpSorter = std::unique_ptr<ISorter>(new ReverseSorter(isDescending, fromColumn, toColumn));\r\n}\r\n\r\n\ttry\r\n{\r\n\t\t_pEditView->sortLines(fromLine, toLine, pSorter.get());\r\n}\r\n\tcatch (size_t& failedLineIndex)\r\n{\r\n\t\tsize_t lineNo = 1 + fromLine + failedLineIndex;\r\n\r\n\t\tQMessageBox::warning(this, tr(\"SortingError\"), tr(\"Unable to perform numeric sorting due to line %1.\").arg(lineNo));\r\n}\r\n\r\n\t_pEditView->execute(SCI_ENDUNDOACTION);\r\n\r\n\tif (hasLineSelection) // there was 1 selection, so we restore it\r\n{\r\n\t\tauto posStart = _pEditView->execute(SCI_POSITIONFROMLINE, fromLine);\r\n\t\tauto posEnd = _pEditView->execute(SCI_GETLINEENDPOSITION, toLine);\r\n\t\t_pEditView->execute(SCI_SETSELECTIONSTART, posStart);\r\n\t\t_pEditView->execute(SCI_SETSELECTIONEND, posEnd);\r\n}\r\n}\r\n\r\nvoid CCNotePad::slot_reverseLineOrder()\r\n{\r\n\tdealLineSort(SORTLINES_REVERSE_ORDER);\r\n}\r\n\r\nvoid CCNotePad::slot_sortLexAsc()\r\n{\r\n\tdealLineSort(SORTLINES_LEXICOGRAPHIC_ASCENDING);\r\n}\r\n\r\nvoid CCNotePad::slot_sortLexAscIgnCase()\r\n{\r\n\tdealLineSort(SORTLINES_LEXICO_CASE_INSENS_ASCENDING);\r\n}\r\n\r\nvoid CCNotePad::slot_sortLexDesc()\r\n{\r\n\tdealLineSort(SORTLINES_LEXICOGRAPHIC_DESCENDING);\r\n}\r\n\r\nvoid CCNotePad::slot_sortLexDescIngCase()\r\n{\r\n\tdealLineSort(SORTLINES_LEXICO_CASE_INSENS_DESCENDING);\r\n}\r\n\r\n//这里是从F3 F4快捷按下时的查找槽函数。\r\nvoid CCNotePad::slot_findNext()\r\n{\r\n\t//先检查一下，当前查找窗口是否存在而且显示。存在则直接调用查找框的功能。\r\n\t//避免F3和查找框里面的干扰\r\n\tif (!m_pFindWin.isNull() && m_pFindWin->isVisible())\r\n\t{\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\tpFind->setCurrentTab(FIND_TAB);\r\n\tpFind->findNext();\r\n\t\treturn;\r\n}\r\n\r\n\tint ret = initFindWindow();\r\n\r\n\tif (ret == 0)\r\n\t{\r\n\t\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t\tpFind->setCurrentTab(FIND_TAB);\r\n\t\tpFind->findNext();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"what find is null !\"), MSG_EXIST_TIME);\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::slot_findPrev()\r\n{\r\n\t//先检查一下，当前查找窗口是否存在而且显示。存在则直接调用查找框的功能。\r\n\t//避免F4和查找框里面的干扰\r\n\tif (!m_pFindWin.isNull() && m_pFindWin->isVisible())\r\n\t{\r\n\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\tpFind->setCurrentTab(FIND_TAB);\r\n\tpFind->findPrev();\r\n\t\treturn;\r\n}\r\n\r\n\tint ret = initFindWindow();\r\n\tif (ret == 0)\r\n\t{\r\n\t\tFindWin* pFind = dynamic_cast<FindWin*>(m_pFindWin.data());\r\n\t\tpFind->setCurrentTab(FIND_TAB);\r\n\t\tpFind->findPrev();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"what find is null !\"), MSG_EXIST_TIME);\r\n\t}\r\n}\r\n\r\n//繁体BIG5\r\nvoid CCNotePad::slot_load_with_big5()\r\n{\r\n\treloadTextFileWithCode(CODE_ID::BIG5);\r\n}\r\n\r\n//转成繁体BIG5\r\nvoid CCNotePad::slot_encode_big5()\r\n{\r\n\ttransDocToEncord(BIG5);\r\n}\r\n\r\n//为窗口注册ECS退出快捷键\r\nvoid CCNotePad::registerEscKeyShort(QWidget *parent)\r\n{\r\n\tQShortcut *escSc = new QShortcut(parent);\r\n\tescSc->setKey(QKeySequence(Qt::Key_Escape));\r\n\tescSc->setContext(Qt::WidgetWithChildrenShortcut);\r\n\tconnect(escSc, &QShortcut::activated, this, &CCNotePad::slot_escQuit);\r\n}\r\n\r\nvoid CCNotePad::slot_escQuit()\r\n{\r\n\tQShortcut * escSc = dynamic_cast<QShortcut *>(sender());\r\n\tif (escSc != nullptr && escSc->parentWidget() != nullptr)\r\n\t{\r\n\t\tescSc->parentWidget()->close();\r\n\t}\r\n}\r\n\r\n//格式化xml语言\r\nvoid CCNotePad::slot_formatXml()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView == nullptr || _pEditView->isReadOnly())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString text = _pEditView->text();\r\n\tif (text.isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString xmlOut;\r\n\r\n\tQXmlStreamReader reader(text);\r\n\tQXmlStreamWriter writer(&xmlOut);\r\n\twriter.setAutoFormatting(true);\r\n\r\n\twhile (!reader.atEnd()) {\r\n\t\treader.readNext();\r\n\t\tif (!reader.isWhitespace()) {\r\n\t\t\twriter.writeCurrentToken(reader);\r\n\t\t}\r\n\t}\r\n\r\n\tif (reader.hasError()) \r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"XML format error, please check!\"), MSG_EXIST_TIME);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\t_pEditView->setText(xmlOut);\r\n\t\r\n}\r\n\r\nvoid CCNotePad::slot_formatJson()\r\n{\r\n\tScintillaEditView* _pEditView = getCurEditView();\r\n\tif (_pEditView == nullptr || _pEditView->isReadOnly())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString text = _pEditView->text();\r\n\tif (text.isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQByteArray bytes = text.toUtf8();\r\n\r\n\tQJsonParseError parseError;\r\n\tQJsonDocument doc = QJsonDocument::fromJson(bytes, &parseError);\r\n\r\n\tif (QJsonParseError::NoError != parseError.error)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"JSON format error, please check!\"),MSG_EXIST_TIME);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString content(doc.toJson(QJsonDocument::Indented));\r\n\t_pEditView->setText(content);\r\n}\r\n\r\n//清空历史打开记录\r\nvoid CCNotePad::slot_clearHistoryOpenList()\r\n{\r\n\tui.menuRecene_File->clear();\r\n\tm_receneOpenFileList.clear();\r\n\r\n\tNddSetting::updataKeyValueFromDelaySets(RECENT_OPEN_FILE, \"\");\r\n}\r\n\r\nvoid CCNotePad::slot_showToolBar(bool check)\r\n{\r\n\tui.mainToolBar->setVisible(check);\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(TOOLBARSHOW, check?1:0);\r\n}\r\n\r\nvoid CCNotePad::slot_showWebAddr(bool check)\r\n{\r\n\tCCNotePad::s_hightWebAddr = check ? 1 : 0;\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(SHOWWEBADDR, s_hightWebAddr);\r\n}\r\n\r\n//更新当前主题的样式\r\nvoid CCNotePad::updateThemes()\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\r\n\t\tint docType = getDocTypeProperty(pw);\r\n\r\n\t\tif (docType != HEX_TYPE)\r\n\t\t{\r\n\t\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\t\tif (pEdit != nullptr)\r\n\t\t\t{\r\n\t\t\t\tpEdit->updateThemes();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tScintillaHexEditView* pEdit = dynamic_cast<ScintillaHexEditView*>(pw);\r\n\t\t\tif (pEdit != nullptr)\r\n\t\t\t{\r\n\t\t\t\tpEdit->updateThemes();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//切换主题后，如果存在查找框，则暴力关闭一下，因为查找框的颜色实时生效还存在问题\r\n\tif (m_dockSelectTreeWin != nullptr)\r\n\t{\r\n\t\tm_dockSelectTreeWin->deleteLater();\r\n\t\tm_dockSelectTreeWin = nullptr;\r\n}\r\n}\r\n\r\nvoid CCNotePad::setGlobalFgColor(int style)\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tpEdit->setGlobalFgColor(style);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::setGlobalBgColor(int style)\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tpEdit->setGlobalBgColor(style);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid CCNotePad::setGlobalFont(int style)\r\n{\r\n\tfor (int i = ui.editTabWidget->count() - 1; i >= 0; --i)\r\n\t{\r\n\t\tQWidget* pw = ui.editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tpEdit->setGlobalFont(style);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//文件后缀的编程语法关联\r\nvoid CCNotePad::slot_langFileSuffix()\r\n{\r\n\tLangExtSet* pWin = new LangExtSet(this);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n#ifdef uos\r\n    adjustWInPos(pWin);\r\n#endif\r\n\tpWin->show();\r\n}\r\n\r\n//快捷键管理\r\nvoid CCNotePad::slot_shortcutManager()\r\n{\r\n\tShortcutKeyMgr* pWin = new ShortcutKeyMgr(this);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n#ifdef uos\r\n    adjustWInPos(pWin);\r\n#endif\r\n\tpWin->show();\r\n}\r\n\r\n//处理当前按下ESC后，需要处理退出的事件\r\nvoid CCNotePad::on_quitActiveWindow()\r\n{\r\n\tif (!m_pFindWin.isNull()&& m_pFindWin->isVisible())\r\n\t{\r\n\t\tm_pFindWin->close();\r\n\t}\r\n\tif (!m_columnEditWin.isNull() && m_columnEditWin->isVisible())\r\n\t{\r\n\t\tm_columnEditWin->close();\r\n\t}\r\n\tif (!m_langSetWin.isNull() && m_langSetWin->isVisible())\r\n\t{\r\n\t\tm_langSetWin->close();\r\n\t}\r\n\tif (!m_optionsView.isNull() && m_optionsView->isVisible())\r\n\t{\r\n\t\tm_optionsView->close();\r\n\t}\r\n}\r\n\r\n#if 0 \r\n//修改主题颜色//暂时不开始，发现MAC下有不开启深色的配置\r\nvoid CCNotePad::changeAppFontColor(QColor color)\r\n{\r\n\t//把存在的界面都关闭。发现如果不关闭，颜色不会更新\r\n\r\n\tif (!m_pFindWin.isNull())\r\n\t{\r\n\t\tQByteArray curGeo = m_pFindWin->saveGeometry();\r\n\t\tNddSetting::updataKeyByteArrayValue(FINDWINSIZE, curGeo);\r\n\r\n\t\tm_pFindWin.data()->deleteLater();\r\n\t}\r\n\r\n\tif (!m_pHexGotoWin.isNull())\r\n\t{\r\n\t\tm_pHexGotoWin.data()->close();\r\n\t}\r\n\r\n\tif (!m_columnEditWin.isNull())\r\n\t{\r\n\t\tm_columnEditWin.data()->close();\r\n\t}\r\n\r\n\r\n\t//filelistwin还存在\r\n\tif (!m_dockFileListWin.isNull())\r\n\t{\r\n\t\tNddSetting::updataKeyValueFromNumSets(FILELISTSHOW, 1);\r\n\t\tm_dockFileListWin.data()->close();\r\n\t}\r\n\r\n\tif (m_dockSelectTreeWin != nullptr)\r\n\t{\r\n\t\tm_dockSelectTreeWin->deleteLater();\r\n\t\tm_dockSelectTreeWin = nullptr;\r\n\t}\r\n}\r\n#endif\r\n\r\nvoid CCNotePad::on_md5hash()\r\n{\r\n\tMd5hash* pWin = new Md5hash(this);\r\n\tpWin->setWindowFlag(Qt::Window);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\tpWin->show();\r\n}\r\n\r\n\r\n#ifdef NO_PLUGIN\r\n//插件中调用主程序的功能。\r\n//cmdId 执行什么动作，一定固定后，主程序不能随便修改，否则会引发兼容性问题。\r\nbool CCNotePad::pluginInvoke(int cmdId, void* data)\r\n{\r\n\tbool ret = false;\r\n\tswitch (cmdId)\r\n\t{\r\n\tcase 1:\r\n\t{\r\n\t\t//新建一个文件。\r\n\t\tslot_actionNewFile_toggle(true);\r\n\r\n\t\t//默认不需要。\r\n\t\tif (data != nullptr)\r\n\t\t{\r\n\t\t\tQVariant* pVar = (QVariant*)data;\r\n\t\t\t//回传回去新建文件的名称\r\n\t\t\tScintillaEditView* pw = getCurEditView();\r\n\t\t\tif (pw != nullptr)\r\n\t\t\t{\r\n\t\t\t\tpVar->setValue(getFilePathProperty(pw));\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tret = true;\r\n\t}\r\n\tbreak;\r\n\tcase 2:\r\n\t{\r\n\t\t//设定当前编辑器的语言。0 js 1 json\r\n\t\tint lang = *((int*)data);\r\n\r\n\t\tLangType langs = ((lang == 0) ? L_JAVASCRIPT : L_JSON);\r\n\r\n\t\tScintillaEditView* pEdit = getCurEditView();\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tQsciLexer* curLexer = pEdit->lexer();\r\n\t\t\tif (curLexer == nullptr)\r\n\t\t\t{\r\n\t\t\t\t//设定为目标语法\r\n\t\t\t\tQsciLexer* lexer = ScintillaEditView::createLexer(langs);\r\n\t\t\t\tpEdit->setLexer(lexer);\r\n\t\t\t}\r\n\t\t\telse if (curLexer->lexerId() != langs)\r\n\t\t\t{\r\n\t\t\t\tpEdit->setLexer(nullptr);\r\n\t\t\t\tdelete curLexer;\r\n\t\t\t\tcurLexer = nullptr;\r\n\r\n\t\t\t\tQsciLexer* lexer = ScintillaEditView::createLexer(langs);\r\n\t\t\t\tpEdit->setLexer(lexer);\r\n\t\t\t}\r\n\t\t\tsyncCurDocLexerToMenu(pEdit);\r\n\t\t}\r\n\t\tret = true;\r\n\t}\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn ret;\r\n}\r\n#endif"
  },
  {
    "path": "src/cceditor/ccnotepad.h",
    "content": "﻿#pragma once\r\n\r\n#include <QMainWindow>\r\n#include <QLabel>\r\n#include <QToolButton>\r\n#include <QMap>\r\n#include <QCloseEvent>\r\n#include <QActionGroup>\r\n#include <qscilexer.h>\r\n#include <QFileSystemWatcher>\r\n#include <QPointer>\r\n#include <QSharedMemory>\r\n#include <QTranslator>\r\n#include <QTimer>\r\n#include <QSettings>\r\n#include <QListWidgetItem>\r\n\r\n#include \"rcglobal.h\"\r\n#include \"ui_ccnotepad.h\"\r\n#include \"common.h\"\r\n#include \"extlexermanager.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"findwin.h\"\r\n#include \"pluginGl.h\"\r\n\r\n\r\n//class ScintillaEditView;\r\nclass ScintillaHexEditView;\r\nclass FindRecords;\r\nclass FindResultWin;\r\nclass QAction;\r\nclass CompareDirs;\r\nclass CompareWin;\r\nstruct HexFileMgr;\r\nstruct TextFileMgr;\r\nstruct BigTextEditFileMgr;\r\n\r\nstatic const char* Tail_Thread = \"tailthread\";\r\n\r\n//编码类型,int\r\nstatic const char* Edit_Text_Code = \"code\";\r\n\r\nenum OpenAttr {\r\n\tText = 1,\r\n\tHexReadOnly,\r\n\tBigTextReadOnly,\r\n\tBigTextReadWrite,\r\n\tSuperBigTextReadOnly,\r\n\tTextReadOnly\r\n};\r\n\r\nenum SpaceTab {\r\n\tTab2Space = 0,\r\n\tSpace2TabLeading,\r\n\tSpace2TabAll,\r\n};\r\n\r\nenum LINE_SORT_TYPE {\r\n\tSORTLINES_LEXICOGRAPHIC_ASCENDING,\r\n\tSORTLINES_LEXICOGRAPHIC_DESCENDING,\r\n\r\n\tSORTLINES_LEXICO_CASE_INSENS_ASCENDING,\r\n\tSORTLINES_LEXICO_CASE_INSENS_DESCENDING,\r\n\r\n\tSORTLINES_REVERSE_ORDER,\r\n};\r\n\r\nstruct FileExtLexer\r\n{\r\n\tQString ext;\r\n\tLangType id;\r\n};\r\n\r\nconst int FileExtMapLexerIdLen = L_EXTERNAL;\r\n\r\n//1 文本 2 hex\r\nenum NddDocType {\r\n\tTXT_TYPE = 1,\r\n\t//BIG_TEXT_RO_TYPE,//大文本，只读模式 BIG_TEXT_RO_TYPE。是只读模式\r\n\tBIG_TEXT_RO_TYPE,//大文本，只读模式,可以显示行号，可以跳转。理论上4G-8G比较合适。再大就属于超大文本\r\n\tBIG_EDIT_RW_TYPE,//大文本，读写模式。目前还不支持\r\n\tSUPER_BIG_TEXT_RO_TYPE,//超大文本，只读模式，理论上任意多大文件都可以。不一定支持行号。4G以上的文件。\r\n\r\n\tHEX_TYPE,\r\n};\r\n\r\n//打开模式。1 文本 2 二进制 3 大文本只读 4 文本只读\r\n//const char* Open_Attr = \"openid\";\r\nclass FileListView;\r\nclass QtLangSet;\r\n\r\nclass CCNotePad : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tCCNotePad(bool isMainWindows = true, QWidget *parent = Q_NULLPTR);\r\n\t~CCNotePad();\r\n\r\n\tvoid quickshow();\r\n\r\n\tvoid setCodeBarLabel(CODE_ID id);\r\n\tvoid setLineEndBarLabel(RC_LINE_FORM lineEnd);\r\n\r\n    void initLexerNameToIndex();\r\n\t\r\n\tstatic LexerInfo getLangLexerIdByFileExt(QString filePath);\r\n\r\n\tbool openFile(QString filePath, int lineNum=-1);\r\n\tbool tryRestoreFile(QString filePath);\r\n\r\n\tvoid initTabNewOne();\r\n\r\n\tvoid setShareMem(QSharedMemory* v)\r\n\t{\r\n\t\tm_shareMem = v;\r\n\t}\r\n\r\n\tQSharedMemory* getShareMem()\r\n\t{\r\n\t\treturn m_shareMem;\r\n\t}\r\n\r\n\tvoid receiveEditDrop(QDropEvent* e);\r\n#ifdef Q_OS_WIN\r\n\tint runAsAdmin(const QString & filePath);\r\n\tvoid checkAppFont();\r\n#endif\r\n\r\n\tvoid syncCurSkinToMenu(int id);\r\n\r\n\tint restoreLastFiles();\r\n\r\n\tScintillaEditView * getCurEditView();\r\n\tvoid getCurUseLexerTags(QVector<QString>& tag);\r\n\r\n\tvoid clearHighlightWord(QString signWord, ScintillaEditView* pEdit = nullptr);\r\n\tbool closeFileByEditWidget(QWidget* pEdit);\r\n\tvoid showChangePageTips(QWidget* pEdit);\r\n\tint markAtBack(QStringList& keyword);\r\n\tint findAtBack(QStringList& keyword);\r\n\tint replaceAtBack(QStringList& keyword, QStringList& replace);\r\n\tvoid updateThemes();\r\n\r\n\tvoid setGlobalFgColor(int style);\r\n\tvoid setGlobalBgColor(int style);\r\n\tvoid setGlobalFont(int style);\r\n\r\n\tvoid changeMarkColor(int sytleId);\r\n\tvoid setUserDefShortcutKey(int shortcutId);\r\n\t\r\n\tQtLangSet* getLangSet();\r\nsignals:\r\n\tvoid signSendRegisterKey(QString key);\r\n\tvoid signRegisterReplay(int code);\r\n\tvoid signLinkNetServer();\r\n#ifdef Q_OS_WIN\r\n\tvoid tailFileChange(ScintillaEditView*,qint64 lastSize, qint64 curSize);\r\n#endif \r\npublic slots:\r\n\tvoid slot_changeChinese();\r\n\tvoid slot_changeEnglish();\r\n\t\r\n\tvoid slot_actionNewFile_toggle(bool checked);\r\n\tvoid slot_actionOpenFile_toggle(bool checked);\r\n\tvoid slot_actionSaveFile_toggle(bool checked);\r\n\tvoid slot_actionSaveAsFile_toggle(bool checked);\r\n\tvoid slot_actionRenameFile_toggle(bool checked);\r\n\tvoid slot_actionClose(bool);\r\n\tvoid slot_actionCloseNonCurDoc();\r\n\tvoid slot_actionCloseLeftAll();\r\n\tvoid slot_actionCloseRightAll();\r\n\r\n\tvoid slot_quit(bool);\r\n\r\n\r\n\tvoid slot_closeAllFile(bool);\r\n\tvoid slot_batch_convert();\r\n\tvoid slot_batch_rename();\r\n\tvoid slot_options();\r\n\tvoid slot_donate();\r\n    //\tvoid slot_registerCmd(int cmd, int code);\r\n\tvoid slot_viewStyleChange(QString tag, int styleId, QColor & fgColor, QColor & bkColor, QFont & font, bool fontChange);\r\n\tvoid slot_viewLexerChange(QString tag);\r\n\tvoid slot_findInDir();\r\n\tvoid slot_showFileInExplorer();\r\n#ifdef Q_OS_WIN\r\n\tvoid slot_showCmdInExplorer();\r\n#endif\r\n\tvoid slot_wordHighlight();\r\n\r\n\tvoid slot_clearWordHighlight();\r\n\tvoid slot_clearMark();\r\n\tvoid slot_zoomValueChange();\r\n\tvoid on_quitActiveWindow();\r\n\r\nprotected:\r\n\tvoid closeEvent(QCloseEvent *event) override;\r\n\tvoid dragEnterEvent(QDragEnterEvent* event) override;\r\n\tvoid dropEvent(QDropEvent* e) override;\r\n\tvoid dragLeaveEvent(QDragLeaveEvent* event);\r\n\tbool eventFilter(QObject *watched, QEvent *event)override;\r\n#ifdef Q_OS_WIN\r\n\tbool nativeEvent(const QByteArray &eventType, void *message, long *result) override;\r\n\tbool nativeOpenfile(QString openFilePath);\r\n#endif\r\n#ifdef uos\r\nvoid adjustWInPos(QWidget* pWin);\r\n#endif\r\n\r\nprivate slots:\r\n\tvoid slot_editViewMofidyChange();\r\n\tvoid slot_tabClose(int index);\r\n\tvoid slot_LineNumIndexChange(int line, int index);\r\n\tvoid slot_saveAllFile();\r\n\tvoid slot_autoSaveFile(bool);\r\n\tvoid slot_timerAutoSave();\r\n\r\n\tvoid slot_tabCurrentChanged(int index);\r\n\tvoid slot_copyAvailable(bool select);\r\n\tvoid slot_cut();\r\n\tvoid slot_copy();\r\n\tvoid slot_paste();\r\n\tvoid slot_selectAll();\r\n\tvoid slot_undo();\r\n\tvoid slot_redo();\r\n\tvoid slot_zoomin();\r\n\tvoid slot_zoomout();\r\n\tvoid slot_wordwrap(bool checked);\r\n\tvoid slot_allWhite(bool checked);\r\n\tvoid slot_indentGuide(bool checked);\r\n\tvoid slot_find();\r\n\r\n\r\n\tvoid slot_replace();\r\n\tvoid slot_markHighlight();\r\n\t\r\n\tvoid slot_findResultPosChangeed(Qt::DockWidgetArea area);\r\n\tvoid slot_findResultItemDoubleClick(const QModelIndex & index);\r\n#if 0\r\n\tvoid slot_showFindAllInCurDocResult(FindRecords * record);\r\n#endif\r\n\tvoid slot_showfindAllInOpenDocResult(QVector<FindRecords*>* record, int hits, QString whatFind);\r\n\tvoid slot_clearFindResult();\r\n\tvoid slot_convertWinLineEnd(bool);\r\n\tvoid slot_convertUnixLineEnd(bool);\r\n\tvoid slot_convertMacLineEnd(bool);\r\n\tvoid slot_openReceneFile();\r\n\tvoid slot_gotoline();\r\n\tvoid slot_show_spaces(bool check);\r\n\tvoid slot_show_line_end(bool check);\r\n\tvoid slot_load_with_gbk();\r\n\tvoid slot_load_with_utf8();\r\n\tvoid slot_load_with_utf8_bom();\r\n\tvoid slot_load_with_utf16_be();\r\n\tvoid slot_load_with_utf16_le();\r\n\tvoid slot_load_with_big5();\r\n\tvoid slot_encode_gbk();\r\n\tvoid slot_encode_utf8();\r\n\tvoid slot_encode_utf8_bom();\r\n\tvoid slot_encode_utf16_be();\r\n\tvoid slot_encode_utf16_le();\r\n\tvoid slot_encode_big5();\r\n\r\n\tvoid slot_lexerActTrig(QAction * action);\r\n\tvoid slot_compareFile();\r\n\tvoid slot_compareDir();\r\n\tvoid slot_binCompare();\r\n\tvoid slot_tabBarClicked(int index);\r\n\tvoid on_tabBarDoubleClicked(int index);\r\n\tvoid slot_reOpenTextMode();\r\n\tvoid slot_reOpenHexMode();\r\n\tvoid slot_selectLeftFile();\r\n\tvoid slot_selectRightFile();\r\n\r\n\tvoid slot_openFileInNewWin();\r\n\tvoid slot_about();\r\n\tvoid slot_aboutNdd();\r\n\tvoid slot_fileChange(QString filePath);\r\n\tvoid slot_tabBarDoubleClicked(int index);\r\n\r\n\tvoid slot_slectionChanged();\r\n\tvoid slot_preHexPage();\r\n\tvoid slot_nextHexPage();\r\n\tvoid slot_gotoHexPage();\r\n\tvoid slot_hexGotoFile(qint64 addr);\r\n\tvoid slot_tabFormatChange(bool tabLenChange, bool useTabChange);\r\n\tvoid slot_searchResultShow();\r\n\tvoid slot_saveFile(QString fileName, ScintillaEditView * pEdit);\r\n\t/*void slot_skinStyleGroup(QAction * action);*/\r\n\tvoid slot_changeIconSize(QAction * action);\r\n\tvoid slot_langFormat();\r\n\r\n\tvoid slot_removeHeadBlank();\r\n\tvoid slot_removeEndBlank();\r\n\tvoid slot_removeHeadEndBlank();\r\n\tvoid slot_columnBlockEdit();\r\n\tvoid slot_defineLangs();\r\n\r\n\tvoid slot_uppercase();\r\n\tvoid slot_lowercase();\r\n\tvoid slot_properCase();\r\n\tvoid slot_properCaseBlend();\r\n\tvoid slot_sentenceCase();\r\n\tvoid slot_sentenceCaseBlend();\r\n\tvoid slot_invertCase();\r\n\tvoid slot_randomCase();\r\n\tvoid slot_removeEmptyLineCbc();\r\n\tvoid slot_removeEmptyLine();\r\n\tvoid slot_column_mode();\r\n\tvoid slot_tabToSpace();\r\n\tvoid slot_spaceToTabAll();\r\n\tvoid slot_spaceToTabLeading();\r\n\r\n\t\r\n\tvoid slot_dupCurLine();\r\n\tvoid slot_removeDupLine();\r\n\tvoid slot_splitLines();\r\n\tvoid slot_joinLines();\r\n\tvoid slot_moveUpCurLine();\r\n\tvoid slot_moveDownCurLine();\r\n\tvoid slot_insertBlankAbvCur();\r\n\tvoid slot_insertBlankBelCur();\r\n\t\r\n\tvoid slot_reverseLineOrder();\r\n\tvoid slot_sortLexAsc();\r\n\tvoid slot_sortLexAscIgnCase();\r\n\tvoid slot_sortLexDesc();\r\n\tvoid slot_sortLexDescIngCase();\r\n\r\n\tvoid slot_findNext();\r\n\tvoid slot_findPrev();\r\n\tvoid slot_escQuit();\r\n\tvoid slot_formatXml();\r\n\tvoid slot_formatJson();\r\n\r\n\tvoid slot_clearHistoryOpenList();\r\n\r\n\tvoid slot_bookMarkAction();\r\n\tvoid slot_loadBookMarkMenu();\r\n\tvoid slot_markColorGroup(QAction * action);\r\n\tvoid slot_loadMarkColor();\r\n\tvoid slot_saveSearchHistory();\r\n\tvoid slot_fileListView(bool check);\r\n\tvoid slot_fileListItemDoubleClick(QListWidgetItem* item);\r\n\tvoid slot_showToolBar(bool);\r\n\tvoid slot_dynamicLoadToolMenu();\r\n\tvoid slot_batchFind();\r\n\tvoid on_loadReceneFile();\r\n\tvoid slot_pluginMgr();\r\n#ifdef NO_PLUGIN\r\n\tvoid onPlugWork(bool check);\r\n\tvoid sendParaToPlugin(NDD_PROC_DATA& procData);\r\n\t//cmdId 执行什么动作，一定固定后，主程序不能随便修改，否则会引发兼容性问题。\r\n\tbool pluginInvoke(int cmdId, void* data);\r\n#endif\r\n\tvoid slot_showWebAddr(bool check);\r\n\tvoid slot_langFileSuffix();\r\n\tvoid slot_shortcutManager();\r\n\tvoid on_lineEndChange(int index);\r\n\tvoid on_tailfile(bool isOn);\r\n#ifdef Q_OS_WIN\r\n\tvoid on_roladFile(ScintillaEditView* pEdit,quint64 lastSize, qint64 curSize);\r\n#endif\r\n\tvoid on_md5hash();\r\n\r\nprivate:\r\n\tvoid initFindResultDockWin();\r\n\tvoid enableEditTextChangeSign(ScintillaEditView * pEdit);\r\n\tvoid disEnableEditTextChangeSign(ScintillaEditView * pEdit);\r\n\tbool saveFile(QString fileName, ScintillaEditView * pEdit, bool isBakWrite=true, bool isStatic=false, bool isClearSwpFile=false);\r\n\tvoid updateProAfterSaveNewFile(int curTabIndex, QString fileName, ScintillaEditView * pEdit);\r\n\tvoid setShoctIcon(int iconSize=24);\r\n\tvoid initToolBar();\r\n\r\n\tvoid setTxtLexer(ScintillaEditView * pEdit);\r\n\tvoid saveTabEdit(int tabIndex);\r\n\tvoid saveReceneOpenFile();\r\n\tvoid updateSaveAllToolBarStatus();\r\n\tvoid initReceneOpenFileMenu();\r\n\t\r\n\tint findFileIsOpenAtPad(QString filePath);\r\n\tbool isNewFileNameExist(QString& fileName);\r\n\tvoid updateCurTabSaveStatus();\r\n\tvoid setSaveButtonStatus(bool needSave);\r\n\tvoid setSaveAllButtonStatus(bool needSave);\r\n\tvoid tabClose(int index, bool isInQuit=false);\r\n\tvoid setDocEolMode(ScintillaEditView * pEdit, RC_LINE_FORM endStatus);\r\n\tbool convertDocLineEnd(RC_LINE_FORM endStatus);\r\n\tvoid transDocToEncord(CODE_ID destCode);\r\n\r\n\tvoid syncCurDocEncodeToMenu(QWidget * curEdit);\r\n\tvoid syncCurDocLineEndStatusToMenu(QWidget * curEdit);\r\n\tvoid syncCurDocLexerToMenu(QWidget* pEdit);\r\n\tvoid syncCurDocTailfToMenu(QWidget* curEdit);\r\n\r\n\tvoid cmpSelectFile();\r\n\r\n\tvoid autoSetDocLexer(ScintillaEditView * pEdit, int defLexerId=-1);\r\n\r\n\tvoid updateTitleToCurDocFilePath();\r\n\tvoid addWatchFilePath(QString filePath);\r\n\tvoid removeWatchFilePath(QString filePath);\r\n\r\n\tvoid doReloadTxtFile(ScintillaEditView* pEdit, bool isOnTail, qint64 startReadSize);\r\n\tvoid firstTimeIntoTail(ScintillaEditView* pEdit, int remainLineNums=100);\r\n\tbool checkRoladFile(ScintillaEditView * pEdit, qint64 startReadSize=-1);\r\n\tvoid reloadEditFile(ScintillaEditView * pEidt, bool isTailfOn = false, qint64 startReadSize=-1);\r\n\tint initFindWindow(FindTabIndex type= FIND_TAB);\r\n\r\n\tvoid setToFileRightMenu();\r\n\tvoid initReceneCmp();\r\n\tvoid saveReceneCmp();\r\n\r\n\tQString getShortName(const QString& name);\r\n\r\n\tbool reloadTextFileWithCode(CODE_ID code);\r\n\r\n\tbool openSuperBigTextFile(QString filePath);\r\n\r\n\tbool openBigTextRoFile(QString filePath);\r\n\r\n\tvoid setWindowTitleMode(QString filePath, OpenAttr attr);\r\n\r\n\tbool openTextFile(QString filePath, bool isCheckHex = true, CODE_ID code=CODE_ID::UNKOWN);\r\n\tbool openHexFile(QString filePath);\r\n\t\r\n\tbool showHexFile(ScintillaHexEditView * pEdit, HexFileMgr * hexFile);\r\n\r\n\tbool showBigTextFile(ScintillaEditView * pEdit, TextFileMgr * hexFile);\r\n\tbool showBigTextFile(ScintillaEditView* pEdit, BigTextEditFileMgr* txtFile, int blockIndex);\r\n\r\n\tvoid initNotePadSqlOptions();\r\n\tvoid saveNotePadSqlOptions();\r\n\t//void saveDefFont();\r\n\tvoid savePadUseTimes();\r\n\tvoid saveTempFile(ScintillaEditView * pEdit, int index, QSettings& qs);\r\n\tvoid closeFileStatic(int index, QSettings& qs);\r\n\tvoid closeAllFileStatic();\r\n\r\n\tvoid restoreCleanNewFile(QString & fileName);\r\n\tvoid restoreCleanExistFile(QString & filePath);\r\n\tvoid restoreDirtyNewFile(QString & fileName, QString & tempFilePath, int lexid=L_TXT);\r\n\tbool restoreDirtyExistFile(QString & fileName, QString & tempFilePath);\r\n\t\r\n\tScintillaEditView* newTxtFile(QString Name, int index, QString contentPath=\"\");\r\n\tvoid setLangsDescLable(QString &langDesc);\r\n\tvoid transCurUpperOrLower(TextCaseType type);\r\n\tvoid removeEmptyLine(bool isBlankContained);\r\n\tvoid spaceTabConvert(SpaceTab type);\r\n\tvoid dealLineSort(LINE_SORT_TYPE type);\r\n\r\n\tvoid find(FindTabIndex findType);\r\n\r\n\tvoid registerEscKeyShort(QWidget * parent);\r\n\tvoid closeAllFileWhenQuit(bool isQuit=false);\r\n\tvoid initFileListDockWin();\r\n\tvoid addFileListView(QString file, QWidget* pw);\r\n\tvoid delFileListView(QString file);\r\n\tvoid fileListSetCurItem(QString filePath);\r\n\tvoid syncFileTabToListView();\r\n\tvoid setZoomLabelValue(int zoomValue);\r\n\tvoid zoomto(int zoomValue);\r\n\tvoid tabClose(QWidget* pEdit);\r\n\r\n\tvoid init_toolsMenu();\r\n\tvoid changeBlankShowStatus(int showBlank);\r\n\tvoid syncBlankShowStatus();\r\n\tvoid openFileInNewWin(int index);\r\n#ifdef NO_PLUGIN\r\n\tvoid loadPluginLib();\r\n\tvoid loadPluginProcs(QString strLibDir, QMenu* pMenu);\r\n\tvoid onPlugFound(NDD_PROC_DATA& procData, QMenu* pUserData);\r\n#endif\r\n\r\n\tvoid setUserDefShortcutKey();\r\n\tvoid setNormalTextEditInitPro(ScintillaEditView* pEdit, QString filePath, CODE_ID code, RC_LINE_FORM lineEnd, bool isReadOnly, bool isModifyed);\r\n\tvoid registerCommentShortKey(int type, QKeySequence& keySeq);\r\n\tvoid dealRecentFileMenuWhenColseFile(QString closeFilePath);\r\n\tvoid registerFoldShortKey(int type, QKeySequence& keySeq, bool isFold);\r\n\tvoid doFold(int type, bool mode);\r\n\tvoid doComment(int type);\r\n\tvoid tailfile(bool isOn, ScintillaEditView* pEdit);\r\n\tvoid on_findResultlineDoubleClick(QString* pFilePath, int pos, int end);\r\nprivate:\r\n\tUi::CCNotePad ui;\r\n\r\n\tQLabel* m_codeStatusLabel;\r\n\tQComboBox* m_lineEndLabel;\r\n\tQLabel* m_lineNumLabel;\r\n\tQLabel* m_langDescLabel;\r\n\tQLabel* m_zoomLabel;\r\n\r\n\tQMenu* m_tabRightClickMenu;\r\n\r\n\tQDockWidget* m_dockSelectTreeWin;\r\n\tFindResultWin* m_pResultWin;\r\n\r\n\tQPointer<QDockWidget> m_dockFileListWin;\r\n\tFileListView* m_fileListView;\r\n\r\n\tQList<QString> m_receneOpenFileList;\r\n\r\n\tQActionGroup *m_pEncodeActGroup;\r\n\tQActionGroup *m_pLineEndActGroup;\r\n\tQActionGroup *m_pLexerActGroup;\r\n\tQActionGroup *m_pIconSize;\r\n\r\n#if 0\r\n\tQAction* m_quitAction;\r\n#endif\r\n\r\n\t//关闭时，询问保存文件，用户点击了取消，此时不能走关闭程序\r\n\t//设置一个标志记录该状态，确定最终是否要退出\r\n\tbool m_isQuitCancel;\r\n\t//是否主窗口。可以打开多个，但是只有第一个是主窗口\r\n\tbool m_isMainWindows;\r\n\r\n    QMap<QString, LexerNode> m_lexerNameToIndex;\r\n\r\n\t//监控文件被修改的对象\r\n\tQFileSystemWatcher* m_fileWatch;\r\n\r\n\tQString m_cmpLeftFilePath;\r\n\tQString m_cmpRightFilePath;\r\n\r\n\tQPointer<QMainWindow> m_pFindWin;\r\n\tQPointer<QWidget> m_columnEditWin;\r\n\tQPointer<QMainWindow> m_langSetWin;\r\n\tQPointer<QWidget> m_optionsView;\r\n\t\r\n\r\n\tQSharedMemory* m_shareMem;\r\n\r\n\t\r\n\r\n\tQList<CompareDirs*> m_cmpDirMgr;\r\n\tQList<CompareWin*> m_cmpFileMgr;\r\n\r\n\t//最近打开的对比文件和目录列表。做一个环形区\r\n//保存在数据库中\r\n\tint m_receneDirStartPos;\r\n\tint m_receneFileStartPos;\r\n\tQList<QAction*> m_receneDirList;\r\n\tQList<QAction*> m_receneFileList;\r\n\r\n\tQMap<QString, QAction*> m_receneRecrod;\r\n\r\n\tQAction* m_openInNewWinAct;\r\n\tQAction* m_showFileDirAct;\r\n\tQAction* m_showCmdAct;\r\n\r\n\tQAction* m_openWithText;\r\n\tQAction* m_openWithHex;\r\n\r\n\tQAction* m_selectLeftCmp;\r\n\tQAction* m_selectRightCmp;\r\n\r\n\r\n\t//所有打开的notebook均保存起来。关闭时切换share里面保存的地址\r\n\tstatic QList<CCNotePad*> *s_padInstances;\r\n\r\n\t//当前打开的二进制文件，保存在这里\r\n\tQMap<QString, HexFileMgr*> m_hexFileMgr;\r\n\r\n\tQPointer<QWidget> m_pHexGotoWin;\r\n\r\n\tstatic QStringList s_findHistroy;\r\n\tstatic QStringList s_replaceHistroy;\r\n\tstatic int s_padTimes;\r\n\r\n\tint m_curSoftLangs; //当前语言0:自动 1 中文 2 英语\r\n\r\n\tstatic int s_autoWarp; //自动换行\r\n\tstatic int s_indent; //自动缩进\r\n\tstatic int s_showblank; //显示空白\r\n\tstatic int s_zoomValue;\r\n\t\r\n\t\r\n\tQTranslator* m_translator;\r\n\tQTimer * m_timerAutoSave;\r\n\r\n\tQToolButton* m_newFile;\r\n\tQToolButton* m_openFile;\r\n\tQToolButton* m_saveFile;\r\n\tQToolButton* m_saveAllFile;\r\n\tQToolButton* m_autoSaveAFile;\r\n\tQToolButton* m_closeFile;\r\n\tQToolButton* m_closeAllFile;\r\n\tQToolButton* m_cutFile;\r\n\tQToolButton* m_copyFile;\r\n\tQToolButton* m_pasteFile;\r\n\tQToolButton* m_undo;\r\n\tQToolButton* m_redo;\r\n\tQToolButton* m_findText;\r\n\tQToolButton* m_replaceText;\r\n\tQToolButton* m_markText;\r\n\tQToolButton* m_signText;\r\n\tQToolButton* m_clearMark;\r\n\tQToolButton* m_zoomin;\r\n\tQToolButton* m_zoomout;\r\n\tQToolButton* m_wordwrap;\r\n\tQToolButton* m_allWhite;\r\n\tQToolButton* m_indentGuide;\r\n\tQToolButton* m_tailf;\r\n\tQToolButton* m_preHexPage;\r\n\tQToolButton* m_nextHexPage;\r\n\tQToolButton* m_gotoHexPage;\r\n\r\n\tQToolButton* m_transcode;\r\n\tQToolButton* m_rename;\r\n\r\n\tQAction* m_formatXml;\r\n\tQAction* m_formatJson;\r\n\r\n\r\n\tQPointer<QMainWindow> m_batchFindWin;\r\n\r\n\tint m_curIconSize;\r\n\tint m_curColorIndex;\r\n\r\n\tbool m_isInReloadFile;\r\n\r\n\tbool m_isToolMenuLoaded;\r\n\r\n\tbool m_isInitBookMarkAct;\r\n\r\n\tbool m_isRecentFileLoaded;\r\n\r\n\tQList<QAction*>m_styleMarkActList;\r\n\tQList<NDD_PROC_DATA> m_pluginList;\r\n\r\npublic:\r\n\t\r\n\t\tstatic QString s_lastOpenDirPath;\r\n\tstatic int s_restoreLastFile; //自动恢复上次打开的文件\r\n\tstatic int s_curStyleId;\r\n\tstatic int s_curMarkColorId;\r\n\tstatic int s_hightWebAddr;//高亮网页地址\r\n};\r\n\r\n"
  },
  {
    "path": "src/cceditor/ccnotepad.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>CCNotePad</class>\r\n <widget class=\"QMainWindow\" name=\"CCNotePad\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>1458</width>\r\n    <height>789</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"font\">\r\n   <font>\r\n    <family>Microsoft YaHei</family>\r\n    <pointsize>12</pointsize>\r\n   </font>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>notepad--</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"../RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n    <property name=\"spacing\">\r\n     <number>0</number>\r\n    </property>\r\n    <property name=\"leftMargin\">\r\n     <number>1</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>0</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>0</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>0</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QTabWidget\" name=\"editTabWidget\">\r\n      <property name=\"font\">\r\n       <font>\r\n        <family>Microsoft YaHei</family>\r\n        <pointsize>10</pointsize>\r\n       </font>\r\n      </property>\r\n      <property name=\"currentIndex\">\r\n       <number>-1</number>\r\n      </property>\r\n      <property name=\"iconSize\">\r\n       <size>\r\n        <width>22</width>\r\n        <height>22</height>\r\n       </size>\r\n      </property>\r\n      <property name=\"usesScrollButtons\">\r\n       <bool>true</bool>\r\n      </property>\r\n      <property name=\"tabsClosable\">\r\n       <bool>true</bool>\r\n      </property>\r\n      <property name=\"movable\">\r\n       <bool>true</bool>\r\n      </property>\r\n      <property name=\"tabBarAutoHide\">\r\n       <bool>false</bool>\r\n      </property>\r\n     </widget>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QMenuBar\" name=\"menuBar\">\r\n   <property name=\"geometry\">\r\n    <rect>\r\n     <x>0</x>\r\n     <y>0</y>\r\n     <width>1458</width>\r\n     <height>27</height>\r\n    </rect>\r\n   </property>\r\n   <widget class=\"QMenu\" name=\"menuFile\">\r\n    <property name=\"layoutDirection\">\r\n     <enum>Qt::LeftToRight</enum>\r\n    </property>\r\n    <property name=\"title\">\r\n     <string>&amp;File</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menuRecene_File\">\r\n     <property name=\"title\">\r\n      <string>Recene File</string>\r\n     </property>\r\n    </widget>\r\n    <addaction name=\"actionNewFile\"/>\r\n    <addaction name=\"actionOpenFile\"/>\r\n    <addaction name=\"actionSave\"/>\r\n    <addaction name=\"actionSave_as\"/>\r\n    <addaction name=\"actionClose\"/>\r\n    <addaction name=\"actionClose_All\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"actionClear_History\"/>\r\n    <addaction name=\"menuRecene_File\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuEdit\">\r\n    <property name=\"layoutDirection\">\r\n     <enum>Qt::LeftToRight</enum>\r\n    </property>\r\n    <property name=\"title\">\r\n     <string>&amp;Edit</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menuformat_conversion\">\r\n     <property name=\"title\">\r\n      <string>Format Conversion</string>\r\n     </property>\r\n     <addaction name=\"actionconver_windows_CR_LF\"/>\r\n     <addaction name=\"actionconvert_Unix_LF\"/>\r\n     <addaction name=\"actionconvert_Mac_CR\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuBlank_CharOperate\">\r\n     <property name=\"title\">\r\n      <string>Blank CharOperate</string>\r\n     </property>\r\n     <addaction name=\"actionRemove_leading_blank\"/>\r\n     <addaction name=\"actionRemove_eding_blank\"/>\r\n     <addaction name=\"actionRemove_Head_End_Blank\"/>\r\n     <addaction name=\"separator\"/>\r\n     <addaction name=\"actionTAB_to_Space\"/>\r\n     <addaction name=\"actionSpace_to_TAB_All\"/>\r\n     <addaction name=\"actionSpace_to_TAB_Leading\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuConvert_Case_to\">\r\n     <property name=\"title\">\r\n      <string>Convert Case to</string>\r\n     </property>\r\n     <addaction name=\"actionUPPERCASE\"/>\r\n     <addaction name=\"actionlowercase\"/>\r\n     <addaction name=\"actionProper_Case\"/>\r\n     <addaction name=\"actionProper_Case_blend\"/>\r\n     <addaction name=\"actionSentence_case\"/>\r\n     <addaction name=\"actionSentence_case_blend\"/>\r\n     <addaction name=\"actionInvertCase\"/>\r\n     <addaction name=\"actionRandomCase\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuLine_Operations\">\r\n     <property name=\"title\">\r\n      <string>Line Operations</string>\r\n     </property>\r\n     <addaction name=\"actionDuplicate_Current_Line\"/>\r\n     <addaction name=\"actionRemove_Duplicate_Lines\"/>\r\n     <addaction name=\"actionSplit_Lines\"/>\r\n     <addaction name=\"actionJoin_Lines\"/>\r\n     <addaction name=\"actionMove_Up_Current_Line\"/>\r\n     <addaction name=\"actionMove_Down_Current_Line\"/>\r\n     <addaction name=\"actionRemove_Empty_Lines\"/>\r\n     <addaction name=\"actionRemove_Empty_Lines_Cbc\"/>\r\n     <addaction name=\"actionInsert_Blank_Line_Above_Current\"/>\r\n     <addaction name=\"actionInsert_Blank_Line_Below_Current\"/>\r\n     <addaction name=\"actionReverse_Line_Order\"/>\r\n     <addaction name=\"separator\"/>\r\n     <addaction name=\"actionSort_Lines_Lexicographically_Ascending\"/>\r\n     <addaction name=\"actionSort_Lines_Lex_Ascending_Ignoring_Case\"/>\r\n     <addaction name=\"actionSort_Lines_Lexicographically_Descending\"/>\r\n     <addaction name=\"actionSort_Lines_Lex_Descending_Ignoring_Case\"/>\r\n    </widget>\r\n    <addaction name=\"actionundo\"/>\r\n    <addaction name=\"actionredo\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"actioncut\"/>\r\n    <addaction name=\"actioncopy\"/>\r\n    <addaction name=\"actionpaste\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"actionselect_All\"/>\r\n    <addaction name=\"menuformat_conversion\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"actionOpen_In_Text\"/>\r\n    <addaction name=\"actionOpen_In_Bin\"/>\r\n    <addaction name=\"menuBlank_CharOperate\"/>\r\n    <addaction name=\"menuConvert_Case_to\"/>\r\n    <addaction name=\"menuLine_Operations\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"actionColumn_Edit_Mode\"/>\r\n    <addaction name=\"actionColumn_Block_Editing\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuSearch\">\r\n    <property name=\"title\">\r\n     <string>&amp;Search</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menuBook_Mark\">\r\n     <property name=\"title\">\r\n      <string>Bookmark</string>\r\n     </property>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuMark_Color\">\r\n     <property name=\"title\">\r\n      <string>Mark Color</string>\r\n     </property>\r\n    </widget>\r\n    <addaction name=\"actionFind\"/>\r\n    <addaction name=\"actionFindNext\"/>\r\n    <addaction name=\"actionFindPrev\"/>\r\n    <addaction name=\"actionFind_In_Dir\"/>\r\n    <addaction name=\"actionReplace\"/>\r\n    <addaction name=\"actionGoline\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"menuBook_Mark\"/>\r\n    <addaction name=\"menuMark_Color\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuView\">\r\n    <property name=\"title\">\r\n     <string>&amp;View</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menudisplay_symbols\">\r\n     <property name=\"title\">\r\n      <string>Display symbols</string>\r\n     </property>\r\n     <addaction name=\"actionShowSpaces\"/>\r\n     <addaction name=\"actionshow_end_of_line\"/>\r\n     <addaction name=\"actionShowAll\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuIcon_Size\">\r\n     <property name=\"title\">\r\n      <string>Icon Size</string>\r\n     </property>\r\n     <addaction name=\"action24\"/>\r\n     <addaction name=\"action36\"/>\r\n     <addaction name=\"action48\"/>\r\n    </widget>\r\n    <addaction name=\"menudisplay_symbols\"/>\r\n    <addaction name=\"actionSearch_Result\"/>\r\n    <addaction name=\"menuIcon_Size\"/>\r\n    <addaction name=\"actionWrap\"/>\r\n    <addaction name=\"actionFileListView\"/>\r\n    <addaction name=\"actionShow_ToolBar\"/>\r\n    <addaction name=\"actionShow_Web_Addr\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuCode\">\r\n    <property name=\"title\">\r\n     <string>E&amp;ncoding</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menuASNI\">\r\n     <property name=\"title\">\r\n      <string>Other</string>\r\n     </property>\r\n     <addaction name=\"actionBig5\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuConvert_to_Other\">\r\n     <property name=\"title\">\r\n      <string>Convert to Other</string>\r\n     </property>\r\n     <addaction name=\"actionToBig5\"/>\r\n    </widget>\r\n    <addaction name=\"actionencode_in_GBK\"/>\r\n    <addaction name=\"actionencode_in_uft8\"/>\r\n    <addaction name=\"actionencode_in_UTF8_BOM\"/>\r\n    <addaction name=\"actionencode_in_UCS_BE_BOM\"/>\r\n    <addaction name=\"actionencode_in_UCS_2_LE_BOM\"/>\r\n    <addaction name=\"menuASNI\"/>\r\n    <addaction name=\"separator\"/>\r\n    <addaction name=\"actionconvert_to_GBK\"/>\r\n    <addaction name=\"actionconvert_to_UTF8\"/>\r\n    <addaction name=\"actionconvert_to_UTF8_BOM\"/>\r\n    <addaction name=\"actionconvert_to_UCS_2_BE_BOM\"/>\r\n    <addaction name=\"actionconvert_to_UCS_2_LE_BOM\"/>\r\n    <addaction name=\"menuConvert_to_Other\"/>\r\n    <addaction name=\"actionbatch_convert\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuLanguage\">\r\n    <property name=\"title\">\r\n     <string>&amp;Language</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menuP\">\r\n     <property name=\"title\">\r\n      <string>P</string>\r\n     </property>\r\n     <addaction name=\"actionPascal\"/>\r\n     <addaction name=\"actionPerl\"/>\r\n     <addaction name=\"actionPhp\"/>\r\n     <addaction name=\"actionPo\"/>\r\n     <addaction name=\"actionPostScript\"/>\r\n     <addaction name=\"actionPov\"/>\r\n     <addaction name=\"actionPowerShell\"/>\r\n     <addaction name=\"actionProperties_file\"/>\r\n     <addaction name=\"actionPureBasic\"/>\r\n     <addaction name=\"actionPython\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuC\">\r\n     <property name=\"title\">\r\n      <string>C</string>\r\n     </property>\r\n     <addaction name=\"actionC\"/>\r\n     <addaction name=\"actionCPP\"/>\r\n     <addaction name=\"actionCShape\"/>\r\n     <addaction name=\"actionObjective_C\"/>\r\n     <addaction name=\"actionCss\"/>\r\n     <addaction name=\"actionCMake\"/>\r\n     <addaction name=\"actionCoffeeScript\"/>\r\n     <addaction name=\"actionCsound\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuJ\">\r\n     <property name=\"title\">\r\n      <string>J</string>\r\n     </property>\r\n     <addaction name=\"actionJava\"/>\r\n     <addaction name=\"actionJavaScript\"/>\r\n     <addaction name=\"actionJsp\"/>\r\n     <addaction name=\"actionjson\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuR\">\r\n     <property name=\"title\">\r\n      <string>R</string>\r\n     </property>\r\n     <addaction name=\"actionR_2\"/>\r\n     <addaction name=\"actionRC\"/>\r\n     <addaction name=\"actionRuby\"/>\r\n     <addaction name=\"actionRust\"/>\r\n     <addaction name=\"actionRegistry\"/>\r\n     <addaction name=\"actionREBOL\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuH\">\r\n     <property name=\"title\">\r\n      <string>H</string>\r\n     </property>\r\n     <addaction name=\"actionHTML\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuM\">\r\n     <property name=\"title\">\r\n      <string>M</string>\r\n     </property>\r\n     <addaction name=\"actionMakefile\"/>\r\n     <addaction name=\"actionMMIXAL\"/>\r\n     <addaction name=\"actionMarkDown_2\"/>\r\n     <addaction name=\"actionMatlab\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuB\">\r\n     <property name=\"title\">\r\n      <string>B</string>\r\n     </property>\r\n     <addaction name=\"actionBaanC\"/>\r\n     <addaction name=\"actionbash\"/>\r\n     <addaction name=\"actionBatch\"/>\r\n     <addaction name=\"actionBlitzBasic\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuI\">\r\n     <property name=\"title\">\r\n      <string>I</string>\r\n     </property>\r\n     <addaction name=\"actionIDL\"/>\r\n     <addaction name=\"actionini\"/>\r\n     <addaction name=\"actionIntel_HEX\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuN\">\r\n     <property name=\"title\">\r\n      <string>N</string>\r\n     </property>\r\n     <addaction name=\"actionNfo\"/>\r\n     <addaction name=\"actionNSIS\"/>\r\n     <addaction name=\"actionNncrontab\"/>\r\n     <addaction name=\"actionNim\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuA\">\r\n     <property name=\"title\">\r\n      <string>A</string>\r\n     </property>\r\n     <addaction name=\"actionASP\"/>\r\n     <addaction name=\"actionActionScript\"/>\r\n     <addaction name=\"actionAssembly\"/>\r\n     <addaction name=\"actionAutoIt\"/>\r\n     <addaction name=\"actionAviSynth\"/>\r\n     <addaction name=\"actionASN1\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuS\">\r\n     <property name=\"title\">\r\n      <string>S</string>\r\n     </property>\r\n     <addaction name=\"actionSql\"/>\r\n     <addaction name=\"actionShell\"/>\r\n     <addaction name=\"actionScheme\"/>\r\n     <addaction name=\"actionSmalltalk\"/>\r\n     <addaction name=\"actionS_Record\"/>\r\n     <addaction name=\"actionSwift\"/>\r\n     <addaction name=\"actionSpice\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuV\">\r\n     <property name=\"title\">\r\n      <string>V</string>\r\n     </property>\r\n     <addaction name=\"actionVb\"/>\r\n     <addaction name=\"actionVerilog\"/>\r\n     <addaction name=\"actionVirsual_Basic\"/>\r\n     <addaction name=\"actionVHDL\"/>\r\n     <addaction name=\"actionVisual_Prolog\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuL\">\r\n     <property name=\"title\">\r\n      <string>L</string>\r\n     </property>\r\n     <addaction name=\"actionLua\"/>\r\n     <addaction name=\"actionLisp\"/>\r\n     <addaction name=\"actionLaTex\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuT\">\r\n     <property name=\"title\">\r\n      <string>T</string>\r\n     </property>\r\n     <addaction name=\"actionTex\"/>\r\n     <addaction name=\"actionTcl\"/>\r\n     <addaction name=\"actionTypeScript\"/>\r\n     <addaction name=\"actionTxt2tags\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuF\">\r\n     <property name=\"title\">\r\n      <string>F</string>\r\n     </property>\r\n     <addaction name=\"actionFortran\"/>\r\n     <addaction name=\"actionFortran77\"/>\r\n     <addaction name=\"actionForth\"/>\r\n     <addaction name=\"actionFreeBasic\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuD\">\r\n     <property name=\"title\">\r\n      <string>D</string>\r\n     </property>\r\n     <addaction name=\"actionD_2\"/>\r\n     <addaction name=\"actionDiff\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuO\">\r\n     <property name=\"title\">\r\n      <string>O</string>\r\n     </property>\r\n     <addaction name=\"actionOScript\"/>\r\n     <addaction name=\"actionOctave\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuE\">\r\n     <property name=\"title\">\r\n      <string>E</string>\r\n     </property>\r\n     <addaction name=\"actionESCRIPT\"/>\r\n     <addaction name=\"actionErlang\"/>\r\n     <addaction name=\"actionEdifact\"/>\r\n    </widget>\r\n    <widget class=\"QMenu\" name=\"menuG\">\r\n     <property name=\"title\">\r\n      <string>G</string>\r\n     </property>\r\n     <addaction name=\"actionGo\"/>\r\n    </widget>\r\n    <addaction name=\"menuA\"/>\r\n    <addaction name=\"menuB\"/>\r\n    <addaction name=\"menuC\"/>\r\n    <addaction name=\"menuD\"/>\r\n    <addaction name=\"menuE\"/>\r\n    <addaction name=\"menuF\"/>\r\n    <addaction name=\"menuG\"/>\r\n    <addaction name=\"menuH\"/>\r\n    <addaction name=\"menuI\"/>\r\n    <addaction name=\"menuJ\"/>\r\n    <addaction name=\"menuL\"/>\r\n    <addaction name=\"menuM\"/>\r\n    <addaction name=\"menuN\"/>\r\n    <addaction name=\"menuO\"/>\r\n    <addaction name=\"menuP\"/>\r\n    <addaction name=\"menuR\"/>\r\n    <addaction name=\"menuS\"/>\r\n    <addaction name=\"menuT\"/>\r\n    <addaction name=\"menuV\"/>\r\n    <addaction name=\"actionXML\"/>\r\n    <addaction name=\"actionYAML\"/>\r\n    <addaction name=\"actionTxt\"/>\r\n    <addaction name=\"actionUserDefine\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuSet\">\r\n    <property name=\"title\">\r\n     <string>Se&amp;t</string>\r\n    </property>\r\n    <widget class=\"QMenu\" name=\"menuLanguage_2\">\r\n     <property name=\"title\">\r\n      <string>Language</string>\r\n     </property>\r\n     <addaction name=\"actionChinese\"/>\r\n     <addaction name=\"actionEnglish\"/>\r\n    </widget>\r\n    <addaction name=\"actionOptions\"/>\r\n    <addaction name=\"menuLanguage_2\"/>\r\n    <addaction name=\"actionLanguage_Format\"/>\r\n    <addaction name=\"actionDefine_Language\"/>\r\n    <addaction name=\"actionLanguage_File_Suffix\"/>\r\n    <addaction name=\"actionShortcut_Key_Manager\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuAbout\">\r\n    <property name=\"title\">\r\n     <string>Feedback</string>\r\n    </property>\r\n    <addaction name=\"actionDonate\"/>\r\n    <addaction name=\"actionCC_Pad\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuAbout_2\">\r\n    <property name=\"title\">\r\n     <string>About</string>\r\n    </property>\r\n    <addaction name=\"actioninfo\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuTools\">\r\n    <property name=\"title\">\r\n     <string>T&amp;ools</string>\r\n    </property>\r\n    <addaction name=\"actionMd5_Sha\"/>\r\n   </widget>\r\n   <widget class=\"QMenu\" name=\"menuPlugin\">\r\n    <property name=\"title\">\r\n     <string>Plugin</string>\r\n    </property>\r\n    <addaction name=\"actionPlugin_Manager\"/>\r\n   </widget>\r\n   <addaction name=\"menuFile\"/>\r\n   <addaction name=\"menuEdit\"/>\r\n   <addaction name=\"menuSearch\"/>\r\n   <addaction name=\"menuView\"/>\r\n   <addaction name=\"menuCode\"/>\r\n   <addaction name=\"menuLanguage\"/>\r\n   <addaction name=\"menuSet\"/>\r\n   <addaction name=\"menuTools\"/>\r\n   <addaction name=\"menuPlugin\"/>\r\n   <addaction name=\"menuCompare\"/>\r\n   <addaction name=\"menuAbout\"/>\r\n   <addaction name=\"menuAbout_2\"/>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <property name=\"movable\">\r\n    <bool>false</bool>\r\n   </property>\r\n   <property name=\"floatable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n  <action name=\"actionNewFile\">\r\n   <property name=\"text\">\r\n    <string>New</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+T</string>\r\n   </property>\r\n   <property name=\"shortcutContext\">\r\n    <enum>Qt::WindowShortcut</enum>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionOpenFile\">\r\n   <property name=\"text\">\r\n    <string>Open ...</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+O</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSave\">\r\n   <property name=\"text\">\r\n    <string>Save</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+S</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSave_as\">\r\n   <property name=\"text\">\r\n    <string>Save As ...</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Alt+S</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionClose\">\r\n   <property name=\"text\">\r\n    <string>Close</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+W</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionExit\">\r\n   <property name=\"text\">\r\n    <string>Exit</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Q</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionClose_All\">\r\n   <property name=\"text\">\r\n    <string>Close All</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Shift+W</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionundo\">\r\n   <property name=\"text\">\r\n    <string>Undo</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Z</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionredo\">\r\n   <property name=\"text\">\r\n    <string>Redo</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Y</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actioncut\">\r\n   <property name=\"text\">\r\n    <string>Cut</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+X</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actioncopy\">\r\n   <property name=\"text\">\r\n    <string>Copy</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+C</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionpaste\">\r\n   <property name=\"text\">\r\n    <string>Paste</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+V</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionselect_All\">\r\n   <property name=\"text\">\r\n    <string>Select All</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+A</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconver_windows_CR_LF\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Windows(CR+LF)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_Unix_LF\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Unix(LF)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_Mac_CR\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Mac(CR)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFind\">\r\n   <property name=\"text\">\r\n    <string>Find</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+F</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionReplace\">\r\n   <property name=\"text\">\r\n    <string>Replace</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+H</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionGoline\">\r\n   <property name=\"text\">\r\n    <string>Go line</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+G</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionShowSpaces\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Show spaces/tabs</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionshow_end_of_line\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Show end of line</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionShowAll\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Show all</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionencode_in_GBK\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Encode in GBK</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionencode_in_uft8\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Encode in UTF8</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionencode_in_UTF8_BOM\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Encode in UTF8-BOM</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionencode_in_UCS_BE_BOM\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Encode in UCS-2 BE BOM</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionencode_in_UCS_2_LE_BOM\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Encode in UCS-2 LE BOM</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_to_GBK\">\r\n   <property name=\"text\">\r\n    <string>Convert to GBK</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_to_UTF8\">\r\n   <property name=\"text\">\r\n    <string>Convert to UTF8</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_to_UTF8_BOM\">\r\n   <property name=\"text\">\r\n    <string>Convert to UTF8-BOM</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_to_UCS_2_BE_BOM\">\r\n   <property name=\"text\">\r\n    <string>Convert to UCS-2 BE BOM</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionconvert_to_UCS_2_LE_BOM\">\r\n   <property name=\"text\">\r\n    <string>Convert to UCS-2 LE BOM</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionbatch_convert\">\r\n   <property name=\"text\">\r\n    <string>Batch convert</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionOptions\">\r\n   <property name=\"text\">\r\n    <string>Options</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCC_Pad\">\r\n   <property name=\"text\">\r\n    <string>BugFix</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFile_compare\">\r\n   <property name=\"text\">\r\n    <string>File compare</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDir_compare\">\r\n   <property name=\"text\">\r\n    <string>Dir compare</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionR\">\r\n   <property name=\"text\">\r\n    <string>R</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionXML\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>XML</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionYAML\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>YAML</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPhp\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>PHP</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionC\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>C</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCPP\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>C++</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCShape\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>C#</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionObjective_C\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Objective C</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionJava\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Java</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRC\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>RC</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionHTML\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>HTML</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMakefile\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Makefile</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPascal\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Pascal</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionBatch\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Batch</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionini\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>ini</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionNfo\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Nfo</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionASP\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Asp</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSql\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Sql</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionVirsual_Basic\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Visual Basic</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionJavaScript\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>JavaScript</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCss\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>CSS</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPerl\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Perl</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPython\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Python</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLua\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Lua</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionTex\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>TeX</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFortran\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Fortran</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionShell\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Shell</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionActionScript\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>ActionScript</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionNSIS\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>NSIS</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionTcl\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Tcl</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLisp\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Lisp</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionScheme\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Scheme</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionAssembly\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Assembly</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionD\">\r\n   <property name=\"text\">\r\n    <string>D</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDiff\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Diff</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionProperties_file\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Properties file</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPostScript\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>PostScript</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRuby\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Ruby</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSmalltalk\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Smalltalk</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionVHDL\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>VHDL</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionAutoIt\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>AutoIt</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCMake\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>CMake</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPowerShell\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>PowerShell</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionJsp\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Jsp</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCoffeeScript\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>CoffeeScript</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionBaanC\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>BaanC</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionS_Record\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>S-Record</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionTypeScript\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>TypeScript</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionVisual_Prolog\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Visual Prolog</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionTxt2tags\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Txt2tags</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRust\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Rust</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRegistry\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Registry</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionREBOL\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>REBOL</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionOScript\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>OScript</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionNncrontab\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>NCrontab</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionNim\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Nim</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMMIXAL\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>MMIXAL</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLaTex\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>LaTeX</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionForth\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Forth</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionESCRIPT\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>ESCRIPT</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionErlang\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Erlang</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionCsound\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Csound</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFreeBasic\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>FreeBasic</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionBlitzBasic\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>BlitzBasic</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPureBasic\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>PureBasic</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionAviSynth\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>AviSynth</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionASN1\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>ASN.1</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSwift\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Swift</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionIntel_HEX\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Intel HEX</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFortran77\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Fortran77</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionEdifact\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Edifact</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMarkDown\">\r\n   <property name=\"text\">\r\n    <string>MarkDown</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMarkDown_2\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>MarkDown</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionOctave\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Octave</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPo\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Po</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPov\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Pov</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionjson\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>JSON</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionD_2\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>D</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionAVS\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>AVS</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionbash\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Bash</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionIDL\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>IDL</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMatlab\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Matlab</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSpice\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>SPICE</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionVerilog\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Verilog</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionTxt\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>TXT</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actiontest\">\r\n   <property name=\"text\">\r\n    <string>test</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actiontest_2\">\r\n   <property name=\"text\">\r\n    <string>test</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionGo\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Go</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSearch_Result\">\r\n   <property name=\"text\">\r\n    <string>Search Result</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDonate\">\r\n   <property name=\"text\">\r\n    <string>Donate</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDefaultStyle\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"checked\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Default</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLightBlueStyle\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>LightBlue</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionThinBlue\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>ThinBlue</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRiceYellow\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>RiceYellow</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionYellow\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Yellow</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSilver\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Silver</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLavenderBlush\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>LavenderBlush</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMistyRose\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>MistyRose</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionEnglish\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>English</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionChinese\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Chinese</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLanguage_Format\">\r\n   <property name=\"text\">\r\n    <string>Theme Style</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionOpen_In_Text\">\r\n   <property name=\"text\">\r\n    <string>Open In Text</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionOpen_In_Bin\">\r\n   <property name=\"text\">\r\n    <string>Open In Bin</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_leading_blank\">\r\n   <property name=\"text\">\r\n    <string>Remove Head Blank</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_eding_blank\">\r\n   <property name=\"text\">\r\n    <string>Remove  End Blank</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_Head_End_Blank\">\r\n   <property name=\"text\">\r\n    <string>Remove Head End Blank</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionColumn_Block_Editing\">\r\n   <property name=\"text\">\r\n    <string>Column Block Editing</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Alt+X</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionWrap\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Wrap</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDefine_Language\">\r\n   <property name=\"text\">\r\n    <string>Define Language</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionUPPERCASE\">\r\n   <property name=\"text\">\r\n    <string>UPPERCASE</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionlowercase\">\r\n   <property name=\"text\">\r\n    <string>lowercase</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionProper_Case\">\r\n   <property name=\"text\">\r\n    <string>Proper Case</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionProper_Case_blend\">\r\n   <property name=\"text\">\r\n    <string>Proper Case (blend)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSentence_case\">\r\n   <property name=\"text\">\r\n    <string>Sentence case</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSentence_case_blend\">\r\n   <property name=\"text\">\r\n    <string>Sentence case (blend)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionInvertCase\">\r\n   <property name=\"text\">\r\n    <string>Invert Case</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRandomCase\">\r\n   <property name=\"text\">\r\n    <string>Random Case</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_Empty_Lines\">\r\n   <property name=\"text\">\r\n    <string>Remove Empty Lines</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_Empty_Lines_Cbc\">\r\n   <property name=\"text\">\r\n    <string>Remove Empty Lines (Containing Blank characters)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionUserDefine\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>UserDefine</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionColumn_Edit_Mode\">\r\n   <property name=\"text\">\r\n    <string>Column Block Mode</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionTAB_to_Space\">\r\n   <property name=\"text\">\r\n    <string>TAB to Space</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSpace_to_TAB_All\">\r\n   <property name=\"text\">\r\n    <string>Space to TAB (All)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSpace_to_TAB_Leading\">\r\n   <property name=\"text\">\r\n    <string>Space to TAB (Leading)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDuplicate_Current_Line\">\r\n   <property name=\"text\">\r\n    <string>Duplicate Current Line</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+D</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_Duplicate_Lines\">\r\n   <property name=\"text\">\r\n    <string>Remove Duplicate Lines</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRemove_Consecutive_Duplicate_Lines\">\r\n   <property name=\"text\">\r\n    <string>Remove Consecutive Duplicate Lines</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSplit_Lines\">\r\n   <property name=\"text\">\r\n    <string>Split Lines</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionJoin_Lines\">\r\n   <property name=\"text\">\r\n    <string>Join Lines</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMove_Up_Current_Line\">\r\n   <property name=\"text\">\r\n    <string>Move Up Current Line</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Shift+Up</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMove_Down_Current_Line\">\r\n   <property name=\"text\">\r\n    <string>Move Down Current Line</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Shift+Down</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionInsert_Blank_Line_Above_Current\">\r\n   <property name=\"text\">\r\n    <string>Insert Blank Line Above Current</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Alt+Return</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionInsert_Blank_Line_Below_Current\">\r\n   <property name=\"text\">\r\n    <string>Insert Blank Line Below Current</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Alt+Shift+Return</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionReverse_Line_Order\">\r\n   <property name=\"text\">\r\n    <string>Reverse Line Order</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRandomize_Line_Order\">\r\n   <property name=\"text\">\r\n    <string>Randomize Line Order</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_Lexicographically_Ascending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines Lexicographically Ascending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_Lex_Ascending_Ignoring_Case\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines Lex. Ascending Ignoring Case</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_As_Integers_Ascending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines As Integers Ascending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_As_Decimals_Comma_Ascending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines As Decimals (Comma) Ascending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_As_Decimals_Dot_Ascending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines As Decimals (Dot) Ascending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_Lexicographically_Descending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines Lexicographically Descending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_Lex_Descending_Ignoring_Case\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines Lex. Descending Ignoring Case</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_As_Integers_Descending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines As Integers Descending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_As_Decimals_Comma_Descending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines As Decimals (Comma) Descending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionSort_Lines_As_Decimals_Dot_Descending\">\r\n   <property name=\"text\">\r\n    <string>Sort Lines As Decimals (Dot) Descending</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFind_In_Dir\">\r\n   <property name=\"text\">\r\n    <string>Find In Dir</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>Ctrl+Shift+D</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFindNext\">\r\n   <property name=\"text\">\r\n    <string>Find Next</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>F3</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFindPrev\">\r\n   <property name=\"text\">\r\n    <string>Find Prev</string>\r\n   </property>\r\n   <property name=\"shortcut\">\r\n    <string>F4</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionRed\">\r\n   <property name=\"text\">\r\n    <string>Red</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionYellow_2\">\r\n   <property name=\"text\">\r\n    <string>Yellow</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionBlue\">\r\n   <property name=\"text\">\r\n    <string>Blue</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionBig5\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Big5</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionToBig5\">\r\n   <property name=\"text\">\r\n    <string>Big5</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"action24\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>24x24</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"action36\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>36x36</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"action48\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>48x48</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actioninfo\">\r\n   <property name=\"text\">\r\n    <string>About Notepad--</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"action1\">\r\n   <property name=\"text\">\r\n    <string>1</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFormat_Xml\">\r\n   <property name=\"text\">\r\n    <string>Format Xml</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFormat_Json\">\r\n   <property name=\"text\">\r\n    <string>Format Json</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionDark\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Dark</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionVb\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>VB</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"color1\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>1</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"color2\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>2</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"color3\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>3</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"color4\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>4</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"color5\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>5</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"loopColor\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>loop</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionClear_History\">\r\n   <property name=\"text\">\r\n    <string>Clear History</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionFileListView\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>FileListView</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionShow_ToolBar\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"checked\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Show ToolBar</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionBatch_Find\">\r\n   <property name=\"text\">\r\n    <string>Batch Find</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionShow_Web_Addr\">\r\n   <property name=\"checkable\">\r\n    <bool>true</bool>\r\n   </property>\r\n   <property name=\"text\">\r\n    <string>Show Web Addr(Not recommended)</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionLanguage_File_Suffix\">\r\n   <property name=\"text\">\r\n    <string>Language File Suffix</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionShortcut_Key_Manager\">\r\n   <property name=\"text\">\r\n    <string>Shortcut Key Manager</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionR_2\">\r\n   <property name=\"text\">\r\n    <string>R</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actiontest_3\">\r\n   <property name=\"text\">\r\n    <string>test</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionPlugin_Manager\">\r\n   <property name=\"text\">\r\n    <string>Plugin Manager</string>\r\n   </property>\r\n  </action>\r\n  <action name=\"actionMd5_Sha\">\r\n   <property name=\"text\">\r\n    <string>Md5/Sha</string>\r\n   </property>\r\n  </action>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"../RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>actionNewFile</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_actionNewFile_toggle(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionOpenFile</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_actionOpenFile_toggle(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSave</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_actionSaveFile_toggle(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSave_as</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_actionSaveAsFile_toggle(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionClose</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_actionClose(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionExit</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_quit(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionClose_All</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_closeAllFile(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionredo</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_redo()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionundo</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_undo()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actioncopy</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_copy()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionpaste</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_paste()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actioncut</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_cut()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionselect_All</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_selectAll()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_Mac_CR</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_convertMacLineEnd(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconver_windows_CR_LF</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_convertWinLineEnd(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_Unix_LF</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_convertUnixLineEnd(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionFind</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_find()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionReplace</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_replace()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionGoline</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_gotoline()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionShowSpaces</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_show_spaces(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionshow_end_of_line</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_show_line_end(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionShowAll</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_allWhite(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionencode_in_GBK</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_load_with_gbk()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_to_UTF8</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_encode_utf8()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_to_UTF8_BOM</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_encode_utf8_bom()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_to_UCS_2_BE_BOM</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_encode_utf16_be()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionencode_in_UCS_2_LE_BOM</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_load_with_utf16_le()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionencode_in_UCS_BE_BOM</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_load_with_utf16_be()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionencode_in_UTF8_BOM</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_load_with_utf8_bom()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionencode_in_uft8</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_load_with_utf8()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_to_GBK</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_encode_gbk()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionconvert_to_UCS_2_LE_BOM</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_encode_utf16_le()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>393</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionDir_compare</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_compareDir()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionFile_compare</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_compareFile()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionCC_Pad</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_about()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionbatch_convert</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_batch_convert()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionOptions</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_options()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSearch_Result</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_searchResultShow()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionDonate</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_donate()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>554</x>\r\n     <y>379</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionEnglish</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_changeEnglish()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionChinese</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_changeChinese()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionLanguage_Format</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_langFormat()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionOpen_In_Text</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_reOpenTextMode()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionOpen_In_Bin</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_reOpenHexMode()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRemove_leading_blank</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_removeHeadBlank()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRemove_eding_blank</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_removeEndBlank()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRemove_Head_End_Blank</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_removeHeadEndBlank()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>601</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionColumn_Block_Editing</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_columnBlockEdit()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionDefine_Language</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_defineLangs()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionUPPERCASE</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_uppercase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionlowercase</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_lowercase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionProper_Case</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_properCase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionProper_Case_blend</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_properCaseBlend()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSentence_case</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_sentenceCase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSentence_case_blend</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_sentenceCaseBlend()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionInvertCase</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_invertCase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRandomCase</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_randomCase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRemove_Empty_Lines</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_removeEmptyLine()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRemove_Empty_Lines_Cbc</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_removeEmptyLineCbc()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionColumn_Edit_Mode</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_column_mode()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionTAB_to_Space</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_tabToSpace()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSpace_to_TAB_All</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_spaceToTabAll()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSpace_to_TAB_Leading</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_spaceToTabLeading()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionDuplicate_Current_Line</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_dupCurLine()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionRemove_Duplicate_Lines</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_removeDupLine()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSplit_Lines</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_splitLines()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionJoin_Lines</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_joinLines()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionMove_Up_Current_Line</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_moveUpCurLine()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionMove_Down_Current_Line</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_moveDownCurLine()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionInsert_Blank_Line_Above_Current</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_insertBlankAbvCur()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionInsert_Blank_Line_Below_Current</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_insertBlankBelCur()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionReverse_Line_Order</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_reverseLineOrder()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSort_Lines_Lexicographically_Ascending</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_sortLexAsc()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSort_Lines_Lex_Ascending_Ignoring_Case</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_sortLexAscIgnCase()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionSort_Lines_Lexicographically_Descending</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_sortLexDesc()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionFind_In_Dir</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_findInDir()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionFindNext</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_findNext()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionFindPrev</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_findPrev()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionBig5</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_load_with_big5()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionToBig5</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_encode_big5()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>792</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actioninfo</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_aboutNdd()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionClear_History</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_clearHistoryOpenList()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionFileListView</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_fileListView(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionShow_ToolBar</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_showToolBar(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionShow_Web_Addr</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_showWebAddr(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionLanguage_File_Suffix</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_langFileSuffix()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionShortcut_Key_Manager</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_shortcutManager()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionWrap</sender>\r\n   <signal>triggered(bool)</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>slot_wordwrap(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>actionMd5_Sha</sender>\r\n   <signal>triggered()</signal>\r\n   <receiver>CCNotePad</receiver>\r\n   <slot>on_md5hash()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>-1</x>\r\n     <y>-1</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>728</x>\r\n     <y>394</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_actionNewFile_toggle(bool)</slot>\r\n  <slot>slot_actionOpenFile_toggle(bool)</slot>\r\n  <slot>slot_actionSaveFile_toggle(bool)</slot>\r\n  <slot>slot_actionSaveAsFile_toggle(bool)</slot>\r\n  <slot>slot_actionClose(bool)</slot>\r\n  <slot>slot_quit(bool)</slot>\r\n  <slot>slot_closeAllFile(bool)</slot>\r\n  <slot>slot_undo()</slot>\r\n  <slot>slot_redo()</slot>\r\n  <slot>slot_cut()</slot>\r\n  <slot>slot_copy()</slot>\r\n  <slot>slot_paste()</slot>\r\n  <slot>slot_selectAll()</slot>\r\n  <slot>slot_convertWinLineEnd(bool)</slot>\r\n  <slot>slot_convertUnixLineEnd(bool)</slot>\r\n  <slot>slot_convertMacLineEnd(bool)</slot>\r\n  <slot>slot_find()</slot>\r\n  <slot>slot_replace()</slot>\r\n  <slot>slot_gotoline()</slot>\r\n  <slot>slot_show_spaces(bool)</slot>\r\n  <slot>slot_show_line_end(bool)</slot>\r\n  <slot>slot_encode_gbk()</slot>\r\n  <slot>slot_encode_utf8()</slot>\r\n  <slot>slot_encode_utf8_bom()</slot>\r\n  <slot>slot_encode_utf16_be()</slot>\r\n  <slot>slot_encode_utf16_le()</slot>\r\n  <slot>slot_compareFile()</slot>\r\n  <slot>slot_compareDir()</slot>\r\n  <slot>slot_about()</slot>\r\n  <slot>slot_batch_convert()</slot>\r\n  <slot>slot_donate()</slot>\r\n  <slot>slot_options()</slot>\r\n  <slot>slot_load_with_gbk()</slot>\r\n  <slot>slot_load_with_utf8()</slot>\r\n  <slot>slot_load_with_utf8_bom()</slot>\r\n  <slot>slot_load_with_utf16_be()</slot>\r\n  <slot>slot_load_with_utf16_le()</slot>\r\n  <slot>slot_searchResultShow()</slot>\r\n  <slot>slot_toDefaultStyle()</slot>\r\n  <slot>slot_toLightBlueStyle()</slot>\r\n  <slot>slot_toThinBlueStyle()</slot>\r\n  <slot>slot_toRiceYellow()</slot>\r\n  <slot>slot_toYellow()</slot>\r\n  <slot>slot_toSilverStyle()</slot>\r\n  <slot>slot_toLavenderBlush()</slot>\r\n  <slot>slot_toMistyRose()</slot>\r\n  <slot>slot_changeEnglish()</slot>\r\n  <slot>slot_changeChinese()</slot>\r\n\r\n  <slot>slot_langFormat()</slot>\r\n  <slot>slot_reOpenTextMode()</slot>\r\n  <slot>slot_reOpenHexMode()</slot>\r\n  <slot>slot_removeHeadBlank()</slot>\r\n  <slot>slot_removeEndBlank()</slot>\r\n  <slot>slot_removeHeadEndBlank()</slot>\r\n  <slot>slot_columnBlockEdit()</slot>\r\n  <slot>slot_wordwrap(bool)</slot>\r\n  <slot>slot_defineLangs()</slot>\r\n  <slot>slot_uppercase()</slot>\r\n  <slot>slot_lowercase()</slot>\r\n  <slot>slot_properCase()</slot>\r\n  <slot>slot_properCaseBlend()</slot>\r\n  <slot>slot_sentenceCase()</slot>\r\n  <slot>slot_sentenceCaseBlend()</slot>\r\n  <slot>slot_invertCase()</slot>\r\n  <slot>slot_randomCase()</slot>\r\n  <slot>slot_removeEmptyLine()</slot>\r\n  <slot>slot_removeEmptyLineCbc()</slot>\r\n  <slot>slot_column_mode()</slot>\r\n  <slot>slot_tabToSpace()</slot>\r\n  <slot>slot_spaceToTabAll()</slot>\r\n  <slot>slot_spaceToTabLeading()</slot>\r\n  <slot>slot_dupCurLine()</slot>\r\n  <slot>slot_removeDupLine()</slot>\r\n  <slot>slot_splitLines()</slot>\r\n  <slot>slot_joinLines()</slot>\r\n  <slot>slot_moveUpCurLine()</slot>\r\n  <slot>slot_moveDownCurLine()</slot>\r\n  <slot>slot_insertBlankAbvCur()</slot>\r\n  <slot>slot_insertBlankBelCur()</slot>\r\n  <slot>slot_reverseLineOrder()</slot>\r\n  <slot>slot_sortLexAsc()</slot>\r\n  <slot>slot_sortLexAscIgnCase()</slot>\r\n  <slot>slot_sortLexDesc()</slot>\r\n  <slot>slot_sortLexDescIngCase()</slot>\r\n  <slot>slot_findInDir()</slot>\r\n  <slot>slot_findNext()</slot>\r\n  <slot>slot_findPrev()</slot>\r\n  <slot>slot_load_with_big5()</slot>\r\n  <slot>slot_encode_big5()</slot>\r\n  <slot>slot_aboutNdd()</slot>\r\n  <slot>slot_formatXml()</slot>\r\n  <slot>slot_formatJson()</slot>\r\n  <slot>slot_allWhite(bool)</slot>\r\n  <slot>slot_toDarkStyle()</slot>\r\n  <slot>slot_clearHistoryOpenList()</slot>\r\n  <slot>slot_fileListView(bool)</slot>\r\n  <slot>slot_showToolBar(bool)</slot>\r\n  <slot>slot_showWebAddr(bool)</slot>\r\n  <slot>slot_langFileSuffix()</slot>\r\n  <slot>slot_shortcutManager()</slot>\r\n  <slot>on_md5hash()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/cceditor/filemanager.cpp",
    "content": "﻿#include \"filemanager.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"scintillahexeditview.h\"\r\n#include \"CmpareMode.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"progresswin.h\"\r\n\r\n#include <QMessageBox>\r\n#include <QFile>\r\n#include <QtGlobal>\r\n#include <qscilexer.h>\r\n#include <QFileInfo>\r\n\r\nLangType detectLanguage(QString& headContent, QString& filepath);\r\n\r\nFileManager::FileManager():m_lastErrorCode(NONE_ERROR)\r\n{\r\n}\r\n\r\nFileManager::~FileManager()\r\n{\r\n}\r\n\r\nScintillaEditView* FileManager::newEmptyDocument(bool isBigText)\r\n{\r\n\tScintillaEditView* pEdit = new ScintillaEditView(nullptr, isBigText);\r\n\treturn pEdit;\r\n}\r\n\r\nScintillaHexEditView* FileManager::newEmptyHexDocument()\r\n{\r\n\tScintillaHexEditView* pEdit = new ScintillaHexEditView(nullptr);\r\n\treturn pEdit;\r\n}\r\n\r\n//从尾部找前面的换行符号。返回的是需要回溯的个数\r\n//注意如果是LE编码，字节流是\\n\\0的格式。从尾部往前回溯，找到\\n，要回退1个\\0。\\n\\0是一个整体，不能分割开\r\n//20230201发现一个bug,在LE模式下，不能单纯用\\n做换行识别。因为发现其它字符也存在\\n，必须要完整以\\n\\0才能确定是换行。\r\n//同样发现BE模式下，是\\0\\n的格式，也不能单独使用\\n做换行识别，因为发现其他字符也存在\\n，必须要完整以\\0\\n才能确定是换行\r\nint findLineEndPos(const char* buf, int size, CODE_ID code = UNKOWN)\r\n{\r\n\tint ret = 0;\r\n\tbool isfound = false;\r\n\tfor (int i = size - 1; i >= 0; --i)\r\n\t{\r\n\t\tif (buf[i] == '\\n')\r\n\t\t{\r\n\t\t\t////如果是LE，还要确定\\n的下一个是否是\\0\r\n\t\t\tif ((code == UNICODE_LE) && ((i != size -1) && (buf[i+1] != '\\0')))\r\n\t\t\t{\r\n\t\t\t\t++ret;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t////如果是BE，还要确定\\n的前一个是否是\\0\r\n\t\t\tif ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\\0')))\r\n\t\t\t{\r\n\t\t\t\t++ret;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tisfound = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\t++ret;\r\n\t}\r\n\r\n\t//如果没有找到，怀疑是mac格式，按照\\r结尾解析\r\n\tif (!isfound)\r\n\t{\r\n\t\tfor (int i = size - 1; i >= 0; --i)\r\n\t\t{\r\n\t\t\tif (buf[i] == '\\r')\r\n\t\t\t{\r\n\t\t\t\t////如果是LE，还要确定\\n的下一个是否是\\0\r\n\t\t\t\tif ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\t////如果是BE，还要确定\\n的前一个是否是\\0\r\n\t\t\t\tif ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tisfound = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\t++ret;\r\n\t\t}\r\n\t}\r\n\r\n\tif (isfound)\r\n\t{\r\n\t\t//注意好好想想，这里是--ret,而不是++ret。\r\n\t\tif (code == UNICODE_LE)\r\n\t\t{\r\n\t\t\t--ret;\r\n\t\t}\r\n\t\t//UNICODE_BE不需要处理\r\n\r\n\t\treturn ret;\r\n\t}\r\n\r\n\t//说明是一个巨长的行，这种情况不是很好。直接读取了，不管是否进行了行截断\r\n\treturn 0;\r\n}\r\n\r\n//从行首找后面的换行符号。返回的是需要前进的个数，即把前面掐掉一节，让返回在一行的行首位置\r\nint findLineStartPos(const char* buf, int size, CODE_ID code = UNKOWN)\r\n{\r\n\tint ret = 0;\r\n\tbool isfound = false;\r\n\tfor (int i = 0; i < size; ++i)\r\n\t{\r\n\t\t++ret;\r\n\t\tif (buf[i] == '\\n')\r\n\t\t{\r\n\t\t\t////如果是LE，还要确定\\n的下一个是否是\\0\r\n\t\t\tif ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\\0')))\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t////如果是BE，还要确定\\n的前一个是否是\\0\r\n\t\t\tif ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\\0')))\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tisfound = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t//如果没有找到，怀疑是mac格式，按照\\r结尾解析\r\n\tif (!isfound)\r\n\t{\r\n\t\tfor (int i = size - 1; i >= 0; --i)\r\n\t\t{\r\n\t\t\t++ret;\r\n\t\t\tif (buf[i] == '\\r')\r\n\t\t\t{\r\n\t\t\t\t////如果是LE，还要确定\\n的下一个是否是\\0\r\n\t\t\t\tif ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\t////如果是BE，还要确定\\n的前一个是否是\\0\r\n\t\t\t\tif ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tisfound = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (isfound)\r\n\t{\r\n\t\t//注意好好想想，这里是++ret,而不是--ret。\r\n\t\tif (code == UNICODE_LE)\r\n\t\t{\r\n\t\t\t++ret;\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\t//说明是一个巨长的行，这种情况不是很好。直接读取了，不管是否进行了行截断\r\n\treturn 0;\r\n}\r\n\r\n\r\n//返回第一个空闲的id，m_newFileIdList必须有序，从小到大，从0开始\r\n//序号也从0开始，notepad++是从1开始\r\nint FileManager::getNextNewFileId()\r\n{\r\n\tif (m_newFileIdList.isEmpty())\r\n\t{\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tint index = 0;\r\n\tbool isFind = false;\r\n\r\n\tfor (int i = 0; i < m_newFileIdList.size(); ++i)\r\n\t{\r\n\t\tif (m_newFileIdList.at(i).index > i)\r\n\t\t{\r\n\t\t\tindex = i;\r\n\t\t\tisFind = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tif (!isFind)\r\n\t{\r\n\t\tindex = m_newFileIdList.size();\r\n\t}\r\n\r\n\treturn index;\r\n}\r\n\r\n//务必要保证不能重复id，所以newnode后，必须接着调用insertNewFileNode，避免重复了\r\nvoid FileManager::insertNewFileNode(NewFileIdMgr node)\r\n{\r\n\tm_newFileIdList.append(node);\r\n\tstd::sort(m_newFileIdList.begin(), m_newFileIdList.end(), [](NewFileIdMgr& a, NewFileIdMgr& b) {\r\n\t\treturn a.index < b.index;\r\n\t});\r\n}\r\n\r\n//删除newfile id的节点\r\nvoid FileManager::delNewFileNode(int fileIndex)\r\n{\r\n\tfor (int i = 0; i < m_newFileIdList.size(); ++i)\r\n\t{\r\n\t\tif (m_newFileIdList.at(i).index == fileIndex)\r\n\t\t{\r\n\t\t\tm_newFileIdList.removeAt(i);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//和loadFileDataInText类似，但是不是从头开始读取文件，而是从startReadSize开始\r\n//不检查编码，直接按照fileTextCode进行读取\r\nint FileManager::loadFileDataInTextFromOffset(ScintillaEditView* editView, QString filePath, CODE_ID fileTextCode, QWidget* msgBoxParent, quint64 startReadSize)\r\n{\r\n\tQFile file(filePath);\r\n\r\n\t//如果文件不存在，直接返回\r\n\tif (!file.exists())\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n\r\n\tQFlags<QFileDevice::Permission> power = QFile::permissions(filePath);\r\n\r\n\t//直接以只读的方式打开，至于能不能保存，是保存时需要考虑的问题。\r\n\t//只需要在保存的时候获取admin权限即可\r\n\tQIODevice::OpenMode mode;\r\n\r\n\tmode = QIODevice::ExistingOnly | QIODevice::ReadOnly;\r\n\r\n\tif (!file.open(mode))\r\n\t{\r\n\t\tQMessageBox::warning(msgBoxParent, tr(\"Error\"), tr(\"Open File %1 failed\").arg(filePath));\r\n\t\treturn 2;\r\n\t}\r\n\r\n\tquint64 fileSize = file.size();\r\n\r\n\t//如果文件是空的。检查一下，有可能在临时文件损坏情况下出现，外面需要使用\r\n\tif (fileSize == 0)\r\n\t{\r\n\t\tfile.close();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\t//如果读取的内容，超过了当前文件大小，则直接返回。这里是返回0，视作成功，没有新内容要读\r\n\tif (startReadSize >= fileSize)\r\n\t{\r\n\t\tfile.close();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQByteArray bytes;\r\n\r\n\tif (file.seek(startReadSize))\r\n\t{\r\n\t\t//读取后面所有的内容\r\n\t\tbytes = file.readAll();\r\n\t}\r\n\r\n\tfile.close();\r\n\r\n\tQString text;\r\n\r\n\tEncode::tranStrToUNICODE(fileTextCode, bytes.data(), bytes.count(), text);\r\n\t\r\n\teditView->append(text);\r\n\r\n\treturn 0;\r\n}\r\n\r\n#if 0\r\n\r\n//这里是以文本方式加载文件。但是可能遇到的是二进制文件，里面会做判断\r\n//二进制时hexAsk是否询问，当用户指定打开格式时，不需要询问\r\n//MsgBoxParent::尽量把这个给一下，让MsgBox有图标，不那么难看。\r\nint FileManager::loadFileDataInText(ScintillaEditView* editView, QString filePath, CODE_ID& fileTextCode, RC_LINE_FORM& lineEnd,CCNotePad * callbackObj, bool hexAsk, QWidget* msgBoxParent)\r\n{\r\n\tQFile file(filePath);\r\n\r\n\t//如果文件不存在，直接返回\r\n\tif (!file.exists())\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n\r\n\tQFlags<QFileDevice::Permission> power = QFile::permissions(filePath);\r\n\r\n\t//直接以只读的方式打开，至于能不能保存，是保存时需要考虑的问题。\r\n\t//只需要在保存的时候获取admin权限即可\r\n\tQIODevice::OpenMode mode;\r\n\t\r\n\tmode = QIODevice::ExistingOnly | QIODevice::ReadOnly;\r\n\r\n\tif (!file.open(mode))\r\n\t{\r\n\t\tqDebug() << file.error();\r\n#ifdef Q_OS_WIN\r\n\t\t//打开失败，这里一般是权限问题导致。如果是windows，在外面申请权限后继续处理\r\n\t\tif (QFileDevice::OpenError == file.error())\r\n\t\t\t{\r\n\t\t\tif (callbackObj != nullptr)\r\n\t\t\t{\r\n\t\t\t\treturn callbackObj->runAsAdmin(filePath);\r\n\t\t\t}\r\n\t\t\treturn 1;\r\n\t\t\t}\r\n#endif\r\n#ifdef Q_OS_UNIX\r\n\t\tQMessageBox::warning(msgBoxParent, tr(\"Error\"), tr(\"Open File %1 failed\").arg(filePath));\r\n#endif\r\n\t\treturn 2;\r\n\t}\r\n\r\n\tqint64 fileSize = file.size();\r\n\r\n\t//如果文件是空的。检查一下，有可能在临时文件损坏情况下出现，外面需要使用\r\n\tif (fileSize == 0)\r\n\t{\r\n\t\tm_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE;\r\n\t\tfile.close();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tqint64 bufferSizeRequested = fileSize + qMin((qint64)(1 << 20), (qint64)(fileSize / 6));\r\n\r\n\tif (bufferSizeRequested > INT_MAX)\r\n\t{\r\n\t\tQMessageBox::warning(msgBoxParent, tr(\"Error\"), tr(\"File is too big to be opened by Notepad--\"));\r\n\t\tfile.close();\r\n\t\treturn 3;\r\n\t}\r\n\r\n\tQList<LineFileInfo> outputLineInfoVec;\r\n\r\n\tint maxLineSize = 0;\r\n\tint charsNums = 0;\r\n\tbool isHexFile = false;\r\n\r\n\tfileTextCode = CmpareMode::scanFileOutPut(fileTextCode,filePath, outputLineInfoVec, maxLineSize, charsNums, isHexFile);\r\n\r\n\t//如果文件是空的。检查一下，有可能在临时文件损坏情况下出现，外面需要使用\r\n\tif (charsNums == 0)\r\n\t{\r\n\t\tm_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE;\r\n\t\tfile.close();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tif (isHexFile && hexAsk)\r\n\t{\r\n\t\t//检测到文件很可能是二进制文件，询问用户，是否以二进制加载\r\n\t\tint 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\"));\r\n\t\t\r\n\t\tif (ret == 0)\r\n\t\t{\r\n\t\t\t//16进制打开\r\n\t\t\tfile.close();\r\n\t\t\treturn 4;\r\n\t\t}\r\n\t\telse if (ret == 1)\r\n\t\t{\r\n\t\t\t//继续以文本打开\r\n\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//取消，不打开\r\n\t\t\tfile.close();\r\n\t\t\treturn 2;\r\n\t\t}\r\n\t}\r\n\r\n\tif (maxLineSize > 0)\r\n\t{\r\n\t\t//int textWidth = editView->execute(SCI_TEXTWIDTH, STYLE_DEFAULT, reinterpret_cast<sptr_t>(\"P\"));\r\n\t\teditView->execute(SCI_SETSCROLLWIDTH, maxLineSize*10);\r\n\t}\r\n\r\n\t//以第一行的换行为文本的换行符\r\n\tlineEnd = UNKNOWN_LINE;\r\n\r\n\tif (!outputLineInfoVec.isEmpty())\r\n\t{\r\n\t\tlineEnd = static_cast<RC_LINE_FORM>(outputLineInfoVec.at(0).lineEndFormat);\r\n\t}\r\n\r\n\tif (lineEnd == UNKNOWN_LINE)\r\n\t{\r\n#ifdef _WIN32\r\n\t\tlineEnd = DOS_LINE;\r\n#else\r\n\t\tlineEnd = UNIX_LINE;\r\n#endif\r\n\t}\r\n\r\n\r\n\tQString text;\r\n\ttext.reserve(charsNums + 1);\r\n\r\n\tfor (QList<LineFileInfo>::iterator it = outputLineInfoVec.begin(); it != outputLineInfoVec.end(); ++it)\r\n\t{\r\n\t\ttext.append(it->unicodeStr);\r\n\t}\r\n\r\n\tfile.close();\r\n\r\n\r\n\t//优先根据文件后缀来确定其语法风格\r\n\tLexerInfo lxdata = CCNotePad::getLangLexerIdByFileExt(filePath);\r\n\r\n\tif (lxdata.lexerId != L_TXT)\r\n\t{\r\n\t\tQsciLexer* lexer = editView->createLexer(lxdata.lexerId, lxdata.tagName);\r\n\t\teditView->setLexer(lexer);\r\n\t}\r\n\telse\r\n\t{\r\n\t//利用前面5行，进行一个编程语言的判断\r\n\tQString headContens;\r\n\r\n\tfor (int i = 0; (i < outputLineInfoVec.size() && i < 5); ++i)\r\n\t{\r\n\t\theadContens.append(outputLineInfoVec.at(i).unicodeStr);\r\n\t}\r\n\r\n\r\n\tstd::string headstr = headContens.toStdString();\r\n\r\n\tLangType _language = detectLanguageFromTextBegining((const unsigned char *)headstr.data(), headstr.length());\r\n\r\n\t\tif (_language >= 0 && _language < L_EXTERNAL)\r\n\t{\r\n\t\tQsciLexer* lexer = editView->createLexer(_language);\r\n\t\teditView->setLexer(lexer);\r\n\t}\r\n\t}\r\n\t\r\n\t//如果检测到时16进制文件，但是强行以二进制打开，则有限走setUtf8Text。\r\n\tif (!isHexFile)\r\n\t{\r\n\teditView->setText(text);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//20230203有github用户反馈，说存在乱码的文件被截断，所以后续还是不走截断\r\n\t\teditView->setText(text);\r\n\r\n\t\treturn 6;\r\n#if 0\r\n\t\t//这种情况，为了不编辑二进制模式，是可能只读的。\r\n\t\tif (1 == editView->setUtf8Text(text))\r\n\t\t{\r\n\t\t\treturn 5;//只读模式\r\n\t\t}\r\n#endif\r\n\t}\r\n\t\r\n\treturn 0;\r\n}\r\n\r\n#endif\r\n\r\n//20230304新增加：不再一行一行读取文件，而是一次性读取到内存，加快文本文件打开时的处理速度\r\n//这里是以文本方式加载文件。但是可能遇到的是二进制文件，里面会做判断\r\n//二进制时hexAsk是否询问，当用户指定打开格式时，不需要询问\r\n//MsgBoxParent::尽量把这个给一下，让MsgBox有图标，不那么难看。\r\nint FileManager::loadFileDataInText(ScintillaEditView* editView, QString filePath, CODE_ID& fileTextCode, RC_LINE_FORM& lineEnd, CCNotePad* callbackObj, bool hexAsk, QWidget* msgBoxParent)\r\n{\r\n\tQFile file(filePath);\r\n\r\n\t//如果文件不存在，直接返回\r\n\tif (!file.exists())\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n\r\n\tQFlags<QFileDevice::Permission> power = QFile::permissions(filePath);\r\n\r\n\t//直接以只读的方式打开，至于能不能保存，是保存时需要考虑的问题。\r\n\t//只需要在保存的时候获取admin权限即可\r\n\tQIODevice::OpenMode mode;\r\n\r\n\tmode = QIODevice::ExistingOnly | QIODevice::ReadOnly;\r\n\r\n\tif (!file.open(mode))\r\n\t{\r\n\t\tqDebug() << file.error();\r\n#ifdef Q_OS_WIN\r\n\t\t//打开失败，这里一般是权限问题导致。如果是windows，在外面申请权限后继续处理\r\n\t\tif (QFileDevice::OpenError == file.error())\r\n\t\t{\r\n\t\t\tif (callbackObj != nullptr)\r\n\t\t\t{\r\n\t\t\t\treturn callbackObj->runAsAdmin(filePath);\r\n\t\t\t}\r\n\t\treturn 1;\r\n\t}\r\n#endif\r\n#ifdef Q_OS_UNIX\r\n\t\tQMessageBox::warning(msgBoxParent, tr(\"Error\"), tr(\"Open File %1 failed\").arg(filePath));\r\n#endif\r\n\t\treturn 2;\r\n\t}\r\n\r\n\tqint64 fileSize = file.size();\r\n\r\n\t//如果文件是空的。检查一下，有可能在临时文件损坏情况下出现，外面需要使用\r\n\tif (fileSize == 0)\r\n\t{\r\n\t\tm_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE;\r\n\t\tfile.close();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tqint64 bufferSizeRequested = fileSize + qMin((qint64)(1 << 20), (qint64)(fileSize / 6));\r\n\r\n\tif (bufferSizeRequested > INT_MAX)\r\n\t{\r\n\t\tQMessageBox::warning(msgBoxParent, tr(\"Error\"), tr(\"File is too big to be opened by Notepad--\"));\r\n\t\tfile.close();\r\n\t\treturn 3;\r\n\t}\r\n\r\n\tQString fileText;\r\n\tbool isErrorCode = false;\r\n\r\n\tfileTextCode = CmpareMode::scanFileOutPut(file, fileTextCode, filePath, fileText, isErrorCode);\r\n\r\n\t//如果文件是空的。检查一下，有可能在临时文件损坏情况下出现，外面需要使用\r\n\tif (fileText.size() == 0)\r\n\t{\r\n\t\tm_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE;\r\n\t\tfile.close();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tif (isErrorCode && hexAsk)\r\n\t{\r\n\t\t//检测到文件很可能是二进制文件，询问用户，是否以二进制加载\r\n\t\tint 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\"));\r\n\r\n\t\tif (ret == 0)\r\n\t\t{\r\n\t\t\t//16进制打开\r\n\t\t\tfile.close();\r\n\t\t\treturn 4;\r\n\t\t}\r\n\t\telse if (ret == 1)\r\n\t\t{\r\n\t\t\t//继续以文本打开\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//取消，不打开\r\n\t\t\tfile.close();\r\n\t\t\treturn 2;\r\n\t\t}\r\n\t}\r\n\r\n\t//以第一行的换行为文本的换行符。暂时只考虑win unix 。mac \\r 已经淘汰，暂时不管\r\n\tlineEnd = RC_LINE_FORM::UNKNOWN_LINE;\r\n\r\n\tint pos = fileText.indexOf(\"\\n\");\r\n\tif (pos >=1)\r\n\t{\r\n\t\tif (fileText[pos - 1] == QChar('\\r'))\r\n\t\t{\r\n\t\t\tlineEnd = RC_LINE_FORM::DOS_LINE;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlineEnd = RC_LINE_FORM::UNIX_LINE;\r\n\t\t}\r\n\t}\r\n\r\n\tif (lineEnd == UNKNOWN_LINE)\r\n\t{\r\n#ifdef _WIN32\r\n\t\tlineEnd = DOS_LINE;\r\n#else\r\n\t\tlineEnd = UNIX_LINE;\r\n#endif\r\n\t}\r\n\r\n\tfile.close();\r\n\r\n\r\n\t//优先根据文件后缀来确定其语法风格\r\n\tLexerInfo lxdata = CCNotePad::getLangLexerIdByFileExt(filePath);\r\n\r\n\tif (lxdata.lexerId != L_TXT)\r\n\t{\r\n\t\tQsciLexer* lexer = editView->createLexer(lxdata.lexerId, lxdata.tagName);\r\n\t\teditView->setLexer(lexer);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//利用前面100个字符，进行一个编程语言的判断\r\n\t\tQString headContens = fileText.mid(0, 100);\r\n\r\n\t\tLangType _language = detectLanguage(headContens, filePath);\r\n\r\n\t\tif (_language >= 0 && _language < L_EXTERNAL)\r\n\t\t{\r\n\t\t\tQsciLexer* lexer = editView->createLexer(_language);\r\n\t\t\teditView->setLexer(lexer);\r\n\t\t}\r\n\t}\r\n\r\n\t//如果检测到时16进制文件，但是强行以二进制打开，则有限走setUtf8Text。\r\n\tif (!isErrorCode)\r\n\t{\r\n\t\teditView->setText(fileText);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//20230203有github用户反馈，说存在乱码的文件被截断，所以后续还是不走截断\r\n\t\teditView->setText(fileText);\r\n\r\n\t\treturn 6;\r\n\t}\r\n\r\n\treturn 0;\r\n}\r\n\r\n\r\n//加载文件，只为查找使用\r\nint FileManager::loadFileForSearch(ScintillaEditView* editView, QString filePath)\r\n{\r\n\tQFile file(filePath);\r\n\r\n\tQFlags<QFileDevice::Permission> power = QFile::permissions(filePath);\r\n\r\n\tQIODevice::OpenMode mode;\r\n\r\n\tif (!power.testFlag(QFile::WriteUser))\r\n\t{\r\n\t\t//文件不能写\r\n\t\tmode = QIODevice::ExistingOnly | QIODevice::ReadOnly;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tmode = QIODevice::ExistingOnly | QIODevice::ReadWrite;\r\n\t}\r\n\r\n\tif (!file.open(mode))\r\n\t{\r\n\t\t//qDebug() << file.error();\r\n\t\treturn 2;\r\n\t}\r\n\r\n\tqint64 fileSize = file.size();\r\n\r\n\tqint64 bufferSizeRequested = fileSize + qMin((qint64)(1 << 20), (qint64)(fileSize / 6));\r\n\r\n\tif (bufferSizeRequested > INT_MAX)\r\n\t{\r\n\t\tfile.close();\r\n\t\treturn 3;\r\n\t}\r\n\r\n\tbool existGrbledCode = false;\r\n\tQString outText;\r\n\tCODE_ID fileTextCode = CODE_ID::UNKOWN;\r\n\r\n\tfileTextCode = CmpareMode::scanFileOutPut(file, fileTextCode, filePath, outText, existGrbledCode);\r\n\r\n\t//20230218 这里必须指明一下编码，否则后续会导致编码被修改\r\n\teditView->setProperty(Edit_Text_Code, fileTextCode);\r\n\r\n\tif (existGrbledCode)\r\n\t{\r\n\t\t//qDebug() << filePath;\r\n\t\tfile.close();\r\n\t\treturn 4;\r\n\t}\r\n\tfile.close();\r\n\r\n\teditView->setText(outText);\r\n\r\n\treturn 0;\r\n}\r\n\r\nconst int ONE_PAGE_BYTES = 4096;\r\n\r\n//加载下一页或者上一页。(二进制模式）\r\nint  FileManager::loadFilePreNextPage(int dir, QString& filePath, HexFileMgr* & hexFileOut)\r\n{\r\n\tif (m_hexFileMgr.contains(filePath))\r\n\t{\r\n\t\thexFileOut = m_hexFileMgr.value(filePath);\r\n\r\n\t\t//小于LITTLE_FILE_MAX的已经一次性全部在内存，没有上下页可以翻到\r\n\t\tif (hexFileOut->onetimeRead)\r\n\t\t{\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tqint64 pos = hexFileOut->fileOffset;\r\n\r\n\t\tif (dir == 1 && (pos >= 0))\r\n\t\t{\r\n\t\t\t//上一页\r\n\t\t\tpos = pos - hexFileOut->contentRealSize - ONE_PAGE_BYTES;\r\n\t\t\tif (pos < 0)\r\n\t\t\t{\r\n\t\t\t\tpos = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if(dir == 2 && (pos < hexFileOut->fileSize))\r\n\t\t{\r\n\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn 1;//没有上下页，已经是最后一页或最前一页\r\n\t\t}\r\n\r\n\t\tchar* buf = new char[ONE_PAGE_BYTES+1];\r\n\r\n\t\thexFileOut->file->seek(pos);\r\n\t\tqint64 ret = hexFileOut->file->read(buf, ONE_PAGE_BYTES);\r\n\t\tif (ret <= 0)\r\n\t\t{\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//读取成功\r\n\t\t\thexFileOut->fileOffset = hexFileOut->file->pos();\r\n\r\n\t\t\tif (hexFileOut->contentBuf != nullptr)\r\n\t\t\t{\r\n\t\t\t\tdelete[]hexFileOut->contentBuf;\r\n\t\t\t}\r\n\r\n\t\t\thexFileOut->contentBuf = buf;\r\n\t\t\thexFileOut->contentRealSize = ret;\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\nconst int ONE_PAGE_TEXT_SIZE = 1000 * 1024;\r\n\r\n//加载下一页或者上一页。(文本模式）\r\n//返回值：0表示成功\r\nint  FileManager::loadFilePreNextPage(int dir, QString& filePath, TextFileMgr* & textFileOut)\r\n{\r\n\tif (m_bigTxtFileMgr.contains(filePath))\r\n\t{\r\n\t\ttextFileOut = m_bigTxtFileMgr.value(filePath);\r\n\r\n\t\tqint64 pos = textFileOut->fileOffset;\r\n\r\n\t\tint canReadSize = 0;\r\n\r\n\t\tif (dir == 1 && (pos >= 0))\r\n\t\t{\r\n\t\t\t//读取上一页\r\n\t\t\tpos = pos - textFileOut->contentRealSize - ONE_PAGE_TEXT_SIZE;\r\n\t\t\tif (pos < 0)\r\n\t\t\t{\r\n\t\t\t\t//前面的内容不足以ONE_PAGE_TEXT_SIZE字节\r\n\t\t\t\tcanReadSize = textFileOut->fileOffset - textFileOut->contentRealSize;\r\n\t\t\t\tif (canReadSize <= 0)\r\n\t\t\t\t{\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\r\n\t\t\t\tpos = 0;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tcanReadSize = ONE_PAGE_TEXT_SIZE;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (dir == 2 && (pos < textFileOut->fileSize))\r\n\t\t{\r\n\t\t\tcanReadSize = ONE_PAGE_TEXT_SIZE;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn 1;\r\n\t\t}\r\n\r\n\t\tchar* buf = new char[canReadSize + 1];\r\n\t\tbuf[canReadSize] = '\\0';\r\n\r\n\t\ttextFileOut->file->seek(pos);\r\n\t\tqint64 ret = textFileOut->file->read(buf, canReadSize);\r\n\t\tif (ret <= 0)\r\n\t\t{\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//读取成功\r\n\t\t\t//如果是往后读取\r\n\t\t\tif (dir == 2)\r\n\t\t\t{\r\n\t\t\t\t//读取了1M的内容，从内容尾部往前查找，找到第一个换行符号。如果没有怎么办？说明是一个巨长的行，不妙\r\n\t\t\t\t//如果是巨长的行，一行超过ONE_PAGE_TEXT_SIZE（1M),则可能存在单个字符截断的可能。\r\n\t\t\t\tbuf[ret] = '\\0';\r\n\r\n\t\t\t\tint preLineEndPos = 0;\r\n\t\t\t\t\r\n\t\t\t\tif (textFileOut->file->pos() < textFileOut->fileSize)//反之已经到尾部了，不需要往前找行首了\r\n\t\t\t\t{\r\n\t\t\t\t\tpreLineEndPos = findLineEndPos(buf, ret, (CODE_ID)textFileOut->loadWithCode);\r\n\t\t\t\t\tif (preLineEndPos > 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//给后面的字符填\\0，让字符串正常结尾\\0\r\n\t\t\t\t\t\tbuf[ret - preLineEndPos] = '\\0';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttextFileOut->fileOffset = textFileOut->file->pos() -preLineEndPos;\r\n\t\t\t\tif (preLineEndPos > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t//文件seek到下一行的首位置。\r\n\t\t\t\t\ttextFileOut->file->seek(textFileOut->fileOffset);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (textFileOut->contentBuf != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tdelete[]textFileOut->contentBuf;\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttextFileOut->contentBuf = buf;\r\n\t\t\t\ttextFileOut->contentRealSize = ret - preLineEndPos;\r\n\t\t\t}\r\n\t\t\telse if (dir == 1)\r\n\t\t\t{\r\n\t\t\t\t//如果是往前读取\r\n\t\t\t\t//读取了1M的内容，从内容前面往后查找，找到第一个换行符号。如果没有怎么办？说明是一个巨长的行，不妙\r\n\t\t\t\tbuf[ret] = '\\0';\r\n\r\n\t\t\t\tint preLineStartPos = 0;\r\n\r\n\t\t\t\tif (textFileOut->file->pos() > canReadSize)//==canReadSize说明已经在文件最前面了。不在最前面，需要\r\n\t\t\t\t{\r\n\t\t\t\t\tpreLineStartPos = findLineStartPos(buf, ret, (CODE_ID)textFileOut->loadWithCode);\r\n\t\t\t\t\tif (preLineStartPos > 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//把\\n前面的内容去掉，通过内存move的方式。\r\n\t\t\t\t\t\tmemmove(buf, buf+preLineStartPos,ret - preLineStartPos);\r\n\t\t\t\t\t\tbuf[ret - preLineStartPos] = '\\0';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttextFileOut->fileOffset = textFileOut->file->pos();\r\n\r\n\t\t\t\tif (textFileOut->contentBuf != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tdelete[]textFileOut->contentBuf;\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttextFileOut->contentBuf = buf;\r\n\t\t\t\ttextFileOut->contentRealSize = ret - preLineStartPos;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n//从指定地址开始加载文件\r\nint FileManager::loadFileFromAddr(QString filePath, qint64 addr, HexFileMgr* & hexFileOut)\r\n{\r\n\tif (m_hexFileMgr.contains(filePath))\r\n\t{\r\n\t\thexFileOut = m_hexFileMgr.value(filePath);\r\n\r\n\t\t//超过文件大小\r\n\t\tif (addr < 0 || addr >= hexFileOut->fileSize)\r\n\t\t{\r\n\t\t\treturn -2;\r\n\t\t}\r\n\r\n\t\t//4K对齐\r\n\t\taddr &= 0xfffffffffff0;\r\n\r\n\t\tchar* buf = new char[ONE_PAGE_BYTES + 1];\r\n\t\thexFileOut->file->seek(addr);\r\n\r\n\t\tqint64 ret = hexFileOut->file->read(buf, ONE_PAGE_BYTES);\r\n\t\tif (ret <= 0)\r\n\t\t{\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//读取成功\r\n\t\t\thexFileOut->fileOffset = hexFileOut->file->pos();\r\n\r\n\t\t\tif (hexFileOut->contentBuf != nullptr)\r\n\t\t\t{\r\n\t\t\t\tdelete[]hexFileOut->contentBuf;\r\n\t\t\t}\r\n\r\n\t\t\thexFileOut->contentBuf = buf;\r\n\t\t\thexFileOut->contentRealSize = ret;\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\treturn -1;\r\n}\r\n\r\n//从指定地址开始加载文本文件\r\nint FileManager::loadFileFromAddr(QString filePath, qint64 addr, TextFileMgr* & textFileOut)\r\n{\r\n\tif (m_bigTxtFileMgr.contains(filePath))\r\n\t{\r\n\t\ttextFileOut = m_bigTxtFileMgr.value(filePath);\r\n\r\n\t\t//超过文件大小\r\n\t\tif (addr < 0 || addr >= textFileOut->fileSize)\r\n\t\t{\r\n\t\t\treturn -2;\r\n\t\t}\r\n\r\n\t\tchar* buf = new char[ONE_PAGE_TEXT_SIZE + 1];\r\n\t\tbuf[ONE_PAGE_TEXT_SIZE] = '\\0';\r\n\r\n\t\ttextFileOut->file->seek(addr);\r\n\r\n\t\tqint64 ret = textFileOut->file->read(buf, ONE_PAGE_TEXT_SIZE);\r\n\t\tif (ret <= 0)//-1是出错。0也是没有读到\r\n\t\t{\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\r\n\t\t\tint preLineEndPos = 0;\r\n\t\t\tbuf[ret] = '\\0';\r\n\r\n\t\t\tif (textFileOut->file->pos() < textFileOut->fileSize)//反之已经到尾部了，不需要往前找行了\r\n\t\t\t{\r\n\t\t\t\tpreLineEndPos = findLineEndPos(buf, ret, (CODE_ID)textFileOut->loadWithCode);\r\n\t\t\t\tif (preLineEndPos > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t//给后面的字符填\\0，让字符串正常结尾\\0\r\n\t\t\t\t\tbuf[ret - preLineEndPos] = '\\0';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//如果本来就在开头开始，则不需要计算findLineStartPos\r\n\t\t\tint preLineStartPos = 0;\r\n\r\n\t\t\tif (addr == 0)\r\n\t\t\t{\r\n\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tpreLineStartPos = findLineStartPos(buf, ret, (CODE_ID)textFileOut->loadWithCode);\r\n\t\t\tif (preLineStartPos > 0 && preLineStartPos < ret) //preLineStartPos如果大于ret，则全部都被跳过了，不会显示，是个特例\r\n\t\t\t{\r\n\t\t\t\tmemmove(buf, buf + preLineStartPos, ret - preLineStartPos);\r\n\t\t\t\tbuf[ret - preLineStartPos] = '\\0';\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//如果没做调整，则后续不需要偏移，这里必须preLineStartPos赋0值\r\n\t\t\t\tpreLineStartPos = 0;\r\n\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//只需要文件调到上一行的行位即可。\r\n\t\t\ttextFileOut->fileOffset = textFileOut->file->pos() - preLineEndPos;\r\n\t\t\tif (preLineEndPos > 0)\r\n\t\t\t{\r\n\t\t\t\t//文件seek到下一行的首位置。\r\n\t\t\t\ttextFileOut->file->seek(textFileOut->fileOffset);\r\n\t\t\t}\r\n\r\n\t\t\tif (textFileOut->contentBuf != nullptr)\r\n\t\t\t{\r\n\t\t\t\tdelete[]textFileOut->contentBuf;\r\n\t\t\t}\r\n\r\n\t\t\ttextFileOut->contentBuf = buf;\r\n\t\t\ttextFileOut->contentRealSize = ret - preLineEndPos - preLineStartPos;\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\treturn -1;\r\n}\r\n\r\n//加载二进制文件。从curPos开始，每行16个byte，每次读取64行，一共1024个byte\r\nbool FileManager::loadFileData(QString filePath, HexFileMgr* & hexFileOut)\r\n{\r\n\tQFile *file = new QFile(filePath);\r\n\r\n\tif (!file->open(QIODevice::ReadOnly | QIODevice::ExistingOnly))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\r\n\r\n\tint readBytes = 0;\r\n\r\n\r\n\tif (file->size() <= LITTLE_FILE_MAX)\r\n\t{\r\n\t\treadBytes = LITTLE_FILE_MAX;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//对于大于10K的文件，每次只读4K\r\n\t\treadBytes = ONE_PAGE_BYTES;\r\n\t}\r\n\r\n\tchar* buf = new char[readBytes];\r\n\tqint64 ret = file->read(buf, readBytes);\r\n\tif (ret == -1)\r\n\t{\r\n\t\t//错误\r\n\t\tfile->close();\r\n\t\tdelete file;\r\n\t\treturn false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tHexFileMgr* hexFile = nullptr;\r\n\r\n\t\tif (!m_hexFileMgr.contains(filePath))\r\n\t\t{\r\n\t\t\thexFile = new HexFileMgr();\r\n\t\t\thexFile->filePath = filePath;\r\n\t\t\thexFile->file = file;\r\n\t\t\thexFile->fileOffset = file->pos();\r\n\t\t\thexFile->fileSize = file->size();\r\n\t\t\thexFile->contentBuf = buf;\r\n\t\t\thexFile->contentRealSize = ret;\r\n\t\t\thexFile->onetimeRead = (file->size() <= LITTLE_FILE_MAX);\r\n\t\t\tm_hexFileMgr.insert(filePath, hexFile);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//理论上这里永远不走\r\n\t\t\thexFile = m_hexFileMgr.value(filePath);\r\n\t\t\thexFile->fileOffset = file->pos();\r\n\t\t\thexFile->contentBuf = buf;\r\n\t\t\thexFile->contentRealSize = ret;\r\n\t\t\thexFile->onetimeRead = (file->size() <= LITTLE_FILE_MAX);\r\n\t\t}\r\n\r\n\t\thexFileOut = hexFile;\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\n//加载大文本文件。从0开始读取ONE_PAGE_TEXT_SIZE 500K的内容\r\nbool FileManager::loadFileData(QString filePath, TextFileMgr* & textFileOut, RC_LINE_FORM & lineEnd)\r\n{\r\n\tQFile *file = new QFile(filePath);\r\n\r\n\tif (!file->open(QIODevice::ReadOnly | QIODevice::ExistingOnly))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tint readBytes = ONE_PAGE_TEXT_SIZE;\r\n\r\n\tchar* buf = new char[ONE_PAGE_TEXT_SIZE+1];\r\n\tbuf[ONE_PAGE_TEXT_SIZE] = '\\0';\r\n\r\n\tqint64 ret = file->read(buf, readBytes);\r\n\tif (ret <= 0)\r\n\t{\r\n\t\t//错误\r\n\t\tfile->close();\r\n\t\tdelete file;\r\n\t\treturn false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//读取了1M的内容，从尾部往找，找到第一个换行符号。如果没有怎么办？说明是一个巨长的行，不妙\r\n\t\tbuf[ret] = '\\0';\r\n\r\n\t\t//检测是否为unicode_le编码，要特殊对待。\r\n\t\t//bool isUnLeCode = CmpareMode::isUnicodeLeBomFile((uchar*)buf, 2);\r\n\r\n\t\tCODE_ID code = CmpareMode::getTextFileEncodeType((uchar*)buf, ret, filePath, true);\r\n\r\n\t\tint preLineEndPos = findLineEndPos(buf,ret, code);\r\n\t\tif (preLineEndPos > 0)\r\n\t\t{\r\n\t\t\t//给后面的字符填\\0，让字符串正常结尾\\0\r\n\t\t\tbuf[ret - preLineEndPos] = '\\0';\r\n\r\n\t\t\tif (ret - preLineEndPos >= 2)\r\n\t\t\t{\r\n\t\t\t\tif (buf[ret - preLineEndPos - 1] == '\\n' && buf[ret - preLineEndPos - 2] == '\\r')\r\n\t\t\t\t{\r\n\t\t\t\t\tlineEnd = DOS_LINE;\r\n\t\t}\r\n\t\t\t\telse if (buf[ret - preLineEndPos - 1] == '\\n')\r\n\t\t\t\t{\r\n\t\t\t\t\tlineEnd = UNIX_LINE;\r\n\t\t\t\t}\r\n\t\t\t\telse if (buf[ret - preLineEndPos - 1] == '\\r')\r\n\t\t\t\t{\r\n\t\t\t\t\tlineEnd = MAC_LINE;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tTextFileMgr* txtFile = nullptr;\r\n\r\n\t\tif (!m_bigTxtFileMgr.contains(filePath))\r\n\t\t{\r\n\t\t\ttxtFile = new TextFileMgr();\r\n\t\t\ttxtFile->loadWithCode = code;\r\n\t\t\t\r\n\t\t\ttxtFile->filePath = filePath;\r\n\t\t\ttxtFile->file = file;\r\n\t\t\ttxtFile->fileOffset = file->pos() - preLineEndPos;\r\n\t\t\tif (preLineEndPos > 0)\r\n\t\t\t{\r\n\t\t\t\t//文件seek到下一行的首位置。下次读的时候，头部肯定是一行的行首啦\r\n\t\t\t\tfile->seek(txtFile->fileOffset);\r\n\t\t\t}\r\n\t\t\ttxtFile->fileSize = file->size();\r\n\t\t\ttxtFile->contentBuf = buf;\r\n\t\t\ttxtFile->contentRealSize = ret - preLineEndPos;\r\n\t\t\tm_bigTxtFileMgr.insert(filePath, txtFile);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//理论上这里永远不走\r\n\t\t\tassert(false);\r\n\t\t\ttxtFile = m_bigTxtFileMgr.value(filePath);\r\n\t\t\ttxtFile->fileOffset = file->pos();\r\n\t\t\ttxtFile->contentBuf = buf;\r\n\t\t\ttxtFile->contentRealSize = ret;\r\n\t\t}\r\n\r\n\t\ttextFileOut = txtFile;\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\n//返回行的数量\r\nint getLineNumInBuf(char* buf, int size, CODE_ID code = UNKOWN)\r\n{\r\n\tint lineNums = 0;\r\n\r\n\tfor (int i = 0; i < size; ++i)\r\n\t{\r\n\t\tif (buf[i] == '\\n')\r\n\t\t{\r\n\t\t\t////如果是LE，还要确定\\n的下一个是否是\\0\r\n\t\t\tif ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\\0')))\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t//如果是BE,简单\\0\\n是否连续存在，不能单纯检查\\n,还有确定\\n的前一个是不是\\0\r\n\t\t\tif ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\\0')))\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t++lineNums;\r\n\t\t}\r\n\t}\r\n\r\n\t//如果没有找到，怀疑是mac格式，按照\\r结尾解析\r\n\tif (lineNums == 0)\r\n\t{\r\n\t\tfor (int i = 0; i < size; ++i)\r\n\t\t{\r\n\t\t\tif (buf[i] == '\\r')\r\n\t\t\t{\r\n\t\t\t\t////如果是LE，还要确定\\n的前面一个是否是\\0\r\n\t\t\t\tif ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\t//如果是BE,简单\\0\\n是否连续存在，不能单纯检查\\n,还有确定\\n的前一个是不是\\0\r\n\t\t\t\tif ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\\0')))\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\t++lineNums;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn lineNums;\r\n}\r\n\r\n//创建大文件编辑模式的索引文件。0 成功，-1取消\r\nint FileManager::createBlockIndex(BigTextEditFileMgr* txtFile)\r\n{\r\n\t//每次filePtr 4M的速度进行建块\r\n\tqint64 fileSize = txtFile->file->size();\r\n\r\n\tqint64 curOffset = 0;\r\n\r\n\tuchar* curPtr = txtFile->filePtr;\r\n\r\n\t//检测是否为unicode_le编码，要特殊对待。\r\n\t//bool isUnLeCode = CmpareMode::isUnicodeLeBomFile(curPtr, 2);\r\n\r\n\tCODE_ID code = CmpareMode::getTextFileEncodeType(curPtr, fileSize, txtFile->filePath, true);\r\n\ttxtFile->loadWithCode = code;\r\n\t\r\n\tconst int blockBytes = BigTextEditFileMgr::BLOCK_SIZE * 1024 * 1024;\r\n\r\n\tint lineEndPos = 0;\r\n\r\n\tint steps = fileSize / blockBytes;\r\n\r\n\ttxtFile->blocks.reserve(steps + 10);\r\n\r\n\tProgressWin* loadFileProcessWin = nullptr;\r\n\t\r\n\tif (steps > 200)\r\n\t{\r\n\t\tloadFileProcessWin = new ProgressWin(nullptr);\r\n\r\n\t\tloadFileProcessWin->setWindowModality(Qt::ApplicationModal);\r\n\r\n\t\tloadFileProcessWin->info(tr(\"load bit text file tree in progress\\nfile size %1, please wait ...\").arg(tranFileSize(fileSize)));\r\n\r\n\t\tloadFileProcessWin->setTotalSteps(steps);\r\n\r\n\t\tloadFileProcessWin->show();\r\n\t}\r\n\r\n\tquint32 lineNumStart = 0;\r\n\tquint32 lineNum = 0;\r\n\r\n\twhile ((curOffset + blockBytes) < fileSize)\r\n\t{\r\n\t\tBlockIndex bi;\r\n\t\tbi.fileOffset = curOffset;\r\n\r\n\t\tcurOffset += blockBytes;\r\n\r\n\t\tlineEndPos = findLineEndPos((char*)curPtr+ bi.fileOffset, blockBytes, code);\r\n\r\n\t\tbi.fileSize = blockBytes - lineEndPos;\r\n\r\n\t\tlineNum = getLineNumInBuf((char*)curPtr + bi.fileOffset, bi.fileSize, code);\r\n\r\n\t\tcurOffset -= lineEndPos;\r\n\r\n\t\tbi.lineNum = lineNum;\r\n\t\tbi.lineNumStart = lineNumStart;\r\n\r\n\t\tlineNumStart += lineNum;\r\n\r\n\t\ttxtFile->blocks.append(bi);\r\n\r\n\t\tif (loadFileProcessWin != nullptr)\r\n\t\t{\r\n\t\t\tif (loadFileProcessWin->isCancel())\r\n\t\t\t{\r\n\t\t\t\tdelete loadFileProcessWin;\r\n\t\t\t\ttxtFile->blocks.clear();\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t\tloadFileProcessWin->moveStep(true);\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t//最后一块\r\n\tint lastBlockBytes = fileSize - curOffset;\r\n\r\n\tBlockIndex bi;\r\n\tbi.fileOffset = curOffset;\r\n\r\n\tcurOffset += lastBlockBytes;\r\n\r\n\tbi.fileSize = lastBlockBytes;\r\n\r\n\tlineNum = getLineNumInBuf((char*)curPtr + bi.fileOffset, bi.fileSize);\r\n\r\n\tbi.lineNum = lineNum;\r\n\tbi.lineNumStart = lineNumStart;\r\n\r\n\ttxtFile->blocks.append(bi);\r\n\r\n\tif (loadFileProcessWin != nullptr)\r\n\t{\r\n\t\tdelete loadFileProcessWin;\r\n\t}\r\n\r\n\treturn 0;\r\n}\r\n\r\n//加载大文件，以索引的方式打开大文件\r\nbool FileManager::loadFileDataWithIndex(QString filePath, BigTextEditFileMgr*& textFileOut)\r\n{\r\n\tQFile* file = new QFile(filePath);\r\n\tfile->open(QIODevice::ReadOnly);\r\n\r\n\r\n\tuchar* filePtr = file->map(0, file->size());\r\n\r\n\tBigTextEditFileMgr* txtFile = nullptr;\r\n\r\n\tif (!m_bigTxtEditFileMgr.contains(filePath))\r\n\t{\r\n\t\ttxtFile = new BigTextEditFileMgr();\r\n\t\ttxtFile->filePath = filePath;\r\n\t\ttxtFile->file = file;\r\n\t\ttxtFile->filePtr = filePtr;\r\n\t\ttextFileOut = txtFile;\r\n\r\n\t\tif (-1 == createBlockIndex(txtFile))\r\n\t\t{\r\n\t\t\t//取消。\r\n\t\t\tdelete txtFile;\r\n\t\t\ttxtFile = nullptr;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tm_bigTxtEditFileMgr.insert(filePath, txtFile);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//理论上这里永远不走\r\n\t\tassert(false);\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n\r\nBigTextEditFileMgr* FileManager::getBigFileEditMgr(QString filepath)\r\n{\r\n\tif (m_bigTxtEditFileMgr.contains(filepath))\r\n\t{\r\n\t\treturn m_bigTxtEditFileMgr.value(filepath);\r\n\t}\r\n\r\n\treturn nullptr;\r\n}\r\n\r\nTextFileMgr* FileManager::getSuperBigFileMgr(QString filepath)\r\n{\r\n\tif (m_bigTxtFileMgr.contains(filepath))\r\n\t{\r\n\t\treturn m_bigTxtFileMgr.value(filepath);\r\n\t}\r\n\r\n\treturn nullptr;\r\n}\r\n\r\nint FileManager::getBigFileBlockId(QString filepath, quint32 lineNum)\r\n{\r\n\tBigTextEditFileMgr* v = m_bigTxtEditFileMgr.value(filepath);\r\n\r\n\tfor (int i = 0, s = v->blocks.size(); i < s; ++i)\r\n\t{\r\n\t\tconst BlockIndex& k = v->blocks.at(i);\r\n\t\tif (lineNum >= k.lineNumStart && lineNum < (k.lineNumStart + k.lineNum))\r\n\t\t{\r\n\t\t\treturn i;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\nHexFileMgr * FileManager::getHexFileHand(QString filepath)\r\n{\r\n\tif (m_hexFileMgr.contains(filepath))\r\n\t{\r\n\t\treturn m_hexFileMgr.value(filepath);\r\n\t}\r\n\r\n\treturn nullptr;\r\n}\r\n\r\nvoid FileManager::closeHexFileHand(QString filepath)\r\n{\r\n\tif (m_hexFileMgr.contains(filepath))\r\n\t{\r\n\t\tHexFileMgr* v = m_hexFileMgr.value(filepath);\r\n\t\tv->destory();\r\n\t\tdelete v;\r\n\t\tm_hexFileMgr.remove(filepath);\r\n\t}\r\n}\r\n\r\nvoid FileManager::closeSuperBigTextFileHand(QString filepath)\r\n{\r\n\tif (m_bigTxtFileMgr.contains(filepath))\r\n\t{\r\n\t\tTextFileMgr* v = m_bigTxtFileMgr.value(filepath);\r\n\t\tv->destory();\r\n\t\tdelete v;\r\n\t\tm_bigTxtFileMgr.remove(filepath);\r\n\t}\r\n}\r\n\r\nvoid FileManager::closeBigTextRoFileHand(QString filepath)\r\n{\r\n\tif (m_bigTxtEditFileMgr.contains(filepath))\r\n\t{\r\n\t\tBigTextEditFileMgr* v = m_bigTxtEditFileMgr.value(filepath);\r\n\t\tv->destory();\r\n\t\tdelete v;\r\n\t\tm_bigTxtEditFileMgr.remove(filepath);\r\n\t}\r\n}\r\n\r\n//初步检查文件的编程语言。两个标准： 1 文件头部标签 2 文件特定名称\r\nLangType detectLanguage(QString& headContent, QString& filepath)\r\n{\r\n\tstruct FirstLineLanguages\r\n\t{\r\n\t\tQString pattern;\r\n\t\tLangType lang;\r\n\t};\r\n\r\n\tconst size_t FIRST_LINE_LANGUAGES = 5;\r\n\tFirstLineLanguages languages[FIRST_LINE_LANGUAGES] = {\r\n\t\t{ \"<?xml\",\t\t\tL_XML },\r\n\t\t{ \"<?php\",\t\t\tL_PHP },\r\n\t\t{ \"<html\",\t\t\tL_HTML },\r\n\t\t{ \"<!DOCTYPE html\",\tL_HTML },\r\n\t\t{ \"<?\",\t\t\t\tL_PHP }\r\n\t};\r\n\r\n\tint foundPos = -1;\r\n\tfor (int i = 0; i < FIRST_LINE_LANGUAGES; ++i)\r\n\t{\r\n\t\tfoundPos = headContent.indexOf(languages[i].pattern);\r\n\t\tif (foundPos == 0)\r\n\t\t{\r\n\t\t\treturn languages[i].lang;\r\n\t\t}\r\n\t}\r\n\r\n\tconst size_t NAME_CHECK_LANGUAGES = 3;\r\n\tFirstLineLanguages NAME_LEXER[NAME_CHECK_LANGUAGES] = {\r\n\t\t{ \"make\",\t\t\tL_MAKEFILE },\r\n\t\t{ \"makefile\",\t\tL_MAKEFILE },\r\n\t\t{ \"CMakeLists\",\t\tL_MAKEFILE },\r\n\t};\r\n\r\n\tQFileInfo fi(filepath);\r\n\tQString baseName = fi.baseName();\r\n\r\n\tfor (int i = 0; i < NAME_CHECK_LANGUAGES; ++i)\r\n\t{\r\n\t\tif (0 == NAME_LEXER[i].pattern.compare(baseName, Qt::CaseInsensitive))\r\n\t\t{\r\n\t\t\treturn NAME_LEXER[i].lang;\r\n\t\t}\r\n\t}\r\n\r\n\t// Unrecognized first line, we assume it is a text file for now\r\n\treturn L_UNKNOWN;\r\n}\r\n"
  },
  {
    "path": "src/cceditor/filemanager.h",
    "content": "﻿#pragma once\r\n\r\n#include \"common.h\"\r\n#include \"rcglobal.h\"\r\n\r\n#include <QString>\r\n#include <QObject>\r\n#include <QList>\r\n#include <QFile>\r\n\r\nclass ScintillaEditView;\r\nclass ScintillaHexEditView;\r\n\r\n//小于100k的文件一次性全部读取完毕\r\nconst int LITTLE_FILE_MAX = 1024000;\r\n\r\nenum ERROR_TYPE {\r\n\tNONE_ERROR=-1,\r\n\tOPEN_EMPTY_FILE=0,\r\n};\r\n\r\nstruct NewFileIdMgr {\r\n\tint index;\r\n\tScintillaEditView* editView;\r\n\r\n\tNewFileIdMgr(int index_, ScintillaEditView* editView_):index(index_), editView(editView_)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\n//管理二进制文件的信息\r\nstruct HexFileMgr {\r\n\tQString filePath;\r\n\tQFile* file;\r\n\tqint64 fileOffset;\r\n\tqint64 fileSize;\r\n\tqint16 lineSize;//每次读取多少行，默认为64行，没行16个字符\r\n\tchar* contentBuf;\r\n\tint contentRealSize;\r\n\tbool onetimeRead; //是否一次性全部读取到内存。小于等于LITTLE_FILE_MAX的才会全部读取\r\n\tHexFileMgr() :file(nullptr), fileOffset(0), lineSize(64), fileSize(0), contentBuf(nullptr), contentRealSize(0),onetimeRead(false)\r\n\t{\r\n\r\n\t}\r\n\tvoid destory()\r\n\t{\r\n\t\tif (file != nullptr)\r\n\t\t{\r\n\t\t\tfile->close();\r\n\t\t\tdelete file;\r\n\t\t\tfile = nullptr;\r\n\t\t}\r\n\t\tif (contentBuf != nullptr)\r\n\t\t{\r\n\t\t\tdelete[]contentBuf;\r\n\t\t\tcontentBuf = nullptr;\r\n\t\t}\r\n\t}\r\nprivate:\r\n\tHexFileMgr& operator=(const HexFileMgr&) = delete;\r\n\tHexFileMgr(const HexFileMgr&) = delete;\r\n};\r\n\r\n//管理大文本文件的信息\r\nstruct TextFileMgr {\r\n\tQString filePath;\r\n\tQFile* file;\r\n\tqint64 fileOffset;\r\n\tqint64 fileSize;\r\n\tqint16 lineSize;//每次读取多少行，默认每次读取1024行。但是最大不超过1M的内容。\r\n\tchar* contentBuf;\r\n\tint contentRealSize;\r\n\tint loadWithCode;\r\n\tint lineEndType;//行尾类型，win linux mac\r\n\t\r\n\tTextFileMgr() :file(nullptr), fileOffset(0), lineSize(64), fileSize(0), contentBuf(nullptr), contentRealSize(0), loadWithCode(CODE_ID::UNKOWN),lineEndType(RC_LINE_FORM::UNKNOWN_LINE)\r\n\t{\r\n\r\n\t}\r\n\tvoid destory()\r\n\t{\r\n\t\tif (file != nullptr)\r\n\t\t{\r\n\t\t\tfile->close();\r\n\t\t\tdelete file;\r\n\t\t\tfile = nullptr;\r\n\t\t}\r\n\t\tif (contentBuf != nullptr)\r\n\t\t{\r\n\t\t\tdelete[]contentBuf;\r\n\t\t\tcontentBuf = nullptr;\r\n\t\t}\r\n\t}\r\nprivate:\r\n\tTextFileMgr& operator=(const TextFileMgr&) = delete;\r\n\tTextFileMgr(const TextFileMgr&) = delete;\r\n};\r\n\r\nstruct BlockIndex {\r\n\tqint64 fileOffset;//块的开始地址\r\n\tquint32 fileSize;//块的大小\r\n\tquint32 lineNumStart;//块中行号的开始值\r\n\tquint32 lineNum;//块中的行数量\r\n};\r\n\r\n//管理大文本文件,可以编辑的信息\r\nstruct BigTextEditFileMgr {\r\n\tQString filePath;\r\n\tQFile* file;\r\n\tuchar* filePtr;//使用的是文件映射的方式打开\r\n\tquint32 m_curBlockIndex; //当前展示中的块索引序号\r\n\tint loadWithCode; //以何种编码来加载解析文件。默认UTF8\r\n\tint lineEndType;//行尾类型，win linux mac\r\n\tstatic const qint16 BLOCK_SIZE = 1;//块大小，单位M。开始是4M，发现块越大，行越多，那么在一块中定位行的位置越慢\r\n\r\n\tQVector<BlockIndex> blocks;//每一块的索引。打开文件的时候，需要建立该索引\r\n\t\r\n\tBigTextEditFileMgr():filePtr(nullptr), file(nullptr), m_curBlockIndex(0), loadWithCode(CODE_ID::UNKOWN), lineEndType(RC_LINE_FORM::UNKNOWN_LINE)\r\n\t{\r\n\t}\r\n\tvoid destory()\r\n\t{\r\n\t\tif (filePtr != nullptr)\r\n\t\t{\r\n\t\t\tif (file != nullptr)\r\n\t\t\t{\r\n\t\t\t\tfile->unmap(filePtr);\r\n\t\t\t\tfile->close();\r\n\t\t\t\tdelete file;\r\n\t\t\t\tfile = nullptr;\r\n\t\t\t}\r\n\t\t\tfilePtr = nullptr;\r\n\t\t}\r\n\t}\r\nprivate:\r\n\tBigTextEditFileMgr& operator=(const TextFileMgr&) = delete;\r\n\tBigTextEditFileMgr(const TextFileMgr&) = delete;\r\n};\r\n\r\nclass CCNotePad;\r\n\r\nclass FileManager:public QObject\r\n{\r\n\tQ_OBJECT\r\npublic:\r\n\tScintillaEditView* newEmptyDocument(bool isBigText = false);\r\n\r\n\tScintillaHexEditView * newEmptyHexDocument();\r\n\r\n\tint getNextNewFileId();\r\n\r\n\tvoid insertNewFileNode(NewFileIdMgr node);\r\n\r\n\tvoid delNewFileNode(int fileIndex);\r\n\r\n\tint loadFileDataInTextFromOffset(ScintillaEditView* editView, QString filePath, CODE_ID fileTextCode, QWidget* msgBoxParent, quint64 startReadSize);\r\n\r\n\t//下面这个是旧函数，之前对比时候用的。\r\n\t//int loadFileDataInText(ScintillaEditView * editView, QString filePath, CODE_ID & fileTextCode, RC_LINE_FORM &lineEnd, CCNotePad * callbackObj=nullptr, bool hexAsk = true, QWidget* MsgBoxParent=nullptr);\r\n\r\n\tint loadFileDataInText(ScintillaEditView* editView, QString filePath, CODE_ID& fileTextCode, RC_LINE_FORM& lineEnd, CCNotePad* callbackObj = nullptr, bool hexAsk = true, QWidget* msgBoxParent = nullptr);\r\n\t\r\n\tint loadFileForSearch(ScintillaEditView * editView, QString filePath);\r\n\r\n\t//int loadFileData(ScintillaEditView * editView, QString filePath, CODE_ID & fileTextCode, RC_LINE_FORM & lineEnd);\r\n\r\n\tint loadFilePreNextPage(int dir, QString & filePath, HexFileMgr *& hexFileOut);\r\n\r\n\tint loadFilePreNextPage(int dir, QString & filePath, TextFileMgr *& hexFileOut);\r\n\r\n\tint loadFileFromAddr(QString filePath, qint64 addr, HexFileMgr *& hexFileOut);\r\n\r\n\tint loadFileFromAddr(QString filePath, qint64 addr, TextFileMgr *& hexFileOut);\r\n\r\n\tbool loadFileData(QString filePath, HexFileMgr * & hexFileOut);\r\n\r\n\tbool loadFileData(QString filePath, TextFileMgr *& textFileOut, RC_LINE_FORM & lineEnd);\r\n\r\n\tbool loadFileDataWithIndex(QString filePath, BigTextEditFileMgr*& textFileOut);\r\n\r\n\tHexFileMgr* getHexFileHand(QString filepath);\r\n\r\n\tBigTextEditFileMgr* getBigFileEditMgr(QString filepath);\r\n\r\n\tTextFileMgr* getSuperBigFileMgr(QString filepath);\r\n\r\n\tint getBigFileBlockId(QString filepath, quint32 lineNum);\r\n\r\n\tvoid closeHexFileHand(QString filepath);\r\n\r\n\tvoid closeSuperBigTextFileHand(QString filepath);\r\n\r\n\tvoid closeBigTextRoFileHand(QString filepath);\r\n\r\n\tstatic FileManager& getInstance() {\r\n\t\tstatic FileManager instance;\r\n\t\treturn instance;\r\n\t};\r\n\r\n\tERROR_TYPE getLastErrorCode()\r\n\t{\r\n\t\treturn m_lastErrorCode;\r\n\t}\r\n\r\n\tvoid resetLastErrorCode()\r\n\t{\r\n\t\tm_lastErrorCode = NONE_ERROR;\r\n\t}\r\n\r\nprivate:\r\n\tFileManager();\r\n\t~FileManager();\r\n\tint createBlockIndex(BigTextEditFileMgr* txtFile);\r\n\r\n\tFileManager(const FileManager&) = delete;\r\n\tFileManager& operator=(const FileManager&) = delete;\r\n\r\n\tQList<NewFileIdMgr> m_newFileIdList;\r\n\r\n\tQMap<QString, HexFileMgr*> m_hexFileMgr;\r\n\r\n\tQMap<QString, TextFileMgr*> m_bigTxtFileMgr;\r\n\r\n\tQMap<QString, BigTextEditFileMgr*> m_bigTxtEditFileMgr;\r\n\r\n\tERROR_TYPE m_lastErrorCode;\r\n};\r\n\r\n"
  },
  {
    "path": "src/closeDlg.cpp",
    "content": "﻿#include \"closeDlg.h\"\r\n\r\ncloseDlg::closeDlg(QWidget *parent): QDialog(parent)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\ncloseDlg::~closeDlg()\r\n{\r\n}\r\n\r\nvoid closeDlg::save()\r\n{\r\n\tif (ui.leftBox->isChecked() && ui.rightBox->isChecked())\r\n\t{\r\n\t\tdone(3);\r\n\t}\r\n\telse if (ui.leftBox->isChecked())\r\n\t{\r\n\t\tdone(1);\r\n\t}\r\n\telse if (ui.rightBox->isChecked())\r\n\t{\r\n\t\tdone(2);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tdone(0);\r\n\t}\r\n}\r\n\r\nvoid closeDlg::discard()\r\n{\r\n\tdone(-1);\r\n}\r\n\r\nvoid closeDlg::cancel()\r\n{\r\n\tdone(-2);\r\n}"
  },
  {
    "path": "src/closeDlg.h",
    "content": "﻿#pragma once\r\n\r\n#include <QDialog>\r\n#include \"ui_closeDlg.h\"\r\n\r\nclass closeDlg : public QDialog\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tcloseDlg(QWidget *parent = Q_NULLPTR);\r\n\tvirtual ~closeDlg();\r\n\r\n\t\r\n\r\npublic slots:\r\n\tvoid save();\r\n\tvoid discard();\r\n\tvoid cancel();\r\n\r\nprivate:\r\n\tUi::closeDlg ui;\r\n};\r\n"
  },
  {
    "path": "src/closeDlg.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>closeDlg</class>\r\n <widget class=\"QWidget\" name=\"closeDlg\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>475</width>\r\n    <height>164</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"sizePolicy\">\r\n   <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Fixed\">\r\n    <horstretch>0</horstretch>\r\n    <verstretch>0</verstretch>\r\n   </sizepolicy>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>475</width>\r\n    <height>164</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>closeDlg</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_3\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeType\">\r\n        <enum>QSizePolicy::Fixed</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>50</width>\r\n         <height>15</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n       <item>\r\n        <widget class=\"QLabel\" name=\"label\">\r\n         <property name=\"text\">\r\n          <string>Do you want to save your changes?</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item>\r\n        <widget class=\"QCheckBox\" name=\"leftBox\">\r\n         <property name=\"text\">\r\n          <string>Save Left Document?</string>\r\n         </property>\r\n         <property name=\"checked\">\r\n          <bool>true</bool>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item>\r\n        <widget class=\"QCheckBox\" name=\"rightBox\">\r\n         <property name=\"text\">\r\n          <string>Save Right Document?</string>\r\n         </property>\r\n         <property name=\"checked\">\r\n          <bool>true</bool>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n      </layout>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <spacer name=\"verticalSpacer\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Vertical</enum>\r\n     </property>\r\n     <property name=\"sizeType\">\r\n      <enum>QSizePolicy::Fixed</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>17</width>\r\n       <height>15</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"saveBt\">\r\n       <property name=\"sizePolicy\">\r\n        <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n         <horstretch>0</horstretch>\r\n         <verstretch>0</verstretch>\r\n        </sizepolicy>\r\n       </property>\r\n       <property name=\"minimumSize\">\r\n        <size>\r\n         <width>100</width>\r\n         <height>30</height>\r\n        </size>\r\n       </property>\r\n       <property name=\"text\">\r\n        <string>Save Selected</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"discardBt\">\r\n       <property name=\"sizePolicy\">\r\n        <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n         <horstretch>0</horstretch>\r\n         <verstretch>0</verstretch>\r\n        </sizepolicy>\r\n       </property>\r\n       <property name=\"minimumSize\">\r\n        <size>\r\n         <width>100</width>\r\n         <height>30</height>\r\n        </size>\r\n       </property>\r\n       <property name=\"text\">\r\n        <string>Discard</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"cancelBt\">\r\n       <property name=\"sizePolicy\">\r\n        <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Fixed\">\r\n         <horstretch>0</horstretch>\r\n         <verstretch>0</verstretch>\r\n        </sizepolicy>\r\n       </property>\r\n       <property name=\"minimumSize\">\r\n        <size>\r\n         <width>100</width>\r\n         <height>30</height>\r\n        </size>\r\n       </property>\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>saveBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>closeDlg</receiver>\r\n   <slot>save()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>202</x>\r\n     <y>124</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>237</x>\r\n     <y>81</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>discardBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>closeDlg</receiver>\r\n   <slot>discard()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>308</x>\r\n     <y>124</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>237</x>\r\n     <y>81</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>closeDlg</receiver>\r\n   <slot>cancel()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>414</x>\r\n     <y>124</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>237</x>\r\n     <y>81</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>save()</slot>\r\n  <slot>cancel()</slot>\r\n  <slot>discard()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/columnedit.cpp",
    "content": "#include \"columnedit.h\"\r\n#include \"scintillaeditview.h\"\r\n\r\nColumnEdit::ColumnEdit(QWidget *parent)\r\n\t: QWidget(parent), m_curEditWin(nullptr), m_editTabWidget(nullptr)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tconnect(ui.addPrefix, &QCheckBox::stateChanged, this, &ColumnEdit::slot_addPrefix);\r\n\tconnect(ui.is16, &QRadioButton::clicked, this, &ColumnEdit::slot_bigChar);\r\n}\r\n\r\nColumnEdit::~ColumnEdit()\r\n{\r\n}\r\n\r\n\r\nvoid ColumnEdit::slot_insertTextEnable(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tif (ui.numGroupBox->isChecked())\r\n\t\t{\r\n\t\t\tui.numGroupBox->setChecked(!check);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ColumnEdit::slot_insertNumEnable(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tif (ui.textGroupBox->isChecked())\r\n\t\t{\r\n\t\t\tui.textGroupBox->setChecked(!check);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ColumnEdit::slot_addPrefix(int s)\r\n{\r\n\tif (s == Qt::Checked)\r\n\t{\r\n\t\tui.prefix->setEnabled(true);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.prefix->setEnabled(false);\r\n\t}\r\n}\r\n\r\nvoid ColumnEdit::slot_bigChar(bool isCheck)\r\n{\r\n\tui.capital->setEnabled(isCheck);\r\n}\r\n\r\n//Զǰڵ״̬\r\nQWidget* ColumnEdit::autoAdjustCurrentEditWin()\r\n{\r\n\tQWidget* pw = m_editTabWidget->currentWidget();\r\n\r\n\tif (m_curEditWin != pw)\r\n\t{\r\n\t\tm_curEditWin = pw;\r\n\t}\r\n\treturn pw;\r\n}\r\n\r\nvoid ColumnEdit::setTabWidget(QTabWidget *editTabWidget)\r\n{\r\n\tm_editTabWidget = editTabWidget;\r\n}\r\n\r\nvoid ColumnEdit::slot_ok()\r\n{\r\n\tautoAdjustCurrentEditWin();\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(m_curEditWin);\r\n\tif (pEdit == nullptr || pEdit->isReadOnly())\r\n\t{\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString text;\r\n\r\n\tbool isNum = false;\r\n\tint numType = 10;\r\n\tint initNum = 0;\r\n\tint inc = ui.incNum->value();\r\n\tint repeNum = ui.repeNum->value();\r\n\tbool isAddPrefix = ui.addPrefix->isChecked();\r\n\tQString prefix = ui.prefix->text();\r\n\tbool isCapital = ui.capital->isChecked();\r\n\r\n\t//ǲıģʽ\r\n\tif (ui.textGroupBox->isChecked())\r\n\t{\r\n\r\n\t\ttext = ui.inputText->text();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tisNum = true;\r\n\r\n\t\ttext = ui.initNum->text();\r\n\r\n\t\tbool ok = false;\r\n\r\n\t\tif (ui.is10->isChecked())\r\n\t\t{\r\n\t\t\tnumType = 10;\r\n\t\t}\r\n\t\telse if (ui.is16->isChecked())\r\n\t\t{\r\n\t\t\tnumType = 16;\r\n\t\t}\r\n\t\telse if (ui.is8->isChecked())\r\n\t\t{\r\n\t\t\tnumType = 8;\r\n\t\t}\r\n\t\telse if (ui.is2->isChecked())\r\n\t\t{\r\n\t\t\tnumType = 2;\r\n\t\t}\r\n\t\tint num = text.toInt(&ok, 10);\r\n\r\n\t\tinitNum = num;\r\n\r\n\t\tif (ok)\r\n\t\t{\r\n\t\t\ttext = QString::number(num, numType);\r\n\r\n\t\t\tif (isAddPrefix)\r\n\t\t\t{\r\n\t\t\t\ttext = prefix + text;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//ҪӸʾ\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tpEdit->execute(SCI_BEGINUNDOACTION);\r\n\r\n\tif (ui.textGroupBox->isChecked())\r\n\t{\r\n\t\tif (pEdit->execute(SCI_SELECTIONISRECTANGLE) || pEdit->execute(SCI_GETSELECTIONS) > 1)\r\n\t\t{\r\n\t\t\tColumnModeInfos colInfos = pEdit->getColumnModeSelectInfo();\r\n\t\t\tstd::sort(colInfos.begin(), colInfos.end(), SortInPositionOrder());\r\n\r\n\t\t\tQByteArray bytes = text.toUtf8();\r\n\t\t\tpEdit->columnReplace(colInfos, bytes);\r\n\t\t\tstd::sort(colInfos.begin(), colInfos.end(), SortInSelectOrder());\r\n\t\t\tpEdit->setMultiSelections(colInfos);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (pEdit->execute(SCI_SELECTIONISRECTANGLE) || pEdit->execute(SCI_GETSELECTIONS) > 1)\r\n\t\t{\r\n\t\t\tColumnModeInfos colInfos = pEdit->getColumnModeSelectInfo();\r\n\r\n\t\t\t// If there is no column mode info available, no need to do anything\r\n\t\t\t// If required a message can be shown to user, that select column properly or something similar\r\n\t\t\tif (colInfos.size() > 0)\r\n\t\t\t{\r\n\t\t\t\tstd::sort(colInfos.begin(), colInfos.end(), SortInPositionOrder());\r\n\t\t\t\tQByteArray bytes;\r\n\t\t\t\tif (isAddPrefix)\r\n\t\t\t\t{\r\n\t\t\t\t\tbytes = prefix.toUtf8();\r\n\t\t\t\t}\r\n\t\t\t\tpEdit->columnReplace(colInfos, initNum, inc, repeNum, numType, isCapital, bytes);\r\n\t\t\t\tstd::sort(colInfos.begin(), colInfos.end(), SortInSelectOrder());\r\n\t\t\t\tpEdit->setMultiSelections(colInfos);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tauto cursorPos = pEdit->execute(SCI_GETCURRENTPOS);\r\n\tauto cursorCol = pEdit->execute(SCI_GETCOLUMN, cursorPos);\r\n\tauto cursorLine = pEdit->execute(SCI_LINEFROMPOSITION, cursorPos);\r\n\tauto endPos = pEdit->execute(SCI_GETLENGTH);\r\n\tauto endLine = pEdit->execute(SCI_LINEFROMPOSITION, endPos);\r\n\t\r\n\tQByteArray lineData;\r\n\r\n\tint rn = repeNum;\r\n\r\n\tfor (size_t i = cursorLine; i <= static_cast<size_t>(endLine); ++i)\r\n\t{\r\n\t\tauto lineBegin = pEdit->execute(SCI_POSITIONFROMLINE, i);\r\n\t\tauto lineEnd = pEdit->execute(SCI_GETLINEENDPOSITION, i);\r\n\r\n\t\tauto lineEndCol = pEdit->execute(SCI_GETCOLUMN, lineEnd);\r\n\t\tauto lineLen = lineEnd - lineBegin;\r\n\t\tlineData.resize(lineLen);\r\n\t\t\t\r\n\r\n\t\tSci_TextRange  lineText;\r\n\t\tlineText.chrg.cpMin = static_cast<Sci_Position>(lineBegin);\r\n\t\tlineText.chrg.cpMax = static_cast<Sci_Position>(lineEnd);\r\n\t\tlineText.lpstrText = lineData.data();\r\n\t\t//ȡԭʼе\r\n\t\tpEdit->SendScintilla(SCI_GETTEXTRANGE, 0, &lineText);\r\n\r\n\t\tif (lineEndCol < cursorCol)\r\n\t\t{\r\n\t\t\tQByteArray s_space(cursorCol - lineEndCol, ' ');\r\n\t\t\tlineData.append(s_space);\r\n\t\t\tlineData.append(text.toUtf8());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tint posAbs2Start = pEdit->execute(SCI_FINDCOLUMN, i, cursorCol);\r\n\t\t\tint posRelative2Start = posAbs2Start - lineBegin;\r\n\t\t\tlineData.insert(posRelative2Start, text.toUtf8());\r\n\t\t}\r\n\r\n\t\tpEdit->SendScintilla(SCI_SETTARGETRANGE, lineBegin, lineEnd);\r\n\t\tpEdit->SendScintilla(SCI_REPLACETARGET, lineData.size(), lineData.data());\r\n\r\n\t\tif (isNum)\r\n\t\t{\r\n\t\t\t--rn;\r\n\r\n\t\t\tif (rn > 0)\r\n\t\t\t{\r\n\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\trn = repeNum;\r\n\t\t\t\tinitNum += inc;\r\n\r\n\t\t\t}\r\n\t\t\t\r\n\r\n\t\t\tif (numType != 16)\r\n\t\t\t{\r\n\t\t\ttext = QString::number(initNum, numType);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (isCapital)\r\n\t\t\t\t{\r\n\t\t\t\t\ttext = QString::number(initNum, numType).toUpper();\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\ttext = QString::number(initNum, numType);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\tif (isAddPrefix)\r\n\t\t\t{\r\n\t\t\t\ttext = prefix + text;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpEdit->execute(SCI_ENDUNDOACTION);\r\n}\r\n"
  },
  {
    "path": "src/columnedit.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include <QTabWidget>\r\n#include \"ui_columnedit.h\"\r\n\r\nclass ColumnEdit : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tColumnEdit(QWidget *parent = Q_NULLPTR);\r\n\t~ColumnEdit();\r\n\r\n\r\n\tvoid setTabWidget(QTabWidget * editTabWidget);\r\n\r\nprivate:\r\n\r\n\tQWidget * autoAdjustCurrentEditWin();\r\n\r\n\r\nprivate slots:\r\n\tvoid slot_insertNumEnable(bool check);\r\n\tvoid slot_insertTextEnable(bool check);\r\n\tvoid slot_addPrefix(int s);\r\n\tvoid slot_bigChar(bool isCheck);\r\n\tvoid slot_ok();\r\n\r\nprivate:\r\n\tUi::ColumnEdit ui;\r\n\tQWidget* m_curEditWin;\r\n\tQTabWidget *m_editTabWidget;\r\n};\r\n"
  },
  {
    "path": "src/columnedit.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>ColumnEdit</class>\r\n <widget class=\"QWidget\" name=\"ColumnEdit\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>337</width>\r\n    <height>316</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>350</width>\r\n    <height>330</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>ColumnEdit</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_5\">\r\n   <property name=\"spacing\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"leftMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_5\">\r\n     <item>\r\n      <widget class=\"QGroupBox\" name=\"textGroupBox\">\r\n       <property name=\"title\">\r\n        <string>Insert Text</string>\r\n       </property>\r\n       <property name=\"checkable\">\r\n        <bool>true</bool>\r\n       </property>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout_4\">\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"inputText\">\r\n          <property name=\"maxLength\">\r\n           <number>1024</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n       <item>\r\n        <widget class=\"QPushButton\" name=\"ok\">\r\n         <property name=\"text\">\r\n          <string>Ok</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item>\r\n        <widget class=\"QPushButton\" name=\"close\">\r\n         <property name=\"text\">\r\n          <string>Close</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n      </layout>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"numGroupBox\">\r\n     <property name=\"title\">\r\n      <string>Insert Num</string>\r\n     </property>\r\n     <property name=\"checkable\">\r\n      <bool>true</bool>\r\n     </property>\r\n     <property name=\"checked\">\r\n      <bool>false</bool>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n      <property name=\"spacing\">\r\n       <number>9</number>\r\n      </property>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n        <property name=\"leftMargin\">\r\n         <number>20</number>\r\n        </property>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label\">\r\n          <property name=\"text\">\r\n           <string>Initial value:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"initNum\">\r\n          <property name=\"text\">\r\n           <string>1</string>\r\n          </property>\r\n          <property name=\"maxLength\">\r\n           <number>11</number>\r\n          </property>\r\n          <property name=\"placeholderText\">\r\n           <string>1</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <spacer name=\"horizontalSpacer\">\r\n          <property name=\"orientation\">\r\n           <enum>Qt::Horizontal</enum>\r\n          </property>\r\n          <property name=\"sizeHint\" stdset=\"0\">\r\n           <size>\r\n            <width>40</width>\r\n            <height>20</height>\r\n           </size>\r\n          </property>\r\n         </spacer>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <property name=\"leftMargin\">\r\n         <number>20</number>\r\n        </property>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_2\">\r\n          <property name=\"text\">\r\n           <string>increment:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QSpinBox\" name=\"incNum\">\r\n          <property name=\"minimumSize\">\r\n           <size>\r\n            <width>50</width>\r\n            <height>0</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"minimum\">\r\n           <number>-100</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <spacer name=\"horizontalSpacer_4\">\r\n          <property name=\"orientation\">\r\n           <enum>Qt::Horizontal</enum>\r\n          </property>\r\n          <property name=\"sizeHint\" stdset=\"0\">\r\n           <size>\r\n            <width>40</width>\r\n            <height>20</height>\r\n           </size>\r\n          </property>\r\n         </spacer>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n        <property name=\"leftMargin\">\r\n         <number>20</number>\r\n        </property>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_3\">\r\n          <property name=\"text\">\r\n           <string>Repetitions:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QSpinBox\" name=\"repeNum\">\r\n          <property name=\"minimumSize\">\r\n           <size>\r\n            <width>50</width>\r\n            <height>0</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"minimum\">\r\n           <number>1</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <spacer name=\"horizontalSpacer_2\">\r\n          <property name=\"orientation\">\r\n           <enum>Qt::Horizontal</enum>\r\n          </property>\r\n          <property name=\"sizeHint\" stdset=\"0\">\r\n           <size>\r\n            <width>40</width>\r\n            <height>20</height>\r\n           </size>\r\n          </property>\r\n         </spacer>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\">\r\n        <property name=\"leftMargin\">\r\n         <number>20</number>\r\n        </property>\r\n        <item>\r\n         <widget class=\"QCheckBox\" name=\"addPrefix\">\r\n          <property name=\"text\">\r\n           <string>prefix string:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"prefix\">\r\n          <property name=\"enabled\">\r\n           <bool>false</bool>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <spacer name=\"horizontalSpacer_3\">\r\n          <property name=\"orientation\">\r\n           <enum>Qt::Horizontal</enum>\r\n          </property>\r\n          <property name=\"sizeHint\" stdset=\"0\">\r\n           <size>\r\n            <width>40</width>\r\n            <height>20</height>\r\n           </size>\r\n          </property>\r\n         </spacer>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QGroupBox\" name=\"groupBox_3\">\r\n        <property name=\"title\">\r\n         <string>Format</string>\r\n        </property>\r\n        <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n         <item>\r\n          <layout class=\"QHBoxLayout\" name=\"horizontalLayout_6\">\r\n           <item>\r\n            <widget class=\"QRadioButton\" name=\"is10\">\r\n             <property name=\"text\">\r\n              <string>Decimal </string>\r\n             </property>\r\n             <property name=\"checked\">\r\n              <bool>true</bool>\r\n             </property>\r\n            </widget>\r\n           </item>\r\n           <item>\r\n            <spacer name=\"horizontalSpacer_5\">\r\n             <property name=\"orientation\">\r\n              <enum>Qt::Horizontal</enum>\r\n             </property>\r\n             <property name=\"sizeHint\" stdset=\"0\">\r\n              <size>\r\n               <width>40</width>\r\n               <height>20</height>\r\n              </size>\r\n             </property>\r\n            </spacer>\r\n           </item>\r\n           <item>\r\n            <widget class=\"QRadioButton\" name=\"is16\">\r\n             <property name=\"text\">\r\n              <string>Hex</string>\r\n             </property>\r\n            </widget>\r\n           </item>\r\n           <item>\r\n            <widget class=\"QCheckBox\" name=\"capital\">\r\n             <property name=\"enabled\">\r\n              <bool>false</bool>\r\n             </property>\r\n             <property name=\"text\">\r\n              <string>Capital</string>\r\n             </property>\r\n             <property name=\"checked\">\r\n              <bool>true</bool>\r\n             </property>\r\n            </widget>\r\n           </item>\r\n          </layout>\r\n         </item>\r\n         <item>\r\n          <layout class=\"QHBoxLayout\" name=\"horizontalLayout_7\">\r\n           <item>\r\n            <widget class=\"QRadioButton\" name=\"is8\">\r\n             <property name=\"text\">\r\n              <string>Octal </string>\r\n             </property>\r\n            </widget>\r\n           </item>\r\n           <item>\r\n            <widget class=\"QRadioButton\" name=\"is2\">\r\n             <property name=\"text\">\r\n              <string>Binary</string>\r\n             </property>\r\n            </widget>\r\n           </item>\r\n          </layout>\r\n         </item>\r\n        </layout>\r\n       </widget>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>inputText</sender>\r\n   <signal>returnPressed()</signal>\r\n   <receiver>ColumnEdit</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>143</x>\r\n     <y>53</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>253</x>\r\n     <y>-4</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>ok</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ColumnEdit</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>290</x>\r\n     <y>25</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>219</x>\r\n     <y>0</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>textGroupBox</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>ColumnEdit</receiver>\r\n   <slot>slot_insertTextEnable(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>17</x>\r\n     <y>16</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>325</x>\r\n     <y>-6</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>numGroupBox</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>ColumnEdit</receiver>\r\n   <slot>slot_insertNumEnable(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>33</x>\r\n     <y>86</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>308</x>\r\n     <y>80</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>close</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ColumnEdit</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>319</x>\r\n     <y>63</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>339</x>\r\n     <y>45</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_ok()</slot>\r\n  <slot>slot_insertTextEnable(bool)</slot>\r\n  <slot>slot_insertNumEnable(bool)</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/command.cpp",
    "content": "﻿#include \"command.h\"\r\n"
  },
  {
    "path": "src/command.h",
    "content": "﻿#pragma once\r\n#include <QString>\r\n\r\nenum ChangeDire {\r\n\tNONE_CHANGE=-1,\r\n\tLEFT_CHANGE=0,\r\n\tRIGHT_CHANGE,\r\n\tBOTH_CHANGE,\r\n};\r\n\r\nclass Command\r\n{\r\npublic:\r\n\tvirtual ~Command() = default;\r\n\t//获取当前命令的序号，同一个序号的，需要逐渐一起执行\r\n\tvirtual int getOperIndex() = 0;\r\n\tvirtual void undo() = 0;\r\n\tvirtual QString desc() = 0;\r\n\r\n\t//获取左右是否变化的状态。\r\n\tChangeDire getChangeStatus() {\r\n\t\treturn m_changeStaus;\r\n\t}\r\n\tvoid setChangeStatus(ChangeDire c) {\r\n\t\tm_changeStaus = c;\r\n\t}\r\n\r\nprotected:\r\n\tChangeDire m_changeStaus;\r\n};\r\n\r\n"
  },
  {
    "path": "src/common.cpp",
    "content": "#include \"common.h\"\r\n\r\n\r\nint nbDigitsFromNbLines(size_t nbLines)\r\n{\r\n\tint nbDigits = 0; // minimum number of digit should be 4\r\n\tif (nbLines < 10) nbDigits = 1;\r\n\telse if (nbLines < 100) nbDigits = 2;\r\n\telse if (nbLines < 1000) nbDigits = 3;\r\n\telse if (nbLines < 10000) nbDigits = 4;\r\n\telse if (nbLines < 100000) nbDigits = 5;\r\n\telse if (nbLines < 1000000) nbDigits = 6;\r\n\telse // rare case\r\n\t{\r\n\t\tnbDigits = 7;\r\n\t\tnbLines /= 1000000;\r\n\r\n\t\twhile (nbLines)\r\n\t\t{\r\n\t\t\tnbLines /= 10;\r\n\t\t\t++nbDigits;\r\n\t\t}\r\n\t}\r\n\treturn nbDigits;\r\n}"
  },
  {
    "path": "src/common.h",
    "content": "#pragma once\r\n#include <QAction>\r\n#include <qscilexer.h>\r\n\r\nconst int ResultItemPos = Qt::UserRole + 1;//每一条查找结果，section下面的子级别\r\nconst int ResultItemEditor = Qt::UserRole + 2;//查找结果的一个总节点的属性字段，section级别\r\nconst int ResultWhatFind = Qt::UserRole + 3;\r\nconst int ResultItemRoot = Qt::UserRole + 4; //一次查找结果的根节点的属性字段，多个section的父级别\r\nconst int ResultItemEditorFilePath = Qt::UserRole + 5;\r\nconst int ResultItemLen = Qt::UserRole + 6;\r\nconst int ResultItemDesc = Qt::UserRole + 7;\r\n\r\n//打开模式。1 文本 2 二进制 3 大文本只读 4 文本只读\r\nstatic const char* Open_Attr = \"openid\";\r\n\r\n#if 0\r\nenum LangType {\r\n\tL_TEXT, L_PHP, L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC, \\\r\n\tL_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER, \\\r\n\tL_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA, \\\r\n\tL_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME, \\\r\n\tL_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3, \\\r\n\tL_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT, \\\r\n\tL_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP, \\\r\n\tL_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC, \\\r\n\tL_IHEX, L_TEHEX, L_SWIFT, \\\r\n\tL_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \\\r\n\tL_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \\\r\n\tL_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \\\r\n\tL_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG, L_TYPESCRIPT, \\\r\n\tL_EDIFACT, L_MARKDOWN, L_OCTAVE, L_PO, L_POV, L_IDL, L_GO, L_TXT,\\\r\n\t// Don't use L_JS, use L_JAVASCRIPT instead\r\n\t// The end of enumated language type, so it should be always at the end\r\n\tL_EXTERNAL = 100,\r\n};\r\n#endif\r\n\r\nint nbDigitsFromNbLines(size_t nbLines);\r\n\r\nclass LexerNode {\r\npublic:\r\n\tQAction* pAct;\r\n\tLangType index;\r\n\tLexerNode():pAct(nullptr), index(L_TXT)\r\n\t{\r\n\r\n\t}\r\n};\r\n"
  },
  {
    "path": "src/ctipwin.cpp",
    "content": "#include \"ctipwin.h\"\r\n\r\n#include <QTimer>\r\n\r\nCTipWin::CTipWin(QWidget *parent)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n\tthis->setWindowFlags(Qt::ToolTip);\r\n\r\n\tQPalette  palette(this->palette());\r\n\tpalette.setColor(QPalette::Window, QColor(0xfff29d));\r\n\tthis->setPalette(palette);\r\n}\r\n\r\nCTipWin::~CTipWin()\r\n{\r\n}\r\n\r\nvoid CTipWin::setTipText(QString text)\r\n{\r\n\tui.labelInfo->setText(text);\r\n}\r\n\r\nvoid CTipWin::showMsg(int sec)\r\n{\r\n\tshow();\r\n\r\n\tQTimer::singleShot(sec, this, SLOT(slot_delayClose()));\r\n}\r\n\r\nvoid CTipWin::slot_delayClose()\r\n{\r\n\tclose();\r\n}\r\n\r\n\r\nvoid CTipWin::showTips(QWidget* parent, QString text, int sec, bool isMousePos)\r\n{\r\n\r\n\tif (parent != nullptr)\r\n\t{\r\n\t\tCTipWin* pWin = new CTipWin();\r\n\t\tpWin->setTipText(text);\r\n\t\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\tpWin->showMsg(sec);\r\n\r\n\t\tif (!isMousePos)\r\n\t\t{\r\n\t\tQPoint pos = parent->pos();\r\n\t\tQSize size = parent->size();\r\n\r\n\t\tQPoint newPos(pos.x() + 10, pos.y() + size.height() - 20);\r\n\t\tpWin->move(newPos);\r\n\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tpWin->move(parent->cursor().pos());\r\n}\r\n\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/ctipwin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_ctipwin.h\"\r\n\r\nclass CTipWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tCTipWin(QWidget *parent = Q_NULLPTR);\r\n\t~CTipWin();\r\n\tvoid setTipText(QString text);\r\n\tvoid showMsg(int sec = 2000);\r\n\tstatic void showTips(QWidget* parent, QString text, int sec, bool isMousePos = false);\r\n\r\nprivate slots:\r\n\tvoid slot_delayClose();\r\n\r\nprivate:\r\n\tUi::CTipWin ui;\r\n};\r\n"
  },
  {
    "path": "src/ctipwin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>CTipWin</class>\r\n <widget class=\"QWidget\" name=\"CTipWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>295</width>\r\n    <height>35</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>16777215</width>\r\n    <height>80</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"font\">\r\n   <font>\r\n    <family>Arial</family>\r\n    <weight>75</weight>\r\n    <bold>true</bold>\r\n   </font>\r\n  </property>\r\n  <property name=\"contextMenuPolicy\">\r\n   <enum>Qt::DefaultContextMenu</enum>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>Msg Tips</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <property name=\"leftMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <item>\r\n    <widget class=\"QLabel\" name=\"labelInfo\">\r\n     <property name=\"enabled\">\r\n      <bool>false</bool>\r\n     </property>\r\n     <property name=\"font\">\r\n      <font>\r\n       <family>Arial</family>\r\n       <pointsize>12</pointsize>\r\n       <weight>75</weight>\r\n       <bold>true</bold>\r\n      </font>\r\n     </property>\r\n     <property name=\"text\">\r\n      <string/>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/dectfilechanges.cpp",
    "content": "#include \"dectfilechanges.h\"\n\n#ifdef WIN32\n\nDectFileChanges::DectFileChanges():m_lastFileSize(0), m_curFileSize(0)\n{\n\t_szFile = NULL;\n\t_dwNotifyFilter = 0;\n}\n\n\nDectFileChanges::~DectFileChanges()\n{\n}\n\n\nBOOL DectFileChanges::DetectChanges() {\n\n\tWIN32_FILE_ATTRIBUTE_DATA fInfo;\n\tBOOL rValue = FALSE;\n\t::GetFileAttributesEx(_szFile, GetFileExInfoStandard, &fInfo);\n\n\tif ((_dwNotifyFilter & FILE_NOTIFY_CHANGE_SIZE) && (fInfo.nFileSizeHigh != _lastFileInfo.nFileSizeHigh || fInfo.nFileSizeLow != _lastFileInfo.nFileSizeLow)) {\n\t\trValue = TRUE;\n\t}\n\n\tif ((_dwNotifyFilter & FILE_NOTIFY_CHANGE_LAST_WRITE) && (fInfo.ftLastWriteTime.dwHighDateTime != _lastFileInfo.ftLastWriteTime.dwHighDateTime || fInfo.ftLastWriteTime.dwLowDateTime != _lastFileInfo.ftLastWriteTime.dwLowDateTime)) {\n\t\trValue = TRUE;\n\t}\n\n\tif (rValue)\n\t{\n\t\tm_lastFileSize = getFileSize(_lastFileInfo);\n\t}\n\t_lastFileInfo = fInfo;\n\n\tif (rValue)\n\t{\n\t\tm_curFileSize = getFileSize(_lastFileInfo);\n\t}\n\treturn rValue;\n}\n\nvoid DectFileChanges::AddFile(LPCTSTR szFile, DWORD dwNotifyFilter)\n{\n\t_szFile = szFile;\n\t_dwNotifyFilter = dwNotifyFilter;\n\t::GetFileAttributesEx(szFile, GetFileExInfoStandard, &_lastFileInfo);\n}\n\n\nvoid DectFileChanges::Terminate()\n{\n\t_szFile = NULL;\n\t_dwNotifyFilter = 0;\n}\nquint64 DectFileChanges::getFileSize(WIN32_FILE_ATTRIBUTE_DATA& data)\n{\n\tquint64 fileSize = data.nFileSizeHigh;\n\tfileSize = (fileSize << 32);\n\tfileSize += data.nFileSizeLow;\n\n\treturn fileSize;\n}\n\nvoid DectFileChanges::getDiffFileSize(quint64& lastSize, quint64& curSize)\n{\n\tlastSize = m_lastFileSize;\n\tcurSize = m_curFileSize;\n}\n\n#endif\n"
  },
  {
    "path": "src/dectfilechanges.h",
    "content": "#pragma once\n\n#ifdef WIN32\n\n#include <stdio.h>\n\n#ifndef VC_EXTRALEAN\n#define VC_EXTRALEAN\n#endif\n\n//NOMINMAX֤std::minظ\n#define NOMINMAX\n\n#include <windows.h>\n#include <QtGlobal> \n\nclass DectFileChanges\n{\npublic:\n\tDectFileChanges();\n\t~DectFileChanges();\n\tvoid AddFile(LPCTSTR szDirectory, DWORD dwNotifyFilter);\n\tBOOL DetectChanges();\n\tvoid Terminate();\n\n\tvoid getDiffFileSize(quint64& lastSize, quint64& curSize);\n\nprivate:\n\tquint64 getFileSize(WIN32_FILE_ATTRIBUTE_DATA& data);\n\nprivate:\n\tLPCTSTR _szFile = nullptr;\n\tDWORD _dwNotifyFilter = 0;\n\tWIN32_FILE_ATTRIBUTE_DATA _lastFileInfo = {};\n\n\tquint64 m_lastFileSize;\n\tquint64 m_curFileSize;\n\n};\n\n#endif\n"
  },
  {
    "path": "src/diff.h",
    "content": "﻿\n#ifndef DIFF_H_\n#define DIFF_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n \nextern __declspec (dllimport) int work (int argc, char **argv);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "src/dirfindfile.cpp",
    "content": "﻿#include \"dirfindfile.h\"\r\n\r\nDirFindFile::DirFindFile(int dire, QWidget *parent): QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tif (dire == 0)\r\n\t{\r\n\t\tui.findLeftRadioButton->setChecked(true);\r\n\t}\r\n\telse if (dire == 1)\r\n\t{\r\n\t\tui.findRightRadioButton->setChecked(true);\r\n\t}\r\n}\r\n\r\nDirFindFile::~DirFindFile()\r\n{\r\n\r\n}\r\n\r\nvoid DirFindFile::slot_findPrev()\r\n{\r\n\tQString name = ui.fileNameLineEdit->text();\r\n\tname = name.trimmed();\r\n\r\n\tint dire = (ui.findLeftRadioButton->isChecked() ? 0:1);\r\n\r\n\tbool sens = ui.caseSensitiveCheckBox->isChecked();\r\n\r\n\temit signFindFile(dire, 0, name, sens);\r\n}\r\n\r\nvoid DirFindFile::slot_findNext()\r\n{\r\n\tQString name = ui.fileNameLineEdit->text();\r\n\tname = name.trimmed();\r\n\r\n\tint dire = (ui.findLeftRadioButton->isChecked() ? 0 : 1);\r\n\r\n\tbool sens = ui.caseSensitiveCheckBox->isChecked();\r\n\r\n\temit signFindFile(dire, 1, name, sens);\r\n}\r\n"
  },
  {
    "path": "src/dirfindfile.h",
    "content": "﻿#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_dirfindfile.h\"\r\n\r\nclass DirFindFile : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tDirFindFile(int dire, QWidget* parent = Q_NULLPTR);\r\n\tvirtual ~DirFindFile();\r\n\r\nsignals:\r\n\tvoid signFindFile(int dire, int prevOrNext, QString fileName, bool caseSenstive);\r\n\r\npublic slots:\r\n\tvoid slot_findPrev();\r\n\tvoid slot_findNext();\r\n\r\n\r\nprivate:\r\n\tUi::DirFindFile ui;\r\n};\r\n"
  },
  {
    "path": "src/dirfindfile.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>DirFindFile</class>\r\n <widget class=\"QWidget\" name=\"DirFindFile\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>389</width>\r\n    <height>165</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"sizePolicy\">\r\n   <sizepolicy hsizetype=\"Maximum\" vsizetype=\"Maximum\">\r\n    <horstretch>0</horstretch>\r\n    <verstretch>0</verstretch>\r\n   </sizepolicy>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>400</width>\r\n    <height>200</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>DirFindFile</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Find Options</string>\r\n     </property>\r\n     <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n      <item row=\"0\" column=\"0\">\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label\">\r\n          <property name=\"text\">\r\n           <string>Find File Name</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"fileNameLineEdit\"/>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item row=\"1\" column=\"0\">\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <item>\r\n         <widget class=\"QRadioButton\" name=\"findLeftRadioButton\">\r\n          <property name=\"text\">\r\n           <string>find in left</string>\r\n          </property>\r\n          <property name=\"checked\">\r\n           <bool>true</bool>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QRadioButton\" name=\"findRightRadioButton\">\r\n          <property name=\"text\">\r\n           <string>find in right</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QCheckBox\" name=\"caseSensitiveCheckBox\">\r\n          <property name=\"text\">\r\n           <string>case sensitive</string>\r\n          </property>\r\n          <property name=\"checked\">\r\n           <bool>true</bool>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushPrevButton\">\r\n       <property name=\"text\">\r\n        <string>Find Prev</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushNextButton\">\r\n       <property name=\"text\">\r\n        <string>Find Next</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushCloseButton\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>pushPrevButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>DirFindFile</receiver>\r\n   <slot>slot_findPrev()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>88</x>\r\n     <y>129</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>126</x>\r\n     <y>156</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushNextButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>DirFindFile</receiver>\r\n   <slot>slot_findNext()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>227</x>\r\n     <y>124</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>259</x>\r\n     <y>161</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushCloseButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>DirFindFile</receiver>\r\n   <slot>hide()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>341</x>\r\n     <y>123</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>387</x>\r\n     <y>107</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_findPrev()</slot>\r\n  <slot>slot_findNext()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/doctypelistview.cpp",
    "content": "﻿#include \"doctypelistview.h\"\r\n\r\n#include <QInputDialog>\r\n#include <QLineEdit>\r\n#include <QtDebug>\r\n#include <QThread>\r\n#include \"nddsetting.h\"\r\n\r\n//已知的文档类型\r\n\r\nQMap<QString, bool>* DocTypeListView::s_supportFileExts = nullptr;\r\n\r\nQStringList DocTypeListView::s_supportFileExt = (QStringList ()<< \"common\" << \"ms int/inf\" << \"c,c++,objc,go\" << \"java,c#,pascal\" \\\r\n<< \"web script\" << \"public script\" << \"property script\" << \"fortran,Tex,SQL\" << \"misc\" \\\r\n<< \"Qt\" << \"customize\");\r\n\r\nQMap<QString, bool>* DocTypeListView::s_binFileExts = nullptr;\r\n\r\nQStringList DocTypeListView::s_extBindFileType;\r\n\r\nQStringList HEX_FILE_EXTS_LIST = (QStringList() << \"exe\" << \"dll\" << \"png\" << \"jpg\" << \"doc\" << \"docx\" << \"ppt\" << \"pptx\" \\\r\n\t<< \"zip\" << \"gz\" << \"rar\" << \"pdf\" << \"7z\" << \"lib\" << \"so\" << \"db\" << \"obj\" << \"bmp\" << \"ico\" << \"qm\" << \"icns\" << \"jpeg\" << \"res\" << \"exp\" << \"ilk\" << \"deb\");\r\n\r\nQStringList 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\" \\\r\n<< \".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\" \\\r\n<< \".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py\" << \".rc:.as:.mx:.vb:.vbs\" << \".f:.for:.f90:.f95:.f2k:.tex:.sql\" \\\r\n<< \"nfo:.mak\" << \".ui:.pro:.pri:.qrc:.qss\");\r\n\r\n//20220402发现bug:在1.11中引入深入对比后，会在子线程中调用这个初始化函数。引发了后续的sqlite错误。\r\n//务必要保证这些实例和数据库对象，是在主线程中创建的。\r\nvoid DocTypeListView::initSupportFileTypes()\r\n{\r\n\tassert(QThread::currentThread() == qApp->thread());\r\n\r\n\tif (s_supportFileExts == nullptr)\r\n\t{\r\n\t\ts_supportFileExts = new QMap<QString, bool>;\r\n\t\ts_binFileExts = new QMap<QString, bool>;\r\n\r\n\t\tfor (int i = 0; i < HEX_FILE_EXTS_LIST.size(); ++i)\r\n\t\t{\r\n\t\t\ts_binFileExts->insert(HEX_FILE_EXTS_LIST.at(i),true);\r\n\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//已经初始化过了。避免多次\r\n\t\treturn;\r\n\t}\r\n\r\n\t//如果数据库不存在，则使用默认值来进行初始化\r\n\tif (!NddSetting::isDbExist())\r\n\t{\r\n\t\tQStringList types = INIT_EXTS_TYPES;\r\n#if 0\r\n\t\ttypes << \".txt:.log\" << \".ini:.inf\" << \".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod\" \\\r\n\t\t\t<< \".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\" \\\r\n\t\t\t<< \".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py\" << \".rc:.as:.mx:.vb:.vbs\" << \".f:.for:.f90:.f95:.f2k:.tex:.sql\" \\\r\n\t\t\t<< \"nfo:.mak\" << \".ui:.pro:.pri:.qrc\";\r\n#endif\r\n\r\n\t\tQString typeStr = types.join(\":\");\r\n\r\n\t\tQStringList typeList = typeStr.split(\":\");\r\n\r\n\t\tfor (QString var : typeList)\r\n\t\t{\r\n\t\t\tif (!var.isEmpty())\r\n\t\t\t{\r\n\t\t\t\ts_supportFileExts->insert(var.mid(1), true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ts_extBindFileType << types << \"\";\r\n#if 0\r\n\t\ts_extBindFileType << \".txt:.log\" << \".ini:.inf\" << \".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod\" \\\r\n\t\t\t<< \".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\" \\\r\n\t\t\t<< \".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py\" << \".rc:.as:.mx:.vb:.vbs\" << \".f:.for:.f90:.f95:.f2k:.tex:.sql\" \\\r\n\t\t\t<< \".nfo:.mak\" << \".ui:.pro:.pri:.qrc\" << \"\";\r\n#endif\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//从数据库动态读取配置\r\n\t\tQString key(\"typelist\");\r\n\r\n\t\tQString typeList = NddSetting::getKeyValueFromSets(key);\r\n\r\n\t\tif (typeList.isEmpty())\r\n\t\t{\r\n\t\t\t//没有读取到，这是第一次启动软件，没有写入导致。在这里进行第一次的写入\r\n\r\n\t\t\tQStringList types = INIT_EXTS_TYPES;\r\n\t\t\ttypes << \"\";\r\n\r\n#if 0\r\n\t\t\ttypes << \".txt:.log\" << \".ini:.inf\" << \".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod\" \\\r\n\t\t\t\t<< \".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\" \\\r\n\t\t\t\t<< \".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py\" << \".rc:.as:.mx:.vb:.vbs\" << \".f:.for:.f90:.f95:.f2k:.tex:.sql\" \\\r\n\t\t\t\t<< \".nfo:.mak\" << \".ui:.pro:.pri:.qrc\" << \"\";\r\n#endif\r\n\r\n\t\t\ts_extBindFileType = types;\r\n\r\n\t\t\tQString typeStr = types.join(\"|\");\r\n\r\n\t\t\tNddSetting::addKeyValueToSets(key, typeStr);\r\n\r\n\t\t\ttypeStr.replace('|',':');\r\n\r\n\t\t\tQStringList list = typeStr.split(\":\");\r\n\r\n\t\t\tfor (QString var : list)\r\n\t\t\t{\r\n\t\t\t\tif (!var.isEmpty())\r\n\t\t\t\t{\r\n\t\t\t\t\ts_supportFileExts->insert(var.mid(1), true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//从数据库中读取的内容进行动态配置\r\n\t\t\ts_extBindFileType = typeList.split(\"|\");\r\n\r\n\t\t\ttypeList.replace('|', ':');\r\n\r\n\t\t\tQStringList list = typeList.split(\":\");\r\n\r\n\t\t\tfor (QString var : list)\r\n\t\t\t{\r\n\t\t\t\tif (!var.isEmpty())\r\n\t\t\t\t{\r\n\t\t\t\t\ts_supportFileExts->insert(var.mid(1), true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n\r\n//是否支持文件后缀名,注意ext必须要带.xxx格式\r\nbool DocTypeListView::isSupportExt(QString ext)\r\n{\r\n\tif (s_supportFileExts == nullptr)\r\n\t{\r\n\t\tinitSupportFileTypes();\r\n\t}\r\n\r\n\treturn s_supportFileExts->contains(ext);\r\n}\r\n\r\n//是否是二进制格式的后缀文件\r\nbool DocTypeListView::isHexExt(QString ext)\r\n{\r\n\tif (s_binFileExts == nullptr)\r\n\t{\r\n\t\tinitSupportFileTypes();\r\n\t}\r\n\r\n\treturn s_binFileExts->contains(ext);\r\n}\r\n\r\nDocTypeListView::DocTypeListView(QWidget *parent)\r\n\t: QWidget(parent),m_isDirty(false)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tif (s_supportFileExt.isEmpty())\r\n\t{\r\n\t\ts_supportFileExt << \"common\" << \"ms int/inf\" << \"c,c++,objc,go\" << \"java,c#,pascal\" \\\r\n\t\t\t<< \"web script\" << \"public script\" << \"property script\" << \"fortran,Tex,SQL\" << \"misc\" \\\r\n\t\t\t<< \"Qt\" << \"customize\";\r\n\t}\r\n\r\n\tinitSupportFileTypes();\r\n\t\r\n#if 0\r\n\tif (s_extBindFileType.isEmpty())\r\n\t{\r\n\t\ts_extBindFileType << \".txt:.log\" << \".ini:.inf\" << \".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod\" \\\r\n\t\t\t<< \".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\" \\\r\n\t\t\t<< \".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py\" << \".rc:.as:.mx:.vb:.vbs\" << \".f:.for:.f90:.f95:.f2k:.tex:.sql\" \\\r\n\t\t\t<< \".nfo:.mak\" << \".ui:.pro:.pri:.qrc\" << \"\";\r\n\t}\r\n#endif\r\n\r\n\tui.extListWidget->addItems(s_supportFileExt);\r\n\r\n\tconnect(ui.extListWidget, &QListWidget::currentRowChanged, this, &DocTypeListView::slot_curRowChanged);\r\n\r\n\tsetContextMenuPolicy(Qt::CustomContextMenu);\r\n\r\n\tm_menu = new QMenu(this);\r\n\tconnect(this, &QWidget::customContextMenuRequested, this, &DocTypeListView::slot_customContextMenuRequested);\r\n\r\n\tm_menu->addAction(\"add Custom extension\", this, &DocTypeListView::slot_addCustomType);\r\n\r\n\tconnect(ui.customListWidget, &QListWidget::itemClicked, this, &DocTypeListView::slot_customListItemClicked);\r\n\tconnect(ui.typListWidget, &QListWidget::itemClicked, this, &DocTypeListView::slot_typListItemClicked);\r\n}\r\n\r\nDocTypeListView::~DocTypeListView()\r\n{\r\n\tsave();\r\n}\r\n\r\nvoid DocTypeListView::save()\r\n{\r\n\tif (m_isDirty)\r\n\t{\r\n\t\tQString key(\"typelist\");\r\n\t\tQString typeStr = s_extBindFileType.join(\"|\");\r\n\t\tNddSetting::updataKeyValueFromSets(key, typeStr);\r\n\t\tm_isDirty = false;\r\n\t}\r\n}\r\n\r\nvoid DocTypeListView::slot_curRowChanged(int row)\r\n{\r\n\tui.typListWidget->clear();\r\n\r\n\tif (row < s_extBindFileType.count())\r\n\t{\r\n\t\tQString typeStr = s_extBindFileType.at(row);\r\n\t\tif (typeStr.isEmpty())\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tQStringList typeList = typeStr.split(\":\");\r\n\r\n\t\tif (typeList.size() > 0)\r\n\t\t{\r\n\t\t\tui.typListWidget->addItems(typeList);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid DocTypeListView::slot_customContextMenuRequested(const QPoint& /*pos*/)\r\n{\r\n\tm_menu->exec(QCursor::pos());\r\n}\r\n\r\nvoid DocTypeListView::slot_addCustomType()\r\n{\r\n\tbool ok = false;\r\n\tQString text = QInputDialog::getText(this, tr(\"input file ext()\"), tr(\"ext (Split With :)\"), QLineEdit::Normal, QString(\".h:.cpp\"), &ok);\r\n\r\n\tif (ok && !text.isEmpty())\r\n\t{\r\n\t\ttext = text.trimmed();\r\n\t\tQStringList extList = text.split(\":\");\r\n\r\n\t\tui.customListWidget->addItems(extList);\r\n\t}\r\n}\r\n\r\nvoid DocTypeListView::slot_add()\r\n{\r\n\tint row = ui.customListWidget->currentRow();\r\n\r\n\tif (row < 0)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQListWidgetItem* item = ui.customListWidget->takeItem(row);\r\n\tui.typListWidget->addItem(item);\r\n\r\n\tint index = ui.extListWidget->currentRow();\r\n\r\n\tif (index < s_extBindFileType.size())\r\n\t{\r\n\t\tif (!s_extBindFileType[index].isEmpty())\r\n\t\t{\r\n\t\t\tQString curText = QString(\":%1\").arg(item->text());\r\n\t\t\ts_extBindFileType[index].append(curText);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\ts_extBindFileType[index].append(item->text());\r\n\t\t}\r\n\t\tQString var = item->text();\r\n\r\n\t\tif (!var.isEmpty())\r\n\t\t{\r\n\t\t\ts_supportFileExts->insert(var.mid(1), true);\r\n\r\n\t\t\tm_isDirty = true;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid DocTypeListView::slot_sub()\r\n{\r\n\tint row = ui.typListWidget->currentRow();\r\n\r\n\tif (row < 0)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQListWidgetItem* item = ui.typListWidget->takeItem(row);\r\n\tui.customListWidget->addItem(item);\r\n\r\n\tint index = ui.extListWidget->currentRow();\r\n\r\n\tif (index < s_extBindFileType.size())\r\n\t{\r\n\t\tQString curText = QString(\"%1:\").arg(item->text());\r\n\r\n\t\tif (s_extBindFileType[index].contains(curText))\r\n\t\t{\r\n\t\t\ts_extBindFileType[index].remove(curText);\r\n\t\t}\r\n\t\telse if (s_extBindFileType[index].endsWith(item->text()))\r\n\t\t{\r\n\t\t\tint lens = s_extBindFileType[index].size();\r\n\r\n\t\t\tint delLens = item->text().size();\r\n\r\n\t\t\tif (lens > delLens)\r\n\t\t\t{\r\n\t\t\t\t//删除:xxx\r\n\t\t\t\ts_extBindFileType[index].remove(lens - delLens -1, delLens + 1);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ts_extBindFileType[index].clear();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tQString var = item->text();\r\n\r\n\t\tif (!var.isEmpty())\r\n\t\t{\r\n\t\t\ts_supportFileExts->remove(var.mid(1));\r\n\t\t\tm_isDirty = true;\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\nvoid DocTypeListView::slot_customListItemClicked(QListWidgetItem* /*item*/)\r\n{\r\n\t//qDebug() << \"custom list item click\";\r\n\r\n\tui.subToolButton->setEnabled(false);\r\n\tui.addToolButton->setEnabled(true);\r\n}\r\n\r\nvoid DocTypeListView::slot_typListItemClicked(QListWidgetItem* /*item*/)\r\n{\r\n\t//qDebug() << \"type list item click\";\r\n\r\n\tui.subToolButton->setEnabled(true);\r\n\tui.addToolButton->setEnabled(false);\r\n}\r\n\r\n"
  },
  {
    "path": "src/doctypelistview.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include <QMap>\r\n#include <QString>\r\n#include <QMenu>\r\n\r\n#include \"ui_doctypelistview.h\"\r\n\r\nclass DocTypeListView : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tDocTypeListView(QWidget *parent = Q_NULLPTR);\r\n\tvirtual ~DocTypeListView();\r\n\r\n\tstatic void initSupportFileTypes();\r\n\tstatic bool isSupportExt(QString ext);\r\n\tstatic bool isHexExt(QString ext);\r\n\tstatic QMap<QString,bool> * s_supportFileExts;\r\n\r\n\t//记录常见的16进制文件的结尾\r\n\tstatic QMap<QString,bool> * s_binFileExts;\r\n\r\nprotected:\r\n\tvoid save();\r\n\r\nprivate slots:\r\n\tvoid slot_curRowChanged(int row);\r\n\tvoid slot_customContextMenuRequested(const QPoint& pos);\r\n\tvoid slot_addCustomType();\r\n\tvoid slot_add();\r\n\tvoid slot_sub();\r\n\tvoid slot_customListItemClicked(QListWidgetItem* item);\r\n\tvoid slot_typListItemClicked(QListWidgetItem* item);\r\n\r\n\r\nprivate:\r\n\tUi::DocTypeListView ui;\r\n\r\n\tstatic QStringList s_supportFileExt;\r\n\tstatic QStringList s_extBindFileType;\r\n\r\n\tQMenu *m_menu;\r\n\r\n\tbool m_isDirty; //是否修改过\r\n};\r\n"
  },
  {
    "path": "src/doctypelistview.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>DocTypeListView</class>\r\n <widget class=\"QWidget\" name=\"DocTypeListView\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>564</width>\r\n    <height>437</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>DocTypeListView</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\" stretch=\"2,0,1\">\r\n     <item>\r\n      <widget class=\"QGroupBox\" name=\"groupBox\">\r\n       <property name=\"title\">\r\n        <string>Support file </string>\r\n       </property>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <property name=\"spacing\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"leftMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"topMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"rightMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"bottomMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <item>\r\n         <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n          <item>\r\n           <widget class=\"QListWidget\" name=\"extListWidget\"/>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QListWidget\" name=\"typListWidget\"/>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n       <item>\r\n        <spacer name=\"verticalSpacer\">\r\n         <property name=\"orientation\">\r\n          <enum>Qt::Vertical</enum>\r\n         </property>\r\n         <property name=\"sizeHint\" stdset=\"0\">\r\n          <size>\r\n           <width>20</width>\r\n           <height>40</height>\r\n          </size>\r\n         </property>\r\n        </spacer>\r\n       </item>\r\n       <item>\r\n        <widget class=\"QToolButton\" name=\"subToolButton\">\r\n         <property name=\"text\">\r\n          <string>-&gt;</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item>\r\n        <widget class=\"QToolButton\" name=\"addToolButton\">\r\n         <property name=\"text\">\r\n          <string>&lt;-</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item>\r\n        <spacer name=\"verticalSpacer_2\">\r\n         <property name=\"orientation\">\r\n          <enum>Qt::Vertical</enum>\r\n         </property>\r\n         <property name=\"sizeHint\" stdset=\"0\">\r\n          <size>\r\n           <width>20</width>\r\n           <height>40</height>\r\n          </size>\r\n         </property>\r\n        </spacer>\r\n       </item>\r\n      </layout>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n       <property name=\"title\">\r\n        <string>Custom extension</string>\r\n       </property>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n        <property name=\"spacing\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"leftMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"topMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"rightMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <property name=\"bottomMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <item>\r\n         <widget class=\"QListWidget\" name=\"customListWidget\"/>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>subToolButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>DocTypeListView</receiver>\r\n   <slot>slot_sub()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>543</x>\r\n     <y>207</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>545</x>\r\n     <y>429</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>addToolButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>DocTypeListView</receiver>\r\n   <slot>slot_add()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>533</x>\r\n     <y>229</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>526</x>\r\n     <y>428</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_sub()</slot>\r\n  <slot>slot_add()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/donate.cpp",
    "content": "﻿#include \"donate.h\"\r\n\r\nDonate::Donate(QWidget *parent): QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\nDonate::~Donate()\r\n{\r\n\r\n}\r\n"
  },
  {
    "path": "src/donate.h",
    "content": "﻿#ifndef DONATE_H\r\n#define DONATE_H\r\n\r\n#include <QWidget>\r\n#include \"ui_donate.h\"\r\n\r\nclass Donate : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tDonate(QWidget *parent = 0);\r\n\t~Donate();\r\n\r\nprivate:\r\n\tUi::DonateClass ui;\r\n};\r\n\r\n#endif // DONATE_H\r\n"
  },
  {
    "path": "src/donate.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>DonateClass</class>\r\n <widget class=\"QWidget\" name=\"DonateClass\">\r\n  <property name=\"windowModality\">\r\n   <enum>Qt::NonModal</enum>\r\n  </property>\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>410</width>\r\n    <height>374</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"sizePolicy\">\r\n   <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Fixed\">\r\n    <horstretch>0</horstretch>\r\n    <verstretch>0</verstretch>\r\n   </sizepolicy>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>416</width>\r\n    <height>479</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"contextMenuPolicy\">\r\n   <enum>Qt::DefaultContextMenu</enum>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>Donate Me</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n   <item>\r\n    <spacer name=\"horizontalSpacer\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Horizontal</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>28</width>\r\n       <height>20</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n     <item>\r\n      <spacer name=\"verticalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Vertical</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>20</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n       <item row=\"1\" column=\"0\">\r\n        <widget class=\"QLabel\" name=\"label\">\r\n         <property name=\"sizePolicy\">\r\n          <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Fixed\">\r\n           <horstretch>0</horstretch>\r\n           <verstretch>0</verstretch>\r\n          </sizepolicy>\r\n         </property>\r\n         <property name=\"minimumSize\">\r\n          <size>\r\n           <width>0</width>\r\n           <height>0</height>\r\n          </size>\r\n         </property>\r\n         <property name=\"styleSheet\">\r\n          <string notr=\"true\">image: url(:/CmAdviser/Resources/6688.jpg);</string>\r\n         </property>\r\n         <property name=\"text\">\r\n          <string/>\r\n         </property>\r\n         <property name=\"pixmap\">\r\n          <pixmap resource=\"RealCompare.qrc\">:/Resources/img/6688.png</pixmap>\r\n         </property>\r\n         <property name=\"alignment\">\r\n          <set>Qt::AlignCenter</set>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"0\" column=\"0\">\r\n        <widget class=\"QLabel\" name=\"msg\">\r\n         <property name=\"minimumSize\">\r\n          <size>\r\n           <width>0</width>\r\n           <height>0</height>\r\n          </size>\r\n         </property>\r\n         <property name=\"font\">\r\n          <font>\r\n           <family>华文宋体</family>\r\n           <pointsize>12</pointsize>\r\n          </font>\r\n         </property>\r\n         <property name=\"text\">\r\n          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Donation Software Development By WeChat &lt;/p&gt;&lt;p&gt;Busy living, no time to improve software&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>\r\n         </property>\r\n         <property name=\"alignment\">\r\n          <set>Qt::AlignCenter</set>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n      </layout>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"verticalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Vertical</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>20</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <spacer name=\"horizontalSpacer_2\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Horizontal</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>28</width>\r\n       <height>20</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/draglineedit.cpp",
    "content": "#include \"draglineedit.h\"\r\n\r\nDragLineEdit::DragLineEdit(QWidget *parent)\r\n\t: QLineEdit(parent)\r\n{\r\n\tsetAcceptDrops(true);\r\n}\r\n\r\nDragLineEdit::~DragLineEdit()\r\n{\r\n}\r\n\r\nvoid DragLineEdit::dragEnterEvent(QDragEnterEvent* event)\r\n{\r\n\tif (event->mimeData()->hasFormat(\"text/uri-list\")) //ֻܴıļ\r\n\t{\r\n\t\tevent->accept(); //ڲϷŶ\r\n\t}\r\n\telse\r\n\t{\r\n\t\tevent->ignore();\r\n\t}\r\n}\r\n\r\nvoid DragLineEdit::dragMoveEvent(QDragMoveEvent* )\r\n{\r\n}\r\n\r\nvoid DragLineEdit::dropEvent(QDropEvent* e)\r\n{\r\n\tQList<QUrl> urls = e->mimeData()->urls();\r\n\tif (urls.isEmpty())\r\n\t\treturn;\r\n\r\n\tQString fileName = urls.first().toLocalFile();\r\n\r\n\tif (fileName.isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (!QFile::exists(fileName))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tthis->setText(fileName);\r\n\r\n\te->accept();\r\n\r\n\temit this->returnPressed();\r\n}\r\n"
  },
  {
    "path": "src/draglineedit.h",
    "content": "#pragma once\r\n\r\n#include <QLineEdit>\r\n#include <QLineEdit>\r\n#include <QDropEvent>\r\n#include <QMimeData>\r\n#include <QDragEnterEvent>\r\n\r\nclass DragLineEdit : public QLineEdit\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tDragLineEdit(QWidget*parent);\r\n\tvirtual ~DragLineEdit();\r\n\r\n\r\nprotected:\r\n\t///< ϶ļ \r\n\tvoid dragEnterEvent(QDragEnterEvent* event) override;\r\n\t///< ϶ļƶļ \r\n\tvoid dragMoveEvent(QDragMoveEvent* event) override;\r\n\t///< ϶ļͷļ\r\n\tvoid dropEvent(QDropEvent* event) override;\r\n};\r\n"
  },
  {
    "path": "src/encodeconvert.cpp",
    "content": "﻿#include \"encodeconvert.h\"\r\n#include \"rcglobal.h\"\r\n#include \"CmpareMode.h\"\r\n#include \"doctypelistview.h\"\r\n\r\n#include <QFileDialog>\r\n#include <QTreeWidgetItem>\r\n#include <QDateTime>\r\n#include <QFutureWatcher>\r\n#include <QString>\r\n#include <QtConcurrent>\r\n#include <QInputDialog>\r\n#include <QDragEnterEvent>\r\n\r\n\r\nconst int ITEM_CODE = Qt::UserRole + 1;\r\n\r\nstatic QString fileSuffix(const QString& filePath)\r\n{\r\n\tQFileInfo fi(filePath);\r\n\treturn fi.suffix();\r\n}\r\n\r\nstatic QString getFileSizeFormat(qint64 size)\r\n{\r\n#if 0\r\n\tif (size <= 1000)\r\n\t{\r\n\t\treturn QString(\"%1\").arg(size);\r\n\t}\r\n\r\n\tQString fileSize = QString(\"%1\").arg(size);\r\n\r\n\treturn QString(\"%1,%2\").arg(fileSize.left(fileSize.count() - 3)).arg(fileSize.right(3));\r\n#endif\r\n\treturn QString::number(size);\r\n}\r\n\r\nEncodeConvert::EncodeConvert(QWidget *parent): QWidget(parent), m_commitCmpFileNums(0), m_finishCmpFileNums(0), m_menu(nullptr)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tm_extComBoxNum = 0;\r\n\tconnect(ui.treeWidget, &QTreeWidget::itemPressed, this, &EncodeConvert::slot_itemClicked);\r\n\r\n\tsetAcceptDrops(true);\r\n}\r\n\r\nEncodeConvert::~EncodeConvert()\r\n{\r\n\r\n\tfor (auto var : m_supportFileExt)\r\n\t{\r\n\t\tdelete var;\r\n\t}\r\n\r\n\tm_supportFileExt.clear();\r\n}\r\n\r\nbool EncodeConvert::isSupportExt(int index, QString ext)\r\n{\r\n\tbool ret = false;\r\n\r\n\tif (0 == index)\r\n\t{\r\n\t\tret = DocTypeListView::isSupportExt(ext);\r\n\t}\r\n\telse if (index >= 1)\r\n\t{\r\n\t\tint i = index - 1;\r\n\r\n\t\tif (i < m_supportFileExt.count())\r\n\t\t{\r\n\t\t\tret = m_supportFileExt[i]->contains(ext);\r\n\t\t}\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n//右键菜单\r\nvoid EncodeConvert::slot_itemClicked(QTreeWidgetItem* item, int /*column*/)\r\n{\r\n\tif ((item != nullptr) && (Qt::RightButton == QGuiApplication::mouseButtons()))\r\n\t{\r\n\r\n\t\tif (m_menu == nullptr)\r\n\t\t{\r\n\t\t\tm_menu = new QMenu(this);\r\n\t\t\tm_menu->addAction(tr(\"&Show File in Explorer...\"), this, [&]() {\r\n\t\t\t\tQString path, cmd;\r\n\r\n\t\t\t\tQTreeWidgetItem* it = ui.treeWidget->currentItem();\r\n\t\t\t\tif (it == nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpath = QString(\"%1\").arg(it->data(0, Qt::ToolTipRole).toString());\r\n\t\t\t\tshowFileInExplorer(path);\r\n\t\t\t\t});\r\n\t\t}\r\n\t\tm_menu->move(QCursor::pos());\r\n\t\tm_menu->show();\r\n\t}\r\n}\r\n\r\n//用户自定义类型\r\nvoid EncodeConvert::slot_userDefineExt()\r\n{\r\n\tbool ok = false;\r\n\tQString text = QInputDialog::getText(this, tr(\"input file ext()\"),tr(\"ext (Split With :)\"), QLineEdit::Normal, QString(\".h:.cpp\"), &ok);\r\n\r\n\tif (ok && !text.isEmpty())\r\n\t{\r\n\t\ttext = text.trimmed();\r\n\t\tui.extComboBox->addItem(text);\r\n\r\n\t\tQStringList extList = text.split(\":\");\r\n\r\n\t\tQMap<QString, bool>* p = new QMap<QString, bool>;\r\n\r\n\t\tfor (QString var : extList)\r\n\t\t{\r\n\t\t\tif (var.startsWith(\".\"))\r\n\t\t\t{\r\n\t\t\t\tp->insert(var.mid(1), true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tm_supportFileExt.append(p);\r\n\r\n\t\t++m_extComBoxNum;\r\n\r\n\t\tui.extComboBox->setCurrentIndex(m_extComBoxNum);\r\n\t}\r\n}\r\n\r\n//打开文件目录\r\nvoid EncodeConvert::slot_selectFile()\r\n{\r\n\t//加载左边的文件树\r\n\tQString rootpath = QFileDialog::getExistingDirectory(this, tr(\"Open Directory\"), QString(), QFileDialog::DontResolveSymlinks);\r\n\r\n\tif (!rootpath.isEmpty())\r\n\t{\r\n\t\tui.treeWidget->clear();\r\n\r\n\t\tm_fileAttris.clear();\r\n\r\n\t\tloadDir(rootpath);\r\n\r\n\t\tsetItemIntervalBackground();\r\n\r\n\t\tscanFileCode();\r\n\t}\r\n\r\n\t\r\n}\r\n\r\nint EncodeConvert::allfile(QTreeWidgetItem* root_, QString path_)\r\n{\r\n\tQList<WalkFileInfo> dirsList;\r\n\tWalkFileInfo oneDir(0, root_, path_);\r\n\tdirsList.append(oneDir);\r\n\r\n\tint fileNums = 0;\r\n\r\n\tm_fileDirPath = path_;\r\n\r\n\twhile (!dirsList.isEmpty())\r\n\t{\r\n\t\tWalkFileInfo curDir = dirsList.first();\r\n\t\tdirsList.pop_front();\r\n\r\n\t\tQTreeWidgetItem* root = curDir.root;\r\n\t\tQString path = curDir.path;\r\n\t\tint direction = curDir.direction;\r\n\r\n\t\t/*添加path路径文件*/\r\n\t\tQDir dir(path);          //遍历各级子目录\r\n\r\n\t\t//先获取文件到列表\r\n\t\t//再获取文件夹到列表\r\n\t\tQFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);   //获取当前所有目录\r\n\r\n\t\tfor (int i = 0; i != folder_list.size(); ++i)         //自动递归添加各目录到上一级目录\r\n\t\t{\r\n\t\t\tQString namepath = folder_list.at(i).absoluteFilePath();    //获取路径\r\n\t\t\tQFileInfo folderinfo = folder_list.at(i);\r\n\t\t\tQString name = folderinfo.fileName();      //获取目录名\r\n\r\n\t\t\tQTreeWidgetItem* childroot = new QTreeWidgetItem(QStringList() << name);\r\n\t\t\tchildroot->setIcon(0, QIcon(\":/Resources/img/dir.png\"));\r\n\t\t\troot->addChild(childroot);              //将当前目录添加成path的子项\r\n\r\n\t\t\tfileAttriNode node;\r\n\t\t\tnode.type = RC_DIR;//是目录\r\n\t\t\tnode.selfItem = childroot;\r\n\r\n\t\t\tnode.parent = root;\r\n\t\t\tnode.relativePath = folderinfo.absoluteFilePath();\r\n\t\t\t//把路径名称保存到tips中，后续需要这个来排序，下同\r\n\t\t\tchildroot->setData(0, Qt::ToolTipRole, node.relativePath);\r\n\r\n\t\t\tm_fileAttris.append(node);\r\n\r\n\t\t\tWalkFileInfo oneDir(direction, childroot, namepath);\r\n\r\n\t\t\tdirsList.push_front(oneDir);\r\n\t\t}\r\n\r\n\t\tQDir dir_file(path);\r\n\t\tdir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件\r\n\t\tQFileInfoList list_file = dir_file.entryInfoList();\r\n\t\tfor (int i = 0; i < list_file.size(); ++i)\r\n\t\t{  //将当前目录中所有文件添加到treewidget中\r\n\t\t\tQFileInfo fileInfo = list_file.at(i);\r\n\r\n\t\t\tQString name2 = fileInfo.fileName();\r\n\t\t\tQTreeWidgetItem* child = new QTreeWidgetItem(QStringList() << name2);\r\n\t\t\tchild->setIcon(0, QIcon(\":/Resources/img/point.png\"));\r\n\r\n\t\t\tchild->setText(1, getFileSizeFormat(fileInfo.size()));\r\n\r\n\t\t\t/*QString lastModifyTime = fileInfo.lastModified().toString(\"yy/MM/dd hh:mm:ss\");\r\n\t\t\tchild->setText(2, lastModifyTime);*/\r\n\t\t\troot->addChild(child);\r\n\r\n\t\t\tfileAttriNode node;\r\n\t\t\tnode.type = RC_FILE;//是文件\r\n\t\t\tnode.selfItem = child;\r\n\r\n\t\t\tnode.parent = root;\r\n\t\t\tnode.relativePath = fileInfo.absoluteFilePath();\r\n\t\t\t//把路径名称保存到tips中，后续需要这个来排序，下同\r\n\t\t\r\n\t\t\tchild->setData(0, Qt::ToolTipRole, node.relativePath);\r\n\r\n\t\t\tm_fileAttris.append(node);\r\n\r\n\t\t}\r\n\r\n\t\tfileNums += list_file.size();\r\n\t}\r\n\r\n\treturn fileNums;\r\n}\r\n\r\n\r\nint EncodeConvert::loadDir(QString rootDirPath)\r\n{\r\n\r\n\tQString rootpath = rootDirPath;\r\n\r\n\tQTreeWidgetItem* root = nullptr;\r\n\r\n\tint fileNums = 0;\r\n\r\n\tui.treeWidget->setColumnWidth(0, 400);\r\n\tui.treeWidget->clear();\r\n\t\r\n\r\n\troot = new QTreeWidgetItem(ui.treeWidget);\r\n\troot->setText(0, rootpath);\r\n\troot->setExpanded(true);\r\n\r\n\t//第一个节点是目录根节点\r\n\tfileAttriNode node;\r\n\tnode.type = RC_DIR;//是目录\r\n\tnode.selfItem = root;\r\n\tnode.parent = nullptr;\r\n\tnode.relativePath = \".\";\r\n\r\n\tm_fileAttris.append(node);\r\n\r\n\tfileNums = allfile(root, rootpath);\r\n\t\r\n\t\r\n\treturn fileNums;\r\n}\r\n\r\nQFuture<EncodeThreadParameter*> EncodeConvert::commitTask(std::function<EncodeThreadParameter* (EncodeThreadParameter*)> fun, EncodeThreadParameter* parameter)\r\n{\r\n\t/* 这里最开始准备使用信号提交多线程，但是发现std:;function无法使用槽函数机制，需要自己是实现元对象\r\n\t* 直接使用QtConcurrent::run机制，不仅简单许多，而且在网上看了资料\r\n\t*/\r\n\treturn QtConcurrent::run(fun, parameter);\r\n}\r\n\r\n\r\n//识别文件编码\r\nQFuture<EncodeThreadParameter_*> EncodeConvert::checkFileCode(QString filePath, QTreeWidgetItem* item)\r\n{\r\n\tEncodeThreadParameter_* p = new EncodeThreadParameter_(filePath);\r\n\tp->item = item;\r\n\r\n\t//int 0相等 1 不等\r\n\treturn commitTask([](EncodeThreadParameter_* parameter)->EncodeThreadParameter_*\r\n\t\t{\r\n\t\t\t//整个文件都要扫描完毕。还是怕太慢，最多1000行吧\r\n\t\t\tparameter->code = CmpareMode::scanFileRealCode(parameter->filepath,1000);\r\n\t\t\treturn parameter;\r\n\t\t}\r\n\t, p);\r\n\r\n}\r\n\r\n\r\nCODE_ID EncodeConvert::convertFileToCode(QString& filePath, CODE_ID srcCode, CODE_ID dstCode)\r\n{\r\n\r\n\tif (srcCode == CODE_ID::UNKOWN)\r\n\t{\r\n\t\treturn CODE_ID::UNKOWN;\r\n\t}\r\n\r\n\tQFile file(filePath);\r\n\r\n\tif (!file.open(QIODevice::ReadOnly | QIODevice::ExistingOnly))\r\n\t{\r\n\t\treturn CODE_ID::UNKOWN;\r\n\t}\r\n\r\n\tQByteArray content = file.readAll();\r\n\r\n\tfile.close();\r\n\r\n\tint skip = 0;\r\n\r\n\tswitch (srcCode)\r\n\t{\r\n\tcase UNKOWN:\r\n\t\tbreak;\r\n\tcase ANSI:\r\n\t\tbreak;\r\n\tcase UNICODE_LE:\r\n\t\tskip = 2;\r\n\t\tbreak;\r\n\tcase UNICODE_BE:\r\n\t\tskip = 2;\r\n\t\tbreak;\r\n\tcase UTF8_NOBOM:\r\n\t\tbreak;\r\n\tcase UTF8_BOM:\r\n\t\tskip = 3;\r\n\t\tbreak;\r\n\tcase GBK:\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\r\n\tif (!file.open(QIODevice::WriteOnly | QIODevice::ExistingOnly | QIODevice::Truncate))\r\n\t{\r\n\t\treturn CODE_ID::UNKOWN;\r\n\t}\r\n\r\n\r\n\tQByteArray text2Save;\r\n\r\n\tif (skip == 2 && content.size() >= 2)\r\n\t{\r\n\t\ttext2Save = QByteArray(content.mid(2));\r\n\t}\r\n\telse if (skip == 3 && content.size() >= 3)\r\n\t{\r\n\t\ttext2Save = QByteArray(content.mid(3));\r\n\t}\r\n\telse\r\n\t{\r\n\t\ttext2Save = QByteArray(content);\r\n\t}\r\n\r\n\tQString textOut;\r\n\r\n\tEncode::tranStrToUNICODE(srcCode, text2Save.data(), text2Save.size(), textOut);\r\n\t \r\n\r\n\tif (dstCode != UNKOWN)\r\n\t{\r\n\t\t//QByteArray codeFlag = Encode::getEncodeStartFlagByte(dstCode);\r\n\r\n\t\t//20210822 发现大坑，转换到一定格式后，字符串前面自动带了标识，不需要再来检查一次\r\n\t\t//if (!codeFlag.isEmpty())\r\n\t\t//{\r\n\t\t//\t//先写入标识头\r\n\t\t//\tfile.write(codeFlag);\r\n\t\t//}\r\n\r\n\t\t//如果编码是已知如下类型，则后续保存其它行时，不修改编码格式，继续按照原编码进行保存\r\n\t\t//前面已经设置过编码了，这里不需要再设置\r\n\t\tif (dstCode == CODE_ID::UTF8_BOM)\r\n\t\t{\r\n\t\t\t//自动转换不会带UTF-8 BOM，所以自己要在前面写个BOM头。这是一个例外。需要手动写入头\r\n\t\t\t//其他必然BL LE则不需要。\r\n\t\t\tQByteArray codeFlag = Encode::getEncodeStartFlagByte(dstCode);\r\n\r\n\t\t\tif (!codeFlag.isEmpty())\r\n\t\t\t{\r\n\t\t\t\t//先写入标识头\r\n\t\t\t\tfile.write(codeFlag);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (textOut.length() > 0)\r\n\t\t{\r\n\t\t\t//保存时注意编码问题。这个tolocal已经带了字符BOM头了。只要UTF8_BOM不会带\r\n\t\t\tQByteArray t = textOut.toLocal8Bit();\r\n\t\t\tfile.write(textOut.toLocal8Bit());\r\n\t\t}\r\n\t}\r\n\r\n\tfile.close();\r\n\r\n\treturn dstCode;\r\n}\r\n\r\nCODE_ID EncodeConvert::getComboBoxCode(int index){\r\n\tCODE_ID ret = CODE_ID::UNKOWN;\r\n\r\n\tif (index < CODE_END)\r\n\t{\r\n\t\tret = (CODE_ID)index;\r\n\t}\r\n\treturn ret;\r\n};\r\n\r\nQFuture<EncodeThreadParameter_*> EncodeConvert::convertFileCode(QString filePath, QTreeWidgetItem* item)\r\n{\r\n\tEncodeThreadParameter_* p = new EncodeThreadParameter_(filePath);\r\n\tp->item = item;\r\n\r\n\tCODE_ID srcCode = static_cast<CODE_ID>(item->data(0, ITEM_CODE).toInt());\r\n\r\n\tCODE_ID dstCode = getComboBoxCode(ui.codeToComboBox->currentIndex());\r\n\r\n\r\n\t//int 0相等 1 不等\r\n\treturn commitTask([=](EncodeThreadParameter_* parameter)->EncodeThreadParameter_*\r\n\t\t{\r\n\t\t\tif (dstCode != CODE_ID::UNKOWN)\r\n\t\t\t{\r\n\t\t\t\tparameter->code = convertFileToCode(parameter->filepath, srcCode, dstCode);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tparameter->code = UNKOWN;\r\n\t\t\t}\r\n\t\t\treturn parameter;\r\n\t\t}\r\n\t, p);\r\n\r\n}\r\n\r\n//20220114 仅仅使用第一行失败编码还是不行，因为utf8和gbk其实有相同的编码范围。\r\n//如果识别第一行为gbk的，则直接使用gbk。但是如果识别为utf8的，则需要识别更多的文本内容，这样会更慢\r\nvoid EncodeConvert::scanFileCode()\r\n{\r\n\tm_finishCmpFileNums = 0;\r\n\tm_commitCmpFileNums = 0;\r\n\r\n\tui.selectFileBt->setEnabled(false);\r\n\tui.startBt->setEnabled(false);\r\n\tui.closeBt->setEnabled(false);\r\n\r\n\tui.logTextBrowser->clear();\r\n\r\n\tui.logTextBrowser->append(tr(\"start scan file text code, please wait...\"));\r\n\r\n\tfor (QList<fileAttriNode>::iterator iter = m_fileAttris.begin(); iter != m_fileAttris.end(); ++iter)\r\n\t{\r\n\t\tif (iter->type == RC_DIR)\r\n\t\t{\r\n\t\t\titer->selfItem->setText(2, QString(\"--\"));\r\n\t\t}\r\n\t\t//20230304 编码转换这里，不能仅仅只识别已知后缀文件，要失败所有文件\r\n\t\telse if ((iter->type == RC_FILE) && DocTypeListView::isSupportExt(fileSuffix(iter->relativePath)))\r\n\t\t{\r\n\t\t\tQFutureWatcher<EncodeThreadParameter_*>* futureWatcher = new QFutureWatcher<EncodeThreadParameter_*>();\r\n\r\n\t\t\tQObject::connect(futureWatcher, &QFutureWatcher<EncodeThreadParameter_>::finished, this, &EncodeConvert::slot_scanFileCode);\r\n\r\n\t\t\tfutureWatcher->setFuture(this->checkFileCode(iter->relativePath,iter->selfItem));\r\n\r\n\t\t\t++m_commitCmpFileNums;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\titer->selfItem->setText(2, tr(\"ignore\"));\r\n\t\t}\r\n\t}\r\n\r\n\tint finishProcessRatio = 0;\r\n\r\n\twhile (m_finishCmpFileNums < m_commitCmpFileNums)\r\n\t{\r\n\t\tint curProcessRatio = m_finishCmpFileNums * 100 / m_commitCmpFileNums;\r\n\r\n\t\t//没%5更新一下\r\n\t\tif (curProcessRatio - finishProcessRatio >= 5)\r\n\t\t{\r\n\t\t\tfinishProcessRatio = curProcessRatio;\r\n\t\t\tui.logTextBrowser->append(tr(\"please wait, total file %1,cur scan index %2, scan finish %3%\").arg(m_commitCmpFileNums).arg(m_finishCmpFileNums).arg(curProcessRatio));\r\n\t\t}\r\n\t\tQCoreApplication::processEvents();\r\n\t}\r\n\tui.logTextBrowser->append(tr(\"scan finished, total file %1\").arg(m_commitCmpFileNums));\r\n\r\n\tui.selectFileBt->setEnabled(true);\r\n\tui.startBt->setEnabled(true);\r\n\tui.closeBt->setEnabled(true);\r\n}\r\n\r\n//文件对比完毕，显示出文件是否意义，不一样则红色字符标识\r\nvoid EncodeConvert::slot_scanFileCode()\r\n{\r\n\tQFutureWatcher<EncodeThreadParameter_*>* s = dynamic_cast<QFutureWatcher<EncodeThreadParameter_*> *>(sender());\r\n\r\n\tEncodeThreadParameter_* result = s->result();\r\n\r\n\t//这里释放的内容，其实是在mode里面new出来的\r\n\tif (result != nullptr)\r\n\t{\r\n\t\tresult->item->setText(2, Encode::getCodeNameById(result->code));\r\n\r\n\t\tresult->item->setData(0, ITEM_CODE, result->code);\r\n\r\n\t\tdelete result;\r\n\t\tresult = nullptr;\r\n\t}\r\n\r\n\tdelete s;\r\n\ts = nullptr;\r\n\r\n\t++m_finishCmpFileNums;\r\n}\r\n\r\nvoid EncodeConvert::slot_startConvert()\r\n{\r\n\tint extComboBoxIndex = ui.extComboBox->currentIndex();\r\n\r\n\tCODE_ID dstCode = getComboBoxCode(ui.codeToComboBox->currentIndex());\r\n\r\n\tm_finishCmpFileNums = 0;\r\n\tm_commitCmpFileNums = 0;\r\n\tui.logTextBrowser->clear();\r\n\r\n\t//如果编码是已知如下类型，则后续保存其它行时，不修改编码格式，继续按照原编码进行保存\r\n\r\n\tQString destCodeName = Encode::getQtCodecNameById(dstCode);\r\n\tif (destCodeName.isEmpty() || destCodeName == \"unknown\")\r\n\t{\r\n\t\t//这里永远不会走。因为界面上不会有未知选项\r\n\t\tassert(false);\r\n\t\treturn;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tQTextCodec::setCodecForLocale(QTextCodec::codecForName(destCodeName.toStdString().c_str()));\r\n\t}\r\n\r\n\tui.selectFileBt->setEnabled(false);\r\n\tui.codeToComboBox->setEditable(false);\r\n\tui.closeBt->setEnabled(false);\r\n\r\n\r\n\tfor (QList<fileAttriNode>::iterator iter = m_fileAttris.begin(); iter != m_fileAttris.end(); ++iter)\r\n\t{\r\n\t\tif ((iter->type == RC_FILE) && isSupportExt(extComboBoxIndex, fileSuffix(iter->relativePath)))\r\n\t\t{\r\n\t\t\tqDebug() << iter->relativePath;\r\n\r\n\t\t\tCODE_ID srcCode = static_cast<CODE_ID>(iter->selfItem->data(0, ITEM_CODE).toInt());\r\n\r\n\t\t\tCODE_ID dstCode = getComboBoxCode(ui.codeToComboBox->currentIndex());\r\n\r\n\t\t\tif (srcCode != dstCode)\r\n\t\t\t{\r\n\r\n\t\t\t\tQFutureWatcher<EncodeThreadParameter_*>* futureWatcher = new QFutureWatcher<EncodeThreadParameter_*>();\r\n\r\n\t\t\t\tQObject::connect(futureWatcher, &QFutureWatcher<EncodeThreadParameter_>::finished, this, &EncodeConvert::slot_convertFileFinish);\r\n\r\n\t\t\t\tfutureWatcher->setFuture(this->convertFileCode(iter->relativePath, iter->selfItem));\r\n\r\n\t\t\t\t++m_commitCmpFileNums;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\titer->selfItem->setText(4, tr(\"already %1 ignore\").arg(Encode::getCodeNameById(srcCode)));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\titer->selfItem->setText(4, tr(\"ignore\"));\r\n\t\t}\r\n\t}\r\n\r\n\tint finishProcessRatio = 0;\r\n\r\n\twhile (m_finishCmpFileNums < m_commitCmpFileNums)\r\n\t{\r\n\t\tint curProcessRatio = m_finishCmpFileNums * 100 / m_commitCmpFileNums;\r\n\r\n\t\t//没%5更新一下\r\n\t\tif (curProcessRatio - finishProcessRatio >= 5)\r\n\t\t{\r\n\t\t\tfinishProcessRatio = curProcessRatio;\r\n\t\t\tui.logTextBrowser->append(tr(\"total file %1,cur deal index %2,finish %3%\").arg(m_commitCmpFileNums).arg(m_finishCmpFileNums).arg(curProcessRatio));\r\n\t\t}\r\n\t\tQCoreApplication::processEvents();\r\n\t}\r\n\r\n\tui.logTextBrowser->append(tr(\"total file %1,cur deal index %2,finish 100%\").arg(m_commitCmpFileNums).arg(m_finishCmpFileNums));\r\n\tui.logTextBrowser->append(tr(\"convert finished !\"));\r\n\r\n\tui.selectFileBt->setEnabled(true);\r\n\tui.codeToComboBox->setEditable(true);\r\n\tui.closeBt->setEnabled(true);\r\n}\r\n\r\n\r\n//转换完成，设置当前表格上的显示状态\r\nvoid EncodeConvert::slot_convertFileFinish()\r\n{\r\n\tQFutureWatcher<EncodeThreadParameter_*>* s = dynamic_cast<QFutureWatcher<EncodeThreadParameter_*> *>(sender());\r\n\r\n\tEncodeThreadParameter_* result = s->result();\r\n\r\n\t//这里释放的内容，其实是在mode里面new出来的\r\n\tif (result != nullptr)\r\n\t{\r\n\t\tif (result->code != UNKOWN)\r\n\t\t{\r\n\t\t\tresult->item->setText(3, Encode::getCodeNameById(result->code));\r\n\t\t\tresult->item->setText(4, tr(\"convert finish\"));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tresult->item->setText(4, tr(\"convert fail\"));\r\n\t\t\tui.logTextBrowser->append(tr(\"file %1 convert failed,pleas check...\").arg(result->item->data(0, Qt::ToolTipRole).toString()));\r\n\t\t}\r\n\r\n\t\tresult->item->setData(0, ITEM_CODE, result->code);\r\n\r\n\t\tdelete result;\r\n\t\tresult = nullptr;\r\n\t}\r\n\r\n\tdelete s;\r\n\ts = nullptr;\r\n\r\n\t++m_finishCmpFileNums;\r\n}\r\n\r\n//对item进行间隔着色\r\nvoid EncodeConvert::setItemIntervalBackground()\r\n{\r\n\tint curItemIndex = 0;\r\n\r\n\tQTreeWidgetItemIterator it(ui.treeWidget);\r\n\twhile (*it) {\r\n\t\tif (curItemIndex % 2 == 1)\r\n\t\t{\r\n\t\t\tsetItemBackground(*it, QColor(0xf8faf9));\r\n\t\t}\r\n\t\t++it;\r\n\t\t++curItemIndex;\r\n\t}\r\n}\r\n\r\nvoid EncodeConvert::setItemBackground(QTreeWidgetItem* item, const QColor& color)\r\n{\r\n\tQBrush b(color);\r\n\titem->setBackground(0, b);\r\n\titem->setBackground(1, b);\r\n\titem->setBackground(2, b);\r\n\titem->setBackground(3, b);\r\n\titem->setBackground(4, b);\r\n}\r\n\r\nvoid EncodeConvert::dragEnterEvent(QDragEnterEvent* event)\r\n{\r\n\tif (event->mimeData()->hasFormat(\"text/uri-list\")) //只能打开文本文件\r\n\t{\r\n\t\tevent->accept(); //可以在这个窗口部件上拖放对象\r\n\t}\r\n\telse\r\n\t{\r\n\t\tevent->ignore();\r\n\t}\r\n\r\n}\r\n\r\nvoid EncodeConvert::dropEvent(QDropEvent* e)\r\n{\r\n\tQList<QUrl> urls = e->mimeData()->urls();\r\n\tif (urls.isEmpty())\r\n\t\treturn;\r\n\r\n\tQString dirName = urls.first().toLocalFile();\r\n\r\n\tif (dirName.isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQDir dir(dirName);\r\n\r\n\tif (!dir.exists())\r\n\t{\r\n\t\tui.logTextBrowser->append(tr(\"please drop a file dir ...\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tui.treeWidget->clear();\r\n\r\n\tm_fileAttris.clear();\r\n\r\n\tloadDir(dirName);\r\n\r\n\tsetItemIntervalBackground();\r\n\r\n\tscanFileCode();\r\n\r\n\te->accept();\r\n\r\n}\r\n"
  },
  {
    "path": "src/encodeconvert.h",
    "content": "﻿#pragma once\r\n\r\n#include <QWidget>\r\n#include <QFuture>\r\n#include <functional>\r\n#include <QMap>\r\n\r\n#include \"ui_encodeconvert.h\"\r\n#include \"rcglobal.h\"\r\n\r\n\r\ntypedef struct EncodeThreadParameter_ {\r\n\tQString filepath;\r\n\tCODE_ID code;\r\n\tQTreeWidgetItem* item;\r\n\r\n\tEncodeThreadParameter_(QString filePath_)\r\n\t{\r\n\t\tfilepath = filePath_;\r\n\t\tcode = CODE_ID::UNKOWN;\r\n\t}\r\n\r\n}EncodeThreadParameter;\r\n\r\nclass EncodeConvert : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tEncodeConvert(QWidget *parent = Q_NULLPTR);\r\n\t~EncodeConvert();\r\n\r\nprivate:\r\n\tint allfile(QTreeWidgetItem* root_, QString path_);\r\n\tint loadDir(QString rootDirPath);\r\n\tbool isSupportExt(int index, QString ext);\r\n\t\r\n\tQFuture<EncodeThreadParameter*> commitTask(std::function<EncodeThreadParameter* (EncodeThreadParameter*)> fun, EncodeThreadParameter* parameter);\r\n\tQFuture<EncodeThreadParameter_*> checkFileCode(QString filePath, QTreeWidgetItem* item);\r\n\tstatic CODE_ID convertFileToCode(QString& filePath, CODE_ID srcCode, CODE_ID dstDode);\r\n\tstatic CODE_ID getComboBoxCode(int index);\r\n\tQFuture<EncodeThreadParameter_*> convertFileCode(QString filePath, QTreeWidgetItem* item);\r\n\tvoid scanFileCode();\r\n\r\nprotected:\r\n\tvoid dragEnterEvent(QDragEnterEvent* event) override;\r\n\tvoid dropEvent(QDropEvent* e) override;\r\n\r\npublic slots:\r\n\tvoid slot_scanFileCode();\r\n\tvoid slot_userDefineExt();\r\n\r\nprivate slots:\r\n\tvoid slot_selectFile();\r\n\tvoid slot_startConvert();\r\n\r\n\tvoid slot_convertFileFinish();\r\n\tvoid slot_itemClicked(QTreeWidgetItem* item, int column);\r\n\r\nprivate:\r\n\tvoid setItemIntervalBackground();\r\n\tvoid setItemBackground(QTreeWidgetItem* item, const QColor& color);\r\n\r\nprivate:\r\n\tUi::EncodeConvert ui;\r\n\r\n\tQList<fileAttriNode> m_fileAttris;\r\n\tQString m_fileDirPath;\r\n\r\n\tint m_commitCmpFileNums;\r\n\tint m_finishCmpFileNums;\r\n\r\n\tint m_extComBoxNum;\r\n\r\n\tQList< QMap<QString, bool>* > m_supportFileExt;\r\n\r\n\tQMenu* m_menu;\r\n};\r\n"
  },
  {
    "path": "src/encodeconvert.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>EncodeConvert</class>\r\n <widget class=\"QWidget\" name=\"EncodeConvert\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>969</width>\r\n    <height>614</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>EncodeConvert</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\" stretch=\"1,0\">\r\n   <property name=\"spacing\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"leftMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <item>\r\n    <widget class=\"QTreeWidget\" name=\"treeWidget\">\r\n     <column>\r\n      <property name=\"text\">\r\n       <string>filePath</string>\r\n      </property>\r\n     </column>\r\n     <column>\r\n      <property name=\"text\">\r\n       <string>file size</string>\r\n      </property>\r\n     </column>\r\n     <column>\r\n      <property name=\"text\">\r\n       <string>file code</string>\r\n      </property>\r\n     </column>\r\n     <column>\r\n      <property name=\"text\">\r\n       <string>convert code</string>\r\n      </property>\r\n     </column>\r\n     <column>\r\n      <property name=\"text\">\r\n       <string>convert result</string>\r\n      </property>\r\n     </column>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\" stretch=\"0,1\">\r\n     <item>\r\n      <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\" stretch=\"2,1\">\r\n       <property name=\"bottomMargin\">\r\n        <number>20</number>\r\n       </property>\r\n       <item>\r\n        <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n         <property name=\"title\">\r\n          <string>convert options</string>\r\n         </property>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n          <item>\r\n           <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n            <item>\r\n             <widget class=\"QLabel\" name=\"label\">\r\n              <property name=\"text\">\r\n               <string>convert to code</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QComboBox\" name=\"codeToComboBox\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>200</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <item>\r\n               <property name=\"text\">\r\n                <string>UTF8</string>\r\n               </property>\r\n              </item>\r\n              <item>\r\n               <property name=\"text\">\r\n                <string>UTF8 BOM</string>\r\n               </property>\r\n              </item>\r\n              <item>\r\n               <property name=\"text\">\r\n                <string>UTF16-LE</string>\r\n               </property>\r\n              </item>\r\n              <item>\r\n               <property name=\"text\">\r\n                <string>UTF16-BE</string>\r\n               </property>\r\n              </item>\r\n              <item>\r\n               <property name=\"text\">\r\n                <string>GBK</string>\r\n               </property>\r\n              </item>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n            <item>\r\n             <widget class=\"QLabel\" name=\"label_2\">\r\n              <property name=\"text\">\r\n               <string>deal file ext</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QComboBox\" name=\"extComboBox\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>150</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <item>\r\n               <property name=\"text\">\r\n                <string>all support file ext</string>\r\n               </property>\r\n              </item>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QToolButton\" name=\"toolButton\">\r\n              <property name=\"toolTip\">\r\n               <string>user defined</string>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>defined</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n         </layout>\r\n        </widget>\r\n       </item>\r\n       <item>\r\n        <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n         <item>\r\n          <spacer name=\"horizontalSpacer\">\r\n           <property name=\"orientation\">\r\n            <enum>Qt::Horizontal</enum>\r\n           </property>\r\n           <property name=\"sizeHint\" stdset=\"0\">\r\n            <size>\r\n             <width>40</width>\r\n             <height>20</height>\r\n            </size>\r\n           </property>\r\n          </spacer>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QPushButton\" name=\"selectFileBt\">\r\n           <property name=\"text\">\r\n            <string>select dir</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QPushButton\" name=\"startBt\">\r\n           <property name=\"text\">\r\n            <string>start</string>\r\n           </property>\r\n           <property name=\"autoDefault\">\r\n            <bool>false</bool>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QPushButton\" name=\"closeBt\">\r\n           <property name=\"text\">\r\n            <string>close</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <spacer name=\"horizontalSpacer_2\">\r\n           <property name=\"orientation\">\r\n            <enum>Qt::Horizontal</enum>\r\n           </property>\r\n           <property name=\"sizeHint\" stdset=\"0\">\r\n            <size>\r\n             <width>40</width>\r\n             <height>20</height>\r\n            </size>\r\n           </property>\r\n          </spacer>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n      </layout>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QTextBrowser\" name=\"logTextBrowser\"/>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>selectFileBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>EncodeConvert</receiver>\r\n   <slot>slot_selectFile()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>64</x>\r\n     <y>574</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>8</x>\r\n     <y>559</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>startBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>EncodeConvert</receiver>\r\n   <slot>slot_startConvert()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>185</x>\r\n     <y>573</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>232</x>\r\n     <y>605</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>closeBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>EncodeConvert</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>274</x>\r\n     <y>572</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>367</x>\r\n     <y>611</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>toolButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>EncodeConvert</receiver>\r\n   <slot>slot_userDefineExt()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>300</x>\r\n     <y>506</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>438</x>\r\n     <y>608</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_selectFile()</slot>\r\n  <slot>slot_startConvert()</slot>\r\n  <slot>slot_userDefineExt()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/extLexermanager.cpp",
    "content": "#include \"extlexermanager.h\"\r\n\r\n//רûԶExt  ʷLexerࡣ\r\n//һļext׺ٸ֪ʹʲôlexer﷨\r\n\r\nExtLexerManager* ExtLexerManager::s_instance = nullptr;\r\n\r\nExtLexerManager::ExtLexerManager()\r\n{\r\n}\r\n\r\nExtLexerManager * ExtLexerManager::getInstance()\r\n{\r\n\tif (s_instance == nullptr)\r\n\t{\r\n\t\ts_instance = new ExtLexerManager();\r\n\t}\r\n\treturn s_instance;\r\n}\r\n\r\nExtLexerManager::~ExtLexerManager()\r\n{\r\n\tm_extToLexerIdMap.clear();\r\n}\r\n\r\nint ExtLexerManager::size()\r\n{\r\n\treturn m_extToLexerIdMap.size();\r\n}\r\n\r\nbool ExtLexerManager::contains(QString ext)\r\n{\r\n\treturn m_extToLexerIdMap.contains(ext);\r\n}\r\n\r\nvoid ExtLexerManager::remove(QString ext)\r\n{\r\n\tif (m_extToLexerIdMap.contains(ext))\r\n\t{\r\n\t\tm_extToLexerIdMap.remove(ext);\r\n\t}\r\n}\r\n\r\n\r\n//ext:ļĺ׺ langTagName:Եtag \r\n//lexerId ﷨idûԶ壬ȻL_USER_TXT,L_USER_CPP,L_USER_HTML,L_USER_JS,L_USER_XML, L_USER_INI еһ\r\n//langTagName:ֻû£ҪtagNameΪûlexertagnameǹ̶ġ\r\nvoid ExtLexerManager::addNewExtType(QString ext, LangType lexerId, QString langTagName)\r\n{\r\n\tLexerInfo value(lexerId, langTagName);\r\n\tm_extToLexerIdMap.insert(ext,value);\r\n}\r\n\r\nbool ExtLexerManager::getLexerTypeByExt(QString ext, LexerInfo& lexer)\r\n{\r\n\tif (m_extToLexerIdMap.contains(ext))\r\n\t{\r\n\t\tlexer = m_extToLexerIdMap[ext];\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n//гtagйļ׺б\r\nvoid ExtLexerManager::getExtlistByLangTag(QString tag, QStringList& extList)\r\n{\r\n\tfor (QMap<QString, LexerInfo>::iterator it = m_extToLexerIdMap.begin(); it != m_extToLexerIdMap.end(); ++it)\r\n\t{\r\n\t\tLexerInfo& v = it.value();\r\n\t\tif (v.tagName == tag)\r\n\t\t{\r\n\t\t\textList.append(it.key());\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n//гtagйļ׺б\r\nvoid ExtLexerManager::getExtlistByLangTag(QMap<QString,QStringList>& extLangMap)\r\n{\r\n\tfor (QMap<QString, LexerInfo>::iterator it = m_extToLexerIdMap.begin(); it != m_extToLexerIdMap.end(); ++it)\r\n\t{\r\n\t\tLexerInfo& v = it.value();\r\n\r\n\t\tif (extLangMap.contains(v.tagName))\r\n\t\t{\r\n\t\t\textLangMap[v.tagName].append(it.key());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\textLangMap[v.tagName] = QStringList(it.key());\r\n\t\t}\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/extlexermanager.h",
    "content": "#pragma once\r\n#include <QMap>\r\n#include <qscilexer.h>\r\n\r\n#if 0\r\nenum LangType {\n\tL_UNKNOWN = -1, L_PHP = 0, L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC, \\\n\tL_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER, \\\n\tL_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA, \\\n\tL_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME, \\\n\tL_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3, \\\n\tL_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT, \\\n\tL_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP, \\\n\tL_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC, \\\n\tL_IHEX, L_TEHEX, L_SWIFT, \\\n\tL_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \\\n\tL_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \\\n\tL_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \\\n\tL_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG, L_TYPESCRIPT, \\\n\tL_EDIFACT, L_MARKDOWN, L_OCTAVE, L_PO, L_POV, L_IDL, L_GO, L_TXT, \\\n\t// Don't use L_JS, use L_JAVASCRIPT instead\n\t// The end of enumated language type, so it should be always at the end\n\tL_EXTERNAL = 100, L_USER_DEFINE = 200, L_USER_TXT, L_USER_CPP, L_USER_HTML, L_USER_JS,\r\n\tL_USER_XML, L_USER_INI,\r\n};\r\n#endif\r\n\r\nstruct LexerInfo{\r\n\tLangType lexerId; //L_USER_DEFINEʾĸ\r\n\tQString tagName; //tagơ\r\n\tbool isUserDefineLangs()\r\n\t{\r\n\t\treturn (lexerId > L_USER_DEFINE);\r\n\t}\r\n\tLexerInfo() = default;\r\n\tLexerInfo(LangType id, QString name):lexerId(id), tagName(name)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\nclass ExtLexerManager\r\n{\r\npublic:\r\n\tstatic ExtLexerManager* getInstance();\r\n\t~ExtLexerManager();\r\n\r\n\tint size();\r\n\r\n\tbool contains(QString ext);\r\n\r\n\tvoid remove(QString ext);\r\n\r\n\tvoid addNewExtType(QString ext, LangType lexerId, QString langTagName=\"\");\r\n\r\n\tbool getLexerTypeByExt(QString ext, LexerInfo& lexer);\r\n\r\n\t//гtagйļ׺б\r\n\tvoid getExtlistByLangTag(QString tag, QStringList& extList);\r\n\r\n\t//гйļ׺б\r\n\tvoid getExtlistByLangTag(QMap<QString, QStringList>& extLangMap);\r\n\r\n\r\nprivate:\r\n\tExtLexerManager();\r\n\r\n\tstatic ExtLexerManager* s_instance;\r\n\r\n\tQMap<QString, LexerInfo> m_extToLexerIdMap;\r\n};\r\n\r\n"
  },
  {
    "path": "src/filecmprulewin.cpp",
    "content": "#include \"filecmprulewin.h\"\r\n\r\nFileCmpRuleWin::FileCmpRuleWin(int mode, bool blankMath, int equalRato,QWidget *parent)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tif (mode == 0)\r\n\t{\r\n\t\tui.radioButtonDefault->setChecked(true);\r\n\t}\r\n\telse if(mode == 1)\r\n\t{\r\n\t\tui.radioButtonIgnoreBackWhite->setChecked(true);\r\n\t}\r\n\telse if (mode == 2)\r\n\t{\r\n\t\tui.radioButtonIgnoreAllWhite->setChecked(true);\r\n\t}\r\n\r\n\tui.checkBoxBlankMatch->setChecked(blankMath);\r\n\r\n\tint index = 0;\r\n\r\n\tif (equalRato == 70)\r\n\t{\r\n\t\tindex = 1;\r\n\t}\r\n\telse if (equalRato == 90)\r\n\t{\r\n\t\tindex = 2;\r\n\t}\r\n\t\r\n\tui.comboBoxEqualRato->setCurrentIndex(index);\r\n}\r\n\r\nFileCmpRuleWin::~FileCmpRuleWin()\r\n{\r\n}\r\n\r\nvoid FileCmpRuleWin::slot_apply()\r\n{\r\n\tint status = 0;\r\n\t\r\n\tif (ui.radioButtonDefault->isChecked())\r\n\t{\r\n\t\tstatus = 0;\r\n\t}\r\n\telse if (ui.radioButtonIgnoreBackWhite->isChecked())\r\n\t{\r\n\t\tstatus = 1;\r\n\t}\r\n\telse if (ui.radioButtonIgnoreAllWhite->isChecked())\r\n\t{\r\n\t\tstatus = 2;\r\n\t}\r\n\r\n\tbool blankMatch = (ui.checkBoxBlankMatch->isChecked() ? true : false);\r\n\tint equalRato = 50;\r\n\r\n\tif (ui.comboBoxEqualRato->currentIndex() == 1)\r\n\t{\r\n\t\tequalRato = 70;\r\n\t}\r\n\telse if (ui.comboBoxEqualRato->currentIndex() == 2)\r\n\t{\r\n\t\tequalRato = 90;\r\n\t}\r\n\r\n\temit sign_cmpModeChange(status, blankMatch, equalRato);\r\n\tclose();\r\n}\r\n"
  },
  {
    "path": "src/filecmprulewin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_filecmprulewin.h\"\r\n\r\nclass FileCmpRuleWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tFileCmpRuleWin(int mode, bool blankMath, int equalRato, QWidget *parent = Q_NULLPTR);\r\n\tvirtual ~FileCmpRuleWin();\r\n\r\nsignals:\r\n\tvoid sign_cmpModeChange(int mode,bool blankMatch,int equalRato);\r\n\r\nprivate slots:\r\n\tvoid slot_apply();\r\n\r\nprivate:\r\n\tUi::FileCmpRuleWin ui;\r\n};\r\n"
  },
  {
    "path": "src/filecmprulewin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>FileCmpRuleWin</class>\r\n <widget class=\"QWidget\" name=\"FileCmpRuleWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>481</width>\r\n    <height>231</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>500</width>\r\n    <height>400</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>FileCmpRuleWin</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Compare Options</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n      <item>\r\n       <widget class=\"QRadioButton\" name=\"radioButtonDefault\">\r\n        <property name=\"text\">\r\n         <string>Ignore whitespace characters before line</string>\r\n        </property>\r\n        <property name=\"checked\">\r\n         <bool>true</bool>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QRadioButton\" name=\"radioButtonIgnoreBackWhite\">\r\n        <property name=\"text\">\r\n         <string>Ignore whitespace characters At back of the line(such as python)</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QRadioButton\" name=\"radioButtonIgnoreAllWhite\">\r\n        <property name=\"text\">\r\n         <string>Ignore all whitespace characters</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n     <property name=\"title\">\r\n      <string>Match Options</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n      <item>\r\n       <widget class=\"QCheckBox\" name=\"checkBoxBlankMatch\">\r\n        <property name=\"text\">\r\n         <string>Blank lines participate in matching</string>\r\n        </property>\r\n        <property name=\"checked\">\r\n         <bool>true</bool>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label\">\r\n          <property name=\"text\">\r\n           <string>Identify matching rates for rows that are equal</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QComboBox\" name=\"comboBoxEqualRato\">\r\n          <item>\r\n           <property name=\"text\">\r\n            <string>Match &gt;= 50%</string>\r\n           </property>\r\n          </item>\r\n          <item>\r\n           <property name=\"text\">\r\n            <string>Match &gt;= 70%</string>\r\n           </property>\r\n          </item>\r\n          <item>\r\n           <property name=\"text\">\r\n            <string>Match &gt;= 90%</string>\r\n           </property>\r\n          </item>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <spacer name=\"verticalSpacer\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Vertical</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>20</width>\r\n       <height>40</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton\">\r\n       <property name=\"text\">\r\n        <string>Apply</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton_2\">\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButton_2</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FileCmpRuleWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>234</x>\r\n     <y>126</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>333</x>\r\n     <y>120</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FileCmpRuleWin</receiver>\r\n   <slot>slot_apply()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>106</x>\r\n     <y>125</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>3</x>\r\n     <y>125</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_apply()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/filelistview.cpp",
    "content": "#include \"filelistview.h\"\r\n#include \"rcglobal.h\"\r\n#include \"ccnotepad.h\"\r\n#include <QListWidgetItem>\r\n#include <QMenu>\r\n\r\n\r\n//ʾļԺ󣬰ļڸб\r\n\r\nFileListView::FileListView(QWidget *parent)\r\n\t: QWidget(parent), m_pNotepad(nullptr)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tconnect(ui.filelistWidget, &QListWidget::itemDoubleClicked, this, &FileListView::itemDoubleClicked);\r\n\r\n\tsetContextMenuPolicy(Qt::CustomContextMenu);  //öֵ\r\n\r\n\tconnect(this, &QListWidget::customContextMenuRequested, this, &FileListView::slot_ShowPopMenu);\r\n}\r\n\r\nFileListView::~FileListView()\r\n{\r\n\tm_fileEditMap.clear();\r\n}\r\n\r\nvoid FileListView::setNotepadWin(QWidget* pNotepad)\r\n{\r\n\tm_pNotepad = pNotepad;\r\n}\r\n\r\n//Ҽ˵\r\nvoid FileListView::slot_ShowPopMenu(const QPoint& pos)\r\n{\r\n\tQListWidgetItem* curItem = ui.filelistWidget->itemAt(pos);\r\n\tif (curItem != nullptr)\r\n\t{\r\n\t\tQMenu* menu = new QMenu(this);\r\n\r\n\t\tQAction* actionAdd = menu->addAction(tr(\"Show File in Explorer\"), this, [&]() {\r\n\t\t\tshowFileInExplorer(curItem->text());\r\n\t\t});\r\n\r\n\t\tmenu->addAction(tr(\"Close File\"), this, [&]() {\r\n\r\n\t\t\tQString filePath = curItem->text();\r\n\r\n\t\t\tif (m_fileEditMap.contains(filePath))\r\n\t\t\t{\r\n\t\t\t\tCCNotePad* pNotePad = dynamic_cast<CCNotePad*>(m_pNotepad);\r\n\r\n\t\t\t\tif (m_pNotepad != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tpNotePad->closeFileByEditWidget(m_fileEditMap.value(curItem->text()).pEditWidget);\r\n\t\t\t\t}\r\n\t\t\t\t//עﲻҪɾm_fileEditMapԪأΪcloseFileByEditWidgetá\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//ûƱʾǶitemڶӦļֻռλ\r\n\t\tif (curItem->text().isEmpty())\r\n\t\t{\r\n\t\t\tactionAdd->setEnabled(false);\r\n\t\t}\r\n\r\n\t\tif (menu)\r\n\t\t{\r\n\t\t\tmenu->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\t\tmenu->exec(QCursor::pos());\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid FileListView::delFileItem(QString & filePath)\r\n{\r\n\tif (m_fileEditMap.contains(filePath))\r\n\t{\r\n\t\tm_fileEditMap.remove(filePath);\r\n\t\tQList<QListWidgetItem*> items = ui.filelistWidget->findItems(filePath, Qt::MatchFixedString);\r\n\r\n\t\tif (!items.isEmpty())\r\n\t\t{\r\n\t\t\tdelete items.at(0);\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\nQWidget* FileListView::getWidgetByFilePath(QString filePath)\r\n{\r\n\tif (m_fileEditMap.contains(filePath))\r\n\t{\r\n\t\treturn m_fileEditMap.value(filePath).pEditWidget;\r\n\t}\r\n\treturn nullptr;\r\n}\r\n\r\nvoid FileListView::setCurItem(QString filePath)\r\n{\r\n\tif (m_fileEditMap.contains(filePath))\r\n\t{\r\n\t\tui.filelistWidget->setCurrentItem(m_fileEditMap.value(filePath).pListItem);\r\n\t}\r\n}\r\n\r\nvoid FileListView::addFileItem(QString& filePath, QWidget* edit)\r\n{\r\n\tif (!m_fileEditMap.contains(filePath))\r\n\t{\r\n\t\tQListWidgetItem* newItem = new QListWidgetItem(filePath);\r\n\t\tui.filelistWidget->addItem(newItem);\r\n\r\n\t\tm_fileEditMap.insert(filePath, FileListItemData(edit, newItem));\r\n\t}\r\n}\r\n\r\n"
  },
  {
    "path": "src/filelistview.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include <QListWidgetItem>\r\n\r\n#include \"ui_filelistview.h\"\r\n\r\nstruct FileListItemData {\r\n\tQWidget* pEditWidget;\r\n\tQListWidgetItem* pListItem;\r\n\r\n\tFileListItemData() = default;\r\n\tFileListItemData(QWidget* pwid, QListWidgetItem* pItem) :pEditWidget(pwid),pListItem(pItem)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\nclass FileListView : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tFileListView(QWidget *parent = nullptr);\r\n\tvirtual ~FileListView();\r\n\r\n\tvoid setNotepadWin(QWidget* pNotepad);\r\n\r\n\tvoid delFileItem(QString & filePath);\r\n\r\n\tQWidget* getWidgetByFilePath(QString filePath);\r\n\r\n\tvoid addFileItem(QString& filePath, QWidget* edit);\r\n\r\n\tvoid setCurItem(QString filePath);\r\nsignals:\r\n\tvoid itemDoubleClicked(QListWidgetItem* item);\r\n\r\nprivate slots:\r\n\tvoid slot_ShowPopMenu(const QPoint& pos);\r\n\r\nprivate:\r\n\tUi::FileListViewClass ui;\r\n\r\n\tQWidget* m_pNotepad;\r\n\r\n\tQMap<QString, FileListItemData> m_fileEditMap;\r\n};\r\n"
  },
  {
    "path": "src/filelistview.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>FileListViewClass</class>\r\n <widget class=\"QWidget\" name=\"FileListViewClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>550</width>\r\n    <height>693</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>FileListView</string>\r\n  </property>\r\n  <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n   <property name=\"leftMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"horizontalSpacing\">\r\n    <number>1</number>\r\n   </property>\r\n   <property name=\"verticalSpacing\">\r\n    <number>3</number>\r\n   </property>\r\n   <item row=\"0\" column=\"0\">\r\n    <widget class=\"QListWidget\" name=\"filelistWidget\"/>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/findcmpwin.cpp",
    "content": "#include \"findcmpwin.h\"\r\n#include \"qscidisplaywindow.h\"\r\n#include <QRadioButton>\r\n#include <QMessageBox>\r\n\r\nFindCmpWin::FindCmpWin(RC_DIRECTION dir, QWidget *parent):QMainWindow(parent), m_editWidget(nullptr), m_isFindFirst(true), m_findHistory(nullptr)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tm_BackwardDir = false;\r\n\tm_matchWhole = false;\r\n\tm_matchCase = false;\r\n\tm_matchWrap = true;\r\n\tm_searchMode = 1;\r\n\r\n\tif (dir == RC_LEFT)\r\n\t{\r\n\t\tui.leftSearch->setChecked(true);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.rightSearch->setChecked(true);\r\n\t}\r\n\r\n\tconnect(ui.leftSearch, &QRadioButton::toggled, this, &FindCmpWin::slot_isSearchLeft);\r\n\r\n\tconnect(ui.findModeRegularBt, &QRadioButton::toggled, this, &FindCmpWin::slot_findModeRegularBtChange);\r\n}\r\n\r\nFindCmpWin::~FindCmpWin()\r\n{\r\n}\r\n\r\nvoid FindCmpWin::slot_isSearchLeft(bool checked)\r\n{\r\n\temit sgin_searchDirectionChange(checked ? RC_LEFT : RC_RIGHT);\r\n}\r\n\r\nvoid FindCmpWin::setCurrentTab(FindTabIndex index)\r\n{\r\n\tui.findinfilesTab->setCurrentIndex(index);\r\n\r\n\tif (FIND_TAB == index)\r\n\t{\r\n\t\tui.findComboBox->setFocus();\r\n\t}\r\n}\r\n\r\nvoid FindCmpWin::setWorkEdit(QsciDisplayWindow *editWidget)\r\n{\r\n\tm_editWidget = editWidget;\r\n\tm_isFindFirst = true;\r\n}\r\n\r\n\r\nvoid FindCmpWin::setFindText(QString &text)\r\n{\r\n\tui.findComboBox->setEditText(text);\r\n}\r\n\r\n\r\nvoid FindCmpWin::setFindHistory(QList<QString>* findHistory)\r\n{\r\n\tm_findHistory = findHistory;\r\n\r\n\tif ((m_findHistory != nullptr) && !m_findHistory->isEmpty())\r\n\t{\r\n\t\tui.findComboBox->addItems(*m_findHistory);\r\n\t\tui.findComboBox->clearEditText();\r\n\t}\r\n}\r\n\r\n//从ui读取参数配置到成员变量\r\nvoid FindCmpWin::updateParameterFromUI()\r\n{\r\n\tif (ui.findinfilesTab->currentIndex() == 0)\r\n\t{\r\n\t\tint searchMode = 0;\r\n\r\n\t\tif (ui.findModeNormalBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t}\r\n\t\telse if (ui.findModeRegularBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 2;\r\n\t\t}\r\n\r\n\t\tif (m_searchMode != searchMode)\r\n\t\t{\r\n\t\t\tm_searchMode = searchMode;\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\r\n\t\tif (m_expr != ui.findComboBox->currentText())\r\n\t\t{\r\n\t\t\tm_expr = ui.findComboBox->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_BackwardDir != ui.findBackwardBox->isChecked())\r\n\t\t{\r\n\t\t\tm_BackwardDir = ui.findBackwardBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchWhole != ui.findMatchWholeBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWhole = ui.findMatchWholeBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchCase != ui.findMatchCaseBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchCase = ui.findMatchCaseBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchWrap != ui.findWrapBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWrap = ui.findWrapBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\t}\r\n\r\n\tm_re = ((m_searchMode == 2) ? true : false);\r\n\r\n\tif (m_cs != m_matchCase)\r\n\t{\r\n\t\tm_cs = m_matchCase;\r\n\t}\r\n\r\n\tif (m_wo != m_matchWhole)\r\n\t{\r\n\t\tm_wo = m_matchWhole;\r\n\t}\r\n\r\n\tif (m_wrap != m_matchWrap)\r\n\t{\r\n\t\tm_wrap = m_matchWrap;\r\n\t}\r\n\r\n\tm_forward = !m_BackwardDir;\r\n}\r\n\r\nvoid FindCmpWin::addFindHistory(QString &text)\r\n{\r\n\tif ((m_findHistory != nullptr) && (-1 == m_findHistory->indexOf(text)))\r\n\t{\r\n\t\tm_findHistory->push_front(text);\r\n\t\tui.findComboBox->insertItem(0, text);\r\n\t}\r\n}\r\n\r\n//检查是否是第一次查找，凡是参数变化了，则认定为是第一次查找。\r\n//因为查找分firstFirst和firstNext，则是qscint特性决定的。所以正确识别第一次查找是必要的\r\nbool FindCmpWin::isFirstFind()\r\n{\r\n\treturn m_isFindFirst;\r\n}\r\n\r\n//一旦修改条件发生变化，则认定为第一次查找\r\nvoid FindCmpWin::slot_findNext()\r\n{\r\n\tif (ui.findComboBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 3000);\r\n\t\treturn;\r\n\t}\r\n\r\n\tupdateParameterFromUI();\r\n\r\n\r\n\tQsciDisplayWindow* pEdit = m_editWidget;\r\n\r\n\t//第一次查找\r\n\tif (isFirstFind())\r\n\t{\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tQString whatFind = ui.findComboBox->currentText();\r\n\r\n\t\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, m_wrap, m_forward))\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"cant't find text \\'%1\\'\").arg(m_expr),3000);\r\n\t\t\t}\r\n\r\n\t\t\tm_isFindFirst = false;\r\n\r\n\t\t\t//加入历史列表\r\n\t\t\taddFindHistory(whatFind);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//查找下一个\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tif (!pEdit->findNext())\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"no more find text \\'%1\\'\").arg(m_expr),3000);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//\r\n//void FindCmpWin::addCurFindRecord(QsciDisplayWindow* pEdit, FindCmpRecords& recordRet)\r\n//{\r\n//\tint pos = pEdit->execute(SCI_GETCURRENTPOS);\r\n//\tint lineNum = pEdit->execute(SCI_LINEFROMPOSITION, pos);\r\n//\tint lineLens = pEdit->execute(SCI_LINELENGTH, lineNum);\r\n//\r\n//\tchar* lineText = new char[lineLens + 1];\r\n//\tmemset(lineText, 0, lineLens + 1);\r\n//\tpEdit->execute(SCI_GETCURLINE, lineLens, reinterpret_cast<sptr_t>(lineText));\r\n//\r\n//\tFindCmpRecord aRecord;\r\n//\taRecord.lineNum = lineNum;\r\n//\taRecord.pos = pos;\r\n//\taRecord.lineContents = QString(lineText);\r\n//\r\n//\tdelete[]lineText;\r\n//\t\r\n//\trecordRet.records.append(aRecord);\r\n//}\r\n\r\nvoid FindCmpWin::slot_findModeRegularBtChange(bool checked)\r\n{\r\n\tif (checked)\r\n\t{\r\n\t\tui.findBackwardBox->setEnabled(false);\r\n\t\tui.findBackwardBox->setChecked(false);\r\n\t\tui.findMatchWholeBox->setEnabled(false);\r\n\t\tui.findMatchWholeBox->setChecked(false);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.findBackwardBox->setEnabled(true);\r\n\t\tui.findMatchWholeBox->setEnabled(true);\r\n\t}\r\n\tm_isFindFirst = true;\r\n}\r\n"
  },
  {
    "path": "src/findcmpwin.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include <QTabWidget>\r\n#include <QVector>\r\n\r\n#include \"ui_findcmpwin.h\"\r\n#include \"rcglobal.h\"\r\n\r\n#ifndef DEF_FIND_TAB_INDEX\r\n#define DEF_FIND_TAB_INDEX\r\n\r\nenum FindTabIndex {\r\n\tFIND_TAB,\r\n\tREPLACE_TAB,\r\n};\r\n#endif\r\nclass ScintillaEditView;\r\n\r\n//struct FindCmpRecord {\r\n//\tint lineNum;\r\n//\tint pos;\r\n//\tQString lineContents;\r\n//};\r\n//\r\n//class FindCmpRecords {\r\n//public:\r\n//\tQString findFilePath;\r\n//\tQString findText;\r\n//\tScintillaEditView* pEdit;\r\n//\tQVector<FindCmpRecord> records;\r\n//\tFindCmpRecords()\r\n//\t{\r\n//\t\tpEdit = nullptr;\r\n//\t}\r\n//};\r\n\r\n\r\nclass QsciDisplayWindow;\r\n\r\nclass FindCmpWin : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tFindCmpWin(RC_DIRECTION dir, QWidget *parent = Q_NULLPTR);\r\n\t~FindCmpWin();\r\n\r\n\t\r\n\tvoid setCurrentTab(FindTabIndex index);\r\n\tvoid setWorkEdit(QsciDisplayWindow * editWidget);\r\n\tvoid setFindText(QString & text);\r\n\tvoid setFindHistory(QList<QString>* findHistory);\r\n\r\nsignals:\r\n\tvoid sgin_searchDirectionChange(RC_DIRECTION dir);\r\nprivate:\r\n\tvoid updateParameterFromUI();\r\n\tvoid addFindHistory(QString & text);\r\n\tbool isFirstFind();\r\n\t//void addCurFindRecord(QsciDisplayWindow * pEdit, FindCmpRecords & recordRet);\r\n\r\nprivate slots:\r\n\tvoid slot_findNext();\r\n\tvoid slot_findModeRegularBtChange(bool checked);\r\n\tvoid slot_isSearchLeft(bool checked);\r\n\r\n\r\n\r\n\r\nprivate:\r\n\tUi::FindCmpWin ui;\r\n\r\n\tQsciDisplayWindow *m_editWidget;\r\n\r\n\t//第一次查找，查找参数变化，认定为第一次查找\r\n\tbool m_isFindFirst;\r\n\r\n\tbool m_BackwardDir;\r\n\tbool m_matchWhole;\r\n\tbool m_matchCase;\r\n\tbool m_matchWrap;\r\n\t\r\n\tint m_searchMode; // 1 normal 2 regular expression\r\n\r\n\t//find的参数\r\n\tQString m_expr;\r\n\tbool m_re;\r\n\tbool m_cs;\r\n\tbool m_wo;\r\n\tbool m_wrap;\r\n\tbool m_forward;\r\n\tbool m_line;\r\n\tbool m_index;\r\n\r\n\tbool m_isFound;\r\n\r\n\t//上次点击的按钮id，如果两次点击的不一样\r\n\t//说明是不同的操作，如果是查找，则当前这次点击算是第一次查找\r\n\tQString m_lastClickBtName;\r\n\tQList<QString>* m_findHistory;\r\n};\r\n"
  },
  {
    "path": "src/findcmpwin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>FindCmpWin</class>\r\n <widget class=\"QMainWindow\" name=\"FindCmpWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>507</width>\r\n    <height>279</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>610</width>\r\n    <height>360</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>Find text window</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralwidget\">\r\n   <layout class=\"QGridLayout\" name=\"gridLayout_2\">\r\n    <property name=\"leftMargin\">\r\n     <number>4</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>0</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>2</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>0</number>\r\n    </property>\r\n    <property name=\"spacing\">\r\n     <number>1</number>\r\n    </property>\r\n    <item row=\"0\" column=\"0\">\r\n     <widget class=\"QTabWidget\" name=\"findinfilesTab\">\r\n      <property name=\"currentIndex\">\r\n       <number>0</number>\r\n      </property>\r\n      <widget class=\"QWidget\" name=\"tab_find\">\r\n       <attribute name=\"title\">\r\n        <string>find</string>\r\n       </attribute>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n        <property name=\"bottomMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n          <item>\r\n           <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n            <item>\r\n             <widget class=\"QLabel\" name=\"label\">\r\n              <property name=\"text\">\r\n               <string>Find what :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QComboBox\" name=\"findComboBox\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>250</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"editable\">\r\n               <bool>true</bool>\r\n              </property>\r\n              <property name=\"maxCount\">\r\n               <number>512</number>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n            <property name=\"title\">\r\n             <string>Options</string>\r\n            </property>\r\n            <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n             <item>\r\n              <widget class=\"QCheckBox\" name=\"findBackwardBox\">\r\n               <property name=\"text\">\r\n                <string>Backward direction</string>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n             <item>\r\n              <widget class=\"QCheckBox\" name=\"findMatchWholeBox\">\r\n               <property name=\"text\">\r\n                <string>Match whole word only</string>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n             <item>\r\n              <widget class=\"QCheckBox\" name=\"findMatchCaseBox\">\r\n               <property name=\"text\">\r\n                <string>Match case</string>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n             <item>\r\n              <widget class=\"QCheckBox\" name=\"findWrapBox\">\r\n               <property name=\"text\">\r\n                <string>Wrap around</string>\r\n               </property>\r\n               <property name=\"checked\">\r\n                <bool>true</bool>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n            </layout>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QGroupBox\" name=\"groupBox\">\r\n            <property name=\"title\">\r\n             <string>Search Mode</string>\r\n            </property>\r\n            <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n             <item row=\"1\" column=\"0\">\r\n              <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n               <item>\r\n                <widget class=\"QRadioButton\" name=\"findModeRegularBt\">\r\n                 <property name=\"text\">\r\n                  <string>Regular expression</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n              </layout>\r\n             </item>\r\n             <item row=\"0\" column=\"0\">\r\n              <widget class=\"QRadioButton\" name=\"findModeNormalBt\">\r\n               <property name=\"text\">\r\n                <string>Normal</string>\r\n               </property>\r\n               <property name=\"checked\">\r\n                <bool>true</bool>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n            </layout>\r\n           </widget>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_4\">\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findTextNext\">\r\n            <property name=\"text\">\r\n             <string>Find Next</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findCloseBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Close</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QGroupBox\" name=\"groupBox_3\">\r\n            <property name=\"title\">\r\n             <string>Diretion</string>\r\n            </property>\r\n            <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n             <item>\r\n              <widget class=\"QRadioButton\" name=\"leftSearch\">\r\n               <property name=\"text\">\r\n                <string>Search In Left</string>\r\n               </property>\r\n               <property name=\"checked\">\r\n                <bool>true</bool>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n             <item>\r\n              <widget class=\"QRadioButton\" name=\"rightSearch\">\r\n               <property name=\"text\">\r\n                <string>Search In Right</string>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n            </layout>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </widget>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusbar\"/>\r\n </widget>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>findTextNext</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindCmpWin</receiver>\r\n   <slot>slot_findNext()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>457</x>\r\n     <y>51</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>422</x>\r\n     <y>329</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>findCloseBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindCmpWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>407</x>\r\n     <y>161</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>169</x>\r\n     <y>327</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_findNext()</slot>\r\n  <slot>slot_findCount()</slot>\r\n  <slot>slot_findAllInCurDoc()</slot>\r\n  <slot>slot_findAllInOpenDoc()</slot>\r\n  <slot>slot_replace()</slot>\r\n  <slot>slot_replaceFindNext()</slot>\r\n  <slot>slot_replaceAll()</slot>\r\n  <slot>slot_replaceAllInOpenDoc()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/findresultview.cpp",
    "content": "#include \"findresultview.h\"\r\n#include \"styleset.h\"\r\n#include \"findresultwin.h\"\r\n#include \"ctipwin.h\"\r\n#include \"Scintilla.h\"\r\n\r\n#include <QClipboard>\r\n\r\n\r\nconst int MARGE_FOLDER = 1;\r\nconst int STYLE_COLOUR_TITLE = 1;\r\nconst int STYLE_COLOUR_DEST_FILE = 2;\r\nconst int STYLE_COLOUR_KEYWORD_HIGH = 3;\r\nconst int STYLE_COLOUR_KEYWORD_BACK_HIGH = 4;\r\nconst int STYLE_DEEP_COLOUR_KEYWORD_HIGH = 5; //ɫģʽǰɫ\r\nconst int STYLE_DEEP_COLOUR_DEST_FILE = 6;\r\n\r\nstatic void getFoldColor(QColor& fgColor, QColor& bgColor, QColor& activeFgColor)\r\n{\r\n\t//￴ˣʵʴ\r\n\tfgColor = StyleSet::s_global_style->fold.bgColor;\r\n\tbgColor = StyleSet::s_global_style->fold.fgColor;\r\n\r\n\tactiveFgColor = StyleSet::s_global_style->fold_active.fgColor;\r\n\r\n}\r\n\r\nvoid FindResultView::setFoldColor(int margin, QColor fgClack, QColor bkColor, QColor foreActive)\r\n{\r\n\tSendScintilla(SCI_MARKERSETFORE, margin, fgClack);\r\n\tSendScintilla(SCI_MARKERSETBACK, margin, bkColor);\r\n\tSendScintilla(SCI_MARKERSETBACKSELECTED, margin, foreActive);\r\n}\r\n\r\nFindResultView::FindResultView(QWidget *parent)\r\n\t: QsciScintilla(parent)\r\n{\r\n\t//ͨfold֣ʹqscintĹܣΪ˴װͼ\r\n\tsetFolding(BoxedTreeFoldStyle, MARGE_FOLDER);\r\n\r\n\tSendScintilla(SCI_SETMARGINWIDTHN, MARGE_FOLDER, 14);\r\n\r\n\tSendScintilla(SCI_MARKERSETFORE, SC_MARKNUM_FOLDERSUB, QColor(0xff,0,0));\r\n\r\n\tsetCaretLineVisible(true);\r\n\tSendScintilla(SCI_SETSCROLLWIDTHTRACKING, true);\r\n\tSendScintilla(SCI_SETCARETLINEBACK, StyleSet::s_global_style->current_line_background_color.bgColor);\r\n\r\n\tQColor foldfgColor = Qt::white, foldbgColor = Qt::gray, activeFoldFgColor = Qt::red;\r\n\tgetFoldColor(foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldMarginColors(StyleSet::s_global_style->fold_margin.fgColor, StyleSet::s_global_style->fold_margin.bgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDEROPEN, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDER, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDERSUB, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDERTAIL, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDEREND, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDEROPENMID, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\tsetFoldColor(SC_MARKNUM_FOLDERMIDTAIL, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\r\n\tSendScintilla(SCI_STYLESETSIZE, STYLE_DEFAULT, 12);\r\n\r\n\tif (!StyleSet::isCurrentDeepStyle())\r\n\t{\r\n\t\tthis->setPaper(StyleSet::s_global_style->default_style.bgColor);\r\n\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_TITLE, 0xffbbbb);\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_DEST_FILE, 0xd5ffd5);\r\n\t\tSendScintilla(SCI_STYLESETEOLFILLED, STYLE_COLOUR_TITLE, true);\r\n\t\tSendScintilla(SCI_STYLESETEOLFILLED, STYLE_COLOUR_DEST_FILE, true);\r\n\t\tSendScintilla(SCI_STYLESETFORE, STYLE_COLOUR_KEYWORD_HIGH, 0x4080ff);\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_KEYWORD_BACK_HIGH, 0xbfffff);\r\n\t\r\n\t}\r\n\telse\r\n\t{\r\n\t\tthis->setColor(StyleSet::s_global_style->default_style.fgColor);\r\n\t\tthis->setPaper(StyleSet::s_global_style->default_style.bgColor);\r\n\r\n\t\t//QColor& col = StyleSet::s_global_style->default_style.fgColor;\r\n\t\t//sptr_t fgLParam = (col.blue() << 16) | (col.green() << 8) | col.red();\r\n\r\n\t\tQColor& col2 = StyleSet::s_global_style->default_style.bgColor;\r\n\t\tsptr_t bklParam = (col2.blue() << 16) | (col2.green() << 8) | col2.red();\r\n\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_TITLE, 0xffbbbb); \r\n\t\tSendScintilla(SCI_STYLESETEOLFILLED, STYLE_COLOUR_TITLE, true);\r\n\t\t//SendScintilla(SCI_STYLESETFORE, STYLE_COLOUR_TITLE, fgLParam);\r\n\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_DEEP_COLOUR_DEST_FILE, bklParam);\r\n\t\tSendScintilla(SCI_STYLESETFORE, STYLE_DEEP_COLOUR_DEST_FILE, 0x99cc99);\r\n\t\t//SendScintilla(SCI_STYLESETFORE, STYLE_DEEP_COLOUR_DEST_FILE, fgLParam);\r\n\t\t//SendScintilla(SCI_STYLESETBOLD, STYLE_DEEP_COLOUR_DEST_FILE, 1);//޷Чqscint bug\r\n\r\n\t\t//ҪһţȻɫɫ\r\n\t\tSendScintilla(SCI_STYLESETSIZE, STYLE_DEEP_COLOUR_DEST_FILE, 14);\r\n\r\n\t\tSendScintilla(SCI_STYLESETFORE, STYLE_DEEP_COLOUR_KEYWORD_HIGH, 0x00aaff);\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_DEEP_COLOUR_KEYWORD_HIGH, bklParam);\r\n\r\n\r\n\t\t//кʹ\r\n\t\tSendScintilla(SCI_STYLESETFORE, STYLE_COLOUR_KEYWORD_HIGH, 0x4080ff);\r\n\t\tSendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_KEYWORD_HIGH, bklParam);\r\n\t}\r\n\r\n\r\n\tthis->setReadOnly(true);\r\n\r\n\tm_resultWin = dynamic_cast<FindResultWin*>(parent);\r\n}\r\n\r\nFindResultView::~FindResultView()\r\n{}\r\n\r\n//бɫ\r\nvoid FindResultView::setLineBackColorStyle(int line, int style)\r\n{\r\n\tint startPos = SendScintilla(SCI_POSITIONFROMLINE, line);\r\n\tint len = SendScintilla(SCI_LINELENGTH, line);\r\n\r\n\tSendScintilla(SCI_STARTSTYLING, startPos);\r\n\tSendScintilla(SCI_SETSTYLING, len, style);\r\n}\r\n\r\n//ǰɫline кţposλÿʼ\r\nvoid FindResultView::setLineColorStyle(int line, int offsetPos, int length, int style)\r\n{\r\n\tint startPos = SendScintilla(SCI_POSITIONFROMLINE, line);\r\n\tSendScintilla(SCI_STARTSTYLING, startPos + offsetPos);\r\n\tSendScintilla(SCI_SETSTYLING, length, style);\r\n}\r\n\r\n\r\nvoid FindResultView::mouseDoubleClickEvent(QMouseEvent* /*e*/)\r\n{\r\n\t//QsciScintilla::mouseDoubleClickEvent(e);\r\n\r\n\tint line = 0;\r\n\tint index = 0;\r\n\r\n\tthis->getCursorPosition(&line,&index);\r\n\r\n\temit lineDoubleClick(line);\r\n}\r\n\r\nvoid FindResultView::contextUserDefineMenuEvent(QMenu* menu)\r\n{\r\n\tif (menu != nullptr)\r\n\t{\r\n\t\t//ƶһλ\r\n\r\n\t\tQAction* pCopy =  menu->findChild<QAction*>(\"copy\");\r\n\t\tif (pCopy != nullptr)\r\n\t\t{\r\n\t\t\tmenu->removeAction(pCopy);\r\n\t\t}\r\n\r\n\t\tmenu->addAction(tr(\"Fold All\"), this, &FindResultView::on_foldAll);\r\n\t\tmenu->addAction(tr(\"Expand All\"), this, &FindResultView::on_expandAll);\r\n\r\n\t\tmenu->addSeparator();\r\n\t\r\n\t\tif (pCopy != nullptr)\r\n\t\t{\r\n\t\t\tmenu->addAction(pCopy);\r\n\t\t}\r\n\t\tmenu->addAction(tr(\"copy select line\"), this, &FindResultView::on_copySelectLine);\r\n\t\tmenu->addAction(tr(\"warp\"), this, &FindResultView::on_warp);\r\n\r\n\t\tmenu->addSeparator();\r\n\r\n\t\tmenu->addAction(tr(\"clear\"), this, &FindResultView::on_clear);\r\n\t\tmenu->addAction(tr(\"close\"), this, &FindResultView::on_close);\r\n\r\n\r\n\t}\r\n\tmenu->move(cursor().pos()); //ò˵ʾλ\r\n\tmenu->show();\r\n}\r\n\r\nvoid FindResultView::on_foldAll()\r\n{\r\n\tfor (int i = 0; i < m_resultWin->m_resultLineInfo.size(); ++i)\r\n\t{\r\n\t\tconst ResultLineInfo& lineInfo = m_resultWin->m_resultLineInfo.at(i);\r\n\r\n\t\t//1Уһ\r\n\t\tif ((lineInfo.level == 1) || (lineInfo.level == 0))\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_FOLDLINE, i, (long)SC_FOLDACTION_CONTRACT);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid FindResultView::on_expandAll()\r\n{\r\n\tfor (int i = 0; i < m_resultWin->m_resultLineInfo.size(); ++i)\r\n\t{\r\n\t\tconst ResultLineInfo& lineInfo = m_resultWin->m_resultLineInfo.at(i);\r\n\r\n\t\t//1Уһ\r\n\t\tif ((lineInfo.level == 1) || (lineInfo.level == 0))\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_FOLDLINE, i, SC_FOLDACTION_EXPAND);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//ѡе\r\n//void FindResultView::on_copySelect()\r\n//{\r\n//\tQString word = selectedText();\r\n//\tif (!word.isEmpty())\r\n//\t{\r\n//\t\tQClipboard* clipboard = QApplication::clipboard();\r\n//\t\tclipboard->setText(word);\r\n//\r\n//\t\tCTipWin::showTips(this, tr(\"Copy to clipboard Finished!\"), 1200,true);\r\n//\t}\r\n//}\r\n\r\n//ѡ\r\nvoid FindResultView::on_copySelectLine()\r\n{\r\n\tint startPos = SendScintilla(SCI_GETSELECTIONSTART);\r\n\tint endPos = SendScintilla(SCI_GETSELECTIONEND);\r\n\r\n\tint startLine = SendScintilla(SCI_LINEFROMPOSITION, startPos);\r\n\tint endLine = SendScintilla(SCI_LINEFROMPOSITION, endPos);\r\n\r\n\tint start = SendScintilla(SCI_POSITIONFROMLINE, startLine);\r\n\tint end = SendScintilla(SCI_POSITIONFROMLINE, endLine+1);\r\n\r\n\tchar *dest = new char[end - start + 1];\r\n\tdest[end - start] = '\\0';\r\n\r\n\tSci_TextRange tr;\r\n\ttr.chrg.cpMin = static_cast<Sci_PositionCR>(start);\r\n\ttr.chrg.cpMax = static_cast<Sci_PositionCR>(end);\r\n\ttr.lpstrText = dest;\r\n\r\n\tthis->SendScintilla(SCI_GETTEXTRANGE, 0, &tr);\r\n\r\n\tQString text(dest);\r\n\r\n\tQStringList lineText = text.split(\"\\n\");\r\n\tQString selectConnect;\r\n\r\n\tfor (int i = 0; i < lineText.size(); ++i)\r\n\t{\r\n\t\tconst QString& t = lineText.at(i);\r\n\t\tint pos = t.indexOf(\": \");\r\n\t\tif (pos != -1)\r\n\t\t{\r\n\t\t\tQString v = t.mid(pos + 2);\r\n\t\t\tselectConnect.append(v);\r\n\t\t\tselectConnect.append(\"\\n\");\r\n\t\t}\r\n\t}\r\n\r\n\tQClipboard* clipboard = QApplication::clipboard();\r\n\tclipboard->setText(selectConnect);\r\n\r\n\t//CTipWin::showTips(this, tr(\"Copy to clipboard Finished!\"), 1200, true);\r\n}\r\n\r\nvoid  FindResultView::on_clear()\r\n{\r\n\tthis->clear();\r\n\tm_resultWin->clear();\r\n}\r\n\r\nvoid  FindResultView::on_close()\r\n{\r\n\tm_resultWin->m_parent->close();\r\n}\r\n\r\nvoid  FindResultView::on_warp()\r\n{\r\n\tif (SC_WRAP_CHAR != wrapMode())\r\n\t{\r\n\t\tthis->setWrapMode(QsciScintilla::WrapCharacter);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tthis->setWrapMode(QsciScintilla::WrapNone);\r\n\t}\r\n}"
  },
  {
    "path": "src/findresultview.h",
    "content": "#pragma once\r\n#include <QWidget>\r\n#include <qsciscintilla.h>\r\n#include <QMouseEvent>\r\n#include <QMenu>\r\n\r\nextern const int MARGIN_VER_LINE;\r\nextern const int STYLE_COLOUR_TITLE;\r\nextern const int STYLE_COLOUR_DEST_FILE;\r\nextern const int STYLE_COLOUR_KEYWORD_HIGH;\r\nextern const int STYLE_COLOUR_KEYWORD_BACK_HIGH;\r\nextern const int STYLE_DEEP_COLOUR_KEYWORD_HIGH;\r\nextern const int STYLE_DEEP_COLOUR_DEST_FILE;\r\n\r\nclass FindResultWin;\r\n\r\nclass FindResultView  : public QsciScintilla\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tFindResultView(QWidget* parent);\r\n\tvirtual ~FindResultView();\r\n\r\n\tvoid setLineBackColorStyle(int line, int style);\r\n\tvoid setLineColorStyle(int line, int pos, int length, int style);\r\n\r\nsignals:\r\n\tvoid lineDoubleClick(int line);\r\n\r\npublic slots:\r\n\tvoid on_foldAll();\r\nprivate slots:\r\n\r\n\tvoid on_expandAll();\r\n\t//void on_copySelect();\r\n\tvoid on_copySelectLine();\r\n\tvoid on_clear();\r\n\tvoid on_close();\r\n\tvoid on_warp();\r\n\r\nprotected:\r\n\tvoid mouseDoubleClickEvent(QMouseEvent* e) override;\r\n\tvoid contextUserDefineMenuEvent(QMenu* menu) override;\r\n\tvoid setFoldColor(int margin, QColor fgClack, QColor bkColor, QColor foreActive);\r\n\r\nprivate:\r\n\tFindResultWin* m_resultWin;\r\n};\r\n"
  },
  {
    "path": "src/findresultwin.cpp",
    "content": "#include \"findresultwin.h\"\r\n#include \"findwin.h\"\r\n#include \"common.h\"\r\n#include \"styleset.h\"\r\n#include \"nddsetting.h\"\r\n#include \"findresultview.h\"\r\n\r\n#include <qsciscintilla.h>\r\n#include <Scintilla.h>\r\n\r\n//#include <QTreeWidgetItem>\r\n//#include <QStyleFactory>\r\n//#include <QToolButton>\r\n//#include <qtreeview.h>\r\n//#include <QStandardItem> \r\n//#include <QStandardItemModel>\r\n#include <QClipboard>\r\n#include <QTextEdit>\r\n#include <qscrollbar.h>\r\n//目前可以高亮，使用富文本进行了高亮设置。但是有个问题：富文本与html有一些冲突，在<>存在时，可能导致乱。这是一个问题。20220609\r\n//使用Html的转义解决了该问题\r\n\r\nFindResultWin::FindResultWin(QWidget *parent)\r\n\t: QWidget(parent), m_menu(nullptr), m_parent(parent),m_defaultFontSize(14), m_defFontSizeChange(false)\r\n{\r\n\tui.setupUi(this);\r\n\tconnect(ui.displayView, &FindResultView::lineDoubleClick, this, &FindResultWin::on_lineDoubleClick);\r\n\t\r\n}\r\n\r\nFindResultWin::~FindResultWin()\r\n{\r\n\tif (m_defFontSizeChange)\r\n\t{\r\n\t\tNddSetting::updataKeyValueFromNumSets(FIND_RESULT_FONT_SIZE, m_defaultFontSize);\r\n\t}\r\n\r\n\tclear();\r\n}\r\n\r\nvoid FindResultWin::clear()\r\n{\r\n\tfor (int i = 0; i < m_resultLineFilePath.size(); ++i)\r\n\t{\r\n\t\tdelete m_resultLineFilePath.at(i);\r\n\t}\r\n\tm_resultLineFilePath.clear();\r\n\tm_resultLineInfo.clear();\r\n}\r\n\r\nvoid FindResultWin::slot_clearAllContents()\r\n{\r\n\tclear();\r\n\tui.displayView->clear();\r\n}\r\n\r\n#if 0 //老的机制，暂时屏蔽，后续可删除\r\n//高亮查找的关键字文本。Index表示是第几次出现，前面的要跳过\r\nvoid FindResultWin::highlightFindText(int index, QString &srcText, QString &findText, Qt::CaseSensitivity cs)\r\n{\r\n#if 0\r\n\tint pos = 0;\r\n\tint findPos = 0;\r\n\r\n\t//先把< > 转义为因为会与原来的html标签冲突。这是一个很厉害的方法，如果不转义，会导致显示丢失\r\n\tsrcText = srcText.toHtmlEscaped();\r\n\tfindText = findText.toHtmlEscaped();\r\n\tint lens = findText.size();\r\n\r\n\twhile (index > 0)\r\n\t{\r\n\t\tpos = srcText.indexOf(findText, findPos, cs);\r\n\t\tif (pos == -1)\r\n\t\t{\r\n\t\t\t//错误，不替换\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tfindPos = pos + lens;\r\n\t\t}\r\n\t\tindex--;\r\n\t}\r\n\tsrcText.replace(pos, lens, QString(\"<font style='font-size:14px;background-color:#ffffbf'>%1</font>\").arg(srcText.mid(pos,lens)));\r\n#endif\r\n}\r\n#endif\r\n\r\nconst int MAX_HEAD_LENTGH = 20;\r\nconst int MAX_TAIL_LENGTH = 80;\r\n\r\n#if 0\r\n//更复杂的高亮：在全词语匹配，大小写敏感，甚至正则表达式情况下，上面的highlightFindText是不够的。需要精确定位\r\nQString FindResultWin::highlightFindText(FindRecord& record)\r\n{\r\n#if 0\r\n\tQByteArray utf8bytes = record.lineContents.toUtf8();\r\n\r\n\tint lineLens = utf8bytes.length();\r\n\r\n\tbool isNeedCut = false;\r\n\r\n\t//行太长的进行缩短显示\r\n\tif (lineLens > 300)\r\n\t{\r\n\t\tisNeedCut = true;\r\n\t}\r\n\r\n\t//高亮的开始、结束位置\r\n\tint targetStart = record.pos - record.lineStartPos;\r\n\tint targetLens = record.end - record.pos;\r\n\tint tailStart = record.end - record.lineStartPos;\r\n\r\n\tQString head; \r\n\tQString src;\r\n\tQString tail;\r\n\tif (!StyleSet::isCurrentDeepStyle())\r\n\t{\r\n\t\tif (!isNeedCut)\r\n\t\t{\r\n\t\t\thead = QString(\"<font style='font-size:14px;'>%1</font>\").arg(QString(utf8bytes.mid(0, targetStart)).toHtmlEscaped());\r\n\t\t\tsrc = QString(\"<font style='font-size:14px;background-color:#ffffbf'>%1</font>\").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped());\r\n\t\t\ttail = QString(\"<font style='font-size:14px;'>%1</font>\").arg(QString(utf8bytes.mid(tailStart)).toHtmlEscaped());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\thead = QString(utf8bytes.mid(0, targetStart));\r\n\t\t\tif (head.size() > MAX_HEAD_LENTGH)\r\n\t\t\t{\r\n\t\t\t\thead = (head.mid(0, MAX_HEAD_LENTGH) + \"...\").toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\thead = head.toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\thead = QString(\"<font style='font-size:14px;'>%1</font>\").arg(head);\r\n\t\t\tsrc = QString(\"<font style='font-size:14px;background-color:#ffffbf'>%1</font>\").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped());\r\n\t\t\ttail = QString(utf8bytes.mid(tailStart));\r\n\t\t\tif (tail > MAX_TAIL_LENGTH)\r\n\t\t\t{\r\n\t\t\t\ttail = (tail.mid(0, MAX_TAIL_LENGTH) + \"...\").toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ttail = tail.toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\ttail = QString(\"<font style='font-size:14px;'>%1</font>\").arg(tail);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (!isNeedCut)\r\n\t\t{\r\n\t\t\thead = QString(\"<font style='font-size:14px;color:#dcdcdc'>%1</font>\").arg(QString(utf8bytes.mid(0, targetStart)).toHtmlEscaped());\r\n\t\t\tsrc = QString(\"<font style='font-size:14px;font-weight:bold;color:#ffaa00'>%1</font>\").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped());\r\n\t\t\ttail = QString(\"<font style='font-size:14px;color:#dcdcdc'>%1</font>\").arg(QString(utf8bytes.mid(tailStart)).toHtmlEscaped());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tQString headContens = QString(utf8bytes.mid(0, targetStart));\r\n\t\t\tif (headContens.size() > MAX_HEAD_LENTGH)\r\n\t\t\t{\r\n\t\t\t\theadContens = (headContens.mid(0, MAX_HEAD_LENTGH) + \"...\").toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\theadContens = headContens.toHtmlEscaped();\r\n\t\t\t}\r\n\r\n\t\t\thead = QString(\"<font style='font-size:14px;color:#dcdcdc'>%1</font>\").arg(headContens);\r\n\t\t\tsrc = QString(\"<font style='font-size:14px;font-weight:bold;color:#ffaa00'>%1</font>\").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped());\r\n\r\n\t\t\tQString tailContens = QString(utf8bytes.mid(tailStart));\r\n\t\t\tif (tailContens > MAX_TAIL_LENGTH)\r\n\t\t\t{\r\n\t\t\t\ttailContens = (tailContens.mid(0, MAX_TAIL_LENGTH) + \"...\").toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ttailContens = tailContens.toHtmlEscaped();\r\n\t\t\t}\r\n\t\t\ttail = QString(\"<font style='font-size:14px;color:#dcdcdc'>%1</font>\").arg(tailContens);\r\n\t\t}\r\n\t}\r\n\r\n\treturn QString(\"%1%2%3\").arg(head).arg(src).arg(tail);\r\n#endif\r\n\treturn \"\";\r\n}\r\n\r\n\r\n//在当前文件查找字段，结果是一个单一的FindRecords\r\nvoid FindResultWin::appendResultsToShow(FindRecords* record)\r\n{\r\n#if 0\r\n\tif (record == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tFindResultView* pDisplay = ui.displayView;\r\n\r\n\tQString findTitle = tr(\"Search \\\"%1\\\" (%2 hits)\\n\").arg(record->findText).arg(record->records.size());\r\n\r\n\t//pDisplay->append(findTitle);\r\n\r\n\tpDisplay->insertAt(findTitle,0,0);\r\n\r\n\tpDisplay->SendScintilla(SCI_SETFOLDLEVEL, 0, (long)(0|SC_FOLDLEVELHEADERFLAG));\r\n\r\n\tQStringList contents;\r\n\r\n\tfor (int i = 0; i < record->records.size(); ++i)\r\n\t{\r\n\t\tFindRecord v = record->records.at(i);\r\n\r\n\t\tconst QString & richText = v.lineContents;\r\n\r\n\t\tQString text;\r\n\t\tif (!StyleSet::isCurrentDeepStyle())\r\n\t\t{\r\n\t\t\ttext = tr(\"Line %1 : %2\\n\").arg(v.lineNum + 1).arg(richText);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\ttext = tr(\"Line %1 : %2\\n\").arg(v.lineNum + 1).arg(richText);\r\n\t\t}\r\n\r\n\t\tcontents.append(text);\r\n\t}\r\n\r\n\tpDisplay->insertAt(contents.join(\"\"), 1, 0);\r\n\r\n\tfor (int i = 0; i < record->records.size(); ++i)\r\n\t{\r\n\t\tpDisplay->SendScintilla(SCI_SETFOLDLEVEL, i+1, 1);\r\n\t}\r\n#endif\r\n\r\n#if 0\r\n\t\r\n\r\n\tQString findTitle;\r\n\r\n\tfindTitle = tr(\"<font style='font-size:14px;font-weight:bold;color:#343497'>Search \\\"%1\\\" (%2 hits)</font>\").arg(record->findText.toHtmlEscaped()).arg(record->records.size());\r\n\r\n\tQStandardItem* titleItem = new QStandardItem(findTitle);\r\n\tsetItemBackground(titleItem, QColor(0xbbbbff));\r\n\t\r\n\r\n\tm_model->insertRow(0, titleItem);\r\n\ttitleItem->setData(QVariant(true), ResultItemRoot);\r\n\r\n\tint rowNum = m_model->rowCount();\r\n\t//把其余的行收起来。把第一行张开\r\n\tfor (int i = 1; i < rowNum; ++i)\r\n\t{\r\n\t\tui.resultTreeView->collapse(m_model->index(i, 0));\r\n\t}\r\n\r\n\tui.resultTreeView->expand(m_model->index(0, 0));\r\n\r\n\tif (record->records.size() == 0)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString desc;\r\n\tif (!StyleSet::isCurrentDeepStyle())\r\n\t{\r\n\t\tdesc = tr(\"<font style='font-size:14px;font-weight:bold;color:#309730'>%1 (%2 hits)</font>\").arg(record->findFilePath.toHtmlEscaped()).arg(record->records.size());\r\n\t}\r\n\telse\r\n\t{\r\n\t\tdesc = tr(\"<font style='font-size:14px;color:#99cc99'>%1 (%2 hits)</font>\").arg(record->findFilePath.toHtmlEscaped()).arg(record->records.size());\r\n\t}\r\n\r\n\tQStandardItem* descItem = new QStandardItem(desc);\r\n\r\n\tif (!StyleSet::isCurrentDeepStyle())\r\n\t{\r\n\tsetItemBackground(descItem, QColor(0xd5ffd5));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tsetItemBackground(descItem, QColor(0x484848));\r\n\t}\r\n\r\n\ttitleItem->appendRow(descItem);\r\n\t\r\n\r\n\tdescItem->setData(QVariant((qlonglong)record->pEdit), ResultItemEditor);\r\n\tdescItem->setData(QVariant(record->findFilePath), ResultItemEditorFilePath);\r\n\tdescItem->setData(QVariant(record->findText), ResultWhatFind);\r\n\t//描述行双击不响应\r\n\tdescItem->setData(QVariant(true), ResultItemDesc);\r\n\r\n\r\n\tfor (int i =0 ; i < record->records.size(); ++i)\r\n\t{\r\n\t\tFindRecord v = record->records.at(i);\r\n\r\n\t\tQString richText = highlightFindText(v);\r\n\r\n\t\tQString text;\r\n\t\tif (!StyleSet::isCurrentDeepStyle())\r\n\t\t{\r\n\t\t\ttext = tr(\"<font style='font-size:14px;'>Line </font><font style='font-size:14px;color:#ff8040'>%1</font> : %2\").arg(v.lineNum + 1).arg(richText);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\ttext = tr(\"<font style='font-size:14px;color:#ffffff'>Line </font><font style='font-size:14px;color:#ff8040'>%1</font> : %2\").arg(v.lineNum + 1).arg(richText);\r\n\t\t}\r\n\t\tQStandardItem* childItem = new QStandardItem(text);\r\n\t\tchildItem->setData(QVariant(v.pos), ResultItemPos);\r\n\t\tchildItem->setData(QVariant(v.end - v.pos), ResultItemLen);\r\n#if defined(Q_OS_MAC)\r\n        childItem->setTextAlignment(Qt::AlignVCenter);\r\n#endif\r\n\t\tdescItem->appendRow(childItem);\r\n\t}\r\n\tif (!record->records.isEmpty())\r\n\t{\r\n\t\tui.resultTreeView->expand(m_model->index(0, 0, m_model->index(0, 0)));\r\n\t}\r\n#endif\r\n}\r\n#endif\r\n\r\nvoid FindResultWin::appendResultsToShow(QVector<FindRecords*>* record, int hits, QString whatFind)\r\n{\r\n\tif (record == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (this->isHidden())\r\n\t{\r\n\t\tthis->setVisible(true);\r\n\t}\r\n\r\n\tResultLineInfo lineInfo;\r\n\r\n\tQString findTitle = tr(\"Search \\\"%1\\\" (%2 hits in %3 files)\\n\").arg(whatFind).arg(hits).arg(record->size());\r\n\r\n\tFindResultView* pDisplay = ui.displayView;\r\n\tpDisplay->on_foldAll();\r\n\r\n\tpDisplay->insertAt(findTitle, 0, 0);\r\n\r\n\tlineInfo.level = 0;\r\n\tm_resultLineInfo.insert(0,lineInfo);\r\n\r\n\tpDisplay->SendScintilla(SCI_SETFOLDLEVEL, 0, (long)(0 | SC_FOLDLEVELHEADERFLAG));\r\n\r\n\tif (record->size() == 0)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQStringList contents;\r\n\r\n\tQList<int> keyworkOffsetPos;\r\n\tQString text;\r\n\tQString linePrefix;\r\n\r\n\r\n\tint insertIndex = 1;\r\n\tfor (int i = 0, count = record->size(); i < count; ++i)\r\n\t{\r\n\t\tFindRecords* pr = record->at(i);\r\n\r\n\t\tQString* pFilePath = new QString(pr->findFilePath);\r\n\t\tQString desc;\r\n\t\tif (!StyleSet::isCurrentDeepStyle())\r\n\t\t{\r\n\t\t\tdesc = tr(\" %1 (%2 hits)\\n\").arg(pr->findFilePath).arg(pr->records.size());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tdesc = tr(\" %1 (%2 hits)\\n\").arg(pr->findFilePath).arg(pr->records.size());\r\n\t\t}\r\n\t\tcontents.append(desc);\r\n\t\tm_resultLineFilePath.append(pFilePath);\r\n\r\n\t\tlineInfo.level = 1;\r\n\t\tm_resultLineInfo.insert(insertIndex, lineInfo);\r\n\t\t++insertIndex;\r\n\r\n\t\tfor (int j = 0; j < pr->records.size(); ++j)\r\n\t\t{\r\n\t\t\tFindRecord  v = pr->records.at(j);\r\n\t\t\tQString richText = v.lineContents;\r\n\r\n\t\t\tlinePrefix = tr(\"    Line %1: \").arg(v.lineNum + 1);\r\n\r\n\t\t\tif (!StyleSet::isCurrentDeepStyle())\r\n\t\t\t{\r\n\t\t\t\ttext = tr(\"%1%2\\n\").arg(linePrefix).arg(richText);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ttext = tr(\"%1%2\\n\").arg(linePrefix).arg(richText);\r\n\t\t\t}\r\n\t\t\tcontents.append(text);\r\n\t\t\tkeyworkOffsetPos.append(linePrefix.toUtf8().size());\r\n\t\t\tlineInfo.level = 2;\r\n\t\t\tlineInfo.resultPos = v.pos;\r\n\t\t\tlineInfo.resultEnd = v.end;\r\n\t\t\tlineInfo.pFilePath = pFilePath;\r\n\t\t\tm_resultLineInfo.insert(insertIndex, lineInfo);\r\n\t\t\t++insertIndex;\r\n\r\n\t\t\tQCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);\r\n\t\t}\r\n\t}\r\n\r\n\tpDisplay->insertAt(contents.join(\"\"), 1, 0);\r\n\t\r\n\tint lineNum = 1;\r\n\r\n\tQList<int> destFileLineNum;\r\n\r\n\tfor (int i = 0, count = record->size(); i < count; ++i)\r\n\t{\r\n\t\tFindRecords* pr = record->at(i);\r\n\r\n\t\tpDisplay->SendScintilla(SCI_SETFOLDLEVEL, lineNum, (long)(1 | SC_FOLDLEVELHEADERFLAG));\r\n\t\tdestFileLineNum.append(lineNum);\r\n\t\t++lineNum;\r\n\r\n\t\tfor (int j = 0; j < pr->records.size(); ++j)\r\n\t\t{\r\n\t\t\tpDisplay->SendScintilla(SCI_SETFOLDLEVEL, lineNum, (long)2| SC_FOLDLEVELBASE);\r\n\r\n\t\t\t++lineNum;\r\n\t\t}\r\n\t}\r\n\r\n\t//着色\r\n\tpDisplay->setLineBackColorStyle(0, STYLE_COLOUR_TITLE);\r\n\r\n\tfor (int i = 0, count = destFileLineNum.size(); i < count; ++i)\r\n\t{\r\n\t\tpDisplay->setLineBackColorStyle(destFileLineNum.at(i), (StyleSet::isCurrentDeepStyle()? STYLE_DEEP_COLOUR_DEST_FILE:STYLE_COLOUR_DEST_FILE));\r\n\t}\r\n\t\r\n\t//关键字高亮\r\n\t//高亮的开始、结束位置\r\n\tint targetStart = 0;\r\n\tint targetLens = 0;\r\n\tlineNum = 1;\r\n\r\n\tint lineOffsetPosIndex = 0;\r\n\tint lineOffsetPos = 0;\r\n\r\n\tQString lineNumStr = tr(\"    Line \");\r\n\tint skipLineNumOffset = lineNumStr.toUtf8().size();\r\n\r\n\tfor (int i = 0, count = record->size(); i < count; ++i)\r\n\t{\r\n\t\tFindRecords* pr = record->at(i);\r\n\t\t++lineNum;\r\n\t\tfor (int j = 0; j < pr->records.size(); ++j)\r\n\t\t{\r\n\t\t\tlineOffsetPos = keyworkOffsetPos.at(lineOffsetPosIndex);\r\n\t\t\tconst FindRecord &v = pr->records.at(j);\r\n\t\t\ttargetStart = v.pos - v.lineStartPos + lineOffsetPos;\r\n\t\t\ttargetLens = v.end - v.pos;\r\n\t\t\tpDisplay->setLineColorStyle(lineNum, skipLineNumOffset, lineOffsetPos-skipLineNumOffset-2, STYLE_COLOUR_KEYWORD_HIGH);\r\n\t\t\tpDisplay->setLineColorStyle(lineNum, targetStart, targetLens, (StyleSet::isCurrentDeepStyle()? STYLE_DEEP_COLOUR_KEYWORD_HIGH:STYLE_COLOUR_KEYWORD_BACK_HIGH));\r\n\t\t\t++lineNum;\r\n\t\t\t++lineOffsetPosIndex;\r\n\t\t}\r\n\t}\r\n\tpDisplay->SendScintilla(SCI_GOTOLINE, 0);\r\n}\r\n\r\n\r\nint FindResultWin::getDefaultFontSize()\r\n{\r\n\treturn m_defaultFontSize;\r\n}\r\n\r\nvoid FindResultWin::setDefaultFontSize(int defSize)\r\n{\r\n\tm_defaultFontSize = defSize;\r\n}\r\n\r\nvoid FindResultWin::on_lineDoubleClick(int lineNum)\r\n{\r\n\tif (lineNum < m_resultLineInfo.size())\r\n\t{\r\n\t\tconst ResultLineInfo& lineInfo = m_resultLineInfo.at(lineNum);\r\n\r\n\t\tif (lineInfo.level == 2)\r\n\t\t{\r\n\t\t\t//文件定位到行\r\n\t\t\temit lineDoubleClicked(lineInfo.pFilePath, lineInfo.resultPos, lineInfo.resultEnd);\r\n\t\t}\r\n\t\telse if ((lineInfo.level == 0) || (lineInfo.level == 1))\r\n\t\t{\r\n\t\t\tui.displayView->SendScintilla(SCI_FOLDLINE, lineNum, SC_FOLDACTION_TOGGLE);\r\n\t\t}\r\n\t}\r\n}"
  },
  {
    "path": "src/findresultwin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include <QContextMenuEvent>\r\n#include <QMenu>\r\n#include \"ui_findresultwin.h\"\r\n\r\nclass FindRecords;\r\nstruct FindRecord;\r\n\r\nstruct ResultLineInfo {\r\n\tint level;//͡0 1 20:title 1 filepath desc 2 result\r\n\tint resultPos;//ֶεĿʼoffset01ûֶεġ\r\n\tint resultEnd;//\r\n\tQString* pFilePath;\r\n};\r\n\r\nclass FindResultWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tfriend class FindResultView;\r\n\tFindResultWin(QWidget *parent = Q_NULLPTR);\r\n\t~FindResultWin();\r\n\r\n\tvoid appendResultsToShow(QVector<FindRecords*>* record, int hits, QString whatFind);\r\n\tint  getDefaultFontSize();\r\n\tvoid setDefaultFontSize(int defSize);\r\n\tvoid clear();\r\nsignals:\r\n\tvoid itemDoubleClicked(const QModelIndex &index);\r\n\tvoid showMsg(QString &msg);\r\n\tvoid lineDoubleClicked(QString* pFilePath, int pos, int end);\r\n\r\nprivate slots:\r\n\tvoid on_lineDoubleClick(int line);\r\npublic slots:\r\n\tvoid slot_clearAllContents();\r\n\r\nprivate:\r\n#if 0\r\n\tvoid setItemBackground(QStandardItem* item, const QColor& color);\r\n\tvoid setItemForeground(QStandardItem * item, const QColor & color);\r\n\r\n\tvoid highlightFindText(int index, QString & srcText, QString & findText, Qt::CaseSensitivity cs);\r\n\tQString highlightFindText(FindRecord& record);\r\n#endif\r\nprivate:\r\n\tUi::FindResultWin ui;\r\n\tQMenu *m_menu;\r\n\tQWidget* m_parent;\r\n\r\n\tQList<ResultLineInfo> m_resultLineInfo;\r\n\tQList<QString*> m_resultLineFilePath;\r\n\r\n\tint m_defaultFontSize;\r\n\tbool m_defFontSizeChange;\r\n};\r\n"
  },
  {
    "path": "src/findresultwin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>FindResultWin</class>\r\n <widget class=\"QWidget\" name=\"FindResultWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>895</width>\r\n    <height>476</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"font\">\r\n   <font>\r\n    <family>Microsoft YaHei</family>\r\n    <pointsize>10</pointsize>\r\n   </font>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>FindResultWin</string>\r\n  </property>\r\n  <property name=\"autoFillBackground\">\r\n   <bool>false</bool>\r\n  </property>\r\n  <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n   <property name=\"leftMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"spacing\">\r\n    <number>0</number>\r\n   </property>\r\n   <item row=\"0\" column=\"0\">\r\n    <widget class=\"FindResultView\" name=\"displayView\">\r\n     <property name=\"frameShape\">\r\n      <enum>QFrame::StyledPanel</enum>\r\n     </property>\r\n     <property name=\"frameShadow\">\r\n      <enum>QFrame::Raised</enum>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <customwidgets>\r\n  <customwidget>\r\n   <class>FindResultView</class>\r\n   <extends>QFrame</extends>\r\n   <header location=\"global\">findresultview.h</header>\r\n   <container>1</container>\r\n  </customwidget>\r\n </customwidgets>\r\n <resources/>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/findwin.cpp",
    "content": "#include \"findwin.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"progresswin.h\"\r\n#include \"doctypelistview.h\"\r\n#include \"filemanager.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"nddsetting.h\"\r\n\r\n#include <QMimeDatabase>\r\n#include <QRadioButton>\r\n#include <QMessageBox>\r\n#include <QFileDialog>\r\n#include <functional>\r\n#include <BoostRegexSearch.h>\r\n#include <QClipboard>\r\n#include <QDebug>\r\n\r\nenum TAB_TYPES {\r\n\tFIND_TYPE=0,\r\n\tRELPACE_TYPE,\r\n\tDIR_FIND_TYPE,\r\n\tMARK_TYPE,\r\n};\r\n\r\nconst int MAX_RECORD_KEY_LENGTH = 20;\r\n\r\nFindWin::FindWin(QWidget *parent):QMainWindow(parent), m_editTabWidget(nullptr), m_isFindFirst(true), m_findHistory(nullptr), \\\r\n\tpEditTemp(nullptr), m_curEditWin(nullptr), m_isStatic(false), m_isReverseFind(false), m_pMainPad(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\t//默认值要与界面初始值一样。\r\n\tm_BackwardDir = false;\r\n\tm_matchWhole = false;\r\n\tm_matchCase = false;\r\n\tm_matchWrap = true;\r\n\tm_extend = false;\r\n\tm_searchMode = 1;\r\n\r\n\tm_re = false;\r\n\tm_cs = false;\r\n\tm_wo = false;\r\n\tm_wrap = true;\r\n\tm_forward = true;;//是否向前查找。注意如果向后，要为false\r\n\tm_extend = false;\r\n\tm_isFound = false;\r\n\r\n\r\n\tconnect(ui.findModeRegularBt, &QRadioButton::toggled, this, &FindWin::slot_findModeRegularBtChange);\r\n\tconnect(ui.replaceModeRegularBt, &QRadioButton::toggled, this, &FindWin::slot_replaceModeRegularBtChange);\r\n\tconnect(ui.dealFileType, &QCheckBox::stateChanged, this,&FindWin::slot_dealFileTypeChange);\r\n\tconnect(ui.skipDir, &QCheckBox::stateChanged, this, &FindWin::slot_skipDirChange);\r\n\tconnect(ui.clearBt, &QAbstractButton::clicked, this, &FindWin::sign_clearResult);\r\n\tconnect(ui.findClearBt, &QAbstractButton::clicked, this, &FindWin::sign_clearResult);\r\n\tconnect(ui.findinfilesTab, &QTabWidget::currentChanged, this, &FindWin::slot_tabIndexChange);\r\n\r\n\r\n#if 0 //这样是无效的，记住一下，不删除，避免后面再做无用功\r\n\tQt::WindowFlags m_flags = windowFlags();\r\n\t//这样使得窗口在上面，不至于总是到后面被挡住。\r\n#if defined (Q_MAC_OS)\r\n    setWindowFlags(m_flags | Qt::WindowStaysOnTopHint);\r\n#endif\r\n#endif\r\n\traise();\r\n\tsetFocusPolicy(Qt::StrongFocus);\r\n\tsetFocus();\r\n\r\n\tui.findinfilesTab->setAttribute(Qt::WA_StyledBackground);\r\n\r\n\tui.findComboBox->installEventFilter(this);\r\n}\r\n\r\nFindWin::~FindWin()\r\n{\r\n\tm_findHistory = nullptr;\r\n\tif (pEditTemp != nullptr)\r\n\t{\r\n\t\tdelete pEditTemp;\r\n\t\tpEditTemp = nullptr;\r\n\t}\r\n}\r\n\r\nvoid FindWin::slot_tabIndexChange(int index)\r\n{\r\n\tTAB_TYPES type = (TAB_TYPES)index;\r\n\r\n\tif (RELPACE_TYPE == type)\r\n\t{\r\n\t\tui.replaceTextBox->setFocus();\r\n\t\tui.replaceTextBox->lineEdit()->selectAll();\r\n\r\n\t\tif (ui.replaceTextBox->currentText().isEmpty() && !ui.findComboBox->currentText().isEmpty())\r\n\t\t{\r\n\t\t\tif (ui.findComboBox->currentText().size() < MAX_RECORD_KEY_LENGTH)\r\n\t\t\t{\r\n\t\t\t\tui.replaceTextBox->setCurrentText(ui.findComboBox->currentText());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse if(FIND_TYPE == type)\r\n\t{\r\n\t\tui.findComboBox->setFocus();\r\n\t\tui.findComboBox->lineEdit()->selectAll();\r\n\r\n\t\tif (ui.findComboBox->currentText().isEmpty() && !ui.replaceTextBox->currentText().isEmpty())\r\n\t\t{\r\n\t\t\tif (ui.replaceTextBox->currentText().size() < MAX_RECORD_KEY_LENGTH)\r\n\t\t\t{\r\n\t\t\t\tui.findComboBox->setCurrentText(ui.replaceTextBox->currentText());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse if (DIR_FIND_TYPE == type)\r\n\t{\r\n\t\tui.dirFindWhat->setFocus();\r\n\t\tui.dirFindWhat->lineEdit()->selectAll();\r\n\t}\r\n\telse if (MARK_TYPE == type)\r\n\t{\r\n\t\tui.markTextBox->setFocus();\r\n\t\tui.markTextBox->lineEdit()->selectAll();\r\n\t}\r\n\r\n\tm_isFindFirst = true;\r\n\r\n\tif (m_findHistory->isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\t\t}\r\n\r\nvoid FindWin::slot_dealFileTypeChange(int state)\r\n{\r\n\tif (state == Qt::Checked)\r\n\t{\r\n\t\tui.fileType->setEnabled(true);\r\n\r\n\t\tif (ui.fileType->text().isEmpty())\r\n\t\t{\r\n\t\t\tui.fileType->setText(ui.fileType->placeholderText());\r\n\t\t}\r\n\t\tui.fileType->setFocus();\r\n\t\tui.fileType->selectAll();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.fileType->setEnabled(false);\r\n\t}\r\n}\r\n\r\nvoid FindWin::slot_skipDirChange(int state)\r\n{\r\n\tif (state == Qt::Checked)\r\n\t{\r\n\t\tui.skipDirNames->setEnabled(true);\r\n\r\n\t\tif (ui.skipDirNames->text().isEmpty())\r\n\t\t{\r\n\t\t\tui.skipDirNames->setText(ui.skipDirNames->placeholderText());\r\n\t\t}\r\n\t\tui.skipDirNames->setFocus();\r\n\t\tui.skipDirNames->selectAll();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.skipDirNames->setEnabled(false);\r\n\t}\r\n}\r\n\r\n//自动调整当前窗口的状态，如果发生了变化，则需要认定为是首次查找\r\nQWidget* FindWin::autoAdjustCurrentEditWin()\r\n{\r\n\tQWidget* pw = m_editTabWidget->currentWidget();\r\n\r\n\tif (m_curEditWin != pw)\r\n\t{\r\n\t\tm_curEditWin = pw;\r\n\t\tm_isFindFirst = true;\r\n\t}\r\n\treturn pw;\r\n}\r\n\r\n\r\nvoid FindWin::setCurrentTab(FindTabIndex index)\r\n{\r\n\tui.findinfilesTab->setCurrentIndex(index);\r\n\tif (FIND_TAB == index)\r\n\t{\r\n\t\tui.findComboBox->setFocus();\r\n\t\tui.findComboBox->lineEdit()->selectAll();\r\n\t}\r\n\telse if(REPLACE_TAB == index)\r\n\t{\r\n\t\tui.replaceTextBox->setFocus();\r\n\t\tui.replaceTextBox->lineEdit()->selectAll();\r\n\t}\r\n\r\n    raise();\r\n}\r\n\r\nvoid FindWin::setTabWidget(QTabWidget *editTabWidget)\r\n{\r\n\tm_editTabWidget = editTabWidget;\r\n}\r\n\r\nvoid FindWin::setFindText(QString &text)\r\n{\r\n\tui.findComboBox->setEditText(text);\r\n\taddFindHistory(text);\r\n}\r\n\r\nvoid FindWin::keywordWinGetFouse(FindTabIndex tabIndex)\r\n{\r\n\tswitch (tabIndex)\r\n\t{\r\n\tcase FIND_TAB:\r\n\t\tthis->setFocus();\r\n\t\tui.findComboBox->setFocus();\r\n\t\tui.findComboBox->lineEdit()->selectAll();\r\n\t\tbreak;\r\n\tcase REPLACE_TAB:\r\n\t\tui.replaceTextBox->setFocus();\r\n\t\tui.replaceTextBox->lineEdit()->selectAll();\r\n\t\tbreak;\r\n\tcase DIR_FIND_TAB:\r\n\t\tui.dirFindWhat->setFocus();\r\n\t\tui.dirFindWhat->lineEdit()->selectAll();\r\n\t\tbreak;\r\n\tcase MARK_TAB:\r\n\t\tui.markTextBox->setFocus();\r\n\t\tui.markTextBox->lineEdit()->selectAll();\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n}\r\n\r\nvoid FindWin::setReplaceFindText(QString& text)\r\n{\r\n\tui.replaceTextBox->setEditText(text);\r\n\taddFindHistory(text);\r\n}\r\n\r\nvoid FindWin::setDirFindText(QString& text)\r\n{\r\n\tui.dirFindWhat->setEditText(text);\r\n\taddFindHistory(text);\r\n}\r\n\r\nvoid FindWin::setMarkFindText(QString& text)\r\n{\r\n\tui.markTextBox->setEditText(text);\r\n\taddFindHistory(text);\r\n}\r\n\r\n\r\nvoid FindWin::disableReplace()\r\n{\r\n\tui.tab_replace->setEnabled(false);\r\n}\r\n\r\nvoid FindWin::setFindHistory(QList<QString>* findHistory)\r\n{\r\n\tm_findHistory = findHistory;\r\n\r\n\tif ((m_findHistory != nullptr) && !m_findHistory->isEmpty())\r\n\t{\r\n\t\tui.findComboBox->addItems(*m_findHistory);\r\n\t\tui.replaceTextBox->addItems(*m_findHistory);\r\n\t\tui.dirFindWhat->addItems(*m_findHistory);\r\n\t\tui.markTextBox->addItems(*m_findHistory);\r\n\t\tui.findComboBox->clearEditText();\r\n\t\tui.replaceTextBox->clearEditText();\r\n\t\tui.dirFindWhat->clearEditText();\r\n\t\tui.markTextBox->clearEditText();\r\n\t}\r\n}\r\n\r\nvoid FindWin::setReplaceHistory(QList<QString>* replaceHistory)\r\n{\r\n\tm_replaceHistory = replaceHistory;\r\n\r\n\tif ((m_replaceHistory != nullptr) && !m_replaceHistory->isEmpty())\r\n\t{\r\n\t\tui.replaceWithBox->addItems(*m_replaceHistory);\r\n\t\tui.replaceWithBox->clearEditText();\r\n\t\tui.dirReplaceWhat->addItems(*m_replaceHistory);\r\n\t\tui.dirReplaceWhat->clearEditText();\r\n\t\t\r\n\t}\r\n}\r\n\r\n//标记高亮所有word单词\r\nint FindWin::markAllWord(QString & word)\r\n{\r\n\tui.markTextBox->setCurrentText(word);\r\n\tui.findinfilesTab->setCurrentIndex(3);\r\n\t//发现中文在全词匹配下面不能匹配到单词。最好是英文全词匹配，中文不需要\r\n\t//但是好像没有一个现成的方法来判断word中的字符。暂时不做全词匹配\r\n\tui.markMatchWholeBox->setChecked(false);\r\n\tui.markMatchCaseBox->setChecked(true);\r\n\treturn markAll();\r\n}\r\n\r\n//删除行首尾的空白字符\r\nvoid FindWin::removeLineHeadEndBlank(int mode)\r\n{\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tui.findinfilesTab->setCurrentIndex(1);\r\n\r\n\t\tif (mode == 1)\r\n\t\t{\r\n\t\t\tui.replaceTextBox->setCurrentText(\"^[\t ]+\");\r\n\t\t}\r\n\t\telse if (mode == 2)\r\n\t\t{\r\n\t\t\tui.replaceTextBox->setCurrentText(\"[\t ]+$\");\r\n\t\t}\r\n\t\tui.replaceWithBox->setEditText(\"\");\r\n\t\t\r\n\t\tui.replaceModeRegularBt->setChecked(true);\r\n\r\n\t\tm_isStatic = true;\r\n\r\n\t\tslot_replaceAll();\r\n\r\n\t\tm_isStatic = false;\r\n\t}\r\n}\r\n\r\nvoid FindWin::focusInEvent(QFocusEvent * ev)\r\n{\r\n\tQWidget::focusInEvent(ev);\r\n\tsetWindowOpacity(1.0);\r\n}\r\n\r\nvoid FindWin::focusOutEvent(QFocusEvent * ev)\r\n{\r\n\tQWidget::focusOutEvent(ev);\r\n\r\n\tif (this->isActiveWindow())\r\n\t{\r\n\t\t//当前还是活动窗口，不设置透明\r\n\t\treturn;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tsetWindowOpacity(0.6);\r\n        //static int i = 0;\r\n        //qDebug() << ++i;\r\n\t}\r\n\r\n}\r\n\r\n\r\nbool FindWin::eventFilter(QObject* watched, QEvent *event)\r\n{\r\n\tif (watched == ui.findComboBox)\r\n\t{\r\n\t\tif (event->type() == QEvent::KeyPress)\r\n\t\t{\r\n\t\t\tQKeyEvent *ke = static_cast<QKeyEvent*>(event);\r\n\t\t\tif (ke->key() == Qt::Key_Enter || ke->key() == Qt::Key_Return)\r\n\t\t\t{\r\n\t\t\t\temit ui.findTextNext->click();\r\n\t\t\t\treturn true;        //该事件已经被处理\r\n\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse\r\n\t{\r\n\t\t\treturn false;   \r\n\t}\r\n\t}\r\n\r\n\treturn QWidget::eventFilter(watched, event);     // 最后将事件交给上层对话框\r\n}\r\n\r\n\r\n//从ui读取参数配置到成员变量\r\nvoid FindWin::updateParameterFromUI()\r\n{\r\n\tbool extend = false;\r\n\r\n\tif (ui.findinfilesTab->currentIndex() == 0)\r\n\t{\r\n\t\tint searchMode = 0;\r\n\r\n\t\tif (ui.findModeNormalBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.findModeRegularBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 2;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.findModeExtendBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = true;\r\n\t\t}\r\n\r\n\t\tif (m_searchMode != searchMode)\r\n\t\t{\r\n\t\t\tm_searchMode = searchMode;\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_expr != ui.findComboBox->currentText())\r\n\t\t{\r\n\t\t\tm_expr = ui.findComboBox->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_BackwardDir != ui.findBackwardBox->isChecked())\r\n\t\t{\r\n\t\t\tm_BackwardDir = ui.findBackwardBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchWhole != ui.findMatchWholeBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWhole = ui.findMatchWholeBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchCase != ui.findMatchCaseBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchCase = ui.findMatchCaseBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchWrap != ui.findWrapBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWrap = ui.findWrapBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\t}\r\n\telse if (ui.findinfilesTab->currentIndex() == 1)\r\n\t{\r\n\t\tint searchMode = 0;\r\n\r\n\t\tif (ui.replaceModeNormalBox->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.replaceModeRegularBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 2;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.replaceModeExtendBox->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = true;\r\n\t\t}\r\n\r\n\t\tif (m_searchMode != searchMode)\r\n\t\t{\r\n\t\t\tm_searchMode = searchMode;\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_expr != ui.replaceTextBox->currentText())\r\n\t\t{\r\n\t\t\tm_expr = ui.replaceTextBox->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_replaceWithText != ui.replaceWithBox->currentText())\r\n\t\t{\r\n\t\t\tm_replaceWithText = ui.replaceWithBox->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_BackwardDir != ui.replaceBackwardBox->isChecked())\r\n\t\t{\r\n\t\t\tm_BackwardDir = ui.replaceBackwardBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchWhole != ui.replaceMatchWholeBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWhole = ui.replaceMatchWholeBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchCase != ui.replaceMatchCaseBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchCase = ui.replaceMatchCaseBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchWrap != ui.replaceWrapBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWrap = ui.replaceWrapBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\t}\r\n\telse if (ui.findinfilesTab->currentIndex() == 2)\r\n\t{\r\n\t\tint searchMode = 0;\r\n\r\n\t\tif (ui.dirFindModeNormalBox->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.dirFindModeRegularBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 2;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.dirFindModeExtendBox->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = true;\r\n\t\t}\r\n\r\n\t\tif (m_searchMode != searchMode)\r\n\t\t{\r\n\t\t\tm_searchMode = searchMode;\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_expr != ui.dirFindWhat->currentText())\r\n\t\t{\r\n\t\t\tm_expr = ui.dirFindWhat->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_replaceWithText != ui.dirReplaceWhat->currentText())\r\n\t\t{\r\n\t\t\tm_replaceWithText = ui.dirReplaceWhat->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tm_BackwardDir = false;\r\n\r\n\t\tif (m_matchWhole != ui.dirFindMatchWholeBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWhole = ui.dirFindMatchWholeBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchCase != ui.dirFindMatchCaseBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchCase = ui.dirFindMatchCaseBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tm_matchWrap = true;\r\n\t}\r\n\telse if (ui.findinfilesTab->currentIndex() == 3)\r\n\t{\r\n\t\tint searchMode = 0;\r\n\r\n\t\tif (ui.markModeNormalBox->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.markModeRegularBt->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 2;\r\n\t\t\textend = false;\r\n\t\t}\r\n\t\telse if (ui.markModeExtendBox->isChecked())\r\n\t\t{\r\n\t\t\tsearchMode = 1;\r\n\t\t\textend = true;\r\n\t\t}\r\n\r\n\t\tif (m_searchMode != searchMode)\r\n\t\t{\r\n\t\t\tm_searchMode = searchMode;\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_expr != ui.markTextBox->currentText())\r\n\t\t{\r\n\t\t\tm_expr = ui.markTextBox->currentText();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tm_BackwardDir = false;\r\n\r\n\t\tif (m_matchWhole != ui.markMatchWholeBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchWhole = ui.markMatchWholeBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tif (m_matchCase != ui.markMatchCaseBox->isChecked())\r\n\t\t{\r\n\t\t\tm_matchCase = ui.markMatchCaseBox->isChecked();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t}\r\n\r\n\t\tm_matchWrap = true;\r\n\t}\r\n\r\n\tm_re = ((m_searchMode == 2) ? true : false);\r\n\r\n\tif (m_cs != m_matchCase)\r\n\t{\r\n\t\tm_cs = m_matchCase;\r\n\t}\r\n\r\n\tif (m_wo != m_matchWhole)\r\n\t{\r\n\t\tm_wo = m_matchWhole;\r\n\t}\r\n\r\n\tif (m_wrap != m_matchWrap)\r\n\t{\r\n\t\tm_wrap = m_matchWrap;\r\n\t}\r\n\r\n\tif (m_extend != extend)\r\n\t{\r\n\t\tm_extend = extend;\r\n\t\tm_isFindFirst = true;\r\n\t}\r\n\r\n\t//本来的m_BackwardDir只控制是否勾选反向\r\n\tm_forward = !m_BackwardDir;\r\n\r\n\t//m_isReverseFind 控制是否还需要反向一直，只在查找前一个生效,只影响查找界面\r\n\tif (ui.findinfilesTab->currentIndex() == 0)\r\n\t{\r\n\tm_forward = (m_isReverseFind ? !m_forward : m_forward);\r\n\t}\r\n}\r\n\r\n#if 0\r\n//开始做了历史记录重复删除的，后面发现时序有问题，暂时不做\r\nvoid findItemAndRemove(QComboBox* pCombox, QString& text)\r\n{\r\n\tint index = pCombox->findText(text);\r\n\tif (index != -1)\r\n\t{\r\n\t\tpCombox->removeItem(index);\r\n\t}\r\n}\r\n#endif\r\n\r\nvoid FindWin::addFindHistory(QString &text)\r\n{\r\n\t//太长会导致看起来很杂乱，也不记录\r\n\tif (text.isEmpty() || text.size() >= MAX_RECORD_KEY_LENGTH)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (m_findHistory != nullptr)\r\n\t{\r\n\t\tint index = m_findHistory->indexOf(text,0);\r\n\t\t//已经是最上面一个了，直接返回\r\n\t\tif (0 == index)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//没有直接添加到最前面。不做查找删除重复，一是慢，而是删除会引起信号逻辑时许有误\r\n\t\tif (-1 == index)\r\n\t\t{\r\n\t\t\tm_findHistory->push_front(text);\r\n\t\t\tui.findComboBox->insertItem(0, text);\r\n\t\t\tui.replaceTextBox->insertItem(0, text);\r\n\t\t\tui.dirFindWhat->insertItem(0, text);\r\n\t\t\tui.markTextBox->insertItem(0, text);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//有了怎么办，删除旧的，加新的\r\n\t\t\tm_findHistory->removeAt(index);\r\n\t\t\tm_findHistory->push_front(text); \r\n\t\r\n\t\t\t//发现不能只删除旧的，有bug，一旦删除后，查找框乱了，被切换到下一个。\r\n\t\t\tui.findComboBox->removeItem(index);\r\n\t\t\tui.replaceTextBox->removeItem(index);\r\n\t\t\tui.dirFindWhat->removeItem(index);\r\n\t\t\tui.markTextBox->removeItem(index);\r\n\t\r\n\t\t\tui.findComboBox->insertItem(0, text);\r\n\t\t\tui.replaceTextBox->insertItem(0, text);\r\n\t\t\tui.dirFindWhat->insertItem(0, text);\r\n\t\t\tui.markTextBox->insertItem(0, text);\r\n\r\n\t\t\t//发现不能只删除旧的，有bug，一旦删除后，查找框乱了，被切换到下一个。\r\n\t\t\t//必须重新设置一下，否则查找框里面字段乱跳到下一个去了\r\n\t\t\tui.findComboBox->setCurrentIndex(0);\r\n\t\t\tui.replaceTextBox->setCurrentIndex(0);\r\n\t\t\tui.dirFindWhat->setCurrentIndex(0);\r\n\t\t\tui.markTextBox->setCurrentIndex(0);\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\tif (m_findHistory->size() >= 15)\r\n\t\t{\r\n\t\t\tm_findHistory->takeLast();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid FindWin::addReplaceHistory(QString& text)\r\n{\r\n\t//太长会导致看起来很杂乱，也不记录\r\n\tif (text.isEmpty() || text.size() >= MAX_RECORD_KEY_LENGTH)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (m_replaceHistory != nullptr)\r\n\t{\r\n\t\tint index = m_replaceHistory->indexOf(text, 0);\r\n\t\t//已经是最上面一个了，直接返回\r\n\t\tif (0 == index)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//没有直接添加到最前面。不做查找删除重复，一是慢，而是删除会引起信号逻辑时序有误\r\n\t\tif (-1 == index)\r\n\t\t{\r\n\t\t\tm_replaceHistory->push_front(text);\r\n\t\t\tui.replaceWithBox->insertItem(0, text); \r\n\t\t\tui.dirReplaceWhat->insertItem(0, text);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//有了怎么办，删除旧的，加新的\r\n\t\t\tm_replaceHistory->removeAt(index);\r\n\t\t\tm_replaceHistory->push_front(text);\r\n\r\n\t\t\t//发现不能只删除旧的，有bug，一旦删除后，查找框乱了，被切换到下一个。\r\n\t\t\tui.replaceWithBox->removeItem(index);\r\n\t\t\tui.dirReplaceWhat->removeItem(index);\r\n\t\t\tui.replaceWithBox->insertItem(0, text);\r\n\t\t\tui.dirReplaceWhat->insertItem(0, text);\r\n\t\t\t//发现不能只删除旧的，有bug，一旦删除后，查找框乱了，被切换到下一个。\r\n\t\t\t//必须重新设置一下，否则查找框里面字段乱跳到下一个去了\r\n\t\t\tui.replaceWithBox->setCurrentIndex(0);\r\n\t\t\tui.dirReplaceWhat->setCurrentIndex(0);\r\n\t\t}\r\n\r\n\r\n\r\n\t\tif (m_replaceHistory->size() >= 15)\r\n\t\t{\r\n\t\t\tm_replaceHistory->takeLast();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//检查是否是第一次查找，凡是参数变化了，则认定为是第一次查找。\r\n//因为查找分firstFirst和firstNext，则是qscint特性决定的。所以正确识别第一次查找是必要的\r\nbool FindWin::isFirstFind()\r\n{\r\n\treturn m_isFindFirst;\r\n}\r\n\r\n//const QChar *constData() const\r\n\r\nbool readBase(const QChar * str, int * value, int base, int size)\r\n{\r\n\tint i = 0, temp = 0;\r\n\t*value = 0;\r\n\tQChar max = QChar(QChar('0').digitValue() + base - 1);\r\n\tQChar current;\r\n\twhile (i < size)\r\n\t{\r\n\t\tcurrent = str[i];\r\n\t\tif (current >= 'A')\r\n\t\t{\r\n\t\t\tcurrent = current.digitValue() & 0xdf;\r\n\t\t\tcurrent = current.digitValue() - ('A' - '0' - 10);\r\n\t\t}\r\n\t\telse if (current > '9')\r\n\t\t\treturn false;\r\n\r\n\t\tif (current >= '0' && current <= max)\r\n\t\t{\r\n\t\t\ttemp *= base;\r\n\t\t\ttemp += (current.digitValue() - '0');\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t++i;\r\n\t}\r\n\t*value = temp;\r\n\treturn true;\r\n}\r\n\r\n\r\nint convertExtendedToString(QString& query, QString &result)\r\n{\t//query may equal to result, since it always gets smaller\r\n\tint i = 0, j = 0;\r\n\r\n\tint length = query.length();\r\n\tint charLeft = length;\r\n\tQChar current;\r\n\twhile (i < length)\r\n\t{\t//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\r\n\t\tcurrent = query.at(i);\r\n\t\t--charLeft;\r\n\t\tif (current == '\\\\' && charLeft)\r\n\t\t{\t//possible escape sequence\r\n\t\t\t++i;\r\n\t\t\t--charLeft;\r\n\t\t\tcurrent = query.at(i);\r\n\t\t\tswitch (current.toLatin1())\r\n\t\t\t{\r\n\t\t\tcase 'r':\r\n\t\t\t\tresult[j] = '\\r';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'n':\r\n\t\t\t\tresult[j] = '\\n';\r\n\t\t\t\tbreak;\r\n\t\t\tcase '0':\r\n\t\t\t\tresult[j] = '\\0';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 't':\r\n\t\t\t\tresult[j] = '\\t';\r\n\t\t\t\tbreak;\r\n\t\t\tcase '\\\\':\r\n\t\t\t\tresult[j] = '\\\\';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'b':\r\n\t\t\tcase 'd':\r\n\t\t\tcase 'o':\r\n\t\t\tcase 'x':\r\n\t\t\tcase 'u':\r\n\t\t\t{\r\n\t\t\t\tint size = 0, base = 0;\r\n\t\t\t\tif (current == 'b')\r\n\t\t\t\t{\t//11111111\r\n\t\t\t\t\tsize = 8, base = 2;\r\n\t\t\t\t}\r\n\t\t\t\telse if (current == 'o')\r\n\t\t\t\t{\t//377\r\n\t\t\t\t\tsize = 3, base = 8;\r\n\t\t\t\t}\r\n\t\t\t\telse if (current == 'd')\r\n\t\t\t\t{\t//255\r\n\t\t\t\t\tsize = 3, base = 10;\r\n\t\t\t\t}\r\n\t\t\t\telse if (current == 'x')\r\n\t\t\t\t{\t//0xFF\r\n\t\t\t\t\tsize = 2, base = 16;\r\n\t\t\t\t}\r\n\t\t\t\telse if (current == 'u')\r\n\t\t\t\t{\t//0xCDCD\r\n\t\t\t\t\tsize = 4, base = 16;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (charLeft >= size)\r\n\t\t\t\t{\r\n\t\t\t\t\tint res = 0;\r\n\t\t\t\t\tif (readBase(query.constData() + (i + 1), &res, base, size))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tresult[j] = QChar(res);\r\n\t\t\t\t\t\ti += size;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//not enough chars to make parameter, use default method as fallback\r\n\t\t\t}\r\n\r\n\t\t\tdefault:\r\n\t\t\t{\t//unknown sequence, treat as regular text\r\n\t\t\t\tresult[j] = '\\\\';\r\n\t\t\t\t++j;\r\n\t\t\t\tresult[j] = current;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tresult[j] = query[i];\r\n\t\t}\r\n\t\t++i;\r\n\t\t++j;\r\n\t}\r\n\treturn j;\r\n}\r\n\r\nvoid FindWin::showCallTip(QsciScintilla* pEdit, int pos)\r\n{\r\n\tQString zeroString(tr(\"find-regex-zero-length-match\"));\r\n\tQByteArray bytes = zeroString.toUtf8();\r\n\tbytes.append('\\0');\r\n\r\n\t/*int size = bytes.size();\r\n\tchar* newStr = new char[size + 1];\r\n\tmemcpy(newStr, bytes.data(), size);\r\n\tnewStr[bytes.size()] = '\\0';*/\r\n\r\n\tpEdit->SendScintilla(SCI_CALLTIPSHOW, pos, (void*)(bytes.data()));\r\n\t/*delete[]newStr;*/\r\n}\r\n\r\n//删除空白行\r\nvoid FindWin::removeEmptyLine(bool isBlankContained)\r\n{\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tui.findinfilesTab->setCurrentIndex(1);\r\n\r\n\t\tif (isBlankContained)\r\n\t\t{\r\n\t\t\tui.replaceTextBox->setCurrentText(\"^[\\\\t ]*$(\\\\r\\\\n|\\\\r|\\\\n)\");\r\n\t\t}\r\n\t\telse \r\n\t\t{\r\n\t\t\tui.replaceTextBox->setCurrentText(\"^$(\\\\r\\\\n|\\\\r|\\\\n)\");\r\n\t\t}\r\n\t\tui.replaceWithBox->setEditText(\"\");\r\n\r\n\t\tui.replaceModeRegularBt->setChecked(true);\r\n\r\n\t\tm_isStatic = true;\r\n\r\n\t\tslot_replaceAll();\r\n\r\n\t\tm_isStatic = false;\r\n\t}\r\n}\r\n\r\nvoid FindWin::findNext()\r\n{\r\n\tslot_findNext();\r\n}\r\n\r\nvoid FindWin::findPrev()\r\n{\r\n\tslot_findPrev();\r\n\t}\r\n\r\n/*处理查找时零长的问题。一定要处理，否则会死循环，因为每次都在原地查找。\r\n* 就是把下次查找的startpos往前一个，否则每次都从这个startpos找到自己\r\n*/\r\nvoid FindWin::dealWithZeroFound(QsciScintilla* pEdit)\r\n{\r\n\tFindState& state = pEdit->getLastFindState();\r\n\r\n\tif (state.targstart == state.targend)\r\n\t{\r\n\t\t//强行加1，否则每次查找总是在同一个地方。\r\n\t\tstate.startpos++;\r\n\t}\r\n}\r\n\r\n//调整光标变化后，查找位置需要调整的情况\r\nvoid FindWin::adjustSearchStartPosChange(QsciScintilla* pEdit)\r\n{\r\n\tint caretPos = pEdit->SendScintilla(SCI_GETCURRENTPOS);\r\n\tFindState& state = pEdit->getLastFindState();\r\n\r\n\tif (state.targend != caretPos)\r\n\t{\r\n\t\tstate.startpos = caretPos;\r\n\t}\r\n}\r\n\r\n/*处理查找时零长的问题。一定要处理，否则会死循环，因为每次都在原地查找。\r\n* 就是把下次查找的startpos往前一个，否则每次都从这个startpos找到自己\r\n* 和dealWithZeroFound是一样的，就是要显示消息而已\r\n*/\r\nvoid FindWin::dealWithZeroFoundShowTip(QsciScintilla* pEdit, bool isShowTip)\r\n{\r\n\tif (!isShowTip)\r\n\t{\r\n\t\treturn dealWithZeroFound(pEdit);\r\n\t}\r\n\r\n\tFindState& state = pEdit->getLastFindState();\r\n\r\n\t//int linpos = pEdit->SendScintilla(SCI_POSITIONFROMLINE, state.linenum);\r\n\tint line = 0;\r\n\tint indexStart = 0;\r\n\tint indexEnd = 0;\r\n\r\n\tpEdit->lineIndexFromPosition(state.targstart, &line, &indexStart);\r\n\tpEdit->lineIndexFromPosition(state.targend, &line, &indexEnd);\r\n\r\n\tui.statusbar->showMessage(tr(\"target info linenum %1 pos is %2 - %3\").arg(state.linenum + 1).arg(indexStart).arg(indexEnd), 8000);\r\n\r\n\tif (state.targstart == state.targend)\r\n\t{\r\n\t\t//强行加1，否则每次查找总是在同一个地方。\r\n\t\t//这里有个问题，如果是反向查找，则应该是pos减去1才对。\r\n\t\t//不过只有在正则查找才会出现零长，而正则查找时我们不允许反向查找。反向是回调的。\r\n\t\tstate.startpos++;\r\n\t\tshowCallTip(pEdit, state.targstart);\r\n\t}\r\n}\r\n\r\nvoid FindWin::dofindNext()\r\n{\r\n\tif (ui.findComboBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tupdateParameterFromUI();\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tQsciScintilla* pEdit = dynamic_cast<QsciScintilla*>(pw);\r\n\r\n\t//第一次查找\r\n\tif (isFirstFind())\r\n\t{\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tQString whatFind = ui.findComboBox->currentText();\r\n\r\n\t\t\taddFindHistory(whatFind);\r\n\r\n\t\t\tif (m_extend)\r\n\t\t\t{\r\n\t\t\t\tQString extendFind;\r\n\t\t\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\t\t\twhatFind = extendFind;\r\n\t\t\t}\r\n\r\n\t\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, m_wrap, m_forward, FINDNEXTTYPE_FINDNEXT, -1, -1, true, false, false))\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"cant't find text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t\tm_isFindFirst = true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tm_isFindFirst = false;\r\n\t\t\t\tdealWithZeroFoundShowTip(pEdit);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//查找下一个\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tadjustSearchStartPosChange(pEdit);\r\n\r\n\t\t\tif (!pEdit->findNext())\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"no more find text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t\tm_isFindFirst = true;\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tdealWithZeroFoundShowTip(pEdit);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//一旦修改条件发生变化，则认定为第一次查找\r\nvoid FindWin::slot_findNext()\r\n{\r\n\tif (m_isReverseFind)\r\n\t{\r\n\t\tm_isReverseFind = false;\r\n\t\tm_isFindFirst = true;\r\n\t}\r\n\r\n\tdofindNext();\r\n}\r\n\r\nvoid FindWin::setFindBackward(bool isBackward)\r\n{\r\n\tif (ui.findBackwardBox->isChecked() != isBackward)\r\n\t{\r\n\t\tui.findBackwardBox->setChecked(isBackward);\r\n\t}\r\n}\r\n\r\nvoid FindWin::slot_findPrev()\r\n{\r\n\tif (!m_isReverseFind)\r\n\t{\r\n\t\tm_isReverseFind = true;\r\n\t\tm_isFindFirst = true;\r\n\t}\r\n\tdofindNext();\r\n}\r\n\r\n\r\n//查找计数\r\nvoid FindWin::slot_findCount()\r\n{\r\n\tif (ui.findComboBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tupdateParameterFromUI();\r\n\r\n\t\tint srcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\t\tint firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE);\r\n\r\n\t\tint countNums = 0;\r\n\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\tQString whatFind = ui.findComboBox->currentText();\r\n\r\n\t\t//这里不能直接修改results.findText的值，该值在外部显示还需要。如果修改则会显示紊乱\r\n\t\tif (m_extend)\r\n\t\t{\r\n\t\t\tQString extendFind;\r\n\t\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\t\twhatFind = extendFind;\r\n\t\t}\r\n\r\n\t\t//这里的forward一定要是true。回环一定是false\r\n\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0,false))\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"count %1 times with \\'%2\\'\").arg(countNums).arg(m_expr));\r\n\t\t\tQApplication::beep();\r\n\r\n\t\t\tm_isFindFirst = true;\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tdealWithZeroFound(pEdit);\r\n\t\t}\r\n\r\n\t\t++countNums;\r\n\r\n\t\t//找到了,增加计数\r\n\t\twhile (pEdit->findNext())\r\n\t\t{\r\n\t\t\t++countNums;\r\n\r\n\t\t\tdealWithZeroFound(pEdit);\r\n\t\t}\r\n\r\n\t\tpEdit->execute(SCI_GOTOPOS, srcPostion);\r\n\t\tpEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum);\r\n\t\t//pEdit->execute(SCI_SETXOFFSET, 0);\r\n\r\n\t\t//全部替换后，下次查找，必须算第一次查找\r\n\t\tm_isFindFirst = true;\r\n\t\tui.statusbar->showMessage(tr(\"count %1 times with \\'%2\\'\").arg(countNums).arg(m_expr));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"The mode of the current document does not allow this operation.\"), 8000);\r\n\t\tQApplication::beep();\r\n\t}\r\n}\r\n\r\n//去掉行尾的\\n\\r符号\r\nstatic QString trimmedEnd(QString lineText)\r\n{\r\n\tif (lineText.endsWith(\"\\r\\n\"))\r\n\t{\r\n\t\treturn lineText.mid(0, lineText.length()-2);\r\n\t}\r\n\tif (lineText.endsWith(\"\\r\"))\r\n\t{\r\n\t\treturn lineText.mid(0, lineText.length()-1);\r\n\t}\r\n\tif (lineText.endsWith(\"\\n\"))\r\n\t{\r\n\t\treturn lineText.mid(0, lineText.length()-1);\r\n\t}\r\n\treturn lineText;\r\n}\r\n\r\n//getResult:是否提取结果目标字符串。在正则查找时，还是有用的\r\nQString FindWin::addCurFindRecord(ScintillaEditView* pEdit, FindRecords& recordRet,bool isMark, bool getResult)\r\n{\r\n\tFindRecord aRecord;\r\n\tQString ret;\r\n\t//看了源码，当前查找到的结果，是会被选中的。所以可通过选中范围，来记录当前被查找中的结果\r\n\t//光标在选择词的尾部下一个位置\r\n#if 0\r\n\taRecord.pos = pEdit->execute(SCI_GETSELECTIONSTART);\r\n\taRecord.end = pEdit->execute(SCI_GETSELECTIONEND);\r\n#endif\r\n\t//加速\r\n\tFindState& state = pEdit->getLastFindState();\r\n\taRecord.pos = state.targstart;\r\n\taRecord.end = state.targend;\r\n\taRecord.lineNum = state.linenum;\r\n\r\n\t//mark模式不需要这么多信息，可直接返回\r\n\tif (!isMark)\r\n\t{\r\n\t\t//静默查找，在后台批量查找时，不会返回这个state.linenum。需要手动获取一下\r\n\t\tif (aRecord.lineNum == -1)\r\n\t\t{\r\n\t\t\taRecord.lineNum = pEdit->execute(SCI_LINEFROMPOSITION, aRecord.pos);\r\n\t\t}\r\n\t\taRecord.lineStartPos = pEdit->execute(SCI_POSITIONFROMLINE, aRecord.lineNum);\r\n\t\tint lineLens = pEdit->execute(SCI_LINELENGTH, aRecord.lineNum);\r\n\r\n\t\tif (lineLens <= 0)\r\n\t\t{\r\n\t\t\treturn ret;\r\n\t\t}\r\n\r\n\t\tchar* lineText = new char[lineLens + 1];\r\n\t\tmemset(lineText, 0, lineLens + 1);\r\n\r\n\t\t//这里有个bug,是qscint的，查找最后一行，会漏掉最后一个字符\r\n\t\tpEdit->execute(SCI_GETLINE, aRecord.lineNum, reinterpret_cast<sptr_t>(lineText));\r\n\r\n\t\t//务必要去掉行位的换行，否则显示结果列表会显示换行\r\n\t\taRecord.lineContents = trimmedEnd(QString(lineText));\r\n\t\tdelete[]lineText;\r\n\r\n\t\t//如果需要结果，再把结果提取一下\r\n\t\tif (getResult && (state.targend - state.targstart > 0))\r\n\t\t{\r\n\t\t\tSci_TextRange  lineText;\r\n\t\t\tlineText.chrg.cpMin = static_cast<Sci_Position>(state.targstart);\r\n\t\t\tlineText.chrg.cpMax = static_cast<Sci_Position>(state.targend);\r\n\r\n\t\t\tQByteArray result;\r\n\t\t\tresult.resize(state.targend - state.targstart);\r\n\t\t\tlineText.lpstrText = result.data();\r\n\t\t\t//获取原始行的内容\r\n\t\t\tpEdit->SendScintilla(SCI_GETTEXTRANGE, 0, &lineText);\r\n\r\n\t\t\tret = QString(result);\r\n\t\t}\r\n\t}\r\n\r\n\trecordRet.records.append(aRecord);\r\n\r\n\treturn ret;\r\n}\r\n\r\n//在后台批量查找\r\nint FindWin::findAtBack(QStringList& keyword)\r\n{\r\n\tif (keyword.isEmpty())\r\n\t{\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow replacement.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tm_isStatic = true;\r\n\tint times = 0;\r\n\r\n\tProgressWin* loadFileProcessWin = nullptr;\r\n\r\n\tif (keyword.size() > 1000)\r\n\t{\r\n\t\tloadFileProcessWin = new ProgressWin(this);\r\n\r\n\t\tloadFileProcessWin->setWindowModality(Qt::WindowModal);\r\n\r\n\t\tloadFileProcessWin->info(tr(\"total %1 keyword, please wait ...\").arg(keyword.size()));\r\n\r\n\t\tloadFileProcessWin->setTotalSteps(keyword.size() / 100);\r\n\r\n\t\tloadFileProcessWin->show();\r\n\t}\r\n\r\n\tQString text = pEdit->text();\r\n\r\n    QByteArray bytes = text.toUtf8();\r\n\r\n\tQByteArray findBytes;\r\n\tint keyLens = 0;\r\n\r\n\tint index = 0;\r\n\r\n\tfor (int i = 0; i < keyword.size(); ++i)\r\n\t{\r\n\t\tif ((loadFileProcessWin != nullptr) && loadFileProcessWin->isCancel())\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tindex = 0;\r\n\r\n\t\t//20230223 不走老的逻辑了，批量替换太慢。直接把文件读取处理，在内存中一次性处理完毕。\r\n\t\t//但是这样就不知道到底有多少字符串被替换了\r\n\t\tfindBytes = keyword.at(i).toUtf8();\r\n\t\tkeyLens = findBytes.size();\r\n\r\n\t\twhile (true)\r\n\t\t{\r\n\t\t\tindex = bytes.indexOf(findBytes,index);\r\n\r\n\t\t\tif (index == -1)\r\n\t\t\t{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\t++times;\r\n\t\t\tindex += keyLens;\r\n\t\t}\r\n\r\n\t\tif ((loadFileProcessWin != nullptr)&& ((i % 100) == 0))\r\n\t\t{\r\n\t\t\tloadFileProcessWin->moveStep();\r\n\t\t\tQCoreApplication::processEvents();\r\n\t\t}\r\n\t}\r\n\r\n\tif (loadFileProcessWin != nullptr)\r\n\t{\r\n\t\tdelete loadFileProcessWin;\r\n\t}\r\n\r\n\treturn times;\r\n}\r\n\r\n//在后台批量替换\r\nint FindWin::replaceAtBack(QStringList& keyword, QStringList& replace)\r\n{\r\n\tassert(keyword.size() == replace.size());\r\n\r\n\t//this->setCurrentTab(REPLACE_TAB);\r\n\tif (keyword.isEmpty())\r\n\t{\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow replacement.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tm_isStatic = true;\r\n\tint times = 0;\r\n\r\n\tpEdit->execute(SCI_BEGINUNDOACTION);\r\n\r\n\tProgressWin* loadFileProcessWin = nullptr;\r\n\r\n\tif (keyword.size() > 1000)\r\n\t{\r\n\t\tloadFileProcessWin = new ProgressWin(this);\r\n\r\n\t\tloadFileProcessWin->setWindowModality(Qt::WindowModal);\r\n\r\n\t\tloadFileProcessWin->info(tr(\"total %1 keyword, please wait ...\").arg(keyword.size()));\r\n\r\n\t\tloadFileProcessWin->setTotalSteps(keyword.size() / 10);\r\n\r\n\t\tloadFileProcessWin->show();\r\n\t}\r\n\r\n\tQString text = pEdit->text();\r\n\r\n\tfor (int i = 0; i < keyword.size(); ++i)\r\n\t{\r\n\t\tif ((loadFileProcessWin!=nullptr) && loadFileProcessWin->isCancel())\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\t//20230223 不走老的逻辑了，批量替换太慢。直接把文件读取处理，在内存中一次性处理完毕。\r\n\t\t//但是这样就不知道到底有多少字符串被替换了\r\n\t\ttext.replace(keyword.at(i), replace.at(i));\r\n\r\n\t\tif ((loadFileProcessWin != nullptr) && ((i % 10) == 0))\r\n\t\t{\r\n\t\t\tloadFileProcessWin->moveStep();\r\n\t\t\tQCoreApplication::processEvents();\r\n\t\t}\r\n\t}\r\n\t//替换外部后，一次性整体替换\r\n\r\n\tint selectionEnd = pEdit->length();\r\n\r\n\tpEdit->execute(SCI_SETTARGETRANGE, 0, selectionEnd);\r\n\r\n\tQByteArray bytes = text.toUtf8();\r\n\r\n\tpEdit->execute(SCI_REPLACETARGET, bytes.size(), reinterpret_cast<sptr_t>(bytes.data()));\r\n\r\n\tif (loadFileProcessWin != nullptr)\r\n\t{\r\n\t\tdelete loadFileProcessWin;\r\n\t}\r\n\r\n\tpEdit->execute(SCI_ENDUNDOACTION);\r\n\r\n\tm_isStatic = false;\r\n\r\n\treturn times;\r\n}\r\n\r\n//在后台批量高亮\r\nint FindWin::markAtBack(QStringList& keyword)\r\n{\r\n\tif (keyword.isEmpty())\r\n\t{\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow replacement.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tm_isStatic = true;\r\n\tint times = 0;\r\n\r\n\tProgressWin* loadFileProcessWin = nullptr;\r\n\r\n\tif (keyword.size() > 1000)\r\n\t{\r\n\t\tloadFileProcessWin = new ProgressWin(this);\r\n\r\n\t\tloadFileProcessWin->setWindowModality(Qt::WindowModal);\r\n\r\n\t\tloadFileProcessWin->info(tr(\"total %1 keyword, please wait ...\").arg(keyword.size()));\r\n\r\n\t\tloadFileProcessWin->setTotalSteps(keyword.size() / 100);\r\n\r\n\t\tloadFileProcessWin->show();\r\n\t}\r\n\r\n\tQString text = pEdit->text();\r\n\r\n\tQByteArray bytes = text.toUtf8();\r\n\r\n\tQByteArray findBytes;\r\n\tint keyLens = 0;\r\n\r\n\tint index = 0;\r\n\r\n\tQMap<QByteArray, QVector<int>* > keyPos;\r\n\r\n\tfor (int i = 0; i < keyword.size(); ++i)\r\n\t{\r\n\t\tif ((loadFileProcessWin != nullptr) && loadFileProcessWin->isCancel())\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tindex = 0;\r\n\r\n\t\t//20230223 不走老的逻辑了，批量替换太慢。直接把文件读取处理，在内存中一次性处理完毕。\r\n\t\t//但是这样就不知道到底有多少字符串被替换了\r\n\t\tfindBytes = keyword.at(i).toUtf8();\r\n\t\tkeyLens = findBytes.size();\r\n\r\n\t\tif (keyLens == 0)\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tQVector<int>* vec = new QVector<int>();\r\n\t\tvec->reserve(128);\r\n\t\tkeyPos.insert(findBytes, vec);\r\n\r\n\t\twhile (true)\r\n\t\t{\r\n\t\t\tindex = bytes.indexOf(findBytes, index);\r\n\r\n\t\t\tif (index == -1)\r\n\t\t\t{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\t++times;\r\n\t\t\tvec->append(index);\r\n\r\n\t\t\tindex += keyLens;\r\n\t\t}\r\n\r\n\t\tif ((loadFileProcessWin != nullptr) && ((i % 100) == 0))\r\n\t\t{\r\n\t\t\tloadFileProcessWin->moveStep();\r\n\t\t\tQCoreApplication::processEvents();\r\n\t\t}\r\n\t}\r\n\r\n\t//把结果高亮起来。\r\n\tfor (QMap<QByteArray, QVector<int>* >::iterator it = keyPos.begin(); it != keyPos.end(); ++it)\r\n\t{\r\n\t\tint foundTextLen = it.key().size();\r\n\t\tQVector<int>* pVect = (*it);\r\n\t\tfor (int i = 0, s = pVect->size(); i < s; ++i)\r\n\t\t{\r\n\t\t\tpEdit->execute(SCI_SETINDICATORCURRENT, CCNotePad::s_curMarkColorId);\r\n\t\t\tpEdit->execute(SCI_INDICATORFILLRANGE, pVect->at(i), foundTextLen);\r\n\t\t\t\r\n\t\t}\r\n\t\tdelete pVect;\r\n\t}\r\n\t\r\n\tif (loadFileProcessWin != nullptr)\r\n\t{\r\n\t\tdelete loadFileProcessWin;\r\n\t}\r\n\r\n\treturn times;\r\n}\r\n\r\nint FindWin::findAllInCurDoc(QStringList* reResult)\r\n{\r\n\tif (ui.findComboBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tif (!m_isStatic)\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow this operation.\"), 8000);\r\n\t\t\t}\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tQString resultDestStr;\r\n\t\tint askAbortTimes = 0;\r\n\t\tFindRecords results;\r\n\t\tresults.pEdit = pEdit;\r\n\r\n\t\tresults.findFilePath = pw->property(\"filePath\").toString();\r\n\r\n\t\tupdateParameterFromUI();\r\n\r\n\t\t//正则模式下面，拷贝所有结果到剪切板\r\n\t\tbool isNeedResult(m_re && (reResult != nullptr));\r\n\r\n\t\tint srcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\t\tint firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE);\r\n\r\n\t\tint findNums = 0;\r\n\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\tQString whatFind = ui.findComboBox->currentText();\r\n\r\n\t\tresults.findText = whatFind;\r\n\r\n\t\t//这里不能直接修改results.findText的值，该值在外部显示还需要。如果修改则会显示紊乱\r\n\t\tif (m_extend)\r\n\t\t{\r\n\t\t\tQString extendFind;\r\n\t\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\t\twhatFind = extendFind;\r\n\t\t}\r\n\r\n\t\t//这里的forward一定要是true。回环一定是false\r\n\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0))\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"cant't find text \\'%1\\'\").arg(m_expr), 8000);\r\n\r\n\t\t\tif (!m_isStatic)\r\n\t\t\t{\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t\temit sign_findAllInCurDoc(&results);\r\n\t\t\t}\r\n\r\n\t\t\tm_isFindFirst = true;\r\n\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tdealWithZeroFound(pEdit);\r\n\t\t}\r\n\r\n\t\tresultDestStr = addCurFindRecord(pEdit, results, false, isNeedResult);\r\n\r\n\t\t//正则模式下面，拷贝所有结果到剪切板\r\n\t\tif (isNeedResult)\r\n\t\t{\r\n\t\t\treResult->append(resultDestStr);\r\n\t\t}\r\n\r\n\t\t++findNums;\r\n\r\n\t\t//找到了,把结果收集起来\r\n\t\twhile (pEdit->findNext())\r\n\t\t{\r\n\t\t\tresultDestStr = addCurFindRecord(pEdit, results, false, isNeedResult);\r\n\t\t\t++findNums;\r\n\r\n\t\t\t//正则模式下面，拷贝所有结果到剪切板\r\n\t\t\tif (isNeedResult)\r\n\t\t\t{\r\n\t\t\t\treResult->append(resultDestStr);\r\n\t\t\t}\r\n\r\n\t\t\tdealWithZeroFound(pEdit);\r\n\r\n\t\t\t//2000 和 4000时各询问一次，避免查询结果过大\r\n\t\t\tif (((askAbortTimes == 0) && findNums > 2000) || ((askAbortTimes == 1) && findNums > 4000))\r\n\t\t\t{\r\n\t\t\t\tint 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\"));\r\n\t\t\t\tif (ret == 1)\r\n\t\t\t\t{\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\t++askAbortTimes;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tpEdit->execute(SCI_GOTOPOS, srcPostion);\r\n\t\tpEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum);\r\n\t\t//pEdit->execute(SCI_SETXOFFSET, 0);\r\n\r\n\t\t//全部替换后，下次查找，必须算第一次查找\r\n\t\tm_isFindFirst = true;\r\n\r\n\t\tif (!isNeedResult)\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"find finished, total %1 found!\").arg(findNums), 10000);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"find finished, total %1 found! Result in clipboard.\").arg(findNums), 10000);\r\n\t\t}\r\n\r\n\t\temit sign_findAllInCurDoc(&results);\r\n\r\n\t\t\r\n\r\n\t\treturn findNums;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (!m_isStatic)\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The mode of the current document does not allow this operation.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t}\r\n\t}\r\n\treturn 0;\r\n}\r\n\r\nvoid FindWin::slot_findAllInCurDoc()\r\n{\r\n\t//findAllInCurDoc();\r\n\r\n\tint index = m_editTabWidget->currentIndex();\r\n\r\n\tif (index >= 0)\r\n\t{\r\n\t\tfindAllInOpenDoc(index);\r\n\t}\r\n}\r\n\r\nvoid FindWin::findAllInOpenDoc(int index)\r\n{\r\n\tif (ui.findComboBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString whatFind = ui.findComboBox->currentText();\r\n\tQString originWhatFine = whatFind;\r\n\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\twhatFind = extendFind;\r\n\t}\r\n\r\n\tint replaceNums = 0;\r\n\tQVector<FindRecords*>* allOpenFileRecord = new QVector<FindRecords*>();\r\n\r\n\tfor (int i = 0; i < m_editTabWidget->count(); ++i)\r\n\t{\r\n\t\t//是否只查找一个文档\r\n\t\tif ((index != -1) && (i != index))\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tQWidget* pw = m_editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tif (pEdit->isReadOnly())\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tFindRecords* results = new FindRecords();\r\n\t\t\tresults->pEdit = pEdit;\r\n\r\n\t\t\tresults->findFilePath = pw->property(\"filePath\").toString();\r\n\r\n\t\t\tupdateParameterFromUI();\r\n\r\n\t\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\t\t//results->findText要是有原来的值，因为扩展模式下\\r\\n不会转义，直接输出会换行显示\r\n\t\t\tresults->findText = originWhatFine;\r\n\t\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0))\r\n\t\t\t{\r\n\t\t\t\tdelete results;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tdealWithZeroFound(pEdit);\r\n\t\t\t}\r\n\t\t\taddCurFindRecord(pEdit, *results);\r\n\r\n\t\t\t++replaceNums;\r\n\r\n\t\t\t//找到了,把结果收集起来\r\n\t\t\twhile (pEdit->findNext())\r\n\t\t\t{\r\n\t\t\t\taddCurFindRecord(pEdit, *results);\r\n\t\t\t\t++replaceNums;\r\n\t\t\t\tdealWithZeroFound(pEdit);\r\n\t\t\t}\r\n\r\n\t\t\tallOpenFileRecord->append(results);\r\n\t\t}\r\n\t}\r\n\r\n\t//全部替换后，下次查找，必须算第一次查找\r\n\tm_isFindFirst = true;\r\n\tui.statusbar->showMessage(tr(\"find finished, total %1 found!\").arg(replaceNums), 10000);\r\n\r\n\temit sign_findAllInOpenDoc(allOpenFileRecord, replaceNums, whatFind);\r\n\r\n\t//释放元素\r\n\tfor (int i = 0; i < allOpenFileRecord->size(); ++i)\r\n\t{\r\n\t\tdelete allOpenFileRecord->at(i);\r\n\t}\r\n\r\n\tdelete allOpenFileRecord;\r\n\r\n}\r\n\r\nvoid FindWin::slot_findAllInOpenDoc()\r\n{\r\n\tfindAllInOpenDoc(-1);\r\n\r\n#if 0\r\n\tif (ui.findComboBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\t\r\n\tQString whatFind = ui.findComboBox->currentText();\r\n\tQString originWhatFine = whatFind;\r\n\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\twhatFind = extendFind;\r\n\t}\r\n\r\n\tint replaceNums = 0;\r\n\tQVector<FindRecords*>* allOpenFileRecord = new QVector<FindRecords*>();\r\n\r\n\tfor (int i = 0; i < m_editTabWidget->count(); ++i)\r\n\t{\r\n\t\tQWidget* pw = m_editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tif (pEdit->isReadOnly())\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tFindRecords* results = new FindRecords();\r\n\t\t\tresults->pEdit = pEdit;\r\n\r\n\t\t\tresults->findFilePath = pw->property(\"filePath\").toString();\r\n\r\n\t\t\tupdateParameterFromUI();\r\n\r\n\t\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\t\t//results->findText要是有原来的值，因为扩展模式下\\r\\n不会转义，直接输出会换行显示\r\n\t\t\tresults->findText = originWhatFine;\r\n\t\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0))\r\n\t\t\t{\r\n\t\t\t\tdelete results;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tdealWithZeroFound(pEdit);\r\n\t\t\t}\r\n\t\t\taddCurFindRecord(pEdit, *results);\r\n\r\n\t\t\t++replaceNums;\r\n\r\n\t\t\t//找到了,把结果收集起来\r\n\t\t\twhile (pEdit->findNext())\r\n\t\t\t{\r\n\t\t\t\taddCurFindRecord(pEdit, *results);\r\n\t\t\t\t++replaceNums;\r\n\t\t\t\tdealWithZeroFound(pEdit);\r\n\t\t\t}\r\n\r\n\t\t\tallOpenFileRecord->append(results);\r\n\t\t}\r\n\t}\r\n\r\n\t//全部替换后，下次查找，必须算第一次查找\r\n\tm_isFindFirst = true;\r\n\tui.statusbar->showMessage(tr(\"find finished, total %1 found!\").arg(replaceNums), 10000);\r\n\r\n\temit sign_findAllInOpenDoc(allOpenFileRecord, replaceNums, whatFind);\r\n\r\n\t//释放元素\r\n\tfor (int i = 0; i < allOpenFileRecord->size(); ++i)\r\n\t{\r\n\t\tdelete allOpenFileRecord->at(i);\r\n\t}\r\n\r\n\tdelete allOpenFileRecord;\r\n#endif\r\n}\r\n\r\n//返回是否查找得到内容\r\nbool FindWin::replaceFindNext(QsciScintilla* pEdit, bool showZeroFindTip)\r\n{\r\n\tm_isFound = false;\r\n\r\n\t//第一次查找\r\n\tif (m_isFindFirst)\r\n\t{\r\n\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tQString whatFind = ui.replaceTextBox->currentText();\r\n\r\n\t\t\taddFindHistory(whatFind);\r\n\r\n\t\t\tQString replaceWith = ui.replaceWithBox->currentText();\r\n\t\t\taddReplaceHistory(replaceWith);\r\n\r\n\t\t\tif (m_extend)\r\n\t\t\t{\r\n\t\t\t\tQString extendFind;\r\n\t\t\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\t\t\twhatFind = extendFind;\r\n\t\t\t}\r\n\r\n\t\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, m_wrap, m_forward, FINDNEXTTYPE_REPLACENEXT))\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"cant't find text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t\tm_isFindFirst = true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tm_isFound = true;\r\n\t\t\t\tm_isFindFirst = false;\r\n\t\t\t\tdealWithZeroFoundShowTip(pEdit, showZeroFindTip);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//查找下一个\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\tadjustSearchStartPosChange(pEdit);\r\n\t\t\tif (!pEdit->findNext())\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"no more find text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t\tm_isFindFirst = true;\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tm_isFound = true;\r\n\t\t\t\tdealWithZeroFoundShowTip(pEdit, showZeroFindTip);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn m_isFound;\r\n}\r\n\r\nvoid FindWin::slot_replaceFindNext()\r\n{\r\n\tif (ui.replaceTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tupdateParameterFromUI();\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\r\n\tQsciScintilla* pEdit = dynamic_cast<QsciScintilla*>(pw);\r\n\r\n\treplaceFindNext(pEdit, true);\r\n}\r\n\r\n//返回值：是否还可以继续替换\r\nbool FindWin::replace(ScintillaEditView* pEdit)\r\n{\r\n\tif (isFirstFind())\r\n\t{\r\n\t\treplaceFindNext(pEdit, false);\r\n\t\t//如果没有找到，则不替换\r\n\t\tif (!m_isFound)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tQString findText = ui.replaceTextBox->currentText();\r\n\tQString replaceText = ui.replaceWithBox->currentText();\r\n\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(findText, extendFind);\r\n\t\tfindText = extendFind;\r\n\r\n\t\tQString extendReplace;\r\n\t\tconvertExtendedToString(replaceText, extendReplace);\r\n\t\treplaceText = extendReplace;\r\n\t}\r\n\r\n\t//当前有选中内容，而且与待替换内容一样，则直接替换\r\n\tif (m_isFound && pEdit->hasSelectedText())\r\n\t{\r\n\t\t//如果选中内容，与待查找替换的内容一致，进行替换。前提是在normal模式下\r\n\t\tif ((m_searchMode == 1) && (pEdit->selectedText().compare(findText, (m_cs ? Qt::CaseSensitive : Qt::CaseInsensitive)) == 0))\r\n\t\t{\r\n\t\t\tpEdit->replace(replaceText);\r\n\t\t\treturn replaceFindNext(pEdit,false);\r\n\t\t}\r\n\t\telse if (m_searchMode == 2)\r\n\t\t{\r\n\t\t\t//如果是正则表达式模式，则不能使用全部匹配才替换，要使用正则匹配，那样会比较麻烦\r\n\t\t\t//只有上次查找成功，才替换？\r\n\t\t\tif (m_isFound)\r\n\t\t\t{\r\n\t\t\t\tpEdit->replace(replaceText);\r\n\t\t\t\treturn replaceFindNext(pEdit,false);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"no more replace text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"no more replace text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\telse if (m_isFound && m_searchMode == 2)\r\n\t{\r\n\t\t//找到了内容，但是因为是0长，而无法选中。这种情况就是0长的情况。只在正则表达式情况出现\r\n\t\tpEdit->replace(replaceText);\r\n\r\n\t\t//每次替换后，因为是0长替换，再把下次查找位置加1，否则会一直在原地查找\r\n\t\tdealWithZeroFound(pEdit);\r\n\r\n\t\treturn replaceFindNext(pEdit,false);\r\n\t}\r\n\r\n\t\t//当前没有查找到\r\n\treturn replaceFindNext(pEdit,false);\r\n}\r\n\r\n//把当前选中的内容，使用文本替换掉\r\nvoid FindWin::slot_replace()\r\n{\r\n\r\n\tif (ui.replaceTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow replacement.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t//切换查询条件后，则是第一次查找。防止前后查找条件发生了变化，\r\n\t\t//导致选中的内容不是需要替换的，所以检查是第一次查找，则查找一下\r\n\t\tupdateParameterFromUI();\r\n\r\n\t\treplace(pEdit);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"The mode of the current document does not allow replacement.\"), 8000);\r\n\t\tQApplication::beep();\r\n\t}\r\n}\r\n\r\nvoid FindWin::slot_findModeRegularBtChange(bool checked)\r\n{\r\n\tif (checked)\r\n\t{\r\n\t\tui.findBackwardBox->setEnabled(false);\r\n\t\tui.findBackwardBox->setChecked(false);\r\n\t\tui.findMatchWholeBox->setEnabled(false);\r\n\t\tui.findMatchWholeBox->setChecked(false);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.findBackwardBox->setEnabled(true);\r\n\t\tui.findMatchWholeBox->setEnabled(true);\r\n\t}\r\n\tm_isFindFirst = true;\r\n}\r\n\r\nvoid FindWin::slot_replaceModeRegularBtChange(bool checked)\r\n{\r\n\tif (checked)\r\n\t{\r\n\t\tui.replaceBackwardBox->setEnabled(false);\r\n\t\tui.replaceBackwardBox->setChecked(false);\r\n\t\tui.replaceMatchWholeBox->setEnabled(false);\r\n\t\tui.replaceMatchWholeBox->setChecked(false);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.replaceBackwardBox->setEnabled(true);\r\n\t\tui.replaceMatchWholeBox->setEnabled(true);\r\n\t}\r\n\tm_isFindFirst = true;\r\n}\r\n\r\n#if 0\r\n//替换当前文档里面的所有\r\nvoid FindWin::slot_replaceAll()\r\n{\r\n\tif (ui.replaceTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (!m_isStatic &&  QMessageBox::Yes != QMessageBox::question(this, tr(\"Replace All current Doc\"), tr(\"Are you sure replace all occurrences in current documents?\")))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow replacement.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tupdateParameterFromUI();\r\n\r\n\t\tint srcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\t\tint firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE);\r\n\r\n\t\tint replaceNums = 0;\r\n\r\n\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\tQString whatFind = ui.replaceTextBox->currentText();\r\n\t\tQString replaceText = ui.replaceWithBox->currentText();\r\n\r\n\t\tif (m_extend)\r\n\t\t{\r\n\t\t\tQString extendFind;\r\n\t\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\t\twhatFind = extendFind;\r\n\r\n\t\t\tQString extendReplace;\r\n\t\t\tconvertExtendedToString(replaceText, extendReplace);\r\n\t\t\treplaceText = extendReplace;\r\n\t\t}\r\n\r\n\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_REPLACENEXT, 0,0))\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"cant't find text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\tm_isFindFirst = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tpEdit->execute(SCI_BEGINUNDOACTION);\r\n\r\n\t\tpEdit->replace(replaceText);\r\n\r\n\t\tdealWithZeroFound(pEdit);\r\n\r\n\t\t++replaceNums;\r\n\t\r\n\t\t//找到了，则自动进行全部替换\r\n\t\twhile(pEdit->findNext())\r\n\t\t{\r\n\t\t\tpEdit->replace(replaceText);\r\n\t\t\t++replaceNums;\r\n\t\t\tdealWithZeroFound(pEdit);\r\n\t\t}\r\n\r\n\t\tpEdit->execute(SCI_ENDUNDOACTION);\r\n\r\n\t\tpEdit->execute(SCI_GOTOPOS, srcPostion);\r\n\t\tpEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum);\r\n\t\tpEdit->execute(SCI_SETXOFFSET, 0);\r\n\r\n\t\t//全部替换后，下次查找，必须算第一次查找\r\n\t\tm_isFindFirst = true;\r\n\t\tui.statusbar->showMessage(tr(\"replace finished, total %1 replaced!\").arg(replaceNums), 10000);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"The mode of the current document does not allow replacement.\"), 8000);\r\n\t\tQApplication::beep();\r\n\t}\r\n}\r\n#endif\r\n\r\n// Find the first occurrence of a string.\r\nint buildSearchFlags(bool re, bool cs, bool wo, bool wrap, bool forward, FindNextType findNextType, bool posix, bool cxx11)\r\n{\r\n\tint flags = 0;\r\n\r\n\tflags = (cs ? SCFIND_MATCHCASE : 0) |\r\n\t\t(wo ? SCFIND_WHOLEWORD : 0) |\r\n\t\t(re ? SCFIND_REGEXP : 0) |\r\n\t\t(posix ? SCFIND_POSIX : 0) |\r\n\t\t(cxx11 ? SCFIND_CXX11REGEX : 0);\r\n\r\n\tswitch (findNextType)\r\n\t{\r\n\tcase FINDNEXTTYPE_FINDNEXT:\r\n\t\tflags |= SCFIND_REGEXP_EMPTYMATCH_ALL | SCFIND_REGEXP_SKIPCRLFASONE;\r\n\t\tbreak;\r\n\r\n\tcase FINDNEXTTYPE_REPLACENEXT:\r\n\t\tflags |= SCFIND_REGEXP_EMPTYMATCH_NOTAFTERMATCH | SCFIND_REGEXP_SKIPCRLFASONE;\r\n\t\tbreak;\r\n\r\n\tcase FINDNEXTTYPE_FINDNEXTFORREPLACE:\r\n\t\tflags |= SCFIND_REGEXP_EMPTYMATCH_ALL | SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART | SCFIND_REGEXP_SKIPCRLFASONE;\r\n\t\tbreak;\r\n\t}\r\n\treturn flags;\r\n}\r\n\r\nstruct FindReplaceInfo\r\n{\r\n\tintptr_t _startRange = -1;\r\n\tintptr_t _endRange = -1;\r\n};\r\n\r\n//返回值替换数量\r\nint FindWin::doReplaceAll(ScintillaEditView* pEdit, QString &whatFind, QString& replaceText, bool isCombineUndo)\r\n{\r\n\tint replaceNums = 0;\r\n\r\n\tint srcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\tint firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE);\r\n\r\n\tif (isCombineUndo)\r\n\t{\r\n\t\tpEdit->execute(SCI_BEGINUNDOACTION);\r\n\t}\r\n\r\n\tint flags = buildSearchFlags(m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_REPLACENEXT, 0, 0);\r\n\r\n\tintptr_t targetStart = 0;\r\n\tintptr_t targetEnd = 0;\r\n\r\n\t//Initial range for searching\r\n\tpEdit->execute(SCI_SETSEARCHFLAGS, flags);\r\n\r\n\tFindReplaceInfo findReplaceInfo;\r\n\r\n\tfindReplaceInfo._startRange = 0;\r\n\tfindReplaceInfo._endRange = pEdit->execute(SCI_GETLENGTH);\r\n\r\n\tQByteArray pTextFind = whatFind.toUtf8();\r\n\tQByteArray pTextReplace = replaceText.toUtf8();\r\n\r\n\r\n\twhile (targetStart >= 0)\r\n\t{\r\n\t\ttargetStart = pEdit->searchInTarget(pTextFind, findReplaceInfo._startRange, findReplaceInfo._endRange);\r\n\r\n\t\t// If we've not found anything, just break out of the loop\r\n\t\tif (targetStart == -1 || targetStart == -2)\r\n\t\t\tbreak;\r\n\r\n\t\ttargetEnd = pEdit->execute(SCI_GETTARGETEND);\r\n\r\n\t\tif (targetEnd > findReplaceInfo._endRange)\r\n\t\t{\r\n\t\t\t//we found a result but outside our range, therefore do not process it\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tintptr_t foundTextLen = targetEnd - targetStart;\r\n\t\tintptr_t replaceDelta = 0;\r\n\r\n\t\tintptr_t replacedLength;\r\n\t\tif (m_re)\r\n\t\t{\r\n\t\t\treplacedLength = pEdit->replaceTargetRegExMode(pTextReplace);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treplacedLength = pEdit->replaceTarget(pTextReplace);\r\n\t\t}\r\n\r\n\t\treplaceDelta = replacedLength - foundTextLen;\r\n\r\n\t\t++replaceNums;\r\n\r\n\t\t// After the processing of the last string occurrence the search loop should be stopped\r\n\t\t// This helps to avoid the endless replacement during the EOL (\"$\") searching\r\n\t\tif (targetStart + foundTextLen == findReplaceInfo._endRange)\r\n\t\t\tbreak;\r\n\r\n\t\tfindReplaceInfo._startRange = targetStart + foundTextLen + replaceDelta;\t\t//search from result onwards\r\n\t\tfindReplaceInfo._endRange += replaceDelta;\t\t\t\t\t\t\t\t\t//adjust end of range in case of replace\r\n\t}\r\n\r\n\tif (isCombineUndo)\r\n\t{\r\n\t\tpEdit->execute(SCI_ENDUNDOACTION);\r\n\t}\r\n\r\n\tpEdit->execute(SCI_GOTOPOS, srcPostion);\r\n\tpEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum);\r\n\t//pEdit->execute(SCI_SETXOFFSET, 0);\r\n\r\n\treturn replaceNums;\r\n}\r\n\r\nint FindWin::replaceAll()\r\n{\r\n\tif (ui.replaceTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tif (!m_isStatic && QMessageBox::Yes != QMessageBox::question(this, tr(\"Replace All current Doc\"), tr(\"Are you sure replace all occurrences in current documents?\")))\r\n\t{\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tif (pEdit->isReadOnly())\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"The ReadOnly document does not allow replacement.\"), 8000);\r\n\t\t\tQApplication::beep();\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\tupdateParameterFromUI();\r\n\r\n\tQString whatFind = ui.replaceTextBox->currentText();\r\n\tQString replaceText = ui.replaceWithBox->currentText();\r\n\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\twhatFind = extendFind;\r\n\r\n\t\tQString extendReplace;\r\n\t\tconvertExtendedToString(replaceText, extendReplace);\r\n\t\treplaceText = extendReplace;\r\n\t}\r\n\r\n\tint replaceNums = doReplaceAll(pEdit, whatFind, replaceText);\r\n\t//全部替换后，下次查找，必须算第一次查找\r\n\tm_isFindFirst = true;\r\n\tui.statusbar->showMessage(tr(\"replace finished, total %1 replaced!\").arg(replaceNums), 10000);\r\n\r\n\treturn replaceNums;\r\n}\r\n\r\n//替换当前文档里面的所有。之前的要慢，是因为qscintilla中实时计算了行在屏幕需要的长度。\r\n//大量的这种计算一行实时长度的操作，非常耗时。查找、标记均不耗时，只有替换修改了文本才耗时。\r\nvoid FindWin::slot_replaceAll()\r\n{\r\n\treplaceAll();\r\n}\r\n\r\nvoid FindWin::slot_replaceAllInOpenDoc()\r\n{\r\n\tif (ui.replaceTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (QMessageBox::Yes != QMessageBox::question(this, tr(\"Replace All Open Doc\"), tr(\"Are you sure replace all occurrences in all open documents?\")))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tupdateParameterFromUI();\r\n\r\n\tint replaceNums = 0;\r\n\r\n\t\r\n\tQString whatFind = ui.replaceTextBox->currentText();\r\n\tQString whatReplace = m_replaceWithText;\r\n\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\twhatFind = extendFind;\r\n\r\n\t\tQString extendReplace;\r\n\t\tconvertExtendedToString(whatReplace, extendReplace);\r\n\t\twhatReplace = extendReplace;\r\n\t}\r\n\r\n\tfor (int i = 0; i < m_editTabWidget->count(); ++i)\r\n\t{\r\n\t\tQWidget* pw = m_editTabWidget->widget(i);\r\n\t\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\t\tif (pEdit != nullptr)\r\n\t\t{\r\n\t\t\t//只读的文档不能替换\r\n\t\t\tif (pEdit->isReadOnly())\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\treplaceNums += doReplaceAll(pEdit, whatFind, whatReplace);\r\n#if 0\r\n\t\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\t\tif (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_REPLACENEXT,0, 0))\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpEdit->replace(whatReplace);\r\n\r\n\t\t\tdealWithZeroFound(pEdit);\r\n\r\n\t\t\t++replaceNums;\r\n\r\n\t\t\t//找到了，则自动进行全部替换\r\n\t\t\twhile (pEdit->findNext())\r\n\t\t\t{\r\n\t\t\t\tpEdit->replace(whatReplace);\r\n\t\t\t\t++replaceNums;\r\n\t\t\t\tdealWithZeroFound(pEdit);\r\n\t\t\t}\r\n#endif\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t//全部替换后，下次查找，必须算第一次查找\r\n\tm_isFindFirst = true;\r\n\r\n\tui.statusbar->showMessage(tr(\"Replace in Opened Files: %1 occurrences were replaced.\").arg(replaceNums), 10000);\r\n}\r\n\r\nint  FindWin::markAll(QSet<int>* outLineNum)\r\n{\r\n\tif (ui.markTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what mark is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tFindRecords* results = new FindRecords;\r\n\t\tresults->pEdit = pEdit;\r\n\t\tresults->hightLightColor = CCNotePad::s_curMarkColorId;\r\n\r\n\t\tresults->findFilePath = pw->property(\"filePath\").toString();\r\n\r\n\t\tupdateParameterFromUI();\r\n\r\n\t\tint replaceNums = 0;\r\n\t\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\t\tQString whatMark = ui.markTextBox->currentText();\r\n\t\tresults->findText = whatMark;\r\n\r\n\t\tif (m_extend)\r\n\t\t{\r\n\t\t\tQString extendFind;\r\n\t\t\tconvertExtendedToString(whatMark, extendFind);\r\n\t\t\twhatMark = extendFind;\r\n\t\t}\r\n\r\n\t\tint srcPostion = pEdit->execute(SCI_GETCURRENTPOS);\r\n\t\tint firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE);\r\n\r\n\t\tif (!pEdit->findFirst(whatMark, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0))\r\n\t\t{\r\n\t\t\tui.statusbar->showMessage(tr(\"cant't find text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t//QApplication::beep();\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//不支持零长的高亮。0长不高亮\r\n\t\t\tFindState& state = pEdit->getLastFindState();\r\n\t\t\tif (state.targstart == state.targend)\r\n\t\t\t{\r\n\t\t\t\tui.statusbar->showMessage(tr(\"cant't mark text \\'%1\\'\").arg(m_expr), 8000);\r\n\t\t\t\tQApplication::beep();\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\taddCurFindRecord(pEdit, *results, true);\r\n\r\n\t\t++replaceNums;\r\n\r\n\t\t//找到了,把结果收集起来\r\n\t\twhile (pEdit->findNext())\r\n\t\t{\r\n\t\t\taddCurFindRecord(pEdit, *results, true);\r\n\t\t\t++replaceNums;\r\n\t\t}\r\n\r\n\t\t//把结果高亮起来。\r\n\t\tint foundTextLen = 0;\r\n\t\tfor (int i = 0, s = results->records.size(); i < s; ++i)\r\n\t\t{\r\n\t\t\tconst FindRecord& rs = results->records.at(i);\r\n\t\t\tfoundTextLen = rs.end - rs.pos;\r\n\r\n\t\t\tif (foundTextLen > 0)\r\n\t\t\t{\r\n\t\t\t\tpEdit->execute(SCI_SETINDICATORCURRENT, CCNotePad::s_curMarkColorId);\r\n\t\t\t\tpEdit->execute(SCI_INDICATORFILLRANGE, rs.pos, foundTextLen);\r\n\t\t\t}\r\n\r\n\t\t\tif (outLineNum != nullptr)\r\n\t\t\t{\r\n\t\t\t\toutLineNum->insert(rs.lineNum);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!results->records.isEmpty())\r\n\t\t{\r\n\t\t\tpEdit->appendMarkRecord(results);\r\n\t\t}\r\n\r\n\t\tpEdit->execute(SCI_GOTOPOS, srcPostion);\r\n\t\tpEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum);\r\n\t\t//pEdit->execute(SCI_SETXOFFSET, 0);\r\n\r\n\t\t//全部替换后，下次查找，必须算第一次查找\r\n\t\tm_isFindFirst = true;\r\n\t\tui.statusbar->showMessage(tr(\"mark finished, total %1 found!\").arg(replaceNums), 10000);\r\n\r\n\t\r\n\t\treturn replaceNums;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"The mode of the current document does not allow mark.\"), 8000);\r\n\t\tQApplication::beep();\r\n\t}\r\n\treturn 0;\r\n}\r\n//标记高亮单词\r\nvoid FindWin::slot_markAll()\r\n{\r\n\tmarkAll();\r\n}\r\n\r\n//取消高亮当前关键字\r\nvoid FindWin::slot_clearMark()\r\n{\r\n\tif (ui.markTextBox->currentText().isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what mark is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tCCNotePad* pMainPad = dynamic_cast<CCNotePad*>(m_pMainPad);\r\n\tif (pMainPad != nullptr)\r\n\t{\r\n\t\tpMainPad->clearHighlightWord(ui.markTextBox->currentText());\r\n}\r\n}\r\n\r\n//取消所有高亮\r\nvoid FindWin::slot_clearAllMark()\r\n{\r\n\tCCNotePad* pMainPad = dynamic_cast<CCNotePad*>(m_pMainPad);\r\n\tif (pMainPad != nullptr)\r\n\t{\r\n\t\tpMainPad->slot_clearMark();\r\n\t}\r\n}\r\n\r\n//选择查找目录\r\nvoid FindWin::slot_dirSelectDest()\r\n{\r\n\tQString curDirPath = ui.destFindDir->text();\r\n\tif (curDirPath.isEmpty())\r\n\t{\r\n\t\tif (CCNotePad::s_lastOpenDirPath.isEmpty())\r\n\t\t{\r\n\t\t\tCCNotePad::s_lastOpenDirPath = NddSetting::getKeyValueFromDelaySets(LAST_OPEN_DIR);\r\n\t\t}\r\n\t\tcurDirPath = CCNotePad::s_lastOpenDirPath;\r\n\t}\r\n\r\n\tQString destDir = QFileDialog::getExistingDirectory(this, tr(\"Open Directory\"), curDirPath, QFileDialog::DontResolveSymlinks);\r\n\tif (!destDir.isEmpty())\r\n\t{\r\n\t\tui.destFindDir->setText(destDir);\r\n\t}\r\n}\r\n\r\n//在walkDirfile中用作回调函数处理。命中则返回true \r\nbool FindWin::findTextInFile(QString &filePath, int &findNums, QVector<FindRecords*>* allfileInDirRecord)\r\n{\r\n\tpEditTemp->clear();\r\n\t\r\n\tif (0 != FileManager::getInstance().loadFileForSearch(pEditTemp, filePath))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tFindRecords* results = new FindRecords();\r\n\t//返回结果的edit无条件写无。注意不要忘记\r\n\tresults->pEdit = nullptr;\r\n\tresults->findFilePath = filePath;\r\n\r\n\t//无条件进行第一次查找，从0行0列开始查找，而且不回环。如果没有找到，则替换完毕\r\n\tresults->findText = m_expr;\r\n\tQString whatFind = m_expr;\r\n\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(whatFind, extendFind);\r\n\t\twhatFind = extendFind;\r\n\t}\r\n\r\n\tif (!pEditTemp->findFirst(whatFind, m_re, m_cs, m_wo, false, m_forward, FINDNEXTTYPE_FINDNEXT, 0, 0,false))\r\n\t{\r\n\t\tdelete results;\r\n\t\treturn false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tdealWithZeroFound(pEditTemp);\r\n\t}\r\n\r\n\taddCurFindRecord(pEditTemp, *results);\r\n\r\n\t++findNums;\r\n\r\n\t\t//找到了,把结果收集起来\r\n\twhile (pEditTemp->findNext())\r\n\t{\r\n\t\taddCurFindRecord(pEditTemp, *results);\r\n\t\t++findNums;\r\n\t\tdealWithZeroFound(pEditTemp);\r\n\t}\r\n\r\n\tallfileInDirRecord->append(results);\r\n\r\n\treturn true;\r\n}\r\n\r\n//在walkDirfile中用作回调函数处理。命中则返回true 第三个参数不需要，为了复用walkdir，暂时保留和findTextInFile一致\r\nbool FindWin::replaceTextInFile(QString &filePath, int &replaceNums, QVector<FindRecords*>*)\r\n{\r\n\tpEditTemp->clear();\r\n\r\n\tif (0 != FileManager::getInstance().loadFileForSearch(pEditTemp, filePath))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tQString find = m_expr;\r\n\tQString replace = m_replaceWithText;\r\n\tif (m_extend)\r\n\t{\r\n\t\tQString extendFind;\r\n\t\tconvertExtendedToString(find, extendFind);\r\n\t\tfind = extendFind;\r\n\r\n\t\tQString extendReplace;\r\n\t\tconvertExtendedToString(replace, extendReplace);\r\n\t\treplace = extendReplace;\r\n\t}\r\n\r\n\tint modifyTimes = doReplaceAll(pEditTemp, find, replace);\r\n\r\n\tif (modifyTimes > 0)\r\n\t{\r\n\t\treplaceNums += modifyTimes;\r\n\t\t//如果进行过替换，则必须要保存一下；否则不能保存，不然文件被修改。\r\n\t\temit sign_replaceSaveFile(filePath, pEditTemp);\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n\r\n//非递归版本的递归文件，从CompareDirs中修改而来\r\n//isSkipBinary:是否跳过二进制 \r\n//isSkipHide:是否处理隐藏文件\r\n//skipMaxSize::处理文件的最大大小，超过则不处理。如果是0，则表示不跳过任何文件\r\n//isfilterFileType:过滤类型，只处理这类类型文件 为true时 fileExtType 不能为空\r\n//fileExtType的格式为：.cpp .h 类似，但是不需要前面的.，传递的时候不传递下来\r\n\r\nint FindWin::walkDirfile(QString path, int &foundTimes, bool isSkipBinary, bool isSkipHide, int skipMaxSize, bool isfilterFileType, QStringList& fileExtType, bool isSkipDir, QStringList & skipDirNames, bool isSkipChildDirs, std::function<bool(QString &, int &, QVector<FindRecords*>* allfileInDirRecord)> foundCallBack, bool isAskAbort)\r\n{\r\n\tQList<QString> dirsList;\r\n\tQString oneDir(path);\r\n\tdirsList.append(oneDir);\r\n\r\n\tint fileNums = 0;\r\n\r\n\tint hitFileNums = 0;\r\n\r\n\t//再获取文件夹到列表\r\n\tQDir::Filters dirfilter;\r\n\r\n\tif (!isSkipHide)\r\n\t{\r\n\t\tdirfilter = QDir::Dirs | QDir::NoDotAndDotDot | QDir::Hidden | QDir::NoSymLinks;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tdirfilter = QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks;\r\n\t}\r\n\r\n\t//过滤文件类型。true 合格，需要处理， false 不合格，跳过\r\n\tauto fileTypeFilter = [&fileExtType](QFileInfo& fileInfo)->bool {\r\n\t\tQString suffix = fileInfo.suffix();\r\n\t\tif (!suffix.isEmpty())\r\n\t\t{\r\n\t\t\treturn (-1 != fileExtType.indexOf(suffix));\r\n\t\t}\r\n\t\t//对于没有后缀的文件，一律跳过\r\n\t\treturn false;\r\n\t};\r\n\r\n\t//是否二进制文件\r\n\tauto binaryFiltre = [](QFileInfo& fi)->bool {\r\n\t\treturn DocTypeListView::isHexExt(fi.suffix());\r\n\t};\r\n\r\n\tProgressWin* loadFileProcessWin = new ProgressWin(this);\r\n\t\r\n\tloadFileProcessWin->setWindowModality(Qt::WindowModal);\r\n\r\n\tloadFileProcessWin->info(tr(\"load dir file in progress\\n, please wait ...\"));\r\n\r\n\tloadFileProcessWin->show();\r\n\r\n\tint dirNums = 0;\r\n\r\n\tbool firstChildDirs = true;\r\n\tint totalStep = 0;\r\n\r\n\tbool canAbort = true;\r\n\tbool canAbortSecond = true;\r\n\r\n\tif (!isAskAbort)\r\n\t{\r\n\t\tcanAbort = false;\r\n\t\tcanAbortSecond = false;\r\n\t}\r\n\r\n\twhile (!dirsList.isEmpty())\r\n\t{\r\n\t\tQString curDir = dirsList.takeFirst();\r\n\r\n\t\tif (!isSkipChildDirs)\r\n\t\t{\r\n\r\n\t\t/*添加path路径文件*/\r\n\t\tQDir dir(curDir);          //遍历各级子目录\r\n\r\n\t\tQFileInfoList folder_list = dir.entryInfoList(dirfilter);   //获取当前所有目录\r\n\r\n\t\tfor (int i = 0; i != folder_list.size(); ++i)         //自动递归添加各目录到上一级目录\r\n\t\t{\r\n\t\t\tQString namepath = folder_list.at(i).absoluteFilePath();    //获取路径\r\n\t\t\tQFileInfo folderinfo = folder_list.at(i);\r\n\r\n\t\t\tif (folderinfo.baseName().isEmpty())\r\n\t\t\t{\r\n\t\t\t\tloadFileProcessWin->info(tr(\"skip dir %1\").arg(namepath));\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tQString name = folderinfo.fileName();      //获取目录名\r\n\r\n\t\t\tif (isSkipDir && (-1 != skipDirNames.indexOf(name)))\r\n\t\t\t{\r\n\t\t\t\tloadFileProcessWin->info(tr(\"skip dir %1\").arg(namepath));\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tdirsList.push_front(namepath);\r\n\r\n\t\t\tdirNums++;\r\n\r\n\t\t\tloadFileProcessWin->info(tr(\"found %1 dir %2\").arg(dirNums).arg(namepath));\r\n\t\t\tQCoreApplication::processEvents(/*QEventLoop::ExcludeUserInputEvents*/);\r\n\t\t}\r\n\r\n\t\tif (firstChildDirs)\r\n\t\t{\r\n\t\t\ttotalStep = dirNums;\r\n\t\t\tloadFileProcessWin->setTotalSteps(dirNums);\r\n\t\t\tfirstChildDirs = false;\r\n\t\t}\r\n\r\n\t\tif (dirsList.size() < totalStep)\r\n\t\t{\r\n\t\t\ttotalStep = dirsList.size();\r\n\t\t\tloadFileProcessWin->moveStep();\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tQDir dir_file(curDir);\r\n\r\n\t\tif (!isSkipHide)\r\n\t\t{\r\n\t\t\tdir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::Hidden | QDir::NoSymLinks);//获取当前所有文件\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tdir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件\r\n\t\t}\r\n\r\n\t\tQFileInfoList list_file = dir_file.entryInfoList();\r\n\t\tfor (int i = 0; i < list_file.size(); ++i)\r\n\t\t{  //将当前目录中所有文件添加到treewidget中\r\n\t\t\tQFileInfo fileInfo = list_file.at(i);\r\n\t\t\tQString namepath = list_file.at(i).absoluteFilePath();    //获取路径\r\n\r\n\t\t\t//不支持所有文件，仅仅支持指定类型文件。没有通过\r\n\t\t\tif (isfilterFileType && !fileTypeFilter(fileInfo))\r\n\t\t\t{\r\n\t\t\t\tloadFileProcessWin->info(tr(\"ext type  skip file %1\").arg(namepath));\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t//大小过滤\r\n\t\t\tif ((skipMaxSize != 0) && fileInfo.size() > skipMaxSize)\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t//二进制过滤//对于二进制文件该如何处理，我觉得必须要过滤，暂时不处理\r\n\t\t\tif (isSkipBinary &&binaryFiltre(fileInfo))\r\n\t\t\t{\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t//回调处理该函数\r\n\t\t\tif (foundCallBack(namepath, foundTimes, nullptr))\r\n\t\t\t{\r\n\t\t\t\t++hitFileNums;\r\n\t\t\t}\r\n\r\n\t\t\tif (i % 2 == 0)\r\n\t\t\t{\r\n\t\t\t\tif (loadFileProcessWin->isCancel())\r\n\t\t\t\t{\r\n\t\t\t\t\tloadFileProcessWin->info(tr(\"found in dir canceled ...\"));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tQCoreApplication::processEvents();\r\n\t\t\t}\r\n\r\n\t\t\tif ((canAbort && (hitFileNums > 100 || foundTimes > 1000)) || (canAbortSecond && foundTimes > 8000))\r\n\t\t\t{\r\n\t\t\t\tint 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\"));\r\n\t\t\t\tif(ret == 1)\r\n\t\t\t\t{\r\n\t\t\t\t\tloadFileProcessWin->setCancel();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tif (canAbort && (hitFileNums > 100 || foundTimes > 1000))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcanAbort = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((canAbortSecond && foundTimes > 8000))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcanAbortSecond = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfileNums += list_file.size();\r\n\r\n\t\tif (loadFileProcessWin->isCancel())\r\n\t\t{\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tif (loadFileProcessWin != nullptr)\r\n\t{\r\n\t\tdelete loadFileProcessWin;\r\n\t\tloadFileProcessWin = nullptr;\r\n\t}\r\n\r\n\treturn fileNums;\r\n}\r\n\r\n\r\n//在目标文件夹中查找\r\nvoid FindWin::slot_dirFindAll()\r\n{\r\n\tQString dirPath = ui.destFindDir->text().trimmed();\r\n\tQString whatFind = ui.dirFindWhat->currentText();\r\n\r\n\tif (dirPath.isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"please select find dest dir !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tif(whatFind.isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tQDir dir(dirPath);\r\n\tif (!dir.exists())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"dest dir %1 not exist !\").arg(dirPath), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tbool isfilterFileType = ui.dealFileType->isChecked();\r\n\tbool isSkipDirs = ui.skipDir->isChecked();\r\n\tQStringList fileExtTypeList;\r\n\tQStringList skipDirNameList;\r\n\r\n\tif (isfilterFileType)\r\n\t{\r\n\t\tQString fileExtType = ui.fileType->text().trimmed();\r\n\t\tif (fileExtType.isEmpty() || (fileExtType == \"*.*\"))\r\n\t\t{\r\n\t\t\tisfilterFileType = false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//格式是*.h:*.c:*.cpp类似的\r\n\t\t\tQStringList typeList = fileExtType.split(\":\");\r\n\t\t\tforeach (QString var, typeList)\r\n\t\t\t{\r\n\t\t\t\tif (var.size() >= 3)\r\n\t\t\t\t{\r\n\t\t\t\t\t//只取后面的h或或cpp后缀\r\n\t\t\t\t\tfileExtTypeList.append(var.mid(2));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (fileExtTypeList.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tisfilterFileType = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (isSkipDirs)\r\n\t{\r\n\t\tQString dirNames = ui.skipDirNames->text().trimmed();\r\n\t\tif (dirNames.isEmpty())\r\n\t\t{\r\n\t\t\tisSkipDirs = false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\r\n\t\t\tQStringList nameList = dirNames.split(\":\");\r\n\t\t\tforeach(QString var, nameList)\r\n\t\t\t{\r\n\t\t\t\tif (var.size() > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t//只取后面的h或或cpp后缀\r\n\t\t\t\t\tskipDirNameList.append(var);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (skipDirNameList.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tisSkipDirs = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\tbool isSkipBinary = ui.skipBinary->isChecked();\r\n\tbool  isSkipHide = ui.skipHideFile->isChecked();\r\n\tint skipMaxSize = (ui.skipFileMaxSize->isChecked()) ? ui.maxFileSizeSpinBox->value()*1024*1024:0;\r\n\tbool isSkipChildDir = ui.skipChildDirs->isChecked();\r\n\r\n\tupdateParameterFromUI();\r\n\r\n\tif (pEditTemp == nullptr)\r\n\t{\r\n\t\tpEditTemp = ScintillaEditView::createEditForSearch();\r\n\t}\r\n\r\n\tint foundNums = 0;\r\n\tQVector<FindRecords*>* allfileInDirRecord = new QVector<FindRecords*>();\r\n\r\n\tstd::function<bool(QString &, int &, QVector<FindRecords*>* allfileInDirRecord)> foundCallBack = std::bind(&FindWin::findTextInFile, this, std::placeholders::_1, std::placeholders::_2, allfileInDirRecord);\r\n\r\n\tint filesNum = walkDirfile(dirPath, foundNums, isSkipBinary, isSkipHide, skipMaxSize, isfilterFileType, fileExtTypeList, isSkipDirs, skipDirNameList, isSkipChildDir, foundCallBack);\r\n\r\n\t//全部替换后，下次查找，必须算第一次查找\r\n\tm_isFindFirst = true;\r\n\tui.statusbar->showMessage(tr(\"find finished, walk %1 files, total %2 found in %3 file!\").arg(filesNum).arg(foundNums).arg(allfileInDirRecord->size()));\r\n\r\n\t//复用了这个信号函数，没有新做消息，要注意\r\n\temit sign_findAllInOpenDoc(allfileInDirRecord, foundNums, whatFind);\r\n\r\n\taddFindHistory(whatFind);\r\n\r\n\t//释放元素\r\n\tfor (int i = 0; i < allfileInDirRecord->size(); ++i)\r\n\t{\r\n\t\tdelete allfileInDirRecord->at(i);\r\n\t}\r\n\r\n\tdelete allfileInDirRecord;\r\n\r\n}\r\n\r\n//目录中直接替换\r\nvoid FindWin::slot_dirReplaceAll()\r\n{\r\n\tQString dirPath = ui.destFindDir->text();\r\n\tQString whatFind = ui.dirFindWhat->currentText();\r\n\tQString dirReplaceWhat = ui.dirReplaceWhat->currentText();\r\n\r\n\tif (dirPath.isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"please select find dest dir !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n}\r\n\r\n\tif (whatFind.isEmpty())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"what find is null !\"), 8000);\r\n\t\tQApplication::beep();\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (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)))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tbool isfilterFileType = ui.dealFileType->isChecked();\r\n\tQStringList fileExtTypeList;\r\n\tbool isSkipDirs = ui.skipDir->isChecked();\r\n\tQStringList skipDirNameList;\r\n\r\n\tif (isfilterFileType)\r\n\t{\r\n\t\tQString fileExtType = ui.fileType->text().trimmed();\r\n\t\tif (fileExtType.isEmpty() || (fileExtType == \"*.*\"))\r\n\t\t{\r\n\t\t\tisfilterFileType = false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//格式是*.h:*.c:*.cpp类似的\r\n\t\t\tQStringList typeList = fileExtType.split(\":\");\r\n\t\t\tforeach(QString var, typeList)\r\n\t\t\t{\r\n\t\t\t\tif (var.size() >= 3)\r\n\t\t\t\t{\r\n\t\t\t\t\t//只取后面的h或或cpp后缀\r\n\t\t\t\t\tfileExtTypeList.append(var.mid(2));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (fileExtTypeList.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tisfilterFileType = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (isSkipDirs)\r\n\t{\r\n\t\tQString dirNames = ui.skipDirNames->text().trimmed();\r\n\t\tif (dirNames.isEmpty())\r\n\t\t{\r\n\t\t\tisSkipDirs = false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\r\n\t\t\tQStringList nameList = dirNames.split(\":\");\r\n\t\t\tforeach(QString var, nameList)\r\n\t\t\t{\r\n\t\t\t\tif (var.size() > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t//只取后面的h或或cpp后缀\r\n\t\t\t\t\tskipDirNameList.append(var);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (skipDirNameList.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tisSkipDirs = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tbool isSkipBinary = ui.skipBinary->isChecked();\r\n\tbool  isSkipHide = ui.skipHideFile->isChecked();\r\n\tint skipMaxSize = (ui.skipFileMaxSize->isChecked()) ? ui.maxFileSizeSpinBox->value() * 1024 * 1024 : 0;\r\n\tbool isSkipChildDir = ui.skipChildDirs->isChecked();\r\n\r\n\taddReplaceHistory(dirReplaceWhat);\r\n\r\n\tupdateParameterFromUI();\r\n\r\n\tif (pEditTemp == nullptr)\r\n\t{\r\n\t\tpEditTemp = ScintillaEditView::createEditForSearch();\r\n\t}\r\n\r\n\tint replaceNums = 0;\r\n\r\n\tstd::function<bool(QString &, int &, QVector<FindRecords*>* allfileInDirRecord)> foundCallBack = std::bind(&FindWin::replaceTextInFile, this, std::placeholders::_1, std::placeholders::_2, nullptr);\r\n\r\n\tint filesNum = walkDirfile(dirPath, replaceNums, isSkipBinary, isSkipHide, skipMaxSize, isfilterFileType, fileExtTypeList, isSkipDirs, skipDirNameList,isSkipChildDir, foundCallBack,false);\r\n\r\n\t//全部替换后，下次查找，必须算第一次查找\r\n\tm_isFindFirst = true;\r\n\tui.statusbar->showMessage(tr(\"replace finished, walk %1 files, total %2 replace !\").arg(filesNum).arg(replaceNums));\r\n}\r\n\r\n\r\n//把正则查找的结果，拷贝到剪切板\r\nvoid  FindWin::on_copyReFindResult()\r\n{\r\n\tif (!ui.findModeRegularBt->isChecked())\r\n\t{\r\n\t\tui.statusbar->showMessage(tr(\"Only regular lookup mode can be used!\"),10000);\r\n\t\treturn;\r\n\t}\r\n\tQStringList reResult;\r\n\r\n\tfindAllInCurDoc(&reResult);\r\n\r\n\tif (!reResult.isEmpty())\r\n\t{\r\n\t\tQClipboard* clipboard = QApplication::clipboard();\r\n\t\tclipboard->setText(reResult.join(\"\\n\"));\r\n\t}\r\n}\r\n\r\nvoid FindWin::on_markAndBook()\r\n{\r\n\tQSet<int> outLineNum;\r\n\tmarkAll(&outLineNum);\r\n\r\n\tQWidget* pw = autoAdjustCurrentEditWin();\r\n\tScintillaEditView* pEdit = dynamic_cast<ScintillaEditView*>(pw);\r\n\r\n\tif (pEdit != nullptr)\r\n\t{\r\n\t\tpEdit->bookmarkAdd(outLineNum);\r\n\t}\r\n\r\n}"
  },
  {
    "path": "src/findwin.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include <QTabWidget>\r\n#include <QVector>\r\n\r\n\r\n#include \"ui_findwin.h\"\r\n#ifndef DEF_FIND_TAB_INDEX\r\n#define DEF_FIND_TAB_INDEX\r\nenum FindTabIndex {\r\n\tFIND_TAB =0,\r\n\tREPLACE_TAB,\r\n\tDIR_FIND_TAB,\r\n\tMARK_TAB,\r\n};\r\n#endif\r\n\r\nclass ScintillaEditView;\r\nclass QsciScintilla;\r\n\r\nstruct FindRecord {\r\n\tint lineNum;\r\n\tint lineStartPos; //行开始位置\r\n\tint pos; //查找字段的开始位置\r\n\tint end; //查找字段的结束位置\r\n\tQString lineContents;\r\n};\r\n\r\nclass FindRecords {\r\npublic:\r\n\tQString findFilePath;\r\n\tQString findText;\r\n\t//是否区分大小写\r\n\t//int caseSensitivity;\r\n\t//int totalMatch; //全词匹配\r\n\tint hightLightColor; //高亮颜色\r\n\r\n\tScintillaEditView* pEdit;\r\n\tQVector<FindRecord> records;\r\n\tFindRecords()\r\n\t{\r\n\t\tpEdit = nullptr;\r\n\t\thightLightColor = 0;\r\n\t}\r\n\t~FindRecords()\r\n\t{\r\n\t\tpEdit = nullptr;\r\n\t}\r\n};\r\n\r\n\r\n\r\nclass FindWin : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tFindWin(QWidget *parent = Q_NULLPTR);\r\n\t~FindWin();\r\n\r\n\r\n\tvoid setCurrentTab(FindTabIndex index);\r\n\tvoid setTabWidget(QTabWidget * editTabWidget);\r\n\tvoid setFindText(QString & text);\r\n\tvoid keywordWinGetFouse(FindTabIndex tabIndex);\r\n\tvoid setReplaceFindText(QString& text);\r\n\tvoid setDirFindText(QString& text);\r\n\tvoid setMarkFindText(QString& text);\r\n\tvoid disableReplace();\r\n\tvoid setFindHistory(QList<QString>* findHistory);\r\n\tvoid setReplaceHistory(QList<QString>* replaceHistory);\r\n\tint markAllWord(QString& word);\r\n\tvoid removeLineHeadEndBlank(int mode);\r\n\tstatic void showCallTip(QsciScintilla * pEdit, int pos);\r\n\tvoid removeEmptyLine(bool isBlankContained);\r\n\tvoid findNext();\r\n\tvoid findPrev();\r\n\tvoid setFindBackward(bool isBackward);\r\n\r\n\tint findAtBack(QStringList& keyword);\r\n\tint markAtBack(QStringList& keyword);\r\n\tint replaceAtBack(QStringList& keyword, QStringList& replace);\r\nprotected:\r\n\t\r\n\tvirtual void focusInEvent(QFocusEvent *ev);\r\n\tvirtual void focusOutEvent(QFocusEvent *ev);\r\n\tvirtual bool eventFilter(QObject * obj, QEvent * event);\r\n\r\n\t//bool eventFilter(QObject *, QEvent *);    //注意这里\r\nsignals:\r\n\tvoid sign_findAllInCurDoc(FindRecords* record);\r\n\tvoid sign_findAllInOpenDoc(QVector<FindRecords*>* record, int hits, QString findText);\r\n\tvoid sign_replaceSaveFile(QString filePath, ScintillaEditView * pEdit);\r\n\tvoid sign_clearResult();\r\n\t//void sign_markAllInCurDoc(FindRecords* record);\r\n\r\nprivate:\r\n\tvoid updateParameterFromUI();\r\n\tvoid addFindHistory(QString & text);\r\n\tvoid addReplaceHistory(QString& text);\r\n\tbool isFirstFind();\r\n\t\r\n\tQString addCurFindRecord(ScintillaEditView * pEdit, FindRecords & recordRet, bool isMark=false, bool getResult=false);\r\n\r\n\tbool findTextInFile(QString & filePath, int & findNums, QVector<FindRecords*>* allfileInDirRecord);\r\n\r\n\tbool replaceTextInFile(QString & filePath, int & replaceNums, QVector<FindRecords*>* r = nullptr);\r\n\r\n\tint walkDirfile(QString path, int & foundTimes, bool isSkipBinary, bool isSkipHide, int skipMaxSize, bool isfilterFileType, QStringList & fileExtType, bool isSkipDir, QStringList & skipDirNames, bool isSkipChildDirs, std::function<bool(QString&, int&, QVector<FindRecords*>*allfileInDirRecord)> foundCallBack, bool isAskAbort=true);\r\n\r\n\tQWidget* autoAdjustCurrentEditWin();\r\n\r\n\tvoid dealWithZeroFound(QsciScintilla * pEdit);\r\n\r\n\tvoid dealWithZeroFoundShowTip(QsciScintilla * pEdit, bool isShowTip=true);\r\n\r\n\tvoid adjustSearchStartPosChange(QsciScintilla* pEdit);\r\n\r\n\tvoid dofindNext();\r\n\r\n\tbool replaceFindNext(QsciScintilla* pEdit, bool showZeroFindTip);\r\n\r\n\tbool replace(ScintillaEditView* pEdit);\r\n\r\n\tint doReplaceAll(ScintillaEditView * pEdit, QString& whatFind, QString& replaceText, bool isCombineUndo = true);\r\n\r\n\tint replaceAll();\r\n\r\n\tint markAll(QSet<int>* outLineNum=nullptr);\r\n\r\n\tint findAllInCurDoc(QStringList * reResult=nullptr);\r\n\r\n\tvoid findAllInOpenDoc(int index = -1);\r\n\r\nprivate slots:\r\n\r\n\tvoid slot_findNext();\r\n\r\n\tvoid slot_findPrev();\r\n\r\n\tvoid slot_findCount();\r\n\r\n\tvoid slot_findAllInCurDoc();\r\n\r\n\tvoid slot_findAllInOpenDoc();\r\n\r\n\tvoid slot_replaceFindNext();\r\n\r\n\tvoid slot_replace();\r\n\r\n\tvoid slot_findModeRegularBtChange(bool checked);\r\n\r\n\tvoid slot_replaceModeRegularBtChange(bool checked);\r\n\r\n\tvoid slot_replaceAll();\r\n\r\n\tvoid slot_replaceAllInOpenDoc();\r\n\r\n\tvoid slot_markAll();\r\n\r\n\tvoid slot_clearMark();\r\n\r\n\tvoid slot_clearAllMark();\r\n\r\n\tvoid slot_dirSelectDest();\r\n\r\n\tvoid slot_dealFileTypeChange(int state);\r\n\r\n\tvoid slot_skipDirChange(int state);\r\n\r\n\tvoid slot_dirFindAll();\r\n\r\n\tvoid slot_dirReplaceAll();\r\n\r\n\tvoid slot_tabIndexChange(int index);\r\n\r\n\tvoid on_copyReFindResult();\r\n\r\n\tvoid on_markAndBook();\r\n\r\nprivate:\r\n\tUi::FindWin ui;\r\n\r\n\tFindWin(const FindWin& other) = delete;\r\n\tFindWin& operator=(const FindWin& other) = delete;\r\n\r\n\tQTabWidget *m_editTabWidget;\r\n\r\n\tQWidget* m_pMainPad;\r\n\t//第一次查找，查找参数变化，认定为第一次查找\r\n\tbool m_isFindFirst;\r\n\r\n\tbool m_BackwardDir;\r\n\tbool m_matchWhole;\r\n\tbool m_matchCase;\r\n\tbool m_matchWrap;\r\n\t\r\n\tint m_searchMode; // 1 normal 2 regular expression 3 Exteral\r\n\r\n\t//find的参数\r\n\tQString m_expr;\r\n\tbool m_re;\r\n\tbool m_cs;\r\n\tbool m_wo;\r\n\tbool m_wrap;\r\n\tbool m_forward;//是否向前查找。注意如果向后，要为false\r\n\tbool m_line;\r\n\tbool m_index;\r\n\tbool m_extend;\r\n\t//bool m_show;\r\n\t//bool m_posix;\r\n\t//bool m_cxx11;\r\n\r\n\tbool m_isFound;\r\n\r\n\tQString m_replaceWithText;\r\n\r\n\t//上次点击的按钮id，如果两次点击的不一样\r\n\t//说明是不同的操作，如果是查找，则当前这次点击算是第一次查找\r\n\tQString m_lastClickBtName;\r\n\r\n\tQList<QString>* m_findHistory;\r\n\r\n\tQList<QString>* m_replaceHistory;\r\n\r\n\tScintillaEditView* pEditTemp;\r\n\r\n\tQWidget* m_curEditWin;\r\n\r\n\tbool m_isStatic;//是否静默处理，不弹确认对话框\r\n\r\n\tbool m_isReverseFind; //是否反向查找。只有在查找前一个时才生效true 下一个必须是false\r\n};\r\n"
  },
  {
    "path": "src/findwin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>FindWin</class>\r\n <widget class=\"QMainWindow\" name=\"FindWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>689</width>\r\n    <height>384</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>MainWindow</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralwidget\">\r\n   <layout class=\"QHBoxLayout\" name=\"horizontalLayout_14\">\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>2</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>2</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QTabWidget\" name=\"findinfilesTab\">\r\n      <property name=\"minimumSize\">\r\n       <size>\r\n        <width>300</width>\r\n        <height>32</height>\r\n       </size>\r\n      </property>\r\n      <property name=\"currentIndex\">\r\n       <number>0</number>\r\n      </property>\r\n      <widget class=\"QWidget\" name=\"tab_find\">\r\n       <attribute name=\"title\">\r\n        <string>find</string>\r\n       </attribute>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n        <property name=\"bottomMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_4\">\r\n          <item>\r\n           <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n            <item>\r\n             <widget class=\"QLabel\" name=\"label\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Preferred\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Find what :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QComboBox\" name=\"findComboBox\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>300</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"maximumSize\">\r\n               <size>\r\n                <width>350</width>\r\n                <height>16777215</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"editable\">\r\n               <bool>true</bool>\r\n              </property>\r\n              <property name=\"maxCount\">\r\n               <number>512</number>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_3\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>20</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n            <item>\r\n             <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"findBackwardBox\">\r\n                <property name=\"text\">\r\n                 <string>Backward direction</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"findMatchWholeBox\">\r\n                <property name=\"text\">\r\n                 <string>Match whole word only</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"findMatchCaseBox\">\r\n                <property name=\"text\">\r\n                 <string>Match case</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"findWrapBox\">\r\n                <property name=\"text\">\r\n                 <string>Wrap around</string>\r\n                </property>\r\n                <property name=\"checked\">\r\n                 <bool>true</bool>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n             </layout>\r\n            </item>\r\n            <item>\r\n             <spacer name=\"verticalSpacer_2\">\r\n              <property name=\"orientation\">\r\n               <enum>Qt::Vertical</enum>\r\n              </property>\r\n              <property name=\"sizeHint\" stdset=\"0\">\r\n               <size>\r\n                <width>20</width>\r\n                <height>20</height>\r\n               </size>\r\n              </property>\r\n             </spacer>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QGroupBox\" name=\"groupBox\">\r\n              <property name=\"title\">\r\n               <string>Search Mode</string>\r\n              </property>\r\n              <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n               <item row=\"2\" column=\"0\">\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n                 <item>\r\n                  <widget class=\"QRadioButton\" name=\"findModeRegularBt\">\r\n                   <property name=\"text\">\r\n                    <string>Regular expression</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n               <item row=\"0\" column=\"0\">\r\n                <widget class=\"QRadioButton\" name=\"findModeNormalBt\">\r\n                 <property name=\"text\">\r\n                  <string>Normal</string>\r\n                 </property>\r\n                 <property name=\"checked\">\r\n                  <bool>true</bool>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n               <item row=\"1\" column=\"0\">\r\n                <widget class=\"QRadioButton\" name=\"findModeExtendBt\">\r\n                 <property name=\"text\">\r\n                  <string>Extend(\\n,\\r,\\t,\\0,\\x...)</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n              </layout>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_13\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findTextNext\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Find Next(F3)</string>\r\n            </property>\r\n            <property name=\"shortcut\">\r\n             <string>F3</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findTextPrev\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Find Prev(F4)</string>\r\n            </property>\r\n            <property name=\"shortcut\">\r\n             <string>F4</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"countBt\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>0</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Counter(T)</string>\r\n            </property>\r\n            <property name=\"shortcut\">\r\n             <string>Ctrl+T</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findAllinCourrent\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>34</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Find All in Current \r\n Document</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findAllinAllOpen\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>34</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Find All in All Opened \r\n Documents</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"copyReResultBt\">\r\n            <property name=\"text\">\r\n             <string>Copy Regular Result</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findClearBt\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>0</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Clear Result</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"findCloseBt\">\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>0</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Close</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n      <widget class=\"QWidget\" name=\"tab_replace\">\r\n       <attribute name=\"title\">\r\n        <string>Replace</string>\r\n       </attribute>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_8\">\r\n        <property name=\"bottomMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_5\">\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_9\">\r\n            <item>\r\n             <layout class=\"QHBoxLayout\" name=\"horizontalLayout_6\">\r\n              <item>\r\n               <widget class=\"QLabel\" name=\"label_3\">\r\n                <property name=\"sizePolicy\">\r\n                 <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Preferred\">\r\n                  <horstretch>0</horstretch>\r\n                  <verstretch>0</verstretch>\r\n                 </sizepolicy>\r\n                </property>\r\n                <property name=\"text\">\r\n                 <string>Find what :</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QComboBox\" name=\"replaceTextBox\">\r\n                <property name=\"minimumSize\">\r\n                 <size>\r\n                  <width>300</width>\r\n                  <height>0</height>\r\n                 </size>\r\n                </property>\r\n                <property name=\"maximumSize\">\r\n                 <size>\r\n                  <width>350</width>\r\n                  <height>16777215</height>\r\n                 </size>\r\n                </property>\r\n                <property name=\"editable\">\r\n                 <bool>true</bool>\r\n                </property>\r\n                <property name=\"maxCount\">\r\n                 <number>512</number>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n             </layout>\r\n            </item>\r\n            <item>\r\n             <layout class=\"QHBoxLayout\" name=\"horizontalLayout_7\">\r\n              <item>\r\n               <widget class=\"QLabel\" name=\"label_4\">\r\n                <property name=\"sizePolicy\">\r\n                 <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Preferred\">\r\n                  <horstretch>0</horstretch>\r\n                  <verstretch>0</verstretch>\r\n                 </sizepolicy>\r\n                </property>\r\n                <property name=\"text\">\r\n                 <string>Replace with :</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QComboBox\" name=\"replaceWithBox\">\r\n                <property name=\"minimumSize\">\r\n                 <size>\r\n                  <width>300</width>\r\n                  <height>0</height>\r\n                 </size>\r\n                </property>\r\n                <property name=\"maximumSize\">\r\n                 <size>\r\n                  <width>350</width>\r\n                  <height>16777215</height>\r\n                 </size>\r\n                </property>\r\n                <property name=\"editable\">\r\n                 <bool>true</bool>\r\n                </property>\r\n                <property name=\"maxCount\">\r\n                 <number>512</number>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n             </layout>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_4\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_6\">\r\n            <item>\r\n             <layout class=\"QVBoxLayout\" name=\"verticalLayout_7\">\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"replaceBackwardBox\">\r\n                <property name=\"text\">\r\n                 <string>Backward direction</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"replaceMatchWholeBox\">\r\n                <property name=\"text\">\r\n                 <string>Match whole word only</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"replaceMatchCaseBox\">\r\n                <property name=\"text\">\r\n                 <string>Match case</string>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n              <item>\r\n               <widget class=\"QCheckBox\" name=\"replaceWrapBox\">\r\n                <property name=\"text\">\r\n                 <string>Wrap around</string>\r\n                </property>\r\n                <property name=\"checked\">\r\n                 <bool>true</bool>\r\n                </property>\r\n               </widget>\r\n              </item>\r\n             </layout>\r\n            </item>\r\n            <item>\r\n             <spacer name=\"verticalSpacer_5\">\r\n              <property name=\"orientation\">\r\n               <enum>Qt::Vertical</enum>\r\n              </property>\r\n              <property name=\"sizeHint\" stdset=\"0\">\r\n               <size>\r\n                <width>20</width>\r\n                <height>20</height>\r\n               </size>\r\n              </property>\r\n             </spacer>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n              <property name=\"title\">\r\n               <string>Search Mode</string>\r\n              </property>\r\n              <layout class=\"QGridLayout\" name=\"gridLayout_3\">\r\n               <item row=\"0\" column=\"0\">\r\n                <widget class=\"QRadioButton\" name=\"replaceModeNormalBox\">\r\n                 <property name=\"text\">\r\n                  <string>Normal</string>\r\n                 </property>\r\n                 <property name=\"checked\">\r\n                  <bool>true</bool>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n               <item row=\"2\" column=\"0\">\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_5\">\r\n                 <item>\r\n                  <widget class=\"QRadioButton\" name=\"replaceModeRegularBt\">\r\n                   <property name=\"text\">\r\n                    <string>Regular expression</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n               <item row=\"1\" column=\"0\">\r\n                <widget class=\"QRadioButton\" name=\"replaceModeExtendBox\">\r\n                 <property name=\"text\">\r\n                  <string>Extend(\\n,\\r,\\t,\\0,\\x...)</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n              </layout>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <spacer name=\"verticalSpacer_14\">\r\n              <property name=\"orientation\">\r\n               <enum>Qt::Vertical</enum>\r\n              </property>\r\n              <property name=\"sizeHint\" stdset=\"0\">\r\n               <size>\r\n                <width>20</width>\r\n                <height>40</height>\r\n               </size>\r\n              </property>\r\n             </spacer>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_8\">\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"replaceFindNextBox\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Find Next</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"replaceBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Replace</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"replaceAllBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Replace All</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"replaceAllinAllOpenBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>34</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Replace All in All Opened \r\n Documents</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"replaceCloseBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>0</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Close</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_6\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n      <widget class=\"QWidget\" name=\"tab_dirfind\">\r\n       <attribute name=\"title\">\r\n        <string>Dir Find</string>\r\n       </attribute>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_10\">\r\n        <property name=\"bottomMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_17\">\r\n          <item>\r\n           <layout class=\"QGridLayout\" name=\"gridLayout_2\">\r\n            <item row=\"0\" column=\"0\">\r\n             <widget class=\"QLabel\" name=\"label_8\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Dest Dir :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"0\" column=\"1\">\r\n             <widget class=\"QLineEdit\" name=\"destFindDir\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>250</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"maximumSize\">\r\n               <size>\r\n                <width>350</width>\r\n                <height>16777215</height>\r\n               </size>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"0\" column=\"2\">\r\n             <widget class=\"QToolButton\" name=\"selectDir\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>0</width>\r\n                <height>20</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Select</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"1\" column=\"0\">\r\n             <widget class=\"QLabel\" name=\"label_5\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Find what :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"1\" column=\"1\">\r\n             <widget class=\"QComboBox\" name=\"dirFindWhat\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>250</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"maximumSize\">\r\n               <size>\r\n                <width>350</width>\r\n                <height>16777215</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"editable\">\r\n               <bool>true</bool>\r\n              </property>\r\n              <property name=\"maxCount\">\r\n               <number>512</number>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QGridLayout\" name=\"gridLayout_5\">\r\n            <item row=\"1\" column=\"0\">\r\n             <widget class=\"QLabel\" name=\"label_6\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Replace with :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"3\" column=\"1\">\r\n             <widget class=\"QLineEdit\" name=\"skipDirNames\">\r\n              <property name=\"enabled\">\r\n               <bool>false</bool>\r\n              </property>\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>300</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"maximumSize\">\r\n               <size>\r\n                <width>350</width>\r\n                <height>16777215</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"placeholderText\">\r\n               <string>debug:Debug:.vs:.git:.svn</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"3\" column=\"0\">\r\n             <widget class=\"QCheckBox\" name=\"skipDir\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Skip Dir Name :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"2\" column=\"1\">\r\n             <widget class=\"QLineEdit\" name=\"fileType\">\r\n              <property name=\"enabled\">\r\n               <bool>false</bool>\r\n              </property>\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>300</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"maximumSize\">\r\n               <size>\r\n                <width>350</width>\r\n                <height>16777215</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"placeholderText\">\r\n               <string>*.c:*.cpp:*.h</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"2\" column=\"0\">\r\n             <widget class=\"QCheckBox\" name=\"dealFileType\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>File Type :</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item row=\"1\" column=\"1\">\r\n             <widget class=\"QComboBox\" name=\"dirReplaceWhat\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>300</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"editable\">\r\n               <bool>true</bool>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_11\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>20</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_13\">\r\n            <item>\r\n             <widget class=\"QCheckBox\" name=\"dirFindMatchWholeBox\">\r\n              <property name=\"text\">\r\n               <string>Match whole word only</string>\r\n              </property>\r\n              <property name=\"checkable\">\r\n               <bool>true</bool>\r\n              </property>\r\n              <property name=\"checked\">\r\n               <bool>false</bool>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QCheckBox\" name=\"dirFindMatchCaseBox\">\r\n              <property name=\"text\">\r\n               <string>Match case</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_12\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>20</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QHBoxLayout\" name=\"horizontalLayout_18\">\r\n            <item>\r\n             <layout class=\"QVBoxLayout\" name=\"verticalLayout_16\">\r\n              <item>\r\n               <widget class=\"QGroupBox\" name=\"groupBox_4\">\r\n                <property name=\"title\">\r\n                 <string>Search Mode</string>\r\n                </property>\r\n                <layout class=\"QGridLayout\" name=\"gridLayout_6\">\r\n                 <item row=\"0\" column=\"0\">\r\n                  <widget class=\"QRadioButton\" name=\"dirFindModeNormalBox\">\r\n                   <property name=\"text\">\r\n                    <string>Normal</string>\r\n                   </property>\r\n                   <property name=\"checked\">\r\n                    <bool>true</bool>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item row=\"2\" column=\"0\">\r\n                  <layout class=\"QHBoxLayout\" name=\"horizontalLayout_13\">\r\n                   <item>\r\n                    <widget class=\"QRadioButton\" name=\"dirFindModeRegularBt\">\r\n                     <property name=\"text\">\r\n                      <string>Regular expression</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                  </layout>\r\n                 </item>\r\n                 <item row=\"1\" column=\"0\">\r\n                  <widget class=\"QRadioButton\" name=\"dirFindModeExtendBox\">\r\n                   <property name=\"text\">\r\n                    <string>Extend(\\n,\\r,\\t,\\0,\\x...)</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                </layout>\r\n               </widget>\r\n              </item>\r\n             </layout>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QGroupBox\" name=\"groupBox_5\">\r\n              <property name=\"title\">\r\n               <string>Options</string>\r\n              </property>\r\n              <layout class=\"QVBoxLayout\" name=\"verticalLayout_14\">\r\n               <item>\r\n                <widget class=\"QCheckBox\" name=\"skipChildDirs\">\r\n                 <property name=\"text\">\r\n                  <string>Skip child dirs</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n               <item>\r\n                <widget class=\"QCheckBox\" name=\"skipHideFile\">\r\n                 <property name=\"text\">\r\n                  <string>Skip hide file</string>\r\n                 </property>\r\n                 <property name=\"checked\">\r\n                  <bool>true</bool>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n               <item>\r\n                <widget class=\"QCheckBox\" name=\"skipBinary\">\r\n                 <property name=\"enabled\">\r\n                  <bool>false</bool>\r\n                 </property>\r\n                 <property name=\"text\">\r\n                  <string>Skip binary file</string>\r\n                 </property>\r\n                 <property name=\"checked\">\r\n                  <bool>true</bool>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n               <item>\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_12\">\r\n                 <property name=\"spacing\">\r\n                  <number>6</number>\r\n                 </property>\r\n                 <item>\r\n                  <widget class=\"QCheckBox\" name=\"skipFileMaxSize\">\r\n                   <property name=\"text\">\r\n                    <string>Skip Big file exceed</string>\r\n                   </property>\r\n                   <property name=\"checked\">\r\n                    <bool>true</bool>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QSpinBox\" name=\"maxFileSizeSpinBox\">\r\n                   <property name=\"minimum\">\r\n                    <number>1</number>\r\n                   </property>\r\n                   <property name=\"maximum\">\r\n                    <number>30</number>\r\n                   </property>\r\n                   <property name=\"value\">\r\n                    <number>20</number>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QLabel\" name=\"label_9\">\r\n                   <property name=\"text\">\r\n                    <string>MB</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n              </layout>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_15\">\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"dirFindAll\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Find All</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"dirReplaceAll\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Replace In File</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"clearBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Clear Result</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"dirClose\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Close</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_10\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n      <widget class=\"QWidget\" name=\"tab_mark\">\r\n       <attribute name=\"title\">\r\n        <string>Mark</string>\r\n       </attribute>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_11\">\r\n        <property name=\"bottomMargin\">\r\n         <number>2</number>\r\n        </property>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_11\">\r\n          <item>\r\n           <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\">\r\n            <item>\r\n             <widget class=\"QLabel\" name=\"label_2\">\r\n              <property name=\"sizePolicy\">\r\n               <sizepolicy hsizetype=\"Minimum\" vsizetype=\"Preferred\">\r\n                <horstretch>0</horstretch>\r\n                <verstretch>0</verstretch>\r\n               </sizepolicy>\r\n              </property>\r\n              <property name=\"text\">\r\n               <string>Mark What</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QComboBox\" name=\"markTextBox\">\r\n              <property name=\"minimumSize\">\r\n               <size>\r\n                <width>300</width>\r\n                <height>0</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"maximumSize\">\r\n               <size>\r\n                <width>350</width>\r\n                <height>16777215</height>\r\n               </size>\r\n              </property>\r\n              <property name=\"editable\">\r\n               <bool>true</bool>\r\n              </property>\r\n              <property name=\"maxCount\">\r\n               <number>512</number>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_7\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>20</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_10\">\r\n            <item>\r\n             <widget class=\"QCheckBox\" name=\"markMatchWholeBox\">\r\n              <property name=\"text\">\r\n               <string>Match whole word only</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QCheckBox\" name=\"markMatchCaseBox\">\r\n              <property name=\"text\">\r\n               <string>Match case</string>\r\n              </property>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_8\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>20</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QGroupBox\" name=\"groupBox_3\">\r\n            <property name=\"title\">\r\n             <string>Search Mode</string>\r\n            </property>\r\n            <layout class=\"QGridLayout\" name=\"gridLayout_4\">\r\n             <item row=\"2\" column=\"0\">\r\n              <layout class=\"QHBoxLayout\" name=\"horizontalLayout_9\">\r\n               <item>\r\n                <widget class=\"QRadioButton\" name=\"markModeRegularBt\">\r\n                 <property name=\"text\">\r\n                  <string>Regular expression</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n              </layout>\r\n             </item>\r\n             <item row=\"0\" column=\"0\">\r\n              <widget class=\"QRadioButton\" name=\"markModeNormalBox\">\r\n               <property name=\"text\">\r\n                <string>Normal</string>\r\n               </property>\r\n               <property name=\"checked\">\r\n                <bool>true</bool>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n             <item row=\"1\" column=\"0\">\r\n              <widget class=\"QRadioButton\" name=\"markModeExtendBox\">\r\n               <property name=\"text\">\r\n                <string>Extend(\\n,\\r,\\t,\\0,\\x...)</string>\r\n               </property>\r\n              </widget>\r\n             </item>\r\n            </layout>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_15\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QVBoxLayout\" name=\"verticalLayout_12\">\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"markAllBox\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Mark All</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"pushButton\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Mark &amp; Bookmark</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"markClearBox\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Clear Mark</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"markClearAllBox\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Clear All</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"markCloseBt\">\r\n            <property name=\"sizePolicy\">\r\n             <sizepolicy hsizetype=\"Preferred\" vsizetype=\"Fixed\">\r\n              <horstretch>0</horstretch>\r\n              <verstretch>0</verstretch>\r\n             </sizepolicy>\r\n            </property>\r\n            <property name=\"minimumSize\">\r\n             <size>\r\n              <width>200</width>\r\n              <height>28</height>\r\n             </size>\r\n            </property>\r\n            <property name=\"text\">\r\n             <string>Close</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"verticalSpacer_9\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Vertical</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>20</width>\r\n              <height>40</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </widget>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusbar\"/>\r\n </widget>\r\n <tabstops>\r\n  <tabstop>findinfilesTab</tabstop>\r\n  <tabstop>findComboBox</tabstop>\r\n  <tabstop>findTextNext</tabstop>\r\n  <tabstop>findTextPrev</tabstop>\r\n  <tabstop>countBt</tabstop>\r\n  <tabstop>findAllinCourrent</tabstop>\r\n  <tabstop>findAllinAllOpen</tabstop>\r\n  <tabstop>findClearBt</tabstop>\r\n  <tabstop>findCloseBt</tabstop>\r\n  <tabstop>findBackwardBox</tabstop>\r\n  <tabstop>findMatchWholeBox</tabstop>\r\n  <tabstop>findMatchCaseBox</tabstop>\r\n  <tabstop>findWrapBox</tabstop>\r\n  <tabstop>findModeNormalBt</tabstop>\r\n  <tabstop>findModeExtendBt</tabstop>\r\n  <tabstop>findModeRegularBt</tabstop>\r\n  <tabstop>replaceTextBox</tabstop>\r\n  <tabstop>replaceFindNextBox</tabstop>\r\n  <tabstop>replaceBt</tabstop>\r\n  <tabstop>replaceAllBt</tabstop>\r\n  <tabstop>replaceAllinAllOpenBt</tabstop>\r\n  <tabstop>replaceCloseBt</tabstop>\r\n  <tabstop>replaceBackwardBox</tabstop>\r\n  <tabstop>replaceMatchWholeBox</tabstop>\r\n  <tabstop>replaceMatchCaseBox</tabstop>\r\n  <tabstop>replaceWrapBox</tabstop>\r\n  <tabstop>replaceModeNormalBox</tabstop>\r\n  <tabstop>replaceModeExtendBox</tabstop>\r\n  <tabstop>replaceModeRegularBt</tabstop>\r\n  <tabstop>destFindDir</tabstop>\r\n  <tabstop>dirFindWhat</tabstop>\r\n  <tabstop>selectDir</tabstop>\r\n  <tabstop>dirFindAll</tabstop>\r\n  <tabstop>dirReplaceAll</tabstop>\r\n  <tabstop>clearBt</tabstop>\r\n  <tabstop>dirClose</tabstop>\r\n  <tabstop>dealFileType</tabstop>\r\n  <tabstop>fileType</tabstop>\r\n  <tabstop>skipDir</tabstop>\r\n  <tabstop>skipDirNames</tabstop>\r\n  <tabstop>dirFindMatchWholeBox</tabstop>\r\n  <tabstop>dirFindMatchCaseBox</tabstop>\r\n  <tabstop>dirFindModeNormalBox</tabstop>\r\n  <tabstop>dirFindModeExtendBox</tabstop>\r\n  <tabstop>dirFindModeRegularBt</tabstop>\r\n  <tabstop>skipChildDirs</tabstop>\r\n  <tabstop>skipHideFile</tabstop>\r\n  <tabstop>skipBinary</tabstop>\r\n  <tabstop>skipFileMaxSize</tabstop>\r\n  <tabstop>maxFileSizeSpinBox</tabstop>\r\n  <tabstop>markTextBox</tabstop>\r\n  <tabstop>markAllBox</tabstop>\r\n  <tabstop>markClearBox</tabstop>\r\n  <tabstop>markClearAllBox</tabstop>\r\n  <tabstop>markCloseBt</tabstop>\r\n  <tabstop>markMatchWholeBox</tabstop>\r\n  <tabstop>markMatchCaseBox</tabstop>\r\n  <tabstop>markModeNormalBox</tabstop>\r\n  <tabstop>markModeExtendBox</tabstop>\r\n  <tabstop>markModeRegularBt</tabstop>\r\n </tabstops>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>findTextNext</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_findNext()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>457</x>\r\n     <y>51</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>422</x>\r\n     <y>329</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>findCloseBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>672</x>\r\n     <y>291</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>169</x>\r\n     <y>327</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>findAllinAllOpen</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_findAllInOpenDoc()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>572</x>\r\n     <y>203</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>322</x>\r\n     <y>327</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>findAllinCourrent</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_findAllInCurDoc()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>572</x>\r\n     <y>153</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>548</x>\r\n     <y>328</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>replaceFindNextBox</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_replaceFindNext()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>458</x>\r\n     <y>61</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>588</x>\r\n     <y>302</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>replaceCloseBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>458</x>\r\n     <y>198</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>588</x>\r\n     <y>273</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>replaceBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_replace()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>458</x>\r\n     <y>95</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>588</x>\r\n     <y>204</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>replaceAllBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_replaceAll()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>458</x>\r\n     <y>129</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>588</x>\r\n     <y>145</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>replaceAllinAllOpenBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_replaceAllInOpenDoc()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>458</x>\r\n     <y>169</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>588</x>\r\n     <y>115</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>markAllBox</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_markAll()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>489</x>\r\n     <y>55</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>501</x>\r\n     <y>0</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>markClearBox</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_clearMark()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>672</x>\r\n     <y>129</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>588</x>\r\n     <y>0</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>markCloseBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>672</x>\r\n     <y>197</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>404</x>\r\n     <y>0</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>dirClose</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>572</x>\r\n     <y>142</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>564</x>\r\n     <y>337</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>selectDir</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_dirSelectDest()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>402</x>\r\n     <y>54</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>502</x>\r\n     <y>332</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>dirFindAll</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_dirFindAll()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>572</x>\r\n     <y>55</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>445</x>\r\n     <y>337</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>dirReplaceAll</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_dirReplaceAll()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>572</x>\r\n     <y>84</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>333</x>\r\n     <y>337</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>countBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_findCount()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>572</x>\r\n     <y>113</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>377</x>\r\n     <y>361</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>findTextPrev</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_findPrev()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>484</x>\r\n     <y>73</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>294</x>\r\n     <y>180</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>markClearAllBox</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>slot_clearAllMark()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>672</x>\r\n     <y>163</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>574</x>\r\n     <y>366</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>copyReResultBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>on_copyReFindResult()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>534</x>\r\n     <y>222</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>344</x>\r\n     <y>191</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>FindWin</receiver>\r\n   <slot>on_markAndBook()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>565</x>\r\n     <y>77</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>434</x>\r\n     <y>386</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_findNext()</slot>\r\n  <slot>slot_findCount()</slot>\r\n  <slot>slot_findAllInCurDoc()</slot>\r\n  <slot>slot_findAllInOpenDoc()</slot>\r\n  <slot>slot_replace()</slot>\r\n  <slot>slot_replaceFindNext()</slot>\r\n  <slot>slot_replaceAll()</slot>\r\n  <slot>slot_replaceAllInOpenDoc()</slot>\r\n  <slot>slot_markAll()</slot>\r\n  <slot>slot_clearMark()</slot>\r\n  <slot>slot_dirFindAll()</slot>\r\n  <slot>slot_dirReplaceAll()</slot>\r\n  <slot>slot_dirSelectDest()</slot>\r\n  <slot>sign_clearResult()</slot>\r\n  <slot>slot_findPrev()</slot>\r\n  <slot>slot_clearAllMark()</slot>\r\n  <slot>on_copyReFindResult()</slot>\r\n  <slot>on_markAndBook()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/gotolinewin.cpp",
    "content": "#include \"gotolinewin.h\"\r\n\r\nGoToLineWin::GoToLineWin(QWidget *parent)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\nGoToLineWin::~GoToLineWin()\r\n{\r\n}\r\n\r\nvoid GoToLineWin::slot_ok()\r\n{\r\n\tbool ok;\r\n\tint lineNums = ui.lineEditNum->text().toInt(&ok);\r\n\tif (ok && lineNums>=1)\r\n\t{\r\n\t\tint dire = (ui.radioButton->isChecked() ? 0 : 1);\r\n\t\temit sign_gotoLine(dire, lineNums-1);\r\n\t\tclose();\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/gotolinewin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_gotolinewin.h\"\r\n\r\nclass GoToLineWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tGoToLineWin(QWidget *parent = Q_NULLPTR);\r\n\t~GoToLineWin();\r\n\r\nsignals:\r\n\tvoid sign_gotoLine(int dire, int lineNum);\r\n\r\nprivate slots:\r\n\tvoid slot_ok();\r\n\r\nprivate:\r\n\tUi::GoToLineWin ui;\r\n};\r\n"
  },
  {
    "path": "src/gotolinewin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>GoToLineWin</class>\r\n <widget class=\"QWidget\" name=\"GoToLineWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>253</width>\r\n    <height>104</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>260</width>\r\n    <height>140</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>GoToLineWin</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/notebook.png</normaloff>:/Resources/edit/global/notebook.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <property name=\"spacing\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"leftMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <property name=\"spacing\">\r\n      <number>3</number>\r\n     </property>\r\n     <item>\r\n      <widget class=\"QLabel\" name=\"label\">\r\n       <property name=\"text\">\r\n        <string>Line Num</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QLineEdit\" name=\"lineEditNum\">\r\n       <property name=\"maxLength\">\r\n        <number>10</number>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n     <property name=\"spacing\">\r\n      <number>3</number>\r\n     </property>\r\n     <item>\r\n      <widget class=\"QRadioButton\" name=\"radioButton\">\r\n       <property name=\"text\">\r\n        <string>Left</string>\r\n       </property>\r\n       <property name=\"checked\">\r\n        <bool>true</bool>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QRadioButton\" name=\"radioButton_2\">\r\n       <property name=\"text\">\r\n        <string>Right</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n     <property name=\"spacing\">\r\n      <number>3</number>\r\n     </property>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton\">\r\n       <property name=\"text\">\r\n        <string>Ok</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton_2\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButton_2</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>GoToLineWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>211</x>\r\n     <y>118</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>252</x>\r\n     <y>113</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>GoToLineWin</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>98</x>\r\n     <y>114</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>1</x>\r\n     <y>109</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>lineEditNum</sender>\r\n   <signal>editingFinished()</signal>\r\n   <receiver>GoToLineWin</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>179</x>\r\n     <y>27</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>247</x>\r\n     <y>49</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_ok()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/hexcmprangewin.cpp",
    "content": "#include \"hexcmprangewin.h\"\r\n\r\n#include <QLineEdit>\r\n#include <QMessageBox>\r\n\r\nHexCmpRangeWin::HexCmpRangeWin(QWidget *parent)\r\n\t: QDialog(parent), m_isCancel(true)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tconnect(ui.leftStartPos, &QLineEdit::textChanged, this, &HexCmpRangeWin::slot_asyncStartPos);\r\n\tconnect(ui.leftCmpLens, &QLineEdit::textChanged, this, &HexCmpRangeWin::slot_asyncLenPos);\r\n\r\n}\r\n\r\nHexCmpRangeWin::~HexCmpRangeWin()\r\n{\r\n}\r\n\r\nvoid HexCmpRangeWin::slot_ok()\r\n{\r\n\tm_isCancel = false;\r\n\tclose();\r\n}\r\n\r\n//ͨߵֵͬұߡұ߲ͬߣû\r\nvoid HexCmpRangeWin::slot_asyncStartPos(const QString& text)\r\n{\r\n\tui.rightStartPos->setText(text);\r\n}\r\n\r\nvoid HexCmpRangeWin::slot_asyncLenPos(const QString& text)\r\n{\r\n\tui.rightCmpLens->setText(text);\r\n}\r\n\r\n\r\n//ȡ򲻷κЧΧֵ;ֵҲ\r\nconst int MAX_CMP_LENS = 1024 * 1024 * 10;\r\n\r\nvoid HexCmpRangeWin::getRange(bool & isCancel, qint64 & leftStartPos, int & leftCmpLen, qint64 & rightStartPos, int & rightCmpLen)\r\n{\r\n\tisCancel = m_isCancel;\r\n\r\n\tif (isCancel)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tbool ok = false;\r\n\tbool ok1 = false;\r\n\tbool ok2 = false;\r\n\tbool ok3 = false;\r\n\r\n\tleftStartPos = ui.leftStartPos->text().toULongLong(&ok);\r\n\tleftCmpLen = ui.leftCmpLens->text().toInt(&ok1);\r\n\r\n\trightStartPos = ui.rightStartPos->text().toULongLong(&ok2);\r\n\trightCmpLen = ui.rightCmpLens->text().toInt(&ok3);\r\n\r\n\tif (!ok || !ok1 || !ok2 || !ok3)\r\n\t{\r\n\t\tisCancel = true;\r\n\t\tleftStartPos = -1;\r\n\t\trightStartPos = -1;\r\n\t\tleftCmpLen = 0;\r\n\t\trightCmpLen = 0;\r\n\r\n\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"StartPos or cmpare lens value error.\"));\r\n\r\n\t\treturn;\r\n\t}\r\n\tif (leftCmpLen > MAX_CMP_LENS)\r\n\t{\r\n\t\tleftCmpLen = MAX_CMP_LENS;\r\n\t}\r\n\tif (rightCmpLen > MAX_CMP_LENS)\r\n\t{\r\n\t\trightCmpLen = MAX_CMP_LENS;\r\n\t}\r\n\r\n}\r\n"
  },
  {
    "path": "src/hexcmprangewin.h",
    "content": "#pragma once\r\n\r\n#include <QDialog>\r\n#include \"ui_hexcmprangewin.h\"\r\n\r\nclass HexCmpRangeWin : public QDialog\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tHexCmpRangeWin(QWidget *parent = Q_NULLPTR);\r\n\t~HexCmpRangeWin();\r\n\tvoid getRange(bool & isCancel, qint64 & leftStartPos, int & leftCmpLen, qint64 & rightStartPos, int & rightCmpLen);\r\n\r\nprivate slots:\r\n\tvoid slot_ok();\r\n\tvoid slot_asyncStartPos(const QString & text);\r\n\tvoid slot_asyncLenPos(const QString & text);\r\n\r\n\r\nprivate:\r\n\tUi::HexCmpRangeWin ui;\r\n\r\n\tbool m_isCancel;\r\n};\r\n"
  },
  {
    "path": "src/hexcmprangewin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>HexCmpRangeWin</class>\r\n <widget class=\"QWidget\" name=\"HexCmpRangeWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>524</width>\r\n    <height>167</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>550</width>\r\n    <height>16777215</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>HexCmpRangeWin</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <item>\r\n    <widget class=\"QLabel\" name=\"label\">\r\n     <property name=\"maximumSize\">\r\n      <size>\r\n       <width>16777215</width>\r\n       <height>50</height>\r\n      </size>\r\n     </property>\r\n     <property name=\"text\">\r\n      <string>Max Bin File Size is 10M ! Exceeding file size ! \r\nSelect a shorter range for comparison. </string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Select Range</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_2\">\r\n          <property name=\"text\">\r\n           <string>Left Start Pos: </string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"leftStartPos\">\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>100</width>\r\n            <height>16777215</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"text\">\r\n           <string>0</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_5\">\r\n          <property name=\"text\">\r\n           <string>Left Compare Length:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"leftCmpLens\">\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>100</width>\r\n            <height>16777215</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"text\">\r\n           <string>10240</string>\r\n          </property>\r\n          <property name=\"maxLength\">\r\n           <number>8</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_3\">\r\n          <property name=\"text\">\r\n           <string>Right Start Pos:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"rightStartPos\">\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>100</width>\r\n            <height>16777215</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"text\">\r\n           <string>0</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_6\">\r\n          <property name=\"text\">\r\n           <string>Right Compare Length:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"rightCmpLens\">\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>100</width>\r\n            <height>16777215</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"text\">\r\n           <string>10240</string>\r\n          </property>\r\n          <property name=\"maxLength\">\r\n           <number>8</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_7\">\r\n     <item>\r\n      <widget class=\"QLabel\" name=\"label_4\">\r\n       <property name=\"text\">\r\n        <string/>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton\">\r\n       <property name=\"text\">\r\n        <string>Ok</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton_2\">\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButton_2</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>HexCmpRangeWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>316</x>\r\n     <y>143</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>394</x>\r\n     <y>163</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>HexCmpRangeWin</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>207</x>\r\n     <y>143</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>141</x>\r\n     <y>158</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_ok()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/hexfilegoto.cpp",
    "content": "#include \"hexfilegoto.h\"\r\n\r\nHexFileGoto::HexFileGoto(QWidget *parent)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tconnect(ui.lineEditDecAddr, &QLineEdit::textChanged, this, &HexFileGoto::slot_showDecInfo);\r\n\tconnect(ui.lineEditHexAddr, &QLineEdit::textChanged, this, &HexFileGoto::slot_showHexInfo);\r\n}\r\n\r\nHexFileGoto::~HexFileGoto()\r\n{\r\n}\r\n\r\n//ʾΪ\r\nvoid HexFileGoto::slot_showDecInfo(const QString &text)\r\n{\r\n\tbool ok;\r\n\tqlonglong num = text.toLongLong(&ok, 10);\r\n\r\n\tif (ok)\r\n\t{\r\n\t\tQString v = QString(\"Dec : %1 \\nHex : 0x%2 \").arg(QString::number(num, 10)).arg(QString::number(num, 16));\r\n\t\tui.textBrowser->setText(v);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tQString v = QString(\"Dec : error \\nHex : error \");\r\n\t\tui.textBrowser->setText(v);\r\n\t}\r\n}\r\n\r\nvoid HexFileGoto::slot_showHexInfo(const QString &text)\r\n{\r\n\tbool ok;\r\n\tqlonglong num = text.toLongLong(&ok, 16);\r\n\r\n\tif (ok)\r\n\t{\r\n\t\tQString v = QString(\"Dec : %1 \\nHex : 0x%2 \").arg(QString::number(num, 10)).arg(QString::number(num, 16));\r\n\t\tui.textBrowser->setText(v);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tQString v = QString(\"Dec : error \\nHex : error \");\r\n\t\tui.textBrowser->setText(v);\r\n\t}\r\n}\r\n\r\nqint64 HexFileGoto::getFileAddr()\r\n{\r\n\tbool ok;\r\n\tqint64 ret = 0;\r\n\r\n\tif (ui.radioButtonHex->isChecked())\r\n\t{\r\n\t\tret = ui.lineEditHexAddr->text().toLongLong(&ok,16);\r\n\r\n\t\tui.lineEditDecAddr->setText(QString::number(ret));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tret = ui.lineEditDecAddr->text().toLongLong(&ok);\r\n\r\n\t\tui.lineEditHexAddr->setText(QString::number(ret,16));\r\n\t}\r\n\r\n\treturn (ok ? ret: -1);\r\n}\r\n\r\nvoid HexFileGoto::slot_goto()\r\n{\r\n\temit gotoClick(getFileAddr());\r\n}\r\n"
  },
  {
    "path": "src/hexfilegoto.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_hexfilegoto.h\"\r\n\r\nclass HexFileGoto : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tHexFileGoto(QWidget *parent = Q_NULLPTR);\r\n\t~HexFileGoto();\r\n\tqint64 getFileAddr();\r\n\r\nsignals:\r\n\tvoid gotoClick(qint64 addr);\r\n\r\nprivate slots:\r\n\tvoid slot_goto();\r\n\tvoid slot_showDecInfo(const QString & text);\r\n\tvoid slot_showHexInfo(const QString & text);\r\n\r\nprivate:\r\n\tUi::HexFileGoto ui;\r\n};\r\n"
  },
  {
    "path": "src/hexfilegoto.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>HexFileGoto</class>\r\n <widget class=\"QWidget\" name=\"HexFileGoto\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>290</width>\r\n    <height>141</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>290</width>\r\n    <height>215</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>HexFileGoto</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/notebook.png</normaloff>:/Resources/edit/global/notebook.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <property name=\"spacing\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"leftMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>2</number>\r\n   </property>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Addr</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n      <property name=\"spacing\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"leftMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"topMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"rightMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"bottomMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <item>\r\n         <widget class=\"QRadioButton\" name=\"radioButtonDec\">\r\n          <property name=\"text\">\r\n           <string>Dec Addr</string>\r\n          </property>\r\n          <property name=\"checked\">\r\n           <bool>true</bool>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"lineEditDecAddr\">\r\n          <property name=\"maxLength\">\r\n           <number>15</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n        <item>\r\n         <widget class=\"QRadioButton\" name=\"radioButtonHex\">\r\n          <property name=\"text\">\r\n           <string>Hex Addr</string>\r\n          </property>\r\n          <property name=\"checked\">\r\n           <bool>false</bool>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"lineEditHexAddr\">\r\n          <property name=\"maxLength\">\r\n           <number>12</number>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QTextBrowser\" name=\"textBrowser\">\r\n     <property name=\"maximumSize\">\r\n      <size>\r\n       <width>16777215</width>\r\n       <height>45</height>\r\n      </size>\r\n     </property>\r\n     <property name=\"readOnly\">\r\n      <bool>true</bool>\r\n     </property>\r\n     <property name=\"acceptRichText\">\r\n      <bool>false</bool>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButtonOk\">\r\n       <property name=\"text\">\r\n        <string>Go to</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButtonClose\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButtonClose</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>HexFileGoto</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>156</x>\r\n     <y>112</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>283</x>\r\n     <y>145</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButtonOk</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>HexFileGoto</receiver>\r\n   <slot>slot_goto()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>122</x>\r\n     <y>126</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>132</x>\r\n     <y>150</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_goto()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/hexrulewin.cpp",
    "content": "#include \"hexrulewin.h\"\r\n\r\nHexRuleWin::HexRuleWin(int mode, int highlight, QWidget *parent): QWidget(parent), m_mode(mode), m_isHighlightBackgroud(highlight)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tif (mode == 0)\r\n\t{\r\n\t\tui.maxLcsMode->setChecked(true);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.byteCmpMode->setChecked(true);\r\n\t}\r\n\r\n\tui.hightlightBack->setChecked((highlight == 0) ? false : true);\r\n}\r\n\r\nHexRuleWin::~HexRuleWin()\r\n{\r\n}\r\n\r\n\r\nvoid HexRuleWin::slot_okBt()\r\n{\r\n\tint nowMode = (ui.maxLcsMode->isChecked() ? 0 : 1);\r\n\r\n\tint highLight = (ui.hightlightBack->isChecked() ? 1 : 0);\r\n\r\n\tif ((nowMode != m_mode) || (highLight != m_isHighlightBackgroud))\r\n\t{\r\n\t\tm_mode = nowMode;\r\n\t\tm_isHighlightBackgroud = highLight;\r\n\t\temit modeChange(m_mode, m_isHighlightBackgroud);\r\n\t}\r\n\tclose();\r\n}\r\n"
  },
  {
    "path": "src/hexrulewin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_hexrulewin.h\"\r\n\r\nclass HexRuleWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tHexRuleWin(int mode=0, int highlight=0, QWidget *parent = Q_NULLPTR);\r\n\t~HexRuleWin();\r\n\r\nsignals:\r\n\tvoid modeChange(int mode, int highlightBack);\r\n\r\nprivate slots:\r\n\tvoid slot_okBt();\r\n\r\nprivate:\r\n\tUi::HexRuleWin ui;\r\n\tint m_mode;\r\n\tint m_isHighlightBackgroud;\r\n};\r\n"
  },
  {
    "path": "src/hexrulewin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>HexRuleWin</class>\r\n <widget class=\"QWidget\" name=\"HexRuleWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>332</width>\r\n    <height>152</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>350</width>\r\n    <height>160</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>HexRuleWinRule</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Mode</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n      <item>\r\n       <widget class=\"QRadioButton\" name=\"maxLcsMode\">\r\n        <property name=\"text\">\r\n         <string>Maximum Common String</string>\r\n        </property>\r\n        <property name=\"checked\">\r\n         <bool>true</bool>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QRadioButton\" name=\"byteCmpMode\">\r\n        <property name=\"text\">\r\n         <string>One-to-one Byte Contrast</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QCheckBox\" name=\"hightlightBack\">\r\n     <property name=\"text\">\r\n      <string>Highlight diff Background</string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <spacer name=\"verticalSpacer\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Vertical</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>20</width>\r\n       <height>40</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"okBt\">\r\n       <property name=\"text\">\r\n        <string>OK</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"cancelBt\">\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>HexRuleWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>209</x>\r\n     <y>130</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>326</x>\r\n     <y>116</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>okBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>HexRuleWin</receiver>\r\n   <slot>slot_okBt()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>106</x>\r\n     <y>128</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>55</x>\r\n     <y>117</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_okBt()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/include/pluginGl.h",
    "content": "#pragma once\r\n#include <QString>\r\n#include <QMenu>\r\n\r\n#define NDD_EXPORTDLL\r\n\r\n#if defined(Q_OS_WIN)\r\n\t#if defined(NDD_EXPORTDLL)\r\n\t\t#define NDD_EXPORT __declspec(dllexport)\r\n\t#else\r\n\t\t#define NDD_EXPORT __declspec(dllimport)\r\n\t#endif\r\n#else\r\n\t#define NDD_EXPORT __attribute__((visibility(\"default\")))\r\n#endif\r\n\r\nstruct ndd_proc_data\r\n{\r\n\tQString m_strPlugName; // ѡ\r\n\tQString m_strFilePath; //lib ȫ·ѡڲù,򴫵\r\n\tQString m_strComment; //˵\r\n\tQString m_version; //汾롣ѡ\r\n\tQString m_auther;//ơѡ\r\n\tint m_menuType;//˵͡0ʹö˵ 1˵\r\n\tQMenu* m_rootMenu;//m_menuType = 1˵ĵֵַnullptr\r\n\r\n\tndd_proc_data(): m_rootMenu(nullptr), m_menuType(0)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\n\r\ntypedef struct ndd_proc_data NDD_PROC_DATA;\r\n\r\ntypedef bool (*NDD_PROC_IDENTIFY_CALLBACK)(NDD_PROC_DATA* pProcData);\r\ntypedef void (*NDD_PROC_FOUND_CALLBACK)(NDD_PROC_DATA* pProcData, void* pUserData);\r\n"
  },
  {
    "path": "src/installer/NsisMultiUser/Include/NsisMultiUser.nsh",
    "content": "/*\n\nNsisMultiUser.nsh - NSIS plugin that allows \"per-user\" (no admin required) and \"per-machine\" (asks elevation *only when necessary*) installations\n\nFull source code, documentation and demos at https://github.com/Drizin/NsisMultiUser/\n\nCopyright 2016-2018 Ricardo Drizin, Alex Mitev\n\n*/\n\n!verbose push\n!verbose 3\n\n; Standard NSIS header files\n!include nsDialogs.nsh\n!include LogicLib.nsh\n!include x64.nsh\n!include WinVer.nsh\n!include FileFunc.nsh\n!include UAC.nsh\n!include StrFunc.nsh\n\nRequestExecutionLevel user ; will ask elevation only if necessary\n\n; exit and error codes\n!define MULTIUSER_ERROR_INVALID_PARAMETERS 666660 ; invalid command-line parameters\n!define MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED 666661 ; elevation is restricted by MULTIUSER_INSTALLMODE_ALLOW_ELEVATION or MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT\n!define MULTIUSER_ERROR_NOT_INSTALLED 666662 ; returned from uninstaller when no version is installed\n!define MULTIUSER_ERROR_RUN_UNINSTALLER_FAILED 666663 ; returned from installer if executing the uninstaller failed\n!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\n!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)\n\n!macro MULTIUSER_INIT_VARS\n\t; required defines\n\t!ifndef PRODUCT_NAME | VERSION | PROGEXE\n\t\t!error \"Should define all variables: PRODUCT_NAME, VERSION, PROGEXE\"\n\t!endif\n\n\t; optional defines\n\t; COMPANY_NAME - stored in uninstall info in registry\n\t; CONTACT - stored in uninstall info in registry\n\t; COMMENTS - stored in uninstall info in registry\n\t; URL_INFO_ABOUT - stored as the Support Link in the uninstall info of the registry, and when not included, the Help Link as well.\n\t; URL_HELP_LINK - stored as the Help Link in the uninstall info of the registry.\n\t; URL_UPDATE_INFO - stored as the Update Information in the uninstall info of the registry.\n\t; MULTIUSER_INSTALLMODE_NO_HELP_DIALOG - don't show help dialog\n\n\t!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\n\t!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)\n\t!if \"${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION}\" == \"\" ; old code - just defined with no value, equivalent to 1\n\t\t!define /redef MULTIUSER_INSTALLMODE_ALLOW_ELEVATION 1\n\t!endif\n\t!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\n\t!if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION} = 0\n\t\t!if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT} = 1\n\t\t\t!error \"MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT can be set only when MULTIUSER_INSTALLMODE_ALLOW_ELEVATION is set!\"\n\t\t!endif\n\t!endif\n\t!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\n\t!if \"${MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS}\" == \"\" ; old code - just defined with no value, equivalent to 1\n\t\t!define /redef MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS 1\n\t!endif\n\t!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\n\t!if \"${MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER}\" == \"\" ; old code - just defined with no value, equivalent to 1\n\t\t!define /redef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER 1\n\t!endif\n\t!define /ifndef MULTIUSER_INSTALLMODE_64_BIT 0 ; set to 1 for 64-bit installers\n\t!define /ifndef MULTIUSER_INSTALLMODE_INSTDIR \"${PRODUCT_NAME}\" ; suggested name of directory to install (under $PROGRAMFILES32/$PROGRAMFILES64 or $LOCALAPPDATA)\n\n\t!define /ifndef MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY \"${PRODUCT_NAME}\" ; registry key for UNINSTALL info, placed under [HKLM|HKCU]\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\t(can be ${PRODUCT_NAME} or some {GUID})\n\t!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})\n\t!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\n\t!define MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH \"Software\\${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY}\" ; full path to registry key where InstallLocation is stored\n\t!define /ifndef UNINSTALL_FILENAME \"uninstall.exe\" ; name of uninstaller\n\t!define /ifndef MULTIUSER_INSTALLMODE_DISPLAYNAME \"${PRODUCT_NAME} ${VERSION}\" ; display name in Windows uninstall list of programs\n\t!define /ifndef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME \"InstallLocation\" ; name of the registry value containing install directory\n\n\t!ifdef MULTIUSER_INSTALLMODE_FUNCTION\n\t\t!define MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION ${MULTIUSER_INSTALLMODE_FUNCTION} ; old code - changed function name\n\t\t!undef MULTIUSER_INSTALLMODE_FUNCTION\n\t!endif\n\n\t; Variables\n\tVar MultiUser.Privileges ; Current user level: \"Admin\", \"Power\" (up to Windows XP), or else regular user.\n\tVar MultiUser.InstallMode ; Current Install Mode (\"AllUsers\" or \"CurrentUser\")\n\tVar IsAdmin ; 0 or 1, initialized via UserInfo::GetAccountType\n\tVar IsInnerInstance ; 0 or 1, initialized via UAC_IsInnerInstance\n\tVar HasPerMachineInstallation ; 0 or 1\n\tVar HasPerUserInstallation ; 0 or 1\n\tVar HasCurrentModeInstallation ; 0 or 1\n\tVar PerMachineInstallationVersion ; contains version number of empty string \"\"\n\tVar PerUserInstallationVersion ; contains version number of empty string \"\"\n\tVar PerMachineInstallationFolder\n\tVar PerUserInstallationFolder\n\tVar PerMachineUninstallString\n\tVar PerUserUninstallString\n\tVar 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\n\tVar InstallShowPagesBeforeComponents ; 0 or 1, when 0, use it to hide all pages before Components inside the installer when running as inner instance\n\tVar DisplayDialog ; (internal)\n\tVar PreFunctionCalled ; (internal)\n\tVar CmdLineInstallMode ; contains command-line install mode set via /allusers and /currentusers parameters\n\tVar CmdLineDir ; contains command-line directory set via /D parameter\n\n\t; interface variables\n\tVar MultiUser.InstallModePage\n\tVar MultiUser.InstallModePage.Text\n\tVar MultiUser.InstallModePage.AllUsers\n\tVar MultiUser.InstallModePage.CurrentUser\n\t!ifdef UMUI_SYSVERSION\n\t\tVar MultiUser.InstallModePage.AllUsersLabel\n\t\tVar MultiUser.InstallModePage.CurrentUserLabel\n\t!endif\n\tVar MultiUser.InstallModePage.Description\n!macroend\n\n!macro MULTIUSER_UNINIT_VARS\n\t!ifdef MULTIUSER_INSTALLMODE_UNFUNCTION\n\t\t!define MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION ${MULTIUSER_INSTALLMODE_UNFUNCTION} ; old code - changed function name\n\t\t!undef MULTIUSER_INSTALLMODE_UNFUNCTION\n\t!else ifdef MULTIUSER_INSTALLMODE_CHANGE_MODE_UNFUNCTION\n\t\t!define MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION ${MULTIUSER_INSTALLMODE_CHANGE_MODE_UNFUNCTION} ; old code - changed function name\n\t\t!undef MULTIUSER_INSTALLMODE_CHANGE_MODE_UNFUNCTION\n\t!endif\n\n\t; Variables\n\tVar UninstallShowBackButton ; 0 or 1, use it to show/hide the Back button on the first visible page of the uninstaller\n!macroend\n\n/****** Modern UI 2 page ******/\n!macro MULTIUSER_PAGE UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX\n\t!ifdef MULTIUSER_${UNINSTALLER_PREFIX}PAGE_INSTALLMODE\n\t\t!error \"You cannot insert MULTIUSER_${UNINSTALLER_PREFIX}PAGE_INSTALLMODE more than once!\"\n\t!endif\n\t!define MULTIUSER_${UNINSTALLER_PREFIX}PAGE_INSTALLMODE\n\n\t${${UNINSTALLER_PREFIX}StrRep}\n\n\t!insertmacro MULTIUSER_${UNINSTALLER_PREFIX}INIT_VARS\n\n\t!ifmacrodef MUI_${UNINSTALLER_PREFIX}PAGE_INIT\n\t\t!insertmacro MUI_${UNINSTALLER_PREFIX}PAGE_INIT\n\t!endif\n\n\t!insertmacro MULTIUSER_FUNCTION_INSTALLMODEPAGE \"${UNINSTALLER_PREFIX}\" \"${UNINSTALLER_FUNCPREFIX}\"\n\n\tPageEx ${UNINSTALLER_FUNCPREFIX}custom\n\t\tPageCallbacks ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModePre ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeLeave\n\tPageExEnd\n\n\t!ifmacrodef MUI_${UNINSTALLER_PREFIX}PAGE_END\n\t\t!insertmacro MUI_${UNINSTALLER_PREFIX}PAGE_END ; MUI1 MUI_UNPAGE_END macro\n\t!endif\n!macroend\n\n!macro MULTIUSER_PAGE_INSTALLMODE ; create install page - called by user script\n\t!insertmacro MULTIUSER_PAGE \"\" \"\"\n!macroend\n\n!macro MULTIUSER_UNPAGE_INSTALLMODE ; create uninstall page - called by user script\n\t!ifndef MULTIUSER_PAGE_INSTALLMODE\n\t\t!error \"You have to insert MULTIUSER_PAGE_INSTALLMODE before MULTIUSER_UNPAGE_INSTALLMODE!\"\n\t!endif\n\t!insertmacro MULTIUSER_PAGE \"UN\" \"un.\"\n!macroend\n\n/****** Installer/uninstaller initialization ******/\n!macro MULTIUSER_LANGUAGE_INIT ; called by user script after the last MUI_LANGUAGE call\n\t!include \"NsisMultiUserLang.nsh\"\n!macroend\n\n!macro MULTIUSER_INIT ; called by user script in .onInit (after MULTIUSER_PAGE_INSTALLMODE)\n\t!ifdef MULTIUSER_INIT\n\t\t!error \"MULTIUSER_INIT already inserted!\"\n\t!endif\n\t!define MULTIUSER_INIT\n\n\t!ifndef MULTIUSER_PAGE_INSTALLMODE\n\t\t!error \"You have to insert MULTIUSER_PAGE_INSTALLMODE!\"\n\t!endif\n\n\tCall MultiUser.InitChecks\n!macroend\n\n!macro MULTIUSER_UNINIT ; called by user script in un.onInit (after MULTIUSER_UNPAGE_INSTALLMODE)\n\t!ifdef MULTIUSER_UNINIT\n\t\t!error \"MULTIUSER_UNINIT already inserted!\"\n\t!endif\n\t!define MULTIUSER_UNINIT\n\n\t!ifndef MULTIUSER_PAGE_INSTALLMODE | MULTIUSER_UNPAGE_INSTALLMODE\n\t\t!error \"You have to insert both MULTIUSER_PAGE_INSTALLMODE and MULTIUSER_UNPAGE_INSTALLMODE!\"\n\t!endif\n\n\tCall un.MultiUser.InitChecks\n!macroend\n\n!macro MULTIUSER_SET_ERROR ERROR ; only use in MultiUser.InitChecks!\n\tSetErrorLevel ${ERROR}\n\t${if} ${silent}\n\t\tQuit\n\t${else}\n\t\tStrCpy $InstallShowPagesBeforeComponents 0\n\t\tSystem::Store L\n\t\tReturn\n\t${endif}\n!macroend\n\n/****** Functions ******/\n!macro MULTIUSER_FUNCTION_INSTALLMODEPAGE UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t${if} $MultiUser.InstallMode == \"AllUsers\"\n\t\t\tReturn\n\t\t${endif}\n\n\t\tStrCpy $MultiUser.InstallMode \"AllUsers\"\n\n\t\tSetShellVarContext all\n\n\t\tStrCpy $HasCurrentModeInstallation \"$HasPerMachineInstallation\"\n\n\t\t${if} $CmdLineDir != \"\"\n\t\t\tStrCpy $INSTDIR $CmdLineDir\n\t\t${elseif} $PerMachineInstallationFolder != \"\"\n\t\t\tStrCpy $INSTDIR $PerMachineInstallationFolder\n\t\t${else}\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t; Set default installation location for installer\n\t\t\t\t${if} ${MULTIUSER_INSTALLMODE_64_BIT} = 0\n\t\t\t\t\tStrCpy $INSTDIR \"$PROGRAMFILES32\\${MULTIUSER_INSTALLMODE_INSTDIR}\"\n\t\t\t\t${else}\n\t\t\t\t\tStrCpy $INSTDIR \"$PROGRAMFILES64\\${MULTIUSER_INSTALLMODE_INSTDIR}\"\n\t\t\t\t${endif}\n\t\t\t!endif\n\t\t${endif}\n\n\t\t!ifdef MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION\n\t\t\tCall \"${MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION}\"\n\t\t!endif\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t${if} $MultiUser.InstallMode == \"CurrentUser\"\n\t\t\tReturn\n\t\t${endif}\n\n\t\tStrCpy $MultiUser.InstallMode \"CurrentUser\"\n\n\t\tSetShellVarContext current\n\n\t\tStrCpy $HasCurrentModeInstallation \"$HasPerUserInstallation\"\n\n\t\t${if} $CmdLineDir != \"\"\n\t\t\tStrCpy $INSTDIR $CmdLineDir\n\t\t${elseif} $PerUserInstallationFolder != \"\"\n\t\t\tStrCpy $INSTDIR $PerUserInstallationFolder\n\t\t${else}\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t; Set default installation location for installer\n\t\t\t\t${if} \"$LOCALAPPDATA\" != \"\"\n\t\t\t\t\t; There is a shfolder.dll that emulates CSIDL_LOCAL_APPDATA for older versions of shell32.dll which doesn't support it (pre-Win2k versions)\n\t\t\t\t\t; 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\n\t\t\t\t\tStrCpy $INSTDIR \"$LOCALAPPDATA\\${MULTIUSER_INSTALLMODE_INSTDIR}\"\n\t\t\t\t${else}\n\t\t\t\t\t; When shfolder.dll is unavailable on NT4 (and so $LOCALAPPDATA returns nothing), local AppData path can still be queried here using registry\n\t\t\t\t\tReadRegStr $INSTDIR HKCU \"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\" \"Local AppData\"\n\t\t\t\t\t${if} \"$INSTDIR\" == \"\"\n\t\t\t\t\t\tStrCpy $INSTDIR \"$PROGRAMFILES32\\${MULTIUSER_INSTALLMODE_INSTDIR}\" ; there's no 64-bit of Windows before 2000 (i.e. NT4)\n\t\t\t\t\t${else}\n\t\t\t\t\t\tStrCpy $INSTDIR \"$INSTDIR\\${MULTIUSER_INSTALLMODE_INSTDIR}\"\n\t\t\t\t\t${endif}\n\t\t\t\t${endif}\n\t\t\t!endif\n\t\t${endif}\n\n\t\t!ifdef MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION\n\t\t\tCall \"${MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION}\"\n\t\t\t!undef MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION\n\t\t!endif\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.GetPos\n\t\tStrCpy $2 $PreFunctionCalled ; if not PreFunctionCalled, we cannot get position\n\n\t\t${if} $2 = 1\n\t\t\tSystem::Call \"*(i, i, i, i) p .r3\" ; allocate RECT struct\n\n\t\t\tSystem::Call \"User32::GetWindowRect(p $HWNDPARENT, i r3)\"\n\n\t\t\tSystem::Call '*$3(i .r0, i .r1, i, i)'\n\n\t\t\tSystem::Free $3\n\t\t${endif}\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.SetPos\n\t\tSystem::Call \"User32::SetWindowPos(p $HWNDPARENT, i 0, i $0, i $1, i 0, i 0, i 0x5)\"\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired\n\t\t; check if elevation on page is always required, return result in $0\n\t\t; when this function is called from InitChecks, InstallMode is \"\"\n\t\t; and when called from InstallModeLeave/SetShieldsAndTexts, InstallMode is not empty\n\t\tStrCpy $0 0\n\t\t${if} $IsAdmin = 0\n\t\t\t${if} $MultiUser.InstallMode == \"AllUsers\"\n\t\t\t\tStrCpy $0 1\n\t\t\t${else}\n\t\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\" ; installer\n\t\t\t\t\t!if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} = 0\n\t\t\t\t\t\t${if} $HasPerMachineInstallation = 1\n\t\t\t\t\t\t\t${andif} $HasPerUserInstallation = 0\n\t\t\t\t\t\t\t; has to uninstall the per-machine installation, which requires admin rights\n\t\t\t\t\t\t\t; but signle-user installs of standard users shouldn't be elevated (run as another user)\n\t\t\t\t\t\t\tStrCpy $0 2\n\t\t\t\t\t\t${endif}\n\t\t\t\t\t!endif\n\t\t\t\t!endif\n\t\t\t${endif}\n\t\t${endif}\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed\n\t\t${if} ${silent}\n\t\t\tStrCpy $0 \"${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT}\"\n\t\t${else}\n\t\t\tStrCpy $0 \"${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION}\"\n\t\t${endif}\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.Elevate\n\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed\n\n\t\t${if} $0 = 0\n\t\t\tReturn\n\t\t${endif}\n\n\t\tHideWindow\n\t\t!insertmacro UAC_RunElevated\n\t\t${if} $0 = 0\n\t\t\t; if inner instance was started ($1 = 1), return code of the elevated fork process is in $2 as well as set via SetErrorLevel\n\t\t\t; NOTE: the error level may have a value MULTIUSER_ERROR_ELEVATION_FAILED (but not MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED)\n\t\t\t${if} $1 <> 1 ; process did not start - return MULTIUSER_ERROR_ELEVATION_FAILED\n\t\t\t\tSetErrorLevel ${MULTIUSER_ERROR_ELEVATION_FAILED}\n\t\t\t${endif}\n\t\t${else} ; process did not start - return MULTIUSER_ERROR_ELEVATION_FAILED or Win32 error code stored in $0\n\t\t\t${if} $0 = 1223 ; user aborted elevation dialog - translate to MULTIUSER_ERROR_ELEVATION_FAILED for easier processing\n\t\t\t\t${orif} $0 = 1062 ; Logon service not running - translate to MULTIUSER_ERROR_ELEVATION_FAILED for easier processing\n\t\t\t\tStrCpy $0 ${MULTIUSER_ERROR_ELEVATION_FAILED}\n\t\t\t${endif}\n\t\t\tSetErrorLevel $0\n\t\t${endif}\n\t\tQuit\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InitChecks\n\t\tSystem::Store S\n\n\t\t; Installer initialization - check privileges and set default install mode\n\t\tStrCpy $MultiUser.InstallMode \"\"\n\t\tStrCpy $PerMachineOptionAvailable 1\n\t\tStrCpy $InstallShowPagesBeforeComponents 1\n\t\tStrCpy $DisplayDialog 1\n\t\tStrCpy $PreFunctionCalled 0\n\t\tStrCpy $CmdLineInstallMode \"\"\n\t\tStrCpy $CmdLineDir \"\"\n\n\t\t${if} ${RunningX64} ; fix for https://github.com/Drizin/NsisMultiUser/issues/11\n\t\t\t${if} ${MULTIUSER_INSTALLMODE_64_BIT} = 0\n\t\t\t\t; HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall gets redirected to HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall,\n\t\t\t\t; for HKCU there's no redirection\n\t\t\t\tSetRegView 32 ; someday, when NSIS is 64-bit...\n\t\t\t${else}\n\t\t\t\tSetRegView 64\n\t\t\t${endif}\n\t\t${endif}\n\n\t\tUserInfo::GetAccountType\n\t\tPop $MultiUser.Privileges\n\t\t${if} $MultiUser.Privileges == \"Admin\"\n\t\t\t${orif} $MultiUser.Privileges == \"Power\" ; under XP (and earlier?), Power users can install programs, but UAC_IsAdmin returns false\n\t\t\tStrCpy $IsAdmin 1\n\t\t${else}\n\t\t\tStrCpy $IsAdmin 0\n\t\t${endif}\n\n\t\t${if} ${UAC_IsInnerInstance}\n\t\t\tStrCpy $IsInnerInstance 1\n\t\t${else}\n\t\t\tStrCpy $IsInnerInstance 0\n\t\t${endif}\n\n\t\t; initialize PerXXXInstallationFolder, PerXXXInstallationVersion, PerXXXUninstallString variables\n\t\tReadRegStr $PerMachineInstallationFolder HKLM \"${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}\" \"${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}\" ; \"InstallLocation\"\n\t\tReadRegStr $PerMachineInstallationVersion HKLM \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"DisplayVersion\"\n\t\tReadRegStr $PerMachineUninstallString HKLM \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"UninstallString\" ; contains the /currentuser or /allusers parameter\n\t\t${if} $PerMachineInstallationFolder == \"\"\n\t\t\tStrCpy $HasPerMachineInstallation 0\n\t\t${else}\n\t\t\tStrCpy $HasPerMachineInstallation 1\n\t\t${endif}\n\n\t\tReadRegStr $PerUserInstallationFolder HKCU \"${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}\" \"${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}\" ; \"InstallLocation\"\n\t\t!insertmacro MULTIUSER_GetCurrentUserString $0\n\t\tReadRegStr $PerUserInstallationVersion HKCU \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"DisplayVersion\"\n\t\tReadRegStr $PerUserUninstallString HKCU \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"UninstallString\" ; contains the /currentuser or /allusers parameter\n\t\t${if} $PerUserInstallationFolder == \"\"\n\t\t\tStrCpy $HasPerUserInstallation 0\n\t\t${else}\n\t\t\tStrCpy $HasPerUserInstallation 1\n\t\t\t${if} $PerUserInstallationVersion == \"\"\n\t\t\t\t${andif} $0 != \"\"\n\t\t\t\t; support old versions that did not have MULTIUSER_GetCurrentUserString\n\t\t\t\tReadRegStr $PerUserInstallationVersion HKCU \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"DisplayVersion\"\n\t\t\t\tReadRegStr $PerUserUninstallString HKCU \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"UninstallString\" ; contains the /currentuser or /allusers parameter\n\t\t\t${endif}\n\t\t${endif}\n\n\t\t; get all parameters\n\t\t${GetParameters} $R0\n\n\t\t; initialize CmdLineInstallMode and CmdLineDir, needed also if we are the inner instance (UAC passes all parameters from the outer instance)\n\t\t; note: the loading of the /D parameter depends on AllowRootDirInstall, see https://sourceforge.net/p/nsis/bugs/1176/\n\t\t${GetOptions} $R0 \"/allusers\" $R1\n\t\t${ifnot} ${errors}\n\t\t\tStrCpy $CmdLineInstallMode \"AllUsers\"\n\t\t${endif}\n\n\t\t${GetOptions} $R0 \"/currentuser\" $R1\n\t\t${ifnot} ${errors}\n\t\t\t${if} $CmdLineInstallMode != \"\"\n\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_INVALID_PARAMETERS}\n\t\t\t${endif}\n\t\t\tStrCpy $CmdLineInstallMode \"CurrentUser\"\n\t\t${endif}\n\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t${if} \"$INSTDIR\" != \"\" ; if $INSTDIR is not empty here in the installer, it's initialized with the value of the /D command-line parameter\n\t\t\t\tStrCpy $CmdLineDir \"$INSTDIR\"\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; initialize $InstallShowPagesBeforeComponents and $UninstallShowBackButton\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t${if} $IsInnerInstance = 1\n\t\t\t\tStrCpy $InstallShowPagesBeforeComponents 0 ; we hide pages only if we're the inner instance (the outer instance always shows them)\n\t\t\t${endif}\n\t\t!else\n\t\t\t${if} $CmdLineInstallMode == \"\"\n\t\t\t\t${andif} $HasPerMachineInstallation = 1\n\t\t\t\t${andif} $HasPerUserInstallation = 1\n\t\t\t\tStrCpy $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)\n\t\t\t${else}\n\t\t\t\tStrCpy $UninstallShowBackButton 0\n\t\t\t${endif}\n\t\t!endif\n\n\t\t${if} $IsInnerInstance = 1\n\t\t\t; check if the inner instance has admin rights\n\t\t\t${if} $IsAdmin = 0\n\t\t\t\tSetErrorLevel ${MULTIUSER_ERROR_ELEVATION_FAILED} ; special return value for outer instance so it knows we did not have admin rights\n\t\t\t\tQuit\n\t\t\t${endif}\n\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t; set language to the one used in the outer instance (installer only, for uninstaller the outer and inner instance might have different language,\n\t\t\t\t; or there might be no current user installation when the outer uninstaller invokes the inner instance\n\t\t\t\t!insertmacro UAC_AsUser_GetGlobalVar $LANGUAGE\n\n\t\t\t\t!if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} = 0\n\t\t\t\t\t!insertmacro UAC_AsUser_GetGlobal $0 $MultiUser.InstallMode\n\t\t\t\t\t${if} $0 == \"CurrentUser\"\n\t\t\t\t\t\t; the inner instance was elevated because there is installation per-machine, which needs to be removed and requires admin rights,\n\t\t\t\t\t\t; but the user selected per-user installation in the outer instance, set context to CurrentUser\n\t\t\t\t\t\tCall MultiUser.InstallMode.CurrentUser\n\t\t\t\t\t\tStrCpy $DisplayDialog 0\n\t\t\t\t\t\tSystem::Store L\n\t\t\t\t\t\tReturn\n\t\t\t\t\t${endif}\n\t\t\t\t!endif\n\t\t\t!endif\n\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ; Inner Process (and Admin) - set to AllUsers\n\t\t\tStrCpy $DisplayDialog 0\n\t\t\tSystem::Store L\n \t\t\tReturn\n\t\t${endif}\n\n\t\t; process /? parameter\n\t\t!ifndef MULTIUSER_INSTALLMODE_NO_HELP_DIALOG ; define MULTIUSER_INSTALLMODE_NO_HELP_DIALOG to display your own help dialog (new options, return codes, etc.)\n\t\t\t${GetOptions} $R0 \"/?\" $R1\n\t\t\t${ifnot} ${errors}\n\t\t\t\tMessageBox MB_ICONINFORMATION \"Usage:$\\r$\\n\\\n\t\t\t\t\t$\\r$\\n\\\n\t\t\t\t\t/allusers$\\t- (un)install for all users, case-insensitive$\\r$\\n\\\n\t\t\t\t\t/currentuser - (un)install for current user only, case-insensitive$\\r$\\n\\\n\t\t\t\t\t/uninstall$\\t- (installer only) run uninstaller, requires /allusers or /currentuser, case-insensitive$\\r$\\n\\\n\t\t\t\t\t/S$\\t- silent mode, requires /allusers or /currentuser, case-sensitive$\\r$\\n\\\n\t\t\t\t\t/D$\\t- (installer only) set install directory, must be last parameter, without quotes, case-sensitive$\\r$\\n\\\n\t\t\t\t\t/?$\\t- display this message$\\r$\\n\\\n\t\t\t\t\t$\\r$\\n\\\n\t\t\t\t\t$\\r$\\n\\\n\t\t\t\t\tReturn codes (decimal):$\\r$\\n\\\n\t\t\t\t\t$\\r$\\n\\\n\t\t\t\t\t0$\\t- normal execution (no error)$\\r$\\n\\\n\t\t\t\t\t1$\\t- (un)installation aborted by user (Cancel button)$\\r$\\n\\\n\t\t\t\t\t2$\\t- (un)installation aborted by script$\\r$\\n\\\n\t\t\t\t\t666660$\\t- invalid command-line parameters$\\r$\\n\\\n\t\t\t\t\t666661$\\t- elevation is not allowed by defines$\\r$\\n\\\n\t\t\t\t\t666662$\\t- uninstaller detected there's no installed version$\\r$\\n\\\n\t\t\t\t\t666663$\\t- executing uninstaller from the installer failed$\\r$\\n\\\n\t\t\t\t\t666666$\\t- cannot start elevated instance$\\r$\\n\\\n\t\t\t\t\tother$\\t- Windows error code when trying to start elevated instance\"\n\t\t\t\tSetErrorLevel 0\n\t\t\t\tQuit\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; process /uninstall parameter\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t${GetOptions} $R0 \"/uninstall\" $R1\n\t\t\t${ifnot} ${errors}\n\t\t\t\t${if} $CmdLineInstallMode == \"\"\n\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_INVALID_PARAMETERS}\n\t\t\t\t${elseif} $CmdLineInstallMode == \"AllUsers\"\n\t\t\t\t\t${if} $HasPerMachineInstallation = 0\n\t\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED}\n\t\t\t\t\t${endif}\n\t\t\t\t\tStrCpy $0 \"$PerMachineInstallationFolder\"\n\t\t\t\t${else}\n\t\t\t\t\t${if} $HasPerUserInstallation = 0\n\t\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED}\n\t\t\t\t\t${endif}\n\t\t\t\t\tStrCpy $0 \"$PerUserInstallationFolder\"\n\t\t\t\t${endif}\n\n\t\t\t\t; NOTES:\n\t\t\t\t; - the _? param stops the uninstaller from copying itself to the temporary directory, which is the only way for waiting to work\n\t\t\t\t; - $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)\n\t\t\t\t; - 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\n\t\t\t\tExecShellWait \"open\" \"$0\\${UNINSTALL_FILENAME}\" \"$R0 _?=$0\"\n\t\t\t\t${if} ${errors}\n\t\t\t\t\tSetErrorLevel ${MULTIUSER_ERROR_RUN_UNINSTALLER_FAILED}\n\t\t\t\t${else}\n\t\t\t\t\tSetErrorLevel 0\n\t\t\t\t${endif}\n\t\t\t\tQuit\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; check for limitations\n\t\t${if} ${silent}\n\t\t\t${andif} $CmdLineInstallMode == \"\"\n\t\t\tSetErrorLevel ${MULTIUSER_ERROR_INVALID_PARAMETERS} ; one of the /allusers or /currentuser parameters is required in silent mode\n\t\t\tQuit\n\t\t${endif}\n\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" != \"\"\n\t\t\t${if} $HasPerMachineInstallation = 0\n\t\t\t\t${andif} $HasPerUserInstallation = 0\n\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED}\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; process /allusers and /currentuser parameters (both silent and non-silent mode, installer and uninstaller)\n\t\t${if} $CmdLineInstallMode != \"\"\n\t\t\t${ifnot} ${IsNT} ; Not running Windows NT, (so it's Windows 95/98/ME), so per-user installation not supported\n\t\t\t\t${andif} $CmdLineInstallMode == \"CurrentUser\"\n\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_INVALID_PARAMETERS}\n\t\t\t${endif}\n\n\t\t\t${if} $CmdLineInstallMode == \"AllUsers\"\n\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t\t${else}\n\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t\t${endif}\n\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" != \"\"\n\t\t\t\t${if} $HasCurrentModeInstallation = 0\n\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED}\n\t\t\t\t${endif}\n\t\t\t!endif\n\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" != \"\"\n\t\t\t\tStrCpy $DisplayDialog 0 ; uninstaller - don't display dialog when there is /allusers or /currentuser parameter\n\t\t\t!else\n\t\t\t\t${if} ${silent}\n\t\t\t\t\tStrCpy $DisplayDialog 0\n\t\t\t\t${endif}\n\t\t\t!endif\n\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired\n\t\t\t${if} $0 = 1\n\t\t\t\t${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)\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.Elevate\n\t\t\t\t${else}\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed ; if we are displaying the dialog and elevation is required, check if elevation is allowed\n\t\t\t\t${endif}\n\t\t\t\t${if} $0 = 0\n\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED}\n\t\t\t\t${endif}\n\t\t\t${endif}\n\t\t\tSystem::Store L\n\t\t\tReturn\n\t\t${endif}\n\n\t\t; the rest of the code is executed only when there are no /allusers and /currentuser parameters and in non-silent mode\n\t\t${ifnot} ${IsNT} ; Not running Windows NT, (so it's Windows 95/98/ME), so per-user installation not supported\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t\tStrCpy $DisplayDialog 0\n\t\t\tSystem::Store L\n\t\t\tReturn\n\t\t${endif}\n\n\t\t; check if elevation on page is always required (installer only)\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired\n\t\t\t${if} $0 = 1\n\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed\n\t\t\t\t${if} $0 = 0\n\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED}\n\t\t\t\t${endif}\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; if elevation is not allowed and user is not admin, disable the per-machine option\n\t\t!if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION} = 0\n\t\t\t${if} $IsAdmin = 0\n\t\t\t\tStrCpy $PerMachineOptionAvailable 0\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; if there's only one installed version\n\t\t; when uninstaller is invoked from the \"add/remove programs\", Windows will automatically start uninstaller elevated if uninstall keys are in HKLM\n\t\t${if} $HasPerMachineInstallation = 1\n\t\t\t${andif} $HasPerUserInstallation = 0\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t${if} $PerMachineOptionAvailable = 1\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t\t\t${else}\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t\t\t${endif}\n\t\t\t!else\n\t\t\t\t${if} $IsAdmin = 0\n\t\t\t\t\tCall ${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\n\t\t\t\t\t${if} $0 = 0\n\t\t\t\t\t\t!insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED}\n\t\t\t\t\t${endif}\n\t\t\t\t${endif}\n\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t\t\tStrCpy $DisplayDialog 0\n\t\t\t!endif\n\t\t${elseif} $HasPerMachineInstallation = 0\n\t\t\t${andif} $HasPerUserInstallation = 1\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" != \"\"\n\t\t\t\tStrCpy $DisplayDialog 0\n\t\t\t!endif\n\t\t${else} ; if there is no installed version (installer only), or there are 2 installations - we always display the dialog\n\t\t\t${if} $IsAdmin = 1 ; If running as admin, default to per-machine installation (unless default is forced by MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER)\n\t\t\t\t!if ${MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER} = 0\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t\t\t!else\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t\t\t!endif\n\t\t\t${else} ; if not running as admin, default to per-user installation (unless default is forced by MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS)\n\t\t\t\t!if ${MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS} = 0\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t\t\t!else\n\t\t\t\t\t${if} $PerMachineOptionAvailable = 1\n\t\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t\t\t\t${else}\n\t\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t\t\t\t${endif}\n\t\t\t\t!endif\n\t\t\t${endif}\n\t\t${endif}\n\n\t\tSystem::Store L\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.ShowErrorMessage\n \t\tPush $0\n\n\t\tGetErrorLevel $0\n\n\t\t${if} $0 = -1\n\t\t\tPop $0\n\t\t\tReturn\n\t\t${endif}\n\n\t\t${Switch} $0\n\t\t\t${Case} ${MULTIUSER_ERROR_INVALID_PARAMETERS}\n\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_INVALID_PARAMS)\" /SD IDOK\n\t\t\t\tQuit\n\t\t\t${Case} ${MULTIUSER_ERROR_NOT_INSTALLED}\n\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_NOT_INSTALLED)\" /SD IDOK\n\t\t\t\tQuit\n\t\t\t${Case} ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED}\n\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_RUN_AS_ADMIN)\" /SD IDOK\n\t\t\t\tQuit\n\t\t${EndSwitch}\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModePre\n\t\tSystem::Store S\n\n\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.ShowErrorMessage\n\n\t\t${if} $IsInnerInstance = 1\n\t\t\t${if} $PreFunctionCalled = 0 ; inner instance is displayed\n\t\t\t\t; set position of inner instance\n\t\t\t\t!insertmacro UAC_AsUser_Call Function ${UNINSTALLER_FUNCPREFIX}MultiUser.GetPos ${UAC_SYNCREGISTERS}\n\t\t\t\t${if} $2 = 1\n\t\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.SetPos\n\t\t\t\t${endif}\n\t\t\t${else} ; user pressed Back button on the first visible page in the inner instance - display outer instance\n\t\t\t\t; set position of outer instance\n\t\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.GetPos\n\t\t\t\t!insertmacro UAC_AsUser_Call Function ${UNINSTALLER_FUNCPREFIX}MultiUser.SetPos ${UAC_SYNCREGISTERS}\n\n\t\t\t\tSetErrorLevel ${MULTIUSER_INNER_INSTANCE_BACK}\n\t\t\t\tQuit\n\t\t\t${endif}\n\t\t${endif}\n\t\tStrCpy $PreFunctionCalled 1\n\n\t\t${if} $DisplayDialog = 0\n\t\t\tSystem::Store L\n\t\t\tAbort\n\t\t${endif}\n\n\t\t!ifmacrodef MUI_HEADER_TEXT\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t!insertmacro MUI_HEADER_TEXT \"$(MULTIUSER_PAGE_TITLE)\" \"$(MULTIUSER_INSTALL_PAGE_SUBTITLE)\"\n\t\t\t!else\n\t\t\t\t!insertmacro MUI_HEADER_TEXT \"$(MULTIUSER_PAGE_TITLE)\" \"$(MULTIUSER_UNINSTALL_PAGE_SUBTITLE)\"\n\t\t\t!endif\n\t\t!endif\n\n\t\t!ifdef MUI_PAGE_CUSTOMFUNCTION_PRE\n\t\t\tCall \"${MUI_PAGE_CUSTOMFUNCTION_PRE}\"\n\t\t\t!undef MUI_PAGE_CUSTOMFUNCTION_PRE\n\t\t!endif\n\t\tnsDialogs::Create 1018\n\t\tPop $MultiUser.InstallModePage\n\n\t\t; default was MULTIUSER_TEXT_INSTALLMODE_TITLE \"Choose Users\"\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t${NSD_CreateLabel} 0 0 100% 24u \"$(MULTIUSER_INSTALL_HEADER)\"\n\t\t!else\n\t\t\t${NSD_CreateLabel} 0 0 100% 24u \"$(MULTIUSER_UNINSTALL_HEADER)\"\n\t\t!endif\n\t\tPop $MultiUser.InstallModePage.Text\n\n\t\t!ifdef UMUI_SYSVERSION\n\t\t\tStrCpy $0 \"$(MULTIUSER_ALL_USERS_UMUI)\"\n\t\t\t${NSD_CreateRadioButton} 30u 30% 10u 8u \"\"\n\t\t\tPop $MultiUser.InstallModePage.AllUsers\n\n\t\t\tSystem::Call \"advapi32::GetUserName(t. r1, *i ${NSIS_MAX_STRLEN})\"\n\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$1\" \"$(MULTIUSER_CURRENT_USER_UMUI)\" \"{USER}\" \"$1\"\n\t\t\t${NSD_CreateRadioButton} 30u 45% 10u 8u \"\"\n\t\t\tPop $MultiUser.InstallModePage.CurrentUser\n\n\t\t\t; 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,\n\t\t\t; which creates problems with UMUI themes, see http://forums.winamp.com/showthread.php?p=3079742#post3079742\n\t\t\t; shortcuts (&) for labels don't work and cause strange behaviour in NSIS - going to another page, etc.\n\t\t\t${NSD_CreateLabel} 44u 30% 280u 16u \"$0\"\n\t\t\tPop $MultiUser.InstallModePage.AllUsersLabel\n\t\t\tnsDialogs::SetUserData $MultiUser.InstallModePage.AllUsersLabel $MultiUser.InstallModePage.AllUsers\n\t\t\t${NSD_CreateLabel} 44u 45% 280u 8u \"$1\"\n\t\t\tPop $MultiUser.InstallModePage.CurrentUserLabel\n\t\t\tnsDialogs::SetUserData $MultiUser.InstallModePage.CurrentUserLabel $MultiUser.InstallModePage.CurrentUser\n\n\t\t\t${if} $PerMachineOptionAvailable = 0 ; install per-machine is not available\n\t\t\t\tSendMessage $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\n\t\t\t\t${orif} $CmdLineInstallMode != \"\"\n\t\t\t\tEnableWindow $MultiUser.InstallModePage.AllUsersLabel 0 ; start out disabled\n\t\t\t\tEnableWindow $MultiUser.InstallModePage.AllUsers 0 ; start out disabled\n\t\t\t${endif}\n\n\t\t\t${if} $CmdLineInstallMode != \"\"\n\t\t\t\tEnableWindow $MultiUser.InstallModePage.CurrentUserLabel 0\n\t\t\t\tEnableWindow $MultiUser.InstallModePage.CurrentUser 0\n\t\t\t${endif}\n\n\t\t\t; bind to label click\n\t\t\t${NSD_OnClick} $MultiUser.InstallModePage.CurrentUserLabel ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionLabelClick\n\t\t\t${NSD_OnClick} $MultiUser.InstallModePage.AllUsersLabel ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionLabelClick\n\t\t!else\n\t\t\tStrCpy $0 \"$(MULTIUSER_ALL_USERS)\"\n\n\t\t\tSystem::Call \"advapi32::GetUserName(t. r1, *i ${NSIS_MAX_STRLEN})\"\n\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$1\" \"$(MULTIUSER_CURRENT_USER)\" \"{USER}\" \"$1\"\n\n\t\t\t${NSD_CreateRadioButton} 30u 30% 280u 16u \"$0\"\n\t\t\tPop $MultiUser.InstallModePage.AllUsers\n\n\t\t\t${NSD_CreateRadioButton} 30u 45% 280u 8u \"$1\"\n\t\t\tPop $MultiUser.InstallModePage.CurrentUser\n\n\t\t\t${if} $PerMachineOptionAvailable = 0 ; install per-machine is not available\n\t\t\t\tSendMessage $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\n\t\t\t\t${orif} $CmdLineInstallMode != \"\"\n\t\t\t\tEnableWindow $MultiUser.InstallModePage.AllUsers 0 ; start out disabled\n\t\t\t${endif}\n\n\t\t\t${if} $CmdLineInstallMode != \"\"\n\t\t\t\tEnableWindow $MultiUser.InstallModePage.CurrentUser 0\n\t\t\t${endif}\n\t\t!endif\n\n\t\t; bind to radiobutton change\n\t\t${NSD_OnClick} $MultiUser.InstallModePage.CurrentUser ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick\n\t\t${NSD_OnClick} $MultiUser.InstallModePage.AllUsers ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick\n\n\t\t${NSD_CreateLabel} 0u -32u 100% 32u \"\" ; will hold up to 4 lines of text\n\t\tPop $MultiUser.InstallModePage.Description\n\n\t\t${if} $MultiUser.InstallMode == \"AllUsers\" ; setting selected radio button\n\t\t\tSendMessage $MultiUser.InstallModePage.AllUsers ${BM_SETCHECK} ${BST_CHECKED} 0 ; select radio button\n\t\t${else}\n\t\t\tSendMessage $MultiUser.InstallModePage.CurrentUser ${BM_SETCHECK} ${BST_CHECKED} 0 ; select radio button\n\t\t${endif}\n\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.SetShieldAndTexts ; simulating click on the control will change $INSTDIR and reset a possible user selection\n\n\t\t!ifmacrodef UMUI_IOPAGEBGTRANSPARENT_INIT ; UMUI, apply theme to controls\n\t\t\t!ifndef USE_MUIEx ; for MUIEx, applying themes causes artifacts\n\t\t\t\t!insertmacro UMUI_IOPAGEBGTRANSPARENT_INIT $MultiUser.InstallModePage\n\t\t\t\t!insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.Text\n\t\t\t\t!insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.AllUsers\n\t\t\t\t!insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.AllUsersLabel\n\t\t\t\t!insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.CurrentUser\n\t\t\t\t!insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.CurrentUserLabel\n\t\t\t\t!insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.Description\n\t\t\t!endif\n\t\t!endif\n\n\t\tSystem::Store L\n\n\t\t!ifdef MUI_PAGE_CUSTOMFUNCTION_SHOW\n\t\t\tCall \"${MUI_PAGE_CUSTOMFUNCTION_SHOW}\"\n\t\t\t!undef MUI_PAGE_CUSTOMFUNCTION_SHOW\n\t\t!endif\n\n\t\tnsDialogs::Show\n\n\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\tPush $0\n\t\t\tGetDlgItem $0 $HWNDPARENT 1\n\t\t\tSendMessage $0 ${BCM_SETSHIELD} 0 0 ; hide SHIELD\ton page leave (InstallModeLeave is called only on Next button click)\n\t\t\tPop $0\n\t\t!endif\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeLeave\n\t\tSystem::Store S\n\n\t\t!if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION} = 1 ; if elevation is allowed\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired\n\n\t\t\t${if} $0 = 1\n\t\t\t\tHideWindow\n\t\t\t\t!insertmacro UAC_RunElevated\n\t\t\t\t;MessageBox MB_OK \"[$0]/[$1]/[$2]/[$3]\"\n\n\t\t\t\t; http://nsis.sourceforge.net/UAC_plug-in\n\t\t\t\t${Switch} $0\n\t\t\t\t\t${Case} 0\n\t\t\t\t\t\t${Switch} $1\n\t\t\t\t\t\t\t${Case} 1\t; Started an elevated child process successfully, exit code is in $2\n\t\t\t\t\t\t\t\t${Switch} $2\n\t\t\t\t\t\t\t\t\t${Case} ${MULTIUSER_ERROR_ELEVATION_FAILED} ; the inner instance was not admin after all - stay on page\n\t\t\t\t\t\t\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED)\" /SD IDOK\n\t\t\t\t\t\t\t\t\t\t${Break}\n\t\t\t\t\t\t\t\t\t${Case} ${MULTIUSER_INNER_INSTANCE_BACK} ; if user pressed Back button on the first visible page of the inner instance - stay on page\n\t\t\t\t\t\t\t\t\t\t${Break}\n\t\t\t\t\t\t\t\t\t${Default} ; all other cases - Quit\n\t\t\t\t\t\t\t\t\t\t; return code of the elevated fork process is in $2 as well as set via SetErrorLevel\n\t\t\t\t\t\t\t\t\t\tQuit\n\t\t\t\t\t\t\t\t${EndSwitch}\n\t\t\t\t\t\t\t\t${Break}\n\t\t\t\t\t\t\t${Case} 3 ; RunAs completed successfully, but with a non-admin user - stay on page\n\t\t\t\t\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED)\" /SD IDOK\n\t\t\t\t\t\t\t\t${Break}\n\t\t\t\t\t\t\t${Default} ; 0 - UAC is not supported by the OS, OR 2 - The process is already running @ HighIL (Member of admin group) - stay on page\n\t\t\t\t\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_ELEVATION_NOT_SUPPORTED)\" /SD IDOK\n\t\t\t\t\t\t${EndSwitch}\n\t\t\t\t\t\t${Break}\n\t\t\t\t\t${Case} 1223 ; user aborted elevation dialog - stay on page\n\t\t\t\t\t\t${Break}\n\t\t\t\t\t${Case} 1062 ; Logon service not running - stay on page\n\t\t\t\t\t\tMessageBox MB_ICONSTOP \"$(MULTIUSER_LOGON_SERVICE_NOT_RUNNING)\" /SD IDOK\n\t\t\t\t\t\t${Break}\n\t\t\t\t\t${Default} ; anything else should be treated as a fatal error - stay on page\n\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$0\" \"$(MULTIUSER_ELEVATION_ERROR)\" \"{ERROR}\" \"$0\"\n\t\t\t\t\t\tMessageBox MB_ICONSTOP \"$0\" /SD IDOK\n\t\t\t\t${EndSwitch}\n\n\t\t\t\t; 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)\n\t\t\t\t; see http://forums.winamp.com/showthread.php?p=3079116&posted=1#post3079116\n\t\t\t\tSetErrorLevel -1\n\t\t\t\tBringToFront\n\t\t\t\tAbort ; Stay on page\n\t\t\t${endif}\n\t\t!endif\n\n\t\tSystem::Store L\n\n\t\t!ifdef MUI_PAGE_CUSTOMFUNCTION_LEAVE\n\t\t\tCall \"${MUI_PAGE_CUSTOMFUNCTION_LEAVE}\"\n\t\t\t!undef MUI_PAGE_CUSTOMFUNCTION_LEAVE\n\t\t!endif\n\tFunctionEnd\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.SetShieldAndTexts\n\t\tSystem::Store S\n\n\t\tStrCpy $0 \"$MultiUser.InstallMode\"\n\t\t; if necessary, display text for different install mode rather than the actual one in $MultiUser.InstallMode\n\t\t!if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} = 0\n\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t${if} $MultiUser.InstallMode == \"AllUsers\" ; user selected \"all users\"\n\t\t\t\t\t${if} $HasPerMachineInstallation = 0\n\t\t\t\t\t\t${andif} $HasPerUserInstallation = 1\n\t\t\t\t\t\tStrCpy $0 \"CurrentUser\" ; display information for the \"current user\" installation\n\t\t\t\t\t${endif}\n\t\t\t\t${elseif} $HasPerMachineInstallation = 1\n\t\t\t\t\t${andif} $HasPerUserInstallation = 0 ; user selected \"current user\"\n\t\t\t\t\tStrCpy $0 \"AllUsers\" ; display information for the \"all users\" installation\n\t\t\t\t${endif}\n\t\t\t!endif\n\t\t!endif\n\n\t\t; set label text\n\t\tStrCpy $1 \"\"\n\t\t${if} $0 == \"AllUsers\" ; all users\n\t\t\t${if} $HasPerMachineInstallation = 1\n\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$1\" \"$(MULTIUSER_INSTALLED_ALL_USERS)\" \"{VERSION}\" \"$PerMachineInstallationVersion\"\n\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$1\" \"$1\" \"{FOLDER}\" \"$PerMachineInstallationFolder\"\n\n\t\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t\t${if} $PerMachineInstallationVersion == \"${VERSION}\"\n\t\t\t\t\t\t${if} $MultiUser.InstallMode == \"AllUsers\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS)\" \"{VERSION}\" \"$PerMachineInstallationVersion\"\n\t\t\t\t\t\t${else}\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER)\" \"{VERSION}\" \"$PerMachineInstallationVersion\"\n\t\t\t\t\t\t${endif}\n\t\t\t\t\t${else}\n\t\t\t\t\t\t${if} $MultiUser.InstallMode == \"AllUsers\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS)\" \"{OLD_VERSION}\" \"$PerMachineInstallationVersion\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$2\" \"{VERSION}\" \"${VERSION}\"\n\t\t\t\t\t\t${else}\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER)\" \"{OLD_VERSION}\" \"$PerMachineInstallationVersion\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$2\" \"{VERSION}\" \"${VERSION}\"\n\t\t\t\t\t\t${endif}\n\t\t\t\t\t${endif}\n\t\t\t\t\tStrCpy $1 \"$1$\\r$\\n$2\"\n\t\t\t\t!endif\n\t\t\t${else}\n\t\t\t\tStrCpy $1 \"$(MULTIUSER_NEW_INSTALLATION_ALL_USERS)\"\n\t\t\t${endif}\n\t\t${else} ; current user\n\t\t\t${if} $HasPerUserInstallation = 1\n\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$1\" \"$(MULTIUSER_INSTALLED_CURRENT_USER)\" \"{VERSION}\" \"$PerUserInstallationVersion\"\n\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$1\" \"$1\" \"{FOLDER}\" \"$PerUserInstallationFolder\"\n\n\t\t\t\t!if \"${UNINSTALLER_FUNCPREFIX}\" == \"\"\n\t\t\t\t\t${if} $PerUserInstallationVersion == \"${VERSION}\"\n\t\t\t\t\t\t${if} $MultiUser.InstallMode == \"AllUsers\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS)\" \"{VERSION}\" \"$PerUserInstallationVersion\"\n\t\t\t\t\t\t${else}\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER)\" \"{VERSION}\" \"$PerUserInstallationVersion\"\n\t\t\t\t\t\t${endif}\n\t\t\t\t\t${else}\n\t\t\t\t\t\t${if} $MultiUser.InstallMode == \"AllUsers\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS)\" \"{OLD_VERSION}\" \"$PerUserInstallationVersion\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$2\" \"{VERSION}\" \"${VERSION}\"\n\t\t\t\t\t\t${else}\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$(MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER)\" \"{OLD_VERSION}\" \"$PerUserInstallationVersion\"\n\t\t\t\t\t\t\t${${UNINSTALLER_PREFIX}StrRep} \"$2\" \"$2\" \"{VERSION}\" \"${VERSION}\"\n\t\t\t\t\t\t${endif}\n\t\t\t\t\t${endif}\n\t\t\t\t\tStrCpy $1 \"$1$\\r$\\n$2\"\n\t\t\t\t!endif\n\t\t\t${else}\n\t\t\t\tStrCpy $1 \"$(MULTIUSER_NEW_INSTALLATION_CURRENT_USER)\"\n\t\t\t${endif}\n\t\t${endif}\n\n\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired\n\t\t${if} $0 = 1\n\t\t\tStrCpy $1 \"$1 $(MULTIUSER_ADMIN_CREDENTIALS_REQUIRED)\"\n\t\t${elseif} $0 = 2\n\t\t  StrCpy $1 \"$1 $(MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED)\"\n\t\t  StrCpy $0 0\n\t\t${endif}\n\n\t\tSendMessage $MultiUser.InstallModePage.Description ${WM_SETTEXT} 0 \"STR:$1\"\n\n\t\tGetDlgItem $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 )\n\n\t\tSendMessage $1 ${BCM_SETSHIELD} 0 $0 ; display/hide SHIELD (Windows Vista and above)\n\n\t\tSystem::Store L\n\tFunctionEnd\n\n\t!ifdef UMUI_SYSVERSION\n\t\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionLabelClick\n\t\t\tExch $0 ; get clicked control's HWND, which is on the stack in $0\n\t\t\tnsDialogs::GetUserData $0\n\t\t\tPop $0\n\n\t\t\t${NSD_Uncheck} $MultiUser.InstallModePage.AllUsers\n\t\t\t${NSD_Uncheck} $MultiUser.InstallModePage.CurrentUser\n\t\t\t${NSD_Check} $0 ; ${NSD_Check} will check both radio buttons without the above 2 lines\n\t\t\t${NSD_SetFocus} $0\n\t\t\tPush $0\n\t\t\t; ${NSD_Check} doesn't call Click event\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick\n\n\t\t\tPop $0\n\t\tFunctionEnd\n\t!endif\n\n\tFunction ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick\n\t\tExch $0 ; get clicked control's HWND, which is on the stack in $0\n\n\t\t; set InstallMode\n\t\t${if} $0 = $MultiUser.InstallModePage.AllUsers\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers\n\t\t${else}\n\t\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser\n\t\t${endif}\n\n\t\tCall ${UNINSTALLER_FUNCPREFIX}MultiUser.SetShieldAndTexts\n\n\t\tPop $0\n\tFunctionEnd\n!macroend\n\n!macro MULTIUSER_GetCurrentUserString VAR\n\tStrCpy ${VAR} \"\"\n\t!if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} <> 0\n\t\t${if} $MultiUser.InstallMode == \"CurrentUser\"\n\t\t\t${orif} $MultiUser.InstallMode == \"\" ; called from InitChecks\n\t\t\tStrCpy ${VAR} \" (current user)\"\n\t\t${endif}\n\t!endif\n!macroend\n\n!macro MULTIUSER_RegistryAddInstallInfo\n\tPush $0\n\tPush $1\n\tPush $2\n\tPush $3\n\tPush $4\n\n\t; Write the installation path into the registry\n\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}\" \"${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}\" \"$INSTDIR\" ; \"InstallLocation\"\n\n\t; Write the uninstall keys for Windows\n\t; 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;\n\t; this will create 2 different keys in HKCU (MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH and MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH),\n\t; but that's OK, both will be removed by uninstaller\n\t!insertmacro MULTIUSER_GetCurrentUserString $0\n\n\t${if} $MultiUser.InstallMode == \"AllUsers\" ; setting defaults\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"DisplayName\" \"${MULTIUSER_INSTALLMODE_DISPLAYNAME}\"\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"UninstallString\" '\"$INSTDIR\\${UNINSTALL_FILENAME}\" /allusers'\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\" \"QuietUninstallString\" '\"$INSTDIR\\${UNINSTALL_FILENAME}\" /allusers /S'\n\t${else}\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"DisplayName\" \"${MULTIUSER_INSTALLMODE_DISPLAYNAME} (current user)\" ; \"add/remove programs\" will show if installation is per-user\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"UninstallString\" '\"$INSTDIR\\${UNINSTALL_FILENAME}\" /currentuser'\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"QuietUninstallString\" '\"$INSTDIR\\${UNINSTALL_FILENAME}\" /currentuser /S'\n\t${endif}\n\n\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"DisplayVersion\" \"${VERSION}\"\n\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"DisplayIcon\" \"$INSTDIR\\${PROGEXE},0\"\n\t!ifdef COMPANY_NAME\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"Publisher\" \"${COMPANY_NAME}\"\n\t!endif\n\t!ifdef CONTACT\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"Contact\" \"${CONTACT}\"\n\t!endif\n\t!ifdef COMMENTS\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"Comments\" \"${COMMENTS}\"\n\t!endif\n\t!ifdef URL_INFO_ABOUT\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"URLInfoAbout\" \"${URL_INFO_ABOUT}\"\n\t!endif\n\t!ifdef URL_HELP_LINK\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"HelpLink\" \"${URL_HELP_LINK}\"\n\t!endif\n\t!ifdef URL_UPDATE_INFO\n\t\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"URLUpdateInfo\" \"${URL_UPDATE_INFO}\"\n\t!endif\n\tWriteRegDWORD SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"NoModify\" 1\n\tWriteRegDWORD SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"NoRepair\" 1\n\n\t; Write InstallDate string value in 'YYYYMMDD' format.\n\t; Without it, Windows gets the date from the registry key metadata, which might be inaccurate.\n\tSystem::Call /NOUNLOAD \"*(&i2,&i2,&i2,&i2,&i2,&i2,&i2,&i2) i .r4\"\n\tSystem::Call /NOUNLOAD \"kernel32::GetLocalTime(i)i(r4)\"\n\tSystem::Call /NOUNLOAD \"*$4(&i2,&i2,&i2,&i2,&i2,&i2,&i2,&i2)i(.r1,.r2,,.r3,,,,)\"\n\tSystem::Free $4\n\tIntCmp $2 9 0 0 +2\n\tStrCpy $2 \"0$2\"\n\tIntCmp $3 9 0 0 +2\n\tStrCpy $3 \"0$3\"\n\tWriteRegStr SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"InstallDate\" \"$1$2$3\"\n\n\tPop $4\n\tPop $3\n\tPop $2\n\tPop $1\n\tPop $0\n!macroend\n\n!macro MULTIUSER_RegistryAddInstallSizeInfo\n\tPush $0\n\tPush $1\n\tPush $2\n\tPush $3\n\n\t!insertmacro MULTIUSER_GetCurrentUserString $0\n\n\t${GetSize} \"$INSTDIR\" \"/S=0K\" $1 $2 $3 ; get folder size, convert to KB\n\tIntFmt $1 \"0x%08X\" $1\n\tWriteRegDWORD SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\" \"EstimatedSize\" \"$1\"\n\n\tPop $3\n\tPop $2\n\tPop $1\n\tPop $0\n!macroend\n\n!macro MULTIUSER_RegistryRemoveInstallInfo\n\tPush $0\n\n\t; Remove registry keys\n\tDeleteRegKey SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}\"\n\t!insertmacro MULTIUSER_GetCurrentUserString $0\n\t${if} \"$0\" != \"\"\n\t\tDeleteRegKey SHCTX \"${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0\"\n\t${endif}\n\tDeleteRegKey SHCTX \"${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}\"\n\n\tPop $0\n!macroend\n\n!verbose pop\n"
  },
  {
    "path": "src/installer/NsisMultiUser/Include/NsisMultiUserLang.nsh",
    "content": "!ifdef LANG_ENGLISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ENGLISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ENGLISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ENGLISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ENGLISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ENGLISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ENGLISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ENGLISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ENGLISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ENGLISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ENGLISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ENGLISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ENGLISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ENGLISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ENGLISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ENGLISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ENGLISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ENGLISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ENGLISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ENGLISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ENGLISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ENGLISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ENGLISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ENGLISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ENGLISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ENGLISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ENGLISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ENGLISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_AFRIKAANS\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_AFRIKAANS} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_AFRIKAANS} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_AFRIKAANS} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_AFRIKAANS} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_AFRIKAANS} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_AFRIKAANS} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_AFRIKAANS} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_AFRIKAANS} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_AFRIKAANS} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_AFRIKAANS} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_AFRIKAANS} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_AFRIKAANS} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_AFRIKAANS} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_AFRIKAANS} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_AFRIKAANS} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_AFRIKAANS} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_AFRIKAANS} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_AFRIKAANS} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_AFRIKAANS} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_AFRIKAANS} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_AFRIKAANS} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_AFRIKAANS} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_AFRIKAANS} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_AFRIKAANS} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_AFRIKAANS} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_AFRIKAANS} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_AFRIKAANS} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ALBANIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ALBANIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ALBANIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ALBANIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ALBANIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ALBANIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ALBANIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ALBANIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ALBANIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ALBANIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ALBANIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ALBANIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ALBANIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ALBANIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ALBANIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ALBANIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ALBANIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ALBANIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ALBANIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ALBANIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ALBANIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ALBANIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ALBANIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ALBANIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ALBANIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ALBANIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ALBANIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ALBANIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ARABIC\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ARABIC} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ARABIC} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ARABIC} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ARABIC} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ARABIC} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ARABIC} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ARABIC} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ARABIC} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ARABIC} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ARABIC} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ARABIC} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ARABIC} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ARABIC} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ARABIC} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ARABIC} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ARABIC} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ARABIC} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ARABIC} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ARABIC} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ARABIC} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ARABIC} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ARABIC} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ARABIC} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ARABIC} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ARABIC} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ARABIC} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ARABIC} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ARMENIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ARMENIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ARMENIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ARMENIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ARMENIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ARMENIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ARMENIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ARMENIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ARMENIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ARMENIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ARMENIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ARMENIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ARMENIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ARMENIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ARMENIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ARMENIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ARMENIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ARMENIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ARMENIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ARMENIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ARMENIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ARMENIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ARMENIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ARMENIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ARMENIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ARMENIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ARMENIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ARMENIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ASTURIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ASTURIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ASTURIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ASTURIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ASTURIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ASTURIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ASTURIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ASTURIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ASTURIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ASTURIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ASTURIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ASTURIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ASTURIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ASTURIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ASTURIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ASTURIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ASTURIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ASTURIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ASTURIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ASTURIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ASTURIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ASTURIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ASTURIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ASTURIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ASTURIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ASTURIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ASTURIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ASTURIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_BASQUE\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_BASQUE} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BASQUE} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BASQUE} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_BASQUE} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_BASQUE} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_BASQUE} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_BASQUE} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_BASQUE} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BASQUE} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BASQUE} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BASQUE} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BASQUE} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BASQUE} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BASQUE} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BASQUE} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BASQUE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BASQUE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_BASQUE} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BASQUE} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BASQUE} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_BASQUE} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_BASQUE} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BASQUE} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BASQUE} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BASQUE} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BASQUE} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_BASQUE} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_BELARUSIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_BELARUSIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BELARUSIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BELARUSIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_BELARUSIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_BELARUSIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_BELARUSIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_BELARUSIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_BELARUSIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BELARUSIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BELARUSIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BELARUSIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BELARUSIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BELARUSIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BELARUSIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BELARUSIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BELARUSIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BELARUSIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_BELARUSIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BELARUSIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BELARUSIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_BELARUSIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_BELARUSIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BELARUSIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BELARUSIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BELARUSIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BELARUSIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_BELARUSIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_BOSNIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_BOSNIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BOSNIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BOSNIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_BOSNIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_BOSNIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_BOSNIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_BOSNIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_BOSNIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BOSNIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BOSNIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BOSNIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BOSNIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BOSNIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BOSNIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BOSNIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BOSNIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BOSNIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_BOSNIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BOSNIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BOSNIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_BOSNIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_BOSNIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BOSNIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BOSNIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BOSNIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BOSNIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_BOSNIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_BRETON\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_BRETON} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BRETON} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BRETON} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_BRETON} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_BRETON} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_BRETON} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_BRETON} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_BRETON} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BRETON} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BRETON} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BRETON} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BRETON} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BRETON} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BRETON} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BRETON} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BRETON} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BRETON} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_BRETON} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BRETON} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BRETON} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_BRETON} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_BRETON} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BRETON} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BRETON} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BRETON} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BRETON} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_BRETON} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_BULGARIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_BULGARIAN} \"Избор на потребители\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BULGARIAN} \"Изберете за кои потребители да се инсталира $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BULGARIAN} \"Изберете за кои потребители да се премахне $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_BULGARIAN} \"Изберете дали да инсталирате $(^NameDA) за всички потребители или за текущия потребител.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_BULGARIAN} \"$(^NameDA) е инсталиран едновременно за всички потребители и за текущия потребител.$\\r$\\nИзберете коя инсталация премахнете.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_BULGARIAN} \"За &всеки, който използва този компютър (всички потребители)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_BULGARIAN} \"За &мен ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_BULGARIAN} \"За всеки, който използва този компютър (всички потребители)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BULGARIAN} \"За мен ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BULGARIAN} \"Нова инсталация за всички потребители.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BULGARIAN} \"Нова инсталация за текущия потребител.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BULGARIAN} \"Версия {VERSION} е инсталирана за всички потребители в $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BULGARIAN} \"Версия {VERSION} е инсалирана за текущия потребител в $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BULGARIAN} \"Преинсталиране на версия {VERSION} за всички потребители.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BULGARIAN} \"Преинсталиране на версия {VERSION} за текущия потребител.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BULGARIAN} \"Деинсталиране на версия {OLD_VERSION} и инсталиране на версия {VERSION} за всички потребители.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BULGARIAN} \"Деинсталиране на версия {OLD_VERSION} и инсталиране на версия {VERSION} за текущия потребител.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_BULGARIAN} \"Трябва да стартирате тази програма като администратор.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BULGARIAN} \"Изисква се администраторска идентификация.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BULGARIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_BULGARIAN} \"Невалидна комбинация от параметри.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_BULGARIAN} \"Няма инсталация на $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BULGARIAN} \"Операционната система не поддържа инсталации за текущия потребител.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BULGARIAN} \"Трябва да влезете с профил, който е член на администраторската група, за да продължите.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BULGARIAN} \"Операционната система не поддържа повишаване на привилегиите.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BULGARIAN} \"Не е възможно повишаване на привилегиите, услугата Secondary Logon не е пусната.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_BULGARIAN} \"Не е възможно повишаване на привилегиите, грешка {ERROR}.\"\t\t\n!endif\n\n!ifdef LANG_CATALAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_CATALAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CATALAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CATALAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_CATALAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_CATALAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_CATALAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_CATALAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_CATALAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CATALAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CATALAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CATALAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CATALAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CATALAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CATALAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CATALAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CATALAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CATALAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_CATALAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CATALAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CATALAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_CATALAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_CATALAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CATALAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CATALAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CATALAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CATALAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_CATALAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_CORSICAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_CORSICAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CORSICAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CORSICAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_CORSICAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_CORSICAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_CORSICAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_CORSICAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_CORSICAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CORSICAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CORSICAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CORSICAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CORSICAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CORSICAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CORSICAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CORSICAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CORSICAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CORSICAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_CORSICAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CORSICAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CORSICAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_CORSICAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_CORSICAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CORSICAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CORSICAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CORSICAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CORSICAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_CORSICAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_CROATIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_CROATIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CROATIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CROATIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_CROATIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_CROATIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_CROATIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_CROATIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_CROATIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CROATIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CROATIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CROATIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CROATIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CROATIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CROATIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CROATIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CROATIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CROATIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_CROATIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CROATIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CROATIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_CROATIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_CROATIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CROATIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CROATIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CROATIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CROATIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_CROATIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_CZECH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_CZECH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CZECH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CZECH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_CZECH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_CZECH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_CZECH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_CZECH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_CZECH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CZECH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CZECH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CZECH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CZECH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CZECH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CZECH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CZECH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CZECH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CZECH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_CZECH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CZECH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CZECH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_CZECH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_CZECH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CZECH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CZECH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CZECH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CZECH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_CZECH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_DANISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_DANISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_DANISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_DANISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_DANISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_DANISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_DANISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_DANISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_DANISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_DANISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_DANISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_DANISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_DANISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_DANISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_DANISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_DANISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_DANISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_DANISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_DANISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_DANISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_DANISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_DANISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_DANISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_DANISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_DANISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_DANISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_DANISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_DANISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_DUTCH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_DUTCH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_DUTCH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_DUTCH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_DUTCH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_DUTCH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_DUTCH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_DUTCH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_DUTCH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_DUTCH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_DUTCH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_DUTCH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_DUTCH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_DUTCH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_DUTCH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_DUTCH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_DUTCH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_DUTCH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_DUTCH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_DUTCH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_DUTCH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_DUTCH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_DUTCH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_DUTCH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_DUTCH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_DUTCH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_DUTCH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_DUTCH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ESPERANTO\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ESPERANTO} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ESPERANTO} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ESPERANTO} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ESPERANTO} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ESPERANTO} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ESPERANTO} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ESPERANTO} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ESPERANTO} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ESPERANTO} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ESPERANTO} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ESPERANTO} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ESPERANTO} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ESPERANTO} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ESPERANTO} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ESPERANTO} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ESPERANTO} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ESPERANTO} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ESPERANTO} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ESPERANTO} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ESPERANTO} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ESPERANTO} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ESPERANTO} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ESPERANTO} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ESPERANTO} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ESPERANTO} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ESPERANTO} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ESPERANTO} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ESTONIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ESTONIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ESTONIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ESTONIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ESTONIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ESTONIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ESTONIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ESTONIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ESTONIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ESTONIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ESTONIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ESTONIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ESTONIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ESTONIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ESTONIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ESTONIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ESTONIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ESTONIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ESTONIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ESTONIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ESTONIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ESTONIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ESTONIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ESTONIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ESTONIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ESTONIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ESTONIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ESTONIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_FARSI\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_FARSI} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_FARSI} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_FARSI} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_FARSI} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_FARSI} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_FARSI} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_FARSI} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_FARSI} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_FARSI} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_FARSI} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_FARSI} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_FARSI} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_FARSI} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_FARSI} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_FARSI} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_FARSI} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_FARSI} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_FARSI} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_FARSI} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_FARSI} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_FARSI} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_FARSI} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_FARSI} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_FARSI} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_FARSI} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_FARSI} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_FARSI} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_FINNISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_FINNISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_FINNISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_FINNISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_FINNISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_FINNISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_FINNISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_FINNISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_FINNISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_FINNISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_FINNISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_FINNISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_FINNISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_FINNISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_FINNISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_FINNISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_FINNISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_FINNISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_FINNISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_FINNISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_FINNISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_FINNISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_FINNISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_FINNISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_FINNISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_FINNISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_FINNISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_FINNISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_FRENCH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_FRENCH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_FRENCH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_FRENCH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_FRENCH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_FRENCH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_FRENCH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_FRENCH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_FRENCH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_FRENCH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_FRENCH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_FRENCH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_FRENCH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_FRENCH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_FRENCH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_FRENCH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_FRENCH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_FRENCH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_FRENCH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_FRENCH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_FRENCH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_FRENCH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_FRENCH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_FRENCH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_FRENCH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_FRENCH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_FRENCH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_FRENCH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_GALICIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_GALICIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GALICIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GALICIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_GALICIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_GALICIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_GALICIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_GALICIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_GALICIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GALICIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_GALICIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GALICIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GALICIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GALICIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GALICIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GALICIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GALICIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GALICIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_GALICIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GALICIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GALICIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_GALICIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_GALICIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GALICIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GALICIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GALICIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GALICIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_GALICIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_GEORGIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_GEORGIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GEORGIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GEORGIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_GEORGIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_GEORGIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_GEORGIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_GEORGIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_GEORGIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_GEORGIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GEORGIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GEORGIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GEORGIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GEORGIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GEORGIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GEORGIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GEORGIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GEORGIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_GEORGIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GEORGIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GEORGIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_GEORGIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_GEORGIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GEORGIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GEORGIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GEORGIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GEORGIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_GEORGIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_GERMAN\n\t; Translation on 2019-03-29 done by: https://github.com/Tobias-B-Besemer\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_GERMAN} \"Wähle Benutzer\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GERMAN} \"Wähle für welche Benutzer $(^NameDA) installiert werden soll.\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GERMAN} \"Wähle für welche Benutzer $(^NameDA) entfernt werden soll.\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_GERMAN} \"Selektiere entweder $(^NameDA) zu installieren für alle Benutzer, oder für aktuellen Benutzer.\"\n\tLangString 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.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_GERMAN} \"Für &jeden, der diesen Computer benutzt (alle Benutzer)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_GERMAN} \"Für &mich ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_GERMAN} \"Für jeden, der diesen Computer benutzt (alle Benutzer)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GERMAN} \"Für mich ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_GERMAN} \"Frische Installation für alle Benutzer.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GERMAN} \"Frische Installation für aktuellen Benutzer.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GERMAN} \"Version {VERSION} ist installiert für alle Benutzer in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GERMAN} \"Version {VERSION} ist installiert für aktuellen Benutzer in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GERMAN} \"Neuinstallation Version {VERSION} für alle Benutzer.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GERMAN} \"Neuinstallation Version {VERSION} für aktuellen Benutzer.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GERMAN} \"Deinstallation Version {OLD_VERSION} und Installation Version {VERSION} für alle Benutzer.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GERMAN} \"Deinstallation Version {OLD_VERSION} und Installation Version {VERSION} für aktuellen Benutzer.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_GERMAN} \"Du musst dieses Programm als Administrator ausführen.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GERMAN} \"Administrator Anmeldedaten benötigt.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GERMAN} \"Administrator Anmeldedaten benötigt für Deinstallation.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_GERMAN} \"Unzulässige Kombination von Parametern.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_GERMAN} \"Dort ist keine Installation von $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GERMAN} \"Das Betriebssystem unterstützt nicht Aktuelle-Benutzer-Installationen.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GERMAN} \"Du musst Dich mit einem Konto, dass ein Mitglied der Administratoren Gruppe ist, anmelden um fortzufahren.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GERMAN} \"Das Betriebssystem unterstützt nicht Hochstuffung.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GERMAN} \"Hochstuffung nicht möglich, zweiter Anmelde-Service läuft nicht.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_GERMAN} \"Hochstuffung nicht möglich, Fehler {ERROR}.\"\t\n!endif\n\n!ifdef LANG_GREEK\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_GREEK} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GREEK} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GREEK} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_GREEK} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_GREEK} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_GREEK} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_GREEK} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_GREEK} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GREEK} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_GREEK} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GREEK} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GREEK} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GREEK} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GREEK} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GREEK} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GREEK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GREEK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_GREEK} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GREEK} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GREEK} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_GREEK} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_GREEK} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GREEK} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GREEK} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GREEK} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GREEK} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_GREEK} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_HEBREW\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_HEBREW} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_HEBREW} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_HEBREW} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_HEBREW} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_HEBREW} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_HEBREW} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_HEBREW} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_HEBREW} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_HEBREW} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_HEBREW} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_HEBREW} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_HEBREW} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_HEBREW} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_HEBREW} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_HEBREW} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_HEBREW} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_HEBREW} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_HEBREW} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_HEBREW} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_HEBREW} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_HEBREW} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_HEBREW} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_HEBREW} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_HEBREW} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_HEBREW} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_HEBREW} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_HEBREW} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_HUNGARIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_HUNGARIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_HUNGARIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_HUNGARIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_HUNGARIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_HUNGARIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_HUNGARIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_HUNGARIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_HUNGARIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_HUNGARIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_HUNGARIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_HUNGARIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_HUNGARIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_HUNGARIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_HUNGARIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_HUNGARIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_HUNGARIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_HUNGARIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_HUNGARIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_HUNGARIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_HUNGARIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_HUNGARIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_HUNGARIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_HUNGARIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_HUNGARIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_HUNGARIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ICELANDIC\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ICELANDIC} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ICELANDIC} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ICELANDIC} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ICELANDIC} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ICELANDIC} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ICELANDIC} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ICELANDIC} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ICELANDIC} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ICELANDIC} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ICELANDIC} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ICELANDIC} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ICELANDIC} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ICELANDIC} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ICELANDIC} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ICELANDIC} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ICELANDIC} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ICELANDIC} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ICELANDIC} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ICELANDIC} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ICELANDIC} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ICELANDIC} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ICELANDIC} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ICELANDIC} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ICELANDIC} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ICELANDIC} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ICELANDIC} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ICELANDIC} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_INDONESIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_INDONESIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_INDONESIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_INDONESIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_INDONESIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_INDONESIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_INDONESIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_INDONESIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_INDONESIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_INDONESIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_INDONESIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_INDONESIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_INDONESIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_INDONESIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_INDONESIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_INDONESIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_INDONESIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_INDONESIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_INDONESIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_INDONESIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_INDONESIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_INDONESIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_INDONESIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_INDONESIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_INDONESIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_INDONESIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_INDONESIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_INDONESIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_IRISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_IRISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_IRISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_IRISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_IRISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_IRISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_IRISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_IRISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_IRISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_IRISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_IRISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_IRISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_IRISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_IRISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_IRISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_IRISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_IRISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_IRISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_IRISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_IRISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_IRISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_IRISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_IRISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_IRISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_IRISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_IRISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_IRISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_IRISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ITALIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ITALIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ITALIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ITALIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ITALIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ITALIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ITALIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ITALIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ITALIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ITALIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ITALIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ITALIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ITALIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ITALIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ITALIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ITALIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ITALIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ITALIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ITALIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ITALIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ITALIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ITALIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ITALIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ITALIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ITALIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ITALIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_JAPANESE\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_JAPANESE} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_JAPANESE} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_JAPANESE} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_JAPANESE} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_JAPANESE} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_JAPANESE} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_JAPANESE} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_JAPANESE} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_JAPANESE} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_JAPANESE} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_JAPANESE} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_JAPANESE} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_JAPANESE} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_JAPANESE} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_JAPANESE} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_JAPANESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_JAPANESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_JAPANESE} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_JAPANESE} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_JAPANESE} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_JAPANESE} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_JAPANESE} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_JAPANESE} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_JAPANESE} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_JAPANESE} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_JAPANESE} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_JAPANESE} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_KOREAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_KOREAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_KOREAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_KOREAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_KOREAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_KOREAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_KOREAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_KOREAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_KOREAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_KOREAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_KOREAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_KOREAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_KOREAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_KOREAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_KOREAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_KOREAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_KOREAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_KOREAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_KOREAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_KOREAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_KOREAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_KOREAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_KOREAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_KOREAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_KOREAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_KOREAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_KOREAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_KOREAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_KURDISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_KURDISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_KURDISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_KURDISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_KURDISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_KURDISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_KURDISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_KURDISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_KURDISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_KURDISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_KURDISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_KURDISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_KURDISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_KURDISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_KURDISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_KURDISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_KURDISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_KURDISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_KURDISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_KURDISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_KURDISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_KURDISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_KURDISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_KURDISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_KURDISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_KURDISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_KURDISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_KURDISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_LATVIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_LATVIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_LATVIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_LATVIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_LATVIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_LATVIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_LATVIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_LATVIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_LATVIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_LATVIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_LATVIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_LATVIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_LATVIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_LATVIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_LATVIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_LATVIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_LATVIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_LATVIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_LATVIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_LATVIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_LATVIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_LATVIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_LATVIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_LATVIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_LATVIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_LATVIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_LATVIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_LATVIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_LITHUANIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_LITHUANIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_LITHUANIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_LITHUANIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_LITHUANIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_LITHUANIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_LITHUANIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_LITHUANIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_LITHUANIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_LITHUANIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_LITHUANIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_LITHUANIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_LITHUANIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_LITHUANIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_LITHUANIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_LITHUANIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_LITHUANIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_LITHUANIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_LITHUANIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_LITHUANIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_LITHUANIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_LITHUANIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_LITHUANIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_LITHUANIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_LITHUANIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_LITHUANIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_LITHUANIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_LITHUANIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_LUXEMBOURGISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_LUXEMBOURGISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_LUXEMBOURGISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_LUXEMBOURGISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_LUXEMBOURGISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_LUXEMBOURGISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_LUXEMBOURGISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_LUXEMBOURGISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_LUXEMBOURGISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_LUXEMBOURGISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_LUXEMBOURGISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_LUXEMBOURGISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_LUXEMBOURGISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_LUXEMBOURGISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_LUXEMBOURGISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_LUXEMBOURGISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_LUXEMBOURGISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_LUXEMBOURGISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_LUXEMBOURGISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_LUXEMBOURGISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_LUXEMBOURGISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_LUXEMBOURGISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_LUXEMBOURGISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_LUXEMBOURGISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_LUXEMBOURGISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_LUXEMBOURGISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_LUXEMBOURGISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_LUXEMBOURGISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_MACEDONIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_MACEDONIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_MACEDONIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_MACEDONIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_MACEDONIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_MACEDONIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_MACEDONIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_MACEDONIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_MACEDONIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_MACEDONIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_MACEDONIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_MACEDONIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_MACEDONIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_MACEDONIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_MACEDONIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_MACEDONIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_MACEDONIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_MACEDONIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_MACEDONIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_MACEDONIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_MACEDONIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_MACEDONIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_MACEDONIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_MACEDONIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_MACEDONIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_MACEDONIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_MACEDONIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_MACEDONIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_MALAY\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_MALAY} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_MALAY} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_MALAY} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_MALAY} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_MALAY} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_MALAY} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_MALAY} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_MALAY} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_MALAY} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_MALAY} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_MALAY} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_MALAY} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_MALAY} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_MALAY} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_MALAY} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_MALAY} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_MALAY} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_MALAY} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_MALAY} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_MALAY} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_MALAY} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_MALAY} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_MALAY} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_MALAY} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_MALAY} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_MALAY} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_MALAY} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_MONGOLIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_MONGOLIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_MONGOLIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_MONGOLIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_MONGOLIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_MONGOLIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_MONGOLIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_MONGOLIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_MONGOLIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_MONGOLIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_MONGOLIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_MONGOLIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_MONGOLIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_MONGOLIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_MONGOLIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_MONGOLIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_MONGOLIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_MONGOLIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_MONGOLIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_MONGOLIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_MONGOLIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_MONGOLIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_MONGOLIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_MONGOLIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_MONGOLIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_MONGOLIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_MONGOLIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_MONGOLIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_NORWEGIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_NORWEGIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_NORWEGIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_NORWEGIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_NORWEGIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_NORWEGIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_NORWEGIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_NORWEGIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_NORWEGIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_NORWEGIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_NORWEGIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_NORWEGIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_NORWEGIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_NORWEGIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_NORWEGIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_NORWEGIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_NORWEGIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_NORWEGIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_NORWEGIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_NORWEGIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_NORWEGIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_NORWEGIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_NORWEGIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_NORWEGIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_NORWEGIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_NORWEGIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_NORWEGIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_NORWEGIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_NORWEGIANNYNORSK\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_NORWEGIANNYNORSK} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_NORWEGIANNYNORSK} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_NORWEGIANNYNORSK} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_NORWEGIANNYNORSK} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_NORWEGIANNYNORSK} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_NORWEGIANNYNORSK} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_NORWEGIANNYNORSK} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_NORWEGIANNYNORSK} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_NORWEGIANNYNORSK} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_NORWEGIANNYNORSK} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_NORWEGIANNYNORSK} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_NORWEGIANNYNORSK} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_NORWEGIANNYNORSK} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_NORWEGIANNYNORSK} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_NORWEGIANNYNORSK} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_NORWEGIANNYNORSK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_NORWEGIANNYNORSK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_NORWEGIANNYNORSK} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_NORWEGIANNYNORSK} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_NORWEGIANNYNORSK} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_NORWEGIANNYNORSK} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_NORWEGIANNYNORSK} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_NORWEGIANNYNORSK} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_NORWEGIANNYNORSK} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_NORWEGIANNYNORSK} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_NORWEGIANNYNORSK} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_NORWEGIANNYNORSK} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_PASHTO\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_PASHTO} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_PASHTO} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_PASHTO} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_PASHTO} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_PASHTO} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_PASHTO} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_PASHTO} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_PASHTO} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_PASHTO} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_PASHTO} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_PASHTO} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_PASHTO} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_PASHTO} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_PASHTO} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_PASHTO} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_PASHTO} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_PASHTO} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_PASHTO} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_PASHTO} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_PASHTO} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_PASHTO} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_PASHTO} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_PASHTO} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_PASHTO} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_PASHTO} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_PASHTO} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_PASHTO} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_POLISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_POLISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_POLISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_POLISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_POLISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_POLISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_POLISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_POLISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_POLISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_POLISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_POLISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_POLISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_POLISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_POLISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_POLISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_POLISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_POLISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_POLISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_POLISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_POLISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_POLISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_POLISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_POLISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_POLISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_POLISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_POLISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_POLISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_POLISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_PORTUGUESE\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_PORTUGUESE} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESE} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESE} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_PORTUGUESE} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_PORTUGUESE} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_PORTUGUESE} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_PORTUGUESE} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_PORTUGUESE} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_PORTUGUESE} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_PORTUGUESE} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_PORTUGUESE} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_PORTUGUESE} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_PORTUGUESE} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_PORTUGUESE} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_PORTUGUESE} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_PORTUGUESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_PORTUGUESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_PORTUGUESE} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_PORTUGUESE} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_PORTUGUESE} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_PORTUGUESE} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_PORTUGUESE} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_PORTUGUESE} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_PORTUGUESE} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_PORTUGUESE} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_PORTUGUESE} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_PORTUGUESE} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_PORTUGUESEBR\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_PORTUGUESEBR} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESEBR} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESEBR} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_PORTUGUESEBR} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_PORTUGUESEBR} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_PORTUGUESEBR} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_PORTUGUESEBR} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_PORTUGUESEBR} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_PORTUGUESEBR} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_PORTUGUESEBR} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_PORTUGUESEBR} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_PORTUGUESEBR} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_PORTUGUESEBR} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_PORTUGUESEBR} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_PORTUGUESEBR} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_PORTUGUESEBR} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_PORTUGUESEBR} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_PORTUGUESEBR} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_PORTUGUESEBR} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_PORTUGUESEBR} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_PORTUGUESEBR} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_PORTUGUESEBR} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_PORTUGUESEBR} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_PORTUGUESEBR} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_PORTUGUESEBR} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_PORTUGUESEBR} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_PORTUGUESEBR} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_ROMANIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_ROMANIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ROMANIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ROMANIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_ROMANIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_ROMANIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_ROMANIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_ROMANIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_ROMANIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ROMANIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ROMANIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ROMANIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ROMANIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ROMANIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ROMANIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ROMANIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ROMANIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ROMANIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_ROMANIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ROMANIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ROMANIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_ROMANIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_ROMANIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ROMANIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ROMANIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ROMANIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ROMANIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_ROMANIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_RUSSIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_RUSSIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_RUSSIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_RUSSIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_RUSSIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_RUSSIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_RUSSIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_RUSSIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_RUSSIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_RUSSIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_RUSSIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_RUSSIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_RUSSIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_RUSSIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_RUSSIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_RUSSIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_RUSSIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_RUSSIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_RUSSIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_RUSSIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_RUSSIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_RUSSIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_RUSSIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_RUSSIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_RUSSIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_RUSSIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_RUSSIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_RUSSIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SCOTSGAELIC\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SCOTSGAELIC} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SCOTSGAELIC} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SCOTSGAELIC} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SCOTSGAELIC} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SCOTSGAELIC} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SCOTSGAELIC} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SCOTSGAELIC} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SCOTSGAELIC} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SCOTSGAELIC} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SCOTSGAELIC} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SCOTSGAELIC} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SCOTSGAELIC} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SCOTSGAELIC} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SCOTSGAELIC} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SCOTSGAELIC} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SCOTSGAELIC} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SCOTSGAELIC} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SCOTSGAELIC} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SCOTSGAELIC} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SCOTSGAELIC} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SCOTSGAELIC} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SCOTSGAELIC} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SCOTSGAELIC} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SCOTSGAELIC} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SCOTSGAELIC} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SERBIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SERBIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SERBIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SERBIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SERBIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SERBIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SERBIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SERBIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SERBIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SERBIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SERBIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SERBIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SERBIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SERBIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SERBIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SERBIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SERBIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SERBIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SERBIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SERBIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SERBIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SERBIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SERBIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SERBIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SERBIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SERBIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SERBIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SERBIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SERBIANLATIN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SERBIANLATIN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SERBIANLATIN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SERBIANLATIN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SERBIANLATIN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SERBIANLATIN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SERBIANLATIN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SERBIANLATIN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SERBIANLATIN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SERBIANLATIN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SERBIANLATIN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SERBIANLATIN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SERBIANLATIN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SERBIANLATIN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SERBIANLATIN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SERBIANLATIN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SERBIANLATIN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SERBIANLATIN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SERBIANLATIN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SERBIANLATIN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SERBIANLATIN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SERBIANLATIN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SERBIANLATIN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SERBIANLATIN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SERBIANLATIN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SERBIANLATIN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SIMPCHINESE\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SIMPCHINESE} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SIMPCHINESE} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SIMPCHINESE} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SIMPCHINESE} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SIMPCHINESE} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SIMPCHINESE} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SIMPCHINESE} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SIMPCHINESE} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SIMPCHINESE} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SIMPCHINESE} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SIMPCHINESE} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SIMPCHINESE} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SIMPCHINESE} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SIMPCHINESE} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SIMPCHINESE} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SIMPCHINESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SIMPCHINESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SIMPCHINESE} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SIMPCHINESE} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SIMPCHINESE} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SIMPCHINESE} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SIMPCHINESE} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SIMPCHINESE} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SIMPCHINESE} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SIMPCHINESE} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SIMPCHINESE} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SIMPCHINESE} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SLOVAK\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SLOVAK} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SLOVAK} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SLOVAK} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SLOVAK} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SLOVAK} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SLOVAK} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SLOVAK} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SLOVAK} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SLOVAK} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SLOVAK} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SLOVAK} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SLOVAK} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SLOVAK} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SLOVAK} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SLOVAK} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SLOVAK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SLOVAK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SLOVAK} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SLOVAK} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SLOVAK} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SLOVAK} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SLOVAK} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SLOVAK} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SLOVAK} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SLOVAK} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SLOVAK} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SLOVAK} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SLOVENIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SLOVENIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SLOVENIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SLOVENIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SLOVENIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SLOVENIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SLOVENIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SLOVENIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SLOVENIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SLOVENIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SLOVENIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SLOVENIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SLOVENIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SLOVENIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SLOVENIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SLOVENIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SLOVENIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SLOVENIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SLOVENIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SLOVENIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SLOVENIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SLOVENIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SLOVENIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SLOVENIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SLOVENIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SLOVENIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SLOVENIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SLOVENIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SPANISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SPANISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SPANISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SPANISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SPANISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SPANISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SPANISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SPANISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SPANISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SPANISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SPANISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SPANISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SPANISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SPANISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SPANISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SPANISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SPANISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SPANISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SPANISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SPANISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SPANISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SPANISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SPANISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SPANISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SPANISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SPANISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SPANISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SPANISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SPANISHINTERNATIONAL\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SPANISHINTERNATIONAL} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SPANISHINTERNATIONAL} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SPANISHINTERNATIONAL} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SPANISHINTERNATIONAL} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SPANISHINTERNATIONAL} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SPANISHINTERNATIONAL} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SPANISHINTERNATIONAL} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SPANISHINTERNATIONAL} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SPANISHINTERNATIONAL} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SPANISHINTERNATIONAL} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SPANISHINTERNATIONAL} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SPANISHINTERNATIONAL} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SPANISHINTERNATIONAL} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SPANISHINTERNATIONAL} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SPANISHINTERNATIONAL} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SPANISHINTERNATIONAL} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SPANISHINTERNATIONAL} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SPANISHINTERNATIONAL} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SPANISHINTERNATIONAL} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SPANISHINTERNATIONAL} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SPANISHINTERNATIONAL} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SPANISHINTERNATIONAL} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_SWEDISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_SWEDISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SWEDISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SWEDISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_SWEDISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_SWEDISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_SWEDISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_SWEDISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_SWEDISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SWEDISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SWEDISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SWEDISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SWEDISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SWEDISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SWEDISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SWEDISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SWEDISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SWEDISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_SWEDISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SWEDISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SWEDISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_SWEDISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_SWEDISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SWEDISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SWEDISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SWEDISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SWEDISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_SWEDISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_TATAR\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_TATAR} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_TATAR} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_TATAR} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_TATAR} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_TATAR} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_TATAR} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_TATAR} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_TATAR} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_TATAR} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_TATAR} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_TATAR} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_TATAR} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_TATAR} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_TATAR} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_TATAR} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_TATAR} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_TATAR} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_TATAR} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_TATAR} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_TATAR} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_TATAR} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_TATAR} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_TATAR} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_TATAR} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_TATAR} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_TATAR} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_TATAR} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_THAI\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_THAI} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_THAI} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_THAI} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_THAI} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_THAI} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_THAI} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_THAI} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_THAI} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_THAI} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_THAI} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_THAI} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_THAI} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_THAI} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_THAI} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_THAI} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_THAI} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_THAI} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_THAI} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_THAI} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_THAI} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_THAI} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_THAI} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_THAI} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_THAI} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_THAI} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_THAI} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_THAI} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_TRADCHINESE\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_TRADCHINESE} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_TRADCHINESE} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_TRADCHINESE} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_TRADCHINESE} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_TRADCHINESE} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_TRADCHINESE} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_TRADCHINESE} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_TRADCHINESE} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_TRADCHINESE} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_TRADCHINESE} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_TRADCHINESE} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_TRADCHINESE} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_TRADCHINESE} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_TRADCHINESE} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_TRADCHINESE} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_TRADCHINESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_TRADCHINESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_TRADCHINESE} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_TRADCHINESE} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_TRADCHINESE} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_TRADCHINESE} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_TRADCHINESE} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_TRADCHINESE} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_TRADCHINESE} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_TRADCHINESE} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_TRADCHINESE} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_TRADCHINESE} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_TURKISH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_TURKISH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_TURKISH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_TURKISH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_TURKISH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_TURKISH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_TURKISH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_TURKISH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_TURKISH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_TURKISH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_TURKISH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_TURKISH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_TURKISH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_TURKISH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_TURKISH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_TURKISH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_TURKISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_TURKISH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_TURKISH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_TURKISH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_TURKISH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_TURKISH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_TURKISH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_TURKISH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_TURKISH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_TURKISH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_TURKISH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_TURKISH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_UKRAINIAN\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_UKRAINIAN} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_UKRAINIAN} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_UKRAINIAN} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_UKRAINIAN} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_UKRAINIAN} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_UKRAINIAN} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_UKRAINIAN} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_UKRAINIAN} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_UKRAINIAN} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_UKRAINIAN} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_UKRAINIAN} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_UKRAINIAN} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_UKRAINIAN} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_UKRAINIAN} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_UKRAINIAN} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_UKRAINIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_UKRAINIAN} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_UKRAINIAN} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_UKRAINIAN} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_UKRAINIAN} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_UKRAINIAN} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_UKRAINIAN} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_UKRAINIAN} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_UKRAINIAN} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_UKRAINIAN} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_UKRAINIAN} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_UKRAINIAN} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_UZBEK\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_UZBEK} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_UZBEK} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_UZBEK} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_UZBEK} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_UZBEK} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_UZBEK} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_UZBEK} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_UZBEK} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_UZBEK} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_UZBEK} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_UZBEK} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_UZBEK} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_UZBEK} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_UZBEK} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_UZBEK} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_UZBEK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_UZBEK} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_UZBEK} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_UZBEK} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_UZBEK} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_UZBEK} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_UZBEK} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_UZBEK} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_UZBEK} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_UZBEK} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_UZBEK} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_UZBEK} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_VIETNAMESE\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_VIETNAMESE} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_VIETNAMESE} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_VIETNAMESE} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_VIETNAMESE} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_VIETNAMESE} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_VIETNAMESE} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_VIETNAMESE} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_VIETNAMESE} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_VIETNAMESE} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_VIETNAMESE} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_VIETNAMESE} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_VIETNAMESE} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_VIETNAMESE} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_VIETNAMESE} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_VIETNAMESE} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_VIETNAMESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_VIETNAMESE} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_VIETNAMESE} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_VIETNAMESE} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_VIETNAMESE} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_VIETNAMESE} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_VIETNAMESE} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_VIETNAMESE} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_VIETNAMESE} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_VIETNAMESE} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_VIETNAMESE} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_VIETNAMESE} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n\n!ifdef LANG_WELSH\n\tLangString MULTIUSER_PAGE_TITLE ${LANG_WELSH} \"Choose Users\"\n\tLangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_WELSH} \"Choose for which users to install $(^NameDA).\"\n\tLangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_WELSH} \"Choose for which users to remove $(^NameDA).\"\n\tLangString MULTIUSER_INSTALL_HEADER ${LANG_WELSH} \"Select whether to install $(^NameDA) for all users or for current user.\"\n\tLangString MULTIUSER_UNINSTALL_HEADER ${LANG_WELSH} \"$(^NameDA) is installed both for all users and for current user.$\\r$\\nSelect which installation to remove.\"\n\tLangString MULTIUSER_ALL_USERS ${LANG_WELSH} \"For &anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER ${LANG_WELSH} \"For &me ({USER})\"\n\tLangString MULTIUSER_ALL_USERS_UMUI ${LANG_WELSH} \"For anyone who uses this computer (all users)\"\n\tLangString MULTIUSER_CURRENT_USER_UMUI ${LANG_WELSH} \"For me ({USER})\"\n\tLangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_WELSH} \"Fresh install for all users.\"\n\tLangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_WELSH} \"Fresh install for current user.\"\n\tLangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_WELSH} \"Version {VERSION} is installed for all users in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_WELSH} \"Version {VERSION} is installed for current user in $\\\"{FOLDER}$\\\".\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_WELSH} \"Reinstall version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_WELSH} \"Reinstall version {VERSION} for current user.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_WELSH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for all users.\"\n\tLangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_WELSH} \"Uninstall version {OLD_VERSION} and install version {VERSION} for current user.\"\n\tLangString MULTIUSER_RUN_AS_ADMIN ${LANG_WELSH} \"You need to run this program as administrator.\"\n\tLangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_WELSH} \"Administrator credentials required.\"\n\tLangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_WELSH} \"Administrator credentials required for uninstall.\"\n\t; error messages - not so important\n\tLangString MULTIUSER_INVALID_PARAMS ${LANG_WELSH} \"Invalid combination of paramaters.\"\n\tLangString MULTIUSER_NOT_INSTALLED ${LANG_WELSH} \"There is no installation of $(^NameDA).\"\n\tLangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_WELSH} \"The operating system doesn't support current user installations.\"\n\tLangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_WELSH} \"You need to login with an account that is a member of the administrators group to continue.\"\n\tLangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_WELSH} \"The operating system doesn't support elevation.\"\n\tLangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_WELSH} \"Unable to elevate, Secondary Logon service not running.\"\n\tLangString MULTIUSER_ELEVATION_ERROR ${LANG_WELSH} \"Unable to elevate, error {ERROR}.\"\t\n!endif\n"
  },
  {
    "path": "src/installer/NsisMultiUser/Include/StdUtils.nsh",
    "content": "#################################################################################\n# StdUtils plug-in for NSIS\n# Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>\n#\n# This library is free software; you can redistribute it and/or\n# modify it under the terms of the GNU Lesser General Public\n# License as published by the Free Software Foundation; either\n# version 2.1 of the License, or (at your option) any later version.\n#\n# This library is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n# Lesser General Public License for more details.\n#\n# You should have received a copy of the GNU Lesser General Public\n# License along with this library; if not, write to the Free Software\n# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\n#\n# http://www.gnu.org/licenses/lgpl-2.1.txt\n#################################################################################\n\n# DEVELOPER NOTES:\n# - Please see \"https://github.com/lordmulder/stdutils/\" for news and updates!\n# - Please see \"Docs\\StdUtils\\StdUtils.html\" for detailed function descriptions!\n# - Please see \"Examples\\StdUtils\\StdUtilsTest.nsi\" for usage examples!\n\n#################################################################################\n# FUNCTION DECLARTIONS\n#################################################################################\n\n!ifndef ___STDUTILS__NSH___\n!define ___STDUTILS__NSH___\n\n!define StdUtils.Time             '!insertmacro _StdU_Time'          #time(), as in C standard library\n!define StdUtils.GetMinutes       '!insertmacro _StdU_GetMinutes'    #GetSystemTimeAsFileTime(), returns the number of minutes\n!define StdUtils.GetHours         '!insertmacro _StdU_GetHours'      #GetSystemTimeAsFileTime(), returns the number of hours\n!define StdUtils.GetDays          '!insertmacro _StdU_GetDays'       #GetSystemTimeAsFileTime(), returns the number of days\n!define StdUtils.Rand             '!insertmacro _StdU_Rand'          #rand(), as in C standard library\n!define StdUtils.RandMax          '!insertmacro _StdU_RandMax'       #rand(), as in C standard library, with maximum value\n!define StdUtils.RandMinMax       '!insertmacro _StdU_RandMinMax'    #rand(), as in C standard library, with minimum/maximum value\n!define StdUtils.RandList         '!insertmacro _StdU_RandList'      #rand(), as in C standard library, with list support\n!define StdUtils.RandBytes        '!insertmacro _StdU_RandBytes'     #Generates random bytes, returned as Base64-encoded string\n!define StdUtils.FormatStr        '!insertmacro _StdU_FormatStr'     #sprintf(), as in C standard library, one '%d' placeholder\n!define StdUtils.FormatStr2       '!insertmacro _StdU_FormatStr2'    #sprintf(), as in C standard library, two '%d' placeholders\n!define StdUtils.FormatStr3       '!insertmacro _StdU_FormatStr3'    #sprintf(), as in C standard library, three '%d' placeholders\n!define StdUtils.ScanStr          '!insertmacro _StdU_ScanStr'       #sscanf(), as in C standard library, one '%d' placeholder\n!define StdUtils.ScanStr2         '!insertmacro _StdU_ScanStr2'      #sscanf(), as in C standard library, two '%d' placeholders\n!define StdUtils.ScanStr3         '!insertmacro _StdU_ScanStr3'      #sscanf(), as in C standard library, three '%d' placeholders\n!define StdUtils.TrimStr          '!insertmacro _StdU_TrimStr'       #Remove whitspaces from string, left and right\n!define StdUtils.TrimStrLeft      '!insertmacro _StdU_TrimStrLeft'   #Remove whitspaces from string, left side only\n!define StdUtils.TrimStrRight     '!insertmacro _StdU_TrimStrRight'  #Remove whitspaces from string, right side only\n!define StdUtils.RevStr           '!insertmacro _StdU_RevStr'        #Reverse a string, e.g. \"reverse me\" <-> \"em esrever\"\n!define StdUtils.ValidFileName    '!insertmacro _StdU_ValidFileName' #Test whether string is a valid file name - no paths allowed\n!define StdUtils.ValidPathSpec    '!insertmacro _StdU_ValidPathSpec' #Test whether string is a valid full(!) path specification\n!define StdUtils.ValidDomainName  '!insertmacro _StdU_ValidDomain'   #Test whether string is a valid host name or domain name\n!define StdUtils.StrToUtf8        '!insertmacro _StdU_StrToUtf8'     #Convert string from Unicode (UTF-16) or ANSI to UTF-8 bytes\n!define StdUtils.StrFromUtf8      '!insertmacro _StdU_StrFromUtf8'   #Convert string from UTF-8 bytes to Unicode (UTF-16) or ANSI\n!define StdUtils.SHFileMove       '!insertmacro _StdU_SHFileMove'    #SHFileOperation(), using the FO_MOVE operation\n!define StdUtils.SHFileCopy       '!insertmacro _StdU_SHFileCopy'    #SHFileOperation(), using the FO_COPY operation\n!define StdUtils.AppendToFile     '!insertmacro _StdU_AppendToFile'  #Append contents of an existing file to another file\n!define StdUtils.ExecShellAsUser  '!insertmacro _StdU_ExecShlUser'   #ShellExecute() as NON-elevated user from elevated installer\n!define StdUtils.InvokeShellVerb  '!insertmacro _StdU_InvkeShlVrb'   #Invokes a \"shell verb\", e.g. for pinning items to the taskbar\n!define StdUtils.ExecShellWaitEx  '!insertmacro _StdU_ExecShlWaitEx' #ShellExecuteEx(), returns the handle of the new process\n!define StdUtils.WaitForProcEx    '!insertmacro _StdU_WaitForProcEx' #WaitForSingleObject(), e.g. to wait for a running process\n!define StdUtils.GetParameter     '!insertmacro _StdU_GetParameter'  #Get the value of a specific command-line option\n!define StdUtils.TestParameter    '!insertmacro _StdU_TestParameter' #Test whether a specific command-line option has been set\n!define StdUtils.ParameterCnt     '!insertmacro _StdU_ParameterCnt'  #Get number of command-line tokens, similar to argc in main()\n!define StdUtils.ParameterStr     '!insertmacro _StdU_ParameterStr'  #Get the n-th command-line token, similar to argv[i] in main()\n!define StdUtils.GetAllParameters '!insertmacro _StdU_GetAllParams'  #Get complete command-line, but without executable name\n!define StdUtils.GetRealOSVersion '!insertmacro _StdU_GetRealOSVer'  #Get the *real* Windows version number, even on Windows 8.1+\n!define StdUtils.GetRealOSBuildNo '!insertmacro _StdU_GetRealOSBld'  #Get the *real* Windows build number, even on Windows 8.1+\n!define StdUtils.GetRealOSName    '!insertmacro _StdU_GetRealOSStr'  #Get the *real* Windows version, as a \"friendly\" name\n!define StdUtils.GetOSEdition     '!insertmacro _StdU_GetOSEdition'  #Get the Windows edition, i.e. \"workstation\" or \"server\"\n!define StdUtils.GetOSReleaseId   '!insertmacro _StdU_GetOSRelIdNo'  #Get the Windows release identifier (on Windows 10)\n!define StdUtils.GetOSReleaseName '!insertmacro _StdU_GetOSRelIdStr' #Get the Windows release (on Windows 10), as a \"friendly\" name\n!define StdUtils.VerifyOSVersion  '!insertmacro _StdU_VrfyRealOSVer' #Compare *real* operating system to an expected version number\n!define StdUtils.VerifyOSBuildNo  '!insertmacro _StdU_VrfyRealOSBld' #Compare *real* operating system to an expected build number\n!define StdUtils.HashText         '!insertmacro _StdU_HashText'      #Compute hash from text string (CRC32, MD5, SHA1/2/3, BLAKE2)\n!define StdUtils.HashFile         '!insertmacro _StdU_HashFile'      #Compute hash from file (CRC32, MD5, SHA1/2/3, BLAKE2)\n!define StdUtils.NormalizePath    '!insertmacro _StdU_NormalizePath' #Simplifies the path to produce a direct, well-formed path\n!define StdUtils.GetParentPath    '!insertmacro _StdU_GetParentPath' #Get parent path by removing the last component from the path\n!define StdUtils.SplitPath        '!insertmacro _StdU_SplitPath'     #Split the components of the given path\n!define StdUtils.GetDrivePart     '!insertmacro _StdU_GetDrivePart'  #Get drive component of path\n!define StdUtils.GetDirectoryPart '!insertmacro _StdU_GetDirPart'    #Get directory component of path\n!define StdUtils.GetFileNamePart  '!insertmacro _StdU_GetFNamePart'  #Get file name component of path\n!define StdUtils.GetExtensionPart '!insertmacro _StdU_GetExtnPart'   #Get file extension component of path\n!define StdUtils.TimerCreate      '!insertmacro _StdU_TimerCreate'   #Create a new event-timer that will be triggered periodically\n!define StdUtils.TimerDestroy     '!insertmacro _StdU_TimerDestroy'  #Destroy a running timer created with TimerCreate()\n!define StdUtils.ProtectStr       '!insertmacro _StdU_PrtctStr'      #Protect a given String using Windows' DPAPI\n!define StdUtils.UnprotectStr     '!insertmacro _StdU_UnprtctStr'    #Unprotect a string that was protected via ProtectStr()\n!define StdUtils.GetLibVersion    '!insertmacro _StdU_GetLibVersion' #Get the current StdUtils library version (for debugging)\n!define StdUtils.SetVerbose       '!insertmacro _StdU_SetVerbose'    #Enable or disable \"verbose\" mode (for debugging)\n\n\n#################################################################################\n# MACRO DEFINITIONS\n#################################################################################\n\n!macro _StdU_Time out\n\tStdUtils::Time /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetMinutes out\n\tStdUtils::GetMinutes /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetHours out\n\tStdUtils::GetHours /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetDays out\n\tStdUtils::GetDays /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_Rand out\n\tStdUtils::Rand /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_RandMax out max\n\tpush ${max}\n\tStdUtils::RandMax /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_RandMinMax out min max\n\tpush ${min}\n\tpush ${max}\n\tStdUtils::RandMinMax /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_RandList count max\n\tpush ${max}\n\tpush ${count}\n\tStdUtils::RandList /NOUNLOAD\n!macroend\n\n!macro _StdU_RandBytes out count\n\tpush ${count}\n\tStdUtils::RandBytes /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_FormatStr out format val\n\tpush `${format}`\n\tpush ${val}\n\tStdUtils::FormatStr /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_FormatStr2 out format val1 val2\n\tpush `${format}`\n\tpush ${val1}\n\tpush ${val2}\n\tStdUtils::FormatStr2 /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_FormatStr3 out format val1 val2 val3\n\tpush `${format}`\n\tpush ${val1}\n\tpush ${val2}\n\tpush ${val3}\n\tStdUtils::FormatStr3 /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ScanStr out format input default\n\tpush `${format}`\n\tpush `${input}`\n\tpush ${default}\n\tStdUtils::ScanStr /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ScanStr2 out1 out2 format input default1 default2\n\tpush `${format}`\n\tpush `${input}`\n\tpush ${default1}\n\tpush ${default2}\n\tStdUtils::ScanStr2 /NOUNLOAD\n\tpop ${out1}\n\tpop ${out2}\n!macroend\n\n!macro _StdU_ScanStr3 out1 out2 out3 format input default1 default2 default3\n\tpush `${format}`\n\tpush `${input}`\n\tpush ${default1}\n\tpush ${default2}\n\tpush ${default3}\n\tStdUtils::ScanStr3 /NOUNLOAD\n\tpop ${out1}\n\tpop ${out2}\n\tpop ${out3}\n!macroend\n\n!macro _StdU_TrimStr var\n\tpush ${var}\n\tStdUtils::TrimStr /NOUNLOAD\n\tpop ${var}\n!macroend\n\n!macro _StdU_TrimStrLeft var\n\tpush ${var}\n\tStdUtils::TrimStrLeft /NOUNLOAD\n\tpop ${var}\n!macroend\n\n!macro _StdU_TrimStrRight var\n\tpush ${var}\n\tStdUtils::TrimStrRight /NOUNLOAD\n\tpop ${var}\n!macroend\n\n!macro _StdU_RevStr var\n\tpush ${var}\n\tStdUtils::RevStr /NOUNLOAD\n\tpop ${var}\n!macroend\n\n!macro _StdU_ValidFileName out test\n\tpush `${test}`\n\tStdUtils::ValidFileName /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ValidPathSpec out test\n\tpush `${test}`\n\tStdUtils::ValidPathSpec /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ValidDomain out test\n\tpush `${test}`\n\tStdUtils::ValidDomainName /NOUNLOAD\n\tpop ${out}\n!macroend\n\n\n!macro _StdU_StrToUtf8 out str\n\tpush `${str}`\n\tStdUtils::StrToUtf8 /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_StrFromUtf8 out trnc str\n\tpush ${trnc}\n\tpush `${str}`\n\tStdUtils::StrFromUtf8 /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_SHFileMove out from to hwnd\n\tpush `${from}`\n\tpush `${to}`\n\tpush ${hwnd}\n\tStdUtils::SHFileMove /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_SHFileCopy out from to hwnd\n\tpush `${from}`\n\tpush `${to}`\n\tpush ${hwnd}\n\tStdUtils::SHFileCopy /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_AppendToFile out from dest offset maxlen\n\tpush `${from}`\n\tpush `${dest}`\n\tpush ${offset}\n\tpush ${maxlen}\n\tStdUtils::AppendToFile /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ExecShlUser out file verb args\n\tpush `${file}`\n\tpush `${verb}`\n\tpush `${args}`\n\tStdUtils::ExecShellAsUser /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_InvkeShlVrb out path file verb_id\n\tpush \"${path}\"\n\tpush \"${file}\"\n\tpush ${verb_id}\n\tStdUtils::InvokeShellVerb /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ExecShlWaitEx out_res out_val file verb args\n\tpush `${file}`\n\tpush `${verb}`\n\tpush `${args}`\n\tStdUtils::ExecShellWaitEx /NOUNLOAD\n\tpop ${out_res}\n\tpop ${out_val}\n!macroend\n\n!macro _StdU_WaitForProcEx out handle\n\tpush `${handle}`\n\tStdUtils::WaitForProcEx /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetParameter out name default\n\tpush `${name}`\n\tpush `${default}`\n\tStdUtils::GetParameter /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_TestParameter out name\n\tpush `${name}`\n\tStdUtils::TestParameter /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ParameterCnt out\n\tStdUtils::ParameterCnt /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_ParameterStr out index\n\tpush ${index}\n\tStdUtils::ParameterStr /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetAllParams out truncate\n\tpush `${truncate}`\n\tStdUtils::GetAllParameters /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetRealOSVer out_major out_minor out_spack\n\tStdUtils::GetRealOsVersion /NOUNLOAD\n\tpop ${out_major}\n\tpop ${out_minor}\n\tpop ${out_spack}\n!macroend\n\n!macro _StdU_GetRealOSBld out\n\tStdUtils::GetRealOsBuildNo /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetRealOSStr out\n\tStdUtils::GetRealOsName /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_VrfyRealOSVer out major minor spack\n\tpush `${major}`\n\tpush `${minor}`\n\tpush `${spack}`\n\tStdUtils::VerifyRealOsVersion /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_VrfyRealOSBld out build\n\tpush `${build}`\n\tStdUtils::VerifyRealOsBuildNo /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetOSEdition out\n\tStdUtils::GetOsEdition /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetOSRelIdNo out\n\tStdUtils::GetOsReleaseId /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetOSRelIdStr out\n\tStdUtils::GetOsReleaseName /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_HashText out type text\n\tpush `${type}`\n\tpush `${text}`\n\tStdUtils::HashText /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_HashFile out type file\n\tpush `${type}`\n\tpush `${file}`\n\tStdUtils::HashFile /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_NormalizePath out path\n\tpush `${path}`\n\tStdUtils::NormalizePath /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetParentPath out path\n\tpush `${path}`\n\tStdUtils::GetParentPath /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_SplitPath out_drive out_dir out_fname out_ext path\n\tpush `${path}`\n\tStdUtils::SplitPath /NOUNLOAD\n\tpop ${out_drive}\n\tpop ${out_dir}\n\tpop ${out_fname}\n\tpop ${out_ext}\n!macroend\n\n!macro _StdU_GetDrivePart out path\n\tpush `${path}`\n\tStdUtils::GetDrivePart /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetDirPart out path\n\tpush `${path}`\n\tStdUtils::GetDirectoryPart /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetFNamePart out path\n\tpush `${path}`\n\tStdUtils::GetFileNamePart /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetExtnPart out path\n\tpush `${path}`\n\tStdUtils::GetExtensionPart /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_TimerCreate out callback interval\n\tGetFunctionAddress ${out} ${callback}\n\tpush ${out}\n\tpush ${interval}\n\tStdUtils::TimerCreate /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_TimerDestroy out timer_id\n\tpush ${timer_id}\n\tStdUtils::TimerDestroy /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_PrtctStr out dpsc salt text\n\tpush `${dpsc}`\n\tpush `${salt}`\n\tpush `${text}`\n\tStdUtils::ProtectStr /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_UnprtctStr out trnc salt data\n\tpush `${trnc}`\n\tpush `${salt}`\n\tpush `${data}`\n\tStdUtils::UnprotectStr /NOUNLOAD\n\tpop ${out}\n!macroend\n\n!macro _StdU_GetLibVersion out_ver out_tst\n\tStdUtils::GetLibVersion /NOUNLOAD\n\tpop ${out_ver}\n\tpop ${out_tst}\n!macroend\n\n!macro _StdU_SetVerbose enable\n\tPush ${enable}\n\tStdUtils::SetVerboseMode /NOUNLOAD\n!macroend\n\n\n#################################################################################\n# MAGIC NUMBERS\n#################################################################################\n\n!define StdUtils.Const.ShellVerb.PinToTaskbar     0\n!define StdUtils.Const.ShellVerb.UnpinFromTaskbar 1\n!define StdUtils.Const.ShellVerb.PinToStart       2\n!define StdUtils.Const.ShellVerb.UnpinFromStart   3\n\n!endif # !___STDUTILS__NSH___\n"
  },
  {
    "path": "src/installer/NsisMultiUser/Include/UAC.nsh",
    "content": "/*** UAC Plug-in ***\n\nInteractive User (MediumIL)        Admin user (HighIL)\n***[Setup.exe]*************      ***[Setup.exe]**************\n*                         *      *                          *\n* +++[.OnInit]+++++++++++ *      * +++[.OnInit]++++++++++++ *\n* + UAC_RunElevated >---+-+----> * +                      + *\n* + NSIS.Quit           + *      * +                      + *\n* +++++++++++++++++++++++ *      * ++++++++++++++++++++++++ *\n*                         *      *                          *\n*                         *      *                          *\n* +++[Section]+++++++++++ *      * +++[Section]++++++++++++ *\n* +                     + *   /--+-+-<UAC_AsUser_ExecShell+ *\n* +++++++++++++++++++++++ *   |  * ++++++++++++++++++++++++ *\n*                         *   |  *                          *\n*  Win32.ShellExecute <---+--/   *                          *\n*                         *      *                          *\n***************************      ****************************\n\n*/\n\n!ifndef UAC_HDR__INC\n!verbose push\n!verbose 3\n!ifndef UAC_VERBOSE  \n\t!define UAC_VERBOSE 3\n!endif\n!verbose ${UAC_VERBOSE}\n\n!define UAC_HDR__INC 0x00020400 ;MMmmbbrr\n\n!include LogicLib.nsh\n\n\n\n/* UAC_RunElevated\n**\n** Starts the elevation operation.\n**\n** Return values:\n**\n** $0: Win32 error code (0 on success, 1223 if user aborted elevation dialog, anything else should be treated as a fatal error)\n** $1: If $0==0:\n**     0 UAC is not supported by the OS\n**     1 Started a elevated child process, the current process should act like a wrapper (Call Quit without any further processing)\n**     2 The process is already running @ HighIL (Member of admin group)\n**     3 You should call RunElevated again (This can happen if a user without admin priv. is used in the runas dialog)\n** $2: If $0==0 && $1==1: ExitCode of the elevated fork process (The NSIS errlvl is also set)\n** $3: If $0==0: 1 if the user is a member of the admin group or 0 otherwise\n**/\n!macro UAC_RunElevated\nUAC::_ 0\n!macroend\n!macro UAC_PageElevation_RunElevated\nUAC::_ 0\n!macroend\n/*!macro UAC_OnInitElevation_RunElevated\nUAC::_ 0\n!macroend\n!macro UAC_OnInitElevation_OnGuiInit\n!macroend*/\n\n\n\n/* UAC_GetIntegrityLevel <NSISVar:Output | \"s\">\n**\n** Get integrity level of current process\n**\n**/\n!macro UAC_GetIntegrityLevel outvar\nUAC::_ 6\n!if \"${outvar}\" != \"s\"\n\tPop ${outvar}\n!endif\n!macroend\n\n\n\n/* UAC_IsAdmin\n**\n** Is the current process running with administrator privileges? Result in $0\n**\n** ${If} ${UAC_IsAdmin} ...\n**\n**/\n!macro UAC_IsAdmin\nUAC::_ 2\n!macroend\n!define UAC_IsAdmin `\"\" UAC_IsAdmin \"\"`\n!macro _UAC_IsAdmin _a _b _t _f\n!insertmacro _UAC_MakeLL_Cmp _!= 0 2s\n!macroend\n\n\n\n/* UAC_IsInnerInstance\n**\n** Does the current process have a NSIS/UAC parent process that is part of the elevation operation?\n**\n** ${If} ${UAC_IsInnerInstance} ...\n**\n**/\n!macro UAC_IsInnerInstance\nUAC::_ 3\n!macroend\n!define UAC_IsInnerInstance `\"\" UAC_IsInnerInstance \"\"`\n!macro _UAC_IsInnerInstance _a _b _t _f\n!insertmacro _UAC_MakeLL_Cmp _!= 0 3s\n!macroend\n\n\n\n/* UAC_PageElevation_OnInit, UAC_PageElevation_OnGuiInit,\n**\n** Helper macros for elevation on a custom elevation page, see the DualMode example for more information.\n**\n**/\n!macro UAC_Notify_OnGuiInit\nUAC::_ 4\n!macroend\n!macro UAC_PageElevation_OnGuiInit\n!insertmacro UAC_Notify_OnGuiInit\n!macroend\n!macro UAC_PageElevation_OnInit\nUAC::_ 5\n${IfThen} ${Errors} ${|} Quit ${|}\n!macroend\n\n\n\n/* UAC_AsUser_Call <Function|Label> <NSISAddressName> <UAC_* flags>\n**\n** Calls a function or label in the user process instance.\n** All the UAC_AsUser_* macros use this helper macro.\n**\n**/\n!define UAC_SYNCREGISTERS 0x1\n;define UAC_SYNCSTACK     0x2\n!define UAC_SYNCOUTDIR    0x4\n!define UAC_SYNCINSTDIR   0x8\n;define UAC_CLEARERRFLAG  0x10\n!macro UAC_AsUser_Call type name flags\npush $0\nGet${type}Address $0 ${name}\n!verbose push\n!verbose ${UAC_VERBOSE}\n!insertmacro _UAC_ParseDefineFlagsToInt _UAC_AsUser_Call__flags ${flags}\n!verbose pop\nStrCpy $0 \"1$0:${_UAC_AsUser_Call__flags}\"\n!undef _UAC_AsUser_Call__flags\nExch $0\nUAC::_\n!macroend\n\n\n\n/*\n** UAC_AsUser_GetSection <Flags|InstTypes|Size|Text> <SectionIndex> <NSISVar:Output>\n*/\n!macro UAC_AsUser_GetSection secprop secidx outvar\n!insertmacro _UAC_AsUser_GenOp ${outvar} SectionGet${secprop} ${secidx} \"\"\n!macroend\n\n\n\n/*\n** UAC_AsUser_GetGlobalVar <NSISVar:SourceAndOutput>\n** UAC_AsUser_GetGlobal <NSISVar:Output> <NSISVar:Source>\n*/\n!macro UAC_AsUser_GetGlobalVar var\n!insertmacro _UAC_AsUser_GenOp ${var} StrCpy \"\" ${var}\n!macroend\n!macro UAC_AsUser_GetGlobal outvar srcvar\n!insertmacro _UAC_AsUser_GenOp ${outvar} StrCpy \"\" ${srcvar}\n!macroend\n\n\n\n/*\n** UAC_AsUser_ExecShell <Verb> <ApplicationOrFile> <Parameters> <Working Directory> <SW_*>\n**\n** Call ExecShell in the user process instance.\n**\n*/\n!macro UAC_AsUser_ExecShell verb command params workdir show\n!insertmacro _UAC_IncL\ngoto _UAC_L_E_${__UAC_L}\n_UAC_L_F_${__UAC_L}:\nExecShell \"${verb}\" \"${command}\" '${params}' ${show}\nreturn\n_UAC_L_E_${__UAC_L}:\n!if \"${workdir}\" != \"\"\n\tpush $outdir\n\tSetOutPath \"${workdir}\"\n!endif\n!insertmacro UAC_AsUser_Call Label _UAC_L_F_${__UAC_L} ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR} #|${UAC_CLEARERRFLAG}\n!if \"${workdir}\" != \"\"\n\tpop $outdir \n\tSetOutPath $outdir\n!endif\n!macroend\n\n\n\n!macro _UAC_MakeLL_Cmp cmpop cmp pluginparams\n!insertmacro _LOGICLIB_TEMP\nUAC::_ ${pluginparams}\npop $_LOGICLIB_TEMP\n!insertmacro ${cmpop} $_LOGICLIB_TEMP ${cmp} `${_t}` `${_f}`\n!macroend\n!macro _UAC_definemath def val1 op val2\n!define /math _UAC_definemath \"${val1}\" ${op} ${val2}\n!ifdef ${def}\n\t!undef ${def}\n!endif\n!define ${def} \"${_UAC_definemath}\"\n!undef _UAC_definemath\n!macroend\n!macro _UAC_ParseDefineFlags_orin parse outflags\n!searchparse /noerrors ${${parse}} \"\" _UAC_ParseDefineFlags_orin_f1 \"|\" _UAC_ParseDefineFlags_orin_f2\n!define _UAC_ParseDefineFlags_orin_this ${_UAC_ParseDefineFlags_orin_f1}\n!undef ${parse}\n!define ${parse} ${_UAC_ParseDefineFlags_orin_f2}\n!define _UAC_ParseDefineFlags_orin_saveout ${${outflags}}\n!undef ${outflags}\n!define /math ${outflags} \"${_UAC_ParseDefineFlags_orin_saveout}\" | \"${_UAC_ParseDefineFlags_orin_this}\"\n!undef _UAC_ParseDefineFlags_orin_saveout\n!undef _UAC_ParseDefineFlags_orin_this\n!ifdef _UAC_ParseDefineFlags_orin_f1\n\t!undef _UAC_ParseDefineFlags_orin_f1\n!endif\n!ifdef _UAC_ParseDefineFlags_orin_f2\n\t!undef _UAC_ParseDefineFlags_orin_f2\n!endif\n!macroend\n!macro _UAC_ParseDefineFlags_Begin _outdef _in\n!define _UAC_PDF${_outdef}_parse \"${_in}\"\n!define _UAC_PDF${_outdef}_flags \"\"\n!define _UAC_PDF${_outdef}_r 0\n!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags\t;0x1\n!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags\t;0x2\n!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags\t;0x4\n!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags\t;0x8\n!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags\t;0x10\n!macroend\n!macro _UAC_ParseDefineFlags_End _outdef\n!define ${_outdef} ${_UAC_PDF${_outdef}_r}\n!undef _UAC_PDF${_outdef}_r\n!undef _UAC_PDF${_outdef}_flags\n!undef _UAC_PDF${_outdef}_parse\n!macroend\n!macro _UAC_ParseDefineFlags_IncludeFlag _outdef flag\n!if ${_UAC_PDF${_outdef}_flags} & ${flag}\n\t!insertmacro _UAC_definemath _UAC_PDF${_outdef}_r ${_UAC_PDF${_outdef}_r} | ${flag}\n!endif\n!macroend\n!macro _UAC_ParseDefineFlagsToInt _outdef _in\n!insertmacro _UAC_ParseDefineFlags_Begin _UAC_ParseDefineFlagsToInt_tmp \"${_in}\"\n!define ${_outdef} ${_UAC_PDF_UAC_ParseDefineFlagsToInt_tmp_flags}\n!insertmacro _UAC_ParseDefineFlags_End _UAC_ParseDefineFlagsToInt_tmp\n!undef _UAC_ParseDefineFlagsToInt_tmp\n!macroend\n!macro _UAC_IncL\n!insertmacro _UAC_definemath __UAC_L \"${__UAC_L}\" + 1\n!macroend\n!macro _UAC_AsUser_GenOp outvar op opparam1 opparam2\n!define _UAC_AUGOGR_ID _UAC_AUGOGR_OP${outvar}${op}${opparam1}${opparam2}\n!ifndef ${_UAC_AUGOGR_ID} ;Has this exact action been done before? \n\t!if ${outvar} == $0\n\t\t!define ${_UAC_AUGOGR_ID} $1\n\t!else\n\t\t!define ${_UAC_AUGOGR_ID} $0\n\t!endif\n\t!if \"${opparam1}\" == \"\"\n\t\t!define _UAC_AUGOGR_OPP1 ${${_UAC_AUGOGR_ID}}\n\t\t!define _UAC_AUGOGR_OPP2 ${opparam2}\n\t!else\n\t\t!define _UAC_AUGOGR_OPP1 ${opparam1}\n\t\t!define _UAC_AUGOGR_OPP2 ${${_UAC_AUGOGR_ID}}\n\t!endif\t\n\tgoto ${_UAC_AUGOGR_ID}_C\n\t${_UAC_AUGOGR_ID}_F:\n\t\t${op} ${_UAC_AUGOGR_OPP1} ${_UAC_AUGOGR_OPP2}\n\t\treturn\n\t${_UAC_AUGOGR_ID}_C:\n\t!undef _UAC_AUGOGR_OPP1\n\t!undef _UAC_AUGOGR_OPP2\n!endif\npush ${${_UAC_AUGOGR_ID}}\n!insertmacro UAC_AsUser_Call Label ${_UAC_AUGOGR_ID}_F ${UAC_SYNCREGISTERS}\nStrCpy ${outvar} ${${_UAC_AUGOGR_ID}}\npop ${${_UAC_AUGOGR_ID}}\n!undef _UAC_AUGOGR_ID\n!macroend\n\n\n\n!verbose pop\n!endif /* UAC_HDR__INC */"
  },
  {
    "path": "src/installer/installer.nsi",
    "content": "!addplugindir /x86-unicode \".\\NsisMultiUser\\Plugins\\x86-unicode\\\"\n!addincludedir \".\\NsisMultiUser\\Include\\\"\n\n\nSetCompressor /SOLID lzma\n\n!getdllversion \"..\\x64\\Release\\Notepad--.exe\" nnver_\n!define VERSION ${nnver_1}.${nnver_2}\n!define VERSION_MAJOR ${nnver_1}\n!define VERSION_MINOR ${nnver_2}\n!define VERSION_PATCH ${nnver_3}\n# dont think I'd ever need beyond a patch number\n\n!if ${VERSION_PATCH} != 0\n\t!undef VERSION\n\t!define VERSION ${nnver_1}.${nnver_2}.${nnver_3}\n!endif\n\n# Configure NsisMultiUser: https://github.com/Drizin/NsisMultiUser/wiki\n!define PRODUCT_NAME \"Notepad--\"\n!define COMPANY_NAME \"${PRODUCT_NAME}\"\n!define PROGEXE \"notepad--.exe\"\n!define MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY \"Notepad--\"\n!define MULTIUSER_INSTALLMODE_DISPLAYNAME \"${PRODUCT_NAME}\"\n!define MULTIUSER_INSTALLMODE_64_BIT 1\n!define MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS 1\n!define MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS 0\n!define MULTIUSER_INSTALLMODE_ALLOW_ELEVATION 1\n!define MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT 1 ; required for silent-mode allusers-uninstall to work, when using the workaround for Windows elevation bug\n\n\n# Configure MUI\n!define MUI_ABORTWARNING\n!define MUI_ICON \"..\\Resources\\edit\\global\\ndd.ico\"\n!define MUI_UNICON \"..\\Resources\\edit\\global\\ndd.ico\"\n!define MUI_COMPONENTSPAGE_NODESC\n\n!include \"NsisMultiUser.nsh\"\n!include \"NsisMultiUserLang.nsh\"\n!include \"MUI2.nsh\"\n!include \"Memento.nsh\"\n!include \"FileFunc.nsh\"\n!include \"utils.nsh\"\n\n# Detect if the Notepad Next application is running\n!insertmacro CheckIfRunning \"\"\n!insertmacro CheckIfRunning \"un.\"\n\n# Configure Memento\n!define MEMENTO_REGISTRY_ROOT SHCTX\n!define MEMENTO_REGISTRY_KEY Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Notepad--\n\n\n# Install pages\n!define MUI_PAGE_CUSTOMFUNCTION_PRE PageWelcomeLicensePre\n!insertmacro MUI_PAGE_WELCOME\n!define MUI_PAGE_CUSTOMFUNCTION_PRE PageWelcomeLicensePre\n#!insertmacro MUI_PAGE_LICENSE \"..\\LICENSE\"\n!insertmacro MULTIUSER_PAGE_INSTALLMODE\n!insertmacro MUI_PAGE_COMPONENTS\n!insertmacro MUI_PAGE_DIRECTORY # In which folder install page.\n!define MUI_PAGE_CUSTOMFUNCTION_SHOW \"CheckIfRunning\"\n!insertmacro MUI_PAGE_INSTFILES # Installing page.\n!insertmacro MUI_PAGE_FINISH # Finished installation page.\n\n\n# Uninstall pages\n!insertmacro MUI_UNPAGE_WELCOME\n!insertmacro MUI_UNPAGE_CONFIRM\n!insertmacro MULTIUSER_UNPAGE_INSTALLMODE\n!define MUI_PAGE_CUSTOMFUNCTION_SHOW \"un.CheckIfRunning\"\n!insertmacro MUI_UNPAGE_INSTFILES\n!insertmacro MUI_UNPAGE_FINISH\n\n\n# Language stuff\n!insertmacro MUI_LANGUAGE \"English\"\n!insertmacro MUI_LANGUAGE \"SimpChinese\"\n!insertmacro MULTIUSER_LANGUAGE_INIT\n\n\n\nName \"Notepad-- v${VERSION}\"\nOutFile \"Notepad--v${VERSION}-Installer.exe\"\nShowInstDetails show\nBrandingText \" \"\n\n# Installer Information\nVIProductVersion \"${nnver_1}.${nnver_2}.${nnver_3}.${nnver_4}\"\nVIAddVersionKey /LANG=${LANG_ENGLISH} \"FileVersion\" \"${VERSION}\"\nVIAddVersionKey /LANG=${LANG_ENGLISH} \"ProductName\" \"Notepad--\"\nVIAddVersionKey /LANG=${LANG_ENGLISH} \"LegalCopyright\" \"Copyright 2019\"\nVIAddVersionKey /LANG=${LANG_ENGLISH} \"FileDescription\" \"Notepad-- v${VERSION} Installer\"\nVIAddVersionKey /LANG=${LANG_ENGLISH} \"ProductVersion\" \"${VERSION}\"\n\n\nFunction PageWelcomeLicensePre\n\t${if} $InstallShowPagesBeforeComponents == 0\n\t\tAbort ; don't display the Welcome and License pages for the inner instance \n\t${endif}\nFunctionEnd\n\nFunction .onInit\n\t${ifnot} ${UAC_IsInnerInstance}\n\t\t!insertmacro CheckSingleInstance \"Setup\" \"Global\" \"Notepad--SetupMutex\"\n\t${endif}\n\n\t!insertmacro MULTIUSER_INIT\n\n\t${MementoSectionRestore}\n\n\t# Trigger the selection change manually so that the hidden sections get set appropriately\n\tCall .onSelChange\n\n    ${RefreshShellIcons}\n\nFunctionEnd\n\nFunction .onInstSuccess\n\t${MementoSectionSave}\nFunctionEnd\n\nFunction un.onInit\n\t!insertmacro MULTIUSER_UNINIT\nFunctionEnd\n\n\nSection \"Notepad--\"\n\tSectionIn RO\n\tSetOutPath $INSTDIR\n\n\t#File /r /x libcrypto-1_1-x64.dll /x libssl-1_1-x64.dll ..\\build\\package\\*\n\n    File ..\\x64\\Release\\Notepad--.exe\n\n    #IfFileExists C:\\Windows\\SysWOW64\\vcomp140.dll +2 0\n        File ..\\x64\\Release\\vcomp140.dll\n\n\n\tSetRegView 64\n\n\t# Register the application (e.g. cmd> start notepadnext)\n\tWriteRegStr SHCTX \"Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Notepad--\" \"\" \"$INSTDIR\\Notepad--.exe\"\n\n\t# Register 'Open With' menu suggestion. No real good documentation for this. https://stackoverflow.com/a/62783311\n\t\n\tWriteRegStr SHCTX \"Software\\Classes\\Notepad--\\shell\" \"\" \"open\"\n\tWriteRegStr SHCTX \"Software\\Classes\\Notepad--\\shell\\open\\command\" \"\" \"$\\\"$INSTDIR\\Notepad--.exe$\\\" $\\\"%1$\\\"\"\n\tWriteRegStr SHCTX \"Software\\Classes\\.txt\\OpenWithProgids\" \"Notepad--\" \"\"\n\n\tWriteUninstaller \"$INSTDIR\\uninstall.exe\"\n\t!insertmacro MULTIUSER_RegistryAddInstallInfo\n\n\t${GetSize} \"$INSTDIR\" \"/S=0K\" $0 $1 $2\n\tIfErrors +3 0\n\tIntFmt $0 \"0x%08X\" $0\n\tWriteRegDWORD SHCTX \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Notepad--\" \"EstimatedSize\" \"$0\"\nSectionEnd\n\n# -----------------------------------------------\n\n${MementoSection} \"Desktop Shortcut\" SEC_DESKTOP_SHORTCUT\n\tCreateShortCut \"$DESKTOP\\Notepad--.lnk\" \"$INSTDIR\\Notepad--.exe\"\n${MementoSectionEnd}\n\nSection \"-Remove Desktop Shortcut\" SEC_REMOVE_DESKTOP_SHORTCUT\n\tDelete \"$DESKTOP\\Notepad--.lnk\"\nSectionEnd\n\n# -----------------------------------------------\n\n${MementoSection} \"Start Menu Shortcut\" SEC_START_MENU_SHORTCUT\n\tCreateShortCut \"$SMPROGRAMS\\Notepad--.lnk\" \"$INSTDIR\\Notepad--.exe\"\n${MementoSectionEnd}\n\nSection \"-Start Menu Shortcut\" SEC_REMOVE_START_MENU_SHORTCUT\n\tDelete \"$SMPROGRAMS\\Notepad--.lnk\"\nSectionEnd\n\n# -----------------------------------------------\n\n${MementoSection} \"Context Menu\" SEC_CONTEXT_MENU\n\tSetRegView 64\n\n\tWriteRegStr SHCTX \"Software\\Classes\\*\\shell\\Notepad--\" \"\" \"Edit with Notepad--\"\n\tWriteRegStr SHCTX \"Software\\Classes\\*\\shell\\Notepad--\" \"Icon\" \"$INSTDIR\\Notepad--.exe\"\n\tWriteRegStr SHCTX \"Software\\Classes\\*\\shell\\Notepad--\\command\" \"\" \"$\\\"$INSTDIR\\Notepad--.exe$\\\" $\\\"%1$\\\"\"\n${MementoSectionEnd}\n\nSection \"-Context Menu\" SEC_REMOVE_CONTEXT_MENU\n\tSetRegView 64\n\n\tDeleteRegKey SHCTX \"Software\\Classes\\*\\shell\\Notepad--\"\nSectionEnd\n\n# -----------------------------------------------\n\n#${MementoSection} \"Auto Updater\" SEC_AUTO_UPDATER\n#\tSetRegView 64\n#\tSetOutPath $INSTDIR\n\n#\tFile ..\\build\\package\\libcrypto-1_1-x64.dll ..\\build\\package\\libssl-1_1-x64.dll\n\n#\tWriteRegDWORD SHCTX \"Software\\NotepadNext\\NotepadNext\\\" \"AutoUpdate\" 1\n#${MementoSectionEnd}\n\n#Section \"-Auto Updater\" SEC_REMOVE_AUTO_UPDATER\n#\tSetRegView 64\n\n\t# Disable the auto update, if there was an existing install the DLLs may hang around but that's fine for now\n#\tWriteRegDWORD SHCTX \"Software\\NotepadNext\\NotepadNext\\\" \"AutoUpdate\" 0\n#SectionEnd\n\n# -----------------------------------------------\n\n#Section \".txt\" Ndd\n#DetailPrint \"关联 txt 文件...\"\n#SectionIn 1\n#WriteRegStr HKCR   \".txt\" \"\" \"Ndd.file\"\n#WriteRegStr HKCR   \"Ndd.file\" \"\" \"文本文件 (.txt)\"\n#WriteRegStr HKCR   \"Ndd.file\\DefaultIcon\" \"\" \"$INSTDIR\\Notepad--.exe,0\"\n#WriteRegStr HKCR   \"Ndd.file\\shell\" \"\" \"\"\n#WriteRegStr HKCR   \"Ndd.file\\shell\\open\" \"\" \"\"\n#WriteRegStr HKCR   \"Ndd.file\\shell\\open\\command\" \"\" '\"$INSTDIR\\Notepad--.exe\" \"%1\"'\n#SectionEnd\n\n\n${MementoSectionDone}\n\n\nFunction .onSelChange\n${If} ${SectionIsSelected} ${SEC_DESKTOP_SHORTCUT}\n\t!insertmacro UnselectSection ${SEC_REMOVE_DESKTOP_SHORTCUT}\n${Else}\n\t!insertmacro SelectSection ${SEC_REMOVE_DESKTOP_SHORTCUT}\n${EndIf}\n\n${If} ${SectionIsSelected} ${SEC_START_MENU_SHORTCUT}\n\t!insertmacro UnselectSection ${SEC_REMOVE_START_MENU_SHORTCUT}\n${Else}\n\t!insertmacro SelectSection ${SEC_REMOVE_START_MENU_SHORTCUT}\n${EndIf}\n\n${If} ${SectionIsSelected} ${SEC_CONTEXT_MENU}\n\t!insertmacro UnselectSection ${SEC_REMOVE_CONTEXT_MENU}\n${Else}\n\t!insertmacro SelectSection ${SEC_REMOVE_CONTEXT_MENU}\n${EndIf}\n\n#${If} ${SectionIsSelected} ${SEC_AUTO_UPDATER}\n#\t!insertmacro UnselectSection ${SEC_REMOVE_AUTO_UPDATER}\n#${Else}\n#\t!insertmacro SelectSection ${SEC_REMOVE_AUTO_UPDATER}\n#${EndIf}\nFunctionEnd\n\n\nSection \"Uninstall\"\n\tSetRegView 64\n\n\tRMDir /r $INSTDIR\n\n\t# Desktop shortcut\n\tDelete \"$DESKTOP\\Notepad--.lnk\"\n\n\t# Start Menu shortcut\n\tDelete \"$SMPROGRAMS\\Notepad--.lnk\"\n\n\t# Context menu registry\n\tDeleteRegKey SHCTX \"Software\\Classes\\*\\shell\\Notepad--\"\n\n\t# Remove application registration\n\tDeleteRegKey SHCTX \"Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Notepad--.exe\" \"\" \"$INSTDIR\\Notepad--.exe\"\n\n\t# Custom configurations\n\tDeleteRegKey SHCTX \"Software\\Notepad--\\\"\n\n\t# Remove 'Open With' menu suggestion\n\tDeleteRegValue SHCTX \"Software\\Classes\\.txt\\OpenWithProgids\" \"Notepad--\"\n\tDeleteRegKey SHCTX \"Software\\Classes\\Notepad--\"\n\n    #DeleteRegKey HKCR   \".txt\" \"\" \"Ndd.file\"\n\t\n\t!insertmacro MULTIUSER_RegistryRemoveInstallInfo \nSectionEnd\n"
  },
  {
    "path": "src/installer/newinstall.iss",
    "content": "; Script generated by the Inno Setup Script Wizard.\r\n; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!\r\n\r\n#define MyAppName \"Notepad--\"\r\n#define MyAppVersion \"1.17.2\"\r\n#define MyAppPublisher \"nddԴ֯\"\r\n#define MyAppURL \"https://gitee.com/cxasm/notepad--\"\r\n#define MyAppExeName \"Notepad--.exe\"\r\n#define MyAppAssocName \"nddfile\"\r\n#define MyAppAssocExt \".txt\"\r\n#define MyAppAssocKey StringChange(MyAppAssocName, \" \", \"\") + MyAppAssocExt\r\n\r\n[Setup]\r\n; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.\r\n; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)\r\nAppId={{FA6189F1-03B8-44A2-BE8E-F6CD8E7857B6}\r\nAppName={#MyAppName}\r\nAppVersion={#MyAppVersion}\r\n;AppVerName={#MyAppName} {#MyAppVersion}\r\nAppPublisher={#MyAppPublisher}\r\nAppPublisherURL={#MyAppURL}\r\nAppSupportURL={#MyAppURL}\r\nAppUpdatesURL={#MyAppURL}\r\nArchitecturesInstallIn64BitMode=x64\r\nDefaultDirName={autopf}\\{#MyAppName}\r\nChangesAssociations=yes\r\nDisableProgramGroupPage=yes\r\n; Uncomment the following line to run in non administrative install mode (install for current user only.)\r\n;PrivilegesRequired=lowest\r\nPrivilegesRequiredOverridesAllowed=dialog\r\nOutputDir=D:\\CCNotePad\\installer\r\nOutputBaseFilename=Notepad--v1.17.2-Installer\r\nSetupIconFile=D:\\CCNotePad\\Resources\\edit\\global\\ndd.ico\r\nCompression=lzma\r\nSolidCompression=yes\r\nWizardStyle=modern\r\n\r\n[Languages]\r\nName: \"ChineseSimplified\"; MessagesFile: \"compiler:Languages\\ChineseSimplified.isl\"\r\n\r\n[Tasks]\r\nName: \"desktopicon\"; Description: \"{cm:CreateDesktopIcon}\"; GroupDescription: \"{cm:AdditionalIcons}\"; Flags: unchecked\r\n\r\n[Files]\r\nSource: \"D:\\CCNotePad\\x64\\Release\\{#MyAppExeName}\"; DestDir: \"{app}\"; Flags: ignoreversion\r\nSource: \"D:\\CCNotePad\\x64\\Release\\vcomp140.dll\"; DestDir: \"{app}\"; Flags: ignoreversion\r\n; NOTE: Don't use \"Flags: ignoreversion\" on any shared system files\r\n\r\n[Registry]\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocKey}\"; ValueType: string; ValueName: \"\"; ValueData: \"{#MyAppAssocName}\"; Flags: uninsdeletekey\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocKey}\\DefaultIcon\"; ValueType: string; ValueName: \"\"; ValueData: \"{app}\\{#MyAppExeName},0\"\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocKey}\\shell\\open\\command\"; ValueType: string; ValueName: \"\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\" \"\"%1\"\"\"\r\nRoot: HKA; Subkey: \"Software\\Classes\\Applications\\{#MyAppExeName}\\SupportedTypes\"; ValueType: string; ValueName: \".myp\"; ValueData: \"\"\r\nRoot: HKA; Subkey: \"Software\\Classes\\*\\shell\\Notepad--\"; ValueType: string; ValueName: \"\"; ValueData: \"Edit with Notepad--\"; Flags: uninsdeletekey\r\nRoot: HKA; Subkey: \"Software\\Classes\\*\\shell\\Notepad--\"; ValueType: string; ValueName: \"Icon\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\"\" \r\nRoot: HKA; Subkey: \"Software\\Classes\\*\\shell\\Notepad--\\command\"; ValueType: string; ValueName: \"\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\" \"\"%1\"\"\" ;\r\n\r\n\r\n[Icons]\r\nName: \"{autoprograms}\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"\r\nName: \"{autodesktop}\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"; Tasks: desktopicon\r\n\r\n[Run]\r\nFilename: \"{app}\\{#MyAppExeName}\"; Description: \"{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}\"; Flags: nowait postinstall skipifsilent\r\n\r\n"
  },
  {
    "path": "src/installer/newinstall_dync.iss",
    "content": "; Script generated by the Inno Setup Script Wizard.\r\n; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!\r\n\r\n#define MyAppName \"Notepad--\"\r\n#define MyAppVersion \"1.23.2\"\r\n#define MyAppDesc MyAppName + MyAppVersion + \"(Ndd)\"\r\n#define MyAppPublisher \"nddԴ֯\"\r\n#define MyAppURL \"https://gitee.com/cxasm/notepad--\"\r\n#define MyAppExeName \"Notepad--.exe\"\r\n#define MyAppAssocName \"nddfile\"\r\n#define MyAppAssocExt \".txt\"\r\n#define MyAppAssocKey StringChange(MyAppAssocName, \" \", \"\") + MyAppAssocExt\r\n\r\n#define MyAppAssocExt1 \".ini\"\r\n#define MyAppAssocExt2 \".log\"\r\n#define MyAppAssocExt3 \".sh\"\r\n#define MyAppAssocExt4 \".h\"\r\n#define MyAppAssocExt5 \".c\"\r\n#define MyAppAssocExt6 \".cpp\"\r\n#define MyAppAssocExt7 \".py\"\r\n#define MyAppAssocExt8 \".xml\"\r\n#define MyAppAssocExt9 \".def\"\r\n#define MyAppAssocExt10 \".json\"\r\n#define MyAppAssocExt11 \".pro\"\r\n#define MyAppAssocExt12 \".csv\"\r\n\r\n\r\n[Setup]\r\n; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.\r\n; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)\r\nAppId={{FA6189F1-03B8-44A2-BE8E-F6CD8E7857B6}\r\nAppName={#MyAppName}\r\nAppVersion={#MyAppVersion}\r\n;AppVerName={#MyAppName} {#MyAppVersion}\r\nAppPublisher={#MyAppPublisher}\r\nAppPublisherURL={#MyAppURL}\r\nAppSupportURL={#MyAppURL}\r\nAppUpdatesURL={#MyAppURL}\r\nArchitecturesInstallIn64BitMode=x64\r\nDefaultDirName={autopf}\\{#MyAppName}\r\nChangesAssociations=yes\r\nDisableProgramGroupPage=yes\r\n; Uncomment the following line to run in non administrative install mode (install for current user only.)\r\n;PrivilegesRequired=lowest\r\nPrivilegesRequiredOverridesAllowed=dialog\r\nOutputDir=D:\\CCNotePad\\installer\r\nOutputBaseFilename=Notepad--v1.22.0-Installer\r\nSetupIconFile=D:\\CCNotePad\\Resources\\edit\\global\\ndd.ico\r\nCompression=lzma\r\nSolidCompression=yes\r\nWizardStyle=modern\r\n\r\n\r\n[Languages]\r\nName: \"ChineseSimplified\"; MessagesFile: \"compiler:Languages\\ChineseSimplified.isl\"\r\n\r\n[Tasks]\r\nName: \"desktopicon\"; Description: \"{cm:CreateDesktopIcon}\"; GroupDescription: \"{cm:AdditionalIcons}\"; Flags: unchecked\r\n\r\n[Files]\r\nSource: \"D:\\CCNotePad\\x64\\Release\\{#MyAppExeName}\"; DestDir: \"{app}\"; Flags: ignoreversion\r\nSource: \"D:\\CCNotePad\\x64\\Release\\*\"; DestDir: \"{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs\r\n; NOTE: Don't use \"Flags: ignoreversion\" on any shared system files\r\n\r\n[Registry]\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt1}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue ; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt2}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt3}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt4}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt5}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt6}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt7}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt8}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt9}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt10}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocExt11}\\OpenWithProgids\"; ValueType: string; ValueName: \"{#MyAppAssocKey}\"; ValueData: \"\"; Flags: uninsdeletevalue; Components: ass\r\n\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocKey}\"; ValueType: string; ValueName: \"\"; ValueData: \"{#MyAppAssocName}\"; Flags: uninsdeletekey; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocKey}\\DefaultIcon\"; ValueType: string; ValueName: \"\"; ValueData: \"{app}\\{#MyAppExeName},0\"; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\{#MyAppAssocKey}\\shell\\open\\command\"; ValueType: string; ValueName: \"\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\" \"\"%1\"\"\"; Components: main\r\n\r\nRoot: HKA; Subkey: \"Software\\Classes\\Applications\\{#MyAppExeName}\"; ValueType: string; ValueName: \"\"; ValueData: \"\"; Flags: uninsdeletekey; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\Applications\\{#MyAppExeName}\\SupportedTypes\"; ValueType: string; ValueName: \".myp\"; ValueData: \"\"; Flags: uninsdeletekey; Components: main\r\n;Root: HKA; Subkey: \"Software\\Classes\\Applications\\{#MyAppExeName}\\shell\\open\\command\"; ValueType: string; ValueName: \"\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\" \"\"%1\"\"\"; Flags: uninsdeletekey; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\*\\shell\\Notepad--\"; ValueType: string; ValueName: \"\"; ValueData: \"Edit with Notepad--\"; Flags: uninsdeletekey; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\*\\shell\\Notepad--\"; ValueType: string; ValueName: \"Icon\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\"\" ; Components: main\r\nRoot: HKA; Subkey: \"Software\\Classes\\*\\shell\\Notepad--\\command\"; ValueType: string; ValueName: \"\"; ValueData: \"\"\"{app}\\{#MyAppExeName}\"\" \"\"%1\"\"\" ; Components: main\r\n\r\n\r\n\r\n[Components]\r\nName: \"main\"; Description: \"{#MyAppDesc}\"; Types: full compact custom; Flags: fixed\r\nName: \"ass\"; Description: \"򿪳ı\"; Types: full\r\n\r\n\r\n[Icons]\r\nName: \"{autoprograms}\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"\r\nName: \"{autodesktop}\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"; Tasks: desktopicon\r\n\r\n[Run]\r\nFilename: \"{app}\\{#MyAppExeName}\"; Description: \"{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}\"; Flags: nowait postinstall skipifsilent\r\n\r\n"
  },
  {
    "path": "src/installer/utils.nsh",
    "content": "# Stolen from https://github.com/Drizin/NsisMultiUser/blob/f6a4865a6045ca1334c099359b23e2b7342fa7de/Demos/Common/Utils.nsh\n\n!define ERROR_ALREADY_EXISTS 0x000000b7\n!define ERROR_ACCESS_DENIED 0x5\n\n!macro CheckSingleInstanceFunc UNINSTALLER_PREFIX\n\t; parameters:\n\t; $0 - TYPE - \"Setup\" or \"Application\"\n\t; $1 - SCOPE - \"Global\" or \"Local\" (default if empty)\n\t; $2 - MUTEX_NAME - unique mutex name\n\tFunction ${UNINSTALLER_PREFIX}CheckSingleInstance\n\t\tPush $3\n\t\tPush $4\n\t\tPush $5\n\n\t\t${if} $1 == \"\"\n\t\t\tStrCpy $1 \"Local\"\n\t\t${endif}\n\n\t\t${if} $0 == \"Setup\"\n\t\t\tStrCpy $5 \"The setup of ${PRODUCT_NAME}\"\n\t\t${else}\n\t\t\tStrCpy $5 \"${PRODUCT_NAME}\"\n\t\t${endif}\n\n\t\ttry:\n\t\tSystem::Call 'kernel32::CreateMutex(i 0, i 0, t \"$1\\$2\") i .r3 ?e'\n\t\tPop $4 ; the stack contains the result of GetLastError\n\n\t\t${if} $0 == \"Application\"\n\t\t\t${andif} $3 <> 0\n\t\t\tSystem::Call 'kernel32::CloseHandle(i $3)' ; close the Application mutex\n\t\t${endif}\n\n\t\t${if} $4 = ${ERROR_ALREADY_EXISTS}\n\t\t\t${orif} $4 = ${ERROR_ACCESS_DENIED}\t; ERROR_ACCESS_DENIED means the mutex was created by another user and we don't have access to open it, so application is running\n\t\t\t; will display NSIS taskbar button, no way to hide it before GUIInit, $HWNDPARENT is 0\n\t\t\tMessageBox 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\n\t\t\tSystem::Call 'kernel32::CloseHandle(i $3)' ; for next CreateMutex call to succeed\n\t\t\tGoto try\n\n\t\t\tcancel:\n\t\t\tQuit ; will SetErrorLevel 2 - Installation aborted by script\n\t\t${endif}\n\n\t\tPop $5\n\t\tPop $4\n\t\tPop $3\n\tFunctionEnd\n!macroend\n\n!macro CheckSingleInstance TYPE SCOPE MUTEX_NAME\n\tPush $0\n\tPush $1\n\tPush $2\n\t\n\tStrCpy $0 \"${TYPE}\"\n\tStrCpy $1 \"${SCOPE}\"\n\tStrCpy $2 \"${MUTEX_NAME}\"\n\t!ifndef __UNINSTALL__\n\t\tCall CheckSingleInstance\n\t!else\n\t\tCall un.CheckSingleInstance\n\t!endif\n\t\n\tPop $2\n\tPop $1\n\tPop $0\n!macroend\n\n!insertmacro CheckSingleInstanceFunc \"\"\n\n; Stolen from https://github.com/notepad-plus-plus/notepad-plus-plus/blob/6892bcbf3a6f7477beffd4941730a32a3c3b4a74/PowerEditor/installer/nsisInclude/tools.nsh#L49\n!macro CheckIfRunning un\n\tFunction ${un}CheckIfRunning\n\t\tCheck:\n\t\tSystem::Call 'kernel32::OpenMutex(i 0x100000, b 0, t \"Notepad--Mutex\") i .R0'\n\t\t\n\t\tIntCmp $R0 0 NotRunning\n\t\t\tSystem::Call 'kernel32::CloseHandle(i $R0)'\n\t\t\tMessageBox 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\n\t\t\tRetry:\n\t\t\t\tGoto Check\n\t\t\tCancel:\n\t\t\t\tQuit\n\t\tNotRunning:\n\tFunctionEnd\n!macroend"
  },
  {
    "path": "src/langextset.cpp",
    "content": "#include \"langextset.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"extlexermanager.h\"\r\n#include \"ccnotepad.h\"\r\n\r\n#include <qtablewidget.h>\r\n#include <QHeaderView>\r\n#include <QSettings>\r\n#include <QMessageBox>\r\n\r\nint ITEM_CHANGED = Qt::UserRole; \r\nint ITEM_LEX_ID = Qt::UserRole + 1; //Ӧ﷨lexer ID\r\nint ITEM_LEX_EXT_OLD_VALUE = Qt::UserRole + 2; //Ӧ﷨EXTļľֵ\r\n\r\nLangExtSet::LangExtSet(QWidget *parent)\r\n\t: QMainWindow(parent), m_isChanged(false)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tui.langTableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);\r\n\tinitLangName();\r\n\r\n\tconnect(ui.langTableWidget, &QTableWidget::itemChanged, this, &LangExtSet::slot_itemChanged);\r\n\tconnect(ui.langTableWidget, &QTableWidget::currentItemChanged, this, &LangExtSet::slot_currentItemChanged);\r\n}\r\n\r\nLangExtSet::~LangExtSet()\r\n{}\r\n\r\nvoid LangExtSet::initLangName()\r\n{\r\n\tint langId = 0;\r\n\r\n\tQMap<QString, QStringList> extLangMap;\r\n\r\n\tExtLexerManager::getInstance()->getExtlistByLangTag(extLangMap);\r\n\r\n\tfor (int i = 0; i <= L_TXT; ++i)\r\n\t{\r\n\t\tif (i == L_GLOBAL)\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tQsciLexer* pLexer = ScintillaEditView::createLexer(i);\r\n\t\tif (nullptr != pLexer)\r\n\t\t{\r\n\t\t\tQString langName = pLexer->lexerTag();\r\n\t\t\tQTableWidgetItem* item = new QTableWidgetItem(langName);\r\n\t\t\titem->setFlags(item->flags() & ~Qt::ItemIsEditable);\r\n\t\t\titem->setData(ITEM_LEX_ID, QVariant(i));\r\n\r\n\t\t\tui.langTableWidget->insertRow(langId);\r\n\t\t\tui.langTableWidget->setItem(langId, 0, item);\r\n\r\n\t\t\tQStringList extList;\r\n\t\t\tif (extLangMap.contains(langName))\r\n\t\t\t{\r\n\t\t\t\textList = extLangMap.value(langName);\r\n\t\t\t}\r\n\r\n\t\t\tQTableWidgetItem* item1 = new QTableWidgetItem(extList.join(','));\r\n\t\t\titem1->setData(ITEM_CHANGED, QVariant(false)); \r\n\r\n\t\t\t//Ѿֵ޸ĺԱʵʱ޸ڴеĸĶ\r\n\t\t\titem1->setData(ITEM_LEX_EXT_OLD_VALUE, QVariant(extList));\r\n\t\t\t\r\n\t\t\tui.langTableWidget->setItem(langId, 1, item1);\r\n\t\t\tdelete pLexer;\r\n\r\n\t\t\t++langId;\r\n\t\t}\r\n\t}\r\n\tui.langTableWidget->sortItems(0, Qt::AscendingOrder);\r\n}\r\n\r\nvoid LangExtSet::slot_itemChanged(QTableWidgetItem* item)\r\n{\r\n\titem->setData(ITEM_CHANGED, QVariant(true));\r\n\r\n\tslot_currentItemChanged(item, nullptr);\r\n\r\n\tif (!m_isChanged)\r\n\t{\r\n\t\tm_isChanged = true;\r\n\t}\r\n}\r\n\r\nvoid LangExtSet::slot_currentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous)\r\n{\r\n\tif (current != nullptr)\r\n\t{\r\n\t\tint row = current->row();\r\n\t\tQTableWidgetItem* tagItem = ui.langTableWidget->item(row, 0);\r\n\t\tQTableWidgetItem* extItem = ui.langTableWidget->item(row, 1);\r\n\r\n\t\tif (tagItem != nullptr && extItem != nullptr)\r\n\t\t{\r\n\t\t\tui.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()));\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid LangExtSet::slot_save()\r\n{\r\n\tif (!m_isChanged)\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Not change, no need save !\"), 10000);\r\n\t\treturn;\r\n\t}\r\n\r\n\tint rowNums = ui.langTableWidget->rowCount();\r\n\r\n\tQString userLangFile = QString(\"notepad/tag_ext\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tfor (int i = 0; i < rowNums; ++i)\r\n\t{\r\n\t\tQTableWidgetItem* item = ui.langTableWidget->item(i, 1);\r\n\t\tif (item != nullptr && item->data(ITEM_CHANGED).toBool())\r\n\t\t{\r\n\t\t\tQTableWidgetItem* langItem = ui.langTableWidget->item(i, 0);\r\n\t\t\tif (langItem != nullptr)\r\n\t\t\t{\r\n\t\t\t\tQString langTag = langItem->text();\r\n\t\t\t\tint lexId = langItem->data(ITEM_LEX_ID).toInt();\r\n\r\n\t\t\t\tQStringList extList = item->text().split(',');\r\n\r\n\t\t\t\tfor (int i = extList.size() - 1; i >= 0; --i)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (extList.at(i).isEmpty())\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\textList.removeAt(i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tqs.setValue(langTag, extList);\r\n\r\n\t\t\t\tQString langLexerTag = QString(\"%1_lexId\").arg(langTag);\r\n\t\t\t\tqs.setValue(langLexerTag, lexId);\r\n\r\n\t\t\t\t//ǸļǸڴ棬ʵʱЧ\r\n\t\t\t\tQStringList oldExtList = item->data(ITEM_LEX_EXT_OLD_VALUE).toStringList();\r\n\r\n\t\t\t\tupdataExtLexerManager(langTag, lexId, oldExtList, extList);\r\n\r\n\t\t\t\t//ֵΪܲرʱٴ޸\r\n\t\t\t\titem->setData(ITEM_LEX_EXT_OLD_VALUE, QVariant(extList));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tqs.sync();\r\n\tm_isChanged = false;\r\n\tui.statusBar->showMessage(tr(\"Save Finished !\"), 10000);\r\n}\r\n\r\n//ExtLexerManagertagֵ\r\nvoid LangExtSet::updataExtLexerManager(QString tag, int lexId, QStringList & oldExtList, QStringList & newExtList)\r\n{\r\n\t//Ѿɵֱɾ\r\n\tfor (int i = 0; i < oldExtList.size(); ++i)\r\n\t{\r\n\t\tExtLexerManager::getInstance()->remove(oldExtList.at(i));\r\n\t}\r\n\t//µ¼һ\r\n\tfor (int i = 0; i < newExtList.size(); ++i)\r\n\t{\r\n\t\tFileExtLexer v;\r\n\t\tv.ext = newExtList.at(i);\r\n\t\tv.id = (LangType)lexId;\r\n\r\n\t\tExtLexerManager::getInstance()->addNewExtType(v.ext, v.id, tag);\r\n\t}\r\n}\r\n\r\n//ļĹ׺﷨\r\nvoid LangExtSet::loadExtRelevanceToMagr()\r\n{\r\n\tQString userLangFile = QString(\"notepad/tag_ext\");//Զв.ַдҪ\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tif (!QFile::exists(qs.fileName()))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQStringList keylist = qs.allKeys();\r\n\tQString langTag;\r\n\tQStringList extList;\r\n\tQString key_id;\r\n\tint lexid = 0;\r\n\r\n\tfor (int i = 0; i < keylist.size(); ++i)\r\n\t{\r\n\t\tlangTag = keylist.at(i);\r\n\t\tif (langTag.endsWith(\"_lexId\"))\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tkey_id = QString(\"%1_lexId\").arg(langTag);\r\n\t\textList = qs.value(langTag).toStringList();\r\n\t\tlexid = qs.value(key_id).toInt();\r\n\r\n\t\tfor (int j = 0; j < extList.size(); ++j)\r\n\t\t{\r\n\t\t\tFileExtLexer v;\r\n\t\t\tv.ext = extList.at(j);\r\n\t\t\tv.id = (LangType)lexid;\r\n\r\n\t\t\tExtLexerManager::getInstance()->addNewExtType(v.ext, v.id, langTag);\r\n\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid LangExtSet::closeEvent(QCloseEvent* e)\r\n{\r\n\tif (m_isChanged)\r\n\t{\r\n\t\tif (QMessageBox::Yes == QMessageBox::question(this, tr(\"Save Change\"), tr(\"Configuration has been modified. Do you want to save it?\")))\r\n\t\t{\r\n\t\t\tslot_save();\r\n\t\t}\r\n\t}\r\n}"
  },
  {
    "path": "src/langextset.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include \"ui_langextset.h\"\r\n\r\nclass LangExtSet : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tLangExtSet(QWidget *parent = nullptr);\r\n\t~LangExtSet();\r\n\tstatic void loadExtRelevanceToMagr();\r\n\r\nprivate:\r\n\tvoid initLangName();\r\n\tvoid updataExtLexerManager(QString tag, int lexId, QStringList& oldExtList, QStringList& newExtList);\r\n\r\nprotected:\r\n\tvoid closeEvent(QCloseEvent* e);\r\n\r\nprivate slots:\r\n\tvoid slot_itemChanged(QTableWidgetItem* item);\r\n\tvoid slot_currentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous);\r\n\tvoid slot_save();\r\n\r\nprivate:\r\n\tUi::LangExtSetClass ui;\r\n\tbool m_isChanged;\r\n};\r\n"
  },
  {
    "path": "src/langextset.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>LangExtSetClass</class>\r\n <widget class=\"QMainWindow\" name=\"LangExtSetClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>809</width>\r\n    <height>504</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>LangExtSet</string>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QVBoxLayout\" name=\"verticalLayout\" stretch=\"0,0,0\">\r\n    <property name=\"spacing\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QTableWidget\" name=\"langTableWidget\">\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Language</string>\r\n       </property>\r\n      </column>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>File Suffix</string>\r\n       </property>\r\n      </column>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <widget class=\"QPlainTextEdit\" name=\"plainTextEdit\">\r\n      <property name=\"maximumSize\">\r\n       <size>\r\n        <width>16777215</width>\r\n        <height>100</height>\r\n       </size>\r\n      </property>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n      <item>\r\n       <spacer name=\"horizontalSpacer\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"pushButton\">\r\n        <property name=\"text\">\r\n         <string>Save</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"pushButton_2\">\r\n        <property name=\"text\">\r\n         <string>Close</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <spacer name=\"horizontalSpacer_2\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>LangExtSetClass</receiver>\r\n   <slot>slot_save()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>374</x>\r\n     <y>466</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>394</x>\r\n     <y>509</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton_2</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>LangExtSetClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>467</x>\r\n     <y>467</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>529</x>\r\n     <y>479</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_save()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/langstyledefine.cpp",
    "content": "#include \"langstyledefine.h\"\r\n#include \"userlexdef.h\"\r\n#include \"extlexermanager.h\"\r\n\r\n#include <QInputDialog>\r\n#include <QMessageBox>\r\n#include <QSettings>\r\n#include <QFileInfo>\r\n#include <QDir>\r\n#include <QDebug>\r\n\r\n\r\n\r\nQString LangStyleDefine::s_userLangDirPath = \"\";\r\n\r\nLangStyleDefine::LangStyleDefine(QWidget *parent): QMainWindow(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tloadUserLangs();\r\n\r\n\tconnect(ui.curDefineLangCb, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &LangStyleDefine::slot_langsChange);\r\n}\r\n\r\nLangStyleDefine::~LangStyleDefine()\r\n{}\r\n\r\n//isLoadToUI是否加载显示到当前UI界面\r\nbool LangStyleDefine::readLangSetFile(QString langName, bool isLoadToUI)\r\n{\r\n\tQString userLangFile = QString(\"notepad/userlang/%1\").arg(langName);//自定义语言中不能有.字符，否则可能有错，后续要检查\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\tqDebug() << qs.fileName();\r\n\r\n\tif (!qs.contains(\"mz\"))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (isLoadToUI)\r\n\t{\r\n\t\t//自定义语言格式。\r\n\t\t//mz:ndd\r\n\t\t//name:xxx\r\n\t\t//mother:xxx none/cpp/html 就三种\r\n\t\t//ext:xx xx xx 文件关联后缀名\r\n\t\t//keword:xxx\r\n\t\tui.keyWordEdit->setPlainText(qs.value(\"keyword\").toString());\r\n\r\n\t\tqDebug() << qs.value(\"keyword\").toString();\r\n\t\tui.extNameLe->setText(qs.value(\"ext\").toString());\r\n\r\n\t\tqDebug() << qs.value(\"ext\").toString();\r\n\t\tui.motherLangCb->setCurrentText(qs.value(\"mother\").toString());\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n\r\n//查找既有的用户自定义语言配置\r\nvoid LangStyleDefine::loadUserLangs()\r\n{\r\n\ts_userLangDirPath = getUserLangDirPath();\r\n\r\n\t//遍历文件夹\r\n\tQDir dir_file(s_userLangDirPath);\r\n\t//dir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件\r\n\tQFileInfoList list_file = dir_file.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks, QDir::Name);\r\n\r\n\tbool isFirst = true;\r\n\tbool readOk = true;\r\n\tfor (int i = 0; i < list_file.size(); ++i)\r\n\t{  //将当前目录中所有文件添加到treewidget中\r\n\t\tQFileInfo fileInfo = list_file.at(i);\r\n\r\n\t\t//这个文件是ext和tag的映射文件，不做配置解析\r\n\t\tif (fileInfo.baseName() == \"ext_tag\")\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (isFirst)\r\n\t\t{\r\n\t\t\treadOk = readLangSetFile(fileInfo.baseName(), true);\r\n\t\t\tif (readOk)\r\n\t\t\t{\r\n\t\t\t\tisFirst = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treadOk = readLangSetFile(fileInfo.baseName(), false);\r\n\t\t}\r\n\r\n\t\tif (readOk)\r\n\t\t{\r\n\t\tui.curDefineLangCb->addItem(fileInfo.baseName());\r\n\t}\r\n}\r\n}\r\n\r\nvoid LangStyleDefine::slot_new()\r\n{\r\n\tQString name = QInputDialog::getText(this, tr(\"Create New Languages\"), tr(\"Please Input Languages Name\"));\r\n\r\n\tif (!name.isEmpty())\r\n\t{\r\n\t\tif (-1 != name.indexOf(\".\"))\r\n\t\t{\r\n\t\t\tQMessageBox::warning(this, tr(\"Name Error\"), tr(\"Name can not contains char '.' \"));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdisconnect(ui.curDefineLangCb, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &LangStyleDefine::slot_langsChange);\r\n\r\n\t\tui.curDefineLangCb->addItem(name);\r\n\t\tui.curDefineLangCb->setCurrentIndex(ui.curDefineLangCb->count()-1);\r\n\t\tui.extNameLe->clear();\r\n\t\tui.motherLangCb->setCurrentIndex(0);\r\n\t\tui.keyWordEdit->clear();\r\n\r\n\t\tconnect(ui.curDefineLangCb, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &LangStyleDefine::slot_langsChange);\r\n\r\n}\r\n}\r\n\r\nvoid LangStyleDefine::slot_save()\r\n{\r\n\tif (ui.extNameLe->text().trimmed().isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Ext is empty\"), tr(\"input ext file tyle. Split with space char\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (ui.keyWordEdit->toPlainText().trimmed().isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Keyword is empty\"), tr(\"input Keyword. Split with space char\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString newLangName = ui.curDefineLangCb->currentText().trimmed();\r\n\r\n\tif (newLangName.isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Language name is empty\"), tr(\"Select Definition Language Text\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString keywords = ui.keyWordEdit->toPlainText().trimmed();\r\n\r\n\tint motherLangs = ui.motherLangCb->currentIndex();\r\n\tmotherLangs += LangType::L_USER_TXT;\r\n\r\n\tUserLexDef *pCppLexer = new UserLexDef(this);\r\n\tpCppLexer->setMotherLang(UserLangMother(motherLangs));\r\n\tpCppLexer->setExtFileTypes(ui.extNameLe->text().trimmed());\r\n\tpCppLexer->setKeyword(keywords);\r\n\tpCppLexer->writeUserSettings(newLangName);\r\n\r\n\t//把新语言tagName,和关联ext单独存放起来。后面只读取一个文件就能获取所有，避免遍历慢\r\n\tQString extsFile = QString(\"notepad/userlang/ext_tag\");//ext_tag是存在所有tag ext的文件\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, extsFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tQStringList extList = ui.extNameLe->text().trimmed().split(\" \");\r\n\textList.append(QString::number(motherLangs)); //最后一个是mother lexer\r\n\r\n\tqs.setValue(newLangName, extList);\r\n\r\n\t//更新当前ExtLexerManager::getInstance()。如果不更新，就要重启软件才能生效\r\n\tfor (int i = 0, s = extList.size(); i < s; ++i)\r\n\t{\r\n\t\tExtLexerManager::getInstance()->addNewExtType(extList.at(i), LangType(motherLangs), newLangName);\r\n}\r\n\t\r\n\tui.statusBar->showMessage(tr(\"Save %1 language finished !\").arg(newLangName), 10000);\r\n\r\n}\r\n\r\n\r\nvoid LangStyleDefine::slot_langsChange(int index)\r\n{\r\n\tQString name = ui.curDefineLangCb->currentText();\r\n\tui.keyWordEdit->clear();\r\n\tui.extNameLe->clear();\r\n\tui.motherLangCb->setCurrentIndex(0);\r\n\treadLangSetFile(name,true);\r\n}\r\n\r\n//删除当前的语言\r\nvoid LangStyleDefine::slot_delete()\r\n{\r\n\tQString name = ui.curDefineLangCb->currentText();\r\n\t//删除该语言\r\n\r\n\tif (QMessageBox::Yes != QMessageBox::question(this, tr(\"Delete Language\"), tr(\"Are you sure delete user define lanuage %1\").arg(name)))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\t{\r\n\t\tQString userLangFile = QString(\"notepad/userlang/%1\").arg(name);//自定义语言中不能有.字符，否则可能有错，后续要检查\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\t\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\t\t//删除userlang下面的tag.ini\r\n\t\tQFile::remove(qs.fileName());\r\n\t}\r\n\r\n\t{\r\n\t\t//把新语言在ext_tag中的关联文件记录也删除\r\n\t\tQString extsFile = QString(\"notepad/userlang/ext_tag\");//ext_tag是存在所有tag ext的文件\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, extsFile);\r\n\t\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\t\tQStringList extList = qs.value(name).toStringList();\r\n\t\t//更新当前ExtLexerManager::getInstance()。如果不更新，就要重启软件才能生效\r\n\t\tfor (int i = 0, s = extList.size(); i < s; ++i)\r\n\t\t{\r\n\t\t\tExtLexerManager::getInstance()->remove(extList.at(i));\r\n\t\t}\r\n\t\tqs.remove(name);\r\n\t}\r\n\r\n\t{\r\n\t\t//如果存在自定义的配置，也删除掉\r\n\t\tQString cfgPath = QString(\"notepad/%1\").arg(name);\r\n\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\t\tif (QFile::exists(qs.fileName()))\r\n\t\t{\r\n\t\t\tQFile::remove(qs.fileName());\r\n\t\t}\r\n\t}\r\n\r\n\tui.curDefineLangCb->removeItem(ui.curDefineLangCb->currentIndex());\r\n\r\n\tui.statusBar->showMessage(tr(\"Delete %1 language finished !\").arg(name), 10000);\r\n}\r\n"
  },
  {
    "path": "src/langstyledefine.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include \"ui_langstyledefine.h\"\r\n#include \"rcglobal.h\"\r\n\r\n\r\nclass LangStyleDefine : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tLangStyleDefine(QWidget *parent = nullptr);\r\n\t~LangStyleDefine();\r\n\r\nprivate :\r\n\tvoid loadUserLangs();\r\n\tbool readLangSetFile(QString langName, bool isLoadToUI=false);\r\n\r\nprivate slots:\r\n\tvoid slot_new();\r\n\tvoid slot_save();\r\n\tvoid slot_langsChange(int index);\r\n\r\n\tvoid slot_delete();\r\n\r\nprivate:\r\n\tUi::LangStyleDefineClass ui;\r\n\r\n\tstatic QString s_userLangDirPath;\r\n};\r\n\r\n\r\n"
  },
  {
    "path": "src/langstyledefine.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>LangStyleDefineClass</class>\r\n <widget class=\"QMainWindow\" name=\"LangStyleDefineClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>843</width>\r\n    <height>575</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>LangStyleDefine</string>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\">\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>6</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n      <property name=\"maximumSize\">\r\n       <size>\r\n        <width>300</width>\r\n        <height>16777215</height>\r\n       </size>\r\n      </property>\r\n      <property name=\"title\">\r\n       <string>Setting</string>\r\n      </property>\r\n      <layout class=\"QGridLayout\" name=\"gridLayout_3\">\r\n       <property name=\"leftMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"topMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"rightMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"bottomMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"horizontalSpacing\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"verticalSpacing\">\r\n        <number>6</number>\r\n       </property>\r\n       <item row=\"0\" column=\"0\">\r\n        <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n         <item>\r\n          <widget class=\"QLabel\" name=\"label\">\r\n           <property name=\"text\">\r\n            <string>Definition Language</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QComboBox\" name=\"curDefineLangCb\"/>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n       <item row=\"2\" column=\"0\">\r\n        <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n         <item>\r\n          <widget class=\"QLabel\" name=\"label_3\">\r\n           <property name=\"text\">\r\n            <string>Mother Language</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QComboBox\" name=\"motherLangCb\">\r\n           <item>\r\n            <property name=\"text\">\r\n             <string>None</string>\r\n            </property>\r\n           </item>\r\n           <item>\r\n            <property name=\"text\">\r\n             <string>Cpp</string>\r\n            </property>\r\n           </item>\r\n          </widget>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n       <item row=\"5\" column=\"0\">\r\n        <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n         <item row=\"0\" column=\"1\">\r\n          <widget class=\"QPushButton\" name=\"delBt\">\r\n           <property name=\"text\">\r\n            <string>Delete</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item row=\"0\" column=\"0\">\r\n          <widget class=\"QPushButton\" name=\"newBt\">\r\n           <property name=\"text\">\r\n            <string>New Create</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item row=\"3\" column=\"0\">\r\n          <widget class=\"QPushButton\" name=\"saveBt\">\r\n           <property name=\"text\">\r\n            <string>Save</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item row=\"3\" column=\"1\">\r\n          <widget class=\"QPushButton\" name=\"saveAsBt\">\r\n           <property name=\"text\">\r\n            <string>Close</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n       <item row=\"1\" column=\"0\">\r\n        <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n         <item>\r\n          <widget class=\"QLabel\" name=\"label_2\">\r\n           <property name=\"text\">\r\n            <string>Expand File Name:</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QLineEdit\" name=\"extNameLe\">\r\n           <property name=\"maxLength\">\r\n            <number>256</number>\r\n           </property>\r\n           <property name=\"placeholderText\">\r\n            <string>js cs (split with space）</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n       <item row=\"3\" column=\"0\">\r\n        <spacer name=\"verticalSpacer\">\r\n         <property name=\"orientation\">\r\n          <enum>Qt::Vertical</enum>\r\n         </property>\r\n         <property name=\"sizeHint\" stdset=\"0\">\r\n          <size>\r\n           <width>20</width>\r\n           <height>40</height>\r\n          </size>\r\n         </property>\r\n        </spacer>\r\n       </item>\r\n      </layout>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <widget class=\"QGroupBox\" name=\"groupBox\">\r\n      <property name=\"title\">\r\n       <string>Input Key Words</string>\r\n      </property>\r\n      <layout class=\"QGridLayout\" name=\"gridLayout_2\">\r\n       <property name=\"leftMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"topMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"rightMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"bottomMargin\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"horizontalSpacing\">\r\n        <number>3</number>\r\n       </property>\r\n       <property name=\"verticalSpacing\">\r\n        <number>6</number>\r\n       </property>\r\n       <item row=\"0\" column=\"0\">\r\n        <widget class=\"QPlainTextEdit\" name=\"keyWordEdit\"/>\r\n       </item>\r\n      </layout>\r\n     </widget>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QMenuBar\" name=\"menuBar\">\r\n   <property name=\"geometry\">\r\n    <rect>\r\n     <x>0</x>\r\n     <y>0</y>\r\n     <width>843</width>\r\n     <height>23</height>\r\n    </rect>\r\n   </property>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>newBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>LangStyleDefineClass</receiver>\r\n   <slot>slot_new()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>131</x>\r\n     <y>503</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>318</x>\r\n     <y>547</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>saveBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>LangStyleDefineClass</receiver>\r\n   <slot>slot_save()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>155</x>\r\n     <y>532</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>273</x>\r\n     <y>551</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>saveAsBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>LangStyleDefineClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>249</x>\r\n     <y>520</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>429</x>\r\n     <y>544</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>delBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>LangStyleDefineClass</receiver>\r\n   <slot>slot_delete()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>275</x>\r\n     <y>491</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>539</x>\r\n     <y>546</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_new()</slot>\r\n  <slot>slot_save()</slot>\r\n  <slot>slot_delete()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/linux/usr/share/applications/NotePad--.desktop",
    "content": "[Desktop Entry]\nVersion=1.0\nName=NotePad--\nName[zh_CN]=NotePad--\nComment=NotePad-- 是一个国产跨平台、简单的文本编辑器。\nType=Application\nExec=NotePad-- %F \nIcon=/usr/share/icons/hicolor/128x128/apps/notepad--.png\nCategories=Development;Office;\nTerminal=false\nMimeType=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;\n\n# Generated from the DesktopGenerater component of the z-Tools toolkit\n"
  },
  {
    "path": "src/linux/usr/share/licenses/notepad--/LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\r\n                       Version 3, 29 June 2007\r\n\r\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\r\n Everyone is permitted to copy and distribute verbatim copies\r\n of this license document, but changing it is not allowed.\r\n\r\n                            Preamble\r\n\r\n  The GNU General Public License is a free, copyleft license for\r\nsoftware and other kinds of works.\r\n\r\n  The licenses for most software and other practical works are designed\r\nto take away your freedom to share and change the works.  By contrast,\r\nthe GNU General Public License is intended to guarantee your freedom to\r\nshare and change all versions of a program--to make sure it remains free\r\nsoftware for all its users.  We, the Free Software Foundation, use the\r\nGNU General Public License for most of our software; it applies also to\r\nany other work released this way by its authors.  You can apply it to\r\nyour programs, too.\r\n\r\n  When we speak of free software, we are referring to freedom, not\r\nprice.  Our General Public Licenses are designed to make sure that you\r\nhave the freedom to distribute copies of free software (and charge for\r\nthem if you wish), that you receive source code or can get it if you\r\nwant it, that you can change the software or use pieces of it in new\r\nfree programs, and that you know you can do these things.\r\n\r\n  To protect your rights, we need to prevent others from denying you\r\nthese rights or asking you to surrender the rights.  Therefore, you have\r\ncertain responsibilities if you distribute copies of the software, or if\r\nyou modify it: responsibilities to respect the freedom of others.\r\n\r\n  For example, if you distribute copies of such a program, whether\r\ngratis or for a fee, you must pass on to the recipients the same\r\nfreedoms that you received.  You must make sure that they, too, receive\r\nor can get the source code.  And you must show them these terms so they\r\nknow their rights.\r\n\r\n  Developers that use the GNU GPL protect your rights with two steps:\r\n(1) assert copyright on the software, and (2) offer you this License\r\ngiving you legal permission to copy, distribute and/or modify it.\r\n\r\n  For the developers' and authors' protection, the GPL clearly explains\r\nthat there is no warranty for this free software.  For both users' and\r\nauthors' sake, the GPL requires that modified versions be marked as\r\nchanged, so that their problems will not be attributed erroneously to\r\nauthors of previous versions.\r\n\r\n  Some devices are designed to deny users access to install or run\r\nmodified versions of the software inside them, although the manufacturer\r\ncan do so.  This is fundamentally incompatible with the aim of\r\nprotecting users' freedom to change the software.  The systematic\r\npattern of such abuse occurs in the area of products for individuals to\r\nuse, which is precisely where it is most unacceptable.  Therefore, we\r\nhave designed this version of the GPL to prohibit the practice for those\r\nproducts.  If such problems arise substantially in other domains, we\r\nstand ready to extend this provision to those domains in future versions\r\nof the GPL, as needed to protect the freedom of users.\r\n\r\n  Finally, every program is threatened constantly by software patents.\r\nStates should not allow patents to restrict development and use of\r\nsoftware on general-purpose computers, but in those that do, we wish to\r\navoid the special danger that patents applied to a free program could\r\nmake it effectively proprietary.  To prevent this, the GPL assures that\r\npatents cannot be used to render the program non-free.\r\n\r\n  The precise terms and conditions for copying, distribution and\r\nmodification follow.\r\n\r\n                       TERMS AND CONDITIONS\r\n\r\n  0. Definitions.\r\n\r\n  \"This License\" refers to version 3 of the GNU General Public License.\r\n\r\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\r\nworks, such as semiconductor masks.\r\n\r\n  \"The Program\" refers to any copyrightable work licensed under this\r\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\r\n\"recipients\" may be individuals or organizations.\r\n\r\n  To \"modify\" a work means to copy from or adapt all or part of the work\r\nin a fashion requiring copyright permission, other than the making of an\r\nexact copy.  The resulting work is called a \"modified version\" of the\r\nearlier work or a work \"based on\" the earlier work.\r\n\r\n  A \"covered work\" means either the unmodified Program or a work based\r\non the Program.\r\n\r\n  To \"propagate\" a work means to do anything with it that, without\r\npermission, would make you directly or secondarily liable for\r\ninfringement under applicable copyright law, except executing it on a\r\ncomputer or modifying a private copy.  Propagation includes copying,\r\ndistribution (with or without modification), making available to the\r\npublic, and in some countries other activities as well.\r\n\r\n  To \"convey\" a work means any kind of propagation that enables other\r\nparties to make or receive copies.  Mere interaction with a user through\r\na computer network, with no transfer of a copy, is not conveying.\r\n\r\n  An interactive user interface displays \"Appropriate Legal Notices\"\r\nto the extent that it includes a convenient and prominently visible\r\nfeature that (1) displays an appropriate copyright notice, and (2)\r\ntells the user that there is no warranty for the work (except to the\r\nextent that warranties are provided), that licensees may convey the\r\nwork under this License, and how to view a copy of this License.  If\r\nthe interface presents a list of user commands or options, such as a\r\nmenu, a prominent item in the list meets this criterion.\r\n\r\n  1. Source Code.\r\n\r\n  The \"source code\" for a work means the preferred form of the work\r\nfor making modifications to it.  \"Object code\" means any non-source\r\nform of a work.\r\n\r\n  A \"Standard Interface\" means an interface that either is an official\r\nstandard defined by a recognized standards body, or, in the case of\r\ninterfaces specified for a particular programming language, one that\r\nis widely used among developers working in that language.\r\n\r\n  The \"System Libraries\" of an executable work include anything, other\r\nthan the work as a whole, that (a) is included in the normal form of\r\npackaging a Major Component, but which is not part of that Major\r\nComponent, and (b) serves only to enable use of the work with that\r\nMajor Component, or to implement a Standard Interface for which an\r\nimplementation is available to the public in source code form.  A\r\n\"Major Component\", in this context, means a major essential component\r\n(kernel, window system, and so on) of the specific operating system\r\n(if any) on which the executable work runs, or a compiler used to\r\nproduce the work, or an object code interpreter used to run it.\r\n\r\n  The \"Corresponding Source\" for a work in object code form means all\r\nthe source code needed to generate, install, and (for an executable\r\nwork) run the object code and to modify the work, including scripts to\r\ncontrol those activities.  However, it does not include the work's\r\nSystem Libraries, or general-purpose tools or generally available free\r\nprograms which are used unmodified in performing those activities but\r\nwhich are not part of the work.  For example, Corresponding Source\r\nincludes interface definition files associated with source files for\r\nthe work, and the source code for shared libraries and dynamically\r\nlinked subprograms that the work is specifically designed to require,\r\nsuch as by intimate data communication or control flow between those\r\nsubprograms and other parts of the work.\r\n\r\n  The Corresponding Source need not include anything that users\r\ncan regenerate automatically from other parts of the Corresponding\r\nSource.\r\n\r\n  The Corresponding Source for a work in source code form is that\r\nsame work.\r\n\r\n  2. Basic Permissions.\r\n\r\n  All rights granted under this License are granted for the term of\r\ncopyright on the Program, and are irrevocable provided the stated\r\nconditions are met.  This License explicitly affirms your unlimited\r\npermission to run the unmodified Program.  The output from running a\r\ncovered work is covered by this License only if the output, given its\r\ncontent, constitutes a covered work.  This License acknowledges your\r\nrights of fair use or other equivalent, as provided by copyright law.\r\n\r\n  You may make, run and propagate covered works that you do not\r\nconvey, without conditions so long as your license otherwise remains\r\nin force.  You may convey covered works to others for the sole purpose\r\nof having them make modifications exclusively for you, or provide you\r\nwith facilities for running those works, provided that you comply with\r\nthe terms of this License in conveying all material for which you do\r\nnot control copyright.  Those thus making or running the covered works\r\nfor you must do so exclusively on your behalf, under your direction\r\nand control, on terms that prohibit them from making any copies of\r\nyour copyrighted material outside their relationship with you.\r\n\r\n  Conveying under any other circumstances is permitted solely under\r\nthe conditions stated below.  Sublicensing is not allowed; section 10\r\nmakes it unnecessary.\r\n\r\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\r\n\r\n  No covered work shall be deemed part of an effective technological\r\nmeasure under any applicable law fulfilling obligations under article\r\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\r\nsimilar laws prohibiting or restricting circumvention of such\r\nmeasures.\r\n\r\n  When you convey a covered work, you waive any legal power to forbid\r\ncircumvention of technological measures to the extent such circumvention\r\nis effected by exercising rights under this License with respect to\r\nthe covered work, and you disclaim any intention to limit operation or\r\nmodification of the work as a means of enforcing, against the work's\r\nusers, your or third parties' legal rights to forbid circumvention of\r\ntechnological measures.\r\n\r\n  4. Conveying Verbatim Copies.\r\n\r\n  You may convey verbatim copies of the Program's source code as you\r\nreceive it, in any medium, provided that you conspicuously and\r\nappropriately publish on each copy an appropriate copyright notice;\r\nkeep intact all notices stating that this License and any\r\nnon-permissive terms added in accord with section 7 apply to the code;\r\nkeep intact all notices of the absence of any warranty; and give all\r\nrecipients a copy of this License along with the Program.\r\n\r\n  You may charge any price or no price for each copy that you convey,\r\nand you may offer support or warranty protection for a fee.\r\n\r\n  5. Conveying Modified Source Versions.\r\n\r\n  You may convey a work based on the Program, or the modifications to\r\nproduce it from the Program, in the form of source code under the\r\nterms of section 4, provided that you also meet all of these conditions:\r\n\r\n    a) The work must carry prominent notices stating that you modified\r\n    it, and giving a relevant date.\r\n\r\n    b) The work must carry prominent notices stating that it is\r\n    released under this License and any conditions added under section\r\n    7.  This requirement modifies the requirement in section 4 to\r\n    \"keep intact all notices\".\r\n\r\n    c) You must license the entire work, as a whole, under this\r\n    License to anyone who comes into possession of a copy.  This\r\n    License will therefore apply, along with any applicable section 7\r\n    additional terms, to the whole of the work, and all its parts,\r\n    regardless of how they are packaged.  This License gives no\r\n    permission to license the work in any other way, but it does not\r\n    invalidate such permission if you have separately received it.\r\n\r\n    d) If the work has interactive user interfaces, each must display\r\n    Appropriate Legal Notices; however, if the Program has interactive\r\n    interfaces that do not display Appropriate Legal Notices, your\r\n    work need not make them do so.\r\n\r\n  A compilation of a covered work with other separate and independent\r\nworks, which are not by their nature extensions of the covered work,\r\nand which are not combined with it such as to form a larger program,\r\nin or on a volume of a storage or distribution medium, is called an\r\n\"aggregate\" if the compilation and its resulting copyright are not\r\nused to limit the access or legal rights of the compilation's users\r\nbeyond what the individual works permit.  Inclusion of a covered work\r\nin an aggregate does not cause this License to apply to the other\r\nparts of the aggregate.\r\n\r\n  6. Conveying Non-Source Forms.\r\n\r\n  You may convey a covered work in object code form under the terms\r\nof sections 4 and 5, provided that you also convey the\r\nmachine-readable Corresponding Source under the terms of this License,\r\nin one of these ways:\r\n\r\n    a) Convey the object code in, or embodied in, a physical product\r\n    (including a physical distribution medium), accompanied by the\r\n    Corresponding Source fixed on a durable physical medium\r\n    customarily used for software interchange.\r\n\r\n    b) Convey the object code in, or embodied in, a physical product\r\n    (including a physical distribution medium), accompanied by a\r\n    written offer, valid for at least three years and valid for as\r\n    long as you offer spare parts or customer support for that product\r\n    model, to give anyone who possesses the object code either (1) a\r\n    copy of the Corresponding Source for all the software in the\r\n    product that is covered by this License, on a durable physical\r\n    medium customarily used for software interchange, for a price no\r\n    more than your reasonable cost of physically performing this\r\n    conveying of source, or (2) access to copy the\r\n    Corresponding Source from a network server at no charge.\r\n\r\n    c) Convey individual copies of the object code with a copy of the\r\n    written offer to provide the Corresponding Source.  This\r\n    alternative is allowed only occasionally and noncommercially, and\r\n    only if you received the object code with such an offer, in accord\r\n    with subsection 6b.\r\n\r\n    d) Convey the object code by offering access from a designated\r\n    place (gratis or for a charge), and offer equivalent access to the\r\n    Corresponding Source in the same way through the same place at no\r\n    further charge.  You need not require recipients to copy the\r\n    Corresponding Source along with the object code.  If the place to\r\n    copy the object code is a network server, the Corresponding Source\r\n    may be on a different server (operated by you or a third party)\r\n    that supports equivalent copying facilities, provided you maintain\r\n    clear directions next to the object code saying where to find the\r\n    Corresponding Source.  Regardless of what server hosts the\r\n    Corresponding Source, you remain obligated to ensure that it is\r\n    available for as long as needed to satisfy these requirements.\r\n\r\n    e) Convey the object code using peer-to-peer transmission, provided\r\n    you inform other peers where the object code and Corresponding\r\n    Source of the work are being offered to the general public at no\r\n    charge under subsection 6d.\r\n\r\n  A separable portion of the object code, whose source code is excluded\r\nfrom the Corresponding Source as a System Library, need not be\r\nincluded in conveying the object code work.\r\n\r\n  A \"User Product\" is either (1) a \"consumer product\", which means any\r\ntangible personal property which is normally used for personal, family,\r\nor household purposes, or (2) anything designed or sold for incorporation\r\ninto a dwelling.  In determining whether a product is a consumer product,\r\ndoubtful cases shall be resolved in favor of coverage.  For a particular\r\nproduct received by a particular user, \"normally used\" refers to a\r\ntypical or common use of that class of product, regardless of the status\r\nof the particular user or of the way in which the particular user\r\nactually uses, or expects or is expected to use, the product.  A product\r\nis a consumer product regardless of whether the product has substantial\r\ncommercial, industrial or non-consumer uses, unless such uses represent\r\nthe only significant mode of use of the product.\r\n\r\n  \"Installation Information\" for a User Product means any methods,\r\nprocedures, authorization keys, or other information required to install\r\nand execute modified versions of a covered work in that User Product from\r\na modified version of its Corresponding Source.  The information must\r\nsuffice to ensure that the continued functioning of the modified object\r\ncode is in no case prevented or interfered with solely because\r\nmodification has been made.\r\n\r\n  If you convey an object code work under this section in, or with, or\r\nspecifically for use in, a User Product, and the conveying occurs as\r\npart of a transaction in which the right of possession and use of the\r\nUser Product is transferred to the recipient in perpetuity or for a\r\nfixed term (regardless of how the transaction is characterized), the\r\nCorresponding Source conveyed under this section must be accompanied\r\nby the Installation Information.  But this requirement does not apply\r\nif neither you nor any third party retains the ability to install\r\nmodified object code on the User Product (for example, the work has\r\nbeen installed in ROM).\r\n\r\n  The requirement to provide Installation Information does not include a\r\nrequirement to continue to provide support service, warranty, or updates\r\nfor a work that has been modified or installed by the recipient, or for\r\nthe User Product in which it has been modified or installed.  Access to a\r\nnetwork may be denied when the modification itself materially and\r\nadversely affects the operation of the network or violates the rules and\r\nprotocols for communication across the network.\r\n\r\n  Corresponding Source conveyed, and Installation Information provided,\r\nin accord with this section must be in a format that is publicly\r\ndocumented (and with an implementation available to the public in\r\nsource code form), and must require no special password or key for\r\nunpacking, reading or copying.\r\n\r\n  7. Additional Terms.\r\n\r\n  \"Additional permissions\" are terms that supplement the terms of this\r\nLicense by making exceptions from one or more of its conditions.\r\nAdditional permissions that are applicable to the entire Program shall\r\nbe treated as though they were included in this License, to the extent\r\nthat they are valid under applicable law.  If additional permissions\r\napply only to part of the Program, that part may be used separately\r\nunder those permissions, but the entire Program remains governed by\r\nthis License without regard to the additional permissions.\r\n\r\n  When you convey a copy of a covered work, you may at your option\r\nremove any additional permissions from that copy, or from any part of\r\nit.  (Additional permissions may be written to require their own\r\nremoval in certain cases when you modify the work.)  You may place\r\nadditional permissions on material, added by you to a covered work,\r\nfor which you have or can give appropriate copyright permission.\r\n\r\n  Notwithstanding any other provision of this License, for material you\r\nadd to a covered work, you may (if authorized by the copyright holders of\r\nthat material) supplement the terms of this License with terms:\r\n\r\n    a) Disclaiming warranty or limiting liability differently from the\r\n    terms of sections 15 and 16 of this License; or\r\n\r\n    b) Requiring preservation of specified reasonable legal notices or\r\n    author attributions in that material or in the Appropriate Legal\r\n    Notices displayed by works containing it; or\r\n\r\n    c) Prohibiting misrepresentation of the origin of that material, or\r\n    requiring that modified versions of such material be marked in\r\n    reasonable ways as different from the original version; or\r\n\r\n    d) Limiting the use for publicity purposes of names of licensors or\r\n    authors of the material; or\r\n\r\n    e) Declining to grant rights under trademark law for use of some\r\n    trade names, trademarks, or service marks; or\r\n\r\n    f) Requiring indemnification of licensors and authors of that\r\n    material by anyone who conveys the material (or modified versions of\r\n    it) with contractual assumptions of liability to the recipient, for\r\n    any liability that these contractual assumptions directly impose on\r\n    those licensors and authors.\r\n\r\n  All other non-permissive additional terms are considered \"further\r\nrestrictions\" within the meaning of section 10.  If the Program as you\r\nreceived it, or any part of it, contains a notice stating that it is\r\ngoverned by this License along with a term that is a further\r\nrestriction, you may remove that term.  If a license document contains\r\na further restriction but permits relicensing or conveying under this\r\nLicense, you may add to a covered work material governed by the terms\r\nof that license document, provided that the further restriction does\r\nnot survive such relicensing or conveying.\r\n\r\n  If you add terms to a covered work in accord with this section, you\r\nmust place, in the relevant source files, a statement of the\r\nadditional terms that apply to those files, or a notice indicating\r\nwhere to find the applicable terms.\r\n\r\n  Additional terms, permissive or non-permissive, may be stated in the\r\nform of a separately written license, or stated as exceptions;\r\nthe above requirements apply either way.\r\n\r\n  8. Termination.\r\n\r\n  You may not propagate or modify a covered work except as expressly\r\nprovided under this License.  Any attempt otherwise to propagate or\r\nmodify it is void, and will automatically terminate your rights under\r\nthis License (including any patent licenses granted under the third\r\nparagraph of section 11).\r\n\r\n  However, if you cease all violation of this License, then your\r\nlicense from a particular copyright holder is reinstated (a)\r\nprovisionally, unless and until the copyright holder explicitly and\r\nfinally terminates your license, and (b) permanently, if the copyright\r\nholder fails to notify you of the violation by some reasonable means\r\nprior to 60 days after the cessation.\r\n\r\n  Moreover, your license from a particular copyright holder is\r\nreinstated permanently if the copyright holder notifies you of the\r\nviolation by some reasonable means, this is the first time you have\r\nreceived notice of violation of this License (for any work) from that\r\ncopyright holder, and you cure the violation prior to 30 days after\r\nyour receipt of the notice.\r\n\r\n  Termination of your rights under this section does not terminate the\r\nlicenses of parties who have received copies or rights from you under\r\nthis License.  If your rights have been terminated and not permanently\r\nreinstated, you do not qualify to receive new licenses for the same\r\nmaterial under section 10.\r\n\r\n  9. Acceptance Not Required for Having Copies.\r\n\r\n  You are not required to accept this License in order to receive or\r\nrun a copy of the Program.  Ancillary propagation of a covered work\r\noccurring solely as a consequence of using peer-to-peer transmission\r\nto receive a copy likewise does not require acceptance.  However,\r\nnothing other than this License grants you permission to propagate or\r\nmodify any covered work.  These actions infringe copyright if you do\r\nnot accept this License.  Therefore, by modifying or propagating a\r\ncovered work, you indicate your acceptance of this License to do so.\r\n\r\n  10. Automatic Licensing of Downstream Recipients.\r\n\r\n  Each time you convey a covered work, the recipient automatically\r\nreceives a license from the original licensors, to run, modify and\r\npropagate that work, subject to this License.  You are not responsible\r\nfor enforcing compliance by third parties with this License.\r\n\r\n  An \"entity transaction\" is a transaction transferring control of an\r\norganization, or substantially all assets of one, or subdividing an\r\norganization, or merging organizations.  If propagation of a covered\r\nwork results from an entity transaction, each party to that\r\ntransaction who receives a copy of the work also receives whatever\r\nlicenses to the work the party's predecessor in interest had or could\r\ngive under the previous paragraph, plus a right to possession of the\r\nCorresponding Source of the work from the predecessor in interest, if\r\nthe predecessor has it or can get it with reasonable efforts.\r\n\r\n  You may not impose any further restrictions on the exercise of the\r\nrights granted or affirmed under this License.  For example, you may\r\nnot impose a license fee, royalty, or other charge for exercise of\r\nrights granted under this License, and you may not initiate litigation\r\n(including a cross-claim or counterclaim in a lawsuit) alleging that\r\nany patent claim is infringed by making, using, selling, offering for\r\nsale, or importing the Program or any portion of it.\r\n\r\n  11. Patents.\r\n\r\n  A \"contributor\" is a copyright holder who authorizes use under this\r\nLicense of the Program or a work on which the Program is based.  The\r\nwork thus licensed is called the contributor's \"contributor version\".\r\n\r\n  A contributor's \"essential patent claims\" are all patent claims\r\nowned or controlled by the contributor, whether already acquired or\r\nhereafter acquired, that would be infringed by some manner, permitted\r\nby this License, of making, using, or selling its contributor version,\r\nbut do not include claims that would be infringed only as a\r\nconsequence of further modification of the contributor version.  For\r\npurposes of this definition, \"control\" includes the right to grant\r\npatent sublicenses in a manner consistent with the requirements of\r\nthis License.\r\n\r\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\r\npatent license under the contributor's essential patent claims, to\r\nmake, use, sell, offer for sale, import and otherwise run, modify and\r\npropagate the contents of its contributor version.\r\n\r\n  In the following three paragraphs, a \"patent license\" is any express\r\nagreement or commitment, however denominated, not to enforce a patent\r\n(such as an express permission to practice a patent or covenant not to\r\nsue for patent infringement).  To \"grant\" such a patent license to a\r\nparty means to make such an agreement or commitment not to enforce a\r\npatent against the party.\r\n\r\n  If you convey a covered work, knowingly relying on a patent license,\r\nand the Corresponding Source of the work is not available for anyone\r\nto copy, free of charge and under the terms of this License, through a\r\npublicly available network server or other readily accessible means,\r\nthen you must either (1) cause the Corresponding Source to be so\r\navailable, or (2) arrange to deprive yourself of the benefit of the\r\npatent license for this particular work, or (3) arrange, in a manner\r\nconsistent with the requirements of this License, to extend the patent\r\nlicense to downstream recipients.  \"Knowingly relying\" means you have\r\nactual knowledge that, but for the patent license, your conveying the\r\ncovered work in a country, or your recipient's use of the covered work\r\nin a country, would infringe one or more identifiable patents in that\r\ncountry that you have reason to believe are valid.\r\n\r\n  If, pursuant to or in connection with a single transaction or\r\narrangement, you convey, or propagate by procuring conveyance of, a\r\ncovered work, and grant a patent license to some of the parties\r\nreceiving the covered work authorizing them to use, propagate, modify\r\nor convey a specific copy of the covered work, then the patent license\r\nyou grant is automatically extended to all recipients of the covered\r\nwork and works based on it.\r\n\r\n  A patent license is \"discriminatory\" if it does not include within\r\nthe scope of its coverage, prohibits the exercise of, or is\r\nconditioned on the non-exercise of one or more of the rights that are\r\nspecifically granted under this License.  You may not convey a covered\r\nwork if you are a party to an arrangement with a third party that is\r\nin the business of distributing software, under which you make payment\r\nto the third party based on the extent of your activity of conveying\r\nthe work, and under which the third party grants, to any of the\r\nparties who would receive the covered work from you, a discriminatory\r\npatent license (a) in connection with copies of the covered work\r\nconveyed by you (or copies made from those copies), or (b) primarily\r\nfor and in connection with specific products or compilations that\r\ncontain the covered work, unless you entered into that arrangement,\r\nor that patent license was granted, prior to 28 March 2007.\r\n\r\n  Nothing in this License shall be construed as excluding or limiting\r\nany implied license or other defenses to infringement that may\r\notherwise be available to you under applicable patent law.\r\n\r\n  12. No Surrender of Others' Freedom.\r\n\r\n  If conditions are imposed on you (whether by court order, agreement or\r\notherwise) that contradict the conditions of this License, they do not\r\nexcuse you from the conditions of this License.  If you cannot convey a\r\ncovered work so as to satisfy simultaneously your obligations under this\r\nLicense and any other pertinent obligations, then as a consequence you may\r\nnot convey it at all.  For example, if you agree to terms that obligate you\r\nto collect a royalty for further conveying from those to whom you convey\r\nthe Program, the only way you could satisfy both those terms and this\r\nLicense would be to refrain entirely from conveying the Program.\r\n\r\n  13. Use with the GNU Affero General Public License.\r\n\r\n  Notwithstanding any other provision of this License, you have\r\npermission to link or combine any covered work with a work licensed\r\nunder version 3 of the GNU Affero General Public License into a single\r\ncombined work, and to convey the resulting work.  The terms of this\r\nLicense will continue to apply to the part which is the covered work,\r\nbut the special requirements of the GNU Affero General Public License,\r\nsection 13, concerning interaction through a network will apply to the\r\ncombination as such.\r\n\r\n  14. Revised Versions of this License.\r\n\r\n  The Free Software Foundation may publish revised and/or new versions of\r\nthe GNU General Public License from time to time.  Such new versions will\r\nbe similar in spirit to the present version, but may differ in detail to\r\naddress new problems or concerns.\r\n\r\n  Each version is given a distinguishing version number.  If the\r\nProgram specifies that a certain numbered version of the GNU General\r\nPublic License \"or any later version\" applies to it, you have the\r\noption of following the terms and conditions either of that numbered\r\nversion or of any later version published by the Free Software\r\nFoundation.  If the Program does not specify a version number of the\r\nGNU General Public License, you may choose any version ever published\r\nby the Free Software Foundation.\r\n\r\n  If the Program specifies that a proxy can decide which future\r\nversions of the GNU General Public License can be used, that proxy's\r\npublic statement of acceptance of a version permanently authorizes you\r\nto choose that version for the Program.\r\n\r\n  Later license versions may give you additional or different\r\npermissions.  However, no additional obligations are imposed on any\r\nauthor or copyright holder as a result of your choosing to follow a\r\nlater version.\r\n\r\n  15. Disclaimer of Warranty.\r\n\r\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\r\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\r\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\r\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\r\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\r\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\r\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\r\n\r\n  16. Limitation of Liability.\r\n\r\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\r\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\r\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\r\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\r\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\r\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\r\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\r\nSUCH DAMAGES.\r\n\r\n  17. Interpretation of Sections 15 and 16.\r\n\r\n  If the disclaimer of warranty and limitation of liability provided\r\nabove cannot be given local legal effect according to their terms,\r\nreviewing courts shall apply local law that most closely approximates\r\nan absolute waiver of all civil liability in connection with the\r\nProgram, unless a warranty or assumption of liability accompanies a\r\ncopy of the Program in return for a fee.\r\n\r\n                     END OF TERMS AND CONDITIONS\r\n\r\n            How to Apply These Terms to Your New Programs\r\n\r\n  If you develop a new program, and you want it to be of the greatest\r\npossible use to the public, the best way to achieve this is to make it\r\nfree software which everyone can redistribute and change under these terms.\r\n\r\n  To do so, attach the following notices to the program.  It is safest\r\nto attach them to the start of each source file to most effectively\r\nstate the exclusion of warranty; and each file should have at least\r\nthe \"copyright\" line and a pointer to where the full notice is found.\r\n\r\n    <one line to give the program's name and a brief idea of what it does.>\r\n    Copyright (C) <year>  <name of author>\r\n\r\n    This program is free software: you can redistribute it and/or modify\r\n    it under the terms of the GNU General Public License as published by\r\n    the Free Software Foundation, either version 3 of the License, or\r\n    (at your option) any later version.\r\n\r\n    This program is distributed in the hope that it will be useful,\r\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n    GNU General Public License for more details.\r\n\r\n    You should have received a copy of the GNU General Public License\r\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n\r\nAlso add information on how to contact you by electronic and paper mail.\r\n\r\n  If the program does terminal interaction, make it output a short\r\nnotice like this when it starts in an interactive mode:\r\n\r\n    <program>  Copyright (C) <year>  <name of author>\r\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\r\n    This is free software, and you are welcome to redistribute it\r\n    under certain conditions; type `show c' for details.\r\n\r\nThe hypothetical commands `show w' and `show c' should show the appropriate\r\nparts of the General Public License.  Of course, your program's commands\r\nmight be different; for a GUI interface, you would use an \"about box\".\r\n\r\n  You should also get your employer (if you work as a programmer) or school,\r\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\r\nFor more information on this, and how to apply and follow the GNU GPL, see\r\n<http://www.gnu.org/licenses/>.\r\n\r\n  The GNU General Public License does not permit incorporating your program\r\ninto proprietary programs.  If your program is a subroutine library, you\r\nmay consider it more useful to permit linking proprietary applications with\r\nthe library.  If this is what you want to do, use the GNU Lesser General\r\nPublic License instead of this License.  But first, please read\r\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\r\n"
  },
  {
    "path": "src/linux/usr/share/metainfo/io.gitee.cxasm.notepad--.metainfo.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component type=\"desktop-application\">\n  <id>io.gitee.cxasm.notepad--</id>\n\n  <name>Notepad--</name>\n  <summary>Notepad--</summary>\n\n  <metadata_license>MIT</metadata_license>\n  <project_license>GPL-2.0-or-later</project_license>\n\n  <description>\n    <p>\n      notepad--是一个国产跨平台、简单的文本编辑器，是替换notepad++的一种选择。其内置强大的代码对比功能，让你丢掉付费的beyond compare。\n    </p>\n  </description>\n\n  <launchable type=\"desktop-id\">io.gitee.cxasm.notepad--.desktop</launchable>\n</component>\n"
  },
  {
    "path": "src/macpro/RealCompare.pro",
    "content": "TEMPLATE = app\r\nLANGUAGE = C++\r\n\r\nTARGET = Notepad--\r\n\r\nCONFIG\t+= qt warn_on Release\r\n\r\nQT += core gui widgets concurrent network macextras\r\n\r\nHEADERS\t+= *.h \\\r\n           cceditor/ccnotepad.h \\\r\n           cceditor/filemanager.h\r\n\t\t\r\nSOURCES\t+= *.cpp *.cc \\\r\n           cceditor/ccnotepad.cpp \\\r\n           cceditor/filemanager.cpp\r\n\t\t\r\nFORMS += *.ui \\\r\n         cceditor/ccnotepad.ui\r\n\r\nRESOURCES += RealCompare.qrc\r\n\r\nINCLUDEPATH\t+= qscint/src\r\nINCLUDEPATH\t+= qscint/src/Qsci\r\nINCLUDEPATH\t+= qscint/scintilla/include\r\nINCLUDEPATH += cceditor\r\n\r\nDEFINES +=  QSCINTILLA_DLL\r\n\r\nTRANSLATIONS += realcompare_zh.ts\r\n\t\r\nwin32 {\r\n   if(contains(QMAKE_HOST.arch, x86_64)){\r\n    CONFIG(Debug, Debug|Release){\r\n        DESTDIR = x64/Debug\r\n\t\tLIBS\t+= -Lx64/Debug\r\n\t\tLIBS += -lqmyedit_qt5d\r\n    }else{\r\n        DESTDIR = x64/Release\r\n\t\tLIBS\t+= -Lx64/Release\r\n\t\tLIBS += -lqmyedit_qt5\r\n    }\r\n   }\r\n}\r\n\r\n\r\nwin32{\r\n\tif(contains(QMAKE_HOST.arch, x86_64)){\r\n\t\tif(CONFIG(Debug, Debug|Release)){\r\n\t\t\tLIBS += -Llib64/Debug -llibprotobufd\r\n\t\t}else{\r\n\t\t\tLIBS += -Llib64/Release -llibprotobuf\r\n\t\t}\r\n   }else{\r\n\t\tif(CONFIG(Debug, Debug|Release)){\r\n\t\t\tLIBS += -Llib32/Debug -llibprotobufd\r\n\t\t}else{\r\n\t\t\tLIBS += -Llib32/Release -llibprotobuf\r\n\t\t}\r\n\t}\r\n}\r\n\r\nunix{\r\n\r\n    if(CONFIG(Debug, Debug|Release)){\r\n              LIBS += -L/Users/yinzuowei/work/CCNotePad/lib -lprotobuf\r\n              LIBS += -L/Users/yinzuowei/work/CCNotePad/x64/Debug -lqmyedit_qt5_debug\r\n    }else{\r\n              LIBS += -L/Users/yinzuowei/work/CCNotePad/lib -lprotobuf\r\n              LIBS += -L/Users/yinzuowei/work/CCNotePad/x64/Release -lqmyedit_qt5\r\n              DESTDIR = x64/Release\r\n              #QMAKE_CXXFLAGS += -fopenmp -O2\r\n              #LIBS += -lgomp -lpthread\r\n    }\r\n}\r\n\r\n\r\nwin32\r\n{\r\nINCLUDEPATH += f://protobuf-3.11.4/src\r\n}\r\n\r\nunix\r\n{\r\nINCLUDEPATH +=/Users/yinzuowei/work/protobuf-3.11.4/output/include\r\n}\r\n\r\n\r\nRC_FILE += RealCompare.rc\r\n\r\nICON = mac.icns\r\n\r\nDISTFILES += \\\r\n    RealCompare.rc\r\n"
  },
  {
    "path": "src/main.cpp",
    "content": "﻿#include \"ccnotepad.h\"\r\n#include \"nddsetting.h\"\r\n#include \"styleset.h\"\r\n\r\n\r\n#include <QtWidgets/QApplication>\r\n#include <QTextCodec>\r\n#include <QMessageBox>\r\n#include <QSharedMemory>\r\n#include <QFile>\r\n#include <QStatusBar>\r\n#include <qobject.h>\r\n#include <QThread>\r\n#include <QDir>\r\n\r\n#ifdef Q_OS_UNIX\r\n#include <QStyleFactory>\r\n#include <signal.h>\r\n#include <unistd.h>\r\n#include <QDebug>\r\n#include <QWidget>\r\n#endif\r\n\r\n#ifdef Q_OS_WIN\r\n#pragma comment(lib, \"user32.lib\")\r\n#if _DEBUG\r\n#pragma comment(lib, \"qmyedit_qt5d.lib\")\r\n#else\r\n#pragma comment(lib, \"qmyedit_qt5.lib\")\r\n#endif\r\n#include <qt_windows.h>\r\nconst ULONG_PTR CUSTOM_TYPE = 10000;\r\nconst ULONG_PTR OPEN_NOTEPAD_TYPE = 10001;\r\nconst ULONG_PTR CUSTOM_TYPE_FILE_LINENUM = 10002;\r\nbool s_isAdminAuth = false;\r\n#endif\r\n\r\nconst QString c_strTitle = \"Ndd\";\r\n\r\n\r\n#ifdef Q_OS_UNIX\r\n#if defined(Q_OS_MAC)\r\nQSharedMemory shared(\"CCNotebook123\");;//mac下面后面带一个版本号，避免新的打不开\r\n#else\r\nQSharedMemory shared(\"CCNotebook\");\r\n#endif\r\nQSharedMemory nppShared(\"notepad--\");\r\n\r\nstatic void sig_usr(int signo)\r\n{\r\n    if(signo  == SIGUSR1)\r\n    {\r\n        qlonglong winId;\r\n        shared.lock();\r\n        memcpy(&winId,shared.data(),sizeof(qlonglong));\r\n        shared.unlock();\r\n\r\n         QWidget *pMain = QWidget::find((WId)winId);\r\n         CCNotePad* pNotePad = dynamic_cast<CCNotePad*>(pMain);\r\n         if(pNotePad != nullptr)\r\n         {\r\n             QString filePath((char*)nppShared.data()+4);\r\n             if(!filePath.isEmpty())\r\n             {\r\n             pNotePad->openFile(filePath);\r\n             }\r\n             pNotePad->activateWindow();\r\n             pNotePad->showNormal();\r\n             qDebug() << \"sig_usr\" << filePath;\r\n         }\r\n    }\r\n}\r\n#endif\r\n\r\n#ifdef Q_OS_MAC\r\n\r\nstatic void openfile(QString filePath)\r\n{\r\n\r\n    qlonglong winId;\r\n    shared.lock();\r\n    memcpy(&winId,shared.data(),sizeof(qlonglong));\r\n    shared.unlock();\r\n\r\n     QWidget *pMain = QWidget::find((WId)winId);\r\n     CCNotePad* pNotePad = dynamic_cast<CCNotePad*>(pMain);\r\n     if(pNotePad != nullptr)\r\n     {\r\n         if(!filePath.isEmpty())\r\n         {\r\n            pNotePad->openFile(filePath);\r\n         }\r\n         pNotePad->activateWindow();\r\n         pNotePad->showNormal();\r\n     }\r\n}\r\n\r\nclass MyApplication : public QApplication\r\n{\r\n   public:\r\n       MyApplication(int &argc, char **argv)\r\n           : QApplication(argc, argv)\r\n       {\r\n       }\r\n\r\n       bool event(QEvent *event)\r\n       {\r\n           if (event->type() == QEvent::FileOpen) {\r\n               QFileOpenEvent *openEvent = static_cast<QFileOpenEvent *>(event);\r\n               qDebug() << \"Open file\" << openEvent->file();\r\n               s_openfile = openEvent->file();\r\n               openfile(s_openfile);\r\n           }\r\n\r\n           return QApplication::event(event);\r\n       }\r\n       QString s_openfile;\r\n   };\r\n#endif\r\n\r\nint main(int argc, char *argv[])\r\n{\r\n\t//可以防止某些屏幕下的字体拥挤重叠问题。暂时屏蔽，不使用qt方法，使用windows自带方案\r\n\t// 发现windows自带方案模糊。//发现下面打开后，在win10上反而效果不好，界面会变得很大，默认还是不开启的好。\r\n\t//QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);\r\n\t//QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);\r\n\t//QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor);\r\n\r\n#ifdef Q_OS_MAC\r\n    MyApplication a(argc, argv);\r\n#else\r\n\tQApplication a(argc, argv);\r\n#endif\r\n\r\n\t//不能开启，开启后相对路径打开文件失败\r\n\t//QDir::setCurrent(QCoreApplication::applicationDirPath());\r\n\r\n#if defined(Q_OS_UNIX)\r\n    QApplication::setStyle(QStyleFactory::create(\"fusion\"));\r\n#endif\r\n\ta.setApplicationDisplayName(c_strTitle);\r\n\ta.setApplicationName(c_strTitle);\r\n\r\n\tQStringList arguments = QCoreApplication::arguments();\r\n\r\n\t//目前就三种\r\n\t//1) ndd filepath\r\n\t//2) ndd filepath -n linenum\r\n\t//3) ndd -multi filepath\r\n\t//只有 1  2 需要处理短路径\r\n\tif ((arguments.size() == 2) || (arguments.size() == 4))\r\n\t{\r\n\t\tQFileInfo fi(arguments[1]);\r\n\t\tif (fi.isRelative())\r\n\t\t{\r\n\t\t\tQString absDir = QDir::currentPath();\r\n\t\t\t//获取绝对路径\r\n\t\t\targuments[1] = QString(\"%1/%2\").arg(absDir).arg(arguments.at(1));\r\n\t\t}\r\n\t}\r\n\r\n#ifdef uos\r\n\tQFont font(\"Noto Sans CJK SC,9,-1,5,50,0,0,0,0,0,Regular\", 9);\r\n\tQApplication::setFont(font);\r\n#endif\r\n#ifdef Q_OS_MAC\r\n\t//这里的字体大小，务必要和查找结果框的高度匹配，否则会结构字体拥挤\r\n\tQFont font(\"Courier New,11,-1,5,50,0,0,0,0,0,Regular\", 11);\r\n\t// qDebug() << \"font name mac\";\r\n\tQApplication::setFont(font);\r\n\t// qDebug() << QApplication::font().toString();\r\n#endif\r\n\r\nbool isGotoLine = false;\r\n\r\n#ifdef Q_OS_WIN\r\n\tQSharedMemory shared(\"ccnotepad\");\r\n\r\n\tif (arguments.size() > 2)\r\n\t{\r\n\t\t//如果是多开请求，这种是从管理员权限申请后重开过来的\r\n\t\tif (arguments[1] == QString(\"-muti\"))\r\n\t\t{\r\n\t\t\ts_isAdminAuth = true;\r\n\r\n\t\t\tQString title = QString(u8\"%1 管理员\").arg(c_strTitle);\r\n\t\t\ta.setApplicationDisplayName(title);\r\n\t\t\t//删除-muti这个参数\r\n\t\t\targuments.removeAt(1);\r\n\t\t\t\r\n\t\t\t//管理员不占用共享标志。这样的目的是，当管理员窗口存在时\r\n\t\t\t//打开原来的文件，原来的文件可以占用共享标志，作为主窗口打开。\r\n\t\t\t//管理员窗口永远不做主窗口打开\r\n\t\t\tgoto authAdmin;\r\n\t\t\t\r\n\t\t}\r\n\t\telse if ((arguments.size() == 4) && arguments[2] == QString(\"-n\"))\r\n\t\t{\r\n\t\t\t//使用的是 file -n lineNums 方式。目前只有windows下支持 xxxfile -n linenum的格式\r\n\t\t\tisGotoLine = true;\r\n\t}\r\n\t\t\r\n\t}\r\n#else\r\nif ((arguments.size() == 4) && (arguments[2] == QString(\"-n\")))\r\n{\r\n      //使用的是 file -n lineNums 方式。目前只有windows下支持 xxxfile -n linenum的格式\r\n      isGotoLine = true;\r\n}\r\n#endif\r\n\r\n\t//attach成功表示已经存在该内存了，表示当前存在实例\r\n\tif (shared.attach())//共享内存被占用则直接返回\r\n\t{\r\n\t\t//发现在文件中如果存在空格时，参数不止1个，所以不能单纯用2个参数表示\r\n\t\tif (arguments.size() > 1)\r\n\t\t{\r\n        #if defined(Q_OS_WIN)\r\n\t\t\tint tryTimes = 0;\r\n\t\t\tdo {\r\n\t\t\tqlonglong hwndId;\r\n\t\t\tshared.lock();\r\n\t\t\tmemcpy(&hwndId, shared.data(), sizeof(qlonglong));\r\n\t\t\tshared.unlock();\r\n\r\n\t\t\tHWND hwnd = (HWND)hwndId;\r\n\r\n\t\t\tif (::IsWindow(hwnd))\r\n\t\t\t{\r\n\t\t\t\t\tif (!isGotoLine)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//就是ndd filepath的命令行格式\r\n\t\t\t\t//去掉第一个参数，后续的参数拼接起来。其实参数中间有空格还是需要使用\"\"引用起来，避免空格参数分隔为多个\r\n\t\t\t\targuments.takeFirst();\r\n\r\n\t\t\t\tQString filename = arguments.join(\"\");\r\n\t\t\t\tQByteArray data = filename.toUtf8();\r\n\r\n\t\t\t\tCOPYDATASTRUCT copydata;\r\n\t\t\t\tcopydata.dwData = CUSTOM_TYPE; //自定义类型\r\n\t\t\t\tcopydata.lpData = data.data();  //数据大小\r\n\t\t\t\tcopydata.cbData = data.size();  // 指向数据的指针\r\n\r\n\t\t\t\t::SendMessage(hwnd, WM_COPYDATA, reinterpret_cast<WPARAM>(nullptr), reinterpret_cast<LPARAM>(&copydata));\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\t\t//是 filepath -n linenums 方式。不考虑filepath含有空格的情况，因为前面做了严格判断\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tQString para = QString(\"%1|%2\").arg(arguments[1]).arg(arguments[3]);\r\n\t\t\t\t\t\tQByteArray data = para.toUtf8();\r\n\r\n\t\t\t\t\t\tCOPYDATASTRUCT copydata;\r\n\t\t\t\t\t\tcopydata.dwData = CUSTOM_TYPE_FILE_LINENUM; //自定义类型\r\n\t\t\t\t\t\tcopydata.lpData = data.data();  //数据大小\r\n\t\t\t\t\t\tcopydata.cbData = data.size();  // 指向数据的指针\r\n\r\n\t\t\t\t\t\t::SendMessage(hwnd, WM_COPYDATA, reinterpret_cast<WPARAM>(nullptr), reinterpret_cast<LPARAM>(&copydata));\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t\r\n\t\t\t\t\t//20230304 右键多个文件同时打开，比如3个。此时只有第1个可获取锁，其余2个均走这里。\r\n\t\t\t\t\t//因为第个还没有来的及写入hwnd。此时不要goto drop_old。等一下再重试\r\n\t\t\t\t\tQThread::sleep(1); \r\n\t\t\t\t\t++tryTimes;\r\n\r\n\t\t\t\t\t//2次识别后，没法了，只能通过继续往下走。\r\n\t\t\t\t//失败了，此时说明前一个窗口极可能状态错误了。如果不处理，则再也打不开程序了\r\n\t\t\t\t\tif (tryTimes > 2)\r\n\t\t\t\t\t{\r\n\t\t\t\tgoto drop_old;\r\n\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t} while (true);\r\n\r\n        #elif defined (Q_OS_MAC)\r\n        {\r\n               //mac下面不需要，有他自身的机制保证\r\n        }\r\n        #else\r\n            pid_t pid;\r\n\r\n            arguments.takeFirst();\r\n            QString filename = arguments.join(\"\");\r\n            QByteArray data = filename.toUtf8();\r\n\r\n            nppShared.attach();\r\n            nppShared.lock();\r\n            memcpy(&pid, nppShared.data(), sizeof(pid_t));\r\n            memset((char*)nppShared.data()+sizeof(pid_t),0, 1024-sizeof(pid_t));\r\n            memcpy((char*)nppShared.data()+sizeof(pid_t),data.data(),data.size());\r\n            nppShared.unlock();\r\n\r\n            //if kill failed, then open a new process\r\n            if(0 != kill(pid,SIGUSR1))\r\n            {\r\n                goto unix_goon;\r\n            }\r\n        #endif\r\n\t\t}\r\n\t\telse if (arguments.size() == 1)\r\n\t\t{\r\n#if defined(Q_OS_WIN)\r\n\t\t\t//把窗口设置到最前\r\n\t\t\tqlonglong hwndId;\r\n\t\t\tshared.lock();\r\n\t\t\tmemcpy(&hwndId, shared.data(), sizeof(qlonglong));\r\n\t\t\tshared.unlock();\r\n\t\t\tHWND hwnd = (HWND)hwndId;\r\n\t\t\tif (::IsWindow(hwnd))\r\n\t\t\t{\r\n\t\t\t\tQString filename(\"open\");\r\n\t\t\t\tQByteArray data = filename.toUtf8();\r\n\r\n\t\t\t\tCOPYDATASTRUCT copydata;\r\n\t\t\t\tcopydata.dwData = OPEN_NOTEPAD_TYPE; //自定义类型\r\n\t\t\t\tcopydata.lpData = data.data();  //数据大小\r\n\t\t\t\tcopydata.cbData = data.size();  // 指向数据的指针\r\n\r\n\t\t\t\t::SendMessage(hwnd, WM_COPYDATA, reinterpret_cast<WPARAM>(nullptr), reinterpret_cast<LPARAM>(&copydata));\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//失败了，此时说明前一个窗口极可能状态错误了。如果不处理，则再也打不开程序了\r\n\t\t\t\t//继续新开一个窗口，放弃之前的旧内容\r\n\t\t\t\tgoto drop_old;\r\n\t\t\t}\r\n#elif defined (Q_OS_MAC)\r\n{\r\n       //mac下面不需要，有他自身的机制保证\r\n}\r\n#else\r\n            pid_t pid;\r\n            nppShared.attach();\r\n            nppShared.lock();\r\n            memcpy(&pid, nppShared.data(), sizeof(pid_t));\r\n            memset((char*)nppShared.data()+sizeof(pid_t),0, 1024-sizeof(pid_t));\r\n            nppShared.unlock();\r\n            qDebug()<<\"empty file send\";\r\n\r\n            if(0 != kill(pid,SIGUSR1))\r\n            {\r\n                goto unix_goon;\r\n            }\r\n#endif\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n#if defined(Q_OS_WIN)\r\n\tshared.create(32);\r\n#elif defined (Q_OS_MAC)\r\n{\r\n       //mac下面不需要，有他自身的机制保证。当程序已经在线时，再打开程序，系统会自动调用已经存在的程序出现\r\n        //不需要使用类似linux下面的机制。\r\n     shared.create(32);\r\n     nppShared.create(32);\r\n}\r\n#else\r\n\r\nunix_goon:\r\n    shared.create(32);\r\n    nppShared.create(2048);\r\n\r\n    if(signal(SIGUSR1,sig_usr) == SIG_ERR)\r\n    {\r\n       qDebug()<<\"linux create sign failed\";\r\n    }\r\n#endif\r\n\r\n#if defined(Q_OS_WIN)\r\nauthAdmin:\r\ndrop_old:\r\n#endif\r\n\r\n\t//20221009发现有小概率出现窗口没有，但是进程还在的诡异问题，加个保护一下\r\n\tQApplication::setQuitOnLastWindowClosed(true);\r\n\r\n\tNddSetting::init();\r\n\r\n\tint id = NddSetting::getKeyValueFromNumSets(SKIN_KEY);\r\n\tStyleSet::setSkin(id);\r\n\r\n\tCCNotePad *pMainNotepad = new CCNotePad(true);\r\n\tpMainNotepad->setAttribute(Qt::WA_DeleteOnClose);\r\n\tpMainNotepad->setShareMem(&shared);\r\n\tpMainNotepad->quickshow();\r\n\r\n\tpMainNotepad->syncCurSkinToMenu(id);\r\n\r\n\r\n#ifdef Q_OS_WIN\r\n\t//HWND hwnd = ::FindWindowA(\"Qt5QWindowIcon\", \"CCNotebook\");\r\n\t//发现hwnd就是和effectiveWinId相等的，不需要查询了\r\n\t//管理员可以多开，暂时不把管理员的权限作为主窗口，因为其他用户没有权限右键菜单发送消息给管理员窗口去打开文件\r\n\tif (!s_isAdminAuth)\r\n\t{\r\n\tqlonglong winId = (qlonglong)pMainNotepad->effectiveWinId();\r\n\tshared.lock();\r\n\tmemcpy(shared.data(), &winId, sizeof(qlonglong));\r\n\tshared.unlock();\r\n\t}\r\n#else\r\n    qlonglong winId = (qlonglong)pMainNotepad->effectiveWinId();\r\n    shared.lock();\r\n    memcpy(shared.data(), &winId, sizeof(qlonglong));\r\n    shared.unlock();\r\n    nppShared.attach();\r\n    //get proceess id to share memory\r\n    pid_t pid = getpid();\r\n    nppShared.lock();\r\n    memcpy(nppShared.data(), &pid, sizeof(pid_t));\r\n    nppShared.unlock();\r\n#endif // Q_OS_WIN\r\n\t//恢复上次关闭时的文件\r\n#ifdef Q_OS_WIN\r\n\tif (!s_isAdminAuth)\r\n\t{\r\n\t\tif (0 == pMainNotepad->restoreLastFiles() && (arguments.size() == 1))\r\n\t\t{\r\n\t\tpMainNotepad->initTabNewOne();\r\n\t}\r\n\t}\r\n#else\r\n    if (0 == pMainNotepad->restoreLastFiles())\r\n    {\r\n    pMainNotepad->initTabNewOne();\r\n    }\r\n#endif\r\n\tif (arguments.size() == 2)\r\n\t{\r\n#ifdef Q_OS_WIN\r\n\t\tif (!s_isAdminAuth)\r\n\t\t{\r\n\t\t\tpMainNotepad->openFile(arguments[1]);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//如果是管理员，还不能直接打开文件，需要恢复之前文件的修改内容\r\n\t\t\t//恢复不了，再直接打开\r\n\t\t\tpMainNotepad->tryRestoreFile(arguments[1]);\r\n\t\t}\r\n#else\r\n\t\tpMainNotepad->openFile(arguments[1]);\r\n#endif\r\n\t}\r\n\telse if (isGotoLine)\r\n\t{\r\n\t\t//是filepath -n xxx 格式。\r\n\t\tbool ok = true;\r\n\t\tint lineNum = arguments[3].toInt(&ok);\r\n\t\tif (!ok)\r\n\t\t{\r\n\t\t\tlineNum = -1;\r\n\t\t}\r\n\t\tpMainNotepad->openFile(arguments[1], lineNum);\r\n\t}\r\n#ifdef Q_OS_WIN\r\n\tpMainNotepad->checkAppFont();\r\n#endif\r\n\r\n\ta.exec();\r\n\r\n\tNddSetting::close();\r\n\r\n\treturn 0;\r\n}\r\n"
  },
  {
    "path": "src/markdownview.cpp",
    "content": "#include \"markdownview.h\"\r\n\r\nMarkdownView::MarkdownView(QWidget *parent)\r\n\t: QMainWindow(parent)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\nMarkdownView::~MarkdownView()\r\n{\r\n\r\n}\r\n\r\n\r\nvoid MarkdownView::viewMarkdown(QString& text)\r\n{\r\n\tui.textEdit->setMarkdown(text);\r\n}"
  },
  {
    "path": "src/markdownview.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include \"ui_markdownview.h\"\r\n\r\nclass MarkdownView : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tMarkdownView(QWidget *parent = nullptr);\r\n\t~MarkdownView();\r\n\tvoid viewMarkdown(QString& text);\r\n\r\nprivate:\r\n\tUi::MarkdownViewClass ui;\r\n};\r\n"
  },
  {
    "path": "src/markdownview.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>MarkdownViewClass</class>\r\n <widget class=\"QMainWindow\" name=\"MarkdownViewClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>1134</width>\r\n    <height>712</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>MarkdownView</string>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n    <property name=\"spacing\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QTextEdit\" name=\"textEdit\">\r\n      <property name=\"readOnly\">\r\n       <bool>true</bool>\r\n      </property>\r\n     </widget>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QMenuBar\" name=\"menuBar\">\r\n   <property name=\"geometry\">\r\n    <rect>\r\n     <x>0</x>\r\n     <y>0</y>\r\n     <width>1134</width>\r\n     <height>23</height>\r\n    </rect>\r\n   </property>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/md5hash.cpp",
    "content": "#include \"md5hash.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"ctipwin.h\"\r\n\r\n#include <QCryptographicHash>\r\n#include <QFile>\r\n#include <QFileDialog>\r\n#include <QClipboard>\r\n\r\nMd5hash::Md5hash(QWidget *parent)\r\n\t: QWidget(parent), m_isFile(false)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\t\r\n\tm_btGroup.addButton(ui.md4RadioBt, 0);\r\n\tm_btGroup.addButton(ui.md5RadioBt, 1);\r\n\tm_btGroup.addButton(ui.sha1RadioBt, 2);\r\n\tm_btGroup.addButton(ui.sha256RadioBt, 4);\r\n\tm_btGroup.addButton(ui.sha3RadioBt, 12);\r\n\tm_btGroup.addButton(ui.kec256RadioBt, 8);\r\n\r\n#if (QT_VERSION <= QT_VERSION_CHECK(5,15,0))\r\n\tconnect(&m_btGroup, QOverload<int>::of(&QButtonGroup::buttonClicked), this, &Md5hash::on_methodIdChange);\r\n#else\r\n\tconnect(&m_btGroup, &QButtonGroup::idClicked, this, &Md5hash::on_methodIdChange);\r\n#endif\r\n\r\n\tconnect(ui.srcTextEdit,&QPlainTextEdit::textChanged,this,&Md5hash::on_hash);\r\n}\r\n\r\nMd5hash::~Md5hash()\r\n{}\r\n\r\nvoid Md5hash::slot_select()\r\n{\r\n\tQFileDialog fd(this, QString(), CCNotePad::s_lastOpenDirPath);\r\n\tfd.setFileMode(QFileDialog::ExistingFile);\r\n\tm_fileList.clear();\r\n\r\n\tif (fd.exec() == QDialog::Accepted)   //ɹִ\r\n\t{\r\n\t\tm_fileList = fd.selectedFiles();      //ļб\r\n\r\n\t\tif (!m_fileList.isEmpty())\r\n\t\t{\r\n\t\t\tm_isFile = true;\r\n\t\t\tui.srcTextEdit->setPlainText(m_fileList.join(\"\\n\"));\r\n\t\t}\r\n\r\n\t}\r\n\telse\r\n\t{\r\n\t\tfd.close();\r\n\t}\r\n}\r\n\r\nvoid Md5hash::on_methodIdChange(int id)\r\n{\r\n\ton_hash();\r\n}\r\n\r\nvoid Md5hash::on_hash()\r\n{\r\n\tQCryptographicHash::Algorithm method = QCryptographicHash::Md5;\r\n\r\n\tif (ui.md5RadioBt->isChecked())\r\n\t{\r\n\t\tmethod = QCryptographicHash::Md5;\r\n\t}\r\n\telse if (ui.md4RadioBt->isChecked())\r\n\t{\r\n\t\tmethod = QCryptographicHash::Md4;\r\n\t}\r\n\telse if (ui.sha1RadioBt->isChecked())\r\n\t{\r\n\t\tmethod = QCryptographicHash::Sha1;\r\n\t}\r\n\telse if (ui.sha256RadioBt->isChecked())\r\n\t{\r\n\t\tmethod = QCryptographicHash::Sha256;\r\n\t}\r\n\telse if (ui.sha3RadioBt->isChecked())\r\n\t{\r\n\t\tmethod = QCryptographicHash::Sha3_256;\r\n\t}\r\n\telse if (ui.kec256RadioBt->isChecked())\r\n\t{\r\n\t\tmethod = QCryptographicHash::Keccak_256;\r\n\t}\r\n\r\n\t//ı\r\n\tif (!m_isFile)\r\n\t{\r\n\t\tQString text = ui.srcTextEdit->toPlainText();\r\n\r\n\t\tQByteArray data = text.toUtf8();\r\n\r\n\t\tif (!text.isEmpty())\r\n\t\t{\r\n\t\t\tQByteArray result = QCryptographicHash::hash(data, method);\r\n\t\t\tui.hashTextEdit->setPlainText(result.toHex());\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tQCryptographicHash fileHash(method);\r\n\t\tQByteArray rs;\r\n\r\n\t\tQList<QByteArray> result;\r\n\r\n\t\tfor (int i = 0; i < m_fileList.size(); ++i)\r\n\t\t{\r\n\t\t\trs.clear();\r\n\t\t\tQFile file(m_fileList.at(i));\r\n\t\t\tif (file.open(QIODevice::ReadOnly))\r\n\t\t\t{\r\n\t\t\t\tif (fileHash.addData(&file))\r\n\t\t\t\t{\r\n\t\t\t\t\trs = fileHash.result();\r\n\t\t\t\t\tresult.append(rs.toHex());\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tresult.append(\"Error Null\");\r\n\t\t\t\t}\r\n\t\t\t\tfile.close();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tresult.append(\"Error Null\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\tfor (int i = 0; i < result.size(); ++i)\r\n\t\t{\r\n\t\t\tQString info = QString(\"File %1 cyp hash is \\n%2\").arg(m_fileList.at(i)).arg(QString(result.at(i)));\r\n\t\t\tui.hashTextEdit->appendPlainText(info);\r\n\t\t}\r\n\t\tm_isFile = false;\r\n\t}\r\n}\r\n\r\nvoid Md5hash::on_copyClipboard()\r\n{\r\n\tif (!ui.hashTextEdit->toPlainText().isEmpty())\r\n\t{\r\n\t\tQClipboard* clipboard = QApplication::clipboard();\r\n\t\tclipboard->setText(ui.hashTextEdit->toPlainText());\r\n\r\n\t\tCTipWin::showTips(this, tr(\"Copy to clipboard Finished!\"), 1200);\r\n\t}\r\n}"
  },
  {
    "path": "src/md5hash.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include <QButtonGroup>\r\n#include \"ui_md5hash.h\"\r\n\r\nclass Md5hash : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tMd5hash(QWidget *parent = nullptr);\r\n\t~Md5hash();\r\n\r\nprivate slots:\r\n\tvoid slot_select();\r\n\tvoid on_hash();\r\n\tvoid on_methodIdChange(int id);\r\n\tvoid on_copyClipboard();\r\n\r\nprivate:\r\n\tUi::Md5hashClass ui;\r\n\tQButtonGroup m_btGroup;\r\n\tQStringList m_fileList;\r\n\tbool m_isFile;\r\n};\r\n"
  },
  {
    "path": "src/md5hash.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>Md5hashClass</class>\r\n <widget class=\"QWidget\" name=\"Md5hashClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>560</width>\r\n    <height>436</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>Md5hash</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <property name=\"leftMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <widget class=\"QLabel\" name=\"label\">\r\n       <property name=\"text\">\r\n        <string>Copy Text Or Select File</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QToolButton\" name=\"toolButton\">\r\n       <property name=\"text\">\r\n        <string>select</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QPlainTextEdit\" name=\"srcTextEdit\"/>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Algorithm</string>\r\n     </property>\r\n     <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n      <item row=\"0\" column=\"0\">\r\n       <widget class=\"QRadioButton\" name=\"md4RadioBt\">\r\n        <property name=\"text\">\r\n         <string>Md4</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"0\" column=\"1\">\r\n       <widget class=\"QRadioButton\" name=\"sha1RadioBt\">\r\n        <property name=\"text\">\r\n         <string>Sha1</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"0\" column=\"2\">\r\n       <widget class=\"QRadioButton\" name=\"sha3RadioBt\">\r\n        <property name=\"text\">\r\n         <string>Sha3_256</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"1\" column=\"0\">\r\n       <widget class=\"QRadioButton\" name=\"md5RadioBt\">\r\n        <property name=\"text\">\r\n         <string>Md5</string>\r\n        </property>\r\n        <property name=\"checked\">\r\n         <bool>true</bool>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"1\" column=\"1\">\r\n       <widget class=\"QRadioButton\" name=\"sha256RadioBt\">\r\n        <property name=\"text\">\r\n         <string>Sha256</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item row=\"1\" column=\"2\">\r\n       <widget class=\"QRadioButton\" name=\"kec256RadioBt\">\r\n        <property name=\"text\">\r\n         <string>Keccak_256</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QPlainTextEdit\" name=\"hashTextEdit\">\r\n     <property name=\"sizePolicy\">\r\n      <sizepolicy hsizetype=\"Expanding\" vsizetype=\"Fixed\">\r\n       <horstretch>0</horstretch>\r\n       <verstretch>0</verstretch>\r\n      </sizepolicy>\r\n     </property>\r\n     <property name=\"maximumSize\">\r\n      <size>\r\n       <width>16777215</width>\r\n       <height>80</height>\r\n      </size>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton\">\r\n       <property name=\"text\">\r\n        <string>Copy to Clipboard</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"cancelBt\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>toolButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>Md5hashClass</receiver>\r\n   <slot>slot_select()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>534</x>\r\n     <y>19</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>552</x>\r\n     <y>239</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>Md5hashClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>503</x>\r\n     <y>412</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>338</x>\r\n     <y>430</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>Md5hashClass</receiver>\r\n   <slot>on_copyClipboard()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>393</x>\r\n     <y>415</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>539</x>\r\n     <y>430</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_select()</slot>\r\n  <slot>on_copyClipboard()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/mystyle.qss",
    "content": "\r\n/*设置垂直滚动条基本样式*/\r\nQScrollBar:vertical {\r\n    width: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-top: 9px;\r\n    padding-bottom: 9px;\r\n}\r\n\r\nQScrollBar::handle:vertical {\r\n    width: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:vertical:hover {\r\n    width: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/3.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/1.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候 */\r\nQScrollBar::add-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/4.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候*/\r\nQScrollBar::sub-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/2.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n\r\n\r\n/*当滚动条滚动的时候，上面的部分和下面的部分*/\r\nQScrollBar::sub-page:vertical {\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\nQScrollBar::add-page:vertical \r\n{\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\n/*设置水平滚动条基本样式*/\r\nQScrollBar:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-left: 9px;\r\n    padding-right: 9px;\r\n}\r\n\r\nQScrollBar::handle:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:horizontal:hover {\r\n    height: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/5.png);\r\n    subcontrol-position: right;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/6.png);\r\n    subcontrol-position: left;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#f0f0f0;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/mytreeview.cpp",
    "content": "#include \"mytreeview.h\"\r\n\r\nMyTreeView::MyTreeView(QWidget *parent)\r\n\t: QTreeView(parent)\r\n{}\r\n\r\nMyTreeView::~MyTreeView()\r\n{}\r\n\r\nvoid MyTreeView::getSelectedIndexes(QModelIndexList & selectList)\r\n{\r\n\tselectList = this->selectedIndexes();\r\n}\r\n"
  },
  {
    "path": "src/mytreeview.h",
    "content": "#pragma once\r\n\r\n#include <QTreeView>\r\n#include <QModelIndexList>\r\n\r\nclass MyTreeView  : public QTreeView\r\n{\r\npublic:\r\n\tMyTreeView(QWidget *parent);\r\n\t~MyTreeView();\r\n\tvoid getSelectedIndexes(QModelIndexList& selectList);\r\n};\r\n"
  },
  {
    "path": "src/nddpluginapi.cpp",
    "content": "#include \"nddpluginapi.h\"\r\n#include \"ccnotepad.h\"\r\n\r\nNddPluginApi::NddPluginApi(QObject *parent)\r\n\t: QObject(parent)\r\n{}\r\n\r\nNddPluginApi::~NddPluginApi()\r\n{}\r\n\r\nvoid NddPluginApi::setMainNotePad(QWidget * pWidget)\r\n{\r\n\tm_mainNotePad = pWidget;\r\n}\r\n\r\n//עʵʷصScintillaEditView\r\nQsciScintilla* NddPluginApi::getCurrentEidtHandle()\r\n{\r\n\tCCNotePad* pNotepad = dynamic_cast<CCNotePad*>(m_mainNotePad);\r\n\tif (pNotepad != nullptr)\r\n\t{\r\n\t\treturn pNotepad->getCurEditView();\r\n\t}\r\n\treturn nullptr;\r\n}\r\n"
  },
  {
    "path": "src/nddpluginapi.h",
    "content": "#pragma once\r\n\r\n#include <QObject>\r\n#include <QMap>\r\n#include <QVariant>\r\n\r\n//๩еãҪ֤ABIԡ\r\n//ζţɾеĺͳԱ;ᵼ²޷ݡ\r\n//ʹó麯֮κ麯\r\n//һӦһöͻ\r\n\r\nclass QsciScintilla;\r\n\r\nclass NddPluginApi  : public QObject\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tNddPluginApi(QObject *parent);\r\n\t~NddPluginApi();\r\n\r\n\t//ȡǰ༭ĶһҪÿζ̬ȡҲ⣬һQsciScintilla޸ģǲABIݡ\r\n\t//ҪĶĲ֡\r\n\r\n\tvoid setMainNotePad(QWidget* pWidget);\r\n\r\n\t//ǰ༭󣬾ͿԶ̬ˡǰQsciScintilla಻޸ġ\r\n\tQsciScintilla* getCurrentEidtHandle();\r\n\r\n\r\n\r\n\t//ĳԱҪرСģһ˳Ͳ޸ġֻӡɾ\r\npublic:\r\n\t//ʹö̬вĴݡʹpublicݳԱ\r\n\tQMap<QString, QVariant> m_parameter;\r\n\tQWidget* m_mainNotePad;\r\n};\r\n"
  },
  {
    "path": "src/nddsetting.cpp",
    "content": "﻿#include \"nddsetting.h\"\r\n#include <QObject>\r\n#include <QtDebug>\r\n#include <QCoreApplication>\r\n#include <QDate>\r\n#include <QFile>\r\n#include <QStorageInfo>\r\n#include <QSettings>\r\n\r\nstatic short version_num = 29; //1.22.0 是29\r\n//配置文件是否存在。如果初始化失败，则不存在\r\nbool NddSetting::s_isExistDb = false;\r\nint NddSetting::s_reference = 0;\r\nbool NddSetting::s_isContentChanged = false;\r\n\r\nQSettings* NddSetting::s_nddSet = nullptr;\r\n\r\nQSettings* NddSetting::s_nddDelaySet = nullptr;\r\n\r\n//如果key不存在，则新增key-value。存在：返回true\r\nbool NddSetting::checkNoExistAdd(QString key, QVariant& value)\r\n{\r\n\t//每次新加字段后，这里要检查一下，不存在则新增\r\n\tif (!s_nddSet->contains(key))\r\n\t{\r\n\t\ts_nddSet->setValue(key, value);\r\n\r\n\t\tif (!s_isContentChanged)\r\n\t\t{\r\n\t\t\ts_isContentChanged = true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n//20220402这里隐含了一个前置条件：数据库句柄是在主线程创建的，最好不要在子线程中调用。\r\n//避免因为跨线程访问和多线程冲突访问引发的闪退问题。所以最好配置文件的读写都在主线程中进行\r\nvoid NddSetting::init()\r\n{\r\n\t++s_reference;\r\n\r\n\t//如果已经初始化过了，则直接返回\r\n\tif (s_isExistDb)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tQString settingDir = QString(\"notepad/nddsets\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, settingDir);\r\n\tQString qsSetPath = qs.fileName();\r\n\r\n\ts_nddSet = new QSettings(QSettings::IniFormat, QSettings::UserScope, settingDir);\r\n\ts_nddSet->setIniCodec(\"UTF-8\");\r\n\tbool initOk = true;\r\n\r\n\tauto initNddSet = []() {\r\n\t\tQString key = \"signdate\";\r\n\t\t//QString date = QDate::currentDate().toString(QString(\"yyyy/M/d\"));\r\n\t\t//不写今天的时间，否则第一次运行，无条件不会发送心跳。\r\n\t\t//直接写一个过去的时间，让第一次运行，总是要签到\r\n\t\taddKeyValueToSets(key, \"2022/2/20\");\r\n\r\n\t\tQString str;\r\n\r\n\t\t//tab的长度，默认为4\r\n\t\taddKeyValueToNumSets(\"tablens\", 4);\r\n\t\t//space replace tab空格替换tab，默认0, 1为true,0为false\r\n\t\taddKeyValueToNumSets(\"tabnouse\", 0);\r\n\r\n\t\taddKeyValueToSets(\"mac\", \"0\");\r\n\t\taddKeyValueToNumSets(\"padtimes\", 0);\r\n\t\taddKeyValueToNumSets(\"serverip\", 0);\r\n\r\n\t\t//是否高亮不同处背景\r\n\t\taddKeyValueToNumSets(\"hexhigh\", 1);\r\n\r\n\t\taddKeyValueToNumSets(VERSION, version_num);\r\n\r\n\t\t//皮肤id\r\n        addKeyValueToNumSets(SKIN_KEY, 0);\r\n\r\n\t\t//语言index 0:自动选择 1:中文 2 英文\r\n\t\taddKeyValueToNumSets(LANGS_KEY, 0);\r\n\r\n\t\t//开启自动换行\r\n\t\taddKeyValueToNumSets(AUTOWARP_KEY, 0);\r\n\r\n\t\t//开启自动缩进\r\n\t\taddKeyValueToNumSets(INDENT_KEY, 0);\r\n\r\n\t\t//显示空白。0都不显示 1 单显示空格 2 单显示行尾 3 都显示\r\n\t\taddKeyValueToNumSets(SHOWSPACE_KEY, 0);\r\n\r\n\t\t//最大文本文件的门限。默认100M.(50-600)\r\n\t\taddKeyValueToNumSets(MAX_BIG_TEXT, 100);\r\n\r\n\t\taddKeyValueToSets(SOFT_KEY, \"0\");\r\n\r\n\t\taddKeyValueToNumSets(RESTORE_CLOSE_FILE, 1);\r\n\r\n\t\t//0 24 1 36 2 48\r\n\t\taddKeyValueToNumSets(ICON_SIZE, 1);\r\n\r\n\t\taddKeyValueToNumSets(ZOOMVALUE, 100);\r\n\t\r\n\t\taddKeyValueToNumSets(FINDRESULTPOS, Qt::BottomDockWidgetArea);\r\n\r\n\t\taddKeyValueToNumSets(FILELISTPOS, Qt::LeftDockWidgetArea);\r\n\r\n\t\t//默认0不显示\r\n\t\taddKeyValueToNumSets(FILELISTSHOW, 0);\r\n\r\n\t\t//默认显示工具栏\r\n\t\taddKeyValueToNumSets(TOOLBARSHOW, 1);\r\n\r\n\t\t//打开网页，默认不勾选，资源耗费多\r\n\t\taddKeyValueToNumSets(SHOWWEBADDR, 0);\r\n\r\n\t\t//查找结果框的默认字体大小\r\n\t\taddKeyValueToNumSets(FIND_RESULT_FONT_SIZE, 14);\r\n\t};\r\n\r\n\tif (!s_nddSet->contains(VERSION))\r\n\t{\r\n\t\t//不存在走初始化流程\r\n\t\tinitNddSet();\r\n\t\ts_isContentChanged = true;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tdo {\r\n\t\t\t{\r\n\t\t\t\tQVariant v(VERSION);\r\n\t\t\t\tif (checkNoExistAdd(VERSION, v))\r\n\t\t\t\t{\r\n\t\t\t\t\t//如果存在，而且版本是最新,不需要走后面自动检查流程了\r\n\t\t\t\t\tint curVersion = s_nddSet->value(VERSION).toInt();\r\n\t\t\t\t\tif (curVersion == version_num)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (curVersion < version_num)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//更新版本到最新\r\n\t\t\t\t\t\tupdataKeyValueFromNumSets(VERSION, version_num);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//每次新加字段后，这里要检查一下，不存在则新增\r\n\t\t\t{\r\n\t\t\t\tQVariant v(1);\r\n\t\t\t\tcheckNoExistAdd(SKIN_KEY, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant langs(0);\r\n\t\t\t\tcheckNoExistAdd(LANGS_KEY, langs);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(AUTOWARP_KEY, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(INDENT_KEY, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(SHOWSPACE_KEY, v);\r\n\t\t\t}\r\n\r\n\t\t\t\r\n\t\t\t{\r\n\t\t\t\tQVariant v(100);\r\n\t\t\t\tcheckNoExistAdd(MAX_BIG_TEXT, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(SOFT_STATUS, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(\"0\");\r\n\t\t\t\tcheckNoExistAdd(SOFT_KEY, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(1);\r\n\t\t\t\tcheckNoExistAdd(RESTORE_CLOSE_FILE, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(1);\r\n\t\t\t\tcheckNoExistAdd(ICON_SIZE, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(100);\r\n\t\t\t\tcheckNoExistAdd(ZOOMVALUE, v);\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tQVariant v(Qt::BottomDockWidgetArea);\r\n\t\t\t\tcheckNoExistAdd(FINDRESULTPOS, v);\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\tQVariant v(Qt::LeftDockWidgetArea);\r\n\t\t\t\tcheckNoExistAdd(FILELISTPOS, v);\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(FILELISTSHOW, v);\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tQVariant v(1);\r\n\t\t\t\tcheckNoExistAdd(TOOLBARSHOW, v);\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(SHOWWEBADDR, v);\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tQVariant v(14);\r\n\t\t\t\tcheckNoExistAdd(FIND_RESULT_FONT_SIZE, v);\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tQVariant v(0);\r\n\t\t\t\tcheckNoExistAdd(LAST_ACTION_TAB_INDEX, v);\r\n\t\t\t}\r\n\t\t} while (false);\r\n\r\n\t}\r\n\r\n\ts_isExistDb = initOk;\r\n\r\n}\r\n\r\n\r\n\r\n//写一个总的获取配置的接口，避免以后每个字段都需要写一个读写接口\r\nQString NddSetting::getKeyValueFromSets(QString key)\r\n{\r\n\treturn s_nddSet->value(key,\"\").toString();\r\n}\r\n\r\nbool NddSetting::updataKeyValueFromSets(QString key, QString value)\r\n{\r\n\ts_nddSet->setValue(key,value);\r\n\ts_isContentChanged = true;\r\n\treturn true;\r\n}\r\n\r\n//写一个总的获取配置的接口，避免以后每个字段都需要写一个读写接口\r\nQByteArray NddSetting::getKeyByteArrayValue(QString key)\r\n{\r\n\treturn s_nddSet->value(key, \"\").toByteArray();\r\n}\r\n\r\nvoid NddSetting::updataKeyByteArrayValue(QString key, QByteArray& value)\r\n{\r\n\ts_nddSet->setValue(key, QVariant(value));\r\n\ts_isContentChanged = true;\r\n}\r\n\r\n//第一次加一条记录，用于初始化\r\nvoid NddSetting::addKeyValueToSets(QString key, QString value)\r\n{\r\n\ts_nddSet->setValue(key, QVariant(value));\r\n}\r\n\r\n\r\n//写一个总的获取配置的接口，避免以后每个字段都需要写一个读写接口.0做默认值，外部最好不用0做初始化值\r\nint NddSetting::getKeyValueFromNumSets(const QString key)\r\n{\r\n\tQVariant v = s_nddSet->value(key, QVariant(0));\r\n\treturn v.toInt();\r\n}\r\n\r\nbool NddSetting::updataKeyValueFromNumSets(const QString key, int value)\r\n{\r\n\ts_nddSet->setValue(key, QVariant(value));\r\n\treturn true;\r\n}\r\n\r\n\r\n//第一次加一条记录，用于初始化\r\nvoid NddSetting::addKeyValueToNumSets(QString key, int value)\r\n{\r\n\ts_nddSet->setValue(key, QVariant(value));\r\n}\r\n\r\n\r\nvoid NddSetting::close()\r\n{\r\n\tif (s_reference > 0)\r\n\t{\r\n\t\t--s_reference;\r\n\r\n\t\tif (s_reference == 0)\r\n\t\t{\r\n\t\t\ts_isExistDb = false;\r\n\r\n\t\t\t//做一次真正的保存\r\n\t\t\tif (s_isContentChanged)\r\n\t\t\t{\r\n\t\t\t\ts_nddSet->sync();\r\n\t\t\t\tdelete s_nddSet;\r\n\t\t\t\ts_nddSet = nullptr;\r\n\t\t\t\ts_isContentChanged = false;\t\r\n\t\t\t}\r\n\r\n\t\t\t//在这里保存一下子窗口的位置。不排除有可能子窗口还在，主窗口已经退出的情况，不过问题不大。\r\n\t\t\tif (s_nddDelaySet != nullptr)\r\n\t\t\t{\r\n\t\t\t\ts_nddDelaySet->sync();\r\n\t\t\t\ts_nddDelaySet = nullptr;\r\n\t\t}\r\n\t}\r\n}\r\n}\r\n\r\n//子窗口的位置，单独放在一个winpos.ini文件中，而且启动程序时，不需要读取，可避免启动时拖慢速度\r\nQByteArray NddSetting::getWinPos(QString key)\r\n{\r\n\tnddDelaySetInit();\r\n\treturn s_nddDelaySet->value(key, \"\").toByteArray();\r\n}\r\n\r\nvoid NddSetting::updataWinPos(QString key, QByteArray& value)\r\n{\r\n\tnddDelaySetInit();\r\n\ts_nddDelaySet->setValue(key, QVariant(value));\r\n}\r\n\r\nvoid NddSetting::nddDelaySetInit()\r\n{\r\n\tif (s_nddDelaySet == nullptr)\r\n\t{\r\n\t\tQString settingDir = QString(\"notepad/delayset\");\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, settingDir);\r\n\t\tQString qsSetPath = qs.fileName();\r\n\r\n\t\ts_nddDelaySet = new QSettings(QSettings::IniFormat, QSettings::UserScope, settingDir);\r\n\t\ts_nddDelaySet->setIniCodec(\"UTF-8\");\r\n\t}\r\n}\r\n\r\n\r\n//写一个总的获取配置的接口，避免以后每个字段都需要写一个读写接口\r\nQString NddSetting::getKeyValueFromDelaySets(QString key)\r\n{\r\n\tnddDelaySetInit();\r\n\treturn s_nddDelaySet->value(key, \"\").toString();\r\n}\r\n\r\nbool NddSetting::updataKeyValueFromDelaySets(QString key, QString value)\r\n{\r\n\tnddDelaySetInit();\r\n\ts_nddDelaySet->setValue(key, value);\r\n\ts_isContentChanged = true;\r\n\treturn true;\r\n}\r\n\r\n//写一个总的获取配置的接口，避免以后每个字段都需要写一个读写接口\r\nint NddSetting::getKeyValueFromDelayNumSets(QString key)\r\n{\r\n\tnddDelaySetInit();\r\n\treturn s_nddDelaySet->value(key, \"\").toInt();\r\n}\r\n\r\nbool NddSetting::updataKeyValueFromDelayNumSets(QString key, int value)\r\n{\r\n\tnddDelaySetInit();\r\n\ts_nddDelaySet->setValue(key, value);\r\n\ts_isContentChanged = true;\r\n\treturn true;\r\n}\r\n"
  },
  {
    "path": "src/nddsetting.h",
    "content": "﻿#pragma once\r\n#include <QSettings>\r\n#include <QVariant>\r\n\r\nstatic QString SKIN_KEY = \"skinid\";\r\nstatic QString LANGS_KEY = \"langs\";\r\nstatic QString AUTOWARP_KEY = \"warp\";\r\nstatic QString INDENT_KEY = \"indent\";\r\nstatic QString SHOWSPACE_KEY = \"blank\";\r\nstatic QString MAX_BIG_TEXT = \"maxtsize\";\r\nstatic QString SOFT_STATUS = \"rstatus\";\r\nstatic QString SOFT_KEY = \"rkey\";\r\nstatic QString RESTORE_CLOSE_FILE = \"restore\"; //恢复关闭时打开的文件\r\nstatic QString PRO_DIR = \"prodir\";//放置配置文件的路径\r\n//static QString RESTORE_SIZE = \"rsize\";//保存关闭时的大小\r\nstatic QString WIN_POS = \"pos\";//保存关闭是的大小\r\nstatic QString ICON_SIZE = \"iconsize\";//图标大小\r\nstatic QString ZOOMVALUE = \"zoom\"; //放大倍数\r\nstatic QString VERSION = \"version\";//当前版本\r\nstatic QString FINDRESULTPOS = \"findpos\";//查找窗口悬浮的位置\r\nstatic QString FILELISTPOS = \"filepos\";//文件列表悬浮框的位置\r\nstatic QString FILELISTSHOW = \"showfilelist\"; //文件列表框是否显示\r\nstatic QString TOOLBARSHOW = \"showbar\"; //是否显示工具栏\r\nstatic QString FINDWINSIZE = \"findwinsize\";//保存查找框的大小。150%放大时界面永久。保留避免每次手动调整\r\nstatic QString SHOWWEBADDR = \"showweb\";//高亮web地址，双击网页打开\r\nstatic QString FIND_RESULT_FONT_SIZE = \"frfs\";//查找结果的默认字体大小，默认为14\r\nstatic QString LAST_ACTION_TAB_INDEX = \"lati\";//上次关闭时，当前激活的tab标签页序号\r\n\r\nstatic QString RECENT_OPEN_FILE = \"recentopenfile\";\r\nstatic QString LAST_OPEN_DIR = \"lastdir\";\r\nstatic QString CLEAR_OPENFILE_ON_CLOSE = \"clearopenfile\"; //关闭时清空历史文件\r\n\r\n\r\n//下面这个是winpos.ini中的key，避免单个文件太大，拖慢启动速度\r\nstatic QString BATCH_FIND_REPLACE_POS = \"bfpos\";//批量查找替换窗口的大小\r\n\r\nclass NddSetting\r\n{\r\npublic:\r\n\tstatic bool checkNoExistAdd(QString key, QVariant & value);\r\n\r\n\tstatic void init();\r\n\r\n\tstatic QString getKeyValueFromSets(QString key);\r\n\r\n\tstatic bool updataKeyValueFromSets(QString key, QString  value);\r\n\r\n\tstatic QByteArray getKeyByteArrayValue(QString key);\r\n\r\n\tstatic void updataKeyByteArrayValue(QString key, QByteArray & value);\r\n\r\n\tstatic void addKeyValueToSets(QString  key, QString  value);\r\n\r\n\tstatic int getKeyValueFromNumSets(const QString key);\r\n\r\n\tstatic bool updataKeyValueFromNumSets(const QString key, int value);\r\n\r\n\tstatic void addKeyValueToNumSets(QString key, int value);\r\n\r\n\tstatic void close();\r\n\r\n\tstatic QByteArray getWinPos(QString key);\r\n\r\n\tstatic void updataWinPos(QString key, QByteArray& value);\r\n\r\n\tstatic QString getKeyValueFromDelaySets(QString key);\r\n\r\n\tstatic bool updataKeyValueFromDelaySets(QString key, QString  value);\r\n\r\n\tstatic int getKeyValueFromDelayNumSets(QString key);\r\n\r\n\tstatic bool updataKeyValueFromDelayNumSets(QString key, int value);\r\n\r\n\tstatic bool isDbExist()\r\n\t{\r\n\t\treturn s_isExistDb;\r\n\t}\r\nprivate:\r\n\tstatic void nddDelaySetInit();\r\nprivate:\r\n\r\n\tstatic bool s_isExistDb;\r\n\tstatic bool s_isContentChanged;\r\n\tstatic int s_reference;\r\n\r\n\tstatic QSettings* s_nddSet;\r\n\r\n\t//基本和s_nddSet一样，不过在启动的时候，不需要读取该文件。加快启动速度\r\n\t//启动完毕后，其他操作触发加载该文件\r\n\tstatic QSettings* s_nddDelaySet;\r\n};\r\n"
  },
  {
    "path": "src/ndstyleditemdelegate.cpp",
    "content": "#include \"ndstyleditemdelegate.h\"\r\n#include <QTextDocument>\r\n#include <QApplication>\r\n#include <QAbstractTextDocumentLayout>\r\n#include <QPainter>\r\n#include <QTextEdit>\r\n\r\nNdStyledItemDelegate::NdStyledItemDelegate(QObject *parent)\r\n\t: QStyledItemDelegate(parent), m_defaultFontSize(14)\r\n{\r\n}\r\n\r\nNdStyledItemDelegate::~NdStyledItemDelegate()\r\n{\r\n}\r\n\r\n\r\nvoid NdStyledItemDelegate::setFontSize(int size)\r\n{\r\n\tm_defaultFontSize = size;\r\n\t\r\n}\r\n\r\n//ʹָ֧ıʽ\r\nvoid NdStyledItemDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const\r\n{\r\n\tQStyleOptionViewItem viewOption(option);\n\tinitStyleOption(&viewOption, index);\n\tif (option.state.testFlag(QStyle::State_HasFocus))\n\t\tviewOption.state = viewOption.state ^ QStyle::State_HasFocus;\n\n\t// ... ʡ\n\t// ʾıΪգʹĬʽ\n\tQStyle *pStyle = viewOption.widget ? viewOption.widget->style() : QApplication::style();\n\n\tQTextDocument doc;\n\r\n\t//ⲿ޸Сڲиı޸Ļơ\r\n\tif (m_defaultFontSize != 14)\r\n\t{\r\n\t\tviewOption.text.replace(\"font-size:14px\",QString(\"font-size:%1px\").arg(m_defaultFontSize));\r\n\t}\r\n\r\n\tdoc.setHtml(viewOption.text);\n\n\tviewOption.text.clear();\n\n\tpStyle->drawControl(QStyle::CE_ItemViewItem, &viewOption, painter, viewOption.widget);\n\n\tQAbstractTextDocumentLayout::PaintContext paintContext;\n\n\tQRect textRect = pStyle->subElementRect(QStyle::SE_ItemViewItemText, &viewOption);\n\tpainter->save();\n\t// 任ϽΪԭ\n\tpainter->translate(textRect.topLeft());\n\t// HTML\n\tpainter->setClipRect(textRect.translated(-textRect.topLeft()));\n\n\tdoc.documentLayout()->draw(painter, paintContext);\n\n\tpainter->restore();\r\n}\r\n"
  },
  {
    "path": "src/ndstyleditemdelegate.h",
    "content": "#pragma once\r\n\r\n#include <QStyledItemDelegate>\r\n\r\nclass NdStyledItemDelegate : public QStyledItemDelegate\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tNdStyledItemDelegate(QObject *parent);\r\n\tvirtual ~NdStyledItemDelegate();\r\n\tvoid setFontSize(int size);\r\n\r\nprotected:\r\n\tvoid paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;\r\n\r\nprivate:\r\n\tint m_defaultFontSize;\r\n};\r\n"
  },
  {
    "path": "src/optionsview.cpp",
    "content": "﻿#include \"optionsview.h\"\r\n#include \"doctypelistview.h\"\r\n#include \"texteditsetwin.h\"\r\n#include \"ccnotepad.h\"\r\n\r\nOptionsView::OptionsView(QWidget* pNotepadWin, QWidget *parent)\r\n\t: QWidget(parent), m_pNotepadWin(pNotepadWin)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\t//只在文件对比中出现；在编辑框模式下不出现，这个关联文件容易误解。\r\n\tif (pNotepadWin == nullptr)\r\n\t{\r\n\tDocTypeListView* p = new DocTypeListView(this);\r\n\tui.stackedWidget->addWidget(p);\r\n\r\n\t//文件关联 file correlation\r\n\tui.optionListWidget->addItem(tr(\"File Correlation\"));\r\n\t}\r\n\r\n\r\n\tui.optionListWidget->addItem(tr(\"Compare File Types\"));\r\n\r\n\tTextEditSetWin* p2 = new TextEditSetWin(this);\r\n\tp2->setNotePadWin(pNotepadWin);\r\n\r\n\tui.stackedWidget->addWidget(p2);\r\n\tui.optionListWidget->addItem(tr(\"Text And Fonts\"));\r\n\r\n\tconnect(ui.optionListWidget, &QListWidget::currentRowChanged, this, &OptionsView::slot_curRowChanged);\r\n\tconnect(p2, &TextEditSetWin::sendTabFormatChange, this, &OptionsView::sendTabFormatChange);\r\n\tconnect(p2, &TextEditSetWin::signProLangFontChange, this, &OptionsView::signProLangFontChange);\r\n}\r\n\r\nOptionsView::~OptionsView()\r\n{\r\n}\r\n\r\nvoid OptionsView::slot_curRowChanged(int row)\r\n{\r\n\tif (row < ui.stackedWidget->count())\r\n\t{\r\n\t\tui.stackedWidget->setCurrentIndex(row);\r\n\t}\r\n}\r\n\r\nvoid OptionsView::slot_ok()\r\n{\r\n\tclose();\r\n}\r\n"
  },
  {
    "path": "src/optionsview.h",
    "content": "﻿#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_optionsview.h\"\r\n\r\nclass OptionsView : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tOptionsView(QWidget* pNotepadWin, QWidget *parent = Q_NULLPTR);\r\n\t~OptionsView();\r\n\r\nsignals:\r\n\tvoid sendTabFormatChange(bool, bool);\r\n\t//void signTxtFontChange(QFont& font);\r\n\tvoid signProLangFontChange(QFont& font);\r\n\r\nprivate slots:\r\n\tvoid slot_curRowChanged(int row);\r\n\tvoid slot_ok();\r\n\r\nprivate:\r\n\tUi::OptionsView ui;\r\n\r\n\tQWidget* m_pNotepadWin;\r\n};\r\n"
  },
  {
    "path": "src/optionsview.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>OptionsView</class>\r\n <widget class=\"QWidget\" name=\"OptionsView\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>761</width>\r\n    <height>483</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>OptionsView</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Options</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n      <property name=\"spacing\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"leftMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"topMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"rightMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <property name=\"bottomMargin\">\r\n       <number>2</number>\r\n      </property>\r\n      <item>\r\n       <widget class=\"QListWidget\" name=\"optionListWidget\">\r\n        <property name=\"sizePolicy\">\r\n         <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Expanding\">\r\n          <horstretch>0</horstretch>\r\n          <verstretch>0</verstretch>\r\n         </sizepolicy>\r\n        </property>\r\n        <property name=\"maximumSize\">\r\n         <size>\r\n          <width>160</width>\r\n          <height>16777215</height>\r\n         </size>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n        <item>\r\n         <widget class=\"QPushButton\" name=\"okBt\">\r\n          <property name=\"text\">\r\n           <string>Ok</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QStackedWidget\" name=\"stackedWidget\">\r\n     <property name=\"currentIndex\">\r\n      <number>-1</number>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>okBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>OptionsView</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>80</x>\r\n     <y>451</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>144</x>\r\n     <y>477</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_ok()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/plugin/helloworld/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.16)\nproject(helloworld)\n\nset(CMAKE_AUTOMOC ON)\nset(CMAKE_AUTOUIC ON)\nset(CMAKE_AUTORCC ON)\n\nfind_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Concurrent Network PrintSupport XmlPatterns)\n\nadd_definitions(-D_UNICODE -DUNICODE)\n\n\n\n\nfile(GLOB UI_SRC ${PROJECT_SOURCE_DIR}/*.ui)\nfile(GLOB SRC ${PROJECT_SOURCE_DIR}/*.cpp)\nfile(GLOB MOC_HEADER ${PROJECT_SOURCE_DIR}/*.h)\n# add_executable(${PROJECT_NAME} ${IS_WIN} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc)\n\nadd_library(${PROJECT_NAME} SHARED ${SRC} ${UI_SRC} ${MOC_HEADER})\n\ntarget_include_directories(${PROJECT_NAME} PRIVATE\n${PROJECT_SOURCE_DIR}\n\n${PROJECT_SOURCE_DIR}/../../include\n${PROJECT_SOURCE_DIR}/../../qscint/src\n${PROJECT_SOURCE_DIR}/../../qscint/src/Qsci\n${PROJECT_SOURCE_DIR}/../../qscint/scintilla/src\n${PROJECT_SOURCE_DIR}/../../qscint/scintilla/include\n${PROJECT_SOURCE_DIR}/../../qscint/scintilla/lexlib\n${PROJECT_SOURCE_DIR}/../../qscint/scintilla/boostregex\n)\n\ntarget_link_libraries(${PROJECT_NAME} qscint Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network  Qt5::PrintSupport Qt5::XmlPatterns)\n\n# if(NOT DEFINED ${notepad--_BINARY_DIR})\n# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# set(LIBRARY_OUTPUT_PATH ${notepad--_BINARY_DIR}/bin/plugin)\n# set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# endif()\n"
  },
  {
    "path": "src/plugin/helloworld/helloworld.pro",
    "content": "TEMPLATE\t= lib\r\nLANGUAGE\t= C++\r\n\r\nCONFIG\t+= qt warn_on Release\r\nQT += core gui widgets\r\n\r\nHEADERS\t+= *.h\r\nSOURCES\t+= *.cpp\r\nFORMS\t+= *.ui\r\n\r\nINCLUDEPATH\t+= ../../include\r\nINCLUDEPATH\t+= ../../qscint/src\r\nINCLUDEPATH\t+= ../../qscint/src/Qsci\r\n\r\n\r\nwin32 {\r\n   if(contains(QMAKE_HOST.arch, x86_64)){\r\n    CONFIG(Debug, Debug|Release){\r\n        DESTDIR = ../../x64/Debug/plugin\r\n\t\tLIBS += -L../../x64/Debug\r\n\t\tLIBS += -lqmyedit_qt5d\r\n    }else{\r\n        DESTDIR = ../../x64/Release/plugin\r\n\t\tLIBS += -L../../x64/Release\r\n\t\tLIBS += -lqmyedit_qt5\r\n    }\r\n   }\r\n}\r\n\r\nunix {\r\n  UI_DIR = .ui\r\n  MOC_DIR = .moc\r\n  OBJECTS_DIR = .obj\r\n}\r\n"
  },
  {
    "path": "src/plugin/helloworld/helloworldexport.cpp",
    "content": "﻿#include <qobject.h>\r\n#include <qstring.h>\r\n#include <pluginGl.h>\r\n#include <functional>\r\n#include <qsciscintilla.h>\r\n#include \"qttestclass.h\"\r\n#ifdef WIN32\r\n#include <Windows.h>\r\n#endif\r\n\r\n#define NDD_EXPORTDLL\r\n\r\n#if defined(Q_OS_WIN)\r\n\t#if defined(NDD_EXPORTDLL)\r\n\t\t#define NDD_EXPORT __declspec(dllexport)\r\n\t#else\r\n\t\t#define NDD_EXPORT __declspec(dllimport)\r\n\t#endif\r\n#else\r\n\t#define NDD_EXPORT __attribute__((visibility(\"default\")))\r\n#endif\r\n\r\n#ifdef __cplusplus\r\n\textern \"C\" {\r\n#endif\r\n\r\n\tNDD_EXPORT bool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData);\r\n\tNDD_EXPORT int NDD_PROC_MAIN(QWidget* pNotepad, const QString& strFileName, std::function<QsciScintilla* ()>getCurEdit, std::function<bool(int, void*)> pluginCallBack, NDD_PROC_DATA* procData);\r\n\r\n\r\n#ifdef __cplusplus\r\n\t}\r\n#endif\r\n\r\nstatic NDD_PROC_DATA s_procData;\r\nstatic QWidget* s_pMainNotepad = nullptr;\r\nstd::function<QsciScintilla* ()> s_getCurEdit;\r\nstd::function<bool(int, void*)> s_invokeMainFun;\r\n\r\nbool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData)\r\n{\r\n\tif(pProcData == NULL)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\tpProcData->m_strPlugName = QObject::tr(\"Hello World Plug\");\r\n\tpProcData->m_strComment = QObject::tr(u8\"不需要创建二级菜单的插件例子\");\r\n\r\n\tpProcData->m_version = QString(\"v1.0\");\r\n\tpProcData->m_auther = QString(\"zuowei.yin\");\r\n\r\n\tpProcData->m_menuType = 0;\r\n\r\n\treturn true;\r\n}\r\n\r\n//则点击菜单栏按钮时，会自动调用到该插件的入口点函数。\r\n//pNotepad:就是CCNotepad的主界面指针\r\n//strFileName:当前插件DLL的全路径，如果不关心，则可以不使用\r\n//getCurEdit:从NDD主程序传递过来的仿函数，通过该函数获取当前编辑框操作对象QsciScintilla\r\n//s_invokeMainFun: 可以回调NDD主程序中的功能函数，比如创建新文件功能等，根据需要可实时扩展。\r\n//pProcData:如果pProcData->m_menuType = 0 ,则该指针为空；如果pProcData->m_menuType = 1，则该指针有值。目前需要关心s_procData.m_rootMenu\r\n//开发者可以在该菜单下面，自行创建二级菜单\r\nint NDD_PROC_MAIN(QWidget* pNotepad, const QString &strFileName, std::function<QsciScintilla*()>getCurEdit, std::function<bool(int, void*)> pluginCallBack, NDD_PROC_DATA* pProcData)\r\n{\r\n\tQsciScintilla* pEdit = getCurEdit();\r\n\tif (pEdit == nullptr)\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n\r\n\t//务必拷贝一份pProcData，在外面会释放。\r\n\tif (pProcData != nullptr)\r\n\t{\r\n\t\ts_procData = *pProcData;\r\n\t}\r\n\r\n\ts_pMainNotepad = pNotepad;\r\n\ts_getCurEdit = getCurEdit;\r\n\ts_invokeMainFun = pluginCallBack;\r\n\r\n\t//如果pProcData->m_menuType = 1;是自己要创建二级菜单的场景。则通过s_procData.m_rootMenu 获取该插件的菜单根节点。\r\n\t//插件开发者自行在s_procData.m_rootMenu下添加新的二级菜单项目\r\n\r\n\r\n\t//做一个简单的转大写的操作\r\n\tQtTestClass* p = new QtTestClass(pNotepad,pEdit);\r\n\t//主窗口关闭时，子窗口也关闭。避免空指针操作\r\n\tp->setWindowFlag(Qt::Window);\r\n\tp->show();\r\n\r\n\treturn 0;\r\n}\r\n\r\n#ifdef WIN32\r\nBOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID lpvReserved) {\r\n\tswitch (fdwReason) {\r\n\tcase DLL_PROCESS_ATTACH:\r\n\tcase DLL_THREAD_ATTACH:\r\n\t\tbreak;\r\n\tcase DLL_THREAD_DETACH:\r\n\t\tbreak;\r\n\tcase DLL_PROCESS_DETACH:\r\n\t\tif (NULL == lpvReserved) {\r\n\t\t\t//做全局回收工作\r\n\t\t}\r\n\t\tbreak;\r\n\t}\r\n\treturn TRUE;\r\n}\r\n#else\r\nvoid onDllUnload(void)\r\n{\r\n\t//做全局回收工作\r\n}\r\n#endif"
  },
  {
    "path": "src/plugin/helloworld/qttestclass.cpp",
    "content": "#include \"qttestclass.h\"\r\n#include <qsciscintilla.h>\r\n\r\nQtTestClass::QtTestClass(QWidget *parent, QsciScintilla* pEdit)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n\tm_pEdit = pEdit;\r\n}\r\n\r\nQtTestClass::~QtTestClass()\r\n{}\r\n\r\nvoid QtTestClass::on_upper()\r\n{\r\n\tQString text = m_pEdit->text();\r\n\r\n\ttext = text.toUpper();\r\n\r\n\tm_pEdit->setText(text);\r\n}\r\n\r\nvoid QtTestClass::on_lower()\r\n{\r\n\tQString text = m_pEdit->text();\r\n\r\n\ttext = text.toLower();\r\n\r\n\tm_pEdit->setText(text);\r\n}"
  },
  {
    "path": "src/plugin/helloworld/qttestclass.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_qttestclass.h\"\r\n\r\nclass QsciScintilla;\r\nclass QtTestClass : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tQtTestClass(QWidget *parent, QsciScintilla* pEdit);\r\n\t~QtTestClass();\r\n\r\nprivate slots:\r\n\tvoid on_upper();\r\n\tvoid on_lower();\r\nprivate:\r\n\tUi::QtTestClassClass ui;\r\n\tQsciScintilla* m_pEdit;\r\n};\r\n"
  },
  {
    "path": "src/plugin/helloworld/qttestclass.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>QtTestClassClass</class>\r\n <widget class=\"QWidget\" name=\"QtTestClassClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>544</width>\r\n    <height>251</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>QtTestClass</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <item>\r\n    <widget class=\"QLabel\" name=\"label\">\r\n     <property name=\"text\">\r\n      <string>这是一个插件例子，把当前文档全部变成大写字母。\r\n请给我们提交插件！</string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"upperBt\">\r\n       <property name=\"text\">\r\n        <string>TransUpper</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"lowerBt\">\r\n       <property name=\"text\">\r\n        <string>TransLower</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushButton_2\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButton_2</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtTestClassClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>435</x>\r\n     <y>188</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>446</x>\r\n     <y>246</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>upperBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtTestClassClass</receiver>\r\n   <slot>on_upper()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>177</x>\r\n     <y>181</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>187</x>\r\n     <y>247</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>lowerBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtTestClassClass</receiver>\r\n   <slot>on_lower()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>296</x>\r\n     <y>182</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>323</x>\r\n     <y>244</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>on_upper()</slot>\r\n  <slot>on_lower()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/plugin/test/test.cpp",
    "content": "﻿#include <qobject.h>\r\n#include <qstring.h>\r\n#include <pluginGl.h>\r\n#include <functional>\r\n#include <qsciscintilla.h>\r\n#include <QAction>\r\n#ifdef WIN32\r\n#include <Windows.h>\r\n#endif\r\n\r\n#define NDD_EXPORTDLL\r\n\r\n#if defined(Q_OS_WIN)\r\n\t#if defined(NDD_EXPORTDLL)\r\n\t\t#define NDD_EXPORT __declspec(dllexport)\r\n\t#else\r\n\t\t#define NDD_EXPORT __declspec(dllimport)\r\n\t#endif\r\n#else\r\n\t#define NDD_EXPORT __attribute__((visibility(\"default\")))\r\n#endif\r\n\r\n#ifdef __cplusplus\r\n\textern \"C\" {\r\n#endif\r\n\r\n\tNDD_EXPORT bool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData);\r\n\tNDD_EXPORT int NDD_PROC_MAIN(QWidget* pNotepad, const QString& strFileName, std::function<QsciScintilla* ()>getCurEdit, std::function<bool(int, void*)> pluginCallBack, NDD_PROC_DATA* procData);\r\n\r\n#ifdef __cplusplus\r\n\t}\r\n#endif\r\n\r\nstatic NDD_PROC_DATA s_procData;\r\nstatic QWidget* s_pMainNotepad = nullptr;\r\nstd::function<QsciScintilla* ()> s_getCurEdit;\r\nstd::function<bool(int, void*)> s_invokeMainFun;\r\n\r\nbool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData)\r\n{\r\n\tif(pProcData == NULL)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\tpProcData->m_strPlugName = QObject::tr(\"Create Second Menu Plug\");\r\n\tpProcData->m_strComment = QObject::tr(u8\"创建二级菜单的插件例子\");\r\n\r\n\tpProcData->m_version = QString(\"v1.0\");\r\n\tpProcData->m_auther = QString(\"zuowei.yin\");\r\n\r\n\tpProcData->m_menuType = 1;\r\n\treturn true;\r\n}\r\n\r\n//则点击菜单栏按钮时，会自动调用到该插件的入口点函数。\r\n//pNotepad:就是CCNotepad的主界面指针\r\n//strFileName:当前插件DLL的全路径，如果不关心，则可以不使用\r\n//getCurEdit:从NDD主程序传递过来的仿函数，通过该函数获取当前编辑框操作对象QsciScintilla\r\n//pProcData:如果pProcData->m_menuType = 0 ,则该指针为空；如果pProcData->m_menuType = 1，则该指针有值。目前需要关心s_procData.m_rootMenu\r\n//s_invokeMainFun: 可以回调NDD主程序中的功能函数，比如创建新文件功能等，根据需要可实时扩展。\r\n//开发者可以在该菜单下面，自行创建二级菜单.更详细的例子，请见jstool min插件。\r\nint NDD_PROC_MAIN(QWidget* pNotepad, const QString& strFileName, std::function<QsciScintilla* ()>getCurEdit, std::function<bool(int, void*)> pluginCallBack, NDD_PROC_DATA* pProcData)\r\n{\r\n\r\n\t//务必拷贝一份pProcData，在外面会释放。\r\n\tif (pProcData != nullptr)\r\n\t{\r\n\t\ts_procData = *pProcData;\r\n\t}\r\n\telse\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n\r\n\ts_pMainNotepad = pNotepad;\r\n\ts_getCurEdit = getCurEdit;\r\n\r\n\t//如果pProcData->m_menuType = 1;是自己要创建二级菜单的场景。则通过s_procData.m_rootMenu 获取该插件的菜单根节点。\r\n\t//插件开发者自行在s_procData.m_rootMenu下添加新的二级菜单项目\r\n\r\n\tQAction* pAction = new QAction(s_procData.m_strPlugName, s_procData.m_rootMenu);\r\n\ts_procData.m_rootMenu->addAction(pAction);\r\n\tpAction->setText(\"Secondary Menu Example\");\r\n\r\n\treturn 0;\r\n}\r\n"
  },
  {
    "path": "src/plugin/test/test.pro",
    "content": "TEMPLATE\t= lib\r\nLANGUAGE\t= C++\r\n\r\nCONFIG\t+= qt warn_on\r\nQT += core gui widgets\r\n\r\nHEADERS\t+= *.h\r\nSOURCES\t+= *.cpp\r\nFORMS\t+= *.ui\r\n\r\nINCLUDEPATH\t+= ../../include\r\nINCLUDEPATH\t+= ../../qscint/src\r\nINCLUDEPATH\t+= ../../qscint/src/Qsci\r\n\r\n\r\nwin32 {\r\n   if(contains(QMAKE_HOST.arch, x86_64)){\r\n    CONFIG(Debug, Debug|Release){\r\n        DESTDIR = ../../x64/Debug/Plugin\r\n\t\tLIBS += -L../../x64/Debug\r\n\t\tLIBS += -lqmyedit_qt5d\r\n    }else{\r\n        DESTDIR = ../../x64/Release/Plugin\r\n\t\tLIBS += -L../../x64/Release\r\n\t\tLIBS += -lqmyedit_qt5\r\n    }\r\n   }\r\n}\r\n\r\nunix {\r\n  UI_DIR = .ui\r\n  MOC_DIR = .moc\r\n  OBJECTS_DIR = .obj\r\n}\r\n"
  },
  {
    "path": "src/plugin.cpp",
    "content": "#include \"plugin.h\"\r\n#include <QLibrary>\r\n#include <QDir>\r\n#include <QMenu>\r\n#include <QAction>\r\n\r\n\r\nbool loadApplication(const QString& strFileName, NDD_PROC_DATA* pProcData)\r\n{\r\n\tQLibrary lib(strFileName);\r\n\tNDD_PROC_IDENTIFY_CALLBACK procCallBack;\r\n\r\n\tprocCallBack = (NDD_PROC_IDENTIFY_CALLBACK)lib.resolve(\"NDD_PROC_IDENTIFY\");\r\n\r\n\tif (procCallBack == NULL)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (!procCallBack(pProcData))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\tpProcData->m_strFilePath = strFileName;\r\n\treturn true;\r\n}\r\n\r\n\r\n\r\n\r\nint loadProc(const QString& strDirOut, std::function<void(NDD_PROC_DATA&, QMenu*)> funcallback, QMenu* pUserData)\r\n{\r\n\tint nReturn = 0;\r\n\tQStringList list;\r\n\r\n\tQDir dir;\r\n\tdir.setPath(strDirOut);\r\n\r\n\tQString strDir, strName;\r\n\tQStringList strFilter;\r\n\r\n\tstrDir = dir.absolutePath();\r\n\tstrDir += QDir::separator();\r\n#if  defined(Q_OS_WIN)\r\n\tstrFilter << \"*.dll\";\r\n#else\r\n\tstrFilter << \"lib*.so\";\r\n#endif\r\n\tlist = dir.entryList(strFilter, QDir::Files | QDir::Readable, QDir::Name);\r\n\tQStringList::Iterator it = list.begin();\r\n\r\n\tfor (; it != list.end(); ++it)\r\n\t{\r\n\t\tNDD_PROC_DATA procData;\r\n\t\tstrName = *it;\r\n\t\tstrName = strDir + strName;\r\n\r\n\t\tif (!loadApplication(strName, &procData))\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tfuncallback(procData, pUserData);\r\n\t\t\r\n\t\tnReturn++;\r\n\t}\r\n\r\n\treturn nReturn;\r\n}\r\n\r\n"
  },
  {
    "path": "src/plugin.h",
    "content": "﻿#pragma once\r\n#include \"pluginGl.h\"\r\n#include <functional>\r\nclass QMenu;\r\nclass QsciScintilla;\r\nclass QWidget;\r\n\r\ntypedef int (*NDD_PROC_MAIN_CALLBACK)(QWidget* parent, const QString& strFileName, std::function<QsciScintilla*()>getCurEdit, std::function<bool(int, void*)>, NDD_PROC_DATA* procData);\r\n\r\nint loadProc(const QString& strDirOut, std::function<void(NDD_PROC_DATA&, QMenu*)> funcallback, QMenu* pUserData);\r\n"
  },
  {
    "path": "src/pluginGl.h",
    "content": "#pragma once\r\n#include <QString>\r\n#include <QMenu>\r\n\r\nstruct ndd_proc_data\r\n{\r\n\tQString m_strPlugName; // ѡд\r\n\tQString m_strFilePath; //lib ȫ·ѡڲд,򴫵\r\n\tQString m_strComment; //˵д\r\n\tQString m_version; //汾롣ѡд\r\n\tQString m_auther;//ơѡд\r\n\tint m_menuType;//˵͡0ʹö˵ 1˵д\r\n\tQMenu* m_rootMenu;//m_menuType = 1˵ĵֵַnullptr ڲд򴫵\r\n\r\n\tndd_proc_data(): m_rootMenu(nullptr), m_menuType(0)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\n//#define NDD_PROC_IDENTIFY (\"nddProc\")\r\n\r\ntypedef struct ndd_proc_data NDD_PROC_DATA;\r\n\r\ntypedef bool (*NDD_PROC_IDENTIFY_CALLBACK)(NDD_PROC_DATA* pProcData);\r\ntypedef void (*NDD_PROC_FOUND_CALLBACK)(NDD_PROC_DATA* pProcData, void* pUserData);\r\n"
  },
  {
    "path": "src/pluginmgr.cpp",
    "content": "﻿#include \"pluginmgr.h\"\r\n#include \"rcglobal.h\"\r\n\r\n\r\nPluginMgr::PluginMgr(QWidget *parent, QList<NDD_PROC_DATA>& pluginList)\r\n\t: QMainWindow(parent)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tui.pluginTable->horizontalHeader()->setStretchLastSection(true); \r\n\tui.pluginTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);\r\n\tui.pluginTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents);\r\n\t//ui.pluginTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);\r\n\tinit(pluginList);\r\n}\r\n\r\nPluginMgr::~PluginMgr()\r\n{}\r\n\r\nvoid PluginMgr::init(QList<NDD_PROC_DATA>& pluginList)\r\n{\r\n\tui.pluginTable->clearContents();\r\n\tui.pluginTable->setRowCount(0);\r\n\r\n\tfor (int i = 0; i < pluginList.size(); ++i)\r\n\t{\r\n\t\tui.pluginTable->insertRow(i);\r\n\r\n\t\tNDD_PROC_DATA v = pluginList.at(i);\r\n\r\n\t\tui.pluginTable->setItem(i, 0, new QTableWidgetItem(v.m_strPlugName));\r\n\t\tui.pluginTable->setItem(i, 1, new QTableWidgetItem(v.m_version));\r\n\t\tui.pluginTable->setItem(i, 2, new QTableWidgetItem(v.m_auther));\r\n\t\tui.pluginTable->setItem(i, 3, new QTableWidgetItem(v.m_strComment));\r\n\t\tui.pluginTable->setItem(i, 4, new QTableWidgetItem(v.m_strFilePath));\r\n\t}\r\n}\r\n\r\nvoid PluginMgr::slot_openPluginDir()\r\n{\r\n\tQString strDir = qApp->applicationDirPath();\r\n\tQString path = QString(\"%1/plugin\").arg(strDir);\r\n\r\n\tshowFileInExplorer(path);\r\n}\r\n"
  },
  {
    "path": "src/pluginmgr.h",
    "content": "#pragma once\r\n\r\n#include <QMainWindow>\r\n#include \"ui_pluginmgr.h\"\r\n#include \"pluginGl.h\"\r\n\r\nclass PluginMgr : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tPluginMgr(QWidget *parent, QList<NDD_PROC_DATA>& pluginList);\r\n\t~PluginMgr();\r\n\r\nprivate:\r\n\tvoid init(QList<NDD_PROC_DATA>& pluginList);\r\n\r\nprivate slots:\r\n\tvoid slot_openPluginDir();\r\n\r\nprivate:\r\n\tUi::PluginMgrClass ui;\r\n};\r\n"
  },
  {
    "path": "src/pluginmgr.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>PluginMgrClass</class>\r\n <widget class=\"QMainWindow\" name=\"PluginMgrClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>974</width>\r\n    <height>488</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>PluginMgr</string>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QTableWidget\" name=\"pluginTable\">\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Name</string>\r\n       </property>\r\n      </column>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Version</string>\r\n       </property>\r\n      </column>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Auther</string>\r\n       </property>\r\n      </column>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Comment</string>\r\n       </property>\r\n      </column>\r\n      <column>\r\n       <property name=\"text\">\r\n        <string>Path</string>\r\n       </property>\r\n      </column>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n      <item>\r\n       <spacer name=\"horizontalSpacer_2\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"pluginDirBt\">\r\n        <property name=\"text\">\r\n         <string>Plugin Dir</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"cancelBt\">\r\n        <property name=\"text\">\r\n         <string>Close</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <spacer name=\"horizontalSpacer\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QMenuBar\" name=\"menuBar\">\r\n   <property name=\"geometry\">\r\n    <rect>\r\n     <x>0</x>\r\n     <y>0</y>\r\n     <width>974</width>\r\n     <height>23</height>\r\n    </rect>\r\n   </property>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>PluginMgrClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>539</x>\r\n     <y>449</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>637</x>\r\n     <y>461</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pluginDirBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>PluginMgrClass</receiver>\r\n   <slot>slot_openPluginDir()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>453</x>\r\n     <y>453</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>463</x>\r\n     <y>490</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_openPluginDir()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/progresswin.cpp",
    "content": "﻿#include \"progresswin.h\"\r\n#include <QCoreApplication>\r\n#include <QMessageBox>\r\n\r\nProgressWin::ProgressWin(QWidget *parent)\r\n\t: QDialog(parent), m_curStep(0),m_isCancel(false)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\nProgressWin::~ProgressWin()\r\n{\r\n}\r\n\r\n\r\nvoid ProgressWin::info(QString text)\r\n{\r\n\tui.output->append(text);\r\n}\r\n\r\nvoid ProgressWin::setTotalSteps(int step)\r\n{\r\n\tui.progressBar->setValue(0);\r\n\tui.progressBar->setMaximum(step);\r\n\tm_curStep = 0;\r\n}\r\n\r\nvoid ProgressWin::moveStep(bool isRest)\r\n{\r\n\t++m_curStep;\r\n\tui.progressBar->setValue(m_curStep);\r\n\tui.progressBar->update();\r\n\r\n\tif (isRest)\r\n\t{\r\n\t\tQCoreApplication::processEvents();\r\n}\r\n}\r\n\r\nint ProgressWin::getTotalStep()\r\n{\r\n\treturn ui.progressBar->maximum();\r\n}\r\n\r\nvoid ProgressWin::setStep(int step)\r\n{\r\n\tui.progressBar->setValue(step);\r\n\tui.progressBar->update();\r\n\tm_curStep = step;\r\n\t//QCoreApplication::processEvents();\r\n}\r\n\r\nbool ProgressWin::isCancel()\r\n{\r\n\treturn m_isCancel;\r\n}\r\n\r\nvoid ProgressWin::setCancel()\r\n{\r\n\tm_isCancel = true;\r\n\temit quitClick();\r\n}\r\n\r\nvoid ProgressWin::closeEvent(QCloseEvent* e)\r\n{\r\n\te->ignore();\r\n}\r\n\r\nvoid ProgressWin::slot_quitBt()\r\n{\r\n\tif (QMessageBox::Yes != QMessageBox::question(this, tr(\"Notice\"), tr(\"Are you sure to cancel?\")))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tm_isCancel = true;\r\n\temit quitClick();\r\n}\r\n"
  },
  {
    "path": "src/progresswin.h",
    "content": "﻿#pragma once\r\n\r\n#include <QDialog>\r\n#include <QCloseEvent>\r\n#include \"ui_progresswin.h\"\r\n\r\nclass ProgressWin : public QDialog\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tProgressWin(QWidget *parent = Q_NULLPTR);\r\n\tvirtual ~ProgressWin();\r\n\r\n\r\n\tvoid info(QString text);\r\n\tvoid setTotalSteps(int step);\r\n\tvoid moveStep(bool isRest = false);\r\n\r\n\tint getTotalStep();\r\n\tvoid setStep(int step);\r\n\r\n\tbool isCancel();\r\n\r\n\tvoid setCancel();\r\n\r\nprotected:\r\n\tvoid closeEvent(QCloseEvent* e) override;\r\n\r\npublic slots:\r\n\tvoid slot_quitBt();\r\n\r\nsignals:\r\n\tvoid quitClick();\r\n\r\nprivate:\r\n\tUi::ProgressWin ui;\r\n\tint m_curStep;\r\n\r\n\tbool m_isCancel;\r\n};\r\n"
  },
  {
    "path": "src/progresswin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>ProgressWin</class>\r\n <widget class=\"QWidget\" name=\"ProgressWin\">\r\n  <property name=\"windowModality\">\r\n   <enum>Qt::WindowModal</enum>\r\n  </property>\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>553</width>\r\n    <height>176</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>work progress</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <property name=\"spacing\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"leftMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"topMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"rightMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>3</number>\r\n   </property>\r\n   <item>\r\n    <widget class=\"QTextBrowser\" name=\"output\">\r\n     <property name=\"horizontalScrollBarPolicy\">\r\n      <enum>Qt::ScrollBarAlwaysOff</enum>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <widget class=\"QLabel\" name=\"label\">\r\n       <property name=\"text\">\r\n        <string>current progress</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QProgressBar\" name=\"progressBar\">\r\n       <property name=\"value\">\r\n        <number>0</number>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"quitBt\">\r\n       <property name=\"enabled\">\r\n        <bool>true</bool>\r\n       </property>\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>quitBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ProgressWin</receiver>\r\n   <slot>slot_quitBt()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>343</x>\r\n     <y>178</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>364</x>\r\n     <y>175</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_quitBt()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/qscidisplaywindow.cpp",
    "content": "﻿#include \"qscidisplaywindow.h\"\r\n#include \"MediatorDisplay.h\"\r\n#include \"textfind.h\"\r\n#include \"common.h\"\r\n#include \"styleset.h\"\r\n#include \"rcglobal.h\"\r\n\r\n#include <QScrollBar>\r\n#include <QFileInfo>\r\n#include <QProcess>\r\n#include <QMessageBox>\r\n#include <stdexcept>\r\n#include <SciLexer.h>\r\n\r\nQsciDisplayWindow::QsciDisplayWindow(QWidget *parent):QsciScintilla(parent), m_textFindWin(nullptr), m_preFirstLineNum(0), m_isShowFindItem(true), m_hasHighlight(false)\r\n{\r\n\t//20210815 左右行同步还有问题，暂时不屏蔽，不实现\r\n\tconnect(this->verticalScrollBar(), &QScrollBar::valueChanged, this, &QsciDisplayWindow::slot_scrollYValueChange);\r\n\tconnect(this->horizontalScrollBar(), &QScrollBar::valueChanged, this, &QsciDisplayWindow::slot_scrollXValueChange);\r\n\r\n\tsetAcceptDrops(false);\r\n\r\n\tm_findStartPos = 0;\r\n\tm_findEndPos = 0;\r\n\tm_findCurPos = 0;\r\n\r\n\tm_pScintillaFunc = (SCINTILLA_FUNC)this->SendScintillaPtrResult(SCI_GETDIRECTFUNCTION);\r\n\tm_pScintillaPtr = (SCINTILLA_PTR)this->SendScintillaPtrResult(SCI_GETDIRECTPOINTER);\r\n\r\n\r\n\tif (!m_pScintillaFunc)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTFUNCTION message failed\");\r\n}\r\n\r\n\tif (!m_pScintillaPtr)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTPOINTER message failed\");\r\n\t}\r\n\r\n\t//这个无比要设置false，否则双击后高亮单词，拷贝时会拷贝多个选择。\r\n\texecute(SCI_SETMULTIPLESELECTION, true);\r\n\texecute(SCI_SETMULTIPASTE, 1);\r\n\texecute(SCI_SETADDITIONALCARETSVISIBLE, false);\r\n\texecute(SCI_SETSELFORE, true, 0x0);\r\n\texecute(SCI_SETSELBACK, true, 0x00ffff);\r\n\r\n\t//QColor foldfgColor(StyleSet::foldfgColor);\r\n\t//QColor foldbgColor(StyleSet::foldbgColor);//默认0xff,0xff,0xff\r\n\r\n\t////通过fold发现，尽量使用qscint的功能，因为他做了大量封装和简化\r\n\t//setFolding(BoxedTreeFoldStyle, 2);\r\n\t//setFoldMarginColors(foldfgColor, foldbgColor);\r\n\t//setMarginsBackgroundColor(StyleSet::marginsBackgroundColor); //0xea, 0xf7, 0xff //默认0xf0f0f0\r\n\r\n\t\t//双击后同样的字段进行高亮\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_SMART, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_SMART, 100);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_SMART, false);\r\n\texecute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_SMART, 0x00ff00);\r\n\r\n\tsetStyleOptions();\r\n\r\n\t//开启后可以保证长行在滚动条下完整显示\r\n\texecute(SCI_SETSCROLLWIDTHTRACKING, true);\r\n\tconnect(this, &QsciScintilla::selectionChanged, this, &QsciDisplayWindow::slot_clearHightWord, Qt::QueuedConnection);\r\n\tconnect(this, &QsciDisplayWindow::delayWork, this, &QsciDisplayWindow::slot_delayWork, Qt::QueuedConnection);\r\n}\r\n\r\nQsciDisplayWindow::~QsciDisplayWindow()\r\n{\r\n\tif (m_textFindWin != nullptr)\r\n\t{\r\n\t\tdelete m_textFindWin;\r\n\t\tm_textFindWin = nullptr;\r\n\t}\r\n}\r\n\r\nvoid QsciDisplayWindow::setFoldColor(int margin, QColor fgClack, QColor bkColor)\r\n{\r\n\tSendScintilla(SCI_MARKERSETFORE, margin, fgClack);\r\n\tSendScintilla(SCI_MARKERSETBACK, margin, bkColor);\r\n}\r\n\r\nvoid QsciDisplayWindow::setStyleOptions()\r\n{\r\n\t//if (StyleSet::m_curStyleId != BLACK_SE)\r\n\t//{\r\n\t\tsetMarginsForegroundColor(QColor(0x80, 0x80, 0x80)); //默认0x80, 0x80, 0x80\r\n\t//}\r\n\t//else\r\n\t//{\r\n\t//\tsetMarginsForegroundColor(QColor(0xde, 0xde, 0xde)); //默认0x80, 0x80, 0x80\r\n\t//}\r\n\t//setMarginsBackgroundColor(StyleSet::marginsBackgroundColor);\r\n\t//setFoldMarginColors(StyleSet::marginsBackgroundColor, StyleSet::marginsBackgroundColor);\r\n\r\n\tsetMarginsBackgroundColor(0xf0f0f0);\r\n\tsetFoldMarginColors(0xf0f0f0, 0xf0f0f0);\r\n\t{\r\n\t\t//setCaretLineBackgroundColor(QColor(0xe8e8ff));\r\n\t\tsetCaretLineBackgroundColor(QColor(0xFAF9DE));\r\n\t\tsetMatchedBraceForegroundColor(QColor(191, 141, 255));\r\n\t\tsetMatchedBraceBackgroundColor(QColor(222, 222, 222));\r\n\t\tsetCaretForegroundColor(QColor(0, 0, 0));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPEN, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDER, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERSUB, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERTAIL, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEREND, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPENMID, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERMIDTAIL, QColor(Qt::white), QColor(128, 128, 128));\r\n\t}\r\n}\r\n\r\nvoid QsciDisplayWindow::setIsShowFindItem(bool v)\r\n{\r\n\tm_isShowFindItem = v;\r\n}\r\n\r\n\r\nsptr_t QsciDisplayWindow::execute(quint32 Msg, uptr_t wParam, sptr_t lParam) const {\r\n\ttry {\r\n\t\treturn (m_pScintillaFunc) ? m_pScintillaFunc(m_pScintillaPtr, Msg, wParam, lParam) : -1;\r\n\t}\r\n\tcatch (...)\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n};\r\n\r\nvoid QsciDisplayWindow::mouseDoubleClickEvent(QMouseEvent * e)\r\n{\r\n\tQsciScintilla::mouseDoubleClickEvent(e);\r\n\r\n\tif (hasSelectedText())\r\n\t{\r\n\t\temit delayWork();\r\n\t}\r\n}\r\n\r\nvoid QsciDisplayWindow::clearIndicator(int indicatorNumber) {\r\n\tsize_t docStart = 0;\r\n\tsize_t docEnd = length();\r\n\texecute(SCI_SETINDICATORCURRENT, indicatorNumber);\r\n\texecute(SCI_INDICATORCLEARRANGE, docStart, docEnd - docStart);\r\n};\r\n\r\nconst int MAXLINEHIGHLIGHT = 400;\r\n\r\nvoid QsciDisplayWindow::slot_clearHightWord()\r\n{\r\n\tif (m_hasHighlight)\r\n\t{\r\n\t\tm_hasHighlight = false;\r\n\t\tclearIndicator(SCE_UNIVERSAL_FOUND_STYLE_SMART);\r\n\t}\r\n}\r\n\r\n\r\nvoid QsciDisplayWindow::highlightViewWithWord(QString & word2Hilite)\r\n{\r\n\tint originalStartPos = execute(SCI_GETTARGETSTART);\r\n\tint originalEndPos = execute(SCI_GETTARGETEND);\r\n\r\n\tint firstLine = static_cast<int>(this->execute(SCI_GETFIRSTVISIBLELINE));\r\n\tint nbLineOnScreen = this->execute(SCI_LINESONSCREEN);\r\n\tint nbLines = std::min(nbLineOnScreen, MAXLINEHIGHLIGHT) + 1;\r\n\tint lastLine = firstLine + nbLines;\r\n\tint startPos = 0;\r\n\tint endPos = 0;\r\n\tauto currentLine = firstLine;\r\n\tint prevDocLineChecked = -1;\t//invalid start\r\n\r\n\r\n\tauto searchMark = [this](int &startPos, int &endPos, QByteArray &word2Mark) {\r\n\r\n\t\tint targetStart = 0;\r\n\t\tint targetEnd = 0;\r\n\r\n\t\tlong lens = word2Mark.length();\r\n\r\n\t\twhile (targetStart >= 0)\r\n\t\t{\r\n\t\t\texecute(SCI_SETTARGETRANGE, startPos, endPos);\r\n\r\n\t\t\ttargetStart = SendScintilla(SCI_SEARCHINTARGET, lens, word2Mark.data());\r\n\r\n\t\t\tif (targetStart == -1 || targetStart == -2)\r\n\t\t\t\tbreak;\r\n\r\n\t\t\ttargetEnd = int(this->execute(SCI_GETTARGETEND));\r\n\r\n\t\t\tif (targetEnd > endPos)\r\n\t\t\t{\r\n\t\t\t\t//we found a result but outside our range, therefore do not process it\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tint foundTextLen = targetEnd - targetStart;\r\n\r\n\t\t\tif (foundTextLen > 0)\r\n\t\t\t{\r\n\t\t\t\tthis->execute(SCI_SETINDICATORCURRENT, SCE_UNIVERSAL_FOUND_STYLE_SMART);\r\n\t\t\t\tthis->execute(SCI_INDICATORFILLRANGE, targetStart, foundTextLen);\r\n\t\t\t}\r\n\r\n\t\t\tif (targetStart + foundTextLen == endPos)\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tstartPos = targetStart + foundTextLen;\r\n\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tQByteArray whatMark = word2Hilite.toUtf8();\r\n\r\n\tSendScintilla(SCI_SETSEARCHFLAGS, SCFIND_REGEXP | SCFIND_MATCHCASE | SCFIND_WHOLEWORD | SCFIND_REGEXP_SKIPCRLFASONE);\r\n\r\n\tfor (; currentLine < lastLine; ++currentLine)\r\n\t{\r\n\t\tint docLine = static_cast<int>(this->execute(SCI_DOCLINEFROMVISIBLE, currentLine));\r\n\t\tif (docLine == prevDocLineChecked)\r\n\t\t\tcontinue;\t//still on same line (wordwrap)\r\n\t\tprevDocLineChecked = docLine;\r\n\t\tstartPos = static_cast<int>(this->execute(SCI_POSITIONFROMLINE, docLine));\r\n\t\tendPos = static_cast<int>(this->execute(SCI_POSITIONFROMLINE, docLine + 1));\r\n\r\n\t\tif (endPos == -1)\r\n\t\t{\t//past EOF\r\n\t\t\tendPos = this->length() - 1;\r\n\t\t\tsearchMark(startPos, endPos, whatMark);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsearchMark(startPos, endPos, whatMark);\r\n\t\t}\r\n\t}\r\n\r\n\tm_hasHighlight = true;\r\n\r\n\t// restore the original targets to avoid conflicts with the search/replace functions\r\n\tthis->execute(SCI_SETTARGETRANGE, originalStartPos, originalEndPos);\r\n}\r\n\r\n\r\n\r\nvoid QsciDisplayWindow::slot_delayWork()\r\n{\r\n\r\n\tif (!hasSelectedText())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString word = selectedText();\r\n\tif (!word.isEmpty())\r\n\t{\r\n\t\thighlightViewWithWord(word);\r\n\t}\r\n\r\n#if 0\r\n\tif (!hasSelectedText())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString word = selectedText();\r\n\tif (!word.isEmpty())\r\n\t{\r\n\r\n\t\tQVector<int>resultPos;\r\n\t\tresultPos.reserve(50);\r\n\r\n\r\n\t\tint firstLine = execute(SCI_GETFIRSTVISIBLELINE);\r\n\t\tint nbLineOnScreen = execute(SCI_LINESONSCREEN);\r\n\t\tint nbLines = std::min(nbLineOnScreen, MAXLINEHIGHLIGHT) + 1;\r\n\t\tint lastLine = firstLine + nbLines;\r\n\r\n\r\n\t\tlong startPos = execute(SCI_POSITIONFROMLINE, firstLine);\r\n\t\tlong endPos = execute(SCI_POSITIONFROMLINE, lastLine);\r\n\r\n\t\tif (endPos == -1)\r\n\t\t{\r\n\t\t\tendPos = execute(SCI_GETLENGTH);\r\n\t\t}\r\n\r\n\t\tint curpos = execute(SCI_GETCURRENTPOS);\r\n\t\tint mainSelect = 1;\r\n\r\n\t\tstruct Sci_TextToFind findOptions;\r\n\t\tfindOptions.chrg.cpMin = startPos;\r\n\t\tfindOptions.chrg.cpMax = endPos;\r\n\r\n\t\tstd::string wordStr = word.toStdString();\r\n\t\tfindOptions.lpstrText = wordStr.c_str();\r\n\r\n\t\tint pos = execute(SCI_FINDTEXT, SCFIND_MATCHCASE | SCFIND_WHOLEWORD, reinterpret_cast<sptr_t>(&findOptions));\r\n\r\n\t\twhile (pos != -1)\r\n\t\t{\r\n\t\t\tresultPos.append(pos);\r\n\r\n\t\t\tif (pos <= curpos)\r\n\t\t\t{\r\n\t\t\t\tmainSelect = resultPos.size();\r\n\t\t\t}\r\n\t\t\tfindOptions.chrg.cpMin = findOptions.chrgText.cpMax;\r\n\t\t\tpos = execute(SCI_FINDTEXT, SCFIND_MATCHCASE | SCFIND_WHOLEWORD, reinterpret_cast<sptr_t>(&findOptions));\r\n\t\t}\r\n\r\n\t\tfor (int i = 0, size = resultPos.size(); i < size; ++i)\r\n\t\t{\r\n\t\t\texecute(SCI_ADDSELECTION, resultPos.at(i), resultPos.at(i) + word.size());\r\n\r\n\t\t}\r\n\r\n\t\tif (!resultPos.isEmpty())\r\n\t\t{\r\n\t\t\texecute(SCI_SETMAINSELECTION, mainSelect - 1);\r\n\t\t}\r\n\t}\r\n#endif\r\n}\r\n\r\nvoid QsciDisplayWindow::setMediator(MediatorDisplay* mediator)\r\n{\r\n\tm_mediator = mediator;\r\n}\r\n\r\n//滚动条值变化后的槽函数。一旦滚动则会出发这里，发送消息给中介，让中介去同步另外一方\r\nvoid QsciDisplayWindow::slot_scrollYValueChange(int value)\r\n{\r\n\tif (m_direction == RC_LEFT)\r\n\t{\r\n\t\tif (m_mediator->getLeftScrollValue() != value)\r\n\t\t{\r\n\t\t\tm_mediator->setLeftScrollValue(value);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (m_mediator->getRightScrollValue() != value)\r\n\t\t{\r\n\t\t\tm_mediator->setRightScrollValue(value);\r\n\t\t}\r\n\t}\r\n\tautoAdjustLineWidth(value);\r\n\tslot_delayWork();\r\n\t//qDebug(\"-- dir s n %d %d\", m_direction, contentY());\r\n}\r\n\r\n//根据现有滚动条来决定是否更新屏幕线宽长度。每滚动2000个单位必须调整line宽\r\nvoid QsciDisplayWindow::autoAdjustLineWidth(int xScrollValue)\r\n{\r\n\r\n\tif (std::abs(xScrollValue - m_preFirstLineNum) > 400)\r\n\t{\r\n\t\tm_preFirstLineNum = xScrollValue;\r\n\r\n\t\tupdateLineNumberWidth();\r\n\t}\r\n}\r\n\r\nvoid QsciDisplayWindow::updateLineNumberWidth()\r\n{\r\n\tauto linesVisible = execute(SCI_LINESONSCREEN);\r\n\tif (linesVisible)\r\n\t{\r\n\t\tint nbDigits = 0;\r\n\r\n\t\tauto firstVisibleLineVis = execute(SCI_GETFIRSTVISIBLELINE);\r\n\t\tauto lastVisibleLineVis = linesVisible + firstVisibleLineVis + 1;\r\n\t\tauto lastVisibleLineDoc = execute(SCI_DOCLINEFROMVISIBLE, lastVisibleLineVis);\r\n\r\n\t\tnbDigits = nbDigitsFromNbLines(lastVisibleLineDoc);\r\n\t\tnbDigits = nbDigits < 4 ? 4 : nbDigits;\r\n\t\t\r\n\t\tauto pixelWidth = 8 + nbDigits * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<sptr_t>(\"8\"));\r\n\t\texecute(SCI_SETMARGINWIDTHN, MARGIN_LINE_NUM, pixelWidth);\r\n\t}\r\n}\r\n\r\n//X方向滚动条值变化后的槽函数。一旦滚动则会出发这里，发送消息给中介，让中介去同步另外一方\r\nvoid QsciDisplayWindow::slot_scrollXValueChange(int value)\r\n{\r\n\tif (m_direction == RC_LEFT)\r\n\t{\r\n\t\tif (m_mediator->getLeftScrollXValue() != value)\r\n\t\t{\r\n\t\t\tm_mediator->setLeftScrollXValue(value);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (m_mediator->getRightScrollXValue() != value)\r\n\t\t{\r\n\t\t\tm_mediator->setRightScrollXValue(value);\r\n\t\t}\r\n\t}\r\n\r\n\t//qDebug(\"-- dir s n %d %d\", m_direction, contentY());\r\n}\r\n\r\n\r\n\r\nvoid QsciDisplayWindow::setDirection(RC_DIRECTION direction)\r\n{\r\n\tm_direction = direction;\r\n}\r\n\r\nint QsciDisplayWindow::getCurVerticalScrollValue()\r\n{\r\n\treturn this->verticalScrollBar()->value();\r\n}\r\n\r\nvoid QsciDisplayWindow::contextUserDefineMenuEvent(QMenu* menu)\r\n{\r\n\t//QAction* action;\r\n\tif (menu != nullptr)\r\n\t{\r\n\t\tmenu->addAction(tr(\"Find Text\"), this, SLOT(slot_findText()));\r\n\t\tmenu->addAction(tr(\"Show File in Explorer\"), this, SLOT(slot_showFileInExplorer()));\r\n\t\tmenu->addAction(tr(\"Save As ...\"), this, &QsciDisplayWindow::sign_saveAsFile);\r\n\t}\r\n\tmenu->show();\r\n}\r\n\r\nvoid QsciDisplayWindow::inputMethodEvent(QInputMethodEvent* event)\r\n{\r\n\tif (!event->preeditString().isEmpty())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQsciScintilla::inputMethodEvent(event);\r\n}\r\n\r\n\r\nvoid QsciDisplayWindow::slot_findText()\r\n{\r\n\tif (m_isShowFindItem)\r\n\t{\r\n\tif (m_textFindWin == nullptr)\r\n\t{\r\n\t\tm_textFindWin = new TextFind(m_direction);\r\n\t\tconnect(m_textFindWin, &TextFind::signFindFile, this, &QsciDisplayWindow::slot_FindTextWithPara);\r\n\r\n\t\tm_textFindWin->activateWindow();\r\n\t\tm_textFindWin->show();\r\n\t}\r\n\telse\r\n\t{\r\n\t\tm_textFindWin->activateWindow();\r\n\t\tm_textFindWin->showNormal();\r\n\t}\r\n\r\n\tm_findCurPos = 0;\r\n}\r\n\telse\r\n\t{\r\n\t\t//不使用这里的查找，直接发信号到外面\r\n\t\temit sign_find();\r\n\t}\r\n}\r\n\r\nvoid QsciDisplayWindow::slot_FindTextWithPara(int prevOrNext, QString text)\r\n{\r\n\tstd::string str = text.toStdString();\r\n\r\n\tint length = SendScintilla(SCI_GETLENGTH);\r\n\r\n\tif (length > 0)\r\n\t{\r\n\t\tif (prevOrNext == 1)\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SETTARGETSTART, m_findCurPos);\r\n\t\t\tSendScintilla(SCI_SETTARGETEND, length);\r\n\r\n\r\n\t\t\tint ret = SendScintilla(SCI_SEARCHINTARGET, str.length(), str.c_str());\r\n\t\t\tif (ret >= 0)\r\n\t\t\t{\r\n\t\t\t\tm_findCurPos = ret + str.length();\r\n\t\t\t\tSendScintilla(SCI_GOTOPOS, ret);\r\n\t\t\t\tSendScintilla(SCI_SETSELECTION, ret, ret + str.length());\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tQMessageBox::information(this, tr(\"Not Find\"), tr(\"Not Find Next!\"));\r\n\t\t\t\tm_textFindWin->activateWindow();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (prevOrNext == 0)\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SETTARGETSTART, m_findCurPos);\r\n\t\t\tSendScintilla(SCI_SETTARGETEND, 0);\r\n\r\n\r\n\t\t\tint ret = SendScintilla(SCI_SEARCHINTARGET, str.length(), str.c_str());\r\n\t\t\tif (ret >= 0)\r\n\t\t\t{\r\n\t\t\t\tm_findCurPos = ret - 1;\r\n\r\n\t\t\t\tSendScintilla(SCI_GOTOPOS, ret);\r\n\t\t\t\tSendScintilla(SCI_SETSELECTION, ret, ret + str.length());\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tQMessageBox::information(this, tr(\"Not Find\"), tr(\"Not Find Prev!\"));\r\n\t\t\t\tm_textFindWin->activateWindow();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//定位到文件夹\r\nvoid QsciDisplayWindow::slot_showFileInExplorer()\r\n{\r\n\tshowFileInExplorer(m_filePath);\r\n}\r\n\r\n"
  },
  {
    "path": "src/qscidisplaywindow.h",
    "content": "﻿#pragma once\r\n\r\n#include <qsciscintilla.h>\r\n#include <Scintilla.h>\r\n#include <functional>\r\n#include <QMenu>\r\n#include <QInputMethodEvent>\r\n#include <QMimeData>\r\n#include <QDragEnterEvent>\r\n#include <QDropEvent>\r\n\r\n#include \"rcglobal.h\"\r\n\r\nclass MediatorDisplay;\r\nclass BlockUserData;\r\nclass TextFind;\r\n\r\ntypedef sptr_t(*SCINTILLA_FUNC) (sptr_t ptr, unsigned int, uptr_t, sptr_t);\r\ntypedef sptr_t SCINTILLA_PTR;\r\n\r\nclass QsciDisplayWindow : public QsciScintilla\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tQsciDisplayWindow(QWidget *parent);\r\n\tvirtual ~QsciDisplayWindow();\r\n\r\n\tvoid setIsShowFindItem(bool v);\r\n\tsptr_t execute(quint32 Msg, uptr_t wParam = 0, sptr_t lParam = 0) const;\r\n\tvoid setMediator(MediatorDisplay* mediator);\r\n\t\r\n\tvoid setDirection(RC_DIRECTION direction);\r\n\r\n\t//获取当前垂直进度条的滚动位置\r\n\tint getCurVerticalScrollValue();\r\n\r\n\tQString getFilePath()\r\n\t{\r\n\t\treturn m_filePath;\r\n\t}\r\n\r\n\tvoid setFilePath(QString v)\r\n\t{\r\n\t\tm_filePath = v;\r\n\t}\r\n\tvoid autoAdjustLineWidth(int xScrollValue);\r\nsignals:\r\n\tvoid delayWork();\r\n\tvoid sign_find(bool v=true);\r\n\tvoid sign_saveAsFile();\r\n\r\nprivate slots:\r\n\tvoid slot_delayWork();\r\n\r\npublic slots:\r\n\tvoid slot_showFileInExplorer();\r\n\tvoid slot_scrollYValueChange(int value);\r\n\tvoid slot_scrollXValueChange(int value);\r\n\tvoid slot_findText();\r\n\tvoid slot_FindTextWithPara(int prevOrNext, QString text);\r\n\r\nprotected:\r\n\tvoid contextUserDefineMenuEvent(QMenu* menu) override;\r\n\tvoid inputMethodEvent(QInputMethodEvent* event) override;\r\n\tvoid mouseDoubleClickEvent(QMouseEvent *e) override;\r\n\tvoid clearIndicator(int indicatorNumber);\r\n\tvoid slot_clearHightWord();\r\n\tvoid highlightViewWithWord(QString & word2Hilite);\r\n\tvoid updateLineNumberWidth();\r\n\r\n\tvoid setStyleOptions();\r\n\tvoid setFoldColor(int margin, QColor fgClack, QColor bkColor);\r\n\r\nprivate:\r\n\tRC_DIRECTION m_direction;\r\n\tMediatorDisplay* m_mediator;\r\n\r\n\tQString m_filePath;\r\n\tTextFind* m_textFindWin;\r\n\r\n\tint m_findStartPos;\r\n\tint m_findCurPos;\r\n\tint m_findEndPos;\r\n\r\n\tint m_preFirstLineNum;\r\n\r\n\tSCINTILLA_FUNC m_pScintillaFunc = nullptr;\r\n\tSCINTILLA_PTR  m_pScintillaPtr = 0;\r\n\r\n\tbool m_isShowFindItem;\r\n\tbool m_hasHighlight;\r\n};\r\n"
  },
  {
    "path": "src/qscint/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.16)\nproject(qscint CXX)\n\nset(CMAKE_AUTOMOC ON)\nset(CMAKE_AUTOUIC ON)\nset(CMAKE_AUTORCC ON)\n\nfind_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets PrintSupport)\n\naux_source_directory(${PROJECT_SOURCE_DIR}/src SRC)\naux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/lexers SRC)\naux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/lexlib SRC)\naux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/src SRC)\naux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/boostregex SRC)\n\nfile(GLOB MOC_HEADER ${PROJECT_SOURCE_DIR}/src/Qsci/*.h)\n\n#message(${MOC_HEADER})\n\nadd_library(${PROJECT_NAME} STATIC ${SRC} ${MOC_HEADER})\n\n# add_definitions(-DQSCINTILLA_MAKE_DLL)\n# add_library(${PROJECT_NAME} SHARED ${SRC} ${MOC_HEADER})\n\ntarget_compile_definitions(${PROJECT_NAME} PRIVATE SCINTILLA_QT SCI_LEXER INCLUDE_DEPRECATED_FEATURES)\n\ntarget_include_directories(${PROJECT_NAME} PRIVATE\n${PROJECT_SOURCE_DIR}/scintilla/lexlib\n${PROJECT_SOURCE_DIR}/scintilla/boostregex\n)\n\ntarget_include_directories(${PROJECT_NAME} PUBLIC\n${PROJECT_SOURCE_DIR}/src\n${PROJECT_SOURCE_DIR}/src/Qsci\n${PROJECT_SOURCE_DIR}/scintilla/src\n${PROJECT_SOURCE_DIR}/scintilla/include)\n\ntarget_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport)\n\nif(\"${CMAKE_BUILD_TYPE}\" STREQUAL \"Release\")\n    set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME \"qmyedit_qt5\")\nelse()\n    set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME \"qmyedit_qt5d\")\nendif()\n\n\n\n# if(NOT DEFINED ${notepad--_BINARY_DIR})\n# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# set(LIBRARY_OUTPUT_PATH ${notepad--_BINARY_DIR}/bin/plugin)\n# set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin)\n# endif()\n"
  },
  {
    "path": "src/qscint/ChangeLog",
    "content": "2021-03-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tReleased as v2.12.1.\n\t[c1e9b5f091d6] [2.12.1] <2.12-maint>\n\n\t* rb-product.toml:\n\tFixed the PyQt dependencies.\n\t[c7af7dfff891] <2.12-maint>\n\n2021-03-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[811ff4c9ffb2] <2.12-maint>\n\n2021-02-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/pyproject-qt5.toml, Python/pyproject-qt6.toml:\n\tFixed the project dependencies.\n\t[f84410807305] <2.12-maint>\n\n\t* rb-product, rb-product.toml:\n\tUpdated the product file.\n\t[266fa5c4525a] <2.12-maint>\n\n2021-02-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.12.0 for changeset 1cfa1f74a2a6\n\t[a3df8b831652]\n\n\t* NEWS:\n\tReleased as v2.12.0.\n\t[1cfa1f74a2a6] [2.12.0]\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[15c838b76bbb]\n\n2021-02-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py:\n\tFixed project.py so that it will use an embedded QScintilla library\n\twhen being built from an sdist.\n\t[71cc17f4adb2]\n\n\t* qt/qscintilla.pro:\n\tAdded missing .h files from qscintilla.pro.\n\t[c932fdd83a5e]\n\n2021-02-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/pyproject-qt5.toml:\n\tReverted the name of the Qt5 Python bindings PyPI project because a\n\tnew name would cause significant problems.\n\t[c318f3bd3474]\n\n2021-02-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/pyproject-qt5.toml, Python/pyproject-qt6.toml,\n\tPython/sip/qsciscintillabase.sip:\n\tFixed the Python bindings for PyQt6.\n\t[e48e4f400215]\n\n\t* lib/README.doc:\n\tRe-ordered the section in the main page of the docs.\n\t[35fd189ea5da]\n\n2021-02-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py, Python/pyproject-qt5.toml, Python/pyproject-\n\tqt6.toml, Python/pyproject.toml, Python/sip/qscimod5.sip,\n\tPython/sip/qscimod6.sip, Python/sip/qscimodcommon.sip,\n\tlib/README.doc, qt/features/qscintilla2.prf,\n\tqt/features_staticlib/qscintilla2.prf:\n\tUpdate the building of the Python bindings from a full source\n\tpackage.\n\t[124c17880e06]\n\n2021-02-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/README.doc, lib/qscintilla.dxy:\n\tSome documentation fixes.\n\t[81cc3ac8a8df]\n\n\t* qt/PlatQt.cpp:\n\tFixed a regression in building against Qt5.\n\t[4e87186ec216]\n\n\t* qt/InputMethod.cpp, qt/MacPasteboardMime.cpp, qt/PlatQt.cpp,\n\tqt/SciAccessibility.cpp, qt/qsciapis.cpp, qt/qscicommandset.cpp,\n\tqt/qsciglobal.h, qt/qscilexer.cpp, qt/qscimacro.cpp,\n\tqt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintillabase.cpp:\n\tInitial port to Qt6.\n\t[b88e78ec2ca3]\n\n2021-02-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-old.py, Python/configure.py, Python/pyproject.toml,\n\tPython/sip/qscimod4.sip, designer-Qt4Qt5/designer.pro, designer-\n\tQt4Qt5/qscintillaplugin.cpp, designer-Qt4Qt5/qscintillaplugin.h,\n\tdesigner/designer.pro, designer/qscintillaplugin.cpp,\n\tdesigner/qscintillaplugin.h, example-Qt4Qt5/application.pro,\n\texample-Qt4Qt5/application.qrc, example-Qt4Qt5/images/copy.png,\n\texample-Qt4Qt5/images/cut.png, example-Qt4Qt5/images/new.png,\n\texample-Qt4Qt5/images/open.png, example-Qt4Qt5/images/paste.png,\n\texample-Qt4Qt5/images/save.png, example-Qt4Qt5/main.cpp, example-\n\tQt4Qt5/mainwindow.cpp, example-Qt4Qt5/mainwindow.h,\n\texample/application.pro, example/application.qrc,\n\texample/images/copy.png, example/images/cut.png,\n\texample/images/new.png, example/images/open.png,\n\texample/images/paste.png, example/images/save.png, example/main.cpp,\n\texample/mainwindow.cpp, example/mainwindow.h, lib/README.doc,\n\tlib/ed.py, lib/pyproject.toml, qt/InputMethod.cpp, qt/ListBoxQt.cpp,\n\tqt/MacPasteboardMime.cpp, qt/PlatQt.cpp, qt/SciClasses.cpp,\n\tqt/ScintillaQt.cpp, qt/qsciglobal.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tRemoved support for Qt4.\n\t[dad7e9b4d62e]\n\n\t* Merged the 2.11-maint branch.\n\t[8c1814ec889a]\n\n2020-11-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11.6 for changeset c262a7a02f6d\n\t[a12ce93c13bf] <2.11-maint>\n\n\t* NEWS:\n\tReleased as v2.11.6.\n\t[c262a7a02f6d] [2.11.6] <2.11-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[0f32bcb43dd3] <2.11-maint>\n\n2020-10-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf,\n\tqt/qscintilla.pro:\n\tFixes for building for iOS with recent versions of Qt.\n\t[aea84882d372] <2.11-maint>\n\n2020-10-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py:\n\tAdded the --qsci-translations-dir option to sip-wheel.\n\t[df77754750b3] <2.11-maint>\n\n2020-10-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qsci/api/python/Python-3.9.api:\n\tAdded the .api file for Python v3.9.\n\t[bff51b8043e2] <2.11-maint>\n\n\t* .hgignore:\n\tUpdated .hgignore for the current build naming convention.\n\t[b659680b3f24] <2.11-maint>\n\n2020-10-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed the display of non-latin1 call tips.\n\t[f9fa57df2fbb] <2.11-maint>\n\n2020-09-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py, lib/pyproject.toml:\n\tRequire PyQt-builder v1.6 as we no longer specify the sip module and\n\tABI.\n\t[0e989cce12ea] <2.11-maint>\n\n2020-08-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py:\n\tSet the name of the sip module explicitly.\n\t[a6b6fd548cf3] <2.11-maint>\n\n2020-06-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* example-Qt4Qt5/main.cpp, example-Qt4Qt5/mainwindow.cpp, example-\n\tQt4Qt5/mainwindow.h:\n\tUpdated the copyright notices on the example.\n\t[8937c1d51479] <2.11-maint>\n\n2020-06-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11.5 for changeset 36bf61975fe2\n\t[7e336947e75e] <2.11-maint>\n\n\t* NEWS:\n\tReleased as v2.11.5.\n\t[36bf61975fe2] [2.11.5] <2.11-maint>\n\n\t* NEWS, Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip:\n\tFixed the Python signatures of the QsciAbstractAPIs and QsciAPIs\n\tctors.\n\t[80aeec9058bf] <2.11-maint>\n\n2020-05-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py, lib/pyproject.toml:\n\tThe minimum ABI version is 12.8 which requires SIP v5.3.\n\t[c0e8e2e7e485] <2.11-maint>\n\n2020-04-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/pyproject.toml:\n\tWe know that The Python binding swill be able to use SIP v6.\n\t[4f1f5381fb69] <2.11-maint>\n\n2020-04-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[2ef898e42a1e] <2.11-maint>\n\n\t* Python/project.py, lib/pyproject.toml:\n\tInclude the bundled .api files in wheels.\n\t[ded23cd63255] <2.11-maint>\n\n2020-02-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/pyproject.toml:\n\tFixed METADATA for commercial wheels.\n\t[efc053939949] <2.11-maint>\n\n2019-12-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11.4 for changeset b9eb589b0dab\n\t[3f3722aac2ad] <2.11-maint>\n\n\t* NEWS:\n\tReleased as v2.11.4.\n\t[b9eb589b0dab] [2.11.4] <2.11-maint>\n\n\t* lib/pyproject.toml:\n\tFixed requires-dist for commercial wheels.\n\t[53c08faf43ff] <2.11-maint>\n\n2019-11-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11.3 for changeset 989462577f67\n\t[3f6d7cf0fc4b] <2.11-maint>\n\n\t* NEWS:\n\tReleased as v2.11.3.\n\t[989462577f67] [2.11.3] <2.11-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[2075344b2124] <2.11-maint>\n\n2019-10-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/pyproject.toml:\n\tFixed the name of PEP 566.\n\t[e435d3af1587] <2.11-maint>\n\n\t* lib/pyproject.toml:\n\tRequires PyQt-builder v1.\n\t[9502a2b46a2b] <2.11-maint>\n\n2019-10-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/pyproject.toml:\n\tFixed the name of the PyQt-builder project.\n\t[efe96da72b1f] <2.11-maint>\n\n2019-09-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py:\n\tFixes for changes in the sip v5 API.\n\t[a79acd2cdd94] <2.11-maint>\n\n2019-09-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/pyproject.toml:\n\tAdded the requires-dist meta-data.\n\t[941784a50fad] <2.11-maint>\n\n2019-09-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[6c83ad469a4e] <2.11-maint>\n\n\t* lib/pyproject.toml:\n\tTemporarily set the version of PyQt-builder required to be v0.1.\n\t[734461946ff0] <2.11-maint>\n\n2019-09-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py:\n\tFixes for relative path options.\n\t[e7bc21d4cb25] <2.11-maint>\n\n2019-09-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/project.py:\n\tAdded the options to build the bindings from a locally installed\n\tcopy of the library.\n\t[54094e26d201] <2.11-maint>\n\n2019-09-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-old.py, Python/configure.py, Python/project.py,\n\tdesigner-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro,\n\tqt/qscintilla.pro:\n\tRemoved the code to change the install_name on macOS.\n\t[c88922cb4dee] <2.11-maint>\n\n\t* Python/configure.py, qt/qscintilla.pro:\n\tFixed the install_name of the .dylib on macOS so that it is relative\n\tto @rpath.\n\t[010c78f5da88] <2.11-maint>\n\n\t* Python/config-tests/cfgtest_Qsci.cpp:\n\tFixed the configuration test.\n\t[c00c4195e8fc] <2.11-maint>\n\n\t* METADATA.in, Python/README, Python/config-tests/cfgtest_Qsci.cpp,\n\tPython/configure-old.py, Python/configure.py, Python/project.py,\n\tlib/README, lib/pyproject.toml, qt/qscintilla.pro:\n\tAdded support for sip-build.\n\t[20e39552153c] <2.11-maint>\n\n2019-08-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in, lib/README:\n\tUpdated the meta-data description.\n\t[7681c13103f2] <2.11-maint>\n\n2019-08-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in:\n\tUpdated the link to the docs for PyPI.\n\t[ab14aecc07de] <2.11-maint>\n\n2019-07-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexercss.cpp:\n\tFixed the styling of CSS comments.\n\t[9b2dd132b868] <2.11-maint>\n\n2019-06-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11.2 for changeset 9a9bab556970\n\t[e39e215312b4] <2.11-maint>\n\n\t* NEWS:\n\tReleased as v2.11.2.\n\t[9a9bab556970] [2.11.2] <2.11-maint>\n\n\t* qsci/api/python/Python-3.8.api:\n\tAdded the .api file for Python v3.8.\n\t[4bc9c6baa011] <2.11-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[38685401d592] <2.11-maint>\n\n2019-05-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tFixes to allow compilation with WASM.\n\t[71be3fd818c8] <2.11-maint>\n\n2019-05-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tFixed selection-related issues on macOS (and probably Windows)\n\ttriggered by the use of additional selections.\n\t[47aaec2fa37c] <2.11-maint>\n\n2019-05-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tQsciScintilla::findMatchingBrace() is now part of the public API.\n\t[b1973ad12f82] <2.11-maint>\n\n2019-03-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, qt/qsciscintilla.cpp:\n\tQsciScintilla::clear() now clears the undo history to be consistent\n\twith Qt and setText().\n\t[b013bbaed4a5] <2.11-maint>\n\n2019-02-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11.1 for changeset bebf741baff8\n\t[c09e91f304b8] <2.11-maint>\n\n\t* NEWS:\n\tReleased as v2.11.1.\n\t[bebf741baff8] [2.11.1] <2.11-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[9f2dd3438ac3] <2.11-maint>\n\n\t* Python/configure-old.py, Python/configure.py, designer-\n\tQt4Qt5/designer.pro, example-Qt4Qt5/application.pro,\n\tqt/qscintilla.pro:\n\tBumped the major version number of the library because of the\n\tSendScintilla() signature change.\n\t[c2fe34e11899] <2.11-maint>\n\n\t* Python/sip/qsciscintillabase.sip, qt/qscimacro.cpp,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tFixed a regression in QsciScintilla::insert(). The signature of\n\tQsciScintillaBase::SendScintilla(unigned int, unsigned long, const\n\tchar *) has changed so that the second argument is now uintptr_t.\n\tThis may require code changes.\n\t[b62eb7f29de4] <2.11-maint>\n\n2019-02-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[9768dbe05f64] <2.11-maint>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed the marginRightClicked() signal.\n\t[6a6efafbefd6] <2.11-maint>\n\n\t* qt/qscintilla.pro:\n\tBumped the library version number.\n\t[a4ee797a9df9] <2.11-maint>\n\n2019-02-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.11 for changeset 2610e30b0914\n\t[f83b4fbdd928]\n\n\t* NEWS:\n\tReleased as v2.11.\n\t[2610e30b0914] [2.11]\n\n2018-12-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in:\n\tCorrected the wheel meta-data version.\n\t[593a629d46f5]\n\n2018-12-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[992f3cb597c4]\n\n2018-11-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[f293bafecde8]\n\n2018-11-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.h:\n\tFixed the Linux build.\n\t[3ec0608d1744]\n\n\t* qt/SciClasses.cpp, qt/SciClasses.h:\n\tRemoved the redundant explicit handling of the Esc key in popup\n\tlists.\n\t[a3d596e37561]\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciScintilla::cancelFind().\n\t[520cda104a4b]\n\n2018-11-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded support for Cxx11 regular expressions to findFirst() and\n\tfindFirstInSelection().\n\t[9c022f775241]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded the remaining new API calls.\n\t[03f9682f7d6c]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tAdded the new wrap indent mode.\n\t[4a786cbfd975]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded the style metadata messages.\n\t[e3e38b577a1f]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded the SCN_AUTOCSELECTIONCHANGE() signal.\n\t[156c8e0c6fb7]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded the new SCN_USERLISTSELECTION() signal overload.\n\t[031270944f93]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qscilexer.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded the character/code unit functions.\n\t[ff2e92ed2890]\n\n\t* qt/qscilexer.cpp, qt/qscilexer.h, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp:\n\tDon't use the deprecated style bits API calls.\n\t[2d1cf2b1019f]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tAdded support for the new gradient indicators.\n\t[02e7b6ba2fdb]\n\n2018-11-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscilexerdiff.sip, qt/qscilexerdiff.cpp,\n\tqt/qscilexerdiff.h, qt/qscintilla_cs.ts, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts:\n\tUpdates to the diff lexer.\n\t[fb8a0cb48593]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded the symbolic names for the new lexers.\n\t[b8d4fab81221]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tImplemented the SCN_URIDROPPED signal.\n\t[242bb09d23ea]\n\n\t* qt/qsciscintillabase.h:\n\tDocumented SCN_DWELLSTART and SCN_DWELLEND.\n\t[8750296d855d]\n\n\t* qt/PlatQt.cpp:\n\tRemoved some unused platform methods.\n\t[70c01135aa8d]\n\n\t* qt/InputMethod.cpp, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp,\n\tqt/SciClasses.cpp, qt/SciNamespace.h, qt/ScintillaQt.cpp,\n\tqt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp:\n\tRemoved the support for the optional Scintilla namespace.\n\t[33998bb1d26a]\n\n2018-11-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* BACKPORTING, License.txt, LongTermDownload.html, NEWS, README,\n\tcheck.mak, checkdeps.mak, cocoa/InfoBar.mm, cocoa/PlatCocoa.h,\n\tcocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h,\n\tcocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm,\n\tcocoa/ScintillaFramework/Info.plist, cocoa/ScintillaFramework/Scinti\n\tllaFramework.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaView.mm, cppcheck.suppress, curses/Makefile,\n\tcurses/README.md, curses/ScintillaCurses.cxx,\n\tcurses/ScintillaCurses.h, curses/THANKS.md, curses/jinx/Makefile,\n\tcurses/jinx/jinx.c, delbin.bat, doc/Design.html, doc/LPegLexer.html,\n\tdoc/SciCoding.html, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/ScintillaToDo.html,\n\tdoc/StyleMetadata.html, doc/index.html, gtk/Converter.h,\n\tgtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/ScintillaGTK.h,\n\tgtk/ScintillaGTKAccessible.cxx, gtk/ScintillaGTKAccessible.h,\n\tgtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla-\n\tmarshal.h, gtk/scintilla-marshal.list, include/ILexer.h,\n\tinclude/ILoader.h, include/Platform.h, include/SciLexer.h,\n\tinclude/Sci_Position.h, include/Scintilla.h,\n\tinclude/Scintilla.iface, lexers/LexA68k.cxx, lexers/LexAPDL.cxx,\n\tlexers/LexASY.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx,\n\tlexers/LexAVS.cxx, lexers/LexAbaqus.cxx, lexers/LexAda.cxx,\n\tlexers/LexAsm.cxx, lexers/LexAsn1.cxx, lexers/LexBaan.cxx,\n\tlexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBatch.cxx,\n\tlexers/LexBibTeX.cxx, lexers/LexBullant.cxx, lexers/LexCLW.cxx,\n\tlexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexCSS.cxx,\n\tlexers/LexCaml.cxx, lexers/LexCmake.cxx, lexers/LexCoffeeScript.cxx,\n\tlexers/LexConf.cxx, lexers/LexCrontab.cxx, lexers/LexCsound.cxx,\n\tlexers/LexD.cxx, lexers/LexDMAP.cxx, lexers/LexDMIS.cxx,\n\tlexers/LexDiff.cxx, lexers/LexECL.cxx, lexers/LexEDIFACT.cxx,\n\tlexers/LexEScript.cxx, lexers/LexEiffel.cxx, lexers/LexErlang.cxx,\n\tlexers/LexErrorList.cxx, lexers/LexFlagship.cxx,\n\tlexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGAP.cxx,\n\tlexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx,\n\tlexers/LexHex.cxx, lexers/LexIndent.cxx, lexers/LexInno.cxx,\n\tlexers/LexJSON.cxx, lexers/LexKVIrc.cxx, lexers/LexKix.cxx,\n\tlexers/LexLPeg.cxx, lexers/LexLaTeX.cxx, lexers/LexLisp.cxx,\n\tlexers/LexLout.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx,\n\tlexers/LexMPT.cxx, lexers/LexMSSQL.cxx, lexers/LexMagik.cxx,\n\tlexers/LexMake.cxx, lexers/LexMarkdown.cxx, lexers/LexMatlab.cxx,\n\tlexers/LexMaxima.cxx, lexers/LexMetapost.cxx, lexers/LexModula.cxx,\n\tlexers/LexMySQL.cxx, lexers/LexNimrod.cxx, lexers/LexNsis.cxx,\n\tlexers/LexNull.cxx, lexers/LexOScript.cxx, lexers/LexOpal.cxx,\n\tlexers/LexPB.cxx, lexers/LexPLM.cxx, lexers/LexPO.cxx,\n\tlexers/LexPOV.cxx, lexers/LexPS.cxx, lexers/LexPascal.cxx,\n\tlexers/LexPerl.cxx, lexers/LexPowerPro.cxx,\n\tlexers/LexPowerShell.cxx, lexers/LexProgress.cxx,\n\tlexers/LexProps.cxx, lexers/LexPython.cxx, lexers/LexR.cxx,\n\tlexers/LexRebol.cxx, lexers/LexRegistry.cxx, lexers/LexRuby.cxx,\n\tlexers/LexRust.cxx, lexers/LexSAS.cxx, lexers/LexSML.cxx,\n\tlexers/LexSQL.cxx, lexers/LexSTTXT.cxx, lexers/LexScriptol.cxx,\n\tlexers/LexSmalltalk.cxx, lexers/LexSorcus.cxx,\n\tlexers/LexSpecman.cxx, lexers/LexSpice.cxx, lexers/LexStata.cxx,\n\tlexers/LexTACL.cxx, lexers/LexTADS3.cxx, lexers/LexTAL.cxx,\n\tlexers/LexTCL.cxx, lexers/LexTCMD.cxx, lexers/LexTeX.cxx,\n\tlexers/LexTxt2tags.cxx, lexers/LexVB.cxx, lexers/LexVHDL.cxx,\n\tlexers/LexVerilog.cxx, lexers/LexVisualProlog.cxx,\n\tlexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h,\n\tlexlib/CharacterCategory.cxx, lexlib/CharacterCategory.h,\n\tlexlib/CharacterSet.cxx, lexlib/CharacterSet.h,\n\tlexlib/DefaultLexer.cxx, lexlib/DefaultLexer.h,\n\tlexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerBase.h,\n\tlexlib/LexerModule.cxx, lexlib/LexerModule.h,\n\tlexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h,\n\tlexlib/LexerSimple.cxx, lexlib/LexerSimple.h, lexlib/OptionSet.h,\n\tlexlib/PropSetSimple.cxx, lexlib/PropSetSimple.h,\n\tlexlib/SparseState.h, lexlib/StringCopy.h, lexlib/StyleContext.cxx,\n\tlexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx,\n\tlexlib/WordList.h, lib/README.doc, qt/InputMethod.cpp,\n\tqt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp,\n\tqt/SciClasses.h, qt/SciNamespace.h, qt/ScintillaQt.cpp,\n\tqt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h, scripts/Face.py, scripts/FileGenerator.py,\n\tscripts/GenerateCaseConvert.py, scripts/HFacer.py,\n\tscripts/HeaderCheck.py, scripts/HeaderOrder.txt, scripts/LexGen.py,\n\tscripts/ScintillaData.py, src/AutoComplete.cxx, src/AutoComplete.h,\n\tsrc/CallTip.cxx, src/CallTip.h, src/CaseConvert.cxx,\n\tsrc/CaseConvert.h, src/CaseFolder.cxx, src/CaseFolder.h,\n\tsrc/Catalogue.cxx, src/Catalogue.h, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h,\n\tsrc/ContractionState.cxx, src/ContractionState.h, src/DBCS.cxx,\n\tsrc/DBCS.h, src/Decoration.cxx, src/Decoration.h, src/Document.cxx,\n\tsrc/Document.h, src/EditModel.cxx, src/EditModel.h,\n\tsrc/EditView.cxx, src/EditView.h, src/Editor.cxx, src/Editor.h,\n\tsrc/ElapsedPeriod.h, src/ExternalLexer.cxx, src/ExternalLexer.h,\n\tsrc/FontQuality.h, src/Indicator.cxx, src/Indicator.h,\n\tsrc/IntegerRectangle.h, src/KeyMap.cxx, src/KeyMap.h,\n\tsrc/LineMarker.cxx, src/LineMarker.h, src/MarginView.cxx,\n\tsrc/MarginView.h, src/Partitioning.h, src/PerLine.cxx,\n\tsrc/PerLine.h, src/Position.h, src/PositionCache.cxx,\n\tsrc/PositionCache.h, src/RESearch.cxx, src/RESearch.h,\n\tsrc/RunStyles.cxx, src/RunStyles.h, src/ScintillaBase.cxx,\n\tsrc/ScintillaBase.h, src/Selection.cxx, src/Selection.h,\n\tsrc/SparseVector.h, src/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/UniConversion.cxx, src/UniConversion.h, src/UnicodeFromUTF8.h,\n\tsrc/UniqueString.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx,\n\tsrc/XPM.h, test/README, test/ScintillaCallable.py, test/XiteWin.py,\n\ttest/lexTests.py, test/performanceTests.py, test/simpleTests.py,\n\ttest/test_lexlua.lua, test/unit/Sci.natvis,\n\ttest/unit/UnitTester.cxx, test/unit/UnitTester.vcxproj,\n\ttest/unit/catch.hpp, test/unit/makefile, test/unit/test.mak,\n\ttest/unit/testCellBuffer.cxx, test/unit/testCharClassify.cxx,\n\ttest/unit/testContractionState.cxx, test/unit/testDecoration.cxx,\n\ttest/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx,\n\ttest/unit/testSparseState.cxx, test/unit/testSparseVector.cxx,\n\ttest/unit/testSplitVector.cxx, test/unit/testUniConversion.cxx,\n\ttest/unit/testUnicodeFromUTF8.cxx, test/unit/testWordList.cxx,\n\ttest/unit/unitTest.cxx, version.txt, win32/CheckD2D.cxx,\n\twin32/HanjaDic.cxx, win32/HanjaDic.h, win32/PlatWin.cxx,\n\twin32/PlatWin.h, win32/SciLexer.vcxproj, win32/ScintRes.rc,\n\twin32/ScintillaDLL.cxx, win32/ScintillaWin.cxx,\n\twin32/ScintillaWin.h, win32/deps.mak, win32/makefile,\n\twin32/scintilla.mak:\n\tThe v3.10.1 based code will now build - otherwise untested.\n\t[cb6d486795ec]\n\n2018-11-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[a99dfcd91f84]\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_pt_br.ts:\n\tUpdated the translation files.\n\t[1529479f8a31]\n\n\t* Python/configure.py, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qscilexerpython.cpp,\n\tqt/qscintilla.pro, qt/qscintilla_cs.ts, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tMerged the 2.10-maint branch with the trunk.\n\t[5fcc66abfca0]\n\n2018-10-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.8 for changeset 57c8b6076899\n\t[b565980f962b] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.8.\n\t[57c8b6076899] [2.10.8] <2.10-maint>\n\n2018-09-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[345f597a4a90] <2.10-maint>\n\n2018-08-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciAccessibility.cpp:\n\tMore accessibility fixes.\n\t[2cc2d6865762] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/qscintilla.pro:\n\tRefactored the accessibility support to use less of the Qt stuff\n\twhich doesn't handle CR-LF end-of-lines.\n\t[8b2d6e3e73d8] <2.10-maint>\n\n2018-07-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[fc1deaccc716] <2.10-maint>\n\n2018-06-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.7 for changeset 60598a703fd4\n\t[8828f9ad7dc6] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.7.\n\t[60598a703fd4] [2.10.7] <2.10-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[92edf18019ec] <2.10-maint>\n\n2018-06-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip:\n\tTweaked the signature of the QscoScintillaBase::SCN_MACRORECORD()\n\tsignal so that it matches what Qt uses so that the signal test\n\tpasses.\n\t[bfcd9319329a] <2.10-maint>\n\n2018-06-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.6 for changeset dc0993c72a05\n\t[9c774d0a9694] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.6.\n\t[dc0993c72a05] [2.10.6] <2.10-maint>\n\n2018-06-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.5 for changeset f35b3a43a241\n\t[8cf5694ca328] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.5.\n\t[f35b3a43a241] [2.10.5] <2.10-maint>\n\n2018-06-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[12cb1a2f5ec6] <2.10-maint>\n\n2018-06-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscistyle.sip, qt/qscistyle.cpp, qt/qscistyle.h:\n\tAdded setStyle() to QsciStyle.\n\t[cf5281041224] <2.10-maint>\n\n2018-06-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[a479b9f5436f] <2.10-maint>\n\n2018-06-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm:\n\tUpdated German translations from Detlev.\n\t[f69379899fb3] <2.10-maint>\n\n2018-06-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/configure.py:\n\tImplemented support for the .dist-info directory.\n\t[387aa9bf6ad8] <2.10-maint>\n\n2018-06-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp,\n\tqt/ScintillaQt.cpp, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tFixes for font changes caused by dragging to a different display.\n\t[27b1f435e27a] <2.10-maint>\n\n2018-05-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tDisable to macOS use of integer font metrics for Qt5 as it is\n\t(probably) specific to Qt4.\n\t[c32fe0c4e55d] <2.10-maint>\n\n\t* qt/PlatQt.cpp:\n\tFixed cursor positioning when using a secondary display with\n\tdifferent scaling to the primary.\n\t[20420b7c4a4d] <2.10-maint>\n\n2018-05-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexerverilog.cpp:\n\tFix the handling of the 'fold.verilog.flags' property in the Verilog\n\tlexer.\n\t[9b698ba38c2b] <2.10-maint>\n\n2018-05-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexerverilog.cpp, qt/qscintilla_cs.ts, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts:\n\tAdded the missing descriptions of inactive styles in the Verilog\n\tlexer.\n\t[4be691232e03] <2.10-maint>\n\n2018-05-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexer.h:\n\tUpdated the QsciLexer::keywords() documentation to point out that\n\tsets are numbered from 1.\n\t[5954b91e7ec1] <2.10-maint>\n\n2018-04-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexeredifact.sip, qt/qscilexeredifact.cpp,\n\tqt/qscilexeredifact.h:\n\tAdded some default colours to the EDIFACT lexer.\n\t[175598286833] <2.10-maint>\n\n2018-04-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscilexeredifact.sip, qt/qscilexeredifact.cpp,\n\tqt/qscilexeredifact.h, qt/qscintilla.pro, qt/qscintilla_cs.ts,\n\tqt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_pt_br.ts:\n\tAdded the QsciLexerEDIFACT class.\n\t[c1e31857f3e7] <2.10-maint>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tIf the context menu is invoked when the cursor is outside the\n\tselection then the selection is cleared and the cursor moved to\n\twhere the mouse was clicked.\n\t[7d230dad9379] <2.10-maint>\n\n2018-04-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tControl-wheel up/down will now zoom in and out.\n\t[ba0049fe03b6] <2.10-maint>\n\n2018-04-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp, qt/qsciabstractapis.cpp, qt/qscilexerpython.cpp,\n\tqt/qscilexerxml.cpp, qt/qsciscintilla.cpp:\n\tRemoved warning messages about unused variables.\n\t[c2008ef93ee0] <2.10-maint>\n\n\t* qt/qscicommandset.cpp:\n\tFixed the saving of alternative keys in the settings.\n\t[687470e937c1] <2.10-maint>\n\n\t* qt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qsciscintilla.cpp:\n\tVarious stylistic changes to eliminate some warning messages.\n\t[dc753169870e] <2.10-maint>\n\n2018-04-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.4 for changeset 24cb0edc89a9\n\t[05ada666e2cf] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.4.\n\t[24cb0edc89a9] [2.10.4] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp:\n\tFixed the retrieval of accessibility attributes.\n\t[e430a7dd7818] <2.10-maint>\n\n2018-04-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexer.cpp:\n\tUse STYLE_MAX to define the maximum number of styles.\n\t[23ca0cad0227] <2.10-maint>\n\n2018-03-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro:\n\tForce QT_NO_ACCESSIBILITY when building against Qt4.\n\t[b65f48ec1852] <2.10-maint>\n\n2018-02-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.3 for changeset bc769d6fcf53\n\t[279625f1d8c9] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.3.\n\t[bc769d6fcf53] [2.10.3] <2.10-maint>\n\n\t* rb-product:\n\tUpdated the PyQt5 wheel dependency.\n\t[7cef6e297ddf] <2.10-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[1e073e29eca4] <2.10-maint>\n\n2018-02-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qsci/api/python/Python-3.7.api:\n\tAdded the API file for Python v3.70b1.\n\t[6d0032674462] <2.10-maint>\n\n2018-02-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFix the hotspot active background colour.\n\t[45cfd8c68394] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h:\n\tCompleted the accessibility support.\n\t[2af3a5b045fa] <2.10-maint>\n\n2018-02-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h:\n\tImplemented all of the accessible interface except for attributes().\n\t[434539a243dc] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp:\n\tImplemented more of the accessible interface.\n\t[e8f3df5442cc] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/ScintillaQt.cpp:\n\tImplemented more of the accessible interface.\n\t[fb26d9fdba27] <2.10-maint>\n\n2018-02-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.cpp:\n\tMore accessibility progress.\n\t[ea2432348b49] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/ScintillaQt.cpp:\n\tSome progress on accessibility.\n\t[055345b62d7b] <2.10-maint>\n\n\t* qt/qscintilla.pro:\n\tUpdated the version of the shared library.\n\t[fb50133f8770] <2.10-maint>\n\n2018-02-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp:\n\tAdded the stubs for accessibility support.\n\t[61e00a4f944f] <2.10-maint>\n\n\t* qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp:\n\tAdded the stubs for accessibility support.\n\t[8f2f20b663f1]\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts:\n\tUpdated the .ts files.\n\t[7630e7c16a42]\n\n\t* Python/sip/qscilexerpython.sip, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h:\n\tAdded the DoubleQuotedFString, SingleQuotedFString,\n\tTripleSingleQuotedFString and TripleDoubleQuotedFString styles to\n\tQsciLexerPython.\n\t[69a152791250]\n\n\t* Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciScintilla::setCaretLineFrameWidth().\n\t[61ed51375157]\n\n\t* Python/sip/qscicommand.sip:\n\tAdded ReverseLines to the Python bindings.\n\t[132758b054dc]\n\n\t* qt/qscicommand.h:\n\tAdded ReverseLines to QsciCommand::Command.\n\t[1cecbd08c177]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded SCLEX_INDENT, SCI_GETCARETLINEFRAME, SCI_SETCARETLINEFRAME,\n\tSCI_SETACCESSIBILITY, SCI_GETACCESSIBILITY and SCI_LINEREVERSE.\n\t[4a5c2bea7d34]\n\n2018-02-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-old.py, Python/configure.py, designer-\n\tQt4Qt5/designer.pro, example-Qt4Qt5/application.pro,\n\tqt/ScintillaQt.h, qt/qscintilla.pro:\n\tFixes to build with the latest code.\n\t[262ad022e5b6]\n\n\t* README, cocoa/InfoBar.mm, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm,\n\tcocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm,\n\tcocoa/ScintillaFramework/Info.plist, cocoa/ScintillaFramework/Scinti\n\tllaFramework.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaTest/AppController.h,\n\tcocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/English.lproj/MainMenu.xib,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaView.mm, cppcheck.suppress, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/ScintillaGTK.h,\n\tgtk/ScintillaGTKAccessible.cxx, gtk/ScintillaGTKAccessible.h,\n\tgtk/deps.mak, gtk/makefile, include/Platform.h, include/SciLexer.h,\n\tinclude/Scintilla.h, include/Scintilla.iface, lexers/LexAsm.cxx,\n\tlexers/LexBaan.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx,\n\tlexers/LexCPP.cxx, lexers/LexD.cxx, lexers/LexDMIS.cxx,\n\tlexers/LexDiff.cxx, lexers/LexEDIFACT.cxx, lexers/LexErrorList.cxx,\n\tlexers/LexFortran.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx,\n\tlexers/LexIndent.cxx, lexers/LexJSON.cxx, lexers/LexLaTeX.cxx,\n\tlexers/LexLua.cxx, lexers/LexMatlab.cxx, lexers/LexPerl.cxx,\n\tlexers/LexPowerShell.cxx, lexers/LexProgress.cxx,\n\tlexers/LexProps.cxx, lexers/LexPython.cxx, lexers/LexRegistry.cxx,\n\tlexers/LexRust.cxx, lexers/LexSQL.cxx, lexers/LexVHDL.cxx,\n\tlexers/LexVerilog.cxx, lexers/LexVisualProlog.cxx,\n\tlexers/LexYAML.cxx, lexlib/Accessor.cxx,\n\tlexlib/CharacterCategory.cxx, lexlib/CharacterCategory.h,\n\tlexlib/CharacterSet.cxx, lexlib/CharacterSet.h,\n\tlexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerModule.cxx,\n\tlexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx,\n\tlexlib/LexerSimple.cxx, lexlib/PropSetSimple.cxx,\n\tlexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/WordList.cxx,\n\tscripts/FileGenerator.py, scripts/HeaderOrder.txt,\n\tscripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx,\n\tsrc/AutoComplete.h, src/CallTip.cxx, src/CallTip.h,\n\tsrc/CaseConvert.cxx, src/CaseFolder.h, src/Catalogue.cxx,\n\tsrc/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx,\n\tsrc/CharClassify.h, src/ContractionState.cxx,\n\tsrc/ContractionState.h, src/Decoration.cxx, src/Decoration.h,\n\tsrc/Document.cxx, src/Document.h, src/EditModel.cxx,\n\tsrc/EditModel.h, src/EditView.cxx, src/EditView.h, src/Editor.cxx,\n\tsrc/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h,\n\tsrc/Indicator.cxx, src/KeyMap.cxx, src/LineMarker.cxx,\n\tsrc/LineMarker.h, src/MarginView.cxx, src/MarginView.h,\n\tsrc/Partitioning.h, src/PerLine.cxx, src/PerLine.h, src/Position.h,\n\tsrc/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx,\n\tsrc/RESearch.h, src/RunStyles.cxx, src/RunStyles.h,\n\tsrc/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx,\n\tsrc/Selection.h, src/SparseVector.h, src/SplitVector.h,\n\tsrc/Style.cxx, src/Style.h, src/UniConversion.cxx,\n\tsrc/UniConversion.h, src/UniqueString.h, src/ViewStyle.cxx,\n\tsrc/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/gi/Scintilla-\n\tfiltered.h, test/unit/testCellBuffer.cxx,\n\ttest/unit/testCharClassify.cxx, test/unit/testContractionState.cxx,\n\ttest/unit/testDecoration.cxx, test/unit/testPartitioning.cxx,\n\ttest/unit/testRunStyles.cxx, test/unit/testSparseState.cxx,\n\ttest/unit/testSparseVector.cxx, test/unit/testSplitVector.cxx,\n\ttest/unit/testUnicodeFromUTF8.cxx, version.txt, win32/HanjaDic.cxx,\n\twin32/PlatWin.cxx, win32/SciLexer.vcxproj, win32/ScintRes.rc,\n\twin32/ScintillaWin.cxx, win32/deps.mak, win32/makefile,\n\twin32/scintilla.mak:\n\tRebased on Scintilla v3.7.6.\n\t[4822c10e2b59]\n\n\t* Merged the 2.10-maint branch into the trunk.\n\t[64e6e4c3471d]\n\n2017-11-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.2 for changeset bdfb9584af36\n\t[d127fc44d4c4] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.2.\n\t[bdfb9584af36] [2.10.2] <2.10-maint>\n\n\t* qt/qscintilla.pro:\n\tBumed the .so minor version.\n\t[4bb28057d3c2] <2.10-maint>\n\n2017-11-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded setScrollWidth() , scrollWidth, setScrollWidthTracking() and\n\tscrollWidthTracking() to QsciScintilla.\n\t[c6e64e99cb12] <2.10-maint>\n\n2017-11-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed the handling of UTF8 call tips.\n\t[7aa9b863f330] <2.10-maint>\n\n2017-07-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro:\n\tFixed case sensitivity of a couple of file names.\n\t[e9d9b80fd61b] <2.10-maint>\n\n\t* .hgignore:\n\tIgnore the new-style build directory.\n\t[6c20c6b41705] <2.10-maint>\n\n2017-07-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10.1 for changeset 20e0e2d419ba\n\t[d6eba6c9e5ce] <2.10-maint>\n\n\t* NEWS:\n\tReleased as v2.10.1.\n\t[20e0e2d419ba] [2.10.1] <2.10-maint>\n\n\t* rb-product:\n\tUpdated the PyQt5 dependency to v5.9.\n\t[83200ee6b295] <2.10-maint>\n\n2017-05-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/README.doc:\n\tUpdated the docs regarding use of build options supported by\n\tScintilla.\n\t[fe6e73057d9e] <2.10-maint>\n\n2017-05-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexer.sip, Python/sip/qscilexeravs.sip,\n\tPython/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip,\n\tPython/sip/qscilexercoffeescript.sip, Python/sip/qscilexercpp.sip,\n\tPython/sip/qscilexercss.sip, Python/sip/qscilexerd.sip,\n\tPython/sip/qscilexerfortran77.sip, Python/sip/qscilexerhtml.sip,\n\tPython/sip/qscilexerlua.sip, Python/sip/qscilexerpascal.sip,\n\tPython/sip/qscilexerperl.sip, Python/sip/qscilexerpostscript.sip,\n\tPython/sip/qscilexerpov.sip, Python/sip/qscilexerpython.sip,\n\tPython/sip/qscilexerruby.sip, Python/sip/qscilexerspice.sip,\n\tPython/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip,\n\tPython/sip/qscilexerverilog.sip, Python/sip/qscilexervhdl.sip:\n\tAdded the lexer-specific re-implementations of previously internal\n\tmethods to the Python bindings.\n\t[e8402392cedc] <2.10-maint>\n\n2017-03-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro:\n\tEnabled explicit C++11 support for Linux for old versions of GCC.\n\t[e0e0b344ccf1] <2.10-maint>\n\n2017-03-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexer.cpp:\n\tChanged the default macOS font to Menlo 12pt as it has bold etc.\n\t[39d69e37d352] <2.10-maint>\n\n\t* qt/qscilexer.cpp:\n\tChanged the default font on macOS to Monaco 12pt.\n\t[9030535e2457] <2.10-maint>\n\n\t* Python/configure.py:\n\tFixed the rpath change of the Python bindings on macOS.\n\t[dd45e695812a] <2.10-maint>\n\n2017-02-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro:\n\tFixed the .pro file so that debug builds match the features file.\n\t[1aedd0c6eeda] <2.10-maint>\n\n2017-02-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.10 for changeset 6c07847b2835\n\t[2442f8d2df34]\n\n\t* NEWS:\n\tReleased as v2.10.\n\t[6c07847b2835] [2.10]\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_es.qm,\n\tqt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm:\n\tUpdated the .qm files.\n\t[3b3c5924e746]\n\n\t* qt/qscintilla_fr.ts:\n\tPartial updated French translations from Alan Garny.\n\t[ca2d6917015e]\n\n2017-02-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tAdded /Transfer/ to the scroll bar replacement functions.\n\t[49cf7181402a]\n\n2017-02-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[51cca6073075]\n\n2017-02-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[0e30abdd0907]\n\n2017-02-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro,\n\tqt/qscintilla.pro:\n\tRemoved the 'release' option from all CONFIG lines.\n\t[0901267a8e49]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded replaceHorizontalScrollBar() and replaceVerticalScrollBar() to\n\tQsciScintillaBase.\n\t[bb7efd26b8b3]\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts:\n\tUpdated the translation files.\n\t[76c23d751930]\n\n2017-01-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexermarkdown.sip, qt/qscilexerjson.cpp,\n\tqt/qscilexermarkdown.cpp, qt/qscilexermarkdown.h:\n\tUpdated the Markdown lexer with the latest settings from Detlev.\n\t[9e9992a4e9f7]\n\n2017-01-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciapis.cpp:\n\tFixed problems with auto-completion lists where contexts and image\n\tidentifiers were getting lost.\n\t[039599ba1b85]\n\n2017-01-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro:\n\tFixed the example and designer plugin .pro files for the change\n\tlibrary name.\n\t[d6c564089958]\n\n\t* lib/README.doc:\n\tUpdated website links to https.\n\t[18a7013d4f8b]\n\n\t* qt/qsciabstractapis.h, qt/qsciapis.h, qt/qscicommand.h,\n\tqt/qscicommandset.h, qt/qscidocument.h, qt/qsciglobal.h,\n\tqt/qscilexer.h, qt/qscilexeravs.h, qt/qscilexerbash.h,\n\tqt/qscilexerbatch.h, qt/qscilexercmake.h,\n\tqt/qscilexercoffeescript.h, qt/qscilexercpp.h, qt/qscilexercsharp.h,\n\tqt/qscilexercss.h, qt/qscilexercustom.h, qt/qscilexerd.h,\n\tqt/qscilexerdiff.h, qt/qscilexerfortran.h, qt/qscilexerfortran77.h,\n\tqt/qscilexerhtml.h, qt/qscilexeridl.h, qt/qscilexerjava.h,\n\tqt/qscilexerjavascript.h, qt/qscilexerjson.h, qt/qscilexerlua.h,\n\tqt/qscilexermakefile.h, qt/qscilexermarkdown.h,\n\tqt/qscilexermatlab.h, qt/qscilexeroctave.h, qt/qscilexerpascal.h,\n\tqt/qscilexerperl.h, qt/qscilexerpo.h, qt/qscilexerpostscript.h,\n\tqt/qscilexerpov.h, qt/qscilexerproperties.h, qt/qscilexerpython.h,\n\tqt/qscilexerruby.h, qt/qscilexerspice.h, qt/qscilexersql.h,\n\tqt/qscilexertcl.h, qt/qscilexertex.h, qt/qscilexerverilog.h,\n\tqt/qscilexervhdl.h, qt/qscilexerxml.h, qt/qscilexeryaml.h,\n\tqt/qscimacro.h, qt/qsciprinter.h, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h, qt/qscistyle.h, qt/qscistyledtext.h:\n\tRemoved all the __APPLE__ C++ linkages.\n\t[ecd39912cb9b]\n\n\t* NEWS, Python/sip/qscilexer.sip, qt/qscilexer.h:\n\tThe previously internal methods of QsciLexer are now part of the\n\tpublic API and are exposed to Python.\n\t[4791eae227c6]\n\n\t* NEWS, Python/configure.py, qt/features/qscintilla2.prf,\n\tqt/features_staticlib/qscintilla2.prf, qt/qscintilla.pro:\n\tThe name of the library now embeds the major version of Qt so that\n\tQt4 and Qt5 libraries can be installed in the same directory.\n\t[b501dcc67049]\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qscilexercustom.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tImplemented QscScintilla::bytes() and a corresponding text()\n\toverload mainly for the use of QsciLexerCustom::styleText()\n\timplementations.\n\t[ed7a5a072695]\n\n2017-01-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tUpdated the sub-class convertor code.\n\t[ee4e6efa0576]\n\n\t* NEWS, Python/sip/qscilexermarkdown.sip,\n\tPython/sip/qscimodcommon.sip, qt/qscilexermarkdown.cpp,\n\tqt/qscilexermarkdown.h, qt/qscintilla.pro:\n\tAdded the QsciLexerMarkdown class.\n\t[0b5e03e0b64f]\n\n2017-01-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscilexerjson.sip, Python/sip/qscimodcommon.sip,\n\tqt/qscilexerjson.cpp, qt/qscilexerjson.h, qt/qscintilla.pro:\n\tImplemented QsciLexerJSON.\n\t[bb5118a2b0cb]\n\n2017-01-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscilexercoffeescript.sip,\n\tqt/qscilexercoffeescript.cpp, qt/qscilexercoffeescript.h:\n\tAdded InstanceProperty to QsciLexerCoffeeScript.\n\t[2a6987f4c3c3]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tImplemented the new notifications.\n\t[12ba81979751]\n\n2017-01-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded the low-level popup options.\n\t[6a6fccaf8adf]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded support for multiple edge columns.\n\t[761b940d39c6]\n\n2017-01-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded the low-level idle styling support.\n\t[fe8c747abb81]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded the low-level support for fold text.\n\t[3afaaf7830c6]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tUpdates to the low-level target support.\n\t[709bfb578a28]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tAdded support for the additional indicators.\n\t[fb7bcbfc6c96]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded some more low-level constants.\n\t[d19d12e79c31]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded support for setting the margin background colour. Added\n\tsupport for setting the number of margins.\n\t[407db46c80a6]\n\n\t* qt/qscilexercustom.cpp, qt/qscilexercustom.h:\n\tFixed QsciLexerCustom::startStyling() now that the 2nd argument\n\tisn't used.\n\t[2d4cc3cdb123]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded support for visible whitespace in indentations only. Added\n\tsupport for tab drawing modes.\n\t[1ef385e510b8]\n\n\t* qt/InputMethod.cpp:\n\tUpdated the inputMethodEvent() implementation.\n\t[f0060458bd73]\n\n2017-01-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/InputMethod.cpp, qt/ScintillaQt.cpp, qt/ScintillaQt.h:\n\tFixed compilation bugs with SCI_NAMESPACE defined.\n\t[ef072ff5da5e]\n\n\t* lib/README.doc:\n\tMinor documentation updates.\n\t[f89ceb95b9c5]\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed compilation bugs.\n\t[8fdfb9bca00d]\n\n\t* CONTRIBUTING, Python/configure-old.py, Python/configure.py, README,\n\tcocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/Info.plist, cocoa/\n\tScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj, coc\n\toa/ScintillaFramework/ScintillaFramework.xcodeproj/project.xcworkspa\n\tce/contents.xcworkspacedata, cocoa/ScintillaFramework/ScintillaFrame\n\twork.xcodeproj/xcshareddata/xcschemes/Scintilla.xcscheme,\n\tcocoa/ScintillaFramework/module.modulemap,\n\tcocoa/ScintillaTest/AppController.h,\n\tcocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/English.lproj/MainMenu.xib,\n\tcocoa/ScintillaTest/Info.plist,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/S\n\tcintillaTest/ScintillaTest.xcodeproj/project.xcworkspace/contents.xc\n\tworkspacedata, cocoa/ScintillaView.h, cocoa/ScintillaView.mm,\n\tcocoa/checkbuildosx.sh, cppcheck.suppress, delcvs.bat, designer-\n\tQt4Qt5/designer.pro, doc/Design.html, doc/Icons.html, doc/Lexer.txt,\n\tdoc/Privacy.html, doc/SciCoding.html, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/ScintillaToDo.html,\n\tdoc/ScintillaUsage.html, doc/index.html, example-\n\tQt4Qt5/application.pro, gtk/Converter.h, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/ScintillaGTK.h,\n\tgtk/ScintillaGTKAccessible.cxx, gtk/ScintillaGTKAccessible.h,\n\tgtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla-\n\tmarshal.h, gtk/scintilla-marshal.list, include/ILexer.h,\n\tinclude/Platform.h, include/SciLexer.h, include/Sci_Position.h,\n\tinclude/Scintilla.h, include/Scintilla.iface,\n\tinclude/ScintillaWidget.h, lexers/LexA68k.cxx, lexers/LexAPDL.cxx,\n\tlexers/LexASY.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx,\n\tlexers/LexAVS.cxx, lexers/LexAbaqus.cxx, lexers/LexAda.cxx,\n\tlexers/LexAsm.cxx, lexers/LexAsn1.cxx, lexers/LexBaan.cxx,\n\tlexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBatch.cxx,\n\tlexers/LexBibTeX.cxx, lexers/LexBullant.cxx, lexers/LexCLW.cxx,\n\tlexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexCSS.cxx,\n\tlexers/LexCaml.cxx, lexers/LexCmake.cxx, lexers/LexCoffeeScript.cxx,\n\tlexers/LexConf.cxx, lexers/LexCrontab.cxx, lexers/LexCsound.cxx,\n\tlexers/LexD.cxx, lexers/LexDMAP.cxx, lexers/LexDMIS.cxx,\n\tlexers/LexDiff.cxx, lexers/LexECL.cxx, lexers/LexEDIFACT.cxx,\n\tlexers/LexEScript.cxx, lexers/LexEiffel.cxx, lexers/LexErlang.cxx,\n\tlexers/LexErrorList.cxx, lexers/LexFlagship.cxx,\n\tlexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGAP.cxx,\n\tlexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx,\n\tlexers/LexHex.cxx, lexers/LexInno.cxx, lexers/LexJSON.cxx,\n\tlexers/LexKVIrc.cxx, lexers/LexKix.cxx, lexers/LexLaTeX.cxx,\n\tlexers/LexLisp.cxx, lexers/LexLout.cxx, lexers/LexLua.cxx,\n\tlexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexMSSQL.cxx,\n\tlexers/LexMagik.cxx, lexers/LexMake.cxx, lexers/LexMarkdown.cxx,\n\tlexers/LexMatlab.cxx, lexers/LexMetapost.cxx, lexers/LexModula.cxx,\n\tlexers/LexMySQL.cxx, lexers/LexNimrod.cxx, lexers/LexNsis.cxx,\n\tlexers/LexNull.cxx, lexers/LexOScript.cxx, lexers/LexOpal.cxx,\n\tlexers/LexOthers.cxx, lexers/LexPB.cxx, lexers/LexPLM.cxx,\n\tlexers/LexPO.cxx, lexers/LexPOV.cxx, lexers/LexPS.cxx,\n\tlexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexPowerPro.cxx,\n\tlexers/LexPowerShell.cxx, lexers/LexProgress.cxx,\n\tlexers/LexProps.cxx, lexers/LexPython.cxx, lexers/LexR.cxx,\n\tlexers/LexRebol.cxx, lexers/LexRegistry.cxx, lexers/LexRuby.cxx,\n\tlexers/LexRust.cxx, lexers/LexSML.cxx, lexers/LexSQL.cxx,\n\tlexers/LexSTTXT.cxx, lexers/LexScriptol.cxx,\n\tlexers/LexSmalltalk.cxx, lexers/LexSorcus.cxx,\n\tlexers/LexSpecman.cxx, lexers/LexSpice.cxx, lexers/LexTACL.cxx,\n\tlexers/LexTADS3.cxx, lexers/LexTAL.cxx, lexers/LexTCL.cxx,\n\tlexers/LexTCMD.cxx, lexers/LexTeX.cxx, lexers/LexTxt2tags.cxx,\n\tlexers/LexVB.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx,\n\tlexers/LexVisualProlog.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx,\n\tlexlib/Accessor.h, lexlib/CharacterSet.cxx, lexlib/CharacterSet.h,\n\tlexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerBase.h,\n\tlexlib/LexerModule.cxx, lexlib/LexerModule.h,\n\tlexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h,\n\tlexlib/LexerSimple.cxx, lexlib/LexerSimple.h,\n\tlexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h,\n\tlexlib/WordList.cxx, lexlib/WordList.h, qt/qscintilla.pro,\n\tscripts/Face.py, scripts/FileGenerator.py,\n\tscripts/GenerateCaseConvert.py, scripts/HeaderCheck.py,\n\tscripts/HeaderOrder.txt, scripts/LexGen.py,\n\tscripts/ScintillaData.py, src/AutoComplete.cxx, src/CallTip.cxx,\n\tsrc/CaseConvert.cxx, src/CaseConvert.h, src/CaseFolder.cxx,\n\tsrc/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h,\n\tsrc/CharClassify.cxx, src/CharClassify.h, src/ContractionState.cxx,\n\tsrc/ContractionState.h, src/Decoration.cxx, src/Document.cxx,\n\tsrc/Document.h, src/EditModel.cxx, src/EditModel.h,\n\tsrc/EditView.cxx, src/EditView.h, src/Editor.cxx, src/Editor.h,\n\tsrc/ExternalLexer.cxx, src/Indicator.cxx, src/Indicator.h,\n\tsrc/KeyMap.cxx, src/KeyMap.h, src/LineMarker.cxx,\n\tsrc/MarginView.cxx, src/PerLine.cxx, src/Position.h,\n\tsrc/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx,\n\tsrc/RESearch.h, src/RunStyles.cxx, src/ScintillaBase.cxx,\n\tsrc/ScintillaBase.h, src/Selection.cxx, src/Selection.h,\n\tsrc/SparseVector.h, src/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx,\n\tsrc/ViewStyle.h, src/XPM.cxx, test/ScintillaCallable.py,\n\ttest/XiteQt.py, test/XiteWin.py, test/examples/perl-test-\n\t5220delta.pl, test/examples/perl-test-5220delta.pl.styled,\n\ttest/examples/perl-test-sub-prototypes.pl, test/examples/perl-test-\n\tsub-prototypes.pl.styled, test/gi/Scintilla-0.1.gir.good, test/gi\n\t/Scintilla-filtered.h, test/gi/filter-scintilla-h.py, test/gi/gi-\n\ttest.py, test/gi/makefile, test/lexTests.py, test/simpleTests.py,\n\ttest/unit/Sci.natvis, test/unit/UnitTester.cxx,\n\ttest/unit/UnitTester.vcxproj, test/unit/makefile,\n\ttest/unit/test.mak, test/unit/testCellBuffer.cxx,\n\ttest/unit/testContractionState.cxx, test/unit/testDecoration.cxx,\n\ttest/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx,\n\ttest/unit/testSparseState.cxx, test/unit/testSparseVector.cxx,\n\ttest/unit/testSplitVector.cxx, test/unit/testWordList.cxx,\n\tversion.txt, win32/HanjaDic.cxx, win32/HanjaDic.h,\n\twin32/PlatWin.cxx, win32/SciLexer.vcxproj, win32/ScintRes.rc,\n\twin32/ScintillaWin.cxx, win32/deps.mak, win32/makefile,\n\twin32/scintilla.mak:\n\tInitial merge of Scintilla v3.7.2.\n\t[abbfc844caaa]\n\n\t* lib/LICENSE.commercial.short, lib/LICENSE.gpl,\n\tlib/LICENSE.gpl.short:\n\tUpdated the copyright notices.\n\t[10d2ba70b9d0]\n\n\t* Makefile, build.py:\n\tMerged the v2.9 maintenance branch.\n\t[8c0c0a19a3c8]\n\n2016-12-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.9.4 for changeset 06e486532f86\n\t[a0e7ce41b57a] <2.9-maint>\n\n\t* NEWS:\n\tReleased as v2.9.4.\n\t[06e486532f86] [2.9.4] <2.9-maint>\n\n2016-12-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qsci/api/python/Python-3.6.api:\n\tAdded the .api file for Python v3.6.\n\t[4af5841ab5d2] <2.9-maint>\n\n2016-11-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tUpdated a comment to explain why setting custom scrollbars doesn't\n\twork.\n\t[757ca3bbc419] <2.9-maint>\n\n2016-10-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed configure.py for Python v2.\n\t[6d784269a812] <2.9-maint>\n\n2016-10-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscimod4.sip, Python/sip/qscimod5.sip:\n\tExplicitly %Import the QtCore module so that it is imported in the\n\t.pyi file.\n\t[fec61f546e2b] <2.9-maint>\n\n2016-09-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/README.doc:\n\tRemoved some (possibly out of date) information about installation\n\ton macOS.\n\t[c793591a8192] <2.9-maint>\n\n\t* qt/InputMethod.cpp:\n\tDisable the hack for handling null input method method events on\n\tWindows as there are reports that this breaks character composition.\n\t[42977285ae81] <2.9-maint>\n\n2016-09-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed a Qt warning about a too large red value in a QColor.\n\t[f9af82c24301] <2.9-maint>\n\n2016-09-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* rb-product:\n\tAdded the minimum PyQt5 wheel version to the product file.\n\t[11d2fb4dc51a] <2.9-maint>\n\n2016-09-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, rb-product:\n\tUpdated the handling of the minimum SIP version.\n\t[1e50ffa9dac1] <2.9-maint>\n\n2016-09-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscimod5.sip:\n\tThe limited API is now used for the Python bindings.\n\t[a2b8118a4483] <2.9-maint>\n\n2016-08-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, build.py:\n\tRemoved the old internal build system.\n\t[522e8b386eef] <2.9-maint>\n\n2016-07-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in:\n\tRemoved the Obsoletes tag from METADATA.\n\t[fbf9aa05d0b4] <2.9-maint>\n\n\t* .hgtags:\n\tAdded tag 2.9.3 for changeset 19c9752958b7\n\t[fb5cd006685f] <2.9-maint>\n\n\t* NEWS:\n\tReleased as v2.9.3.\n\t[19c9752958b7] [2.9.3] <2.9-maint>\n\n2016-07-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in:\n\tUpdated METADATA.\n\t[aa51b27d9baf] <2.9-maint>\n\n2016-06-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* build.py, lib/qscintilla.dxy:\n\tSimplify the generation of the doxygen documentation.\n\t[12575460cd55] <2.9-maint>\n\n\t* rb-product, rbproduct.py:\n\tReplaced the product plugin with a product file.\n\t[846ad54d791e] <2.9-maint>\n\n2016-06-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp, qt/qscintilla.pro:\n\tFixed a flicker problem on OS X.\n\t[c1482a759dc0] <2.9-maint>\n\n2016-05-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in, rbproduct.py:\n\tTry to prevent the GPL and commercial versions being installed at\n\tthe same time. (Although it doesn't seem to work.)\n\t[826424d291a2] <2.9-maint>\n\n\t* METADATA.in, rbproduct.py:\n\tConfigure the PKG-INFO meta-data according to the license.\n\t[e3243207aa15] <2.9-maint>\n\n2016-05-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* rbproduct.py:\n\tMore changes to the product plugin required by rbtools.\n\t[437e6032e4df] <2.9-maint>\n\n2016-05-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* rbproduct.py:\n\tUpdated the product plugin for the latest rbtools changes.\n\t[393cae59af91] <2.9-maint>\n\n2016-04-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* METADATA.in:\n\tUpdated the meta-data now that Linux wheels are available from PyPI.\n\t[40f18e066c6f] <2.9-maint>\n\n2016-04-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.9.2 for changeset 15888f3e91ce\n\t[5cd132938309] <2.9-maint>\n\n\t* NEWS:\n\tReleased as v2.9.2.\n\t[15888f3e91ce] [2.9.2] <2.9-maint>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tRemove all deprecated /DocType/ annotations.\n\t[b9d570ab642a] <2.9-maint>\n\n2016-04-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* rbproduct.py:\n\tLocate the static library on Windows.\n\t[dd8c14dace83] <2.9-maint>\n\n\t* rbproduct.py:\n\tFixed a typo.\n\t[baf5c942f528] <2.9-maint>\n\n\t* rbproduct.py:\n\tAdd any pre-installed .api files to the wheel.\n\t[cf7b6302ae83] <2.9-maint>\n\n\t* rbproduct.py:\n\tExploit verbose mode in the product plugin.\n\t[da743c037880] <2.9-maint>\n\n\t* rbproduct.py:\n\tFixed permissions of the product plugin.\n\t[6fac075e0b88] <2.9-maint>\n\n2016-04-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tUpdated the clean target.\n\t[692b14f48ade] <2.9-maint>\n\n\t* rbproduct.py:\n\tThe wheel now includes translations and API files.\n\t[bf911094e537] <2.9-maint>\n\n\t* METADATA.in, Makefile, Python/configure.py, build.py, rbproduct.py:\n\tAdded the initial support for creating wheels.\n\t[da0a5d22e864] <2.9-maint>\n\n\t* Makefile, build.py:\n\tAdded the --omit-license-tag option to build.py. Added the dist-\n\twheel-gpl target to the master Makefile.\n\t[a63c245de735] <2.9-maint>\n\n2016-04-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-old.py, Python/configure.py, build.py,\n\tqt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf,\n\tqt/qsciglobal.h, qt/qscintilla.pro:\n\tSymbols are now hidden if possible on all platforms. Improved the\n\thandling of QSCINTILLA_DLL so it should be completely automatic.\n\tRemoved the --no-dll option to configure.py.\n\t[e35caca29dd6] <2.9-maint>\n\n2016-03-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-old.py, build.py:\n\tUse the new naming standards for development versions.\n\t[21d2f882320a] <2.9-maint>\n\n2016-03-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, build.py:\n\tThe configure.py boilerplate code is applied automatically.\n\t[848f3fca41c0] <2.9-maint>\n\n2016-03-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tUpdated the configure.py boilerplate.\n\t[b3fd404a1134] <2.9-maint>\n\n2016-03-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tAdded support for PEP 484 stub files to configure.py.\n\t[9316fed27503] <2.9-maint>\n\n2015-12-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tSwitched the internal build system to Python v3.5.\n\t[5215e7f3116e] <2.9-maint>\n\n2015-10-28  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tHandle PATH components that are enclosed in quotes.\n\t[d0f19b69ce26] <2.9-maint>\n\n2015-10-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.9.1 for changeset 9bd39be91ef8\n\t[c71bd22d6ccf] <2.9-maint>\n\n\t* NEWS:\n\tReleased as v2.9.1.\n\t[9bd39be91ef8] [2.9.1] <2.9-maint>\n\n2015-10-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed the handling of the keypad modifier.\n\t[e363cc2c347f] <2.9-maint>\n\n2015-09-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qsci/api/python/Python-3.5.api:\n\tAdded the .api file for Python v3.5.\n\t[5b4e58de4663] <2.9-maint>\n\n2015-09-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip:\n\tFixed the Python binding for\n\tQsciAbstractAPIs::updateAutoCompletionList().\n\t[53f2939a3b29] <2.9-maint>\n\n2015-09-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tUse win32-msvc2015 for Python v3.5 and later.\n\t[2f264662e2c7] <2.9-maint>\n\n2015-09-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed the restyling of a document displayed in multiple editors.\n\t[9309f264ab57] <2.9-maint>\n\n2015-08-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro, qt/qsciscintilla.cpp:\n\tFixed a problem starting a call tip when the auto-completion list is\n\tdisplayed. Bumped the library version.\n\t[2ec2115ea4d2] <2.9-maint>\n\n2015-07-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* designer-Qt4Qt5/qscintillaplugin.h:\n\tFixed a warning message when compiling against Qt v5.5.0.\n\t[3ff05a0ef88d] <2.9-maint>\n\n2015-07-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tUpdate QMAKE_RPATHDIR rather than set it.\n\t[045c64a7e65c] <2.9-maint>\n\n2015-06-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tSet QMAKE_RPATHDIR for Qt v5.5 on OS X.\n\t[b83394e4a676] <2.9-maint>\n\n2015-05-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed the backstop handling in the Python bindings configuration\n\tscript and bumped the version number.\n\t[1ab1dd7ea495] <2.9-maint>\n\n2015-05-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro:\n\tUse QT_HOST_DATA for the .prf destination with Qt v5. Removed all Qt\n\tv3 support from the .pro file.\n\t[63c0391624a8] <2.9-maint>\n\n2015-04-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.9 for changeset 41ee8162fa81\n\t[9817b0a7a4f7]\n\n\t* NEWS:\n\tReleased as v2.9.\n\t[41ee8162fa81] [2.9]\n\n2015-04-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed a problem notifying when focus is lost to another application\n\twidget.\n\t[41734678234e]\n\n2015-04-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed a crash when deleting an instance.\n\t[eb936ad1f826]\n\n2015-04-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed a problem applying a lexer's styles that manifested itself by\n\tthe wrong style being applied to line numbers when using a custom\n\tlexer.\n\t[c91009909b8e]\n\n2015-04-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime.\n\t[d94218e7d47d]\n\n\t* qt/ScintillaQt.h:\n\tFixed some header file dependencies.\n\t[f246e863957f]\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm:\n\tUpdated German translations from Detlev.\n\t[01f3be277e14]\n\n2015-04-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts:\n\tUpdated the .ts translation files.\n\t[659fb035d1c4]\n\n2015-04-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciapis.cpp:\n\tFixed a problem displaying call-tips when auto-completion is\n\tenabled.\n\t[82ec45421a3d]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tExposed the remaining new features.\n\t[6e84b61268c5]\n\n2015-04-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tExposing new Scintilla functionality.\n\t[e0965dc46693]\n\n2015-03-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexerverilog.cpp, qt/qscilexerverilog.h:\n\tEnabled the new styling features of QsciLexerVerilog.\n\t[5be65189b15f]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h:\n\tCompleted the updates to QsciLexerCPP.\n\t[a8e24b727d82]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, Python/sip/qscilexersql.sip,\n\tPython/sip/qscilexerverilog.sip, Python/sip/qscilexervhdl.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h, qt/qscilexersql.cpp, qt/qscilexersql.h,\n\tqt/qscilexerverilog.cpp, qt/qscilexerverilog.h,\n\tqt/qscilexervhdl.cpp, qt/qscilexervhdl.h, qt/qsciscintillabase.h:\n\tUpdated existing lexers with new styles.\n\t[768f8ff280e1]\n\n2015-03-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciapis.cpp:\n\tMake sure call tips don't include image types.\n\t[d0830816cda4]\n\n\t* qt/ScintillaQt.cpp, qt/ScintillaQt.h:\n\tFixed the horizontal scrollbar issues, particularly with long lines.\n\t[db8501c0803f]\n\n2015-03-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp:\n\tUpdated the paste support.\n\t[42ad3657d52e]\n\n\t* qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp:\n\tAdded support for idle processing.\n\t[ff277e910df7]\n\n2015-03-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[64766fb4c800]\n\n\t* qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tAdd support for fine tickers.\n\t[3e9b89430dc0]\n\n2015-03-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip,\n\tPython/sip/qscicommandset.sip, Python/sip/qscilexer.sip,\n\tPython/sip/qscilexeravs.sip, Python/sip/qscilexerbash.sip,\n\tPython/sip/qscilexerbatch.sip, Python/sip/qscilexercmake.sip,\n\tPython/sip/qscilexercoffeescript.sip, Python/sip/qscilexercpp.sip,\n\tPython/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip,\n\tPython/sip/qscilexercustom.sip, Python/sip/qscilexerd.sip,\n\tPython/sip/qscilexerdiff.sip, Python/sip/qscilexerfortran.sip,\n\tPython/sip/qscilexerfortran77.sip, Python/sip/qscilexerhtml.sip,\n\tPython/sip/qscilexeridl.sip, Python/sip/qscilexerjava.sip,\n\tPython/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip,\n\tPython/sip/qscilexermakefile.sip, Python/sip/qscilexermatlab.sip,\n\tPython/sip/qscilexeroctave.sip, Python/sip/qscilexerpascal.sip,\n\tPython/sip/qscilexerperl.sip, Python/sip/qscilexerpo.sip,\n\tPython/sip/qscilexerpostscript.sip, Python/sip/qscilexerpov.sip,\n\tPython/sip/qscilexerproperties.sip, Python/sip/qscilexerpython.sip,\n\tPython/sip/qscilexerruby.sip, Python/sip/qscilexerspice.sip,\n\tPython/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip,\n\tPython/sip/qscilexertex.sip, Python/sip/qscilexerverilog.sip,\n\tPython/sip/qscilexervhdl.sip, Python/sip/qscilexerxml.sip,\n\tPython/sip/qscilexeryaml.sip, Python/sip/qscimacro.sip,\n\tPython/sip/qscimod3.sip, Python/sip/qscimod4.sip,\n\tPython/sip/qscimod5.sip, Python/sip/qscimodcommon.sip,\n\tPython/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip,\n\tbuild.py, designer-Qt3/designer.pro, designer-\n\tQt3/qscintillaplugin.cpp, example-Qt3/application.cpp, example-\n\tQt3/application.h, example-Qt3/application.pro, example-\n\tQt3/fileopen.xpm, example-Qt3/fileprint.xpm, example-\n\tQt3/filesave.xpm, example-Qt3/main.cpp, lib/README, lib/README.doc,\n\tlib/qscintilla.dxy, qt/InputMethod.cpp, qt/ListBoxQt.cpp,\n\tqt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciClasses.h,\n\tqt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciabstractapis.cpp,\n\tqt/qsciabstractapis.h, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qscicommandset.cpp, qt/qscicommandset.h, qt/qscilexer.cpp,\n\tqt/qscilexer.h, qt/qscilexeravs.cpp, qt/qscilexeravs.h,\n\tqt/qscilexerbash.cpp, qt/qscilexerbash.h, qt/qscilexerbatch.cpp,\n\tqt/qscilexerbatch.h, qt/qscilexercmake.cpp, qt/qscilexercmake.h,\n\tqt/qscilexercoffeescript.cpp, qt/qscilexercoffeescript.h,\n\tqt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.cpp,\n\tqt/qscilexercsharp.h, qt/qscilexercss.cpp, qt/qscilexercss.h,\n\tqt/qscilexercustom.cpp, qt/qscilexercustom.h, qt/qscilexerd.cpp,\n\tqt/qscilexerd.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h,\n\tqt/qscilexerfortran.cpp, qt/qscilexerfortran.h,\n\tqt/qscilexerfortran77.cpp, qt/qscilexerfortran77.h,\n\tqt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.cpp,\n\tqt/qscilexeridl.h, qt/qscilexerjava.cpp, qt/qscilexerjava.h,\n\tqt/qscilexerjavascript.cpp, qt/qscilexerjavascript.h,\n\tqt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexermakefile.cpp,\n\tqt/qscilexermakefile.h, qt/qscilexermatlab.cpp,\n\tqt/qscilexermatlab.h, qt/qscilexeroctave.cpp, qt/qscilexeroctave.h,\n\tqt/qscilexerpascal.cpp, qt/qscilexerpascal.h, qt/qscilexerperl.cpp,\n\tqt/qscilexerperl.h, qt/qscilexerpo.cpp, qt/qscilexerpo.h,\n\tqt/qscilexerpostscript.cpp, qt/qscilexerpostscript.h,\n\tqt/qscilexerpov.cpp, qt/qscilexerpov.h, qt/qscilexerproperties.cpp,\n\tqt/qscilexerproperties.h, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h,\n\tqt/qscilexerspice.cpp, qt/qscilexerspice.h, qt/qscilexersql.cpp,\n\tqt/qscilexersql.h, qt/qscilexertcl.cpp, qt/qscilexertcl.h,\n\tqt/qscilexertex.cpp, qt/qscilexertex.h, qt/qscilexerverilog.cpp,\n\tqt/qscilexerverilog.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h,\n\tqt/qscilexerxml.cpp, qt/qscilexerxml.h, qt/qscilexeryaml.cpp,\n\tqt/qscilexeryaml.h, qt/qscimacro.cpp, qt/qscimacro.h,\n\tqt/qsciprinter.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h, qt/qscistyle.cpp,\n\tqt/qscistyledtext.h:\n\tRemoved all support for Qt3 and PyQt3.\n\t[b33b2f06716e]\n\n\t* Python/configure-old.py, Python/configure.py, designer-\n\tQt4Qt5/designer.pro, example-Qt4Qt5/application.pro,\n\tqt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro:\n\tThe updated code now compiles.\n\t[35d05076c62f]\n\n\t* cocoa/InfoBar.h, cocoa/InfoBar.mm, cocoa/InfoBarCommunicator.h,\n\tcocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h,\n\tcocoa/QuartzTextStyle.h, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework\n\t.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.h,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaView.h, cocoa/ScintillaView.mm,\n\tcocoa/checkbuildosx.sh, cppcheck.suppress, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile,\n\tinclude/Platform.h, include/SciLexer.h, include/Scintilla.h,\n\tinclude/Scintilla.iface, lexers/LexAbaqus.cxx, lexers/LexAsm.cxx,\n\tlexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBibTeX.cxx,\n\tlexers/LexCPP.cxx, lexers/LexCmake.cxx, lexers/LexCoffeeScript.cxx,\n\tlexers/LexDMAP.cxx, lexers/LexDMIS.cxx, lexers/LexECL.cxx,\n\tlexers/LexEScript.cxx, lexers/LexForth.cxx, lexers/LexFortran.cxx,\n\tlexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx,\n\tlexers/LexHex.cxx, lexers/LexKix.cxx, lexers/LexLua.cxx,\n\tlexers/LexMarkdown.cxx, lexers/LexMatlab.cxx, lexers/LexModula.cxx,\n\tlexers/LexMySQL.cxx, lexers/LexOthers.cxx, lexers/LexPS.cxx,\n\tlexers/LexPerl.cxx, lexers/LexRegistry.cxx, lexers/LexRuby.cxx,\n\tlexers/LexRust.cxx, lexers/LexSQL.cxx, lexers/LexScriptol.cxx,\n\tlexers/LexSpecman.cxx, lexers/LexTCL.cxx, lexers/LexTCMD.cxx,\n\tlexers/LexTxt2tags.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx,\n\tlexers/LexVisualProlog.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h,\n\tlexlib/CharacterCategory.cxx, lexlib/CharacterSet.cxx,\n\tlexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerModule.cxx,\n\tlexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx,\n\tlexlib/LexerSimple.cxx, lexlib/LexerSimple.h,\n\tlexlib/PropSetSimple.cxx, lexlib/SparseState.h, lexlib/StringCopy.h,\n\tlexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h,\n\tlexlib/WordList.cxx, lexlib/WordList.h, lib/README.doc,\n\tqt/qscintilla.pro, scripts/GenerateCaseConvert.py,\n\tscripts/GenerateCharacterCategory.py, scripts/HFacer.py,\n\tscripts/HeaderOrder.txt, scripts/LexGen.py,\n\tscripts/ScintillaData.py, src/AutoComplete.cxx, src/AutoComplete.h,\n\tsrc/CallTip.cxx, src/CaseConvert.cxx, src/CaseFolder.cxx,\n\tsrc/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h,\n\tsrc/CharClassify.cxx, src/ContractionState.cxx,\n\tsrc/ContractionState.h, src/Decoration.cxx, src/Decoration.h,\n\tsrc/Document.cxx, src/Document.h, src/EditModel.cxx,\n\tsrc/EditModel.h, src/EditView.cxx, src/EditView.h, src/Editor.cxx,\n\tsrc/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h,\n\tsrc/FontQuality.h, src/Indicator.cxx, src/Indicator.h,\n\tsrc/KeyMap.cxx, src/KeyMap.h, src/LineMarker.cxx, src/LineMarker.h,\n\tsrc/MarginView.cxx, src/MarginView.h, src/Partitioning.h,\n\tsrc/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx,\n\tsrc/PositionCache.h, src/RESearch.cxx, src/RESearch.h,\n\tsrc/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx,\n\tsrc/Selection.h, src/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx,\n\tsrc/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/XiteQt.py,\n\ttest/XiteWin.py, test/lexTests.py, test/simpleTests.py,\n\ttest/unit/LICENSE_1_0.txt, test/unit/README,\n\ttest/unit/SciTE.properties, test/unit/catch.hpp, test/unit/makefile,\n\ttest/unit/test.mak, test/unit/testCellBuffer.cxx,\n\ttest/unit/testCharClassify.cxx, test/unit/testContractionState.cxx,\n\ttest/unit/testDecoration.cxx, test/unit/testPartitioning.cxx,\n\ttest/unit/testRunStyles.cxx, test/unit/testSparseState.cxx,\n\ttest/unit/testSplitVector.cxx, test/unit/testUnicodeFromUTF8.cxx,\n\ttest/unit/unitTest.cxx, version.txt, win32/HanjaDic.cxx,\n\twin32/HanjaDic.h, win32/PlatWin.cxx, win32/PlatWin.h,\n\twin32/SciLexer.vcxproj, win32/ScintRes.rc, win32/ScintillaWin.cxx,\n\twin32/deps.mak, win32/makefile, win32/scintilla.mak:\n\tAdded the initial import of Scintilla v3.5.4.\n\t[025db9484942]\n\n\t* lib/GPL_EXCEPTION.TXT, lib/GPL_EXCEPTION_ADDENDUM.TXT,\n\tlib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/OPENSOURCE-NOTICE.TXT,\n\tqt/qscintilla_ru.qm, qt/qscintilla_ru.ts:\n\tMerged the 2.8-maint branch into the default.\n\t[efe1067a091a]\n\n2015-03-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed QsciScintilla::clearMarginText().\n\t[885b972e38df] <2.8-maint>\n\n2015-02-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/configure.py:\n\tInstalling into a virtual env should now work. The internal build\n\tsystem supports sip5.\n\t[62d128cc92de] <2.8-maint>\n\n2015-02-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tUse sip5 if available.\n\t[6f5e4b0dae8f] <2.8-maint>\n\n2015-01-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, lib/LICENSE.commercial.short, lib/LICENSE.gpl,\n\tlib/LICENSE.gpl.short, qt/InputMethod.cpp:\n\tUpdated the copyright notices.\n\t[50b9b459dc48] <2.8-maint>\n\n\t* Python/configure-old.py:\n\tFixed configure-old.py for previews.\n\t[7ff9140391e4] <2.8-maint>\n\n2014-12-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* build.py, lib/LICENSE.GPL3, lib/LICENSE.commercial.short,\n\tlib/LICENSE.gpl, lib/LICENSE.gpl.short:\n\tMore license tweaks.\n\t[f3e84d697877] <2.8-maint>\n\n\t* build.py, lib/GPL_EXCEPTION.TXT, lib/GPL_EXCEPTION_ADDENDUM.TXT,\n\tlib/LICENSE.GPL2, lib/LICENSE.gpl.short, lib/OPENSOURCE-NOTICE.TXT,\n\tlib/README.doc:\n\tAligned the GPL licensing with Qt.\n\t[aa58ba575cac] <2.8-maint>\n\n2014-12-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/LICENSE.commercial:\n\tUpdated the commercial license to v4.0.\n\t[fd91beaa78dd] <2.8-maint>\n\n2014-11-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* build.py:\n\tA source package now includes a full ChangeLog.\n\t[ba92c1d5c839] <2.8-maint>\n\n2014-09-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.8.4 for changeset e18756e8cf86\n\t[e7f7a594518d] <2.8-maint>\n\n\t* .hgignore, NEWS:\n\tReleased as v2.8.4.\n\t[e18756e8cf86] [2.8.4] <2.8-maint>\n\n2014-09-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[e4e3562b54cb] <2.8-maint>\n\n2014-09-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip,\n\tqt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tAdded the missing SCI_SETHOTSPOTSINGLELINE to QsciScintillaBase.\n\tAdded resetHotspotForegroundColor(), resetHotspotBackgroundColor(),\n\tsetHotspotForegroundColor(), setHotspotBackgroundColor(),\n\tsetHotspotUnderline() and setHotspotWrap() to QsciScintilla.\n\t[2da018f7e48c] <2.8-maint>\n\n2014-07-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tAttempted to improve the auto-indentation behaviour so that the\n\tindentation of a line is maintained if a new line has been inserted\n\tabove by pressing enter at the start of the line.\n\t[aafc4a7247fb] <2.8-maint>\n\n2014-07-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed the installation of the .api file.\n\t[aae8494847ff] <2.8-maint>\n\n2014-07-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, designer-Qt4Qt5/designer.pro,\n\tqt/qscintilla.pro:\n\tFixes to work around QTBUG-39300. Fix when building with a\n\tconfiguration file.\n\t[1051e8c260fd] <2.8-maint>\n\n2014-07-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.8.3 for changeset e9cb8530f97f\n\t[bb531051c8f3] <2.8-maint>\n\n\t* NEWS:\n\tReleased as v2.8.3.\n\t[e9cb8530f97f] [2.8.3] <2.8-maint>\n\n2014-07-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed a cut-and-paste bug in configure.py.\n\t[5f7c4c6c9a29] <2.8-maint>\n\n\t* Python/configure.py:\n\tUpdated to the latest build system boilerplate.\n\t[ee0b9a647e7a] <2.8-maint>\n\n2014-06-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/configure.py:\n\tUpdates to the build system and the latest boilerplate configure.py.\n\t[8485111172c7] <2.8-maint>\n\n2014-06-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexercoffeescript.cpp, qt/qscintilla.pro,\n\tqt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.qm,\n\tqt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm, qt/qscintilla_ru.ts:\n\tUpdated CoffeeScript keywords and German translations from Detlev.\n\tUpdated Spanish translations from Jaime. Removed the Russian\n\ttranslations as none were current.\n\t[978fe16935c4] <2.8-maint>\n\n2014-06-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the translation source files.\n\t[440ab56f1863] <2.8-maint>\n\n2014-06-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexercoffeescript.sip, Python/sip/qscimodcommon.sip,\n\tPython/sip/qsciscintillabase.sip:\n\tAdded QsciLexerCoffeeScript to the Python bindings.\n\t[36a6e2123a69] <2.8-maint>\n\n\t* qt/qscilexercoffeescript.h:\n\tQsciLexerCoffeeScript property setters are no longer virtual slots.\n\t[eef97550eb16] <2.8-maint>\n\n\t* qt/qscilexercoffeescript.cpp, qt/qscilexercoffeescript.h,\n\tqt/qscintilla.pro:\n\tAdded the QsciLexerCoffeeScript class.\n\t[0cf56e9cd32a] <2.8-maint>\n\n2014-06-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixes for Python v2.6.\n\t[9b7b5393f228] <2.8-maint>\n\n2014-06-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed a regression in configure.py when using the -n or -o options.\n\t[f7b1c9821894] <2.8-maint>\n\n2014-05-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp, qt/qsciscintillabase.cpp:\n\tFixes for Qt3.\n\t[4d0a54024b52] <2.8-maint>\n\n\t* qt/PlatQt.cpp, qt/qscilexer.cpp, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qscistyle.cpp:\n\tFont sizes are now handled as floating point values rather than\n\tintegers.\n\t[ea017cc2b198] <2.8-maint>\n\n2014-05-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.8.2 for changeset 5aab3ae01e0e\n\t[6cc6eec7c440] <2.8-maint>\n\n\t* NEWS:\n\tReleased as v2.8.2.\n\t[5aab3ae01e0e] [2.8.2] <2.8-maint>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tUpdated the sub-class converter code.\n\t[9b276dae576d] <2.8-maint>\n\n\t* Makefile:\n\tInternal build system fixes.\n\t[b29b24829b0b] <2.8-maint>\n\n2014-05-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/configure.py:\n\tFixed some build regressions with PyQt4.\n\t[175b657ad031] <2.8-maint>\n\n2014-05-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tUpdates to the top-level Makefile for the latest Android tools.\n\t[405fb3eb5473] <2.8-maint>\n\n2014-05-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tAdded the PyQt4 against Qt5 on the iPhone simulator build target.\n\t[c31ae5795eec] <2.8-maint>\n\n2014-05-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/configure.py:\n\tUse the PyQt .sip files in sysroot when cross-compiling.\n\t[5d8e8b8ddfe5] <2.8-maint>\n\n\t* Makefile, Python/configure.py:\n\tReplaced pyqt_sip_flags with pyqt_disabled_features in the\n\tconfiguration file.\n\t[f209403c183b] <2.8-maint>\n\n2014-05-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/sip/qscimod5.sip:\n\tThe PyQt5 bindings now run on the iOS simulator.\n\t[056871b18335] <2.8-maint>\n\n\t* Makefile, Python/configure.py:\n\tBuilding the Python bindings for the iOS simulator now works.\n\t[9dfcea4447b8] <2.8-maint>\n\n\t* Makefile:\n\tUpdated the main Makefile for the Qt v5.2 iOS support.\n\t[a619fd411878] <2.8-maint>\n\n2014-05-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tDon't create the .api file if it isn't going to be installed.\n\t[79db1145e882] <2.8-maint>\n\n2014-05-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tAdded the --sysroot, --no-sip-files and --no-qsci-api options to\n\tconfigure.py.\n\t[10642d7deba9] <2.8-maint>\n\n2014-05-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tUpdated the internal build system for the combined iOS/Android Qt\n\tinstallation.\n\t[9097d3096b70] <2.8-maint>\n\n2014-05-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[d4f631ee3aaf] <2.8-maint>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[51350008c8a4] <2.8-maint>\n\n2014-04-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the .ts files.\n\t[4c5f88b22952] <2.8-maint>\n\n2014-04-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexerpo.sip, Python/sip/qscimodcommon.sip,\n\tqt/qscilexerpo.cpp, qt/qscilexerpo.h, qt/qscintilla.pro:\n\tAdded the QsciLexerPO class.\n\t[d42e44550d80] <2.8-maint>\n\n\t* Python/sip/qscilexeravs.sip, Python/sip/qscimodcommon.sip,\n\tqt/qscilexeravs.cpp, qt/qscilexeravs.h, qt/qscintilla.pro:\n\tAdded the QsciLexerAVS class.\n\t[ed6edb6ec205] <2.8-maint>\n\n2014-04-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixes for the refactored configure.py.\n\t[21b9fa66338e] <2.8-maint>\n\n\t* Python/configure.py:\n\tInitial refactoring of configure.py so that it is implemented as\n\tconfigurable (and reusable) boilerplate.\n\t[615d75a88db9] <2.8-maint>\n\n2014-04-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tsetEnabled() now implements the expected visual effects.\n\t[3e4254394b08] <2.8-maint>\n\n2014-03-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed the handling of the --pyqt-sip-flags option. Restored the\n\tspecification of the Python library directory for Windows.\n\t[3ea496d62b9f] <2.8-maint>\n\n\t* Python/configure.py, qt/features/qscintilla2.prf, qt/qscintilla.pro:\n\tAdded the --pyqt-sip-flags to configure.py to avoid having to\n\tintrospect PyQt. Fixed the .prf file for OS/X. Tweaks to\n\tconfigure.py so that a configuration file will use the same names as\n\tPyQt5.\n\t[77ff3a21d00a] <2.8-maint>\n\n2014-03-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, lib/README.doc, qt/qscintilla.pro:\n\tChanges to the .pro file to build a static library without having to\n\tedit it.\n\t[f82637449276] <2.8-maint>\n\n2014-03-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp, qt/qsciscintillabase.cpp:\n\tFixed building against Qt v5.0.x.\n\t[d68e28068b67] <2.8-maint>\n\n2014-03-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.8.1 for changeset 6bb7ab27c958\n\t[dfd473e8336b] <2.8-maint>\n\n\t* NEWS:\n\tReleased as v2.8.1.\n\t[6bb7ab27c958] [2.8.1] <2.8-maint>\n\n\t* qt/SciClasses.cpp:\n\tFixed the display of UTF-8 call tips.\n\t[3f0ca7ba60a0] <2.8-maint>\n\n2014-03-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qsci/api/python/Python-3.4.api:\n\tAdded the .api file for Python v3.4.\n\t[3db067b6dcec] <2.8-maint>\n\n2014-03-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tRevised attempt at the outline of alpha rectangles in case Qt ignore\n\tthe alpha of the pen.\n\t[86ab8898503e] <2.8-maint>\n\n\t* qt/PlatQt.cpp:\n\tFixed the setting of the pen when drawing alpha rectangles.\n\t[3f4ff2e8aca3] <2.8-maint>\n\n2014-02-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tThe Python module now has the correct install name on OS/X.\n\t[eec8c704418a] <2.8-maint>\n\n2014-02-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscicommand.cpp, qt/qscicommand.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tFixed a problem entering non-ASCII characters that clashed with\n\tScintilla's SCK_* values. Key_Enter, Key_Backtab, Key_Super_L,\n\tKey_Super_R and Key_Menu are now valid QsciCommand keys.\n\t[94aec4f075df] <2.8-maint>\n\n2014-01-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tMake sure the editor is active after a selection of a user list\n\tentry.\n\t[e0f2106777d0] <2.8-maint>\n\n2014-01-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciClasses.cpp:\n\tOn Linux, single clicking on an item in an auto-completion list now\n\tjust selects the itemm (rather than inserting the item) to be\n\tconsistent with other platforms.\n\t[d916bbbf6517] <2.8-maint>\n\n\t* qt/qsciscintillabase.cpp:\n\tFix the handling of the auto-completion list when losing focus.\n\t[a67b51ac8611] <2.8-maint>\n\n2014-01-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/InputMethod.cpp, qt/qsciscintillabase.cpp:\n\tFixed building against Qt4.\n\t[bf0a5f984fc1] <2.8-maint>\n\n2014-01-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[da2a76da712e] <2.8-maint>\n\n2014-01-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/InputMethod.cpp:\n\tAnother attempt to fix input events on losing focus.\n\t[6de3ab62fade] <2.8-maint>\n\n\t* lib/README.doc:\n\tAdded the qmake integration section to the docs.\n\t[2918e4760c36] <2.8-maint>\n\n2014-01-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tAdded Android to the internal build system.\n\t[3be74b3e89e9] <2.8-maint>\n\n2014-01-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/InputMethod.cpp, qt/qsciscintillabase.cpp:\n\tNewlines can now be entered on iOS.\n\t[8d23447dbd4d] <2.8-maint>\n\n2014-01-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/InputMethod.cpp:\n\tSee if we can detect a input methdo event generated when losing\n\tfocus and not to clear the selection.\n\t[8e4216289efe] <2.8-maint>\n\n2014-01-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciprinter.sip:\n\tThe Python bindings now respect the PyQt_Printer feature.\n\t[c3106f715803] <2.8-maint>\n\n2014-01-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tAdded support for software input panels with Qt v5.\n\t[d4499b61ff04] <2.8-maint>\n\n\t* qt/qsciscintilla.cpp:\n\tDisable input methods when read-only (rather than non-UTF8) to be\n\tconsistent with Qt.\n\t[f8817d4a47e3] <2.8-maint>\n\n\t* qt/qscintilla.pro, qt/qsciprinter.h:\n\tFixed the .pro file so that QT_NO_PRINTER is set properly and\n\tremoved the workaround.\n\t[b5a6709d814a] <2.8-maint>\n\n2014-01-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tFinally fixed buffered drawing on retina displays.\n\t[f8d23103df70] <2.8-maint>\n\n\t* qt/PlatQt.cpp, qt/qsciscintillabase.cpp:\n\tFixes for buffered drawing on retina displays. (Not yet correct, but\n\tclose.)\n\t[a3b36be44112] <2.8-maint>\n\n\t* Makefile:\n\tChanged the build system for the example on the iOS simulator so\n\tthat qmake is only used to generate the .xcodeproj file.\n\t[179dbf5ba385] <2.8-maint>\n\n\t* Makefile:\n\tAdded the building of the example to the main Makefile.\n\t[aec2ac3ac591] <2.8-maint>\n\n\t* Makefile:\n\tAdded iOS simulator targets to the build system.\n\t[72af8241b261] <2.8-maint>\n\n\t* Makefile, build.py, lib/LICENSE.GPL2, lib/LICENSE.GPL3,\n\tlib/LICENSE.commercial.short, lib/LICENSE.gpl.short,\n\tqt/InputMethod.cpp:\n\tUpdated copyright notices.\n\t[f21e016499fe] <2.8-maint>\n\n\t* qt/MacPasteboardMime.cpp, qt/qsciprinter.cpp, qt/qsciprinter.h,\n\tqt/qsciscintillabase.cpp:\n\tFixes for building for iOS.\n\t[46d25e648b4a] <2.8-maint>\n\n2013-12-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, build.py, designer-Qt4Qt5/designer.pro,\n\texample-Qt4Qt5/application.pro, lib/README.doc,\n\tqt/features/qscintilla2.prf, qt/qscintilla.pro:\n\tImplemented the qscintilla2.prf feature file and updated everything\n\tto use it.\n\t[c3bfef1a55ad] <2.8-maint>\n\n2013-12-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.h:\n\tAdded some additional header file dependencies.\n\t[7ec67eced9de] <2.8-maint>\n\n2013-12-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/MacPasteboardMime.cpp, qt/ScintillaQt.cpp:\n\tFixes for building against Qt3.\n\t[f25cbda736fd] <2.8-maint>\n\n2013-12-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro:\n\tUpdated the plugin and example .pro files to work around the qmake\n\tincompatibilities introduced in Qt v5.2.0.\n\t[a14729b2702d] <2.8-maint>\n\n2013-12-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed the previous fix.\n\t[6c322fa1b20f] <2.8-maint>\n\n2013-12-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp, qt/qsciscintillabase.cpp:\n\tBacked out the attempted fix for retina displays at it needs more\n\twork. As a workaround buffered writes are disabled if a retina\n\tdisplay is detected.\n\t[a1f648d1025e] <2.8-maint>\n\n2013-12-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro:\n\tEnabled exceptions in the .pro file.\n\t[6e07131f6741] <2.8-maint>\n\n2013-12-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tCreate pixmaps for buffered drawing using the same pixel ratio as\n\tthe actual device.\n\t[f4f706006071] <2.8-maint>\n\n2013-12-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexeroctave.cpp:\n\tUpdated the keywords defined for the Octave lexer.\n\t[9ccf1c74f266] <2.8-maint>\n\n2013-12-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp:\n\tMore scrollbar fixes.\n\t[194a2142c9b6] <2.8-maint>\n\n2013-12-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp, qt/qscintilla.pro:\n\tFixes to the scrollbar visibility handling.\n\t[5e8a96258ab0] <2.8-maint>\n\n2013-12-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tFixed the implementation of SurfaceImpl::LogPixelsY() (even though\n\tit is never called).\n\t[9ef0387cfc08] <2.8-maint>\n\n2013-11-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.8 for changeset 562785a5f685\n\t[fc52bfaa75c4]\n\n\t* NEWS:\n\tReleased as v2.8.\n\t[562785a5f685] [2.8]\n\n2013-11-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[e7a128a28157]\n\n2013-11-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qscilexerpascal.cpp, qt/qsciscintillabase.h:\n\tAdded support for the new v3.3.6 features to the low-level API.\n\t[e553c1263387]\n\n\t* Makefile, NEWS, cocoa/Framework.mk, cocoa/InfoBar.mm,\n\tcocoa/PlatCocoa.mm, cocoa/SciTest.mk, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework\n\t.xcodeproj/project.pbxproj, cocoa/ScintillaView.h,\n\tcocoa/ScintillaView.mm, cocoa/checkbuildosx.sh, cocoa/common.mk,\n\tdoc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/index.html, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/makefile, include/ILexer.h,\n\tinclude/Platform.h, include/SciLexer.h, include/Scintilla.h,\n\tinclude/Scintilla.iface, lexers/LexCPP.cxx,\n\tlexers/LexCoffeeScript.cxx, lexers/LexOthers.cxx,\n\tlexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexRust.cxx,\n\tlexers/LexSQL.cxx, lexers/LexVisualProlog.cxx,\n\tlexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx,\n\tlib/README.doc, qt/qscintilla.pro, src/Catalogue.cxx,\n\tsrc/Document.cxx, src/Editor.cxx, src/ScintillaBase.cxx,\n\tsrc/ScintillaBase.h, src/ViewStyle.cxx, src/ViewStyle.h,\n\ttest/XiteQt.py, test/simpleTests.py, version.txt, win32/PlatWin.cxx,\n\twin32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile,\n\twin32/scintilla.mak:\n\tMerged Scintilla v3.3.6.\n\t[ada0941dec52]\n\n2013-10-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[6c0af6af651c]\n\n\t* Makefile, build.py, qt/MacPasteboardMime.cpp, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp:\n\tReinstated support for rectangular selections on OS/X for Qt v5.2\n\tand later.\n\t[dbfdf7be4793]\n\n2013-10-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the translation source files.\n\t[7ed4bf7ed4e7]\n\n\t* qt/qscilexercpp.cpp:\n\tAdded missing descriptions to the C++ lexer settings.\n\t[55d7627bb129]\n\n2013-10-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro:\n\tFixed the building of the Designer plugin and the example for OS/X.\n\t[a67f71b06d3c]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/InputMethod.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded the remaining non-provisional Scintilla v3.3.5 features to the\n\tlow-level API.\n\t[4e8d0b46ebc0]\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the translation source files.\n\t[4beefc0d95ec]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, Python/sip/qsciscintillabase.sip,\n\tqt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qsciscintillabase.h:\n\tUpdated the lexers for Scintilla v3.3.5.\n\t[fc901a2a491f]\n\n2013-09-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-old.py, Python/configure.py, README,\n\tcocoa/InfoBar.mm, cocoa/PlatCocoa.mm, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework\n\t.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/English.lproj/MainMenu.xib,\n\tcocoa/ScintillaView.h, cocoa/ScintillaView.mm, cppcheck.suppress,\n\tdelbin.bat, designer-Qt4Qt5/designer.pro, doc/Lexer.txt,\n\tdoc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/ScintillaRelated.html,\n\tdoc/ScintillaToDo.html, doc/index.html, example-\n\tQt4Qt5/application.pro, gtk/Converter.h, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, include/Face.py,\n\tinclude/HFacer.py, include/ILexer.h, include/Platform.h,\n\tinclude/SciLexer.h, include/Scintilla.h, include/Scintilla.iface,\n\tlexers/LexA68k.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx,\n\tlexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexAsn1.cxx,\n\tlexers/LexBash.cxx, lexers/LexBullant.cxx, lexers/LexCOBOL.cxx,\n\tlexers/LexCPP.cxx, lexers/LexCoffeeScript.cxx, lexers/LexConf.cxx,\n\tlexers/LexCrontab.cxx, lexers/LexCsound.cxx, lexers/LexD.cxx,\n\tlexers/LexECL.cxx, lexers/LexForth.cxx, lexers/LexGAP.cxx,\n\tlexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx,\n\tlexers/LexInno.cxx, lexers/LexKVIrc.cxx, lexers/LexLaTeX.cxx,\n\tlexers/LexLisp.cxx, lexers/LexLout.cxx, lexers/LexLua.cxx,\n\tlexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexMSSQL.cxx,\n\tlexers/LexMatlab.cxx, lexers/LexModula.cxx, lexers/LexMySQL.cxx,\n\tlexers/LexNsis.cxx, lexers/LexOpal.cxx, lexers/LexOthers.cxx,\n\tlexers/LexPO.cxx, lexers/LexPerl.cxx, lexers/LexPowerShell.cxx,\n\tlexers/LexPython.cxx, lexers/LexR.cxx, lexers/LexRuby.cxx,\n\tlexers/LexSTTXT.cxx, lexers/LexScriptol.cxx, lexers/LexSpice.cxx,\n\tlexers/LexTCMD.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx,\n\tlexlib/Accessor.h, lexlib/CharacterCategory.cxx,\n\tlexlib/CharacterCategory.h, lexlib/CharacterSet.cxx,\n\tlexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerModule.cxx,\n\tlexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h,\n\tlexlib/LexerSimple.cxx, lexlib/OptionSet.h,\n\tlexlib/PropSetSimple.cxx, lexlib/PropSetSimple.h,\n\tlexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h,\n\tlexlib/WordList.cxx, lexlib/WordList.h, lib/README.doc,\n\tqt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp, scripts/Face.py, scripts/FileGenerator.py,\n\tscripts/GenerateCaseConvert.py,\n\tscripts/GenerateCharacterCategory.py, scripts/HFacer.py,\n\tscripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx,\n\tsrc/AutoComplete.h, src/CallTip.cxx, src/CallTip.h,\n\tsrc/CaseConvert.cxx, src/CaseConvert.h, src/CaseFolder.cxx,\n\tsrc/CaseFolder.h, src/Catalogue.cxx, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/ContractionState.cxx, src/Decoration.cxx,\n\tsrc/Decoration.h, src/Document.cxx, src/Document.h, src/Editor.cxx,\n\tsrc/Editor.h, src/ExternalLexer.cxx, src/FontQuality.h,\n\tsrc/Indicator.cxx, src/KeyMap.cxx, src/KeyMap.h, src/LexGen.py,\n\tsrc/LineMarker.cxx, src/LineMarker.h, src/Partitioning.h,\n\tsrc/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx,\n\tsrc/PositionCache.h, src/RESearch.cxx, src/RESearch.h,\n\tsrc/RunStyles.cxx, src/RunStyles.h, src/SVector.h,\n\tsrc/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx,\n\tsrc/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/UniConversion.cxx, src/UniConversion.h, src/UnicodeFromUTF8.h,\n\tsrc/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h,\n\ttest/README, test/ScintillaCallable.py, test/XiteQt.py,\n\ttest/XiteWin.py, test/examples/x.lua, test/examples/x.lua.styled,\n\ttest/examples/x.pl, test/examples/x.pl.styled, test/examples/x.rb,\n\ttest/examples/x.rb.styled, test/lexTests.py,\n\ttest/performanceTests.py, test/simpleTests.py,\n\ttest/unit/testCharClassify.cxx, test/unit/testContractionState.cxx,\n\ttest/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx,\n\ttest/unit/testSplitVector.cxx, version.txt, win32/PlatWin.cxx,\n\twin32/PlatWin.h, win32/ScintRes.rc, win32/ScintillaWin.cxx,\n\twin32/deps.mak, win32/makefile, win32/scintilla.mak,\n\twin32/scintilla_vc6.mak:\n\tInitial merge of Scintilla v3.3.5.\n\t[40933b62f5ed]\n\n2013-09-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-ng.py, Python/configure.py, designer-\n\tQt4/designer.pro, designer-Qt4/qscintillaplugin.cpp, designer-\n\tQt4/qscintillaplugin.h:\n\tMerged the 2.7-maint branch with the trunk.\n\t[7288d97c54b0]\n\n2013-08-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tFixed a missing const in the .sip files.\n\t[8b0425b87953] <2.7-maint>\n\n2013-06-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/configure-old.py, Python/configure.py,\n\tPython/sip/qsciscintillabase.sip, designer-Qt4Qt5/designer.pro,\n\texample-Qt4Qt5/application.pro, qt/InputMethod.cpp,\n\tqt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tAdded support for input methods.\n\t[b97af619044b] <2.7-maint>\n\n2013-06-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.7.2 for changeset 9ecd14550589\n\t[2b1f187f29c6] <2.7-maint>\n\n\t* NEWS:\n\tReleased as v2.7.2.\n\t[9ecd14550589] [2.7.2] <2.7-maint>\n\n2013-06-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed a configure.py bug.\n\t[cb062c6f9189] <2.7-maint>\n\n2013-05-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/configure.py:\n\tFixes for the PyQt5 support.\n\t[0714ef531ead] <2.7-maint>\n\n\t* Makefile, NEWS, Python/configure.py, Python/sip/qscimod5.sip,\n\tlib/README.doc:\n\tAdded support for building against PyQt5.\n\t[c982ff1b86f7] <2.7-maint>\n\n2013-05-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* build.py:\n\tChanged the format of the name of a snapshot to match other\n\tpackages.\n\t[d1f87bbc8377] <2.7-maint>\n\n2013-05-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tSignificantly improved the performance of measuring the width of\n\ttext so that very long lines (100,000 characters) can be handled.\n\t[5c88dc344f69] <2.7-maint>\n\n2013-04-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tconfigure.py now issues a more explicit error message if QtCore\n\tcannot be imported.\n\t[4d0097b1ff05] <2.7-maint>\n\n\t* Python/configure.py:\n\tFixed a qmake warning message from configure.py.\n\t[2363c96edeb0] <2.7-maint>\n\n2013-04-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tThe default EOL mode on OS/X is now EolUnix. Clarified the\n\tdocumentation for EolMode.\n\t[a436460d0300] <2.7-maint>\n\n2013-03-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFurther fixes for configure.py.\n\t[78fa6fef2c76] <2.7-maint>\n\n2013-03-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexer.h:\n\tClarified the description of QSciLexer::description().\n\t[688b482379e3] <2.7-maint>\n\n\t* Python/configure.py:\n\tFixed the last (trivial) change.\n\t[0a3494ba669a] <2.7-maint>\n\n2013-03-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tconfigure.py now gives the user more information about the copy of\n\tsip being used.\n\t[5c3be581d62b] <2.7-maint>\n\n2013-03-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tOn OS/X configure.py will explicitly set the qmake spec to macx-g++\n\t(Qt4) or macx-clang (Qt5) if the default might be macx-xcode. Added\n\tthe --spec option to configure.py.\n\t[36a9bf2fbebd] <2.7-maint>\n\n2013-03-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tMinor cosmetic tweaks to configure.py.\n\t[296cd10747b7] <2.7-maint>\n\n\t* qt/PlatQt.cpp, qt/SciClasses.cpp, qt/qscicommandset.cpp,\n\tqt/qscintilla.pro, qt/qsciscintillabase.cpp:\n\tRemoved the remaining uses of Q_WS_* for Qt v5.\n\t[7fafd5c09eea] <2.7-maint>\n\n2013-03-01  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.7.1 for changeset 2583dc3dbc8d\n\t[0674c291eab4] <2.7-maint>\n\n\t* NEWS:\n\tReleased as v2.7.1.\n\t[2583dc3dbc8d] [2.7.1] <2.7-maint>\n\n2013-02-28  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lexlib/CharacterSet.h:\n\tRe-applied a fix to the underlying code thay got lost when Scintilla\n\tv3.23 was merged.\n\t[ee9eeec7d796] <2.7-maint>\n\n2013-02-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciapis.cpp:\n\tA fix for the regression introduced with the previous fix.\n\t[154428cebb5e] <2.7-maint>\n\n2013-02-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, qt/qsciapis.cpp, qt/qscintilla.pro:\n\tFixed an autocompletion bug where there are entries Foo.* and\n\tFooBar.\n\t[620d72d86980] <2.7-maint>\n\n2013-02-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tconfigure.py fixes for Linux.\n\t[031b5b767926] <2.7-maint>\n\n\t* Python/configure.py:\n\tAdded the --sip-incdir and --pyqt-sipdir options to configure.py and\n\tother fixes for building on Windows.\n\t[517a3d0243fd] <2.7-maint>\n\n\t* Makefile, NEWS:\n\tUpdated the NEWS file.\n\t[eb00e08e1950] <2.7-maint>\n\n\t* Makefile, Python/configure.py:\n\tFixed configure.py for Qt5.\n\t[7ddb5bf2030c] <2.7-maint>\n\n\t* Python/configure-ng.py, Python/configure-old.py,\n\tPython/configure.py, build.py, lib/README.doc:\n\tCompleted configure-ng.py and renamed it configure.py. The old\n\tconfigure.py is now called configure-old.py.\n\t[8d58b2899080] <2.7-maint>\n\n2013-02-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-ng.py:\n\tconfigure-ng.py now uses -fno-exceptions on Linux and OS/X.\n\tconfigure-ng.py now hides unneeded symbols on Linux.\n\t[391e4f56b009] <2.7-maint>\n\n\t* Python/configure-ng.py:\n\tconfigure-ng.py will now install the .sip and .api files.\n\t[e228d58a670c] <2.7-maint>\n\n\t* Python/configure-ng.py:\n\tconfigure-ng.py will now create a Makefile that will build the\n\tPython module.\n\t[cb47ace62a70] <2.7-maint>\n\n2013-02-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciglobal.h:\n\tUse Q_OS_WIN for compatibility for Qt5.\n\t[da752cf4510a] <2.7-maint>\n\n2013-01-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro:\n\tUse macx rather than mac in the .pro files.\n\t[ee818a367df7] <2.7-maint>\n\n2012-12-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-ng.py, Python/configure.py, designer-\n\tQt4Qt5/designer.pro, example-Qt4Qt5/application.pro, lib/README.doc,\n\tqt/qscintilla.pro:\n\tVarious OS/X fixes so that setting DYLD_LIBRARY_PATH isn't\n\tnecessary.\n\t[e7854b8b01e3] <2.7-maint>\n\n2012-12-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* build.py, designer-Qt4/designer.pro, designer-\n\tQt4/qscintillaplugin.cpp, designer-Qt4/qscintillaplugin.h, designer-\n\tQt4Qt5/designer.pro, designer-Qt4Qt5/qscintillaplugin.cpp, designer-\n\tQt4Qt5/qscintillaplugin.h, lib/README.doc:\n\tUpdated the Designer plugin for Qt5.\n\t[77f575c87ebb] <2.7-maint>\n\n2012-12-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.7 for changeset 9bab1e7b02e3\n\t[5600138109ce]\n\n\t* NEWS:\n\tReleased as v2.7.\n\t[9bab1e7b02e3] [2.7]\n\n2012-12-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime.\n\t[b188c942422c]\n\n\t* NEWS:\n\tUpdated the NEWS file regarding Qt v5-rc1.\n\t[be9e6b928921]\n\n2012-12-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tA final(?) fix for scroll bars and annotations.\n\t[378f28e5b4b2]\n\n\t* Python/configure-ng.py:\n\tMore build system changes.\n\t[f53fc8743ff1]\n\n2012-11-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-ng.py:\n\tMore configure script changes.\n\t[434c9b3185a5]\n\n\t* Python/configure-ng.py:\n\tMore work on the new configure script.\n\t[3a044732b799]\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm,\n\tqt/qscintilla_ru.qm:\n\tUpdated German translations from Detlev.\n\t[9dab221845ca]\n\n2012-11-28  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure-ng.py, build.py:\n\tAdded the start of the SIP v5 compatible build script.\n\t[781d2af60cfc]\n\n2012-11-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tFixed the handling of the 'linux' platform in the Python bindings.\n\t[835d5e3be69e]\n\n2012-11-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tWorked around Scintilla bugs related to scroll bars and annotations.\n\t[edc190ecc6fc]\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the translation files.\n\t[ec754f87a735]\n\n\t* NEWS, Python/sip/qscilexercss.sip, qt/qscilexercss.cpp,\n\tqt/qscilexercss.h:\n\tUpdated the CSS lexer for Scintilla v3.23.\n\t[011fba6d668d]\n\n\t* qt/qscilexercpp.h:\n\tFixed a couple of documentation typos.\n\t[7c2d04c76bd6]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h:\n\tUpdated the C++ lexer for Scintilla v3.23.\n\t[ad93ee355639]\n\n2012-11-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h:\n\tUpdated the styles for the C++ lexer.\n\t[153429503998]\n\n2012-11-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/PlatQt.cpp,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded CallTipsPosition, callTipsPosition() and\n\tsetCallTipsPosition().\n\t[7e5602869fee]\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.h:\n\tAdded SquigglePixmapIndicator to QsciScintilla::IndicatorStyle.\n\t[ad98a5396151]\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded WrapFlagInMargin to QsciScintilla::WrapVisualFlag.\n\t[a38c75c45fb3]\n\n\t* NEWS, qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qscistyle.cpp:\n\tCreated a back door to pass the Qt weight of a font avoiding lossy\n\tconversions between Qt weights and Scintilla weights. The default\n\tbehaviour is now SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE which is a\n\tchange but reflects what people really expect.\n\t[78ce86e97ad3]\n\n2012-11-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tUpdated the constants from Scintilla v3.23.\n\t[a3a0768af999]\n\n\t* NEWS, Python/configure.py, include/Platform.h, lib/README.doc,\n\tqt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp,\n\tqt/ScintillaQt.cpp, qt/qscintilla.pro, src/ExternalLexer.h,\n\tsrc/XPM.cxx, src/XPM.h:\n\tUpdated the platform support so that it compiles (but untested).\n\t[abae8e56a6ea]\n\n2012-11-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* cocoa/InfoBar.h, cocoa/InfoBar.mm, cocoa/PlatCocoa.h,\n\tcocoa/PlatCocoa.mm, cocoa/QuartzTextStyle.h,\n\tcocoa/QuartzTextStyleAttribute.h, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm,\n\tcocoa/ScintillaFramework/English.lproj/InfoPlist.strings, cocoa/Scin\n\ttillaFramework/ScintillaFramework.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/English.lproj/InfoPlist.strings,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaView.h, cocoa/ScintillaView.mm,\n\tcocoa/checkbuildosx.sh, delbin.bat, delcvs.bat,\n\tdoc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/ScintillaRelated.html,\n\tdoc/ScintillaToDo.html, doc/annotations.png, doc/index.html,\n\tdoc/styledmargin.png, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx,\n\tgtk/makefile, include/Face.py, include/ILexer.h, include/Platform.h,\n\tinclude/SciLexer.h, include/Scintilla.h, include/Scintilla.iface,\n\tinclude/ScintillaWidget.h, lexers/LexAVS.cxx, lexers/LexAda.cxx,\n\tlexers/LexAsm.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx,\n\tlexers/LexCPP.cxx, lexers/LexCSS.cxx, lexers/LexCoffeeScript.cxx,\n\tlexers/LexD.cxx, lexers/LexECL.cxx, lexers/LexFortran.cxx,\n\tlexers/LexHTML.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx,\n\tlexers/LexMPT.cxx, lexers/LexNsis.cxx, lexers/LexOScript.cxx,\n\tlexers/LexOthers.cxx, lexers/LexPO.cxx, lexers/LexPascal.cxx,\n\tlexers/LexPerl.cxx, lexers/LexRuby.cxx, lexers/LexSQL.cxx,\n\tlexers/LexScriptol.cxx, lexers/LexSpice.cxx, lexers/LexTADS3.cxx,\n\tlexers/LexTCL.cxx, lexers/LexTCMD.cxx, lexers/LexVHDL.cxx,\n\tlexers/LexVisualProlog.cxx, lexers/LexYAML.cxx,\n\tlexlib/CharacterSet.h, lexlib/LexAccessor.h,\n\tlexlib/PropSetSimple.cxx, macosx/ExtInput.cxx, macosx/ExtInput.h,\n\tmacosx/PlatMacOSX.cxx, macosx/PlatMacOSX.h,\n\tmacosx/QuartzTextLayout.h, macosx/QuartzTextStyle.h,\n\tmacosx/QuartzTextStyleAttribute.h,\n\tmacosx/SciTest/English.lproj/InfoPlist.strings,\n\tmacosx/SciTest/English.lproj/main.xib, macosx/SciTest/Info.plist,\n\tmacosx/SciTest/SciTest.xcode/project.pbxproj,\n\tmacosx/SciTest/SciTest_Prefix.pch, macosx/SciTest/main.cpp,\n\tmacosx/SciTest/version.plist, macosx/ScintillaCallTip.cxx,\n\tmacosx/ScintillaCallTip.h, macosx/ScintillaListBox.cxx,\n\tmacosx/ScintillaListBox.h, macosx/ScintillaMacOSX.cxx,\n\tmacosx/ScintillaMacOSX.h, macosx/TCarbonEvent.cxx,\n\tmacosx/TCarbonEvent.h, macosx/TRect.h, macosx/TView.cxx,\n\tmacosx/TView.h, macosx/deps.mak, macosx/makefile,\n\tsrc/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx,\n\tsrc/CallTip.h, src/Catalogue.cxx, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h,\n\tsrc/Decoration.cxx, src/Document.cxx, src/Document.h,\n\tsrc/Editor.cxx, src/Editor.h, src/ExternalLexer.h,\n\tsrc/FontQuality.h, src/Indicator.cxx, src/Indicator.h,\n\tsrc/LexGen.py, src/LineMarker.cxx, src/LineMarker.h,\n\tsrc/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx,\n\tsrc/PositionCache.h, src/RESearch.cxx, src/RunStyles.cxx,\n\tsrc/SciTE.properties, src/ScintillaBase.cxx, src/ScintillaBase.h,\n\tsrc/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx,\n\tsrc/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/README,\n\ttest/examples/x.cxx, test/examples/x.cxx.styled, test/lexTests.py,\n\ttest/simpleTests.py, test/unit/makefile,\n\ttest/unit/testCharClassify.cxx, test/unit/testRunStyles.cxx, tgzsrc,\n\tversion.txt, win32/CheckD2D.cxx, win32/PlatWin.cxx, win32/PlatWin.h,\n\twin32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile,\n\twin32/scintilla.mak, win32/scintilla_vc6.mak, zipsrc.bat:\n\tInitial merge of Scintilla v3.23.\n\t[b116f361ac01]\n\n\t* example-Qt4/application.pro, example-Qt4/application.qrc, example-\n\tQt4/images/copy.png, example-Qt4/images/cut.png, example-\n\tQt4/images/new.png, example-Qt4/images/open.png, example-\n\tQt4/images/paste.png, example-Qt4/images/save.png, example-\n\tQt4/main.cpp, example-Qt4/mainwindow.cpp, example-Qt4/mainwindow.h:\n\tMerged the 2.6 maintenance branch with the trunk.\n\t[0bf4f7453c68]\n\n2012-11-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, example-Qt4Qt5/application.pro, qt/qsciscintillabase.cpp:\n\tFixed the linking of the example on OS/X.\n\t[e1d1f43fae71] <2.6-maint>\n\n2012-11-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, qt/PlatQt.cpp, qt/qscimacro.cpp, qt/qsciscintilla.cpp,\n\tqt/qscistyle.cpp:\n\tRemoved all calls that are deprecated in Qt5. The build system now\n\tsupports cross-compilation to the Raspberry Pi.\n\t[afef9d2b3ab1] <2.6-maint>\n\n2012-11-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexersql.h:\n\tAdded comments to the QsciLexerSQL documentation stating that\n\tadditional keywords must be defined using lower case.\n\t[79a9274b77c3] <2.6-maint>\n\n2012-10-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, lib/ed.py, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded a replace option to the test editor's find commands. Finished\n\timplementing findFirstInSelection().\n\t[80df6cc89bae] <2.6-maint>\n\n\t* lib/ed.py:\n\tAdded the Find, Find in Selection and Find Next actions to the test\n\teditor.\n\t[4aad56aedbea] <2.6-maint>\n\n2012-10-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/ed.py:\n\tAdded an internal copy of the hackable Python test editor.\n\t[a67a6fe99937] <2.6-maint>\n\n2012-09-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/gen_python3_api.py, qsci/api/python/Python-3.3.api:\n\tFixed the gen_python3_api.py script to be able to exclude module\n\thierachies. Added the API file for Python v3.3.\n\t[06bbb2d1c227] <2.6-maint>\n\n2012-09-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ListBoxQt.cpp:\n\tFixed a problem building against versions of Qt4 prior to v4.7.\n\t[7bf93d60a50b] <2.6-maint>\n\n2012-09-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded setOverwriteMode() and overwriteMode() to QsciScintilla.\n\t[1affc53d2d88] <2.6-maint>\n\n2012-09-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tDisable the use of QMacPasteboardMime for Qt v5-beta1.\n\t[a6625d5928c6] <2.6-maint>\n\n2012-08-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexerperl.cpp, qt/qscilexerperl.h:\n\tFixed auto-indentation for Perl.\n\t[5eb1d97f95d6] <2.6-maint>\n\n2012-08-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lexlib/CharacterSet.h:\n\tRemoved an incorrect assert() in the main Scintilla code.\n\t[1aaf5e09d4b2] <2.6-maint>\n\n2012-08-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded QsciScintilla::wordAtLineIndex().\n\t[0c5d77aef4f7] <2.6-maint>\n\n2012-07-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro, qt/qsciscintillabase.cpp:\n\tFixed key handling on Linux with US international layout which\n\tgenerates non-ASCII sequences for quote characters.\n\t[061ab2c5bea3] <2.6-maint>\n\n2012-06-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.6.2 for changeset f9d3d982c20f\n\t[a5bb033cd9e0] <2.6-maint>\n\n\t* NEWS:\n\tReleased as v2.6.2.\n\t[f9d3d982c20f] [2.6.2] <2.6-maint>\n\n2012-06-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed pasting of text in UTF8 mode (and hopefully Latin1 mode as\n\twell).\n\t[6df653daef18] <2.6-maint>\n\n\t* qt/qsciscintillabase.cpp:\n\tRectangular selections are now always encoded as plain/text with an\n\texplicit, and separate, marker to indicate that it is rectangular.\n\t[012a0b2ca89f] <2.6-maint>\n\n2012-06-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tUsed the Mac method of marking rectangular selections as the '\\0'\n\tScintilla hack just doesn't work with Qt.\n\t[75020a35b5eb] <2.6-maint>\n\n\t* qt/qscintilla.pro:\n\tBumped the library version number.\n\t[12f21729e254] <2.6-maint>\n\n2012-06-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tImproved the support for rectangular selections and the\n\tinteroperability with other Scintilla based editors.\n\t[a42942b57fb7] <2.6-maint>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed the middle button pasting of rectangular selections.\n\t[db58aa6c6d7d] <2.6-maint>\n\n\t* qt/qscidocument.cpp:\n\tFixed a bug that seemed to mean the initial EOL mode was always\n\tUNIX.\n\t[88561cd29a60] <2.6-maint>\n\n\t* qt/qsciscintillabase.cpp:\n\tLine endings are properly translated when dropping text.\n\t[d21994584e87] <2.6-maint>\n\n2012-06-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, qt/qsciprinter.h:\n\tThe Python bindings now build against Qt5.\n\t[ff2a74e5aec2] <2.6-maint>\n\n2012-04-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, NEWS, build.py, example-Qt4/application.pro, example-\n\tQt4/application.qrc, example-Qt4/images/copy.png, example-\n\tQt4/images/cut.png, example-Qt4/images/new.png, example-\n\tQt4/images/open.png, example-Qt4/images/paste.png, example-\n\tQt4/images/save.png, example-Qt4/main.cpp, example-\n\tQt4/mainwindow.cpp, example-Qt4/mainwindow.h, example-\n\tQt4Qt5/application.pro, example-Qt4Qt5/application.qrc, example-\n\tQt4Qt5/images/copy.png, example-Qt4Qt5/images/cut.png, example-\n\tQt4Qt5/images/new.png, example-Qt4Qt5/images/open.png, example-\n\tQt4Qt5/images/paste.png, example-Qt4Qt5/images/save.png, example-\n\tQt4Qt5/main.cpp, example-Qt4Qt5/mainwindow.cpp, example-\n\tQt4Qt5/mainwindow.h, lib/LICENSE.GPL2, lib/LICENSE.GPL3,\n\tlib/LICENSE.commercial.short, lib/LICENSE.gpl.short, lib/README,\n\tlib/README.doc, lib/qscintilla.dxy, qt/PlatQt.cpp,\n\tqt/qscintilla.pro:\n\tPorted to Qt v5.\n\t[ff3710487c3e] <2.6-maint>\n\n2012-04-02  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciapis.cpp:\n\tWorked around an obscure Qt (or compiler) bug when handling call\n\ttips.\n\t[e6c7edcfdfb9] <2.6-maint>\n\n2012-03-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexer.sip, Python/sip/qscilexerbash.sip,\n\tPython/sip/qscilexerbatch.sip, Python/sip/qscilexercpp.sip,\n\tPython/sip/qscilexercss.sip, Python/sip/qscilexerd.sip,\n\tPython/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip,\n\tPython/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip,\n\tPython/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip,\n\tPython/sip/qscilexertex.sip, Python/sip/qscilexerverilog.sip,\n\tqt/qscilexer.h, qt/qscilexerbash.h, qt/qscilexerbatch.h,\n\tqt/qscilexercpp.h, qt/qscilexercss.h, qt/qscilexerd.h,\n\tqt/qscilexerdiff.h, qt/qscilexerhtml.h, qt/qscilexermakefile.h,\n\tqt/qscilexerperl.h, qt/qscilexerpov.h, qt/qscilexerproperties.h,\n\tqt/qscilexertex.h, qt/qscilexerverilog.h:\n\tQSciLexer::wordCharacters() is now part of the public API.\n\t[933ef6a11ee6] <2.6-maint>\n\n2012-02-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexercpp.h:\n\tUpdated the documentation for QsciLexerCpp::keywords() so that it\n\tdescribes which sets are supported.\n\t[4e0cb0250dad] <2.6-maint>\n\n2012-02-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla.pro, src/Document.cxx:\n\tSome Scintilla fixes for the SCI_NAMESPACE support.\n\t[611ffd016585] <2.6-maint>\n\n2012-02-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.6.1 for changeset 47d8fdf44946\n\t[aa843f471972] <2.6-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file. Released as v2.6.1.\n\t[47d8fdf44946] [2.6.1] <2.6-maint>\n\n2012-01-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tDon't implement shortcut overrides for the standard context menu\n\tshortcuts. Instead leave it to the check against bound keys.\n\t[e8ccaf398640] <2.6-maint>\n\n2012-01-19  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciapis.cpp:\n\tAPIs now allow for whitespace between the end of a word and the\n\topening parenthesis of the argument list.\n\t[b09b25f38411] <2.6-maint>\n\n2012-01-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciClasses.cpp:\n\tFixed the handling of auto-completion lists on Windows.\n\t[131138b43c85] <2.6-maint>\n\n2011-12-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscicommandset.sip, qt/qscicommandset.cpp,\n\tqt/qscicommandset.h, qt/qscintilla.pro:\n\tImproved the Qt v3 port so that the signatures don't need to be\n\tchanged. Bumped the .so version number.\n\t[3171bb05b1d8] <2.6-maint>\n\n2011-12-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, NEWS, Python/sip/qscicommandset.sip, include/Platform.h,\n\tqt/ListBoxQt.cpp, qt/qscicommandset.cpp, qt/qscicommandset.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, src/XPM.cxx:\n\tFixed building against Qt v3.\n\t[74df75a62f5c] <2.6-maint>\n\n2011-11-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, include/Platform.h, qt/ListBoxQt.cpp, qt/ListBoxQt.h,\n\tqt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciClasses.h,\n\tqt/SciNamespace.h, qt/ScintillaQt.cpp, qt/ScintillaQt.h,\n\tqt/qscintilla.pro, qt/qsciscintilla.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded support for SCI_NAMESPACE to allow all internal Scintilla\n\tclasses to be placed in the Scintilla namespace.\n\t[ab7857131e35] <2.6-maint>\n\n2011-11-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.6 for changeset 8b119c4f69d0\n\t[1a5dd31e773e]\n\n\t* NEWS, lib/README.doc:\n\tUpdated the NEWS file. Updated the introductory documentation.\n\tReleased as v2.6.\n\t[8b119c4f69d0] [2.6]\n\n2011-11-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscicommandset.sip, Python/sip/qsciscintilla.sip,\n\tqt/qscicommandset.cpp, qt/qscicommandset.h, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciCommandSet::boundTo(). Ordinary keys and those bound to\n\tcommands now override any shortcuts.\n\t[ba98bc555aca]\n\n2011-10-28  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tMore updated German translations from Detlev.\n\t[9ff20df1997b]\n\n2011-10-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.qm,\n\tqt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm:\n\tUpdated Spanish translations from Jaime. Updated German translations\n\tfrom Detlev.\n\t[4903315d96b1]\n\n2011-10-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscicommand.sip:\n\tFixed SelectAll in the Python bindings.\n\t[b6f0a46e0eac]\n\n\t* qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp:\n\tFixed drag and drop (specifically so that copying works on OS/X\n\tagain).\n\t[6ab90cb63b2b]\n\n2011-10-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tFixed a display bug with kerned fonts.\n\t[a746e319d9cd]\n\n\t* qt/qsciscintilla.cpp:\n\tThe foreground and background colours of selected text are now taken\n\tfrom the application palette.\n\t[7f6c34ad8d27]\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[1717c6d59b12]\n\n\t* Python/sip/qsciscintilla.sip, qt/qscicommand.h,\n\tqt/qscicommandset.cpp, qt/qscintilla_cs.ts, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts,\n\tqt/qscintilla_ru.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tRenamed QsciCommand::SelectDocument to SelectAll. Added\n\tQsciScintilla::createStandardContextMenu().\n\t[c42fa7e83b07]\n\n2011-10-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the .ts files.\n\t[92d0b6ddf371]\n\n\t* qt/qscicommandset.cpp:\n\tCompleted the OS/X specific key bindings.\n\t[964fa889b807]\n\n2011-10-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscicommandset.cpp, qt/qsciscintillabase.cpp:\n\tFixed the support for SCMOD_META. Started to add the correct OS/X\n\tkey bindings as the default.\n\t[0073fa86a5a0]\n\n\t* Python/sip/qscicommand.sip, qt/qscicommand.h, qt/qscicommandset.cpp:\n\tAll available commands are now defined in the standard command set.\n\t[7c7b81b55f0e]\n\n\t* Python/sip/qscicommand.sip, qt/qscicommand.h:\n\tCompleted the QsciCommand::Command documentation. Added the members\n\tto QsciCommand.Command in the Python bindings.\n\t[0ca6ff576c21]\n\n2011-10-18  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscicommandset.sip, qt/qscicommand.h,\n\tqt/qscicommandset.cpp, qt/qscicommandset.h:\n\tAdded QsciCommandSet::find().\n\t[e75565018b90]\n\n\t* NEWS, Python/sip/qscicommand.sip, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qscicommand.cpp,\n\tqt/qscicommand.h, qt/qscicommandset.cpp, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded Command, command() and execute() to QsciCommand. Backed out\n\tthe high level support for moving the selection up and down.\n\t[4852ee57353e]\n\n2011-10-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexersql.cpp:\n\tFix for the changed fold at else property in the SQL lexer.\n\t[e65a458cd9d8]\n\n\t* NEWS, Python/sip/qscilexerpython.sip, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h:\n\tAdded highlightSubidentifiers() and setHighlightSubidentifiers() to\n\tthe Python lexer.\n\t[b397695bc2ab]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h:\n\tAdded support for triple quoted strings to the C++ lexer.\n\t[687d04948c5d]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded low level support for identifiers, scrolling to the start and\n\tend. Added low and hight level support for moving the selection up\n\tand down.\n\t[3ac1ccfad039]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded low and high level support for margin options.\n\t[f3cd3244cecd]\n\n2011-10-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tUpdated the brace matching support to handle indicators.\n\t[7e4a4d3529a8]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded SCI_SETEMPTYSELECTION.\n\t[879b97c676a4]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tUpdated the support for indicators.\n\t[b3643569a827]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded SCI_MARKERSETBACKSELECTED and SCI_MARKERENABLEHIGHLIGHT.\n\t[7127ee82d128]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded low and high-level support for RGBA images (ie. QImage).\n\t[7707052913ef]\n\n2011-10-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qscilexerlua.sip, qt/qscilexerlua.cpp,\n\tqt/qscilexerlua.h:\n\tUpdated the Lua lexer.\n\t[710e50d5692c]\n\n\t* NEWS, Python/sip/qscilexerperl.sip, qt/qscilexerperl.cpp,\n\tqt/qscilexerperl.h:\n\tUpdated the Perl lexer.\n\t[6d16e2e9354b]\n\n2011-10-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, cocoa/ScintillaCallTip.h,\n\tcocoa/ScintillaCallTip.mm, cocoa/ScintillaListBox.h,\n\tcocoa/ScintillaListBox.mm, cocoa/res/info_bar_bg.png,\n\tcocoa/res/mac_cursor_busy.png, cocoa/res/mac_cursor_flipped.png,\n\tmacosx/SciTest/English.lproj/InfoPlist.strings,\n\tmacosx/SciTest/English.lproj/main.nib/classes.nib,\n\tmacosx/SciTest/English.lproj/main.nib/info.nib,\n\tmacosx/SciTest/English.lproj/main.nib/objects.xib,\n\tmacosx/SciTest/English.lproj/main.xib, qt/ListBoxQt.cpp,\n\tqt/ListBoxQt.h, qt/PlatQt.cpp, qt/qscintilla.pro, src/XPM.cxx,\n\tsrc/XPM.h:\n\tSome fixes left over from the merge of v2.29. Added support for RGBA\n\timages so that the merged version compiles.\n\t[16c6831c337f]\n\n\t* cocoa/InfoBar.mm, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm,\n\tcocoa/QuartzTextLayout.h, cocoa/QuartzTextStyle.h,\n\tcocoa/QuartzTextStyleAttribute.h, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework\n\t.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaView.h, cocoa/ScintillaView.mm, doc/SciCoding.html,\n\tdoc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/ScintillaRelated.html,\n\tdoc/ScintillaToDo.html, doc/index.html, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/makefile, include/Platform.h,\n\tinclude/SciLexer.h, include/Scintilla.h, include/Scintilla.iface,\n\tlexers/LexAU3.cxx, lexers/LexCOBOL.cxx, lexers/LexCPP.cxx,\n\tlexers/LexConf.cxx, lexers/LexHTML.cxx, lexers/LexInno.cxx,\n\tlexers/LexLua.cxx, lexers/LexMagik.cxx, lexers/LexMarkdown.cxx,\n\tlexers/LexMatlab.cxx, lexers/LexModula.cxx, lexers/LexOthers.cxx,\n\tlexers/LexPerl.cxx, lexers/LexPowerPro.cxx, lexers/LexPython.cxx,\n\tlexers/LexSQL.cxx, lexers/LexTeX.cxx, lexers/LexVHDL.cxx,\n\tlexers/LexVerilog.cxx, lexlib/Accessor.cxx, lexlib/CharacterSet.h,\n\tlexlib/PropSetSimple.cxx, lexlib/SparseState.h,\n\tlexlib/StyleContext.h, lexlib/WordList.cxx, macosx/PlatMacOSX.cxx,\n\tmacosx/PlatMacOSX.h, macosx/SciTest/SciTest.xcode/project.pbxproj,\n\tmacosx/ScintillaMacOSX.h, macosx/makefile, src/CallTip.cxx,\n\tsrc/ContractionState.cxx, src/ContractionState.h,\n\tsrc/Decoration.cxx, src/Document.cxx, src/Document.h,\n\tsrc/Editor.cxx, src/Editor.h, src/Indicator.cxx, src/Indicator.h,\n\tsrc/KeyMap.cxx, src/KeyMap.h, src/LexGen.py, src/LineMarker.cxx,\n\tsrc/LineMarker.h, src/PerLine.cxx, src/PositionCache.cxx,\n\tsrc/PositionCache.h, src/RESearch.cxx, src/RunStyles.cxx,\n\tsrc/RunStyles.h, src/ScintillaBase.cxx, src/Style.cxx, src/Style.h,\n\tsrc/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h,\n\ttest/XiteMenu.py, test/XiteWin.py, test/examples/x.html,\n\ttest/examples/x.html.styled, test/performanceTests.py,\n\ttest/simpleTests.py, test/unit/testContractionState.cxx,\n\ttest/unit/testRunStyles.cxx, version.txt, win32/PlatWin.cxx,\n\twin32/ScintRes.rc, win32/ScintillaWin.cxx, win32/scintilla.mak:\n\tMerged Scintilla v2.29.\n\t[750c2c3cef72]\n\n\t* Merged the v2.5 maintenance branch back into the trunk.\n\t[eab39863675f]\n\n2011-06-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexer.cpp, qt/qscilexerbash.cpp, qt/qscilexerbatch.cpp,\n\tqt/qscilexercmake.cpp, qt/qscilexercpp.cpp, qt/qscilexercsharp.cpp,\n\tqt/qscilexercss.cpp, qt/qscilexerd.cpp, qt/qscilexerfortran77.cpp,\n\tqt/qscilexerhtml.cpp, qt/qscilexerjavascript.cpp,\n\tqt/qscilexerlua.cpp, qt/qscilexermakefile.cpp,\n\tqt/qscilexermatlab.cpp, qt/qscilexerpascal.cpp,\n\tqt/qscilexerperl.cpp, qt/qscilexerpostscript.cpp,\n\tqt/qscilexerpov.cpp, qt/qscilexerproperties.cpp,\n\tqt/qscilexerpython.cpp, qt/qscilexerruby.cpp, qt/qscilexerspice.cpp,\n\tqt/qscilexersql.cpp, qt/qscilexertcl.cpp, qt/qscilexerverilog.cpp,\n\tqt/qscilexervhdl.cpp, qt/qscilexerxml.cpp, qt/qscilexeryaml.cpp:\n\tChanged the default fonts for MacOS so that they are larger and\n\tsimilar to the Windows defaults.\n\t[9c37c180ba8d] <2.5-maint>\n\n\t* build.py:\n\tFixed the build system for MacOS as the development platform.\n\t[3352479980c5] <2.5-maint>\n\n2011-05-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/README.doc:\n\tUpdated the licensing information in the main documentation.\n\t[d31c561e0b7c] <2.5-maint>\n\n\t* lib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/LICENSE.gpl.short:\n\tRemoved some out of date links from the license information. Updated\n\tthe dates of some copyright notices.\n\t[a84451464396] <2.5-maint>\n\n2011-05-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded the optional posix flag to QsciScintilla::findFirst().\n\t[ad6064227d06] <2.5-maint>\n\n2011-04-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, qt/qscintilla.pro, qt/qsciscintilla.cpp,\n\tqt/qscistyle.cpp, qt/qscistyle.h, qt/qscistyledtext.cpp,\n\tqt/qscistyledtext.h:\n\tFixed problems with QsciStyle and QsciStyledText when used with more\n\tthan one QsciScintilla instance.\n\t[8bac389fb7ae] <2.5-maint>\n\n2011-04-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciglobal.h:\n\tChanged the handling of QT_BEGIN_NAMESPACE etc. as it isn't defined\n\tin early versions of Qt v4.\n\t[595c8c6cdfd2] <2.5-maint>\n\n2011-04-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.5.1 for changeset c8648c2c0c7f\n\t[298153b3d40e] <2.5-maint>\n\n\t* NEWS:\n\tReleased as v2.5.1.\n\t[c8648c2c0c7f] [2.5.1] <2.5-maint>\n\n2011-04-16  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.ts, qt/qscintilla_es.ts:\n\tUpdated translations from Detlev and Jaime.\n\t[9436bea546c9] <2.5-maint>\n\n2011-04-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_es.qm,\n\tqt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm:\n\tUpdated the compiled translation files.\n\t[c5d39aca8f51] <2.5-maint>\n\n2011-04-13  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qscilexermatlab.sip, Python/sip/qscilexeroctave.sip,\n\tPython/sip/qscimodcommon.sip:\n\tAdded Python bindings for QsciLexerMatlab abd QsciLexerOctave.\n\t[22d0ed0fab2a] <2.5-maint>\n\n\t* NEWS, qt/qscilexermatlab.cpp, qt/qscilexermatlab.h,\n\tqt/qscilexeroctave.cpp, qt/qscilexeroctave.h, qt/qscintilla.pro,\n\tqt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tAdded QsciLexerMatlab and QsciLexerOctave.\n\t[40d3053334de] <2.5-maint>\n\n2011-04-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Merged the font strategy fix from the trunk.\n\t[d270e1b107d2] <2.5-maint>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[8f32ff4cdd1f] <2.5-maint>\n\n2011-04-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp, qt/qscintilla.pro:\n\tFixed the handling of the font quality setting so that the default\n\tbehavior (particularly on Windows) is the same as earlier versions.\n\t[87ae98d2674b]\n\n2011-03-29  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.5 for changeset 9d94a76f783e\n\t[e4807fd91f6c]\n\n\t* NEWS:\n\tReleased as v2.5.\n\t[9d94a76f783e] [2.5]\n\n2011-03-28  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/configure.py:\n\tAdded support for the protected-is-public hack to configure.py.\n\t[beee52b8e10a]\n\n2011-03-27  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp:\n\tFixed an OS/X build problem.\n\t[ac7f1d3c9abe]\n\n2011-03-26  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded replaceSelectedText() to QsciScintilla.\n\t[3c00a19d6571]\n\n2011-03-25  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, Python/sip/qsciapis.sip,\n\tPython/sip/qscilexer.sip, Python/sip/qscilexercustom.sip,\n\tPython/sip/qscimod4.sip, Python/sip/qsciprinter.sip,\n\tPython/sip/qsciscintilla.sip, Python/sip/qscistyle.sip,\n\tqt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexercustom.cpp,\n\tqt/qscilexercustom.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qscistyle.cpp, qt/qscistyle.h:\n\tWent through the API making sure all optional arguments had\n\tconsistent and meaningful names. Enabled keyword support in the\n\tPython bindings.\n\t[d60fa45e40b7]\n\n2011-03-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm,\n\tqt/qscintilla_es.ts:\n\tUpdated German translations from Detlev. Updated Spanish\n\ttranslations from Jaime.\n\t[f64c97749375]\n\n2011-03-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lexers/LexModula.cxx, lexlib/SparseState.h, qt/qscintilla_cs.ts,\n\tqt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts,\n\ttest/unit/testSparseState.cxx, vcbuild/SciLexer.dsp:\n\tUpdated the translation files. Updated the repository for the new\n\tand removed Scintilla v2.25 files.\n\t[6eb77ba7c57c]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, Python/sip/qsciscintillabase.sip,\n\tqt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.h:\n\tAdded support for raw string to the C++ lexer.\n\t[f83112ced877]\n\n\t* NEWS, cocoa/Framework.mk, cocoa/PlatCocoa.mm,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework\n\t.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaView.h, cocoa/ScintillaView.mm,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx,\n\tgtk/makefile, include/Platform.h, include/SciLexer.h,\n\tinclude/Scintilla.iface, lexers/LexAsm.cxx, lexers/LexBasic.cxx,\n\tlexers/LexCPP.cxx, lexers/LexD.cxx, lexers/LexFortran.cxx,\n\tlexers/LexOthers.cxx, lexlib/CharacterSet.h, lib/README.doc,\n\tmacosx/SciTest/main.cpp, src/AutoComplete.cxx, src/Catalogue.cxx,\n\tsrc/Document.cxx, src/Editor.cxx, src/LexGen.py, test/unit/makefile,\n\tversion.txt, win32/PlatWin.cxx, win32/ScintRes.rc,\n\twin32/scintilla.mak, win32/scintilla_vc6.mak:\n\tMerged Scintilla v2.25.\n\t[e01dec109182]\n\n2011-03-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[b83a3ca4f3e6]\n\n2011-03-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[e5729134a47b]\n\n2011-03-11  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the translation source files.\n\t[51e8ee8b1ba9]\n\n\t* NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h:\n\tAdded support for the inactive styles of QsciLexerCPP.\n\t[59b566d322af]\n\n\t* qt/qscilexercpp.cpp, qt/qscilexercpp.h:\n\tInlined all existing property getters in QsciLexerCPP.\n\t[1117e5105e5e]\n\n2011-03-10  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed QsciScintilla::setContractedFolds() so that it actually\n\tupdates the display to show the new state.\n\t[5079f59a0103]\n\n\t* NEWS, Python/sip/qscilexerhtml.sip, qt/qscilexerhtml.cpp,\n\tqt/qscilexerhtml.h:\n\tUpdated QsciLexerHTML.\n\t[0707f4bc7855]\n\n\t* NEWS, Python/sip/qscilexerproperties.sip,\n\tqt/qscilexerproperties.cpp, qt/qscilexerproperties.h:\n\tUpdated QsciLexerProperties.\n\t[1dfe5e2d4913]\n\n\t* NEWS, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip,\n\tPython/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip,\n\tPython/sip/qscilexertex.sip, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscilexerruby.h, qt/qscilexersql.h,\n\tqt/qscilexertcl.h, qt/qscilexertex.cpp, qt/qscilexertex.h:\n\tUpdated QsciLexerPython.\n\t[bc96868a1a6f]\n\n\t* NEWS, Python/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip,\n\tPython/sip/qscilexertcl.sip, Python/sip/qscilexertex.sip,\n\tqt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexersql.h,\n\tqt/qscilexertcl.h, qt/qscilexertex.h:\n\tThe new lexer property setters are no longer virtual slots.\n\t[c3e88383e8d3]\n\n\t* qt/qscilexersql.cpp, qt/qscilexersql.h:\n\tRestored the default behaviour of setFoldCompact() for QsciLexerSQL.\n\t[c74aef0f7eb4]\n\n\t* NEWS, Python/sip/qscilexertcl.sip, qt/qscilexersql.h,\n\tqt/qscilexertcl.cpp, qt/qscilexertcl.h:\n\tUpdated QsciLexerTCL.\n\t[43a150bb40d5]\n\n\t* NEWS, Python/sip/qscilexertex.sip, qt/qscilexertex.cpp,\n\tqt/qscilexertex.h:\n\tUpdated QsciLexerTeX.\n\t[1457935cee44]\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm,\n\tqt/qscintilla_ru.qm:\n\tUpdated German translations from Detlev.\n\t[ad4a4bd4855b]\n\n2011-03-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the .ts translation files.\n\t[8d70033d07e2]\n\n\t* NEWS, Python/sip/qscilexersql.sip, qt/qscilexersql.cpp,\n\tqt/qscilexersql.h:\n\tUpdated QsciLexerSQL.\n\t[8bc79d109c88]\n\n\t* NEWS, Python/sip/qscilexercss.sip, qt/qscilexercss.cpp,\n\tqt/qscilexercss.h:\n\tUpdated QsciLexerCSS.\n\t[f3adcb31b1a9]\n\n\t* NEWS, Python/sip/qscilexerd.sip, qt/qscilexerd.cpp, qt/qscilexerd.h:\n\tUpdated QsciLexerD.\n\t[82d8a6561943]\n\n\t* Python/sip/qscilexerlua.sip, qt/qscilexerlua.cpp, qt/qscilexerlua.h:\n\tUpdated QsciLexerLua.\n\t[103f5881c642]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded support for the QsciScintillaBase::SCN_HOTSPOTRELEASECLICK()\n\tsignal.\n\t[1edd56e105cd]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for SCLEX_MARKDOWN, SCLEX_TXT2TAGS and\n\tSCLEX_A68K.\n\t[de92a613cea7]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qscicommand.cpp,\n\tqt/qsciscintilla.cpp, qt/qsciscintillabase.h:\n\tAdded support for SCMOD_SUPER as the Qt Meta key modifier.\n\t[24e745cddeea]\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tUpdated the QsciScintillaBase::SCN_UPDATEUI() signal. Added low-\n\tlevel support for SC_MOD_LEXERSTATE.\n\t[0a341fcb0545]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for the updated property functions.\n\t[f33d9c271992]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for SCI_GETLEXERLANGUAGE and\n\tSCI_PRIVATELEXERCALL.\n\t[ac69f8c2ef3b]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for the new stick caret options.\n\t[693ac6c68e6f]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for SCI_AUTOCGETCURRENTTEXT.\n\t[2634827cdb4e]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for SC_SEL_THIN.\n\t[4225a944dc14]\n\n\t* qt/qsciscintilla.cpp:\n\tFolding now works again.\n\t[3972053c646e]\n\n2011-03-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for SCI_VERTICALCENTRECARET.\n\t[92d5ecb154d1]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded setContractedFolds() and contractedFolds() to QsciScintilla.\n\t[46eb254c6200]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for SCI_CHANGELEXERSTATE.\n\t[edd899d77aa7]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tAdded low-level support for SCI_CHARPOSITIONFROMPOINT and\n\tSCI_CHARPOSITIONFROMPOINTCLOSE.\n\t[5a000cf4bfba]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded low-level support for multiple selections.\n\t[dedda8cbf413]\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h:\n\tAdded SCI_GETTAG.\n\t[775d0058f00e]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded QsciScintilla::setFirstVisibleLine().\n\t[8b662ffe3fb6]\n\n\t* Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded low-level support for setting the font quality.\n\t[933e8b01eda6]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded high-level support for line wrap indentation modes.\n\t[1faa3b2fa31e]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded high-level support for extra ascent and descent space. Added\n\thigh-level support for whitespace size, foreground and background.\n\t[537c551a79ef]\n\n\t* Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp,\n\tqt/qsciscintillabase.h:\n\tUpdated the low level support for cursors.\n\t[2ce685a89697]\n\n\t* NEWS, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h:\n\tUpdated the support for markers and added FullRectangle,\n\tLeftRectangle and Underline to the MarkerSymbol enum.\n\t[4c626f8189bf]\n\n2011-03-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/ScintillaQt.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tRectangular selections are now fully supported. The signatures of\n\ttoMimeData() and fromMimeData() have changed.\n\t[397948f42b2e]\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[bc75b98210f2]\n\n\t* .hgignore:\n\tAdded the .hgignore file.\n\t[77312a36220e]\n\n\t* qt/qsciscintilla.cpp:\n\tRemoved the workaround for the broken annotations in Scintilla\n\tv1.78.\n\t[70ab4c4b7c66]\n\n\t* qt/ListBoxQt.cpp:\n\tFixed a regression when displaying an auto-completion list.\n\t[c38d4b97a1ca]\n\n2011-03-04  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ListBoxQt.cpp, qt/PlatQt.cpp, qt/ScintillaQt.cpp,\n\tqt/ScintillaQt.h, qt/qsciscintillabase.cpp:\n\tCompleted the merge of Scintilla v2.24.\n\t[6890939e2da6]\n\n\t* build.py, qt/qscintilla.pro:\n\tMore build system changes.\n\t[3e9deec76c02]\n\n\t* qt/qscintilla.pro, qt/qsciscintilla.cpp:\n\tUpdated the .pro file for the changed files and directory structure\n\tin v2.24.\n\t[274cb7017857]\n\n\t* License.txt, README, bin/empty.txt, cocoa/Framework.mk,\n\tcocoa/InfoBar.h, cocoa/InfoBar.mm, cocoa/InfoBarCommunicator.h,\n\tcocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h,\n\tcocoa/QuartzTextStyle.h, cocoa/QuartzTextStyleAttribute.h,\n\tcocoa/SciTest.mk, cocoa/ScintillaCallTip.h,\n\tcocoa/ScintillaCallTip.mm, cocoa/ScintillaCocoa.h,\n\tcocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/Info.plist, cocoa/\n\tScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaFramework/Scintilla_Prefix.pch,\n\tcocoa/ScintillaListBox.h, cocoa/ScintillaListBox.mm,\n\tcocoa/ScintillaTest/AppController.h,\n\tcocoa/ScintillaTest/AppController.mm,\n\tcocoa/ScintillaTest/English.lproj/MainMenu.xib,\n\tcocoa/ScintillaTest/Info.plist, cocoa/ScintillaTest/Scintilla-\n\tInfo.plist,\n\tcocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj,\n\tcocoa/ScintillaTest/ScintillaTest_Prefix.pch,\n\tcocoa/ScintillaTest/TestData.sql, cocoa/ScintillaTest/main.m,\n\tcocoa/ScintillaView.h, cocoa/ScintillaView.mm, cocoa/common.mk,\n\tdelbin.bat, delcvs.bat, doc/Design.html, doc/Lexer.txt,\n\tdoc/SciBreak.jpg, doc/SciCoding.html, doc/SciRest.jpg,\n\tdoc/SciTEIco.png, doc/SciWord.jpg, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/ScintillaToDo.html,\n\tdoc/ScintillaUsage.html, doc/Steps.html, doc/index.html,\n\tgtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx,\n\tgtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla-\n\tmarshal.h, gtk/scintilla-marshal.list, gtk/scintilla.mak,\n\tinclude/Accessor.h, include/Face.py, include/HFacer.py,\n\tinclude/ILexer.h, include/KeyWords.h, include/Platform.h,\n\tinclude/PropSet.h, include/SString.h, include/SciLexer.h,\n\tinclude/Scintilla.h, include/Scintilla.iface,\n\tinclude/ScintillaWidget.h, include/WindowAccessor.h,\n\tlexers/LexA68k.cxx, lexers/LexAPDL.cxx, lexers/LexASY.cxx,\n\tlexers/LexAU3.cxx, lexers/LexAVE.cxx, lexers/LexAbaqus.cxx,\n\tlexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexAsn1.cxx,\n\tlexers/LexBaan.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx,\n\tlexers/LexBullant.cxx, lexers/LexCLW.cxx, lexers/LexCOBOL.cxx,\n\tlexers/LexCPP.cxx, lexers/LexCSS.cxx, lexers/LexCaml.cxx,\n\tlexers/LexCmake.cxx, lexers/LexConf.cxx, lexers/LexCrontab.cxx,\n\tlexers/LexCsound.cxx, lexers/LexD.cxx, lexers/LexEScript.cxx,\n\tlexers/LexEiffel.cxx, lexers/LexErlang.cxx, lexers/LexFlagship.cxx,\n\tlexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGAP.cxx,\n\tlexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx,\n\tlexers/LexInno.cxx, lexers/LexKix.cxx, lexers/LexLisp.cxx,\n\tlexers/LexLout.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx,\n\tlexers/LexMPT.cxx, lexers/LexMSSQL.cxx, lexers/LexMagik.cxx,\n\tlexers/LexMarkdown.cxx, lexers/LexMatlab.cxx,\n\tlexers/LexMetapost.cxx, lexers/LexMySQL.cxx, lexers/LexNimrod.cxx,\n\tlexers/LexNsis.cxx, lexers/LexOpal.cxx, lexers/LexOthers.cxx,\n\tlexers/LexPB.cxx, lexers/LexPLM.cxx, lexers/LexPOV.cxx,\n\tlexers/LexPS.cxx, lexers/LexPascal.cxx, lexers/LexPerl.cxx,\n\tlexers/LexPowerPro.cxx, lexers/LexPowerShell.cxx,\n\tlexers/LexProgress.cxx, lexers/LexPython.cxx, lexers/LexR.cxx,\n\tlexers/LexRebol.cxx, lexers/LexRuby.cxx, lexers/LexSML.cxx,\n\tlexers/LexSQL.cxx, lexers/LexScriptol.cxx, lexers/LexSmalltalk.cxx,\n\tlexers/LexSorcus.cxx, lexers/LexSpecman.cxx, lexers/LexSpice.cxx,\n\tlexers/LexTACL.cxx, lexers/LexTADS3.cxx, lexers/LexTAL.cxx,\n\tlexers/LexTCL.cxx, lexers/LexTeX.cxx, lexers/LexTxt2tags.cxx,\n\tlexers/LexVB.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx,\n\tlexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h,\n\tlexlib/CharacterSet.cxx, lexlib/CharacterSet.h,\n\tlexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerBase.h,\n\tlexlib/LexerModule.cxx, lexlib/LexerModule.h,\n\tlexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h,\n\tlexlib/LexerSimple.cxx, lexlib/LexerSimple.h, lexlib/OptionSet.h,\n\tlexlib/PropSetSimple.cxx, lexlib/PropSetSimple.h,\n\tlexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/WordList.cxx,\n\tlexlib/WordList.h, lib/README.doc, macosx/PlatMacOSX.cxx,\n\tmacosx/SciTest/SciTest.xcode/project.pbxproj,\n\tmacosx/ScintillaMacOSX.cxx, macosx/ScintillaMacOSX.h,\n\tmacosx/deps.mak, macosx/makefile, src/AutoComplete.cxx,\n\tsrc/AutoComplete.h, src/CallTip.cxx, src/CallTip.h,\n\tsrc/Catalogue.cxx, src/Catalogue.h, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h,\n\tsrc/CharacterSet.h, src/ContractionState.cxx,\n\tsrc/ContractionState.h, src/Decoration.h, src/Document.cxx,\n\tsrc/Document.h, src/DocumentAccessor.cxx, src/DocumentAccessor.h,\n\tsrc/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx,\n\tsrc/ExternalLexer.h, src/FontQuality.h, src/Indicator.cxx,\n\tsrc/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/KeyWords.cxx,\n\tsrc/LexAPDL.cxx, src/LexASY.cxx, src/LexAU3.cxx, src/LexAVE.cxx,\n\tsrc/LexAbaqus.cxx, src/LexAda.cxx, src/LexAsm.cxx, src/LexAsn1.cxx,\n\tsrc/LexBaan.cxx, src/LexBash.cxx, src/LexBasic.cxx,\n\tsrc/LexBullant.cxx, src/LexCLW.cxx, src/LexCOBOL.cxx,\n\tsrc/LexCPP.cxx, src/LexCSS.cxx, src/LexCaml.cxx, src/LexCmake.cxx,\n\tsrc/LexConf.cxx, src/LexCrontab.cxx, src/LexCsound.cxx,\n\tsrc/LexD.cxx, src/LexEScript.cxx, src/LexEiffel.cxx,\n\tsrc/LexErlang.cxx, src/LexFlagship.cxx, src/LexForth.cxx,\n\tsrc/LexFortran.cxx, src/LexGAP.cxx, src/LexGen.py,\n\tsrc/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexHaskell.cxx,\n\tsrc/LexInno.cxx, src/LexKix.cxx, src/LexLisp.cxx, src/LexLout.cxx,\n\tsrc/LexLua.cxx, src/LexMMIXAL.cxx, src/LexMPT.cxx, src/LexMSSQL.cxx,\n\tsrc/LexMagik.cxx, src/LexMatlab.cxx, src/LexMetapost.cxx,\n\tsrc/LexMySQL.cxx, src/LexNimrod.cxx, src/LexNsis.cxx,\n\tsrc/LexOpal.cxx, src/LexOthers.cxx, src/LexPB.cxx, src/LexPLM.cxx,\n\tsrc/LexPOV.cxx, src/LexPS.cxx, src/LexPascal.cxx, src/LexPerl.cxx,\n\tsrc/LexPowerPro.cxx, src/LexPowerShell.cxx, src/LexProgress.cxx,\n\tsrc/LexPython.cxx, src/LexR.cxx, src/LexRebol.cxx, src/LexRuby.cxx,\n\tsrc/LexSML.cxx, src/LexSQL.cxx, src/LexScriptol.cxx,\n\tsrc/LexSmalltalk.cxx, src/LexSorcus.cxx, src/LexSpecman.cxx,\n\tsrc/LexSpice.cxx, src/LexTACL.cxx, src/LexTADS3.cxx, src/LexTAL.cxx,\n\tsrc/LexTCL.cxx, src/LexTeX.cxx, src/LexVB.cxx, src/LexVHDL.cxx,\n\tsrc/LexVerilog.cxx, src/LexYAML.cxx, src/LineMarker.cxx,\n\tsrc/LineMarker.h, src/Partitioning.h, src/PerLine.cxx,\n\tsrc/PerLine.h, src/PositionCache.cxx, src/PositionCache.h,\n\tsrc/PropSet.cxx, src/RESearch.cxx, src/RESearch.h,\n\tsrc/RunStyles.cxx, src/SVector.h, src/SciTE.properties,\n\tsrc/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx,\n\tsrc/Selection.h, src/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/StyleContext.cxx, src/StyleContext.h, src/UniConversion.cxx,\n\tsrc/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h,\n\tsrc/WindowAccessor.cxx, src/XPM.cxx, src/XPM.h,\n\ttest/MessageNumbers.py, test/README, test/XiteMenu.py,\n\ttest/XiteWin.py, test/examples/x.asp, test/examples/x.asp.styled,\n\ttest/examples/x.cxx, test/examples/x.cxx.styled, test/examples/x.d,\n\ttest/examples/x.d.styled, test/examples/x.html,\n\ttest/examples/x.html.styled, test/examples/x.php,\n\ttest/examples/x.php.styled, test/examples/x.py,\n\ttest/examples/x.py.styled, test/examples/x.vb,\n\ttest/examples/x.vb.styled, test/lexTests.py,\n\ttest/performanceTests.py, test/simpleTests.py, test/unit/README,\n\ttest/unit/SciTE.properties, test/unit/makefile,\n\ttest/unit/testContractionState.cxx, test/unit/testPartitioning.cxx,\n\ttest/unit/testRunStyles.cxx, test/unit/testSplitVector.cxx,\n\ttest/unit/unitTest.cxx, test/xite.py, vcbuild/SciLexer.dsp,\n\tversion.txt, win32/Margin.cur, win32/PlatWin.cxx,\n\twin32/PlatformRes.h, win32/SciTE.properties, win32/ScintRes.rc,\n\twin32/Scintilla.def, win32/ScintillaWin.cxx, win32/deps.mak,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak,\n\tzipsrc.bat:\n\tMerged Scintilla v2.24.\n\t[59ca27407fd9]\n\n2011-03-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py, qt/qscintilla.pro:\n\tUpdated the .so version number to 6.0.0.\n\t[8ebe3f1fccd4]\n\n\t* Makefile:\n\tSwitched the build system to Qt v4.7.2.\n\t[47f653394ef0]\n\n\t* .hgtags, lib/README.svn:\n\tMerged the v2.4 maintenance branch.\n\t[d00b7d9115d1]\n\n\t* qsci/api/python/Python-3.2.api:\n\tAdded an API file for Python v3.2.\n\t[8cc94408b710] <2.4-maint>\n\n2011-02-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintillabase.cpp:\n\tOn X11 the control modifier is now used (instead of alt) to trigger\n\ta rectangular selection.\n\t[4bea3b8b8271] <2.4-maint>\n\n2011-02-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscimacro.cpp:\n\tFixed a bug with Qt4 when loading a macro that meant that a macro\n\tmay not have a terminating '\\0'.\n\t[bbec6ef96cd2] <2.4-maint>\n\n2011-02-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* lib/LICENSE.commercial.short, lib/LICENSE.gpl.short:\n\tUpdated the copyright notices.\n\t[f386964f3853] <2.4-maint>\n\n\t* Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tDeprecated setAutoCompletionShowSingle(), added\n\tsetAutoCompletionUseSingle(). Deprecated autoCompletionShowSingle(),\n\tadded autoCompletionUseSingle().\n\t[7dae1a33b74b] <2.4-maint>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tQsciScintilla::setAutoCompletionCaseSensitivity() is no longer\n\tignored if a lexer has been set.\n\t[92d3c5f7b825] <2.4-maint>\n\n\t* qt/qscintilla.pro, qt/qsciscintillabase.cpp:\n\tTranslate Key_Backtab to Shift-Key_Tab before passing to Scintilla.\n\t[fc2d75b26ef8] <2.4-maint>\n\n2011-01-06  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[8921e85723a1] <2.4-maint>\n\n2010-12-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.h:\n\tFixed a documentation typo.\n\t[1b951cf8838a] <2.4-maint>\n\n2010-12-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.4.6 for changeset 1884d76f35b0\n\t[696037b84e26] <2.4-maint>\n\n\t* NEWS:\n\tReleased as v2.4.6.\n\t[1884d76f35b0] [2.4.6] <2.4-maint>\n\n2010-12-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp:\n\tAuto-completion words from documents are now ignored if they are\n\talready included from APIs.\n\t[db48fbf19e7c] <2.4-maint>\n\n\t* qt/SciClasses.cpp:\n\tMake sure call tips are redrawn afer being clicked on.\n\t[497ad4605ae3] <2.4-maint>\n\n2010-11-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded support for indicators to the high-level API. See the NEWS\n\tfile for the details.\n\t[8673b7890874] <2.4-maint>\n\n2010-11-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/configure.py:\n\tAdded the --no-timestamp option to configure.py.\n\t[61d1b5d28e21] <2.4-maint>\n\n\t* qsci/api/python/Python-2.7.api:\n\tAdded the API file for Python v2.7.\n\t[5b2c77e7150a] <2.4-maint>\n\n2010-11-09  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, qt/PlatQt.cpp:\n\tApplied a fix for calculating character widths under OS/X. Switched\n\tthe build system to Qt v4.7.1.\n\t[47a4eff86efa] <2.4-maint>\n\n2010-11-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexercpp.h:\n\tFixed a bug in the documentation of QsciLexerCPP.GlobalClass.\n\t[3cada289b329] <2.4-maint>\n\n2010-10-24  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/SciClasses.h, qt/ScintillaQt.h, qt/qscicommandset.h,\n\tqt/qsciglobal.h, qt/qscilexer.h, qt/qsciprinter.h,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tAdded support for QT_BEGIN_NAMESPACE and QT_END_NAMESPACE.\n\t[a80f0df49f6c] <2.4-maint>\n\n2010-10-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[693d3adf3c3f] <2.4-maint>\n\n2010-10-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/sip/qscilexerproperties.sip,\n\tqt/qscilexerproperties.cpp, qt/qscilexerproperties.h,\n\tqt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tAdded support for the Key style to QsciLexerProperties.\n\t[0b2e86015862] <2.4-maint>\n\n2010-08-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.4.5 for changeset f3f3936e5b86\n\t[84bb1b0d0674] <2.4-maint>\n\n\t* NEWS:\n\tReleased as v2.4.5.\n\t[f3f3936e5b86] [2.4.5] <2.4-maint>\n\n2010-08-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* NEWS:\n\tUpdated the NEWS file.\n\t[80afe6b1504a] <2.4-maint>\n\n2010-08-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tWith Python v3, the QsciScintillaBase.SendScintilla() overloads that\n\ttake char * arguments now require them to be bytes objects and no\n\tlonger allow them to be str objects.\n\t[afa9ac3c487d] <2.4-maint>\n\n2010-08-14  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tReverted the addition of the /Encoding/ annotations to\n\tSendScintilla() as it is (probably) not the right solution.\n\t[4cb625284e4f] <2.4-maint>\n\n\t* qt/qsciscintilla.cpp:\n\tThe entries in user and auto-completion lists should now support\n\tUTF-8.\n\t[112d71cec57a] <2.4-maint>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tThe QsciScintillaBase.SendScintilla() Python overloads will now\n\taccept unicode strings that can be encoded to UTF-8.\n\t[2f21b97985f2] <2.4-maint>\n\n2010-07-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexerhtml.cpp, qt/qscilexerhtml.h:\n\tImplemented QsciLexerHTML::autoCompletionFillups() to change the\n\tfillups to \"/>\".\n\t[8d9c1aad1349] <2.4-maint>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed a regression, and the original bug, in\n\tQsciScintilla::clearAnnotations().\n\t[fd8746ae2198] <2.4-maint>\n\n\t* qt/qscistyle.cpp:\n\tQsciStyle now auto-allocates style numbers from 63 rather than\n\tSTYLE_MAX because Scintilla only initially creates enough storage\n\tfor that number of styles.\n\t[7c69b0a4ee5b] <2.4-maint>\n\n2010-07-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscilexerverilog.cpp, qt/qscintilla.pro:\n\tFixed a bug in QsciLexerVerilog that meant that the Keyword style\n\twas being completely ignored.\n\t[09e28404476a] <2.4-maint>\n\n2010-07-12  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.4.4 for changeset c61a49005995\n\t[4c98368d9bea] <2.4-maint>\n\n\t* NEWS:\n\tReleased as v2.4.4.\n\t[c61a49005995] [2.4.4] <2.4-maint>\n\n2010-06-08  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, qt/qsciscintillabase.cpp:\n\tPop-lists now get removed when the main widget loses focus.\n\t[169fa07f52ab] <2.4-maint>\n\n2010-06-05  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp:\n\tChanged SCN_MODIFIED to deal with text being NULL.\n\t[68148fa857ab] <2.4-maint>\n\n2010-06-03  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/ScintillaQt.cpp:\n\tThe SCN_MODIFIED signal now tries to make sure that the text passed\n\tis valid.\n\t[90e3461f410f] <2.4-maint>\n\n2010-04-22  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tQsciScintilla::markerDefine() now allows existing markers to be\n\tredefined if an explicit marker number is given.\n\t[63f1a7a1d8e2] <2.4-maint>\n\n\t* qt/ScintillaQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tFixed the drag and drop behaviour so that a move automatically turns\n\tinto a copy when the mouse leaves the widget.\n\t[4dab09799716] <2.4-maint>\n\n2010-04-21  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/PlatQt.cpp, qt/ScintillaQt.cpp:\n\tFixed build problems against Qt v3.\n\t[71168072ac9b] <2.4-maint>\n\n\t* Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tAdded QsciScintillaBase::fromMimeData().\n\t[b86a15672079] <2.4-maint>\n\n\t* Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tRenamed QsciScintillaBase::createMimeData() to toMimeData().\n\t[6f5837334dde] <2.4-maint>\n\n2010-04-20  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tAdded QsciScintillaBase::canInsertFromMimeData().\n\t[bbba2c1799ef] <2.4-maint>\n\n\t* Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp,\n\tqt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tAdded QsciScintillaBase::createMimeData().\n\t[b2c3e3a9b43d] <2.4-maint>\n\n2010-03-17  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* .hgtags:\n\tAdded tag 2.4.3 for changeset 786429e0227d\n\t[1931843aec48] <2.4-maint>\n\n\t* NEWS, build.py:\n\tFixed the generation of the change log after tagging a release.\n\tUpdated the NEWS file. Released as v2.4.3.\n\t[786429e0227d] [2.4.3] <2.4-maint>\n\n2010-02-23  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tReverted the setting of the alpha component in\n\tsetMarkerForegroundColor() (at least until SC_MARK_UNDERLINE is\n\tsupported).\n\t[111da2e01c5e] <2.4-maint>\n\n\t* qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tFixed the very broken support for the alpha component with Qt4.\n\t[b1d73c7f447b] <2.4-maint>\n\n\t* Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded QsciScintilla::clearFolds() to clear all current folds\n\t(typically prior to disabling folding).\n\t[4f4266da1962] <2.4-maint>\n\n2010-02-15  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile:\n\tSwitched the build system to Qt v4.6.2.\n\t[f023013b79e4] <2.4-maint>\n\n2010-02-07  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* qt/qscidocument.cpp:\n\tFixed a bug in the handling of multiple views of a document.\n\t[8b4aa000df1c] <2.4-maint>\n\n2010-01-31  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, build.py:\n\tMinor tidy ups for the internal build system.\n\t[c3a41d195b8a] <2.4-maint>\n\n2010-01-30  Phil Thompson  <phil@riverbankcomputing.com>\n\n\t* Makefile, Python/configure.py, build.py, lib/README.doc,\n\tlib/README.svn, lib/qscintilla.dxy, qt/qsciglobal.h:\n\tChanges to the internal build system required by the migration to\n\tMercurial.\n\t[607e474dfd28] <2.4-maint>\n\n2010-01-29  phil  <phil>\n\n\t* .hgtags:\n\tImport from SVN.\n\t[49d5a0d80211]\n\n2010-01-20  phil  <phil>\n\n\t* Makefile, NEWS:\n\tUpdated the build system to Qt v4.6.1. Released as v2.4.2.\n\t[73732e5bae08] [2.4.2] <2.4-maint>\n\n2010-01-18  phil  <phil>\n\n\t* qt/qscintilla_es.qm, qt/qscintilla_es.ts:\n\tUpdated Spanish translations from Jaime Seuma.\n\t[3b911e69696d] <2.4-maint>\n\n2010-01-15  phil  <phil>\n\n\t* Python/configure.py:\n\tThe Python bindings now check for SIP v4.10.\n\t[8d5f4957a07c] <2.4-maint>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the .ts files.\n\t[15c647ac0c42] <2.4-maint>\n\n\t* NEWS, build.py:\n\tFixed the build system for Qt v3 and v4 prior to v4.5.\n\t[1b5bea85a3bf] <2.4-maint>\n\n2010-01-14  phil  <phil>\n\n\t* NEWS, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short:\n\tReleased as v2.4.1.\n\t[a04b69746aa6] [2.4.1] <2.4-maint>\n\n2009-12-22  phil  <phil>\n\n\t* lib/gen_python3_api.py, qsci/api/python/Python-3.1.api:\n\tAdded the API file for Python v3.1.\n\t[116c24ab58b2] <2.4-maint>\n\n\t* NEWS, Python/configure.py:\n\tAdded support for automatically generated docstrings.\n\t[3d316b4f222b] <2.4-maint>\n\n2009-12-11  phil  <phil>\n\n\t* Makefile, qt/PlatQt.cpp:\n\tFixed a performance problem when displaying very long lines.\n\t[d3fe67ad2eb5] <2.4-maint>\n\n2009-11-01  phil  <phil>\n\n\t* qt/qsciapis.cpp:\n\tFixed a possible crash in the handling of call tips.\n\t[6248caa24fec] <2.4-maint>\n\n\t* qt/SciClasses.cpp:\n\tApplied the workaround for the autocomplete focus bug under Gnome's\n\twindow manager which (appears) to work with current versions of Qt\n\tacross all platforms.\n\t[f709f1518e70] <2.4-maint>\n\n\t* Makefile, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tMake sure a lexer is fully detached when a QScintilla instance is\n\tdestroyed.\n\t[db47764231d2] <2.4-maint>\n\n2009-08-19  phil  <phil>\n\n\t* lib/LICENSE.gpl.short, qt/qscintilla_de.qm, qt/qscintilla_de.ts:\n\tUpdated German translations from Detlev.\n\t[458b60ec031e] <2.4-maint>\n\n2009-08-09  phil  <phil>\n\n\t* Python/sip/qscilexerverilog.sip, Python/sip/qscimodcommon.sip,\n\tqt/qscilexerverilog.cpp, qt/qscilexerverilog.h, qt/qscintilla.pro:\n\tAdded the QsciLexerVerilog class.\n\t[86b2aceac88c] <2.4-maint>\n\n\t* Makefile, Python/sip/qscilexerspice.sip,\n\tPython/sip/qscimodcommon.sip, lib/LICENSE.commercial, lib\n\t/OPENSOURCE-NOTICE.TXT, lib/README.doc, qt/qscilexerspice.cpp,\n\tqt/qscilexerspice.h, qt/qscintilla.pro:\n\tAdded the QsciLexerSpice class.\n\t[56532ec00839] <2.4-maint>\n\n2009-06-05  phil  <phil>\n\n\t* NEWS, lib/LICENSE.commercial:\n\tReleased as v2.4.\n\t[612b1bcb8223] [2.4]\n\n2009-06-03  phil  <phil>\n\n\t* NEWS, qt/qscistyledtext.h:\n\tFixed a bug building on Qt v3.\n\t[88ebc67fdff4]\n\n2009-05-30  phil  <phil>\n\n\t* qt/ScintillaQt.cpp:\n\tApplied a fix for copying UTF-8 text to the X clipboard from Lars\n\tReichelt.\n\t[e59fa72c2e2d]\n\n2009-05-27  phil  <phil>\n\n\t* qt/qscilexercustom.h:\n\tFixed a missing forward declaration in qscilexercustom.h.\n\t[0018449ee6aa]\n\n2009-05-25  phil  <phil>\n\n\t* qt/qscilexercustom.cpp:\n\tDon't ask the custom lexer to style zero characters.\n\t[6ae021232f4f]\n\n2009-05-19  phil  <phil>\n\n\t* NEWS, qt/qscintilla.pro, qt/qscintilla_cs.qm, qt/qscintilla_es.qm,\n\tqt/qscintilla_es.ts, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm,\n\tqt/qscintilla_ru.qm:\n\tAdded Spanish translations from Jaime Seuma.\n\t[0cdbee8db9af]\n\n\t* qt/qsciscintilla.cpp:\n\tA minor fix for ancient C++ compilers.\n\t[0523c3a0e0aa]\n\n2009-05-18  phil  <phil>\n\n\t* NEWS, Python/sip/qscilexer.sip, Python/sip/qscilexercustom.sip,\n\tPython/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip,\n\tqt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexercustom.cpp,\n\tqt/qscilexercustom.h, qt/qscintilla.pro, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciScintilla::annotation(). Added QsciLexerCustom (completely\n\tuntested) and supporting changes to QsciLexer.\n\t[382d5b86f600]\n\n2009-05-17  phil  <phil>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.qm, qt/qscintilla_de.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated translations from Detlev.\n\t[0b8c8438e464]\n\n2009-05-09  phil  <phil>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded support for text margins.\n\t[be9db7d41b50]\n\n\t* qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qscistyledtext.cpp, qt/qscistyledtext.h:\n\tDebugged the support for annotations. Tidied up the QString to\n\tScintilla string conversions.\n\t[573199665222]\n\n2009-05-08  phil  <phil>\n\n\t* NEWS, Python/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip,\n\tPython/sip/qscistyle.sip, Python/sip/qscistyledtext.sip,\n\tqt/qscicommand.h, qt/qscimacro.h, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qscistyle.cpp,\n\tqt/qscistyle.h, qt/qscistyledtext.cpp, qt/qscistyledtext.h:\n\tImplemented the rest of the annotation API - still needs debugging.\n\t[7f23400d2416]\n\n2009-05-07  phil  <phil>\n\n\t* NEWS, qt/qscintilla.pro, qt/qscistyle.cpp, qt/qscistyle.h:\n\tAdded the QsciStyle class.\n\t[bf8e3e02071e]\n\n2009-05-06  phil  <phil>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed the key event handling when the text() is empty and the key()\n\tshould be used - only seems to happen with OS/X.\n\t[868a146b019f]\n\n2009-05-03  phil  <phil>\n\n\t* Makefile, NEWS, Python/configure.py, Python/sip/qscicommand.sip,\n\tPython/sip/qscicommandset.sip, Python/sip/qscilexer.sip,\n\tPython/sip/qscilexercpp.sip, Python/sip/qscilexercss.sip,\n\tPython/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip,\n\tPython/sip/qscilexerpascal.sip, Python/sip/qscilexerperl.sip,\n\tPython/sip/qscilexerpython.sip, Python/sip/qscilexerxml.sip,\n\tPython/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip,\n\tREADME, UTF-8-demo.txt, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/ScintillaToDo.html,\n\tdoc/annotations.png, doc/index.html, doc/styledmargin.png,\n\tgtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile,\n\tgtk/scintilla.mak, include/Face.py, include/HFacer.py,\n\tinclude/SciLexer.h, include/Scintilla.h, include/Scintilla.iface,\n\tinclude/ScintillaWidget.h, lib/LICENSE.commercial,\n\tmacosx/PlatMacOSX.cxx, macosx/makefile, qt/PlatQt.cpp,\n\tqt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qscidocument.cpp,\n\tqt/qscidocument.h, qt/qscilexer.cpp, qt/qscilexer.h,\n\tqt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercss.cpp,\n\tqt/qscilexercss.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h,\n\tqt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexerpascal.cpp,\n\tqt/qscilexerpascal.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h,\n\tqt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerxml.cpp,\n\tqt/qscilexerxml.h, qt/qscintilla.pro, qt/qscintilla_cs.ts,\n\tqt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts,\n\tqt/qscintilla_ru.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.h, src/CellBuffer.cxx, src/CellBuffer.h,\n\tsrc/Document.cxx, src/Document.h, src/Editor.cxx, src/Editor.h,\n\tsrc/ExternalLexer.cxx, src/Indicator.cxx, src/Indicator.h,\n\tsrc/KeyWords.cxx, src/LexAU3.cxx, src/LexAbaqus.cxx, src/LexAsm.cxx,\n\tsrc/LexBash.cxx, src/LexCOBOL.cxx, src/LexCPP.cxx, src/LexCSS.cxx,\n\tsrc/LexD.cxx, src/LexFortran.cxx, src/LexGen.py, src/LexHTML.cxx,\n\tsrc/LexHaskell.cxx, src/LexInno.cxx, src/LexLua.cxx,\n\tsrc/LexMySQL.cxx, src/LexNimrod.cxx, src/LexNsis.cxx,\n\tsrc/LexOthers.cxx, src/LexPascal.cxx, src/LexPerl.cxx,\n\tsrc/LexPowerPro.cxx, src/LexProgress.cxx, src/LexPython.cxx,\n\tsrc/LexRuby.cxx, src/LexSML.cxx, src/LexSQL.cxx, src/LexSorcus.cxx,\n\tsrc/LexTACL.cxx, src/LexTADS3.cxx, src/LexTAL.cxx, src/LexTeX.cxx,\n\tsrc/LexVerilog.cxx, src/LexYAML.cxx, src/PerLine.cxx, src/PerLine.h,\n\tsrc/PositionCache.cxx, src/RESearch.cxx, src/RESearch.h,\n\tsrc/RunStyles.h, src/SciTE.properties, src/ScintillaBase.cxx,\n\tsrc/SplitVector.h, src/UniConversion.cxx, src/ViewStyle.cxx,\n\tsrc/ViewStyle.h, vcbuild/SciLexer.dsp, version.txt,\n\twin32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak:\n\tMerged the v2.3 branch onto the trunk.\n\t[1bb3d2b01123]\n\n2008-09-20  phil  <phil>\n\n\t* Makefile, NEWS, lib/README.doc:\n\tReleased as v2.3.\n\t[8fd73a9a9d66] [2.3]\n\n2008-09-17  phil  <phil>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciScintilla::apiContext() for further open up the auto-\n\tcompletion and call tips support.\n\t[a6291ea6dd37]\n\n2008-09-16  phil  <phil>\n\n\t* Python/configure.py, lib/gen_python_api.py,\n\tqsci/api/python/Python-2.6.api, qt/qsciapis.h:\n\tAdded the API file for Python v2.6rc1. Fixed a typo in the help for\n\tthe Python bindings configure.py.\n\t[ac10be3cc7fb]\n\n2008-09-03  phil  <phil>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the i18n .ts files.\n\t[b73beac06e0f]\n\n2008-09-01  phil  <phil>\n\n\t* lib/README.doc:\n\tUpdated the Windows installation notes to cover the need to manually\n\tinstall the DLL when using Qt3.\n\t[17019ebfab36]\n\n\t* lib/README.doc, qt/qsciscintilla.cpp:\n\tFixed a regression in the highlighting of call tip arguments.\n\tUpdated the Windows installation notes to say that any header files\n\tinstalled from a previous build should first be removed.\n\t[cb3f27b93323]\n\n2008-08-31  phil  <phil>\n\n\t* NEWS, Python/configure.py, Python/sip/qsciabstractapis.sip,\n\tPython/sip/qsciapis.sip, Python/sip/qscilexer.sip,\n\tPython/sip/qscimodcommon.sip, Python/sip/qsciscintillabase.sip,\n\tqt/qsciabstractapis.cpp, qt/qsciabstractapis.h, qt/qsciapis.cpp,\n\tqt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded the QsciAbstractAPIs class to allow applications to provide\n\ttheir own implementation of APIs.\n\t[eb5a8a602e5d]\n\n\t* Makefile, Python/configure.py, Python/sip/qscilexerfortran.sip,\n\tPython/sip/qscilexerfortran77.sip, Python/sip/qscilexerpascal.sip,\n\tPython/sip/qscilexerpostscript.sip, Python/sip/qscilexertcl.sip,\n\tPython/sip/qscilexerxml.sip, Python/sip/qscilexeryaml.sip,\n\tPython/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase.sip, build.py, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/makefile, gtk/scintilla.mak,\n\tinclude/Platform.h, include/SciLexer.h, include/Scintilla.h,\n\tinclude/Scintilla.iface, lib/LICENSE.commercial, lib/README.doc,\n\tlib/qscintilla.dxy, macosx/ExtInput.cxx, macosx/ExtInput.h,\n\tmacosx/PlatMacOSX.cxx, macosx/PlatMacOSX.h,\n\tmacosx/QuartzTextLayout.h, macosx/QuartzTextStyle.h,\n\tmacosx/QuartzTextStyleAttribute.h, macosx/ScintillaMacOSX.cxx,\n\tmacosx/ScintillaMacOSX.h, macosx/TView.cxx, macosx/makefile,\n\tqt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/qscilexerfortran.cpp,\n\tqt/qscilexerfortran.h, qt/qscilexerfortran77.cpp,\n\tqt/qscilexerfortran77.h, qt/qscilexerhtml.cpp, qt/qscilexerlua.cpp,\n\tqt/qscilexerlua.h, qt/qscilexerpascal.cpp, qt/qscilexerpascal.h,\n\tqt/qscilexerperl.cpp, qt/qscilexerperl.h,\n\tqt/qscilexerpostscript.cpp, qt/qscilexerpostscript.h,\n\tqt/qscilexertcl.cpp, qt/qscilexertcl.h, qt/qscilexerxml.cpp,\n\tqt/qscilexerxml.h, qt/qscilexeryaml.cpp, qt/qscilexeryaml.h,\n\tqt/qscimacro.cpp, qt/qscimacro.h, qt/qscintilla.pro,\n\tqt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h, src/CellBuffer.cxx,\n\tsrc/Editor.cxx, src/Editor.h, src/KeyWords.cxx, src/LexCPP.cxx,\n\tsrc/LexGen.py, src/LexMagik.cxx, src/LexMatlab.cxx, src/LexPerl.cxx,\n\tsrc/LexPowerShell.cxx, src/LineMarker.cxx, src/RunStyles.cxx,\n\tsrc/RunStyles.h, vcbuild/SciLexer.dsp, version.txt,\n\twin32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak:\n\tMerged the v2.2 maintenance branch.\n\t[cd784c60bcc7]\n\n2008-02-27  phil  <phil>\n\n\t* NEWS, build.py, lib/GPL_EXCEPTION.TXT, lib/LICENSE.GPL2,\n\tlib/LICENSE.GPL3, lib/LICENSE.commercial,\n\tlib/LICENSE.commercial.short, lib/LICENSE.gpl,\n\tlib/LICENSE.gpl.short, lib/OPENSOURCE-NOTICE.TXT:\n\tUpdated the licenses to be in line with the the current Qt licenses,\n\tincluding GPL v3. Released as v2.2.\n\t[a039ca791129] [2.2]\n\n2008-02-23  phil  <phil>\n\n\t* Makefile, qt/PlatQt.cpp:\n\tSwitched to Qt v4.3.4. Further tweaks for Windows64 support.\n\t[3ae9686f38e6]\n\n2008-02-22  phil  <phil>\n\n\t* Makefile, NEWS, Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp,\n\tqt/ScintillaQt.cpp, qt/qscidocument.cpp, qt/qscimacro.cpp,\n\tqt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tSeveral fixes for Windows64 support based on a patch from Randall\n\tFrank.\n\t[2c753ee01c42]\n\n2008-02-09  phil  <phil>\n\n\t* Python/configure.py, lib/README.doc, qt/qscintilla.pro:\n\tIt's no longer necessary to set DYLD_LIBRARY_PATH when using the\n\tPython bindings.\n\t[d1098424aed1]\n\n2008-02-03  phil  <phil>\n\n\t* Python/sip/qscilexerruby.sip:\n\tAdded the missing QsciLexerRuby.Error to the Python bindings.\n\t[0b4f06a30251]\n\n2008-01-20  phil  <phil>\n\n\t* designer-Qt4/qscintillaplugin.cpp, designer-Qt4/qscintillaplugin.h:\n\tFixed a problem with the Qt4 Designer plugin on Leopard.\n\t[5450a1bc62df]\n\n2008-01-11  phil  <phil>\n\n\t* qt/SciClasses.cpp, qt/qsciscintillabase.cpp:\n\tHopefully fixed shortcuts and accelerators when the autocompletion\n\tlist is displayed.\n\t[8304a1f4e36b]\n\n2008-01-06  phil  <phil>\n\n\t* qt/SciClasses.cpp:\n\tHopefully fixed a bug stopping normal typing when the autocompletion\n\tlist is being displayed.\n\t[2db0cc8fa158]\n\n2008-01-03  phil  <phil>\n\n\t* lib/LICENSE.commercial.short, lib/LICENSE.gpl,\n\tlib/LICENSE.gpl.short, lib/README.doc, qt/qsciscintillabase.cpp:\n\tFixed a Qt3 compilation bug. Updated the copyright notices.\n\t[cf238f41fb54]\n\n2007-12-30  phil  <phil>\n\n\t* qt/SciClasses.cpp, qt/SciClasses.h, qt/qsciscintillabase.cpp:\n\tHopefully fixed the problems with the auto-completion popup on all\n\tplatforms (not tested on Mac).\n\t[585aa7e4e59f]\n\n2007-12-29  phil  <phil>\n\n\t* qt/SciClasses.cpp:\n\tRemove the use of the internal Tooltip widget flag so that the X11\n\tauto-completion list now has the same problems as the Windows\n\tversion. (Prior to fixing the problem properly.)\n\t[93d584d099db]\n\n2007-12-23  phil  <phil>\n\n\t* qt/ScintillaQt.cpp:\n\tFixed DND problems with Qt4.\n\t[23f8c1a7c4c7]\n\n\t* qt/qsciscintilla.cpp:\n\tFix from Detlev for an infinite loop caused by calling\n\tgetCursorPosition() when Scintilla reports a position past the end\n\tof the text.\n\t[dd99ade93fa6]\n\n2007-12-05  phil  <phil>\n\n\t* qt/qscilexerperl.cpp, qt/qscintilla_cs.ts, qt/qscintilla_de.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tFixed a silly typo in the updated Perl lexer.\n\t[0e290eb71572]\n\n\t* qt/qscintilla_de.qm:\n\tUpdated German translations from Detlev.\n\t[e820d3c167f5]\n\n\t* Makefile:\n\tSwitched the internal build system to Qt v4.3.3.\n\t[df2d877e2422]\n\n2007-12-04  phil  <phil>\n\n\t* qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the translation source files.\n\t[1fb11f16d750]\n\n\t* Python/sip/qscilexerperl.sip, Python/sip/qsciscintillabase.sip,\n\tdoc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/ScintillaRelated.html,\n\tdoc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile,\n\tgtk/scintilla.mak, include/Platform.h, include/PropSet.h,\n\tinclude/SciLexer.h, include/Scintilla.h, include/Scintilla.iface,\n\tlib/README.svn, macosx/PlatMacOSX.cxx, macosx/ScintillaMacOSX.h,\n\tmacosx/makefile, qt/PlatQt.cpp, qt/qscilexer.cpp, qt/qscilexer.h,\n\tqt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscintilla.pro, qt/qsciscintilla.cpp,\n\tqt/qsciscintillabase.h, src/CellBuffer.cxx, src/CellBuffer.h,\n\tsrc/ContractionState.cxx, src/ContractionState.h, src/Document.cxx,\n\tsrc/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx,\n\tsrc/Editor.h, src/KeyWords.cxx, src/LexAPDL.cxx, src/LexASY.cxx,\n\tsrc/LexAU3.cxx, src/LexAbaqus.cxx, src/LexBash.cxx, src/LexCPP.cxx,\n\tsrc/LexGen.py, src/LexHTML.cxx, src/LexHaskell.cxx,\n\tsrc/LexMetapost.cxx, src/LexOthers.cxx, src/LexPerl.cxx,\n\tsrc/LexPython.cxx, src/LexR.cxx, src/LexSQL.cxx, src/LexTeX.cxx,\n\tsrc/LexYAML.cxx, src/Partitioning.h, src/PositionCache.cxx,\n\tsrc/PositionCache.h, src/PropSet.cxx, src/RunStyles.cxx,\n\tsrc/RunStyles.h, src/ScintillaBase.cxx, src/SplitVector.h,\n\tsrc/ViewStyle.cxx, src/ViewStyle.h, vcbuild/SciLexer.dsp,\n\tversion.txt, win32/PlatWin.cxx, win32/ScintRes.rc,\n\twin32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak,\n\twin32/scintilla_vc6.mak:\n\tMerged Scintilla v1.75.\n\t[8009a4d7275a]\n\n2007-11-17  phil  <phil>\n\n\t* qt/SciClasses.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tBug fixes for selectAll() and getCursorPosition() from Baz Walter.\n\t[80eecca239b4]\n\n2007-10-24  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed folding for HTML.\n\t[bb6fb6065e30]\n\n2007-10-14  phil  <phil>\n\n\t* build.py, lib/GPL_EXCEPTION.TXT, lib/GPL_EXCEPTION_ADDENDUM.TXT,\n\tlib/LICENSE.gpl, lib/OPENSOURCE-NOTICE.TXT, qt/qscicommandset.cpp:\n\tControl characters that are not bound to commands (or shortcuts) now\n\tdefault to doing nothing (rather than inserting the character into\n\tthe text). Aligned the GPL license with Trolltech's exceptions.\n\t[148432c68762]\n\n2007-10-12  phil  <phil>\n\n\t* src/LexHTML.cxx:\n\tFixed the Scintilla HTML lexer's handling of characters >= 0x80.\n\t[c4e271ce8e96]\n\n2007-10-05  phil  <phil>\n\n\t* qt/qsciscintillabase.cpp:\n\tUsed NoSystemBackground rather than OpaquePaintEvent to eliminate\n\tflicker.\n\t[01a22c66304d]\n\n2007-10-04  phil  <phil>\n\n\t* Makefile, qt/qsciscintillabase.cpp:\n\tFixed a flashing effect visible with a non-standard background.\n\tSwitched to Qt v4.3.2.\n\t[781c58fcba96]\n\n2007-09-23  phil  <phil>\n\n\t* qt/qsciapis.h, qt/qscicommand.h, qt/qscicommandset.h,\n\tqt/qscidocument.h, qt/qsciglobal.h, qt/qscilexer.h,\n\tqt/qscilexerbash.h, qt/qscilexerbatch.h, qt/qscilexercmake.h,\n\tqt/qscilexercpp.h, qt/qscilexercsharp.h, qt/qscilexercss.h,\n\tqt/qscilexerd.h, qt/qscilexerdiff.h, qt/qscilexerhtml.h,\n\tqt/qscilexeridl.h, qt/qscilexerjava.h, qt/qscilexerjavascript.h,\n\tqt/qscilexerlua.h, qt/qscilexermakefile.h, qt/qscilexerperl.h,\n\tqt/qscilexerpov.h, qt/qscilexerproperties.h, qt/qscilexerpython.h,\n\tqt/qscilexerruby.h, qt/qscilexersql.h, qt/qscilexertex.h,\n\tqt/qscilexervhdl.h, qt/qscimacro.h, qt/qsciprinter.h,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tMade the recent portabilty changes Mac specific as AIX has a problem\n\twith them.\n\t[0de605d4079f]\n\n2007-09-16  phil  <phil>\n\n\t* qt/qscilexer.cpp:\n\tA lexer's default colour, paper and font are now written to and read\n\tfrom the settings.\n\t[45277fc76ace]\n\n2007-09-15  phil  <phil>\n\n\t* lib/README.doc, qt/qsciapis.h, qt/qscicommand.h,\n\tqt/qscicommandset.h, qt/qscidocument.h, qt/qsciglobal.h,\n\tqt/qscilexer.h, qt/qscilexerbash.h, qt/qscilexerbatch.h,\n\tqt/qscilexercmake.h, qt/qscilexercpp.h, qt/qscilexercsharp.h,\n\tqt/qscilexercss.h, qt/qscilexerd.h, qt/qscilexerdiff.h,\n\tqt/qscilexerhtml.h, qt/qscilexeridl.h, qt/qscilexerjava.h,\n\tqt/qscilexerjavascript.h, qt/qscilexerlua.h, qt/qscilexermakefile.h,\n\tqt/qscilexerperl.h, qt/qscilexerpov.h, qt/qscilexerproperties.h,\n\tqt/qscilexerpython.h, qt/qscilexerruby.h, qt/qscilexersql.h,\n\tqt/qscilexertex.h, qt/qscilexervhdl.h, qt/qscimacro.h,\n\tqt/qsciprinter.h, qt/qsciscintilla.h, qt/qsciscintillabase.h:\n\tFixed the MacOS build problems when using the binary installer\n\tversion of Qt.\n\t[e059a923a447]\n\n\t* lib/LICENSE.commercial.short, qt/PlatQt.cpp:\n\tAdded the missing WaitMouseMoved() implementation on MacOS.\n\t[78d1c8fc37c0]\n\n2007-09-10  phil  <phil>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tQsciScintilla::setFont() now calls QWidget::setFont() so that font()\n\treturns the expected value.\n\t[fd4f577c60ea]\n\n2007-09-02  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed problems which the font size of STYLE_DEFAULT not being\n\tupdated when the font of style 0 was changed. Hopefully this fixes\n\tthe problems with edge columns and indentation guides.\n\t[ddeccb6f64a0]\n\n2007-08-12  phil  <phil>\n\n\t* Makefile, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short,\n\tqt/qscintilla.pro:\n\tApplied .pro file fix from Dirk Mueller to add a proper install\n\trule.\n\t[a3a2e49f1042]\n\n2007-07-22  phil  <phil>\n\n\t* qt/qscilexer.cpp:\n\tMade sure that the backgound colour of areas of the widget with no\n\ttext is updated when QsciLexer.setDefaultPaper() is called.\n\t[065558d2430b]\n\n2007-07-09  phil  <phil>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tExplicitly set the style for STYLE_DEFAULT when setting a lexer.\n\t[a95fc3357771]\n\n2007-06-30  phil  <phil>\n\n\t* Python/sip/qsciscintillabase.sip, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, gtk/scintilla.mak,\n\tinclude/Accessor.h, include/HFacer.py, include/KeyWords.h,\n\tinclude/Platform.h, include/PropSet.h, include/SString.h,\n\tinclude/SciLexer.h, include/Scintilla.h, include/Scintilla.iface,\n\tinclude/WindowAccessor.h, macosx/PlatMacOSX.cxx,\n\tmacosx/PlatMacOSX.h, macosx/QuartzTextLayout.h,\n\tmacosx/QuartzTextStyle.h, macosx/QuartzTextStyleAttribute.h,\n\tmacosx/SciTest/English.lproj/InfoPlist.strings,\n\tmacosx/SciTest/English.lproj/main.nib/classes.nib,\n\tmacosx/SciTest/English.lproj/main.nib/info.nib,\n\tmacosx/SciTest/English.lproj/main.nib/objects.xib,\n\tmacosx/SciTest/Info.plist,\n\tmacosx/SciTest/SciTest.xcode/project.pbxproj,\n\tmacosx/SciTest/SciTest_Prefix.pch, macosx/SciTest/main.cpp,\n\tmacosx/SciTest/version.plist, macosx/ScintillaCallTip.cxx,\n\tmacosx/ScintillaCallTip.h, macosx/ScintillaListBox.cxx,\n\tmacosx/ScintillaListBox.h, macosx/ScintillaMacOSX.cxx,\n\tmacosx/ScintillaMacOSX.h, macosx/TCarbonEvent.cxx,\n\tmacosx/TCarbonEvent.h, macosx/TRect.h, macosx/TView.cxx,\n\tmacosx/TView.h, macosx/deps.mak, macosx/makefile,\n\tqt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.h, src/AutoComplete.cxx, src/AutoComplete.h,\n\tsrc/CallTip.cxx, src/CallTip.h, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/CharacterSet.h, src/ContractionState.cxx,\n\tsrc/ContractionState.h, src/Decoration.cxx, src/Decoration.h,\n\tsrc/Document.cxx, src/Document.h, src/DocumentAccessor.cxx,\n\tsrc/DocumentAccessor.h, src/Editor.cxx, src/Editor.h,\n\tsrc/ExternalLexer.cxx, src/ExternalLexer.h, src/Indicator.cxx,\n\tsrc/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/KeyWords.cxx,\n\tsrc/LexAPDL.cxx, src/LexAU3.cxx, src/LexAVE.cxx, src/LexAda.cxx,\n\tsrc/LexAsm.cxx, src/LexAsn1.cxx, src/LexBaan.cxx, src/LexBash.cxx,\n\tsrc/LexBasic.cxx, src/LexBullant.cxx, src/LexCLW.cxx,\n\tsrc/LexCPP.cxx, src/LexCSS.cxx, src/LexCaml.cxx, src/LexCmake.cxx,\n\tsrc/LexConf.cxx, src/LexCrontab.cxx, src/LexCsound.cxx,\n\tsrc/LexD.cxx, src/LexEScript.cxx, src/LexEiffel.cxx,\n\tsrc/LexErlang.cxx, src/LexFlagship.cxx, src/LexForth.cxx,\n\tsrc/LexFortran.cxx, src/LexGAP.cxx, src/LexGen.py,\n\tsrc/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexHaskell.cxx,\n\tsrc/LexInno.cxx, src/LexKix.cxx, src/LexLisp.cxx, src/LexLout.cxx,\n\tsrc/LexLua.cxx, src/LexMMIXAL.cxx, src/LexMPT.cxx, src/LexMSSQL.cxx,\n\tsrc/LexMatlab.cxx, src/LexMetapost.cxx, src/LexNsis.cxx,\n\tsrc/LexOpal.cxx, src/LexOthers.cxx, src/LexPB.cxx, src/LexPLM.cxx,\n\tsrc/LexPOV.cxx, src/LexPS.cxx, src/LexPascal.cxx, src/LexPerl.cxx,\n\tsrc/LexProgress.cxx, src/LexPython.cxx, src/LexRebol.cxx,\n\tsrc/LexRuby.cxx, src/LexSQL.cxx, src/LexScriptol.cxx,\n\tsrc/LexSmalltalk.cxx, src/LexSpecman.cxx, src/LexSpice.cxx,\n\tsrc/LexTADS3.cxx, src/LexTCL.cxx, src/LexTeX.cxx, src/LexVB.cxx,\n\tsrc/LexVHDL.cxx, src/LexVerilog.cxx, src/LexYAML.cxx,\n\tsrc/LineMarker.cxx, src/LineMarker.h, src/Partitioning.h,\n\tsrc/PositionCache.cxx, src/PositionCache.h, src/PropSet.cxx,\n\tsrc/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx,\n\tsrc/RunStyles.h, src/SVector.h, src/ScintillaBase.cxx,\n\tsrc/ScintillaBase.h, src/SplitVector.h, src/Style.cxx, src/Style.h,\n\tsrc/StyleContext.cxx, src/StyleContext.h, src/UniConversion.cxx,\n\tsrc/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h,\n\tsrc/WindowAccessor.cxx, src/XPM.cxx, src/XPM.h,\n\tvcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx,\n\twin32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak,\n\tzipsrc.bat:\n\tMerged Scintilla v1.74.\n\t[04dee9c2424f]\n\n\t* Python/sip/qscilexerpython.sip, build.py, qt/qscilexer.cpp,\n\tqt/qscilexerbash.cpp, qt/qscilexerpython.cpp, qt/qscilexerpython.h,\n\tqt/qscintilla.pro:\n\tFixed comment folding in the Bash lexer. A style is properly\n\trestored when read from QSettings. Removed ./Qsci from the qmake\n\tINCLUDEPATH. Removed the Scintilla version number from generated\n\tfilenames. Used fully qualified enum names in the Python lexer so\n\tthat the QMetaObject is correct.\n\t[6b27a5b211e0]\n\n2007-06-01  phil  <phil>\n\n\t* NEWS:\n\tReleased as v2.1.\n\t[9976edafc5c1] [2.1]\n\n2007-05-30  phil  <phil>\n\n\t* Makefile:\n\tSwitched the internal build system to Qt v4.3.0.\n\t[49284aa376ef]\n\n\t* NEWS, Python/configure.py, Python/sip/qscilexer.sip,\n\tPython/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip,\n\tPython/sip/qscilexercmake.sip, Python/sip/qscilexercpp.sip,\n\tPython/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip,\n\tPython/sip/qscilexerd.sip, Python/sip/qscilexerdiff.sip,\n\tPython/sip/qscilexerhtml.sip, Python/sip/qscilexeridl.sip,\n\tPython/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip,\n\tPython/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip,\n\tPython/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip,\n\tPython/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip,\n\tPython/sip/qscilexersql.sip, Python/sip/qscilexertex.sip,\n\tPython/sip/qscilexervhdl.sip, Python/sip/qscimodcommon.sip,\n\tbuild.py, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerbash.cpp,\n\tqt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h,\n\tqt/qscilexercmake.cpp, qt/qscilexercmake.h, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h,\n\tqt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerd.cpp,\n\tqt/qscilexerd.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h,\n\tqt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.cpp,\n\tqt/qscilexeridl.h, qt/qscilexerjavascript.cpp,\n\tqt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h,\n\tqt/qscilexermakefile.cpp, qt/qscilexermakefile.h,\n\tqt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp,\n\tqt/qscilexerpov.h, qt/qscilexerproperties.cpp,\n\tqt/qscilexerproperties.h, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h,\n\tqt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp,\n\tqt/qscilexertex.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h,\n\tqt/qscintilla.pro:\n\tLexers now remember their style settings. A lexer no longer has to\n\tbe the current lexer when changing a style's color, end-of-line\n\tfill, font or paper. The color(), eolFill(), font() and paper()\n\tmethods of QsciLexer now return the current values for a style\n\trather than the default values. The setDefaultColor(),\n\tsetDefaultFont() and setDefaultPaper() methods of QsciLexer are no\n\tlonger slots and no longer virtual. The defaultColor(),\n\tdefaultFont() and defaultPaper() methods of QsciLexer are no longer\n\tvirtual. The color(), eolFill(), font() and paper() methods of all\n\tQsciLexer derived classes (except for QsciLexer itself) have been\n\trenamed defaultColor(), defaultEolFill(), defaultFont() and\n\tdefaultPaper() respectively.\n\t[38aeee2a5a36]\n\n2007-05-28  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tSet the number of style bits after we've set the lexer.\n\t[84cda9af5b00]\n\n\t* Python/configure.py:\n\tFixed the handling of the %Timeline in the Python bindings.\n\t[4b3146d1a236]\n\n2007-05-27  phil  <phil>\n\n\t* Python/sip/qsciscintillabase.sip:\n\tUpdated the sub-class convertor code in the Python bindings for the\n\tCmake and VHDL lexers.\n\t[6ab6570728a2]\n\n2007-05-26  phil  <phil>\n\n\t* NEWS:\n\tUpdated the NEWS file. Released as v2.0.\n\t[eec9914d8211] [2.0]\n\n2007-05-19  phil  <phil>\n\n\t* Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tAdded basic input method support for Qt4 so that accented characters\n\tnow work. (Although there is still a font problem - at least a text\n\tcolour problem.)\n\t[6b41f3694999]\n\n\t* qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintillabase.cpp:\n\tFixed building against Qt v3.\n\t[9e9ba05de0fb]\n\n2007-05-17  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed an autocompletion problem where an empty list was being\n\tdisplayed.\n\t[c7214274017c]\n\n2007-05-16  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed a bug where autocompleting from the document was looking for\n\tpreceeding non-word characters as well.\n\t[3ee6fd746d49]\n\n\t* qt/qsciscintilla.cpp:\n\tFixed silly typo that broke call tips.\n\t[05213a8933c2]\n\n2007-05-09  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tFiex an autocompletion bug for words that only had preceding\n\twhitespace.\n\t[a8f3339e02c6]\n\n\t* Python/configure.py, lib/gen_python_api.py,\n\tqsci/api/python/Python-2.4.api, qsci/api/python/Python-2.5.api,\n\tqt/qsciapis.cpp, qt/qsciapis.h:\n\tCall tips shouldn't now get confused with commas in the text after\n\tthe argument list. The included API files for Python should now be\n\tcomplete and properly exclude anything beginning with an underscore.\n\tThe Python bindings configure.py can now install the API file in a\n\tuser supplied directory.\n\t[c7e93dc918de]\n\n\t* qt/qscintilla_cs.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm,\n\tqt/qscintilla_ru.qm:\n\tRan lrelease on the project.\n\t[c3ce60078221]\n\n\t* Makefile, qt/qscintilla_cs.ts, qt/qscintilla_de.ts,\n\tqt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts:\n\tUpdated the internal build system to Qt v4.3.0rc1. Ran lupdate on\n\tthe project.\n\t[6a86e71a4e26]\n\n2007-05-08  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tCall tips will now show all the tips for a function (in all scopes)\n\tif the current context/scope isn't known.\n\t[cbebccc205c7]\n\n\t* Python/sip/qsciscintilla.sip, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded callTipsStyle() and setCallTipsStyle() to QsciScintilla.\n\t[59d453b5da8c]\n\n2007-05-07  phil  <phil>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAutocompletion from documents should now work the same as QScintilla\n\tv1. The only difference is that the list does not contain the\n\tpreceding context so it is consistent with autocompletion from APIs.\n\t[46de719d325e]\n\n\t* qt/qscintilla.pro, qt/qscintilla_cs.qm, qt/qscintilla_cs.ts:\n\tAdded the Czech translations from Zdenek Bohm.\n\t[139fd9aee405]\n\n2007-04-30  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciScintilla::wordCharacters().\n\t[d6e56986a031]\n\n2007-04-29  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tAdded lots of consts to QsciScintilla getter methods.\n\t[4aaffa8611ba]\n\n\t* Python/configure.py, Python/sip/qsciscintilla.sip,\n\tqt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded caseSensitive() and isWordCharacter() to QsciScintilla.\n\tUpdated translations from Detlev.\n\t[64223bf97266]\n\n2007-04-10  phil  <phil>\n\n\t* Python/sip/qscilexercmake.sip, Python/sip/qscilexervhdl.sip,\n\tPython/sip/qscimodcommon.sip, qt/qscilexercmake.cpp,\n\tqt/qscilexercmake.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h,\n\tqt/qscintilla.pro:\n\tAdded the QsciLexerVHDL class.\n\t[10029339786f]\n\n\t* Python/sip/qscilexercmake.sip, Python/sip/qscimodcommon.sip,\n\tqt/qscilexercmake.cpp, qt/qscilexercmake.h, qt/qscintilla.pro:\n\tAdded the QsciLexerCmake class.\n\t[c1c911246f75]\n\n2007-04-09  phil  <phil>\n\n\t* qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tFinished call tip support.\n\t[b8c717297392]\n\n2007-04-07  phil  <phil>\n\n\t* qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tSome refactoring in preparation for getting call tips working.\n\t[6cb925653a80]\n\n2007-04-06  phil  <phil>\n\n\t* qt/qsciscintilla.cpp:\n\tFixed autoindenting.\n\t[8d7b93ee4d9e]\n\n2007-04-05  phil  <phil>\n\n\t* qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp:\n\tFixed autocompletion so that it works with lexers that don't define\n\tword separators, and lexers that are case insensitive.\n\t[66634cf13685]\n\n2007-04-04  phil  <phil>\n\n\t* qt/ScintillaQt.cpp, qt/qsciscintilla.cpp:\n\tFixed the horizontal scrollbar when word wrapping.\n\t[021ea1fe8468]\n\n2007-04-03  phil  <phil>\n\n\t* Python/configure.py, Python/sip/qsciscintillabase.sip, delcvs.bat,\n\tdoc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/ScintillaRelated.html,\n\tdoc/index.html, gtk/makefile, gtk/scintilla.mak, include/SciLexer.h,\n\tinclude/Scintilla.h, include/Scintilla.iface, qt/ScintillaQt.cpp,\n\tqt/qscintilla.pro, qt/qsciscintillabase.h, src/Document.cxx,\n\tsrc/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx,\n\tsrc/Editor.h, src/ExternalLexer.h, src/KeyWords.cxx, src/LexAU3.cxx,\n\tsrc/LexBash.cxx, src/LexCmake.cxx, src/LexHTML.cxx, src/LexLua.cxx,\n\tsrc/LexMSSQL.cxx, src/LexOthers.cxx, src/LexTADS3.cxx,\n\tsrc/PropSet.cxx, src/RESearch.cxx, src/RESearch.h,\n\tsrc/SplitVector.h, vcbuild/SciLexer.dsp, version.txt,\n\twin32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak:\n\tMerged Scintilla v1.73.\n\t[2936af6fc62d]\n\n2007-03-18  phil  <phil>\n\n\t* Makefile, Python/sip/qscilexerd.sip, Python/sip/qscimodcommon.sip,\n\tPython/sip/qsciscintillabase.sip, qt/qscilexerd.cpp,\n\tqt/qscilexerd.h, qt/qscintilla.pro, qt/qscintilla_de.qm,\n\tqt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts,\n\tqt/qscintilla_ru.ts:\n\tSwitched the internal build system to Qt v4.2.3. Added the D lexer\n\tsupport from Detlev.\n\t[667e9b81ab4f]\n\n2007-03-04  phil  <phil>\n\n\t* Makefile, example-Qt4/mainwindow.cpp, qt/PlatQt.cpp,\n\tqt/qsciscintilla.cpp:\n\tFixed a bug in default font handling. Removed use of QIODevice::Text\n\tin the example as it is unnecessary and a performance hog. Moved the\n\tinternal Qt3 build system to Qt v3.3.8. Auto-indentation should now\n\twork (as badly) as it did with QScintilla v1.\n\t[4d3ad4d1f295]\n\n2007-01-17  phil  <phil>\n\n\t* Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h:\n\tAdded defaultPreparedName() to QsciAPIs.\n\t[2a3c872122dd]\n\n\t* designer-Qt4/qscintillaplugin.cpp:\n\tFixed the Qt4 Designer plugin include file value.\n\t[ea7cb8634ad2]\n\n2007-01-16  phil  <phil>\n\n\t* Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h:\n\tAdded cancelPreparation() and apiPreparationCancelled() to QsciAPIs.\n\t[2d7dd00e3bc0]\n\n\t* Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip,\n\tbuild.py, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short,\n\tqt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tUpdated the copyright notices. Added selectionToEol() and\n\tsetSelectionToEol() to QsciScintilla. Added the other 1.72 changes\n\tto the low level API.\n\t[ddcf2d43cf31]\n\n\t* doc/SciBreak.jpg, doc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/ScintillaRelated.html,\n\tdoc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile,\n\tgtk/scintilla.mak, include/SciLexer.h, include/Scintilla.h,\n\tinclude/Scintilla.iface, qt/ScintillaQt.h, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/ContractionState.cxx, src/Document.cxx,\n\tsrc/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx,\n\tsrc/Editor.h, src/KeyWords.cxx, src/LexCPP.cxx, src/LexD.cxx,\n\tsrc/LexGen.py, src/LexHTML.cxx, src/LexInno.cxx, src/LexLua.cxx,\n\tsrc/LexMatlab.cxx, src/LexNsis.cxx, src/LexOthers.cxx,\n\tsrc/LexRuby.cxx, src/LexTADS3.cxx, src/Partitioning.h,\n\tsrc/ScintillaBase.cxx, src/SplitVector.h, src/StyleContext.h,\n\tsrc/ViewStyle.cxx, src/ViewStyle.h, vcbuild/SciLexer.dsp,\n\tversion.txt, win32/ScintRes.rc, win32/ScintillaWin.cxx,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak:\n\tMerged Scintilla v1.72, but any new features are not yet exploited.\n\t[dcdfde9050a2]\n\n2007-01-09  phil  <phil>\n\n\t* Python/configure.py:\n\tFixed bug in configure.py when the -p flag wasn't specified.\n\t[50dc69f2b20d]\n\n2007-01-04  phil  <phil>\n\n\t* Python/configure.py, Python/sip/qscilexer.sip, qt/qsciapis.cpp,\n\tqt/qsciapis.h, qt/qsciscintilla.cpp:\n\tBackported to Qt v3. Note that this will probably break again in the\n\tfuture when call tips are redone.\n\t[3bcc4826fc73]\n\n2007-01-02  phil  <phil>\n\n\t* Python/configure.py, lib/gen_python_api.py,\n\tqsci/api/python/Python-2.4.api, qsci/api/python/Python-2.5.api,\n\tqt/qsciapis.cpp:\n\tAdded the Python v2.4 and v2.5 API files. Added the generation of\n\tthe QScintilla2.api file.\n\t[49beb92ca721]\n\n2007-01-01  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, qt/qscilexer.h, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded autoCompletionFillupsEnabled() and\n\tsetAutoCompletionFillupsEnabled() to QsciScintilla. Updated the\n\tPython bindings.\n\t[7aa946010e9d]\n\n\t* Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h:\n\tImplemented loadPrepared() and savePrepared() in QsciAPIs. Added\n\tisPrepared() to QsciAPIs. Updated the Python bindings.\n\t[4c5e3d80fec7]\n\n\t* Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h:\n\tAdded installAPIFiles() and stubs for loadPrepared() and\n\tsavePrepared() to QsciAPIs.\n\t[93f4dd7222a1]\n\n\t* Python/sip/qsciapis.sip:\n\tAdded the missing qsciapis.sip file.\n\t[064b524acc93]\n\n\t* Python/sip/qscilexer.sip, Python/sip/qscimodcommon.sip,\n\tlib/qscintilla.dxy, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qscilexer.cpp, qt/qscilexer.h:\n\tFixed the generation of the API documentation. Added apis() and\n\tsetAPIs() to QsciLexer. Removed apiAdd(), apiClear(), apiLoad(),\n\tapiRemove(), apiProcessingStarted() and apiProcessingFinished() from\n\tQsciLexer. Added apiPreparationStarted() and\n\tapiPreparationFinished() to QsciAPIs. Made QsciAPIs part of the API\n\tagain. Updated the Python bindings.\n\t[851d133b12ff]\n\n2006-12-20  phil  <phil>\n\n\t* Makefile, qt/qsciapis.cpp, qt/qsciapis.h:\n\tUpdated the internal build system to Qt v4.2.2. More work on auto-\n\tcompletion.\n\t[d4542220e7a2]\n\n2006-11-26  phil  <phil>\n\n\t* qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tMore work on the auto-completion code.\n\t[37b2d0d2b154]\n\n2006-11-22  phil  <phil>\n\n\t* qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h,\n\tqt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tChanged the handling of case sensitivity in auto-completion lists.\n\tLexers now say if they are case sensitive.\n\t[b1932fba61ec]\n\n2006-11-17  phil  <phil>\n\n\t* Makefile, Python/configure.py, Python/sip/qscicommand.sip,\n\tPython/sip/qscicommandset.sip, Python/sip/qscidocument.sip,\n\tPython/sip/qscilexer.sip, Python/sip/qscilexerbash.sip,\n\tPython/sip/qscilexerbatch.sip, Python/sip/qscilexercpp.sip,\n\tPython/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip,\n\tPython/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip,\n\tPython/sip/qscilexeridl.sip, Python/sip/qscilexerjava.sip,\n\tPython/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip,\n\tPython/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip,\n\tPython/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip,\n\tPython/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip,\n\tPython/sip/qscilexersql.sip, Python/sip/qscilexertex.sip,\n\tPython/sip/qscimacro.sip, Python/sip/qsciprinter.sip,\n\tPython/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip,\n\tTODO, build.py, designer-Qt3/qscintillaplugin.cpp, designer-\n\tQt4/qscintillaplugin.cpp, example-Qt3/application.cpp, example-\n\tQt4/mainwindow.cpp, qt/PlatQt.cpp, qt/ScintillaQt.cpp,\n\tqt/qsciapis.cpp, qt/qsciapis.h, qt/qscicommand.cpp,\n\tqt/qscicommand.h, qt/qscicommandset.cpp, qt/qscicommandset.h,\n\tqt/qscidocument.cpp, qt/qscidocument.h, qt/qscilexer.cpp,\n\tqt/qscilexer.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h,\n\tqt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h,\n\tqt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp,\n\tqt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h,\n\tqt/qscilexeridl.cpp, qt/qscilexeridl.h, qt/qscilexerjava.cpp,\n\tqt/qscilexerjava.h, qt/qscilexerjavascript.cpp,\n\tqt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h,\n\tqt/qscilexermakefile.cpp, qt/qscilexermakefile.h,\n\tqt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp,\n\tqt/qscilexerpov.h, qt/qscilexerproperties.cpp,\n\tqt/qscilexerproperties.h, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h,\n\tqt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp,\n\tqt/qscilexertex.h, qt/qscimacro.cpp, qt/qscimacro.h,\n\tqt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h:\n\tFixed the name of the generated source packages. Reorganised so that\n\tthe header files are in a separate sub-directory. Updated the\n\tdesigner plugins and examples for the changing in header file\n\tstructure. More work on autocompletion. Basic functionality is\n\tthere, but no support for the \"current context\" yet.\n\t[312e74140bb8]\n\n2006-11-04  phil  <phil>\n\n\t* designer-Qt4/qscintillaplugin.cpp:\n\tDesigner plugin fixes for Qt4 from DavidB.\n\t[920f7af8bec6]\n\n2006-11-03  phil  <phil>\n\n\t* qt/qscilexer.cpp:\n\tFixed QsciLexer::setPaper() so that it also sets the background\n\tcolour of the default style.\n\t[fcab00732d97]\n\n2006-10-21  phil  <phil>\n\n\t* Makefile, qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp:\n\tSwitched the internal build system to Qt v3.3.7 and v4.2.1.\n\tPortability fixes for Qt3.\n\t[512b57958ea4]\n\n2006-10-20  phil  <phil>\n\n\t* Makefile, build.py, include/Platform.h, lib/README.doc,\n\tqt/PlatQt.cpp, qt/qscimacro.cpp, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp:\n\tRenamed the base package QScintilla2. Platform portability fixes\n\tfrom Ulli. The qsci data directory is now installed (where API files\n\twill be kept).\n\t[2a61d65842fb]\n\n2006-10-13  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, qt/qscintilla.pro,\n\tqt/qscintilla_pt_br.qm, qt/qscintilla_pt_br.ts,\n\tqt/qscintilla_ptbr.qm, qt/qscintilla_ptbr.ts, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded QsciScintilla::linesChanged() from Detlev. Removed\n\tQsciScintilla::markerChanged(). Renamed the Brazilian Portugese\n\ttranslation files.\n\t[5b23de72e063]\n\n\t* Makefile, Python/sip/qscilexer.sip, qt/ListBoxQt.cpp,\n\tqt/ListBoxQt.h, qt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qscilexer.cpp, qt/qscilexer.h, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tAdded apiRemove(), apiProcessingStarted() and\n\tapiProcessingFinished() to QsciLexer.\n\t[ef2cb95b868a]\n\n2006-10-08  phil  <phil>\n\n\t* qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tReset the text and paper colours and font when removing a lexer.\n\t[08ac85b34d80]\n\n\t* qt/qsciscintilla.cpp:\n\tFixed Qt3 specific problem with most recent changes.\n\t[e4ba06e01a1e]\n\n2006-10-06  phil  <phil>\n\n\t* Python/sip/qsciapis.sip, Python/sip/qscilexer.sip,\n\tPython/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip,\n\tqt/ListBoxQt.cpp, qt/SciClasses.cpp, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerbash.cpp,\n\tqt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h,\n\tqt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.h,\n\tqt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp,\n\tqt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h,\n\tqt/qscilexeridl.h, qt/qscilexerjavascript.h, qt/qscilexerlua.cpp,\n\tqt/qscilexerlua.h, qt/qscilexermakefile.cpp, qt/qscilexermakefile.h,\n\tqt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp,\n\tqt/qscilexerpov.h, qt/qscilexerproperties.cpp,\n\tqt/qscilexerproperties.h, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h,\n\tqt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp,\n\tqt/qscilexertex.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tMade QsciAPIs an internal class and instead added apiAdd(),\n\tapiClear() and apiLoad() to QsciLexer. Replaced\n\tsetAutoCompletionStartCharacters() with\n\tsetAutoCompletionWordSeparators() in QsciScintilla. Removed\n\tautoCompletionFillupsEnabled(), setAutoCompletionFillupsEnabled(),\n\tsetAutoCompletionAPIs() and setCallTipsAPIs() from QsciScintilla.\n\tAdded AcsNone to QsciScintilla::AutoCompletionSource. Horizontal\n\tscrollbars are displayed as needed in autocompletion lists. Added\n\tQsciScintilla::lexer(). Fixed setFont(), setColor(), setEolFill()\n\tand setPaper() in QsciLexer so that they handle all styles as\n\tdocumented. Removed all occurences of QString::null. Fixed the\n\tproblem with indentation guides not changing when the size of a\n\tspace changed. Added the QsciScintilla::markerChanged() signal.\n\tUpdated the Python bindings.\n\t[9ae22e152365]\n\n2006-10-01  phil  <phil>\n\n\t* qt/PlatQt.cpp:\n\tFixed a silly line drawing bug.\n\t[0f9f5c22421a]\n\n2006-09-30  phil  <phil>\n\n\t* qt/qscintilla.pro:\n\tFixes for building on Windows and MacOS/X.\n\t[c16bc6aeba20]\n\n2006-09-29  phil  <phil>\n\n\t* example-Qt4/application.pro, qt/PlatQt.cpp, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.cpp:\n\tFixed the documentation bug in QsciScintilla::insert(). Fixed the\n\tmouse shape changing properly. Fixed the drawing of fold markers.\n\t[08af64d93094]\n\n2006-09-23  phil  <phil>\n\n\t* lib/README:\n\tImproved the README for the pedants amongst us.\n\t[683bdb9a84fc]\n\n\t* designer-Qt4/designer.pro, designer-Qt4/qscintillaplugin.cpp,\n\tdesigner-Qt4/qscintillaplugin.h:\n\tThe Qt4 Designer plugin now loads - thanks to DavidB.\n\t[feb5a3618df6]\n\n2006-09-16  phil  <phil>\n\n\t* build.py, designer-Qt3/designer.pro, designer-\n\tQt3/qscintillaplugin.cpp, designer-Qt4/designer.pro, designer-\n\tQt4/qscintillaplugin.cpp, designer/designer.pro,\n\tdesigner/qscintillaplugin.cpp, lib/README.doc, qt/qsciscintilla.h:\n\tFixed the Qt3 designer plugin. Added the Qt4 designer plugin based\n\ton Andrius Ozelis's work. (But it doesn't load for me - does anybody\n\telse have a problem?)\n\t[3a0873ed5ff0]\n\n2006-09-09  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h:\n\tQsciScintilla's setFont(), setColor() and setPaper() now work as\n\texpected when there is no lexer (and have no effect if there is a\n\tlexer).\n\t[65cc713d9ecb]\n\n2006-08-28  phil  <phil>\n\n\t* qt/ListBoxQt.cpp, qt/PlatQt.cpp:\n\tFixed a crash when double-clicking on an auto-completion list entry.\n\t[d8eecfc59ca2]\n\n2006-08-27  phil  <phil>\n\n\t* Python/sip/qsciscintillabase.sip, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx,\n\tgtk/ScintillaGTK.cxx, qt/ScintillaQt.cpp, qt/qsciscintillabase.h,\n\tsrc/Editor.cxx, src/LexCPP.cxx, src/LexPerl.cxx, src/LexVB.cxx,\n\tsrc/StyleContext.h, version.txt, win32/ScintRes.rc,\n\twin32/ScintillaWin.cxx:\n\tMerged Scintilla v1.71. The SCN_DOUBLECLICK() signal now passes the\n\tline and position of the click.\n\t[81c852fed943]\n\n2006-08-17  phil  <phil>\n\n\t* Python/sip/qsciscintilla.sip, qt/ScintillaQt.cpp:\n\tFixed pasting when Unicode mode is set.\n\t[9d4a7ccef6f4]\n\n\t* build.py:\n\tFixed the internal build system leaving SVN remnants around.\n\t[96c36a0e94ac]\n\n2006-07-30  phil  <phil>\n\n\t* NEWS, Python/sip/qsciscintilla.sip, qt/qscicommand.h,\n\tqt/qscicommandset.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tAdded autoCompletionFillupsEnabled() and\n\tsetAutoCompletionFillupsEnabled() to QsciScintilla. Don't auto-\n\tcomplete numbers. Removed QsciCommandList.\n\t[e9886e5da7c3]\n\n2006-07-29  phil  <phil>\n\n\t* lib/README.doc, qt/PlatQt.cpp:\n\tDebugged the Qt3 backport - all seems to work.\n\t[1e743e050599]\n\n\t* Python/configure.py, Python/sip/qscimod3.sip,\n\tPython/sip/qsciscintillabase.sip, Python/sip/qsciscintillabase4.sip,\n\tbuild.py, lib/README, lib/README.doc, lib/qscintilla.dxy,\n\tqt/qsciscintillabase.h:\n\tThe PyQt3 bindings now work. Updated the documentation and build\n\tsystem for both Qt3 and Qt4.\n\t[f4fa8a9a35c0]\n\n2006-07-28  phil  <phil>\n\n\t* Python/sip/qscimodcommon.sip, Python/sip/qsciscintillabase4.sip,\n\tPython/sip/qscitypes.sip, example-Qt3/application.cpp, example-\n\tQt3/application.h, example-Qt3/application.pro, qt/qscicommand.cpp,\n\tqt/qscicommandset.cpp, qt/qscidocument.cpp, qt/qscimacro.cpp,\n\tqt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciscintilla.cpp,\n\tqt/qsciscintilla.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h, qt/qscitypes.h:\n\tBacked out the QscoTypes namespace now that the Qt3/4 source code\n\thas been consolidated.\n\t[372c37fa8b9c]\n\n\t* qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_ptbr.ts,\n\tqt/qscintilla_ru.ts, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h, qt/qsciscintillabase3.cpp,\n\tqt/qsciscintillabase3.h, qt/qsciscintillabase4.cpp,\n\tqt/qsciscintillabase4.h:\n\tIntegated the Qt3 and Qt4 source files.\n\t[4ee1fcf04cd9]\n\n\t* Makefile, build.py, lib/README.doc, lib/qscintilla.dxy,\n\tqt/qscintilla.pro, qt/qsciscintillabase.h,\n\tqt/qsciscintillabase3.cpp, qt/qsciscintillabase3.h,\n\tqt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h:\n\tThe Qt3 port now compiles, but otherwise untested.\n\t[da227e07e729]\n\n\t* Python/sip/qscimacro.sip, lib/README.doc, lib/qscintilla.dxy,\n\tqt/PlatQt.cpp, qt/qscilexermakefile.cpp, qt/qscimacro.cpp,\n\tqt/qscimacro.h, qt/qscintilla.pro, qt/qsciscintillabase.h,\n\tqt/qsciscintillabase3.cpp, qt/qsciscintillabase3.h,\n\tqt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h:\n\tChanges to QsciMacro so that it has a more consistent API across Qt3\n\tand Qt4. Backported to Qt3 - doesn't yet build because Qt3 qmake\n\tdoesn't understand the preprocessor.\n\t[910b415ec4a8]\n\n2006-07-27  phil  <phil>\n\n\t* build.py, designer/qscintillaplugin.cpp, example-Qt3/README,\n\texample-Qt4/README, lib/README, lib/README.doc, lib/qscintilla.dxy,\n\tqt/qscintilla.pro:\n\tUpdated the documentation.\n\t[7774f3e87003]\n\n2006-07-26  phil  <phil>\n\n\t* Makefile, Python/configure.py, Python/qsciapis.sip,\n\tPython/qscicommand.sip, Python/qscicommandset.sip,\n\tPython/qscidocument.sip, Python/qscilexer.sip,\n\tPython/qscilexerbash.sip, Python/qscilexerbatch.sip,\n\tPython/qscilexercpp.sip, Python/qscilexercsharp.sip,\n\tPython/qscilexercss.sip, Python/qscilexerdiff.sip,\n\tPython/qscilexerhtml.sip, Python/qscilexeridl.sip,\n\tPython/qscilexerjava.sip, Python/qscilexerjavascript.sip,\n\tPython/qscilexerlua.sip, Python/qscilexermakefile.sip,\n\tPython/qscilexerperl.sip, Python/qscilexerpov.sip,\n\tPython/qscilexerproperties.sip, Python/qscilexerpython.sip,\n\tPython/qscilexerruby.sip, Python/qscilexersql.sip,\n\tPython/qscilexertex.sip, Python/qscimacro.sip, Python/qscimod4.sip,\n\tPython/qscimodcommon.sip, Python/qsciprinter.sip,\n\tPython/qsciscintilla.sip, Python/qsciscintillabase4.sip,\n\tPython/qscitypes.sip, Python/sip/qsciapis.sip,\n\tPython/sip/qscicommand.sip, Python/sip/qscicommandset.sip,\n\tPython/sip/qscidocument.sip, Python/sip/qscilexer.sip,\n\tPython/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip,\n\tPython/sip/qscilexercpp.sip, Python/sip/qscilexercsharp.sip,\n\tPython/sip/qscilexercss.sip, Python/sip/qscilexerdiff.sip,\n\tPython/sip/qscilexerhtml.sip, Python/sip/qscilexeridl.sip,\n\tPython/sip/qscilexerjava.sip, Python/sip/qscilexerjavascript.sip,\n\tPython/sip/qscilexerlua.sip, Python/sip/qscilexermakefile.sip,\n\tPython/sip/qscilexerperl.sip, Python/sip/qscilexerpov.sip,\n\tPython/sip/qscilexerproperties.sip, Python/sip/qscilexerpython.sip,\n\tPython/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip,\n\tPython/sip/qscilexertex.sip, Python/sip/qscimacro.sip,\n\tPython/sip/qscimod4.sip, Python/sip/qscimodcommon.sip,\n\tPython/sip/qsciprinter.sip, Python/sip/qsciscintilla.sip,\n\tPython/sip/qsciscintillabase4.sip, Python/sip/qscitypes.sip,\n\tbuild.py, lib/LICENSE.edu, lib/LICENSE.edu.short, lib/README.MacOS:\n\tChanged the build system to add the Python bindings.\n\t[8a56c38c418b]\n\n\t* Python/configure.py, Python/qscicommandset.sip,\n\tPython/qscilexerruby.sip, Python/qscilexertex.sip,\n\tPython/qscimod4.sip, Python/qsciscintilla.sip,\n\tPython/qsciscintillabase4.sip, Python/qscitypes.sip:\n\tDebugged the Python bindings - not yet part of the snapshots.\n\t[8e348d9c7d38]\n\n2006-07-25  phil  <phil>\n\n\t* Python/qsciapis.sip, Python/qscicommand.sip,\n\tPython/qscicommandset.sip, Python/qscidocument.sip,\n\tPython/qscilexer.sip, Python/qscilexerbash.sip,\n\tPython/qscilexerbatch.sip, Python/qscilexercpp.sip,\n\tPython/qscilexercsharp.sip, Python/qscilexercss.sip,\n\tPython/qscilexerdiff.sip, Python/qscilexerhtml.sip,\n\tPython/qscilexeridl.sip, Python/qscilexerjava.sip,\n\tPython/qscilexerjavascript.sip, Python/qscilexerlua.sip,\n\tPython/qscilexermakefile.sip, Python/qscilexerperl.sip,\n\tPython/qscilexerpov.sip, Python/qscilexerproperties.sip,\n\tPython/qscilexerpython.sip, Python/qscilexerruby.sip,\n\tPython/qscilexersql.sip, Python/qscilexertex.sip,\n\tPython/qscimacro.sip, Python/qscimod4.sip, Python/qscimodcommon.sip,\n\tPython/qsciprinter.sip, Python/qsciscintilla.sip,\n\tPython/qsciscintillabase4.sip, Python/qscitypes.sip, qt/qsciapis.h,\n\tqt/qsciglobal.h, qt/qscilexer.h, qt/qscilexerbash.h,\n\tqt/qscilexercpp.h, qt/qscilexerperl.h, qt/qscilexerpython.h,\n\tqt/qscilexersql.h, qt/qsciprinter.h, qt/qsciscintilla.h:\n\tPorted the .sip files from v1. (Not yet part of the snapshot.)\n\t[c03807f9fbab]\n\n\t* Makefile, qt/qscintilla-Qt4.pro, qt/qscintilla.pro:\n\tThe .pro file should now work with both Qt v3 and v4.\n\t[c99aec4ce73d]\n\n\t* Makefile, qt/qscintilla-Qt4.pro, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h,\n\tqt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h:\n\tSome file reorganisation for when the backport to Qt3 is done.\n\t[c97fb1bdc0e5]\n\n\t* qt/qscicommand.cpp, qt/qscicommandset.cpp, qt/qscidocument.cpp,\n\tqt/qscimacro.cpp, qt/qscintilla.pro, qt/qsciprinter.cpp,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp,\n\tqt/qsciscintillabase.h, qt/qscitypes.h:\n\tMoved the Scintilla API enums out of QsciScintillaBase and into the\n\tnew QsciTypes namespace.\n\t[6de0ac19e4df]\n\n\t* qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tTriple clicking now works.\n\t[8ef632d89147]\n\n2006-07-23  phil  <phil>\n\n\t* qt/qsciscintillabase.cpp:\n\tFixed incorrect selection after dropping text.\n\t[4c62275c39f4]\n\n\t* qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp:\n\tDropping text seems (mostly) to work.\n\t[7acc97948229]\n\n2006-07-22  phil  <phil>\n\n\t* qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/ScintillaQt.h,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tScrollbars now work. The context menu now works. The clipboard and\n\tmouse selection now works. Dragging to external windows now works\n\t(but not dropping).\n\t[73995ec258cd]\n\n2006-07-18  phil  <phil>\n\n\t* example-Qt4/mainwindow.cpp, example-Qt4/mainwindow.h, qt/PlatQt.cpp,\n\tqt/qextscintillalexerbash.cxx, qt/qextscintillalexerbash.h,\n\tqt/qextscintillalexerbatch.cxx, qt/qextscintillalexerbatch.h,\n\tqt/qextscintillalexercpp.cxx, qt/qextscintillalexercpp.h,\n\tqt/qextscintillalexercsharp.cxx, qt/qextscintillalexercsharp.h,\n\tqt/qextscintillalexercss.cxx, qt/qextscintillalexercss.h,\n\tqt/qextscintillalexerdiff.cxx, qt/qextscintillalexerdiff.h,\n\tqt/qextscintillalexerhtml.cxx, qt/qextscintillalexerhtml.h,\n\tqt/qextscintillalexeridl.cxx, qt/qextscintillalexeridl.h,\n\tqt/qextscintillalexerjava.cxx, qt/qextscintillalexerjava.h,\n\tqt/qextscintillalexerjavascript.cxx,\n\tqt/qextscintillalexerjavascript.h, qt/qextscintillalexerlua.cxx,\n\tqt/qextscintillalexerlua.h, qt/qextscintillalexermakefile.cxx,\n\tqt/qextscintillalexermakefile.h, qt/qextscintillalexerperl.cxx,\n\tqt/qextscintillalexerperl.h, qt/qextscintillalexerpov.cxx,\n\tqt/qextscintillalexerpov.h, qt/qextscintillalexerproperties.cxx,\n\tqt/qextscintillalexerproperties.h, qt/qextscintillalexerpython.cxx,\n\tqt/qextscintillalexerpython.h, qt/qextscintillalexerruby.cxx,\n\tqt/qextscintillalexerruby.h, qt/qextscintillalexersql.cxx,\n\tqt/qextscintillalexersql.h, qt/qextscintillalexertex.cxx,\n\tqt/qextscintillalexertex.h, qt/qextscintillamacro.cxx,\n\tqt/qextscintillamacro.h, qt/qextscintillaprinter.cxx,\n\tqt/qextscintillaprinter.h, qt/qsciapis.h, qt/qscicommand.h,\n\tqt/qscilexer.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h,\n\tqt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercpp.cpp,\n\tqt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h,\n\tqt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp,\n\tqt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h,\n\tqt/qscilexeridl.cpp, qt/qscilexeridl.h, qt/qscilexerjava.cpp,\n\tqt/qscilexerjava.h, qt/qscilexerjavascript.cpp,\n\tqt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h,\n\tqt/qscilexermakefile.cpp, qt/qscilexermakefile.h,\n\tqt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp,\n\tqt/qscilexerpov.h, qt/qscilexerproperties.cpp,\n\tqt/qscilexerproperties.h, qt/qscilexerpython.cpp,\n\tqt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h,\n\tqt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp,\n\tqt/qscilexertex.h, qt/qscimacro.cpp, qt/qscimacro.h,\n\tqt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h,\n\tqt/qsciscintilla.h:\n\tPorted the rest of the API to Qt4. Finished porting the example to\n\tQt4.\n\t[de0ede6bbcf5]\n\n2006-07-17  phil  <phil>\n\n\t* qt/qextscintilla.cxx, qt/qextscintilla.h, qt/qextscintillaapis.cxx,\n\tqt/qextscintillaapis.h, qt/qextscintillacommand.cxx,\n\tqt/qextscintillacommand.h, qt/qextscintillacommandset.cxx,\n\tqt/qextscintillacommandset.h, qt/qextscintilladocument.cxx,\n\tqt/qextscintilladocument.h, qt/qextscintillalexer.cxx,\n\tqt/qextscintillalexer.h, qt/qsciapis.cpp, qt/qsciapis.h,\n\tqt/qscicommand.cpp, qt/qscicommand.h, qt/qscicommandset.cpp,\n\tqt/qscicommandset.h, qt/qscidocument.cpp, qt/qscidocument.h,\n\tqt/qscilexer.cpp, qt/qscilexer.h, qt/qscintilla.pro,\n\tqt/qsciscintilla.cpp, qt/qsciscintilla.h:\n\tMore porting to Qt4 - just the lexers remaining.\n\t[07158797bcf2]\n\n\t* qt/ListBoxQt.cpp, qt/PlatQt.cpp, qt/SciClasses.cpp,\n\tqt/ScintillaQt.cpp, qt/qscintilla.pro, qt/qsciscintillabase.cpp:\n\tFurther Qt4 changes so that Q3Support is no longer needed.\n\t[cb3ca2aee49e]\n\n\t* qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp,\n\tqt/SciClasses.h, qt/SciListBox.cxx, qt/SciListBox.h,\n\tqt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tPorted the auto-completion list implementation to Qt4.\n\t[1d0d07f7ba3b]\n\n2006-07-16  phil  <phil>\n\n\t* qt/PlatQt.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tDrawing now seems Ok. Keyboard support now seems Ok. Start of the\n\tmouse support.\n\t[20a223c3f57e]\n\n2006-07-12  phil  <phil>\n\n\t* include/Platform.h, qt/PlatQt.cpp, qt/ScintillaQt.cpp:\n\tPainting now seems to happen only within paint events - but\n\tincorrectly.\n\t[a60a10298391]\n\n\t* qt/PlatQt.cpp, qt/PlatQt.cxx, qt/ScintillaQt.cpp,\n\tqt/ScintillaQt.cxx, qt/ScintillaQt.h, qt/qscintilla.pro:\n\tRecoded the implementation of surfaces so that painters are only\n\tactive during paint events. Not yet debugged.\n\t[d0d91ae8e514]\n\n\t* build.py, qt/PlatQt.cxx, qt/ScintillaQt.cxx, qt/ScintillaQt.h,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tRecoded the handling of key presses so that it doesn't use any Qt3\n\tspecific features and should be backported to QScintilla v1. It also\n\tshould work better in Unicode mode.\n\t[c2b96d686ee6]\n\n2006-07-11  phil  <phil>\n\n\t* Makefile, build.py, example-Qt3/README, example-Qt3/application.cpp,\n\texample-Qt3/application.h, example-Qt3/application.pro, example-\n\tQt3/fileopen.xpm, example-Qt3/fileprint.xpm, example-\n\tQt3/filesave.xpm, example-Qt3/main.cpp, example-Qt4/README, example-\n\tQt4/application.pro, example-Qt4/application.qrc, example-\n\tQt4/images/copy.png, example-Qt4/images/cut.png, example-\n\tQt4/images/new.png, example-Qt4/images/open.png, example-\n\tQt4/images/paste.png, example-Qt4/images/save.png, example-\n\tQt4/main.cpp, example-Qt4/mainwindow.cpp, example-Qt4/mainwindow.h,\n\texample/README, example/application.cpp, example/application.h,\n\texample/application.pro, example/fileopen.xpm,\n\texample/fileprint.xpm, example/filesave.xpm, example/main.cpp,\n\tqt/PlatQt.cxx, qt/SciListBox.cxx, qt/SciListBox.h,\n\tqt/ScintillaQt.cxx, qt/ScintillaQt.h, qt/qextscintilla.cxx,\n\tqt/qextscintillabase.cxx, qt/qextscintillabase.h,\n\tqt/qextscintillaglobal.h, qt/qsciglobal.h, qt/qscintilla.pro,\n\tqt/qsciscintillabase.cpp, qt/qsciscintillabase.h:\n\tWhole raft of changes starting QScintilla2.\n\t[7f0bd20f2f83]\n\n2006-07-09  phil  <phil>\n\n\t* qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.ts,\n\tqt/qscintilla_ptbr.ts, qt/qscintilla_ru.ts:\n\tUpdated translations from Detlev.\n\t[c04c167d802e]\n\n2006-07-08  phil  <phil>\n\n\t* NEWS, qt/qextscintilla.cxx, qt/qextscintilla.h:\n\tAdded QextScintilla::isCallTipActive().\n\t[1f7dcb40db25]\n\n\t* lib/LICENSE.commercial.short, lib/LICENSE.edu.short,\n\tlib/LICENSE.gpl.short, qt/qextscintilla.cxx:\n\tChanged the autoindentation to be slightly cleverer when handling\n\tPython. If a lexer does not define block end words then a block\n\tstart word is ignored unless it is the last significant word in a\n\tline.\n\t[d5813c13f5da]\n\n2006-07-02  phil  <phil>\n\n\t* qt/PlatQt.cxx:\n\tPossibly fixed a possible problem with double clicking under\n\tWindows.\n\t[271141bb2b43]\n\n\t* NEWS, qt/ScintillaQt.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h:\n\tAdded setWrapVisualFlags(), WrapMode::WrapCharacter, WrapVisualFlag\n\tto QextScintilla. The layout cache is now set according to the wrap\n\tmode. Setting a wrap mode now disables the horizontal scrollbar.\n\t[a498b86e7999]\n\n2006-07-01  phil  <phil>\n\n\t* NEWS, qt/qextscintilla.cxx, qt/qextscintilla.h:\n\tAdded cancelList(), firstVisibleLine(), isListActive(),\n\tshowUserList(), textHeight() and userListActivated() to\n\tQextScintilla.\n\t[058c7be4bdfe]\n\n\t* qt/qextscintilla.cxx:\n\tAuto-completion changed so that subsequent start characters cause\n\tthe list to be re-created (containing a subset of the previous one).\n\t[5b534658e638]\n\n2006-06-28  phil  <phil>\n\n\t* NEWS, qt/SciListBox.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h,\n\tqt/qextscintillaapis.cxx, qt/qextscintillaapis.h,\n\tqt/qextscintillalexer.cxx, qt/qextscintillalexer.h,\n\tqt/qextscintillalexerpython.cxx, qt/qextscintillalexerpython.h:\n\tHandle Key_Enter the same as Key_Return. QextScintilla::foldAll()\n\tcan now optionally fold all child fold points. Added\n\tautoCompleteFromAll() and setAutoCompletionStartCharacters() to\n\tQextScintilla. Vastly improved the way auto-completion and call tips\n\twork.\n\t[8b0472aaed61]\n\n2006-06-25  phil  <phil>\n\n\t* qt/qextscintilla.cxx, qt/qextscintillabase.cxx,\n\tqt/qextscintillalexer.cxx:\n\tThe default fore and background colours now default to the\n\tapplication palette rather than being hardcoded to black and white.\n\t[6cb6b5bef5fc]\n\n\t* NEWS, qt/qextscintilla.cxx, qt/qextscintilla.h,\n\tqt/qextscintillalexer.cxx, qt/qextscintillalexer.h:\n\tAdded defaultColor() and setDefaultColor() to QextScintillaLexer.\n\tAdded color() and setColor() to QextScintilla. Renamed eraseColor()\n\tand setEraseColor() to paper() and setPaper() in QextScintilla.\n\t[c1fbfc192235]\n\n\t* NEWS, qt/SciListBox.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h,\n\tqt/qextscintillaapis.cxx, qt/qextscintillaapis.h,\n\tqt/qextscintillabase.h, qt/qextscintillalexer.cxx,\n\tqt/qextscintillalexer.h:\n\tAdded a couple of extra SendScintilla overloads. One is needed for\n\tPyQt because of the change in SIP's handling of unsigned values. The\n\tother is needed to solve C++ problems caused by the first.\n\tAutocompletion list entries from APIs may now contain spaces. Added\n\tdefaultPaper() and setDefaultPaper() to QextScintillaLexer. Added\n\teraseColor() and setEraseColor() to QextScintilla.\n\t[34f527ca0f99]\n\n2006-06-21  phil  <phil>\n\n\t* qt/qextscintilla.cxx, qt/qextscintillalexer.cxx,\n\tqt/qextscintillalexer.h, qt/qextscintillalexerhtml.cxx,\n\tqt/qextscintillalexerhtml.h:\n\tRemoved QextScintillaLexer::styleBits() now that\n\tSCI_GETSTYLEBITSNEEDED is available.\n\t[1c6837500560]\n\n\t* NEWS, qt/PlatQt.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h:\n\tQextScintilla::setSelectionBackgroundColor(),\n\tQextScintilla::setMarkerBackgroundColor() and\n\tQextScintilla::setCaretLineBackgroundColor() now respect the alpha\n\tcomponent.\n\t[48bae1fffe85]\n\n2006-06-20  phil  <phil>\n\n\t* NEWS, doc/ScintillaDoc.html, doc/ScintillaDownload.html,\n\tdoc/ScintillaHistory.html, doc/index.html, gtk/Converter.h,\n\tgtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, include/Scintilla.h,\n\tinclude/Scintilla.iface, qt/qextscintillabase.h,\n\tqt/qextscintillalexerpython.h, src/Editor.cxx, src/Editor.h,\n\tsrc/ViewStyle.cxx, src/ViewStyle.h, version.txt, win32/ScintRes.rc,\n\twin32/ScintillaWin.cxx:\n\tMerged Scintilla v1.70.\n\t[03ac3edd5dd2]\n\n2006-06-19  phil  <phil>\n\n\t* qt/qextscintillabase.h, qt/qextscintillalexerlua.h,\n\tqt/qextscintillalexerruby.cxx, qt/qextscintillalexerruby.h,\n\tqt/qextscintillalexersql.h:\n\tSignificant, and incompatible, updates to the QextScintillaLexerRuby\n\tclass.\n\t[0484fe132d0c]\n\n\t* src/PropSet.cxx:\n\tFix for qsort helpers linkage from Ulli. (Patch sent upstream.)\n\t[2307adf67045]\n\n2006-06-18  phil  <phil>\n\n\t* qt/qextscintillalexerpython.cxx, qt/qextscintillalexerpython.h:\n\tCtrl-D is now duplicate selection rather than duplicate line.\n\tUpdated the Python lexer to add support for hightlighted identifiers\n\tand decorators.\n\t[52ca24a722ac]\n\n\t* qt/qextscintillabase.h, qt/qextscintillacommandset.cxx,\n\tqt/qextscintillalexer.h, qt/qextscintillalexerbash.h,\n\tqt/qextscintillalexerbatch.h, qt/qextscintillalexercpp.h,\n\tqt/qextscintillalexercsharp.h, qt/qextscintillalexercss.h,\n\tqt/qextscintillalexerhtml.h, qt/qextscintillalexeridl.h,\n\tqt/qextscintillalexerjava.h, qt/qextscintillalexerjavascript.h,\n\tqt/qextscintillalexerlua.h, qt/qextscintillalexerperl.h,\n\tqt/qextscintillalexerpov.h, qt/qextscintillalexerpython.h,\n\tqt/qextscintillalexerruby.h, qt/qextscintillalexersql.h,\n\tqt/qextscintillalexertex.h, qt/qscintilla.pro:\n\tAdded the Scintilla 1.69 extensions to the low level API.\n\t[e89b98aaaa33]\n\n\t* .repoman, build.py, doc/Icons.html, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/index.html,\n\tgtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile,\n\tgtk/scintilla.mak, include/HFacer.py, include/KeyWords.h,\n\tinclude/Platform.h, include/PropSet.h, include/SciLexer.h,\n\tinclude/Scintilla.h, include/Scintilla.iface,\n\tinclude/ScintillaWidget.h, qt/PlatQt.cxx, qt/ScintillaQt.h,\n\tqt/qscintilla.pro, src/CallTip.cxx, src/CallTip.h,\n\tsrc/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx,\n\tsrc/CharClassify.h, src/ContractionState.cxx, src/Document.cxx,\n\tsrc/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx,\n\tsrc/Editor.h, src/ExternalLexer.cxx, src/Indicator.cxx,\n\tsrc/KeyMap.cxx, src/KeyWords.cxx, src/LexAU3.cxx, src/LexBash.cxx,\n\tsrc/LexBasic.cxx, src/LexCPP.cxx, src/LexCaml.cxx,\n\tsrc/LexCsound.cxx, src/LexEiffel.cxx, src/LexGen.py,\n\tsrc/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexInno.cxx,\n\tsrc/LexLua.cxx, src/LexMSSQL.cxx, src/LexOpal.cxx,\n\tsrc/LexOthers.cxx, src/LexPOV.cxx, src/LexPython.cxx,\n\tsrc/LexRuby.cxx, src/LexSQL.cxx, src/LexSpice.cxx, src/LexTCL.cxx,\n\tsrc/LexVB.cxx, src/LineMarker.h, src/PropSet.cxx, src/RESearch.cxx,\n\tsrc/RESearch.h, src/ScintillaBase.cxx, src/StyleContext.h,\n\tsrc/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx,\n\tvcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx,\n\twin32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak,\n\twin32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak:\n\tRemoved the redundant .repoman file. Synced with Scintilla v1.69\n\twith only the minimal changes needed to compile it.\n\t[6774f137c5a1]\n\n2006-06-17  phil  <phil>\n\n\t* .repoman, License.txt, Makefile, NEWS, README, TODO, bin/empty.txt,\n\tbuild.py, delbin.bat, delcvs.bat, designer/designer.pro,\n\tdesigner/qscintillaplugin.cpp, doc/Design.html, doc/Lexer.txt,\n\tdoc/SciBreak.jpg, doc/SciCoding.html, doc/SciRest.jpg,\n\tdoc/SciTEIco.png, doc/SciWord.jpg, doc/ScintillaDoc.html,\n\tdoc/ScintillaDownload.html, doc/ScintillaHistory.html,\n\tdoc/ScintillaRelated.html, doc/ScintillaToDo.html,\n\tdoc/ScintillaUsage.html, doc/Steps.html, doc/index.html,\n\texample/README, example/application.cpp, example/application.h,\n\texample/application.pro, example/fileopen.xpm,\n\texample/fileprint.xpm, example/filesave.xpm, example/main.cpp,\n\tgtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx,\n\tgtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla-\n\tmarshal.h, gtk/scintilla-marshal.list, gtk/scintilla.mak,\n\tinclude/Accessor.h, include/Face.py, include/HFacer.py,\n\tinclude/KeyWords.h, include/Platform.h, include/PropSet.h,\n\tinclude/SString.h, include/SciLexer.h, include/Scintilla.h,\n\tinclude/Scintilla.iface, include/ScintillaWidget.h,\n\tinclude/WindowAccessor.h, lib/LICENSE.commercial,\n\tlib/LICENSE.commercial.short, lib/LICENSE.edu,\n\tlib/LICENSE.edu.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short,\n\tlib/README, lib/README.MacOS, lib/qscintilla.dxy, qt/PlatQt.cxx,\n\tqt/SciListBox.cxx, qt/SciListBox.h, qt/ScintillaQt.cxx,\n\tqt/ScintillaQt.h, qt/qextscintilla.cxx, qt/qextscintilla.h,\n\tqt/qextscintillaapis.cxx, qt/qextscintillaapis.h,\n\tqt/qextscintillabase.cxx, qt/qextscintillabase.h,\n\tqt/qextscintillacommand.cxx, qt/qextscintillacommand.h,\n\tqt/qextscintillacommandset.cxx, qt/qextscintillacommandset.h,\n\tqt/qextscintilladocument.cxx, qt/qextscintilladocument.h,\n\tqt/qextscintillaglobal.h, qt/qextscintillalexer.cxx,\n\tqt/qextscintillalexer.h, qt/qextscintillalexerbash.cxx,\n\tqt/qextscintillalexerbash.h, qt/qextscintillalexerbatch.cxx,\n\tqt/qextscintillalexerbatch.h, qt/qextscintillalexercpp.cxx,\n\tqt/qextscintillalexercpp.h, qt/qextscintillalexercsharp.cxx,\n\tqt/qextscintillalexercsharp.h, qt/qextscintillalexercss.cxx,\n\tqt/qextscintillalexercss.h, qt/qextscintillalexerdiff.cxx,\n\tqt/qextscintillalexerdiff.h, qt/qextscintillalexerhtml.cxx,\n\tqt/qextscintillalexerhtml.h, qt/qextscintillalexeridl.cxx,\n\tqt/qextscintillalexeridl.h, qt/qextscintillalexerjava.cxx,\n\tqt/qextscintillalexerjava.h, qt/qextscintillalexerjavascript.cxx,\n\tqt/qextscintillalexerjavascript.h, qt/qextscintillalexerlua.cxx,\n\tqt/qextscintillalexerlua.h, qt/qextscintillalexermakefile.cxx,\n\tqt/qextscintillalexermakefile.h, qt/qextscintillalexerperl.cxx,\n\tqt/qextscintillalexerperl.h, qt/qextscintillalexerpov.cxx,\n\tqt/qextscintillalexerpov.h, qt/qextscintillalexerproperties.cxx,\n\tqt/qextscintillalexerproperties.h, qt/qextscintillalexerpython.cxx,\n\tqt/qextscintillalexerpython.h, qt/qextscintillalexerruby.cxx,\n\tqt/qextscintillalexerruby.h, qt/qextscintillalexersql.cxx,\n\tqt/qextscintillalexersql.h, qt/qextscintillalexertex.cxx,\n\tqt/qextscintillalexertex.h, qt/qextscintillamacro.cxx,\n\tqt/qextscintillamacro.h, qt/qextscintillaprinter.cxx,\n\tqt/qextscintillaprinter.h, qt/qscintilla.pro, qt/qscintilla_de.qm,\n\tqt/qscintilla_de.ts, qt/qscintilla_fr.qm, qt/qscintilla_fr.ts,\n\tqt/qscintilla_ptbr.qm, qt/qscintilla_ptbr.ts, qt/qscintilla_ru.qm,\n\tqt/qscintilla_ru.ts, src/AutoComplete.cxx, src/AutoComplete.h,\n\tsrc/CallTip.cxx, src/CallTip.h, src/CellBuffer.cxx,\n\tsrc/CellBuffer.h, src/ContractionState.cxx, src/ContractionState.h,\n\tsrc/Document.cxx, src/Document.h, src/DocumentAccessor.cxx,\n\tsrc/DocumentAccessor.h, src/Editor.cxx, src/Editor.h,\n\tsrc/ExternalLexer.cxx, src/ExternalLexer.h, src/Indicator.cxx,\n\tsrc/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/KeyWords.cxx,\n\tsrc/LexAPDL.cxx, src/LexAU3.cxx, src/LexAVE.cxx, src/LexAda.cxx,\n\tsrc/LexAsm.cxx, src/LexAsn1.cxx, src/LexBaan.cxx, src/LexBash.cxx,\n\tsrc/LexBasic.cxx, src/LexBullant.cxx, src/LexCLW.cxx,\n\tsrc/LexCPP.cxx, src/LexCSS.cxx, src/LexCaml.cxx, src/LexConf.cxx,\n\tsrc/LexCrontab.cxx, src/LexCsound.cxx, src/LexEScript.cxx,\n\tsrc/LexEiffel.cxx, src/LexErlang.cxx, src/LexFlagship.cxx,\n\tsrc/LexForth.cxx, src/LexFortran.cxx, src/LexGen.py,\n\tsrc/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexHaskell.cxx,\n\tsrc/LexKix.cxx, src/LexLisp.cxx, src/LexLout.cxx, src/LexLua.cxx,\n\tsrc/LexMMIXAL.cxx, src/LexMPT.cxx, src/LexMSSQL.cxx,\n\tsrc/LexMatlab.cxx, src/LexMetapost.cxx, src/LexNsis.cxx,\n\tsrc/LexOthers.cxx, src/LexPB.cxx, src/LexPOV.cxx, src/LexPS.cxx,\n\tsrc/LexPascal.cxx, src/LexPerl.cxx, src/LexPython.cxx,\n\tsrc/LexRebol.cxx, src/LexRuby.cxx, src/LexSQL.cxx,\n\tsrc/LexScriptol.cxx, src/LexSmalltalk.cxx, src/LexSpecman.cxx,\n\tsrc/LexTADS3.cxx, src/LexTeX.cxx, src/LexVB.cxx, src/LexVHDL.cxx,\n\tsrc/LexVerilog.cxx, src/LexYAML.cxx, src/LineMarker.cxx,\n\tsrc/LineMarker.h, src/PropSet.cxx, src/RESearch.cxx, src/RESearch.h,\n\tsrc/SVector.h, src/SciTE.properties, src/ScintillaBase.cxx,\n\tsrc/ScintillaBase.h, src/Style.cxx, src/Style.h,\n\tsrc/StyleContext.cxx, src/StyleContext.h, src/UniConversion.cxx,\n\tsrc/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h,\n\tsrc/WindowAccessor.cxx, src/XPM.cxx, src/XPM.h, tgzsrc,\n\tvcbuild/SciLexer.dsp, version.txt, win32/Margin.cur,\n\twin32/PlatWin.cxx, win32/PlatformRes.h, win32/SciTE.properties,\n\twin32/ScintRes.rc, win32/Scintilla.def, win32/ScintillaWin.cxx,\n\twin32/deps.mak, win32/makefile, win32/scintilla.mak,\n\twin32/scintilla_vc6.mak, zipsrc.bat:\n\tFirst import of QScintilla\n\t[0521804cd44a]\n"
  },
  {
    "path": "src/qscint/LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n"
  },
  {
    "path": "src/qscint/NEWS",
    "content": "v2.12.1 4th March 2021\n  - Packaging bug fixes.\n\nv2.12.0 23rd February 2021\n  - Added support for Qt6.\n  - Removed support for Qt4 and Qt5 earlier than v5.11.0.\n  - sdists are now provided.\n\nv2.11.6 23rd November 2020\n  - Added the --qsci-translations-dir option to sip-wheel.\n  - Added the .api file for Python v3.9.\n  - Build system changes.\n  - Bug fixes.\n\nv2.11.5 10th June 2020\n  - The bundled .api files are now included in Python wheels if the\n    QScintilla.api file is enabled.\n  - Bug fixes.\n\nv2.11.4 19th December 2019\n  - An administrative release with no code changes.\n\nv2.11.3 3rd November 2019\n  - Added support for SIP v5.\n  - On macOS the install name of the C++ library is now relative to @rpath.\n\nv2.11.2 26th June 2019\n  - Added QsciScintilla::findMatchingBrace().\n  - QsciScintiila::clear() is no longer undoable and instead clears the undo\n    history.\n  - Added support for building with WASM.\n  - Added the .api file for Python v3.8.\n  - Bug fixes.\n\nv2.11.1 14th February 2019\n  - There is a small (but potentially incompatible) change to the signature of\n    a QsciScintillaBase::SendScintilla() overload which may require an explicit\n    cast to be added.\n  - Bug fixes.\n\nv2.11 10th February 2019\n  - Based on Scintilla v3.10.1.\n  - Added setCaretLineFrameWidth() to QsciScintilla.\n  - The findFirst() and findFirstInSelection() methods of QsciScintilla now\n    support Cxx11 regular expressions.\n  - Added cancelFind() to QsciScintilla.\n  - Added GradientIndicator and CentreGradientIndicator to\n    QsciScintilla::IndicatorStyle.\n  - Added WrapIndentDeeplyIndented to QsciScintilla::WrapIndentMode.\n  - Added ReverseLines to QsciCommand::Command.\n  - Deprecated QsciLexer::styleBitsNeeded().\n  - Added the AddingPatchAdded, RemovingPatchAdded, AddingPatchRemoved and\n    RemovingPatchRemoved styles to QsciLexerDiff.\n  - Added the DoubleQuotedFString, SingleQuotedFString,\n    TripleSingleQuotedFString and TripleDoubleQuotedFString styles to\n    QsciLexerPython.\n  - Added SCLEX_INDENT, SCLEX_MAXIMA and SCLEX_STATA to QsciScintillaBase.\n  - Added SCI_SETACCESSIBILITY, SCI_GETACCESSIBILITY, SCI_GETCARETLINEFRAME,\n    SCI_SETCARETLINEFRAME, SCI_SETCOMMANDEVENTS, SCI_GETCOMMANDEVENTS,\n    SCI_LINEREVERSE and SCI_GETMOVEEXTENDSSELECTION to QsciScintillaBase.\n  - Added SCI_GETLINECHARACTERINDEX, SCI_ALLOCATELINECHARACTERINDEX,\n    SCI_RELEASELINECHARACTERINDEX, SCI_LINEFROMINDEXPOSITION,\n    SCI_INDEXPOSITIONFROMLINE, SCI_COUNTCODEUNITS and\n    SCI_POSITIONRELATIVECODEUNITS to QsciScintillaBase.\n  - Added SC_LINECHARACTERINDEX_NONE, SC_LINECHARACTERINDEX_UTF32 and\n    SC_LINECHARACTERINDEX_UTF16 to QsciScintillaBase.\n  - Added SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE, SCI_TAGSOFSTYLE and\n    SCI_DESCRIPTIONOFSTYLE to QsciScintillaBase.\n  - Added the SCN_AUTOCSELECTIONCHANGE and SCN_URIDROPPED() signals to\n    QsciScintillaBase.\n  - Added the overloaded SCN_USERLISTSELECTION() signal to QsciScintillaBase.\n  - Added INDIC_GRADIENT and INDIC_GRADIENTCENTRE to QsciScintillaBase.\n  - Added SC_PRINT_SCREENCOLOURS to QsciScintillaBase.\n  - Added SC_WRAPINDENT_DEEPINDENT to QsciScintillaBase.\n  - Added SCI_GETDOCUMENTOPTIONS, SC_DOCUMENTOPTION_DEFAULT,\n    SC_DOCUMENTOPTION_STYLES_NONE and SC_DOCUMENTOPTION_TEXT_LARGE to\n    QsciScintillaBase.\n\nv2.10.8 1st October 2018\n  - Bug fixes.\n\nv2.10.7 2nd July 2018\n  - Bug fixes.\n\nv2.10.6 24th June 2018\n  - A pseudo-release to create a version number for updated Python wheels.\n\nv2.10.5 23rd June 2018\n  - Added the QsciLexerEDIFACT class.\n  - Added setStyle() to QsciStyle.\n  - Control-wheel scroll will now zoom in and out of the document.\n  - Buffered drawing is now disabled by default.\n  - The Python bindings create a PEP 376 .dist-info directory on installation\n    that provides version information for dependent packages and allows pip to\n    uninstall.\n  - Added the --no-dist-info option to the Python bindings' configure.py.\n  - Bug fixes.\n\nv2.10.4 10th April 2018\n  - Bug fixes.\n\nv2.10.3 26th February 2018\n  - Added accessibility support.\n  - Added the API file for Python v3.7.\n\nv2.10.2 23rd November 2017\n  - Added setScrollWidth() , scrollWidth, setScrollWidthTracking() and\n    scrollWidthTracking() to QsciScintilla.\n  - Bug fixes.\n\nv2.10.1 3rd July 2017\n  - Changed the default font on macOS to Menlo 12pt.\n  - Added previously internal lexer methods to the Python bindings.\n\nv2.10 20th February 2017\n  - Based on Scintilla v3.7.2.\n  - Added the QsciLexerJSON class.\n  - Added the QsciLexerMarkdown class.\n  - Added replaceHorizontalScrollBar() and replaceVerticalScrollBar() to\n    QsciScintillaBase.\n  - Added bytes() and a corresponding text() overload to QsciScintilla.\n  - Added EdgeMultipleLines to QsciScintilla::EdgeMode.\n  - Added addEdgeColumn() and clearEdgeColumns() to QsciScintilla.\n  - Added the marginRightClicked() signal to QsciScintilla.\n  - Added SymbolMarginColor to QsciScintilla::MarginType.\n  - Added setMarginBackgroundColor() and marginBackgroundColor() to\n    QsciScintilla.\n  - Added setMargins() and margins() to QsciScintilla.\n  - Added TriangleIndicator and TriangleCharacterIndicator to\n    QsciScintilla::IndicatorStyle.\n  - Added WsVisibleOnlyInIndent to QsciScintilla::WhitespaceVisibility.\n  - Added TabDrawMode, setTabDrawMode() and tabDrawMode() to QsciScintilla.\n  - Added InstanceProperty to QsciLexerCoffeeScript.\n  - Added EDGE_MULTILINE to QsciScintillaBase.\n  - Added INDIC_POINT and INDIC_POINTCHARACTER to QsciScintillaBase.\n  - Added SC_AC_FILLUP, SC_AC_DOUBLECLICK, SC_AC_TAB, SC_AC_NEWLINE and\n    SC_AC_COMMAND to QsciScintillaBase.\n  - Added SC_CASE_CAMEL to QsciScintillaBase.\n  - Added SC_CHARSET_CYRILLIC and SC_CHARSET_OEM866 to QsciScintillaBase.\n  - Added SC_FOLDDISPLAYTEXT_HIDDEN, SC_FOLDDISPLAYTEXT_STANDARD and\n    SC_FOLDDISPLAYTEXT_BOXED to QsciScintillaBase.\n  - Added SC_IDLESTYLING_NONE, SC_IDLESTYLING_TOVISIBLE,\n    SC_IDLESTYLING_AFTERVISIBLE and SC_IDLESTYLING_ALL to QsciScintillaBase.\n  - Added SC_MARGIN_COLOUR to QsciScintillaBase.\n  - Added SC_POPUP_NEVER, SC_POPUP_ALL and SC_POPUP_TEXT to QsciScintillaBase.\n  - Added SCI_FOLDDISPLAYTEXTSETSTYLE and SCI_TOGGLEFOLDSHOWTEXT to\n    QsciScintillaBase.\n  - Added SCI_GETIDLESTYLING and SCI_SETIDLESTYLING to QsciScintillaBase.\n  - Added SCI_GETMARGINBACKN and SCI_SETMARGINBACKN to QsciScintillaBase.\n  - Added SCI_GETMARGINS and SCI_SETMARGINS to QsciScintillaBase.\n  - Added SCI_GETMOUSEWHEELCAPTURES and SCI_SETMOUSEWHEELCAPTURES to\n    QsciScintillaBase.\n  - Added SCI_GETTABDRAWMODE and SCI_SETTABDRAWMODE to QsciScintillaBase.\n  - Added SCI_ISRANGEWORD to QsciScintillaBase.\n  - Added SCI_MULTIEDGEADDLINE and SCI_MULTIEDGECLEARALL to QsciScintillaBase.\n  - Added SCI_MULTIPLESELECTADDNEXT and SCI_MULTIPLESELECTADDEACH to\n    QsciScintillaBase.\n  - Added SCI_TARGETWHOLEDOCUMENT to QsciScintillaBase.\n  - Added SCLEX_JSON and SCLEX_EDIFACT to QsciScintillaBase.\n  - Added SCTD_LONGARROW and SCTD_STRIKEOUT to QsciScintillaBase.\n  - Added SCVS_NOWRAPLINESTART to QsciScintillaBase.\n  - Added SCWS_VISIBLEONLYININDENT to QsciScintillaBase.\n  - Added STYLE_FOLDDISPLAYTEXT to QsciScintillaBase.\n  - Added the SCN_AUTOCCOMPLETED() signal to QsciScintillaBase.\n  - Added the overloaded SCN_AUTOCSELECTION() and SCN_USERLISTSELECTION()\n    signals to QsciScintillaBase.\n  - Added the SCN_MARGINRIGHTCLICK() signal to QsciScintillaBase.\n  - Renamed SCI_GETTARGETRANGE to SCI_GETTARGETTEXT in QsciScintillaBase.\n  - Removed SCI_GETKEYSUNICODE and SCI_SETKEYSUNICODE to QsciScintillaBase.\n  - The autoCompletionFillups(), autoCompletionWordSeparators(), blockEnd(),\n    blockLookback(), blockStart(), blockStartKeyword(), braceStyle(),\n    caseSensitive(), indentationGuideView() and defaultStyle() methods of\n    QsciLexer are no longer marked as internal and are exposed to Python so\n    that they may be used by QsciLexerCustom sub-classes.\n  - The name of the library has been changed to include the major version\n    number of the version of Qt it is built against (ie. 4 or 5).\n\nv2.9.4 25th December 2016\n  - Added the .api file for Python v3.6.\n  - Bug fixes.\n\nv2.9.3 25th July 2016\n  - Bug fixes.\n\nv2.9.2 18th April 2016\n  - Added support for a PEP 484 stub file for the Python extension module.\n\nv2.9.1 24th October 2015\n  - Added the .api file for Python v3.5.\n  - Bug fixes.\n\nv2.9 20th April 2015\n  - Based on Scintilla v3.5.4.\n  - Added UserLiteral, InactiveUserLiteral, TaskMarker, InactiveTaskMarker,\n    EscapeSequence, InactiveEscapeSequence, setHighlightBackQuotedStrings(),\n    highlightBackQuotedStrings(), setHighlightEscapeSequences(),\n    highlightEscapeSequences(), setVerbatimStringEscapeSequencesAllowed() and\n    verbatimStringEscapeSequencesAllowed() to QsciLexerCPP.\n  - Added CommentKeyword, DeclareInputPort, DeclareOutputPort,\n    DeclareInputOutputPort, PortConnection and the inactive versions of all\n    styles to QsciLexerVerilog.\n  - Added CommentBlock to QsciLexerVHDL.\n  - Added AnnotationIndented to QsciScintilla::AnnotationDisplay.\n  - Added FullBoxIndicator, ThickCompositionIndicator, ThinCompositionIndicator\n    and TextColorIndicator to QsciScintilla::IndicatorStyle.\n  - Added setIndicatorHoverForegroundColor() and setIndicatorHoverStyle() to\n    QsciScintilla.\n  - Added Bookmark to QsciScintilla::MarkerSymbol.\n  - Added WrapWhitespace to QsciScintilla::WrapMode.\n  - Added SCLEX_AS, SCLEX_BIBTEX, SCLEX_DMAP, SCLEX_DMIS, SCLEX_IHEX,\n    SCLEX_REGISTRY, SCLEX_SREC and SCLEX_TEHEX to QsciScintillaBase.\n  - Added SCI_CHANGEINSERTION to QsciScintillaBase.\n  - Added SCI_CLEARTABSTOPS, SCI_ADDTABSTOP and SCI_GETNEXTTABSTOP to\n    QsciScintillaBase.\n  - Added SCI_GETIMEINTERACTION, SCI_SETIMEINTERACTION, SC_IME_WINDOWED and\n    SC_IME_INLINE to QsciScintillaBase.\n  - Added SC_MARK_BOOKMARK to QsciScintillaBase.\n  - Added INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, INDIC_TEXTFORE, INDIC_IME,\n    INDIC_IME_MAX, SC_INDICVALUEBIT, SC_INDICVALUEMASK,\n    SC_INDICFLAG_VALUEBEFORE, SCI_INDICSETHOVERSTYLE, SCI_INDICGETHOVERSTYLE,\n    SCI_INDICSETHOVERFORE, SCI_INDICGETHOVERFORE, SCI_INDICSETFLAGS and\n    SCI_INDICGETFLAGS to QsciScintillaBase.\n  - Added SCI_SETTARGETRANGE and SCI_GETTARGETRANGE to QsciScintillaBase.\n  - Added SCFIND_CXX11REGEX to QsciScintillaBase.\n  - Added SCI_CALLTIPSETPOSSTART to QsciScintillaBase.\n  - Added SC_FOLDFLAG_LINESTATE to QsciScintillaBase.\n  - Added SC_WRAP_WHITESPACE to QsciScintillaBase.\n  - Added SC_PHASES_ONE, SC_PHASES_TWO, SC_PHASES_MULTIPLE, SCI_GETPHASESDRAW\n    and SCI_SETPHASESDRAW to QsciScintillaBase.\n  - Added SC_STATUS_OK, SC_STATUS_FAILURE, SC_STATUS_BADALLOC,\n    SC_STATUS_WARN_START and SC_STATUS_WARNREGEX to QsciScintillaBase.\n  - Added SC_MULTIAUTOC_ONCE, SC_MULTIAUTOC_EACH, SCI_AUTOCSETMULTI and\n    SCI_AUTOCGETMULTI to QsciScintillaBase.\n  - Added ANNOTATION_INDENTED to QsciScintillaBase.\n  - Added SCI_DROPSELECTIONN to QsciScintillaBase.\n  - Added SC_TECHNOLOGY_DIRECTWRITERETAIN and SC_TECHNOLOGY_DIRECTWRITEDC to\n    QsciScintillaBase.\n  - Added SC_LINE_END_TYPE_DEFAULT, SC_LINE_END_TYPE_UNICODE,\n    SCI_GETLINEENDTYPESSUPPORTED, SCI_SETLINEENDTYPESALLOWED,\n    SCI_GETLINEENDTYPESALLOWED and SCI_GETLINEENDTYPESACTIVE to\n    QsciScintillaBase.\n  - Added SCI_ALLOCATESUBSTYLES, SCI_GETSUBSTYLESSTART, SCI_GETSUBSTYLESLENGTH,\n    SCI_GETSTYLEFROMSUBSTYLE, SCI_GETPRIMARYSTYLEFROMSTYLE, SCI_FREESUBSTYLES,\n    SCI_SETIDENTIFIERS, SCI_DISTANCETOSECONDARYSTYLES and SCI_GETSUBSTYLEBASES\n    to QsciScintillaBase.\n  - Added SC_MOD_INSERTCHECK and SC_MOD_CHANGETABSTOPS to QsciScintillaBase.\n  - Qt v3 and PyQt v3 are no longer supported.\n\nv2.8.4 11th September 2014\n  - Added setHotspotForegroundColor(), resetHotspotForegroundColor(),\n    setHotspotBackgroundColor(), resetHotspotBackgroundColor(),\n    setHotspotUnderline() and setHotspotWrap() to QsciScintilla.\n  - Added SCI_SETHOTSPOTSINGLELINE to QsciScintillaBase.\n  - Bug fixes.\n\nv2.8.3 3rd July 2014\n  - Added the QsciLexerCoffeeScript class.\n  - Font sizes are now handled as floating point values rather than integers.\n  - Bug fixes.\n\nv2.8.2 26th May 2014\n  - Added the QsciLexerAVS class.\n  - Added the QsciLexerPO class.\n  - Added the --sysroot, --no-sip-files and --no-qsci-api options to the Python\n    bindings' configure.py.\n  - Cross-compilation (specifically to iOS and Android) is now supported.\n  - configure.py has been refactored and relicensed so that it can be used as a\n    template for wrapping other bindings.\n  - Bug fixes.\n\nv2.8.1 14th March 2014\n  - Added support for iOS and Android.\n  - Added support for retina displays.\n  - A qscintilla2.prf file is installed so that application .pro files only\n    need to add CONFIG += qscintilla2.\n  - Updated the keywords recognised by the Octave lexer.\n  - Bug fixes.\n\nv2.8 9th November 2013\n  - Based on Scintilla v3.3.6.\n  - Added the SCN_FOCUSIN() and SCN_FOCUSOUT() signals to QsciScintillaBase.\n  - Added PreProcessorCommentLineDoc and InactivePreProcessorCommentLineDoc to\n    QsciLexerCPP.\n  - Added SCLEX_LITERATEHASKELL, SCLEX_KVIRC, SCLEX_RUST and SCLEX_STTXT to\n    QsciScintillaBase.\n  - Added ThickCompositionIndicator to QsciScintilla::IndicatorStyle.\n  - Added INDIC_COMPOSITIONTHICK to QsciScintillaBase.\n  - Added SC_FOLDACTION_CONTRACT, SC_FOLDACTION_EXPAND and SC_FOLDACTION_TOGGLE\n    to QsciScintillaBase.\n  - Added SCI_FOLDLINE, SCI_FOLDCHILDREN, SCI_EXPANDCHILDREN and SCI_FOLDALL to\n    QsciScintillaBase.\n  - Added SC_AUTOMATICFOLD_SHOW, SC_AUTOMATICFOLD_CLICK and\n    SC_AUTOMATICFOLD_CHANGE to QsciScintillaBase.\n  - Added SCI_SETAUTOMATICFOLD and SCI_GETAUTOMATICFOLD to QsciScintillaBase.\n  - Added SC_ORDER_PRESORTED, SC_ORDER_PERFORMSORT and SC_ORDER_CUSTOM to\n    QsciScintillaBase.\n  - Added SCI_AUTOCSETORDER and SCI_AUTOCGETORDER to QsciScintillaBase.\n  - Added SCI_POSITIONRELATIVE to QsciScintillaBase.\n  - Added SCI_RELEASEALLEXTENDEDSTYLES and SCI_ALLOCATEEXTENDEDSTYLES to\n    QsciScintillaBase.\n  - Added SCI_SCROLLRANGE to QsciScintillaBase.\n  - Added SCI_SETCARETLINEVISIBLEALWAYS and SCI_GETCARETLINEVISIBLEALWAYS to\n    QsciScintillaBase.\n  - Added SCI_SETMOUSESELECTIONRECTANGULARSWITCH and\n    SCI_GETMOUSESELECTIONRECTANGULARSWITCH to QsciScintillaBase.\n  - Added SCI_SETREPRESENTATION, SCI_GETREPRESENTATION and\n    SCI_CLEARREPRESENTATION to QsciScintillaBase.\n  - Input methods are now properly supported.\n\nv2.7.2 16th June 2013\n  - The build script for the Python bindings now has a --pyqt argument for\n    specifying PyQt4 or PyQt5.\n  - The default EOL mode on OS/X is now EolUnix.\n  - Bug fixes.\n\nv2.7.1 1st March 2013\n  - Added support for the final release of Qt v5.\n  - The build script for the Python bindings should now work with SIP v5.\n  - Bug fixes.\n\nv2.7 8th December 2012\n  - Based on Scintilla v3.2.3.\n  - Added support for Qt v5-rc1.\n  - Added HashQuotedString, InactiveHashQuotedString, PreProcessorComment,\n    InactivePreProcessorComment, setHighlightHashQuotedStrings() and\n    highlightHashQuotedStrings() to QsciLexerCpp.\n  - Added Variable, setHSSLanguage(), HSSLanguage(), setLessLanguage(),\n    LessLanguage(), setSCCSLanguage() and SCCSLanguage() to QsciLexerCSS.\n  - Added setOverwriteMode() and overwriteMode() to QsciScintilla.\n  - Added wordAtLineIndex() to QsciScintilla.\n  - Added findFirstInSelection() to QsciScintilla.\n  - Added CallTipsPosition, callTipsPosition() and setCallTipsPosition() to\n    QsciScintilla.\n  - Added WrapFlagInMargin to QsciScintilla::WrapVisualFlag.\n  - Added SquigglePixmapIndicator to QsciScintilla::IndicatorStyle.\n  - The weight of a font (rather than whether it is just bold or not) is now\n    respected.\n  - Added SCLEX_AVS, SCLEX_COFFEESCRIPT, SCLEX_ECL, SCLEX_OSCRIPT,\n    SCLEX_TCMD and SCLEX_VISUALPROLOG to QsciScintillaBase.\n  - Added SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE and\n    SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE to QsciScintillaBase.\n  - Added SC_FONT_SIZE_MULTIPLIER to QsciScintillaBase.\n  - Added SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD and SC_WEIGHT_BOLD to\n    QsciScintillaBase.\n  - Added SC_WRAPVISUALFLAG_MARGIN to QsciScintillaBase.\n  - Added INDIC_SQUIGGLEPIXMAP to QsciScintillaBase.\n  - Added SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR,\n    SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR, SCI_CALLTIPSETPOSITION,\n    SCI_COUNTCHARACTERS, SCI_CREATELOADER, SCI_DELETERANGE,\n    SCI_FINDINDICATORFLASH, SCI_FINDINDICATORHIDE, SCI_FINDINDICATORSHOW,\n    SCI_GETALLLINESVISIBLE, SCI_GETGAPPOSITION, SCI_GETPUNCTUATIONCHARS,\n    SCI_GETRANGEPOINTER, SCI_GETSELECTIONEMPTY, SCI_GETTECHNOLOGY,\n    SCI_GETWHITESPACECHARS, SCI_GETWORDCHARS, SCI_RGBAIMAGESETSCALE,\n    SCI_SETPUNCTUATIONCHARS, SCI_SETTECHNOLOGY, SCI_STYLESETSIZEFRACTIONAL,\n    SCI_STYLEGETSIZEFRACTIONAL, SCI_STYLESETWEIGHT and SCI_STYLEGETWEIGHT to\n    QsciScintillaBase.\n  - Removed SCI_GETUSEPALETTE and SCI_SETUSEPALETTE from QsciScintillaBase.\n  - Bug fixes.\n\nv2.6.2 20th June 2012\n  - Added support for Qt v5-alpha.\n  - QsciLexer::wordCharacters() is now part of the public API.\n  - Bug fixes.\n\nv2.6.1 10th February 2012\n  - Support SCI_NAMESPACE to enable all internal Scintilla classes to be put\n    into the Scintilla namespace.\n  - APIs now allow for spaces between the end of a word and the opening\n    parenthesis.\n  - Building against Qt v3 is fixed.\n\nv2.6 11th November 2011\n  - Based on Scintilla v2.29.\n  - Added Command, command() and execute() to QsciCommand.\n  - Added boundTo() and find() to QsciCommandSet.\n  - Added createStandardContextMenu() to QsciScintilla.\n  - Added StraightBoxIndicator, DashesIndicator, DotsIndicator,\n    SquiggleLowIndicator and DotBoxIndicator to QsciScintilla::IndicatorStyle.\n  - Added markerDefine() to QsciScintilla.\n  - Added MoNone, MoSublineSelect, marginOptions() and setMarginOptions() to\n    QsciScintilla.\n  - Added registerImage() to QsciScintilla.\n  - Added setIndicatorOutlineColor() to QsciScintilla.\n  - Added setMatchedBraceIndicator(), resetMatchedBraceIndicator(),\n    setUnmatchedBraceIndicator() and resetUnmatchedBraceIndicator() to\n    QsciScintilla.\n  - Added highlightTripleQuotedStrings() and setHighlightTripleQuotedStrings()\n    to QsciLexerCpp.\n  - Added Label to QsciLexerLua.\n  - Added DoubleQuotedStringVar, Translation, RegexVar, SubstitutionVar,\n    BackticksVar, DoubleQuotedHereDocumentVar, BacktickHereDocumentVar,\n    QuotedStringQQVar, QuotedStringQXVar, QuotedStringQRVar, setFoldAtElse()\n    and foldAtElse() to QsciLexerPerl.\n  - Added highlightSubidentifiers() and setHighlightSubidentifiers() to\n    QsciLexerPython.\n  - Added INDIC_STRAIGHTBOX, INDIC_DASH, INDIC_DOTS, INDIC_SQUIGGLELOW and\n    INDIC_DOTBOX to QsciScintillaBase.\n  - Added SC_MARGINOPTION_NONE and SC_MARGINOPTION_SUBLINESELECT to\n    QsciScintillaBase.\n  - Added SC_MARK_RGBAIMAGE to QsciScintillaBase.\n  - Added SCI_BRACEBADLIGHTINDICATOR, SCI_BRACEHIGHLIGHTINDICATOR,\n    SCI_GETIDENTIFIER, SCI_GETMARGINOPTIONS, SCI_INDICGETOUTLINEALPHA,\n    SCI_INDICSETOUTLINEALPHA, SCI_MARKERDEFINERGBAIMAGE,\n    SCI_MARKERENABLEHIGHLIGHT, SCI_MARKERSETBACKSELECTED,\n    SCI_MOVESELECTEDLINESDOWN, SCI_MOVESELECTEDLINESUP, SCI_REGISTERRGBAIMAGE,\n    SCI_RGBAIMAGESETHEIGHT, SCI_RGBAIMAGESETWIDTH, SCI_SCROLLTOEND,\n    SCI_SCROLLTOSTART, SCI_SETEMPTYSELECTION, SCI_SETIDENTIFIER and\n    SCI_SETMARGINOPTIONS to QsciScintillaBase.\n\nv2.5.1 17th April 2011\n  - Added QsciLexerMatlab and QsciLexerOctave.\n\nv2.5 29th March 2011\n  - Based on Scintilla v2.25.\n  - Rectangular selections are now fully supported and compatible with SciTE.\n  - The signature of the fromMimeData() and toMimeData() methods of\n    QsciScintillaBase have changed incompatibly in order to support rectangular\n    selections.\n  - Added QsciScintilla::setAutoCompletionUseSingle() to replace the now\n    deprecated setAutoCompletionShowSingle().\n  - Added QsciScintilla::autoCompletionUseSingle() to replace the now\n    deprecated autoCompletionShowSingle().\n  - QsciScintilla::setAutoCompletionCaseSensitivity() is no longer ignored if a\n    lexer has been set.\n  - Added FullRectangle, LeftRectangle and Underline to the\n    QsciScintilla::MarkerSymbol enum.\n  - Added setExtraAscent(), extraAscent(), setExtraDescent() and extraDescent()\n    to QsciScintilla.\n  - Added setWhitespaceSize() and whitespaceSize() to QsciScintilla.\n  - Added replaceSelectedText() to QsciScintilla.\n  - Added setWhitespaceBackgroundColor() and setWhitespaceForegroundColor() to\n    QsciScintilla.\n  - Added setWrapIndentMode() and wrapIndentMode() to QsciScintilla.\n  - Added setFirstVisibleLine() to QsciScintilla.\n  - Added setContractedFolds() and contractedFolds() to QsciScintilla.\n  - Added the SCN_HOTSPOTRELEASECLICK() signal to QsciScintillaBase.\n  - The signature of the QsciScintillaBase::SCN_UPDATEUI() signal has changed.\n  - Added the RawString and inactive styles to QsciLexerCPP.\n  - Added MediaRule to QsciLexerCSS.\n  - Added BackquoteString, RawString, KeywordSet5, KeywordSet6 and KeywordSet7\n    to QsciLexerD.\n  - Added setDjangoTemplates(), djangoTemplates(), setMakoTemplates() and\n    makoTemplates() to QsciLexerHTML.\n  - Added KeywordSet5, KeywordSet6, KeywordSet7 and KeywordSet8 to\n    QsciLexerLua.\n  - Added setInitialSpaces() and initialSpaces() to QsciLexerProperties.\n  - Added setFoldCompact(), foldCompact(), setStringsOverNewlineAllowed() and\n    stringsOverNewlineAllowed() to QsciLexerPython.\n  - Added setFoldComments(), foldComments(), setFoldCompact() and foldCompact()\n    to QsciLexerRuby.\n  - Added setFoldComments() and foldComments(), and removed setFoldCompact()\n    and foldCompact() from QsciLexerTCL.\n  - Added setFoldComments(), foldComments(), setFoldCompact(), foldCompact(),\n    setProcessComments(), processComments(), setProcessIf(), and processIf() to\n    QsciLexerTeX.\n  - Added QuotedIdentifier, setDottedWords(), dottedWords(), setFoldAtElse(),\n    foldAtElse(), setFoldOnlyBegin(), foldOnlyBegin(), setHashComments(),\n    hashComments(), setQuotedIdentifiers() and quotedIdentifiers() to\n    QsciLexerSQL.\n  - The Python bindings now allow optional arguments to be specified as keyword\n    arguments.\n  - The Python bindings will now build using the protected-is-public hack if\n    possible.\n\nv2.4.6 23rd December 2010\n  - Added support for indicators to the high-level API, i.e. added the\n    IndicatorStyle enum, the clearIndicatorRange(), fillIndicatorRange(),\n    indicatorDefine(), indicatorDrawUnder(), setIndicatorDrawUnder() and\n    setIndicatorForegroundColor methods, and the indicatorClicked() and\n    indicatorReleased() signals to QsciScintilla.\n  - Added support for the Key style in QsciLexerProperties.\n  - Added an API file for Python v2.7.\n  - Added the --no-timestamp command line option to the Python bindings'\n    configure.py.\n\nv2.4.5 31st August 2010\n  - A bug fix release.\n\nv2.4.4 12th July 2010\n  - Added the canInsertFromMimeData(), fromMimeData() and toMimeData() methods\n    to QsciScintillaBase.\n  - QsciScintilla::markerDefine() now allows existing markers to be redefined.\n\nv2.4.3 17th March 2010\n  - Added clearFolds() to QsciScintilla.\n\nv2.4.2 20th January 2010\n  - Updated Spanish translations from Jaime Seuma.\n  - Fixed compilation problems with Qt v3 and Qt v4 prior to v4.5.\n\nv2.4.1 14th January 2010\n  - Added the QsciLexerSpice and QsciLexerVerilog classes.\n  - Significant performance improvements when handling long lines.\n  - The Python bindings include automatically generated docstrings by default.\n  - Added an API file for Python v3.\n\nv2.4 5th June 2009\n  - Based on Scintilla v1.78.\n  - Added the QsciLexerCustom, QsciStyle and QsciStyledText classes.\n  - Added annotate(), annotation(), clearAnnotations(), setAnnotationDisplay()\n    and annotationDisplay() to QsciScintilla.\n  - Added setMarginText(), clearMarginText(), setMarginType() and marginType()\n    to QsciScintilla.\n  - Added QsciLexer::lexerId() so that container lexers can be implemented.\n  - Added editor() and styleBitsNeeded() to QsciLexer.\n  - Added setDollarsAllowed() and dollarsAllowed() to QsciLexerCPP.\n  - Added setFoldScriptComments(), foldScriptComments(),\n    setFoldScriptHeredocs() and foldScriptHeredocs() to QsciLexerHTML.\n  - Added setSmartHighlighting() and smartHighlighting() to QsciLexerPascal.\n    (Note that the Scintilla Pascal lexer has changed so that any saved colour\n    and font settings will not be properly restored.)\n  - Added setFoldPackages(), foldPackages(), setFoldPODBlocks() and\n    foldPODBlocks() to QsciLexerPerl.\n  - Added setV2UnicodeAllowed(), v2UnicodeAllowed(), setV3BinaryOctalAllowed(),\n    v3BinaryOctalAllowed(), setV3BytesAllowed and v3BytesAllowed() to\n    QsciLexerPython.\n  - Added setScriptsStyled() and scriptsStyled() to QsciLexerXML.\n  - Added Spanish translations from Jaime Seuma.\n\nv2.3.2 17th November 2008\n  - A bug fix release.\n\nv2.3.1 6th November 2008\n  - Based on Scintilla v1.77.\n  - Added the read() and write() methods to QsciScintilla to allow a file to be\n    read and written while minimising the conversions.\n  - Added the positionFromLineIndex() and lineIndexFromPosition() methods to\n    QsciScintilla to convert between a Scintilla character address and a\n    QScintilla character address.\n  - Added QsciScintilla::wordAtPoint() to return the word at the given screen\n    coordinates.\n  - QSciScintilla::setSelection() now allows the carat to be left at either the\n    start or the end of the selection.\n  - 'with' is now treated as a keyword by the Python lexer.\n\nv2.3 20th September 2008\n  - Based on Scintilla v1.76.\n  - The new QsciAbstractAPIs class allows applications to replace the default\n    implementation of the language APIs used for auto-completion lists and call\n    tips.\n  - Added QsciScintilla::apiContext() to allow applications to determine the\n    context used for auto-completion and call tips.\n  - Added the QsciLexerFortran, QsciLexerFortran77, QsciLexerPascal,\n    QsciLexerPostScript, QsciLexerTCL, QsciLexerXML and QsciLexerYAML classes.\n  - QsciScintilla::setFolding() will now accept an optional margin number.\n\nv2.2 27th February 2008\n  - Based on Scintilla v1.75.\n  - A lexer's default colour, paper and font are now written to and read from\n    the settings.\n  - Windows64 is now supported.\n  - The signature of the QsciScintillaBase::SCN_MACRORECORD() signal has\n    changed slightly.\n  - Changed the licensing to match the current Qt licenses, including GPL v3.\n\nv2.1 1st June 2007\n  - A slightly revised API, incompatible with QScintilla v2.0.\n  - Lexers now remember their style settings.  A lexer no longer has to be the\n    current lexer when changing a style's color, end-of-line fill, font or\n    paper.\n  - The color(), eolFill(), font() and paper() methods of QsciLexer now return\n    the current values for a style rather than the default values.\n  - The setDefaultColor(), setDefaultFont() and setDefaultPaper() methods of\n    QsciLexer are no longer slots and no longer virtual.\n  - The defaultColor(), defaultFont() and defaultPaper() methods of QsciLexer\n    are no longer virtual.\n  - The color(), eolFill(), font() and paper() methods of all QsciLexer derived\n    classes (except for QsciLexer itself) have been renamed defaultColor(),\n    defaultEolFill(), defaultFont() and defaultPaper() respectively.\n\nv2.0 26th May 2007\n  - A revised API, incompatible with QScintilla v1.\n  - Hugely improved autocompletion and call tips support.\n  - Supports both Qt v3 and Qt v4.\n  - Includes Python bindings.\n"
  },
  {
    "path": "src/qscint/Python/README",
    "content": "QScintilla - Python Bindings for the QScintilla Programmers Editor Widget\n=========================================================================\n\nQScintilla is a port to Qt of the Scintilla programmers editor widget.  It\nsupports the traditional low-level Scintilla API and implements a high-level\nAPI covering such things as auto-completion, code folding and lexer\nconfiguration.\n\nThese Python bindings implement a single extension module that sits on top of\nPyQt5 and wraps both the low-level and high-level APIs.\n\n\nAuthor\n------\n\nQScintilla is copyright (c) Riverbank Computing Limited.  Its homepage is\nhttps://www.riverbankcomputing.com/software/qscintilla/.\n\nSupport may be obtained from the QScintilla mailing list at\nhttps://www.riverbankcomputing.com/mailman/listinfo/qscintilla/.\n\n\nLicense\n-------\n\nQScintilla is released under the GPL v3 license and under a commercial license\nthat allows for the development of proprietary applications.\n\n\nDocumentation\n-------------\n\nThe documentation for the latest release can be found\n`here <https://www.riverbankcomputing.com/static/Docs/QScintilla/>`__.\n\n\nInstallation\n------------\n\nThe GPL version of QScintilla can be installed from PyPI::\n\n    pip install QScintilla\n\nThe wheels include a statically linked copy of the QScintilla C++ library.\n\n``pip`` will also build and install the bindings from the sdist package but\nQt's ``qmake`` tool must be on ``PATH``.\n\nThe ``sip-install`` tool will also install the bindings from the sdist package\nbut will allow you to configure many aspects of the installation.\n"
  },
  {
    "path": "src/qscint/Python/config-tests/cfgtest_Qsci.cpp",
    "content": "#include <QCoreApplication>\n#include <QFile>\n#include <QTextStream>\n\n#include <Qsci/qsciglobal.h>\n\n\nint main(int argc, char **argv)\n{\n    QCoreApplication app(argc, argv);\n    QFile outf(argv[1]);\n\n    if (!outf.open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Text))\n        return 1;\n\n    QTextStream out(&outf);\n\n    out << QSCINTILLA_VERSION << '\\n';\n    out << QSCINTILLA_VERSION_STR << '\\n';\n\n    return 0;\n}\n"
  },
  {
    "path": "src/qscint/Python/project.py",
    "content": "# This is the build script for the QScintilla Python bindings.\n#\n# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n# \n# This file is part of QScintilla.\n# \n# This file may be used under the terms of the GNU General Public License\n# version 3.0 as published by the Free Software Foundation and appearing in\n# the file LICENSE included in the packaging of this file.  Please review the\n# following information to ensure the GNU General Public License version 3.0\n# requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n# \n# If you do not wish to use this file under the terms of the GPL version 3.0\n# then you may purchase a commercial license.  For more information contact\n# info@riverbankcomputing.com.\n# \n# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nimport os\n\nfrom pyqtbuild import PyQtBindings, PyQtProject\nfrom sipbuild import Option\n\n\nclass QScintilla(PyQtProject):\n    \"\"\" The QScintilla project. \"\"\"\n\n    def __init__(self):\n        \"\"\" Initialise the project. \"\"\"\n\n        super().__init__()\n\n        self.bindings_factories = [Qsci]\n\n        # If there is a 'src' subdirectory then we are part of an sdist rather\n        # than a full source distribution.  If part of an sdist then the\n        # QScintilla source is compiled along with the bindings.  Otherwise an\n        # external (ie. already built) QScintilla library is used (which may be\n        # static or dynamic).\n        self.qsci_external_lib = not os.path.isdir('src')\n\n    def apply_user_defaults(self, tool):\n        \"\"\" Set default values for user options that haven't been set yet. \"\"\"\n\n        super().apply_user_defaults(tool)\n\n        if not self.qsci_external_lib:\n            # If a directory to install the .api files was given then add the\n            # bundled .api files as well.\n            if self.api_dir:\n                self.wheel_includes.append(\n                        ('qsci/api/python/*.api', self.api_dir))\n\n        if self.qsci_translations_dir:\n            self.wheel_includes.append(\n                    ('src/*.qm', self.qsci_translations_dir))\n\n    def get_options(self):\n        \"\"\" Return the list of configurable options. \"\"\"\n\n        options = super().get_options()\n\n        # The directory within the wheel to install the translation files to.\n        options.append(\n                Option('qsci_translations_dir',\n                        help=\"the QScintilla translation files will be installed in DIR\",\n                        metavar=\"DIR\", tools=['wheel']))\n\n        return options\n\n\nclass Qsci(PyQtBindings):\n    \"\"\" The Qsci bindings. \"\"\"\n\n    def __init__(self, project):\n        \"\"\" Initialise the bindings. \"\"\"\n\n        if project.qsci_external_lib:\n            qmake_CONFIG = ['qscintilla2']\n        else:\n            qmake_CONFIG = []\n\n        super().__init__(project, 'Qsci', qmake_CONFIG=qmake_CONFIG)\n\n    def apply_user_defaults(self, tool):\n        \"\"\" Set default values for user options that haven't been set yet. \"\"\"\n\n        project = self.project\n        qt6 = (project.builder.qt_version >= 0x060000)\n\n        # Set the name of the .sip file now that we know the Qt version number.\n        self.sip_file = 'qscimod6.sip' if qt6 else 'qscimod5.sip'\n\n        if self.project.qsci_external_lib:\n            if self.qsci_features_dir is not None:\n                os.environ['QMAKEFEATURES'] = os.path.abspath(\n                        self.qsci_features_dir)\n\n            if self.qsci_include_dir is not None:\n                self.include_dirs.append(\n                        os.path.abspath(self.qsci_include_dir))\n\n            if self.qsci_library_dir is not None:\n                self.library_dirs.append(\n                        os.path.abspath(self.qsci_library_dir))\n        else:\n            # We configure CONFIG and QT textually because it's too late to\n            # update qmake_CONFIG and qmake_QT.\n            self.builder_settings.append('QT += widgets')\n\n            if project.py_platform != 'ios':\n                self.builder_settings.append('QT += printsupport')\n\n            if project.py_platform in ('darwin', 'ios') and not qt6:\n                self.builder_settings.append('QT += macextras')\n\n            self.builder_settings.append(\n                    'CONFIG += warn_off thread exceptions')\n\n            self.define_macros.extend(\n                    ['SCINTILLA_QT', 'SCI_LEXER',\n                        'INCLUDE_DEPRECATED_FEATURES'])\n\n            self._add_internal_lib_sources()\n\n        super().apply_user_defaults(tool)\n\n    def get_options(self):\n        \"\"\" Return the list of configurable options. \"\"\"\n\n        options = super().get_options()\n\n        if self.project.qsci_external_lib:\n            # The directory containing the features file.\n            options.append(\n                    Option('qsci_features_dir',\n                            help=\"the qscintilla2.prf features file is in DIR\",\n                            metavar=\"DIR\"))\n\n            # The directory containing the include directory.\n            options.append(\n                    Option('qsci_include_dir',\n                            help=\"the Qsci include file directory is in DIR\",\n                            metavar=\"DIR\"))\n\n            # The directory containing the library.\n            options.append(\n                    Option('qsci_library_dir',\n                            help=\"the QScintilla library is in DIR\",\n                            metavar=\"DIR\"))\n\n        return options\n\n    def handle_test_output(self, test_output):\n        \"\"\" Handle the output from the external test program and return True if\n        the bindings are buildable.\n        \"\"\"\n\n        project = self.project\n\n        installed_version = int(test_output[0])\n        installed_version_str = test_output[1]\n\n        if project.version != installed_version:\n            project.progress(\n                    \"QScintilla v{0} is required but QScintilla v{1} is \"\n                    \"installed.\".format(project.version_str,\n                            installed_version_str))\n            return False\n\n        return True\n\n    def is_buildable(self):\n        \"\"\" Return True if the bindings are buildable. \"\"\"\n\n        # We need to check the compatibility of an external QScintilla library.\n        if self.project.qsci_external_lib:\n            return super().is_buildable()\n\n        return True\n\n    def _add_dir_sources(self, dname):\n        \"\"\" Add the headers and sources from a particular directory. \"\"\"\n\n        for fn in os.listdir(dname):\n            if fn.endswith('.h'):\n                self.headers.append(os.path.join(dname, fn))\n            elif fn.endswith('.cpp'):\n                self.sources.append(os.path.join(dname, fn))\n\n    def _add_internal_lib_sources(self):\n        \"\"\" Add to the lists of include directories, header files and source\n        files to build the QScintilla library.\n        \"\"\"\n\n        include_dirs = ['src']\n\n        for dn in ('include', 'lexers', 'lexlib', 'src'):\n            include_dirs.append(os.path.join('scintilla', dn))\n\n        self._add_dir_sources(os.path.join('src', 'Qsci'))\n\n        for dn in include_dirs:\n            self._add_dir_sources(dn)\n\n        self.include_dirs.extend(include_dirs)\n"
  },
  {
    "path": "src/qscint/Python/pyproject-qt5.toml",
    "content": "# Specify the build system.\n[build-system]\nrequires = [\"sip >=6.0.2, <7\", \"PyQt-builder >=1.6, <2\"]\nbuild-backend = \"sipbuild.api\"\n\n# Specify the PEP 566 metadata for the project.\n[tool.sip.metadata]\nname = \"QScintilla\"\nversion = \"2.12.1\"\nsummary = \"Python bindings for the QScintilla programmers editor widget\"\nhome-page = \"https://www.riverbankcomputing.com/software/qscintilla/\"\nauthor = \"Riverbank Computing Limited\"\nauthor-email = \"info@riverbankcomputing.com\"\nlicense = \"GPL v3\"\ndescription-file = \"README\"\nrequires-dist = \"PyQt5 (>=5.15.4)\"\n"
  },
  {
    "path": "src/qscint/Python/pyproject-qt6.toml",
    "content": "# Specify the build system.\n[build-system]\nrequires = [\"sip >=6.0.2, <7\", \"PyQt-builder >=1.6, <2\"]\nbuild-backend = \"sipbuild.api\"\n\n# Specify the PEP 566 metadata for the project.\n[tool.sip.metadata]\nname = \"PyQt6-QScintilla\"\nversion = \"2.12.1\"\nsummary = \"Python bindings for the QScintilla programmers editor widget\"\nhome-page = \"https://www.riverbankcomputing.com/software/qscintilla/\"\nauthor = \"Riverbank Computing Limited\"\nauthor-email = \"info@riverbankcomputing.com\"\nlicense = \"GPL v3\"\ndescription-file = \"README\"\nrequires-dist = \"PyQt6 (>=6.0.3)\"\n"
  },
  {
    "path": "src/qscint/Python/sip/qsciabstractapis.sip",
    "content": "// This is the SIP interface definition for QsciAbstractAPIs.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciAbstractAPIs : QObject\n{\n%TypeHeaderCode\n#include <Qsci/qsciabstractapis.h>\n%End\n\npublic:\n    QsciAbstractAPIs(QsciLexer *lexer /TransferThis/);\n    virtual ~QsciAbstractAPIs();\n\n    QsciLexer *lexer() const;\n\n    virtual void updateAutoCompletionList(const QStringList &context,\n            QStringList &list /In, Out/) = 0;\n    virtual void autoCompletionSelected(const QString &selection);\n\n    virtual QStringList callTips(const QStringList &context, int commas,\n            QsciScintilla::CallTipsStyle style, QList<int> &shifts) = 0;\n\nprivate:\n    QsciAbstractAPIs(const QsciAbstractAPIs &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qsciapis.sip",
    "content": "// This is the SIP interface definition for QsciAPIs.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciAPIs : QsciAbstractAPIs\n{\n%TypeHeaderCode\n#include <Qsci/qsciapis.h>\n%End\n\npublic:\n    QsciAPIs(QsciLexer *lexer /TransferThis/);\n    virtual ~QsciAPIs();\n\n    void add(const QString &entry);\n    void clear();\n    bool load(const QString &fname);\n    void remove(const QString &entry);\n    void prepare();\n    void cancelPreparation();\n    QString defaultPreparedName() const;\n    bool isPrepared(const QString &filename = QString()) const;\n    bool loadPrepared(const QString &filename = QString());\n    bool savePrepared(const QString &filename = QString()) const;\n    virtual bool event(QEvent *e);\n    QStringList installedAPIFiles() const;\n\n    virtual void updateAutoCompletionList(const QStringList &context,\n                QStringList &list /In, Out/);\n    virtual void autoCompletionSelected(const QString &selection);\n\n    virtual QStringList callTips(const QStringList &context, int commas,\n            QsciScintilla::CallTipsStyle style, QList<int> &shifts);\n\nsignals:\n    void apiPreparationCancelled();\n    void apiPreparationStarted();\n    void apiPreparationFinished();\n\nprivate:\n    QsciAPIs(const QsciAPIs &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscicommand.sip",
    "content": "// This is the SIP interface definition for QsciCommand.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciCommand\n{\n%TypeHeaderCode\n#include <Qsci/qscicommand.h>\n%End\n\npublic:\n    enum Command {\n        LineDown,\n        LineDownExtend,\n        LineDownRectExtend,\n        LineScrollDown,\n        LineUp,\n        LineUpExtend,\n        LineUpRectExtend,\n        LineScrollUp,\n        ScrollToStart,\n        ScrollToEnd,\n        VerticalCentreCaret,\n        ParaDown,\n        ParaDownExtend,\n        ParaUp,\n        ParaUpExtend,\n        CharLeft,\n        CharLeftExtend,\n        CharLeftRectExtend,\n        CharRight,\n        CharRightExtend,\n        CharRightRectExtend,\n        WordLeft,\n        WordLeftExtend,\n        WordRight,\n        WordRightExtend,\n        WordLeftEnd,\n        WordLeftEndExtend,\n        WordRightEnd,\n        WordRightEndExtend,\n        WordPartLeft,\n        WordPartLeftExtend,\n        WordPartRight,\n        WordPartRightExtend,\n        Home,\n        HomeExtend,\n        HomeRectExtend,\n        HomeDisplay,\n        HomeDisplayExtend,\n        HomeWrap,\n        HomeWrapExtend,\n        VCHome,\n        VCHomeExtend,\n        VCHomeRectExtend,\n        VCHomeWrap,\n        VCHomeWrapExtend,\n        LineEnd,\n        LineEndExtend,\n        LineEndRectExtend,\n        LineEndDisplay,\n        LineEndDisplayExtend,\n        LineEndWrap,\n        LineEndWrapExtend,\n        DocumentStart,\n        DocumentStartExtend,\n        DocumentEnd,\n        DocumentEndExtend,\n        PageUp,\n        PageUpExtend,\n        PageUpRectExtend,\n        PageDown,\n        PageDownExtend,\n        PageDownRectExtend,\n        StutteredPageUp,\n        StutteredPageUpExtend,\n        StutteredPageDown,\n        StutteredPageDownExtend,\n        Delete,\n        DeleteBack,\n        DeleteBackNotLine,\n        DeleteWordLeft,\n        DeleteWordRight,\n        DeleteWordRightEnd,\n        DeleteLineLeft,\n        DeleteLineRight,\n        LineDelete,\n        LineCut,\n        LineCopy,\n        LineTranspose,\n        LineDuplicate,\n        SelectAll,\n        MoveSelectedLinesUp,\n        MoveSelectedLinesDown,\n        SelectionDuplicate,\n        SelectionLowerCase,\n        SelectionUpperCase,\n        SelectionCut,\n        SelectionCopy,\n        Paste,\n        EditToggleOvertype,\n        Newline,\n        Formfeed,\n        Tab,\n        Backtab,\n        Cancel,\n        Undo,\n        Redo,\n        ZoomIn,\n        ZoomOut,\n        ReverseLines,\n    };\n\n    Command command() const;\n    void execute();\n    void setKey(int key);\n    void setAlternateKey(int altkey);\n    int key() const;\n    int alternateKey() const;\n    static bool validKey(int key);\n    QString description() const;\n\nprivate:\n    QsciCommand(QsciScintilla *qs, Command cmd, int key, int altkey,\n            const char *desc);\n    QsciCommand(const QsciCommand &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscicommandset.sip",
    "content": "// This is the SIP interface definition for the QsciCommandSet.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciCommandSet\n{\n%TypeHeaderCode\n#include <Qsci/qscicommandset.h>\n%End\n\npublic:\n    bool readSettings(QSettings &qs, const char *prefix = \"/Scintilla\");\n    bool writeSettings(QSettings &qs, const char *prefix = \"/Scintilla\");\n\n    QList<QsciCommand *> &commands();\n\n    void clearKeys();\n    void clearAlternateKeys();\n\n    QsciCommand *boundTo(int key) const;\n    QsciCommand *find(QsciCommand::Command command) const;\n\nprivate:\n    QsciCommandSet(QsciScintilla *qs);\n    ~QsciCommandSet();\n\n    QsciCommandSet(const QsciCommandSet &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscidocument.sip",
    "content": "// This is the SIP interface definition for QsciDocument.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciDocument\n{\n%TypeHeaderCode\n#include <Qsci/qscidocument.h>\n%End\n\npublic:\n    QsciDocument();\n    virtual ~QsciDocument();\n\n    QsciDocument(const QsciDocument &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexer.sip",
    "content": "// This is the SIP interface definition for QsciLexer.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexer : QObject\n{\n%TypeHeaderCode\n#include <Qsci/qscilexer.h>\n%End\n\npublic:\n    QsciLexer(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexer();\n\n    virtual const char *language() const = 0;\n    virtual const char *lexer() const;\n    virtual int lexerId() const;\n    QsciAbstractAPIs *apis() const;\n    virtual const char *autoCompletionFillups() const /Encoding=\"None\"/;\n    virtual QStringList autoCompletionWordSeparators() const;\n    int autoIndentStyle();\n    virtual const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    virtual int blockLookback() const;\n    virtual const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    virtual const char *blockStartKeyword(int *style = 0) const /Encoding=\"None\"/;\n    virtual int braceStyle() const;\n    virtual bool caseSensitive() const;\n    virtual QColor color(int style) const;\n    virtual bool eolFill(int style) const;\n    virtual QFont font(int style) const;\n    virtual int indentationGuideView() const;\n    virtual const char *keywords(int set) const;\n    virtual QString description(int style) const = 0;\n    virtual QColor paper(int style) const;\n    QColor defaultColor() const;\n    virtual QColor defaultColor(int style) const;\n    virtual bool defaultEolFill(int style) const;\n    QFont defaultFont() const;\n    virtual QFont defaultFont(int style) const;\n    QColor defaultPaper() const;\n    virtual QColor defaultPaper(int style) const;\n    virtual int defaultStyle() const;\n    QsciScintilla *editor() const;\n    virtual void refreshProperties();\n    void setAPIs(QsciAbstractAPIs *apis);\n    void setDefaultColor(const QColor &c);\n    void setDefaultFont(const QFont &f);\n    void setDefaultPaper(const QColor &c);\n    virtual int styleBitsNeeded() const;\n    virtual const char *wordCharacters() const;\n    bool readSettings(QSettings &qs, const char *prefix = \"/Scintilla\");\n    bool writeSettings(QSettings &qs, const char *prefix = \"/Scintilla\") const;\n\npublic slots:\n    virtual void setAutoIndentStyle(int autoindentstyle);\n    virtual void setColor(const QColor &c, int style = -1);\n    virtual void setEolFill(bool eolfill, int style = -1);\n    virtual void setFont(const QFont &f, int style = -1);\n    virtual void setPaper(const QColor &c, int style = -1);\n\nsignals:\n    void colorChanged(const QColor &c, int style);\n    void eolFillChanged(bool eolfilled, int style);\n    void fontChanged(const QFont &f, int style);\n    void paperChanged(const QColor &c, int style);\n    void propertyChanged(const char *prop, const char *val);\n\nprotected:\n    virtual bool readProperties(QSettings &qs, const QString &prefix);\n    virtual bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexer(const QsciLexer &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexeravs.sip",
    "content": "// This is the SIP interface definition for QsciLexerAVS.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerAVS : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexeravs.h>\n%End\n\npublic:\n    enum {\n        Default,\n        BlockComment,\n        NestedBlockComment,\n        LineComment,\n        Number,\n        Operator,\n        Identifier,\n        String,\n        TripleString,\n        Keyword,\n        Filter,\n        Plugin,\n        Function,\n        ClipProperty,\n        KeywordSet6\n    };\n\n    QsciLexerAVS(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerAVS();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerAVS(const QsciLexerAVS &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerbash.sip",
    "content": "// This is the SIP interface definition for QsciLexerBash.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerBash : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerbash.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Error,\n        Comment,\n        Number,\n        Keyword,\n        DoubleQuotedString,\n        SingleQuotedString,\n        Operator,\n        Identifier,\n        Scalar,\n        ParameterExpansion,\n        Backticks,\n        HereDocumentDelimiter,\n        SingleQuotedHereDocument\n    };\n\n    QsciLexerBash(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerBash();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerBash(const QsciLexerBash &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerbatch.sip",
    "content": "// This is the SIP interface definition for QsciLexerBatch.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerBatch : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerbatch.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Keyword,\n        Label,\n        HideCommandChar,\n        ExternalCommand,\n        Variable,\n        Operator\n    };\n\n    QsciLexerBatch(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerBatch();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    bool caseSensitive() const;\n\nprivate:\n    QsciLexerBatch(const QsciLexerBatch &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexercmake.sip",
    "content": "// This is the SIP interface definition for QsciLexerCMake.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerCMake : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexercmake.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        String,\n        StringLeftQuote,\n        StringRightQuote,\n        Function,\n        Variable,\n        Label,\n        KeywordSet3,\n        BlockWhile,\n        BlockForeach,\n        BlockIf,\n        BlockMacro,\n        StringVariable,\n        Number\n    };\n\n    QsciLexerCMake(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerCMake();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    void refreshProperties();\n    bool foldAtElse() const;\n\npublic slots:\n    virtual void setFoldAtElse(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerCMake(const QsciLexerCMake &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexercoffeescript.sip",
    "content": "// This is the SIP interface definition for QsciLexerCoffeeScript.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerCoffeeScript : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexercoffeescript.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        CommentLine,\n        CommentDoc,\n        Number,\n        Keyword,\n        DoubleQuotedString,\n        SingleQuotedString,\n        UUID,\n        PreProcessor,\n        Operator,\n        Identifier,\n        UnclosedString,\n        VerbatimString,\n        Regex,\n        CommentLineDoc,\n        KeywordSet2,\n        CommentDocKeyword,\n        CommentDocKeywordError,\n        GlobalClass,\n        CommentBlock,\n        BlockRegex,\n        BlockRegexComment,\n        InstanceProperty,\n    };\n\n    QsciLexerCoffeeScript(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerCoffeeScript();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    QStringList autoCompletionWordSeparators() const;\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStartKeyword(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool dollarsAllowed() const;\n    void setDollarsAllowed(bool allowed);\n    bool foldComments() const;\n    void setFoldComments(bool fold);\n    bool foldCompact() const;\n    void setFoldCompact(bool fold);\n    bool stylePreprocessor() const;\n    void setStylePreprocessor(bool style);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerCoffeeScript(const QsciLexerCoffeeScript &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexercpp.sip",
    "content": "// This is the SIP interface definition for QsciLexerCPP.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerCPP : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexercpp.h>\n%End\n\npublic:\n    enum {\n        Default,\n        InactiveDefault,\n        Comment,\n        InactiveComment,\n        CommentLine,\n        InactiveCommentLine,\n        CommentDoc,\n        InactiveCommentDoc,\n        Number,\n        InactiveNumber,\n        Keyword,\n        InactiveKeyword,\n        DoubleQuotedString,\n        InactiveDoubleQuotedString,\n        SingleQuotedString,\n        InactiveSingleQuotedString,\n        UUID,\n        InactiveUUID,\n        PreProcessor,\n        InactivePreProcessor,\n        Operator,\n        InactiveOperator,\n        Identifier,\n        InactiveIdentifier,\n        UnclosedString,\n        InactiveUnclosedString,\n        VerbatimString,\n        InactiveVerbatimString,\n        Regex,\n        InactiveRegex,\n        CommentLineDoc,\n        InactiveCommentLineDoc,\n        KeywordSet2,\n        InactiveKeywordSet2,\n        CommentDocKeyword,\n        InactiveCommentDocKeyword,\n        CommentDocKeywordError,\n        InactiveCommentDocKeywordError,\n        GlobalClass,\n        InactiveGlobalClass,\n        RawString,\n        InactiveRawString,\n        TripleQuotedVerbatimString,\n        InactiveTripleQuotedVerbatimString,\n        HashQuotedString,\n        InactiveHashQuotedString,\n        PreProcessorComment,\n        InactivePreProcessorComment,\n        PreProcessorCommentLineDoc,\n        InactivePreProcessorCommentLineDoc,\n        UserLiteral,\n        InactiveUserLiteral,\n        TaskMarker,\n        InactiveTaskMarker,\n        EscapeSequence,\n        InactiveEscapeSequence,\n    };\n\n    QsciLexerCPP(QObject *parent /TransferThis/ = 0,\n            bool caseInsensitiveKeywords = false);\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    QStringList autoCompletionWordSeparators() const;\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStartKeyword(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldAtElse() const;\n    bool foldComments() const;\n    bool foldCompact() const;\n    bool foldPreprocessor() const;\n    bool stylePreprocessor() const;\n    void setDollarsAllowed(bool allowed);\n    bool dollarsAllowed() const;\n    void setHighlightTripleQuotedStrings(bool enable);\n    bool highlightTripleQuotedStrings() const;\n    void setHighlightHashQuotedStrings(bool enable);\n    bool highlightHashQuotedStrings() const;\n    void setHighlightBackQuotedStrings(bool enabled);\n    bool highlightBackQuotedStrings() const;\n    void setHighlightEscapeSequences(bool enabled);\n    bool highlightEscapeSequences() const;\n    void setVerbatimStringEscapeSequencesAllowed(bool allowed);\n    bool verbatimStringEscapeSequencesAllowed() const;\n\npublic slots:\n    virtual void setFoldAtElse(bool fold);\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n    virtual void setFoldPreprocessor(bool fold);\n    virtual void setStylePreprocessor(bool style);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerCPP(const QsciLexerCPP &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexercsharp.sip",
    "content": "// This is the SIP interface definition for QsciLexerCSharp.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerCSharp : QsciLexerCPP\n{\n%TypeHeaderCode\n#include <Qsci/qscilexercsharp.h>\n%End\n\npublic:\n    QsciLexerCSharp(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerCSharp();\n\n    const char *language() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\nprivate:\n    QsciLexerCSharp(const QsciLexerCSharp &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexercss.sip",
    "content": "// This is the SIP interface definition for QsciLexerCSS.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerCSS : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexercss.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Tag,\n        ClassSelector,\n        PseudoClass,\n        UnknownPseudoClass,\n        Operator,\n        CSS1Property,\n        UnknownProperty,\n        Value,\n        Comment,\n        IDSelector,\n        Important,\n        AtRule,\n        DoubleQuotedString,\n        SingleQuotedString,\n        CSS2Property,\n        Attribute,\n        CSS3Property,\n        PseudoElement,\n        ExtendedCSSProperty,\n        ExtendedPseudoClass,\n        ExtendedPseudoElement,\n        MediaRule,\n        Variable,\n    };\n\n    QsciLexerCSS(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerCSS();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n    void setHSSLanguage(bool enable);\n    bool HSSLanguage() const;\n    void setLessLanguage(bool enable);\n    bool LessLanguage() const;\n    void setSCSSLanguage(bool enable);\n    bool SCSSLanguage() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerCSS(const QsciLexerCSS &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexercustom.sip",
    "content": "// This is the SIP interface definition for QsciLexerCustom.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerCustom : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexercustom.h>\n%End\n\npublic:\n    QsciLexerCustom(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerCustom();\n\n    virtual void setEditor(QsciScintilla *editor);\n    virtual int styleBitsNeeded() const;\n\n    void setStyling(int length, int style);\n    void setStyling(int length, const QsciStyle &style);\n\n    void startStyling(int pos, int styleBits = 0);\n    virtual void styleText(int start, int end) = 0;\n\nprivate:\n    QsciLexerCustom(const QsciLexerCustom &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerd.sip",
    "content": "// This is the SIP interface definition for QsciLexerD.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerD : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerd.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        CommentLine,\n        CommentDoc,\n        CommentNested,\n        Number,\n        Keyword,\n        KeywordSecondary,\n        KeywordDoc,\n        Typedefs,\n        String,\n        UnclosedString,\n        Character,\n        Operator,\n        Identifier,\n        CommentLineDoc,\n        CommentDocKeyword,\n        CommentDocKeywordError,\n        BackquoteString,\n        RawString,\n        KeywordSet5,\n        KeywordSet6,\n        KeywordSet7,\n    };\n\n    QsciLexerD(QObject *parent /TransferThis/ = 0);\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    QStringList autoCompletionWordSeparators() const;\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStartKeyword(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldAtElse() const;\n    bool foldComments() const;\n    bool foldCompact() const;\n\npublic slots:\n    virtual void setFoldAtElse(bool fold);\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerD(const QsciLexerD &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerdiff.sip",
    "content": "// This is the SIP interface definition for QsciLexerDiff.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerDiff : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerdiff.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Command,\n        Header,\n        Position,\n        LineRemoved,\n        LineAdded,\n        LineChanged,\n        AddingPatchAdded,\n        RemovingPatchAdded,\n        AddingPatchRemoved,\n        RemovingPatchRemoved,\n    };\n\n    QsciLexerDiff(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerDiff();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\nprivate:\n    QsciLexerDiff(const QsciLexerDiff &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexeredifact.sip",
    "content": "// This is the SIP interface definition for QsciLexerEDIFACT.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerEDIFACT : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexeredifact.h>\n%End\n\npublic:\n    enum {\n        Default,\n        SegmentStart,\n        SegmentEnd,\n        ElementSeparator,\n        CompositeSeparator,\n        ReleaseSeparator,\n        UNASegmentHeader,\n        UNHSegmentHeader,\n        BadSegment\n    };\n\n    QsciLexerEDIFACT(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerEDIFACT();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QString description(int style) const;\n\nprivate:\n    QsciLexerEDIFACT(const QsciLexerEDIFACT &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerfortran.sip",
    "content": "// This is the SIP interface definition for QsciLexerFortran.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerFortran : QsciLexerFortran77\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerfortran.h>\n%End\n\npublic:\n    QsciLexerFortran(QObject *parent /TransferThis/ = 0);\n\n    const char *language() const;\n    const char *lexer() const;\n    const char *keywords(int set) const;\n\nprivate:\n    QsciLexerFortran(const QsciLexerFortran &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerfortran77.sip",
    "content": "// This is the SIP interface definition for QsciLexerFortran77.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerFortran77 : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerfortran77.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Number,\n        SingleQuotedString,\n        DoubleQuotedString,\n        UnclosedString,\n        Operator,\n        Identifier,\n        Keyword,\n        IntrinsicFunction,\n        ExtendedFunction,\n        PreProcessor,\n        DottedOperator,\n        Label,\n        Continuation,\n    };\n\n    QsciLexerFortran77(QObject *parent /TransferThis/ = 0);\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldCompact() const;\n\npublic slots:\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerFortran77(const QsciLexerFortran77 &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerhtml.sip",
    "content": "// This is the SIP interface definition for QsciLexerHTML.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerHTML : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerhtml.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Tag,\n        UnknownTag,\n        Attribute,\n        UnknownAttribute,\n        HTMLNumber,\n        HTMLDoubleQuotedString,\n        HTMLSingleQuotedString,\n        OtherInTag,\n        HTMLComment,\n        Entity,\n        XMLTagEnd,\n        XMLStart,\n        XMLEnd,\n        Script,\n        ASPAtStart,\n        ASPStart,\n        CDATA,\n        PHPStart,\n        HTMLValue,\n        ASPXCComment,\n        SGMLDefault,\n        SGMLCommand,\n        SGMLParameter,\n        SGMLDoubleQuotedString,\n        SGMLSingleQuotedString,\n        SGMLError,\n        SGMLSpecial,\n        SGMLEntity,\n        SGMLComment,\n        SGMLParameterComment,\n        SGMLBlockDefault,\n        JavaScriptStart,\n        JavaScriptDefault,\n        JavaScriptComment,\n        JavaScriptCommentLine,\n        JavaScriptCommentDoc,\n        JavaScriptNumber,\n        JavaScriptWord,\n        JavaScriptKeyword,\n        JavaScriptDoubleQuotedString,\n        JavaScriptSingleQuotedString,\n        JavaScriptSymbol,\n        JavaScriptUnclosedString,\n        JavaScriptRegex,\n        ASPJavaScriptStart,\n        ASPJavaScriptDefault,\n        ASPJavaScriptComment,\n        ASPJavaScriptCommentLine,\n        ASPJavaScriptCommentDoc,\n        ASPJavaScriptNumber,\n        ASPJavaScriptWord,\n        ASPJavaScriptKeyword,\n        ASPJavaScriptDoubleQuotedString,\n        ASPJavaScriptSingleQuotedString,\n        ASPJavaScriptSymbol,\n        ASPJavaScriptUnclosedString,\n        ASPJavaScriptRegex,\n        VBScriptStart,\n        VBScriptDefault,\n        VBScriptComment,\n        VBScriptNumber,\n        VBScriptKeyword,\n        VBScriptString,\n        VBScriptIdentifier,\n        VBScriptUnclosedString,\n        ASPVBScriptStart,\n        ASPVBScriptDefault,\n        ASPVBScriptComment,\n        ASPVBScriptNumber,\n        ASPVBScriptKeyword,\n        ASPVBScriptString,\n        ASPVBScriptIdentifier,\n        ASPVBScriptUnclosedString,\n        PythonStart,\n        PythonDefault,\n        PythonComment,\n        PythonNumber,\n        PythonDoubleQuotedString,\n        PythonSingleQuotedString,\n        PythonKeyword,\n        PythonTripleSingleQuotedString,\n        PythonTripleDoubleQuotedString,\n        PythonClassName,\n        PythonFunctionMethodName,\n        PythonOperator,\n        PythonIdentifier,\n        ASPPythonStart,\n        ASPPythonDefault,\n        ASPPythonComment,\n        ASPPythonNumber,\n        ASPPythonDoubleQuotedString,\n        ASPPythonSingleQuotedString,\n        ASPPythonKeyword,\n        ASPPythonTripleSingleQuotedString,\n        ASPPythonTripleDoubleQuotedString,\n        ASPPythonClassName,\n        ASPPythonFunctionMethodName,\n        ASPPythonOperator,\n        ASPPythonIdentifier,\n        PHPDefault,\n        PHPDoubleQuotedString,\n        PHPSingleQuotedString,\n        PHPKeyword,\n        PHPNumber,\n        PHPVariable,\n        PHPComment,\n        PHPCommentLine,\n        PHPDoubleQuotedVariable,\n        PHPOperator\n    };\n\n    QsciLexerHTML(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerHTML();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    const char *autoCompletionFillups() const /Encoding=\"None\"/;\n    bool caseSensitive() const;\n\n    void refreshProperties();\n    bool caseSensitiveTags() const;\n    void setDjangoTemplates(bool enable);\n    bool djangoTemplates() const;\n    bool foldCompact() const;\n    bool foldPreprocessor() const;\n    void setFoldScriptComments(bool fold);\n    bool foldScriptComments() const;\n    void setFoldScriptHeredocs(bool fold);\n    bool foldScriptHeredocs() const;\n    void setMakoTemplates(bool enable);\n    bool makoTemplates() const;\n\npublic slots:\n    virtual void setFoldCompact(bool fold);\n    virtual void setFoldPreprocessor(bool fold);\n    virtual void setCaseSensitiveTags(bool sens);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerHTML(const QsciLexerHTML &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexeridl.sip",
    "content": "// This is the SIP interface definition for QsciLexerIDL.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerIDL : QsciLexerCPP\n{\n%TypeHeaderCode\n#include <Qsci/qscilexeridl.h>\n%End\n\npublic:\n    QsciLexerIDL(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerIDL();\n\n    const char *language() const;\n    QColor defaultColor(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\nprivate:\n    QsciLexerIDL(const QsciLexerIDL &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerjava.sip",
    "content": "// This is the SIP interface definition for QsciLexerJava.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerJava : QsciLexerCPP\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerjava.h>\n%End\n\npublic:\n    QsciLexerJava(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerJava();\n\n    const char *language() const;\n    const char *keywords(int set) const;\n\nprivate:\n    QsciLexerJava(const QsciLexerJava &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerjavascript.sip",
    "content": "// This is the SIP interface definition for QsciLexerJavaScript.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerJavaScript : QsciLexerCPP\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerjavascript.h>\n%End\n\npublic:\n    QsciLexerJavaScript(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerJavaScript();\n\n    const char *language() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\nprivate:\n    QsciLexerJavaScript(const QsciLexerJavaScript &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerjson.sip",
    "content": "// This is the SIP interface definition for QsciLexerJSON.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerJSON : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerjson.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Number,\n        String,\n        UnclosedString,\n        Property,\n        EscapeSequence,\n        CommentLine,\n        CommentBlock,\n        Operator,\n        IRI,\n        IRICompact,\n        Keyword,\n        KeywordLD,\n        Error,\n    };\n\n    QsciLexerJSON(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerJSON();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    void refreshProperties();\n    void setHighlightComments(bool highlight);\n    bool highlightComments() const;\n    void setHighlightEscapeSequences(bool highlight);\n    bool highlightEscapeSequences() const;\n    void setFoldCompact(bool fold);\n    bool foldCompact() const;\n\nprotected:\n    bool readProperties(QSettings &qs,const QString &prefix);\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    QsciLexerJSON(const QsciLexerJSON &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerlua.sip",
    "content": "// This is the SIP interface definition for QsciLexerLua.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerLua : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerlua.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        LineComment,\n        Number,\n        Keyword,\n        String,\n        Character,\n        LiteralString,\n        Preprocessor,\n        Operator,\n        Identifier,\n        UnclosedString,\n        BasicFunctions,\n        StringTableMathsFunctions,\n        CoroutinesIOSystemFacilities,\n        KeywordSet5,\n        KeywordSet6,\n        KeywordSet7,\n        KeywordSet8,\n        Label,\n    };\n\n    QsciLexerLua(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerLua();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    QStringList autoCompletionWordSeparators() const;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldCompact() const;\n\npublic slots:\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerLua(const QsciLexerLua &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexermakefile.sip",
    "content": "// This is the SIP interface definition for QsciLexerMakefile.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerMakefile : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexermakefile.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Preprocessor,\n        Variable,\n        Operator,\n        Target,\n        Error\n    };\n\n    QsciLexerMakefile(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerMakefile();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\nprivate:\n    QsciLexerMakefile(const QsciLexerMakefile &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexermarkdown.sip",
    "content": "// This is the SIP interface definition for QsciLexerMarkdown.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerMarkdown : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexermarkdown.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Special,\n        StrongEmphasisAsterisks,\n        StrongEmphasisUnderscores,\n        EmphasisAsterisks,\n        EmphasisUnderscores,\n        Header1,\n        Header2,\n        Header3,\n        Header4,\n        Header5,\n        Header6,\n        Prechar,\n        UnorderedListItem,\n        OrderedListItem,\n        BlockQuote,\n        StrikeOut,\n        HorizontalRule,\n        Link,\n        CodeBackticks,\n        CodeDoubleBackticks,\n        CodeBlock,\n    };\n\n    QsciLexerMarkdown(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerMarkdown();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    QString description(int style) const;\n\nprivate:\n    QsciLexerMarkdown(const QsciLexerMarkdown &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexermatlab.sip",
    "content": "// This is the SIP interface definition for QsciLexerMatlab.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerMatlab : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexermatlab.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Command,\n        Number,\n        Keyword,\n        SingleQuotedString,\n        Operator,\n        Identifier,\n        DoubleQuotedString\n    };\n\n    QsciLexerMatlab(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerMatlab();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\nprivate:\n    QsciLexerMatlab(const QsciLexerMatlab &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexeroctave.sip",
    "content": "// This is the SIP interface definition for QsciLexerOctave.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerOctave : QsciLexerMatlab\n{\n%TypeHeaderCode\n#include <Qsci/qscilexeroctave.h>\n%End\n\npublic:\n    QsciLexerOctave(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerOctave();\n\n    const char *language() const;\n    const char *lexer() const;\n    const char *keywords(int set) const;\n\nprivate:\n    QsciLexerOctave(const QsciLexerOctave &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerpascal.sip",
    "content": "// This is the SIP interface definition for QsciLexerPascal.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerPascal : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerpascal.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Identifier,\n        Comment,\n        CommentParenthesis,\n        CommentLine,\n        PreProcessor,\n        PreProcessorParenthesis,\n        Number,\n        HexNumber,\n        Keyword,\n        SingleQuotedString,\n        UnclosedString,\n        Character,\n        Operator,\n        Asm,\n    };\n\n    QsciLexerPascal(QObject *parent /TransferThis/ = 0);\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    QStringList autoCompletionWordSeparators() const;\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStartKeyword(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n    bool foldPreprocessor() const;\n\n    void setSmartHighlighting(bool enabled);\n    bool smartHighlighting() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n    virtual void setFoldPreprocessor(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerPascal(const QsciLexerPascal &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerperl.sip",
    "content": "// This is the SIP interface definition for QsciLexerPerl.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerPerl : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerperl.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Error,\n        Comment,\n        POD,\n        Number,\n        Keyword,\n        DoubleQuotedString,\n        SingleQuotedString,\n        Operator,\n        Identifier,\n        Scalar,\n        Array,\n        Hash,\n        SymbolTable,\n        Regex,\n        Substitution,\n        Backticks,\n        DataSection,\n        HereDocumentDelimiter,\n        SingleQuotedHereDocument,\n        DoubleQuotedHereDocument,\n        BacktickHereDocument,\n        QuotedStringQ,\n        QuotedStringQQ,\n        QuotedStringQX,\n        QuotedStringQR,\n        QuotedStringQW,\n        PODVerbatim,\n        SubroutinePrototype,\n        FormatIdentifier,\n        FormatBody,\n        DoubleQuotedStringVar,\n        Translation,\n        RegexVar,\n        SubstitutionVar,\n        BackticksVar,\n        DoubleQuotedHereDocumentVar,\n        BacktickHereDocumentVar,\n        QuotedStringQQVar,\n        QuotedStringQXVar,\n        QuotedStringQRVar,\n    };\n\n    QsciLexerPerl(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerPerl();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    QStringList autoCompletionWordSeparators() const;\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n\n    void setFoldAtElse(bool fold);\n    bool foldAtElse() const;\n    void setFoldPackages(bool fold);\n    bool foldPackages() const;\n    void setFoldPODBlocks(bool fold);\n    bool foldPODBlocks() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerPerl(const QsciLexerPerl &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerpo.sip",
    "content": "// This is the SIP interface definition for QsciLexerPO.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerPO : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerpo.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        MessageId,\n        MessageIdText,\n        MessageString,\n        MessageStringText,\n        MessageContext,\n        MessageContextText,\n        Fuzzy,\n        ProgrammerComment,\n        Reference,\n        Flags,\n        MessageIdTextEOL,\n        MessageStringTextEOL,\n        MessageContextTextEOL\n    };\n\n    QsciLexerPO(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerPO();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    QString description(int style) const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerPO(const QsciLexerPO &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerpostscript.sip",
    "content": "// This is the SIP interface definition for QsciLexerPostScript.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerPostScript : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerpostscript.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        DSCComment,\n        DSCCommentValue,\n        Number,\n        Name,\n        Keyword,\n        Literal,\n        ImmediateEvalLiteral,\n        ArrayParenthesis,\n        DictionaryParenthesis,\n        ProcedureParenthesis,\n        Text,\n        HexString,\n        Base85String,\n        BadStringCharacter\n    };\n\n    QsciLexerPostScript(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerPostScript();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool tokenize() const;\n    int level() const;\n    bool foldCompact() const;\n    bool foldAtElse() const;\n\npublic slots:\n    virtual void setTokenize(bool tokenize);\n    virtual void setLevel(int level);\n    virtual void setFoldCompact(bool fold);\n    virtual void setFoldAtElse(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerPostScript(const QsciLexerPostScript &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerpov.sip",
    "content": "// This is the SIP interface definition for QsciLexerPOV.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerPOV : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerpov.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        CommentLine,\n        Number,\n        Operator,\n        Identifier,\n        String,\n        UnclosedString,\n        Directive,\n        BadDirective,\n        ObjectsCSGAppearance,\n        TypesModifiersItems,\n        PredefinedIdentifiers,\n        PredefinedFunctions,\n        KeywordSet6,\n        KeywordSet7,\n        KeywordSet8\n    };\n\n    QsciLexerPOV(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerPOV();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n    bool foldDirectives() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n    virtual void setFoldDirectives(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerPOV(const QsciLexerPOV &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerproperties.sip",
    "content": "// This is the SIP interface definition for QsciLexerProperties.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerProperties : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerproperties.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Section,\n        Assignment,\n        DefaultValue,\n        Key\n    };\n\n    QsciLexerProperties(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerProperties();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    void refreshProperties();\n    bool foldCompact() const;\n    void setInitialSpaces(bool enable);\n    bool initialSpaces() const;\n\npublic slots:\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerProperties(const QsciLexerProperties &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerpython.sip",
    "content": "// This is the SIP interface definition for QsciLexerPython.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerPython : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerpython.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Number,\n        DoubleQuotedString,\n        SingleQuotedString,\n        Keyword,\n        TripleSingleQuotedString,\n        TripleDoubleQuotedString,\n        ClassName,\n        FunctionMethodName,\n        Operator,\n        Identifier,\n        CommentBlock,\n        UnclosedString,\n        HighlightedIdentifier,\n        Decorator,\n        DoubleQuotedFString,\n        SingleQuotedFString,\n        TripleSingleQuotedFString,\n        TripleDoubleQuotedFString,\n    };\n\n    enum IndentationWarning {\n        NoWarning,\n        Inconsistent,\n        TabsAfterSpaces,\n        Spaces,\n        Tabs\n    };\n\n    QsciLexerPython(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerPython();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    QStringList autoCompletionWordSeparators() const;\n    int blockLookback() const;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n    int indentationGuideView() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    void setFoldCompact(bool fold);\n    bool foldCompact() const;\n    bool foldQuotes() const;\n    QsciLexerPython::IndentationWarning indentationWarning() const;\n    void setHighlightSubidentifiers(bool enabled);\n    bool highlightSubidentifiers() const;\n    void setStringsOverNewlineAllowed(bool allowed);\n    bool stringsOverNewlineAllowed() const;\n    void setV2UnicodeAllowed(bool allowed);\n    bool v2UnicodeAllowed() const;\n    void setV3BinaryOctalAllowed(bool allowed);\n    bool v3BinaryOctalAllowed() const;\n    void setV3BytesAllowed(bool allowed);\n    bool v3BytesAllowed() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldQuotes(bool fold);\n    virtual void setIndentationWarning(QsciLexerPython::IndentationWarning warn);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerPython(const QsciLexerPython &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerruby.sip",
    "content": "// This is the SIP interface definition for QsciLexerRuby.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerRuby : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerruby.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Error,\n        Comment,\n        POD,\n        Number,\n        Keyword,\n        DoubleQuotedString,\n        SingleQuotedString,\n        ClassName,\n        FunctionMethodName,\n        Operator,\n        Identifier,\n        Regex,\n        Global,\n        Symbol,\n        ModuleName,\n        InstanceVariable,\n        ClassVariable,\n        Backticks,\n        DataSection,\n        HereDocumentDelimiter,\n        HereDocument,\n        PercentStringq,\n        PercentStringQ,\n        PercentStringx,\n        PercentStringr,\n        PercentStringw,\n        DemotedKeyword,\n        Stdin,\n        Stdout,\n        Stderr\n    };\n\n    QsciLexerRuby(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerRuby();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int) const;\n    QString description(int style) const;\n\n    const char *blockEnd(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStart(int *style = 0) const /Encoding=\"None\"/;\n    const char *blockStartKeyword(int *style = 0) const /Encoding=\"None\"/;\n    int braceStyle() const;\n\n    void refreshProperties();\n    void setFoldComments(bool fold);\n    bool foldComments() const;\n    void setFoldCompact(bool fold);\n    bool foldCompact() const;\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerRuby(const QsciLexerRuby &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerspice.sip",
    "content": "// This is the SIP interface definition for QsciLexerSpice.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerSpice : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerspice.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Identifier,\n        Command,\n        Function,\n        Parameter,\n        Number,\n        Delimiter,\n        Value,\n        Comment\n    };\n\n    QsciLexerSpice(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerSpice();\n\n    const char *language() const;\n    const char *lexer() const;\n    const char *keywords(int set) const;\n    QColor defaultColor(int style) const;\n    QFont defaultFont(int style) const;\n    QString description(int style) const;\n\n    int braceStyle() const;\n\nprivate:\n    QsciLexerSpice(const QsciLexerSpice &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexersql.sip",
    "content": "// This is the SIP interface definition for QsciLexerSQL.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerSQL : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexersql.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        CommentLine,\n        CommentDoc,\n        Number,\n        Keyword,\n        DoubleQuotedString,\n        SingleQuotedString,\n        PlusKeyword,\n        PlusPrompt,\n        Operator,\n        Identifier,\n        PlusComment,\n        CommentLineHash,\n        CommentDocKeyword,\n        CommentDocKeywordError,\n        KeywordSet5,\n        KeywordSet6,\n        KeywordSet7,\n        KeywordSet8,\n        QuotedIdentifier,\n        QuotedOperator,\n    };\n\n    QsciLexerSQL(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerSQL();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool backslashEscapes() const;\n    void setDottedWords(bool enable);\n    bool dottedWords() const;\n    void setFoldAtElse(bool fold);\n    bool foldAtElse() const;\n    bool foldComments() const;\n    bool foldCompact() const;\n    void setFoldOnlyBegin(bool fold);\n    bool foldOnlyBegin() const;\n    void setHashComments(bool enable);\n    bool hashComments() const;\n    void setQuotedIdentifiers(bool enable);\n    bool quotedIdentifiers() const;\n\npublic slots:\n    virtual void setBackslashEscapes(bool enable);\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerSQL(const QsciLexerSQL &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexertcl.sip",
    "content": "// This is the SIP interface definition for QsciLexerTCL.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerTCL : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexertcl.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        CommentLine,\n        Number,\n        QuotedKeyword,\n        QuotedString,\n        Operator,\n        Identifier,\n        Substitution,\n        SubstitutionBrace,\n        Modifier,\n        ExpandKeyword,\n        TCLKeyword,\n        TkKeyword,\n        ITCLKeyword,\n        TkCommand,\n        KeywordSet6,\n        KeywordSet7,\n        KeywordSet8,\n        KeywordSet9,\n        CommentBox,\n        CommentBlock\n    };\n\n    QsciLexerTCL(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerTCL();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    void setFoldComments(bool fold);\n    bool foldComments() const;\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerTCL(const QsciLexerTCL &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexertex.sip",
    "content": "// This is the SIP interface definition for QsciLexerTeX.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerTeX : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexertex.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Special,\n        Group,\n        Symbol,\n        Command,\n        Text\n    };\n\n    QsciLexerTeX(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerTeX();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    void refreshProperties();\n    void setFoldComments(bool fold);\n    bool foldComments() const;\n    void setFoldCompact(bool fold);\n    bool foldCompact() const;\n    void setProcessComments(bool enable);\n    bool processComments() const;\n    void setProcessIf(bool enable);\n    bool processIf() const;\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerTeX(const QsciLexerTeX &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerverilog.sip",
    "content": "// This is the SIP interface definition for QsciLexerVerilog.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerVerilog : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerverilog.h>\n%End\n\npublic:\n    enum {\n        Default,\n        InactiveDefault,\n        Comment,\n        InactiveComment,\n        CommentLine,\n        InactiveCommentLine,\n        CommentBang,\n        InactiveCommentBang,\n        Number,\n        InactiveNumber,\n        Keyword,\n        InactiveKeyword,\n        String,\n        InactiveString,\n        KeywordSet2,\n        InactiveKeywordSet2,\n        SystemTask,\n        InactiveSystemTask,\n        Preprocessor,\n        InactivePreprocessor,\n        Operator,\n        InactiveOperator,\n        Identifier,\n        InactiveIdentifier,\n        UnclosedString,\n        InactiveUnclosedString,\n        UserKeywordSet,\n        InactiveUserKeywordSet,\n        CommentKeyword,\n        InactiveCommentKeyword,\n        DeclareInputPort,\n        InactiveDeclareInputPort,\n        DeclareOutputPort,\n        InactiveDeclareOutputPort,\n        DeclareInputOutputPort,\n        InactiveDeclareInputOutputPort,\n        PortConnection,\n        InactivePortConnection,\n    };\n\n    QsciLexerVerilog(QObject *parent /TransferThis/ = 0);\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n    const char *wordCharacters() const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n\n    void setFoldAtElse(bool fold);\n    bool foldAtElse() const;\n\n    void setFoldComments(bool fold);\n    bool foldComments() const;\n\n    void setFoldCompact(bool fold);\n    bool foldCompact() const;\n\n    void setFoldPreprocessor(bool fold);\n    bool foldPreprocessor() const;\n\n    void setFoldAtModule(bool fold);\n    bool foldAtModule() const;\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerVerilog(const QsciLexerVerilog &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexervhdl.sip",
    "content": "// This is the SIP interface definition for QsciLexerVHDL.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerVHDL : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexervhdl.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        CommentLine,\n        Number,\n        String,\n        Operator,\n        Identifier,\n        UnclosedString,\n        Keyword,\n        StandardOperator,\n        Attribute,\n        StandardFunction,\n        StandardPackage,\n        StandardType,\n        KeywordSet7,\n        CommentBlock\n    };\n\n    QsciLexerVHDL(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerVHDL();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    int braceStyle() const;\n\n    void refreshProperties();\n    bool foldComments() const;\n    bool foldCompact() const;\n    bool foldAtElse() const;\n    bool foldAtBegin() const;\n    bool foldAtParenthesis() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n    virtual void setFoldCompact(bool fold);\n    virtual void setFoldAtElse(bool fold);\n    virtual void setFoldAtBegin(bool fold);\n    virtual void setFoldAtParenthesis(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerVHDL(const QsciLexerVHDL &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexerxml.sip",
    "content": "// This is the SIP interface definition for QsciLexerXML.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerXML : QsciLexerHTML\n{\n%TypeHeaderCode\n#include <Qsci/qscilexerxml.h>\n%End\n\npublic:\n    QsciLexerXML(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerXML();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n\n    void refreshProperties();\n    void setScriptsStyled(bool styled);\n    bool scriptsStyled() const;\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerXML(const QsciLexerXML &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscilexeryaml.sip",
    "content": "// This is the SIP interface definition for QsciLexerYAML.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciLexerYAML : QsciLexer\n{\n%TypeHeaderCode\n#include <Qsci/qscilexeryaml.h>\n%End\n\npublic:\n    enum {\n        Default,\n        Comment,\n        Identifier,\n        Keyword,\n        Number,\n        Reference,\n        DocumentDelimiter,\n        TextBlockMarker,\n        SyntaxErrorMarker,\n        Operator\n    };\n\n    QsciLexerYAML(QObject *parent /TransferThis/ = 0);\n    virtual ~QsciLexerYAML();\n\n    const char *language() const;\n    const char *lexer() const;\n    QColor defaultColor(int style) const;\n    bool defaultEolFill(int style) const;\n    QFont defaultFont(int style) const;\n    QColor defaultPaper(int style) const;\n    const char *keywords(int set) const;\n    QString description(int style) const;\n\n    void refreshProperties();\n    bool foldComments() const;\n\npublic slots:\n    virtual void setFoldComments(bool fold);\n\nprotected:\n    bool readProperties(QSettings &qs, const QString &prefix);\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    QsciLexerYAML(const QsciLexerYAML &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscimacro.sip",
    "content": "// This is the SIP interface definition for QsciMacro.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciMacro : QObject\n{\n%TypeHeaderCode\n#include <Qsci/qscimacro.h>\n%End\n\npublic:\n    QsciMacro(QsciScintilla *parent /TransferThis/);\n    QsciMacro(const QString &asc, QsciScintilla *parent /TransferThis/);\n\n    virtual ~QsciMacro();\n\n    void clear();\n    bool load(const QString &asc);\n    QString save() const;\n\npublic slots:\n    virtual void play();\n    virtual void startRecording();\n    virtual void endRecording();\n\nprivate:\n    QsciMacro(const QsciMacro &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscimod5.sip",
    "content": "// This is the SIP interface definition for the Qsci module of PyQt5.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n%Module(name=PyQt5.Qsci, keyword_arguments=\"Optional\", use_limited_api=True)\n\n%Include qscimodcommon.sip\n"
  },
  {
    "path": "src/qscint/Python/sip/qscimod6.sip",
    "content": "// This is the SIP interface definition for the Qsci module of PyQt6.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n%Module(name=PyQt6.Qsci, keyword_arguments=\"Optional\", use_limited_api=True)\n\n%Include qscimodcommon.sip\n"
  },
  {
    "path": "src/qscint/Python/sip/qscimodcommon.sip",
    "content": "// This is the SIP interface definition for the parts of the Qsci module common\n// to PyQt5 and PyQt6.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n%Copying\nCopyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n\nThis file is part of QScintilla.\n\nThis file may be used under the terms of the GNU General Public License\nversion 3.0 as published by the Free Software Foundation and appearing in\nthe file LICENSE included in the packaging of this file.  Please review the\nfollowing information to ensure the GNU General Public License version 3.0\nrequirements will be met: http://www.gnu.org/copyleft/gpl.html.\n\nIf you do not wish to use this file under the terms of the GPL version 3.0\nthen you may purchase a commercial license.  For more information contact\ninfo@riverbankcomputing.com.\n\nThis file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\nWARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n%End\n\n\n%Import QtCore/QtCoremod.sip\n%Import QtGui/QtGuimod.sip\n%Import QtWidgets/QtWidgetsmod.sip\n\n%If (PyQt_Printer)\n%Import QtPrintSupport/QtPrintSupportmod.sip\n%End\n\n\nconst int QSCINTILLA_VERSION;\nconst char *QSCINTILLA_VERSION_STR;\n\n\n%Include qsciscintillabase.sip\n%Include qsciscintilla.sip\n%Include qsciabstractapis.sip\n%Include qsciapis.sip\n%Include qscicommand.sip\n%Include qscicommandset.sip\n%Include qscidocument.sip\n%Include qscilexer.sip\n%Include qscilexeravs.sip\n%Include qscilexerbash.sip\n%Include qscilexerbatch.sip\n%Include qscilexercmake.sip\n%Include qscilexercoffeescript.sip\n%Include qscilexercpp.sip\n%Include qscilexercsharp.sip\n%Include qscilexercss.sip\n%Include qscilexercustom.sip\n%Include qscilexerd.sip\n%Include qscilexerdiff.sip\n%Include qscilexerfortran.sip\n%Include qscilexerfortran77.sip\n%Include qscilexerhtml.sip\n%Include qscilexeridl.sip\n%Include qscilexerjava.sip\n%Include qscilexerjavascript.sip\n%Include qscilexerjson.sip\n%Include qscilexerlua.sip\n%Include qscilexermakefile.sip\n%Include qscilexermarkdown.sip\n%Include qscilexermatlab.sip\n%Include qscilexeroctave.sip\n%Include qscilexerpascal.sip\n%Include qscilexerperl.sip\n%Include qscilexerpostscript.sip\n%Include qscilexerpo.sip\n%Include qscilexerpov.sip\n%Include qscilexerproperties.sip\n%Include qscilexerpython.sip\n%Include qscilexerruby.sip\n%Include qscilexerspice.sip\n%Include qscilexersql.sip\n%Include qscilexertcl.sip\n%Include qscilexertex.sip\n%Include qscilexerverilog.sip\n%Include qscilexervhdl.sip\n%Include qscilexerxml.sip\n%Include qscilexeryaml.sip\n%Include qscimacro.sip\n%Include qsciprinter.sip\n%Include qscistyle.sip\n%Include qscistyledtext.sip\n"
  },
  {
    "path": "src/qscint/Python/sip/qsciprinter.sip",
    "content": "// This is the SIP interface definition for QsciPrinter.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n%If (PyQt_Printer)\n\nclass QsciPrinter : QPrinter\n{\n%TypeHeaderCode\n#include <Qsci/qsciprinter.h>\n%End\n\npublic:\n    QsciPrinter(QPrinter::PrinterMode mode = QPrinter::ScreenResolution);\n    virtual ~QsciPrinter();\n\n    virtual void formatPage(QPainter &painter, bool drawing, QRect &area,\n            int pagenr);\n    int magnification() const;\n    virtual void setMagnification(int magnification);\n    virtual int printRange(QsciScintillaBase *qsb, int from = -1, int to = -1);\n    QsciScintilla::WrapMode wrapMode() const;\n    virtual void setWrapMode(QsciScintilla::WrapMode);\n\nprivate:\n    QsciPrinter(const QsciPrinter &);\n};\n\n%End\n"
  },
  {
    "path": "src/qscint/Python/sip/qsciscintilla.sip",
    "content": "// This is the SIP interface definition for QsciScintilla.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciScintilla : QsciScintillaBase\n{\n%TypeHeaderCode\n#include <Qsci/qsciscintilla.h>\n%End\n\npublic:\n    enum {\n        AiMaintain,\n        AiOpening,\n        AiClosing\n    };\n\n    enum AnnotationDisplay {\n        AnnotationHidden,\n        AnnotationStandard,\n        AnnotationBoxed,\n        AnnotationIndented,\n    };\n\n    enum AutoCompletionSource {\n        AcsNone,\n        AcsAll,\n        AcsDocument,\n        AcsAPIs\n    };\n\n    enum AutoCompletionUseSingle {\n        AcusNever,\n        AcusExplicit,\n        AcusAlways\n    };\n\n    enum BraceMatch {\n        NoBraceMatch,\n        StrictBraceMatch,\n        SloppyBraceMatch\n    };\n\n    enum CallTipsPosition {\n        CallTipsBelowText,\n        CallTipsAboveText,\n    };\n\n    enum CallTipsStyle {\n        CallTipsNone,\n        CallTipsNoContext,\n        CallTipsNoAutoCompletionContext,\n        CallTipsContext\n    };\n\n    enum EdgeMode {\n        EdgeNone,\n        EdgeLine,\n        EdgeBackground,\n        EdgeMultipleLines,\n    };\n\n    enum EolMode {\n        EolWindows,\n        EolUnix,\n        EolMac\n    };\n\n    enum FoldStyle {\n        NoFoldStyle,\n        PlainFoldStyle,\n        CircledFoldStyle,\n        BoxedFoldStyle,\n        CircledTreeFoldStyle,\n        BoxedTreeFoldStyle\n    };\n\n    enum IndicatorStyle {\n        PlainIndicator,\n        SquiggleIndicator,\n        TTIndicator,\n        DiagonalIndicator,\n        StrikeIndicator,\n        HiddenIndicator,\n        BoxIndicator,\n        RoundBoxIndicator,\n        StraightBoxIndicator,\n        FullBoxIndicator,\n        DashesIndicator,\n        DotsIndicator,\n        SquiggleLowIndicator,\n        DotBoxIndicator,\n        SquigglePixmapIndicator,\n        ThickCompositionIndicator,\n        ThinCompositionIndicator,\n        TextColorIndicator,\n        TriangleIndicator,\n        TriangleCharacterIndicator,\n        GradientIndicator,\n        CentreGradientIndicator,\n    };\n\n    enum {\n        MoNone,\n        MoSublineSelect,\n    };\n\n    enum MarginType {\n        SymbolMargin,\n        SymbolMarginDefaultForegroundColor,\n        SymbolMarginDefaultBackgroundColor,\n        NumberMargin,\n        TextMargin,\n        TextMarginRightJustified,\n        SymbolMarginColor,\n    };\n\n    enum MarkerSymbol {\n        Circle,\n        Rectangle,\n        RightTriangle,\n        SmallRectangle,\n        RightArrow,\n        Invisible,\n        DownTriangle,\n        Minus,\n        Plus,\n        VerticalLine,\n        BottomLeftCorner,\n        LeftSideSplitter,\n        BoxedPlus,\n        BoxedPlusConnected,\n        BoxedMinus,\n        BoxedMinusConnected,\n        RoundedBottomLeftCorner,\n        LeftSideRoundedSplitter,\n        CircledPlus,\n        CircledPlusConnected,\n        CircledMinus,\n        CircledMinusConnected,\n        Background,\n        ThreeDots,\n        ThreeRightArrows,\n        FullRectangle,\n        LeftRectangle,\n        Underline,\n        Bookmark\n    };\n\n    enum TabDrawMode {\n        TabLongArrow,\n        TabStrikeOut,\n    };\n\n    enum WhitespaceVisibility {\n        WsInvisible,\n        WsVisible,\n        WsVisibleAfterIndent,\n        WsVisibleOnlyInIndent,\n    };\n\n    enum WrapMode {\n        WrapNone,\n        WrapWord,\n        WrapCharacter,\n        WrapWhitespace,\n    };\n\n    enum WrapVisualFlag {\n        WrapFlagNone,\n        WrapFlagByText,\n        WrapFlagByBorder,\n        WrapFlagInMargin,\n    };\n\n    enum WrapIndentMode {\n        WrapIndentFixed,\n        WrapIndentSame,\n        WrapIndentIndented,\n        WrapIndentDeeplyIndented,\n    };\n\n    QsciScintilla(QWidget *parent /TransferThis/ = 0);\n    virtual ~QsciScintilla();\n\n    virtual QStringList apiContext(int pos, int &context_start,\n            int &last_word_start);\n\n    void annotate(int line, const QString &text, int style);\n    void annotate(int line, const QString &text, const QsciStyle &style);\n    void annotate(int line, const QsciStyledText &text);\n    void annotate(int line, const QList<QsciStyledText> &text);\n    QString annotation(int line) const;\n    AnnotationDisplay annotationDisplay() const;\n    void clearAnnotations(int line = -1);\n\n    bool autoCompletionCaseSensitivity() const;\n    bool autoCompletionFillupsEnabled() const;\n    bool autoCompletionReplaceWord() const;\n    bool autoCompletionShowSingle() const;\n    AutoCompletionSource autoCompletionSource() const;\n    int autoCompletionThreshold() const;\n    AutoCompletionUseSingle autoCompletionUseSingle() const;\n    bool autoIndent() const;\n\n    bool backspaceUnindents() const;\n    void beginUndoAction();\n    BraceMatch braceMatching() const;\n    QByteArray bytes(int start, int end) const;\n\n    CallTipsPosition callTipsPosition() const;\n    CallTipsStyle callTipsStyle() const;\n    int callTipsVisible() const;\n    void cancelFind();\n    void cancelList();\n    bool caseSensitive() const;\n    void clearRegisteredImages();\n    QColor color() const;\n    QList<int> contractedFolds() const;\n    void convertEols(EolMode mode);\n    QMenu *createStandardContextMenu() /Factory/;\n\n    QsciDocument document() const;\n\n    void endUndoAction();\n    QColor edgeColor() const;\n    int edgeColumn() const;\n    EdgeMode edgeMode() const;\n    EolMode eolMode() const;\n    bool eolVisibility() const;\n\n    int extraAscent() const;\n    int extraDescent() const;\n\n    virtual bool findFirst(const QString &expr, bool re, bool cs, bool wo,\n            bool wrap, bool forward = true, int line = -1, int index = -1,\n            bool show = true, bool posix = false, bool cxx11 = false);\n    virtual bool findFirstInSelection(const QString &expr, bool re, bool cs,\n            bool wo, bool forward = true, bool show = true,\n            bool posix = false, bool cxx11 = false);\n    virtual bool findNext();\n    bool findMatchingBrace(long &brace, long &other, BraceMatch mode);\n    int firstVisibleLine() const;\n    FoldStyle folding() const;\n\n    void getCursorPosition(int *line, int *index) const;\n    void getSelection(int *lineFrom, int *indexFrom, int *lineTo,\n            int *indexTo) const;\n\n    bool hasSelectedText() const;\n\n    int indentation(int line) const;\n    bool indentationGuides() const;\n    bool indentationsUseTabs() const;\n    int indentationWidth() const;\n\n    void clearIndicatorRange(int lineFrom, int indexFrom, int lineTo,\n            int indexTo, int indicatorNumber);\n    void fillIndicatorRange(int lineFrom, int indexFrom, int lineTo,\n            int indexTo, int indicatorNumber);\n    int indicatorDefine(IndicatorStyle style, int indicatorNumber = -1);\n    bool indicatorDrawUnder(int indicatorNumber) const;\n\n    bool isCallTipActive() const;\n    bool isListActive() const;\n    bool isModified() const;\n    bool isReadOnly() const;\n    bool isRedoAvailable() const;\n    bool isUndoAvailable() const;\n    bool isUtf8() const;\n    bool isWordCharacter(char ch) const;\n\n    int lineAt(const QPoint &pos) const;\n    void lineIndexFromPosition(int position, int *line, int *index) const;\n    int lineLength(int line) const;\n    int lines() const;\n    int length() const;\n    QsciLexer *lexer() const;\n\n    QColor marginBackgroundColor(int margin) const;\n    bool marginLineNumbers(int margin) const;\n    int marginMarkerMask(int margin) const;\n    int marginOptions() const;\n    bool marginSensitivity(int margin) const;\n    MarginType marginType(int margin) const;\n    int marginWidth(int margin) const;\n    int margins() const;\n\n    int markerDefine(MarkerSymbol sym, int markerNumber = -1);\n    int markerDefine(char ch, int markerNumber = -1);\n    int markerDefine(const QPixmap &pm, int markerNumber = -1);\n    int markerDefine(const QImage &im, int markerNumber = -1);\n    int markerAdd(int linenr, int markerNumber);\n    unsigned markersAtLine(int linenr) const;\n    void markerDelete(int linenr, int markerNumber = -1);\n    void markerDeleteAll(int markerNumber = -1);\n    void markerDeleteHandle(int mhandle);\n    int markerLine(int mhandle) const;\n    int markerFindNext(int linenr, unsigned mask) const;\n    int markerFindPrevious(int linenr, unsigned mask) const;\n\n    bool overwriteMode() const;\n\n    QColor paper() const;\n    int positionFromLineIndex(int line, int index) const;\n\n    bool read(QIODevice *io) /ReleaseGIL/;\n    virtual void recolor(int start = 0, int end = -1);\n    void registerImage(int id, const QPixmap &pm);\n    void registerImage(int id, const QImage &im);\n    virtual void replace(const QString &replaceStr);\n    void resetFoldMarginColors();\n    void resetHotspotBackgroundColor();\n    void resetHotspotForegroundColor();\n\n    int scrollWidth() const;\n    void setScrollWidth(int pixelWidth);\n    bool scrollWidthTracking() const;\n    void setScrollWidthTracking(bool enabled);\n\n    void setFoldMarginColors(const QColor &fore, const QColor &back);\n\n    void setAnnotationDisplay(AnnotationDisplay display);\n\n    void setAutoCompletionFillupsEnabled(bool enabled);\n    void setAutoCompletionFillups(const char *fillups);\n    void setAutoCompletionWordSeparators(const QStringList &separators);\n\n    void setCallTipsBackgroundColor(const QColor &col);\n    void setCallTipsForegroundColor(const QColor &col);\n    void setCallTipsHighlightColor(const QColor &col);\n    void setCallTipsPosition(CallTipsPosition position);\n    void setCallTipsStyle(CallTipsStyle style);\n    void setCallTipsVisible(int nr);\n    void setContractedFolds(const QList<int> &folds);\n\n    void setDocument(const QsciDocument &document);\n\n    void addEdgeColumn(int colnr, const QColor &col);\n    void clearEdgeColumns();\n    void setEdgeColor(const QColor &col);\n    void setEdgeColumn(int colnr);\n    void setEdgeMode(EdgeMode mode);\n\n    void setFirstVisibleLine(int linenr);\n    void setFont(const QFont &f);\n\n    void setHotspotBackgroundColor(const QColor &col);\n    void setHotspotForegroundColor(const QColor &col);\n    void setHotspotUnderline(bool enable);\n    void setHotspotWrap(bool enable);\n\n    void setIndicatorDrawUnder(bool under, int indicatorNumber = -1);\n    void setIndicatorForegroundColor(const QColor &col,\n            int indicatorNumber = -1);\n    void setIndicatorHoverForegroundColor(const QColor &col,\n            int indicatorNumber = -1);\n    void setIndicatorHoverStyle(IndicatorStyle style,\n            int indicatorNumber = -1);\n    void setIndicatorOutlineColor(const QColor &col, int indicatorNumber = -1);\n\n    void setMarginBackgroundColor(int margin, const QColor &col);\n    void setMarginOptions(int options);\n    void setMarginText(int line, const QString &text, int style);\n    void setMarginText(int line, const QString &text, const QsciStyle &style);\n    void setMarginText(int line, const QsciStyledText &text);\n    void setMarginText(int line, const QList<QsciStyledText> &text);\n    void setMarginType(int margin, MarginType type);\n    void clearMarginText(int line = -1);\n    void setMargins(int margins);\n\n    void setMarkerBackgroundColor(const QColor &col, int markerNumber = -1);\n    void setMarkerForegroundColor(const QColor &col, int markerNumber = -1);\n\n    void setMatchedBraceBackgroundColor(const QColor &col);\n    void setMatchedBraceForegroundColor(const QColor &col);\n    void setMatchedBraceIndicator(int indicatorNumber);\n    void resetMatchedBraceIndicator();\n    void setUnmatchedBraceBackgroundColor(const QColor &col);\n    void setUnmatchedBraceForegroundColor(const QColor &col);\n    void setUnmatchedBraceIndicator(int indicatorNumber);\n    void resetUnmatchedBraceIndicator();\n\n    void setWrapVisualFlags(WrapVisualFlag endFlag,\n            WrapVisualFlag startFlag = QsciScintilla::WrapFlagNone,\n            int indent = 0);\n\n    QString selectedText() const;\n    bool selectionToEol() const;\n    void setSelectionToEol(bool filled);\n\n    void setExtraAscent(int extra);\n    void setExtraDescent(int extra);\n\n    void setOverwriteMode(bool overwrite);\n\n    void setWhitespaceBackgroundColor(const QColor &col);\n    void setWhitespaceForegroundColor(const QColor &col);\n    void setWhitespaceSize(int size);\n\n    void setWrapIndentMode(WrapIndentMode mode);\n    void showUserList(int id, const QStringList &list);\n    QsciCommandSet *standardCommands() const;\n\n    void setTabDrawMode(TabDrawMode mode);\n    TabDrawMode tabDrawMode() const;\n\n    bool tabIndents() const;\n    int tabWidth() const;\n    QString text() const;\n    QString text(int line) const;\n    QString text(int start, int end) const;\n    int textHeight(int linenr) const;\n\n    int whitespaceSize() const;\n    WhitespaceVisibility whitespaceVisibility() const;\n\n    QString wordAtLineIndex(int line, int index) const;\n    QString wordAtPoint(const QPoint &point) const;\n    const char *wordCharacters() const;\n    WrapMode wrapMode() const;\n    WrapIndentMode wrapIndentMode() const;\n    bool write(QIODevice *io) const /ReleaseGIL/;\n\npublic slots:\n    virtual void append(const QString &text);\n    virtual void autoCompleteFromAll();\n    virtual void autoCompleteFromAPIs();\n    virtual void autoCompleteFromDocument();\n    virtual void callTip();\n    virtual void clear();\n    virtual void copy();\n    virtual void cut();\n\n    virtual void ensureCursorVisible();\n    virtual void ensureLineVisible(int line);\n    virtual void foldAll(bool children = false);\n    virtual void foldLine(int line);\n    virtual void indent(int line);\n    virtual void insert(const QString &text);\n    virtual void insertAt(const QString &text, int line, int index);\n    virtual void moveToMatchingBrace();\n    virtual void paste();\n    virtual void redo();\n    virtual void removeSelectedText();\n    virtual void replaceSelectedText(const QString &text);\n    virtual void resetSelectionBackgroundColor();\n    virtual void resetSelectionForegroundColor();\n    virtual void selectAll(bool select = true);\n    virtual void selectToMatchingBrace();\n\n    virtual void setAutoCompletionCaseSensitivity(bool cs);\n    virtual void setAutoCompletionReplaceWord(bool replace);\n    virtual void setAutoCompletionShowSingle(bool single);\n    virtual void setAutoCompletionSource(AutoCompletionSource source);\n    virtual void setAutoCompletionThreshold(int thresh);\n    virtual void setAutoCompletionUseSingle(AutoCompletionUseSingle single);\n    virtual void setAutoIndent(bool autoindent);\n    virtual void setBraceMatching(BraceMatch bm);\n    virtual void setBackspaceUnindents(bool unindent);\n    virtual void setCaretForegroundColor(const QColor &col);\n    virtual void setCaretLineBackgroundColor(const QColor &col);\n    virtual void setCaretLineFrameWidth(int width);\n    virtual void setCaretLineVisible(bool enable);\n    virtual void setCaretWidth(int width);\n    virtual void setColor(const QColor &col);\n    virtual void setCursorPosition(int line, int index);\n    virtual void setEolMode(EolMode mode);\n    virtual void setEolVisibility(bool visible);\n    virtual void setFolding(FoldStyle fold, int margin=2);\n    void clearFolds();\n\n    virtual void setIndentation(int line, int indentation);\n    virtual void setIndentationGuides(bool enable);\n    virtual void setIndentationGuidesBackgroundColor(const QColor &col);\n    virtual void setIndentationGuidesForegroundColor(const QColor &col);\n    virtual void setIndentationsUseTabs(bool tabs);\n    virtual void setIndentationWidth(int width);\n\n    virtual void setLexer(QsciLexer *lexer = 0);\n\n    virtual void setMarginsBackgroundColor(const QColor &col);\n    virtual void setMarginsFont(const QFont &f);\n    virtual void setMarginsForegroundColor(const QColor &col);\n\n    virtual void setMarginLineNumbers(int margin, bool lnrs);\n    virtual void setMarginMarkerMask(int margin, int mask);\n    virtual void setMarginSensitivity(int margin, bool sens);\n    virtual void setMarginWidth(int margin, int width);\n    virtual void setMarginWidth(int margin, const QString &s);\n\n    virtual void setModified(bool m);\n    virtual void setPaper(const QColor &c);\n    virtual void setReadOnly(bool ro);\n    virtual void setSelection(int lineFrom, int indexFrom, int lineTo,\n            int indexTo);\n    virtual void setSelectionBackgroundColor(const QColor &col);\n    virtual void setSelectionForegroundColor(const QColor &col);\n    virtual void setTabIndents(bool indent);\n    virtual void setTabWidth(int width);\n    virtual void setText(const QString &text);\n    virtual void setUtf8(bool cp);\n    virtual void setWhitespaceVisibility(WhitespaceVisibility mode);\n    virtual void setWrapMode(WrapMode mode);\n\n    virtual void undo();\n    virtual void unindent(int line);\n\n    virtual void zoomIn(int range);\n    virtual void zoomIn();\n    virtual void zoomOut(int range);\n    virtual void zoomOut();\n    virtual void zoomTo(int size);\n\nsignals:\n    void cursorPositionChanged(int line, int index);\n    void copyAvailable(bool yes);\n\n    void indicatorClicked(int line, int index, Qt::KeyboardModifiers state);\n    void indicatorReleased(int line, int index, Qt::KeyboardModifiers state);\n\n    void linesChanged();\n\n    void marginClicked(int margin, int line, Qt::KeyboardModifiers state);\n    void marginRightClicked(int margin, int line, Qt::KeyboardModifiers state);\n\n    void modificationAttempted();\n    void modificationChanged(bool m);\n    void selectionChanged();\n    void textChanged();\n    void userListActivated(int id, const QString &string);\n\nprotected:\n    virtual bool event(QEvent *event);\n    virtual void changeEvent(QEvent *event);\n    virtual void contextMenuEvent(QContextMenuEvent *event);\n    virtual void wheelEvent(QWheelEvent *event);\n\nprivate:\n    QsciScintilla(const QsciScintilla &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qsciscintillabase.sip",
    "content": "// This is the SIP interface definition for QsciScintillaBase.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciScintillaBase : QAbstractScrollArea\n{\n%TypeHeaderCode\n#include <Qsci/qsciscintillabase.h>\n%End\n\npublic:\n    enum {\n        SCI_START,\n        SCI_OPTIONAL_START,\n        SCI_LEXER_START,\n        SCI_ADDTEXT,\n        SCI_ADDSTYLEDTEXT,\n        SCI_INSERTTEXT,\n        SCI_CLEARALL,\n        SCI_CLEARDOCUMENTSTYLE,\n        SCI_GETLENGTH,\n        SCI_GETCHARAT,\n        SCI_GETCURRENTPOS,\n        SCI_GETANCHOR,\n        SCI_GETSTYLEAT,\n        SCI_REDO,\n        SCI_SETUNDOCOLLECTION,\n        SCI_SELECTALL,\n        SCI_SETSAVEPOINT,\n        SCI_GETSTYLEDTEXT,\n        SCI_CANREDO,\n        SCI_MARKERLINEFROMHANDLE,\n        SCI_MARKERDELETEHANDLE,\n        SCI_GETUNDOCOLLECTION,\n        SCI_GETVIEWWS,\n        SCI_SETVIEWWS,\n        SCI_POSITIONFROMPOINT,\n        SCI_POSITIONFROMPOINTCLOSE,\n        SCI_GOTOLINE,\n        SCI_GOTOPOS,\n        SCI_SETANCHOR,\n        SCI_GETCURLINE,\n        SCI_GETENDSTYLED,\n        SCI_CONVERTEOLS,\n        SCI_GETEOLMODE,\n        SCI_SETEOLMODE,\n        SCI_STARTSTYLING,\n        SCI_SETSTYLING,\n        SCI_GETBUFFEREDDRAW,\n        SCI_SETBUFFEREDDRAW,\n        SCI_SETTABWIDTH,\n        SCI_GETTABWIDTH,\n        SCI_SETCODEPAGE,\n        SCI_MARKERDEFINE,\n        SCI_MARKERSETFORE,\n        SCI_MARKERSETBACK,\n        SCI_MARKERADD,\n        SCI_MARKERDELETE,\n        SCI_MARKERDELETEALL,\n        SCI_MARKERGET,\n        SCI_MARKERNEXT,\n        SCI_MARKERPREVIOUS,\n        SCI_MARKERDEFINEPIXMAP,\n        SCI_SETMARGINTYPEN,\n        SCI_GETMARGINTYPEN,\n        SCI_SETMARGINWIDTHN,\n        SCI_GETMARGINWIDTHN,\n        SCI_SETMARGINMASKN,\n        SCI_GETMARGINMASKN,\n        SCI_SETMARGINSENSITIVEN,\n        SCI_GETMARGINSENSITIVEN,\n        SCI_SETMARGINCURSORN,\n        SCI_GETMARGINCURSORN,\n        SCI_STYLECLEARALL,\n        SCI_STYLESETFORE,\n        SCI_STYLESETBACK,\n        SCI_STYLESETBOLD,\n        SCI_STYLESETITALIC,\n        SCI_STYLESETSIZE,\n        SCI_STYLESETFONT,\n        SCI_STYLESETEOLFILLED,\n        SCI_STYLERESETDEFAULT,\n        SCI_STYLESETUNDERLINE,\n        SCI_STYLESETCASE,\n        SCI_STYLESETCHARACTERSET,\n        SCI_SETSELFORE,\n        SCI_SETSELBACK,\n        SCI_SETCARETFORE,\n        SCI_ASSIGNCMDKEY,\n        SCI_CLEARCMDKEY,\n        SCI_CLEARALLCMDKEYS,\n        SCI_SETSTYLINGEX,\n        SCI_STYLESETVISIBLE,\n        SCI_GETCARETPERIOD,\n        SCI_SETCARETPERIOD,\n        SCI_SETWORDCHARS,\n        SCI_BEGINUNDOACTION,\n        SCI_ENDUNDOACTION,\n        SCI_INDICSETSTYLE,\n        SCI_INDICGETSTYLE,\n        SCI_INDICSETFORE,\n        SCI_INDICGETFORE,\n        SCI_SETWHITESPACEFORE,\n        SCI_SETWHITESPACEBACK,\n        SCI_SETWHITESPACESIZE,\n        SCI_GETWHITESPACESIZE,\n        SCI_SETSTYLEBITS,\n        SCI_GETSTYLEBITS,\n        SCI_SETLINESTATE,\n        SCI_GETLINESTATE,\n        SCI_GETMAXLINESTATE,\n        SCI_GETCARETLINEVISIBLE,\n        SCI_SETCARETLINEVISIBLE,\n        SCI_GETCARETLINEBACK,\n        SCI_SETCARETLINEBACK,\n        SCI_STYLESETCHANGEABLE,\n        SCI_AUTOCSHOW,\n        SCI_AUTOCCANCEL,\n        SCI_AUTOCACTIVE,\n        SCI_AUTOCPOSSTART,\n        SCI_AUTOCCOMPLETE,\n        SCI_AUTOCSTOPS,\n        SCI_AUTOCSETSEPARATOR,\n        SCI_AUTOCGETSEPARATOR,\n        SCI_AUTOCSELECT,\n        SCI_AUTOCSETCANCELATSTART,\n        SCI_AUTOCGETCANCELATSTART,\n        SCI_AUTOCSETFILLUPS,\n        SCI_AUTOCSETCHOOSESINGLE,\n        SCI_AUTOCGETCHOOSESINGLE,\n        SCI_AUTOCSETIGNORECASE,\n        SCI_AUTOCGETIGNORECASE,\n        SCI_USERLISTSHOW,\n        SCI_AUTOCSETAUTOHIDE,\n        SCI_AUTOCGETAUTOHIDE,\n        SCI_AUTOCSETDROPRESTOFWORD,\n        SCI_AUTOCGETDROPRESTOFWORD,\n        SCI_SETINDENT,\n        SCI_GETINDENT,\n        SCI_SETUSETABS,\n        SCI_GETUSETABS,\n        SCI_SETLINEINDENTATION,\n        SCI_GETLINEINDENTATION,\n        SCI_GETLINEINDENTPOSITION,\n        SCI_GETCOLUMN,\n        SCI_SETHSCROLLBAR,\n        SCI_GETHSCROLLBAR,\n        SCI_SETINDENTATIONGUIDES,\n        SCI_GETINDENTATIONGUIDES,\n        SCI_SETHIGHLIGHTGUIDE,\n        SCI_GETHIGHLIGHTGUIDE,\n        SCI_GETLINEENDPOSITION,\n        SCI_GETCODEPAGE,\n        SCI_GETCARETFORE,\n        SCI_GETREADONLY,\n        SCI_SETCURRENTPOS,\n        SCI_SETSELECTIONSTART,\n        SCI_GETSELECTIONSTART,\n        SCI_SETSELECTIONEND,\n        SCI_GETSELECTIONEND,\n        SCI_SETPRINTMAGNIFICATION,\n        SCI_GETPRINTMAGNIFICATION,\n        SCI_SETPRINTCOLOURMODE,\n        SCI_GETPRINTCOLOURMODE,\n        SCI_FINDTEXT,\n        SCI_FORMATRANGE,\n        SCI_GETFIRSTVISIBLELINE,\n        SCI_GETLINE,\n        SCI_GETLINECOUNT,\n        SCI_SETMARGINLEFT,\n        SCI_GETMARGINLEFT,\n        SCI_SETMARGINRIGHT,\n        SCI_GETMARGINRIGHT,\n        SCI_GETMODIFY,\n        SCI_SETSEL,\n        SCI_GETSELTEXT,\n        SCI_GETTEXTRANGE,\n        SCI_HIDESELECTION,\n        SCI_POINTXFROMPOSITION,\n        SCI_POINTYFROMPOSITION,\n        SCI_LINEFROMPOSITION,\n        SCI_POSITIONFROMLINE,\n        SCI_LINESCROLL,\n        SCI_SCROLLCARET,\n        SCI_REPLACESEL,\n        SCI_SETREADONLY,\n        SCI_NULL,\n        SCI_CANPASTE,\n        SCI_CANUNDO,\n        SCI_EMPTYUNDOBUFFER,\n        SCI_UNDO,\n        SCI_CUT,\n        SCI_COPY,\n        SCI_PASTE,\n        SCI_CLEAR,\n        SCI_SETTEXT,\n        SCI_GETTEXT,\n        SCI_GETTEXTLENGTH,\n        SCI_GETDIRECTFUNCTION,\n        SCI_GETDIRECTPOINTER,\n        SCI_SETOVERTYPE,\n        SCI_GETOVERTYPE,\n        SCI_SETCARETWIDTH,\n        SCI_GETCARETWIDTH,\n        SCI_SETTARGETSTART,\n        SCI_GETTARGETSTART,\n        SCI_SETTARGETEND,\n        SCI_GETTARGETEND,\n        SCI_REPLACETARGET,\n        SCI_REPLACETARGETRE,\n        SCI_SEARCHINTARGET,\n        SCI_SETSEARCHFLAGS,\n        SCI_GETSEARCHFLAGS,\n        SCI_CALLTIPSHOW,\n        SCI_CALLTIPCANCEL,\n        SCI_CALLTIPACTIVE,\n        SCI_CALLTIPPOSSTART,\n        SCI_CALLTIPSETHLT,\n        SCI_CALLTIPSETBACK,\n        SCI_CALLTIPSETFORE,\n        SCI_CALLTIPSETFOREHLT,\n        SCI_AUTOCSETMAXWIDTH,\n        SCI_AUTOCGETMAXWIDTH,\n        SCI_AUTOCSETMAXHEIGHT,\n        SCI_AUTOCGETMAXHEIGHT,\n        SCI_CALLTIPUSESTYLE,\n        SCI_VISIBLEFROMDOCLINE,\n        SCI_DOCLINEFROMVISIBLE,\n        SCI_SETFOLDLEVEL,\n        SCI_GETFOLDLEVEL,\n        SCI_GETLASTCHILD,\n        SCI_GETFOLDPARENT,\n        SCI_SHOWLINES,\n        SCI_HIDELINES,\n        SCI_GETLINEVISIBLE,\n        SCI_SETFOLDEXPANDED,\n        SCI_GETFOLDEXPANDED,\n        SCI_TOGGLEFOLD,\n        SCI_ENSUREVISIBLE,\n        SCI_SETFOLDFLAGS,\n        SCI_ENSUREVISIBLEENFORCEPOLICY,\n        SCI_WRAPCOUNT,\n        SCI_SETTABINDENTS,\n        SCI_GETTABINDENTS,\n        SCI_SETBACKSPACEUNINDENTS,\n        SCI_GETBACKSPACEUNINDENTS,\n        SCI_SETMOUSEDWELLTIME,\n        SCI_GETMOUSEDWELLTIME,\n        SCI_WORDSTARTPOSITION,\n        SCI_WORDENDPOSITION,\n        SCI_SETWRAPMODE,\n        SCI_GETWRAPMODE,\n        SCI_SETLAYOUTCACHE,\n        SCI_GETLAYOUTCACHE,\n        SCI_SETSCROLLWIDTH,\n        SCI_GETSCROLLWIDTH,\n        SCI_TEXTWIDTH,\n        SCI_SETENDATLASTLINE,\n        SCI_GETENDATLASTLINE,\n        SCI_TEXTHEIGHT,\n        SCI_SETVSCROLLBAR,\n        SCI_GETVSCROLLBAR,\n        SCI_APPENDTEXT,\n        SCI_GETTWOPHASEDRAW,\n        SCI_SETTWOPHASEDRAW,\n        SCI_AUTOCGETTYPESEPARATOR,\n        SCI_AUTOCSETTYPESEPARATOR,\n        SCI_TARGETFROMSELECTION,\n        SCI_LINESJOIN,\n        SCI_LINESSPLIT,\n        SCI_SETFOLDMARGINCOLOUR,\n        SCI_SETFOLDMARGINHICOLOUR,\n        SCI_MARKERSETBACKSELECTED,\n        SCI_MARKERENABLEHIGHLIGHT,\n        SCI_LINEDOWN,\n        SCI_LINEDOWNEXTEND,\n        SCI_LINEUP,\n        SCI_LINEUPEXTEND,\n        SCI_CHARLEFT,\n        SCI_CHARLEFTEXTEND,\n        SCI_CHARRIGHT,\n        SCI_CHARRIGHTEXTEND,\n        SCI_WORDLEFT,\n        SCI_WORDLEFTEXTEND,\n        SCI_WORDRIGHT,\n        SCI_WORDRIGHTEXTEND,\n        SCI_HOME,\n        SCI_HOMEEXTEND,\n        SCI_LINEEND,\n        SCI_LINEENDEXTEND,\n        SCI_DOCUMENTSTART,\n        SCI_DOCUMENTSTARTEXTEND,\n        SCI_DOCUMENTEND,\n        SCI_DOCUMENTENDEXTEND,\n        SCI_PAGEUP,\n        SCI_PAGEUPEXTEND,\n        SCI_PAGEDOWN,\n        SCI_PAGEDOWNEXTEND,\n        SCI_EDITTOGGLEOVERTYPE,\n        SCI_CANCEL,\n        SCI_DELETEBACK,\n        SCI_TAB,\n        SCI_BACKTAB,\n        SCI_NEWLINE,\n        SCI_FORMFEED,\n        SCI_VCHOME,\n        SCI_VCHOMEEXTEND,\n        SCI_ZOOMIN,\n        SCI_ZOOMOUT,\n        SCI_DELWORDLEFT,\n        SCI_DELWORDRIGHT,\n        SCI_LINECUT,\n        SCI_LINEDELETE,\n        SCI_LINETRANSPOSE,\n        SCI_LOWERCASE,\n        SCI_UPPERCASE,\n        SCI_LINESCROLLDOWN,\n        SCI_LINESCROLLUP,\n        SCI_DELETEBACKNOTLINE,\n        SCI_HOMEDISPLAY,\n        SCI_HOMEDISPLAYEXTEND,\n        SCI_LINEENDDISPLAY,\n        SCI_LINEENDDISPLAYEXTEND,\n        SCI_MOVECARETINSIDEVIEW,\n        SCI_LINELENGTH,\n        SCI_BRACEHIGHLIGHT,\n        SCI_BRACEBADLIGHT,\n        SCI_BRACEMATCH,\n        SCI_GETVIEWEOL,\n        SCI_SETVIEWEOL,\n        SCI_GETDOCPOINTER,\n        SCI_SETDOCPOINTER,\n        SCI_SETMODEVENTMASK,\n        SCI_GETEDGECOLUMN,\n        SCI_SETEDGECOLUMN,\n        SCI_GETEDGEMODE,\n        SCI_SETEDGEMODE,\n        SCI_GETEDGECOLOUR,\n        SCI_SETEDGECOLOUR,\n        SCI_SEARCHANCHOR,\n        SCI_SEARCHNEXT,\n        SCI_SEARCHPREV,\n        SCI_LINESONSCREEN,\n        SCI_USEPOPUP,\n        SCI_SELECTIONISRECTANGLE,\n        SCI_SETZOOM,\n        SCI_GETZOOM,\n        SCI_CREATEDOCUMENT,\n        SCI_ADDREFDOCUMENT,\n        SCI_RELEASEDOCUMENT,\n        SCI_GETMODEVENTMASK,\n        SCI_SETFOCUS,\n        SCI_GETFOCUS,\n        SCI_SETSTATUS,\n        SCI_GETSTATUS,\n        SCI_SETMOUSEDOWNCAPTURES,\n        SCI_GETMOUSEDOWNCAPTURES,\n        SCI_SETCURSOR,\n        SCI_GETCURSOR,\n        SCI_SETCONTROLCHARSYMBOL,\n        SCI_GETCONTROLCHARSYMBOL,\n        SCI_WORDPARTLEFT,\n        SCI_WORDPARTLEFTEXTEND,\n        SCI_WORDPARTRIGHT,\n        SCI_WORDPARTRIGHTEXTEND,\n        SCI_SETVISIBLEPOLICY,\n        SCI_DELLINELEFT,\n        SCI_DELLINERIGHT,\n        SCI_SETXOFFSET,\n        SCI_GETXOFFSET,\n        SCI_CHOOSECARETX,\n        SCI_GRABFOCUS,\n        SCI_SETXCARETPOLICY,\n        SCI_SETYCARETPOLICY,\n        SCI_LINEDUPLICATE,\n        SCI_REGISTERIMAGE,\n        SCI_SETPRINTWRAPMODE,\n        SCI_GETPRINTWRAPMODE,\n        SCI_CLEARREGISTEREDIMAGES,\n        SCI_STYLESETHOTSPOT,\n        SCI_SETHOTSPOTACTIVEFORE,\n        SCI_SETHOTSPOTACTIVEBACK,\n        SCI_SETHOTSPOTACTIVEUNDERLINE,\n        SCI_SETHOTSPOTSINGLELINE,\n        SCI_PARADOWN,\n        SCI_PARADOWNEXTEND,\n        SCI_PARAUP,\n        SCI_PARAUPEXTEND,\n        SCI_POSITIONBEFORE,\n        SCI_POSITIONAFTER,\n        SCI_COPYRANGE,\n        SCI_COPYTEXT,\n        SCI_SETSELECTIONMODE,\n        SCI_GETSELECTIONMODE,\n        SCI_GETLINESELSTARTPOSITION,\n        SCI_GETLINESELENDPOSITION,\n        SCI_LINEDOWNRECTEXTEND,\n        SCI_LINEUPRECTEXTEND,\n        SCI_CHARLEFTRECTEXTEND,\n        SCI_CHARRIGHTRECTEXTEND,\n        SCI_HOMERECTEXTEND,\n        SCI_VCHOMERECTEXTEND,\n        SCI_LINEENDRECTEXTEND,\n        SCI_PAGEUPRECTEXTEND,\n        SCI_PAGEDOWNRECTEXTEND,\n        SCI_STUTTEREDPAGEUP,\n        SCI_STUTTEREDPAGEUPEXTEND,\n        SCI_STUTTEREDPAGEDOWN,\n        SCI_STUTTEREDPAGEDOWNEXTEND,\n        SCI_WORDLEFTEND,\n        SCI_WORDLEFTENDEXTEND,\n        SCI_WORDRIGHTEND,\n        SCI_WORDRIGHTENDEXTEND,\n        SCI_SETWHITESPACECHARS,\n        SCI_SETCHARSDEFAULT,\n        SCI_AUTOCGETCURRENT,\n        SCI_ALLOCATE,\n        SCI_HOMEWRAP,\n        SCI_HOMEWRAPEXTEND,\n        SCI_LINEENDWRAP,\n        SCI_LINEENDWRAPEXTEND,\n        SCI_VCHOMEWRAP,\n        SCI_VCHOMEWRAPEXTEND,\n        SCI_LINECOPY,\n        SCI_FINDCOLUMN,\n        SCI_GETCARETSTICKY,\n        SCI_SETCARETSTICKY,\n        SCI_TOGGLECARETSTICKY,\n        SCI_SETWRAPVISUALFLAGS,\n        SCI_GETWRAPVISUALFLAGS,\n        SCI_SETWRAPVISUALFLAGSLOCATION,\n        SCI_GETWRAPVISUALFLAGSLOCATION,\n        SCI_SETWRAPSTARTINDENT,\n        SCI_GETWRAPSTARTINDENT,\n        SCI_MARKERADDSET,\n        SCI_SETPASTECONVERTENDINGS,\n        SCI_GETPASTECONVERTENDINGS,\n        SCI_SELECTIONDUPLICATE,\n        SCI_SETCARETLINEBACKALPHA,\n        SCI_GETCARETLINEBACKALPHA,\n        SCI_SETWRAPINDENTMODE,\n        SCI_GETWRAPINDENTMODE,\n        SCI_MARKERSETALPHA,\n        SCI_GETSELALPHA,\n        SCI_SETSELALPHA,\n        SCI_GETSELEOLFILLED,\n        SCI_SETSELEOLFILLED,\n        SCI_STYLEGETFORE,\n        SCI_STYLEGETBACK,\n        SCI_STYLEGETBOLD,\n        SCI_STYLEGETITALIC,\n        SCI_STYLEGETSIZE,\n        SCI_STYLEGETFONT,\n        SCI_STYLEGETEOLFILLED,\n        SCI_STYLEGETUNDERLINE,\n        SCI_STYLEGETCASE,\n        SCI_STYLEGETCHARACTERSET,\n        SCI_STYLEGETVISIBLE,\n        SCI_STYLEGETCHANGEABLE,\n        SCI_STYLEGETHOTSPOT,\n        SCI_GETHOTSPOTACTIVEFORE,\n        SCI_GETHOTSPOTACTIVEBACK,\n        SCI_GETHOTSPOTACTIVEUNDERLINE,\n        SCI_GETHOTSPOTSINGLELINE,\n        SCI_BRACEHIGHLIGHTINDICATOR,\n        SCI_BRACEBADLIGHTINDICATOR,\n        SCI_SETINDICATORCURRENT,\n        SCI_GETINDICATORCURRENT,\n        SCI_SETINDICATORVALUE,\n        SCI_GETINDICATORVALUE,\n        SCI_INDICATORFILLRANGE,\n        SCI_INDICATORCLEARRANGE,\n        SCI_INDICATORALLONFOR,\n        SCI_INDICATORVALUEAT,\n        SCI_INDICATORSTART,\n        SCI_INDICATOREND,\n        SCI_INDICSETUNDER,\n        SCI_INDICGETUNDER,\n        SCI_SETCARETSTYLE,\n        SCI_GETCARETSTYLE,\n        SCI_SETPOSITIONCACHE,\n        SCI_GETPOSITIONCACHE,\n        SCI_SETSCROLLWIDTHTRACKING,\n        SCI_GETSCROLLWIDTHTRACKING,\n        SCI_DELWORDRIGHTEND,\n        SCI_COPYALLOWLINE,\n        SCI_GETCHARACTERPOINTER,\n        SCI_INDICSETALPHA,\n        SCI_INDICGETALPHA,\n        SCI_SETEXTRAASCENT,\n        SCI_GETEXTRAASCENT,\n        SCI_SETEXTRADESCENT,\n        SCI_GETEXTRADESCENT,\n        SCI_MARKERSYMBOLDEFINED,\n        SCI_MARGINSETTEXT,\n        SCI_MARGINGETTEXT,\n        SCI_MARGINSETSTYLE,\n        SCI_MARGINGETSTYLE,\n        SCI_MARGINSETSTYLES,\n        SCI_MARGINGETSTYLES,\n        SCI_MARGINTEXTCLEARALL,\n        SCI_MARGINSETSTYLEOFFSET,\n        SCI_MARGINGETSTYLEOFFSET,\n        SCI_SETMARGINOPTIONS,\n        SCI_ANNOTATIONSETTEXT,\n        SCI_ANNOTATIONGETTEXT,\n        SCI_ANNOTATIONSETSTYLE,\n        SCI_ANNOTATIONGETSTYLE,\n        SCI_ANNOTATIONSETSTYLES,\n        SCI_ANNOTATIONGETSTYLES,\n        SCI_ANNOTATIONGETLINES,\n        SCI_ANNOTATIONCLEARALL,\n        SCI_ANNOTATIONSETVISIBLE,\n        SCI_ANNOTATIONGETVISIBLE,\n        SCI_ANNOTATIONSETSTYLEOFFSET,\n        SCI_ANNOTATIONGETSTYLEOFFSET,\n        SCI_SETEMPTYSELECTION,\n        SCI_GETMARGINOPTIONS,\n        SCI_INDICSETOUTLINEALPHA,\n        SCI_INDICGETOUTLINEALPHA,\n        SCI_ADDUNDOACTION,\n        SCI_CHARPOSITIONFROMPOINT,\n        SCI_CHARPOSITIONFROMPOINTCLOSE,\n        SCI_SETMULTIPLESELECTION,\n        SCI_GETMULTIPLESELECTION,\n        SCI_SETADDITIONALSELECTIONTYPING,\n        SCI_GETADDITIONALSELECTIONTYPING,\n        SCI_SETADDITIONALCARETSBLINK,\n        SCI_GETADDITIONALCARETSBLINK,\n        SCI_SCROLLRANGE,\n        SCI_GETSELECTIONS,\n        SCI_CLEARSELECTIONS,\n        SCI_SETSELECTION,\n        SCI_ADDSELECTION,\n        SCI_SETMAINSELECTION,\n        SCI_GETMAINSELECTION,\n        SCI_SETSELECTIONNCARET,\n        SCI_GETSELECTIONNCARET,\n        SCI_SETSELECTIONNANCHOR,\n        SCI_GETSELECTIONNANCHOR,\n        SCI_SETSELECTIONNCARETVIRTUALSPACE,\n        SCI_GETSELECTIONNCARETVIRTUALSPACE,\n        SCI_SETSELECTIONNANCHORVIRTUALSPACE,\n        SCI_GETSELECTIONNANCHORVIRTUALSPACE,\n        SCI_SETSELECTIONNSTART,\n        SCI_GETSELECTIONNSTART,\n        SCI_SETSELECTIONNEND,\n        SCI_GETSELECTIONNEND,\n        SCI_SETRECTANGULARSELECTIONCARET,\n        SCI_GETRECTANGULARSELECTIONCARET,\n        SCI_SETRECTANGULARSELECTIONANCHOR,\n        SCI_GETRECTANGULARSELECTIONANCHOR,\n        SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE,\n        SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE,\n        SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE,\n        SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE,\n        SCI_SETVIRTUALSPACEOPTIONS,\n        SCI_GETVIRTUALSPACEOPTIONS,\n        SCI_SETRECTANGULARSELECTIONMODIFIER,\n        SCI_GETRECTANGULARSELECTIONMODIFIER,\n        SCI_SETADDITIONALSELFORE,\n        SCI_SETADDITIONALSELBACK,\n        SCI_SETADDITIONALSELALPHA,\n        SCI_GETADDITIONALSELALPHA,\n        SCI_SETADDITIONALCARETFORE,\n        SCI_GETADDITIONALCARETFORE,\n        SCI_ROTATESELECTION,\n        SCI_SWAPMAINANCHORCARET,\n        SCI_SETADDITIONALCARETSVISIBLE,\n        SCI_GETADDITIONALCARETSVISIBLE,\n        SCI_AUTOCGETCURRENTTEXT,\n        SCI_SETFONTQUALITY,\n        SCI_GETFONTQUALITY,\n        SCI_SETFIRSTVISIBLELINE,\n        SCI_SETMULTIPASTE,\n        SCI_GETMULTIPASTE,\n        SCI_GETTAG,\n        SCI_CHANGELEXERSTATE,\n        SCI_CONTRACTEDFOLDNEXT,\n        SCI_VERTICALCENTRECARET,\n        SCI_MOVESELECTEDLINESUP,\n        SCI_MOVESELECTEDLINESDOWN,\n        SCI_SETIDENTIFIER,\n        SCI_GETIDENTIFIER,\n        SCI_RGBAIMAGESETWIDTH,\n        SCI_RGBAIMAGESETHEIGHT,\n        SCI_MARKERDEFINERGBAIMAGE,\n        SCI_REGISTERRGBAIMAGE,\n        SCI_SCROLLTOSTART,\n        SCI_SCROLLTOEND,\n        SCI_STARTRECORD,\n        SCI_STOPRECORD,\n        SCI_SETLEXER,\n        SCI_GETLEXER,\n        SCI_COLOURISE,\n        SCI_SETPROPERTY,\n        SCI_SETKEYWORDS,\n        SCI_SETLEXERLANGUAGE,\n        SCI_LOADLEXERLIBRARY,\n        SCI_GETPROPERTY,\n        SCI_GETPROPERTYEXPANDED,\n        SCI_GETPROPERTYINT,\n        SCI_GETSTYLEBITSNEEDED,\n        SCI_GETLEXERLANGUAGE,\n        SCI_PRIVATELEXERCALL,\n        SCI_PROPERTYNAMES,\n        SCI_PROPERTYTYPE,\n        SCI_DESCRIBEPROPERTY,\n        SCI_DESCRIBEKEYWORDSETS,\n\n        SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR,\n        SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR,\n        SCI_AUTOCSETMULTI,\n        SCI_AUTOCGETMULTI,\n        SCI_CALLTIPSETPOSITION,\n        SCI_CALLTIPSETPOSSTART,\n        SCI_COUNTCHARACTERS,\n        SCI_CREATELOADER,\n        SCI_DELETERANGE,\n        SCI_FINDINDICATORFLASH,\n        SCI_FINDINDICATORHIDE,\n        SCI_FINDINDICATORSHOW,\n        SCI_GETALLLINESVISIBLE,\n        SCI_GETGAPPOSITION,\n        SCI_GETPUNCTUATIONCHARS,\n        SCI_GETRANGEPOINTER,\n        SCI_GETSELECTIONEMPTY,\n        SCI_GETTECHNOLOGY,\n        SCI_GETWHITESPACECHARS,\n        SCI_GETWORDCHARS,\n        SCI_RGBAIMAGESETSCALE,\n        SCI_SETPUNCTUATIONCHARS,\n        SCI_SETTECHNOLOGY,\n        SCI_STYLESETSIZEFRACTIONAL,\n        SCI_STYLEGETSIZEFRACTIONAL,\n        SCI_STYLESETWEIGHT,             \n        SCI_STYLEGETWEIGHT,\n\n        SCI_FOLDLINE,\n        SCI_FOLDCHILDREN,\n        SCI_EXPANDCHILDREN,\n        SCI_FOLDALL,\n        SCI_SETAUTOMATICFOLD,\n        SCI_GETAUTOMATICFOLD,\n        SCI_AUTOCSETORDER,\n        SCI_AUTOCGETORDER,\n        SCI_POSITIONRELATIVE,\n        SCI_DROPSELECTIONN,\n        SCI_CHANGEINSERTION,\n        SCI_GETPHASESDRAW,\n        SCI_SETPHASESDRAW,\n        SCI_CLEARTABSTOPS,\n        SCI_ADDTABSTOP,\n        SCI_GETNEXTTABSTOP,\n        SCI_GETIMEINTERACTION,\n        SCI_SETIMEINTERACTION,\n        SCI_INDICSETHOVERSTYLE,\n        SCI_INDICGETHOVERSTYLE,\n        SCI_INDICSETHOVERFORE,\n        SCI_INDICGETHOVERFORE,\n        SCI_INDICSETFLAGS,\n        SCI_INDICGETFLAGS,\n        SCI_SETTARGETRANGE,\n        SCI_GETTARGETTEXT,\n        SCI_RELEASEALLEXTENDEDSTYLES,\n        SCI_ALLOCATEEXTENDEDSTYLES,\n        SCI_SETMOUSESELECTIONRECTANGULARSWITCH,\n        SCI_GETMOUSESELECTIONRECTANGULARSWITCH,\n        SCI_GETCARETLINEVISIBLEALWAYS,\n        SCI_SETCARETLINEVISIBLEALWAYS,\n        SCI_SETLINEENDTYPESALLOWED,\n        SCI_GETLINEENDTYPESALLOWED,\n        SCI_GETLINEENDTYPESACTIVE,\n        SCI_SETREPRESENTATION,\n        SCI_GETREPRESENTATION,\n        SCI_CLEARREPRESENTATION,\n        SCI_GETLINEENDTYPESSUPPORTED,\n        SCI_ALLOCATESUBSTYLES,\n        SCI_GETSUBSTYLESSTART,\n        SCI_GETSUBSTYLESLENGTH,\n        SCI_GETSTYLEFROMSUBSTYLE,\n        SCI_GETPRIMARYSTYLEFROMSTYLE,\n        SCI_FREESUBSTYLES,\n        SCI_SETIDENTIFIERS,\n        SCI_DISTANCETOSECONDARYSTYLES,\n        SCI_GETSUBSTYLEBASES,\n\n        SCI_GETLINECHARACTERINDEX,\n        SCI_ALLOCATELINECHARACTERINDEX,\n        SCI_RELEASELINECHARACTERINDEX,\n        SCI_LINEFROMINDEXPOSITION,\n        SCI_INDEXPOSITIONFROMLINE,\n        SCI_COUNTCODEUNITS,\n        SCI_POSITIONRELATIVECODEUNITS,\n\n        SCI_GETNAMEDSTYLES,\n        SCI_NAMEOFSTYLE,\n        SCI_TAGSOFSTYLE,\n        SCI_DESCRIPTIONOFSTYLE,\n\n        SCI_GETMOVEEXTENDSSELECTION,\n        SCI_SETCOMMANDEVENTS,\n        SCI_GETCOMMANDEVENTS,\n        SCI_GETDOCUMENTOPTIONS,\n\n        SCI_SETIDLESTYLING,\n        SCI_GETIDLESTYLING,\n        SCI_SETMARGINBACKN,\n        SCI_GETMARGINBACKN,\n        SCI_SETMARGINS,\n        SCI_GETMARGINS,\n        SCI_SETMOUSEWHEELCAPTURES,\n        SCI_GETMOUSEWHEELCAPTURES,\n        SCI_GETTABDRAWMODE,\n        SCI_SETTABDRAWMODE,\n        SCI_ISRANGEWORD,\n        SCI_TARGETWHOLEDOCUMENT,\n        SCI_FOLDDISPLAYTEXTSETSTYLE,\n        SCI_TOGGLEFOLDSHOWTEXT,\n        SCI_MULTIEDGEADDLINE,\n        SCI_MULTIEDGECLEARALL,\n        SCI_MULTIPLESELECTADDNEXT,\n        SCI_MULTIPLESELECTADDEACH,\n\n        SCI_SETACCESSIBILITY,\n        SCI_GETACCESSIBILITY,\n        SCI_SETCARETLINEFRAME,\n        SCI_GETCARETLINEFRAME,\n        SCI_LINEREVERSE,\n    };\n\n    enum {\n        SC_AC_FILLUP,\n        SC_AC_DOUBLECLICK,\n        SC_AC_TAB,\n        SC_AC_NEWLINE,\n        SC_AC_COMMAND,\n    };\n\n    enum {\n        SC_ALPHA_TRANSPARENT,\n        SC_ALPHA_OPAQUE,\n        SC_ALPHA_NOALPHA,\n    };\n\n    enum {\n        SC_CARETSTICKY_OFF,\n        SC_CARETSTICKY_ON,\n        SC_CARETSTICKY_WHITESPACE,\n    };\n\n    enum {\n        SC_DOCUMENTOPTION_DEFAULT,\n        SC_DOCUMENTOPTION_STYLES_NONE,\n        SC_DOCUMENTOPTION_TEXT_LARGE,\n    };\n\n    enum {\n        SC_EFF_QUALITY_MASK,\n        SC_EFF_QUALITY_DEFAULT,\n        SC_EFF_QUALITY_NON_ANTIALIASED,\n        SC_EFF_QUALITY_ANTIALIASED,\n        SC_EFF_QUALITY_LCD_OPTIMIZED,\n    };\n\n    enum {\n        SC_IDLESTYLING_NONE,\n        SC_IDLESTYLING_TOVISIBLE,\n        SC_IDLESTYLING_AFTERVISIBLE,\n        SC_IDLESTYLING_ALL,\n    };\n\n    enum {\n        SC_IME_WINDOWED,\n        SC_IME_INLINE,\n    };\n\n    enum {\n        SC_LINECHARACTERINDEX_NONE,\n        SC_LINECHARACTERINDEX_UTF32,\n        SC_LINECHARACTERINDEX_UTF16,\n    };\n\n    enum {\n        SC_MARGINOPTION_NONE,\n        SC_MARGINOPTION_SUBLINESELECT,\n    };\n\n    enum {\n        SC_MULTIAUTOC_ONCE,\n        SC_MULTIAUTOC_EACH,\n    };\n\n    enum {\n        SC_MULTIPASTE_ONCE,\n        SC_MULTIPASTE_EACH,\n    };\n\n    enum {\n        SC_POPUP_NEVER,\n        SC_POPUP_ALL,\n        SC_POPUP_TEXT,\n    };\n\n    enum {\n        SC_SEL_STREAM,\n        SC_SEL_RECTANGLE,\n        SC_SEL_LINES,\n        SC_SEL_THIN,\n    };\n\n    enum {\n        SC_STATUS_OK,\n        SC_STATUS_FAILURE,\n        SC_STATUS_BADALLOC,\n        SC_STATUS_WARN_START,\n        SC_STATUS_WARNREGEX,\n    };\n\n    enum {\n        SC_TYPE_BOOLEAN,\n        SC_TYPE_INTEGER,\n        SC_TYPE_STRING,\n    };\n\n    enum {\n        SC_UPDATE_CONTENT,\n        SC_UPDATE_SELECTION,\n        SC_UPDATE_V_SCROLL,\n        SC_UPDATE_H_SCROLL,\n    };\n\n    enum {\n        SC_WRAPVISUALFLAG_NONE,\n        SC_WRAPVISUALFLAG_END,\n        SC_WRAPVISUALFLAG_START,\n        SC_WRAPVISUALFLAG_MARGIN,\n    };\n\n    enum {\n        SC_WRAPVISUALFLAGLOC_DEFAULT,\n        SC_WRAPVISUALFLAGLOC_END_BY_TEXT,\n        SC_WRAPVISUALFLAGLOC_START_BY_TEXT\n    };\n\n    enum {\n        SCTD_LONGARROW,\n        SCTD_STRIKEOUT,\n    };\n\n    enum {\n        SCVS_NONE,\n        SCVS_RECTANGULARSELECTION,\n        SCVS_USERACCESSIBLE,\n        SCVS_NOWRAPLINESTART,\n    };\n\n    enum {\n        SCWS_INVISIBLE,\n        SCWS_VISIBLEALWAYS,\n        SCWS_VISIBLEAFTERINDENT,\n        SCWS_VISIBLEONLYININDENT,\n    };\n\n    enum {\n        SC_EOL_CRLF,\n        SC_EOL_CR,\n        SC_EOL_LF\n    };\n\n    enum {\n        SC_CP_DBCS,\n        SC_CP_UTF8\n    };\n\n    enum {\n        SC_MARK_CIRCLE,\n        SC_MARK_ROUNDRECT,\n        SC_MARK_ARROW,\n        SC_MARK_SMALLRECT,\n        SC_MARK_SHORTARROW,\n        SC_MARK_EMPTY,\n        SC_MARK_ARROWDOWN,\n        SC_MARK_MINUS,\n        SC_MARK_PLUS,\n        SC_MARK_VLINE,\n        SC_MARK_LCORNER,\n        SC_MARK_TCORNER,\n        SC_MARK_BOXPLUS,\n        SC_MARK_BOXPLUSCONNECTED,\n        SC_MARK_BOXMINUS,\n        SC_MARK_BOXMINUSCONNECTED,\n        SC_MARK_LCORNERCURVE,\n        SC_MARK_TCORNERCURVE,\n        SC_MARK_CIRCLEPLUS,\n        SC_MARK_CIRCLEPLUSCONNECTED,\n        SC_MARK_CIRCLEMINUS,\n        SC_MARK_CIRCLEMINUSCONNECTED,\n        SC_MARK_BACKGROUND,\n        SC_MARK_DOTDOTDOT,\n        SC_MARK_ARROWS,\n        SC_MARK_PIXMAP,\n        SC_MARK_FULLRECT,\n        SC_MARK_LEFTRECT,\n        SC_MARK_AVAILABLE,\n        SC_MARK_UNDERLINE,\n        SC_MARK_RGBAIMAGE,\n        SC_MARK_BOOKMARK,\n        SC_MARK_CHARACTER\n    };\n\n    enum {\n        SC_MARKNUM_FOLDEREND,\n        SC_MARKNUM_FOLDEROPENMID,\n        SC_MARKNUM_FOLDERMIDTAIL,\n        SC_MARKNUM_FOLDERTAIL,\n        SC_MARKNUM_FOLDERSUB,\n        SC_MARKNUM_FOLDER,\n        SC_MARKNUM_FOLDEROPEN,\n        SC_MASK_FOLDERS\n    };\n\n    enum {\n        SC_MARGIN_SYMBOL,\n        SC_MARGIN_NUMBER,\n        SC_MARGIN_BACK,\n        SC_MARGIN_FORE,\n        SC_MARGIN_TEXT,\n        SC_MARGIN_RTEXT,\n        SC_MARGIN_COLOUR,\n    };\n\n    enum {\n        STYLE_DEFAULT,\n        STYLE_LINENUMBER,\n        STYLE_BRACELIGHT,\n        STYLE_BRACEBAD,\n        STYLE_CONTROLCHAR,\n        STYLE_INDENTGUIDE,\n        STYLE_CALLTIP,\n        STYLE_FOLDDISPLAYTEXT,\n        STYLE_LASTPREDEFINED,\n        STYLE_MAX\n    };\n\n    enum {\n        SC_CHARSET_ANSI,\n        SC_CHARSET_DEFAULT,\n        SC_CHARSET_BALTIC,\n        SC_CHARSET_CHINESEBIG5,\n        SC_CHARSET_EASTEUROPE,\n        SC_CHARSET_GB2312,\n        SC_CHARSET_GREEK,\n        SC_CHARSET_HANGUL,\n        SC_CHARSET_MAC,\n        SC_CHARSET_OEM,\n        SC_CHARSET_RUSSIAN,\n        SC_CHARSET_OEM866,\n        SC_CHARSET_CYRILLIC,\n        SC_CHARSET_SHIFTJIS,\n        SC_CHARSET_SYMBOL,\n        SC_CHARSET_TURKISH,\n        SC_CHARSET_JOHAB,\n        SC_CHARSET_HEBREW,\n        SC_CHARSET_ARABIC,\n        SC_CHARSET_VIETNAMESE,\n        SC_CHARSET_THAI,\n        SC_CHARSET_8859_15,\n    };\n\n    enum {\n        SC_CASE_MIXED,\n        SC_CASE_UPPER,\n        SC_CASE_LOWER,\n        SC_CASE_CAMEL,\n    };\n\n    enum\n    {\n        SC_IV_NONE,\n        SC_IV_REAL,\n        SC_IV_LOOKFORWARD,\n        SC_IV_LOOKBOTH\n    };\n\n    enum {\n        INDIC_PLAIN,\n        INDIC_SQUIGGLE,\n        INDIC_TT,\n        INDIC_DIAGONAL,\n        INDIC_STRIKE,\n        INDIC_HIDDEN,\n        INDIC_BOX,\n        INDIC_ROUNDBOX,\n        INDIC_STRAIGHTBOX,\n        INDIC_DASH,\n        INDIC_DOTS,\n        INDIC_SQUIGGLELOW,\n        INDIC_DOTBOX,\n        INDIC_SQUIGGLEPIXMAP,\n        INDIC_COMPOSITIONTHICK,\n        INDIC_COMPOSITIONTHIN,\n        INDIC_FULLBOX,\n        INDIC_TEXTFORE,\n        INDIC_POINT,\n        INDIC_POINTCHARACTER,\n        INDIC_GRADIENT,\n        INDIC_GRADIENTCENTRE,\n\n        INDIC_IME,\n        INDIC_IME_MAX,\n\n        INDIC_CONTAINER,\n        INDIC_MAX,\n        INDIC0_MASK,\n        INDIC1_MASK,\n        INDIC2_MASK,\n        INDICS_MASK,\n\n        SC_INDICVALUEBIT,\n        SC_INDICVALUEMASK,\n        SC_INDICFLAG_VALUEBEFORE,\n    };\n\n    enum {\n        SC_PRINT_NORMAL,\n        SC_PRINT_INVERTLIGHT,\n        SC_PRINT_BLACKONWHITE,\n        SC_PRINT_COLOURONWHITE,\n        SC_PRINT_COLOURONWHITEDEFAULTBG,\n        SC_PRINT_SCREENCOLOURS,\n    };\n\n    enum {\n        SCFIND_WHOLEWORD,\n        SCFIND_MATCHCASE,\n        SCFIND_WORDSTART,\n        SCFIND_REGEXP,\n        SCFIND_POSIX,\n        SCFIND_CXX11REGEX,\n    };\n\n    enum {\n        SC_FOLDDISPLAYTEXT_HIDDEN,\n        SC_FOLDDISPLAYTEXT_STANDARD,\n        SC_FOLDDISPLAYTEXT_BOXED,\n    };\n\n    enum {\n        SC_FOLDLEVELBASE,\n        SC_FOLDLEVELWHITEFLAG,\n        SC_FOLDLEVELHEADERFLAG,\n        SC_FOLDLEVELNUMBERMASK\n    };\n\n    enum {\n        SC_FOLDFLAG_LINEBEFORE_EXPANDED,\n        SC_FOLDFLAG_LINEBEFORE_CONTRACTED,\n        SC_FOLDFLAG_LINEAFTER_EXPANDED,\n        SC_FOLDFLAG_LINEAFTER_CONTRACTED,\n        SC_FOLDFLAG_LEVELNUMBERS,\n        SC_FOLDFLAG_LINESTATE,\n    };\n\n    enum {\n        SC_LINE_END_TYPE_DEFAULT,\n        SC_LINE_END_TYPE_UNICODE,\n    };\n\n    enum {\n        SC_TIME_FOREVER\n    };\n\n    enum {\n        SC_WRAP_NONE,\n        SC_WRAP_WORD,\n        SC_WRAP_CHAR,\n        SC_WRAP_WHITESPACE,\n    };\n\n    enum {\n        SC_WRAPINDENT_FIXED,\n        SC_WRAPINDENT_SAME,\n        SC_WRAPINDENT_INDENT,\n        SC_WRAPINDENT_DEEPINDENT,\n    };\n\n    enum {\n        SC_CACHE_NONE,\n        SC_CACHE_CARET,\n        SC_CACHE_PAGE,\n        SC_CACHE_DOCUMENT\n    };\n\n    enum {\n        SC_PHASES_ONE = 0,\n        SC_PHASES_TWO = 1,\n        SC_PHASES_MULTIPLE = 2,\n    };\n\n    enum {\n        ANNOTATION_HIDDEN,\n        ANNOTATION_STANDARD,\n        ANNOTATION_BOXED,\n        ANNOTATION_INDENTED,\n    };\n\n    enum {\n        EDGE_NONE,\n        EDGE_LINE,\n        EDGE_BACKGROUND,\n        EDGE_MULTILINE,\n    };\n\n    enum {\n        SC_CURSORNORMAL,\n        SC_CURSORARROW,\n        SC_CURSORWAIT,\n        SC_CURSORREVERSEARROW\n    };\n\n    enum {\n        UNDO_MAY_COALESCE,\n    };\n\n    enum {\n        VISIBLE_SLOP,\n        VISIBLE_STRICT\n    };\n\n    enum {\n        CARET_SLOP,\n        CARET_STRICT,\n        CARET_JUMPS,\n        CARET_EVEN\n    };\n\n    enum\n    {\n        CARETSTYLE_INVISIBLE,\n        CARETSTYLE_LINE,\n        CARETSTYLE_BLOCK\n    };\n\n    enum {\n        SC_MOD_INSERTTEXT,\n        SC_MOD_DELETETEXT,\n        SC_MOD_CHANGESTYLE,\n        SC_MOD_CHANGEFOLD,\n        SC_PERFORMED_USER,\n        SC_PERFORMED_UNDO,\n        SC_PERFORMED_REDO,\n        SC_MULTISTEPUNDOREDO,\n        SC_LASTSTEPINUNDOREDO,\n        SC_MOD_CHANGEMARKER,\n        SC_MOD_BEFOREINSERT,\n        SC_MOD_BEFOREDELETE,\n        SC_MULTILINEUNDOREDO,\n        SC_STARTACTION,\n        SC_MOD_CHANGEINDICATOR,\n        SC_MOD_CHANGELINESTATE,\n        SC_MOD_CHANGEMARGIN,\n        SC_MOD_CHANGEANNOTATION,\n        SC_MOD_CONTAINER,\n        SC_MOD_LEXERSTATE,\n        SC_MOD_INSERTCHECK,\n        SC_MOD_CHANGETABSTOPS,\n        SC_MODEVENTMASKALL\n    };\n\n    enum {\n        SCK_DOWN,\n        SCK_UP,\n        SCK_LEFT,\n        SCK_RIGHT,\n        SCK_HOME,\n        SCK_END,\n        SCK_PRIOR,\n        SCK_NEXT,\n        SCK_DELETE,\n        SCK_INSERT,\n        SCK_ESCAPE,\n        SCK_BACK,\n        SCK_TAB,\n        SCK_RETURN,\n        SCK_ADD,\n        SCK_SUBTRACT,\n        SCK_DIVIDE,\n        SCK_WIN,\n        SCK_RWIN,\n        SCK_MENU\n    };\n\n    enum {\n        SCMOD_NORM,\n        SCMOD_SHIFT,\n        SCMOD_CTRL,\n        SCMOD_ALT,\n        SCMOD_SUPER,\n        SCMOD_META,\n    };\n\n    enum {\n        SCLEX_CONTAINER,\n        SCLEX_NULL,\n        SCLEX_PYTHON,\n        SCLEX_CPP,\n        SCLEX_HTML,\n        SCLEX_XML,\n        SCLEX_PERL,\n        SCLEX_SQL,\n        SCLEX_VB,\n        SCLEX_PROPERTIES,\n        SCLEX_ERRORLIST,\n        SCLEX_MAKEFILE,\n        SCLEX_BATCH,\n        SCLEX_LATEX,\n        SCLEX_LUA,\n        SCLEX_DIFF,\n        SCLEX_CONF,\n        SCLEX_PASCAL,\n        SCLEX_AVE,\n        SCLEX_ADA,\n        SCLEX_LISP,\n        SCLEX_RUBY,\n        SCLEX_EIFFEL,\n        SCLEX_EIFFELKW,\n        SCLEX_TCL,\n        SCLEX_NNCRONTAB,\n        SCLEX_BULLANT,\n        SCLEX_VBSCRIPT,\n        SCLEX_ASP,\n        SCLEX_PHP,\n        SCLEX_BAAN,\n        SCLEX_MATLAB,\n        SCLEX_SCRIPTOL,\n        SCLEX_ASM,\n        SCLEX_CPPNOCASE,\n        SCLEX_FORTRAN,\n        SCLEX_F77,\n        SCLEX_CSS,\n        SCLEX_POV,\n        SCLEX_LOUT,\n        SCLEX_ESCRIPT,\n        SCLEX_PS,\n        SCLEX_NSIS,\n        SCLEX_MMIXAL,\n        SCLEX_CLW,\n        SCLEX_CLWNOCASE,\n        SCLEX_LOT,\n        SCLEX_YAML,\n        SCLEX_TEX,\n        SCLEX_METAPOST,\n        SCLEX_POWERBASIC,\n        SCLEX_FORTH,\n        SCLEX_ERLANG,\n        SCLEX_OCTAVE,\n        SCLEX_MSSQL,\n        SCLEX_VERILOG,\n        SCLEX_KIX,\n        SCLEX_GUI4CLI,\n        SCLEX_SPECMAN,\n        SCLEX_AU3,\n        SCLEX_APDL,\n        SCLEX_BASH,\n        SCLEX_ASN1,\n        SCLEX_VHDL,\n        SCLEX_CAML,\n        SCLEX_BLITZBASIC,\n        SCLEX_PUREBASIC,\n        SCLEX_HASKELL,\n        SCLEX_PHPSCRIPT,\n        SCLEX_TADS3,\n        SCLEX_REBOL,\n        SCLEX_SMALLTALK,\n        SCLEX_FLAGSHIP,\n        SCLEX_CSOUND,\n        SCLEX_FREEBASIC,\n        SCLEX_INNOSETUP,\n        SCLEX_OPAL,\n        SCLEX_SPICE,\n        SCLEX_D,\n        SCLEX_CMAKE,\n        SCLEX_GAP,\n        SCLEX_PLM,\n        SCLEX_PROGRESS,\n        SCLEX_ABAQUS,\n        SCLEX_ASYMPTOTE,\n        SCLEX_R,\n        SCLEX_MAGIK,\n        SCLEX_POWERSHELL,\n        SCLEX_MYSQL,\n        SCLEX_PO,\n        SCLEX_TAL,\n        SCLEX_COBOL,\n        SCLEX_TACL,\n        SCLEX_SORCUS,\n        SCLEX_POWERPRO,\n        SCLEX_NIMROD,\n        SCLEX_SML,\n        SCLEX_MARKDOWN,\n        SCLEX_TXT2TAGS,\n        SCLEX_A68K,\n        SCLEX_MODULA,\n        SCLEX_COFFEESCRIPT,\n        SCLEX_TCMD,\n        SCLEX_AVS,\n        SCLEX_ECL,\n        SCLEX_OSCRIPT,\n        SCLEX_VISUALPROLOG,\n        SCLEX_LITERATEHASKELL,\n        SCLEX_STTXT,\n        SCLEX_KVIRC,\n        SCLEX_RUST,\n        SCLEX_DMAP,\n        SCLEX_AS,\n        SCLEX_DMIS,\n        SCLEX_REGISTRY,\n        SCLEX_BIBTEX,\n        SCLEX_SREC,\n        SCLEX_IHEX,\n        SCLEX_TEHEX,\n        SCLEX_JSON,\n        SCLEX_EDIFACT,\n        SCLEX_INDENT,\n        SCLEX_MAXIMA,\n        SCLEX_STATA,\n        SCLEX_SAS,\n    };\n\n    enum {\n        SC_WEIGHT_NORMAL,\n        SC_WEIGHT_SEMIBOLD,\n        SC_WEIGHT_BOLD,\n    };\n\n    enum {\n        SC_TECHNOLOGY_DEFAULT,\n        SC_TECHNOLOGY_DIRECTWRITE,\n        SC_TECHNOLOGY_DIRECTWRITERETAIN,\n        SC_TECHNOLOGY_DIRECTWRITEDC,\n    };\n\n    enum {\n        SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE,\n        SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE,\n    };\n\n    enum {\n        SC_FONT_SIZE_MULTIPLIER,\n    };\n\n    enum\n    {\n        SC_FOLDACTION_CONTRACT,\n        SC_FOLDACTION_EXPAND,\n        SC_FOLDACTION_TOGGLE,\n    };\n\n    enum\n    {\n        SC_AUTOMATICFOLD_SHOW,\n        SC_AUTOMATICFOLD_CLICK,\n        SC_AUTOMATICFOLD_CHANGE,\n    };\n\n    enum\n    {\n        SC_ORDER_PRESORTED,\n        SC_ORDER_PERFORMSORT,\n        SC_ORDER_CUSTOM,\n    };\n    \n    explicit QsciScintillaBase(QWidget *parent /TransferThis/ = 0);\n    virtual ~QsciScintillaBase();\n\n%ConvertToSubClassCode\nstatic struct class_graph {\n    const char *name;\n    sipTypeDef **type;\n    int yes, no;\n} graph[] = {\n    {sipName_QsciLexer, &sipType_QsciLexer, 4, 1},\n    {sipName_QsciAbstractAPIs, &sipType_QsciAbstractAPIs, 43, 2},\n    {sipName_QsciMacro, &sipType_QsciMacro, -1, 3},\n    {sipName_QsciScintillaBase, &sipType_QsciScintillaBase, 44, -1},\n    {sipName_QsciLexerSQL, &sipType_QsciLexerSQL, -1, 5},\n    {sipName_QsciLexerMakefile, &sipType_QsciLexerMakefile, -1, 6},\n    {sipName_QsciLexerAVS, &sipType_QsciLexerAVS, -1, 7},\n    {sipName_QsciLexerDiff, &sipType_QsciLexerDiff, -1, 8},\n    {sipName_QsciLexerPython, &sipType_QsciLexerPython, -1, 9},\n    {sipName_QsciLexerPO, &sipType_QsciLexerPO, -1, 10},\n    {sipName_QsciLexerCoffeeScript, &sipType_QsciLexerCoffeeScript, -1, 11},\n    {sipName_QsciLexerPostScript, &sipType_QsciLexerPostScript, -1, 12},\n    {sipName_QsciLexerPOV, &sipType_QsciLexerPOV, -1, 13},\n    {sipName_QsciLexerRuby, &sipType_QsciLexerRuby, -1, 14},\n    {sipName_QsciLexerJSON, &sipType_QsciLexerJSON, -1, 15},\n    {sipName_QsciLexerVerilog, &sipType_QsciLexerVerilog, -1, 16},\n    {sipName_QsciLexerProperties, &sipType_QsciLexerProperties, -1, 17},\n    {sipName_QsciLexerCMake, &sipType_QsciLexerCMake, -1, 18},\n    {sipName_QsciLexerD, &sipType_QsciLexerD, -1, 19},\n    {sipName_QsciLexerLua, &sipType_QsciLexerLua, -1, 20},\n    {sipName_QsciLexerPerl, &sipType_QsciLexerPerl, -1, 21},\n    {sipName_QsciLexerBash, &sipType_QsciLexerBash, -1, 22},\n    {sipName_QsciLexerFortran77, &sipType_QsciLexerFortran77, 36, 23},\n    {sipName_QsciLexerVHDL, &sipType_QsciLexerVHDL, -1, 24},\n    {sipName_QsciLexerCSS, &sipType_QsciLexerCSS, -1, 25},\n    {sipName_QsciLexerSpice, &sipType_QsciLexerSpice, -1, 26},\n    {sipName_QsciLexerBatch, &sipType_QsciLexerBatch, -1, 27},\n    {sipName_QsciLexerHTML, &sipType_QsciLexerHTML, 37, 28},\n    {sipName_QsciLexerCustom, &sipType_QsciLexerCustom, -1, 29},\n    {sipName_QsciLexerMatlab, &sipType_QsciLexerMatlab, 38, 30},\n    {sipName_QsciLexerPascal, &sipType_QsciLexerPascal, -1, 31},\n    {sipName_QsciLexerTCL, &sipType_QsciLexerTCL, -1, 32},\n    {sipName_QsciLexerMarkdown, &sipType_QsciLexerMarkdown, -1, 33},\n    {sipName_QsciLexerTeX, &sipType_QsciLexerTeX, -1, 34},\n    {sipName_QsciLexerCPP, &sipType_QsciLexerCPP, 39, 35},\n    {sipName_QsciLexerYAML, &sipType_QsciLexerYAML, -1, -1},\n    {sipName_QsciLexerFortran, &sipType_QsciLexerFortran, -1, -1},\n    {sipName_QsciLexerXML, &sipType_QsciLexerXML, -1, -1},\n    {sipName_QsciLexerOctave, &sipType_QsciLexerOctave, -1, -1},\n    {sipName_QsciLexerCSharp, &sipType_QsciLexerCSharp, -1, 40},\n    {sipName_QsciLexerJavaScript, &sipType_QsciLexerJavaScript, -1, 41},\n    {sipName_QsciLexerIDL, &sipType_QsciLexerIDL, -1, 42},\n    {sipName_QsciLexerJava, &sipType_QsciLexerJava, -1, -1},\n    {sipName_QsciAPIs, &sipType_QsciAPIs, -1, -1},\n    {sipName_QsciScintilla, &sipType_QsciScintilla, -1, -1},\n};\n\nint i = 0;\n\nsipType = NULL;\n\ndo\n{\n    struct class_graph *cg = &graph[i];\n\n    if (cg->name != NULL && sipCpp->inherits(cg->name))\n    {\n        sipType = *cg->type;\n        i = cg->yes;\n    }\n    else\n        i = cg->no;\n}\nwhile (i >= 0);\n%End\n\n    static QsciScintillaBase *pool();\n\n    void replaceHorizontalScrollBar(QScrollBar *scrollBar /Transfer/);\n    void replaceVerticalScrollBar(QScrollBar *scrollBar /Transfer/);\n\n    long SendScintilla(unsigned int msg, unsigned long wParam = 0,\n            long lParam = 0) const;\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            void *lParam) const;\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const char *lParam /Encoding=\"None\"/) const;\n%MethodCode\n        sipRes = sipCpp->SendScintilla(a0, static_cast<uintptr_t>(a1), a2);\n%End\n    long SendScintilla(unsigned int msg,\n            const char *lParam /Encoding=\"None\"/); const\n    long SendScintilla(unsigned int msg,\n            const char *wParam /Encoding=\"None\"/,\n            const char *lParam /Encoding=\"None\"/) const;\n    long SendScintilla(unsigned int msg, long wParam) const;\n    //long SendScintilla(unsigned int msg, int wParam) const;\n    long SendScintilla(unsigned int msg, long cpMin, long cpMax,\n            char *lpstrText /Encoding=\"None\"/) const;\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const QColor &col) const;\n    long SendScintilla(unsigned int msg, const QColor &col) const;\n    long SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc,\n            const QRect &rc, long cpMin, long cpMax) const;\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const QPixmap &lParam) const;\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const QImage &lParam) const;\n\n    void *SendScintillaPtrResult(unsigned int msg) const;\n\nsignals:\n    void QSCN_SELCHANGED(bool yes);\n\n    void SCEN_CHANGE();\n\n    void SCN_AUTOCCANCELLED();\n    void SCN_AUTOCCHARDELETED();\n    void SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method);\n    void SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method);\n    void SCN_AUTOCSELECTION(const char *selection, int position);\n    void SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position);\n    void SCN_CALLTIPCLICK(int direction);\n    void SCN_CHARADDED(int charadded);\n    void SCN_DOUBLECLICK(int position, int line, int modifiers);\n    void SCN_DWELLEND(int, int, int);\n    void SCN_DWELLSTART(int, int, int);\n    void SCN_FOCUSIN();\n    void SCN_FOCUSOUT();\n    void SCN_HOTSPOTCLICK(int position, int modifiers);\n    void SCN_HOTSPOTDOUBLECLICK(int position, int modifiers);\n    void SCN_HOTSPOTRELEASECLICK(int position, int modifiers);\n    void SCN_INDICATORCLICK(int position, int modifiers);\n    void SCN_INDICATORRELEASE(int position, int modifiers);\n    void SCN_MACRORECORD(unsigned int, ulong, void *);\n    void SCN_MARGINCLICK(int position, int modifiers, int margin);\n    void SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin);\n    void SCN_MODIFIED(int, int, const char *, int, int, int, int, int, int, int);\n    void SCN_MODIFYATTEMPTRO();\n    void SCN_NEEDSHOWN(int, int);\n    void SCN_PAINTED();\n    void SCN_SAVEPOINTLEFT();\n    void SCN_SAVEPOINTREACHED();\n    void SCN_STYLENEEDED(int position);\n    void SCN_URIDROPPED(const QUrl &url);\n    void SCN_UPDATEUI(int updated);\n    void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position);\n    void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method);\n    void SCN_USERLISTSELECTION(const char *selection, int id);\n    void SCN_ZOOM();\n\nprotected:\n    virtual bool canInsertFromMimeData(const QMimeData *source) const;\n    virtual QByteArray fromMimeData(const QMimeData *source, bool &rectangular) const;\n    virtual QMimeData *toMimeData(const QByteArray &text, bool rectangular) const;\n\n    virtual void changeEvent(QEvent *e);\n    virtual void contextMenuEvent(QContextMenuEvent *e);\n    virtual void dragEnterEvent(QDragEnterEvent *e);\n    virtual void dragLeaveEvent(QDragLeaveEvent *e);\n    virtual void dragMoveEvent(QDragMoveEvent *e);\n    virtual void dropEvent(QDropEvent *e);\n    virtual void focusInEvent(QFocusEvent *e);\n    virtual void focusOutEvent(QFocusEvent *e);\n    virtual bool focusNextPrevChild(bool next);\n    virtual void keyPressEvent(QKeyEvent *e);\n    virtual void inputMethodEvent(QInputMethodEvent *e);\n    virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;\n    virtual void mouseDoubleClickEvent(QMouseEvent *e);\n    virtual void mouseMoveEvent(QMouseEvent *e);\n    virtual void mousePressEvent(QMouseEvent *e);\n    virtual void mouseReleaseEvent(QMouseEvent *e);\n    virtual void paintEvent(QPaintEvent *e);\n    virtual void resizeEvent(QResizeEvent *e);\n    virtual void scrollContentsBy(int dx, int dy);\n\nprivate:\n    QsciScintillaBase(const QsciScintillaBase &);\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscistyle.sip",
    "content": "// This is the SIP interface definition for QsciStyle.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciStyle\n{\n%TypeHeaderCode\n#include <Qsci/qscistyle.h>\n%End\n\npublic:\n    enum TextCase {\n        OriginalCase,\n        UpperCase,\n        LowerCase\n    };\n\n    QsciStyle(int style = -1);\n    QsciStyle(int style, const QString &description, const QColor &color,\n            const QColor &paper, const QFont &font, bool eolFill = false);\n\n    void setStyle(int style);\n    int style() const;\n\n    void setDescription(const QString &description);\n    QString description() const;\n\n    void setColor(const QColor &color);\n    QColor color() const;\n\n    void setPaper(const QColor &paper);\n    QColor paper() const;\n\n    void setFont(const QFont &font);\n    QFont font() const;\n\n    void setEolFill(bool fill);\n    bool eolFill() const;\n\n    void setTextCase(TextCase text_case);\n    TextCase textCase() const;\n\n    void setVisible(bool visible);\n    bool visible() const;\n\n    void setChangeable(bool changeable);\n    bool changeable() const;\n\n    void setHotspot(bool hotspot);\n    bool hotspot() const;\n\n    void refresh();\n};\n"
  },
  {
    "path": "src/qscint/Python/sip/qscistyledtext.sip",
    "content": "// This is the SIP interface definition for QsciStyledText.\n//\n// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\nclass QsciStyledText\n{\n%TypeHeaderCode\n#include <Qsci/qscistyledtext.h>\n%End\n\npublic:\n    QsciStyledText(const QString &text, int style);\n    QsciStyledText(const QString &text, const QsciStyle &style);\n\n    const QString &text();\n    int style() const;\n};\n"
  },
  {
    "path": "src/qscint/doc/README.doc",
    "content": "/*! \\mainpage QScintilla - a Port to Qt v5 and Qt v6 of Scintilla\n\n<h2>Introduction</h2>\n\n<a href=\"http://www.riverbankcomputing.com/software/qscintilla/\">QScintilla</a>\nis a port to Qt of the <a href=\"http://www.scintilla.org/\">Scintilla</a>\nediting component.\n\nAs well as features found in standard text editing components, Scintilla\nincludes features especially useful when editing and debugging source code:\n\n<ul>\n<li>syntax styling with support for over 70 languages\n<li>error indicators\n<li>code completion\n<li>call tips\n<li>code folding\n<li>margins can contain markers like those used in debuggers to indicate\n    breakpoints and the current line.\n<li>recordable macros\n<li>multiple views\n<li>printing.\n</ul>\n\nQScintilla is a port or Scintilla to the Qt GUI toolkit from\n<a href=\"http://www.qt.io\">The Qt Company</a> and runs on any operating system\nsupported by Qt (eg. Windows, Linux, macOS, iOS and Android).  QScintilla works\nwith Qt v5 and v6.\n\nQScintilla also includes language bindings for\n<a href=\"https://www.python.org\">Python</a>.  These require that\n<a href=\"https://www.riverbankcomputing.com/software/pyqt/\">PyQt</a> v5 or v6\nis also installed.\n\nThis version of QScintilla is based on Scintilla v3.10.1.\n\n\n<h2>Licensing</h2>\n\nQScintilla is available under the\n<a href=\"http://www.gnu.org/licenses/gpl.html\">GNU General Public License v3</a>\nand the Riverbank Commercial License.\n\nThe commercial license allows closed source applications using QScintilla to be\ndeveloped and distributed.  At the moment the commercial version of QScintilla\nis bundled with, but packaged separately from, the commercial version of\n<a href=\"http://www.riverbankcomputing.com/software/pyqt/\">PyQt</a>.\n\nThe Scintilla code within QScintilla is released under the following license:\n\n<pre>\n License for Scintilla and SciTE\n\n Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n\n All Rights Reserved\n\n Permission to use, copy, modify, and distribute this software and its\n documentation for any purpose and without fee is hereby granted,\n provided that the above copyright notice appear in all copies and that\n both that copyright notice and this permission notice appear in\n supporting documentation.\n\n NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY\n SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE\n OR PERFORMANCE OF THIS SOFTWARE.\n</pre>\n\n\n<h2>Installation</h2>\n\nAs supplied QScintilla will be built as a shared library/DLL and installed in\nthe same directories as the Qt libraries and include files.\n\nIf you wish to build a static version of the library then pass\n<tt>CONFIG+=staticlib</tt> on the <tt>qmake</tt> command line.\n\nIf you want to make more significant changes to the configuration then edit the\nfile <tt>qscintilla.pro</tt> in the <tt>src</tt> directory.\n\nIf you do make changes, specifically to the names of the installation\ndirectories or the name of the library, then you may also need to update the\n<tt>src/features/qscintilla2.prf</tt> file.\n\nSee your <tt>qmake</tt> documentation for more details.\n\nTo build and install QScintilla, run:\n\n<pre>\n    cd src\n    qmake\n    make\n    make install\n</pre>\n\nIf you have multiple versions of Qt installed then make sure you use the\ncorrect version of <tt>qmake</tt>.\n\nThe underlying Scintilla code may support additional compile-time options.\nThese can be configured by passing appropriate arguments to <tt>qmake</tt>.\nFor example, if you have an old C++ compiler that does not have a working\n<tt>std::regex</tt> then invoke <tt>qmake</tt> as follows:\n\n<pre>\n    qmake DEFINES+=NO_CXX11_REGEX=1\n</pre>\n\n\n<h3>Installation on Windows</h3>\n\nBefore compiling QScintilla on Windows you should remove the <tt>Qsci</tt>\ndirectory containing the QScintilla header files from any previous\ninstallation.  This is because the <tt>Makefile</tt> generated by\n<tt>qmake</tt> will find these older header files instead of the new ones.\n\nDepending on the compiler you are using you may need to run <tt>nmake</tt>\nrather than <tt>make</tt>.\n\nIf you have built a Windows DLL then you probably also want to run:\n\n<pre>\n    copy %%QTDIR%\\\\lib\\\\qscintilla2.dll %%QTDIR%\\\\bin\n</pre>\n\n\n<h2>Integration with <tt>qmake</tt></h2>\n\nTo configure <tt>qmake</tt> to find your QScintilla installation, add the\nfollowing line to your application's <tt>.pro</tt> file:\n\n<pre>\n    CONFIG += qscintilla2\n</pre>\n\n\n<h2>Qt Designer Plugin</h2>\n\nQScintilla includes an optional plugin for Qt Designer that allows QScintilla\ninstances to be included in GUI designs just like any other Qt widget.\n\nTo build the plugin on all platforms, make sure QScintilla is installed and\nthen run (as root or administrator):\n\n<pre>\n    cd designer\n    qmake\n    make\n    make install\n</pre>\n\nOn Windows (and depending on the compiler you are using) you may need to run\n<tt>nmake</tt> rather than <tt>make</tt>.\n\n\n<h2>Example Application</h2>\n\nThe example application provided is a port of the standard Qt\n<tt>application</tt> example with the QsciScintilla class being used instead of\nQt's QTextEdit class.\n\nThe example does not demonstrate all of the extra features of QScintilla.\n\nTo build the example, run:\n\n<pre>\n    cd example\n    qmake\n    make\n</pre>\n\nOn Windows (and depending on the compiler you are using) you may need to run\n<tt>nmake</tt> rather than <tt>make</tt>.\n\n\n<h2>Python Bindings</h2>\n\nThe Python bindings are in the <tt>Python</tt> sub-directory.  You must have\neither PyQt5 or PyQt6 already installed and PyQt-builder.  QScintilla must also\nalready be built and installed.\n\nThe <tt>Python</tt> sub-directory contains a <tt>pyproject-qt5.toml</tt> file\nand a <tt>pyproject-qt6.toml</tt> file.  If you are building for PyQt5 and Qt\nv5 then you must copy the <tt>pyproject-qt5.toml</tt> file to\n<tt>pyproject.toml</tt>.  If instead you are building for PyQt6 and Qt v6 then\nyou must copy the <tt>pyproject-qt6.toml</tt> file to <tt>pyproject.toml</tt>.\n\nTo build and install the bindings, run:\n\n<pre>\n    cd Python\n    sip-install\n</pre>\n*/\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/Design.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla and SciTE\n    </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          Component Design</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Top level structure\n    </h2>\n    <p>\n       Scintilla consists of three major layers of C++ code\n    </p>\n    <ul>\n      <li>\n        Portability Library\n      </li>\n      <li>\n        Core Code\n      </li>\n      <li>\n        Platform Events and API\n      </li>\n    </ul>\n    <p>\n       The primary purpose of this structure is to separate the platform dependent code from the\n      platform independent core code. This makes it easier to port Scintilla to a new platform and\n      ensures that most readers of the code do not have to deal with platform details. To minimise\n      portability problems and avoid code bloat, a conservative subset of C++ is used in Scintilla\n      with no exception handling, run time type information or use of the standard C++\n      library and with limited use of templates.\n    </p>\n    <p>\n       The currently supported platforms, Windows, GTK+/Linux, Cocoa and wxWidgets are fairly similar in\n      many ways.\n      Each has windows, menus and bitmaps. These features generally work in similar ways so each\n      has a way to move a window or draw a red line. Sometimes one platform requires a sequence of\n      calls rather than a single call. At other times, the differences are more profound. Reading\n      the Windows clipboard occurs synchronously but reading the GTK+ clipboard requires a request\n      call that will be asynchronously answered with a message containing the clipboard data.\n      The wxWidgets platform is available from the <a href=\"http://wxwidgets.org/\">wxWidgets site</a>\n    </p>\n    <br />\n    <h3>\n       Portability Library\n    </h3>\n    <p>\n       This is a fairly small and thin layer over the platform's native capabilities.\n    </p>\n    <p>\n       The portability library is defined in Platform.h and is implemented once for each platform.\n      PlatWin.cxx defines the Windows variants of the methods and PlatGTK.cxx the GTK+ variants.\n    </p>\n    <p>\n       Several of the classes here hold platform specific object identifiers and act as proxies to\n      these platform objects. Most client code can thus manipulate the platform objects without\n      caring which is the current platform. Sometimes client code needs access to the underlying\n      object identifiers and this is provided by the GetID method. The underlying types of the\n      platform specific identifiers are typedefed to common names to allow them to be transferred\n      around in client code where needed.\n    </p>\n    <h4>\n       Point, PRectangle\n    </h4>\n    <p>\n       These are simple classes provided to hold the commonly used geometric primitives. A\n      PRectangle follows the Mac / Windows convention of not including its bottom and right sides\n      instead of including all its sides as is normal in GTK+. It is not called Rectangle as this may be\n      the name of a macro on Windows.\n    </p>\n    <h4>\n       ColourDesired\n    </h4>\n    <p>\n       This is a simple class holding an expected colour. It is internally represented as a single\n      32 bit integer in BGR format with 8 bits per colour, but also provides a convenient API to fetch\n      each component separately.\n       As a platform might not be able to represent the exact desired colour if it doesn't have 24 bit\n      depth available, it might not actually represent the exact desired colour but select a best fit\n      that it can actually render.\n    </p>\n    <h4>\n       Font\n    </h4>\n    <p>\n       Font holds a platform specific font identifier - HFONT for Windows, PangoFontDescription* for GTK+. It\n      does not own the identifier and so will not delete the platform font object in its\n      destructor. Client code should call Destroy at appropriate times.\n    </p>\n    <h4>\n       Surface\n    </h4>\n    <p>\n       Surface is an abstraction over each platform's concept of somewhere that graphical drawing\n      operations can be done. It may wrap an already created drawing place such as a window or be\n      used to create a bitmap that can be drawn into and later copied onto another surface. On\n      Windows it wraps a HDC and possibly a HBITMAP. On GTK+ it wraps a cairo_surface_t*.\n      Other platform specific objects are created (and correctly destroyed) whenever\n      required to perform drawing actions.\n    </p>\n    <p>\n       Drawing operations provided include drawing filled and unfilled polygons, lines, rectangles,\n      ellipses and text. The height and width of text as well as other details can be measured.\n      Operations can be clipped to a rectangle. Most of the calls are stateless with all parameters\n      being passed at each call. The exception to this is line drawing which is performed by\n      calling MoveTo and then LineTo.\n    </p>\n    <h4>\n       Window\n    </h4>\n    <p>\n       Window acts as a proxy to a platform window allowing operations such as showing, moving,\n      redrawing, and destroying to be performed. It contains a platform specific window identifier\n      - HWND for Windows, GtkWidget* for GTK+.\n    </p>\n    <h4>\n       ListBox\n    </h4>\n    <p>\n       ListBox is a subclass of Window and acts as a proxy to a platform listbox adding methods for\n      operations such as adding, retrieving, and selecting items.\n    </p>\n    <h4>\n       Menu\n    </h4>\n    <p>\n       Menu is a small helper class for constructing popup menus. It contains the platform specific\n      menu identifier - HMENU for Windows, GtkMenu* for GTK+. Most of the work in\n      constructing menus requires access to platform events and so is done in the Platform Events\n      and API layer.\n    </p>\n    <h4>\n       Platform\n    </h4>\n    <p>\n       The Platform class is used to access the facilities of the platform. System wide parameters\n      such as double click speed and chrome colour are available from Platform. Utility functions\n      such as DebugPrintf are also available from Platform.\n    </p>\n    <h3>\n       Core Code\n    </h3>\n    <p>\n       The bulk of Scintilla's code is platform independent. This is made up of the CellBuffer,\n      ContractionState, Document, Editor, Indicator, LineMarker, Style, ViewStyle, KeyMap,\n      ScintillaBase, CallTip,\n      and AutoComplete primary classes.\n    </p>\n    <h4>\n       CellBuffer\n    </h4>\n    <p>\n       A CellBuffer holds text and styling information, the undo stack, the assignment of line\n      markers to lines, and the fold structure.\n    </p>\n    <p>\n       A cell contains a character byte and its associated style byte. The current state of the\n      cell buffer is the sequence of cells that make up the text and a sequence of line information\n      containing the starting position of each line and any markers assigned to each line.\n    </p>\n    <p>\n       The undo stack holds a sequence of actions on the cell buffer. Each action is one of a text\n      insertion, a text deletion or an undo start action. The start actions are used to group\n      sequences of text insertions and deletions together so they can be undone together. To\n      perform an undo operation, each insertion or deletion is undone in reverse sequence.\n      Similarly, redo reapplies each action to the buffer in sequence. Whenever a character is\n      inserted in the buffer either directly through a call such as InsertString or through undo or\n      redo, its styling byte is initially set to zero. Client code is responsible for styling each\n      character whenever convenient. Styling information is not stored in undo actions.\n    </p>\n    <h4>\n       Document\n    </h4>\n    <p>\n       A document contains a CellBuffer and deals with some higher level abstractions such as\n      words, DBCS character sequences and line end character sequences. It is responsible for\n      managing the styling process and for notifying other objects when changes occur to the\n      document.\n    </p>\n    <h4>\n       Editor\n    </h4>\n    <p>\n       The Editor object is central to Scintilla. It is responsible for displaying a document and\n      responding to user actions and requests from the container. It uses ContractionState, Indicator,\n      LineMarker, Style, and ViewStyle objects to display the document and a KeyMap class to\n      map key presses to functions.\n      The visibility of each line is kept in the ContractionState which is also responsible for mapping\n      from display lines to documents lines and vice versa.\n    </p>\n    <p>\n       There may be multiple Editor objects attached to one Document object. Changes to a\n       document are broadcast to the editors through the DocWatcher mechanism.\n    </p>\n    <h4>\n       ScintillaBase\n    </h4>\n    <p>\n       ScintillaBase is a subclass of Editor and adds extra windowing features including display of\n      calltips, autocompletion lists and context menus. These features use CallTip and AutoComplete\n      objects. This class is optional so a lightweight implementation of Scintilla may bypass it if\n      the added functionality is not required.\n    </p>\n    <h3>\n       Platform Events and API\n    </h3>\n    <p>\n       Each platform uses different mechanisms for receiving events. On Windows, events are\n      received through messages and COM. On GTK+, callback functions are used.\n    </p>\n    <p>\n       For each platform, a class is derived from ScintillaBase (and thus from Editor). This is\n      ScintillaWin on Windows and ScintillaGTK on GTK+. These classes are responsible for\n      connecting to the platforms event mechanism and also to implement some virtual methods in\n      Editor and ScintillaBase which are different on the platforms. For example, this layer has to\n      support this difference between the synchronous Windows clipboard and the asynchronous GTK+\n      clipboard.\n    </p>\n    <p>\n       The external API is defined in this layer as each platform has different preferred styles of\n      API - messages on Windows and function calls on GTK+. This also allows multiple APIs to be\n      defined on a platform. The currently available API on GTK+ is similar to the Windows API and\n      does not follow platform conventions well. A second API could be implemented here that did\n      follow platform conventions.\n    </p>\n  </body>\n</html>\n\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/Icons.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla icons\n    </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          and SciTE</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Icons\n    </h2>\n    <p>\n       These images may be used under the same license as Scintilla.\n    </p>\n    <p>\n       Drawn by Iago Rubio, Philippe Lhoste, and Neil Hodgson.\n    </p>\n    <p>\n       <a href=\"http://prdownloads.sourceforge.net/scintilla/icons1.zip?download\">zip format</a> (70K)\n    </p>\n    <table>\n    <tr>\n    <td>For autocompletion lists</td>\n    <td colspan=\"3\">For margin markers</td>\n    </tr>\n    <tr>\n    <td>12x12</td>\n    <td>16x16</td>\n    <td>24x24</td>\n    <td>32x32</td>\n    </tr>\n    <tr>\n    <td valign=\"top\"><img src=\"12.png\" /></td>\n    <td valign=\"top\"><img src=\"16.png\" /></td>\n    <td valign=\"top\"><img src=\"24.png\" /></td>\n    <td valign=\"top\"><img src=\"32.png\" /></td>\n    </tr>\n    </table>\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/LPegLexer.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\n    <title>Lua LPeg Lexers</title>\n\n    <style type=\"text/css\">\n      <!--\n      /*<![CDATA[*/\n        CODE { font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n        A:visited { color: blue; }\n        A:hover { text-decoration: underline ! important; }\n        A.message { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n        A.seealso { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n        A.toc { text-decoration: none; }\n        A.jump { text-decoration: none; }\n        LI.message { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n        H2 { background: #E0EAFF; }\n\n        table {\n          border: 0px;\n          border-collapse: collapse;\n        }\n\n        table.categories {\n          border: 0px;\n          border-collapse: collapse;\n        }\n        table.categories td {\n          padding: 4px 12px;\n        }\n\n        table.standard {\n          border-collapse: collapse;\n        }\n        table.standard th {\n          background: #404040;\n          color: #FFFFFF;\n          padding: 1px 5px 1px 5px;\n        }\n        table.standard tr:nth-child(odd) {background: #D7D7D7}\n        table.standard tr:nth-child(even) {background: #F0F0F0}\n        table.standard td {\n          padding: 1px 5px 1px 5px;\n        }\n\n        .S0 {\n          color: #808080;\n        }\n        .S2 {\n          font-family: 'Comic Sans MS';\n          color: #007F00;\n          font-size: 9pt;\n        }\n        .S3 {\n          font-family: 'Comic Sans MS';\n          color: #3F703F;\n          font-size: 9pt;\n        }\n        .S4 {\n          color: #007F7F;\n        }\n        .S5 {\n          font-weight: bold;\n          color: #00007F;\n        }\n        .S9 {\n          color: #7F7F00;\n        }\n        .S10 {\n          font-weight: bold;\n          color: #000000;\n        }\n        .S17 {\n          font-family: 'Comic Sans MS';\n          color: #3060A0;\n          font-size: 9pt;\n        }\n        DIV.highlighted {\n          background: #F7FCF7;\n          border: 1px solid #C0D7C0;\n          margin: 0.3em 3em;\n          padding: 0.3em 0.6em;\n          font-family: 'Verdana';\n          color: #000000;\n          font-size: 10pt;\n        }\n        .provisional {\n          background: #FFB000;\n              }\n        .parameter {\n          font-style:italic;\n              }\n      /*]]>*/\n      -->\n    </style>\n  </head>\n\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"\n    summary=\"Banner\">\n      <tr>\n        <td><img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" /></td>\n\n        <td><a href=\"index.html\"\n        style=\"color:white;text-decoration:none;font-size:200%\">Scintilla</a></td>\n      </tr>\n    </table>\n\n    <h1>Lua LPeg Lexers</h1>\n\n    <p>Scintilla's LPeg lexer adds dynamic <a href=\"http://lua.org\">Lua</a>\n    <a href=\"http://www.inf.puc-rio.br/~roberto/lpeg/\">LPeg</a> lexers to\n    Scintilla. It is the quickest way to add new or customized syntax\n    highlighting and code folding for programming languages to any\n    Scintilla-based text editor or IDE.</p>\n\n    <h2>Features</h2>\n\n    <ul>\n    <li>Support for <a href=\"#LexerList\">over 100 programming languages</a>.</li>\n    <li>Easy lexer embedding for multi-language lexers.</li>\n    <li>Universal color themes.</li>\n    <li>Comparable speed to native Scintilla lexers.</li>\n    </ul>\n\n    <h2>Enabling and Configuring the LPeg Lexer</h2>\n\n    <p>Scintilla is <em>not</em> compiled with the LPeg lexer enabled by\n    default (it is present, but empty). You need to manually enable it with the\n    <code>LPEG_LEXER</code> flag when building Scintilla and its lexers. You\n    also need to build and link the Lua source files contained in Scintilla's\n    <code>lua/src/</code> directory to <code>lexers/LexLPeg.cxx</code>. If your\n    application has its own copy of Lua, you can ignore Scintilla's copy and\n    link to yours.\n\n    <p>At this time, only the GTK, curses, and MinGW32 (for win32) platform\n    makefiles facilitate enabling the LPeg lexer. For example, when building\n    Scintilla, run <code>make LPEG_LEXER=1</code>. User contributions to\n    facilitate this for the other platforms is encouraged.</p>\n\n    <p>When Scintilla is compiled with the LPeg lexer enabled, and after\n    selecting it as the lexer to use via\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_SETLEXER\">SCI_SETLEXER</a> or\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_SETLEXERLANGUAGE\">SCI_SETLEXERLANGUAGE</a>,\n    the following property <em>must</em> be set via\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_SETPROPERTY\">SCI_SETPROPERTY</a>:</p>\n\n    <table class=\"standard\" summary=\"Search flags\">\n      <tbody>\n        <tr>\n          <td><code>lexer.lpeg.home</code></td>\n\n          <td>The directory containing the Lua lexers. This is the path\n          where you included Scintilla's <code>lexlua/</code> directory in\n          your application's installation location.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>The following properties are optional and may or may not be set:</p>\n\n    <table class=\"standard\" summary=\"Search flags\">\n      <tbody>\n        <tr>\n          <td><code>lexer.lpeg.color.theme</code></td>\n\n          <td>The color theme to use. Color themes are located in the\n          <code>lexlua/themes/</code> directory. Currently supported themes\n          are <code>light</code>, <code>dark</code>, <code>scite</code>, and\n          <code>curses</code>. Your application can define colors and styles\n          manually through Scintilla properties. The theme files have\n          examples.</td>\n        </tr>\n\n        <tr>\n          <td><code>fold</code></td>\n\n          <td>For Lua lexers that have a folder, folding is turned on if\n          <code>fold</code> is set to <code>1</code>. The default is\n          <code>0</code>.</td>\n        </tr>\n\n        <tr>\n          <td><code>fold.by.indentation</code</td>\n\n          <td>For Lua lexers that do not have a folder, if\n          <code>fold.by.indentation</code> is set to <code>1</code>, folding is\n          done based on indentation level (like Python). The default is\n          <code>0</code>.</td>\n        </tr>\n\n        <tr>\n          <td><code>fold.line.comments</code></td>\n\n          <td>If <code>fold.line.comments</code> is set to <code>1</code>,\n          multiple, consecutive line comments are folded, and only the top-level\n          comment is shown. There is a small performance penalty for large\n          source files when this option and folding are enabled. The default is\n          <code>0</code>.</td>\n        </tr>\n\n        <tr>\n          <td><code>fold.on.zero.sum.lines</code></td>\n\n          <td>If <code>fold.on.zero.sum.lines</code> is set to <code>1</code>,\n          lines that contain both an ending and starting fold point are marked\n          as fold points. For example, the C line <code>} else {</code> would be\n          marked as a fold point. The default is <code>0</code>.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <h2>Using the LPeg Lexer</h2>\n\n    <p>Your application communicates with the LPeg lexer using Scintilla's\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_PRIVATELEXERCALL\"><code>SCI_PRIVATELEXERCALL</code></a>\n    API. The operation constants recognized by the LPeg lexer are based on\n    Scintilla's existing named constants. Note that some of the names of the\n    operations do not make perfect sense. This is a tradeoff in order to reuse\n    Scintilla's existing constants.</p>\n\n    <p>In the descriptions that follow,\n    <code>SCI_PRIVATELEXERCALL(int operation, void *pointer)</code> means you\n    would call Scintilla like\n    <code>SendScintilla(sci, SCI_PRIVATELEXERCALL, operation, pointer);</code></p>\n\n    <h3>Usage Example</h3>\n\n    <p>The curses platform demo, jinx, has a C-source example for using the LPeg\n    lexer. Additionally, here is a pseudo-code example:</p>\n\n    <pre><code>\n    init_app() {\n      sci = scintilla_new()\n    }\n\n    create_doc() {\n      doc = SendScintilla(sci, SCI_CREATEDOCUMENT, 0, 0)\n      SendScintilla(sci, SCI_SETDOCPOINTER, 0, doc)\n      SendScintilla(sci, SCI_SETLEXERLANGUAGE, 0, \"lpeg\")\n      home = \"/home/mitchell/app/lua_lexers\"\n      SendScintilla(sci, SCI_SETPROPERTY, \"lexer.lpeg.home\", home)\n      SendScintilla(sci, SCI_SETPROPERTY, \"lexer.lpeg.color.theme\", \"light\")\n      fn = SendScintilla(sci, SCI_GETDIRECTFUNCTION, 0, 0)\n      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETDIRECTFUNCTION, fn)\n      psci = SendScintilla(sci, SCI_GETDIRECTPOINTER, 0, 0)\n      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETDOCPOINTER, psci)\n      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETLEXERLANGUAGE, \"lua\")\n    }\n\n    set_lexer(lang) {\n      psci = SendScintilla(sci, SCI_GETDIRECTPOINTER, 0, 0)\n      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETDOCPOINTER, psci)\n      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETLEXERLANGUAGE, lang)\n    }\n    </code></pre>\n\n    <code><a class=\"message\" href=\"#SCI_CHANGELEXERSTATE\">SCI_PRIVATELEXERCALL(SCI_CHANGELEXERSTATE, lua_State *L)</a><br/>\n    <a class=\"message\" href=\"#SCI_GETDIRECTFUNCTION\">SCI_PRIVATELEXERCALL(SCI_GETDIRECTFUNCTION, int SciFnDirect)</a><br/>\n    <a class=\"message\" href=\"#SCI_GETLEXERLANGUAGE\">SCI_PRIVATELEXERCALL(SCI_GETLEXERLANGUAGE, char *languageName) &rarr; int</a><br/>\n    <a class=\"message\" href=\"#SCI_GETSTATUS\">SCI_PRIVATELEXERCALL(SCI_GETSTATUS, char *errorMessage) &rarr; int</a><br/>\n    <a class=\"message\" href=\"#styleNum\">SCI_PRIVATELEXERCALL(int styleNum, char *styleName) &rarr; int</a><br/>\n    <a class=\"message\" href=\"#SCI_SETDOCPOINTER\">SCI_PRIVATELEXERCALL(SCI_SETDOCPOINTER, int sci)</a><br/>\n    <a class=\"message\" href=\"#SCI_SETLEXERLANGUAGE\">SCI_PRIVATELEXERCALL(SCI_SETLEXERLANGUAGE, languageName)</a><br/>\n    </code>\n\n    <p><b id=\"SCI_CHANGELEXERSTATE\">SCI_PRIVATELEXERCALL(SCI_CHANGELEXERSTATE, lua_State *L)</b><br/>\n    Tells the LPeg lexer to use <code>L</code> as its Lua state instead of\n    creating a separate state.</p>\n\n    <p><code>L</code> must have already opened the \"base\", \"string\", \"table\",\n    \"package\", and \"lpeg\" libraries. If <code>L</code> is a Lua 5.1 state, it\n    must have also opened the \"io\" library.</p>\n\n    <p>The LPeg lexer will create a single <code>lexer</code> package (that can\n    be used with Lua's <code>require</code> function), as well as a number of\n    other variables in the <code>LUA_REGISTRYINDEX</code> table with the \"sci_\"\n    prefix.</p>\n\n    <p>Rather than including the path to Scintilla's Lua lexers in the\n    <code>package.path</code> of the given Lua state, set the \"lexer.lpeg.home\"\n    property instead. The LPeg lexer uses that property to find and load\n    lexers.</p>\n\n    <p>Usage:</p>\n\n    <pre><code>\n    lua = luaL_newstate()\n    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_CHANGELEXERSTATE, lua)\n    </code></pre>\n\n    <p><b id=\"SCI_GETDIRECTFUNCTION\">SCI_PRIVATELEXERCALL(SCI_GETDIRECTFUNCTION, SciFnDirect)</b><br/>\n    Tells the LPeg lexer the address of <code>SciFnDirect</code>, the function\n    that handles Scintilla  messages.</p>\n\n    <p>Despite the name <code>SCI_GETDIRECTFUNCTION</code>, it only notifies the\n    LPeg lexer what the value of <code>SciFnDirect</code> obtained from\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_GETDIRECTFUNCTION\"><code>SCI_GETDIRECTFUNCTION</code></a>\n    is. It does not return anything. Use this if you would like to have the LPeg\n    lexer set all Lua lexer styles automatically. This is useful for maintaining\n    a consistent color theme. Do not use this if your application maintains its\n    own color theme.</p>\n\n    <p>If you use this call, it <em>must</em> be made <em>once</em> for each\n    Scintilla document that was created using Scintilla's\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_CREATEDOCUMENT\"><code>SCI_CREATEDOCUMENT</code></a>.\n    You must also use the\n    <a class=\"message\" href=\"#SCI_SETDOCPOINTER\"><code>SCI_SETDOCPOINTER</code></a> LPeg lexer\n    API call.</p>\n\n    <p>Usage:</p>\n\n    <pre><code>\n    fn = SendScintilla(sci, SCI_GETDIRECTFUNCTION, 0, 0)\n    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETDIRECTFUNCTION, fn)\n    </code></pre>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SETDOCPOINTER\"><code>SCI_SETDOCPOINTER</code></a></p>\n\n    <p><b id=\"SCI_GETLEXERLANGUAGE\">SCI_PRIVATELEXERCALL(SCI_GETLEXERLANGUAGE, char *languageName) &rarr; int</b><br/>\n    Returns the length of the string name of the current Lua lexer or stores the\n    name into the given buffer. If the buffer is long enough, the name is\n    terminated by a <code>0</code> character.</p>\n\n    <p>For parent lexers with embedded children or child lexers embedded into\n    parents, the name is in \"lexer/current\" format, where \"lexer\" is the actual\n    lexer's name and \"current\" is the parent or child lexer at the current caret\n    position. In order for this to work, you must have called\n    <a class=\"message\" href=\"#SCI_GETDIRECTFUNCTION\"><code>SCI_GETDIRECTFUNCTION</code></a>\n    and\n    <a class=\"message\" href=\"#SCI_SETDOCPOINTER\"><code>SCI_SETDOCPOINTER</code></a>.</p>\n\n    <p><b id=\"SCI_GETSTATUS\">SCI_PRIVATELEXERCALL(SCI_GETSTATUS, char *errorMessage) &rarr; int</b><br/>\n    Returns the length of the error message of the LPeg lexer or Lua lexer error\n    that occurred (if any), or stores the error message into the given buffer.</p>\n\n    <p>If no error occurred, the returned message will be empty.</p>\n\n    <p>Since the LPeg lexer does not throw errors as they occur, errors can only\n    be handled passively. Note that the LPeg lexer does print all errors to\n    stderr.</p>\n\n    <p>Usage:</p>\n\n    <pre><code>\n    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETSTATUS, errmsg)\n    if (strlen(errmsg) &gt; 0) { /* handle error */ }\n    </code></pre>\n\n    <p><b id=\"SCI_PRIVATELEXERCALL\">SCI_PRIVATELEXERCALL(int styleNum, char *styleName) &rarr; int</b><br/>\n    Returns the length of the token name associated with the given style number\n    or stores the style name into the given buffer. If the buffer is long\n    enough, the string is terminated by a <code>0</code> character.</p>\n\n    <p>Usage:</p>\n\n    <pre><code>\n    style = SendScintilla(sci, SCI_GETSTYLEAT, pos, 0)\n    SendScintilla(sci, SCI_PRIVATELEXERCALL, style, token)\n    // token now contains the name of the style at pos\n    </code></pre>\n\n    <p><b id=\"SCI_SETDOCPOINTER\">SCI_PRIVATELEXERCALL(SCI_SETDOCPOINTER, int sci)</b><br/>\n    Tells the LPeg lexer the address of the Scintilla window (obtained via\n    Scintilla's\n    <a class=\"message\" href=\"ScintillaDoc.html#SCI_GETDIRECTPOINTER\"><code>SCI_GETDIRECTPOINTER</code></a>)\n    currently in use.</p>\n\n    <p>Despite the name <code>SCI_SETDOCPOINTER</code>, it has no relationship\n    to Scintilla documents.</p>\n\n    <p>Use this call only if you are using the\n    <a class=\"message\" href=\"#SCI_GETDIRECTFUNCTION\"><code>SCI_GETDIRECTFUNCTION</code></a>\n    LPeg lexer API call. It <em>must</em> be made <em>before</em> each call to\n    the <a class=\"message\" href=\"#SCI_SETLEXERLANGUAGE\"><code>SCI_SETLEXERLANGUAGE</code></a>\n    LPeg lexer API call.</p>\n\n    <p>Usage:</p>\n\n    <pre><code>\n    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETDOCPOINTER, sci)\n    </code></pre>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_GETDIRECTFUNCTION\"><code>SCI_GETDIRECTFUNCTION</code></a>,\n    <a class=\"message\" href=\"#SCI_SETLEXERLANGUAGE\"><code>SCI_SETLEXERLANGUAGE</code></a></p>\n\n    <p><b id=\"SCI_SETLEXERLANGUAGE\">SCI_PRIVATELEXERCALL(SCI_SETLEXERLANGUAGE, const char *languageName)</b><br/>\n    Sets the current Lua lexer to <code>languageName</code>.</p>\n\n    <p>If you are having the LPeg lexer set the Lua lexer styles automatically,\n    make sure you call the\n    <a class=\"message\" href=\"#SCI_SETDOCPOINTER\"><code>SCI_SETDOCPOINTER</code></a>\n    LPeg lexer API <em>first</em>.</p>\n\n    <p>Usage:</p>\n\n    <pre><code>\n    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETLEXERLANGUAGE, \"lua\")\n    </code></pre>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SETDOCPOINTER\"><code>SCI_SETDOCPOINTER</code></a></p>\n\n    <h2 id=\"lexer\">Writing Lua Lexers</h2>\n\n    <p>Lexers highlight the syntax of source code. Scintilla (the editing component\n    behind <a href=\"http://foicica.com/textadept\">Textadept</a>) traditionally uses static, compiled C++\n    lexers which are notoriously difficult to create and/or extend. On the other\n    hand, <a href=\"http://lua.org\">Lua</a> makes it easy to to rapidly create new lexers, extend existing\n    ones, and embed lexers within one another. Lua lexers tend to be more\n    readable than C++ lexers too.</p>\n\n    <p>Lexers are Parsing Expression Grammars, or PEGs, composed with the Lua\n    <a href=\"http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html\">LPeg library</a>. The following table comes from the LPeg documentation and\n    summarizes all you need to know about constructing basic LPeg patterns. This\n    module provides convenience functions for creating and working with other\n    more advanced patterns and concepts.</p>\n\n    <table class=\"standard\">\n    <thead>\n    <tr>\n    <th>Operator             </th>\n    <th> Description</th>\n    </tr>\n    </thead>\n    <tbody>\n    <tr>\n    <td><code>lpeg.P(string)</code>     </td>\n    <td> Matches <code>string</code> literally.</td>\n    </tr>\n    <tr>\n    <td><code>lpeg.P(</code><em><code>n</code></em><code>)</code>    </td>\n    <td> Matches exactly <em><code>n</code></em> characters.</td>\n    </tr>\n    <tr>\n    <td><code>lpeg.S(string)</code>     </td>\n    <td> Matches any character in set <code>string</code>.</td>\n    </tr>\n    <tr>\n    <td><code>lpeg.R(\"</code><em><code>xy</code></em><code>\")</code> </td>\n    <td> Matches any character between range <code>x</code> and <code>y</code>.</td>\n    </tr>\n    <tr>\n    <td><code>patt^</code><em><code>n</code></em>         </td>\n    <td> Matches at least <em><code>n</code></em> repetitions of <code>patt</code>.</td>\n    </tr>\n    <tr>\n    <td><code>patt^-</code><em><code>n</code></em>        </td>\n    <td> Matches at most <em><code>n</code></em> repetitions of <code>patt</code>.</td>\n    </tr>\n    <tr>\n    <td><code>patt1 * patt2</code>      </td>\n    <td> Matches <code>patt1</code> followed by <code>patt2</code>.</td>\n    </tr>\n    <tr>\n    <td><code>patt1 + patt2</code>      </td>\n    <td> Matches <code>patt1</code> or <code>patt2</code> (ordered choice).</td>\n    </tr>\n    <tr>\n    <td><code>patt1 - patt2</code>      </td>\n    <td> Matches <code>patt1</code> if <code>patt2</code> does not match.</td>\n    </tr>\n    <tr>\n    <td><code>-patt</code>              </td>\n    <td> Equivalent to <code>(\"\" - patt)</code>.</td>\n    </tr>\n    <tr>\n    <td><code>#patt</code>              </td>\n    <td> Matches <code>patt</code> but consumes no input.</td>\n    </tr>\n    </tbody>\n    </table>\n\n\n    <p>The first part of this document deals with rapidly constructing a simple\n    lexer. The next part deals with more advanced techniques, such as custom\n    coloring and embedding lexers within one another. Following that is a\n    discussion about code folding, or being able to tell Scintilla which code\n    blocks are \"foldable\" (temporarily hideable from view). After that are\n    instructions on how to use Lua lexers with the aforementioned Textadept\n    editor. Finally there are comments on lexer performance and limitations.</p>\n\n    <p><a id=\"lexer.Lexer.Basics\"></a></p>\n\n    <h3>Lexer Basics</h3>\n\n    <p>The <em>lexlua/</em> directory contains all lexers, including your new one. Before\n    attempting to write one from scratch though, first determine if your\n    programming language is similar to any of the 100+ languages supported. If\n    so, you may be able to copy and modify that lexer, saving some time and\n    effort. The filename of your lexer should be the name of your programming\n    language in lower case followed by a <em>.lua</em> extension. For example, a new Lua\n    lexer has the name <em>lua.lua</em>.</p>\n\n    <p>Note: Try to refrain from using one-character language names like \"c\", \"d\",\n    or \"r\". For example, Lua lexers for those languages are named \"ansi_c\", \"dmd\", and \"rstats\",\n    respectively.</p>\n\n    <p><a id=\"lexer.New.Lexer.Template\"></a></p>\n\n    <h4>New Lexer Template</h4>\n\n    <p>There is a <em>lexlua/template.txt</em> file that contains a simple template for a\n    new lexer. Feel free to use it, replacing the '?'s with the name of your\n    lexer. Consider this snippet from the template:</p>\n\n    <pre><code>\n    -- ? LPeg lexer.\n\n    local lexer = require('lexer')\n    local token, word_match = lexer.token, lexer.word_match\n    local P, R, S = lpeg.P, lpeg.R, lpeg.S\n\n    local lex = lexer.new('?')\n\n    -- Whitespace.\n    local ws = token(lexer.WHITESPACE, lexer.space^1)\n    lex:add_rule('whitespace', ws)\n\n    [...]\n\n    return lex\n    </code></pre>\n\n    <p>The first 3 lines of code simply define often used convenience variables. The\n    fourth and last lines <a href=\"#lexer.new\">define</a> and return the lexer object\n    Scintilla uses; they are very important and must be part of every lexer. The\n    fifth line defines something called a \"token\", an essential building block of\n    lexers. You will learn about tokens shortly. The sixth line defines a lexer\n    grammar rule, which you will learn about later, as well as token styles. (Be\n    aware that it is common practice to combine these two lines for short rules.)\n    Note, however, the <code>local</code> prefix in front of variables, which is needed\n    so-as not to affect Lua's global environment. All in all, this is a minimal,\n    working lexer that you can build on.</p>\n\n    <p><a id=\"lexer.Tokens\"></a></p>\n\n    <h4>Tokens</h4>\n\n    <p>Take a moment to think about your programming language's structure. What kind\n    of key elements does it have? In the template shown earlier, one predefined\n    element all languages have is whitespace. Your language probably also has\n    elements like comments, strings, and keywords. Lexers refer to these elements\n    as \"tokens\". Tokens are the fundamental \"building blocks\" of lexers. Lexers\n    break down source code into tokens for coloring, which results in the syntax\n    highlighting familiar to you. It is up to you how specific your lexer is when\n    it comes to tokens. Perhaps only distinguishing between keywords and\n    identifiers is necessary, or maybe recognizing constants and built-in\n    functions, methods, or libraries is desirable. The Lua lexer, for example,\n    defines 11 tokens: whitespace, keywords, built-in functions, constants,\n    built-in libraries, identifiers, strings, comments, numbers, labels, and\n    operators. Even though constants, built-in functions, and built-in libraries\n    are subsets of identifiers, Lua programmers find it helpful for the lexer to\n    distinguish between them all. It is perfectly acceptable to just recognize\n    keywords and identifiers.</p>\n\n    <p>In a lexer, tokens consist of a token name and an LPeg pattern that matches a\n    sequence of characters recognized as an instance of that token. Create tokens\n    using the <a href=\"#lexer.token\"><code>lexer.token()</code></a> function. Let us examine the \"whitespace\" token\n    defined in the template shown earlier:</p>\n\n    <pre><code>\n    local ws = token(lexer.WHITESPACE, lexer.space^1)\n    </code></pre>\n\n    <p>At first glance, the first argument does not appear to be a string name and\n    the second argument does not appear to be an LPeg pattern. Perhaps you\n    expected something like:</p>\n\n    <pre><code>\n    local ws = token('whitespace', S('\\t\\v\\f\\n\\r ')^1)\n    </code></pre>\n\n    <p>The <code>lexer</code> module actually provides a convenient list of common token names\n    and common LPeg patterns for you to use. Token names include\n    <a href=\"#lexer.DEFAULT\"><code>lexer.DEFAULT</code></a>, <a href=\"#lexer.WHITESPACE\"><code>lexer.WHITESPACE</code></a>, <a href=\"#lexer.COMMENT\"><code>lexer.COMMENT</code></a>,\n    <a href=\"#lexer.STRING\"><code>lexer.STRING</code></a>, <a href=\"#lexer.NUMBER\"><code>lexer.NUMBER</code></a>, <a href=\"#lexer.KEYWORD\"><code>lexer.KEYWORD</code></a>,\n    <a href=\"#lexer.IDENTIFIER\"><code>lexer.IDENTIFIER</code></a>, <a href=\"#lexer.OPERATOR\"><code>lexer.OPERATOR</code></a>, <a href=\"#lexer.ERROR\"><code>lexer.ERROR</code></a>,\n    <a href=\"#lexer.PREPROCESSOR\"><code>lexer.PREPROCESSOR</code></a>, <a href=\"#lexer.CONSTANT\"><code>lexer.CONSTANT</code></a>, <a href=\"#lexer.VARIABLE\"><code>lexer.VARIABLE</code></a>,\n    <a href=\"#lexer.FUNCTION\"><code>lexer.FUNCTION</code></a>, <a href=\"#lexer.CLASS\"><code>lexer.CLASS</code></a>, <a href=\"#lexer.TYPE\"><code>lexer.TYPE</code></a>, <a href=\"#lexer.LABEL\"><code>lexer.LABEL</code></a>,\n    <a href=\"#lexer.REGEX\"><code>lexer.REGEX</code></a>, and <a href=\"#lexer.EMBEDDED\"><code>lexer.EMBEDDED</code></a>. Patterns include\n    <a href=\"#lexer.any\"><code>lexer.any</code></a>, <a href=\"#lexer.ascii\"><code>lexer.ascii</code></a>, <a href=\"#lexer.extend\"><code>lexer.extend</code></a>, <a href=\"#lexer.alpha\"><code>lexer.alpha</code></a>,\n    <a href=\"#lexer.digit\"><code>lexer.digit</code></a>, <a href=\"#lexer.alnum\"><code>lexer.alnum</code></a>, <a href=\"#lexer.lower\"><code>lexer.lower</code></a>, <a href=\"#lexer.upper\"><code>lexer.upper</code></a>,\n    <a href=\"#lexer.xdigit\"><code>lexer.xdigit</code></a>, <a href=\"#lexer.cntrl\"><code>lexer.cntrl</code></a>, <a href=\"#lexer.graph\"><code>lexer.graph</code></a>, <a href=\"#lexer.print\"><code>lexer.print</code></a>,\n    <a href=\"#lexer.punct\"><code>lexer.punct</code></a>, <a href=\"#lexer.space\"><code>lexer.space</code></a>, <a href=\"#lexer.newline\"><code>lexer.newline</code></a>,\n    <a href=\"#lexer.nonnewline\"><code>lexer.nonnewline</code></a>, <a href=\"#lexer.nonnewline_esc\"><code>lexer.nonnewline_esc</code></a>, <a href=\"#lexer.dec_num\"><code>lexer.dec_num</code></a>,\n    <a href=\"#lexer.hex_num\"><code>lexer.hex_num</code></a>, <a href=\"#lexer.oct_num\"><code>lexer.oct_num</code></a>, <a href=\"#lexer.integer\"><code>lexer.integer</code></a>,\n    <a href=\"#lexer.float\"><code>lexer.float</code></a>, and <a href=\"#lexer.word\"><code>lexer.word</code></a>. You may use your own token names if\n    none of the above fit your language, but an advantage to using predefined\n    token names is that your lexer's tokens will inherit the universal syntax\n    highlighting color theme used by your text editor.</p>\n\n    <p><a id=\"lexer.Example.Tokens\"></a></p>\n\n    <h5>Example Tokens</h5>\n\n    <p>So, how might you define other tokens like keywords, comments, and strings?\n    Here are some examples.</p>\n\n    <p><strong>Keywords</strong></p>\n\n    <p>Instead of matching <em>n</em> keywords with <em>n</em> <code>P('keyword_</code><em><code>n</code></em><code>')</code> ordered\n    choices, use another convenience function: <a href=\"#lexer.word_match\"><code>lexer.word_match()</code></a>. It is\n    much easier and more efficient to write word matches like:</p>\n\n    <pre><code>\n    local keyword = token(lexer.KEYWORD, lexer.word_match[[\n      keyword_1 keyword_2 ... keyword_n\n    ]])\n\n    local case_insensitive_keyword = token(lexer.KEYWORD, lexer.word_match([[\n      KEYWORD_1 keyword_2 ... KEYword_n\n    ]], true))\n\n    local hyphened_keyword = token(lexer.KEYWORD, lexer.word_match[[\n      keyword-1 keyword-2 ... keyword-n\n    ]])\n    </code></pre>\n\n    <p>In order to more easily separate or categorize keyword sets, you can use Lua\n    line comments within keyword strings. Such comments will be ignored. For\n    example:</p>\n\n    <pre><code>\n    local keyword = token(lexer.KEYWORD, lexer.word_match[[\n      -- Version 1 keywords.\n      keyword_11, keyword_12 ... keyword_1n\n      -- Version 2 keywords.\n      keyword_21, keyword_22 ... keyword_2n\n      ...\n      -- Version N keywords.\n      keyword_m1, keyword_m2 ... keyword_mn\n    ]])\n    </code></pre>\n\n    <p><strong>Comments</strong></p>\n\n    <p>Line-style comments with a prefix character(s) are easy to express with LPeg:</p>\n\n    <pre><code>\n    local shell_comment = token(lexer.COMMENT, '#' * lexer.nonnewline^0)\n    local c_line_comment = token(lexer.COMMENT,\n                                 '//' * lexer.nonnewline_esc^0)\n    </code></pre>\n\n    <p>The comments above start with a '#' or \"//\" and go to the end of the line.\n    The second comment recognizes the next line also as a comment if the current\n    line ends with a '\\' escape character.</p>\n\n    <p>C-style \"block\" comments with a start and end delimiter are also easy to\n    express:</p>\n\n    <pre><code>\n    local c_comment = token(lexer.COMMENT,\n                            '/*' * (lexer.any - '*/')^0 * P('*/')^-1)\n    </code></pre>\n\n    <p>This comment starts with a \"/*\" sequence and contains anything up to and\n    including an ending \"*/\" sequence. The ending \"*/\" is optional so the lexer\n    can recognize unfinished comments as comments and highlight them properly.</p>\n\n    <p><strong>Strings</strong></p>\n\n    <p>It is tempting to think that a string is not much different from the block\n    comment shown above in that both have start and end delimiters:</p>\n\n    <pre><code>\n    local dq_str = '\"' * (lexer.any - '\"')^0 * P('\"')^-1\n    local sq_str = \"'\" * (lexer.any - \"'\")^0 * P(\"'\")^-1\n    local simple_string = token(lexer.STRING, dq_str + sq_str)\n    </code></pre>\n\n    <p>However, most programming languages allow escape sequences in strings such\n    that a sequence like \"\\&quot;\" in a double-quoted string indicates that the\n    '&quot;' is not the end of the string. The above token incorrectly matches\n    such a string. Instead, use the <a href=\"#lexer.delimited_range\"><code>lexer.delimited_range()</code></a> convenience\n    function.</p>\n\n    <pre><code>\n    local dq_str = lexer.delimited_range('\"')\n    local sq_str = lexer.delimited_range(\"'\")\n    local string = token(lexer.STRING, dq_str + sq_str)\n    </code></pre>\n\n    <p>In this case, the lexer treats '\\' as an escape character in a string\n    sequence.</p>\n\n    <p><strong>Numbers</strong></p>\n\n    <p>Most programming languages have the same format for integer and float tokens,\n    so it might be as simple as using a couple of predefined LPeg patterns:</p>\n\n    <pre><code>\n    local number = token(lexer.NUMBER, lexer.float + lexer.integer)\n    </code></pre>\n\n    <p>However, some languages allow postfix characters on integers.</p>\n\n    <pre><code>\n    local integer = P('-')^-1 * (lexer.dec_num * S('lL')^-1)\n    local number = token(lexer.NUMBER, lexer.float + lexer.hex_num + integer)\n    </code></pre>\n\n    <p>Your language may need other tweaks, but it is up to you how fine-grained you\n    want your highlighting to be. After all, you are not writing a compiler or\n    interpreter!</p>\n\n    <p><a id=\"lexer.Rules\"></a></p>\n\n    <h4>Rules</h4>\n\n    <p>Programming languages have grammars, which specify valid token structure. For\n    example, comments usually cannot appear within a string. Grammars consist of\n    rules, which are simply combinations of tokens. Recall from the lexer\n    template the <a href=\"#lexer.add_rule\"><code>lexer.add_rule()</code></a> call, which adds a rule to the lexer's\n    grammar:</p>\n\n    <pre><code>\n    lex:add_rule('whitespace', ws)\n    </code></pre>\n\n    <p>Each rule has an associated name, but rule names are completely arbitrary and\n    serve only to identify and distinguish between different rules. Rule order is\n    important: if text does not match the first rule added to the grammar, the\n    lexer tries to match the second rule added, and so on. Right now this lexer\n    simply matches whitespace tokens under a rule named \"whitespace\".</p>\n\n    <p>To illustrate the importance of rule order, here is an example of a\n    simplified Lua lexer:</p>\n\n    <pre><code>\n    lex:add_rule('whitespace', token(lexer.WHITESPACE, ...))\n    lex:add_rule('keyword', token(lexer.KEYWORD, ...))\n    lex:add_rule('identifier', token(lexer.IDENTIFIER, ...))\n    lex:add_rule('string', token(lexer.STRING, ...))\n    lex:add_rule('comment', token(lexer.COMMENT, ...))\n    lex:add_rule('number', token(lexer.NUMBER, ...))\n    lex:add_rule('label', token(lexer.LABEL, ...))\n    lex:add_rule('operator', token(lexer.OPERATOR, ...))\n    </code></pre>\n\n    <p>Note how identifiers come after keywords. In Lua, as with most programming\n    languages, the characters allowed in keywords and identifiers are in the same\n    set (alphanumerics plus underscores). If the lexer added the \"identifier\"\n    rule before the \"keyword\" rule, all keywords would match identifiers and thus\n    incorrectly highlight as identifiers instead of keywords. The same idea\n    applies to function, constant, etc. tokens that you may want to distinguish\n    between: their rules should come before identifiers.</p>\n\n    <p>So what about text that does not match any rules? For example in Lua, the '!'\n    character is meaningless outside a string or comment. Normally the lexer\n    skips over such text. If instead you want to highlight these \"syntax errors\",\n    add an additional end rule:</p>\n\n    <pre><code>\n    lex:add_rule('whitespace', ws)\n    ...\n    lex:add_rule('error', token(lexer.ERROR, lexer.any))\n    </code></pre>\n\n    <p>This identifies and highlights any character not matched by an existing\n    rule as a <code>lexer.ERROR</code> token.</p>\n\n    <p>Even though the rules defined in the examples above contain a single token,\n    rules may consist of multiple tokens. For example, a rule for an HTML tag\n    could consist of a tag token followed by an arbitrary number of attribute\n    tokens, allowing the lexer to highlight all tokens separately. That rule\n    might look something like this:</p>\n\n    <pre><code>\n    lex:add_rule('tag', tag_start * (ws * attributes)^0 * tag_end^-1)\n    </code></pre>\n\n    <p>Note however that lexers with complex rules like these are more prone to lose\n    track of their state, especially if they span multiple lines.</p>\n\n    <p><a id=\"lexer.Summary\"></a></p>\n\n    <h4>Summary</h4>\n\n    <p>Lexers primarily consist of tokens and grammar rules. At your disposal are a\n    number of convenience patterns and functions for rapidly creating a lexer. If\n    you choose to use predefined token names for your tokens, you do not have to\n    define how the lexer highlights them. The tokens will inherit the default\n    syntax highlighting color theme your editor uses.</p>\n\n    <p><a id=\"lexer.Advanced.Techniques\"></a></p>\n\n    <h3>Advanced Techniques</h3>\n\n    <p><a id=\"lexer.Styles.and.Styling\"></a></p>\n\n    <h4>Styles and Styling</h4>\n\n    <p>The most basic form of syntax highlighting is assigning different colors to\n    different tokens. Instead of highlighting with just colors, Scintilla allows\n    for more rich highlighting, or \"styling\", with different fonts, font sizes,\n    font attributes, and foreground and background colors, just to name a few.\n    The unit of this rich highlighting is called a \"style\". Styles are simply\n    strings of comma-separated property settings. By default, lexers associate\n    predefined token names like <code>lexer.WHITESPACE</code>, <code>lexer.COMMENT</code>,\n    <code>lexer.STRING</code>, etc. with particular styles as part of a universal color\n    theme. These predefined styles include <a href=\"#lexer.STYLE_CLASS\"><code>lexer.STYLE_CLASS</code></a>,\n    <a href=\"#lexer.STYLE_COMMENT\"><code>lexer.STYLE_COMMENT</code></a>, <a href=\"#lexer.STYLE_CONSTANT\"><code>lexer.STYLE_CONSTANT</code></a>,\n    <a href=\"#lexer.STYLE_ERROR\"><code>lexer.STYLE_ERROR</code></a>, <a href=\"#lexer.STYLE_EMBEDDED\"><code>lexer.STYLE_EMBEDDED</code></a>,\n    <a href=\"#lexer.STYLE_FUNCTION\"><code>lexer.STYLE_FUNCTION</code></a>, <a href=\"#lexer.STYLE_IDENTIFIER\"><code>lexer.STYLE_IDENTIFIER</code></a>,\n    <a href=\"#lexer.STYLE_KEYWORD\"><code>lexer.STYLE_KEYWORD</code></a>, <a href=\"#lexer.STYLE_LABEL\"><code>lexer.STYLE_LABEL</code></a>, <a href=\"#lexer.STYLE_NUMBER\"><code>lexer.STYLE_NUMBER</code></a>,\n    <a href=\"#lexer.STYLE_OPERATOR\"><code>lexer.STYLE_OPERATOR</code></a>, <a href=\"#lexer.STYLE_PREPROCESSOR\"><code>lexer.STYLE_PREPROCESSOR</code></a>,\n    <a href=\"#lexer.STYLE_REGEX\"><code>lexer.STYLE_REGEX</code></a>, <a href=\"#lexer.STYLE_STRING\"><code>lexer.STYLE_STRING</code></a>, <a href=\"#lexer.STYLE_TYPE\"><code>lexer.STYLE_TYPE</code></a>,\n    <a href=\"#lexer.STYLE_VARIABLE\"><code>lexer.STYLE_VARIABLE</code></a>, and <a href=\"#lexer.STYLE_WHITESPACE\"><code>lexer.STYLE_WHITESPACE</code></a>. Like with\n    predefined token names and LPeg patterns, you may define your own styles. At\n    their core, styles are just strings, so you may create new ones and/or modify\n    existing ones. Each style consists of the following comma-separated settings:</p>\n\n    <table class=\"standard\">\n    <thead>\n    <tr>\n    <th>Setting        </th>\n    <th> Description</th>\n    </tr>\n    </thead>\n    <tbody>\n    <tr>\n    <td>font:<em>name</em>    </td>\n    <td> The name of the font the style uses.</td>\n    </tr>\n    <tr>\n    <td>size:<em>int</em>     </td>\n    <td> The size of the font the style uses.</td>\n    </tr>\n    <tr>\n    <td>[not]bold      </td>\n    <td> Whether or not the font face is bold.</td>\n    </tr>\n    <tr>\n    <td>weight:<em>int</em>   </td>\n    <td> The weight or boldness of a font, between 1 and 999.</td>\n    </tr>\n    <tr>\n    <td>[not]italics   </td>\n    <td> Whether or not the font face is italic.</td>\n    </tr>\n    <tr>\n    <td>[not]underlined</td>\n    <td> Whether or not the font face is underlined.</td>\n    </tr>\n    <tr>\n    <td>fore:<em>color</em>   </td>\n    <td> The foreground color of the font face.</td>\n    </tr>\n    <tr>\n    <td>back:<em>color</em>   </td>\n    <td> The background color of the font face.</td>\n    </tr>\n    <tr>\n    <td>[not]eolfilled </td>\n    <td> Does the background color extend to the end of the line?</td>\n    </tr>\n    <tr>\n    <td>case:<em>char</em>    </td>\n    <td> The case of the font ('u': upper, 'l': lower, 'm': normal).</td>\n    </tr>\n    <tr>\n    <td>[not]visible   </td>\n    <td> Whether or not the text is visible.</td>\n    </tr>\n    <tr>\n    <td>[not]changeable</td>\n    <td> Whether the text is changeable or read-only.</td>\n    </tr>\n    </tbody>\n    </table>\n\n\n    <p>Specify font colors in either \"#RRGGBB\" format, \"0xBBGGRR\" format, or the\n    decimal equivalent of the latter. As with token names, LPeg patterns, and\n    styles, there is a set of predefined color names, but they vary depending on\n    the current color theme in use. Therefore, it is generally not a good idea to\n    manually define colors within styles in your lexer since they might not fit\n    into a user's chosen color theme. Try to refrain from even using predefined\n    colors in a style because that color may be theme-specific. Instead, the best\n    practice is to either use predefined styles or derive new color-agnostic\n    styles from predefined ones. For example, Lua \"longstring\" tokens use the\n    existing <code>lexer.STYLE_STRING</code> style instead of defining a new one.</p>\n\n    <p><a id=\"lexer.Example.Styles\"></a></p>\n\n    <h5>Example Styles</h5>\n\n    <p>Defining styles is pretty straightforward. An empty style that inherits the\n    default theme settings is simply an empty string:</p>\n\n    <pre><code>\n    local style_nothing = ''\n    </code></pre>\n\n    <p>A similar style but with a bold font face looks like this:</p>\n\n    <pre><code>\n    local style_bold = 'bold'\n    </code></pre>\n\n    <p>If you want the same style, but also with an italic font face, define the new\n    style in terms of the old one:</p>\n\n    <pre><code>\n    local style_bold_italic = style_bold..',italics'\n    </code></pre>\n\n    <p>This allows you to derive new styles from predefined ones without having to\n    rewrite them. This operation leaves the old style unchanged. Thus if you\n    had a \"static variable\" token whose style you wanted to base off of\n    <code>lexer.STYLE_VARIABLE</code>, it would probably look like:</p>\n\n    <pre><code>\n    local style_static_var = lexer.STYLE_VARIABLE..',italics'\n    </code></pre>\n\n    <p>The color theme files in the <em>lexlua/themes/</em> folder give more examples of\n    style definitions.</p>\n\n    <p><a id=\"lexer.Token.Styles\"></a></p>\n\n    <h4>Token Styles</h4>\n\n    <p>Lexers use the <a href=\"#lexer.add_style\"><code>lexer.add_style()</code></a> function to assign styles to\n    particular tokens. Recall the token definition and from the lexer template:</p>\n\n    <pre><code>\n    local ws = token(lexer.WHITESPACE, lexer.space^1)\n    lex:add_rule('whitespace', ws)\n    </code></pre>\n\n    <p>Why is a style not assigned to the <code>lexer.WHITESPACE</code> token? As mentioned\n    earlier, lexers automatically associate tokens that use predefined token\n    names with a particular style. Only tokens with custom token names need\n    manual style associations. As an example, consider a custom whitespace token:</p>\n\n    <pre><code>\n    local ws = token('custom_whitespace', lexer.space^1)\n    </code></pre>\n\n    <p>Assigning a style to this token looks like:</p>\n\n    <pre><code>\n    lex:add_style('custom_whitespace', lexer.STYLE_WHITESPACE)\n    </code></pre>\n\n    <p>Do not confuse token names with rule names. They are completely different\n    entities. In the example above, the lexer associates the \"custom_whitespace\"\n    token with the existing style for <code>lexer.WHITESPACE</code> tokens. If instead you\n    prefer to color the background of whitespace a shade of grey, it might look\n    like:</p>\n\n    <pre><code>\n    local custom_style = lexer.STYLE_WHITESPACE..',back:$(color.grey)'\n    lex:add_style('custom_whitespace', custom_style)\n    </code></pre>\n\n    <p>Notice that the lexer peforms Scintilla-style \"$()\" property expansion.\n    You may also use \"%()\". Remember to refrain from assigning specific colors in\n    styles, but in this case, all user color themes probably define the\n    \"color.grey\" property.</p>\n\n    <p><a id=\"lexer.Line.Lexers\"></a></p>\n\n    <h4>Line Lexers</h4>\n\n    <p>By default, lexers match the arbitrary chunks of text passed to them by\n    Scintilla. These chunks may be a full document, only the visible part of a\n    document, or even just portions of lines. Some lexers need to match whole\n    lines. For example, a lexer for the output of a file \"diff\" needs to know if\n    the line started with a '+' or '-' and then style the entire line\n    accordingly. To indicate that your lexer matches by line, create the lexer\n    with an extra parameter:</p>\n\n    <pre><code>\n    local lex = lexer.new('?', {lex_by_line = true})\n    </code></pre>\n\n    <p>Now the input text for the lexer is a single line at a time. Keep in mind\n    that line lexers do not have the ability to look ahead at subsequent lines.</p>\n\n    <p><a id=\"lexer.Embedded.Lexers\"></a></p>\n\n    <h4>Embedded Lexers</h4>\n\n    <p>Lexers embed within one another very easily, requiring minimal effort. In the\n    following sections, the lexer being embedded is called the \"child\" lexer and\n    the lexer a child is being embedded in is called the \"parent\". For example,\n    consider an HTML lexer and a CSS lexer. Either lexer stands alone for styling\n    their respective HTML and CSS files. However, CSS can be embedded inside\n    HTML. In this specific case, the CSS lexer is the \"child\" lexer with the HTML\n    lexer being the \"parent\". Now consider an HTML lexer and a PHP lexer. This\n    sounds a lot like the case with CSS, but there is a subtle difference: PHP\n    <em>embeds itself into</em> HTML while CSS is <em>embedded in</em> HTML. This fundamental\n    difference results in two types of embedded lexers: a parent lexer that\n    embeds other child lexers in it (like HTML embedding CSS), and a child lexer\n    that embeds itself into a parent lexer (like PHP embedding itself in HTML).</p>\n\n    <p><a id=\"lexer.Parent.Lexer\"></a></p>\n\n    <h5>Parent Lexer</h5>\n\n    <p>Before embedding a child lexer into a parent lexer, the parent lexer needs to\n    load the child lexer. This is done with the <a href=\"#lexer.load\"><code>lexer.load()</code></a> function. For\n    example, loading the CSS lexer within the HTML lexer looks like:</p>\n\n    <pre><code>\n    local css = lexer.load('css')\n    </code></pre>\n\n    <p>The next part of the embedding process is telling the parent lexer when to\n    switch over to the child lexer and when to switch back. The lexer refers to\n    these indications as the \"start rule\" and \"end rule\", respectively, and are\n    just LPeg patterns. Continuing with the HTML/CSS example, the transition from\n    HTML to CSS is when the lexer encounters a \"style\" tag with a \"type\"\n    attribute whose value is \"text/css\":</p>\n\n    <pre><code>\n    local css_tag = P('&lt;style') * P(function(input, index)\n      if input:find('^[^&gt;]+type=\"text/css\"', index) then\n        return index\n      end\n    end)\n    </code></pre>\n\n    <p>This pattern looks for the beginning of a \"style\" tag and searches its\n    attribute list for the text \"<code>type=\"text/css\"</code>\". (In this simplified example,\n    the Lua pattern does not consider whitespace between the '=' nor does it\n    consider that using single quotes is valid.) If there is a match, the\n    functional pattern returns a value instead of <code>nil</code>. In this case, the value\n    returned does not matter because we ultimately want to style the \"style\" tag\n    as an HTML tag, so the actual start rule looks like this:</p>\n\n    <pre><code>\n    local css_start_rule = #css_tag * tag\n    </code></pre>\n\n    <p>Now that the parent knows when to switch to the child, it needs to know when\n    to switch back. In the case of HTML/CSS, the switch back occurs when the\n    lexer encounters an ending \"style\" tag, though the lexer should still style\n    the tag as an HTML tag:</p>\n\n    <pre><code>\n    local css_end_rule = #P('&lt;/style&gt;') * tag\n    </code></pre>\n\n    <p>Once the parent loads the child lexer and defines the child's start and end\n    rules, it embeds the child with the <a href=\"#lexer.embed\"><code>lexer.embed()</code></a> function:</p>\n\n    <pre><code>\n    lex:embed(css, css_start_rule, css_end_rule)\n    </code></pre>\n\n    <p><a id=\"lexer.Child.Lexer\"></a></p>\n\n    <h5>Child Lexer</h5>\n\n    <p>The process for instructing a child lexer to embed itself into a parent is\n    very similar to embedding a child into a parent: first, load the parent lexer\n    into the child lexer with the <a href=\"#lexer.load\"><code>lexer.load()</code></a> function and then create\n    start and end rules for the child lexer. However, in this case, call\n    <a href=\"#lexer.embed\"><code>lexer.embed()</code></a> with switched arguments. For example, in the PHP lexer:</p>\n\n    <pre><code>\n    local html = lexer.load('html')\n    local php_start_rule = token('php_tag', '&lt;?php ')\n    local php_end_rule = token('php_tag', '?&gt;')\n    lex:add_style('php_tag', lexer.STYLE_EMBEDDED)\n    html:embed(lex, php_start_rule, php_end_rule)\n    </code></pre>\n\n    <p><a id=\"lexer.Lexers.with.Complex.State\"></a></p>\n\n    <h4>Lexers with Complex State</h4>\n\n    <p>A vast majority of lexers are not stateful and can operate on any chunk of\n    text in a document. However, there may be rare cases where a lexer does need\n    to keep track of some sort of persistent state. Rather than using <code>lpeg.P</code>\n    function patterns that set state variables, it is recommended to make use of\n    Scintilla's built-in, per-line state integers via <a href=\"#lexer.line_state\"><code>lexer.line_state</code></a>. It\n    was designed to accommodate up to 32 bit flags for tracking state.\n    <a href=\"#lexer.line_from_position\"><code>lexer.line_from_position()</code></a> will return the line for any position given\n    to an <code>lpeg.P</code> function pattern. (Any positions derived from that position\n    argument will also work.)</p>\n\n    <p>Writing stateful lexers is beyond the scope of this document.</p>\n\n    <p><a id=\"lexer.Code.Folding\"></a></p>\n\n    <h3>Code Folding</h3>\n\n    <p>When reading source code, it is occasionally helpful to temporarily hide\n    blocks of code like functions, classes, comments, etc. This is the concept of\n    \"folding\". In many Scintilla-based editors, such as Textadept, little indicators\n    in the editor margins appear next to code that can be folded at places called\n    \"fold points\". When the user clicks an indicator, the editor hides the code\n    associated with the indicator until the user clicks the indicator again. The\n    lexer specifies these fold points and what code exactly to fold.</p>\n\n    <p>The fold points for most languages occur on keywords or character sequences.\n    Examples of fold keywords are \"if\" and \"end\" in Lua and examples of fold\n    character sequences are '{', '}', \"/*\", and \"*/\" in C for code block and\n    comment delimiters, respectively. However, these fold points cannot occur\n    just anywhere. For example, lexers should not recognize fold keywords that\n    appear within strings or comments. The <a href=\"#lexer.add_fold_point\"><code>lexer.add_fold_point()</code></a> function\n    allows you to conveniently define fold points with such granularity. For\n    example, consider C:</p>\n\n    <pre><code>\n    lex:add_fold_point(lexer.OPERATOR, '{', '}')\n    lex:add_fold_point(lexer.COMMENT, '/*', '*/')\n    </code></pre>\n\n    <p>The first assignment states that any '{' or '}' that the lexer recognized as\n    an <code>lexer.OPERATOR</code> token is a fold point. Likewise, the second assignment\n    states that any \"/*\" or \"*/\" that the lexer recognizes as part of a\n    <code>lexer.COMMENT</code> token is a fold point. The lexer does not consider any\n    occurrences of these characters outside their defined tokens (such as in a\n    string) as fold points. How do you specify fold keywords? Here is an example\n    for Lua:</p>\n\n    <pre><code>\n    lex:add_fold_point(lexer.KEYWORD, 'if', 'end')\n    lex:add_fold_point(lexer.KEYWORD, 'do', 'end')\n    lex:add_fold_point(lexer.KEYWORD, 'function', 'end')\n    lex:add_fold_point(lexer.KEYWORD, 'repeat', 'until')\n    </code></pre>\n\n    <p>If your lexer has case-insensitive keywords as fold points, simply add a\n    <code>case_insensitive_fold_points = true</code> option to <a href=\"#lexer.new\"><code>lexer.new()</code></a>, and\n    specify keywords in lower case.</p>\n\n    <p>If your lexer needs to do some additional processing in order to determine if\n    a token is a fold point, pass a function that returns an integer to\n    <code>lex:add_fold_point()</code>. Returning <code>1</code> indicates the token is a beginning fold\n    point and returning <code>-1</code> indicates the token is an ending fold point.\n    Returning <code>0</code> indicates the token is not a fold point. For example:</p>\n\n    <pre><code>\n    local function fold_strange_token(text, pos, line, s, symbol)\n      if ... then\n        return 1 -- beginning fold point\n      elseif ... then\n        return -1 -- ending fold point\n      end\n      return 0\n    end\n\n    lex:add_fold_point('strange_token', '|', fold_strange_token)\n    </code></pre>\n\n    <p>Any time the lexer encounters a '|' that is a \"strange_token\", it calls the\n    <code>fold_strange_token</code> function to determine if '|' is a fold point. The lexer\n    calls these functions with the following arguments: the text to identify fold\n    points in, the beginning position of the current line in the text to fold,\n    the current line's text, the position in the current line the fold point text\n    starts at, and the fold point text itself.</p>\n\n    <p><a id=\"lexer.Fold.by.Indentation\"></a></p>\n\n    <h4>Fold by Indentation</h4>\n\n    <p>Some languages have significant whitespace and/or no delimiters that indicate\n    fold points. If your lexer falls into this category and you would like to\n    mark fold points based on changes in indentation, create the lexer with a\n    <code>fold_by_indentation = true</code> option:</p>\n\n    <pre><code>\n    local lex = lexer.new('?', {fold_by_indentation = true})\n    </code></pre>\n\n    <p><a id=\"lexer.Using.Lexers\"></a></p>\n\n    <h3>Using Lexers</h3>\n\n    <p><a id=\"lexer.Textadept\"></a></p>\n\n    <h4>Textadept</h4>\n\n    <p>Put your lexer in your <em>~/.textadept/lexers/</em> directory so you do not\n    overwrite it when upgrading Textadept. Also, lexers in this directory\n    override default lexers. Thus, Textadept loads a user <em>lua</em> lexer instead of\n    the default <em>lua</em> lexer. This is convenient for tweaking a default lexer to\n    your liking. Then add a <a href=\"https://foicica.com/textadept/api.html#textadept.file_types\">file type</a> for your lexer if necessary.</p>\n\n    <p><a id=\"lexer.Migrating.Legacy.Lexers\"></a></p>\n\n    <h3>Migrating Legacy Lexers</h3>\n\n    <p>Legacy lexers are of the form:</p>\n\n    <pre><code>\n    local l = require('lexer')\n    local token, word_match = l.token, l.word_match\n    local P, R, S = lpeg.P, lpeg.R, lpeg.S\n\n    local M = {_NAME = '?'}\n\n    [... token and pattern definitions ...]\n\n    M._rules = {\n      {'rule', pattern},\n      [...]\n    }\n\n    M._tokenstyles = {\n      'token' = 'style',\n      [...]\n    }\n\n    M._foldsymbols = {\n      _patterns = {...},\n      ['token'] = {['start'] = 1, ['end'] = -1},\n      [...]\n    }\n\n    return M\n    </code></pre>\n\n    <p>While such legacy lexers will be handled just fine without any\n    changes, it is recommended that you migrate yours. The migration process is\n    fairly straightforward:</p>\n\n    <ol>\n    <li>Replace all instances of <code>l</code> with <code>lexer</code>, as it's better practice and\n    results in less confusion.</li>\n    <li>Replace <code>local M = {_NAME = '?'}</code> with <code>local lex = lexer.new('?')</code>, where\n    <code>?</code> is the name of your legacy lexer. At the end of the lexer, change\n    <code>return M</code> to <code>return lex</code>.</li>\n    <li>Instead of defining rules towards the end of your lexer, define your rules\n    as you define your tokens and patterns using\n    <a href=\"#lexer.add_rule\"><code>lex:add_rule()</code></a>.</li>\n    <li>Similarly, any custom token names should have their styles immediately\n    defined using <a href=\"#lexer.add_style\"><code>lex:add_style()</code></a>.</li>\n    <li>Convert any table arguments passed to <a href=\"#lexer.word_match\"><code>lexer.word_match()</code></a> to a\n    space-separated string of words.</li>\n    <li>Replace any calls to <code>lexer.embed(M, child, ...)</code> and\n    <code>lexer.embed(parent, M, ...)</code> with\n    <a href=\"#lexer.embed\"><code>lex:embed</code></a><code>(child, ...)</code> and <code>parent:embed(lex, ...)</code>,\n    respectively.</li>\n    <li>Define fold points with simple calls to\n    <a href=\"#lexer.add_fold_point\"><code>lex:add_fold_point()</code></a>. No need to mess with Lua\n    patterns anymore.</li>\n    <li>Any legacy lexer options such as <code>M._FOLDBYINDENTATION</code>, <code>M._LEXBYLINE</code>,\n    <code>M._lexer</code>, etc. should be added as table options to <a href=\"#lexer.new\"><code>lexer.new()</code></a>.</li>\n    <li>Any external lexer rule fetching and/or modifications via <code>lexer._RULES</code>\n    should be changed to use <a href=\"#lexer.get_rule\"><code>lexer.get_rule()</code></a> and\n    <a href=\"#lexer.modify_rule\"><code>lexer.modify_rule()</code></a>.</li>\n    </ol>\n\n\n    <p>As an example, consider the following sample legacy lexer:</p>\n\n    <pre><code>\n    local l = require('lexer')\n    local token, word_match = l.token, l.word_match\n    local P, R, S = lpeg.P, lpeg.R, lpeg.S\n\n    local M = {_NAME = 'legacy'}\n\n    local ws = token(l.WHITESPACE, l.space^1)\n    local comment = token(l.COMMENT, '#' * l.nonnewline^0)\n    local string = token(l.STRING, l.delimited_range('\"'))\n    local number = token(l.NUMBER, l.float + l.integer)\n    local keyword = token(l.KEYWORD, word_match{'foo', 'bar', 'baz'})\n    local custom = token('custom', P('quux'))\n    local identifier = token(l.IDENTIFIER, l.word)\n    local operator = token(l.OPERATOR, S('+-*/%^=&lt;&gt;,.()[]{}'))\n\n    M._rules = {\n      {'whitespace', ws},\n      {'keyword', keyword},\n      {'custom', custom},\n      {'identifier', identifier},\n      {'string', string},\n      {'comment', comment},\n      {'number', number},\n      {'operator', operator}\n    }\n\n    M._tokenstyles = {\n      'custom' = l.STYLE_KEYWORD..',bold'\n    }\n\n    M._foldsymbols = {\n      _patterns = {'[{}]'},\n      [l.OPERATOR] = {['{'] = 1, ['}'] = -1}\n    }\n\n    return M\n    </code></pre>\n\n    <p>Following the migration steps would yield:</p>\n\n    <pre><code>\n    local lexer = require('lexer')\n    local token, word_match = lexer.token, lexer.word_match\n    local P, R, S = lpeg.P, lpeg.R, lpeg.S\n\n    local lex = lexer.new('legacy')\n\n    lex:add_rule('whitespace', token(lexer.WHITESPACE, lexer.space^1))\n    lex:add_rule('keyword', token(lexer.KEYWORD, word_match[[foo bar baz]]))\n    lex:add_rule('custom', token('custom', P('quux')))\n    lex:add_style('custom', lexer.STYLE_KEYWORD..',bold')\n    lex:add_rule('identifier', token(lexer.IDENTIFIER, lexer.word))\n    lex:add_rule('string', token(lexer.STRING, lexer.delimited_range('\"')))\n    lex:add_rule('comment', token(lexer.COMMENT, '#' * lexer.nonnewline^0))\n    lex:add_rule('number', token(lexer.NUMBER, lexer.float + lexer.integer))\n    lex:add_rule('operator', token(lexer.OPERATOR, S('+-*/%^=&lt;&gt;,.()[]{}')))\n\n    lex:add_fold_point(lexer.OPERATOR, '{', '}')\n\n    return lex\n    </code></pre>\n\n    <p><a id=\"lexer.Considerations\"></a></p>\n\n    <h3>Considerations</h3>\n\n    <p><a id=\"lexer.Performance\"></a></p>\n\n    <h4>Performance</h4>\n\n    <p>There might be some slight overhead when initializing a lexer, but loading a\n    file from disk into Scintilla is usually more expensive. On modern computer\n    systems, I see no difference in speed between Lua lexers and Scintilla's C++\n    ones. Optimize lexers for speed by re-arranging <code>lexer.add_rule()</code> calls so\n    that the most common rules match first. Do keep in mind that order matters\n    for similar rules.</p>\n\n    <p>In some cases, folding may be far more expensive than lexing, particularly\n    in lexers with a lot of potential fold points. If your lexer is exhibiting\n    signs of slowness, try disabling folding your text editor first. If that\n    speeds things up, you can try reducing the number of fold points you added,\n    overriding <code>lexer.fold()</code> with your own implementation, or simply eliminating\n    folding support from your lexer.</p>\n\n    <p><a id=\"lexer.Limitations\"></a></p>\n\n    <h4>Limitations</h4>\n\n    <p>Embedded preprocessor languages like PHP cannot completely embed in their\n    parent languages in that the parent's tokens do not support start and end\n    rules. This mostly goes unnoticed, but code like</p>\n\n    <pre><code>\n    &lt;div id=\"&lt;?php echo $id; ?&gt;\"&gt;\n    </code></pre>\n\n    <p>will not style correctly.</p>\n\n    <p><a id=\"lexer.Troubleshooting\"></a></p>\n\n    <h4>Troubleshooting</h4>\n\n    <p>Errors in lexers can be tricky to debug. Lexers print Lua errors to\n    <code>io.stderr</code> and <code>_G.print()</code> statements to <code>io.stdout</code>. Running your editor\n    from a terminal is the easiest way to see errors as they occur.</p>\n\n    <p><a id=\"lexer.Risks\"></a></p>\n\n    <h4>Risks</h4>\n\n    <p>Poorly written lexers have the ability to crash Scintilla (and thus its\n    containing application), so unsaved data might be lost. However, I have only\n    observed these crashes in early lexer development, when syntax errors or\n    pattern errors are present. Once the lexer actually starts styling text\n    (either correctly or incorrectly, it does not matter), I have not observed\n    any crashes.</p>\n\n    <p><a id=\"lexer.Acknowledgements\"></a></p>\n\n    <h4>Acknowledgements</h4>\n\n    <p>Thanks to Peter Odding for his <a href=\"http://lua-users.org/lists/lua-l/2007-04/msg00116.html\">lexer post</a> on the Lua mailing list\n    that inspired me, and thanks to Roberto Ierusalimschy for LPeg.</p>\n\n    <h2>Lua <code>lexer</code> module API fields</h2>\n\n    <p><a id=\"lexer.CLASS\"></a></p>\n\n    <h3><code>lexer.CLASS</code> (string)</h3>\n\n    <p>The token name for class tokens.</p>\n\n    <p><a id=\"lexer.COMMENT\"></a></p>\n\n    <h3><code>lexer.COMMENT</code> (string)</h3>\n\n    <p>The token name for comment tokens.</p>\n\n    <p><a id=\"lexer.CONSTANT\"></a></p>\n\n    <h3><code>lexer.CONSTANT</code> (string)</h3>\n\n    <p>The token name for constant tokens.</p>\n\n    <p><a id=\"lexer.DEFAULT\"></a></p>\n\n    <h3><code>lexer.DEFAULT</code> (string)</h3>\n\n    <p>The token name for default tokens.</p>\n\n    <p><a id=\"lexer.ERROR\"></a></p>\n\n    <h3><code>lexer.ERROR</code> (string)</h3>\n\n    <p>The token name for error tokens.</p>\n\n    <p><a id=\"lexer.FOLD_BASE\"></a></p>\n\n    <h3><code>lexer.FOLD_BASE</code> (number)</h3>\n\n    <p>The initial (root) fold level.</p>\n\n    <p><a id=\"lexer.FOLD_BLANK\"></a></p>\n\n    <h3><code>lexer.FOLD_BLANK</code> (number)</h3>\n\n    <p>Flag indicating that the line is blank.</p>\n\n    <p><a id=\"lexer.FOLD_HEADER\"></a></p>\n\n    <h3><code>lexer.FOLD_HEADER</code> (number)</h3>\n\n    <p>Flag indicating the line is fold point.</p>\n\n    <p><a id=\"lexer.FUNCTION\"></a></p>\n\n    <h3><code>lexer.FUNCTION</code> (string)</h3>\n\n    <p>The token name for function tokens.</p>\n\n    <p><a id=\"lexer.IDENTIFIER\"></a></p>\n\n    <h3><code>lexer.IDENTIFIER</code> (string)</h3>\n\n    <p>The token name for identifier tokens.</p>\n\n    <p><a id=\"lexer.KEYWORD\"></a></p>\n\n    <h3><code>lexer.KEYWORD</code> (string)</h3>\n\n    <p>The token name for keyword tokens.</p>\n\n    <p><a id=\"lexer.LABEL\"></a></p>\n\n    <h3><code>lexer.LABEL</code> (string)</h3>\n\n    <p>The token name for label tokens.</p>\n\n    <p><a id=\"lexer.NUMBER\"></a></p>\n\n    <h3><code>lexer.NUMBER</code> (string)</h3>\n\n    <p>The token name for number tokens.</p>\n\n    <p><a id=\"lexer.OPERATOR\"></a></p>\n\n    <h3><code>lexer.OPERATOR</code> (string)</h3>\n\n    <p>The token name for operator tokens.</p>\n\n    <p><a id=\"lexer.PREPROCESSOR\"></a></p>\n\n    <h3><code>lexer.PREPROCESSOR</code> (string)</h3>\n\n    <p>The token name for preprocessor tokens.</p>\n\n    <p><a id=\"lexer.REGEX\"></a></p>\n\n    <h3><code>lexer.REGEX</code> (string)</h3>\n\n    <p>The token name for regex tokens.</p>\n\n    <p><a id=\"lexer.STRING\"></a></p>\n\n    <h3><code>lexer.STRING</code> (string)</h3>\n\n    <p>The token name for string tokens.</p>\n\n    <p><a id=\"lexer.STYLE_BRACEBAD\"></a></p>\n\n    <h3><code>lexer.STYLE_BRACEBAD</code> (string)</h3>\n\n    <p>The style used for unmatched brace characters.</p>\n\n    <p><a id=\"lexer.STYLE_BRACELIGHT\"></a></p>\n\n    <h3><code>lexer.STYLE_BRACELIGHT</code> (string)</h3>\n\n    <p>The style used for highlighted brace characters.</p>\n\n    <p><a id=\"lexer.STYLE_CALLTIP\"></a></p>\n\n    <h3><code>lexer.STYLE_CALLTIP</code> (string)</h3>\n\n    <p>The style used by call tips if <a href=\"#buffer.call_tip_use_style\"><code>buffer.call_tip_use_style</code></a> is set.\n      Only the font name, size, and color attributes are used.</p>\n\n    <p><a id=\"lexer.STYLE_CLASS\"></a></p>\n\n    <h3><code>lexer.STYLE_CLASS</code> (string)</h3>\n\n    <p>The style typically used for class definitions.</p>\n\n    <p><a id=\"lexer.STYLE_COMMENT\"></a></p>\n\n    <h3><code>lexer.STYLE_COMMENT</code> (string)</h3>\n\n    <p>The style typically used for code comments.</p>\n\n    <p><a id=\"lexer.STYLE_CONSTANT\"></a></p>\n\n    <h3><code>lexer.STYLE_CONSTANT</code> (string)</h3>\n\n    <p>The style typically used for constants.</p>\n\n    <p><a id=\"lexer.STYLE_CONTROLCHAR\"></a></p>\n\n    <h3><code>lexer.STYLE_CONTROLCHAR</code> (string)</h3>\n\n    <p>The style used for control characters.\n      Color attributes are ignored.</p>\n\n    <p><a id=\"lexer.STYLE_DEFAULT\"></a></p>\n\n    <h3><code>lexer.STYLE_DEFAULT</code> (string)</h3>\n\n    <p>The style all styles are based off of.</p>\n\n    <p><a id=\"lexer.STYLE_EMBEDDED\"></a></p>\n\n    <h3><code>lexer.STYLE_EMBEDDED</code> (string)</h3>\n\n    <p>The style typically used for embedded code.</p>\n\n    <p><a id=\"lexer.STYLE_ERROR\"></a></p>\n\n    <h3><code>lexer.STYLE_ERROR</code> (string)</h3>\n\n    <p>The style typically used for erroneous syntax.</p>\n\n    <p><a id=\"lexer.STYLE_FOLDDISPLAYTEXT\"></a></p>\n\n    <h3><code>lexer.STYLE_FOLDDISPLAYTEXT</code> (string)</h3>\n\n    <p>The style used for fold display text.</p>\n\n    <p><a id=\"lexer.STYLE_FUNCTION\"></a></p>\n\n    <h3><code>lexer.STYLE_FUNCTION</code> (string)</h3>\n\n    <p>The style typically used for function definitions.</p>\n\n    <p><a id=\"lexer.STYLE_IDENTIFIER\"></a></p>\n\n    <h3><code>lexer.STYLE_IDENTIFIER</code> (string)</h3>\n\n    <p>The style typically used for identifier words.</p>\n\n    <p><a id=\"lexer.STYLE_INDENTGUIDE\"></a></p>\n\n    <h3><code>lexer.STYLE_INDENTGUIDE</code> (string)</h3>\n\n    <p>The style used for indentation guides.</p>\n\n    <p><a id=\"lexer.STYLE_KEYWORD\"></a></p>\n\n    <h3><code>lexer.STYLE_KEYWORD</code> (string)</h3>\n\n    <p>The style typically used for language keywords.</p>\n\n    <p><a id=\"lexer.STYLE_LABEL\"></a></p>\n\n    <h3><code>lexer.STYLE_LABEL</code> (string)</h3>\n\n    <p>The style typically used for labels.</p>\n\n    <p><a id=\"lexer.STYLE_LINENUMBER\"></a></p>\n\n    <h3><code>lexer.STYLE_LINENUMBER</code> (string)</h3>\n\n    <p>The style used for all margins except fold margins.</p>\n\n    <p><a id=\"lexer.STYLE_NUMBER\"></a></p>\n\n    <h3><code>lexer.STYLE_NUMBER</code> (string)</h3>\n\n    <p>The style typically used for numbers.</p>\n\n    <p><a id=\"lexer.STYLE_OPERATOR\"></a></p>\n\n    <h3><code>lexer.STYLE_OPERATOR</code> (string)</h3>\n\n    <p>The style typically used for operators.</p>\n\n    <p><a id=\"lexer.STYLE_PREPROCESSOR\"></a></p>\n\n    <h3><code>lexer.STYLE_PREPROCESSOR</code> (string)</h3>\n\n    <p>The style typically used for preprocessor statements.</p>\n\n    <p><a id=\"lexer.STYLE_REGEX\"></a></p>\n\n    <h3><code>lexer.STYLE_REGEX</code> (string)</h3>\n\n    <p>The style typically used for regular expression strings.</p>\n\n    <p><a id=\"lexer.STYLE_STRING\"></a></p>\n\n    <h3><code>lexer.STYLE_STRING</code> (string)</h3>\n\n    <p>The style typically used for strings.</p>\n\n    <p><a id=\"lexer.STYLE_TYPE\"></a></p>\n\n    <h3><code>lexer.STYLE_TYPE</code> (string)</h3>\n\n    <p>The style typically used for static types.</p>\n\n    <p><a id=\"lexer.STYLE_VARIABLE\"></a></p>\n\n    <h3><code>lexer.STYLE_VARIABLE</code> (string)</h3>\n\n    <p>The style typically used for variables.</p>\n\n    <p><a id=\"lexer.STYLE_WHITESPACE\"></a></p>\n\n    <h3><code>lexer.STYLE_WHITESPACE</code> (string)</h3>\n\n    <p>The style typically used for whitespace.</p>\n\n    <p><a id=\"lexer.TYPE\"></a></p>\n\n    <h3><code>lexer.TYPE</code> (string)</h3>\n\n    <p>The token name for type tokens.</p>\n\n    <p><a id=\"lexer.VARIABLE\"></a></p>\n\n    <h3><code>lexer.VARIABLE</code> (string)</h3>\n\n    <p>The token name for variable tokens.</p>\n\n    <p><a id=\"lexer.WHITESPACE\"></a></p>\n\n    <h3><code>lexer.WHITESPACE</code> (string)</h3>\n\n    <p>The token name for whitespace tokens.</p>\n\n    <p><a id=\"lexer.alnum\"></a></p>\n\n    <h3><code>lexer.alnum</code> (pattern)</h3>\n\n    <p>A pattern that matches any alphanumeric character ('A'-'Z', 'a'-'z',\n        '0'-'9').</p>\n\n    <p><a id=\"lexer.alpha\"></a></p>\n\n    <h3><code>lexer.alpha</code> (pattern)</h3>\n\n    <p>A pattern that matches any alphabetic character ('A'-'Z', 'a'-'z').</p>\n\n    <p><a id=\"lexer.any\"></a></p>\n\n    <h3><code>lexer.any</code> (pattern)</h3>\n\n    <p>A pattern that matches any single character.</p>\n\n    <p><a id=\"lexer.ascii\"></a></p>\n\n    <h3><code>lexer.ascii</code> (pattern)</h3>\n\n    <p>A pattern that matches any ASCII character (codes 0 to 127).</p>\n\n    <p><a id=\"lexer.cntrl\"></a></p>\n\n    <h3><code>lexer.cntrl</code> (pattern)</h3>\n\n    <p>A pattern that matches any control character (ASCII codes 0 to 31).</p>\n\n    <p><a id=\"lexer.dec_num\"></a></p>\n\n    <h3><code>lexer.dec_num</code> (pattern)</h3>\n\n    <p>A pattern that matches a decimal number.</p>\n\n    <p><a id=\"lexer.digit\"></a></p>\n\n    <h3><code>lexer.digit</code> (pattern)</h3>\n\n    <p>A pattern that matches any digit ('0'-'9').</p>\n\n    <p><a id=\"lexer.extend\"></a></p>\n\n    <h3><code>lexer.extend</code> (pattern)</h3>\n\n    <p>A pattern that matches any ASCII extended character (codes 0 to 255).</p>\n\n    <p><a id=\"lexer.float\"></a></p>\n\n    <h3><code>lexer.float</code> (pattern)</h3>\n\n    <p>A pattern that matches a floating point number.</p>\n\n    <p><a id=\"lexer.fold_level\"></a></p>\n\n    <h3><code>lexer.fold_level</code> (table, Read-only)</h3>\n\n    <p>Table of fold level bit-masks for line numbers starting from zero.\n      Fold level masks are composed of an integer level combined with any of the\n      following bits:</p>\n\n    <ul>\n    <li><code>lexer.FOLD_BASE</code>\n    The initial fold level.</li>\n    <li><code>lexer.FOLD_BLANK</code>\n    The line is blank.</li>\n    <li><code>lexer.FOLD_HEADER</code>\n    The line is a header, or fold point.</li>\n    </ul>\n\n\n    <p><a id=\"lexer.graph\"></a></p>\n\n    <h3><code>lexer.graph</code> (pattern)</h3>\n\n    <p>A pattern that matches any graphical character ('!' to '~').</p>\n\n    <p><a id=\"lexer.hex_num\"></a></p>\n\n    <h3><code>lexer.hex_num</code> (pattern)</h3>\n\n    <p>A pattern that matches a hexadecimal number.</p>\n\n    <p><a id=\"lexer.indent_amount\"></a></p>\n\n    <h3><code>lexer.indent_amount</code> (table, Read-only)</h3>\n\n    <p>Table of indentation amounts in character columns, for line numbers\n      starting from zero.</p>\n\n    <p><a id=\"lexer.integer\"></a></p>\n\n    <h3><code>lexer.integer</code> (pattern)</h3>\n\n    <p>A pattern that matches either a decimal, hexadecimal, or octal number.</p>\n\n    <p><a id=\"lexer.line_state\"></a></p>\n\n    <h3><code>lexer.line_state</code> (table)</h3>\n\n    <p>Table of integer line states for line numbers starting from zero.\n      Line states can be used by lexers for keeping track of persistent states.</p>\n\n    <p><a id=\"lexer.lower\"></a></p>\n\n    <h3><code>lexer.lower</code> (pattern)</h3>\n\n    <p>A pattern that matches any lower case character ('a'-'z').</p>\n\n    <p><a id=\"lexer.newline\"></a></p>\n\n    <h3><code>lexer.newline</code> (pattern)</h3>\n\n    <p>A pattern that matches any set of end of line characters.</p>\n\n    <p><a id=\"lexer.nonnewline\"></a></p>\n\n    <h3><code>lexer.nonnewline</code> (pattern)</h3>\n\n    <p>A pattern that matches any single, non-newline character.</p>\n\n    <p><a id=\"lexer.nonnewline_esc\"></a></p>\n\n    <h3><code>lexer.nonnewline_esc</code> (pattern)</h3>\n\n    <p>A pattern that matches any single, non-newline character or any set of end\n      of line characters escaped with '\\'.</p>\n\n    <p><a id=\"lexer.oct_num\"></a></p>\n\n    <h3><code>lexer.oct_num</code> (pattern)</h3>\n\n    <p>A pattern that matches an octal number.</p>\n\n    <p><a id=\"lexer.path\"></a></p>\n\n    <h3><code>lexer.path</code> (string)</h3>\n\n    <p>The path used to search for a lexer to load.\n      Identical in format to Lua's <code>package.path</code> string.\n      The default value is <code>package.path</code>.</p>\n\n    <p><a id=\"lexer.print\"></a></p>\n\n    <h3><code>lexer.print</code> (pattern)</h3>\n\n    <p>A pattern that matches any printable character (' ' to '~').</p>\n\n    <p><a id=\"lexer.property\"></a></p>\n\n    <h3><code>lexer.property</code> (table)</h3>\n\n    <p>Map of key-value string pairs.</p>\n\n    <p><a id=\"lexer.property_expanded\"></a></p>\n\n    <h3><code>lexer.property_expanded</code> (table, Read-only)</h3>\n\n    <p>Map of key-value string pairs with <code>$()</code> and <code>%()</code> variable replacement\n      performed in values.</p>\n\n    <p><a id=\"lexer.property_int\"></a></p>\n\n    <h3><code>lexer.property_int</code> (table, Read-only)</h3>\n\n    <p>Map of key-value pairs with values interpreted as numbers, or <code>0</code> if not\n      found.</p>\n\n    <p><a id=\"lexer.punct\"></a></p>\n\n    <h3><code>lexer.punct</code> (pattern)</h3>\n\n    <p>A pattern that matches any punctuation character ('!' to '/', ':' to '@',\n      '[' to ''', '{' to '~').</p>\n\n    <p><a id=\"lexer.space\"></a></p>\n\n    <h3><code>lexer.space</code> (pattern)</h3>\n\n    <p>A pattern that matches any whitespace character ('\\t', '\\v', '\\f', '\\n',\n      '\\r', space).</p>\n\n    <p><a id=\"lexer.style_at\"></a></p>\n\n    <h3><code>lexer.style_at</code> (table, Read-only)</h3>\n\n    <p>Table of style names at positions in the buffer starting from 1.</p>\n\n    <p><a id=\"lexer.upper\"></a></p>\n\n    <h3><code>lexer.upper</code> (pattern)</h3>\n\n    <p>A pattern that matches any upper case character ('A'-'Z').</p>\n\n    <p><a id=\"lexer.word\"></a></p>\n\n    <h3><code>lexer.word</code> (pattern)</h3>\n\n    <p>A pattern that matches a typical word. Words begin with a letter or\n      underscore and consist of alphanumeric and underscore characters.</p>\n\n    <p><a id=\"lexer.xdigit\"></a></p>\n\n    <h3><code>lexer.xdigit</code> (pattern)</h3>\n\n    <p>A pattern that matches any hexadecimal digit ('0'-'9', 'A'-'F', 'a'-'f').</p>\n\n    <h2>Lua <code>lexer</code> module API functions</h2>\n\n    <p><a id=\"lexer.add_fold_point\"></a></p>\n\n    <h3><code>lexer.add_fold_point</code> (lexer, token_name, start_symbol, end_symbol)</h3>\n\n    <p>Adds to lexer <em>lexer</em> a fold point whose beginning and end tokens are string\n    <em>token_name</em> tokens with string content <em>start_symbol</em> and <em>end_symbol</em>,\n    respectively.\n    In the event that <em>start_symbol</em> may or may not be a fold point depending on\n    context, and that additional processing is required, <em>end_symbol</em> may be a\n    function that ultimately returns <code>1</code> (indicating a beginning fold point),\n    <code>-1</code> (indicating an ending fold point), or <code>0</code> (indicating no fold point).\n    That function is passed the following arguments:</p>\n\n    <ul>\n    <li><code>text</code>: The text being processed for fold points.</li>\n    <li><code>pos</code>: The position in <em>text</em> of the beginning of the line currently\n    being processed.</li>\n    <li><code>line</code>: The text of the line currently being processed.</li>\n    <li><code>s</code>: The position of <em>start_symbol</em> in <em>line</em>.</li>\n    <li><code>symbol</code>: <em>start_symbol</em> itself.</li>\n    </ul>\n\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to add a fold point to.</li>\n    <li><code>token_name</code>: The token name of text that indicates a fold point.</li>\n    <li><code>start_symbol</code>: The text that indicates the beginning of a fold point.</li>\n    <li><code>end_symbol</code>: Either the text that indicates the end of a fold point, or\n    a function that returns whether or not <em>start_symbol</em> is a beginning fold\n    point (1), an ending fold point (-1), or not a fold point at all (0).</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>lex:add_fold_point(lexer.OPERATOR, '{', '}')</code></li>\n    <li><code>lex:add_fold_point(lexer.KEYWORD, 'if', 'end')</code></li>\n    <li><code>lex:add_fold_point(lexer.COMMENT, '#', lexer.fold_line_comments('#'))</code></li>\n    <li><code>lex:add_fold_point('custom', function(text, pos, line, s, symbol)\n    ... end)</code></li>\n    </ul>\n\n\n    <p><a id=\"lexer.add_rule\"></a></p>\n\n    <h3><code>lexer.add_rule</code> (lexer, id, rule)</h3>\n\n    <p>Adds pattern <em>rule</em> identified by string <em>id</em> to the ordered list of rules\n    for lexer <em>lexer</em>.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to add the given rule to.</li>\n    <li><code>id</code>: The id associated with this rule. It does not have to be the same\n    as the name passed to <code>token()</code>.</li>\n    <li><code>rule</code>: The LPeg pattern of the rule.</li>\n    </ul>\n\n\n    <p>See also:</p>\n\n    <ul>\n    <li><a href=\"#lexer.modify_rule\"><code>lexer.modify_rule</code></a></li>\n    </ul>\n\n\n    <p><a id=\"lexer.add_style\"></a></p>\n\n    <h3><code>lexer.add_style</code> (lexer, token_name, style)</h3>\n\n    <p>Associates string <em>token_name</em> in lexer <em>lexer</em> with Scintilla style string\n    <em>style</em>.\n    Style strings are comma-separated property settings. Available property\n    settings are:</p>\n\n    <ul>\n    <li><code>font:name</code>: Font name.</li>\n    <li><code>size:int</code>: Font size.</li>\n    <li><code>bold</code> or <code>notbold</code>: Whether or not the font face is bold.</li>\n    <li><code>weight:int</code>: Font weight (between 1 and 999).</li>\n    <li><code>italics</code> or <code>notitalics</code>: Whether or not the font face is italic.</li>\n    <li><code>underlined</code> or <code>notunderlined</code>: Whether or not the font face is\n    underlined.</li>\n    <li><code>fore:color</code>: Font face foreground color in \"#RRGGBB\" or 0xBBGGRR format.</li>\n    <li><code>back:color</code>: Font face background color in \"#RRGGBB\" or 0xBBGGRR format.</li>\n    <li><code>eolfilled</code> or <code>noteolfilled</code>: Whether or not the background color\n    extends to the end of the line.</li>\n    <li><code>case:char</code>: Font case ('u' for uppercase, 'l' for lowercase, and 'm' for\n    mixed case).</li>\n    <li><code>visible</code> or <code>notvisible</code>: Whether or not the text is visible.</li>\n    <li><code>changeable</code> or <code>notchangeable</code>: Whether or not the text is changeable or\n    read-only.</li>\n    </ul>\n\n\n    <p>Property settings may also contain \"$(property.name)\" expansions for\n    properties defined in Scintilla, theme files, etc.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to add a style to.</li>\n    <li><code>token_name</code>: The name of the token to associated with the style.</li>\n    <li><code>style</code>: A style string for Scintilla.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>lex:add_style('longstring', lexer.STYLE_STRING)</code></li>\n    <li><code>lex:add_style('deprecated_function', lexer.STYLE_FUNCTION..',italics')</code></li>\n    <li><code>lex:add_style('visible_ws',\n    lexer.STYLE_WHITESPACE..',back:$(color.grey)')</code></li>\n    </ul>\n\n\n    <p><a id=\"lexer.delimited_range\"></a></p>\n\n    <h3><code>lexer.delimited_range</code> (chars, single_line, no_escape, balanced)</h3>\n\n    <p>Creates and returns a pattern that matches a range of text bounded by\n    <em>chars</em> characters.\n    This is a convenience function for matching more complicated delimited ranges\n    like strings with escape characters and balanced parentheses. <em>single_line</em>\n    indicates whether or not the range must be on a single line, <em>no_escape</em>\n    indicates whether or not to ignore '\\' as an escape character, and <em>balanced</em>\n    indicates whether or not to handle balanced ranges like parentheses and\n    requires <em>chars</em> to be composed of two characters.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>chars</code>: The character(s) that bound the matched range.</li>\n    <li><code>single_line</code>: Optional flag indicating whether or not the range must be\n    on a single line.</li>\n    <li><code>no_escape</code>: Optional flag indicating whether or not the range end\n    character may be escaped by a '\\' character.</li>\n    <li><code>balanced</code>: Optional flag indicating whether or not to match a balanced\n    range, like the \"%b\" Lua pattern. This flag only applies if <em>chars</em>\n    consists of two different characters (e.g. \"()\").</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>local dq_str_escapes = lexer.delimited_range('\"')</code></li>\n    <li><code>local dq_str_noescapes = lexer.delimited_range('\"', false, true)</code></li>\n    <li><code>local unbalanced_parens = lexer.delimited_range('()')</code></li>\n    <li><code>local balanced_parens = lexer.delimited_range('()', false, false,\n    true)</code></li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n\n    <p>See also:</p>\n\n    <ul>\n    <li><a href=\"#lexer.nested_pair\"><code>lexer.nested_pair</code></a></li>\n    </ul>\n\n\n    <p><a id=\"lexer.embed\"></a></p>\n\n    <h3><code>lexer.embed</code> (lexer, child, start_rule, end_rule)</h3>\n\n    <p>Embeds child lexer <em>child</em> in parent lexer <em>lexer</em> using patterns\n    <em>start_rule</em> and <em>end_rule</em>, which signal the beginning and end of the\n    embedded lexer, respectively.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The parent lexer.</li>\n    <li><code>child</code>: The child lexer.</li>\n    <li><code>start_rule</code>: The pattern that signals the beginning of the embedded\n    lexer.</li>\n    <li><code>end_rule</code>: The pattern that signals the end of the embedded lexer.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>html:embed(css, css_start_rule, css_end_rule)</code></li>\n    <li><code>html:embed(lex, php_start_rule, php_end_rule) -- from php lexer</code></li>\n    </ul>\n\n\n    <p><a id=\"lexer.fold\"></a></p>\n\n    <h3><code>lexer.fold</code> (lexer, text, start_pos, start_line, start_level)</h3>\n\n    <p>Determines fold points in a chunk of text <em>text</em> using lexer <em>lexer</em>,\n    returning a table of fold levels associated with line numbers.\n    <em>text</em> starts at position <em>start_pos</em> on line number <em>start_line</em> with a\n    beginning fold level of <em>start_level</em> in the buffer.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to fold text with.</li>\n    <li><code>text</code>: The text in the buffer to fold.</li>\n    <li><code>start_pos</code>: The position in the buffer <em>text</em> starts at, starting at\n    zero.</li>\n    <li><code>start_line</code>: The line number <em>text</em> starts on.</li>\n    <li><code>start_level</code>: The fold level <em>text</em> starts on.</li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>table of fold levels associated with line numbers.</li>\n    </ul>\n\n\n    <p><a id=\"lexer.fold_line_comments\"></a></p>\n\n    <h3><code>lexer.fold_line_comments</code> (prefix)</h3>\n\n    <p>Returns a fold function (to be passed to <code>lexer.add_fold_point()</code>) that folds\n    consecutive line comments that start with string <em>prefix</em>.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>prefix</code>: The prefix string defining a line comment.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>lex:add_fold_point(lexer.COMMENT, '--',\n    lexer.fold_line_comments('--'))</code></li>\n    <li><code>lex:add_fold_point(lexer.COMMENT, '//',\n    lexer.fold_line_comments('//'))</code></li>\n    </ul>\n\n\n    <p><a id=\"lexer.get_rule\"></a></p>\n\n    <h3><code>lexer.get_rule</code> (lexer, id)</h3>\n\n    <p>Returns the rule identified by string <em>id</em>.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to fetch a rule from.</li>\n    <li><code>id</code>: The id of the rule to fetch.</li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n\n    <p><a id=\"lexer.last_char_includes\"></a></p>\n\n    <h3><code>lexer.last_char_includes</code> (s)</h3>\n\n    <p>Creates and returns a pattern that verifies that string set <em>s</em> contains the\n    first non-whitespace character behind the current match position.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>s</code>: String character set like one passed to <code>lpeg.S()</code>.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>local regex = lexer.last_char_includes('+-*!%^&amp;|=,([{') *\n    lexer.delimited_range('/')</code></li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n\n    <p><a id=\"lexer.lex\"></a></p>\n\n    <h3><code>lexer.lex</code> (lexer, text, init_style)</h3>\n\n    <p>Lexes a chunk of text <em>text</em> (that has an initial style number of\n    <em>init_style</em>) using lexer <em>lexer</em>, returning a table of token names and\n    positions.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to lex text with.</li>\n    <li><code>text</code>: The text in the buffer to lex.</li>\n    <li><code>init_style</code>: The current style. Multiple-language lexers use this to\n    determine which language to start lexing in.</li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>table of token names and positions.</li>\n    </ul>\n\n\n    <p><a id=\"lexer.line_from_position\"></a></p>\n\n    <h3><code>lexer.line_from_position</code> (pos)</h3>\n\n    <p>Returns the line number of the line that contains position <em>pos</em>, which\n    starts from 1.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>pos</code>: The position to get the line number of.</li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>number</li>\n    </ul>\n\n\n    <p><a id=\"lexer.load\"></a></p>\n\n    <h3><code>lexer.load</code> (name, alt_name, cache)</h3>\n\n    <p>Initializes or loads and returns the lexer of string name <em>name</em>.\n    Scintilla calls this function in order to load a lexer. Parent lexers also\n    call this function in order to load child lexers and vice-versa. The user\n    calls this function in order to load a lexer when using this module as a Lua\n    library.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>name</code>: The name of the lexing language.</li>\n    <li><code>alt_name</code>: The alternate name of the lexing language. This is useful for\n    embedding the same child lexer with multiple sets of start and end tokens.</li>\n    <li><code>cache</code>: Flag indicating whether or not to load lexers from the cache.\n    This should only be <code>true</code> when initially loading a lexer (e.g. not from\n    within another lexer for embedding purposes).\n    The default value is <code>false</code>.</li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>lexer object</li>\n    </ul>\n\n\n    <p><a id=\"lexer.modify_rule\"></a></p>\n\n    <h3><code>lexer.modify_rule</code> (lexer, id, rule)</h3>\n\n    <p>Replaces in lexer <em>lexer</em> the existing rule identified by string <em>id</em> with\n    pattern <em>rule</em>.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>lexer</code>: The lexer to modify.</li>\n    <li><code>id</code>: The id associated with this rule.</li>\n    <li><code>rule</code>: The LPeg pattern of the rule.</li>\n    </ul>\n\n\n    <p><a id=\"lexer.nested_pair\"></a></p>\n\n    <h3><code>lexer.nested_pair</code> (start_chars, end_chars)</h3>\n\n    <p>Returns a pattern that matches a balanced range of text that starts with\n    string <em>start_chars</em> and ends with string <em>end_chars</em>.\n    With single-character delimiters, this function is identical to\n    <code>delimited_range(start_chars..end_chars, false, true, true)</code>.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>start_chars</code>: The string starting a nested sequence.</li>\n    <li><code>end_chars</code>: The string ending a nested sequence.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>local nested_comment = lexer.nested_pair('/*', '*/')</code></li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n\n    <p>See also:</p>\n\n    <ul>\n    <li><a href=\"#lexer.delimited_range\"><code>lexer.delimited_range</code></a></li>\n    </ul>\n\n\n    <p><a id=\"lexer.new\"></a></p>\n\n    <h3><code>lexer.new</code> (name, opts)</h3>\n\n    <p>Creates a returns a new lexer with the given name.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>name</code>: The lexer's name.</li>\n    <li><code>opts</code>: Table of lexer options. Options currently supported:\n\n    <ul>\n    <li><code>lex_by_line</code>: Whether or not the lexer only processes whole lines of\n    text (instead of arbitrary chunks of text) at a time.\n    Line lexers cannot look ahead to subsequent lines.\n    The default value is <code>false</code>.</li>\n    <li><code>fold_by_indentation</code>: Whether or not the lexer does not define any fold\n    points and that fold points should be calculated based on changes in line\n    indentation.\n    The default value is <code>false</code>.</li>\n    <li><code>case_insensitive_fold_points</code>: Whether or not fold points added via\n    <code>lexer.add_fold_point()</code> ignore case.\n    The default value is <code>false</code>.</li>\n    <li><code>inherit</code>: Lexer to inherit from.\n    The default value is <code>nil</code>.</li>\n    </ul>\n    </li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>lexer.new('rhtml', {inherit = lexer.load('html')})</code></li>\n    </ul>\n\n\n    <p><a id=\"lexer.starts_line\"></a></p>\n\n    <h3><code>lexer.starts_line</code> (patt)</h3>\n\n    <p>Creates and returns a pattern that matches pattern <em>patt</em> only at the\n    beginning of a line.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>patt</code>: The LPeg pattern to match on the beginning of a line.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>local preproc = token(lexer.PREPROCESSOR, lexer.starts_line('#') *\n    lexer.nonnewline^0)</code></li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n\n    <p><a id=\"lexer.token\"></a></p>\n\n    <h3><code>lexer.token</code> (name, patt)</h3>\n\n    <p>Creates and returns a token pattern with token name <em>name</em> and pattern\n    <em>patt</em>.\n    If <em>name</em> is not a predefined token name, its style must be defined via\n    <code>lexer.add_style()</code>.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>name</code>: The name of token. If this name is not a predefined token name,\n    then a style needs to be assiciated with it via <code>lexer.add_style()</code>.</li>\n    <li><code>patt</code>: The LPeg pattern associated with the token.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>local ws = token(lexer.WHITESPACE, lexer.space^1)</code></li>\n    <li><code>local annotation = token('annotation', '@' * lexer.word)</code></li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n\n    <p><a id=\"lexer.word_match\"></a></p>\n\n    <h3><code>lexer.word_match</code> (words, case_insensitive, word_chars)</h3>\n\n    <p>Creates and returns a pattern that matches any single word in string <em>words</em>.\n    <em>case_insensitive</em> indicates whether or not to ignore case when matching\n    words.\n    This is a convenience function for simplifying a set of ordered choice word\n    patterns.\n    If <em>words</em> is a multi-line string, it may contain Lua line comments (<code>--</code>)\n    that will ultimately be ignored.</p>\n\n    <p>Fields:</p>\n\n    <ul>\n    <li><code>words</code>: A string list of words separated by spaces.</li>\n    <li><code>case_insensitive</code>: Optional boolean flag indicating whether or not the\n    word match is case-insensitive. The default value is <code>false</code>.</li>\n    <li><code>word_chars</code>: Unused legacy parameter.</li>\n    </ul>\n\n\n    <p>Usage:</p>\n\n    <ul>\n    <li><code>local keyword = token(lexer.KEYWORD, word_match[[foo bar baz]])</code></li>\n    <li><code>local keyword = token(lexer.KEYWORD, word_match([[foo-bar foo-baz\n    bar-foo bar-baz baz-foo baz-bar]], true))</code></li>\n    </ul>\n\n\n    <p>Return:</p>\n\n    <ul>\n    <li>pattern</li>\n    </ul>\n\n    <h2 id=\"LexerList\">Supported Languages</h2>\n\n    <p>Scintilla has Lua lexers for all of the languages below. Languages\n    denoted by a <code>*</code> have native\n    <a href=\"#lexer.Code.Folding\">folders</a>. For languages without\n    native folding support, folding based on indentation can be used if\n    <code>fold.by.indentation</code> is enabled.</p>\n\n    <ol>\n    <li>Actionscript<code>*</code></li>\n    <li>Ada</li>\n    <li>ANTLR<code>*</code></li>\n    <li>APDL<code>*</code></li>\n    <li>APL</li>\n    <li>Applescript</li>\n    <li>ASM<code>*</code> (NASM)</li>\n    <li>ASP<code>*</code></li>\n    <li>AutoIt</li>\n    <li>AWK<code>*</code></li>\n    <li>Batch<code>*</code></li>\n    <li>BibTeX<code>*</code></li>\n    <li>Boo</li>\n    <li>C<code>*</code></li>\n    <li>C++<code>*</code></li>\n    <li>C#<code>*</code></li>\n    <li>ChucK</li>\n    <li>CMake<code>*</code></li>\n    <li>Coffeescript</li>\n    <li>ConTeXt<code>*</code></li>\n    <li>CSS<code>*</code></li>\n    <li>CUDA<code>*</code></li>\n    <li>D<code>*</code></li>\n    <li>Dart<code>*</code></li>\n    <li>Desktop Entry</li>\n    <li>Diff</li>\n    <li>Django<code>*</code></li>\n    <li>Dockerfile</li>\n    <li>Dot<code>*</code></li>\n    <li>Eiffel<code>*</code></li>\n    <li>Elixir</li>\n    <li>Erlang<code>*</code></li>\n    <li>F#</li>\n    <li>Faust</li>\n    <li>Fish<code>*</code></li>\n    <li>Forth</li>\n    <li>Fortran</li>\n    <li>GAP<code>*</code></li>\n    <li>gettext</li>\n    <li>Gherkin</li>\n    <li>GLSL<code>*</code></li>\n    <li>Gnuplot</li>\n    <li>Go<code>*</code></li>\n    <li>Groovy<code>*</code></li>\n    <li>Gtkrc<code>*</code></li>\n    <li>Haskell</li>\n    <li>HTML<code>*</code></li>\n    <li>Icon<code>*</code></li>\n    <li>IDL</li>\n    <li>Inform</li>\n    <li>ini</li>\n    <li>Io<code>*</code></li>\n    <li>Java<code>*</code></li>\n    <li>Javascript<code>*</code></li>\n    <li>JSON<code>*</code></li>\n    <li>JSP<code>*</code></li>\n    <li>LaTeX<code>*</code></li>\n    <li>Ledger</li>\n    <li>LESS<code>*</code></li>\n    <li>LilyPond</li>\n    <li>Lisp<code>*</code></li>\n    <li>Literate Coffeescript</li>\n    <li>Logtalk</li>\n    <li>Lua<code>*</code></li>\n    <li>Makefile</li>\n    <li>Man Page</li>\n    <li>Markdown</li>\n    <li>MATLAB<code>*</code></li>\n    <li>MoonScript</li>\n    <li>Myrddin</li>\n    <li>Nemerle<code>*</code></li>\n    <li>Nim</li>\n    <li>NSIS</li>\n    <li>Objective-C<code>*</code></li>\n    <li>OCaml</li>\n    <li>Pascal</li>\n    <li>Perl<code>*</code></li>\n    <li>PHP<code>*</code></li>\n    <li>PICO-8<code>*</code></li>\n    <li>Pike<code>*</code></li>\n    <li>PKGBUILD<code>*</code></li>\n    <li>Postscript</li>\n    <li>PowerShell<code>*</code></li>\n    <li>Prolog</li>\n    <li>Properties</li>\n    <li>Pure</li>\n    <li>Python</li>\n    <li>R</li>\n    <li>rc<code>*</code></li>\n    <li>REBOL<code>*</code></li>\n    <li>Rexx<code>*</code></li>\n    <li>ReStructuredText<code>*</code></li>\n    <li>RHTML<code>*</code></li>\n    <li>Ruby<code>*</code></li>\n    <li>Ruby on Rails<code>*</code></li>\n    <li>Rust<code>*</code></li>\n    <li>Sass<code>*</code></li>\n    <li>Scala<code>*</code></li>\n    <li>Scheme<code>*</code></li>\n    <li>Shell<code>*</code></li>\n    <li>Smalltalk<code>*</code></li>\n    <li>Standard ML</li>\n    <li>SNOBOL4</li>\n    <li>SQL</li>\n    <li>TaskPaper</li>\n    <li>Tcl<code>*</code></li>\n    <li>TeX<code>*</code></li>\n    <li>Texinfo<code>*</code></li>\n    <li>TOML</li>\n    <li>Vala<code>*</code></li>\n    <li>VBScript</li>\n    <li>vCard<code>*</code></li>\n    <li>Verilog<code>*</code></li>\n    <li>VHDL</li>\n    <li>Visual Basic</li>\n    <li>Windows Script File<code>*</code></li>\n    <li>XML<code>*</code></li>\n    <li>Xtend<code>*</code></li>\n    <li>YAML</li>\n    </ol>\n\n    <h2>Code Contributors</h2>\n\n    <ul>\n    <li>Alejandro Baez</li>\n    <li>Alex Saraci</li>\n    <li>Brian Schott</li>\n    <li>Carl Sturtivant</li>\n    <li>Chris Emerson</li>\n    <li>Christian Hesse</li>\n    <li>David B. Lamkins</li>\n    <li>Heck Fy</li>\n    <li>Jason Schindler</li>\n    <li>Jeff Stone</li>\n    <li>Joseph Eib</li>\n    <li>Joshua Krämer</li>\n    <li>Klaus Borges</li>\n    <li>Larry Hynes</li>\n    <li>M Rawash</li>\n    <li>Marc André Tanner</li>\n    <li>Markus F.X.J. Oberhumer</li>\n    <li>Martin Morawetz</li>\n    <li>Michael Forney</li>\n    <li>Michael T. Richter</li>\n    <li>Michel Martens</li>\n    <li>Murray Calavera</li>\n    <li>Neil Hodgson</li>\n    <li>Olivier Guibé</li>\n    <li>Peter Odding</li>\n    <li>Piotr Orzechowski</li>\n    <li>Richard Philips</li>\n    <li>Robert Gieseke</li>\n    <li>Roberto Ierusalimschy</li>\n    <li>S. Gilles</li>\n    <li>Stéphane Rivière</li>\n    <li>Tymur Gubayev</li>\n    <li>Wolfgang Seeberg</li>\n    </ul>\n\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/Lexer.txt",
    "content": "How to write a scintilla lexer\n\nA lexer for a particular language determines how a specified range of\ntext shall be colored.  Writing a lexer is relatively straightforward\nbecause the lexer need only color given text.  The harder job of\ndetermining how much text actually needs to be colored is handled by\nScintilla itself, that is, the lexer's caller.\n\n\nParameters\n\nThe lexer for language LLL has the following prototype:\n\n    static void ColouriseLLLDoc (\n        unsigned int startPos, int length,\n        int initStyle,\n        WordList *keywordlists[],\n        Accessor &styler);\n\nThe styler parameter is an Accessor object.  The lexer must use this\nobject to access the text to be colored.  The lexer gets the character\nat position i using styler.SafeGetCharAt(i);\n\nThe startPos and length parameters indicate the range of text to be\nrecolored; the lexer must determine the proper color for all characters\nin positions startPos through startPos+length.\n\nThe initStyle parameter indicates the initial state, that is, the state\nat the character before startPos. States also indicate the coloring to\nbe used for a particular range of text.\n\nNote:  the character at StartPos is assumed to start a line, so if a\nnewline terminates the initStyle state the lexer should enter its\ndefault state (or whatever state should follow initStyle).\n\nThe keywordlists parameter specifies the keywords that the lexer must\nrecognize.  A WordList class object contains methods that simplify\nthe recognition of keywords.  Present lexers use a helper function\ncalled classifyWordLLL to recognize keywords.  These functions show how\nto use the keywordlists parameter to recognize keywords.  This\ndocumentation will not discuss keywords further.\n\n\nThe lexer code\n\nThe task of a lexer can be summarized briefly: for each range r of\ncharacters that are to be colored the same, the lexer should call\n\n    styler.ColourTo(i, state)\n\nwhere i is the position of the last character of the range r.  The lexer\nshould set the state variable to the coloring state of the character at\nposition i and continue until the entire text has been colored.\n\nNote 1:  the styler (Accessor) object remembers the i parameter in the\nprevious calls to styler.ColourTo, so the single i parameter suffices to\nindicate a range of characters.\n\nNote 2: As a side effect of calling styler.ColourTo(i,state), the\ncoloring states of all characters in the range are remembered so that\nScintilla may set the initStyle parameter correctly on future calls to\nthe\nlexer.\n\n\nLexer organization\n\nThere are at least two ways to organize the code of each lexer.  Present\nlexers use what might be called a \"character-based\" approach: the outer\nloop iterates over characters, like this:\n\n  lengthDoc = startPos + length ;\n  for (unsigned int i = startPos; i < lengthDoc; i++) {\n    chNext = styler.SafeGetCharAt(i + 1);\n    << handle special cases >>\n    switch(state) {\n      // Handlers examine only ch and chNext.\n      // Handlers call styler.ColorTo(i,state) if the state changes.\n      case state_1: << handle ch in state 1 >>\n      case state_2: << handle ch in state 2 >>\n      ...\n      case state_n: << handle ch in state n >>\n    }\n    chPrev = ch;\n  }\n  styler.ColourTo(lengthDoc - 1, state);\n\n\nAn alternative would be to use a \"state-based\" approach.  The outer loop\nwould iterate over states, like this:\n\n  lengthDoc = startPos+lenth ;\n  for ( unsigned int i = startPos ;; ) {\n    char ch = styler.SafeGetCharAt(i);\n    int new_state = 0 ;\n    switch ( state ) {\n      // scanners set new_state if they set the next state.\n      case state_1: << scan to the end of state 1 >> break ;\n      case state_2: << scan to the end of state 2 >> break ;\n      case default_state:\n        << scan to the next non-default state and set new_state >>\n    }\n    styler.ColourTo(i, state);\n    if ( i >= lengthDoc ) break ;\n    if ( ! new_state ) {\n      ch = styler.SafeGetCharAt(i);\n      << set state based on ch in the default state >>\n    }\n  }\n  styler.ColourTo(lengthDoc - 1, state);\n\nThis approach might seem to be more natural.  State scanners are simpler\nthan character scanners because less needs to be done.  For example,\nthere is no need to test for the start of a C string inside the scanner\nfor a C comment.  Also this way makes it natural to define routines that\ncould be used by more than one scanner; for example, a scanToEndOfLine\nroutine.\n\nHowever, the special cases handled in the main loop in the\ncharacter-based approach would have to be handled by each state scanner,\nso both approaches have advantages.  These special cases are discussed\nbelow.\n\nSpecial case: Lead characters\n\nLead bytes are part of DBCS processing for languages such as Japanese\nusing an encoding such as Shift-JIS. In these encodings, extended\n(16-bit) characters are encoded as a lead byte followed by a trail byte.\n\nLead bytes are rarely of any lexical significance, normally only being\nallowed within strings and comments. In such contexts, lexers should\nignore ch if styler.IsLeadByte(ch) returns TRUE.\n\nNote: UTF-8 is simpler than Shift-JIS, so no special handling is\napplied for it. All UTF-8 extended characters are >= 128 and none are\nlexically significant in programming languages which, so far, use only\ncharacters in ASCII for operators, comment markers, etc.\n\n\nSpecial case: Folding\n\nFolding may be performed in the lexer function. It is better to use a\nseparate folder function as that avoids some troublesome interaction\nbetween styling and folding. The folder function will be run after the\nlexer function if folding is enabled. The rest of this section explains\nhow to perform folding within the lexer function.\n\nDuring initialization, lexers that support folding set\n\n    bool fold = styler.GetPropertyInt(\"fold\");\n\nIf folding is enabled in the editor, fold will be TRUE and the lexer\nshould call:\n\n    styler.SetLevel(line, level);\n\nat the end of each line and just before exiting.\n\nThe line parameter is simply the count of the number of newlines seen.\nIt's initial value is styler.GetLine(startPos) and it is incremented\n(after calling styler.SetLevel) whenever a newline is seen.\n\nThe level parameter is the desired indentation level in the low 12 bits,\nalong with flag bits in the upper four bits. The indentation level\ndepends on the language.  For C++, it is incremented when the lexer sees\na '{' and decremented when the lexer sees a '}' (outside of strings and\ncomments, of course).\n\nThe following flag bits, defined in Scintilla.h, may be set or cleared\nin the flags parameter. The SC_FOLDLEVELWHITEFLAG flag is set if the\nlexer considers that the line contains nothing but whitespace.  The\nSC_FOLDLEVELHEADERFLAG flag indicates that the line is a fold point.\nThis normally means that the next line has a greater level than present\nline.  However, the lexer may have some other basis for determining a\nfold point.  For example, a lexer might create a header line for the\nfirst line of a function definition rather than the last.\n\nThe SC_FOLDLEVELNUMBERMASK mask denotes the level number in the low 12\nbits of the level param. This mask may be used to isolate either flags\nor level numbers.\n\nFor example, the C++ lexer contains the following code when a newline is\nseen:\n\n  if (fold) {\n    int lev = levelPrev;\n\n    // Set the \"all whitespace\" bit if the line is blank.\n    if (visChars == 0)\n      lev |= SC_FOLDLEVELWHITEFLAG;\n\n    // Set the \"header\" bit if needed.\n    if ((levelCurrent > levelPrev) && (visChars > 0))\n      lev |= SC_FOLDLEVELHEADERFLAG;\n      styler.SetLevel(lineCurrent, lev);\n\n    // reinitialize the folding vars describing the present line.\n    lineCurrent++;\n    visChars = 0;  // Number of non-whitespace characters on the line.\n    levelPrev = levelCurrent;\n  }\n\nThe following code appears in the C++ lexer just before exit:\n\n  // Fill in the real level of the next line, keeping the current flags\n  // as they will be filled in later.\n  if (fold) {\n    // Mask off the level number, leaving only the previous flags.\n    int flagsNext = styler.LevelAt(lineCurrent);\n    flagsNext &= ~SC_FOLDLEVELNUMBERMASK;\n    styler.SetLevel(lineCurrent, levelPrev | flagsNext);\n  }\n\n\nDon't worry about performance\n\nThe writer of a lexer may safely ignore performance considerations: the\ncost of redrawing the screen is several orders of magnitude greater than\nthe cost of function calls, etc.  Moreover, Scintilla performs all the\nimportant optimizations; Scintilla ensures that a lexer will be called\nonly to recolor text that actually needs to be recolored.  Finally, it\nis not necessary to avoid extra calls to styler.ColourTo: the sytler\nobject buffers calls to ColourTo to avoid multiple updates of the\nscreen.\n\nPage contributed by Edward K. Ream"
  },
  {
    "path": "src/qscint/doc/Scintilla/Privacy.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Privacy Policy\n    </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          and SciTE</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Privacy Policy for scintilla.org\n    </h2>\n    <h3>\n       Information Collected\n    </h3>\n    <p>\n      Logs are collected to allow analysis of which pages are viewed.\n      The advertisements collect viewing information through Google Analytics which is\n      used by Google and advertisers.\n      No personally identifiable information is collected by scintilla.org.\n    </p>\n    <h3>\n       External Links\n    </h3>\n    <p>\n       Other web sites are linked to from this site.\n       These web sites have their own privacy policies which may differ significantly to those of scintilla.org.\n    </p>\n    <h3>\n       Cookies\n    </h3>\n    <p>\n       A cookie is a text file placed on the hard drive of a computer by some web pages which is used to remember\n       when a particular user returns to that site.\n       The advertisements shown on the main pages may use cookies.\n    </p>\n    <h3>\n       Contact\n    </h3>\n    <p>\n       This web site is the responsibility of Neil Hodgson.\n       Most queries about the site contents should go to one of the mailing lists mentioned on the main pages.\n       Queries about the privacy policy may be sent to neilh @ scintilla.org.\n    </p>\n    <h3>\n       Changes to this Policy\n    </h3>\n    <p>\n       This policy may change. If it does then this page will be updated and the date at the bottom will change.\n    </p>\n    <p>\n       This policy was last updated 2 June 2015.\n    </p>\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/SciCoding.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla and SciTE Code Style Preferences\n    </title>\n\t<style>\n\t.S0 {\n\t\tcolor: #808080;\n\t}\n\t.S1 {\n\t\tfont-family: Comic Sans MS;\n\t\tcolor: #007F00;\n\t\tfont-size: 9pt;\n\t}\n\t.S2 {\n\t\tfont-family: Comic Sans MS;\n\t\tcolor: #007F00;\n\t\tfont-size: 9pt;\n\t}\n\t.S3 {\n\t\tfont-family: Comic Sans MS;\n\t\tcolor: #3F703F;\n\t\tfont-size: 9pt;\n\t}\n\t.S4 {\n\t\tcolor: #007F7F;\n\t}\n\t.S5 {\n\t\tfont-weight: bold;\n\t\tcolor: #00007F;\n\t}\n\t.S6 {\n\t\tcolor: #7F007F;\n\t}\n\t.S7 {\n\t\tcolor: #7F007F;\n\t}\n\t.S8 {\n\t\tcolor: #804080;\n\t}\n\t.S9 {\n\t\tcolor: #7F7F00;\n\t}\n\t.S10 {\n\t\tfont-weight: bold;\n\t\tcolor: #000000;\n\t}\n\t.S12 {\n\t\tfont-family: Courier New;\n\t\tcolor: #000000;\n\t\tbackground: #E0C0E0;\n\t\tfont-size: 10pt;\n\t}\n\t.S13 {\n\t\tfont-family: Courier New;\n\t\tcolor: #007F00;\n\t\tbackground: #E0FFE0;\n\t\tfont-size: 10pt;\n\t}\n\t.S14 {\n\t\tfont-family: Courier New;\n\t\tcolor: #3F7F3F;\n\t\tbackground: #E0F0FF;\n\t\tfont-size: 10pt;\n\t}\n\t.S15 {\n\t\tfont-family: Comic Sans MS;\n\t\tcolor: #3F703F;\n\t\tfont-size: 9pt;\n\t}\n\tSPAN {\n\t\tfont-family: Verdana;\n\t\tfont-size: 10pt;\n\t}\n\t</style>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          and SciTE</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Code Style\n    </h2>\n    <h3>\n       Introduction\n    </h3>\n\t<p>\n\tThe source code of Scintilla and SciTE follow my preferences.\n\tSome of these decisions are arbitrary and based on my sense of aesthetics\n\tbut its good to have all the code look the same even if its not exactly how\n\teveryone would prefer.\n\t</p>\n\t<p>\n\tCode that does not follow these conventions will be accepted, but will be modified\n\tas time goes by to fit the conventions. Scintilla code follows the conventions more\n\tclosely than SciTE except for lexers which are relatively independent modules.\n\tLexers that are maintained by others are left as they are submitted except that\n\twarnings will be fixed so the whole project can compile cleanly.\n\t</p>\n\t<p>\n\tThe <a href=\"http://astyle.sourceforge.net/\">AStyle</a> formatting\n\tprogram with '-taOHUKk3 -M8' arguments formats code in much the right way although\n\tthere are a few bugs in AStyle.\n\t</p>\n    <h3>\n       Language features\n    </h3>\n\t<p>\n\tDesign goals for Scintilla and SciTE include portability to currently available C++\n\tcompilers on diverse platforms with high performance and low resource usage.\n\tScintilla has stricter portability requirements to SciTE as it may be ported to\n\tlow capability platforms.\n\tScintilla code must build with C++03 which can be checked with \"g++ --std=gnu++03\".\n\tSciTE can use C++11 features that are widely available from g++ 4.6, MSVC 2012 and clang 3.4 compilers.\n\t</p>\n\t<p>\n\tTo achieve portability, only a subset of C++ features are used.\n\tExceptions and templates may be used but, since Scintilla can be used from C as well as\n\tC++, exceptions may not be thrown out of Scintilla and all exceptions should be caught\n\tbefore returning from Scintilla.\n\tRun-time type information adds to memory use so is turned off.\n\tA 'Scintilla' name space is used. This helps with name clashes on OS X.\n\t</p>\n\t<p>\n\tThe goto statement is not used because of bad memories from my first job\n\tmaintaining FORTRAN programs. The union feature is not used as it can lead to\n\tnon-type-safe value access.\n\t</p>\n\t<p>\n\tThe SCI_METHOD preprocessor definition should be used when implementing\n\tinterfaces which include it like ILexer and only there.\n\t</p>\n\t<p>\n\tHeaders should always be included in the same order as given by the\n\tscripts/HeaderOrder.txt file.\n\t</p>\n    <h3>\n       Casting\n    </h3>\n\t<p>\n\tDo not use old C style casts like (char *)s. Instead use the most strict form of C++\n\tcast possible like const_cast&lt;char *&gt;(s). Use static_cast and const_cast\n\twhere possible rather than reinterpret_cast.\n\t</p>\n\t<p>\n\tThe benefit to using the new style casts is that they explicitly detail what evil is\n\toccurring and act as signals that something potentially unsafe is being done.\n\t</p>\n\t<p>\n\tCode that treats const seriously is easier to reason about both for humans\n\tand compilers, so use const parameters and avoid const_cast.\n\t</p>\n    <h3>\n       Warnings\n    </h3>\n\t<p>\n\tTo help ensure code is well written and portable, it is compiled with almost all\n\twarnings turned on. This sometimes results in warnings about code that is\n\tcompletely good (false positives) but changing the code to avoid the warnings\n\tis generally fast and has little impact on readability.\n\t</p>\n\t<p>\n\tInitialise all variables and minimise the scope of variables. If a variable is defined\n\tjust before its use then it can't be misused by code before that point.\n\tUse loop declarations that are compatible with both the C++ standard and currently\n\tavailable compilers.\n\t</p>\n    <h3>\n       Allocation\n    </h3>\n\t<p>\n\tMemory exhaustion can occur in many Scintilla methods.\n\tThis should be checked for and handled but once it has happened, it is very difficult to do\n\tanything as Scintilla's data structures may be in an inconsistent state.\n\tFixed length buffers are often used as these are simple and avoid the need to\n\tworry about memory exhaustion but then require that buffer lengths are\n\trespected.\n\t</p>\n\t<p>\n\tThe C++ new and delete operators are preferred over C's malloc and free\n\tas new and delete are type safe.\n\t</p>\n    <h3>\n       Bracketing\n    </h3>\n\t<p>\n\tStart brackets, '{', should be located on the line of the control structure they\n\tstart and end brackets, '}', should be at the indented start of a line. When there is\n\tan else clause, this occurs on the same line as the '}'.\n\tThis format uses less lines than alternatives, allowing more code to be seen on screen.\n\tFully bracketed control\n\tstructures are preferred because this makes it more likely that modifications will\n\tbe correct and it allows Scintilla's folder to work. No braces on returned\n\texpressions as return is a keyword, not a function call.\n\t</p>\n<SPAN class=S0></SPAN><SPAN class=S5>bool</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>fn</SPAN><SPAN class=S10>(</SPAN><SPAN class=S5>int</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>a</SPAN><SPAN class=S10>)</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S5>if</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>(</SPAN><SPAN class=S11>a</SPAN><SPAN class=S10>)</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>s</SPAN><SPAN class=S10>();</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>t</SPAN><SPAN class=S10>();</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S10>}</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S5>else</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>u</SPAN><SPAN class=S10>();</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S10>}</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S5>return</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>!</SPAN><SPAN class=S11>a</SPAN><SPAN class=S10>;</SPAN><SPAN class=S0><BR>\n</SPAN><SPAN class=S10>}</SPAN><SPAN class=S0><BR>\n</SPAN>    <h3>\n       Spacing\n    </h3>\n\t<p>\n\tSpaces on both sides of '=' and comparison operators and no attempt to line up '='.\n\tNo space before or after '(', when used in calls, but a space after every ','.\n\tNo spaces between tokens in short expressions but may be present in\n\tlonger expressions. Space before '{'. No space before ';'.\n\tNo space after '*' when used to mean pointer and no space after '[' or ']'.\n\tOne space between keywords and '('.\n\t</p>\n<SPAN class=S0></SPAN><SPAN class=S5>void</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>StoreConditionally</SPAN><SPAN class=S10>(</SPAN><SPAN class=S5>int</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>c</SPAN><SPAN class=S10>,</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S5>const</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S5>char</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>*</SPAN><SPAN class=S11>s</SPAN><SPAN class=S10>)</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S5>if</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>(</SPAN><SPAN class=S11>c</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>&amp;&amp;</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>(</SPAN><SPAN class=S11>baseSegment</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>==</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>trustSegment</SPAN><SPAN class=S10>[</SPAN><SPAN class=S6>\"html\"</SPAN><SPAN class=S10>]))</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>baseSegment</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>=</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>s</SPAN><SPAN class=S10>+</SPAN><SPAN class=S4>1</SPAN><SPAN class=S10>;</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>Store</SPAN><SPAN class=S10>(</SPAN><SPAN class=S11>s</SPAN><SPAN class=S10>,</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>baseSegment</SPAN><SPAN class=S10>,</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S6>\"html\"</SPAN><SPAN class=S10>);</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S10>}</SPAN><SPAN class=S0><BR>\n</SPAN><SPAN class=S10>}</SPAN>\n    <h3>\n       Names\n    </h3>\n\t<p>\n\tIdentifiers use mixed case and no underscores.\n\tClass, function and method names start with an uppercase letter and use\n\tfurther upper case letters to distinguish words. Variables start with a lower\n\tcase letter and use upper case letters to distinguish words.\n\tLoop counters and similar variables can have simple names like 'i'.\n\tFunction calls should be differentiated from method calls with an initial '::'\n\tglobal scope modifier.\n\t</p>\n<SPAN class=S0></SPAN><SPAN class=S5>class</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>StorageZone</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n</SPAN><SPAN class=S5>public</SPAN><SPAN class=S10>:</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S5>void</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>Store</SPAN><SPAN class=S10>(</SPAN><SPAN class=S5>const</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S5>char</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>*</SPAN><SPAN class=S11>s</SPAN><SPAN class=S10>)</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>Media</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>*</SPAN><SPAN class=S11>mediaStore</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>=</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>::</SPAN><SPAN class=S11>GetBaseMedia</SPAN><SPAN class=S10>(</SPAN><SPAN class=S11>zoneDefault</SPAN><SPAN class=S10>);</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S5>for</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>(</SPAN><SPAN class=S5>int</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>i</SPAN><SPAN class=S10>=</SPAN><SPAN class=S11>mediaStore</SPAN><SPAN class=S10>-&gt;</SPAN><SPAN class=S11>cursor</SPAN><SPAN class=S10>;</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>mediaStore</SPAN><SPAN class=S10>[</SPAN><SPAN class=S11>i</SPAN><SPAN class=S10>],</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S11>i</SPAN><SPAN class=S10>++)</SPAN><SPAN class=S0>&nbsp;</SPAN><SPAN class=S10>{</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S11>mediaStore</SPAN><SPAN class=S10>-&gt;</SPAN><SPAN class=S11>Persist</SPAN><SPAN class=S10>(</SPAN><SPAN class=S11>s</SPAN><SPAN class=S10>[</SPAN><SPAN class=S11>i</SPAN><SPAN class=S10>]);</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S10>}</SPAN><SPAN class=S0><BR>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=S10>}</SPAN><SPAN class=S0><BR>\n</SPAN><SPAN class=S10>};</SPAN>\n    <h3>\n       Submitting a lexer\n    </h3>\n\n\t<p>Add a public feature request to the <a href=\"https://sourceforge.net/tracker/?group_id=2439&atid=352439\">Feature Request Tracker</a>.</p>\n\t<p>Send all the modified and new files as full text (not patches) in an archive (.zip or .tgz).</p>\n\t<p>Define all of the lexical states in a modified Scintilla.iface.</p>\n\t<p>Ensure there are no warnings under the compiler you use. Warnings from other compilers\n\twill be noted on the feature request.</p>\n\t<p>sc.ch is an int: do not pass this around as a char.</p>\n\t<p>The ctype functions like isalnum and isdigit only work on ASCII (0..127) and may cause\n\tundefined behaviour including crashes if used on other values. Check with IsASCII before calling is*.</p>\n\t<p>Functions, structs and classes in lexers should be in an unnamed namespace (see LexCPP)\n\tor be marked \"static\" so they will not leak into other lexers.</p>\n\t<p>If you copy from an existing lexer, remove any code that is not needed since it makes it\n\tmore difficult to maintain and review.</p>\n\t<p>When modifying an existing lexer, try to maintain as much compatibility as possible.\n\tDo not renumber lexical styles as current client code may be built against the earlier values.</p>\n    <h4>\n       Properties\n    </h4>\n\t<p>\n\tProperties provided by a new lexer should follow the naming conventions\n\tand should include a comment suitable for showing to end users.\n\tThe convention is for properties that control styling to be named\n\tlexer.&lt;lexername&gt;.* and those that control folding to be named\n\tfold.&lt;lexername&gt;.*.\n\tExamples are \"lexer.python.literals.binary\" and \"fold.haskell.imports\".\n\t</p>\n\t<p>\n\tThe properties \"fold\" and \"fold.comment\" are generic and can be used by\n\tany lexer.\n\t</p>\n\t<p>\n\tSee LexPython for examples of properties in an object lexer and LexHTML for a functional lexer.\n\t</p>\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/ScintillaDoc.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\"\n    content=\"HTML Tidy for Windows (vers 1st August 2002), see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n\n    <title>Scintilla Documentation</title>\n\n    <style type=\"text/css\">\n<!--\n/*<![CDATA[*/\n\tCODE { font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n\tA:visited { color: blue; }\n\tA:hover { text-decoration: underline ! important; }\n\tA.message { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n\tA.seealso { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n\tA.toc { text-decoration: none; }\n\tA.jump { text-decoration: none; }\n\tLI.message { text-decoration: none; font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n\tH2 { background: #E0EAFF; }\n\n\ttable {\n\t\tborder: 0px;\n\t\tborder-collapse: collapse;\n\t}\n\n\ttable.categories {\n\t\tborder: 0px;\n\t\tborder-collapse: collapse;\n\t}\n\ttable.categories td {\n\t\tpadding: 4px 12px;\n\t}\n\n\ttable.standard {\n\t\tborder-collapse: collapse;\n\t}\n\ttable.standard th {\n\t\tbackground: #404040;\n\t\tcolor: #FFFFFF;\n\t\tpadding: 1px 5px 1px 5px;\n\t}\n\ttable.standard tr:nth-child(odd) {background: #D7D7D7}\n\ttable.standard tr:nth-child(even) {background: #F0F0F0}\n\ttable.standard td {\n\t\tpadding: 1px 5px 1px 5px;\n\t}\n\n\t.S0 {\n\t\tcolor: #808080;\n\t}\n\t.S2 {\n\t\tfont-family: Georgia, 'DejaVu Serif';\n\t\tcolor: #007F00;\n\t\tfont-size: 9pt;\n\t}\n\t.S3 {\n\t\tfont-family: Georgia, 'DejaVu Serif';\n\t\tcolor: #3F703F;\n\t\tfont-size: 9pt;\n\t}\n\t.S4 {\n\t\tcolor: #007F7F;\n\t}\n\t.S5 {\n\t\tfont-weight: bold;\n\t\tcolor: #00007F;\n\t}\n\t.S9 {\n\t\tcolor: #7F7F00;\n\t}\n\t.S10 {\n\t\tfont-weight: bold;\n\t\tcolor: #000000;\n\t}\n\t.S17 {\n\t\tfont-family: Georgia, 'DejaVu Serif';\n\t\tcolor: #3060A0;\n\t\tfont-size: 9pt;\n\t}\n\tDIV.highlighted {\n\t\tbackground: #F7FCF7;\n\t\tborder: 1px solid #C0D7C0;\n\t\tmargin: 0.3em 3em;\n\t\tpadding: 0.3em 0.6em;\n\t\tfont-family: 'Verdana';\n\t\tcolor: #000000;\n\t\tfont-size: 10pt;\n\t}\n\t.provisional {\n\t\tbackground: #FFB000;\n        }\n\t.parameter {\n\t\tfont-style:italic;\n        }\n/*]]>*/\n-->\n    </style>\n  </head>\n\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"\n    summary=\"Banner\">\n      <tr>\n        <td><img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" /></td>\n\n        <td><a href=\"index.html\"\n        style=\"color:white;text-decoration:none;font-size:200%\">Scintilla</a></td>\n      </tr>\n    </table>\n\n    <h1>Scintilla Documentation</h1>\n\n    <p>Last edited 6 June 2018 NH</p>\n\n    <p>There is <a class=\"jump\" href=\"Design.html\">an overview of the internal design of\n    Scintilla</a>.<br />\n     <a class=\"jump\" href=\"ScintillaUsage.html\">Some notes on using Scintilla</a>.<br />\n     <a class=\"jump\" href=\"Steps.html\">How to use the Scintilla Edit Control on Windows</a>.<br />\n     <a class=\"jump\" href=\"https://www.scintilla.org/dmapp.zip\">A simple sample using Scintilla from\n    C++ on Windows</a>.<br />\n     <a class=\"jump\" href=\"https://www.scintilla.org/SciTry.vb\">A simple sample using Scintilla from\n    Visual Basic</a>.<br />\n     <a class=\"jump\" href=\"https://www.scintilla.org/bait.zip\">Bait is a tiny sample using Scintilla\n     on GTK+</a>.<br />\n     <a class=\"jump\" href=\"Lexer.txt\">A detailed description of how to write a lexer, including a\n    discussion of folding</a>.<br />\n     <a class=\"jump\" href=\"http://sphere.sourceforge.net/flik/docs/scintilla-container_lexer.html\">\n     How to implement a lexer in the container</a>.<br />\n     <a class=\"jump\" href=\"http://sphere.sourceforge.net/flik/docs/scintilla-folding.html\">\n     How to implement folding</a>.<br />\n     <a class=\"jump\" href=\"https://bitbucket.org/StarFire/scintilla-doc/downloads/Scintilla-var'aq-Tutorial.pdf\">\n     Beginner's Guide to lexing and folding</a>.<br />\n     <a class=\"jump\" href=\"LPegLexer.html\">How to write lexers in Lua</a>.<br />\n     The <a class=\"jump\" href=\"SciCoding.html\">coding style</a> used in Scintilla and SciTE is\n    worth following if you want to contribute code to Scintilla but is not compulsory.</p>\n\n    <h2>Introduction</h2>\n\n    <p>The Windows version of Scintilla is a Windows Control. As such, its primary programming\n    interface is through Windows messages. Early versions of Scintilla emulated much of the API\n    defined by the standard Windows Edit and RichEdit controls but those APIs are now deprecated in\n    favour of Scintilla's own, more consistent API. In addition to messages performing the actions\n    of a normal Edit control, Scintilla allows control of syntax styling, folding, markers, autocompletion\n    and call tips.</p>\n\n    <p>The GTK+ version also uses messages in a similar way to the Windows version. This is\n    different to normal GTK+ practice but made it easier to implement rapidly.</p>\n\n    <p>Scintilla also builds with Cocoa on OS X, with Qt, and with curses, and follows the conventions of\n    those platforms.</p>\n\n    <p>Scintilla does not properly support right-to-left languages like Arabic and Hebrew.\n    While text in these languages may appear correct, it is not possible to interact with this text\n    as is normal with other editing components.</p>\n\n    <p>This documentation describes the individual messages and notifications used by Scintilla. It\n    does not describe how to link them together to form a useful editor. For now, the best way to\n    work out how to develop using Scintilla is to see how SciTE uses it. SciTE exercises most of\n    Scintilla's facilities.</p>\n\n    <p>In the descriptions that follow, the messages are described as function calls with zero, one\n    or two arguments. These two arguments are the standard <code>wParam</code> and\n    <code>lParam</code> familiar to Windows programmers. These parameters are integers that\n    are large enough to hold pointers, and the return value is also an integer large enough to contain a\n    pointer.\n    Although the commands only use the\n    arguments described, because all messages have two arguments whether Scintilla uses them or\n    not, it is strongly recommended that any unused arguments are set to 0. This allows future\n    enhancement of messages without the risk of breaking existing code. Common argument types\n    are:</p>\n\n    <table class=\"standard\" summary=\"Common argument types\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>bool</code></th>\n\n          <td>Arguments expect the values 0 for <code>false</code> and 1 for\n          <code>true</code>.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>int</code></th>\n\n          <td>Arguments are 32-bit or 64-bit signed integers depending on the platform.\n          Equivalent to <code>intptr_t</code>.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>const&nbsp;char&nbsp;*</code></th>\n\n          <td>Arguments point at text that is being passed to Scintilla but not modified. The text\n          may be zero terminated or another argument may specify the character count, the\n          description will make this clear.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>char *</code></th>\n\n          <td>Arguments point at text buffers that Scintilla will fill with text. In some cases,\n          another argument will tell Scintilla the buffer size. In others, you must make sure that\n          the buffer is big enough to hold the requested text. If a NULL pointer (0) is passed\n          then, for SCI_* calls, the length that should be allocated, not including any terminating\n          NUL, is returned. Some calls (marked \"NUL-terminated\") add a NUL character to the result but other calls do\n          not: to generically handle both types, allocate one more byte than indicated and set it to NUL.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\" id=\"colour\"><code>colour</code></th>\n\n          <td>Colours are set using the RGB format (Red, Green, Blue). The intensity of each colour\n          is set in the range 0 to 255. If you have three such intensities, they are combined as:\n          red | (green &lt;&lt; 8) | (blue &lt;&lt; 16). If you set all intensities to 255, the\n          colour is white. If you set all intensities to 0, the colour is black. When you set a\n          colour, you are making a request. What you will get depends on the capabilities of the\n          system and the current screen mode.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\" id=\"alpha\"><code>alpha</code></th>\n\n          <td>Translucency is set using an alpha value.\n                        Alpha ranges from 0 (SC_ALPHA_TRANSPARENT) which is completely transparent to\n                               255 (SC_ALPHA_OPAQUE) which is opaque. The value 256 (SC_ALPHA_NOALPHA)\n                               is opaque and uses code that is not alpha-aware and may be faster. Not all platforms support\n                               translucency and only some Scintilla features implement translucency.\n                               The default alpha value for most features is SC_ALPHA_NOALPHA.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>&lt;unused&gt;</code></th>\n\n          <td>This is an unused argument. Setting it to 0 will ensure compatibility with future\n          enhancements.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <h2 id=\"MessageCategories\">Contents</h2>\n\n    <table class=\"categories\" summary=\"Message categories\">\n      <tbody>\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#TextRetrievalAndModification\">Text retrieval and\n          modification</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Searching\">Searching and replacing</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Overtype\">Overtype</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#CutCopyAndPaste\">Cut, copy and paste</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#ErrorHandling\">Error handling</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#UndoAndRedo\">Undo and Redo</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#SelectionAndInformation\">Selection and information</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#ByCharacterOrCodeUnit\">By character or UTF-16 code unit</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#MultipleSelectionAndVirtualSpace\">Multiple Selection and Virtual Space</a></td>\n          scrolling</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#ScrollingAndAutomaticScrolling\">Scrolling and automatic\n\n          <td>&cir; <a class=\"toc\" href=\"#WhiteSpace\">White space</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Cursor\">Cursor</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#MouseCapture\">Mouse capture</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#LineEndings\">Line endings</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Words\">Words</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#Styling\">Styling</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#StyleDefinition\">Style definition</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#CaretAndSelectionStyles\">Caret, selection, and hotspot styles</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#CharacterRepresentations\">Character representations</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Margins\">Margins</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Annotations\">Annotations</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#OtherSettings\">Other settings</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#BraceHighlighting\">Brace highlighting</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#TabsAndIndentationGuides\">Tabs and Indentation\n          Guides</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#Markers\">Markers</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Indicators\">Indicators</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Autocompletion\">Autocompletion</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#UserLists\">User lists</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#CallTips\">Call tips</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#KeyboardCommands\">Keyboard commands</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#KeyBindings\">Key bindings</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#PopupEditMenu\">Popup edit menu</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#MacroRecording\">Macro recording</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#Printing\">Printing</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#DirectAccess\">Direct access</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#MultipleViews\">Multiple views</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#BackgroundLoadSave\">Background loading and saving</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Folding\">Folding</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#LineWrapping\">Line wrapping</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#Zooming\">Zooming</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#LongLines\">Long lines</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Accessibility\">Accessibility</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#Lexer\">Lexer</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#LexerObjects\">Lexer objects</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#Notifications\">Notifications</a></td>\n\n        </tr>\n\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#Images\">Images</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#GTK\">GTK+</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#ProvisionalMessages\"><span class=\"provisional\">Provisional messages</span></a></td>\n\n        </tr>\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#DeprecatedMessages\">Deprecated messages</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#EditMessagesNeverSupportedByScintilla\">Edit messages never\n          supported by Scintilla</a></td>\n\n          <td>&cir; <a class=\"toc\" href=\"#RemovedFeatures\">Removed features</a></td>\n\n        </tr>\n        <tr>\n          <td>&cir; <a class=\"toc\" href=\"#BuildingScintilla\">Building Scintilla</a></td>\n\n        </tr>\n      </tbody>\n    </table>\n\n    <p>Messages with names of the form <code>SCI_SETxxxxx</code> often have a companion\n    <code>SCI_GETxxxxx</code>. To save tedious repetition, if the <code>SCI_GETxxxxx</code> message\n    returns the value set by the <code>SCI_SETxxxxx</code> message, the <code>SET</code> routine is\n    described and the <code>GET</code> routine is left to your imagination.</p>\n\n    <h2 id=\"TextRetrievalAndModification\">Text retrieval and modification</h2>\n\n    <p>Each byte in a Scintilla document is associated with a byte of styling\n    information. The combination of a character byte and a style byte is called a cell. Style bytes\n    are interpreted an index into an array of styles.</p>\n\n    <p>In this document, 'character' normally refers to a byte even when multi-byte characters are used.\n    Lengths measure the numbers of bytes, not the amount of characters in those bytes.</p>\n\n    <p>Positions within the Scintilla document refer to a character or the gap before that\n    character. The first character in a document is 0, the second 1 and so on. If a document\n    contains <code>nLen</code> characters, the last character is numbered <code>nLen</code>-1.\n    The caret exists between character positions and can be located from before the first character (0)\n    to after the last character (<code>nLen</code>).</p>\n\n    <p>There are places where the caret can not go where two character bytes make up one character.\n    This occurs when a DBCS character from a language like Japanese is included in the document or\n    when line ends are marked with the CP/M standard of a carriage return followed by a line feed.\n    The <code>INVALID_POSITION</code> constant (-1) represents an invalid position within the\n    document.</p>\n\n    <p>All lines of text in Scintilla are the same height, and this height is calculated from the\n    largest font in any current style. This restriction is for performance; if lines differed in\n    height then calculations involving positioning of text would require the text to be styled\n    first.</p>\n    <code><a class=\"message\" href=\"#SCI_GETTEXT\">SCI_GETTEXT(int length, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETTEXT\">SCI_SETTEXT(&lt;unused&gt;, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_SETSAVEPOINT\">SCI_SETSAVEPOINT</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINE\">SCI_GETLINE(int line, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_REPLACESEL\">SCI_REPLACESEL(&lt;unused&gt;, const char\n    *text)</a><br />\n     <a class=\"message\" href=\"#SCI_SETREADONLY\">SCI_SETREADONLY(bool readOnly)</a><br />\n     <a class=\"message\" href=\"#SCI_GETREADONLY\">SCI_GETREADONLY &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE(&lt;unused&gt;, Sci_TextRange *tr) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ALLOCATE\">SCI_ALLOCATE(int bytes)</a><br />\n     <a class=\"message\" href=\"#SCI_ADDTEXT\">SCI_ADDTEXT(int length, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_ADDSTYLEDTEXT\">SCI_ADDSTYLEDTEXT(int length, cell *c)</a><br />\n     <a class=\"message\" href=\"#SCI_APPENDTEXT\">SCI_APPENDTEXT(int length, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_INSERTTEXT\">SCI_INSERTTEXT(int pos, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_CHANGEINSERTION\">SCI_CHANGEINSERTION(int length, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARALL\">SCI_CLEARALL</a><br />\n     <a class=\"message\" href=\"#SCI_DELETERANGE\">SCI_DELETERANGE(int start, int lengthDelete)</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARDOCUMENTSTYLE\">SCI_CLEARDOCUMENTSTYLE</a><br />\n     <a class=\"message\" href=\"#SCI_GETCHARAT\">SCI_GETCHARAT(int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETSTYLEAT\">SCI_GETSTYLEAT(int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT(&lt;unused&gt;, Sci_TextRange *tr) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_RELEASEALLEXTENDEDSTYLES\">SCI_RELEASEALLEXTENDEDSTYLES</a><br />\n     <a class=\"message\" href=\"#SCI_ALLOCATEEXTENDEDSTYLES\">SCI_ALLOCATEEXTENDEDSTYLES(int numberStyles) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_TARGETASUTF8\">SCI_TARGETASUTF8(&lt;unused&gt;, char *s) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ENCODEDFROMUTF8\">SCI_ENCODEDFROMUTF8(const char *utf8, char *encoded) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETLENGTHFORENCODE\">SCI_SETLENGTHFORENCODE(int bytes)</a><br />\n    </code>\n\n    <p><b id=\"SCI_GETTEXT\">SCI_GETTEXT(int length, char *text NUL-terminated) &rarr; int</b><br />\n     This returns <code class=\"parameter\">length</code>-1 characters of text from the start of the document plus one\n    terminating 0 character. To collect all the text in a document, use <code>SCI_GETLENGTH</code>\n    to get the number of characters in the document (<code>nLen</code>), allocate a character\n    buffer of length <code>nLen+1</code> bytes, then call <code>SCI_GETTEXT(nLen+1, char\n    *text)</code>. If the text argument is 0 then the length that should be allocated to store the\n    entire document is returned.\n    If you then save the text, you should use <code>SCI_SETSAVEPOINT</code> to mark\n    the text as unmodified.</p>\n\n    <p>See also: <code><a class=\"seealso\" href=\"#SCI_GETSELTEXT\">SCI_GETSELTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETCURLINE\">SCI_GETCURLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETLINE\">SCI_GETLINE</a>,\n    <a class=\"seealso \"href=\"#SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE</a></code></p>\n\n    <p><b id=\"SCI_SETTEXT\">SCI_SETTEXT(&lt;unused&gt;, const char *text)</b><br />\n     This replaces all the text in the document with the zero terminated text string you pass\n    in.</p>\n\n    <p><b id=\"SCI_SETSAVEPOINT\">SCI_SETSAVEPOINT</b><br />\n     This message tells Scintilla that the current state of the document is unmodified. This is\n    usually done when the file is saved or loaded, hence the name \"save point\". As Scintilla\n    performs undo and redo operations, it notifies the container that it has entered or left the\n    save point with <code><a class=\"message\"\n    href=\"#SCN_SAVEPOINTREACHED\">SCN_SAVEPOINTREACHED</a></code> and <code><a class=\"message\"\n    href=\"#SCN_SAVEPOINTLEFT\">SCN_SAVEPOINTLEFT</a></code> <a class=\"jump\"\n    href=\"#Notifications\">notification messages</a>, allowing the container to know if the file\n    should be considered dirty or not.</p>\n\n    <p>See also: <code><a class=\"message\" href=\"#SCI_EMPTYUNDOBUFFER\">SCI_EMPTYUNDOBUFFER</a>, <a\n    class=\"message\" href=\"#SCI_GETMODIFY\">SCI_GETMODIFY</a></code></p>\n\n    <p><b id=\"SCI_GETLINE\">SCI_GETLINE(int line, char *text) &rarr; int</b><br />\n     This fills the buffer defined by text with the contents of the nominated line (lines start at\n    0). The buffer is not terminated by a 0 character. It is up to you to make sure that the buffer\n    is long enough for the text, use <a class=\"message\"\n    href=\"#SCI_LINELENGTH\"><code>SCI_LINELENGTH(int line)</code></a>. The returned value is the\n    number of characters copied to the buffer. The returned text includes any end of line\n    characters. If you ask for a line number outside the range of lines in the document, 0\n    characters are copied. If the text argument is 0 then the length that should be allocated\n    to store the entire line is returned.</p>\n\n    <p>See also: <code><a class=\"seealso\" href=\"#SCI_GETCURLINE\">SCI_GETCURLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETSELTEXT\">SCI_GETSELTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXT\">SCI_GETTEXT</a></code></p>\n\n    <p><b id=\"SCI_REPLACESEL\">SCI_REPLACESEL(&lt;unused&gt;, const char *text)</b><br />\n     The currently selected text between the <a class=\"jump\" href=\"#SelectionAndInformation\">anchor\n    and the current position</a> is replaced by the 0 terminated text string. If the anchor and\n    current position are the same, the text is inserted at the caret position. The caret is\n    positioned after the inserted text and the caret is scrolled into view.</p>\n\n    <p><b id=\"SCI_SETREADONLY\">SCI_SETREADONLY(bool readOnly)</b><br />\n     <b id=\"SCI_GETREADONLY\">SCI_GETREADONLY &rarr; bool</b><br />\n     These messages set and get the read-only flag for the document. If you mark a document as read\n    only, attempts to modify the text cause the <a class=\"message\"\n    href=\"#SCN_MODIFYATTEMPTRO\"><code>SCN_MODIFYATTEMPTRO</code></a> notification.</p>\n\n    <p><b id=\"SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE(&lt;unused&gt;, <a class=\"jump\" href=\"#Sci_TextRange\">Sci_TextRange</a> *tr) &rarr; int</b><br />\n     This collects the text between the positions <code>cpMin</code> and <code>cpMax</code> and\n    copies it to <code>lpstrText</code> (see <code>struct Sci_TextRange</code> in\n    <code>Scintilla.h</code>). If <code>cpMax</code> is -1, text is returned to the end of the\n    document. The text is 0 terminated, so you must supply a buffer that is at least 1 character\n    longer than the number of characters you wish to read. The return value is the length of the\n    returned text not including the terminating 0.</p>\n\n    <p>See also: <code><a class=\"seealso\" href=\"#SCI_GETSELTEXT\">SCI_GETSELTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETLINE\">SCI_GETLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETCURLINE\">SCI_GETCURLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXT\">SCI_GETTEXT</a></code></p>\n\n    <p><b id=\"SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT(&lt;unused&gt;, <a class=\"jump\" href=\"#Sci_TextRange\">Sci_TextRange</a> *tr) &rarr; int</b><br />\n     This collects styled text into a buffer using two bytes for each cell, with the character at\n    the lower address of each pair and the style byte at the upper address. Characters between the\n    positions <code>cpMin</code> and <code>cpMax</code> are copied to <code>lpstrText</code> (see\n    <code>struct Sci_TextRange</code> in <code>Scintilla.h</code>). Two 0 bytes are added to the end of\n    the text, so the buffer that <code>lpstrText</code> points at must be at least\n    <code>2*(cpMax-cpMin)+2</code> bytes long. No check is made for sensible values of\n    <code>cpMin</code> or <code>cpMax</code>. Positions outside the document return character codes\n    and style bytes of 0.</p>\n\n    <p>See also: <code><a class=\"seealso\" href=\"#SCI_GETSELTEXT\">SCI_GETSELTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETLINE\">SCI_GETLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETCURLINE\">SCI_GETCURLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXT\">SCI_GETTEXT</a></code></p>\n\n    <p><b id=\"SCI_ALLOCATE\">SCI_ALLOCATE(int bytes)</b><br />\n     Allocate a document buffer large enough to store a given number of bytes.\n     The document will not be made smaller than its current contents.</p>\n\n    <p><b id=\"SCI_ADDTEXT\">SCI_ADDTEXT(int length, const char *text)</b><br />\n     This inserts the first <code class=\"parameter\">length</code> characters from the string\n     <code class=\"parameter\">text</code>\n    at the current position. This will include any 0's in the string that you might have expected\n    to stop the insert operation. The current position is set at the end of the inserted text,\n    but it is not scrolled into view.</p>\n\n    <p><b id=\"SCI_ADDSTYLEDTEXT\">SCI_ADDSTYLEDTEXT(int length, cell *c)</b><br />\n     This behaves just like <code>SCI_ADDTEXT</code>, but inserts styled text.</p>\n\n    <p><b id=\"SCI_APPENDTEXT\">SCI_APPENDTEXT(int length, const char *text)</b><br />\n     This adds the first <code class=\"parameter\">length</code> characters from the string\n     <code class=\"parameter\">text</code> to the end\n    of the document. This will include any 0's in the string that you might have expected to stop\n    the operation. The current selection is not changed and the new text is not scrolled into\n    view.</p>\n\n    <p><b id=\"SCI_INSERTTEXT\">SCI_INSERTTEXT(int pos, const char *text)</b><br />\n     This inserts the zero terminated <code class=\"parameter\">text</code> string at position <code class=\"parameter\">pos</code> or at\n    the current position if <code class=\"parameter\">pos</code> is -1. If the current position is after the insertion point\n    then it is moved along with its surrounding text but no scrolling is performed.</p>\n\n    <p><b id=\"SCI_CHANGEINSERTION\">SCI_CHANGEINSERTION(int length, const char *text)</b><br />\n     This may only be called from a <a class=\"message\" href=\"#SC_MOD_INSERTCHECK\">SC_MOD_INSERTCHECK</a>\n     notification handler and will change the text being inserted to that provided.</p>\n\n    <p><b id=\"SCI_CLEARALL\">SCI_CLEARALL</b><br />\n     Unless the document is read-only, this deletes all the text.</p>\n\n    <p><b id=\"SCI_DELETERANGE\">SCI_DELETERANGE(int start, int lengthDelete)</b><br />\n     Deletes a range of text in the document.</p>\n\n    <p><b id=\"SCI_CLEARDOCUMENTSTYLE\">SCI_CLEARDOCUMENTSTYLE</b><br />\n     When wanting to completely restyle the document, for example after choosing a lexer, the\n    <code>SCI_CLEARDOCUMENTSTYLE</code> can be used to clear all styling information and reset the\n    folding state.</p>\n\n    <p><b id=\"SCI_GETCHARAT\">SCI_GETCHARAT(int pos) &rarr; int</b><br />\n     This returns the character at <code class=\"parameter\">pos</code> in the document or 0 if <code class=\"parameter\">pos</code> is\n    negative or past the end of the document.</p>\n\n    <p><b id=\"SCI_GETSTYLEAT\">SCI_GETSTYLEAT(int pos) &rarr; int</b><br />\n     This returns the style at <code class=\"parameter\">pos</code> in the document, or 0 if <code class=\"parameter\">pos</code> is\n    negative or past the end of the document.</p>\n\n    <p><b id=\"SCI_RELEASEALLEXTENDEDSTYLES\">SCI_RELEASEALLEXTENDEDSTYLES</b><br />\n    <b id=\"SCI_ALLOCATEEXTENDEDSTYLES\">SCI_ALLOCATEEXTENDEDSTYLES(int numberStyles) &rarr; int</b><br />\n     Extended styles are used for features like textual margins and annotations as well as internally by Scintilla.\n     They are outside the range 0..255 used for the styles bytes associated with document bytes.\n     These functions manage the use of extended styles to ensures that components cooperate in defining styles.\n     <code>SCI_RELEASEALLEXTENDEDSTYLES</code> releases any extended styles allocated by the container.\n     <code>SCI_ALLOCATEEXTENDEDSTYLES</code> allocates a range of style numbers after the byte style values and returns\n     the number of the first allocated style.\n     Ranges for margin and annotation styles should be allocated before calling\n     <a class=\"seealso\" href=\"#SCI_MARGINSETSTYLEOFFSET\">SCI_MARGINSETSTYLEOFFSET</a> or\n     <a class=\"seealso\" href=\"#SCI_ANNOTATIONSETSTYLEOFFSET\">SCI_ANNOTATIONSETSTYLEOFFSET</a>.</p>\n\n    <p><b id=\"Sci_TextRange\">Sci_TextRange</b> and <b id=\"Sci_CharacterRange\">Sci_CharacterRange</b><br />\n     These structures are defined to be exactly the same shape as the Win32 <code>TEXTRANGE</code>\n    and <code>CHARRANGE</code>, so that older code that treats Scintilla as a RichEdit will\n    work.</p>\n    <p>In a future release the type <code>Sci_PositionCR</code> will be redefined to be 64-bits when Scintilla is\n    built for 64-bits on all platforms.</p>\n<pre>\ntypedef long Sci_PositionCR;\n\nstruct Sci_CharacterRange {\n    Sci_PositionCR cpMin;\n    Sci_PositionCR cpMax;\n};\n\nstruct Sci_TextRange {\n    struct Sci_CharacterRange chrg;\n    char *lpstrText;\n};\n</pre>\n\n    <h3 id=\"EncodedAccess\">Specific to GTK+, Cocoa and Windows only: Access to encoded text</h3>\n\n    <p><b id=\"SCI_TARGETASUTF8\">SCI_TARGETASUTF8(&lt;unused&gt;, char *s) &rarr; int</b><br />\n     This method retrieves the value of the target encoded as UTF-8 which is the default\n     encoding of GTK+ so is useful for retrieving text for use in other parts of the user interface,\n     such as find and replace dialogs. The length of the encoded text in bytes is returned.\n     Cocoa uses UTF-16 which is easily converted from UTF-8 so this method can be used to perform the\n     more complex work of transcoding from the various encodings supported.\n    </p>\n\n    <p><b id=\"SCI_ENCODEDFROMUTF8\">SCI_ENCODEDFROMUTF8(const char *utf8, char *encoded) &rarr; int</b><br />\n     <b id=\"SCI_SETLENGTHFORENCODE\">SCI_SETLENGTHFORENCODE(int bytes)</b><br />\n     <code>SCI_ENCODEDFROMUTF8</code> converts a UTF-8 string into the document's\n     encoding which is useful for taking the results of a find dialog, for example, and receiving\n     a string of bytes that can be searched for in the document. Since the text can contain nul bytes,\n     the <code>SCI_SETLENGTHFORENCODE</code> method can be used to set the\n     length that will be converted. If set to -1, the length is determined by finding a nul byte.\n     The length of the converted string is returned.\n    </p>\n\n\n    <h2 id=\"Searching\">Searching</h2>\n    <p>\n    There are methods to search for text and for regular expressions.\n    Most applications should use\n    <a class=\"seealso\" href=\"#SCI_SEARCHINTARGET\">SCI_SEARCHINTARGET</a>\n    as the basis for their search implementations.\n    Other calls augment this or were implemented before <code>SCI_SEARCHINTARGET</code>.\n    </p>\n    <p>\n    The base regular expression support\n    is limited and should only be used for simple cases and initial development.\n    The C++ runtime &lt;regex&gt; library may be used by setting the <code>SCFIND_CXX11REGEX</code> search flag.\n    The C++11 &lt;regex&gt; support may be disabled by\n    compiling Scintilla with <code>NO_CXX11_REGEX</code> defined.\n    A different regular expression\n    library can be <a class=\"jump\" href=\"#AlternativeRegEx\">integrated into Scintilla</a>\n    or can be called from the container using direct access to the buffer contents through\n    <a class=\"seealso\" href=\"#SCI_GETCHARACTERPOINTER\">SCI_GETCHARACTERPOINTER</a>.\n    </p>\n\n    <h3 id=\"SearchAndReplaceUsingTheTarget\">Search and replace using the target</h3>\n\n    <p>Searching can be performed within the target range with <code>SCI_SEARCHINTARGET</code>,\n    which uses a counted string to allow searching for null characters. It returns the\n    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\n    <code>SCI_SEARCHINTARGET</code> such as <code>SCFIND_MATCHCASE</code>,\n    <code>SCFIND_WHOLEWORD</code>, <code>SCFIND_WORDSTART</code>, and <code>SCFIND_REGEXP</code>\n    can be set with <code>SCI_SETSEARCHFLAGS</code>.</p>\n    <code><a class=\"message\" href=\"#SCI_SETTARGETSTART\">SCI_SETTARGETSTART(int start)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTARGETSTART\">SCI_GETTARGETSTART &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETTARGETEND\">SCI_SETTARGETEND(int end)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTARGETEND\">SCI_GETTARGETEND &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETTARGETRANGE\">SCI_SETTARGETRANGE(int start, int end)</a><br />\n     <a class=\"message\" href=\"#SCI_TARGETFROMSELECTION\">SCI_TARGETFROMSELECTION</a><br />\n     <a class=\"message\" href=\"#SCI_TARGETWHOLEDOCUMENT\">SCI_TARGETWHOLEDOCUMENT</a><br />\n     <a class=\"message\" href=\"#SCI_SETSEARCHFLAGS\">SCI_SETSEARCHFLAGS(int searchFlags)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSEARCHFLAGS\">SCI_GETSEARCHFLAGS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SEARCHINTARGET\">SCI_SEARCHINTARGET(int length, const char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETTARGETTEXT\">SCI_GETTARGETTEXT(&lt;unused&gt;, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_REPLACETARGET\">SCI_REPLACETARGET(int length, const char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_REPLACETARGETRE\">SCI_REPLACETARGETRE(int length, const char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETTAG\">SCI_GETTAG(int tagNumber, char *tagValue) &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETTARGETSTART\">SCI_SETTARGETSTART(int start)</b><br />\n     <b id=\"SCI_GETTARGETSTART\">SCI_GETTARGETSTART &rarr; position</b><br />\n     <b id=\"SCI_SETTARGETEND\">SCI_SETTARGETEND(int end)</b><br />\n     <b id=\"SCI_GETTARGETEND\">SCI_GETTARGETEND &rarr; position</b><br />\n     <b id=\"SCI_SETTARGETRANGE\">SCI_SETTARGETRANGE(int start, int end)</b><br />\n     These functions set and return the start and end of the target. When searching\n     you can set start greater than end to find the last matching text in the\n    target rather than the first matching text. The target is also set by a successful\n    <code>SCI_SEARCHINTARGET</code>.</p>\n\n     <p><b id=\"SCI_TARGETFROMSELECTION\">SCI_TARGETFROMSELECTION</b><br />\n     Set the target start and end to the start and end positions of the selection.</p>\n\n     <p><b id=\"SCI_TARGETWHOLEDOCUMENT\">SCI_TARGETWHOLEDOCUMENT</b><br />\n     Set the target start to the start of the document and target end to the end of the document.</p>\n\n    <p><b id=\"SCI_SETSEARCHFLAGS\">SCI_SETSEARCHFLAGS(int searchFlags)</b><br />\n     <b id=\"SCI_GETSEARCHFLAGS\">SCI_GETSEARCHFLAGS &rarr; int</b><br />\n     These get and set the <a class=\"jump\" href=\"#searchFlags\"><code class=\"parameter\">searchFlags</code></a> used by\n    <code>SCI_SEARCHINTARGET</code>. There are several option flags including a simple regular\n    expression search.</p>\n\n    <p><b id=\"SCI_SEARCHINTARGET\">SCI_SEARCHINTARGET(int length, const char *text) &rarr; int</b><br />\n     This searches for the first occurrence of a text string in the target defined by\n    <code>SCI_SETTARGETSTART</code> and <code>SCI_SETTARGETEND</code>. The text string is not zero\n    terminated; the size is set by <code class=\"parameter\">length</code>. The search is modified by the search flags\n    set by <code>SCI_SETSEARCHFLAGS</code>. If the search succeeds, the target is set to the found\n    text and the return value is the position of the start of the matching text. If the search\n    fails, the result is -1.</p>\n\n    <p><b id=\"SCI_GETTARGETTEXT\">SCI_GETTARGETTEXT(&lt;unused&gt;, char *text) &rarr; int</b><br />\n     Retrieve the value in the target.</p>\n\n    <p><b id=\"SCI_REPLACETARGET\">SCI_REPLACETARGET(int length, const char *text) &rarr; int</b><br />\n     If <code class=\"parameter\">length</code> is -1, <code class=\"parameter\">text</code> is a zero terminated string, otherwise\n    <code class=\"parameter\">length</code> sets the number of character to replace the target with.\n           After replacement, the target range refers to the replacement text.\n           The return value\n    is the length of the replacement string.<br />\n    Note that the recommended way to delete text in the document is to set the target to the text to be removed,\n    and to perform a replace target with an empty string.</p>\n\n    <p><b id=\"SCI_REPLACETARGETRE\">SCI_REPLACETARGETRE(int length, const char *text) &rarr; int</b><br />\n     This replaces the target using regular expressions. If <code class=\"parameter\">length</code> is -1,\n    <code class=\"parameter\">text</code> is a zero terminated string, otherwise <code class=\"parameter\">length</code> is the number of\n    characters to use. The replacement string is formed from the text string with any sequences of\n    <code>\\1</code> through <code>\\9</code> replaced by tagged matches from the most recent regular\n    expression search. <code>\\0</code> is replaced with all the matched text from the most recent search.\n           After replacement, the target range refers to the replacement text.\n           The return value is the length of the replacement string.</p>\n\n    <p><b id=\"SCI_GETTAG\">SCI_GETTAG(int tagNumber, char *tagValue NUL-terminated) &rarr; int</b><br />\n     Discover what text was matched by tagged expressions in a regular expression search.\n     This is useful if the application wants to interpret the replacement string itself.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_FINDTEXT\"><code>SCI_FINDTEXT</code></a></p>\n\n    <p><b id=\"searchFlags\"><code class=\"parameter\">searchFlags</code></b><br />\n     Several of the search routines use flag options, which include a simple regular expression\n    search. Combine the flag options by adding them:</p>\n\n    <table class=\"standard\" summary=\"Search flags\">\n      <tbody>\n        <tr>\n          <td><code>SCFIND_MATCHCASE</code></td>\n\n          <td>A match only occurs with text that matches the case of the search string.</td>\n        </tr>\n\n        <tr>\n          <td><code>SCFIND_WHOLEWORD</code></td>\n\n          <td>A match only occurs if the characters before and after are not word characters as defined\n\t  by <a class=\"message\" href=\"#SCI_SETWORDCHARS\"><code>SCI_SETWORDCHARS</code></a>.</td>\n        </tr>\n\n        <tr>\n          <td><code>SCFIND_WORDSTART</code></td>\n\n          <td>A match only occurs if the character before is not a word character as defined\n\t  by <a class=\"message\" href=\"#SCI_SETWORDCHARS\"><code>SCI_SETWORDCHARS</code></a>.</td>\n        </tr>\n\n        <tr>\n          <td><code>SCFIND_REGEXP</code></td>\n\n          <td>The search string should be interpreted as a regular expression.\n            Uses Scintilla's base implementation unless combined with <code>SCFIND_CXX11REGEX</code>.</td>\n        </tr>\n        <tr>\n          <td><code>SCFIND_POSIX</code></td>\n\n          <td>Treat regular expression in a more POSIX compatible manner\n            by interpreting bare ( and ) for tagged sections rather than \\( and \\).\n            Has no effect when <code>SCFIND_CXX11REGEX</code> is set.</td>\n        </tr>\n        <tr>\n          <td><code>SCFIND_CXX11REGEX</code></td>\n\n          <td>This flag may be set to use C++11 &lt;regex&gt; instead of Scintilla's basic regular expressions.\n            If the regular expression is invalid then -1 is returned and status is set to\n            <code>SC_STATUS_WARN_REGEX</code>.\n            The ECMAScript flag is set on the regex object and UTF-8 documents will exhibit Unicode-compliant\n            behaviour. For MSVC, where wchar_t is 16-bits, the reular expression \"..\" will match a single\n            astral-plane character. There may be other differences between compilers.\n            Must also have <code>SCFIND_REGEXP</code> set.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>In a regular expression, using Scintilla's base implementation,\n    special characters interpreted are:</p>\n\n    <table class=\"standard\" summary=\"Regular expression synopsis\">\n      <tbody>\n        <tr>\n          <td><code>.</code></td>\n\n          <td>Matches any character</td>\n        </tr>\n\n        <tr>\n          <td><code>\\(</code></td>\n\n          <td>This marks the start of a region for tagging a match.</td>\n        </tr>\n\n        <tr>\n          <td><code>\\)</code></td>\n\n          <td>This marks the end of a tagged region.</td>\n        </tr>\n\n        <tr>\n          <td><code>\\n</code></td>\n\n          <td>Where <code>n</code> is 1 through 9 refers to the first through ninth tagged region\n          when replacing. For example, if the search string was <code>Fred\\([1-9]\\)XXX</code> and\n          the replace string was <code>Sam\\1YYY</code>, when applied to <code>Fred2XXX</code> this\n          would generate <code>Sam2YYY</code>.\n\t  <code>\\0</code> refers to all of the matching text.</td>\n        </tr>\n\n        <tr>\n          <td><code>\\&lt;</code></td>\n\n          <td>This matches the start of a word using Scintilla's definitions of words.</td>\n        </tr>\n\n        <tr>\n          <td><code>\\&gt;</code></td>\n\n          <td>This matches the end of a word using Scintilla's definition of words.</td>\n        </tr>\n\n        <tr>\n          <td><code>\\x</code></td>\n\n          <td>This allows you to use a character x that would otherwise have a special meaning. For\n          example, \\[ would be interpreted as [ and not as the start of a character set.</td>\n        </tr>\n\n        <tr>\n          <td><code>[...]</code></td>\n\n          <td>This indicates a set of characters, for example, [abc] means any of the characters a,\n          b or c. You can also use ranges, for example [a-z] for any lower case character.</td>\n        </tr>\n\n        <tr>\n          <td><code>[^...]</code></td>\n\n          <td>The complement of the characters in the set. For example, [^A-Za-z] means any\n          character except an alphabetic character.</td>\n        </tr>\n\n        <tr>\n          <td><code>^</code></td>\n\n          <td>This matches the start of a line (unless used inside a set, see above).</td>\n        </tr>\n\n        <tr>\n          <td><code>$</code></td>\n\n          <td>This matches the end of a line.</td>\n        </tr>\n\n        <tr>\n          <td><code>*</code></td>\n\n          <td>This matches 0 or more times. For example, <code>Sa*m</code> matches <code>Sm</code>,\n          <code>Sam</code>, <code>Saam</code>, <code>Saaam</code> and so on.</td>\n        </tr>\n\n        <tr>\n          <td><code>+</code></td>\n\n          <td>This matches 1 or more times. For example, <code>Sa+m</code> matches\n          <code>Sam</code>, <code>Saam</code>, <code>Saaam</code> and so on.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>Regular expressions will only match ranges within a single line, never matching over multiple lines.</p>\n\n    <p>When using <code>SCFIND_CXX11REGEX</code> more features are available,\n    generally similar to regular expression support in JavaScript.\n    See the documentation of your C++ runtime for details on what is supported.</p>\n\n    <code><a class=\"message\" href=\"#SCI_FINDTEXT\">SCI_FINDTEXT(int searchFlags, Sci_TextToFind *ft) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SEARCHANCHOR\">SCI_SEARCHANCHOR</a><br />\n     <a class=\"message\" href=\"#SCI_SEARCHNEXT\">SCI_SEARCHNEXT(int searchFlags, const char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SEARCHPREV\">SCI_SEARCHPREV(int searchFlags, const char *text) &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_FINDTEXT\">SCI_FINDTEXT(int searchFlags, <a class=\"jump\" href=\"#Sci_TextToFind\">Sci_TextToFind</a> *ft) &rarr; position</b><br />\n     This message searches for text in the document. It does not use or move the current selection.\n    The <a class=\"jump\" href=\"#searchFlags\"><code class=\"parameter\">searchFlags</code></a> argument controls the\n    search type, which includes regular expression searches.</p>\n\n    <p>You can\n    search backwards to find the previous occurrence of a search string by setting the end of the\n    search range before the start.</p>\n\n    <p>The <code>Sci_TextToFind</code> structure is defined in <code>Scintilla.h</code>; set\n    <code>chrg.cpMin</code> and <code>chrg.cpMax</code> with the range of positions in the document\n    to search. You can search backwards by\n    setting <code>chrg.cpMax</code> less than <code>chrg.cpMin</code>.\n    Set the <code>lpstrText</code> member of <code>Sci_TextToFind</code> to point at a zero terminated\n    text string holding the search pattern. If your language makes the use of <code>Sci_TextToFind</code>\n    difficult, you should consider using <code>SCI_SEARCHINTARGET</code> instead.</p>\n\n    <p>The return value is -1 if the search fails or the position of the start of the found text if\n    it succeeds. The <code>chrgText.cpMin</code> and <code>chrgText.cpMax</code> members of\n    <code>Sci_TextToFind</code> are filled in with the start and end positions of the found text.</p>\n\n    <p>See also: <code><a class=\"message\"\n    href=\"#SCI_SEARCHINTARGET\">SCI_SEARCHINTARGET</a></code></p>\n\n    <p><b id=\"Sci_TextToFind\">Sci_TextToFind</b><br />\n     This structure is defined to have exactly the same shape as the Win32 structure\n    <code>FINDTEXTEX</code> for old code that treated Scintilla as a RichEdit control.</p>\n<pre>\nstruct Sci_TextToFind {\n    struct <a class=\"jump\" href=\"#Sci_CharacterRange\">Sci_CharacterRange</a> chrg;     // range to search\n    const char *lpstrText;                // the search pattern (zero terminated)\n    struct Sci_CharacterRange chrgText; // returned as position of matching text\n};\n</pre>\n\n    <p><b id=\"SCI_SEARCHANCHOR\">SCI_SEARCHANCHOR</b><br />\n     <b id=\"SCI_SEARCHNEXT\">SCI_SEARCHNEXT(int searchFlags, const char *text) &rarr; int</b><br />\n     <b id=\"SCI_SEARCHPREV\">SCI_SEARCHPREV(int searchFlags, const char *text) &rarr; int</b><br />\n     These messages provide relocatable search support. This allows multiple incremental\n    interactive searches to be macro recorded while still setting the selection to found text so\n    the find/select operation is self-contained. These three messages send <a class=\"message\"\n    href=\"#SCN_MACRORECORD\"><code>SCN_MACRORECORD</code></a> <a class=\"jump\"\n    href=\"#Notifications\">notifications</a> if macro recording is enabled.</p>\n\n    <p><code>SCI_SEARCHANCHOR</code> sets the search start point used by\n    <code>SCI_SEARCHNEXT</code> and <code>SCI_SEARCHPREV</code> to the start of the current\n    selection, that is, the end of the selection that is nearer to the start of the document. You\n    should always call this before calling either of <code>SCI_SEARCHNEXT</code> or\n    <code>SCI_SEARCHPREV</code>.</p>\n\n    <p><code>SCI_SEARCHNEXT</code> and <code>SCI_SEARCHPREV</code> search for the next and previous\n    occurrence of the zero terminated search string pointed at by text. The search is modified by\n    the <a class=\"jump\" href=\"#searchFlags\"><code class=\"parameter\">searchFlags</code></a>. </p>\n\n    <p>The return value is -1 if nothing is found, otherwise the return value is the start position\n    of the matching text. The selection is updated to show the matched text, but is not scrolled\n    into view.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SEARCHINTARGET\"><code>SCI_SEARCHINTARGET</code></a>,\n    <a class=\"message\" href=\"#SCI_FINDTEXT\"><code>SCI_FINDTEXT</code></a></p>\n\n    <h2 id=\"Overtype\">Overtype</h2>\n\n    <code><a class=\"message\" href=\"#SCI_SETOVERTYPE\">SCI_SETOVERTYPE(bool overType)</a><br />\n     <a class=\"message\" href=\"#SCI_GETOVERTYPE\">SCI_GETOVERTYPE &rarr; bool</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETOVERTYPE\">SCI_SETOVERTYPE(bool overType)</b><br />\n     <b id=\"SCI_GETOVERTYPE\">SCI_GETOVERTYPE &rarr; bool</b><br />\n     When overtype is enabled, each typed character replaces the character to the right of the text\n    caret. When overtype is disabled, characters are inserted at the caret.\n    <code>SCI_GETOVERTYPE</code> returns <code>true</code> (1) if overtyping is active, otherwise\n    <code>false</code> (0) will be returned. Use <code>SCI_SETOVERTYPE</code> to set the overtype\n    mode.</p>\n\n    <h2 id=\"CutCopyAndPaste\">Cut, copy and paste</h2>\n\n    <code><a class=\"message\" href=\"#SCI_CUT\">SCI_CUT</a><br />\n     <a class=\"message\" href=\"#SCI_COPY\">SCI_COPY</a><br />\n     <a class=\"message\" href=\"#SCI_PASTE\">SCI_PASTE</a><br />\n     <a class=\"message\" href=\"#SCI_CLEAR\">SCI_CLEAR</a><br />\n     <a class=\"message\" href=\"#SCI_CANPASTE\">SCI_CANPASTE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_COPYRANGE\">SCI_COPYRANGE(int start, int end)</a><br />\n     <a class=\"message\" href=\"#SCI_COPYTEXT\">SCI_COPYTEXT(int length, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_COPYALLOWLINE\">SCI_COPYALLOWLINE</a><br />\n     <a class=\"message\" href=\"#SCI_SETPASTECONVERTENDINGS\">SCI_SETPASTECONVERTENDINGS(bool convert)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPASTECONVERTENDINGS\">SCI_GETPASTECONVERTENDINGS &rarr; bool</a><br />\n    </code>\n\n    <p><b id=\"SCI_CUT\">SCI_CUT</b><br />\n     <b id=\"SCI_COPY\">SCI_COPY</b><br />\n     <b id=\"SCI_PASTE\">SCI_PASTE</b><br />\n     <b id=\"SCI_CLEAR\">SCI_CLEAR</b><br />\n     <b id=\"SCI_CANPASTE\">SCI_CANPASTE &rarr; bool</b><br />\n     <b id=\"SCI_COPYALLOWLINE\">SCI_COPYALLOWLINE</b><br />\n     These commands perform the standard tasks of cutting and copying data to the clipboard,\n    pasting from the clipboard into the document, and clearing the document.\n    <code>SCI_CANPASTE</code> returns non-zero if the document isn't read-only and if the selection\n    doesn't contain protected text. If you need a \"can copy\" or \"can cut\", use\n    <code>SCI_GETSELECTIONEMPTY()</code>, which will be zero if there are any non-empty\n    selection ranges implying that a copy or cut to the clipboard should work.</p>\n\n    <p>GTK+ does not really support <code>SCI_CANPASTE</code> and always returns <code>true</code>\n    unless the document is read-only.</p>\n\n    <p>On X, the clipboard is asynchronous and may require several messages between\n    the destination and source applications. Data from SCI_PASTE will not arrive in the\n    document immediately.</p>\n\n    <p><code>SCI_COPYALLOWLINE</code> works the same as SCI_COPY except that if the\n    selection is empty then the current line is copied. On Windows, an extra \"MSDEVLineSelect\" marker\n    is added to the clipboard which is then used in <code>SCI_PASTE</code> to paste\n    the whole line before the current line.</p>\n\n     <b id=\"SCI_COPYRANGE\">SCI_COPYRANGE(int start, int end)</b><br />\n     <b id=\"SCI_COPYTEXT\">SCI_COPYTEXT(int length, const char *text)</b><br />\n    <p><code>SCI_COPYRANGE</code> copies a range of text from the document to\n    the system clipboard and <code>SCI_COPYTEXT</code> copies a supplied piece of\n    text to the system clipboard.</p>\n\n    <p><b id=\"SCI_SETPASTECONVERTENDINGS\">SCI_SETPASTECONVERTENDINGS(bool convert)</b><br />\n     <b id=\"SCI_GETPASTECONVERTENDINGS\">SCI_GETPASTECONVERTENDINGS &rarr; bool</b><br />\n     If this property is set then when text is pasted any line ends are converted to match the document's\n     end of line mode as set with\n     <a class=\"seealso\" href=\"#SCI_SETEOLMODE\">SCI_SETEOLMODE</a>.\n     Defaults to true.</p>\n\n    <h2 id=\"ErrorHandling\">Error handling</h2>\n\n    <code><a class=\"message\" href=\"#SCI_SETSTATUS\">SCI_SETSTATUS(int status)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSTATUS\">SCI_GETSTATUS &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETSTATUS\">SCI_SETSTATUS(int status)</b><br />\n     <b id=\"SCI_GETSTATUS\">SCI_GETSTATUS &rarr; int</b><br />\n     If an error occurs, Scintilla may set an internal error number that can be retrieved with\n    <code>SCI_GETSTATUS</code>.\n    To clear the error status call <code>SCI_SETSTATUS(0)</code>.\n    Status values from 1 to 999 are errors and status <code>SC_STATUS_WARN_START</code> (1000)\n    and above are warnings.\n    The currently defined statuses are:\n    </p>\n\n    <table class=\"standard\" summary=\"Status values\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>SC_STATUS_OK</code></th>\n          <td>0</td>\n          <td>No failures</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SC_STATUS_FAILURE</code></th>\n          <td>1</td>\n          <td>Generic failure</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SC_STATUS_BADALLOC</code></th>\n          <td>2</td>\n          <td>Memory is exhausted</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SC_STATUS_WARN_REGEX</code></th>\n          <td>1001</td>\n          <td>Regular expression is invalid</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <h2 id=\"UndoAndRedo\">Undo and Redo</h2>\n\n    <p>Scintilla has multiple level undo and redo. It will continue to collect undoable actions\n    until memory runs out. Scintilla saves actions that change the document. Scintilla does not\n    save caret and selection movements, view scrolling and the like. Sequences of typing or\n    deleting are compressed into single transactions to make it easier to undo and redo at a sensible\n    level of detail. Sequences of actions can be combined into transactions that are undone as a unit.\n    These sequences occur between <code>SCI_BEGINUNDOACTION</code> and\n    <code>SCI_ENDUNDOACTION</code> messages. These transactions can be nested and only the top-level\n    sequences are undone as units.</p>\n    <code><a class=\"message\" href=\"#SCI_UNDO\">SCI_UNDO</a><br />\n     <a class=\"message\" href=\"#SCI_CANUNDO\">SCI_CANUNDO &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_EMPTYUNDOBUFFER\">SCI_EMPTYUNDOBUFFER</a><br />\n     <a class=\"message\" href=\"#SCI_REDO\">SCI_REDO</a><br />\n     <a class=\"message\" href=\"#SCI_CANREDO\">SCI_CANREDO &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETUNDOCOLLECTION\">SCI_SETUNDOCOLLECTION(bool collectUndo)</a><br />\n     <a class=\"message\" href=\"#SCI_GETUNDOCOLLECTION\">SCI_GETUNDOCOLLECTION &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_BEGINUNDOACTION\">SCI_BEGINUNDOACTION</a><br />\n     <a class=\"message\" href=\"#SCI_ENDUNDOACTION\">SCI_ENDUNDOACTION</a><br />\n     <a class=\"message\" href=\"#SCI_ADDUNDOACTION\">SCI_ADDUNDOACTION(int token, int flags)</a><br />\n    </code>\n\n    <p><b id=\"SCI_UNDO\">SCI_UNDO</b><br />\n     <b id=\"SCI_CANUNDO\">SCI_CANUNDO &rarr; bool</b><br />\n     <code>SCI_UNDO</code> undoes one action, or if the undo buffer has reached a\n    <code>SCI_ENDUNDOACTION</code> point, all the actions back to the corresponding\n    <code>SCI_BEGINUNDOACTION</code>.</p>\n\n    <p><code>SCI_CANUNDO</code> returns 0 if there is nothing to undo, and 1 if there is. You would\n    typically use the result of this message to enable/disable the Edit menu Undo command.</p>\n\n    <p><b id=\"SCI_REDO\">SCI_REDO</b><br />\n     <b id=\"SCI_CANREDO\">SCI_CANREDO &rarr; bool</b><br />\n     <code>SCI_REDO</code> undoes the effect of the last <code>SCI_UNDO</code> operation.</p>\n\n    <p><code>SCI_CANREDO</code> returns 0 if there is no action to redo and 1 if there are undo\n    actions to redo. You could typically use the result of this message to enable/disable the Edit\n    menu Redo command.</p>\n\n    <p><b id=\"SCI_EMPTYUNDOBUFFER\">SCI_EMPTYUNDOBUFFER</b><br />\n     This command tells Scintilla to forget any saved undo or redo history. It also sets the save\n    point to the start of the undo buffer, so the document will appear to be unmodified. This does\n    not cause the <code><a class=\"message\"\n    href=\"#SCN_SAVEPOINTREACHED\">SCN_SAVEPOINTREACHED</a></code> notification to be sent to the\n    container.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SETSAVEPOINT\"><code>SCI_SETSAVEPOINT</code></a></p>\n\n    <p><b id=\"SCI_SETUNDOCOLLECTION\">SCI_SETUNDOCOLLECTION(bool collectUndo)</b><br />\n     <b id=\"SCI_GETUNDOCOLLECTION\">SCI_GETUNDOCOLLECTION &rarr; bool</b><br />\n     You can control whether Scintilla collects undo information with\n    <code>SCI_SETUNDOCOLLECTION</code>. Pass in <code>true</code> (1) to collect information and\n    <code>false</code> (0) to stop collecting. If you stop collection, you should also use\n    <code>SCI_EMPTYUNDOBUFFER</code> to avoid the undo buffer being unsynchronized with the data in\n    the buffer.</p>\n\n    <p>You might wish to turn off saving undo information if you use the Scintilla to store text\n    generated by a program (a Log view) or in a display window where text is often deleted and\n    regenerated.</p>\n\n    <p><b id=\"SCI_BEGINUNDOACTION\">SCI_BEGINUNDOACTION</b><br />\n     <b id=\"SCI_ENDUNDOACTION\">SCI_ENDUNDOACTION</b><br />\n     Send these two messages to Scintilla to mark the beginning and end of a set of operations that\n    you want to undo all as one operation but that you have to generate as several operations.\n    Alternatively, you can use these to mark a set of operations that you do not want to have\n    combined with the preceding or following operations if they are undone.</p>\n\n    <p><b id=\"SCI_ADDUNDOACTION\">SCI_ADDUNDOACTION(int token, int flags)</b><br />\n     The container can add its own actions into the undo stack by calling\n     <code>SCI_ADDUNDOACTION</code> and an <code>SCN_MODIFIED</code>\n     notification will be sent to the container with the\n     <a class=\"message\" href=\"#SC_MOD_CONTAINER\"><code>SC_MOD_CONTAINER</code></a>\n     flag when it is time to undo (<code>SC_PERFORMED_UNDO</code>) or\n     redo (<code>SC_PERFORMED_REDO</code>) the action. The token argument supplied is\n     returned in the <code>token</code> field of the notification.</p>\n     <p>For example, if the container wanted to allow undo and redo of a 'toggle bookmark' command then\n     it could call <code>SCI_ADDUNDOACTION(line, 0)</code> each time the command is performed.\n     Then when it receives a notification to undo or redo it toggles a bookmark on the line given by\n     the token field. If there are different types of commands or parameters that need to be stored into the undo\n     stack then the container should maintain a stack of its own for the document and use the current\n     position in that stack as the argument to <code>SCI_ADDUNDOACTION(line)</code>.\n     <code>SCI_ADDUNDOACTION</code> commands are not combined together\n     into a single undo transaction unless grouped with <code>SCI_BEGINUNDOACTION</code>\n     and <code>SCI_ENDUNDOACTION</code>.</p>\n\n     <p>The flags argument can be <code>UNDO_MAY_COALESCE</code> (1) if the container action may be\n     coalesced along with any insertion and deletion actions into a single compound action, otherwise 0.\n     Coalescing treats coalescible container actions as transparent so will still only group together insertions that\n     look like typing or deletions that look like multiple uses of the Backspace or Delete keys.\n     </p>\n    <h2 id=\"SelectionAndInformation\">Selection and information</h2>\n\n    <p>Scintilla maintains a selection that stretches between two points, the anchor and the\n    current position. If the anchor and the current position are the same, there is no selected\n    text. Positions in the document range from 0 (before the first character), to the document size\n    (after the last character). If you use messages, there is nothing to stop you setting a\n    position that is in the middle of a CRLF pair, or in the middle of a 2 byte character. However,\n    keyboard commands will not move the caret into such positions.</p>\n    <code><a class=\"message\" href=\"#SCI_GETTEXTLENGTH\">SCI_GETTEXTLENGTH &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETLENGTH\">SCI_GETLENGTH &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINECOUNT\">SCI_GETLINECOUNT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_LINESONSCREEN\">SCI_LINESONSCREEN &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETMODIFY\">SCI_GETMODIFY &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETSEL\">SCI_SETSEL(int anchor, int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GOTOPOS\">SCI_GOTOPOS(int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GOTOLINE\">SCI_GOTOLINE(int line)</a><br />\n     <a class=\"message\" href=\"#SCI_SETCURRENTPOS\">SCI_SETCURRENTPOS(int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GETCURRENTPOS\">SCI_GETCURRENTPOS &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETANCHOR\">SCI_SETANCHOR(int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_GETANCHOR\">SCI_GETANCHOR &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONSTART\">SCI_SETSELECTIONSTART(int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONSTART\">SCI_GETSELECTIONSTART &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONEND\">SCI_SETSELECTIONEND(int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONEND\">SCI_GETSELECTIONEND &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETEMPTYSELECTION\">SCI_SETEMPTYSELECTION(int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_SELECTALL\">SCI_SELECTALL</a><br />\n     <a class=\"message\" href=\"#SCI_LINEFROMPOSITION\">SCI_LINEFROMPOSITION(int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_POSITIONFROMLINE\">SCI_POSITIONFROMLINE(int line) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINEENDPOSITION\">SCI_GETLINEENDPOSITION(int line) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_LINELENGTH\">SCI_LINELENGTH(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETCOLUMN\">SCI_GETCOLUMN(int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_FINDCOLUMN\">SCI_FINDCOLUMN(int line, int column) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_POSITIONFROMPOINT\">SCI_POSITIONFROMPOINT(int x, int y) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_POSITIONFROMPOINTCLOSE\">SCI_POSITIONFROMPOINTCLOSE(int x, int y) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_CHARPOSITIONFROMPOINT\">SCI_CHARPOSITIONFROMPOINT(int x, int y) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_CHARPOSITIONFROMPOINTCLOSE\">SCI_CHARPOSITIONFROMPOINTCLOSE(int x, int y) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_POINTXFROMPOSITION\">SCI_POINTXFROMPOSITION(&lt;unused&gt;, int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_POINTYFROMPOSITION\">SCI_POINTYFROMPOSITION(&lt;unused&gt;, int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_HIDESELECTION\">SCI_HIDESELECTION(bool hide)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELTEXT\">SCI_GETSELTEXT(&lt;unused&gt;, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETCURLINE\">SCI_GETCURLINE(int length, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SELECTIONISRECTANGLE\">SCI_SELECTIONISRECTANGLE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONMODE\">SCI_SETSELECTIONMODE(int selectionMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONMODE\">SCI_GETSELECTIONMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETMOVEEXTENDSSELECTION\">SCI_GETMOVEEXTENDSSELECTION &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINESELSTARTPOSITION\">SCI_GETLINESELSTARTPOSITION(int line) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINESELENDPOSITION\">SCI_GETLINESELENDPOSITION(int line) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_MOVECARETINSIDEVIEW\">SCI_MOVECARETINSIDEVIEW</a><br />\n     <a class=\"message\" href=\"#SCI_POSITIONBEFORE\">SCI_POSITIONBEFORE(int pos) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_POSITIONAFTER\">SCI_POSITIONAFTER(int pos) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_TEXTWIDTH\">SCI_TEXTWIDTH(int style, const char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_TEXTHEIGHT\">SCI_TEXTHEIGHT(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_CHOOSECARETX\">SCI_CHOOSECARETX</a><br />\n     <a class=\"message\" href=\"#SCI_MOVESELECTEDLINESUP\">SCI_MOVESELECTEDLINESUP</a><br />\n     <a class=\"message\" href=\"#SCI_MOVESELECTEDLINESDOWN\">SCI_MOVESELECTEDLINESDOWN</a><br />\n     <a class=\"message\" href=\"#SCI_SETMOUSESELECTIONRECTANGULARSWITCH\">SCI_SETMOUSESELECTIONRECTANGULARSWITCH(bool mouseSelectionRectangularSwitch)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMOUSESELECTIONRECTANGULARSWITCH\">SCI_GETMOUSESELECTIONRECTANGULARSWITCH &rarr; bool</a><br />\n    </code>\n\n    <p><b id=\"SCI_GETTEXTLENGTH\">SCI_GETTEXTLENGTH &rarr; int</b><br />\n     <b id=\"SCI_GETLENGTH\">SCI_GETLENGTH &rarr; int</b><br />\n     Both these messages return the length of the document in bytes.</p>\n\n    <p><b id=\"SCI_GETLINECOUNT\">SCI_GETLINECOUNT &rarr; int</b><br />\n     This returns the number of lines in the document. An empty document contains 1 line. A\n    document holding only an end of line sequence has 2 lines.</p>\n\n    <p><b id=\"SCI_LINESONSCREEN\">SCI_LINESONSCREEN &rarr; int</b><br />\n     This returns the number of complete lines visible on the screen. With a constant line height,\n    this is the vertical space available divided by the line separation. Unless you arrange to size\n    your window to an integral number of lines, there may be a partial line visible at the bottom\n    of the view.</p>\n\n    <p><b id=\"SCI_GETMODIFY\">SCI_GETMODIFY &rarr; bool</b><br />\n     This returns non-zero if the document is modified and 0 if it is unmodified. The modified\n    status of a document is determined by the undo position relative to the save point. The save\n    point is set by <a class=\"message\" href=\"#SCI_SETSAVEPOINT\"><code>SCI_SETSAVEPOINT</code></a>,\n    usually when you have saved data to a file.</p>\n\n    <p>If you need to be notified when the document becomes modified, Scintilla notifies the\n    container that it has entered or left the save point with the <a class=\"message\"\n    href=\"#SCN_SAVEPOINTREACHED\"><code>SCN_SAVEPOINTREACHED</code></a> and <a class=\"message\"\n    href=\"#SCN_SAVEPOINTLEFT\"><code>SCN_SAVEPOINTLEFT</code></a> <a class=\"jump\"\n    href=\"#Notifications\">notification messages</a>.</p>\n\n    <p><b id=\"SCI_SETSEL\">SCI_SETSEL(int anchor, int caret)</b><br />\n     This message sets both the anchor and the current position. If <code class=\"parameter\">caret</code> is\n    negative, it means the end of the document. If <code class=\"parameter\">anchor</code> is negative, it means\n    remove any selection (i.e. set the anchor to the same position as <code class=\"parameter\">caret</code>). The\n    caret is scrolled into view after this operation.</p>\n\n    <p><b id=\"SCI_GOTOPOS\">SCI_GOTOPOS(int caret)</b><br />\n     This removes any selection, sets the caret at <code class=\"parameter\">caret</code> and scrolls the view to make\n    the caret visible, if necessary. It is equivalent to\n    <code>SCI_SETSEL(caret, caret)</code>. The anchor position is set the same as the current\n    position.</p>\n\n    <p><b id=\"SCI_GOTOLINE\">SCI_GOTOLINE(int line)</b><br />\n     This removes any selection and sets the caret at the start of line number <code class=\"parameter\">line</code>\n    and scrolls the view (if needed) to make it visible. The anchor position is set the same as the\n    current position. If <code class=\"parameter\">line</code> is outside the lines in the document (first line is 0),\n    the line set is the first or last.</p>\n\n    <p><b id=\"SCI_SETCURRENTPOS\">SCI_SETCURRENTPOS(int caret)</b><br />\n     This sets the current position and creates a selection between the anchor and the current\n    position. The caret is not scrolled into view.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SCROLLCARET\"><code>SCI_SCROLLCARET</code></a></p>\n\n    <p><b id=\"SCI_GETCURRENTPOS\">SCI_GETCURRENTPOS &rarr; position</b><br />\n     This returns the current position.</p>\n\n    <p><b id=\"SCI_SETANCHOR\">SCI_SETANCHOR(int anchor)</b><br />\n     This sets the anchor position and creates a selection between the anchor position and the\n    current position. The caret is not scrolled into view.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SCROLLCARET\"><code>SCI_SCROLLCARET</code></a></p>\n\n    <p><b id=\"SCI_GETANCHOR\">SCI_GETANCHOR &rarr; position</b><br />\n     This returns the current anchor position.</p>\n\n    <p><b id=\"SCI_SETSELECTIONSTART\">SCI_SETSELECTIONSTART(int anchor)</b><br />\n     <b id=\"SCI_SETSELECTIONEND\">SCI_SETSELECTIONEND(int caret)</b><br />\n     These set the selection based on the assumption that the anchor position is less than the\n    current position. They do not make the caret visible. The table shows the positions of the\n    anchor and the current position after using these messages.</p>\n\n    <table class=\"standard\" summary=\"SetSelection caret positioning\">\n      <thead align=\"center\">\n        <tr>\n          <th>\n\t  New value for\n          </th>\n\n          <th>anchor</th>\n\n          <th>caret</th>\n        </tr>\n      </thead>\n\n      <tbody align=\"center\">\n        <tr>\n          <th><code>SCI_SETSELECTIONSTART</code></th>\n\n          <td><code class=\"parameter\">anchor</code></td>\n\n          <td><code>Max(</code><code class=\"parameter\">anchor</code><code>, current)</code></td>\n        </tr>\n\n        <tr>\n          <th><code>SCI_SETSELECTIONEND</code></th>\n\n          <td><code>Min(anchor, </code><code class=\"parameter\">caret</code><code>)</code></td>\n\n          <td><code class=\"parameter\">caret</code></td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SCROLLCARET\"><code>SCI_SCROLLCARET</code></a></p>\n\n    <p><b id=\"SCI_GETSELECTIONSTART\">SCI_GETSELECTIONSTART &rarr; position</b><br />\n     <b id=\"SCI_GETSELECTIONEND\">SCI_GETSELECTIONEND &rarr; position</b><br />\n     These return the start and end of the selection without regard to which end is the current\n    position and which is the anchor. <code>SCI_GETSELECTIONSTART</code> returns the smaller of the\n    current position or the anchor position. <code>SCI_GETSELECTIONEND</code> returns the larger of\n    the two values.</p>\n\n    <p><b id=\"SCI_SETEMPTYSELECTION\">SCI_SETEMPTYSELECTION(int caret)</b><br />\n     This removes any selection and sets the caret at <code class=\"parameter\">caret</code>. The caret is not scrolled into view.</p>\n\n    <p><b id=\"SCI_SELECTALL\">SCI_SELECTALL</b><br />\n     This selects all the text in the document. The current position is not scrolled into view.</p>\n\n    <p><b id=\"SCI_LINEFROMPOSITION\">SCI_LINEFROMPOSITION(int pos) &rarr; int</b><br />\n     This message returns the line that contains the position <code class=\"parameter\">pos</code> in the document. The\n    return value is 0 if <code class=\"parameter\">pos</code> &lt;= 0. The return value is the last line if\n    <code class=\"parameter\">pos</code> is beyond the end of the document.</p>\n\n    <p><b id=\"SCI_POSITIONFROMLINE\">SCI_POSITIONFROMLINE(int line) &rarr; position</b><br />\n     This returns the document position that corresponds with the start of the line. If\n    <code class=\"parameter\">line</code> is negative, the position of the line holding the start of the selection is\n    returned. If <code class=\"parameter\">line</code> is greater than the lines in the document, the return value is\n    -1. If <code class=\"parameter\">line</code> is equal to the number of lines in the document (i.e. 1 line past the\n    last line), the return value is the end of the document.</p>\n\n    <p><b id=\"SCI_GETLINEENDPOSITION\">SCI_GETLINEENDPOSITION(int line) &rarr; position</b><br />\n     This returns the position at the end of the line, before any line end characters. If <code class=\"parameter\">line</code>\n    is the last line in the document (which does not have any end of line characters) or greater,\n    the result is the size of the document.\n    If <code class=\"parameter\">line</code> is negative the result is undefined.</p>\n\n    <p><b id=\"SCI_LINELENGTH\">SCI_LINELENGTH(int line) &rarr; int</b><br />\n     This returns the length of the line, including any line end characters. If <code class=\"parameter\">line</code>\n    is negative or beyond the last line in the document, the result is 0. If you want the length of\n    the line not including any end of line characters, use <a class=\"message\"\n    href=\"#SCI_GETLINEENDPOSITION\"><code>SCI_GETLINEENDPOSITION(line)</code></a> - <a class=\"message\"\n    href=\"#SCI_POSITIONFROMLINE\"><code>SCI_POSITIONFROMLINE(line)</code></a>.</p>\n\n    <p><b id=\"SCI_GETSELTEXT\">SCI_GETSELTEXT(&lt;unused&gt;, char *text NUL-terminated) &rarr; int</b><br />\n     This copies the currently selected text and a terminating 0 byte to the <code class=\"parameter\">text</code>\n    buffer. The buffer size should be determined by calling with a NULL pointer for the <code class=\"parameter\">text</code> argument\n    <code>SCI_GETSELTEXT(0,0)</code>.\n    This allows for rectangular and discontiguous selections as well as simple selections.\n    See <a class=\"toc\" href=\"#MultipleSelectionAndVirtualSpace\">Multiple Selection</a> for information on\n    how multiple and rectangular selections and virtual space are copied.</p>\n\n    <p>See also: <code><a class=\"seealso\" href=\"#SCI_GETCURLINE\">SCI_GETCURLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETLINE\">SCI_GETLINE</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXT\">SCI_GETTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT</a>,\n    <a class=\"seealso\" href=\"#SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE</a>\n    </code></p>\n\n    <p><b id=\"SCI_GETCURLINE\">SCI_GETCURLINE(int length, char *text NUL-terminated) &rarr; int</b><br />\n     This retrieves the text of the line containing the caret and returns the position within the\n    line of the caret. Pass in <code>char* text</code> pointing at a buffer large enough to hold\n    the text you wish to retrieve and a terminating 0 character.\n    Set <code class=\"parameter\">length</code> to the\n    length of the buffer which must be at least 1 to hold the terminating 0 character.\n    If the text argument is 0 then the length that should be allocated\n    to store the entire current line is returned.</p>\n\n    <p>See also: <code><a class=\"seealso\" href=\"#SCI_GETSELTEXT\">SCI_GETSELTEXT</a>, <a\n    class=\"seealso\" href=\"#SCI_GETLINE\">SCI_GETLINE</a>, <a class=\"seealso\"\n    href=\"#SCI_GETTEXT\">SCI_GETTEXT</a>, <a class=\"seealso\"\n    href=\"#SCI_GETSTYLEDTEXT\">SCI_GETSTYLEDTEXT</a>, <a class=\"seealso\"\n    href=\"#SCI_GETTEXTRANGE\">SCI_GETTEXTRANGE</a></code></p>\n\n    <p><b id=\"SCI_SELECTIONISRECTANGLE\">SCI_SELECTIONISRECTANGLE &rarr; bool</b><br />\n     This returns 1 if the current selection is in rectangle mode, 0 if not.</p>\n\n    <p><b id=\"SCI_SETSELECTIONMODE\">SCI_SETSELECTIONMODE(int selectionMode)</b><br />\n    <b id=\"SCI_GETSELECTIONMODE\">SCI_GETSELECTIONMODE &rarr; int</b><br />\n    The two functions set and get the selection mode, which can be\n     stream (<code>SC_SEL_STREAM</code>=0) or\n     rectangular (<code>SC_SEL_RECTANGLE</code>=1) or\n     by lines (<code>SC_SEL_LINES</code>=2)\n     or thin rectangular (<code>SC_SEL_THIN</code>=3).\n     When set in these modes, regular caret moves will extend or reduce the selection,\n     until the mode is cancelled by a call with same value or with <code>SCI_CANCEL</code>.\n     The get function returns the current mode even if the selection was made by mouse\n     or with regular extended moves.\n     <code>SC_SEL_THIN</code> is the mode after a rectangular selection has been typed into and ensures\n     that no characters are selected.</p>\n\n    <p><b id=\"SCI_GETMOVEEXTENDSSELECTION\">SCI_GETMOVEEXTENDSSELECTION &rarr; bool</b><br />\n     This returns 1 if regular caret moves will extend or reduce the selection, 0 if not.\n     <code>SCI_SETSELECTIONMODE</code> toggles this setting between on and off.</p>\n\n    <p><b id=\"SCI_GETLINESELSTARTPOSITION\">SCI_GETLINESELSTARTPOSITION(int line) &rarr; position</b><br />\n    <b id=\"SCI_GETLINESELENDPOSITION\">SCI_GETLINESELENDPOSITION(int line) &rarr; position</b><br />\n    Retrieve the position of the start and end of the selection at the given line with\n    <code>INVALID_POSITION</code> returned if no selection on this line.</p>\n\n    <p><b id=\"SCI_MOVECARETINSIDEVIEW\">SCI_MOVECARETINSIDEVIEW</b><br />\n     If the caret is off the top or bottom of the view, it is moved to the nearest line that is\n    visible to its current position. Any selection is lost.</p>\n\n    <p><b id=\"SCI_POSITIONBEFORE\">SCI_POSITIONBEFORE(int pos) &rarr; position</b><br />\n     <b id=\"SCI_POSITIONAFTER\">SCI_POSITIONAFTER(int pos) &rarr; position</b><br />\n     These messages return the position before and after another position\n     in the document taking into account the current code page. The minimum\n     position returned is 0 and the maximum is the last position in the document.\n     If called with a position within a multi byte character will return the position\n     of the start/end of that character.</p>\n\n    <p><b id=\"SCI_TEXTWIDTH\">SCI_TEXTWIDTH(int style, const char *text) &rarr; int</b><br />\n     This returns the pixel width of a string drawn in the given <code class=\"parameter\">style</code> which can\n    be used, for example, to decide how wide to make the line number margin in order to display a\n    given number of numerals.</p>\n\n    <p><b id=\"SCI_TEXTHEIGHT\">SCI_TEXTHEIGHT(int line) &rarr; int</b><br />\n     This returns the height in pixels of a particular line. Currently all lines are the same\n    height.</p>\n\n    <p><b id=\"SCI_GETCOLUMN\">SCI_GETCOLUMN(int pos) &rarr; int</b><br />\n     This message returns the column number of a position <code class=\"parameter\">pos</code> within the document\n    taking the width of tabs into account. This returns the column number of the last tab on the\n    line before <code class=\"parameter\">pos</code>, plus the number of characters between the last tab and\n    <code class=\"parameter\">pos</code>. If there are no tab characters on the line, the return value is the number of\n    characters up to the position on the line. In both cases, double byte characters count as a\n    single character. This is probably only useful with monospaced fonts.</p>\n\n    <p><b id=\"SCI_FINDCOLUMN\">SCI_FINDCOLUMN(int line, int column) &rarr; int</b><br />\n     This message returns the position of a <code class=\"parameter\">column</code> on a <code class=\"parameter\">line</code>\n    taking the width of tabs into account. It treats a multi-byte character as a single column.\n    Column numbers, like lines start at 0.</p>\n\n    <p><b id=\"SCI_POSITIONFROMPOINT\">SCI_POSITIONFROMPOINT(int x, int y) &rarr; position</b><br />\n     <b id=\"SCI_POSITIONFROMPOINTCLOSE\">SCI_POSITIONFROMPOINTCLOSE(int x, int y) &rarr; position</b><br />\n     <code>SCI_POSITIONFROMPOINT</code> finds the closest character position to a point and\n    <code>SCI_POSITIONFROMPOINTCLOSE</code> is similar but returns -1 if the point is outside the\n    window or not close to any characters.</p>\n\n    <p><b id=\"SCI_CHARPOSITIONFROMPOINT\">SCI_CHARPOSITIONFROMPOINT(int x, int y) &rarr; position</b><br />\n     <b id=\"SCI_CHARPOSITIONFROMPOINTCLOSE\">SCI_CHARPOSITIONFROMPOINTCLOSE(int x, int y) &rarr; position</b><br />\n     <code>SCI_CHARPOSITIONFROMPOINT</code> finds the closest character to a point and\n    <code>SCI_CHARPOSITIONFROMPOINTCLOSE</code> is similar but returns -1 if the point is outside the\n    window or not close to any characters. This is similar to the previous methods but finds characters rather than\n    inter-character positions.</p>\n\n    <p><b id=\"SCI_POINTXFROMPOSITION\">SCI_POINTXFROMPOSITION(&lt;unused&gt;, int pos) &rarr; int</b><br />\n     <b id=\"SCI_POINTYFROMPOSITION\">SCI_POINTYFROMPOSITION(&lt;unused&gt;, int pos) &rarr; int</b><br />\n     These messages return the x and y display pixel location of text at position <code class=\"parameter\">pos</code>\n    in the document.</p>\n\n    <p><b id=\"SCI_HIDESELECTION\">SCI_HIDESELECTION(bool hide)</b><br />\n     The normal state is to make the selection visible by drawing it as set by <a class=\"message\"\n    href=\"#SCI_SETSELFORE\"><code>SCI_SETSELFORE</code></a> and <a class=\"message\"\n    href=\"#SCI_SETSELBACK\"><code>SCI_SETSELBACK</code></a>. However, if you hide the selection, it\n    is drawn as normal text.</p>\n\n    <p><b id=\"SCI_CHOOSECARETX\">SCI_CHOOSECARETX</b><br />\n     Scintilla remembers the x value of the last position horizontally moved to explicitly by the\n    user and this value is then used when moving vertically such as by using the up and down keys.\n    This message sets the current x position of the caret as the remembered value.</p>\n\n    <p><b id=\"SCI_MOVESELECTEDLINESUP\">SCI_MOVESELECTEDLINESUP</b><br />\n     Move the selected lines up one line, shifting the line above after the selection.\n     The selection will be automatically extended to the beginning of the selection's first line and the end of the selection's last line.\n     If nothing was selected, the line the cursor is currently at will be selected.</p>\n\n    <p><b id=\"SCI_MOVESELECTEDLINESDOWN\">SCI_MOVESELECTEDLINESDOWN</b><br />\n     Move the selected lines down one line, shifting the line below before the selection.\n     The selection will be automatically extended to the beginning of the selection's first line and the end of the selection's last line.\n     If nothing was selected, the line the cursor is currently at will be selected.</p>\n\n    <p><b id=\"SCI_SETMOUSESELECTIONRECTANGULARSWITCH\">SCI_SETMOUSESELECTIONRECTANGULARSWITCH(bool\n     mouseSelectionRectangularSwitch)</b><br />\n    <b id=\"SCI_GETMOUSESELECTIONRECTANGULARSWITCH\">SCI_GETMOUSESELECTIONRECTANGULARSWITCH &rarr; bool</b><br />\n     Enable or disable the ability to switch to rectangular selection mode while making a selection with the mouse.\n     When this option is turned on, mouse selections in stream mode can be switched to rectangular mode by pressing\n     the corresponding modifier key. They then stick to rectangular mode even when the modifier key is released again.\n     When this option is turned off, mouse selections will always stick to the mode the selection was started in. It\n     is off by default.</p>\n\n    <h2 id=\"ByCharacterOrCodeUnit\">By character or UTF-16 code unit</h2>\n\n    <p>Most Scintilla APIs use byte positions but some applications want to use positions based on counting\n    (UTF-32) characters or (UTF-16) code units\n    or need to communicate with other code written in terms of characters or code units.\n    With only byte positions, this may require examining many bytes to count characters or code units in the document\n    but this may be sped up in some cases by indexing the line starts by character or code unit.</p>\n\n    <code>\n     <a class=\"message\" href=\"#SCI_POSITIONRELATIVE\">SCI_POSITIONRELATIVE(int pos, int relative) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_POSITIONRELATIVECODEUNITS\">SCI_POSITIONRELATIVECODEUNITS(int pos, int relative) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_COUNTCHARACTERS\">SCI_COUNTCHARACTERS(int start, int end) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_COUNTCODEUNITS\">SCI_COUNTCODEUNITS(int start, int end) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINECHARACTERINDEX\">SCI_GETLINECHARACTERINDEX &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ALLOCATELINECHARACTERINDEX\">SCI_ALLOCATELINECHARACTERINDEX(int lineCharacterIndex)</a><br />\n     <a class=\"message\" href=\"#SCI_RELEASELINECHARACTERINDEX\">SCI_RELEASELINECHARACTERINDEX(int lineCharacterIndex)</a><br />\n     <a class=\"message\" href=\"#SCI_LINEFROMINDEXPOSITION\">SCI_LINEFROMINDEXPOSITION(int pos, int lineCharacterIndex) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDEXPOSITIONFROMLINE\">SCI_INDEXPOSITIONFROMLINE(int line, int lineCharacterIndex) &rarr; position</a><br />\n    </code>\n\n    <p><b id=\"SCI_POSITIONRELATIVE\">SCI_POSITIONRELATIVE(int pos, int relative) &rarr; position</b><br />\n     Count a number of whole characters before or after the argument position and return that position.\n     The minimum position returned is 0 and the maximum is the last position in the document.\n     If the position goes past the document end then 0 is returned.\n     </p>\n\n    <p><b id=\"SCI_COUNTCHARACTERS\">SCI_COUNTCHARACTERS(int start, int end) &rarr; int</b><br />\n     Returns the number of whole characters between two positions.</p>\n\n    <p><b id=\"SCI_POSITIONRELATIVECODEUNITS\">SCI_POSITIONRELATIVECODEUNITS(int pos, int relative) &rarr; position</b><br />\n    <b id=\"SCI_COUNTCODEUNITS\">SCI_COUNTCODEUNITS(int start, int end) &rarr; int</b><br />\n     These are the UTF-16 versions of <code>SCI_POSITIONRELATIVE</code> and <code>SCI_COUNTCHARACTERS</code>\n     working in terms of UTF-16 code units.</p>\n\n    <p><b id=\"SCI_GETLINECHARACTERINDEX\">SCI_GETLINECHARACTERINDEX &rarr; int</b><br />\n     Returns which if any indexes are active. It may be <code>SC_LINECHARACTERINDEX_NONE(0)</code> or one or more\n     of <code>SC_LINECHARACTERINDEX_UTF32(1)</code> if whole characters are indexed or\n     <code>SC_LINECHARACTERINDEX_UTF16(2)</code> if UTF-16 code units are indexed.\n     Character indexes are currently only supported for UTF-8 documents.</p>\n\n    <p><b id=\"SCI_ALLOCATELINECHARACTERINDEX\">SCI_ALLOCATELINECHARACTERINDEX(int lineCharacterIndex)</b><br />\n    <b id=\"SCI_RELEASELINECHARACTERINDEX\">SCI_RELEASELINECHARACTERINDEX(int lineCharacterIndex)</b><br />\n     Allocate or release one or more indexes using same enumeration as <code>SCI_GETLINECHARACTERINDEX</code>.\n     Different aspects of an application may need indexes for different periods and should allocate for those periods.\n     Indexes use additional memory so releasing them can help minimize memory but they also take time to recalculate.\n     Scintilla may also allocate indexes to support features like accessibility or input method editors.\n     Only one index of each type is created for a document at a time.</p>\n\n    <p><b id=\"SCI_LINEFROMINDEXPOSITION\">SCI_LINEFROMINDEXPOSITION(int pos, int lineCharacterIndex) &rarr; int</b><br />\n    <b id=\"SCI_INDEXPOSITIONFROMLINE\">SCI_INDEXPOSITIONFROMLINE(int line, int lineCharacterIndex) &rarr; position</b><br />\n     The document line of a particular character or code unit may be found by calling <code>SCI_LINEFROMINDEXPOSITION</code> with one of\n     <code>SC_LINECHARACTERINDEX_UTF32(1)</code> or <code>SC_LINECHARACTERINDEX_UTF16(2)</code>.\n     The inverse action, finds the starting position of a document line either in characters or code units from the document start by calling\n     <code>SCI_INDEXPOSITIONFROMLINE</code> with the same <code class=\"parameter\">lineCharacterIndex</code> argument.</p>\n\n    <h2 id=\"MultipleSelectionAndVirtualSpace\">Multiple Selection and Virtual Space</h2>\n\n    <code>\n     <a class=\"message\" href=\"#SCI_SETMULTIPLESELECTION\">SCI_SETMULTIPLESELECTION(bool multipleSelection)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMULTIPLESELECTION\">SCI_GETMULTIPLESELECTION &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETADDITIONALSELECTIONTYPING\">SCI_SETADDITIONALSELECTIONTYPING(bool additionalSelectionTyping)</a><br />\n     <a class=\"message\" href=\"#SCI_GETADDITIONALSELECTIONTYPING\">SCI_GETADDITIONALSELECTIONTYPING &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETMULTIPASTE\">SCI_SETMULTIPASTE(int multiPaste)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMULTIPASTE\">SCI_GETMULTIPASTE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETVIRTUALSPACEOPTIONS\">SCI_SETVIRTUALSPACEOPTIONS(int virtualSpaceOptions)</a><br />\n     <a class=\"message\" href=\"#SCI_GETVIRTUALSPACEOPTIONS\">SCI_GETVIRTUALSPACEOPTIONS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETRECTANGULARSELECTIONMODIFIER\">SCI_SETRECTANGULARSELECTIONMODIFIER(int modifier)</a><br />\n     <a class=\"message\" href=\"#SCI_GETRECTANGULARSELECTIONMODIFIER\">SCI_GETRECTANGULARSELECTIONMODIFIER &rarr; int</a><br />\n     <br />\n\n     <a class=\"message\" href=\"#SCI_GETSELECTIONS\">SCI_GETSELECTIONS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONEMPTY\">SCI_GETSELECTIONEMPTY &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARSELECTIONS\">SCI_CLEARSELECTIONS</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTION\">SCI_SETSELECTION(int caret, int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_ADDSELECTION\">SCI_ADDSELECTION(int caret, int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_DROPSELECTIONN\">SCI_DROPSELECTIONN(int selection)</a><br />\n     <a class=\"message\" href=\"#SCI_SETMAINSELECTION\">SCI_SETMAINSELECTION(int selection)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMAINSELECTION\">SCI_GETMAINSELECTION &rarr; int</a><br />\n     <br />\n\n     <a class=\"message\" href=\"#SCI_SETSELECTIONNCARET\">SCI_SETSELECTIONNCARET(int selection, int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONNCARET\">SCI_GETSELECTIONNCARET(int selection) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONNCARETVIRTUALSPACE\">SCI_SETSELECTIONNCARETVIRTUALSPACE(int selection, int space)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONNCARETVIRTUALSPACE\">SCI_GETSELECTIONNCARETVIRTUALSPACE(int selection) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONNANCHOR\">SCI_SETSELECTIONNANCHOR(int selection, int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONNANCHOR\">SCI_GETSELECTIONNANCHOR(int selection) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONNANCHORVIRTUALSPACE\">SCI_SETSELECTIONNANCHORVIRTUALSPACE(int selection, int space)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONNANCHORVIRTUALSPACE\">SCI_GETSELECTIONNANCHORVIRTUALSPACE(int selection) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONNSTART\">SCI_SETSELECTIONNSTART(int selection, int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONNSTART\">SCI_GETSELECTIONNSTART(int selection) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETSELECTIONNEND\">SCI_SETSELECTIONNEND(int selection, int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSELECTIONNEND\">SCI_GETSELECTIONNEND(int selection) &rarr; position</a><br />\n     <br />\n\n     <a class=\"message\" href=\"#SCI_SETRECTANGULARSELECTIONCARET\">SCI_SETRECTANGULARSELECTIONCARET(int caret)</a><br />\n     <a class=\"message\" href=\"#SCI_GETRECTANGULARSELECTIONCARET\">SCI_GETRECTANGULARSELECTIONCARET &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE\">SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE(int space)</a><br />\n     <a class=\"message\" href=\"#SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE\">SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETRECTANGULARSELECTIONANCHOR\">SCI_SETRECTANGULARSELECTIONANCHOR(int anchor)</a><br />\n     <a class=\"message\" href=\"#SCI_GETRECTANGULARSELECTIONANCHOR\">SCI_GETRECTANGULARSELECTIONANCHOR &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE\">SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE(int space)</a><br />\n     <a class=\"message\" href=\"#SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE\">SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE &rarr; int</a><br />\n     <br />\n\n     <a class=\"message\" href=\"#SCI_SETADDITIONALSELALPHA\">SCI_SETADDITIONALSELALPHA(alpha alpha)</a><br />\n     <a class=\"message\" href=\"#SCI_GETADDITIONALSELALPHA\">SCI_GETADDITIONALSELALPHA &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETADDITIONALSELFORE\">SCI_SETADDITIONALSELFORE(colour fore)</a><br />\n     <a class=\"message\" href=\"#SCI_SETADDITIONALSELBACK\">SCI_SETADDITIONALSELBACK(colour back)</a><br />\n     <a class=\"message\" href=\"#SCI_SETADDITIONALCARETFORE\">SCI_SETADDITIONALCARETFORE(colour fore)</a><br />\n     <a class=\"message\" href=\"#SCI_GETADDITIONALCARETFORE\">SCI_GETADDITIONALCARETFORE &rarr; colour</a><br />\n     <a class=\"message\" href=\"#SCI_SETADDITIONALCARETSBLINK\">SCI_SETADDITIONALCARETSBLINK(bool additionalCaretsBlink)</a><br />\n     <a class=\"message\" href=\"#SCI_GETADDITIONALCARETSBLINK\">SCI_GETADDITIONALCARETSBLINK &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETADDITIONALCARETSVISIBLE\">SCI_SETADDITIONALCARETSVISIBLE(bool additionalCaretsVisible)</a><br />\n     <a class=\"message\" href=\"#SCI_GETADDITIONALCARETSVISIBLE\">SCI_GETADDITIONALCARETSVISIBLE &rarr; bool</a><br />\n     <br />\n\n     <a class=\"message\" href=\"#SCI_SWAPMAINANCHORCARET\">SCI_SWAPMAINANCHORCARET</a><br />\n     <a class=\"message\" href=\"#SCI_ROTATESELECTION\">SCI_ROTATESELECTION</a><br />\n     <a class=\"message\" href=\"#SCI_MULTIPLESELECTADDNEXT\">SCI_MULTIPLESELECTADDNEXT</a><br />\n     <a class=\"message\" href=\"#SCI_MULTIPLESELECTADDEACH\">SCI_MULTIPLESELECTADDEACH</a><br />\n    </code>\n\n    <p>\n    There may be multiple selections active at one time.\n    More selections are made by holding down the Ctrl key while dragging with the mouse.\n    The most recent selection is the main selection and determines which part of the document is shown automatically.\n    Any selection apart from the main selection is called an additional selection.\n    The calls in the previous section operate on the main selection.\n    There is always at least one selection.\n    The selection can be simplified down to just the main selection by\n    <a class=\"message\" href=\"#SCI_CANCEL\"><code>SCI_CANCEL</code></a>\n    which is normally mapped to the Esc key.\n    </p>\n\n    <p>\n    Rectangular selections are handled as multiple selections although the original rectangular range is remembered so that\n    subsequent operations may be handled differently for rectangular selections. For example, pasting a rectangular selection\n    places each piece in a vertical column.\n    </p>\n\n    <p>\n    Virtual space is space beyond the end of each line. The caret may be moved into virtual space but no real space will be\n    added to the document until there is some text typed or some other text insertion command is used.\n    </p>\n\n    <p>When discontiguous selections are copied to the clipboard, each selection is added to the clipboard text\n    in order with no delimiting characters.\n    For rectangular selections the document's line end is added after each line's text. Rectangular selections\n    are always copied from top line to bottom, not in the in order of selection.Virtual space is not copied.</p>\n\n    <p>\n    <b id=\"SCI_SETMULTIPLESELECTION\">SCI_SETMULTIPLESELECTION(bool multipleSelection)</b><br />\n    <b id=\"SCI_GETMULTIPLESELECTION\">SCI_GETMULTIPLESELECTION &rarr; bool</b><br />\n     Enable or disable multiple selection. When multiple selection is disabled, it is not possible to select\n     multiple ranges by holding down the Ctrl key while dragging with the mouse.</p>\n\n    <p>\n    <b id=\"SCI_SETADDITIONALSELECTIONTYPING\">SCI_SETADDITIONALSELECTIONTYPING(bool additionalSelectionTyping)</b><br />\n    <b id=\"SCI_GETADDITIONALSELECTIONTYPING\">SCI_GETADDITIONALSELECTIONTYPING &rarr; bool</b><br />\n     Whether typing, new line, cursor left/right/up/down, backspace, delete, home, and end work\n     with multiple selections simultaneously.\n     Also allows selection and word and line deletion commands.</p>\n\n    <p>\n    <b id=\"SCI_SETMULTIPASTE\">SCI_SETMULTIPASTE(int multiPaste)</b><br />\n    <b id=\"SCI_GETMULTIPASTE\">SCI_GETMULTIPASTE &rarr; int</b><br />\n     When pasting into multiple selections, the pasted text can go into just the main selection with <code>SC_MULTIPASTE_ONCE</code>=0\n     or into each selection with <code>SC_MULTIPASTE_EACH</code>=1. <code>SC_MULTIPASTE_ONCE</code> is the default.</p>\n\n    <p>\n    <b id=\"SCI_SETVIRTUALSPACEOPTIONS\">SCI_SETVIRTUALSPACEOPTIONS(int virtualSpaceOptions)</b><br />\n    <b id=\"SCI_GETVIRTUALSPACEOPTIONS\">SCI_GETVIRTUALSPACEOPTIONS &rarr; int</b><br />\n     Virtual space can be enabled or disabled for rectangular selections or in other circumstances or in both.\n     There are three bit flags <code>SCVS_RECTANGULARSELECTION</code>=1,\n     <code>SCVS_USERACCESSIBLE</code>=2, and\n     <code>SCVS_NOWRAPLINESTART</code>=4 which can be set independently.\n     <code>SCVS_NONE</code>=0, the default, disables all use of virtual space.</p>\n     <p><code>SCVS_NOWRAPLINESTART</code> prevents left arrow movement and selection\n     from wrapping to the previous line.\n     This is most commonly desired in conjunction with virtual space but is an independent\n     setting so works without virtual space.</p>\n\n    <p>\n    <b id=\"SCI_SETRECTANGULARSELECTIONMODIFIER\">SCI_SETRECTANGULARSELECTIONMODIFIER(int modifier)</b><br />\n    <b id=\"SCI_GETRECTANGULARSELECTIONMODIFIER\">SCI_GETRECTANGULARSELECTIONMODIFIER &rarr; int</b><br />\n     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.\n     The three possible values are <code>SCMOD_CTRL</code>=2, <code>SCMOD_ALT</code>=4 (default) or <code>SCMOD_SUPER</code>=8.\n     Since <code>SCMOD_ALT</code> may already be used by a window manager, the window manager may need configuring to allow this choice.\n     <code>SCMOD_SUPER</code> is often a system dependent modifier key such as the Left Windows key on a Windows keyboard or the\n     Command key on a Mac.</p>\n\n    <p>\n    <b id=\"SCI_GETSELECTIONS\">SCI_GETSELECTIONS &rarr; int</b><br />\n     Return the number of selections currently active. There is always at least one selection.</p>\n\n    <p>\n    <b id=\"SCI_GETSELECTIONEMPTY\">SCI_GETSELECTIONEMPTY &rarr; bool</b><br />\n     Return 1 if every selected range is empty else 0.</p>\n\n    <p>\n    <b id=\"SCI_CLEARSELECTIONS\">SCI_CLEARSELECTIONS</b><br />\n     Set a single empty selection at 0 as the only selection.</p>\n\n    <p>\n    <b id=\"SCI_SETSELECTION\">SCI_SETSELECTION(int caret, int anchor)</b><br />\n     Set a single selection from <code class=\"parameter\">anchor</code> to <code class=\"parameter\">caret</code> as the only selection.</p>\n\n    <p>\n    <b id=\"SCI_ADDSELECTION\">SCI_ADDSELECTION(int caret, int anchor)</b><br />\n     Add a new selection from <code class=\"parameter\">anchor</code> to <code class=\"parameter\">caret</code> as the main selection retaining all other\n     selections as additional selections.\n     Since there is always at least one selection, to set a list of selections, the first selection should be\n     added with <code>SCI_SETSELECTION</code> and later selections added with <code>SCI_ADDSELECTION</code></p>\n\n    <p>\n    <b id=\"SCI_DROPSELECTIONN\">SCI_DROPSELECTIONN(int selection)</b><br />\n     If there are multiple selections, remove the indicated selection.\n     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.\n     If there is only one selection, or there is no selection <code class=\"parameter\">selection</code>, then there is no effect.</p>\n\n    <p>\n    <b id=\"SCI_SETMAINSELECTION\">SCI_SETMAINSELECTION(int selection)</b><br />\n    <b id=\"SCI_GETMAINSELECTION\">SCI_GETMAINSELECTION &rarr; int</b><br />\n     One of the selections is the main selection which is used to determine what range of text is automatically visible.\n     The main selection may be displayed in different colours or with a differently styled caret.\n     Only an already existing selection can be made main.</p>\n\n    <p>\n     <b id=\"SCI_SETSELECTIONNCARET\">SCI_SETSELECTIONNCARET(int selection, int caret)</b><br />\n     <b id=\"SCI_GETSELECTIONNCARET\">SCI_GETSELECTIONNCARET(int selection) &rarr; position</b><br />\n     <b id=\"SCI_SETSELECTIONNCARETVIRTUALSPACE\">SCI_SETSELECTIONNCARETVIRTUALSPACE(int selection, int space)</b><br />\n     <b id=\"SCI_GETSELECTIONNCARETVIRTUALSPACE\">SCI_GETSELECTIONNCARETVIRTUALSPACE(int selection) &rarr; int</b><br />\n     <b id=\"SCI_SETSELECTIONNANCHOR\">SCI_SETSELECTIONNANCHOR(int selection, int anchor)</b><br />\n     <b id=\"SCI_GETSELECTIONNANCHOR\">SCI_GETSELECTIONNANCHOR(int selection) &rarr; position</b><br />\n     <b id=\"SCI_SETSELECTIONNANCHORVIRTUALSPACE\">SCI_SETSELECTIONNANCHORVIRTUALSPACE(int selection, int space)</b><br />\n     <b id=\"SCI_GETSELECTIONNANCHORVIRTUALSPACE\">SCI_GETSELECTIONNANCHORVIRTUALSPACE(int selection) &rarr; int</b><br />\n     Set or query the position and amount of virtual space for the caret and anchor of each already existing selection.</p>\n\n    <p>\n     <b id=\"SCI_SETSELECTIONNSTART\">SCI_SETSELECTIONNSTART(int selection, int anchor)</b><br />\n     <b id=\"SCI_GETSELECTIONNSTART\">SCI_GETSELECTIONNSTART(int selection) &rarr; position</b><br />\n     <b id=\"SCI_SETSELECTIONNEND\">SCI_SETSELECTIONNEND(int selection, int caret)</b><br />\n     <b id=\"SCI_GETSELECTIONNEND\">SCI_GETSELECTIONNEND(int selection) &rarr; position</b><br />\n     Set or query the start and end position of each already existing selection.\n     Mostly of use to query each range for its text. The selection parameter is zero-based. </p>\n\n    <p>\n     <b id=\"SCI_SETRECTANGULARSELECTIONCARET\">SCI_SETRECTANGULARSELECTIONCARET(int caret)</b><br />\n     <b id=\"SCI_GETRECTANGULARSELECTIONCARET\">SCI_GETRECTANGULARSELECTIONCARET &rarr; position</b><br />\n     <b id=\"SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE\">SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE(int space)</b><br />\n     <b id=\"SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE\">SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE &rarr; int</b><br />\n     <b id=\"SCI_SETRECTANGULARSELECTIONANCHOR\">SCI_SETRECTANGULARSELECTIONANCHOR(int anchor)</b><br />\n     <b id=\"SCI_GETRECTANGULARSELECTIONANCHOR\">SCI_GETRECTANGULARSELECTIONANCHOR &rarr; position</b><br />\n     <b id=\"SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE\">SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE(int space)</b><br />\n     <b id=\"SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE\">SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE &rarr; int</b><br />\n     Set or query the position and amount of virtual space for the caret and anchor of the rectangular selection.\n     After setting the rectangular selection, this is broken down into multiple selections, one for each line.</p>\n\n    <p>\n     <b id=\"SCI_SETADDITIONALSELALPHA\">SCI_SETADDITIONALSELALPHA(<a class=\"jump\" href=\"#alpha\">alpha</a> alpha)</b><br />\n     <b id=\"SCI_GETADDITIONALSELALPHA\">SCI_GETADDITIONALSELALPHA &rarr; int</b><br />\n     <b id=\"SCI_SETADDITIONALSELFORE\">SCI_SETADDITIONALSELFORE(<a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_SETADDITIONALSELBACK\">SCI_SETADDITIONALSELBACK(<a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     Modify the appearance of additional selections so that they can be differentiated from the main selection which has its appearance set with\n     <a class=\"message\" href=\"#SCI_SETSELALPHA\"><code>SCI_SETSELALPHA</code></a>,\n     <a class=\"message\" href=\"#SCI_GETSELALPHA\"><code>SCI_GETSELALPHA</code></a>,\n     <a class=\"message\" href=\"#SCI_SETSELFORE\"><code>SCI_SETSELFORE</code></a>, and\n     <a class=\"message\" href=\"#SCI_SETSELBACK\"><code>SCI_SETSELBACK</code></a>.\n     <code>SCI_SETADDITIONALSELFORE</code> and\n     <code>SCI_SETADDITIONALSELBACK</code> calls have no\n     effect until <a class=\"message\" href=\"#SCI_SETSELFORE\"><code>SCI_SETSELFORE</code></a>\n     and <a class=\"message\" href=\"#SCI_SETSELBACK\"><code>SCI_SETSELBACK</code></a> are\n     called with useSelection*Colour value set to true. Subsequent calls to\n     <a class=\"message\" href=\"#SCI_SETSELFORE\"><code>SCI_SETSELFORE</code></a>,\n     and <a class=\"message\" href=\"#SCI_SETSELBACK\"><code>SCI_SETSELBACK</code></a> will\n     overwrite the values set by <code>SCI_SETADDITIONALSEL*</code> functions.</p>\n    <p>\n     <b id=\"SCI_SETADDITIONALCARETFORE\">SCI_SETADDITIONALCARETFORE(<a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_GETADDITIONALCARETFORE\">SCI_GETADDITIONALCARETFORE &rarr; colour</b><br />\n     <b id=\"SCI_SETADDITIONALCARETSBLINK\">SCI_SETADDITIONALCARETSBLINK(bool additionalCaretsBlink)</b><br />\n     <b id=\"SCI_GETADDITIONALCARETSBLINK\">SCI_GETADDITIONALCARETSBLINK &rarr; bool</b><br />\n     Modify the appearance of additional carets so that they can be differentiated from the main caret which has its appearance set with\n     <a class=\"message\" href=\"#SCI_SETCARETFORE\"><code>SCI_SETCARETFORE</code></a>,\n     <a class=\"message\" href=\"#SCI_GETCARETFORE\"><code>SCI_GETCARETFORE</code></a>,\n     <a class=\"message\" href=\"#SCI_SETCARETPERIOD\"><code>SCI_SETCARETPERIOD</code></a>, and\n     <a class=\"message\" href=\"#SCI_GETCARETPERIOD\"><code>SCI_GETCARETPERIOD</code></a>.</p>\n\n    <p>\n     <b id=\"SCI_SETADDITIONALCARETSVISIBLE\">SCI_SETADDITIONALCARETSVISIBLE(bool additionalCaretsVisible)</b><br />\n     <b id=\"SCI_GETADDITIONALCARETSVISIBLE\">SCI_GETADDITIONALCARETSVISIBLE &rarr; bool</b><br />\n     Determine whether to show additional carets (defaults to <code>true</code>).</p>\n\n    <p>\n     <b id=\"SCI_SWAPMAINANCHORCARET\">SCI_SWAPMAINANCHORCARET</b><br />\n     <b id=\"SCI_ROTATESELECTION\">SCI_ROTATESELECTION</b><br />\n     <b id=\"SCI_MULTIPLESELECTADDNEXT\">SCI_MULTIPLESELECTADDNEXT</b><br />\n     <b id=\"SCI_MULTIPLESELECTADDEACH\">SCI_MULTIPLESELECTADDEACH</b><br />\n     These commands may be assigned to keys to make it possible to manipulate multiple selections.\n     <code>SCI_SWAPMAINANCHORCARET</code> moves the caret to the opposite end of the main selection.\n     <code>SCI_ROTATESELECTION</code> makes the next selection be the main selection.<br />\n     <code>SCI_MULTIPLESELECTADDNEXT</code> adds the next occurrence of the main selection\n     within the target to the set of selections as main. If the current selection is empty then select word around caret.\n      The current <a class=\"jump\" href=\"#searchFlags\"><code>searchFlags</code></a>\n      are used so the application may choose case sensitivity and word search options.<br />\n     <code>SCI_MULTIPLESELECTADDEACH</code> is similar to\n     <code>SCI_MULTIPLESELECTADDNEXT</code> but adds multiple occurrences instead of just one.\n     </p>\n\n    <h2 id=\"ScrollingAndAutomaticScrolling\">Scrolling and automatic scrolling</h2>\n    <code>\n     <a class=\"message\" href=\"#SCI_SETFIRSTVISIBLELINE\">SCI_SETFIRSTVISIBLELINE(int displayLine)</a><br />\n     <a class=\"message\" href=\"#SCI_GETFIRSTVISIBLELINE\">SCI_GETFIRSTVISIBLELINE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETXOFFSET\">SCI_SETXOFFSET(int xOffset)</a><br />\n     <a class=\"message\" href=\"#SCI_GETXOFFSET\">SCI_GETXOFFSET &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_LINESCROLL\">SCI_LINESCROLL(int columns, int lines)</a><br />\n     <a class=\"message\" href=\"#SCI_SCROLLCARET\">SCI_SCROLLCARET</a><br />\n     <a class=\"message\" href=\"#SCI_SCROLLRANGE\">SCI_SCROLLRANGE(int secondary, int primary)</a><br />\n     <a class=\"message\" href=\"#SCI_SETXCARETPOLICY\">SCI_SETXCARETPOLICY(int caretPolicy, int\n    caretSlop)</a><br />\n     <a class=\"message\" href=\"#SCI_SETYCARETPOLICY\">SCI_SETYCARETPOLICY(int caretPolicy, int\n    caretSlop)</a><br />\n     <a class=\"message\" href=\"#SCI_SETVISIBLEPOLICY\">SCI_SETVISIBLEPOLICY(int visiblePolicy, int\n    visibleSlop)</a><br />\n     <a class=\"message\" href=\"#SCI_SETHSCROLLBAR\">SCI_SETHSCROLLBAR(bool visible)</a><br />\n     <a class=\"message\" href=\"#SCI_GETHSCROLLBAR\">SCI_GETHSCROLLBAR &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETVSCROLLBAR\">SCI_SETVSCROLLBAR(bool visible)</a><br />\n     <a class=\"message\" href=\"#SCI_GETVSCROLLBAR\">SCI_GETVSCROLLBAR &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETSCROLLWIDTH\">SCI_SETSCROLLWIDTH(int pixelWidth)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSCROLLWIDTH\">SCI_GETSCROLLWIDTH &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETSCROLLWIDTHTRACKING\">SCI_SETSCROLLWIDTHTRACKING(bool tracking)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSCROLLWIDTHTRACKING\">SCI_GETSCROLLWIDTHTRACKING &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETENDATLASTLINE\">SCI_SETENDATLASTLINE(bool\n    endAtLastLine)</a><br />\n     <a class=\"message\" href=\"#SCI_GETENDATLASTLINE\">SCI_GETENDATLASTLINE &rarr; bool</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETFIRSTVISIBLELINE\">SCI_SETFIRSTVISIBLELINE(int displayLine)</b><br />\n     <b id=\"SCI_GETFIRSTVISIBLELINE\">SCI_GETFIRSTVISIBLELINE &rarr; int</b><br />\n     These messages retrieve and set the line number of the first visible line in the Scintilla view. The first line\n    in the document is numbered 0. The value is a visible line rather than a document line.</p>\n\n    <p><b id=\"SCI_SETXOFFSET\">SCI_SETXOFFSET(int xOffset)</b><br />\n     <b id=\"SCI_GETXOFFSET\">SCI_GETXOFFSET &rarr; int</b><br />\n     The <code class=\"parameter\">xOffset</code> is the horizontal scroll position in pixels of the start of the text\n    view. A value of 0 is the normal position with the first text column visible at the left of the\n    view.</p>\n\n    <p><b id=\"SCI_LINESCROLL\">SCI_LINESCROLL(int columns, int lines)</b><br />\n     This will attempt to scroll the display by the number of columns and lines that you specify.\n    Positive line values increase the line number at the top of the screen (i.e. they move the text\n    upwards as far as the user is concerned), Negative line values do the reverse.</p>\n\n    <p>The column measure is the width of a space in the default style. Positive values increase\n    the column at the left edge of the view (i.e. they move the text leftwards as far as the user\n    is concerned). Negative values do the reverse.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_SETXOFFSET\"><code>SCI_SETXOFFSET</code></a></p>\n\n    <p><b id=\"SCI_SCROLLCARET\">SCI_SCROLLCARET</b><br />\n     If the current position (this is the caret if there is no selection) is not visible, the view\n    is scrolled to make it visible according to the current caret policy.</p>\n\n    <p><b id=\"SCI_SCROLLRANGE\">SCI_SCROLLRANGE(int secondary, int primary)</b><br />\n     Scroll the argument positions and the range between them into view giving\n     priority to the primary position then the secondary position.\n     The behaviour is similar to <a class=\"message\" href=\"#SCI_SCROLLCARET\"><code>SCI_SCROLLCARET</code></a>\n     with the primary position used instead of the caret. An effort is then made to ensure that the secondary\n     position and range between are also visible.\n     This may be used to make a search match visible.</p>\n\n    <p><b id=\"SCI_SETXCARETPOLICY\">SCI_SETXCARETPOLICY(int caretPolicy, int caretSlop)</b><br />\n     <b id=\"SCI_SETYCARETPOLICY\">SCI_SETYCARETPOLICY(int caretPolicy, int caretSlop)</b><br />\n     These set the caret policy. The value of <code class=\"parameter\">caretPolicy</code> is a combination of\n    <code>CARET_SLOP</code>, <code>CARET_STRICT</code>, <code>CARET_JUMPS</code> and\n    <code>CARET_EVEN</code>.</p>\n\n    <table class=\"standard\" summary=\"Caret policy\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>CARET_SLOP</code></th>\n\n          <td>If set, we can define a slop value: <code class=\"parameter\">caretSlop</code>. This value defines an\n          unwanted zone (UZ) where the caret is... unwanted. This zone is defined as a number of\n          pixels near the vertical margins, and as a number of lines near the horizontal margins.\n          By keeping the caret away from the edges, it is seen within its context. This makes it\n          likely that the identifier that the caret is on can be completely seen, and that the\n          current line is seen with some of the lines following it, which are often dependent on\n          that line.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>CARET_STRICT</code></th>\n\n          <td>If set, the policy set by <code>CARET_SLOP</code> is enforced... strictly. The caret\n          is centred on the display if <code class=\"parameter\">caretSlop</code> is not set, and cannot go in the UZ\n          if <code class=\"parameter\">caretSlop</code> is set.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>CARET_JUMPS</code></th>\n\n          <td>If set, the display is moved more energetically so the caret can move in the same\n          direction longer before the policy is applied again. '3UZ' notation is used to indicate\n          three time the size of the UZ as a distance to the margin.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>CARET_EVEN</code></th>\n\n          <td>If not set, instead of having symmetrical UZs, the left and bottom UZs are extended\n          up to right and top UZs respectively. This way, we favour the displaying of useful\n          information: the beginning of lines, where most code reside, and the lines after the\n          caret, for example, the body of a function.</td>\n        </tr>\n      </tbody>\n    </table>\n    <br />\n\n    <table class=\"standard\" summary=\"Caret positioning\">\n      <thead align=\"center\">\n        <tr>\n          <th>slop</th>\n\n          <th>strict</th>\n\n          <th>jumps</th>\n\n          <th>even</th>\n\n          <th>Caret can go to the margin</th>\n\n          <th>On reaching limit (going out of visibility<br />\n           or going into the UZ) display is...</th>\n        </tr>\n      </thead>\n\n      <tbody align=\"center\">\n        <tr>\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>Yes</td>\n\n          <td>moved to put caret on top/on right</td>\n        </tr>\n\n        <tr>\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>Yes</td>\n\n          <td>moved by one position</td>\n        </tr>\n\n        <tr>\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>Yes</td>\n\n          <td>moved to put caret on top/on right</td>\n        </tr>\n\n        <tr>\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>1</td>\n\n          <td>Yes</td>\n\n          <td>centred on the caret</td>\n        </tr>\n\n        <tr>\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>-</td>\n\n          <td>0</td>\n\n          <td>Caret is always on top/on right of display</td>\n\n          <td>-</td>\n        </tr>\n\n        <tr>\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>-</td>\n\n          <td>1</td>\n\n          <td>No, caret is always centred</td>\n\n          <td>-</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>Yes</td>\n\n          <td>moved to put caret out of the asymmetrical UZ</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>Yes</td>\n\n          <td>moved to put caret out of the UZ</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>Yes</td>\n\n          <td>moved to put caret at 3UZ of the top or right margin</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>1</td>\n\n          <td>Yes</td>\n\n          <td>moved to put caret at 3UZ of the margin</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>1</td>\n\n          <td>-</td>\n\n          <td>0</td>\n\n          <td>Caret is always at UZ of top/right margin</td>\n\n          <td>-</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>1</td>\n\n          <td>No, kept out of UZ</td>\n\n          <td>moved by one position</td>\n        </tr>\n\n        <tr>\n          <td>1</td>\n\n          <td>1</td>\n\n          <td>1</td>\n\n          <td>0</td>\n\n          <td>No, kept out of UZ</td>\n\n          <td>moved to put caret at 3UZ of the margin</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETVISIBLEPOLICY\">SCI_SETVISIBLEPOLICY(int visiblePolicy, int visibleSlop)</b><br />\n     This determines how the vertical positioning is determined when <a class=\"message\"\n    href=\"#SCI_ENSUREVISIBLEENFORCEPOLICY\"><code>SCI_ENSUREVISIBLEENFORCEPOLICY</code></a> is\n    called. It takes <code>VISIBLE_SLOP</code> and <code>VISIBLE_STRICT</code> flags for the policy\n    parameter. It is similar in operation to <a class=\"message\"\n    href=\"#SCI_SETYCARETPOLICY\"><code>SCI_SETYCARETPOLICY(int caretPolicy, int\n    caretSlop)</code></a>.</p>\n\n    <p><b id=\"SCI_SETHSCROLLBAR\">SCI_SETHSCROLLBAR(bool visible)</b><br />\n     <b id=\"SCI_GETHSCROLLBAR\">SCI_GETHSCROLLBAR &rarr; bool</b><br />\n     The horizontal scroll bar is only displayed if it is needed for the assumed width.\n     If you never wish to see it, call\n    <code>SCI_SETHSCROLLBAR(0)</code>. Use <code>SCI_SETHSCROLLBAR(1)</code> to enable it again.\n    <code>SCI_GETHSCROLLBAR</code> returns the current state. The default state is to display it\n    when needed.</p>\n    <p>See also: <a class=\"seealso\" href=\"#SCI_SETSCROLLWIDTH\">SCI_SETSCROLLWIDTH</a>.</p>\n\n    <p><b id=\"SCI_SETVSCROLLBAR\">SCI_SETVSCROLLBAR(bool visible)</b><br />\n     <b id=\"SCI_GETVSCROLLBAR\">SCI_GETVSCROLLBAR &rarr; bool</b><br />\n     By default, the vertical scroll bar is always displayed when required. You can choose to hide\n    or show it with <code>SCI_SETVSCROLLBAR</code> and get the current state with\n    <code>SCI_GETVSCROLLBAR</code>.</p>\n\n    <p>See also: <a class=\"message\" href=\"#SCI_LINESCROLL\"><code>SCI_LINESCROLL</code></a></p>\n\n    <p><b id=\"SCI_SETSCROLLWIDTH\">SCI_SETSCROLLWIDTH(int pixelWidth)</b><br />\n     <b id=\"SCI_GETSCROLLWIDTH\">SCI_GETSCROLLWIDTH &rarr; int</b><br />\n     For performance, Scintilla does not measure the display width of the document to determine\n     the properties of the horizontal scroll bar. Instead, an assumed width is used.\n     These messages set and get the document width in pixels assumed by Scintilla.\n     The default value is 2000.\n     To ensure the width of the currently visible lines can be scrolled use\n     <a class=\"message\" href=\"#SCI_SETSCROLLWIDTHTRACKING\"><code>SCI_SETSCROLLWIDTHTRACKING</code></a></p>\n\n    <p><b id=\"SCI_SETSCROLLWIDTHTRACKING\">SCI_SETSCROLLWIDTHTRACKING(bool tracking)</b><br />\n     <b id=\"SCI_GETSCROLLWIDTHTRACKING\">SCI_GETSCROLLWIDTHTRACKING &rarr; bool</b><br />\n     If scroll width tracking is enabled then the scroll width is adjusted to ensure that all of the lines currently\n     displayed can be completely scrolled. This mode never adjusts the scroll width to be narrower.</p>\n\n    <p><b id=\"SCI_SETENDATLASTLINE\">SCI_SETENDATLASTLINE(bool endAtLastLine)</b><br />\n     <b id=\"SCI_GETENDATLASTLINE\">SCI_GETENDATLASTLINE &rarr; bool</b><br />\n     <code>SCI_SETENDATLASTLINE</code> sets the scroll range so that maximum scroll position has\n    the last line at the bottom of the view (default). Setting this to <code>false</code> allows\n    scrolling one page below the last line.</p>\n\n    <h2 id=\"WhiteSpace\">White space</h2>\n    <code><a class=\"message\" href=\"#SCI_SETVIEWWS\">SCI_SETVIEWWS(int viewWS)</a><br />\n     <a class=\"message\" href=\"#SCI_GETVIEWWS\">SCI_GETVIEWWS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETWHITESPACEFORE\">SCI_SETWHITESPACEFORE(bool\n    useSetting, colour fore)</a><br />\n     <a class=\"message\" href=\"#SCI_SETWHITESPACEBACK\">SCI_SETWHITESPACEBACK(bool\n    useSetting, colour back)</a><br />\n     <a class=\"message\" href=\"#SCI_SETWHITESPACESIZE\">SCI_SETWHITESPACESIZE(int\n    size)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWHITESPACESIZE\">SCI_GETWHITESPACESIZE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETTABDRAWMODE\">SCI_SETTABDRAWMODE(int tabDrawMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTABDRAWMODE\">SCI_GETTABDRAWMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETEXTRAASCENT\">SCI_SETEXTRAASCENT(int extraAscent)</a><br />\n     <a class=\"message\" href=\"#SCI_GETEXTRAASCENT\">SCI_GETEXTRAASCENT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETEXTRADESCENT\">SCI_SETEXTRADESCENT(int extraDescent)</a><br />\n     <a class=\"message\" href=\"#SCI_GETEXTRADESCENT\">SCI_GETEXTRADESCENT &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETVIEWWS\">SCI_SETVIEWWS(int viewWS)</b><br />\n     <b id=\"SCI_GETVIEWWS\">SCI_GETVIEWWS &rarr; int</b><br />\n     White space can be made visible which may be useful for languages in which white space is\n    significant, such as Python. Space characters appear as small centred dots and tab characters\n    as light arrows pointing to the right. There are also ways to control the display of <a\n    class=\"jump\" href=\"#LineEndings\">end of line characters</a>. The two messages set and get the\n    white space display mode. The <code class=\"parameter\">viewWS</code> argument can be one of:</p>\n\n    <table class=\"standard\" summary=\"White space policy\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>SCWS_INVISIBLE</code></th>\n\n          <td>0</td>\n\n          <td>The normal display mode with white space displayed as an empty background\n          colour.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SCWS_VISIBLEALWAYS</code></th>\n\n          <td>1</td>\n\n          <td>White space characters are drawn as dots and arrows,</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SCWS_VISIBLEAFTERINDENT</code></th>\n\n          <td>2</td>\n\n          <td>White space used for indentation is displayed normally but after the first visible\n          character, it is shown as dots and arrows.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SCWS_VISIBLEONLYININDENT</code></th>\n\n          <td>3</td>\n\n          <td>White space used for indentation is displayed as dots and arrows.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>The effect of using any other <code class=\"parameter\">viewWS</code> value is undefined.</p>\n\n    <p><b id=\"SCI_SETWHITESPACEFORE\">SCI_SETWHITESPACEFORE(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_SETWHITESPACEBACK\">SCI_SETWHITESPACEBACK(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     By default, the colour of visible white space is determined by the lexer in use. The\n    foreground and/or background colour of all visible white space can be set globally, overriding\n    the lexer's colours with <code>SCI_SETWHITESPACEFORE</code> and\n    <code>SCI_SETWHITESPACEBACK</code>.</p>\n\n     <p><b id=\"SCI_SETWHITESPACESIZE\">SCI_SETWHITESPACESIZE(int size)</b><br />\n     <b id=\"SCI_GETWHITESPACESIZE\">SCI_GETWHITESPACESIZE &rarr; int</b><br />\n     <code>SCI_SETWHITESPACESIZE</code> sets the size of the dots used for mark space characters.\n     The <code>SCI_GETWHITESPACESIZE</code> message retrieves the current size.\n    </p>\n\n    <p><b id=\"SCI_SETTABDRAWMODE\">SCI_SETTABDRAWMODE(int tabDrawMode)</b><br />\n     <b id=\"SCI_GETTABDRAWMODE\">SCI_GETTABDRAWMODE &rarr; int</b><br />\n    These two messages get and set how tab characters are drawn when white space is visible.\n    The <code class=\"parameter\">tabDrawMode</code> argument can be one of:</p>\n\n    <table class=\"standard\" summary=\"White space policy\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>SCTD_LONGARROW</code></th>\n\n          <td>0</td>\n\n          <td>The default mode of an arrow stretching until the tabstop.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SCTD_STRIKEOUT</code></th>\n\n          <td>1</td>\n\n          <td>A horizontal line stretching until the tabstop.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>The effect of using any other <code class=\"parameter\">tabDrawMode</code> value is undefined.</p>\n\n    <p>\n     <b id=\"SCI_SETEXTRAASCENT\">SCI_SETEXTRAASCENT(int extraAscent)</b><br />\n     <b id=\"SCI_GETEXTRAASCENT\">SCI_GETEXTRAASCENT &rarr; int</b><br />\n     <b id=\"SCI_SETEXTRADESCENT\">SCI_SETEXTRADESCENT(int extraDescent)</b><br />\n     <b id=\"SCI_GETEXTRADESCENT\">SCI_GETEXTRADESCENT &rarr; int</b><br />\n     Text is drawn with the base of each character on a 'baseline'. The height of a line is found from the maximum\n     that any style extends above the baseline (its 'ascent'), added to the maximum that any style extends below the\n     baseline (its 'descent').\n     Space may be added to the maximum ascent (<code>SCI_SETEXTRAASCENT</code>) and the\n     maximum descent (<code>SCI_SETEXTRADESCENT</code>) to allow for more space between lines.\n     This may done to make the text easier to read or to accommodate underlines or highlights.\n    </p>\n\n    <h2 id=\"Cursor\">Cursor</h2>\n    <a class=\"message\" href=\"#SCI_SETCURSOR\">SCI_SETCURSOR(int cursorType)</a><br />\n     <a class=\"message\" href=\"#SCI_GETCURSOR\">SCI_GETCURSOR &rarr; int</a><br />\n\n    <p><b id=\"SCI_SETCURSOR\">SCI_SETCURSOR(int cursorType)</b><br />\n     <b id=\"SCI_GETCURSOR\">SCI_GETCURSOR &rarr; int</b><br />\n     The cursor is normally chosen in a context sensitive way, so it will be different over the\n    margin than when over the text. When performing a slow action, you may wish to change to a wait\n    cursor. You set the cursor type with <code>SCI_SETCURSOR</code>. The <code class=\"parameter\">cursorType</code>\n    argument can be:</p>\n\n    <table class=\"standard\" summary=\"Mouse cursors\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>SC_CURSORNORMAL</code></th>\n\n          <td>-1</td>\n\n          <td>The normal cursor is displayed.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>SC_CURSORWAIT</code></th>\n\n          <td>&nbsp;4</td>\n\n          <td>The wait cursor is displayed when the mouse is over or owned by the Scintilla\n          window.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>Cursor values 1 through 7 have defined cursors, but only <code>SC_CURSORWAIT</code> is\n    usefully controllable. Other values of <code class=\"parameter\">cursorType</code> cause a pointer to be displayed.\n    The <code>SCI_GETCURSOR</code> message returns the last cursor type you set, or\n    <code>SC_CURSORNORMAL</code> (-1) if you have not set a cursor type.</p>\n\n    <h2 id=\"MouseCapture\">Mouse capture</h2>\n    <a class=\"message\" href=\"#SCI_SETMOUSEDOWNCAPTURES\">SCI_SETMOUSEDOWNCAPTURES(bool captures)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMOUSEDOWNCAPTURES\">SCI_GETMOUSEDOWNCAPTURES &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETMOUSEWHEELCAPTURES\">SCI_SETMOUSEWHEELCAPTURES(bool captures)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMOUSEWHEELCAPTURES\">SCI_GETMOUSEWHEELCAPTURES &rarr; bool</a><br />\n\n    <p><b id=\"SCI_SETMOUSEDOWNCAPTURES\">SCI_SETMOUSEDOWNCAPTURES(bool captures)</b><br />\n     <b id=\"SCI_GETMOUSEDOWNCAPTURES\">SCI_GETMOUSEDOWNCAPTURES &rarr; bool</b><br />\n     When the mouse is pressed inside Scintilla, it is captured so future mouse movement events are\n    sent to Scintilla. This behaviour may be turned off with\n    <code>SCI_SETMOUSEDOWNCAPTURES(0)</code>.</p>\n\n    <p><b id=\"SCI_SETMOUSEWHEELCAPTURES\">SCI_SETMOUSEWHEELCAPTURES(bool captures)</b><br />\n     <b id=\"SCI_GETMOUSEWHEELCAPTURES\">SCI_GETMOUSEWHEELCAPTURES &rarr; bool</b><br />\n     On Windows, Scintilla captures all <code>WM_MOUSEWHEEL</code> messages if it has the\n     focus, even if the mouse pointer is nowhere near the Scintilla editor window. This\n     behavior can be changed with <code>SCI_SETMOUSEWHEELCAPTURES(0)</code> so that\n     Scintilla passes the <code>WM_MOUSEWHEEL</code> messages to its parent window.\n     Scintilla will still react to the mouse wheel if the mouse pointer is over\n     the editor window.</p>\n\n    <h2 id=\"LineEndings\">Line endings</h2>\n\n    <p>Scintilla can handle the major line end conventions and, depending on settings and\n    the current lexer also support additional Unicode line ends.</p>\n\n    <p>Scintilla can interpret any of the Macintosh (\\r), Unix (\\n) and Windows (\\r\\n)\n    line ends.\n    When the user presses the Enter key, one of these line\n    end strings is inserted into the buffer. The default is \\r\\n in Windows and \\n in Unix, but\n    this can be changed with the <code>SCI_SETEOLMODE</code> message. You can also convert the\n    entire document to one of these line endings with <code>SCI_CONVERTEOLS</code>. Finally, you\n    can choose to display the line endings with <code>SCI_SETVIEWEOL</code>.</p>\n\n    <p>For the UTF-8 encoding, three additional Unicode line ends,\n    Next Line (<code>NEL=U+0085</code>), Line Separator (<code>LS=U+2028</code>), and Paragraph Separator (<code>PS=U+2029</code>)\n    may optionally be interpreted when Unicode line ends is turned on and the current lexer also supports\n    Unicode line ends.</p>\n\n    <a class=\"message\" href=\"#SCI_SETEOLMODE\">SCI_SETEOLMODE(int eolMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETEOLMODE\">SCI_GETEOLMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_CONVERTEOLS\">SCI_CONVERTEOLS(int eolMode)</a><br />\n     <a class=\"message\" href=\"#SCI_SETVIEWEOL\">SCI_SETVIEWEOL(bool visible)</a><br />\n     <a class=\"message\" href=\"#SCI_GETVIEWEOL\">SCI_GETVIEWEOL &rarr; bool</a><br />\n\n     <a class=\"message\" href=\"#SCI_GETLINEENDTYPESSUPPORTED\">SCI_GETLINEENDTYPESSUPPORTED &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETLINEENDTYPESALLOWED\">SCI_SETLINEENDTYPESALLOWED(int lineEndBitSet)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINEENDTYPESALLOWED\">SCI_GETLINEENDTYPESALLOWED &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINEENDTYPESACTIVE\">SCI_GETLINEENDTYPESACTIVE &rarr; int</a><br />\n\n    <p><b id=\"SCI_SETEOLMODE\">SCI_SETEOLMODE(int eolMode)</b><br />\n     <b id=\"SCI_GETEOLMODE\">SCI_GETEOLMODE &rarr; int</b><br />\n     <code>SCI_SETEOLMODE</code> sets the characters that are added into the document when the user\n    presses the Enter key. You can set <code class=\"parameter\">eolMode</code> to one of <code>SC_EOL_CRLF</code> (0),\n    <code>SC_EOL_CR</code> (1), or <code>SC_EOL_LF</code> (2). The <code>SCI_GETEOLMODE</code>\n    message retrieves the current state.</p>\n\n    <p><b id=\"SCI_CONVERTEOLS\">SCI_CONVERTEOLS(int eolMode)</b><br />\n     This message changes all the end of line characters in the document to match\n    <code class=\"parameter\">eolMode</code>. Valid values are: <code>SC_EOL_CRLF</code> (0), <code>SC_EOL_CR</code>\n    (1), or <code>SC_EOL_LF</code> (2).</p>\n\n    <p><b id=\"SCI_SETVIEWEOL\">SCI_SETVIEWEOL(bool visible)</b><br />\n     <b id=\"SCI_GETVIEWEOL\">SCI_GETVIEWEOL &rarr; bool</b><br />\n     Normally, the end of line characters are hidden, but <code>SCI_SETVIEWEOL</code> allows you to\n    display (or hide) them by setting <code class=\"parameter\">visible</code> <code>true</code> (or\n    <code>false</code>). The visible rendering of the end of line characters is similar to\n    <code>(CR)</code>, <code>(LF)</code>, or <code>(CR)(LF)</code>. <code>SCI_GETVIEWEOL</code>\n    returns the current state.</p>\n\n    <p><b id=\"SCI_GETLINEENDTYPESSUPPORTED\">SCI_GETLINEENDTYPESSUPPORTED &rarr; int</b><br />\n     <code>SCI_GETLINEENDTYPESSUPPORTED</code> reports the different types of line ends supported\n     by the current lexer. This is a bit set although there is currently only a single choice\n     with either <code>SC_LINE_END_TYPE_DEFAULT</code> (0) or <code>SC_LINE_END_TYPE_UNICODE</code> (1).\n     These values are also used by the other messages concerned with Unicode line ends.</p>\n\n    <p><b id=\"SCI_SETLINEENDTYPESALLOWED\">SCI_SETLINEENDTYPESALLOWED(int lineEndBitSet)</b><br />\n     <b id=\"SCI_GETLINEENDTYPESALLOWED\">SCI_GETLINEENDTYPESALLOWED &rarr; int</b><br />\n     By default, only the ASCII line ends are interpreted. Unicode line ends may be requested with\n     <code>SCI_SETLINEENDTYPESALLOWED(SC_LINE_END_TYPE_UNICODE)</code>\n     but this will be ineffective unless the lexer also allows you Unicode line ends.\n    <code>SCI_GETLINEENDTYPESALLOWED</code> returns the current state.</p>\n\n    <p><b id=\"SCI_GETLINEENDTYPESACTIVE\">SCI_GETLINEENDTYPESACTIVE &rarr; int</b><br />\n     <code>SCI_GETLINEENDTYPESACTIVE</code> reports the set of line ends currently interpreted\n     by Scintilla. It is <code>SCI_GETLINEENDTYPESSUPPORTED &amp; SCI_GETLINEENDTYPESALLOWED</code>.</p>\n\n    <h2 id=\"Words\">Words</h2>\n\n    <p>There is support for selecting, navigating by, and searching for words.</p>\n\n    <p>\n    Words are contiguous sequences of characters from a particular set of characters.\n    4 categories define words: word, whitespace, punctuation, and line ends with each category\n    having a role in word functions.\n    Double clicking selects the word at that point, which may be a sequence of word, punctuation,\n    or whitespace bytes.\n    Line ends are not selected by double clicking but do act as word separators.\n    </p>\n\n    <p>Words are defined in terms of characters and the sets of characters in each category can be customized to an extent.\n    The NUL character (0) is always a space as the APIs to set categories use NUL-terminated strings.\n    For single-byte encodings a category may be assigned to any character (1 to 0xFF).\n    For multi-byte encodings a category may be assigned to characters from 1 to 0x7F with static behaviour from 0x80.\n    For UTF-8, characters from 0x80 will use a category based on their Unicode general category.\n    For Asian encodings, code pages 932, 936, 949, 950, and 1361, characters from 0x80 are treated as word characters.\n    </p>\n\n    <p>Identifiers in programming languages are often sequences of words with capitalisation\n     (aCamelCaseIdentifier) or underscores (an_under_bar_ident) used to mark word boundaries.\n     The <code>SCI_WORDPART*</code> commands are used for moving between word parts:\n     <a class=\"message\" href=\"#SCI_WORDPARTLEFT\"><code>SCI_WORDPARTLEFT</code></a>,\n     <a class=\"message\" href=\"#SCI_WORDPARTLEFTEXTEND\"><code>SCI_WORDPARTLEFTEXTEND</code></a>,\n     <a class=\"message\" href=\"#SCI_WORDPARTRIGHT\"><code>SCI_WORDPARTRIGHT</code></a>, and\n     <a class=\"message\" href=\"#SCI_WORDPARTRIGHTEXTEND\"><code>SCI_WORDPARTRIGHTEXTEND</code></a>.\n     </p>\n\n     <a class=\"message\" href=\"#SCI_WORDENDPOSITION\">SCI_WORDENDPOSITION(int pos, bool onlyWordCharacters) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_WORDSTARTPOSITION\">SCI_WORDSTARTPOSITION(int pos, bool onlyWordCharacters) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ISRANGEWORD\">SCI_ISRANGEWORD(int start, int end) &rarr; bool</a><br />\n\n     <a class=\"message\" href=\"#SCI_SETWORDCHARS\">SCI_SETWORDCHARS(&lt;unused&gt;, const char *characters)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWORDCHARS\">SCI_GETWORDCHARS(&lt;unused&gt;, char *characters) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETWHITESPACECHARS\">SCI_SETWHITESPACECHARS(&lt;unused&gt;, const char *characters)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWHITESPACECHARS\">SCI_GETWHITESPACECHARS(&lt;unused&gt;, char *characters) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETPUNCTUATIONCHARS\">SCI_SETPUNCTUATIONCHARS(&lt;unused&gt;, const char *characters)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPUNCTUATIONCHARS\">SCI_GETPUNCTUATIONCHARS(&lt;unused&gt;, char *characters) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETCHARSDEFAULT\">SCI_SETCHARSDEFAULT</a><br />\n\n    <p><b id=\"SCI_WORDENDPOSITION\">SCI_WORDENDPOSITION(int pos, bool onlyWordCharacters) &rarr; int</b><br />\n     <b id=\"SCI_WORDSTARTPOSITION\">SCI_WORDSTARTPOSITION(int pos, bool onlyWordCharacters) &rarr; int</b><br />\n     These messages return the start and end of words using the same definition of words as used\n    internally within Scintilla. You can set your own list of characters that count as words with\n    <a class=\"message\" href=\"#SCI_SETWORDCHARS\"><code>SCI_SETWORDCHARS</code></a>. The position\n    sets the start or the search, which is forwards when searching for the end and backwards when\n    searching for the start.</p>\n\n    <p><b id=\"SCI_ISRANGEWORD\">SCI_ISRANGEWORD(int start, int end) &rarr; bool</b><br />\n     Is the range start..end a word or set of words? This message checks that start is at a word start transition and that\n     end is at a word end transition. It does not check whether there are any spaces inside the range.</p>\n\n     <a class=\"message\" href=\"#SCI_ISRANGEWORD\">SCI_ISRANGEWORD(int start, int end) &rarr; bool</a><br />\n\n    <p>Set <code class=\"parameter\">onlyWordCharacters</code> to <code>true</code> (1) to stop searching at the first\n    non-word character in the search direction. If <code class=\"parameter\">onlyWordCharacters</code> is\n    <code>false</code> (0), the first character in the search direction sets the type of the search\n    as word or non-word and the search stops at the first non-matching character. Searches are also\n    terminated by the start or end of the document.</p>\n\n    <p>If \"w\" represents word characters and \".\" represents non-word characters and \"|\" represents\n    the position and <code>true</code> or <code>false</code> is the state of\n    <code class=\"parameter\">onlyWordCharacters</code>:</p>\n\n    <table class=\"standard\" summary=\"Word start and end positions\">\n      <thead align=\"center\">\n        <tr>\n          <th>Initial state</th>\n\n          <th>end, true</th>\n\n          <th>end, false</th>\n\n          <th>start, true</th>\n\n          <th>start, false</th>\n        </tr>\n      </thead>\n\n      <tbody align=\"center\">\n        <tr>\n          <td>..ww..|..ww..</td>\n\n          <td>..ww..|..ww..</td>\n\n          <td>..ww....|ww..</td>\n\n          <td>..ww..|..ww..</td>\n\n          <td>..ww|....ww..</td>\n        </tr>\n\n        <tr>\n          <td>....ww|ww....</td>\n\n          <td>....wwww|....</td>\n\n          <td>....wwww|....</td>\n\n          <td>....|wwww....</td>\n\n          <td>....|wwww....</td>\n        </tr>\n\n        <tr>\n          <td>..ww|....ww..</td>\n\n          <td>..ww|....ww..</td>\n\n          <td>..ww....|ww..</td>\n\n          <td>..|ww....ww..</td>\n\n          <td>..|ww....ww..</td>\n        </tr>\n\n        <tr>\n          <td>..ww....|ww..</td>\n\n          <td>..ww....ww|..</td>\n\n          <td>..ww....ww|..</td>\n\n          <td>..ww....|ww..</td>\n\n          <td>..ww|....ww..</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETWORDCHARS\">SCI_SETWORDCHARS(&lt;unused&gt;, const char *characters)</b><br />\n     This message defines which characters are members of the word category.\n     The character categories are set to default values before processing this function.\n    For example, if you don't allow '_' in your set of characters\n    use:<br />\n     <code>SCI_SETWORDCHARS(0, \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\")</code>;</p>\n\n    <p><b id=\"SCI_GETWORDCHARS\">SCI_GETWORDCHARS(&lt;unused&gt;, char *characters) &rarr; int</b><br />\n     This fills the characters parameter with all the characters included in words.\n     The characters parameter must be large enough to hold all of the characters.\n     If the characters parameter is 0 then the length that should be allocated\n     to store the entire set is returned.</p>\n\n    <p>For multi-byte encodings, this API will not return meaningful values for 0x80 and above.</p>\n\n    <p><b id=\"SCI_SETWHITESPACECHARS\">SCI_SETWHITESPACECHARS(&lt;unused&gt;, const char *characters)</b><br />\n    <b id=\"SCI_GETWHITESPACECHARS\">SCI_GETWHITESPACECHARS(&lt;unused&gt;, char *characters) &rarr; int</b><br />\n     Similar to <code>SCI_SETWORDCHARS</code>, this message allows the user to define which chars Scintilla considers\n          as whitespace.  Setting the whitespace chars allows the user to fine-tune Scintilla's behaviour doing\n          such things as moving the cursor to the start or end of a word; for example, by defining punctuation chars\n          as whitespace, they will be skipped over when the user presses ctrl+left or ctrl+right.\n          This function should be called after <code>SCI_SETWORDCHARS</code> as it will\n          reset the whitespace characters to the default set.\n\t  <code>SCI_GETWHITESPACECHARS</code> behaves similarly to <code>SCI_GETWORDCHARS</code>.</p>\n\n    <p><b id=\"SCI_SETPUNCTUATIONCHARS\">SCI_SETPUNCTUATIONCHARS(&lt;unused&gt;, const char *characters)</b><br />\n    <b id=\"SCI_GETPUNCTUATIONCHARS\">SCI_GETPUNCTUATIONCHARS(&lt;unused&gt;, char *characters) &rarr; int</b><br />\n     Similar to <code>SCI_SETWORDCHARS</code> and <code>SCI_SETWHITESPACECHARS</code>, this message\n     allows the user to define which chars Scintilla considers as punctuation.\n\t  <code>SCI_GETPUNCTUATIONCHARS</code> behaves similarly to <code>SCI_GETWORDCHARS</code>.</p>\n\n    <p><b id=\"SCI_SETCHARSDEFAULT\">SCI_SETCHARSDEFAULT</b><br />\n     Use the default sets of word and whitespace characters. This sets whitespace to space, tab and other\n     characters with codes less than 0x20, with word characters set to alphanumeric and '_'.\n    </p>\n\n    <p>Word keyboard commands are:</p>\n    <ul>\n    <li class=\"message\" id=\"SCI_WORDLEFT\">SCI_WORDLEFT</li>\n    <li class=\"message\" id=\"SCI_WORDLEFTEXTEND\">SCI_WORDLEFTEXTEND</li>\n    <li class=\"message\" id=\"SCI_WORDRIGHT\">SCI_WORDRIGHT</li>\n    <li class=\"message\" id=\"SCI_WORDRIGHTEXTEND\">SCI_WORDRIGHTEXTEND</li>\n    <li class=\"message\" id=\"SCI_WORDLEFTEND\">SCI_WORDLEFTEND</li>\n    <li class=\"message\" id=\"SCI_WORDLEFTENDEXTEND\">SCI_WORDLEFTENDEXTEND</li>\n    <li class=\"message\" id=\"SCI_WORDRIGHTEND\">SCI_WORDRIGHTEND</li>\n    <li class=\"message\" id=\"SCI_WORDRIGHTENDEXTEND\">SCI_WORDRIGHTENDEXTEND</li>\n    <li class=\"message\" id=\"SCI_WORDPARTLEFT\">SCI_WORDPARTLEFT</li>\n    <li class=\"message\" id=\"SCI_WORDPARTLEFTEXTEND\">SCI_WORDPARTLEFTEXTEND</li>\n    <li class=\"message\" id=\"SCI_WORDPARTRIGHT\">SCI_WORDPARTRIGHT</li>\n    <li class=\"message\" id=\"SCI_WORDPARTRIGHTEXTEND\">SCI_WORDPARTRIGHTEXTEND</li>\n    <li class=\"message\" id=\"SCI_DELWORDLEFT\">SCI_DELWORDLEFT</li>\n    <li class=\"message\" id=\"SCI_DELWORDRIGHT\">SCI_DELWORDRIGHT</li>\n    <li class=\"message\" id=\"SCI_DELWORDRIGHTEND\">SCI_DELWORDRIGHTEND</li>\n    </ul>\n\n    <h2 id=\"Styling\">Styling</h2>\n\n    <p>The styling messages allow you to assign styles to text. If your styling needs can be met by\n    one of the standard lexers, or if you can write your own, then a lexer is probably the easiest\n    way to style your document. If you choose to use the container to do the styling you can use\n    the <a class=\"message\" href=\"#SCI_SETLEXER\"><code>SCI_SETLEXER</code></a> command to select\n    <code>SCLEX_CONTAINER</code>, in which case the container is sent a <a class=\"message\"\n    href=\"#SCN_STYLENEEDED\"><code>SCN_STYLENEEDED</code></a> <a class=\"jump\"\n    href=\"#Notifications\">notification</a> each time text needs styling for display. As another\n    alternative, you might use idle time to style the document. Even if you use a lexer, you might\n    use the styling commands to mark errors detected by a compiler. The following commands can be\n    used.</p>\n    <code><a class=\"message\" href=\"#SCI_GETENDSTYLED\">SCI_GETENDSTYLED &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_STARTSTYLING\">SCI_STARTSTYLING(int start, int unused)</a><br />\n     <a class=\"message\" href=\"#SCI_SETSTYLING\">SCI_SETSTYLING(int length, int style)</a><br />\n     <a class=\"message\" href=\"#SCI_SETSTYLINGEX\">SCI_SETSTYLINGEX(int length, const char\n    *styles)</a><br />\n     <a class=\"message\" href=\"#SCI_SETIDLESTYLING\">SCI_SETIDLESTYLING(int idleStyling)</a><br />\n     <a class=\"message\" href=\"#SCI_GETIDLESTYLING\">SCI_GETIDLESTYLING &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETLINESTATE\">SCI_SETLINESTATE(int line, int state)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINESTATE\">SCI_GETLINESTATE(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETMAXLINESTATE\">SCI_GETMAXLINESTATE &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_GETENDSTYLED\">SCI_GETENDSTYLED &rarr; position</b><br />\n     Scintilla keeps a record of the last character that is likely to be styled correctly. This is\n    moved forwards when characters after it are styled and moved backwards if changes are made to\n    the text of the document before it. Before drawing text, this position is checked to see if any\n    styling is needed and, if so, a <code><a class=\"message\"\n    href=\"#SCN_STYLENEEDED\">SCN_STYLENEEDED</a></code> notification message is sent to the\n    container. The container can send <code>SCI_GETENDSTYLED</code> to work out where it needs to\n    start styling. Scintilla will always ask to style whole lines.</p>\n\n    <p><b id=\"SCI_STARTSTYLING\">SCI_STARTSTYLING(int start, int unused)</b><br />\n     This prepares for styling by setting the styling position <code class=\"parameter\">start</code> to start at.\n     The unused argument was used in earlier versions but is now ignored.\n     After\n    <code>SCI_STARTSTYLING</code>, send multiple <code>SCI_SETSTYLING</code> messages for each\n    lexical entity to style or send <code>SCI_SETSTYLINGEX</code> to style in blocks.</p>\n\n    <p><b id=\"SCI_SETSTYLING\">SCI_SETSTYLING(int length, int style)</b><br />\n     This message sets the style of <code class=\"parameter\">length</code> characters starting at the styling position\n    and then increases the styling position by <code class=\"parameter\">length</code>, ready for the next call.\n    <code>SCI_STARTSTYLING</code> should be called before the first call to this.\n    </p>\n\n    <p><b id=\"SCI_SETSTYLINGEX\">SCI_SETSTYLINGEX(int length, const char *styles)</b><br />\n     As an alternative to <code>SCI_SETSTYLING</code>, which applies the same style to each byte,\n    you can use this message which specifies the styles for each of <code class=\"parameter\">length</code> bytes from\n    the styling position and then increases the styling position by <code class=\"parameter\">length</code>, ready for\n    the next call.\n    <code>SCI_STARTSTYLING</code> should be called before the first call to this.\n    </p>\n\n    <p><b id=\"SCI_SETIDLESTYLING\">SCI_SETIDLESTYLING(int idleStyling)</b><br />\n     <b id=\"SCI_GETIDLESTYLING\">SCI_GETIDLESTYLING &rarr; int</b><br />\n     By default, <code>SC_IDLESTYLING_NONE</code> (0),\n     syntax styling is performed for all the currently visible text before displaying it.\n     On very large files, this may make scrolling down slow.\n     With <code>SC_IDLESTYLING_TOVISIBLE</code> (1),\n     a small amount of styling is performed before display and then\n     further styling is performed incrementally in the background as an idle-time task.\n     This may result in the text initially appearing uncoloured and then, some time later, it is coloured.\n     Text after the currently visible portion may be styled in the background with <code>SC_IDLESTYLING_AFTERVISIBLE</code> (2).\n     To style both before and after the visible text in the background use <code>SC_IDLESTYLING_ALL</code> (3).\n    </p>\n    <p>\n     Since wrapping also needs to perform styling and also uses idle time, this setting has no effect when\n     the document is displayed wrapped.\n    </p>\n\n    <p><b id=\"SCI_SETLINESTATE\">SCI_SETLINESTATE(int line, int state)</b><br />\n     <b id=\"SCI_GETLINESTATE\">SCI_GETLINESTATE(int line) &rarr; int</b><br />\n     As well as the 8 bits of lexical state stored for each character there is also an integer\n    stored for each line. This can be used for longer lived parse states such as what the current\n    scripting language is in an ASP page. Use <code>SCI_SETLINESTATE</code> to set the integer\n    value and <code>SCI_GETLINESTATE</code> to get the value.\n    Changing the value produces a <a class=\"message\" href=\"#SC_MOD_CHANGELINESTATE\">SC_MOD_CHANGELINESTATE</a> notification.\n    </p>\n\n    <p><b id=\"SCI_GETMAXLINESTATE\">SCI_GETMAXLINESTATE &rarr; int</b><br />\n     This returns the last line that has any line state.</p>\n\n    <h2 id=\"StyleDefinition\">Style definition</h2>\n\n    <p>While the style setting messages mentioned above change the style numbers associated with\n    text, these messages define how those style numbers are interpreted visually. There are 256\n    lexer styles that can be set, numbered 0 to <code>STYLE_MAX</code> (255).\n    There are also some\n    predefined numbered styles starting at 32, The following <code>STYLE_</code>* constants are\n    defined.</p>\n\n    <table class=\"standard\" summary=\"Preset styles\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>STYLE_DEFAULT</code></th>\n\n          <td>32</td>\n\n          <td>This style defines the attributes that all styles receive when the\n          <code>SCI_STYLECLEARALL</code> message is used.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_LINENUMBER</code></th>\n\n          <td>33</td>\n\n          <td>This style sets the attributes of the text used to display line numbers in a line\n          number margin. The background colour set for this style also sets the background colour\n          for all margins that do not have any folding mask bits set. That is, any margin for which\n          <code>mask &amp; SC_MASK_FOLDERS</code> is 0. See <a class=\"message\"\n          href=\"#SCI_SETMARGINMASKN\"><code>SCI_SETMARGINMASKN</code></a> for more about masks.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_BRACELIGHT</code></th>\n\n          <td>34</td>\n\n          <td>This style sets the attributes used when highlighting braces with the <a\n          class=\"message\" href=\"#BraceHighlighting\"><code>SCI_BRACEHIGHLIGHT</code></a> message and\n          when highlighting the corresponding indentation with <a class=\"message\"\n          href=\"#SCI_SETHIGHLIGHTGUIDE\"><code>SCI_SETHIGHLIGHTGUIDE</code></a>.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_BRACEBAD</code></th>\n\n          <td>35</td>\n\n          <td>This style sets the display attributes used when marking an unmatched brace with the\n          <a class=\"message\" href=\"#BraceHighlighting\"><code>SCI_BRACEBADLIGHT</code></a>\n          message.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_CONTROLCHAR</code></th>\n\n          <td>36</td>\n\n          <td>This style sets the font used when drawing control characters.\n            Only the font, size, bold, italics, and character set attributes are used and not\n            the colour attributes. See\n          also: <a class=\"message\"\n          href=\"#SCI_SETCONTROLCHARSYMBOL\"><code>SCI_SETCONTROLCHARSYMBOL</code></a>.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_INDENTGUIDE</code></th>\n\n          <td>37</td>\n\n          <td>This style sets the foreground and background colours used when drawing the\n          indentation guides.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_CALLTIP</code></th>\n\n          <td>38</td>\n\n          <td> Call tips normally use the font attributes defined by <code>STYLE_DEFAULT</code>.\n          Use of <a class=\"seealso\" href=\"#SCI_CALLTIPUSESTYLE\"><code>SCI_CALLTIPUSESTYLE</code></a>\n            causes call tips to use this style instead. Only the font face name, font size,\n          foreground and background colours and character set attributes are used.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_FOLDDISPLAYTEXT</code></th>\n\n          <td>39</td>\n\n          <td>This is the style used for drawing text tags attached to folded text.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_LASTPREDEFINED</code></th>\n\n          <td>39</td>\n\n          <td>To make it easier for client code to discover the range of styles that are\n          predefined, this is set to the style number of the last predefined style.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>STYLE_MAX</code></th>\n\n          <td>255</td>\n\n          <td>This is not a style but is the number of the maximum style that can be set. Styles\n          between <code>STYLE_LASTPREDEFINED</code> and <code>STYLE_MAX</code> may be used.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>For each style you can set the font name, size and use of bold, italic and underline,\n    foreground and background colour and the character set. You can also choose to hide text with a\n    given style, display all characters as upper or lower case and fill from the last character on\n    a line to the end of the line (for embedded languages). There is also an experimental attribute\n    to make text read-only.</p>\n\n    <p>It is entirely up to you how you use styles. If you want to use syntax colouring you might\n    use style 0 for white space, style 1 for numbers, style 2 for keywords, style 3 for strings,\n    style 4 for preprocessor, style 5 for operators, and so on.</p>\n    <code><a class=\"message\" href=\"#SCI_STYLERESETDEFAULT\">SCI_STYLERESETDEFAULT</a><br />\n    <a class=\"message\" href=\"#SCI_STYLECLEARALL\">SCI_STYLECLEARALL</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETFONT\">SCI_STYLESETFONT(int style, const char\n    *fontName)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETFONT\">SCI_STYLEGETFONT(int style, char *fontName) &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETSIZE\">SCI_STYLESETSIZE(int style, int\n    sizePoints)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETSIZE\">SCI_STYLEGETSIZE(int style) &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETSIZEFRACTIONAL\">SCI_STYLESETSIZEFRACTIONAL(int style, int\n    sizeHundredthPoints)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETSIZEFRACTIONAL\">SCI_STYLEGETSIZEFRACTIONAL(int style) &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETBOLD\">SCI_STYLESETBOLD(int style, bool\n    bold)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETBOLD\">SCI_STYLEGETBOLD(int style) &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETWEIGHT\">SCI_STYLESETWEIGHT(int style, int\n    weight)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETWEIGHT\">SCI_STYLEGETWEIGHT(int style) &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETITALIC\">SCI_STYLESETITALIC(int style, bool\n    italic)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETITALIC\">SCI_STYLEGETITALIC(int style) &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETUNDERLINE\">SCI_STYLESETUNDERLINE(int style, bool\n    underline)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETUNDERLINE\">SCI_STYLEGETUNDERLINE(int style) &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETFORE\">SCI_STYLESETFORE(int style, colour fore)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETFORE\">SCI_STYLEGETFORE(int style) &rarr; colour</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETBACK\">SCI_STYLESETBACK(int style, colour back)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETBACK\">SCI_STYLEGETBACK(int style) &rarr; colour</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETEOLFILLED\">SCI_STYLESETEOLFILLED(int style, bool\n    eolFilled)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETEOLFILLED\">SCI_STYLEGETEOLFILLED(int style) &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETCHARACTERSET\">SCI_STYLESETCHARACTERSET(int style,\n    int characterSet)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETCHARACTERSET\">SCI_STYLEGETCHARACTERSET(int style) &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETCASE\">SCI_STYLESETCASE(int style, int\n    caseVisible)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETCASE\">SCI_STYLEGETCASE(int style) &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETVISIBLE\">SCI_STYLESETVISIBLE(int style, bool\n    visible)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETVISIBLE\">SCI_STYLEGETVISIBLE(int style) &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_STYLESETCHANGEABLE\">SCI_STYLESETCHANGEABLE(int style, bool\n    changeable)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETCHANGEABLE\">SCI_STYLEGETCHANGEABLE(int style) &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_STYLESETHOTSPOT\">SCI_STYLESETHOTSPOT(int style, bool\n    hotspot)</a><br />\n    <a class=\"message\" href=\"#SCI_STYLEGETHOTSPOT\">SCI_STYLEGETHOTSPOT(int style) &rarr; bool</a><br />\n    </code>\n\n    <p><b id=\"SCI_STYLERESETDEFAULT\">SCI_STYLERESETDEFAULT</b><br />\n     This message resets <code>STYLE_DEFAULT</code> to its state when Scintilla was\n    initialised.</p>\n\n    <p><b id=\"SCI_STYLECLEARALL\">SCI_STYLECLEARALL</b><br />\n     This message sets all styles to have the same attributes as <code>STYLE_DEFAULT</code>. If you\n    are setting up Scintilla for syntax colouring, it is likely that the lexical styles you set\n    will be very similar. One way to set the styles is to:<br />\n     1. Set <code>STYLE_DEFAULT</code> to the common features of all styles.<br />\n     2. Use <code>SCI_STYLECLEARALL</code> to copy this to all styles.<br />\n     3. Set the style attributes that make your lexical styles different.</p>\n\n    <p><b id=\"SCI_STYLESETFONT\">SCI_STYLESETFONT(int style, const char *fontName)</b><br />\n    <b id=\"SCI_STYLEGETFONT\">SCI_STYLEGETFONT(int style, char *fontName NUL-terminated) &rarr; int</b><br />\n    <b id=\"SCI_STYLESETSIZE\">SCI_STYLESETSIZE(int style, int sizePoints)</b><br />\n    <b id=\"SCI_STYLEGETSIZE\">SCI_STYLEGETSIZE(int style) &rarr; int</b><br />\n    <b id=\"SCI_STYLESETSIZEFRACTIONAL\">SCI_STYLESETSIZEFRACTIONAL(int style, int sizeHundredthPoints)</b><br />\n    <b id=\"SCI_STYLEGETSIZEFRACTIONAL\">SCI_STYLEGETSIZEFRACTIONAL(int style) &rarr; int</b><br />\n    <b id=\"SCI_STYLESETBOLD\">SCI_STYLESETBOLD(int style, bool bold)</b><br />\n    <b id=\"SCI_STYLEGETBOLD\">SCI_STYLEGETBOLD(int style) &rarr; bool</b><br />\n    <b id=\"SCI_STYLESETWEIGHT\">SCI_STYLESETWEIGHT(int style, int weight)</b><br />\n    <b id=\"SCI_STYLEGETWEIGHT\">SCI_STYLEGETWEIGHT(int style) &rarr; int</b><br />\n    <b id=\"SCI_STYLESETITALIC\">SCI_STYLESETITALIC(int style, bool italic)</b><br />\n    <b id=\"SCI_STYLEGETITALIC\">SCI_STYLEGETITALIC(int style) &rarr; bool</b><br />\n     These messages (plus <a class=\"message\"\n    href=\"#SCI_STYLESETCHARACTERSET\"><code>SCI_STYLESETCHARACTERSET</code></a>) set the font\n    attributes that are used to match the fonts you request to those available.</p>\n    <p>The\n    <code class=\"parameter\">fontName</code> is a zero terminated string holding the name of a font. Under Windows,\n    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\n    internal caching, Scintilla tracks fonts by name and does care about the casing of font names,\n    so please be consistent.\n    On GTK+, Pango is used to display text and the name is sent directly to Pango without transformation.\n    On Qt, the name is decoded as UTF-8.\n    On Cocoa, the name is decoded as MacRoman.</p>\n    <p>Sizes can be set to a whole number of points with <code>SCI_STYLESETSIZE</code>\n    or to a fractional point size in hundredths of a point with <code>SCI_STYLESETSIZEFRACTIONAL</code>\n    by multiplying the size by 100 (<code>SC_FONT_SIZE_MULTIPLIER</code>).\n    For example, a text size of 9.4 points is set with <code>SCI_STYLESETSIZEFRACTIONAL(&lt;style&gt;, 940)</code>.\n    </p>\n    <p>The weight or boldness of a font can be set with <code>SCI_STYLESETBOLD</code>\n    or <code>SCI_STYLESETWEIGHT</code>. The weight is a number between 1 and 999 with 1 being very light\n    and 999 very heavy. While any value can be used, fonts often only support between 2 and 4 weights with three weights\n    being common enough to have symbolic names:\n    <code>SC_WEIGHT_NORMAL</code> (400),\n    <code>SC_WEIGHT_SEMIBOLD</code> (600), and\n    <code>SC_WEIGHT_BOLD</code> (700).\n    The <code>SCI_STYLESETBOLD</code> message takes a boolean argument with 0 choosing <code>SC_WEIGHT_NORMAL</code>\n    and 1 <code>SC_WEIGHT_BOLD</code>.\n    </p>\n\n    <p><b id=\"SCI_STYLESETUNDERLINE\">SCI_STYLESETUNDERLINE(int style, bool\n    underline)</b><br />\n    <b id=\"SCI_STYLEGETUNDERLINE\">SCI_STYLEGETUNDERLINE(int style) &rarr; bool</b><br />\n    You can set a style to be underlined. The underline is drawn in the foreground colour. All\n    characters with a style that includes the underline attribute are underlined, even if they are\n    white space.</p>\n\n    <p><b id=\"SCI_STYLESETFORE\">SCI_STYLESETFORE(int style, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n    <b id=\"SCI_STYLEGETFORE\">SCI_STYLEGETFORE(int style) &rarr; colour</b><br />\n    <b id=\"SCI_STYLESETBACK\">SCI_STYLESETBACK(int style, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n    <b id=\"SCI_STYLEGETBACK\">SCI_STYLEGETBACK(int style) &rarr; colour</b><br />\n    Text is drawn in the foreground colour. The space in each character cell that is not occupied\n    by the character is drawn in the background colour.</p>\n\n    <p><b id=\"SCI_STYLESETEOLFILLED\">SCI_STYLESETEOLFILLED(int style, bool\n    eolFilled)</b><br />\n    <b id=\"SCI_STYLEGETEOLFILLED\">SCI_STYLEGETEOLFILLED(int style) &rarr; bool</b><br />\n    If the last character in the line has a style with this attribute set, the remainder of the\n    line up to the right edge of the window is filled with the background colour set for the last\n    character. This is useful when a document contains embedded sections in another language such\n    as HTML pages with embedded JavaScript. By setting <code class=\"parameter\">eolFilled</code> to <code>true</code>\n    and a consistent background colour (different from the background colour set for the HTML\n    styles) to all JavaScript styles then JavaScript sections will be easily distinguished from\n    HTML.</p>\n\n    <p><b id=\"SCI_STYLESETCHARACTERSET\">SCI_STYLESETCHARACTERSET(int style, int\n    characterSet)</b><br />\n    <b id=\"SCI_STYLEGETCHARACTERSET\">SCI_STYLEGETCHARACTERSET(int style) &rarr; int</b><br />\n    You can set a style to use a different character set than the default. The places where such\n    characters sets are likely to be useful are comments and literal strings. For example,\n    <code>SCI_STYLESETCHARACTERSET(SCE_C_STRING, SC_CHARSET_RUSSIAN)</code> would ensure that\n    strings in Russian would display correctly in C and C++ (<code>SCE_C_STRING</code> is the style\n    number used by the C and C++ lexer to display literal strings; it has the value 6). This\n    feature works differently on Windows and GTK+.<br />\n    The default character set is <code>SC_CHARSET_DEFAULT</code>.</p>\n    <p><code>SC_CHARSET_ANSI</code> and <code>SC_CHARSET_DEFAULT</code> specify European Windows code page 1252 unless the code page is set.</p>\n\n<table class=\"standard\" summary=\"Character Sets supported\"><tbody>\n  <tr>\n    <th>Character Set</th>\n    <th>Windows</th>\n    <th>GTK+</th>\n    <th>Cocoa</th></tr></tbody>\n  <tbody>\n  <tr>\n    <td><code>SC_CHARSET_ANSI</code></td>\n    <td>&#10003;</td>\n    <td>&#10003;</td>\n    <td>&#10003; (8859-1)</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_ARABIC</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_BALTIC</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_CHINESEBIG5</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_DEFAULT</code></td>\n    <td>&#10003;</td>\n    <td>&#10003; (8859-1)</td>\n    <td>&#10003; (8859-1)</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_EASTEUROPE</code></td>\n    <td>&#10003;</td>\n    <td>&#10003;</td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_GB2312</code></td>\n    <td>&#10003;</td>\n    <td>&#10003;</td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_GREEK</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_HANGUL</code></td>\n    <td>&#10003;</td>\n    <td>&#10003;</td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_HEBREW</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_JOHAB</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_MAC</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_OEM</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_RUSSIAN</code></td>\n    <td>&#10003; (cp1251)</td>\n    <td>&#10003; (koi8-r)</td>\n    <td>&#10003; (cp1251)</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_SHIFTJIS</code></td>\n    <td>&#10003;</td>\n    <td>&#10003;</td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_SYMBOL</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_THAI</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_TURKISH</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_VIETNAMESE</code></td>\n    <td>&#10003;</td>\n    <td></td>\n    <td>&#10003;</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_OEM866</code></td>\n    <td></td>\n    <td>&#10003; (cp866)</td>\n    <td></td></tr>\n   <tr>\n    <td><code>SC_CHARSET_CYRILLIC</code></td>\n    <td></td>\n    <td>&#10003; (cp1251)</td>\n    <td>&#10003; (cp1251)</td></tr>\n   <tr>\n    <td><code>SC_CHARSET_8859_15</code></td>\n    <td></td>\n    <td>&#10003;</td>\n    <td>&#10003;</td></tr>\n</tbody></table>\n\n    <p><b id=\"SCI_STYLESETCASE\">SCI_STYLESETCASE(int style, int caseVisible)</b><br />\n    <b id=\"SCI_STYLEGETCASE\">SCI_STYLEGETCASE(int style) &rarr; int</b><br />\n    The value of <code>caseVisible</code> determines how text is displayed. You can set upper case\n    (<code>SC_CASE_UPPER</code>, 1) or lower case (<code>SC_CASE_LOWER</code>, 2) or camel case (<code>SC_CASE_CAMEL</code>, 3)\n    or display normally (<code>SC_CASE_MIXED</code>, 0). This does not change the stored text, only how it is\n    displayed.</p>\n\n    <p><b id=\"SCI_STYLESETVISIBLE\">SCI_STYLESETVISIBLE(int style, bool visible)</b><br />\n    <b id=\"SCI_STYLEGETVISIBLE\">SCI_STYLEGETVISIBLE(int style) &rarr; bool</b><br />\n    Text is normally visible. However, you can completely hide it by giving it a style with the\n    <code class=\"parameter\">visible</code> set to 0. This could be used to hide embedded formatting instructions or\n    hypertext keywords in HTML or XML.\n    Invisible text may not be deleted by user actions but the application may delete invisible text by calling\n    <a class=\"seealso\" href=\"#SCI_DELETERANGE\">SCI_DELETERANGE</a>.</p>\n\n    <p><b id=\"SCI_STYLESETCHANGEABLE\">SCI_STYLESETCHANGEABLE(int style, bool\n    changeable)</b><br />\n    <b id=\"SCI_STYLEGETCHANGEABLE\">SCI_STYLEGETCHANGEABLE(int style) &rarr; bool</b><br />\n    This is an experimental and incompletely implemented style attribute. The default setting is\n    <code class=\"parameter\">changeable</code> set <code>true</code> but when set <code>false</code> it makes text\n    read-only. The user can not move the caret within not-changeable text and not-changeable\n    text may not be deleted by the user.\n    The application may delete not-changeable text by calling\n    <a class=\"seealso\" href=\"#SCI_DELETERANGE\">SCI_DELETERANGE</a>.</p>\n\n    <p><b id=\"SCI_STYLESETHOTSPOT\">SCI_STYLESETHOTSPOT(int style, bool\n    hotspot)</b><br />\n    <b id=\"SCI_STYLEGETHOTSPOT\">SCI_STYLEGETHOTSPOT(int style) &rarr; bool</b><br />\n    This style is used to mark ranges of text that can detect mouse clicks.\n    The cursor changes to a hand over hotspots, and the foreground, and background colours\n    may change and an underline appear to indicate that these areas are sensitive to clicking.\n    This may be used to allow hyperlinks to other documents.</p>\n\n    <h2 id=\"CaretAndSelectionStyles\">Caret, selection, and hotspot styles</h2>\n\n    <p>The selection is shown by changing the foreground and/or background colours. If one of these\n    is not set then that attribute is not changed for the selection. The default is to show the\n    selection by changing the background to light grey and leaving the foreground the same as when\n    it was not selected. When there is no selection, the current insertion point is marked by the\n    text caret. This is a vertical line that is normally blinking on and off to attract the users\n    attention.</p>\n    <code><a class=\"message\" href=\"#SCI_SETSELFORE\">SCI_SETSELFORE(bool useSetting, colour fore)</a><br />\n    <a class=\"message\" href=\"#SCI_SETSELBACK\">SCI_SETSELBACK(bool useSetting, colour back)</a><br />\n    <a class=\"message\" href=\"#SCI_SETSELALPHA\">SCI_SETSELALPHA(alpha alpha)</a><br />\n    <a class=\"message\" href=\"#SCI_GETSELALPHA\">SCI_GETSELALPHA &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_SETSELEOLFILLED\">SCI_SETSELEOLFILLED(bool filled)</a><br />\n    <a class=\"message\" href=\"#SCI_GETSELEOLFILLED\">SCI_GETSELEOLFILLED &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETFORE\">SCI_SETCARETFORE(colour fore)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETFORE\">SCI_GETCARETFORE &rarr; colour</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETLINEVISIBLE\">SCI_SETCARETLINEVISIBLE(bool show)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETLINEVISIBLE\">SCI_GETCARETLINEVISIBLE &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETLINEBACK\">SCI_SETCARETLINEBACK(colour back)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETLINEBACK\">SCI_GETCARETLINEBACK &rarr; colour</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETLINEBACKALPHA\">SCI_SETCARETLINEBACKALPHA(alpha alpha)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETLINEBACKALPHA\">SCI_GETCARETLINEBACKALPHA &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETLINEFRAME\">SCI_SETCARETLINEFRAME(int width)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETLINEFRAME\">SCI_GETCARETLINEFRAME &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETLINEVISIBLEALWAYS\">SCI_SETCARETLINEVISIBLEALWAYS(bool alwaysVisible)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETLINEVISIBLEALWAYS\">SCI_GETCARETLINEVISIBLEALWAYS &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETPERIOD\">SCI_SETCARETPERIOD(int periodMilliseconds)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETPERIOD\">SCI_GETCARETPERIOD &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETSTYLE\">SCI_SETCARETSTYLE(int caretStyle)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETSTYLE\">SCI_GETCARETSTYLE &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_SETCARETWIDTH\">SCI_SETCARETWIDTH(int pixelWidth)</a><br />\n    <a class=\"message\" href=\"#SCI_GETCARETWIDTH\">SCI_GETCARETWIDTH &rarr; int</a><br />\n    <a class=\"message\" href=\"#SCI_SETHOTSPOTACTIVEFORE\">SCI_SETHOTSPOTACTIVEFORE(bool useSetting, colour fore)</a><br />\n    <a class=\"message\" href=\"#SCI_GETHOTSPOTACTIVEFORE\">SCI_GETHOTSPOTACTIVEFORE &rarr; colour</a><br />\n    <a class=\"message\" href=\"#SCI_SETHOTSPOTACTIVEBACK\">SCI_SETHOTSPOTACTIVEBACK(bool useSetting, colour back)</a><br />\n    <a class=\"message\" href=\"#SCI_GETHOTSPOTACTIVEBACK\">SCI_GETHOTSPOTACTIVEBACK &rarr; colour</a><br />\n    <a class=\"message\" href=\"#SCI_SETHOTSPOTACTIVEUNDERLINE\">SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline)</a><br />\n    <a class=\"message\" href=\"#SCI_GETHOTSPOTACTIVEUNDERLINE\">SCI_GETHOTSPOTACTIVEUNDERLINE &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_SETHOTSPOTSINGLELINE\">SCI_SETHOTSPOTSINGLELINE(bool singleLine)</a><br />\n    <a class=\"message\" href=\"#SCI_GETHOTSPOTSINGLELINE\">SCI_GETHOTSPOTSINGLELINE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETCARETSTICKY\">SCI_SETCARETSTICKY(int useCaretStickyBehaviour)</a><br />\n     <a class=\"message\" href=\"#SCI_GETCARETSTICKY\">SCI_GETCARETSTICKY &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_TOGGLECARETSTICKY\">SCI_TOGGLECARETSTICKY</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETSELFORE\">SCI_SETSELFORE(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_SETSELBACK\">SCI_SETSELBACK(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     You can choose to override the default selection colouring with these two messages. The colour\n    you provide is used if you set <code class=\"parameter\">useSelection*Colour</code> to <code>true</code>. If it is\n    set to <code>false</code>, the default styled colouring is used and the\n    <code class=\"parameter\">fore</code> or <code class=\"parameter\">back</code>\n    argument has no effect.</p>\n     <p><b id=\"SCI_SETSELALPHA\">SCI_SETSELALPHA(<a class=\"jump\" href=\"#alpha\">alpha</a> alpha)</b><br />\n     <b id=\"SCI_GETSELALPHA\">SCI_GETSELALPHA &rarr; int</b><br />\n     The selection can be drawn translucently in the selection background colour by\n     setting an alpha value.</p>\n\n     <p><b id=\"SCI_SETSELEOLFILLED\">SCI_SETSELEOLFILLED(bool filled)</b><br />\n     <b id=\"SCI_GETSELEOLFILLED\">SCI_GETSELEOLFILLED &rarr; bool</b><br />\n     The selection can be drawn up to the right hand border by setting this property.</p>\n\n    <p><b id=\"SCI_SETCARETFORE\">SCI_SETCARETFORE(<a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_GETCARETFORE\">SCI_GETCARETFORE &rarr; colour</b><br />\n     The colour of the caret can be set with <code>SCI_SETCARETFORE</code> and retrieved with\n    <code>SCI_GETCARETFORE</code>.</p>\n\n    <p><b id=\"SCI_SETCARETLINEVISIBLE\">SCI_SETCARETLINEVISIBLE(bool show)</b><br />\n     <b id=\"SCI_GETCARETLINEVISIBLE\">SCI_GETCARETLINEVISIBLE &rarr; bool</b><br />\n     <b id=\"SCI_SETCARETLINEBACK\">SCI_SETCARETLINEBACK(<a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     <b id=\"SCI_GETCARETLINEBACK\">SCI_GETCARETLINEBACK &rarr; colour</b><br />\n     <b id=\"SCI_SETCARETLINEBACKALPHA\">SCI_SETCARETLINEBACKALPHA(<a class=\"jump\" href=\"#alpha\">alpha</a> alpha)</b><br />\n     <b id=\"SCI_GETCARETLINEBACKALPHA\">SCI_GETCARETLINEBACKALPHA &rarr; int</b><br />\n     <b id=\"SCI_SETCARETLINEFRAME\">SCI_SETCARETLINEFRAME(int width)</b><br />\n     <b id=\"SCI_GETCARETLINEFRAME\">SCI_GETCARETLINEFRAME &rarr; int</b><br />\n     You can choose to make the background colour of the line containing the caret different with\n    these messages. To do this, set the desired background colour with\n    <code>SCI_SETCARETLINEBACK</code>, then use <code>SCI_SETCARETLINEVISIBLE(true)</code> to\n    enable the effect. You can cancel the effect with <code>SCI_SETCARETLINEVISIBLE(false)</code>.\n    The two <code>SCI_GETCARET*</code> functions return the state and the colour. This form of\n    background colouring has highest priority when a line has markers that would otherwise change\n    the background colour.\n           The caret line may also be drawn translucently which allows other background colours to show\n           through. This is done by setting the alpha (translucency) value by calling\n           SCI_SETCARETLINEBACKALPHA. When the alpha is not SC_ALPHA_NOALPHA,\n           the caret line is drawn after all other features so will affect the colour of all other features.\n           Alternatively <code>SCI_SETCARETLINEFRAME</code> can be used to display the caret line framed\n           instead of filling the whole background. Set width != 0 to enable this option and width = 0 to disable it.\n          </p>\n\n    <p><b id=\"SCI_SETCARETLINEVISIBLEALWAYS\">SCI_SETCARETLINEVISIBLEALWAYS(bool alwaysVisible)</b><br />\n     <b id=\"SCI_GETCARETLINEVISIBLEALWAYS\">SCI_GETCARETLINEVISIBLEALWAYS &rarr; bool</b><br />\n     Choose to make the caret line always visible even when the window is not in focus.\n     Default behaviour <code>SCI_SETCARETLINEVISIBLEALWAYS(false)</code> the caret line is only visible when the window is in focus.\n          </p>\n\n    <p><b id=\"SCI_SETCARETPERIOD\">SCI_SETCARETPERIOD(int periodMilliseconds)</b><br />\n     <b id=\"SCI_GETCARETPERIOD\">SCI_GETCARETPERIOD &rarr; int</b><br />\n     The rate at which the caret blinks can be set with <code>SCI_SETCARETPERIOD</code> which\n    determines the time in milliseconds that the caret is visible or invisible before changing\n    state. Setting the period to 0 stops the caret blinking. The default value is 500 milliseconds.\n    <code>SCI_GETCARETPERIOD</code> returns the current setting.</p>\n\n    <p><b id=\"SCI_SETCARETSTYLE\">SCI_SETCARETSTYLE(int caretStyle)</b><br />\n     <b id=\"SCI_GETCARETSTYLE\">SCI_GETCARETSTYLE &rarr; int</b><br />\n     The style of the caret can be set with <code>SCI_SETCARETSTYLE</code> to be a line caret\n    (CARETSTYLE_LINE=1), a block caret (CARETSTYLE_BLOCK=2) or to not draw at all\n    (CARETSTYLE_INVISIBLE=0). The default value is the line caret (CARETSTYLE_LINE=1).\n    You can determine the current caret style setting using <code>SCI_GETCARETSTYLE</code>.</p>\n\n    <p>The block character draws most combining and multibyte character sequences successfully,\n    though some fonts like Thai Fonts (and possibly others) can sometimes appear strange when\n    the cursor is positioned at these characters, which may result in only drawing a part of the\n    cursor character sequence. This is most notable on Windows platforms.</p>\n\n    <p><b id=\"SCI_SETCARETWIDTH\">SCI_SETCARETWIDTH(int pixelWidth)</b><br />\n     <b id=\"SCI_GETCARETWIDTH\">SCI_GETCARETWIDTH &rarr; int</b><br />\n     The width of the line caret can be set with <code>SCI_SETCARETWIDTH</code> to a value of\n    0, 1, 2 or 3 pixels. The default width is 1 pixel. You can read back the current width with\n    <code>SCI_GETCARETWIDTH</code>. A width of 0 makes the caret invisible (added at version\n    1.50), similar to setting the caret style to CARETSTYLE_INVISIBLE (though not interchangeable).\n    This setting only affects the width of the cursor when the cursor style is set to line caret\n    mode, it does not affect the width for a block caret.</p>\n\n    <p><b id=\"SCI_SETHOTSPOTACTIVEFORE\">SCI_SETHOTSPOTACTIVEFORE(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n    <b id=\"SCI_GETHOTSPOTACTIVEFORE\">SCI_GETHOTSPOTACTIVEFORE &rarr; colour</b><br />\n    <b id=\"SCI_SETHOTSPOTACTIVEBACK\">SCI_SETHOTSPOTACTIVEBACK(bool useSetting,\n    <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n    <b id=\"SCI_GETHOTSPOTACTIVEBACK\">SCI_GETHOTSPOTACTIVEBACK &rarr; colour</b><br />\n    <b id=\"SCI_SETHOTSPOTACTIVEUNDERLINE\">SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline)</b><br />\n     <b id=\"SCI_GETHOTSPOTACTIVEUNDERLINE\">SCI_GETHOTSPOTACTIVEUNDERLINE &rarr; bool</b><br />\n    <b id=\"SCI_SETHOTSPOTSINGLELINE\">SCI_SETHOTSPOTSINGLELINE(bool singleLine)</b><br />\n     <b id=\"SCI_GETHOTSPOTSINGLELINE\">SCI_GETHOTSPOTSINGLELINE &rarr; bool</b><br />\n    While the cursor hovers over text in a style with the hotspot attribute set,\n    the default colouring can be modified and an underline drawn with these settings.\n    Single line mode stops a hotspot from wrapping onto next line.</p>\n\n    <p><b id=\"SCI_SETCARETSTICKY\">SCI_SETCARETSTICKY(int useCaretStickyBehaviour)</b><br />\n    <b id=\"SCI_GETCARETSTICKY\">SCI_GETCARETSTICKY &rarr; int</b><br />\n    <b id=\"SCI_TOGGLECARETSTICKY\">SCI_TOGGLECARETSTICKY</b><br />\n    These messages set, get or toggle the caretSticky setting which controls when the last position\n    of the caret on the line is saved.</p>\n\n    <p>When set to <code>SC_CARETSTICKY_OFF</code> (0), the sticky flag is off; all text changes\n    (and all caret position changes) will remember the\n    caret's new horizontal position when moving to different lines. This is the default.</p>\n\n    <p>When set to <code>SC_CARETSTICKY_ON</code> (1), the sticky flag is on, and the only thing which will cause the editor to remember the\n    horizontal caret position is moving the caret with mouse or keyboard (left/right arrow keys, home/end keys, etc). </p>\n\n    <p>When set to <code>SC_CARETSTICKY_WHITESPACE</code> (2), the caret acts like mode 0 (sticky off) except under one\n    special case; when space or tab characters are inserted. (Including pasting <b>only space/tabs</b> -- undo, redo,\n    etc. do not exhibit this behaviour..).</p>\n\n    <p><code>SCI_TOGGLECARETSTICKY</code> switches from <code>SC_CARETSTICKY_ON</code> and <code>SC_CARETSTICKY_WHITESPACE</code>\n    to <code>SC_CARETSTICKY_OFF</code> and from <code>SC_CARETSTICKY_OFF</code> to <code>SC_CARETSTICKY_ON</code>.</p>\n\n    <h2 id=\"CharacterRepresentations\">Character representations</h2>\n\n    <p>Some characters, such as control characters and invalid bytes, do not have a visual glyph or use a glyph that is hard to distinguish.</p>\n\n    <p>Control characters (characters with codes less than 32, or between 128 and 159 in some encodings)\n    are displayed by Scintilla using their mnemonics inverted in a rounded rectangle. These mnemonics come from the\n    early days of signalling, though some are still used (LF = Line Feed, BS = Back Space, CR =\n    Carriage Return, for example).</p>\n\n    <p>For the low 'C0' values: \"NUL\", \"SOH\", \"STX\", \"ETX\", \"EOT\", \"ENQ\", \"ACK\", \"BEL\",\n    \"BS\", \"HT\", \"LF\", \"VT\", \"FF\", \"CR\", \"SO\", \"SI\", \"DLE\", \"DC1\", \"DC2\", \"DC3\", \"DC4\", \"NAK\",\n    \"SYN\", \"ETB\", \"CAN\", \"EM\", \"SUB\", \"ESC\", \"FS\", \"GS\", \"RS\", \"US\".</p>\n\n    <p>For the high 'C1' values:\n       \"PAD\", \"HOP\", \"BPH\", \"NBH\", \"IND\", \"NEL\", \"SSA\", \"ESA\",\n       \"HTS\", \"HTJ\", \"VTS\", \"PLD\", \"PLU\", \"RI\", \"SS2\", \"SS3\",\n       \"DCS\", \"PU1\", \"PU2\", \"STS\", \"CCH\", \"MW\", \"SPA\", \"EPA\",\n       \"SOS\", \"SGCI\", \"SCI\", \"CSI\", \"ST\", \"OSC\", \"PM\", \"APC\".</p>\n\n    <p>Invalid bytes are shown in a similar way with an 'x' followed by their value in hexadecimal, like \"xFE\".</p>\n\n    <code>\n     <a class=\"message\" href=\"#SCI_SETREPRESENTATION\">SCI_SETREPRESENTATION(const char *encodedCharacter, const char *representation)</a><br />\n     <a class=\"message\" href=\"#SCI_GETREPRESENTATION\">SCI_GETREPRESENTATION(const char *encodedCharacter, char *representation) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARREPRESENTATION\">SCI_CLEARREPRESENTATION(const char *encodedCharacter)</a><br />\n    <a class=\"message\" href=\"#SCI_SETCONTROLCHARSYMBOL\">SCI_SETCONTROLCHARSYMBOL(int symbol)</a><br />\n     <a class=\"message\" href=\"#SCI_GETCONTROLCHARSYMBOL\">SCI_GETCONTROLCHARSYMBOL &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETREPRESENTATION\">SCI_SETREPRESENTATION(const char *encodedCharacter, const char *representation)</b><br />\n     <b id=\"SCI_GETREPRESENTATION\">SCI_GETREPRESENTATION(const char *encodedCharacter, char *representation NUL-terminated) &rarr; int</b><br />\n     <b id=\"SCI_CLEARREPRESENTATION\">SCI_CLEARREPRESENTATION(const char *encodedCharacter)</b><br />\n    Any character, including those normally displayed  as mnemonics may be represented by a\n    string inverted in a rounded rectangle.</p>\n\n    <p>For example, the Ohm sign &#x2126; U+2126 looks very similar to the Greek Omega character &#x3a9; U+03C9 so,\n    for the UTF-8 encoding, to distinguish the Ohm sign as \"U+2126 &#x2126;\" this call could be made:\n    <code>SCI_SETREPRESENTATION(\"\\xe2\\x84\\xa6\", \"U+2126 \\xe2\\x84\\xa6\")</code></p>\n\n    <p>The encodedCharacter parameter is a NUL-terminated string of the bytes for one character in the\n    current encoding. This can not be used to set a representation for multiple-character strings. </p>\n\n    <p>The NUL (0) character is a special case since the encodedCharacter parameter is NUL terminated, the NUL\n    character is specified as an empty string.</p>\n\n    <p><b id=\"SCI_SETCONTROLCHARSYMBOL\">SCI_SETCONTROLCHARSYMBOL(int symbol)</b><br />\n     <b id=\"SCI_GETCONTROLCHARSYMBOL\">SCI_GETCONTROLCHARSYMBOL &rarr; int</b><br />\n    The mnemonics may be replaced by a nominated symbol with an ASCII code in the\n    range 32 to 255. If you set a symbol value less than 32, all control characters are displayed\n    as mnemonics. The symbol you set is rendered in the font of the style set for the character.\n    You can read back the current symbol with the <code>SCI_GETCONTROLCHARSYMBOL</code> message.\n    The default symbol value is 0.</p>\n\n    <h2 id=\"Margins\">Margins</h2>\n\n    <p>There may be multiple margins to the left of the text display plus a gap either side of the text.\n    5 margins are allocated initially numbered from 0 to <code>SC_MAX_MARGIN</code> (4)\n    but this may be changed by calling\n    <a class=\"message\" href=\"#SCI_SETMARGINS\"><code>SCI_SETMARGINS</code></a>.\n    Each margin can be set to display only symbols, line numbers, or text with\n    <a class=\"message\" href=\"#SCI_SETMARGINTYPEN\"><code>SCI_SETMARGINTYPEN</code></a>.\n    Textual margins may also display symbols.\n    The markers\n    that can be displayed in each margin are set with <a class=\"message\"\n    href=\"#SCI_SETMARGINMASKN\"><code>SCI_SETMARGINMASKN</code></a>. Any markers not associated with\n    a visible margin will be displayed as changes in background colour in the text. A width in\n    pixels can be set for each margin. Margins with a zero width are ignored completely. You can\n    choose if a mouse click in a margin sends a <a class=\"message\"\n    href=\"#SCN_MARGINCLICK\"><code>SCN_MARGINCLICK</code></a> or <a class=\"message\"\n    href=\"#SCN_MARGINRIGHTCLICK\"><code>SCN_MARGINRIGHTCLICK</code></a> notification to the container or\n    selects a line of text.</p>\n\n    <p>Using a margin number outside the valid range has no\n    effect. By default, margin 0 is set to display line numbers, but is given a width of 0, so it\n    is hidden. Margin 1 is set to display non-folding symbols and is given a width of 16 pixels, so\n    it is visible. Margin 2 is set to display the folding symbols, but is given a width of 0, so it\n    is hidden. Of course, you can set the margins to be whatever you wish.</p>\n\n    <p>Styled text margins used to show revision and blame information:</p>\n    <p><img src=\"styledmargin.png\" alt=\"Styled text margins used to show revision and blame information\" /></p>\n\n    <code>\n     <a class=\"message\" href=\"#SCI_SETMARGINS\">SCI_SETMARGINS(int margins)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINS\">SCI_GETMARGINS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINTYPEN\">SCI_SETMARGINTYPEN(int margin, int marginType)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINTYPEN\">SCI_GETMARGINTYPEN(int margin) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINWIDTHN\">SCI_SETMARGINWIDTHN(int margin, int\n    pixelWidth)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINWIDTHN\">SCI_GETMARGINWIDTHN(int margin) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINMASKN\">SCI_SETMARGINMASKN(int margin, int\n    mask)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINMASKN\">SCI_GETMARGINMASKN(int margin) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINSENSITIVEN\">SCI_SETMARGINSENSITIVEN(int margin, bool\n    sensitive)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINSENSITIVEN\">SCI_GETMARGINSENSITIVEN(int margin) &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINCURSORN\">SCI_SETMARGINCURSORN(int margin, int\n    cursor)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINCURSORN\">SCI_GETMARGINCURSORN(int margin) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINBACKN\">SCI_SETMARGINBACKN(int margin, colour back)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINBACKN\">SCI_GETMARGINBACKN(int margin) &rarr; colour</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINLEFT\">SCI_SETMARGINLEFT(&lt;unused&gt;, int\n    pixelWidth)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINLEFT\">SCI_GETMARGINLEFT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINRIGHT\">SCI_SETMARGINRIGHT(&lt;unused&gt;, int\n    pixelWidth)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINRIGHT\">SCI_GETMARGINRIGHT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETFOLDMARGINCOLOUR\">SCI_SETFOLDMARGINCOLOUR(bool useSetting, colour back)</a><br />\n     <a class=\"message\" href=\"#SCI_SETFOLDMARGINHICOLOUR\">SCI_SETFOLDMARGINHICOLOUR(bool useSetting, colour fore)</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINSETTEXT\">SCI_MARGINSETTEXT(int line, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINGETTEXT\">SCI_MARGINGETTEXT(int line, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINSETSTYLE\">SCI_MARGINSETSTYLE(int line, int style)</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINGETSTYLE\">SCI_MARGINGETSTYLE(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINSETSTYLES\">SCI_MARGINSETSTYLES(int line, const char *styles)</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINGETSTYLES\">SCI_MARGINGETSTYLES(int line, char *styles) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINTEXTCLEARALL\">SCI_MARGINTEXTCLEARALL</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINSETSTYLEOFFSET\">SCI_MARGINSETSTYLEOFFSET(int style)</a><br />\n     <a class=\"message\" href=\"#SCI_MARGINGETSTYLEOFFSET\">SCI_MARGINGETSTYLEOFFSET &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETMARGINOPTIONS\">SCI_SETMARGINOPTIONS(int marginOptions)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMARGINOPTIONS\">SCI_GETMARGINOPTIONS &rarr; int</a><br />\n    </code>\n\n<p><b id=\"SCI_SETMARGINS\">SCI_SETMARGINS(int margins)</b><br />\n     <b id=\"SCI_GETMARGINS\">SCI_GETMARGINS &rarr; int</b><br />\n     Allocate the number of margins or find the number of margins currently allocated.</p>\n\n    <p><b id=\"SCI_SETMARGINTYPEN\">SCI_SETMARGINTYPEN(int margin, int marginType)</b><br />\n     <b id=\"SCI_GETMARGINTYPEN\">SCI_GETMARGINTYPEN(int margin) &rarr; int</b><br />\n     These two routines set and get the type of a margin. The margin argument should be 0, 1, 2, 3 or 4.\n    You can use the predefined constants <code>SC_MARGIN_SYMBOL</code> (0) and\n    <code>SC_MARGIN_NUMBER</code> (1) to set a margin as either a line number or a symbol margin.\n    A margin with application defined text may use <code>SC_MARGIN_TEXT</code> (4) or\n    <code>SC_MARGIN_RTEXT</code> (5) to right justify the text.\n    By convention, margin 0 is used for line numbers and the next two are used for symbols. You can\n    also use the constants <code>SC_MARGIN_BACK</code> (2), <code>SC_MARGIN_FORE</code> (3),\n    and <code>SC_MARGIN_COLOUR</code> (6) for\n    symbol margins that set their background colour to match the STYLE_DEFAULT background and\n    foreground colours or a specified colour.</p>\n\n    <p><b id=\"SCI_SETMARGINWIDTHN\">SCI_SETMARGINWIDTHN(int margin, int pixelWidth)</b><br />\n     <b id=\"SCI_GETMARGINWIDTHN\">SCI_GETMARGINWIDTHN(int margin) &rarr; int</b><br />\n     These routines set and get the width of a margin in pixels. A margin with zero width is\n    invisible. By default, Scintilla sets margin 1 for symbols with a width of 16 pixels, so this\n    is a reasonable guess if you are not sure what would be appropriate. Line number margins widths\n    should take into account the number of lines in the document and the line number style. You\n    could use something like <a class=\"message\"\n    href=\"#SCI_TEXTWIDTH\"><code>SCI_TEXTWIDTH(STYLE_LINENUMBER, \"_99999\")</code></a> to get a\n    suitable width.</p>\n\n    <p><b id=\"SCI_SETMARGINMASKN\">SCI_SETMARGINMASKN(int margin, int mask)</b><br />\n     <b id=\"SCI_GETMARGINMASKN\">SCI_GETMARGINMASKN(int margin) &rarr; int</b><br />\n     The mask is a 32-bit value. Each bit corresponds to one of 32 logical symbols that can be\n    displayed in a margin that is enabled for symbols. There is a useful constant,\n    <code>SC_MASK_FOLDERS</code> (0xFE000000 or -33554432), that is a mask for the 7 logical\n    symbols used to denote folding. You can assign a wide range of symbols and colours to each of\n    the 32 logical symbols, see <a href=\"#Markers\">Markers</a> for more information. If <code>(mask\n    &amp; SC_MASK_FOLDERS)==0</code>, the margin background colour is controlled by style 33 (<a\n    class=\"message\" href=\"#StyleDefinition\"><code>STYLE_LINENUMBER</code></a>).</p>\n\n    <p>You add logical markers to a line with <a class=\"message\"\n    href=\"#SCI_MARKERADD\"><code>SCI_MARKERADD</code></a>. If a line has an associated marker that\n    does not appear in the mask of any margin with a non-zero width, the marker changes the\n    background colour of the line. For example, suppose you decide to use logical marker 10 to mark\n    lines with a syntax error and you want to show such lines by changing the background colour.\n    The mask for this marker is 1 shifted left 10 times (1&lt;&lt;10) which is 0x400. If you make\n    sure that no symbol margin includes 0x400 in its mask, any line with the marker gets the\n    background colour changed.</p>\n\n    <p>To set a non-folding margin 1 use <code>SCI_SETMARGINMASKN(1, ~SC_MASK_FOLDERS)</code>\n    which is the default set by Scintilla.\n    To set a folding margin 2 use <code>SCI_SETMARGINMASKN(2, SC_MASK_FOLDERS)</code>.\n    <code>~SC_MASK_FOLDERS</code> is 0x1FFFFFF in hexadecimal or 33554431\n    decimal. Of course, you may need to display all 32 symbols in a margin, in which case use\n    <code>SCI_SETMARGINMASKN(margin, -1)</code>.</p>\n\n    <p><b id=\"SCI_SETMARGINSENSITIVEN\">SCI_SETMARGINSENSITIVEN(int margin, bool\n    sensitive)</b><br />\n     <b id=\"SCI_GETMARGINSENSITIVEN\">SCI_GETMARGINSENSITIVEN(int margin) &rarr; bool</b><br />\n     Each of the five margins can be set sensitive or insensitive to mouse clicks. A click in a\n    sensitive margin sends a <a class=\"message\"\n    href=\"#SCN_MARGINCLICK\"><code>SCN_MARGINCLICK</code></a> or <a class=\"message\"\n    href=\"#SCN_MARGINRIGHTCLICK\"><code>SCN_MARGINRIGHTCLICK</code></a> <a class=\"jump\"\n    href=\"#Notifications\">notification</a> to the container. Margins that are not sensitive act as\n    selection margins which make it easy to select ranges of lines. By default, all margins are\n    insensitive.</p>\n\n    <p><b id=\"SCI_SETMARGINCURSORN\">SCI_SETMARGINCURSORN(int margin, int\n    cursor)</b><br />\n     <b id=\"SCI_GETMARGINCURSORN\">SCI_GETMARGINCURSORN(int margin) &rarr; int</b><br />\n     A reversed arrow cursor is normally shown over all margins. This may be changed to a normal arrow with\n     <code>SCI_SETMARGINCURSORN(margin, SC_CURSORARROW)</code> or restored to a\n     reversed arrow with\n     <code>SCI_SETMARGINCURSORN(margin, SC_CURSORREVERSEARROW)</code>.</p>\n    <p><b id=\"SCI_SETMARGINBACKN\">SCI_SETMARGINBACKN(int margin, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     <b id=\"SCI_GETMARGINBACKN\">SCI_GETMARGINBACKN(int margin) &rarr; colour</b><br />\n     A margin of type <code>SC_MARGIN_COLOUR</code>\n     may have its colour set with <code>SCI_SETMARGINBACKN</code>.</p>\n\n    <p><b id=\"SCI_SETMARGINLEFT\">SCI_SETMARGINLEFT(&lt;unused&gt;, int pixelWidth)</b><br />\n     <b id=\"SCI_GETMARGINLEFT\">SCI_GETMARGINLEFT &rarr; int</b><br />\n     <b id=\"SCI_SETMARGINRIGHT\">SCI_SETMARGINRIGHT(&lt;unused&gt;, int pixelWidth)</b><br />\n     <b id=\"SCI_GETMARGINRIGHT\">SCI_GETMARGINRIGHT &rarr; int</b><br />\n     These messages set and get the width of the blank margin on both sides of the text in pixels.\n    The default is to one pixel on each side.</p>\n\n    <p><b id=\"SCI_SETFOLDMARGINCOLOUR\">SCI_SETFOLDMARGINCOLOUR(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     <b id=\"SCI_SETFOLDMARGINHICOLOUR\">SCI_SETFOLDMARGINHICOLOUR(bool useSetting, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     These messages allow changing the colour of the fold margin and fold margin highlight.\n     On Windows the fold margin colour defaults to ::GetSysColor(COLOR_3DFACE) and the fold margin highlight\n     colour to ::GetSysColor(COLOR_3DHIGHLIGHT).</p>\n\n    <p>\n     <b id=\"SCI_MARGINSETTEXT\">SCI_MARGINSETTEXT(int line, const char *text)</b><br />\n     <b id=\"SCI_MARGINGETTEXT\">SCI_MARGINGETTEXT(int line, char *text) &rarr; int</b><br />\n     <b id=\"SCI_MARGINSETSTYLE\">SCI_MARGINSETSTYLE(int line, int style)</b><br />\n     <b id=\"SCI_MARGINGETSTYLE\">SCI_MARGINGETSTYLE(int line) &rarr; int</b><br />\n     <b id=\"SCI_MARGINSETSTYLES\">SCI_MARGINSETSTYLES(int line, const char *styles)</b><br />\n     <b id=\"SCI_MARGINGETSTYLES\">SCI_MARGINGETSTYLES(int line, char *styles) &rarr; int</b><br />\n     <b id=\"SCI_MARGINTEXTCLEARALL\">SCI_MARGINTEXTCLEARALL</b><br />\n     Text margins are created with the type SC_MARGIN_TEXT or SC_MARGIN_RTEXT.\n     A different string may be set for each line with <code>SCI_MARGINSETTEXT</code>.\n     The whole of the text margin on a line may be displayed in a particular style with\n     <code>SCI_MARGINSETSTYLE</code> or each character may be individually styled with\n     <code>SCI_MARGINSETSTYLES</code> which uses an array of bytes with each byte setting the style\n     of the corresponding text byte similar to <code>SCI_SETSTYLINGEX</code>.\n     Setting a text margin will cause a\n     <a class=\"message\" href=\"#SC_MOD_CHANGEMARGIN\"><code>SC_MOD_CHANGEMARGIN</code></a>\n     notification to be sent.\n    </p>\n    <p>\n    Only some style attributes are active in text margins: font, size/sizeFractional, bold/weight, italics, fore, back, and characterSet.\n    </p>\n    <p>\n     <b id=\"SCI_MARGINSETSTYLEOFFSET\">SCI_MARGINSETSTYLEOFFSET(int style)</b><br />\n     <b id=\"SCI_MARGINGETSTYLEOFFSET\">SCI_MARGINGETSTYLEOFFSET &rarr; int</b><br />\n    Margin styles may be completely separated from standard text styles by setting a style offset. For example,\n    <code>SCI_MARGINSETSTYLEOFFSET(256)</code> would allow the margin styles to be numbered from\n    256 up to 511 so they do not overlap styles set by lexers. Each style number set with <code>SCI_MARGINSETSTYLE</code>\n    or <code>SCI_MARGINSETSTYLES</code> has the offset added before looking up the style.\n    </p>\n    <p>\n    Always call <a class=\"seealso\" href=\"#SCI_ALLOCATEEXTENDEDSTYLES\">SCI_ALLOCATEEXTENDEDSTYLES</a>\n    before <code>SCI_MARGINSETSTYLEOFFSET</code> and use the result as the argument to <code>SCI_MARGINSETSTYLEOFFSET</code>.\n    </p>\n    <p>\n     <b id=\"SCI_SETMARGINOPTIONS\">SCI_SETMARGINOPTIONS(int marginOptions)</b><br />\n     <b id=\"SCI_GETMARGINOPTIONS\">SCI_GETMARGINOPTIONS &rarr; int</b><br />\n    Define margin options by enabling appropriate bit flags. At the moment, only one flag is available\n    <code>SC_MARGINOPTION_SUBLINESELECT</code>=1, which controls how wrapped lines are selected when clicking\n    on margin in front of them. If <code>SC_MARGINOPTION_SUBLINESELECT</code> is set only sub line of wrapped\n    line is selected, otherwise whole wrapped line is selected. Margin options are set to\n    <code>SC_MARGINOPTION_NONE</code>=0 by default.\n    </p>\n\n    <h2 id=\"Annotations\">Annotations</h2>\n\n    <p>Annotations are read-only lines of text underneath each line of editable text.\n    An annotation may consist of multiple lines separated by '\\n'.\n    Annotations can be used to display an assembler version of code for debugging or to show diagnostic messages inline or to\n    line up different versions of text in a merge tool.</p>\n    <p>Annotations count as display lines for the methods\n    <a class=\"message\" href=\"#SCI_VISIBLEFROMDOCLINE\"><code>SCI_VISIBLEFROMDOCLINE</code></a> and\n    <a class=\"message\" href=\"#SCI_DOCLINEFROMVISIBLE\"><code>SCI_DOCLINEFROMVISIBLE</code></a></p>\n    <p>Annotations used for inline diagnostics:</p>\n    <p><img src=\"annotations.png\" alt=\"Annotations used for inline diagnostics\" /></p>\n\n    <code>\n     <a class=\"message\" href=\"#SCI_ANNOTATIONSETTEXT\">SCI_ANNOTATIONSETTEXT(int line, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONGETTEXT\">SCI_ANNOTATIONGETTEXT(int line, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONSETSTYLE\">SCI_ANNOTATIONSETSTYLE(int line, int style)</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONGETSTYLE\">SCI_ANNOTATIONGETSTYLE(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONSETSTYLES\">SCI_ANNOTATIONSETSTYLES(int line, const char *styles)</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONGETSTYLES\">SCI_ANNOTATIONGETSTYLES(int line, char *styles) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONGETLINES\">SCI_ANNOTATIONGETLINES(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONCLEARALL\">SCI_ANNOTATIONCLEARALL</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONSETVISIBLE\">SCI_ANNOTATIONSETVISIBLE(int visible)</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONGETVISIBLE\">SCI_ANNOTATIONGETVISIBLE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONSETSTYLEOFFSET\">SCI_ANNOTATIONSETSTYLEOFFSET(int style)</a><br />\n     <a class=\"message\" href=\"#SCI_ANNOTATIONGETSTYLEOFFSET\">SCI_ANNOTATIONGETSTYLEOFFSET &rarr; int</a><br />\n    </code>\n\n    <p>\n     <b id=\"SCI_ANNOTATIONSETTEXT\">SCI_ANNOTATIONSETTEXT(int line, const char *text)</b><br />\n     <b id=\"SCI_ANNOTATIONGETTEXT\">SCI_ANNOTATIONGETTEXT(int line, char *text) &rarr; int</b><br />\n     <b id=\"SCI_ANNOTATIONSETSTYLE\">SCI_ANNOTATIONSETSTYLE(int line, int style)</b><br />\n     <b id=\"SCI_ANNOTATIONGETSTYLE\">SCI_ANNOTATIONGETSTYLE(int line) &rarr; int</b><br />\n     <b id=\"SCI_ANNOTATIONSETSTYLES\">SCI_ANNOTATIONSETSTYLES(int line, const char *styles)</b><br />\n     <b id=\"SCI_ANNOTATIONGETSTYLES\">SCI_ANNOTATIONGETSTYLES(int line, char *styles) &rarr; int</b><br />\n     <b id=\"SCI_ANNOTATIONGETLINES\">SCI_ANNOTATIONGETLINES(int line) &rarr; int</b><br />\n     <b id=\"SCI_ANNOTATIONCLEARALL\">SCI_ANNOTATIONCLEARALL</b><br />\n     A different string may be set for each line with <code>SCI_ANNOTATIONSETTEXT</code>.\n     To clear annotations call <code>SCI_ANNOTATIONSETTEXT</code> with a NULL pointer.\n     The whole of the text ANNOTATION on a line may be displayed in a particular style with\n     <code>SCI_ANNOTATIONSETSTYLE</code> or each character may be individually styled with\n     <code>SCI_ANNOTATIONSETSTYLES</code> which uses an array of bytes with each byte setting the style\n     of the corresponding text byte similar to <code>SCI_SETSTYLINGEX</code>. The text must be set first as it\n     specifies how long the annotation is so how many bytes of styling to read.\n     Setting an annotation will cause a\n     <a class=\"message\" href=\"#SC_MOD_CHANGEANNOTATION\"><code>SC_MOD_CHANGEANNOTATION</code></a>\n     notification to be sent.\n    </p>\n    <p>\n    The number of lines annotating a line can be retrieved with <code>SCI_ANNOTATIONGETLINES</code>.\n    All the lines can be cleared of annotations with <code>SCI_ANNOTATIONCLEARALL</code>\n    which is equivalent to clearing each line (setting to 0) and then deleting other memory used for this feature.\n    </p>\n    <p>\n    Only some style attributes are active in annotations: font, size/sizeFractional, bold/weight, italics, fore, back, and characterSet.\n    </p>\n    <p>\n     <b id=\"SCI_ANNOTATIONSETVISIBLE\">SCI_ANNOTATIONSETVISIBLE(int visible)</b><br />\n     <b id=\"SCI_ANNOTATIONGETVISIBLE\">SCI_ANNOTATIONGETVISIBLE &rarr; int</b><br />\n     Annotations can be made visible in a view and there is a choice of display style when visible.\n     The two messages set and get the annotation display mode. The <code class=\"parameter\">visible</code>\n     argument can be one of:</p>\n\n    <table class=\"standard\" summary=\"Annotation visibility\">\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>ANNOTATION_HIDDEN</code></th>\n\n          <td>0</td>\n\n          <td>Annotations are not displayed.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>ANNOTATION_STANDARD</code></th>\n\n          <td>1</td>\n\n          <td>Annotations are drawn left justified with no adornment.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>ANNOTATION_BOXED</code></th>\n\n          <td>2</td>\n\n          <td>Annotations are indented to match the text and are surrounded by a box.</td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>ANNOTATION_INDENTED</code></th>\n\n          <td>3</td>\n\n          <td>Annotations are indented to match the text.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>\n     <b id=\"SCI_ANNOTATIONSETSTYLEOFFSET\">SCI_ANNOTATIONSETSTYLEOFFSET(int style)</b><br />\n     <b id=\"SCI_ANNOTATIONGETSTYLEOFFSET\">SCI_ANNOTATIONGETSTYLEOFFSET &rarr; int</b><br />\n    Annotation styles may be completely separated from standard text styles by setting a style offset. For example,\n    <code>SCI_ANNOTATIONSETSTYLEOFFSET(512)</code> would allow the annotation styles to be numbered from\n    512 up to 767 so they do not overlap styles set by lexers (or margins if margins offset is 256).\n    Each style number set with <code>SCI_ANNOTATIONSETSTYLE</code>\n    or <code>SCI_ANNOTATIONSETSTYLES</code> has the offset added before looking up the style.\n    </p>\n    <p>\n    Always call <a class=\"seealso\" href=\"#SCI_ALLOCATEEXTENDEDSTYLES\">SCI_ALLOCATEEXTENDEDSTYLES</a>\n    before <code>SCI_ANNOTATIONSETSTYLEOFFSET</code> and use the result as the argument to <code>SCI_ANNOTATIONSETSTYLEOFFSET</code>.\n    </p>\n\n    <h2 id=\"OtherSettings\">Other settings</h2>\n    <code>\n     <a class=\"message\" href=\"#SCI_SETBUFFEREDDRAW\">SCI_SETBUFFEREDDRAW(bool buffered)</a><br />\n     <a class=\"message\" href=\"#SCI_GETBUFFEREDDRAW\">SCI_GETBUFFEREDDRAW &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETPHASESDRAW\">SCI_SETPHASESDRAW(int phases)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPHASESDRAW\">SCI_GETPHASESDRAW &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETTWOPHASEDRAW\">SCI_SETTWOPHASEDRAW(bool twoPhase)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTWOPHASEDRAW\">SCI_GETTWOPHASEDRAW &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETTECHNOLOGY\">SCI_SETTECHNOLOGY(int technology)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTECHNOLOGY\">SCI_GETTECHNOLOGY &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETFONTQUALITY\">SCI_SETFONTQUALITY(int fontQuality)</a><br />\n     <a class=\"message\" href=\"#SCI_GETFONTQUALITY\">SCI_GETFONTQUALITY &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETCODEPAGE\">SCI_SETCODEPAGE(int codePage)</a><br />\n     <a class=\"message\" href=\"#SCI_GETCODEPAGE\">SCI_GETCODEPAGE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETIMEINTERACTION\">SCI_SETIMEINTERACTION(int imeInteraction)</a><br />\n     <a class=\"message\" href=\"#SCI_GETIMEINTERACTION\">SCI_GETIMEINTERACTION &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GRABFOCUS\">SCI_GRABFOCUS</a><br />\n     <a class=\"message\" href=\"#SCI_SETFOCUS\">SCI_SETFOCUS(bool focus)</a><br />\n     <a class=\"message\" href=\"#SCI_GETFOCUS\">SCI_GETFOCUS &rarr; bool</a><br />\n    </code>\n\n    <p>To forward a message <code>(WM_XXXX, WPARAM, LPARAM)</code> to Scintilla, you can use\n    <code>SendMessage(hScintilla, WM_XXXX, WPARAM, LPARAM)</code> where <code>hScintilla</code> is\n    the handle to the Scintilla window you created as your editor.</p>\n\n    <p>While we are on the subject of forwarding messages in Windows, the top level window should\n    forward any <code>WM_SETTINGCHANGE</code> messages to Scintilla (this is currently used to\n    collect changes to mouse settings, but could be used for other user interface items in the\n    future).</p>\n\n    <p><b id=\"SCI_SETBUFFEREDDRAW\">SCI_SETBUFFEREDDRAW(bool buffered)</b><br />\n     <b id=\"SCI_GETBUFFEREDDRAW\">SCI_GETBUFFEREDDRAW &rarr; bool</b><br />\n     These messages turn buffered drawing on or off and report the buffered drawing state. Buffered\n    drawing draws each line into a bitmap rather than directly to the screen and then copies the\n    bitmap to the screen. This avoids flickering although it does take longer. The default is for\n    drawing to be buffered on Win32 and GTK+ and to not be buffered on Cocoa and Qt.\n    Buffered drawing is not supported on Cocoa.\n    </p>\n\n    <p>Current platforms perform window buffering so it is almost always better for this option to be turned off.\n    For Win32 and GTK+, client code should turn off buffering at initialisation.\n    There are some older platforms and unusual modes where buffering may still be useful.\n    </p>\n\n    <p><b id=\"SCI_SETPHASESDRAW\">SCI_SETPHASESDRAW(int phases)</b><br />\n     <b id=\"SCI_GETPHASESDRAW\">SCI_GETPHASESDRAW &rarr; int</b><br />\n     There are several orders in which the text area may be drawn offering a trade-off between speed\n     and allowing all pixels of text to be seen even when they overlap other elements.</p>\n     <p>In single phase drawing (<code>SC_PHASES_ONE</code>) each\n     run of characters in one style is drawn along with its background.\n     If a character overhangs the end of a run, such as in \"<i>V</i>_\" where the\n     \"<i>V</i>\" is in a different style from the \"_\", then this can cause the right hand\n     side of the \"<i>V</i>\" to be overdrawn by the background of the \"_\" which\n     cuts it off.</p>\n     <p>Two phase drawing (<code>SC_PHASES_TWO</code>)\n     fixes this by drawing all the backgrounds of a line first and then drawing the text\n     in transparent mode. Lines are drawn separately and no line will overlap another\n     so any pixels that overlap into another line such as extreme ascenders and\n     descenders on characters will be cut off.\n     Two phase drawing may flicker more than single phase\n     unless buffered drawing is on or the platform is naturally buffered.\n     The default is for drawing to be two phase.</p>\n     <p>Multiple phase drawing (<code>SC_PHASES_MULTIPLE</code>)\n     draws the whole area multiple times, once for each feature, building up the\n     the appearance in layers or phases. The coloured backgrounds for all lines are\n     drawn before any text and then all the text is drawn in transparent mode over this\n     combined background without clipping text to the line boundaries. This allows\n     extreme ascenders and descenders to overflow into the adjacent lines.\n     This mode is incompatible with buffered drawing and will act as <code>SC_PHASES_TWO</code>\n     if buffered drawing is turned on.\n     Multiple phase drawing is slower than two phase drawing.\n     Setting the layout cache with\n     <a class=\"message\" href=\"#SCI_SETLAYOUTCACHE\"><code>\n     SCI_SETLAYOUTCACHE(SC_CACHE_PAGE)</code></a>\n     or higher can ensure that multiple phase drawing is not significantly slower.</p>\n\n    <p><b id=\"SCI_SETTWOPHASEDRAW\">SCI_SETTWOPHASEDRAW(bool twoPhase)</b><br />\n     <b id=\"SCI_GETTWOPHASEDRAW\">SCI_GETTWOPHASEDRAW &rarr; bool</b><br />\n     This property has been replaced with the preceding PHASESDRAW property which is more general,\n     allowing multiple phase drawing as well as one and two phase drawing.</p>\n\n    <p><b id=\"SCI_SETTECHNOLOGY\">SCI_SETTECHNOLOGY(int technology)</b><br />\n     <b id=\"SCI_GETTECHNOLOGY\">SCI_GETTECHNOLOGY &rarr; int</b><br />\n    The technology property allows choosing between different drawing APIs and options.\n    On most platforms, the only choice is <code>SC_TECHNOLOGY_DEFAULT</code> (0).\n    On Windows Vista or later, <code>SC_TECHNOLOGY_DIRECTWRITE</code> (1),\n    <code>SC_TECHNOLOGY_DIRECTWRITERETAIN</code> (2), or\n    <code>SC_TECHNOLOGY_DIRECTWRITEDC</code> (3)\n    can be chosen to use the Direct2D and DirectWrite APIs for higher quality antialiased drawing.\n    <code>SC_TECHNOLOGY_DIRECTWRITERETAIN</code> differs from\n    <code>SC_TECHNOLOGY_DIRECTWRITE</code> by requesting that the frame\n    is retained after being presented which may prevent drawing failures on some cards and drivers.\n    <code>SC_TECHNOLOGY_DIRECTWRITEDC</code> differs from\n    <code>SC_TECHNOLOGY_DIRECTWRITE</code> by using DirectWrite to draw into a GDI DC.\n    Since Direct2D buffers drawing, Scintilla's buffering can be turned off with\n    <code>SCI_SETBUFFEREDDRAW(0)</code>.</p>\n\n    <p><b id=\"SCI_SETFONTQUALITY\">SCI_SETFONTQUALITY(int fontQuality)</b><br />\n     <b id=\"SCI_GETFONTQUALITY\">SCI_GETFONTQUALITY &rarr; int</b><br />\n     Manage font quality (antialiasing method). Currently, the following values are available on Windows:\n     <code>SC_EFF_QUALITY_DEFAULT</code> (backward compatible),\n     <code>SC_EFF_QUALITY_NON_ANTIALIASED</code>,\n     <code>SC_EFF_QUALITY_ANTIALIASED</code>,\n     <code>SC_EFF_QUALITY_LCD_OPTIMIZED</code>.</p>\n     <p>In case it is necessary to squeeze more options into this property, only a limited number of bits defined\n     by SC_EFF_QUALITY_MASK (0xf) will be used for quality.</p>\n\n    <p><b id=\"SCI_SETCODEPAGE\">SCI_SETCODEPAGE(int codePage)</b><br />\n     <b id=\"SCI_GETCODEPAGE\">SCI_GETCODEPAGE &rarr; int</b><br />\n     Scintilla supports UTF-8, Japanese, Chinese and Korean DBCS along with single byte encodings like Latin-1.\n     UTF-8 (<code>SC_CP_UTF8</code>) is the default. Use this message with\n    <code class=\"parameter\">codePage</code> set to the code page number to set Scintilla to use code page information\n    to ensure multiple byte characters are treated as one character rather than multiple. This also stops\n    the caret from moving between the bytes in a multi-byte character.\n    Do not use this message to choose between different single byte character sets - use\n    <a class=\"seealso\" href=\"#SCI_STYLESETCHARACTERSET\">SCI_STYLESETCHARACTERSET</a>.\n    Call with\n    <code class=\"parameter\">codePage</code> set to zero to disable multi-byte support.</p>\n\n    <p>Code page <code>SC_CP_UTF8</code> (65001) sets Scintilla into Unicode mode with the document\n    treated as a sequence of characters expressed in UTF-8. The text is converted to the platform's\n    normal Unicode encoding before being drawn by the OS and thus can display Hebrew, Arabic,\n    Cyrillic, and Han characters. Languages which can use two characters stacked vertically in one\n    horizontal space, such as Thai, will mostly work but there are some issues where the characters\n    are drawn separately leading to visual glitches. Bi-directional text is not supported. </p>\n\n    <p>Code page can be set to 65001 (UTF-8), 932 (Japanese Shift-JIS), 936 (Simplified Chinese GBK),\n    949 (Korean Unified Hangul Code), 950 (Traditional Chinese Big5), or 1361 (Korean Johab).</p>\n\n    <p><b id=\"SCI_SETIMEINTERACTION\">SCI_SETIMEINTERACTION(int imeInteraction)</b><br />\n     <b id=\"SCI_GETIMEINTERACTION\">SCI_GETIMEINTERACTION &rarr; int</b><br />\n     When entering text in Chinese, Japanese, or Korean an Input Method Editor (IME) may be displayed.\n     The IME may be an extra window appearing above Scintilla or may be displayed by Scintilla itself\n     as text. On some platforms there is a choice between the two techniques.\n     A windowed IME <code>SC_IME_WINDOWED</code> (0) may be more similar in appearance and\n     behaviour to the IME in other applications.\n     An inline IME <code>SC_IME_INLINE</code> (1) may work better with some Scintilla features such as\n     rectangular and multiple selection.</p>\n     <p>The windowed behaviour can be chosen with <code>SCI_SETIMEINTERACTION(SC_IME_WINDOWED)</code>\n     and the inline behaviour with <code>SCI_SETIMEINTERACTION(SC_IME_INLINE)</code>.\n     Scintilla may ignore this call in some cases. For example, the inline behaviour might only be supported for some languages.</p>\n     <p>When the inline IME mode is active, characters are added tentatively before being finalised and an\n     <a class=\"message\" href=\"#SCN_CHARADDED\">SCN_CHARADDED</a>\n     notification is sent for each character.</p>\n\n    <p><b id=\"SCI_GRABFOCUS\">SCI_GRABFOCUS</b><br />\n     <b id=\"SCI_SETFOCUS\">SCI_SETFOCUS(bool focus)</b><br />\n     <b id=\"SCI_GETFOCUS\">SCI_GETFOCUS &rarr; bool</b><br />\n     Scintilla can be told to grab the focus with this message. This is needed more on GTK+ where\n           focus handling is more complicated than on Windows.</p>\n\n    <p>The internal focus flag can be set with <code>SCI_SETFOCUS</code>. This is used by clients\n    that have complex focus requirements such as having their own window that gets the real focus\n    but with the need to indicate that Scintilla has the logical focus.</p>\n\n    <h2 id=\"BraceHighlighting\">Brace highlighting</h2>\n    <code><a class=\"message\" href=\"#SCI_BRACEHIGHLIGHT\">SCI_BRACEHIGHLIGHT(int posA, int\n    posB)</a><br />\n     <a class=\"message\" href=\"#SCI_BRACEBADLIGHT\">SCI_BRACEBADLIGHT(int pos)</a><br />\n     <a class=\"message\" href=\"#SCI_BRACEHIGHLIGHTINDICATOR\">SCI_BRACEHIGHLIGHTINDICATOR(bool useSetting, int indicator)</a><br />\n     <a class=\"message\" href=\"#SCI_BRACEBADLIGHTINDICATOR\">SCI_BRACEBADLIGHTINDICATOR(bool useSetting, int indicator)</a><br />\n     <a class=\"message\" href=\"#SCI_BRACEMATCH\">SCI_BRACEMATCH(int pos, int maxReStyle) &rarr; position</a><br />\n    </code>\n\n    <p><b id=\"SCI_BRACEHIGHLIGHT\">SCI_BRACEHIGHLIGHT(int posA, int posB)</b><br />\n     Up to two characters can be highlighted in a 'brace highlighting style', which is defined as\n    style number <a class=\"message\" href=\"#StyleDefinition\"><code>STYLE_BRACELIGHT</code></a> (34).\n    If you have enabled indent guides, you may also wish to highlight the indent that corresponds\n    with the brace. You can locate the column with <a class=\"message\"\n    href=\"#SCI_GETCOLUMN\"><code>SCI_GETCOLUMN</code></a> and highlight the indent with <a\n    class=\"message\" href=\"#SCI_SETHIGHLIGHTGUIDE\"><code>SCI_SETHIGHLIGHTGUIDE</code></a>.</p>\n\n    <p><b id=\"SCI_BRACEBADLIGHT\">SCI_BRACEBADLIGHT(int pos)</b><br />\n     If there is no matching brace then the <a class=\"jump\" href=\"#StyleDefinition\">brace\n    badlighting style</a>, style <code>STYLE_BRACEBAD</code> (35), can be used to show the brace\n    that is unmatched. Using a position of <code>INVALID_POSITION</code> (-1) removes the\n    highlight.</p>\n\n    <p><b id=\"SCI_BRACEHIGHLIGHTINDICATOR\">SCI_BRACEHIGHLIGHTINDICATOR(bool useSetting, int indicator)</b><br />\n     Use specified indicator to highlight matching braces instead of changing their style.</p>\n\n    <p><b id=\"SCI_BRACEBADLIGHTINDICATOR\">SCI_BRACEBADLIGHTINDICATOR(bool useSetting, int indicator)</b><br />\n     Use specified indicator to highlight non matching brace instead of changing its style.</p>\n\n    <p><b id=\"SCI_BRACEMATCH\">SCI_BRACEMATCH(int pos, int maxReStyle) &rarr; position</b><br />\n     The <code>SCI_BRACEMATCH</code> message finds a corresponding matching brace given\n    <code class=\"parameter\">pos</code>, the position of one brace. The brace characters handled are '(', ')', '[',\n    ']', '{', '}', '&lt;', and '&gt;'. The search is forwards from an opening brace and backwards\n    from a closing brace. If the character at position is not a brace character, or a matching\n    brace cannot be found, the return value is -1. Otherwise, the return value is the position of\n    the matching brace.</p>\n\n    <p>A match only occurs if the style of the matching brace is the same as the starting brace or\n    the matching brace is beyond the end of styling. Nested braces are handled correctly. The\n    <code class=\"parameter\">maxReStyle</code> parameter must currently be 0 - it may be used in the future to limit\n    the length of brace searches.</p>\n\n    <h2 id=\"TabsAndIndentationGuides\">Tabs and Indentation Guides</h2>\n\n    <p>Indentation (the white space at the start of a line) is often used by programmers to clarify\n    program structure and in some languages, for example Python, it may be part of the language\n    syntax. Tabs are normally used in editors to insert a tab character or to pad text with spaces\n    up to the next tab.</p>\n\n    <p>When Scintilla is laying out a section of text, text after a tab character will usually be\n    displayed at the next multiple of TABWIDTH columns from the left. However, it is also possible\n    to explicitly set tabstops in pixels for each line.</p>\n\n    <p>Scintilla can be set to treat tab and backspace in the white space at the start of a line in\n    a special way: inserting a tab indents the line to the next indent position rather than just\n    inserting a tab at the current character position and backspace unindents the line rather than\n    deleting a character. Scintilla can also display indentation guides (vertical lines) to help\n    you to generate code.</p>\n    <code><a class=\"message\" href=\"#SCI_SETTABWIDTH\">SCI_SETTABWIDTH(int tabWidth)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTABWIDTH\">SCI_GETTABWIDTH &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARTABSTOPS\">SCI_CLEARTABSTOPS(int line)</a><br />\n     <a class=\"message\" href=\"#SCI_ADDTABSTOP\">SCI_ADDTABSTOP(int line, int x)</a><br />\n     <a class=\"message\" href=\"#SCI_GETNEXTTABSTOP\">SCI_GETNEXTTABSTOP(int line, int x) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETUSETABS\">SCI_SETUSETABS(bool useTabs)</a><br />\n     <a class=\"message\" href=\"#SCI_GETUSETABS\">SCI_GETUSETABS &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETINDENT\">SCI_SETINDENT(int indentSize)</a><br />\n     <a class=\"message\" href=\"#SCI_GETINDENT\">SCI_GETINDENT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETTABINDENTS\">SCI_SETTABINDENTS(bool tabIndents)</a><br />\n     <a class=\"message\" href=\"#SCI_GETTABINDENTS\">SCI_GETTABINDENTS &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETBACKSPACEUNINDENTS\">SCI_SETBACKSPACEUNINDENTS(bool\n    bsUnIndents)</a><br />\n     <a class=\"message\" href=\"#SCI_GETBACKSPACEUNINDENTS\">SCI_GETBACKSPACEUNINDENTS &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETLINEINDENTATION\">SCI_SETLINEINDENTATION(int line, int\n    indentation)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINEINDENTATION\">SCI_GETLINEINDENTATION(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINEINDENTPOSITION\">SCI_GETLINEINDENTPOSITION(int line) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETINDENTATIONGUIDES\">SCI_SETINDENTATIONGUIDES(int indentView)</a><br />\n     <a class=\"message\" href=\"#SCI_GETINDENTATIONGUIDES\">SCI_GETINDENTATIONGUIDES &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETHIGHLIGHTGUIDE\">SCI_SETHIGHLIGHTGUIDE(int column)</a><br />\n     <a class=\"message\" href=\"#SCI_GETHIGHLIGHTGUIDE\">SCI_GETHIGHLIGHTGUIDE &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETTABWIDTH\">SCI_SETTABWIDTH(int tabWidth)</b><br />\n     <b id=\"SCI_GETTABWIDTH\">SCI_GETTABWIDTH &rarr; int</b><br />\n     <code>SCI_SETTABWIDTH</code> sets the size of a tab as a multiple of the size of a space\n    character in <code>STYLE_DEFAULT</code>. The default tab width is 8 characters. There are no\n    limits on tab sizes, but values less than 1 or large values may have undesirable effects.</p>\n\n    <p><b id=\"SCI_CLEARTABSTOPS\">SCI_CLEARTABSTOPS(int line)</b><br />\n     <b id=\"SCI_ADDTABSTOP\">SCI_ADDTABSTOP(int line, int x)</b><br />\n     <b id=\"SCI_GETNEXTTABSTOP\">SCI_GETNEXTTABSTOP(int line, int x) &rarr; int</b><br />\n     <code>SCI_CLEARTABSTOPS</code> clears explicit tabstops on a line. <code>SCI_ADDTABSTOP</code>\n    adds an explicit tabstop at the specified distance from the left (in pixels), and\n    <code>SCI_GETNEXTTABSTOP</code> gets the next explicit tabstop position set after the given x position,\n    or zero if there aren't any.\n    Changing tab stops produces a <a class=\"message\" href=\"#SC_MOD_CHANGETABSTOPS\">SC_MOD_CHANGETABSTOPS</a> notification.\n    </p>\n\n    <p><b id=\"SCI_SETUSETABS\">SCI_SETUSETABS(bool useTabs)</b><br />\n     <b id=\"SCI_GETUSETABS\">SCI_GETUSETABS &rarr; bool</b><br />\n     <code>SCI_SETUSETABS</code> determines whether indentation should be created out of a mixture\n    of tabs and spaces or be based purely on spaces. Set <code class=\"parameter\">useTabs</code> to <code>false</code>\n    (0) to create all tabs and indents out of spaces. The default is <code>true</code>. You can use\n    <a class=\"message\" href=\"#SCI_GETCOLUMN\"><code>SCI_GETCOLUMN</code></a> to get the column of a\n    position taking the width of a tab into account.</p>\n    <p><b id=\"SCI_SETINDENT\">SCI_SETINDENT(int indentSize)</b><br />\n     <b id=\"SCI_GETINDENT\">SCI_GETINDENT &rarr; int</b><br />\n     <code>SCI_SETINDENT</code> sets the size of indentation in terms of the width of a space in <a\n    class=\"message\" href=\"#StyleDefinition\"><code>STYLE_DEFAULT</code></a>. If you set a width of\n    0, the indent size is the same as the tab size. There are no limits on indent sizes, but values\n    less than 0 or large values may have undesirable effects.\n    </p>\n\n    <p><b id=\"SCI_SETTABINDENTS\">SCI_SETTABINDENTS(bool tabIndents)</b><br />\n     <b id=\"SCI_GETTABINDENTS\">SCI_GETTABINDENTS &rarr; bool</b><br />\n     <b id=\"SCI_SETBACKSPACEUNINDENTS\">SCI_SETBACKSPACEUNINDENTS(bool bsUnIndents)</b><br />\n     <b id=\"SCI_GETBACKSPACEUNINDENTS\">SCI_GETBACKSPACEUNINDENTS &rarr; bool</b><br />\n    </p>\n\n    <p>Inside indentation white space, the tab and backspace keys can be made to indent and\n    unindent rather than insert a tab character or delete a character with the\n    <code>SCI_SETTABINDENTS</code> and <code>SCI_SETBACKSPACEUNINDENTS</code> functions.</p>\n\n    <p><b id=\"SCI_SETLINEINDENTATION\">SCI_SETLINEINDENTATION(int line, int indentation)</b><br />\n     <b id=\"SCI_GETLINEINDENTATION\">SCI_GETLINEINDENTATION(int line) &rarr; int</b><br />\n     The amount of indentation on a line can be discovered and set with\n    <code>SCI_GETLINEINDENTATION</code> and <code>SCI_SETLINEINDENTATION</code>. The indentation is\n    measured in character columns, which correspond to the width of space characters.</p>\n\n    <p><b id=\"SCI_GETLINEINDENTPOSITION\">SCI_GETLINEINDENTPOSITION(int line) &rarr; position</b><br />\n     This returns the position at the end of indentation of a line.</p>\n\n    <p><b id=\"SCI_SETINDENTATIONGUIDES\">SCI_SETINDENTATIONGUIDES(int indentView)</b><br />\n     <b id=\"SCI_GETINDENTATIONGUIDES\">SCI_GETINDENTATIONGUIDES &rarr; int</b><br />\n     Indentation guides are dotted vertical lines that appear within indentation white space every\n    indent size columns. They make it easy to see which constructs line up especially when they\n    extend over multiple pages. Style <a class=\"message\"\n    href=\"#StyleDefinition\"><code>STYLE_INDENTGUIDE</code></a> (37) is used to specify the\n    foreground and background colour of the indentation guides.</p>\n\n    <p>There are 4 indentation guide views.\n    SC_IV_NONE turns the feature off but the other 3 states determine how far the guides appear on\n    empty lines. </p>\n    <table class=\"standard\" summary=\"Search flags\">\n      <tbody>\n        <tr>\n          <td><code>SC_IV_NONE</code></td>\n          <td>No indentation guides are shown.</td>\n        </tr>\n\n        <tr>\n          <td><code>SC_IV_REAL</code></td>\n          <td>Indentation guides are shown inside real indentation white space.</td>\n        </tr>\n\n        <tr>\n          <td><code>SC_IV_LOOKFORWARD</code></td>\n          <td>Indentation guides are shown beyond the actual indentation up to the level of the\n          next non-empty line.\n          If the previous non-empty line was a fold header then indentation guides are shown for\n          one more level of indent than that line. This setting is good for Python.</td>\n        </tr>\n\n        <tr>\n          <td><code>SC_IV_LOOKBOTH</code></td>\n          <td>Indentation guides are shown beyond the actual indentation up to the level of the\n          next non-empty line or previous non-empty line whichever is the greater.\n          This setting is good for most languages.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETHIGHLIGHTGUIDE\">SCI_SETHIGHLIGHTGUIDE(int column)</b><br />\n     <b id=\"SCI_GETHIGHLIGHTGUIDE\">SCI_GETHIGHLIGHTGUIDE &rarr; int</b><br />\n     When brace highlighting occurs, the indentation guide corresponding to the braces may be\n    highlighted with the brace highlighting style, <a class=\"message\"\n    href=\"#StyleDefinition\"><code>STYLE_BRACELIGHT</code></a> (34). Set <code class=\"parameter\">column</code> to 0 to\n    cancel this highlight.</p>\n\n    <h2 id=\"Markers\">Markers</h2>\n\n    <p>There are 32 markers, numbered 0 to <code>MARKER_MAX</code> (31), and you can assign any combination of them to each\n    line in the document. Markers appear in the <a class=\"jump\" href=\"#Margins\">selection\n    margin</a> to the left of the text. If the selection margin is set to zero width, the\n    background colour of the whole line is changed instead. Marker numbers 25 to 31 are used by\n    Scintilla in folding margins, and have symbolic names of the form <code>SC_MARKNUM_</code>*,\n    for example <code>SC_MARKNUM_FOLDEROPEN</code>.</p>\n\n    <p>Marker numbers 0 to 24 have no pre-defined function; you can use them to mark syntax errors\n    or the current point of execution, break points, or whatever you need marking. If you do not\n    need folding, you can use all 32 for any purpose you wish.</p>\n\n    <p>Each marker number has a symbol associated with it. You can also set the foreground and\n    background colour for each marker number, so you can use the same symbol more than once with\n    different colouring for different uses. Scintilla has a set of symbols you can assign\n    (<code>SC_MARK_</code>*) or you can use characters. By default, all 32 markers are set to\n    <code>SC_MARK_CIRCLE</code> with a black foreground and a white background.</p>\n\n    <p>The markers are drawn in the order of their numbers, so higher numbered markers appear on\n    top of lower numbered ones. Markers try to move with their text by tracking where the start of\n    their line moves. When a line is deleted, its markers are combined, by an <code>OR</code>\n    operation, with the markers of the next line.</p>\n    <code><a class=\"message\" href=\"#SCI_MARKERDEFINE\">SCI_MARKERDEFINE(int markerNumber, int\n    markerSymbol)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERDEFINEPIXMAP\">SCI_MARKERDEFINEPIXMAP(int markerNumber,\n    const char *pixmap)</a><br />\n     <a class=\"message\" href=\"#SCI_RGBAIMAGESETWIDTH\">SCI_RGBAIMAGESETWIDTH(int width)</a><br />\n     <a class=\"message\" href=\"#SCI_RGBAIMAGESETHEIGHT\">SCI_RGBAIMAGESETHEIGHT(int height)</a><br />\n     <a class=\"message\" href=\"#SCI_RGBAIMAGESETSCALE\">SCI_RGBAIMAGESETSCALE(int scalePercent)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERDEFINERGBAIMAGE\">SCI_MARKERDEFINERGBAIMAGE(int markerNumber,\n    const char *pixels)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERSYMBOLDEFINED\">SCI_MARKERSYMBOLDEFINED(int markerNumber) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERSETFORE\">SCI_MARKERSETFORE(int markerNumber, colour\n    fore)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERSETBACK\">SCI_MARKERSETBACK(int markerNumber, colour\n    back)</a><br />\n    <a class=\"message\" href=\"#SCI_MARKERSETBACKSELECTED\">SCI_MARKERSETBACKSELECTED(int markerNumber, colour\n    back)</a><br />\n    <a class=\"message\" href=\"#SCI_MARKERENABLEHIGHLIGHT\">SCI_MARKERENABLEHIGHLIGHT(bool enabled)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERSETALPHA\">SCI_MARKERSETALPHA(int markerNumber, alpha alpha)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERADD\">SCI_MARKERADD(int line, int markerNumber) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERADDSET\">SCI_MARKERADDSET(int line, int markerSet)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERDELETE\">SCI_MARKERDELETE(int line, int\n    markerNumber)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERDELETEALL\">SCI_MARKERDELETEALL(int markerNumber)</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERGET\">SCI_MARKERGET(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERNEXT\">SCI_MARKERNEXT(int lineStart, int markerMask) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERPREVIOUS\">SCI_MARKERPREVIOUS(int lineStart, int markerMask) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERLINEFROMHANDLE\">SCI_MARKERLINEFROMHANDLE(int markerHandle) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_MARKERDELETEHANDLE\">SCI_MARKERDELETEHANDLE(int markerHandle)</a><br />\n    </code>\n\n    <p><b id=\"SCI_MARKERDEFINE\">SCI_MARKERDEFINE(int markerNumber, int markerSymbol)</b><br />\n     This message associates a marker number in the range 0 to 31 with one of the marker symbols or\n    an ASCII character. The general-purpose marker symbols currently available are:<br />\n    <code>SC_MARK_CIRCLE</code>,\n    <code>SC_MARK_ROUNDRECT</code>,\n    <code>SC_MARK_ARROW</code>,\n    <code>SC_MARK_SMALLRECT</code>,\n    <code>SC_MARK_SHORTARROW</code>,\n    <code>SC_MARK_EMPTY</code>,\n    <code>SC_MARK_ARROWDOWN</code>,\n    <code>SC_MARK_MINUS</code>,\n    <code>SC_MARK_PLUS</code>,\n    <code>SC_MARK_ARROWS</code>,\n    <code>SC_MARK_DOTDOTDOT</code>,\n    <code>SC_MARK_BACKGROUND</code>,\n    <code>SC_MARK_LEFTRECT</code>,\n    <code>SC_MARK_FULLRECT</code>,\n    <code>SC_MARK_BOOKMARK</code>, and\n    <code>SC_MARK_UNDERLINE</code>.\n    </p>\n\n    <p>The <code>SC_MARK_BACKGROUND</code> marker changes the background colour of the line only.\n          The <code>SC_MARK_FULLRECT</code> symbol mirrors this, changing only the margin background colour.\n          <code>SC_MARK_UNDERLINE</code> draws an underline across the text.\n    The <code>SC_MARK_EMPTY</code> symbol is invisible, allowing client code to track the movement\n    of lines. You would also use it if you changed the folding style and wanted one or more of the\n    <code>SC_FOLDERNUM_</code>* markers to have no associated symbol.</p>\n\n    <p>Applications may use the marker symbol <code>SC_MARK_AVAILABLE</code> to indicate that\n    plugins may allocate that marker number.\n    </p>\n\n    <p>There are also marker symbols designed for use in the folding margin in a flattened tree\n    style.<br />\n    <code>SC_MARK_BOXMINUS</code>,\n    <code>SC_MARK_BOXMINUSCONNECTED</code>,\n    <code>SC_MARK_BOXPLUS</code>,\n    <code>SC_MARK_BOXPLUSCONNECTED</code>,\n    <code>SC_MARK_CIRCLEMINUS</code>,\n    <code>SC_MARK_CIRCLEMINUSCONNECTED</code>,\n    <code>SC_MARK_CIRCLEPLUS</code>,\n    <code>SC_MARK_CIRCLEPLUSCONNECTED</code>,\n    <code>SC_MARK_LCORNER</code>,\n    <code>SC_MARK_LCORNERCURVE</code>,\n    <code>SC_MARK_TCORNER</code>,\n    <code>SC_MARK_TCORNERCURVE</code>, and\n    <code>SC_MARK_VLINE</code>.</p>\n    Characters can be used as markers by adding the ASCII value of the character to\n    <code>SC_MARK_CHARACTER</code> (10000). For example, to use 'A' (ASCII code 65) as marker\n    number 1 use:<br />\n    <code>SCI_MARKERDEFINE(1, SC_MARK_CHARACTER+65)</code>. <br />\n\n    <p>The marker numbers <code>SC_MARKNUM_FOLDER</code> and <code>SC_MARKNUM_FOLDEROPEN</code> are\n    used for showing that a fold is present and open or closed. Any symbols may be assigned for\n    this purpose although the (<code>SC_MARK_PLUS</code>, <code>SC_MARK_MINUS</code>) pair or the\n    (<code>SC_MARK_ARROW</code>, <code>SC_MARK_ARROWDOWN</code>) pair are good choices. As well as\n    these two, more assignments are needed for the flattened tree style:\n    <code>SC_MARKNUM_FOLDEREND</code>, <code>SC_MARKNUM_FOLDERMIDTAIL</code>,\n    <code>SC_MARKNUM_FOLDEROPENMID</code>, <code>SC_MARKNUM_FOLDERSUB</code>, and\n    <code>SC_MARKNUM_FOLDERTAIL</code>. The bits used for folding are specified by\n    <code>SC_MASK_FOLDERS</code>, which is commonly used as an argument to\n    <code>SCI_SETMARGINMASKN</code> when defining a margin to be used for folding.</p>\n\n    <p>This table shows which <code>SC_MARK_</code>* symbols should be assigned to which\n    <code>SC_MARKNUM_</code>* marker numbers to obtain four folding styles: Arrow (mimics\n    Macintosh), plus/minus shows folded lines as '+' and opened folds as '-', Circle tree, Box\n    tree.</p>\n\n    <table class=\"standard\" summary=\"Markers used for folding\">\n      <thead align=\"left\">\n        <tr>\n          <th><code>SC_MARKNUM_</code>*</th>\n\n          <th>Arrow</th>\n\n          <th>Plus/minus</th>\n\n          <th>Circle tree</th>\n\n          <th>Box tree</th>\n        </tr>\n      </thead>\n\n      <tbody valign=\"top\">\n        <tr>\n          <th align=\"left\"><code>FOLDEROPEN</code></th>\n\n          <td><code>ARROWDOWN</code></td>\n\n          <td><code>MINUS</code></td>\n\n          <td><code>CIRCLEMINUS</code></td>\n\n          <td><code>BOXMINUS</code></td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>FOLDER</code></th>\n\n          <td><code>ARROW</code></td>\n\n          <td><code>PLUS</code></td>\n\n          <td><code>CIRCLEPLUS</code></td>\n\n          <td><code>BOXPLUS</code></td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>FOLDERSUB</code></th>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>VLINE</code></td>\n\n          <td><code>VLINE</code></td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>FOLDERTAIL</code></th>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>LCORNERCURVE</code></td>\n\n          <td><code>LCORNER</code></td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>FOLDEREND</code></th>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>CIRCLEPLUSCONNECTED</code></td>\n\n          <td><code>BOXPLUSCONNECTED</code></td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>FOLDEROPENMID</code></th>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>CIRCLEMINUSCONNECTED</code></td>\n\n          <td><code>BOXMINUSCONNECTED</code></td>\n        </tr>\n\n        <tr>\n          <th align=\"left\"><code>FOLDERMIDTAIL</code></th>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>EMPTY</code></td>\n\n          <td><code>TCORNERCURVE</code></td>\n\n          <td><code>TCORNER</code></td>\n        </tr>\n      </tbody>\n    </table>\n    <p><img src=\"Markers.png\" alt=\"Marker samples\" /></p>\n\n    <p><b id=\"SCI_MARKERDEFINEPIXMAP\">SCI_MARKERDEFINEPIXMAP(int markerNumber, const char\n    *pixmap)</b><br />\n     Markers can be set to pixmaps with this message. The\n     <a class=\"jump\" href=\"#XPM\">XPM format</a> is used for the pixmap.\n    Pixmaps use the <code>SC_MARK_PIXMAP</code> marker symbol. </p>\n\n    <p>\n    <b id=\"SCI_RGBAIMAGESETWIDTH\">SCI_RGBAIMAGESETWIDTH(int width)</b><br />\n    <b id=\"SCI_RGBAIMAGESETHEIGHT\">SCI_RGBAIMAGESETHEIGHT(int height)</b><br />\n    <b id=\"SCI_RGBAIMAGESETSCALE\">SCI_RGBAIMAGESETSCALE(int scalePercent)</b><br />\n    <b id=\"SCI_MARKERDEFINERGBAIMAGE\">SCI_MARKERDEFINERGBAIMAGE(int markerNumber, const char *pixels)</b><br />\n     Markers can be set to translucent pixmaps with this message. The\n     <a class=\"jump\" href=\"#RGBA\">RGBA format</a> is used for the pixmap.\n     The width and height must previously been set with the <code>SCI_RGBAIMAGESETWIDTH</code> and\n     <code>SCI_RGBAIMAGESETHEIGHT</code> messages.</p>\n     <p>A scale factor in percent may be set with <code>SCI_RGBAIMAGESETSCALE</code>. This is useful on OS X with\n     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.\n     The default scale, 100, will stretch each image pixel to cover 4 screen pixels on a retina display.</p>\n    <p>Pixmaps use the <code>SC_MARK_RGBAIMAGE</code> marker symbol. </p>\n\n    <p><b id=\"SCI_MARKERSYMBOLDEFINED\">SCI_MARKERSYMBOLDEFINED(int markerNumber) &rarr; int</b><br />\n     Returns the symbol defined for a markerNumber with <code>SCI_MARKERDEFINE</code>\n     or <code>SC_MARK_PIXMAP</code> if defined with <code>SCI_MARKERDEFINEPIXMAP</code>\n     or <code>SC_MARK_RGBAIMAGE</code> if defined with <code>SCI_MARKERDEFINERGBAIMAGE</code>.</p>\n\n    <p><b id=\"SCI_MARKERSETFORE\">SCI_MARKERSETFORE(int markerNumber, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_MARKERSETBACK\">SCI_MARKERSETBACK(int markerNumber, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     These two messages set the foreground and background colour of a marker number.<br />\n     <b id=\"SCI_MARKERSETBACKSELECTED\">SCI_MARKERSETBACKSELECTED(int markerNumber, <a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     This message sets the highlight background colour of a marker number when its folding block is selected. The default colour is #FF0000.</p>\n     <p><b id=\"SCI_MARKERENABLEHIGHLIGHT\">SCI_MARKERENABLEHIGHLIGHT(bool enabled)</b><br />\n     This message allows to enable/disable the highlight folding block when it is selected. (i.e. block that contains the caret)</p>\n     <p><b id=\"SCI_MARKERSETALPHA\">SCI_MARKERSETALPHA(int markerNumber,\n     <a class=\"jump\" href=\"#alpha\">alpha</a> alpha)</b><br />\n     When markers are drawn in the content area, either because there is no margin for them or\n     they are of <code>SC_MARK_BACKGROUND</code> or <code>SC_MARK_UNDERLINE</code> types, they may be drawn translucently by\n     setting an alpha value.</p>\n\n    <p><b id=\"SCI_MARKERADD\">SCI_MARKERADD(int line, int markerNumber) &rarr; int</b><br />\n     This message adds marker number <code class=\"parameter\">markerNumber</code> to a line. The message returns -1 if\n    this fails (illegal line number, out of memory) or it returns a marker handle number that\n    identifies the added marker. You can use this returned handle with <a class=\"seealso\"\n    href=\"#SCI_MARKERLINEFROMHANDLE\"><code>SCI_MARKERLINEFROMHANDLE</code></a> to find where a\n    marker is after moving or combining lines and with <a class=\"message\"\n    href=\"#SCI_MARKERDELETEHANDLE\"><code>SCI_MARKERDELETEHANDLE</code></a> to delete the marker\n    based on its handle. The message does not check the value of markerNumber, nor does it\n    check if the line already contains the marker.</p>\n\n    <p><b id=\"SCI_MARKERADDSET\">SCI_MARKERADDSET(int line, int markerSet)</b><br />\n     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\n    <a class=\"message\" href=\"#SCI_MARKERGET\"><code>SCI_MARKERGET</code></a>\n    (and used by the mask-based marker search functions\n    <a class=\"message\" href=\"#SCI_MARKERNEXT\"><code>SCI_MARKERNEXT</code></a> and\n    <a class=\"message\" href=\"#SCI_MARKERPREVIOUS\"><code>SCI_MARKERPREVIOUS</code></a>).\n    As with\n    <a class=\"message\" href=\"#SCI_MARKERADD\"><code>SCI_MARKERADD</code></a>, no check is made\n    to see if any of the markers are already present on the targeted line.</p>\n\n    <p><b id=\"SCI_MARKERDELETE\">SCI_MARKERDELETE(int line, int markerNumber)</b><br />\n     This searches the given line number for the given marker number and deletes it if it is\n    present. If you added the same marker more than once to the line, this will delete one copy\n    each time it is used. If you pass in a marker number of -1, all markers are deleted from the\n    line.</p>\n\n    <p><b id=\"SCI_MARKERDELETEALL\">SCI_MARKERDELETEALL(int markerNumber)</b><br />\n     This removes markers of the given number from all lines. If markerNumber is -1, it deletes all\n    markers from all lines.</p>\n\n    <p><b id=\"SCI_MARKERGET\">SCI_MARKERGET(int line) &rarr; int</b><br />\n     This returns a 32-bit integer that indicates which markers were present on the line. Bit 0 is\n    set if marker 0 is present, bit 1 for marker 1 and so on.</p>\n\n    <p><b id=\"SCI_MARKERNEXT\">SCI_MARKERNEXT(int lineStart, int markerMask) &rarr; int</b><br />\n     <b id=\"SCI_MARKERPREVIOUS\">SCI_MARKERPREVIOUS(int lineStart, int markerMask) &rarr; int</b><br />\n     These messages search efficiently for lines that include a given set of markers. The search\n    starts at line number <code class=\"parameter\">lineStart</code> and continues forwards to the end of the file\n    (<code>SCI_MARKERNEXT</code>) or backwards to the start of the file\n    (<code>SCI_MARKERPREVIOUS</code>). The <code class=\"parameter\">markerMask</code> argument should have one bit set\n    for each marker you wish to find. Set bit 0 to find marker 0, bit 1 for marker 1 and so on. The\n    message returns the line number of the first line that contains one of the markers in\n    <code class=\"parameter\">markerMask</code> or -1 if no marker is found.</p>\n\n    <p><b id=\"SCI_MARKERLINEFROMHANDLE\">SCI_MARKERLINEFROMHANDLE(int markerHandle) &rarr; int</b><br />\n     The <code class=\"parameter\">markerHandle</code> argument is an identifier for a marker returned by <a\n    class=\"message\" href=\"#SCI_MARKERADD\"><code>SCI_MARKERADD</code></a>. This function searches\n    the document for the marker with this handle and returns the line number that contains it or -1\n    if it is not found.</p>\n\n    <p><b id=\"SCI_MARKERDELETEHANDLE\">SCI_MARKERDELETEHANDLE(int markerHandle)</b><br />\n     The <code class=\"parameter\">markerHandle</code> argument is an identifier for a marker returned by <a\n    class=\"message\" href=\"#SCI_MARKERADD\"><code>SCI_MARKERADD</code></a>. This function searches\n    the document for the marker with this handle and deletes the marker if it is found.</p>\n\n    <h2 id=\"Indicators\">Indicators</h2>\n\n    <p>Indicators are used to display additional information over the top of styling.\n    They can be used to show, for example, syntax errors, deprecated names and bad indentation\n    by drawing underlines under text or boxes around text.</p>\n\n    <p>Indicators may have a different \"hover\" colour and style when the mouse is over them or the caret is moved into them.\n    This may be used, for example, to indicate that a URL can be clicked.</p>\n\n    <p>Indicators may be displayed as simple underlines, squiggly underlines, a\n    line of small 'T' shapes, a line of diagonal hatching, a strike-out or a rectangle around the text.\n    They may also be invisible when used to track pieces of content for the application as <code>INDIC_HIDDEN</code>.</p>\n\n    <p>The <code>SCI_INDIC*</code> messages allow you to get and set the visual appearance of the\n    indicators. They all use an <code class=\"parameter\">indicator</code> argument in the range 0 to INDIC_MAX(35)\n    to set the indicator to style. To prevent interference the set of indicators is divided up into a range for use\n    by lexers (0..7) a range for use by containers\n    (8=<code>INDIC_CONTAINER</code> .. 31=<code>INDIC_IME-1</code>)\n    and a range for IME indicators (32=<code>INDIC_IME</code> .. 35=<code>INDIC_IME_MAX</code>).</p>\n\n    <p>Indicators are stored in a format similar to run length encoding which is efficient in both\n    speed and storage for sparse information.</p>\n    <p>An indicator may store different values for each range but normally all values are drawn the same.\n    The <a class=\"seealso\" href=\"#SCI_INDICSETFLAGS\">SCI_INDICSETFLAGS</a>\n    API may be used to display different colours for different values.</p>\n\n    <p>Originally, Scintilla used a different technique for indicators but this\n    has been <a href=\"#RemovedFeatures\">removed</a>\n    and the APIs perform <a href=\"#StyleByteIndicators\">no action</a>.\n    While both techniques were supported, the term \"modern indicators\" was used for the\n    newer implementation.</p>\n\n    <code><a class=\"message\" href=\"#SCI_INDICSETSTYLE\">SCI_INDICSETSTYLE(int indicator, int\n    indicatorStyle)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETSTYLE\">SCI_INDICGETSTYLE(int indicator) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICSETFORE\">SCI_INDICSETFORE(int indicator, colour\n    fore)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETFORE\">SCI_INDICGETFORE(int indicator) &rarr; colour</a><br />\n     <a class=\"message\" href=\"#SCI_INDICSETALPHA\">SCI_INDICSETALPHA(int indicator, alpha alpha)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETALPHA\">SCI_INDICGETALPHA(int indicator) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICSETOUTLINEALPHA\">SCI_INDICSETOUTLINEALPHA(int indicator, alpha alpha)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETOUTLINEALPHA\">SCI_INDICGETOUTLINEALPHA(int indicator) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICSETUNDER\">SCI_INDICSETUNDER(int indicator, bool under)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETUNDER\">SCI_INDICGETUNDER(int indicator) &rarr; bool</a><br />\n    <a class=\"message\" href=\"#SCI_INDICSETHOVERSTYLE\">SCI_INDICSETHOVERSTYLE(int indicator, int\n    indicatorStyle)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETHOVERSTYLE\">SCI_INDICGETHOVERSTYLE(int indicator) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICSETHOVERFORE\">SCI_INDICSETHOVERFORE(int indicator, colour\n    fore)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETHOVERFORE\">SCI_INDICGETHOVERFORE(int indicator) &rarr; colour</a><br />\n     <a class=\"message\" href=\"#SCI_INDICSETFLAGS\">SCI_INDICSETFLAGS(int indicator, int flags)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICGETFLAGS\">SCI_INDICGETFLAGS(int indicator) &rarr; int</a><br />\n     <br />\n\n     <a class=\"message\" href=\"#SCI_SETINDICATORCURRENT\">SCI_SETINDICATORCURRENT(int indicator)</a><br />\n     <a class=\"message\" href=\"#SCI_GETINDICATORCURRENT\">SCI_GETINDICATORCURRENT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETINDICATORVALUE\">SCI_SETINDICATORVALUE(int value)</a><br />\n     <a class=\"message\" href=\"#SCI_GETINDICATORVALUE\">SCI_GETINDICATORVALUE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICATORFILLRANGE\">SCI_INDICATORFILLRANGE(int start, int lengthFill)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICATORCLEARRANGE\">SCI_INDICATORCLEARRANGE(int start, int lengthClear)</a><br />\n     <a class=\"message\" href=\"#SCI_INDICATORALLONFOR\">SCI_INDICATORALLONFOR(int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICATORVALUEAT\">SCI_INDICATORVALUEAT(int indicator, int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICATORSTART\">SCI_INDICATORSTART(int indicator, int pos) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_INDICATOREND\">SCI_INDICATOREND(int indicator, int pos) &rarr; int</a><br />\n\n     <a class=\"message\" href=\"#SCI_FINDINDICATORSHOW\">SCI_FINDINDICATORSHOW(int start, int end)</a><br />\n     <a class=\"message\" href=\"#SCI_FINDINDICATORFLASH\">SCI_FINDINDICATORFLASH(int start, int end)</a><br />\n     <a class=\"message\" href=\"#SCI_FINDINDICATORHIDE\">SCI_FINDINDICATORHIDE</a><br />\n    </code>\n\n    <p><b id=\"SCI_INDICSETSTYLE\">SCI_INDICSETSTYLE(int indicator, int\n    indicatorStyle)</b><br />\n     <b id=\"SCI_INDICGETSTYLE\">SCI_INDICGETSTYLE(int indicator) &rarr; int</b><br />\n     These two messages set and get the style for a particular indicator. The indicator styles\n    currently available are:<br />\n\n    <img src=\"Indicators.png\" alt=\"Indicator samples\" /></p>\n\n    <table class=\"standard\" summary=\"Indicators\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Visual effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>INDIC_PLAIN</code></td>\n\n          <td align=\"center\">0</td>\n\n          <td>Underlined with a single, straight line.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_SQUIGGLE</code></td>\n\n          <td align=\"center\">1</td>\n\n          <td>A squiggly underline. Requires 3 pixels of descender space.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_TT</code></td>\n\n          <td align=\"center\">2</td>\n\n          <td>A line of small T shapes.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_DIAGONAL</code></td>\n\n          <td align=\"center\">3</td>\n\n          <td>Diagonal hatching.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_STRIKE</code></td>\n\n          <td align=\"center\">4</td>\n\n          <td>Strike out.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_HIDDEN</code></td>\n\n          <td align=\"center\">5</td>\n\n          <td>An indicator with no visual effect.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_BOX</code></td>\n\n          <td align=\"center\">6</td>\n\n          <td>A rectangle around the text.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_ROUNDBOX</code></td>\n\n          <td align=\"center\">7</td>\n\n          <td>A rectangle with rounded corners around the text using translucent drawing with the\n              interior usually more transparent than the border. You can use\n              <a class=\"seealso\" href=\"#SCI_INDICSETALPHA\">SCI_INDICSETALPHA</a> and\n\t\t\t  <a class=\"seealso\" href=\"#SCI_INDICSETOUTLINEALPHA\">SCI_INDICSETOUTLINEALPHA</a>\n              to control the alpha transparency values. The default alpha values are 30 for fill colour and 50 for outline colour.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_STRAIGHTBOX</code></td>\n\n          <td align=\"center\">8</td>\n\n          <td>A rectangle around the text using translucent drawing with the\n              interior usually more transparent than the border. You can use\n              <a class=\"seealso\" href=\"#SCI_INDICSETALPHA\">SCI_INDICSETALPHA</a> and\n\t\t\t  <a class=\"seealso\" href=\"#SCI_INDICSETOUTLINEALPHA\">SCI_INDICSETOUTLINEALPHA</a>\n              to control the alpha transparency values. The default alpha values are 30 for fill colour and 50 for outline colour.\n              This indicator does not colour the top pixel of the line so that indicators on contiguous lines are visually distinct\n              and disconnected.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_FULLBOX</code></td>\n\n          <td align=\"center\">16</td>\n\n          <td>A rectangle around the text using translucent drawing similar to <code>INDIC_STRAIGHTBOX</code>\n              but covering the entire character area.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_DASH</code></td>\n\n          <td align=\"center\">9</td>\n\n          <td>A dashed underline.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_DOTS</code></td>\n\n          <td align=\"center\">10</td>\n\n          <td>A dotted underline.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_SQUIGGLELOW</code></td>\n\n          <td align=\"center\">11</td>\n\n          <td>Similar to <code>INDIC_SQUIGGLE</code> but only using 2 vertical pixels\n\t  so will fit under small fonts.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_DOTBOX</code></td>\n\n          <td align=\"center\">12</td>\n\n          <td>A dotted rectangle around the text using translucent drawing.\n          Translucency alternates between the alpha and outline alpha settings with the top-left pixel using the alpha setting.\n              <a class=\"seealso\" href=\"#SCI_INDICSETALPHA\">SCI_INDICSETALPHA</a> and\n              <a class=\"seealso\" href=\"#SCI_INDICSETOUTLINEALPHA\">SCI_INDICSETOUTLINEALPHA</a>\n              control the alpha transparency values. The default values are 30 for alpha and 50 for outline alpha.\n              To avoid excessive memory allocation the maximum width of a dotted box is 4000 pixels.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_GRADIENT</code></td>\n\n          <td align=\"center\">20</td>\n\n          <td>A vertical gradient between a colour and alpha at top to fully transparent at bottom.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_GRADIENTCENTRE</code></td>\n\n          <td align=\"center\">21</td>\n\n          <td>A vertical gradient with the specified colour and alpha in the middle\n          fading to fully transparent at top and bottom.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_SQUIGGLEPIXMAP</code></td>\n\n          <td align=\"center\">13</td>\n\n          <td>A version of <code>INDIC_SQUIGGLE</code> that draws using a pixmap instead of\n\t  as a series of line segments for performance.\n\t  Measured to be between 3 and 6 times faster than <code>INDIC_SQUIGGLE</code> on GTK+.\n\t  Appearance will not be as good as <code>INDIC_SQUIGGLE</code> on OS X in HiDPI mode.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_COMPOSITIONTHICK</code></td>\n\n          <td align=\"center\">14</td>\n\n          <td>A 2-pixel thick underline located at the bottom of the line to try to avoid touching the character base.\n\t  Each side is inset 1 pixel so that different indicators in this style covering a range appear isolated.\n\t  This is similar to an appearance used for the target in Asian language input composition.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_COMPOSITIONTHIN</code></td>\n\n          <td align=\"center\">15</td>\n\n          <td>A 1-pixel thick underline located just before the bottom of the line.\n\t  Each side is inset 1 pixel so that different indicators in this style covering a range appear isolated.\n\t  This is similar to an appearance used for non-target ranges in Asian language input composition.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_TEXTFORE</code></td>\n\n          <td align=\"center\">17</td>\n\n          <td>Change the colour of the text to the indicator's fore colour.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_POINT</code></td>\n\n          <td align=\"center\">18</td>\n\n          <td>Draw a triangle below the start of the indicator range.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>INDIC_POINTCHARACTER</code></td>\n\n          <td align=\"center\">19</td>\n\n          <td>Draw a triangle below the centre of the first character of the indicator range.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p>The default indicator styles are equivalent to:<br />\n     <code>SCI_INDICSETSTYLE(0, INDIC_SQUIGGLE);</code><br />\n     <code>SCI_INDICSETSTYLE(1, INDIC_TT);</code><br />\n     <code>SCI_INDICSETSTYLE(2, INDIC_PLAIN);</code></p>\n\n    <p><b id=\"SCI_INDICSETFORE\">SCI_INDICSETFORE(int indicator, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_INDICGETFORE\">SCI_INDICGETFORE(int indicator) &rarr; colour</b><br />\n     These two messages set and get the colour used to draw an indicator. The default indicator\n    colours are equivalent to:<br />\n     <code>SCI_INDICSETFORE(0, 0x007f00);</code> (dark green)<br />\n     <code>SCI_INDICSETFORE(1, 0xff0000);</code> (light blue)<br />\n     <code>SCI_INDICSETFORE(2, 0x0000ff);</code> (light red)</p>\n\n    <p><b id=\"SCI_INDICSETALPHA\">SCI_INDICSETALPHA(int indicator, <a class=\"jump\" href=\"#alpha\">alpha</a> alpha)</b><br />\n     <b id=\"SCI_INDICGETALPHA\">SCI_INDICGETALPHA(int indicator) &rarr; int</b><br />\n     These two messages set and get the alpha transparency used for drawing the\n     fill colour of the INDIC_ROUNDBOX and INDIC_STRAIGHTBOX rectangle. The alpha value can range from\n     0 (completely transparent) to 255 (no transparency).\n     </p>\n\n    <p><b id=\"SCI_INDICSETOUTLINEALPHA\">SCI_INDICSETOUTLINEALPHA(int indicator, <a class=\"jump\" href=\"#alpha\">alpha</a> alpha)</b><br />\n     <b id=\"SCI_INDICGETOUTLINEALPHA\">SCI_INDICGETOUTLINEALPHA(int indicator) &rarr; int</b><br />\n     These two messages set and get the alpha transparency used for drawing the\n     outline colour of the INDIC_ROUNDBOX and INDIC_STRAIGHTBOX rectangle. The alpha value can range from\n     0 (completely transparent) to 255 (no transparency).\n     </p>\n\n    <p><b id=\"SCI_INDICSETUNDER\">SCI_INDICSETUNDER(int indicator, bool under)</b><br />\n     <b id=\"SCI_INDICGETUNDER\">SCI_INDICGETUNDER(int indicator) &rarr; bool</b><br />\n     These two messages set and get whether an indicator is drawn under text or over(default).\n     Drawing under text works only for indicators when <a class=\"message\" href=\"#SCI_SETTWOPHASEDRAW\">two phase drawing</a>\n     is enabled.</p>\n\n    <p><b id=\"SCI_INDICSETHOVERSTYLE\">SCI_INDICSETHOVERSTYLE(int indicator, int\n    indicatorStyle)</b><br />\n     <b id=\"SCI_INDICGETHOVERSTYLE\">SCI_INDICGETHOVERSTYLE(int indicator) &rarr; int</b><br />\n     <b id=\"SCI_INDICSETHOVERFORE\">SCI_INDICSETHOVERFORE(int indicator, <a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     <b id=\"SCI_INDICGETHOVERFORE\">SCI_INDICGETHOVERFORE(int indicator) &rarr; colour</b><br />\n     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.\n     The mouse cursor also changes when an indicator is drawn in hover style.\n     The default is for the hover appearance to be the same as the normal appearance and calling\n     <a class=\"seealso\" href=\"#SCI_INDICSETFORE\">SCI_INDICSETFORE</a> or\n     <a class=\"seealso\" href=\"#SCI_INDICSETSTYLE\">SCI_INDICSETSTYLE</a> will\n     also reset the hover attribute.</p>\n\n    <p><b id=\"SCI_INDICSETFLAGS\">SCI_INDICSETFLAGS(int indicator, int flags)</b><br />\n     <b id=\"SCI_INDICGETFLAGS\">SCI_INDICGETFLAGS(int indicator) &rarr; int</b><br />\n     These messages set and get the flags associated with an indicator.\n     There is currently one flag defined, <code>SC_INDICFLAG_VALUEFORE</code>: when this flag is set\n     the colour used by the indicator is not from the indicator's fore setting but instead from the value of the indicator at\n     that point in the file. This allows many colours to be displayed for a single indicator. The value is an <a class=\"jump\"\n    href=\"#colour\">RGB integer colour</a> that has been ored with <code>SC_INDICVALUEBIT</code>(0x1000000)\n    when calling <a class=\"seealso\" href=\"#SCI_SETINDICATORVALUE\">SCI_SETINDICATORVALUE</a>.\n    To find the colour from the value, and the value with <code>SC_INDICVALUEMASK</code>(0xFFFFFF).\n     </p>\n\n    <p>\n    <b id=\"SCI_SETINDICATORCURRENT\">SCI_SETINDICATORCURRENT(int indicator)</b><br />\n    <b id=\"SCI_GETINDICATORCURRENT\">SCI_GETINDICATORCURRENT &rarr; int</b><br />\n    These two messages set and get the indicator that will be affected by calls to\n    <a class=\"message\" href=\"#SCI_INDICATORFILLRANGE\">SCI_INDICATORFILLRANGE(int start, int lengthFill)</a> and\n    <a class=\"message\" href=\"#SCI_INDICATORCLEARRANGE\">SCI_INDICATORCLEARRANGE(int start, int lengthClear)</a>.\n    </p>\n\n    <p>\n    <b id=\"SCI_SETINDICATORVALUE\">SCI_SETINDICATORVALUE(int value)</b><br />\n    <b id=\"SCI_GETINDICATORVALUE\">SCI_GETINDICATORVALUE &rarr; int</b><br />\n    These two messages set and get the value that will be set by calls to\n    <a class=\"seealso\" href=\"#SCI_INDICATORFILLRANGE\">SCI_INDICATORFILLRANGE</a>.\n    </p>\n\n    <p>\n    <b id=\"SCI_INDICATORFILLRANGE\">SCI_INDICATORFILLRANGE(int start, int lengthFill)</b><br />\n    <b id=\"SCI_INDICATORCLEARRANGE\">SCI_INDICATORCLEARRANGE(int start, int lengthClear)</b><br />\n    These two messages fill or clear a range for the current indicator.\n    <code>SCI_INDICATORFILLRANGE</code> fills with the\n    the current value.\n    </p>\n\n    <p>\n    <b id=\"SCI_INDICATORALLONFOR\">SCI_INDICATORALLONFOR(int pos) &rarr; int</b><br />\n    Retrieve a bitmap value representing which indicators are non-zero at a position.\n    Only the first 32 indicators are represented in the result so no IME indicators are included.\n    </p>\n\n    <p>\n    <b id=\"SCI_INDICATORVALUEAT\">SCI_INDICATORVALUEAT(int indicator, int pos) &rarr; int</b><br />\n    Retrieve the value of a particular indicator at a position.\n    </p>\n\n    <p>\n    <b id=\"SCI_INDICATORSTART\">SCI_INDICATORSTART(int indicator, int pos) &rarr; int</b><br />\n    <b id=\"SCI_INDICATOREND\">SCI_INDICATOREND(int indicator, int pos) &rarr; int</b><br />\n    Find the start or end of a range with one value from a position within the range.\n    Can be used to iterate through the document to discover all the indicator positions.\n    </p>\n\n    <h3 id=\"FindIndicators\">OS X Find Indicator</h3>\n\n    <p>On OS X search matches are highlighted with an animated gold rounded rectangle.\n    The indicator shows, then briefly grows 25% and shrinks to the original size to draw the user's attention.\n    While this feature is currently only implemented on OS X, it may be implemented on other platforms\n    in the future.</p>\n\n    <p><b id=\"SCI_FINDINDICATORSHOW\">SCI_FINDINDICATORSHOW(int start, int end)</b><br />\n     <b id=\"SCI_FINDINDICATORFLASH\">SCI_FINDINDICATORFLASH(int start, int end)</b><br />\n     These two messages show and animate the find indicator. The indicator remains visible with\n     <code>SCI_FINDINDICATORSHOW</code> and fades out after showing for half a second with\n     <code>SCI_FINDINDICATORFLASH</code>.\n     <code>SCI_FINDINDICATORSHOW</code> behaves similarly to the OS X TextEdit and Safari applications\n     and is best suited to editing documentation where the search target is often a word.\n     <code>SCI_FINDINDICATORFLASH</code> is similar to Xcode and is suited to editing source code\n     where the match will often be located next to operators which would otherwise be hidden under the indicator's\n     padding.\n     </p>\n\n    <p><b id=\"SCI_FINDINDICATORHIDE\">SCI_FINDINDICATORHIDE</b><br />\n     This message hides the find indicator.\n     </p>\n\n    <p>Earlier versions of Scintilla allowed <a href=\"#StyleByteIndicators\">partitioning style bytes</a>\n    between style numbers and indicators and provided APIs for setting and querying this.</p>\n\n\n    <h2 id=\"Autocompletion\">Autocompletion</h2>\n\n    <p>Autocompletion displays a list box showing likely identifiers based upon the user's typing.\n    The user chooses the currently selected item by pressing the tab character or another character\n    that is a member of the fillup character set defined with <code>SCI_AUTOCSETFILLUPS</code>.\n    Autocompletion is triggered by your application. For example, in C if you detect that the user\n    has just typed <code>fred.</code> you could look up <code>fred</code>, and if it has a known\n    list of members, you could offer them in an autocompletion list. Alternatively, you could\n    monitor the user's typing and offer a list of likely items once their typing has narrowed down\n    the choice to a reasonable list. As yet another alternative, you could define a key code to\n    activate the list.</p>\n\n    <p>When the user makes a selection from the list the container is sent a <code><a class=\"message\"\n    href=\"#SCN_AUTOCSELECTION\">SCN_AUTOCSELECTION</a></code> <a class=\"jump\"\n    href=\"#Notifications\">notification message</a>. On return from the notification Scintilla will insert\n     the selected text and the container is sent a <code><a class=\"message\"\n    href=\"#SCN_AUTOCCOMPLETED\">SCN_AUTOCCOMPLETED</a></code> <a class=\"jump\"\n    href=\"#Notifications\">notification message</a> unless the autocompletion list has been cancelled, for example by the container sending\n     <code><a class=\"message\" href=\"#SCI_AUTOCCANCEL\">SCI_AUTOCCANCEL</a></code>. </p>\n\n    <p>To make use of autocompletion you must monitor each character added to the document. See\n    <code>SciTEBase::CharAdded()</code> in SciTEBase.cxx for an example of autocompletion.</p>\n    <code><a class=\"message\" href=\"#SCI_AUTOCSHOW\">SCI_AUTOCSHOW(int lengthEntered, const char\n    *itemList)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCCANCEL\">SCI_AUTOCCANCEL</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCACTIVE\">SCI_AUTOCACTIVE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCPOSSTART\">SCI_AUTOCPOSSTART &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCCOMPLETE\">SCI_AUTOCCOMPLETE</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSTOPS\">SCI_AUTOCSTOPS(&lt;unused&gt;, const char\n    *characterSet)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETSEPARATOR\">SCI_AUTOCSETSEPARATOR(int\n    separatorCharacter)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETSEPARATOR\">SCI_AUTOCGETSEPARATOR &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSELECT\">SCI_AUTOCSELECT(&lt;unused&gt;, const char\n    *select)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETCURRENT\">SCI_AUTOCGETCURRENT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETCURRENTTEXT\">SCI_AUTOCGETCURRENTTEXT(&lt;unused&gt;, char *text) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETCANCELATSTART\">SCI_AUTOCSETCANCELATSTART(bool\n    cancel)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETCANCELATSTART\">SCI_AUTOCGETCANCELATSTART &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETFILLUPS\">SCI_AUTOCSETFILLUPS(&lt;unused&gt;, const char\n    *characterSet)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETCHOOSESINGLE\">SCI_AUTOCSETCHOOSESINGLE(bool\n    chooseSingle)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETCHOOSESINGLE\">SCI_AUTOCGETCHOOSESINGLE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETIGNORECASE\">SCI_AUTOCSETIGNORECASE(bool\n    ignoreCase)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETIGNORECASE\">SCI_AUTOCGETIGNORECASE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR\">SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR(int behaviour)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR\">SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETMULTI\">SCI_AUTOCSETMULTI(int multi)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETMULTI\">SCI_AUTOCGETMULTI &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETORDER\">SCI_AUTOCSETORDER(int order)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETORDER\">SCI_AUTOCGETORDER &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETAUTOHIDE\">SCI_AUTOCSETAUTOHIDE(bool autoHide)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETAUTOHIDE\">SCI_AUTOCGETAUTOHIDE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETDROPRESTOFWORD\">SCI_AUTOCSETDROPRESTOFWORD(bool\n    dropRestOfWord)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETDROPRESTOFWORD\">SCI_AUTOCGETDROPRESTOFWORD &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_REGISTERIMAGE\">SCI_REGISTERIMAGE(int type, const char *xpmData)</a><br />\n     <a class=\"message\" href=\"#SCI_REGISTERRGBAIMAGE\">SCI_REGISTERRGBAIMAGE(int type, const char *pixels)</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARREGISTEREDIMAGES\">SCI_CLEARREGISTEREDIMAGES</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETTYPESEPARATOR\">SCI_AUTOCSETTYPESEPARATOR(int separatorCharacter)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETTYPESEPARATOR\">SCI_AUTOCGETTYPESEPARATOR &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETMAXHEIGHT\">SCI_AUTOCSETMAXHEIGHT(int rowCount)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETMAXHEIGHT\">SCI_AUTOCGETMAXHEIGHT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCSETMAXWIDTH\">SCI_AUTOCSETMAXWIDTH(int characterCount)</a><br />\n     <a class=\"message\" href=\"#SCI_AUTOCGETMAXWIDTH\">SCI_AUTOCGETMAXWIDTH &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_AUTOCSHOW\">SCI_AUTOCSHOW(int lengthEntered, const char *itemList)</b><br />\n     This message causes a list to be displayed. <code class=\"parameter\">lengthEntered</code> is the number of\n    characters of the word already entered and <code class=\"parameter\">itemList</code> is the list of words separated by\n    separator characters. The initial separator character is a space but this can be set or got\n    with <a class=\"message\" href=\"#SCI_AUTOCSETSEPARATOR\"><code>SCI_AUTOCSETSEPARATOR</code></a>\n    and <a class=\"message\"\n    href=\"#SCI_AUTOCGETSEPARATOR\"><code>SCI_AUTOCGETSEPARATOR</code></a>.</p>\n\n    <p>With default settings, the list of words should be in sorted order.\n    If set to ignore case mode with <a class=\"message\" href=\"#SCI_AUTOCSETIGNORECASE\"><code>SCI_AUTOCSETIGNORECASE</code></a>, then\n    strings are matched after being converted to upper case. One result of this is that the list\n    should be sorted with the punctuation characters '[', '\\', ']', '^', '_', and '`' sorted after\n    letters.\n    Alternative handling of list order may be specified with  <a class=\"seealso\" href=\"#SCI_AUTOCSETORDER\">SCI_AUTOCSETORDER</a>\n    </p>\n\n    <p><b id=\"SCI_AUTOCCANCEL\">SCI_AUTOCCANCEL</b><br />\n     This message cancels any displayed autocompletion list. When in autocompletion mode, the list\n    should disappear when the user types a character that can not be part of the autocompletion,\n    such as '.', '(' or '[' when typing an identifier. A set of characters that will cancel\n    autocompletion can be specified with <a class=\"message\"\n    href=\"#SCI_AUTOCSTOPS\"><code>SCI_AUTOCSTOPS</code></a>.</p>\n\n    <p><b id=\"SCI_AUTOCACTIVE\">SCI_AUTOCACTIVE &rarr; bool</b><br />\n     This message returns non-zero if there is an active autocompletion list and zero if there is\n    not.</p>\n\n    <p><b id=\"SCI_AUTOCPOSSTART\">SCI_AUTOCPOSSTART &rarr; position</b><br />\n     This returns the value of the current position when <code>SCI_AUTOCSHOW</code> started display\n    of the list.</p>\n\n    <p><b id=\"SCI_AUTOCCOMPLETE\">SCI_AUTOCCOMPLETE</b><br />\n     This message triggers autocompletion. This has the same effect as the tab key.</p>\n\n    <p><b id=\"SCI_AUTOCSTOPS\">SCI_AUTOCSTOPS(&lt;unused&gt;, const char *characterSet)</b><br />\n     The <code class=\"parameter\">characterSet</code> argument is a string containing a list of characters that will\n    automatically cancel the autocompletion list. When you start the editor, this list is\n    empty.</p>\n\n    <p><b id=\"SCI_AUTOCSETSEPARATOR\">SCI_AUTOCSETSEPARATOR(int separatorCharacter)</b><br />\n     <b id=\"SCI_AUTOCGETSEPARATOR\">SCI_AUTOCGETSEPARATOR &rarr; int</b><br />\n     These two messages set and get the separator character used to separate words in the\n    <code>SCI_AUTOCSHOW</code> list. The default is the space character.</p>\n\n    <p><b id=\"SCI_AUTOCSELECT\">SCI_AUTOCSELECT(&lt;unused&gt;, const char *select)</b><br />\n     <b id=\"SCI_AUTOCGETCURRENT\">SCI_AUTOCGETCURRENT &rarr; int</b><br />\n     This message selects an item in the autocompletion list. It searches the list of words for the\n    first that matches <code class=\"parameter\">select</code>. By default, comparisons are case sensitive, but you can\n    change this with <a class=\"message\"\n    href=\"#SCI_AUTOCSETIGNORECASE\"><code>SCI_AUTOCSETIGNORECASE</code></a>. The match is character\n    by character for the length of the <code class=\"parameter\">select</code> string. That is, if select is \"Fred\" it\n    will match \"Frederick\" if this is the first item in the list that begins with \"Fred\". If an\n    item is found, it is selected. If the item is not found, the autocompletion list closes if\n    auto-hide is true (see <a class=\"message\"\n    href=\"#SCI_AUTOCSETAUTOHIDE\"><code>SCI_AUTOCSETAUTOHIDE</code></a>).<br />\n    The current selection index can be retrieved with <code>SCI_AUTOCGETCURRENT</code>.</p>\n\n    <p><b id=\"SCI_AUTOCGETCURRENTTEXT\">SCI_AUTOCGETCURRENTTEXT(&lt;unused&gt;, char *text NUL-terminated) &rarr; int</b><br />\n     This message retrieves the current selected text in the autocompletion list. Normally the\n    <a class=\"message\" href=\"#SCN_AUTOCSELECTION\"><code>SCN_AUTOCSELECTION</code></a> notification\n    is used instead.</p>\n\n    <p>The value is copied to the <code class=\"parameter\">text</code> buffer, returning the length (not including the\n    terminating 0). If not found, an empty string is copied to the buffer and 0 is returned.</p>\n\n    <p>If the value argument is 0 then the length that should be allocated to store the value is\n    returned; again, the terminating 0 is not included.</p>\n\n    <p><b id=\"SCI_AUTOCSETCANCELATSTART\">SCI_AUTOCSETCANCELATSTART(bool cancel)</b><br />\n     <b id=\"SCI_AUTOCGETCANCELATSTART\">SCI_AUTOCGETCANCELATSTART &rarr; bool</b><br />\n     The default behaviour is for the list to be cancelled if the caret moves to the location it\n    was at when the list was displayed. By calling this message with a <code>false</code> argument,\n    the list is not cancelled until the caret moves at least one character before the word being\n    completed.</p>\n\n    <p><b id=\"SCI_AUTOCSETFILLUPS\">SCI_AUTOCSETFILLUPS(&lt;unused&gt;, const char *characterSet)</b><br />\n     If a fillup character is typed with an autocompletion list active, the currently selected item\n    in the list is added into the document, then the fillup character is added. Common fillup\n    characters are '(', '[' and '.' but others are possible depending on the language. By default,\n    no fillup characters are set.</p>\n\n    <p><b id=\"SCI_AUTOCSETCHOOSESINGLE\">SCI_AUTOCSETCHOOSESINGLE(bool chooseSingle)</b><br />\n     <b id=\"SCI_AUTOCGETCHOOSESINGLE\">SCI_AUTOCGETCHOOSESINGLE &rarr; bool</b><br />\n     If you use <code>SCI_AUTOCSETCHOOSESINGLE(1)</code> and a list has only one item, it is\n    automatically added and no list is displayed. The default is to display the list even if there\n    is only a single item.</p>\n\n    <p><b id=\"SCI_AUTOCSETIGNORECASE\">SCI_AUTOCSETIGNORECASE(bool ignoreCase)</b><br />\n     <b id=\"SCI_AUTOCGETIGNORECASE\">SCI_AUTOCGETIGNORECASE &rarr; bool</b><br />\n     By default, matching of characters to list members is case sensitive. These messages let you\n    set and get case sensitivity.</p>\n\n    <p><b id=\"SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR\">SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR(int behaviour)</b><br />\n    <b id=\"SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR\">SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR &rarr; int</b><br />\n    When autocompletion is set to ignore case (<code>SCI_AUTOCSETIGNORECASE</code>), by default it will\n    nonetheless select the first list member that matches in a case sensitive way to entered characters.\n    This corresponds to a behaviour property of <code>SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE</code> (0).\n    If you want autocompletion to ignore case at all, choose <code>SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE</code> (1).</p>\n\n    <p><b id=\"SCI_AUTOCSETMULTI\">SCI_AUTOCSETMULTI(int multi)</b><br />\n    <b id=\"SCI_AUTOCGETMULTI\">SCI_AUTOCGETMULTI &rarr; int</b><br />\n    When autocompleting with multiple selections present, the autocompleted text can go into just the main selection with\n    <code>SC_MULTIAUTOC_ONCE</code> (0) or into each selection with <code>SC_MULTIAUTOC_EACH</code> (1).\n    The default is <code>SC_MULTIAUTOC_ONCE</code>.</p>\n\n    <p><b id=\"SCI_AUTOCSETORDER\">SCI_AUTOCSETORDER(int order)</b><br />\n    <b id=\"SCI_AUTOCGETORDER\">SCI_AUTOCGETORDER &rarr; int</b><br />\n    The default setting <code>SC_ORDER_PRESORTED</code> (0) requires that the list be provided in alphabetical sorted order.\n   </p>\n    <p>Sorting the list can be done by Scintilla instead of the application with <code>SC_ORDER_PERFORMSORT</code> (1).\n    This will take additional time.\n   </p>\n    <p>Applications that wish to prioritize some values and show the list in order of priority instead\n    of alphabetical order can use <code>SC_ORDER_CUSTOM</code> (2).\n    This requires extra processing in <a class=\"seealso\" href=\"#SCI_AUTOCSHOW\">SCI_AUTOCSHOW</a> to create a sorted index.\n   </p>\n    <p>Setting the order should be done before calling <a class=\"seealso\" href=\"#SCI_AUTOCSHOW\">SCI_AUTOCSHOW</a>.\n   </p>\n\n    <p><b id=\"SCI_AUTOCSETAUTOHIDE\">SCI_AUTOCSETAUTOHIDE(bool autoHide)</b><br />\n     <b id=\"SCI_AUTOCGETAUTOHIDE\">SCI_AUTOCGETAUTOHIDE &rarr; bool</b><br />\n     By default, the list is cancelled if there are no viable matches (the user has typed\n    characters that no longer match a list entry). If you want to keep displaying the original\n    list, set <code class=\"parameter\">autoHide</code> to <code>false</code>. This also effects <a class=\"seealso\"\n    href=\"#SCI_AUTOCSELECT\"><code>SCI_AUTOCSELECT</code></a>.</p>\n\n    <p><b id=\"SCI_AUTOCSETDROPRESTOFWORD\">SCI_AUTOCSETDROPRESTOFWORD(bool dropRestOfWord)</b><br />\n     <b id=\"SCI_AUTOCGETDROPRESTOFWORD\">SCI_AUTOCGETDROPRESTOFWORD &rarr; bool</b><br />\n     When an item is selected, any word characters following the caret are first erased if\n    <code class=\"parameter\">dropRestOfWord</code> is set <code>true</code>. The default is <code>false</code>.</p>\n\n    <p>\n      <b id=\"SCI_REGISTERIMAGE\">SCI_REGISTERIMAGE(int type, const char *xpmData)</b><br />\n      <b id=\"SCI_REGISTERRGBAIMAGE\">SCI_REGISTERRGBAIMAGE(int type, const char *pixels)</b><br />\n      <b id=\"SCI_CLEARREGISTEREDIMAGES\">SCI_CLEARREGISTEREDIMAGES</b><br />\n      <b id=\"SCI_AUTOCSETTYPESEPARATOR\">SCI_AUTOCSETTYPESEPARATOR(int separatorCharacter)</b><br />\n      <b id=\"SCI_AUTOCGETTYPESEPARATOR\">SCI_AUTOCGETTYPESEPARATOR &rarr; int</b><br />\n\n      Autocompletion list items may display an image as well as text. Each image is first registered with an integer\n      type. Then this integer is included in the text of the list separated by a '?' from the text. For example,\n      \"fclose?2 fopen\" displays image 2 before the string \"fclose\" and no image before \"fopen\".\n      The images are in either the <a class=\"jump\" href=\"#XPM\">XPM format</a> (<code>SCI_REGISTERIMAGE</code>) or\n      <a class=\"jump\" href=\"#RGBA\">RGBA format</a> (<code>SCI_REGISTERRGBAIMAGE</code>).\n      For <code>SCI_REGISTERRGBAIMAGE</code> the width and height must previously been set with\n      the <a class=\"message\" href=\"#SCI_RGBAIMAGESETWIDTH\"><code>SCI_RGBAIMAGESETWIDTH</code></a> and\n      <a class=\"message\" href=\"#SCI_RGBAIMAGESETHEIGHT\"><code>SCI_RGBAIMAGESETHEIGHT</code></a> messages.\n      The set of registered images can be cleared with <code>SCI_CLEARREGISTEREDIMAGES</code> and the '?' separator changed\n      with <code>SCI_AUTOCSETTYPESEPARATOR</code>.\n    </p>\n\n    <p>\n      <b id=\"SCI_AUTOCSETMAXHEIGHT\">SCI_AUTOCSETMAXHEIGHT(int rowCount)</b><br />\n      <b id=\"SCI_AUTOCGETMAXHEIGHT\">SCI_AUTOCGETMAXHEIGHT &rarr; int</b><br />\n\n      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\n      scrollbar is shown. The default is 5.\n     </p>\n\n    <p>\n      <b id=\"SCI_AUTOCSETMAXWIDTH\">SCI_AUTOCSETMAXWIDTH(int characterCount)</b><br />\n      <b id=\"SCI_AUTOCGETMAXWIDTH\">SCI_AUTOCGETMAXWIDTH &rarr; int</b><br />\n\n      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.\n      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\n      the available width are indicated by the presence of ellipsis.\n     </p>\n\n    <h2 id=\"UserLists\">User lists</h2>\n\n    <p>User lists use the same internal mechanisms as autocompletion lists, and all the calls\n    listed for autocompletion work on them; you cannot display a user list at the same time as an\n    autocompletion list is active. They differ in the following respects:</p>\n\n    <code><a class=\"message\" href=\"#SCI_USERLISTSHOW\">SCI_USERLISTSHOW(int listType, const char *itemList)</a><br /></code>\n\n    <p>o The <code><a class=\"message\"\n    href=\"#SCI_AUTOCSETCHOOSESINGLE\">SCI_AUTOCSETCHOOSESINGLE</a></code> message has no\n    effect.<br />\n     o When the user makes a selection you are sent a <code><a class=\"jump\"\n    href=\"#SCN_USERLISTSELECTION\">SCN_USERLISTSELECTION</a></code> <a class=\"jump\"\n    href=\"#Notifications\">notification message</a> rather than <code><a class=\"jump\"\n    href=\"#SCN_AUTOCSELECTION\">SCN_AUTOCSELECTION</a></code>.</p>\n\n    <p>BEWARE: if you have set fillup characters or stop characters, these will still be active\n    with the user list, and may result in items being selected or the user list cancelled due to\n    the user typing into the editor.</p>\n\n    <p><b id=\"SCI_USERLISTSHOW\">SCI_USERLISTSHOW(int listType, const char *itemList)</b><br />\n     The <code class=\"parameter\">listType</code> parameter is returned to the container as the <code>wParam</code>\n    field of the <a class=\"message\" href=\"#SCNotification\"><code>SCNotification</code></a>\n    structure. It must be greater than 0 as this is how Scintilla tells the difference between an\n    autocompletion list and a user list. If you have different types of list, for example a list of\n    buffers and a list of macros, you can use <code class=\"parameter\">listType</code> to tell which one has returned\n    a selection. </p>\n\n    <h2 id=\"CallTips\">Call tips</h2>\n\n    <p>Call tips are small windows displaying the arguments to a function and are displayed after\n    the user has typed the name of the function. They normally display characters using the font\n    facename, size and character set defined by\n    <code><a class=\"message\" href=\"#StyleDefinition\">STYLE_DEFAULT</a></code>. You can choose to\n    use <code><a class=\"message\" href=\"#StyleDefinition\">STYLE_CALLTIP</a></code> to define the\n    facename, size, foreground and background colours and character set with\n    <code><a class=\"seealso\" href=\"#SCI_CALLTIPUSESTYLE\">SCI_CALLTIPUSESTYLE</a></code>.\n    This also enables support for Tab characters.\n\n    There is some interaction between call tips and autocompletion lists in that showing a\n    call tip cancels any active autocompletion list, and vice versa.</p>\n\n    <p>Call tips are not implemented on Qt.</p>\n\n    <p>Call tips can highlight part of the text within them. You could use this to highlight the\n    current argument to a function by counting the number of commas (or whatever separator your\n    language uses). See <code>SciTEBase::CharAdded()</code> in <code>SciTEBase.cxx</code> for an\n    example of call tip use.</p>\n\n    <p>The mouse may be clicked on call tips and this causes a\n    <code><a class=\"message\" href=\"#SCN_CALLTIPCLICK\">SCN_CALLTIPCLICK</a></code>\n    notification to be sent to the container. Small up and down arrows may be displayed within\n    a call tip by, respectively, including the characters '\\001', or '\\002'. This is useful\n    for showing that there are overloaded variants of one function name and that the user can\n    click on the arrows to cycle through the overloads.</p>\n\n    <p>Alternatively, call tips can be displayed when you leave the mouse pointer for a while over\n    a word in response to the <code><a class=\"message\"\n    href=\"#SCN_DWELLSTART\">SCN_DWELLSTART</a></code> <a class=\"jump\"\n    href=\"#Notifications\">notification</a> and cancelled in response to <code><a class=\"message\"\n    href=\"#SCN_DWELLEND\">SCN_DWELLEND</a></code>. This method could be used in a debugger to give\n    the value of a variable, or during editing to give information about the word under the\n    pointer.</p>\n    <code><a class=\"message\" href=\"#SCI_CALLTIPSHOW\">SCI_CALLTIPSHOW(int pos, const char\n    *definition)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPCANCEL\">SCI_CALLTIPCANCEL</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPACTIVE\">SCI_CALLTIPACTIVE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPPOSSTART\">SCI_CALLTIPPOSSTART &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPSETPOSSTART\">SCI_CALLTIPSETPOSSTART(int posStart)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPSETHLT\">SCI_CALLTIPSETHLT(int highlightStart, int\n    highlightEnd)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPSETBACK\">SCI_CALLTIPSETBACK(colour back)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPSETFORE\">SCI_CALLTIPSETFORE(colour fore)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPSETFOREHLT\">SCI_CALLTIPSETFOREHLT(colour fore)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPUSESTYLE\">SCI_CALLTIPUSESTYLE(int tabSize)</a><br />\n     <a class=\"message\" href=\"#SCI_CALLTIPSETPOSITION\">SCI_CALLTIPSETPOSITION(bool above)</a><br />\n    </code>\n\n    <p><b id=\"SCI_CALLTIPSHOW\">SCI_CALLTIPSHOW(int pos, const char *definition)</b><br />\n     This message starts the process by displaying the call tip window. If a call tip is already\n    active, this has no effect.<br />\n     <code class=\"parameter\">pos</code> is the position in the document at which to align the call tip. The call\n    tip text is aligned to start 1 line below this character unless you have included up and/or\n    down arrows in the call tip text in which case the tip is aligned to the right-hand edge of\n    the rightmost arrow. The assumption is that you will start the text with something like\n    \"\\001 1 of 3 \\002\".<br />\n     <code class=\"parameter\">definition</code> is the call tip text. This can contain multiple lines separated by\n    '\\n' (Line Feed, ASCII code 10) characters. Do not include '\\r' (Carriage Return, ASCII\n     code 13), as this will most likely print as an empty box. '\\t' (Tab, ASCII code 9) is\n     supported if you set a tabsize with\n    <code><a class=\"seealso\" href=\"#SCI_CALLTIPUSESTYLE\">SCI_CALLTIPUSESTYLE</a></code>.<br />\n    The position of the caret is remembered here so that the call tip can be cancelled automatically if subsequent deletion\n    moves the caret before this position.</p>\n\n    <p><b id=\"SCI_CALLTIPCANCEL\">SCI_CALLTIPCANCEL</b><br />\n     This message cancels any displayed call tip. Scintilla will also cancel call tips for you if\n    you use any keyboard commands that are not compatible with editing the argument list of a\n    function.\n    Call tips are cancelled if you delete back past the position where the caret was when the tip was triggered.</p>\n\n    <p><b id=\"SCI_CALLTIPACTIVE\">SCI_CALLTIPACTIVE &rarr; bool</b><br />\n     This returns 1 if a call tip is active and 0 if it is not active.</p>\n\n    <p><b id=\"SCI_CALLTIPPOSSTART\">SCI_CALLTIPPOSSTART &rarr; position</b><br />\n    <b id=\"SCI_CALLTIPSETPOSSTART\">SCI_CALLTIPSETPOSSTART(int posStart)</b><br />\n     This message returns or sets the value of the current position when <code>SCI_CALLTIPSHOW</code>\n    started to display the tip.</p>\n\n    <p><b id=\"SCI_CALLTIPSETHLT\">SCI_CALLTIPSETHLT(int highlightStart, int highlightEnd)</b><br />\n     This sets the region of the call tips text to display in a highlighted style.\n    <code class=\"parameter\">highlightStart</code> is the zero-based index into the string of the first character to\n    highlight and <code class=\"parameter\">highlightEnd</code> is the index of the first character after the highlight.\n    <code class=\"parameter\">highlightEnd</code> must be greater than <code class=\"parameter\">highlightStart</code>;\n    <code>highlightEnd-highlightStart</code> is the\n    number of characters to highlight. Highlights can extend over line ends if this is\n    required.</p>\n\n    <p>Unhighlighted text is drawn in a mid grey. Selected text is drawn in a dark blue. The\n    background is white. These can be changed with\n    <code>SCI_CALLTIPSETBACK</code>,\n    <code>SCI_CALLTIPSETFORE</code>, and\n    <code>SCI_CALLTIPSETFOREHLT</code>.\n    </p>\n\n    <p><b id=\"SCI_CALLTIPSETBACK\">SCI_CALLTIPSETBACK(<a class=\"jump\" href=\"#colour\">colour</a> back)</b><br />\n     The background colour of call tips can be set with this message; the default colour is white.\n    It is not a good idea to set a dark colour as the background as the default colour for normal\n    calltip text is mid grey and the default colour for highlighted text is dark blue. This also\n    sets the background colour of <code>STYLE_CALLTIP</code>.</p>\n\n    <p><b id=\"SCI_CALLTIPSETFORE\">SCI_CALLTIPSETFORE(<a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     The colour of call tip text can be set with this message; the default colour is mid grey.\n    This also sets the foreground colour of <code>STYLE_CALLTIP</code>.</p>\n\n    <p><b id=\"SCI_CALLTIPSETFOREHLT\">SCI_CALLTIPSETFOREHLT(<a class=\"jump\" href=\"#colour\">colour</a> fore)</b><br />\n     The colour of highlighted call tip text can be set with this message; the default colour\n    is dark blue.</p>\n\n    <p><b id=\"SCI_CALLTIPUSESTYLE\">SCI_CALLTIPUSESTYLE(int tabSize)</b><br />\n     This message changes the style used for call tips from <code>STYLE_DEFAULT</code> to\n    <code>STYLE_CALLTIP</code> and sets a tab size in screen pixels. If <code class=\"parameter\">tabsize</code> is\n    less than 1, Tab characters are not treated specially. Once this call has been used, the\n    call tip foreground and background colours are also taken from the style.</p>\n\n    <p><b id=\"SCI_CALLTIPSETPOSITION\">SCI_CALLTIPSETPOSITION(bool above)</b><br />\n     By default the calltip is displayed below the text, setting above to <code>true</code>\n    (1) will display it above the text.</p>\n\n\n    <h2 id=\"KeyboardCommands\">Keyboard commands</h2>\n\n    <p>To allow the container application to perform any of the actions available to the user with\n    keyboard, all the keyboard actions are messages. They do not take any parameters. These\n    commands are also used when redefining the key bindings with the <a class=\"message\"\n    href=\"#SCI_ASSIGNCMDKEY\"><code>SCI_ASSIGNCMDKEY</code></a> message.</p>\n\n    <table border=\"0\" summary=\"Keyboard commands\">\n      <tbody>\n        <tr>\n          <td><code>SCI_LINEDOWN</code></td>\n\n          <td><code>SCI_LINEDOWNEXTEND</code></td>\n\n          <td><code>SCI_LINEDOWNRECTEXTEND</code></td>\n\n          <td><code>SCI_LINESCROLLDOWN</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_LINEUP</code></td>\n\n          <td><code>SCI_LINEUPEXTEND</code></td>\n\n          <td><code>SCI_LINEUPRECTEXTEND</code></td>\n\n          <td><code>SCI_LINESCROLLUP</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_PARADOWN</code></td>\n\n          <td><code>SCI_PARADOWNEXTEND</code></td>\n\n          <td><code>SCI_PARAUP</code></td>\n\n          <td><code>SCI_PARAUPEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_CHARLEFT</code></td>\n\n          <td><code>SCI_CHARLEFTEXTEND</code></td>\n\n          <td><code>SCI_CHARLEFTRECTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_CHARRIGHT</code></td>\n\n          <td><code>SCI_CHARRIGHTEXTEND</code></td>\n\n          <td><code>SCI_CHARRIGHTRECTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_WORDLEFT</code></td>\n\n          <td><code>SCI_WORDLEFTEXTEND</code></td>\n\n          <td><code>SCI_WORDRIGHT</code></td>\n\n          <td><code>SCI_WORDRIGHTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_WORDLEFTEND</code></td>\n\n          <td><code>SCI_WORDLEFTENDEXTEND</code></td>\n\n          <td><code>SCI_WORDRIGHTEND</code></td>\n\n          <td><code>SCI_WORDRIGHTENDEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_WORDPARTLEFT</code></td>\n\n          <td><code>SCI_WORDPARTLEFTEXTEND</code></td>\n\n          <td><code>SCI_WORDPARTRIGHT</code></td>\n\n          <td><code>SCI_WORDPARTRIGHTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_HOME</code></td>\n\n          <td><code>SCI_HOMEEXTEND</code></td>\n\n          <td><code>SCI_HOMERECTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_HOMEDISPLAY</code></td>\n\n          <td><code>SCI_HOMEDISPLAYEXTEND</code></td>\n\n          <td><code>SCI_HOMEWRAP</code></td>\n\n          <td><code>SCI_HOMEWRAPEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_VCHOME</code></td>\n\n          <td><code>SCI_VCHOMEEXTEND</code></td>\n\n          <td><code>SCI_VCHOMERECTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_VCHOMEWRAP</code></td>\n\n          <td><code>SCI_VCHOMEWRAPEXTEND</code></td>\n\n          <td><code>SCI_VCHOMEDISPLAY</code></td>\n\n          <td><code>SCI_VCHOMEDISPLAYEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_LINEEND</code></td>\n\n          <td><code>SCI_LINEENDEXTEND</code></td>\n\n          <td><code>SCI_LINEENDRECTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_LINEENDDISPLAY</code></td>\n\n          <td><code>SCI_LINEENDDISPLAYEXTEND</code></td>\n\n          <td><code>SCI_LINEENDWRAP</code></td>\n\n          <td><code>SCI_LINEENDWRAPEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_DOCUMENTSTART</code></td>\n\n          <td><code>SCI_DOCUMENTSTARTEXTEND</code></td>\n\n          <td><code>SCI_DOCUMENTEND</code></td>\n\n          <td><code>SCI_DOCUMENTENDEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_PAGEUP</code></td>\n\n          <td><code>SCI_PAGEUPEXTEND</code></td>\n\n          <td><code>SCI_PAGEUPRECTEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_PAGEDOWN</code></td>\n\n          <td><code>SCI_PAGEDOWNEXTEND</code></td>\n\n          <td><code>SCI_PAGEDOWNRECTEXTEND</code></td>\n        </tr>\n\n\n        <tr>\n          <td><code>SCI_STUTTEREDPAGEUP</code></td>\n\n          <td><code>SCI_STUTTEREDPAGEUPEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_STUTTEREDPAGEDOWN</code></td>\n\n          <td><code>SCI_STUTTEREDPAGEDOWNEXTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_DELETEBACK</code></td>\n\n          <td><code>SCI_DELETEBACKNOTLINE</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_DELWORDLEFT</code></td>\n\n          <td><code>SCI_DELWORDRIGHT</code></td>\n\n          <td><code>SCI_DELWORDRIGHTEND</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_DELLINELEFT</code></td>\n\n          <td><code>SCI_DELLINERIGHT</code></td>\n\n          <td><code>SCI_LINEDELETE</code></td>\n\n          <td><code>SCI_LINECUT</code></td>\n        </tr>\n\n        <tr>\n\n          <td><code>SCI_LINECOPY</code></td>\n\n          <td><code>SCI_LINETRANSPOSE</code></td>\n\n          <td><code>SCI_LINEREVERSE</code></td>\n\n          <td><code>SCI_LINEDUPLICATE</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_LOWERCASE</code></td>\n\n          <td><code>SCI_UPPERCASE</code></td>\n\n          <td><code>SCI_CANCEL</code></td>\n\n          <td><code>SCI_EDITTOGGLEOVERTYPE</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_NEWLINE</code></td>\n\n          <td><code>SCI_FORMFEED</code></td>\n\n          <td><code>SCI_TAB</code></td>\n\n          <td><code>SCI_BACKTAB</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_SELECTIONDUPLICATE</code></td>\n\n          <td><code>SCI_VERTICALCENTRECARET</code></td>\n\n        </tr>\n\n        <tr>\n          <td><code>SCI_MOVESELECTEDLINESUP</code></td>\n\n          <td><code>SCI_MOVESELECTEDLINESDOWN</code></td>\n        </tr>\n\n        <tr>\n          <td><code>SCI_SCROLLTOSTART</code></td>\n\n          <td><code>SCI_SCROLLTOEND</code></td>\n        </tr>\n     </tbody>\n    </table>\n\n    <p>The <code>SCI_*EXTEND</code> messages extend the selection.</p>\n\n    <p>The <code>SCI_*RECTEXTEND</code> messages extend the rectangular selection\n    (and convert regular selection to rectangular one, if any).</p>\n\n    <p>The <code>SCI_WORDPART*</code> commands are used to move between word segments marked by\n    capitalisation (aCamelCaseIdentifier) or underscores (an_under_bar_ident).</p>\n\n    <p>The <code>SCI_WORD[LEFT|RIGHT]END*</code> commands are\n    similar to <code>SCI_WORD[LEFT|RIGHT]*</code> but move between word ends instead of word starts.</p>\n\n    <p>The <code>SCI_HOME*</code> commands move the caret to the start of the line, while the\n    <code>SCI_VCHOME*</code> commands move the caret to the first non-blank character of the line\n    (ie. just after the indentation) unless it is already there; in this case, it acts as SCI_HOME*.</p>\n\n    <p>The <code>SCI_[HOME|LINEEND]DISPLAY*</code> commands are used when in line wrap mode to\n    allow movement to the start or end of display lines as opposed to the normal\n    <code>SCI_[HOME|LINEEND]</code> commands which move to the start or end of document lines.</p>\n\n    <p>The <code>SCI_[[VC]HOME|LINEEND]WRAP*</code> commands are like their namesakes\n    <code>SCI_[[VC]HOME|LINEEND]*</code> except they behave differently when word-wrap is enabled:\n     They go first to the start / end of the display line, like <code>SCI_[HOME|LINEEND]DISPLAY*</code>,\n     but if the cursor is already at the point, it goes on to the start or end of the document line,\n     as appropriate for <code>SCI_[[VC]HOME|LINEEND]*</code>.\n     </p>\n\n    <p>The <code>SCI_SCROLLTO[START|END]</code> commands scroll the document to the start\n    or end without changing the selection. These commands match OS X platform conventions for the behaviour of the\n    <code>home</code> and <code>end</code> keys. Scintilla can be made to match OS X applications\n    by binding the <code>home</code> and <code>end</code> keys to these commands.\n     </p>\n\n    <p class=\"message\" id=\"SCI_CANCEL\">The <code>SCI_CANCEL</code> command cancels autocompletion and\n    calltip display and drops any additional selections.\n     </p>\n\n    <h2 id=\"KeyBindings\">Key bindings</h2>\n\n    <p>There is a default binding of keys to commands that is defined in the Scintilla source in\n    the file <code>KeyMap.cxx</code> by the constant <code>KeyMap::MapDefault[]</code>. This table\n    maps key definitions to <code>SCI_*</code> messages with no parameters (mostly the <a\n    class=\"jump\" href=\"#KeyboardCommands\">keyboard commands</a> discussed above, but any Scintilla\n    command that has no arguments can be mapped). You can change the mapping to suit your own\n    requirements.</p>\n    <code><a class=\"message\" href=\"#SCI_ASSIGNCMDKEY\">SCI_ASSIGNCMDKEY(int keyDefinition, int\n    sciCommand)</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARCMDKEY\">SCI_CLEARCMDKEY(int keyDefinition)</a><br />\n     <a class=\"message\" href=\"#SCI_CLEARALLCMDKEYS\">SCI_CLEARALLCMDKEYS</a><br />\n     <a class=\"message\" href=\"#SCI_NULL\">SCI_NULL</a><br />\n    </code>\n\n    <p><b id=\"keyDefinition\">keyDefinition</b><br />\n     A key definition contains the key code in the low 16-bits and the key modifiers in the high\n    16-bits. To combine <code>keyCode</code> and <code>keyMod</code> set:<br />\n    <br />\n     <code>keyDefinition = keyCode + (keyMod &lt;&lt; 16)</code></p>\n\n    <p>The key code is a visible or control character or a key from the <code>SCK_*</code>\n    enumeration, which contains:<br />\n     <code>SCK_ADD</code>, <code>SCK_BACK</code>, <code>SCK_DELETE</code>, <code>SCK_DIVIDE</code>,\n    <code>SCK_DOWN</code>, <code>SCK_END</code>, <code>SCK_ESCAPE</code>, <code>SCK_HOME</code>,\n    <code>SCK_INSERT</code>, <code>SCK_LEFT</code>, <code>SCK_MENU</code>, <code>SCK_NEXT</code> (Page Down),\n    <code>SCK_PRIOR</code> (Page Up), <code>SCK_RETURN</code>, <code>SCK_RIGHT</code>,\n    <code>SCK_RWIN</code>,\n    <code>SCK_SUBTRACT</code>, <code>SCK_TAB</code>, <code>SCK_UP</code>, and\n    <code>SCK_WIN</code>.</p>\n\n    <p>The modifiers are a combination of zero or more of <code>SCMOD_ALT</code>,\n    <code>SCMOD_CTRL</code>, <code>SCMOD_SHIFT</code>,\n    <code>SCMOD_META</code>, and <code>SCMOD_SUPER</code>.\n    On OS X, the Command key is mapped to <code>SCMOD_CTRL</code> and the Control key to\n    <code>SCMOD_META</code>.\n    <code>SCMOD_SUPER</code> is only available on GTK+ which is commonly the Windows key.\n    If you are building a table, you might\n    want to use <code>SCMOD_NORM</code>, which has the value 0, to mean no modifiers.</p>\n\n    <p><b id=\"SCI_ASSIGNCMDKEY\">SCI_ASSIGNCMDKEY(int <a class=\"jump\"\n    href=\"#keyDefinition\">keyDefinition</a>, int sciCommand)</b><br />\n     This assigns the given key definition to a Scintilla command identified by\n    <code class=\"parameter\">sciCommand</code>. <code class=\"parameter\">sciCommand</code> can be any <code>SCI_*</code> command that has\n    no arguments.</p>\n\n    <p><b id=\"SCI_CLEARCMDKEY\">SCI_CLEARCMDKEY(int <a class=\"jump\"\n    href=\"#keyDefinition\">keyDefinition</a>)</b><br />\n     This makes the given key definition do nothing by assigning the action <code>SCI_NULL</code>\n    to it.</p>\n\n    <p><b id=\"SCI_CLEARALLCMDKEYS\">SCI_CLEARALLCMDKEYS</b><br />\n     This command removes all keyboard command mapping by setting an empty mapping table.</p>\n\n    <p><b id=\"SCI_NULL\">SCI_NULL</b><br />\n     The <code>SCI_NULL</code> does nothing and is the value assigned to keys that perform no\n    action. SCI_NULL ensures that keys do not propagate to the parent window as that may\n    cause focus to move. If you want the standard platform behaviour use the constant 0 instead.</p>\n\n    <h2 id=\"PopupEditMenu\">Popup edit menu</h2>\n\n    <code><a class=\"message\" href=\"#SCI_USEPOPUP\">SCI_USEPOPUP(int popUpMode)</a><br />\n    </code>\n\n    <p><b id=\"SCI_USEPOPUP\">SCI_USEPOPUP(int popUpMode)</b><br />\n     Clicking the wrong button on the mouse pops up a short default editing menu. This may be\n    turned off with <code>SCI_USEPOPUP(SC_POPUP_NEVER)</code>. If you turn it off, context menu commands (in\n    Windows, <code>WM_CONTEXTMENU</code>) will not be handled by Scintilla, so the parent of the\n    Scintilla window will have the opportunity to handle the message.</p>\n\n        <table class=\"standard\" summary=\"Display context menu mode\">\n          <tbody>\n            <tr>\n              <th align=\"left\">Symbol</th>\n\n              <th>Value</th>\n\n              <th align=\"left\">Meaning</th>\n\n            </tr>\n          </tbody>\n\n          <tbody valign=\"top\">\n            <tr>\n              <td align=\"left\"><code>SC_POPUP_NEVER</code></td>\n\n              <td align=\"center\">0</td>\n\n              <td>Never show default editing menu.</td>\n\n            </tr>\n\n            <tr>\n              <td align=\"left\"><code>SC_POPUP_ALL</code></td>\n\n              <td align=\"center\">1</td>\n\n              <td>Show default editing menu if clicking on scintilla.</td>\n\n            </tr>\n\n            <tr>\n              <td align=\"left\"><code>SC_POPUP_TEXT</code></td>\n\n              <td align=\"center\">2</td>\n\n              <td>Show default editing menu only if clicking on text area.</td>\n\n            </tr>\n\n          </tbody>\n        </table>\n\n    <h2 id=\"MacroRecording\">Macro recording</h2>\n\n    <p>Start and stop macro recording mode. In macro recording mode, actions are reported to the\n    container through <code><a class=\"message\" href=\"#SCN_MACRORECORD\">SCN_MACRORECORD</a></code>\n    <a class=\"jump\" href=\"#Notifications\">notifications</a>. It is then up to the container to\n    record these actions for future replay.</p>\n\n    <code><a class=\"message\" href=\"#SCI_STARTRECORD\">SCI_STARTRECORD</a><br />\n     <a class=\"message\" href=\"#SCI_STOPRECORD\">SCI_STOPRECORD</a><br />\n    </code>\n\n    <p><b id=\"SCI_STARTRECORD\">SCI_STARTRECORD</b><br />\n     <b id=\"SCI_STOPRECORD\">SCI_STOPRECORD</b><br />\n     These two messages turn macro recording on and off.</p>\n\n    <h2 id=\"Printing\">Printing</h2>\n\n    <p><code>SCI_FORMATRANGE</code> can be used to draw the text onto a display surface\n    which can include a printer display surface. Printed output shows text styling as on the\n    screen, but it hides all margins except a line number margin. All special marker effects are\n    removed and the selection and caret are hidden.</p>\n\n    <p>Different platforms use different display surface ID types to print on. On Windows, these are\n    <code>HDC</code>s., on GTK+ 3.x <code>cairo_t *</code>,\n    and on Cocoa <code>CGContextRef</code> is used.</p>\n\n    <code><a class=\"message\" href=\"#SCI_FORMATRANGE\">SCI_FORMATRANGE(bool draw, Sci_RangeToFormat *fr) &rarr; position</a><br />\n     <a class=\"message\" href=\"#SCI_SETPRINTMAGNIFICATION\">SCI_SETPRINTMAGNIFICATION(int\n    magnification)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPRINTMAGNIFICATION\">SCI_GETPRINTMAGNIFICATION &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETPRINTCOLOURMODE\">SCI_SETPRINTCOLOURMODE(int mode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPRINTCOLOURMODE\">SCI_GETPRINTCOLOURMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETPRINTWRAPMODE\">SCI_SETPRINTWRAPMODE(int wrapMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPRINTWRAPMODE\">SCI_GETPRINTWRAPMODE &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_FORMATRANGE\">SCI_FORMATRANGE(bool draw, Sci_RangeToFormat *fr) &rarr; position</b><br />\n     This call renders a range of text into a device context. If you use\n    this for printing, you will probably want to arrange a page header and footer; Scintilla does\n    not do this for you. See <code>SciTEWin::Print()</code> in <code>SciTEWinDlg.cxx</code> for an\n    example. Each use of this message renders a range of text into a rectangular area and returns\n    the position in the document of the next character to print.</p>\n\n    <p><code class=\"parameter\">draw</code> controls if any output is done. Set this to false if you are paginating\n    (for example, if you use this with MFC you will need to paginate in\n    <code>OnBeginPrinting()</code> before you output each page.</p>\n<pre>\nstruct Sci_Rectangle { int left; int top; int right; int bottom; };\n\nstruct Sci_RangeToFormat {\n    Sci_SurfaceID hdc;        // The Surface ID we print to\n    Sci_SurfaceID hdcTarget;  // The Surface ID we use for measuring (may be same as hdc)\n    Sci_Rectangle rc;         // Rectangle in which to print\n    Sci_Rectangle rcPage;     // Physically printable page size\n    Sci_CharacterRange chrg;  // Range of characters to print\n};\n</pre>\n\n    <p>On Windows, <code>hdc</code> and <code>hdcTarget</code> should both be set to the device context handle\n    of the output device (usually a printer). If you print to a metafile these will not be the same\n    as Windows metafiles (unlike extended metafiles) do not implement the full API for returning\n    information. In this case, set <code>hdcTarget</code> to the screen DC.<br />\n     <code>rcPage</code> is the rectangle <code>{0, 0, maxX, maxY}</code> where <code>maxX+1</code>\n    and <code>maxY+1</code> are the number of physically printable pixels in x and y.<br />\n     <code>rc</code> is the rectangle to render the text in (which will, of course, fit within the\n    rectangle defined by rcPage).<br />\n     <code>chrg.cpMin</code> and <code>chrg.cpMax</code> define the start position and maximum\n    position of characters to output. All of each line within this character range is drawn.</p>\n\n    <p>On Cocoa, the surface IDs for printing (<code>draw=1</code>) should be the graphics port of the current context\n    (<code>(CGContextRef) [[NSGraphicsContext currentContext] graphicsPort]</code>) when the view's drawRect method is called.\n    The Surface IDs are not really used for measurement (<code>draw=0</code>) but can be set\n    to a bitmap context (created with <code>CGBitmapContextCreate</code>) to avoid runtime warnings.</p>\n\n    <p>On GTK+, the surface IDs to use can be found from the printing context with\n    <code>gtk_print_context_get_cairo_context(context)</code>.</p>\n\n     <p><code>chrg.cpMin</code> and <code>chrg.cpMax</code> define the start position and maximum\n    position of characters to output. All of each line within this character range is drawn.</p>\n\n    <p>When printing, the most tedious part is always working out what the margins should be to\n    allow for the non-printable area of the paper and printing a header and footer. If you look at\n    the printing code in SciTE, you will find that most of it is taken up with this. The loop that\n    causes Scintilla to render text is quite simple if you strip out all the margin, non-printable\n    area, header and footer code.</p>\n\n    <p><b id=\"SCI_SETPRINTMAGNIFICATION\">SCI_SETPRINTMAGNIFICATION(int magnification)</b><br />\n     <b id=\"SCI_GETPRINTMAGNIFICATION\">SCI_GETPRINTMAGNIFICATION &rarr; int</b><br />\n     <code>SCI_GETPRINTMAGNIFICATION</code> lets you to print at a different size than the screen\n    font. <code class=\"parameter\">magnification</code> is the number of points to add to the size of each screen\n    font. A value of -3 or -4 gives reasonably small print. You can get this value with\n    <code>SCI_GETPRINTMAGNIFICATION</code>.</p>\n\n    <p><b id=\"SCI_SETPRINTCOLOURMODE\">SCI_SETPRINTCOLOURMODE(int mode)</b><br />\n     <b id=\"SCI_GETPRINTCOLOURMODE\">SCI_GETPRINTCOLOURMODE &rarr; int</b><br />\n     These two messages set and get the method used to render coloured text on a printer that is\n    probably using white paper. It is especially important to consider the treatment of colour if\n    you use a dark or black screen background. Printing white on black uses up toner and ink very\n    many times faster than the other way around. You can set the mode to one of:</p>\n\n    <table class=\"standard\" summary=\"Colour printing modes\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Purpose</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_PRINT_NORMAL</code></td>\n\n          <td align=\"center\">0</td>\n\n          <td>Print using the current screen colours with the exception of line number margins which print on a white background.\n\t\t  This is the default.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PRINT_INVERTLIGHT</code></td>\n\n          <td align=\"center\">1</td>\n\n          <td>If you use a dark screen background this saves ink by inverting the light value of\n          all colours and printing on a white background.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PRINT_BLACKONWHITE</code></td>\n\n          <td align=\"center\">2</td>\n\n          <td>Print all text as black on a white background.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PRINT_COLOURONWHITE</code></td>\n\n          <td align=\"center\">3</td>\n\n          <td>Everything prints in its own colour on a white background.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PRINT_COLOURONWHITEDEFAULTBG</code></td>\n\n          <td align=\"center\">4</td>\n\n          <td>Everything prints in its own foreground colour but all styles up to and including STYLE_LINENUMBER will print\n\t\t  on a white background.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PRINT_SCREENCOLOURS</code></td>\n\n          <td align=\"center\">5</td>\n\n          <td>Print using the current screen colours for both foreground and background.\n\t\t  This is the only mode that does not set the background colour of the line number margin to white.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETPRINTWRAPMODE\">SCI_SETPRINTWRAPMODE(int wrapMode)</b><br />\n     <b id=\"SCI_GETPRINTWRAPMODE\">SCI_GETPRINTWRAPMODE &rarr; int</b><br />\n     These two functions get and set the printer wrap mode. <code class=\"parameter\">wrapMode</code> can be\n     set to <code>SC_WRAP_NONE</code> (0), <code>SC_WRAP_WORD</code> (1) or\n     <code>SC_WRAP_CHAR</code> (2). The default is\n     <code>SC_WRAP_WORD</code>, which wraps printed output so that all characters fit\n     into the print rectangle. If you set <code>SC_WRAP_NONE</code>, each line of text\n     generates one line of output and the line is truncated if it is too long to fit\n     into the print area.<br />\n     <code>SC_WRAP_WORD</code> tries to wrap only between words as indicated by\n     white space or style changes although if a word is longer than a line, it will be wrapped before\n     the line end. <code>SC_WRAP_CHAR</code> is preferred to\n     <code>SC_WRAP_WORD</code> for Asian languages where there is no white space\n     between words.</p>\n\n    <h2 id=\"DirectAccess\">Direct access</h2>\n    <code><a class=\"message\" href=\"#SCI_GETDIRECTFUNCTION\">SCI_GETDIRECTFUNCTION &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETDIRECTPOINTER\">SCI_GETDIRECTPOINTER &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETCHARACTERPOINTER\">SCI_GETCHARACTERPOINTER &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETRANGEPOINTER\">SCI_GETRANGEPOINTER(int start, int lengthRange) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETGAPPOSITION\">SCI_GETGAPPOSITION &rarr; position</a><br />\n    </code>\n\n    <p>On Windows, the message-passing scheme used to communicate between the container and\n    Scintilla is mediated by the operating system <code>SendMessage</code> function and can lead to\n    bad performance when calling intensively. To avoid this overhead, Scintilla provides messages\n    that allow you to call the Scintilla message function directly. The code to do this in C/C++ is\n    of the form:</p>\n<pre>\n#include \"Scintilla.h\"\nSciFnDirect pSciMsg = (SciFnDirect)SendMessage(hSciWnd, SCI_GETDIRECTFUNCTION, 0, 0);\nsptr_t pSciWndData = (sptr_t)SendMessage(hSciWnd, SCI_GETDIRECTPOINTER, 0, 0);\n\n// now a wrapper to call Scintilla directly\nsptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){\n    return pSciMsg(pSciWndData, iMessage, wParam, lParam);\n}\n</pre>\n\n    <p><code>SciFnDirect</code>, <code>sptr_t</code> and <code>uptr_t</code> are declared in\n    <code>Scintilla.h</code>. <code class=\"parameter\">hSciWnd</code> is the window handle returned when you created\n    the Scintilla window.</p>\n\n    <p>While faster, this direct calling will cause problems if performed from a different thread\n    to the native thread of the Scintilla window in which case <code>SendMessage(hSciWnd, SCI_*,\n    wParam, lParam)</code> should be used to synchronize with the window's thread.</p>\n\n    <p>This feature also works on GTK+ but has no significant impact on speed.</p>\n\n    <p>From version 1.47 on Windows, Scintilla exports a function called\n    <code>Scintilla_DirectFunction</code> that can be used the same as the function returned by\n    <code>SCI_GETDIRECTFUNCTION</code>. This saves you the call to\n    <code>SCI_GETDIRECTFUNCTION</code> and the need to call Scintilla indirectly via the function\n    pointer.</p>\n\n    <p><b id=\"SCI_GETDIRECTFUNCTION\">SCI_GETDIRECTFUNCTION &rarr; int</b><br />\n     This message returns the address of the function to call to handle Scintilla messages without\n    the overhead of passing through the Windows messaging system. You need only call this once,\n    regardless of the number of Scintilla windows you create.</p>\n\n    <p><b id=\"SCI_GETDIRECTPOINTER\">SCI_GETDIRECTPOINTER &rarr; int</b><br />\n     This returns a pointer to data that identifies which Scintilla window is in use. You must call\n    this once for each Scintilla window you create. When you call the direct function, you must\n    pass in the direct pointer associated with the target window.</p>\n\n    <p><b id=\"SCI_GETCHARACTERPOINTER\">SCI_GETCHARACTERPOINTER &rarr; int</b><br />\n    <b id=\"SCI_GETRANGEPOINTER\">SCI_GETRANGEPOINTER(int start, int lengthRange) &rarr; int</b><br />\n    <b id=\"SCI_GETGAPPOSITION\">SCI_GETGAPPOSITION &rarr; position</b><br />\n     Grant temporary direct read-only access to the memory used by Scintilla to store\n     the document.</p>\n     <p><code>SCI_GETCHARACTERPOINTER</code> moves the gap within Scintilla so that the\n     text of the document is stored consecutively\n     and ensure there is a NUL character after the text, then returns a pointer to the first character.\n     Applications may then pass this to a function that accepts a character pointer such as a regular\n     expression search or a parser. The pointer should <em>not</em> be written to as that may desynchronize\n     the internal state of Scintilla.</p>\n     <p>Since any action in Scintilla may change its internal state\n     this pointer becomes invalid after any call or by allowing user interface activity. The application\n     should reacquire the pointer after making any call to Scintilla or performing any user-interface calls such\n     as modifying a progress indicator.</p>\n     <p>This call takes similar time to inserting a character at the end of the document and this may\n     include moving the document contents. Specifically, all the characters after the document gap\n     are moved to before the gap. This compacted state should persist over calls and user interface\n     actions that do not change the document contents so reacquiring the pointer afterwards is very\n     quick. If this call is used to implement a global replace operation, then each replacement will\n     move the gap so if <code>SCI_GETCHARACTERPOINTER</code> is called after\n     each replacement then the operation will become O(n^2) rather than O(n). Instead, all\n     matches should be found and remembered, then all the replacements performed.</p>\n\n     <p><code>SCI_GETRANGEPOINTER</code> provides direct access to just the\n     range requested. The gap is not moved unless it is within the requested range so this call\n     can be faster than <code>SCI_GETCHARACTERPOINTER</code>.\n     This can be used by application code that is able to act on blocks of text or ranges of lines.</p>\n\n     <p><code>SCI_GETGAPPOSITION</code> returns the current gap position.\n     This is a hint that applications can use to avoid calling <code>SCI_GETRANGEPOINTER</code>\n     with a range that contains the gap and consequent costs of moving the gap.</p>\n\n    <h2 id=\"MultipleViews\">Multiple views</h2>\n\n    <p>A Scintilla window and the document that it displays are separate entities. When you create\n    a new window, you also create a new, empty document. Each document has a reference count that\n    is initially set to 1. The document also has a list of the Scintilla windows that are linked to\n    it so when any window changes the document, all other windows in which it appears are notified\n    to cause them to update. The system is arranged in this way so that you can work with many\n    documents in a single Scintilla window and so you can display a single document in multiple\n    windows (for use with splitter windows).</p>\n\n    <p>Although these messages use <code>document *doc</code>, to ensure compatibility with future\n    releases of Scintilla you should treat <code class=\"parameter\">doc</code> as an opaque <code>void*</code>. That\n    is, you can use and store the pointer as described in this section but you should not\n    dereference it.</p>\n    <code><a class=\"message\" href=\"#SCI_GETDOCPOINTER\">SCI_GETDOCPOINTER &rarr; document *</a><br />\n     <a class=\"message\" href=\"#SCI_SETDOCPOINTER\">SCI_SETDOCPOINTER(&lt;unused&gt;, document\n    *doc)</a><br />\n     <a class=\"message\" href=\"#SCI_CREATEDOCUMENT\">SCI_CREATEDOCUMENT(int bytes, int documentOptions) &rarr; document *</a><br />\n     <a class=\"message\" href=\"#SCI_ADDREFDOCUMENT\">SCI_ADDREFDOCUMENT(&lt;unused&gt;, document\n    *doc)</a><br />\n     <a class=\"message\" href=\"#SCI_RELEASEDOCUMENT\">SCI_RELEASEDOCUMENT(&lt;unused&gt;, document\n    *doc)</a><br />\n     <a class=\"message\" href=\"#SCI_GETDOCUMENTOPTIONS\">SCI_GETDOCUMENTOPTIONS &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_GETDOCPOINTER\">SCI_GETDOCPOINTER &rarr; document *</b><br />\n     This returns a pointer to the document currently in use by the window. It has no other\n    effect.</p>\n\n    <p><b id=\"SCI_SETDOCPOINTER\">SCI_SETDOCPOINTER(&lt;unused&gt;, document *doc)</b><br />\n     This message does the following:<br />\n     1. It removes the current window from the list held by the current document.<br />\n     2. It reduces the reference count of the current document by 1.<br />\n     3. If the reference count reaches 0, the document is deleted.<br />\n     4. <code class=\"parameter\">doc</code> is set as the new document for the window.<br />\n     5. If <code class=\"parameter\">doc</code> was 0, a new, empty document is created and attached to the\n    window.<br />\n     6. If <code class=\"parameter\">doc</code> was not 0, its reference count is increased by 1.</p>\n\n    <p><b id=\"SCI_CREATEDOCUMENT\">SCI_CREATEDOCUMENT(int bytes, int documentOptions) &rarr; document *</b><br />\n     This message creates a new, empty document and returns a pointer to it. This document is not\n     selected into the editor and starts with a reference count of 1. This means that you have\n     ownership of it and must either reduce its reference count by 1 after using\n    <code>SCI_SETDOCPOINTER</code> so that the Scintilla window owns it or you must make sure that\n     you reduce the reference count by 1 with <code>SCI_RELEASEDOCUMENT</code> before you close the\n     application to avoid memory leaks. The <code class=\"parameter\">bytes</code> argument determines\n     the initial memory allocation for the document as it is more efficient\n     to allocate once rather than rely on the buffer growing as data is added.\n     If <code>SCI_CREATEDOCUMENT</code> fails then 0 is returned.</p>\n\n    <p id=\"documentOptions\">The <code class=\"parameter\">documentOptions</code> argument\n    chooses between different document capabilities which affect memory allocation and performance with\n    <code>SC_DOCUMENTOPTION_DEFAULT</code> (0) choosing standard options.\n    <code>SC_DOCUMENTOPTION_STYLES_NONE</code> (0x1) stops allocation of memory to style characters\n    which saves significant memory, often 40% with the whole document treated as being style 0.\n    Lexers may still produce visual styling by using indicators.\n    <span class=\"provisional\"><code>SC_DOCUMENTOPTION_TEXT_LARGE</code> (0x100) accomodates documents larger than 2 GigaBytes\n    in 64-bit executables.</span>\n    </p>\n\n    <p>With <code>SC_DOCUMENTOPTION_STYLES_NONE</code>, lexers are still active and may display\n    indicators. Some may produce folding information althoough most require lexical styles to correctly determine folding.\n    Its often more efficient to set the null lexer <code>SCLEX_NULL</code> so no lexer is run.\n    </p>\n\n    <p class=\"provisional\">The <code>SC_DOCUMENTOPTION_TEXT_LARGE</code> option is experimental and has not been\n    thoroughly tested. Lexers may fail or hang when lexing past 2GB or 4GB.\n    Applications using this option should be tested to ensure the option works in their circumstances and each lexer\n    included should also be tested with documents larger than 4GB.\n    For many applications lexing documents larger than 4GB will be too sluggish so <code>SC_DOCUMENTOPTION_STYLES_NONE</code>\n    and the null lexer <code>SCLEX_NULL</code> can be used. Another approach is to turn on idle styling with\n    <a class=\"seealso\" href=\"#SCI_SETIDLESTYLING\"><code>SCI_SETIDLESTYLING</code></a>.\n    </p>\n\n    <table class=\"standard\" summary=\"Document options\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th align=\"left\">Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n\n        <tr>\n          <td align=\"left\">SC_DOCUMENTOPTION_DEFAULT</td>\n          <td align=\"left\">0</td>\n          <td align=\"left\">Standard behaviour</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_DOCUMENTOPTION_STYLES_NONE</td>\n          <td align=\"left\">0x1</td>\n          <td align=\"left\">Stop allocation of memory for styles and treat all text as style 0.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\" class=\"provisional\">SC_DOCUMENTOPTION_TEXT_LARGE</td>\n          <td align=\"left\">0x100</td>\n          <td align=\"left\">Allow document to be larger than 2 GB.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_ADDREFDOCUMENT\">SCI_ADDREFDOCUMENT(&lt;unused&gt;, document *doc)</b><br />\n     This increases the reference count of a document by 1. If you want to replace the current\n    document in the Scintilla window and take ownership of the current document, for example if you\n    are editing many documents in one window, do the following:<br />\n     1. Use <code>SCI_GETDOCPOINTER</code> to get a pointer to the document,\n    <code class=\"parameter\">doc</code>.<br />\n     2. Use <code>SCI_ADDREFDOCUMENT(0, doc)</code> to increment the reference count.<br />\n     3. Use <code>SCI_SETDOCPOINTER(0, docNew)</code> to set a different document or\n    <code>SCI_SETDOCPOINTER(0, 0)</code> to set a new, empty document.</p>\n\n    <p><b id=\"SCI_RELEASEDOCUMENT\">SCI_RELEASEDOCUMENT(&lt;unused&gt;, document *doc)</b><br />\n     This message reduces the reference count of the document identified by <code class=\"parameter\">doc</code>. doc\n    must be the result of <code>SCI_GETDOCPOINTER</code> or <code>SCI_CREATEDOCUMENT</code> and\n    must point at a document that still exists. If you call this on a document with a reference\n    count of 1 that is still attached to a Scintilla window, bad things will happen. To keep the\n    world spinning in its orbit you must balance each call to <code>SCI_CREATEDOCUMENT</code> or\n    <code>SCI_ADDREFDOCUMENT</code> with a call to <code>SCI_RELEASEDOCUMENT</code>.</p>\n\n    <p><b id=\"SCI_GETDOCUMENTOPTIONS\">SCI_GETDOCUMENTOPTIONS &rarr; int</b><br />\n     Returns the options that were used to create the document.</p>\n\n    <h2 id=\"BackgroundLoadSave\">Background loading and saving</h2>\n\n    <p>To ensure a responsive user interface, applications may decide to load and save documents using a separate thread\n    from the user interface.</p>\n\n    <h3 id=\"BackgroundLoad\">Loading in the background</h3>\n\n    <code><a class=\"message\" href=\"#SCI_CREATELOADER\">SCI_CREATELOADER(int bytes, int documentOptions) &rarr; int</a><br />\n    </code>\n\n    <p>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\n    into a Scintilla document on the user interface thread. That technique uses extra memory to store a complete copy of the\n    file and also means that the time that Scintilla takes to perform initial line end discovery blocks the user interface.</p>\n\n    <p>To avoid these issues, a loader object may be created and used to load the file. The loader object supports the ILoader interface.</p>\n\n    <p><b id=\"SCI_CREATELOADER\">SCI_CREATELOADER(int bytes, int documentOptions) &rarr; int</b><br />\n     Create an object that supports the <code>ILoader</code> interface which can be used to load data and then\n     be turned into a Scintilla document object for attachment to a view object.\n     The <code class=\"parameter\">bytes</code> argument determines the initial memory allocation for the document as it is more efficient\n     to allocate once rather than rely on the buffer growing as data is added.\n     If <code>SCI_CREATELOADER</code> fails then 0 is returned.</p>\n\n    <p>The <code class=\"parameter\">documentOptions</code> argument\n    is described in the <a class=\"seealso\" href=\"#documentOptions\"><code>SCI_CREATEDOCUMENT</code></a> section.</p>\n\n<h4>ILoader</h4>\n\n<div class=\"highlighted\">\n<span class=\"S5\">class</span><span class=\"S0\"> </span>ILoader<span class=\"S0\"> </span><span class=\"S10\">{</span><br />\n<span class=\"S5\">public</span><span class=\"S10\">:</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>Release<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S2\">// Returns a status code from SC_STATUS_*</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>AddData<span class=\"S10\">(</span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>data<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>length<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>ConvertToDocument<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S10\">};</span><br />\n</div>\n\n    <p>The application should call the <code>AddData</code> method with each block of data read from the file.\n    <code>AddData</code> will return SC_STATUS_OK unless a failure, such as memory exhaustion occurs.\n    If a failure occurs in <code>AddData</code> or in a file reading call then loading can be abandoned and the loader released with\n    the <code>Release</code> call.\n    When the whole file has been read, <code>ConvertToDocument</code> should be called to produce a Scintilla\n    document pointer. The newly created document will have a reference count of 1 in the same way as a document pointer\n    returned from\n    <a class=\"seealso\" href=\"#SCI_CREATEDOCUMENT\">SCI_CREATEDOCUMENT</a>.\n    There is no need to call <code>Release</code> after <code>ConvertToDocument</code>.</p>\n\n    <h3 id=\"BackgroundSave\">Saving in the background</h3>\n\n    <p>An application that wants to save in the background should lock the document with <code>SCI_SETREADONLY(1)</code>\n    to prevent modifications and retrieve a pointer to the unified document contents with\n    <a class=\"seealso\" href=\"#SCI_GETCHARACTERPOINTER\">SCI_GETCHARACTERPOINTER</a>.\n    The buffer of a locked document will not move so the pointer is valid until the application calls <code>SCI_SETREADONLY(0)</code>.</p>\n\n    <p>If the user tries to performs a modification while the document is locked then a <code><a class=\"message\"\n    href=\"#SCN_MODIFYATTEMPTRO\">SCN_MODIFYATTEMPTRO</a></code> notification is sent to the application.\n    The application may then decide to ignore the modification or to terminate the background saving thread and reenable\n    modification before returning from the notification.</p>\n\n    <h2 id=\"Folding\">Folding</h2>\n\n    <p>The fundamental operation in folding is making lines invisible or visible. Line visibility\n    is a property of the view rather than the document so each view may be displaying a different\n    set of lines. From the point of view of the user, lines are hidden and displayed using fold\n    points. Generally, the fold points of a document are based on the hierarchical structure of the\n    document contents. In Python, the hierarchy is determined by indentation and in C++ by brace\n    characters. This hierarchy can be represented within a Scintilla document object by attaching a\n    numeric \"fold level\" to each line. The fold level is most easily set by a lexer, but you can\n    also set it with messages.</p>\n\n    <p>It is up to your code to set the connection between user actions and folding and unfolding.\n    The best way to see how this is done is to search the SciTE source code for the messages used\n    in this section of the documentation and see how they are used. You will also need to use\n    markers and a folding margin to complete your folding implementation.\n    The <code>\"fold\"</code> property should be set to <code>\"1\"</code> with\n    <code>SCI_SETPROPERTY(\"fold\", \"1\")</code> to enable folding. </p>\n    <code><a class=\"message\" href=\"#SCI_VISIBLEFROMDOCLINE\">SCI_VISIBLEFROMDOCLINE(int docLine) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_DOCLINEFROMVISIBLE\">SCI_DOCLINEFROMVISIBLE(int displayLine) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SHOWLINES\">SCI_SHOWLINES(int lineStart, int lineEnd)</a><br />\n     <a class=\"message\" href=\"#SCI_HIDELINES\">SCI_HIDELINES(int lineStart, int lineEnd)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLINEVISIBLE\">SCI_GETLINEVISIBLE(int line) &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_GETALLLINESVISIBLE\">SCI_GETALLLINESVISIBLE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETFOLDLEVEL\">SCI_SETFOLDLEVEL(int line, int level)</a><br />\n     <a class=\"message\" href=\"#SCI_GETFOLDLEVEL\">SCI_GETFOLDLEVEL(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETAUTOMATICFOLD\">SCI_SETAUTOMATICFOLD(int automaticFold)</a><br />\n     <a class=\"message\" href=\"#SCI_GETAUTOMATICFOLD\">SCI_GETAUTOMATICFOLD &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETFOLDFLAGS\">SCI_SETFOLDFLAGS(int flags)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLASTCHILD\">SCI_GETLASTCHILD(int line, int level) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETFOLDPARENT\">SCI_GETFOLDPARENT(int line) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETFOLDEXPANDED\">SCI_SETFOLDEXPANDED(int line, bool\n    expanded)</a><br />\n     <a class=\"message\" href=\"#SCI_GETFOLDEXPANDED\">SCI_GETFOLDEXPANDED(int line) &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_CONTRACTEDFOLDNEXT\">SCI_CONTRACTEDFOLDNEXT(int lineStart) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_TOGGLEFOLD\">SCI_TOGGLEFOLD(int line)</a><br />\n     <a class=\"message\" href=\"#SCI_TOGGLEFOLDSHOWTEXT\">SCI_TOGGLEFOLDSHOWTEXT(int line, const char *text)</a><br />\n     <a class=\"message\" href=\"#SCI_FOLDDISPLAYTEXTSETSTYLE\">SCI_FOLDDISPLAYTEXTSETSTYLE(int style)</a><br />\n     <a class=\"message\" href=\"#SCI_FOLDLINE\">SCI_FOLDLINE(int line, int action)</a><br />\n     <a class=\"message\" href=\"#SCI_FOLDCHILDREN\">SCI_FOLDCHILDREN(int line, int action)</a><br />\n     <a class=\"message\" href=\"#SCI_FOLDALL\">SCI_FOLDALL(int action)</a><br />\n     <a class=\"message\" href=\"#SCI_EXPANDCHILDREN\">SCI_EXPANDCHILDREN(int line, int level)</a><br />\n     <a class=\"message\" href=\"#SCI_ENSUREVISIBLE\">SCI_ENSUREVISIBLE(int line)</a><br />\n     <a class=\"message\" href=\"#SCI_ENSUREVISIBLEENFORCEPOLICY\">SCI_ENSUREVISIBLEENFORCEPOLICY(int\n    line)</a><br />\n    </code>\n\n    <p><b id=\"SCI_VISIBLEFROMDOCLINE\">SCI_VISIBLEFROMDOCLINE(int docLine) &rarr; int</b><br />\n     When some lines are hidden and/or annotations are displayed, then a particular line in the\n     document may be displayed at a\n    different position to its document position. If no lines are hidden and there are no annotations,\n    this message returns\n    <code class=\"parameter\">docLine</code>. Otherwise, this returns the display line (counting the very first visible\n    line as 0). The display line of an invisible line is the same as the previous visible line. The\n    display line number of the first line in the document is 0. If lines are hidden and\n    <code class=\"parameter\">docLine</code> is outside the range of lines in the document, the return value is -1.\n    Lines can occupy more than one display line if they wrap.</p>\n\n    <p><b id=\"SCI_DOCLINEFROMVISIBLE\">SCI_DOCLINEFROMVISIBLE(int displayLine) &rarr; int</b><br />\n     When some lines are hidden and/or annotations are displayed, then a particular line in the\n     document may be displayed at a\n    different position to its document position. This message returns the document line number that\n    corresponds to a display line (counting the display line of the first line in the document as\n    0). If <code class=\"parameter\">displayLine</code> is less than or equal to 0, the result is 0. If\n    <code class=\"parameter\">displayLine</code> is greater than or equal to the number of displayed lines, the result\n    is the number of lines in the document.</p>\n\n    <p><b id=\"SCI_SHOWLINES\">SCI_SHOWLINES(int lineStart, int lineEnd)</b><br />\n     <b id=\"SCI_HIDELINES\">SCI_HIDELINES(int lineStart, int lineEnd)</b><br />\n     <b id=\"SCI_GETLINEVISIBLE\">SCI_GETLINEVISIBLE(int line) &rarr; bool</b><br />\n     <b id=\"SCI_GETALLLINESVISIBLE\">SCI_GETALLLINESVISIBLE &rarr; bool</b><br />\n     The first two messages mark a range of lines as visible or invisible and then redraw the\n    display.\n    <code>SCI_GETLINEVISIBLE</code> reports on the visible state of a line and returns 1 if it is\n    visible and 0 if it is not visible.\n    <code>SCI_GETALLLINESVISIBLE</code> returns 1 if all lines are visible and 0\n    if some lines are hidden.\n    These messages have no effect on fold levels or fold\n    flags. The first line can not be hidden.</p>\n\n    <p><b id=\"SCI_SETFOLDLEVEL\">SCI_SETFOLDLEVEL(int line, int level)</b><br />\n     <b id=\"SCI_GETFOLDLEVEL\">SCI_GETFOLDLEVEL(int line) &rarr; int</b><br />\n     These two messages set and get a 32-bit value that contains the fold level of a line and some\n    flags associated with folding. The fold level is a number in the range 0 to\n    <code>SC_FOLDLEVELNUMBERMASK</code> (0x0FFF). However, the initial fold level is set to\n    <code>SC_FOLDLEVELBASE</code> (0x400) to allow unsigned arithmetic on folding levels. There are\n    two addition flag bits. <code>SC_FOLDLEVELWHITEFLAG</code> indicates that the line is blank and\n    allows it to be treated slightly different then its level may indicate. For example, blank\n    lines should generally not be fold points and will be considered part of the preceding section even though\n    they may have a lesser fold level.\n    <code>SC_FOLDLEVELHEADERFLAG</code> indicates that\n    the line is a header (fold point).</p>\n\n    <p>Use <code>SCI_GETFOLDLEVEL(line) &amp; SC_FOLDLEVELNUMBERMASK</code> to get the fold level\n    of a line. Likewise, use <code>SCI_GETFOLDLEVEL(line) &amp; SC_FOLDLEVEL*FLAG</code> to get the\n    state of the flags. To set the fold level you must or in the associated flags. For instance, to\n    set the level to <code>thisLevel</code> and mark a line as being a fold point use:\n    <code>SCI_SETFOLDLEVEL(line, thisLevel | SC_FOLDLEVELHEADERFLAG)</code>.</p>\n    If you use a lexer, you should not need to use <code>SCI_SETFOLDLEVEL</code> as this is far\n    better handled by the lexer. You will need to use <code>SCI_GETFOLDLEVEL</code> to decide how\n    to handle user folding requests. If you do change the fold levels, the folding margin will\n    update to match your changes.\n\n    <p><b id=\"SCI_SETFOLDFLAGS\">SCI_SETFOLDFLAGS(int flags)</b><br />\n     In addition to showing markers in the folding margin, you can indicate folds to the user by\n    drawing lines in the text area. The lines are drawn in the foreground colour set for <a\n    class=\"message\" href=\"#StyleDefinition\"><code>STYLE_DEFAULT</code></a>. Bits set in\n    <code class=\"parameter\">flags</code> determine where folding lines are drawn:<br />\n    </p>\n\n    <table class=\"standard\" summary=\"Fold flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th align=\"left\">Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"></td>\n          <td align=\"left\">1</td>\n          <td align=\"left\">Experimental feature that has been removed.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDFLAG_LINEBEFORE_EXPANDED</td>\n          <td align=\"left\">2</td>\n\n          <td align=\"left\">Draw above if expanded</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDFLAG_LINEBEFORE_CONTRACTED</td>\n          <td align=\"left\">4</td>\n\n          <td align=\"left\">Draw above if not expanded</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDFLAG_LINEAFTER_EXPANDED</td>\n          <td align=\"left\">8</td>\n\n          <td align=\"left\">Draw below if expanded</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDFLAG_LINEAFTER_CONTRACTED</td>\n          <td align=\"left\">16</td>\n\n          <td align=\"left\">Draw below if not expanded</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDFLAG_LEVELNUMBERS</td>\n          <td align=\"left\">64</td>\n\n          <td align=\"left\">display hexadecimal fold levels in line margin to aid debugging of\n          folding. The appearance of this feature may change in the future.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDFLAG_LINESTATE</td>\n          <td align=\"left\">128</td>\n\n          <td align=\"left\">display hexadecimal line state in line margin to aid debugging of lexing and folding.\n\t  May not be used at the same time as <code>SC_FOLDFLAG_LEVELNUMBERS</code>.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>This message causes the display to redraw.</p>\n\n    <p><b id=\"SCI_GETLASTCHILD\">SCI_GETLASTCHILD(int line, int level) &rarr; int</b><br />\n     This message searches for the next line after <code class=\"parameter\">line</code>, that has a folding level\n    that is less than or equal to <code class=\"parameter\">level</code> and then returns the previous line number. If\n    you set <code class=\"parameter\">level</code> to -1, <code class=\"parameter\">level</code> is set to the folding level of line\n    <code class=\"parameter\">line</code>. If <code>from</code> is a fold point, <code>SCI_GETLASTCHILD(from,\n    -1)</code> returns the last line that would be in made visible or hidden by toggling the fold\n    state.</p>\n\n    <p><b id=\"SCI_GETFOLDPARENT\">SCI_GETFOLDPARENT(int line) &rarr; int</b><br />\n     This message returns the line number of the first line before <code class=\"parameter\">line</code> that is\n    marked as a fold point with <code>SC_FOLDLEVELHEADERFLAG</code> and has a fold level less than\n    the <code class=\"parameter\">line</code>. If no line is found, or if the header flags and fold levels are\n    inconsistent, the return value is -1.</p>\n\n    <p><b id=\"SCI_TOGGLEFOLD\">SCI_TOGGLEFOLD(int line)</b><br />\n    <b id=\"SCI_TOGGLEFOLDSHOWTEXT\">SCI_TOGGLEFOLDSHOWTEXT(int line, const char *text)</b><br />\n     Each fold point may be either expanded, displaying all its child lines, or contracted, hiding\n    all the child lines. These messages toggle the folding state of the given line as long as it has\n    the <code>SC_FOLDLEVELHEADERFLAG</code> set. These messages take care of folding or expanding\n    all the lines that depend on the line. The display updates after this message.</p>\n    <p>An optional text tag may be shown to the right of the folded text with the\n    <code class=\"parameter\">text</code> argument to\n    <code>SCI_TOGGLEFOLDSHOWTEXT</code>.\n    The text is drawn with the\n    <code><a class=\"message\" href=\"#StyleDefinition\">STYLE_FOLDDISPLAYTEXT</a></code> style.</p>\n\n    <p><b id=\"SCI_FOLDDISPLAYTEXTSETSTYLE\">SCI_FOLDDISPLAYTEXTSETSTYLE(int style)</b><br />\n    This message changes the appearance of fold text tags.</p>\n    <table class=\"standard\" summary=\"Fold flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th align=\"left\">Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\">SC_FOLDDISPLAYTEXT_HIDDEN</td>\n          <td align=\"left\">0</td>\n          <td align=\"left\">Do not display the text tags. This is the default.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDDISPLAYTEXT_STANDARD</td>\n          <td align=\"left\">1</td>\n          <td align=\"left\">Display the text tags.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDDISPLAYTEXT_BOXED</td>\n          <td align=\"left\">2</td>\n          <td align=\"left\">Display the text tags with a box drawn around them.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETFOLDEXPANDED\">SCI_SETFOLDEXPANDED(int line, bool expanded)</b><br />\n     <b id=\"SCI_GETFOLDEXPANDED\">SCI_GETFOLDEXPANDED(int line) &rarr; bool</b><br />\n     These messages set and get the expanded state of a single line. The set message has no effect\n    on the visible state of the line or any lines that depend on it. It does change the markers in\n    the folding margin. If you ask for the expansion state of a line that is outside the document,\n    the result is <code>false</code> (0).</p>\n\n    <p>If you just want to toggle the fold state of one line and handle all the lines that are\n    dependent on it, it is much easier to use <code>SCI_TOGGLEFOLD</code>. You would use the\n    <code>SCI_SETFOLDEXPANDED</code> message to process many folds without updating the display\n    until you had finished. See <code>SciTEBase::FoldAll()</code> and\n    <code>SciTEBase::Expand()</code> for examples of the use of these messages.</p>\n\n    <p><b id=\"SCI_FOLDLINE\">SCI_FOLDLINE(int line, int action)</b><br />\n    <b id=\"SCI_FOLDCHILDREN\">SCI_FOLDCHILDREN(int line, int action)</b><br />\n    <b id=\"SCI_FOLDALL\">SCI_FOLDALL(int action)</b><br />\n    These messages provide a higher-level approach to folding instead of setting expanded flags and showing\n    or hiding individual lines.</p>\n    <p>An individual fold can be contracted/expanded/toggled with <code>SCI_FOLDLINE</code>.\n    To affect all child folds as well call <code>SCI_FOLDCHILDREN</code>.</p>\n    <p>To affect the entire document call <code>SCI_FOLDALL</code>. With <code>SC_FOLDACTION_TOGGLE</code>\n    the first fold header in the document is examined to decide whether to expand or contract.\n    </p>\n    <table class=\"standard\" summary=\"Fold flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th align=\"left\">Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\">SC_FOLDACTION_CONTRACT</td>\n          <td align=\"left\">0</td>\n          <td align=\"left\">Contract.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDACTION_EXPAND</td>\n          <td align=\"left\">1</td>\n          <td align=\"left\">Expand.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_FOLDACTION_TOGGLE</td>\n          <td align=\"left\">2</td>\n          <td align=\"left\">Toggle between contracted and expanded.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_EXPANDCHILDREN\">SCI_EXPANDCHILDREN(int line, int level)</b><br />\n    This is used to respond to a change to a line causing its fold level or whether it is a header to change,\n    perhaps when adding or removing a '{'.</p>\n    <p>By the time the container has received the notification that the line has changed,\n    the fold level has already been set, so the container has to use the previous level in this call\n    so that any range hidden underneath this line can be shown.\n    </p>\n\n    <p><b id=\"SCI_SETAUTOMATICFOLD\">SCI_SETAUTOMATICFOLD(int automaticFold)</b><br />\n    <b id=\"SCI_GETAUTOMATICFOLD\">SCI_GETAUTOMATICFOLD &rarr; int</b><br />\n    Instead of implementing all the logic for handling folding in the container, Scintilla can provide behaviour\n    that is adequate for many applications. The <code class=\"parameter\">automaticFold</code> argument is a bit set defining\n    which of the 3 pieces of folding implementation should be enabled. Most applications should be able to use the\n    <code>SC_AUTOMATICFOLD_SHOW</code> and <code>SC_AUTOMATICFOLD_CHANGE</code>\n    flags unless they wish to implement quite different behaviour such as defining their own fold structure.\n    <code>SC_AUTOMATICFOLD_CLICK</code> is more likely to be set off when an application would\n    like to add or change click behaviour such as showing method headers only when Shift+Alt is used in\n    conjunction with a click.\n    </p>\n    <table class=\"standard\" summary=\"Fold flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th align=\"left\">Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\">SC_AUTOMATICFOLD_SHOW</td>\n          <td align=\"left\">1</td>\n          <td align=\"left\">Automatically show lines as needed.\n          This avoids sending the <code>SCN_NEEDSHOWN</code> notification.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_AUTOMATICFOLD_CLICK</td>\n          <td align=\"left\">2</td>\n          <td align=\"left\">Handle clicks in fold margin automatically.\n          This avoids sending the <code>SCN_MARGINCLICK</code> notification for folding margins.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\">SC_AUTOMATICFOLD_CHANGE</td>\n          <td align=\"left\">4</td>\n          <td align=\"left\">Show lines as needed when fold structure is changed.\n          The <code>SCN_MODIFIED</code> notification is still sent unless it is disabled by the\n          container.</td>\n        </tr>\n\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_CONTRACTEDFOLDNEXT\">SCI_CONTRACTEDFOLDNEXT(int lineStart) &rarr; int</b><br />\n     Search efficiently for lines that are contracted fold headers.\n     This is useful when saving the user's folding when switching documents or saving folding with a file.\n     The search starts at line number <code class=\"parameter\">lineStart</code> and continues forwards to the end of the file.\n     <code class=\"parameter\">lineStart</code> is returned if it is a contracted fold header otherwise the next contracted\n     fold header is returned. If there are no more contracted fold headers then -1 is returned.</p>\n\n    <p><b id=\"SCI_ENSUREVISIBLE\">SCI_ENSUREVISIBLE(int line)</b><br />\n     <b id=\"SCI_ENSUREVISIBLEENFORCEPOLICY\">SCI_ENSUREVISIBLEENFORCEPOLICY(int line)</b><br />\n     A line may be hidden because more than one of its parent lines is contracted. Both these\n    message travels up the fold hierarchy, expanding any contracted folds until they reach the top\n    level. The line will then be visible. If you use <code>SCI_ENSUREVISIBLEENFORCEPOLICY</code>,\n    the vertical caret policy set by <a class=\"message\"\n    href=\"#SCI_SETVISIBLEPOLICY\"><code>SCI_SETVISIBLEPOLICY</code></a> is then applied.</p>\n\n    <h2 id=\"LineWrapping\">Line wrapping</h2>\n\n    <code><a class=\"message\" href=\"#SCI_SETWRAPMODE\">SCI_SETWRAPMODE(int wrapMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWRAPMODE\">SCI_GETWRAPMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETWRAPVISUALFLAGS\">SCI_SETWRAPVISUALFLAGS(int wrapVisualFlags)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWRAPVISUALFLAGS\">SCI_GETWRAPVISUALFLAGS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETWRAPVISUALFLAGSLOCATION\">SCI_SETWRAPVISUALFLAGSLOCATION(int wrapVisualFlagsLocation)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWRAPVISUALFLAGSLOCATION\">SCI_GETWRAPVISUALFLAGSLOCATION &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETWRAPINDENTMODE\">SCI_SETWRAPINDENTMODE(int wrapIndentMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWRAPINDENTMODE\">SCI_GETWRAPINDENTMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETWRAPSTARTINDENT\">SCI_SETWRAPSTARTINDENT(int indent)</a><br />\n     <a class=\"message\" href=\"#SCI_GETWRAPSTARTINDENT\">SCI_GETWRAPSTARTINDENT &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETLAYOUTCACHE\">SCI_SETLAYOUTCACHE(int cacheMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLAYOUTCACHE\">SCI_GETLAYOUTCACHE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETPOSITIONCACHE\">SCI_SETPOSITIONCACHE(int size)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPOSITIONCACHE\">SCI_GETPOSITIONCACHE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_LINESSPLIT\">SCI_LINESSPLIT(int pixelWidth)</a><br />\n     <a class=\"message\" href=\"#SCI_LINESJOIN\">SCI_LINESJOIN</a><br />\n     <a class=\"message\" href=\"#SCI_WRAPCOUNT\">SCI_WRAPCOUNT(int docLine) &rarr; int</a><br />\n    </code>\n\n    <p>By default, Scintilla does not wrap lines of text. If you enable line wrapping, lines wider\n    than the window width are continued on the following lines. Lines are broken after space or tab\n    characters or between runs of different styles. If this is not possible because a word in one\n    style is wider than the window then the break occurs after the last character that completely\n    fits on the line. The horizontal scroll bar does not appear when wrap mode is on.</p>\n\n        <p>For wrapped lines Scintilla can draw visual flags (little arrows) at end of a a subline of a\n        wrapped line and at begin of the next subline. These can be enabled individually, but if Scintilla\n        draws the visual flag at the beginning of the next subline this subline will be indented by one char.\n        Independent from drawing a visual flag at the begin the subline can have an indention.</p>\n\n    <p>Much of the time used by Scintilla is spent on laying out and drawing text. The same text\n    layout calculations may be performed many times even when the data used in these calculations\n    does not change. To avoid these unnecessary calculations in some circumstances, the line layout\n    cache can store the results of the calculations. The cache is invalidated whenever the\n    underlying data, such as the contents or styling of the document changes. Caching the layout of\n    the whole document has the most effect, making dynamic line wrap as much as 20 times faster but\n    this requires 7 times the memory required by the document contents plus around 80 bytes per\n    line.</p>\n\n    <p>Wrapping is not performed immediately there is a change but is delayed until the display\n    is redrawn. This delay improves performance by allowing a set of changes to be performed\n    and then wrapped and displayed once. Because of this, some operations may not occur as\n    expected. If a file is read and the scroll position moved to a particular line in the text,\n    such as occurs when a container tries to restore a previous editing session, then\n    the scroll position will have been determined before wrapping so an unexpected range\n    of text will be displayed. To scroll to the position correctly, delay the scroll until the\n    wrapping has been performed by waiting for an initial\n    <a class=\"message\" href=\"#SCN_PAINTED\">SCN_PAINTED</a> notification.</p>\n\n    <p><b id=\"SCI_SETWRAPMODE\">SCI_SETWRAPMODE(int wrapMode)</b><br />\n     <b id=\"SCI_GETWRAPMODE\">SCI_GETWRAPMODE &rarr; int</b><br />\n     Set wrapMode to <code>SC_WRAP_WORD</code> (1) to enable wrapping\n     on word or style boundaries, <code>SC_WRAP_CHAR</code> (2) to enable wrapping\n     between any characters, <code>SC_WRAP_WHITESPACE</code> (3) to enable\n     wrapping on whitespace, and <code>SC_WRAP_NONE</code> (0) to disable line\n     wrapping. <code>SC_WRAP_CHAR</code> is preferred for Asian languages where\n     there is no white space between words.\n    </p>\n\n\n    <p><b id=\"SCI_SETWRAPVISUALFLAGS\">SCI_SETWRAPVISUALFLAGS(int wrapVisualFlags)</b><br />\n     <b id=\"SCI_GETWRAPVISUALFLAGS\">SCI_GETWRAPVISUALFLAGS &rarr; int</b><br />\n                You can enable the drawing of visual flags to indicate a line is wrapped. Bits set in\n                wrapVisualFlags determine which visual flags are drawn.\n    </p>\n    <table class=\"standard\" summary=\"Wrap visual flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th>Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAG_NONE</code></td>\n          <td align=\"center\">0</td>\n          <td>No visual flags</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAG_END</code></td>\n          <td align=\"center\">1</td>\n          <td>Visual flag at end of subline of a wrapped line.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAG_START</code></td>\n          <td align=\"center\">2</td>\n          <td>Visual flag at begin of subline of a wrapped line.<br />\n                                             Subline is indented by at least 1 to make room for the flag.<br />\n                                </td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAG_MARGIN</code></td>\n          <td align=\"center\">4</td>\n          <td>Visual flag in line number margin.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETWRAPVISUALFLAGSLOCATION\">SCI_SETWRAPVISUALFLAGSLOCATION(int wrapVisualFlagsLocation)</b><br />\n     <b id=\"SCI_GETWRAPVISUALFLAGSLOCATION\">SCI_GETWRAPVISUALFLAGSLOCATION &rarr; int</b><br />\n                You can set whether the visual flags to indicate a line is wrapped are drawn near the border or near the text.\n                Bits set in wrapVisualFlagsLocation set the location to near the text for the corresponding visual flag.\n    </p>\n\n    <table class=\"standard\" summary=\"Wrap visual flags locations\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th>Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAGLOC_DEFAULT</code></td>\n          <td align=\"center\">0</td>\n          <td>Visual flags drawn near border</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAGLOC_END_BY_TEXT</code></td>\n          <td align=\"center\">1</td>\n          <td>Visual flag at end of subline drawn near text</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPVISUALFLAGLOC_START_BY_TEXT</code></td>\n          <td align=\"center\">2</td>\n          <td>Visual flag at beginning of subline drawn near text</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETWRAPINDENTMODE\">SCI_SETWRAPINDENTMODE(int wrapIndentMode)</b><br />\n     <b id=\"SCI_GETWRAPINDENTMODE\">SCI_GETWRAPINDENTMODE &rarr; int</b><br />\n                Wrapped sublines can be indented to the position of their first subline or one more indent level.\n\t  The default is <code>SC_WRAPINDENT_FIXED</code>.\n                The modes are:\n    </p>\n\n    <table class=\"standard\" summary=\"Wrap visual flags locations\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n          <th>Value</th>\n          <th align=\"left\">Effect</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_WRAPINDENT_FIXED</code></td>\n          <td align=\"center\">0</td>\n          <td>\n              Wrapped sublines aligned to left of window plus amount set by\n              <a class=\"seealso\" href=\"#SCI_SETWRAPSTARTINDENT\">SCI_SETWRAPSTARTINDENT</a>\n          </td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPINDENT_SAME</code></td>\n          <td align=\"center\">1</td>\n          <td>Wrapped sublines are aligned to first subline indent</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPINDENT_INDENT</code></td>\n          <td align=\"center\">2</td>\n          <td>Wrapped sublines are aligned to first subline indent plus one more level of indentation</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_WRAPINDENT_DEEPINDENT</code></td>\n          <td align=\"center\">3</td>\n          <td>Wrapped sublines are aligned to first subline indent plus two more levels of indentation</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETWRAPSTARTINDENT\">SCI_SETWRAPSTARTINDENT(int indent)</b><br />\n     <b id=\"SCI_GETWRAPSTARTINDENT\">SCI_GETWRAPSTARTINDENT &rarr; int</b><br />\n     <code>SCI_SETWRAPSTARTINDENT</code> sets the size of indentation of sublines for\n                 wrapped lines in terms of the average character width in\n                <a class=\"message\" href=\"#StyleDefinition\"><code>STYLE_DEFAULT</code></a>.\n                There are no limits on indent sizes, but values        less than 0 or large values may have\n                undesirable effects.<br />\n                The indention of sublines is independent of visual flags, but if\n                <code>SC_WRAPVISUALFLAG_START</code> is set an indent of at least 1 is used.\n     </p>\n\n    <p><b id=\"SCI_SETLAYOUTCACHE\">SCI_SETLAYOUTCACHE(int cacheMode)</b><br />\n     <b id=\"SCI_GETLAYOUTCACHE\">SCI_GETLAYOUTCACHE &rarr; int</b><br />\n     You can set <code class=\"parameter\">cacheMode</code> to one of the symbols in the table:</p>\n\n    <table class=\"standard\" summary=\"Line caching styles\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Layout cached for these lines</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_CACHE_NONE</code></td>\n\n          <td align=\"center\">0</td>\n\n          <td>No lines are cached.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_CACHE_CARET</code></td>\n\n          <td align=\"center\">1</td>\n\n          <td>The line containing the text caret. This is the default.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_CACHE_PAGE</code></td>\n\n          <td align=\"center\">2</td>\n\n          <td>Visible lines plus the line containing the caret.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_CACHE_DOCUMENT</code></td>\n\n          <td align=\"center\">3</td>\n\n          <td>All lines in the document.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETPOSITIONCACHE\">SCI_SETPOSITIONCACHE(int size)</b><br />\n     <b id=\"SCI_GETPOSITIONCACHE\">SCI_GETPOSITIONCACHE &rarr; int</b><br />\n     The position cache stores position information for short runs of text\n     so that their layout can be determined more quickly if the run recurs.\n     The size in entries of this cache can be set with <code>SCI_SETPOSITIONCACHE</code>.</p>\n\n    <p><b id=\"SCI_LINESSPLIT\">SCI_LINESSPLIT(int pixelWidth)</b><br />\n     Split a range of lines indicated by the target into lines that are at most pixelWidth wide.\n     Splitting occurs on word boundaries wherever possible in a similar manner to line wrapping.\n     When <code class=\"parameter\">pixelWidth</code> is 0 then the width of the window is used.\n     </p>\n\n    <p><b id=\"SCI_LINESJOIN\">SCI_LINESJOIN</b><br />\n     Join a range of lines indicated by the target into one line by\n     removing line end characters.\n     Where this would lead to no space between words, an extra space is inserted.\n     </p>\n\n    <p><b id=\"SCI_WRAPCOUNT\">SCI_WRAPCOUNT(int docLine) &rarr; int</b><br />\n    Document lines can occupy more than one display line if they wrap and this\n    returns the number of display lines needed to wrap a document line.</p>\n\n    <h2 id=\"Zooming\">Zooming</h2>\n\n    <p>Scintilla incorporates a \"zoom factor\" that lets you make all the text in the document\n    larger or smaller in steps of one point. The displayed point size never goes below 2, whatever\n    zoom factor you set. You can set zoom factors in the range -10 to +20 points.</p>\n    <code><a class=\"message\" href=\"#SCI_ZOOMIN\">SCI_ZOOMIN</a><br />\n     <a class=\"message\" href=\"#SCI_ZOOMOUT\">SCI_ZOOMOUT</a><br />\n     <a class=\"message\" href=\"#SCI_SETZOOM\">SCI_SETZOOM(int zoomInPoints)</a><br />\n     <a class=\"message\" href=\"#SCI_GETZOOM\">SCI_GETZOOM &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_ZOOMIN\">SCI_ZOOMIN</b><br />\n     <b id=\"SCI_ZOOMOUT\">SCI_ZOOMOUT</b><br />\n     <code>SCI_ZOOMIN</code> increases the zoom factor by one point if the current zoom factor is\n    less than 20 points. <code>SCI_ZOOMOUT</code> decreases the zoom factor by one point if the\n    current zoom factor is greater than -10 points.</p>\n\n    <p><b id=\"SCI_SETZOOM\">SCI_SETZOOM(int zoomInPoints)</b><br />\n     <b id=\"SCI_GETZOOM\">SCI_GETZOOM &rarr; int</b><br />\n     These messages let you set and get the zoom factor directly. There is no limit set on the\n    factors you can set, so limiting yourself to -10 to +20 to match the incremental zoom functions\n    is a good idea.</p>\n\n    <h2 id=\"LongLines\">Long lines</h2>\n\n    <p>You can choose to mark lines that exceed a given length by drawing a vertical line or by\n    colouring the background of characters that exceed the set length.</p>\n    <code><a class=\"message\" href=\"#SCI_SETEDGEMODE\">SCI_SETEDGEMODE(int edgeMode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETEDGEMODE\">SCI_GETEDGEMODE &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETEDGECOLUMN\">SCI_SETEDGECOLUMN(int column)</a><br />\n     <a class=\"message\" href=\"#SCI_GETEDGECOLUMN\">SCI_GETEDGECOLUMN &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETEDGECOLOUR\">SCI_SETEDGECOLOUR(colour edgeColour)</a><br />\n     <a class=\"message\" href=\"#SCI_GETEDGECOLOUR\">SCI_GETEDGECOLOUR &rarr; colour</a><br />\n     <br />\n     <a class=\"message\" href=\"#SCI_MULTIEDGEADDLINE\">SCI_MULTIEDGEADDLINE(int column, colour edgeColour)</a><br />\n     <a class=\"message\" href=\"#SCI_MULTIEDGECLEARALL\">SCI_MULTIEDGECLEARALL</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETEDGEMODE\">SCI_SETEDGEMODE(int edgeMode)</b><br />\n     <b id=\"SCI_GETEDGEMODE\">SCI_GETEDGEMODE &rarr; int</b><br />\n     These two messages set and get the mode used to display long lines. You can set one of the\n    values in the table:</p>\n\n    <table class=\"standard\" summary=\"Long line styles\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Long line display mode</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>EDGE_NONE</code></td>\n\n          <td align=\"center\">0</td>\n\n          <td>Long lines are not marked. This is the default state.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>EDGE_LINE</code></td>\n\n          <td align=\"center\">1</td>\n\n          <td>A vertical line is drawn at the column number set by <code>SCI_SETEDGECOLUMN</code>.\n          This works well for monospaced fonts. The line is drawn at a position based on the width\n          of a space character in <a class=\"message\"\n          href=\"#StyleDefinition\"><code>STYLE_DEFAULT</code></a>, so it may not work very well if\n          your styles use proportional fonts or if your style have varied font sizes or you use a\n          mixture of bold, italic and normal text.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>EDGE_BACKGROUND</code></td>\n\n          <td align=\"center\">2</td>\n\n          <td>The background colour of characters after the column limit is changed to the colour\n          set by <code>SCI_SETEDGECOLOUR</code>. This is recommended for proportional fonts.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>EDGE_MULTILINE</code></td>\n\n          <td align=\"center\">3</td>\n\n          <td>This is similar to <code>EDGE_LINE</code> but in contrary to showing only one single\n          line a configurable set of vertical lines can be shown simultaneously. This <code>edgeMode\n          </code> uses a completely independent dataset that can only be configured by using the\n          <code>SCI_MULTIEDGE*</code> messages.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCI_SETEDGECOLUMN\">SCI_SETEDGECOLUMN(int column)</b><br />\n     <b id=\"SCI_GETEDGECOLUMN\">SCI_GETEDGECOLUMN &rarr; int</b><br />\n     These messages set and get the column number at which to display the long line marker. When\n    drawing lines, the column sets a position in units of the width of a space character in\n    <code>STYLE_DEFAULT</code>. When setting the background colour, the column is a character count\n    (allowing for tabs) into the line.</p>\n\n    <p><b id=\"SCI_SETEDGECOLOUR\">SCI_SETEDGECOLOUR(<a class=\"jump\" href=\"#colour\">colour</a> edgeColour)</b><br />\n     <b id=\"SCI_GETEDGECOLOUR\">SCI_GETEDGECOLOUR &rarr; colour</b><br />\n     These messages set and get the colour of the marker used to show that a line has exceeded the\n    length set by <code>SCI_SETEDGECOLUMN</code>.</p>\n\n    <p><b id=\"SCI_MULTIEDGEADDLINE\">SCI_MULTIEDGEADDLINE(int column,\n    <a class=\"jump\" href=\"#colour\">colour</a> edgeColour)</b><br />\n     <b id=\"SCI_MULTIEDGECLEARALL\">SCI_MULTIEDGECLEARALL</b><br />\n     <code>SCI_MULTIEDGEADDLINE</code> adds a new vertical edge to the view. The edge will be\n    displayed at the given column number. The resulting edge position depends on the metric\n    of a space character in <code>STYLE_DEFAULT</code>. All the edges can be cleared with\n    <code>SCI_MULTIEDGECLEARALL</code>.</p>\n\n    <h2 id=\"Accessibility\">Accessibility</h2>\n\n    <p>Scintilla supports some platform accessibility features.\n    This support differs between platforms.\n    On GTK+ and Cocoa the platform accessibility APIs are implemented sufficiently to\n    make screen readers work.\n    On Win32, the system caret is manipulated to help screen readers.\n    </p>\n\n    <code><a class=\"message\" href=\"#SCI_SETACCESSIBILITY\">SCI_SETACCESSIBILITY(int accessibility)</a><br />\n     <a class=\"message\" href=\"#SCI_GETACCESSIBILITY\">SCI_GETACCESSIBILITY &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETACCESSIBILITY\">SCI_SETACCESSIBILITY(int accessibility)</b><br />\n     <b id=\"SCI_GETACCESSIBILITY\">SCI_GETACCESSIBILITY &rarr; int</b><br />\n     These messages may enable or disable accessibility and report its current status.</p>\n\n    <p>On most platforms, accessibility is either implemented or not implemented and this can be\n    discovered with <code>SCI_GETACCESSIBILITY</code> with\n    <code>SCI_SETACCESSIBILITY</code> performing no action.\n    On GTK+, there are storage and performance costs to accessibility, so it can be disabled\n    by calling <code>SCI_SETACCESSIBILITY</code>.\n    </p>\n\n    <table class=\"standard\" summary=\"Accessibility status\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Accessibility status</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_ACCESSIBILITY_DISABLED</code></td>\n\n          <td align=\"center\">0</td>\n\n          <td>Accessibility is disabled.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_ACCESSIBILITY_ENABLED</code></td>\n\n          <td align=\"center\">1</td>\n\n          <td>Accessibility is enabled.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <h2 id=\"Lexer\">Lexer</h2>\n\n    <p>If you define the symbol <code>SCI_LEXER</code> when building Scintilla, (this is sometimes\n    called the SciLexer version of Scintilla), lexing support for a wide range of programming\n    languages is included and the messages in this section are supported. If you want to set\n    styling and fold points for an unsupported language you can either do this in the container or\n    better still, write your own lexer following the pattern of one of the existing ones.</p>\n\n    <p>Scintilla also supports external lexers. These are DLLs (on Windows) or .so modules (on GTK+/Linux) that export three\n    functions: <code>GetLexerCount</code>, <code>GetLexerName</code>, and\n    <code>GetLexerFactory</code>. See <code>externalLexer.cxx</code> for more.</p>\n     <a class=\"message\" href=\"#SCI_SETLEXER\">SCI_SETLEXER(int lexer)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLEXER\">SCI_GETLEXER &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETLEXERLANGUAGE\">SCI_SETLEXERLANGUAGE(&lt;unused&gt;, const char\n    *language)</a><br />\n     <a class=\"message\" href=\"#SCI_GETLEXERLANGUAGE\">SCI_GETLEXERLANGUAGE(&lt;unused&gt;, char *language) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_LOADLEXERLIBRARY\">SCI_LOADLEXERLIBRARY(&lt;unused&gt;, const char\n    *path)</a><br />\n     <a class=\"message\" href=\"#SCI_COLOURISE\">SCI_COLOURISE(int start, int end)</a><br />\n     <a class=\"message\" href=\"#SCI_CHANGELEXERSTATE\">SCI_CHANGELEXERSTATE(int start, int end) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_PROPERTYNAMES\">SCI_PROPERTYNAMES(&lt;unused&gt;, char *names) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_PROPERTYTYPE\">SCI_PROPERTYTYPE(const char *name) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_DESCRIBEPROPERTY\">SCI_DESCRIBEPROPERTY(const char *name, char *description) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETPROPERTY\">SCI_SETPROPERTY(const char *key, const char *value)</a><br />\n     <a class=\"message\" href=\"#SCI_GETPROPERTY\">SCI_GETPROPERTY(const char *key, char *value) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETPROPERTYEXPANDED\">SCI_GETPROPERTYEXPANDED(const char *key, char *value) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETPROPERTYINT\">SCI_GETPROPERTYINT(const char *key, int defaultValue) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_DESCRIBEKEYWORDSETS\">SCI_DESCRIBEKEYWORDSETS(&lt;unused&gt;, char *descriptions) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETKEYWORDS\">SCI_SETKEYWORDS(int keyWordSet, const char\n    *keyWords)</a><br />\n\n     <a class=\"message\" href=\"#SCI_GETSUBSTYLEBASES\">SCI_GETSUBSTYLEBASES(&lt;unused&gt;, char *styles) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_DISTANCETOSECONDARYSTYLES\">SCI_DISTANCETOSECONDARYSTYLES &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_ALLOCATESUBSTYLES\">SCI_ALLOCATESUBSTYLES(int styleBase, int numberStyles) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_FREESUBSTYLES\">SCI_FREESUBSTYLES</a><br />\n     <a class=\"message\" href=\"#SCI_GETSUBSTYLESSTART\">SCI_GETSUBSTYLESSTART(int styleBase) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETSUBSTYLESLENGTH\">SCI_GETSUBSTYLESLENGTH(int styleBase) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETSTYLEFROMSUBSTYLE\">SCI_GETSTYLEFROMSUBSTYLE(int subStyle) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETPRIMARYSTYLEFROMSTYLE\">SCI_GETPRIMARYSTYLEFROMSTYLE(int style) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETIDENTIFIERS\">SCI_SETIDENTIFIERS(int style, const char *identifiers)</a><br />\n     <a class=\"message\" href=\"#SCI_PRIVATELEXERCALL\">SCI_PRIVATELEXERCALL(int operation, int pointer) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETNAMEDSTYLES\">SCI_GETNAMEDSTYLES &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_NAMEOFSTYLE\">SCI_NAMEOFSTYLE(int style, char *name) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_TAGSOFSTYLE\">SCI_TAGSOFSTYLE(int style, char *tags) &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_DESCRIPTIONOFSTYLE\">SCI_DESCRIPTIONOFSTYLE(int style, char *description) &rarr; int</a><br />\n\n    <p><b id=\"SCI_SETLEXER\">SCI_SETLEXER(int lexer)</b><br />\n     <b id=\"SCI_GETLEXER\">SCI_GETLEXER &rarr; int</b><br />\n     You can select the lexer to use with an integer code from the <code>SCLEX_*</code> enumeration\n    in <code>Scintilla.h</code>. There are two codes in this sequence that do not use lexers:\n    <code>SCLEX_NULL</code> to select no lexing action and <code>SCLEX_CONTAINER</code> which sends\n    the <code><a class=\"message\" href=\"#SCN_STYLENEEDED\">SCN_STYLENEEDED</a></code> notification to\n    the container whenever a range of text needs to be styled. You cannot use the\n    <code>SCLEX_AUTOMATIC</code> value; this identifies additional external lexers that Scintilla\n    assigns unused lexer numbers to.</p>\n\n    <p><b id=\"SCI_SETLEXERLANGUAGE\">SCI_SETLEXERLANGUAGE(&lt;unused&gt;, const char *language)</b><br />\n    <b id=\"SCI_GETLEXERLANGUAGE\">SCI_GETLEXERLANGUAGE(&lt;unused&gt;, char *language NUL-terminated) &rarr; int</b><br />\n     <code>SCI_SETLEXERLANGUAGE</code> lets you select a lexer by name, and is the only method if you are using an\n    external lexer or if you have written a lexer module for a language of your own and do not wish\n    to assign it an explicit lexer number. To select an existing lexer, set <code class=\"parameter\">language</code> to\n    match the (case sensitive) name given to the module, for example \"ada\" or \"python\", not \"Ada\"\n    or \"Python\". To locate the name for the built-in lexers, open the relevant\n    <code>Lex*.cxx</code> file and search for <code>LexerModule</code>. The third argument in the\n    <code>LexerModule</code> constructor is the name to use.</p>\n\n    <p>To test if your lexer assignment worked, use <a class=\"message\"\n    href=\"#SCI_GETLEXER\"><code>SCI_GETLEXER</code></a> before and after setting the new lexer to\n    see if the lexer number changed.</p>\n\n    <p><code>SCI_GETLEXERLANGUAGE</code> retrieves the name of the lexer.</p>\n\n    <p><b id=\"SCI_LOADLEXERLIBRARY\">SCI_LOADLEXERLIBRARY(&lt;unused&gt;, const char *path)</b><br />\n     Load a lexer implemented in a shared library. This is a .so file on GTK+/Linux or a .DLL file on Windows.\n     </p>\n\n    <p><b id=\"SCI_COLOURISE\">SCI_COLOURISE(int start, int end)</b><br />\n     This requests the current lexer or the container (if the lexer is set to\n    <code>SCLEX_CONTAINER</code>) to style the document between <code class=\"parameter\">start</code> and\n    <code class=\"parameter\">end</code>. If <code class=\"parameter\">end</code> is -1, the document is styled from\n    <code class=\"parameter\">start</code> to the end. If the <code>\"fold\"</code> property is set to\n    <code>\"1\"</code> and your lexer or container supports folding, fold levels are also set. This\n    message causes a redraw.</p>\n\n    <p><b id=\"SCI_CHANGELEXERSTATE\">SCI_CHANGELEXERSTATE(int start, int end) &rarr; int</b><br />\n    Indicate that the internal state of a lexer has changed over a range and therefore\n    there may be a need to redraw.</p>\n\n    <p><b id=\"SCI_PROPERTYNAMES\">SCI_PROPERTYNAMES(&lt;unused&gt;, char *names NUL-terminated) &rarr; int</b><br />\n    <b id=\"SCI_PROPERTYTYPE\">SCI_PROPERTYTYPE(const char *name) &rarr; int</b><br />\n    <b id=\"SCI_DESCRIBEPROPERTY\">SCI_DESCRIBEPROPERTY(const char *name, char *description NUL-terminated) &rarr; int</b><br />\n    Information may be retrieved about the properties that can be set for the current lexer.\n    This information is only available for newer lexers.\n    <code>SCI_PROPERTYNAMES</code> returns a string with all of the valid properties separated by \"\\n\".\n    If the lexer does not support this call then an empty string is returned.\n    Properties may be boolean (<code>SC_TYPE_BOOLEAN</code>), integer (<code>SC_TYPE_INTEGER</code>),\n    or string (<code>SC_TYPE_STRING</code>) and this is found with <code>SCI_PROPERTYTYPE</code>.\n    A description of a property in English is returned by <code>SCI_DESCRIBEPROPERTY</code>.</p>\n\n    <p><b id=\"SCI_SETPROPERTY\">SCI_SETPROPERTY(const char *key, const char *value)</b><br />\n     You can communicate settings to lexers with keyword:value string pairs. There is no limit to\n    the number of keyword pairs you can set, other than available memory. <code class=\"parameter\">key</code> is a\n    case sensitive keyword, <code class=\"parameter\">value</code> is a string that is associated with the keyword. If\n    there is already a value string associated with the keyword, it is replaced. If you pass a zero\n    length string, the message does nothing. Both <code class=\"parameter\">key</code> and <code class=\"parameter\">value</code> are used\n    without modification; extra spaces at the beginning or end of <code class=\"parameter\">key</code> are\n    significant.</p>\n\n    <p>The <code class=\"parameter\">value</code> string can refer to other keywords. For example,\n    <code>SCI_SETPROPERTY(\"foldTimes10\", \"$(fold)0\")</code> stores the string\n    <code>\"$(fold)0\"</code>, but when this is accessed, the <code>$(fold)</code> is replaced by the\n    value of the <code>\"fold\"</code> keyword (or by nothing if this keyword does not exist).</p>\n\n    <p>Currently the \"fold\" property is defined for most of the lexers to set the fold structure if\n    set to \"1\". <code>SCLEX_PYTHON</code> understands <code>\"tab.timmy.whinge.level\"</code> as a\n    setting that determines how to indicate bad indentation. Most keywords have values that are\n    interpreted as integers. Search the lexer sources for <code>GetPropertyInt</code> to see how\n    properties are used.</p>\n\n    <p>There is a convention for naming properties used by lexers so that the set of properties can be found by scripts.\n    Property names should start with \"lexer.&lt;lexer&gt;.\" or \"fold.&lt;lexer&gt;.\" when they apply to one\n    lexer or start with \"lexer.\" or \"fold.\" if they apply to multiple lexers.</p>\n\n    <p>Applications may discover the set of properties used by searching the source code of lexers for lines that contain\n    <code>GetProperty</code> and a double quoted string and extract the value of the double quoted string as the property name.\n    The <code>scintilla/scripts/LexGen.py</code> script does this and can be used as an example.\n    Documentation for the property may be located above the call as a multi-line comment starting with\n    <br/><code>// property &lt;property-name&gt;</code></p>\n\n    <p><b id=\"SCI_GETPROPERTY\">SCI_GETPROPERTY(const char *key, char *value NUL-terminated) &rarr; int</b><br />\n    Lookup a keyword:value pair using the specified key; if found, copy the value to the user-supplied\n    buffer and return the length (not including the terminating 0).  If not found, copy an empty string\n    to the buffer and return 0.</p>\n\n    <p>Note that  \"keyword replacement\" as described in <a class=\"message\" href=\"#SCI_SETPROPERTY\">\n    <code>SCI_SETPROPERTY</code></a> will not be performed.</p>\n\n    <p>If the value argument is 0 then the length that should be allocated to store the value is returned;\n    again, the terminating 0 is not included.</p>\n\n    <p><b id=\"SCI_GETPROPERTYEXPANDED\">SCI_GETPROPERTYEXPANDED(const char *key, char *value) &rarr; int</b><br />\n    Lookup a keyword:value pair using the specified key; if found, copy the value to the user-supplied\n    buffer and return the length (not including the terminating 0).  If not found, copy an empty string\n    to the buffer and return 0.</p>\n\n    <p>Note that  \"keyword replacement\" as described in <a class=\"message\" href=\"#SCI_SETPROPERTY\">\n    <code>SCI_SETPROPERTY</code></a> will be performed.</p>\n\n    <p>If the value argument is 0 then the length that should be allocated to store the value (including any indicated keyword replacement)\n    is returned; again, the terminating 0 is not included.</p>\n\n    <p><b id=\"SCI_GETPROPERTYINT\">SCI_GETPROPERTYINT(const char *key, int defaultValue) &rarr; int</b><br />\n    Lookup a keyword:value pair using the specified key; if found, interpret the value as an integer and return it.\n    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\n    a number, then return 0.</p>\n\n    <p>Note that  \"keyword replacement\" as described in <a class=\"message\" href=\"#SCI_SETPROPERTY\">\n    <code>SCI_SETPROPERTY</code></a> will be performed before any numeric interpretation.</p>\n\n    <p><b id=\"SCI_SETKEYWORDS\">SCI_SETKEYWORDS(int keyWordSet, const char *keyWords)</b><br />\n     You can set up to 9 lists of keywords for use by the current lexer.\n     <code class=\"parameter\">keyWordSet</code> can be 0 to 8 (actually 0 to <code>KEYWORDSET_MAX</code>)\n    and selects which keyword list to replace. <code class=\"parameter\">keyWords</code> is a list of keywords\n    separated by spaces, tabs, <code>\"\\n\"</code> or <code>\"\\r\"</code> or any combination of these.\n    It is expected that the keywords will be composed of standard ASCII printing characters,\n    but there is nothing to stop you using any non-separator character codes from 1 to 255\n    (except common sense).</p>\n\n    <p>How these keywords are used is entirely up to the lexer. Some languages, such as HTML may\n    contain embedded languages, VBScript and JavaScript are common for HTML. For HTML, key word set\n    0 is for HTML, 1 is for JavaScript and 2 is for VBScript, 3 is for Python, 4 is for PHP and 5\n    is for SGML and DTD keywords. Review the lexer code to see examples of keyword list. A fully\n    conforming lexer sets the fourth argument of the <code>LexerModule</code> constructor to be a\n    list of strings that describe the uses of the keyword lists.</p>\n\n    <p>Alternatively, you might use set 0 for general keywords, set 1 for keywords that cause\n    indentation and set 2 for keywords that cause unindentation. Yet again, you might have a simple\n    lexer that colours keywords and you could change languages by changing the keywords in set 0.\n    There is nothing to stop you building your own keyword lists into the lexer, but this means\n    that the lexer must be rebuilt if more keywords are added.</p>\n\n    <p><b id=\"SCI_DESCRIBEKEYWORDSETS\">SCI_DESCRIBEKEYWORDSETS(&lt;unused&gt;, char *descriptions NUL-terminated) &rarr; int</b><br />\n    A description of all of the keyword sets separated by \"\\n\" is returned by <code>SCI_DESCRIBEKEYWORDSETS</code>.</p>\n\n    <h3 id=\"Substyles\">Substyles</h3>\n    <p>Lexers may support several different sublanguages and each sublanguage may want to style some number of\n    sets of identifiers (or similar lexemes such as documentation keywords) uniquely. Preallocating a large number for each\n    purpose would exhaust the number of allowed styles quickly.\n    This is alleviated by substyles which allow the application to determine how many sets of identifiers to allocate for\n    each purpose.\n    Lexers have to explicitly support this feature by implementing the methods in <code>ILexerWithSubStyles</code>.</p>\n\n    <p><b id=\"SCI_GETSUBSTYLEBASES\">SCI_GETSUBSTYLEBASES(&lt;unused&gt;, char *styles NUL-terminated) &rarr; int</b><br />\n     Fill <code class=\"parameter\">styles</code> with a byte for each style that can be split into substyles.</p>\n\n    <p><b id=\"SCI_DISTANCETOSECONDARYSTYLES\">SCI_DISTANCETOSECONDARYSTYLES &rarr; int</b><br />\n     Returns the distance between a primary style and its corresponding secondary style.</p>\n\n    <p><b id=\"SCI_ALLOCATESUBSTYLES\">SCI_ALLOCATESUBSTYLES(int styleBase, int numberStyles) &rarr; int</b><br />\n     Allocate some number of substyles for a particular base style returning the first substyle number allocated.\n     Substyles are allocated contiguously.</p>\n\n    <p><b id=\"SCI_FREESUBSTYLES\">SCI_FREESUBSTYLES</b><br />\n     Free all allocated substyles.</p>\n\n    <p><b id=\"SCI_GETSUBSTYLESSTART\">SCI_GETSUBSTYLESSTART(int styleBase) &rarr; int</b><br />\n    <b id=\"SCI_GETSUBSTYLESLENGTH\">SCI_GETSUBSTYLESLENGTH(int styleBase) &rarr; int</b><br />\n     Return the start and length of the substyles allocated for a base style.</p>\n\n    <p><b id=\"SCI_GETSTYLEFROMSUBSTYLE\">SCI_GETSTYLEFROMSUBSTYLE(int subStyle) &rarr; int</b><br />\n     For a sub style, return the base style, else return the argument.</p>\n\n    <p><b id=\"SCI_GETPRIMARYSTYLEFROMSTYLE\">SCI_GETPRIMARYSTYLEFROMSTYLE(int style) &rarr; int</b><br />\n     For a secondary style, return the primary style, else return the argument.</p>\n\n    <p><b id=\"SCI_SETIDENTIFIERS\">SCI_SETIDENTIFIERS(int style, const char *identifiers)</b><br />\n     Similar to <code>SCI_SETKEYWORDS</code> but for substyles.\n     The prefix feature available with <code>SCI_SETKEYWORDS</code> is not implemented for <code>SCI_SETIDENTIFIERS</code>.</p>\n\n    <p><b id=\"SCI_PRIVATELEXERCALL\">SCI_PRIVATELEXERCALL(int operation, int pointer) &rarr; int</b><br />\n     Call into a lexer in a way not understood by Scintilla.</p>\n\n    <h3 id=\"StyleMetadata\">Style Metadata</h3>\n    <p>Lexers may provide information on the styles they use.\n    Lexers have to explicitly support this feature by implementing particular methods.</p>\n\n    <p><b id=\"SCI_GETNAMEDSTYLES\">SCI_GETNAMEDSTYLES &rarr; int</b><br />\n     Retrieve the number of named styles for the lexer.</p>\n\n    <p><b id=\"SCI_NAMEOFSTYLE\">SCI_NAMEOFSTYLE(int style, char *name) &rarr; int</b><br />\n     Retrieve the name of a style. This is a C preprocessor symbol like \"SCE_C_COMMENTDOC\".</p>\n\n    <p><b id=\"SCI_TAGSOFSTYLE\">SCI_TAGSOFSTYLE(int style, char *tags) &rarr; int</b><br />\n     Retrieve the tags of a style. This is a space-separated set of words like \"comment documentation\".</p>\n\n    <p><b id=\"SCI_DESCRIPTIONOFSTYLE\">SCI_DESCRIPTIONOFSTYLE(int style, char *description) &rarr; int</b><br />\n     Retrieve an English-language description of a style which may be suitable for display in a user interface.\n     This looks like \"Doc comment: block comments beginning with /** or /*!\".</p>\n\n    <h2 id=\"LexerObjects\">Lexer Objects</h2>\n\n    <p>Lexers are programmed as objects that implement the ILexer interface and that interact\n    with the document they are lexing through the IDocument interface.\n    Previously lexers were defined by providing lexing and folding functions but creating an object\n    to handle the interaction of a lexer with a document allows the lexer to store state information that\n    can be used during lexing. For example a C++ lexer may store a set of preprocessor definitions\n    or variable declarations and style these depending on their role.</p>\n\n    <p>A set of helper classes allows older lexers defined by functions to be used in Scintilla.</p>\n<h4>ILexer</h4>\n\n<div class=\"highlighted\">\n<span class=\"S5\">class</span><span class=\"S0\"> </span>ILexer<span class=\"S0\"> </span><span class=\"S10\">{</span><br />\n<span class=\"S5\">public</span><span class=\"S10\">:</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>Version<span class=\"S10\">()</span><span class=\"S0\"> </span>\n<span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span>\n<span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>Release<span class=\"S10\">()</span><span class=\"S0\"> </span>\n<span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span><span class=\"S0\"> </span>\n<span class=\"S5\">const</span><span class=\"S0\"> </span>\n<span class=\"S5\">char</span><span class=\"S0\"> </span>\n<span class=\"S10\">*</span><span class=\"S0\"> </span>\nSCI_METHOD<span class=\"S0\"> </span>PropertyNames<span class=\"S10\">()</span>\n<span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>PropertyType<span class=\"S10\">(</span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>name<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>DescribeProperty<span class=\"S10\">(</span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>name<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>PropertySet<span class=\"S10\">(</span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>key<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>val<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>DescribeWordListSets<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>WordListSet<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>n<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>wl<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>Lex<span class=\"S10\">(</span>Sci_PositionU<span class=\"S0\"> </span>startPos<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>lengthDoc<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>initStyle<span class=\"S10\">,</span><span class=\"S0\"> </span>IDocument<span class=\"S0\"> </span><span class=\"S10\">*</span>pAccess<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>Fold<span class=\"S10\">(</span>Sci_PositionU<span class=\"S0\"> </span>startPos<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>lengthDoc<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>initStyle<span class=\"S10\">,</span><span class=\"S0\"> </span>IDocument<span class=\"S0\"> </span><span class=\"S10\">*</span>pAccess<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=\"S5\">virtual</span>\n<span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD\n<span class=\"S0\"> </span>PrivateCall<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>operation<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span><span class=\"S10\">*</span>pointer<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S10\">};</span><br />\n</div>\n\n<p>\nThe types <code>Sci_Position</code> and <code>Sci_PositionU</code> are used for positions and line numbers in the document.\nBefore release 3.6.0 the types <code>int</code> and <code>unsigned int</code> were used instead and, for 3.6.0,\n<code>Sci_Position</code> is defined as <code>int</code> and <code>Sci_PositionU</code> is defined as <code>unsigned int</code>.\nIn a future release, 64-bit builds will define these as 64-bit types to allow documents larger than 2 GB.\n</p>\n\n<p>\nMethods that return strings as <code>const char *</code> are not required to maintain separate allocations indefinitely:\nlexer implementations may own a single buffer that is reused for each call.\nCallers should make an immediate copy of returned strings.\n</p>\n\n<p>\nThe return values from PropertySet and WordListSet are used to indicate whether the change requires\nperforming lexing or folding over any of the document. It is the position at which to restart lexing and folding or -1\nif the change does not require any extra work on the document.\nA simple approach is to return 0 if there is any possibility that a change requires lexing the document again while an\noptimisation could be to remember where a setting first affects the document and return that position.\n</p>\n\n<p><code>Version</code> returns an enumerated value specifying which version of the interface is implemented:\n<code>lvOriginal</code> for <code>ILexer</code>, <code>lvSubStyles</code> for <code>ILexerWithSubStyles</code>,\nand <code>lvMetaData</code> for <code>ILexerWithMetaData</code>.</p>\n\n<p><code>Release</code> is called to destroy the lexer object.</p>\n\n<p><code>PrivateCall</code> allows for direct communication between the\napplication and a lexer. An example would be where an application\nmaintains a single large data structure containing symbolic information\nabout system headers (like Windows.h) and provides this to the lexer\nwhere it can be applied to each document. This avoids the costs of\nconstructing the system header information for each document. This is\ninvoked with the <code>SCI_PRIVATELEXERCALL</code> API.</p>\n\n<p><code>Fold</code> is called with the exact range that needs folding.\nPreviously, lexers were called with a range that started one line before the range that\nneeds to be folded as this allowed fixing up the last line from the previous folding.\nThe new approach allows the lexer to decide whether to backtrack or to handle this\nmore efficiently.</p>\n\n<h4>ILexerWithSubStyles</h4>\n\n<p>\nTo allow lexers to report which line ends they support, and to support substyles,\n<code>Ilexer</code> is extended to <code>ILexerWithSubStyles</code>.\n</p>\n\n<div class=\"highlighted\">\n<span class=\"S5\">class</span><span class=\"S0\"> </span>ILexerWithSubStyles<span class=\"S0\"> </span><span class=\"S10\">:</span><span class=\"S0\"> </span><span class=\"S5\">public</span><span class=\"S0\"> </span>ILexer<span class=\"S0\"> </span><span class=\"S10\">{</span><br />\n<span class=\"S5\">public</span><span class=\"S10\">:</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>LineEndTypesSupported<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>AllocateSubStyles<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>styleBase<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>numberStyles<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SubStylesStart<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>styleBase<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SubStylesLength<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>styleBase<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>StyleFromSubStyle<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>subStyle<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>PrimaryStyleFromStyle<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>style<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>FreeSubStyles<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SetIdentifiers<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>style<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>identifiers<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>DistanceToSecondaryStyles<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetSubStyleBases<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S10\">};</span><br />\n</div>\n\n<h4>ILexerWithMetaData</h4>\n\n<p><code>NamedStyles</code>, <code>NameOfStyle</code>,\n<code>TagsOfStyle</code>, and <code>DescriptionOfStyle</code>\nare used to provide information on the set of styles used by this lexer.\n<code>NameOfStyle</code> is the C-language identifier like \"<code>SCE_LUA_COMMENT</code>\".\n<code>TagsOfStyle</code> is a set of tags describing the style in a standardized way like \"<code>literal string multiline raw</code>\".\nA set of common tags and conventions for combining them is <a  class=\"jump\" href=\"StyleMetadata.html\">described here</a>.\n<code>DescriptionOfStyle</code> is an English description of the style like \"<code>Function or method name definition</code>\".\n</p>\n\n<div class=\"highlighted\">\n<span class=\"S5\">class</span><span class=\"S0\"> </span>ILexerWithMetaData<span class=\"S0\"> </span><span class=\"S10\">:</span><span class=\"S0\"> </span><span class=\"S5\">public</span><span class=\"S0\"> </span>ILexerWithSubStyles<span class=\"S0\"> </span><span class=\"S10\">{</span><br />\n<span class=\"S5\">public</span><span class=\"S10\">:</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>NamedStyles<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>NameOfStyle<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>style<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>TagsOfStyle<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>style<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>DescriptionOfStyle<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>style<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S10\">};</span><br />\n</div>\n\n<h4>IDocument</h4>\n\n<div class=\"highlighted\">\n<span class=\"S5\">class</span><span class=\"S0\"> </span>IDocument<span class=\"S0\"> </span><span class=\"S10\">{</span><br />\n<span class=\"S5\">public</span><span class=\"S10\">:</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>Version<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SetErrorStatus<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>status<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>Length<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetCharRange<span class=\"S10\">(</span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>buffer<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>position<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>lengthRetrieve<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>StyleAt<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>position<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>LineFromPosition<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>position<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>LineStart<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetLevel<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SetLevel<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>level<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetLineState<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SetLineState<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>state<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>StartStyling<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>position<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span>mask<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">bool</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SetStyleFor<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>length<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span>style<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">bool</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>SetStyles<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>length<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span>styles<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>DecorationSetCurrentIndicator<span class=\"S10\">(</span><span class=\"S5\">int</span><span class=\"S0\"> </span>indicator<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>DecorationFillRange<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>position<span class=\"S10\">,</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>value<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>fillLength<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">void</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>ChangeLexerState<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>start<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>end<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>CodePage<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">bool</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>IsDBCSLeadByte<span class=\"S10\">(</span><span class=\"S5\">char</span><span class=\"S0\"> </span>ch<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S5\">char</span><span class=\"S0\"> </span><span class=\"S10\">*</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>BufferPointer<span class=\"S10\">()</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetLineIndentation<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S10\">};</span><br />\n</div>\n\n<p>Scintilla tries to minimize the consequences of modifying text to\nonly relex and redraw the line of the change where possible. Lexer\nobjects contain their own private extra state which can affect later\nlines. For example, if the C++ lexer is greying out inactive code\nsegments then changing the statement <code>#define BEOS 0</code> to <code>#define\n BEOS 1</code> may require restyling and redisplaying later parts of the\n document. The lexer can call <code>ChangeLexerState</code> to signal to\n the document that it should relex and display more.</p>\n\n<p>For <code>StartStyling</code> the mask argument has no effect. It was used in version 3.4.2 and earlier.</p>\n\n<p><code>SetErrorStatus</code> is used to notify the document of\nexceptions. Exceptions should not be thrown over build boundaries as the\n two sides may be built with different compilers or incompatible\nexception options.</p>\n\n<h4>IDocumentWithLineEnd</h4>\n\n<p>\nTo allow lexers to determine the end position of a line and thus more easily support Unicode line ends\n<code>IDocument</code> is extended to <code>IDocumentWithLineEnd</code>.</p>\n<p><code>GetRelativePosition</code> navigates the document by whole characters,\nreturning <code>INVALID_POSITION</code> for movement beyond the start and end of the document.</p>\n<p><code>GetCharacterAndWidth</code> provides a standard\nconversion from UTF-8 bytes to a UTF-32 character or from DBCS to a 16 bit value.\nBytes in invalid UTF-8 are reported individually with values 0xDC80+byteValue, which are\nnot valid Unicode code points.\nThe <code class=\"parameter\">pWidth</code> argument can be NULL if the caller does not need to know the number of\nbytes in the character.\n</p>\n\n<div class=\"highlighted\">\n<span class=\"S5\">class</span><span class=\"S0\"> </span>IDocumentWithLineEnd<span class=\"S0\"> </span><span class=\"S10\">:</span><span class=\"S0\"> </span><span class=\"S5\">public</span><span class=\"S0\"> </span>IDocument<span class=\"S0\"> </span><span class=\"S10\">{</span><br />\n<span class=\"S5\">public</span><span class=\"S10\">:</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>LineEnd<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>line<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetRelativePosition<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>positionStart<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span>characterOffset<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S0\">&nbsp; &nbsp; &nbsp; &nbsp; </span><span class=\"S5\">virtual</span><span class=\"S0\"> </span><span class=\"S5\">int</span><span class=\"S0\"> </span>SCI_METHOD<span class=\"S0\"> </span>GetCharacterAndWidth<span class=\"S10\">(</span>Sci_Position<span class=\"S0\"> </span>position<span class=\"S10\">,</span><span class=\"S0\"> </span>Sci_Position<span class=\"S0\"> </span><span class=\"S10\">*</span>pWidth<span class=\"S10\">)</span><span class=\"S0\"> </span><span class=\"S5\">const</span><span class=\"S0\"> </span><span class=\"S10\">=</span><span class=\"S0\"> </span><span class=\"S4\">0</span><span class=\"S10\">;</span><br />\n<span class=\"S10\">};</span><br />\n</div>\n\n<p>The <code>ILexer</code>, <code>ILexerWithSubStyles</code>, <code>IDocument</code>, and\n<code>IDocumentWithLineEnd</code>  interfaces may be\nexpanded in the future with extended versions (<code>ILexer2</code>...).\n The <code>Version</code> method indicates which interface is\nimplemented and thus which methods may be called.</p>\n\n    <h2 id=\"Notifications\">Notifications</h2>\n\n    <p>Notifications are sent (fired) from the Scintilla control to its container when an event has\n    occurred that may interest the container.</p>\n    <p>Notifications are sent using the\n    <code>WM_NOTIFY</code> message on Windows.</p>\n    <p>On GTK+, the \"sci-notify\" signal is sent and the signal handler should have the signature\n    <code>handler(GtkWidget *, gint, SCNotification *notification, gpointer  userData)</code>.</p>\n    <p>On Cocoa, a delegate implementing the <code>ScintillaNotificationProtocol</code>\n    may be set to receive notifications or the <code>ScintillaView</code> class may be subclassed and the\n    <code>notification:</code> method overridden. Overriding <code>notification:</code> allows the\n    subclass to control whether default handling is performed.</p>\n    <p>The container is\n    passed a <code>SCNotification</code> structure containing information about the event.</p>\n<pre id=\"SCNotification\">\nstruct Sci_NotifyHeader {   // This matches the Win32 NMHDR structure\n    void *hwndFrom;     // environment specific window handle/pointer\n    uptr_t idFrom;        // CtrlID of the window issuing the notification\n    unsigned int code;  // The SCN_* notification code\n};\n\nstruct SCNotification {\n\tstruct Sci_NotifyHeader nmhdr;\n\tSci_Position position;\n\t/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */\n\t/* SCN_MARGINRIGHTCLICK, SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, */\n\t/* SCN_CALLTIPCLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */\n\t/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */\n\t/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_AUTOCSELECTIONCHANGE */\n\n\tint ch;\n\t/* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETE, SCN_AUTOCSELECTION, */\n\t/* SCN_USERLISTSELECTION */\n\tint modifiers;\n\t/* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */\n\t/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */\n\n\tint modificationType;\t/* SCN_MODIFIED */\n\tconst char *text;\n\t/* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED, */\n\t/* SCN_AUTOCSELECTIONCHANGE */\n\n\tSci_Position length;\t\t/* SCN_MODIFIED */\n\tSci_Position linesAdded;\t/* SCN_MODIFIED */\n\tint message;\t/* SCN_MACRORECORD */\n\tuptr_t wParam;\t/* SCN_MACRORECORD */\n\tsptr_t lParam;\t/* SCN_MACRORECORD */\n\tSci_Position line;\t\t/* SCN_MODIFIED */\n\tint foldLevelNow;\t/* SCN_MODIFIED */\n\tint foldLevelPrev;\t/* SCN_MODIFIED */\n\tint margin;\t\t/* SCN_MARGINCLICK, SCN_MARGINRIGHTCLICK */\n\tint listType;\t/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTIONCHANGE */\n\tint x;\t\t\t/* SCN_DWELLSTART, SCN_DWELLEND */\n\tint y;\t\t/* SCN_DWELLSTART, SCN_DWELLEND */\n\tint token;\t\t/* SCN_MODIFIED with SC_MOD_CONTAINER */\n\tint annotationLinesAdded;\t/* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */\n\tint updated;\t/* SCN_UPDATEUI */\n\tint listCompletionMethod;\n\t/* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION */\n\n};\n</pre>\n\n    <p>The notification messages that your container can choose to handle and the messages\n    associated with them are:</p>\n    <code><a class=\"message\" href=\"#SCN_STYLENEEDED\">SCN_STYLENEEDED</a><br />\n     <a class=\"message\" href=\"#SCN_CHARADDED\">SCN_CHARADDED</a><br />\n     <a class=\"message\" href=\"#SCN_SAVEPOINTREACHED\">SCN_SAVEPOINTREACHED</a><br />\n     <a class=\"message\" href=\"#SCN_SAVEPOINTLEFT\">SCN_SAVEPOINTLEFT</a><br />\n     <a class=\"message\" href=\"#SCN_MODIFYATTEMPTRO\">SCN_MODIFYATTEMPTRO</a><br />\n     <a class=\"message\" href=\"#SCN_KEY\">SCN_KEY</a><br />\n     <a class=\"message\" href=\"#SCN_DOUBLECLICK\">SCN_DOUBLECLICK</a><br />\n     <a class=\"message\" href=\"#SCN_UPDATEUI\">SCN_UPDATEUI</a><br />\n     <a class=\"message\" href=\"#SCN_MODIFIED\">SCN_MODIFIED</a><br />\n     <a class=\"message\" href=\"#SCN_MACRORECORD\">SCN_MACRORECORD</a><br />\n     <a class=\"message\" href=\"#SCN_MARGINCLICK\">SCN_MARGINCLICK</a><br />\n     <a class=\"message\" href=\"#SCN_NEEDSHOWN\">SCN_NEEDSHOWN</a><br />\n     <a class=\"message\" href=\"#SCN_PAINTED\">SCN_PAINTED</a><br />\n     <a class=\"message\" href=\"#SCN_USERLISTSELECTION\">SCN_USERLISTSELECTION</a><br />\n     <a class=\"message\" href=\"#SCN_URIDROPPED\">SCN_URIDROPPED</a><br />\n     <a class=\"message\" href=\"#SCN_DWELLSTART\">SCN_DWELLSTART</a><br />\n     <a class=\"message\" href=\"#SCN_DWELLEND\">SCN_DWELLEND</a><br />\n     <a class=\"message\" href=\"#SCN_ZOOM\">SCN_ZOOM</a><br />\n     <a class=\"message\" href=\"#SCN_HOTSPOTCLICK\">SCN_HOTSPOTCLICK</a><br />\n     <a class=\"message\" href=\"#SCN_HOTSPOTDOUBLECLICK\">SCN_HOTSPOTDOUBLECLICK</a><br />\n     <a class=\"message\" href=\"#SCN_HOTSPOTRELEASECLICK\">SCN_HOTSPOTRELEASECLICK</a><br />\n     <a class=\"message\" href=\"#SCN_INDICATORCLICK\">SCN_INDICATORCLICK</a><br />\n     <a class=\"message\" href=\"#SCN_INDICATORRELEASE\">SCN_INDICATORRELEASE</a><br />\n     <a class=\"message\" href=\"#SCN_CALLTIPCLICK\">SCN_CALLTIPCLICK</a><br />\n     <a class=\"message\" href=\"#SCN_AUTOCSELECTION\">SCN_AUTOCSELECTION</a><br />\n     <a class=\"message\" href=\"#SCN_AUTOCCANCELLED\">SCN_AUTOCCANCELLED</a><br />\n     <a class=\"message\" href=\"#SCN_AUTOCCHARDELETED\">SCN_AUTOCCHARDELETED</a><br />\n     <a class=\"message\" href=\"#SCN_FOCUSIN\">SCN_FOCUSIN</a><br />\n     <a class=\"message\" href=\"#SCN_FOCUSOUT\">SCN_FOCUSOUT</a><br />\n     <a class=\"message\" href=\"#SCN_AUTOCCOMPLETED\">SCN_AUTOCCOMPLETED</a><br />\n     <a class=\"message\" href=\"#SCN_MARGINRIGHTCLICK\">SCN_MARGINRIGHTCLICK</a><br />\n     <a class=\"message\" href=\"#SCN_AUTOCSELECTIONCHANGE\">SCN_AUTOCSELECTIONCHANGE</a><br />\n    </code>\n\n    <p>The following <code>SCI_*</code> messages are associated with these notifications:</p>\n    <code><a class=\"message\" href=\"#SCI_SETMODEVENTMASK\">SCI_SETMODEVENTMASK(int eventMask)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMODEVENTMASK\">SCI_GETMODEVENTMASK &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETCOMMANDEVENTS\">SCI_SETCOMMANDEVENTS(bool commandEvents)</a><br />\n     <a class=\"message\" href=\"#SCI_GETCOMMANDEVENTS\">SCI_GETCOMMANDEVENTS &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETMOUSEDWELLTIME\">SCI_SETMOUSEDWELLTIME(int periodMilliseconds)</a><br />\n     <a class=\"message\" href=\"#SCI_GETMOUSEDWELLTIME\">SCI_GETMOUSEDWELLTIME &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_SETIDENTIFIER\">SCI_SETIDENTIFIER(int identifier)</a><br />\n     <a class=\"message\" href=\"#SCI_GETIDENTIFIER\">SCI_GETIDENTIFIER &rarr; int</a><br />\n    </code>\n\n    <p>The following additional notifications are sent using a secondary \"command\" method and should\n    be avoided in new code as the primary \"notification\" method provides all the same events with richer\n    information.\n    The <code>WM_COMMAND</code> message is used on Windows.\n    This emulates the Windows Edit control. Only the lower\n    16 bits of the control's ID is passed in these notifications.</p>\n    <p>On GTK+, the \"command\" signal is sent and the signal handler should have the signature\n    <code>handler(GtkWidget *, gint wParam, gpointer lParam, gpointer userData)</code>.</p>\n    <code><a class=\"message\" href=\"#SCEN_CHANGE\">SCEN_CHANGE</a><br />\n     <a class=\"message\" href=\"#SCEN_SETFOCUS\">SCEN_SETFOCUS</a><br />\n     <a class=\"message\" href=\"#SCEN_KILLFOCUS\">SCEN_KILLFOCUS</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETIDENTIFIER\">SCI_SETIDENTIFIER(int identifier)</b><br />\n     <b id=\"SCI_GETIDENTIFIER\">SCI_GETIDENTIFIER &rarr; int</b><br />\n     These two messages set and get the identifier of the Scintilla instance which is included in notifications as the\n     <code>idFrom</code> field.\n     When an application creates multiple Scintilla widgets, this allows the source of each notification to be found.\n     On Windows, this value is initialised in the <code>CreateWindow</code> call and stored as the\n     <code>GWLP_ID</code> attribute of the window.\n     The value should be small, preferably less than 16 bits,\n     rather than a pointer as some of the functions will only transmit 16 or 32 bits.\n    </p>\n\n    <p><b id=\"SCN_STYLENEEDED\">SCN_STYLENEEDED</b><br />\n     If you used <code><a class=\"message\"\n    href=\"#SCI_SETLEXER\">SCI_SETLEXER</a>(SCLEX_CONTAINER)</code> to make the container act as the\n    lexer, you will receive this notification when Scintilla is about to display or print text that\n    requires styling. You are required to style the text from the line that contains the position\n    returned by <a class=\"seealso\" href=\"#SCI_GETENDSTYLED\"><code>SCI_GETENDSTYLED</code></a> up to\n    the position passed in <code>SCNotification.position</code>. Symbolically, you need code of the\n    form:</p>\n<pre>\n    startPos = <a class=\"seealso\" href=\"#SCI_GETENDSTYLED\">SCI_GETENDSTYLED</a>()\n    lineNumber = <a class=\"seealso\"\nhref=\"#SCI_LINEFROMPOSITION\">SCI_LINEFROMPOSITION</a>(startPos);\n    startPos = <a class=\"seealso\"\nhref=\"#SCI_POSITIONFROMLINE\">SCI_POSITIONFROMLINE</a>(lineNumber);\n    MyStyleRoutine(startPos, SCNotification.position);\n</pre>\n\n    <p><b id=\"SCN_CHARADDED\">SCN_CHARADDED</b><br />\n     This is sent when the user types an ordinary text character (as opposed to a command\n    character) that is entered into the text. The container can use this to decide to display a <a\n    class=\"jump\" href=\"#CallTips\">call tip</a> or an <a class=\"jump\" href=\"#Autocompletion\">auto\n    completion list</a>. The character is in <code>SCNotification.ch</code>.\n        This notification is sent before the character has been styled so processing that depends on\n        styling should instead be performed in the SCN_UPDATEUI notification.</p>\n\n    <p><b id=\"SCN_SAVEPOINTREACHED\">SCN_SAVEPOINTREACHED</b><br />\n     <b id=\"SCN_SAVEPOINTLEFT\">SCN_SAVEPOINTLEFT</b><br />\n     Sent to the container when the save point is entered or left, allowing the container to\n    display a \"document dirty\" indicator and change its menus.<br />\n     See also: <a class=\"message\" href=\"#SCI_SETSAVEPOINT\"><code>SCI_SETSAVEPOINT</code></a>, <a\n    class=\"message\" href=\"#SCI_GETMODIFY\"><code>SCI_GETMODIFY</code></a></p>\n\n    <p><b id=\"SCN_MODIFYATTEMPTRO\">SCN_MODIFYATTEMPTRO</b><br />\n     When in read-only mode, this notification is sent to the container if the user tries to change\n    the text. This can be used to check the document out of a version control system. You can set\n    the read-only state of a document with <code><a class=\"message\"\n    href=\"#SCI_SETREADONLY\">SCI_SETREADONLY</a></code>.</p>\n\n    <p><b id=\"SCN_KEY\">SCN_KEY</b><br />\n     Reports all keys pressed but not consumed by Scintilla. Used on GTK+ because of\n     some problems with keyboard focus and is not sent by the Windows version. <code>SCNotification.ch</code> holds the key code and\n    <code>SCNotification.modifiers</code> holds the modifiers. This notification is sent if the\n    modifiers include <code>SCMOD_ALT</code> or <code>SCMOD_CTRL</code> and the key code is less\n    than 256.</p>\n\n    <p><b id=\"SCN_DOUBLECLICK\">SCN_DOUBLECLICK</b><br />\n     The mouse button was double clicked in editor. The <code>position</code> field is set to the text position of the\n    double click, the <code>line</code> field is set to the line of the double click, and\n    the <code>modifiers</code> field is set to the key modifiers\n    held down in a similar manner to <a class=\"message\" href=\"#SCN_KEY\">SCN_KEY</a>.</p>\n\n    <p><b id=\"SCN_UPDATEUI\">SCN_UPDATEUI</b><br />\n     Either the text or styling of the document has changed or the selection range or scroll position may have changed.\n     Now would be a good time to update any container UI elements that depend on document or view state.\n     As it is sometimes difficult to determine whether a change has occurred, these events may also fire when there\n     has been no actual change.\n     The <code>updated</code> field is set to the bit set of things changed since the previous notification.</p>\n    <table class=\"standard\" summary=\"Modify notification type flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Meaning</th>\n\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_UPDATE_CONTENT</code></td>\n\n          <td align=\"center\">0x01</td>\n\n          <td>Contents, styling or markers may have been changed.</td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_UPDATE_SELECTION</code></td>\n\n          <td align=\"center\">0x02</td>\n\n          <td>Selection may have been changed.</td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_UPDATE_V_SCROLL</code></td>\n\n          <td align=\"center\">0x04</td>\n\n          <td>May have scrolled vertically.</td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_UPDATE_H_SCROLL</code></td>\n\n          <td align=\"center\">0x08</td>\n\n          <td>May have scrolled horizontally.</td>\n\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCN_MODIFIED\">SCN_MODIFIED</b><br />\n     This notification is sent when the text or styling of the document changes or is about to\n    change. You can set a mask for the notifications that are sent to the container with <a\n    class=\"message\" href=\"#SCI_SETMODEVENTMASK\"><code>SCI_SETMODEVENTMASK</code></a>. The\n    notification structure contains information about what changed, how the change occurred and\n    whether this changed the number of lines in the document. No modifications may be performed\n    while in a <code>SCN_MODIFIED</code> event. The <code>SCNotification</code> fields used\n    are:</p>\n\n    <table class=\"standard\" summary=\"Modify notification types\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>modificationType</code></td>\n\n          <td align=\"left\">A set of flags that identify the change(s) made. See the next\n          table.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>position</code></td>\n\n          <td align=\"left\">Start position of a text or styling change. Set to 0 if not used.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>length</code></td>\n\n          <td align=\"left\">Length of the change in bytes when the text or styling\n          changes. Set to 0 if not used.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>linesAdded</code></td>\n\n          <td align=\"left\">Number of added lines. If negative, the number of deleted lines. Set to\n          0 if not used or no lines added or deleted.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>text</code></td>\n\n          <td align=\"left\">Valid for text changes, not for style changes. If we are collecting undo\n          information this holds a pointer to the text that is handed to the Undo system, otherwise\n          it is zero. For user performed SC_MOD_BEFOREDELETE the text field is 0.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>line</code></td>\n\n          <td align=\"left\">The line number at which a fold level or marker change occurred. This is\n          0 if unused and may be -1 if more than one line changed.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>foldLevelNow</code></td>\n\n          <td align=\"left\">The new fold level applied to the line or 0 if this field is\n          unused.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>foldLevelPrev</code></td>\n\n          <td align=\"left\">The previous folding level of the line or 0 if this field is\n          unused.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p>The <code>SCNotification.modificationType</code> field has bits set to tell you what has\n    been done. The <code>SC_MOD_*</code> bits correspond to actions. The\n    <code>SC_PERFORMED_*</code> bits tell you if the action was done by the user, or the result of\n    Undo or Redo of a previous action.</p>\n\n    <table class=\"standard\" summary=\"Modify notification type flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Meaning</th>\n\n          <th align=\"left\">SCNotification fields</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_MOD_INSERTTEXT</code></td>\n\n          <td align=\"right\">0x01</td>\n\n          <td>Text has been inserted into the document.</td>\n\n          <td><code>position, length, text, linesAdded</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_DELETETEXT</code></td>\n\n          <td align=\"right\">0x02</td>\n\n          <td>Text has been removed from the document.</td>\n\n          <td><code>position, length, text, linesAdded</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_CHANGESTYLE</code></td>\n\n          <td align=\"right\">0x04</td>\n\n          <td>A style change has occurred.</td>\n\n          <td><code>position, length</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_CHANGEFOLD</code></td>\n\n          <td align=\"right\">0x08</td>\n\n          <td>A folding change has occurred.</td>\n\n          <td><code>line, foldLevelNow, foldLevelPrev</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PERFORMED_USER</code></td>\n\n          <td align=\"right\">0x10</td>\n\n          <td>Information: the operation was done by the user.</td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PERFORMED_UNDO</code></td>\n\n          <td align=\"right\">0x20</td>\n\n          <td>Information: this was the result of an Undo.</td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_PERFORMED_REDO</code></td>\n\n          <td align=\"right\">0x40</td>\n\n          <td>Information: this was the result of a Redo.</td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MULTISTEPUNDOREDO</code></td>\n\n          <td align=\"right\">0x80</td>\n\n          <td>This is part of a multi-step Undo or Redo transaction.</td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_LASTSTEPINUNDOREDO</code></td>\n\n          <td align=\"right\">0x100</td>\n\n          <td>This is the final step in an Undo or Redo transaction.</td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_CHANGEMARKER</code></td>\n\n          <td align=\"right\">0x200</td>\n\n          <td>One or more markers has changed in a line.</td>\n\n          <td><code>line</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_BEFOREINSERT</code></td>\n\n          <td align=\"right\">0x400</td>\n\n          <td>Text is about to be inserted into the document.</td>\n\n          <td><code>position, if performed by user then text in bytes, length in bytes</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_BEFOREDELETE</code></td>\n\n          <td align=\"right\">0x800</td>\n\n          <td>Text is about to be deleted from the document.</td>\n\n          <td><code>position, length</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MOD_CHANGEINDICATOR</code></td>\n\n          <td align=\"right\">0x4000</td>\n\n          <td>An indicator has been added or removed from a range of text.</td>\n\n          <td><code>position, length</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_CHANGELINESTATE\">SC_MOD_CHANGELINESTATE</code></td>\n\n          <td align=\"right\">0x8000</td>\n\n          <td>A line state has changed because <a class=\"seealso\" href=\"#SCI_SETLINESTATE\">SCI_SETLINESTATE</a>\n          was called.</td>\n\n          <td><code>line</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_CHANGETABSTOPS\">SC_MOD_CHANGETABSTOPS</code></td>\n\n          <td align=\"right\">0x200000</td>\n\n          <td>The explicit tab stops on a line have changed because <a class=\"seealso\" href=\"#SCI_CLEARTABSTOPS\">SCI_CLEARTABSTOPS</a> or\n          <a class=\"seealso\" href=\"#SCI_ADDTABSTOP\">SCI_ADDTABSTOP</a> was called.</td>\n\n          <td><code>line</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_LEXERSTATE\">SC_MOD_LEXERSTATE</code></td>\n\n          <td align=\"right\">0x80000</td>\n\n          <td>The internal state of a lexer has changed over a range.</td>\n\n          <td><code>position, length</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_CHANGEMARGIN\">SC_MOD_CHANGEMARGIN</code></td>\n\n          <td align=\"right\">0x10000</td>\n\n          <td>A text margin has changed.</td>\n\n          <td><code>line</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_CHANGEANNOTATION\">SC_MOD_CHANGEANNOTATION</code></td>\n\n          <td align=\"right\">0x20000</td>\n\n          <td>An annotation has changed.</td>\n\n          <td><code>line</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_INSERTCHECK\">SC_MOD_INSERTCHECK</code></td>\n\n          <td align=\"right\">0x100000</td>\n\n          <td>Text is about to be inserted. The handler may change the text being inserted by calling\n\t  <a class=\"seealso\" href=\"#SCI_CHANGEINSERTION\">SCI_CHANGEINSERTION</a>.\n\t  No other modifications may be made in this handler.</td>\n\n          <td><code>position, length, text</code></td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MULTILINEUNDOREDO</code></td>\n\n          <td align=\"right\">0x1000</td>\n\n          <td>This is part of an Undo or Redo with multi-line changes.</td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_STARTACTION</code></td>\n\n          <td align=\"right\">0x2000</td>\n\n          <td>This is set on a SC_PERFORMED_USER action when it is the\n          first or only step in an undo transaction. This can be used to integrate the Scintilla\n          undo stack with an undo stack in the container application by adding a Scintilla\n          action to the container's stack for the currently opened container transaction or\n          to open a new container transaction if there is no open container transaction.\n          </td>\n\n          <td>None</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code id=\"SC_MOD_CONTAINER\">SC_MOD_CONTAINER</code></td>\n\n          <td align=\"right\">0x40000</td>\n\n          <td>This is set on for actions that the container stored into the undo stack with\n\t  <a class=\"message\" href=\"#SCI_ADDUNDOACTION\"><code>SCI_ADDUNDOACTION</code></a>.\n          </td>\n\n          <td>token</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_MODEVENTMASKALL</code></td>\n\n          <td align=\"right\">0x1FFFFF</td>\n\n          <td>This is a mask for all valid flags. This is the default mask state set by <a\n          class=\"message\" href=\"#SCI_SETMODEVENTMASK\"><code>SCI_SETMODEVENTMASK</code></a>.</td>\n\n          <td>None</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCEN_CHANGE\">SCEN_CHANGE</b><br />\n     <code>SCEN_CHANGE</code> (768) is fired when the text (not the style) of the document changes.\n    This notification is sent using the <code>WM_COMMAND</code> message on Windows and the\n    \"command\" signal on GTK+ as this is the behaviour of the standard Edit control\n    (<code>SCEN_CHANGE</code> has the same value as the Windows Edit control\n    <code>EN_CHANGE</code>). No other information is sent. If you need more detailed information\n    use <a class=\"message\" href=\"#SCN_MODIFIED\"><code>SCN_MODIFIED</code></a>. You can filter the\n    types of changes you are notified about with <a class=\"message\"\n    href=\"#SCI_SETMODEVENTMASK\"><code>SCI_SETMODEVENTMASK</code></a> and\n    <a class=\"message\"\n    href=\"#SCI_SETCOMMANDEVENTS\"><code>SCI_SETCOMMANDEVENTS</code></a>.</p>\n\n    <p><b id=\"SCI_SETMODEVENTMASK\">SCI_SETMODEVENTMASK(int eventMask)</b><br />\n     <b id=\"SCI_GETMODEVENTMASK\">SCI_GETMODEVENTMASK &rarr; int</b><br />\n     These messages set and get an event mask that determines which document change events are\n    notified to the container with <a class=\"message\"\n    href=\"#SCN_MODIFIED\"><code>SCN_MODIFIED</code></a> and <a class=\"message\"\n    href=\"#SCEN_CHANGE\"><code>SCEN_CHANGE</code></a>. For example, a container may decide to see\n    only notifications about changes to text and not styling changes by calling\n    <code>SCI_SETMODEVENTMASK(SC_MOD_INSERTTEXT|SC_MOD_DELETETEXT)</code>.</p>\n\n    <p>The possible notification types are the same as the <code>modificationType</code> bit flags\n    used by <code>SCN_MODIFIED</code>: <code>SC_MOD_INSERTTEXT</code>,\n    <code>SC_MOD_DELETETEXT</code>, <code>SC_MOD_CHANGESTYLE</code>,\n    <code>SC_MOD_CHANGEFOLD</code>, <code>SC_PERFORMED_USER</code>, <code>SC_PERFORMED_UNDO</code>,\n    <code>SC_PERFORMED_REDO</code>, <code>SC_MULTISTEPUNDOREDO</code>,\n    <code>SC_LASTSTEPINUNDOREDO</code>, <code>SC_MOD_CHANGEMARKER</code>,\n    <code>SC_MOD_BEFOREINSERT</code>, <code>SC_MOD_BEFOREDELETE</code>,\n    <code>SC_MULTILINEUNDOREDO</code>, and <code>SC_MODEVENTMASKALL</code>.</p>\n\n    <p><b id=\"SCI_SETCOMMANDEVENTS\">SCI_SETCOMMANDEVENTS(bool commandEvents)</b><br />\n     <b id=\"SCI_GETCOMMANDEVENTS\">SCI_GETCOMMANDEVENTS &rarr; bool</b><br />\n     These messages set and get whether <code>SCEN_*</code> command events are\n    sent to the container. For <code>SCEN_CHANGE</code> this acts as an additional filter over\n    <a class=\"message\" href=\"#SCI_SETMODEVENTMASK\"><code>SCI_SETMODEVENTMASK</code></a>.\n    Most applications should set this off to avoid overhead and only use\n    <a class=\"message\" href=\"#SCN_MODIFIED\"><code>SCN_MODIFIED</code></a>.</p>\n\n    <p><b id=\"SCEN_SETFOCUS\">SCEN_SETFOCUS</b><br />\n     <b id=\"SCEN_KILLFOCUS\">SCEN_KILLFOCUS</b><br />\n     <code>SCEN_SETFOCUS</code> (512) is fired when Scintilla receives focus and\n    <code>SCEN_KILLFOCUS</code> (256) when it loses focus. These notifications are sent using the\n    <code>WM_COMMAND</code> message on Windows and the \"command\" signal on GTK+ as this is the\n    behaviour of the standard Edit control. Unfortunately, these codes do not match the Windows Edit\n    notification codes <code>EN_SETFOCUS</code> (256) and <code>EN_KILLFOCUS</code> (512). It is\n    now too late to change the Scintilla codes as clients depend on the current values.</p>\n\n    <p><b id=\"SCN_MACRORECORD\">SCN_MACRORECORD</b><br />\n     The <code><a class=\"message\" href=\"#SCI_STARTRECORD\">SCI_STARTRECORD</a></code> and <a\n    class=\"message\" href=\"#SCI_STOPRECORD\"><code>SCI_STOPRECORD</code></a> messages enable and\n    disable macro recording. When enabled, each time a recordable change occurs, the\n    <code>SCN_MACRORECORD</code> notification is sent to the container. It is up to the container\n    to record the action. To see the complete list of <code>SCI_*</code> messages that are\n    recordable, search the Scintilla source <code>Editor.cxx</code> for\n    <code>Editor::NotifyMacroRecord</code>. The fields of <code>SCNotification</code> set in this\n    notification are:</p>\n\n    <table class=\"standard\" summary=\"Macro record notification data\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>message</code></td>\n\n          <td align=\"left\">The <code>SCI_*</code> message that caused the notification.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>wParam</code></td>\n\n          <td align=\"left\">The value of <code>wParam</code> in the <code>SCI_*</code> message.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>lParam</code></td>\n\n          <td align=\"left\">The value of <code>lParam</code> in the <code>SCI_*</code> message.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCN_MARGINCLICK\">SCN_MARGINCLICK</b><br />\n     <b id=\"SCN_MARGINRIGHTCLICK\">SCN_MARGINRIGHTCLICK</b><br />\n     These notifications tell the container that the mouse was clicked or right clicked inside a <a class=\"jump\"\n    href=\"#Margins\">margin</a> that was marked as sensitive (see <a class=\"message\"\n    href=\"#SCI_SETMARGINSENSITIVEN\"><code>SCI_SETMARGINSENSITIVEN</code></a>). This can be used to\n    perform folding or to place breakpoints. The following <code>SCNotification</code> fields are\n    used:</p>\n\n    <table class=\"standard\" summary=\"Margin click notification\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>modifiers</code></td>\n\n          <td align=\"left\">The appropriate combination of <code>SCI_SHIFT</code>,\n          <code>SCI_CTRL</code> and <code>SCI_ALT</code> to indicate the keys that were held down\n          at the time of the margin click.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>position</code></td>\n\n          <td align=\"left\">The position of the start of the line in the document that corresponds\n          to the margin click.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>margin</code></td>\n\n          <td align=\"left\">The margin number that was clicked.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCN_NEEDSHOWN\">SCN_NEEDSHOWN</b><br />\n     Scintilla has determined that a range of lines that is currently invisible should be made\n    visible. An example of where this may be needed is if the end of line of a contracted fold\n    point is deleted. This message is sent to the container in case it wants to make the line\n    visible in some unusual way such as making the whole document visible. Most containers will\n    just ensure each line in the range is visible by calling <a class=\"message\"\n    href=\"#SCI_ENSUREVISIBLE\"><code>SCI_ENSUREVISIBLE</code></a>. The <code>position</code> and\n    <code>length</code> fields of <code>SCNotification</code> indicate the range of the document\n    that should be made visible. The container code will be similar to the following code\n    skeleton:</p>\n<pre>\nfirstLine = SCI_LINEFROMPOSITION(scn.position)\nlastLine = SCI_LINEFROMPOSITION(scn.position+scn.length-1)\nfor line = lineStart to lineEnd do SCI_ENSUREVISIBLE(line) next\n</pre>\n\n    <p><b id=\"SCN_PAINTED\">SCN_PAINTED</b><br />\n     Painting has just been done. Useful when you want to update some other widgets based on a\n    change in Scintilla, but want to have the paint occur first to appear more responsive. There is\n    no other information in <code>SCNotification</code>.</p>\n\n    <p><b id=\"SCN_USERLISTSELECTION\">SCN_USERLISTSELECTION</b><br />\n     The user has selected an item in a <a class=\"jump\" href=\"#UserLists\">user list</a>. The\n    <code>SCNotification</code> fields used are:</p>\n\n    <table class=\"standard\" summary=\"User list notification\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>listType</code></td>\n\n          <td align=\"left\">This is set to the <code>listType</code> parameter from the <a\n          class=\"message\" href=\"#SCI_USERLISTSHOW\"><code>SCI_USERLISTSHOW</code></a> message that\n          initiated the list.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>text</code></td>\n\n          <td align=\"left\">The text of the selection.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>position</code></td>\n\n          <td align=\"left\">The position the list was displayed at.</td>\n        </tr>\n        <tr>\n          <td align=\"left\"><code>ch</code></td>\n\n          <td align=\"left\">If a fillup character was the method of selection, the used\n            character, otherwise 0.</td>\n        </tr>\n        <tr>\n          <td align=\"left\"><code>listCompletionMethod</code></td>\n\n          <td align=\"left\">A value indicating the way in which the completion\n            occurred. See the table below.</td>\n        </tr>\n      </tbody>\n    </table>\n    <br />\n\n     See the <code><a class=\"jump\" href=\"#SCN_AUTOCCOMPLETED\">SCN_AUTOCCOMPLETED</a></code> notification\n    for the possible values for <code>listCompletionMethod.</code>\n    <p><b id=\"SCN_URIDROPPED\">SCN_URIDROPPED</b><br />\n     Only on the GTK+ version. Indicates that the user has dragged a URI such as a file name or Web\n    address onto Scintilla. The container could interpret this as a request to open the file. The\n    <code>text</code> field of <code>SCNotification</code> points at the URI text.</p>\n\n    <p><b id=\"SCN_DWELLSTART\">SCN_DWELLSTART</b><br />\n     <b id=\"SCN_DWELLEND\">SCN_DWELLEND</b><br />\n     <code>SCN_DWELLSTART</code> is generated when the user keeps the mouse in one position for the\n    dwell period (see <code><a class=\"message\"\n    href=\"#SCI_SETMOUSEDWELLTIME\">SCI_SETMOUSEDWELLTIME</a></code>). <code>SCN_DWELLEND</code> is\n    generated after a <code>SCN_DWELLSTART</code> and the mouse is moved or other activity such as\n    key press indicates the dwell is over. Both notifications set the same fields in\n    <code>SCNotification</code>:</p>\n\n    <table class=\"standard\" summary=\"Mouse dwell notification\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>position</code></td>\n\n          <td align=\"left\">This is the nearest position in the document to the position where the\n          mouse pointer was lingering.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>x, y</code></td>\n\n          <td align=\"left\">Where the pointer lingered. The <code>position</code> field is set to\n          <code><a class=\"message\"\n          href=\"#SCI_POSITIONFROMPOINTCLOSE\">SCI_POSITIONFROMPOINTCLOSE</a>(x, y)</code>.</td>\n        </tr>\n      </tbody>\n    </table>\n    <br />\n\n    <p><b id=\"SCI_SETMOUSEDWELLTIME\">SCI_SETMOUSEDWELLTIME(int periodMilliseconds)</b><br />\n     <b id=\"SCI_GETMOUSEDWELLTIME\">SCI_GETMOUSEDWELLTIME &rarr; int</b><br />\n     These two messages set and get the time the mouse must sit still, in milliseconds, to generate\n    a <code><a class=\"message\" href=\"#SCN_DWELLSTART\">SCN_DWELLSTART</a></code> notification. If\n    set to <code>SC_TIME_FOREVER</code>, the default, no dwell events are generated.</p>\n\n    <p><b id=\"SCN_ZOOM\">SCN_ZOOM</b><br />\n     This notification is generated when the user zooms the display using the keyboard or the\n    <code><a class=\"seealso\" href=\"#SCI_SETZOOM\">SCI_SETZOOM</a></code> method is called. This\n    notification can be used to recalculate positions, such as the width of the line number margin\n    to maintain sizes in terms of characters rather than pixels. <code>SCNotification</code> has no\n    additional information.</p>\n\n    <p>\n    <b id=\"SCN_HOTSPOTCLICK\">SCN_HOTSPOTCLICK</b><br />\n    <b id=\"SCN_HOTSPOTDOUBLECLICK\">SCN_HOTSPOTDOUBLECLICK</b><br />\n    <b id=\"SCN_HOTSPOTRELEASECLICK\">SCN_HOTSPOTRELEASECLICK</b><br />\n     These notifications are generated when the user clicks or double clicks on\n     text that is in a style with the hotspot attribute set.\n    This notification can be used to link to variable definitions or web pages.\n    In the notification handler, you should avoid calling any function that modifies the current selection or caret position.\n    The <code>position</code> field is set the text position of the click or\n    double click and the <code>modifiers</code> field set to the key modifiers\n    held down in a similar manner to <a class=\"message\" href=\"#SCN_KEY\">SCN_KEY</a>.\n    Only the state of the Ctrl key is reported for <code>SCN_HOTSPOTRELEASECLICK</code>.</p>\n\n    <p>\n    <b id=\"SCN_INDICATORCLICK\">SCN_INDICATORCLICK</b><br />\n    <b id=\"SCN_INDICATORRELEASE\">SCN_INDICATORRELEASE</b><br />\n     These notifications are generated when the user clicks or releases the mouse on\n     text that has an indicator.\n    The <code>position</code> field is set the text position of the click or\n    double click and the <code>modifiers</code> field set to the key modifiers\n    held down in a similar manner to <a class=\"message\" href=\"#SCN_KEY\">SCN_KEY</a>.</p>\n\n    <p><b id=\"SCN_CALLTIPCLICK\">SCN_CALLTIPCLICK</b><br />\n     This notification is generated when the user clicks on a calltip.\n    This notification can be used to display the next function prototype when a\n    function name is overloaded with different arguments.\n    The <code>position</code> field is set to 1 if the click is in an up arrow,\n    2 if in a down arrow, and 0 if elsewhere.</p>\n\n    <p><b id=\"SCN_AUTOCSELECTION\">SCN_AUTOCSELECTION</b><br />\n     The user has selected an item in an <a class=\"jump\" href=\"#Autocompletion\">autocompletion list</a>. The\n     notification is sent before the selection is inserted. Automatic insertion can be cancelled by sending a\n     <code><a class=\"message\" href=\"#SCI_AUTOCCANCEL\">SCI_AUTOCCANCEL</a></code> message\n     before returning from the notification. The <code>SCNotification</code> fields used are:</p>\n\n    <table class=\"standard\" summary=\"Autocompletion list notification\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>position</code></td>\n\n          <td align=\"left\">The start position of the word being completed.</td>\n        </tr>\n        <tr>\n          <td align=\"left\"><code>text</code></td>\n\n          <td align=\"left\">The text of the selection.</td>\n        </tr>\n        <tr>\n          <td align=\"left\"><code>ch</code></td>\n\n          <td align=\"left\">If a fillup character was the method of selection, the used\n            character, otherwise 0.</td>\n        </tr>\n        <tr>\n          <td align=\"left\"><code>listCompletionMethod</code></td>\n\n          <td align=\"left\">A value indicating the way in which the completion\n            occurred. See the table below.</td>\n        </tr>\n      </tbody>\n    </table>\n    <br />\n    <table class=\"standard\" summary=\"Modify notification type flags\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Symbol</th>\n\n          <th>Value</th>\n\n          <th align=\"left\">Meaning</th>\n\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>SC_AC_FILLUP</code></td>\n\n          <td align=\"center\">1</td>\n\n          <td>A fillup character triggered the completion. The character used is\n            in ch. </td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_AC_DOUBLECLICK</code></td>\n\n          <td align=\"center\">2</td>\n\n          <td>A double-click triggered the completion. ch is 0.</td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_AC_TAB</code></td>\n\n          <td align=\"center\">3</td>\n\n          <td>The tab key or SCI_TAB triggered the completion. ch is 0.</td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_AC_NEWLINE</code></td>\n\n          <td align=\"center\">4</td>\n\n          <td>A new line or SCI_NEWLINE triggered the completion. ch is 0.</td>\n\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>SC_AC_COMMAND</code></td>\n\n          <td align=\"center\">5</td>\n\n          <td>The\n    <code>\n     <a class=\"seealso\" href=\"#SCI_AUTOCSELECT\">SCI_AUTOCSELECT</a></code> message\n          triggered the completion. ch is 0.</td>\n\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCN_AUTOCCANCELLED\">SCN_AUTOCCANCELLED</b><br />\n     The user has cancelled an <a class=\"jump\" href=\"#Autocompletion\">autocompletion list</a>.\n     There is no other information in SCNotification.</p>\n\n    <p><b id=\"SCN_AUTOCCHARDELETED\">SCN_AUTOCCHARDELETED</b><br />\n     The user deleted a character while autocompletion list was active.\n     There is no other information in SCNotification.</p>\n\n\n    <p><b id=\"SCN_AUTOCCOMPLETED\">SCN_AUTOCCOMPLETED<br />\n    </b>This notification is generated after an autocompletion has inserted its\n    text. The fields are identical to the\n    <code>\n     <a class=\"jump\" href=\"#SCN_AUTOCSELECTION\">SCN_AUTOCSELECTION</a></code>\n     notification.</p>\n\n    <p><b id=\"SCN_AUTOCSELECTIONCHANGE\">SCN_AUTOCSELECTIONCHANGE<br />\n    </b>This notification is sent when items are highlighted in an autocompletion or user list.\n     The\n    <code>SCNotification</code> fields used are:</p>\n\n    <table class=\"standard\" summary=\"User list notification\">\n      <tbody>\n        <tr>\n          <th align=\"left\">Field</th>\n\n          <th align=\"left\">Usage</th>\n        </tr>\n      </tbody>\n\n      <tbody valign=\"top\">\n        <tr>\n          <td align=\"left\"><code>listType</code></td>\n\n          <td align=\"left\">This is set to the <code>listType</code> parameter from the <a\n          class=\"message\" href=\"#SCI_USERLISTSHOW\"><code>SCI_USERLISTSHOW</code></a> message\n\t  or 0 for an autocompletion.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>text</code></td>\n\n          <td align=\"left\">The text of the selection.</td>\n        </tr>\n\n        <tr>\n          <td align=\"left\"><code>position</code></td>\n\n          <td align=\"left\">The position the list was displayed at.</td>\n        </tr>\n      </tbody>\n    </table>\n\n    <p><b id=\"SCN_FOCUSIN\">SCN_FOCUSIN</b><br />\n    <b id=\"SCN_FOCUSOUT\">SCN_FOCUSOUT</b><br />\n    <code>SCN_FOCUSIN</code> (2028) is fired when Scintilla receives focus and\n    <code>SCN_FOCUSOUT</code> (2029) when it loses focus.</p>\n\n    <h2 id=\"Images\">Images</h2>\n\n    <p>Two formats are supported for images used in margin markers and autocompletion lists, RGBA and XPM.</p>\n\n    <h3 id=\"RGBA\">RGBA</h3>\n\n    <p>The RGBA format allows translucency with an <a class=\"jump\" href=\"#alpha\">alpha</a>\n    value for each pixel. It is simpler than\n    <code>XPM</code> and more capable.</p>\n\n    <p>The data is a sequence of 4 byte pixel values starting with the pixels for the top line, with the\n    leftmost pixel first, then continuing with the pixels for subsequent lines. There is no gap between\n    lines for alignment reasons.</p>\n\n    <p>Each pixel consists of, in order, a red byte, a green byte, a blue byte and an alpha byte.\n    The colour bytes are not premultiplied by the alpha value. That is, a fully red pixel that is\n    25% opaque will be [FF, 00, 00, 3F]</p>\n\n    <p>Since the RGBA pixel data does not include any size information the\n    width and height must previously been set with the\n    <a class=\"message\" href=\"#SCI_RGBAIMAGESETWIDTH\"><code>SCI_RGBAIMAGESETWIDTH</code></a> and\n    <a class=\"message\" href=\"#SCI_RGBAIMAGESETHEIGHT\"><code>SCI_RGBAIMAGESETHEIGHT</code></a> messages.</p>\n\n    <p>GUI platforms often include functions for reading image file formats like PNG into memory\n    in the RGBA form or a similar form.\n    If there is no suitable platform support, the <a href=\"http://lodev.org/lodepng/\">LodePNG and picoPNG</a> libraries are small libraries\n    for loading and decoding PNG files available under a BSD-style license.</p>\n\n    <p>RGBA format is supported on Windows, GTK+ and OS X Cocoa.</p>\n\n    <h3 id=\"XPM\">XPM</h3>\n\n    <p>The XPM format is\n    <a class=\"jump\" href=\"http://en.wikipedia.org/wiki/X_PixMap\">described here</a>.\n    Scintilla is only able to handle XPM pixmaps that use one character per pixel with no named colours.\n    There may be a completely transparent colour named \"None\".</p>\n    <p>There are two forms of data structure used for XPM images, the first \"lines form\" format is well suited\n    to embedding an image inside C source code and the \"text form\" is suited to reading from a file.\n    In the lines form, an array of strings is used with the first string indicating the dimensions and number of colours\n    used. This is followed by a string for each colour and that section is followed by the image with one string per line.\n    The text form contains the same data as one null terminated block formatted as C source code starting\n    with a \"/* XPM */\" comment to mark the format.</p>\n    <p>Either format may be used with Scintilla APIs with the bytes at the location pointed to examined\n    to determine which format: if the bytes start with \"/* XPM */\" then it is treated as text form,\n    otherwise it is treated as lines form.</p>\n\n    <p>XPM format is supported on on all platforms.</p>\n\n    <h2 id=\"GTK\">GTK+</h2>\n    <p>On GTK+, the following functions create a Scintilla widget, communicate with it and allow\n    resources to be released after all Scintilla widgets have been destroyed.</p>\n    <code><a class=\"message\" href=\"#scintilla_new\">GtkWidget *scintilla_new()</a><br />\n     <a class=\"message\" href=\"#scintilla_set_id\">void scintilla_set_id(ScintillaObject *sci, uptr_t id)</a><br />\n     <a class=\"message\" href=\"#scintilla_send_message\">sptr_t scintilla_send_message(ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam)</a><br />\n     <a class=\"message\" href=\"#scintilla_release_resources\">void scintilla_release_resources()</a><br />\n     </code>\n\n    <p><b id=\"scintilla_new\">GtkWidget *scintilla_new()</b><br />\n    Create a new Scintilla widget. The returned pointer can be added to a container and displayed in the same way as other\n    widgets.</p>\n\n    <p><b id=\"scintilla_set_id\">void scintilla_set_id(ScintillaObject *sci, uptr_t id)</b><br />\n    Set the control ID which will be used in the idFrom field of the Sci_NotifyHeader structure of all\n    notifications for this instance.\n    This is equivalent to <a class=\"seealso\" href=\"#SCI_SETIDENTIFIER\">SCI_SETIDENTIFIER</a>.</p>\n\n    <p><b id=\"scintilla_send_message\">sptr_t scintilla_send_message(ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam)</b><br />\n    The main entry point allows sending any of the messages described in this document.</p>\n\n    <p><b id=\"scintilla_release_resources\">void scintilla_release_resources()</b><br />\n    Call this to free any remaining resources after all the Scintilla widgets have been destroyed.</p>\n\n    <h2 id=\"ProvisionalMessages\">Provisional messages</h2>\n\n    <p>Complex new features may be added as 'provisional' to allow further changes to the API.\n    Provisional features may even be removed if experience shows they are a mistake.</p>\n\n    <p>Provisional features are displayed in this document with <span class=\"provisional\">a distinctive background colour</span>.</p>\n\n    <p>There are currently no provisional messages or values.</p>\n\n    <p>Some developers may want to only use features that are stable and have graduated from\n    provisional status. To avoid using provisional messages compile with the symbol\n    <code>SCI_DISABLE_PROVISIONAL</code> defined.</p>\n\n    <h2 id=\"DeprecatedMessages\">Deprecated messages and notifications</h2>\n\n    <p>The following messages are currently supported to emulate existing Windows controls, but\n    they will be removed in future versions of Scintilla. If you use these messages you should\n    replace them with the Scintilla equivalent.</p>\n<pre>\nWM_GETTEXT(int length, char *text)\nWM_SETTEXT(&lt;unused&gt;, const char *text)\nEM_GETLINE(int line, char *text)\nEM_REPLACESEL(&lt;unused&gt;, const char *text)\nEM_SETREADONLY\nEM_GETTEXTRANGE(&lt;unused&gt;, TEXTRANGE *tr)\nWM_CUT\nWM_COPY\nWM_PASTE\nWM_CLEAR\nWM_UNDO\nEM_CANUNDO\nEM_EMPTYUNDOBUFFER\nWM_GETTEXTLENGTH\nEM_GETFIRSTVISIBLELINE\nEM_GETLINECOUNT\nEM_GETMODIFY\nEM_SETMODIFY(bool isModified)\nEM_GETRECT(RECT *rect)\nEM_GETSEL(int *start, int *end)\nEM_EXGETSEL(&lt;unused&gt;, CHARRANGE *cr)\nEM_SETSEL(int start, int end)\nEM_EXSETSEL(&lt;unused&gt;, CHARRANGE *cr)\nEM_GETSELTEXT(&lt;unused&gt;, char *text)\nEM_LINEFROMCHAR(int position)\nEM_EXLINEFROMCHAR(int position)\nEM_LINEINDEX(int line)\nEM_LINELENGTH(int position)\nEM_SCROLL(int line)\nEM_LINESCROLL(int column, int line)\nEM_SCROLLCARET()\nEM_CANPASTE\nEM_CHARFROMPOS(&lt;unused&gt;, POINT *location)\nEM_POSFROMCHAR(int position, POINT *location)\nEM_SELECTIONTYPE\nEM_HIDESELECTION(bool hide)\nEM_FINDTEXT(int flags, FINDTEXTEX *ft)\nEM_FINDTEXTEX(int flags, FINDTEXTEX *ft)\nEM_GETMARGINS\nEM_SETMARGINS(EC_LEFTMARGIN or EC_RIGHTMARGIN or EC_USEFONTINFO, int val)\nEM_FORMATRANGE\n</pre>\n\n    <p>The following are features that are only included if you define\n    <code>INCLUDE_DEPRECATED_FEATURES</code> in <code>Scintilla.h</code>. To ensure future\n    compatibility you should change them as indicated.</p>\n\n    <code>\n     <a class=\"message\" href=\"#SCI_SETKEYSUNICODE\">SCI_SETKEYSUNICODE(bool keysUnicode)</a><br />\n     <a class=\"message\" href=\"#SCI_GETKEYSUNICODE\">SCI_GETKEYSUNICODE &rarr; bool</a><br />\n     <a class=\"message\" href=\"#SCI_SETSTYLEBITS\">SCI_SETSTYLEBITS(int bits)</a><br />\n     <a class=\"message\" href=\"#SCI_GETSTYLEBITS\">SCI_GETSTYLEBITS &rarr; int</a><br />\n     <a class=\"message\" href=\"#SCI_GETSTYLEBITSNEEDED\">SCI_GETSTYLEBITSNEEDED &rarr; int</a><br />\n    </code>\n\n    <p><b id=\"SCI_SETKEYSUNICODE\">SCI_SETKEYSUNICODE(bool keysUnicode)</b> Deprecated<br />\n     <b id=\"SCI_GETKEYSUNICODE\">SCI_GETKEYSUNICODE &rarr; bool</b> Deprecated<br />\n     On Windows, Scintilla no longer supports narrow character windows so input is always treated as Unicode.</p>\n\n    <p>The following are features that should be removed from calling code but are still\n    defined to avoid breaking callers.</p>\n\n    <p id=\"StyleByteIndicators\"><b id=\"SCI_SETSTYLEBITS\">SCI_SETSTYLEBITS(int bits)</b> Deprecated<br />\n    <b id=\"SCI_GETSTYLEBITS\">SCI_GETSTYLEBITS &rarr; int</b> Deprecated<br />\n    <b id=\"SCI_GETSTYLEBITSNEEDED\">SCI_GETSTYLEBITSNEEDED &rarr; int</b> Deprecated<br />\n    <code>INDIC0_MASK</code>, <code>INDIC1_MASK</code>, <code>INDIC2_MASK</code>, <code>INDICS_MASK</code> Deprecated<br />\n     Scintilla no longer supports style byte indicators. The last version to support style byte indicators was 3.4.2.\n     Any use of these symbols should be removed and replaced with <a href=\"#Indicators\">standard indicators</a>.\n    <code>SCI_GETSTYLEBITS</code> and <code>SCI_GETSTYLEBITSNEEDED</code> always return 8,\n    indicating that 8 bits are used for styling and there are 256 styles.</p>\n\n    <h2 id=\"EditMessagesNeverSupportedByScintilla\">Edit messages never supported by Scintilla</h2>\n<pre>\nEM_GETWORDBREAKPROC EM_GETWORDBREAKPROCEX\nEM_SETWORDBREAKPROC EM_SETWORDBREAKPROCEX\nEM_GETWORDWRAPMODE EM_SETWORDWRAPMODE\nEM_LIMITTEXT EM_EXLIMITTEXT\nEM_SETRECT EM_SETRECTNP\nEM_FMTLINES\nEM_GETHANDLE EM_SETHANDLE\nEM_GETPASSWORDCHAR EM_SETPASSWORDCHAR\nEM_SETTABSTOPS\nEM_FINDWORDBREAK\nEM_GETCHARFORMAT EM_SETCHARFORMAT\nEM_GETOLEINTERFACE EM_SETOLEINTERFACE\nEM_SETOLECALLBACK\nEM_GETPARAFORMAT EM_SETPARAFORMAT\nEM_PASTESPECIAL\nEM_REQUESTRESIZE\nEM_GETBKGNDCOLOR EM_SETBKGNDCOLOR\nEM_STREAMIN EM_STREAMOUT\nEM_GETIMECOLOR EM_SETIMECOLOR\nEM_GETIMEOPTIONS EM_SETIMEOPTIONS\nEM_GETOPTIONS EM_SETOPTIONS\nEM_GETPUNCTUATION EM_SETPUNCTUATION\nEM_GETTHUMB\nEM_GETEVENTMASK\nEM_SETEVENTMASK\nEM_DISPLAYBAND\nEM_SETTARGETDEVICE\n</pre>\n\n    <p>Scintilla tries to be a superset of the standard windows Edit and RichEdit controls wherever\n    that makes sense. As it is not intended for use in a word processor, some edit messages can not\n    be sensibly handled. Unsupported messages have no effect.</p>\n\n    <h2 id=\"RemovedFeatures\">Removed features</h2>\n\n    <p>These features have now been removed completely.</p>\n\n    <p><b id=\"SC_CP_DBCS\">SC_CP_DBCS</b> Removed in 2016 with release 3.7.1<br />\n     This was used to set a DBCS (Double Byte Character Set) mode on GTK+.\n     An explicit DBCS code page should be used when calling <a class=\"seealso\" href=\"#SCI_SETCODEPAGE\">SCI_SETCODEPAGE</a></p>\n\n    <p><b id=\"SCI_SETUSEPALETTE\">SCI_SETUSEPALETTE(bool usePalette)</b> Removed in 2016 with release 3.7.1<br />\n    <b id=\"SCI_GETUSEPALETTE\">SCI_GETUSEPALETTE &rarr; bool</b> Removed in 2016 with release 3.7.1<br />\n     Scintilla no longer supports palette mode. The last version to support palettes was 2.29.\n     Any calls to these methods must be removed.</p>\n\n    <p>Previous versions of Scintilla allowed indicators to be stored in bits of each style byte.\n    This was deprecated in 2007 and removed in 2014 with release 3.4.3.\n    All uses of style byte indicators should be replaced with <a href=\"#Indicators\">standard indicators</a>.</p>\n\n    <h2 id=\"BuildingScintilla\">Building Scintilla</h2>\n\n    <p>To build Scintilla or SciTE, see the README file present in both the Scintilla and SciTE\n    directories.\n    The compiler must support C++11.\n    For Windows, GCC 4.8 or Microsoft Visual C++ 2015 can be used\n    for building. For GTK+, GCC 4.8 or newer should be used. GTK+ 2.24+ and 3.x are\n    supported with glib 2.22+. The version of GTK+ installed should be detected automatically.\n    When both GTK+ 2 and GTK+ 3 are present, building for GTK+ 3.x requires defining GTK3\n    on the command line.</p>\n\n    <h3>Static linking</h3>\n\n    <p>On Windows, Scintilla is normally used as a dynamic library as a .DLL file. If you want to\n    link Scintilla directly into your application .EXE or .DLL file, then you can link to the static library\n    bin/libscintilla.lib (or .a if using GCC) and call <code>Scintilla_RegisterClasses</code>.\n    <code>Scintilla_RegisterClasses</code> takes the <code>HINSTANCE</code> of your\n    application and ensures that the \"Scintilla\" window class is registered.</p>\n    <p>When producing a stand-alone Scintilla DLL, the ScintillaDLL.cxx file should be compiled and\n    linked in to provide <code>DllMain</code> and <code>Scintilla_RegisterClasses</code>.</p>\n\n    <h3>Ensuring lexers are linked into Scintilla</h3>\n\n    <p>Depending on the compiler and linker used, the lexers may be stripped out. This is most\n    often caused when building a static library. To ensure the lexers are linked in, the\n    <code>Scintilla_LinkLexers()</code> function may be called.</p>\n\n    <h3>Changing set of lexers</h3>\n\n    <p>To change the set of lexers in Scintilla, add and remove lexer source files\n    (<code>Lex*.cxx</code>) from the <code>scintilla/lexers directory</code> and run the\n    <code>scripts/LexGen.py</code> script from the <code>scripts</code> directory to update the make files\n    and <code>Catalogue.cxx</code>. <code>LexGen.py</code> requires Python 2.5 or later. If you do\n    not have access to Python, you can hand edit <code>Catalogue.cxx</code> in a simple-minded way,\n    following the patterns of other lexers. The important thing is to include\n    <code>LINK_LEXER(lmMyLexer);</code> to correspond with the <code>LexerModule\n    lmMyLexer(...);</code> in your lexer source code.</p>\n\n    <h3>Building with an alternative Regular Expression implementation</h3>\n\n <p id=\"AlternativeRegEx\">A simple interface provides support for switching the Regular Expressions engine at\n compile time. You must implement <code>RegexSearchBase</code> for your chosen engine,\n look at the built-in implementation <code>BuiltinRegex</code> to see how this is done.\n You then need to implement the factory method <code>CreateRegexSearch</code>\n to create an instance of your class. You must disable the built-in implementation by defining\n <code>SCI_OWNREGEX</code>.</p>\n\n  </body>\n</html>\n\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/ScintillaDownload.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Download Scintilla\n    </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Download\n          Scintilla</font></a>\n        </td>\n      </tr>\n    </table>\n    <table bgcolor=\"#CCCCCC\" width=\"100%\" cellspacing=\"0\" cellpadding=\"8\" border=\"0\">\n      <tr>\n        <td>\n          <font size=\"4\"> <a href=\"https://www.scintilla.org/scintilla3101.zip\">\n\tWindows</a>&nbsp;&nbsp;\n\t<a href=\"https://www.scintilla.org/scintilla3101.tgz\">\n          GTK+/Linux</a>&nbsp;&nbsp;\n\t</font>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Download.\n    </h2>\n    <p>\n       The <a href=\"License.txt\">license</a> for using Scintilla or SciTE is similar to that of Python\n      containing very few restrictions.\n    </p>\n    <h3>\n       Release 3.10.1\n    </h3>\n    <h4>\n       Source Code\n    </h4>\n       The source code package contains all of the source code for Scintilla but no binary\n\texecutable code and is available in\n       <ul>\n       <li><a href=\"https://www.scintilla.org/scintilla3101.zip\">zip format</a> (1600K) commonly used on Windows</li>\n       <li><a href=\"https://www.scintilla.org/scintilla3101.tgz\">tgz format</a> (1400K) commonly used on Linux and compatible operating systems</li>\n       </ul>\n       Instructions for building on both Windows and Linux are included in the readme file.\n    <h4>\n       Windows Executable Code\n    </h4>\n       There is no download available containing only the Scintilla DLL.\n       However, it is included in the <a href=\"SciTEDownload.html\">SciTE\n       executable full download</a> as SciLexer.DLL.\n    <p>\n       <a href=\"SciTEDownload.html\">SciTE</a> is a good demonstration of Scintilla.\n    </p>\n    <p>\n       Previous versions can be downloaded from the <a href=\"ScintillaHistory.html\">history\n      page</a>.\n    </p>\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/ScintillaHistory.html",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla and SciTE\n    </title>\n    <style type=\"text/css\">\n        table {\n            border-collapse: collapse;\n            font-size: 80%;\n        }\n        td {\n            xborder: 1px solid #1F1F1F;\n            padding: 0px 4px;\n        }\n    </style>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          and SciTE</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       History of Scintilla and SciTE\n    </h2>\n    <h3>\n       Contributors\n    </h3>\n    <p>\n       Thanks to all the people that have contributed patches, bug reports and suggestions.\n    </p>\n    <p>\n       Source code and documentation have been contributed by\n    </p>\n    <table>\n      <tr>\n\t<td>Atsuo Ishimoto</td>\n\t<td>Mark Hammond</td>\n\t<td>Francois Le Coguiec</td>\n\t<td>Dale Nagata</td>\n      </tr><tr>\n\t<td>Ralf Reinhardt</td>\n\t<td>Philippe Lhoste</td>\n\t<td>Andrew McKinlay</td>\n\t<td>Stephan R. A. Deibel</td>\n      </tr><tr>\n\t<td>Hans Eckardt</td>\n\t<td>Vassili Bourdo</td>\n\t<td>Maksim Lin</td>\n\t<td>Robin Dunn</td>\n      </tr><tr>\n\t<td>John Ehresman</td>\n\t<td>Steffen Goeldner</td>\n\t<td>Deepak S.</td>\n\t<td><a href=\"http://www.develop.com\">DevelopMentor</a></td>\n      </tr><tr>\n\t<td>Yann Gaillard</td>\n\t<td>Aubin Paul</td>\n\t<td>Jason Diamond</td>\n\t<td>Ahmad Baitalmal</td>\n      </tr><tr>\n\t<td>Paul Winwood</td>\n\t<td>Maxim Baranov</td>\n\t<td>Ragnar Højland</td>\n\t<td>Christian Obrecht</td>\n      </tr><tr>\n\t<td>Andreas Neukoetter</td>\n\t<td>Adam Gates</td>\n\t<td>Steve Lhomme</td>\n\t<td>Ferdinand Prantl</td>\n      </tr><tr>\n\t<td>Jan Dries</td>\n\t<td>Markus Gritsch</td>\n\t<td>Tahir Karaca</td>\n\t<td>Ahmad Zawawi</td>\n      </tr><tr>\n\t<td>Laurent le Tynevez</td>\n\t<td>Walter Braeu</td>\n\t<td>Ashley Cambrell</td>\n\t<td>Garrett Serack</td>\n      </tr><tr>\n\t<td>Holger Schmidt</td>\n\t<td><a href=\"http://www.activestate.com\">ActiveState</a></td>\n\t<td>James Larcombe</td>\n\t<td>Alexey Yutkin</td>\n      </tr><tr>\n\t<td>Jan Hercek</td>\n\t<td>Richard Pecl</td>\n\t<td>Edward K. Ream</td>\n\t<td>Valery Kondakoff</td>\n      </tr><tr>\n\t<td>Smári McCarthy</td>\n\t<td>Clemens Wyss</td>\n\t<td>Simon Steele</td>\n\t<td>Serge A. Baranov</td>\n      </tr><tr>\n\t<td>Xavier Nodet</td>\n\t<td>Willy Devaux</td>\n\t<td>David Clain</td>\n\t<td>Brendon Yenson</td>\n      </tr><tr>\n\t<td><a href=\"http://www.baanboard.com\">Vamsi Potluru</a></td>\n\t<td>Praveen Ambekar</td>\n\t<td>Alan Knowles</td>\n\t<td>Kengo Jinno</td>\n      </tr><tr>\n\t<td>Valentin Valchev</td>\n\t<td>Marcos E. Wurzius</td>\n\t<td>Martin Alderson</td>\n\t<td>Robert Gustavsson</td>\n      </tr><tr>\n\t<td>José Fonseca</td>\n\t<td>Holger Kiemes</td>\n\t<td>Francis Irving</td>\n\t<td>Scott Kirkwood</td>\n      </tr><tr>\n\t<td>Brian Quinlan</td>\n\t<td>Ubi</td>\n\t<td>Michael R. Duerig</td>\n\t<td>Deepak T</td>\n      </tr><tr>\n\t<td>Don Paul Beletsky</td>\n\t<td>Gerhard Kalab</td>\n\t<td>Olivier Dagenais</td>\n\t<td>Josh Wingstrom</td>\n      </tr><tr>\n\t<td>Bruce Dodson</td>\n\t<td>Sergey Koshcheyev</td>\n\t<td>Chuan-jian Shen</td>\n\t<td>Shane Caraveo</td>\n      </tr><tr>\n\t<td>Alexander Scripnik</td>\n\t<td>Ryan Christianson</td>\n\t<td>Martin Steffensen</td>\n\t<td>Jakub Vrána</td>\n      </tr><tr>\n\t<td>The Black Horus</td>\n\t<td>Bernd Kreuss</td>\n\t<td>Thomas Lauer</td>\n\t<td>Mike Lansdaal</td>\n      </tr><tr>\n\t<td>Yukihiro Nakai</td>\n\t<td>Jochen Tucht</td>\n\t<td>Greg Smith</td>\n\t<td>Steve Schoettler</td>\n      </tr><tr>\n\t<td>Mauritius Thinnes</td>\n\t<td>Darren Schroeder</td>\n\t<td>Pedro Guerreiro</td>\n\t<td>Steven te Brinke</td>\n      </tr><tr>\n\t<td>Dan Petitt</td>\n\t<td>Biswapesh Chattopadhyay</td>\n\t<td>Kein-Hong Man</td>\n\t<td>Patrizio Bekerle</td>\n      </tr><tr>\n\t<td>Nigel Hathaway</td>\n\t<td>Hrishikesh Desai</td>\n\t<td>Sergey Puljajev</td>\n\t<td>Mathias Rauen</td>\n      </tr><tr>\n\t<td><a href=\"http://www.spaceblue.com\">Angelo Mandato</a></td>\n\t<td>Denis Sureau</td>\n\t<td>Kaspar Schiess</td>\n\t<td>Christoph Hösler</td>\n      </tr><tr>\n\t<td>João Paulo F Farias</td>\n\t<td>Ron Schofield</td>\n\t<td>Stefan Wosnik</td>\n\t<td>Marius Gheorghe</td>\n      </tr><tr>\n\t<td>Naba Kumar</td>\n\t<td>Sean O'Dell</td>\n\t<td>Stefanos Togoulidis</td>\n\t<td>Hans Hagen</td>\n      </tr><tr>\n\t<td>Jim Cape</td>\n\t<td>Roland Walter</td>\n\t<td>Brian Mosher</td>\n\t<td>Nicholas Nemtsev</td>\n      </tr><tr>\n\t<td>Roy Wood</td>\n\t<td>Peter-Henry Mander</td>\n\t<td>Robert Boucher</td>\n\t<td>Christoph Dalitz</td>\n      </tr><tr>\n\t<td>April White</td>\n\t<td>S. Umar</td>\n\t<td>Trent Mick</td>\n\t<td>Filip Yaghob</td>\n      </tr><tr>\n\t<td>Avi Yegudin</td>\n\t<td>Vivi Orunitia</td>\n\t<td>Manfred Becker</td>\n\t<td>Dimitris Keletsekis</td>\n      </tr><tr>\n\t<td>Yuiga</td>\n\t<td>Davide Scola</td>\n\t<td>Jason Boggs</td>\n\t<td>Reinhold Niesner</td>\n      </tr><tr>\n\t<td>Jos van der Zande</td>\n\t<td>Pescuma</td>\n\t<td>Pavol Bosik</td>\n\t<td>Johannes Schmid</td>\n      </tr><tr>\n\t<td>Blair McGlashan</td>\n\t<td>Mikael Hultgren</td>\n\t<td>Florian Balmer</td>\n\t<td>Hadar Raz</td>\n      </tr><tr>\n\t<td>Herr Pfarrer</td>\n\t<td>Ben Key</td>\n\t<td>Gene Barry</td>\n\t<td>Niki Spahiev</td>\n      </tr><tr>\n\t<td>Carsten Sperber</td>\n\t<td>Phil Reid</td>\n\t<td>Iago Rubio</td>\n\t<td>Régis Vaquette</td>\n      </tr><tr>\n\t<td>Massimo Corà</td>\n\t<td>Elias Pschernig</td>\n\t<td>Chris Jones</td>\n\t<td>Josiah Reynolds</td>\n      </tr><tr>\n\t<td>Robert Roessler <a href=\"http://www.rftp.com\">rftp.com</a></td>\n\t<td>Steve Donovan</td>\n\t<td>Jan Martin Pettersen</td>\n\t<td>Sergey Philippov</td>\n      </tr><tr>\n\t<td>Borujoa</td>\n\t<td>Michael Owens</td>\n\t<td>Franck Marcia</td>\n\t<td>Massimo Maria Ghisalberti</td>\n      </tr><tr>\n\t<td>Frank Wunderlich</td>\n\t<td>Josepmaria Roca</td>\n\t<td>Tobias Engvall</td>\n\t<td>Suzumizaki Kimitaka</td>\n      </tr><tr>\n\t<td>Michael Cartmell</td>\n\t<td>Pascal Hurni</td>\n\t<td>Andre</td>\n\t<td>Randy Butler</td>\n      </tr><tr>\n\t<td>Georg Ritter</td>\n\t<td>Michael Goffioul</td>\n\t<td>Ben Harper</td>\n\t<td>Adam Strzelecki</td>\n      </tr><tr>\n\t<td>Kamen Stanev</td>\n\t<td>Steve Menard</td>\n\t<td>Oliver Yeoh</td>\n\t<td>Eric Promislow</td>\n      </tr><tr>\n\t<td>Joseph Galbraith</td>\n\t<td>Jeffrey Ren</td>\n\t<td>Armel Asselin</td>\n\t<td>Jim Pattee</td>\n      </tr><tr>\n\t<td>Friedrich Vedder</td>\n\t<td>Sebastian Pipping</td>\n\t<td>Andre Arpin</td>\n\t<td>Stanislav Maslovski</td>\n      </tr><tr>\n\t<td>Martin Stone</td>\n\t<td>Fabien Proriol</td>\n\t<td>mimir</td>\n\t<td>Nicola Civran</td>\n      </tr><tr>\n\t<td>Snow</td>\n\t<td>Mitchell Foral</td>\n\t<td>Pieter Holtzhausen</td>\n\t<td>Waldemar Augustyn</td>\n      </tr><tr>\n\t<td>Jason Haslam</td>\n\t<td>Sebastian Steinlechner</td>\n\t<td>Chris Rickard</td>\n\t<td>Rob McMullen</td>\n      </tr><tr>\n\t<td>Stefan Schwendeler</td>\n\t<td>Cristian Adam</td>\n\t<td>Nicolas Chachereau</td>\n\t<td>Istvan Szollosi</td>\n      </tr><tr>\n\t<td>Xie Renhui</td>\n\t<td>Enrico Tröger</td>\n\t<td>Todd Whiteman</td>\n\t<td>Yuval Papish</td>\n      </tr><tr>\n\t<td>instanton</td>\n\t<td>Sergio Lucato</td>\n\t<td>VladVRO</td>\n\t<td>Dmitry Maslov</td>\n      </tr><tr>\n\t<td>chupakabra</td>\n\t<td>Juan Carlos Arevalo Baeza</td>\n\t<td>Nick Treleaven</td>\n\t<td>Stephen Stagg</td>\n      </tr><tr>\n\t<td>Jean-Paul Iribarren</td>\n\t<td>Tim Gerundt</td>\n\t<td>Sam Harwell</td>\n\t<td>Boris</td>\n      </tr><tr>\n\t<td>Jason Oster</td>\n\t<td>Gertjan Kloosterman</td>\n\t<td>alexbodn</td>\n\t<td>Sergiu Dotenco</td>\n      </tr><tr>\n\t<td>Anders Karlsson</td>\n\t<td>ozlooper</td>\n\t<td>Marko Njezic</td>\n\t<td>Eugen Bitter</td>\n      </tr><tr>\n\t<td>Christoph Baumann</td>\n\t<td>Christopher Bean</td>\n\t<td>Sergey Kishchenko</td>\n\t<td>Kai Liu</td>\n      </tr><tr>\n\t<td>Andreas Rumpf</td>\n\t<td>James Moffatt</td>\n\t<td>Yuzhou Xin</td>\n\t<td>Nic Jansma</td>\n      </tr><tr>\n\t<td>Evan Jones</td>\n\t<td>Mike Lischke</td>\n\t<td>Eric Kidd</td>\n\t<td>maXmo</td>\n      </tr><tr>\n\t<td>David Severwright</td>\n\t<td>Jon Strait</td>\n\t<td>Oliver Kiddle</td>\n\t<td>Etienne Girondel</td>\n      </tr><tr>\n\t<td>Haimag Ren</td>\n\t<td>Andrey Moskalyov</td>\n\t<td>Xavi</td>\n\t<td>Toby Inkster</td>\n      </tr><tr>\n\t<td>Eric Forgeot</td>\n\t<td>Colomban Wendling</td>\n\t<td>Neo</td>\n\t<td>Jordan Russell</td>\n      </tr><tr>\n\t<td>Farshid Lashkari</td>\n\t<td>Sam Rawlins</td>\n\t<td>Michael Mullin</td>\n\t<td>Carlos SS</td>\n      </tr><tr>\n\t<td>vim</td>\n\t<td>Martial Demolins</td>\n\t<td>Tino Weinkauf</td>\n\t<td>Jérôme Laforge</td>\n      </tr><tr>\n\t<td>Udo Lechner</td>\n\t<td>Marco Falda</td>\n\t<td>Dariusz Knociński</td>\n\t<td>Ben Fisher</td>\n      </tr><tr>\n\t<td>Don Gobin</td>\n\t<td>John Yeung</td>\n\t<td>Adobe</td>\n\t<td>Elizabeth A. Irizarry</td>\n      </tr><tr>\n\t<td>Mike Schroeder</td>\n\t<td>Morten MacFly</td>\n\t<td>Jaime Gimeno</td>\n\t<td>Thomas Linder Puls</td>\n      </tr><tr>\n\t<td>Artyom Zuikov</td>\n\t<td>Gerrit</td>\n\t<td>Occam's Razor</td>\n\t<td>Ben Bluemel</td>\n      </tr><tr>\n\t<td>David Wolfendale</td>\n\t<td>Chris Angelico</td>\n\t<td>Marat Dukhan</td>\n\t<td>Stefan Weil</td>\n      </tr><tr>\n\t<td>Rex Conn</td>\n\t<td>Ross McKay</td>\n\t<td>Bruno Barbieri</td>\n\t<td>Gordon Smith</td>\n      </tr><tr>\n\t<td>dimitar</td>\n\t<td>Sébastien Granjoux</td>\n\t<td>zeniko</td>\n\t<td>James Ribe</td>\n      </tr><tr>\n\t<td>Markus Nißl</td>\n\t<td>Martin Panter</td>\n\t<td>Mark Yen</td>\n\t<td>Philippe Elsass</td>\n      </tr><tr>\n\t<td>Dimitar Zhekov</td>\n\t<td>Fan Yang</td>\n\t<td>Denis Shelomovskij</td>\n\t<td>darmar</td>\n      </tr><tr>\n\t<td>John Vella</td>\n\t<td>Chinh Nguyen</td>\n\t<td>Sakshi Verma</td>\n\t<td>Joel B. Mohler</td>\n      </tr><tr>\n\t<td>Isiledhel</td>\n\t<td>Vidya Wasi</td>\n\t<td>G. Hu</td>\n\t<td>Byron Hawkins</td>\n      </tr><tr>\n\t<td>Alpha</td>\n\t<td>John Donoghue</td>\n\t<td>kudah</td>\n\t<td>Igor Shaula</td>\n      </tr><tr>\n\t<td>Pavel Bulochkin</td>\n\t<td>Yosef Or Boczko</td>\n\t<td>Brian Griffin</td>\n\t<td>Özgür Emir</td>\n      </tr><tr>\n\t<td>Neomi</td>\n\t<td>OmegaPhil</td>\n\t<td>SiegeLord</td>\n\t<td>Erik</td>\n      </tr><tr>\n\t<td>TJF</td>\n\t<td>Mark Robinson</td>\n\t<td>Thomas Martitz</td>\n\t<td>felix</td>\n      </tr><tr>\n\t<td>Christian Walther</td>\n\t<td>Ebben</td>\n\t<td>Robert Gieseke</td>\n\t<td>Mike M</td>\n      </tr><tr>\n\t<td>nkmathew</td>\n\t<td>Andreas Tscharner</td>\n\t<td>Lee Wilmott</td>\n\t<td>johnsonj</td>\n      </tr><tr>\n\t<td>Vicente</td>\n\t<td>Nick Gravgaard</td>\n\t<td>Ian Goldby</td>\n\t<td>Holger Stenger</td>\n      </tr><tr>\n\t<td>danselmi</td>\n\t<td>Mat Berchtold</td>\n\t<td>Michael Staszewski</td>\n\t<td>Baurzhan Muftakhidinov</td>\n      </tr><tr>\n\t<td>Erik Angelin</td>\n\t<td>Yusuf Ramazan Karagöz</td>\n\t<td>Markus Heidelberg</td>\n\t<td>Joe Mueller</td>\n      </tr><tr>\n\t<td>Mika Attila</td>\n\t<td>JoMazM</td>\n\t<td>Markus Moser</td>\n\t<td>Stefan Küng</td>\n      </tr><tr>\n\t<td>Jiří Techet</td>\n\t<td>Jonathan Hunt</td>\n\t<td>Serg Stetsuk</td>\n\t<td>Jordan Jueckstock</td>\n      </tr><tr>\n\t<td>Yury Dubinsky</td>\n\t<td>Sam Hocevar</td>\n\t<td>Luyomi</td>\n\t<td>Matt Gilarde</td>\n      </tr><tr>\n\t<td>Mark C</td>\n\t<td>Johannes Sasongko</td>\n\t<td>fstirlitz</td>\n\t<td>Robin Haberkorn</td>\n      </tr><tr>\n\t<td>Pavel Sountsov</td>\n\t<td>Dirk Lorenzen</td>\n\t<td>Kasper B. Graversen</td>\n\t<td>Chris Mayo</td>\n      </tr><tr>\n\t<td>Van de Bugger</td>\n\t<td>Tse Kit Yam</td>\n\t<td><a href=\"https://www.smartsharesystems.com/\">SmartShare Systems</a></td>\n\t<td>Morten Brørup</td>\n      </tr><tr>\n\t<td>Alexey Denisov</td>\n\t<td>Justin Dailey</td>\n\t<td>oirfeodent</td>\n\t<td>A-R-C-A</td>\n      </tr><tr>\n\t<td>Roberto Rossi</td>\n\t<td>Kenny Liu</td>\n\t<td>Iain Clarke</td>\n\t<td>desto</td>\n      </tr><tr>\n\t<td>John Flatness</td>\n\t<td>Thorsten Kani</td>\n\t<td>Bernhard M. Wiedemann</td>\n\t<td>Baldur Karlsson</td>\n      </tr><tr>\n\t<td>Martin Kleusberg</td>\n\t<td>Jannick</td>\n\t<td>Zufu Liu</td>\n\t<td>Simon Sobisch</td>\n      </tr><tr>\n\t<td>Georger Araújo</td>\n\t<td>Dimitar Radev</td>\n\t<td>Gunter Königsmann</td>\n\t<td>Nicholai Benalal</td>\n      </tr><tr>\n\t<td>Andreas Rönnquist</td>\n\t<td>Henrik Hank</td>\n\t<td>Luke Rasmussen</td>\n      </tr><tr>\n\t<td>maboroshin</td>\n\t<td>Gokul Krishnan</td>\n    </tr>\n    </table>\n    <p>\n       Images used in GTK+ version\n    </p>\n    <ul>\n      <li>\n        <a href=\"http://sourceforge.net/projects/icon-collection/\">\n        Icons</a> Copyright(C) 1998 by Dean S. Jones<br />\n      </li>\n    </ul>\n\t<h3>\n       <a href=\"https://sourceforge.net/projects/scintilla/files/scintilla/3.10.1/scintilla3101.zip/download\">Release 3.10.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 31 October 2018.\n\t</li>\n\t<li>\n\tAdd SCI_SETCOMMANDEVENTS API to allow turning off command events as they\n\tcan be a significant performance cost.\n\t</li>\n\t<li>\n\tOptional indexing of line starts in UTF-8 documents by UTF-32 code points and UTF-16 code units added.\n\tThis can improve performance for clients that provide UTF-32 or UTF-16 interfaces or that need to interoperate\n\twith UTF-32 or UTF-16 components.\n\t</li>\n\t<li>\n\tLexers added for SAS and Stata.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1185/\">Feature #1185.</a>\n\t</li>\n\t<li>\n\tImprove efficiency of idle wrapping by wrapping in blocks as large as possible while\n\tstill remaining responsive.\n\t</li>\n\t<li>\n\tUpdated case conversion and character categories to Unicode 11.\n\t</li>\n\t<li>\n\tC++ lexer fixes evaluation of \"#elif\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/2045/\">Bug #2045</a>.\n\t</li>\n\t<li>\n\tMarkdown lexer fixes highlighting of non-ASCII characters in links.\n\t</li>\n\t<li>\n\tSCI_MARKERADD returns -1 for invalid lines as documented instead of 0.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/2051/\">Bug #2051</a>.\n\t</li>\n\t<li>\n\tShell folder folds \"if\", \"do\", and \"case\".\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1144/\">Feature #1144.</a>\n\t</li>\n\t<li>\n\tFix margin cursor on Cocoa to point more accurately.\n\t</li>\n\t<li>\n\tUpdated ConTeXt Lua LPeg lexer.\n\t</li>\n\t<li>\n\tImproved folding of traditionally single elements in HTML Lua LPeg lexer.\n\t</li>\n\t<li>\n\tImproved accuracy of Markdown Lua LPeg lexer.\n\t</li>\n    </ul>\n    <h3>\n\t\t<a href=\"https://sourceforge.net/projects/scintilla/files/scintilla/3.10.0/scintilla3100.zip/download\">Release 3.10.0</a>\n\t</h3>\n\t<ul>\n\t<li>\n\tReleased 30 June 2018.\n\t</li>\n\t<li>\n\tAdd experimental SC_DOCUMENTOPTION_TEXT_LARGE option to accomodate documents larger than\n\t2 GigaBytes.\n\t</li>\n\t<li>\n\tThe platform layer interface has changed with the removal of the ElapsedTime\n\tclass in favor of C++11's chrono.\n\t</li>\n\t<li>\n\tAdditional print option SC_PRINT_SCREENCOLOURS prints with the same colours used on screen\n\tincluding line numbers.\n\t</li>\n\t<li>\n\tINDIC_GRADIENT and INDIC_GRADIENTCENTRE indicator types added.\n\tINDIC_GRADIENT starts with a specified colour and alpha at top of line and fades\n\tto fully transparent at bottom.\n\tINDIC_GRADIENTCENTRE starts with a specified colour and alpha at centre of line and fades\n\tto fully transparent at top and bottom.\n\t</li>\n\t<li>\n\tWrap indent mode SC_WRAPINDENT_DEEPINDENT added which indents two tabs from previous line.\n\t</li>\n\t<li>\n\tIndicators are drawn for line end characters when displayed.\n\t</li>\n\t<li>\n\tMost invalid bytes in DBCS encodings are displayed as blobs to make problems clear\n\tand ensure something is shown.\n\t</li>\n\t<li>\n\tCurses platform fixed potential crash with newer versions of ncurses.\n\t</li>\n\t<li>\n\tDiff lexer adds styles for diffs containing patches.\n\t</li>\n\t<li>\n\tRegular expression crash fixed on macOS when linking to libstdc++.\n\t</li>\n\t<li>\n\tEDIFACT lexer adds property lexer.edifact.highlight.un.all to highlight all UN* segments.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1166/\">Feature #1166.</a>\n\t</li>\n\t<li>\n\tFortran folder understands \"change team\" and \"endteam\".\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1216/\">Feature #1216.</a>\n\t</li>\n\t<li>\n\tMarkdown Lua LPeg lexer fixes incorrect highlighting of markdown lists.\n\t</li>\n\t<li>\n\tFixed child Lua LPeg lexers that embed themselves into parents. Also fixed proxy lexers.\n\t</li>\n\t<li>\n\tFixed legacy Lua LPeg lexers with custom fold functions.\n\t</li>\n\t<li>\n\tC# Lua LPeg lexer highlights \"var\" keyword.\n\t</li>\n\t<li>\n\tSet the last X chosen when SCI_REPLACESEL called to ensure macros work\n\twhen text insertion followed by caret up or down.\n\t</li>\n\t<li>\n\tBugs fixed in regular expression searches in Scintilla where some matches did not occur in an\n\teffort to avoid infinite loops when replacing on empty matches like \"^\" and \"$\".\n\tApplications should always handle empty matches in a way that avoids infinite loops, commonly\n\tby incrementing the search position after replacing an empty match.\n\tSciTE fixes a bug where replacing \"^\" always matched on the first line even when it was an\n\t\"in selection\" replace and the selection started after the line start.\n\t</li>\n\t<li>\n\tCrashes fixed on macOS for invalid DBCS characters when dragging text,\n\tchanging case of text, case-insensitive searching, and retrieving text as UTF-8.\n\t</li>\n\t<li>\n\tRegular expression crash fixed on macOS when linking to libstdc++.\n\t</li>\n\t<li>\n\tOn Win32, a new file, ScintillaDLL.cxx, provides\n\tthe DllMain function required for a stand-alone Scintilla DLL. Build and project files should include this\n\tfile when producing a DLL and omit it when producing a static library or linking Scintilla statically.\n\tThe STATIC_BUILD preprocessor symbol is no longer used.\n\t</li>\n\t<li>\n\tOn Win32, Direct2D support is no longer automatically detected during build.\n\tDISABLE_D2D may still be defined to remove Direct2D features.\n\t</li>\n\t<li>\n\tIn some cases, invalid UTF-8 is handled in a way that is a little friendlier.\n\tFor example, when copying to the clipboard on Windows, an invalid lead byte will be copied as the\n\tequivalent ISO 8859-1 character and will not hide the following byte.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1211/\">Feature #1211.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://sourceforge.net/projects/scintilla/files/scintilla/3.8.0/scintilla380.zip/download\">Release 3.8.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 29 Mar 2018.\n\t</li>\n\t<li>\n\tLua can be used to write lexers with the new, optional, <a href=\"LPegLexer.html\">LPeg lexer</a>.\n\t</li>\n\t<li>\n\tNew curses platform support.\n\t</li>\n\t<li>\n\tSupport dropped for GTK+ versions before 2.24.\n\t</li>\n\t<li>\n\tA new lexer interface ILexerWithMetaData with additional style metadata methods was added.\n\t</li>\n\t<li>\n\tThe platform layer interface has changed with unused methods removed, a new mechanism for\n\treporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods.\n\t</li>\n\t<li>\n\t<a href=\"StyleMetadata.html\">Style metadata</a> may be retrieved from lexers that support this through the SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE,\n\tSCI_TAGSOFSTYLE, and SCI_DESCRIPTIONOFSTYLE APIs.\n\t</li>\n\t<li>\n\tThe default encoding in Scintilla is UTF-8.\n\t</li>\n\t<li>\n\tAn SCN_AUTOCSELECTIONCHANGE notification is sent when items are highlighted in an autocompletion or user list.\n\t</li>\n\t<li>\n\tThe data parameter to ILoader::AddData made const.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1955/\">Bug #1955</a>.\n\t</li>\n\t<li>\n\tThe ILoader interface is defined in its own header ILoader.h as it is not\n\trelated to lexing so doesn't belong in ILexer.h.\n\t</li>\n\t<li>\n\tThe Scintilla namespace is always active for internal symbols and for the lexer and document interfaces.\n\t</li>\n\t<li>\n\tSCI_CREATEDOCUMENT adds a bytes argument to allocate memory for an initial size.\n\tSCI_CREATELOADER and SCI_CREATEDOCUMENT add a documentOption argument to\n\tallow choosing different document capabilities.\n\t</li>\n\t<li>\n\tAdd SC_DOCUMENTOPTION_STYLES_NONE option to stop allocating memory for styles.\n\t</li>\n\t<li>\n\tAdd SCI_GETMOVEEXTENDSSELECTION to allow applications to add more\n\tcomplex selection commands.\n\t</li>\n\t<li>\n\tFor rectangular selections, pressing Home or End now moves the caret to the Home or End\n\tposition instead of the limit of the rectangular selection.\n\t</li>\n\t<li>\n\tOn Win32, the standard makefiles build a libscintilla static library as well as the existing dynamic libraries.\n\t</li>\n\t<li>\n\tFix move-extends-selection mode for rectangular and line selections.\n\t</li>\n\t<li>\n\tOn GTK+, change lifetime of selection widget to avoid runtime warnings.\n\t</li>\n\t<li>\n\tFix building on Mingw/MSYS to perform file copies and deletions.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1993/\">Bug #1993</a>.\n\t</li>\n\t<li>\n\tLexer added for the Maxima computer algebra language.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1210/\">Feature #1210.</a>\n\t</li>\n\t<li>\n\tFix hang in Lua lexer when lexing a label upto the terminating \"::\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1999/\">Bug #1999</a>.\n\t</li>\n\t<li>\n\tLua lexer matches identifier chains with dots and colons.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1952/\">Bug #1952</a>.\n\t</li>\n\t<li>\n\tFix HTML lexer handling of Django so that nesting a  &#123;&#123; &#125;&#125; or &#123;% %&#125;\n\tDjango tag inside of a &#123;# #&#125; Django comment does not break highlighting of rest of file\n\t</li>\n\t<li>\n\tThe Matlab folder now treats \"while\" as a fold start.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1985/\">Bug #1985</a>.\n\t</li>\n\t<li>\n\tImprove VHDL lexer's handling of character literals and escape characters in strings.\n\t</li>\n\t<li>\n\tThe Baan lexer checks that matches to 3rd set of keywords are function calls and leaves as identifiers if not.\n\tBaan lexer and folder support #context_on / #context_off preprocessor feature.\n\t</li>\n\t<li>\n\tThe C++ lexer improved preprocessor conformance.<br />\n\tDefault value of 0 for undefined preprocessor symbols.<br />\n\t#define A is treated as #define A 1.<br />\n\t\"defined A\" removes \"A\" before replacing \"defined\" with value.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1966/\">Bug #1966</a>.\n\t</li>\n\t<li>\n\tThe Python folder treats triple-quoted f-strings like triple-quoted strings.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1977/\">Bug #1977</a>.\n\t</li>\n\t<li>\n\tThe SQL lexer uses sql.backslash.escapes for double quoted strings.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1968/\">Bug #1968</a>.\n\t</li>\n\t<li>\n\tThe Matlab lexer treats 'end' as a number rather than a keyword when used as a index.\n\tThis also stops incorrect folding.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1951/\">Bug #1951</a>.\n\t</li>\n\t<li>\n\tThe Matlab folder implements \"fold\", \"fold.comment\", and \"fold.compact\" properties.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1965/\">Bug #1965</a>.\n\t</li>\n\t<li>\n\tThe Rust lexer recognizes 'usize' numeric literal suffixes.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1919/\">Bug #1919</a>.\n\t</li>\n\t<li>\n\tMinor undefined behaviour fixed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1978\">Bug #1978</a>.\n\t</li>\n\t<li>\n\tFix double tap word selection on Windows 10 1709 Fall Creators Update.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1983/\">Bug #1983</a>.\n\t</li>\n\t<li>\n\tFix closing autocompletion lists on Cocoa for macOS 10.13 where the window\n\twas emptying but staying visible.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1981/\">Bug #1981</a>.\n\t</li>\n\t<li>\n\tFix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1979/\">Bug #1979</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, improve scrolling on macOS 10.12.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1885\">Bug #1885</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, fix line selection by clicking in the margin when scrolled.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1971\">Bug #1971</a>.\n\t</li>\n\t<li>\n\tEnsure redraw when application changes overtype mode so caret change visible even when not blinking.\n\tNotify application with SC_UPDATE_SELECTION when overtype changed - previously\n\tsent SC_UPDATE_CONTENT.\n\t</li>\n\t<li>\n\tFix drawing failure when in wrap mode for delete to start/end of line which\n\taffects later lines but did not redraw them.\n\tAlso fixed drawing for wrap mode on GTK+ 2.x.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1949/\">Bug #1949</a>.\n\t</li>\n\t<li>\n\tOn GTK+ fix drawing problems including incorrect scrollbar redrawing and flickering of text.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1876\">Bug #1876</a>.\n\t</li>\n\t<li>\n\tOn Linux, both for GTK+ and Qt, the default modifier key for rectangular selection is now Alt.\n\tThis is the same as Windows and macOS.\n\tThis was changed from Ctrl as window managers are less likely to intercept Alt+Drag for\n\tmoving windows than in the past.\n\t</li>\n\t<li>\n\tOn Cocoa, fix doCommandBySelector but avoid double effect of 'delete'\n\tkey.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1958\">Bug #1958</a>.\n\t</li>\n\t<li>\n\tOn Qt, the updateUi signal includes the 'updated' flags.\n\tNo updateUi signal is sent for focus in events.\n\tThese changes make Qt behave more like the other platforms.\n\t</li>\n\t<li>\n\tOn Qt, dropping files on Scintilla now fires the SCN_URIDROPPED notification\n\tinstead of inserting text.\n\t</li>\n\t<li>\n\tOn Qt, focus changes send the focusChanged signal.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1957/\">Bug #1957</a>.\n\t</li>\n\t<li>\n\tOn Qt, mouse tracking is reenabled when the window is reshown.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1948/\">Bug #1948</a>.\n\t</li>\n\t<li>\n\tOn Windows, the DirectWrite modes SC_TECHNOLOGY_DIRECTWRITEDC and\n\tSC_TECHNOLOGY_DIRECTWRITERETAIN are no longer provisional.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scintilla376.zip\">Release 3.7.6</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 8 August 2017.\n\t</li>\n\t<li>\n\tThis is the first release of the\n\t<a href=\"https://www.scintilla.org/LongTermDownload.html\">long term branch</a>\n\twhich avoids using features from C++14 or later in order to support older systems.\n\t</li>\n\t<li>\n\tThe Baan lexer correctly highlights numbers when followed by an operator.\n\t</li>\n\t<li>\n\tOn Cocoa, fix a bug with retrieving encoded bytes.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite375.zip\">Release 3.7.5</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 26 May 2017.\n\t</li>\n\t<li>\n\tSupport dropped for Microsoft Visual C++ 2013 due to increased use of C++11 features.\n\t</li>\n\t<li>\n\tAdded a caret line frame as an alternative visual for highlighting the caret line.\n\t</li>\n\t<li>\n\tAdded \"Reverse Selected Lines\" feature.\n\t</li>\n\t<li>\n\tSciTE adds \"Select All Bookmarks\" command.\n\t</li>\n\t<li>\n\tSciTE adds a save.path.suggestion setting to suggest a file name when saving an\n\tunnamed buffer.\n\t</li>\n\t<li>\n\tUpdated case conversion and character categories to Unicode 9.\n\t</li>\n\t<li>\n\tThe Baan lexer recognizes numeric literals in a more compliant manner including\n\thexadecimal numbers and exponentials.\n\t</li>\n\t<li>\n\tThe Bash lexer recognizes strings in lists in more cases.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1944/\">Bug #1944</a>.\n\t</li>\n\t<li>\n\tThe Fortran lexer recognizes a preprocessor line after a line continuation &amp;.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1935/\">Bug #1935</a>.\n\t</li>\n\t<li>\n\tThe Fortran folder can fold comments.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1936/\">Bug #1936</a>.\n\t</li>\n\t<li>\n\tThe PowerShell lexer recognizes escaped quotes in strings.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1929/\">Bug #1929</a>.\n\t</li>\n\t<li>\n\tThe Python lexer recognizes identifiers more accurately when they include non-ASCII characters.\n\t</li>\n\t<li>\n\tThe Python folder treats comments at the end of the file as separate from the preceding structure.\n\t</li>\n\t<li>\n\tThe YAML lexer recognizes comments in more situations and styles a\n\t\"...\" line like a \"---\" line.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1931/\">Bug #1931</a>.\n\t</li>\n\t<li>\n\tUpdate scroll bar when annotations added, removed, or visibility changed.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1187/\">Feature #1187.</a>\n\t</li>\n\t<li>\n\tCanceling modes with the Esc key preserves a rectangular selection.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1940/\">Bug #1940</a>.\n\t</li>\n\t<li>\n\tBuilds are made with a sorted list of lexers to be more reproducible.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1946/\">Bug #1946</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, a leak of mouse tracking areas was fixed.\n\t</li>\n\t<li>\n\tOn Cocoa, the autocompletion is 4 pixels wider to avoid text truncation.\n\t</li>\n\t<li>\n\tOn Windows, stop drawing a focus rectangle on the autocompletion list and\n\traise the default list length to 9 items.\n\t</li>\n\t<li>\n\tSciTE examines at most 1 MB of a file to automatically determine indentation\n\tfor indent.auto to avoid a lengthy pause when loading very large files.\n\t</li>\n\t<li>\n\tSciTE user interface uses lighter colours and fewer 3D elements to match current desktop environments.\n\t</li>\n\t<li>\n\tSciTE sets buffer dirty and shows message when file deleted if load.on.activate on.\n\t</li>\n\t<li>\n\tSciTE on Windows Find strip Find button works in incremental no-close mode.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1926/\">Bug #1926</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite374.zip\">Release 3.7.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 21 March 2017.\n\t</li>\n\t<li>\n\tRequires a C++11 compiler. GCC 4.8 and MSVC 2015 are supported.\n\t</li>\n\t<li>\n\tSupport dropped for Windows NT 4.\n\t</li>\n\t<li>\n\tAccessibility support may be queried with SCI_GETACCESSIBILITY.\n\tOn GTK+, accessibility may be disabled by calling SCI_SETACCESSIBILITY.\n\t</li>\n\t<li>\n\tLexer added for \"indent\" language which is styled as plain text but folded by indentation level.\n\t</li>\n\t<li>\n\tThe Progress ABL lexer handles nested comments where comment starts or ends\n\tare adjacent like \"/*/*\" or \"*/*/\".\n\t</li>\n\t<li>\n\tIn the Python lexer, improve f-string support.\n\tAdd support for multiline expressions in triple quoted f-strings.\n\tHandle nested \"()\", \"[]\", and \"{}\" in f-string expressions and terminate expression colouring at \":\" or \"!\".\n\tEnd f-string if ending quote is seen in a \"{}\" expression.\n\tFix terminating single quoted f-string at EOL.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1918/\">Bug #1918</a>.\n\t</li>\n\t<li>\n\tThe VHDL folder folds an \"entity\" on the first line of the file.\n\t</li>\n\t<li>\n\tFor IMEs, do not clear selected text when there is no composition text to show.\n\t</li>\n\t<li>\n\tFix to crash with fold tags where line inserted at start.\n\t</li>\n\t<li>\n\tFix to stream selection mode when moving caret up or down.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1905/\">Bug #1905</a>.\n\t</li>\n\t<li>\n\tDrawing fixes for fold tags include fully drawing lines and not overlapping some\n\tdrawing and ensuring edges and mark underlines are visible.\n\t</li>\n\t<li>\n\tFix Cocoa failure to display accented character chooser for European\n\tlanguages by partially reverting a change made to prevent a crash with\n\tChinese input by special-casing the Cangjie input source.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1881/\">Bug #1881</a>.\n\t</li>\n\t<li>\n\tFix potential problems with IME on Cocoa when document contains invalid\n\tUTF-8.\n\t</li>\n\t<li>\n\tFix crash on Cocoa with OS X 10.9 due to accessibility API not available.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1915/\">Bug #1915</a>.\n\t</li>\n\t<li>\n\tImproved speed of accessibility code on GTK+ by using additional memory\n\tas a cache.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1910/\">Bug #1910</a>.\n\t</li>\n\t<li>\n\tFix crash in accessibility code on GTK+ &lt; 3.3.6 caused by previous bug fix.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1907/\">Bug #1907</a>.\n\t</li>\n\t<li>\n\tFix to prevent double scrolling on GTK+ with X11.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1901/\">Bug #1901</a>.\n\t</li>\n\t<li>\n\tSciTE on GTK+ adds an \"accessibility\" property to allow disabling accessibility\n\ton GTK+ as an optimization.\n\t</li>\n\t<li>\n\tSciTE on GTK+ has changed file chooser behaviour for some actions:\n\toverwriting an existing file shows a warning;\n\tthe default session file name \"SciTE.session\" is shown and a \"*.session\" filter is applied;\n\tappropriate filters are applied when exporting;\n\tthe current file name is displayed in \"Save As\" even when that file no longer exists.\n\t</li>\n\t<li>\n\tSciTE fixed a bug where, on GTK+, when the output pane had focus, menu commands\n\tperformed by mouse were sent instead to the edit pane.\n\t</li>\n\t<li>\n\tSciTE on Windows 8+ further restricts the paths searched for DLLs to the application\n\tand system directories which may prevent some binary planting attacks.\n\t</li>\n\t<li>\n\tFix failure to load Direct2D on Windows when used on old versions of Windows.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1653/\">Bug #1653</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite373.zip\">Release 3.7.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 19 February 2017.\n\t</li>\n\t<li>\n\tDisplay block caret over the character at the end of a selection to be similar\n\tto other editors.\n\t</li>\n\t<li>\n\tIn SciTE can choose colours for fold markers.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1172/\">Feature #1172.</a>\n\t</li>\n\t<li>\n\tIn SciTE can hide buffer numbers in tabs.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1173/\">Feature #1173.</a>\n\t</li>\n\t<li>\n\tThe Diff lexer recognizes deleted lines that start with \"--- \".\n\t</li>\n\t<li>\n\tThe Lua lexer requires the first line to start with \"#!\" to be treated as a shebang comment,\n\tnot just \"#\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1900/\">Bug #1900</a>.\n\t</li>\n\t<li>\n\tThe Matlab lexer requires block comment start and end to be alone on a line.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1902/\">Bug #1902</a>.\n\t</li>\n\t<li>\n\tThe Python lexer supports f-strings with new styles, allows Unicode identifiers,\n\tand no longer allows @1 to be a decorator.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1848/\">Bug #1848</a>.\n\t</li>\n\t<li>\n\tFix folding inconsistency when fold header added above a folded part.\n\tAvoid unnecessary unfolding when a deletion does not include a line end.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1896/\">Bug #1896</a>.\n\t</li>\n\t<li>\n\tFix finalization crash on Cocoa.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1909/\">Bug #1909</a>.\n\t</li>\n\t<li>\n\tSciTE on GTK+ can have a wide divider between the panes with the\n\tsplit.wide property.\n\t</li>\n\t<li>\n\tFix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland.\n\tNewer APIs used on GTK+ 3.22 as older APIs were deprecated.\n\t</li>\n\t<li>\n\tFix crash in accessibility code on GTK+ due to signal receipt after destruction.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1907/\">Bug #1907</a>.\n\t</li>\n\t<li>\n\tMake trackpad scrolling work on Wayland.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1901/\">Bug #1901</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite372.zip\">Release 3.7.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 30 December 2016.\n\t</li>\n\t<li>\n\tMinimize redrawing for SCI_SETSELECTIONN* APIs.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1888/\">Bug #1888</a>.\n\t</li>\n\t<li>\n\tUse more precision to allow selecting individual lines in files with\n\tmore than 16.7 million lines.\n\t</li>\n\t<li>\n\tFor Qt 5, define QT_WS_MAC or QT_WS_X11 on those platforms.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1887/\">Bug #1887</a>.\n\t</li>\n\t<li>\n\tFor Cocoa, fix crash on view destruction with macOS 10.12.2.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1891/\">Bug #1891</a>.\n\t</li>\n\t<li>\n\tFix crash on GTK+ &lt;3.8 due to incorrect lifetime of accessibility object.\n\tMore accurate reporting of attribute ranges and deletion lengths for accessibility.\n\t</li>\n\t<li>\n\tIn SciTE, if a Lua script causes a Scintilla failure exception, display error\n\tmessage in output pane instead of exiting.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1773/\">Bug #1773</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite371.zip\">Release 3.7.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 4 December 2016.\n\t</li>\n\t<li>\n\tThe Scintilla namespace is no longer applied to struct definitions in Scintilla.h even\n\twhen SCI_NAMESPACE defined.\n\tClient code should not define SCI_NAMESPACE.\n\t</li>\n\t<li>\n\tStructure names in Scintilla.h without prefixes are deprecated and will now only\n\tbe usable with INCLUDE_DEPRECATED_FEATURES defined.<br />\n\tUse the newer names with the \"Sci_\" prefix:<br />\n\tCharacterRange &rarr; Sci_CharacterRange<br />\n\tTextRange &rarr; Sci_TextRange<br />\n\tTextToFind &rarr; Sci_TextToFind<br />\n\tRangeToFormat &rarr; Sci_RangeToFormat<br />\n\tNotifyHeader &rarr; Sci_NotifyHeader\n\t</li>\n\t<li>\n\tPreviously deprecated features SC_CP_DBCS, SCI_SETUSEPALETTE. and SCI_GETUSEPALETTE\n\thave been removed and can no longer be used in client code.\n\t</li>\n\t<li>\n\tAccessibility support allowing screen readers to work added on GTK+ and Cocoa.\n\t</li>\n\t<li>\n\tTextual tags may be displayed to the right on folded lines with SCI_TOGGLEFOLDSHOWTEXT.\n\tThis is commonly something like \"{ ... }\" or \"&lt;tr&gt;...&lt;/tr&gt;\".\n\tIt is displayed with the STYLE_FOLDDISPLAYTEXT style and may have a box drawn around it\n\twith SCI_FOLDDISPLAYTEXTSETSTYLE.\n\t</li>\n\t<li>\n\tA mouse right-click over the margin may send an SCN_MARGINRIGHTCLICK event.\n\tThis only occurs when popup menus are turned off.\n\tSCI_USEPOPUP now has three states: SC_POPUP_NEVER, SC_POPUP_ALL, or SC_POPUP_TEXT.\n\t</li>\n\t<li>\n\tINDIC_POINT and INDIC_POINTCHARACTER indicators added to display small arrows\n\tunderneath positions or characters.\n\t</li>\n\t<li>\n\tAdded alternate appearance for visible tabs which looks like a horizontal line.\n\tControlled with SCI_SETTABDRAWMODE.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1165/\">Feature #1165.</a>\n\t</li>\n\t<li>\n\tOn Cocoa, a modulemap file is included to allow Scintilla to be treated as a module.\n\tThis makes it easier to use Scintilla from the Swift language.\n\t</li>\n\t<li>\n\tBaan folder accommodates sections and lexer fixes definition of SCE_BAAN_FUNCDEF.\n\t</li>\n\t<li>\n\tEDIFACT lexer and folder added.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1166/\">Feature #1166.</a>\n\t</li>\n\t<li>\n\tJSON folder fixed where it didn't resume folding with the correct fold level.\n\t</li>\n\t<li>\n\tMatlab folder based on syntax instead of indentation so more accurate.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1692/\">Bug #1692</a>.\n\t</li>\n\t<li>\n\tYAML lexer fixed style of references and keywords when followed by a comment.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1872/\">Bug #1872</a>.\n\t</li>\n\t<li>\n\tMargin click to select line now clears rectangular and additional selections.\n\t</li>\n\t<li>\n\tFixed a NULL access bug on GTK+ where the scrollbars could be used during destruction.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1873/\">Bug #1873</a>.\n\t</li>\n\t<li>\n\tA potential bug on GTK+ fixed where asynchronous clipboard could be delivered after its\n\ttarget Scintilla instance was destroyed.\n\t</li>\n\t<li>\n\tCocoa IME made more compliant with documented behaviour to avoid bugs that caused\n\thuge allocations.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1881/\">Bug #1881</a>.\n\t</li>\n\t<li>\n\tOn Win32 fix EM_SETSEL to match Microsoft documentation..\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1886/\">Bug #1886</a>.\n\t</li>\n\t<li>\n\tSciTE on GTK+ allows localizing tool bar tool tips.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1167/\">Feature #1167.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows restores focus to edit pane after closing user strip.\n\t</li>\n\t<li>\n\tSciTE measures files larger that 2 GB which allows it to refuse to open huge files more consistently\n\tand to show better warning messages.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite370.zip\">Release 3.7.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 16 October 2016.\n\t</li>\n\t<li>\n\tWord selection, navigation, and manipulation is now performed on characters instead of bytes\n\tleading to more natural behaviour for multi-byte encodings like UTF-8.\n\tFor UTF-8 characters 0x80 and above, classification into word; punctuation; space; or line-end\n\tis based on the Unicode general category of the character and is not customizable.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1832/\">Bug #1832</a>.\n\t</li>\n\t<li>\n\tTwo enums changed in Scintilla.iface which may lead to changed bindings.\n\tThere were 2 FontQuality enums and the first is now PhasesDraw.\n\tThe prefix for FoldAction was SC_FOLDACTION and is now SC_FOLDACTION_\n\twhich is similar to other enums.\n\tThese changes do not affect the standard C/C++ binding.\n\t</li>\n\t<li>\n\tEDGE_MULTILINE and SCI_MULTIEDGEADDLINE added to allow displaying multiple\n\tvertical edges simultaneously.\n\t</li>\n\t<li>\n\tThe number of margins can be changed with SCI_SETMARGINS.\n\t</li>\n\t<li>\n\tMargin type SC_MARGIN_COLOUR added so that the application may\n\tchoose any colour for a margin with SCI_SETMARGINBACKN.\n\t</li>\n\t<li>\n\tOn Win32, mouse wheel scrolling can be restricted to only occur when the mouse is\n\twithin the window.\n\t</li>\n\t<li>\n\tThe WordList class in lexlib used by lexers adds an InListAbridged method for\n\tmatching keywords that have particular prefixes and/or suffixes.\n\t</li>\n\t<li>\n\tThe Baan lexer was changed significantly with more lexical states, keyword sets,\n\tand support for abridged keywords.\n\t</li>\n\t<li>\n\tThe CoffeeScript lexer styles interpolated code in strings.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1865/\">Bug #1865</a>.\n\t</li>\n\t<li>\n\tThe Progress lexer \"progress\" has been replaced with a new lexer \"abl\"\n\t(Advanced Business Language)\n\twith a different set of lexical states and more functionality.\n\tThe lexical state prefix has changed from SCE_4GL_ to SCE_ABL_.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1143/\">Feature #1143.</a>\n\t</li>\n\t<li>\n\tThe PowerShell lexer understands the grave accent escape character.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1868/\">Bug #1868</a>.\n\t</li>\n\t<li>\n\tThe YAML lexer recognizes inline comments.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1660/\">Bug #1660</a>.\n\t</li>\n\t<li>\n\tSciTE on Windows can retain coloured selection when inactive with\n\tselection.always.visible property.\n\t</li>\n\t<li>\n\tSciTE on Windows adds a state to close.on.find to close the find strip when\n\ta match is found.\n\t</li>\n\t<li>\n\tFix caret position after left or right movement with rectangular selection.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1861/\">Bug #1861</a>.\n\t</li>\n\t<li>\n\tIn SciTE, optional prefix argument added to scite.ConstantName method.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1860/\">Bug #1860</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, include ILexer.h in the public headers of the framework.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1855/\">Bug #1855</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, allow subclass of SCIContentView to set cursor.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1863/\">Bug #1863</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, recognize the numeric keypad '+', '-', and '/' keys as\n\tSCK_ADD, SCK_SUBTRACT, and SCK_DIVIDE.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1867/\">Bug #1867</a>.\n\t</li>\n\t<li>\n\tOn GTK+ 3.21+ fix incorrect font size in auto-completion list.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1859/\">Bug #1859</a>.\n\t</li>\n\t<li>\n\tFix SciTE crash when command.mode ends with comma.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1857/\">Bug #1857</a>.\n\t</li>\n\t<li>\n\tSciTE on Windows has a full size toolbar icon for \"Close\".\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite367.zip\">Release 3.6.7</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 4 September 2016.\n\t</li>\n\t<li>\n\tC++11 range-based for loops used in SciTE so GCC 4.6 is now the minimum supported version.\n\t</li>\n\t<li>\n\tSC_CHARSET_DEFAULT now means code page 1252 on Windows unless a code page is set.\n\tThis prevents unexpected behaviour and crashes on East Asian systems where default locales are commonly DBCS.\n\tProjects which want to default to DBCS code pages in East Asian locales should set the code page and\n\tcharacter set explicitly.\n\t</li>\n\t<li>\n\tSCVS_NOWRAPLINESTART option stops left arrow from wrapping to the previous line.\n\tMost commonly wanted when virtual space is used.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1648/\">Bug #1648</a>.\n\t</li>\n\t<li>\n\tThe C++ lexer can fold on #else and #elif with the fold.cpp.preprocessor.at.else property.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/210/\">Bug #210</a>.\n\t</li>\n\t<li>\n\tThe errorlist lexer detects warnings from Visual C++ which do not contain line numbers.\n\t</li>\n\t<li>\n\tThe HTML lexer no longer treats \"&lt;?\" inside a string in a script as potentially starting an XML document.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/767/\">Bug #767</a>.\n\t</li>\n\t<li>\n\tThe HTML lexer fixes a problem resuming at a script start where the starting state continued\n\tpast where it should.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1849/\">Bug #1849</a>.\n\t</li>\n\t<li>\n\tWhen inserting spaces for virtual space and the position is in indentation and tabs are enabled\n\tfor indentation then use tabs.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1850/\">Bug #1850</a>.\n\t</li>\n\t<li>\n\tFix fold expand when some child text not styled.\n\tCaused by fixes for Bug #1799.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1842/\">Bug #1842</a>.\n\t</li>\n\t<li>\n\tFix key binding bug on Cocoa for control+.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1854/\">Bug #1854</a>.\n\t</li>\n\t<li>\n\tFix scroll bar size warnings on GTK+ caused by #1831.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1851/\">Bug #1851</a>.\n\t</li>\n\t<li>\n\tSmall fixes for GTK+ makefile.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1844/\">Bug #1844</a>.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1845/\">Bug #1845</a>.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1846/\">Bug #1846</a>.\n\t</li>\n\t<li>\n\tFix SciTE indentation after code like \"void function () {}\".\n\t</li>\n\t<li>\n\tFix SciTE global regex replace of \"^\" with something which missed the line after empty\n\tlines with LF line ends.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1839/\">Bug #1839</a>.\n\t</li>\n\t<li>\n\tFix SciTE on GTK+ 3.20 bug where toggle buttons on find and replace strips\n\tdid not show active state.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1853/\">Bug #1853</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite366.zip\">Release 3.6.6</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 24 May 2016.\n\t</li>\n\t<li>\n\tC++ 11 &lt;regex&gt; support built by default. Can be disabled by defining NO_CXX11_REGEX.\n\t</li>\n\t<li>\n\tSciTE_USERHOME environment variable allows separate location for writeable properties files.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/965/\">Feature #965.</a>\n\t</li>\n\t<li>\n\tGObject introspection supports notify and command events.\n\t</li>\n\t<li>\n\tThe Progress lexer now allows comments preceded by a tab.\n\t</li>\n\t<li>\n\tScripts reading Scintilla.iface file include comments for enu and lex definitions.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1829/\">Bug #1829</a>.\n\t</li>\n\t<li>\n\tFix crashes on GTK+ if idle work active when destroyed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1827/\">Bug #1827</a>.\n\t</li>\n\t<li>\n\tFixed bugs when used on GTK+ 3.20.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1825/\">Bug #1825</a>.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1831/\">Bug #1831</a>.\n\t</li>\n\t<li>\n\tFix SciTE search field background with dark theme on GTK+ 2.x.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1826/\">Bug #1826</a>.\n\t</li>\n\t<li>\n\tFixed bug on Win32 that allowed resizing autocompletion from bottom when it was\n\tlocated above the caret.\n\t</li>\n\t<li>\n\tOn Win32, when using a screen reader and selecting text using Shift+Arrow,\n\tfix bug when scrolling made the caret stay at the same screen location\n\tso the screen reader did not speak the added or removed selection.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite365.zip\">Release 3.6.5</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 26 April 2016.\n\t</li>\n\t<li>\n\tJSON lexer added.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1140/\">Feature #1140.</a>\n\t</li>\n\t<li>\n\tThe C++ lexer fixes a bug with multi-line strings with line continuation where the string style\n\toverflowed after an edit.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1824/\">Bug #1824</a>.\n\t</li>\n\t<li>\n\tThe Python lexer treats '@' as an operator except when it is the first visible character on a line.\n\tThis is for Python 3.5.\n\t</li>\n\t<li>\n\tThe Rust lexer allows '?' as an operator.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1146/\">Feature #1146.</a>\n\t</li>\n\t<li>\n\tDoubled size of compiled regex buffer.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1822/\">Bug #1822</a>.\n\t</li>\n\t<li>\n\tFor GTK+, the Super modifier key can be used in key bindings.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1142/\">Feature #1142.</a>\n\t</li>\n\t<li>\n\tFor GTK+, fix some crashes when using multiple threads.\n\t</li>\n\t<li>\n\tPlatform layer font cache removed on GTK+ as platform-independent caches are used.\n\tThis avoids the use of thread locking and initialization of threads so any GTK+\n\tapplications that rely on Scintilla initializing threads will have to do that themselves.\n\t</li>\n\t<li>\n\tSciTE bug fixed with exported HTML where extra line shown.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1816/\">Bug #1816</a>.\n\t</li>\n\t<li>\n\tSciTE on Windows fixes bugs with pop-up menus in the find and replace strips.\n\tFor the replace strip, menu choices change the state.\n\tFor the find strip, menu choices are reflected in the appearance of their corresponding buttons.\n\t</li>\n\t<li>\n\tSciTE on Windows on high DPI displays fixes the height of edit boxes in user strips.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite364.zip\">Release 3.6.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 13 March 2016.\n\t</li>\n\t<li>\n\tSciTE allows setting the autocompletion type separator character.\n\t</li>\n\t<li>\n\tThe C++ folder folds code on '(' and ')' to allow multi-line calls to be folded.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1138/\">Feature #1138.</a>\n\t</li>\n\t<li>\n\tFor the HTML lexer, limit the extent of Mako line comments to finish before\n\tthe line end characters.\n\t</li>\n\t<li>\n\tFolds unfolded when two fold regions are merged by either deleting an intervening line\n\tor changing its fold level by adding characters.\n\tThis was fixed both in Scintilla and in SciTE's equivalent code.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1799/\">Bug #1799</a>.<br />\n\t</li>\n\t<li>\n\tThe Progress lexer supports hexadecimal numeric literals,\n\tsingle-line comments, abbreviated keywords and\n\textends nested comments to unlimited levels.\n\t</li>\n\t<li>\n\tRuby lexer treats alternate hash key syntax \"key:\" as a symbol.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1810/\">Bug #1810</a>.\n\t</li>\n\t<li>\n\tRust lexer handles bracketed Unicode string escapes like \"\\u{123abc}\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1809/\">Bug #1809</a>.\n\t</li>\n\t<li>\n\tFor GTK+ on Windows fix 64-bit build which was broken in 3.6.3.\n\t</li>\n\t<li>\n\tFor Qt, release builds have assertions turned off.\n\t</li>\n\t<li>\n\tFor Qt on Windows, fix compilation failure for Qt 4.x.\n\t</li>\n\t<li>\n\tIME target range displayed on Qt for OS X.\n\t</li>\n\t<li>\n\tOn Windows, make clipboard operations more robust by retrying OpenClipboard if it fails\n\tas this may occur when another application has opened the clipboard.\n\t</li>\n\t<li>\n\tOn Windows back out change that removed use of def file to ensure\n\tScintilla_DirectFunction exported without name mangling.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1813/\">Bug #1813</a>.\n\t</li>\n\t<li>\n\tOn GTK+ and Qt over Win32 in Korean fix bug caused by last release's word input change.\n\t</li>\n\t<li>\n\tFor SciTE, more descriptive error messages are displayed when there are problems loading the\n\tLua startup script.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1139/\">Feature #1139.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite363.zip\">Release 3.6.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 18 January 2016.\n\t</li>\n\t<li>\n\tAllow painting without first styling all visible text then styling in the background\n\tusing idle-time. This helps performance when scrolling down in very large documents.\n\tCan also incrementally style after the visible area to the end of the document so that\n\tthe document is already styled when the user scrolls to it.\n\t</li>\n\t<li>\n\tSupport GObject introspection on GTK+.\n\t</li>\n\t<li>\n\tSciTE supports pasting to each selection with the selection.multipaste setting.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1123/\">Feature #1123.</a>\n\t</li>\n\t<li>\n\tSciTE can optionally display a read-only indicator on tabs and in the Buffers menu.\n\t</li>\n\t<li>\n\tBash lexer flags incomplete here doc delimiters as syntax errors.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1789/\">Bug #1789</a>.<br />\n\tSupport added for using '#' in non-comment ways as is possible with zsh.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1794/\">Bug #1794</a>.<br />\n\tRecognize more characters as here-doc delimiters.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1778/\">Bug #1778</a>.\n\t</li>\n\t<li>\n\tErrorlist lexer highlights warning messages from the Microsoft linker.\n\t</li>\n\t<li>\n\tErrorlist lexer fixes bug with final line in escape sequence recognition mode.\n\t</li>\n\t<li>\n\tLua lexer includes '&amp;' and '|' bitwise operators for Lua 5.3.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1790/\">Bug #1790</a>.\n\t</li>\n\t<li>\n\tPerl lexer updated for Perl 5.20 and 5.22.<br />\n\tAllow '_' for subroutine prototypes.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1791/\">Bug #1791</a>.<br />\n\tDouble-diamond operator &lt;&lt;&gt;&gt;.<br />\n\tHexadecimal floating point literals.<br />\n\tRepetition in list assignment.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1793/\">Bug #1793</a>.<br />\n\tHighlight changed subroutine prototype syntax for Perl 5.20.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1797/\">Bug #1797</a>.<br />\n\tFix module ::-syntax when special characters such as 'x' are used.<br />\n\tAdded ' and \" detection as prefix chars for x repetition operator.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1800/\">Bug #1800</a>.\n\t</li>\n\t<li>\n\tVisual Prolog lexer recognizes numbers more accurately and allows non-ASCII verbatim\n\tquoting characters.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1130/\">Feature #1130.</a>\n\t</li>\n\t<li>\n\tSend SCN_UPDATEUI with SC_UPDATE_SELECTION when the application changes multiple\n\tselection.\n\t</li>\n\t<li>\n\tExpand folded areas before deleting fold header line.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1796/\">Bug #1796</a>.\n\t</li>\n\t<li>\n\tTreat Unicode line ends like common line ends when maintaining fold state.\n\t</li>\n\t<li>\n\tHighlight whole run for hover indicator when wrapped.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1784/\">Bug #1784</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, fix crash when autocompletion list closed during scroll bounce-back.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1788/\">Bug #1788</a>.\n\t</li>\n\t<li>\n\tOn Windows, fix non-BMP input through WM_CHAR and allow WM_UNICHAR to work\n\twith non-BMP characters and on non-Unicode documents.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1779/\">Bug #1779</a>.\n\t</li>\n\t<li>\n\tOn Windows using DirectWrite, for ligatures and other character clusters,\n\tdisplay caret and selections part-way through clusters so that the caret doesn't stick\n\tto the end of the cluster making it easier to understand editing actions.\n\t</li>\n\t<li>\n\tOn Windows, Scintilla no longer uses a .DEF file during linking as it duplicates\n\tsource code directives.\n\t</li>\n\t<li>\n\tOn GTK+ and Qt, Korean input by word fixed.\n\t</li>\n\t<li>\n\tOn GTK+, Qt, and Win32 block IME input when document is read-only or any selected text\n\tis protected.\n\t</li>\n\t<li>\n\tOn GTK+ on OS X, fix warning during destruction.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1777/\">Bug #1777</a>.\n\t</li>\n\t<li>\n\tFix SciTE crashes when using LPEG lexers.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite362.zip\">Release 3.6.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 6 November 2015.\n\t</li>\n\t<li>\n\tWhitespace may be made visible just in indentation.\n\t</li>\n\t<li>\n\tWhitespace dots are centred when larger than 1 pixel.\n\t</li>\n\t<li>\n\tThe Scintilla framework on Cocoa now contains version numbers.\n\t</li>\n\t<li>\n\tSciTE's standard properties collect values from all active .properties file to produce the Language menu\n\tand the file types pull-down in the File open dialog.\n\t</li>\n\t<li>\n\tThe single executable version of SciTE, Sc1, uses 'module' statements within its embedded\n\tproperties. This makes it act more like the full distribution allowing languages to be turned on\n\tand off by setting imports.include and imports.exclude.\n\tThe default imports.exclude property adds eiffel, erlang, ps, and pov so these languages are\n\tturned off by default.\n\t</li>\n\t<li>\n\tSciTE adds an output.blank.margin.left property to allow setting the output pane\n\tmargin to a different width than the edit pane.\n\t</li>\n\t<li>\n\tCoffeeScript lexer highlights ranges correctly.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1765/\">Bug #1765</a>.\n\t</li>\n\t<li>\n\tMarkdown lexer treats line starts consistently to always highlight *foo* or similar at line start.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1766/\">Bug #1766</a>.\n\t</li>\n\t<li>\n\tOptimize marker redrawing by only drawing affected lines when markers shown in the text.\n\t</li>\n\t<li>\n\tOn Cocoa, timers and idling now work in modal dialogs. This also stops some crashes.\n\t</li>\n\t<li>\n\tOn Cocoa, fix crashes when deleting a ScintillaView. These crashes could occur when scrolling\n\tat the time the ScintillaView was deleted although there may have been other cases.\n\t</li>\n\t<li>\n\tOn GTK+ 2.x, fix height of lines in autocompletion lists.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1774/\">Bug #1774</a>.\n\t</li>\n\t<li>\n\tFix bug with SCI_LINEENDDISPLAY where the caret moved to the next document line instead of the\n\tend of the display line.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1772/\">Bug #1772</a>.\n\t</li>\n\t<li>\n\tReport error (SC_STATUS_FAILURE) when negative length passed to SCI_SETSTYLING.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1768/\">Bug #1768</a>.\n\t</li>\n\t<li>\n\tWhen SC_MARK_UNDERLINE is not assigned to a margin, stop drawing the whole line.\n\t</li>\n\t<li>\n\tWhen reverting an untitled document in SciTE, just clear it with no message about a file.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1764/\">Bug #1764</a>.\n\t</li>\n\t<li>\n\tSciTE on GTK+ allows use of Ctrl+A (Select All) inside find and replace strips.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1769/\">Bug #1769</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite361.zip\">Release 3.6.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 15 September 2015.\n\t</li>\n\t<li>\n\tThe oldest version of GTK+ supported now is 2.18 and for glib it is 2.22.\n\t</li>\n\t<li>\n\tOn GTK+, SC_CHARSET_OEM866 added to allow editing Russian files encoded in code page 866.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1019/\">Feature #1019.</a>\n\t</li>\n\t<li>\n\tOn Windows, reconversion is performed when requested by the IME.\n\t</li>\n\t<li>\n\tCoffeeScript lexer adds lexical class for instance properties and fixes some cases of regex highlighting.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1749/\">Bug #1749</a>.\n\t</li>\n\t<li>\n\tThe errorlist lexer understands some ANSI escape sequences to change foreground colour and intensity.\n\tThis is sufficient to colour diagnostic output from gcc and clang when -fdiagnostics-color set.\n\t</li>\n\t<li>\n\tThe errorlist lexer allows the line number to be 0 in GCC errors as some tools report whole file\n\terrors as line 0.\n\t</li>\n\t<li>\n\tMySql lexer fixes empty comments /**/ so the comment state does not continue.\n\t</li>\n\t<li>\n\tVHDL folder supports \"protected\" keyword.\n\t</li>\n\t<li>\n\tTreat CRLF line end as two characters in SCI_COUNTCHARACTERS.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1757/\">Bug #1757</a>.\n\t</li>\n\t<li>\n\tOn GTK+ 3.x, fix height of lines in autocompletion lists to match the font.\n\tSwitch from deprecated style calls to CSS styling.\n\tRemoved setting list colours on GTK+ 3.16+ as no longer appears needed.\n\t</li>\n\t<li>\n\tOn GTK+, avoid \"Invalid rectangle passed\" warning messages by never reporting the client\n\trectangle with a negative width or height.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1743/\">Bug #1743</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, copy Sci_Position.h into the framework so clients can build.\n\t</li>\n\t<li>\n\tOn Cocoa fix bug with drag and drop that could lead to crashes.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1751/\">Bug #1751</a>.\n\t</li>\n\t<li>\n\tFix SciTE disk exhaustion bug by reporting failures when writing files.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1760/\">Bug #1760</a>.\n\t</li>\n\t<li>\n\tFix find strip in SciTE on Windows XP to be visible.\n\t</li>\n\t<li>\n\tSciTE on Windows changes the way it detects that a tool has finished executing to ensure all output data\n\tfrom the process is read.\n\t</li>\n\t<li>\n\tSciTE on Windows improves the time taken to read output from tools that produce a large amount\n\tof output by a factor of around 10.\n\t</li>\n\t<li>\n\tOn GTK+ the keyboard command for View | End of Line was changed to Ctrl+Shift+N\n\tto avoid clash with Search | Selection Add Next.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1750/\">Bug #1750</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite360.zip?download\">Release 3.6.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 3 August 2015.\n\t</li>\n\t<li>\n\tExternal interfaces use the Sci_Position and Sci_PositionU typedefs instead of int and unsigned int\n\tto allow for changes to a 64-bit interface on 64-bit platforms in the future.\n\tApplications and external lexers should start using the new type names so that\n\tthey will be compatible when the 64-bit change occurs.\n\tThere is also Sci_PositionCR (long) for use in the Sci_CharacterRange struct which will\n\talso eventually become 64-bit.\n\t</li>\n\t<li>\n\tMultiple selection now works over more key commands.\n\tThe new multiple-selection handling commands include horizontal movement and selection commands,\n\tline up and down movement and selection commands, word and line deletion commands, and\n\tline end insertion.\n\tThis change in behaviours is conditional on setting the SCI_SETADDITIONALSELECTIONTYPING property.\n\t</li>\n\t<li>\n\tAutocompletion lists send an SCN_AUTOCCOMPLETED notification after the text has been inserted.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1109/\">Feature #1109.</a>\n\t</li>\n\t<li>\n\tThe case mode style attribute can now be SC_CASE_CAMEL.\n\t</li>\n\t<li>\n\tThe Python lexer supports substyles for identifiers.\n\t</li>\n\t<li>\n\tSciTE adds support for substyles.\n\t</li>\n\t<li>\n\tSciTE's Export as RTF and Copy as RTF commands support UTF-8.\n\t</li>\n\t<li>\n\tSciTE can display autocompletion on all IME input with ime.autocomplete property.\n\t</li>\n\t<li>\n\tSciTE properties files now discard trailing white space on variable names.\n\t</li>\n\t<li>\n\tCalling SCI_SETIDENTIFIERS resets styling to ensure any added identifier are highlighted.\n\t</li>\n\t<li>\n\tAvoid candidate box randomly popping up away from edit pane with (especially\n\tJapanese) IME input.\n\t</li>\n\t<li>\n\tOn Cocoa fix problems with positioning of autocompletion lists near screen edge\n\tor under dock. Cancel autocompletion when window moved.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1740/\">Bug #1740</a>.\n\t</li>\n\t<li>\n\tFix drawing problem when control characters are in a hidden style as they then\n\thave a zero width rectangle to draw but modify that rectangle in a way that\n\tclears some pixels.\n\t</li>\n\t<li>\n\tReport error when attempt to resize buffer to more than 2GB with SC_STATUS_FAILURE.\n\t</li>\n\t<li>\n\tFix bug on GTK+ with scroll bars leaking.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1742/\">Bug #1742</a>.\n\t</li>\n\t<li>\n\tLexOthers.cxx file split into one file per lexer: LexBatch, LexDiff,\n\tLexErrorList, LexMake, LexNull, and LexProps.\n\t</li>\n\t<li>\n\tSciTE exporters handle styles &gt; 127 correctly now.\n\t</li>\n\t<li>\n\tSciTE on Windows can scale window element sizes based on the system DPI setting.\n\t</li>\n\t<li>\n\tSciTE implements find.in.files.close.on.find on all platforms, not just Windows.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite357.zip?download\">Release 3.5.7</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 20 June 2015.\n\t</li>\n\t<li>\n\tAdded SCI_MULTIPLESELECTADDNEXT to add the next occurrence of the main selection within the\n\ttarget to the set of selections as main. If the current selection is empty then select word around caret.\n\tSCI_MULTIPLESELECTADDEACH adds each occurrence of the main selection within the\n\ttarget to the set of selections.\n\t</li>\n\t<li>\n\tSciTE adds \"Selection Add Next\" and \"Selection Add Each\" commands to the Search menu.\n\t</li>\n\t<li>\n\tAdded SCI_ISRANGEWORD to determine if the parameters are at the start and end of a word.\n\t</li>\n\t<li>\n\tAdded SCI_TARGETWHOLEDOCUMENT to set the target to the whole document.\n\t</li>\n\t<li>\n\tVerilog lexer recognizes protected regions and the folder folds protected regions.\n\t</li>\n\t<li>\n\tA performance problem with markers when deleting many lines was fixed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1733/\">Bug #1733</a>.\n\t</li>\n\t<li>\n\tOn Cocoa fix crash when ScintillaView destroyed if no autocompletion ever displayed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1728/\">Bug #1728</a>.\n\t</li>\n\t<li>\n\tOn Cocoa fix crash in drag and drop.\n\t</li>\n\t<li>\n\tOn GTK+ 3.4+, when there are both horizontal and vertical scrollbars, draw the lower-right corner\n\tso that it does not appear black when text selected.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1611/\">Bug #1611</a>.\n\t</li>\n\t<li>\n\tFixed most calls deprecated in GTK+ 3.16. Does not fix style override calls\n\tas they are more complex.\n\t</li>\n\t<li>\n\tSciTE on GTK+ 3.x uses a different technique for highlighting the search strip when there is\n\tno match which is more compatible with future and past versions and different themes.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite356.zip?download\">Release 3.5.6</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 26 May 2015.\n\t</li>\n\t<li>\n\tOn Qt, use fractional positioning calls and avoid rounding to ensure consistency.\n\t</li>\n\t<li>\n\tSCI_TARGETASUTF8 and SCI_ENCODEDFROMUTF8 implemented on\n\tWin32 as well as GTK+ and Cocoa.\n\t</li>\n\t<li>\n\tC++ lexer fixes empty backquoted string.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1711/\">Bug #1711</a>.\n\t</li>\n\t<li>\n\tC++ lexer fixes #undef directive.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1719/\">Bug #1719</a>.\n\t</li>\n\t<li>\n\tFortran folder fixes handling of \"selecttype\" and \"selectcase\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1724/\">Bug #1724</a>.\n\t</li>\n\t<li>\n\tVerilog folder folds interface definitions.\n\t</li>\n\t<li>\n\tVHDL folder folds units declarations and fixes a case insensitivity bug with not treating \"IS\" the same as \"is\".\n\t</li>\n\t<li>\n\tFix bug when drawing text margins in buffered mode which would use default\n\tencoding instead of chosen encoding.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1703/\">Bug #1703</a>.\n\t</li>\n\t<li>\n\tFix bug with Korean Hanja conversions in DBCS encoding on Windows.\n\t</li>\n\t<li>\n\tFix for reading a UTF-16 file in SciTE where a non-BMP character is split over a read buffer boundary.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1710/\">Bug #1710</a>.\n\t</li>\n\t<li>\n\tFix bug on GTK+ 2.x for Windows where there was an ABI difference between\n\tcompiler version.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1726/\">Bug #1726</a>.\n\t</li>\n\t<li>\n\tFix undo bug on Cocoa that could lose data..\n\t</li>\n\t<li>\n\tFix link error on Windows when SCI_NAMESPACE used.\n\t</li>\n\t<li>\n\tFix exporting from SciTE when using Scintillua for lexing.\n\t</li>\n\t<li>\n\tSciTE does not report twice that a search string can not be found when \"Replace\" pressed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1716/\">Bug #1716</a>.\n\t</li>\n\t<li>\n\tSciTE on GTK+ 3.x disables arrow in search combo when no entries.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1717/\">Bug #1717</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite355.zip?download\">Release 3.5.5</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 17 April 2015.\n\t</li>\n\t<li>\n\tScintilla on Windows is now always a wide character window so SCI_SETKEYSUNICODE has no effect\n\tand SCI_GETKEYSUNICODE always returns true. These APIs are deprecated and should not be called.\n\t</li>\n\t<li>\n\tThe wxWidgets-specific ascent member of Font has been removed which breaks\n\tcompatibility with current wxStyledTextCtrl.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1682/\">Bug #1682</a>.\n\t</li>\n\t<li>\n\tIME on Qt supports multiple carets and behaves more like other platforms.\n\t</li>\n\t<li>\n\tAlways use inline IME on GTK+ for Korean.\n\t</li>\n\t<li>\n\tSQL lexer fixes handling of '+' and '-' in numbers so the '-' in '1-1' is seen as an operator and for\n\t'1--comment' the comment is recognized.\n\t</li>\n\t<li>\n\tTCL lexer reverts change to string handling.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1642/\">Bug #1642</a>.\n\t</li>\n\t<li>\n\tVerilog lexer fixes bugs with macro styling.\n\tVerilog folder fixes bugs with `end completing an `if* instead of `endif and fold.at.else, and implements\n\tfolding at preprocessor `else.\n\t</li>\n\t<li>\n\tVHDL lexer supports extended identifiers.\n\t</li>\n\t<li>\n\tFix bug on Cocoa where the calltip would display incorrectly when\n\tswitching calltips and the new calltip required a taller window.\n\t</li>\n\t<li>\n\tFix leak on Cocoa with autocompletion lists.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1706/\">Bug #1706</a>.\n\t</li>\n\t<li>\n\tFix potential crash on Cocoa with drag and drop.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1709/\">Bug #1709</a>.\n\t</li>\n\t<li>\n\tFix bug on Windows when compiling with MinGW-w64 which caused text to not be drawn\n\twhen in wrap mode.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1705/\">Bug #1705</a>.\n\t</li>\n\t<li>\n\tFix SciTE bug with missing file open filters and add hex to excluded set of properties files so that its\n\tsettings don't appear.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1707/\">Bug #1707</a>.\n\t</li>\n\t<li>\n\tFix SciTE bug where files without extensions like \"makefile\" were not highlighted correctly.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite354.zip?download\">Release 3.5.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 8 March 2015.\n\t</li>\n\t<li>\n\tIndicators may have a different colour and style when the mouse is over them or the caret is moved into them.\n\t</li>\n\t<li>\n\tAn indicator may display in a large variety of colours with the SC_INDICFLAG_VALUEFORE\n\tflag taking the colour from the indicator's value, which may differ for every character, instead of its\n\tforeground colour attribute.\n\t</li>\n\t<li>\n\tOn Cocoa, additional IME methods implemented so that more commands are enabled.\n\tFor Japanese: Reverse Conversion, Convert to Related Character, and Search Similar Kanji\n\tcan now be performed.\n\tThe global definition hotkey Command+Control+D and the equivalent three finger tap gesture\n\tcan be used.\n\t</li>\n\t<li>\n\tMinimum version of Qt supported is now 4.8 due to the use of QElapsedTimer::nsecsElapsed.\n\t</li>\n\t<li>\n\tOn Windows, for Korean, the VK_HANJA key is implemented to choose Hanja for Hangul and\n\tto convert from Hanja to Hangul.\n\t</li>\n\t<li>\n\tC++ lexer adds lexer.cpp.verbatim.strings.allow.escapes option that allows verbatim (@\") strings\n\tto contain escape sequences. This should remain off (0) for C# and be turned on (1) for Objective C.\n\t</li>\n\t<li>\n\tRust lexer accepts new 'is'/'us' integer suffixes instead of 'i'/'u'.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1098/\">Bug #1098</a>.\n\t</li>\n\t<li>\n\tRuby folder can fold multiline comments.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1697/\">Bug #1697</a>.\n\t</li>\n\t<li>\n\tSQL lexer fixes a bug with the q-quote operator.\n\t</li>\n\t<li>\n\tTCL lexer fixes a bug with some strings.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1642/\">Bug #1642</a>.\n\t</li>\n\t<li>\n\tVerilog lexer handles escaped identifiers that begin with \\ and end with space like \\reset* .\n\tVerilog folder fixes one bug with inconsistent folding when fold.comment is on and another\n\twith typedef class statements creating a fold point, expecting an endclass statement.\n\t</li>\n\t<li>\n\tVHDL folder fixes hang in folding when document starts with \"entity\".\n\t</li>\n\t<li>\n\tAdd new indicators INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, and INDIC_TEXTFORE.\n\tINDIC_COMPOSITIONTHIN is a thin underline that mimics the appearance of non-target segments in OS X IME.\n\tINDIC_FULLBOX is similar to INDIC_STRAIGHTBOX but covers the entire character area which means that\n\tindicators with this style on contiguous lines may touch. INDIC_TEXTFORE changes the text foreground colour.\n\t</li>\n\t<li>\n\tFix adaptive scrolling speed for GTK+ on OS X with GTK Quartz backend (as opposed to X11 backend).\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1696/\">Bug #1696</a>.\n\t</li>\n\t<li>\n\tFix position of autocompletion and calltips on Cocoa when there were two screens stacked vertically.\n\t</li>\n\t<li>\n\tFix crash in SciTE when saving large files in background when closing application.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1691/\">Bug #1691</a>.\n\t</li>\n\t<li>\n\tFix decoding of MSVC warnings in SciTE so that files in the C:\\Program Files (x86)\\ directory can be opened.\n\tThis is a common location of system include files.\n\t</li>\n\t<li>\n\tFix compilation failure of C++11 &lt;regex&gt; on Windows using gcc.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite353.zip?download\">Release 3.5.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 20 January 2015.\n\t</li>\n\t<li>\n\tSupport removed for Windows 95, 98, and ME.\n\t</li>\n\t<li>\n\tLexers added for Motorola S-Record files, Intel hex files, and Tektronix extended hex files with folding for Intel hex files.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1091/\">Feature #1091.</a>\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1093/\">Feature #1093.</a>\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1095/\">Feature #1095.</a>\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1096/\">Feature #1096.</a>\n\t</li>\n\t<li>\n\tC++ folder allows folding on square brackets '['.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1087/\">Feature #1087.</a>\n\t</li>\n\t<li>\n\tShell lexer fixes three issues with here-documents.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1672/\">Bug #1672</a>.\n\t</li>\n\t<li>\n\tVerilog lexer highlights doc comment keywords; has separate styles for input, output, and inout ports\n\t(lexer.verilog.portstyling); fixes a bug in highlighting numbers; can treat upper-case identifiers as\n\tkeywords (lexer.verilog.allupperkeywords); and can use different styles for code that is inactive due\n\tto preprocessor commands (lexer.verilog.track.preprocessor, lexer.verilog.update.preprocessor).\n\t</li>\n\t<li>\n\tWhen the calltip window is taller than the Scintilla window, leave it in a\n\tposition that avoids overlapping the Scintilla text.\n\t</li>\n\t<li>\n\tWhen a text margin is displayed, for annotation lines, use the background colour of the base line.\n\t</li>\n\t<li>\n\tOn Windows GDI, assume font names are encoded in UTF-8. This matches the Direct2D code path.\n\t</li>\n\t<li>\n\tFix paste for GTK+ on OS X.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1677/\">Bug #1677</a>.\n\t</li>\n\t<li>\n\tReverted a fix on Qt where Qt 5.3 has returned to the behaviour of 4.x.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1575/\">Bug #1575</a>.\n\t</li>\n\t<li>\n\tWhen the mouse is on the line between margin and text changed to treat as within text.\n\tThis makes the PLAT_CURSES character cell platform work better.\n\t</li>\n\t<li>\n\tFix a crash in SciTE when the command line is just \"-close:\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1675/\">Bug #1675</a>.\n\t</li>\n\t<li>\n\tFix unexpected dialog in SciTE on Windows when the command line has a quoted filename then ends with a space.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1673/\">Bug #1673</a>.\n\t</li>\n\t<li>\n\tOn Windows and GTK+, use indicators for inline IME.\n\t</li>\n\t<li>\n\tSciTE shuts down quicker when there is no user-written OnClose function and no directors are attached.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite352.zip?download\">Release 3.5.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 2 December 2014.\n\t</li>\n\t<li>\n\tFor OS X Cocoa switch C++ runtime to libc++ to enable use of features that will never\n\tbe added to libstdc++ including those part of C++11.\n\tScintilla will now run only on OS X 10.7 or later and only in 64-bit mode.\n\t</li>\n\t<li>\n\tInclude support for using C++11 &lt;regex&gt; for regular expression searches.\n\tEnabling this requires rebuilding Scintilla with a non-default option.\n\tThis is a provisional feature and may change API before being made permanent.\n\t</li>\n\t<li>\n\tAllocate indicators used for Input Method Editors after 31 which was the previous limit of indicators to\n\tensure no clash between the use of indicators for IME and for the application.\n\t</li>\n\t<li>\n\tANNOTATION_INDENTED added which is similar to ANNOTATION_BOXED in terms of positioning\n\tbut does not show a border.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1086/\">Feature #1086.</a>\n\t</li>\n\t<li>\n\tAllow platform overrides for drawing tab arrows, wrap markers, and line markers.\n\tSize of double click detection area is a variable.\n\tThese enable better visuals and behaviour for PLAT_CURSES as it is character cell based.\n\t</li>\n\t<li>\n\tCoffeeScript lexer fixes \"/*\" to not be a comment.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1420/\">Bug #1420</a>.\n\t</li>\n\t<li>\n\tVHDL folder fixes \"block\" keyword.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1664/\">Bug #1664</a>.\n\t</li>\n\t<li>\n\tPrevent caret blinking when holding down Delete key.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1657/\">Bug #1657</a>.\n\t</li>\n\t<li>\n\tOn Windows, allow right click selection in popup menu.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1080/\">Feature #1080.</a>\n\t</li>\n\t<li>\n\tOn Windows, only call ShowCaret in GDI mode as it interferes with caret drawing when using Direct2D.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1643/\">Bug #1643</a>.\n\t</li>\n\t<li>\n\tOn Windows, another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITEDC added\n\twhich may avoid drawing failures in some circumstances by drawing into a GDI DC.\n\tThis feature is provisional and may be changed or removed if a better solution is found.\n\t</li>\n\t<li>\n\tOn Windows, avoid processing mouse move events where the mouse has not moved as these can\n\tcause unexpected dwell start notifications.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1670/\">Bug #1670</a>.\n\t</li>\n\t<li>\n\tFor GTK+ on Windows, avoid extra space when pasting from external application.\n\t</li>\n\t<li>\n\tOn GTK+ 2.x allow Scintilla to be used inside tool tips by changing when preedit window created.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1662/\">Bug #1662</a>.\n\t</li>\n\t<li>\n\tSupport MinGW compilation under Linux.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1077/\">Feature #1077.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite351.zip?download\">Release 3.5.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 30 September 2014.\n\t</li>\n\t<li>\n\tBibTeX lexer added.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1071/\">Feature #1071.</a>\n\t</li>\n\t<li>\n\tSQL lexer supports the q-quote operator as SCE_SQL_QOPERATOR(24).\n\t</li>\n\t<li>\n\tVHDL lexer supports block comments.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1527/\">Bug #1527</a>.\n\t</li>\n\t<li>\n\tVHDL folder fixes case where \"component\" used before name.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/613/\">Bug #613</a>.\n\t</li>\n\t<li>\n\tRestore fractional pixel tab positioning which was truncated to whole pixels in 3.5.0.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1652/\">Bug #1652</a>.\n\t</li>\n\t<li>\n\tAllow choice between windowed and inline IME on some platforms.\n\t</li>\n\t<li>\n\tOn GTK+ cache autocomplete window to avoid platform bug where windows\n\twere sometimes lost.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1649/\">Bug #1649</a>.\n\t</li>\n\t<li>\n\tOn GTK+ size autocomplete window more accurately.\n\t</li>\n\t<li>\n\tOn Windows only unregister windows classes registered.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1639/\">Bug #1639</a>.\n\t</li>\n\t<li>\n\tOn Windows another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITERETAIN added\n\twhich may avoid drawing failures on some cards and drivers.\n\tThis feature is provisional and may be changed or removed if a better solution is found.\n\t</li>\n\t<li>\n\tOn Windows support the Visual Studio 2010+ clipboard format that indicates a line copy.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1636/\">Bug #1636</a>.\n\t</li>\n\t<li>\n\tSciTE session files remember the scroll position.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite350.zip?download\">Release 3.5.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 13 August 2014.\n\t</li>\n\t<li>\n\tText may share space vertically so that extreme ascenders and descenders are\n\tnot cut off by calling SCI_SETPHASESDRAW(SC_PHASES_MULTIPLE).\n\t</li>\n\t<li>\n\tSeparate timers are used for each type of periodic activity and they are turned on and off\n\tas required. This saves power as there are fewer wake ups.\n\tOn recent releases of OS X Cocoa and Windows, coalescing timers are used to further\n\tsave power.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1086/\">Bug #1086</a>.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1532/\">Bug #1532</a>.\n\t</li>\n\t<li>\n\tExplicit tab stops may be set for each line.\n\t</li>\n\t<li>\n\tOn Windows and GTK+, when using Korean input methods, IME composition is moved from a\n\tseparate window into the Scintilla window.\n\t</li>\n\t<li>\n\tSciTE adds a \"Clean\" command to the \"Tools\" menu which is meant to be bound to a command like\n\t\"make clean\".\n\t</li>\n\t<li>\n\tLexer added for Windows registry files.\n\t</li>\n\t<li>\n\tHTML lexer fixes a crash with SGML after a Mako comment.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1622/\">Bug #1622</a>.\n\t</li>\n\t<li>\n\tKiXtart lexer adds a block comment state.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1053/\">Feature #1053.</a>\n\t</li>\n\t<li>\n\tMatlab lexer fixes transpose operations like \"X{1}'\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1629/\">Bug #1629</a>.\n\t</li>\n\t<li>\n\tRuby lexer fixes bugs with the syntax of symbols including allowing a symbol to end with '?'.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1627/\">Bug #1627</a>.\n\t</li>\n\t<li>\n\tRust lexer supports byte string literals, naked CR can be escaped in strings, and files starting with\n\t\"#![\" are not treated as starting with a hashbang comment.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1063/\">Feature #1063.</a>\n\t</li>\n\t<li>\n\tBug fixed where style data was stale when deleting a rectangular selection.\n\t</li>\n\t<li>\n\tBug fixed where annotations disappeared when SCI_CLEARDOCUMENTSTYLE called.\n\t</li>\n\t<li>\n\tBug fixed where selection not redrawn after SCI_DELWORDRIGHT.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1633/\">Bug #1633</a>.\n\t</li>\n\t<li>\n\tChange the function prototypes to be complete for functions exported as \"C\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1618/\">Bug #1618</a>.\n\t</li>\n\t<li>\n\tFix a memory leak on GTK+ with autocompletion lists.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1638/\">Bug #1638</a>.\n\t</li>\n\t<li>\n\tOn GTK+, use the full character width for the overstrike caret for multibyte characters.\n\t</li>\n\t<li>\n\tOn Qt, set list icon size to largest icon. Add padding on OS X.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1634/\">Bug #1634</a>.\n\t</li>\n\t<li>\n\tOn Qt, fix building on FreeBSD 9.2.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1635/\">Bug #1635</a>.\n\t</li>\n\t<li>\n\tOn Qt, add a get_character method on the document.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1064/\">Feature #1064.</a>\n\t</li>\n\t<li>\n\tOn Qt, add SCI_* for methods to ScintillaConstants.py.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1065/\">Feature #1065.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ crash fixed with Insert Abbreviation command.\n\t</li>\n\t<li>\n\tFor SciTE with read-only files and are.you.sure=0 reenable choice to save to another\n\tlocation when using Save or Close commands.\n\t</li>\n\t<li>\n\tFix SciTE bug where toggle bookmark did not work after multiple lines with bookmarks merged.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1617/\">Bug #1617</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite344.zip?download\">Release 3.4.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 3 July 2014.\n\t</li>\n\t<li>\n\tStyle byte indicators removed. They were deprecated in 2007. Standard indicators should be used instead.\n\tSome elements used by lexers no longer take number of bits or mask arguments so lexers may need to be\n\tupdated for LexAccessor::StartAt,  LexAccessor::SetFlags (removed),  LexerModule::LexerModule.\n\t</li>\n\t<li>\n\tWhen multiple selections are active, autocompletion text may be inserted at each selection with new\n\tSCI_AUTOCSETMULTI method.\n\t</li>\n\t<li>\n\tC++ lexer fixes crash for \"#define x(\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1614/\">Bug #1614</a>.\n\t</li>\n\t<li>\n\tC++ lexer fixes raw string recognition so that R\"xxx(blah)xxx\" is styled as SCE_C_STRINGRAW.\n\t</li>\n\t<li>\n\tThe Postscript lexer no longer marks token edges with indicators as this used style byte indicators.\n\t</li>\n\t<li>\n\tThe Scriptol lexer no longer displays indicators for poor indentation as this used style byte indicators.\n\t</li>\n\t<li>\n\tTCL lexer fixes names of keyword sets.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1615/\">Bug #1615</a>.\n\t</li>\n\t<li>\n\tShell lexer fixes fold matching problem caused by \"&lt;&lt;&lt;\".\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1605/\">Bug #1605</a>.\n\t</li>\n\t<li>\n\tFix bug where indicators were not removed when fold highlighting on.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1604/\">Bug #1604</a>.\n\t</li>\n\t<li>\n\tFix bug on Cocoa where emoji were treated as being zero width.\n\t</li>\n\t<li>\n\tFix crash on GTK+ with Ubuntu 12.04 and overlay scroll bars.\n\t</li>\n\t<li>\n\tAvoid creating a Cairo context when measuring text on GTK+ as future versions of GTK+\n\tmay prohibit calling gdk_cairo_create except inside drawing handlers. This prohibition may\n\tbe required on Wayland.\n\t</li>\n\t<li>\n\tOn Cocoa, the registerNotifyCallback method is now marked as deprecated so client code that\n\tuses it will display an error message.\n\tClient code should use the delegate mechanism or subclassing instead.\n\tThe method will be removed in the next version.\n\t</li>\n\t<li>\n\tOn Cocoa, package Scintilla more in compliance with platform conventions.\n\tOnly publish public headers in the framework headers directory.\n\tOnly define the Scintilla namespace in Scintilla.h when compiling as C++.\n\tUse the Cocoa NS_ENUM and NS_OPTIONS macros for exposed enumerations.\n\tHide internal methods from public headers.\n\tThese changes are aimed towards publishing Scintilla as a module which will allow it to\n\tbe used from the Swift programming language, although more changes will be needed here.\n\t</li>\n\t<li>\n\tFix crash in SciTE when stream comment performed at line end.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1610/\">Bug #1610</a>.\n\t</li>\n\t<li>\n\tFor SciTE on Windows, display error message when common dialogs fail.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/156/\">Bug #156</a>.\n\t</li>\n\t<li>\n\tFor SciTE on GTK+ fix bug with initialization of toggle buttons in find and replace strips.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1612/\">Bug #1612</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite343.zip?download\">Release 3.4.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 27 May 2014.\n\t</li>\n\t<li>\n\tFix hangs and crashes in DLL at shutdown on Windows when using Direct2D.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite342.zip?download\">Release 3.4.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 22 May 2014.\n\t</li>\n\t<li>\n\tInsertions can be filtered or modified by calling SCI_CHANGEINSERTION inside a handler for\n\tSC_MOD_INSERTCHECK.\n\t</li>\n\t<li>\n\tDMIS lexer added. DMIS is a language for coordinate measuring machines.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1049/\">Feature #1049.</a>\n\t</li>\n\t<li>\n\tLine state may be displayed in the line number margin to aid in debugging lexing and folding with\n\tSC_FOLDFLAG_LINESTATE (128).\n\t</li>\n\t<li>\n\tC++ lexer understands more preprocessor statements. #if defined SYMBOL is understood.\n\tSome macros with arguments can be understood and these may be predefined in keyword set 4\n\t(keywords5 for SciTE)\n\twith syntax similar to CHECKVERSION(x)=(x&lt;3).\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1051/\">Feature #1051.</a>\n\t</li>\n\t<li>\n\tC++ lexer can highlight task marker keywords in comments as SCE_C_TASKMARKER.\n\t</li>\n\t<li>\n\tC++ lexer can optionally highlight escape sequences in strings as SCE_C_ESCAPESEQUENCE.\n\t</li>\n\t<li>\n\tC++ lexer supports Go back quoted raw string literals with lexer.cpp.backquoted.strings option.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1047/\">Feature #1047.</a>\n\t</li>\n\t<li>\n\tSciTE performs word and search match highlighting as an idle task to improve interactivity\n\tand allow use of these features on large files.\n\t</li>\n\t<li>\n\tBug fixed on Cocoa where previous caret lines were visible.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1593/\">Bug #1593</a>.\n\t</li>\n\t<li>\n\tBug fixed where caret remained invisible when period set to 0.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1592/\">Bug #1592</a>.\n\t</li>\n\t<li>\n\tFixed display flashing when scrolling with GTK+ 3.10.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1567/\">Bug #1567</a>.\n\t</li>\n\t<li>\n\tFixed calls and constants deprecated in GTK+ 3.10.\n\t</li>\n\t<li>\n\tFixed bug on Windows where WM_GETTEXT did not provide data in UTF-16 for Unicode window.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/685/\">Bug #685</a>.\n\t</li>\n\t<li>\n\tFor SciTE, protect access to variables used by threads with a mutex to prevent data races.\n\t</li>\n\t<li>\n\tFor SciTE on GTK+ fix thread object leaks.\n\tDisplay the version of GTK+ compiled against in the about box.\n\t</li>\n\t<li>\n\tFor SciTE on GTK+ 3.10, fix the size of the tab bar's content and use\n\tfreedesktop.org standard icon names where possible.\n\t</li>\n\t<li>\n\tFor SciTE on Windows, fix bug where invoking help resubmitted the\n\trunning program.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/272/\">Bug #272</a>.\n\t</li>\n\t<li>\n\tSciTE's highlight current word feature no longer matches the selection when it contains space.\n\t</li>\n\t<li>\n\tFor building SciTE in Visual C++, the win\\SciTE.vcxproj project file should be used.\n\tThe boundscheck directory and its project and solution files have been removed.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite341.zip?download\">Release 3.4.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 1 April 2014.\n\t</li>\n\t<li>\n\tDisplay Unicode line ends as [LS], [PS], and [NEL] blobs.\n\t</li>\n\t<li>\n\tBug fixed where cursor down failed on wrapped lines.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1585/\">Bug #1585</a>.\n\t</li>\n\t<li>\n\tCaret positioning changed a little to appear inside characters less often by\n\trounding the caret position to the pixel grid instead of truncating.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1588/\">Bug #1588</a>.\n\t</li>\n\t<li>\n\tBug fixed where automatic indentation wrong when caret in virtual space.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1586/\">Bug #1586</a>.\n\t</li>\n\t<li>\n\tBug fixed on Windows where WM_LBUTTONDBLCLK was no longer sent to window.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1587/\">Bug #1587</a>.\n\t</li>\n\t<li>\n\tBug fixed with SciTE on Windows XP where black stripes appeared inside the find and\n\treplace strips.\n\t</li>\n\t<li>\n\tCrash fixed in SciTE with recursive properties files.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1507/\">Bug #1507</a>.\n\t</li>\n\t<li>\n\tBug fixed with SciTE where Ctrl+E before an unmatched end brace jumps to file start.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/315/\">Bug #315</a>.\n\t</li>\n\t<li>\n\tFixed scrolling on Cocoa to avoid display glitches and be smoother.\n\t</li>\n\t<li>\n\tFixed crash on Cocoa when character composition used when autocompletion list active.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite340.zip?download\">Release 3.4.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 22 March 2014.\n\t</li>\n\t<li>\n\tThe Unicode line ends and substyles features added as provisional in 3.2.5 are now finalized.\n\tThere are now no provisional features.\n\t</li>\n\t<li>\n\tAdded wrap mode SC_WRAP_WHITESPACE which only wraps on whitespace, not on style changes.\n\t</li>\n\t<li>\n\tSciTE find and replace strips can perform incremental searching and temporary highlighting of all\n\tmatches with the find.strip.incremental, replace.strip.incremental, and find.indicator.incremental settings.\n\t</li>\n\t<li>\n\tSciTE default settings changed to use strips for find and replace and to draw with Direct2D and\n\tDirectWrite on Windows.\n\t</li>\n\t<li>\n\tSciTE on Windows scales image buttons on the find and replace strips to match the current system scale factor.\n\t</li>\n\t<li>\n\tAdditional assembler lexer variant As(SCLEX_AS) for Unix assembly code which uses '#' for comments and\n\t';' to separate statements.\n\t</li>\n\t<li>\n\tFix Coffeescript lexer for keyword style extending past end of word.\n\tAlso fixes styling 0...myArray.length all as a number.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1583/\">Bug #1583</a>.\n\t</li>\n\t<li>\n\tFix crashes and other bugs in Fortran folder by removing folding of do-label constructs.\n\t</li>\n\t<li>\n\tDeleting a whole line deletes the annotations on that line instead of the annotations on the next line.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1577/\">Bug #1577</a>.\n\t</li>\n\t<li>\n\tChanged position of tall calltips to prefer lower half of screen to cut off end instead of start.\n\t</li>\n\t<li>\n\tFix Qt bug where double click treated as triple click.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1575/\">Bug #1575</a>.\n\t</li>\n\t<li>\n\tOn Qt, selecting an item in an autocompletion list that is not currently visible positions it at the top.\n\t</li>\n\t<li>\n\tFix bug on Windows when resizing autocompletion list with only short strings caused the list to move.\n\t</li>\n\t<li>\n\tOn Cocoa reduce scrollable height by one line to fix bugs with moving caret\n\tup or down.\n\t</li>\n\t<li>\n\tOn Cocoa fix calltips which did not appear when they were created in an off-screen position.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite339.zip?download\">Release 3.3.9</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 31 January 2014.\n\t</li>\n\t<li>\n\tFix 3.3.8 bug where external lexers became inaccessible.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1574/\">Bug #1574</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite338.zip?download\">Release 3.3.8</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 28 January 2014.\n\t</li>\n\t<li>\n\tDropSelectionN API added to drop a selection from a multiple selection.\n\t</li>\n\t<li>\n\tCallTipSetPosStart API added to change the position at which backspacing removes the calltip.\n\t</li>\n\t<li>\n\tSC_MARK_BOOKMARK marker symbol added which looks like bookmark ribbons used in\n\tbook reading applications.\n\t</li>\n\t<li>\n\tBasic lexer highlights hex, octal, and binary numbers in FreeBASIC which use the prefixes\n\t&amp;h, &amp;o and &amp;b respectively.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1041/\">Feature #1041.</a>\n\t</li>\n\t<li>\n\tC++ lexer fixes bug where keyword followed immediately by quoted string continued\n\tkeyword style.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1564/\">Bug #1564</a>.\n\t</li>\n\t<li>\n\tMatlab lexer treats '!' differently for Matlab and Octave languages.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1571/\">Bug #1571</a>.\n\t</li>\n\t<li>\n\tRust lexer improved with nested comments, more compliant doc-comment detection,\n\toctal literals, NUL characters treated as valid, and highlighting of raw string literals and float literals fixed.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1038/\">Feature #1038.</a>\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1570/\">Bug #1570</a>.\n\t</li>\n\t<li>\n\tOn Qt expose the EOLMode on the document object.\n\t</li>\n\t<li>\n\tFix hotspot clicking where area was off by half a character width.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1562/\">Bug #1562</a>.\n\t</li>\n\t<li>\n\tTweaked scroll positioning by either 2 pixels or 1 pixel when caret is at left or right of view\n\tto ensure caret is inside visible area.\n\t</li>\n\t<li>\n\tSend SCN_UPDATEUI with SC_UPDATE_SELECTION for Shift+Tab inside text.\n\t</li>\n\t<li>\n\tOn Windows update the system caret position when scrolling to help screen readers\n\tsee the scroll quickly.\n\t</li>\n\t<li>\n\tOn Cocoa, GTK+, and Windows/Direct2D draw circles more accurately so that\n\tcircular folding margin markers appear circular, of consistent size, and centred.\n\tMake SC_MARK_ARROWS drawing more even.\n\tFix corners of SC_MARK_ROUNDRECT with Direct2D to be similar to other platforms.\n\t</li>\n\t<li>\n\tSciTE uses a bookmark ribbon symbol for bookmarks as it scales better to higher resolutions\n\tthan the previous blue gem bitmap.\n\t</li>\n\t<li>\n\tSciTE will change the width of margins while running when the margin.width and fold.margin.width\n\tproperties are changed.\n\t</li>\n\t<li>\n\tSciTE on Windows can display a larger tool bar with the toolbar.large property.\n\t</li>\n\t<li>\n\tSciTE displays a warning message when asked to open a directory.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1568/\">Bug #1568</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite337.zip?download\">Release 3.3.7</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 12 December 2013.\n\t</li>\n\t<li>\n\tLexer added for DMAP language.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1026/\">Feature #1026.</a>\n\t</li>\n\t<li>\n\tBasic lexer supports multiline comments in FreeBASIC.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1023/\">Feature #1023.</a>\n\t</li>\n\t<li>\n\tBash lexer allows '#' inside words..\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1553/\">Bug #1553</a>.\n\t</li>\n\t<li>\n\tC++ lexer recognizes C++11 user-defined literals and applies lexical class SCE_C_USERLITERAL.\n\t</li>\n\t<li>\n\tC++ lexer allows single quote characters as digit separators in numeric literals like 123'456 as this is\n\tincluded in C++14.\n\t</li>\n\t<li>\n\tC++ lexer fixes bug with #include statements without \" or &gt; terminating filename.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1538/\">Bug #1538</a>.\n\t</li>\n\t<li>\n\tC++ lexer fixes split of Doxygen keywords @code{.fileExtension} and @param[in,out].\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1551/\">Bug #1551</a>.\n\t</li>\n\t<li>\n\tC++ lexer styles Doxygen keywords at end of document.\n\t</li>\n\t<li>\n\tCmake lexer fixes bug with empty comments.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1550/\">Bug #1550</a>.\n\t</li>\n\t<li>\n\tFortran folder improved. Treats \"else\" as fold header.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/962/\">Feature #962.</a>\n\t</li>\n\t<li>\n\tFix bug with adjacent instances of the same indicator with different values where only the first was drawn.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1560/\">Bug #1560</a>.\n\t</li>\n\t<li>\n\tFor DirectWrite, use the GDI ClearType gamma value for SC_EFF_QUALITY_LCD_OPTIMIZED as\n\tthis results in text that is similar in colour intensity to GDI.\n\tFor the duller default DirectWrite ClearType text appearance, use SC_EFF_QUALITY_DEFAULT.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/887/\">Feature #887.</a>\n\t</li>\n\t<li>\n\tFix another problem with drawing on Windows with Direct2D when returning from lock screen.\n\tThe whole window is redrawn as just redrawing the initially required area left other areas black.\n\t</li>\n\t<li>\n\tWhen scroll width is tracked, take width of annotation lines into account.\n\t</li>\n\t<li>\n\tFor Cocoa on OS X 10.9, responsive scrolling is supported.\n\t</li>\n\t<li>\n\tOn Cocoa, apply font quality setting to line numbers.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1544/\">Bug #1544</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, clicking in margin now sets focus.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1542/\">Bug #1542</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, correct cursor displayed in margin after showing dialog.\n\t</li>\n\t<li>\n\tOn Cocoa, multipaste mode now works.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1541/\">Bug #1541</a>.\n\t</li>\n\t<li>\n\tOn GTK+, chain up to superclass finalize so that all finalization is performed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1549/\">Bug #1549</a>.\n\t</li>\n\t<li>\n\tOn GTK+, fix horizontal scroll bar range to not be double the needed width.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1546/\">Bug #1546</a>.\n\t</li>\n\t<li>\n\tOn OS X GTK+, report control key as SCI_META for mouse down events.\n\t</li>\n\t<li>\n\tOn Qt, bug fixed with drawing of scrollbars, where previous contents were not drawn over with some\n\tthemes.\n\t</li>\n\t<li>\n\tOn Qt, bug fixed with finding monitor rectangle which could lead to autocomplete showing at wrong location.\n\t</li>\n\t<li>\n\tSciTE fix for multiple message boxes when failing to save a file with save.on.deactivate.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1540/\">Bug #1540</a>.\n\t</li>\n\t<li>\n\tSciTE on GTK+ fixes SIGCHLD handling so that Lua scripts can determine the exit status of processes\n\tthey start.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1557/\">Bug #1557</a>.\n\t</li>\n\t<li>\n\tSciTE on Windows XP fixes bad display of find and replace values when using strips.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite336.zip?download\">Release 3.3.6</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 15 October 2013.\n\t</li>\n\t<li>\n\tAdded functions to help convert between substyles and base styles and between secondary and primary styles.\n\tSCI_GETSTYLEFROMSUBSTYLE finds the base style of substyles.\n\tCan be used to treat all substyles of a style equivalent to that style.\n\tSCI_GETPRIMARYSTYLEFROMSTYLE finds the primary style of secondary styles.\n\tStyleFromSubStyle and PrimaryStyleFromStyle methods were added to ILexerWithSubStyles so each lexer can implement these.\n\t</li>\n\t<li>\n\tLexer added for Rust language.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1024/\">Feature #1024.</a>\n\t</li>\n\t<li>\n\tAvoid false matches in errorlist lexer which is used for the SciTE output pane\n\tby stricter checking of ctags lines.\n\t</li>\n\t<li>\n\tPerl lexer fixes bugs with multi-byte characters, including in HEREDOCs and PODs.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1528/\">Bug #1528</a>.\n\t</li>\n\t<li>\n\tSQL folder folds 'create view' statements.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1020/\">Feature #1020.</a>\n\t</li>\n\t<li>\n\tVisual Prolog lexer updated with better support for string literals and Unicode.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1025/\">Feature #1025.</a>\n\t</li>\n\t<li>\n\tFor SCI_SETIDENTIFIERS, \\t, \\r, and \\n are allowed as well as space between identifiers.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1521/\">Bug #1521</a>.\n\t</li>\n\t<li>\n\tGaining and losing focus is now reported as a notification with the code set to SCN_FOCUSIN\n\tor SCN_FOCUSOUT.\n\tThis allows clients to uniformly use notifications instead of commands.\n\tSince there is no longer a need for commands they will be deprecated in a future version.\n\tClients should switch any code that currently uses SCEN_SETFOCUS or SCEN_KILLFOCUS.\n\t</li>\n\t<li>\n\tOn Cocoa, clients should use the delegate mechanism or subclass ScintillaView in preference\n\tto registerNotifyCallback: which will be deprecated in the future.\n\t</li>\n\t<li>\n\tOn Cocoa, the ScintillaView.h header hides internal implementation details from Platform.h and ScintillaCocoa.h.\n\tInnerView was renamed to SCIContentView and MarginView was renamed to SCIMarginView.\n\tdealloc removed from @interface.\n\t</li>\n\t<li>\n\tOn Cocoa, clients may customize SCIContentView by subclassing both SCIContentView and ScintillaView\n\tand implementing the contentViewClass class method on the ScintillaView subclass to return the class of\n\tthe SCIContentView subclass.\n\t</li>\n\t<li>\n\tOn Cocoa, fixed appearance of alpha rectangles to use specified alpha and colour for outline as well as corner size.\n\tThis makes INDIC_STRAIGHTBOX and INDIC_ROUNDBOX look correct.\n\t</li>\n\t<li>\n\tOn Cocoa, memory leak fixed for MarginView.\n\t</li>\n\t<li>\n\tOn Cocoa, make drag and drop work when destination view is empty.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1534/\">Bug #1534</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, drag image fixed when view scrolled.\n\t</li>\n\t<li>\n\tOn Cocoa, SCI_POSITIONFROMPOINTCLOSE fixed when view scrolled.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1021/\">Feature #1021.</a>\n\t</li>\n\t<li>\n\tOn Cocoa, don't send selection change notification when scrolling.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1522/\">Bug #1522</a>.\n\t</li>\n\t<li>\n\tOn Qt, turn off idle events on destruction to prevent repeatedly calling idle.\n\t</li>\n\t<li>\n\tQt bindings in ScintillaEdit changed to use signed first parameter.\n\t</li>\n\t<li>\n\tCompilation errors fixed on Windows and GTK+ with SCI_NAMESPACE.\n\t</li>\n\t<li>\n\tOn Windows, building with gcc will check if Direct2D headers are available and enable Direct2D if they are.\n\t</li>\n\t<li>\n\tAvoid attempts to redraw empty areas when lexing beyond the currently visible lines.\n\t</li>\n\t<li>\n\tControl more attributes of indicators in SciTE with find.mark.indicator and highlight.current.word.indicator\n\tproperties.\n\t</li>\n\t<li>\n\tFix SciTE bug with buffers becoming read-only.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1525/\">Bug #1525</a>.\n\t</li>\n\t<li>\n\tFix linking SciTE on non-Linux Unix systems with GNU toolchain by linking to libdl.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1523/\">Bug #1523</a>.\n\t</li>\n\t<li>\n\tOn Windows, SciTE's Incremental Search displays match failures by changing the background colour\n\tinstead of not adding the character that caused failure.\n\t</li>\n\t<li>\n\tFix SciTE on GTK+ 3.x incremental search to change foreground colour when no match as\n\tchanging background colour is difficult.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite335.zip?download\">Release 3.3.5</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 31 August 2013.\n\t</li>\n\t<li>\n\tCharacters may be represented by strings.\n\tIn Unicode mode C1 control characters are represented by their mnemonics.\n\t</li>\n\t<li>\n\tAdded SCI_POSITIONRELATIVE to optimize navigation by character.\n\t</li>\n\t<li>\n\tOption to allow mouse selection to switch to rectangular by pressing Alt after start of gesture.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1007/\">Feature #1007.</a>\n\t</li>\n\t<li>\n\tLexer added for KVIrc script.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1008/\">Feature #1008.</a>\n\t</li>\n\t<li>\n\tBash lexer fixed quoted HereDoc delimiters.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1500/\">Bug #1500</a>.\n\t</li>\n\t<li>\n\tMS SQL lexer fixed ';' to appear as an operator.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1509/\">Bug #1509</a>.\n\t</li>\n\t<li>\n\tStructured Text lexer fixed styling of enumeration members.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1508/\">Bug #1508</a>.\n\t</li>\n\t<li>\n\tFixed bug with horizontal caret position when margin changed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1512/\">Bug #1512</a>.\n\t</li>\n\t<li>\n\tFixed bug on Cocoa where coordinates were relative to text subview instead of whole view.\n\t</li>\n\t<li>\n\tEnsure selection redrawn correctly in two cases.\n\tWhen switching from stream to rectangular selection with Alt+Shift+Up.\n\tWhen reducing the range of an additional selection by moving mouse up.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1007/\">Feature #1007.</a>\n\t</li>\n\t<li>\n\tCopy and paste of rectangular selections compatible with Borland Delphi IDE on Windows.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/1002/\">Feature #1002.</a>\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1513/\">Bug #1513</a>.\n\t</li>\n\t<li>\n\tInitialize extended styles to the default style.\n\t</li>\n\t<li>\n\tOn Windows, fix painting on an explicit HDC when first paint attempt abandoned.\n\t</li>\n\t<li>\n\tQt bindings in ScintillaEdit made to work on 64-bit Unix systems.\n\t</li>\n\t<li>\n\tEasier access to printing on Qt with formatRange method.\n\t</li>\n\t<li>\n\tFixed SciTE failure to save initial buffer in single buffer mode.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1339/\">Bug #1339</a>.\n\t</li>\n\t<li>\n\tFixed compilation problem with Visual C++ in non-English locales.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1506/\">Bug #1506</a>.\n\t</li>\n\t<li>\n\tDisable Direct2D when compiling with MinGW gcc on Windows because of changes in the recent MinGW release.\n\t</li>\n\t<li>\n\tSciTE crash fixed for negative line.margin.width.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1504/\">Bug #1504</a>.\n\t</li>\n\t<li>\n\tSciTE fix for infinite dialog boxes when failing to automatically save a file.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1503/\">Bug #1503</a>.\n\t</li>\n\t<li>\n\tSciTE settings buffered.draw, two.phase.draw, and technology are applied to the\n\toutput pane as well as the edit pane.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite334.zip?download\">Release 3.3.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 19 July 2013.\n\t</li>\n\t<li>\n\tHandling of UTF-8 and DBCS text in lexers improved with methods ForwardBytes and\n\tGetRelativeCharacter added to StyleContext.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1483/\">Bug #1483</a>.\n\t</li>\n\t<li>\n\tFor Unicode text, case-insensitive searching and making text upper or lower case is now\n\tcompliant with Unicode standards on all platforms and is much faster for non-ASCII characters.\n\t</li>\n\t<li>\n\tA CategoriseCharacter function was added to return the Unicode general category of a character\n\twhich can be useful in lexers.\n\t</li>\n\t<li>\n\tOn Cocoa, the LCD Optimized font quality level turns font smoothing on.\n\t</li>\n\t<li>\n\tSciTE 'immediate' subsystem added to allow scripts that work while tools are executed.\n\t</li>\n\t<li>\n\tFont quality exposed in SciTE as font.quality setting.\n\t</li>\n\t<li>\n\tOn Cocoa, message:... methods simplify direct access to Scintilla and avoid call layers..\n\t</li>\n\t<li>\n\tA68K lexer updated.\n\t</li>\n\t<li>\n\tCoffeeScript lexer fixes a bug with comment blocks.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1495/\">Bug #1495</a>\n\t</li>\n\t<li>\n\tECL lexer regular expression code fixed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1491/\">Bug #1491</a>.\n\t</li>\n\t<li>\n\terrorlist lexer only recognizes Perl diagnostics when there is a filename between\n\t\"at\" and \"line\". Had been triggering for MSVC errors containing \"at line\".\n\t</li>\n\t<li>\n\tHaskell lexer fixed to avoid unnecessary full redraws.\n\tDon't highlight CPP inside comments when styling.within.preprocessor is on.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1459/\">Bug #1459</a>.\n\t</li>\n\t<li>\n\tLua lexer fixes bug in labels with UTF-8 text.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1483/\">Bug #1483</a>.\n\t</li>\n\t<li>\n\tPerl lexer fixes bug in string interpolation with UTF-8 text.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1483/\">Bug #1483</a>.\n\t</li>\n\t<li>\n\tFixed bugs with case conversion when the result was longer or shorter than the original text.\n\tCould access past end of string potentially crashing.\n\tSelection now updated to result length.\n\t</li>\n\t<li>\n\tFixed bug where data being inserted and removed was not being reported in\n\tnotification messages. Bug was introduced in 3.3.2.\n\t</li>\n\t<li>\n\tWord wrap bug fixed where the last line could be shown twice.\n\t</li>\n\t<li>\n\tWord wrap bug fixed for lines wrapping too short on Windows and GTK+.\n\t</li>\n\t<li>\n\tWord wrap performance improved.\n\t</li>\n\t<li>\n\tMinor memory leak fixed.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1487/\">Bug #1487</a>.\n\t</li>\n\t<li>\n\tOn Cocoa, fixed insertText: method which was broken when implementing a newer protocol.\n\t</li>\n\t<li>\n\tOn Cocoa, fixed a crash when performing string folding for bytes that do not represent a character\n\tin the current encoding.\n\t</li>\n\t<li>\n\tOn Qt, fixed layout problem when QApplication construction delayed.\n\t</li>\n\t<li>\n\tOn Qt, find_text reports failure with -1 as first element of return value.\n\t</li>\n\t<li>\n\tFixed SciTE on GTK+ bug where a tool command could be performed using the keyboard while one was\n\talready running leading to confusion and crashes.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1486/\">Bug #1486</a>.\n\t</li>\n\t<li>\n\tFixed SciTE bug in Copy as RTF which was limited to first 32 styles.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1011/\">Bug #1011</a>.\n\t</li>\n\t<li>\n\tFixed SciTE on Windows user strip height when the system text scaling factor is 125% or 150%.\n\t</li>\n\t<li>\n\tCompile time checks for Digital Mars C++ removed.\n\t</li>\n\t<li>\n\tVisual C++ 2013 supported.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1492/\">Bug #1492</a>.\n\t</li>\n\t<li>\n\tPython scripts used for building and maintenance improved and moved into scripts directory.\n\t</li>\n\t<li>\n\tTesting scripts now work on Linux using Qt and PySide.\n\t</li>\n\t<li>\n\tTk platform defined.\n\tImplementation for Tk will be available separately from main Scintilla distribution.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite333.zip?download\">Release 3.3.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 2 June 2013.\n\t</li>\n\t<li>\n\tLexer and folder added for Structured Text language.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/959/\">Feature #959.</a>\n\t</li>\n\t<li>\n\tOut of bounds access fixed for GTK+.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1480/\">Bug #1480</a>.\n\t</li>\n\t<li>\n\tCrash fixed for GTK+ on Windows paste.\n\t</li>\n\t<li>\n\tBug fixed with incorrect event copying on GTK+ 3.x.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1481/\">Bug #1481</a>.\n\t</li>\n\t<li>\n\tBug fixed with right to left locales, like Hebrew, on GTK+.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1477/\">Bug #1477</a>.\n\t</li>\n\t<li>\n\tBug fixed with undo grouping of tab and backtab commands.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1478/\">Bug #1478</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite332.zip?download\">Release 3.3.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 22 May 2013.\n\t</li>\n\t<li>\n\tBasic implementations of common folding methods added to Scintilla to make it\n\teasier for containers to implement folding.\n\t</li>\n\t<li>\n\tAdd indicator INDIC_COMPOSITIONTHICK, a thick low underline, to mimic an\n\tappearance used for Asian language input composition.\n\t</li>\n\t<li>\n\tOn Cocoa, implement font quality setting.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/988/\">Feature #988.</a>\n\t</li>\n\t<li>\n\tOn Cocoa, implement automatic enabling of commands and added clear command.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/987/\">Feature #987.</a>\n\t</li>\n\t<li>\n\tC++ lexer adds style for preprocessor doc comment.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/990/\">Feature #990.</a>\n\t</li>\n\t<li>\n\tHaskell lexer and folder improved. Separate mode for literate Haskell \"literatehaskell\" SCLEX_LITERATEHASKELL.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1459/\">Bug #1459 </a>.\n\t</li>\n\t<li>\n\tLaTeX lexer bug fixed for Unicode character following '\\'.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1468/\">Bug #1468 </a>.\n\t</li>\n\t<li>\n\tPowerShell lexer recognizes here strings and doccomment keywords.\n\t#region folding added.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/985/\">Feature #985.</a>\n\t</li>\n\t<li>\n\tFix multi-typing when two carets are located in virtual space on one line so that spaces\n\tare preserved.\n\t</li>\n\t<li>\n\tFixes to input composition on Cocoa and implementation of accented character input through\n\tpress and hold. Set selection correctly so that changes to pieces of composition text are easier to perform.\n\tRestore undo collection after a sequence of composition actions.\n\tComposition popups appear near input.\n\t</li>\n\t<li>\n\tFix lexer problem where no line end was seen at end of document.\n\t</li>\n\t<li>\n\tFix crash on Cocoa when view deallocated.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1466/\">Bug #1466</a>.\n\t</li>\n\t<li>\n\tFix Qt window positioning to not assume the top right of a monitor is at 0, 0.\n\t</li>\n\t<li>\n\tFix Qt to not track mouse when widget is hidden.\n\t</li>\n\t<li>\n\tQt now supports Qt 5.0.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1448/\">Bug #1448</a>.\n\t</li>\n\t<li>\n\tFix drawing on Windows with Direct2D when returning from lock screen.\n\tThe render target had to be recreated and an area would be black since the drawing was not retried.\n\t</li>\n\t<li>\n\tFix display of DBCS documents on Windows Direct2D/DirectWrite with default character set.\n\t</li>\n\t<li>\n\tFor SciTE on Windows, fixed most-recently-used menu when files opened through check.if.already.opened.\n\t</li>\n\t<li>\n\tIn SciTE, do not call OnSave twice when files saved asynchronously.\n\t</li>\n\t<li>\n\tScintilla no longer builds with Visual C++ 6.0.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite331.zip?download\">Release 3.3.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 11 April 2013.\n\t</li>\n\t<li>\n\tAutocompletion lists can now appear in priority order or be sorted by Scintilla.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/981/\">Feature #981.</a>\n\t</li>\n\t<li>\n\tMost lexers now lex an extra NUL byte at the end of the\n\tdocument which makes it more likely they will classify keywords at document end correctly.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/574/\">Bug #574</a>,\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/588/\">Bug #588.</a>\n\t</li>\n\t<li>\n\tHaskell lexer improved in several ways.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1459/\">Bug #1459.</a>\n\t</li>\n\t<li>\n\tMatlab/Octave lexer recognizes block comments and ... comments.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1414/\">Bug #1414.</a>\n\t</li>\n\t<li>\n\tRuby lexer crash fixed with keyword at start of document.\n\t</li>\n\t<li>\n\tThe PLAT_NCURSES platform now called PLAT_CURSES as may work on other implementations.\n\t</li>\n\t<li>\n\tBug on Cocoa fixed where input composition with multiple selection or virtual space selection\n\tcould make undo stop working.\n\t</li>\n\t<li>\n\tDirect2D/DirectWrite mode on Windows now displays documents in non-Latin1 8-bit encodings correctly.\n\t</li>\n\t<li>\n\tCharacter positioning corrected in Direct2D/DirectWrite mode on Windows to avoid text moving and cutting off\n\tlower parts of characters.\n\t</li>\n\t<li>\n\tPosition of calltip and autocompletion lists fixed on Cocoa.\n\t</li>\n\t<li>\n\tWhile regular expression search in DBCS text is still not working, matching partial characters is now avoided\n\tby moving end of match to end of character.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite330.zip?download\">Release 3.3.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 30 March 2013.\n\t</li>\n\t<li>\n\tOverlay scrollers and kinetic scrolling implemented on Cocoa.\n\t</li>\n\t<li>\n\tTo improve display smoothness, styling and UI Update notifications will, when possible, be performed in\n\ta high-priority idle task on Cocoa instead of during painting.\n\tPerforming these jobs inside painting can cause paints to be abandoned and a new paint scheduled.\n\tOn GTK+, the high-priority idle task is used in more cases.\n\t</li>\n\t<li>\n\tSCI_SCROLLRANGE added to scroll the view to display a range of text.\n\tIf the whole range can not be displayed, priority is given to one end.\n\t</li>\n\t<li>\n\tC++ lexer no longer recognizes raw (R\"\") strings when the first character after \"\n\tis invalid.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1454/\">Bug #1454.</a>\n\t</li>\n\t<li>\n\tHTML lexer recognizes JavaScript RegEx literals in more contexts.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1412/\">Bug #1412.</a>\n\t</li>\n\t<li>\n\tFixed automatic display of folded text when return pressed at end of fold header and\n\tfirst folded line was blank.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1455/\">Bug #1455.</a>\n\t</li>\n\t<li>\n\tSCI_VISIBLEFROMDOCLINE fixed to never return a line beyond the document end.\n\t</li>\n\t<li>\n\tSCI_LINESCROLL fixed for a negative column offset.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1450/\">Bug #1450.</a>\n\t</li>\n\t<li>\n\tOn GTK+, fix tab markers so visible if indent markers are visible.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1453/\">Bug #1453.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite325.zip?download\">Release 3.2.5</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 26 February 2013.\n\t</li>\n\t<li>\n\tTo allow cooperation between different uses of extended (beyond 255) styles they should be allocated\n\tusing SCI_ALLOCATEEXTENDEDSTYLES.\n\t</li>\n\t<li>\n\tFor Unicode documents, lexers that use StyleContext will retrieve whole characters\n\tinstead of bytes.\n\tLexAccessor provides a LineEnd method which can be a more efficient way to\n\thandle line ends and can enable Unicode line ends.\n\t</li>\n\t<li>\n\tThe C++ lexer understands the #undef directive when determining preprocessor definitions.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/978/\">Feature #978.</a>\n\t</li>\n\t<li>\n\tThe errorlist lexer recognizes gcc include path diagnostics that appear before an error.\n\t</li>\n\t<li>\n\tFolding implemented for GetText (PO)  translation language.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1437/\">Bug #1437.</a>\n\t</li>\n\t<li>\n\tHTML lexer does not interrupt comment style for processing instructions.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1447/\">Bug #1447.</a>\n\t</li>\n\t<li>\n\tFix SciTE forgetting caret x-position when switching documents.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1442/\">Bug #1442.</a>\n\t</li>\n\t<li>\n\tFixed bug where vertical scrollbar thumb appeared at beginning of document when\n\tscrollbar shown.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1446/\">Bug #1446.</a>\n\t</li>\n\t<li>\n\tFixed brace-highlighting bug on OS X 10.8 where matching brace is on a different line.\n\t</li>\n\t<li>\n\t<a href=\"ScintillaDoc.html#ProvisionalMessages\">Provisional features</a>\n\tare new features that may change or be removed if they cause problems but should become\n\tpermanent if they work well.\n\tFor this release <a href=\"ScintillaDoc.html#SCI_GETLINEENDTYPESSUPPORTED\">Unicode line ends</a> and\n\t<a href=\"ScintillaDoc.html#Substyles\">substyles</a>\n\tare provisional features.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite324.zip?download\">Release 3.2.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 17 January 2013.\n\t</li>\n\t<li>\n\tCaret line highlight can optionally remain visible when window does not have focus.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/964/\">Feature #964.</a>\n\t</li>\n\t<li>\n\tDelegate mechanism for notifications added on Cocoa.\n\t</li>\n\t<li>\n\tNUL characters in selection are copied to clipboard as spaces to avoid truncating\n\tat the NUL.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1289/\">Bug #1289.</a>\n\t</li>\n\t<li>\n\tC++ lexer fixes problem with showing inactive sections when preprocessor lines contain trailing comment.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1413/\">Bug #1413.</a>\n\t</li>\n\t<li>\n\tC++ lexer fixes problem with JavaScript regular expressions with '/' in character ranges.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1415/\">Bug #1415.</a>\n\t</li>\n\t<li>\n\tLaTeX folder added.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/970/\">Feature #970.</a>\n\t</li>\n\t<li>\n\tLaTeX lexer improves styling of math environments.\n\t<a href=\"https://sourceforge.net/p/scintilla/feature-requests/970/\">Feature #970.</a>\n\t</li>\n\t<li>\n\tMySQL lexer implements hidden commands.\n\t</li>\n\t<li>\n\tOnly produce a single undo step when autocompleting a single word.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1421/\">Bug #1421.</a>\n\t</li>\n\t<li>\n\tFixed crash when printing lines longer than 8000 characters.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1430/\">Bug #1430.</a>\n\t</li>\n\t<li>\n\tFixed problem in character movement extends selection mode where reversing\n\tdirection collapsed the selection.\n\t</li>\n\t<li>\n\tMemory issues fixed on Cocoa, involving object ownership,\n\tlifetime of timers, and images held by the info bar.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1436/\">Bug #1436.</a>\n\t</li>\n\t<li>\n\tCocoa key binding for Alt+Delete changed to delete previous word to be more compatible with\n\tplatform standards.\n\t</li>\n\t<li>\n\tFixed crash on Cocoa with scrollbar when there is no scrolling possible.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1416/\">Bug #1416.</a>\n\t</li>\n\t<li>\n\tOn Cocoa with retina display fixed positioning of autocompletion lists.\n\t</li>\n\t<li>\n\tFixed SciTE on Windows failure to run a batch file with a name containing a space by\n\tquoting the path in the properties file.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1423/\">Bug #1423.</a>\n\t</li>\n\t<li>\n\tFixed scaling bug when printing on GTK+.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1427/\">Bug #1427.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK toolbar.detachable feature removed.\n\t</li>\n\t<li>\n\tFixed some background saving bugs in SciTE.\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1366/\">Bug #1366.</a>\n\t<a href=\"https://sourceforge.net/p/scintilla/bugs/1339/\">Bug #1339.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite323.zip?download\">Release 3.2.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 21 October 2012.\n\t</li>\n\t<li>\n\tImprove speed when performing multiple searches.\n\t</li>\n\t<li>\n\tSciTE adds definition of PLAT_UNIX for both PLAT_GTK and PLAT_MAC to allow consolidation of\n\tsettings valid on all Unix variants.\n\t</li>\n\t<li>\n\tSignal autoCompleteCancelled added on Qt.\n\t</li>\n\t<li>\n\tBash lexer supports nested delimiter pairs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3569352&group_id=2439\">Feature #3569352.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1515556&group_id=2439\">Bug #1515556.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3008483&group_id=2439\">Bug #3008483.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3512208&group_id=2439\">Bug #3512208.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3515392&group_id=2439\">Bug #3515392.</a>\n\t</li>\n\t<li>\n\tFor C/C++, recognize exponent in floating point hexadecimal literals.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3576454&group_id=2439\">Bug #3576454.</a>\n\t</li>\n\t<li>\n\tFor C #include statements, do not treat // in the path as a comment.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3519260&group_id=2439\">Bug #3519260.</a>\n\t</li>\n\t<li>\n\tLexer for GetText translations (PO) improved with additional styles and single instance limitation fixed.\n\t</li>\n\t<li>\n\tRuby for loop folding fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3240902&group_id=2439\">Bug #3240902.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3567391&group_id=2439\">Bug #3567391.</a>\n\t</li>\n\t<li>\n\tRuby recognition of here-doc after class or instance variable fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3567809&group_id=2439\">Bug #3567809.</a>\n\t</li>\n\t<li>\n\tSQL folding of loop and case fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3567905&group_id=2439\">Bug #3567905.</a>\n\t</li>\n\t<li>\n\tSQL folding of case with assignment fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3571820&group_id=2439\">Bug #3571820.</a>\n\t</li>\n\t<li>\n\tFix hang when removing all characters from indicator at end of document.\n\t</li>\n\t<li>\n\tFix failure of \\xhh in regular expression search for values greater than 0x79.\n\t</li>\n\t<li>\n\tOn Cocoa on OS X 10.8, fix inverted drawing of find indicator.\n\t</li>\n\t<li>\n\tOn Cocoa, fix double drawing when horizontal scroll range small and user swipes horizontally.\n\t</li>\n\t<li>\n\tOn Cocoa, remove incorrect setting of save point when reading information through 'string' and 'selectedString'.\n\t</li>\n\t<li>\n\tOn Cocoa, fix incorrect memory management of infoBar.\n\t</li>\n\t<li>\n\tOn GTK+ 3 Ubuntu, fix crash when drawing margin.\n\t</li>\n\t<li>\n\tOn ncurses, fix excessive spacing with italics line end.\n\t</li>\n\t<li>\n\tOn Windows, search for D2D1.DLL and DWRITE.DLL in system directory to avoid loading from earlier\n\tin path where could be planted by malware.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite322.zip?download\">Release 3.2.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 31 August 2012.\n\t</li>\n\t<li>\n\tRetina display support for Cocoa. Text size fixed.\n\tScale factor for images implemented so they can be displayed in high definition.\n\t</li>\n\t<li>\n\tImplement INDIC_SQUIGGLEPIXMAP as a faster version of INDIC_SQUIGGLE.\n\tAvoid poor drawing at right of INDIC_SQUIGGLE.\n\tAlign INDIC_DOTBOX to pixel grid for full intensity.\n\t</li>\n\t<li>\n\tImplement SCI_GETSELECTIONEMPTY API.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3543121&group_id=2439\">Bug #3543121.</a>\n\t</li>\n\t<li>\n\tAdded SCI_VCHOMEDISPLAY and SCI_VCHOMEDISPLAYEXTEND key commands.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3561433&group_id=2439\">Feature #3561433.</a>\n\t</li>\n\t<li>\n\tAllow specifying SciTE Find in Files directory with find.in.directory property.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3558594&group_id=2439\">Feature #3558594.</a>\n\t</li>\n\t<li>\n\tOverride SciTE global strip.trailing.spaces with strip.trailing.spaces by pattern files.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3556320&group_id=2439\">Feature #3556320.</a>\n\t</li>\n\t<li>\n\tFix long XML script tag handling in XML lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3534190&group_id=2439\">Bug #3534190.</a>\n\t</li>\n\t<li>\n\tFix rectangular selection range after backspace.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3543097&group_id=2439\">Bug #3543097.</a>\n\t</li>\n\t<li>\n\tSend SCN_UPDATEUI with SC_UPDATE_SELECTION for backspace in virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3543121&group_id=2439\">Bug #3543121.</a>\n\t</li>\n\t<li>\n\tAvoid problems when calltip highlight range is negative.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3545938&group_id=2439\">Bug #3545938.</a>\n\t</li>\n\t<li>\n\tOn Cocoa, fix image drawing code so that image is not accessed after being freed\n\tand is drawn in the correct location.\n\t</li>\n\t<li>\n\tOn Cocoa, limit horizontal touch scrolling to existing established width.\n\t</li>\n\t<li>\n\tOn Cocoa, decrease sensitivity of pinch-zoom.\n\t</li>\n\t<li>\n\tFix Cocoa drawing where style changes were not immediately visible.\n\t</li>\n\t<li>\n\tFix Cocoa memory leak due to reference cycle.\n\t</li>\n\t<li>\n\tFix Cocoa bug where notifications were sent after Scintilla was freed.\n\t</li>\n\t<li>\n\tSciTE on OS X user shortcuts treats \"Ctrl+D\" as equivalent to \"Ctrl+d\".\n\t</li>\n\t<li>\n\tOn Windows, saving SciTE's Lua startup script causes it to run.\n\t</li>\n\t<li>\n\tLimit time allowed to highlight current word in SciTE to 0.25 seconds to remain responsive.\n\t</li>\n\t<li>\n\tFixed SciTE read-only mode to stick with buffer.\n\t</li>\n\t<li>\n\tFor SciTE on Windows, enable Ctrl+Z, Ctrl+X, and Ctrl+C (Undo, Cut, and Copy) in the\n\teditable fields of find and replace strips\n\t</li>\n\t<li>\n\tRemove limit on logical line length in SciTE .properties files.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3544312&group_id=2439\">Bug #3544312.</a>\n\t</li>\n\t<li>\n\tImprove performance of SciTE Save As command.\n\t</li>\n\t<li>\n\tFix SciTE crash with empty .properties files. Bug #3545938.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3555308&group_id=2439\">Bug #3555308.</a>\n\t</li>\n\t<li>\n\tFix repeated letter in SciTE calltips.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3545938&group_id=2439\">Bug #3545938.</a>\n\t</li>\n\t<li>\n\tRefine build time checking for Direct2D and DirectWrite.\n\t</li>\n\t<li>\n\tAvoid potential build problems on Windows with MultiMon.h by explicitly checking for multi-monitor APIs.\n\t</li>\n\t<li>\n\tAutomatically disable themed drawing in SciTE when building on Windows 2000.\n\tReenable building for Windows NT 4 on NT 4 .\n\t</li>\n\t<li>\n\tAdded ncurses platform definitions. Implementation is maintained separately as\n\t<a href=\"https://foicica.com/scinterm/\">Scinterm</a>.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite321.zip?download\">Release 3.2.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 14 July 2012.\n\t</li>\n\t<li>\n\tIn Scintilla.iface, specify features as properties instead of functions where possible and fix some enumerations.\n\t</li>\n\t<li>\n\tIn SciTE Lua scripts, string properties in Scintilla API can be retrieved as well as set using property notation.\n\t</li>\n\t<li>\n\tAdded character class APIs: SCI_SETPUNCTUATIONCHARS, SCI_GETWORDCHARS, SCI_GETWHITESPACECHARS,\n\tand SCI_GETPUNCTUATIONCHARS.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3529805&group_id=2439\">Feature #3529805.</a>\n\t</li>\n\t<li>\n\tLess/Hss support added to CSS lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3532413&group_id=2439\">Feature #3532413.</a>\n\t</li>\n\t<li>\n\tC++ lexer style SCE_C_PREPROCESSORCOMMENT added for stream comments in preprocessor.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3487406&group_id=2439\">Bug #3487406.</a>\n\t</li>\n\t<li>\n\tFix incorrect styling of inactive code in C++ lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3533036&group_id=2439\">Bug #3533036.</a>\n\t</li>\n\t<li>\n\tFix incorrect styling by C++ lexer after empty lines in preprocessor style.\n\t</li>\n\t<li>\n\tC++ lexer option \"lexer.cpp.allow.dollars\" fixed so can be turned off after being on.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3541461&group_id=2439\">Bug #3541461.</a>\n\t</li>\n\t<li>\n\tFortran fixed format lexer fixed to style comments from column 73.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3540486&group_id=2439\">Bug #3540486.</a>\n\t</li>\n\t<li>\n\tFortran folder folds CRITICAL .. END CRITICAL.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3540486&group_id=2439\">Bug #3540486.</a>\n\t</li>\n\t<li>\n\tFortran lexer fixes styling after comment line ending with '&amp;'.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3087226&group_id=2439\">Bug #3087226.</a>\n\t</li>\n\t<li>\n\tFortran lexer styles preprocessor lines so they do not trigger incorrect folding.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2906275&group_id=2439\">Bug #2906275.</a>\n\t</li>\n\t<li>\n\tFortran folder fixes folding of nested ifs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2809176&group_id=2439\">Bug #2809176.</a>\n\t</li>\n\t<li>\n\tHTML folder fixes folding of CDATA when fold.html.preprocessor=0.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3540491&group_id=2439\">Bug #3540491.</a>\n\t</li>\n\t<li>\n\tOn Cocoa, fix autocompletion font lifetime issue and row height computation.\n\t</li>\n\t<li>\n\tIn 'choose single' mode, autocompletion will close an existing list if asked to display a single entry list.\n\t</li>\n\t<li>\n\tFixed SCI_MARKERDELETE to only delete one marker per call.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3535806&group_id=2439\">Bug #3535806.</a>\n\t</li>\n\t<li>\n\tProperly position caret after undoing coalesced delete operations.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3523326&group_id=2439\">Bug #3523326.</a>\n\t</li>\n\t<li>\n\tEnsure margin is redrawn when SCI_MARGINSETSTYLE called.\n\t</li>\n\t<li>\n\tFix clicks in first pixel of margins to send SCN_MARGINCLICK.\n\t</li>\n\t<li>\n\tFix infinite loop when drawing block caret for a zero width space character at document start.\n\t</li>\n\t<li>\n\tCrash fixed for deleting negative range.\n\t</li>\n\t<li>\n\tFor characters that overlap the beginning of their space such as italics descenders and bold serifs, allow start\n\tof text to draw 1 pixel into margin.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=699587&group_id=2439\">Bug #699587.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3537799&group_id=2439\">Bug #3537799.</a>\n\t</li>\n\t<li>\n\tFixed problems compiling Scintilla for Qt with GCC 4.7.1 x64.\n\t</li>\n\t<li>\n\tFixed problem with determining GTK+ sub-platform caused when adding Qt support in 3.2.0.\n\t</li>\n\t<li>\n\tFix incorrect measurement of untitled file in SciTE on Linux leading to message \"File ...' is 2147483647 bytes long\".\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3537764&group_id=2439\">Bug #3537764.</a>\n\t</li>\n\t<li>\n\tIn SciTE, fix open of selected filename with line number to go to that line.\n\t</li>\n\t<li>\n\tFix problem with last visible buffer closing in SciTE causing invisible buffers to be active.\n\t</li>\n\t<li>\n\tAvoid blinking of SciTE's current word highlight when output pane changes.\n\t</li>\n\t<li>\n\tSciTE properties files can be longer than 60K.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite320.zip?download\">Release 3.2.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 1 June 2012.\n\t</li>\n\t<li>\n\tPlatform layer added for the Qt open-source cross-platform application and user interface framework\n\tfor development in C++ or in Python with the PySide bindings for Qt.\n\t</li>\n\t<li>\n\tDirect access provided to the document bytes for ranges within Scintilla.\n\tThis is similar to the existing SCI_GETCHARACTERPOINTER API but allows for better performance.\n\t</li>\n\t<li>\n\tCtrl+Double Click and Ctrl+Triple Click add the word or line to the set of selections.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3520037&group_id=2439\">Feature #3520037.</a>\n\t</li>\n\t<li>\n\tA SCI_DELETERANGE API was added for deleting a range of text.\n\t</li>\n\t<li>\n\tLine wrap markers may now be drawn in the line number margin.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3518198&group_id=2439\">Feature #3518198.</a>\n\t</li>\n\t<li>\n\tSciTE on OS X adds option to hide hidden files in the open dialog box.\n\t</li>\n\t<li>\n\tLexer added for OScript language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3523197&group_id=2439\">Feature #3523197.</a>\n\t</li>\n\t<li>\n\tLexer added for Visual Prolog language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3523018&group_id=2439\">Feature #3523018.</a>\n\t</li>\n\t<li>\n\tUTF-8 validity is checked more stringently and consistently. All 66 non-characters are now treated as invalid.\n\t</li>\n\t<li>\n\tHTML lexer bug fixed with inconsistent highlighting for PHP when attribute on separate line from tag.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3520027&group_id=2439\">Bug #3520027.</a>\n\t</li>\n\t<li>\n\tHTML lexer bug fixed for JavaScript block comments.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3520032&group_id=2439\">Bug #3520032.</a>\n\t</li>\n\t<li>\n\tAnnotation drawing bug fixed when box displayed with different colours on different lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3519872&group_id=2439\">Bug #3519872.</a>\n\t</li>\n\t<li>\n\tOn Windows with Direct2D, fix drawing with 125% and 150% DPI system settings.\n\t</li>\n\t<li>\n\tVirtual space selection bug fixed for rectangular selections.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3519246&group_id=2439\">Bug #3519246.</a>\n\t</li>\n\t<li>\n\tReplacing multiple selection with newline changed to only affect main selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3522251&group_id=2439\">Bug #3522251.</a>\n\t</li>\n\t<li>\n\tReplacing selection with newline changed to group deletion and insertion as a single undo action.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3522250&group_id=2439\">Bug #3522250.</a>\n\t</li>\n\t<li>\n\tAuto-completion lists on GTK+ 3 set height correctly instead of showing too few lines.\n\t</li>\n\t<li>\n\tMouse wheel scrolling changed to avoid GTK+ bug in recent distributions.\n\t</li>\n\t<li>\n\tIME bug on Windows fixed for horizontal jump.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3529728&group_id=2439\">Bug #3529728.</a>\n\t</li>\n\t<li>\n\tSciTE case-insensitive autocompletion filters equal identifiers better.\n\tCalltip arrows work with bare word identifiers.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3517810&group_id=2439\">Bug #3517810.</a>\n\t</li>\n\t<li>\n\tSciTE bug fixed where shbang lines not setting file type when switching\n\tto file loaded in background.\n\t</li>\n\t<li>\n\tSciTE on GTK+ shows open and save dialogs with the directory of the current file displayed.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite310.zip?download\">Release 3.1.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 20 April 2012.\n\t</li>\n\t<li>\n\tAnimated find indicator added on Cocoa.\n\t</li>\n\t<li>\n\tButtons can be made default in SciTE user strips.\n\t</li>\n\t<li>\n\tSciTE allows find and replace histories to be saved in session.\n\t</li>\n\t<li>\n\tOption added to allow case-insensitive selection in auto-completion lists.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3516538&group_id=2439\">Bug #3516538.</a>\n\t</li>\n\t<li>\n\tReplace \\0 by complete found text in regular expressions.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3510979&group_id=2439\">Feature #3510979.</a>\n\t</li>\n\t<li>\n\tFixed single quoted strings in bash lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3512208&group_id=2439\">Bug #3512208.</a>\n\t</li>\n\t<li>\n\tIncorrect highlighting fixed in C++ lexer for continued lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3509317&group_id=2439\">Bug #3509317.</a>\n\t</li>\n\t<li>\n\tHang fixed in diff lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3508602&group_id=2439\">Bug #3508602.</a>\n\t</li>\n\t<li>\n\tFolding improved for SQL CASE/MERGE statement.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3503277&group_id=2439\">Bug #3503277.</a>\n\t</li>\n\t<li>\n\tFix extra drawing of selection inside word wrap indentation.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3515555&group_id=2439\">Bug #3515555.</a>\n\t</li>\n\t<li>\n\tFix problem with determining the last line that needs styling when drawing.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3514882&group_id=2439\">Bug #3514882.</a>\n\t</li>\n\t<li>\n\tFix problems with drawing in margins.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3514882&group_id=2439\">Bug #3514882.</a>\n\t</li>\n\t<li>\n\tFix printing crash when using Direct2D to display on-screen.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3513946&group_id=2439\">Bug #3513946.</a>\n\t</li>\n\t<li>\n\tFix SciTE bug where background.*.size disabled restoration of bookmarks and positions from session.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3514885&group_id=2439\">Bug #3514885.</a>\n\t</li>\n\t<li>\n\tFixed the Move Selected Lines command when last line does not end with a line end character.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3511023&group_id=2439\">Bug #3511023.</a>\n\t</li>\n\t<li>\n\tFix word wrap indentation printing to use printer settings instead of screen settings.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3512961&group_id=2439\">Bug #3512961.</a>\n\t</li>\n\t<li>\n\tFix SciTE bug where executing an empty command prevented executing further commands\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3512976&group_id=2439\">Bug #3512976.</a>\n\t</li>\n\t<li>\n\tFix SciTE bugs with focus in user strips and made strips more robust with invalid definitions.\n\t</li>\n\t<li>\n\tSuppress SciTE regular expression option when searching with find next selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3510985&group_id=2439\">Bug #3510985.</a>\n\t</li>\n\t<li>\n\tSciTE Find in Files command matches empty pattern to all files.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3495918&group_id=2439\">Feature #3495918.</a>\n\t</li>\n\t<li>\n\tFix scroll with mouse wheel on GTK+.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3501321&group_id=2439\">Bug #3501321.</a>\n\t</li>\n\t<li>\n\tFix column finding method so that tab is counted correctly.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3483713&group_id=2439\">Bug #3483713.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite304.zip?download\">Release 3.0.4</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 8 March 2012.\n\t</li>\n\t<li>\n\tSciTE scripts can create user interfaces as strips.\n\t</li>\n\t<li>\n\tSciTE can save files automatically in the background.\n\t</li>\n\t<li>\n\tPinch zoom implemented on Cocoa.\n\t</li>\n\t<li>\n\tECL lexer added.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3488209&group_id=2439\">Feature #3488209.</a>\n\t</li>\n\t<li>\n\tCPP lexer fixes styling after document comment keywords.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3495445&group_id=2439\">Bug #3495445.</a>\n\t</li>\n\t<li>\n\tPascal folder improves handling of some constructs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3486385&group_id=2439\">Feature #3486385.</a>\n\t</li>\n\t<li>\n\tXML lexer avoids entering a bad mode due to complex preprocessor instructions.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3488060&group_id=2439\">Bug #3488060.</a>\n\t</li>\n\t<li>\n\tDuplicate command is always remembered as a distinct command for undo.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3495836&group_id=2439\">Bug #3495836.</a>\n\t</li>\n\t<li>\n\tSciTE xml.auto.close.tags no longer closes with PHP code similar to &lt;a $this-&gt;\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3488067&group_id=2439\">Bug #3488067.</a>\n\t</li>\n\t<li>\n\tFix bug where setting an indicator for the whole document would fail.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3487440&group_id=2439\">Bug #3487440.</a>\n\t</li>\n\t<li>\n\tCrash fixed for SCI_MOVESELECTEDLINESDOWN with empty vertical selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3496403&group_id=2439\">Bug #3496403.</a>\n\t</li>\n\t<li>\n\tDifferences between buffered and unbuffered mode on Direct2D eliminated.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3495791&group_id=2439\">Bug #3495791.</a>\n\t</li>\n\t<li>\n\tFont leading implemented for Direct2D to improve display of character blobs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3494744&group_id=2439\">Bug #3494744.</a>\n\t</li>\n\t<li>\n\tFractional widths used for line numbers, character markers and other situations.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3494492&group_id=2439\">Bug #3494492.</a>\n\t</li>\n\t<li>\n\tTranslucent rectangles drawn using Direct2D with sharper corners.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3494492&group_id=2439\">Bug #3494492.</a>\n\t</li>\n\t<li>\n\tRGBA markers drawn sharper when centred using Direct2D.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3494202&group_id=2439\">Bug #3494202.</a>\n\t</li>\n\t<li>\n\tRGBA markers are drawn centred when taller than line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3494184&group_id=2439\">Bug #3494184.</a>\n\t</li>\n\t<li>\n\tImage marker drawing problem fixed for markers taller than line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3493503&group_id=2439\">Bug #3493503.</a>\n\t</li>\n\t<li>\n\tMarkers are drawn horizontally off-centre based on margin type instead of dimensions.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3488696&group_id=2439\">Bug #3488696.</a>\n\t</li>\n\t<li>\n\tFold tail markers drawn vertically centred.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3488289&group_id=2439\">Feature #3488289.</a>\n\t</li>\n\t<li>\n\tOn Windows, Scintilla is more responsive in wrap mode.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3487397&group_id=2439\">Bug #3487397.</a>\n\t</li>\n\t<li>\n\tUnimportant \"Gdk-CRITICAL\" messages are no longer displayed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3488481&group_id=2439\">Bug #3488481.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows Find in Files sets focus to dialog when already created; allows opening dialog when a job is running.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3480635&group_id=2439\">Bug #3480635.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3486657&group_id=2439\">Bug #3486657.</a>\n\t</li>\n\t<li>\n\tFixed problems with multiple clicks in margin and with mouse actions combined with virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3484370&group_id=2439\">Bug #3484370.</a>\n\t</li>\n\t<li>\n\tFixed bug with using page up and down and not returning to original line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3485669&group_id=2439\">Bug #3485669.</a>\n\t</li>\n\t<li>\n\tDown arrow with wrapped text no longer skips lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1776560&group_id=2439\">Bug #1776560.</a>\n\t</li>\n\t<li>\n\tFix problem with dwell ending immediately due to word wrap.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3484416&group_id=2439\">Bug #3484416.</a>\n\t</li>\n\t<li>\n\tWrapped lines are rewrapped more consistently while resizing window.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3484179&group_id=2439\">Bug #3484179.</a>\n\t</li>\n\t<li>\n\tSelected line ends are highlighted more consistently.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3484330&group_id=2439\">Bug #3484330.</a>\n\t</li>\n\t<li>\n\tFix grey background on files that use shbang to choose language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3482777&group_id=2439\">Bug #3482777.</a>\n\t</li>\n\t<li>\n\tFix failure messages from empty commands in SciTE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3480645&group_id=2439\">Bug #3480645.</a>\n\t</li>\n\t<li>\n\tRedrawing reduced for some marker calls.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3493530&group_id=2439\">Feature #3493530.</a>\n\t</li>\n\t<li>\n\tMatch brace and select brace commands work in SciTE output pane.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3486598&group_id=2439\">Feature #3486598.</a>\n\t</li>\n\t<li>\n\tPerforming SciTE \"Show Calltip\" command when a calltip is already visible shows the next calltip.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3487017&group_id=2439\">Feature #3487017.</a>\n\t</li>\n\t<li>\n\tSciTE allows saving file even when file unchanged.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3486654&group_id=2439\">Feature #3486654.</a>\n\t</li>\n\t<li>\n\tSciTE allows optional use of character escapes in calltips.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3495239&group_id=2439\">Feature #3495239.</a>\n\t</li>\n\t<li>\n\tSciTE can open file:// URLs with Ctrl+Shift+O.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3495389&group_id=2439\">Feature #3495389.</a>\n\t</li>\n\t<li>\n\tKey modifiers updated for GTK+ on OS X to match upstream changes.\n\t</li>\n\t<li>\n\tSciTE hang when marking all occurrences of regular expressions fixed.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite303.zip?download\">Release 3.0.3</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 28 January 2012.\n\t</li>\n\t<li>\n\tPrinting works on GTK+ version 2.x as well as 3.x.\n\t</li>\n\t<li>\n\tLexer added for the AviSynth language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3475611&group_id=2439\">Feature #3475611.</a>\n\t</li>\n\t<li>\n\tLexer added for the Take Command / TCC scripting language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3462462&group_id=2439\">Feature #3462462.</a>\n\t</li>\n\t<li>\n\tCSS lexer gains support for SCSS.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3268017&group_id=2439\">Feature #3268017.</a>\n\t</li>\n\t<li>\n\tCPP lexer fixes problems in the preprocessor structure caused by continuation lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3458508&group_id=2439\">Bug #3458508.</a>\n\t</li>\n\t<li>\n\tErrorlist lexer handles column numbers for GCC format diagnostics.\n\tIn SciTE, Next Message goes to column where this can be decoded from GCC format diagnostics.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3453075&group_id=2439\">Feature #3453075.</a>\n\t</li>\n\t<li>\n\tHTML folder fixes spurious folds on some tags.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3459262&group_id=2439\">Bug #3459262.</a>\n\t</li>\n\t<li>\n\tRuby lexer fixes bug where '=' at start of file caused whole file to appear as a comment.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3452488&group_id=2439\">Bug #3452488.</a>\n\t</li>\n\t<li>\n\tSQL folder folds blocks of single line comments.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3467425&group_id=2439\">Feature #3467425.</a>\n\t</li>\n\t<li>\n\tOn Windows using Direct2D, defer invalidation of render target until completion of painting to avoid failures.\n\t</li>\n\t<li>\n\tFurther support of fractional positioning. Spaces, tabs, and single character tokens can take fractional space\n\tand wrapped lines are positioned taking fractional positions into account.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3471998&group_id=2439\">Bug #3471998.</a>\n\t</li>\n\t<li>\n\tOn Windows using Direct2D, fix extra carets appearing.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3471998&group_id=2439\">Bug #3471998.</a>\n\t</li>\n\t<li>\n\tFor autocompletion lists Page Up and Down move by the list height instead of by 5 lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3455493&group_id=2439\">Bug #3455493.</a>\n\t</li>\n\t<li>\n\tFor SCI_LINESCROLLDOWN/UP don't select into virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3451681&group_id=2439\">Bug #3451681.</a>\n\t</li>\n\t<li>\n\tFix fold highlight not being fully drawn.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3469936&group_id=2439\">Bug #3469936.</a>\n\t</li>\n\t<li>\n\tFix selection margin appearing black when starting in wrap mode.\n\t</li>\n\t<li>\n\tFix crash when changing end of document after adding an annotation.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3476637&group_id=2439\">Bug #3476637.</a>\n\t</li>\n\t<li>\n\tFix problems with building to make RPMs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3476149&group_id=2439\">Bug #3476149.</a>\n\t</li>\n\t<li>\n\tFix problem with building on GTK+ where recent distributions could not find gmodule.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3469056&group_id=2439\">Bug #3469056.</a>\n\t</li>\n\t<li>\n\tFix problem with installing SciTE on GTK+ due to icon definition in .desktop file including an extension.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3476117&group_id=2439\">Bug #3476117.</a>\n\t</li>\n\t<li>\n\tFix SciTE bug where new buffers inherited some properties from previously opened file.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3457060&group_id=2439\">Bug #3457060.</a>\n\t</li>\n\t<li>\n\tFix focus when closing tab in SciTE with middle click. Focus moves to edit pane instead of staying on tab bar.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3440142&group_id=2439\">Bug #3440142.</a>\n\t</li>\n\t<li>\n\tFor SciTE on Windows fix bug where Open Selected Filename for URL would append a file extension.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3459185&group_id=2439\">Feature #3459185.</a>\n\t</li>\n\t<li>\n\tFor SciTE on Windows fix key handling of control characters in Parameters dialog so normal editing (Ctrl+C, ...) works.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3459345&group_id=2439\">Bug #3459345.</a>\n\t</li>\n\t<li>\n\tFix SciTE bug where files became read-only after saving. Drop the \"*\" dirty marker after save completes.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3467432&group_id=2439\">Bug #3467432.</a>\n\t</li>\n\t<li>\n\tFor SciTE handling of diffs with \"+++\" and \"---\" lines, also handle case where not followed by tab.\n\tGo to correct line for diff \"+++\" message.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3467143&group_id=2439\">Bug #3467143.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3467178&group_id=2439\">Bug #3467178.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ now performs threaded actions even on GTK+ versions before 2.12.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite302.zip?download\">Release 3.0.2</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 9 December 2011.\n\t</li>\n\t<li>\n\tSciTE saves files in the background without blocking the user interface.\n\t</li>\n\t<li>\n\tPrinting implemented in SciTE on GTK+ 3.x.\n\t</li>\n\t<li>\n\tILoader interface for background loading finalized and documented.\n\t</li>\n\t<li>\n\tCoffeeScript lexer added.\n\t</li>\n\t<li>\n\tC++ lexer fixes crash with \"#if defined( XXX 1\".\n\t</li>\n\t<li>\n\tCrash with Direct2D on Windows fixed.\n\t</li>\n\t<li>\n\tBackspace removing protected range fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3445911&group_id=2439\">Bug #3445911.</a>\n\t</li>\n\t<li>\n\tCursor setting failure on Windows when screen saver on fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3438780&group_id=2439\">Bug #3438780.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ hang fixed with -open:file option.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3441980&group_id=2439\">Bug #3441980.</a>\n\t</li>\n\t<li>\n\tFailure to evaluate shbang fixed in SciTE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3441801&group_id=2439\">Bug #3441801.</a>\n\t</li>\n\t<li>\n\tSciTE failure to treat files starting with \"&lt;?xml\" as XML fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3440718&group_id=2439\">Bug #3440718.</a>\n\t</li>\n\t<li>\n\tMade untitled tab saveable when created by closing all files.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3440244&group_id=2439\">Bug #3440244.</a>\n\t</li>\n\t<li>\n\tSciTE crash fixed when using Scintillua.\n\t</li>\n\t<li>\n\tSciTE revert command fixed so that undo works on individual actions instead of undoing to revert point.\n\t</li>\n\t<li>\n\tFocus loss in SciTE when opening a recent file fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3440142&group_id=2439\">Bug #3440142.</a>\n\t</li>\n\t<li>\n\tFixed SciTE SelLength property to measure characters instead of bytes.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3283519&group_id=2439\">Bug #3283519.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite301.zip?download\">Release 3.0.1</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 15 November 2011.\n\t</li>\n\t<li>\n\tSciTE on Windows now runs Lua scripts directly on the main thread instead of starting them on a\n\tsecondary thread and then moving back to the main thread.\n\t</li>\n\t<li>\n\tHighlight \"else\" as a keyword for TCL in the same way as other languages.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1836954&group_id=2439\">Bug #1836954.</a>\n\t</li>\n\t<li>\n\tFix problems with setting fonts for autocompletion lists on Windows where\n\tfont handles were copied and later deleted causing a system default font to be used.\n\t</li>\n\t<li>\n\tFix font size used on Windows for Asian language input methods which sometimes led to IME not being visible.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3436753&group_id=2439\">Bug #3436753.</a>\n\t</li>\n\t<li>\n\tFixed polygon drawing on Windows so fold symbols are visible again.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3433558&group_id=2439\">Bug #3433558.</a>\n\t</li>\n\t<li>\n\tChanged background drawing on GTK+ to allow for fractional character positioning as occurs on OS X\n\tas this avoids faint lines at lexeme boundaries.\n\t</li>\n\t<li>\n\tEnsure pixmaps allocated before painting as there was a crash when Scintilla drew without common initialization calls.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3432354&group_id=2439\">Bug #3432354.</a>\n\t</li>\n\t<li>\n\tFixed SciTE on Windows bug causing wrong caret position after indenting a selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3433433&group_id=2439\">Bug #3433433.</a>\n\t</li>\n\t<li>\n\tFixed SciTE session saving to store buffer position matching buffer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3434372&group_id=2439\">Bug #3434372.</a>\n\t</li>\n\t<li>\n\tFixed leak of document objects in SciTE.\n\t</li>\n\t<li>\n\tRecognize URL characters '?' and '%' for Open Selected command in SciTE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3429409&group_id=2439\">Bug #3429409.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite300.zip?download\">Release 3.0.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 1 November 2011.\n\t</li>\n\t<li>\n\tCarbon platform support removed. OS X applications should switch to Cocoa.\n\t</li>\n\t<li>\n\tOn Windows Vista or newer, drawing may be performed with Direct2D and DirectWrite instead of GDI.\n\t</li>\n\t<li>\n\tCairo is now used for all drawing on GTK+. GDK drawing was removed.\n\t</li>\n\t<li>\n\tPaletted display support removed.\n\t</li>\n\t<li>\n\tFractional font sizes can be specified.\n\t</li>\n\t<li>\n\tDifferent weights of text supported on some platforms instead of just normal and bold.\n\t</li>\n\t<li>\n\tSub-pixel character positioning supported.\n\t</li>\n\t<li>\n\tSciTE loads files in the background without blocking the user interface.\n\t</li>\n\t<li>\n\tSciTE can display diagnostic messages interleaved with the text of files immediately after the\n\tline referred to by the diagnostic.\n\t</li>\n\t<li>\n\tNew API to see if all lines are visible which can be used to optimize processing fold structure notifications.\n\t</li>\n\t<li>\n\tScrolling optimized by avoiding invalidation of fold margin when redrawing whole window.\n\t</li>\n\t<li>\n\tOptimized SCI_MARKERNEXT.\n\t</li>\n\t<li>\n\tC++ lexer supports Pike hash quoted strings when turned on with lexer.cpp.hashquoted.strings.\n\t</li>\n\t<li>\n\tFixed incorrect line height with annotations in wrapped mode when there are multiple views.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3388159&group_id=2439\">Bug #3388159.</a>\n\t</li>\n\t<li>\n\tCalltips may be displayed above the text as well as below.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3410830&group_id=2439\">Bug #3410830.</a>\n\t</li>\n\t<li>\n\tFor huge files SciTE only examines the first megabyte for newline discovery.\n\t</li>\n\t<li>\n\tSciTE on GTK+ removes the fileselector.show.hidden property and check box as this was buggy and GTK+ now\n\tsupports an equivalent feature.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3413630&group_id=2439\">Bug #3413630.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ supports mnemonics in dynamic menus.\n\t</li>\n\t<li>\n\tSciTE on GTK+ displays the user's home directory as '~' in menus to make them shorter.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite229.zip?download\">Release 2.29</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 16 September 2011.\n\t</li>\n\t<li>\n\tTo automatically discover the encoding of a file when opening it, SciTE can run a program set with command.discover.properties.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3324341&group_id=2439\">Feature #3324341.</a>\n\t</li>\n\t<li>\n\tCairo always used for drawing on GTK+.\n\t</li>\n\t<li>\n\tThe set of properties files imported by SciTE can be controlled with the properties imports.include and imports.exclude.\n\tThe import statement has been extended to allow \"import *\".\n\tThe properties files for some languages are no longer automatically loaded by default. The properties files affected are\n\tavenue, baan, escript, lot, metapost, and mmixal.\n\t</li>\n\t<li>\n\tC++ lexer fixed a bug with raw strings being recognized too easily.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3388122&group_id=2439\">Bug #3388122.</a>\n\t</li>\n\t<li>\n\tLaTeX lexer improved with more states and fixes to most outstanding bugs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1493111&group_id=2439\">Bug #1493111.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1856356&group_id=2439\">Bug #1856356.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3081692&group_id=2439\">Bug #3081692.</a>\n\t</li>\n\t<li>\n\tLua lexer updates for Lua 5.2 beta with goto labels and \"\\z\" string escape.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3386330&group_id=2439\">Feature #3386330.</a>\n\t</li>\n\t<li>\n\tPerl string styling highlights interpolated variables.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3394258&group_id=2439\">Feature #3394258.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3076629&group_id=2439\">Bug #3076629.</a>\n\t</li>\n\t<li>\n\tPerl lexer updated for Perl 5.14.0 with 0X and 0B numeric literal prefixes, break keyword and \"+\" supported in subroutine prototypes.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3388802&group_id=2439\">Feature #3388802.</a>\n\t</li>\n\t<li>\n\tPerl bug fixed with CRLF line endings.\n\t</li>\n\t<li>\n\tMarkdown lexer fixed to not change state with \"_\" in middle of word.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3398184&group_id=2439\">Bug #3398184.</a>\n\t</li>\n\t<li>\n\tCocoa restores compatibility with OS X 10.5.\n\t</li>\n\t<li>\n\tMouse pointer changes over selection to an arrow near start when scrolled horizontally.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3389055&group_id=2439\">Bug #3389055.</a>\n\t</li>\n\t<li>\n\tIndicators that finish at the end of the document no longer expand when text is appended.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3378718&group_id=2439\">Bug #3378718.</a>\n\t</li>\n\t<li>\n\tSparseState merge fixed to check if other range is empty.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3387053&group_id=2439\">Bug #3387053.</a>\n\t</li>\n\t<li>\n\tOn Windows, autocompletion lists will scroll instead of document when mouse wheel spun.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3403600&group_id=2439\">Feature #3403600.</a>\n\t</li>\n\t<li>\n\tSciTE performs more rapid polling for command completion so will return faster and report more accurate times.\n\t</li>\n\t<li>\n\tSciTE resizes panes proportionally when switched between horizontal and vertical layout.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3376784&group_id=2439\">Feature #3376784.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ opens multiple files into a single instance more reliably.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3363754&group_id=2439\">Bug #3363754.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite228.zip?download\">Release 2.28</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 1 August 2011.\n\t</li>\n\t<li>\n\tGTK+ Cairo support works back to GTK+ version 2.8. Requires changing Scintilla source code to enable before GTK+ 2.22.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3322351&group_id=2439\">Bug #3322351.</a>\n\t</li>\n\t<li>\n\tTranslucent images in RGBA format can be used for margin markers and in autocompletion lists.\n\t</li>\n\t<li>\n\tINDIC_DOTBOX added as a translucent dotted rectangular indicator.\n\t</li>\n\t<li>\n\tAsian text input using IME works for GTK+ 3.x and GTK+ 2.x with Cairo.\n\t</li>\n\t<li>\n\tOn GTK+, IME works for Ctrl+Shift+U Unicode input in Scintilla. For SciTE, Ctrl+Shift+U is still Make Selection Uppercase.\n\t</li>\n\t<li>\n\tKey bindings for GTK+ on OS X made compatible with Cocoa port and platform conventions.\n\t</li>\n\t<li>\n\tCocoa port supports different character encodings, improves scrolling performance and drag image appearance.\n\tThe control ID is included in WM_COMMAND notifications. Text may be deleted by dragging to the trash.\n\tScrollToStart and ScrollToEnd key commands added to simplify implementation of standard OS X Home and End\n\tbehaviour.\n\t</li>\n\t<li>\n\tSciTE on GTK+ uses a paned widget to contain the edit and output panes instead of custom code.\n\tThis allows the divider to be moved easily on GTK+ 3 and its appearance follows GTK+ conventions more closely.\n\t</li>\n\t<li>\n\tSciTE builds and installs on BSD.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3324644&group_id=2439\">Bug #3324644.</a>\n\t</li>\n\t<li>\n\tCobol supports fixed format comments.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3014850&group_id=2439\">Bug #3014850.</a>\n\t</li>\n\t<li>\n\tMako template language block syntax extended and ## comments recognized.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3325178&group_id=2439\">Feature #3325178.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3318818&group_id=2439\">Bug #3318818.</a>\n\t</li>\n\t<li>\n\tFolding of Mako template language within HTML fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3324563&group_id=2439\">Bug #3324563.</a>\n\t</li>\n\t<li>\n\tPython lexer has lexer.python.keywords2.no.sub.identifiers option to avoid highlighting second set of\n\tkeywords following '.'.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3325333&group_id=2439\">Bug #3325333.</a>\n\t</li>\n\t<li>\n\tPython folder fixes bug where fold would not extend to final line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3349157&group_id=2439\">Bug #3349157.</a>\n\t</li>\n\t<li>\n\tSciTE treats LPEG lexers the same as script lexers by setting all 8 style bits.\n\t</li>\n\t<li>\n\tFor Cocoa, crashes with unsupported font variants and memory leaks for colour objects fixed.\n\t</li>\n\t<li>\n\tShift-JIS lead byte ranges modified to match Windows.\n\t</li>\n\t<li>\n\tMouse pointer changes over selection to an arrow more consistently.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3315756&group_id=2439\">Bug #3315756.</a>\n\t</li>\n\t<li>\n\tBug fixed with annotations beyond end of document.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3347268&group_id=2439\">Bug #3347268.</a>\n\t</li>\n\t<li>\n\tIncorrect drawing fixed for combination of background colour change and translucent selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3377116&group_id=2439\">Bug #3377116.</a>\n\t</li>\n\t<li>\n\tLexers initialized correctly when started at position other than start of line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3377148&group_id=2439\">Bug #3377148.</a>\n\t</li>\n\t<li>\n\tFold highlight drawing fixed for some situations.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3323015&group_id=2439\">Bug #3323015.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3323805&group_id=2439\">Bug #3323805.</a>\n\t</li>\n\t<li>\n\tCase insensitive search fixed for cases where folded character uses fewer bytes than base character.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3362038&group_id=2439\">Bug #3362038.</a>\n\t</li>\n\t<li>\n\tSciTE bookmark.alpha setting fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3373907&group_id=2439\">Bug #3373907.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite227.zip?download\">Release 2.27</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 20 June 2011.\n\t</li>\n\t<li>\n\tOn recent GTK+ 2.x versions when using Cairo, bug fixed where wrong colours were drawn.\n\t</li>\n\t<li>\n\tSciTE on GTK+ slow performance in menu maintenance fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3315233&group_id=2439\">Bug #3315233.</a>\n\t</li>\n\t<li>\n\tCocoa platform supports 64-bit builds and uses only non-deprecated APIs.\n\tAsian Input Method Editors are supported.\n\tAutocompletion lists and calltips implemented.\n\tControl identifier used in notifications.\n\t</li>\n\t<li>\n\tOn Cocoa, rectangular selection now uses Option/Alt key to be compatible with Apple Human\n\tInterface Guidelines and other applications.\n\tThe Control key is reported with an SCMOD_META modifier bit.\n\t</li>\n\t<li>\n\tAPI added for setting and retrieving the identifier number used in notifications.\n\t</li>\n\t<li>\n\tSCI_SETEMPTYSELECTION added to set selection without scrolling or redrawing more than needed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3314877&group_id=2439\">Feature #3314877.</a>\n\t</li>\n\t<li>\n\tAdded new indicators. INDIC_DASH and INDIC_DOTS are variants of underlines.\n\tINDIC_SQUIGGLELOW indicator added as shorter alternative to INDIC_SQUIGGLE for small fonts.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3314591&group_id=2439\">Bug #3314591</a>\n\t</li>\n\t<li>\n\tMargin line selection can be changed to select display lines instead of document lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3312763&group_id=2439\">Bug #3312763.</a>\n\t</li>\n\t<li>\n\tOn Windows, SciTE can perform reverse searches by pressing Shift+Enter\n\tin the Find or Replace strips or dialogs.\n\t</li>\n\t<li>\n\tMatlab lexer does not special case '\\' in single quoted strings.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=948757&group_id=2439\">Bug #948757</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1755950&group_id=2439\">Bug #1755950</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1888738&group_id=2439\">Bug #1888738</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3316852&group_id=2439\">Bug #3316852.</a>\n\t</li>\n\t<li>\n\tVerilog lexer supports SystemVerilog folding and keywords.\n\t</li>\n\t<li>\n\tFont leak fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3306156&group_id=2439\">Bug #3306156.</a>\n\t</li>\n\t<li>\n\tAutomatic scrolling works for long wrapped lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3312763&group_id=2439\">Bug #3312763.</a>\n\t</li>\n\t<li>\n\tMultiple typing works for cases where selections collapse together.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3309906&group_id=2439\">Bug #3309906.</a>\n\t</li>\n\t<li>\n\tFold expanded when needed in word wrap mode.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3291579&group_id=2439\">Bug #3291579.</a>\n\t</li>\n\t<li>\n\tBug fixed with edge drawn in wrong place on wrapped lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3314807&group_id=2439\">Bug #3314807.</a>\n\t</li>\n\t<li>\n\tBug fixed with unnecessary scrolling for SCI_GOTOLINE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3303406&group_id=2439\">Bug #3303406.</a>\n\t</li>\n\t<li>\n\tBug fixed where extra step needed to undo SCI_CLEAR in virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3159691&group_id=2439\">Bug #3159691.</a>\n\t</li>\n\t<li>\n\tRegular expression search fixed for \\$ on last line of search range.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3313746&group_id=2439\">Bug #3313746.</a>\n\t</li>\n\t<li>\n\tSciTE performance improved when switching to a tab with a very large file.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3311421&group_id=2439\">Bug #3311421.</a>\n\t</li>\n\t<li>\n\tOn Windows, SciTE advanced search remembers the \"Search only in this style\" setting.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3313344&group_id=2439\">Bug #3313344.</a>\n\t</li>\n\t<li>\n\tOn GTK+, SciTE opens help using \"xdg-open\" instead of \"netscape\" as \"netscape\" no longer commonly installed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3314377&group_id=2439\">Bug #3314377.</a>\n\t</li>\n\t<li>\n\tSciTE script lexers can use 256 styles.\n\t</li>\n\t<li>\n\tSciTE word highlight works for words containing DBCS characters.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3315173&group_id=2439\">Bug #3315173.</a>\n\t</li>\n\t<li>\n\tCompilation fixed for wxWidgets.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3306156&group_id=2439\">Bug #3306156.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite226.zip?download\">Release 2.26</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 25 May 2011.\n\t</li>\n\t<li>\n\tFolding margin symbols can be highlighted for the current folding block.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3147069&group_id=2439\">Feature #3147069.</a>\n\t</li>\n\t<li>\n\tSelected lines can be moved up or down together.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3304850&group_id=2439\">Feature #3304850.</a>\n\t</li>\n\t<li>\n\tSciTE can highlight all occurrences of the current word or selected text.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3291636&group_id=2439\">Feature #3291636.</a>\n\t</li>\n\t<li>\n\tExperimental GTK+ 3.0 support: build with \"make GTK3=1\".\n\t</li>\n\t<li>\n\tINDIC_STRAIGHTBOX added. Is similar to INDIC_ROUNDBOX but without rounded corners.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3290435&group_id=2439\">Bug #3290435.</a>\n\t</li>\n\t<li>\n\tCan show brace matching and mismatching with indicators instead of text style.\n\tTranslucency of outline can be altered for INDIC_ROUNDBOX and INDIC_STRAIGHTBOX.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3290434&group_id=2439\">Feature #3290434.</a>\n\t</li>\n\t<li>\n\tSciTE can automatically indent python by examining previous line for scope-starting ':' with indent.python.colon.\n\t</li>\n\t<li>\n\tBatch file lexer allows braces '(' or ')' inside variable names.\n\t</li>\n\t<li>\n\tThe cpp lexer only recognizes Vala triple quoted strings when lexer.cpp.triplequoted.strings property is set.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3239234&group_id=2439\">Bug #3239234.</a>\n\t</li>\n\t<li>\n\tMake file lexer treats a variable with a nested variable like $(f$(qx)b) as one variable.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3298223&group_id=2439\">Bug #3298223.</a>\n\t</li>\n\t<li>\n\tFolding bug fixed for JavaScript with nested PHP.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3193530&group_id=2439\">Bug #3193530.</a>\n\t</li>\n\t<li>\n\tHTML lexer styles Django's {# #} comments.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3013798&group_id=2439\">Bug #3013798.</a>\n\t</li>\n\t<li>\n\tHTML lexer styles JavaScript regular expression correctly for /abc/i.test('abc');.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3209108&group_id=2439\">Bug #3209108.</a>\n\t</li>\n\t<li>\n\tInno Setup Script lexer now works properly when it restarts from middle of [CODE] section.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3283880&group_id=2439\">Bug #3283880.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3129044&group_id=2439\">Bug #3129044.</a>\n\t</li>\n\t<li>\n\tLua lexer updated for Lua 5.2 with hexadecimal floating-point numbers and '\\*' whitespace escaping in strings.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3243811&group_id=2439\">Feature #3243811.</a>\n\t</li>\n\t<li>\n\tPerl folding folds \"here doc\"s and adds options fold.perl.at.else and fold.perl.comment.explicit. Fold structure for Perl fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3112671&group_id=2439\">Feature #3112671.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3265401&group_id=2439\">Bug #3265401.</a>\n\t</li>\n\t<li>\n\tPython lexer supports cpdef keyword for Cython.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3279728&group_id=2439\">Bug #3279728.</a>\n\t</li>\n\t<li>\n\tSQL folding option lexer.sql.fold.at.else renamed to fold.sql.at.else.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3271474&group_id=2439\">Bug #3271474.</a>\n\t</li>\n\t<li>\n\tSQL lexer no longer treats ';' as terminating a comment.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3196071&group_id=2439\">Bug #3196071.</a>\n\t</li>\n\t<li>\n\tText drawing and measurement segmented into smaller runs to avoid platform bugs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3277449&group_id=2439\">Bug #3277449.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3165743&group_id=2439\">Bug #3165743.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows adds temp.files.sync.load property to open dropped temporary files synchronously as they may\n\tbe removed before they can be opened asynchronously.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3072009&group_id=2439\">Bug #3072009.</a>\n\t</li>\n\t<li>\n\tBug fixed with indentation guides ignoring first line in SC_IV_LOOKBOTH mode.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3291317&group_id=2439\">Bug #3291317.</a>\n\t</li>\n\t<li>\n\tBugs fixed in backward regex search.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3292659&group_id=2439\">Bug #3292659.</a>\n\t</li>\n\t<li>\n\tBugs with display of folding structure fixed for wrapped lines and where there is a fold header but no body.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3291579&group_id=2439\">Bug #3291579.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3265401&group_id=2439\">Bug #3265401.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows cursor changes to an arrow now when over horizontal splitter near top of window.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3286620&group_id=2439\">Bug #3286620.</a>\n\t</li>\n\t<li>\n\tFixed default widget size problem on GTK+.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3267892&group_id=2439\">Bug #3267892.</a>\n\t</li>\n\t<li>\n\tFixed font size when using Cairo on GTK+.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3272662&group_id=2439\">Bug #3272662.</a>\n\t</li>\n\t<li>\n\tFixed primary selection and cursor issues on GTK+ when unrealized then realized.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3256153&group_id=2439\">Bug #3256153.</a>\n\t</li>\n\t<li>\n\tRight click now cancels selection on GTK+ like on Windows.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3235190&group_id=2439\">Bug #3235190.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ implements z-order buffer switching like on Windows.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3228384&group_id=2439\">Bug #3228384.</a>\n\t</li>\n\t<li>\n\tImprove selection position after SciTE Insert Abbreviation command when abbreviation expansion includes '|'.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite225.zip?download\">Release 2.25</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 21 March 2011.\n\t</li>\n\t<li>\n\tSparseState class makes it easier to write lexers which have to remember complex state between lines.\n\t</li>\n\t<li>\n\tVisual Studio project (.dsp) files removed. The make files should be used instead as described in the README.\n\t</li>\n\t<li>\n\tModula 3 lexer added along with SciTE support.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3173374&group_id=2439\">Feature #3173374.</a>\n\t</li>\n\t<li>\n\tAsm, Basic, and D lexers add extra folding properties.\n\t</li>\n\t<li>\n\tRaw string literals for C++0x supported in C++ lexer.\n\t</li>\n\t<li>\n\tTriple-quoted strings used in Vala language supported in C++ lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3177601&group_id=2439\">Feature #3177601.</a>\n\t</li>\n\t<li>\n \tThe errorlist lexer used in SciTE's output pane colours lines that start with '&lt;' as diff deletions.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3172878&group_id=2439\">Feature #3172878.</a>\n\t</li>\n\t<li>\n \tThe Fortran lexer correctly folds type-bound procedures from Fortran 2003.\n\t</li>\n\t<li>\n\tLPeg lexer support‎ improved in SciTE.\n\t</li>\n\t<li>\n\tSciTE on Windows-64 fixes for menu localization and Lua scripts.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3204502&group_id=2439\">Bug #3204502.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows avoids locking folders when using the open or save dialogs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1795484&group_id=2439\">Bug #1795484.</a>\n\t</li>\n\t<li>\n\tDiff lexer fixes problem where diffs of diffs producing lines that start with \"----\".\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3197952&group_id=2439\">Bug #3197952.</a>\n\t</li>\n\t<li>\n\tBug fixed when searching upwards in Chinese code page 936.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3176271&group_id=2439\">Bug #3176271.</a>\n\t</li>\n\t<li>\n\tOn Cocoa, translucent drawing performed as on other platforms instead of 2.5 times less translucent.\n\t</li>\n\t<li>\n\tPerformance issue and potential bug fixed on GTK+ with caret line for long lines.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite224.zip?download\">Release 2.24</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 3 February 2011.\n\t</li>\n\t<li>\n\tFixed memory leak in GTK+ Cairo code.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3157655&group_id=2439\">Feature #3157655.</a>\n\t</li>\n\t<li>\n\tInsert Abbreviation dialog added to SciTE on GTK+.\n\t</li>\n\t<li>\n\tSCN_UPDATEUI notifications received when window scrolled. An 'updated' bit mask indicates which\n\ttypes of update have occurred from SC_UPDATE_SELECTION, SC_UPDATE_CONTENT, SC_UPDATE_H_SCROLL\n\tor SC_UPDATE_V_SCROLL.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3125977&group_id=2439\">Feature #3125977.</a>\n\t</li>\n\t<li>\n\tOn Windows, to ensure reverse arrow cursor matches platform default, it is now generated by\n\treflecting the platform arrow cursor.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3143968&group_id=2439\">Feature #3143968.</a>\n\t</li>\n\t<li>\n\tCan choose mouse cursor used in margins.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3161326&group_id=2439\">Feature #3161326.</a>\n\t</li>\n\t<li>\n\tOn GTK+, SciTE sets a mime type of text/plain in its .desktop file so that it will appear in the shell context menu.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3137126&group_id=2439\">Feature #3137126.</a>\n\t</li>\n\t<li>\n\tBash folder handles here docs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3118223&group_id=2439\">Feature #3118223.</a>\n\t</li>\n\t<li>\n\tC++ folder adds fold.cpp.syntax.based, fold.cpp.comment.multiline, fold.cpp.explicit.start, fold.cpp.explicit.end,\n\tand fold.cpp.explicit.anywhere properties to allow more control over folding and choice of explicit fold markers.\n\t</li>\n\t<li>\n\tC++ lexer fixed to always handle single quote strings continued past a line end.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3150522&group_id=2439\">Bug #3150522.</a>\n\t</li>\n\t<li>\n\tRuby folder handles here docs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3118224&group_id=2439\">Feature #3118224.</a>\n\t</li>\n\t<li>\n\tSQL lexer allows '.' to be part of words.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3103129&group_id=2439\">Feature #3103129.</a>\n\t</li>\n\t<li>\n\tSQL folder handles case statements in more situations.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3135027&group_id=2439\">Feature #3135027.</a>\n\t</li>\n\t<li>\n\tSQL folder adds fold points inside expressions based on bracket structure.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3165488&group_id=2439\">Feature #3165488.</a>\n\t</li>\n\t<li>\n\tSQL folder drops fold.sql.exists property as 'exists' is handled automatically.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3164194&group_id=2439\">Bug #3164194.</a>\n\t</li>\n\t<li>\n\tSciTE only forwards properties to lexers when they have been explicitly set so the defaults set by lexers are used\n\trather than 0.\n\t</li>\n\t<li>\n\tMouse double click word selection chooses the word around the character under the mouse rather than\n\tthe inter-character position under the mouse. This makes double clicking select what the user is pointing\n\tat and avoids selecting adjacent non-word characters.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3111174&group_id=2439\">Bug #3111174.</a>\n\t</li>\n\t<li>\n\tFixed mouse double click to always perform word select, not line select.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3143635&group_id=2439\">Bug #3143635.</a>\n\t</li>\n\t<li>\n\tRight click cancels autocompletion.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3144531&group_id=2439\">Bug #3144531.</a>\n\t</li>\n\t<li>\n\tFixed multiPaste to work when additionalSelectionTyping off.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3126221&group_id=2439\">Bug #3126221.</a>\n\t</li>\n\t<li>\n\tFixed virtual space problems when text modified at caret.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3154986&group_id=2439\">Bug #3154986.</a>\n\t</li>\n\t<li>\n\tFixed memory leak in lexer object code.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3133672&group_id=2439\">Bug #3133672.</a>\n\t</li>\n\t<li>\n\tFixed SciTE on GTK+ search failure when using regular expression.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3156217&group_id=2439\">Bug #3156217.</a>\n\t</li>\n\t<li>\n\tAvoid unnecessary full window redraw for SCI_GOTOPOS.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3146650&group_id=2439\">Feature #3146650.</a>\n\t</li>\n\t<li>\n\tAvoid unnecessary redraw when indicator fill range makes no real change.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite223.zip?download\">Release 2.23</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 7 December 2010.\n\t</li>\n\t<li>\n\tOn GTK+ version 2.22 and later, drawing is performed with Cairo rather than GDK.\n\tThis is in preparation for GTK+ 3.0 which will no longer support GDK drawing.\n\tThe appearance of some elements will be different with Cairo as it is anti-aliased and uses sub-pixel positioning.\n\tCairo may be turned on for GTK+ versions before 2.22 by defining USE_CAIRO although this has not\n\tbeen extensively tested.\n\t</li>\n\t<li>\n\tNew lexer a68k for Motorola 68000 assembler.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3101598&group_id=2439\">Feature #3101598.</a>\n\t</li>\n\t<li>\n\tBorland C++ is no longer supported for building Scintilla or SciTE on Windows.\n\t</li>\n\t<li>\n\tPerformance improved when creating large rectangular selections.\n\t</li>\n\t<li>\n\tPHP folder recognizes #region and #endregion comments.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3101624&group_id=2439\">Feature #3101624.</a>\n\t</li>\n\t<li>\n\tSQL lexer has a lexer.sql.numbersign.comment option to turn off use of '#' comments\n\tas these are a non-standard feature only available in some implementations.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3098071&group_id=2439\">Feature #3098071.</a>\n\t</li>\n\t<li>\n\tSQL folder recognizes case statements and understands the fold.at.else property.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3104091&group_id=2439\">Bug #3104091.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3107362&group_id=2439\">Bug #3107362.</a>\n\t</li>\n\t<li>\n\tSQL folder fixes bugs with end statements when fold.sql.only.begin=1.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3104091&group_id=2439\">Bug #3104091.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows bug fixed with multi-line tab bar not adjusting correctly when maximizing and demaximizing.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3097517&group_id=2439\">Bug #3097517.</a>\n\t</li>\n\t<li>\n\tCrash fixed on GTK+ when Scintilla widget destroyed while it still has an outstanding style idle pending.\n\t</li>\n\t<li>\n\tBug fixed where searching backwards in DBCS text (code page 936 or similar) failed to find occurrences at the start of the line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3103936&group_id=2439\">Bug #3103936.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows supports Unicode file names when executing help applications with winhelp and htmlhelp subsystems.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite222.zip?download\">Release 2.22</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 27 October 2010.\n\t</li>\n\t<li>\n\tSciTE includes support for integrating with Scintillua which allows lexers to be implemented in Lua as a\n\tParsing Expression Grammar (PEG).\n\t</li>\n\t<li>\n\tRegular expressions allow use of '?' for non-greedy matches or to match 0 or 1 instances of an item.\n\t</li>\n\t<li>\n\tSCI_CONTRACTEDFOLDNEXT added to allow rapid retrieval of folding state.\n\t</li>\n\t<li>\n\tSCN_HOTSPOTRELEASECLICK notification added which is similar to SCN_HOTSPOTCLICK but occurs\n\twhen the mouse is released.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3082409&group_id=2439\">Feature #3082409.</a>\n\t</li>\n\t<li>\n\tCommand added for centring current line in window.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3064696&group_id=2439\">Feature #3064696.</a>\n\t</li>\n\t<li>\n\tSciTE performance improved by not examining document for line ends when switching buffers and not\n\tstoring folds when folding turned off.\n\t</li>\n\t<li>\n\tBug fixed where scrolling to ensure the caret is visible did not take into account all pixels of the line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3081721&group_id=2439\">Bug #3081721.</a>\n\t</li>\n\t<li>\n\tBug fixed for autocompletion list overlapping text when WS_EX_CLIENTEDGE used.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3079778&group_id=2439\">Bug #3079778.</a>\n\t</li>\n\t<li>\n\tAfter autocompletion, the caret's X is updated.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3079114&group_id=2439\">Bug #3079114.</a>\n\t</li>\n\t<li>\n\tOn Windows, default to the system caret blink time.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3079784&group_id=2439\">Feature #3079784.</a>\n\t</li>\n\t<li>\n\tPgUp/PgDn fixed to allow virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3077452&group_id=2439\">Bug #3077452.</a>\n\t</li>\n\t<li>\n\tCrash fixed when AddMark and AddMarkSet called with negative argument.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3075074&group_id=2439\">Bug #3075074.</a>\n\t</li>\n\t<li>\n\tDwell notifications fixed so that they do not occur when the mouse is outside Scintilla.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3073481&group_id=2439\">Bug #3073481.</a>\n\t</li>\n\t<li>\n\tBash lexer bug fixed for here docs starting with &lt;&lt;-.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3063822&group_id=2439\">Bug #3063822.</a>\n\t</li>\n\t<li>\n\tC++ lexer bug fixed for // comments that are continued onto a second line by a \\.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3066031&group_id=2439\">Bug #3066031.</a>\n\t</li>\n\t<li>\n\tC++ lexer fixes wrong highlighting for float literals containing +/-.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3058924&group_id=2439\">Bug #3058924.</a>\n\t</li>\n\t<li>\n\tJavaScript lexer recognize regexes following return keyword.‎\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3062287&group_id=2439\">Bug #3062287.</a>\n\t</li>\n\t<li>\n\tRuby lexer handles % quoting better and treats range dots as operators in 1..2 and 1...2.\n\tRuby folder handles \"if\" keyword used as a modifier even when it is separated from the modified statement by an escaped new line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2093767&group_id=2439\">Bug #2093767.</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3058496&group_id=2439\">Bug #3058496.</a>\n\t</li>\n\t<li>\n\tBug fixed where upwards search failed with DBCS code pages.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3065912&group_id=2439\">Bug #3065912.</a>\n\t</li>\n\t<li>\n\tSciTE has a default Lua startup script name distributed in SciTEGlobal.properties.\n\tNo error message is displayed if this file does not exist.\n\t</li>\n\t<li>\n\tSciTE on Windows tab control height is calculated better.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2635702&group_id=2439\">Bug #2635702.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows uses better themed check buttons in find and replace strips.\n\t</li>\n\t<li>\n\tSciTE on Windows fixes bug with Find strip appearing along with Incremental Find strip.\n\t</li>\n\t<li>\n\tSciTE setting find.close.on.find added to allow preventing the Find dialog from closing.\n\t</li>\n\t<li>\n\tSciTE on Windows attempts to rerun commands that fail by prepending them with \"cmd.exe /c\".\n\tThis allows commands built in to the command processor like \"dir\" to run.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite221.zip?download\">Release 2.21</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 1 September 2010.\n\t</li>\n\t<li>\n\tAsian Double Byte Character Set (DBCS) support improved.\n\tCase insensitive search works and other operations are much faster.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2999125&group_id=2439\">Bug #2999125,</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2774616&group_id=2439\">Bug #2774616,</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2991942&group_id=2439\">Bug #2991942,</a>\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3005688&group_id=2439\">Bug #3005688.</a>\n\t</li>\n\t<li>\n\tScintilla on GTK+ uses only non-deprecated APIs (for GTK+ 2.20) except for GdkFont and GdkFont use can be disabled\n\twith the preprocessor symbol DISABLE_GDK_FONT.\n\t</li>\n\t<li>\n\tIDocument interface used by lexers adds BufferPointer and GetLineIndentation methods.\n\t</li>\n\t<li>\n\tOn Windows, clicking sets focus before processing the click or sending notifications.\n\t</li>\n\t<li>\n\tBug on OS X (macosx platform) fixed where drag/drop overwrote clipboard.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3039732&group_id=2439\">Bug #3039732.</a>\n\t</li>\n\t<li>\n\tGTK+ drawing bug when the view was horizontally scrolled more than 32000 pixels fixed.\n\t</li>\n\t<li>\n\tSciTE bug fixed with invoking Complete Symbol from output pane.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3050957&group_id=2439\">Bug #3050957.</a>\n\t</li>\n\t<li>\n\tBug fixed where it was not possible to disable folding.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3040649&group_id=2439\">Bug #3040649.</a>\n\t</li>\n\t<li>\n\tBug fixed with pressing Enter on a folded fold header line not opening the fold.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3043419&group_id=2439\">Bug #3043419.</a>\n\t</li>\n\t<li>\n\tSciTE 'Match case' option in find and replace user interfaces changed to 'Case sensitive' to allow use of 'v'\n\trather than 'c' as the mnemonic.\n\t</li>\n\t<li>\n\tSciTE displays stack trace for Lua when error occurs..\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3051397&group_id=2439\">Bug #3051397.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows fixes bug where double clicking on error message left focus in output pane.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1264835&group_id=2439\">Bug #1264835.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows uses SetDllDirectory to avoid a security problem.\n\t</li>\n\t<li>\n\tC++ lexer crash fixed with preprocessor expression that looked like division by 0.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3056825&group_id=2439\">Bug #3056825.</a>\n\t</li>\n\t<li>\n\tHaskell lexer improved.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3039490&group_id=2439\">Feature #3039490.</a>\n\t</li>\n\t<li>\n\tHTML lexing fixed around Django {% %} tags.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3034853&group_id=2439\">Bug #3034853.</a>\n\t</li>\n\t<li>\n\tHTML JavaScript lexing fixed when line end escaped.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3038381&group_id=2439\">Bug #3038381.</a>\n\t</li>\n\t<li>\n\tHTML lexer stores line state produced by a line on that line rather than on the next line.\n\t</li>\n\t<li>\n\tMarkdown lexer fixes infinite loop.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3045386&group_id=2439\">Bug #3045386.</a>\n\t</li>\n\t<li>\n\tMySQL folding bugs with END statements fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3031742&group_id=2439\">Bug #3031742.</a>\n\t</li>\n\t<li>\n\tPowerShell lexer allows '_' as a word character.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3042228&group_id=2439\">Feature #3042228.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ abandons processing of subsequent commands if a command.go.needs command fails.\n\t</li>\n\t<li>\n\tWhen SciTE is closed, all buffers now receive an OnClose call.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3033857&group_id=2439\">Bug #3033857.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite220.zip?download\">Release 2.20</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 30 July 2010.\n\t</li>\n\t<li>\n\tLexers are implemented as objects so that they may retain extra state.\n\tThe interfaces defined for this are tentative and may change before the next release.\n\tCompatibility classes allow current lexers compiled into Scintilla to run with few changes.\n\tThe interface to external lexers has changed and existing external lexers will need to have changes\n\tmade and be recompiled.\n\tA single lexer object is attached to a document whereas previously lexers were attached to views\n\twhich could lead to different lexers being used for split views with confusing results.\n\t</li>\n\t<li>\n\tC++ lexer understands the preprocessor enough to grey-out inactive code due to conditional compilation.\n\t</li>\n\t<li>\n\tSciTE can use strips within the main window for find and replace rather than dialogs.\n\tOn Windows SciTE always uses a strip for incremental search.\n\t</li>\n\t<li>\n\tLexer added for Txt2Tags language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3018736&group_id=2439\">Feature #3018736.</a>\n\t</li>\n\t<li>\n\tSticky caret feature enhanced with additional SC_CARETSTICKY_WHITESPACE mode .\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3027559&group_id=2439\">Feature #3027559.</a>\n\t</li>\n\t<li>\n\tBash lexer implements basic parsing of compound commands and constructs.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3033135&group_id=2439\">Feature #3033135.</a>\n\t</li>\n\t<li>\n\tC++ folder allows disabling explicit fold comments.\n\t</li>\n\t<li>\n\tPerl folder works for array blocks, adjacent package statements, nested PODs, and terminates package folding at __DATA__, ^D and ^Z.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3030887&group_id=2439\">Feature #3030887.</a>\n\t</li>\n\t<li>\n\tPowerShell lexer supports multiline &lt;# .. #&gt; comments and adds 2 keyword classes.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3015176&group_id=2439\">Feature #3015176.</a>\n\t</li>\n\t<li>\n\tLexing performed incrementally when needed by wrapping to make user interface more responsive.\n\t</li>\n\t<li>\n\tSciTE setting replaceselection:yes works on GTK+.\n\t</li>\n\t<li>\n\tSciTE Lua scripts calling io.open or io.popen on Windows have arguments treated as UTF-8 and converted to Unicode\n\tso that non-ASCII file paths will work. Lua files with non-ASCII paths run.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3016951&group_id=2439\">Bug #3016951.</a>\n\t</li>\n\t<li>\n\tCrash fixed when searching for empty string.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3017572&group_id=2439\">Bug #3017572.</a>\n\t</li>\n\t<li>\n\tBugs fixed with folding and lexing when Enter pressed at start of line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3032652&group_id=2439\">Bug #3032652.</a>\n\t</li>\n\t<li>\n\tBug fixed with line selection mode not affecting selection range.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3021480&group_id=2439\">Bug #3021480.</a>\n\t</li>\n\t<li>\n\tBug fixed where indicator alpha was limited to 100 rather than 255.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3021473&group_id=2439\">Bug #3021473.</a>\n\t</li>\n\t<li>\n\tBug fixed where changing annotation did not cause automatic redraw.\n\t</li>\n\t<li>\n\tRegular expression bug fixed when a character range included non-ASCII characters.\n\t</li>\n\t<li>\n\tCompilation failure with recent compilers fixed on GTK+.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3022027&group_id=2439\">Bug #3022027.</a>\n\t</li>\n\t<li>\n\tBug fixed on Windows with multiple monitors where autocomplete pop up would appear off-screen\n\tor straddling monitors.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3017512&group_id=2439\">Bug #3017512.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows bug fixed where changing directory to a Unicode path failed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3011987&group_id=2439\">Bug #3011987.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows bug fixed where combo boxes were not allowing Unicode characters.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3012986&group_id=2439\">Bug #3012986.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ bug fixed when dragging files into SciTE on KDE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3026555&group_id=2439\">Bug #3026555.</a>\n\t</li>\n\t<li>\n\tSciTE bug fixed where closing untitled file could lose data if attempt to name file same as another buffer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3011680&group_id=2439\">Bug #3011680.</a>\n\t</li>\n\t<li>\n\tCOBOL number masks now correctly highlighted.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3012164&group_id=2439\">Bug #3012164.</a>\n\t</li>\n\t<li>\n\tPHP comments can include &lt;?PHP without triggering state change.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2854183&group_id=2439\">Bug #2854183.</a>\n\t</li>\n\t<li>\n\tVHDL lexer styles unclosed string correctly.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3029627&group_id=2439\">Bug #3029627.</a>\n\t</li>\n\t<li>\n\tMemory leak fixed in list boxes on GTK+.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3007669&group_id=2439\">Bug #3007669.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite212.zip?download\">Release 2.12</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 1 June 2010.\n\t</li>\n\t<li>\n\tDrawing optimizations improve speed and fix some visible flashing when scrolling.\n\t</li>\n\t<li>\n\tCopy Path command added to File menu in SciTE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2986745&group_id=2439\">Feature #2986745.</a>\n\t</li>\n\t<li>\n\tOptional warning displayed by SciTE when saving a file which has been modified by another process.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2975041&group_id=2439\">Feature #2975041.</a>\n\t</li>\n\t<li>\n\tFlagship lexer for xBase languages updated to follow the language much more closely.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2992689&group_id=2439\">Feature #2992689.</a>\n\t</li>\n\t<li>\n\tHTML lexer highlights Django templates in more regions.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=3002874&group_id=2439\">Feature #3002874.</a>\n\t</li>\n\t<li>\n\tDropping files on SciTE on Windows, releases the drag object earlier and opens the files asynchronously,\n\tleading to smoother user experience.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2986724&group_id=2439\">Feature #2986724.</a>\n\t</li>\n\t<li>\n\tSciTE HTML exports take the Use Monospaced Font setting into account.\n\t</li>\n\t<li>\n\tSciTE window title \"[n of m]\" localized.\n\t</li>\n\t<li>\n\tWhen new line inserted at start of line, markers are moved down.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2986727&group_id=2439\">Bug #2986727.</a>\n\t</li>\n\t<li>\n\tOn Windows, dropped text has its line ends converted, similar to pasting.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3005328&group_id=2439\">Bug #3005328.</a>\n\t</li>\n\t<li>\n\tFixed bug with middle-click paste in block select mode where text was pasted next to selection rather than at cursor.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2984460&group_id=2439\">Bug #2984460.</a>\n\t</li>\n\t<li>\n\tFixed SciTE crash where a style had a size parameter without a value.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3003834&group_id=2439\">Bug #3003834.</a>\n\t</li>\n\t<li>\n\tDebug assertions in multiple lexers fixed.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3000566&group_id=2439\">Bug #3000566.</a>\n\t</li>\n\t<li>\n\tCSS lexer fixed bug where @font-face displayed incorrectly\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2994224&group_id=2439\">Bug #2994224.</a>\n\t</li>\n\t<li>\n\tCSS lexer fixed bug where open comment caused highlighting error.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1683672&group_id=2439\">Bug #1683672.</a>\n\t</li>\n\t<li>\n\tShell file lexer fixed highlight glitch with here docs where the first line is a comment.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2830239&group_id=2439\">Bug #2830239.</a>\n\t</li>\n\t<li>\n\tBug fixed in SciTE openpath property that caused Open Selected File to fail to open the selected file.\n\t</li>\n\t<li>\n\tBug fixed in SciTE FileExt property when file name with no extension evaluated to whole path.\n\t</li>\n\t<li>\n\tFixed SciTE on Windows printing bug where the $(CurrentTime), $(CurrentPage) variables were not expanded.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2994612&group_id=2439\">Bug #2994612.</a>\n\t</li>\n\t<li>\n\tSciTE compiles for 64-bit Windows and runs without crashing.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2986312&group_id=2439\">Bug #2986312.</a>\n\t</li>\n\t<li>\n\tFull Screen mode in Windows Vista/7 improved to hide Start button and size borders a little better.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3002813&group_id=2439\">Bug #3002813.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite211.zip?download\">Release 2.11</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 9 April 2010.\n\t</li>\n\t<li>\n\tFixes compatibility of Scintilla.h with the C language.\n\t</li>\n\t<li>\n\tWith a rectangular selection SCI_GETSELECTIONSTART and SCI_GETSELECTIONEND return limits of the\n\trectangular selection rather than the limits of the main selection.\n\t</li>\n\t<li>\n\tWhen SciTE on Windows is minimized to tray, only takes a single click to restore rather than a double click.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=981917&group_id=2439\">Feature #981917.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite210.zip?download\">Release 2.10</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 4 April 2010.\n\t</li>\n\t<li>\n\tVersion 1.x of GTK+ is no longer supported.\n\t</li>\n\t<li>\n\tSciTE is no longer supported on Windows 95, 98 or ME.\n\t</li>\n\t<li>\n\tCase-insensitive search works for non-ASCII characters in UTF-8 and 8-bit encodings.\n\tNon-regex search in DBCS encodings is always case-sensitive.\n\t</li>\n\t<li>\n\tNon-ASCII characters may be changed to upper and lower case.\n\t</li>\n\t<li>\n\tSciTE on Windows can access all files including those with names outside the user's preferred character encoding.\n\t</li>\n\t<li>\n\tSciTE may be extended with lexers written in Lua.\n\t</li>\n\t<li>\n\tWhen there are multiple selections, the paste command can go either to the main selection or to each\n\tselection. This is controlled with SCI_SETMULTIPASTE.\n\t</li>\n\t<li>\n\tMore forms of bad UTF-8 are detected including overlong sequences, surrogates, and characters outside\n\tthe valid range. Bad UTF-8 bytes are now displayed as 2 hex digits preceded by 'x'.\n\t</li>\n\t<li>\n\tSCI_GETTAG retrieves the value of captured expressions within regular expression searches.\n\t</li>\n\t<li>\n\tDjango template highlighting added to the HTML lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2974889&group_id=2439\">Feature #2974889.</a>\n\t</li>\n\t<li>\n\tVerilog line comments can be folded.\n\t</li>\n\t<li>\n\tSciTE on Windows allows specifying a filter for the Save As dialog.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2943445&group_id=2439\">Feature #2943445.</a>\n\t</li>\n\t<li>\n\tBug fixed when multiple selection disabled where rectangular selections could be expanded into multiple selections.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2948260&group_id=2439\">Bug #2948260.</a>\n\t</li>\n\t<li>\n\tBug fixed when document horizontally scrolled and up/down-arrow did not return to the same\n\tcolumn after horizontal scroll occurred.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2950799&group_id=2439\">Bug #2950799.</a>\n\t</li>\n\t<li>\n\tBug fixed to remove hotspot highlight when mouse is moved out of the document. Windows only fix.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&aid=2951353&group_id=2439&atid=102439\">Bug #2951353.</a>\n\t</li>\n\t<li>\n\tR lexer now performs case-sensitive check for keywords.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2956543&group_id=2439\">Bug #2956543.</a>\n\t</li>\n\t<li>\n\tBug fixed on GTK+ where text disappeared when a wrap occurred.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2958043&group_id=2439\">Bug #2958043.</a>\n\t</li>\n\t<li>\n\tBug fixed where regular expression replace cannot escape the '\\' character by using '\\\\'.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2959876&group_id=2439\">Bug #2959876.</a>\n\t</li>\n\t<li>\n\tBug fixed on GTK+ when virtual space disabled, middle-click could still paste text beyond end of line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2971618&group_id=2439\">Bug #2971618.</a>\n\t</li>\n\t<li>\n\tSciTE crash fixed when double clicking on a malformed error message in the output pane.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2976551&group_id=2439\">Bug #2976551.</a>\n\t</li>\n\t<li>\n\tImproved performance on GTK+ when changing parameters associated with scroll bars to the same value.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2964357&group_id=2439\">Bug #2964357.</a>\n\t</li>\n\t<li>\n\tFixed bug with pressing Shift+Tab with a rectangular selection so that it performs an un-indent\n\tsimilar to how Tab performs an indent.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite203.zip?download\">Release 2.03</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased 14 February 2010.\n\t</li>\n\t<li>\n\tAdded SCI_SETFIRSTVISIBLELINE to match SCI_GETFIRSTVISIBLELINE.\n\t</li>\n\t<li>\n\tErlang lexer extended set of numeric bases recognized; separate style for module:function_name; detects\n\tbuilt-in functions, known module attributes, and known preprocessor instructions; recognizes EDoc and EDoc macros;\n\tseparates types of comments.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2942448&group_id=2439\">Bug #2942448.</a>\n\t</li>\n\t<li>\n\tPython lexer extended with lexer.python.strings.over.newline option that allows non-triple-quoted strings to extend\n\tpast line ends. This allows use of the Ren'Py language.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2945550&group_id=2439\">Feature #2945550.</a>\n\t</li>\n\t<li>\n\tFixed bugs with cursor movement after deleting a rectangular selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2942131&group_id=2439\">Bug #2942131.</a>\n\t</li>\n\t<li>\n\tFixed bug where calling SCI_SETSEL when there is a rectangular selection left\n\tthe additional selections selected.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2947064&group_id=2439\">Bug #2947064.</a>\n\t</li>\n\t<li>\n\tFixed macro recording bug where not all bytes in multi-byte character insertions were reported through\n\tSCI_REPLACESEL.\n\t</li>\n\t<li>\n\tFixed SciTE bug where using Ctrl+Enter followed by Ctrl+Space produced an autocompletion list\n\twith only a single line containing all the identifiers.\n\t</li>\n\t<li>\n\tFixed SciTE on GTK+ bug where running a tool made the user interface completely unresponsive.\n\t</li>\n\t<li>\n\tFixed SciTE on Windows Copy to RTF bug.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2108574&group_id=2439\">Bug #2108574.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite202.zip?download\">Release 2.02</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 25 January 2010.\n\t</li>\n\t<li>\n\tMarkdown lexer added.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2844081&group_id=2439\">Feature #2844081.</a>\n\t</li>\n\t<li>\n\tOn GTK+, include code that understands the ranges of lead bytes for code pages 932, 936, and 950\n\tso that most Chinese and Japanese text can be used on systems that are not set to the corresponding locale.\n\t</li>\n\t<li>\n\tAllow changing the size of dots in visible whitespace using SCI_SETWHITESPACESIZE.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2839427&group_id=2439\">Feature #2839427.</a>\n\t</li>\n\t<li>\n\tAdditional carets can be hidden with SCI_SETADDITIONALCARETSVISIBLE.\n\t</li>\n\t<li>\n\tCan choose anti-aliased, non-anti-aliased or lcd-optimized text using SCI_SETFONTQUALITY.\n\t</li>\n\t<li>\n\tRetrieve the current selected text in the autocompletion list with SCI_AUTOCGETCURRENTTEXT.\n\t</li>\n\t<li>\n\tRetrieve the name of the current lexer with SCI_GETLEXERLANGUAGE.\n\t</li>\n\t<li>\n\tProgress 4GL lexer improves handling of comments in preprocessor declaration.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2902206&group_id=2439\">Feature #2902206.</a>\n\t</li>\n\t<li>\n\tHTML lexer extended to handle Mako template language.\n\t</li>\n\t<li>\n\tSQL folder extended for SQL Anywhere \"EXISTS\" and \"ENDIF\" keywords.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2887524&group_id=2439\">Feature #2887524.</a>\n\t</li>\n\t<li>\n\tSciTE adds APIPath and AbbrevPath variables.\n\t</li>\n\t<li>\n\tSciTE on GTK+ uses pipes instead of temporary files for running tools. This should be more secure.\n\t</li>\n\t<li>\n\tFixed crash when calling SCI_STYLEGETFONT for a style which does not have a font set.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2857425&group_id=2439\">Bug #2857425.</a>\n\t</li>\n\t<li>\n\tFixed crash caused by not having sufficient styles allocated after choosing a lexer.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2881279&group_id=2439\">Bug #2881279.</a>\n\t</li>\n\t<li>\n\tFixed crash in SciTE using autocomplete word when word characters includes space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2840141&group_id=2439\">Bug #2840141.</a>\n\t</li>\n\t<li>\n\tFixed bug with handling upper-case file extensions SciTE on GTK+.\n\t</li>\n\t<li>\n\tFixed SciTE loading files from sessions with folded folds where it would not\n\tbe scrolled to the correct location.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2882775&group_id=2439\">Bug #2882775.</a>\n\t</li>\n\t<li>\n\tFixed SciTE loading files from sessions when file no longer exists.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2883437&group_id=2439\">Bug #2883437.</a>\n\t</li>\n\t<li>\n\tFixed SciTE export to HTML using the wrong background colour.\n\t</li>\n\t<li>\n\tFixed crash when adding an annotation and then adding a new line after the annotation.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2929708&group_id=2439\">Bug #2929708.</a>\n\t</li>\n\t<li>\n\tFixed crash in SciTE setting a property to nil from Lua.\n\t</li>\n\t<li>\n\tSCI_GETSELTEXT fixed to return correct length.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2929441&group_id=2439\">Bug #2929441.</a>\n\t</li>\n\t<li>\n\tFixed text positioning problems with selection in some circumstances.\n\t</li>\n\t<li>\n\tFixed text positioning problems with ligatures on GTK+.\n\t</li>\n\t<li>\n\tFixed problem pasting into rectangular selection with caret at bottom caused text to go from the caret down\n\trather than replacing the selection.\n\t</li>\n\t<li>\n\tFixed problem replacing in a rectangular selection where only the final line was changed.\n\t</li>\n\t<li>\n\tFixed inability to select a rectangular area using Alt+Shift+Click at both corners.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2899746&group_id=2439\">Bug #2899746.</a>\n\t</li>\n\t<li>\n\tFixed problem moving to start/end of a rectangular selection with left/right key.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2871358&group_id=2439\">Bug #2871358.</a>\n\t</li>\n\t<li>\n\tFixed problem with Select All when there's a rectangular selection.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2930488&group_id=2439\">Bug #2930488.</a>\n\t</li>\n\t<li>\n\tFixed SCI_LINEDUPLICATE on a rectangular selection to not produce multiple discontinuous selections.\n\t</li>\n\t<li>\n\tVirtual space removed when performing delete word left or delete line left.\n\tVirtual space converted to real space for delete word right.\n\tPreserve virtual space when pressing Delete key.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2882566&group_id=2439\">Bug #2882566.</a>\n\t</li>\n\t<li>\n\tFixed problem where Shift+Alt+Down did not move through wrapped lines.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2871749&group_id=2439\">Bug #2871749.</a>\n\t</li>\n\t<li>\n\tFixed incorrect background colour when using coloured lines with virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2914691&group_id=2439\">Bug #2914691.</a>\n\t</li>\n\t<li>\n\tFixed failure to display wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2936108&group_id=2439\">Bug #2936108.</a>\n\t</li>\n\t<li>\n\tFixed blank background colour with EOLFilled style on last line.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2890105&group_id=2439\">Bug #2890105.</a>\n\t</li>\n\t<li>\n\tFixed problem in VB lexer with keyword at end of file.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2901239&group_id=2439\">Bug #2901239.</a>\n\t</li>\n\t<li>\n\tFixed SciTE bug where double clicking on a tab closed the file.\n\t</li>\n\t<li>\n\tFixed SciTE brace matching commands to only work when the caret is next to the brace, not when\n\tit is in virtual space.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2885560&group_id=2439\">Bug #2885560.</a>\n\t</li>\n\t<li>\n\tFixed SciTE on Windows Vista to access files in the Program Files directory rather than allow Windows\n\tto virtualize access.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2916685&group_id=2439\">Bug #2916685.</a>\n\t</li>\n\t<li>\n\tFixed NSIS folder to handle keywords that start with '!'.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2872157&group_id=2439\">Bug #2872157.</a>\n\t</li>\n\t<li>\n\tChanged linkage of Scintilla_LinkLexers to \"C\" so that it can be used by clients written in C.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2844718&group_id=2439\">Bug #2844718.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite201.zip?download\">Release 2.01</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 19 August 2009.\n\t</li>\n\t<li>\n\tFix to positioning rectangular paste when viewing line ends.\n\t</li>\n\t<li>\n\tDon't insert new lines and indentation for line ends at end of rectangular paste.\n\t</li>\n\t<li>\n\tWhen not in additional selection typing mode, cutting a rectangular selection removes all of the selected text.\n\t</li>\n\t<li>\n\tRectangular selections are copied to the clipboard in document order, not in the order of selection.\n\t</li>\n\t<li>\n\tSCI_SETCURRENTPOS and SCI_SETANCHOR work in rectangular mode.\n\t</li>\n\t<li>\n\tOn GTK+, drag and drop to a later position in the document now drops at the position.\n\t</li>\n\t<li>\n\tFix bug where missing property did not use default value.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite200.zip?download\">Release 2.0</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 11 August 2009.\n\t</li>\n\t<li>\n\tMultiple pieces of text can be selected simultaneously by holding control while dragging the mouse.\n\tTyping, backspace and delete may affect all selections together.\n\t</li>\n\t<li>\n\tVirtual space allows selecting beyond the last character on a line.\n\t</li>\n\t<li>\n\tSciTE on GTK+ path bar is now optional and defaults to off.\n\t</li>\n\t<li>\n\tMagikSF lexer recognizes numbers correctly.\n\t</li>\n\t<li>\n\tFolding of Python comments and blank lines improved. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=210240&group_id=2439\">Bug #210240.</a>\n\t</li>\n\t<li>\n\tBug fixed where background colour of last character in document leaked past that character.\n\t</li>\n\t<li>\n\tCrash fixed when adding marker beyond last line in document. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2830307&group_id=2439\">Bug #2830307.</a>\n\t</li>\n\t<li>\n\tResource leak fixed in SciTE for Windows when printing fails. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2816524&group_id=2439\">Bug #2816524.</a>\n\t</li>\n\t<li>\n\tBug fixed on Windows where the system caret was destroyed during destruction when another window\n\twas using the system caret. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2830223&group_id=2439\">Bug #2830223.</a>\n\t</li>\n\t<li>\n\tBug fixed where indentation guides were drawn over text when the indentation used a style with a different\n\tspace width to the default style.\n\t</li>\n\t<li>\n\tSciTE bug fixed where box comment added a bare line feed rather than the chosen line end. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2818104&group_id=2439\">Bug #2818104.</a>\n\t</li>\n\t<li>\n\tReverted fix that led to wrapping whole document when displaying the first line of the document.\n\t</li>\n\t<li>\n\tExport to LaTeX in SciTE fixed to work in more cases and not use as much space. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=1286548&group_id=2439\">Bug #1286548.</a>\n\t</li>\n\t<li>\n\tBug fixed where EN_CHANGE notification was sent when performing a paste operation in a\n\tread-only document. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2825485&group_id=2439\">Bug #2825485.</a>\n\t</li>\n\t<li>\n\tRefactored code so that Scintilla exposes less of its internal implementation and uses the C++ standard\n\tlibrary for some basic collections. Projects that linked to Scintilla's SString or PropSet classes\n\tshould copy this code from a previous version of Scintilla or from SciTE.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite179.zip?download\">Release 1.79</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 1 July 2009.\n\t</li>\n\t<li>\n\tMemory exhaustion and other exceptions handled by placing an error value into the\n\tstatus property rather than crashing.\n\tScintilla now builds with exception handling enabled and requires exception handling to be enabled. <br />\n\tThis is a major change and application developers should consider how they will deal with Scintilla exhausting\n\tmemory since Scintilla may not be in a stable state.\n\t</li>\n\t<li>\n\tDeprecated APIs removed. The symbols removed are:\n\t<ul>\n <li>SCI_SETCARETPOLICY</li>\n<li> CARET_CENTER</li>\n<li> CARET_XEVEN</li>\n<li> CARET_XJUMPS</li>\n<li> SC_FOLDFLAG_BOX</li>\n<li> SC_FOLDLEVELBOXHEADERFLAG</li>\n<li> SC_FOLDLEVELBOXFOOTERFLAG</li>\n<li> SC_FOLDLEVELCONTRACTED</li>\n<li> SC_FOLDLEVELUNINDENT</li>\n<li> SCN_POSCHANGED</li>\n<li> SCN_CHECKBRACE</li>\n<li> SCLEX_ASP</li>\n<li> SCLEX_PHP</li>\n</ul>\n\t</li>\n\t<li>\n\tCocoa platform added.\n\t</li>\n\t<li>\n\tNames of struct types in Scintilla.h now start with \"Sci_\" to avoid possible clashes with platform\n\tdefinitions. Currently, the old names still work but these will be phased out.\n\t</li>\n\t<li>\n\tWhen lines are wrapped, subsequent lines may be indented to match the indent of the initial line,\n\tor one more indentation level. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2796119&group_id=2439\">Feature #2796119.</a>\n\t</li>\n\t<li>\n\tAPIs added for finding the character at a point rather than an inter-character position. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2646738&group_id=2439\">Feature #2646738.</a>\n\t</li>\n\t<li>\n\tA new marker SC_MARK_BACKGROUND_UNDERLINE is drawn in the text area as an underline\n\tthe full width of the window.\n\t</li>\n\t<li>\n\tBatch file lexer understands variables surrounded by '!'.\n\t</li>\n\t<li>\n\tCAML lexer also supports SML.\n\t</li>\n\t<li>\n\tD lexer handles string and numeric literals more accurately. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2793782&group_id=2439\">Feature #2793782.</a>\n\t</li>\n\t<li>\n\tForth lexer is now case-insensitive and better supports numbers like $hex and %binary. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2804894&group_id=2439\">Feature #2804894.</a>\n\t</li>\n\t<li>\n\tLisp lexer treats '[', ']', '{', and '}' as balanced delimiters which is common usage. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2794989&group_id=2439\">Feature #2794989.</a>\n\t<br />\n\tIt treats keyword argument names as being equivalent to symbols. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2794901&group_id=2439\">Feature #2794901.</a>\n\t</li>\n\t<li>\n\tPascal lexer bug fixed to prevent hang when 'interface' near beginning of file. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2802863&group_id=2439\">Bug #2802863.</a>\n\t</li>\n\t<li>\n\tPerl lexer bug fixed where previous lexical states persisted causing \"/\" special case styling and\n\tsubroutine prototype styling to not be correct. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2809168&group_id=2439\">Bug #2809168.</a>\n\t</li>\n\t<li>\n\tXML lexer fixes bug where Unicode entities like '&amp;—' were broken into fragments. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2804760&group_id=2439\">Bug #2804760.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ enables scrolling the tab bar on recent versions of GTK+. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2061821&group_id=2439\">Feature #2061821.</a>\n\t</li>\n\t<li>\n\tSciTE on Windows allows tab bar tabs to be reordered by drag and drop.\n\t</li>\n\t<li>\n\tUnit test script for Scintilla on Windows included with source code.\n\t</li>\n\t<li>\n\tUser defined menu items are now localized when there is a matching translation.\n\t</li>\n\t<li>\n\tWidth of icon column of autocompletion lists on GTK+ made more consistent.\n\t</li>\n\t<li>\n\tBug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2780566&group_id=2439\">Bug #2780566.</a>\n\t</li>\n\t<li>\n\tFolding bugs introduced in 1.78 fixed. Some of the fix was generic and there was also a specific fix for C++.\n\t</li>\n\t<li>\n\tBug fixed where a rectangular paste was not padding the line with sufficient spaces to align the pasted text.\n\t</li>\n\t<li>\n\tBug fixed with showing all text on each line of multi-line annotations when styling the whole annotation using SCI_ANNOTATIONSETSTYLE. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2789430&group_id=2439\">Bug #2789430.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite178.zip?download\">Release 1.78</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 28 April 2009.\n\t</li>\n\t<li>\n\tAnnotation lines may be added to each line.\n\t</li>\n\t<li>\n\tA text margin may be defined with different text on each line.\n\t</li>\n\t<li>\n\tApplication actions may be added to the undo history.\n\t</li>\n\t<li>\n\tCan query the symbol defined for a marker.\n\tAn available symbol added for applications to indicate that plugins may allocate a marker.\n\t</li>\n\t<li>\n\tCan increase the amount of font ascent and descent.\n\t</li>\n\t<li>\n\tCOBOL lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2127406&group_id=2439\">Feature #2127406.</a>\n\t</li>\n\t<li>\n\tNimrod lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2642620&group_id=2439\">Feature #2642620.</a>\n\t</li>\n\t<li>\n\tPowerPro lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2195308&group_id=2439\">Feature #2195308.</a>\n\t</li>\n\t<li>\n\tSML lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2710950&group_id=2439\">Feature #2710950.</a>\n\t</li>\n\t<li>\n\tSORCUS Installation file lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2343375&group_id=2439\">Feature #2343375.</a>\n\t</li>\n\t<li>\n\tTACL lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2127406&group_id=2439\">Feature #2127406.</a>\n\t</li>\n\t<li>\n\tTAL lexer added. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2127406&group_id=2439\">Feature #2127406.</a>\n\t</li>\n\t<li>\n\tRewritten Pascal lexer with improved folding and other fixes. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2190650&group_id=2439\">Feature #2190650.</a>\n\t</li>\n\t<li>\n\tINDIC_ROUNDBOX translucency level can be modified. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2586290&group_id=2439\">Feature #2586290.</a>\n\t</li>\n\t<li>\n\tC++ lexer treats angle brackets in #include directives as quotes when styling.within.preprocessor. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2551033&group_id=2439\">Bug #2551033.</a>\n\t</li>\n\t<li>\n\tInno Setup lexer is sensitive to whether within the [Code] section and handles comments better. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2552973&group_id=2439\">Bug #2552973.</a>\n\t</li>\n\t<li>\n\tHTML lexer does not go into script mode when script tag is self-closing.\n\t</li>\n\t<li>\n\tHTML folder fixed where confused by comments when fold.html.preprocessor off. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2532774&group_id=2439\">Bug #2532774.</a>\n\t</li>\n\t<li>\n\tPerl lexer fixes problem with string matching caused by line endings. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2648342&group_id=2439\">Bug #2648342.</a>\n\t</li>\n\t<li>\n\tProgress lexer fixes problem with \"last-event:function\" phrase. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2483619&group_id=2439\">Bug #2483619.</a>\n\t</li>\n\t<li>\n\tProperties file lexer extended to handle RFC2822 text when lexer.props.allow.initial.spaces on.\n\t</li>\n\t<li>\n\tPython lexer adds options for Python 3 and Cython.\n\t</li>\n\t<li>\n\tShell lexer fixes heredoc problem caused by line endings. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2635257&group_id=2439\">Bug #2635257.</a>\n\t</li>\n\t<li>\n\tTeX lexer handles comment at end of line correctly. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2698766&group_id=2439\">Bug #2698766.</a>\n\t</li>\n\t<li>\n\tSciTE retains selection range when performing a replace selection command. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=352439&aid=2339160&group_id=2439\">Feature #2339160.</a>\n\t</li>\n\t<li>\n\tSciTE definition of word characters fixed to match documentation. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2464531&group_id=2439\">Bug #2464531.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ performing Search or Replace when dialog already shown now brings dialog to foreground.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2634224&group_id=2439\">Bug #2634224.</a>\n\t</li>\n\t<li>\n\tFixed encoding bug with calltips on GTK+.\n\t</li>\n\t<li>\n\tBlock caret drawn in correct place on wrapped lines. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2126144&group_id=2439\">Bug #2126144.</a>\n\t</li>\n\t<li>\n\tCompilation for 64 bit Windows works using MinGW. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2515578&group_id=2439\">Bug #2515578.</a>\n\t</li>\n\t<li>\n\tIncorrect memory freeing fixed on OS X.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2354098&group_id=2439\">Bug #2354098</a>,\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2671749&group_id=2439\">Bug #2671749.</a>\n\t</li>\n\t<li>\n\tSciTE on GTK+ crash fixed on startup when child process exits before initialization complete.\n\t<a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2716987&group_id=2439\">Bug #2716987.</a>\n\t</li>\n\t<li>\n\tCrash fixed when AutoCompleteGetCurrent called with no active autocompletion.\n\t</li>\n\t<li>\n\tFlickering diminished when pressing Tab. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2723006&group_id=2439\">Bug #2723006.</a>\n\t</li>\n\t<li>\n\tNamespace compilation issues with GTK+ on OS X fixed.\n\t</li>\n\t<li>\n\tIncreased maximum length of SciTE's Language menu on GTK+ to 100 items. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2528241&group_id=2439\">Bug #2528241.</a>\n\t</li>\n\t<li>\n\tFixed incorrect Python lexing for multi-line continued strings. <a href=\"https://sourceforge.net/tracker/?func=detail&atid=102439&aid=2450963&group_id=2439\">Bug #2450963.</a>\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite177.zip?download\">Release 1.77</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 18 October 2008.\n\t</li>\n\t<li>\n\tDirect temporary access to Scintilla's text buffer to allow simple efficient interfacing\n\tto libraries like regular expression libraries.\n\t</li>\n\t<li>\n\tScintilla on Windows can interpret keys as Unicode even when a narrow character\n\twindow with SCI_SETKEYSUNICODE.\n\t</li>\n\t<li>\n\tNotification sent when autocompletion cancelled.\n\t</li>\n\t<li>\n\tMySQL lexer added.\n\t</li>\n\t<li>\n\tLexer for gettext .po files added.\n\t</li>\n\t<li>\n\tAbaqus lexer handles program structure more correctly.\n\t</li>\n\t<li>\n\tAssembler lexer works with non-ASCII text.\n\t</li>\n\t<li>\n\tC++ lexer allows mixed case doc comment tags.\n\t</li>\n\t<li>\n\tCSS lexer updated and works with non-ASCII.\n\t</li>\n\t<li>\n\tDiff lexer adds style for changed lines, handles subversion diffs better and\n\tfixes styling and folding for lines containing chunk dividers (\"---\").\n\t</li>\n\t<li>\n\tFORTRAN lexer accepts more styles of compiler directive.\n\t</li>\n\t<li>\n\tHaskell lexer allows hexadecimal literals.\n\t</li>\n\t<li>\n\tHTML lexer improves PHP and JavaScript folding.\n\tPHP heredocs, nowdocs, strings and comments processed more accurately.\n\tInternet Explorer's non-standard &gt;comment&lt; tag supported.\n\tScript recognition in XML can be controlled with lexer.xml.allow.scripts property.\n\t</li>\n\t<li>\n\tLua lexer styles last character correctly.\n\t</li>\n\t<li>\n\tPerl lexer update.\n\t</li>\n\t<li>\n\tComment folding implemented for Ruby.\n\t</li>\n\t<li>\n\tBetter TeX folding.\n\t</li>\n\t<li>\n\tVerilog lexer updated.\n\t</li>\n\t<li>\n\tWindows Batch file lexer handles %~ and %*.\n\t</li>\n\t<li>\n\tYAML lexer allows non-ASCII text.\n\t</li>\n\t<li>\n\tSciTE on GTK+ implements \"Replace in Buffers\" in advanced mode.\n\t</li>\n\t<li>\n\tThe extender OnBeforeSave method can override the default file saving behaviour by retuning true.\n\t</li>\n\t<li>\n\tWindow position and recent files list may be saved into the session file.\n\t</li>\n\t<li>\n\tRight button press outside the selection moves the caret.\n\t</li>\n\t<li>\n\tSciTE load.on.activate works when closing a document reveals a changed document.\n\t</li>\n\t<li>\n\tSciTE bug fixed where eol.mode not used for initial buffer.\n\t</li>\n\t<li>\n\tSciTE bug fixed where a file could be saved as the same name as another\n\tbuffer leading to confusing behaviour.\n\t</li>\n\t<li>\n\tFixed display bug for long lines in same style on Windows.\n\t</li>\n\t<li>\n\tFixed SciTE crash when finding matching preprocessor command used on some files.\n\t</li>\n\t<li>\n\tDrawing performance improved for files with many blank lines.\n\t</li>\n\t<li>\n\tFolding bugs fixed where changing program text produced a decrease in fold level on a fold header line.\n\t</li>\n\t<li>\n\tClearing document style now clears all indicators.\n\t</li>\n\t<li>\n\tSciTE's embedded Lua updated to 5.1.4.\n\t</li>\n\t<li>\n\tSciTE will compile with versions of GTK+ before 2.8 again.\n\t</li>\n\t<li>\n\tSciTE on GTK+ bug fixed where multiple files not opened.\n\t</li>\n\t<li>\n\tBug fixed with SCI_VCHOMEWRAP and SCI_VCHOMEWRAPEXTEND on white last line.\n\t</li>\n\t<li>\n\tRegular expression bug fixed where \"^[^(]+$\" matched empty lines.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite176.zip?download\">Release 1.76</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 16 March 2008.\n\t</li>\n\t<li>\n\tSupport for PowerShell.\n\t</li>\n\t<li>\n\tLexer added for Magik.\n\t</li>\n\t<li>\n\tDirector extension working on GTK+.\n\t</li>\n\t<li>\n\tDirector extension may set focus to SciTE through \"focus:\" message on GTK+.\n\t</li>\n\t<li>\n\tC++ folder handles final line better in some cases.\n\t</li>\n\t<li>\n\tSCI_COPYALLOWLINE added which is similar to SCI_COPY except that if the selection is empty then\n\tthe line holding the caret is copied. On Windows an extra clipboard format allows pasting this as a whole\n\tline before the current selection. This behaviour is compatible with Visual Studio.\n\t</li>\n\t<li>\n\tOn Windows, the horizontal scroll bar can handle wider files.\n\t</li>\n\t<li>\n\tOn Windows, a system palette leak was fixed. Should not affect many as palette mode is rarely used.\n\t</li>\n\t<li>\n\tInstall command on GTK+ no longer tries to set explicit owner.\n\t</li>\n\t<li>\n\tPerl lexer handles defined-or operator \"//\".\n\t</li>\n\t<li>\n\tOctave lexer fixes \"!=\" operator.\n\t</li>\n\t<li>\n\tOptimized selection change drawing to not redraw as much when not needed.\n\t</li>\n\t<li>\n\tSciTE on GTK+ no longer echoes Lua commands so is same as on Windows.\n\t</li>\n\t<li>\n\tAutomatic vertical scrolling limited to one line at a time so is not too fast.\n\t</li>\n\t<li>\n\tCrash fixed when line states set beyond end of line states. This occurred when lexers did not\n\tset a line state for each line.\n\t</li>\n\t<li>\n\tCrash in SciTE on Windows fixed when search for 513 character string fails.\n\t</li>\n\t<li>\n\tSciTE disables translucent features on Windows 9x due to crashes reported when using translucency.\n\t</li>\n\t<li>\n\tBug fixed where whitespace background was not seen on wrapped lines.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite175.zip?download\">Release 1.75</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 22 November 2007.\n\t</li>\n\t<li>\n\tSome WordList and PropSet functionality moved from Scintilla to SciTE.\n\tProjects that link to Scintilla's code for these classes may need to copy\n\tcode from SciTE.\n\t</li>\n\t<li>\n\tBorland C++ can no longer build Scintilla.\n\t</li>\n\t<li>\n\tInvalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to\n\tpassing invalid UTF-8 to platform calls.\n\t</li>\n\t<li>\n\tIndentation guides enhanced to be visible on completely empty lines when possible.\n\t</li>\n\t<li>\n\tThe horizontal scroll bar may grow to match the widest line displayed.\n\t</li>\n\t<li>\n\tAllow autocomplete pop ups to appear outside client rectangle in some cases.\n\t</li>\n\t<li>\n\tWhen line state changed, SC_MOD_CHANGELINESTATE modification notification sent and\n\tmargin redrawn.\n\t</li>\n\t<li>\n\tSciTE scripts can access the menu command values IDM_*.\n\t</li>\n\t<li>\n\tSciTE's statement.end property has been implemented again.\n\t</li>\n\t<li>\n\tSciTE shows paths and matches in different styles for Find In Files.\n\t</li>\n\t<li>\n\tIncremental search in SciTE for Windows is modeless to make it easier to exit.\n\t</li>\n\t<li>\n\tFolding performance improved.\n\t</li>\n\t<li>\n\tSciTE for GTK+ now includes a Browse button in the Find In Files dialog.\n\t</li>\n\t<li>\n\tOn Windows versions that support Unicode well, Scintilla is a wide character window\n\twhich allows input for some less common languages like Armenian, Devanagari,\n\tTamil, and Georgian. To fully benefit, applications should use wide character calls.\n\t</li>\n\t<li>\n\tLua function names are exported from SciTE to allow some extension libraries to work.\n\t</li>\n\t<li>\n\tLexers added for Abaqus, Ansys APDL, Asymptote, and R.\n\t</li>\n\t<li>\n\tSCI_DELWORDRIGHTEND added for closer compatibility with GTK+ entry widget.\n\t</li>\n\t<li>\n\tThe styling buffer may now use all 8 bits in each byte for lexical states with 0 bits for indicators.\n\t</li>\n\t<li>\n\tMultiple characters may be set for SciTE's calltip.&lt;lexer&gt;.parameters.start property.\n\t</li>\n\t<li>\n\tBash lexer handles octal literals.\n\t</li>\n\t<li>\n\tC++/JavaScript lexer recognizes regex literals in more situations.\n\t</li>\n\t<li>\n\tHaskell lexer fixed for quoted strings.\n\t</li>\n\t<li>\n\tHTML/XML lexer does not notice XML indicator if there is\n\tnon-whitespace between the \"&lt;?\" and \"XML\".\n\tASP problem fixed where &lt;/ is used inside a comment.\n\t</li>\n\t<li>\n\tError messages from Lua 5.1 are recognized.\n\t</li>\n\t<li>\n\tFolding implemented for Metapost.\n\t</li>\n\t<li>\n\tPerl lexer enhanced for handling minus-prefixed barewords,\n\tunderscores in numeric literals and vector/version strings,\n\t^D and ^Z similar to __END__,\n\tsubroutine prototypes as a new lexical class,\n\tformats and format blocks as new lexical classes, and\n\t'/' suffixed keywords and barewords.\n\t</li>\n\t<li>\n\tPython lexer styles all of a decorator in the decorator style rather than just the name.\n\t</li>\n\t<li>\n\tYAML lexer styles colons as operators.\n\t</li>\n\t<li>\n\tFixed SciTE bug where undo would group together multiple separate modifications.\n\t</li>\n\t<li>\n\tBug fixed where setting background colour of calltip failed.\n\t</li>\n\t<li>\n\tSciTE allows wildcard suffixes for file pattern based properties.\n\t</li>\n\t<li>\n\tSciTE on GTK+ bug fixed where user not prompted to save untitled buffer.\n\t</li>\n\t<li>\n\tSciTE bug fixed where property values from one file were not seen by lower priority files.\n\t</li>\n\t<li>\n\tBug fixed when showing selection with a foreground colour change which highlighted\n\tan incorrect range in some positions.\n\t</li>\n\t<li>\n\tCut now invokes SCN_MODIFYATTEMPTRO notification.\n\t</li>\n\t<li>\n\tBug fixed where caret not shown at beginning of wrapped lines.\n\tCaret made visible in some cases after wrapping and scroll bar updated after wrapping.\n\t</li>\n\t<li>\n\tModern indicators now work on wrapped lines.\n\t</li>\n\t<li>\n\tSome crashes fixed for 64-bit GTK+.\n\t</li>\n\t<li>\n\tOn GTK+ clipboard features improved for VMWare tools copy and paste.\n\tSciTE exports the clipboard more consistently on shut down.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite174.zip?download\">Release 1.74</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 18 June 2007.\n\t</li>\n\t<li>\n\tOS X support.\n\t</li>\n\t<li>\n\tIndicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits\n\tof styling bytes is deprecated and will be removed in the next version.\n\t</li>\n\t<li>\n\tUnicode support extended to all Unicode characters not just the Basic Multilingual Plane.\n\t</li>\n\t<li>\n\tPerformance improved on wide lines by breaking long runs in a single style into shorter segments.\n\t</li>\n\t<li>\n\tPerformance improved by caching layout of short text segments.\n\t</li>\n\t<li>\n\tSciTE includes Lua 5.1.\n\t</li>\n\t<li>\n\tCaret may be displayed as a block.\n\t</li>\n\t<li>\n\tLexer added for GAP.\n\t</li>\n\t<li>\n\tLexer added for PL/M.\n\t</li>\n\t<li>\n\tLexer added for Progress.\n\t</li>\n\t<li>\n\tSciTE session files have changed format to be like other SciTE .properties files\n\tand now use the extension .session.\n\tBookmarks and folds may optionally be saved in session files.\n\tSession files created with previous versions of SciTE will not load into this version.\n\t</li>\n\t<li>\n\tSciTE's extension and scripting interfaces add OnKey, OnDwellStart, and OnClose methods.\n\t</li>\n\t<li>\n\tOn GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when\n\tpasting into Open Office.\n\t</li>\n\t<li>\n\tOn GTK+, Scintilla defaults caret blink rate to platform preference.\n\t</li>\n\t<li>\n\tDragging does not start until the mouse has been dragged a certain amount.\n\tThis stops spurious drags when just clicking inside the selection.\n\t</li>\n\t<li>\n\tBug fixed where brace highlight not shown when caret line background set.\n\t</li>\n\t<li>\n\tBug fixed in Ruby lexer where out of bounds access could occur.\n\t</li>\n\t<li>\n\tBug fixed in XML folding where tags were not being folded because they are singletons in HTML.\n\t</li>\n\t<li>\n\tBug fixed when many font names used.\n\t</li>\n\t<li>\n\tLayout bug fixed on GTK+ where fonts have ligatures available.\n\t</li>\n\t<li>\n\tBug fixed with SCI_LINETRANSPOSE on a blank line.\n\t</li>\n\t<li>\n\tSciTE hang fixed when using UNC path with directory properties feature.\n\t</li>\n\t<li>\n\tBug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it\n\tcan work when source only provides Unicode or when using an encoding different from the\n\tsystem default.\n\t</li>\n\t<li>\n\tSciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started.\n\t</li>\n\t<li>\n\tSciTE bug on GTK+ fixed where mouse wheel was not switching between buffers.\n\t</li>\n\t<li>\n\tMinor line end fix to PostScript lexer.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite173.zip?download\">Release 1.73</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 31 March 2007.\n\t</li>\n\t<li>\n\tSciTE adds a Directory properties file to configure behaviour for files in a directory and its subdirectories.\n\t</li>\n\t<li>\n\tStyle changes may be made during text modification events.\n\t</li>\n\t<li>\n\tRegular expressions recognize \\d, \\D, \\s, \\S, \\w, \\W, and \\xHH.\n\t</li>\n\t<li>\n\tSupport for cmake language added.\n\t</li>\n\t<li>\n\tMore Scintilla properties can be queried.\n\t</li>\n\t<li>\n\tEdge line drawn under text.\n\t</li>\n\t<li>\n\tA savesession command added to SciTE director interface.\n\t</li>\n\t<li>\n\tSciTE File | Encoding menu item names changed to be less confusing.\n\t</li>\n\t<li>\n\tSciTE on GTK+ dialog buttons reordered to follow guidelines.\n\t</li>\n\t<li>\n\tSciTE on GTK+ removed GTK+ 1.x compatible file dialog code.\n\t</li>\n\t<li>\n\tSciTE on GTK+ recognizes key names KeypadMultiply and KeypadDivide.\n\t</li>\n\t<li>\n\tBackground colour of line wrapping visual flag changed to STYLE_DEFAULT.\n\t</li>\n\t<li>\n\tMakefile lexing enhanced for ':=' operator and when lines start with tab.\n\t</li>\n\t<li>\n\tTADS3 lexer and folder improved.\n\t</li>\n\t<li>\n\tSCN_DOUBLECLICK notification may set SCI_SHIFT, SCI_CTRL, and SCI_ALT flags on modifiers field.\n\t</li>\n\t<li>\n\tSlow folding of large constructs in Python fixed.\n\t</li>\n\t<li>\n\tMSSQL folding fixed to be case-insensitive and fold at more keywords.\n\t</li>\n\t<li>\n\tSciTE's brace matching works better for HTML.\n\t</li>\n\t<li>\n\tDetermining API list items checks for specified parameters start character before default '('.\n\t</li>\n\t<li>\n\tHang fixed in HTML lexer.\n\t</li>\n\t<li>\n\tBug fixed in with LineTranspose command where markers could move to different line.\n\t</li>\n\t<li>\n\tMemory released when buffer completely emptied.\n\t</li>\n\t<li>\n\tIf translucency not available on Windows, draw rectangular outline instead.\n\t</li>\n\t<li>\n\tBash lexer handles \"-x\" in \"--x-includes...\" better.\n\t</li>\n\t<li>\n\tAutoIt3 lexer fixes string followed by '+'.\n\t</li>\n\t<li>\n\tLinesJoin fixed where it stopped early due to not adjusting for inserted spaces..\n\t</li>\n\t<li>\n\tStutteredPageDown fixed when lines wrapped.\n\t</li>\n\t<li>\n\tFormatRange fixed to not double count line number width which could lead to a large space.\n\t</li>\n\t<li>\n\tSciTE Export As PDF and Latex commands fixed to format floating point numbers with '.' even in locales\n\tthat use ','.\n\t</li>\n\t<li>\n\tSciTE bug fixed where File | New could produce buffer with contents of previous file when using read-only mode.\n\t</li>\n\t<li>\n\tSciTE retains current scroll position when switching buffers and fold.on.open set.\n\t</li>\n\t<li>\n\tSciTE crash fixed where '*' used to invoke parameters dialog.\n\t</li>\n\t<li>\n\tSciTE bugs when writing large UCS-2 files fixed.\n\t</li>\n\t<li>\n\tBug fixed when scrolling inside a SCN_PAINTED event by invalidating window\n\trather than trying to perform synchronous painting.\n\t</li>\n\t<li>\n\tSciTE for GTK+ View | Full Screen works on recent versions of GTK+.\n\t</li>\n\t<li>\n\tSciTE for Windows enables and disables toolbar commands correctly.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite172.zip?download\">Release 1.72</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 15 January 2007.\n\t</li>\n\t<li>\n\tPerformance of per-line data improved.\n\t</li>\n\t<li>\n\tSC_STARTACTION flag set on the first modification notification in an undo\n\ttransaction to help synchronize the container's undo stack with Scintilla's.\n\t</li>\n\t<li>\n\tOn GTK+ drag and drop defaults to move rather than copy.\n\t</li>\n\t<li>\n\tScintilla supports extending appearance of selection to right hand margin.\n\t</li>\n\t<li>\n\tIncremental search available on GTK+.\n\t</li>\n\t<li>\n\tSciTE Indentation Settings dialog available on GTK+ and adds a \"Convert\" button.\n\t</li>\n\t<li>\n\tFind in Files can optionally ignore binary files or directories that start with \".\".\n\t</li>\n\t<li>\n\tLexer added for \"D\" language.\n\t</li>\n\t<li>\n\tExport as HTML shows folding with underline lines and +/- symbols.\n\t</li>\n\t<li>\n\tRuby lexer interprets interpolated strings as expressions.\n\t</li>\n\t<li>\n\tLua lexer fixes some cases of numeric literals.\n\t</li>\n\t<li>\n\tC++ folder fixes bug with \"@\" in doc comments.\n\t</li>\n\t<li>\n\tNSIS folder handles !if and related commands.\n\t</li>\n\t<li>\n\tInno setup lexer adds styling for single and double quoted strings.\n\t</li>\n\t<li>\n\tMatlab lexer handles backslashes in string literals correctly.\n\t</li>\n\t<li>\n\tHTML lexer fixed to allow \"?&gt;\" in comments in Basic script.\n\t</li>\n\t<li>\n\tAdded key codes for Windows key and Menu key.\n\t</li>\n\t<li>\n\tLua script method scite.MenuCommand(x) performs a menu command.\n\t</li>\n\t<li>\n\tSciTE bug fixed with box comment command near start of file setting selection to end of file.\n\t</li>\n\t<li>\n\tSciTE on GTK+, fixed loop that occurred with automatic loading for an unreadable file.\n\t</li>\n\t<li>\n\tSciTE asks whether to save files when Windows shuts down.\n\t</li>\n\t<li>\n\tSave Session on Windows now defaults the extension to \"ses\".\n\t</li>\n\t<li>\n\tBug fixed with single character keywords.\n\t</li>\n\t<li>\n\tFixed infinite loop for SCI_GETCOLUMN for position beyond end of document.\n\t</li>\n\t<li>\n\tFixed failure to accept typing on Solaris/GTK+ when using default ISO-8859-1 encoding.\n\t</li>\n\t<li>\n\tFixed warning from Lua in SciTE when creating a new buffer when already have\n\tmaximum number of buffers open.\n\t</li>\n\t<li>\n\tCrash fixed with \"%%\" at end of batch file.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite171.zip?download\">Release 1.71</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 21 August 2006.\n\t</li>\n\t<!--li>\n\tOn GTK+ drag and drop defaults to move rather than copy.\n\t</li-->\n\t<li>\n\tDouble click notification includes line and position.\n\t</li>\n\t<li>\n\tVB lexer bugs fixed for preprocessor directive below a comment or some other states and\n\tto use string not closed style back to the starting quote when there are internal doubled quotes.\n\t</li>\n\t<li>\n\tC++ lexer allows identifiers to contain '$' and non-ASCII characters such as UTF-8.\n\tThe '$' character can be disallowed with lexer.cpp.allow.dollars=0.\n\t</li>\n\t<li>\n\tPerl lexer allows UTF-8 identifiers and has some other small improvements.\n\t</li>\n\t<li>\n\tSciTE's $(CurrentWord) uses word.characters.&lt;filepattern&gt; to define the word\n\trather than a hardcoded list of word characters.\n\t</li>\n\t<li>\n\tSciTE Export as HTML adds encoding information for UTF-8 file and fixes DOCTYPE.\n\t</li>\n\t<li>\n\tSciTE session and .recent files default to the user properties directory rather than global\n\tproperties directory.\n\t</li>\n\t<li>\n\tLeft and right scroll events handled correctly on GTK+ and horizontal scroll bar has more sensible\n\tdistances for page and arrow clicks.\n\t</li>\n\t<li>\n\tSciTE on GTK+ tab bar fixed to work on recent versions of GTK+.\n\t</li>\n\t<li>\n\tOn GTK+, if the approximate character set conversion is unavailable, a second attempt is made\n\twithout approximations. This may allow keyboard input and paste to work on older systems.\n\t</li>\n\t<li>\n\tSciTE on GTK+ can redefine the Insert key.\n\t</li>\n\t<li>\n\tSciTE scripting interface bug fixed where some string properties could not be changed.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite170.zip?download\">Release 1.70</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 20 June 2006.\n\t</li>\n\t<li>\n\tOn GTK+, character set conversion is performed using an option that allows approximate conversions rather\n\tthan failures when a character can not be converted. This may lead to similar characters being inserted or\n\twhen no similar character is available a '?' may be inserted.\n\t</li>\n\t<li>\n\tOn GTK+, the internationalized IM (Input Method) feature is used for all typed input for all character sets.\n\t</li>\n\t<li>\n\tScintilla has new margin types SC_MARGIN_BACK and SC_MARGIN_FORE that use the default\n\tstyle's background and foreground colours (normally white and black) as the background to the margin.\n\t</li>\n\t<li>\n\tScintilla/GTK+ allows file drops on Windows when drop is of type DROPFILES_DND\n\tas well as text/uri-list.\n\t</li>\n\t<li>\n\tCode page can only be set to one of the listed valid values.\n\t</li>\n\t<li>\n\tText wrapping fixed for cases where insertion was not wide enough to trigger\n\twrapping before being styled but was after styling.\n\t</li>\n\t<li>\n\tSciTE find marks are removed before printing or exporting to avoid producing incorrect styles.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite169.zip?download\">Release 1.69</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 29 May 2006.\n\t</li>\n\t<li>\n\tSciTE supports z-order based buffer switching on Ctrl+Tab.\n\t</li>\n\t<li>\n\tTranslucent support for selection and whole line markers.\n\t</li>\n\t<li>\n\tSciTE may have per-language abbreviations files.\n\t</li>\n\t<li>\n\tSupport for Spice language.\n\t</li>\n\t<li>\n\tOn GTK+ autocompletion lists are optimized and use correct selection colours.\n\t</li>\n\t<li>\n\tOn GTK+ the URI data type is preferred in drag and drop so that applications\n\twill see files dragged from the shell rather than dragging the text of the file name\n\tinto the document.\n\t</li>\n\t<li>\n\tIncreased number of margins to 5.\n\t</li>\n\t<li>\n\tBasic lexer allows include directive $include: \"file name\".\n\t</li>\n\t<li>\n\tSQL lexer no longer bases folding on indentation.\n\t</li>\n\t<li>\n\tLine ends are transformed when copied to clipboard on\n\tWindows/GTK+2 as well as Windows/GTK+ 1.\n\t</li>\n\t<li>\n\tLexing code masks off the indicator bits on the start style before calling the lexer\n\tto avoid confusing the lexer when an application has used an indicator.\n\t</li>\n\t<li>\n\tSciTE savebefore:yes only saves the file when it has been changed.\n\t</li>\n\t<li>\n\tSciTE adds output.initial.hide setting to allow setting the size of the output pane\n\twithout it showing initially.\n\t</li>\n\t<li>\n\tSciTE on Windows Go To dialog allows line number with more digits.\n\t</li>\n\t<li>\n\tBug in HTML lexer fixed where a segment of PHP could switch scripting language\n\tbased on earlier text on that line.\n\t</li>\n\t<li>\n\tMemory bug fixed when freeing regions on GTK+.\n\tOther minor bugs fixed on GTK+.\n\t</li>\n\t<li>\n\tDeprecated GTK+ calls in Scintilla replaced with current calls.\n\t</li>\n\t<li>\n\tFixed a SciTE bug where closing the final buffer, if read-only, left the text present in an\n\tuntitled buffer.\n\t</li>\n\t<li>\n\tBug fixed in bash lexer that prevented folding.\n\t</li>\n\t<li>\n\tCrash fixed in bash lexer when backslash at end of file.\n\t</li>\n\t<li>\n\tCrash on recent releases of GTK+ 2.x avoided by changing default font from X\n\tcore font to Pango font \"!Sans\".\n\t</li>\n\t<li>\n\tFix for SciTE properties files where multiline properties continued over completely blank lines.\n\t</li>\n\t<li>\n\tBug fixed in SciTE/GTK+ director interface where more data available than\n\tbuffer size.\n\t</li>\n\t<li>\n\tMinor visual fixes to SciTE splitter on GTK+.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite168.zip?download\">Release 1.68</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 9 March 2006.\n\t</li>\n\t<li>\n\tTranslucent drawing implemented for caret line and box indicators.\n\t</li>\n\t<li>\n\tLexer specifically for TCL is much more accurate than reusing C++ lexer.\n\t</li>\n\t<li>\n\tSupport for Inno Setup scripts.\n\t</li>\n\t<li>\n\tSupport for Opal language.\n\t</li>\n\t<li>\n\tCalltips may use a new style, STYLE_CALLTIP which allows choosing a\n\tdifferent font for calltips.\n\t</li>\n\t<li>\n\tPython lexer styles comments on decorators.\n\t</li>\n\t<li>\n\tHTML lexer refined handling of \"?>\" and \"%>\" within server\n\tside scripts.\n\t</li>\n\t<li>\n\tBatch file lexer improved.\n\t</li>\n\t<li>\n\tEiffel lexer doesn't treat '.' as a name character.\n\t</li>\n\t<li>\n\tLua lexer handles length operator, #, and hex literals.\n\t</li>\n\t<li>\n\tProperties file lexer has separate style for keys.\n\t</li>\n\t<li>\n\tPL/SQL folding improved.\n\t</li>\n\t<li>\n\tSciTE Replace dialog always searches in forwards direction.\n\t</li>\n\t<li>\n\tSciTE can detect language of file from initial #! line.\n\t</li>\n\t<li>\n\tSciTE on GTK+ supports output.scroll=2 setting.\n\t</li>\n\t<li>\n\tSciTE can perform an import a properties file from the command line.\n\t</li>\n\t<li>\n\tSet of word characters used for regular expression \\&lt; and \\&gt;.\n\t</li>\n\t<li>\n\tBug fixed with SCI_COPYTEXT stopping too early.\n\t</li>\n\t<li>\n\tBug fixed with splitting lines so that all lines are split.\n\t</li>\n\t<li>\n\tSciTE calls OnSwitchFile when closing one buffer causes a switch to another.\n\t</li>\n\t<li>\n\tSciTE bug fixed where properties were being reevaluated without good reason\n\tafter running a macro.\n\t</li>\n\t<li>\n\tCrash fixed when clearing document with some lines contracted in word wrap mode.\n\t</li>\n\t<li>\n\tPalette expands as more entries are needed.\n\t</li>\n\t<li>\n\tSCI_POSITIONFROMPOINT returns more reasonable value when close to\n\tlast text on a line.\n\t</li>\n\t<li>\n\tOn Windows, long pieces of text may be drawn in segments if they fail to draw\n\tas a whole.\n\t</li>\n\t<li>\n\tBug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI\n\tnotification.\n\t</li>\n\t<li>\n\tSciTE bug fixed with groupundo setting.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite167.zip?download\">Release 1.67</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 17 December 2005.\n\t</li>\n\t<li>\n\tScintilla checks the paint region more accurately when seeing if an area is being\n\trepainted. Platform layer implementations may need to change for this to take\n\teffect. This fixes some drawing and styling bugs. Also optimized some parts of\n\tmarker code to only redraw the line of the marker rather than whole of the margin.\n\t</li>\n\t<li>\n\tQuoted identifier style for SQL. SQL folding performed more simply.\n\t</li>\n\t<li>\n\tRuby lexer improved to better handle here documents and non-ASCII\n\tcharacters.\n\t</li>\n\t<li>\n\tLua lexer supports long string and block comment syntax from Lua 5.1.\n\t</li>\n\t<li>\n\tBash lexer handles here documents better.\n\t</li>\n\t<li>\n\tJavaScript lexing recognizes regular expressions more accurately and includes flag\n\tcharacters in the regular expression style. This is both in JavaScript files and when\n\tJavaScript is embedded in HTML.\n\t</li>\n\t<li>\n\tScintilla API provided to reveal how many style bits are needed for the\n\tcurrent lexer.\n\t</li>\n\t<li>\n\tSelection duplicate added.\n\t</li>\n\t<li>\n\tScintilla API for adding a set of markers to a line.\n\t</li>\n\t<li>\n\tDBCS encodings work on Windows 9x.\n\t</li>\n\t<li>\n\tConvention defined for property names to be used by lexers and folders\n\tso they can be automatically discovered and forwarded from containers.\n\t</li>\n\t<li>\n\tDefault bookmark in SciTE changed to a blue sphere image.\n\t</li>\n\t<li>\n\tSciTE stores the time of last asking for a save separately for each buffer\n\twhich fixes bugs with automatic reloading.\n\t</li>\n\t<li>\n\tOn Windows, pasted text has line ends converted to current preference.\n\tGTK+ already did this.\n\t</li>\n\t<li>\n\tKid template language better handled by HTML lexer by finishing ASP Python\n\tmode when a ?> is found.\n\t</li>\n\t<li>\n\tSciTE counts number of characters in a rectangular selection correctly.\n\t</li>\n\t<li>\n\t64-bit compatibility improved. One change that may affect user code is that\n\tthe notification message header changed to include a pointer-sized id field\n\tto match the current Windows definition.\n\t</li>\n\t<li>\n\tEmpty ranges can no longer be dragged.\n\t</li>\n\t<li>\n\tCrash fixed when calls made that use layout inside the painted notification.\n\t</li>\n\t<li>\n\tBug fixed where Scintilla created pixmap buffers that were too large leading\n\tto failures when many instances used.\n\t</li>\n\t<li>\n\tSciTE sets the directory of a new file to the directory of the currently\n\tactive file.\n\t</li>\n\t<li>\n\tSciTE allows choosing a code page for the output pane.\n\t</li>\n\t<li>\n\tSciTE HTML exporter no longer honours monospaced font setting.\n\t</li>\n\t<li>\n\tLine layout cache in page mode caches the line of the caret. An assertion is\n\tnow used to ensure that the layout reentrancy problem that caused this\n\tis easier to find.\n\t</li>\n\t<li>\n\tSpeed optimized for long lines and lines containing many control characters.\n\t</li>\n\t<li>\n\tBug fixed in brace matching in DBCS files where byte inside character\n\tis same as brace.\n\t</li>\n\t<li>\n\tIndent command does not indent empty lines.\n\t</li>\n\t<li>\n\tSciTE bug fixed for commands that operate on files with empty extensions.\n\t</li>\n\t<li>\n\tSciTE bug fixed where monospaced option was copied for subsequently opened files.\n\t</li>\n\t<li>\n\tSciTE on Windows bug fixed in the display of a non-ASCII search string\n\twhich can not be found.\n\t</li>\n\t<li>\n\tBugs fixed with nested calls displaying a new calltip while one is already\n\tdisplayed.\n\t</li>\n\t<li>\n\tBug fixed when styling PHP strings.\n\t</li>\n\t<li>\n\tBug fixed when styling C++ continued preprocessor lines.\n\t</li>\n\t<li>\n\tSciTE bug fixed where opening file from recently used list reset choice of\n\tlanguage.\n\t</li>\n\t<li>\n\tSciTE bug fixed when compiled with NO_EXTENSIONS and\n\tclosing one file closes the application.\n\t</li>\n\t<li>\n\tSciTE crash fixed for error messages that look like Lua messages but aren't\n\tin the same order.\n\t</li>\n\t<li>\n\tRemaining fold box support deprecated. The symbols SC_FOLDLEVELBOXHEADERFLAG,\n   SC_FOLDLEVELBOXFOOTERFLAG, SC_FOLDLEVELCONTRACTED,\n   SC_FOLDLEVELUNINDENT, and SC_FOLDFLAG_BOX are deprecated.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite166.zip?download\">Release 1.66</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 26 August 2005.\n\t</li>\n\t<li>\n\tNew, more ambitious Ruby lexer.\n\t</li>\n\t<li>\n\tSciTE Find in Files dialog has options for matching case and whole words which are\n\tenabled when the internal find command is used.\n\t</li>\n\t<li>\n\tSciTE output pane can display automatic completion after \"$(\" typed.\n\tAn initial \">\" on a line is ignored when Enter pressed.\n\t</li>\n\t<li>\n\tC++ lexer recognizes keywords within line doc comments. It continues styles over line\n\tend characters more consistently so that eolfilled style can be used for preprocessor lines\n\tand line comments.\n\t</li>\n\t<li>\n\tVB lexer improves handling of file numbers and date literals.\n\t</li>\n\t<li>\n\tLua folder handles repeat until, nested comments and nested strings.\n\t</li>\n\t<li>\n\tPOV lexer improves handling of comment lines.\n\t</li>\n\t<li>\n\tAU3 lexer and folder updated. COMOBJ style added.\n\t</li>\n\t<li>\n\tBug fixed with text display on GTK+ with Pango 1.8.\n\t</li>\n\t<li>\n\tCaret painting avoided when not focused.\n\t</li>\n\t<li>\n\tSciTE on GTK+ handles file names used to reference properties as case-sensitive.\n\t</li>\n\t<li>\n\tSciTE on GTK+ Save As and Export commands set the file name field.\n\tOn GTK+ the Export commands modify the file name in the same way as on Windows.\n\t</li>\n\t<li>\n\tFixed SciTE problem where confirmation was not displaying when closing a file where all\n\tcontents had been deleted.\n\t</li>\n\t<li>\n\tMiddle click on SciTE tab now closes correct buffer on Windows when tool bar is visible.\n\t</li>\n\t<li>\n\tSciTE bugs fixed where files contained in directory that includes '.' character.\n\t</li>\n\t<li>\n\tSciTE bug fixed where import in user options was reading file from directory of\n\tglobal options.\n\t</li>\n\t<li>\n\tSciTE calltip bug fixed where single line calltips had arrow displayed incorrectly.\n\t</li>\n\t<li>\n\tSciTE folding bug fixed where empty lines were shown for no reason.\n\t</li>\n\t<li>\n\tBug fixed where 2 byte per pixel XPM images caused crash although they are still not\n\tdisplayed.\n\t</li>\n\t<li>\n\tAutocompletion list size tweaked.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite165.zip?download\">Release 1.65</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 1 August 2005.\n\t</li>\n\t<li>\n\tFreeBasic support.\n\t</li>\n\t<li>\n\tSciTE on Windows handles command line arguments\n\t\"-\" (read standard input into buffer),\n\t\"--\" (read standard input into output pane) and\n\t\"-@\" (read file names from standard input and open each).\n\t</li>\n\t<li>\n\tSciTE includes a simple implementation of Find in Files which is used if no find.command is set.\n\t</li>\n\t<li>\n\tSciTE can close tabs with a mouse middle click.\n\t</li>\n\t<li>\n\tSciTE includes a save.all.for.build setting.\n\t</li>\n\t<li>\n\tFolder for MSSQL.\n\t</li>\n\t<li>\n\tBatch file lexer understands more of the syntax and the behaviour of built in commands.\n\t</li>\n\t<li>\n\tPerl lexer handles here docs better; disambiguates barewords, quote-like delimiters, and repetition operators;\n\thandles Pods after __END__; recognizes numbers better; and handles some typeglob special variables.\n\t</li>\n\t<li>\n\tLisp adds more lexical states.\n\t</li>\n\t<li>\n\tPHP allows spaces after &lt;&lt;&lt;.\n\t</li>\n\t<li>\n\tTADS3 has a simpler set of states and recognizes identifiers.\n\t</li>\n\t<li>\n\tAvenue elseif folds better.\n\t</li>\n\t<li>\n\tErrorlist lexer treats lines starting with '+++' and '---' as separate\n\tstyles from '+' and '-' as they indicate file names in diffs.\n\t</li>\n\t<li>\n\tSciTE error recognizer handles file paths in extra explanatory lines from MSVC\n\tand in '+++' and '---' lines from diff.\n\t</li>\n\t<li>\n\tBugs fixed in SciTE and Scintilla folding behaviour when text pasted before\n\tfolded text caused unnecessary\n\tunfolding and cutting text could lead to text being irretrievably hidden.\n\t</li>\n\t<li>\n\tSciTE on Windows uses correct font for dialogs and better font for tab bar\n\tallowing better localization\n\t</li>\n\t<li>\n\tWhen Windows is used with a secondary monitor before the primary\n\tmonitor, autocompletion lists are not forced onto the primary monitor.\n\t</li>\n\t<li>\n\tScintilla calltip bug fixed where down arrow setting wrong value in notification\n\tif not in first line. SciTE bug fixed where second arrow only shown on multiple line\n\tcalltip and was therefore misinterpreting the notification value.\n\t</li>\n\t<li>\n\tLexers will no longer be re-entered recursively during, for example, fold level setting.\n\t</li>\n\t<li>\n\tUndo of typing in overwrite mode undoes one character at a time rather than requiring a removal\n\tand addition step for each character.\n\t</li>\n\t<li>\n\tEM_EXSETSEL(0,-1) fixed.\n\t</li>\n\t<li>\n\tBug fixed where part of a rectangular selection was not shown as selected.\n\t</li>\n\t<li>\n\tAutocomplete window size fixed.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite164.zip?download\">Release 1.64</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 6 June 2005.\n\t</li>\n\t<li>\n\tTADS3 support\n\t</li>\n\t<li>\n\tSmalltalk support.\n\t</li>\n\t<li>\n\tRebol support.\n\t</li>\n\t<li>\n\tFlagship (Clipper / XBase) support.\n\t</li>\n\t<li>\n\tCSound support.\n\t</li>\n\t<li>\n\tSQL enhanced to support SQL*Plus.\n\t</li>\n\t<li>\n\tSC_MARK_FULLRECT margin marker fills the whole marker margin for marked\n\tlines with a colour.\n\t</li>\n\t<li>\n\tPerformance improved for some large undo and redo operations and modification flags\n\tadded in notifications.\n\t</li>\n\t<li>\n\tSciTE adds command equivalents for fold margin mouse actions.\n\t</li>\n\t<li>\n\tSciTE adds OnUpdateUI to set of events that can be handled by a Lua script.\n\t</li>\n\t<li>\n\tProperties set in Scintilla can be read.\n\t</li>\n\t<li>\n\tGTK+ SciTE exit confirmation adds Cancel button.\n\t</li>\n\t<li>\n\tMore accurate lexing of numbers in PHP and Caml.\n\t</li>\n\t<li>\n\tPerl can fold POD and package sections. POD verbatim section style.\n\tGlobbing syntax recognized better.\n\t</li>\n\t<li>\n\tContext menu moved slightly on GTK+ so that it will be under the mouse and will\n\tstay open if just clicked rather than held.\n\t</li>\n\t<li>\n\tRectangular selection paste works the same whichever direction the selection was dragged in.\n\t</li>\n\t<li>\n\tEncodedFromUTF8 handles -1 length argument as documented.\n\t</li>\n\t<li>\n\tUndo and redo can cause SCN_MODIFYATTEMPTRO notifications.\n\t</li>\n\t<li>\n\tIndicators display correctly when they start at the second character on a line.\n\t</li>\n\t<li>\n\tSciTE Export As HTML uses standards compliant CSS.\n\t</li>\n\t<li>\n\tSciTE automatic indentation handles keywords for indentation better.\n\t</li>\n\t<li>\n\tSciTE fold.comment.python property removed as does not work.\n\t</li>\n\t<li>\n\tFixed problem with character set conversion when pasting on GTK+.\n\t</li>\n\t<li>\n\tSciTE default character set changed from ANSI_CHARSET to DEFAULT_CHARSET.\n\t</li>\n\t<li>\n\tFixed crash when creating empty autocompletion list.\n\t</li>\n\t<li>\n\tAutocomplete window size made larger under some conditions to make truncation less common.\n\t</li>\n\t<li>\n\tBug fixed where changing case of a selection did not affect initial character of lines\n\tin multi-byte encodings.\n\t</li>\n\t<li>\n\tBug fixed where rectangular selection not displayed after Alt+Shift+Click.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite163.zip?download\">Release 1.63</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 4 April 2005.\n\t</li>\n\t<li>\n\tAutocompletion on Windows changed to use pop up window, be faster,\n\tallow choice of maximum width and height, and to highlight only the text of the\n\tselected item rather than both the text and icon if any.\n\t</li>\n\t<li>\n\tExtra items can be added to the context menu in SciTE.\n\t</li>\n\t<li>\n\tCharacter wrap mode in Scintilla helps East Asian languages.\n\t</li>\n\t<li>\n\tLexer added for Haskell.\n\t</li>\n\t<li>\n\tObjective Caml support.\n\t</li>\n\t<li>\n\tBlitzBasic and PureBasic support.\n\t</li>\n\t<li>\n\tCSS support updated to handle CSS2.\n\t</li>\n\t<li>\n\tC++ lexer is more selective about document comment keywords.\n\t</li>\n\t<li>\n\tAutoIt 3 lexer improved.\n\t</li>\n\t<li>\n\tLua lexer styles end of line characters on comment and preprocessor\n\tlines so that the eolfilled style can be applied to them.\n\t</li>\n\t<li>\n\tNSIS support updated for line continuations, box comments, SectionGroup and\n\tPageEx, and with more up-to-date properties.\n\t</li>\n\t<li>\n\tClarion lexer updated to perform folding and have more styles.\n\t</li>\n\t<li>\n\tSQL lexer gains second set of keywords.\n\t</li>\n\t<li>\n\tErrorlist lexer recognizes Borland Delphi error messages.\n\t</li>\n\t<li>\n\tMethod added for determining number of visual lines occupied by a document\n\tline due to wrapping.\n\t</li>\n\t<li>\n\tSticky caret mode does not modify the preferred caret x position when typing\n\tand may be useful for typing columns of text.\n\t</li>\n\t<li>\n\tDwell end notification sent when scroll occurs.\n\t</li>\n\t<li>\n\tOn GTK+, Scintilla requisition height is screen height rather than large fixed value.\n\t</li>\n\t<li>\n\tCase insensitive autocompletion prefers exact case match.\n\t</li>\n\t<li>\n\tSCI_PARADOWN and SCI_PARAUP treat lines containing only white\n\tspace as empty and handle text hidden by folding.\n\t</li>\n\t<li>\n\tScintilla on Windows supports WM_PRINTCLIENT although there are some\n\tlimitations.\n\t</li>\n\t<li>\n\tSCN_AUTOCSELECTION notification sent when user selects from autoselection list.\n\t</li>\n\t<li>\n\tSciTE's standard properties file sets buffers to 10, uses Pango fonts on GTK+ and\n\thas dropped several languages to make the menu fit on screen.\n\t</li>\n\t<li>\n\tSciTE's encoding cookie detection loosened so that common XML files will load\n\tin UTF-8 if that is their declared encoding.\n\t</li>\n\t<li>\n\tSciTE on GTK+ changes menus and toolbars to not be detachable unless turned\n\ton with a property. Menus no longer tear off. The toolbar may be set to use the\n\tdefault theme icons rather than SciTE's set. Changed key for View | End of Line\n\tbecause of a conflict. Language menu can contain more items.\n\t</li>\n\t<li>\n\tSciTE on GTK+ 2.x allows the height and width of the file open file chooser to\n\tbe set, for the show hidden files check box to be set from an option and for it\n\tto be opened in the directory of the current file explicitly. Enter key works in\n\tsave chooser.\n\t</li>\n\t<li>\n\tScintilla lexers should no longer see bits in style bytes that are outside the set\n\tthey modify so should be able to correctly lex documents where the container\n\thas used indicators.\n\t</li>\n\t<li>\n\tSciTE no longer asks to save before performing a revert.\n\t</li>\n\t<li>\n\tSciTE director interface adds a reloadproperties command to reload properties\n\tfrom files.\n\t</li>\n\t<li>\n\tAllow build on CYGWIN platform.\n\t</li>\n\t<li>\n\tAllow use from LccWin compiler.\n\t</li>\n\t<li>\n\tSCI_COLOURISE for SCLEX_CONTAINER causes a\n\tSCN_STYLENEEDED notification.\n\t</li>\n\t<li>\n\tBugs fixed in lexing of HTML/ASP/JScript.\n\t</li>\n\t<li>\n\tFix for folding becoming confused.\n\t</li>\n\t<li>\n\tOn Windows, fixes for Japanese Input Method Editor and for 8 bit Katakana\n\tcharacters.\n\t</li>\n\t<li>\n\tFixed buffer size bug avoided when typing long words by making buffer bigger.\n\t</li>\n\t<li>\n\tUndo after automatic indentation more sensible.\n\t</li>\n\t<li>\n\tSciTE menus on GTK+ uses Shift and Ctrl rather than old style abbreviations.\n\t</li>\n\t<li>\n\tSciTE full screen mode on Windows calculates size more correctly.\n\t</li>\n\t<li>\n\tSciTE on Windows menus work better with skinning applications.\n\t</li>\n\t<li>\n\tSearching bugs fixed.\n\t</li>\n\t<li>\n\tColours reallocated when changing image using SCI_REGISTERIMAGE.\n\t</li>\n\t<li>\n\tCaret stays visible when Enter held down.\n\t</li>\n\t<li>\n\tUndo of automatic indentation more reasonable.\n\t</li>\n\t<li>\n\tHigh processor usage fixed in background wrapping under some\n\tcircumstances.\n\t</li>\n\t<li>\n\tCrashing bug fixed on AMD64.\n\t</li>\n\t<li>\n\tSciTE crashing bug fixed when position.height or position.width not set.\n\t</li>\n\t<li>\n\tCrashing bug on GTK+ fixed when setting cursor and window is NULL.\n\t</li>\n\t<li>\n\tCrashing bug on GTK+ preedit window fixed.\n\t</li>\n\t<li>\n\tSciTE crashing bug fixed in incremental search on Windows ME.\n\t</li>\n\t<li>\n\tSciTE on Windows has a optional find and replace dialogs that can search through\n\tall buffers and search within a particular style number.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite162.zip?download\">Release 1.62</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 31 October 2004.\n\t</li>\n\t<li>\n\tLexer added for ASN.1.\n\t</li>\n\t<li>\n\tLexer added for VHDL.\n\t</li>\n\t<li>\n\tOn Windows, an invisible system caret is used to allow screen readers to determine\n\twhere the caret is. The visible caret is still drawn by the painting code.\n\t</li>\n\t<li>\n\tOn GTK+, Scintilla has methods to read the target as UTF-8 and to convert\n\ta string from UTF-8 to the document encoding. This eases integration with\n\tcontainers that use the UTF-8 encoding which is the API encoding for GTK+ 2.\n\t</li>\n\t<li>\n\tSciTE on GTK+2 and Windows NT/2000/XP allows search and replace of Unicode text.\n\t</li>\n\t<li>\n\tSciTE calltips allow setting the characters used to start and end parameter lists and\n\tto separate parameters.\n\t</li>\n\t<li>\n\tFindColumn method converts a line and column into a position, taking into account\n\ttabs and multi-byte characters.\n\t</li>\n\t<li>\n\tOn Windows, when Scintilla copies text to the clipboard as Unicode, it avoids\n\tadding an ANSI copy as the system will automatically convert as required in\n\ta context-sensitive manner.\n\t</li>\n\t<li>\n\tSciTE indent.auto setting automatically determines indent.size and use.tabs from\n\tdocument contents.\n\t</li>\n\t<li>\n\tSciTE defines a CurrentMessage property that holds the most recently selected\n\toutput pane message.\n\t</li>\n\t<li>\n\tSciTE Lua scripting enhanced with\n\t<ul>\n\t<li>A Lua table called 'buffer' is associated with each buffer and can be used to\n\tmaintain buffer-specific state.</li>\n\t<li>A 'scite' object allows interaction with the application such as opening\n\tfiles from script.</li>\n\t<li>Dynamic properties can be reset by assigning nil to a given key in\n\tthe props table.</li>\n\t<li>An 'OnClear' event fires whenever properties and extension scripts are\n\tabout to be reloaded.</li>\n\t<li>On Windows, loadlib is enabled and can be used to access Lua\n\tbinary modules / DLLs.</li></ul>\n\t</li>\n\t<li>\n\tSciTE Find in Files on Windows can be used in a modeless way and gains a '..'\n\tbutton to move up to the parent directory. It is also wider so that longer paths\n\tcan be seen.\n\t</li>\n\t<li>\n\tClose buttons added to dialogs in SciTE on Windows.\n\t</li>\n\t<li>\n\tSciTE on GTK+ 2 has a \"hidden files\" check box in file open dialog.\n\t</li>\n\t<li>\n\tSciTE use.monospaced setting removed. More information in the\n\t<a href=\"SciTEFAQ.html\">FAQ</a>.\n\t</li>\n\t<li>\n\tAPDL lexer updated with more lexical classes\n\t</li>\n\t<li>\n\tAutoIt3 lexer updated.\n\t</li>\n\t<li>\n\tAda lexer fixed to support non-ASCII text.\n\t</li>\n\t<li>\n\tCpp lexer now only matches exactly three slashes as starting a doc-comment so that\n\tlines of slashes are seen as a normal comment.\n\tLine ending characters are appear in default style on preprocessor and single line\n\tcomment lines.\n\t</li>\n\t<li>\n\tCSS lexer updated to support CSS2 including second set of keywords.\n\t</li>\n\t<li>\n\tErrorlist lexer now understands Java stack trace lines.\n\t</li>\n\t<li>\n\tSciTE's handling of HTML Tidy messages jumps to column as well as line indicated.\n\t</li>\n\t<li>\n\tLisp lexer allows multiline strings.\n\t</li>\n\t<li>\n\tLua lexer treats .. as an operator when between identifiers.\n\t</li>\n\t<li>\n\tPHP lexer handles 'e' in numerical literals.\n\t</li>\n\t<li>\n\tPowerBasic lexer updated for macros and optimized.\n\t</li>\n\t<li>\n\tProperties file folder changed to leave lines before a header at the base level\n\tand thus avoid a vertical line when using connected folding symbols.\n\t</li>\n\t<li>\n\tGTK+ on Windows version uses Alt for rectangular selection to be compatible with\n\tplatform convention.\n\t</li>\n\t<li>\n\tSciTE abbreviations file moved from system directory to user directory\n\tso each user can have separate abbreviations.\n\t</li>\n\t<li>\n\tSciTE on GTK+ has improved .desktop file and make install support that may\n\tlead to better integration with system shell.\n\t</li>\n\t<li>\n\tDisabling of themed background drawing on GTK+ extended to all cases.\n\t</li>\n\t<li>\n\tSciTE date formatting on Windows performed with the user setting rather than the\n\tsystem setting.\n\t</li>\n\t<li>\n\tGTK+ 2 redraw while scrolling fixed.\n\t</li>\n\t<li>\n\tRecursive property definitions are safer, avoiding expansion when detected.\n\t</li>\n\t<li>\n\tSciTE thread synchronization for scripts no longer uses HWND_MESSAGE\n\tso is compatible with older versions of Windows.\n\tOther Lua scripting bugs fixed.\n\t</li>\n\t<li>\n\tSciTE on Windows localization of menu accelerators changed to be compatible\n\twith alternative UI themes.\n\t</li>\n\t<li>\n\tSciTE on Windows full screen mode now fits better when menu different height\n\tto title bar height.\n\t</li>\n\t<li>\n\tSC_MARK_EMPTY marker is now invisible and does not change the background\n\tcolour.\n\t</li>\n\t<li>\n\tBug fixed in HTML lexer to allow use of &lt;?xml in strings in scripts without\n\ttriggering xml mode.\n\t</li>\n\t<li>\n\tBug fixed in SciTE abbreviation expansion that could break indentation or crash.\n\t</li>\n\t<li>\n\tBug fixed when searching for a whole word string that ends one character before\n\tend of document.\n\t</li>\n\t<li>\n\tDrawing bug fixed when indicators drawn on wrapped lines.\n\t</li>\n\t<li>\n\tBug fixed when double clicking a hotspot.\n\t</li>\n\t<li>\n\tBug fixed where autocompletion would remove typed text if no match found.\n\t</li>\n\t<li>\n\tBug fixed where display does not scroll when inserting in long wrapped line.\n\t</li>\n\t<li>\n\tBug fixed where SCI_MARKERDELETEALL would only remove one of the markers\n\ton a line that contained multiple markers with the same number.\n\t</li>\n\t<li>\n\tBug fixed where markers would move when converting line endings.\n\t</li>\n\t<li>\n\tBug fixed where SCI_LINEENDWRAP would move too far when line ends are visible.\n\t</li>\n\t<li>\n\tBugs fixed where calltips with unicode or other non-ASCII text would display\n\tincorrectly.\n\t</li>\n\t<li>\n\tBug fixed in determining if at save point after undoing from save point and then\n\tperforming changes.\n\t</li>\n\t<li>\n\tBug fixed on GTK+ using unsupported code pages where extraneous text could\n\tbe drawn.\n\t</li>\n\t<li>\n\tBug fixed in drag and drop code on Windows where dragging from SciTE to\n\tFirefox could hang both applications.\n\t</li>\n\t<li>\n\tCrashing bug fixed on GTK+ when no font allocation succeeds.\n\t</li>\n\t<li>\n\tCrashing bug fixed when autocompleting word longer than 1000 characters.\n\t</li>\n\t<li>\n\tSciTE crashing bug fixed when both Find and Replace dialogs shown by disallowing\n\tthis situation.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite161.zip?download\">Release 1.61</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 29 May 2004.\n\t</li>\n\t<li>\n\tImprovements to selection handling on GTK+.\n\t</li>\n\t<li>\n\tSciTE on GTK+ 2.4 uses the improved file chooser which allows\n\tfile extension filters, multiple selection, and remembers favourite\n\tdirectories.\n\t</li>\n\t<li>\n\tSciTE Load Session and Save Session commands available on GTK+.\n\t</li>\n\t<li>\n\tSciTE lists Lua Startup Script in Options menu when loaded.\n\t</li>\n\t<li>\n\tIn SciTE, OnUserListSelection can be implemented in Lua.\n\t</li>\n\t<li>\n\tSciTE on Windows has a context menu on the file tabs.\n\t</li>\n\t<li>\n\tSQL lexer allows '#' comments and optionally '\\' quoting inside strings.\n\t</li>\n\t<li>\n\tMssql lexer improved.\n\t</li>\n\t<li>\n\tAutoIt3 lexer updated.\n\t</li>\n\t<li>\n\tPerl lexer recognizes regular expression use better.\n\t</li>\n\t<li>\n\tErrorlist lexer understands Lua tracebacks and copes with findstr\n\toutput for file names that end with digits.\n\t</li>\n\t<li>\n\tDrawing of lines on GTK+ improved and made more like Windows\n\twithout final point.\n\t</li>\n\t<li>\n\tSciTE on GTK+ uses a high resolution window icon.\n\t</li>\n\t<li>\n\tSciTE can be set to warn before loading files larger than a particular size.\n\t</li>\n\t<li>\n\tSciTE Lua scripting bugs fixed included a crashing bug when using\n\tan undefined function name that would go before first actual name.\n\t</li>\n\t<li>\n\tSciTE bug fixed where a modified buffer was not saved if it was\n\tthe last buffer and was not current when the New command used.\n\t</li>\n\t<li>\n\tSciTE monofont mode no longer affects line numbers.\n\t</li>\n\t<li>\n\tCrashing bug in SciTE avoided by not allowing both the Find and Replace\n\tdialogs to be visible at one time.\n\t</li>\n\t<li>\n\tCrashing bug in SciTE fixed when Lua scripts were being run\n\tconcurrently.\n\t</li>\n\t<li>\n\tBug fixed that caused incorrect line number width in SciTE.\n\t</li>\n\t<li>\n\tPHP folding bug fixed.\n\t</li>\n\t<li>\n\tRegression fixed when setting word characters to not include\n\tsome of the standard word characters.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite160.zip?download\">Release 1.60</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 1 May 2004.\n\t</li>\n\t<li>\n\tSciTE can be scripted using the Lua programming language.\n\t</li>\n\t<li>\n\tcommand.mode is a better way to specify tool command options in SciTE.\n\t</li>\n\t<li>\n\tContinuation markers can be displayed so that you can see which lines are wrapped.\n\t</li>\n\t<li>\n\tLexer for Gui4Cli language.\n\t</li>\n\t<li>\n\tLexer for Kix language.\n\t</li>\n\t<li>\n\tLexer for Specman E language.\n\t</li>\n\t<li>\n\tLexer for AutoIt3 language.\n\t</li>\n\t<li>\n\tLexer for APDL language.\n\t</li>\n\t<li>\n\tLexer for Bash language. Also reasonable for other Unix shells.\n\t</li>\n\t<li>\n\tSciTE can load lexers implemented in external shared libraries.\n\t</li>\n\t<li>\n\tPerl treats \".\" not as part of an identifier and interprets '/' and '->'\n\tcorrectly in more circumstances.\n\t</li>\n\t<li>\n\tPHP recognizes variables within strings.\n\t</li>\n\t<li>\n\tNSIS has properties \"nsis.uservars\" and \"nsis.ignorecase\".\n\t</li>\n\t<li>\n\tMSSQL lexer adds keyword list for operators and stored procedures,\n\tdefines '(', ')', and ',' as operators and changes some other details.\n\t</li>\n\t<li>\n\tInput method preedit window on GTK+ 2 may support some Asian languages.\n\t</li>\n\t<li>\n\tPlatform interface adds an extra platform-specific flag to Font::Create.\n\tUsed on wxWidgets to choose antialiased text display but may be used for\n\tany task that a platform needs.\n\t</li>\n\t<li>\n\tOnBeforeSave method added to Extension interface.\n\t</li>\n\t<li>\n\tScintilla methods that return strings can be called with a NULL pointer\n\tto find out how long the string should be.\n\t</li>\n\t<li>\n\tVisual Studio .NET project file now in VS .NET 2003 format so can not be used\n\tdirectly in VS .NET 2002.\n\t</li>\n\t<li>\n\tScintilla can be built with GTK+ 2 on Windows.\n\t</li>\n\t<li>\n\tUpdated RPM spec for SciTE on GTK+.\n\t</li>\n\t<li>\n\tGTK+ makefile for SciTE allows selection of destination directory, creates destination\n\tdirectories and sets file modes and owners better.\n\t</li>\n\t<li>\n\tTab indents now go to next tab multiple rather than add tab size.\n\t</li>\n\t<li>\n\tSciTE abbreviations now use the longest possible match rather than the shortest.\n\t</li>\n\t<li>\n\tAutocompletion does not remove prefix when actioned with no choice selected.\n\t</li>\n\t<li>\n\tAutocompletion cancels when moving beyond the start position, not at the start position.\n\t</li>\n\t<li>\n\tSciTE now shows only calltips for functions that match exactly, not\n\tthose that match as a prefix.\n\t</li>\n\t<li>\n\tSciTE can repair box comment sections where some lines were added without\n\tthe box comment middle line prefix.\n\t</li>\n\t<li>\n\tAlt+ works in user.shortcuts on Windows.\n\t</li>\n\t<li>\n\tSciTE on GTK+ enables replace in selection for rectangular selections.\n\t</li>\n\t<li>\n\tKey bindings for command.shortcut implemented in a way that doesn't break\n\twhen the menus are localized.\n\t</li>\n\t<li>\n\tDrawing of background on GTK+ faster as theme drawing disabled.\n\t</li>\n\t<li>\n\tOn GTK+, calltips are moved back onto the screen if they extend beyond the screen bounds.\n\t</li>\n\t<li>\n\tOn Windows, the Scintilla object is destroyed on WM_NCDESTROY rather than\n\tWM_DESTROY which arrives earlier. This fixes some problems when Scintilla was subclassed.\n\t</li>\n\t<li>\n\tThe zorder switching feature removed due to number of crashing bugs.\n\t</li>\n\t<li>\n\tCode for XPM images made more robust.\n\t</li>\n\t<li>\n\tBug fixed with primary selection on GTK+.\n\t</li>\n\t<li>\n\tOn GTK+ 2, copied or cut text can still be pasted after the Scintilla widget is destroyed.\n\t</li>\n\t<li>\n\tStyling change not visible problem fixed when line was cached.\n\t</li>\n\t<li>\n\tBug in SciTE on Windows fixed where clipboard commands stopped working.\n\t</li>\n\t<li>\n\tCrashing bugs in display fixed in line layout cache.\n\t</li>\n\t<li>\n\tCrashing bug may be fixed on AMD64 processor on GTK+.\n\t</li>\n\t<li>\n\tRare hanging crash fixed in Python lexer.\n\t</li>\n\t<li>\n\tDisplay bugs fixed with DBCS characters on GTK+.\n\t</li>\n\t<li>\n\tAutocompletion lists on GTK+ 2 are not sorted by the ListModel as the\n\tcontents are sorted correctly by Scintilla.\n\t</li>\n\t<li>\n\tSciTE fixed to not open extra untitled buffers with check.if.already.open.\n\t</li>\n\t<li>\n\tSizing bug fixed on GTK+ when window resized while unmapped.\n\t</li>\n\t<li>\n\tText drawing crashing bug fixed on GTK+ with non-Pango fonts and long strings.\n\t</li>\n\t<li>\n\tFixed some issues if characters are unsigned.\n\t</li>\n\t<li>\n\tFixes in NSIS support.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite159.zip?download\">Release 1.59</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 19 February 2004.\n\t</li>\n\t<li>\n\tSciTE Options and Language menus reduced in length by commenting\n\tout some languages. Languages can be enabled by editing the global\n\tproperties file.\n\t</li>\n\t<li>\n\tVerilog language supported.\n\t</li>\n\t<li>\n\tLexer for Microsoft dialect of SQL. SciTE properties file available from extras page.\n\t</li>\n\t<li>\n\tPerl lexer disambiguates '/' better.\n\t</li>\n\t<li>\n\tNSIS lexer improved with a lexical class for numbers, option for ignoring case\n\tof keywords, and folds only occurring when folding keyword first on line.\n\t</li>\n\t<li>\n\tPowerBasic lexer improved with styles for constants and assembler and\n\tfolding improvements.\n\t</li>\n\t<li>\n\tOn GTK+, input method support only invoked for Asian languages and not\n\tEuropean languages as the old European keyboard code works better.\n\t</li>\n\t<li>\n\tScintilla can be requested to allocate a certain amount and so avoid repeated\n\treallocations and memory inefficiencies. SciTE uses this and so should require\n\tless memory.\n\t</li>\n\t<li>\n\tSciTE's \"toggle current fold\" works when invoked on child line as well as\n\tfold header.\n\t</li>\n\t<li>\n\tSciTE output pane scrolling can be set to not scroll back to start after\n\tcompletion of command.\n\t</li>\n\t<li>\n\tSciTE has a $(SessionPath) property.\n\t</li>\n\t<li>\n\tSciTE on Windows can use VK_* codes for keys in user.shortcuts.\n\t</li>\n\t<li>\n\tStack overwrite bug fixed in SciTE's command to move to the end of a\n\tpreprocessor conditional.\n\t</li>\n\t<li>\n\tBug fixed where vertical selection appeared to select a different set of characters\n\tthen would be used by, for example, a copy.\n\t</li>\n\t<li>\n\tSciTE memory leak fixed in fold state remembering.\n\t</li>\n\t<li>\n\tBug fixed where changing the style of some text outside the\n\tstandard StyleNeeded notification would not be visible.\n\t</li>\n\t<li>\n\tOn GTK+ 2 g_iconv is used in preference to iconv, as it is provided by GTK+\n\tso should avoid problems finding the iconv library.\n\t</li>\n\t<li>\n\tOn GTK+ fixed a style reference count bug.\n\t</li>\n\t<li>\n\tMemory corruption bug fixed with GetSelText.\n\t</li>\n\t<li>\n\tOn Windows Scintilla deletes memory on WM_NCDESTROY rather than\n\tthe earlier WM_DESTROY to avoid problems when the window is subclassed.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite158.zip?download\">Release 1.58</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 11 January 2004.\n\t</li>\n\t<li>\n\tMethod to discover the currently highlighted element in an autocompletion list.\n\t</li>\n\t<li>\n\tOn GTK+, the lexers are now included in the scintilla.a library file. This\n\twill require changes to the make files of dependent projects.\n\t</li>\n\t<li>\n\tOctave support added alongside related Matlab language and Matlab support improved.\n\t</li>\n\t<li>\n\tVB lexer gains an unterminated string state and 4 sets of keywords.\n\t</li>\n\t<li>\n\tRuby lexer handles $' correctly.\n\t</li>\n\t<li>\n\tError line handling improved for FORTRAN compilers from Absoft and Intel.\n\t</li>\n\t<li>\n\tInternational input enabled on GTK+ 2 although there is no way to choose an\n\tinput method.\n\t</li>\n\t<li>\n\tMultiplexExtension in SciTE allows multiple extensions to be used at once.\n\t</li>\n\t<li>\n\tRegular expression replace interprets backslash expressions \\a, \\b, \\f, \\n, \\r, \\t,\n\tand \\v in the replacement value.\n\t</li>\n\t<li>\n\tSciTE Replace dialog displays number of replacements made when Replace All or\n\tReplace in Selection performed.\n\t</li>\n\t<li>\n\tLocalization files may contain a translation.encoding setting which is used\n\ton GTK+ 2 to automatically reencode the translation to UTF-8 so it will be\n\tthe localized text will be displayed correctly.\n\t</li>\n\t<li>\n\tSciTE on GTK+ implements check.if.already.open.\n\t</li>\n\t<li>\n\tMake files for Mac OS X made more robust.\n\t</li>\n\t<li>\n\tPerformance improved in SciTE when switching buffers when there\n\tis a rectangular selection.\n\t</li>\n\t<li>\n\tFixed failure to display some text when wrapped.\n\t</li>\n\t<li>\n\tSciTE crashes from Ctrl+Tab buffer cycling fixed.\n\tMay still be some rare bugs here.\n\t</li>\n\t<li>\n\tCrash fixed when decoding an error message that appears similar to a\n\tBorland error message.\n\t</li>\n\t<li>\n\tFix to auto-scrolling allows containers to implement enhanced double click selection.\n\t</li>\n\t<li>\n\tHang fixed in idle word wrap.\n\t</li>\n\t<li>\n\tCrash fixed in hotspot display code..\n\t</li>\n\t<li>\n\tSciTE on Windows Incremental Search no longer moves caret back.\n\t</li>\n\t<li>\n\tSciTE hang fixed when performing a replace with a find string that\n\tmatched zero length strings such as \".*\".\n\t</li>\n\t<li>\n\tSciTE no longer styles the whole file when saving buffer fold state\n\tas that was slow.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite157.zip?download\">Release 1.57</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 27 November 2003.\n\t</li>\n\t<li>\n\tSciTE remembers folding of each buffer.\n\t</li>\n\t<li>\n\tLexer for Erlang language.\n\t</li>\n\t<li>\n\tScintilla allows setting the set of white space characters.\n\t</li>\n\t<li>\n\tScintilla has 'stuttered' page movement commands to first move\n\tto top or bottom within current visible lines before scrolling.\n\t</li>\n\t<li>\n\tScintilla commands for moving to end of words.\n\t</li>\n\t<li>\n\tIncremental line wrap enabled on Windows.\n\t</li>\n\t<li>\n\tSciTE PDF exporter produces output that is more compliant with reader\n\tapplications, is smaller and allows more configuration.\n\tHTML exporter optimizes size of output files.\n\t</li>\n\t<li>\n\tSciTE defines properties PLAT_WINNT and PLAT_WIN95 on the\n\tcorresponding platforms.\n\t</li>\n\t<li>\n\tSciTE can adjust the line margin width to fit the largest line number.\n\tThe line.numbers property is split between line.margin.visible and\n\tline.margin.width.\n\t</li>\n\t<li>\n\tSciTE on GTK+ allows user defined menu accelerators.\n\tAlt can be included in user.shortcuts.\n\t</li>\n\t<li>\n\tSciTE Language menu can have items commented out.\n\t</li>\n\t<li>\n\tSciTE on Windows Go to dialog allows choosing a column number as\n\twell as a line number.\n\t</li>\n\t<li>\n\tSciTE on GTK+ make file uses prefix setting more consistently.\n\t</li>\n\t<li>\n\tBug fixed that caused word wrapping to fail to display all text.\n\t</li>\n\t<li>\n\tCrashing bug fixed in GTK+ version of Scintilla when using GDK fonts\n\tand opening autocompletion.\n\t</li>\n\t<li>\n\tBug fixed in Scintilla SCI_GETSELTEXT where an extra NUL\n\twas included at end of returned string\n\t</li>\n\t<li>\n\tCrashing bug fixed in SciTE z-order switching implementation.\n\t</li>\n\t<li>\n\tHanging bug fixed in Perl lexer.\n\t</li>\n\t<li>\n\tSciTE crashing bug fixed for using 'case' without argument in style definition.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite156.zip?download\">Release 1.56</a>\n    </h3>\n    <ul>\n\t<li>\n\tReleased on 25 October 2003.\n\t</li>\n\t<li>\n\tRectangular selection can be performed using the keyboard.\n\tGreater programmatic control over rectangular selection.\n\tThis has caused several changes to key bindings.\n\t</li>\n\t<li>\n\tSciTE Replace In Selection works on rectangular selections.\n\t</li>\n\t<li>\n\tImproved lexer for TeX, new lexer for Metapost and other support for these\n\tlanguages.\n\t</li>\n\t<li>\n\tLexer for PowerBasic.\n\t</li>\n\t<li>\n\tLexer for Forth.\n\t</li>\n\t<li>\n\tYAML lexer improved to include error styling.\n\t</li>\n\t<li>\n\tPerl lexer improved to correctly handle more cases.\n\t</li>\n\t<li>\n\tAssembler lexer updated to support single-quote strings and fix some\n\tproblems.\n\t</li>\n\t<li>\n\tSciTE on Windows can switch between buffers in order of use (z-order) rather\n\tthan static order.\n\t</li>\n\t<li>\n\tSciTE supports adding an extension for \"Open Selected Filename\".\n\tThe openpath setting works on GTK+.\n\t</li>\n\t<li>\n\tSciTE can Export as XML.\n\t</li>\n\t<li>\n\tSciTE $(SelHeight) variable gives a more natural result for empty and whole line\n\tselections.\n\t</li>\n\t<li>\n\tFixes to wrapping problems, such as only first display line being visible in some\n\tcases.\n\t</li>\n\t<li>\n\tFixes to hotspot to only highlight when over the hotspot, only use background\n\tcolour when set and option to limit hotspots to a single line.\n\t</li>\n\t<li>\n\tSmall fixes to FORTRAN lexing and folding.\n\t</li>\n\t<li>\n\tSQL lexer treats single quote strings as a separate class to double quote strings..\n\t</li>\n\t<li>\n\tScintilla made compatible with expectations of container widget in GTK+ 2.3.\n\t</li>\n\t<li>\n\tFix to strip out pixmap ID when automatically choosing from an autocompletion\n\tlist with only one element.\n\t</li>\n\t<li>\n\tSciTE bug fixed where UTF-8 files longer than 128K were gaining more than one\n\tBOM.\n\t</li>\n\t<li>\n\tCrashing bug fixed in SciTE on GTK+ where using \"Stop Executing\" twice leads\n\tto all applications exiting.\n\t</li>\n\t<li>\n\tBug fixed in autocompletion scrolling on GTK+ 2 with a case sensitive list.\n\tThe ListBox::Sort method is no longer needed or available so platform\n\tmaintainers should remove it.\n\t</li>\n\t<li>\n\tSciTE check.if.already.open setting removed from GTK+ version as unmaintained.\n\t</li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite155.zip?download\">Release 1.55</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 25 September 2003.\n      </li>\n      <li>\n\tFix a crashing bug in indicator display in Scintilla.\n      </li>\n      <li>\n\tGTK+ version now defaults to building for GTK+ 2 rather than 1.\n      </li>\n      <li>\n\tMingw make file detects compiler version and avoids options\n\tthat are cause problems for some versions.\n      </li>\n      <li>\n\tLarge performance improvement on GTK+ 2 for long lines.\n      </li>\n      <li>\n\tIncremental line wrap on GTK+.\n      </li>\n      <li>\n\tInternational text entry works much better on GTK+ with particular\n\timprovements for Baltic languages and languages that use 'dead' accents.\n\tNUL key events such as those generated by some function keys, ignored.\n      </li>\n      <li>\n\tUnicode clipboard support on GTK+.\n      </li>\n      <li>\n\tIndicator type INDIC_BOX draws a rectangle around the text.\n      </li>\n      <li>\n\tClarion language support.\n      </li>\n      <li>\n\tYAML language support.\n      </li>\n      <li>\n\tMPT LOG language support.\n      </li>\n      <li>\n\tOn Windows, SciTE can switch buffers based on activation order rather\n\tthan buffer number.\n      </li>\n      <li>\n\tSciTE save.on.deactivate saves all buffers rather than just the current buffer.\n      </li>\n      <li>\n\tLua lexer handles non-ASCII characters correctly.\n      </li>\n      <li>\n\tError lexer understands Borland errors with pathnames that contain space.\n      </li>\n      <li>\n\tOn GTK+ 2, autocompletion uses TreeView rather than deprecated CList.\n      </li>\n      <li>\n\tSciTE autocompletion removed when expand abbreviation command used.\n      </li>\n      <li>\n\tSciTE calltips support overloaded functions.\n      </li>\n      <li>\n\tWhen Save fails in SciTE, choice offered to Save As.\n      </li>\n      <li>\n\tSciTE message boxes on Windows may be moved to front when needed.\n      </li>\n      <li>\n\tIndicators drawn correctly on wrapped lines.\n      </li>\n      <li>\n\tRegular expression search no longer matches characters with high bit\n\tset to characters without high bit set.\n      </li>\n      <li>\n\tHang fixed in backwards search in multi byte character documents.\n      </li>\n      <li>\n\tHang fixed in SciTE Mark All command when wrap around turned off.\n      </li>\n      <li>\n\tSciTE Incremental Search no longer uses hot keys on Windows.\n      </li>\n      <li>\n\tCalltips draw non-ASCII characters correctly rather than as arrows.\n      </li>\n      <li>\n\tSciTE crash fixed when going to an error message with empty file name.\n      </li>\n      <li>\n\tBugs fixed in XPM image handling code.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite154.zip?download\">Release 1.54</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 12 August 2003.\n      </li>\n      <li>\n\tSciTE on GTK+ 2.x can display a tab bar.\n      </li>\n      <li>\n\tSciTE on Windows provides incremental search.\n      </li>\n      <li>\n\tLexer for PostScript.\n      </li>\n      <li>\n\tLexer for the NSIS scripting language.\n      </li>\n      <li>\n\tNew lexer for POV-Ray Scene Description Language\n\treplaces previous implementation.\n      </li>\n      <li>\n\tLexer for the MMIX Assembler language.\n      </li>\n      <li>\n\tLexer for the Scriptol language.\n      </li>\n      <li>\n\tIncompatibility: SQL keywords are specified in lower case rather than upper case.\n\tSQL lexer allows double quoted strings.\n      </li>\n      <li>\n\tPascal lexer: character constants that start with '#' understood,\n\t'@' only allowed within assembler blocks,\n\t'$' can be the start of a number,\n\tinitial '.' in 0..constant not treated as part of a number,\n\tand assembler blocks made more distinctive.\n      </li>\n      <li>\n\tLua lexer allows '.' in keywords.\n\tMulti-line strings and comments can be folded.\n      </li>\n      <li>\n\tCSS lexer handles multiple psuedoclasses.\n      </li>\n      <li>\n\tProperties file folder works for INI file format.\n      </li>\n      <li>\n\tHidden indicator style allows the container to mark text within Scintilla\n\twithout there being any visual effect.\n      </li>\n      <li>\n\tSciTE does not prompt to save changes when the buffer is empty and untitled.\n      </li>\n      <li>\n\tModification notifications caused by SCI_INSERTSTYLEDSTRING\n\tnow include the contents of the insertion.\n      </li>\n      <li>\n\tSCI_MARKERDELETEALL deletes all the markers on a line\n\trather than just the first match.\n      </li>\n      <li>\n\tBetter handling of 'dead' accents on GTK+ 2 for languages\n\tthat use accented characters.\n      </li>\n      <li>\n\tSciTE now uses value of output.vertical.size property.\n      </li>\n      <li>\n\tCrash fixed in SciTE autocompletion on long lines.\n      </li>\n      <li>\n\tCrash fixed in SciTE comment command on long lines.\n      </li>\n      <li>\n\tBug fixed with backwards regular expression search skipping\n\tevery second match.\n      </li>\n      <li>\n\tHang fixed with regular expression replace where both target and replacement were empty.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite153.zip?download\">Release 1.53</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 16 May 2003.\n      </li>\n      <li>\n\tOn GTK+ 2, encodings other than ASCII, Latin1, and Unicode are\n\tsupported for both display and input using iconv.\n      </li>\n      <li>\n\tExternal lexers supported on GTK+/Linux.\n\tExternal lexers must now be explicitly loaded with SCI_LOADLEXERLIBRARY\n\trather than relying upon a naming convention and automatic loading.\n      </li>\n      <li>\n\tSupport of Lout typesetting language.\n      </li>\n      <li>\n\tSupport of E-Scripts language used in the POL Ultima Online Emulator.\n      </li>\n      <li>\n\tScrolling and drawing performance on GTK+ enhanced, particularly for GTK+ 2.x\n\twith an extra window for the text area avoiding conflicts with the scroll bars.\n      </li>\n      <li>\n\tCopyText and CopyRange methods in Scintilla allow container to\n\teasily copy to the system clipboard.\n      </li>\n      <li>\n\tLine Copy command implemented and bound to Ctrl+Shift+T.\n      </li>\n      <li>\n\tScintilla APIs PositionBefore and PositionAfter can be used to iterate through\n\ta document taking into account the encoding and multi-byte characters.\n      </li>\n      <li>\n\tC++ folder can fold on the \"} else {\" line of an if statement by setting\n\tfold.at.else property to 1.\n      </li>\n      <li>\n\tC++ lexer allows an extra set of keywords.\n      </li>\n      <li>\n\tProperty names and thus abbreviations may be non-ASCII.\n      </li>\n      <li>\n\tRemoved attempt to load a file when setting properties that was\n\tpart of an old scripting experiment.\n      </li>\n      <li>\n\tSciTE no longer warns about a file not existing when opening\n\tproperties files from the Options menu as there is a good chance\n\tthe user wants to create one.\n      </li>\n      <li>\n\tBug fixed with brace recognition in multi-byte encoded files where a partial\n\tcharacter matched a brace byte.\n      </li>\n      <li>\n\tMore protection against infinite loops or recursion with recursive property definitions.\n      </li>\n      <li>\n\tOn Windows, cursor will no longer disappear over margins in custom builds when\n\tcursor resource not present. The Windows default cursor is displayed instead.\n      </li>\n      <li>\n\tload.on.activate fixed in SciTE as was broken in 1.52.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite152.zip?download\">Release 1.52</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 17 April 2003.\n      </li>\n      <li>\n\tPango font support on GTK+ 2.\n\tUnicode input improved on GTK+ 2.\n      </li>\n      <li>\n\tHotspot style implemented in Scintilla.\n      </li>\n      <li>\n\tSmall up and down arrows can be displayed in calltips and the container\n\tis notified when the mouse is clicked on a calltip.\n\tNormal and selected calltip text colours can be set.\n      </li>\n      <li>\n\tPOSIX compatibility flag in Scintilla regular expression search\n\tinterprets bare ( and ) as tagged sections.\n      </li>\n      <li>\n\tError message lexer tightened to yield fewer false matches.\n\tRecognition of Lahey and Intel FORTRAN error formats.\n      </li>\n      <li>\n\tScintilla keyboard commands for moving to start and end of\n\tscreen lines rather than document lines, unless already there\n\twhere these keys move to the start or end of the document line.\n      </li>\n      <li>\n\tLine joining command.\n      </li>\n      <li>\n\tLexer for POV-Ray.\n      </li>\n      <li>\n\tCalltips on Windows are no longer clipped by the parent window.\n      </li>\n      <li>\n\tAutocompletion lists are cancelled when focus leaves their parent window.\n      </li>\n      <li>\n\tMove to next/previous empty line delimited paragraph key commands.\n      </li>\n      <li>\n\tSciTE hang fixed with recursive property definitions by placing limit\n\ton number of substitutions performed.\n      </li>\n      <li>\n\tSciTE Export as PDF reenabled and works.\n      </li>\n      <li>\n\tAdded loadsession: command line command to SciTE.\n      </li>\n      <li>\n\tSciTE option to quit application when last document closed.\n      </li>\n      <li>\n\tSciTE option to ask user if it is OK to reload a file that has been\n\tmodified outside SciTE.\n      </li>\n      <li>\n\tSciTE option to automatically save before running particular command tools\n\tor to ask user or to not save.\n      </li>\n      <li>\n\tSciTE on Windows 9x will write a Ctrl+Z to the process input pipe before\n\tclosing the pipe when running tool commands that take input.\n      </li>\n      <li>\n\tAdded a manifest resource to SciTE on Windows to enable Windows XP\n\tthemed UI.\n      </li>\n      <li>\n\tSciTE calltips handle nested calls and other situations better.\n      </li>\n      <li>\n\tCSS lexer improved.\n      </li>\n      <li>\n\tInterface to platform layer changed - Surface initialization now requires\n\ta WindowID parameter.\n      </li>\n      <li>\n\tBug fixed with drawing or measuring long pieces of text on Windows 9x\n\tby truncating the pieces.\n      </li>\n      <li>\n\tBug fixed with SciTE on GTK+ where a user shortcut for a visible character\n\tinserted the character as well as executing the command.\n      </li>\n      <li>\n\tBug fixed where primary selection on GTK+ was reset by\n\tScintilla during creation.\n      </li>\n      <li>\n\tBug fixed where SciTE would close immediately on startup\n\twhen using save.session.\n      </li>\n      <li>\n\tCrash fixed when entering '\\' in LaTeX file.\n      </li>\n      <li>\n\tHang fixed when '#' last character in VB file.\n      </li>\n      <li>\n\tCrash fixed in error message lexer.\n      </li>\n      <li>\n\tCrash fixed when searching for long regular expressions.\n      </li>\n      <li>\n\tPressing return when nothing selected in user list sends notification with\n\tempty text rather than random text.\n      </li>\n      <li>\n\tMouse debouncing disabled on Windows as it interfered with some\n\tmouse utilities.\n      </li>\n      <li>\n\tBug fixed where overstrike mode inserted before rather than replaced last\n\tcharacter in document.\n      </li>\n      <li>\n\tBug fixed with syntax highlighting of Japanese text.\n      </li>\n      <li>\n\tBug fixed in split lines function.\n      </li>\n      <li>\n\tCosmetic fix to SciTE tab bar on Windows when window resized.\n\tFocus sticks to either pane more consistently.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite151.zip?download\">Release 1.51</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 16 February 2003.\n      </li>\n      <li>\n\tTwo phase drawing avoids cutting off text that overlaps runs by drawing\n\tall the backgrounds of a line then drawing all the text transparently.\n\tSingle phase drawing is an option.\n      </li>\n      <li>\n\tScintilla method to split lines at a particular width by adding new line\n\tcharacters.\n      </li>\n      <li>\n\tThe character used in autocompletion lists to separate the text from the image\n\tnumber can be changed.\n      </li>\n      <li>\n\tThe scrollbar range will automatically expand when the caret is moved\n\tbeyond the current range.\n\tThe scroll bar is updated when SCI_SETXOFFSET is called.\n      </li>\n      <li>\n\tMouse cursors on GTK+ improved to be consistent with other applications\n\tand the Windows version.\n      </li>\n      <li>\n\tHorizontal scrollbar on GTK+ now disappears in wrapped mode.\n      </li>\n      <li>\n\tScintilla on GTK+ 2: mouse wheel scrolling, cursor over scrollbars, focus,\n\tand syntax highlighting now work.\n\tgtk_selection_notify avoided for compatibility with GTK+ 2.2.\n      </li>\n      <li>\n\tFold margin colours can now be set.\n      </li>\n      <li>\n\tSciTE can be built for GTK+ 2.\n      </li>\n      <li>\n\tSciTE can optionally preserve the undo history over an automatic file reload.\n      </li>\n      <li>\n\tTags can optionally be case insensitive in XML and HTML.\n      </li>\n      <li>\n\tSciTE on Windows handles input to tool commands in a way that should avoid\n\tdeadlock. Output from tools can be used to replace the selection.\n      </li>\n      <li>\n\tSciTE on GTK+ automatically substitutes '|' for '/' in menu items as '/'\n\tis used to define the menu hierarchy.\n      </li>\n      <li>\n\tOptional buffer number in SciTE title bar.\n      </li>\n      <li>\n\tCrash fixed in SciTE brace matching.\n      </li>\n      <li>\n\tBug fixed where automatic scrolling past end of document\n\tflipped back to the beginning.\n      </li>\n      <li>\n\tBug fixed where wrapping caused text to disappear.\n      </li>\n      <li>\n\tBug fixed on Windows where images in autocompletion lists were\n\tshown on the wrong item.\n      </li>\n      <li>\n\tCrash fixed due to memory bug in autocompletion lists on Windows.\n      </li>\n      <li>\n\tCrash fixed when double clicking some error messages.\n      </li>\n      <li>\n\tBug fixed in word part movement where sometimes no movement would occur.\n      </li>\n      <li>\n\tBug fixed on Windows NT where long text runs were truncated by\n\ttreating NT differently to 9x where there is a limitation.\n      </li>\n      <li>\n\tText in not-changeable style works better but there remain some cases where\n\tit is still possible to delete text protected this way.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite150.zip?download\">Release 1.50</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 24 January 2003.\n      </li>\n      <li>\n\tAutocompletion lists may have a per-item pixmap.\n      </li>\n      <li>\n\tAutocompletion lists allow Unicode text on Windows.\n      </li>\n      <li>\n\tScintilla documentation rewritten.\n      </li>\n      <li>\n\tAdditional DBCS encoding support in Scintilla on GTK+ primarily aimed at\n\tJapanese EUC encoding.\n      </li>\n      <li>\n\tCSS (Cascading Style Sheets) lexer added.\n      </li>\n      <li>\n\tdiff lexer understands some more formats.\n      </li>\n      <li>\n\tFold box feature is an alternative way to show the structure of code.\n      </li>\n      <li>\n\tAvenue lexer supports multiple keyword lists.\n      </li>\n      <li>\n\tThe caret may now be made invisible by setting the caret width to 0.\n      </li>\n      <li>\n\tPython folder attaches comments before blocks to the next block rather\n\tthan the previous block.\n      </li>\n      <li>\n\tSciTE openpath property on Windows searches a path for files that are\n\tthe subject of the Open Selected Filename command.\n      </li>\n      <li>\n        The localization file name can be changed with the locale.properties property.\n      </li>\n      <li>\n\tOn Windows, SciTE can pipe the result of a string expression into a command line tool.\n      </li>\n      <li>\n\tOn Windows, SciTE's Find dialog has a Mark All button.\n      </li>\n      <li>\n\tOn Windows, there is an Insert Abbreviation command that allows a choice from\n\tthe defined abbreviations and inserts the selection into the abbreviation at the\n\tposition of a '|'.\n      </li>\n      <li>\n\tMinor fixes to Fortran lexer.\n      </li>\n      <li>\n\tfold.html.preprocessor decides whether to fold &lt;? and ?&gt;.\n\tMinor improvements to PHP folding.\n      </li>\n      <li>\n\tMaximum number of keyword lists allowed increased from 6 to 9.\n      </li>\n      <li>\n\tDuplicate line command added with default assignment to Ctrl+D.\n      </li>\n      <li>\n\tSciTE sets $(Replacements) to the number of replacements made by the\n\tReplace All command. $(CurrentWord) is set to the word before the caret if the caret\n\tis at the end of a word.\n      </li>\n      <li>\n\tOpening a SciTE session now loads files in remembered order, sets the current file\n\tas remembered, and moves the caret to the remembered line.\n      </li>\n      <li>\n\tBugs fixed with printing on Windows where line wrapping was causing some text\n\tto not print.\n      </li>\n      <li>\n\tBug fixed with Korean Input Method Editor on Windows.\n      </li>\n      <li>\n\tBugs fixed with line wrap which would sometimes choose different break positions\n\tafter switching focus away and back.\n      </li>\n      <li>\n\tBug fixed where wheel scrolling had no effect on GTK+ after opening a fold.\n      </li>\n      <li>\n\tBug fixed with file paths containing non-ASCII characters on Windows.\n      </li>\n      <li>\n\tCrash fixed with printing on Windows after defining pixmap marker.\n      </li>\n      <li>\n\tCrash fixed in makefile lexer when first character on line was '='.\n      </li>\n      <li>\n\tBug fixed where local properties were not always being applied.\n      </li>\n      <li>\n\tCtrl+Keypad* fold command works on GTK+.\n      </li>\n      <li>\n\tHangs fixed in SciTE's Replace All command when replacing regular expressions '^'\n\tor '$'.\n      </li>\n      <li>\n\tSciTE monospace setting behaves more sensibly.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite149.zip?download\">Release 1.49</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 1 November 2002.\n      </li>\n      <li>\n\tUnicode supported on GTK+. To perform well, this added a font cache to GTK+\n\tand to make that safe, a mutex is used. The mutex requires the application to link in\n\tthe threading library by evaluating `glib-config --libs gthread`. A Unicode locale\n\tshould also be set up by a call like setlocale(LC_CTYPE, \"en_US.UTF-8\").\n\tscintilla_release_resources function added to release mutex.\n      </li>\n      <li>\n\tFORTRAN and assembler lexers added along with other support for these\n\tlanguages in SciTE.\n      </li>\n      <li>\n\tAda lexer improved handling of based numbers, identifier validity and attributes\n\tdistinguished from character literals.\n      </li>\n      <li>\n\tLua lexer handles block comments and a deep level of nesting for literal strings\n\tand block comments.\n      </li>\n      <li>\n\tErrorlist lexer recognizes PHP error messages.\n      </li>\n      <li>\n\tVariant of the C++ lexer with case insensitive keywords\n\tcalled cppnocase. Whitespace in preprocessor text handled more correctly.\n      </li>\n      <li>\n\tFolder added for Perl.\n      </li>\n      <li>\n\tCompilation with GCC 3.2 supported.\n      </li>\n      <li>\n\tMarkers can be pixmaps.\n      </li>\n      <li>\n\tLines are wrapped when printing.\n\tBug fixed which printed line numbers in different styles.\n      </li>\n      <li>\n\tText can be appended to end with AppendText method.\n      </li>\n      <li>\n\tChooseCaretX method added.\n      </li>\n      <li>\n\tVertical scroll bar can be turned off with SetVScrollBar method.\n      </li>\n      <li>\n\tSciTE Save All command saves all buffers.\n      </li>\n      <li>\n\tSciTE localization compares keys case insensitively to make translations more flexible.\n      </li>\n      <li>\n\tSciTE detects a utf-8 coding cookie \"coding: utf-8\" in first two\n\tlines and goes into Unicode mode.\n      </li>\n      <li>\n\tSciTE key bindings are definable.\n      </li>\n      <li>\n\tSciTE Find in Files dialog can display directory browser to\n\tchoose directory to search.\n      </li>\n      <li>\n\tSciTE enabling of undo and redo toolbar buttons improved.\n      </li>\n      <li>\n\tSciTE on Windows file type filters in open dialog sorted.\n      </li>\n      <li>\n\tFixed crashing bug when using automatic tag closing in XML or HTML.\n      </li>\n      <li>\n\tFixed bug on Windows causing very long (&gt;64K) lines to not display.\n      </li>\n      <li>\n\tFixed bug in backwards regular expression searching.\n      </li>\n      <li>\n\tFixed bug in calltips where wrong argument was highlighted.\n      </li>\n      <li>\n\tFixed bug in tab timmy feature when file has line feed line endings.\n      </li>\n      <li>\n\tFixed bug in compiling without INCLUDE_DEPRECATED_FEATURES\n\tdefined.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite148.zip?download\">Release 1.48</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 9 September 2002.\n      </li>\n      <li>\n\tImproved Pascal lexer with context sensitive keywords\n\tand separate folder which handles  //{ and //} folding comments and\n\t{$region} and {$end} folding directives.\n\tThe \"case\" statement now folds correctly.\n      </li>\n      <li>\n\tC++ lexer correctly handles comments on preprocessor lines.\n      </li>\n      <li>\n\tNew commands for moving to beginning and end of display lines when in line\n\twrap mode. Key bindings added for these commands.\n      </li>\n      <li>\n\tNew marker symbols that look like \">>>\" and \"...\" which can be used for\n\tinteractive shell prompts for Python.\n      </li>\n      <li>\n\tThe foreground and background colours of visible whitespace can be chosen\n\tindependent of the colours chosen for the lexical class of that whitespace.\n      </li>\n      <li>\n\tPer line data optimized by using an exponential allocation scheme.\n      </li>\n      <li>\n\tSciTE API file loading optimized.\n      </li>\n      <li>\n\tSciTE for GTK+ subsystem 2 documented. The exit status of commands\n\tis decoded into more understandable fields.\n      </li>\n      <li>\n\tSciTE find dialog remembers previous find string when there is no selection.\n\tFind in Selection button disabled when selection is rectangular as command\n\tdid not work.\n      </li>\n      <li>\n\tShift+Enter made equivalent to Enter to avoid users having to let go of\n\tthe shift key when typing. Avoids the possibility of entering single carriage\n\treturns in a file that contains CR+LF line ends.\n      </li>\n      <li>\n\tAutocompletion does not immediately disappear when the length parameter\n\tto SCI_AUTOCSHOW is 0.\n      </li>\n      <li>\n\tSciTE focuses on the editor pane when File | New executed and when the\n\toutput pane is closed with F8. Double clicking on a non-highlighted output\n\tpane line selects the word under the cursor rather than seeking the next\n\thighlighted line.\n      </li>\n      <li>\n\tSciTE director interface implements an \"askproperty\" command.\n      </li>\n      <li>\n\tSciTE's Export as LaTeX output improved.\n      </li>\n      <li>\n\tBetter choice of autocompletion displaying above the caret rather then\n\tbelow when that is more sensible.\n      </li>\n      <li>\n\tBug fixed where context menu would not be completely visible if invoked\n\twhen cursor near bottom or left of screen.\n      </li>\n      <li>\n\tCrashing bug fixed when displaying long strings on GTK+ caused failure of X server\n\tby displaying long text in segments.\n      </li>\n      <li>\n\tCrashing bug fixed on GTK+ when a Scintilla window was removed from its parent\n\tbut was still the selection owner.\n      </li>\n      <li>\n\tBug fixed on Windows in Unicode mode where not all characters on a line\n\twere displayed when that line contained some characters not in ASCII.\n      </li>\n      <li>\n\tCrashing bug fixed in SciTE on Windows with clearing output while running command.\n      </li>\n      <li>\n\tBug fixed in SciTE for GTK+ with command completion not detected when\n\tno output was produced by the command.\n      </li>\n      <li>\n\tBug fixed in SciTE for Windows where menus were not shown translated.\n      </li>\n      <li>\n\tBug fixed where words failed to display in line wrapping mode with visible\n\tline ends.\n      </li>\n      <li>\n\tBug fixed in SciTE where files opened from a session file were not closed.\n      </li>\n      <li>\n\tCosmetic flicker fixed when using Ctrl+Up and Ctrl+Down with some caret policies.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite147.zip?download\">Release 1.47</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 1 August 2002.\n      </li>\n      <li>\n\tSupport for GTK+ 2 in Scintilla. International input methods not supported\n\ton GTK+2.\n      </li>\n      <li>\n\tLine wrapping performance improved greatly.\n      </li>\n      <li>\n\tNew caret policy implementation that treats horizontal and vertical\n\tpositioning equivalently and independently. Old caret policy methods\n\tdeprecated and not all options work correctly with old methods.\n      </li>\n      <li>\n\tExtra fold points for C, C++, Java, ... for fold comments //{ .. //} and\n\t#if / #ifdef .. #endif and the #region .. #endregion feature of C#.\n      </li>\n      <li>\n\tScintilla method to find the height in pixels of a line. Currently returns the\n\tsame result for every line as all lines are same height.\n      </li>\n      <li>\n\tSeparate make file, scintilla_vc6.mak, for Scintilla to use Visual C++\n\tversion 6 since main makefile now assumes VS .NET.\n\tVS .NET project files available for combined Scintilla and\n\tSciTE in scite/boundscheck.\n      </li>\n      <li>\n\tSciTE automatically recognizes Unicode files based\n\ton their Byte Order Marks and switches to Unicode mode.\n\tOn Windows, where SciTE supports Unicode display, this\n\tallows display of non European characters.\n\tThe file is saved back into the same character encoding unless\n\tthe user decides to switch using the File | Encoding menu.\n      </li>\n      <li>\n\tHandling of character input changed so that a fillup character, typically '('\n\tdisplays a calltip when an autocompletion list was being displayed.\n      </li>\n      <li>\n\tMultiline strings lexed better for C++ and Lua.\n      </li>\n      <li>\n\tRegular expressions in JavaScript within hypertext files are lexed better.\n      </li>\n      <li>\n\tOn Windows, Scintilla exports a function called Scintilla_DirectFunction\n\tthat can be used the same as the function returned by GetDirectFunction.\n      </li>\n      <li>\n\tScintilla converts line endings of text obtained from the clipboard to\n\tthe current default line endings.\n      </li>\n      <li>\n\tNew SciTE property ensure.final.line.end can ensure that saved files\n\talways end with a new line as this is required by some tools.\n\tThe ensure.consistent.line.ends property ensures all line ends are the\n\tcurrent default when saving files.\n\tThe strip.trailing.spaces property now works on the buffer so the\n\tbuffer in memory and the file on disk are the same after a save is performed.\n      </li>\n      <li>\n\tThe SciTE expand abbreviation command again allows '|' characters\n\tin expansions to be quoted by using '||'.\n      </li>\n      <li>\n\tSciTE on Windows can send data to the find tool through standard\n\tinput rather than using a command line argument to avoid problems\n\twith quoting command line arguments.\n      </li>\n      <li>\n\tThe Stop Executing command in SciTE on Windows improved to send\n\ta Ctrl+Z character to the tool. Better messages when stopping a tool.\n      </li>\n      <li>\n\tAutocompletion can automatically \"fill up\" when one of a set of characters is\n\ttype with the autocomplete.&lt;lexer&gt;.fillups property.\n      </li>\n      <li>\n\tNew predefined properties in SciTE, SelectionStartColumn, SelectionStartLine,\n\tSelectionEndColumn, SelectionEndLine can be used to integrate with other\n\tapplications.\n      </li>\n      <li>\n\tEnvironment variables are available as properties in SciTE.\n      </li>\n      <li>\n\tSciTE on Windows keeps status line more current.\n      </li>\n      <li>\n\tAbbreviations work in SciTE on Linux when first opened.\n      </li>\n      <li>\n\tFile saving fixed in SciTE to ensure files are not closed when they can not be\n\tsaved because of file permissions. Also fixed a problem with buffers that\n\tcaused files to not be saved.\n      </li>\n      <li>\n\tSciTE bug fixed where monospace mode not remembered when saving files.\n\tSome searching options now remembered when switching files.\n      </li>\n      <li>\n\tSciTE on Linux now waits on child termination when it shuts a child down\n\tto avoid zombies.\n      </li>\n      <li>\n\tSciTE on Linux has a Print menu command that defaults to invoking a2ps.\n      </li>\n      <li>\n\tFixed incorrect highlighting of indentation guides in SciTE for Python.\n      </li>\n      <li>\n\tCrash fixed in Scintilla when calling GetText for 0 characters.\n      </li>\n      <li>\n\tExporting as LaTeX improved when processing backslashes and tabs\n\tand setting up font.\n      </li>\n      <li>\n\tCrash fixed in SciTE when exporting or copying as RTF.\n      </li>\n      <li>\n\tSciTE session loading fixed to handle more than 10 files in session.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite146.zip?download\">Release 1.46</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 10 May 2002.\n      </li>\n      <li>\n\tSet of lexers compiled into Scintilla can now be changed by adding and\n\tremoving lexer source files from scintilla/src and running LexGen.py.\n      </li>\n      <li>\n\tSCN_ZOOM notification provided by Scintilla when user changes zoom level.\n\tMethod to determine width of strings in pixels so that elements can be sized\n\trelative to text size.\n\tSciTE changed to keep line number column displaying a given\n\tnumber of characters.\n      </li>\n      <li>\n\tThe logical width of the document used to determine scroll bar range can be set.\n      </li>\n      <li>\n\tSetting to allow vertical scrolling to display last line at top rather than\n\tbottom of window.\n      </li>\n      <li>\n\tRead-only mode improved to avoid changing the selection in most cases\n\twhen a modification is attempted. Drag and drop cursors display correctly\n\tfor read-only in some cases.\n      </li>\n      <li>\n\tVisual C++ options in make files changed to suit Visual Studio .NET.\n      </li>\n      <li>\n\tScintilla.iface includes feature types for enumerations and lexers.\n      </li>\n      <li>\n\tLua lexer improves handling of literal strings and copes with nested literal strings.\n      </li>\n      <li>\n\tDiff lexer changed to treat lines starting with \"***\" similarly to \"---\".\n\tSymbolic names defined for lexical classes.\n      </li>\n      <li>\n\tnncrontab lexer improved.\n      </li>\n      <li>\n\tTurkish fonts (iso8859-9) supported on GTK+.\n      </li>\n      <li>\n\tAutomatic close tag feature for XML and HTML in SciTE.\n      </li>\n      <li>\n\tAutomatic indentation in SciTE improved.\n      </li>\n      <li>\n\tMaximum number of buffers available in SciTE increased. May be up to 100\n\talthough other restrictions on menu length limit the real maximum.\n      </li>\n      <li>\n\tSave a Copy command added to SciTE.\n      </li>\n      <li>\n\tExport as TeX command added to SciTE.\n      </li>\n      <li>\n\tExport as HTML command in SciTE respects Use Monospaced Font and\n\tbackground colour settings.\n      </li>\n      <li>\n\tCompilation problem on Solaris fixed.\n      </li>\n      <li>\n\tOrder of files displayed for SciTE's previous and next menu and key commands\n\tare now consistent.\n      </li>\n      <li>\n\tSaving of MRU in recent file changed so files open when SciTE quit\n\tare remembered.\n      </li>\n      <li>\n\tMore variants of ctags tags handled by Open Selected Filename in SciTE.\n      </li>\n      <li>\n\tJavaScript embedded in XML highlighted again.\n      </li>\n      <li>\n\tSciTE status bar updated after changing parameters in case they are being\n\tdisplayed in status bar.\n      </li>\n      <li>\n\tCrash fixed when handling some multi-byte languages.\n      </li>\n      <li>\n\tCrash fixed when replacing end of line characters.\n      </li>\n      <li>\n\tBug in SciTE fixed in multiple buffer mode where automatic loading\n\tturned on could lead to losing file contents.\n      </li>\n      <li>\n\tBug in SciTE on GTK+ fixed where dismissing dialogs with close box led to\n\tthose dialogs never being shown again.\n      </li>\n      <li>\n\tBug in SciTE on Windows fixed where position.tile with default positions\n\tled to SciTE being positioned off-screen.\n      </li>\n      <li>\n\tBug fixed in read-only mode, clearing all deletes contraction state data\n\tleading to it not being synchronized with text.\n      </li>\n      <li>\n\tCrash fixed in SciTE on Windows when tab bar displayed.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite145.zip?download\">Release 1.45</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 15 March 2002.\n      </li>\n      <li>\n\tLine layout cache implemented to improve performance by maintaining\n\tthe positioning of characters on lines. Can be set to cache nothing,\n\tthe line with the caret, the visible page or the whole document.\n      </li>\n      <li>\n\tSupport, including a new lexer, added for Matlab programs.\n      </li>\n      <li>\n\tLua folder supports folding {} ranges and compact mode.\n\tLua lexer styles floating point numbers in number style instead of\n\tsetting the '.' in operator style.\n\tUp to 6 sets of keywords.\n\tBetter support for [[ although only works well\n\twhen all on one line.\n      </li>\n      <li>\n\tPython lexer improved to handle floating point numbers that contain negative\n\texponents and that start with '.'.\n      </li>\n      <li>\n\tWhen performing a rectangular paste, the caret now remains at the\n\tinsertion point.\n      </li>\n      <li>\n\tOn Windows with a wheel mouse, page-at-a-time mode is recognized.\n      </li>\n      <li>\n\tRead-only mode added to SciTE with a property to initialize it and another property,\n\t$(ReadOnly) available to show this mode in the status bar.\n      </li>\n      <li>\n\tSciTE status bar can show the number of lines in the selection\n\twith the $(SelHeight) property.\n      </li>\n      <li>\n\tSciTE's \"Export as HTML\" command uses the current character set to produce\n\tcorrect output for non-Western-European character sets, such as Russian.\n      </li>\n      <li>\n\tSciTE's \"Export as RTF\" fixed to produce correct output when file contains '\\'.\n      </li>\n      <li>\n\tSciTE goto command accepts a column as well as a line.\n\tIf given a column, it selects the word at that column.\n      </li>\n      <li>\n\tSciTE's Build, Compile and Go commands are now disabled if no\n\taction has been assigned to them.\n      </li>\n      <li>\n\tThe Refresh button in the status bar has been removed from SciTE on Windows.\n      </li>\n      <li>\n\tBug fixed in line wrap mode where cursor up or down command did not work.\n      </li>\n      <li>\n\tSome styling bugs fixed that were due to a compilation problem with\n\tgcc and inline functions with same name but different code.\n      </li>\n      <li>\n\tThe way that lexers loop over text was changed to avoid accessing beyond the\n\tend or setting beyond the end. May fix some bugs and make the code safer but\n\tmay also cause new bugs.\n      </li>\n      <li>\n\tBug fixed in HTML lexer's handling of SGML.\n      </li>\n      <li>\n\tBug fixed on GTK+/X where lines wider than 32767 pixels did not display.\n      </li>\n      <li>\n\tSciTE bug fixed with file name generation for standard property files.\n      </li>\n      <li>\n\tSciTE bug fixed with Open Selected Filename command when used with\n\tfile name and line number combination.\n      </li>\n      <li>\n\tIn SciTE, indentation and tab settings stored with buffers so maintained correctly\n\tas buffers selected.\n\tThe properties used to initialize these settings can now be set separately for different\n\tfile patterns.\n      </li>\n      <li>\n\tThread safety improved on Windows with a critical section protecting the font\n\tcache and initialization of globals performed within Scintilla_RegisterClasses.\n\tNew Scintilla_ReleaseResources call provided to allow explicit freeing of resources\n\twhen statically bound into another application. Resources automatically freed\n\tin DLL version. The window classes are now unregistered as part of resource\n\tfreeing which fixes bugs that occurred in some containers such as Internet Explorer.\n      </li>\n      <li>\n\t'make install' fixed on Solaris.\n      </li>\n      <li>\n\tBug fixed that could lead to a file being opened twice in SciTE.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite144.zip?download\">Release 1.44</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 4 February 2002.\n      </li>\n      <li>\n\tCrashing bug fixed in Editor::Paint.\n      </li>\n      <li>\n\tLua lexer no longer treats '.' as a word character and\n\thandles 6 keyword sets.\n      </li>\n      <li>\n\tWordStartPosition and WordEndPosition take an onlyWordCharacters\n\targument.\n      </li>\n      <li>\n\tSciTE option for simplified automatic indentation which repeats\n\tthe indentation of the previous line.\n      </li>\n      <li>\n\tCompilation fix on Alpha because of 64 bit.\n      </li>\n      <li>\n\tCompilation fix for static linking.\n      </li>\n      <li>\n\tLimited maximum line length handled to 8000 characters as previous\n\tvalue of 16000 was causing stack exhaustion crashes for some.\n      </li>\n      <li>\n\tWhen whole document line selected, only the last display line gets\n\tthe extra selected rectangle at the right hand side rather than\n\tevery display line.\n      </li>\n      <li>\n\tCaret disappearing bug fixed for the case that the caret was not on the\n\tfirst display line of a document line.\n      </li>\n      <li>\n\tSciTE bug fixed where untitled buffer containing text was sometimes\n\tdeleted without chance to save.\n      </li>\n      <li>\n\tSciTE bug fixed where use.monospaced not working with\n\tmultiple buffers.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite143.zip?download\">Release 1.43</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 19 January 2002.\n      </li>\n      <li>\n\tLine wrapping robustness and performance improved in Scintilla.\n      </li>\n      <li>\n\tLine wrapping option added to SciTE for both edit and output panes.\n      </li>\n      <li>\n\tStatic linking on Windows handles cursor resource better.\n\tDocumentation of static linking improved.\n      </li>\n      <li>\n\tAutocompletion has an option to delete any word characters after the caret\n\tupon selecting an item.\n      </li>\n      <li>\n\tFOX version identified by PLAT_FOX in Platform.h.\n      </li>\n      <li>\n\tCalltips in SciTE use the calltip.&lt;lexer&gt;.word.characters setting to\n\tcorrectly find calltips for functions that include characters like '$' which\n\tis not normally considered a word character.\n      </li>\n      <li>\n\tSciTE has a command to show help on itself which gets hooked up to displaying\n\tSciTEDoc.html.\n      </li>\n      <li>\n\tSciTE option calltip.&lt;lexer&gt;.end.definition to display help text on a\n\tsecond line of calltip.\n      </li>\n      <li>\n\tFixed the handling of the Buffers menu on GTK+ to ensure current buffer\n\tindicated and no warnings occur.\n\tChanged some menu items on GTK+ version to be same as Windows version.\n      </li>\n      <li>\n\tuse.monospaced property for SciTE determines initial state of Use Monospaced Font\n\tsetting.\n      </li>\n      <li>\n\tThe SciTE Complete Symbol command now works when there are no word\n\tcharacters before the caret, even though it is slow to display the whole set of\n\tsymbols.\n      </li>\n      <li>\n\tFunction names removed from SciTE's list of PHP keywords. The full list of\n\tpredefined functions is available from another web site mentioned on the\n\tExtras page.\n      </li>\n      <li>\n\tCrashing bug at startup on GTK+ for some configurations fixed.\n      </li>\n      <li>\n\tCrashing bug on GTK+ on 64 bit platforms fixed.\n      </li>\n      <li>\n\tCompilation problem with some compilers fixed in GTK+.\n      </li>\n      <li>\n\tJapanese text entry improved on Windows 9x.\n      </li>\n      <li>\n        SciTE recent files directory problem on Windows when HOME and SciTE_HOME\n\tenvironment variables not set is now the directory of the executable.\n      </li>\n      <li>\n\tSession files no longer include untitled buffers.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite142.zip?download\">Release 1.42</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 24 December 2001.\n      </li>\n      <li>\n\tBetter localization support including context menus and most messages.\n\tTranslations of the SciTE user interface available for Bulgarian,\n\tFrench, German, Italian, Russian, and Turkish.\n      </li>\n      <li>\n\tCan specify a character to use to indicate control characters\n\trather than having them displayed as mnemonics.\n      </li>\n      <li>\n\tScintilla key command for backspace that will not delete line\n\tend characters.\n      </li>\n      <li>\n\tScintilla method to find start and end of words.\n      </li>\n      <li>\n\tSciTE on GTK+ now supports the load.on.activate and save.on.deactivate\n\tproperties in an equivalent way to the Windows version.\n      </li>\n      <li>\n\tThe output pane of SciTE on Windows is now interactive so command line\n\tutilities that prompt for input or confirmation can be used.\n      </li>\n      <li>\n\tSciTE on Windows can choose directory for a \"Find in Files\"\n\tcommand like the GTK+ version could.\n      </li>\n      <li>\n\tSciTE can now load a set of API files rather than just one file.\n      </li>\n      <li>\n\tElapsedTime class added to Platform for accurate measurement of durations.\n\tUsed for debugging and for showing the user how long commands take in SciTE.\n      </li>\n      <li>\n\tBaan lexer added.\n      </li>\n      <li>\n\tIn C++ lexer, document comment keywords no longer have to be at the start\n\tof the line.\n      </li>\n      <li>\n\tPHP lexer changed to match keywords case insensitively.\n      </li>\n      <li>\n\tMore shell keywords added.\n      </li>\n      <li>\n\tSciTE support for VoiceXML added to xml.properties.\n      </li>\n       <li>\n\tIn SciTE the selection is not copied to the find field of the Search and Replace\n\tdialogs if it contains end of line characters.\n      </li>\n      <li>\n\tSciTE on Windows has a menu item to decide whether to respond to other\n\tinstances which are performing their check.if.already.open check.\n      </li>\n      <li>\n\tSciTE accelerator key for Box Comment command changed to avoid problems\n\tin non-English locales.\n      </li>\n      <li>\n\tSciTE context menu includes Close command for the editor pane and\n\tHide command for the output pane.\n      </li>\n      <li>\n\toutput: command added to SciTE director interface to add text to the\n\toutput pane. The director interface can execute commands (such as tool\n\tcommands with subsystem set to 3) by sending a macro:run message.\n      </li>\n      <li>\n\tSciTE on GTK+ will defer to the Window Manager for position if position.left or\n\tposition.top not set and for size if position.width or position.height not set.\n      </li>\n      <li>\n\tSciTE on Windows has a position.tile property to place a second instance\n\tto the right of the first.\n      </li>\n      <li>\n\t Scintilla on Windows again supports EM_GETSEL and EM_SETSEL.\n      </li>\n      <li>\n\tProblem fixed in Scintilla on Windows where control ID is no longer cached\n\tas it could be changed by external code.\n      </li>\n      <li>\n\tProblems fixed in SciTE on Windows when finding any other open instances at\n\tstart up when check.if.already.open is true.\n      </li>\n      <li>\n\tBugs fixed in SciTE where command strings were not always having\n\tvariables evaluated.\n      </li>\n      <li>\n\tBugs fixed with displaying partial double-byte and Unicode characters\n\tin rectangular selections and at the edge when edge mode is EDGE_BACKGROUND.\n\tColumn numbers reported by GetColumn treat multiple byte characters as one column\n\trather than counting bytes.\n      </li>\n      <li>\n\tBug fixed with caret movement over folded lines.\n      </li>\n      <li>\n        Another bug fixed with tracking selection in secondary views when performing\n\tmodifications.\n      </li>\n      <li>\n\tHorizontal scrolling and display of long lines optimized.\n      </li>\n      <li>\n\tCursor setting in Scintilla on GTK+ optimized.\n      </li>\n      <li>\n\tExperimental changeable style attribute.\n\tSet to false to make text read-only.\n\tCurrently only stops caret from being within not-changeable\n\ttext and does not yet stop deleting a range that contains\n\tnot-changeable text.\n\tCan be used from SciTE by adding notchangeable to style entries.\n      </li>\n      <li>\n\tExperimental line wrapping.\n\tCurrently has performance and appearance problems.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite141.zip?download\">Release 1.41</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 6 November 2001.\n      </li>\n      <li>\n        Changed Platform.h to not include platform\theaders. This lessens likelihood and impact of\n\tname clashes from system headers and also speeds up compilation.\n\tRenamed DrawText to DrawTextNoClip to avoid name clash.\n      </li>\n      <li>\n        Changed way word functions work to treat a sequence of punctuation as\n\ta word. This is more sensible and also more compatible with other editors.\n      </li>\n      <li>\n        Cursor changes over the margins and selection on GTK+ platform.\n      </li>\n      <li>\n        SC_MARK_BACKGROUND is a marker that only changes the line's background colour.\n      </li>\n      <li>\n\tEnhanced Visual Basic lexer handles character date and octal literals,\n\tand bracketed keywords for VB.NET. There are two VB lexers, vb and vbscript\n\twith type indication characters like ! and $ allowed at the end of identifiers\n\tin vb but not vbscript. Lexer states now separate from those used for C++ and\n\tnames start with SCE_B.\n      </li>\n      <li>\n         Lexer added for Bullant language.\n      </li>\n      <li>\n         The horizontal scroll position, xOffset, is now exposed through the API.\n      </li>\n      <li>\n         The SCN_POSCHANGED notification is deprecated as it was causing confusion.\n\t Use SCN_UPDATEUI  instead.\n      </li>\n      <li>\n         Compilation problems fixed for some versions of gcc.\n      </li>\n      <li>\n        Support for WM_GETTEXT restored on Windows.\n      </li>\n      <li>\n        Double clicking on an autocompletion list entry works on GTK+.\n      </li>\n      <li>\n        Bug fixed with case insensitive sorts for autocompletion lists.\n      </li>\n      <li>\n        Bug fixed with tracking selection in secondary views when performing modifications.\n      </li>\n      <li>\n        SciTE's abbreviation expansion feature will now indent expansions to the current\n\tindentation level if indent.automatic is on.\n      </li>\n      <li>\n        SciTE allows setting up of parameters to commands from a dialog and can also\n       show this dialog automatically to prompt for arguments when running a command.\n      </li>\n      <li>\n        SciTE's Language menu (formerly Options | Use Lexer) is now defined by the\n\tmenu.language property rather than being hardcoded.\n      </li>\n      <li>\n        The user interface of SciTE can be localized to a particular language by editing\n\ta locale.properties file.\n      </li>\n      <li>\n        On Windows, SciTE will try to move to the front when opening a new file from\n\tthe shell and using check.if.already.open.\n      </li>\n      <li>\n        SciTE can display the file name and directory in the title bar in the form\n\t\"file @ directory\" when title.full.path=2.\n      </li>\n      <li>\n        The SciTE time.commands property reports the time taken by a command as well\n\tas its status when completed.\n      </li>\n      <li>\n        The SciTE find.files property is now a list separated by '|' characters and this list is\n\tadded into the Files pull down of the Find in Files dialog.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite140.zip?download\">Release 1.40</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 23 September 2001.\n      </li>\n      <li>\n\tRemoval of emulation of Win32 RichEdit control in core of Scintilla.\n\t<em>This change may be incompatible with existing client code.</em>\n\tSome emulation still done in Windows platform layer.\n      </li>\n      <li>\n\tSGML support in the HTML/XML lexer.\n      </li>\n      <li>\n\tSciTE's \"Stop Executing\" command will terminate GUI programs on\n\tWindows NT and Windows 2000.\n      </li>\n      <li>\n\tStyleContext class helps construct lexers that are simple and accurate.\n\tUsed in the C++, Eiffel, and Python lexers.\n      </li>\n      <li>\n\tClipboard operations in GTK+ version convert between platform '\\n' line endings and\n\tcurrently chosen line endings.\n      </li>\n      <li>\n\tAny character in range 0..255 can be used as a marker.\n\tThis can be used to support numbered bookmarks, for example.\n      </li>\n      <li>\n\tThe default scripting language for ASP can be set.\n      </li>\n      <li>\n\tNew lexer and other support for crontab files used with the nncron scheduler.\n      </li>\n      <li>\n\tFolding of Python improved.\n      </li>\n      <li>\n\tThe ` character is treated as a Python operator.\n      </li>\n      <li>\n\tLine continuations (\"\\\" at end of line) handled inside Python strings.\n      </li>\n      <li>\n\tMore consistent handling of line continuation ('\\' at end of line) in\n\tC++ lexer.\n\tThis fixes macro definitions that span more than one line.\n      </li>\n      <li>\n\tC++ lexer can understand Doxygen keywords in doc comments.\n      </li>\n      <li>\n\tSciTE on Windows allows choosing to open the \"open\" dialog on the directory\n\tof the current file rather than in the default directory.\n      </li>\n      <li>\n\tSciTE on Windows handles command line arguments in \"check.if.already.open\"\n\tcorrectly when the current directory of the new instance is different to the\n\talready open instance of SciTE.\n      </li>\n      <li>\n\t\"cwd\" command (change working directory) defined for SciTE director interface.\n      </li>\n      <li>\n\tSciTE \"Export As HTML\" produces better, more compliant, and shorter files.\n      </li>\n      <li>\n\tSciTE on Windows allows several options for determining default file name\n\tfor exported files.\n      </li>\n      <li>\n\tAutomatic indentation of Python in SciTE fixed.\n      </li>\n      <li>\n\tExported HTML can support folding.\n      </li>\n      <li>\n\tBug fixed in SCI_GETTEXT macro command of director interface.\n      </li>\n      <li>\n\tCursor leak fixed on GTK+.\n      </li>\n      <li>\n\tDuring SciTE shutdown, \"identity\" messages are no longer sent over the director interface.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite139.zip?download\">Release 1.39</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 22 August 2001.\n      </li>\n      <li>\n\tWindows version requires msvcrt.dll to be available so will not work\n\ton original Windows 95 version 1. The msvcrt.dll file is installed\n\tby almost everything including Internet Explorer so should be available.\n      </li>\n      <li>\n\tFlattened tree control style folding margin. The SciTE fold.plus option is\n\tnow fold.symbols and has more values for the new styles.\n      </li>\n      <li>\n\tMouse dwell events are generated when the user holds the mouse steady\n\tover Scintilla.\n      </li>\n      <li>\n      PositionFromPointClose is like PositionFromPoint but returns\n      INVALID_POSITION when point outside window or after end of line.\n      </li>\n      <li>\n      Input of Hungarian and Russian characters in GTK+ version works by\n      truncating input to 8 bits if in the range of normal characters.\n      </li>\n      <li>\n      Better choices for font descriptors on GTK+ for most character sets.\n      </li>\n      <li>\n      GTK+ Scintilla is destroyed upon receiving destroy signal rather than\n      destroy_event signal.\n      </li>\n      <li>\n      Style setting that force upper or lower case text.\n      </li>\n      <li>\n      Case-insensitive autocompletion lists work correctly.\n      </li>\n      <li>\n      Keywords can be prefix based so ^GTK_ will treat all words that start\n      with GTK_ as keywords.\n      </li>\n      <li>\n      Horizontal scrolling can be jumpy rather than gradual.\n      </li>\n      <li>\n      GetSelText places a '\\0' in the buffer if the selection is empty..\n      </li>\n      <li>\n      EnsureVisible split into two methods EnsureVisible which will not scroll to show\n      the line and EnsureVisibleEnforcePolicy which may scroll.\n      </li>\n      <li>\n      Python folder has options to fold multi-line comments and triple quoted strings.\n      </li>\n      <li>\n      C++ lexer handles keywords before '.' like \"this.x\" in Java as keywords.\n      Compact folding mode option chooses whether blank lines after a structure are\n      folded with that structure. Second set of keywords with separate style supported.\n      </li>\n      <li>\n      Ruby lexer handles multi-line comments.\n      </li>\n      <li>\n      VB has folder.\n      </li>\n      <li>\n      PHP lexer has an operator style, handles \"&lt;?\" and \"?&gt;\" inside strings\n      and some comments.\n      </li>\n      <li>\n      TCL lexer which is just an alias for the C++ lexer so does not really\n      understand TCL syntax.\n      </li>\n      <li>\n      Error lines lexer has styles for Lua error messages and .NET stack traces.\n      </li>\n      <li>\n      Makefile lexer has a target style.\n      </li>\n      <li>\n      Lua lexer handles some [[]] string literals.\n      </li>\n      <li>\n      HTML and XML lexer have a SCE_H_SGML state for tags that\n      start with \"&lt;!\".\n      </li>\n      <li>\n      Fixed Scintilla bugs with folding. When modifications were performed near\n      folded regions sometimes no unfolding occurred when it should have. Deleting a\n      fold causing character sometimes failed to update fold information correctly.\n      </li>\n      <li>\n      Better support for Scintilla on GTK+ for Win32 including separate\n      PLAT_GTK_WIN32 definition and correct handling of rectangular selection\n      with clipboard operations.\n      </li>\n      <li>\n      SciTE has a Tools | Switch Pane (Ctrl+F6) command to switch focus between\n      edit and output panes.\n      </li>\n      <li>\n      SciTE option output.scroll allows automatic scrolling of output pane to\n      be turned off.\n      </li>\n      <li>\n      Commands can be typed into the SciTE output pane similar to a shell window.\n      </li>\n      <li>\n      SciTE properties magnification and output magnification set initial zoom levels.\n      </li>\n      <li>\n      Option for SciTE comment block command to place comments at start of line.\n      </li>\n      <li>\n       SciTE for Win32 has an option to minimize to the tray rather than the task bar.\n      </li>\n      <li>\n      Close button on SciTE tool bar for Win32.\n      </li>\n      <li>\n      SciTE compiles with GCC 3.0.\n      </li>\n      <li>\n      SciTE's automatic indentation of C++ handles braces without preceding keyword\n      correctly.\n      </li>\n      <li>\n      Bug fixed with GetLine method writing past the end of where it should.\n      </li>\n      <li>\n      Bug fixed with mouse drag automatic scrolling when some lines were folded.\n      </li>\n      <li>\n      Bug fixed because caret XEven setting was inverted.\n      </li>\n      <li>\n      Bug fixed where caret was initially visible even though window was not focussed.\n      </li>\n      <li>\n      Bug fixed where some file names could end with \"\\\\\" which caused slow\n      downs on Windows 9x.\n      </li>\n      <li>\n      On Win32, SciTE Replace dialog starts with focus on replacement text.\n      </li>\n      <li>\n      SciTE Go to dialog displays correct current line.\n      </li>\n      <li>\n      Fixed bug with SciTE opening multiple files at once.\n      </li>\n      <li>\n      Fixed bug with Unicode key values reported to container truncated.\n      </li>\n      <li>\n      Fixed bug with unnecessary save point notifications.\n      </li>\n      <li>\n      Fixed bugs with indenting and unindenting at start of line.\n      </li>\n      <li>\n      Monospace Font setting behaves more consistently.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite138.zip?download\">Release 1.38</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 23 May 2001.\n      </li>\n      <li>\n\tLoadable lexer plugins on Windows.\n      </li>\n      <li>\n\tRuby lexer and support.\n      </li>\n      <li>\n\tLisp lexer and support.\n      </li>\n      <li>\n\tEiffel lexer and support.\n      </li>\n      <li>\n\tModes for better handling of Tab and BackSpace keys within\n\tindentation. Mode to avoid autocompletion list cancelling when\n\tthere are no viable matches.\n      </li>\n      <li>\n\tReplaceTarget replaced with two calls ReplaceTarget\n\t(which is incompatible with previous ReplaceTarget) and\n\tReplaceTargetRE. Both of these calls have a count first\n\tparameter which allows using strings containing nulls.\n\tSearchInTarget and SetSearchFlags functions allow\n\tspecifying a search in several simple steps which helps\n\tsome clients which can not create structs or pointers easily.\n      </li>\n      <li>\n\tAsian language input through an Input Method Editor works\n\ton Windows 2000.\n      </li>\n      <li>\n\tOn Windows, control characters can be entered through use of\n\tthe numeric keypad in conjunction with the Alt key.\n      </li>\n      <li>\n\tDocument memory allocation changed to grow exponentially\n\twhich reduced time to load a 30 Megabyte file from\n\t1000 seconds to 25. Change means more memory may be used.\n      </li>\n      <li>\n\tWord part movement keys now handled in Scintilla rather than\n\tSciTE.\n      </li>\n      <li>\n\tRegular expression '^' and '$' work more often allowing insertion\n\tof text at start or end of line with a replace command.\n\tBackslash quoted control characters \\a, \\b, \\f, \\t, and \\v\n\trecognized within sets.\n      </li>\n      <li>\n\tSession files for SciTE.\n      </li>\n      <li>\n\tExport as PDF command hidden in SciTE as it often failed.\n\tCode still present so can be turned on by those willing to cope.\n      </li>\n      <li>\n\tBug fixed in HTML lexer handling % before &gt; as end ASP\n\teven when no start ASP encountered.\n        Bug fixed when scripts ended with a quoted string and\n        end tag was not seen.\n      </li>\n      <li>\n\tBug fixed on Windows where context menu key caused menu to\n\tappear in corner of screen rather than within window.\n      </li>\n      <li>\n\tBug fixed in SciTE's Replace All command not processing\n\twhole file when replace string longer than search string.\n      </li>\n      <li>\n\tBug fixed in SciTE's MRU list repeating entries if Ctrl+Tab\n\tused when all entries filled.\n      </li>\n      <li>\n\tConvertEOLs call documentation fixed.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite137.zip?download\">Release 1.37</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 17 April 2001.\n      </li>\n      <li>\n\tBug fixed with scroll bars being invisible on GTK+ 1.2.9.\n      </li>\n      <li>\n\tScintilla and SciTE support find and replace using simple regular\n\texpressions with tagged expressions. SciTE supports C '\\' escapes\n\tin the Find and Replace dialogs.\n\tReplace in Selection available in SciTE.\n      </li>\n      <li>\n\tScintilla has a 'target' feature for replacing code rapidly without\n\tcausing display updates.\n      </li>\n      <li>\n\tScintilla and SciTE on GTK+ support file dropping from file managers\n\tsuch as Nautilus and gmc. Files or other URIs dropped on Scintilla\n\tresult in a URIDropped notification.\n      </li>\n      <li>\n\tLexers may have separate Lex and Fold functions.\n      </li>\n      <li>\n\tLexer infrastructure improved to allow for plug in lexers and for referring\n\tto lexers by name rather than by ID.\n      </li>\n      <li>\n\tAda lexer and support added.\n      </li>\n      <li>\n\tOption in both Scintilla and SciTE to treat both left and right margin\n\tas equally important when repositioning visible area in response to\n\tcaret movement. Default is to prefer visible area positioning which\n\tminimizes the horizontal scroll position thus favouring the left margin.\n      </li>\n      <li>\n\tCaret line highlighting.\n      </li>\n      <li>\n\tCommands to delete from the caret to the end of line and\n\tfrom the caret to the beginning of line.\n      </li>\n      <li>\n\tSciTE has commands for inserting and removing block comments and\n\tfor inserting stream comments.\n      </li>\n      <li>\n\tSciTE Director interface uses C++ '\\' escapes to send control characters.\n      </li>\n      <li>\n\tSciTE Director interface adds more commands including support for macros.\n      </li>\n      <li>\n\tSciTE has menu options for recording and playing macros which are visible\n\twhen used with a companion program that supports these features.\n      </li>\n      <li>\n\tSciTE has an Expand Abbreviation command.\n\tAbbreviations are stored in a global abbrev.properties file.\n      </li>\n      <li>\n\tSciTE has a Full Screen command to switch between a normal window\n\tsize and using the full screen. On Windows, the menu bar can be turned\n\toff when in full screen mode.\n      </li>\n      <li>\n\tSciTE has a Use monospaced font command to switch between the normal\n\tset of fonts and one size of a particular fixed width font.\n      </li>\n      <li>\n\tSciTE's use of tabs can be controlled for particular file names\n\tas well as globally.\n      </li>\n      <li>\n\tThe contents of SciTE's status bar can be defined by a property and\n\tinclude variables. On Windows, several status bar definitions can be active\n\twith a click on the status bar cycling through them.\n      </li>\n      <li>\n\tCopy as RTF command in SciTE on Windows to allow pasting\n\tstyled text into word processors.\n      </li>\n      <li>\n\tSciTE can allow the use of non-alphabetic characters in\n\tComplete Symbol lists and can automatically display this autocompletion\n\tlist when a trigger character such as '.' is typed.\n\tComplete word can be set to pop up when the user is typing a word and\n\tthere is only one matching word in the document.\n      </li>\n      <li>\n\tSciTE lists the imported properties files on a menu to allow rapid\n\taccess to them.\n      </li>\n      <li>\n\tSciTE on GTK+ improvements to handling accelerator keys and focus\n\tin dialogs. Message boxes respond to key presses without the Alt key as\n\tthey have no text entries to accept normal keystrokes.\n      </li>\n      <li>\n\tSciTE on GTK+ sets the application icon.\n      </li>\n      <li>\n\tSciTE allows setting the colours used to indicate the current\n\terror line.\n      </li>\n      <li>\n\tVariables within PHP strings have own style. Keyword list updated.\n      </li>\n      <li>\n\tKeyword list for Lua updated for Lua 4.0.\n      </li>\n      <li>\n\tBug fixed in rectangular selection where rectangle still appeared\n\tselected after using cursor keys to move caret.\n      </li>\n      <li>\n\tBug fixed in C++ lexer when deleting a '{' controlling a folded range\n\tled to that range becoming permanently invisible.\n      </li>\n      <li>\n\tBug fixed in Batch lexer where comments were not recognized.\n      </li>\n      <li>\n\tBug fixed with undo actions coalescing into steps incorrectly.\n      </li>\n      <li>\n\tBug fixed with Scintilla on GTK+ positioning scroll bars 1 pixel\n\tover the Scintilla window leading to their sides being chopped off.\n      </li>\n      <li>\n\tBugs fixed in SciTE when doing some actions led to the start\n\tor end of the file being displayed rather than the current location.\n      </li>\n      <li>\n\tAppearance of calltips fixed to look like document text including\n\tany zoom factor. Positioned to be outside current line even when\n\tmultiple fonts and sizes used.\n      </li>\n      <li>\n\tBug fixed in Scintilla macro support where typing Enter caused both a newline\n\tcommand and newline character insertion to be recorded.\n      </li>\n      <li>\n\tBug fixed in SciTE on GTK+ where focus was moving\n\tbetween widgets incorrectly.\n      </li>\n      <li>\n\tBug fixed with fold symbols sometimes not updating when\n\tthe text changed.\n      </li>\n      <li>\n\tBugs fixed in SciTE's handling of folding commands.\n      </li>\n      <li>\n\tDeprecated undo collection enumeration removed from API.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite136.zip?download\">Release 1.36</a>\n    </h3>\n    <ul>\n      <li>\n\tReleased on 1 March 2001.\n      </li>\n      <li>\n\tScintilla supports GTK+ on Win32.\n      </li>\n      <li>\n\tSome untested work on making Scintilla and SciTE 64 bit compatible.\n\tFor users on GTK+ this requires including Scintilla.h before\n\tScintillaWidget.h.\n      </li>\n      <li>\n\tHTML lexer allows folding HTML.\n      </li>\n      <li>\n\tNew lexer for Avenue files which are used in the ESRI ArcView GIS.\n      </li>\n      <li>\n\tDOS Batch file lexer has states for '@', external commands, variables and\n\toperators.\n      </li>\n      <li>\n\tC++ lexer can fold comments of /* .. */ form.\n      </li>\n      <li>\n\tBetter disabling of pop up menu items in Scintilla when in read-only mode.\n      </li>\n      <li>\n\tStarting to move to Doxygen compatible commenting.\n      </li>\n      <li>\n\tDirector interface on Windows enables another application to control SciTE.\n      </li>\n      <li>\n\tOpening SciTE on Windows 9x sped up greatly for some cases.\n      </li>\n      <li>\n\tThe command.build.directory property allows SciTE to run the build\n\tcommand in a different directory to the source files.\n      </li>\n      <li>\n\tSciTE on Windows allows setting foreground and background colours\n\tfor printed headers and footers.\n      </li>\n      <li>\n\tBug fixed in finding calltips in SciTE which led to no calltips for some identifiers.\n      </li>\n      <li>\n\tDocumentation added for lexers and for the extension and director interfaces.\n      </li>\n      <li>\n\tSciTE menus rearranged with new View menu taking over some of the items that\n\twere under the Options menu. Clear All Bookmarks command added.\n      </li>\n      <li>\n\tClear Output command in SciTE.\n      </li>\n      <li>\n\tSciTE on Windows gains an Always On Top command.\n      </li>\n      <li>\n\tBug fixed in SciTE with attempts to define properties recursively.\n      </li>\n      <li>\n\tBug fixed in SciTE properties where only one level of substitution was done.\n      </li>\n      <li>\n\tBug fixed in SciTE properties where extensions were not being\n\tmatched in a case insensitive manner.\n      </li>\n      <li>\n\tBug fixed in SciTE on Windows where the Go to dialog displays the correct\n\tline number.\n      </li>\n      <li>\n\tIn SciTE, if fold.on.open set then switching buffers also performs fold.\n      </li>\n      <li>\n\tBug fixed in Scintilla where ensuring a line was visible in the presence of folding\n\toperated on the document line instead of the visible line.\n      </li>\n      <li>\n\tSciTE command line processing modified to operate on arguments in order and in\n\ttwo phases. First any arguments before the first file name are processed, then the\n\tUI is opened, then the remaining arguments are processed. Actions defined for the\n\tDirector interface (currently only \"open\") may also be used on the command line.\n\tFor example, \"SciTE -open:x.txt\" will start SciTE and open x.txt.\n      </li>\n      <li>\n\tNumbered menu items SciTE's Buffers menu and the Most Recently Used portion\n\tof the File menu go from 1..0 rather than 0..9.\n      </li>\n      <li>\n\tThe tab bar in SciTE for Windows has numbers.\n\tThe tab.hide.one option hides the tab bar until there is more than one buffer open.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite135.zip?download\">Release 1.35</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 29 January 2001.\n      </li>\n      <li>\n        Rewritten and simplified widget code for the GTK+ version to enhance\n        solidity and make more fully compliant with platform norms. This includes more\n        normal handling of keystrokes so they are forwarded to containers correctly.\n      </li>\n      <li>\n        User defined lists can be shown.\n      </li>\n      <li>\n        Many fixes to the Perl lexer.\n      </li>\n      <li>\n        Pascal lexer handles comments more correctly.\n      </li>\n      <li>\n        C/C++/Java/JavaScipt lexer has a state for line doc comments.\n      </li>\n      <li>\n        Error output lexer understands Sun CC messages.\n      </li>\n      <li>\n        Make file lexer has variable, preprocessor, and operator states.\n      </li>\n      <li>\n        Wider area given to an italics character that is at the end of a line to prevent it\n\tbeing cut off.\n      </li>\n      <li>\n        Call to move the caret inside the currently visible area.\n      </li>\n      <li>\n        Paste Rectangular will space fill on the left hand side of the pasted text as\n\tneeded to ensure it is kept rectangular.\n      </li>\n      <li>\n        Cut and Paste Rectangular does nothing in read-only mode.\n      </li>\n      <li>\n        Undo batching changed so that a paste followed by typing creates two undo actions..\n      </li>\n      <li>\n        A \"visibility policy\" setting for Scintilla determines which range of lines are displayed\n\twhen a particular line is moved to. Also exposed as a property in SciTE.\n      </li>\n      <li>\n        SciTE command line allows property settings.\n      </li>\n      <li>\n        SciTE has a View Output command to hide or show the output pane.\n      </li>\n      <li>\n        SciTE's Edit menu has been split in two with searching commands moved to a\n\tnew Search menu. Find Previous and Previous Bookmark are in the Search menu.\n      </li>\n      <li>\n        SciTE on Windows has options for setting print margins, headers and footers.\n      </li>\n      <li>\n        SciTE on Windows has tooltips for toolbar.\n      </li>\n      <li>\n        SciTE on GTK+ has properties for setting size of file selector.\n      </li>\n      <li>\n        Visual and audio cues in SciTE on Windows enhanced.\n      </li>\n      <li>\n        Fixed performance problem in SciTE for GTK+ by dropping the extra 3D\n        effect on the content windows.\n      </li>\n      <li>\n        Fixed problem in SciTE where choosing a specific lexer then meant\n        that no lexer was chosen when files opened.\n      </li>\n      <li>\n        Default selection colour changed to be visible on low colour displays.\n      </li>\n      <li>\n        Fixed problems with automatically reloading changed documents in SciTE on\n        Windows.\n      </li>\n      <li>\n        Fixed problem with uppercase file extensions in SciTE.\n      </li>\n      <li>\n        Fixed some problems when using characters >= 128, some of which were being\n        incorrectly treated as spaces.\n      </li>\n      <li>\n        Fixed handling multiple line tags, non-inline scripts, and XML end tags /&gt; in HTML/XML lexer.\n      </li>\n      <li>\n        Bookmarks in SciTE no longer disappear when switching between buffers.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite134.zip?download\">Release 1.34</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 28 November 2000.\n      </li>\n      <li>\n        Pascal lexer.\n      </li>\n      <li>\n        Export as PDF in SciTE.\n      </li>\n      <li>\n        Support for the OpenVMS operating system in SciTE.\n      </li>\n      <li>\n        SciTE for GTK+ can check for another instance of SciTE\n\tediting a file and switch to it rather than open a second instance\n\ton one file.\n      </li>\n      <li>\n        Fixes to quoting and here documents in the Perl lexer.\n      </li>\n      <li>\n        SciTE on Windows can give extra visual and audio cues when a\n\twarning is shown or find restarts from beginning of file.\n      </li>\n      <li>\n        Open Selected Filename command in SciTE. Also understands some\n\twarning message formats.\n      </li>\n      <li>\n        Wider area for line numbers when printing.\n      </li>\n      <li>\n        Better scrolling performance on GTK+.\n      </li>\n      <li>\n        Fixed problem where rectangles with negative coordinates were\n\tinvalidated leading to trouble with platforms that use\n\tunsigned coordinates.\n      </li>\n      <li>\n        GTK+ Scintilla uses more compliant signalling code so that keyboard\n\tevents should propagate to containers.\n      </li>\n      <li>\n        Bug fixed with opening full or partial paths.\n      </li>\n      <li>\n        Improved handling of paths in error messages in SciTE.\n      </li>\n      <li>\n        Better handling of F6 in SciTE.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite133.zip?download\">Release 1.33</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 6 November 2000.\n      </li>\n      <li>\n        XIM support for the GTK+ version of Scintilla ensures that more non-English\n        characters can be typed.\n      </li>\n      <li>\n        Caret may be 1, 2, or 3 pixels wide.\n      </li>\n      <li>\n        Cursor may be switched to wait image during lengthy processing.\n      </li>\n      <li>\n        Scintilla's internal focus flag is exposed for clients where focus is handled in\n        complex ways.\n      </li>\n      <li>\n        Error status defined for Scintilla to hold indication that an operation failed and the reason\n        for that failure. No detection yet implemented but clients may start using the interface\n        so as to be ready for when it does.\n      </li>\n      <li>\n        Context sensitive help in SciTE.\n      </li>\n      <li>\n        CurrentWord property available in SciTE holding the value of the word the\n        caret is within or near.\n      </li>\n      <li>\n        Apache CONF file lexer.\n      </li>\n      <li>\n        Changes to Python lexer to allow 'as' as a context sensitive keyword and the\n        string forms starting with u, r, and ur to be recognized.\n      </li>\n      <li>\n        SCN_POSCHANGED notification now working and SCN_PAINTED notification added.\n      </li>\n      <li>\n        Word part movement commands for cursoring between the parts of reallyLongCamelIdentifiers and\n        other_ways_of_making_words.\n      </li>\n      <li>\n        When text on only one line is selected, Shift+Tab moves to the previous tab stop.\n      </li>\n      <li>\n        Tab control available for Windows version of SciTE listing all the buffers\n        and making it easy to switch between them.\n      </li>\n      <li>\n        SciTE can be set to automatically determine the line ending type from the contents of a\n        file when it is opened.\n      </li>\n      <li>\n        Dialogs in GTK+ version of SciTE made more modal and have accelerator keys.\n      </li>\n      <li>\n        Find in Files command in GTK+ version of SciTE allows choice of directory.\n      </li>\n      <li>\n        On Windows, multiple files can be opened at once.\n      </li>\n      <li>\n        SciTE source broken up into more files.\n      </li>\n      <li>\n        Scintilla headers made safe for C language, not just C++.\n      </li>\n      <li>\n        New printing modes - force background to white and force default background to white.\n      </li>\n      <li>\n        Automatic unfolding not occurring when Enter pressed at end of line bug fixed.\n      </li>\n      <li>\n        Bugs fixed in line selection.\n      </li>\n      <li>\n        Bug fixed with escapes in PHP strings in the HTML lexer.\n      </li>\n      <li>\n        Bug fixed in SciTE for GTK+ opening files when given full paths.\n      </li>\n      <li>\n        Bug fixed in autocompletion where user backspaces into existing text.\n      </li>\n      <li>\n        Bugs fixed in opening files and ensuring they are saved before running.\n        A case bug also fixed here.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite132.zip?download\">Release 1.32</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 8 September 2000.\n      </li>\n      <li>\n        Fixes bugs in complete word and related code. Protection against a bug when\n\treceiving a bad argument.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite131.zip?download\">Release 1.31</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 6 September 2000.\n      </li>\n      <li>\n        Scintilla is available as a COM control from the scintillactrl module in CVS.\n      </li>\n      <li>\n        Style setting to underline text. Exposed in SciTE as \"underlined\".\n      </li>\n      <li>\n        Style setting to make text invisible.\n      </li>\n      <li>\n        SciTE has an extensibility interface that can be used to implement features such as\n        a scripting language or remote control. An example use of this is the extlua module\n        available from CVS which allows SciTE to be scripted in Lua.\n      </li>\n      <li>\n        Many minor fixes to all of the lexers.\n      </li>\n      <li>\n        New lexer for diff and patch files.\n      </li>\n      <li>\n        Error message lexer understands Perl error messages.\n      </li>\n      <li>\n        C/C++/Java lexer now supports C#, specifically verbatim strings and\n\t@ quoting of identifiers that are the same as keywords. SciTE has\n\ta set of keywords for C# and a build command set up for C#.\n      </li>\n      <li>\n        Scintilla property to see whether in overtype or insert state.\n      </li>\n      <li>\n         PosChanged notification fired when caret moved.\n      </li>\n      <li>\n        Comboboxes in dialogs in SciTE on Windows can be horizontally scrolled.\n      </li>\n      <li>\n        Autocompletion and calltips can treat the document as case sensitive or\n        case insensitive.\n      </li>\n      <li>\n        Autocompletion can be set to automatically choose the only\n\telement in a single element list.\n      </li>\n      <li>\n        Set of characters that automatically complete an autocompletion list\n\tcan be set.\n      </li>\n      <li>\n        SciTE command to display calltip - useful when dropped because of\n\tediting.\n      </li>\n      <li>\n        SciTE has a Revert command to go back to the last saved version.\n      </li>\n      <li>\n        SciTE has an Export as RTF command. Save as HTML is renamed\n\tto Export as HTML and is located on the Export sub menu.\n      </li>\n      <li>\n        SciTE command \"Complete Word\" searches document for any\n\twords starting with characters before caret.\n      </li>\n      <li>\n        SciTE options for changing aspects of the formatting of files exported\n\tas HTML or RTF.\n      </li>\n      <li>\n        SciTE \"character.set\" option for choosing the character\n\tset for all fonts.\n      </li>\n      <li>\n        SciTE has a \"Toggle all folds\" command.\n      </li>\n      <li>\n        The makefiles have changed. The makefile_vc and\n\tmakefile_bor files in scintilla/win32 and scite/win32 have been\n\tmerged into scintilla/win32/scintilla.mak and scite/win32/scite.mak.\n\tDEBUG may be defined for all make files and this will turn on\n\tassertions and for some make files will choose other debugging\n\toptions.\n      </li>\n      <li>\n         To make debugging easier and allow good use of BoundsChecker\n\t there is a Visual C++ project file in scite/boundscheck that builds\n\t all of Scintilla and SciTE into one executable.\n      </li>\n      <li>\n         The size of the SciTE output window can be set with the\n\t output.horizontal.size and output.vertical.size settings.\n      </li>\n      <li>\n         SciTE status bar indicator for insert or overwrite mode.\n      </li>\n      <li>\n        Performance improvements to autocompletion and calltips.\n      </li>\n      <li>\n        A caret redraw problem when undoing is fixed.\n      </li>\n      <li>\n        Crash with long lines fixed.\n      </li>\n      <li>\n        Bug fixed with merging markers when lines merged.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite130.zip?download\">Release 1.30</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 26 July 2000.\n      </li>\n      <li>\n        Much better support for PHP which is now an integral part of the HTML support.\n      </li>\n      <li>\n        Start replacement of Windows-specific APIs with cross platform APIs.\n        In 1.30, the new APIs are introduced but the old APIs are still available.\n        For the GTK+ version, may have to include \"WinDefs.h\" explicitly to\n        use the old APIs.\n      </li>\n      <li>\n        \"if\" and \"import\" statements in SciTE properties files allows modularization into\n        language-specific properties files and choices based upon platform.\n        This means that SciTE is delivered with 9 language-specific properties files\n        as well as the standard SciTEGlobal.properties file.\n      </li>\n      <li>\n        Much lower resource usage on Windows 9x.\n      </li>\n      <li>\n        \"/p\" option in SciTE on Windows for printing a file and then exiting.\n      </li>\n      <li>\n        Options for printing with inverted brightness (when the screen is set to use\n        a dark background) and to force black on white printing.\n      </li>\n      <li>\n        Option for printing magnified or miniaturized from screen settings.\n      </li>\n      <li>\n        In SciTE, Ctrl+F3 and Ctrl+Shift+F3 find the selection in the forwards and backwards\n        directions respectively.\n      </li>\n      <li>\n        Auto-completion lists may be set to cancel when the cursor goes before\n        its start position or before the start of string being completed.\n      </li>\n      <li>\n        Auto-completion lists automatically size more sensibly.\n      </li>\n      <li>\n        SCI_CLEARDOCUMENTSTYLE zeroes all style bytes, ensures all\n        lines are shown and deletes all folding information.\n      </li>\n      <li>\n        On Windows, auto-completion lists are visually outdented rather than indented.\n      </li>\n      <li>\n        Close all command in SciTE.\n      </li>\n      <li>\n        On Windows multiple files can be dragged into SciTE.\n      </li>\n      <li>\n        When saving a file, the SciTE option save.deletes.first deletes it before doing the save.\n        This allows saving with a different capitalization on Windows.\n      </li>\n      <li>\n        When use tabs option is off pressing the tab key inserts spaces.\n      </li>\n      <li>\n        Bug in indicators leading to extra line drawn fixed.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite128.zip?download\">Release 1.28</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 27 June 2000.\n      </li>\n      <li>\n         Fixes crash in indentation guides when indent size set to 0.\n      </li>\n      <li>\n         Fixes to installation on GTK+/Linux. User properties file on GTK+ has a dot at front of name:\n         .SciTEUser.properties. Global properties file location configurable at compile time\n         defaulting to $prefix/share/scite. $prefix determined from Gnome if present else its\n         /usr/local and can be overridden by installer. Gnome menu integration performed in\n         make install if Gnome present.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite127.zip?download\">Release 1.27</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 23 June 2000.\n      </li>\n      <li>\n         Indentation guides. View whitespace mode may be set to not display whitespace\n\t in indentation.\n      </li>\n      <li>\n        Set methods have corresponding gets for UndoCollection, BufferedDraw,\n\tCodePage, UsePalette, ReadOnly, CaretFore, and ModEventMask.\n      </li>\n      <li>\n        Caret is continuously on rather than blinking while typing or holding down\n\tdelete or backspace. And is now always shown if non blinking when focused on GTK+.\n      </li>\n      <li>\n        Bug fixed in SciTE with file extension comparison now done in case insensitive way.\n      </li>\n      <li>\n        Bugs fixed in SciTE's file path handling on Windows.\n      </li>\n      <li>\n        Bug fixed with preprocessor '#' last visible character causing hang.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite126.zip?download\">Release 1.26</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 13 June 2000.\n      </li>\n      <li>\n         Support for the Lua language in both Scintilla and SciTE.\n      </li>\n      <li>\n        Multiple buffers may be open in SciTE.\n      </li>\n      <li>\n        Each style may have a character set configured. This may determine\n\tthe characters that are displayed by the style.\n      </li>\n      <li>\n         In the C++ lexer, lexing of preprocessor source may either treat it all as being in\n\t the preprocessor class or only the initial # and preprocessor command word as\n\t being in the preprocessor class.\n      </li>\n      <li>\n        Scintilla provides SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, and\n\tSCI_RELEASEDOCUMENT to make it easier for a container to deal with multiple\n\tdocuments.\n      </li>\n      <li>\n        GTK+ specific definitions in Scintilla.h were removed to ScintillaWidget.h. All GTK+ clients will need to\n\t#include \"ScintillaWidget.h\".\n      </li>\n      <li>\n        For GTK+, tools can be executed in the background by setting subsystem to 2.\n      </li>\n      <li>\n        Keys in the properties files are now case sensitive. This leads to a performance increase.\n      </li>\n      <li>\n        Menu to choose which lexer to use on a file.\n      </li>\n      <li>\n        Tab size dialog on Windows.\n      </li>\n      <li>\n        File dialogs enlarged on GTK+.\n      </li>\n      <li>\n         Match Brace command bound to Ctrl+E on both platforms with Ctrl+] a synonym on Windows.\n         Ctrl+Shift+E is select to matching brace. Brace matching tries to match to either the inside or the\n         outside, depending on whether the cursor is inside or outside the braces initially.\n\tView End of Line bound to Ctrl+Shift+O.\n      </li>\n      <li>\n        The Home key may be bound to move the caret to either the start of the line or the start of the\n        text on the line.\n      </li>\n      <li>\n        Visual C++ project file for SciTE.\n      </li>\n      <li>\n        Bug fixed with current x location after Tab key.\n      </li>\n      <li>\n        Bug fixed with hiding fold margin by setting fold.margin.width to 0.\n      </li>\n      <li>\n        Bugs fixed with file name confusion on Windows when long and short names used, or different capitalizations,\n\tor relative paths.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite125.zip?download\">Release 1.25</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 9 May 2000.\n      </li>\n      <li>\n        Some Unicode support on Windows. Treats buffer and API as UTF-8 and displays\n\tthrough UCS-2 of Windows.\n      </li>\n      <li>\n        Automatic indentation. Indentation size can be different to tab size.\n      </li>\n      <li>\n        Tool bar.\n      </li>\n      <li>\n        Status bar now on Windows as well as GTK+.\n      </li>\n      <li>\n        Input fields in Find and Replace dialogs now have history on both Windows and\n\tGTK+.\n      </li>\n      <li>\n        Auto completion list items may be separated by a chosen character to allow spaces\n\tin items. The selected item may be changed through the API.\n      </li>\n      <li>\n        Horizontal scrollbar can be turned off.\n      </li>\n      <li>\n        Property to remove trailing spaces when saving file.\n      </li>\n      <li>\n        On Windows, changed font size calculation to be more compatible with\n\tother applications.\n      </li>\n      <li>\n        On GTK+, SciTE's global properties files are looked for in the directory specified in the\n\tSCITE_HOME environment variable if it is set. This allows hiding in a dot directory.\n      </li>\n      <li>\n        Keyword lists in SciTE updated for JavaScript to include those destined to be used in\n\tthe future. IDL includes XPIDL keywords as well as MSIDL keywords.\n      </li>\n      <li>\n        Zoom level can be set and queried through API.\n      </li>\n      <li>\n        New notification sent before insertions and deletions.\n      </li>\n      <li>\n        LaTeX lexer.\n      </li>\n      <li>\n        Fixes to folding including when deletions and additions are performed.\n      </li>\n      <li>\n        Fix for crash with very long lines.\n      </li>\n      <li>\n        Fix to affect all of rectangular selections with deletion and case changing.\n      </li>\n      <li>\n        Removed non-working messages that had been included only for Richedit compatibility.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/scite124.zip\">Release 1.24</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 29 March 2000.\n      </li>\n      <li>\n        Added lexing of IDL based on C++ lexer with extra UUID lexical class.\n      </li>\n      <li>\n        Functions and associated keys for Line Delete, Line Cut, Line Transpose,\n\tSelection Lower Case and Selection Upper Case.\n      </li>\n      <li>\n        Property setting for SciTE, eol.mode, chooses initial state of line end characters.\n      </li>\n      <li>\n        Fixed bugs in undo history with small almost-contiguous changes being incorrectly coalesced.\n      </li>\n      <li>\n        Fixed bugs with incorrect expansion of ContractionState data structures causing crash.\n      </li>\n      <li>\n        Fixed bugs relating to null fonts.\n      </li>\n      <li>\n        Fixed bugs where recolourization was not done sometimes when required.\n      </li>\n      <li>\n        Fixed compilation problems with SVector.h.\n      </li>\n      <li>\n        Fixed bad setting of fold points in Python.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/scite123.zip?download\">Release 1.23</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 21 March 2000.\n      </li>\n      <li>\n        Directory structure to separate on basis of product (Scintilla, SciTE, DMApp)\n\tand environment (Cross-platform, Win32, GTK+).\n      </li>\n      <li>\n        Download packaging to allow download of the source or platform dependent executables.\n      </li>\n      <li>\n        Source code now available from CVS at SourceForge.\n      </li>\n      <li>\n        Very simple Windows-only demonstration application DMApp is available from cvs as dmapp.\n      </li>\n      <li>\n        Lexing functionality may optionally be included in Scintilla rather than be provided by\n        the container.\n      </li>\n      <li>\n        Set of lexers included is determined at link time by defining which of the Lex* object files\n\tare linked in.\n      </li>\n      <li>\n        On Windows, the SciLexer.DLL extends Scintilla.DLL with the standard lexers.\n      </li>\n      <li>\n        Enhanced HTML lexer styles embedded VBScript and Python.\n\tASP segments are styled and ASP scripts in JavaScript, VBScript and Python are styled.\n      </li>\n      <li>\n        PLSQL and PHP supported.\n      </li>\n      <li>\n        Maximum number of lexical states extended to 128.\n      </li>\n      <li>\n        Lexers may store per line parse state for multiple line features such as ASP script language choice.\n      </li>\n      <li>\n        Lexing API simplified.\n      </li>\n      <li>\n        Project file for Visual C++.\n      </li>\n      <li>\n        Can now cycle through all recent files with Ctrl+Tab in SciTE.\n      </li>\n      <li>\n        Bookmarks in SciTE.\n      </li>\n      <li>\n        Drag and drop copy works when dragging to the edge of the selection.\n      </li>\n      <li>\n        Fixed bug with value sizes in properties file.\n      </li>\n      <li>\n        Fixed bug with last line in properties file not being used.\n      </li>\n      <li>\n        Bug with multiple views of one document fixed.\n      </li>\n      <li>\n        Keypad now works on GTK+.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/SciTE122.zip?download\">Release 1.22</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 27 February 2000.\n      </li>\n      <li>\n        wxWindows platform defined.\n\tImplementation for wxWindows will be available separately\n\tfrom main Scintilla distribution.\n      </li>\n      <li>\n        Line folding in Scintilla.\n      </li>\n      <li>\n        SciTE performs syntax directed folding for C/C++/Java/JavaScript and for Python.\n      </li>\n      <li>\n        Optional macro recording support.\n      </li>\n      <li>\n        User properties file (SciTEUser.properties) allows for customization by the user\n\tthat is not overwritten with each installation of SciTE.\n      </li>\n      <li>\n        Python lexer detects and highlights inconsistent indentation.\n      </li>\n      <li>\n        Margin API made more orthogonal. SCI_SETMARGINWIDTH and SCI_SETLINENUMBERWIDTH\n        are deprecated in favour of this new API.\n      </li>\n      <li>\n        Margins may be made sensitive to forward mouse click events to container.\n      </li>\n      <li>\n        SQL lexer and styles included.\n      </li>\n      <li>\n        Perl lexer handles regular expressions better.\n      </li>\n      <li>\n        Caret policy determines how closely caret is tracked by visible area.\n      </li>\n      <li>\n        New marker shapes: arrow pointing down, plus and minus.\n      </li>\n      <li>\n        Optionally display full path in title rather than just file name.\n      </li>\n      <li>\n        Container is notified when Scintilla gains or loses focus.\n      </li>\n      <li>\n        SciTE handles focus in a more standard way and applies the main\n\tedit commands to the focused pane.\n      </li>\n      <li>\n        Container is notified when Scintilla determines that a line needs to be made visible.\n      </li>\n      <li>\n        Document watchers receive notification when document about to be deleted.\n      </li>\n      <li>\n        Document interface allows access to list of watchers.\n      </li>\n      <li>\n        Line end determined correctly for lines ending with only a '\\n'.\n      </li>\n      <li>\n        Search variant that searches form current selection and sets selection.\n      </li>\n      <li>\n        SciTE understands format of diagnostic messages from WScript.\n      </li>\n      <li>\n        SciTE remembers top line of window for each file in MRU list so switching to a recent file\n\tis more likely to show the same text as when the file was previously visible.\n      </li>\n      <li>\n        Document reference count now initialized correctly.\n      </li>\n      <li>\n        Setting a null document pointer creates an empty document.\n      </li>\n      <li>\n        WM_GETTEXT can no longer overrun buffer.\n      </li>\n      <li>\n        Polygon drawing bug fixed on GTK+.\n      </li>\n      <li>\n        Java and JavaScript lexers merged into C++ lexer.\n      </li>\n      <li>\n        C++ lexer indicates unterminated strings by colouring the end of the line\n\trather than changing the rest of the file to string style. This is less\n\tobtrusive and helps the folding.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://prdownloads.sourceforge.net/scintilla/SciTE121.zip?download\">Release 1.21</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 2 February 2000.\n      </li>\n      <li>\n        Blank margins on left and right side of text.\n      </li>\n      <li>\n        SCN_CHECKBRACE renamed SCN_UPDATEUI and made more efficient.\n      </li>\n      <li>\n        SciTE source code refactored into platform independent and platform specific classes.\n      </li>\n      <li>\n        XML and Perl subset lexers in SciTE.\n      </li>\n      <li>\n        Large improvement to lexing speed.\n      </li>\n      <li>\n        A new subsystem, 2, allows use of ShellExec on Windows.\n      </li>\n      <li>\n        Borland compatible makefile.\n      </li>\n      <li>\n        Status bar showing caret position in GTK+ version of SciTE.\n      </li>\n      <li>\n        Bug fixes to selection drawing when part of selection outside window, mouse release over\n        scroll bars, and scroll positioning after deletion.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE120.zip\">Release 1.2</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 21 January 2000.\n      </li>\n      <li>\n        Multiple views of one document.\n      </li>\n      <li>\n        Rectangular selection, cut, copy, paste, drag and drop.\n      </li>\n      <li>\n        Long line indication.\n      </li>\n      <li>\n        Reverse searching\n      </li>\n      <li>\n        Line end conversion.\n      </li>\n      <li>\n        Generic autocompletion and calltips in SciTE.\n      </li>\n      <li>\n        Call tip background colour can be set.\n      </li>\n      <li>\n        SCI_MARKERPREV for moving to a previous marker.\n      </li>\n      <li>\n        Caret kept more within window where possible.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE115.zip\">Release 1.15</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 15 December 1999.\n      </li>\n      <li>\n        Brace highlighting and badlighting (for mismatched braces).\n      </li>\n      <li>\n        Visible line ends.\n      </li>\n      <li>\n        Multiple line call tips.\n      </li>\n      <li>\n        Printing now works from SciTE on Windows.\n      </li>\n      <li>\n        SciTE has a global \"*\" lexer style that is used as the basis for all the lexers' styles.\n      </li>\n      <li>\n        Fixes some warnings on GTK+ 1.2.6.\n      </li>\n      <li>\n        Better handling of modal dialogs on GTK+.\n      </li>\n      <li>\n        Resize handle drawn on pane splitter in SciTE on GTK+ so it looks more like a regular GTK+\n        *paned widget.\n      </li>\n      <li>\n        SciTE does not place window origin offscreen if no properties file found on GTK+.\n      </li>\n      <li>\n        File open filter remembered in SciTE on Windows.\n      </li>\n      <li>\n        New mechanism using style numbers 32 to 36 standardizes the setting of styles for brace\n        highlighting, brace badlighting, line numbers, control characters and the default style.\n      </li>\n      <li>\n        Old messages SCI_SETFORE .. SCI_SETFONT have been replaced by the default style 32. The old\n        messages are deprecated and will disappear in a future version.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE114.zip\">Release 1.14</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 20 November 1999.\n      </li>\n      <li>\n        Fixes a scrolling bug reported on GTK+.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE113.zip\">Release 1.13</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 18 November 1999.\n      </li>\n      <li>\n        Fixes compilation problems with the mingw32 GCC 2.95.2 on Windows.\n      </li>\n      <li>\n        Control characters are now visible.\n      </li>\n      <li>\n        Performance has improved, particularly for scrolling.\n      </li>\n      <li>\n        Windows RichEdit emulation is more accurate. This may break client code that uses these\n        messages: EM_GETLINE, EM_GETLINECOUNT, EM_EXGETSEL, EM_EXSETSEL, EM_EXLINEFROMCHAR,\n        EM_LINELENGTH, EM_LINEINDEX, EM_CHARFROMPOS, EM_POSFROMCHAR, and EM_GETTEXTRANGE.\n      </li>\n      <li>\n        Menus rearranged and accelerator keys set for all static items.\n      </li>\n      <li>\n        Placement of space indicators in view whitespace mode is more accurate with some fonts.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE112.zip\">Release 1.12</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 9 November 1999.\n      </li>\n      <li>\n        Packaging error in 1.11 meant that the compilation error was not fixed in that release.\n        Linux/GTK+ should compile with GCC 2.95 this time.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE111.zip\">Release 1.11</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 7 November 1999.\n      </li>\n      <li>\n        Fixed a compilation bug in ScintillaGTK.cxx.\n      </li>\n      <li>\n        Added a README file to explain how to build.\n      </li>\n      <li>\n        GTK+/Linux downloads now include documentation.\n      </li>\n      <li>\n        Binary only Sc1.EXE one file download for Windows.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE110.zip\">Release 1.1</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 6 November 1999.\n      </li>\n      <li>\n        Major restructuring for better modularity and platform independence.\n      </li>\n      <li>\n        Inter-application drag and drop.\n      </li>\n      <li>\n        Printing support in Scintilla on Windows.\n      </li>\n      <li>\n        Styles can select colouring to end of line. This can be used when a file contains more than\n        one language to differentiate between the areas in each language. An example is the HTML +\n        JavaScript styling in SciTE.\n      </li>\n      <li>\n        Actions can be grouped in the undo stack, so they will be undone together. This grouping is\n        hierarchical so higher level actions such as replace all can be undone in one go. Call to\n        discover whether there are any actions to redo.\n      </li>\n      <li>\n        The set of characters that define words can be changed.\n      </li>\n      <li>\n        Markers now have identifiers and can be found and deleted by their identifier. The empty\n        marker type can be used to make a marker that is invisible and which is only used to trace\n        where a particular line moves to.\n      </li>\n      <li>\n        Double click notification.\n      </li>\n      <li>\n        HTML styling in SciTE also styles embedded JavaScript.\n      </li>\n      <li>\n        Additional tool commands can be added to SciTE.\n      </li>\n      <li>\n        SciTE option to allow reloading if changed upon application activation and saving on\n        application deactivation. Not yet working on GTK+ version.\n      </li>\n      <li>\n        Entry fields in search dialogs remember last 10 user entries. Not working in all cases in\n        Windows version.\n      </li>\n      <li>\n        SciTE can save a styled copy of the current file in HTML format. As SciTE does not yet\n        support printing, this can be used to print a file by then using a browser to print the\n        HTML file.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE102.zip\">Release 1.02</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 1 October 1999.\n      </li>\n      <li>\n        GTK+ version compiles with GCC 2.95.\n      </li>\n      <li>\n        Properly deleting objects when window destroyed under GTK+.\n      </li>\n      <li>\n        If the selection is not empty backspace deletes the selection.\n      </li>\n      <li>\n        Some X style middle mouse button handling for copying the primary selection to and from\n        Scintilla. Does not work in all cases.\n      </li>\n      <li>\n        HTML styling in SciTE.\n      </li>\n      <li>\n        Stopped dirty flag being set in SciTE when results pane modified.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE101.zip\">Release 1.01</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 28 September 1999.\n      </li>\n      <li>\n        Better DBCS support on Windows including IME.\n      </li>\n      <li>\n        Wheel mouse support for scrolling and zooming on Windows. Zooming with Ctrl+KeypadPlus and\n        Ctrl+KeypadMinus.\n      </li>\n      <li>\n        Performance improvements especially on GTK+.\n      </li>\n      <li>\n        Caret blinking and settable colour on both GTK+ and Windows.\n      </li>\n      <li>\n        Drag and drop within a Scintilla window. On Windows, files can be dragged into SciTE.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/SciTE100.zip\">Release 1.0</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 17 May 1999.\n      </li>\n      <li>\n        Changed name of \"Tide\" to \"SciTE\" to avoid clash with a TCL based IDE. \"SciTE\" is a\n        SCIntilla based Text Editor and is Latin meaning something like \"understanding in a neat\n        way\" and is also an Old English version of the word \"shit\".\n      </li>\n      <li>\n        There is a SCI_AUTOCSTOPS message for defining a string of characters that will stop\n        autocompletion mode. Autocompletion mode is cancelled when any cursor movement occurs apart\n        from backspace.\n      </li>\n      <li>\n        GTK+ version now splits horizontally as well as vertically and all dialogs cancel when the\n        escape key is pressed.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/Tide92.zip\">Beta release 0.93</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 12 May 1999.\n      </li>\n      <li>\n        A bit more robust than 0.92 and supports SCI_MARKERNEXT message.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/Tide92.zip\">Beta release 0.92</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 11 May 1999.\n      </li>\n      <li>\n        GTK+ version now contains all features of Windows version with some very small differences.\n        Executing programs works much better now.\n      </li>\n      <li>\n        New palette code to allow more colours to be displayed in 256 colour screen modes. A line\n        number column can be displayed to the left of the selection margin.\n      </li>\n      <li>\n        The code that maps from line numbers to text positions and back has been completely\n        rewritten to be faster, and to allow markers to move with the text.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/Tide91.zip\">Beta release 0.91</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 30 April 1999, containing fixes to text measuring to make Scintilla work better\n        with bitmap fonts. Also some small fixes to make compiling work with Visual C++.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/Tide90.zip\">Beta release 0.90</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 29 April 1999, containing working GTK+/Linux version.\n      </li>\n      <li>\n        The Java, C++ and Python lexers recognize operators as distinct from default allowing them\n        to be highlighted.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/Tide82.zip\">Beta release 0.82</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 1 April 1999, to fix a problem with handling the Enter key in PythonWin. Also\n        fixes some problems with cmd key mapping.\n      </li>\n    </ul>\n    <h3>\n       <a href=\"https://www.scintilla.org/Tide81.zip\">Beta release 0.81</a>\n    </h3>\n    <ul>\n      <li>\n        Released on 30th March 1999, containing bug fixes and a few more features.\n      </li>\n      <li>\n        Static linking supported and Tidy.EXE, a statically linked version of Tide.EXE. Changes to\n        compiler flags in the makefiles to optimize for size.\n      </li>\n      <li>\n        Scintilla supports a 'savepoint' in the undo stack which can be set by the container when\n        the document is saved. Notifications are sent to the container when the savepoint is\n        entered or left, allowing the container to to display a dirty indicator and change its\n        menus.\n      </li>\n      <li>\n        When Scintilla is set to read-only mode, a notification is sent to the container should the\n        user try to edit the document. This can be used to check the document out of a version\n        control system.\n      </li>\n      <li>\n        There is an API for setting the appearance of indicators.\n      </li>\n      <li>\n        The keyboard mapping can be redefined or removed so it can be implemented completely by the\n        container. All of the keyboard commands are now commands which can be sent by the\n        container.\n      </li>\n      <li>\n        A home command like Visual C++ with one hit going to the start of the text on the line and\n        the next going to the left margin is available. I do not personally like this but my\n        fingers have become trained to it by much repetition.\n      </li>\n      <li>\n        SCI_MARKERDELETEALL has an argument in wParam which is the number of the type marker to\n        delete with -1 performing the old action of removing all marker types.\n      </li>\n      <li>\n        Tide now understands both the file name and line numbers in error messages in most cases.\n      </li>\n      <li>\n        Tide remembers the current lines of files in the recently used list.\n      </li>\n      <li>\n        Tide has a Find in Files command.\n      </li>\n    </ul>\n    <h3>\n       Beta release 0.80\n    </h3>\n    <ul>\n      <li>\n        This was the first public release on 14th March 1999, containing a mostly working Win32\n        Scintilla DLL and Tide EXE.\n      </li>\n    </ul>\n    <h3>\n       Beta releases of SciTE were called Tide\n    </h3>\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/ScintillaRelated.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla and SciTE Related Sites\n    </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          and SciTE</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Related Sites\n    </h2>\n    <h3>\n       Ports and Bindings of Scintilla\n    </h3>\n    <p>\n\t<a href=\"http://www.morphos-team.net/releasenotes/3.0\">Scintilla.mcc</a>\n\tis a port to MorphOS.\n    </p>\n    <p>\n\t<a href=\"https://metacpan.org/pod/Wx::Scintilla\">Wx::Scintilla</a>\n\tis a Perl Binding for Scintilla on wxWidgets.\n    </p>\n    <p>\n\t<a href=\"http://codebrainz.github.com/GtkScintilla/\">GtkScintilla</a>\n\tis a GTK+ widget which enables easily adding a powerful\n\tsource code editor to your applications. Harnessing the abilities\n\tof the Scintilla editing component, GtkScintilla adds a familiar\n\tGTK+/GObject API, making the widget comfortable to use in\n\tthese programs, using all the typical GObject conventions.\n    </p>\n    <p>\n\t<a href=\"http://www.mewsoft.com/forums/source-code-editor-activex-control-released-scintilla-activex-wrapper-control&amp;action=ViewTopic&amp;Topic=1494&amp;Forum=1&amp;Page=1&amp;Period=0a&amp;Lang=English\">Editawy</a>\n\tis an ActiveX Control wrapper that support all Scintilla functions and additional high level functions.\n    </p>\n    <p>\n\t<a href=\"http://sourceforge.net/projects/jintilla/\">Jintilla</a>\n\tis a JNI wrapper that allows Scintilla to be used in Java with\n\tboth SWT and AWT.\n    </p>\n    <p>\n\t<a href=\"http://delphisci.sourceforge.net/\">Delphi Scintilla Interface Components</a>\n\tis a FREE collection of components that makes it easy to use the\n         Scintilla source code editing control from within Delphi and C++ Builder.\n    </p>\n    <p>\n\t<a href=\"http://wxcode.sourceforge.net/showcomp.php?name=wxStEdit\">wxStEdit</a>\n\tis a library and sample program that provides extra features over wxStyledTextControl.\n    </p>\n    <p>\n\t<a href=\"http://www.naughter.com/scintilla.html\">CScintillaCtrl, CScintillaView &amp; CScintillaDoc</a>\n\tare freeware MFC classes to encapsulate Scintilla.\n    </p>\n    <p>\n\t<a href=\"http://sourceforge.net/projects/scide/\">ScintillaNet\n\t</a> is an encapsulation of Scintilla for use within the .NET framework.\n    </p>\n    <p>\n\t<a href=\"https://riverbankcomputing.com/software/qscintilla/intro\">QScintilla\n\t</a> is a port of Scintilla to the Qt platform. It has a similar license to Qt: GPL for use in\n\tfree software and commercial for use in close-source applications.\n    </p>\n    <p>\n\t<a href=\"http://www.adapower.com/gwindows/\">\n\tGWindows</a> is a Win32 RAD GUI Framework for Ada 95 that\n\tincludes a binding of Scintilla.\n    </p>\n    <p>\n\t<a href=\"http://scintilla.cvs.sourceforge.net/viewvc/scintilla/ScintillaVB/\">ScintillaVB</a>\n\tis an ActiveX control written in VB that encapsulates Scintilla.\n    </p>\n    <p>\n\t<a href=\"http://savannah.nongnu.org/projects/fxscintilla/\">FXScintilla\n\t</a> is a port of Scintilla to the FOX platform. FXRuby includes Ruby\n\tbindings for FXScintilla.\n    </p>\n    <p>\n\t<a href=\"http://www.pnotepad.org/scintilla/\">Delphi wrapper</a> for\n\tScintilla which is also usable from Borland C++ Builder.\n    </p>\n    <p>\n       The wxStyledTextCtrl editor component  in the\n       <a href=\"http://www.wxwidgets.org/\">wxWidgets</a> cross platform toolkit is based on Scintilla.<br />\n       A Python binding for wxStyledTextCtrl is part of <a href=\"http://wxpython.org/\">wxPython</a>.\n    </p>\n    <p>\n\t<a href=\"http://sourceforge.net/projects/moleskine/\">gtkscintilla</a>\n\tis an alternative GTK class implementation for scintilla.\n\tThis implementation acts more like a Gtk+ object, with many methods rather\n\tthan just scintilla_send_message() and is available as a shared library.\n\tThis implementation works with GTK 1.x.\n    </p>\n    <p>\n\t<a href=\"http://sourceforge.net/projects/moleskine/\">gtkscintilla2</a>\n\tis an alternative GTK class implementation for scintilla\n\tsimilar to the above, but for GTK 2.x.\n    </p>\n    <p>\n\t<a href=\"http://sourceforge.net/projects/moleskine/\">pygtkscintilla</a>\n\tis a Python binding for gtk1.x scintilla that uses\n\tgtkscintilla instead of the default GTK class.\n    </p>\n    <p>\n\t<a href=\"http://scintilla.cvs.sourceforge.net/viewvc/scintilla/scintillactrl/\">ScintillaCtrl</a>\n\tis an unmaintained ActiveX control wrapper for Scintilla.\n    </p>\n    <h3>\n       Projects using Scintilla\n    </h3>\n    <p>\n\t<a href=\"https://github.com/martinrotter/textilosaurus\">Textilosaurus</a>\n\tis simple cross-platform UTF-8 text editor based on Qt and Scintilla.\n    </p>\n    <p>\n\t<a href=\"http://stefanstools.sourceforge.net/BowPad.html\">BowPad</a>\n\tis a small and fast text editor with a modern ribbon user interface (Windows7 or later).\n    </p>\n    <p>\n\t<a href=\"http://studio.zerobrane.com\">ZeroBrane Studio Lua IDE</a>\n\tis a lightweight Lua IDE with code completion, syntax highlighting, live\n\tcoding, remote debugger, and code analyzer (Windows, OSX, and Linux).\n    </p>\n    <p>\n\t<a href=\"http://www.xml-buddy.com/\">XML Validator Buddy</a>\n\tis an XML/JSON editor and XML validator for Windows.\n    </p>\n    <p>\n\t<a href=\"http://sciteco.sf.net/\">SciTECO</a>\n\tis an advanced TECO dialect and interactive screen editor based on Scintilla.\n    </p>\n    <p>\n\t<a href=\"http://www.qgis.org/\">Quantum GIS</a>\n\tis a user friendly Open Source Geographic Information System (GIS).\n    </p>\n    <p>\n\t<a href=\"https://gitorious.org/qgrinui\">QGrinUI</a>\n\tsearches for a regex within all relevant files in a directory and shows matches using\n\tSciTE through the director interface.\n    </p>\n    <p>\n\t<a href=\"http://foicica.com/textadept/\">Textadept</a>\n\tis a ridiculously extensible cross-platform text editor for programmers written (mostly) in\n\tLua using LPeg to handle the lexers.\n    </p>\n    <p>\n\t<a href=\"http://www.morphos-team.net/releasenotes/3.0\">Scribble</a>\n\tis a text editor included in MorphOS.\n    </p>\n    <p>\n\t<a href=\"http://mysqlworkbench.org/\">MySQL Workbench</a>\n\tis a cross-platform, visual database design, sql coding and administration tool.\n    </p>\n    <p>\n\t<a href=\"http://liveditor.com/index.php\">LIVEditor</a>\n\tis for web front end coders editing html/css/js code.\n    </p>\n    <p>\n\t<a href=\"http://padre.perlide.org/\">Padre</a>\n\tis a wxWidgets-based Perl IDE.\n    </p>\n    <p>\n\t<a href=\"http://www.manoscoder.gr/wintools/viewtopic.php?f=20&t=84\">CoderStudio</a>\n\tis an IDE for plain C and Assembly programming similar to Visual Studio.\n    </p>\n    <p>\n\t<a href=\"http://www.sparxsystems.com/products/ea/index.html\">Enterprise Architect</a>\n\tis a UML 2.1 analysis and design tool.\n    </p>\n    <p>\n\t<a href=\"https://launchpad.net/codeassistor\">The CodeAssistor Editor</a>\n\tis a small and simple source code editor for MacOSX, Windows, and GTK/Linux.\n    </p>\n    <p>\n\t<a href=\"http://www.topwizprogramming.com/freecode_pbeditor.html\">PBEditor</a>\n\tis a text editor for PowerBuilder.\n    </p>\n    <p>\n\t<a href=\"https://www.cryptool.org/en/\">CrypTool</a>\n\tis an application for applying and analyzing cryptographic algorithms.\n    </p>\n    <p>\n\t<a href=\"http://code.google.com/p/fxite/\">FXiTe</a>\n\tis an advanced cross-platform text editor built with the Fox GUI toolkit\n\tand the FXScintilla text widget.\n    </p>\n    <p>\n\t<a href=\"http://www.jabaco.org/\">Jabaco</a>\n\tis a simple programming language with a Visual Basic like syntax.\n    </p>\n    <p>\n\t<a href=\"http://www.daansystems.com/lispide/\">LispIDE</a>\n\tis a basic Lisp editor for Windows 2000, XP and Vista.\n    </p>\n    <p>\n\t<a href=\"https://www.assembla.com/wiki/show/FileWorkbench\">File Workbench:</a>\n\ta file manager / text editor environment with Squirrel scripting.\n    </p>\n    <p>\n\t<a href=\"http://kephra.sf.net\">Kephra</a>\n\tis a free, easy and comfortable cross-platform editor written in Perl.\n    </p>\n    <p>\n\t<a href=\"http://universalindent.sourceforge.net/\">UniversalIndentGUI</a>\n\tis a cross platform GUI for several code formatters, beautifiers and indenters\n\tlike GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP and so on.\n    </p>\n    <p>\n\t<a href=\"http://elementaryreports.com/\">Elementary Reports</a>\n\tis designed to reduce the time to compose detailed and professional primary school reports.\n    </p>\n    <p>\n\t<a href=\"http://stepaheadsoftware.com/products/vcw/vcw.htm\">Visual Classworks</a>\n\tVisual class modeling and coding in C++ via 'live'\n\tUML style class diagrams.\n    </p>\n    <p>\n\t<a href=\"http://stepaheadsoftware.com/products/javelin/javelin.htm\">Javelin</a>\n\tVisual Class modeling and coding in Java via 'live' UML style\n\tclass diagrams.\n    </p>\n    <p>\n\tThe <a href=\"http://www.adobe.com/devnet/bridge.html\">ExtendScript Toolkit</a>\n\tis a development and debugging tool for JavaScript\n\tscripts included with Adobe CS3 Suites.\n    </p>\n    <p>\n\t<a href=\"https://tortoisesvn.net/\">TortoiseSVN</a>\n\tis a Windows GUI client for the Subversion source control software.\n    </p>\n    <p>\n\t<a href=\"http://www.geany.org/\">Geany</a>\n\tis a small and fast GTK2 based IDE, which has only a few dependencies from other packages.\n    </p>\n    <p>\n\t<a href=\"http://www.elliecomputing.com/products/merge_overview.asp\">ECMerge</a>\n\tis a commercial graphical and batch diff / merge tool for Windows, Linux and Solaris\n\t(aiming to target all major platforms).\n    </p>\n    <p>\n\t<a href=\"http://pype.sourceforge.net/\">PyPE</a>\n\tis an editor written in Python with the wxPython GUI toolkit.\n    </p>\n    <p>\n\t<a href=\"http://home.mweb.co.za/sd/sdonovan/sciboo.html\">Sciboo</a>\n\tis an editor based on ScintillaNET.\n    </p>\n    <p>\n\t<a href=\"https://sourceforge.net/projects/tsct/\">The Scite Config Tool</a>\n\tis a graphical user interface for changing SciTE properties files.\n    </p>\n    <p>\n\t<a href=\"http://totalcmd.net/plugring/SciLister.html\">Scintilla Lister</a>\n\tis a plugin for Total Commander allowing viewing all documents with syntax highlighting\n\tinside Total Commander.\n    </p>\n    <p>\n\t<a href=\"http://chscite.sourceforge.net\">ChSciTE</a>\n\tis a free IDE for C/C++ interpreter Ch. It runs cross platform.\n\tCh is for cross-platform scripting, shell\n\tprogramming, 2D/3D plotting, numerical computing, and embedded\n\tscripting.\n    </p>\n    <p>\n       <a href=\"http://codeblocks.org/\">\n       Code::Blocks</a> is an open source, cross platform free C++ IDE.\n    </p>\n    <p>\n       <a href=\"https://notepad-plus-plus.org/\">\n       Notepad++</a> is a free source code editor under Windows.\n    </p>\n    <p>\n       <a href=\"http://gubed.mccabe.nu/\">\n       Gubed</a> is a cross platform program to debug PHP scripts.\n    </p>\n    <p>\n       <a href=\"http://www.lesser-software.com/lswdnl.htm\">\n       LSW DotNet-Lab</a> is a development environment for the .NET platform.\n    </p>\n    <p>\n       <a href=\"https://github.com/dtrebilco/glintercept\">\n       GLIntercept</a> is an OpenGL function call interceptor that uses SciTE as a\n       run-time shader editor.\n    </p>\n    <p>\n       <a href=\"http://wxguide.sourceforge.net/indexedit.html\">\n       wyoEditor</a> is \"A nice editor with a well designed and consistent look and feel\".\n    </p>\n    <p>\n       <a href=\"http://www.flos-freeware.ch/notepad2.html\">\n       Notepad2</a> is \"Yet another Notepad replacement\".\n    </p>\n    <p>\n       <a href=\"http://pycrash.sourceforge.net/index.php?type=3\">\n       PyCrash Viewer</a> can examine crash dumps of Python programs.\n    </p>\n    <p>\n       <a href=\"http://www.cabletest.com/en/featured_products_MPT2.aspx\">\n       MPT series Wire Analyzers</a> use Scintilla and SciTE.\n    </p>\n    <p>\n       <a href=\"http://www.mygenerationsoftware.com\">MyGeneration</a>\n\tis a .NET based code generator.\n    </p>\n    <p>\n       <a href=\"http://cssed.sourceforge.net\">CSSED</a>\n\tis a tiny GTK2 CSS editor.\n    </p>\n    <p>\n       <a href=\"http://wxghostscript.sourceforge.net/\">\n        IdePS</a>\n\tis a free Integrated Development Environment for PostScript\n    </p>\n    <p>\n       <a href=\"http://cute.sourceforge.net/\">\n        CUTE</a>\n\tis a user-friendly source code editor easily extended using Python.\n    </p>\n    <p>\n       <a href=\"http://www.spaceblue.com/products/venis/index.html\">\n        Venis IX</a>,\n\tthe Visual Environment for NSIS (Nullsoft Scriptable Install System).\n    </p>\n    <p>\n       <a href=\"http://eric-ide.python-projects.org/\">Eric3</a>\n       is a Python IDE written using PyQt and QScintilla.\n    </p>\n    <p>\n       <a href=\"http://www.computersciencelab.com/CppIde.htm\">CPPIDE</a>\n       is part of some commercial high-school oriented programming course software.\n    </p>\n    <p>\n       <a href=\"http://www.blazingtools.com/is.html\">Instant Source</a>\n       is a commercial tool for looking at the HTML on web sites.\n    </p>\n    <p>\n       <a href=\"http://www.codejoin.com/radon/\">RAD.On++</a>\n       is a free C++ Rapid Application Developer for Win32.\n    </p>\n    <p>\n       <a href=\"http://wxbasic.sourceforge.net/\">wxBasic</a> is an open source\n       Basic interpreter that uses the wxWidgets toolkit. A small IDE is under construction.\n    </p>\n    <p>\n       <a href=\"http://visual-mingw.sourceforge.net/\">Visual MinGW</a> is an\n       IDE for the MinGW compiler system.This runs on Windows with gcc.\n    </p>\n    <p>\n       The <a href=\"http://archaeopteryx.com/\">Wing IDE</a> is a\n       complete integrated development environment for the Python programming\n       language.\n       Available on Intel based Linux and Windows and on MacOS X through XDarwin.\n    </p>\n    <p>\n\t<a href=\"http://www.spheredev.org/\">Sphere</a>\n\tis 2D RPG engine with a development environment.\n    </p>\n    <p>\n\t<a href=\"http://gaiacrtn.free.fr/practical-ruby/index.html\">Practical Ruby</a>\n\tis an IDE for Ruby on Windows.\n    </p>\n    <p>\n\t<a href=\"http://www.gnuenterprise.org/\">GNUe</a>\n\tis a suite of tools and applications for solving the needs of the enterprise.\n    </p>\n    <p>\n\t<a href=\"http://silvercity.sourceforge.net/\">SilverCity</a>\n\tis a lexing package that can provide lexical analysis for over 20 programming\n\tand markup languages.\n    </p>\n    <p>\n\t<a href=\"http://hapdebugger.sourceforge.net/\">HAP Python Remote Debugger</a>\n\tis a Python debugger that can run on one Windows machine debugging a Python program running\n\ton either the same or another machine.\n    </p>\n    <p>\n\t<a href=\"http://sourceforge.net/projects/pycrust/\">PyCrust</a> is an interactive\n\tPython shell based on wxPython.\n    </p>\n    <p>\n\t<a href=\"http://www.activestate.com/Products/Komodo/\">Komodo</a>\n\tis a cross-platform multi-language development environment built\n\tas an application of Mozilla.\n    </p>\n    <p>\n\t<a href=\"http://llt.chez-alice.fr/\">Filerx</a>\n\tis a project manager for SciTE on Windows.\n\tOpen source and includes an implementation of SciTE's Director interface so\n\twill be of interest to others wanting to control SciTE.\n    </p>\n    <p>\n\t<a href=\"http://anjuta.org/\">Anjuta</a>\n\tis an open source C/C++ IDE for Linux/GNOME.\n    </p>\n    <p>\n       A <a href=\"https://www.burgaud.com\">version of SciTE for Win32</a> enhanced\n       with a tab control to allow easy movement between buffers.\n       Go to the \"Goodies\" area on this site.\n    </p>\n    <p>\n       <a href=\"http://suneido.com\">\n       Suneido</a> is an integrated application platform currently available for Win32 that includes an\n       object-oriented language, client-server database, and user interface and reporting frameworks.\n    </p>\n    <p>\n       <a href=\"http://www.allitis.com/agast/home.html\">\n       Agast</a> is an authoring system for adventure games which includes\n       a customised version of SciTE.\n    </p>\n    <p>\n       <a href=\"http://boa-constructor.sourceforge.net/\">Boa Constructor</a> is a RAD GUI\n       Building IDE for the wxWidgets cross platform platform. Written using wxPython with the\n       wxStyledTextCtrl used as its editor.\n    </p>\n    <p>\n       <a href=\"https://www.python.org/download/windows/\">PythonWin</a>, a Win32 IDE for Python, uses\n      Scintilla for both its editing and interactive windows.\n    </p>\n    <h3>\n       Editing Components\n    </h3>\n    <p>\n       <a href=\"https://codemirror.net/\">CodeMirror</a>\n       is a versatile text editor implemented in JavaScript for the browser.\n    </p>\n    <p>\n       <a href=\"http://www.soft-gems.net/index.php/controls/unicodeeditor-formerly-unicode-syntax-editor\">UniCodeEditor</a>\n       is a Unicode aware syntax editor control for Delphi and C++ Builder.\n    </p>\n    <p>\n       <a href=\"https://wiki.gnome.org/Projects/GtkSourceView\">GtkSourceView</a>\n\tis a text widget that extends the standard GTK+ 2.x text widget and improves it\n\tby implementing syntax highlighting and other features typical of a source editor.\n    </p>\n    <p>\n       <a href=\"http://aeditor.rubyforge.org/\">AEditor</a>\n       is a free source code editing component implemented in Ruby.\n    </p>\n    <p>\n       <a href=\"http://www.actiprosoftware.com/products/controls/wpf/syntaxeditor\">SyntaxEditor</a>\n       is a commercial native .Net source code editing component.\n    </p>\n    <p>\n       <a href=\"http://jedit.sourceforge.net/\">jEdit</a> is a good Open Source syntax colouring\n      editor written in and for Java.\n    </p>\n    <p>\n       <a href=\"http://www.gtk.org/\">GTK+</a>, the GIMP Toolkit, contains a rich text editing\n      widget.<br />\n       <a href=\"https://wiki.gnome.org/Apps/Gedit\">Gedit</a> is an editor for GTK+/GNOME.<br />\n    <!--\n       <a href=\"http://www.daimi.au.dk/~mailund/gtk.html\">GtkEditor</a> is a source code editing\n      widget based on the GTK+ text widget.<br />\n       <a href=\"http://gide.gdev.net/\">gIDE</a> is an IDE based on GTK+.<br />\n       <a href=\"http://www.bahnhof.se/~mikeh/linux_software.html\">GtkExText</a> is a source code\n      oriented text widget for GTK+.\n    -->\n    </p>\n    <p>\n       <a href=\"http://www.codeguru.com/\">CodeGuru</a> has source code for several Win32 MFC based\n      editors.\n    </p>\n    <a href=\"http://sourceforge.net/projects/synedit/\">SynEdit</a> is a Win32 edit control written\n    in Delphi.\n    <p>\n       <a href=\"http://www.tetradyne.com/srcvwax.htm\">SourceView</a> is a commercial editing\n      component for Win32.\n    </p>\n    <h3>\n       Documents\n    </h3>\n    <p>\n       <a href=\"http://www.finseth.com/craft/\">The Craft of Text Editing</a>\n       describes how EMACS works, <i>Craig A. Finseth</i>\n    </p>\n    <p>\n       <a href=\"http://www.cs.cmu.edu/~wjh/papers/byte.html\">Data Structures in a Bit-Mapped Text\n      Editor</a>, <i>Wilfred J. Hanson</i>, Byte January 1987\n    </p>\n    <p>\n       Text Editors: Algorithms and Architectures, <i>Ray Vald&eacute;s</i>, Dr. Dobbs Journal\n      April 1993\n    </p>\n    <p>\n       Macintosh User Interface Guidelines and TextEdit chapters of Inside Macintosh\n    </p>\n    <h3>\n       Development Tools\n    </h3>\n    <p>\n       Scintilla and SciTE were developed using the\n       <a href=\"http://www.mingw.org/\">Mingw version of GCC</a>.\n    </p>\n    <p>\n       <a href=\"http://astyle.sourceforge.net/\">AStyle</a> is a source code formatter for C++ and\n      Java code. SciTE has an Indent command defined for .cxx files that uses AStyle.\n    </p>\n    <p>\n       <a href=\"http://winmerge.org/\">WinMerge</a> is an interactive diff / merge\n       for Windows. I prefer code submissions in the form of source files rather than diffs and then run\n       WinMerge over the files to work out how to merge.\n    </p>\n    <p>\n       <a href=\"https://www.python.org\">Python</a> is my favourite programming language. Scintilla\n      was started after I tried to improve the editor built into <a\n      href=\"https://www.python.org/download/windows/\">PythonWin</a>, but was frustrated by the limitations of\n      the Windows Richedit control which PythonWin used.\n    </p>\n    <p>\n       <a href=\"http://www.cse.yorku.ca/~oz/\">regex</a> is a public domain\n       implementation of regular expression pattern matching used in Scintilla.\n    </p>\n    <p>\n       Inspirational coding soundscapes by <a href=\"http://www.davidbridie.com/\">David Bridie</a>.\n    </p>\n  </body>\n</html>\n\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/ScintillaToDo.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla and SciTE To Do\n    </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          and SciTE</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Bugs and To Do List\n    </h2>\n    <h3>\n       Feedback\n    </h3>\n    <p>\n\tIssues can be reported on the <a href=\"https://sourceforge.net/p/scintilla/bugs/\">Bug Tracker</a>\n\tand features requested on the <a href=\"https://sourceforge.net/p/scintilla/feature-requests/\">Feature Request Tracker</a>.\n    </p>\n    <h3>\n       Scintilla Bugs\n    </h3>\n    <p>\n      Automatic scrolling when text dragged near edge of window.\n    </p>\n    <h3>\n       Scintilla To Do\n    </h3>\n    <p>\n       Folding for languages that don't have it yet and good folding for languages\n       that inherited poor folding from another languages folding code.\n    </p>\n    <p>\n       Simple pattern based styling.\n    </p>\n    <p>\n       Different height lines based upon tallest text on the line rather than on the tallest style\n      possible.\n    </p>\n    <p>\n       Composition of lexing for mixed languages (such as ASP+ over COBOL) by\n       combining lexers.\n    </p>\n    <p>\n\tStream folding which could be used to fold up the contents of HTML elements.\n    </p>\n    <p>\n\tPrinting of highlight lines and folding margin.\n    </p>\n    <p>\n\tFlow diagrams inside editor similar to\n\tGRASP.\n    </p>\n    <p>\n\tMore lexers for other languages.\n    </p>\n    <h3>\n\tSciTE To Do\n    </h3>\n    <p>\n\tGood regular expression support through a plugin.\n    </p>\n    <p>\n\tAllow file name based selection on all properties rather than just a chosen few.\n    </p>\n    <p>\n\tOpening from and saving to FTP servers.\n    </p>\n    <p>\n\tSetting to fold away comments upon opening.\n    </p>\n    <p>\n\tUser defined fold ranges.\n    </p>\n    <p>\n\tSilent mode that does not display any message boxes.\n    </p>\n    <h3>\n\tFeatures I am unlikely to do\n    </h3>\n    <p>\n\tThese are features I don't like or don't think are important enough to work on.\n\tImplementations are welcome from others though.\n    </p>\n    <p>\n\tMouse wheel panning (press the mouse wheel and then move the mouse) on\n\tWindows.\n    </p>\n    <p>\n\tAdding options to the save dialog to save in a particular encoding or with a\n\tchosen line ending.\n    </p>\n    <h3>\n       Directions\n    </h3>\n    <p>\n       The main point of this development is Scintilla, and this is where most effort will\n       go. SciTE will get new features, but only when they make my life easier - I am\n       not intending to make it grow up to be a huge full-function IDE like Visual\n       Cafe. The lines I've currently decided not to step over in SciTE are any sort of\n       project facility and any configuration dialogs. SciTE for Windows now has a\n       Director interface for communicating with a separate project manager\n       application.\n    </p>\n    <p>\n       If you are interested in contributing code, do not feel any need to make it cross\n       platform.\n      Just code it for your platform and I'll either reimplement for the other platform or\n      ensure that there is no effect on the other platform.\n    </p>\n  </body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/ScintillaUsage.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>\n      Scintilla Usage Notes\n    </title>\n<style type=\"text/css\">\nSPAN {\n    font-family: Verdana, Arial, Helvetica;\n    font-size: 9pt;\n}\n.S0 {\n    color: #808080;\n    font-family: Verdana, Arial, Helvetica;\n}\n.S1 {\n    font-family: Comic Sans MS, Times New Roman, Times;\n    color: #007F00;\n    font-size: 8pt;\n}\n.S2 {\n    font-family: Comic Sans MS, Times New Roman, Times;\n    color: #007F00;\n    font-size: 8pt;\n}\n.S3 {\n    font-family: Verdana, Arial, Helvetica;\n    color: #7F7F7F;\n}\n.S4 {\n    font-family: Verdana, Arial, Helvetica;\n    color: #007F7F;\n}\n.S5 {\n    color: #00007F;\n    font-weight: bold;\n    font-family: Verdana, Arial, Helvetica;\n}\n.S6 {\n    color: #7F007F;\n    font-family: Courier New, Courier;\n}\n.S7 {\n    color: #7F007F;\n    font-family: Courier New, Courier;\n}\n.S8 {\n    color: #007F7F;\n}\n.S9 {\n    color: #7F7F00;\n}\n.S10 {\n    font-weight: bold;\n}\n</style>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td>\n          <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n        </td>\n        <td>\n          <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla\n          Usage Notes</font></a>\n        </td>\n      </tr>\n    </table>\n    <h2>\n       Implementing Auto-Indent\n    </h2>\n    <p>\n       The key idea is to use the SCN_CHARADDED notification to add indentation after a newline.\n    </p>\n    <p>\n       The lParam on the notification is a pointer to a SCNotification structure whose ch member\n      specifies the character added. If a newline was added, the previous line can be retrieved and\n      the same indentation can be added to the new line.\n    </p>\n    <p>\n       Here is the relevant portion of code from SciTE: (SciTE.cxx SciTEWindow::CharAdded)\n    </p>\n    <span class='S5'>if</span><span class='S0'>&nbsp;</span> <span class='S10'>(</span><span\n    class='S11'>ch</span><span class='S0'>&nbsp;</span> <span class='S10'>==</span><span\n    class='S0'>&nbsp;</span> <span class='S7'>'\\r'</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>||</span><span class='S0'>&nbsp;</span> <span class='S11'>ch</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>==</span><span class='S0'>&nbsp;</span> <span\n    class='S7'>'\\n'</span><span class='S10'>)</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>char</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>linebuf</span><span class='S10'>[</span><span class='S4'>1000</span><span\n    class='S10'>];</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>int</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>curLine</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>GetCurrentLineNumber</span><span\n    class='S10'>();</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>int</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>lineLength</span><span class='S0'>&nbsp;</span> <span class='S10'>\n    =</span><span class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span\n    class='S10'>(</span><span class='S11'>SCI_LINELENGTH</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>curLine</span><span class='S10'>);</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S2'>\n    //Platform::DebugPrintf(\"[CR]&nbsp;%d&nbsp;len&nbsp;=&nbsp;%d\\n\",&nbsp;curLine,&nbsp;lineLength);</span><span\n     class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>if</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>(</span><span class='S11'>curLine</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>&gt;</span><span class='S0'>&nbsp;</span> <span class='S4'>0</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>&amp;&amp;</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>lineLength</span><span class='S0'>&nbsp;</span> <span class='S10'>\n    &lt;=</span><span class='S0'>&nbsp;</span> <span class='S4'>2</span><span\n    class='S10'>)</span><span class='S0'>&nbsp;</span> <span class='S10'>{</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>int</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>prevLineLength</span><span class='S0'>&nbsp;</span> <span class='S10'>\n    =</span><span class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span\n    class='S10'>(</span><span class='S11'>SCI_LINELENGTH</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>curLine</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>-</span><span class='S0'>&nbsp;</span> <span class='S4'>1</span><span\n    class='S10'>);</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>if</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>(</span><span class='S11'>prevLineLength</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>&lt;</span><span class='S0'>&nbsp;</span> <span class='S5'>sizeof</span><span\n    class='S10'>(</span><span class='S11'>linebuf</span><span class='S10'>))</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>WORD</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>buflen</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>=</span><span class='S0'>&nbsp;</span> <span class='S5'>sizeof</span><span\n    class='S10'>(</span><span class='S11'>linebuf</span><span class='S10'>);</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>memcpy</span><span\n    class='S10'>(</span><span class='S11'>linebuf</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>&amp;</span><span class='S11'>buflen</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S5'>sizeof</span><span\n    class='S10'>(</span><span class='S11'>buflen</span><span class='S10'>));</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>\n    SendEditor</span><span class='S10'>(</span><span class='S11'>EM_GETLINE</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S11'>curLine</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>-</span><span class='S0'>&nbsp;</span> <span\n    class='S4'>1</span><span class='S10'>,</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n    <span class='S5'>reinterpret_cast</span><span class='S10'>&lt;</span><span\n    class='S11'>LPARAM</span><span class='S10'>&gt;(</span><span class='S5'>static_cast</span><span\n    class='S10'>&lt;</span><span class='S5'>char</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>*&gt;(</span><span class='S11'>linebuf</span><span class='S10'>)));</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>linebuf</span><span\n    class='S10'>[</span><span class='S11'>prevLineLength</span><span class='S10'>]</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>=</span><span class='S0'>&nbsp;</span> <span\n    class='S7'>'\\0'</span><span class='S10'>;</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>for</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>(</span><span class='S5'>int</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>pos</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>=</span><span class='S0'>&nbsp;</span> <span class='S4'>0</span><span\n    class='S10'>;</span><span class='S0'>&nbsp;</span> <span class='S11'>linebuf</span><span\n    class='S10'>[</span><span class='S11'>pos</span><span class='S10'>];</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>pos</span><span class='S10'>++)</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span\n    class='S5'>if</span><span class='S0'>&nbsp;</span> <span class='S10'>(</span><span\n    class='S11'>linebuf</span><span class='S10'>[</span><span class='S11'>pos</span><span\n    class='S10'>]</span><span class='S0'>&nbsp;</span> <span class='S10'>!=</span><span\n    class='S0'>&nbsp;</span> <span class='S7'>'&nbsp;'</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>&amp;&amp;</span><span class='S0'>&nbsp;</span> <span class='S11'>\n    linebuf</span><span class='S10'>[</span><span class='S11'>pos</span><span\n    class='S10'>]</span><span class='S0'>&nbsp;</span> <span class='S10'>!=</span><span\n    class='S0'>&nbsp;</span> <span class='S7'>'\\t'</span><span class='S10'>)</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n    <span class='S11'>linebuf</span><span class='S10'>[</span><span class='S11'>pos</span><span\n    class='S10'>]</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S7'>'\\0'</span><span class='S10'>;</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S10'>}</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>\n    SendEditor</span><span class='S10'>(</span><span class='S11'>EM_REPLACESEL</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S4'>0</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S5'>\n    reinterpret_cast</span><span class='S10'>&lt;</span><span class='S11'>LPARAM</span><span\n    class='S10'>&gt;(</span><span class='S5'>static_cast</span><span class='S10'>&lt;</span><span\n    class='S5'>char</span><span class='S0'>&nbsp;</span> <span class='S10'>*&gt;(</span><span\n    class='S11'>linebuf</span><span class='S10'>)));</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S10'>}</span><span class='S0'><br />\n    </span> <span class='S10'>}</span><br />\n\n    <p style=\"margin-bottom: 0in\">\n       Of course, fancier handling could be implemented. For example, if the previous line was the\n      start of a control construct, the next line could be automatically indented one tab further.\n      (Assuming that is your indenting style.)\n    </p>\n    <h2>\n       Implementing Syntax Styling\n    </h2>\n    <p>\n       Syntax styling is handled by the SCN_STYLENEEDED notification. Scintilla keeps track of the\n      end of the styled text - this is retrieved with SCI_GETENDSTYLED. In response to the\n      SCN_STYLENEEDED notification, you should apply styles to the text from ENDSTYLED to the\n      position specified by the notification.\n    </p>\n    <p>\n       Here is the relevant portion of code from SciTE: (SciTE.cxx)\n    </p>\n    <span class='S5'>void</span><span class='S0'>&nbsp;</span> <span class='S11'>\n    SciTEWindow</span><span class='S10'>::</span><span class='S11'>Notify</span><span\n    class='S10'>(</span><span class='S11'>SCNotification</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>*</span><span class='S11'>notification</span><span class='S10'>)</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>switch</span><span class='S0'>&nbsp;</span>\n    <span class='S10'>(</span><span class='S11'>notification</span><span\n    class='S10'>-&gt;</span><span class='S11'>nmhdr.code</span><span class='S10'>)</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>case</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>SCN_STYLENEEDED</span><span class='S10'>:</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span\n    class='S5'>if</span><span class='S0'>&nbsp;</span> <span class='S10'>(</span><span\n    class='S11'>notification</span><span class='S10'>-&gt;</span><span\n    class='S11'>nmhdr.idFrom</span><span class='S0'>&nbsp;</span> <span class='S10'>==</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>IDM_SRCWIN</span><span class='S10'>)</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>{</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n    <span class='S5'>int</span><span class='S0'>&nbsp;</span> <span class='S11'>\n    endStyled</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span class='S10'>(</span><span\n    class='S11'>SCI_GETENDSTYLED</span><span class='S10'>);</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n    <span class='S5'>int</span><span class='S0'>&nbsp;</span> <span class='S11'>\n    lineEndStyled</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span class='S10'>(</span><span\n    class='S11'>EM_LINEFROMCHAR</span><span class='S10'>,</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>endStyled</span><span class='S10'>);</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n    <span class='S11'>endStyled</span><span class='S0'>&nbsp;</span> <span class='S10'>\n    =</span><span class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span\n    class='S10'>(</span><span class='S11'>EM_LINEINDEX</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>lineEndStyled</span><span class='S10'>);</span><span\n    class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n    <span class='S11'>Colourise</span><span class='S10'>(</span><span\n    class='S11'>endStyled</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>notification</span><span class='S10'>-&gt;</span><span\n    class='S11'>position</span><span class='S10'>);</span><br />\n\n    <p>\n       Colourize(start, end) retrieves the specified range of text and then calls ColourizeDoc in\n      keywords.cxx. It starts the process by calling:\n    </p>\n    &nbsp;&nbsp;&nbsp;&nbsp;<span class='S11'>SendMessage</span><span class='S10'>(</span><span\n    class='S11'>hwnd</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>SCI_STARTSTYLING</span><span class='S10'>,</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>startPos</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S4'>31</span><span class='S10'>);</span><br />\n\n    <p>\n       and then for each token of the text, calling:\n    </p>\n    &nbsp;&nbsp;&nbsp;&nbsp;<span class='S11'>SendMessage</span><span class='S10'>(</span><span\n    class='S11'>hwnd</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>SCI_SETSTYLING</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>length</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>style</span><span class='S10'>);</span><br />\n\n    <p>\n       where style is a number from 0 to 31 whose appearance has been defined using the\n      SCI_STYLESET... messages.\n    </p>\n    <h2>\n       Implementing Calltips\n    </h2>\n    <p>\n       Again, the SCN_CHARADDED notification is used to catch when an opening parenthesis is added.\n      The preceding word can then be retrieved from the current line:\n    </p>\n    &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>char</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>linebuf</span><span class='S10'>[</span><span class='S4'>1000</span><span\n    class='S10'>];</span><span class='S0'><br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>int</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>current</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span class='S10'>(</span><span\n    class='S11'>SCI_GETCURLINE</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S5'>sizeof</span><span class='S10'>(</span><span class='S11'>linebuf</span><span\n    class='S10'>),</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S5'>\n    reinterpret_cast</span><span class='S10'>&lt;</span><span class='S11'>LPARAM</span><span\n    class='S10'>&gt;(</span><span class='S5'>static_cast</span><span class='S10'>&lt;</span><span\n    class='S5'>char</span><span class='S0'>&nbsp;</span> <span class='S10'>*&gt;(</span><span\n    class='S11'>linebuf</span><span class='S10'>)));</span><span class='S0'><br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>int</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>pos</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>SendEditor</span><span class='S10'>(</span><span\n    class='S11'>SCI_GETCURRENTPOS</span><span class='S10'>);</span><span class='S0'><br />\n    <br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>int</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>startword</span><span class='S0'>&nbsp;</span> <span class='S10'>=</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>current</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>-</span><span class='S0'>&nbsp;</span> <span class='S4'>1</span><span\n    class='S10'>;</span><span class='S0'><br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>while</span><span class='S0'>&nbsp;</span>\n    <span class='S10'>(</span><span class='S11'>startword</span><span class='S0'>&nbsp;</span>\n    <span class='S10'>&gt;</span><span class='S0'>&nbsp;</span> <span class='S4'>0</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>&amp;&amp;</span><span class='S0'>&nbsp;</span>\n    <span class='S11'>isalpha</span><span class='S10'>(</span><span class='S11'>linebuf</span><span\n    class='S10'>[</span><span class='S11'>startword</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>-</span><span class='S0'>&nbsp;</span> <span class='S4'>1</span><span\n    class='S10'>]))</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>\n    startword</span><span class='S10'>--;</span><span class='S0'><br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S11'>linebuf</span><span class='S10'>[</span><span\n    class='S11'>current</span><span class='S0'>&nbsp;</span> <span class='S10'>-</span><span\n    class='S0'>&nbsp;</span> <span class='S4'>1</span><span class='S10'>]</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>=</span><span class='S0'>&nbsp;</span> <span\n    class='S7'>'\\0'</span><span class='S10'>;</span><span class='S0'><br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>char</span><span class='S10'>*</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>word</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>=</span><span class='S0'>&nbsp;</span> <span class='S11'>linebuf</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>+</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>startword</span><span class='S10'>;</span><br />\n\n    <p>\n       Then if a calltip is available it can be displayed. The calltip appears immediately below\n      the position specified. The calltip can be multiple lines separated by newlines (\\n).\n    </p>\n    &nbsp;&nbsp;&nbsp;&nbsp;<span class='S11'>pos</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>=</span><span class='S0'>&nbsp;</span> <span class='S11'>SendMessage</span><span\n    class='S10'>(</span><span class='S11'>hwnd</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>SCI_GETCURRENTPOS</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S4'>0</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S4'>0</span><span\n    class='S10'>);</span><span class='S0'><br />\n    </span> &nbsp;&nbsp;&nbsp;&nbsp;<span class='S11'>SendMessageText</span><span\n    class='S10'>(</span><span class='S11'>hwnd</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>SCI_CALLTIPSHOW</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S11'>pos</span><span\n    class='S0'>&nbsp;</span> <span class='S10'>-</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>wordLen</span><span class='S0'>&nbsp;</span> <span class='S10'>-</span><span\n    class='S0'>&nbsp;</span> <span class='S4'>1</span><span class='S10'>,</span><span\n    class='S0'>&nbsp;</span> <span class='S11'>calltip</span><span class='S10'>);</span><br />\n\n    <p>\n       The calltip can be removed when a closing parenthesis is entered:\n    </p>\n    &nbsp;&nbsp;&nbsp;&nbsp;<span class='S5'>if</span><span class='S0'>&nbsp;</span> <span\n    class='S10'>(</span><span class='S11'>SendMessage</span><span class='S10'>(</span><span\n    class='S11'>hwnd</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S11'>SCI_CALLTIPACTIVE</span><span class='S10'>,</span><span class='S0'>&nbsp;</span>\n    <span class='S4'>0</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S4'>0</span><span class='S10'>))</span><span class='S0'><br />\n     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class='S11'>\n    SendMessage</span><span class='S10'>(</span><span class='S11'>hwnd</span><span\n    class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S11'>\n    SCI_CALLTIPCANCEL</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span\n    class='S4'>0</span><span class='S10'>,</span><span class='S0'>&nbsp;</span> <span class='S4'>\n    0</span><span class='S10'>);</span><br />\n\n    <p>\n       Obviously, it is up the application to look after supplying the appropriate calltip text.\n    </p>\n    <p>\n       SciTE goes one step further, counting the commas between arguments and highlighting the\n      corresponding part of the calltip. This code is in ContinueCallTip.\n    </p>\n    <p>\n       <i>Page contributed by Andrew McKinlay.</i>\n    </p>\n  </body>\n</html>\n\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/Steps.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta content=\"text/html; charset=iso-8859-1\" http-equiv=\"Content-Type\"><title>How to use the Scintilla Edit Control in windows?</title></head><body bgcolor=\"#ffffff\">\n\t<p><h2>How to use the Scintilla Edit Control in windows?</h2>\n\t\t<p>\n\t\t\tThis should be a little step by step explanation how to use Scintilla in the windows environment.\n\t\t</p>\n\t</p>\n\t<p><h2>How to create Scintilla Edit Control?</h2>\n\t\t<p>\n\t\t\tFirst of all, load the Scintilla DLL with something like:\n\t\t</p>\n\t\t<pre>\n\n\thmod = LoadLibrary(&quot;SciLexer.DLL&quot;);\n\t\tif (hmod==NULL)\n\t\t{\n\t\t\tMessageBox(hwndParent,\n\t\t\t&quot;The Scintilla DLL could not be loaded.&quot;,\n\t\t\t&quot;Error loading Scintilla&quot;,\n\t\t\tMB_OK | MB_ICONERROR);\n\t\t}\n\t\t</pre>\n\t\t<p>\n\t\t\tIf the DLL was loaded successfully, then the DLL has registered (yes, by itself) a new\n\t\t\twindow class. The new class called &quot;Scintilla&quot; is the new scintilla edit control.\n\t\t</p>\n\t\t<p>\n\t\t\tNow you can use this new control just like any other windows control.\n\t\t</p>\n\t\t<pre>\n\n\thwndScintilla = CreateWindowEx(0,\n\t\t&quot;Scintilla&quot;,&quot;&quot;, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN,\n\t\t10,10,500,400,hwndParent,(HMENU)GuiID, hInstance,NULL);\n\t\t</pre>\n\t\t<p>\n\t\t\tNote the new window class name: &quot;Scintilla&quot;. By reaching this point you actually included\n\t\t\ta Scintilla Edit Control to your windows program.\n\t\t</p>\n\t</p>\n\t<p><h2>How to control the Scintilla Edit Control?</h2>\n\t\t<p>\n\t\t\tYou can control Scintilla by sending commands to the Edit Control.\n\t\t\tThere a 2 ways of doing this. A simple and fast way.\n\t\t</p>\n\t\t<p><h3>The simple way to control Scintilla</h3>\n\t\t\t<p>\n\t\t\t\tThe simple way is just like with any other windows control. You can send messages to the\n\t\t\t\tScintilla Edit Control and receive notifications from the control. (Note that the notifications\n\t\t\t\tare sent to the parent window of the Scintilla Edit Control.)\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\tThe Scintilla Edit Control knows a special message for each command.\n\t\t\t\tTo send commands to the Scintilla Edit Control you can use the SendMessage function.\n\t\t\t</p>\n\t\t\t<pre>\n\n\tSendMessage(hwndScintilla,sci_command,wparam,lparam);\n\t\t\t</pre>\n\t\t\t<p>\n\t\t\t\tlike:\n\t\t\t</p>\n\t\t\t<pre>\n\n\tSendMessage(hwndScintilla,SCI_CREATEDOCUMENT, 0, 0);\n\t\t\t</pre>\n\t\t\t<p>\n\t\t\t\tSome of the commands will return a value and unused parameters should be set to NULL.\n\t\t\t</p>\n\t\t</p>\n\t\t<p><h3>The fast way to control Scintilla</h3>\n\t\t\t<p>\n\t\t\t\tThe fast way of controlling the Scintilla Edit Control  is to call message handling function by yourself.\n\t\t\t\tYou can retrieve a pointer to the message handling function of the Scintilla Edit Control and\n\t\t\t\tcall it directly to execute a command. This way is much more faster than the SendMessage() way.\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t1st you have to use the SCI_GETDIRECTFUNCTION and SCI_GETDIRECTPOINTER commands to\n\t\t\t\tretrieve the pointer to the function and a pointer which must be the first parameter when calling the retrieved\n\t\t\t\tfunction pointer.\n\t\t\t\tYou have to do this with the SendMessage way :)\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\tThe whole thing has to look like this:\n\t\t\t</p>\n\t\t\t<pre>\n\n\tint (*fn)(void*,int,int,int);\n\tvoid * ptr;\n\tint canundo;\n\n\tfn = (int (__cdecl *)(void *,int,int,int))SendMessage(\n\t\thwndScintilla,SCI_GETDIRECTFUNCTION,0,0);\n\tptr = (void *)SendMessage(hwndScintilla,SCI_GETDIRECTPOINTER,0,0);\n\n\tcanundo = fn(ptr,SCI_CANUNDO,0,0);\n\t\t\t</pre>\n\t\t\t<p>\n\t\t\t\twith &quot;fn&quot; as the function pointer to the message handling function of the Scintilla Control\n\t\t\t\tand &quot;ptr&quot; as the pointer that must be used as 1st parameter.\n\t\t\t\tThe next parameters are the Scintilla Command with its two (optional) parameters.\n\t\t\t</p>\n\n\t\t</p>\n\t\t<p><h3>How will I receive notifications?</h3>\n\t\t\t<p>\n\t\t\t\tWhenever an event occurs where Scintilla wants to inform you about something, the Scintilla Edit Control\n\t\t\t\twill send notification to the parent window. This is done by a WM_NOTITY message.\n\t\t\t\tWhen receiving that message, you have to look in the xxx struct for the actual message.\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\tSo in Scintillas parent window message handling function you have to include some code like this:\n\t\t\t</p>\n\t\t\t<pre>\n\tNMHDR *lpnmhdr;\n\n\t[...]\n\n\tcase WM_NOTIFY:\n\t\tlpnmhdr = (LPNMHDR) lParam;\n\n\t\tif(lpnmhdr-&gt;hwndFrom==hwndScintilla)\n\t\t{\n\t\t\tswitch(lpnmhdr-&gt;code)\n\t\t\t{\n\t\t\t\tcase SCN_CHARADDED:\n\t\t\t\t\t/* Hey, Scintilla just told me that a new */\n\t\t\t\t\t/* character was added to the Edit Control.*/\n\t\t\t\t\t/* Now i do something cool with that char. */\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\tbreak;\n\t\t\t</pre>\n\t\t</p>\n\t</p>\n\n    <p>\n       <i>Page contributed by Holger Schmidt.</i>\n    </p>\n</body></html>\n\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/StyleMetadata.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n        <head>\n                <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n                <meta name=\"generator\" content=\"SciTE\" />\n                <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n                <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n                <title>\n                        Scintilla Style Metadata\n                </title>\n                <style type=\"text/css\">\n<!--\n/*<![CDATA[*/\n\tCODE { font-weight: bold; font-family: Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace; }\n/*]]>*/\n-->\n                </style>\n        </head>\n<body bgcolor=\"#FFFFFF\" text=\"#000000\">\n        <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n                <tr>\n                <td>\n                <img src=\"SciTEIco.png\" border=\"3\" height=\"64\" width=\"64\" alt=\"Scintilla icon\" />\n                </td>\n                <td>\n                <a href=\"index.html\" style=\"color:white;text-decoration:none\"><font size=\"5\">Scintilla</font></a>\n                </td>\n                </tr>\n        </table>\n        <h2>\n                Language Types\n        </h2>\n        <p>\n                Scintilla contains lexers for various types of languages:\n                <ul>\n                        <li>Programming languages like C++, Java, and Python.</li>\n                        <li>Assembler languages are low-level programming languages which may additionally include instructions and registers.</li>\n                        <li>Markup languages like HTML, TeX, and Markdown.</li>\n                        <li>Data languages like EDIFACT and YAML.</li>\n                </ul>\n        </p>\n        <p>\n                Some languages can be used in different ways. JavaScript is a programming language but also\n                the basis of JSON data files. Similarly,\n                <a href=\"https://en.wikipedia.org/wiki/S-expression\">Lisp s expressions</a> can be used for both source code and data.\n        </p>\n        <p>\n                Each language type has common elements such as identifiers in programming languages.\n                These common elements should be identified so that languages can be displayed with common\n                styles for these elements.\n                Style tags are used for this purpose in Scintilla.\n        </p>\n        <h2>\n                Style Tags\n        </h2>\n        <p>\n                Every style has a list of tags where a tag is a lower-case word containing only the common ASCII letters 'a'-'z'\n                such as \"comment\" or \"operator\".\n        </p>\n        <p>\n                Tags are ordered from most important to least important.\n        </p>\n        <p>\n                While applications may assign visual attributes for tag lists in many different ways, one reasonable technique is to\n                apply tag-specific attributes in reverse order so that earlier and more important tags override less important tags.\n                For example, the tag list <code>\"error comment documentation keyword\"</code> with\n                a set of tag attributes <br />\n                <code>{ comment=fore:green,back:very-light-green,font:Serif documentation=fore:light-green error=strikethrough keyword=bold }</code><br />\n                could be rendered as <br />\n                <code>bold,fore:light-green,back:very-light-green,font:Serif,strikethrough</code>.\n        </p>\n        <p>\n                Alternative renderings could check for multi-tag combinations like\n                <code>{ comment.documentation=fore:light-green comment.line=dark-green comment=green }.</code>\n        </p>\n        <p>\n                Commonly, a tag list will contain an optional embedded language; optional statuses; a base type; and a set of type modifiers:<br />\n                <code>embedded-language? status* base-type modifiers*</code>\n        </p>\n        <h3>Embedded language</h3>\n        <p>\n                The embedded language may be a source <code>(client | server)</code> followed by a language name\n                <code>(javascript | php | python | basic)</code>.\n                This may be extended in the future with other programming languages and style-definition languages like CSS.\n        </p>\n        <h3>Status</h3>\n        <p>\n                The statuses may be <code>(error | unused | predefined | inactive)</code>.<br />\n                The <code>error</code> status is used for lexical statuses that indicate errors in the source code such as unterminated quoted strings.<br />\n                The <code>unused</code> 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.<br />\n                The <code>predefined</code> status indicates a style in the range 32.39 that is used for non-lexical purposes in Scintilla.<br />\n                The <code>inactive</code> status is used for text that is not currently interpreted such as C++ code that is contained within a '#if 0' preprocessor block.\n        </p>\n        <h3>Basic Types</h3>\n        <p>\n                The basic types for programming languages are <code>(default | operator | keyword | identifier | literal | comment | preprocessor | label)</code>.<br />\n                The <code>default</code> type is commonly used for spaces and tabs between tokens although it may cover other characters in some languages.\n        </p>\n        <p>\n                Assembler languages add <code>(instruction | register)</code>. to the basic types from programming languages.<br />\n        </p>\n        <p>\n                The basic types for markup languages are <code>(default | tag | attribute | comment | preprocessor)</code>.<br />\n        </p>\n        <p>\n                The basic types for data languages are <code>(default | key | data | comment)</code>.<br />\n        </p>\n        <h3>Comments</h3>\n        <p>\n                Programming languages may differentiate between line and stream comments and treat documentation comments as distinct from other comments.\n                Documentation comments may be marked up with documentation keywords.<br />\n                The additional attributes commonly used are <code>(line | documentation | keyword | taskmarker)</code>.\n        </p>\n        <h3>Literals</h3>\n        <p>\n                Programming and assembler languages contain a rich set of literals including numbers like <code>7</code> and <code>3.89e23</code>; <code>\"string\\n\"</code>; and <code>nullptr</code>\n                and differentiating between these is often wanted.<br />\n                The common literal types are <code>(numeric | boolean | string | regex | date | time | uuid | nil | compound)</code>.<br />\n                Numeric literal types are subdivided into <code>(integer | real)</code>.<br />\n                String literal types may add (perhaps multiple) further attributes from <code> (heredoc | character | escapesequence | interpolated | multiline | raw)</code>.<br />\n        </p>\n        <p>\n                An escape sequence within an interpolated heredoc may thus be <code>literal string heredoc escapesequence</code>.\n        </p>\n        <h3>\n                List of known tags\n        </h3>\n        <table>\n                <tr><td><code>attribute</code></td><td>Markup attribute</td></tr>\n                <tr><td><code>basic</code></td><td>Embedded Basic</td></tr>\n                <tr><td><code>boolean</code></td><td>True or false literal</td></tr>\n                <tr><td><code>character</code></td><td>Single character literal as opposed to a string literal</td></tr>\n                <tr><td><code>client</code></td><td>Script executed on client</td></tr>\n                <tr><td><code>comment</code></td><td>The standard comment type in a language: may be stream or line</td></tr>\n                <tr><td><code>compound</code></td><td>Literal containing multiple subliterals such as a tuple or complex number</td></tr>\n                <tr><td><code>data</code></td><td>A value in a data file</td></tr>\n                <tr><td><code>date</code></td><td>Literal representing a data such as '19/November/1975'</td></tr>\n                <tr><td><code>default</code></td><td>Starting state commonly also used for white space</td></tr>\n                <tr><td><code>documentation</code></td><td>Comment that can be extracted into documentation</td></tr>\n                <tr><td><code>error</code></td><td>State indicating an invalid or erroneous element</td></tr>\n                <tr><td><code>escapesequence</code></td><td>Parts of a string that are not literal such as '\\t' for tab in C</td></tr>\n                <tr><td><code>heredoc</code></td><td>Lengthy text literal marked by a word at both ends</td></tr>\n                <tr><td><code>identifier</code></td><td>Name that identifies an object or class of object</td></tr>\n                <tr><td><code>inactive</code></td><td>Code that is not currently interpreted</td></tr>\n                <tr><td><code>instruction</code></td><td>Mnemonic in assembler languages like 'addc'</td></tr>\n                <tr><td><code>integer</code></td><td>Numeric literal with no fraction or exponent like '738'</td></tr>\n                <tr><td><code>interpolated</code></td><td>String that can contain expressions</td></tr>\n                <tr><td><code>javascript</code></td><td>Embedded Javascript</td></tr>\n                <tr><td><code>key</code></td><td>Element which allows finding associated data</td></tr>\n                <tr><td><code>keyword</code></td><td>Reserved word with special meaning like 'while'</td></tr>\n                <tr><td><code>label</code></td><td>Destination for jumps in programming and assembler languages</td></tr>\n                <tr><td><code>line</code></td><td>Differentiates between stream comments and line comments in languages that have both</td></tr>\n                <tr><td><code>literal</code></td><td>Fixed value in source code</td></tr>\n                <tr><td><code>multiline</code></td><td>Differentiates between single line and multiline elements, commonly strings</td></tr>\n                <tr><td><code>nil</code></td><td>Literal for the null pointer such as nullptr in C++ or NULL in C</td></tr>\n                <tr><td><code>numeric</code></td><td>Literal number like '16'</td></tr>\n                <tr><td><code>operator</code></td><td>Punctuation character such as '&amp;' or '['</td></tr>\n                <tr><td><code>php</code></td><td>Embedded PHP</td></tr>\n                <tr><td><code>predefined</code></td><td>Style in the range 32.39 that is used for non-lexical purposes</td></tr>\n                <tr><td><code>preprocessor</code></td><td>Element that is recognized in an early stage of translation</td></tr>\n                <tr><td><code>python</code></td><td>Embedded Python</td></tr>\n                <tr><td><code>raw</code></td><td>String type that avoids interpretation: may be used for regular expressions in languages without a specific regex type</td></tr>\n                <tr><td><code>real</code></td><td>Numeric literal which may have a fraction or exponent like '3.84e-15'</td></tr>\n                <tr><td><code>regex</code></td><td>Regular expression literal like '^[a-z]+'</td></tr>\n                <tr><td><code>register</code></td><td>CPU register in assembler languages</td></tr>\n                <tr><td><code>server</code></td><td>Script executed on server</td></tr>\n                <tr><td><code>string</code></td><td>Sequence of characters</td></tr>\n                <tr><td><code>tag</code></td><td>Markup tag like '&lt;br /&gt;'</td></tr>\n                <tr><td><code>taskmarker</code></td><td>Word in comment that marks future work like 'FIXME'</td></tr>\n                <tr><td><code>time</code></td><td>Literal representing a time such as '9:34:31'</td></tr>\n                <tr><td><code>unused</code></td><td>Style that is not currently used</td></tr>\n                <tr><td><code>uuid</code></td><td>Universally unique identifier often used in interface definition files which may look like '{098f2470-bae0-11cd-b579-08002b30bfeb}'</td></tr>\n        </table>\n        <h2>\n                Extension\n        </h2>\n        <p>\n                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.\n                Individual lexers may also choose to expose unique language features through new tags.\n        </p>\n        <h2>\n                Translation\n        </h2>\n        <p>\n                Tags could be exposed directly in user interfaces or configuration languages.\n                However, an application may also translate these to match its naming schema.\n                Capitalization and punctuation could be different (like <code>Here-Doc</code> instead of <code>heredoc</code>),\n                terminology changed (\"constant\" instead of \"literal\"),\n                or human language changed from English to Chinese or Spanish.\n        </p>\n        <p>\n                Starting from a common set of tags makes these modifications tractable.\n        </p>\n        <h2>\n                Open issues\n        </h2>\n        <p>\n                The C++ lexer (for example) has inactive states and dynamically allocated substyles.\n                These should be exposed through the metadata mechanism but are not currently.\n        </p>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/Scintilla/index.html",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta name=\"generator\" content=\"HTML Tidy, see www.w3.org\" />\n    <meta name=\"generator\" content=\"SciTE\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n    <meta name=\"keywords\" content=\"Scintilla, SciTE, Editing Component, Text Editor\" />\n    <meta name=\"Description\"\n    content=\"www.scintilla.org is the home of the Scintilla editing component and SciTE text editor application.\" />\n    <meta name=\"Date.Modified\" content=\"20180212\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <style type=\"text/css\">\n        #versionlist {\n            margin: 0;\n            padding: .5em;\n            list-style-type: none;\n            color: #FFCC99;\n            background: #000000;\n        }\n        #versionlist li {\n            margin-bottom: .5em;\n        }\n        #menu {\n            margin: 0;\n            padding: .5em 0;\n            list-style-type: none;\n            font-size: larger;\n            background: #CCCCCC;\n        }\n        #menu li {\n            margin: 0;\n            padding: 0 .5em;\n            display: inline;\n        }\n    </style>\n    <script type=\"text/javascript\">\n   \tfunction IsRemote() {\n\t\tvar loc = '' + window.location;\n\t\treturn (loc.indexOf('http:')) != -1 || (loc.indexOf('https:') != -1);\n   \t}\n    </script>\n     <title>\n       Scintilla and SciTE\n     </title>\n  </head>\n  <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td width=\"256\">\n          <img src=\"SciWord.jpg\" height=\"78\" width=\"256\" alt=\"Scintilla\" />\n        </td>\n        <td width=\"40%\" align=\"left\">\n          <font color=\"#FFCC99\" size=\"4\"> A free source code editing component for Win32,\n          GTK+, and OS X</font>\n        </td>\n        <td width=\"40%\" align=\"right\">\n          <font color=\"#FFCC99\" size=\"3\"> Release version 3.10.1<br />\n           Site last modified February 12 2018</font>\n        </td>\n        <td width=\"20%\">\n          &nbsp;\n        </td>\n      </tr>\n    </table>\n    <table bgcolor=\"#000000\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n      <tr>\n        <td width=\"100%\" style=\"background: url(https://www.scintilla.org/SciBreak.jpg) no-repeat;height:150px;\">\n          &nbsp;\n        </td>\n      </tr>\n    </table>\n    <ul id=\"versionlist\">\n      <li>Version 3.7.5 adds a Reverse Selected Lines command.\n      MSVC 2013 is no longer supported.</li>\n      <li>Version 3.7.4 restores performance on GTK+.\n      C++11 now required to build and Windows NT 4 is no longer supported.</li>\n      <li>Version 3.7.3 fixes problems with GTK+ on Wayland.</li>\n      <li>Version 3.7.2 fixes some crashes on GTK+ and Cocoa, commonly at destruction.</li>\n      <li>Version 3.7.1 supports accessibility on GTK+ and Cocoa.\n      The Scintilla namespace is not exposed in Scintilla.h and some deprecated APIs were removed.</li>\n    </ul>\n    <ul id=\"menu\">\n      <li id=\"remote1\"><a href=\"https://www.scintilla.org/SciTEImage.html\">Screenshot</a></li>\n      <li id=\"remote2\"><a href=\"https://www.scintilla.org/ScintillaDownload.html\">Download</a></li>\n      <li><a href=\"https://www.scintilla.org/ScintillaDoc.html\">Documentation</a></li>\n      <li><a href=\"https://www.scintilla.org/ScintillaToDo.html\">Bugs</a></li>\n      <li id=\"remote3\"><a href=\"https://www.scintilla.org/SciTE.html\">SciTE</a></li>\n      <li><a href=\"https://www.scintilla.org/ScintillaHistory.html\">History</a></li>\n      <li><a href=\"https://www.scintilla.org/ScintillaRelated.html\">Related</a></li>\n      <li id=\"remote4\"><a href=\"https://www.scintilla.org/Privacy.html\">Privacy</a></li>\n    </ul>\n<script type=\"text/javascript\" language=\"JavaScript\"><!--\nif (!IsRemote()) { //if NOT remote...\n    document.getElementById('remote1').style.display='none';\n    document.getElementById('remote2').style.display='none';\n    document.getElementById('remote3').style.display='none';\n    document.getElementById('remote4').style.display='none';\n}\n//--></script>\n    <p>\n       <a href=\"https://www.scintilla.org/ScintillaDoc.html\">Scintilla</a> is a free source code editing component.\n       It comes with complete source code and a <a href=\"https://www.scintilla.org/License.txt\">license</a> that\n       permits use in any free project or commercial product.\n    </p>\n    <p>\n       As well as features found in standard text editing components, Scintilla includes features\n       especially useful when editing and debugging source code.\n       These include support for syntax styling, error indicators, code completion and call tips.\n       The selection margin can contain markers like those used in debuggers to indicate\n       breakpoints and the current line. Styling choices are more open than with many editors,\n       allowing the use of proportional fonts, bold and italics, multiple foreground and background\n       colours and multiple fonts.\n    </p>\n    <p>\n    <p>\n       <a href=\"https://www.scintilla.org/SciTE.html\">SciTE</a> is a SCIntilla based Text Editor. Originally built to\n      demonstrate Scintilla, it has grown to be a generally useful editor with facilities for\n      building and running programs. It is best used for jobs with simple configurations - I use it\n      for building test and demonstration programs as well as SciTE and Scintilla, themselves.\n    </p>\n    <p>\n       Development of Scintilla started as an effort to improve the text editor in PythonWin. After\n      being frustrated by problems in the Richedit control used by PythonWin, it looked like the\n      best way forward was to write a new edit control. The biggest problem with Richedit and other\n      similar controls is that they treat styling changes as important persistent changes to the\n      document so they are saved into the undo stack and set the document's dirty flag. For source\n      code, styling should not be persisted as it can be mechanically recreated.\n    </p>\n    <p>\n       Scintilla and SciTE are currently available for Intel Win32, OS X, and Linux compatible operating\n      systems with GTK+. They have been run on Windows XP, Windows 7, OS X 10.7+, and on Ubuntu 14.04\n      with GTK+ 2.24. <a href=\"https://www.scintilla.org/SciTEImage.html\">Here is a screenshot of\n      SciTE.</a><br />\n    </p>\n    <p>\n       You can <a href=\"https://www.scintilla.org/ScintillaDownload.html\">download Scintilla.</a>\n    </p>\n    <p>\n       The source code can be downloaded via Mercurial at the Source Forge\n\t<a href=\"https://sourceforge.net/projects/scintilla/\">Scintilla project page</a>.\n    </p>\n    <p>\n       <a href=\"https://www.scintilla.org/ScintillaRelated.html\">Related sites.</a>\n    </p>\n    <p>\n       <a href=\"https://www.scintilla.org/ScintillaToDo.html\">Bugs and To Do list.</a>\n    </p>\n    <p>\n       <a href=\"https://www.scintilla.org/ScintillaHistory.html\">History and contribution credits.</a>\n    </p>\n    <p>\n       <a href=\"https://www.scintilla.org/Icons.html\">Icons that can be used with Scintilla.</a>\n    </p>\n    <p>\n       The <a href=\"https://scintilla.sourceforge.io/LongTermDownload.html\">LongTerm3</a>\n       branch of Scintilla avoids using features from C++14 or later in order to support older systems.\n    </p>\n    <p>\n      Questions and comments about Scintilla should be directed to the\n      <a href=\"https://groups.google.com/forum/#!forum/scintilla-interest\">scintilla-interest</a>\n      mailing list,\n      which is for discussion of Scintilla and related projects, their bugs and future features.\n      This is a low traffic list, averaging less than 20 messages per week.\n      To avoid spam, only list members can write to the list.\n      New versions of Scintilla are announced on scintilla-interest and may also be received by SourceForge\n      members by clicking on the Monitor column icon for \"scintilla\" on\n      <a href=\"https://sourceforge.net/project/showfiles.php?group_id=2439\">the downloads page</a>.\n      Messages sent to my personal email address that could have been sent to the list\n      may receive no response.\n      <br />\n    </p>\nThere is a <a href=\"https://sourceforge.net/projects/scintilla/\">Scintilla project page</a>\nhosted on\n<script type=\"text/javascript\" language=\"JavaScript\">\n<!--\nif (IsRemote()) {\n    document.write('<a href=\"https://sourceforge.net/projects/scintilla/\">');\n    document.write('<img src=\"https://sflogo.sourceforge.net/sflogo.php?group_id=2439&amp;type=8\" width=\"80\" height=\"15\" alt=\"Get Scintilla at SourceForge.net. Fast, secure and Free Open Source software downloads\" /></a> ');\n} else {\n    document.write('<a href=\"https://sourceforge.net/projects/scintilla/\">SourceForge<\\/a>');\n}\n//-->\n</script>\n<noscript>\n<a href=\"https://sourceforge.net/projects/scintilla/\">\n<img src=\"https://sflogo.sourceforge.net/sflogo.php?group_id=2439&amp;type=8\" width=\"80\" height=\"15\" alt=\"Get Scintilla at SourceForge.net. Fast, secure and Free Open Source software downloads\" /></a>\n</noscript>\n  </body>\n</html>\n\n"
  },
  {
    "path": "src/qscint/doc/html/annotated.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">Class List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<div class=\"textblock\">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class=\"directory\">\n<table class=\"directory\">\n<tr id=\"row_0_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciAbstractAPIs.html\" target=\"_self\">QsciAbstractAPIs</a></td><td class=\"desc\">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 </td></tr>\n<tr id=\"row_1_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciAPIs.html\" target=\"_self\">QsciAPIs</a></td><td class=\"desc\">Provies an implementation of the textual API information used in call tips and for auto-completion </td></tr>\n<tr id=\"row_2_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciCommand.html\" target=\"_self\">QsciCommand</a></td><td class=\"desc\">Internal editor command that may have one or two keys bound to it </td></tr>\n<tr id=\"row_3_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciCommandSet.html\" target=\"_self\">QsciCommandSet</a></td><td class=\"desc\">Set of all internal editor commands that may have keys bound </td></tr>\n<tr id=\"row_4_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciDocument.html\" target=\"_self\">QsciDocument</a></td><td class=\"desc\">Document to be edited </td></tr>\n<tr id=\"row_5_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexer.html\" target=\"_self\">QsciLexer</a></td><td class=\"desc\">Abstract class used as a base for language lexers </td></tr>\n<tr id=\"row_6_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerAVS.html\" target=\"_self\">QsciLexerAVS</a></td><td class=\"desc\">Encapsulates the Scintilla AVS lexer </td></tr>\n<tr id=\"row_7_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerBash.html\" target=\"_self\">QsciLexerBash</a></td><td class=\"desc\">Encapsulates the Scintilla Bash lexer </td></tr>\n<tr id=\"row_8_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerBatch.html\" target=\"_self\">QsciLexerBatch</a></td><td class=\"desc\">Encapsulates the Scintilla batch file lexer </td></tr>\n<tr id=\"row_9_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCMake.html\" target=\"_self\">QsciLexerCMake</a></td><td class=\"desc\">Encapsulates the Scintilla CMake lexer </td></tr>\n<tr id=\"row_10_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\" target=\"_self\">QsciLexerCoffeeScript</a></td><td class=\"desc\">Encapsulates the Scintilla CoffeeScript lexer </td></tr>\n<tr id=\"row_11_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCPP.html\" target=\"_self\">QsciLexerCPP</a></td><td class=\"desc\">Encapsulates the Scintilla C++ lexer </td></tr>\n<tr id=\"row_12_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCSharp.html\" target=\"_self\">QsciLexerCSharp</a></td><td class=\"desc\">Encapsulates the Scintilla C# lexer </td></tr>\n<tr id=\"row_13_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCSS.html\" target=\"_self\">QsciLexerCSS</a></td><td class=\"desc\">Encapsulates the Scintilla CSS lexer </td></tr>\n<tr id=\"row_14_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCustom.html\" target=\"_self\">QsciLexerCustom</a></td><td class=\"desc\">Abstract class used as a base for new language lexers </td></tr>\n<tr id=\"row_15_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerD.html\" target=\"_self\">QsciLexerD</a></td><td class=\"desc\">Encapsulates the Scintilla D lexer </td></tr>\n<tr id=\"row_16_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerDiff.html\" target=\"_self\">QsciLexerDiff</a></td><td class=\"desc\">Encapsulates the Scintilla Diff lexer </td></tr>\n<tr id=\"row_17_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerEDIFACT.html\" target=\"_self\">QsciLexerEDIFACT</a></td><td class=\"desc\">Encapsulates the Scintilla EDIFACT lexer </td></tr>\n<tr id=\"row_18_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerFortran.html\" target=\"_self\">QsciLexerFortran</a></td><td class=\"desc\">Encapsulates the Scintilla Fortran lexer </td></tr>\n<tr id=\"row_19_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerFortran77.html\" target=\"_self\">QsciLexerFortran77</a></td><td class=\"desc\">Encapsulates the Scintilla Fortran77 lexer </td></tr>\n<tr id=\"row_20_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerHTML.html\" target=\"_self\">QsciLexerHTML</a></td><td class=\"desc\">Encapsulates the Scintilla HTML lexer </td></tr>\n<tr id=\"row_21_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerIDL.html\" target=\"_self\">QsciLexerIDL</a></td><td class=\"desc\">Encapsulates the Scintilla IDL lexer </td></tr>\n<tr id=\"row_22_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerJava.html\" target=\"_self\">QsciLexerJava</a></td><td class=\"desc\">Encapsulates the Scintilla Java lexer </td></tr>\n<tr id=\"row_23_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerJavaScript.html\" target=\"_self\">QsciLexerJavaScript</a></td><td class=\"desc\">Encapsulates the Scintilla JavaScript lexer </td></tr>\n<tr id=\"row_24_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerJSON.html\" target=\"_self\">QsciLexerJSON</a></td><td class=\"desc\">Encapsulates the Scintilla JSON lexer </td></tr>\n<tr id=\"row_25_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerLua.html\" target=\"_self\">QsciLexerLua</a></td><td class=\"desc\">Encapsulates the Scintilla Lua lexer </td></tr>\n<tr id=\"row_26_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerMakefile.html\" target=\"_self\">QsciLexerMakefile</a></td><td class=\"desc\">Encapsulates the Scintilla Makefile lexer </td></tr>\n<tr id=\"row_27_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerMarkdown.html\" target=\"_self\">QsciLexerMarkdown</a></td><td class=\"desc\">Encapsulates the Scintilla Markdown lexer </td></tr>\n<tr id=\"row_28_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerMatlab.html\" target=\"_self\">QsciLexerMatlab</a></td><td class=\"desc\">Encapsulates the Scintilla Matlab file lexer </td></tr>\n<tr id=\"row_29_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerOctave.html\" target=\"_self\">QsciLexerOctave</a></td><td class=\"desc\">Encapsulates the Scintilla Octave file lexer </td></tr>\n<tr id=\"row_30_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPascal.html\" target=\"_self\">QsciLexerPascal</a></td><td class=\"desc\">Encapsulates the Scintilla Pascal lexer </td></tr>\n<tr id=\"row_31_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPerl.html\" target=\"_self\">QsciLexerPerl</a></td><td class=\"desc\">Encapsulates the Scintilla Perl lexer </td></tr>\n<tr id=\"row_32_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPO.html\" target=\"_self\">QsciLexerPO</a></td><td class=\"desc\">Encapsulates the Scintilla PO lexer </td></tr>\n<tr id=\"row_33_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPostScript.html\" target=\"_self\">QsciLexerPostScript</a></td><td class=\"desc\">Encapsulates the Scintilla PostScript lexer </td></tr>\n<tr id=\"row_34_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPOV.html\" target=\"_self\">QsciLexerPOV</a></td><td class=\"desc\">Encapsulates the Scintilla POV lexer </td></tr>\n<tr id=\"row_35_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerProperties.html\" target=\"_self\">QsciLexerProperties</a></td><td class=\"desc\">Encapsulates the Scintilla Properties lexer </td></tr>\n<tr id=\"row_36_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPython.html\" target=\"_self\">QsciLexerPython</a></td><td class=\"desc\">Encapsulates the Scintilla Python lexer </td></tr>\n<tr id=\"row_37_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerRuby.html\" target=\"_self\">QsciLexerRuby</a></td><td class=\"desc\">Encapsulates the Scintilla Ruby lexer </td></tr>\n<tr id=\"row_38_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerSpice.html\" target=\"_self\">QsciLexerSpice</a></td><td class=\"desc\">Encapsulates the Scintilla Spice lexer </td></tr>\n<tr id=\"row_39_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerSQL.html\" target=\"_self\">QsciLexerSQL</a></td><td class=\"desc\">Encapsulates the Scintilla SQL lexer </td></tr>\n<tr id=\"row_40_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerTCL.html\" target=\"_self\">QsciLexerTCL</a></td><td class=\"desc\">Encapsulates the Scintilla TCL lexer </td></tr>\n<tr id=\"row_41_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerTeX.html\" target=\"_self\">QsciLexerTeX</a></td><td class=\"desc\">Encapsulates the Scintilla TeX lexer </td></tr>\n<tr id=\"row_42_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerVerilog.html\" target=\"_self\">QsciLexerVerilog</a></td><td class=\"desc\">Encapsulates the Scintilla Verilog lexer </td></tr>\n<tr id=\"row_43_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerVHDL.html\" target=\"_self\">QsciLexerVHDL</a></td><td class=\"desc\">Encapsulates the Scintilla VHDL lexer </td></tr>\n<tr id=\"row_44_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerXML.html\" target=\"_self\">QsciLexerXML</a></td><td class=\"desc\">Encapsulates the Scintilla XML lexer </td></tr>\n<tr id=\"row_45_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerYAML.html\" target=\"_self\">QsciLexerYAML</a></td><td class=\"desc\">Encapsulates the Scintilla YAML lexer </td></tr>\n<tr id=\"row_46_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciMacro.html\" target=\"_self\">QsciMacro</a></td><td class=\"desc\">Sequence of recordable editor commands </td></tr>\n<tr id=\"row_47_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciPrinter.html\" target=\"_self\">QsciPrinter</a></td><td class=\"desc\">Sub-class of the Qt QPrinter class that is able to print the text of a Scintilla document </td></tr>\n<tr id=\"row_48_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciScintilla.html\" target=\"_self\">QsciScintilla</a></td><td class=\"desc\">Implements a higher level, more Qt-like, API to the Scintilla editor widget </td></tr>\n<tr id=\"row_49_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciScintillaBase.html\" target=\"_self\">QsciScintillaBase</a></td><td class=\"desc\">Implements the Scintilla editor widget and its low-level API </td></tr>\n<tr id=\"row_50_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciStyle.html\" target=\"_self\">QsciStyle</a></td><td class=\"desc\">Encapsulates all the attributes of a style </td></tr>\n<tr id=\"row_51_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciStyledText.html\" target=\"_self\">QsciStyledText</a></td><td class=\"desc\">Container for a piece of text and the style used to display the text </td></tr>\n</table>\n</div><!-- directory -->\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciAPIs-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciAPIs Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">add</a>(const QString &amp;entry)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">apiPreparationCancelled</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">apiPreparationFinished</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">apiPreparationStarted</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#adff0073d1f4ee2e0ea8b3bf234ff2dd3\">autoCompletionSelected</a>(const QString &amp;sel)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a6a75974235c5e8d263bf962c778b3a3e\">callTips</a>(const QStringList &amp;context, int commas, QsciScintilla::CallTipsStyle style, QList&lt; int &gt; &amp;shifts)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#aa5c7c8855162eeb1be74c226ebf1b1b6\">cancelPreparation</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">clear</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">defaultPreparedName</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>event</b>(QEvent *e) (defined in <a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#aa2ee3021ffc6a998776547a5c252edca\">installedAPIFiles</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a9dc74576c602f1df961aa8efee652a3d\">isPrepared</a>(const QString &amp;filename=QString()) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">load</a>(const QString &amp;filename)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#af42a26a050bfeb4249d35ab61567ea9e\">loadPrepared</a>(const QString &amp;filename=QString())</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a5c26b8395c49cf61243e5f73c0ce577f\">prepare</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs</a>(QsciLexer *lexer)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#aaf185d65d1034087b77995d8490b6475\">QsciAPIs</a>(QsciLexer *lexer)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">remove</a>(const QString &amp;entry)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a742609f12e48e63edbab2565d7df3cb9\">savePrepared</a>(const QString &amp;filename=QString()) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#ab0f824492bb0f3ca54edb4d46945a3de\">updateAutoCompletionList</a>(const QStringList &amp;context, QStringList &amp;list)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">~QsciAbstractAPIs</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html#a07bc73b7a67f8f405578992bae29528c\">~QsciAPIs</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciAPIs.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciAPIs Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#signals\">Signals</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciAPIs-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciAPIs Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qsciapis.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"signals\"></a>\nSignals</h2></td></tr>\n<tr class=\"memitem:aaa47506820a2596004688e241fc4cd9f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">apiPreparationCancelled</a> ()</td></tr>\n<tr class=\"separator:aaa47506820a2596004688e241fc4cd9f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8fc5db618546fcfcc5bdc46e6d062995\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">apiPreparationStarted</a> ()</td></tr>\n<tr class=\"separator:a8fc5db618546fcfcc5bdc46e6d062995\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf779559d29fed004ec65ef560483e3c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">apiPreparationFinished</a> ()</td></tr>\n<tr class=\"separator:adf779559d29fed004ec65ef560483e3c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aaf185d65d1034087b77995d8490b6475\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#aaf185d65d1034087b77995d8490b6475\">QsciAPIs</a> (<a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *<a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a>)</td></tr>\n<tr class=\"separator:aaf185d65d1034087b77995d8490b6475\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a07bc73b7a67f8f405578992bae29528c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a07bc73b7a67f8f405578992bae29528c\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a07bc73b7a67f8f405578992bae29528c\">~QsciAPIs</a> ()</td></tr>\n<tr class=\"separator:a07bc73b7a67f8f405578992bae29528c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af46ca05571eb676d3aa65b080fb406c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">add</a> (const QString &amp;entry)</td></tr>\n<tr class=\"separator:af46ca05571eb676d3aa65b080fb406c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6b29d84b0b5d63f2b590988195c7557c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">clear</a> ()</td></tr>\n<tr class=\"separator:a6b29d84b0b5d63f2b590988195c7557c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3084b749e4eb1c741fc1004e8a84a631\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">load</a> (const QString &amp;filename)</td></tr>\n<tr class=\"separator:a3084b749e4eb1c741fc1004e8a84a631\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acb1aa10ea05a7ee72a0d77376153b4d2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">remove</a> (const QString &amp;entry)</td></tr>\n<tr class=\"separator:acb1aa10ea05a7ee72a0d77376153b4d2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5c26b8395c49cf61243e5f73c0ce577f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a5c26b8395c49cf61243e5f73c0ce577f\">prepare</a> ()</td></tr>\n<tr class=\"separator:a5c26b8395c49cf61243e5f73c0ce577f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa5c7c8855162eeb1be74c226ebf1b1b6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#aa5c7c8855162eeb1be74c226ebf1b1b6\">cancelPreparation</a> ()</td></tr>\n<tr class=\"separator:aa5c7c8855162eeb1be74c226ebf1b1b6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0a080d197e8226117a626c7b4b68b32d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">defaultPreparedName</a> () const</td></tr>\n<tr class=\"separator:a0a080d197e8226117a626c7b4b68b32d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9dc74576c602f1df961aa8efee652a3d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a9dc74576c602f1df961aa8efee652a3d\">isPrepared</a> (const QString &amp;filename=QString()) const</td></tr>\n<tr class=\"separator:a9dc74576c602f1df961aa8efee652a3d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af42a26a050bfeb4249d35ab61567ea9e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#af42a26a050bfeb4249d35ab61567ea9e\">loadPrepared</a> (const QString &amp;filename=QString())</td></tr>\n<tr class=\"separator:af42a26a050bfeb4249d35ab61567ea9e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a742609f12e48e63edbab2565d7df3cb9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a742609f12e48e63edbab2565d7df3cb9\">savePrepared</a> (const QString &amp;filename=QString()) const</td></tr>\n<tr class=\"separator:a742609f12e48e63edbab2565d7df3cb9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab0f824492bb0f3ca54edb4d46945a3de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab0f824492bb0f3ca54edb4d46945a3de\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#ab0f824492bb0f3ca54edb4d46945a3de\">updateAutoCompletionList</a> (const QStringList &amp;context, QStringList &amp;list)</td></tr>\n<tr class=\"separator:ab0f824492bb0f3ca54edb4d46945a3de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adff0073d1f4ee2e0ea8b3bf234ff2dd3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adff0073d1f4ee2e0ea8b3bf234ff2dd3\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#adff0073d1f4ee2e0ea8b3bf234ff2dd3\">autoCompletionSelected</a> (const QString &amp;sel)</td></tr>\n<tr class=\"separator:adff0073d1f4ee2e0ea8b3bf234ff2dd3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a75974235c5e8d263bf962c778b3a3e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6a75974235c5e8d263bf962c778b3a3e\"></a>\nvirtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#a6a75974235c5e8d263bf962c778b3a3e\">callTips</a> (const QStringList &amp;context, int commas, <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla::CallTipsStyle</a> style, QList&lt; int &gt; &amp;shifts)</td></tr>\n<tr class=\"separator:a6a75974235c5e8d263bf962c778b3a3e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aade407551cb7e9e116e098f08ef5d26c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aade407551cb7e9e116e098f08ef5d26c\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>event</b> (QEvent *e)</td></tr>\n<tr class=\"separator:aade407551cb7e9e116e098f08ef5d26c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa2ee3021ffc6a998776547a5c252edca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAPIs.html#aa2ee3021ffc6a998776547a5c252edca\">installedAPIFiles</a> () const</td></tr>\n<tr class=\"separator:aa2ee3021ffc6a998776547a5c252edca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciAbstractAPIs\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciAbstractAPIs')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td></tr>\n<tr class=\"memitem:a9db5ebe8adda3f58892af676f5295e3a inherit pub_methods_classQsciAbstractAPIs\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs</a> (<a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *<a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a>)</td></tr>\n<tr class=\"separator:a9db5ebe8adda3f58892af676f5295e3a inherit pub_methods_classQsciAbstractAPIs\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ef866227b05482cb32c70b44e8bdec1 inherit pub_methods_classQsciAbstractAPIs\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ef866227b05482cb32c70b44e8bdec1\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">~QsciAbstractAPIs</a> ()</td></tr>\n<tr class=\"separator:a7ef866227b05482cb32c70b44e8bdec1 inherit pub_methods_classQsciAbstractAPIs\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90452ab6f4d40314ec519913f9e78ccc inherit pub_methods_classQsciAbstractAPIs\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a90452ab6f4d40314ec519913f9e78ccc\"></a>\n<a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a> () const</td></tr>\n<tr class=\"separator:a90452ab6f4d40314ec519913f9e78ccc inherit pub_methods_classQsciAbstractAPIs\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciAPIs.html\" title=\"The QsciAPIs class provies an implementation of the textual API information used in call tips and for...\">QsciAPIs</a> class provies an implementation of the textual API information used in call tips and for auto-completion. </p>\n<p>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.</p>\n<p>A function name may be followed by a &lsquo;?&rsquo; and a number. The number is used by auto-completion to display a registered QPixmap with the function name.</p>\n<p>All function names are used by auto-completion, but only those that include function parameters are used in call tips.</p>\n<p>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.</p>\n<p>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. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"aaf185d65d1034087b77995d8490b6475\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaf185d65d1034087b77995d8490b6475\">&#9670;&nbsp;</a></span>QsciAPIs()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciAPIs::QsciAPIs </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *&#160;</td>\n          <td class=\"paramname\"><em>lexer</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Constructs a <a class=\"el\" href=\"classQsciAPIs.html\" title=\"The QsciAPIs class provies an implementation of the textual API information used in call tips and for...\">QsciAPIs</a> instance attached to lexer <em>lexer</em>. <em>lexer</em> becomes the instance's parent object although the instance can also be subsequently attached to other lexers. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"af46ca05571eb676d3aa65b080fb406c5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af46ca05571eb676d3aa65b080fb406c5\">&#9670;&nbsp;</a></span>add()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::add </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>entry</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Add the single raw API entry <em>entry</em> to the current set.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">clear()</a>, <a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">load()</a>, <a class=\"el\" href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">remove()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6b29d84b0b5d63f2b590988195c7557c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6b29d84b0b5d63f2b590988195c7557c\">&#9670;&nbsp;</a></span>clear()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::clear </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Deletes all raw API information.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">add()</a>, <a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">load()</a>, <a class=\"el\" href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">remove()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3084b749e4eb1c741fc1004e8a84a631\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3084b749e4eb1c741fc1004e8a84a631\">&#9670;&nbsp;</a></span>load()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciAPIs::load </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>filename</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Load the API information from the file named <em>filename</em>, adding it to the current set. Returns true if successful, otherwise false. </p>\n\n</div>\n</div>\n<a id=\"acb1aa10ea05a7ee72a0d77376153b4d2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acb1aa10ea05a7ee72a0d77376153b4d2\">&#9670;&nbsp;</a></span>remove()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::remove </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>entry</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Remove the single raw API entry <em>entry</em> from the current set.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">add()</a>, <a class=\"el\" href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">clear()</a>, <a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">load()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5c26b8395c49cf61243e5f73c0ce577f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5c26b8395c49cf61243e5f73c0ce577f\">&#9670;&nbsp;</a></span>prepare()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::prepare </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Convert the current raw API information to prepared API information. This is implemented by a separate thread.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#aa5c7c8855162eeb1be74c226ebf1b1b6\">cancelPreparation()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa5c7c8855162eeb1be74c226ebf1b1b6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa5c7c8855162eeb1be74c226ebf1b1b6\">&#9670;&nbsp;</a></span>cancelPreparation()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::cancelPreparation </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Cancel the conversion of the current raw API information to prepared API information.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#a5c26b8395c49cf61243e5f73c0ce577f\">prepare()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0a080d197e8226117a626c7b4b68b32d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0a080d197e8226117a626c7b4b68b32d\">&#9670;&nbsp;</a></span>defaultPreparedName()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciAPIs::defaultPreparedName </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n</div>\n</div>\n<a id=\"a9dc74576c602f1df961aa8efee652a3d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9dc74576c602f1df961aa8efee652a3d\">&#9670;&nbsp;</a></span>isPrepared()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciAPIs::isPrepared </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>filename</em> = <code>QString()</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Check to see is a prepared API information file named <em>filename</em> exists. If <em>filename</em> is empty then the value returned by <a class=\"el\" href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">defaultPreparedName()</a> is used. Returns true if successful, otherwise false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">defaultPreparedName()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af42a26a050bfeb4249d35ab61567ea9e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af42a26a050bfeb4249d35ab61567ea9e\">&#9670;&nbsp;</a></span>loadPrepared()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciAPIs::loadPrepared </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>filename</em> = <code>QString()</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Load the prepared API information from the file named <em>filename</em>. If <em>filename</em> 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. </p>\n\n</div>\n</div>\n<a id=\"a742609f12e48e63edbab2565d7df3cb9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a742609f12e48e63edbab2565d7df3cb9\">&#9670;&nbsp;</a></span>savePrepared()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciAPIs::savePrepared </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>filename</em> = <code>QString()</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Save the prepared API information to the file named <em>filename</em>. If <em>filename</em> 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. </p>\n\n</div>\n</div>\n<a id=\"aa2ee3021ffc6a998776547a5c252edca\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa2ee3021ffc6a998776547a5c252edca\">&#9670;&nbsp;</a></span>installedAPIFiles()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciAPIs::installedAPIFiles </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return a list of the installed raw API file names for the associated lexer. </p>\n\n</div>\n</div>\n<a id=\"aaa47506820a2596004688e241fc4cd9f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaa47506820a2596004688e241fc4cd9f\">&#9670;&nbsp;</a></span>apiPreparationCancelled</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::apiPreparationCancelled </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the conversion of raw API information to prepared API information has been cancelled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">apiPreparationFinished()</a>, <a class=\"el\" href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">apiPreparationStarted()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8fc5db618546fcfcc5bdc46e6d062995\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8fc5db618546fcfcc5bdc46e6d062995\">&#9670;&nbsp;</a></span>apiPreparationStarted</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::apiPreparationStarted </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">apiPreparationCancelled()</a>, <a class=\"el\" href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">apiPreparationFinished()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adf779559d29fed004ec65ef560483e3c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adf779559d29fed004ec65ef560483e3c\">&#9670;&nbsp;</a></span>apiPreparationFinished</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciAPIs::apiPreparationFinished </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the conversion of raw API information to prepared API information has finished.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">apiPreparationCancelled()</a>, <a class=\"el\" href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">apiPreparationStarted()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciAbstractAPIs-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciAbstractAPIs Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a90fa0f912b748b707967ccb722f04ddc\">autoCompletionSelected</a>(const QString &amp;selection)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#af9c6c3f8dc068371398a50c6b23dcbf4\">callTips</a>(const QStringList &amp;context, int commas, QsciScintilla::CallTipsStyle style, QList&lt; int &gt; &amp;shifts)=0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs</a>(QsciLexer *lexer)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">updateAutoCompletionList</a>(const QStringList &amp;context, QStringList &amp;list)=0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">~QsciAbstractAPIs</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciAbstractAPIs.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciAbstractAPIs Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciAbstractAPIs-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciAbstractAPIs Class Reference<span class=\"mlabels\"><span class=\"mlabel\">abstract</span></span></div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qsciabstractapis.h&gt;</code></p>\n\n<p>Inherits QObject.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a9db5ebe8adda3f58892af676f5295e3a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs</a> (<a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *<a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a>)</td></tr>\n<tr class=\"separator:a9db5ebe8adda3f58892af676f5295e3a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ef866227b05482cb32c70b44e8bdec1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ef866227b05482cb32c70b44e8bdec1\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">~QsciAbstractAPIs</a> ()</td></tr>\n<tr class=\"separator:a7ef866227b05482cb32c70b44e8bdec1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90452ab6f4d40314ec519913f9e78ccc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a90452ab6f4d40314ec519913f9e78ccc\"></a>\n<a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">lexer</a> () const</td></tr>\n<tr class=\"separator:a90452ab6f4d40314ec519913f9e78ccc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a62a50642b0b058016ed2fdf0922bdee8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">updateAutoCompletionList</a> (const QStringList &amp;context, QStringList &amp;list)=0</td></tr>\n<tr class=\"separator:a62a50642b0b058016ed2fdf0922bdee8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90fa0f912b748b707967ccb722f04ddc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#a90fa0f912b748b707967ccb722f04ddc\">autoCompletionSelected</a> (const QString &amp;selection)</td></tr>\n<tr class=\"separator:a90fa0f912b748b707967ccb722f04ddc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af9c6c3f8dc068371398a50c6b23dcbf4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciAbstractAPIs.html#af9c6c3f8dc068371398a50c6b23dcbf4\">callTips</a> (const QStringList &amp;context, int commas, <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla::CallTipsStyle</a> style, QList&lt; int &gt; &amp;shifts)=0</td></tr>\n<tr class=\"separator:af9c6c3f8dc068371398a50c6b23dcbf4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciAbstractAPIs.html\" title=\"The QsciAbstractAPIs class represents the interface to the textual API information used in call tips ...\">QsciAbstractAPIs</a> 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. </p>\n<p>API information is specific to a particular language lexer but can be shared by multiple instances of the lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a9db5ebe8adda3f58892af676f5295e3a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9db5ebe8adda3f58892af676f5295e3a\">&#9670;&nbsp;</a></span>QsciAbstractAPIs()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciAbstractAPIs::QsciAbstractAPIs </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *&#160;</td>\n          <td class=\"paramname\"><em>lexer</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Constructs a <a class=\"el\" href=\"classQsciAbstractAPIs.html\" title=\"The QsciAbstractAPIs class represents the interface to the textual API information used in call tips ...\">QsciAbstractAPIs</a> instance attached to lexer <em>lexer</em>. <em>lexer</em> becomes the instance's parent object although the instance can also be subsequently attached to other lexers. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a62a50642b0b058016ed2fdf0922bdee8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a62a50642b0b058016ed2fdf0922bdee8\">&#9670;&nbsp;</a></span>updateAutoCompletionList()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciAbstractAPIs::updateAutoCompletionList </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QStringList &amp;&#160;</td>\n          <td class=\"paramname\"><em>context</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">QStringList &amp;&#160;</td>\n          <td class=\"paramname\"><em>list</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">pure virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Update the list <em>list</em> with API entries derived from <em>context</em>. <em>context</em> 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. </p>\n\n<p>Implemented in <a class=\"el\" href=\"classQsciAPIs.html#ab0f824492bb0f3ca54edb4d46945a3de\">QsciAPIs</a>.</p>\n\n</div>\n</div>\n<a id=\"a90fa0f912b748b707967ccb722f04ddc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a90fa0f912b748b707967ccb722f04ddc\">&#9670;&nbsp;</a></span>autoCompletionSelected()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciAbstractAPIs::autoCompletionSelected </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>selection</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This is called when the user selects the entry <em>selection</em> from the auto-completion list. A sub-class can use this as a hint to provide more specific API entries in future calls to <a class=\"el\" href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">updateAutoCompletionList()</a>. The default implementation does nothing. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciAPIs.html#adff0073d1f4ee2e0ea8b3bf234ff2dd3\">QsciAPIs</a>.</p>\n\n</div>\n</div>\n<a id=\"af9c6c3f8dc068371398a50c6b23dcbf4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af9c6c3f8dc068371398a50c6b23dcbf4\">&#9670;&nbsp;</a></span>callTips()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QStringList QsciAbstractAPIs::callTips </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QStringList &amp;&#160;</td>\n          <td class=\"paramname\"><em>context</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>commas</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla::CallTipsStyle</a>&#160;</td>\n          <td class=\"paramname\"><em>style</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">QList&lt; int &gt; &amp;&#160;</td>\n          <td class=\"paramname\"><em>shifts</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">pure virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Return the call tips valid for the context <em>context</em>. (Note that the last word of the context will always be empty.) <em>commas</em> 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 <em>shifts</em>. This is normally done to correct for any displayed context according to <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">updateAutoCompletionList()</a> </dd></dl>\n\n<p>Implemented in <a class=\"el\" href=\"classQsciAPIs.html#a6a75974235c5e8d263bf962c778b3a3e\">QsciAPIs</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<div class=\"ttc\" id=\"aclassQsciStyle_html_af45628c04ab5488fc13b61a2356346ec\"><div class=\"ttname\"><a href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">QsciStyle::font</a></div><div class=\"ttdeci\">QFont font() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:131</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9c1818383be531c3b04cd6848145d63b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">QsciScintilla::bytes</a></div><div class=\"ttdeci\">QByteArray bytes(int start, int end) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerOctave_html_a72ce450fad8282f4c02cf28fc6a4b9d2\"><div class=\"ttname\"><a href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">QsciLexerOctave::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></div><div class=\"ttdoc\">The QsciLexerJavaScript class encapsulates the Scintilla JavaScript lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerjavascript.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a0aa2c7bc939d793db01bbc1863b15d63\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">QsciLexer::apis</a></div><div class=\"ttdeci\">QsciAbstractAPIs * apis() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_ae41f7a78d82f09b4d5176ec2a709ac67\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#ae41f7a78d82f09b4d5176ec2a709ac67\">QsciLexerSpice::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJava_html_ad741254381ce4447588d190ad9c67783\"><div class=\"ttname\"><a href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">QsciLexerJava::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html\">QsciLexerXML</a></div><div class=\"ttdoc\">The QsciLexerXML class encapsulates the Scintilla XML lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerxml.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a08b8ae54fae5b280a3864d5696fe009e\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">QsciLexerFortran77::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a58506e1c965a181c9202376e0ba85c30\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">QsciLexerCPP::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ae8d8fa5d5f063a7c7d37d527f86b5fe8\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">QsciScintillaBase::SCN_CHARADDED</a></div><div class=\"ttdeci\">void SCN_CHARADDED(int charadded)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a02105d06ad853647906eb72d27face67\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a02105d06ad853647906eb72d27face67\">QsciScintilla::setAutoIndent</a></div><div class=\"ttdeci\">virtual void setAutoIndent(bool autoindent)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a024d39004611b62884f258c417b5acd3\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a024d39004611b62884f258c417b5acd3\">QsciLexerCSharp::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a37a46d7dbbb88374f4651feb64f55926\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">QsciScintilla::extraAscent</a></div><div class=\"ttdeci\">int extraAscent() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_adf779559d29fed004ec65ef560483e3c\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">QsciAPIs::apiPreparationFinished</a></div><div class=\"ttdeci\">void apiPreparationFinished()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9261ce8b2aa1dda886e5259fbd6b8712\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">QsciScintilla::userListActivated</a></div><div class=\"ttdeci\">void userListActivated(int id, const QString &amp;string)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_ae32591385112bb3d33de8c1c40888190\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#ae32591385112bb3d33de8c1c40888190\">QsciLexerCSS::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a73e71780818247bf678616a25cd13e90\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a73e71780818247bf678616a25cd13e90\">QsciLexerCoffeeScript::QsciLexerCoffeeScript</a></div><div class=\"ttdeci\">QsciLexerCoffeeScript(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_afea26881f9979a1769ba85c668351cee\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#afea26881f9979a1769ba85c668351cee\">QsciScintilla::foldAll</a></div><div class=\"ttdeci\">virtual void foldAll(bool children=false)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a0464f0a24f4094431686c89e667e843e\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a0464f0a24f4094431686c89e667e843e\">QsciStyle::QsciStyle</a></div><div class=\"ttdeci\">QsciStyle(int style=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a8739852ad69fa4686f0fabd61d18b214\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">QsciLexerTCL::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_acecf54d7daf87ff9fc5464fac8f1d502\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#acecf54d7daf87ff9fc5464fac8f1d502\">QsciLexerMarkdown::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a43b84483d91245a1fda14b758cd8b052\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">QsciScintilla::isModified</a></div><div class=\"ttdeci\">bool isModified() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ad472b16506a4cbc19634f07aa90f1ea6\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer::readProperties</a></div><div class=\"ttdeci\">virtual bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_aa3c50f5bd00d091303665066c8f4d741\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#aa3c50f5bd00d091303665066c8f4d741\">QsciLexerCMake::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a0aa2f537e70f47e6a3e1bcf6d383a480\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a0aa2f537e70f47e6a3e1bcf6d383a480\">QsciLexerCMake::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_aec71281020211f0e693143520f232079\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#aec71281020211f0e693143520f232079\">QsciLexerDiff::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a4272087bb0000cf8fd5dfa17a9b71383\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a4272087bb0000cf8fd5dfa17a9b71383\">QsciLexerSQL::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9c3a34cb9edf25913af16c9dc284cc5d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9c3a34cb9edf25913af16c9dc284cc5d\">QsciScintilla::setMargins</a></div><div class=\"ttdeci\">void setMargins(int margins)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_ada48a387b3e1414927bebe2415de75f8\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#ada48a387b3e1414927bebe2415de75f8\">QsciLexerCSS::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_aaf185d65d1034087b77995d8490b6475\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#aaf185d65d1034087b77995d8490b6475\">QsciAPIs::QsciAPIs</a></div><div class=\"ttdeci\">QsciAPIs(QsciLexer *lexer)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a0315e5b984e4ecd8ae2b0131cb78bf95\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a0315e5b984e4ecd8ae2b0131cb78bf95\">QsciLexerD::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_aeaecb067c0834ba132e204a09dd942c7\"><div class=\"ttname\"><a href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">QsciCommand::Command</a></div><div class=\"ttdeci\">Command</div><div class=\"ttdoc\">This enum defines the different commands that can be assigned to a key.</div><div class=\"ttdef\"><b>Definition:</b> qscicommand.h:43</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html_a493b8afa5100c40153aac6f74c78ffa8\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html#a493b8afa5100c40153aac6f74c78ffa8\">QsciLexerEDIFACT::~QsciLexerEDIFACT</a></div><div class=\"ttdeci\">virtual ~QsciLexerEDIFACT()</div><div class=\"ttdoc\">Destroys the QsciLexerEDIFACT instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_a9f0ad3d0c52cc81d43a0b733558e2392\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#a9f0ad3d0c52cc81d43a0b733558e2392\">QsciLexerBatch::QsciLexerBatch</a></div><div class=\"ttdeci\">QsciLexerBatch(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html_adeff8cbfdc624ad709cd1fd8a4a93c80\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html#adeff8cbfdc624ad709cd1fd8a4a93c80\">QsciLexerEDIFACT::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a84ab3eb3c8e81cc58bbf2d3f472e757c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a84ab3eb3c8e81cc58bbf2d3f472e757c\">QsciScintilla::event</a></div><div class=\"ttdeci\">virtual bool event(QEvent *e)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_accea86f8532bd5d83dac9c4b771bafa9\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#accea86f8532bd5d83dac9c4b771bafa9\">QsciLexerPO::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae8277ccb3a2af0ae9a1495d8f8ea0523\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">QsciScintilla::BraceMatch</a></div><div class=\"ttdeci\">BraceMatch</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:133</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html_a55d08e564f88f40f5167c52bd686b61c\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html#a55d08e564f88f40f5167c52bd686b61c\">QsciLexerEDIFACT::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\">QsciScintilla::CallTipsBelowText</a></div><div class=\"ttdeci\">@ CallTipsBelowText</div><div class=\"ttdoc\">Call tips are placed below the text.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:149</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_aba9c88201491763d75a8716d118a4079\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#aba9c88201491763d75a8716d118a4079\">QsciLexerJSON::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_aa7bcbfe8a9e732630bba54860888e9d5\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#aa7bcbfe8a9e732630bba54860888e9d5\">QsciLexerD::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_ab4a9d2b6e3aeee22d7636072f5163499\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#ab4a9d2b6e3aeee22d7636072f5163499\">QsciLexerMarkdown::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a16841e0262d8200d5ed3a85099d45b37\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a16841e0262d8200d5ed3a85099d45b37\">QsciLexerPerl::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac466f32c3d7e51790b6b25c864783179\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">QsciScintilla::AutoCompletionSource</a></div><div class=\"ttdeci\">AutoCompletionSource</div><div class=\"ttdoc\">This enum defines the different sources for auto-completion lists.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:116</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aeda9c17a6e746e177fa6f5311d96dc03\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aeda9c17a6e746e177fa6f5311d96dc03\">QsciScintilla::setAnnotationDisplay</a></div><div class=\"ttdeci\">void setAnnotationDisplay(AnnotationDisplay display)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a626103a61623dd360dc44210fe435ad7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a626103a61623dd360dc44210fe435ad7\">QsciScintilla::setMarginOptions</a></div><div class=\"ttdeci\">void setMarginOptions(int options)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae21678ec76acecd0bdd960fbd6a81843\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae21678ec76acecd0bdd960fbd6a81843\">QsciScintilla::markerDefine</a></div><div class=\"ttdeci\">int markerDefine(const QImage &amp;im, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a93d1e96c88745ca7f2737602e80dc76a\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">QsciScintillaBase::SCN_INDICATORRELEASE</a></div><div class=\"ttdeci\">void SCN_INDICATORRELEASE(int position, int modifiers)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_af2acfd7b7a9012577aed90f136ad3fb1\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">QsciLexerCoffeeScript::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0d273a0573088d9fb6d66d7b2633ea4b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">QsciScintilla::setAutoCompletionFillupsEnabled</a></div><div class=\"ttdeci\">void setAutoCompletionFillupsEnabled(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8c227f8c948aeb5e6a2cf73397387cc0\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8c227f8c948aeb5e6a2cf73397387cc0\">QsciScintilla::setCaretLineBackgroundColor</a></div><div class=\"ttdeci\">virtual void setCaretLineBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab3721e1af5d7a71efff5a35b63ed1174\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab3721e1af5d7a71efff5a35b63ed1174\">QsciScintilla::annotate</a></div><div class=\"ttdeci\">void annotate(int line, const QsciStyledText &amp;text)</div><div class=\"ttdoc\">Annotate the line line with the styled text text.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a497144db9b43beba78cd405a795e08ac\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a497144db9b43beba78cd405a795e08ac\">QsciLexerCoffeeScript::blockStartKeyword</a></div><div class=\"ttdeci\">const char * blockStartKeyword(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a830f23268edb039344d30cef52d7c8f3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a830f23268edb039344d30cef52d7c8f3\">QsciScintilla::getCursorPosition</a></div><div class=\"ttdeci\">void getCursorPosition(int *line, int *index) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a064b51eca1ab2d32d4c4c328e69a395d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">QsciScintilla::setMarginSensitivity</a></div><div class=\"ttdeci\">virtual void setMarginSensitivity(int margin, bool sens)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_acc3981a1149b87b38f93195bb0e00f34\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#acc3981a1149b87b38f93195bb0e00f34\">QsciScintilla::annotate</a></div><div class=\"ttdeci\">void annotate(int line, const QList&lt; QsciStyledText &gt; &amp;text)</div><div class=\"ttdoc\">Annotate the line line with the list of styled text text.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_aa9285b175e0d9964e427f047f484d0e5\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#aa9285b175e0d9964e427f047f484d0e5\">QsciLexerCMake::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a761b431d688aa99c5c9b5110b41dc712\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a81437ae22cb610108f29d8d367ce6faa\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a81437ae22cb610108f29d8d367ce6faa\">QsciLexerProperties::QsciLexerProperties</a></div><div class=\"ttdeci\">QsciLexerProperties(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_a5e8a0548fb4c972f0eb0070721dd7762\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#a5e8a0548fb4c972f0eb0070721dd7762\">QsciLexerSpice::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a07fcac621f1cba033bb0918cf9d35231\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">QsciLexerCSharp::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a900e3a0287e262fe65c51162e562fc5d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">QsciScintillaBase::replaceVerticalScrollBar</a></div><div class=\"ttdeci\">void replaceVerticalScrollBar(QScrollBar *scrollBar)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ae1451be7e7c6a57f28f361c72eb68a5f\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP::QsciLexerCPP</a></div><div class=\"ttdeci\">QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a0e4df63d7d5714b1bdb71c1975f7f99c\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a0e4df63d7d5714b1bdb71c1975f7f99c\">QsciLexerPerl::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_accb7e71496e6817503ea1c081ffdbab4\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#accb7e71496e6817503ea1c081ffdbab4\">QsciLexerPostScript::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></div><div class=\"ttdoc\">The QsciLexerEDIFACT class encapsulates the Scintilla EDIFACT lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexeredifact.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></div><div class=\"ttdoc\">The QsciLexerFortran77 class encapsulates the Scintilla Fortran77 lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerfortran77.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_aeec8d7e585e93451307df88ff2fc2b87\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">QsciScintillaBase::SCN_INDICATORCLICK</a></div><div class=\"ttdeci\">void SCN_INDICATORCLICK(int position, int modifiers)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a554d4c9b25ad66e23092adf6f9b0460e\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a554d4c9b25ad66e23092adf6f9b0460e\">QsciLexerBash::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_af45a578123a772bdb293d326c29218dc\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#af45a578123a772bdb293d326c29218dc\">QsciLexerRuby::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a1a8b798b6b36db2b5f60b0cdccba88a1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a1a8b798b6b36db2b5f60b0cdccba88a1\">QsciScintilla::setMarginWidth</a></div><div class=\"ttdeci\">virtual void setMarginWidth(int margin, int width)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></div><div class=\"ttdoc\">The QsciLexerTeX class encapsulates the Scintilla TeX lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexertex.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_af84de1838a68d08ef99be3aa666dc09f\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#af84de1838a68d08ef99be3aa666dc09f\">QsciLexerCMake::QsciLexerCMake</a></div><div class=\"ttdeci\">QsciLexerCMake(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_a62234f5c4dfbeec23fd43dd6651d65e4\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">QsciLexerMatlab::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a46bd37b48e91903451ab59314448f322\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">QsciLexerCPP::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a402a849f5eed391f0c4cd3aac9beb075\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a402a849f5eed391f0c4cd3aac9beb075\">QsciLexerCoffeeScript::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_af48deb2ec781d4c8c08f17530b9516d3\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#af48deb2ec781d4c8c08f17530b9516d3\">QsciLexerYAML::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_ace592f4a2d86db6be6c6f363227c00ee\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#ace592f4a2d86db6be6c6f363227c00ee\">QsciLexerPO::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a57a2659a5ea9eba6898e3ced0565953f\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a57a2659a5ea9eba6898e3ced0565953f\">QsciLexerBash::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></div><div class=\"ttdoc\">The QsciLexerCSS class encapsulates the Scintilla CSS lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexercss.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_adcc24b17317e0e283230ae8d5ccf1de3\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#adcc24b17317e0e283230ae8d5ccf1de3\">QsciLexerD::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_ab2e7d189deabf8e5e20434e32346742c\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#ab2e7d189deabf8e5e20434e32346742c\">QsciLexerCoffeeScript::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_af349ce169da83e08ad9f995df48c6547\"><div class=\"ttname\"><a href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">QsciStyle::color</a></div><div class=\"ttdeci\">QColor color() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:109</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a667febcf6234a15b7ca6d4ddbfb97bc6\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a667febcf6234a15b7ca6d4ddbfb97bc6\">QsciLexerD::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_ad70da8e3f3695cfc277d02ab9c0396d3\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#ad70da8e3f3695cfc277d02ab9c0396d3\">QsciLexerVerilog::foldPreprocessor</a></div><div class=\"ttdeci\">bool foldPreprocessor() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerverilog.h:213</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ac2e1ada934a5dc7685c1ee6a464de5fd\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">QsciLexer::setAPIs</a></div><div class=\"ttdeci\">void setAPIs(QsciAbstractAPIs *apis)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a42e28c95e4f32374ffb7b47a85239d34\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a42e28c95e4f32374ffb7b47a85239d34\">QsciLexerMakefile::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_affaec4d14f7908f7d24d16937df00c93\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#affaec4d14f7908f7d24d16937df00c93\">QsciLexerCoffeeScript::setDollarsAllowed</a></div><div class=\"ttdeci\">void setDollarsAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae1d3703631c9113a4309da17332ca180\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae1d3703631c9113a4309da17332ca180\">QsciScintilla::resetFoldMarginColors</a></div><div class=\"ttdeci\">void resetFoldMarginColors()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a96aca8cf94d490d3c7c11e71d823a9ee\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a96aca8cf94d490d3c7c11e71d823a9ee\">QsciLexerBash::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a46a01d03d516e909c8696fa3f9910c1f\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a46a01d03d516e909c8696fa3f9910c1f\">QsciLexerVHDL::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_aab7c86d0058b7c8541b0fc7be043f902\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#aab7c86d0058b7c8541b0fc7be043f902\">QsciLexerTeX::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a9d05744ee6d4c653a7e3976d9f71df23\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a9d05744ee6d4c653a7e3976d9f71df23\">QsciLexerSQL::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a04a2eaa1d93a2266bd170d392b70860b\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a04a2eaa1d93a2266bd170d392b70860b\">QsciLexerJSON::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_ab47735b5b8b7961044bb9adf111c06bc\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#ab47735b5b8b7961044bb9adf111c06bc\">QsciLexerPascal::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab6856c73ad57ed92d8a9e4882867559e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab6856c73ad57ed92d8a9e4882867559e\">QsciScintilla::indicatorDefine</a></div><div class=\"ttdeci\">int indicatorDefine(IndicatorStyle style, int indicatorNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\">QsciScintilla::NoBraceMatch</a></div><div class=\"ttdeci\">@ NoBraceMatch</div><div class=\"ttdoc\">Brace matching is disabled.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:135</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_abd4b8e9e29aa577fdd546ef0de20c7ff\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#abd4b8e9e29aa577fdd546ef0de20c7ff\">QsciLexerCMake::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a5668132073d8c3d97ea56dc7131c2def\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a5668132073d8c3d97ea56dc7131c2def\">QsciLexerSQL::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a856785e000203b1da8fa6f295daad13e\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a856785e000203b1da8fa6f295daad13e\">QsciLexerPython::setV3BytesAllowed</a></div><div class=\"ttdeci\">void setV3BytesAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_ac97e486c8c1f2233c0b35e744ef5a393\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#ac97e486c8c1f2233c0b35e744ef5a393\">QsciLexerSQL::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a801d7cef474dcf23d93e2f2f53034abe\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a801d7cef474dcf23d93e2f2f53034abe\">QsciLexerXML::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a1deaafed565aeae806e4ea6083baa186\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a1deaafed565aeae806e4ea6083baa186\">QsciLexerPerl::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_af17ac732d73445822ef23a59f3e45aef\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">QsciLexerCPP::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_af25249a8e4e0f0966395b5006a5362d9\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">QsciScintillaBase::dragMoveEvent</a></div><div class=\"ttdeci\">virtual void dragMoveEvent(QDragMoveEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle drag moves.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a793e592d3ac100ff81ae09eefbaa74ef\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">QsciLexer::setAutoIndentStyle</a></div><div class=\"ttdeci\">virtual void setAutoIndentStyle(int autoindentstyle)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">QsciScintillaBase::SC_MARK_CIRCLEMINUSCONNECTED</a></div><div class=\"ttdeci\">@ SC_MARK_CIRCLEMINUSCONNECTED</div><div class=\"ttdoc\">A drawn minus sign in a connected circle.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2631</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a149b39fedd3779fe797cf7c9ae793c8a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a149b39fedd3779fe797cf7c9ae793c8a\">QsciScintilla::clear</a></div><div class=\"ttdeci\">virtual void clear()</div><div class=\"ttdoc\">Deletes all the text in the text edit.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_afd8eebb9ee14760d1529f614f18a2e52\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#afd8eebb9ee14760d1529f614f18a2e52\">QsciLexerVHDL::foldAtParenthesis</a></div><div class=\"ttdeci\">bool foldAtParenthesis() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a9a7c5fb256df97053fbe3203aaf3a93a\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a9a7c5fb256df97053fbe3203aaf3a93a\">QsciLexerSQL::foldOnlyBegin</a></div><div class=\"ttdeci\">bool foldOnlyBegin() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:206</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a4e1d6840e7d117886093bbaabbccd56f\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a4e1d6840e7d117886093bbaabbccd56f\">QsciStyle::QsciStyle</a></div><div class=\"ttdeci\">QsciStyle(int style, const QString &amp;description, const QColor &amp;color, const QColor &amp;paper, const QFont &amp;font, bool eolFill=false)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8fdc8049cd5d876b10c2fd9149e72699\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8fdc8049cd5d876b10c2fd9149e72699\">QsciScintilla::callTipsVisible</a></div><div class=\"ttdeci\">int callTipsVisible() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:653</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a62032a66c22767af46af4611fb672cb3\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a62032a66c22767af46af4611fb672cb3\">QsciLexerD::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a16d546ecc7d16a609e368a4d2d557605\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a16d546ecc7d16a609e368a4d2d557605\">QsciLexerCoffeeScript::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercoffeescript.h:214</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a0b1959541108a437dcb0b104a46f1444\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a0b1959541108a437dcb0b104a46f1444\">QsciLexerSQL::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_ad65ebfab947de5d6e318238f8a0048e4\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#ad65ebfab947de5d6e318238f8a0048e4\">QsciLexerAVS::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a0e83f239ecb3c52bf4930412f32f51f1\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a0e83f239ecb3c52bf4930412f32f51f1\">QsciLexerRuby::setFoldCompact</a></div><div class=\"ttdeci\">void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a21891669bab4719e8e7cf482e3bf5a51\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a21891669bab4719e8e7cf482e3bf5a51\">QsciLexerPython::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:199</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_af0ee6abab37e283e68f527c597c50877\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#af0ee6abab37e283e68f527c597c50877\">QsciLexerPerl::setFoldPODBlocks</a></div><div class=\"ttdeci\">void setFoldPODBlocks(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a16212f9f46162f67ece3ed6423207785\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a16212f9f46162f67ece3ed6423207785\">QsciStyle::textCase</a></div><div class=\"ttdeci\">TextCase textCase() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:152</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_aee09ddca3fd840b79ae954f6883fa581\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#aee09ddca3fd840b79ae954f6883fa581\">QsciLexerSpice::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a794e5cccbc1aa419bad4c7cfe65f8f02\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a794e5cccbc1aa419bad4c7cfe65f8f02\">QsciScintilla::text</a></div><div class=\"ttdeci\">QString text(int start, int end) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_a7d38d89680d55b7f77463e67634f84be\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#a7d38d89680d55b7f77463e67634f84be\">QsciLexerSpice::QsciLexerSpice</a></div><div class=\"ttdeci\">QsciLexerSpice(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a5c26b8395c49cf61243e5f73c0ce577f\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a5c26b8395c49cf61243e5f73c0ce577f\">QsciAPIs::prepare</a></div><div class=\"ttdeci\">void prepare()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerOctave_html_aa39859b74adb5cca0470d488186eb6af\"><div class=\"ttname\"><a href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">QsciLexerOctave::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a94b8329c4259ea90a6a28b1e745837de\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a94b8329c4259ea90a6a28b1e745837de\">QsciScintilla::write</a></div><div class=\"ttdeci\">bool write(QIODevice *io) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_af861d2c565994b427514715fe95a80b7\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">QsciLexerHTML::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:440</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a2447139ff781bf55c74177881ac023ac\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">QsciLexer::defaultStyle</a></div><div class=\"ttdeci\">virtual int defaultStyle() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a27f6ffff6c6020126b5318ed8ba76c54\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a27f6ffff6c6020126b5318ed8ba76c54\">QsciLexerBash::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a4f286fb01fbf71a895a6a6ca2424b9c5\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a4f286fb01fbf71a895a6a6ca2424b9c5\">QsciLexerPOV::QsciLexerPOV</a></div><div class=\"ttdeci\">QsciLexerPOV(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a36deb25fada219957350847732d05889\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">QsciScintilla::copy</a></div><div class=\"ttdeci\">virtual void copy()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a40b4351699e48f7b34faa84c5dbc4704\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a40b4351699e48f7b34faa84c5dbc4704\">QsciLexerPO::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_abd34f0d3055b8c7b52f0156f92244e8c\"><div class=\"ttname\"><a href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">QsciLexer::font</a></div><div class=\"ttdeci\">virtual QFont font(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a2febc4ea74d45d6a8bc9c758635dd99d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">QsciScintillaBase::SCN_FOCUSOUT</a></div><div class=\"ttdeci\">void SCN_FOCUSOUT()</div><div class=\"ttdoc\">This signal is emitted when focus is lost.</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a8fc5db618546fcfcc5bdc46e6d062995\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">QsciAPIs::apiPreparationStarted</a></div><div class=\"ttdeci\">void apiPreparationStarted()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a43f710d31ccfd80ce8dd4f0ec8fc8d46\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">QsciLexerFortran77::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a05f377a9017cf5f5d51deae3f1f83445\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a05f377a9017cf5f5d51deae3f1f83445\">QsciLexerPostScript::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommandSet_html_af244d8499c10c569b9924c25af17655a\"><div class=\"ttname\"><a href=\"classQsciCommandSet.html#af244d8499c10c569b9924c25af17655a\">QsciCommandSet::clearAlternateKeys</a></div><div class=\"ttdeci\">void clearAlternateKeys()</div><div class=\"ttdoc\">The alternate keys bindings for all commands are removed.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a3fd919ace71f975bd28b94b34ccd3a19\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">QsciLexerCSharp::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aff3b4e47fcbadeb0cf2556cf6ad164e0\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aff3b4e47fcbadeb0cf2556cf6ad164e0\">QsciScintilla::autoCompletionShowSingle</a></div><div class=\"ttdeci\">bool autoCompletionShowSingle() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a7670a50d4dce21461de96844235b4242\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a7670a50d4dce21461de96844235b4242\">QsciLexerPostScript::QsciLexerPostScript</a></div><div class=\"ttdeci\">QsciLexerPostScript(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_acf9bbfcaf3dfd6004428920e1c6572fd\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#acf9bbfcaf3dfd6004428920e1c6572fd\">QsciLexerRuby::setFoldComments</a></div><div class=\"ttdeci\">void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a9fc5fef8f86ef0f1162a18ca4cc88aa1\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a9fc5fef8f86ef0f1162a18ca4cc88aa1\">QsciLexerXML::QsciLexerXML</a></div><div class=\"ttdeci\">QsciLexerXML(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a9b6f6a462314471262e5f29057839b34\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a9b6f6a462314471262e5f29057839b34\">QsciLexerPascal::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab000e5f46abc6568405585b711067d1e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab000e5f46abc6568405585b711067d1e\">QsciScintilla::tabDrawMode</a></div><div class=\"ttdeci\">TabDrawMode tabDrawMode() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a06495bd35607512278859d9251e68ce1\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a06495bd35607512278859d9251e68ce1\">QsciLexerTeX::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div><div class=\"ttdoc\">Returns the foreground colour of the text for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_abc88c53a2cfe6dd61e059fad1e8f3539\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">QsciLexerJavaScript::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a6504a6fff35af16fbfd97889048db2a5\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">QsciLexer::autoCompletionFillups</a></div><div class=\"ttdeci\">virtual const char * autoCompletionFillups() const</div><div class=\"ttdoc\">Returns the characters that can fill up auto-completion.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a065b392e0a39ecfd39df787a3a25e814\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a065b392e0a39ecfd39df787a3a25e814\">QsciScintilla::setIndentationsUseTabs</a></div><div class=\"ttdeci\">virtual void setIndentationsUseTabs(bool tabs)</div></div>\n<div class=\"ttc\" id=\"aclassQsciDocument_html\"><div class=\"ttname\"><a href=\"classQsciDocument.html\">QsciDocument</a></div><div class=\"ttdoc\">The QsciDocument class represents a document to be edited.</div><div class=\"ttdef\"><b>Definition:</b> qscidocument.h:38</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a23d3bdd816b3da42e65cb4b08f2b01ff\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a23d3bdd816b3da42e65cb4b08f2b01ff\">QsciLexerAVS::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a4d1aa13e042609e48674f72aebd2ebae\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">QsciStyle::changeable</a></div><div class=\"ttdeci\">bool changeable() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:173</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">QsciScintillaBase::SC_MARK_BOOKMARK</a></div><div class=\"ttdeci\">@ SC_MARK_BOOKMARK</div><div class=\"ttdoc\">A bookmark.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2664</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">QsciScintillaBase::SC_MARK_SHORTARROW</a></div><div class=\"ttdeci\">@ SC_MARK_SHORTARROW</div><div class=\"ttdoc\">An arrow pointing to the right.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2576</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></div><div class=\"ttdoc\">The QsciLexerIDL class encapsulates the Scintilla IDL lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexeridl.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a7ecc2269f4b7a4956b7209082032245d\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a7ecc2269f4b7a4956b7209082032245d\">QsciLexerRuby::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_af00e1d05374302fd4d2e2eeec1a829ee\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">QsciLexerJavaScript::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_ae96690293b8128bea9cedf9b55b92ad6\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#ae96690293b8128bea9cedf9b55b92ad6\">QsciLexerPython::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a29e0cbc36bafac84bc1c755b6ee26abd\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a29e0cbc36bafac84bc1c755b6ee26abd\">QsciScintilla::cancelList</a></div><div class=\"ttdeci\">void cancelList()</div><div class=\"ttdoc\">Cancel any current auto-completion or user defined list.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">QsciScintillaBase::SC_MARGIN_SYMBOL</a></div><div class=\"ttdeci\">@ SC_MARGIN_SYMBOL</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2690</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aff5e2abd10fd64752adc1a89fc626e1e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">QsciScintilla::lexer</a></div><div class=\"ttdeci\">QsciLexer * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a4f0a73894fc542ffc420113046c82f41\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a4f0a73894fc542ffc420113046c82f41\">QsciLexerSQL::dottedWords</a></div><div class=\"ttdeci\">bool dottedWords() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:174</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ab222fbddb7eb72261153d1bebb5a01ee\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">QsciLexer::styleBitsNeeded</a></div><div class=\"ttdeci\">virtual int styleBitsNeeded() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae8b040ae88e74aef9a38cdb4ce24295a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">QsciScintilla::resetSelectionBackgroundColor</a></div><div class=\"ttdeci\">virtual void resetSelectionBackgroundColor()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a47eb0ab494fe54b5518b4c8bdcd2968e\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a47eb0ab494fe54b5518b4c8bdcd2968e\">QsciLexerRuby::blockStartKeyword</a></div><div class=\"ttdeci\">const char * blockStartKeyword(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae478a896ae32a30e8a375049a3d477e0\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">QsciScintilla::FoldStyle</a></div><div class=\"ttdeci\">FoldStyle</div><div class=\"ttdoc\">This enum defines the different styles for the folding margin.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:209</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_ae8630fee6378af65bbd772b8f20fe4c9\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#ae8630fee6378af65bbd772b8f20fe4c9\">QsciLexerCSS::SCSSLanguage</a></div><div class=\"ttdeci\">bool SCSSLanguage() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercss.h:207</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a7ea1d7ae4594027f8b565380f3fffbb4\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a7ea1d7ae4594027f8b565380f3fffbb4\">QsciLexerPython::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">QsciScintillaBase::SC_MARK_ARROWS</a></div><div class=\"ttdeci\">@ SC_MARK_ARROWS</div><div class=\"ttdoc\">Three drawn arrows pointing right.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2641</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_aae9e42584c6466a8b859d56218eaf28c\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#aae9e42584c6466a8b859d56218eaf28c\">QsciLexerPerl::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a78834f5080f50c01ba5ec1094114bf40\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">QsciLexerPostScript::level</a></div><div class=\"ttdeci\">int level() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a822ca7489c4655f26bc72ed127285d8a\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">QsciLexerCPP::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a49fc2fb49ed07f1cb5f8b0a96e07d0d4\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer::QsciLexer</a></div><div class=\"ttdeci\">QsciLexer(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9daa92535de2f43e4c04305007ce5475\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9daa92535de2f43e4c04305007ce5475\">QsciScintilla::wheelEvent</a></div><div class=\"ttdeci\">virtual void wheelEvent(QWheelEvent *e)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ae669580d3e3332a9b310d1bf78251f07\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">QsciLexerHTML::makoTemplates</a></div><div class=\"ttdeci\">bool makoTemplates() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:478</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_add088b1bd36b0d5eb0f3b87e403cec10\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#add088b1bd36b0d5eb0f3b87e403cec10\">QsciLexerPython::v2UnicodeAllowed</a></div><div class=\"ttdeci\">bool v2UnicodeAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:246</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0b527097e38858853ea2ac5861278233\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0b527097e38858853ea2ac5861278233\">QsciScintilla::whitespaceSize</a></div><div class=\"ttdeci\">int whitespaceSize() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a080ef6e2fd0569a6f3d538ed0f82da85\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a080ef6e2fd0569a6f3d538ed0f82da85\">QsciLexerBash::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></div><div class=\"ttdoc\">The QsciLexerCustom class is an abstract class used as a base for new language lexers.</div><div class=\"ttdef\"><b>Definition:</b> qscilexercustom.h:43</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_af462fb11c1cb7d3a5d99cc66d2a4bc6b\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">QsciLexerAVS::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a25e9b8a34c334bf6160115a2c43a5256\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a25e9b8a34c334bf6160115a2c43a5256\">QsciStyle::setTextCase</a></div><div class=\"ttdeci\">void setTextCase(TextCase text_case)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a59ad64688b9fb852792b3fa15c2b125d\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a59ad64688b9fb852792b3fa15c2b125d\">QsciLexerVerilog::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\">QsciScintilla::WrapFlagByBorder</a></div><div class=\"ttdeci\">@ WrapFlagByBorder</div><div class=\"ttdoc\">A wrap flag is displayed by the border.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:501</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">QsciScintillaBase::SC_MARK_CIRCLEMINUS</a></div><div class=\"ttdeci\">@ SC_MARK_CIRCLEMINUS</div><div class=\"ttdoc\">A drawn minus sign in a circle.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2628</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_a8a99f91287ee998375f84c7a2467b0ff\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#a8a99f91287ee998375f84c7a2467b0ff\">QsciLexerJavaScript::~QsciLexerJavaScript</a></div><div class=\"ttdeci\">virtual ~QsciLexerJavaScript()</div><div class=\"ttdoc\">Destroys the QsciLexerJavaScript instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_a93f46567c5b91d993387d2ba033f2030\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#a93f46567c5b91d993387d2ba033f2030\">QsciLexerBatch::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a7af6a9822a535e06a6874db0b73c2efd\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a7af6a9822a535e06a6874db0b73c2efd\">QsciLexerBash::~QsciLexerBash</a></div><div class=\"ttdeci\">virtual ~QsciLexerBash()</div><div class=\"ttdoc\">Destroys the QsciLexerBash instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_aa2ee3021ffc6a998776547a5c252edca\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#aa2ee3021ffc6a998776547a5c252edca\">QsciAPIs::installedAPIFiles</a></div><div class=\"ttdeci\">QStringList installedAPIFiles() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_add132f5762831171fdee856172a0a5dc\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#add132f5762831171fdee856172a0a5dc\">QsciLexerSQL::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:190</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">QsciScintillaBase::SC_MARK_UNDERLINE</a></div><div class=\"ttdeci\">@ SC_MARK_UNDERLINE</div><div class=\"ttdoc\">The line is underlined using the marker's background color.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2658</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_ab743740491685360f2d50e5c12be876b\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#ab743740491685360f2d50e5c12be876b\">QsciLexerBash::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a79e3ff22e68d54f640bd2f7747a7a193\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a79e3ff22e68d54f640bd2f7747a7a193\">QsciLexerVerilog::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_acf47d4b76a8c85a48fe9a27423997071\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#acf47d4b76a8c85a48fe9a27423997071\">QsciScintilla::setMarkerBackgroundColor</a></div><div class=\"ttdeci\">void setMarkerBackgroundColor(const QColor &amp;col, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a42133f1b4127c78674f89e3209236a18\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a42133f1b4127c78674f89e3209236a18\">QsciLexerPerl::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html_a9db5ebe8adda3f58892af676f5295e3a\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs::QsciAbstractAPIs</a></div><div class=\"ttdeci\">QsciAbstractAPIs(QsciLexer *lexer)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3de45d9f5485af099041d8046e734103\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3de45d9f5485af099041d8046e734103\">QsciScintilla::zoomOut</a></div><div class=\"ttdeci\">virtual void zoomOut()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a277a3c519eca4ef69d73fd45ea4f5ab5\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a277a3c519eca4ef69d73fd45ea4f5ab5\">QsciLexerPostScript::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_ade1a77293facd468100a7c023dedcacc\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">QsciLexerPostScript::tokenize</a></div><div class=\"ttdeci\">bool tokenize() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_aebfa962809b16312fa03f7526cc60f07\"><div class=\"ttname\"><a href=\"classQsciCommand.html#aebfa962809b16312fa03f7526cc60f07\">QsciCommand::command</a></div><div class=\"ttdeci\">Command command() const</div><div class=\"ttdoc\">Return the command that will be executed by this instance.</div><div class=\"ttdef\"><b>Definition:</b> qscicommand.h:348</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a15ec40b8e6b208521e08d44400eb56f8\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a15ec40b8e6b208521e08d44400eb56f8\">QsciLexerTCL::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_acd80380b4727bd94148f5a0ff479742e\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#acd80380b4727bd94148f5a0ff479742e\">QsciLexerTeX::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a5b2c0f0e93a1e35b0fb42f2dc1abea29\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">QsciLexerSQL::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_aefae6df689f1d3dad66d1f2fc141cc39\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#aefae6df689f1d3dad66d1f2fc141cc39\">QsciLexerCoffeeScript::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a1ba5b1e505b4f6fe7d7b12ce69dee9a8\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a1ba5b1e505b4f6fe7d7b12ce69dee9a8\">QsciLexerBash::QsciLexerBash</a></div><div class=\"ttdeci\">QsciLexerBash(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa2bca1d2d137ea4a3f944a4f41f98a94\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa2bca1d2d137ea4a3f944a4f41f98a94\">QsciScintilla::setWhitespaceVisibility</a></div><div class=\"ttdeci\">virtual void setWhitespaceVisibility(WhitespaceVisibility mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a126d81ec982782507eafae1af5d0d856\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a126d81ec982782507eafae1af5d0d856\">QsciLexerCoffeeScript::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a3c93f14b36897ecb3f902b5e5de91ad6\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">QsciLexerCPP::foldPreprocessor</a></div><div class=\"ttdeci\">bool foldPreprocessor() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:247</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a67c004c60c462dc9d3840a6e2405d3f8\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a67c004c60c462dc9d3840a6e2405d3f8\">QsciScintilla::isCallTipActive</a></div><div class=\"ttdeci\">bool isCallTipActive() const</div><div class=\"ttdoc\">Returns true if a call tip is currently active.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_adf8de1727583e902c7cae673673a78a1\"><div class=\"ttname\"><a href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">QsciLexer::paperChanged</a></div><div class=\"ttdeci\">void paperChanged(const QColor &amp;c, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_aa303817de5a59137ab4bf592ff52a315\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#aa303817de5a59137ab4bf592ff52a315\">QsciLexerPostScript::setFoldAtElse</a></div><div class=\"ttdeci\">virtual void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_ad66724c8a5e5e202998bd6533fef61be\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#ad66724c8a5e5e202998bd6533fef61be\">QsciPrinter::setMagnification</a></div><div class=\"ttdeci\">virtual void setMagnification(int magnification)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a1b4591eb73dcef0153861f698edc8726\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a1b4591eb73dcef0153861f698edc8726\">QsciScintilla::setIndentationGuides</a></div><div class=\"ttdeci\">virtual void setIndentationGuides(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a0c3e05e1bbdc4614fc7e76e508178592\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a0c3e05e1bbdc4614fc7e76e508178592\">QsciLexerPerl::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a870955b5547ce4bdf9940165181022b7\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">QsciLexerCPP::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6882a7641822a859e812601f1bae65eb\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">QsciScintilla::setSelectionBackgroundColor</a></div><div class=\"ttdeci\">virtual void setSelectionBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a48860b20014ce8b044760c055156ba57\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a48860b20014ce8b044760c055156ba57\">QsciScintilla::setAutoCompletionSource</a></div><div class=\"ttdeci\">virtual void setAutoCompletionSource(AutoCompletionSource source)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a97c7813c68c861b9f2b3f068d9b47fd7\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a97c7813c68c861b9f2b3f068d9b47fd7\">QsciLexerD::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aaf77d8976ae47a1d5e5ee804bc0645d3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aaf77d8976ae47a1d5e5ee804bc0645d3\">QsciScintilla::selectionToEol</a></div><div class=\"ttdeci\">bool selectionToEol() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a6dbcaf590be7759f18699593c95c69e6\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a6dbcaf590be7759f18699593c95c69e6\">QsciLexerVHDL::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a7cc73bba065690f08e2b6b8e8c00d5d3\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a7cc73bba065690f08e2b6b8e8c00d5d3\">QsciLexerCMake::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a5b95ed33711b09385c92fbfb9f1d2a5d\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a5b95ed33711b09385c92fbfb9f1d2a5d\">QsciLexerCoffeeScript::dollarsAllowed</a></div><div class=\"ttdeci\">bool dollarsAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercoffeescript.h:192</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8166be72487a7a660cb8e44c5126c852\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8166be72487a7a660cb8e44c5126c852\">QsciScintilla::marginRightClicked</a></div><div class=\"ttdeci\">void marginRightClicked(int margin, int line, Qt::KeyboardModifiers state)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a8921849dce20c65c0fc024bc27255873\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a8921849dce20c65c0fc024bc27255873\">QsciLexerPython::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_aa0bf23ebd61dd46a4eb59447e43c4cab\"><div class=\"ttname\"><a href=\"classQsciCommand.html#aa0bf23ebd61dd46a4eb59447e43c4cab\">QsciCommand::execute</a></div><div class=\"ttdeci\">void execute()</div><div class=\"ttdoc\">Execute the command.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a01ff9a027edd3a2aa6d443e520b10b73\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a01ff9a027edd3a2aa6d443e520b10b73\">QsciLexerYAML::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a293f0a5c39990ec1db6de249dc618901\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a293f0a5c39990ec1db6de249dc618901\">QsciLexerCoffeeScript::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_abf07311e229b5ec1370dd8a57873c1b6\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#abf07311e229b5ec1370dd8a57873c1b6\">QsciLexerRuby::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_adff0073d1f4ee2e0ea8b3bf234ff2dd3\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#adff0073d1f4ee2e0ea8b3bf234ff2dd3\">QsciAPIs::autoCompletionSelected</a></div><div class=\"ttdeci\">virtual void autoCompletionSelected(const QString &amp;sel)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a41d04b17da9c84a94289e91323fb5206\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a41d04b17da9c84a94289e91323fb5206\">QsciLexerCSS::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html\"><div class=\"ttname\"><a href=\"classQsciLexer.html\">QsciLexer</a></div><div class=\"ttdoc\">The QsciLexer class is an abstract class used as a base for language lexers.</div><div class=\"ttdef\"><b>Definition:</b> qscilexer.h:63</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a80a1f387059600fd67bbf6d2699981e3\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a80a1f387059600fd67bbf6d2699981e3\">QsciLexerBash::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad85546712df2387738e63be38dc41d61\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad85546712df2387738e63be38dc41d61\">QsciScintilla::setMarginText</a></div><div class=\"ttdeci\">void setMarginText(int line, const QsciStyledText &amp;text)</div><div class=\"ttdoc\">Set the margin text of line line with the styled text text.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a561482313e4c6597b8c4627ec38e4d54\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a561482313e4c6597b8c4627ec38e4d54\">QsciLexerMakefile::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ae53947625062cec64a212dc68877ddc3\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">QsciScintillaBase::SCN_FOCUSIN</a></div><div class=\"ttdeci\">void SCN_FOCUSIN()</div><div class=\"ttdoc\">This signal is emitted when focus is received.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_aeffb57391fe593ab01e6f257f95ad2f6\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#aeffb57391fe593ab01e6f257f95ad2f6\">QsciLexerMarkdown::QsciLexerMarkdown</a></div><div class=\"ttdeci\">QsciLexerMarkdown(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4bf424d21079ab835dae90ce042400a0\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4bf424d21079ab835dae90ce042400a0\">QsciScintilla::wrapMode</a></div><div class=\"ttdeci\">WrapMode wrapMode() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a65a8d0928d9f04584972410a5af82888\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a65a8d0928d9f04584972410a5af82888\">QsciLexerTCL::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></div><div class=\"ttdoc\">The QsciLexerPostScript class encapsulates the Scintilla PostScript lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpostscript.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6abf177ca5bf8eea0930106d2867edae\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6abf177ca5bf8eea0930106d2867edae\">QsciScintilla::setMarkerForegroundColor</a></div><div class=\"ttdeci\">void setMarkerForegroundColor(const QColor &amp;col, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_aad047f411c36c262305ffcce5015944f\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#aad047f411c36c262305ffcce5015944f\">QsciLexerBash::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_ac4001660bfa52216fe475f84e2ce9d77\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#ac4001660bfa52216fe475f84e2ce9d77\">QsciLexerJSON::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad3ca5787399ed886cb9000c8feab3c08\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">QsciScintillaBase::SCN_DOUBLECLICK</a></div><div class=\"ttdeci\">void SCN_DOUBLECLICK(int position, int line, int modifiers)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aaed07ffc03430a61dc90ff6b28fb6fd7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aaed07ffc03430a61dc90ff6b28fb6fd7\">QsciScintilla::indicatorReleased</a></div><div class=\"ttdeci\">void indicatorReleased(int line, int index, Qt::KeyboardModifiers state)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a9080d0a47d2cbd972d5f2e6c737ba7fa\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a9080d0a47d2cbd972d5f2e6c737ba7fa\">QsciLexerD::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab4b6b4286a74e173a86de0a7f55241d5\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">QsciScintilla::EolMode</a></div><div class=\"ttdeci\">EolMode</div><div class=\"ttdoc\">This enum defines the different end-of-line modes.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:197</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aad7b42963ca382afb23eb000b727de12\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">QsciLexerCPP::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:232</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad7b8480681e4b4d5689d0e6d822dc3c0\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">QsciScintillaBase::dragEnterEvent</a></div><div class=\"ttdeci\">virtual void dragEnterEvent(QDragEnterEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle drag enters.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">QsciScintillaBase::SC_MARK_BOXMINUSCONNECTED</a></div><div class=\"ttdeci\">@ SC_MARK_BOXMINUSCONNECTED</div><div class=\"ttdoc\">A drawn minus sign in a connected box.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2611</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab83469cc9550eadcd5d4e8ca3d20d07b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">QsciScintilla::WhitespaceVisibility</a></div><div class=\"ttdeci\">WhitespaceVisibility</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:463</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa226d94a0f7ed194012ca972d0f49ce8\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">QsciScintilla::markerDeleteHandle</a></div><div class=\"ttdeci\">void markerDeleteHandle(int mhandle)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a6f87282ec40dbc5e752dc0bc0aec87a0\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a6f87282ec40dbc5e752dc0bc0aec87a0\">QsciLexerPerl::~QsciLexerPerl</a></div><div class=\"ttdeci\">virtual ~QsciLexerPerl()</div><div class=\"ttdoc\">Destroys the QsciLexerPerl instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyledText_html_a9f84f97932caaa6481cea79f48c70647\"><div class=\"ttname\"><a href=\"classQsciStyledText.html#a9f84f97932caaa6481cea79f48c70647\">QsciStyledText::QsciStyledText</a></div><div class=\"ttdeci\">QsciStyledText(const QString &amp;text, const QsciStyle &amp;style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ad0d9356583118309e6c3991e96a67ffe\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">QsciLexerCPP::setHighlightHashQuotedStrings</a></div><div class=\"ttdeci\">void setHighlightHashQuotedStrings(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_abf9dffcf6c222ecc02b28c3f6d17eb8e\"><div class=\"ttname\"><a href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">QsciCommand::key</a></div><div class=\"ttdeci\">int key() const</div><div class=\"ttdef\"><b>Definition:</b> qscicommand.h:377</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJava_html\"><div class=\"ttname\"><a href=\"classQsciLexerJava.html\">QsciLexerJava</a></div><div class=\"ttdoc\">The QsciLexerJava class encapsulates the Scintilla Java lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerjava.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a855939c35d62798c00b0361a0edc41da\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a855939c35d62798c00b0361a0edc41da\">QsciLexerPython::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a04e5cc64877290739b30603c526d84ce\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">QsciStyle::description</a></div><div class=\"ttdeci\">QString description() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:98</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a2dce337026551b6440e1dcdafa95b7d7\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a1df46714ab45c62e5ad5e52a5f41bf15\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">QsciStyle::hotspot</a></div><div class=\"ttdeci\">bool hotspot() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:184</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html_a90fa0f912b748b707967ccb722f04ddc\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html#a90fa0f912b748b707967ccb722f04ddc\">QsciAbstractAPIs::autoCompletionSelected</a></div><div class=\"ttdeci\">virtual void autoCompletionSelected(const QString &amp;selection)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a6a5b949013c382c1b5f341137cd37752\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">QsciScintillaBase::mouseReleaseEvent</a></div><div class=\"ttdeci\">virtual void mouseReleaseEvent(QMouseEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle mouse releases.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a437d58cc225880e34560b65f8c0b3b50\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">QsciScintilla::findFirstInSelection</a></div><div class=\"ttdeci\">virtual bool findFirstInSelection(const QString &amp;expr, bool re, bool cs, bool wo, bool forward=true, bool show=true, bool posix=false, bool cxx11=false)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></div><div class=\"ttdoc\">The QsciLexerVerilog class encapsulates the Scintilla Verilog lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerverilog.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a6b21e4498723f3a01fe468e03ebe04f4\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">QsciLexerPOV::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">QsciScintillaBase::SC_MARK_CIRCLEPLUS</a></div><div class=\"ttdeci\">@ SC_MARK_CIRCLEPLUS</div><div class=\"ttdoc\">A drawn plus sign in a circle.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2622</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a9d2bd8ea72760796590963c702082e5b\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a9d2bd8ea72760796590963c702082e5b\">QsciLexerProperties::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a194e86e59129ed570af044e19697d0e9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a194e86e59129ed570af044e19697d0e9\">QsciScintilla::selectionChanged</a></div><div class=\"ttdeci\">void selectionChanged()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a51401044d3ad272ede84e1f2a128cce6\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">QsciLexerHTML::setFoldScriptComments</a></div><div class=\"ttdeci\">void setFoldScriptComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a7dcc25d7ced16c1bc409c14276e6843c\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a7dcc25d7ced16c1bc409c14276e6843c\">QsciLexerYAML::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a24d7e487c0493f7164cb5bcce51d403d\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a24d7e487c0493f7164cb5bcce51d403d\">QsciLexerSQL::hashComments</a></div><div class=\"ttdeci\">bool hashComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:218</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4e895e320f983296f4a14a131dac4c66\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4e895e320f983296f4a14a131dac4c66\">QsciScintilla::indicatorDrawUnder</a></div><div class=\"ttdeci\">bool indicatorDrawUnder(int indicatorNumber) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a55b4fb34deedc4131e4f85fc4f7e01bc\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a55b4fb34deedc4131e4f85fc4f7e01bc\">QsciLexerRuby::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a3c22a819683d430aa99d23a80fedee73\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a3c22a819683d430aa99d23a80fedee73\">QsciLexerD::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a61c43c53a753272c51c5c5ac14bda136\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">QsciScintillaBase::SCN_AUTOCSELECTION</a></div><div class=\"ttdeci\">void SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_a5fbcc10c345a43e51a6042919a9d30c4\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#a5fbcc10c345a43e51a6042919a9d30c4\">QsciLexerBatch::~QsciLexerBatch</a></div><div class=\"ttdeci\">virtual ~QsciLexerBatch()</div><div class=\"ttdoc\">Destroys the QsciLexerBatch instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></div><div class=\"ttdoc\">The QsciLexerSQL class encapsulates the Scintilla SQL lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a1036c768307d29c40f09cc1bc2fce37c\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">QsciLexerHTML::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a67e012ca1e51ed73521c720237b7a507\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a67e012ca1e51ed73521c720237b7a507\">QsciScintilla::indentationsUseTabs</a></div><div class=\"ttdeci\">bool indentationsUseTabs() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aedf7c8532be11bcfb8d38411bea88792\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">QsciScintilla::length</a></div><div class=\"ttdeci\">int length() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8348c07fe8cff0bf6141a94ca3014ed2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8348c07fe8cff0bf6141a94ca3014ed2\">QsciScintilla::setAutoCompletionCaseSensitivity</a></div><div class=\"ttdeci\">virtual void setAutoCompletionCaseSensitivity(bool cs)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a47d5e09e3507840ae898dfdc15acd858\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a47d5e09e3507840ae898dfdc15acd858\">QsciScintilla::createStandardContextMenu</a></div><div class=\"ttdeci\">QMenu * createStandardContextMenu()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a99fe632cb2613a0bac2ffb77c571c647\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">QsciScintilla::unindent</a></div><div class=\"ttdeci\">virtual void unindent(int line)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a48f53865418cf2ebd5126d2ee5e9d1dd\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a48f53865418cf2ebd5126d2ee5e9d1dd\">QsciScintilla::replaceSelectedText</a></div><div class=\"ttdeci\">virtual void replaceSelectedText(const QString &amp;text)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9fdd43a276cf3d9a3e7cc86dc7f280f5\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9fdd43a276cf3d9a3e7cc86dc7f280f5\">QsciScintilla::setWhitespaceBackgroundColor</a></div><div class=\"ttdeci\">void setWhitespaceBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a2ef800561a02b8ec02008d33e0c6e55e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a2ef800561a02b8ec02008d33e0c6e55e\">QsciScintilla::modificationAttempted</a></div><div class=\"ttdeci\">void modificationAttempted()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a8d57801958b738cbb297936426bb8c61\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a8d57801958b738cbb297936426bb8c61\">QsciLexerPostScript::setTokenize</a></div><div class=\"ttdeci\">virtual void setTokenize(bool tokenize)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a700754468352f673157d08d4ff222e79\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a700754468352f673157d08d4ff222e79\">QsciLexerRuby::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">QsciScintillaBase::SC_MARGIN_BACK</a></div><div class=\"ttdeci\">@ SC_MARGIN_BACK</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2697</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a2033202288867ce63c4e93bc45dc55e3\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">QsciLexerFortran77::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a613622c676e3c70f2c9f002f34326427\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a613622c676e3c70f2c9f002f34326427\">QsciLexerHTML::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a99fc9415c35eeef2b0f45f066101736b\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a99fc9415c35eeef2b0f45f066101736b\">QsciLexerCMake::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">QsciScintillaBase::SC_MARK_ARROWDOWN</a></div><div class=\"ttdeci\">@ SC_MARK_ARROWDOWN</div><div class=\"ttdoc\">A triangle pointing down.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2583</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a902f46f94e9d5e5177bec26e2a7bf8ef\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a902f46f94e9d5e5177bec26e2a7bf8ef\">QsciLexerJSON::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a3f7076535f370759450ec1243088c7f1\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">QsciLexerCPP::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a6af9c876a10d746177790189067aaf6a\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a6af9c876a10d746177790189067aaf6a\">QsciMacro::save</a></div><div class=\"ttdeci\">QString save() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a90ed658a569976a68f1260901b7b3518\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">QsciLexerCMake::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a68e2eaca494e93937f896bd60b86429c\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a68e2eaca494e93937f896bd60b86429c\">QsciLexerTeX::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_acf0c4eb451d93a21887462bc7746f2e4\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#acf0c4eb451d93a21887462bc7746f2e4\">QsciScintilla::markerDefine</a></div><div class=\"ttdeci\">int markerDefine(const QPixmap &amp;pm, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a52aaeee4b9171222c20af3557adaf0ad\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">QsciScintilla::markerDeleteAll</a></div><div class=\"ttdeci\">void markerDeleteAll(int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a2d4ec76574fd507fbf3c0d006c7427da\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a2d4ec76574fd507fbf3c0d006c7427da\">QsciStyle::setPaper</a></div><div class=\"ttdeci\">void setPaper(const QColor &amp;paper)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyledText_html_a526eff4f40349af1913dd4cfa3464131\"><div class=\"ttname\"><a href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">QsciStyledText::text</a></div><div class=\"ttdeci\">const QString &amp; text() const</div><div class=\"ttdoc\">Returns a reference to the text.</div><div class=\"ttdef\"><b>Definition:</b> qscistyledtext.h:50</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a6b29d84b0b5d63f2b590988195c7557c\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">QsciAPIs::clear</a></div><div class=\"ttdeci\">void clear()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">QsciScintillaBase::SC_MARGIN_TEXT</a></div><div class=\"ttdeci\">@ SC_MARGIN_TEXT</div><div class=\"ttdoc\">The margin will display text.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2704</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a628efb828569208d6219a88f1fc6a1a7\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a628efb828569208d6219a88f1fc6a1a7\">QsciLexerLua::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4e27f94e78e5f184f37382950963d831\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4e27f94e78e5f184f37382950963d831\">QsciScintilla::isWordCharacter</a></div><div class=\"ttdeci\">bool isWordCharacter(char ch) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">QsciScintillaBase::SC_MARK_TCORNER</a></div><div class=\"ttdeci\">@ SC_MARK_TCORNER</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2599</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a02cb3518d6145815b22359d8d5aa2cf1\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a02cb3518d6145815b22359d8d5aa2cf1\">QsciLexerD::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_adae268febf025354165c88afa2414c73\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#adae268febf025354165c88afa2414c73\">QsciLexerPascal::foldPreprocessor</a></div><div class=\"ttdeci\">bool foldPreprocessor() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a5783815b0ab1200a2d5ff729b7eba074\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">QsciLexerFortran77::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a56f3d257ed1e6e1851252ccfceef0ef9\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a56f3d257ed1e6e1851252ccfceef0ef9\">QsciLexerAVS::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a253807bb0f4b3db471b059afc70b77db\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a253807bb0f4b3db471b059afc70b77db\">QsciScintilla::setCallTipsStyle</a></div><div class=\"ttdeci\">void setCallTipsStyle(CallTipsStyle style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a0fd0947a87e3bf43720227b8226b3edd\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">QsciStyle::visible</a></div><div class=\"ttdeci\">bool visible() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:162</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a7a2271db1a39037a429faaa5ff8e399f\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a7a2271db1a39037a429faaa5ff8e399f\">QsciLexerJSON::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_acb5ec792032e6108b3c2d6ec6e565f49\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#acb5ec792032e6108b3c2d6ec6e565f49\">QsciLexerPython::indentationGuideView</a></div><div class=\"ttdeci\">virtual int indentationGuideView() const</div><div class=\"ttdoc\">Returns the view used for indentation guides.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_ae4490715b80237feaa25ad92d2fb6313\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#ae4490715b80237feaa25ad92d2fb6313\">QsciLexerD::blockStartKeyword</a></div><div class=\"ttdeci\">const char * blockStartKeyword(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_adcf1f06161144f511c549695f9641c77\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#adcf1f06161144f511c549695f9641c77\">QsciScintilla::insert</a></div><div class=\"ttdeci\">virtual void insert(const QString &amp;text)</div><div class=\"ttdoc\">Insert the text text at the current position.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_ad6328325f4c46dce0226712e9db3bba7\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#ad6328325f4c46dce0226712e9db3bba7\">QsciLexerVHDL::setFoldAtParenthesis</a></div><div class=\"ttdeci\">virtual void setFoldAtParenthesis(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_a2bfdf998696531faacf29f6e0aae9a6c\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">QsciLexerMatlab::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_acb06ba468da57cc4ea9e8d496cb33f83\"><div class=\"ttname\"><a href=\"classQsciStyle.html#acb06ba468da57cc4ea9e8d496cb33f83\">QsciStyle::setHotspot</a></div><div class=\"ttdeci\">void setHotspot(bool hotspot)</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a07bc73b7a67f8f405578992bae29528c\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a07bc73b7a67f8f405578992bae29528c\">QsciAPIs::~QsciAPIs</a></div><div class=\"ttdeci\">virtual ~QsciAPIs()</div><div class=\"ttdoc\">Destroy the QsciAPIs instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a63c0f682eecba626fff511c6b1612ab6\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a63c0f682eecba626fff511c6b1612ab6\">QsciScintilla::contractedFolds</a></div><div class=\"ttdeci\">QList&lt; int &gt; contractedFolds() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a8b64cf1677896ea7966338b3f10be14b\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a8b64cf1677896ea7966338b3f10be14b\">QsciLexerD::QsciLexerD</a></div><div class=\"ttdeci\">QsciLexerD(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_ab7048836522bb0c92df17ccc9e8c1577\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#ab7048836522bb0c92df17ccc9e8c1577\">QsciLexerJSON::highlightComments</a></div><div class=\"ttdeci\">bool highlightComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerjson.h:134</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a981f7ababe1cc561b29617fad8aa29b5\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a981f7ababe1cc561b29617fad8aa29b5\">QsciLexerPostScript::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a29937d422c25f17612c57e16a7bddaf1\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">QsciLexerXML::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a367d2a52388bd2602642f4b5dc01bba2\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a367d2a52388bd2602642f4b5dc01bba2\">QsciLexerVHDL::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_af187d6973df01f3f704b181a446ea2f5\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#af187d6973df01f3f704b181a446ea2f5\">QsciLexerRuby::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a2cef89549882e03a6290af8cbbf1a3ce\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a2cef89549882e03a6290af8cbbf1a3ce\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, unsigned long wParam, const QPixmap &amp;lParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a7c5dafabba34ff3e6120d9f3606cade0\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a7c5dafabba34ff3e6120d9f3606cade0\">QsciLexerCPP::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac05da1bc5b91c682f192ff594552a306\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac05da1bc5b91c682f192ff594552a306\">QsciScintilla::changeEvent</a></div><div class=\"ttdeci\">virtual void changeEvent(QEvent *e)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_ac84577ad9cdb480293fe6001e71085a8\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#ac84577ad9cdb480293fe6001e71085a8\">QsciLexerCoffeeScript::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></div><div class=\"ttdoc\">The QsciLexerMarkdown class encapsulates the Scintilla Markdown lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexermarkdown.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a47884fcfd8d2b0ab7b8d277cb0325c17\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a47884fcfd8d2b0ab7b8d277cb0325c17\">QsciLexerPerl::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_afe42ac5a09816340d4bec920b523aed6\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#afe42ac5a09816340d4bec920b523aed6\">QsciLexerPython::blockLookback</a></div><div class=\"ttdeci\">int blockLookback() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8aae5a0037937ad6c8bdfe868e4a8ad5\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8aae5a0037937ad6c8bdfe868e4a8ad5\">QsciScintilla::selectAll</a></div><div class=\"ttdeci\">virtual void selectAll(bool select=true)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa9612621315a0b3fcecdb8d0f2a2abb2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa9612621315a0b3fcecdb8d0f2a2abb2\">QsciScintilla::markerLine</a></div><div class=\"ttdeci\">int markerLine(int mhandle) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7451e82e2ee3d0ddb3b8418edb0202f2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">QsciScintilla::setScrollWidthTracking</a></div><div class=\"ttdeci\">void setScrollWidthTracking(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a0afd856aa4add375643659eace2238fa\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a0afd856aa4add375643659eace2238fa\">QsciLexerSQL::~QsciLexerSQL</a></div><div class=\"ttdeci\">virtual ~QsciLexerSQL()</div><div class=\"ttdoc\">Destroys the QsciLexerSQL instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">QsciScintillaBase::SC_MARK_CIRCLEPLUSCONNECTED</a></div><div class=\"ttdeci\">@ SC_MARK_CIRCLEPLUSCONNECTED</div><div class=\"ttdoc\">A drawn plus sign in a connected box.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2625</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\">QsciScintilla::NoFoldStyle</a></div><div class=\"ttdeci\">@ NoFoldStyle</div><div class=\"ttdoc\">Folding is disabled.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:211</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a8a4389bd37a806046a7c0b51cc1a6ead\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a8a4389bd37a806046a7c0b51cc1a6ead\">QsciLexerVerilog::foldAtModule</a></div><div class=\"ttdeci\">bool foldAtModule() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerverilog.h:223</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_ad8cabbe5db0e4ba630cfad60ddfc79b1\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#ad8cabbe5db0e4ba630cfad60ddfc79b1\">QsciLexerProperties::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a831ed1e8074990eafb57d4b9ebaf3d2f\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a831ed1e8074990eafb57d4b9ebaf3d2f\">QsciLexerPOV::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aec47d94706ffb14ef35035ba827b5b45\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aec47d94706ffb14ef35035ba827b5b45\">QsciScintilla::setCallTipsVisible</a></div><div class=\"ttdeci\">void setCallTipsVisible(int nr)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_a5372d959cc774781c7271334b2c61b4f\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#a5372d959cc774781c7271334b2c61b4f\">QsciLexerMarkdown::~QsciLexerMarkdown</a></div><div class=\"ttdeci\">virtual ~QsciLexerMarkdown()</div><div class=\"ttdoc\">Destroys the QsciLexerMarkdown instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">QsciScintillaBase::SC_MARK_VLINE</a></div><div class=\"ttdeci\">@ SC_MARK_VLINE</div><div class=\"ttdoc\">A vertical line drawn in the background colour.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2592</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_afba4d5b30fae60dab7b4279c580beb8c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#afba4d5b30fae60dab7b4279c580beb8c\">QsciScintilla::insertAt</a></div><div class=\"ttdeci\">virtual void insertAt(const QString &amp;text, int line, int index)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a5f140c587d361cf8539814d820d680f4\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">QsciScintillaBase::SendScintillaPtrResult</a></div><div class=\"ttdeci\">void * SendScintillaPtrResult(unsigned int msg) const</div><div class=\"ttdoc\">Send the Scintilla message msg and return a pointer result.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8e88f3f4369b73980bb40d5d3a8caf26\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">QsciScintilla::setEdgeColumn</a></div><div class=\"ttdeci\">void setEdgeColumn(int colnr)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ac53cb0d155aa3d81add74ee90585cb6a\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">QsciLexerHTML::caseSensitiveTags</a></div><div class=\"ttdeci\">bool caseSensitiveTags() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:424</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a2a2195f681df3657fbadf72c55003863\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a2a2195f681df3657fbadf72c55003863\">QsciLexerCSS::setSCSSLanguage</a></div><div class=\"ttdeci\">void setSCSSLanguage(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a54cd2f0d4c87b28f41dc325d0fe485cc\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a54cd2f0d4c87b28f41dc325d0fe485cc\">QsciLexerCMake::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9da0038950253b116ecd3863a4f63928\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9da0038950253b116ecd3863a4f63928\">QsciScintilla::linesChanged</a></div><div class=\"ttdeci\">void linesChanged()</div><div class=\"ttdoc\">This signal is emitted whenever the number of lines of text changes.</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a1c342b5db46e12a8d73567fac9959543\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a1c342b5db46e12a8d73567fac9959543\">QsciMacro::load</a></div><div class=\"ttdeci\">bool load(const QString &amp;asc)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_aabad8cc171c34609ee0d6c600a534334\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">QsciLexerHTML::foldScriptHeredocs</a></div><div class=\"ttdeci\">bool foldScriptHeredocs() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:467</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a1895725812d581b40913c1a85d2ab533\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a1895725812d581b40913c1a85d2ab533\">QsciLexerTeX::setProcessComments</a></div><div class=\"ttdeci\">void setProcessComments(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_a8dbdaca7dffe587e442d09f5b780fab5\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#a8dbdaca7dffe587e442d09f5b780fab5\">QsciLexerCustom::QsciLexerCustom</a></div><div class=\"ttdeci\">QsciLexerCustom(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_ab946b8c9f34872b69c31e6e9cd0b0e57\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#ab946b8c9f34872b69c31e6e9cd0b0e57\">QsciLexerYAML::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a1ab3498874bc09e7136c1325498fc49f\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">QsciLexerFortran77::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a9023ef1aa48fd622ecac97a419cb3afe\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a9023ef1aa48fd622ecac97a419cb3afe\">QsciLexerAVS::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab696e4703374af4c01651453d094ac08\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab696e4703374af4c01651453d094ac08\">QsciScintilla::setWrapVisualFlags</a></div><div class=\"ttdeci\">void setWrapVisualFlags(WrapVisualFlag endFlag, WrapVisualFlag startFlag=WrapFlagNone, int indent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran_html_ad18b58e4e78b74f1c1cc0db18a2d74ca\"><div class=\"ttname\"><a href=\"classQsciLexerFortran.html#ad18b58e4e78b74f1c1cc0db18a2d74ca\">QsciLexerFortran::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5e4372bd9b4249d7e574402935444b84\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5e4372bd9b4249d7e574402935444b84\">QsciScintilla::eolVisibility</a></div><div class=\"ttdeci\">bool eolVisibility() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a2fda8ad57009d4e2f1ac388cad2cfc92\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">QsciLexerHTML::setCaseSensitiveTags</a></div><div class=\"ttdeci\">virtual void setCaseSensitiveTags(bool sens)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6b494f1a0395a62c3e61f50eabc50679\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6b494f1a0395a62c3e61f50eabc50679\">QsciScintilla::setAutoCompletionShowSingle</a></div><div class=\"ttdeci\">virtual void setAutoCompletionShowSingle(bool single)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a1bd5470bc123a43c98facfc5c4a1e523\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a1bd5470bc123a43c98facfc5c4a1e523\">QsciScintilla::setTabWidth</a></div><div class=\"ttdeci\">virtual void setTabWidth(int width)</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_aa95827e3bd2c3c0e658afe55fa12476e\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#aa95827e3bd2c3c0e658afe55fa12476e\">QsciPrinter::setWrapMode</a></div><div class=\"ttdeci\">virtual void setWrapMode(QsciScintilla::WrapMode wmode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_af8c28786c65b23583d92030ac606d07c\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#af8c28786c65b23583d92030ac606d07c\">QsciLexerPython::highlightSubidentifiers</a></div><div class=\"ttdeci\">bool highlightSubidentifiers() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:223</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerOctave_html\"><div class=\"ttname\"><a href=\"classQsciLexerOctave.html\">QsciLexerOctave</a></div><div class=\"ttdoc\">The QsciLexerOctave class encapsulates the Scintilla Octave file lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexeroctave.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a906faecb0defd2d5a14cac54f8415dcf\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">QsciScintillaBase::SCN_HOTSPOTRELEASECLICK</a></div><div class=\"ttdeci\">void SCN_HOTSPOTRELEASECLICK(int position, int modifiers)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aee2887fadd0ddac9cee9dcdaee8d8696\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aee2887fadd0ddac9cee9dcdaee8d8696\">QsciScintilla::edgeColor</a></div><div class=\"ttdeci\">QColor edgeColor() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\">QsciScintilla::PlainFoldStyle</a></div><div class=\"ttdeci\">@ PlainFoldStyle</div><div class=\"ttdoc\">Plain folding style using plus and minus symbols.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:214</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_abd6f026e6cb154c64c581f6e5f7f2fed\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#abd6f026e6cb154c64c581f6e5f7f2fed\">QsciLexerRuby::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\">QsciScintilla::StrictBraceMatch</a></div><div class=\"ttdeci\">@ StrictBraceMatch</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:139</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a42cb45ea05c71180a594e0cc8041c07d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">QsciScintillaBase::SCN_URIDROPPED</a></div><div class=\"ttdeci\">void SCN_URIDROPPED(const QUrl &amp;url)</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a6a75974235c5e8d263bf962c778b3a3e\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a6a75974235c5e8d263bf962c778b3a3e\">QsciAPIs::callTips</a></div><div class=\"ttdeci\">virtual QStringList callTips(const QStringList &amp;context, int commas, QsciScintilla::CallTipsStyle style, QList&lt; int &gt; &amp;shifts)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a12673046e00bd7fdd7616a5e8c62a924\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">QsciScintilla::markerAdd</a></div><div class=\"ttdeci\">int markerAdd(int linenr, int markerNumber)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_a224fe82235b9a1c7b9c8bec9dd441178\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#a224fe82235b9a1c7b9c8bec9dd441178\">QsciLexerCustom::setEditor</a></div><div class=\"ttdeci\">virtual void setEditor(QsciScintilla *editor)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a340cd78e46fb58fc9b3b78ed158ba56e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">QsciScintilla::setFolding</a></div><div class=\"ttdeci\">virtual void setFolding(FoldStyle fold, int margin=2)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a2acbf99b93c18d9a9f922c9e2894bf4f\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">QsciLexerXML::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_abed099316dd95a6289c76d151a37c264\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#abed099316dd95a6289c76d151a37c264\">QsciLexerPython::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a2ffd6d691d5a63940e448138f3754a47\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a2ffd6d691d5a63940e448138f3754a47\">QsciScintilla::setIndicatorForegroundColor</a></div><div class=\"ttdeci\">void setIndicatorForegroundColor(const QColor &amp;col, int indicatorNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a64b5ac3d0a8a5a7113905fa421edb1ad\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a64b5ac3d0a8a5a7113905fa421edb1ad\">QsciLexerYAML::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab29919614210e2bb21525b1d7fec44b1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab29919614210e2bb21525b1d7fec44b1\">QsciScintilla::marginMarkerMask</a></div><div class=\"ttdeci\">int marginMarkerMask(int margin) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a4e10650b0e9ad137062ad5c17ad33e76\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">virtual QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5fddd1e6e19cf2e2b40c15a39e62d198\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5fddd1e6e19cf2e2b40c15a39e62d198\">QsciScintilla::setMarginLineNumbers</a></div><div class=\"ttdeci\">virtual void setMarginLineNumbers(int margin, bool lnrs)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8403fbfd3afcaed7076359bb899d5136\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">QsciScintilla::isReadOnly</a></div><div class=\"ttdeci\">bool isReadOnly() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a122450b5227d23ee119b2653b9e9be2f\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">QsciLexerHTML::setFoldScriptHeredocs</a></div><div class=\"ttdeci\">void setFoldScriptHeredocs(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a14f1638b2f668fb7d98791cda719f8a0\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a14f1638b2f668fb7d98791cda719f8a0\">QsciLexerRuby::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a7ceeb1fcb0dee86889484767dae5440b\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">QsciLexerHTML::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_acb1aa10ea05a7ee72a0d77376153b4d2\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">QsciAPIs::remove</a></div><div class=\"ttdeci\">void remove(const QString &amp;entry)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a2e2317346a85697a98a2e19d1c596a48\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a2e2317346a85697a98a2e19d1c596a48\">QsciLexerProperties::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerproperties.h:104</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af9015c62600c87eef82f715bf61da913\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af9015c62600c87eef82f715bf61da913\">QsciScintilla::setCaretForegroundColor</a></div><div class=\"ttdeci\">virtual void setCaretForegroundColor(const QColor &amp;col)</div><div class=\"ttdoc\">Sets the foreground colour of the caret to col.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_acc91bd455ff72d93d0bb73b553afbbb8\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#acc91bd455ff72d93d0bb73b553afbbb8\">QsciLexerSQL::setHashComments</a></div><div class=\"ttdeci\">void setHashComments(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0aeb5804552ea61f04aff90cb6739f39\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">QsciScintilla::paste</a></div><div class=\"ttdeci\">virtual void paste()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a42ae037173aab16ce5e14788e6331623\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a42ae037173aab16ce5e14788e6331623\">QsciScintilla::showUserList</a></div><div class=\"ttdeci\">void showUserList(int id, const QStringList &amp;list)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_abf07dc83c19a3925e3cb977bf883b04c\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#abf07dc83c19a3925e3cb977bf883b04c\">QsciLexerSQL::backslashEscapes</a></div><div class=\"ttdeci\">bool backslashEscapes() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:163</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_acd6fbd352060d3ee893bacc9bbb28a4e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#acd6fbd352060d3ee893bacc9bbb28a4e\">QsciScintilla::indentationGuides</a></div><div class=\"ttdeci\">bool indentationGuides() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0128aae31e7d02fa580b55c9675d66e9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">QsciScintilla::undo</a></div><div class=\"ttdeci\">virtual void undo()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">QsciScintillaBase::SC_MARK_CIRCLE</a></div><div class=\"ttdeci\">@ SC_MARK_CIRCLE</div><div class=\"ttdoc\">A circle.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2564</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_adbeb88fef8346b6543d6ef8b2154e763\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#adbeb88fef8346b6543d6ef8b2154e763\">QsciLexerLua::~QsciLexerLua</a></div><div class=\"ttdeci\">virtual ~QsciLexerLua()</div><div class=\"ttdoc\">Destroys the QsciLexerLua instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html_a90452ab6f4d40314ec519913f9e78ccc\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">QsciAbstractAPIs::lexer</a></div><div class=\"ttdeci\">QsciLexer * lexer() const</div><div class=\"ttdoc\">Return the lexer that the instance is attached to.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a86be2cbea60ab7b3419ed3bf2db7c5ce\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a86be2cbea60ab7b3419ed3bf2db7c5ce\">QsciLexerAVS::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a68f0cf388c3fa6a70ece2184020ffe55\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a68f0cf388c3fa6a70ece2184020ffe55\">QsciLexerD::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a19f0b390b5594d0dff5e4d4b484e43d2\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">QsciLexer::setDefaultFont</a></div><div class=\"ttdeci\">void setDefaultFont(const QFont &amp;f)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_ae8c0599c4eb74db6caa8624bcc416a8b\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#ae8c0599c4eb74db6caa8624bcc416a8b\">QsciLexerVHDL::setFoldAtElse</a></div><div class=\"ttdeci\">virtual void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a79c27285b6033c553b3f54cb6c56b338\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">QsciLexer::autoIndentStyle</a></div><div class=\"ttdeci\">int autoIndentStyle()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></div><div class=\"ttdoc\">The QsciLexerCSharp class encapsulates the Scintilla C# lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexercsharp.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a07fe5007913f0001a473d92f4c3fdbe6\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a07fe5007913f0001a473d92f4c3fdbe6\">QsciScintilla::recolor</a></div><div class=\"ttdeci\">virtual void recolor(int start=0, int end=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9b1a8ed3235c506ffca09260cdd0e209\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">QsciScintilla::setScrollWidth</a></div><div class=\"ttdeci\">void setScrollWidth(int pixelWidth)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aeeccf4091f42418284a79dcf67419a5c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aeeccf4091f42418284a79dcf67419a5c\">QsciScintilla::caseSensitive</a></div><div class=\"ttdeci\">bool caseSensitive() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab98db9f5166ccc23792aea15a19c2294\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab98db9f5166ccc23792aea15a19c2294\">QsciScintilla::setEolVisibility</a></div><div class=\"ttdeci\">virtual void setEolVisibility(bool visible)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae2e859fdafd8c56106b823d9e1ef99dd\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">QsciScintilla::indentation</a></div><div class=\"ttdeci\">int indentation(int line) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a99f8420666e55b23980d05903e7eebc3\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a99f8420666e55b23980d05903e7eebc3\">QsciLexerPOV::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a189a9efbe5c2fa07757d67c013229e19\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a189a9efbe5c2fa07757d67c013229e19\">QsciLexerPOV::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a1060a2e187518d1c8b2814c393e227c6\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">QsciScintilla::setSelectionForegroundColor</a></div><div class=\"ttdeci\">virtual void setSelectionForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a7ca16327ee98a2e0dc3a59b2f745d778\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a7ca16327ee98a2e0dc3a59b2f745d778\">QsciLexerCMake::~QsciLexerCMake</a></div><div class=\"ttdeci\">virtual ~QsciLexerCMake()</div><div class=\"ttdoc\">Destroys the QsciLexerCMake instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_aae0cfbb2dbfd2a833a16630c9cf2e36e\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#aae0cfbb2dbfd2a833a16630c9cf2e36e\">QsciLexerBash::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html\"><div class=\"ttname\"><a href=\"classQsciStyle.html\">QsciStyle</a></div><div class=\"ttdoc\">The QsciStyle class encapsulates all the attributes of a style.</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:42</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_add9c20adb43bc38d1a0ca3083ac3e6fa\"><div class=\"ttname\"><a href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer::description</a></div><div class=\"ttdeci\">virtual QString description(int style) const =0</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_adcc34134da3341f1f07a847b09f6565b\"><div class=\"ttname\"><a href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">QsciStyle::eolFill</a></div><div class=\"ttdeci\">bool eolFill() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:141</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad8a7afc4f25e04e805b7e291d5df1d35\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">QsciScintilla::replace</a></div><div class=\"ttdeci\">virtual void replace(const QString &amp;replaceStr)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a61d706ce1554474fd54fe07359612814\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a61d706ce1554474fd54fe07359612814\">QsciLexerProperties::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a21f63849918a4fbeda81dc5f79fa81c2\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a21f63849918a4fbeda81dc5f79fa81c2\">QsciLexerTeX::setFoldCompact</a></div><div class=\"ttdeci\">void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_a9c7747919e355a885d6ebb4b0d0dc619\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#a9c7747919e355a885d6ebb4b0d0dc619\">QsciPrinter::~QsciPrinter</a></div><div class=\"ttdeci\">virtual ~QsciPrinter()</div><div class=\"ttdoc\">Destroys the QsciPrinter instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a2a2beba3b365e2e0e1f21109079f0ffd\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">QsciLexerPascal::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a942c993effc83d0dedec2fc20d8a741f\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a942c993effc83d0dedec2fc20d8a741f\">QsciLexerLua::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\">QsciScintilla::AcusNever</a></div><div class=\"ttdeci\">@ AcusNever</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:102</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_ad6f1adced83d4017ef5ea75ea338c117\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#ad6f1adced83d4017ef5ea75ea338c117\">QsciLexerTCL::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_aea30a66d5e4e7d0064366eefec03364c\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#aea30a66d5e4e7d0064366eefec03364c\">QsciLexerPOV::setFoldDirectives</a></div><div class=\"ttdeci\">virtual void setFoldDirectives(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a2a1215dab25c15adf3c1bd6a5b063f91\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a2a1215dab25c15adf3c1bd6a5b063f91\">QsciLexerVHDL::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9ce32df9e150ef76a24c50af6b09e966\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">QsciScintilla::resetSelectionForegroundColor</a></div><div class=\"ttdeci\">virtual void resetSelectionForegroundColor()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_ae3ef35311f24a24300140512dd005f54\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">QsciLexerFortran77::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a136a17a59a3800c40619a768ffff8d7a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a136a17a59a3800c40619a768ffff8d7a\">QsciScintilla::autoCompletionCaseSensitivity</a></div><div class=\"ttdeci\">bool autoCompletionCaseSensitivity() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a9c18ede5b5271ee1885b38083271aa9e\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a9c18ede5b5271ee1885b38083271aa9e\">QsciLexerPascal::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_aff4735542e937c5e35ecb2eb82e8f875\"><div class=\"ttname\"><a href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">QsciLexer::indentationGuideView</a></div><div class=\"ttdeci\">virtual int indentationGuideView() const</div><div class=\"ttdoc\">Returns the view used for indentation guides.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a072c10d35abc0e56e09806eeb78ab66f\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a072c10d35abc0e56e09806eeb78ab66f\">QsciLexerPascal::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a4ceef374a27fd3bb012a7b55f19303e2\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a4ceef374a27fd3bb012a7b55f19303e2\">QsciLexerHTML::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_ab86225b96219799a77f77600f145042a\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#ab86225b96219799a77f77600f145042a\">QsciLexerSQL::QsciLexerSQL</a></div><div class=\"ttdeci\">QsciLexerSQL(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a722a2f16b67ef5f46def6914a6e178c3\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">QsciScintillaBase::SCN_MARGINCLICK</a></div><div class=\"ttdeci\">void SCN_MARGINCLICK(int position, int modifiers, int margin)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5afec2f913c2a46d661c5fdda29f5e87\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">QsciScintilla::marginClicked</a></div><div class=\"ttdeci\">void marginClicked(int margin, int line, Qt::KeyboardModifiers state)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_aaeb3a87a051af9cc20b5319ed8cd6ca1\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#aaeb3a87a051af9cc20b5319ed8cd6ca1\">QsciLexerVerilog::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html\"><div class=\"ttname\"><a href=\"classQsciMacro.html\">QsciMacro</a></div><div class=\"ttdoc\">The QsciMacro class represents a sequence of recordable editor commands.</div><div class=\"ttdef\"><b>Definition:</b> qscimacro.h:41</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></div><div class=\"ttdoc\">The QsciLexerHTML class encapsulates the Scintilla HTML lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_acd0614489de2d2c9f69379a574f1d5eb\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#acd0614489de2d2c9f69379a574f1d5eb\">QsciLexerJSON::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac141edcf0d537b247d8a1e79194db60b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">QsciScintilla::marginSensitivity</a></div><div class=\"ttdeci\">bool marginSensitivity(int margin) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a8bc6aee27994356e61fc6b030e23a62f\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a8bc6aee27994356e61fc6b030e23a62f\">QsciLexerCoffeeScript::setFoldCompact</a></div><div class=\"ttdeci\">void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_aebc02afb8158d445c4369efa287cc2ac\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#aebc02afb8158d445c4369efa287cc2ac\">QsciLexerPascal::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_abd88d76b875c154f099b4e9f36b6fcab\"><div class=\"ttname\"><a href=\"classQsciStyle.html#abd88d76b875c154f099b4e9f36b6fcab\">QsciStyle::setDescription</a></div><div class=\"ttdeci\">void setDescription(const QString &amp;description)</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:93</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a9fa4dc539be7b199e91d6ff0f83e5f8d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a9fa4dc539be7b199e91d6ff0f83e5f8d\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, const char *wParam, const char *lParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a56542fe5a9e5790eab29936b73ef0fa3\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a56542fe5a9e5790eab29936b73ef0fa3\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, unsigned long wParam, const QImage &amp;lParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a85aa8e72d81818a7edea1867362db16a\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a85aa8e72d81818a7edea1867362db16a\">QsciLexerPerl::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a6a5b21a2ba8b43a2f6b3747af365156f\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">QsciLexerPascal::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_aa1949e1c7fd18507f664babab7b3c56c\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#aa1949e1c7fd18507f664babab7b3c56c\">QsciLexerCoffeeScript::setStylePreprocessor</a></div><div class=\"ttdeci\">void setStylePreprocessor(bool style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a8a24cd2bdd449e16ae5d00db7a1826bf\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a8a24cd2bdd449e16ae5d00db7a1826bf\">QsciLexerJSON::setFoldCompact</a></div><div class=\"ttdeci\">void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae89d58a67f46efad7136bead41232fd6\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">QsciScintilla::autoCompleteFromAPIs</a></div><div class=\"ttdeci\">virtual void autoCompleteFromAPIs()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8010e1671a15976254fd11b59ca3e03d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8010e1671a15976254fd11b59ca3e03d\">QsciScintilla::setIndentationWidth</a></div><div class=\"ttdeci\">virtual void setIndentationWidth(int width)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3fd2a1bbc409d1bbca44efc7976b808c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">QsciScintilla::resetHotspotForegroundColor</a></div><div class=\"ttdeci\">void resetHotspotForegroundColor()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a78f4690fa92e02c8511074a334c06096\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a78f4690fa92e02c8511074a334c06096\">QsciLexerCSS::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></div><div class=\"ttdoc\">The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:61</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_aa6ed26c11f54f71a305d3ee03d685f06\"><div class=\"ttname\"><a href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">QsciLexer::eolFill</a></div><div class=\"ttdeci\">virtual bool eolFill(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a21af5f49389a552a5beb05764714882a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">QsciScintilla::marginWidth</a></div><div class=\"ttdeci\">int marginWidth(int margin) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_ab2d6a4d13e15769bf1110012b491ad90\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#ab2d6a4d13e15769bf1110012b491ad90\">QsciLexerPostScript::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a07a738771d1dd29aaae584944cf6d637\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a07a738771d1dd29aaae584944cf6d637\">QsciLexerJSON::~QsciLexerJSON</a></div><div class=\"ttdeci\">virtual ~QsciLexerJSON()</div><div class=\"ttdoc\">Destroys the QsciLexerJSON instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa85349be1012a11e4198949c5537a6b2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa85349be1012a11e4198949c5537a6b2\">QsciScintilla::ensureCursorVisible</a></div><div class=\"ttdeci\">virtual void ensureCursorVisible()</div><div class=\"ttdoc\">Ensures that the cursor is visible.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a1bc505b1b0f41472062f86b205ea2860\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a1bc505b1b0f41472062f86b205ea2860\">QsciLexerBash::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6423854a3c2f7da07db1e47f2f0c8c71\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6423854a3c2f7da07db1e47f2f0c8c71\">QsciScintilla::getSelection</a></div><div class=\"ttdeci\">void getSelection(int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a68d8b422b0d733592cc896086ca23652\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a68d8b422b0d733592cc896086ca23652\">QsciLexerPascal::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_abe7fcae4d84483ecd934c60bfdaee4a8\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#abe7fcae4d84483ecd934c60bfdaee4a8\">QsciScintilla::ensureLineVisible</a></div><div class=\"ttdeci\">virtual void ensureLineVisible(int line)</div><div class=\"ttdoc\">Ensures that the line number line is visible.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_acb9f67f141d5e81f68342e9507a308d3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">QsciScintilla::TabDrawMode</a></div><div class=\"ttdeci\">TabDrawMode</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:452</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a3e9cfc0d233a1dcd3f20d33c4401e9fd\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">QsciLexerCSharp::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a33c8d6d9915a1375c0d7c24beaceb951\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">QsciScintillaBase::dropEvent</a></div><div class=\"ttdeci\">virtual void dropEvent(QDropEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle drops.</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a4387e4fa992c8671dd508c0c2651e34f\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a4387e4fa992c8671dd508c0c2651e34f\">QsciMacro::clear</a></div><div class=\"ttdeci\">void clear()</div><div class=\"ttdoc\">Clear the contents of the macro.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a4568ee117191969976b674227b16c860\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a4568ee117191969976b674227b16c860\">QsciLexerMakefile::QsciLexerMakefile</a></div><div class=\"ttdeci\">QsciLexerMakefile(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a1ef24398e95c23a8b3c858179e5eb564\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a1ef24398e95c23a8b3c858179e5eb564\">QsciLexerAVS::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a6efb8e98287c21ec5175a466d7e5cc55\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a6efb8e98287c21ec5175a466d7e5cc55\">QsciLexerSQL::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a67177e2b1d8584d8cf8f1b276174b258\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a67177e2b1d8584d8cf8f1b276174b258\">QsciScintilla::setWhitespaceForegroundColor</a></div><div class=\"ttdeci\">void setWhitespaceForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_abb94e0b0257a50dbde9b0ddbcfeb69d2\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">QsciLexerD::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a774cfde4ca55ef85c506258b3c789c9d\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a774cfde4ca55ef85c506258b3c789c9d\">QsciLexerPostScript::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a897792c74e365b70c4d2827419dc3ecf\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">QsciScintilla::copyAvailable</a></div><div class=\"ttdeci\">void copyAvailable(bool yes)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a5f105b9ec17cd73a0cd601ac9be82dd4\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">QsciScintillaBase::fromMimeData</a></div><div class=\"ttdeci\">virtual QByteArray fromMimeData(const QMimeData *source, bool &amp;rectangular) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5ba2e241be76c209c0f5509804a995c9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5ba2e241be76c209c0f5509804a995c9\">QsciScintilla::setIndicatorDrawUnder</a></div><div class=\"ttdeci\">void setIndicatorDrawUnder(bool under, int indicatorNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_adc2560a55f77a14329db8409dba11c54\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">QsciScintilla::findNext</a></div><div class=\"ttdeci\">virtual bool findNext()</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommandSet_html_a7f46a38f9fd309442aacfb7ad2b87143\"><div class=\"ttname\"><a href=\"classQsciCommandSet.html#a7f46a38f9fd309442aacfb7ad2b87143\">QsciCommandSet::commands</a></div><div class=\"ttdeci\">QList&lt; QsciCommand * &gt; &amp; commands()</div><div class=\"ttdoc\">The commands in the set are returned as a list.</div><div class=\"ttdef\"><b>Definition:</b> qscicommandset.h:62</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_afec7e71628d4af7a6573d1c74504ee20\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#afec7e71628d4af7a6573d1c74504ee20\">QsciScintilla::isUtf8</a></div><div class=\"ttdeci\">bool isUtf8() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a7cbe39118747739dd557df191c91db0c\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a7cbe39118747739dd557df191c91db0c\">QsciLexerCSS::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_ac263eb1fcaeaad44b23c2d990bad1bc1\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#ac263eb1fcaeaad44b23c2d990bad1bc1\">QsciLexerYAML::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a30d1fae97aaef0b3fafab8e790caf130\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a30d1fae97aaef0b3fafab8e790caf130\">QsciLexerPascal::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a17895e48d655d41d80e4fb4672c2fd72\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a17895e48d655d41d80e4fb4672c2fd72\">QsciLexerPO::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7081c7ff25b5f6bd5b3a6cbd478a9f42\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla::WrapMode</a></div><div class=\"ttdeci\">WrapMode</div><div class=\"ttdoc\">This enum defines the different line wrap modes.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:478</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a40d1ca24b672c13e9e7e69add2f5ee42\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a40d1ca24b672c13e9e7e69add2f5ee42\">QsciLexerVHDL::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ae6ef21c59fd374d1d4893adcc1e3ee9b\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">QsciLexerHTML::autoCompletionFillups</a></div><div class=\"ttdeci\">const char * autoCompletionFillups() const</div><div class=\"ttdoc\">Returns the characters that can fill up auto-completion.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5178b3fd3cb946ffd4b2e52df9bb1483\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5178b3fd3cb946ffd4b2e52df9bb1483\">QsciScintilla::autoCompletionThreshold</a></div><div class=\"ttdeci\">int autoCompletionThreshold() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:604</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a18c2bd1ee70c87809ba307ae6b695272\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">QsciScintilla::setMarginBackgroundColor</a></div><div class=\"ttdeci\">void setMarginBackgroundColor(int margin, const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ad8248a4659f290511d45a64fede1f63d\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">QsciLexerHTML::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8b593f92c03b3d6f999cd9d769c5028b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8b593f92c03b3d6f999cd9d769c5028b\">QsciScintilla::wrapIndentMode</a></div><div class=\"ttdeci\">WrapIndentMode wrapIndentMode() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_aae304336a4a8d4c2e332744ceeba1393\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#aae304336a4a8d4c2e332744ceeba1393\">QsciPrinter::printRange</a></div><div class=\"ttdeci\">virtual int printRange(QsciScintillaBase *qsb, int from=-1, int to=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">QsciScintillaBase::SC_MARK_BOXMINUS</a></div><div class=\"ttdeci\">@ SC_MARK_BOXMINUS</div><div class=\"ttdoc\">A drawn minus sign in a box.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2608</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a34fa0bd92884cfa29a27c279369797d5\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a34fa0bd92884cfa29a27c279369797d5\">QsciLexerPOV::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">QsciScintillaBase::SC_MARK_EMPTY</a></div><div class=\"ttdeci\">@ SC_MARK_EMPTY</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2580</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a490932b0c83bf7e4048c590565d6a32d\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a490932b0c83bf7e4048c590565d6a32d\">QsciLexerBash::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a6ec94de07f31c33a6b08c297259e6b01\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a6ec94de07f31c33a6b08c297259e6b01\">QsciLexerPascal::~QsciLexerPascal</a></div><div class=\"ttdeci\">virtual ~QsciLexerPascal()</div><div class=\"ttdoc\">Destroys the QsciLexerPascal instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a3f758c9ddd617ab1eb870d0eb20877d5\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a3f758c9ddd617ab1eb870d0eb20877d5\">QsciLexerAVS::~QsciLexerAVS</a></div><div class=\"ttdeci\">virtual ~QsciLexerAVS()</div><div class=\"ttdoc\">Destroys the QsciLexerAVS instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0e4576d83d7604b24bd13be91011c5f7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0e4576d83d7604b24bd13be91011c5f7\">QsciScintilla::folding</a></div><div class=\"ttdeci\">FoldStyle folding() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:860</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a2a8cd041dea81adb54a869c17ee4c8ba\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a2a8cd041dea81adb54a869c17ee4c8ba\">QsciLexerVHDL::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">QsciScintilla::WrapFlagNone</a></div><div class=\"ttdeci\">@ WrapFlagNone</div><div class=\"ttdoc\">No wrap flag is displayed.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:495</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a616edbb9da241c08f8381835d65bb18c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a616edbb9da241c08f8381835d65bb18c\">QsciScintilla::setIndicatorHoverForegroundColor</a></div><div class=\"ttdeci\">void setIndicatorHoverForegroundColor(const QColor &amp;col, int indicatorNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a6865962a5df72e37f4ba49c6e5e539b6\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a6865962a5df72e37f4ba49c6e5e539b6\">QsciLexerCoffeeScript::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercoffeescript.h:203</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a9aa8e062b1eff3f6fb101cf51b507886\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a9aa8e062b1eff3f6fb101cf51b507886\">QsciLexerTeX::processComments</a></div><div class=\"ttdeci\">bool processComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexertex.h:122</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a95a8b4cc2d6f8437c8feada8f518daff\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a95a8b4cc2d6f8437c8feada8f518daff\">QsciLexerCSS::HSSLanguage</a></div><div class=\"ttdeci\">bool HSSLanguage() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercss.h:185</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_addbc923c938f946180a15d494d17b567\"><div class=\"ttname\"><a href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">QsciLexer::setPaper</a></div><div class=\"ttdeci\">virtual void setPaper(const QColor &amp;c, int style=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></div><div class=\"ttdoc\">The QsciLexerProperties class encapsulates the Scintilla Properties lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerproperties.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html\">QsciLexerPython</a></div><div class=\"ttdoc\">The QsciLexerPython class encapsulates the Scintilla Python lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a98140e8245532496f7ed97bcaa8671f3\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a98140e8245532496f7ed97bcaa8671f3\">QsciLexerCSS::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div><div class=\"ttdoc\">Returns the foreground colour of the text for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_adc66ee4b78453d245ac1b4dff45490f4\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#adc66ee4b78453d245ac1b4dff45490f4\">QsciLexerPython::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a47d0cdb5df5fa6c860b4e840184fe585\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">QsciScintilla::autoCompletionFillupsEnabled</a></div><div class=\"ttdeci\">bool autoCompletionFillupsEnabled() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a67308885b201ef6e21f0a273bf0b3c31\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a67308885b201ef6e21f0a273bf0b3c31\">QsciLexerPython::v3BytesAllowed</a></div><div class=\"ttdeci\">bool v3BytesAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:270</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommandSet_html_a44fd78a640f59309862d868d04f34e49\"><div class=\"ttname\"><a href=\"classQsciCommandSet.html#a44fd78a640f59309862d868d04f34e49\">QsciCommandSet::readSettings</a></div><div class=\"ttdeci\">bool readSettings(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aea4d8707f6e32c1fbf989504d12d9eaa\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">QsciLexerCPP::highlightEscapeSequences</a></div><div class=\"ttdeci\">bool highlightEscapeSequences() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:308</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_a57d4b4e77554476eea666d793f104540\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#a57d4b4e77554476eea666d793f104540\">QsciLexerBatch::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_ab78937576c3c727f073921059ac87a59\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">QsciLexerXML::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a8ab227fcb9ba5da466b2d8eded96af70\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a8ab227fcb9ba5da466b2d8eded96af70\">QsciLexerVHDL::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_a5ba7f97b19cfa7bd0b846fc56d94fa3c\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#a5ba7f97b19cfa7bd0b846fc56d94fa3c\">QsciLexerCustom::setStyling</a></div><div class=\"ttdeci\">void setStyling(int length, const QsciStyle &amp;style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a638fcb2f0d2dd4be844881998cdb3b76\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">QsciLexerHTML::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a742609f12e48e63edbab2565d7df3cb9\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a742609f12e48e63edbab2565d7df3cb9\">QsciAPIs::savePrepared</a></div><div class=\"ttdeci\">bool savePrepared(const QString &amp;filename=QString()) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a3ec3d302e4ad33ca360d3edbe14ac561\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a3ec3d302e4ad33ca360d3edbe14ac561\">QsciLexerPerl::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a9e61fa490e6e6c1480f3de5187ffed02\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a9e61fa490e6e6c1480f3de5187ffed02\">QsciLexerCSS::setHSSLanguage</a></div><div class=\"ttdeci\">void setHSSLanguage(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a391299d076b0164402118f504c83d09c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a391299d076b0164402118f504c83d09c\">QsciScintilla::setSelection</a></div><div class=\"ttdeci\">virtual void setSelection(int lineFrom, int indexFrom, int lineTo, int indexTo)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a920953f5bde920bb22e853fc5aa6ef8d\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a920953f5bde920bb22e853fc5aa6ef8d\">QsciLexerPOV::~QsciLexerPOV</a></div><div class=\"ttdeci\">virtual ~QsciLexerPOV()</div><div class=\"ttdoc\">Destroys the QsciLexerPOV instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_aa230583b6c0a067894ffbd4ff3feee18\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#aa230583b6c0a067894ffbd4ff3feee18\">QsciLexerTeX::processIf</a></div><div class=\"ttdeci\">bool processIf() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexertex.h:133</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></div><div class=\"ttdoc\">The QsciLexerSpice class encapsulates the Scintilla Spice lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerspice.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a1d73603ec19f317dd0d6271ec852c0fc\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a1d73603ec19f317dd0d6271ec852c0fc\">QsciLexerSQL::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:195</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_aae249ec529d5f7de5fa238de9208058d\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#aae249ec529d5f7de5fa238de9208058d\">QsciLexerCSS::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_a76ed201e9e7309084795ddbc8f6e5b49\"><div class=\"ttname\"><a href=\"classQsciCommand.html#a76ed201e9e7309084795ddbc8f6e5b49\">QsciCommand::description</a></div><div class=\"ttdeci\">QString description() const</div><div class=\"ttdoc\">The user friendly description of the command is returned.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac04428d2f90c36458d68a673f107e40c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac04428d2f90c36458d68a673f107e40c\">QsciScintilla::setWrapMode</a></div><div class=\"ttdeci\">virtual void setWrapMode(WrapMode mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae628d46489efa3db3b0c42336a1bf8d3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">QsciScintilla::AutoCompletionUseSingle</a></div><div class=\"ttdeci\">AutoCompletionUseSingle</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:99</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a08467ef528d3048db763979f42664496\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">QsciScintilla::MarkerSymbol</a></div><div class=\"ttdeci\">MarkerSymbol</div><div class=\"ttdoc\">This enum defines the different pre-defined marker symbols.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:353</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_a1554c4fce67cdb1d34e5e7e4268708c5\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#a1554c4fce67cdb1d34e5e7e4268708c5\">QsciLexerDiff::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div><div class=\"ttdoc\">Returns the foreground colour of the text for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a4578cacfbe802ab993fc07ddeaef3297\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a4578cacfbe802ab993fc07ddeaef3297\">QsciLexerCMake::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a5d074b15d624c82c5931ceba7a91a455\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a5d074b15d624c82c5931ceba7a91a455\">QsciLexerPOV::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_aa1bd0effe3ed23e2bb3334b778efb74a\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">QsciLexerVerilog::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a4cf0c0ab9cb0628c515910c67fab9950\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a4cf0c0ab9cb0628c515910c67fab9950\">QsciLexerSQL::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:185</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a9208cc0aaf2e0a32239924fc6d0b67b7\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a9208cc0aaf2e0a32239924fc6d0b67b7\">QsciScintillaBase::SCN_USERLISTSELECTION</a></div><div class=\"ttdeci\">void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method)</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></div><div class=\"ttdoc\">The QsciLexerMakefile class encapsulates the Scintilla Makefile lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexermakefile.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af76ffea29540b830aebdf62a00a5e90d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">QsciScintilla::text</a></div><div class=\"ttdeci\">QString text() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a1ad82492f8015a60dea97f6ebd712d64\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a1ad82492f8015a60dea97f6ebd712d64\">QsciScintillaBase::SCN_AUTOCSELECTION</a></div><div class=\"ttdeci\">void SCN_AUTOCSELECTION(const char *selection, int position)</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a903187bfe219603ad7e20612d008ea7a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a903187bfe219603ad7e20612d008ea7a\">QsciScintilla::callTipsPosition</a></div><div class=\"ttdeci\">CallTipsPosition callTipsPosition() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:643</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html\"><div class=\"ttname\"><a href=\"classQsciScintilla.html\">QsciScintilla</a></div><div class=\"ttdoc\">The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:60</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_ac4b582db9efad2743e270ee63234804f\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#ac4b582db9efad2743e270ee63234804f\">QsciLexerJSON::setHighlightEscapeSequences</a></div><div class=\"ttdeci\">void setHighlightEscapeSequences(bool highlight)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad8fcb6e32235be34335e443230fb9000\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad8fcb6e32235be34335e443230fb9000\">QsciScintilla::contextMenuEvent</a></div><div class=\"ttdeci\">virtual void contextMenuEvent(QContextMenuEvent *e)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerOctave_html_aca3644f3fed3a83716d794cca822549a\"><div class=\"ttname\"><a href=\"classQsciLexerOctave.html#aca3644f3fed3a83716d794cca822549a\">QsciLexerOctave::QsciLexerOctave</a></div><div class=\"ttdeci\">QsciLexerOctave(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a933a97fb937d67dbe86a4abe229c755f\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a933a97fb937d67dbe86a4abe229c755f\">QsciMacro::QsciMacro</a></div><div class=\"ttdeci\">QsciMacro(const QString &amp;asc, QsciScintilla *parent)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_aa45fd60cb7c2db5c88b5708f481dd6e2\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#aa45fd60cb7c2db5c88b5708f481dd6e2\">QsciLexerPOV::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a1796c98b07ec6cfc3d5953c225cc1f37\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a1796c98b07ec6cfc3d5953c225cc1f37\">QsciLexerCoffeeScript::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a27728e4e361c5f4bf87690d34d83057d\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">QsciLexer::readSettings</a></div><div class=\"ttdeci\">bool readSettings(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\">QsciScintilla::AcsNone</a></div><div class=\"ttdeci\">@ AcsNone</div><div class=\"ttdoc\">No sources are used, ie. automatic auto-completion is disabled.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:118</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a0db8c3ad0764a96f3ccf0fec71de0d26\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">QsciScintillaBase::SCN_SAVEPOINTREACHED</a></div><div class=\"ttdeci\">void SCN_SAVEPOINTREACHED()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af1651b676dd24c8768a90b829400a6cf\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af1651b676dd24c8768a90b829400a6cf\">QsciScintilla::textHeight</a></div><div class=\"ttdeci\">int textHeight(int linenr) const</div><div class=\"ttdoc\">Returns the height in pixels of the text in line number linenr.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af780380f9f1f2a66c729759b1d37ba69\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af780380f9f1f2a66c729759b1d37ba69\">QsciScintilla::setCallTipsBackgroundColor</a></div><div class=\"ttdeci\">void setCallTipsBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a71cf91642f6879964a061133013a1f51\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a71cf91642f6879964a061133013a1f51\">QsciLexerPOV::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerOctave_html_ac0e8c0dfab0ae3c0b076c21d30fccc5f\"><div class=\"ttname\"><a href=\"classQsciLexerOctave.html#ac0e8c0dfab0ae3c0b076c21d30fccc5f\">QsciLexerOctave::~QsciLexerOctave</a></div><div class=\"ttdeci\">virtual ~QsciLexerOctave()</div><div class=\"ttdoc\">Destroys the QsciLexerOctave instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a7e5ab7f541d913760c32abedbdc72963\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer::defaultPaper</a></div><div class=\"ttdeci\">virtual QColor defaultPaper(int style) const</div><div class=\"ttdoc\">Returns the default paper colour for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a2ea74fb61f3d2d983d142a6ec8c3cc9d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">QsciScintillaBase::paintEvent</a></div><div class=\"ttdeci\">virtual void paintEvent(QPaintEvent *e)</div><div class=\"ttdoc\">Re-implemented to paint the viewport.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8e6ff4072224ba360403fe1ade1375ba\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8e6ff4072224ba360403fe1ade1375ba\">QsciScintilla::markerFindPrevious</a></div><div class=\"ttdeci\">int markerFindPrevious(int linenr, unsigned mask) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_abf1b01e4ea47d78610f33a337245980b\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#abf1b01e4ea47d78610f33a337245980b\">QsciLexerBatch::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7f9d93c22ed8b7b00996408da578cd2a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7f9d93c22ed8b7b00996408da578cd2a\">QsciScintilla::setCallTipsPosition</a></div><div class=\"ttdeci\">void setCallTipsPosition(CallTipsPosition position)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a0fc741a415b0419464afa66deb2b9e5d\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a0fc741a415b0419464afa66deb2b9e5d\">QsciLexerPostScript::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\">QsciScintilla::BoxedFoldStyle</a></div><div class=\"ttdeci\">@ BoxedFoldStyle</div><div class=\"ttdoc\">Boxed folding style using boxed plus and minus symbols.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:220</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a89e46329c110449b2e7334ccf623ceed\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a89e46329c110449b2e7334ccf623ceed\">QsciScintilla::read</a></div><div class=\"ttdeci\">bool read(QIODevice *io)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a02880268227d380ef25a72af2605ef0f\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a02880268227d380ef25a72af2605ef0f\">QsciLexerPOV::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab33ae790e43f4b856e44d202b9b3ce07\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">QsciScintilla::zoomTo</a></div><div class=\"ttdeci\">virtual void zoomTo(int size)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_adc253f08156cde45b331c5a7ed07cfd7\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">QsciLexerCPP::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:237</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a5eff383e6fa96cbbaba6a2558b076c0b\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">QsciScintillaBase::SCN_HOTSPOTCLICK</a></div><div class=\"ttdeci\">void SCN_HOTSPOTCLICK(int position, int modifiers)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a48c91d4dd29c84bff4ee20962372ca23\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a48c91d4dd29c84bff4ee20962372ca23\">QsciScintilla::resetUnmatchedBraceIndicator</a></div><div class=\"ttdeci\">void resetUnmatchedBraceIndicator()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">QsciScintillaBase::SC_MARGIN_FORE</a></div><div class=\"ttdeci\">@ SC_MARGIN_FORE</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2701</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a64f021f45d10f2cfca72fda0c1d28e1f\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a64f021f45d10f2cfca72fda0c1d28e1f\">QsciLexerPascal::setSmartHighlighting</a></div><div class=\"ttdeci\">void setSmartHighlighting(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_ab7715c2c90861e2601587b8a3a6732fd\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#ab7715c2c90861e2601587b8a3a6732fd\">QsciLexerCoffeeScript::~QsciLexerCoffeeScript</a></div><div class=\"ttdeci\">virtual ~QsciLexerCoffeeScript()</div><div class=\"ttdoc\">Destroys the QsciLexerCoffeeScript instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0b1f9dfc8a34bbee0c131eebeace9a06\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0b1f9dfc8a34bbee0c131eebeace9a06\">QsciScintilla::indentationWidth</a></div><div class=\"ttdeci\">int indentationWidth() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_a382aa49629299c9694d3b225bace0c16\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab::QsciLexerMatlab</a></div><div class=\"ttdeci\">QsciLexerMatlab(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4b6bdaf96ffaedeeaf7aa6d92b28913f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">QsciScintilla::setUnmatchedBraceIndicator</a></div><div class=\"ttdeci\">void setUnmatchedBraceIndicator(int indicatorNumber)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\">QsciScintilla::CallTipsNoAutoCompletionContext</a></div><div class=\"ttdeci\">@ CallTipsNoAutoCompletionContext</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:169</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_aa7bd1f345699cc97fac25cf29ae98a4e\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#aa7bd1f345699cc97fac25cf29ae98a4e\">QsciLexerJavaScript::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a67c4a9da730c69a2b9fda0a1a02348f1\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">QsciScintillaBase::dragLeaveEvent</a></div><div class=\"ttdeci\">virtual void dragLeaveEvent(QDragLeaveEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle drag leaves.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></div><div class=\"ttdoc\">The QsciLexerRuby class encapsulates the Scintilla Ruby lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerruby.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a79d8b2101ef7b1aef1e7e01557090d6f\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">QsciLexerCPP::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_ae33c3f0e337cfe173c61ea86c5cd3591\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#ae33c3f0e337cfe173c61ea86c5cd3591\">QsciLexerPerl::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4a1068502802e494fb58ae50f6b6aedf\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4a1068502802e494fb58ae50f6b6aedf\">QsciScintilla::zoomIn</a></div><div class=\"ttdeci\">virtual void zoomIn()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_ab7ecf66ac5e7285b72620df79bc9e711\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#ab7ecf66ac5e7285b72620df79bc9e711\">QsciLexerMakefile::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a2dc2ffcd977cf514e65e315a80afcb18\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a2dc2ffcd977cf514e65e315a80afcb18\">QsciLexerD::setFoldAtElse</a></div><div class=\"ttdeci\">virtual void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran_html_a6e896d1a75f43c0e021326a29a07be67\"><div class=\"ttname\"><a href=\"classQsciLexerFortran.html#a6e896d1a75f43c0e021326a29a07be67\">QsciLexerFortran::QsciLexerFortran</a></div><div class=\"ttdeci\">QsciLexerFortran(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8a8a5b9bcb9df18089b9fe2650e701db\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8a8a5b9bcb9df18089b9fe2650e701db\">QsciScintilla::lineAt</a></div><div class=\"ttdeci\">int lineAt(const QPoint &amp;point) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_acee212ef3dceca125cadb16ae9cc5fc3\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#acee212ef3dceca125cadb16ae9cc5fc3\">QsciLexerAVS::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_ad16788518def261f1ce55b35141642ad\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#ad16788518def261f1ce55b35141642ad\">QsciLexerPOV::foldDirectives</a></div><div class=\"ttdeci\">bool foldDirectives() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html\"><div class=\"ttname\"><a href=\"classQsciLexerD.html\">QsciLexerD</a></div><div class=\"ttdoc\">The QsciLexerD class encapsulates the Scintilla D lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerd.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_aace68e3dbcef9da1b031fb9cfd843c57\"><div class=\"ttname\"><a href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">QsciLexer::wordCharacters</a></div><div class=\"ttdeci\">virtual const char * wordCharacters() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aaf1f8163b8baf27ef65c1e5219bbf1e2\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">QsciLexerCPP::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a2f54e561f646da5ff20c5e85b2f377ea\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a2f54e561f646da5ff20c5e85b2f377ea\">QsciLexerLua::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a1719fba80d9e60cf9fce1bb75f304568\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">QsciScintillaBase::SCN_AUTOCCANCELLED</a></div><div class=\"ttdeci\">void SCN_AUTOCCANCELLED()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_addc357462c04f032e20149b55cb8aeaa\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">QsciLexerCustom::styleBitsNeeded</a></div><div class=\"ttdeci\">virtual int styleBitsNeeded() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a2c339fd90e92408440230ee9d84cabcf\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">QsciScintillaBase::focusInEvent</a></div><div class=\"ttdeci\">virtual void focusInEvent(QFocusEvent *e)</div><div class=\"ttdoc\">Re-implemented to tell Scintilla it has the focus.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a9a4ec081c6812ffb3ebc5082c08bf0db\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a9a4ec081c6812ffb3ebc5082c08bf0db\">QsciLexerPOV::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran_html_a56e0fd6b5d719677050a28ad0d5ae927\"><div class=\"ttname\"><a href=\"classQsciLexerFortran.html#a56e0fd6b5d719677050a28ad0d5ae927\">QsciLexerFortran::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7677d42ce77cb5a150dc961d12da92e1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7677d42ce77cb5a150dc961d12da92e1\">QsciScintilla::setMarginText</a></div><div class=\"ttdeci\">void setMarginText(int line, const QString &amp;text, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_aed4ceee51f10a94071a14371295b4c95\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#aed4ceee51f10a94071a14371295b4c95\">QsciLexerPO::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">QsciScintillaBase::SC_MARK_BOXPLUS</a></div><div class=\"ttdeci\">@ SC_MARK_BOXPLUS</div><div class=\"ttdoc\">A drawn plus sign in a box.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2602</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a8225643b25dc6f1dedc48b4a7af4b83d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">QsciScintillaBase::SCN_USERLISTSELECTION</a></div><div class=\"ttdeci\">void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyledText_html_a6a5f837ca80d54322b70aa4b8465afa1\"><div class=\"ttname\"><a href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">QsciStyledText::style</a></div><div class=\"ttdeci\">int style() const</div><div class=\"ttdoc\">Returns the number of the style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_abf77dec5e71fbcd67c5cf8772b59004a\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#abf77dec5e71fbcd67c5cf8772b59004a\">QsciLexerCSharp::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a07cb228e7f39e5a97271126df9ba9ef2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a07cb228e7f39e5a97271126df9ba9ef2\">QsciScintilla::marginOptions</a></div><div class=\"ttdeci\">int marginOptions() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_acbaa96d72ad071768acc25d7d56b6324\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#acbaa96d72ad071768acc25d7d56b6324\">QsciLexerRuby::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerruby.h:214</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_ac79b616c3ba0872856d90b119bfd81b8\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#ac79b616c3ba0872856d90b119bfd81b8\">QsciLexerVerilog::setFoldComments</a></div><div class=\"ttdeci\">void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a5887a36e4a8d6ff54f4c796b33bc2eef\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a5887a36e4a8d6ff54f4c796b33bc2eef\">QsciLexerPython::setStringsOverNewlineAllowed</a></div><div class=\"ttdeci\">void setStringsOverNewlineAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a978b6679ccd9d9edb6091502001a5f45\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a978b6679ccd9d9edb6091502001a5f45\">QsciScintilla::QsciScintilla</a></div><div class=\"ttdeci\">QsciScintilla(QWidget *parent=0)</div><div class=\"ttdoc\">Construct an empty QsciScintilla with parent parent.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_aacfd4923492644933902b278efea1787\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#aacfd4923492644933902b278efea1787\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &amp;rc, long cpMin, long cpMax) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a302b9b881fdc5dca82c5dea5fca5cd3e\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a302b9b881fdc5dca82c5dea5fca5cd3e\">QsciLexerSQL::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a7a08d9dcb4935d7e2c99696bdcfd8e7a\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">QsciLexerPOV::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></div><div class=\"ttdoc\">The QsciLexerMatlab class encapsulates the Scintilla Matlab file lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexermatlab.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a747feb07236c1beccadd446562b53b84\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QsciScintillaBase::QSCN_SELCHANGED</a></div><div class=\"ttdeci\">void QSCN_SELCHANGED(bool yes)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a7bfdaea964c9e2c51568f63f379b6108\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a7bfdaea964c9e2c51568f63f379b6108\">QsciLexerCSS::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aeadb693affb5816e24d28432d8dc240f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aeadb693affb5816e24d28432d8dc240f\">QsciScintilla::clearMarginText</a></div><div class=\"ttdeci\">void clearMarginText(int line=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a90fcdb3295720e3bdcf3d04dae4ae0c9\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a90fcdb3295720e3bdcf3d04dae4ae0c9\">QsciLexerYAML::~QsciLexerYAML</a></div><div class=\"ttdeci\">virtual ~QsciLexerYAML()</div><div class=\"ttdoc\">Destroys the QsciLexerYAML instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_abeaabcd8076d1f47e8a847006451ce36\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#abeaabcd8076d1f47e8a847006451ce36\">QsciScintilla::wordAtPoint</a></div><div class=\"ttdeci\">QString wordAtPoint(const QPoint &amp;point) const</div><div class=\"ttdoc\">Returns the word at the point pixel coordinates.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a8124ec8b5b96d95bb225cbb4e95f55cb\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a8124ec8b5b96d95bb225cbb4e95f55cb\">QsciLexerLua::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a97fd48c290c961342f09149d8996c053\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a97fd48c290c961342f09149d8996c053\">QsciScintilla::markerDefine</a></div><div class=\"ttdeci\">int markerDefine(char ch, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_afd80aca910d70abcf6bcb34bfad4afc0\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">QsciLexerMatlab::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_adb5bad7d1dad9ab3fe74adb3e0812969\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">QsciScintillaBase::SCN_MODIFYATTEMPTRO</a></div><div class=\"ttdeci\">void SCN_MODIFYATTEMPTRO()</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_aa480e57bbdd83b8164129f875bd48976\"><div class=\"ttname\"><a href=\"classQsciStyle.html#aa480e57bbdd83b8164129f875bd48976\">QsciStyle::refresh</a></div><div class=\"ttdeci\">void refresh()</div><div class=\"ttdoc\">Refresh the style settings.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a2097c0d473f379dbcd0faa9653bcc943\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a2097c0d473f379dbcd0faa9653bcc943\">QsciLexerTeX::setFoldComments</a></div><div class=\"ttdeci\">void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa869897ad955e8a42c5568be590c529b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa869897ad955e8a42c5568be590c529b\">QsciScintilla::braceMatching</a></div><div class=\"ttdeci\">BraceMatch braceMatching() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:632</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aaeb4a9e6d4e2822524c84da5318a7f1e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">QsciScintilla::autoCompletionUseSingle</a></div><div class=\"ttdeci\">AutoCompletionUseSingle autoCompletionUseSingle() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></div><div class=\"ttdoc\">The QsciLexerCMake class encapsulates the Scintilla CMake lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexercmake.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a986f1235405f51f9d5b2edda17423563\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a986f1235405f51f9d5b2edda17423563\">QsciScintilla::selectToMatchingBrace</a></div><div class=\"ttdeci\">virtual void selectToMatchingBrace()</div></div>\n<div class=\"ttc\" id=\"aclassQsciDocument_html_a3da32a3198c407aa692764ccd98ad66f\"><div class=\"ttname\"><a href=\"classQsciDocument.html#a3da32a3198c407aa692764ccd98ad66f\">QsciDocument::QsciDocument</a></div><div class=\"ttdeci\">QsciDocument()</div><div class=\"ttdoc\">Create a new unattached document.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_af9f73f93dd57019e3335011528ad6aed\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#af9f73f93dd57019e3335011528ad6aed\">QsciLexerD::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a1a7acaa356fdbefd26cfe0f30264c43a\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a1a7acaa356fdbefd26cfe0f30264c43a\">QsciLexerPython::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:188</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_a3a6b7f17d604db4e06e0d469b55b7602\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#a3a6b7f17d604db4e06e0d469b55b7602\">QsciLexerCustom::~QsciLexerCustom</a></div><div class=\"ttdeci\">virtual ~QsciLexerCustom()</div><div class=\"ttdoc\">Destroy the QSciLexerCustom.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae64151db464b22eedd012225f82c810d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae64151db464b22eedd012225f82c810d\">QsciScintilla::setCallTipsHighlightColor</a></div><div class=\"ttdeci\">void setCallTipsHighlightColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_ae15b25b5d6705a850f6c93ee1013bea7\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">QsciLexerCoffeeScript::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_ae7a6d23e6e8748210198b4fee3932144\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#ae7a6d23e6e8748210198b4fee3932144\">QsciLexerRuby::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a158b80fd7ee649cbb618b1df33491bab\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a158b80fd7ee649cbb618b1df33491bab\">QsciLexerPython::QsciLexerPython</a></div><div class=\"ttdeci\">QsciLexerPython(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a92cb96a2f9d373ed5a91546c42ec0905\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a92cb96a2f9d373ed5a91546c42ec0905\">QsciLexerPascal::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8386414f7c04968c1642ecdd47b281df\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8386414f7c04968c1642ecdd47b281df\">QsciScintilla::isRedoAvailable</a></div><div class=\"ttdeci\">bool isRedoAvailable() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a2a1cd44b041d1d4f4c11c22f91de99c3\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a2a1cd44b041d1d4f4c11c22f91de99c3\">QsciLexerCSS::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0a5656ec94ad1b31e3acc6ba86ebf8c4\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">QsciScintilla::cut</a></div><div class=\"ttdeci\">virtual void cut()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_ad94fbbd156020166afddb8a0a55eba6f\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#ad94fbbd156020166afddb8a0a55eba6f\">QsciLexerTeX::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_aad8c778b4c9ef2014e5a508f0ee52021\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#aad8c778b4c9ef2014e5a508f0ee52021\">QsciLexerCoffeeScript::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad6557ee0ca58413e8d3e76b942f25a7f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad6557ee0ca58413e8d3e76b942f25a7f\">QsciScintilla::foldLine</a></div><div class=\"ttdeci\">virtual void foldLine(int line)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_aaf885bb9d07591114c2a2cc5769bb02a\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">QsciLexerHTML::foldScriptComments</a></div><div class=\"ttdeci\">bool foldScriptComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:456</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a5017022e35efd5f1c9825d63e4336e73\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a5017022e35efd5f1c9825d63e4336e73\">QsciLexerBash::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_af42a26a050bfeb4249d35ab61567ea9e\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#af42a26a050bfeb4249d35ab61567ea9e\">QsciAPIs::loadPrepared</a></div><div class=\"ttdeci\">bool loadPrepared(const QString &amp;filename=QString())</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a8403f1e2f5ea0c5d67c32dd6053317c5\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a8403f1e2f5ea0c5d67c32dd6053317c5\">QsciLexerPO::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4bca4c8ca2d5a426aabac915f8d5f0f3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">QsciScintilla::tabWidth</a></div><div class=\"ttdeci\">int tabWidth() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_af1c70ba1dfa8ccf5fe2106069041cd5e\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#af1c70ba1dfa8ccf5fe2106069041cd5e\">QsciLexerDiff::QsciLexerDiff</a></div><div class=\"ttdeci\">QsciLexerDiff(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_af7508f1b816a2c9446d36141edc9b5ce\"><div class=\"ttname\"><a href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer::defaultColor</a></div><div class=\"ttdeci\">virtual QColor defaultColor(int style) const</div><div class=\"ttdoc\">Returns the default text colour for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_abf1a8dc25c7bd5d272c119d3c3e9e369\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#abf1a8dc25c7bd5d272c119d3c3e9e369\">QsciLexerVHDL::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0c7c970d275176f678a86e46f5e2d07d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0c7c970d275176f678a86e46f5e2d07d\">QsciScintilla::zoomOut</a></div><div class=\"ttdeci\">virtual void zoomOut(int range)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_abf85680f914ee631aa3a513ba823271f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">QsciScintilla::setMatchedBraceBackgroundColor</a></div><div class=\"ttdeci\">void setMatchedBraceBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_ae43cc6f38a157e4c70ba460e5004615e\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">QsciLexerMatlab::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\">QsciScintilla::CallTipsNoContext</a></div><div class=\"ttdeci\">@ CallTipsNoContext</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:163</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\">QsciScintilla::CircledTreeFoldStyle</a></div><div class=\"ttdeci\">@ CircledTreeFoldStyle</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:224</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_ab64e768ab8e7af6af93ce95db074c90a\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#ab64e768ab8e7af6af93ce95db074c90a\">QsciLexerSQL::setBackslashEscapes</a></div><div class=\"ttdeci\">virtual void setBackslashEscapes(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_adacd79ec5e25430f0cbff34e6584afe7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#adacd79ec5e25430f0cbff34e6584afe7\">QsciScintilla::annotate</a></div><div class=\"ttdeci\">void annotate(int line, const QString &amp;text, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7e36f3595e0d89910b9322dc5295152d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7e36f3595e0d89910b9322dc5295152d\">QsciScintilla::setSelectionToEol</a></div><div class=\"ttdeci\">void setSelectionToEol(bool filled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html_accd209bc74cec365745e3987c478a556\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">QsciLexerIDL::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a16a2faffdfcc5893a6fd08d270d69798\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a16a2faffdfcc5893a6fd08d270d69798\">QsciLexerJSON::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerjson.h:156</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a855940eae63985a7ff92ffd545d88bd4\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">QsciLexerFortran77::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ab9babc165bacf53b73abfb2d5d1aadad\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">QsciLexerCPP::~QsciLexerCPP</a></div><div class=\"ttdeci\">virtual ~QsciLexerCPP()</div><div class=\"ttdoc\">Destroys the QsciLexerCPP instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3ad17d87cb436e0f6da52a68cd14750e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3ad17d87cb436e0f6da52a68cd14750e\">QsciScintilla::clearAnnotations</a></div><div class=\"ttdeci\">void clearAnnotations(int line=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_ade07472f3cc8a4cccbb0bb6b964f0356\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#ade07472f3cc8a4cccbb0bb6b964f0356\">QsciLexerPython::setHighlightSubidentifiers</a></div><div class=\"ttdeci\">void setHighlightSubidentifiers(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a7b84f78b170cec259efb2f367c54ce4b\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a7b84f78b170cec259efb2f367c54ce4b\">QsciLexerVerilog::setFoldAtElse</a></div><div class=\"ttdeci\">void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyledText_html\"><div class=\"ttname\"><a href=\"classQsciStyledText.html\">QsciStyledText</a></div><div class=\"ttdoc\">The QsciStyledText class is a container for a piece of text and the style used to display the text.</div><div class=\"ttdef\"><b>Definition:</b> qscistyledtext.h:36</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran_html_a83d7d8209efca06d10870607c9db3c72\"><div class=\"ttname\"><a href=\"classQsciLexerFortran.html#a83d7d8209efca06d10870607c9db3c72\">QsciLexerFortran::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a32b16ee95c3dabbc7de61541dd110521\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">QsciLexer::setDefaultColor</a></div><div class=\"ttdeci\">void setDefaultColor(const QColor &amp;c)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a2263531e4445463f1d75fdfd54102404\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">QsciLexerCPP::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4bffe1a63e3484da908340274f7a7607\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4bffe1a63e3484da908340274f7a7607\">QsciScintilla::marginLineNumbers</a></div><div class=\"ttdeci\">bool marginLineNumbers(int margin) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_aab3e54ed46006daeb2dbdcea3f64192d\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#aab3e54ed46006daeb2dbdcea3f64192d\">QsciLexerBatch::caseSensitive</a></div><div class=\"ttdeci\">bool caseSensitive() const</div><div class=\"ttdoc\">Returns true if the language is case sensitive. The default is true.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a1a5b06231766e0f9a7364606a991c879\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a1a5b06231766e0f9a7364606a991c879\">QsciLexerPascal::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a1ec44d2dfe2f40d6267f3067f66c9a3d\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a1ec44d2dfe2f40d6267f3067f66c9a3d\">QsciLexerPO::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a619ee93cb512755e3f946fe61ee097de\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">QsciLexer::writeSettings</a></div><div class=\"ttdeci\">bool writeSettings(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a88492153c713084f4b5495ebe3bf1b40\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a88492153c713084f4b5495ebe3bf1b40\">QsciLexerPostScript::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">QsciScintillaBase::SC_MARK_FULLRECT</a></div><div class=\"ttdeci\">@ SC_MARK_FULLRECT</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2648</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">QsciScintillaBase::SC_MARK_LEFTRECT</a></div><div class=\"ttdeci\">@ SC_MARK_LEFTRECT</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2652</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_afebea3d6f2a2cffcb8be859c99c2cede\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#afebea3d6f2a2cffcb8be859c99c2cede\">QsciLexerPO::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a689eed3f6219e20924bcffdb95f27526\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a689eed3f6219e20924bcffdb95f27526\">QsciScintilla::firstVisibleLine</a></div><div class=\"ttdeci\">int firstVisibleLine() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a2cfcfea76c396c0b7b82fc41437ff16f\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">QsciLexerCPP::blockStartKeyword</a></div><div class=\"ttdeci\">const char * blockStartKeyword(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_aabf79a666eb40a912dfb7136d79f80e6\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#aabf79a666eb40a912dfb7136d79f80e6\">QsciLexerRuby::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_ab0f824492bb0f3ca54edb4d46945a3de\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#ab0f824492bb0f3ca54edb4d46945a3de\">QsciAPIs::updateAutoCompletionList</a></div><div class=\"ttdeci\">virtual void updateAutoCompletionList(const QStringList &amp;context, QStringList &amp;list)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a2ea8bd8758e10d72832dbf3642b06fb2\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">QsciLexerCPP::setHighlightTripleQuotedStrings</a></div><div class=\"ttdeci\">void setHighlightTripleQuotedStrings(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_af8d88cce706a1d7a95e1a519e0dc56c3\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#af8d88cce706a1d7a95e1a519e0dc56c3\">QsciLexerJSON::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a44d1c322098eb0cf44cf78e866ed80cb\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a44d1c322098eb0cf44cf78e866ed80cb\">QsciScintilla::fillIndicatorRange</a></div><div class=\"ttdeci\">void fillIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></div><div class=\"ttdoc\">The QsciLexerTCL class encapsulates the Scintilla TCL lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexertcl.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_ac0b0eb74510dd3af8eed933d3e37e2ab\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#ac0b0eb74510dd3af8eed933d3e37e2ab\">QsciLexerBash::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a13721a9f909b67bca298f51ea34a01db\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a13721a9f909b67bca298f51ea34a01db\">QsciScintilla::clearIndicatorRange</a></div><div class=\"ttdeci\">void clearIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a33a692fb0d5781ec40080a361859fd66\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a33a692fb0d5781ec40080a361859fd66\">QsciScintilla::callTip</a></div><div class=\"ttdeci\">virtual void callTip()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a6ba40887a94b7f9fe807545eed4f7c83\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">QsciLexerFortran77::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a5e2cdbcaa57b02f18d65aea89d2faa54\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a5e2cdbcaa57b02f18d65aea89d2faa54\">QsciLexerPerl::setFoldPackages</a></div><div class=\"ttdeci\">void setFoldPackages(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad309f6cb931b47d67e67a59b3a66ea84\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad309f6cb931b47d67e67a59b3a66ea84\">QsciScintilla::lineIndexFromPosition</a></div><div class=\"ttdeci\">void lineIndexFromPosition(int position, int *line, int *index) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae53911447eddf1f0f93811f17ca4ecf8\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae53911447eddf1f0f93811f17ca4ecf8\">QsciScintilla::setBraceMatching</a></div><div class=\"ttdeci\">virtual void setBraceMatching(BraceMatch bm)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a45679bbf510fa7e0b264eb9654183f16\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a45679bbf510fa7e0b264eb9654183f16\">QsciLexerPascal::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_ab7c13e959940db389fe0daeb96267d8e\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#ab7c13e959940db389fe0daeb96267d8e\">QsciLexerVerilog::setFoldPreprocessor</a></div><div class=\"ttdeci\">void setFoldPreprocessor(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a0045744463119646a5fe33ecc4d104fb\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a0045744463119646a5fe33ecc4d104fb\">QsciScintillaBase::SCN_USERLISTSELECTION</a></div><div class=\"ttdeci\">void SCN_USERLISTSELECTION(const char *selection, int id)</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a4d20a72f3087068af5840042d9beeca7\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a4d20a72f3087068af5840042d9beeca7\">QsciLexerLua::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a015d6501ee4cca33a00036174529c161\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">QsciLexerCPP::highlightBackQuotedStrings</a></div><div class=\"ttdeci\">bool highlightBackQuotedStrings() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:297</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_ac378e6bd25b850c9523d0b9c291cfc62\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#ac378e6bd25b850c9523d0b9c291cfc62\">QsciLexerBatch::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\">QsciScintilla::CallTipsAboveText</a></div><div class=\"ttdeci\">@ CallTipsAboveText</div><div class=\"ttdoc\">Call tips are placed above the text.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:152</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a366393c6bf0fd7ef5ce87b7682e6c6ae\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">QsciScintilla::resetHotspotBackgroundColor</a></div><div class=\"ttdeci\">void resetHotspotBackgroundColor()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">QsciScintillaBase::SC_MARK_LCORNERCURVE</a></div><div class=\"ttdeci\">@ SC_MARK_LCORNERCURVE</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2615</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a6d4b2db2d518117945edcbbbc4e3d26d\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a6d4b2db2d518117945edcbbbc4e3d26d\">QsciLexerTCL::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a10adbea430478c16813df76dd2ecd10f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">QsciScintilla::margins</a></div><div class=\"ttdeci\">int margins() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_ae3deccb74fbb24c32621e70d0e94355a\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#ae3deccb74fbb24c32621e70d0e94355a\">QsciLexerDiff::~QsciLexerDiff</a></div><div class=\"ttdeci\">virtual ~QsciLexerDiff()</div><div class=\"ttdoc\">Destroys the QsciLexerDiff instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a013b7c1bf9846e231b97827dfd9540b0\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer::keywords</a></div><div class=\"ttdeci\">virtual const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a7ebaedee6979d4cb17399361b37e33e0\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">QsciLexer::setDefaultPaper</a></div><div class=\"ttdeci\">void setDefaultPaper(const QColor &amp;c)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_ae1f192b93ad970cb792b5dcac4aa22d8\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#ae1f192b93ad970cb792b5dcac4aa22d8\">QsciLexerVerilog::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerverilog.h:202</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\">QsciScintilla::AcsDocument</a></div><div class=\"ttdeci\">@ AcsDocument</div><div class=\"ttdoc\">The source is the current document.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:124</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a1d84e61ba19c5177386ba30ba512345f\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a1d84e61ba19c5177386ba30ba512345f\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, unsigned long wParam, const QColor &amp;col) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_adf01efe3951a727dab9c7a1c35d29e0f\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#adf01efe3951a727dab9c7a1c35d29e0f\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, unsigned long wParam, void *lParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_af935c2c5d8eeb3aeb25ba9b48539f879\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#af935c2c5d8eeb3aeb25ba9b48539f879\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, const QColor &amp;col) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ad12b328c98474857186af058726bd38d\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">QsciLexerHTML::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a680cba1b994603e73da00610e81debfe\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a680cba1b994603e73da00610e81debfe\">QsciLexerSQL::setFoldOnlyBegin</a></div><div class=\"ttdeci\">void setFoldOnlyBegin(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_a795af727d45974e6581ed01bf812b63e\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#a795af727d45974e6581ed01bf812b63e\">QsciLexerDiff::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ab5f782645ff1d3a2d7ac371cbd9f2f5d\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">QsciLexerCPP::highlightHashQuotedStrings</a></div><div class=\"ttdeci\">bool highlightHashQuotedStrings() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:286</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a6a8c59ca8409029fc6b27b9ad3c70886\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">QsciLexerCPP::setFoldPreprocessor</a></div><div class=\"ttdeci\">virtual void setFoldPreprocessor(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_ad67d67c266263dd2dbfe940b4ad98584\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#ad67d67c266263dd2dbfe940b4ad98584\">QsciPrinter::wrapMode</a></div><div class=\"ttdeci\">QsciScintilla::WrapMode wrapMode() const</div><div class=\"ttdef\"><b>Definition:</b> qsciprinter.h:95</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a0e4235e0bd33f64431a9c6e8c35038d4\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">QsciLexer::setColor</a></div><div class=\"ttdeci\">virtual void setColor(const QColor &amp;c, int style=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_abb698a7598847dea3cec0686c88ba43a\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#abb698a7598847dea3cec0686c88ba43a\">QsciLexerPO::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a2a85bb9cb78ce6a57cf053dc83333759\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">QsciScintilla::tabIndents</a></div><div class=\"ttdeci\">bool tabIndents() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html_af9c6c3f8dc068371398a50c6b23dcbf4\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html#af9c6c3f8dc068371398a50c6b23dcbf4\">QsciAbstractAPIs::callTips</a></div><div class=\"ttdeci\">virtual QStringList callTips(const QStringList &amp;context, int commas, QsciScintilla::CallTipsStyle style, QList&lt; int &gt; &amp;shifts)=0</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_abf895c5e4157e4b6effd28683c728b63\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#abf895c5e4157e4b6effd28683c728b63\">QsciScintilla::scrollWidthTracking</a></div><div class=\"ttdeci\">bool scrollWidthTracking() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran_html_a43b721afc8c7b33c5c0699ff9da7d1c7\"><div class=\"ttname\"><a href=\"classQsciLexerFortran.html#a43b721afc8c7b33c5c0699ff9da7d1c7\">QsciLexerFortran::~QsciLexerFortran</a></div><div class=\"ttdeci\">virtual ~QsciLexerFortran()</div><div class=\"ttdoc\">Destroys the QsciLexerFortran instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9122d4ac5b0b3eca120cf18ae7275bb1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">QsciScintilla::backspaceUnindents</a></div><div class=\"ttdeci\">bool backspaceUnindents() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a2d183c40c276dadd3bbb994b0c0f26ce\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a2d183c40c276dadd3bbb994b0c0f26ce\">QsciLexerPascal::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_af912a1a568b342c99f70fab70d89b178\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#af912a1a568b342c99f70fab70d89b178\">QsciLexerMarkdown::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_abf12117a142b6f68479ea425d80a4196\"><div class=\"ttname\"><a href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer::blockStartKeyword</a></div><div class=\"ttdeci\">virtual const char * blockStartKeyword(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_aa28fa3e32d5d4a4efccdad6655fb28c8\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#aa28fa3e32d5d4a4efccdad6655fb28c8\">QsciLexerPascal::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a66c01f0c9470164d4575c2b64f0e4220\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">QsciLexer::eolFillChanged</a></div><div class=\"ttdeci\">void eolFillChanged(bool eolfilled, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\">QsciLexerRuby::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_ae88783c3de2f0c4a0129e5bec77cc5ca\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#ae88783c3de2f0c4a0129e5bec77cc5ca\">QsciLexerPascal::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a06228b73f8df699a211be872f54d8501\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">QsciLexer::defaultEolFill</a></div><div class=\"ttdeci\">virtual bool defaultEolFill(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_aab2b37b2f67991e9c083d9412cba2264\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#aab2b37b2f67991e9c083d9412cba2264\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, uintptr_t wParam, const char *lParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a42a1cdec7111af0685a9d89419a821bd\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a42a1cdec7111af0685a9d89419a821bd\">QsciLexerAVS::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommandSet_html_a7a15e4a269b804a830c881edda1563f7\"><div class=\"ttname\"><a href=\"classQsciCommandSet.html#a7a15e4a269b804a830c881edda1563f7\">QsciCommandSet::clearKeys</a></div><div class=\"ttdeci\">void clearKeys()</div><div class=\"ttdoc\">The primary keys bindings for all commands are removed.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a72c0bc1c83fd675714626cd786ca4fb9\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">QsciScintillaBase::SCN_STYLENEEDED</a></div><div class=\"ttdeci\">void SCN_STYLENEEDED(int position)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3793111b6e2a86351c798c68deda7d0c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">QsciScintilla::AnnotationDisplay</a></div><div class=\"ttdeci\">AnnotationDisplay</div><div class=\"ttdoc\">This enum defines the different annotation display styles.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:83</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3045ab135148ca52330ad233703a57f1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3045ab135148ca52330ad233703a57f1\">QsciScintilla::annotationDisplay</a></div><div class=\"ttdeci\">AnnotationDisplay annotationDisplay() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a98400585500ee1c17618992a8e300683\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a98400585500ee1c17618992a8e300683\">QsciLexerProperties::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a9912a293e50e75adc23a532b352a57ea\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a9912a293e50e75adc23a532b352a57ea\">QsciLexerTeX::~QsciLexerTeX</a></div><div class=\"ttdeci\">virtual ~QsciLexerTeX()</div><div class=\"ttdoc\">Destroys the QsciLexerTeX instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_ac814c0fdc49d3c27a027a8e075aa7626\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#ac814c0fdc49d3c27a027a8e075aa7626\">QsciLexerAVS::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_aac009a767572be4b4489a0613611cbdb\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#aac009a767572be4b4489a0613611cbdb\">QsciLexerCoffeeScript::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a1b1d726f87795c97839acca28d06dc6e\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a1b1d726f87795c97839acca28d06dc6e\">QsciLexerTCL::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_af00ea2dd20e93c5d06d9ce99cbc2cf00\"><div class=\"ttname\"><a href=\"classQsciStyle.html#af00ea2dd20e93c5d06d9ce99cbc2cf00\">QsciStyle::setStyle</a></div><div class=\"ttdeci\">void setStyle(int style)</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:82</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_ae9881257bbcc887cdbe21e74bbb8ea65\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#ae9881257bbcc887cdbe21e74bbb8ea65\">QsciLexerPerl::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a57958c564d4d3127e7ee6148d232bd4b\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a57958c564d4d3127e7ee6148d232bd4b\">QsciLexerPerl::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_a6a4b4099b20109442416e2bd8309b494\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#a6a4b4099b20109442416e2bd8309b494\">QsciLexerDiff::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa428fb0b96d28bba4a1d0515ea27643d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">QsciScintilla::marginType</a></div><div class=\"ttdeci\">MarginType marginType(int margin) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a06315a18051184926fe21459fc75b4cc\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">QsciLexerCPP::setDollarsAllowed</a></div><div class=\"ttdeci\">void setDollarsAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a16fb82e08452dc260bdda610817c79ea\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a16fb82e08452dc260bdda610817c79ea\">QsciLexerPerl::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_abd8d636e4717ed65e4ea77eca3c28df1\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#abd8d636e4717ed65e4ea77eca3c28df1\">QsciLexerSQL::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_aeba753c0e1fca8bf66834667e301458e\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">QsciLexerHTML::setFoldPreprocessor</a></div><div class=\"ttdeci\">virtual void setFoldPreprocessor(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_ab30fa749a26490888fe18f2fcea47b02\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#ab30fa749a26490888fe18f2fcea47b02\">QsciLexerPython::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a509df9a20a1841de287849d6738ec3dd\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">QsciLexerCPP::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_ad331ec23d27ba397d2095ba92cefaecd\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#ad331ec23d27ba397d2095ba92cefaecd\">QsciLexerTCL::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a7ea79082a0d55e78cd3a60f1f05af6d9\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a7ea79082a0d55e78cd3a60f1f05af6d9\">QsciLexerD::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a928315606c0bd973c59e0b6d9641c3cd\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a928315606c0bd973c59e0b6d9641c3cd\">QsciLexerLua::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a87e61d47e344dbbb84c4608fdc8536d0\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">QsciScintilla::setExtraAscent</a></div><div class=\"ttdeci\">void setExtraAscent(int extra)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a5ffd80ff37350acb6fe03f798f34a912\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a5ffd80ff37350acb6fe03f798f34a912\">QsciLexerPerl::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html\">QsciLexerPO</a></div><div class=\"ttdoc\">The QsciLexerPO class encapsulates the Scintilla PO lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpo.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html\"><div class=\"ttname\"><a href=\"classQsciCommand.html\">QsciCommand</a></div><div class=\"ttdoc\">The QsciCommand class represents an internal editor command that may have one or two keys bound to it...</div><div class=\"ttdef\"><b>Definition:</b> qscicommand.h:40</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_ae9fc5faac317ee19add21f8105ff21c5\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#ae9fc5faac317ee19add21f8105ff21c5\">QsciLexerPOV::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">QsciScintillaBase::SC_MARK_DOTDOTDOT</a></div><div class=\"ttdeci\">@ SC_MARK_DOTDOTDOT</div><div class=\"ttdoc\">Three drawn dots.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2638</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a24d4902dc121381ae5a18a4b8e802479\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a24d4902dc121381ae5a18a4b8e802479\">QsciLexerXML::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a3b06123388fb6a56432819a4dfb30f2c\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a3b06123388fb6a56432819a4dfb30f2c\">QsciLexerCSharp::~QsciLexerCSharp</a></div><div class=\"ttdeci\">virtual ~QsciLexerCSharp()</div><div class=\"ttdoc\">Destroys the QsciLexerCSharp instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a80c198967862ff5392982a49b8004f48\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a80c198967862ff5392982a49b8004f48\">QsciLexerPostScript::setLevel</a></div><div class=\"ttdeci\">virtual void setLevel(int level)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_af57050a2bcb9d1d285199159da0ba6e0\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#af57050a2bcb9d1d285199159da0ba6e0\">QsciLexerVerilog::setFoldAtModule</a></div><div class=\"ttdeci\">void setFoldAtModule(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a1efa4394b588d27fd2a3bd40163a2342\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">QsciScintillaBase::replaceHorizontalScrollBar</a></div><div class=\"ttdeci\">void replaceHorizontalScrollBar(QScrollBar *scrollBar)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_aa8d47420bede5e7fde576ee8dc2728c5\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#aa8d47420bede5e7fde576ee8dc2728c5\">QsciLexerBash::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a1d35bee9f234dbde7066a68b924edeed\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a1d35bee9f234dbde7066a68b924edeed\">QsciScintilla::registerImage</a></div><div class=\"ttdeci\">void registerImage(int id, const QImage &amp;im)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_af3d4ae3f76854d01444b2fd4637c9b8e\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#af3d4ae3f76854d01444b2fd4637c9b8e\">QsciLexerPO::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html\"><div class=\"ttname\"><a href=\"classQsciAPIs.html\">QsciAPIs</a></div><div class=\"ttdoc\">The QsciAPIs class provies an implementation of the textual API information used in call tips and for...</div><div class=\"ttdef\"><b>Definition:</b> qsciapis.h:66</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a39f62b8e6cee02e86d7af508d20a191d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">QsciScintillaBase::keyPressEvent</a></div><div class=\"ttdeci\">virtual void keyPressEvent(QKeyEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle key presses.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_aabab23e5653c35dae8a6f144d73c4657\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">QsciScintillaBase::SCN_AUTOCCHARDELETED</a></div><div class=\"ttdeci\">void SCN_AUTOCCHARDELETED()</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_ab09932c9dafb915b8138d4ec1cbc79cb\"><div class=\"ttname\"><a href=\"classQsciStyle.html#ab09932c9dafb915b8138d4ec1cbc79cb\">QsciStyle::setFont</a></div><div class=\"ttdeci\">void setFont(const QFont &amp;font)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_abc3666027fe7f0b8ae78ee34e3276069\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#abc3666027fe7f0b8ae78ee34e3276069\">QsciLexerVerilog::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad88db21d86df33667c234d00af1fdf94\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">QsciScintillaBase::SCN_UPDATEUI</a></div><div class=\"ttdeci\">void SCN_UPDATEUI(int updated)</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html_a7ef866227b05482cb32c70b44e8bdec1\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">QsciAbstractAPIs::~QsciAbstractAPIs</a></div><div class=\"ttdeci\">virtual ~QsciAbstractAPIs()</div><div class=\"ttdoc\">Destroy the QsciAbstractAPIs instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a696abf6da5415e772e5ade8752eac3b2\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a696abf6da5415e772e5ade8752eac3b2\">QsciLexerPerl::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerperl.h:237</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ac7c40b97187e23ab85f6d95113f91b39\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer::lexer</a></div><div class=\"ttdeci\">virtual const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a6537d97973481d6e7c911f8031385deb\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a6537d97973481d6e7c911f8031385deb\">QsciLexerMakefile::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a46e8e5909bfc92669cf155317ecb6fe9\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a46e8e5909bfc92669cf155317ecb6fe9\">QsciLexerVHDL::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a206ea971cb4152f8ca00087544574d15\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">QsciLexerFortran77::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">QsciScintillaBase::SC_MARK_TCORNERCURVE</a></div><div class=\"ttdeci\">@ SC_MARK_TCORNERCURVE</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2619</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_afa0b9ecea2700420820e4e9b705cb784\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#afa0b9ecea2700420820e4e9b705cb784\">QsciLexerRuby::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a419ab8aed49ea1711ce4ffcf19146df1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a419ab8aed49ea1711ce4ffcf19146df1\">QsciScintilla::setMarginsBackgroundColor</a></div><div class=\"ttdeci\">virtual void setMarginsBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_adfd788dce5c1a91d1fcd5e6fdd2fca59\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">QsciScintillaBase::SCN_DWELLSTART</a></div><div class=\"ttdeci\">void SCN_DWELLSTART(int position, int x, int y)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a911dee848cf18712f663b2cfdc5084f1\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a911dee848cf18712f663b2cfdc5084f1\">QsciLexerPO::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0f2353468d2c37abe9c933d4ac0478ad\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">QsciScintilla::setEolMode</a></div><div class=\"ttdeci\">virtual void setEolMode(EolMode mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7d5c7190fb8b022e05e20ca011a0c65e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7d5c7190fb8b022e05e20ca011a0c65e\">QsciScintilla::text</a></div><div class=\"ttdeci\">QString text(int line) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a74867915ad9d609b9b516eff87101cc9\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">QsciLexerCoffeeScript::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a4864bf9360ed4748b9ca7a1d5e34e7d8\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a4864bf9360ed4748b9ca7a1d5e34e7d8\">QsciLexerPOV::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_af0ccf94585e15b87a18f12ab9de1c977\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">QsciLexerCPP::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a36f390db2c97da9c271b0d1ba2794278\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">QsciLexerXML::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_aaf9762aeea19ed1c8d6766a9e6a52cd3\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#aaf9762aeea19ed1c8d6766a9e6a52cd3\">QsciLexerCSS::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5f10e95e76c2b38b9d20f6f728243e65\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">QsciScintilla::autoCompleteFromAll</a></div><div class=\"ttdeci\">virtual void autoCompleteFromAll()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a0741fad0b942deb73642be16c3159eb1\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a0741fad0b942deb73642be16c3159eb1\">QsciLexerCoffeeScript::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a18b2b3426de5ec4822f4584ca60ed2b9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">QsciScintilla::modificationChanged</a></div><div class=\"ttdeci\">void modificationChanged(bool m)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html_a94f9b521b521a540f848d55f2f4e8d45\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html#a94f9b521b521a540f848d55f2f4e8d45\">QsciLexerEDIFACT::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_adfb83ee7ea262a33f775d1e53cf38bec\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#adfb83ee7ea262a33f775d1e53cf38bec\">QsciLexerPOV::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad1b6838e763eb9d7c0b3562b6c2a96ae\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad1b6838e763eb9d7c0b3562b6c2a96ae\">QsciScintilla::setMarginText</a></div><div class=\"ttdeci\">void setMarginText(int line, const QString &amp;text, const QsciStyle &amp;style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_a91d71c4bdff5140ae0b0cb34b4511f79\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">QsciLexerCustom::styleText</a></div><div class=\"ttdeci\">virtual void styleText(int start, int end)=0</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">QsciScintillaBase::SC_MARK_PLUS</a></div><div class=\"ttdeci\">@ SC_MARK_PLUS</div><div class=\"ttdoc\">A drawn plus sign.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2589</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_af5a3f47c4f0be631303cabd42d904c3e\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#af5a3f47c4f0be631303cabd42d904c3e\">QsciLexerAVS::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a9576dd2ce748647abe981724ee76c1ce\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">QsciLexer::lexerId</a></div><div class=\"ttdeci\">virtual int lexerId() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a59f517180e03fd1790c4a6de73196a70\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a59f517180e03fd1790c4a6de73196a70\">QsciLexerTCL::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a5fc9da8d92341819072536ce840902fc\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a5fc9da8d92341819072536ce840902fc\">QsciLexerYAML::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a043411367c3fa915c8f4797cc51d0c8c\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a043411367c3fa915c8f4797cc51d0c8c\">QsciLexerVHDL::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a830b832b87182332b9dbaa0a69c6a145\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a830b832b87182332b9dbaa0a69c6a145\">QsciLexerSQL::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a287cf2adecde291abab55095227864a9\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a287cf2adecde291abab55095227864a9\">QsciLexerJSON::QsciLexerJSON</a></div><div class=\"ttdeci\">QsciLexerJSON(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_adfb332858ee86dc00f58f309f394d9d8\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#adfb332858ee86dc00f58f309f394d9d8\">QsciLexerYAML::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ac6f508a57750605ec3b9688408b092b2\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">QsciLexerCPP::stylePreprocessor</a></div><div class=\"ttdeci\">bool stylePreprocessor() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:253</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_aff0007dfcbcced2ee7c89ebb12376f22\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#aff0007dfcbcced2ee7c89ebb12376f22\">QsciLexerBatch::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aedab060e87e0533083ea8f1398302090\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">QsciScintilla::MarginType</a></div><div class=\"ttdeci\">MarginType</div><div class=\"ttdoc\">This enum defines the different margin types.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:326</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_ae0bb41012d9d98366b435f9a534ce7a1\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">QsciLexerXML::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a13a64159770a6eb451567bc2d293c2a2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a13a64159770a6eb451567bc2d293c2a2\">QsciScintilla::setCallTipsForegroundColor</a></div><div class=\"ttdeci\">void setCallTipsForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a89f9fc2c333d559ed9489cc6b121b91e\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a89f9fc2c333d559ed9489cc6b121b91e\">QsciLexerXML::~QsciLexerXML</a></div><div class=\"ttdeci\">virtual ~QsciLexerXML()</div><div class=\"ttdoc\">Destroys the QsciLexerXML instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a5e15c53d398d9d7e9ef7e0df41bc3f62\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a5e15c53d398d9d7e9ef7e0df41bc3f62\">QsciLexerProperties::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_ad77fd8b1e9ed6bac617f194306de2ea8\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#ad77fd8b1e9ed6bac617f194306de2ea8\">QsciLexerLua::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a0f69249f4e97b96f09ea70f546df7464\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">QsciScintillaBase::pool</a></div><div class=\"ttdeci\">static QsciScintillaBase * pool()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a527b309bfaf28b870c15d87a5af7c005\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a527b309bfaf28b870c15d87a5af7c005\">QsciScintilla::autoCompletionReplaceWord</a></div><div class=\"ttdeci\">bool autoCompletionReplaceWord() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aec296526c86ae02deb561b4b4836a886\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">QsciScintilla::setEdgeColor</a></div><div class=\"ttdeci\">void setEdgeColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a2260bd1206a91b7f9487e9ffe366732f\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a2260bd1206a91b7f9487e9ffe366732f\">QsciLexerVHDL::QsciLexerVHDL</a></div><div class=\"ttdeci\">QsciLexerVHDL(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a0e2e832caa9adddace3085ebfa582948\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a0e2e832caa9adddace3085ebfa582948\">QsciLexerCMake::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_affe136114d62180e9a14caa81f2b7fd5\"><div class=\"ttname\"><a href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">QsciLexer::braceStyle</a></div><div class=\"ttdeci\">virtual int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_aff624320c72fa3b433d82d6a558238e8\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#aff624320c72fa3b433d82d6a558238e8\">QsciLexerPython::indentationWarning</a></div><div class=\"ttdeci\">QsciLexerPython::IndentationWarning indentationWarning() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:210</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_a1b26669dd868d97d8a04837aada5549f\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#a1b26669dd868d97d8a04837aada5549f\">QsciLexerMatlab::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a340eafe726fd6964c0adba956fe3428c\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer::blockStart</a></div><div class=\"ttdeci\">virtual const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a></div><div class=\"ttdoc\">The QsciAbstractAPIs class represents the interface to the textual API information used in call tips ...</div><div class=\"ttdef\"><b>Definition:</b> qsciabstractapis.h:42</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html_a77024f83fb756608060b105d3f21ae34\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html#a77024f83fb756608060b105d3f21ae34\">QsciLexerEDIFACT::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a5ea4eb1e65b2cee23a09f143074790b4\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a5ea4eb1e65b2cee23a09f143074790b4\">QsciLexerPerl::foldPackages</a></div><div class=\"ttdeci\">bool foldPackages() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_abb3418e72ca4479b276276d652048461\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#abb3418e72ca4479b276276d652048461\">QsciScintilla::~QsciScintilla</a></div><div class=\"ttdeci\">virtual ~QsciScintilla()</div><div class=\"ttdoc\">Destroys the QsciScintilla instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a0ed58ff3726deb2215eaff2c1892bc9b\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a0ed58ff3726deb2215eaff2c1892bc9b\">QsciLexerVHDL::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aefa257027a014475cb468b6d77bcf1f7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">QsciScintilla::setAutoCompletionUseSingle</a></div><div class=\"ttdeci\">virtual void setAutoCompletionUseSingle(AutoCompletionUseSingle single)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a778c09295bdb4924aacf40d3134c50ba\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a778c09295bdb4924aacf40d3134c50ba\">QsciScintilla::whitespaceVisibility</a></div><div class=\"ttdeci\">WhitespaceVisibility whitespaceVisibility() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7bc5fb5d0daf8261544fb6fe738a0c91\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">QsciScintilla::setLexer</a></div><div class=\"ttdeci\">virtual void setLexer(QsciLexer *lexer=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a21f1bb849edbfbc0cf58bc55cc75e8a3\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a21f1bb849edbfbc0cf58bc55cc75e8a3\">QsciLexerBash::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a8be47404070281d5c305be5331616b15\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a8be47404070281d5c305be5331616b15\">QsciLexerMakefile::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_accc3cd3ccf7d62840ded955400695b9d\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#accc3cd3ccf7d62840ded955400695b9d\">QsciLexerPython::setV2UnicodeAllowed</a></div><div class=\"ttdeci\">void setV2UnicodeAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a2c29f0bbe4d09c159040b5676c8143d2\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a2c29f0bbe4d09c159040b5676c8143d2\">QsciLexerCSS::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">QsciScintillaBase::SC_MARK_MINUS</a></div><div class=\"ttdeci\">@ SC_MARK_MINUS</div><div class=\"ttdoc\">A drawn minus sign.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2586</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_ad300e5513ee85748aa3dfab2d9617ad5\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#ad300e5513ee85748aa3dfab2d9617ad5\">QsciLexerJSON::highlightEscapeSequences</a></div><div class=\"ttdeci\">bool highlightEscapeSequences() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerjson.h:145</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ae6e6be4b076718026d027629b28faba6\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">QsciLexerHTML::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab8bfeae44abd61659d207a86660b100c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab8bfeae44abd61659d207a86660b100c\">QsciScintilla::apiContext</a></div><div class=\"ttdeci\">virtual QStringList apiContext(int pos, int &amp;context_start, int &amp;last_word_start)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a18d150beb0cd818ebcbcee886217de6a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a18d150beb0cd818ebcbcee886217de6a\">QsciScintilla::setIndentationGuidesBackgroundColor</a></div><div class=\"ttdeci\">virtual void setIndentationGuidesBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3035ddd4e1360c2d9a6c86b362a0d905\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">QsciScintilla::setUnmatchedBraceBackgroundColor</a></div><div class=\"ttdeci\">void setUnmatchedBraceBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad55ff1f454f9cb5c14f63c5c6870c895\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad55ff1f454f9cb5c14f63c5c6870c895\">QsciScintilla::indicatorClicked</a></div><div class=\"ttdeci\">void indicatorClicked(int line, int index, Qt::KeyboardModifiers state)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a6d0427b93e05876c9a2b541eae08ddab\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">QsciScintillaBase::resizeEvent</a></div><div class=\"ttdeci\">virtual void resizeEvent(QResizeEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle resizes.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac629ee3f5ca0741d4590f6aef59611c8\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">QsciScintilla::eolMode</a></div><div class=\"ttdeci\">EolMode eolMode() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a9dc74576c602f1df961aa8efee652a3d\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a9dc74576c602f1df961aa8efee652a3d\">QsciAPIs::isPrepared</a></div><div class=\"ttdeci\">bool isPrepared(const QString &amp;filename=QString()) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a8eb17be2a61d63249564be87b7d777d8\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a8eb17be2a61d63249564be87b7d777d8\">QsciLexerPO::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aa023c95fbbecbbbf7046c92d6fcfdce5\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">QsciLexerCPP::setHighlightBackQuotedStrings</a></div><div class=\"ttdeci\">void setHighlightBackQuotedStrings(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html\">QsciLexerBash</a></div><div class=\"ttdoc\">The QsciLexerBash class encapsulates the Scintilla Bash lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerbash.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\">QsciScintilla::CircledFoldStyle</a></div><div class=\"ttdeci\">@ CircledFoldStyle</div><div class=\"ttdoc\">Circled folding style using circled plus and minus symbols.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:217</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a263f0c4753c9a0c950adf1377737444e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a263f0c4753c9a0c950adf1377737444e\">QsciScintilla::setMarginsForegroundColor</a></div><div class=\"ttdeci\">virtual void setMarginsForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a06458817a42498ee65e890c36f63453e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">QsciScintilla::setExtraDescent</a></div><div class=\"ttdeci\">void setExtraDescent(int extra)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a76890c95abff2bb6f5eebe7a2cb5a0a3\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a76890c95abff2bb6f5eebe7a2cb5a0a3\">QsciLexerProperties::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7436ea4b640c312fd07945e9b436e19b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7436ea4b640c312fd07945e9b436e19b\">QsciScintilla::setWhitespaceSize</a></div><div class=\"ttdeci\">void setWhitespaceSize(int size)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html_a56afa4275e743eeff3dc693d9da85fd3\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html#a56afa4275e743eeff3dc693d9da85fd3\">QsciLexerIDL::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a5a4a2c5466d1b4f7d6e835c253cb1730\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">QsciScintillaBase::mouseMoveEvent</a></div><div class=\"ttdeci\">virtual void mouseMoveEvent(QMouseEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle mouse moves.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a01e79cce2d3e498bc5473db51e1d0bc6\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a01e79cce2d3e498bc5473db51e1d0bc6\">QsciLexerTeX::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexertex.h:111</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a94a1cff08b2ef6558d054177fa88ea47\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">QsciScintillaBase::SCN_PAINTED</a></div><div class=\"ttdeci\">void SCN_PAINTED()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a410bcada9eb227aa5689304b861c9997\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a410bcada9eb227aa5689304b861c9997\">QsciLexerVerilog::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_a814917aafe1fef03ec20571e91bb4571\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#a814917aafe1fef03ec20571e91bb4571\">QsciLexerJavaScript::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></div><div class=\"ttdoc\">The QsciLexerAVS class encapsulates the Scintilla AVS lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexeravs.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a377ab8d8a44c7fff2f355cc8ed45e611\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a377ab8d8a44c7fff2f355cc8ed45e611\">QsciLexerCSS::~QsciLexerCSS</a></div><div class=\"ttdeci\">virtual ~QsciLexerCSS()</div><div class=\"ttdoc\">Destroys the QsciLexerCSS instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_ab9ae7a11b4c9ba6f62d795dce8d6fab8\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">QsciLexerHTML::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a897d4004ebe6faefcb97e27713e4a8cc\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a897d4004ebe6faefcb97e27713e4a8cc\">QsciLexerCSharp::QsciLexerCSharp</a></div><div class=\"ttdeci\">QsciLexerCSharp(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a7c73d608fd96b019e70ebf448de23357\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">QsciLexerHTML::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a4fe52167ba709a506391026615d0ef7b\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a4fe52167ba709a506391026615d0ef7b\">QsciLexerRuby::~QsciLexerRuby</a></div><div class=\"ttdeci\">virtual ~QsciLexerRuby()</div><div class=\"ttdoc\">Destroys the QsciLexerRuby instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_aa86a61cd082e2e9fd76e878e8d6a096a\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#aa86a61cd082e2e9fd76e878e8d6a096a\">QsciLexerPostScript::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_aff715db68554a1022792135e8edd0dba\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#aff715db68554a1022792135e8edd0dba\">QsciLexerLua::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_acbf55e58ad04813101573146ecc43c67\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#acbf55e58ad04813101573146ecc43c67\">QsciLexerCSS::QsciLexerCSS</a></div><div class=\"ttdeci\">QsciLexerCSS(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9071c0772ce576f60fce08395ce04274\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9071c0772ce576f60fce08395ce04274\">QsciScintilla::setUtf8</a></div><div class=\"ttdeci\">virtual void setUtf8(bool cp)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a965242ee4392b838cc182c823de54ff6\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">QsciScintillaBase::~QsciScintillaBase</a></div><div class=\"ttdeci\">virtual ~QsciScintillaBase()</div><div class=\"ttdoc\">Destroys the QsciScintillaBase instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a2f3d753794280bfc09719e3ca521be83\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">QsciLexerHTML::foldPreprocessor</a></div><div class=\"ttdeci\">bool foldPreprocessor() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:445</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a17533fc70491bd7752d4a8ead5facf01\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a17533fc70491bd7752d4a8ead5facf01\">QsciMacro::~QsciMacro</a></div><div class=\"ttdeci\">virtual ~QsciMacro()</div><div class=\"ttdoc\">Destroy the QsciMacro instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad5fa8715b931fc0143aa72a20420578d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">QsciScintilla::scrollWidth</a></div><div class=\"ttdeci\">int scrollWidth() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aef97a9061de95a09b57d527f6410881d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">QsciScintilla::CallTipsPosition</a></div><div class=\"ttdeci\">CallTipsPosition</div><div class=\"ttdoc\">This enum defines the different call tip positions.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:147</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_aaa54abecf0defffdfda80f95af6febf9\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#aaa54abecf0defffdfda80f95af6febf9\">QsciPrinter::QsciPrinter</a></div><div class=\"ttdeci\">QsciPrinter(PrinterMode mode=ScreenResolution)</div><div class=\"ttdoc\">Constructs a printer paint device with mode mode.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_ace6bf74522c57e70f2c3ac525e1fd830\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#ace6bf74522c57e70f2c3ac525e1fd830\">QsciLexerCoffeeScript::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a1bb598533be61e117a252d06cf5e4a4b\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a1bb598533be61e117a252d06cf5e4a4b\">QsciLexerVerilog::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerverilog.h:180</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">QsciScintillaBase::SC_MARK_BACKGROUND</a></div><div class=\"ttdeci\">@ SC_MARK_BACKGROUND</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2635</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4dd046074be580fbde318ba2ae343d39\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">QsciScintilla::setMarginType</a></div><div class=\"ttdeci\">void setMarginType(int margin, MarginType type)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a634989e93d2975d1838016ed24f3e45f\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a634989e93d2975d1838016ed24f3e45f\">QsciLexerTCL::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a8c74012833091c1f71e2bea9d1a2a5d5\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a8c74012833091c1f71e2bea9d1a2a5d5\">QsciLexerD::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a067cd392c008e07ff259ffdd0ce25fcb\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">QsciScintilla::setMatchedBraceIndicator</a></div><div class=\"ttdeci\">void setMatchedBraceIndicator(int indicatorNumber)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_ac74a6288e07e20f18ad04e900b48851b\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">QsciLexerSQL::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a07c7b6c9889e61f7c7971bf126bff4f2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a07c7b6c9889e61f7c7971bf126bff4f2\">QsciScintilla::marginBackgroundColor</a></div><div class=\"ttdeci\">QColor marginBackgroundColor(int margin) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_aa3454a4c643cd0d479da8412341f1206\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#aa3454a4c643cd0d479da8412341f1206\">QsciLexerPython::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_aa4e0b16ffd568f44be50375e0572011c\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#aa4e0b16ffd568f44be50375e0572011c\">QsciLexerTCL::~QsciLexerTCL</a></div><div class=\"ttdeci\">virtual ~QsciLexerTCL()</div><div class=\"ttdoc\">Destroys the QsciLexerTCL instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a794059a7bf67982063ae349847599376\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a794059a7bf67982063ae349847599376\">QsciScintilla::markerDefine</a></div><div class=\"ttdeci\">int markerDefine(MarkerSymbol sym, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_aef65e35b32701f0a15d8c2687c20516a\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#aef65e35b32701f0a15d8c2687c20516a\">QsciLexerAVS::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5d08214cc5bab0a03b383809f5c626f7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">QsciScintilla::endUndoAction</a></div><div class=\"ttdeci\">void endUndoAction()</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a168da9e3a890906f229505cd253eec4b\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a168da9e3a890906f229505cd253eec4b\">QsciMacro::QsciMacro</a></div><div class=\"ttdeci\">QsciMacro(QsciScintilla *parent)</div><div class=\"ttdoc\">Construct a QsciMacro with parent parent.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a27dcfdcac480d0360029d1f12b14f724\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a27dcfdcac480d0360029d1f12b14f724\">QsciLexerPython::setFoldCompact</a></div><div class=\"ttdeci\">void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aece608d0192ccad13cc706c4b79005e3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aece608d0192ccad13cc706c4b79005e3\">QsciScintilla::setMarginWidth</a></div><div class=\"ttdeci\">virtual void setMarginWidth(int margin, const QString &amp;s)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a377b83523f800cc4598126417d80f74c\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a377b83523f800cc4598126417d80f74c\">QsciLexerSQL::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a508eb34df3030ac28321b12d86d6670c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">QsciScintilla::setAutoCompletionThreshold</a></div><div class=\"ttdeci\">virtual void setAutoCompletionThreshold(int thresh)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a8fd6da876109a8ba13892c018eaefa40\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">QsciLexerCSharp::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a62220018d9e9295cde64041246cfb3c4\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a62220018d9e9295cde64041246cfb3c4\">QsciScintilla::redo</a></div><div class=\"ttdeci\">virtual void redo()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_aba02f4e299dd7f25cea762e9c21b48b2\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#aba02f4e299dd7f25cea762e9c21b48b2\">QsciLexerCoffeeScript::stylePreprocessor</a></div><div class=\"ttdeci\">bool stylePreprocessor() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercoffeescript.h:226</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a37646aa8dff617d11505617002439216\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a37646aa8dff617d11505617002439216\">QsciScintilla::positionFromLineIndex</a></div><div class=\"ttdeci\">int positionFromLineIndex(int line, int index) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aebdebbf12dc8bf264479bd570f669268\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">QsciLexerCPP::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a39e90958ae903d2f6198ec0c58f56ed9\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">QsciScintillaBase::SCN_MARGINRIGHTCLICK</a></div><div class=\"ttdeci\">void SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a7e9725132ec5521255eb7d9ac81ae853\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a7e9725132ec5521255eb7d9ac81ae853\">QsciLexerVerilog::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerverilog.h:191</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a7e1e146787204eba48aa5376287de41f\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">QsciScintillaBase::toMimeData</a></div><div class=\"ttdeci\">virtual QMimeData * toMimeData(const QByteArray &amp;text, bool rectangular) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a13f22ec5a59e2e8e97a27ac24967f74d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">QsciScintillaBase::SCN_CALLTIPCLICK</a></div><div class=\"ttdeci\">void SCN_CALLTIPCLICK(int direction)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_a4d8011ef7e9d6401597d3a4012a809a7\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#a4d8011ef7e9d6401597d3a4012a809a7\">QsciLexerPO::QsciLexerPO</a></div><div class=\"ttdeci\">QsciLexerPO(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_acb05eb7e7c7cac07547a08d0628013fe\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">QsciScintillaBase::inputMethodEvent</a></div><div class=\"ttdeci\">virtual void inputMethodEvent(QInputMethodEvent *event)</div><div class=\"ttdoc\">Re-implemented to handle composed characters.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aca81f16f09dbbaf463d5926f04d4b53c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aca81f16f09dbbaf463d5926f04d4b53c\">QsciScintilla::cursorPositionChanged</a></div><div class=\"ttdeci\">void cursorPositionChanged(int line, int index)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3493e72e97607270ca64c01b521f933f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3493e72e97607270ca64c01b521f933f\">QsciScintilla::setEdgeMode</a></div><div class=\"ttdeci\">void setEdgeMode(EdgeMode mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerOctave_html_acca6b44f3f90599d119fb05f375cb2b8\"><div class=\"ttname\"><a href=\"classQsciLexerOctave.html#acca6b44f3f90599d119fb05f375cb2b8\">QsciLexerOctave::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_aab16e9b7ca9a17af2af3b7ca7f14c8c4\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">QsciScintillaBase::mouseDoubleClickEvent</a></div><div class=\"ttdeci\">virtual void mouseDoubleClickEvent(QMouseEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle mouse double-clicks.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_aed0f87e43716cf9894e27e0b90396a98\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#aed0f87e43716cf9894e27e0b90396a98\">QsciLexerTeX::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6c06ccce022c08674e24a96093902b49\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6c06ccce022c08674e24a96093902b49\">QsciScintilla::autoCompletionSource</a></div><div class=\"ttdeci\">AutoCompletionSource autoCompletionSource() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:598</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aae6392483ffb59cdb94b7bd4b8a6dec9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aae6392483ffb59cdb94b7bd4b8a6dec9\">QsciScintilla::setMarginMarkerMask</a></div><div class=\"ttdeci\">virtual void setMarginMarkerMask(int margin, int mask)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a66dc6ae74420ab3406043ff9f6f70cc4\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">QsciLexerCPP::setStylePreprocessor</a></div><div class=\"ttdeci\">virtual void setStylePreprocessor(bool style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a2e5910796ca5a3f369258718bb75c1d8\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a2e5910796ca5a3f369258718bb75c1d8\">QsciLexerCoffeeScript::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a901cf93072b3db3ffe503eab78ae6954\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">QsciLexer::colorChanged</a></div><div class=\"ttdeci\">void colorChanged(const QColor &amp;c, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_ad5f7fc89705dd0588937b1565a6e5a26\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#ad5f7fc89705dd0588937b1565a6e5a26\">QsciLexerSQL::quotedIdentifiers</a></div><div class=\"ttdeci\">bool quotedIdentifiers() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexersql.h:229</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a31f12624858cbb8abdc59af34b5a85c7\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a70c1bd30a1d26b2e059236a4b2835c44\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a70c1bd30a1d26b2e059236a4b2835c44\">QsciScintilla::wordAtLineIndex</a></div><div class=\"ttdeci\">QString wordAtLineIndex(int line, int index) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a34578c60a0d404116a5017ff454477f5\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a34578c60a0d404116a5017ff454477f5\">QsciLexerProperties::~QsciLexerProperties</a></div><div class=\"ttdeci\">virtual ~QsciLexerProperties()</div><div class=\"ttdoc\">Destroys the QsciLexerProperties instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a672f2fb901048f290997cb69216b7a00\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a672f2fb901048f290997cb69216b7a00\">QsciScintilla::setMarginsFont</a></div><div class=\"ttdeci\">virtual void setMarginsFont(const QFont &amp;f)</div><div class=\"ttdoc\">Set the font used in all margins to f.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a69f35ec6e80059bbb351c8f8845cd8f6\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a69f35ec6e80059bbb351c8f8845cd8f6\">QsciScintilla::setTabDrawMode</a></div><div class=\"ttdeci\">void setTabDrawMode(TabDrawMode mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a6443ca03dcf722445e6627e9991bb10c\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a6443ca03dcf722445e6627e9991bb10c\">QsciLexerVHDL::foldAtBegin</a></div><div class=\"ttdeci\">bool foldAtBegin() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">QsciScintillaBase::SC_MARGIN_COLOUR</a></div><div class=\"ttdeci\">@ SC_MARGIN_COLOUR</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2711</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a20439ec93f1af6b8227bdcd48a6070ec\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">QsciLexerCPP::verbatimStringEscapeSequencesAllowed</a></div><div class=\"ttdeci\">bool verbatimStringEscapeSequencesAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:319</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac419a79eed86a754cfb556b3961e990d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac419a79eed86a754cfb556b3961e990d\">QsciScintilla::overwriteMode</a></div><div class=\"ttdeci\">bool overwriteMode() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">QsciScintillaBase::SC_MARGIN_NUMBER</a></div><div class=\"ttdeci\">@ SC_MARGIN_NUMBER</div><div class=\"ttdoc\">The margin will display line numbers.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2693</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a451bcf235c2ad7628d32940a13d22116\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a451bcf235c2ad7628d32940a13d22116\">QsciScintilla::setFirstVisibleLine</a></div><div class=\"ttdeci\">void setFirstVisibleLine(int linenr)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></div><div class=\"ttdoc\">The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexervhdl.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_acff58ba06195b9458a61d7ef3573c701\"><div class=\"ttname\"><a href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">QsciLexer::color</a></div><div class=\"ttdeci\">virtual QColor color(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8ec9b9a33f698fab59f46864ee9a2267\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8ec9b9a33f698fab59f46864ee9a2267\">QsciScintilla::annotate</a></div><div class=\"ttdeci\">void annotate(int line, const QString &amp;text, const QsciStyle &amp;style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a1412f4f04885bf9b315fbb371c54dc7c\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a1412f4f04885bf9b315fbb371c54dc7c\">QsciLexerLua::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ae508c3ab4ce1f338dfff3ddf5ee7e34c\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer::refreshProperties</a></div><div class=\"ttdeci\">virtual void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3755bcaa3e90c522162a7962de464baf\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">QsciScintilla::clearRegisteredImages</a></div><div class=\"ttdeci\">void clearRegisteredImages()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_aca9a53a01d50ef44d9f5ac0fd662bf84\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#aca9a53a01d50ef44d9f5ac0fd662bf84\">QsciLexerCSS::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a02ad644d3bc229939e57d5e9f665a6b9\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a02ad644d3bc229939e57d5e9f665a6b9\">QsciLexerPython::v3BinaryOctalAllowed</a></div><div class=\"ttdeci\">bool v3BinaryOctalAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:258</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_a66c17910b9d9171d786b7c76b17276c5\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">QsciLexerMatlab::~QsciLexerMatlab</a></div><div class=\"ttdeci\">virtual ~QsciLexerMatlab()</div><div class=\"ttdoc\">Destroys the QsciLexerMatlab instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJava_html_a76f547a0431bb391a89efd764eb337c7\"><div class=\"ttname\"><a href=\"classQsciLexerJava.html#a76f547a0431bb391a89efd764eb337c7\">QsciLexerJava::~QsciLexerJava</a></div><div class=\"ttdeci\">virtual ~QsciLexerJava()</div><div class=\"ttdoc\">Destroys the QsciLexerJava instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_aafc924b9d8d494541b89ac8d461b4300\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">QsciPrinter::magnification</a></div><div class=\"ttdeci\">int magnification() const</div><div class=\"ttdef\"><b>Definition:</b> qsciprinter.h:76</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a41e738411112b8f509e0b49b6fc3e318\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">QsciScintillaBase::SCN_AUTOCCOMPLETED</a></div><div class=\"ttdeci\">void SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method)</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommandSet_html\"><div class=\"ttname\"><a href=\"classQsciCommandSet.html\">QsciCommandSet</a></div><div class=\"ttdoc\">The QsciCommandSet class represents the set of all internal editor commands that may have keys bound.</div><div class=\"ttdef\"><b>Definition:</b> qscicommandset.h:45</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a9ecd605284870ddbf703cf4c8c995ca6\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">QsciScintillaBase::SCN_DWELLEND</a></div><div class=\"ttdeci\">void SCN_DWELLEND(int position, int x, int y)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad6b00de0b5fa769ff6d30036f9d784de\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad6b00de0b5fa769ff6d30036f9d784de\">QsciScintilla::hasSelectedText</a></div><div class=\"ttdeci\">bool hasSelectedText() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:882</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8a92ecc1db1576267f50a03d8ae93303\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8a92ecc1db1576267f50a03d8ae93303\">QsciScintilla::color</a></div><div class=\"ttdeci\">QColor color() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">QsciScintillaBase::SC_MARK_ARROW</a></div><div class=\"ttdeci\">@ SC_MARK_ARROW</div><div class=\"ttdoc\">A triangle pointing to the right.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2570</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_ac631b370fc57344197a5dda058c16461\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">QsciLexerFortran77::~QsciLexerFortran77</a></div><div class=\"ttdeci\">virtual ~QsciLexerFortran77()</div><div class=\"ttdoc\">Destroys the QsciLexerFortran77 instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_abdae368f2b81955c4927dc6f26fc2c77\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">QsciScintillaBase::SCN_MACRORECORD</a></div><div class=\"ttdeci\">void SCN_MACRORECORD(unsigned int, unsigned long, void *)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_ac9868e2d0efbf3602a22d8bdac12a119\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#ac9868e2d0efbf3602a22d8bdac12a119\">QsciLexerPerl::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_abb1544042444a8147123b5597e096ea2\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#abb1544042444a8147123b5597e096ea2\">QsciLexerVerilog::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\">QsciScintilla::AcsAll</a></div><div class=\"ttdeci\">@ AcsAll</div><div class=\"ttdoc\">The source is all available sources.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:121</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a136982546f34f83f5e3dd21f67074d4d\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">QsciLexerLua::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_aae1debbb0a7be0266725c0ca327b0834\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#aae1debbb0a7be0266725c0ca327b0834\">QsciLexerCustom::setStyling</a></div><div class=\"ttdeci\">void setStyling(int length, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a2d66e4001f22b971d1d0d92953b614ba\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a2d66e4001f22b971d1d0d92953b614ba\">QsciLexerProperties::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_afa54795b596b6bc9f3664865b9d76484\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#afa54795b596b6bc9f3664865b9d76484\">QsciLexerPerl::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9851c2349b4140faa129b7125bee416d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">QsciScintilla::setAutoCompletionFillups</a></div><div class=\"ttdeci\">void setAutoCompletionFillups(const char *fillups)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_adb45fb04c1ad8c6459fea750d8788584\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#adb45fb04c1ad8c6459fea750d8788584\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, const char *lParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_aba150bef5f977fb65d66fcaec9c6664c\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#aba150bef5f977fb65d66fcaec9c6664c\">QsciLexerSQL::setDottedWords</a></div><div class=\"ttdeci\">void setDottedWords(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_af3a619a5e59cef000f0b550e809c94de\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">QsciScintillaBase::SCN_SAVEPOINTLEFT</a></div><div class=\"ttdeci\">void SCN_SAVEPOINTLEFT()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a409c5a8e561b153aca122ad5e0bedc82\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a409c5a8e561b153aca122ad5e0bedc82\">QsciLexerTeX::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a48e7f3a456fcb347ee96a2c6a1f07231\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">QsciLexerHTML::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa46e60536be6297de6ca1fb16d36cd51\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa46e60536be6297de6ca1fb16d36cd51\">QsciScintilla::setIndentation</a></div><div class=\"ttdeci\">virtual void setIndentation(int line, int indentation)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">QsciScintillaBase::SC_MARK_BOXPLUSCONNECTED</a></div><div class=\"ttdeci\">@ SC_MARK_BOXPLUSCONNECTED</div><div class=\"ttdoc\">A drawn plus sign in a connected box.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2605</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae7310729b1be2aa937a22036f5d95b51\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae7310729b1be2aa937a22036f5d95b51\">QsciScintilla::append</a></div><div class=\"ttdeci\">virtual void append(const QString &amp;text)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a0b10a59a79011e968a1ef9512d41c3d6\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a0b10a59a79011e968a1ef9512d41c3d6\">QsciLexerMakefile::~QsciLexerMakefile</a></div><div class=\"ttdeci\">virtual ~QsciLexerMakefile()</div><div class=\"ttdoc\">Destroys the QsciLexerMakefile instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ac8a72227fc8efff78505733d1663f927\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ac8a72227fc8efff78505733d1663f927\">QsciScintillaBase::changeEvent</a></div><div class=\"ttdeci\">virtual void changeEvent(QEvent *e)</div><div class=\"ttdoc\">\\reimp</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aef584b6c5b89736ad311ad20aa32269d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aef584b6c5b89736ad311ad20aa32269d\">QsciScintilla::removeSelectedText</a></div><div class=\"ttdeci\">virtual void removeSelectedText()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a3484599b6db81b8392ab6cd4f50ab291\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">QsciLexer::setFont</a></div><div class=\"ttdeci\">virtual void setFont(const QFont &amp;f, int style=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a5f77be4cb83422d47220c5b38d9f0a99\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a5f77be4cb83422d47220c5b38d9f0a99\">QsciLexerCSS::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a7bbfdb6b269b6e52791fcbf1df60731e\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a7bbfdb6b269b6e52791fcbf1df60731e\">QsciLexerXML::setScriptsStyled</a></div><div class=\"ttdeci\">void setScriptsStyled(bool styled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_abce274ef71035c67baadaa167a1fe5a7\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">QsciScintillaBase::canInsertFromMimeData</a></div><div class=\"ttdeci\">virtual bool canInsertFromMimeData(const QMimeData *source) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSharp_html_a92e6554430736b20b147b7290d4bfe16\"><div class=\"ttname\"><a href=\"classQsciLexerCSharp.html#a92e6554430736b20b147b7290d4bfe16\">QsciLexerCSharp::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a61582248f6b7276db9b4a1f9582c3828\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">QsciStyle::style</a></div><div class=\"ttdeci\">int style() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:88</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac4d1c67938c75806b2c139d0779d0478\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">QsciScintilla::WrapVisualFlag</a></div><div class=\"ttdeci\">WrapVisualFlag</div><div class=\"ttdoc\">This enum defines the different line wrap visual flags.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:493</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a1cf58cba78405397f793b6a9aff64035\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">QsciLexerXML::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_af46ca05571eb676d3aa65b080fb406c5\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">QsciAPIs::add</a></div><div class=\"ttdeci\">void add(const QString &amp;entry)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_af7e052d08efd3a677f810c8e4116dafc\"><div class=\"ttname\"><a href=\"classQsciStyle.html#af7e052d08efd3a677f810c8e4116dafc\">QsciStyle::setChangeable</a></div><div class=\"ttdeci\">void setChangeable(bool changeable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4c6a412b7d066b9fce90f3976350348c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">QsciScintilla::setHotspotForegroundColor</a></div><div class=\"ttdeci\">void setHotspotForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a7ea95f77a5a0ae539b306473c3b808db\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a7ea95f77a5a0ae539b306473c3b808db\">QsciLexerVHDL::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aa20e183e0b38b5076aa9e883c5283791\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">QsciLexerCPP::dollarsAllowed</a></div><div class=\"ttdeci\">bool dollarsAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:264</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ac331bbae026859d8020ac5a6efd8fed1\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_adca3e8b2b7d4d0bf65ad23322f64f6ef\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">QsciScintilla::setBackspaceUnindents</a></div><div class=\"ttdeci\">virtual void setBackspaceUnindents(bool unindent)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html_ad8a83d778cced2584c895d2b9b07c33b\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html#ad8a83d778cced2584c895d2b9b07c33b\">QsciLexerIDL::~QsciLexerIDL</a></div><div class=\"ttdeci\">virtual ~QsciLexerIDL()</div><div class=\"ttdoc\">Destroys the QsciLexerIDL instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a59c9b8ff5d698d7e7e03ec2655a24764\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">QsciLexerHTML::setDjangoTemplates</a></div><div class=\"ttdeci\">void setDjangoTemplates(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a14705cac9643949facd57641e0892fb0\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a14705cac9643949facd57641e0892fb0\">QsciLexerPerl::setFoldAtElse</a></div><div class=\"ttdeci\">void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a94a66b0c8459f5a407eef6783cd6d80b\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a94a66b0c8459f5a407eef6783cd6d80b\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, long wParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a3ba9e8000c3896e453b79dcfce08b146\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a3ba9e8000c3896e453b79dcfce08b146\">QsciLexerJSON::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJava_html_abaa737931800774e8067765d6cdc9a5d\"><div class=\"ttname\"><a href=\"classQsciLexerJava.html#abaa737931800774e8067765d6cdc9a5d\">QsciLexerJava::QsciLexerJava</a></div><div class=\"ttdeci\">QsciLexerJava(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">QsciScintillaBase::SC_MARK_LCORNER</a></div><div class=\"ttdeci\">@ SC_MARK_LCORNER</div><div class=\"ttdoc\">A bottom left corner drawn in the background colour.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2595</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></div><div class=\"ttdoc\">The QsciLexerYAML class encapsulates the Scintilla YAML lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexeryaml.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_ac70e03bceba5de91104b85edd00e1a68\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#ac70e03bceba5de91104b85edd00e1a68\">QsciLexerCSS::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_abf0e76eca3bc604650cc20d4fc110c7f\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#abf0e76eca3bc604650cc20d4fc110c7f\">QsciLexerPython::~QsciLexerPython</a></div><div class=\"ttdeci\">virtual ~QsciLexerPython()</div><div class=\"ttdoc\">Destroys the QsciLexerPython instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_a142446dc4954e057b2d7de11fe3e25e0\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#a142446dc4954e057b2d7de11fe3e25e0\">QsciLexerBatch::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_abccc4e010b724df1a7b5c5f3bce29501\"><div class=\"ttname\"><a href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer::writeProperties</a></div><div class=\"ttdeci\">virtual bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_aebb96727a845f9547a60848f6163d461\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">QsciLexerVerilog::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ac7cf70f76eb03d6d475985cc4b884b0e\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a0f1e5402dce043de42ded75f5826588f\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a0f1e5402dce043de42ded75f5826588f\">QsciLexerPostScript::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a24c82f4e0483ba0c13b8bf046b8c00b9\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a24c82f4e0483ba0c13b8bf046b8c00b9\">QsciLexerD::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html_a36cce16a8abf9455e397bbec012c9838\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html#a36cce16a8abf9455e397bbec012c9838\">QsciLexerIDL::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div><div class=\"ttdoc\">Returns the foreground colour of the text for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af7088827cec6904663d94507a199d19a\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">QsciScintilla::indent</a></div><div class=\"ttdeci\">virtual void indent(int line)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8f3899166ef067d2780867d154539267\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8f3899166ef067d2780867d154539267\">QsciScintilla::convertEols</a></div><div class=\"ttdeci\">void convertEols(EolMode mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a6c892370b4ee3afd2eef080ee8c25fde\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a6c892370b4ee3afd2eef080ee8c25fde\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, long cpMin, long cpMax, char *lpstrText) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a04780d47f799c56b6af0a10b91875045\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">QsciScintilla::findFirst</a></div><div class=\"ttdeci\">virtual bool findFirst(const QString &amp;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)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a8b1bb1261e7b9701c62bbe4f1d171e06\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">QsciLexer::blockLookback</a></div><div class=\"ttdeci\">virtual int blockLookback() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4d4634e48eedb5b12bafe8c6fa6c41f7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4d4634e48eedb5b12bafe8c6fa6c41f7\">QsciScintilla::clearFolds</a></div><div class=\"ttdeci\">void clearFolds()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a8a3adc7b5c8926e097e6be4340bee920\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">QsciLexer::language</a></div><div class=\"ttdeci\">virtual const char * language() const =0</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a37f2cddeeef588533be46798ae18ffab\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a37f2cddeeef588533be46798ae18ffab\">QsciScintilla::setCaretLineVisible</a></div><div class=\"ttdeci\">virtual void setCaretLineVisible(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a479ca70b474910355294d1fcec011572\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a479ca70b474910355294d1fcec011572\">QsciLexerTeX::setProcessIf</a></div><div class=\"ttdeci\">void setProcessIf(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a1b8f36843f4abe6ec3ee75205b5b0111\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a1b8f36843f4abe6ec3ee75205b5b0111\">QsciLexerPython::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_ad476092b3970fe44068dd023f8becc96\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#ad476092b3970fe44068dd023f8becc96\">QsciLexerVerilog::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ace4acd9ee0d1c3e31099d65cdd8219b2\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ace4acd9ee0d1c3e31099d65cdd8219b2\">QsciScintilla::setIndentationGuidesForegroundColor</a></div><div class=\"ttdeci\">virtual void setIndentationGuidesForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></div><div class=\"ttdoc\">The QsciLexerJSON class encapsulates the Scintilla JSON lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerjson.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a1fa70c8e86dd88d34508fc652d30f3f7\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a1fa70c8e86dd88d34508fc652d30f3f7\">QsciLexerCSS::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a17ff342a5c1d94ce760a3dc02cfcda1d\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a17ff342a5c1d94ce760a3dc02cfcda1d\">QsciLexerVerilog::setFoldCompact</a></div><div class=\"ttdeci\">void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_ac1665f22a91f143e6e6fb46b02e7b109\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#ac1665f22a91f143e6e6fb46b02e7b109\">QsciLexerBash::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_aa37ea54c5e39721b866c25b0e0335591\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">QsciLexerCPP::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a511a4f492a9912df3d430fba33b67d5c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a511a4f492a9912df3d430fba33b67d5c\">QsciScintilla::setUnmatchedBraceForegroundColor</a></div><div class=\"ttdeci\">void setUnmatchedBraceForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a338a09c79011b57a842c581aa2556b4c\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a338a09c79011b57a842c581aa2556b4c\">QsciLexerSQL::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a6d6f13610560a2c281f638f3a40046f6\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">QsciScintillaBase::mousePressEvent</a></div><div class=\"ttdeci\">virtual void mousePressEvent(QMouseEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle mouse presses.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></div><div class=\"ttdoc\">The QsciLexerDiff class encapsulates the Scintilla Diff lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerdiff.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></div><div class=\"ttdoc\">The QsciLexerPOV class encapsulates the Scintilla POV lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpov.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a0436f412bb6c83fe195ea2eb3c058154\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a0436f412bb6c83fe195ea2eb3c058154\">QsciLexerD::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_add035b6176dbe36b3c975f05573c0e61\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#add035b6176dbe36b3c975f05573c0e61\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, int wParam) const</div><div class=\"ttdoc\">This is an overloaded member function, provided for convenience. It differs from the above function o...</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a0e5afa1027b99648caeb70ed8423af2d\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a0e5afa1027b99648caeb70ed8423af2d\">QsciLexerD::foldAtElse</a></div><div class=\"ttdeci\">bool foldAtElse() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran_html\"><div class=\"ttname\"><a href=\"classQsciLexerFortran.html\">QsciLexerFortran</a></div><div class=\"ttdoc\">The QsciLexerFortran class encapsulates the Scintilla Fortran lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerfortran.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a388e532d847652dbf18207593e236e5e\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a388e532d847652dbf18207593e236e5e\">QsciLexerCSS::setLessLanguage</a></div><div class=\"ttdeci\">void setLessLanguage(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a0a080d197e8226117a626c7b4b68b32d\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">QsciAPIs::defaultPreparedName</a></div><div class=\"ttdeci\">QString defaultPreparedName() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a3df48961344c5133ad595a555bbb8e55\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a3df48961344c5133ad595a555bbb8e55\">QsciLexerD::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a9fc58fb17acc5e669780cb870d633514\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">QsciLexerD::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ac04ade8be901b67af681e5e3516c0946\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">QsciLexer::fontChanged</a></div><div class=\"ttdeci\">void fontChanged(const QFont &amp;f, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_abceb6f3cf78367b7bc370265d7776bf1\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#abceb6f3cf78367b7bc370265d7776bf1\">QsciLexerTCL::setFoldComments</a></div><div class=\"ttdeci\">void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_aecbd103b6dff15873e60cdf48e634a4a\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#aecbd103b6dff15873e60cdf48e634a4a\">QsciLexerCSS::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a721a1879cabaa76883ae1a02a34a76e8\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">QsciScintillaBase::SCN_AUTOCSELECTIONCHANGE</a></div><div class=\"ttdeci\">void SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_afc0aaf4300e9ca02eb8fa49328bbe8d8\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#afc0aaf4300e9ca02eb8fa49328bbe8d8\">QsciLexerPython::setFoldQuotes</a></div><div class=\"ttdeci\">virtual void setFoldQuotes(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab26d156ff430e904e8f92d3dad9730bc\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">QsciScintilla::setReadOnly</a></div><div class=\"ttdeci\">virtual void setReadOnly(bool ro)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a957eaab9ac1785eb043fb83f703a0b57\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">QsciScintilla::setTabIndents</a></div><div class=\"ttdeci\">virtual void setTabIndents(bool indent)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a7fd3e6c1faee7c7986db2ec4c0b793ae\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a7fd3e6c1faee7c7986db2ec4c0b793ae\">QsciLexerVerilog::~QsciLexerVerilog</a></div><div class=\"ttdeci\">virtual ~QsciLexerVerilog()</div><div class=\"ttdoc\">Destroys the QsciLexerVerilog instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a10c8d8f5e97fb5ef86ea351407fe1023\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a10c8d8f5e97fb5ef86ea351407fe1023\">QsciScintilla::selectedText</a></div><div class=\"ttdeci\">QString selectedText() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a71fd025ad904aa51a6127f43099805ad\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a71fd025ad904aa51a6127f43099805ad\">QsciLexerPascal::smartHighlighting</a></div><div class=\"ttdeci\">bool smartHighlighting() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_aa5f12cd587bf1b8db68813601cb57e5b\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#aa5f12cd587bf1b8db68813601cb57e5b\">QsciLexerPostScript::~QsciLexerPostScript</a></div><div class=\"ttdeci\">virtual ~QsciLexerPostScript()</div><div class=\"ttdoc\">Destroys the QsciLexerPostScript instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">QsciScintilla::clearEdgeColumns</a></div><div class=\"ttdeci\">void clearEdgeColumns()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ad8424876c29b1a77fd1df45a534722d1\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ad8424876c29b1a77fd1df45a534722d1\">QsciScintilla::setWrapIndentMode</a></div><div class=\"ttdeci\">void setWrapIndentMode(WrapIndentMode mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a8c0952bb621cdf048b00191674824a87\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a8c0952bb621cdf048b00191674824a87\">QsciLexerSQL::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a38bf5a8680df52675e5299fccbbc7181\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a38bf5a8680df52675e5299fccbbc7181\">QsciScintilla::registerImage</a></div><div class=\"ttdeci\">void registerImage(int id, const QPixmap &amp;pm)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">QsciScintillaBase::SC_MARGIN_RTEXT</a></div><div class=\"ttdeci\">@ SC_MARGIN_RTEXT</div><div class=\"ttdoc\">The margin will display right justified text.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2707</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa805f90f3bbe067299e9ab8902eafbf3\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa805f90f3bbe067299e9ab8902eafbf3\">QsciScintilla::setPaper</a></div><div class=\"ttdeci\">virtual void setPaper(const QColor &amp;c)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_a5245587f4db1c40ad90898a7712094ed\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#a5245587f4db1c40ad90898a7712094ed\">QsciLexerJavaScript::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></div><div class=\"ttdoc\">The QsciLexerCPP class encapsulates the Scintilla C++ lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4fe2c0ce4d6fd17617c266983537f5b6\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4fe2c0ce4d6fd17617c266983537f5b6\">QsciScintilla::paper</a></div><div class=\"ttdeci\">QColor paper() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a8e294eba77713f516acbcebc10af1493\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer::blockEnd</a></div><div class=\"ttdeci\">virtual const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html\"><div class=\"ttname\"><a href=\"classQsciPrinter.html\">QsciPrinter</a></div><div class=\"ttdoc\">The QsciPrinter class is a sub-class of the Qt QPrinter class that is able to print the text of a Sci...</div><div class=\"ttdef\"><b>Definition:</b> qsciprinter.h:51</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a1379abf89d88a2dd7854f957b28656c5\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">QsciLexerHTML::djangoTemplates</a></div><div class=\"ttdeci\">bool djangoTemplates() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerhtml.h:435</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_ae73ce9660679076bcd4b93ef3712586a\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">QsciLexerFortran77::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_ae2d2e6936f7b0f6f9b891ac14dff7bc0\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">QsciLexerVHDL::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a23c6488e2416d54f6a4ec84015d860ec\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">QsciLexerCPP::highlightTripleQuotedStrings</a></div><div class=\"ttdeci\">bool highlightTripleQuotedStrings() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:275</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></div><div class=\"ttdoc\">The QsciLexerPerl class encapsulates the Scintilla Perl lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerperl.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a36359d3e1cb6037b561f95fccf16881e\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a36359d3e1cb6037b561f95fccf16881e\">QsciLexerPerl::QsciLexerPerl</a></div><div class=\"ttdeci\">QsciLexerPerl(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a2db5e63ff4667a3f8e9df24a0accdf3d\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a2db5e63ff4667a3f8e9df24a0accdf3d\">QsciLexerLua::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af63627804eeffc4f0f1290181cda7781\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af63627804eeffc4f0f1290181cda7781\">QsciScintilla::setIndicatorOutlineColor</a></div><div class=\"ttdeci\">void setIndicatorOutlineColor(const QColor &amp;col, int indicatorNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_ae6949756a800e31f1d279aa753060966\"><div class=\"ttname\"><a href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">QsciCommand::alternateKey</a></div><div class=\"ttdeci\">int alternateKey() const</div><div class=\"ttdef\"><b>Definition:</b> qscicommand.h:383</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a2784362f75607dc575d42a3ddf43bcf9\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77::QsciLexerFortran77</a></div><div class=\"ttdeci\">QsciLexerFortran77(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a044b772f07f8d5218170a11db05cc3d5\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a044b772f07f8d5218170a11db05cc3d5\">QsciScintilla::edgeColumn</a></div><div class=\"ttdeci\">int edgeColumn() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a386c817d87735b2dd347735cb264d548\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a386c817d87735b2dd347735cb264d548\">QsciLexerPerl::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_af2cc3652d35b4d0ec1d8c9ac18e2225e\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">QsciScintillaBase::SCEN_CHANGE</a></div><div class=\"ttdeci\">void SCEN_CHANGE()</div><div class=\"ttdoc\">This signal is emitted when the document has changed for any reason.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab6643f6fe8cec6f3d7e14126fd52340d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">QsciScintilla::document</a></div><div class=\"ttdeci\">QsciDocument document() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:710</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a3e90db838034f7404e65b2e284403604\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a3e90db838034f7404e65b2e284403604\">QsciLexerPerl::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8696968d0a32b07bfc77fb0701c5bf62\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8696968d0a32b07bfc77fb0701c5bf62\">QsciScintilla::textChanged</a></div><div class=\"ttdeci\">void textChanged()</div><div class=\"ttdoc\">This signal is emitted whenever the text in the text edit changes.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a6d22aebdf6475acb8d9aa18c244bd9cc\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a6d22aebdf6475acb8d9aa18c244bd9cc\">QsciLexerJSON::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></div><div class=\"ttdoc\">The QsciLexerBatch class encapsulates the Scintilla batch file lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerbatch.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a84118aff26655dcc4313d26d57d5f4fc\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython::IndentationWarning</a></div><div class=\"ttdeci\">IndentationWarning</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:104</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a003413f4436ff46553e10db632496288\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a003413f4436ff46553e10db632496288\">QsciLexerVerilog::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_aff36eb2ba5df9c4998eb9c8311f14de5\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#aff36eb2ba5df9c4998eb9c8311f14de5\">QsciLexerRuby::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_af41d62ccd061b840e3eb2e9e2b26d6f5\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#af41d62ccd061b840e3eb2e9e2b26d6f5\">QsciLexerVHDL::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae76354288b8e5c2bc6f7a7e7bd97e44e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae76354288b8e5c2bc6f7a7e7bd97e44e\">QsciScintilla::setIndicatorHoverStyle</a></div><div class=\"ttdeci\">void setIndicatorHoverStyle(IndicatorStyle style, int indicatorNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ad0939852605ee45ce62f70647d47147b\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">QsciLexerCPP::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercpp.h:242</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a85c009c5ccf84fc64726bb2c3b11bdec\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a85c009c5ccf84fc64726bb2c3b11bdec\">QsciLexerPascal::setFoldPreprocessor</a></div><div class=\"ttdeci\">virtual void setFoldPreprocessor(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af8cedca829a47783199ab0e1dfc160d5\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af8cedca829a47783199ab0e1dfc160d5\">QsciScintilla::markerFindNext</a></div><div class=\"ttdeci\">int markerFindNext(int linenr, unsigned mask) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9792eb38e5e8dce8a4bd32b2224c73d4\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9792eb38e5e8dce8a4bd32b2224c73d4\">QsciScintilla::moveToMatchingBrace</a></div><div class=\"ttdeci\">virtual void moveToMatchingBrace()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8c8e4776767cc88b945f50f07d235770\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8c8e4776767cc88b945f50f07d235770\">QsciScintilla::setColor</a></div><div class=\"ttdeci\">virtual void setColor(const QColor &amp;c)</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a783f17e12ca844655568b5718aa26a35\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a783f17e12ca844655568b5718aa26a35\">QsciMacro::endRecording</a></div><div class=\"ttdeci\">virtual void endRecording()</div><div class=\"ttdoc\">Stop recording user commands.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3333f3a47163153c1bd7db1a362b8974\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">QsciScintilla::IndicatorStyle</a></div><div class=\"ttdeci\">IndicatorStyle</div><div class=\"ttdoc\">This enum defines the different indicator styles.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:232</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_af6cc5bb9d9421d806e9941d018030068\"><div class=\"ttname\"><a href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">QsciLexer::~QsciLexer</a></div><div class=\"ttdeci\">virtual ~QsciLexer()</div><div class=\"ttdoc\">Destroy the QSciLexer.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a1052b3e64558fe29271c0829e6d0fdda\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a1052b3e64558fe29271c0829e6d0fdda\">QsciScintilla::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_a2f1340e861947f7c8c4299b1c9ded5a5\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#a2f1340e861947f7c8c4299b1c9ded5a5\">QsciLexerMarkdown::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a8912da5c6b95404e4642593db1b65d4c\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">QsciStyle::paper</a></div><div class=\"ttdeci\">QColor paper() const</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:120</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a2c1974c2bdc9c0f2923c28b66afe811f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a2c1974c2bdc9c0f2923c28b66afe811f\">QsciScintilla::setCaretWidth</a></div><div class=\"ttdeci\">virtual void setCaretWidth(int width)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a7245335691700f82db41016d257d63cc\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a7245335691700f82db41016d257d63cc\">QsciScintilla::setHotspotWrap</a></div><div class=\"ttdeci\">void setHotspotWrap(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_a7f8da8d7fe8301cd49926b896bf5e286\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#a7f8da8d7fe8301cd49926b896bf5e286\">QsciLexerVHDL::setFoldAtBegin</a></div><div class=\"ttdeci\">virtual void setFoldAtBegin(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_ac4a5d52373228003f7bd51dade64fc85\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#ac4a5d52373228003f7bd51dade64fc85\">QsciLexerSpice::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a3fccdb7cb8f6524ecdeb3ff364ae5a49\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">QsciLexer::setEolFill</a></div><div class=\"ttdeci\">virtual void setEolFill(bool eoffill, int style=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_aec007c8c5c374ca94b71d3eb0f47f467\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#aec007c8c5c374ca94b71d3eb0f47f467\">QsciLexerLua::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">QsciLexerMarkdown::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a995fe59f125a7cb27cf178b9e83015bc\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a995fe59f125a7cb27cf178b9e83015bc\">QsciLexerXML::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a39af10ac6ff34cb347bb2c891f8de64f\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">QsciLexerCPP::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a519df98c9e7d9d26734a38ea9bed744a\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">QsciLexer::paper</a></div><div class=\"ttdeci\">virtual QColor paper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a80f3f0cbd594ce9268081a76174ee0e8\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a80f3f0cbd594ce9268081a76174ee0e8\">QsciLexerTCL::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciPrinter_html_a420e136529a8d49551eb8af0f5cdce03\"><div class=\"ttname\"><a href=\"classQsciPrinter.html#a420e136529a8d49551eb8af0f5cdce03\">QsciPrinter::formatPage</a></div><div class=\"ttdeci\">virtual void formatPage(QPainter &amp;painter, bool drawing, QRect &amp;area, int pagenr)</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a4a0e012717bb1fd68de03209260a0609\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">QsciStyle::TextCase</a></div><div class=\"ttdeci\">TextCase</div><div class=\"ttdef\"><b>Definition:</b> qscistyle.h:46</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a167dbdb42a4c0ed65229a3418153d4dd\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a167dbdb42a4c0ed65229a3418153d4dd\">QsciLexerPython::foldQuotes</a></div><div class=\"ttdeci\">bool foldQuotes() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:204</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a05d880fd1451f6a757fd21a7bd43a358\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a05d880fd1451f6a757fd21a7bd43a358\">QsciLexerPascal::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></div><div class=\"ttdoc\">The QsciLexerPascal class encapsulates the Scintilla Pascal lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpascal.h:32</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a40dcaf1e09ebad7bc685d7f2c5d52a3b\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">QsciLexerProperties::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></div><div class=\"ttdoc\">The QsciLexerCoffeeScript class encapsulates the Scintilla CoffeeScript lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexercoffeescript.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5b4b113d57b73a7b531f137a98ecc1bc\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5b4b113d57b73a7b531f137a98ecc1bc\">QsciScintilla::findMatchingBrace</a></div><div class=\"ttdeci\">bool findMatchingBrace(long &amp;brace, long &amp;other, BraceMatch mode)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_a058af5212c83c1eef0a5f39252651743\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#a058af5212c83c1eef0a5f39252651743\">QsciLexerCMake::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0da7428fe1c237620cddbf30d06329da\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">QsciScintilla::markerDelete</a></div><div class=\"ttdeci\">void markerDelete(int linenr, int markerNumber=-1)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a6d6a21ea44e2ee9676aa27178021b06a\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">QsciLexerCPP::setHighlightEscapeSequences</a></div><div class=\"ttdeci\">void setHighlightEscapeSequences(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a8553315e763e1e53f56dd4dbe6b3c3d7\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">QsciLexerHTML::setMakoTemplates</a></div><div class=\"ttdeci\">void setMakoTemplates(bool enabled)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_acf33e60d28291147562860b824ccd74d\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#acf33e60d28291147562860b824ccd74d\">QsciLexerBatch::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a90015597a5748d85b36cc5b263fc05cf\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a90015597a5748d85b36cc5b263fc05cf\">QsciLexerTCL::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJava_html_af0f0dd1756ceb60bd8f404f3b48f470c\"><div class=\"ttname\"><a href=\"classQsciLexerJava.html#af0f0dd1756ceb60bd8f404f3b48f470c\">QsciLexerJava::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_ad892735ca7ad0bad9b7fafdcb44eeaa8\"><div class=\"ttname\"><a href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">QsciLexer::editor</a></div><div class=\"ttdeci\">QsciScintilla * editor() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexer.h:207</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_a689e8352655111f8d1c9421552f454c4\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#a689e8352655111f8d1c9421552f454c4\">QsciLexerJSON::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a4bf7cce95e65755a221fd75bd731a3cd\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a4bf7cce95e65755a221fd75bd731a3cd\">QsciLexerTeX::QsciLexerTeX</a></div><div class=\"ttdeci\">QsciLexerTeX(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_ac6d9fdf26d30d14707e0b0778f80d54d\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#ac6d9fdf26d30d14707e0b0778f80d54d\">QsciLexerVerilog::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a8f6156730e68c15fb63e120c53ce7832\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a8f6156730e68c15fb63e120c53ce7832\">QsciLexerPostScript::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_af41ceced7bf5eb12aefb77f81240b1eb\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#af41ceced7bf5eb12aefb77f81240b1eb\">QsciLexerPOV::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_a8c00e5f08abe7ad05fe54653c0f040ae\"><div class=\"ttname\"><a href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">QsciCommand::setAlternateKey</a></div><div class=\"ttdeci\">void setAlternateKey(int altkey)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a85f97649b701717e65b2390d57f5ad03\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a85f97649b701717e65b2390d57f5ad03\">QsciScintilla::lines</a></div><div class=\"ttdeci\">int lines() const</div><div class=\"ttdoc\">Returns the number of lines of text.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a96ad1f818e51a3606404d24bf7a28a91\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a96ad1f818e51a3606404d24bf7a28a91\">QsciLexerXML::scriptsStyled</a></div><div class=\"ttdeci\">bool scriptsStyled() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_af6839d80f9b92eaead072803664a497f\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#af6839d80f9b92eaead072803664a497f\">QsciLexerPOV::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyledText_html_a72dbd9d847a577fe5c438d1582920887\"><div class=\"ttname\"><a href=\"classQsciStyledText.html#a72dbd9d847a577fe5c438d1582920887\">QsciStyledText::QsciStyledText</a></div><div class=\"ttdeci\">QsciStyledText(const QString &amp;text, int style)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad6fb5a9621640080fc9909f94b6c0213\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">QsciScintillaBase::focusNextPrevChild</a></div><div class=\"ttdeci\">virtual bool focusNextPrevChild(bool next)</div><div class=\"ttdoc\">Re-implemented to allow tabs to be entered as text.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a9405d8aaa240dfc8fe30c3a4b5556ecc\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a9405d8aaa240dfc8fe30c3a4b5556ecc\">QsciScintilla::setContractedFolds</a></div><div class=\"ttdeci\">void setContractedFolds(const QList&lt; int &gt; &amp;folds)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a4ba18e98a98310113fb30d8ada30fe14\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a4ba18e98a98310113fb30d8ada30fe14\">QsciScintilla::setAutoCompletionWordSeparators</a></div><div class=\"ttdeci\">void setAutoCompletionWordSeparators(const QStringList &amp;separators)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae308bac1c3567d835742e02f1bc35a6c\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae308bac1c3567d835742e02f1bc35a6c\">QsciScintilla::resetMatchedBraceIndicator</a></div><div class=\"ttdeci\">void resetMatchedBraceIndicator()</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a40b8ec37e068b12d9c83ee497929a00e\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">QsciScintilla::EdgeMode</a></div><div class=\"ttdeci\">EdgeMode</div><div class=\"ttdoc\">This enum defines the different edge modes for long lines.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:178</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a336165187c8ab4cc5e51912033316943\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a336165187c8ab4cc5e51912033316943\">QsciLexerHTML::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a21724c1f53b67ec6bc72c7ceb1e03d8f\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">QsciLexerFortran77::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a3de5fbc4e99be9cb9d10d90dd8b1059d\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a3de5fbc4e99be9cb9d10d90dd8b1059d\">QsciMacro::play</a></div><div class=\"ttdeci\">virtual void play()</div><div class=\"ttdoc\">Play the macro.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aaf19a3abaa1b1662a0f1b499ef4b6602\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">QsciScintilla::setHotspotBackgroundColor</a></div><div class=\"ttdeci\">void setHotspotBackgroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac0f785ba228153e9df6df76ca036c030\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">QsciScintilla::beginUndoAction</a></div><div class=\"ttdeci\">void beginUndoAction()</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_a3084b749e4eb1c741fc1004e8a84a631\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">QsciAPIs::load</a></div><div class=\"ttdeci\">bool load(const QString &amp;filename)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_af4b249f267973d29380b758a25b42e46\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">QsciLexerJavaScript::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a632fe3f132c3679ada1fc22a57ca88f7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a632fe3f132c3679ada1fc22a57ca88f7\">QsciScintilla::callTipsStyle</a></div><div class=\"ttdeci\">CallTipsStyle callTipsStyle() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:648</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a06f4a0a490680e76ba0edb0fe4fe4dc5\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a06f4a0a490680e76ba0edb0fe4fe4dc5\">QsciLexerTeX::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexertex.h:100</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPOV_html_a5a599e7d97b164fec1ee3c21ba167e80\"><div class=\"ttname\"><a href=\"classQsciLexerPOV.html#a5a599e7d97b164fec1ee3c21ba167e80\">QsciLexerPOV::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a8820ab8d7563bd7ed24ce6384846079e\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">QsciScintillaBase::SendScintilla</a></div><div class=\"ttdeci\">long SendScintilla(unsigned int msg, unsigned long wParam=0, long lParam=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerXML_html_a57ae4ff270b1c66316b0849ff9017677\"><div class=\"ttname\"><a href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">QsciLexerXML::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a2243845007f5165eb5718a131be3ada3\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a2243845007f5165eb5718a131be3ada3\">QsciLexerProperties::setInitialSpaces</a></div><div class=\"ttdeci\">void setInitialSpaces(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac961cfe1be7cd29038a2772f30b71bfc\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac961cfe1be7cd29038a2772f30b71bfc\">QsciScintilla::setHotspotUnderline</a></div><div class=\"ttdeci\">void setHotspotUnderline(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_ab58e1e9d037d280fc74792ace83936d4\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#ab58e1e9d037d280fc74792ace83936d4\">QsciLexerPerl::foldPODBlocks</a></div><div class=\"ttdeci\">bool foldPODBlocks() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_af031b3510193023158fb74ca637f79b2\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">QsciLexerHTML::~QsciLexerHTML</a></div><div class=\"ttdeci\">virtual ~QsciLexerHTML()</div><div class=\"ttdoc\">Destroys the QsciLexerHTML instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_acd8475f0da36449dc6b1189a587d7a83\"><div class=\"ttname\"><a href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">QsciLexer::propertyChanged</a></div><div class=\"ttdeci\">void propertyChanged(const char *prop, const char *val)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_ae6bc53fc7e6dc90a80a26e22f6f49acb\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#ae6bc53fc7e6dc90a80a26e22f6f49acb\">QsciLexerPython::setV3BinaryOctalAllowed</a></div><div class=\"ttdeci\">void setV3BinaryOctalAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a3360bca839d08fdd2acf546b19b2fddd\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a3360bca839d08fdd2acf546b19b2fddd\">QsciLexerVerilog::QsciLexerVerilog</a></div><div class=\"ttdeci\">QsciLexerVerilog(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_ab7c3560b5333c595506d4244134e9b1b\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#ab7c3560b5333c595506d4244134e9b1b\">QsciLexerMakefile::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae4d479c640e2ea4444aa905f69495321\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">QsciScintilla::autoCompleteFromDocument</a></div><div class=\"ttdeci\">virtual void autoCompleteFromDocument()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a4c5ae7bc7d27946b1b07b940ef30a093\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML::QsciLexerHTML</a></div><div class=\"ttdeci\">QsciLexerHTML(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_aa60e141b7b1a7aac51d79ad2c27c4c93\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#aa60e141b7b1a7aac51d79ad2c27c4c93\">QsciLexerVHDL::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a6a108be4899959ffcb262f59de538964\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a6a108be4899959ffcb262f59de538964\">QsciLexerTCL::QsciLexerTCL</a></div><div class=\"ttdeci\">QsciLexerTCL(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a4119053764ba32a9975ad7eeb8f0f067\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">QsciLexerProperties::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_ae6e5819a3ddec15ac6926b5e19927bff\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#ae6e5819a3ddec15ac6926b5e19927bff\">QsciLexerSQL::setQuotedIdentifiers</a></div><div class=\"ttdeci\">void setQuotedIdentifiers(bool enable)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a157c462625b4826a5d7fb9eec42cfc78\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a157c462625b4826a5d7fb9eec42cfc78\">QsciLexerLua::blockStart</a></div><div class=\"ttdeci\">const char * blockStart(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html\">QsciLexerLua</a></div><div class=\"ttdoc\">The QsciLexerLua class encapsulates the Scintilla Lua lexer.</div><div class=\"ttdef\"><b>Definition:</b> qscilexerlua.h:33</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ab5ecfa6bee9e78e5306986367e1194af\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ab5ecfa6bee9e78e5306986367e1194af\">QsciScintilla::lineLength</a></div><div class=\"ttdeci\">int lineLength(int line) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a15390924acb08542856527f5d0101dab\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a15390924acb08542856527f5d0101dab\">QsciLexerAVS::QsciLexerAVS</a></div><div class=\"ttdeci\">QsciLexerAVS(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a242188212df611073f78d1eff326f5d5\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a242188212df611073f78d1eff326f5d5\">QsciLexerPerl::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_ad0a3dd6dfb77a069303bfeeeed43773f\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">QsciLexerCPP::setFoldAtElse</a></div><div class=\"ttdeci\">virtual void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a4bd5b007424a8e88db37a326c0f154b5\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a4bd5b007424a8e88db37a326c0f154b5\">QsciLexerPascal::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_adbaf4979024f12f9382df61cba0e75e8\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#adbaf4979024f12f9382df61cba0e75e8\">QsciLexerVerilog::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_aaa47506820a2596004688e241fc4cd9f\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">QsciAPIs::apiPreparationCancelled</a></div><div class=\"ttdeci\">void apiPreparationCancelled()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_aad362dd8a212974c01e61d12c8991b7f\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#aad362dd8a212974c01e61d12c8991b7f\">QsciLexerVHDL::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a828f1b56453686ccd423e979e55fbbae\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a828f1b56453686ccd423e979e55fbbae\">QsciScintilla::autoIndent</a></div><div class=\"ttdeci\">bool autoIndent() const</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:615</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_aa3bb000261e4752d89e06afe69d665f0\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#aa3bb000261e4752d89e06afe69d665f0\">QsciLexerRuby::QsciLexerRuby</a></div><div class=\"ttdeci\">QsciLexerRuby(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a9688ce1d302666e492900d3cdfcbbaab\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a9688ce1d302666e492900d3cdfcbbaab\">QsciLexerPascal::QsciLexerPascal</a></div><div class=\"ttdeci\">QsciLexerPascal(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a1ef7534c295a6323be9176fca79b1cbe\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">QsciLexerFortran77::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMatlab_html_a7afb79f0fec38396668dd52de7fc7c4b\"><div class=\"ttname\"><a href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">QsciLexerMatlab::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6bdcf192822a31094e680ffb2f142aab\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6bdcf192822a31094e680ffb2f142aab\">QsciScintilla::setFoldMarginColors</a></div><div class=\"ttdeci\">void setFoldMarginColors(const QColor &amp;fore, const QColor &amp;back)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_a57f1f1164f3719b4b855a3a163a78764\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#a57f1f1164f3719b4b855a3a163a78764\">QsciLexerCoffeeScript::setFoldComments</a></div><div class=\"ttdeci\">void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a62d0174cb0a07e3f2d48fc0603192668\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla::CallTipsStyle</a></div><div class=\"ttdeci\">CallTipsStyle</div><div class=\"ttdoc\">This enum defines the different call tip styles.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:156</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a4a13fa4667146e0dca9d8c15255280a9\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a4a13fa4667146e0dca9d8c15255280a9\">QsciLexerTCL::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af590f3e7196b21860e0405670cfa512d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af590f3e7196b21860e0405670cfa512d\">QsciScintilla::setMatchedBraceForegroundColor</a></div><div class=\"ttdeci\">void setMatchedBraceForegroundColor(const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a5786917722e156e26d6afca807d05fee\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">QsciScintilla::setText</a></div><div class=\"ttdeci\">virtual void setText(const QString &amp;text)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSQL_html_a35dfbbd04762b0450232c14862ec3ea6\"><div class=\"ttname\"><a href=\"classQsciLexerSQL.html#a35dfbbd04762b0450232c14862ec3ea6\">QsciLexerSQL::setFoldAtElse</a></div><div class=\"ttdeci\">void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_a18341dcb06d1b74269ed1f33c002b2a9\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#a18341dcb06d1b74269ed1f33c002b2a9\">QsciLexerBatch::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a9fe6e18dbb7ef4cad7f370286d7db0b7\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a9fe6e18dbb7ef4cad7f370286d7db0b7\">QsciLexerPython::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_a94cbc22361a55fe0681ad7fe5425dfb5\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#a94cbc22361a55fe0681ad7fe5425dfb5\">QsciLexerJavaScript::QsciLexerJavaScript</a></div><div class=\"ttdeci\">QsciLexerJavaScript(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerDiff_html_a1818bcdd3a7ec5b11ceacf720b07ddcd\"><div class=\"ttname\"><a href=\"classQsciLexerDiff.html#a1818bcdd3a7ec5b11ceacf720b07ddcd\">QsciLexerDiff::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_aeb517d586cb9569d072fcd8a9658911b\"><div class=\"ttname\"><a href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\">QsciCommand::validKey</a></div><div class=\"ttdeci\">static bool validKey(int key)</div><div class=\"ttdoc\">If the key key is valid then true is returned.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\">QsciScintilla::AcusExplicit</a></div><div class=\"ttdeci\">@ AcusExplicit</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:108</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a7ae8627b7ef9faf3bb3a25fdbcb3cd97\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">QsciLexerCPP::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_a9914377426e5e464f6d93ce2b64423a0\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#a9914377426e5e464f6d93ce2b64423a0\">QsciLexerPascal::blockEnd</a></div><div class=\"ttdeci\">const char * blockEnd(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerEDIFACT_html_aec9604240be31cf15709b0c0f2942d6e\"><div class=\"ttname\"><a href=\"classQsciLexerEDIFACT.html#aec9604240be31cf15709b0c0f2942d6e\">QsciLexerEDIFACT::QsciLexerEDIFACT</a></div><div class=\"ttdeci\">QsciLexerEDIFACT(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_aad1f452948047cc4ce0afc9bc9374061\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#aad1f452948047cc4ce0afc9bc9374061\">QsciLexerJSON::setHighlightComments</a></div><div class=\"ttdeci\">void setHighlightComments(bool highlight)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a59b529ccfcb1f7896efb523025371a03\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">QsciScintilla::WrapIndentMode</a></div><div class=\"ttdeci\">WrapIndentMode</div><div class=\"ttdoc\">This enum defines the different line wrap indentation modes.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:508</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a19a63e47d6b872b510d99d46abb2230f\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">QsciLexerProperties::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa627ee937acaae02dc0c5b468fd2643b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa627ee937acaae02dc0c5b468fd2643b\">QsciScintilla::setOverwriteMode</a></div><div class=\"ttdeci\">void setOverwriteMode(bool overwrite)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_af0fffa0361bad4a3a007c09a1811db9c\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#af0fffa0361bad4a3a007c09a1811db9c\">QsciLexerLua::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a1aec9b47eeaf611687eeeef0d1aa3a00\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">QsciScintillaBase::focusOutEvent</a></div><div class=\"ttdeci\">virtual void focusOutEvent(QFocusEvent *e)</div><div class=\"ttdoc\">Re-implemented to tell Scintilla it has lost the focus.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a4caa0f46faeb171710ec2657cd23436e\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a4caa0f46faeb171710ec2657cd23436e\">QsciLexerProperties::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPO_html_adfdd8ebdf8346a62055922065c5c3863\"><div class=\"ttname\"><a href=\"classQsciLexerPO.html#adfdd8ebdf8346a62055922065c5c3863\">QsciLexerPO::~QsciLexerPO</a></div><div class=\"ttdeci\">virtual ~QsciLexerPO()</div><div class=\"ttdoc\">Destroys the QsciLexerPO instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_add226b6ffbaee63c29a1f0da7de25784\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#add226b6ffbaee63c29a1f0da7de25784\">QsciLexerYAML::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a26eb997695e6b7292896743ac825a8ee\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a26eb997695e6b7292896743ac825a8ee\">QsciScintilla::setFont</a></div><div class=\"ttdeci\">void setFont(const QFont &amp;f)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a60519c0adb042373a1a79a73b68d7892\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a60519c0adb042373a1a79a73b68d7892\">QsciLexerPostScript::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html_a1fd3bee8279c7e3600ec0ed72dbc2d00\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">QsciLexerIDL::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a35d4260e9c1a68073a6b4f625c846c11\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a35d4260e9c1a68073a6b4f625c846c11\">QsciLexerYAML::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a8932efc560175dc70a88e23b8136bb8f\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a8932efc560175dc70a88e23b8136bb8f\">QsciLexerLua::QsciLexerLua</a></div><div class=\"ttdeci\">QsciLexerLua(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_a8bf8606224bc8841da7ebf53099f8bca\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#a8bf8606224bc8841da7ebf53099f8bca\">QsciLexerSpice::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a37506e7f15691f73445422beb341e750\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a37506e7f15691f73445422beb341e750\">QsciLexerD::~QsciLexerD</a></div><div class=\"ttdeci\">virtual ~QsciLexerD()</div><div class=\"ttdoc\">Destroys the QsciLexerD instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a405e4804f84e58476494314e7bf4d0a7\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">QsciScintilla::cancelFind</a></div><div class=\"ttdeci\">void cancelFind()</div></div>\n<div class=\"ttc\" id=\"aclassQsciAbstractAPIs_html_a62a50642b0b058016ed2fdf0922bdee8\"><div class=\"ttname\"><a href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">QsciAbstractAPIs::updateAutoCompletionList</a></div><div class=\"ttdeci\">virtual void updateAutoCompletionList(const QStringList &amp;context, QStringList &amp;list)=0</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">QsciScintillaBase::SC_MARK_SMALLRECT</a></div><div class=\"ttdeci\">@ SC_MARK_SMALLRECT</div><div class=\"ttdoc\">A smaller rectangle.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2573</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_afb98254d553128ba4ebf6151a496679f\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#afb98254d553128ba4ebf6151a496679f\">QsciScintilla::zoomIn</a></div><div class=\"ttdeci\">virtual void zoomIn(int range)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_aa0ca10c4e872620d0d6b2fa1fe1b9af0\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">QsciLexerYAML::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_a846ebeb36f0847cee3599860f787bcde\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#a846ebeb36f0847cee3599860f787bcde\">QsciLexerRuby::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerruby.h:203</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a30570eca6c21ea302b1c6c0bd733dc14\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a30570eca6c21ea302b1c6c0bd733dc14\">QsciLexerLua::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJSON_html_af4a9c85e527eda6c28663f055afa0be2\"><div class=\"ttname\"><a href=\"classQsciLexerJSON.html#af4a9c85e527eda6c28663f055afa0be2\">QsciLexerJSON::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3a0d1c86f15f218fe6c0e04fea0ba6d9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">QsciScintilla::setDocument</a></div><div class=\"ttdeci\">void setDocument(const QsciDocument &amp;document)</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommandSet_html_a7933fbb5a8b5cb234c4e48b472adc4a3\"><div class=\"ttname\"><a href=\"classQsciCommandSet.html#a7933fbb5a8b5cb234c4e48b472adc4a3\">QsciCommandSet::writeSettings</a></div><div class=\"ttdeci\">bool writeSettings(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a9e2c6ee91938aad61cfb7304de571bd4\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a9e2c6ee91938aad61cfb7304de571bd4\">QsciLexerMakefile::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCMake_html_aaae969a8e94db29a49849d7497e2cc74\"><div class=\"ttname\"><a href=\"classQsciLexerCMake.html#aaae969a8e94db29a49849d7497e2cc74\">QsciLexerCMake::setFoldAtElse</a></div><div class=\"ttdeci\">virtual void setFoldAtElse(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aea97c6fb0079a6e3e647443b6101ae9d\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aea97c6fb0079a6e3e647443b6101ae9d\">QsciScintilla::setCursorPosition</a></div><div class=\"ttdeci\">virtual void setCursorPosition(int line, int index)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_af9821d4ad823bc0840178c6fb9ab7a1d\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#af9821d4ad823bc0840178c6fb9ab7a1d\">QsciLexerSpice::~QsciLexerSpice</a></div><div class=\"ttdeci\">virtual ~QsciLexerSpice()</div><div class=\"ttdoc\">Destroys the QsciLexerSpice instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aff32517974ac1d8c8cd3c5b6c757ddc9\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">QsciScintilla::setModified</a></div><div class=\"ttdeci\">virtual void setModified(bool m)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a7320152a6d9098d07bba3da6c99a232e\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a7320152a6d9098d07bba3da6c99a232e\">QsciLexerPython::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciAPIs_html_aa5c7c8855162eeb1be74c226ebf1b1b6\"><div class=\"ttname\"><a href=\"classQsciAPIs.html#aa5c7c8855162eeb1be74c226ebf1b1b6\">QsciAPIs::cancelPreparation</a></div><div class=\"ttdeci\">void cancelPreparation()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a5e1785141798faf81dcff567b8df651f\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a5e1785141798faf81dcff567b8df651f\">QsciLexerYAML::QsciLexerYAML</a></div><div class=\"ttdeci\">QsciLexerYAML(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_a147ab3b400fcbe1e5d733b8a897f4930\"><div class=\"ttname\"><a href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">QsciLexer::defaultFont</a></div><div class=\"ttdeci\">virtual QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the default font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBatch_html_ac9329cbc86f1f1a915e548997af76a5f\"><div class=\"ttname\"><a href=\"classQsciLexerBatch.html#ac9329cbc86f1f1a915e548997af76a5f\">QsciLexerBatch::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a68474df4d256e32296c5f09c243a55db\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a68474df4d256e32296c5f09c243a55db\">QsciLexerPostScript::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCustom_html_a19d92643c31c4ec10eab14da7c931b55\"><div class=\"ttname\"><a href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">QsciLexerCustom::startStyling</a></div><div class=\"ttdeci\">void startStyling(int pos, int styleBits=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerJavaScript_html_a66b627130d76db15263b7502ec5d475c\"><div class=\"ttname\"><a href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">QsciLexerJavaScript::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a638b892c566301f0efe779c58516cbc0\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a638b892c566301f0efe779c58516cbc0\">QsciLexerProperties::refreshProperties</a></div><div class=\"ttdeci\">void refreshProperties()</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_a4d8069f6efaeba7c4fa810630bed2e2e\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">QsciLexerD::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_aed2f3934c2fe336324d6e79526c2f7a8\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">QsciLexerVHDL::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a0999f0d3c67472b6986486fd06775240\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a0999f0d3c67472b6986486fd06775240\">QsciScintilla::setCaretLineFrameWidth</a></div><div class=\"ttdeci\">virtual void setCaretLineFrameWidth(int width)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPerl_html_a269b1c3c788ae863939fd8b1749a5abf\"><div class=\"ttname\"><a href=\"classQsciLexerPerl.html#a269b1c3c788ae863939fd8b1749a5abf\">QsciLexerPerl::setFoldCompact</a></div><div class=\"ttdeci\">virtual void setFoldCompact(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a1ba78d98f1f2a18338782acbeb73d22e\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a1ba78d98f1f2a18338782acbeb73d22e\">QsciLexerTeX::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_abfb306fd9267f3af76bd144409776ba6\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#abfb306fd9267f3af76bd144409776ba6\">QsciLexerAVS::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac46502c93651ec7a6642afe5dca86ffc\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">QsciScintilla::addEdgeColumn</a></div><div class=\"ttdeci\">void addEdgeColumn(int colnr, const QColor &amp;col)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a9af4c417c88911b8c0ca653d643e3778\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">QsciLexerAVS::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_adb8531cdc862f79cce9fa4d970bc13a2\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#adb8531cdc862f79cce9fa4d970bc13a2\">QsciScintillaBase::contextMenuEvent</a></div><div class=\"ttdeci\">virtual void contextMenuEvent(QContextMenuEvent *e)</div><div class=\"ttdoc\">Re-implemented to handle the context menu.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">QsciScintillaBase::SC_MARK_ROUNDRECT</a></div><div class=\"ttdeci\">@ SC_MARK_ROUNDRECT</div><div class=\"ttdoc\">A rectangle.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintillabase.h:2567</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a87366cd0dc2931f62e9e4d6bcd870fdf\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a87366cd0dc2931f62e9e4d6bcd870fdf\">QsciScintilla::isUndoAvailable</a></div><div class=\"ttdeci\">bool isUndoAvailable() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerBash_html_a65ab592afff78804f6487dd7badd00cf\"><div class=\"ttname\"><a href=\"classQsciLexerBash.html#a65ab592afff78804f6487dd7badd00cf\">QsciLexerBash::wordCharacters</a></div><div class=\"ttdeci\">const char * wordCharacters() const</div><div class=\"ttdoc\">Returns the string of characters that comprise a word.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCSS_html_a26df830be43cb0ca067b5e0ad037171a\"><div class=\"ttname\"><a href=\"classQsciLexerCSS.html#a26df830be43cb0ca067b5e0ad037171a\">QsciLexerCSS::LessLanguage</a></div><div class=\"ttdeci\">bool LessLanguage() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexercss.h:196</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a8911af504ebdc870f09da4c7a491eeeb\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a8911af504ebdc870f09da4c7a491eeeb\">QsciScintilla::standardCommands</a></div><div class=\"ttdeci\">QsciCommandSet * standardCommands() const</div><div class=\"ttdoc\">The standard command set is returned.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:1550</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_aa7743a3805662a27ae52a56af3ac315a\"><div class=\"ttname\"><a href=\"classQsciStyle.html#aa7743a3805662a27ae52a56af3ac315a\">QsciStyle::setColor</a></div><div class=\"ttdeci\">void setColor(const QColor &amp;color)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\">QsciScintilla::WrapFlagByText</a></div><div class=\"ttdeci\">@ WrapFlagByText</div><div class=\"ttdoc\">A wrap flag is displayed by the text.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:498</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a682cc736272338433efdc86bc936e0e8\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">QsciScintillaBase::SCN_HOTSPOTDOUBLECLICK</a></div><div class=\"ttdeci\">void SCN_HOTSPOTDOUBLECLICK(int position, int modifiers)</div></div>\n<div class=\"ttc\" id=\"aclassQsciCommand_html_a6488ddf82659fcf42d704f787b6cb522\"><div class=\"ttname\"><a href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">QsciCommand::setKey</a></div><div class=\"ttdeci\">void setKey(int key)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerProperties_html_a3786c34824a30c5a366f30cb9e8bf115\"><div class=\"ttname\"><a href=\"classQsciLexerProperties.html#a3786c34824a30c5a366f30cb9e8bf115\">QsciLexerProperties::initialSpaces</a></div><div class=\"ttdeci\">bool initialSpaces() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerproperties.h:115</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a2b148c2c2065f1ef1563421303a02225\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a2b148c2c2065f1ef1563421303a02225\">QsciScintilla::setMarginText</a></div><div class=\"ttdeci\">void setMarginText(int line, const QList&lt; QsciStyledText &gt; &amp;text)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintillaBase_html_a425344ca700d69b60ffeb3f8122f7ff9\"><div class=\"ttname\"><a href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase::QsciScintillaBase</a></div><div class=\"ttdeci\">QsciScintillaBase(QWidget *parent=0)</div><div class=\"ttdoc\">Construct an empty QsciScintillaBase with parent parent.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a2467729449b6c78d63305b88b2f62789\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">QsciLexerPython::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a5e9de211c7e94a22da5c0d599a9e494b\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a5e9de211c7e94a22da5c0d599a9e494b\">QsciLexerPython::defaultPaper</a></div><div class=\"ttdeci\">QColor defaultPaper(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6a577313664af6dc63885f03e88d03af\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6a577313664af6dc63885f03e88d03af\">QsciScintilla::annotation</a></div><div class=\"ttdeci\">QString annotation(int line) const</div><div class=\"ttdoc\">Returns the annotation on line line, if any.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_ad09e8331b90feeab761f845ac80e0b6d\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#ad09e8331b90feeab761f845ac80e0b6d\">QsciLexerPascal::defaultColor</a></div><div class=\"ttdeci\">QColor defaultColor(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_a0cfceb4470cde4184e76076ac34dea29\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#a0cfceb4470cde4184e76076ac34dea29\">QsciLexerYAML::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciMacro_html_a4a5648ea6c1e35aaaa55f9aaf83e7eda\"><div class=\"ttname\"><a href=\"classQsciMacro.html#a4a5648ea6c1e35aaaa55f9aaf83e7eda\">QsciMacro::startRecording</a></div><div class=\"ttdeci\">virtual void startRecording()</div><div class=\"ttdoc\">Start recording user commands and add them to the macro.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_a0e389df0054dbbafafe6196c71d50738\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#a0e389df0054dbbafafe6196c71d50738\">QsciLexerSpice::lexer</a></div><div class=\"ttdeci\">const char * lexer() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a4f8b9edd94c36344bd7152d15731509a\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a4f8b9edd94c36344bd7152d15731509a\">QsciStyle::setVisible</a></div><div class=\"ttdeci\">void setVisible(bool visible)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerRuby_html_aa6e85b803ff580acecda16deaa70c758\"><div class=\"ttname\"><a href=\"classQsciLexerRuby.html#aa6e85b803ff580acecda16deaa70c758\">QsciLexerRuby::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_af67874dae6e032c44d4ccde569e2decb\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#af67874dae6e032c44d4ccde569e2decb\">QsciScintilla::setAutoCompletionReplaceWord</a></div><div class=\"ttdeci\">virtual void setAutoCompletionReplaceWord(bool replace)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerLua_html_a27383c2def3f59e903aec9537ef43d2c\"><div class=\"ttname\"><a href=\"classQsciLexerLua.html#a27383c2def3f59e903aec9537ef43d2c\">QsciLexerLua::foldCompact</a></div><div class=\"ttdeci\">bool foldCompact() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3eace684c0a33e044cceb300b1a97798\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3eace684c0a33e044cceb300b1a97798\">QsciScintilla::markersAtLine</a></div><div class=\"ttdeci\">unsigned markersAtLine(int linenr) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexer_html_afccca7eb1aed463f89ac442d99135839\"><div class=\"ttname\"><a href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">QsciLexer::caseSensitive</a></div><div class=\"ttdeci\">virtual bool caseSensitive() const</div><div class=\"ttdoc\">Returns true if the language is case sensitive. The default is true.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTCL_html_a71b5b892a7a30a4f57b9efa64fdf5f32\"><div class=\"ttname\"><a href=\"classQsciLexerTCL.html#a71b5b892a7a30a4f57b9efa64fdf5f32\">QsciLexerTCL::foldComments</a></div><div class=\"ttdeci\">bool foldComments() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexertcl.h:165</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPascal_html_abe045873399199ba05d26e94c0e28aae\"><div class=\"ttname\"><a href=\"classQsciLexerPascal.html#abe045873399199ba05d26e94c0e28aae\">QsciLexerPascal::blockStartKeyword</a></div><div class=\"ttdeci\">const char * blockStartKeyword(int *style=0) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerTeX_html_a3218dcdca816cbdc739b2555df366a9a\"><div class=\"ttname\"><a href=\"classQsciLexerTeX.html#a3218dcdca816cbdc739b2555df366a9a\">QsciLexerTeX::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerIDL_html_af929c0ded0d4d822d7b31d00103262de\"><div class=\"ttname\"><a href=\"classQsciLexerIDL.html#af929c0ded0d4d822d7b31d00103262de\">QsciLexerIDL::QsciLexerIDL</a></div><div class=\"ttdeci\">QsciLexerIDL(QObject *parent=0)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMakefile_html_a4c9199cfee7bb097359fb238859470a9\"><div class=\"ttname\"><a href=\"classQsciLexerMakefile.html#a4c9199cfee7bb097359fb238859470a9\">QsciLexerMakefile::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciStyle_html_a6767dbb23f68292ef9e892dad31ffd9e\"><div class=\"ttname\"><a href=\"classQsciStyle.html#a6767dbb23f68292ef9e892dad31ffd9e\">QsciStyle::setEolFill</a></div><div class=\"ttdeci\">void setEolFill(bool fill)</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a3b281217e1abc5b4b4ccf8145df4b2ca\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a3b281217e1abc5b4b4ccf8145df4b2ca\">QsciScintilla::isListActive</a></div><div class=\"ttdeci\">bool isListActive() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerD_html_ab55d105b2aa041682b67218fcdf964c6\"><div class=\"ttname\"><a href=\"classQsciLexerD.html#ab55d105b2aa041682b67218fcdf964c6\">QsciLexerD::defaultEolFill</a></div><div class=\"ttdeci\">bool defaultEolFill(int style) const</div><div class=\"ttdoc\">Returns the end-of-line fill for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a6fca34c3778ad8b4c067d577816ebc2b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a6fca34c3778ad8b4c067d577816ebc2b\">QsciScintilla::edgeMode</a></div><div class=\"ttdeci\">EdgeMode edgeMode() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_aa44a01f20a2d88c06c561f0043b4f83b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">QsciScintilla::extraDescent</a></div><div class=\"ttdeci\">int extraDescent() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_aa4abeabae54373d536961d0aabb5ecdf\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#aa4abeabae54373d536961d0aabb5ecdf\">QsciLexerPython::stringsOverNewlineAllowed</a></div><div class=\"ttdeci\">bool stringsOverNewlineAllowed() const</div><div class=\"ttdef\"><b>Definition:</b> qscilexerpython.h:234</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerMarkdown_html_a7a06bdb17ebde731368ec204404ed0ee\"><div class=\"ttname\"><a href=\"classQsciLexerMarkdown.html#a7a06bdb17ebde731368ec204404ed0ee\">QsciLexerMarkdown::language</a></div><div class=\"ttdeci\">const char * language() const</div><div class=\"ttdoc\">Returns the name of the language.</div></div>\n<div class=\"ttc\" id=\"aclassQsciScintilla_html_a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\"><div class=\"ttname\"><a href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\">QsciScintilla::CallTipsNone</a></div><div class=\"ttdeci\">@ CallTipsNone</div><div class=\"ttdoc\">Call tips are disabled.</div><div class=\"ttdef\"><b>Definition:</b> qsciscintilla.h:158</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_aa58025e7a9aa9241a64026f00764fb4e\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">QsciLexerFortran77::description</a></div><div class=\"ttdeci\">QString description(int style) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerSpice_html_a7360e3bd243de3e4cbb76637f6d2313d\"><div class=\"ttname\"><a href=\"classQsciLexerSpice.html#a7360e3bd243de3e4cbb76637f6d2313d\">QsciLexerSpice::defaultFont</a></div><div class=\"ttdeci\">QFont defaultFont(int style) const</div><div class=\"ttdoc\">Returns the font for style number style.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a35e71b31d8d197052c7c5250ff21f094\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a35e71b31d8d197052c7c5250ff21f094\">QsciLexerPython::setFoldComments</a></div><div class=\"ttdeci\">virtual void setFoldComments(bool fold)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPostScript_html_a87168d5b174ba3a9b969ef689f67b355\"><div class=\"ttname\"><a href=\"classQsciLexerPostScript.html#a87168d5b174ba3a9b969ef689f67b355\">QsciLexerPostScript::readProperties</a></div><div class=\"ttdeci\">bool readProperties(QSettings &amp;qs, const QString &amp;prefix)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerYAML_html_adc63ea477a2869f4ea9f1b3fe69d56fb\"><div class=\"ttname\"><a href=\"classQsciLexerYAML.html#adc63ea477a2869f4ea9f1b3fe69d56fb\">QsciLexerYAML::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCPP_html_a015dce05877d292d399fb207e79632cf\"><div class=\"ttname\"><a href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">QsciLexerCPP::setVerbatimStringEscapeSequencesAllowed</a></div><div class=\"ttdeci\">void setVerbatimStringEscapeSequencesAllowed(bool allowed)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a305ec320aa2357947cbeb1608b95d840\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a305ec320aa2357947cbeb1608b95d840\">QsciLexerPython::autoCompletionWordSeparators</a></div><div class=\"ttdeci\">QStringList autoCompletionWordSeparators() const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVerilog_html_a97b418522a5866d04d9553931dd1c7f4\"><div class=\"ttname\"><a href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">QsciLexerVerilog::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerPython_html_a421ab12187730bc0686dc72710867ec3\"><div class=\"ttname\"><a href=\"classQsciLexerPython.html#a421ab12187730bc0686dc72710867ec3\">QsciLexerPython::setIndentationWarning</a></div><div class=\"ttdeci\">virtual void setIndentationWarning(QsciLexerPython::IndentationWarning warn)</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerVHDL_html_aab4dd4635d954113eecb698c46395d0b\"><div class=\"ttname\"><a href=\"classQsciLexerVHDL.html#aab4dd4635d954113eecb698c46395d0b\">QsciLexerVHDL::~QsciLexerVHDL</a></div><div class=\"ttdeci\">virtual ~QsciLexerVHDL()</div><div class=\"ttdoc\">Destroys the QsciLexerVHDL instance.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerAVS_html_a6b8fc8bf46c22c3efafd92179b644788\"><div class=\"ttname\"><a href=\"classQsciLexerAVS.html#a6b8fc8bf46c22c3efafd92179b644788\">QsciLexerAVS::writeProperties</a></div><div class=\"ttdeci\">bool writeProperties(QSettings &amp;qs, const QString &amp;prefix) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerFortran77_html_a7df3e986e8039ee6028b39d0df1741d1\"><div class=\"ttname\"><a href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">QsciLexerFortran77::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerHTML_html_a56b7f081e520f7660490e3d206d83a73\"><div class=\"ttname\"><a href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">QsciLexerHTML::keywords</a></div><div class=\"ttdeci\">const char * keywords(int set) const</div></div>\n<div class=\"ttc\" id=\"aclassQsciLexerCoffeeScript_html_add9b1d85d9da1c250f570482cd47eb39\"><div class=\"ttname\"><a href=\"classQsciLexerCoffeeScript.html#add9b1d85d9da1c250f570482cd47eb39\">QsciLexerCoffeeScript::braceStyle</a></div><div class=\"ttdeci\">int braceStyle() const</div><div class=\"ttdoc\">Returns the style used for braces for brace matching.</div></div>\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciCommand-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciCommand Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">alternateKey</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aeae07e48b489c0cc937bf83bef4f0c9c\">Backtab</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3905c749d29761ae2a594c14e1fb26c9\">Cancel</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a88dc0fc0d4642486fb54dce5045a5b8b\">CharLeft</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af23e0b934931581f6b383a4b3de10b48\">CharLeftExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa62e9ab460a49ff8b9c3c55219f98abb\">CharLeftRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3ce1411c8761d1562fa8e8b5d7609df7\">CharRight</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae6afb296e30c48ae1c4992817d673bf\">CharRightExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aedd92e9ae8401fb13ab6d01667949938\">CharRightRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">Command</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aebfa962809b16312fa03f7526cc60f07\">command</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad763b356ba37cf93b78201baea5aa00d\">Delete</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82626bce8a0acdd6c4c196865629e81b\">DeleteBack</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adadf0fa77a7ce5496fce517bc9e0a723\">DeleteBackNotLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b9644d959806dd50a8dce00bf521e13\">DeleteLineLeft</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a21407e4871585bcfb0d76dbf7be87650\">DeleteLineRight</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a66566eb3ac1ad83cc6ef2913d449d193\">DeleteWordLeft</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0a5ea33d56c6c45fe80f5b1f66975ffa\">DeleteWordRight</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae1a8da5398be3fb7c5e32f868bf4af14\">DeleteWordRightEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#a76ed201e9e7309084795ddbc8f6e5b49\">description</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e059c91d4d3d5037d0dce9c8fa735a0\">DocumentEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6b77e65e9d026dd2a3af831ddfcc664\">DocumentEndExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae0d2fa78fc42366a578b50cae1c44a8f\">DocumentStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a368bc9e6e89a0f9504a49fc97477618b\">DocumentStartExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab6c8c98a6027e8a88783f18dbca2bdf4\">EditToggleOvertype</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aa0bf23ebd61dd46a4eb59447e43c4cab\">execute</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3b46d96af1feddb3560236b9e75c39c2\">Formfeed</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a607f851f9833e13dbf335009ebd2ca37\">Home</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a71d0019b185b1d65e9d3574651a1b55f\">HomeDisplay</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82851feb57f239b98cfa52fb2307fe66\">HomeDisplayExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbb515f305f0dc715372708d91be80aa\">HomeExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3cf62acaae368a7a1e88a6300fbf1de4\">HomeRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab67874e23a95cc208bcbb0de0cf16d90\">HomeWrap</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa5afb3470010c1075e61cd4216a1714c\">HomeWrapExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">key</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa762bf03d4d23f764de57c146c9a658d\">LineCopy</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a91f9ce105ac6ead565f6f8e00ec0e9a6\">LineCut</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a291afea2c733abf34e20b0c25814dc5c\">LineDelete</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff3d71de76b3948d3576bf6f6164d435\">LineDown</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a12027f7b5ad1f98b9d7f5b20a1b19856\">LineDownExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4e166fc8f33e759313cf124be9dc960e\">LineDownRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8cc01e22c3d5cc697f87b00dcedb33f5\">LineDuplicate</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a175bcd4e973a6ae4553827db95d987f6\">LineEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a77dc6d96d21c32e61b8e3809759eec37\">LineEndDisplay</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acfe625def4c875c4f3ed4011c1d30f30\">LineEndDisplayExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4f42905e1e54f6eb4e91eb832c07e387\">LineEndExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6d942d99ab734f6b5c1160cbe18a6197\">LineEndRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bcecd03bc30e56d92035364f1c4d3aa\">LineEndWrap</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8528ef0f7030d4eaa9cc93c1fb0f00d2\">LineEndWrapExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac48505ac24f80eabcb61b93e6eb20f0d\">LineScrollDown</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7abd1999204d26dee95623a1a4926d1694\">LineScrollUp</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad6895dbe64da12bd7749e9c7bf4d8e75\">LineTranspose</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6108080747db44fba6676a90721edf3b\">LineUp</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a620ae67b9bdb35d46d0fadd66d578725\">LineUpExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a25673ac6266e5d5400328cb32c50064c\">LineUpRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae256fc63ff21305b2a1d93d7f05bee5\">MoveSelectedLinesDown</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af5335bf501eb458872740c610db3617b\">MoveSelectedLinesUp</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae71d9db2e7cf1f6ca4b731675e1d63a1\">Newline</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbd164907353acc3e218943d86d03b23\">PageDown</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6febe41f0669f54f4c14f2c32329569\">PageDownExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a70472783731018e17e0943ee14e4ca6d\">PageDownRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a69b8ec474437f655c93b019729093b82\">PageUp</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac9c27eb69dde18a38bc1cbc84c9ee430\">PageUpExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a31667dadedf4289250d3e1b5a1e9bf36\">PageUpRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b695afb34e16591b039b9a318729838\">ParaDown</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a343a73f6732c17f02d9e8158c935abde\">ParaDownExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bd7f7cdb9537b4b7b9bdf58aeae3733\">ParaUp</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac121331a789c14d2d8ee4065877c2127\">ParaUpExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac0877b23ce38bba85fc30eecb347a662\">Paste</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad12c4dd6bcaefc08fcff8fe3d80b3b66\">Redo</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a740c74f61e7d91060ccc9e0945318787\">ReverseLines</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a16b9e2cd58ea3f6d094bf870e1e9e083\">ScrollToEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad32c75499899527ccb721d6221e0b1f1\">ScrollToStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8ddbd8f97e85bbef9e728a1293a94983\">SelectAll</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a200b4ecea5a65b8690e8393b8ad3d512\">SelectionCopy</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a11cd9c83a7a1b74dc2a936e324ecf99e\">SelectionCut</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad10ac67847b362c169d7e3b0b3463290\">SelectionDuplicate</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff49104707e447f73d08afd744b1f68d\">SelectionLowerCase</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5df7c07cf8cf1eee546837ece594dcaa\">SelectionUpperCase</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">setAlternateKey</a>(int altkey)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">setKey</a>(int key)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab05b31fae6958a99166222cc3efd076a\">StutteredPageDown</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad07964451843f3c910b7228dfb589857\">StutteredPageDownExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a9be0a9fe5bfc0864f0f40987a4806a62\">StutteredPageUp</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a26d878df5382e38843e754078aa8f44f\">StutteredPageUpExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab89051fd7c64cea84abec8d21809d2ee\">Tab</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0089e5295b999464b699fb736a449b4f\">Undo</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\">validKey</a>(int key)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"><span class=\"mlabel\">static</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac443339cd46d0646cd97870506e91110\">VCHome</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1e0ff1255da4ea0a77750d55a9aaaef4\">VCHomeExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adbf224a91e83518a244bb5a726c69bed\">VCHomeRectExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7affdd507c7e4221726f980f95910ed5a5\">VCHomeWrap</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af1db27f7f04534cc2071e71c422e4a45\">VCHomeWrapExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a593083e106606bf5fb3d2322068c455f\">VerticalCentreCaret</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aec027d50c71ee8604872c5cc839250cd\">WordLeft</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac3e19af04d3083f26408dcb6ad3c73b7\">WordLeftEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab2f7d005b37a7b61964e456b26d4a3f6\">WordLeftEndExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5b4b9629de523b97fcbad43c21dc37bb\">WordLeftExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac1b4586de16ecd614e34d98c7ca360ec\">WordPartLeft</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0e5436d5c8bd4e42f0e542cbb852645d\">WordPartLeftExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a78c1a79cb762dc96072ef5bc1d90b20b\">WordPartRight</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1ad48872dc33ca01b0502594c6dd6df1\">WordPartRightExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e61252df5bfefd5081d9cb4170844d3\">WordRight</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1099ee8200e0d0799a2721ff9828fe48\">WordRightEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a455d6eda859feb8aed088f22587d5aa3\">WordRightEndExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac69665982f4477d00509573ceea8a8f3\">WordRightExtend</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5e12affbccb0a63c1bd78ca5617b0289\">ZoomIn</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae5d11d096795f1a1c7b4d56e41c9b1af\">ZoomOut</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a></td><td class=\"entry\"></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciCommand.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciCommand Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pub-static-methods\">Static Public Member Functions</a> &#124;\n<a href=\"classQsciCommand-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciCommand Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscicommand.h&gt;</code></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:aeaecb067c0834ba132e204a09dd942c7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">Command</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff3d71de76b3948d3576bf6f6164d435\">LineDown</a> = QsciScintillaBase::SCI_LINEDOWN, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a12027f7b5ad1f98b9d7f5b20a1b19856\">LineDownExtend</a> = QsciScintillaBase::SCI_LINEDOWNEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4e166fc8f33e759313cf124be9dc960e\">LineDownRectExtend</a> = QsciScintillaBase::SCI_LINEDOWNRECTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac48505ac24f80eabcb61b93e6eb20f0d\">LineScrollDown</a> = QsciScintillaBase::SCI_LINESCROLLDOWN, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6108080747db44fba6676a90721edf3b\">LineUp</a> = QsciScintillaBase::SCI_LINEUP, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a620ae67b9bdb35d46d0fadd66d578725\">LineUpExtend</a> = QsciScintillaBase::SCI_LINEUPEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a25673ac6266e5d5400328cb32c50064c\">LineUpRectExtend</a> = QsciScintillaBase::SCI_LINEUPRECTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7abd1999204d26dee95623a1a4926d1694\">LineScrollUp</a> = QsciScintillaBase::SCI_LINESCROLLUP, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad32c75499899527ccb721d6221e0b1f1\">ScrollToStart</a> = QsciScintillaBase::SCI_SCROLLTOSTART, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a16b9e2cd58ea3f6d094bf870e1e9e083\">ScrollToEnd</a> = QsciScintillaBase::SCI_SCROLLTOEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a593083e106606bf5fb3d2322068c455f\">VerticalCentreCaret</a> = QsciScintillaBase::SCI_VERTICALCENTRECARET, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b695afb34e16591b039b9a318729838\">ParaDown</a> = QsciScintillaBase::SCI_PARADOWN, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a343a73f6732c17f02d9e8158c935abde\">ParaDownExtend</a> = QsciScintillaBase::SCI_PARADOWNEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bd7f7cdb9537b4b7b9bdf58aeae3733\">ParaUp</a> = QsciScintillaBase::SCI_PARAUP, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac121331a789c14d2d8ee4065877c2127\">ParaUpExtend</a> = QsciScintillaBase::SCI_PARAUPEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a88dc0fc0d4642486fb54dce5045a5b8b\">CharLeft</a> = QsciScintillaBase::SCI_CHARLEFT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af23e0b934931581f6b383a4b3de10b48\">CharLeftExtend</a> = QsciScintillaBase::SCI_CHARLEFTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa62e9ab460a49ff8b9c3c55219f98abb\">CharLeftRectExtend</a> = QsciScintillaBase::SCI_CHARLEFTRECTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3ce1411c8761d1562fa8e8b5d7609df7\">CharRight</a> = QsciScintillaBase::SCI_CHARRIGHT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae6afb296e30c48ae1c4992817d673bf\">CharRightExtend</a> = QsciScintillaBase::SCI_CHARRIGHTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aedd92e9ae8401fb13ab6d01667949938\">CharRightRectExtend</a> = QsciScintillaBase::SCI_CHARRIGHTRECTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aec027d50c71ee8604872c5cc839250cd\">WordLeft</a> = QsciScintillaBase::SCI_WORDLEFT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5b4b9629de523b97fcbad43c21dc37bb\">WordLeftExtend</a> = QsciScintillaBase::SCI_WORDLEFTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e61252df5bfefd5081d9cb4170844d3\">WordRight</a> = QsciScintillaBase::SCI_WORDRIGHT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac69665982f4477d00509573ceea8a8f3\">WordRightExtend</a> = QsciScintillaBase::SCI_WORDRIGHTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac3e19af04d3083f26408dcb6ad3c73b7\">WordLeftEnd</a> = QsciScintillaBase::SCI_WORDLEFTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab2f7d005b37a7b61964e456b26d4a3f6\">WordLeftEndExtend</a> = QsciScintillaBase::SCI_WORDLEFTENDEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1099ee8200e0d0799a2721ff9828fe48\">WordRightEnd</a> = QsciScintillaBase::SCI_WORDRIGHTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a455d6eda859feb8aed088f22587d5aa3\">WordRightEndExtend</a> = QsciScintillaBase::SCI_WORDRIGHTENDEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac1b4586de16ecd614e34d98c7ca360ec\">WordPartLeft</a> = QsciScintillaBase::SCI_WORDPARTLEFT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0e5436d5c8bd4e42f0e542cbb852645d\">WordPartLeftExtend</a> = QsciScintillaBase::SCI_WORDPARTLEFTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a78c1a79cb762dc96072ef5bc1d90b20b\">WordPartRight</a> = QsciScintillaBase::SCI_WORDPARTRIGHT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1ad48872dc33ca01b0502594c6dd6df1\">WordPartRightExtend</a> = QsciScintillaBase::SCI_WORDPARTRIGHTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a607f851f9833e13dbf335009ebd2ca37\">Home</a> = QsciScintillaBase::SCI_HOME, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbb515f305f0dc715372708d91be80aa\">HomeExtend</a> = QsciScintillaBase::SCI_HOMEEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3cf62acaae368a7a1e88a6300fbf1de4\">HomeRectExtend</a> = QsciScintillaBase::SCI_HOMERECTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a71d0019b185b1d65e9d3574651a1b55f\">HomeDisplay</a> = QsciScintillaBase::SCI_HOMEDISPLAY, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82851feb57f239b98cfa52fb2307fe66\">HomeDisplayExtend</a> = QsciScintillaBase::SCI_HOMEDISPLAYEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab67874e23a95cc208bcbb0de0cf16d90\">HomeWrap</a> = QsciScintillaBase::SCI_HOMEWRAP, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa5afb3470010c1075e61cd4216a1714c\">HomeWrapExtend</a> = QsciScintillaBase::SCI_HOMEWRAPEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac443339cd46d0646cd97870506e91110\">VCHome</a> = QsciScintillaBase::SCI_VCHOME, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1e0ff1255da4ea0a77750d55a9aaaef4\">VCHomeExtend</a> = QsciScintillaBase::SCI_VCHOMEEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adbf224a91e83518a244bb5a726c69bed\">VCHomeRectExtend</a> = QsciScintillaBase::SCI_VCHOMERECTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7affdd507c7e4221726f980f95910ed5a5\">VCHomeWrap</a> = QsciScintillaBase::SCI_VCHOMEWRAP, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af1db27f7f04534cc2071e71c422e4a45\">VCHomeWrapExtend</a> = QsciScintillaBase::SCI_VCHOMEWRAPEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a175bcd4e973a6ae4553827db95d987f6\">LineEnd</a> = QsciScintillaBase::SCI_LINEEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4f42905e1e54f6eb4e91eb832c07e387\">LineEndExtend</a> = QsciScintillaBase::SCI_LINEENDEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6d942d99ab734f6b5c1160cbe18a6197\">LineEndRectExtend</a> = QsciScintillaBase::SCI_LINEENDRECTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a77dc6d96d21c32e61b8e3809759eec37\">LineEndDisplay</a> = QsciScintillaBase::SCI_LINEENDDISPLAY, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acfe625def4c875c4f3ed4011c1d30f30\">LineEndDisplayExtend</a> = QsciScintillaBase::SCI_LINEENDDISPLAYEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bcecd03bc30e56d92035364f1c4d3aa\">LineEndWrap</a> = QsciScintillaBase::SCI_LINEENDWRAP, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8528ef0f7030d4eaa9cc93c1fb0f00d2\">LineEndWrapExtend</a> = QsciScintillaBase::SCI_LINEENDWRAPEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae0d2fa78fc42366a578b50cae1c44a8f\">DocumentStart</a> = QsciScintillaBase::SCI_DOCUMENTSTART, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a368bc9e6e89a0f9504a49fc97477618b\">DocumentStartExtend</a> = QsciScintillaBase::SCI_DOCUMENTSTARTEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e059c91d4d3d5037d0dce9c8fa735a0\">DocumentEnd</a> = QsciScintillaBase::SCI_DOCUMENTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6b77e65e9d026dd2a3af831ddfcc664\">DocumentEndExtend</a> = QsciScintillaBase::SCI_DOCUMENTENDEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a69b8ec474437f655c93b019729093b82\">PageUp</a> = QsciScintillaBase::SCI_PAGEUP, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac9c27eb69dde18a38bc1cbc84c9ee430\">PageUpExtend</a> = QsciScintillaBase::SCI_PAGEUPEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a31667dadedf4289250d3e1b5a1e9bf36\">PageUpRectExtend</a> = QsciScintillaBase::SCI_PAGEUPRECTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbd164907353acc3e218943d86d03b23\">PageDown</a> = QsciScintillaBase::SCI_PAGEDOWN, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6febe41f0669f54f4c14f2c32329569\">PageDownExtend</a> = QsciScintillaBase::SCI_PAGEDOWNEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a70472783731018e17e0943ee14e4ca6d\">PageDownRectExtend</a> = QsciScintillaBase::SCI_PAGEDOWNRECTEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a9be0a9fe5bfc0864f0f40987a4806a62\">StutteredPageUp</a> = QsciScintillaBase::SCI_STUTTEREDPAGEUP, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a26d878df5382e38843e754078aa8f44f\">StutteredPageUpExtend</a> = QsciScintillaBase::SCI_STUTTEREDPAGEUPEXTEND, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab05b31fae6958a99166222cc3efd076a\">StutteredPageDown</a> = QsciScintillaBase::SCI_STUTTEREDPAGEDOWN, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad07964451843f3c910b7228dfb589857\">StutteredPageDownExtend</a> = QsciScintillaBase::SCI_STUTTEREDPAGEDOWNEXTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad763b356ba37cf93b78201baea5aa00d\">Delete</a> = QsciScintillaBase::SCI_CLEAR, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82626bce8a0acdd6c4c196865629e81b\">DeleteBack</a> = QsciScintillaBase::SCI_DELETEBACK, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adadf0fa77a7ce5496fce517bc9e0a723\">DeleteBackNotLine</a> = QsciScintillaBase::SCI_DELETEBACKNOTLINE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a66566eb3ac1ad83cc6ef2913d449d193\">DeleteWordLeft</a> = QsciScintillaBase::SCI_DELWORDLEFT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0a5ea33d56c6c45fe80f5b1f66975ffa\">DeleteWordRight</a> = QsciScintillaBase::SCI_DELWORDRIGHT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae1a8da5398be3fb7c5e32f868bf4af14\">DeleteWordRightEnd</a> = QsciScintillaBase::SCI_DELWORDRIGHTEND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b9644d959806dd50a8dce00bf521e13\">DeleteLineLeft</a> = QsciScintillaBase::SCI_DELLINELEFT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a21407e4871585bcfb0d76dbf7be87650\">DeleteLineRight</a> = QsciScintillaBase::SCI_DELLINERIGHT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a291afea2c733abf34e20b0c25814dc5c\">LineDelete</a> = QsciScintillaBase::SCI_LINEDELETE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a91f9ce105ac6ead565f6f8e00ec0e9a6\">LineCut</a> = QsciScintillaBase::SCI_LINECUT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa762bf03d4d23f764de57c146c9a658d\">LineCopy</a> = QsciScintillaBase::SCI_LINECOPY, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad6895dbe64da12bd7749e9c7bf4d8e75\">LineTranspose</a> = QsciScintillaBase::SCI_LINETRANSPOSE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8cc01e22c3d5cc697f87b00dcedb33f5\">LineDuplicate</a> = QsciScintillaBase::SCI_LINEDUPLICATE, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8ddbd8f97e85bbef9e728a1293a94983\">SelectAll</a> = QsciScintillaBase::SCI_SELECTALL, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af5335bf501eb458872740c610db3617b\">MoveSelectedLinesUp</a> = QsciScintillaBase::SCI_MOVESELECTEDLINESUP, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae256fc63ff21305b2a1d93d7f05bee5\">MoveSelectedLinesDown</a> = QsciScintillaBase::SCI_MOVESELECTEDLINESDOWN, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad10ac67847b362c169d7e3b0b3463290\">SelectionDuplicate</a> = QsciScintillaBase::SCI_SELECTIONDUPLICATE, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff49104707e447f73d08afd744b1f68d\">SelectionLowerCase</a> = QsciScintillaBase::SCI_LOWERCASE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5df7c07cf8cf1eee546837ece594dcaa\">SelectionUpperCase</a> = QsciScintillaBase::SCI_UPPERCASE, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a11cd9c83a7a1b74dc2a936e324ecf99e\">SelectionCut</a> = QsciScintillaBase::SCI_CUT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a200b4ecea5a65b8690e8393b8ad3d512\">SelectionCopy</a> = QsciScintillaBase::SCI_COPY, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac0877b23ce38bba85fc30eecb347a662\">Paste</a> = QsciScintillaBase::SCI_PASTE, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab6c8c98a6027e8a88783f18dbca2bdf4\">EditToggleOvertype</a> = QsciScintillaBase::SCI_EDITTOGGLEOVERTYPE, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae71d9db2e7cf1f6ca4b731675e1d63a1\">Newline</a> = QsciScintillaBase::SCI_NEWLINE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3b46d96af1feddb3560236b9e75c39c2\">Formfeed</a> = QsciScintillaBase::SCI_FORMFEED, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab89051fd7c64cea84abec8d21809d2ee\">Tab</a> = QsciScintillaBase::SCI_TAB, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aeae07e48b489c0cc937bf83bef4f0c9c\">Backtab</a> = QsciScintillaBase::SCI_BACKTAB, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3905c749d29761ae2a594c14e1fb26c9\">Cancel</a> = QsciScintillaBase::SCI_CANCEL, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0089e5295b999464b699fb736a449b4f\">Undo</a> = QsciScintillaBase::SCI_UNDO, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad12c4dd6bcaefc08fcff8fe3d80b3b66\">Redo</a> = QsciScintillaBase::SCI_REDO, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5e12affbccb0a63c1bd78ca5617b0289\">ZoomIn</a> = QsciScintillaBase::SCI_ZOOMIN, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae5d11d096795f1a1c7b4d56e41c9b1af\">ZoomOut</a> = QsciScintillaBase::SCI_ZOOMOUT, \n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a740c74f61e7d91060ccc9e0945318787\">ReverseLines</a> = QsciScintillaBase::SCI_LINEREVERSE\n<br />\n }</td></tr>\n<tr class=\"separator:aeaecb067c0834ba132e204a09dd942c7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aebfa962809b16312fa03f7526cc60f07\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aebfa962809b16312fa03f7526cc60f07\"></a>\n<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">Command</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#aebfa962809b16312fa03f7526cc60f07\">command</a> () const</td></tr>\n<tr class=\"separator:aebfa962809b16312fa03f7526cc60f07\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa0bf23ebd61dd46a4eb59447e43c4cab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa0bf23ebd61dd46a4eb59447e43c4cab\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#aa0bf23ebd61dd46a4eb59447e43c4cab\">execute</a> ()</td></tr>\n<tr class=\"separator:aa0bf23ebd61dd46a4eb59447e43c4cab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6488ddf82659fcf42d704f787b6cb522\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">setKey</a> (int <a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">key</a>)</td></tr>\n<tr class=\"separator:a6488ddf82659fcf42d704f787b6cb522\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8c00e5f08abe7ad05fe54653c0f040ae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">setAlternateKey</a> (int altkey)</td></tr>\n<tr class=\"separator:a8c00e5f08abe7ad05fe54653c0f040ae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf9dffcf6c222ecc02b28c3f6d17eb8e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">key</a> () const</td></tr>\n<tr class=\"separator:abf9dffcf6c222ecc02b28c3f6d17eb8e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6949756a800e31f1d279aa753060966\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">alternateKey</a> () const</td></tr>\n<tr class=\"separator:ae6949756a800e31f1d279aa753060966\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a76ed201e9e7309084795ddbc8f6e5b49\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a76ed201e9e7309084795ddbc8f6e5b49\"></a>\nQString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#a76ed201e9e7309084795ddbc8f6e5b49\">description</a> () const</td></tr>\n<tr class=\"separator:a76ed201e9e7309084795ddbc8f6e5b49\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-static-methods\"></a>\nStatic Public Member Functions</h2></td></tr>\n<tr class=\"memitem:aeb517d586cb9569d072fcd8a9658911b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aeb517d586cb9569d072fcd8a9658911b\"></a>\nstatic bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\">validKey</a> (int <a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">key</a>)</td></tr>\n<tr class=\"separator:aeb517d586cb9569d072fcd8a9658911b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciCommand.html\" title=\"The QsciCommand class represents an internal editor command that may have one or two keys bound to it...\">QsciCommand</a> class represents an internal editor command that may have one or two keys bound to it. </p>\n<p>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. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"aeaecb067c0834ba132e204a09dd942c7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeaecb067c0834ba132e204a09dd942c7\">&#9670;&nbsp;</a></span>Command</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">QsciCommand::Command</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different commands that can be assigned to a key. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aff3d71de76b3948d3576bf6f6164d435\"></a>LineDown&#160;</td><td class=\"fielddoc\"><p>Move down one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a12027f7b5ad1f98b9d7f5b20a1b19856\"></a>LineDownExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection down one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a4e166fc8f33e759313cf124be9dc960e\"></a>LineDownRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection down one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac48505ac24f80eabcb61b93e6eb20f0d\"></a>LineScrollDown&#160;</td><td class=\"fielddoc\"><p>Scroll the view down one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a6108080747db44fba6676a90721edf3b\"></a>LineUp&#160;</td><td class=\"fielddoc\"><p>Move up one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a620ae67b9bdb35d46d0fadd66d578725\"></a>LineUpExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection up one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a25673ac6266e5d5400328cb32c50064c\"></a>LineUpRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection up one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7abd1999204d26dee95623a1a4926d1694\"></a>LineScrollUp&#160;</td><td class=\"fielddoc\"><p>Scroll the view up one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ad32c75499899527ccb721d6221e0b1f1\"></a>ScrollToStart&#160;</td><td class=\"fielddoc\"><p>Scroll to the start of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a16b9e2cd58ea3f6d094bf870e1e9e083\"></a>ScrollToEnd&#160;</td><td class=\"fielddoc\"><p>Scroll to the end of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a593083e106606bf5fb3d2322068c455f\"></a>VerticalCentreCaret&#160;</td><td class=\"fielddoc\"><p>Scroll vertically to centre the current line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a0b695afb34e16591b039b9a318729838\"></a>ParaDown&#160;</td><td class=\"fielddoc\"><p>Move down one paragraph. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a343a73f6732c17f02d9e8158c935abde\"></a>ParaDownExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection down one paragraph. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a2bd7f7cdb9537b4b7b9bdf58aeae3733\"></a>ParaUp&#160;</td><td class=\"fielddoc\"><p>Move up one paragraph. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac121331a789c14d2d8ee4065877c2127\"></a>ParaUpExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection up one paragraph. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a88dc0fc0d4642486fb54dce5045a5b8b\"></a>CharLeft&#160;</td><td class=\"fielddoc\"><p>Move left one character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7af23e0b934931581f6b383a4b3de10b48\"></a>CharLeftExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection left one character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aa62e9ab460a49ff8b9c3c55219f98abb\"></a>CharLeftRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection left one character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a3ce1411c8761d1562fa8e8b5d7609df7\"></a>CharRight&#160;</td><td class=\"fielddoc\"><p>Move right one character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aae6afb296e30c48ae1c4992817d673bf\"></a>CharRightExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection right one character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aedd92e9ae8401fb13ab6d01667949938\"></a>CharRightRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection right one character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aec027d50c71ee8604872c5cc839250cd\"></a>WordLeft&#160;</td><td class=\"fielddoc\"><p>Move left one word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a5b4b9629de523b97fcbad43c21dc37bb\"></a>WordLeftExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection left one word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a8e61252df5bfefd5081d9cb4170844d3\"></a>WordRight&#160;</td><td class=\"fielddoc\"><p>Move right one word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac69665982f4477d00509573ceea8a8f3\"></a>WordRightExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection right one word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac3e19af04d3083f26408dcb6ad3c73b7\"></a>WordLeftEnd&#160;</td><td class=\"fielddoc\"><p>Move to the end of the previous word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ab2f7d005b37a7b61964e456b26d4a3f6\"></a>WordLeftEndExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the end of the previous word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a1099ee8200e0d0799a2721ff9828fe48\"></a>WordRightEnd&#160;</td><td class=\"fielddoc\"><p>Move to the end of the next word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a455d6eda859feb8aed088f22587d5aa3\"></a>WordRightEndExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the end of the next word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac1b4586de16ecd614e34d98c7ca360ec\"></a>WordPartLeft&#160;</td><td class=\"fielddoc\"><p>Move left one word part. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a0e5436d5c8bd4e42f0e542cbb852645d\"></a>WordPartLeftExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection left one word part. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a78c1a79cb762dc96072ef5bc1d90b20b\"></a>WordPartRight&#160;</td><td class=\"fielddoc\"><p>Move right one word part. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a1ad48872dc33ca01b0502594c6dd6df1\"></a>WordPartRightExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection right one word part. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a607f851f9833e13dbf335009ebd2ca37\"></a>Home&#160;</td><td class=\"fielddoc\"><p>Move to the start of the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7acbb515f305f0dc715372708d91be80aa\"></a>HomeExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the start of the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a3cf62acaae368a7a1e88a6300fbf1de4\"></a>HomeRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection to the start of the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a71d0019b185b1d65e9d3574651a1b55f\"></a>HomeDisplay&#160;</td><td class=\"fielddoc\"><p>Move to the start of the displayed line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a82851feb57f239b98cfa52fb2307fe66\"></a>HomeDisplayExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the start of the displayed line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ab67874e23a95cc208bcbb0de0cf16d90\"></a>HomeWrap&#160;</td><td class=\"fielddoc\"><p>Move to the start of the displayed or document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aa5afb3470010c1075e61cd4216a1714c\"></a>HomeWrapExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the start of the displayed or document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac443339cd46d0646cd97870506e91110\"></a>VCHome&#160;</td><td class=\"fielddoc\"><p>Move to the first visible character in the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a1e0ff1255da4ea0a77750d55a9aaaef4\"></a>VCHomeExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the first visible character in the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7adbf224a91e83518a244bb5a726c69bed\"></a>VCHomeRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection to the first visible character in the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7affdd507c7e4221726f980f95910ed5a5\"></a>VCHomeWrap&#160;</td><td class=\"fielddoc\"><p>Move to the first visible character of the displayed or document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7af1db27f7f04534cc2071e71c422e4a45\"></a>VCHomeWrapExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the first visible character of the displayed or document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a175bcd4e973a6ae4553827db95d987f6\"></a>LineEnd&#160;</td><td class=\"fielddoc\"><p>Move to the end of the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a4f42905e1e54f6eb4e91eb832c07e387\"></a>LineEndExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the end of the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a6d942d99ab734f6b5c1160cbe18a6197\"></a>LineEndRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection to the end of the document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a77dc6d96d21c32e61b8e3809759eec37\"></a>LineEndDisplay&#160;</td><td class=\"fielddoc\"><p>Move to the end of the displayed line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7acfe625def4c875c4f3ed4011c1d30f30\"></a>LineEndDisplayExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the end of the displayed line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a2bcecd03bc30e56d92035364f1c4d3aa\"></a>LineEndWrap&#160;</td><td class=\"fielddoc\"><p>Move to the end of the displayed or document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a8528ef0f7030d4eaa9cc93c1fb0f00d2\"></a>LineEndWrapExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the end of the displayed or document line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ae0d2fa78fc42366a578b50cae1c44a8f\"></a>DocumentStart&#160;</td><td class=\"fielddoc\"><p>Move to the start of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a368bc9e6e89a0f9504a49fc97477618b\"></a>DocumentStartExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the start of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a8e059c91d4d3d5037d0dce9c8fa735a0\"></a>DocumentEnd&#160;</td><td class=\"fielddoc\"><p>Move to the end of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac6b77e65e9d026dd2a3af831ddfcc664\"></a>DocumentEndExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection to the end of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a69b8ec474437f655c93b019729093b82\"></a>PageUp&#160;</td><td class=\"fielddoc\"><p>Move up one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac9c27eb69dde18a38bc1cbc84c9ee430\"></a>PageUpExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection up one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a31667dadedf4289250d3e1b5a1e9bf36\"></a>PageUpRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection up one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7acbd164907353acc3e218943d86d03b23\"></a>PageDown&#160;</td><td class=\"fielddoc\"><p>Move down one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac6febe41f0669f54f4c14f2c32329569\"></a>PageDownExtend&#160;</td><td class=\"fielddoc\"><p>Extend the selection down one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a70472783731018e17e0943ee14e4ca6d\"></a>PageDownRectExtend&#160;</td><td class=\"fielddoc\"><p>Extend the rectangular selection down one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a9be0a9fe5bfc0864f0f40987a4806a62\"></a>StutteredPageUp&#160;</td><td class=\"fielddoc\"><p>Stuttered move up one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a26d878df5382e38843e754078aa8f44f\"></a>StutteredPageUpExtend&#160;</td><td class=\"fielddoc\"><p>Stuttered extend the selection up one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ab05b31fae6958a99166222cc3efd076a\"></a>StutteredPageDown&#160;</td><td class=\"fielddoc\"><p>Stuttered move down one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ad07964451843f3c910b7228dfb589857\"></a>StutteredPageDownExtend&#160;</td><td class=\"fielddoc\"><p>Stuttered extend the selection down one page. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ad763b356ba37cf93b78201baea5aa00d\"></a>Delete&#160;</td><td class=\"fielddoc\"><p>Delete the current character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a82626bce8a0acdd6c4c196865629e81b\"></a>DeleteBack&#160;</td><td class=\"fielddoc\"><p>Delete the previous character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7adadf0fa77a7ce5496fce517bc9e0a723\"></a>DeleteBackNotLine&#160;</td><td class=\"fielddoc\"><p>Delete the previous character if not at start of line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a66566eb3ac1ad83cc6ef2913d449d193\"></a>DeleteWordLeft&#160;</td><td class=\"fielddoc\"><p>Delete the word to the left. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a0a5ea33d56c6c45fe80f5b1f66975ffa\"></a>DeleteWordRight&#160;</td><td class=\"fielddoc\"><p>Delete the word to the right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ae1a8da5398be3fb7c5e32f868bf4af14\"></a>DeleteWordRightEnd&#160;</td><td class=\"fielddoc\"><p>Delete right to the end of the next word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a0b9644d959806dd50a8dce00bf521e13\"></a>DeleteLineLeft&#160;</td><td class=\"fielddoc\"><p>Delete the line to the left. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a21407e4871585bcfb0d76dbf7be87650\"></a>DeleteLineRight&#160;</td><td class=\"fielddoc\"><p>Delete the line to the right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a291afea2c733abf34e20b0c25814dc5c\"></a>LineDelete&#160;</td><td class=\"fielddoc\"><p>Delete the current line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a91f9ce105ac6ead565f6f8e00ec0e9a6\"></a>LineCut&#160;</td><td class=\"fielddoc\"><p>Cut the current line to the clipboard. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aa762bf03d4d23f764de57c146c9a658d\"></a>LineCopy&#160;</td><td class=\"fielddoc\"><p>Copy the current line to the clipboard. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ad6895dbe64da12bd7749e9c7bf4d8e75\"></a>LineTranspose&#160;</td><td class=\"fielddoc\"><p>Transpose the current and previous lines. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a8cc01e22c3d5cc697f87b00dcedb33f5\"></a>LineDuplicate&#160;</td><td class=\"fielddoc\"><p>Duplicate the current line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a8ddbd8f97e85bbef9e728a1293a94983\"></a>SelectAll&#160;</td><td class=\"fielddoc\"><p>Select the whole document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7af5335bf501eb458872740c610db3617b\"></a>MoveSelectedLinesUp&#160;</td><td class=\"fielddoc\"><p>Move the selected lines up one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aae256fc63ff21305b2a1d93d7f05bee5\"></a>MoveSelectedLinesDown&#160;</td><td class=\"fielddoc\"><p>Move the selected lines down one line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ad10ac67847b362c169d7e3b0b3463290\"></a>SelectionDuplicate&#160;</td><td class=\"fielddoc\"><p>Duplicate the selection. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aff49104707e447f73d08afd744b1f68d\"></a>SelectionLowerCase&#160;</td><td class=\"fielddoc\"><p>Convert the selection to lower case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a5df7c07cf8cf1eee546837ece594dcaa\"></a>SelectionUpperCase&#160;</td><td class=\"fielddoc\"><p>Convert the selection to upper case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a11cd9c83a7a1b74dc2a936e324ecf99e\"></a>SelectionCut&#160;</td><td class=\"fielddoc\"><p>Cut the selection to the clipboard. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a200b4ecea5a65b8690e8393b8ad3d512\"></a>SelectionCopy&#160;</td><td class=\"fielddoc\"><p>Copy the selection to the clipboard. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ac0877b23ce38bba85fc30eecb347a662\"></a>Paste&#160;</td><td class=\"fielddoc\"><p>Paste from the clipboard. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ab6c8c98a6027e8a88783f18dbca2bdf4\"></a>EditToggleOvertype&#160;</td><td class=\"fielddoc\"><p>Toggle insert/overtype. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ae71d9db2e7cf1f6ca4b731675e1d63a1\"></a>Newline&#160;</td><td class=\"fielddoc\"><p>Insert a platform dependent newline. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a3b46d96af1feddb3560236b9e75c39c2\"></a>Formfeed&#160;</td><td class=\"fielddoc\"><p>Insert a formfeed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ab89051fd7c64cea84abec8d21809d2ee\"></a>Tab&#160;</td><td class=\"fielddoc\"><p>Indent one level. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7aeae07e48b489c0cc937bf83bef4f0c9c\"></a>Backtab&#160;</td><td class=\"fielddoc\"><p>De-indent one level. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a3905c749d29761ae2a594c14e1fb26c9\"></a>Cancel&#160;</td><td class=\"fielddoc\"><p>Cancel any current operation. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a0089e5295b999464b699fb736a449b4f\"></a>Undo&#160;</td><td class=\"fielddoc\"><p>Undo the last command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ad12c4dd6bcaefc08fcff8fe3d80b3b66\"></a>Redo&#160;</td><td class=\"fielddoc\"><p>Redo the last command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a5e12affbccb0a63c1bd78ca5617b0289\"></a>ZoomIn&#160;</td><td class=\"fielddoc\"><p>Zoom in. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7ae5d11d096795f1a1c7b4d56e41c9b1af\"></a>ZoomOut&#160;</td><td class=\"fielddoc\"><p>Zoom out. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeaecb067c0834ba132e204a09dd942c7a740c74f61e7d91060ccc9e0945318787\"></a>ReverseLines&#160;</td><td class=\"fielddoc\"><p>Reverse the selected lines. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a6488ddf82659fcf42d704f787b6cb522\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6488ddf82659fcf42d704f787b6cb522\">&#9670;&nbsp;</a></span>setKey()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciCommand::setKey </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>key</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Binds the key <em>key</em> to the command. If <em>key</em> is 0 then the key binding is removed. If <em>key</em> is invalid then the key binding is unchanged. Valid keys are any visible or control character or any of <code>Qt::Key_Down</code>, <code>Qt::Key_Up</code>, <code>Qt::Key_Left</code>, <code>Qt::Key_Right</code>, <code>Qt::Key_Home</code>, <code>Qt::Key_End</code>, <code>Qt::Key_PageUp</code>, <code>Qt::Key_PageDown</code>, <code>Qt::Key_Delete</code>, <code>Qt::Key_Insert</code>, <code>Qt::Key_Escape</code>, <code>Qt::Key_Backspace</code>, <code>Qt::Key_Tab</code>, <code>Qt::Key_Backtab</code>, <code>Qt::Key_Return</code>, <code>Qt::Key_Enter</code>, <code>Qt::Key_Super_L</code>, <code>Qt::Key_Super_R</code> or <code>Qt::Key_Menu</code>. Keys may be modified with any combination of <code>Qt::ShiftModifier</code>, <code>Qt::ControlModifier</code>, <code>Qt::AltModifier</code> and <code>Qt::MetaModifier</code>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">key()</a>, <a class=\"el\" href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">setAlternateKey()</a>, <a class=\"el\" href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\" title=\"If the key key is valid then true is returned.\">validKey()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8c00e5f08abe7ad05fe54653c0f040ae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8c00e5f08abe7ad05fe54653c0f040ae\">&#9670;&nbsp;</a></span>setAlternateKey()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciCommand::setAlternateKey </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>altkey</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Binds the alternate key <em>altkey</em> to the command. If <em>key</em> is 0 then the alternate key binding is removed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">alternateKey()</a>, <a class=\"el\" href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">setKey()</a>, <a class=\"el\" href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\" title=\"If the key key is valid then true is returned.\">validKey()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abf9dffcf6c222ecc02b28c3f6d17eb8e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf9dffcf6c222ecc02b28c3f6d17eb8e\">&#9670;&nbsp;</a></span>key()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciCommand::key </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The key that is currently bound to the command is returned.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">setKey()</a>, <a class=\"el\" href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">alternateKey()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae6949756a800e31f1d279aa753060966\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae6949756a800e31f1d279aa753060966\">&#9670;&nbsp;</a></span>alternateKey()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciCommand::alternateKey </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The alternate key that is currently bound to the command is returned.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">setAlternateKey()</a>, <a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">key()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciCommandSet-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciCommandSet Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>boundTo</b>(int key) const (defined in <a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html#af244d8499c10c569b9924c25af17655a\">clearAlternateKeys</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html#a7a15e4a269b804a830c881edda1563f7\">clearKeys</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html#a7f46a38f9fd309442aacfb7ad2b87143\">commands</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>find</b>(QsciCommand::Command command) const (defined in <a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html#a44fd78a640f59309862d868d04f34e49\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html#a7933fbb5a8b5cb234c4e48b472adc4a3\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a></td><td class=\"entry\"></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciCommandSet.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciCommandSet Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciCommandSet-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciCommandSet Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscicommandset.h&gt;</code></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a44fd78a640f59309862d868d04f34e49\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommandSet.html#a44fd78a640f59309862d868d04f34e49\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a44fd78a640f59309862d868d04f34e49\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7933fbb5a8b5cb234c4e48b472adc4a3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommandSet.html#a7933fbb5a8b5cb234c4e48b472adc4a3\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a7933fbb5a8b5cb234c4e48b472adc4a3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7f46a38f9fd309442aacfb7ad2b87143\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7f46a38f9fd309442aacfb7ad2b87143\"></a>\nQList&lt; <a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a> * &gt; &amp;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommandSet.html#a7f46a38f9fd309442aacfb7ad2b87143\">commands</a> ()</td></tr>\n<tr class=\"separator:a7f46a38f9fd309442aacfb7ad2b87143\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7a15e4a269b804a830c881edda1563f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7a15e4a269b804a830c881edda1563f7\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommandSet.html#a7a15e4a269b804a830c881edda1563f7\">clearKeys</a> ()</td></tr>\n<tr class=\"separator:a7a15e4a269b804a830c881edda1563f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af244d8499c10c569b9924c25af17655a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af244d8499c10c569b9924c25af17655a\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciCommandSet.html#af244d8499c10c569b9924c25af17655a\">clearAlternateKeys</a> ()</td></tr>\n<tr class=\"separator:af244d8499c10c569b9924c25af17655a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2e5f630a0a3b65b2a732531b7eaac196\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2e5f630a0a3b65b2a732531b7eaac196\"></a>\n<a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>boundTo</b> (int key) const</td></tr>\n<tr class=\"separator:a2e5f630a0a3b65b2a732531b7eaac196\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab706e66e604cabb73695a43b8137b29e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab706e66e604cabb73695a43b8137b29e\"></a>\n<a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>find</b> (<a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">QsciCommand::Command</a> command) const</td></tr>\n<tr class=\"separator:ab706e66e604cabb73695a43b8137b29e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciCommandSet.html\" title=\"The QsciCommandSet class represents the set of all internal editor commands that may have keys bound.\">QsciCommandSet</a> class represents the set of all internal editor commands that may have keys bound. </p>\n<p>Methods are provided to access the individual commands and to read and write the current bindings from and to settings files. </p>\n</div><h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a44fd78a640f59309862d868d04f34e49\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a44fd78a640f59309862d868d04f34e49\">&#9670;&nbsp;</a></span>readSettings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciCommandSet::readSettings </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>prefix</em> = <code>&quot;/Scintilla&quot;</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The key bindings for each command in the set are read from the settings <em>qs</em>. <em>prefix</em> is prepended to the key of each entry. true is returned if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciCommandSet.html#a7933fbb5a8b5cb234c4e48b472adc4a3\">writeSettings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7933fbb5a8b5cb234c4e48b472adc4a3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7933fbb5a8b5cb234c4e48b472adc4a3\">&#9670;&nbsp;</a></span>writeSettings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciCommandSet::writeSettings </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>prefix</em> = <code>&quot;/Scintilla&quot;</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The key bindings for each command in the set are written to the settings <em>qs</em>. <em>prefix</em> is prepended to the key of each entry. true is returned if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciCommandSet.html#a44fd78a640f59309862d868d04f34e49\">readSettings()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciDocument-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciDocument Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>operator=</b>(const QsciDocument &amp;) (defined in <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciDocument.html#a3da32a3198c407aa692764ccd98ad66f\">QsciDocument</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>QsciDocument</b>(const QsciDocument &amp;) (defined in <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>~QsciDocument</b>() (defined in <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciDocument.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciDocument Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciDocument-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciDocument Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscidocument.h&gt;</code></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a3da32a3198c407aa692764ccd98ad66f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3da32a3198c407aa692764ccd98ad66f\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciDocument.html#a3da32a3198c407aa692764ccd98ad66f\">QsciDocument</a> ()</td></tr>\n<tr class=\"separator:a3da32a3198c407aa692764ccd98ad66f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a08517919b3caaf3815183823d2ffbd7c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a08517919b3caaf3815183823d2ffbd7c\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>QsciDocument</b> (const <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a> &amp;)</td></tr>\n<tr class=\"separator:a08517919b3caaf3815183823d2ffbd7c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a831e7d3de0e0a36be46f6da3fc49d715\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a831e7d3de0e0a36be46f6da3fc49d715\"></a>\n<a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a> &amp;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>operator=</b> (const <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a> &amp;)</td></tr>\n<tr class=\"separator:a831e7d3de0e0a36be46f6da3fc49d715\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciDocument.html\" title=\"The QsciDocument class represents a document to be edited.\">QsciDocument</a> class represents a document to be edited. </p>\n<p>It is an opaque class that can be attached to multiple instances of <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> to create different simultaneous views of the same document. <a class=\"el\" href=\"classQsciDocument.html\" title=\"The QsciDocument class represents a document to be edited.\">QsciDocument</a> uses implicit sharing so that copying class instances is a cheap operation. </p>\n</div></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexer-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexer Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">description</a>(int style) const =0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">language</a>() const =0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexer.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexer Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#nested-classes\">Classes</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#signals\">Signals</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexer-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexer Class Reference<span class=\"mlabels\"><span class=\"mlabel\">abstract</span></span></div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexer.h&gt;</code></p>\n\n<p>Inherits QObject.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a>, <a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a>, <a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a>, <a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a>, <a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a>, <a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a>, <a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a>, <a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a>, <a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a>, <a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a>, and <a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"signals\"></a>\nSignals</h2></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a3adc7b5c8926e097e6be4340bee920\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">language</a> () const =0</td></tr>\n<tr class=\"separator:a8a3adc7b5c8926e097e6be4340bee920\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7c40b97187e23ab85f6d95113f91b39\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">lexer</a> () const</td></tr>\n<tr class=\"separator:ac7c40b97187e23ab85f6d95113f91b39\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add9c20adb43bc38d1a0ca3083ac3e6fa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">description</a> (int style) const =0</td></tr>\n<tr class=\"separator:add9c20adb43bc38d1a0ca3083ac3e6fa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af7508f1b816a2c9446d36141edc9b5ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af7508f1b816a2c9446d36141edc9b5ce\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:af7508f1b816a2c9446d36141edc9b5ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a147ab3b400fcbe1e5d733b8a897f4930\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a147ab3b400fcbe1e5d733b8a897f4930\"></a>\nvirtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a147ab3b400fcbe1e5d733b8a897f4930\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexer.html\" title=\"The QsciLexer class is an abstract class used as a base for language lexers.\">QsciLexer</a> class is an abstract class used as a base for language lexers. </p>\n<p>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.</p>\n<p>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.</p>\n<p><a class=\"el\" href=\"classQsciLexer.html\" title=\"The QsciLexer class is an abstract class used as a base for language lexers.\">QsciLexer</a> provides convenience methods for saving and restoring user preferences for fonts and colours.</p>\n<p>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 <a class=\"el\" href=\"classQsciLexer.html\" title=\"The QsciLexer class is an abstract class used as a base for language lexers.\">QsciLexer</a> sub-class to manage the different styles used. Alternatively you can implement a sub-class of <a class=\"el\" href=\"classQsciLexerCustom.html\" title=\"The QsciLexerCustom class is an abstract class used as a base for new language lexers.\">QsciLexerCustom</a>. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a49fc2fb49ed07f1cb5f8b0a96e07d0d4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">&#9670;&nbsp;</a></span>QsciLexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexer::QsciLexer </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexer.html\" title=\"The QsciLexer class is an abstract class used as a base for language lexers.\">QsciLexer</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a8a3adc7b5c8926e097e6be4340bee920\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8a3adc7b5c8926e097e6be4340bee920\">&#9670;&nbsp;</a></span>language()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::language </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">pure virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the language. It must be re-implemented by a sub-class. </p>\n\n<p>Implemented in <a class=\"el\" href=\"classQsciLexerYAML.html#a0cfceb4470cde4184e76076ac34dea29\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#a801d7cef474dcf23d93e2f2f53034abe\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#a2a8cd041dea81adb54a869c17ee4c8ba\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#a79e3ff22e68d54f640bd2f7747a7a193\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#ad94fbbd156020166afddb8a0a55eba6f\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a4a13fa4667146e0dca9d8c15255280a9\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#a0b1959541108a437dcb0b104a46f1444\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerSpice.html#ae41f7a78d82f09b4d5176ec2a709ac67\">QsciLexerSpice</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#a700754468352f673157d08d4ff222e79\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#ae96690293b8128bea9cedf9b55b92ad6\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a5e15c53d398d9d7e9ef7e0df41bc3f62\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a02880268227d380ef25a72af2605ef0f\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#ab2d6a4d13e15769bf1110012b491ad90\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPO.html#ace592f4a2d86db6be6c6f363227c00ee\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a16fb82e08452dc260bdda610817c79ea\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a072c10d35abc0e56e09806eeb78ab66f\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerOctave.html#acca6b44f3f90599d119fb05f375cb2b8\">QsciLexerOctave</a>, <a class=\"el\" href=\"classQsciLexerMatlab.html#a1b26669dd868d97d8a04837aada5549f\">QsciLexerMatlab</a>, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a7a06bdb17ebde731368ec204404ed0ee\">QsciLexerMarkdown</a>, <a class=\"el\" href=\"classQsciLexerMakefile.html#a561482313e4c6597b8c4627ec38e4d54\">QsciLexerMakefile</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a942c993effc83d0dedec2fc20d8a741f\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#a7a2271db1a39037a429faaa5ff8e399f\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerJavaScript.html#aa7bd1f345699cc97fac25cf29ae98a4e\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerJava.html#af0f0dd1756ceb60bd8f404f3b48f470c\">QsciLexerJava</a>, <a class=\"el\" href=\"classQsciLexerIDL.html#a56afa4275e743eeff3dc693d9da85fd3\">QsciLexerIDL</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#a336165187c8ab4cc5e51912033316943\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerFortran.html#a83d7d8209efca06d10870607c9db3c72\">QsciLexerFortran</a>, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a77024f83fb756608060b105d3f21ae34\">QsciLexerEDIFACT</a>, <a class=\"el\" href=\"classQsciLexerDiff.html#a795af727d45974e6581ed01bf812b63e\">QsciLexerDiff</a>, <a class=\"el\" href=\"classQsciLexerD.html#a667febcf6234a15b7ca6d4ddbfb97bc6\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#a2c29f0bbe4d09c159040b5676c8143d2\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCSharp.html#a92e6554430736b20b147b7290d4bfe16\">QsciLexerCSharp</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a7c5dafabba34ff3e6120d9f3606cade0\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a126d81ec982782507eafae1af5d0d856\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#a0aa2f537e70f47e6a3e1bcf6d383a480\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBatch.html#a18341dcb06d1b74269ed1f33c002b2a9\">QsciLexerBatch</a>, <a class=\"el\" href=\"classQsciLexerBash.html#a1bc505b1b0f41472062f86b205ea2860\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#a1ef24398e95c23a8b3c858179e5eb564\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"ac7c40b97187e23ab85f6d95113f91b39\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac7c40b97187e23ab85f6d95113f91b39\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. If 0 is returned then the lexer's numeric identifier is used. The default implementation returns 0.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId()</a> </dd></dl>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerYAML.html#ab946b8c9f34872b69c31e6e9cd0b0e57\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#abf1a8dc25c7bd5d272c119d3c3e9e369\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#abc3666027fe7f0b8ae78ee34e3276069\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#a409c5a8e561b153aca122ad5e0bedc82\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a15ec40b8e6b208521e08d44400eb56f8\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#abd8d636e4717ed65e4ea77eca3c28df1\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerSpice.html#a0e389df0054dbbafafe6196c71d50738\">QsciLexerSpice</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#a14f1638b2f668fb7d98791cda719f8a0\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#a9fe6e18dbb7ef4cad7f370286d7db0b7\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a76890c95abff2bb6f5eebe7a2cb5a0a3\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#af41ceced7bf5eb12aefb77f81240b1eb\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#a8f6156730e68c15fb63e120c53ce7832\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPO.html#a8eb17be2a61d63249564be87b7d777d8\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#aae9e42584c6466a8b859d56218eaf28c\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#aebc02afb8158d445c4369efa287cc2ac\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">QsciLexerOctave</a>, <a class=\"el\" href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">QsciLexerMatlab</a>, <a class=\"el\" href=\"classQsciLexerMarkdown.html#af912a1a568b342c99f70fab70d89b178\">QsciLexerMarkdown</a>, <a class=\"el\" href=\"classQsciLexerMakefile.html#a42e28c95e4f32374ffb7b47a85239d34\">QsciLexerMakefile</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a8124ec8b5b96d95bb225cbb4e95f55cb\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#a04a2eaa1d93a2266bd170d392b70860b\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerFortran.html#ad18b58e4e78b74f1c1cc0db18a2d74ca\">QsciLexerFortran</a>, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a55d08e564f88f40f5167c52bd686b61c\">QsciLexerEDIFACT</a>, <a class=\"el\" href=\"classQsciLexerDiff.html#aec71281020211f0e693143520f232079\">QsciLexerDiff</a>, <a class=\"el\" href=\"classQsciLexerD.html#a62032a66c22767af46af4611fb672cb3\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#a1fa70c8e86dd88d34508fc652d30f3f7\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aac009a767572be4b4489a0613611cbdb\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#a99fc9415c35eeef2b0f45f066101736b\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBatch.html#acf33e60d28291147562860b824ccd74d\">QsciLexerBatch</a>, <a class=\"el\" href=\"classQsciLexerBash.html#a21f1bb849edbfbc0cf58bc55cc75e8a3\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"a9576dd2ce748647abe981724ee76c1ce\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9576dd2ce748647abe981724ee76c1ce\">&#9670;&nbsp;</a></span>lexerId()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual int QsciLexer::lexerId </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the identifier (i.e. a QsciScintillaBase::SCLEX_* value) of the lexer. This is only used if <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">lexer()</a> returns 0. The default implementation returns <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">QsciScintillaBase::SCLEX_CONTAINER</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">lexer()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0aa2c7bc939d793db01bbc1863b15d63\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0aa2c7bc939d793db01bbc1863b15d63\">&#9670;&nbsp;</a></span>apis()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a>* QsciLexer::apis </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the current API set or 0 if there isn't one.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4e10650b0e9ad137062ad5c17ad33e76\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4e10650b0e9ad137062ad5c17ad33e76\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QStringList QsciLexer::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerPython.html#a305ec320aa2357947cbeb1608b95d840\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a0e4df63d7d5714b1bdb71c1975f7f99c\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#aa28fa3e32d5d4a4efccdad6655fb28c8\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerLua.html#aff715db68554a1022792135e8edd0dba\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerD.html#a9080d0a47d2cbd972d5f2e6c737ba7fa\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">QsciLexerCPP</a>, and <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a0741fad0b942deb73642be16c3159eb1\">QsciLexerCoffeeScript</a>.</p>\n\n</div>\n</div>\n<a id=\"a79c27285b6033c553b3f54cb6c56b338\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a79c27285b6033c553b3f54cb6c56b338\">&#9670;&nbsp;</a></span>autoIndentStyle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciLexer::autoIndentStyle </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the auto-indentation style. The default is 0 if the language is block structured, or <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\" title=\"A line is automatically indented to match the previous line.\">QsciScintilla::AiMaintain</a> if not.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\" title=\"A line is automatically indented to match the previous line.\">QsciScintilla::AiMaintain</a>, <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\">QsciScintilla::AiOpening</a>, <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\">QsciScintilla::AiClosing</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8e294eba77713f516acbcebc10af1493\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8e294eba77713f516acbcebc10af1493\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerRuby.html#aabf79a666eb40a912dfb7136d79f80e6\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a42133f1b4127c78674f89e3209236a18\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a9914377426e5e464f6d93ce2b64423a0\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerD.html#af9f73f93dd57019e3335011528ad6aed\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#ada48a387b3e1414927bebe2415de75f8\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">QsciLexerCPP</a>, and <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a1796c98b07ec6cfc3d5953c225cc1f37\">QsciLexerCoffeeScript</a>.</p>\n\n</div>\n</div>\n<a id=\"a8b1bb1261e7b9701c62bbe4f1d171e06\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8b1bb1261e7b9701c62bbe4f1d171e06\">&#9670;&nbsp;</a></span>blockLookback()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual int QsciLexer::blockLookback </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the number of lines prior to the current one when determining the scope of a block when auto-indenting. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerPython.html#afe42ac5a09816340d4bec920b523aed6\">QsciLexerPython</a>.</p>\n\n</div>\n</div>\n<a id=\"a340eafe726fd6964c0adba956fe3428c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a340eafe726fd6964c0adba956fe3428c\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerRuby.html#a7ecc2269f4b7a4956b7209082032245d\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#adc66ee4b78453d245ac1b4dff45490f4\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#ae33c3f0e337cfe173c61ea86c5cd3591\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a68d8b422b0d733592cc896086ca23652\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a157c462625b4826a5d7fb9eec42cfc78\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerD.html#a7ea79082a0d55e78cd3a60f1f05af6d9\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#aae249ec529d5f7de5fa238de9208058d\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">QsciLexerCPP</a>, and <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a293f0a5c39990ec1db6de249dc618901\">QsciLexerCoffeeScript</a>.</p>\n\n</div>\n</div>\n<a id=\"abf12117a142b6f68479ea425d80a4196\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf12117a142b6f68479ea425d80a4196\">&#9670;&nbsp;</a></span>blockStartKeyword()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::blockStartKeyword </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerRuby.html#a47eb0ab494fe54b5518b4c8bdcd2968e\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#abe045873399199ba05d26e94c0e28aae\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerD.html#ae4490715b80237feaa25ad92d2fb6313\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">QsciLexerCPP</a>, and <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a497144db9b43beba78cd405a795e08ac\">QsciLexerCoffeeScript</a>.</p>\n\n</div>\n</div>\n<a id=\"acff58ba06195b9458a61d7ef3573c701\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acff58ba06195b9458a61d7ef3573c701\">&#9670;&nbsp;</a></span>color()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QColor QsciLexer::color </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>. The default colour is that returned by <a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor()</a>, <a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa6ed26c11f54f71a305d3ee03d685f06\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa6ed26c11f54f71a305d3ee03d685f06\">&#9670;&nbsp;</a></span>eolFill()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciLexer::eolFill </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the end-of-line for style number <em>style</em>. The default is false. </p>\n\n</div>\n</div>\n<a id=\"abd34f0d3055b8c7b52f0156f92244e8c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abd34f0d3055b8c7b52f0156f92244e8c\">&#9670;&nbsp;</a></span>font()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QFont QsciLexer::font </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the font for style number <em>style</em>. The default font is that returned by <a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a013b7c1bf9846e231b97827dfd9540b0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a013b7c1bf9846e231b97827dfd9540b0\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. Keyword sets are numbered from 1. 0 is returned if there is no such set. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerYAML.html#add226b6ffbaee63c29a1f0da7de25784\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#aed0f87e43716cf9894e27e0b90396a98\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerSpice.html#ac4a5d52373228003f7bd51dade64fc85\">QsciLexerSpice</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#abd6f026e6cb154c64c581f6e5f7f2fed\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#a981f7ababe1cc561b29617fad8aa29b5\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a57958c564d4d3127e7ee6148d232bd4b\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a9b6f6a462314471262e5f29057839b34\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">QsciLexerOctave</a>, <a class=\"el\" href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">QsciLexerMatlab</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#af4a9c85e527eda6c28663f055afa0be2\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">QsciLexerJava</a>, <a class=\"el\" href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">QsciLexerIDL</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerFortran.html#a56e0fd6b5d719677050a28ad0d5ae927\">QsciLexerFortran</a>, <a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#a41d04b17da9c84a94289e91323fb5206\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">QsciLexerCSharp</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBatch.html#ac9329cbc86f1f1a915e548997af76a5f\">QsciLexerBatch</a>, <a class=\"el\" href=\"classQsciLexerBash.html#ac1665f22a91f143e6e6fb46b02e7b109\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"a2447139ff781bf55c74177881ac023ac\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2447139ff781bf55c74177881ac023ac\">&#9670;&nbsp;</a></span>defaultStyle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual int QsciLexer::defaultStyle </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the number of the style used for whitespace. The default implementation returns 0 which is the convention adopted by most lexers. </p>\n\n</div>\n</div>\n<a id=\"add9c20adb43bc38d1a0ca3083ac3e6fa\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#add9c20adb43bc38d1a0ca3083ac3e6fa\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QString QsciLexer::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">pure virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. 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. </p>\n\n<p>Implemented in <a class=\"el\" href=\"classQsciLexerYAML.html#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#a367d2a52388bd2602642f4b5dc01bba2\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#ac6d9fdf26d30d14707e0b0778f80d54d\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#a3218dcdca816cbdc739b2555df366a9a\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a59f517180e03fd1790c4a6de73196a70\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerSpice.html#a8bf8606224bc8841da7ebf53099f8bca\">QsciLexerSpice</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#aff36eb2ba5df9c4998eb9c8311f14de5\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#aa3454a4c643cd0d479da8412341f1206\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a71cf91642f6879964a061133013a1f51\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#a88492153c713084f4b5495ebe3bf1b40\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPO.html#a911dee848cf18712f663b2cfdc5084f1\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a386c817d87735b2dd347735cb264d548\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#ab47735b5b8b7961044bb9adf111c06bc\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">QsciLexerMatlab</a>, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a2f1340e861947f7c8c4299b1c9ded5a5\">QsciLexerMarkdown</a>, <a class=\"el\" href=\"classQsciLexerMakefile.html#a8be47404070281d5c305be5331616b15\">QsciLexerMakefile</a>, <a class=\"el\" href=\"classQsciLexerLua.html#ad77fd8b1e9ed6bac617f194306de2ea8\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#af8d88cce706a1d7a95e1a519e0dc56c3\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">QsciLexerIDL</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a94f9b521b521a540f848d55f2f4e8d45\">QsciLexerEDIFACT</a>, <a class=\"el\" href=\"classQsciLexerDiff.html#a1818bcdd3a7ec5b11ceacf720b07ddcd\">QsciLexerDiff</a>, <a class=\"el\" href=\"classQsciLexerD.html#a68f0cf388c3fa6a70ece2184020ffe55\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#aca9a53a01d50ef44d9f5ac0fd662bf84\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">QsciLexerCSharp</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ace6bf74522c57e70f2c3ac525e1fd830\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#aa9285b175e0d9964e427f047f484d0e5\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBatch.html#a142446dc4954e057b2d7de11fe3e25e0\">QsciLexerBatch</a>, <a class=\"el\" href=\"classQsciLexerBash.html#a5017022e35efd5f1c9825d63e4336e73\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#a23d3bdd816b3da42e65cb4b08f2b01ff\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"a519df98c9e7d9d26734a38ea9bed744a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a519df98c9e7d9d26734a38ea9bed744a\">&#9670;&nbsp;</a></span>paper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QColor QsciLexer::paper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a>, <a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a31f12624858cbb8abdc59af34b5a85c7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a31f12624858cbb8abdc59af34b5a85c7\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexer::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the default text colour.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a06228b73f8df699a211be872f54d8501\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a06228b73f8df699a211be872f54d8501\">&#9670;&nbsp;</a></span>defaultEolFill()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciLexer::defaultEolFill </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the default end-of-line for style number <em>style</em>. The default is false. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerYAML.html#a01ff9a027edd3a2aa6d443e520b10b73\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#a995fe59f125a7cb27cf178b9e83015bc\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#a8ab227fcb9ba5da466b2d8eded96af70\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#a59ad64688b9fb852792b3fa15c2b125d\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a634989e93d2975d1838016ed24f3e45f\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#a8c0952bb621cdf048b00191674824a87\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#aa6e85b803ff580acecda16deaa70c758\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#a855939c35d62798c00b0361a0edc41da\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#ad8cabbe5db0e4ba630cfad60ddfc79b1\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a34fa0bd92884cfa29a27c279369797d5\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a242188212df611073f78d1eff326f5d5\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a45679bbf510fa7e0b264eb9654183f16\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerMakefile.html#a6537d97973481d6e7c911f8031385deb\">QsciLexerMakefile</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a4d20a72f3087068af5840042d9beeca7\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#a3ba9e8000c3896e453b79dcfce08b146\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a814917aafe1fef03ec20571e91bb4571\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#a613622c676e3c70f2c9f002f34326427\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerD.html#ab55d105b2aa041682b67218fcdf964c6\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSharp.html#a024d39004611b62884f258c417b5acd3\">QsciLexerCSharp</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aad8c778b4c9ef2014e5a508f0ee52021\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerBatch.html#a57d4b4e77554476eea666d793f104540\">QsciLexerBatch</a>, and <a class=\"el\" href=\"classQsciLexerBash.html#ac0b0eb74510dd3af8eed933d3e37e2ab\">QsciLexerBash</a>.</p>\n\n</div>\n</div>\n<a id=\"ac7cf70f76eb03d6d475985cc4b884b0e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac7cf70f76eb03d6d475985cc4b884b0e\">&#9670;&nbsp;</a></span>defaultFont()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QFont QsciLexer::defaultFont </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the default font.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2dce337026551b6440e1dcdafa95b7d7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2dce337026551b6440e1dcdafa95b7d7\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexer::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the default paper colour.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad892735ca7ad0bad9b7fafdcb44eeaa8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad892735ca7ad0bad9b7fafdcb44eeaa8\">&#9670;&nbsp;</a></span>editor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a>* QsciLexer::editor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance that the lexer is currently attached to or 0 if it is unattached. </p>\n\n</div>\n</div>\n<a id=\"ac2e1ada934a5dc7685c1ee6a464de5fd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac2e1ada934a5dc7685c1ee6a464de5fd\">&#9670;&nbsp;</a></span>setAPIs()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::setAPIs </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td>\n          <td class=\"paramname\"><em>apis</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The current set of APIs is set to <em>apis</em>. If <em>apis</em> is 0 then any existing APIs for this lexer are removed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a32b16ee95c3dabbc7de61541dd110521\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a32b16ee95c3dabbc7de61541dd110521\">&#9670;&nbsp;</a></span>setDefaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::setDefaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The default text colour is set to <em>c</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor()</a>, <a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a19f0b390b5594d0dff5e4d4b484e43d2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a19f0b390b5594d0dff5e4d4b484e43d2\">&#9670;&nbsp;</a></span>setDefaultFont()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::setDefaultFont </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QFont &amp;&#160;</td>\n          <td class=\"paramname\"><em>f</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The default font is set to <em>f</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont()</a>, <a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7ebaedee6979d4cb17399361b37e33e0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7ebaedee6979d4cb17399361b37e33e0\">&#9670;&nbsp;</a></span>setDefaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::setDefaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The default paper colour is set to <em>c</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a>, <a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a27728e4e361c5f4bf87690d34d83057d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a27728e4e361c5f4bf87690d34d83057d\">&#9670;&nbsp;</a></span>readSettings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexer::readSettings </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>prefix</em> = <code>&quot;/Scintilla&quot;</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The colour, paper, font and end-of-line for each style number, and all lexer specific properties are read from the settings <em>qs</em>. <em>prefix</em> is prepended to the key of each entry. true is returned if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">QsciScintilla::setLexer()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae508c3ab4ce1f338dfff3ddf5ee7e34c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexer::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerYAML.html#ac263eb1fcaeaad44b23c2d990bad1bc1\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#aa60e141b7b1a7aac51d79ad2c27c4c93\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#ad476092b3970fe44068dd023f8becc96\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#acd80380b4727bd94148f5a0ff479742e\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#ad331ec23d27ba397d2095ba92cefaecd\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#a9d05744ee6d4c653a7e3976d9f71df23\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#abf07311e229b5ec1370dd8a57873c1b6\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#abed099316dd95a6289c76d151a37c264\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a638b892c566301f0efe779c58516cbc0\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a4864bf9360ed4748b9ca7a1d5e34e7d8\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#a0f1e5402dce043de42ded75f5826588f\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPO.html#a17895e48d655d41d80e4fb4672c2fd72\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#ac9868e2d0efbf3602a22d8bdac12a119\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a92cb96a2f9d373ed5a91546c42ec0905\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a628efb828569208d6219a88f1fc6a1a7\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#acd0614489de2d2c9f69379a574f1d5eb\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerD.html#a3df48961344c5133ad595a555bbb8e55\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#a78f4690fa92e02c8511074a334c06096\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aefae6df689f1d3dad66d1f2fc141cc39\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#a7cc73bba065690f08e2b6b8e8c00d5d3\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBash.html#aad047f411c36c262305ffcce5015944f\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#af5a3f47c4f0be631303cabd42d904c3e\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"ab222fbddb7eb72261153d1bebb5a01ee\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab222fbddb7eb72261153d1bebb5a01ee\">&#9670;&nbsp;</a></span>styleBitsNeeded()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual int QsciLexer::styleBitsNeeded </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">QsciLexerCustom</a>.</p>\n\n</div>\n</div>\n<a id=\"aace68e3dbcef9da1b031fb9cfd843c57\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aace68e3dbcef9da1b031fb9cfd843c57\">&#9670;&nbsp;</a></span>wordCharacters()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual const char* QsciLexer::wordCharacters </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the string of characters that comprise a word. The default is 0 which implies the upper and lower case alphabetic characters and underscore. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerVerilog.html#abb1544042444a8147123b5597e096ea2\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#a1ba78d98f1f2a18338782acbeb73d22e\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a61d706ce1554474fd54fe07359612814\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#aa45fd60cb7c2db5c88b5708f481dd6e2\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a5ffd80ff37350acb6fe03f798f34a912\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerMakefile.html#a9e2c6ee91938aad61cfb7304de571bd4\">QsciLexerMakefile</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerDiff.html#a6a4b4099b20109442416e2bd8309b494\">QsciLexerDiff</a>, <a class=\"el\" href=\"classQsciLexerD.html#a0436f412bb6c83fe195ea2eb3c058154\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#a7cbe39118747739dd557df191c91db0c\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a2e5910796ca5a3f369258718bb75c1d8\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerBatch.html#a93f46567c5b91d993387d2ba033f2030\">QsciLexerBatch</a>, <a class=\"el\" href=\"classQsciLexerBash.html#a65ab592afff78804f6487dd7badd00cf\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#aef65e35b32701f0a15d8c2687c20516a\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"a619ee93cb512755e3f946fe61ee097de\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a619ee93cb512755e3f946fe61ee097de\">&#9670;&nbsp;</a></span>writeSettings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexer::writeSettings </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>prefix</em> = <code>&quot;/Scintilla&quot;</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The colour, paper, font and end-of-line for each style number, and all lexer specific properties are written to the settings <em>qs</em>. <em>prefix</em> is prepended to the key of each entry. true is returned if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a793e592d3ac100ff81ae09eefbaa74ef\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a793e592d3ac100ff81ae09eefbaa74ef\">&#9670;&nbsp;</a></span>setAutoIndentStyle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexer::setAutoIndentStyle </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>autoindentstyle</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The auto-indentation style is set to <em>autoindentstyle</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\" title=\"A line is automatically indented to match the previous line.\">QsciScintilla::AiMaintain</a>, <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\">QsciScintilla::AiOpening</a>, <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\">QsciScintilla::AiClosing</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0e4235e0bd33f64431a9c6e8c35038d4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e4235e0bd33f64431a9c6e8c35038d4\">&#9670;&nbsp;</a></span>setColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexer::setColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The foreground colour for style number <em>style</em> is set to <em>c</em>. If <em>style</em> is -1 then the colour is set for all styles. </p>\n\n</div>\n</div>\n<a id=\"a3fccdb7cb8f6524ecdeb3ff364ae5a49\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">&#9670;&nbsp;</a></span>setEolFill</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexer::setEolFill </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>eoffill</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The end-of-line fill for style number <em>style</em> is set to <em>eoffill</em>. If <em>style</em> is -1 then the fill is set for all styles. </p>\n\n</div>\n</div>\n<a id=\"a3484599b6db81b8392ab6cd4f50ab291\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3484599b6db81b8392ab6cd4f50ab291\">&#9670;&nbsp;</a></span>setFont</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexer::setFont </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QFont &amp;&#160;</td>\n          <td class=\"paramname\"><em>f</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The font for style number <em>style</em> is set to <em>f</em>. If <em>style</em> is -1 then the font is set for all styles. </p>\n\n</div>\n</div>\n<a id=\"addbc923c938f946180a15d494d17b567\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#addbc923c938f946180a15d494d17b567\">&#9670;&nbsp;</a></span>setPaper</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexer::setPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The background colour for style number <em>style</em> is set to <em>c</em>. If <em>style</em> is -1 then the colour is set for all styles. </p>\n\n</div>\n</div>\n<a id=\"a901cf93072b3db3ffe503eab78ae6954\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a901cf93072b3db3ffe503eab78ae6954\">&#9670;&nbsp;</a></span>colorChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::colorChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the foreground colour of style number <em>style</em> has changed. The new colour is <em>c</em>. </p>\n\n</div>\n</div>\n<a id=\"a66c01f0c9470164d4575c2b64f0e4220\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a66c01f0c9470164d4575c2b64f0e4220\">&#9670;&nbsp;</a></span>eolFillChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::eolFillChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>eolfilled</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the end-of-file fill of style number <em>style</em> has changed. The new fill is <em>eolfilled</em>. </p>\n\n</div>\n</div>\n<a id=\"ac04ade8be901b67af681e5e3516c0946\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac04ade8be901b67af681e5e3516c0946\">&#9670;&nbsp;</a></span>fontChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::fontChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QFont &amp;&#160;</td>\n          <td class=\"paramname\"><em>f</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the font of style number <em>style</em> has changed. The new font is <em>f</em>. </p>\n\n</div>\n</div>\n<a id=\"adf8de1727583e902c7cae673673a78a1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adf8de1727583e902c7cae673673a78a1\">&#9670;&nbsp;</a></span>paperChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::paperChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the background colour of style number <em>style</em> has changed. The new colour is <em>c</em>. </p>\n\n</div>\n</div>\n<a id=\"acd8475f0da36449dc6b1189a587d7a83\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acd8475f0da36449dc6b1189a587d7a83\">&#9670;&nbsp;</a></span>propertyChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexer::propertyChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>prop</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>val</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the value of the lexer property <em>prop</em> needs to be changed. The new value is <em>val</em>. </p>\n\n</div>\n</div>\n<a id=\"ad472b16506a4cbc19634f07aa90f1ea6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad472b16506a4cbc19634f07aa90f1ea6\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciLexer::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerYAML.html#a35d4260e9c1a68073a6b4f625c846c11\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#a46a01d03d516e909c8696fa3f9910c1f\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#a68e2eaca494e93937f896bd60b86429c\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a1b1d726f87795c97839acca28d06dc6e\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#a377b83523f800cc4598126417d80f74c\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#afa0b9ecea2700420820e4e9b705cb784\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#a1b8f36843f4abe6ec3ee75205b5b0111\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a5a599e7d97b164fec1ee3c21ba167e80\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#a87168d5b174ba3a9b969ef689f67b355\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPO.html#a8403f1e2f5ea0c5d67c32dd6053317c5\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a47884fcfd8d2b0ab7b8d277cb0325c17\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerLua.html#a928315606c0bd973c59e0b6d9641c3cd\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#aba9c88201491763d75a8716d118a4079\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#a7bfdaea964c9e2c51568f63f379b6108\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#a4578cacfbe802ab993fc07ddeaef3297\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBash.html#aae0cfbb2dbfd2a833a16630c9cf2e36e\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#ad65ebfab947de5d6e318238f8a0048e4\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n<a id=\"abccc4e010b724df1a7b5c5f3bce29501\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abccc4e010b724df1a7b5c5f3bce29501\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciLexer::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerYAML.html#adc63ea477a2869f4ea9f1b3fe69d56fb\">QsciLexerYAML</a>, <a class=\"el\" href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">QsciLexerXML</a>, <a class=\"el\" href=\"classQsciLexerVHDL.html#a0ed58ff3726deb2215eaff2c1892bc9b\">QsciLexerVHDL</a>, <a class=\"el\" href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">QsciLexerVerilog</a>, <a class=\"el\" href=\"classQsciLexerTeX.html#aab7c86d0058b7c8541b0fc7be043f902\">QsciLexerTeX</a>, <a class=\"el\" href=\"classQsciLexerTCL.html#a65a8d0928d9f04584972410a5af82888\">QsciLexerTCL</a>, <a class=\"el\" href=\"classQsciLexerSQL.html#a338a09c79011b57a842c581aa2556b4c\">QsciLexerSQL</a>, <a class=\"el\" href=\"classQsciLexerRuby.html#af187d6973df01f3f704b181a446ea2f5\">QsciLexerRuby</a>, <a class=\"el\" href=\"classQsciLexerPython.html#a8921849dce20c65c0fc024bc27255873\">QsciLexerPython</a>, <a class=\"el\" href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">QsciLexerProperties</a>, <a class=\"el\" href=\"classQsciLexerPOV.html#a99f8420666e55b23980d05903e7eebc3\">QsciLexerPOV</a>, <a class=\"el\" href=\"classQsciLexerPostScript.html#a0fc741a415b0419464afa66deb2b9e5d\">QsciLexerPostScript</a>, <a class=\"el\" href=\"classQsciLexerPO.html#afebea3d6f2a2cffcb8be859c99c2cede\">QsciLexerPO</a>, <a class=\"el\" href=\"classQsciLexerPerl.html#a16841e0262d8200d5ed3a85099d45b37\">QsciLexerPerl</a>, <a class=\"el\" href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">QsciLexerPascal</a>, <a class=\"el\" href=\"classQsciLexerLua.html#af0fffa0361bad4a3a007c09a1811db9c\">QsciLexerLua</a>, <a class=\"el\" href=\"classQsciLexerJSON.html#ac4001660bfa52216fe475f84e2ce9d77\">QsciLexerJSON</a>, <a class=\"el\" href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">QsciLexerHTML</a>, <a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">QsciLexerFortran77</a>, <a class=\"el\" href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">QsciLexerD</a>, <a class=\"el\" href=\"classQsciLexerCSS.html#ac70e03bceba5de91104b85edd00e1a68\">QsciLexerCSS</a>, <a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">QsciLexerCPP</a>, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">QsciLexerCoffeeScript</a>, <a class=\"el\" href=\"classQsciLexerCMake.html#a0e2e832caa9adddace3085ebfa582948\">QsciLexerCMake</a>, <a class=\"el\" href=\"classQsciLexerBash.html#a490932b0c83bf7e4048c590565d6a32d\">QsciLexerBash</a>, and <a class=\"el\" href=\"classQsciLexerAVS.html#a6b8fc8bf46c22c3efafd92179b644788\">QsciLexerAVS</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerAVS-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerAVS Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caefb7439724eee3d6b5f2646a4a321415\">BlockComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a9023ef1aa48fd622ecac97a419cb3afe\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf3462b881fa15ece44ea25e74ba153c2\">ClipProperty</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca3ca3697597b3c6cdcff73b107d59cb6c\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#abfb306fd9267f3af76bd144409776ba6\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a56f3d257ed1e6e1851252ccfceef0ef9\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a23d3bdd816b3da42e65cb4b08f2b01ff\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caa78ba1174c6df16aceae243269933062\">Filter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a42a1cdec7111af0685a9d89419a821bd\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#acee212ef3dceca125cadb16ae9cc5fc3\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca4235f8fb2c5f08d64d9564c53c9b716d\">Function</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca485c820ed6275fb070e03ef6e66b3dc0\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca46914c7ffeef04a1c25be8c039640ec0\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cabbed202aa3af26d0af11825cd4360ab8\">KeywordSet6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a1ef24398e95c23a8b3c858179e5eb564\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca73cb3108374ba5ab9efbe7be369d1fda\">LineComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf0bf0d579bb3b4d6c926a447e0d9189c\">NestedBlockComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca522643317abd5f818642e3084a853a99\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca2f81dae1f227c08bfa040eda4ee6a8eb\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca5ef99ccc5e6240b6acbe7b25344f0190\">Plugin</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a15390924acb08542856527f5d0101dab\">QsciLexerAVS</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#ad65ebfab947de5d6e318238f8a0048e4\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#af5a3f47c4f0be631303cabd42d904c3e\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a86be2cbea60ab7b3419ed3bf2db7c5ce\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#ac814c0fdc49d3c27a027a8e075aa7626\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca089dbc8f4ad6daf5a64f5a3f727b9f45\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cadfef00dbe2a706f7571b769d872ea877\">TripleString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#aef65e35b32701f0a15d8c2687c20516a\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a6b8fc8bf46c22c3efafd92179b644788\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html#a3f758c9ddd617ab1eb870d0eb20877d5\">~QsciLexerAVS</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerAVS.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerAVS Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerAVS-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerAVS Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexeravs.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a97b5e23dfd7e31204d054c97f8522a3c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca3ca3697597b3c6cdcff73b107d59cb6c\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caefb7439724eee3d6b5f2646a4a321415\">BlockComment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf0bf0d579bb3b4d6c926a447e0d9189c\">NestedBlockComment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca73cb3108374ba5ab9efbe7be369d1fda\">LineComment</a> = 3, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca522643317abd5f818642e3084a853a99\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca2f81dae1f227c08bfa040eda4ee6a8eb\">Operator</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca485c820ed6275fb070e03ef6e66b3dc0\">Identifier</a> = 6, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca089dbc8f4ad6daf5a64f5a3f727b9f45\">String</a> = 7, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cadfef00dbe2a706f7571b769d872ea877\">TripleString</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca46914c7ffeef04a1c25be8c039640ec0\">Keyword</a> = 9, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caa78ba1174c6df16aceae243269933062\">Filter</a> = 10, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca5ef99ccc5e6240b6acbe7b25344f0190\">Plugin</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca4235f8fb2c5f08d64d9564c53c9b716d\">Function</a> = 12, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf3462b881fa15ece44ea25e74ba153c2\">ClipProperty</a> = 13, \n<a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cabbed202aa3af26d0af11825cd4360ab8\">KeywordSet6</a> = 14\n<br />\n }</td></tr>\n<tr class=\"separator:a97b5e23dfd7e31204d054c97f8522a3c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a86be2cbea60ab7b3419ed3bf2db7c5ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a86be2cbea60ab7b3419ed3bf2db7c5ce\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a86be2cbea60ab7b3419ed3bf2db7c5ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac814c0fdc49d3c27a027a8e075aa7626\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#ac814c0fdc49d3c27a027a8e075aa7626\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:ac814c0fdc49d3c27a027a8e075aa7626\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a15390924acb08542856527f5d0101dab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a15390924acb08542856527f5d0101dab\">QsciLexerAVS</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a15390924acb08542856527f5d0101dab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3f758c9ddd617ab1eb870d0eb20877d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3f758c9ddd617ab1eb870d0eb20877d5\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a3f758c9ddd617ab1eb870d0eb20877d5\">~QsciLexerAVS</a> ()</td></tr>\n<tr class=\"separator:a3f758c9ddd617ab1eb870d0eb20877d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ef24398e95c23a8b3c858179e5eb564\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ef24398e95c23a8b3c858179e5eb564\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a1ef24398e95c23a8b3c858179e5eb564\">language</a> () const</td></tr>\n<tr class=\"separator:a1ef24398e95c23a8b3c858179e5eb564\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af462fb11c1cb7d3a5d99cc66d2a4bc6b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">lexer</a> () const</td></tr>\n<tr class=\"separator:af462fb11c1cb7d3a5d99cc66d2a4bc6b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9023ef1aa48fd622ecac97a419cb3afe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9023ef1aa48fd622ecac97a419cb3afe\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a9023ef1aa48fd622ecac97a419cb3afe\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a9023ef1aa48fd622ecac97a419cb3afe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aef65e35b32701f0a15d8c2687c20516a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aef65e35b32701f0a15d8c2687c20516a\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#aef65e35b32701f0a15d8c2687c20516a\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aef65e35b32701f0a15d8c2687c20516a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abfb306fd9267f3af76bd144409776ba6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#abfb306fd9267f3af76bd144409776ba6\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:abfb306fd9267f3af76bd144409776ba6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56f3d257ed1e6e1851252ccfceef0ef9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a56f3d257ed1e6e1851252ccfceef0ef9\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a56f3d257ed1e6e1851252ccfceef0ef9\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a56f3d257ed1e6e1851252ccfceef0ef9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9af4c417c88911b8c0ca653d643e3778\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a9af4c417c88911b8c0ca653d643e3778\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a23d3bdd816b3da42e65cb4b08f2b01ff\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a23d3bdd816b3da42e65cb4b08f2b01ff\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a23d3bdd816b3da42e65cb4b08f2b01ff\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af5a3f47c4f0be631303cabd42d904c3e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#af5a3f47c4f0be631303cabd42d904c3e\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:af5a3f47c4f0be631303cabd42d904c3e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42a1cdec7111af0685a9d89419a821bd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a42a1cdec7111af0685a9d89419a821bd\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a42a1cdec7111af0685a9d89419a821bd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acee212ef3dceca125cadb16ae9cc5fc3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#acee212ef3dceca125cadb16ae9cc5fc3\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:acee212ef3dceca125cadb16ae9cc5fc3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:ad65ebfab947de5d6e318238f8a0048e4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#ad65ebfab947de5d6e318238f8a0048e4\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad65ebfab947de5d6e318238f8a0048e4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6b8fc8bf46c22c3efafd92179b644788\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerAVS.html#a6b8fc8bf46c22c3efafd92179b644788\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a6b8fc8bf46c22c3efafd92179b644788\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerAVS.html\" title=\"The QsciLexerAVS class encapsulates the Scintilla AVS lexer.\">QsciLexerAVS</a> class encapsulates the Scintilla AVS lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a97b5e23dfd7e31204d054c97f8522a3c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a97b5e23dfd7e31204d054c97f8522a3c\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the AVS lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca3ca3697597b3c6cdcff73b107d59cb6c\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3caefb7439724eee3d6b5f2646a4a321415\"></a>BlockComment&#160;</td><td class=\"fielddoc\"><p>A block comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3caf0bf0d579bb3b4d6c926a447e0d9189c\"></a>NestedBlockComment&#160;</td><td class=\"fielddoc\"><p>A nested block comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca73cb3108374ba5ab9efbe7be369d1fda\"></a>LineComment&#160;</td><td class=\"fielddoc\"><p>A line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca522643317abd5f818642e3084a853a99\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca2f81dae1f227c08bfa040eda4ee6a8eb\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca485c820ed6275fb070e03ef6e66b3dc0\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca089dbc8f4ad6daf5a64f5a3f727b9f45\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3cadfef00dbe2a706f7571b769d872ea877\"></a>TripleString&#160;</td><td class=\"fielddoc\"><p>A triple quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca46914c7ffeef04a1c25be8c039640ec0\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword (as defined by keyword set number 1).. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3caa78ba1174c6df16aceae243269933062\"></a>Filter&#160;</td><td class=\"fielddoc\"><p>A filter (as defined by keyword set number 2). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca5ef99ccc5e6240b6acbe7b25344f0190\"></a>Plugin&#160;</td><td class=\"fielddoc\"><p>A plugin (as defined by keyword set number 3). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3ca4235f8fb2c5f08d64d9564c53c9b716d\"></a>Function&#160;</td><td class=\"fielddoc\"><p>A function (as defined by keyword set number 4). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3caf3462b881fa15ece44ea25e74ba153c2\"></a>ClipProperty&#160;</td><td class=\"fielddoc\"><p>A clip property (as defined by keyword set number 5). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a97b5e23dfd7e31204d054c97f8522a3cabbed202aa3af26d0af11825cd4360ab8\"></a>KeywordSet6&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 6. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">keywords()</a> to make use of this style. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a15390924acb08542856527f5d0101dab\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a15390924acb08542856527f5d0101dab\">&#9670;&nbsp;</a></span>QsciLexerAVS()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerAVS::QsciLexerAVS </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerAVS.html\" title=\"The QsciLexerAVS class encapsulates the Scintilla AVS lexer.\">QsciLexerAVS</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"af462fb11c1cb7d3a5d99cc66d2a4bc6b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerAVS::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abfb306fd9267f3af76bd144409776ba6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abfb306fd9267f3af76bd144409776ba6\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerAVS::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9af4c417c88911b8c0ca653d643e3778\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9af4c417c88911b8c0ca653d643e3778\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerAVS::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a23d3bdd816b3da42e65cb4b08f2b01ff\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a23d3bdd816b3da42e65cb4b08f2b01ff\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerAVS::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af5a3f47c4f0be631303cabd42d904c3e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af5a3f47c4f0be631303cabd42d904c3e\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerAVS::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a42a1cdec7111af0685a9d89419a821bd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a42a1cdec7111af0685a9d89419a821bd\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerAVS::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerAVS.html#a86be2cbea60ab7b3419ed3bf2db7c5ce\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"acee212ef3dceca125cadb16ae9cc5fc3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acee212ef3dceca125cadb16ae9cc5fc3\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerAVS::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerAVS.html#ac814c0fdc49d3c27a027a8e075aa7626\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a86be2cbea60ab7b3419ed3bf2db7c5ce\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a86be2cbea60ab7b3419ed3bf2db7c5ce\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerAVS::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerAVS.html#a42a1cdec7111af0685a9d89419a821bd\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac814c0fdc49d3c27a027a8e075aa7626\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac814c0fdc49d3c27a027a8e075aa7626\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerAVS::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerAVS.html#acee212ef3dceca125cadb16ae9cc5fc3\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad65ebfab947de5d6e318238f8a0048e4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad65ebfab947de5d6e318238f8a0048e4\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerAVS::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a6b8fc8bf46c22c3efafd92179b644788\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6b8fc8bf46c22c3efafd92179b644788\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerAVS::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerBash-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerBash Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a921bbb2e53761aa5835fd674130b65b5\">Backticks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a96aca8cf94d490d3c7c11e71d823a9ee\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a94487dec0dc65f87c1f84f4b5d716d95\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a45a68364d9664f00a90971b935e94e2b\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a57a2659a5ea9eba6898e3ced0565953f\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#ac0b0eb74510dd3af8eed933d3e37e2ab\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a080ef6e2fd0569a6f3d538ed0f82da85\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#aa8d47420bede5e7fde576ee8dc2728c5\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a5017022e35efd5f1c9825d63e4336e73\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a75d3348c625036e816f4e4e53dc601e0\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200aa077709e423acaff53b593bd170fa8e0\">Error</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a27f6ffff6c6020126b5318ed8ba76c54\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a554d4c9b25ad66e23092adf6f9b0460e\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a382232cd9e8deee51b10c35862647234\">HereDocumentDelimiter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8864a95744af2b4ef3d960c9e93a83a7\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ae7d35be63231a974b67a85fc51ede69c\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#ac1665f22a91f143e6e6fb46b02e7b109\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a1bc505b1b0f41472062f86b205ea2860\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a21f1bb849edbfbc0cf58bc55cc75e8a3\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ab3f18e3330a0e17453a9b76846d46a0f\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a0de557a455fb48ad07dea0fb58a26fd0\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a4c54dd14d11fd76a32c51e91f204a4cf\">ParameterExpansion</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a1ba5b1e505b4f6fe7d7b12ce69dee9a8\">QsciLexerBash</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#aae0cfbb2dbfd2a833a16630c9cf2e36e\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#aad047f411c36c262305ffcce5015944f\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200abf5cf8907ae93f41cec829969dfdbf18\">Scalar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#ab743740491685360f2d50e5c12be876b\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a80a1f387059600fd67bbf6d2699981e3\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8ec3f6f93c549d0d214ad89b4c610682\">SingleQuotedHereDocument</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a46cd77a8b0bd8346f9530a98bc9d732b\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a65ab592afff78804f6487dd7badd00cf\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a490932b0c83bf7e4048c590565d6a32d\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html#a7af6a9822a535e06a6874db0b73c2efd\">~QsciLexerBash</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerBash.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerBash Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerBash-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerBash Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerbash.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a19b5c93bf139293c9575bcb891709200\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a45a68364d9664f00a90971b935e94e2b\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200aa077709e423acaff53b593bd170fa8e0\">Error</a> = 1, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a94487dec0dc65f87c1f84f4b5d716d95\">Comment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ab3f18e3330a0e17453a9b76846d46a0f\">Number</a> = 3, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ae7d35be63231a974b67a85fc51ede69c\">Keyword</a> = 4, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a75d3348c625036e816f4e4e53dc601e0\">DoubleQuotedString</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a46cd77a8b0bd8346f9530a98bc9d732b\">SingleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a0de557a455fb48ad07dea0fb58a26fd0\">Operator</a> = 7, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8864a95744af2b4ef3d960c9e93a83a7\">Identifier</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200abf5cf8907ae93f41cec829969dfdbf18\">Scalar</a> = 9, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a4c54dd14d11fd76a32c51e91f204a4cf\">ParameterExpansion</a> = 10, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a921bbb2e53761aa5835fd674130b65b5\">Backticks</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a382232cd9e8deee51b10c35862647234\">HereDocumentDelimiter</a> = 12, \n<a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8ec3f6f93c549d0d214ad89b4c610682\">SingleQuotedHereDocument</a> = 13\n<br />\n }</td></tr>\n<tr class=\"separator:a19b5c93bf139293c9575bcb891709200\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:ab743740491685360f2d50e5c12be876b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#ab743740491685360f2d50e5c12be876b\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:ab743740491685360f2d50e5c12be876b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80a1f387059600fd67bbf6d2699981e3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a80a1f387059600fd67bbf6d2699981e3\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a80a1f387059600fd67bbf6d2699981e3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a1ba5b1e505b4f6fe7d7b12ce69dee9a8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a1ba5b1e505b4f6fe7d7b12ce69dee9a8\">QsciLexerBash</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a1ba5b1e505b4f6fe7d7b12ce69dee9a8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7af6a9822a535e06a6874db0b73c2efd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7af6a9822a535e06a6874db0b73c2efd\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a7af6a9822a535e06a6874db0b73c2efd\">~QsciLexerBash</a> ()</td></tr>\n<tr class=\"separator:a7af6a9822a535e06a6874db0b73c2efd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1bc505b1b0f41472062f86b205ea2860\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1bc505b1b0f41472062f86b205ea2860\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a1bc505b1b0f41472062f86b205ea2860\">language</a> () const</td></tr>\n<tr class=\"separator:a1bc505b1b0f41472062f86b205ea2860\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a21f1bb849edbfbc0cf58bc55cc75e8a3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a21f1bb849edbfbc0cf58bc55cc75e8a3\">lexer</a> () const</td></tr>\n<tr class=\"separator:a21f1bb849edbfbc0cf58bc55cc75e8a3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a96aca8cf94d490d3c7c11e71d823a9ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a96aca8cf94d490d3c7c11e71d823a9ee\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a96aca8cf94d490d3c7c11e71d823a9ee\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a96aca8cf94d490d3c7c11e71d823a9ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a65ab592afff78804f6487dd7badd00cf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a65ab592afff78804f6487dd7badd00cf\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a65ab592afff78804f6487dd7badd00cf\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a65ab592afff78804f6487dd7badd00cf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a57a2659a5ea9eba6898e3ced0565953f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a57a2659a5ea9eba6898e3ced0565953f\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a57a2659a5ea9eba6898e3ced0565953f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac0b0eb74510dd3af8eed933d3e37e2ab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac0b0eb74510dd3af8eed933d3e37e2ab\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#ac0b0eb74510dd3af8eed933d3e37e2ab\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:ac0b0eb74510dd3af8eed933d3e37e2ab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a080ef6e2fd0569a6f3d538ed0f82da85\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a080ef6e2fd0569a6f3d538ed0f82da85\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a080ef6e2fd0569a6f3d538ed0f82da85\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a080ef6e2fd0569a6f3d538ed0f82da85\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa8d47420bede5e7fde576ee8dc2728c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#aa8d47420bede5e7fde576ee8dc2728c5\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:aa8d47420bede5e7fde576ee8dc2728c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac1665f22a91f143e6e6fb46b02e7b109\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#ac1665f22a91f143e6e6fb46b02e7b109\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ac1665f22a91f143e6e6fb46b02e7b109\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5017022e35efd5f1c9825d63e4336e73\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a5017022e35efd5f1c9825d63e4336e73\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a5017022e35efd5f1c9825d63e4336e73\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad047f411c36c262305ffcce5015944f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#aad047f411c36c262305ffcce5015944f\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:aad047f411c36c262305ffcce5015944f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27f6ffff6c6020126b5318ed8ba76c54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a27f6ffff6c6020126b5318ed8ba76c54\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a27f6ffff6c6020126b5318ed8ba76c54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a554d4c9b25ad66e23092adf6f9b0460e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a554d4c9b25ad66e23092adf6f9b0460e\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a554d4c9b25ad66e23092adf6f9b0460e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:aae0cfbb2dbfd2a833a16630c9cf2e36e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#aae0cfbb2dbfd2a833a16630c9cf2e36e\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aae0cfbb2dbfd2a833a16630c9cf2e36e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a490932b0c83bf7e4048c590565d6a32d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBash.html#a490932b0c83bf7e4048c590565d6a32d\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a490932b0c83bf7e4048c590565d6a32d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerBash.html\" title=\"The QsciLexerBash class encapsulates the Scintilla Bash lexer.\">QsciLexerBash</a> class encapsulates the Scintilla Bash lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a19b5c93bf139293c9575bcb891709200\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a19b5c93bf139293c9575bcb891709200\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Bash lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a45a68364d9664f00a90971b935e94e2b\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200aa077709e423acaff53b593bd170fa8e0\"></a>Error&#160;</td><td class=\"fielddoc\"><p>An error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a94487dec0dc65f87c1f84f4b5d716d95\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200ab3f18e3330a0e17453a9b76846d46a0f\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200ae7d35be63231a974b67a85fc51ede69c\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a75d3348c625036e816f4e4e53dc601e0\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a46cd77a8b0bd8346f9530a98bc9d732b\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a0de557a455fb48ad07dea0fb58a26fd0\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a8864a95744af2b4ef3d960c9e93a83a7\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200abf5cf8907ae93f41cec829969dfdbf18\"></a>Scalar&#160;</td><td class=\"fielddoc\"><p>A scalar. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a4c54dd14d11fd76a32c51e91f204a4cf\"></a>ParameterExpansion&#160;</td><td class=\"fielddoc\"><p>Parameter expansion. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a921bbb2e53761aa5835fd674130b65b5\"></a>Backticks&#160;</td><td class=\"fielddoc\"><p>Backticks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a382232cd9e8deee51b10c35862647234\"></a>HereDocumentDelimiter&#160;</td><td class=\"fielddoc\"><p>A here document delimiter. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a19b5c93bf139293c9575bcb891709200a8ec3f6f93c549d0d214ad89b4c610682\"></a>SingleQuotedHereDocument&#160;</td><td class=\"fielddoc\"><p>A single quoted here document. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a1ba5b1e505b4f6fe7d7b12ce69dee9a8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1ba5b1e505b4f6fe7d7b12ce69dee9a8\">&#9670;&nbsp;</a></span>QsciLexerBash()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerBash::QsciLexerBash </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerBash.html\" title=\"The QsciLexerBash class encapsulates the Scintilla Bash lexer.\">QsciLexerBash</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a21f1bb849edbfbc0cf58bc55cc75e8a3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a21f1bb849edbfbc0cf58bc55cc75e8a3\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerBash::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a57a2659a5ea9eba6898e3ced0565953f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a57a2659a5ea9eba6898e3ced0565953f\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerBash::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBash.html#aa8d47420bede5e7fde576ee8dc2728c5\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa8d47420bede5e7fde576ee8dc2728c5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa8d47420bede5e7fde576ee8dc2728c5\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerBash::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBash.html#a57a2659a5ea9eba6898e3ced0565953f\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac1665f22a91f143e6e6fb46b02e7b109\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac1665f22a91f143e6e6fb46b02e7b109\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerBash::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5017022e35efd5f1c9825d63e4336e73\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5017022e35efd5f1c9825d63e4336e73\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerBash::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aad047f411c36c262305ffcce5015944f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aad047f411c36c262305ffcce5015944f\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerBash::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a27f6ffff6c6020126b5318ed8ba76c54\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a27f6ffff6c6020126b5318ed8ba76c54\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerBash::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBash.html#ab743740491685360f2d50e5c12be876b\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a554d4c9b25ad66e23092adf6f9b0460e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a554d4c9b25ad66e23092adf6f9b0460e\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerBash::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBash.html#a80a1f387059600fd67bbf6d2699981e3\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab743740491685360f2d50e5c12be876b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab743740491685360f2d50e5c12be876b\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerBash::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBash.html#a27f6ffff6c6020126b5318ed8ba76c54\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a80a1f387059600fd67bbf6d2699981e3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a80a1f387059600fd67bbf6d2699981e3\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerBash::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBash.html#a554d4c9b25ad66e23092adf6f9b0460e\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aae0cfbb2dbfd2a833a16630c9cf2e36e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aae0cfbb2dbfd2a833a16630c9cf2e36e\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerBash::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a490932b0c83bf7e4048c590565d6a32d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a490932b0c83bf7e4048c590565d6a32d\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerBash::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerBatch-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerBatch Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#aab3e54ed46006daeb2dbdcea3f64192d\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a67d6bd7807a11a73fcb0f90b51950206\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a6486aa5cd4381bccf758618bf0aeeaa3\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#ac378e6bd25b850c9523d0b9c291cfc62\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a57d4b4e77554476eea666d793f104540\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#abf1b01e4ea47d78610f33a337245980b\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#aff0007dfcbcced2ee7c89ebb12376f22\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a142446dc4954e057b2d7de11fe3e25e0\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ab6c8b3d3175be5f62e770f2dc637bb61\">ExternalCommand</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a9de6f2d916a75676162d8a88b58516ae\">HideCommandChar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a49a41ab6bdd70dcdc2721b5c78620005\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#ac9329cbc86f1f1a915e548997af76a5f\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a4d5dd4773bec06223bccbad51b0e7b10\">Label</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a18341dcb06d1b74269ed1f33c002b2a9\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#acf33e60d28291147562860b824ccd74d\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ac0016055e6f7cb07b6405a61c231d752\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a9f0ad3d0c52cc81d43a0b733558e2392\">QsciLexerBatch</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ad471bc2288e75b3f82a290f0e143c5f4\">Variable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a93f46567c5b91d993387d2ba033f2030\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html#a5fbcc10c345a43e51a6042919a9d30c4\">~QsciLexerBatch</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerBatch.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerBatch Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerBatch-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerBatch Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerbatch.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a2e13faf432e7c61bee9cbe433b7451f4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a6486aa5cd4381bccf758618bf0aeeaa3\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a67d6bd7807a11a73fcb0f90b51950206\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a49a41ab6bdd70dcdc2721b5c78620005\">Keyword</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a4d5dd4773bec06223bccbad51b0e7b10\">Label</a> = 3, \n<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a9de6f2d916a75676162d8a88b58516ae\">HideCommandChar</a> = 4, \n<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ab6c8b3d3175be5f62e770f2dc637bb61\">ExternalCommand</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ad471bc2288e75b3f82a290f0e143c5f4\">Variable</a> = 6, \n<a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ac0016055e6f7cb07b6405a61c231d752\">Operator</a> = 7\n<br />\n }</td></tr>\n<tr class=\"separator:a2e13faf432e7c61bee9cbe433b7451f4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a9f0ad3d0c52cc81d43a0b733558e2392\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#a9f0ad3d0c52cc81d43a0b733558e2392\">QsciLexerBatch</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a9f0ad3d0c52cc81d43a0b733558e2392\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5fbcc10c345a43e51a6042919a9d30c4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5fbcc10c345a43e51a6042919a9d30c4\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#a5fbcc10c345a43e51a6042919a9d30c4\">~QsciLexerBatch</a> ()</td></tr>\n<tr class=\"separator:a5fbcc10c345a43e51a6042919a9d30c4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a18341dcb06d1b74269ed1f33c002b2a9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a18341dcb06d1b74269ed1f33c002b2a9\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#a18341dcb06d1b74269ed1f33c002b2a9\">language</a> () const</td></tr>\n<tr class=\"separator:a18341dcb06d1b74269ed1f33c002b2a9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acf33e60d28291147562860b824ccd74d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#acf33e60d28291147562860b824ccd74d\">lexer</a> () const</td></tr>\n<tr class=\"separator:acf33e60d28291147562860b824ccd74d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a93f46567c5b91d993387d2ba033f2030\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a93f46567c5b91d993387d2ba033f2030\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#a93f46567c5b91d993387d2ba033f2030\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a93f46567c5b91d993387d2ba033f2030\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab3e54ed46006daeb2dbdcea3f64192d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab3e54ed46006daeb2dbdcea3f64192d\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#aab3e54ed46006daeb2dbdcea3f64192d\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:aab3e54ed46006daeb2dbdcea3f64192d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac378e6bd25b850c9523d0b9c291cfc62\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#ac378e6bd25b850c9523d0b9c291cfc62\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ac378e6bd25b850c9523d0b9c291cfc62\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a57d4b4e77554476eea666d793f104540\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a57d4b4e77554476eea666d793f104540\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#a57d4b4e77554476eea666d793f104540\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a57d4b4e77554476eea666d793f104540\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf1b01e4ea47d78610f33a337245980b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abf1b01e4ea47d78610f33a337245980b\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#abf1b01e4ea47d78610f33a337245980b\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:abf1b01e4ea47d78610f33a337245980b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff0007dfcbcced2ee7c89ebb12376f22\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#aff0007dfcbcced2ee7c89ebb12376f22\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:aff0007dfcbcced2ee7c89ebb12376f22\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac9329cbc86f1f1a915e548997af76a5f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#ac9329cbc86f1f1a915e548997af76a5f\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ac9329cbc86f1f1a915e548997af76a5f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a142446dc4954e057b2d7de11fe3e25e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerBatch.html#a142446dc4954e057b2d7de11fe3e25e0\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a142446dc4954e057b2d7de11fe3e25e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerBatch.html\" title=\"The QsciLexerBatch class encapsulates the Scintilla batch file lexer.\">QsciLexerBatch</a> class encapsulates the Scintilla batch file lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a2e13faf432e7c61bee9cbe433b7451f4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2e13faf432e7c61bee9cbe433b7451f4\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the batch file lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4a6486aa5cd4381bccf758618bf0aeeaa3\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4a67d6bd7807a11a73fcb0f90b51950206\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4a49a41ab6bdd70dcdc2721b5c78620005\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4a4d5dd4773bec06223bccbad51b0e7b10\"></a>Label&#160;</td><td class=\"fielddoc\"><p>A label. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4a9de6f2d916a75676162d8a88b58516ae\"></a>HideCommandChar&#160;</td><td class=\"fielddoc\"><p>An hide command character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4ab6c8b3d3175be5f62e770f2dc637bb61\"></a>ExternalCommand&#160;</td><td class=\"fielddoc\"><p>An external command . </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4ad471bc2288e75b3f82a290f0e143c5f4\"></a>Variable&#160;</td><td class=\"fielddoc\"><p>A variable. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2e13faf432e7c61bee9cbe433b7451f4ac0016055e6f7cb07b6405a61c231d752\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a9f0ad3d0c52cc81d43a0b733558e2392\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9f0ad3d0c52cc81d43a0b733558e2392\">&#9670;&nbsp;</a></span>QsciLexerBatch()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerBatch::QsciLexerBatch </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerBatch.html\" title=\"The QsciLexerBatch class encapsulates the Scintilla batch file lexer.\">QsciLexerBatch</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"acf33e60d28291147562860b824ccd74d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acf33e60d28291147562860b824ccd74d\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerBatch::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac378e6bd25b850c9523d0b9c291cfc62\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac378e6bd25b850c9523d0b9c291cfc62\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerBatch::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBatch.html#aff0007dfcbcced2ee7c89ebb12376f22\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aff0007dfcbcced2ee7c89ebb12376f22\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff0007dfcbcced2ee7c89ebb12376f22\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerBatch::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerBatch.html#ac378e6bd25b850c9523d0b9c291cfc62\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac9329cbc86f1f1a915e548997af76a5f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac9329cbc86f1f1a915e548997af76a5f\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerBatch::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a142446dc4954e057b2d7de11fe3e25e0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a142446dc4954e057b2d7de11fe3e25e0\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerBatch::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCMake-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCMake Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a8587759ba24aa4340fe364744a6cc599\">BlockForeach</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5affcaf2eab9cfb5a16cb21b1a3c4c749a\">BlockIf</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a919aae1204818770a4720bca9bb9312c\">BlockMacro</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd41a928f0ec4f70bf8263f1fcbe4fcd\">BlockWhile</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ab77d5e490bf963b6d8f6e3197cd7285e\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac58878e947938b80b35766b89c688000\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a54cd2f0d4c87b28f41dc325d0fe485cc\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a058af5212c83c1eef0a5f39252651743\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#abd4b8e9e29aa577fdd546ef0de20c7ff\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#aa9285b175e0d9964e427f047f484d0e5\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#aa3c50f5bd00d091303665066c8f4d741\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd122c7f7d43a9a7757982877d7e791c\">Function</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a6132465c9d48cb54e00acebcc160084f\">KeywordSet3</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a547af93b10d8f7d2984ccf792d50efc6\">Label</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a0aa2f537e70f47e6a3e1bcf6d383a480\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a99fc9415c35eeef2b0f45f066101736b\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a1c39da6775c6c5bb602c144276a07cb1\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#af84de1838a68d08ef99be3aa666dc09f\">QsciLexerCMake</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a4578cacfbe802ab993fc07ddeaef3297\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a7cc73bba065690f08e2b6b8e8c00d5d3\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#aaae969a8e94db29a49849d7497e2cc74\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a366e071a1824dc401d8ff7adac0e5e9d\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a940faa24e7d4d2fad2b1eb485fa94577\">StringLeftQuote</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a35e061dbf8afc0f987f10f2e17cb4ca7\">StringRightQuote</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5abdf5c1c3e946ecaed431bbe352eaa8a1\">StringVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac5108d9ae30f7b74ce6c621f69531e6e\">Variable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a0e2e832caa9adddace3085ebfa582948\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html#a7ca16327ee98a2e0dc3a59b2f745d778\">~QsciLexerCMake</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCMake.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerCMake Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerCMake-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCMake Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexercmake.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a66895a601b7ef292c78a2ad73305cde5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac58878e947938b80b35766b89c688000\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ab77d5e490bf963b6d8f6e3197cd7285e\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a366e071a1824dc401d8ff7adac0e5e9d\">String</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a940faa24e7d4d2fad2b1eb485fa94577\">StringLeftQuote</a> = 3, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a35e061dbf8afc0f987f10f2e17cb4ca7\">StringRightQuote</a> = 4, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd122c7f7d43a9a7757982877d7e791c\">Function</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac5108d9ae30f7b74ce6c621f69531e6e\">Variable</a> = 6, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a547af93b10d8f7d2984ccf792d50efc6\">Label</a> = 7, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a6132465c9d48cb54e00acebcc160084f\">KeywordSet3</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd41a928f0ec4f70bf8263f1fcbe4fcd\">BlockWhile</a> = 9, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a8587759ba24aa4340fe364744a6cc599\">BlockForeach</a> = 10, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5affcaf2eab9cfb5a16cb21b1a3c4c749a\">BlockIf</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a919aae1204818770a4720bca9bb9312c\">BlockMacro</a> = 12, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5abdf5c1c3e946ecaed431bbe352eaa8a1\">StringVariable</a> = 13, \n<a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a1c39da6775c6c5bb602c144276a07cb1\">Number</a> = 14\n<br />\n }</td></tr>\n<tr class=\"separator:a66895a601b7ef292c78a2ad73305cde5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:aaae969a8e94db29a49849d7497e2cc74\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#aaae969a8e94db29a49849d7497e2cc74\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:aaae969a8e94db29a49849d7497e2cc74\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:af84de1838a68d08ef99be3aa666dc09f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#af84de1838a68d08ef99be3aa666dc09f\">QsciLexerCMake</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:af84de1838a68d08ef99be3aa666dc09f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ca16327ee98a2e0dc3a59b2f745d778\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ca16327ee98a2e0dc3a59b2f745d778\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a7ca16327ee98a2e0dc3a59b2f745d778\">~QsciLexerCMake</a> ()</td></tr>\n<tr class=\"separator:a7ca16327ee98a2e0dc3a59b2f745d778\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2f537e70f47e6a3e1bcf6d383a480\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0aa2f537e70f47e6a3e1bcf6d383a480\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a0aa2f537e70f47e6a3e1bcf6d383a480\">language</a> () const</td></tr>\n<tr class=\"separator:a0aa2f537e70f47e6a3e1bcf6d383a480\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a99fc9415c35eeef2b0f45f066101736b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a99fc9415c35eeef2b0f45f066101736b\">lexer</a> () const</td></tr>\n<tr class=\"separator:a99fc9415c35eeef2b0f45f066101736b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a54cd2f0d4c87b28f41dc325d0fe485cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a54cd2f0d4c87b28f41dc325d0fe485cc\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a54cd2f0d4c87b28f41dc325d0fe485cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a058af5212c83c1eef0a5f39252651743\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a058af5212c83c1eef0a5f39252651743\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a058af5212c83c1eef0a5f39252651743\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a058af5212c83c1eef0a5f39252651743\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd4b8e9e29aa577fdd546ef0de20c7ff\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#abd4b8e9e29aa577fdd546ef0de20c7ff\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:abd4b8e9e29aa577fdd546ef0de20c7ff\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90ed658a569976a68f1260901b7b3518\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a90ed658a569976a68f1260901b7b3518\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa9285b175e0d9964e427f047f484d0e5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#aa9285b175e0d9964e427f047f484d0e5\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aa9285b175e0d9964e427f047f484d0e5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7cc73bba065690f08e2b6b8e8c00d5d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a7cc73bba065690f08e2b6b8e8c00d5d3\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a7cc73bba065690f08e2b6b8e8c00d5d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa3c50f5bd00d091303665066c8f4d741\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#aa3c50f5bd00d091303665066c8f4d741\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aa3c50f5bd00d091303665066c8f4d741\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a4578cacfbe802ab993fc07ddeaef3297\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a4578cacfbe802ab993fc07ddeaef3297\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a4578cacfbe802ab993fc07ddeaef3297\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e2e832caa9adddace3085ebfa582948\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCMake.html#a0e2e832caa9adddace3085ebfa582948\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a0e2e832caa9adddace3085ebfa582948\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerCMake.html\" title=\"The QsciLexerCMake class encapsulates the Scintilla CMake lexer.\">QsciLexerCMake</a> class encapsulates the Scintilla CMake lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a66895a601b7ef292c78a2ad73305cde5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a66895a601b7ef292c78a2ad73305cde5\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the CMake lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5ac58878e947938b80b35766b89c688000\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5ab77d5e490bf963b6d8f6e3197cd7285e\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a366e071a1824dc401d8ff7adac0e5e9d\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a940faa24e7d4d2fad2b1eb485fa94577\"></a>StringLeftQuote&#160;</td><td class=\"fielddoc\"><p>A left quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a35e061dbf8afc0f987f10f2e17cb4ca7\"></a>StringRightQuote&#160;</td><td class=\"fielddoc\"><p>A right quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5acd122c7f7d43a9a7757982877d7e791c\"></a>Function&#160;</td><td class=\"fielddoc\"><p>A function. (Defined by keyword set number 1.) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5ac5108d9ae30f7b74ce6c621f69531e6e\"></a>Variable&#160;</td><td class=\"fielddoc\"><p>A variable. (Defined by keyword set number 2.) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a547af93b10d8f7d2984ccf792d50efc6\"></a>Label&#160;</td><td class=\"fielddoc\"><p>A label. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a6132465c9d48cb54e00acebcc160084f\"></a>KeywordSet3&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 3. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5acd41a928f0ec4f70bf8263f1fcbe4fcd\"></a>BlockWhile&#160;</td><td class=\"fielddoc\"><p>A WHILE block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a8587759ba24aa4340fe364744a6cc599\"></a>BlockForeach&#160;</td><td class=\"fielddoc\"><p>A FOREACH block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5affcaf2eab9cfb5a16cb21b1a3c4c749a\"></a>BlockIf&#160;</td><td class=\"fielddoc\"><p>An IF block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a919aae1204818770a4720bca9bb9312c\"></a>BlockMacro&#160;</td><td class=\"fielddoc\"><p>A MACRO block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5abdf5c1c3e946ecaed431bbe352eaa8a1\"></a>StringVariable&#160;</td><td class=\"fielddoc\"><p>A variable within a string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a66895a601b7ef292c78a2ad73305cde5a1c39da6775c6c5bb602c144276a07cb1\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"af84de1838a68d08ef99be3aa666dc09f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af84de1838a68d08ef99be3aa666dc09f\">&#9670;&nbsp;</a></span>QsciLexerCMake()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerCMake::QsciLexerCMake </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerCMake.html\" title=\"The QsciLexerCMake class encapsulates the Scintilla CMake lexer.\">QsciLexerCMake</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a99fc9415c35eeef2b0f45f066101736b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a99fc9415c35eeef2b0f45f066101736b\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCMake::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a54cd2f0d4c87b28f41dc325d0fe485cc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a54cd2f0d4c87b28f41dc325d0fe485cc\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCMake::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCMake.html#abd4b8e9e29aa577fdd546ef0de20c7ff\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abd4b8e9e29aa577fdd546ef0de20c7ff\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abd4b8e9e29aa577fdd546ef0de20c7ff\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCMake::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCMake.html#a54cd2f0d4c87b28f41dc325d0fe485cc\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a90ed658a569976a68f1260901b7b3518\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a90ed658a569976a68f1260901b7b3518\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCMake::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa9285b175e0d9964e427f047f484d0e5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa9285b175e0d9964e427f047f484d0e5\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerCMake::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7cc73bba065690f08e2b6b8e8c00d5d3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7cc73bba065690f08e2b6b8e8c00d5d3\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCMake::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa3c50f5bd00d091303665066c8f4d741\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa3c50f5bd00d091303665066c8f4d741\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCMake::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if ELSE blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCMake.html#aaae969a8e94db29a49849d7497e2cc74\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaae969a8e94db29a49849d7497e2cc74\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaae969a8e94db29a49849d7497e2cc74\">&#9670;&nbsp;</a></span>setFoldAtElse</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCMake::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then ELSE blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCMake.html#aa3c50f5bd00d091303665066c8f4d741\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4578cacfbe802ab993fc07ddeaef3297\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4578cacfbe802ab993fc07ddeaef3297\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCMake::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0e2e832caa9adddace3085ebfa582948\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e2e832caa9adddace3085ebfa582948\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCMake::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCPP-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCPP Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentDocKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDocKeywordError</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentLine</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDefault</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDoubleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveEscapeSequence</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveGlobalClass</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveHashQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveIdentifier</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveKeywordSet2</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveNumber</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveOperator</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessor</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactivePreProcessorComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessorCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveRawString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveRegex</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveSingleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveTaskMarker</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveTripleQuotedVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUnclosedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveUserLiteral</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUUID</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7c5dafabba34ff3e6120d9f3606cade0\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>(QObject *parent=0, bool caseInsensitiveKeywords=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a>(bool style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCPP.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerCPP Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerCPP-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCPP Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexercpp.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a>, <a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a>, <a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a>, and <a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a30c13b0ea8b55b3204ea4e9f49a313b1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> = 0, \n<b>InactiveDefault</b> = Default + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> = 1, \n<br />\n&#160;&#160;<b>InactiveComment</b> = Comment + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> = 2, \n<b>InactiveCommentLine</b> = CommentLine + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> = 3, \n<b>InactiveCommentDoc</b> = CommentDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> = 4, \n<br />\n&#160;&#160;<b>InactiveNumber</b> = Number + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> = 5, \n<b>InactiveKeyword</b> = Keyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> = 6, \n<b>InactiveDoubleQuotedString</b> = DoubleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> = 7, \n<br />\n&#160;&#160;<b>InactiveSingleQuotedString</b> = SingleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> = 8, \n<b>InactiveUUID</b> = UUID + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> = 9, \n<b>InactivePreProcessor</b> = PreProcessor + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> = 10, \n<br />\n&#160;&#160;<b>InactiveOperator</b> = Operator + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> = 11, \n<b>InactiveIdentifier</b> = Identifier + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> = 12, \n<b>InactiveUnclosedString</b> = UnclosedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> = 13, \n<br />\n&#160;&#160;<b>InactiveVerbatimString</b> = VerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> = 14, \n<b>InactiveRegex</b> = Regex + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> = 15, \n<b>InactiveCommentLineDoc</b> = CommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> = 16, \n<br />\n&#160;&#160;<b>InactiveKeywordSet2</b> = KeywordSet2 + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> = 17, \n<b>InactiveCommentDocKeyword</b> = CommentDocKeyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> = 18, \n<b>InactiveCommentDocKeywordError</b> = CommentDocKeywordError + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> = 19, \n<br />\n&#160;&#160;<b>InactiveGlobalClass</b> = GlobalClass + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> = 20, \n<b>InactiveRawString</b> = RawString + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> = 21, \n<b>InactiveTripleQuotedVerbatimString</b> = TripleQuotedVerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> = 22, \n<br />\n&#160;&#160;<b>InactiveHashQuotedString</b> = HashQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> = 23, \n<b>InactivePreProcessorComment</b> = PreProcessorComment + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> = 24, \n<b>InactivePreProcessorCommentLineDoc</b> = PreProcessorCommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> = 25, \n<br />\n&#160;&#160;<b>InactiveUserLiteral</b> = UserLiteral + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> = 26, \n<b>InactiveTaskMarker</b> = TaskMarker + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> = 27, \n<b>InactiveEscapeSequence</b> = EscapeSequence + 64\n<br />\n }</td></tr>\n<tr class=\"separator:a30c13b0ea8b55b3204ea4e9f49a313b1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:ad0a3dd6dfb77a069303bfeeeed43773f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:ad0a3dd6dfb77a069303bfeeeed43773f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf1f8163b8baf27ef65c1e5219bbf1e2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:aaf1f8163b8baf27ef65c1e5219bbf1e2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af17ac732d73445822ef23a59f3e45aef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:af17ac732d73445822ef23a59f3e45aef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a8c59ca8409029fc6b27b9ad3c70886\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:a6a8c59ca8409029fc6b27b9ad3c70886\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66dc6ae74420ab3406043ff9f6f70cc4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a> (bool style)</td></tr>\n<tr class=\"separator:a66dc6ae74420ab3406043ff9f6f70cc4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:ae1451be7e7c6a57f28f361c72eb68a5f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a> (QObject *parent=0, bool caseInsensitiveKeywords=false)</td></tr>\n<tr class=\"separator:ae1451be7e7c6a57f28f361c72eb68a5f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab9babc165bacf53b73abfb2d5d1aadad\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab9babc165bacf53b73abfb2d5d1aadad\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a> ()</td></tr>\n<tr class=\"separator:ab9babc165bacf53b73abfb2d5d1aadad\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7c5dafabba34ff3e6120d9f3606cade0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7c5dafabba34ff3e6120d9f3606cade0\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7c5dafabba34ff3e6120d9f3606cade0\">language</a> () const</td></tr>\n<tr class=\"separator:a7c5dafabba34ff3e6120d9f3606cade0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3f7076535f370759450ec1243088c7f1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a> () const</td></tr>\n<tr class=\"separator:a3f7076535f370759450ec1243088c7f1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0ccf94585e15b87a18f12ab9de1c977\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:af0ccf94585e15b87a18f12ab9de1c977\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2263531e4445463f1d75fdfd54102404\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2263531e4445463f1d75fdfd54102404\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d8b2101ef7b1aef1e7e01557090d6f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a79d8b2101ef7b1aef1e7e01557090d6f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cfcfea76c396c0b7b82fc41437ff16f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2cfcfea76c396c0b7b82fc41437ff16f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a509df9a20a1841de287849d6738ec3dd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a509df9a20a1841de287849d6738ec3dd\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a509df9a20a1841de287849d6738ec3dd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a822ca7489c4655f26bc72ed127285d8a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a822ca7489c4655f26bc72ed127285d8a\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a822ca7489c4655f26bc72ed127285d8a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a39af10ac6ff34cb347bb2c891f8de64f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a39af10ac6ff34cb347bb2c891f8de64f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a870955b5547ce4bdf9940165181022b7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a870955b5547ce4bdf9940165181022b7\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a870955b5547ce4bdf9940165181022b7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ae8627b7ef9faf3bb3a25fdbcb3cd97\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ae8627b7ef9faf3bb3a25fdbcb3cd97\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a7ae8627b7ef9faf3bb3a25fdbcb3cd97\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aebdebbf12dc8bf264479bd570f669268\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:aebdebbf12dc8bf264479bd570f669268\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac331bbae026859d8020ac5a6efd8fed1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ac331bbae026859d8020ac5a6efd8fed1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a761b431d688aa99c5c9b5110b41dc712\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a761b431d688aa99c5c9b5110b41dc712\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a58506e1c965a181c9202376e0ba85c30\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a58506e1c965a181c9202376e0ba85c30\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad7b42963ca382afb23eb000b727de12\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aad7b42963ca382afb23eb000b727de12\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc253f08156cde45b331c5a7ed07cfd7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a> () const</td></tr>\n<tr class=\"separator:adc253f08156cde45b331c5a7ed07cfd7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0939852605ee45ce62f70647d47147b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ad0939852605ee45ce62f70647d47147b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c93f14b36897ecb3f902b5e5de91ad6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a3c93f14b36897ecb3f902b5e5de91ad6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac6f508a57750605ec3b9688408b092b2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a> () const</td></tr>\n<tr class=\"separator:ac6f508a57750605ec3b9688408b092b2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06315a18051184926fe21459fc75b4cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a06315a18051184926fe21459fc75b4cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa20e183e0b38b5076aa9e883c5283791\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a> () const</td></tr>\n<tr class=\"separator:aa20e183e0b38b5076aa9e883c5283791\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea8bd8758e10d72832dbf3642b06fb2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:a2ea8bd8758e10d72832dbf3642b06fb2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a23c6488e2416d54f6a4ec84015d860ec\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a23c6488e2416d54f6a4ec84015d860ec\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0d9356583118309e6c3991e96a67ffe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:ad0d9356583118309e6c3991e96a67ffe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5f782645ff1d3a2d7ac371cbd9f2f5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:ab5f782645ff1d3a2d7ac371cbd9f2f5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa023c95fbbecbbbf7046c92d6fcfdce5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:aa023c95fbbecbbbf7046c92d6fcfdce5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015d6501ee4cca33a00036174529c161\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a015d6501ee4cca33a00036174529c161\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6a21ea44e2ee9676aa27178021b06a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a> (bool enabled)</td></tr>\n<tr class=\"separator:a6d6a21ea44e2ee9676aa27178021b06a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea4d8707f6e32c1fbf989504d12d9eaa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a> () const</td></tr>\n<tr class=\"separator:aea4d8707f6e32c1fbf989504d12d9eaa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015dce05877d292d399fb207e79632cf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a015dce05877d292d399fb207e79632cf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a20439ec93f1af6b8227bdcd48a6070ec\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a> () const</td></tr>\n<tr class=\"separator:a20439ec93f1af6b8227bdcd48a6070ec\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:aa37ea54c5e39721b866c25b0e0335591\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aa37ea54c5e39721b866c25b0e0335591\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46bd37b48e91903451ab59314448f322\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a46bd37b48e91903451ab59314448f322\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerCPP.html\" title=\"The QsciLexerCPP class encapsulates the Scintilla C++ lexer.\">QsciLexerCPP</a> class encapsulates the Scintilla C++ lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a30c13b0ea8b55b3204ea4e9f49a313b1\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the C++ lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A C comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A C++ comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\"></a>CommentDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen style C comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\"></a>UUID&#160;</td><td class=\"fielddoc\"><p>An IDL UUID. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\"></a>PreProcessor&#160;</td><td class=\"fielddoc\"><p>A pre-processor block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\"></a>VerbatimString&#160;</td><td class=\"fielddoc\"><p>A C# verbatim string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\"></a>Regex&#160;</td><td class=\"fielddoc\"><p>A JavaScript regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\"></a>CommentLineDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen style C++ comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\"></a>KeywordSet2&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 2. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\"></a>CommentDocKeyword&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\"></a>CommentDocKeywordError&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen keyword error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\"></a>GlobalClass&#160;</td><td class=\"fielddoc\"><p>A global class or typedef defined in keyword set number 5. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\"></a>RawString&#160;</td><td class=\"fielddoc\"><p>A C++ raw string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\"></a>TripleQuotedVerbatimString&#160;</td><td class=\"fielddoc\"><p>A Vala triple-quoted verbatim string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\"></a>HashQuotedString&#160;</td><td class=\"fielddoc\"><p>A Pike hash-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\"></a>PreProcessorComment&#160;</td><td class=\"fielddoc\"><p>A pre-processor stream comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\"></a>PreProcessorCommentLineDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen style pre-processor comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\"></a>UserLiteral&#160;</td><td class=\"fielddoc\"><p>A user-defined literal. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\"></a>TaskMarker&#160;</td><td class=\"fielddoc\"><p>A task marker. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\"></a>EscapeSequence&#160;</td><td class=\"fielddoc\"><p>An escape sequence. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"ae1451be7e7c6a57f28f361c72eb68a5f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae1451be7e7c6a57f28f361c72eb68a5f\">&#9670;&nbsp;</a></span>QsciLexerCPP()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerCPP::QsciLexerCPP </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>caseInsensitiveKeywords</em> = <code>false</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerCPP.html\" title=\"The QsciLexerCPP class encapsulates the Scintilla C++ lexer.\">QsciLexerCPP</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. <em>caseInsensitiveKeywords</em> is true if the lexer ignores the case of keywords. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a3f7076535f370759450ec1243088c7f1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3f7076535f370759450ec1243088c7f1\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCPP::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af0ccf94585e15b87a18f12ab9de1c977\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af0ccf94585e15b87a18f12ab9de1c977\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerCPP::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2263531e4445463f1d75fdfd54102404\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2263531e4445463f1d75fdfd54102404\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCPP::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a79d8b2101ef7b1aef1e7e01557090d6f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a79d8b2101ef7b1aef1e7e01557090d6f\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCPP::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2cfcfea76c396c0b7b82fc41437ff16f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2cfcfea76c396c0b7b82fc41437ff16f\">&#9670;&nbsp;</a></span>blockStartKeyword()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCPP::blockStartKeyword </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a39af10ac6ff34cb347bb2c891f8de64f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a39af10ac6ff34cb347bb2c891f8de64f\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCPP::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerIDL.html#a36cce16a8abf9455e397bbec012c9838\">QsciLexerIDL</a>, and <a class=\"el\" href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">QsciLexerCSharp</a>.</p>\n\n</div>\n</div>\n<a id=\"aebdebbf12dc8bf264479bd570f669268\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aebdebbf12dc8bf264479bd570f669268\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCPP::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">QsciLexerJavaScript</a>, and <a class=\"el\" href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">QsciLexerCSharp</a>.</p>\n\n</div>\n</div>\n<a id=\"ac331bbae026859d8020ac5a6efd8fed1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac331bbae026859d8020ac5a6efd8fed1\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCPP::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> 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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">QsciLexerJava</a>, <a class=\"el\" href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">QsciLexerIDL</a>, and <a class=\"el\" href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">QsciLexerCSharp</a>.</p>\n\n</div>\n</div>\n<a id=\"a761b431d688aa99c5c9b5110b41dc712\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a761b431d688aa99c5c9b5110b41dc712\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerCPP::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">QsciLexerJavaScript</a>, <a class=\"el\" href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">QsciLexerIDL</a>, and <a class=\"el\" href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">QsciLexerCSharp</a>.</p>\n\n</div>\n</div>\n<a id=\"a58506e1c965a181c9202376e0ba85c30\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a58506e1c965a181c9202376e0ba85c30\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aad7b42963ca382afb23eb000b727de12\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aad7b42963ca382afb23eb000b727de12\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if \"} else {\" lines can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adc253f08156cde45b331c5a7ed07cfd7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adc253f08156cde45b331c5a7ed07cfd7\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad0939852605ee45ce62f70647d47147b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad0939852605ee45ce62f70647d47147b\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3c93f14b36897ecb3f902b5e5de91ad6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3c93f14b36897ecb3f902b5e5de91ad6\">&#9670;&nbsp;</a></span>foldPreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::foldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if preprocessor blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac6f508a57750605ec3b9688408b092b2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac6f508a57750605ec3b9688408b092b2\">&#9670;&nbsp;</a></span>stylePreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::stylePreprocessor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if preprocessor lines (after the preprocessor directive) are styled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a06315a18051184926fe21459fc75b4cc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a06315a18051184926fe21459fc75b4cc\">&#9670;&nbsp;</a></span>setDollarsAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::setDollarsAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then '$' characters are allowed in identifier names. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa20e183e0b38b5076aa9e883c5283791\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa20e183e0b38b5076aa9e883c5283791\">&#9670;&nbsp;</a></span>dollarsAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::dollarsAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if '$' characters are allowed in identifier names.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2ea8bd8758e10d72832dbf3642b06fb2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2ea8bd8758e10d72832dbf3642b06fb2\">&#9670;&nbsp;</a></span>setHighlightTripleQuotedStrings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::setHighlightTripleQuotedStrings </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then triple quoted strings are highlighted. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a23c6488e2416d54f6a4ec84015d860ec\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a23c6488e2416d54f6a4ec84015d860ec\">&#9670;&nbsp;</a></span>highlightTripleQuotedStrings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::highlightTripleQuotedStrings </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if triple quoted strings should be highlighted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad0d9356583118309e6c3991e96a67ffe\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad0d9356583118309e6c3991e96a67ffe\">&#9670;&nbsp;</a></span>setHighlightHashQuotedStrings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::setHighlightHashQuotedStrings </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then hash quoted strings are highlighted. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab5f782645ff1d3a2d7ac371cbd9f2f5d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">&#9670;&nbsp;</a></span>highlightHashQuotedStrings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::highlightHashQuotedStrings </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if hash quoted strings should be highlighted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa023c95fbbecbbbf7046c92d6fcfdce5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa023c95fbbecbbbf7046c92d6fcfdce5\">&#9670;&nbsp;</a></span>setHighlightBackQuotedStrings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::setHighlightBackQuotedStrings </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then back-quoted raw strings are highlighted. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a015d6501ee4cca33a00036174529c161\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a015d6501ee4cca33a00036174529c161\">&#9670;&nbsp;</a></span>highlightBackQuotedStrings()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::highlightBackQuotedStrings </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if back-quoted raw strings should be highlighted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6d6a21ea44e2ee9676aa27178021b06a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6d6a21ea44e2ee9676aa27178021b06a\">&#9670;&nbsp;</a></span>setHighlightEscapeSequences()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::setHighlightEscapeSequences </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then escape sequences in strings are highlighted. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aea4d8707f6e32c1fbf989504d12d9eaa\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aea4d8707f6e32c1fbf989504d12d9eaa\">&#9670;&nbsp;</a></span>highlightEscapeSequences()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::highlightEscapeSequences </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if escape sequences in strings should be highlighted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a015dce05877d292d399fb207e79632cf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a015dce05877d292d399fb207e79632cf\">&#9670;&nbsp;</a></span>setVerbatimStringEscapeSequencesAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCPP::setVerbatimStringEscapeSequencesAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then escape sequences are allowed in verbatim strings. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a20439ec93f1af6b8227bdcd48a6070ec\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a20439ec93f1af6b8227bdcd48a6070ec\">&#9670;&nbsp;</a></span>verbatimStringEscapeSequencesAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::verbatimStringEscapeSequencesAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if hash quoted strings should be highlighted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad0a3dd6dfb77a069303bfeeeed43773f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad0a3dd6dfb77a069303bfeeeed43773f\">&#9670;&nbsp;</a></span>setFoldAtElse</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCPP::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then \"} else {\" lines can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaf1f8163b8baf27ef65c1e5219bbf1e2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaf1f8163b8baf27ef65c1e5219bbf1e2\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCPP::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af17ac732d73445822ef23a59f3e45aef\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af17ac732d73445822ef23a59f3e45aef\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCPP::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6a8c59ca8409029fc6b27b9ad3c70886\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6a8c59ca8409029fc6b27b9ad3c70886\">&#9670;&nbsp;</a></span>setFoldPreprocessor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCPP::setFoldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then preprocessor blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a66dc6ae74420ab3406043ff9f6f70cc4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a66dc6ae74420ab3406043ff9f6f70cc4\">&#9670;&nbsp;</a></span>setStylePreprocessor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCPP::setStylePreprocessor </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>style</em> is true then preprocessor lines (after the preprocessor directive) are styled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa37ea54c5e39721b866c25b0e0335591\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa37ea54c5e39721b866c25b0e0335591\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a46bd37b48e91903451ab59314448f322\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a46bd37b48e91903451ab59314448f322\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCPP::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCSS-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCSS Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab66090eb95d05ecb61cb8a4822ab94d8\">AtRule</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ac1a1825aa643819ef0ed1c3a23ce48ee\">Attribute</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#ada48a387b3e1414927bebe2415de75f8\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#aae249ec529d5f7de5fa238de9208058d\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aafd65314dc8f5e87697c987a8a3d1037\">ClassSelector</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a3496565bdaf261864ed37cd0909687be\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a729b64d3f84347da91167d421302a76d\">CSS1Property</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aae08a7b509d7f18df60133b2e204291b\">CSS2Property</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ade6d6fd36b5e81bcca8ce404d915a16b\">CSS3Property</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a53e968c600f53a2bae2710db0ef8db1d\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a98140e8245532496f7ed97bcaa8671f3\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a2a1cd44b041d1d4f4c11c22f91de99c3\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#aca9a53a01d50ef44d9f5ac0fd662bf84\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a34b937f20071fd25a7b7aa57620cb5d5\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aea3a8406f16545255905240042c4954b\">ExtendedCSSProperty</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aeee973f3f30ab97b97903de6de2dfca5\">ExtendedPseudoClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a220432c41649811f99607624ddb568e6\">ExtendedPseudoElement</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#ae32591385112bb3d33de8c1c40888190\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#aecbd103b6dff15873e60cdf48e634a4a\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a95a8b4cc2d6f8437c8feada8f518daff\">HSSLanguage</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad59613421106ae8b7a7594812a4091b5\">IDSelector</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a8b419e8c3650bc498dc90610ccda4f1a\">Important</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a41d04b17da9c84a94289e91323fb5206\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a2c29f0bbe4d09c159040b5676c8143d2\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a26df830be43cb0ca067b5e0ad037171a\">LessLanguage</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a1fa70c8e86dd88d34508fc652d30f3f7\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aa791b33014a708120356e7ea9365bfeb\">MediaRule</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7ce96396ee8eff4196b5b9d5bf53afc\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad9a4a9e2945073685158769a62e16cda\">PseudoClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aaad0b9e8982d95504f3fdeac29c01d68\">PseudoElement</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#acbf55e58ad04813101573146ecc43c67\">QsciLexerCSS</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a7bfdaea964c9e2c51568f63f379b6108\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a78f4690fa92e02c8511074a334c06096\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#ae8630fee6378af65bbd772b8f20fe4c9\">SCSSLanguage</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a5f77be4cb83422d47220c5b38d9f0a99\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#aaf9762aeea19ed1c8d6766a9e6a52cd3\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a9e61fa490e6e6c1480f3de5187ffed02\">setHSSLanguage</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a388e532d847652dbf18207593e236e5e\">setLessLanguage</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a2a2195f681df3657fbadf72c55003863\">setSCSSLanguage</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a0e475783c35d0707225bfc28edd36d2e\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a1f6473d0fc2f6bddc22eea9d01ea05ad\">Tag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0af3110ffc53b23fa5dbe17151dc7a5e75\">UnknownProperty</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a6ae93503184d2ba66879daeefaeb4b23\">UnknownPseudoClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0acdf1ff5843500ebbfe209bff6c0e4370\">Value</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7b8d54656b8a5eb94be142ad027f672\">Variable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a7cbe39118747739dd557df191c91db0c\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#ac70e03bceba5de91104b85edd00e1a68\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html#a377ab8d8a44c7fff2f355cc8ed45e611\">~QsciLexerCSS</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCSS.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerCSS Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerCSS-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCSS Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexercss.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a8f38d12d56564b95f6f1f6b1834ca3e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a53e968c600f53a2bae2710db0ef8db1d\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a1f6473d0fc2f6bddc22eea9d01ea05ad\">Tag</a> = 1, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aafd65314dc8f5e87697c987a8a3d1037\">ClassSelector</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad9a4a9e2945073685158769a62e16cda\">PseudoClass</a> = 3, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a6ae93503184d2ba66879daeefaeb4b23\">UnknownPseudoClass</a> = 4, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7ce96396ee8eff4196b5b9d5bf53afc\">Operator</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a729b64d3f84347da91167d421302a76d\">CSS1Property</a> = 6, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0af3110ffc53b23fa5dbe17151dc7a5e75\">UnknownProperty</a> = 7, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0acdf1ff5843500ebbfe209bff6c0e4370\">Value</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a3496565bdaf261864ed37cd0909687be\">Comment</a> = 9, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad59613421106ae8b7a7594812a4091b5\">IDSelector</a> = 10, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a8b419e8c3650bc498dc90610ccda4f1a\">Important</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab66090eb95d05ecb61cb8a4822ab94d8\">AtRule</a> = 12, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a34b937f20071fd25a7b7aa57620cb5d5\">DoubleQuotedString</a> = 13, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a0e475783c35d0707225bfc28edd36d2e\">SingleQuotedString</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aae08a7b509d7f18df60133b2e204291b\">CSS2Property</a> = 15, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ac1a1825aa643819ef0ed1c3a23ce48ee\">Attribute</a> = 16, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ade6d6fd36b5e81bcca8ce404d915a16b\">CSS3Property</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aaad0b9e8982d95504f3fdeac29c01d68\">PseudoElement</a> = 18, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aea3a8406f16545255905240042c4954b\">ExtendedCSSProperty</a> = 19, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aeee973f3f30ab97b97903de6de2dfca5\">ExtendedPseudoClass</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a220432c41649811f99607624ddb568e6\">ExtendedPseudoElement</a> = 21, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aa791b33014a708120356e7ea9365bfeb\">MediaRule</a> = 22, \n<a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7b8d54656b8a5eb94be142ad027f672\">Variable</a> = 23\n<br />\n }</td></tr>\n<tr class=\"separator:a8f38d12d56564b95f6f1f6b1834ca3e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a5f77be4cb83422d47220c5b38d9f0a99\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a5f77be4cb83422d47220c5b38d9f0a99\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a5f77be4cb83422d47220c5b38d9f0a99\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf9762aeea19ed1c8d6766a9e6a52cd3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#aaf9762aeea19ed1c8d6766a9e6a52cd3\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:aaf9762aeea19ed1c8d6766a9e6a52cd3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:acbf55e58ad04813101573146ecc43c67\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#acbf55e58ad04813101573146ecc43c67\">QsciLexerCSS</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:acbf55e58ad04813101573146ecc43c67\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a377ab8d8a44c7fff2f355cc8ed45e611\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a377ab8d8a44c7fff2f355cc8ed45e611\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a377ab8d8a44c7fff2f355cc8ed45e611\">~QsciLexerCSS</a> ()</td></tr>\n<tr class=\"separator:a377ab8d8a44c7fff2f355cc8ed45e611\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2c29f0bbe4d09c159040b5676c8143d2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2c29f0bbe4d09c159040b5676c8143d2\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a2c29f0bbe4d09c159040b5676c8143d2\">language</a> () const</td></tr>\n<tr class=\"separator:a2c29f0bbe4d09c159040b5676c8143d2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1fa70c8e86dd88d34508fc652d30f3f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a1fa70c8e86dd88d34508fc652d30f3f7\">lexer</a> () const</td></tr>\n<tr class=\"separator:a1fa70c8e86dd88d34508fc652d30f3f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ada48a387b3e1414927bebe2415de75f8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#ada48a387b3e1414927bebe2415de75f8\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:ada48a387b3e1414927bebe2415de75f8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae249ec529d5f7de5fa238de9208058d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#aae249ec529d5f7de5fa238de9208058d\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:aae249ec529d5f7de5fa238de9208058d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7cbe39118747739dd557df191c91db0c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7cbe39118747739dd557df191c91db0c\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a7cbe39118747739dd557df191c91db0c\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a7cbe39118747739dd557df191c91db0c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a98140e8245532496f7ed97bcaa8671f3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a98140e8245532496f7ed97bcaa8671f3\"></a>\nQColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a98140e8245532496f7ed97bcaa8671f3\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a98140e8245532496f7ed97bcaa8671f3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a1cd44b041d1d4f4c11c22f91de99c3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2a1cd44b041d1d4f4c11c22f91de99c3\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a2a1cd44b041d1d4f4c11c22f91de99c3\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a2a1cd44b041d1d4f4c11c22f91de99c3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a41d04b17da9c84a94289e91323fb5206\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a41d04b17da9c84a94289e91323fb5206\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a41d04b17da9c84a94289e91323fb5206\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aca9a53a01d50ef44d9f5ac0fd662bf84\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#aca9a53a01d50ef44d9f5ac0fd662bf84\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aca9a53a01d50ef44d9f5ac0fd662bf84\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a78f4690fa92e02c8511074a334c06096\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a78f4690fa92e02c8511074a334c06096\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a78f4690fa92e02c8511074a334c06096\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae32591385112bb3d33de8c1c40888190\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#ae32591385112bb3d33de8c1c40888190\">foldComments</a> () const</td></tr>\n<tr class=\"separator:ae32591385112bb3d33de8c1c40888190\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aecbd103b6dff15873e60cdf48e634a4a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#aecbd103b6dff15873e60cdf48e634a4a\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:aecbd103b6dff15873e60cdf48e634a4a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e61fa490e6e6c1480f3de5187ffed02\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a9e61fa490e6e6c1480f3de5187ffed02\">setHSSLanguage</a> (bool enabled)</td></tr>\n<tr class=\"separator:a9e61fa490e6e6c1480f3de5187ffed02\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a95a8b4cc2d6f8437c8feada8f518daff\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a95a8b4cc2d6f8437c8feada8f518daff\">HSSLanguage</a> () const</td></tr>\n<tr class=\"separator:a95a8b4cc2d6f8437c8feada8f518daff\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a388e532d847652dbf18207593e236e5e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a388e532d847652dbf18207593e236e5e\">setLessLanguage</a> (bool enabled)</td></tr>\n<tr class=\"separator:a388e532d847652dbf18207593e236e5e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a26df830be43cb0ca067b5e0ad037171a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a26df830be43cb0ca067b5e0ad037171a\">LessLanguage</a> () const</td></tr>\n<tr class=\"separator:a26df830be43cb0ca067b5e0ad037171a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a2195f681df3657fbadf72c55003863\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a2a2195f681df3657fbadf72c55003863\">setSCSSLanguage</a> (bool enabled)</td></tr>\n<tr class=\"separator:a2a2195f681df3657fbadf72c55003863\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae8630fee6378af65bbd772b8f20fe4c9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#ae8630fee6378af65bbd772b8f20fe4c9\">SCSSLanguage</a> () const</td></tr>\n<tr class=\"separator:ae8630fee6378af65bbd772b8f20fe4c9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a7bfdaea964c9e2c51568f63f379b6108\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#a7bfdaea964c9e2c51568f63f379b6108\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a7bfdaea964c9e2c51568f63f379b6108\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac70e03bceba5de91104b85edd00e1a68\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSS.html#ac70e03bceba5de91104b85edd00e1a68\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:ac70e03bceba5de91104b85edd00e1a68\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerCSS.html\" title=\"The QsciLexerCSS class encapsulates the Scintilla CSS lexer.\">QsciLexerCSS</a> class encapsulates the Scintilla CSS lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8f38d12d56564b95f6f1f6b1834ca3e0\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the CSS lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a53e968c600f53a2bae2710db0ef8db1d\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a1f6473d0fc2f6bddc22eea9d01ea05ad\"></a>Tag&#160;</td><td class=\"fielddoc\"><p>A tag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0aafd65314dc8f5e87697c987a8a3d1037\"></a>ClassSelector&#160;</td><td class=\"fielddoc\"><p>A class selector. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ad9a4a9e2945073685158769a62e16cda\"></a>PseudoClass&#160;</td><td class=\"fielddoc\"><p>A pseudo class. The list of pseudo classes is defined by keyword set 2. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a6ae93503184d2ba66879daeefaeb4b23\"></a>UnknownPseudoClass&#160;</td><td class=\"fielddoc\"><p>An unknown pseudo class. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ab7ce96396ee8eff4196b5b9d5bf53afc\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a729b64d3f84347da91167d421302a76d\"></a>CSS1Property&#160;</td><td class=\"fielddoc\"><p>A CSS1 property. The list of CSS1 properties is defined by keyword set 1. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0af3110ffc53b23fa5dbe17151dc7a5e75\"></a>UnknownProperty&#160;</td><td class=\"fielddoc\"><p>An unknown property. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0acdf1ff5843500ebbfe209bff6c0e4370\"></a>Value&#160;</td><td class=\"fielddoc\"><p>A value. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a3496565bdaf261864ed37cd0909687be\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ad59613421106ae8b7a7594812a4091b5\"></a>IDSelector&#160;</td><td class=\"fielddoc\"><p>An ID selector. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a8b419e8c3650bc498dc90610ccda4f1a\"></a>Important&#160;</td><td class=\"fielddoc\"><p>An important value. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ab66090eb95d05ecb61cb8a4822ab94d8\"></a>AtRule&#160;</td><td class=\"fielddoc\"><p>An -rule. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a34b937f20071fd25a7b7aa57620cb5d5\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a0e475783c35d0707225bfc28edd36d2e\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0aae08a7b509d7f18df60133b2e204291b\"></a>CSS2Property&#160;</td><td class=\"fielddoc\"><p>A CSS2 property. The list of CSS2 properties is defined by keyword set 3. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ac1a1825aa643819ef0ed1c3a23ce48ee\"></a>Attribute&#160;</td><td class=\"fielddoc\"><p>An attribute. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ade6d6fd36b5e81bcca8ce404d915a16b\"></a>CSS3Property&#160;</td><td class=\"fielddoc\"><p>A CSS3 property. The list of CSS3 properties is defined by keyword set 4. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0aaad0b9e8982d95504f3fdeac29c01d68\"></a>PseudoElement&#160;</td><td class=\"fielddoc\"><p>A pseudo element. The list of pseudo elements is defined by keyword set 5. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0aea3a8406f16545255905240042c4954b\"></a>ExtendedCSSProperty&#160;</td><td class=\"fielddoc\"><p>An extended (browser specific) CSS property. The list of extended CSS properties is defined by keyword set 6. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0aeee973f3f30ab97b97903de6de2dfca5\"></a>ExtendedPseudoClass&#160;</td><td class=\"fielddoc\"><p>An extended (browser specific) pseudo class. The list of extended pseudo classes is defined by keyword set 7. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0a220432c41649811f99607624ddb568e6\"></a>ExtendedPseudoElement&#160;</td><td class=\"fielddoc\"><p>An extended (browser specific) pseudo element. The list of extended pseudo elements is defined by keyword set 8. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0aa791b33014a708120356e7ea9365bfeb\"></a>MediaRule&#160;</td><td class=\"fielddoc\"><p>A media rule. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8f38d12d56564b95f6f1f6b1834ca3e0ab7b8d54656b8a5eb94be142ad027f672\"></a>Variable&#160;</td><td class=\"fielddoc\"><p>A variable. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"acbf55e58ad04813101573146ecc43c67\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acbf55e58ad04813101573146ecc43c67\">&#9670;&nbsp;</a></span>QsciLexerCSS()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerCSS::QsciLexerCSS </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerCSS.html\" title=\"The QsciLexerCSS class encapsulates the Scintilla CSS lexer.\">QsciLexerCSS</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a1fa70c8e86dd88d34508fc652d30f3f7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1fa70c8e86dd88d34508fc652d30f3f7\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCSS::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ada48a387b3e1414927bebe2415de75f8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ada48a387b3e1414927bebe2415de75f8\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCSS::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aae249ec529d5f7de5fa238de9208058d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aae249ec529d5f7de5fa238de9208058d\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCSS::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a41d04b17da9c84a94289e91323fb5206\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a41d04b17da9c84a94289e91323fb5206\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCSS::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aca9a53a01d50ef44d9f5ac0fd662bf84\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aca9a53a01d50ef44d9f5ac0fd662bf84\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerCSS::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a78f4690fa92e02c8511074a334c06096\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a78f4690fa92e02c8511074a334c06096\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCSS::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ae32591385112bb3d33de8c1c40888190\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae32591385112bb3d33de8c1c40888190\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#a5f77be4cb83422d47220c5b38d9f0a99\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aecbd103b6dff15873e60cdf48e634a4a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aecbd103b6dff15873e60cdf48e634a4a\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#aaf9762aeea19ed1c8d6766a9e6a52cd3\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9e61fa490e6e6c1480f3de5187ffed02\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9e61fa490e6e6c1480f3de5187ffed02\">&#9670;&nbsp;</a></span>setHSSLanguage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCSS::setHSSLanguage </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then support for HSS is enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#a95a8b4cc2d6f8437c8feada8f518daff\">HSSLanguage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a95a8b4cc2d6f8437c8feada8f518daff\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a95a8b4cc2d6f8437c8feada8f518daff\">&#9670;&nbsp;</a></span>HSSLanguage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::HSSLanguage </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if support for HSS is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#a9e61fa490e6e6c1480f3de5187ffed02\">setHSSLanguage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a388e532d847652dbf18207593e236e5e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a388e532d847652dbf18207593e236e5e\">&#9670;&nbsp;</a></span>setLessLanguage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCSS::setLessLanguage </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then support for Less CSS is enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#a26df830be43cb0ca067b5e0ad037171a\">LessLanguage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a26df830be43cb0ca067b5e0ad037171a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a26df830be43cb0ca067b5e0ad037171a\">&#9670;&nbsp;</a></span>LessLanguage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::LessLanguage </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if support for Less CSS is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#a388e532d847652dbf18207593e236e5e\">setLessLanguage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2a2195f681df3657fbadf72c55003863\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2a2195f681df3657fbadf72c55003863\">&#9670;&nbsp;</a></span>setSCSSLanguage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCSS::setSCSSLanguage </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then support for Sassy CSS is enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#ae8630fee6378af65bbd772b8f20fe4c9\">SCSSLanguage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae8630fee6378af65bbd772b8f20fe4c9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae8630fee6378af65bbd772b8f20fe4c9\">&#9670;&nbsp;</a></span>SCSSLanguage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::SCSSLanguage </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if support for Sassy CSS is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#a2a2195f681df3657fbadf72c55003863\">setSCSSLanguage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5f77be4cb83422d47220c5b38d9f0a99\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5f77be4cb83422d47220c5b38d9f0a99\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCSS::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#ae32591385112bb3d33de8c1c40888190\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaf9762aeea19ed1c8d6766a9e6a52cd3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaf9762aeea19ed1c8d6766a9e6a52cd3\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCSS::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSS.html#aecbd103b6dff15873e60cdf48e634a4a\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7bfdaea964c9e2c51568f63f379b6108\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7bfdaea964c9e2c51568f63f379b6108\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac70e03bceba5de91104b85edd00e1a68\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac70e03bceba5de91104b85edd00e1a68\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCSS::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCSharp-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCSharp Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a024d39004611b62884f258c417b5acd3\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#abf77dec5e71fbcd67c5cf8772b59004a\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentDocKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDocKeywordError</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentLine</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDefault</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDoubleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveEscapeSequence</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveGlobalClass</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveHashQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveIdentifier</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveKeywordSet2</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveNumber</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveOperator</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessor</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactivePreProcessorComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessorCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveRawString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveRegex</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveSingleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveTaskMarker</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveTripleQuotedVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUnclosedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveUserLiteral</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUUID</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a92e6554430736b20b147b7290d4bfe16\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>(QObject *parent=0, bool caseInsensitiveKeywords=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a897d4004ebe6faefcb97e27713e4a8cc\">QsciLexerCSharp</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a>(bool style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a3b06123388fb6a56432819a4dfb30f2c\">~QsciLexerCSharp</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCSharp.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerCSharp Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerCSharp-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCSharp Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexercsharp.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a897d4004ebe6faefcb97e27713e4a8cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a897d4004ebe6faefcb97e27713e4a8cc\">QsciLexerCSharp</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a897d4004ebe6faefcb97e27713e4a8cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3b06123388fb6a56432819a4dfb30f2c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3b06123388fb6a56432819a4dfb30f2c\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a3b06123388fb6a56432819a4dfb30f2c\">~QsciLexerCSharp</a> ()</td></tr>\n<tr class=\"separator:a3b06123388fb6a56432819a4dfb30f2c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a92e6554430736b20b147b7290d4bfe16\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a92e6554430736b20b147b7290d4bfe16\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a92e6554430736b20b147b7290d4bfe16\">language</a> () const</td></tr>\n<tr class=\"separator:a92e6554430736b20b147b7290d4bfe16\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3e9cfc0d233a1dcd3f20d33c4401e9fd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a3e9cfc0d233a1dcd3f20d33c4401e9fd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a024d39004611b62884f258c417b5acd3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a024d39004611b62884f258c417b5acd3\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a024d39004611b62884f258c417b5acd3\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a024d39004611b62884f258c417b5acd3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf77dec5e71fbcd67c5cf8772b59004a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abf77dec5e71fbcd67c5cf8772b59004a\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#abf77dec5e71fbcd67c5cf8772b59004a\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:abf77dec5e71fbcd67c5cf8772b59004a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8fd6da876109a8ba13892c018eaefa40\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a8fd6da876109a8ba13892c018eaefa40\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a07fcac621f1cba033bb0918cf9d35231\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a07fcac621f1cba033bb0918cf9d35231\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fd919ace71f975bd28b94b34ccd3a19\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a3fd919ace71f975bd28b94b34ccd3a19\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a> (QObject *parent=0, bool caseInsensitiveKeywords=false)</td></tr>\n<tr class=\"separator:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab9babc165bacf53b73abfb2d5d1aadad\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a> ()</td></tr>\n<tr class=\"separator:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a> () const</td></tr>\n<tr class=\"separator:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a509df9a20a1841de287849d6738ec3dd\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a822ca7489c4655f26bc72ed127285d8a\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a> () const</td></tr>\n<tr class=\"separator:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a> () const</td></tr>\n<tr class=\"separator:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a> () const</td></tr>\n<tr class=\"separator:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a> (bool enabled)</td></tr>\n<tr class=\"separator:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a> () const</td></tr>\n<tr class=\"separator:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a> () const</td></tr>\n<tr class=\"separator:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> = 0, \n<b>InactiveDefault</b> = Default + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> = 1, \n<br />\n&#160;&#160;<b>InactiveComment</b> = Comment + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> = 2, \n<b>InactiveCommentLine</b> = CommentLine + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> = 3, \n<b>InactiveCommentDoc</b> = CommentDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> = 4, \n<br />\n&#160;&#160;<b>InactiveNumber</b> = Number + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> = 5, \n<b>InactiveKeyword</b> = Keyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> = 6, \n<b>InactiveDoubleQuotedString</b> = DoubleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> = 7, \n<br />\n&#160;&#160;<b>InactiveSingleQuotedString</b> = SingleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> = 8, \n<b>InactiveUUID</b> = UUID + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> = 9, \n<b>InactivePreProcessor</b> = PreProcessor + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> = 10, \n<br />\n&#160;&#160;<b>InactiveOperator</b> = Operator + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> = 11, \n<b>InactiveIdentifier</b> = Identifier + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> = 12, \n<b>InactiveUnclosedString</b> = UnclosedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> = 13, \n<br />\n&#160;&#160;<b>InactiveVerbatimString</b> = VerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> = 14, \n<b>InactiveRegex</b> = Regex + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> = 15, \n<b>InactiveCommentLineDoc</b> = CommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> = 16, \n<br />\n&#160;&#160;<b>InactiveKeywordSet2</b> = KeywordSet2 + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> = 17, \n<b>InactiveCommentDocKeyword</b> = CommentDocKeyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> = 18, \n<b>InactiveCommentDocKeywordError</b> = CommentDocKeywordError + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> = 19, \n<br />\n&#160;&#160;<b>InactiveGlobalClass</b> = GlobalClass + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> = 20, \n<b>InactiveRawString</b> = RawString + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> = 21, \n<b>InactiveTripleQuotedVerbatimString</b> = TripleQuotedVerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> = 22, \n<br />\n&#160;&#160;<b>InactiveHashQuotedString</b> = HashQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> = 23, \n<b>InactivePreProcessorComment</b> = PreProcessorComment + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> = 24, \n<b>InactivePreProcessorCommentLineDoc</b> = PreProcessorCommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> = 25, \n<br />\n&#160;&#160;<b>InactiveUserLiteral</b> = UserLiteral + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> = 26, \n<b>InactiveTaskMarker</b> = TaskMarker + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> = 27, \n<b>InactiveEscapeSequence</b> = EscapeSequence + 64\n<br />\n }</td></tr>\n<tr class=\"separator:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a> (bool style)</td></tr>\n<tr class=\"separator:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerCSharp.html\" title=\"The QsciLexerCSharp class encapsulates the Scintilla C# lexer.\">QsciLexerCSharp</a> class encapsulates the Scintilla C# lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a897d4004ebe6faefcb97e27713e4a8cc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a897d4004ebe6faefcb97e27713e4a8cc\">&#9670;&nbsp;</a></span>QsciLexerCSharp()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerCSharp::QsciLexerCSharp </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerCSharp.html\" title=\"The QsciLexerCSharp class encapsulates the Scintilla C# lexer.\">QsciLexerCSharp</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a3e9cfc0d233a1dcd3f20d33c4401e9fd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCSharp::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"a8fd6da876109a8ba13892c018eaefa40\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8fd6da876109a8ba13892c018eaefa40\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCSharp::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"a07fcac621f1cba033bb0918cf9d35231\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a07fcac621f1cba033bb0918cf9d35231\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCSharp::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"a3fd919ace71f975bd28b94b34ccd3a19\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3fd919ace71f975bd28b94b34ccd3a19\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerCSharp::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCoffeeScript-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCoffeeScript Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a0741fad0b942deb73642be16c3159eb1\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a1796c98b07ec6cfc3d5953c225cc1f37\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a32607d1ce220881542a049d83406ce65\">BlockRegex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8acf3a1887749e806e04bf6a0097f724bb\">BlockRegexComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a293f0a5c39990ec1db6de249dc618901\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a497144db9b43beba78cd405a795e08ac\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#add9b1d85d9da1c250f570482cd47eb39\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a908ae06d736d3add37f734a255ceeaa3\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2050935e0699ccd6660987e5b6f42c32\">CommentBlock</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a5edc735d0127917185abed1f637a49f7\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a7e8b105503aff566abe10b78bfff1575\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a48d773f3fce4500a8700b6d76f2ecf24\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a379b349ef6edd66b752af87472fe41b4\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a406ac7ec4b5186a2d33b7a9074f6fa02\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2fb70f93de6a55714777a4fa55916d03\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab2e7d189deabf8e5e20434e32346742c\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aad8c778b4c9ef2014e5a508f0ee52021\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ac84577ad9cdb480293fe6001e71085a8\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a402a849f5eed391f0c4cd3aac9beb075\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ace6bf74522c57e70f2c3ac525e1fd830\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a5b95ed33711b09385c92fbfb9f1d2a5d\">dollarsAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a9eb257127f3fd60ea6ee7ef126419f7d\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a6865962a5df72e37f4ba49c6e5e539b6\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a16d546ecc7d16a609e368a4d2d557605\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ab4d4a5d44c3c3584609996183880c179\">GlobalClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6fada5b4984531d13a0f03cf9bd082f8\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a67579947345d4b8bca1317e697fe46d3\">InstanceProperty</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a4a6519d9d7b7e0e068d6ce8b777a87d2\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ae9524bc4d07a86f58eb88d57c1291083\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a126d81ec982782507eafae1af5d0d856\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aac009a767572be4b4489a0613611cbdb\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aba8f2217a58a7603d2a69ea1edeb1bc4\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8afd477421bbc3829c44d0ceda25ef07ec\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a84af89605b0d39edc60401dee749d076\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a73e71780818247bf678616a25cd13e90\">QsciLexerCoffeeScript</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aefae6df689f1d3dad66d1f2fc141cc39\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aca5c64a4bc75adb3be878a492906cfba\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#affaec4d14f7908f7d24d16937df00c93\">setDollarsAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a57f1f1164f3719b4b855a3a163a78764\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a8bc6aee27994356e61fc6b030e23a62f\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aa1949e1c7fd18507f664babab7b3c56c\">setStylePreprocessor</a>(bool style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad64eca43c5aa797920a0b5db86c7ebb7\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aba02f4e299dd7f25cea762e9c21b48b2\">stylePreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad66f62da8384e226b3c0e33455d93bd4\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a063d7d591aa18ae40fcde793e1be1f01\">UUID</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6f653903645cf19e5ea1c7e870ae9efb\">VerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a2e5910796ca5a3f369258718bb75c1d8\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab7715c2c90861e2601587b8a3a6732fd\">~QsciLexerCoffeeScript</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCoffeeScript.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerCoffeeScript Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerCoffeeScript-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCoffeeScript Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexercoffeescript.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a3e2bfca47ca0666b7acb6a451d203fa8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2fb70f93de6a55714777a4fa55916d03\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a908ae06d736d3add37f734a255ceeaa3\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a379b349ef6edd66b752af87472fe41b4\">CommentLine</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a5edc735d0127917185abed1f637a49f7\">CommentDoc</a> = 3, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aba8f2217a58a7603d2a69ea1edeb1bc4\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a4a6519d9d7b7e0e068d6ce8b777a87d2\">Keyword</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a9eb257127f3fd60ea6ee7ef126419f7d\">DoubleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad64eca43c5aa797920a0b5db86c7ebb7\">SingleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a063d7d591aa18ae40fcde793e1be1f01\">UUID</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a84af89605b0d39edc60401dee749d076\">PreProcessor</a> = 9, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8afd477421bbc3829c44d0ceda25ef07ec\">Operator</a> = 10, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6fada5b4984531d13a0f03cf9bd082f8\">Identifier</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad66f62da8384e226b3c0e33455d93bd4\">UnclosedString</a> = 12, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6f653903645cf19e5ea1c7e870ae9efb\">VerbatimString</a> = 13, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aca5c64a4bc75adb3be878a492906cfba\">Regex</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a406ac7ec4b5186a2d33b7a9074f6fa02\">CommentLineDoc</a> = 15, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ae9524bc4d07a86f58eb88d57c1291083\">KeywordSet2</a> = 16, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a7e8b105503aff566abe10b78bfff1575\">CommentDocKeyword</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a48d773f3fce4500a8700b6d76f2ecf24\">CommentDocKeywordError</a> = 18, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ab4d4a5d44c3c3584609996183880c179\">GlobalClass</a> = 19, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2050935e0699ccd6660987e5b6f42c32\">CommentBlock</a> = 22, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a32607d1ce220881542a049d83406ce65\">BlockRegex</a> = 23, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8acf3a1887749e806e04bf6a0097f724bb\">BlockRegexComment</a> = 24, \n<a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a67579947345d4b8bca1317e697fe46d3\">InstanceProperty</a> = 25\n<br />\n }</td></tr>\n<tr class=\"separator:a3e2bfca47ca0666b7acb6a451d203fa8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a73e71780818247bf678616a25cd13e90\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a73e71780818247bf678616a25cd13e90\">QsciLexerCoffeeScript</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a73e71780818247bf678616a25cd13e90\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7715c2c90861e2601587b8a3a6732fd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab7715c2c90861e2601587b8a3a6732fd\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab7715c2c90861e2601587b8a3a6732fd\">~QsciLexerCoffeeScript</a> ()</td></tr>\n<tr class=\"separator:ab7715c2c90861e2601587b8a3a6732fd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a126d81ec982782507eafae1af5d0d856\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a126d81ec982782507eafae1af5d0d856\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a126d81ec982782507eafae1af5d0d856\">language</a> () const</td></tr>\n<tr class=\"separator:a126d81ec982782507eafae1af5d0d856\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aac009a767572be4b4489a0613611cbdb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aac009a767572be4b4489a0613611cbdb\">lexer</a> () const</td></tr>\n<tr class=\"separator:aac009a767572be4b4489a0613611cbdb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0741fad0b942deb73642be16c3159eb1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a0741fad0b942deb73642be16c3159eb1\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a0741fad0b942deb73642be16c3159eb1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1796c98b07ec6cfc3d5953c225cc1f37\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a1796c98b07ec6cfc3d5953c225cc1f37\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a1796c98b07ec6cfc3d5953c225cc1f37\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a293f0a5c39990ec1db6de249dc618901\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a293f0a5c39990ec1db6de249dc618901\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a293f0a5c39990ec1db6de249dc618901\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a497144db9b43beba78cd405a795e08ac\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a497144db9b43beba78cd405a795e08ac\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a497144db9b43beba78cd405a795e08ac\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add9b1d85d9da1c250f570482cd47eb39\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"add9b1d85d9da1c250f570482cd47eb39\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#add9b1d85d9da1c250f570482cd47eb39\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:add9b1d85d9da1c250f570482cd47eb39\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2e5910796ca5a3f369258718bb75c1d8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2e5910796ca5a3f369258718bb75c1d8\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a2e5910796ca5a3f369258718bb75c1d8\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a2e5910796ca5a3f369258718bb75c1d8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab2e7d189deabf8e5e20434e32346742c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab2e7d189deabf8e5e20434e32346742c\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ab2e7d189deabf8e5e20434e32346742c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad8c778b4c9ef2014e5a508f0ee52021\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aad8c778b4c9ef2014e5a508f0ee52021\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aad8c778b4c9ef2014e5a508f0ee52021\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aad8c778b4c9ef2014e5a508f0ee52021\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac84577ad9cdb480293fe6001e71085a8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac84577ad9cdb480293fe6001e71085a8\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ac84577ad9cdb480293fe6001e71085a8\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:ac84577ad9cdb480293fe6001e71085a8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a402a849f5eed391f0c4cd3aac9beb075\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a402a849f5eed391f0c4cd3aac9beb075\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a402a849f5eed391f0c4cd3aac9beb075\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a74867915ad9d609b9b516eff87101cc9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a74867915ad9d609b9b516eff87101cc9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ace6bf74522c57e70f2c3ac525e1fd830\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ace6bf74522c57e70f2c3ac525e1fd830\">description</a> (int style) const</td></tr>\n<tr class=\"separator:ace6bf74522c57e70f2c3ac525e1fd830\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aefae6df689f1d3dad66d1f2fc141cc39\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aefae6df689f1d3dad66d1f2fc141cc39\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:aefae6df689f1d3dad66d1f2fc141cc39\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5b95ed33711b09385c92fbfb9f1d2a5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a5b95ed33711b09385c92fbfb9f1d2a5d\">dollarsAllowed</a> () const</td></tr>\n<tr class=\"separator:a5b95ed33711b09385c92fbfb9f1d2a5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affaec4d14f7908f7d24d16937df00c93\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#affaec4d14f7908f7d24d16937df00c93\">setDollarsAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:affaec4d14f7908f7d24d16937df00c93\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6865962a5df72e37f4ba49c6e5e539b6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a6865962a5df72e37f4ba49c6e5e539b6\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a6865962a5df72e37f4ba49c6e5e539b6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a57f1f1164f3719b4b855a3a163a78764\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a57f1f1164f3719b4b855a3a163a78764\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a57f1f1164f3719b4b855a3a163a78764\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a16d546ecc7d16a609e368a4d2d557605\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a16d546ecc7d16a609e368a4d2d557605\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a16d546ecc7d16a609e368a4d2d557605\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8bc6aee27994356e61fc6b030e23a62f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a8bc6aee27994356e61fc6b030e23a62f\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a8bc6aee27994356e61fc6b030e23a62f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aba02f4e299dd7f25cea762e9c21b48b2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aba02f4e299dd7f25cea762e9c21b48b2\">stylePreprocessor</a> () const</td></tr>\n<tr class=\"separator:aba02f4e299dd7f25cea762e9c21b48b2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa1949e1c7fd18507f664babab7b3c56c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aa1949e1c7fd18507f664babab7b3c56c\">setStylePreprocessor</a> (bool style)</td></tr>\n<tr class=\"separator:aa1949e1c7fd18507f664babab7b3c56c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:ae15b25b5d6705a850f6c93ee1013bea7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ae15b25b5d6705a850f6c93ee1013bea7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af2acfd7b7a9012577aed90f136ad3fb1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:af2acfd7b7a9012577aed90f136ad3fb1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerCoffeeScript.html\" title=\"The QsciLexerCoffeeScript class encapsulates the Scintilla CoffeeScript lexer.\">QsciLexerCoffeeScript</a> class encapsulates the Scintilla CoffeeScript lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a3e2bfca47ca0666b7acb6a451d203fa8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3e2bfca47ca0666b7acb6a451d203fa8\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the C++ lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a2fb70f93de6a55714777a4fa55916d03\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a908ae06d736d3add37f734a255ceeaa3\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A C-style comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a379b349ef6edd66b752af87472fe41b4\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A C++-style comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a5edc735d0127917185abed1f637a49f7\"></a>CommentDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen C-style comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8aba8f2217a58a7603d2a69ea1edeb1bc4\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a4a6519d9d7b7e0e068d6ce8b777a87d2\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a9eb257127f3fd60ea6ee7ef126419f7d\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8ad64eca43c5aa797920a0b5db86c7ebb7\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a063d7d591aa18ae40fcde793e1be1f01\"></a>UUID&#160;</td><td class=\"fielddoc\"><p>An IDL UUID. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a84af89605b0d39edc60401dee749d076\"></a>PreProcessor&#160;</td><td class=\"fielddoc\"><p>A pre-processor block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8afd477421bbc3829c44d0ceda25ef07ec\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a6fada5b4984531d13a0f03cf9bd082f8\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8ad66f62da8384e226b3c0e33455d93bd4\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a6f653903645cf19e5ea1c7e870ae9efb\"></a>VerbatimString&#160;</td><td class=\"fielddoc\"><p>A C# verbatim string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8aca5c64a4bc75adb3be878a492906cfba\"></a>Regex&#160;</td><td class=\"fielddoc\"><p>A regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a406ac7ec4b5186a2d33b7a9074f6fa02\"></a>CommentLineDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen C++-style comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8ae9524bc4d07a86f58eb88d57c1291083\"></a>KeywordSet2&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 2. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a7e8b105503aff566abe10b78bfff1575\"></a>CommentDocKeyword&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a48d773f3fce4500a8700b6d76f2ecf24\"></a>CommentDocKeywordError&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen keyword error defined in keyword set number 3. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8ab4d4a5d44c3c3584609996183880c179\"></a>GlobalClass&#160;</td><td class=\"fielddoc\"><p>A global class defined in keyword set number 4. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a2050935e0699ccd6660987e5b6f42c32\"></a>CommentBlock&#160;</td><td class=\"fielddoc\"><p>A block comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a32607d1ce220881542a049d83406ce65\"></a>BlockRegex&#160;</td><td class=\"fielddoc\"><p>A block regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8acf3a1887749e806e04bf6a0097f724bb\"></a>BlockRegexComment&#160;</td><td class=\"fielddoc\"><p>A block regular expression comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3e2bfca47ca0666b7acb6a451d203fa8a67579947345d4b8bca1317e697fe46d3\"></a>InstanceProperty&#160;</td><td class=\"fielddoc\"><p>An instance property. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a73e71780818247bf678616a25cd13e90\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a73e71780818247bf678616a25cd13e90\">&#9670;&nbsp;</a></span>QsciLexerCoffeeScript()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerCoffeeScript::QsciLexerCoffeeScript </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerCoffeeScript.html\" title=\"The QsciLexerCoffeeScript class encapsulates the Scintilla CoffeeScript lexer.\">QsciLexerCoffeeScript</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"aac009a767572be4b4489a0613611cbdb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aac009a767572be4b4489a0613611cbdb\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCoffeeScript::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0741fad0b942deb73642be16c3159eb1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0741fad0b942deb73642be16c3159eb1\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerCoffeeScript::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a1796c98b07ec6cfc3d5953c225cc1f37\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1796c98b07ec6cfc3d5953c225cc1f37\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCoffeeScript::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a293f0a5c39990ec1db6de249dc618901\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a293f0a5c39990ec1db6de249dc618901\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCoffeeScript::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a497144db9b43beba78cd405a795e08ac\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a497144db9b43beba78cd405a795e08ac\">&#9670;&nbsp;</a></span>blockStartKeyword()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCoffeeScript::blockStartKeyword </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ab2e7d189deabf8e5e20434e32346742c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab2e7d189deabf8e5e20434e32346742c\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCoffeeScript::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a402a849f5eed391f0c4cd3aac9beb075\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a402a849f5eed391f0c4cd3aac9beb075\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a402a849f5eed391f0c4cd3aac9beb075\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerCoffeeScript::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab2e7d189deabf8e5e20434e32346742c\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a74867915ad9d609b9b516eff87101cc9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a74867915ad9d609b9b516eff87101cc9\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerCoffeeScript::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> 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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ace6bf74522c57e70f2c3ac525e1fd830\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ace6bf74522c57e70f2c3ac525e1fd830\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerCoffeeScript::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aefae6df689f1d3dad66d1f2fc141cc39\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aefae6df689f1d3dad66d1f2fc141cc39\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCoffeeScript::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5b95ed33711b09385c92fbfb9f1d2a5d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5b95ed33711b09385c92fbfb9f1d2a5d\">&#9670;&nbsp;</a></span>dollarsAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCoffeeScript::dollarsAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if '$' characters are allowed in identifier names.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#affaec4d14f7908f7d24d16937df00c93\">setDollarsAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"affaec4d14f7908f7d24d16937df00c93\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#affaec4d14f7908f7d24d16937df00c93\">&#9670;&nbsp;</a></span>setDollarsAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCoffeeScript::setDollarsAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then '$' characters are allowed in identifier names. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a5b95ed33711b09385c92fbfb9f1d2a5d\">dollarsAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6865962a5df72e37f4ba49c6e5e539b6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6865962a5df72e37f4ba49c6e5e539b6\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCoffeeScript::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a57f1f1164f3719b4b855a3a163a78764\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a57f1f1164f3719b4b855a3a163a78764\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a57f1f1164f3719b4b855a3a163a78764\">&#9670;&nbsp;</a></span>setFoldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCoffeeScript::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a6865962a5df72e37f4ba49c6e5e539b6\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a16d546ecc7d16a609e368a4d2d557605\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a16d546ecc7d16a609e368a4d2d557605\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCoffeeScript::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a8bc6aee27994356e61fc6b030e23a62f\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8bc6aee27994356e61fc6b030e23a62f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8bc6aee27994356e61fc6b030e23a62f\">&#9670;&nbsp;</a></span>setFoldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCoffeeScript::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a16d546ecc7d16a609e368a4d2d557605\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aba02f4e299dd7f25cea762e9c21b48b2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aba02f4e299dd7f25cea762e9c21b48b2\">&#9670;&nbsp;</a></span>stylePreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCoffeeScript::stylePreprocessor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if preprocessor lines (after the preprocessor directive) are styled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aa1949e1c7fd18507f664babab7b3c56c\">setStylePreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa1949e1c7fd18507f664babab7b3c56c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa1949e1c7fd18507f664babab7b3c56c\">&#9670;&nbsp;</a></span>setStylePreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCoffeeScript::setStylePreprocessor </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>style</em> is true then preprocessor lines (after the preprocessor directive) are styled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aba02f4e299dd7f25cea762e9c21b48b2\">stylePreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae15b25b5d6705a850f6c93ee1013bea7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae15b25b5d6705a850f6c93ee1013bea7\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCoffeeScript::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af2acfd7b7a9012577aed90f136ad3fb1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af2acfd7b7a9012577aed90f136ad3fb1\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerCoffeeScript::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCustom-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCustom Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">description</a>(int style) const =0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">language</a>() const =0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#a8dbdaca7dffe587e442d09f5b780fab5\">QsciLexerCustom</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#a224fe82235b9a1c7b9c8bec9dd441178\">setEditor</a>(QsciScintilla *editor)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#aae1debbb0a7be0266725c0ca327b0834\">setStyling</a>(int length, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#a5ba7f97b19cfa7bd0b846fc56d94fa3c\">setStyling</a>(int length, const QsciStyle &amp;style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling</a>(int pos, int styleBits=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">styleText</a>(int start, int end)=0</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"><span class=\"mlabel\">pure virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html#a3a6b7f17d604db4e06e0d469b55b7602\">~QsciLexerCustom</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerCustom.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerCustom Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerCustom-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerCustom Class Reference<span class=\"mlabels\"><span class=\"mlabel\">abstract</span></span></div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexercustom.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a8dbdaca7dffe587e442d09f5b780fab5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#a8dbdaca7dffe587e442d09f5b780fab5\">QsciLexerCustom</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a8dbdaca7dffe587e442d09f5b780fab5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3a6b7f17d604db4e06e0d469b55b7602\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3a6b7f17d604db4e06e0d469b55b7602\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#a3a6b7f17d604db4e06e0d469b55b7602\">~QsciLexerCustom</a> ()</td></tr>\n<tr class=\"separator:a3a6b7f17d604db4e06e0d469b55b7602\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae1debbb0a7be0266725c0ca327b0834\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#aae1debbb0a7be0266725c0ca327b0834\">setStyling</a> (int length, int style)</td></tr>\n<tr class=\"separator:aae1debbb0a7be0266725c0ca327b0834\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5ba7f97b19cfa7bd0b846fc56d94fa3c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#a5ba7f97b19cfa7bd0b846fc56d94fa3c\">setStyling</a> (int length, const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;style)</td></tr>\n<tr class=\"separator:a5ba7f97b19cfa7bd0b846fc56d94fa3c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19d92643c31c4ec10eab14da7c931b55\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling</a> (int pos, int styleBits=0)</td></tr>\n<tr class=\"separator:a19d92643c31c4ec10eab14da7c931b55\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a91d71c4bdff5140ae0b0cb34b4511f79\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">styleText</a> (int start, int end)=0</td></tr>\n<tr class=\"separator:a91d71c4bdff5140ae0b0cb34b4511f79\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a224fe82235b9a1c7b9c8bec9dd441178\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a224fe82235b9a1c7b9c8bec9dd441178\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#a224fe82235b9a1c7b9c8bec9dd441178\">setEditor</a> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a224fe82235b9a1c7b9c8bec9dd441178\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addc357462c04f032e20149b55cb8aeaa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:addc357462c04f032e20149b55cb8aeaa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a3adc7b5c8926e097e6be4340bee920 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">language</a> () const =0</td></tr>\n<tr class=\"separator:a8a3adc7b5c8926e097e6be4340bee920 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7c40b97187e23ab85f6d95113f91b39 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">lexer</a> () const</td></tr>\n<tr class=\"separator:ac7c40b97187e23ab85f6d95113f91b39 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add9c20adb43bc38d1a0ca3083ac3e6fa inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">description</a> (int style) const =0</td></tr>\n<tr class=\"separator:add9c20adb43bc38d1a0ca3083ac3e6fa inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af7508f1b816a2c9446d36141edc9b5ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af7508f1b816a2c9446d36141edc9b5ce\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:af7508f1b816a2c9446d36141edc9b5ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a147ab3b400fcbe1e5d733b8a897f4930\"></a>\nvirtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerCustom.html\" title=\"The QsciLexerCustom class is an abstract class used as a base for new language lexers.\">QsciLexerCustom</a> class is an abstract class used as a base for new language lexers. </p>\n<p>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.</p>\n<p>All that is necessary to implement a new lexer is to define appropriate styles and to re-implement the <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">styleText()</a> method. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a8dbdaca7dffe587e442d09f5b780fab5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8dbdaca7dffe587e442d09f5b780fab5\">&#9670;&nbsp;</a></span>QsciLexerCustom()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerCustom::QsciLexerCustom </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerCustom.html\" title=\"The QsciLexerCustom class is an abstract class used as a base for new language lexers.\">QsciLexerCustom</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"aae1debbb0a7be0266725c0ca327b0834\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aae1debbb0a7be0266725c0ca327b0834\">&#9670;&nbsp;</a></span>setStyling() <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCustom::setStyling </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>length</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The next <em>length</em> characters starting from the current styling position have their style set to style number <em>style</em>. The current styling position is moved. The styling position is initially set by calling <a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling()</a>, <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">styleText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5ba7f97b19cfa7bd0b846fc56d94fa3c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5ba7f97b19cfa7bd0b846fc56d94fa3c\">&#9670;&nbsp;</a></span>setStyling() <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCustom::setStyling </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>length</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The next <em>length</em> characters starting from the current styling position have their style set to style <em>style</em>. The current styling position is moved. The styling position is initially set by calling <a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling()</a>, <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">styleText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a19d92643c31c4ec10eab14da7c931b55\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a19d92643c31c4ec10eab14da7c931b55\">&#9670;&nbsp;</a></span>startStyling()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerCustom::startStyling </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>pos</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>styleBits</em> = <code>0</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The styling position is set to <em>start</em>. <em>styleBits</em> is unused.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCustom.html#aae1debbb0a7be0266725c0ca327b0834\">setStyling()</a>, <a class=\"el\" href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">styleBitsNeeded()</a>, <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">styleText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a91d71c4bdff5140ae0b0cb34b4511f79\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a91d71c4bdff5140ae0b0cb34b4511f79\">&#9670;&nbsp;</a></span>styleText()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerCustom::styleText </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>start</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>end</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">pure virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This is called when the section of text beginning at position <em>start</em> and up to position <em>end</em> needs to be styled. <em>start</em> will always be at the start of a line. The text is styled by calling <a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling()</a> followed by one or more calls to <a class=\"el\" href=\"classQsciLexerCustom.html#aae1debbb0a7be0266725c0ca327b0834\">setStyling()</a>. It must be re-implemented by a sub-class.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerCustom.html#aae1debbb0a7be0266725c0ca327b0834\">setStyling()</a>, <a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">startStyling()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">QsciScintilla::bytes()</a>, <a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">QsciScintilla::text()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"addc357462c04f032e20149b55cb8aeaa\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#addc357462c04f032e20149b55cb8aeaa\">&#9670;&nbsp;</a></span>styleBitsNeeded()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual int QsciLexerCustom::styleBitsNeeded </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>\\reimp This re-implementation returns 5 as the number of style bits needed. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerD-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerD Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a9080d0a47d2cbd972d5f2e6c737ba7fa\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca682cc956cd52ccfff101565bd51327e1\">BackquoteString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#af9f73f93dd57019e3335011528ad6aed\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a7ea79082a0d55e78cd3a60f1f05af6d9\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#ae4490715b80237feaa25ad92d2fb6313\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a24c82f4e0483ba0c13b8bf046b8c00b9\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadb30a6870a257c1e28e8534833583564\">Character</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca37135c4d1129a47fe7d1fa4353c3ef89\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cae4ef72a2092606e60ebd48a41c728863\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caf5c6b133d2a0391d65dd11ca8cd0dc46\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8416e006ed8c6157e87fddc9497b56ab\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca25654940726025136d8e7eb8edf5b11a\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadf5911a2c4224ab8d38ea4ebe7747cb4\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca5bc763858b98e6d4c43307986b548db3\">CommentNested</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caa4df8837f097ea5f0727c0399c96ed59\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a3c22a819683d430aa99d23a80fedee73\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#ab55d105b2aa041682b67218fcdf964c6\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a0315e5b984e4ecd8ae2b0131cb78bf95\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#adcc24b17317e0e283230ae8d5ccf1de3\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a68f0cf388c3fa6a70ece2184020ffe55\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a0e5afa1027b99648caeb70ed8423af2d\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a8c74012833091c1f71e2bea9d1a2a5d5\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a02cb3518d6145815b22359d8d5aa2cf1\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca47923636d0ac5375823bbae9ae291f50\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca1726b12d4c63e5ab08f4fd2076be8342\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caab5b406f8c633b7d63f3dfe5d7be2df8\">KeywordDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca86aa2ed7ea2e1baaee37feac86b0bc09\">KeywordSecondary</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca41699ff5135f73d77045b68748e881b0\">KeywordSet5</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8bbc63e31f19f9b6d7b50c1e1c2667b0\">KeywordSet6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca9f6ffdc183c1d99ce9fb0edce756410e\">KeywordSet7</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a667febcf6234a15b7ca6d4ddbfb97bc6\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a62032a66c22767af46af4611fb672cb3\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca426d92387246d1fa5138b626a039b252\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca146db058b940cab519bdfd046b14cc0f\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a8b64cf1677896ea7966338b3f10be14b\">QsciLexerD</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8f0a37846a48085a681eb744375efbc9\">RawString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a3df48961344c5133ad595a555bbb8e55\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a2dc2ffcd977cf514e65e315a80afcb18\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#aa7bcbfe8a9e732630bba54860888e9d5\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a97c7813c68c861b9f2b3f068d9b47fd7\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca36b40f73931a76fb1845ddac7618c996\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca066688031c2850c809c6e78751600f24\">Typedefs</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca2f341004504fd3e8154b64e90090a5ca\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a0436f412bb6c83fe195ea2eb3c058154\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html#a37506e7f15691f73445422beb341e750\">~QsciLexerD</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerD.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerD Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerD-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerD Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerd.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a28ee24ad206c9acbcd2901f9b64faf4c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caa4df8837f097ea5f0727c0399c96ed59\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca37135c4d1129a47fe7d1fa4353c3ef89\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca25654940726025136d8e7eb8edf5b11a\">CommentLine</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cae4ef72a2092606e60ebd48a41c728863\">CommentDoc</a> = 3, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca5bc763858b98e6d4c43307986b548db3\">CommentNested</a> = 4, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca426d92387246d1fa5138b626a039b252\">Number</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca1726b12d4c63e5ab08f4fd2076be8342\">Keyword</a> = 6, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca86aa2ed7ea2e1baaee37feac86b0bc09\">KeywordSecondary</a> = 7, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caab5b406f8c633b7d63f3dfe5d7be2df8\">KeywordDoc</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca066688031c2850c809c6e78751600f24\">Typedefs</a> = 9, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca36b40f73931a76fb1845ddac7618c996\">String</a> = 10, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca2f341004504fd3e8154b64e90090a5ca\">UnclosedString</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadb30a6870a257c1e28e8534833583564\">Character</a> = 12, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca146db058b940cab519bdfd046b14cc0f\">Operator</a> = 13, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca47923636d0ac5375823bbae9ae291f50\">Identifier</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadf5911a2c4224ab8d38ea4ebe7747cb4\">CommentLineDoc</a> = 15, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caf5c6b133d2a0391d65dd11ca8cd0dc46\">CommentDocKeyword</a> = 16, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8416e006ed8c6157e87fddc9497b56ab\">CommentDocKeywordError</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca682cc956cd52ccfff101565bd51327e1\">BackquoteString</a> = 18, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8f0a37846a48085a681eb744375efbc9\">RawString</a> = 19, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca41699ff5135f73d77045b68748e881b0\">KeywordSet5</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8bbc63e31f19f9b6d7b50c1e1c2667b0\">KeywordSet6</a> = 21, \n<a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca9f6ffdc183c1d99ce9fb0edce756410e\">KeywordSet7</a> = 22\n<br />\n }</td></tr>\n<tr class=\"separator:a28ee24ad206c9acbcd2901f9b64faf4c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a2dc2ffcd977cf514e65e315a80afcb18\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a2dc2ffcd977cf514e65e315a80afcb18\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:a2dc2ffcd977cf514e65e315a80afcb18\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa7bcbfe8a9e732630bba54860888e9d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#aa7bcbfe8a9e732630bba54860888e9d5\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:aa7bcbfe8a9e732630bba54860888e9d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a97c7813c68c861b9f2b3f068d9b47fd7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a97c7813c68c861b9f2b3f068d9b47fd7\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a97c7813c68c861b9f2b3f068d9b47fd7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a8b64cf1677896ea7966338b3f10be14b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a8b64cf1677896ea7966338b3f10be14b\">QsciLexerD</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a8b64cf1677896ea7966338b3f10be14b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a37506e7f15691f73445422beb341e750\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a37506e7f15691f73445422beb341e750\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a37506e7f15691f73445422beb341e750\">~QsciLexerD</a> ()</td></tr>\n<tr class=\"separator:a37506e7f15691f73445422beb341e750\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a667febcf6234a15b7ca6d4ddbfb97bc6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a667febcf6234a15b7ca6d4ddbfb97bc6\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a667febcf6234a15b7ca6d4ddbfb97bc6\">language</a> () const</td></tr>\n<tr class=\"separator:a667febcf6234a15b7ca6d4ddbfb97bc6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a62032a66c22767af46af4611fb672cb3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a62032a66c22767af46af4611fb672cb3\">lexer</a> () const</td></tr>\n<tr class=\"separator:a62032a66c22767af46af4611fb672cb3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9080d0a47d2cbd972d5f2e6c737ba7fa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a9080d0a47d2cbd972d5f2e6c737ba7fa\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a9080d0a47d2cbd972d5f2e6c737ba7fa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af9f73f93dd57019e3335011528ad6aed\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#af9f73f93dd57019e3335011528ad6aed\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:af9f73f93dd57019e3335011528ad6aed\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ea79082a0d55e78cd3a60f1f05af6d9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a7ea79082a0d55e78cd3a60f1f05af6d9\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a7ea79082a0d55e78cd3a60f1f05af6d9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae4490715b80237feaa25ad92d2fb6313\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#ae4490715b80237feaa25ad92d2fb6313\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:ae4490715b80237feaa25ad92d2fb6313\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a24c82f4e0483ba0c13b8bf046b8c00b9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a24c82f4e0483ba0c13b8bf046b8c00b9\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a24c82f4e0483ba0c13b8bf046b8c00b9\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a24c82f4e0483ba0c13b8bf046b8c00b9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0436f412bb6c83fe195ea2eb3c058154\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0436f412bb6c83fe195ea2eb3c058154\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a0436f412bb6c83fe195ea2eb3c058154\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a0436f412bb6c83fe195ea2eb3c058154\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c22a819683d430aa99d23a80fedee73\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a3c22a819683d430aa99d23a80fedee73\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a3c22a819683d430aa99d23a80fedee73\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab55d105b2aa041682b67218fcdf964c6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab55d105b2aa041682b67218fcdf964c6\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#ab55d105b2aa041682b67218fcdf964c6\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:ab55d105b2aa041682b67218fcdf964c6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0315e5b984e4ecd8ae2b0131cb78bf95\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0315e5b984e4ecd8ae2b0131cb78bf95\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a0315e5b984e4ecd8ae2b0131cb78bf95\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a0315e5b984e4ecd8ae2b0131cb78bf95\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adcc24b17317e0e283230ae8d5ccf1de3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#adcc24b17317e0e283230ae8d5ccf1de3\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:adcc24b17317e0e283230ae8d5ccf1de3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9fc58fb17acc5e669780cb870d633514\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a9fc58fb17acc5e669780cb870d633514\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a68f0cf388c3fa6a70ece2184020ffe55\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a68f0cf388c3fa6a70ece2184020ffe55\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a68f0cf388c3fa6a70ece2184020ffe55\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3df48961344c5133ad595a555bbb8e55\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a3df48961344c5133ad595a555bbb8e55\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a3df48961344c5133ad595a555bbb8e55\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e5afa1027b99648caeb70ed8423af2d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a0e5afa1027b99648caeb70ed8423af2d\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:a0e5afa1027b99648caeb70ed8423af2d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8c74012833091c1f71e2bea9d1a2a5d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a8c74012833091c1f71e2bea9d1a2a5d5\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a8c74012833091c1f71e2bea9d1a2a5d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a02cb3518d6145815b22359d8d5aa2cf1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a02cb3518d6145815b22359d8d5aa2cf1\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a02cb3518d6145815b22359d8d5aa2cf1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:abb94e0b0257a50dbde9b0ddbcfeb69d2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:abb94e0b0257a50dbde9b0ddbcfeb69d2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4d8069f6efaeba7c4fa810630bed2e2e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a4d8069f6efaeba7c4fa810630bed2e2e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerD.html\" title=\"The QsciLexerD class encapsulates the Scintilla D lexer.\">QsciLexerD</a> class encapsulates the Scintilla D lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a28ee24ad206c9acbcd2901f9b64faf4c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a28ee24ad206c9acbcd2901f9b64faf4c\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the D lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4caa4df8837f097ea5f0727c0399c96ed59\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca37135c4d1129a47fe7d1fa4353c3ef89\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca25654940726025136d8e7eb8edf5b11a\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4cae4ef72a2092606e60ebd48a41c728863\"></a>CommentDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc and Doxygen comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca5bc763858b98e6d4c43307986b548db3\"></a>CommentNested&#160;</td><td class=\"fielddoc\"><p>A nested comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca426d92387246d1fa5138b626a039b252\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca1726b12d4c63e5ab08f4fd2076be8342\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca86aa2ed7ea2e1baaee37feac86b0bc09\"></a>KeywordSecondary&#160;</td><td class=\"fielddoc\"><p>A secondary keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4caab5b406f8c633b7d63f3dfe5d7be2df8\"></a>KeywordDoc&#160;</td><td class=\"fielddoc\"><p>A doc keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca066688031c2850c809c6e78751600f24\"></a>Typedefs&#160;</td><td class=\"fielddoc\"><p>Typedefs and aliases. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca36b40f73931a76fb1845ddac7618c996\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca2f341004504fd3e8154b64e90090a5ca\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4cadb30a6870a257c1e28e8534833583564\"></a>Character&#160;</td><td class=\"fielddoc\"><p>A character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca146db058b940cab519bdfd046b14cc0f\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca47923636d0ac5375823bbae9ae291f50\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4cadf5911a2c4224ab8d38ea4ebe7747cb4\"></a>CommentLineDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc and Doxygen line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4caf5c6b133d2a0391d65dd11ca8cd0dc46\"></a>CommentDocKeyword&#160;</td><td class=\"fielddoc\"><p>A JavaDoc and Doxygen keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca8416e006ed8c6157e87fddc9497b56ab\"></a>CommentDocKeywordError&#160;</td><td class=\"fielddoc\"><p>A JavaDoc and Doxygen keyword error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca682cc956cd52ccfff101565bd51327e1\"></a>BackquoteString&#160;</td><td class=\"fielddoc\"><p>A backquoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca8f0a37846a48085a681eb744375efbc9\"></a>RawString&#160;</td><td class=\"fielddoc\"><p>A raw, hexadecimal or delimited string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca41699ff5135f73d77045b68748e881b0\"></a>KeywordSet5&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 5. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca8bbc63e31f19f9b6d7b50c1e1c2667b0\"></a>KeywordSet6&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 6. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a28ee24ad206c9acbcd2901f9b64faf4ca9f6ffdc183c1d99ce9fb0edce756410e\"></a>KeywordSet7&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 7. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">keywords()</a> to make use of this style. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a8b64cf1677896ea7966338b3f10be14b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8b64cf1677896ea7966338b3f10be14b\">&#9670;&nbsp;</a></span>QsciLexerD()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerD::QsciLexerD </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerD.html\" title=\"The QsciLexerD class encapsulates the Scintilla D lexer.\">QsciLexerD</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a62032a66c22767af46af4611fb672cb3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a62032a66c22767af46af4611fb672cb3\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerD::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9080d0a47d2cbd972d5f2e6c737ba7fa\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9080d0a47d2cbd972d5f2e6c737ba7fa\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerD::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af9f73f93dd57019e3335011528ad6aed\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af9f73f93dd57019e3335011528ad6aed\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerD::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7ea79082a0d55e78cd3a60f1f05af6d9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7ea79082a0d55e78cd3a60f1f05af6d9\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerD::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ae4490715b80237feaa25ad92d2fb6313\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae4490715b80237feaa25ad92d2fb6313\">&#9670;&nbsp;</a></span>blockStartKeyword()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerD::blockStartKeyword </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a3c22a819683d430aa99d23a80fedee73\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3c22a819683d430aa99d23a80fedee73\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerD::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#adcc24b17317e0e283230ae8d5ccf1de3\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"adcc24b17317e0e283230ae8d5ccf1de3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adcc24b17317e0e283230ae8d5ccf1de3\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerD::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a3c22a819683d430aa99d23a80fedee73\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9fc58fb17acc5e669780cb870d633514\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9fc58fb17acc5e669780cb870d633514\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerD::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a68f0cf388c3fa6a70ece2184020ffe55\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a68f0cf388c3fa6a70ece2184020ffe55\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerD::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a3df48961344c5133ad595a555bbb8e55\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3df48961344c5133ad595a555bbb8e55\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerD::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0e5afa1027b99648caeb70ed8423af2d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e5afa1027b99648caeb70ed8423af2d\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerD::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if \"} else {\" lines can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a2dc2ffcd977cf514e65e315a80afcb18\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8c74012833091c1f71e2bea9d1a2a5d5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8c74012833091c1f71e2bea9d1a2a5d5\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerD::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#aa7bcbfe8a9e732630bba54860888e9d5\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a02cb3518d6145815b22359d8d5aa2cf1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a02cb3518d6145815b22359d8d5aa2cf1\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerD::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a97c7813c68c861b9f2b3f068d9b47fd7\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2dc2ffcd977cf514e65e315a80afcb18\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2dc2ffcd977cf514e65e315a80afcb18\">&#9670;&nbsp;</a></span>setFoldAtElse</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerD::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then \"} else {\" lines can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a0e5afa1027b99648caeb70ed8423af2d\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa7bcbfe8a9e732630bba54860888e9d5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa7bcbfe8a9e732630bba54860888e9d5\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerD::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a8c74012833091c1f71e2bea9d1a2a5d5\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a97c7813c68c861b9f2b3f068d9b47fd7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a97c7813c68c861b9f2b3f068d9b47fd7\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerD::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a02cb3518d6145815b22359d8d5aa2cf1\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abb94e0b0257a50dbde9b0ddbcfeb69d2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abb94e0b0257a50dbde9b0ddbcfeb69d2\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerD::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a4d8069f6efaeba7c4fa810630bed2e2e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4d8069f6efaeba7c4fa810630bed2e2e\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerD::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerDiff-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerDiff Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eabb7b5d1995a5678ccba9bbb49aeea808\">AddingPatchAdded</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea065844824b738df0d7ada07783ff9123\">AddingPatchRemoved</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafac6f4ef8f0ab21714d58649c205dfda\">Command</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafd5a8fe2739897289a175a9879e01c36\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea560492ffddbda30de0d92016d0bdab3a\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a1554c4fce67cdb1d34e5e7e4268708c5\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a1818bcdd3a7ec5b11ceacf720b07ddcd\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea2370144fb29df0b9814433d2bf58ab81\">Header</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a795af727d45974e6581ed01bf812b63e\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#aec71281020211f0e693143520f232079\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea6c0ca334fc11dfc9bd55daac89fbf357\">LineAdded</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eab5fd263b12088142f07d41a8f5a4e73c\">LineChanged</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eac238c7bf06c491fed577dec0d329977b\">LineRemoved</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea4820b79815efb26525981af5a8901010\">Position</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#af1c70ba1dfa8ccf5fe2106069041cd5e\">QsciLexerDiff</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea099c8e026c4cd919ba2817c0cb8635f8\">RemovingPatchAdded</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafbf7c6e605c3f9faab11cbc79c866614\">RemovingPatchRemoved</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#a6a4b4099b20109442416e2bd8309b494\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html#ae3deccb74fbb24c32621e70d0e94355a\">~QsciLexerDiff</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerDiff.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerDiff Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerDiff-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerDiff Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerdiff.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a331f318fc5d294a19044a748f9b8053e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea560492ffddbda30de0d92016d0bdab3a\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafd5a8fe2739897289a175a9879e01c36\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafac6f4ef8f0ab21714d58649c205dfda\">Command</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea2370144fb29df0b9814433d2bf58ab81\">Header</a> = 3, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea4820b79815efb26525981af5a8901010\">Position</a> = 4, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eac238c7bf06c491fed577dec0d329977b\">LineRemoved</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea6c0ca334fc11dfc9bd55daac89fbf357\">LineAdded</a> = 6, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eab5fd263b12088142f07d41a8f5a4e73c\">LineChanged</a> = 7, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eabb7b5d1995a5678ccba9bbb49aeea808\">AddingPatchAdded</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea099c8e026c4cd919ba2817c0cb8635f8\">RemovingPatchAdded</a> = 9, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea065844824b738df0d7ada07783ff9123\">AddingPatchRemoved</a> = 10, \n<a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafbf7c6e605c3f9faab11cbc79c866614\">RemovingPatchRemoved</a> = 11\n<br />\n }</td></tr>\n<tr class=\"separator:a331f318fc5d294a19044a748f9b8053e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:af1c70ba1dfa8ccf5fe2106069041cd5e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#af1c70ba1dfa8ccf5fe2106069041cd5e\">QsciLexerDiff</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:af1c70ba1dfa8ccf5fe2106069041cd5e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae3deccb74fbb24c32621e70d0e94355a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae3deccb74fbb24c32621e70d0e94355a\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#ae3deccb74fbb24c32621e70d0e94355a\">~QsciLexerDiff</a> ()</td></tr>\n<tr class=\"separator:ae3deccb74fbb24c32621e70d0e94355a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a795af727d45974e6581ed01bf812b63e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a795af727d45974e6581ed01bf812b63e\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#a795af727d45974e6581ed01bf812b63e\">language</a> () const</td></tr>\n<tr class=\"separator:a795af727d45974e6581ed01bf812b63e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aec71281020211f0e693143520f232079\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#aec71281020211f0e693143520f232079\">lexer</a> () const</td></tr>\n<tr class=\"separator:aec71281020211f0e693143520f232079\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a4b4099b20109442416e2bd8309b494\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6a4b4099b20109442416e2bd8309b494\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#a6a4b4099b20109442416e2bd8309b494\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a6a4b4099b20109442416e2bd8309b494\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1554c4fce67cdb1d34e5e7e4268708c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1554c4fce67cdb1d34e5e7e4268708c5\"></a>\nQColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#a1554c4fce67cdb1d34e5e7e4268708c5\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a1554c4fce67cdb1d34e5e7e4268708c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1818bcdd3a7ec5b11ceacf720b07ddcd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerDiff.html#a1818bcdd3a7ec5b11ceacf720b07ddcd\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a1818bcdd3a7ec5b11ceacf720b07ddcd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a147ab3b400fcbe1e5d733b8a897f4930\"></a>\nvirtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerDiff.html\" title=\"The QsciLexerDiff class encapsulates the Scintilla Diff lexer.\">QsciLexerDiff</a> class encapsulates the Scintilla Diff lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a331f318fc5d294a19044a748f9b8053e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a331f318fc5d294a19044a748f9b8053e\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Diff lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053ea560492ffddbda30de0d92016d0bdab3a\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053eafd5a8fe2739897289a175a9879e01c36\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053eafac6f4ef8f0ab21714d58649c205dfda\"></a>Command&#160;</td><td class=\"fielddoc\"><p>A command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053ea2370144fb29df0b9814433d2bf58ab81\"></a>Header&#160;</td><td class=\"fielddoc\"><p>A header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053ea4820b79815efb26525981af5a8901010\"></a>Position&#160;</td><td class=\"fielddoc\"><p>A position. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053eac238c7bf06c491fed577dec0d329977b\"></a>LineRemoved&#160;</td><td class=\"fielddoc\"><p>A line removed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053ea6c0ca334fc11dfc9bd55daac89fbf357\"></a>LineAdded&#160;</td><td class=\"fielddoc\"><p>A line added. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053eab5fd263b12088142f07d41a8f5a4e73c\"></a>LineChanged&#160;</td><td class=\"fielddoc\"><p>A line changed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053eabb7b5d1995a5678ccba9bbb49aeea808\"></a>AddingPatchAdded&#160;</td><td class=\"fielddoc\"><p>An adding patch added. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053ea099c8e026c4cd919ba2817c0cb8635f8\"></a>RemovingPatchAdded&#160;</td><td class=\"fielddoc\"><p>A removing patch added. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053ea065844824b738df0d7ada07783ff9123\"></a>AddingPatchRemoved&#160;</td><td class=\"fielddoc\"><p>An adding patch added. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a331f318fc5d294a19044a748f9b8053eafbf7c6e605c3f9faab11cbc79c866614\"></a>RemovingPatchRemoved&#160;</td><td class=\"fielddoc\"><p>A removing patch added. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"af1c70ba1dfa8ccf5fe2106069041cd5e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af1c70ba1dfa8ccf5fe2106069041cd5e\">&#9670;&nbsp;</a></span>QsciLexerDiff()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerDiff::QsciLexerDiff </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerDiff.html\" title=\"The QsciLexerDiff class encapsulates the Scintilla Diff lexer.\">QsciLexerDiff</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"aec71281020211f0e693143520f232079\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aec71281020211f0e693143520f232079\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerDiff::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a1818bcdd3a7ec5b11ceacf720b07ddcd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1818bcdd3a7ec5b11ceacf720b07ddcd\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerDiff::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerEDIFACT-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerEDIFACT Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a57c086f3b4f11f1654f587fbaeb76ed1\">BadSegment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a81ed0b351c28537389bd2e8b2d244bbb\">CompositeSeparator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88adc45e679c4d4b0032f1878d7e4ce350d\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#adeff8cbfdc624ad709cd1fd8a4a93c80\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a94f9b521b521a540f848d55f2f4e8d45\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88ad3349f5ca362b8086feaee6465adaf76\">ElementSeparator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a77024f83fb756608060b105d3f21ae34\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a55d08e564f88f40f5167c52bd686b61c\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#aec9604240be31cf15709b0c0f2942d6e\">QsciLexerEDIFACT</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a4254cdff4374acc77c40019d0f5e3aea\">ReleaseSeparator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aaccf1fa00705e4639dd226d4445625d4\">SegmentEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a9e6eaecb76a8dd4c84fef4b341f946e7\">SegmentStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a67f04037636b9bf5c23185918ecbf23c\">UNASegmentHeader</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aef15dd60ea1b00583c397d3a5a915e4f\">UNHSegmentHeader</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a493b8afa5100c40153aac6f74c78ffa8\">~QsciLexerEDIFACT</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerEDIFACT.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerEDIFACT Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerEDIFACT-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerEDIFACT Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexeredifact.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a5b0c61756ec9e9987be5d83bdeb18d88\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88adc45e679c4d4b0032f1878d7e4ce350d\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a9e6eaecb76a8dd4c84fef4b341f946e7\">SegmentStart</a> = 1, \n<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aaccf1fa00705e4639dd226d4445625d4\">SegmentEnd</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88ad3349f5ca362b8086feaee6465adaf76\">ElementSeparator</a> = 3, \n<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a81ed0b351c28537389bd2e8b2d244bbb\">CompositeSeparator</a> = 4, \n<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a4254cdff4374acc77c40019d0f5e3aea\">ReleaseSeparator</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a67f04037636b9bf5c23185918ecbf23c\">UNASegmentHeader</a> = 6, \n<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aef15dd60ea1b00583c397d3a5a915e4f\">UNHSegmentHeader</a> = 7, \n<a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a57c086f3b4f11f1654f587fbaeb76ed1\">BadSegment</a> = 8\n<br />\n }</td></tr>\n<tr class=\"separator:a5b0c61756ec9e9987be5d83bdeb18d88\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aec9604240be31cf15709b0c0f2942d6e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#aec9604240be31cf15709b0c0f2942d6e\">QsciLexerEDIFACT</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:aec9604240be31cf15709b0c0f2942d6e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a493b8afa5100c40153aac6f74c78ffa8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a493b8afa5100c40153aac6f74c78ffa8\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a493b8afa5100c40153aac6f74c78ffa8\">~QsciLexerEDIFACT</a> ()</td></tr>\n<tr class=\"separator:a493b8afa5100c40153aac6f74c78ffa8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a77024f83fb756608060b105d3f21ae34\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a77024f83fb756608060b105d3f21ae34\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a77024f83fb756608060b105d3f21ae34\">language</a> () const</td></tr>\n<tr class=\"separator:a77024f83fb756608060b105d3f21ae34\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a55d08e564f88f40f5167c52bd686b61c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a55d08e564f88f40f5167c52bd686b61c\">lexer</a> () const</td></tr>\n<tr class=\"separator:a55d08e564f88f40f5167c52bd686b61c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adeff8cbfdc624ad709cd1fd8a4a93c80\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#adeff8cbfdc624ad709cd1fd8a4a93c80\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:adeff8cbfdc624ad709cd1fd8a4a93c80\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a94f9b521b521a540f848d55f2f4e8d45\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html#a94f9b521b521a540f848d55f2f4e8d45\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a94f9b521b521a540f848d55f2f4e8d45\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a147ab3b400fcbe1e5d733b8a897f4930\"></a>\nvirtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerEDIFACT.html\" title=\"The QsciLexerEDIFACT class encapsulates the Scintilla EDIFACT lexer.\">QsciLexerEDIFACT</a> class encapsulates the Scintilla EDIFACT lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a5b0c61756ec9e9987be5d83bdeb18d88\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5b0c61756ec9e9987be5d83bdeb18d88\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the EDIFACT lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88adc45e679c4d4b0032f1878d7e4ce350d\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88a9e6eaecb76a8dd4c84fef4b341f946e7\"></a>SegmentStart&#160;</td><td class=\"fielddoc\"><p>A segment start. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88aaccf1fa00705e4639dd226d4445625d4\"></a>SegmentEnd&#160;</td><td class=\"fielddoc\"><p>A segment end. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88ad3349f5ca362b8086feaee6465adaf76\"></a>ElementSeparator&#160;</td><td class=\"fielddoc\"><p>An element separator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88a81ed0b351c28537389bd2e8b2d244bbb\"></a>CompositeSeparator&#160;</td><td class=\"fielddoc\"><p>A composite separator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88a4254cdff4374acc77c40019d0f5e3aea\"></a>ReleaseSeparator&#160;</td><td class=\"fielddoc\"><p>A release separator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88a67f04037636b9bf5c23185918ecbf23c\"></a>UNASegmentHeader&#160;</td><td class=\"fielddoc\"><p>A UNA segment header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88aef15dd60ea1b00583c397d3a5a915e4f\"></a>UNHSegmentHeader&#160;</td><td class=\"fielddoc\"><p>A UNH segment header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a5b0c61756ec9e9987be5d83bdeb18d88a57c086f3b4f11f1654f587fbaeb76ed1\"></a>BadSegment&#160;</td><td class=\"fielddoc\"><p>A bad segment. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"aec9604240be31cf15709b0c0f2942d6e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aec9604240be31cf15709b0c0f2942d6e\">&#9670;&nbsp;</a></span>QsciLexerEDIFACT()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerEDIFACT::QsciLexerEDIFACT </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerEDIFACT.html\" title=\"The QsciLexerEDIFACT class encapsulates the Scintilla EDIFACT lexer.\">QsciLexerEDIFACT</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a55d08e564f88f40f5167c52bd686b61c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a55d08e564f88f40f5167c52bd686b61c\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerEDIFACT::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"adeff8cbfdc624ad709cd1fd8a4a93c80\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adeff8cbfdc624ad709cd1fd8a4a93c80\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerEDIFACT::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a94f9b521b521a540f848d55f2f4e8d45\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a94f9b521b521a540f848d55f2f4e8d45\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerEDIFACT::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerFortran-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerFortran Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\">Continuation</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\">DottedOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\">ExtendedFunction</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\">IntrinsicFunction</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html#a56e0fd6b5d719677050a28ad0d5ae927\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\">Label</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html#a83d7d8209efca06d10870607c9db3c72\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html#ad18b58e4e78b74f1c1cc0db18a2d74ca\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html#a6e896d1a75f43c0e021326a29a07be67\">QsciLexerFortran</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html#a43b721afc8c7b33c5c0699ff9da7d1c7\">~QsciLexerFortran</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">~QsciLexerFortran77</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerFortran.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerFortran Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerFortran-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerFortran Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerfortran.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a6e896d1a75f43c0e021326a29a07be67\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran.html#a6e896d1a75f43c0e021326a29a07be67\">QsciLexerFortran</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a6e896d1a75f43c0e021326a29a07be67\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a43b721afc8c7b33c5c0699ff9da7d1c7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a43b721afc8c7b33c5c0699ff9da7d1c7\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran.html#a43b721afc8c7b33c5c0699ff9da7d1c7\">~QsciLexerFortran</a> ()</td></tr>\n<tr class=\"separator:a43b721afc8c7b33c5c0699ff9da7d1c7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a83d7d8209efca06d10870607c9db3c72\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a83d7d8209efca06d10870607c9db3c72\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran.html#a83d7d8209efca06d10870607c9db3c72\">language</a> () const</td></tr>\n<tr class=\"separator:a83d7d8209efca06d10870607c9db3c72\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad18b58e4e78b74f1c1cc0db18a2d74ca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran.html#ad18b58e4e78b74f1c1cc0db18a2d74ca\">lexer</a> () const</td></tr>\n<tr class=\"separator:ad18b58e4e78b74f1c1cc0db18a2d74ca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56e0fd6b5d719677050a28ad0d5ae927\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran.html#a56e0fd6b5d719677050a28ad0d5ae927\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a56e0fd6b5d719677050a28ad0d5ae927\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerFortran77\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerFortran77')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td></tr>\n<tr class=\"memitem:a2784362f75607dc575d42a3ddf43bcf9 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a2784362f75607dc575d42a3ddf43bcf9 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac631b370fc57344197a5dda058c16461 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac631b370fc57344197a5dda058c16461\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">~QsciLexerFortran77</a> ()</td></tr>\n<tr class=\"separator:ac631b370fc57344197a5dda058c16461 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae3ef35311f24a24300140512dd005f54 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae3ef35311f24a24300140512dd005f54\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">language</a> () const</td></tr>\n<tr class=\"separator:ae3ef35311f24a24300140512dd005f54 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ef7534c295a6323be9176fca79b1cbe inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">lexer</a> () const</td></tr>\n<tr class=\"separator:a1ef7534c295a6323be9176fca79b1cbe inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7df3e986e8039ee6028b39d0df1741d1 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7df3e986e8039ee6028b39d0df1741d1\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a7df3e986e8039ee6028b39d0df1741d1 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae73ce9660679076bcd4b93ef3712586a inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ae73ce9660679076bcd4b93ef3712586a inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a43f710d31ccfd80ce8dd4f0ec8fc8d46 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a43f710d31ccfd80ce8dd4f0ec8fc8d46\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a43f710d31ccfd80ce8dd4f0ec8fc8d46 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ab3498874bc09e7136c1325498fc49f inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ab3498874bc09e7136c1325498fc49f\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a1ab3498874bc09e7136c1325498fc49f inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5783815b0ab1200a2d5ff729b7eba074 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a5783815b0ab1200a2d5ff729b7eba074 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a21724c1f53b67ec6bc72c7ceb1e03d8f inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a21724c1f53b67ec6bc72c7ceb1e03d8f inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa58025e7a9aa9241a64026f00764fb4e inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aa58025e7a9aa9241a64026f00764fb4e inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2033202288867ce63c4e93bc45dc55e3 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a2033202288867ce63c4e93bc45dc55e3 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a855940eae63985a7ff92ffd545d88bd4 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a855940eae63985a7ff92ffd545d88bd4 inherit pub_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerFortran77\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerFortran77')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td></tr>\n<tr class=\"memitem:aeb3260480e9b88f6e465b1bd1bcca0c7 inherit pub_types_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\">Number</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\">SingleQuotedString</a> = 3, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\">DoubleQuotedString</a> = 4, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\">UnclosedString</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\">Operator</a> = 6, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\">Identifier</a> = 7, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\">Keyword</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\">IntrinsicFunction</a> = 9, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\">ExtendedFunction</a> = 10, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\">PreProcessor</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\">DottedOperator</a> = 12, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\">Label</a> = 13, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\">Continuation</a> = 14\n<br />\n }</td></tr>\n<tr class=\"separator:aeb3260480e9b88f6e465b1bd1bcca0c7 inherit pub_types_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexerFortran77\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexerFortran77')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td></tr>\n<tr class=\"memitem:a206ea971cb4152f8ca00087544574d15 inherit pub_slots_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a206ea971cb4152f8ca00087544574d15 inherit pub_slots_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexerFortran77\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexerFortran77')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td></tr>\n<tr class=\"memitem:a08b8ae54fae5b280a3864d5696fe009e inherit pro_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a08b8ae54fae5b280a3864d5696fe009e inherit pro_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6ba40887a94b7f9fe807545eed4f7c83 inherit pro_methods_classQsciLexerFortran77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a6ba40887a94b7f9fe807545eed4f7c83 inherit pro_methods_classQsciLexerFortran77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerFortran.html\" title=\"The QsciLexerFortran class encapsulates the Scintilla Fortran lexer.\">QsciLexerFortran</a> class encapsulates the Scintilla Fortran lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a6e896d1a75f43c0e021326a29a07be67\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6e896d1a75f43c0e021326a29a07be67\">&#9670;&nbsp;</a></span>QsciLexerFortran()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerFortran::QsciLexerFortran </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerFortran.html\" title=\"The QsciLexerFortran class encapsulates the Scintilla Fortran lexer.\">QsciLexerFortran</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"ad18b58e4e78b74f1c1cc0db18a2d74ca\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad18b58e4e78b74f1c1cc0db18a2d74ca\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerFortran::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a56e0fd6b5d719677050a28ad0d5ae927\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a56e0fd6b5d719677050a28ad0d5ae927\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerFortran::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerFortran77-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerFortran77 Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\">Continuation</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\">DottedOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\">ExtendedFunction</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\">IntrinsicFunction</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\">Label</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">~QsciLexerFortran77</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerFortran77.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerFortran77 Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerFortran77-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerFortran77 Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerfortran77.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:aeb3260480e9b88f6e465b1bd1bcca0c7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\">Number</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\">SingleQuotedString</a> = 3, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\">DoubleQuotedString</a> = 4, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\">UnclosedString</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\">Operator</a> = 6, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\">Identifier</a> = 7, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\">Keyword</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\">IntrinsicFunction</a> = 9, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\">ExtendedFunction</a> = 10, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\">PreProcessor</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\">DottedOperator</a> = 12, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\">Label</a> = 13, \n<a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\">Continuation</a> = 14\n<br />\n }</td></tr>\n<tr class=\"separator:aeb3260480e9b88f6e465b1bd1bcca0c7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a206ea971cb4152f8ca00087544574d15\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a206ea971cb4152f8ca00087544574d15\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a2784362f75607dc575d42a3ddf43bcf9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a2784362f75607dc575d42a3ddf43bcf9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac631b370fc57344197a5dda058c16461\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac631b370fc57344197a5dda058c16461\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">~QsciLexerFortran77</a> ()</td></tr>\n<tr class=\"separator:ac631b370fc57344197a5dda058c16461\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae3ef35311f24a24300140512dd005f54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae3ef35311f24a24300140512dd005f54\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">language</a> () const</td></tr>\n<tr class=\"separator:ae3ef35311f24a24300140512dd005f54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ef7534c295a6323be9176fca79b1cbe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">lexer</a> () const</td></tr>\n<tr class=\"separator:a1ef7534c295a6323be9176fca79b1cbe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7df3e986e8039ee6028b39d0df1741d1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7df3e986e8039ee6028b39d0df1741d1\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a7df3e986e8039ee6028b39d0df1741d1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae73ce9660679076bcd4b93ef3712586a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ae73ce9660679076bcd4b93ef3712586a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a43f710d31ccfd80ce8dd4f0ec8fc8d46\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a43f710d31ccfd80ce8dd4f0ec8fc8d46\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a43f710d31ccfd80ce8dd4f0ec8fc8d46\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ab3498874bc09e7136c1325498fc49f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ab3498874bc09e7136c1325498fc49f\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a1ab3498874bc09e7136c1325498fc49f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5783815b0ab1200a2d5ff729b7eba074\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a5783815b0ab1200a2d5ff729b7eba074\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a21724c1f53b67ec6bc72c7ceb1e03d8f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a21724c1f53b67ec6bc72c7ceb1e03d8f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa58025e7a9aa9241a64026f00764fb4e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aa58025e7a9aa9241a64026f00764fb4e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2033202288867ce63c4e93bc45dc55e3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a2033202288867ce63c4e93bc45dc55e3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a855940eae63985a7ff92ffd545d88bd4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a855940eae63985a7ff92ffd545d88bd4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a08b8ae54fae5b280a3864d5696fe009e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a08b8ae54fae5b280a3864d5696fe009e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6ba40887a94b7f9fe807545eed4f7c83\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a6ba40887a94b7f9fe807545eed4f7c83\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerFortran77.html\" title=\"The QsciLexerFortran77 class encapsulates the Scintilla Fortran77 lexer.\">QsciLexerFortran77</a> class encapsulates the Scintilla Fortran77 lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeb3260480e9b88f6e465b1bd1bcca0c7\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Fortran77 lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\"></a>IntrinsicFunction&#160;</td><td class=\"fielddoc\"><p>An intrinsic function. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\"></a>ExtendedFunction&#160;</td><td class=\"fielddoc\"><p>An extended, non-standard or user defined function. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\"></a>PreProcessor&#160;</td><td class=\"fielddoc\"><p>A pre-processor block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\"></a>DottedOperator&#160;</td><td class=\"fielddoc\"><p>An operator in .NAME. format. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\"></a>Label&#160;</td><td class=\"fielddoc\"><p>A label. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\"></a>Continuation&#160;</td><td class=\"fielddoc\"><p>A continuation. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a2784362f75607dc575d42a3ddf43bcf9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2784362f75607dc575d42a3ddf43bcf9\">&#9670;&nbsp;</a></span>QsciLexerFortran77()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerFortran77::QsciLexerFortran77 </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerFortran77.html\" title=\"The QsciLexerFortran77 class encapsulates the Scintilla Fortran77 lexer.\">QsciLexerFortran77</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a1ef7534c295a6323be9176fca79b1cbe\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1ef7534c295a6323be9176fca79b1cbe\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerFortran77::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ae73ce9660679076bcd4b93ef3712586a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae73ce9660679076bcd4b93ef3712586a\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerFortran77::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5783815b0ab1200a2d5ff729b7eba074\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5783815b0ab1200a2d5ff729b7eba074\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerFortran77::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a21724c1f53b67ec6bc72c7ceb1e03d8f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a21724c1f53b67ec6bc72c7ceb1e03d8f\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerFortran77::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa58025e7a9aa9241a64026f00764fb4e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa58025e7a9aa9241a64026f00764fb4e\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerFortran77::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2033202288867ce63c4e93bc45dc55e3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2033202288867ce63c4e93bc45dc55e3\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerFortran77::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a855940eae63985a7ff92ffd545d88bd4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a855940eae63985a7ff92ffd545d88bd4\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerFortran77::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a206ea971cb4152f8ca00087544574d15\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a206ea971cb4152f8ca00087544574d15\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerFortran77::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a08b8ae54fae5b280a3864d5696fe009e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a08b8ae54fae5b280a3864d5696fe009e\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerFortran77::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a6ba40887a94b7f9fe807545eed4f7c83\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6ba40887a94b7f9fe807545eed4f7c83\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerFortran77::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerHTML-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerHTML Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\">ASPAtStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\">ASPJavaScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\">ASPJavaScriptCommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\">ASPJavaScriptCommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\">ASPJavaScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\">ASPJavaScriptDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\">ASPJavaScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\">ASPJavaScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\">ASPJavaScriptRegex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\">ASPJavaScriptSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\">ASPJavaScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\">ASPJavaScriptSymbol</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\">ASPJavaScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\">ASPJavaScriptWord</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\">ASPPythonClassName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\">ASPPythonComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\">ASPPythonDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\">ASPPythonDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\">ASPPythonFunctionMethodName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\">ASPPythonIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\">ASPPythonKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\">ASPPythonNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\">ASPPythonOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\">ASPPythonSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\">ASPPythonStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\">ASPPythonTripleDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\">ASPPythonTripleSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\">ASPStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\">ASPVBScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\">ASPVBScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\">ASPVBScriptIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\">ASPVBScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\">ASPVBScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\">ASPVBScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\">ASPVBScriptString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\">ASPVBScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\">ASPXCComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\">Attribute</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">caseSensitiveTags</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\">CDATA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a613622c676e3c70f2c9f002f34326427\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a4ceef374a27fd3bb012a7b55f19303e2\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">djangoTemplates</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\">Entity</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">foldScriptComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">foldScriptHeredocs</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\">HTMLComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\">HTMLDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\">HTMLNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\">HTMLSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\">HTMLValue</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\">JavaScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\">JavaScriptCommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\">JavaScriptCommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\">JavaScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\">JavaScriptDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\">JavaScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\">JavaScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\">JavaScriptRegex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\">JavaScriptSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\">JavaScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\">JavaScriptSymbol</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\">JavaScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\">JavaScriptWord</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a336165187c8ab4cc5e51912033316943\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">makoTemplates</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\">OtherInTag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\">PHPComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\">PHPCommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\">PHPDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\">PHPDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\">PHPDoubleQuotedVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\">PHPKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\">PHPNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\">PHPOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\">PHPSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\">PHPStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\">PHPVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\">PythonClassName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\">PythonComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\">PythonDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\">PythonDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\">PythonFunctionMethodName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\">PythonIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\">PythonKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\">PythonNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\">PythonOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\">PythonSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\">PythonStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\">PythonTripleDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\">PythonTripleSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\">Script</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">setCaseSensitiveTags</a>(bool sens)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">setDjangoTemplates</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">setFoldScriptComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">setFoldScriptHeredocs</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">setMakoTemplates</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\">SGMLBlockDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\">SGMLCommand</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\">SGMLComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\">SGMLDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\">SGMLDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\">SGMLEntity</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\">SGMLError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\">SGMLParameter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\">SGMLParameterComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\">SGMLSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\">SGMLSpecial</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\">Tag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\">UnknownAttribute</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\">UnknownTag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\">VBScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\">VBScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\">VBScriptIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\">VBScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\">VBScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\">VBScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\">VBScriptString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\">VBScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\">XMLEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\">XMLStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\">XMLTagEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">~QsciLexerHTML</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerHTML.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerHTML Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerHTML-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerHTML Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerhtml.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:af11a926b7f7329c39f6c029fec89ea42\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\">Tag</a> = 1, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\">UnknownTag</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\">Attribute</a> = 3, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\">UnknownAttribute</a> = 4, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\">HTMLNumber</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\">HTMLDoubleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\">HTMLSingleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\">OtherInTag</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\">HTMLComment</a> = 9, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\">Entity</a> = 10, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\">XMLTagEnd</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\">XMLStart</a> = 12, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\">XMLEnd</a> = 13, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\">Script</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\">ASPAtStart</a> = 15, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\">ASPStart</a> = 16, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\">CDATA</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\">PHPStart</a> = 18, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\">HTMLValue</a> = 19, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\">ASPXCComment</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\">SGMLDefault</a> = 21, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\">SGMLCommand</a> = 22, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\">SGMLParameter</a> = 23, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\">SGMLDoubleQuotedString</a> = 24, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\">SGMLSingleQuotedString</a> = 25, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\">SGMLError</a> = 26, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\">SGMLSpecial</a> = 27, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\">SGMLEntity</a> = 28, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\">SGMLComment</a> = 29, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\">SGMLParameterComment</a> = 30, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\">SGMLBlockDefault</a> = 31, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\">JavaScriptStart</a> = 40, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\">JavaScriptDefault</a> = 41, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\">JavaScriptComment</a> = 42, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\">JavaScriptCommentLine</a> = 43, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\">JavaScriptCommentDoc</a> = 44, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\">JavaScriptNumber</a> = 45, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\">JavaScriptWord</a> = 46, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\">JavaScriptKeyword</a> = 47, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\">JavaScriptDoubleQuotedString</a> = 48, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\">JavaScriptSingleQuotedString</a> = 49, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\">JavaScriptSymbol</a> = 50, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\">JavaScriptUnclosedString</a> = 51, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\">JavaScriptRegex</a> = 52, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\">ASPJavaScriptStart</a> = 55, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\">ASPJavaScriptDefault</a> = 56, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\">ASPJavaScriptComment</a> = 57, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\">ASPJavaScriptCommentLine</a> = 58, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\">ASPJavaScriptCommentDoc</a> = 59, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\">ASPJavaScriptNumber</a> = 60, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\">ASPJavaScriptWord</a> = 61, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\">ASPJavaScriptKeyword</a> = 62, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\">ASPJavaScriptDoubleQuotedString</a> = 63, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\">ASPJavaScriptSingleQuotedString</a> = 64, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\">ASPJavaScriptSymbol</a> = 65, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\">ASPJavaScriptUnclosedString</a> = 66, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\">ASPJavaScriptRegex</a> = 67, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\">VBScriptStart</a> = 70, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\">VBScriptDefault</a> = 71, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\">VBScriptComment</a> = 72, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\">VBScriptNumber</a> = 73, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\">VBScriptKeyword</a> = 74, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\">VBScriptString</a> = 75, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\">VBScriptIdentifier</a> = 76, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\">VBScriptUnclosedString</a> = 77, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\">ASPVBScriptStart</a> = 80, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\">ASPVBScriptDefault</a> = 81, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\">ASPVBScriptComment</a> = 82, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\">ASPVBScriptNumber</a> = 83, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\">ASPVBScriptKeyword</a> = 84, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\">ASPVBScriptString</a> = 85, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\">ASPVBScriptIdentifier</a> = 86, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\">ASPVBScriptUnclosedString</a> = 87, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\">PythonStart</a> = 90, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\">PythonDefault</a> = 91, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\">PythonComment</a> = 92, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\">PythonNumber</a> = 93, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\">PythonDoubleQuotedString</a> = 94, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\">PythonSingleQuotedString</a> = 95, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\">PythonKeyword</a> = 96, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\">PythonTripleSingleQuotedString</a> = 97, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\">PythonTripleDoubleQuotedString</a> = 98, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\">PythonClassName</a> = 99, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\">PythonFunctionMethodName</a> = 100, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\">PythonOperator</a> = 101, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\">PythonIdentifier</a> = 102, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\">ASPPythonStart</a> = 105, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\">ASPPythonDefault</a> = 106, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\">ASPPythonComment</a> = 107, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\">ASPPythonNumber</a> = 108, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\">ASPPythonDoubleQuotedString</a> = 109, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\">ASPPythonSingleQuotedString</a> = 110, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\">ASPPythonKeyword</a> = 111, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\">ASPPythonTripleSingleQuotedString</a> = 112, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\">ASPPythonTripleDoubleQuotedString</a> = 113, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\">ASPPythonClassName</a> = 114, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\">ASPPythonFunctionMethodName</a> = 115, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\">ASPPythonOperator</a> = 116, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\">ASPPythonIdentifier</a> = 117, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\">PHPDefault</a> = 118, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\">PHPDoubleQuotedString</a> = 119, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\">PHPSingleQuotedString</a> = 120, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\">PHPKeyword</a> = 121, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\">PHPNumber</a> = 122, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\">PHPVariable</a> = 123, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\">PHPComment</a> = 124, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\">PHPCommentLine</a> = 125, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\">PHPDoubleQuotedVariable</a> = 126, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\">PHPOperator</a> = 127\n<br />\n }</td></tr>\n<tr class=\"separator:af11a926b7f7329c39f6c029fec89ea42\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a1036c768307d29c40f09cc1bc2fce37c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a1036c768307d29c40f09cc1bc2fce37c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeba753c0e1fca8bf66834667e301458e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:aeba753c0e1fca8bf66834667e301458e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2fda8ad57009d4e2f1ac388cad2cfc92\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">setCaseSensitiveTags</a> (bool sens)</td></tr>\n<tr class=\"separator:a2fda8ad57009d4e2f1ac388cad2cfc92\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a4c5ae7bc7d27946b1b07b940ef30a093\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a4c5ae7bc7d27946b1b07b940ef30a093\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af031b3510193023158fb74ca637f79b2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af031b3510193023158fb74ca637f79b2\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">~QsciLexerHTML</a> ()</td></tr>\n<tr class=\"separator:af031b3510193023158fb74ca637f79b2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a336165187c8ab4cc5e51912033316943\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a336165187c8ab4cc5e51912033316943\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a336165187c8ab4cc5e51912033316943\">language</a> () const</td></tr>\n<tr class=\"separator:a336165187c8ab4cc5e51912033316943\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a48e7f3a456fcb347ee96a2c6a1f07231\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">lexer</a> () const</td></tr>\n<tr class=\"separator:a48e7f3a456fcb347ee96a2c6a1f07231\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6ef21c59fd374d1d4893adcc1e3ee9b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae6ef21c59fd374d1d4893adcc1e3ee9b\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:ae6ef21c59fd374d1d4893adcc1e3ee9b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad12b328c98474857186af058726bd38d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad12b328c98474857186af058726bd38d\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:ad12b328c98474857186af058726bd38d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ceeb1fcb0dee86889484767dae5440b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a7ceeb1fcb0dee86889484767dae5440b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a613622c676e3c70f2c9f002f34326427\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a613622c676e3c70f2c9f002f34326427\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a613622c676e3c70f2c9f002f34326427\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a613622c676e3c70f2c9f002f34326427\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4ceef374a27fd3bb012a7b55f19303e2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4ceef374a27fd3bb012a7b55f19303e2\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a4ceef374a27fd3bb012a7b55f19303e2\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a4ceef374a27fd3bb012a7b55f19303e2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad8248a4659f290511d45a64fede1f63d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:ad8248a4659f290511d45a64fede1f63d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56b7f081e520f7660490e3d206d83a73\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a56b7f081e520f7660490e3d206d83a73\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a638fcb2f0d2dd4be844881998cdb3b76\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a638fcb2f0d2dd4be844881998cdb3b76\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7c73d608fd96b019e70ebf448de23357\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a7c73d608fd96b019e70ebf448de23357\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac53cb0d155aa3d81add74ee90585cb6a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">caseSensitiveTags</a> () const</td></tr>\n<tr class=\"separator:ac53cb0d155aa3d81add74ee90585cb6a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a59c9b8ff5d698d7e7e03ec2655a24764\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">setDjangoTemplates</a> (bool enabled)</td></tr>\n<tr class=\"separator:a59c9b8ff5d698d7e7e03ec2655a24764\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1379abf89d88a2dd7854f957b28656c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">djangoTemplates</a> () const</td></tr>\n<tr class=\"separator:a1379abf89d88a2dd7854f957b28656c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af861d2c565994b427514715fe95a80b7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:af861d2c565994b427514715fe95a80b7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2f3d753794280bfc09719e3ca521be83\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a2f3d753794280bfc09719e3ca521be83\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a51401044d3ad272ede84e1f2a128cce6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">setFoldScriptComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a51401044d3ad272ede84e1f2a128cce6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf885bb9d07591114c2a2cc5769bb02a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">foldScriptComments</a> () const</td></tr>\n<tr class=\"separator:aaf885bb9d07591114c2a2cc5769bb02a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a122450b5227d23ee119b2653b9e9be2f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">setFoldScriptHeredocs</a> (bool fold)</td></tr>\n<tr class=\"separator:a122450b5227d23ee119b2653b9e9be2f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabad8cc171c34609ee0d6c600a534334\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">foldScriptHeredocs</a> () const</td></tr>\n<tr class=\"separator:aabad8cc171c34609ee0d6c600a534334\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8553315e763e1e53f56dd4dbe6b3c3d7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">setMakoTemplates</a> (bool enabled)</td></tr>\n<tr class=\"separator:a8553315e763e1e53f56dd4dbe6b3c3d7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae669580d3e3332a9b310d1bf78251f07\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">makoTemplates</a> () const</td></tr>\n<tr class=\"separator:ae669580d3e3332a9b310d1bf78251f07\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:ab9ae7a11b4c9ba6f62d795dce8d6fab8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ab9ae7a11b4c9ba6f62d795dce8d6fab8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6e6be4b076718026d027629b28faba6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:ae6e6be4b076718026d027629b28faba6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerHTML.html\" title=\"The QsciLexerHTML class encapsulates the Scintilla HTML lexer.\">QsciLexerHTML</a> class encapsulates the Scintilla HTML lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"af11a926b7f7329c39f6c029fec89ea42\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af11a926b7f7329c39f6c029fec89ea42\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the HTML lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\"></a>Tag&#160;</td><td class=\"fielddoc\"><p>A tag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\"></a>UnknownTag&#160;</td><td class=\"fielddoc\"><p>An unknown tag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\"></a>Attribute&#160;</td><td class=\"fielddoc\"><p>An attribute. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\"></a>UnknownAttribute&#160;</td><td class=\"fielddoc\"><p>An unknown attribute. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\"></a>HTMLNumber&#160;</td><td class=\"fielddoc\"><p>An HTML number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\"></a>HTMLDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>An HTML double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\"></a>HTMLSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>An HTML single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\"></a>OtherInTag&#160;</td><td class=\"fielddoc\"><p>Other text within a tag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\"></a>HTMLComment&#160;</td><td class=\"fielddoc\"><p>An HTML comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\"></a>Entity&#160;</td><td class=\"fielddoc\"><p>An entity. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\"></a>XMLTagEnd&#160;</td><td class=\"fielddoc\"><p>The end of an XML style tag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\"></a>XMLStart&#160;</td><td class=\"fielddoc\"><p>The start of an XML fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\"></a>XMLEnd&#160;</td><td class=\"fielddoc\"><p>The end of an XML fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\"></a>Script&#160;</td><td class=\"fielddoc\"><p>A script tag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\"></a>ASPAtStart&#160;</td><td class=\"fielddoc\"><p>The start of an ASP fragment with . </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\"></a>ASPStart&#160;</td><td class=\"fielddoc\"><p>The start of an ASP fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\"></a>CDATA&#160;</td><td class=\"fielddoc\"><p>CDATA. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\"></a>PHPStart&#160;</td><td class=\"fielddoc\"><p>The start of a PHP fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\"></a>HTMLValue&#160;</td><td class=\"fielddoc\"><p>An unquoted HTML value. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\"></a>ASPXCComment&#160;</td><td class=\"fielddoc\"><p>An ASP X-Code comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\"></a>SGMLDefault&#160;</td><td class=\"fielddoc\"><p>The default for SGML. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\"></a>SGMLCommand&#160;</td><td class=\"fielddoc\"><p>An SGML command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\"></a>SGMLParameter&#160;</td><td class=\"fielddoc\"><p>The first parameter of an SGML command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\"></a>SGMLDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>An SGML double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\"></a>SGMLSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>An SGML single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\"></a>SGMLError&#160;</td><td class=\"fielddoc\"><p>An SGML error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\"></a>SGMLSpecial&#160;</td><td class=\"fielddoc\"><p>An SGML special entity. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\"></a>SGMLEntity&#160;</td><td class=\"fielddoc\"><p>An SGML entity. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\"></a>SGMLComment&#160;</td><td class=\"fielddoc\"><p>An SGML comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\"></a>SGMLParameterComment&#160;</td><td class=\"fielddoc\"><p>A comment with the first parameter of an SGML command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\"></a>SGMLBlockDefault&#160;</td><td class=\"fielddoc\"><p>The default for an SGML block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\"></a>JavaScriptStart&#160;</td><td class=\"fielddoc\"><p>The start of a JavaScript fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\"></a>JavaScriptDefault&#160;</td><td class=\"fielddoc\"><p>The default for JavaScript. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\"></a>JavaScriptComment&#160;</td><td class=\"fielddoc\"><p>A JavaScript comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\"></a>JavaScriptCommentLine&#160;</td><td class=\"fielddoc\"><p>A JavaScript line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\"></a>JavaScriptCommentDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc style JavaScript comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\"></a>JavaScriptNumber&#160;</td><td class=\"fielddoc\"><p>A JavaScript number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\"></a>JavaScriptWord&#160;</td><td class=\"fielddoc\"><p>A JavaScript word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\"></a>JavaScriptKeyword&#160;</td><td class=\"fielddoc\"><p>A JavaScript keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\"></a>JavaScriptDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A JavaScript double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\"></a>JavaScriptSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A JavaScript single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\"></a>JavaScriptSymbol&#160;</td><td class=\"fielddoc\"><p>A JavaScript symbol. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\"></a>JavaScriptUnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a JavaScript line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\"></a>JavaScriptRegex&#160;</td><td class=\"fielddoc\"><p>A JavaScript regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\"></a>ASPJavaScriptStart&#160;</td><td class=\"fielddoc\"><p>The start of an ASP JavaScript fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\"></a>ASPJavaScriptDefault&#160;</td><td class=\"fielddoc\"><p>The default for ASP JavaScript. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\"></a>ASPJavaScriptComment&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\"></a>ASPJavaScriptCommentLine&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\"></a>ASPJavaScriptCommentDoc&#160;</td><td class=\"fielddoc\"><p>An ASP JavaDoc style JavaScript comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\"></a>ASPJavaScriptNumber&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\"></a>ASPJavaScriptWord&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript word. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\"></a>ASPJavaScriptKeyword&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\"></a>ASPJavaScriptDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\"></a>ASPJavaScriptSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\"></a>ASPJavaScriptSymbol&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript symbol. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\"></a>ASPJavaScriptUnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of an ASP JavaScript line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\"></a>ASPJavaScriptRegex&#160;</td><td class=\"fielddoc\"><p>An ASP JavaScript regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\"></a>VBScriptStart&#160;</td><td class=\"fielddoc\"><p>The start of a VBScript fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\"></a>VBScriptDefault&#160;</td><td class=\"fielddoc\"><p>The default for VBScript. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\"></a>VBScriptComment&#160;</td><td class=\"fielddoc\"><p>A VBScript comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\"></a>VBScriptNumber&#160;</td><td class=\"fielddoc\"><p>A VBScript number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\"></a>VBScriptKeyword&#160;</td><td class=\"fielddoc\"><p>A VBScript keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\"></a>VBScriptString&#160;</td><td class=\"fielddoc\"><p>A VBScript string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\"></a>VBScriptIdentifier&#160;</td><td class=\"fielddoc\"><p>A VBScript identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\"></a>VBScriptUnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a VBScript line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\"></a>ASPVBScriptStart&#160;</td><td class=\"fielddoc\"><p>The start of an ASP VBScript fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\"></a>ASPVBScriptDefault&#160;</td><td class=\"fielddoc\"><p>The default for ASP VBScript. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\"></a>ASPVBScriptComment&#160;</td><td class=\"fielddoc\"><p>An ASP VBScript comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\"></a>ASPVBScriptNumber&#160;</td><td class=\"fielddoc\"><p>An ASP VBScript number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\"></a>ASPVBScriptKeyword&#160;</td><td class=\"fielddoc\"><p>An ASP VBScript keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\"></a>ASPVBScriptString&#160;</td><td class=\"fielddoc\"><p>An ASP VBScript string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\"></a>ASPVBScriptIdentifier&#160;</td><td class=\"fielddoc\"><p>An ASP VBScript identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\"></a>ASPVBScriptUnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of an ASP VBScript line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\"></a>PythonStart&#160;</td><td class=\"fielddoc\"><p>The start of a Python fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\"></a>PythonDefault&#160;</td><td class=\"fielddoc\"><p>The default for Python. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\"></a>PythonComment&#160;</td><td class=\"fielddoc\"><p>A Python comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\"></a>PythonNumber&#160;</td><td class=\"fielddoc\"><p>A Python number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\"></a>PythonDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A Python double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\"></a>PythonSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A Python single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\"></a>PythonKeyword&#160;</td><td class=\"fielddoc\"><p>A Python keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\"></a>PythonTripleSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A Python triple single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\"></a>PythonTripleDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A Python triple double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\"></a>PythonClassName&#160;</td><td class=\"fielddoc\"><p>The name of a Python class. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\"></a>PythonFunctionMethodName&#160;</td><td class=\"fielddoc\"><p>The name of a Python function or method. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\"></a>PythonOperator&#160;</td><td class=\"fielddoc\"><p>A Python operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\"></a>PythonIdentifier&#160;</td><td class=\"fielddoc\"><p>A Python identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\"></a>ASPPythonStart&#160;</td><td class=\"fielddoc\"><p>The start of an ASP Python fragment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\"></a>ASPPythonDefault&#160;</td><td class=\"fielddoc\"><p>The default for ASP Python. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\"></a>ASPPythonComment&#160;</td><td class=\"fielddoc\"><p>An ASP Python comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\"></a>ASPPythonNumber&#160;</td><td class=\"fielddoc\"><p>An ASP Python number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\"></a>ASPPythonDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>An ASP Python double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\"></a>ASPPythonSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>An ASP Python single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\"></a>ASPPythonKeyword&#160;</td><td class=\"fielddoc\"><p>An ASP Python keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\"></a>ASPPythonTripleSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>An ASP Python triple single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\"></a>ASPPythonTripleDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>An ASP Python triple double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\"></a>ASPPythonClassName&#160;</td><td class=\"fielddoc\"><p>The name of an ASP Python class. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\"></a>ASPPythonFunctionMethodName&#160;</td><td class=\"fielddoc\"><p>The name of an ASP Python function or method. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\"></a>ASPPythonOperator&#160;</td><td class=\"fielddoc\"><p>An ASP Python operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\"></a>ASPPythonIdentifier&#160;</td><td class=\"fielddoc\"><p>An ASP Python identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\"></a>PHPDefault&#160;</td><td class=\"fielddoc\"><p>The default for PHP. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\"></a>PHPDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A PHP double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\"></a>PHPSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A PHP single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\"></a>PHPKeyword&#160;</td><td class=\"fielddoc\"><p>A PHP keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\"></a>PHPNumber&#160;</td><td class=\"fielddoc\"><p>A PHP number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\"></a>PHPVariable&#160;</td><td class=\"fielddoc\"><p>A PHP variable. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\"></a>PHPComment&#160;</td><td class=\"fielddoc\"><p>A PHP comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\"></a>PHPCommentLine&#160;</td><td class=\"fielddoc\"><p>A PHP line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\"></a>PHPDoubleQuotedVariable&#160;</td><td class=\"fielddoc\"><p>A PHP double-quoted variable. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\"></a>PHPOperator&#160;</td><td class=\"fielddoc\"><p>A PHP operator. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a4c5ae7bc7d27946b1b07b940ef30a093\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4c5ae7bc7d27946b1b07b940ef30a093\">&#9670;&nbsp;</a></span>QsciLexerHTML()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerHTML::QsciLexerHTML </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerHTML.html\" title=\"The QsciLexerHTML class encapsulates the Scintilla HTML lexer.\">QsciLexerHTML</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a48e7f3a456fcb347ee96a2c6a1f07231\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a48e7f3a456fcb347ee96a2c6a1f07231\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerHTML::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n<a id=\"a7ceeb1fcb0dee86889484767dae5440b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7ceeb1fcb0dee86889484767dae5440b\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerHTML::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n<a id=\"ad8248a4659f290511d45a64fede1f63d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad8248a4659f290511d45a64fede1f63d\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerHTML::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n<a id=\"a56b7f081e520f7660490e3d206d83a73\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a56b7f081e520f7660490e3d206d83a73\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerHTML::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n<a id=\"a638fcb2f0d2dd4be844881998cdb3b76\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a638fcb2f0d2dd4be844881998cdb3b76\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerHTML::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7c73d608fd96b019e70ebf448de23357\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7c73d608fd96b019e70ebf448de23357\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerHTML::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n<a id=\"ac53cb0d155aa3d81add74ee90585cb6a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac53cb0d155aa3d81add74ee90585cb6a\">&#9670;&nbsp;</a></span>caseSensitiveTags()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::caseSensitiveTags </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if tags are case sensitive.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">setCaseSensitiveTags()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a59c9b8ff5d698d7e7e03ec2655a24764\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a59c9b8ff5d698d7e7e03ec2655a24764\">&#9670;&nbsp;</a></span>setDjangoTemplates()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerHTML::setDjangoTemplates </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then Django templates are enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">djangoTemplates()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1379abf89d88a2dd7854f957b28656c5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1379abf89d88a2dd7854f957b28656c5\">&#9670;&nbsp;</a></span>djangoTemplates()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::djangoTemplates </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if support for Django templates is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">setDjangoTemplates()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af861d2c565994b427514715fe95a80b7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af861d2c565994b427514715fe95a80b7\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2f3d753794280bfc09719e3ca521be83\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2f3d753794280bfc09719e3ca521be83\">&#9670;&nbsp;</a></span>foldPreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::foldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if preprocessor blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">setFoldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a51401044d3ad272ede84e1f2a128cce6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a51401044d3ad272ede84e1f2a128cce6\">&#9670;&nbsp;</a></span>setFoldScriptComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerHTML::setFoldScriptComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then script comments can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">foldScriptComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaf885bb9d07591114c2a2cc5769bb02a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaf885bb9d07591114c2a2cc5769bb02a\">&#9670;&nbsp;</a></span>foldScriptComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::foldScriptComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if script comments can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">setFoldScriptComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a122450b5227d23ee119b2653b9e9be2f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a122450b5227d23ee119b2653b9e9be2f\">&#9670;&nbsp;</a></span>setFoldScriptHeredocs()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerHTML::setFoldScriptHeredocs </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then script heredocs can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">foldScriptHeredocs()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aabad8cc171c34609ee0d6c600a534334\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aabad8cc171c34609ee0d6c600a534334\">&#9670;&nbsp;</a></span>foldScriptHeredocs()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::foldScriptHeredocs </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if script heredocs can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">setFoldScriptHeredocs()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8553315e763e1e53f56dd4dbe6b3c3d7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8553315e763e1e53f56dd4dbe6b3c3d7\">&#9670;&nbsp;</a></span>setMakoTemplates()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerHTML::setMakoTemplates </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then Mako templates are enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">makoTemplates()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae669580d3e3332a9b310d1bf78251f07\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae669580d3e3332a9b310d1bf78251f07\">&#9670;&nbsp;</a></span>makoTemplates()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::makoTemplates </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if support for Mako templates is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">setMakoTemplates()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1036c768307d29c40f09cc1bc2fce37c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1036c768307d29c40f09cc1bc2fce37c\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerHTML::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aeba753c0e1fca8bf66834667e301458e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeba753c0e1fca8bf66834667e301458e\">&#9670;&nbsp;</a></span>setFoldPreprocessor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerHTML::setFoldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then preprocessor blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">foldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2fda8ad57009d4e2f1ac388cad2cfc92\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2fda8ad57009d4e2f1ac388cad2cfc92\">&#9670;&nbsp;</a></span>setCaseSensitiveTags</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerHTML::setCaseSensitiveTags </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>sens</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>sens</em> is true then tags are case sensitive. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">caseSensitiveTags()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab9ae7a11b4c9ba6f62d795dce8d6fab8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n<a id=\"ae6e6be4b076718026d027629b28faba6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae6e6be4b076718026d027629b28faba6\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerHTML::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">QsciLexerXML</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerIDL-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerIDL Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html#a36cce16a8abf9455e397bbec012c9838\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentDocKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDocKeywordError</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentLine</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDefault</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDoubleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveEscapeSequence</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveGlobalClass</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveHashQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveIdentifier</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveKeywordSet2</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveNumber</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveOperator</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessor</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactivePreProcessorComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessorCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveRawString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveRegex</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveSingleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveTaskMarker</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveTripleQuotedVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUnclosedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveUserLiteral</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUUID</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html#a56afa4275e743eeff3dc693d9da85fd3\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>(QObject *parent=0, bool caseInsensitiveKeywords=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html#af929c0ded0d4d822d7b31d00103262de\">QsciLexerIDL</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a>(bool style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html#ad8a83d778cced2584c895d2b9b07c33b\">~QsciLexerIDL</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerIDL.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerIDL Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerIDL-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerIDL Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexeridl.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:af929c0ded0d4d822d7b31d00103262de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerIDL.html#af929c0ded0d4d822d7b31d00103262de\">QsciLexerIDL</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:af929c0ded0d4d822d7b31d00103262de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad8a83d778cced2584c895d2b9b07c33b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad8a83d778cced2584c895d2b9b07c33b\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerIDL.html#ad8a83d778cced2584c895d2b9b07c33b\">~QsciLexerIDL</a> ()</td></tr>\n<tr class=\"separator:ad8a83d778cced2584c895d2b9b07c33b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56afa4275e743eeff3dc693d9da85fd3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a56afa4275e743eeff3dc693d9da85fd3\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerIDL.html#a56afa4275e743eeff3dc693d9da85fd3\">language</a> () const</td></tr>\n<tr class=\"separator:a56afa4275e743eeff3dc693d9da85fd3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36cce16a8abf9455e397bbec012c9838\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a36cce16a8abf9455e397bbec012c9838\"></a>\nQColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerIDL.html#a36cce16a8abf9455e397bbec012c9838\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a36cce16a8abf9455e397bbec012c9838\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1fd3bee8279c7e3600ec0ed72dbc2d00\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a1fd3bee8279c7e3600ec0ed72dbc2d00\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:accd209bc74cec365745e3987c478a556\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">description</a> (int style) const</td></tr>\n<tr class=\"separator:accd209bc74cec365745e3987c478a556\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a> (QObject *parent=0, bool caseInsensitiveKeywords=false)</td></tr>\n<tr class=\"separator:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab9babc165bacf53b73abfb2d5d1aadad\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a> ()</td></tr>\n<tr class=\"separator:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a> () const</td></tr>\n<tr class=\"separator:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a509df9a20a1841de287849d6738ec3dd\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a822ca7489c4655f26bc72ed127285d8a\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a870955b5547ce4bdf9940165181022b7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a870955b5547ce4bdf9940165181022b7\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a870955b5547ce4bdf9940165181022b7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ae8627b7ef9faf3bb3a25fdbcb3cd97 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ae8627b7ef9faf3bb3a25fdbcb3cd97\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a7ae8627b7ef9faf3bb3a25fdbcb3cd97 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aebdebbf12dc8bf264479bd570f669268 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:aebdebbf12dc8bf264479bd570f669268 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a> () const</td></tr>\n<tr class=\"separator:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a> () const</td></tr>\n<tr class=\"separator:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a> () const</td></tr>\n<tr class=\"separator:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a> (bool enabled)</td></tr>\n<tr class=\"separator:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a> () const</td></tr>\n<tr class=\"separator:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a> () const</td></tr>\n<tr class=\"separator:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> = 0, \n<b>InactiveDefault</b> = Default + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> = 1, \n<br />\n&#160;&#160;<b>InactiveComment</b> = Comment + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> = 2, \n<b>InactiveCommentLine</b> = CommentLine + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> = 3, \n<b>InactiveCommentDoc</b> = CommentDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> = 4, \n<br />\n&#160;&#160;<b>InactiveNumber</b> = Number + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> = 5, \n<b>InactiveKeyword</b> = Keyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> = 6, \n<b>InactiveDoubleQuotedString</b> = DoubleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> = 7, \n<br />\n&#160;&#160;<b>InactiveSingleQuotedString</b> = SingleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> = 8, \n<b>InactiveUUID</b> = UUID + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> = 9, \n<b>InactivePreProcessor</b> = PreProcessor + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> = 10, \n<br />\n&#160;&#160;<b>InactiveOperator</b> = Operator + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> = 11, \n<b>InactiveIdentifier</b> = Identifier + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> = 12, \n<b>InactiveUnclosedString</b> = UnclosedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> = 13, \n<br />\n&#160;&#160;<b>InactiveVerbatimString</b> = VerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> = 14, \n<b>InactiveRegex</b> = Regex + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> = 15, \n<b>InactiveCommentLineDoc</b> = CommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> = 16, \n<br />\n&#160;&#160;<b>InactiveKeywordSet2</b> = KeywordSet2 + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> = 17, \n<b>InactiveCommentDocKeyword</b> = CommentDocKeyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> = 18, \n<b>InactiveCommentDocKeywordError</b> = CommentDocKeywordError + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> = 19, \n<br />\n&#160;&#160;<b>InactiveGlobalClass</b> = GlobalClass + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> = 20, \n<b>InactiveRawString</b> = RawString + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> = 21, \n<b>InactiveTripleQuotedVerbatimString</b> = TripleQuotedVerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> = 22, \n<br />\n&#160;&#160;<b>InactiveHashQuotedString</b> = HashQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> = 23, \n<b>InactivePreProcessorComment</b> = PreProcessorComment + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> = 24, \n<b>InactivePreProcessorCommentLineDoc</b> = PreProcessorCommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> = 25, \n<br />\n&#160;&#160;<b>InactiveUserLiteral</b> = UserLiteral + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> = 26, \n<b>InactiveTaskMarker</b> = TaskMarker + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> = 27, \n<b>InactiveEscapeSequence</b> = EscapeSequence + 64\n<br />\n }</td></tr>\n<tr class=\"separator:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a> (bool style)</td></tr>\n<tr class=\"separator:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerIDL.html\" title=\"The QsciLexerIDL class encapsulates the Scintilla IDL lexer.\">QsciLexerIDL</a> class encapsulates the Scintilla IDL lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"af929c0ded0d4d822d7b31d00103262de\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af929c0ded0d4d822d7b31d00103262de\">&#9670;&nbsp;</a></span>QsciLexerIDL()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerIDL::QsciLexerIDL </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerIDL.html\" title=\"The QsciLexerIDL class encapsulates the Scintilla IDL lexer.\">QsciLexerIDL</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a1fd3bee8279c7e3600ec0ed72dbc2d00\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1fd3bee8279c7e3600ec0ed72dbc2d00\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerIDL::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"accd209bc74cec365745e3987c478a556\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#accd209bc74cec365745e3987c478a556\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerIDL::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerJSON-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerJSON Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa22446d400d75d1559463746df39fdd70\">CommentBlock</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf17e14af27331f8d34c22ec61f5d6deb\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa8c5bbdbe1db1b60a1aab67a6cc809ed1\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a6d22aebdf6475acb8d9aa18c244bd9cc\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a3ba9e8000c3896e453b79dcfce08b146\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a902f46f94e9d5e5177bec26e2a7bf8ef\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a689e8352655111f8d1c9421552f454c4\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#af8d88cce706a1d7a95e1a519e0dc56c3\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faa8312a1f93350c33c4d7dd3748a8910f\">Error</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0bb7d6615b8af0c1aef5d28e63f2e55c\">EscapeSequence</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a16a2faffdfcc5893a6fd08d270d69798\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ab7048836522bb0c92df17ccc9e8c1577\">highlightComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ad300e5513ee85748aa3dfab2d9617ad5\">highlightEscapeSequences</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa18ac02585b6a3a5bf7cafa9499bfbfc4\">IRI</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa814a013ddf331cf29765d7c95c24c595\">IRICompact</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faae4909c19c8ccacd940fb6d267e8536a\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa1a2e3268afbd5a33ca8f6a23aa12c7a0\">KeywordLD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#af4a9c85e527eda6c28663f055afa0be2\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a7a2271db1a39037a429faaa5ff8e399f\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a04a2eaa1d93a2266bd170d392b70860b\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fae3e7de4485556546e6645566cb446900\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf348c8b3678f46bdc29661f77a5c10cb\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa88aba2fd85a3f47a7c5f2f5034c8cd42\">Property</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a287cf2adecde291abab55095227864a9\">QsciLexerJSON</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#aba9c88201491763d75a8716d118a4079\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#acd0614489de2d2c9f69379a574f1d5eb\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a8a24cd2bdd449e16ae5d00db7a1826bf\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#aad1f452948047cc4ce0afc9bc9374061\">setHighlightComments</a>(bool highlight)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ac4b582db9efad2743e270ee63234804f\">setHighlightEscapeSequences</a>(bool highlight)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa7b6c84719042446c851bcf2882bb4761\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0cfad0410b6763f5b5ff6763da3fb387\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#ac4001660bfa52216fe475f84e2ce9d77\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html#a07a738771d1dd29aaae584944cf6d637\">~QsciLexerJSON</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerJSON.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerJSON Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerJSON-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerJSON Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerjson.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:ae663f0d422d93ebde5347086be37248f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa8c5bbdbe1db1b60a1aab67a6cc809ed1\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fae3e7de4485556546e6645566cb446900\">Number</a> = 1, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa7b6c84719042446c851bcf2882bb4761\">String</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0cfad0410b6763f5b5ff6763da3fb387\">UnclosedString</a> = 3, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa88aba2fd85a3f47a7c5f2f5034c8cd42\">Property</a> = 4, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0bb7d6615b8af0c1aef5d28e63f2e55c\">EscapeSequence</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf17e14af27331f8d34c22ec61f5d6deb\">CommentLine</a> = 6, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa22446d400d75d1559463746df39fdd70\">CommentBlock</a> = 7, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf348c8b3678f46bdc29661f77a5c10cb\">Operator</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa18ac02585b6a3a5bf7cafa9499bfbfc4\">IRI</a> = 9, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa814a013ddf331cf29765d7c95c24c595\">IRICompact</a> = 10, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faae4909c19c8ccacd940fb6d267e8536a\">Keyword</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa1a2e3268afbd5a33ca8f6a23aa12c7a0\">KeywordLD</a> = 12, \n<a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faa8312a1f93350c33c4d7dd3748a8910f\">Error</a> = 13\n<br />\n }</td></tr>\n<tr class=\"separator:ae663f0d422d93ebde5347086be37248f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a287cf2adecde291abab55095227864a9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a287cf2adecde291abab55095227864a9\">QsciLexerJSON</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a287cf2adecde291abab55095227864a9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a07a738771d1dd29aaae584944cf6d637\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a07a738771d1dd29aaae584944cf6d637\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a07a738771d1dd29aaae584944cf6d637\">~QsciLexerJSON</a> ()</td></tr>\n<tr class=\"separator:a07a738771d1dd29aaae584944cf6d637\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7a2271db1a39037a429faaa5ff8e399f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7a2271db1a39037a429faaa5ff8e399f\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a7a2271db1a39037a429faaa5ff8e399f\">language</a> () const</td></tr>\n<tr class=\"separator:a7a2271db1a39037a429faaa5ff8e399f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a04a2eaa1d93a2266bd170d392b70860b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a04a2eaa1d93a2266bd170d392b70860b\">lexer</a> () const</td></tr>\n<tr class=\"separator:a04a2eaa1d93a2266bd170d392b70860b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d22aebdf6475acb8d9aa18c244bd9cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a6d22aebdf6475acb8d9aa18c244bd9cc\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a6d22aebdf6475acb8d9aa18c244bd9cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3ba9e8000c3896e453b79dcfce08b146\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3ba9e8000c3896e453b79dcfce08b146\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a3ba9e8000c3896e453b79dcfce08b146\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a3ba9e8000c3896e453b79dcfce08b146\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a902f46f94e9d5e5177bec26e2a7bf8ef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a902f46f94e9d5e5177bec26e2a7bf8ef\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a902f46f94e9d5e5177bec26e2a7bf8ef\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a902f46f94e9d5e5177bec26e2a7bf8ef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a689e8352655111f8d1c9421552f454c4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a689e8352655111f8d1c9421552f454c4\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a689e8352655111f8d1c9421552f454c4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af4a9c85e527eda6c28663f055afa0be2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#af4a9c85e527eda6c28663f055afa0be2\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:af4a9c85e527eda6c28663f055afa0be2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af8d88cce706a1d7a95e1a519e0dc56c3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#af8d88cce706a1d7a95e1a519e0dc56c3\">description</a> (int style) const</td></tr>\n<tr class=\"separator:af8d88cce706a1d7a95e1a519e0dc56c3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd0614489de2d2c9f69379a574f1d5eb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#acd0614489de2d2c9f69379a574f1d5eb\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:acd0614489de2d2c9f69379a574f1d5eb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad1f452948047cc4ce0afc9bc9374061\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#aad1f452948047cc4ce0afc9bc9374061\">setHighlightComments</a> (bool highlight)</td></tr>\n<tr class=\"separator:aad1f452948047cc4ce0afc9bc9374061\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7048836522bb0c92df17ccc9e8c1577\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#ab7048836522bb0c92df17ccc9e8c1577\">highlightComments</a> () const</td></tr>\n<tr class=\"separator:ab7048836522bb0c92df17ccc9e8c1577\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac4b582db9efad2743e270ee63234804f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#ac4b582db9efad2743e270ee63234804f\">setHighlightEscapeSequences</a> (bool highlight)</td></tr>\n<tr class=\"separator:ac4b582db9efad2743e270ee63234804f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad300e5513ee85748aa3dfab2d9617ad5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#ad300e5513ee85748aa3dfab2d9617ad5\">highlightEscapeSequences</a> () const</td></tr>\n<tr class=\"separator:ad300e5513ee85748aa3dfab2d9617ad5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a24cd2bdd449e16ae5d00db7a1826bf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a8a24cd2bdd449e16ae5d00db7a1826bf\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a8a24cd2bdd449e16ae5d00db7a1826bf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a16a2faffdfcc5893a6fd08d270d69798\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#a16a2faffdfcc5893a6fd08d270d69798\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a16a2faffdfcc5893a6fd08d270d69798\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:aba9c88201491763d75a8716d118a4079\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#aba9c88201491763d75a8716d118a4079\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aba9c88201491763d75a8716d118a4079\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac4001660bfa52216fe475f84e2ce9d77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJSON.html#ac4001660bfa52216fe475f84e2ce9d77\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:ac4001660bfa52216fe475f84e2ce9d77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerJSON.html\" title=\"The QsciLexerJSON class encapsulates the Scintilla JSON lexer.\">QsciLexerJSON</a> class encapsulates the Scintilla JSON lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"ae663f0d422d93ebde5347086be37248f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae663f0d422d93ebde5347086be37248f\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the JSON lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa8c5bbdbe1db1b60a1aab67a6cc809ed1\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fae3e7de4485556546e6645566cb446900\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa7b6c84719042446c851bcf2882bb4761\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa0cfad0410b6763f5b5ff6763da3fb387\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>An unclosed string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa88aba2fd85a3f47a7c5f2f5034c8cd42\"></a>Property&#160;</td><td class=\"fielddoc\"><p>A property. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa0bb7d6615b8af0c1aef5d28e63f2e55c\"></a>EscapeSequence&#160;</td><td class=\"fielddoc\"><p>An escape sequence. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248faf17e14af27331f8d34c22ec61f5d6deb\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa22446d400d75d1559463746df39fdd70\"></a>CommentBlock&#160;</td><td class=\"fielddoc\"><p>A block comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248faf348c8b3678f46bdc29661f77a5c10cb\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa18ac02585b6a3a5bf7cafa9499bfbfc4\"></a>IRI&#160;</td><td class=\"fielddoc\"><p>An Internationalised Resource Identifier (IRI). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa814a013ddf331cf29765d7c95c24c595\"></a>IRICompact&#160;</td><td class=\"fielddoc\"><p>A JSON-LD compact IRI. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248faae4909c19c8ccacd940fb6d267e8536a\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A JSON keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248fa1a2e3268afbd5a33ca8f6a23aa12c7a0\"></a>KeywordLD&#160;</td><td class=\"fielddoc\"><p>A JSON-LD keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae663f0d422d93ebde5347086be37248faa8312a1f93350c33c4d7dd3748a8910f\"></a>Error&#160;</td><td class=\"fielddoc\"><p>A parsing error. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a287cf2adecde291abab55095227864a9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a287cf2adecde291abab55095227864a9\">&#9670;&nbsp;</a></span>QsciLexerJSON()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerJSON::QsciLexerJSON </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerJSON.html\" title=\"The QsciLexerJSON class encapsulates the Scintilla JSON lexer.\">QsciLexerJSON</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a04a2eaa1d93a2266bd170d392b70860b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a04a2eaa1d93a2266bd170d392b70860b\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerJSON::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a6d22aebdf6475acb8d9aa18c244bd9cc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6d22aebdf6475acb8d9aa18c244bd9cc\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerJSON::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJSON.html#a689e8352655111f8d1c9421552f454c4\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a689e8352655111f8d1c9421552f454c4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a689e8352655111f8d1c9421552f454c4\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerJSON::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJSON.html#a6d22aebdf6475acb8d9aa18c244bd9cc\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af4a9c85e527eda6c28663f055afa0be2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af4a9c85e527eda6c28663f055afa0be2\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerJSON::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af8d88cce706a1d7a95e1a519e0dc56c3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af8d88cce706a1d7a95e1a519e0dc56c3\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerJSON::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"acd0614489de2d2c9f69379a574f1d5eb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acd0614489de2d2c9f69379a574f1d5eb\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerJSON::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aad1f452948047cc4ce0afc9bc9374061\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aad1f452948047cc4ce0afc9bc9374061\">&#9670;&nbsp;</a></span>setHighlightComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerJSON::setHighlightComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>highlight</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>highlight</em> is true then line and block comments will be highlighted. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>hightlightComments() </dd></dl>\n\n</div>\n</div>\n<a id=\"ab7048836522bb0c92df17ccc9e8c1577\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab7048836522bb0c92df17ccc9e8c1577\">&#9670;&nbsp;</a></span>highlightComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerJSON::highlightComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if line and block comments are highlighted</p>\n<dl class=\"section see\"><dt>See also</dt><dd>setHightlightComments() </dd></dl>\n\n</div>\n</div>\n<a id=\"ac4b582db9efad2743e270ee63234804f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac4b582db9efad2743e270ee63234804f\">&#9670;&nbsp;</a></span>setHighlightEscapeSequences()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerJSON::setHighlightEscapeSequences </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>highlight</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>highlight</em> is true then escape sequences in strings are highlighted. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJSON.html#ad300e5513ee85748aa3dfab2d9617ad5\">highlightEscapeSequences()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad300e5513ee85748aa3dfab2d9617ad5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad300e5513ee85748aa3dfab2d9617ad5\">&#9670;&nbsp;</a></span>highlightEscapeSequences()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerJSON::highlightEscapeSequences </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if escape sequences in strings are highlighted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJSON.html#ac4b582db9efad2743e270ee63234804f\">setHighlightEscapeSequences()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8a24cd2bdd449e16ae5d00db7a1826bf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8a24cd2bdd449e16ae5d00db7a1826bf\">&#9670;&nbsp;</a></span>setFoldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerJSON::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJSON.html#a16a2faffdfcc5893a6fd08d270d69798\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a16a2faffdfcc5893a6fd08d270d69798\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a16a2faffdfcc5893a6fd08d270d69798\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerJSON::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJSON.html#a8a24cd2bdd449e16ae5d00db7a1826bf\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aba9c88201491763d75a8716d118a4079\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aba9c88201491763d75a8716d118a4079\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerJSON::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac4001660bfa52216fe475f84e2ce9d77\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac4001660bfa52216fe475f84e2ce9d77\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerJSON::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerJava-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerJava Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentDocKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDocKeywordError</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentLine</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDefault</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDoubleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveEscapeSequence</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveGlobalClass</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveHashQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveIdentifier</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveKeywordSet2</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveNumber</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveOperator</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessor</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactivePreProcessorComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessorCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveRawString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveRegex</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveSingleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveTaskMarker</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveTripleQuotedVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUnclosedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveUserLiteral</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUUID</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html#af0f0dd1756ceb60bd8f404f3b48f470c\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>(QObject *parent=0, bool caseInsensitiveKeywords=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html#abaa737931800774e8067765d6cdc9a5d\">QsciLexerJava</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a>(bool style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html#a76f547a0431bb391a89efd764eb337c7\">~QsciLexerJava</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerJava.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerJava Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerJava-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerJava Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerjava.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:abaa737931800774e8067765d6cdc9a5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJava.html#abaa737931800774e8067765d6cdc9a5d\">QsciLexerJava</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:abaa737931800774e8067765d6cdc9a5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a76f547a0431bb391a89efd764eb337c7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a76f547a0431bb391a89efd764eb337c7\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJava.html#a76f547a0431bb391a89efd764eb337c7\">~QsciLexerJava</a> ()</td></tr>\n<tr class=\"separator:a76f547a0431bb391a89efd764eb337c7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0f0dd1756ceb60bd8f404f3b48f470c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af0f0dd1756ceb60bd8f404f3b48f470c\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJava.html#af0f0dd1756ceb60bd8f404f3b48f470c\">language</a> () const</td></tr>\n<tr class=\"separator:af0f0dd1756ceb60bd8f404f3b48f470c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad741254381ce4447588d190ad9c67783\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ad741254381ce4447588d190ad9c67783\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a> (QObject *parent=0, bool caseInsensitiveKeywords=false)</td></tr>\n<tr class=\"separator:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab9babc165bacf53b73abfb2d5d1aadad\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a> ()</td></tr>\n<tr class=\"separator:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a> () const</td></tr>\n<tr class=\"separator:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a509df9a20a1841de287849d6738ec3dd\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a822ca7489c4655f26bc72ed127285d8a\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a39af10ac6ff34cb347bb2c891f8de64f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a39af10ac6ff34cb347bb2c891f8de64f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a870955b5547ce4bdf9940165181022b7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a870955b5547ce4bdf9940165181022b7\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a870955b5547ce4bdf9940165181022b7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ae8627b7ef9faf3bb3a25fdbcb3cd97 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ae8627b7ef9faf3bb3a25fdbcb3cd97\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a7ae8627b7ef9faf3bb3a25fdbcb3cd97 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aebdebbf12dc8bf264479bd570f669268 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:aebdebbf12dc8bf264479bd570f669268 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a761b431d688aa99c5c9b5110b41dc712 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a761b431d688aa99c5c9b5110b41dc712 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a> () const</td></tr>\n<tr class=\"separator:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a> () const</td></tr>\n<tr class=\"separator:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a> () const</td></tr>\n<tr class=\"separator:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a> (bool enabled)</td></tr>\n<tr class=\"separator:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a> () const</td></tr>\n<tr class=\"separator:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a> () const</td></tr>\n<tr class=\"separator:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> = 0, \n<b>InactiveDefault</b> = Default + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> = 1, \n<br />\n&#160;&#160;<b>InactiveComment</b> = Comment + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> = 2, \n<b>InactiveCommentLine</b> = CommentLine + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> = 3, \n<b>InactiveCommentDoc</b> = CommentDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> = 4, \n<br />\n&#160;&#160;<b>InactiveNumber</b> = Number + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> = 5, \n<b>InactiveKeyword</b> = Keyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> = 6, \n<b>InactiveDoubleQuotedString</b> = DoubleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> = 7, \n<br />\n&#160;&#160;<b>InactiveSingleQuotedString</b> = SingleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> = 8, \n<b>InactiveUUID</b> = UUID + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> = 9, \n<b>InactivePreProcessor</b> = PreProcessor + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> = 10, \n<br />\n&#160;&#160;<b>InactiveOperator</b> = Operator + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> = 11, \n<b>InactiveIdentifier</b> = Identifier + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> = 12, \n<b>InactiveUnclosedString</b> = UnclosedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> = 13, \n<br />\n&#160;&#160;<b>InactiveVerbatimString</b> = VerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> = 14, \n<b>InactiveRegex</b> = Regex + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> = 15, \n<b>InactiveCommentLineDoc</b> = CommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> = 16, \n<br />\n&#160;&#160;<b>InactiveKeywordSet2</b> = KeywordSet2 + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> = 17, \n<b>InactiveCommentDocKeyword</b> = CommentDocKeyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> = 18, \n<b>InactiveCommentDocKeywordError</b> = CommentDocKeywordError + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> = 19, \n<br />\n&#160;&#160;<b>InactiveGlobalClass</b> = GlobalClass + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> = 20, \n<b>InactiveRawString</b> = RawString + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> = 21, \n<b>InactiveTripleQuotedVerbatimString</b> = TripleQuotedVerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> = 22, \n<br />\n&#160;&#160;<b>InactiveHashQuotedString</b> = HashQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> = 23, \n<b>InactivePreProcessorComment</b> = PreProcessorComment + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> = 24, \n<b>InactivePreProcessorCommentLineDoc</b> = PreProcessorCommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> = 25, \n<br />\n&#160;&#160;<b>InactiveUserLiteral</b> = UserLiteral + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> = 26, \n<b>InactiveTaskMarker</b> = TaskMarker + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> = 27, \n<b>InactiveEscapeSequence</b> = EscapeSequence + 64\n<br />\n }</td></tr>\n<tr class=\"separator:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a> (bool style)</td></tr>\n<tr class=\"separator:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerJava.html\" title=\"The QsciLexerJava class encapsulates the Scintilla Java lexer.\">QsciLexerJava</a> class encapsulates the Scintilla Java lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"abaa737931800774e8067765d6cdc9a5d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abaa737931800774e8067765d6cdc9a5d\">&#9670;&nbsp;</a></span>QsciLexerJava()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerJava::QsciLexerJava </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerJava.html\" title=\"The QsciLexerJava class encapsulates the Scintilla Java lexer.\">QsciLexerJava</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"ad741254381ce4447588d190ad9c67783\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad741254381ce4447588d190ad9c67783\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerJava::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerJavaScript-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerJavaScript Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a814917aafe1fef03ec20571e91bb4571\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a5245587f4db1c40ad90898a7712094ed\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentDocKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentDocKeywordError</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentLine</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDefault</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDoubleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveEscapeSequence</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveGlobalClass</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveHashQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveIdentifier</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveKeywordSet2</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveNumber</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveOperator</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessor</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactivePreProcessorComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePreProcessorCommentLineDoc</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveRawString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveRegex</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveSingleQuotedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveTaskMarker</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveTripleQuotedVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUnclosedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveUserLiteral</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUUID</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveVerbatimString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#aa7bd1f345699cc97fac25cf29ae98a4e\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>(QObject *parent=0, bool caseInsensitiveKeywords=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a94cbc22361a55fe0681ad7fe5425dfb5\">QsciLexerJavaScript</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a>(bool style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a8a99f91287ee998375f84c7a2467b0ff\">~QsciLexerJavaScript</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerJavaScript.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerJavaScript Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerJavaScript-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerJavaScript Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerjavascript.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a94cbc22361a55fe0681ad7fe5425dfb5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a94cbc22361a55fe0681ad7fe5425dfb5\">QsciLexerJavaScript</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a94cbc22361a55fe0681ad7fe5425dfb5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a99f91287ee998375f84c7a2467b0ff\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8a99f91287ee998375f84c7a2467b0ff\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a8a99f91287ee998375f84c7a2467b0ff\">~QsciLexerJavaScript</a> ()</td></tr>\n<tr class=\"separator:a8a99f91287ee998375f84c7a2467b0ff\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa7bd1f345699cc97fac25cf29ae98a4e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa7bd1f345699cc97fac25cf29ae98a4e\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#aa7bd1f345699cc97fac25cf29ae98a4e\">language</a> () const</td></tr>\n<tr class=\"separator:aa7bd1f345699cc97fac25cf29ae98a4e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66b627130d76db15263b7502ec5d475c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a66b627130d76db15263b7502ec5d475c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a814917aafe1fef03ec20571e91bb4571\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a814917aafe1fef03ec20571e91bb4571\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a814917aafe1fef03ec20571e91bb4571\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a814917aafe1fef03ec20571e91bb4571\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5245587f4db1c40ad90898a7712094ed\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5245587f4db1c40ad90898a7712094ed\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#a5245587f4db1c40ad90898a7712094ed\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a5245587f4db1c40ad90898a7712094ed\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af4b249f267973d29380b758a25b42e46\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:af4b249f267973d29380b758a25b42e46\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af00e1d05374302fd4d2e2eeec1a829ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:af00e1d05374302fd4d2e2eeec1a829ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abc88c53a2cfe6dd61e059fad1e8f3539\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">description</a> (int style) const</td></tr>\n<tr class=\"separator:abc88c53a2cfe6dd61e059fad1e8f3539\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a> (QObject *parent=0, bool caseInsensitiveKeywords=false)</td></tr>\n<tr class=\"separator:ae1451be7e7c6a57f28f361c72eb68a5f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab9babc165bacf53b73abfb2d5d1aadad\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">~QsciLexerCPP</a> ()</td></tr>\n<tr class=\"separator:ab9babc165bacf53b73abfb2d5d1aadad inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">lexer</a> () const</td></tr>\n<tr class=\"separator:a3f7076535f370759450ec1243088c7f1 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:af0ccf94585e15b87a18f12ab9de1c977 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2263531e4445463f1d75fdfd54102404 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a79d8b2101ef7b1aef1e7e01557090d6f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a2cfcfea76c396c0b7b82fc41437ff16f inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a509df9a20a1841de287849d6738ec3dd\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a509df9a20a1841de287849d6738ec3dd inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a822ca7489c4655f26bc72ed127285d8a\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a822ca7489c4655f26bc72ed127285d8a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a58506e1c965a181c9202376e0ba85c30 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aad7b42963ca382afb23eb000b727de12 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">foldComments</a> () const</td></tr>\n<tr class=\"separator:adc253f08156cde45b331c5a7ed07cfd7 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ad0939852605ee45ce62f70647d47147b inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a3c93f14b36897ecb3f902b5e5de91ad6 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">stylePreprocessor</a> () const</td></tr>\n<tr class=\"separator:ac6f508a57750605ec3b9688408b092b2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">setDollarsAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a06315a18051184926fe21459fc75b4cc inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">dollarsAllowed</a> () const</td></tr>\n<tr class=\"separator:aa20e183e0b38b5076aa9e883c5283791 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">setHighlightTripleQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:a2ea8bd8758e10d72832dbf3642b06fb2 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">highlightTripleQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a23c6488e2416d54f6a4ec84015d860ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">setHighlightHashQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:ad0d9356583118309e6c3991e96a67ffe inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">highlightHashQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:ab5f782645ff1d3a2d7ac371cbd9f2f5d inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">setHighlightBackQuotedStrings</a> (bool enabled)</td></tr>\n<tr class=\"separator:aa023c95fbbecbbbf7046c92d6fcfdce5 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">highlightBackQuotedStrings</a> () const</td></tr>\n<tr class=\"separator:a015d6501ee4cca33a00036174529c161 inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">setHighlightEscapeSequences</a> (bool enabled)</td></tr>\n<tr class=\"separator:a6d6a21ea44e2ee9676aa27178021b06a inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">highlightEscapeSequences</a> () const</td></tr>\n<tr class=\"separator:aea4d8707f6e32c1fbf989504d12d9eaa inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">setVerbatimStringEscapeSequencesAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a015dce05877d292d399fb207e79632cf inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">verbatimStringEscapeSequencesAllowed</a> () const</td></tr>\n<tr class=\"separator:a20439ec93f1af6b8227bdcd48a6070ec inherit pub_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">Default</a> = 0, \n<b>InactiveDefault</b> = Default + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">Comment</a> = 1, \n<br />\n&#160;&#160;<b>InactiveComment</b> = Comment + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">CommentLine</a> = 2, \n<b>InactiveCommentLine</b> = CommentLine + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">CommentDoc</a> = 3, \n<b>InactiveCommentDoc</b> = CommentDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">Number</a> = 4, \n<br />\n&#160;&#160;<b>InactiveNumber</b> = Number + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">Keyword</a> = 5, \n<b>InactiveKeyword</b> = Keyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">DoubleQuotedString</a> = 6, \n<b>InactiveDoubleQuotedString</b> = DoubleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">SingleQuotedString</a> = 7, \n<br />\n&#160;&#160;<b>InactiveSingleQuotedString</b> = SingleQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">UUID</a> = 8, \n<b>InactiveUUID</b> = UUID + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">PreProcessor</a> = 9, \n<b>InactivePreProcessor</b> = PreProcessor + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">Operator</a> = 10, \n<br />\n&#160;&#160;<b>InactiveOperator</b> = Operator + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">Identifier</a> = 11, \n<b>InactiveIdentifier</b> = Identifier + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">UnclosedString</a> = 12, \n<b>InactiveUnclosedString</b> = UnclosedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">VerbatimString</a> = 13, \n<br />\n&#160;&#160;<b>InactiveVerbatimString</b> = VerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">Regex</a> = 14, \n<b>InactiveRegex</b> = Regex + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">CommentLineDoc</a> = 15, \n<b>InactiveCommentLineDoc</b> = CommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">KeywordSet2</a> = 16, \n<br />\n&#160;&#160;<b>InactiveKeywordSet2</b> = KeywordSet2 + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">CommentDocKeyword</a> = 17, \n<b>InactiveCommentDocKeyword</b> = CommentDocKeyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">CommentDocKeywordError</a> = 18, \n<b>InactiveCommentDocKeywordError</b> = CommentDocKeywordError + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">GlobalClass</a> = 19, \n<br />\n&#160;&#160;<b>InactiveGlobalClass</b> = GlobalClass + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">RawString</a> = 20, \n<b>InactiveRawString</b> = RawString + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">TripleQuotedVerbatimString</a> = 21, \n<b>InactiveTripleQuotedVerbatimString</b> = TripleQuotedVerbatimString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">HashQuotedString</a> = 22, \n<br />\n&#160;&#160;<b>InactiveHashQuotedString</b> = HashQuotedString + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">PreProcessorComment</a> = 23, \n<b>InactivePreProcessorComment</b> = PreProcessorComment + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">PreProcessorCommentLineDoc</a> = 24, \n<b>InactivePreProcessorCommentLineDoc</b> = PreProcessorCommentLineDoc + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">UserLiteral</a> = 25, \n<br />\n&#160;&#160;<b>InactiveUserLiteral</b> = UserLiteral + 64, \n<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">TaskMarker</a> = 26, \n<b>InactiveTaskMarker</b> = TaskMarker + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">EscapeSequence</a> = 27, \n<b>InactiveEscapeSequence</b> = EscapeSequence + 64\n<br />\n }</td></tr>\n<tr class=\"separator:a30c13b0ea8b55b3204ea4e9f49a313b1 inherit pub_types_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:ad0a3dd6dfb77a069303bfeeeed43773f inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:aaf1f8163b8baf27ef65c1e5219bbf1e2 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:af17ac732d73445822ef23a59f3e45aef inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:a6a8c59ca8409029fc6b27b9ad3c70886 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">setStylePreprocessor</a> (bool style)</td></tr>\n<tr class=\"separator:a66dc6ae74420ab3406043ff9f6f70cc4 inherit pub_slots_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexerCPP\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexerCPP')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a></td></tr>\n<tr class=\"memitem:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aa37ea54c5e39721b866c25b0e0335591 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a46bd37b48e91903451ab59314448f322 inherit pro_methods_classQsciLexerCPP\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerJavaScript.html\" title=\"The QsciLexerJavaScript class encapsulates the Scintilla JavaScript lexer.\">QsciLexerJavaScript</a> class encapsulates the Scintilla JavaScript lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a94cbc22361a55fe0681ad7fe5425dfb5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a94cbc22361a55fe0681ad7fe5425dfb5\">&#9670;&nbsp;</a></span>QsciLexerJavaScript()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerJavaScript::QsciLexerJavaScript </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerJavaScript.html\" title=\"The QsciLexerJavaScript class encapsulates the Scintilla JavaScript lexer.\">QsciLexerJavaScript</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a66b627130d76db15263b7502ec5d475c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a66b627130d76db15263b7502ec5d475c\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerJavaScript::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"af4b249f267973d29380b758a25b42e46\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af4b249f267973d29380b758a25b42e46\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerJavaScript::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"af00e1d05374302fd4d2e2eeec1a829ee\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af00e1d05374302fd4d2e2eeec1a829ee\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerJavaScript::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n<a id=\"abc88c53a2cfe6dd61e059fad1e8f3539\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abc88c53a2cfe6dd61e059fad1e8f3539\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerJavaScript::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerLua-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerLua Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#aff715db68554a1022792135e8edd0dba\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39efcf7df417b4566cace55874fb668e\">BasicFunctions</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a157c462625b4826a5d7fb9eec42cfc78\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a30570eca6c21ea302b1c6c0bd733dc14\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a95cd8dc67acc900b870665a61009b731\">Character</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25abf2c37dbd9d2f0f761e4c75b9a916c7f\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a1da860131fdcc821dbd51a25f65175ac\">CoroutinesIOSystemFacilities</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a60c35a89c49dabb959c8433fc053295b\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a1412f4f04885bf9b315fbb371c54dc7c\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a4d20a72f3087068af5840042d9beeca7\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a2db5e63ff4667a3f8e9df24a0accdf3d\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#aec007c8c5c374ca94b71d3eb0f47f467\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#ad77fd8b1e9ed6bac617f194306de2ea8\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a27383c2def3f59e903aec9537ef43d2c\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a03fe51d98c72f4af37b148cfb2a1319f\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae5d52051b1b6459a13bff6db572c0dce\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae99b87ba3113da81b9b8a7b675ac5abd\">KeywordSet5</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a8b505486e278e80d9caef2ef9769544b\">KeywordSet6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39080fdb9bcf558f8aca25ebbc5877cb\">KeywordSet7</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae15e71bd786c060d6412ce31551f3e42\">KeywordSet8</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a64681c9d0cf443f6073155989512f8b9\">Label</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a942c993effc83d0dedec2fc20d8a741f\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a8124ec8b5b96d95bb225cbb4e95f55cb\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a9aa357d7b337b9aabcb7f0566aff3aa9\">LineComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a78b4fea76183ad94c31e18f744495e94\">LiteralString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25aa7100ee56315d914482fbd97843d98f5\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a5267c1cdd34c280a959cd7df49b16ab2\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af9f702c766041919da2c7dac8fc11901\">Preprocessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a8932efc560175dc70a88e23b8136bb8f\">QsciLexerLua</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a928315606c0bd973c59e0b6d9641c3cd\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a628efb828569208d6219a88f1fc6a1a7\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a2f54e561f646da5ff20c5e85b2f377ea\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a351f36d3635a5f3af4815f6a74863eae\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af4a7065e3246c398a68f9af4ad839eb7\">StringTableMathsFunctions</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25afcd79271430a9af1fba6b94ee41cdf38\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#af0fffa0361bad4a3a007c09a1811db9c\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html#adbeb88fef8346b6543d6ef8b2154e763\">~QsciLexerLua</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerLua.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerLua Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerLua-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerLua Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerlua.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a34427b01d36d42008727d7cdc41d8d25\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a60c35a89c49dabb959c8433fc053295b\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25abf2c37dbd9d2f0f761e4c75b9a916c7f\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a9aa357d7b337b9aabcb7f0566aff3aa9\">LineComment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25aa7100ee56315d914482fbd97843d98f5\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae5d52051b1b6459a13bff6db572c0dce\">Keyword</a> = 5, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a351f36d3635a5f3af4815f6a74863eae\">String</a> = 6, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a95cd8dc67acc900b870665a61009b731\">Character</a> = 7, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a78b4fea76183ad94c31e18f744495e94\">LiteralString</a> = 8, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af9f702c766041919da2c7dac8fc11901\">Preprocessor</a> = 9, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a5267c1cdd34c280a959cd7df49b16ab2\">Operator</a> = 10, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a03fe51d98c72f4af37b148cfb2a1319f\">Identifier</a> = 11, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25afcd79271430a9af1fba6b94ee41cdf38\">UnclosedString</a> = 12, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39efcf7df417b4566cace55874fb668e\">BasicFunctions</a> = 13, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af4a7065e3246c398a68f9af4ad839eb7\">StringTableMathsFunctions</a> = 14, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a1da860131fdcc821dbd51a25f65175ac\">CoroutinesIOSystemFacilities</a> = 15, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae99b87ba3113da81b9b8a7b675ac5abd\">KeywordSet5</a> = 16, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a8b505486e278e80d9caef2ef9769544b\">KeywordSet6</a> = 17, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39080fdb9bcf558f8aca25ebbc5877cb\">KeywordSet7</a> = 18, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae15e71bd786c060d6412ce31551f3e42\">KeywordSet8</a> = 19, \n<a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a64681c9d0cf443f6073155989512f8b9\">Label</a> = 20\n<br />\n }</td></tr>\n<tr class=\"separator:a34427b01d36d42008727d7cdc41d8d25\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a2f54e561f646da5ff20c5e85b2f377ea\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a2f54e561f646da5ff20c5e85b2f377ea\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a2f54e561f646da5ff20c5e85b2f377ea\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a8932efc560175dc70a88e23b8136bb8f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a8932efc560175dc70a88e23b8136bb8f\">QsciLexerLua</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a8932efc560175dc70a88e23b8136bb8f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adbeb88fef8346b6543d6ef8b2154e763\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adbeb88fef8346b6543d6ef8b2154e763\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#adbeb88fef8346b6543d6ef8b2154e763\">~QsciLexerLua</a> ()</td></tr>\n<tr class=\"separator:adbeb88fef8346b6543d6ef8b2154e763\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a942c993effc83d0dedec2fc20d8a741f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a942c993effc83d0dedec2fc20d8a741f\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a942c993effc83d0dedec2fc20d8a741f\">language</a> () const</td></tr>\n<tr class=\"separator:a942c993effc83d0dedec2fc20d8a741f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8124ec8b5b96d95bb225cbb4e95f55cb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a8124ec8b5b96d95bb225cbb4e95f55cb\">lexer</a> () const</td></tr>\n<tr class=\"separator:a8124ec8b5b96d95bb225cbb4e95f55cb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff715db68554a1022792135e8edd0dba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#aff715db68554a1022792135e8edd0dba\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:aff715db68554a1022792135e8edd0dba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a157c462625b4826a5d7fb9eec42cfc78\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a157c462625b4826a5d7fb9eec42cfc78\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a157c462625b4826a5d7fb9eec42cfc78\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a30570eca6c21ea302b1c6c0bd733dc14\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a30570eca6c21ea302b1c6c0bd733dc14\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a30570eca6c21ea302b1c6c0bd733dc14\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a30570eca6c21ea302b1c6c0bd733dc14\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1412f4f04885bf9b315fbb371c54dc7c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a1412f4f04885bf9b315fbb371c54dc7c\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a1412f4f04885bf9b315fbb371c54dc7c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4d20a72f3087068af5840042d9beeca7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4d20a72f3087068af5840042d9beeca7\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a4d20a72f3087068af5840042d9beeca7\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a4d20a72f3087068af5840042d9beeca7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2db5e63ff4667a3f8e9df24a0accdf3d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2db5e63ff4667a3f8e9df24a0accdf3d\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a2db5e63ff4667a3f8e9df24a0accdf3d\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a2db5e63ff4667a3f8e9df24a0accdf3d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aec007c8c5c374ca94b71d3eb0f47f467\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#aec007c8c5c374ca94b71d3eb0f47f467\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:aec007c8c5c374ca94b71d3eb0f47f467\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a136982546f34f83f5e3dd21f67074d4d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a136982546f34f83f5e3dd21f67074d4d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad77fd8b1e9ed6bac617f194306de2ea8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#ad77fd8b1e9ed6bac617f194306de2ea8\">description</a> (int style) const</td></tr>\n<tr class=\"separator:ad77fd8b1e9ed6bac617f194306de2ea8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a628efb828569208d6219a88f1fc6a1a7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a628efb828569208d6219a88f1fc6a1a7\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a628efb828569208d6219a88f1fc6a1a7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27383c2def3f59e903aec9537ef43d2c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a27383c2def3f59e903aec9537ef43d2c\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a27383c2def3f59e903aec9537ef43d2c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a928315606c0bd973c59e0b6d9641c3cd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#a928315606c0bd973c59e0b6d9641c3cd\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a928315606c0bd973c59e0b6d9641c3cd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0fffa0361bad4a3a007c09a1811db9c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerLua.html#af0fffa0361bad4a3a007c09a1811db9c\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:af0fffa0361bad4a3a007c09a1811db9c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerLua.html\" title=\"The QsciLexerLua class encapsulates the Scintilla Lua lexer.\">QsciLexerLua</a> class encapsulates the Scintilla Lua lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a34427b01d36d42008727d7cdc41d8d25\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a34427b01d36d42008727d7cdc41d8d25\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Lua lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a60c35a89c49dabb959c8433fc053295b\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25abf2c37dbd9d2f0f761e4c75b9a916c7f\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A block comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a9aa357d7b337b9aabcb7f0566aff3aa9\"></a>LineComment&#160;</td><td class=\"fielddoc\"><p>A line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25aa7100ee56315d914482fbd97843d98f5\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25ae5d52051b1b6459a13bff6db572c0dce\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a351f36d3635a5f3af4815f6a74863eae\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a95cd8dc67acc900b870665a61009b731\"></a>Character&#160;</td><td class=\"fielddoc\"><p>A character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a78b4fea76183ad94c31e18f744495e94\"></a>LiteralString&#160;</td><td class=\"fielddoc\"><p>A literal string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25af9f702c766041919da2c7dac8fc11901\"></a>Preprocessor&#160;</td><td class=\"fielddoc\"><p>Preprocessor. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a5267c1cdd34c280a959cd7df49b16ab2\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a03fe51d98c72f4af37b148cfb2a1319f\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25afcd79271430a9af1fba6b94ee41cdf38\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a39efcf7df417b4566cace55874fb668e\"></a>BasicFunctions&#160;</td><td class=\"fielddoc\"><p>Basic functions. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25af4a7065e3246c398a68f9af4ad839eb7\"></a>StringTableMathsFunctions&#160;</td><td class=\"fielddoc\"><p>String, table and maths functions. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a1da860131fdcc821dbd51a25f65175ac\"></a>CoroutinesIOSystemFacilities&#160;</td><td class=\"fielddoc\"><p>Coroutines, I/O and system facilities. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25ae99b87ba3113da81b9b8a7b675ac5abd\"></a>KeywordSet5&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 5. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a8b505486e278e80d9caef2ef9769544b\"></a>KeywordSet6&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 6. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a39080fdb9bcf558f8aca25ebbc5877cb\"></a>KeywordSet7&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 7. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25ae15e71bd786c060d6412ce31551f3e42\"></a>KeywordSet8&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 8. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a34427b01d36d42008727d7cdc41d8d25a64681c9d0cf443f6073155989512f8b9\"></a>Label&#160;</td><td class=\"fielddoc\"><p>A label. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a8932efc560175dc70a88e23b8136bb8f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8932efc560175dc70a88e23b8136bb8f\">&#9670;&nbsp;</a></span>QsciLexerLua()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerLua::QsciLexerLua </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerLua.html\" title=\"The QsciLexerLua class encapsulates the Scintilla Lua lexer.\">QsciLexerLua</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a8124ec8b5b96d95bb225cbb4e95f55cb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8124ec8b5b96d95bb225cbb4e95f55cb\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerLua::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aff715db68554a1022792135e8edd0dba\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff715db68554a1022792135e8edd0dba\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerLua::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a157c462625b4826a5d7fb9eec42cfc78\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a157c462625b4826a5d7fb9eec42cfc78\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerLua::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a1412f4f04885bf9b315fbb371c54dc7c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1412f4f04885bf9b315fbb371c54dc7c\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerLua::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerLua.html#aec007c8c5c374ca94b71d3eb0f47f467\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aec007c8c5c374ca94b71d3eb0f47f467\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aec007c8c5c374ca94b71d3eb0f47f467\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerLua::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerLua.html#a1412f4f04885bf9b315fbb371c54dc7c\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a136982546f34f83f5e3dd21f67074d4d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a136982546f34f83f5e3dd21f67074d4d\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerLua::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ad77fd8b1e9ed6bac617f194306de2ea8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad77fd8b1e9ed6bac617f194306de2ea8\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerLua::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a628efb828569208d6219a88f1fc6a1a7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a628efb828569208d6219a88f1fc6a1a7\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerLua::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a27383c2def3f59e903aec9537ef43d2c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a27383c2def3f59e903aec9537ef43d2c\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerLua::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerLua.html#a2f54e561f646da5ff20c5e85b2f377ea\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2f54e561f646da5ff20c5e85b2f377ea\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2f54e561f646da5ff20c5e85b2f377ea\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerLua::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerLua.html#a27383c2def3f59e903aec9537ef43d2c\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a928315606c0bd973c59e0b6d9641c3cd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a928315606c0bd973c59e0b6d9641c3cd\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerLua::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af0fffa0361bad4a3a007c09a1811db9c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af0fffa0361bad4a3a007c09a1811db9c\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerLua::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerMakefile-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerMakefile Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a2c97009298841646061ca4ebc42d4867\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874abd0988a8be6257610b747928a65cf6d9\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#ab7c3560b5333c595506d4244134e9b1b\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a6537d97973481d6e7c911f8031385deb\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a4c9199cfee7bb097359fb238859470a9\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#ab7ecf66ac5e7285b72620df79bc9e711\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a8be47404070281d5c305be5331616b15\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874afecda9ed8daf8374c99aeaedfd83ffe9\">Error</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a561482313e4c6597b8c4627ec38e4d54\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a42e28c95e4f32374ffb7b47a85239d34\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a724a3c9d93a5d13ec7cc314e534cbcbf\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a563fecbc7fd5cd98a6c2bcc851c71f95\">Preprocessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a4568ee117191969976b674227b16c860\">QsciLexerMakefile</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a052ed29ca1c8ceece8d01376e2c05129\">Target</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a58d72990db11b97d2dd8dbd8124f8386\">Variable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a9e2c6ee91938aad61cfb7304de571bd4\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a0b10a59a79011e968a1ef9512d41c3d6\">~QsciLexerMakefile</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerMakefile.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerMakefile Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerMakefile-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerMakefile Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexermakefile.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a77e8da2d368723364f5e2df432ce7874\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874abd0988a8be6257610b747928a65cf6d9\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a2c97009298841646061ca4ebc42d4867\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a563fecbc7fd5cd98a6c2bcc851c71f95\">Preprocessor</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a58d72990db11b97d2dd8dbd8124f8386\">Variable</a> = 3, \n<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a724a3c9d93a5d13ec7cc314e534cbcbf\">Operator</a> = 4, \n<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a052ed29ca1c8ceece8d01376e2c05129\">Target</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874afecda9ed8daf8374c99aeaedfd83ffe9\">Error</a> = 9\n<br />\n }</td></tr>\n<tr class=\"separator:a77e8da2d368723364f5e2df432ce7874\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a4568ee117191969976b674227b16c860\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a4568ee117191969976b674227b16c860\">QsciLexerMakefile</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a4568ee117191969976b674227b16c860\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0b10a59a79011e968a1ef9512d41c3d6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0b10a59a79011e968a1ef9512d41c3d6\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a0b10a59a79011e968a1ef9512d41c3d6\">~QsciLexerMakefile</a> ()</td></tr>\n<tr class=\"separator:a0b10a59a79011e968a1ef9512d41c3d6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a561482313e4c6597b8c4627ec38e4d54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a561482313e4c6597b8c4627ec38e4d54\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a561482313e4c6597b8c4627ec38e4d54\">language</a> () const</td></tr>\n<tr class=\"separator:a561482313e4c6597b8c4627ec38e4d54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42e28c95e4f32374ffb7b47a85239d34\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a42e28c95e4f32374ffb7b47a85239d34\">lexer</a> () const</td></tr>\n<tr class=\"separator:a42e28c95e4f32374ffb7b47a85239d34\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e2c6ee91938aad61cfb7304de571bd4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9e2c6ee91938aad61cfb7304de571bd4\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a9e2c6ee91938aad61cfb7304de571bd4\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a9e2c6ee91938aad61cfb7304de571bd4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7c3560b5333c595506d4244134e9b1b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#ab7c3560b5333c595506d4244134e9b1b\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ab7c3560b5333c595506d4244134e9b1b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6537d97973481d6e7c911f8031385deb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6537d97973481d6e7c911f8031385deb\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a6537d97973481d6e7c911f8031385deb\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a6537d97973481d6e7c911f8031385deb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4c9199cfee7bb097359fb238859470a9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4c9199cfee7bb097359fb238859470a9\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a4c9199cfee7bb097359fb238859470a9\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a4c9199cfee7bb097359fb238859470a9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7ecf66ac5e7285b72620df79bc9e711\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#ab7ecf66ac5e7285b72620df79bc9e711\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:ab7ecf66ac5e7285b72620df79bc9e711\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8be47404070281d5c305be5331616b15\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMakefile.html#a8be47404070281d5c305be5331616b15\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a8be47404070281d5c305be5331616b15\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerMakefile.html\" title=\"The QsciLexerMakefile class encapsulates the Scintilla Makefile lexer.\">QsciLexerMakefile</a> class encapsulates the Scintilla Makefile lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a77e8da2d368723364f5e2df432ce7874\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a77e8da2d368723364f5e2df432ce7874\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Makefile lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874abd0988a8be6257610b747928a65cf6d9\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874a2c97009298841646061ca4ebc42d4867\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874a563fecbc7fd5cd98a6c2bcc851c71f95\"></a>Preprocessor&#160;</td><td class=\"fielddoc\"><p>A pre-processor directive. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874a58d72990db11b97d2dd8dbd8124f8386\"></a>Variable&#160;</td><td class=\"fielddoc\"><p>A variable. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874a724a3c9d93a5d13ec7cc314e534cbcbf\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874a052ed29ca1c8ceece8d01376e2c05129\"></a>Target&#160;</td><td class=\"fielddoc\"><p>A target. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a77e8da2d368723364f5e2df432ce7874afecda9ed8daf8374c99aeaedfd83ffe9\"></a>Error&#160;</td><td class=\"fielddoc\"><p>An error. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a4568ee117191969976b674227b16c860\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4568ee117191969976b674227b16c860\">&#9670;&nbsp;</a></span>QsciLexerMakefile()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerMakefile::QsciLexerMakefile </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerMakefile.html\" title=\"The QsciLexerMakefile class encapsulates the Scintilla Makefile lexer.\">QsciLexerMakefile</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a42e28c95e4f32374ffb7b47a85239d34\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a42e28c95e4f32374ffb7b47a85239d34\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerMakefile::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ab7c3560b5333c595506d4244134e9b1b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab7c3560b5333c595506d4244134e9b1b\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerMakefile::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerMakefile.html#ab7ecf66ac5e7285b72620df79bc9e711\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ab7ecf66ac5e7285b72620df79bc9e711\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab7ecf66ac5e7285b72620df79bc9e711\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerMakefile::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerMakefile.html#ab7c3560b5333c595506d4244134e9b1b\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a8be47404070281d5c305be5331616b15\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8be47404070281d5c305be5331616b15\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerMakefile::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerMarkdown-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerMarkdown Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a802a025f696e2e1a7800f212e48da6fb\">BlockQuote</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a24f1888af4753fb171b38ea00a6b4fd6\">CodeBackticks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aec90058e8208d49ab7d8e226d69cd670\">CodeBlock</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4d8694cfbb7b37351d09d070bab264bc\">CodeDoubleBackticks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6682db85866de38b1b3b0a02749a05d4\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ab4a9d2b6e3aeee22d7636072f5163499\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#acecf54d7daf87ff9fc5464fac8f1d502\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a2f1340e861947f7c8c4299b1c9ded5a5\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b86f1f637bdd5a9f894bcf8d94039c4\">EmphasisAsterisks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6d496317b63aabf2f94b7abd0681ffc7\">EmphasisUnderscores</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a72b1c31bd564177da4442c5c3ad29673\">Header1</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2a8592f89e9ed96dc5284f7532fd4b5a\">Header2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2603a8da38b275a2a6663fb1a0be0013\">Header3</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4b1050c5cdb3517a798c5cfeac8021d7\">Header4</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ac7776d56b4bf5a50f220408aa6f825a9\">Header5</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a7058cb8ab326921f8d2165c7031eaabe\">Header6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a98d328ad6d4dd08d1cea6896c01d0bf1\">HorizontalRule</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a7a06bdb17ebde731368ec204404ed0ee\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#af912a1a568b342c99f70fab70d89b178\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aba09f8253217b599639184da32985c54\">Link</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a59adacf9920946acf11060eb1c70a3ff\">OrderedListItem</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b030c189a22e2cdad1db39f200048d0\">Prechar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#aeffb57391fe593ab01e6f257f95ad2f6\">QsciLexerMarkdown</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ade428e04a07f3c12bc49b3894ac9f308\">Special</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a5d43deb58f0cb230bcb445b304b0127e\">StrikeOut</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a31fcb70a32415babac5b88241cb73623\">StrongEmphasisAsterisks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aaa8e9324e7aea282138de01e76f8f56c\">StrongEmphasisUnderscores</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4dee86f709fab3714e84cadbb9f6c4a3\">UnorderedListItem</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a5372d959cc774781c7271334b2c61b4f\">~QsciLexerMarkdown</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerMarkdown.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerMarkdown Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerMarkdown-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerMarkdown Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexermarkdown.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:ad09694087faec9ff4f49ff5cc3388e54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6682db85866de38b1b3b0a02749a05d4\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ade428e04a07f3c12bc49b3894ac9f308\">Special</a> = 1, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a31fcb70a32415babac5b88241cb73623\">StrongEmphasisAsterisks</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aaa8e9324e7aea282138de01e76f8f56c\">StrongEmphasisUnderscores</a> = 3, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b86f1f637bdd5a9f894bcf8d94039c4\">EmphasisAsterisks</a> = 4, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6d496317b63aabf2f94b7abd0681ffc7\">EmphasisUnderscores</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a72b1c31bd564177da4442c5c3ad29673\">Header1</a> = 6, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2a8592f89e9ed96dc5284f7532fd4b5a\">Header2</a> = 7, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2603a8da38b275a2a6663fb1a0be0013\">Header3</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4b1050c5cdb3517a798c5cfeac8021d7\">Header4</a> = 9, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ac7776d56b4bf5a50f220408aa6f825a9\">Header5</a> = 10, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a7058cb8ab326921f8d2165c7031eaabe\">Header6</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b030c189a22e2cdad1db39f200048d0\">Prechar</a> = 12, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4dee86f709fab3714e84cadbb9f6c4a3\">UnorderedListItem</a> = 13, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a59adacf9920946acf11060eb1c70a3ff\">OrderedListItem</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a802a025f696e2e1a7800f212e48da6fb\">BlockQuote</a> = 15, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a5d43deb58f0cb230bcb445b304b0127e\">StrikeOut</a> = 16, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a98d328ad6d4dd08d1cea6896c01d0bf1\">HorizontalRule</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aba09f8253217b599639184da32985c54\">Link</a> = 18, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a24f1888af4753fb171b38ea00a6b4fd6\">CodeBackticks</a> = 19, \n<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4d8694cfbb7b37351d09d070bab264bc\">CodeDoubleBackticks</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aec90058e8208d49ab7d8e226d69cd670\">CodeBlock</a> = 21\n<br />\n }</td></tr>\n<tr class=\"separator:ad09694087faec9ff4f49ff5cc3388e54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aeffb57391fe593ab01e6f257f95ad2f6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#aeffb57391fe593ab01e6f257f95ad2f6\">QsciLexerMarkdown</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:aeffb57391fe593ab01e6f257f95ad2f6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5372d959cc774781c7271334b2c61b4f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5372d959cc774781c7271334b2c61b4f\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a5372d959cc774781c7271334b2c61b4f\">~QsciLexerMarkdown</a> ()</td></tr>\n<tr class=\"separator:a5372d959cc774781c7271334b2c61b4f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7a06bdb17ebde731368ec204404ed0ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7a06bdb17ebde731368ec204404ed0ee\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a7a06bdb17ebde731368ec204404ed0ee\">language</a> () const</td></tr>\n<tr class=\"separator:a7a06bdb17ebde731368ec204404ed0ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af912a1a568b342c99f70fab70d89b178\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#af912a1a568b342c99f70fab70d89b178\">lexer</a> () const</td></tr>\n<tr class=\"separator:af912a1a568b342c99f70fab70d89b178\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab4a9d2b6e3aeee22d7636072f5163499\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab4a9d2b6e3aeee22d7636072f5163499\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#ab4a9d2b6e3aeee22d7636072f5163499\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:ab4a9d2b6e3aeee22d7636072f5163499\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acecf54d7daf87ff9fc5464fac8f1d502\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#acecf54d7daf87ff9fc5464fac8f1d502\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:acecf54d7daf87ff9fc5464fac8f1d502\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2f1340e861947f7c8c4299b1c9ded5a5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMarkdown.html#a2f1340e861947f7c8c4299b1c9ded5a5\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a2f1340e861947f7c8c4299b1c9ded5a5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerMarkdown.html\" title=\"The QsciLexerMarkdown class encapsulates the Scintilla Markdown lexer.\">QsciLexerMarkdown</a> class encapsulates the Scintilla Markdown lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"ad09694087faec9ff4f49ff5cc3388e54\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad09694087faec9ff4f49ff5cc3388e54\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Markdown lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a6682db85866de38b1b3b0a02749a05d4\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54ade428e04a07f3c12bc49b3894ac9f308\"></a>Special&#160;</td><td class=\"fielddoc\"><p>Special (e.g. end-of-line codes if enabled). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a31fcb70a32415babac5b88241cb73623\"></a>StrongEmphasisAsterisks&#160;</td><td class=\"fielddoc\"><p>Strong emphasis using double asterisks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54aaa8e9324e7aea282138de01e76f8f56c\"></a>StrongEmphasisUnderscores&#160;</td><td class=\"fielddoc\"><p>Strong emphasis using double underscores. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a3b86f1f637bdd5a9f894bcf8d94039c4\"></a>EmphasisAsterisks&#160;</td><td class=\"fielddoc\"><p>Emphasis using single asterisks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a6d496317b63aabf2f94b7abd0681ffc7\"></a>EmphasisUnderscores&#160;</td><td class=\"fielddoc\"><p>Emphasis using single underscores. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a72b1c31bd564177da4442c5c3ad29673\"></a>Header1&#160;</td><td class=\"fielddoc\"><p>A level 1 header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a2a8592f89e9ed96dc5284f7532fd4b5a\"></a>Header2&#160;</td><td class=\"fielddoc\"><p>A level 2 header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a2603a8da38b275a2a6663fb1a0be0013\"></a>Header3&#160;</td><td class=\"fielddoc\"><p>A level 3 header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a4b1050c5cdb3517a798c5cfeac8021d7\"></a>Header4&#160;</td><td class=\"fielddoc\"><p>A level 4 header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54ac7776d56b4bf5a50f220408aa6f825a9\"></a>Header5&#160;</td><td class=\"fielddoc\"><p>A level 5 header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a7058cb8ab326921f8d2165c7031eaabe\"></a>Header6&#160;</td><td class=\"fielddoc\"><p>A level 6 header. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a3b030c189a22e2cdad1db39f200048d0\"></a>Prechar&#160;</td><td class=\"fielddoc\"><p>Pre-char (up to three indent spaces, e.g. for a sub-list). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a4dee86f709fab3714e84cadbb9f6c4a3\"></a>UnorderedListItem&#160;</td><td class=\"fielddoc\"><p>An unordered list item. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a59adacf9920946acf11060eb1c70a3ff\"></a>OrderedListItem&#160;</td><td class=\"fielddoc\"><p>An ordered list item. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a802a025f696e2e1a7800f212e48da6fb\"></a>BlockQuote&#160;</td><td class=\"fielddoc\"><p>A block quote. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a5d43deb58f0cb230bcb445b304b0127e\"></a>StrikeOut&#160;</td><td class=\"fielddoc\"><p>Strike out. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a98d328ad6d4dd08d1cea6896c01d0bf1\"></a>HorizontalRule&#160;</td><td class=\"fielddoc\"><p>A horizontal rule. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54aba09f8253217b599639184da32985c54\"></a>Link&#160;</td><td class=\"fielddoc\"><p>A link. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a24f1888af4753fb171b38ea00a6b4fd6\"></a>CodeBackticks&#160;</td><td class=\"fielddoc\"><p>Code between backticks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54a4d8694cfbb7b37351d09d070bab264bc\"></a>CodeDoubleBackticks&#160;</td><td class=\"fielddoc\"><p>Code between double backticks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad09694087faec9ff4f49ff5cc3388e54aec90058e8208d49ab7d8e226d69cd670\"></a>CodeBlock&#160;</td><td class=\"fielddoc\"><p>A code block. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"aeffb57391fe593ab01e6f257f95ad2f6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeffb57391fe593ab01e6f257f95ad2f6\">&#9670;&nbsp;</a></span>QsciLexerMarkdown()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerMarkdown::QsciLexerMarkdown </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerMarkdown.html\" title=\"The QsciLexerMarkdown class encapsulates the Scintilla Markdown lexer.\">QsciLexerMarkdown</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"af912a1a568b342c99f70fab70d89b178\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af912a1a568b342c99f70fab70d89b178\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerMarkdown::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerMarkdown::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerMarkdown.html#acecf54d7daf87ff9fc5464fac8f1d502\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"acecf54d7daf87ff9fc5464fac8f1d502\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acecf54d7daf87ff9fc5464fac8f1d502\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerMarkdown::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerMarkdown.html#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2f1340e861947f7c8c4299b1c9ded5a5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2f1340e861947f7c8c4299b1c9ded5a5\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerMarkdown::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerMatlab-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerMatlab Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\">Command</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a1b26669dd868d97d8a04837aada5549f\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">~QsciLexerMatlab</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerMatlab.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerMatlab Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerMatlab-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerMatlab Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexermatlab.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a9b15f63a3b57a434a630f0df3c5fd4e5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\">Command</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\">Number</a> = 3, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\">Keyword</a> = 4, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\">SingleQuotedString</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\">Operator</a> = 6, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\">Identifier</a> = 7, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\">DoubleQuotedString</a> = 8\n<br />\n }</td></tr>\n<tr class=\"separator:a9b15f63a3b57a434a630f0df3c5fd4e5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a382aa49629299c9694d3b225bace0c16\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a382aa49629299c9694d3b225bace0c16\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c17910b9d9171d786b7c76b17276c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a66c17910b9d9171d786b7c76b17276c5\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">~QsciLexerMatlab</a> ()</td></tr>\n<tr class=\"separator:a66c17910b9d9171d786b7c76b17276c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1b26669dd868d97d8a04837aada5549f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1b26669dd868d97d8a04837aada5549f\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a1b26669dd868d97d8a04837aada5549f\">language</a> () const</td></tr>\n<tr class=\"separator:a1b26669dd868d97d8a04837aada5549f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a62234f5c4dfbeec23fd43dd6651d65e4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">lexer</a> () const</td></tr>\n<tr class=\"separator:a62234f5c4dfbeec23fd43dd6651d65e4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afd80aca910d70abcf6bcb34bfad4afc0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:afd80aca910d70abcf6bcb34bfad4afc0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2bfdf998696531faacf29f6e0aae9a6c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2bfdf998696531faacf29f6e0aae9a6c\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a2bfdf998696531faacf29f6e0aae9a6c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7afb79f0fec38396668dd52de7fc7c4b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a7afb79f0fec38396668dd52de7fc7c4b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae43cc6f38a157e4c70ba460e5004615e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">description</a> (int style) const</td></tr>\n<tr class=\"separator:ae43cc6f38a157e4c70ba460e5004615e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerMatlab.html\" title=\"The QsciLexerMatlab class encapsulates the Scintilla Matlab file lexer.\">QsciLexerMatlab</a> class encapsulates the Scintilla Matlab file lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9b15f63a3b57a434a630f0df3c5fd4e5\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Matlab file lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\"></a>Command&#160;</td><td class=\"fielddoc\"><p>A command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double quoted string. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a382aa49629299c9694d3b225bace0c16\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a382aa49629299c9694d3b225bace0c16\">&#9670;&nbsp;</a></span>QsciLexerMatlab()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerMatlab::QsciLexerMatlab </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerMatlab.html\" title=\"The QsciLexerMatlab class encapsulates the Scintilla Matlab file lexer.\">QsciLexerMatlab</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a62234f5c4dfbeec23fd43dd6651d65e4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a62234f5c4dfbeec23fd43dd6651d65e4\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerMatlab::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">QsciLexerOctave</a>.</p>\n\n</div>\n</div>\n<a id=\"afd80aca910d70abcf6bcb34bfad4afc0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afd80aca910d70abcf6bcb34bfad4afc0\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerMatlab::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7afb79f0fec38396668dd52de7fc7c4b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7afb79f0fec38396668dd52de7fc7c4b\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerMatlab::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n<p>Reimplemented in <a class=\"el\" href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">QsciLexerOctave</a>.</p>\n\n</div>\n</div>\n<a id=\"ae43cc6f38a157e4c70ba460e5004615e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae43cc6f38a157e4c70ba460e5004615e\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerMatlab::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerOctave-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerOctave Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\">Command</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html#acca6b44f3f90599d119fb05f375cb2b8\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html#aca3644f3fed3a83716d794cca822549a\">QsciLexerOctave</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">~QsciLexerMatlab</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html#ac0e8c0dfab0ae3c0b076c21d30fccc5f\">~QsciLexerOctave</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerOctave.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerOctave Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerOctave-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerOctave Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexeroctave.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aca3644f3fed3a83716d794cca822549a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerOctave.html#aca3644f3fed3a83716d794cca822549a\">QsciLexerOctave</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:aca3644f3fed3a83716d794cca822549a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac0e8c0dfab0ae3c0b076c21d30fccc5f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac0e8c0dfab0ae3c0b076c21d30fccc5f\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerOctave.html#ac0e8c0dfab0ae3c0b076c21d30fccc5f\">~QsciLexerOctave</a> ()</td></tr>\n<tr class=\"separator:ac0e8c0dfab0ae3c0b076c21d30fccc5f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acca6b44f3f90599d119fb05f375cb2b8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"acca6b44f3f90599d119fb05f375cb2b8\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerOctave.html#acca6b44f3f90599d119fb05f375cb2b8\">language</a> () const</td></tr>\n<tr class=\"separator:acca6b44f3f90599d119fb05f375cb2b8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa39859b74adb5cca0470d488186eb6af\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">lexer</a> () const</td></tr>\n<tr class=\"separator:aa39859b74adb5cca0470d488186eb6af\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a72ce450fad8282f4c02cf28fc6a4b9d2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a72ce450fad8282f4c02cf28fc6a4b9d2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerMatlab\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerMatlab')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td></tr>\n<tr class=\"memitem:a382aa49629299c9694d3b225bace0c16 inherit pub_methods_classQsciLexerMatlab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a382aa49629299c9694d3b225bace0c16 inherit pub_methods_classQsciLexerMatlab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c17910b9d9171d786b7c76b17276c5 inherit pub_methods_classQsciLexerMatlab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a66c17910b9d9171d786b7c76b17276c5\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">~QsciLexerMatlab</a> ()</td></tr>\n<tr class=\"separator:a66c17910b9d9171d786b7c76b17276c5 inherit pub_methods_classQsciLexerMatlab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afd80aca910d70abcf6bcb34bfad4afc0 inherit pub_methods_classQsciLexerMatlab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:afd80aca910d70abcf6bcb34bfad4afc0 inherit pub_methods_classQsciLexerMatlab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2bfdf998696531faacf29f6e0aae9a6c inherit pub_methods_classQsciLexerMatlab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2bfdf998696531faacf29f6e0aae9a6c\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a2bfdf998696531faacf29f6e0aae9a6c inherit pub_methods_classQsciLexerMatlab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae43cc6f38a157e4c70ba460e5004615e inherit pub_methods_classQsciLexerMatlab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">description</a> (int style) const</td></tr>\n<tr class=\"separator:ae43cc6f38a157e4c70ba460e5004615e inherit pub_methods_classQsciLexerMatlab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerMatlab\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerMatlab')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a></td></tr>\n<tr class=\"memitem:a9b15f63a3b57a434a630f0df3c5fd4e5 inherit pub_types_classQsciLexerMatlab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\">Command</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\">Number</a> = 3, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\">Keyword</a> = 4, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\">SingleQuotedString</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\">Operator</a> = 6, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\">Identifier</a> = 7, \n<a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\">DoubleQuotedString</a> = 8\n<br />\n }</td></tr>\n<tr class=\"separator:a9b15f63a3b57a434a630f0df3c5fd4e5 inherit pub_types_classQsciLexerMatlab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerOctave.html\" title=\"The QsciLexerOctave class encapsulates the Scintilla Octave file lexer.\">QsciLexerOctave</a> class encapsulates the Scintilla Octave file lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"aca3644f3fed3a83716d794cca822549a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aca3644f3fed3a83716d794cca822549a\">&#9670;&nbsp;</a></span>QsciLexerOctave()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerOctave::QsciLexerOctave </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerOctave.html\" title=\"The QsciLexerOctave class encapsulates the Scintilla Octave file lexer.\">QsciLexerOctave</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"aa39859b74adb5cca0470d488186eb6af\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa39859b74adb5cca0470d488186eb6af\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerOctave::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">QsciLexerMatlab</a>.</p>\n\n</div>\n</div>\n<a id=\"a72ce450fad8282f4c02cf28fc6a4b9d2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a72ce450fad8282f4c02cf28fc6a4b9d2\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerOctave::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">QsciLexerMatlab</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPO-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPO Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa58059f59ed8abfc84fff35f626f36dff\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aad31b6cbc7b7bd69b346df826e27efda2\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#aed4ceee51f10a94071a14371295b4c95\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#accea86f8532bd5d83dac9c4b771bafa9\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a911dee848cf18712f663b2cfdc5084f1\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa8189b733270e2d02ea3986e9bbfbe0d0\">Flags</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a40b4351699e48f7b34faa84c5dbc4704\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a1ec44d2dfe2f40d6267f3067f66c9a3d\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aabc0289fe1ca5de9e2fc729b46e7fca8b\">Fuzzy</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#ace592f4a2d86db6be6c6f363227c00ee\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a8eb17be2a61d63249564be87b7d777d8\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa7146f0d4c1236da076af7a842bd64d17\">MessageContext</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac4b1b6e4f6256d65c4ba5c2f191858ec\">MessageContextText</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa879aa27f03b3ef768a58b3cb4a6f2289\">MessageContextTextEOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aafa4943bd9ba4521382fda76a7cd81350\">MessageId</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacf9d9f92bdc917a32c2eb0af497c736b\">MessageIdText</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa707f11b1e5cce03548d293b57aab2c02\">MessageIdTextEOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac1d2ce430f70478822efc3d9583bb44a\">MessageString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacc7b06b43eb4768443caf8bffb5f487f\">MessageStringText</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aadbc353eabc26203474e9cce912c4dc30\">MessageStringTextEOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa2dfeba8e7fbcab62329d0154f97ac4d0\">ProgrammerComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a4d8011ef7e9d6401597d3a4012a809a7\">QsciLexerPO</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a8403f1e2f5ea0c5d67c32dd6053317c5\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa63922f67e65df9af550da3187a0111f5\">Reference</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#a17895e48d655d41d80e4fb4672c2fd72\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#abb698a7598847dea3cec0686c88ba43a\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#af3d4ae3f76854d01444b2fd4637c9b8e\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#afebea3d6f2a2cffcb8be859c99c2cede\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html#adfdd8ebdf8346a62055922065c5c3863\">~QsciLexerPO</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPO.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerPO Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerPO-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPO Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerpo.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a9ccf3e0f2138e708eb3d4cf05311d53a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aad31b6cbc7b7bd69b346df826e27efda2\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa58059f59ed8abfc84fff35f626f36dff\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aafa4943bd9ba4521382fda76a7cd81350\">MessageId</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacf9d9f92bdc917a32c2eb0af497c736b\">MessageIdText</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac1d2ce430f70478822efc3d9583bb44a\">MessageString</a> = 4, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacc7b06b43eb4768443caf8bffb5f487f\">MessageStringText</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa7146f0d4c1236da076af7a842bd64d17\">MessageContext</a> = 6, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac4b1b6e4f6256d65c4ba5c2f191858ec\">MessageContextText</a> = 7, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aabc0289fe1ca5de9e2fc729b46e7fca8b\">Fuzzy</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa2dfeba8e7fbcab62329d0154f97ac4d0\">ProgrammerComment</a> = 9, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa63922f67e65df9af550da3187a0111f5\">Reference</a> = 10, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa8189b733270e2d02ea3986e9bbfbe0d0\">Flags</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa707f11b1e5cce03548d293b57aab2c02\">MessageIdTextEOL</a> = 12, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aadbc353eabc26203474e9cce912c4dc30\">MessageStringTextEOL</a> = 13, \n<a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa879aa27f03b3ef768a58b3cb4a6f2289\">MessageContextTextEOL</a> = 14\n<br />\n }</td></tr>\n<tr class=\"separator:a9ccf3e0f2138e708eb3d4cf05311d53a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:abb698a7598847dea3cec0686c88ba43a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#abb698a7598847dea3cec0686c88ba43a\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:abb698a7598847dea3cec0686c88ba43a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af3d4ae3f76854d01444b2fd4637c9b8e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#af3d4ae3f76854d01444b2fd4637c9b8e\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:af3d4ae3f76854d01444b2fd4637c9b8e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a4d8011ef7e9d6401597d3a4012a809a7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a4d8011ef7e9d6401597d3a4012a809a7\">QsciLexerPO</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a4d8011ef7e9d6401597d3a4012a809a7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adfdd8ebdf8346a62055922065c5c3863\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adfdd8ebdf8346a62055922065c5c3863\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#adfdd8ebdf8346a62055922065c5c3863\">~QsciLexerPO</a> ()</td></tr>\n<tr class=\"separator:adfdd8ebdf8346a62055922065c5c3863\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ace592f4a2d86db6be6c6f363227c00ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ace592f4a2d86db6be6c6f363227c00ee\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#ace592f4a2d86db6be6c6f363227c00ee\">language</a> () const</td></tr>\n<tr class=\"separator:ace592f4a2d86db6be6c6f363227c00ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8eb17be2a61d63249564be87b7d777d8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a8eb17be2a61d63249564be87b7d777d8\">lexer</a> () const</td></tr>\n<tr class=\"separator:a8eb17be2a61d63249564be87b7d777d8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aed4ceee51f10a94071a14371295b4c95\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#aed4ceee51f10a94071a14371295b4c95\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:aed4ceee51f10a94071a14371295b4c95\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:accea86f8532bd5d83dac9c4b771bafa9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"accea86f8532bd5d83dac9c4b771bafa9\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#accea86f8532bd5d83dac9c4b771bafa9\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:accea86f8532bd5d83dac9c4b771bafa9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a911dee848cf18712f663b2cfdc5084f1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a911dee848cf18712f663b2cfdc5084f1\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a911dee848cf18712f663b2cfdc5084f1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a17895e48d655d41d80e4fb4672c2fd72\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a17895e48d655d41d80e4fb4672c2fd72\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a17895e48d655d41d80e4fb4672c2fd72\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a40b4351699e48f7b34faa84c5dbc4704\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a40b4351699e48f7b34faa84c5dbc4704\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a40b4351699e48f7b34faa84c5dbc4704\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ec44d2dfe2f40d6267f3067f66c9a3d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a1ec44d2dfe2f40d6267f3067f66c9a3d\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a1ec44d2dfe2f40d6267f3067f66c9a3d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a8403f1e2f5ea0c5d67c32dd6053317c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#a8403f1e2f5ea0c5d67c32dd6053317c5\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a8403f1e2f5ea0c5d67c32dd6053317c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afebea3d6f2a2cffcb8be859c99c2cede\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPO.html#afebea3d6f2a2cffcb8be859c99c2cede\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:afebea3d6f2a2cffcb8be859c99c2cede\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerPO.html\" title=\"The QsciLexerPO class encapsulates the Scintilla PO lexer.\">QsciLexerPO</a> class encapsulates the Scintilla PO lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a9ccf3e0f2138e708eb3d4cf05311d53a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9ccf3e0f2138e708eb3d4cf05311d53a\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the PO lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aad31b6cbc7b7bd69b346df826e27efda2\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa58059f59ed8abfc84fff35f626f36dff\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aafa4943bd9ba4521382fda76a7cd81350\"></a>MessageId&#160;</td><td class=\"fielddoc\"><p>A message identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aacf9d9f92bdc917a32c2eb0af497c736b\"></a>MessageIdText&#160;</td><td class=\"fielddoc\"><p>The text of a message identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aac1d2ce430f70478822efc3d9583bb44a\"></a>MessageString&#160;</td><td class=\"fielddoc\"><p>A message string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aacc7b06b43eb4768443caf8bffb5f487f\"></a>MessageStringText&#160;</td><td class=\"fielddoc\"><p>The text of a message string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa7146f0d4c1236da076af7a842bd64d17\"></a>MessageContext&#160;</td><td class=\"fielddoc\"><p>A message context. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aac4b1b6e4f6256d65c4ba5c2f191858ec\"></a>MessageContextText&#160;</td><td class=\"fielddoc\"><p>The text of a message context. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aabc0289fe1ca5de9e2fc729b46e7fca8b\"></a>Fuzzy&#160;</td><td class=\"fielddoc\"><p>The \"fuzzy\" flag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa2dfeba8e7fbcab62329d0154f97ac4d0\"></a>ProgrammerComment&#160;</td><td class=\"fielddoc\"><p>A programmer comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa63922f67e65df9af550da3187a0111f5\"></a>Reference&#160;</td><td class=\"fielddoc\"><p>A reference. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa8189b733270e2d02ea3986e9bbfbe0d0\"></a>Flags&#160;</td><td class=\"fielddoc\"><p>A flag. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa707f11b1e5cce03548d293b57aab2c02\"></a>MessageIdTextEOL&#160;</td><td class=\"fielddoc\"><p>A message identifier text end-of-line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aadbc353eabc26203474e9cce912c4dc30\"></a>MessageStringTextEOL&#160;</td><td class=\"fielddoc\"><p>A message string text end-of-line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a9ccf3e0f2138e708eb3d4cf05311d53aa879aa27f03b3ef768a58b3cb4a6f2289\"></a>MessageContextTextEOL&#160;</td><td class=\"fielddoc\"><p>A message context text end-of-line. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a4d8011ef7e9d6401597d3a4012a809a7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4d8011ef7e9d6401597d3a4012a809a7\">&#9670;&nbsp;</a></span>QsciLexerPO()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerPO::QsciLexerPO </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerPO.html\" title=\"The QsciLexerPO class encapsulates the Scintilla PO lexer.\">QsciLexerPO</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a8eb17be2a61d63249564be87b7d777d8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8eb17be2a61d63249564be87b7d777d8\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPO::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aed4ceee51f10a94071a14371295b4c95\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aed4ceee51f10a94071a14371295b4c95\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPO::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a911dee848cf18712f663b2cfdc5084f1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a911dee848cf18712f663b2cfdc5084f1\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerPO::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a17895e48d655d41d80e4fb4672c2fd72\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a17895e48d655d41d80e4fb4672c2fd72\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPO::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a40b4351699e48f7b34faa84c5dbc4704\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a40b4351699e48f7b34faa84c5dbc4704\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPO::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPO.html#abb698a7598847dea3cec0686c88ba43a\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1ec44d2dfe2f40d6267f3067f66c9a3d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1ec44d2dfe2f40d6267f3067f66c9a3d\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPO::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPO.html#af3d4ae3f76854d01444b2fd4637c9b8e\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abb698a7598847dea3cec0686c88ba43a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abb698a7598847dea3cec0686c88ba43a\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPO::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPO.html#a40b4351699e48f7b34faa84c5dbc4704\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af3d4ae3f76854d01444b2fd4637c9b8e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af3d4ae3f76854d01444b2fd4637c9b8e\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPO::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPO.html#a1ec44d2dfe2f40d6267f3067f66c9a3d\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8403f1e2f5ea0c5d67c32dd6053317c5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8403f1e2f5ea0c5d67c32dd6053317c5\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPO::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"afebea3d6f2a2cffcb8be859c99c2cede\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afebea3d6f2a2cffcb8be859c99c2cede\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPO::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPOV-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPOV Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50caef61534d689d00e80efbf631fffd\">BadDirective</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#adfb83ee7ea262a33f775d1e53cf38bec\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ae5ca8ff1353ee7c45d6ce5d6e3fd1f00\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865aa21767d42e17e6f895efa2b180f264bb\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a07b640606eb18fe3f8dfc49bbc91a415\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#ae9fc5faac317ee19add21f8105ff21c5\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a34fa0bd92884cfa29a27c279369797d5\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#af6839d80f9b92eaead072803664a497f\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a5d074b15d624c82c5931ceba7a91a455\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a71cf91642f6879964a061133013a1f51\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a8a608b891ac344348afeedfe8a4ac54b\">Directive</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a9a4ec081c6812ffb3ebc5082c08bf0db\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#ad16788518def261f1ce55b35141642ad\">foldDirectives</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ace12eb00b29be82c86869c131c43bd7f\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ad6fd6fa9940116fcd7f01371d01f530b\">KeywordSet6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a27a6dc70698893bcc922c69dcac4a8fa\">KeywordSet7</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50d0c3a0bb96dd811592c6fa6348b66f\">KeywordSet8</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a02880268227d380ef25a72af2605ef0f\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#af41ceced7bf5eb12aefb77f81240b1eb\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a46e89975e80b8b1ccada568900f784f7\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a02499b3710237cdd660cf1bce89f27bf\">ObjectsCSGAppearance</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865abe05c40246afb65563d5e5013977240d\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865af91917dbaed11a4006fa44e3e27d59c7\">PredefinedFunctions</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a626eefd58e520c62f69320fd00ab2869\">PredefinedIdentifiers</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a4f286fb01fbf71a895a6a6ca2424b9c5\">QsciLexerPOV</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a5a599e7d97b164fec1ee3c21ba167e80\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a4864bf9360ed4748b9ca7a1d5e34e7d8\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a189a9efbe5c2fa07757d67c013229e19\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a831ed1e8074990eafb57d4b9ebaf3d2f\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#aea30a66d5e4e7d0064366eefec03364c\">setFoldDirectives</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a9eae7fcd2dbdb17e1aeaf6eb5853a5b2\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ab4fc4fd29a371a49c534a75dc1bc55ee\">TypesModifiersItems</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865adcae9bdc3f27f2791e7b6a0608fcd6f2\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#aa45fd60cb7c2db5c88b5708f481dd6e2\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a99f8420666e55b23980d05903e7eebc3\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html#a920953f5bde920bb22e853fc5aa6ef8d\">~QsciLexerPOV</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPOV.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerPOV Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerPOV-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPOV Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerpov.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a3ab9a4de5f6885945d3d780142501865\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a07b640606eb18fe3f8dfc49bbc91a415\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ae5ca8ff1353ee7c45d6ce5d6e3fd1f00\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865aa21767d42e17e6f895efa2b180f264bb\">CommentLine</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a46e89975e80b8b1ccada568900f784f7\">Number</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865abe05c40246afb65563d5e5013977240d\">Operator</a> = 4, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ace12eb00b29be82c86869c131c43bd7f\">Identifier</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a9eae7fcd2dbdb17e1aeaf6eb5853a5b2\">String</a> = 6, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865adcae9bdc3f27f2791e7b6a0608fcd6f2\">UnclosedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a8a608b891ac344348afeedfe8a4ac54b\">Directive</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50caef61534d689d00e80efbf631fffd\">BadDirective</a> = 9, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a02499b3710237cdd660cf1bce89f27bf\">ObjectsCSGAppearance</a> = 10, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ab4fc4fd29a371a49c534a75dc1bc55ee\">TypesModifiersItems</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a626eefd58e520c62f69320fd00ab2869\">PredefinedIdentifiers</a> = 12, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865af91917dbaed11a4006fa44e3e27d59c7\">PredefinedFunctions</a> = 13, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ad6fd6fa9940116fcd7f01371d01f530b\">KeywordSet6</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a27a6dc70698893bcc922c69dcac4a8fa\">KeywordSet7</a> = 15, \n<a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50d0c3a0bb96dd811592c6fa6348b66f\">KeywordSet8</a> = 16\n<br />\n }</td></tr>\n<tr class=\"separator:a3ab9a4de5f6885945d3d780142501865\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a189a9efbe5c2fa07757d67c013229e19\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a189a9efbe5c2fa07757d67c013229e19\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a189a9efbe5c2fa07757d67c013229e19\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a831ed1e8074990eafb57d4b9ebaf3d2f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a831ed1e8074990eafb57d4b9ebaf3d2f\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a831ed1e8074990eafb57d4b9ebaf3d2f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea30a66d5e4e7d0064366eefec03364c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#aea30a66d5e4e7d0064366eefec03364c\">setFoldDirectives</a> (bool fold)</td></tr>\n<tr class=\"separator:aea30a66d5e4e7d0064366eefec03364c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a4f286fb01fbf71a895a6a6ca2424b9c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a4f286fb01fbf71a895a6a6ca2424b9c5\">QsciLexerPOV</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a4f286fb01fbf71a895a6a6ca2424b9c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a920953f5bde920bb22e853fc5aa6ef8d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a920953f5bde920bb22e853fc5aa6ef8d\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a920953f5bde920bb22e853fc5aa6ef8d\">~QsciLexerPOV</a> ()</td></tr>\n<tr class=\"separator:a920953f5bde920bb22e853fc5aa6ef8d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a02880268227d380ef25a72af2605ef0f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a02880268227d380ef25a72af2605ef0f\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a02880268227d380ef25a72af2605ef0f\">language</a> () const</td></tr>\n<tr class=\"separator:a02880268227d380ef25a72af2605ef0f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af41ceced7bf5eb12aefb77f81240b1eb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#af41ceced7bf5eb12aefb77f81240b1eb\">lexer</a> () const</td></tr>\n<tr class=\"separator:af41ceced7bf5eb12aefb77f81240b1eb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adfb83ee7ea262a33f775d1e53cf38bec\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adfb83ee7ea262a33f775d1e53cf38bec\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#adfb83ee7ea262a33f775d1e53cf38bec\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:adfb83ee7ea262a33f775d1e53cf38bec\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa45fd60cb7c2db5c88b5708f481dd6e2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa45fd60cb7c2db5c88b5708f481dd6e2\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#aa45fd60cb7c2db5c88b5708f481dd6e2\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aa45fd60cb7c2db5c88b5708f481dd6e2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae9fc5faac317ee19add21f8105ff21c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#ae9fc5faac317ee19add21f8105ff21c5\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ae9fc5faac317ee19add21f8105ff21c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a34fa0bd92884cfa29a27c279369797d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a34fa0bd92884cfa29a27c279369797d5\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a34fa0bd92884cfa29a27c279369797d5\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a34fa0bd92884cfa29a27c279369797d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6839d80f9b92eaead072803664a497f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6839d80f9b92eaead072803664a497f\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#af6839d80f9b92eaead072803664a497f\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:af6839d80f9b92eaead072803664a497f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5d074b15d624c82c5931ceba7a91a455\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a5d074b15d624c82c5931ceba7a91a455\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a5d074b15d624c82c5931ceba7a91a455\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6b21e4498723f3a01fe468e03ebe04f4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a6b21e4498723f3a01fe468e03ebe04f4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a71cf91642f6879964a061133013a1f51\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a71cf91642f6879964a061133013a1f51\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a71cf91642f6879964a061133013a1f51\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4864bf9360ed4748b9ca7a1d5e34e7d8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a4864bf9360ed4748b9ca7a1d5e34e7d8\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a4864bf9360ed4748b9ca7a1d5e34e7d8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7a08d9dcb4935d7e2c99696bdcfd8e7a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a7a08d9dcb4935d7e2c99696bdcfd8e7a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9a4ec081c6812ffb3ebc5082c08bf0db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a9a4ec081c6812ffb3ebc5082c08bf0db\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a9a4ec081c6812ffb3ebc5082c08bf0db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad16788518def261f1ce55b35141642ad\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#ad16788518def261f1ce55b35141642ad\">foldDirectives</a> () const</td></tr>\n<tr class=\"separator:ad16788518def261f1ce55b35141642ad\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a5a599e7d97b164fec1ee3c21ba167e80\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a5a599e7d97b164fec1ee3c21ba167e80\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a5a599e7d97b164fec1ee3c21ba167e80\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a99f8420666e55b23980d05903e7eebc3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPOV.html#a99f8420666e55b23980d05903e7eebc3\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a99f8420666e55b23980d05903e7eebc3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerPOV.html\" title=\"The QsciLexerPOV class encapsulates the Scintilla POV lexer.\">QsciLexerPOV</a> class encapsulates the Scintilla POV lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a3ab9a4de5f6885945d3d780142501865\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3ab9a4de5f6885945d3d780142501865\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the POV lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a07b640606eb18fe3f8dfc49bbc91a415\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865ae5ca8ff1353ee7c45d6ce5d6e3fd1f00\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865aa21767d42e17e6f895efa2b180f264bb\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a46e89975e80b8b1ccada568900f784f7\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865abe05c40246afb65563d5e5013977240d\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865ace12eb00b29be82c86869c131c43bd7f\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a9eae7fcd2dbdb17e1aeaf6eb5853a5b2\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865adcae9bdc3f27f2791e7b6a0608fcd6f2\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a8a608b891ac344348afeedfe8a4ac54b\"></a>Directive&#160;</td><td class=\"fielddoc\"><p>A directive. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a50caef61534d689d00e80efbf631fffd\"></a>BadDirective&#160;</td><td class=\"fielddoc\"><p>A bad directive. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a02499b3710237cdd660cf1bce89f27bf\"></a>ObjectsCSGAppearance&#160;</td><td class=\"fielddoc\"><p>Objects, CSG and appearance. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865ab4fc4fd29a371a49c534a75dc1bc55ee\"></a>TypesModifiersItems&#160;</td><td class=\"fielddoc\"><p>Types, modifiers and items. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a626eefd58e520c62f69320fd00ab2869\"></a>PredefinedIdentifiers&#160;</td><td class=\"fielddoc\"><p>Predefined identifiers. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865af91917dbaed11a4006fa44e3e27d59c7\"></a>PredefinedFunctions&#160;</td><td class=\"fielddoc\"><p>Predefined identifiers. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865ad6fd6fa9940116fcd7f01371d01f530b\"></a>KeywordSet6&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 6. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a27a6dc70698893bcc922c69dcac4a8fa\"></a>KeywordSet7&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 7. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3ab9a4de5f6885945d3d780142501865a50d0c3a0bb96dd811592c6fa6348b66f\"></a>KeywordSet8&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 8. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">keywords()</a> to make use of this style. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a4f286fb01fbf71a895a6a6ca2424b9c5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4f286fb01fbf71a895a6a6ca2424b9c5\">&#9670;&nbsp;</a></span>QsciLexerPOV()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerPOV::QsciLexerPOV </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerPOV.html\" title=\"The QsciLexerPOV class encapsulates the Scintilla POV lexer.\">QsciLexerPOV</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"af41ceced7bf5eb12aefb77f81240b1eb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af41ceced7bf5eb12aefb77f81240b1eb\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPOV::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ae9fc5faac317ee19add21f8105ff21c5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae9fc5faac317ee19add21f8105ff21c5\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPOV::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#a5d074b15d624c82c5931ceba7a91a455\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5d074b15d624c82c5931ceba7a91a455\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5d074b15d624c82c5931ceba7a91a455\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPOV::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#ae9fc5faac317ee19add21f8105ff21c5\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a6b21e4498723f3a01fe468e03ebe04f4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6b21e4498723f3a01fe468e03ebe04f4\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPOV::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a71cf91642f6879964a061133013a1f51\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a71cf91642f6879964a061133013a1f51\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerPOV::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a4864bf9360ed4748b9ca7a1d5e34e7d8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4864bf9360ed4748b9ca7a1d5e34e7d8\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPOV::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7a08d9dcb4935d7e2c99696bdcfd8e7a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPOV::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#a189a9efbe5c2fa07757d67c013229e19\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9a4ec081c6812ffb3ebc5082c08bf0db\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9a4ec081c6812ffb3ebc5082c08bf0db\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPOV::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#a831ed1e8074990eafb57d4b9ebaf3d2f\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad16788518def261f1ce55b35141642ad\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad16788518def261f1ce55b35141642ad\">&#9670;&nbsp;</a></span>foldDirectives()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPOV::foldDirectives </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if directives can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#aea30a66d5e4e7d0064366eefec03364c\">setFoldDirectives()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a189a9efbe5c2fa07757d67c013229e19\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a189a9efbe5c2fa07757d67c013229e19\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPOV::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a831ed1e8074990eafb57d4b9ebaf3d2f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a831ed1e8074990eafb57d4b9ebaf3d2f\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPOV::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#a9a4ec081c6812ffb3ebc5082c08bf0db\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aea30a66d5e4e7d0064366eefec03364c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aea30a66d5e4e7d0064366eefec03364c\">&#9670;&nbsp;</a></span>setFoldDirectives</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPOV::setFoldDirectives </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then directives can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPOV.html#ad16788518def261f1ce55b35141642ad\">foldDirectives()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5a599e7d97b164fec1ee3c21ba167e80\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5a599e7d97b164fec1ee3c21ba167e80\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPOV::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a99f8420666e55b23980d05903e7eebc3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a99f8420666e55b23980d05903e7eebc3\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPOV::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPascal-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPascal Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa03866519c0b3f2113793dead5db53daa\">Asm</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#aa28fa3e32d5d4a4efccdad6655fb28c8\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9914377426e5e464f6d93ce2b64423a0\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a68d8b422b0d733592cc896086ca23652\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#abe045873399199ba05d26e94c0e28aae\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a4bd5b007424a8e88db37a326c0f154b5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae68a19ab0843b318915c86f7d353590c\">Character</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab48837000308dc11499d7e96f302db6a\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab4771b618f3f481962bc73d7d1e63cc5\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfabd390815063a649b2cab3f5da6d4b113\">CommentParenthesis</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa71c490d79223177530ef9415edf52747\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#ad09e8331b90feeab761f845ac80e0b6d\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a45679bbf510fa7e0b264eb9654183f16\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9c18ede5b5271ee1885b38083271aa9e\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a1a5b06231766e0f9a7364606a991c879\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#ab47735b5b8b7961044bb9adf111c06bc\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a30d1fae97aaef0b3fafab8e790caf130\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#ae88783c3de2f0c4a0129e5bec77cc5ca\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#adae268febf025354165c88afa2414c73\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa12bdf1e4458d0e5aa6ba031eee1c81b2\">HexNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa51dbc500bd8cc6a05ca0a04e9220e9b8\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa0df50778af3ef8ecbd584fca00d5337a\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9b6f6a462314471262e5f29057839b34\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a072c10d35abc0e56e09806eeb78ab66f\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#aebc02afb8158d445c4369efa287cc2ac\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfac3c433f5759c8996553c5e203077fe0d\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae83775614e9f03b1bb41d78023f0121a\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfacfd2039caa846a92af36182615b36777\">PreProcessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa414d215a01c3d205a300976cf7f81556\">PreProcessorParenthesis</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9688ce1d302666e492900d3cdfcbbaab\">QsciLexerPascal</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a92cb96a2f9d373ed5a91546c42ec0905\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a05d880fd1451f6a757fd21a7bd43a358\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a2d183c40c276dadd3bbb994b0c0f26ce\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a85c009c5ccf84fc64726bb2c3b11bdec\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a64f021f45d10f2cfca72fda0c1d28e1f\">setSmartHighlighting</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae325b4d8dbeeb693c7b76b746ee81e81\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a71fd025ad904aa51a6127f43099805ad\">smartHighlighting</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa19098093aa64ac0fdca24cacb30983cf\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html#a6ec94de07f31c33a6b08c297259e6b01\">~QsciLexerPascal</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPascal.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerPascal Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerPascal-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPascal Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerpascal.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a0c7562ea6d7a9d8a794daf47228c22df\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa71c490d79223177530ef9415edf52747\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa51dbc500bd8cc6a05ca0a04e9220e9b8\">Identifier</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab48837000308dc11499d7e96f302db6a\">Comment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfabd390815063a649b2cab3f5da6d4b113\">CommentParenthesis</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab4771b618f3f481962bc73d7d1e63cc5\">CommentLine</a> = 4, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfacfd2039caa846a92af36182615b36777\">PreProcessor</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa414d215a01c3d205a300976cf7f81556\">PreProcessorParenthesis</a> = 6, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfac3c433f5759c8996553c5e203077fe0d\">Number</a> = 7, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa12bdf1e4458d0e5aa6ba031eee1c81b2\">HexNumber</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa0df50778af3ef8ecbd584fca00d5337a\">Keyword</a> = 9, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae325b4d8dbeeb693c7b76b746ee81e81\">SingleQuotedString</a> = 10, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa19098093aa64ac0fdca24cacb30983cf\">UnclosedString</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae68a19ab0843b318915c86f7d353590c\">Character</a> = 12, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae83775614e9f03b1bb41d78023f0121a\">Operator</a> = 13, \n<a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa03866519c0b3f2113793dead5db53daa\">Asm</a> = 14\n<br />\n }</td></tr>\n<tr class=\"separator:a0c7562ea6d7a9d8a794daf47228c22df\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a05d880fd1451f6a757fd21a7bd43a358\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a05d880fd1451f6a757fd21a7bd43a358\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a05d880fd1451f6a757fd21a7bd43a358\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2d183c40c276dadd3bbb994b0c0f26ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a2d183c40c276dadd3bbb994b0c0f26ce\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a2d183c40c276dadd3bbb994b0c0f26ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a85c009c5ccf84fc64726bb2c3b11bdec\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a85c009c5ccf84fc64726bb2c3b11bdec\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:a85c009c5ccf84fc64726bb2c3b11bdec\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a9688ce1d302666e492900d3cdfcbbaab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9688ce1d302666e492900d3cdfcbbaab\">QsciLexerPascal</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a9688ce1d302666e492900d3cdfcbbaab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6ec94de07f31c33a6b08c297259e6b01\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6ec94de07f31c33a6b08c297259e6b01\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a6ec94de07f31c33a6b08c297259e6b01\">~QsciLexerPascal</a> ()</td></tr>\n<tr class=\"separator:a6ec94de07f31c33a6b08c297259e6b01\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a072c10d35abc0e56e09806eeb78ab66f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a072c10d35abc0e56e09806eeb78ab66f\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a072c10d35abc0e56e09806eeb78ab66f\">language</a> () const</td></tr>\n<tr class=\"separator:a072c10d35abc0e56e09806eeb78ab66f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aebc02afb8158d445c4369efa287cc2ac\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#aebc02afb8158d445c4369efa287cc2ac\">lexer</a> () const</td></tr>\n<tr class=\"separator:aebc02afb8158d445c4369efa287cc2ac\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa28fa3e32d5d4a4efccdad6655fb28c8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#aa28fa3e32d5d4a4efccdad6655fb28c8\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:aa28fa3e32d5d4a4efccdad6655fb28c8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9914377426e5e464f6d93ce2b64423a0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9914377426e5e464f6d93ce2b64423a0\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a9914377426e5e464f6d93ce2b64423a0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a68d8b422b0d733592cc896086ca23652\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a68d8b422b0d733592cc896086ca23652\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a68d8b422b0d733592cc896086ca23652\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abe045873399199ba05d26e94c0e28aae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#abe045873399199ba05d26e94c0e28aae\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abe045873399199ba05d26e94c0e28aae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4bd5b007424a8e88db37a326c0f154b5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4bd5b007424a8e88db37a326c0f154b5\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a4bd5b007424a8e88db37a326c0f154b5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a4bd5b007424a8e88db37a326c0f154b5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad09e8331b90feeab761f845ac80e0b6d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#ad09e8331b90feeab761f845ac80e0b6d\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:ad09e8331b90feeab761f845ac80e0b6d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a45679bbf510fa7e0b264eb9654183f16\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a45679bbf510fa7e0b264eb9654183f16\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a45679bbf510fa7e0b264eb9654183f16\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a45679bbf510fa7e0b264eb9654183f16\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9c18ede5b5271ee1885b38083271aa9e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9c18ede5b5271ee1885b38083271aa9e\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9c18ede5b5271ee1885b38083271aa9e\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a9c18ede5b5271ee1885b38083271aa9e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1a5b06231766e0f9a7364606a991c879\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a1a5b06231766e0f9a7364606a991c879\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a1a5b06231766e0f9a7364606a991c879\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9b6f6a462314471262e5f29057839b34\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a9b6f6a462314471262e5f29057839b34\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a9b6f6a462314471262e5f29057839b34\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab47735b5b8b7961044bb9adf111c06bc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#ab47735b5b8b7961044bb9adf111c06bc\">description</a> (int style) const</td></tr>\n<tr class=\"separator:ab47735b5b8b7961044bb9adf111c06bc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a92cb96a2f9d373ed5a91546c42ec0905\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a92cb96a2f9d373ed5a91546c42ec0905\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a92cb96a2f9d373ed5a91546c42ec0905\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a30d1fae97aaef0b3fafab8e790caf130\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a30d1fae97aaef0b3fafab8e790caf130\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a30d1fae97aaef0b3fafab8e790caf130\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae88783c3de2f0c4a0129e5bec77cc5ca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#ae88783c3de2f0c4a0129e5bec77cc5ca\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ae88783c3de2f0c4a0129e5bec77cc5ca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adae268febf025354165c88afa2414c73\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#adae268febf025354165c88afa2414c73\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:adae268febf025354165c88afa2414c73\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a64f021f45d10f2cfca72fda0c1d28e1f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a64f021f45d10f2cfca72fda0c1d28e1f\">setSmartHighlighting</a> (bool enabled)</td></tr>\n<tr class=\"separator:a64f021f45d10f2cfca72fda0c1d28e1f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a71fd025ad904aa51a6127f43099805ad\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a71fd025ad904aa51a6127f43099805ad\">smartHighlighting</a> () const</td></tr>\n<tr class=\"separator:a71fd025ad904aa51a6127f43099805ad\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a2a2beba3b365e2e0e1f21109079f0ffd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a2a2beba3b365e2e0e1f21109079f0ffd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a5b21a2ba8b43a2f6b3747af365156f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a6a5b21a2ba8b43a2f6b3747af365156f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerPascal.html\" title=\"The QsciLexerPascal class encapsulates the Scintilla Pascal lexer.\">QsciLexerPascal</a> class encapsulates the Scintilla Pascal lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a0c7562ea6d7a9d8a794daf47228c22df\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0c7562ea6d7a9d8a794daf47228c22df\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the C++ lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa71c490d79223177530ef9415edf52747\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa51dbc500bd8cc6a05ca0a04e9220e9b8\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfab48837000308dc11499d7e96f302db6a\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A '{ ... }' style comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfabd390815063a649b2cab3f5da6d4b113\"></a>CommentParenthesis&#160;</td><td class=\"fielddoc\"><p>A '(* ... *)' style comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfab4771b618f3f481962bc73d7d1e63cc5\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfacfd2039caa846a92af36182615b36777\"></a>PreProcessor&#160;</td><td class=\"fielddoc\"><p>A '{$ ... }' style pre-processor block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa414d215a01c3d205a300976cf7f81556\"></a>PreProcessorParenthesis&#160;</td><td class=\"fielddoc\"><p>A '(*$ ... *)' style pre-processor block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfac3c433f5759c8996553c5e203077fe0d\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa12bdf1e4458d0e5aa6ba031eee1c81b2\"></a>HexNumber&#160;</td><td class=\"fielddoc\"><p>A hexadecimal number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa0df50778af3ef8ecbd584fca00d5337a\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfae325b4d8dbeeb693c7b76b746ee81e81\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa19098093aa64ac0fdca24cacb30983cf\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfae68a19ab0843b318915c86f7d353590c\"></a>Character&#160;</td><td class=\"fielddoc\"><p>A character. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfae83775614e9f03b1bb41d78023f0121a\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a0c7562ea6d7a9d8a794daf47228c22dfa03866519c0b3f2113793dead5db53daa\"></a>Asm&#160;</td><td class=\"fielddoc\"><p>Inline Asm. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a9688ce1d302666e492900d3cdfcbbaab\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9688ce1d302666e492900d3cdfcbbaab\">&#9670;&nbsp;</a></span>QsciLexerPascal()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerPascal::QsciLexerPascal </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerPascal.html\" title=\"The QsciLexerPascal class encapsulates the Scintilla Pascal lexer.\">QsciLexerPascal</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"aebc02afb8158d445c4369efa287cc2ac\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aebc02afb8158d445c4369efa287cc2ac\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPascal::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa28fa3e32d5d4a4efccdad6655fb28c8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa28fa3e32d5d4a4efccdad6655fb28c8\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerPascal::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9914377426e5e464f6d93ce2b64423a0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9914377426e5e464f6d93ce2b64423a0\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPascal::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a68d8b422b0d733592cc896086ca23652\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a68d8b422b0d733592cc896086ca23652\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPascal::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abe045873399199ba05d26e94c0e28aae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abe045873399199ba05d26e94c0e28aae\">&#9670;&nbsp;</a></span>blockStartKeyword()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPascal::blockStartKeyword </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ad09e8331b90feeab761f845ac80e0b6d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad09e8331b90feeab761f845ac80e0b6d\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPascal::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a1a5b06231766e0f9a7364606a991c879\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a1a5b06231766e0f9a7364606a991c879\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1a5b06231766e0f9a7364606a991c879\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPascal::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#ad09e8331b90feeab761f845ac80e0b6d\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9b6f6a462314471262e5f29057839b34\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9b6f6a462314471262e5f29057839b34\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPascal::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ab47735b5b8b7961044bb9adf111c06bc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab47735b5b8b7961044bb9adf111c06bc\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerPascal::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a92cb96a2f9d373ed5a91546c42ec0905\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a92cb96a2f9d373ed5a91546c42ec0905\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPascal::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a30d1fae97aaef0b3fafab8e790caf130\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a30d1fae97aaef0b3fafab8e790caf130\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPascal::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a05d880fd1451f6a757fd21a7bd43a358\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae88783c3de2f0c4a0129e5bec77cc5ca\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae88783c3de2f0c4a0129e5bec77cc5ca\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPascal::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a2d183c40c276dadd3bbb994b0c0f26ce\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adae268febf025354165c88afa2414c73\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adae268febf025354165c88afa2414c73\">&#9670;&nbsp;</a></span>foldPreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPascal::foldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if preprocessor blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a85c009c5ccf84fc64726bb2c3b11bdec\">setFoldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a64f021f45d10f2cfca72fda0c1d28e1f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a64f021f45d10f2cfca72fda0c1d28e1f\">&#9670;&nbsp;</a></span>setSmartHighlighting()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPascal::setSmartHighlighting </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> is true then some keywords will only be highlighted in an appropriate context (similar to how the Delphi IDE works). The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a71fd025ad904aa51a6127f43099805ad\">smartHighlighting()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a71fd025ad904aa51a6127f43099805ad\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a71fd025ad904aa51a6127f43099805ad\">&#9670;&nbsp;</a></span>smartHighlighting()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPascal::smartHighlighting </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if some keywords will only be highlighted in an appropriate context (similar to how the Delphi IDE works).</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a64f021f45d10f2cfca72fda0c1d28e1f\">setSmartHighlighting()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a05d880fd1451f6a757fd21a7bd43a358\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a05d880fd1451f6a757fd21a7bd43a358\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPascal::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a30d1fae97aaef0b3fafab8e790caf130\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2d183c40c276dadd3bbb994b0c0f26ce\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2d183c40c276dadd3bbb994b0c0f26ce\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPascal::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#ae88783c3de2f0c4a0129e5bec77cc5ca\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a85c009c5ccf84fc64726bb2c3b11bdec\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a85c009c5ccf84fc64726bb2c3b11bdec\">&#9670;&nbsp;</a></span>setFoldPreprocessor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPascal::setFoldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then preprocessor blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#adae268febf025354165c88afa2414c73\">foldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2a2beba3b365e2e0e1f21109079f0ffd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2a2beba3b365e2e0e1f21109079f0ffd\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPascal::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a6a5b21a2ba8b43a2f6b3747af365156f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6a5b21a2ba8b43a2f6b3747af365156f\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPascal::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPerl-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPerl Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aebe8e5c6b96783494e61c8cd03975570\">Array</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a0e4df63d7d5714b1bdb71c1975f7f99c\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa75c7ba5ad98b870f0e303c94f0b9375\">BacktickHereDocument</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7fb5b3d78cf402664941ceee7a17d758\">BacktickHereDocumentVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a53d80aaaa00ca3d47433a05bc93297c8\">Backticks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1042900000e9c99d0a52724d5c838c94\">BackticksVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a42133f1b4127c78674f89e3209236a18\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#ae33c3f0e337cfe173c61ea86c5cd3591\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a3e90db838034f7404e65b2e284403604\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af2c29ccb75997807734f024b49998b6a\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8c119f4794e3dab23aa2a4f739a1e81f\">DataSection</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af5df69c0ed6d8c42bc39e717889aea78\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a3ec3d302e4ad33ca360d3edbe14ac561\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a242188212df611073f78d1eff326f5d5\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a1deaafed565aeae806e4ea6083baa186\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#afa54795b596b6bc9f3664865b9d76484\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a386c817d87735b2dd347735cb264d548\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a0a82588ab552f48b9caeb05db6d9428f\">DoubleQuotedHereDocument</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae9c623b599443071c8bb547279c7dd64\">DoubleQuotedHereDocumentVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa14ec9d32c1fa5bbf171a3fb45473bcf\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a87d5e90f82615a99e0af4ccc4875dc65\">DoubleQuotedStringVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a99a1c9873cd83852da55023a2420f5a8\">Error</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a696abf6da5415e772e5ade8752eac3b2\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#ae9881257bbcc887cdbe21e74bbb8ea65\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a0c3e05e1bbdc4614fc7e76e508178592\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a5ea4eb1e65b2cee23a09f143074790b4\">foldPackages</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#ab58e1e9d037d280fc74792ace83936d4\">foldPODBlocks</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adbc0e3fbe443a92d03f444a1f66b1d5c\">FormatBody</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af1b0ae17967c8b101eea3d9e4cc173cd\">FormatIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aaa260a4964100f84e24f3797150379ac\">Hash</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1735d83cde8be27eda10acb6f7e2ed98\">HereDocumentDelimiter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65e52532e4624b84e6f3cd89b37a48b8\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae431c41ecbd64bf0f773f25b68a7973a\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a57958c564d4d3127e7ee6148d232bd4b\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a16fb82e08452dc260bdda610817c79ea\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#aae9e42584c6466a8b859d56218eaf28c\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65ab3c30be465884145bee390d038a8f\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2c43ed725d5edb523abb214f6867a5f4\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a64e30800729f8ef4d273130a90b62704\">POD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aecb9bf65704610bce3bf8dbfdbce40a4\">PODVerbatim</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a36359d3e1cb6037b561f95fccf16881e\">QsciLexerPerl</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4eb6e937e8713d00368651dbeada3b74\">QuotedStringQ</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a93f9be9adc1bcc1289155cca445eb860\">QuotedStringQQ</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3a4919b9d5dfefc405bd70d8f6ce780a\">QuotedStringQQVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7931aea4826aceb60ba2aab3fd7b5884\">QuotedStringQR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a5dd29ed0e2532a609155a9f2279cda6b\">QuotedStringQRVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ad9cf54861772d7a5cf696c4bb4be04cd\">QuotedStringQW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a500ce87c3501f0e8d86db52eefdc7b8e\">QuotedStringQX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4bd8b77cc8ca06d77281c7c146b7f9be\">QuotedStringQXVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a47884fcfd8d2b0ab7b8d277cb0325c17\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#ac9868e2d0efbf3602a22d8bdac12a119\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1ba94b26ebb6f719bfec1e2fc5c180a7\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a52496f8867a7285b205ef55fb014d84e\">RegexVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8fe3c7834c771123699097248a2a97fa\">Scalar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a14705cac9643949facd57641e0892fb0\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a85aa8e72d81818a7edea1867362db16a\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a269b1c3c788ae863939fd8b1749a5abf\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a5e2cdbcaa57b02f18d65aea89d2faa54\">setFoldPackages</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#af0ee6abab37e283e68f527c597c50877\">setFoldPODBlocks</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a73e0d55813d2d21a060a9e1e59360506\">SingleQuotedHereDocument</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2cf9c05452a47bcde418b4cf691bbcd1\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa77b69ca726faae33472a1ff018d54af\">SubroutinePrototype</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3edcaf1beac4277212faf8f30c8271b9\">Substitution</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7c0194dff17baffd0e9592b581944fda\">SubstitutionVar</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adfaa14e55f48f7774f991a73f8a7fadc\">SymbolTable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a84d882c68a32f9eefcfc6ad3ff953c6e\">Translation</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a5ffd80ff37350acb6fe03f798f34a912\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a16841e0262d8200d5ed3a85099d45b37\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html#a6f87282ec40dbc5e752dc0bc0aec87a0\">~QsciLexerPerl</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPerl.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerPerl Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerPerl-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPerl Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerperl.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a69516e9f701fceec0231cc3050b41da9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af5df69c0ed6d8c42bc39e717889aea78\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a99a1c9873cd83852da55023a2420f5a8\">Error</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af2c29ccb75997807734f024b49998b6a\">Comment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a64e30800729f8ef4d273130a90b62704\">POD</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65ab3c30be465884145bee390d038a8f\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae431c41ecbd64bf0f773f25b68a7973a\">Keyword</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa14ec9d32c1fa5bbf171a3fb45473bcf\">DoubleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2cf9c05452a47bcde418b4cf691bbcd1\">SingleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2c43ed725d5edb523abb214f6867a5f4\">Operator</a> = 10, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65e52532e4624b84e6f3cd89b37a48b8\">Identifier</a> = 11, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8fe3c7834c771123699097248a2a97fa\">Scalar</a> = 12, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aebe8e5c6b96783494e61c8cd03975570\">Array</a> = 13, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aaa260a4964100f84e24f3797150379ac\">Hash</a> = 14, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adfaa14e55f48f7774f991a73f8a7fadc\">SymbolTable</a> = 15, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1ba94b26ebb6f719bfec1e2fc5c180a7\">Regex</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3edcaf1beac4277212faf8f30c8271b9\">Substitution</a> = 18, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a53d80aaaa00ca3d47433a05bc93297c8\">Backticks</a> = 20, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8c119f4794e3dab23aa2a4f739a1e81f\">DataSection</a> = 21, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1735d83cde8be27eda10acb6f7e2ed98\">HereDocumentDelimiter</a> = 22, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a73e0d55813d2d21a060a9e1e59360506\">SingleQuotedHereDocument</a> = 23, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a0a82588ab552f48b9caeb05db6d9428f\">DoubleQuotedHereDocument</a> = 24, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa75c7ba5ad98b870f0e303c94f0b9375\">BacktickHereDocument</a> = 25, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4eb6e937e8713d00368651dbeada3b74\">QuotedStringQ</a> = 26, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a93f9be9adc1bcc1289155cca445eb860\">QuotedStringQQ</a> = 27, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a500ce87c3501f0e8d86db52eefdc7b8e\">QuotedStringQX</a> = 28, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7931aea4826aceb60ba2aab3fd7b5884\">QuotedStringQR</a> = 29, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ad9cf54861772d7a5cf696c4bb4be04cd\">QuotedStringQW</a> = 30, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aecb9bf65704610bce3bf8dbfdbce40a4\">PODVerbatim</a> = 31, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa77b69ca726faae33472a1ff018d54af\">SubroutinePrototype</a> = 40, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af1b0ae17967c8b101eea3d9e4cc173cd\">FormatIdentifier</a> = 41, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adbc0e3fbe443a92d03f444a1f66b1d5c\">FormatBody</a> = 42, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a87d5e90f82615a99e0af4ccc4875dc65\">DoubleQuotedStringVar</a> = 43, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a84d882c68a32f9eefcfc6ad3ff953c6e\">Translation</a> = 44, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a52496f8867a7285b205ef55fb014d84e\">RegexVar</a> = 54, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7c0194dff17baffd0e9592b581944fda\">SubstitutionVar</a> = 55, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1042900000e9c99d0a52724d5c838c94\">BackticksVar</a> = 57, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae9c623b599443071c8bb547279c7dd64\">DoubleQuotedHereDocumentVar</a> = 61, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7fb5b3d78cf402664941ceee7a17d758\">BacktickHereDocumentVar</a> = 62, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3a4919b9d5dfefc405bd70d8f6ce780a\">QuotedStringQQVar</a> = 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4bd8b77cc8ca06d77281c7c146b7f9be\">QuotedStringQXVar</a> = 65, \n<a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a5dd29ed0e2532a609155a9f2279cda6b\">QuotedStringQRVar</a> = 66\n<br />\n }</td></tr>\n<tr class=\"separator:a69516e9f701fceec0231cc3050b41da9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a85aa8e72d81818a7edea1867362db16a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a85aa8e72d81818a7edea1867362db16a\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a85aa8e72d81818a7edea1867362db16a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a269b1c3c788ae863939fd8b1749a5abf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a269b1c3c788ae863939fd8b1749a5abf\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a269b1c3c788ae863939fd8b1749a5abf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a36359d3e1cb6037b561f95fccf16881e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a36359d3e1cb6037b561f95fccf16881e\">QsciLexerPerl</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a36359d3e1cb6037b561f95fccf16881e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6f87282ec40dbc5e752dc0bc0aec87a0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6f87282ec40dbc5e752dc0bc0aec87a0\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a6f87282ec40dbc5e752dc0bc0aec87a0\">~QsciLexerPerl</a> ()</td></tr>\n<tr class=\"separator:a6f87282ec40dbc5e752dc0bc0aec87a0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a16fb82e08452dc260bdda610817c79ea\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a16fb82e08452dc260bdda610817c79ea\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a16fb82e08452dc260bdda610817c79ea\">language</a> () const</td></tr>\n<tr class=\"separator:a16fb82e08452dc260bdda610817c79ea\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae9e42584c6466a8b859d56218eaf28c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#aae9e42584c6466a8b859d56218eaf28c\">lexer</a> () const</td></tr>\n<tr class=\"separator:aae9e42584c6466a8b859d56218eaf28c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4df63d7d5714b1bdb71c1975f7f99c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a0e4df63d7d5714b1bdb71c1975f7f99c\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a0e4df63d7d5714b1bdb71c1975f7f99c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42133f1b4127c78674f89e3209236a18\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a42133f1b4127c78674f89e3209236a18\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a42133f1b4127c78674f89e3209236a18\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae33c3f0e337cfe173c61ea86c5cd3591\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#ae33c3f0e337cfe173c61ea86c5cd3591\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:ae33c3f0e337cfe173c61ea86c5cd3591\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3e90db838034f7404e65b2e284403604\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3e90db838034f7404e65b2e284403604\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a3e90db838034f7404e65b2e284403604\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a3e90db838034f7404e65b2e284403604\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5ffd80ff37350acb6fe03f798f34a912\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5ffd80ff37350acb6fe03f798f34a912\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a5ffd80ff37350acb6fe03f798f34a912\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a5ffd80ff37350acb6fe03f798f34a912\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3ec3d302e4ad33ca360d3edbe14ac561\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a3ec3d302e4ad33ca360d3edbe14ac561\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a3ec3d302e4ad33ca360d3edbe14ac561\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a242188212df611073f78d1eff326f5d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a242188212df611073f78d1eff326f5d5\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a242188212df611073f78d1eff326f5d5\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a242188212df611073f78d1eff326f5d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1deaafed565aeae806e4ea6083baa186\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1deaafed565aeae806e4ea6083baa186\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a1deaafed565aeae806e4ea6083baa186\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a1deaafed565aeae806e4ea6083baa186\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afa54795b596b6bc9f3664865b9d76484\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#afa54795b596b6bc9f3664865b9d76484\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:afa54795b596b6bc9f3664865b9d76484\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a57958c564d4d3127e7ee6148d232bd4b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a57958c564d4d3127e7ee6148d232bd4b\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a57958c564d4d3127e7ee6148d232bd4b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a386c817d87735b2dd347735cb264d548\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a386c817d87735b2dd347735cb264d548\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a386c817d87735b2dd347735cb264d548\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac9868e2d0efbf3602a22d8bdac12a119\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#ac9868e2d0efbf3602a22d8bdac12a119\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ac9868e2d0efbf3602a22d8bdac12a119\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a14705cac9643949facd57641e0892fb0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a14705cac9643949facd57641e0892fb0\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:a14705cac9643949facd57641e0892fb0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a696abf6da5415e772e5ade8752eac3b2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a696abf6da5415e772e5ade8752eac3b2\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:a696abf6da5415e772e5ade8752eac3b2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae9881257bbcc887cdbe21e74bbb8ea65\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#ae9881257bbcc887cdbe21e74bbb8ea65\">foldComments</a> () const</td></tr>\n<tr class=\"separator:ae9881257bbcc887cdbe21e74bbb8ea65\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0c3e05e1bbdc4614fc7e76e508178592\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a0c3e05e1bbdc4614fc7e76e508178592\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a0c3e05e1bbdc4614fc7e76e508178592\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5e2cdbcaa57b02f18d65aea89d2faa54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a5e2cdbcaa57b02f18d65aea89d2faa54\">setFoldPackages</a> (bool fold)</td></tr>\n<tr class=\"separator:a5e2cdbcaa57b02f18d65aea89d2faa54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5ea4eb1e65b2cee23a09f143074790b4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a5ea4eb1e65b2cee23a09f143074790b4\">foldPackages</a> () const</td></tr>\n<tr class=\"separator:a5ea4eb1e65b2cee23a09f143074790b4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0ee6abab37e283e68f527c597c50877\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#af0ee6abab37e283e68f527c597c50877\">setFoldPODBlocks</a> (bool fold)</td></tr>\n<tr class=\"separator:af0ee6abab37e283e68f527c597c50877\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab58e1e9d037d280fc74792ace83936d4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#ab58e1e9d037d280fc74792ace83936d4\">foldPODBlocks</a> () const</td></tr>\n<tr class=\"separator:ab58e1e9d037d280fc74792ace83936d4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a47884fcfd8d2b0ab7b8d277cb0325c17\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a47884fcfd8d2b0ab7b8d277cb0325c17\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a47884fcfd8d2b0ab7b8d277cb0325c17\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a16841e0262d8200d5ed3a85099d45b37\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPerl.html#a16841e0262d8200d5ed3a85099d45b37\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a16841e0262d8200d5ed3a85099d45b37\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerPerl.html\" title=\"The QsciLexerPerl class encapsulates the Scintilla Perl lexer.\">QsciLexerPerl</a> class encapsulates the Scintilla Perl lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a69516e9f701fceec0231cc3050b41da9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a69516e9f701fceec0231cc3050b41da9\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Perl lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9af5df69c0ed6d8c42bc39e717889aea78\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a99a1c9873cd83852da55023a2420f5a8\"></a>Error&#160;</td><td class=\"fielddoc\"><p>An error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9af2c29ccb75997807734f024b49998b6a\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a64e30800729f8ef4d273130a90b62704\"></a>POD&#160;</td><td class=\"fielddoc\"><p>A POD. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a65ab3c30be465884145bee390d038a8f\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9ae431c41ecbd64bf0f773f25b68a7973a\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9aa14ec9d32c1fa5bbf171a3fb45473bcf\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a2cf9c05452a47bcde418b4cf691bbcd1\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a2c43ed725d5edb523abb214f6867a5f4\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a65e52532e4624b84e6f3cd89b37a48b8\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a8fe3c7834c771123699097248a2a97fa\"></a>Scalar&#160;</td><td class=\"fielddoc\"><p>A scalar. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9aebe8e5c6b96783494e61c8cd03975570\"></a>Array&#160;</td><td class=\"fielddoc\"><p>An array. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9aaa260a4964100f84e24f3797150379ac\"></a>Hash&#160;</td><td class=\"fielddoc\"><p>A hash. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9adfaa14e55f48f7774f991a73f8a7fadc\"></a>SymbolTable&#160;</td><td class=\"fielddoc\"><p>A symbol table. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a1ba94b26ebb6f719bfec1e2fc5c180a7\"></a>Regex&#160;</td><td class=\"fielddoc\"><p>A regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a3edcaf1beac4277212faf8f30c8271b9\"></a>Substitution&#160;</td><td class=\"fielddoc\"><p>A substitution. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a53d80aaaa00ca3d47433a05bc93297c8\"></a>Backticks&#160;</td><td class=\"fielddoc\"><p>Backticks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a8c119f4794e3dab23aa2a4f739a1e81f\"></a>DataSection&#160;</td><td class=\"fielddoc\"><p>A data section. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a1735d83cde8be27eda10acb6f7e2ed98\"></a>HereDocumentDelimiter&#160;</td><td class=\"fielddoc\"><p>A here document delimiter. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a73e0d55813d2d21a060a9e1e59360506\"></a>SingleQuotedHereDocument&#160;</td><td class=\"fielddoc\"><p>A single quoted here document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a0a82588ab552f48b9caeb05db6d9428f\"></a>DoubleQuotedHereDocument&#160;</td><td class=\"fielddoc\"><p>A double quoted here document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9aa75c7ba5ad98b870f0e303c94f0b9375\"></a>BacktickHereDocument&#160;</td><td class=\"fielddoc\"><p>A backtick here document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a4eb6e937e8713d00368651dbeada3b74\"></a>QuotedStringQ&#160;</td><td class=\"fielddoc\"><p>A quoted string (q). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a93f9be9adc1bcc1289155cca445eb860\"></a>QuotedStringQQ&#160;</td><td class=\"fielddoc\"><p>A quoted string (qq). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a500ce87c3501f0e8d86db52eefdc7b8e\"></a>QuotedStringQX&#160;</td><td class=\"fielddoc\"><p>A quoted string (qx). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a7931aea4826aceb60ba2aab3fd7b5884\"></a>QuotedStringQR&#160;</td><td class=\"fielddoc\"><p>A quoted string (qr). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9ad9cf54861772d7a5cf696c4bb4be04cd\"></a>QuotedStringQW&#160;</td><td class=\"fielddoc\"><p>A quoted string (qw). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9aecb9bf65704610bce3bf8dbfdbce40a4\"></a>PODVerbatim&#160;</td><td class=\"fielddoc\"><p>A verbatim POD. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9aa77b69ca726faae33472a1ff018d54af\"></a>SubroutinePrototype&#160;</td><td class=\"fielddoc\"><p>A Subroutine prototype. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9af1b0ae17967c8b101eea3d9e4cc173cd\"></a>FormatIdentifier&#160;</td><td class=\"fielddoc\"><p>A format identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9adbc0e3fbe443a92d03f444a1f66b1d5c\"></a>FormatBody&#160;</td><td class=\"fielddoc\"><p>A format body. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a87d5e90f82615a99e0af4ccc4875dc65\"></a>DoubleQuotedStringVar&#160;</td><td class=\"fielddoc\"><p>A double-quoted string (interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a84d882c68a32f9eefcfc6ad3ff953c6e\"></a>Translation&#160;</td><td class=\"fielddoc\"><p>A translation. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a52496f8867a7285b205ef55fb014d84e\"></a>RegexVar&#160;</td><td class=\"fielddoc\"><p>A regular expression (interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a7c0194dff17baffd0e9592b581944fda\"></a>SubstitutionVar&#160;</td><td class=\"fielddoc\"><p>A substitution (interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a1042900000e9c99d0a52724d5c838c94\"></a>BackticksVar&#160;</td><td class=\"fielddoc\"><p>Backticks (interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9ae9c623b599443071c8bb547279c7dd64\"></a>DoubleQuotedHereDocumentVar&#160;</td><td class=\"fielddoc\"><p>A double quoted here document (interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a7fb5b3d78cf402664941ceee7a17d758\"></a>BacktickHereDocumentVar&#160;</td><td class=\"fielddoc\"><p>A backtick here document (interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a3a4919b9d5dfefc405bd70d8f6ce780a\"></a>QuotedStringQQVar&#160;</td><td class=\"fielddoc\"><p>A quoted string (qq, interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a4bd8b77cc8ca06d77281c7c146b7f9be\"></a>QuotedStringQXVar&#160;</td><td class=\"fielddoc\"><p>A quoted string (qx, interpolated variable). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a69516e9f701fceec0231cc3050b41da9a5dd29ed0e2532a609155a9f2279cda6b\"></a>QuotedStringQRVar&#160;</td><td class=\"fielddoc\"><p>A quoted string (qr, interpolated variable). </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a36359d3e1cb6037b561f95fccf16881e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a36359d3e1cb6037b561f95fccf16881e\">&#9670;&nbsp;</a></span>QsciLexerPerl()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerPerl::QsciLexerPerl </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerPerl.html\" title=\"The QsciLexerPerl class encapsulates the Scintilla Perl lexer.\">QsciLexerPerl</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"aae9e42584c6466a8b859d56218eaf28c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aae9e42584c6466a8b859d56218eaf28c\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPerl::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0e4df63d7d5714b1bdb71c1975f7f99c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e4df63d7d5714b1bdb71c1975f7f99c\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerPerl::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a42133f1b4127c78674f89e3209236a18\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a42133f1b4127c78674f89e3209236a18\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPerl::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ae33c3f0e337cfe173c61ea86c5cd3591\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae33c3f0e337cfe173c61ea86c5cd3591\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPerl::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a3ec3d302e4ad33ca360d3edbe14ac561\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3ec3d302e4ad33ca360d3edbe14ac561\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPerl::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#afa54795b596b6bc9f3664865b9d76484\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"afa54795b596b6bc9f3664865b9d76484\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afa54795b596b6bc9f3664865b9d76484\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPerl::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a3ec3d302e4ad33ca360d3edbe14ac561\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a57958c564d4d3127e7ee6148d232bd4b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a57958c564d4d3127e7ee6148d232bd4b\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPerl::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a386c817d87735b2dd347735cb264d548\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a386c817d87735b2dd347735cb264d548\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerPerl::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac9868e2d0efbf3602a22d8bdac12a119\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac9868e2d0efbf3602a22d8bdac12a119\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPerl::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a14705cac9643949facd57641e0892fb0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a14705cac9643949facd57641e0892fb0\">&#9670;&nbsp;</a></span>setFoldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPerl::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then \"} else {\" lines can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a696abf6da5415e772e5ade8752eac3b2\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a696abf6da5415e772e5ade8752eac3b2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a696abf6da5415e772e5ade8752eac3b2\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if \"} else {\" lines can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a14705cac9643949facd57641e0892fb0\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae9881257bbcc887cdbe21e74bbb8ea65\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae9881257bbcc887cdbe21e74bbb8ea65\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a85aa8e72d81818a7edea1867362db16a\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0c3e05e1bbdc4614fc7e76e508178592\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0c3e05e1bbdc4614fc7e76e508178592\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a269b1c3c788ae863939fd8b1749a5abf\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5e2cdbcaa57b02f18d65aea89d2faa54\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5e2cdbcaa57b02f18d65aea89d2faa54\">&#9670;&nbsp;</a></span>setFoldPackages()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPerl::setFoldPackages </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then packages can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a5ea4eb1e65b2cee23a09f143074790b4\">foldPackages()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5ea4eb1e65b2cee23a09f143074790b4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5ea4eb1e65b2cee23a09f143074790b4\">&#9670;&nbsp;</a></span>foldPackages()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::foldPackages </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if packages can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a5e2cdbcaa57b02f18d65aea89d2faa54\">setFoldPackages()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af0ee6abab37e283e68f527c597c50877\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af0ee6abab37e283e68f527c597c50877\">&#9670;&nbsp;</a></span>setFoldPODBlocks()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPerl::setFoldPODBlocks </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then POD blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#ab58e1e9d037d280fc74792ace83936d4\">foldPODBlocks()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab58e1e9d037d280fc74792ace83936d4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab58e1e9d037d280fc74792ace83936d4\">&#9670;&nbsp;</a></span>foldPODBlocks()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::foldPODBlocks </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if POD blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#af0ee6abab37e283e68f527c597c50877\">setFoldPODBlocks()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a85aa8e72d81818a7edea1867362db16a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a85aa8e72d81818a7edea1867362db16a\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPerl::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#ae9881257bbcc887cdbe21e74bbb8ea65\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a269b1c3c788ae863939fd8b1749a5abf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a269b1c3c788ae863939fd8b1749a5abf\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPerl::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPerl.html#a0c3e05e1bbdc4614fc7e76e508178592\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a47884fcfd8d2b0ab7b8d277cb0325c17\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a47884fcfd8d2b0ab7b8d277cb0325c17\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a16841e0262d8200d5ed3a85099d45b37\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a16841e0262d8200d5ed3a85099d45b37\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPerl::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPostScript-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPostScript Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a68508fc322ed18c4eef49d6f3c562dcc\">ArrayParenthesis</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a1098fc215e68862126c9774419e218d4\">BadStringCharacter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ab0f0d6fc5daa0226c5632458e3b2a014\">Base85String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a05f377a9017cf5f5d51deae3f1f83445\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a4b36bbf9fdf62e5e6433b96210b1290d\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a7568c47b226595ed4d2853b1f4f07796\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a68474df4d256e32296c5f09c243a55db\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a774cfde4ca55ef85c506258b3c789c9d\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a60519c0adb042373a1a79a73b68d7892\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a88492153c713084f4b5495ebe3bf1b40\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a836bd1fce6a26fa56815960d3442f1f8\">DictionaryParenthesis</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a284328e010e8e4cbad238d5f4c423e30\">DSCComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a46e081b0e15a00de147c0f62fbaa630e\">DSCCommentValue</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#aa86a61cd082e2e9fd76e878e8d6a096a\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#accb7e71496e6817503ea1c081ffdbab4\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ae6d498c2db5cb31defd472e8b78e0b37\">HexString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a6b15de06a212e4317328cb760561c55b\">ImmediateEvalLiteral</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a78f5e4602dcc6279983499ed04b9ace5\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a981f7ababe1cc561b29617fad8aa29b5\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#ab2d6a4d13e15769bf1110012b491ad90\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">level</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a8f6156730e68c15fb63e120c53ce7832\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5f93f977654892b0017dd0e990d77572\">Literal</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5b790b5d458c9e3b260c965ce9755ea3\">Name</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a24c2fdd017eb9871220bc1cdf13c7675\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a05a498ca8c50a19f88c7294e6b30ff88\">ProcedureParenthesis</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a7670a50d4dce21461de96844235b4242\">QsciLexerPostScript</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a87168d5b174ba3a9b969ef689f67b355\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a0f1e5402dce043de42ded75f5826588f\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#aa303817de5a59137ab4bf592ff52a315\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a277a3c519eca4ef69d73fd45ea4f5ab5\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a80c198967862ff5392982a49b8004f48\">setLevel</a>(int level)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a8d57801958b738cbb297936426bb8c61\">setTokenize</a>(bool tokenize)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ad763c4ea8a19d8fc4ce9eb9297b8bcb2\">Text</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">tokenize</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a0fc741a415b0419464afa66deb2b9e5d\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html#aa5f12cd587bf1b8db68813601cb57e5b\">~QsciLexerPostScript</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPostScript.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerPostScript Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerPostScript-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPostScript Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerpostscript.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a129e6281661808e7d4d53025706abc77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a7568c47b226595ed4d2853b1f4f07796\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a4b36bbf9fdf62e5e6433b96210b1290d\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a284328e010e8e4cbad238d5f4c423e30\">DSCComment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a46e081b0e15a00de147c0f62fbaa630e\">DSCCommentValue</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a24c2fdd017eb9871220bc1cdf13c7675\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5b790b5d458c9e3b260c965ce9755ea3\">Name</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a78f5e4602dcc6279983499ed04b9ace5\">Keyword</a> = 6, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5f93f977654892b0017dd0e990d77572\">Literal</a> = 7, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a6b15de06a212e4317328cb760561c55b\">ImmediateEvalLiteral</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a68508fc322ed18c4eef49d6f3c562dcc\">ArrayParenthesis</a> = 9, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a836bd1fce6a26fa56815960d3442f1f8\">DictionaryParenthesis</a> = 10, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a05a498ca8c50a19f88c7294e6b30ff88\">ProcedureParenthesis</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ad763c4ea8a19d8fc4ce9eb9297b8bcb2\">Text</a> = 12, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ae6d498c2db5cb31defd472e8b78e0b37\">HexString</a> = 13, \n<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ab0f0d6fc5daa0226c5632458e3b2a014\">Base85String</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a1098fc215e68862126c9774419e218d4\">BadStringCharacter</a> = 15\n<br />\n }</td></tr>\n<tr class=\"separator:a129e6281661808e7d4d53025706abc77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a8d57801958b738cbb297936426bb8c61\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a8d57801958b738cbb297936426bb8c61\">setTokenize</a> (bool <a class=\"el\" href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">tokenize</a>)</td></tr>\n<tr class=\"separator:a8d57801958b738cbb297936426bb8c61\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80c198967862ff5392982a49b8004f48\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a80c198967862ff5392982a49b8004f48\">setLevel</a> (int <a class=\"el\" href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">level</a>)</td></tr>\n<tr class=\"separator:a80c198967862ff5392982a49b8004f48\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a277a3c519eca4ef69d73fd45ea4f5ab5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a277a3c519eca4ef69d73fd45ea4f5ab5\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a277a3c519eca4ef69d73fd45ea4f5ab5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa303817de5a59137ab4bf592ff52a315\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#aa303817de5a59137ab4bf592ff52a315\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:aa303817de5a59137ab4bf592ff52a315\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a7670a50d4dce21461de96844235b4242\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a7670a50d4dce21461de96844235b4242\">QsciLexerPostScript</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a7670a50d4dce21461de96844235b4242\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa5f12cd587bf1b8db68813601cb57e5b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa5f12cd587bf1b8db68813601cb57e5b\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#aa5f12cd587bf1b8db68813601cb57e5b\">~QsciLexerPostScript</a> ()</td></tr>\n<tr class=\"separator:aa5f12cd587bf1b8db68813601cb57e5b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab2d6a4d13e15769bf1110012b491ad90\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab2d6a4d13e15769bf1110012b491ad90\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#ab2d6a4d13e15769bf1110012b491ad90\">language</a> () const</td></tr>\n<tr class=\"separator:ab2d6a4d13e15769bf1110012b491ad90\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8f6156730e68c15fb63e120c53ce7832\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a8f6156730e68c15fb63e120c53ce7832\">lexer</a> () const</td></tr>\n<tr class=\"separator:a8f6156730e68c15fb63e120c53ce7832\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a05f377a9017cf5f5d51deae3f1f83445\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a05f377a9017cf5f5d51deae3f1f83445\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a05f377a9017cf5f5d51deae3f1f83445\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a05f377a9017cf5f5d51deae3f1f83445\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a68474df4d256e32296c5f09c243a55db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a68474df4d256e32296c5f09c243a55db\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a68474df4d256e32296c5f09c243a55db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a774cfde4ca55ef85c506258b3c789c9d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a774cfde4ca55ef85c506258b3c789c9d\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a774cfde4ca55ef85c506258b3c789c9d\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a774cfde4ca55ef85c506258b3c789c9d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a60519c0adb042373a1a79a73b68d7892\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a60519c0adb042373a1a79a73b68d7892\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a60519c0adb042373a1a79a73b68d7892\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a981f7ababe1cc561b29617fad8aa29b5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a981f7ababe1cc561b29617fad8aa29b5\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a981f7ababe1cc561b29617fad8aa29b5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a88492153c713084f4b5495ebe3bf1b40\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a88492153c713084f4b5495ebe3bf1b40\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a88492153c713084f4b5495ebe3bf1b40\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0f1e5402dce043de42ded75f5826588f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a0f1e5402dce043de42ded75f5826588f\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a0f1e5402dce043de42ded75f5826588f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ade1a77293facd468100a7c023dedcacc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">tokenize</a> () const</td></tr>\n<tr class=\"separator:ade1a77293facd468100a7c023dedcacc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a78834f5080f50c01ba5ec1094114bf40\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">level</a> () const</td></tr>\n<tr class=\"separator:a78834f5080f50c01ba5ec1094114bf40\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:accb7e71496e6817503ea1c081ffdbab4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#accb7e71496e6817503ea1c081ffdbab4\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:accb7e71496e6817503ea1c081ffdbab4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa86a61cd082e2e9fd76e878e8d6a096a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#aa86a61cd082e2e9fd76e878e8d6a096a\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:aa86a61cd082e2e9fd76e878e8d6a096a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a87168d5b174ba3a9b969ef689f67b355\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a87168d5b174ba3a9b969ef689f67b355\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a87168d5b174ba3a9b969ef689f67b355\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0fc741a415b0419464afa66deb2b9e5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPostScript.html#a0fc741a415b0419464afa66deb2b9e5d\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a0fc741a415b0419464afa66deb2b9e5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerPostScript.html\" title=\"The QsciLexerPostScript class encapsulates the Scintilla PostScript lexer.\">QsciLexerPostScript</a> class encapsulates the Scintilla PostScript lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a129e6281661808e7d4d53025706abc77\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a129e6281661808e7d4d53025706abc77\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the PostScript lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a7568c47b226595ed4d2853b1f4f07796\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a4b36bbf9fdf62e5e6433b96210b1290d\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a284328e010e8e4cbad238d5f4c423e30\"></a>DSCComment&#160;</td><td class=\"fielddoc\"><p>A DSC comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a46e081b0e15a00de147c0f62fbaa630e\"></a>DSCCommentValue&#160;</td><td class=\"fielddoc\"><p>A DSC comment value. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a24c2fdd017eb9871220bc1cdf13c7675\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a5b790b5d458c9e3b260c965ce9755ea3\"></a>Name&#160;</td><td class=\"fielddoc\"><p>A name. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a78f5e4602dcc6279983499ed04b9ace5\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a5f93f977654892b0017dd0e990d77572\"></a>Literal&#160;</td><td class=\"fielddoc\"><p>A literal. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a6b15de06a212e4317328cb760561c55b\"></a>ImmediateEvalLiteral&#160;</td><td class=\"fielddoc\"><p>An immediately evaluated literal. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a68508fc322ed18c4eef49d6f3c562dcc\"></a>ArrayParenthesis&#160;</td><td class=\"fielddoc\"><p>Array parenthesis. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a836bd1fce6a26fa56815960d3442f1f8\"></a>DictionaryParenthesis&#160;</td><td class=\"fielddoc\"><p>Dictionary parenthesis. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a05a498ca8c50a19f88c7294e6b30ff88\"></a>ProcedureParenthesis&#160;</td><td class=\"fielddoc\"><p>Procedure parenthesis. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77ad763c4ea8a19d8fc4ce9eb9297b8bcb2\"></a>Text&#160;</td><td class=\"fielddoc\"><p>Text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77ae6d498c2db5cb31defd472e8b78e0b37\"></a>HexString&#160;</td><td class=\"fielddoc\"><p>A hexadecimal string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77ab0f0d6fc5daa0226c5632458e3b2a014\"></a>Base85String&#160;</td><td class=\"fielddoc\"><p>A base85 string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a129e6281661808e7d4d53025706abc77a1098fc215e68862126c9774419e218d4\"></a>BadStringCharacter&#160;</td><td class=\"fielddoc\"><p>A bad string character. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a7670a50d4dce21461de96844235b4242\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7670a50d4dce21461de96844235b4242\">&#9670;&nbsp;</a></span>QsciLexerPostScript()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerPostScript::QsciLexerPostScript </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerPostScript.html\" title=\"The QsciLexerPostScript class encapsulates the Scintilla PostScript lexer.\">QsciLexerPostScript</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a8f6156730e68c15fb63e120c53ce7832\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8f6156730e68c15fb63e120c53ce7832\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPostScript::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a68474df4d256e32296c5f09c243a55db\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a68474df4d256e32296c5f09c243a55db\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPostScript::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#a60519c0adb042373a1a79a73b68d7892\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a60519c0adb042373a1a79a73b68d7892\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a60519c0adb042373a1a79a73b68d7892\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPostScript::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#a68474df4d256e32296c5f09c243a55db\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a981f7ababe1cc561b29617fad8aa29b5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a981f7ababe1cc561b29617fad8aa29b5\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPostScript::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. Set 5 can be used to provide additional user defined keywords. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a88492153c713084f4b5495ebe3bf1b40\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a88492153c713084f4b5495ebe3bf1b40\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerPostScript::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0f1e5402dce043de42ded75f5826588f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0f1e5402dce043de42ded75f5826588f\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPostScript::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ade1a77293facd468100a7c023dedcacc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ade1a77293facd468100a7c023dedcacc\">&#9670;&nbsp;</a></span>tokenize()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPostScript::tokenize </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if tokens should be marked.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#a8d57801958b738cbb297936426bb8c61\">setTokenize()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a78834f5080f50c01ba5ec1094114bf40\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a78834f5080f50c01ba5ec1094114bf40\">&#9670;&nbsp;</a></span>level()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciLexerPostScript::level </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the PostScript level.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#a80c198967862ff5392982a49b8004f48\">setLevel()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"accb7e71496e6817503ea1c081ffdbab4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#accb7e71496e6817503ea1c081ffdbab4\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPostScript::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#a277a3c519eca4ef69d73fd45ea4f5ab5\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa86a61cd082e2e9fd76e878e8d6a096a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa86a61cd082e2e9fd76e878e8d6a096a\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPostScript::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if else blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#aa303817de5a59137ab4bf592ff52a315\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8d57801958b738cbb297936426bb8c61\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8d57801958b738cbb297936426bb8c61\">&#9670;&nbsp;</a></span>setTokenize</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPostScript::setTokenize </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>tokenize</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>tokenize</em> is true then tokens are marked. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">tokenize()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a80c198967862ff5392982a49b8004f48\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a80c198967862ff5392982a49b8004f48\">&#9670;&nbsp;</a></span>setLevel</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPostScript::setLevel </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>level</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The PostScript level is set to <em>level</em>. The default is 3.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">level()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a277a3c519eca4ef69d73fd45ea4f5ab5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a277a3c519eca4ef69d73fd45ea4f5ab5\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPostScript::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#accb7e71496e6817503ea1c081ffdbab4\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa303817de5a59137ab4bf592ff52a315\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa303817de5a59137ab4bf592ff52a315\">&#9670;&nbsp;</a></span>setFoldAtElse</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPostScript::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then else blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPostScript.html#aa86a61cd082e2e9fd76e878e8d6a096a\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a87168d5b174ba3a9b969ef689f67b355\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a87168d5b174ba3a9b969ef689f67b355\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPostScript::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0fc741a415b0419464afa66deb2b9e5d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0fc741a415b0419464afa66deb2b9e5d\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPostScript::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerProperties-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerProperties Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da2dce9dbe1d758936b321ee9d77343be6\">Assignment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daec8fd1ed5dfafb06753fcd402406e164\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9e761a14600d042a269a5dac6a146e67\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a2d66e4001f22b971d1d0d92953b614ba\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#ad8cabbe5db0e4ba630cfad60ddfc79b1\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a98400585500ee1c17618992a8e300683\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a9d2bd8ea72760796590963c702082e5b\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da3ad64721ceda301cf547533fd6736fe7\">DefaultValue</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a2e2317346a85697a98a2e19d1c596a48\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a3786c34824a30c5a366f30cb9e8bf115\">initialSpaces</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daf20795f392c5dc1ab5639c7de93181e6\">Key</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a5e15c53d398d9d7e9ef7e0df41bc3f62\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a76890c95abff2bb6f5eebe7a2cb5a0a3\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a81437ae22cb610108f29d8d367ce6faa\">QsciLexerProperties</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a638b892c566301f0efe779c58516cbc0\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9b9be54dcfbb2e38f1243779c71c76f4\">Section</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a4caa0f46faeb171710ec2657cd23436e\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a2243845007f5165eb5718a131be3ada3\">setInitialSpaces</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a61d706ce1554474fd54fe07359612814\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html#a34578c60a0d404116a5017ff454477f5\">~QsciLexerProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerProperties.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerProperties Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerProperties-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerProperties Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerproperties.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a7e63bce5cf5dafed391333a8dfdf9d1d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9e761a14600d042a269a5dac6a146e67\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daec8fd1ed5dfafb06753fcd402406e164\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9b9be54dcfbb2e38f1243779c71c76f4\">Section</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da2dce9dbe1d758936b321ee9d77343be6\">Assignment</a> = 3, \n<a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da3ad64721ceda301cf547533fd6736fe7\">DefaultValue</a> = 4, \n<a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daf20795f392c5dc1ab5639c7de93181e6\">Key</a> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a7e63bce5cf5dafed391333a8dfdf9d1d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a4caa0f46faeb171710ec2657cd23436e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a4caa0f46faeb171710ec2657cd23436e\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a4caa0f46faeb171710ec2657cd23436e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a81437ae22cb610108f29d8d367ce6faa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a81437ae22cb610108f29d8d367ce6faa\">QsciLexerProperties</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a81437ae22cb610108f29d8d367ce6faa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a34578c60a0d404116a5017ff454477f5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a34578c60a0d404116a5017ff454477f5\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a34578c60a0d404116a5017ff454477f5\">~QsciLexerProperties</a> ()</td></tr>\n<tr class=\"separator:a34578c60a0d404116a5017ff454477f5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5e15c53d398d9d7e9ef7e0df41bc3f62\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5e15c53d398d9d7e9ef7e0df41bc3f62\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a5e15c53d398d9d7e9ef7e0df41bc3f62\">language</a> () const</td></tr>\n<tr class=\"separator:a5e15c53d398d9d7e9ef7e0df41bc3f62\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a76890c95abff2bb6f5eebe7a2cb5a0a3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a76890c95abff2bb6f5eebe7a2cb5a0a3\">lexer</a> () const</td></tr>\n<tr class=\"separator:a76890c95abff2bb6f5eebe7a2cb5a0a3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a61d706ce1554474fd54fe07359612814\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a61d706ce1554474fd54fe07359612814\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a61d706ce1554474fd54fe07359612814\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a61d706ce1554474fd54fe07359612814\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2d66e4001f22b971d1d0d92953b614ba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a2d66e4001f22b971d1d0d92953b614ba\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a2d66e4001f22b971d1d0d92953b614ba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad8cabbe5db0e4ba630cfad60ddfc79b1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad8cabbe5db0e4ba630cfad60ddfc79b1\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#ad8cabbe5db0e4ba630cfad60ddfc79b1\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:ad8cabbe5db0e4ba630cfad60ddfc79b1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a98400585500ee1c17618992a8e300683\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a98400585500ee1c17618992a8e300683\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a98400585500ee1c17618992a8e300683\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a98400585500ee1c17618992a8e300683\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9d2bd8ea72760796590963c702082e5b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a9d2bd8ea72760796590963c702082e5b\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a9d2bd8ea72760796590963c702082e5b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a40dcaf1e09ebad7bc685d7f2c5d52a3b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a40dcaf1e09ebad7bc685d7f2c5d52a3b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a638b892c566301f0efe779c58516cbc0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a638b892c566301f0efe779c58516cbc0\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a638b892c566301f0efe779c58516cbc0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2e2317346a85697a98a2e19d1c596a48\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a2e2317346a85697a98a2e19d1c596a48\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a2e2317346a85697a98a2e19d1c596a48\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2243845007f5165eb5718a131be3ada3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a2243845007f5165eb5718a131be3ada3\">setInitialSpaces</a> (bool enable)</td></tr>\n<tr class=\"separator:a2243845007f5165eb5718a131be3ada3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3786c34824a30c5a366f30cb9e8bf115\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a3786c34824a30c5a366f30cb9e8bf115\">initialSpaces</a> () const</td></tr>\n<tr class=\"separator:a3786c34824a30c5a366f30cb9e8bf115\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a013b7c1bf9846e231b97827dfd9540b0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a4119053764ba32a9975ad7eeb8f0f067\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a4119053764ba32a9975ad7eeb8f0f067\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19a63e47d6b872b510d99d46abb2230f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a19a63e47d6b872b510d99d46abb2230f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerProperties.html\" title=\"The QsciLexerProperties class encapsulates the Scintilla Properties lexer.\">QsciLexerProperties</a> class encapsulates the Scintilla Properties lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a7e63bce5cf5dafed391333a8dfdf9d1d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7e63bce5cf5dafed391333a8dfdf9d1d\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Properties lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a7e63bce5cf5dafed391333a8dfdf9d1da9e761a14600d042a269a5dac6a146e67\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7e63bce5cf5dafed391333a8dfdf9d1daec8fd1ed5dfafb06753fcd402406e164\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7e63bce5cf5dafed391333a8dfdf9d1da9b9be54dcfbb2e38f1243779c71c76f4\"></a>Section&#160;</td><td class=\"fielddoc\"><p>A section. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7e63bce5cf5dafed391333a8dfdf9d1da2dce9dbe1d758936b321ee9d77343be6\"></a>Assignment&#160;</td><td class=\"fielddoc\"><p>An assignment operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7e63bce5cf5dafed391333a8dfdf9d1da3ad64721ceda301cf547533fd6736fe7\"></a>DefaultValue&#160;</td><td class=\"fielddoc\"><p>A default value. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7e63bce5cf5dafed391333a8dfdf9d1daf20795f392c5dc1ab5639c7de93181e6\"></a>Key&#160;</td><td class=\"fielddoc\"><p>A key. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a81437ae22cb610108f29d8d367ce6faa\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a81437ae22cb610108f29d8d367ce6faa\">&#9670;&nbsp;</a></span>QsciLexerProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerProperties::QsciLexerProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerProperties.html\" title=\"The QsciLexerProperties class encapsulates the Scintilla Properties lexer.\">QsciLexerProperties</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a76890c95abff2bb6f5eebe7a2cb5a0a3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a76890c95abff2bb6f5eebe7a2cb5a0a3\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerProperties::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2d66e4001f22b971d1d0d92953b614ba\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2d66e4001f22b971d1d0d92953b614ba\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerProperties::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a9d2bd8ea72760796590963c702082e5b\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9d2bd8ea72760796590963c702082e5b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9d2bd8ea72760796590963c702082e5b\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerProperties::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a2d66e4001f22b971d1d0d92953b614ba\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a40dcaf1e09ebad7bc685d7f2c5d52a3b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerProperties::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a638b892c566301f0efe779c58516cbc0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a638b892c566301f0efe779c58516cbc0\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerProperties::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2e2317346a85697a98a2e19d1c596a48\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2e2317346a85697a98a2e19d1c596a48\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerProperties::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a4caa0f46faeb171710ec2657cd23436e\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2243845007f5165eb5718a131be3ada3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2243845007f5165eb5718a131be3ada3\">&#9670;&nbsp;</a></span>setInitialSpaces()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerProperties::setInitialSpaces </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then initial spaces in a line are allowed. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a3786c34824a30c5a366f30cb9e8bf115\">initialSpaces()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3786c34824a30c5a366f30cb9e8bf115\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3786c34824a30c5a366f30cb9e8bf115\">&#9670;&nbsp;</a></span>initialSpaces()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerProperties::initialSpaces </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if initial spaces in a line are allowed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a2243845007f5165eb5718a131be3ada3\">setInitialSpaces()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4caa0f46faeb171710ec2657cd23436e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4caa0f46faeb171710ec2657cd23436e\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerProperties::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a2e2317346a85697a98a2e19d1c596a48\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4119053764ba32a9975ad7eeb8f0f067\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4119053764ba32a9975ad7eeb8f0f067\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerProperties::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a19a63e47d6b872b510d99d46abb2230f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a19a63e47d6b872b510d99d46abb2230f\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerProperties::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPython-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPython Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a305ec320aa2357947cbeb1608b95d840\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#afe42ac5a09816340d4bec920b523aed6\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#adc66ee4b78453d245ac1b4dff45490f4\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#ab30fa749a26490888fe18f2fcea47b02\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a13a264a4745f895d9b8218a5eb834cab\">ClassName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a3ae64eb6b01ecf28c28cfa568456018e\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af439b3e4c0ee6762c95d318c457e9396\">CommentBlock</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a40d923760d674229ffb146233d1cefae\">Decorator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac55b65493dace8925090544c401e8556\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a7320152a6d9098d07bba3da6c99a232e\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a855939c35d62798c00b0361a0edc41da\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a7ea1d7ae4594027f8b565380f3fffbb4\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a5e9de211c7e94a22da5c0d599a9e494b\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#aa3454a4c643cd0d479da8412341f1206\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac25e8cbcb38d2022ec108d2e22d97910\">DoubleQuotedFString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a53439291c4ec1556fa2143b582b21457\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a1a7acaa356fdbefd26cfe0f30264c43a\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a21891669bab4719e8e7cf482e3bf5a51\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a167dbdb42a4c0ed65229a3418153d4dd\">foldQuotes</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af182efea8f041750b774f01071af8b10\">FunctionMethodName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a6b6db1e2f565b7945e40fa3b13d2ce5a\">HighlightedIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#af8c28786c65b23583d92030ac606d07c\">highlightSubidentifiers</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad3c089de016a822c21aadf0760842dbe\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca205cf6f451c495acbe224d2479c9b512\">Inconsistent</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#acb5ec792032e6108b3c2d6ec6e565f49\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">IndentationWarning</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#aff624320c72fa3b433d82d6a558238e8\">indentationWarning</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a5afb6ff3eda4e10420bc19d8cfce6697\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#ae96690293b8128bea9cedf9b55b92ad6\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a9fe6e18dbb7ef4cad7f370286d7db0b7\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaaf2844c26e0b5337e85653ca39584182\">NoWarning</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a828776730e146194bdc38d5baecd99b6\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a7a4293d091128563c2b51f4eaade7ff2\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a158b80fd7ee649cbb618b1df33491bab\">QsciLexerPython</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a1b8f36843f4abe6ec3ee75205b5b0111\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#abed099316dd95a6289c76d151a37c264\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a35e71b31d8d197052c7c5250ff21f094\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a27dcfdcac480d0360029d1f12b14f724\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#afc0aaf4300e9ca02eb8fa49328bbe8d8\">setFoldQuotes</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#ade07472f3cc8a4cccbb0bb6b964f0356\">setHighlightSubidentifiers</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a421ab12187730bc0686dc72710867ec3\">setIndentationWarning</a>(QsciLexerPython::IndentationWarning warn)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a5887a36e4a8d6ff54f4c796b33bc2eef\">setStringsOverNewlineAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#accc3cd3ccf7d62840ded955400695b9d\">setV2UnicodeAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#ae6bc53fc7e6dc90a80a26e22f6f49acb\">setV3BinaryOctalAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a856785e000203b1da8fa6f295daad13e\">setV3BytesAllowed</a>(bool allowed)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ace53a2a59f95bc733101f4e7e57d1974\">SingleQuotedFString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301aacabc0f11d5b649fb4b4814018fbc2d7\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcac76a1a962494e9526e70eabaa648c75e\">Spaces</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#aa4abeabae54373d536961d0aabb5ecdf\">stringsOverNewlineAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca5be72dba23dedfc6d0b0f796c3ba163d\">Tabs</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaee65363fac7fe11d24582a68c3864686\">TabsAfterSpaces</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad1142de6be72ec89e7ce114412c97f2e\">TripleDoubleQuotedFString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a1495ec67c855b00c949a8bd8672aa1bc\">TripleDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a25b848383c93ca55b77d6ef1cc6b0fbf\">TripleSingleQuotedFString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad85722ad55aee4bf1966db4a7cfd2b32\">TripleSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac5ef1d9860f88a3f84521ff88dca3878\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#add088b1bd36b0d5eb0f3b87e403cec10\">v2UnicodeAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a02ad644d3bc229939e57d5e9f665a6b9\">v3BinaryOctalAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a67308885b201ef6e21f0a273bf0b3c31\">v3BytesAllowed</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#a8921849dce20c65c0fc024bc27255873\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html#abf0e76eca3bc604650cc20d4fc110c7f\">~QsciLexerPython</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerPython.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerPython Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerPython-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerPython Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerpython.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a53a5337d46bed7e115df4be1d344f301\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac55b65493dace8925090544c401e8556\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a3ae64eb6b01ecf28c28cfa568456018e\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a828776730e146194bdc38d5baecd99b6\">Number</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a53439291c4ec1556fa2143b582b21457\">DoubleQuotedString</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301aacabc0f11d5b649fb4b4814018fbc2d7\">SingleQuotedString</a> = 4, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a5afb6ff3eda4e10420bc19d8cfce6697\">Keyword</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad85722ad55aee4bf1966db4a7cfd2b32\">TripleSingleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a1495ec67c855b00c949a8bd8672aa1bc\">TripleDoubleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a13a264a4745f895d9b8218a5eb834cab\">ClassName</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af182efea8f041750b774f01071af8b10\">FunctionMethodName</a> = 9, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a7a4293d091128563c2b51f4eaade7ff2\">Operator</a> = 10, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad3c089de016a822c21aadf0760842dbe\">Identifier</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af439b3e4c0ee6762c95d318c457e9396\">CommentBlock</a> = 12, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac5ef1d9860f88a3f84521ff88dca3878\">UnclosedString</a> = 13, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a6b6db1e2f565b7945e40fa3b13d2ce5a\">HighlightedIdentifier</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a40d923760d674229ffb146233d1cefae\">Decorator</a> = 15, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac25e8cbcb38d2022ec108d2e22d97910\">DoubleQuotedFString</a> = 16, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ace53a2a59f95bc733101f4e7e57d1974\">SingleQuotedFString</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a25b848383c93ca55b77d6ef1cc6b0fbf\">TripleSingleQuotedFString</a> = 18, \n<a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad1142de6be72ec89e7ce114412c97f2e\">TripleDoubleQuotedFString</a> = 19\n<br />\n }</td></tr>\n<tr class=\"separator:a53a5337d46bed7e115df4be1d344f301\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a84118aff26655dcc4313d26d57d5f4fc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">IndentationWarning</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaaf2844c26e0b5337e85653ca39584182\">NoWarning</a> = 0, \n<a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca205cf6f451c495acbe224d2479c9b512\">Inconsistent</a> = 1, \n<a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaee65363fac7fe11d24582a68c3864686\">TabsAfterSpaces</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcac76a1a962494e9526e70eabaa648c75e\">Spaces</a> = 3, \n<a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca5be72dba23dedfc6d0b0f796c3ba163d\">Tabs</a> = 4\n<br />\n }</td></tr>\n<tr class=\"separator:a84118aff26655dcc4313d26d57d5f4fc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a35e71b31d8d197052c7c5250ff21f094\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a35e71b31d8d197052c7c5250ff21f094\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a35e71b31d8d197052c7c5250ff21f094\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afc0aaf4300e9ca02eb8fa49328bbe8d8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#afc0aaf4300e9ca02eb8fa49328bbe8d8\">setFoldQuotes</a> (bool fold)</td></tr>\n<tr class=\"separator:afc0aaf4300e9ca02eb8fa49328bbe8d8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a421ab12187730bc0686dc72710867ec3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a421ab12187730bc0686dc72710867ec3\">setIndentationWarning</a> (<a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython::IndentationWarning</a> warn)</td></tr>\n<tr class=\"separator:a421ab12187730bc0686dc72710867ec3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a158b80fd7ee649cbb618b1df33491bab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a158b80fd7ee649cbb618b1df33491bab\">QsciLexerPython</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a158b80fd7ee649cbb618b1df33491bab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf0e76eca3bc604650cc20d4fc110c7f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abf0e76eca3bc604650cc20d4fc110c7f\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#abf0e76eca3bc604650cc20d4fc110c7f\">~QsciLexerPython</a> ()</td></tr>\n<tr class=\"separator:abf0e76eca3bc604650cc20d4fc110c7f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae96690293b8128bea9cedf9b55b92ad6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae96690293b8128bea9cedf9b55b92ad6\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#ae96690293b8128bea9cedf9b55b92ad6\">language</a> () const</td></tr>\n<tr class=\"separator:ae96690293b8128bea9cedf9b55b92ad6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9fe6e18dbb7ef4cad7f370286d7db0b7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a9fe6e18dbb7ef4cad7f370286d7db0b7\">lexer</a> () const</td></tr>\n<tr class=\"separator:a9fe6e18dbb7ef4cad7f370286d7db0b7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a305ec320aa2357947cbeb1608b95d840\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a305ec320aa2357947cbeb1608b95d840\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a305ec320aa2357947cbeb1608b95d840\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afe42ac5a09816340d4bec920b523aed6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#afe42ac5a09816340d4bec920b523aed6\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:afe42ac5a09816340d4bec920b523aed6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc66ee4b78453d245ac1b4dff45490f4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#adc66ee4b78453d245ac1b4dff45490f4\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:adc66ee4b78453d245ac1b4dff45490f4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab30fa749a26490888fe18f2fcea47b02\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab30fa749a26490888fe18f2fcea47b02\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#ab30fa749a26490888fe18f2fcea47b02\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:ab30fa749a26490888fe18f2fcea47b02\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7320152a6d9098d07bba3da6c99a232e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a7320152a6d9098d07bba3da6c99a232e\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a7320152a6d9098d07bba3da6c99a232e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a855939c35d62798c00b0361a0edc41da\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a855939c35d62798c00b0361a0edc41da\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a855939c35d62798c00b0361a0edc41da\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a855939c35d62798c00b0361a0edc41da\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ea1d7ae4594027f8b565380f3fffbb4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ea1d7ae4594027f8b565380f3fffbb4\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a7ea1d7ae4594027f8b565380f3fffbb4\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a7ea1d7ae4594027f8b565380f3fffbb4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5e9de211c7e94a22da5c0d599a9e494b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a5e9de211c7e94a22da5c0d599a9e494b\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a5e9de211c7e94a22da5c0d599a9e494b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acb5ec792032e6108b3c2d6ec6e565f49\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"acb5ec792032e6108b3c2d6ec6e565f49\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#acb5ec792032e6108b3c2d6ec6e565f49\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:acb5ec792032e6108b3c2d6ec6e565f49\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2467729449b6c78d63305b88b2f62789\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a2467729449b6c78d63305b88b2f62789\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa3454a4c643cd0d479da8412341f1206\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#aa3454a4c643cd0d479da8412341f1206\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aa3454a4c643cd0d479da8412341f1206\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abed099316dd95a6289c76d151a37c264\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#abed099316dd95a6289c76d151a37c264\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:abed099316dd95a6289c76d151a37c264\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1a7acaa356fdbefd26cfe0f30264c43a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a1a7acaa356fdbefd26cfe0f30264c43a\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a1a7acaa356fdbefd26cfe0f30264c43a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27dcfdcac480d0360029d1f12b14f724\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a27dcfdcac480d0360029d1f12b14f724\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a27dcfdcac480d0360029d1f12b14f724\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a21891669bab4719e8e7cf482e3bf5a51\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a21891669bab4719e8e7cf482e3bf5a51\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a21891669bab4719e8e7cf482e3bf5a51\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a167dbdb42a4c0ed65229a3418153d4dd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a167dbdb42a4c0ed65229a3418153d4dd\">foldQuotes</a> () const</td></tr>\n<tr class=\"separator:a167dbdb42a4c0ed65229a3418153d4dd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff624320c72fa3b433d82d6a558238e8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython::IndentationWarning</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#aff624320c72fa3b433d82d6a558238e8\">indentationWarning</a> () const</td></tr>\n<tr class=\"separator:aff624320c72fa3b433d82d6a558238e8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ade07472f3cc8a4cccbb0bb6b964f0356\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#ade07472f3cc8a4cccbb0bb6b964f0356\">setHighlightSubidentifiers</a> (bool enabled)</td></tr>\n<tr class=\"separator:ade07472f3cc8a4cccbb0bb6b964f0356\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af8c28786c65b23583d92030ac606d07c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#af8c28786c65b23583d92030ac606d07c\">highlightSubidentifiers</a> () const</td></tr>\n<tr class=\"separator:af8c28786c65b23583d92030ac606d07c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5887a36e4a8d6ff54f4c796b33bc2eef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a5887a36e4a8d6ff54f4c796b33bc2eef\">setStringsOverNewlineAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a5887a36e4a8d6ff54f4c796b33bc2eef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa4abeabae54373d536961d0aabb5ecdf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#aa4abeabae54373d536961d0aabb5ecdf\">stringsOverNewlineAllowed</a> () const</td></tr>\n<tr class=\"separator:aa4abeabae54373d536961d0aabb5ecdf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:accc3cd3ccf7d62840ded955400695b9d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#accc3cd3ccf7d62840ded955400695b9d\">setV2UnicodeAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:accc3cd3ccf7d62840ded955400695b9d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add088b1bd36b0d5eb0f3b87e403cec10\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#add088b1bd36b0d5eb0f3b87e403cec10\">v2UnicodeAllowed</a> () const</td></tr>\n<tr class=\"separator:add088b1bd36b0d5eb0f3b87e403cec10\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6bc53fc7e6dc90a80a26e22f6f49acb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#ae6bc53fc7e6dc90a80a26e22f6f49acb\">setV3BinaryOctalAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:ae6bc53fc7e6dc90a80a26e22f6f49acb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a02ad644d3bc229939e57d5e9f665a6b9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a02ad644d3bc229939e57d5e9f665a6b9\">v3BinaryOctalAllowed</a> () const</td></tr>\n<tr class=\"separator:a02ad644d3bc229939e57d5e9f665a6b9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a856785e000203b1da8fa6f295daad13e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a856785e000203b1da8fa6f295daad13e\">setV3BytesAllowed</a> (bool allowed)</td></tr>\n<tr class=\"separator:a856785e000203b1da8fa6f295daad13e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a67308885b201ef6e21f0a273bf0b3c31\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a67308885b201ef6e21f0a273bf0b3c31\">v3BytesAllowed</a> () const</td></tr>\n<tr class=\"separator:a67308885b201ef6e21f0a273bf0b3c31\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a1b8f36843f4abe6ec3ee75205b5b0111\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a1b8f36843f4abe6ec3ee75205b5b0111\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a1b8f36843f4abe6ec3ee75205b5b0111\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8921849dce20c65c0fc024bc27255873\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerPython.html#a8921849dce20c65c0fc024bc27255873\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a8921849dce20c65c0fc024bc27255873\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerPython.html\" title=\"The QsciLexerPython class encapsulates the Scintilla Python lexer.\">QsciLexerPython</a> class encapsulates the Scintilla Python lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a53a5337d46bed7e115df4be1d344f301\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a53a5337d46bed7e115df4be1d344f301\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Python lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ac55b65493dace8925090544c401e8556\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a3ae64eb6b01ecf28c28cfa568456018e\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a828776730e146194bdc38d5baecd99b6\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a53439291c4ec1556fa2143b582b21457\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301aacabc0f11d5b649fb4b4814018fbc2d7\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a5afb6ff3eda4e10420bc19d8cfce6697\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ad85722ad55aee4bf1966db4a7cfd2b32\"></a>TripleSingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A triple single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a1495ec67c855b00c949a8bd8672aa1bc\"></a>TripleDoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A triple double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a13a264a4745f895d9b8218a5eb834cab\"></a>ClassName&#160;</td><td class=\"fielddoc\"><p>The name of a class. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301af182efea8f041750b774f01071af8b10\"></a>FunctionMethodName&#160;</td><td class=\"fielddoc\"><p>The name of a function or method. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a7a4293d091128563c2b51f4eaade7ff2\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ad3c089de016a822c21aadf0760842dbe\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301af439b3e4c0ee6762c95d318c457e9396\"></a>CommentBlock&#160;</td><td class=\"fielddoc\"><p>A comment block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ac5ef1d9860f88a3f84521ff88dca3878\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a6b6db1e2f565b7945e40fa3b13d2ce5a\"></a>HighlightedIdentifier&#160;</td><td class=\"fielddoc\"><p>A highlighted identifier. These are defined by keyword set</p><ol type=\"1\">\n<li>Reimplement <a class=\"el\" href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">keywords()</a> to define keyword set 2. </li>\n</ol>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a40d923760d674229ffb146233d1cefae\"></a>Decorator&#160;</td><td class=\"fielddoc\"><p>A decorator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ac25e8cbcb38d2022ec108d2e22d97910\"></a>DoubleQuotedFString&#160;</td><td class=\"fielddoc\"><p>A double-quoted f-string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ace53a2a59f95bc733101f4e7e57d1974\"></a>SingleQuotedFString&#160;</td><td class=\"fielddoc\"><p>A single-quoted f-string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301a25b848383c93ca55b77d6ef1cc6b0fbf\"></a>TripleSingleQuotedFString&#160;</td><td class=\"fielddoc\"><p>A triple single-quoted f-string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a53a5337d46bed7e115df4be1d344f301ad1142de6be72ec89e7ce114412c97f2e\"></a>TripleDoubleQuotedFString&#160;</td><td class=\"fielddoc\"><p>A triple double-quoted f-string. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a84118aff26655dcc4313d26d57d5f4fc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a84118aff26655dcc4313d26d57d5f4fc\">&#9670;&nbsp;</a></span>IndentationWarning</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython::IndentationWarning</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the different conditions that can cause indentations to be displayed as being bad. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a84118aff26655dcc4313d26d57d5f4fcaaf2844c26e0b5337e85653ca39584182\"></a>NoWarning&#160;</td><td class=\"fielddoc\"><p>Bad indentation is not displayed differently. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a84118aff26655dcc4313d26d57d5f4fca205cf6f451c495acbe224d2479c9b512\"></a>Inconsistent&#160;</td><td class=\"fielddoc\"><p>The indentation is inconsistent when compared to the previous line, ie. it is made up of a different combination of tabs and/or spaces. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a84118aff26655dcc4313d26d57d5f4fcaee65363fac7fe11d24582a68c3864686\"></a>TabsAfterSpaces&#160;</td><td class=\"fielddoc\"><p>The indentation is made up of spaces followed by tabs. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a84118aff26655dcc4313d26d57d5f4fcac76a1a962494e9526e70eabaa648c75e\"></a>Spaces&#160;</td><td class=\"fielddoc\"><p>The indentation contains spaces. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a84118aff26655dcc4313d26d57d5f4fca5be72dba23dedfc6d0b0f796c3ba163d\"></a>Tabs&#160;</td><td class=\"fielddoc\"><p>The indentation contains tabs. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a158b80fd7ee649cbb618b1df33491bab\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a158b80fd7ee649cbb618b1df33491bab\">&#9670;&nbsp;</a></span>QsciLexerPython()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerPython::QsciLexerPython </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerPython.html\" title=\"The QsciLexerPython class encapsulates the Scintilla Python lexer.\">QsciLexerPython</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a9fe6e18dbb7ef4cad7f370286d7db0b7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9fe6e18dbb7ef4cad7f370286d7db0b7\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPython::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a305ec320aa2357947cbeb1608b95d840\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a305ec320aa2357947cbeb1608b95d840\">&#9670;&nbsp;</a></span>autoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QStringList QsciLexerPython::autoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"afe42ac5a09816340d4bec920b523aed6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afe42ac5a09816340d4bec920b523aed6\">&#9670;&nbsp;</a></span>blockLookback()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciLexerPython::blockLookback </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the number of lines prior to the current one when determining the scope of a block when auto-indenting. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"adc66ee4b78453d245ac1b4dff45490f4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adc66ee4b78453d245ac1b4dff45490f4\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPython::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7320152a6d9098d07bba3da6c99a232e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7320152a6d9098d07bba3da6c99a232e\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPython::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a5e9de211c7e94a22da5c0d599a9e494b\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5e9de211c7e94a22da5c0d599a9e494b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5e9de211c7e94a22da5c0d599a9e494b\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerPython::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a7320152a6d9098d07bba3da6c99a232e\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2467729449b6c78d63305b88b2f62789\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2467729449b6c78d63305b88b2f62789\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerPython::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa3454a4c643cd0d479da8412341f1206\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa3454a4c643cd0d479da8412341f1206\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerPython::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abed099316dd95a6289c76d151a37c264\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abed099316dd95a6289c76d151a37c264\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a1a7acaa356fdbefd26cfe0f30264c43a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1a7acaa356fdbefd26cfe0f30264c43a\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if indented comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a35e71b31d8d197052c7c5250ff21f094\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a27dcfdcac480d0360029d1f12b14f724\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a27dcfdcac480d0360029d1f12b14f724\">&#9670;&nbsp;</a></span>setFoldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a21891669bab4719e8e7cf482e3bf5a51\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a21891669bab4719e8e7cf482e3bf5a51\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a21891669bab4719e8e7cf482e3bf5a51\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a27dcfdcac480d0360029d1f12b14f724\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a167dbdb42a4c0ed65229a3418153d4dd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a167dbdb42a4c0ed65229a3418153d4dd\">&#9670;&nbsp;</a></span>foldQuotes()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::foldQuotes </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if triple quoted strings can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#afc0aaf4300e9ca02eb8fa49328bbe8d8\">setFoldQuotes()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aff624320c72fa3b433d82d6a558238e8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff624320c72fa3b433d82d6a558238e8\">&#9670;&nbsp;</a></span>indentationWarning()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython::IndentationWarning</a> QsciLexerPython::indentationWarning </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the condition that will cause bad indentations to be displayed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a421ab12187730bc0686dc72710867ec3\">setIndentationWarning()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ade07472f3cc8a4cccbb0bb6b964f0356\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ade07472f3cc8a4cccbb0bb6b964f0356\">&#9670;&nbsp;</a></span>setHighlightSubidentifiers()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::setHighlightSubidentifiers </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enabled</em> 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#af8c28786c65b23583d92030ac606d07c\">highlightSubidentifiers()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af8c28786c65b23583d92030ac606d07c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af8c28786c65b23583d92030ac606d07c\">&#9670;&nbsp;</a></span>highlightSubidentifiers()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::highlightSubidentifiers </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if string literals are allowed to span newline characters.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#ade07472f3cc8a4cccbb0bb6b964f0356\">setHighlightSubidentifiers()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5887a36e4a8d6ff54f4c796b33bc2eef\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5887a36e4a8d6ff54f4c796b33bc2eef\">&#9670;&nbsp;</a></span>setStringsOverNewlineAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::setStringsOverNewlineAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then string literals are allowed to span newline characters. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#aa4abeabae54373d536961d0aabb5ecdf\">stringsOverNewlineAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa4abeabae54373d536961d0aabb5ecdf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa4abeabae54373d536961d0aabb5ecdf\">&#9670;&nbsp;</a></span>stringsOverNewlineAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::stringsOverNewlineAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if string literals are allowed to span newline characters.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a5887a36e4a8d6ff54f4c796b33bc2eef\">setStringsOverNewlineAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"accc3cd3ccf7d62840ded955400695b9d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#accc3cd3ccf7d62840ded955400695b9d\">&#9670;&nbsp;</a></span>setV2UnicodeAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::setV2UnicodeAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then Python v2 unicode string literals (e.g. u\"utf8\") are allowed. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#add088b1bd36b0d5eb0f3b87e403cec10\">v2UnicodeAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"add088b1bd36b0d5eb0f3b87e403cec10\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#add088b1bd36b0d5eb0f3b87e403cec10\">&#9670;&nbsp;</a></span>v2UnicodeAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::v2UnicodeAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if Python v2 unicode string literals (e.g. u\"utf8\") are allowed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#accc3cd3ccf7d62840ded955400695b9d\">setV2UnicodeAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae6bc53fc7e6dc90a80a26e22f6f49acb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae6bc53fc7e6dc90a80a26e22f6f49acb\">&#9670;&nbsp;</a></span>setV3BinaryOctalAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::setV3BinaryOctalAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then Python v3 binary and octal literals (e.g. 0b1011, 0o712) are allowed. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a02ad644d3bc229939e57d5e9f665a6b9\">v3BinaryOctalAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a02ad644d3bc229939e57d5e9f665a6b9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a02ad644d3bc229939e57d5e9f665a6b9\">&#9670;&nbsp;</a></span>v3BinaryOctalAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::v3BinaryOctalAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if Python v3 binary and octal literals (e.g. 0b1011, 0o712) are allowed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#ae6bc53fc7e6dc90a80a26e22f6f49acb\">setV3BinaryOctalAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a856785e000203b1da8fa6f295daad13e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a856785e000203b1da8fa6f295daad13e\">&#9670;&nbsp;</a></span>setV3BytesAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerPython::setV3BytesAllowed </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>allowed</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then Python v3 bytes string literals (e.g. b\"bytes\") are allowed. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a67308885b201ef6e21f0a273bf0b3c31\">v3BytesAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a67308885b201ef6e21f0a273bf0b3c31\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a67308885b201ef6e21f0a273bf0b3c31\">&#9670;&nbsp;</a></span>v3BytesAllowed()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::v3BytesAllowed </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if Python v3 bytes string literals (e.g. b\"bytes\") are allowed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a856785e000203b1da8fa6f295daad13e\">setV3BytesAllowed()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a35e71b31d8d197052c7c5250ff21f094\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a35e71b31d8d197052c7c5250ff21f094\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPython::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then indented comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a1a7acaa356fdbefd26cfe0f30264c43a\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afc0aaf4300e9ca02eb8fa49328bbe8d8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afc0aaf4300e9ca02eb8fa49328bbe8d8\">&#9670;&nbsp;</a></span>setFoldQuotes</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPython::setFoldQuotes </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then triple quoted strings can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#a167dbdb42a4c0ed65229a3418153d4dd\">foldQuotes()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a421ab12187730bc0686dc72710867ec3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a421ab12187730bc0686dc72710867ec3\">&#9670;&nbsp;</a></span>setIndentationWarning</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerPython::setIndentationWarning </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython::IndentationWarning</a>&#160;</td>\n          <td class=\"paramname\"><em>warn</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the condition that will cause bad indentations to be displayed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerPython.html#aff624320c72fa3b433d82d6a558238e8\">indentationWarning()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1b8f36843f4abe6ec3ee75205b5b0111\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1b8f36843f4abe6ec3ee75205b5b0111\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a8921849dce20c65c0fc024bc27255873\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8921849dce20c65c0fc024bc27255873\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerPython::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerRuby-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerRuby Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda40dc4d5fdccc6fa1de6189a4e07d4345\">Backticks</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#aabf79a666eb40a912dfb7136d79f80e6\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a7ecc2269f4b7a4956b7209082032245d\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a47eb0ab494fe54b5518b4c8bdcd2968e\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#ae7a6d23e6e8748210198b4fee3932144\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda73fc696ddb8d12d4a0568b85a690a180\">ClassName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda8d3b74c47f0454a05b12f65ca98f13c1\">ClassVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4d3bcdc4618dd38c999f30ec64a2be94\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda36e45c5ce435eacd1f9f140adf265a78\">DataSection</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaaa0287c846694faece595f55d26fca1c\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a55b4fb34deedc4131e4f85fc4f7e01bc\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#aa6e85b803ff580acecda16deaa70c758\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#af45a578123a772bdb293d326c29218dc\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda5a7463b193f6ad19397c1feead6b83b6\">DemotedKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#aff36eb2ba5df9c4998eb9c8311f14de5\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda29b34bc0b6d300d9eec4e7d4b8352ca6\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda96bb579511d0e7c816783f3740de5aec\">Error</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a846ebeb36f0847cee3599860f787bcde\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#acbaa96d72ad071768acc25d7d56b6324\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdafc1f84fb3175d37e1a12822cdea2aabf\">FunctionMethodName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac07c560208a60c08d1fea27a862ce60a\">Global</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae3c3ed5000ff843e47b7215bd175c0b6\">HereDocument</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1cf86e15ea041fc9e5d0700a56c1a220\">HereDocumentDelimiter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1a052fb80029ed8c2990a996b311081d\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac62e9eb3fad7c9f5ffd551e37116b2bb\">InstanceVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda64027d287f4c03b3c5c790277e6bbbc4\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#abd6f026e6cb154c64c581f6e5f7f2fed\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a700754468352f673157d08d4ff222e79\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a14f1638b2f668fb7d98791cda719f8a0\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda2e66ca91a2f6aa3f873e017b9d794710\">ModuleName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda9f9666ed92175c304b5733a425562a26\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda620214bd8d8ed0e2839c4cc0c5143349\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4ddf93050bae629ab5c0f786e92809f6\">PercentStringq</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda6c5d3e3f93635ec89652a2ef93763f8f\">PercentStringQ</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda02679f74d964ce8130c528a3d75edeae\">PercentStringr</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3df92c38564360c4aa73c65abcad153a\">PercentStringw</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdadff89867eee2f270b2bbf832a690a70c\">PercentStringx</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdad72bbb5f1aa4cd77945f45796235e38d\">POD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#aa3bb000261e4752d89e06afe69d665f0\">QsciLexerRuby</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#afa0b9ecea2700420820e4e9b705cb784\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#abf07311e229b5ec1370dd8a57873c1b6\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda939c896299ac5cc057aced1a059250a2\">Regex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#acf9bbfcaf3dfd6004428920e1c6572fd\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a0e83f239ecb3c52bf4930412f32f51f1\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb7fbac71a097f21eb72fa0133f5c705\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae0c485bc9e3025341d39501600a5221d\">Stderr</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb88fb8ac7aadad4027a14bfe2aa329b\">Stdin</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3d377471f1eb2d17957d8050ed4fdf6d\">Stdout</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaf94cff4b54c0376f5c0e99ab3bf5cbee\">Symbol</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#af187d6973df01f3f704b181a446ea2f5\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html#a4fe52167ba709a506391026615d0ef7b\">~QsciLexerRuby</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerRuby.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerRuby Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerRuby-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerRuby Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerruby.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a11f87d89b2ff7aae3066ae57b0addafd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaaa0287c846694faece595f55d26fca1c\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda96bb579511d0e7c816783f3740de5aec\">Error</a> = 1, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4d3bcdc4618dd38c999f30ec64a2be94\">Comment</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdad72bbb5f1aa4cd77945f45796235e38d\">POD</a> = 3, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda9f9666ed92175c304b5733a425562a26\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda64027d287f4c03b3c5c790277e6bbbc4\">Keyword</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda29b34bc0b6d300d9eec4e7d4b8352ca6\">DoubleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb7fbac71a097f21eb72fa0133f5c705\">SingleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda73fc696ddb8d12d4a0568b85a690a180\">ClassName</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdafc1f84fb3175d37e1a12822cdea2aabf\">FunctionMethodName</a> = 9, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda620214bd8d8ed0e2839c4cc0c5143349\">Operator</a> = 10, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1a052fb80029ed8c2990a996b311081d\">Identifier</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda939c896299ac5cc057aced1a059250a2\">Regex</a> = 12, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac07c560208a60c08d1fea27a862ce60a\">Global</a> = 13, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaf94cff4b54c0376f5c0e99ab3bf5cbee\">Symbol</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda2e66ca91a2f6aa3f873e017b9d794710\">ModuleName</a> = 15, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac62e9eb3fad7c9f5ffd551e37116b2bb\">InstanceVariable</a> = 16, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda8d3b74c47f0454a05b12f65ca98f13c1\">ClassVariable</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda40dc4d5fdccc6fa1de6189a4e07d4345\">Backticks</a> = 18, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda36e45c5ce435eacd1f9f140adf265a78\">DataSection</a> = 19, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1cf86e15ea041fc9e5d0700a56c1a220\">HereDocumentDelimiter</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae3c3ed5000ff843e47b7215bd175c0b6\">HereDocument</a> = 21, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4ddf93050bae629ab5c0f786e92809f6\">PercentStringq</a> = 24, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda6c5d3e3f93635ec89652a2ef93763f8f\">PercentStringQ</a> = 25, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdadff89867eee2f270b2bbf832a690a70c\">PercentStringx</a> = 26, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda02679f74d964ce8130c528a3d75edeae\">PercentStringr</a> = 27, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3df92c38564360c4aa73c65abcad153a\">PercentStringw</a> = 28, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda5a7463b193f6ad19397c1feead6b83b6\">DemotedKeyword</a> = 29, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb88fb8ac7aadad4027a14bfe2aa329b\">Stdin</a> = 30, \n<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3d377471f1eb2d17957d8050ed4fdf6d\">Stdout</a> = 31, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae0c485bc9e3025341d39501600a5221d\">Stderr</a> = 40\n<br />\n }</td></tr>\n<tr class=\"separator:a11f87d89b2ff7aae3066ae57b0addafd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aa3bb000261e4752d89e06afe69d665f0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#aa3bb000261e4752d89e06afe69d665f0\">QsciLexerRuby</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:aa3bb000261e4752d89e06afe69d665f0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4fe52167ba709a506391026615d0ef7b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4fe52167ba709a506391026615d0ef7b\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a4fe52167ba709a506391026615d0ef7b\">~QsciLexerRuby</a> ()</td></tr>\n<tr class=\"separator:a4fe52167ba709a506391026615d0ef7b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a700754468352f673157d08d4ff222e79\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a700754468352f673157d08d4ff222e79\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a700754468352f673157d08d4ff222e79\">language</a> () const</td></tr>\n<tr class=\"separator:a700754468352f673157d08d4ff222e79\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a14f1638b2f668fb7d98791cda719f8a0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a14f1638b2f668fb7d98791cda719f8a0\">lexer</a> () const</td></tr>\n<tr class=\"separator:a14f1638b2f668fb7d98791cda719f8a0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabf79a666eb40a912dfb7136d79f80e6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#aabf79a666eb40a912dfb7136d79f80e6\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:aabf79a666eb40a912dfb7136d79f80e6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ecc2269f4b7a4956b7209082032245d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a7ecc2269f4b7a4956b7209082032245d\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a7ecc2269f4b7a4956b7209082032245d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a47eb0ab494fe54b5518b4c8bdcd2968e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a47eb0ab494fe54b5518b4c8bdcd2968e\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a47eb0ab494fe54b5518b4c8bdcd2968e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae7a6d23e6e8748210198b4fee3932144\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae7a6d23e6e8748210198b4fee3932144\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#ae7a6d23e6e8748210198b4fee3932144\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:ae7a6d23e6e8748210198b4fee3932144\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a55b4fb34deedc4131e4f85fc4f7e01bc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a55b4fb34deedc4131e4f85fc4f7e01bc\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a55b4fb34deedc4131e4f85fc4f7e01bc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6e85b803ff580acecda16deaa70c758\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa6e85b803ff580acecda16deaa70c758\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#aa6e85b803ff580acecda16deaa70c758\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6e85b803ff580acecda16deaa70c758\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af45a578123a772bdb293d326c29218dc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#af45a578123a772bdb293d326c29218dc\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:af45a578123a772bdb293d326c29218dc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd6f026e6cb154c64c581f6e5f7f2fed\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#abd6f026e6cb154c64c581f6e5f7f2fed\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:abd6f026e6cb154c64c581f6e5f7f2fed\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff36eb2ba5df9c4998eb9c8311f14de5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#aff36eb2ba5df9c4998eb9c8311f14de5\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aff36eb2ba5df9c4998eb9c8311f14de5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf07311e229b5ec1370dd8a57873c1b6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#abf07311e229b5ec1370dd8a57873c1b6\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:abf07311e229b5ec1370dd8a57873c1b6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acf9bbfcaf3dfd6004428920e1c6572fd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#acf9bbfcaf3dfd6004428920e1c6572fd\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:acf9bbfcaf3dfd6004428920e1c6572fd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a846ebeb36f0847cee3599860f787bcde\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a846ebeb36f0847cee3599860f787bcde\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a846ebeb36f0847cee3599860f787bcde\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e83f239ecb3c52bf4930412f32f51f1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#a0e83f239ecb3c52bf4930412f32f51f1\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a0e83f239ecb3c52bf4930412f32f51f1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acbaa96d72ad071768acc25d7d56b6324\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#acbaa96d72ad071768acc25d7d56b6324\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:acbaa96d72ad071768acc25d7d56b6324\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:afa0b9ecea2700420820e4e9b705cb784\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#afa0b9ecea2700420820e4e9b705cb784\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:afa0b9ecea2700420820e4e9b705cb784\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af187d6973df01f3f704b181a446ea2f5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerRuby.html#af187d6973df01f3f704b181a446ea2f5\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:af187d6973df01f3f704b181a446ea2f5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerRuby.html\" title=\"The QsciLexerRuby class encapsulates the Scintilla Ruby lexer.\">QsciLexerRuby</a> class encapsulates the Scintilla Ruby lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a11f87d89b2ff7aae3066ae57b0addafd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a11f87d89b2ff7aae3066ae57b0addafd\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Ruby lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdaaa0287c846694faece595f55d26fca1c\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda96bb579511d0e7c816783f3740de5aec\"></a>Error&#160;</td><td class=\"fielddoc\"><p>An error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda4d3bcdc4618dd38c999f30ec64a2be94\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdad72bbb5f1aa4cd77945f45796235e38d\"></a>POD&#160;</td><td class=\"fielddoc\"><p>A POD. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda9f9666ed92175c304b5733a425562a26\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda64027d287f4c03b3c5c790277e6bbbc4\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda29b34bc0b6d300d9eec4e7d4b8352ca6\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdabb7fbac71a097f21eb72fa0133f5c705\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda73fc696ddb8d12d4a0568b85a690a180\"></a>ClassName&#160;</td><td class=\"fielddoc\"><p>The name of a class. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdafc1f84fb3175d37e1a12822cdea2aabf\"></a>FunctionMethodName&#160;</td><td class=\"fielddoc\"><p>The name of a function or method. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda620214bd8d8ed0e2839c4cc0c5143349\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda1a052fb80029ed8c2990a996b311081d\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda939c896299ac5cc057aced1a059250a2\"></a>Regex&#160;</td><td class=\"fielddoc\"><p>A regular expression. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdac07c560208a60c08d1fea27a862ce60a\"></a>Global&#160;</td><td class=\"fielddoc\"><p>A global. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdaf94cff4b54c0376f5c0e99ab3bf5cbee\"></a>Symbol&#160;</td><td class=\"fielddoc\"><p>A symbol. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda2e66ca91a2f6aa3f873e017b9d794710\"></a>ModuleName&#160;</td><td class=\"fielddoc\"><p>The name of a module. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdac62e9eb3fad7c9f5ffd551e37116b2bb\"></a>InstanceVariable&#160;</td><td class=\"fielddoc\"><p>An instance variable. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda8d3b74c47f0454a05b12f65ca98f13c1\"></a>ClassVariable&#160;</td><td class=\"fielddoc\"><p>A class variable. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda40dc4d5fdccc6fa1de6189a4e07d4345\"></a>Backticks&#160;</td><td class=\"fielddoc\"><p>Backticks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda36e45c5ce435eacd1f9f140adf265a78\"></a>DataSection&#160;</td><td class=\"fielddoc\"><p>A data section. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda1cf86e15ea041fc9e5d0700a56c1a220\"></a>HereDocumentDelimiter&#160;</td><td class=\"fielddoc\"><p>A here document delimiter. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdae3c3ed5000ff843e47b7215bd175c0b6\"></a>HereDocument&#160;</td><td class=\"fielddoc\"><p>A here document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda4ddf93050bae629ab5c0f786e92809f6\"></a>PercentStringq&#160;</td><td class=\"fielddoc\"><p>A q string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda6c5d3e3f93635ec89652a2ef93763f8f\"></a>PercentStringQ&#160;</td><td class=\"fielddoc\"><p>A Q string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdadff89867eee2f270b2bbf832a690a70c\"></a>PercentStringx&#160;</td><td class=\"fielddoc\"><p>A x string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda02679f74d964ce8130c528a3d75edeae\"></a>PercentStringr&#160;</td><td class=\"fielddoc\"><p>A r string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda3df92c38564360c4aa73c65abcad153a\"></a>PercentStringw&#160;</td><td class=\"fielddoc\"><p>A w string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda5a7463b193f6ad19397c1feead6b83b6\"></a>DemotedKeyword&#160;</td><td class=\"fielddoc\"><p>A demoted keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdabb88fb8ac7aadad4027a14bfe2aa329b\"></a>Stdin&#160;</td><td class=\"fielddoc\"><p>stdin. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafda3d377471f1eb2d17957d8050ed4fdf6d\"></a>Stdout&#160;</td><td class=\"fielddoc\"><p>stdout. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a11f87d89b2ff7aae3066ae57b0addafdae0c485bc9e3025341d39501600a5221d\"></a>Stderr&#160;</td><td class=\"fielddoc\"><p>stderr. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"aa3bb000261e4752d89e06afe69d665f0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa3bb000261e4752d89e06afe69d665f0\">&#9670;&nbsp;</a></span>QsciLexerRuby()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerRuby::QsciLexerRuby </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerRuby.html\" title=\"The QsciLexerRuby class encapsulates the Scintilla Ruby lexer.\">QsciLexerRuby</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a14f1638b2f668fb7d98791cda719f8a0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a14f1638b2f668fb7d98791cda719f8a0\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerRuby::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aabf79a666eb40a912dfb7136d79f80e6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aabf79a666eb40a912dfb7136d79f80e6\">&#9670;&nbsp;</a></span>blockEnd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerRuby::blockEnd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7ecc2269f4b7a4956b7209082032245d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7ecc2269f4b7a4956b7209082032245d\">&#9670;&nbsp;</a></span>blockStart()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerRuby::blockStart </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a47eb0ab494fe54b5518b4c8bdcd2968e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a47eb0ab494fe54b5518b4c8bdcd2968e\">&#9670;&nbsp;</a></span>blockStartKeyword()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerRuby::blockStartKeyword </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>0</code></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>style</em>. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a55b4fb34deedc4131e4f85fc4f7e01bc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a55b4fb34deedc4131e4f85fc4f7e01bc\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerRuby::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>defaultpaper() </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af45a578123a772bdb293d326c29218dc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af45a578123a772bdb293d326c29218dc\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerRuby::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerRuby.html#a55b4fb34deedc4131e4f85fc4f7e01bc\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abd6f026e6cb154c64c581f6e5f7f2fed\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abd6f026e6cb154c64c581f6e5f7f2fed\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerRuby::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aff36eb2ba5df9c4998eb9c8311f14de5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff36eb2ba5df9c4998eb9c8311f14de5\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerRuby::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abf07311e229b5ec1370dd8a57873c1b6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf07311e229b5ec1370dd8a57873c1b6\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerRuby::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"acf9bbfcaf3dfd6004428920e1c6572fd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acf9bbfcaf3dfd6004428920e1c6572fd\">&#9670;&nbsp;</a></span>setFoldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerRuby::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerRuby.html#a846ebeb36f0847cee3599860f787bcde\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a846ebeb36f0847cee3599860f787bcde\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a846ebeb36f0847cee3599860f787bcde\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerRuby::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerRuby.html#acf9bbfcaf3dfd6004428920e1c6572fd\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0e83f239ecb3c52bf4930412f32f51f1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e83f239ecb3c52bf4930412f32f51f1\">&#9670;&nbsp;</a></span>setFoldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerRuby::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerRuby.html#acbaa96d72ad071768acc25d7d56b6324\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"acbaa96d72ad071768acc25d7d56b6324\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acbaa96d72ad071768acc25d7d56b6324\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerRuby::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerRuby.html#a0e83f239ecb3c52bf4930412f32f51f1\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afa0b9ecea2700420820e4e9b705cb784\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afa0b9ecea2700420820e4e9b705cb784\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerRuby::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"af187d6973df01f3f704b181a446ea2f5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af187d6973df01f3f704b181a446ea2f5\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerRuby::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerSQL-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerSQL Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#abf07dc83c19a3925e3cb977bf883b04c\">backslashEscapes</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ac97e486c8c1f2233c0b35e744ef5a393\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a017c8dd95b8abe00000ef18a3af7cc1f\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a129874afa8759225a097854ebd2af353\">CommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6108257694cfbb092d132383f517ea99\">CommentDocKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a1a7d323994693912a361e2f2f6c5e88e\">CommentDocKeywordError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a150cbe6dc7ab6815e15c0b45d5209032\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82aaa8e45cf7c33cc5498e4f78cbd946585\">CommentLineHash</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a38347f6c3056908532db562ca232971c\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a830b832b87182332b9dbaa0a69c6a145\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a8c0952bb621cdf048b00191674824a87\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a4272087bb0000cf8fd5dfa17a9b71383\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a5668132073d8c3d97ea56dc7131c2def\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a4f0a73894fc542ffc420113046c82f41\">dottedWords</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6be60f1a8d6511e543462e9d65ee806e\">DoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a4cf0c0ab9cb0628c515910c67fab9950\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#add132f5762831171fdee856172a0a5dc\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a1d73603ec19f317dd0d6271ec852c0fc\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a9a7c5fb256df97053fbe3203aaf3a93a\">foldOnlyBegin</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a24d7e487c0493f7164cb5bcce51d403d\">hashComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a65248832536a73057c5ff9c1b4109ef7\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a3bdb3154d0b6e8fdc9c1ec46c6da29f9\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82ae83b44ed53686acc7e65d1336901ca8d\">KeywordSet5</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a964752ac32b2980192e27552fffd4b12\">KeywordSet6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a82c5dbd57b06e88f195eb7eefb1f6e32\">KeywordSet7</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a76e2eea32f91918b7a5c330284dfae2d\">KeywordSet8</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a0b1959541108a437dcb0b104a46f1444\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#abd8d636e4717ed65e4ea77eca3c28df1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a59137622ad830ab0474796e475df4f29\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a910cc4182b94906c29f7764382c0458e\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a18673427116b1edbb055fe5ee7df8016\">PlusComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a52cefb7860ec4c58e77b235075b7d03b\">PlusKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a535f8aef24004cc85bda1a8dfda7d0dd\">PlusPrompt</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ab86225b96219799a77f77600f145042a\">QsciLexerSQL</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5f3f93632cd25dfa0a0349f7aa0927a5\">QuotedIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ad5f7fc89705dd0588937b1565a6e5a26\">quotedIdentifiers</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5777f32072b41fa90018fbeff82b3ef1\">QuotedOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a377b83523f800cc4598126417d80f74c\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a9d05744ee6d4c653a7e3976d9f71df23\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ab64e768ab8e7af6af93ce95db074c90a\">setBackslashEscapes</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#aba150bef5f977fb65d66fcaec9c6664c\">setDottedWords</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a35dfbbd04762b0450232c14862ec3ea6\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a6efb8e98287c21ec5175a466d7e5cc55\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a302b9b881fdc5dca82c5dea5fca5cd3e\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a680cba1b994603e73da00610e81debfe\">setFoldOnlyBegin</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#acc91bd455ff72d93d0bb73b553afbbb8\">setHashComments</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae6e5819a3ddec15ac6926b5e19927bff\">setQuotedIdentifiers</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a03b0ae83ccbc6a4f885418d25b4ace87\">SingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a338a09c79011b57a842c581aa2556b4c\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html#a0afd856aa4add375643659eace2238fa\">~QsciLexerSQL</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerSQL.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerSQL Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerSQL-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerSQL Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexersql.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:ae179714d1deeef75b6e08081bc223f82\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a38347f6c3056908532db562ca232971c\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a017c8dd95b8abe00000ef18a3af7cc1f\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a150cbe6dc7ab6815e15c0b45d5209032\">CommentLine</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a129874afa8759225a097854ebd2af353\">CommentDoc</a> = 3, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a59137622ad830ab0474796e475df4f29\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a3bdb3154d0b6e8fdc9c1ec46c6da29f9\">Keyword</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6be60f1a8d6511e543462e9d65ee806e\">DoubleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a03b0ae83ccbc6a4f885418d25b4ace87\">SingleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a52cefb7860ec4c58e77b235075b7d03b\">PlusKeyword</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a535f8aef24004cc85bda1a8dfda7d0dd\">PlusPrompt</a> = 9, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a910cc4182b94906c29f7764382c0458e\">Operator</a> = 10, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a65248832536a73057c5ff9c1b4109ef7\">Identifier</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a18673427116b1edbb055fe5ee7df8016\">PlusComment</a> = 13, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82aaa8e45cf7c33cc5498e4f78cbd946585\">CommentLineHash</a> = 15, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6108257694cfbb092d132383f517ea99\">CommentDocKeyword</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a1a7d323994693912a361e2f2f6c5e88e\">CommentDocKeywordError</a> = 18, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82ae83b44ed53686acc7e65d1336901ca8d\">KeywordSet5</a> = 19, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a964752ac32b2980192e27552fffd4b12\">KeywordSet6</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a82c5dbd57b06e88f195eb7eefb1f6e32\">KeywordSet7</a> = 21, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a76e2eea32f91918b7a5c330284dfae2d\">KeywordSet8</a> = 22, \n<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5f3f93632cd25dfa0a0349f7aa0927a5\">QuotedIdentifier</a> = 23, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5777f32072b41fa90018fbeff82b3ef1\">QuotedOperator</a> = 24\n<br />\n }</td></tr>\n<tr class=\"separator:ae179714d1deeef75b6e08081bc223f82\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:ab64e768ab8e7af6af93ce95db074c90a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#ab64e768ab8e7af6af93ce95db074c90a\">setBackslashEscapes</a> (bool enable)</td></tr>\n<tr class=\"separator:ab64e768ab8e7af6af93ce95db074c90a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6efb8e98287c21ec5175a466d7e5cc55\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a6efb8e98287c21ec5175a466d7e5cc55\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a6efb8e98287c21ec5175a466d7e5cc55\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a302b9b881fdc5dca82c5dea5fca5cd3e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a302b9b881fdc5dca82c5dea5fca5cd3e\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a302b9b881fdc5dca82c5dea5fca5cd3e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:ab86225b96219799a77f77600f145042a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#ab86225b96219799a77f77600f145042a\">QsciLexerSQL</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:ab86225b96219799a77f77600f145042a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0afd856aa4add375643659eace2238fa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0afd856aa4add375643659eace2238fa\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a0afd856aa4add375643659eace2238fa\">~QsciLexerSQL</a> ()</td></tr>\n<tr class=\"separator:a0afd856aa4add375643659eace2238fa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0b1959541108a437dcb0b104a46f1444\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0b1959541108a437dcb0b104a46f1444\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a0b1959541108a437dcb0b104a46f1444\">language</a> () const</td></tr>\n<tr class=\"separator:a0b1959541108a437dcb0b104a46f1444\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd8d636e4717ed65e4ea77eca3c28df1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#abd8d636e4717ed65e4ea77eca3c28df1\">lexer</a> () const</td></tr>\n<tr class=\"separator:abd8d636e4717ed65e4ea77eca3c28df1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac97e486c8c1f2233c0b35e744ef5a393\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac97e486c8c1f2233c0b35e744ef5a393\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#ac97e486c8c1f2233c0b35e744ef5a393\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:ac97e486c8c1f2233c0b35e744ef5a393\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a830b832b87182332b9dbaa0a69c6a145\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a830b832b87182332b9dbaa0a69c6a145\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a830b832b87182332b9dbaa0a69c6a145\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8c0952bb621cdf048b00191674824a87\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8c0952bb621cdf048b00191674824a87\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a8c0952bb621cdf048b00191674824a87\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a8c0952bb621cdf048b00191674824a87\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4272087bb0000cf8fd5dfa17a9b71383\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4272087bb0000cf8fd5dfa17a9b71383\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a4272087bb0000cf8fd5dfa17a9b71383\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a4272087bb0000cf8fd5dfa17a9b71383\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5668132073d8c3d97ea56dc7131c2def\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a5668132073d8c3d97ea56dc7131c2def\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a5668132073d8c3d97ea56dc7131c2def\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac74a6288e07e20f18ad04e900b48851b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ac74a6288e07e20f18ad04e900b48851b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5b2c0f0e93a1e35b0fb42f2dc1abea29\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a5b2c0f0e93a1e35b0fb42f2dc1abea29\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9d05744ee6d4c653a7e3976d9f71df23\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a9d05744ee6d4c653a7e3976d9f71df23\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a9d05744ee6d4c653a7e3976d9f71df23\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf07dc83c19a3925e3cb977bf883b04c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#abf07dc83c19a3925e3cb977bf883b04c\">backslashEscapes</a> () const</td></tr>\n<tr class=\"separator:abf07dc83c19a3925e3cb977bf883b04c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aba150bef5f977fb65d66fcaec9c6664c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#aba150bef5f977fb65d66fcaec9c6664c\">setDottedWords</a> (bool enable)</td></tr>\n<tr class=\"separator:aba150bef5f977fb65d66fcaec9c6664c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4f0a73894fc542ffc420113046c82f41\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a4f0a73894fc542ffc420113046c82f41\">dottedWords</a> () const</td></tr>\n<tr class=\"separator:a4f0a73894fc542ffc420113046c82f41\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a35dfbbd04762b0450232c14862ec3ea6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a35dfbbd04762b0450232c14862ec3ea6\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:a35dfbbd04762b0450232c14862ec3ea6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4cf0c0ab9cb0628c515910c67fab9950\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a4cf0c0ab9cb0628c515910c67fab9950\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:a4cf0c0ab9cb0628c515910c67fab9950\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add132f5762831171fdee856172a0a5dc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#add132f5762831171fdee856172a0a5dc\">foldComments</a> () const</td></tr>\n<tr class=\"separator:add132f5762831171fdee856172a0a5dc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1d73603ec19f317dd0d6271ec852c0fc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a1d73603ec19f317dd0d6271ec852c0fc\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a1d73603ec19f317dd0d6271ec852c0fc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a680cba1b994603e73da00610e81debfe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a680cba1b994603e73da00610e81debfe\">setFoldOnlyBegin</a> (bool fold)</td></tr>\n<tr class=\"separator:a680cba1b994603e73da00610e81debfe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9a7c5fb256df97053fbe3203aaf3a93a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a9a7c5fb256df97053fbe3203aaf3a93a\">foldOnlyBegin</a> () const</td></tr>\n<tr class=\"separator:a9a7c5fb256df97053fbe3203aaf3a93a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acc91bd455ff72d93d0bb73b553afbbb8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#acc91bd455ff72d93d0bb73b553afbbb8\">setHashComments</a> (bool enable)</td></tr>\n<tr class=\"separator:acc91bd455ff72d93d0bb73b553afbbb8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a24d7e487c0493f7164cb5bcce51d403d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a24d7e487c0493f7164cb5bcce51d403d\">hashComments</a> () const</td></tr>\n<tr class=\"separator:a24d7e487c0493f7164cb5bcce51d403d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6e5819a3ddec15ac6926b5e19927bff\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#ae6e5819a3ddec15ac6926b5e19927bff\">setQuotedIdentifiers</a> (bool enable)</td></tr>\n<tr class=\"separator:ae6e5819a3ddec15ac6926b5e19927bff\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad5f7fc89705dd0588937b1565a6e5a26\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#ad5f7fc89705dd0588937b1565a6e5a26\">quotedIdentifiers</a> () const</td></tr>\n<tr class=\"separator:ad5f7fc89705dd0588937b1565a6e5a26\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a377b83523f800cc4598126417d80f74c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a377b83523f800cc4598126417d80f74c\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a377b83523f800cc4598126417d80f74c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a338a09c79011b57a842c581aa2556b4c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSQL.html#a338a09c79011b57a842c581aa2556b4c\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a338a09c79011b57a842c581aa2556b4c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerSQL.html\" title=\"The QsciLexerSQL class encapsulates the Scintilla SQL lexer.\">QsciLexerSQL</a> class encapsulates the Scintilla SQL lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"ae179714d1deeef75b6e08081bc223f82\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae179714d1deeef75b6e08081bc223f82\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the SQL lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a38347f6c3056908532db562ca232971c\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a017c8dd95b8abe00000ef18a3af7cc1f\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a150cbe6dc7ab6815e15c0b45d5209032\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a129874afa8759225a097854ebd2af353\"></a>CommentDoc&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen style comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a59137622ad830ab0474796e475df4f29\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a3bdb3154d0b6e8fdc9c1ec46c6da29f9\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a6be60f1a8d6511e543462e9d65ee806e\"></a>DoubleQuotedString&#160;</td><td class=\"fielddoc\"><p>A double-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a03b0ae83ccbc6a4f885418d25b4ace87\"></a>SingleQuotedString&#160;</td><td class=\"fielddoc\"><p>A single-quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a52cefb7860ec4c58e77b235075b7d03b\"></a>PlusKeyword&#160;</td><td class=\"fielddoc\"><p>An SQL*Plus keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a535f8aef24004cc85bda1a8dfda7d0dd\"></a>PlusPrompt&#160;</td><td class=\"fielddoc\"><p>An SQL*Plus prompt. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a910cc4182b94906c29f7764382c0458e\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a65248832536a73057c5ff9c1b4109ef7\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a18673427116b1edbb055fe5ee7df8016\"></a>PlusComment&#160;</td><td class=\"fielddoc\"><p>An SQL*Plus comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82aaa8e45cf7c33cc5498e4f78cbd946585\"></a>CommentLineHash&#160;</td><td class=\"fielddoc\"><p>A '#' line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a6108257694cfbb092d132383f517ea99\"></a>CommentDocKeyword&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a1a7d323994693912a361e2f2f6c5e88e\"></a>CommentDocKeywordError&#160;</td><td class=\"fielddoc\"><p>A JavaDoc/Doxygen keyword error. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82ae83b44ed53686acc7e65d1336901ca8d\"></a>KeywordSet5&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 5. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">keywords()</a> to make use of this style. Note that keywords must be defined using lower case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a964752ac32b2980192e27552fffd4b12\"></a>KeywordSet6&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 6. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">keywords()</a> to make use of this style. Note that keywords must be defined using lower case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a82c5dbd57b06e88f195eb7eefb1f6e32\"></a>KeywordSet7&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 7. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">keywords()</a> to make use of this style. Note that keywords must be defined using lower case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a76e2eea32f91918b7a5c330284dfae2d\"></a>KeywordSet8&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 8. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">keywords()</a> to make use of this style. Note that keywords must be defined using lower case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a5f3f93632cd25dfa0a0349f7aa0927a5\"></a>QuotedIdentifier&#160;</td><td class=\"fielddoc\"><p>A quoted identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae179714d1deeef75b6e08081bc223f82a5777f32072b41fa90018fbeff82b3ef1\"></a>QuotedOperator&#160;</td><td class=\"fielddoc\"><p>A quoted operator. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"ab86225b96219799a77f77600f145042a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab86225b96219799a77f77600f145042a\">&#9670;&nbsp;</a></span>QsciLexerSQL()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerSQL::QsciLexerSQL </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerSQL.html\" title=\"The QsciLexerSQL class encapsulates the Scintilla SQL lexer.\">QsciLexerSQL</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"abd8d636e4717ed65e4ea77eca3c28df1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abd8d636e4717ed65e4ea77eca3c28df1\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerSQL::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a830b832b87182332b9dbaa0a69c6a145\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a830b832b87182332b9dbaa0a69c6a145\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerSQL::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a5668132073d8c3d97ea56dc7131c2def\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5668132073d8c3d97ea56dc7131c2def\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5668132073d8c3d97ea56dc7131c2def\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerSQL::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a830b832b87182332b9dbaa0a69c6a145\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac74a6288e07e20f18ad04e900b48851b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac74a6288e07e20f18ad04e900b48851b\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerSQL::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5b2c0f0e93a1e35b0fb42f2dc1abea29\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerSQL::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a9d05744ee6d4c653a7e3976d9f71df23\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9d05744ee6d4c653a7e3976d9f71df23\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerSQL::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abf07dc83c19a3925e3cb977bf883b04c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf07dc83c19a3925e3cb977bf883b04c\">&#9670;&nbsp;</a></span>backslashEscapes()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::backslashEscapes </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if backslash escapes are enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#ab64e768ab8e7af6af93ce95db074c90a\">setBackslashEscapes()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aba150bef5f977fb65d66fcaec9c6664c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aba150bef5f977fb65d66fcaec9c6664c\">&#9670;&nbsp;</a></span>setDottedWords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerSQL::setDottedWords </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then words may contain dots (i.e. periods or full stops). The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a4f0a73894fc542ffc420113046c82f41\">dottedWords()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4f0a73894fc542ffc420113046c82f41\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4f0a73894fc542ffc420113046c82f41\">&#9670;&nbsp;</a></span>dottedWords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::dottedWords </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if words may contain dots (i.e. periods or full stops).</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#aba150bef5f977fb65d66fcaec9c6664c\">setDottedWords()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a35dfbbd04762b0450232c14862ec3ea6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a35dfbbd04762b0450232c14862ec3ea6\">&#9670;&nbsp;</a></span>setFoldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerSQL::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then ELSE blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a4cf0c0ab9cb0628c515910c67fab9950\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4cf0c0ab9cb0628c515910c67fab9950\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4cf0c0ab9cb0628c515910c67fab9950\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if ELSE blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a35dfbbd04762b0450232c14862ec3ea6\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"add132f5762831171fdee856172a0a5dc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#add132f5762831171fdee856172a0a5dc\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a6efb8e98287c21ec5175a466d7e5cc55\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1d73603ec19f317dd0d6271ec852c0fc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1d73603ec19f317dd0d6271ec852c0fc\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a302b9b881fdc5dca82c5dea5fca5cd3e\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a680cba1b994603e73da00610e81debfe\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a680cba1b994603e73da00610e81debfe\">&#9670;&nbsp;</a></span>setFoldOnlyBegin()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerSQL::setFoldOnlyBegin </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then only BEGIN blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a9a7c5fb256df97053fbe3203aaf3a93a\">foldOnlyBegin()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9a7c5fb256df97053fbe3203aaf3a93a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9a7c5fb256df97053fbe3203aaf3a93a\">&#9670;&nbsp;</a></span>foldOnlyBegin()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::foldOnlyBegin </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if BEGIN blocks only can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a680cba1b994603e73da00610e81debfe\">setFoldOnlyBegin()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"acc91bd455ff72d93d0bb73b553afbbb8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acc91bd455ff72d93d0bb73b553afbbb8\">&#9670;&nbsp;</a></span>setHashComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerSQL::setHashComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then '#' is used as a comment character. It is typically enabled for MySQL and disabled for Oracle. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a24d7e487c0493f7164cb5bcce51d403d\">hashComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a24d7e487c0493f7164cb5bcce51d403d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a24d7e487c0493f7164cb5bcce51d403d\">&#9670;&nbsp;</a></span>hashComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::hashComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if '#' is used as a comment character.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#acc91bd455ff72d93d0bb73b553afbbb8\">setHashComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae6e5819a3ddec15ac6926b5e19927bff\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae6e5819a3ddec15ac6926b5e19927bff\">&#9670;&nbsp;</a></span>setQuotedIdentifiers()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerSQL::setQuotedIdentifiers </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then quoted identifiers are enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#ad5f7fc89705dd0588937b1565a6e5a26\">quotedIdentifiers()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad5f7fc89705dd0588937b1565a6e5a26\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad5f7fc89705dd0588937b1565a6e5a26\">&#9670;&nbsp;</a></span>quotedIdentifiers()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::quotedIdentifiers </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if quoted identifiers are enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#ae6e5819a3ddec15ac6926b5e19927bff\">setQuotedIdentifiers()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab64e768ab8e7af6af93ce95db074c90a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab64e768ab8e7af6af93ce95db074c90a\">&#9670;&nbsp;</a></span>setBackslashEscapes</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerSQL::setBackslashEscapes </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then backslash escapes are enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#abf07dc83c19a3925e3cb977bf883b04c\">backslashEscapes()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6efb8e98287c21ec5175a466d7e5cc55\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6efb8e98287c21ec5175a466d7e5cc55\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerSQL::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#add132f5762831171fdee856172a0a5dc\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a302b9b881fdc5dca82c5dea5fca5cd3e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a302b9b881fdc5dca82c5dea5fca5cd3e\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerSQL::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerSQL.html#a1d73603ec19f317dd0d6271ec852c0fc\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a377b83523f800cc4598126417d80f74c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a377b83523f800cc4598126417d80f74c\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a338a09c79011b57a842c581aa2556b4c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a338a09c79011b57a842c581aa2556b4c\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerSQL::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerSpice-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerSpice Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#aee09ddca3fd840b79ae954f6883fa581\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba6cc93c66756e609ac3e73d38ad43cf78\">Command</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf9211dff849fb86ce73c0db0168e522\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bae728e2775658d836eea997170e04501e\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a5e8a0548fb4c972f0eb0070721dd7762\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a7360e3bd243de3e4cbb76637f6d2313d\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab8c08b600da91cbcdac1270aa40f318a\">Delimiter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a8bf8606224bc8841da7ebf53099f8bca\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab2ac7b9071a9551de2302ac670e591fb\">Function</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba50fad8da4f0a77aa1074fa0be57bff11\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#ac4a5d52373228003f7bd51dade64fc85\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#ae41f7a78d82f09b4d5176ec2a709ac67\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a0e389df0054dbbafafe6196c71d50738\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf786953e3ef1a1302260a6517410550\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba8ef7c23e297528dd4c2d3b02c0dd6fdc\">Parameter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a7d38d89680d55b7f77463e67634f84be\">QsciLexerSpice</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab60e5eb1f93052950f0c913b91cacc73\">Value</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html#af9821d4ad823bc0840178c6fb9ab7a1d\">~QsciLexerSpice</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerSpice.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerSpice Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciLexerSpice-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerSpice Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerspice.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a99b1b104224cab9d85ef6cf254ae631b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bae728e2775658d836eea997170e04501e\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba50fad8da4f0a77aa1074fa0be57bff11\">Identifier</a> = 1, \n<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba6cc93c66756e609ac3e73d38ad43cf78\">Command</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab2ac7b9071a9551de2302ac670e591fb\">Function</a> = 3, \n<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba8ef7c23e297528dd4c2d3b02c0dd6fdc\">Parameter</a> = 4, \n<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf786953e3ef1a1302260a6517410550\">Number</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab8c08b600da91cbcdac1270aa40f318a\">Delimiter</a> = 6, \n<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab60e5eb1f93052950f0c913b91cacc73\">Value</a> = 7, \n<a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf9211dff849fb86ce73c0db0168e522\">Comment</a> = 8\n<br />\n }</td></tr>\n<tr class=\"separator:a99b1b104224cab9d85ef6cf254ae631b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a7d38d89680d55b7f77463e67634f84be\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#a7d38d89680d55b7f77463e67634f84be\">QsciLexerSpice</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a7d38d89680d55b7f77463e67634f84be\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af9821d4ad823bc0840178c6fb9ab7a1d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af9821d4ad823bc0840178c6fb9ab7a1d\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#af9821d4ad823bc0840178c6fb9ab7a1d\">~QsciLexerSpice</a> ()</td></tr>\n<tr class=\"separator:af9821d4ad823bc0840178c6fb9ab7a1d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae41f7a78d82f09b4d5176ec2a709ac67\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae41f7a78d82f09b4d5176ec2a709ac67\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#ae41f7a78d82f09b4d5176ec2a709ac67\">language</a> () const</td></tr>\n<tr class=\"separator:ae41f7a78d82f09b4d5176ec2a709ac67\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e389df0054dbbafafe6196c71d50738\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#a0e389df0054dbbafafe6196c71d50738\">lexer</a> () const</td></tr>\n<tr class=\"separator:a0e389df0054dbbafafe6196c71d50738\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aee09ddca3fd840b79ae954f6883fa581\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aee09ddca3fd840b79ae954f6883fa581\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#aee09ddca3fd840b79ae954f6883fa581\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:aee09ddca3fd840b79ae954f6883fa581\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac4a5d52373228003f7bd51dade64fc85\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#ac4a5d52373228003f7bd51dade64fc85\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ac4a5d52373228003f7bd51dade64fc85\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5e8a0548fb4c972f0eb0070721dd7762\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#a5e8a0548fb4c972f0eb0070721dd7762\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a5e8a0548fb4c972f0eb0070721dd7762\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7360e3bd243de3e4cbb76637f6d2313d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7360e3bd243de3e4cbb76637f6d2313d\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#a7360e3bd243de3e4cbb76637f6d2313d\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a7360e3bd243de3e4cbb76637f6d2313d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8bf8606224bc8841da7ebf53099f8bca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerSpice.html#a8bf8606224bc8841da7ebf53099f8bca\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a8bf8606224bc8841da7ebf53099f8bca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ae508c3ab4ce1f338dfff3ddf5ee7e34c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:ad472b16506a4cbc19634f07aa90f1ea6 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:abccc4e010b724df1a7b5c5f3bce29501 inherit pro_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerSpice.html\" title=\"The QsciLexerSpice class encapsulates the Scintilla Spice lexer.\">QsciLexerSpice</a> class encapsulates the Scintilla Spice lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a99b1b104224cab9d85ef6cf254ae631b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a99b1b104224cab9d85ef6cf254ae631b\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Spice lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631bae728e2775658d836eea997170e04501e\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631ba50fad8da4f0a77aa1074fa0be57bff11\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631ba6cc93c66756e609ac3e73d38ad43cf78\"></a>Command&#160;</td><td class=\"fielddoc\"><p>A command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631bab2ac7b9071a9551de2302ac670e591fb\"></a>Function&#160;</td><td class=\"fielddoc\"><p>A function. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631ba8ef7c23e297528dd4c2d3b02c0dd6fdc\"></a>Parameter&#160;</td><td class=\"fielddoc\"><p>A parameter. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631baaf786953e3ef1a1302260a6517410550\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631bab8c08b600da91cbcdac1270aa40f318a\"></a>Delimiter&#160;</td><td class=\"fielddoc\"><p>A delimiter. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631bab60e5eb1f93052950f0c913b91cacc73\"></a>Value&#160;</td><td class=\"fielddoc\"><p>A value. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a99b1b104224cab9d85ef6cf254ae631baaf9211dff849fb86ce73c0db0168e522\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a7d38d89680d55b7f77463e67634f84be\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7d38d89680d55b7f77463e67634f84be\">&#9670;&nbsp;</a></span>QsciLexerSpice()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerSpice::QsciLexerSpice </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerSpice.html\" title=\"The QsciLexerSpice class encapsulates the Scintilla Spice lexer.\">QsciLexerSpice</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a0e389df0054dbbafafe6196c71d50738\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e389df0054dbbafafe6196c71d50738\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerSpice::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac4a5d52373228003f7bd51dade64fc85\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac4a5d52373228003f7bd51dade64fc85\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerSpice::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a5e8a0548fb4c972f0eb0070721dd7762\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5e8a0548fb4c972f0eb0070721dd7762\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerSpice::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a8bf8606224bc8841da7ebf53099f8bca\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8bf8606224bc8841da7ebf53099f8bca\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerSpice::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerTCL-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerTCL Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a6d4b2db2d518117945edcbbbc4e3d26d\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1e00ce63c680961063bba87de9f4bc23\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a37d5cc3f8f43e1a9457f016fb8477fc2\">CommentBlock</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ad645e0c9a459e6319aca09d344ba9fe7\">CommentBox</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a333018506e26a9e4f3c4f42aa1193c1a\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a8aeb499b1256741e651ddd90fb3b0bb5\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a90015597a5748d85b36cc5b263fc05cf\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a634989e93d2975d1838016ed24f3e45f\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a80f3f0cbd594ce9268081a76174ee0e8\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#ad6f1adced83d4017ef5ea75ea338c117\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a59f517180e03fd1790c4a6de73196a70\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1f6ee7e1310318ce54cbcf9a1a50f144\">ExpandKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a71b5b892a7a30a4f57b9efa64fdf5f32\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0c8b6993ec2f619ed29f8797fc27e441\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa130758e2b9502d70213979a82134045\">ITCLKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a7e064a643483e44ef2d19f7aa9e947c0\">KeywordSet6</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0fa1debaf4eebc4dad0a531f9bd5074a\">KeywordSet7</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a678e5cdd4369161e2974c1fca5ec0756\">KeywordSet8</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a04935c9218b079cf604ffb8c453d0d79\">KeywordSet9</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a4a13fa4667146e0dca9d8c15255280a9\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a15ec40b8e6b208521e08d44400eb56f8\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ae958411da961413eaf269dc8cfab30eb\">Modifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a9dd8ccd07ebf3793c182f1e2026ec471\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a88aa37826c2111e43c2e64d175b631de\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a6a108be4899959ffcb262f59de538964\">QsciLexerTCL</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8addadb2b0cf0671682752e80ba1650cce\">QuotedKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a4212e6615aa13a138d3d41d4f82a35ec\">QuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a1b1d726f87795c97839acca28d06dc6e\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#ad331ec23d27ba397d2095ba92cefaecd\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#abceb6f3cf78367b7bc370265d7776bf1\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a56519805233273c84151d68bf400b2d9\">Substitution</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa7072662f6d21b6077eaec2ed2ed6836\">SubstitutionBrace</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a573bd1485068b767dda643d3201fb5a1\">TCLKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1bf59ca4e6d1204ef32722d09890dff0\">TkCommand</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ace310f4d3487840abe7a4c2a4a0a50b8\">TkKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#a65a8d0928d9f04584972410a5af82888\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html#aa4e0b16ffd568f44be50375e0572011c\">~QsciLexerTCL</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerTCL.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerTCL Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerTCL-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerTCL Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexertcl.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a25ac7663e96a6d6da069a3d6697706c8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a8aeb499b1256741e651ddd90fb3b0bb5\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1e00ce63c680961063bba87de9f4bc23\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a333018506e26a9e4f3c4f42aa1193c1a\">CommentLine</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a9dd8ccd07ebf3793c182f1e2026ec471\">Number</a> = 3, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8addadb2b0cf0671682752e80ba1650cce\">QuotedKeyword</a> = 4, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a4212e6615aa13a138d3d41d4f82a35ec\">QuotedString</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a88aa37826c2111e43c2e64d175b631de\">Operator</a> = 6, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0c8b6993ec2f619ed29f8797fc27e441\">Identifier</a> = 7, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a56519805233273c84151d68bf400b2d9\">Substitution</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa7072662f6d21b6077eaec2ed2ed6836\">SubstitutionBrace</a> = 9, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ae958411da961413eaf269dc8cfab30eb\">Modifier</a> = 10, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1f6ee7e1310318ce54cbcf9a1a50f144\">ExpandKeyword</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a573bd1485068b767dda643d3201fb5a1\">TCLKeyword</a> = 12, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ace310f4d3487840abe7a4c2a4a0a50b8\">TkKeyword</a> = 13, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa130758e2b9502d70213979a82134045\">ITCLKeyword</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1bf59ca4e6d1204ef32722d09890dff0\">TkCommand</a> = 15, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a7e064a643483e44ef2d19f7aa9e947c0\">KeywordSet6</a> = 16, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0fa1debaf4eebc4dad0a531f9bd5074a\">KeywordSet7</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a678e5cdd4369161e2974c1fca5ec0756\">KeywordSet8</a> = 18, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a04935c9218b079cf604ffb8c453d0d79\">KeywordSet9</a> = 19, \n<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ad645e0c9a459e6319aca09d344ba9fe7\">CommentBox</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a37d5cc3f8f43e1a9457f016fb8477fc2\">CommentBlock</a> = 21\n<br />\n }</td></tr>\n<tr class=\"separator:a25ac7663e96a6d6da069a3d6697706c8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a6a108be4899959ffcb262f59de538964\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a6a108be4899959ffcb262f59de538964\">QsciLexerTCL</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a6a108be4899959ffcb262f59de538964\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa4e0b16ffd568f44be50375e0572011c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa4e0b16ffd568f44be50375e0572011c\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#aa4e0b16ffd568f44be50375e0572011c\">~QsciLexerTCL</a> ()</td></tr>\n<tr class=\"separator:aa4e0b16ffd568f44be50375e0572011c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4a13fa4667146e0dca9d8c15255280a9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4a13fa4667146e0dca9d8c15255280a9\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a4a13fa4667146e0dca9d8c15255280a9\">language</a> () const</td></tr>\n<tr class=\"separator:a4a13fa4667146e0dca9d8c15255280a9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a15ec40b8e6b208521e08d44400eb56f8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a15ec40b8e6b208521e08d44400eb56f8\">lexer</a> () const</td></tr>\n<tr class=\"separator:a15ec40b8e6b208521e08d44400eb56f8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d4b2db2d518117945edcbbbc4e3d26d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6d4b2db2d518117945edcbbbc4e3d26d\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a6d4b2db2d518117945edcbbbc4e3d26d\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a6d4b2db2d518117945edcbbbc4e3d26d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90015597a5748d85b36cc5b263fc05cf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a90015597a5748d85b36cc5b263fc05cf\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a90015597a5748d85b36cc5b263fc05cf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a634989e93d2975d1838016ed24f3e45f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a634989e93d2975d1838016ed24f3e45f\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a634989e93d2975d1838016ed24f3e45f\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a634989e93d2975d1838016ed24f3e45f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80f3f0cbd594ce9268081a76174ee0e8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a80f3f0cbd594ce9268081a76174ee0e8\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a80f3f0cbd594ce9268081a76174ee0e8\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a80f3f0cbd594ce9268081a76174ee0e8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6f1adced83d4017ef5ea75ea338c117\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#ad6f1adced83d4017ef5ea75ea338c117\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:ad6f1adced83d4017ef5ea75ea338c117\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8739852ad69fa4686f0fabd61d18b214\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:a8739852ad69fa4686f0fabd61d18b214\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a59f517180e03fd1790c4a6de73196a70\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a59f517180e03fd1790c4a6de73196a70\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a59f517180e03fd1790c4a6de73196a70\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad331ec23d27ba397d2095ba92cefaecd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#ad331ec23d27ba397d2095ba92cefaecd\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ad331ec23d27ba397d2095ba92cefaecd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abceb6f3cf78367b7bc370265d7776bf1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#abceb6f3cf78367b7bc370265d7776bf1\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:abceb6f3cf78367b7bc370265d7776bf1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a71b5b892a7a30a4f57b9efa64fdf5f32\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a71b5b892a7a30a4f57b9efa64fdf5f32\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a71b5b892a7a30a4f57b9efa64fdf5f32\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a1b1d726f87795c97839acca28d06dc6e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a1b1d726f87795c97839acca28d06dc6e\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a1b1d726f87795c97839acca28d06dc6e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a65a8d0928d9f04584972410a5af82888\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTCL.html#a65a8d0928d9f04584972410a5af82888\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a65a8d0928d9f04584972410a5af82888\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerTCL.html\" title=\"The QsciLexerTCL class encapsulates the Scintilla TCL lexer.\">QsciLexerTCL</a> class encapsulates the Scintilla TCL lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a25ac7663e96a6d6da069a3d6697706c8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a25ac7663e96a6d6da069a3d6697706c8\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the TCL lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a8aeb499b1256741e651ddd90fb3b0bb5\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a1e00ce63c680961063bba87de9f4bc23\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a333018506e26a9e4f3c4f42aa1193c1a\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a9dd8ccd07ebf3793c182f1e2026ec471\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8addadb2b0cf0671682752e80ba1650cce\"></a>QuotedKeyword&#160;</td><td class=\"fielddoc\"><p>A quoted keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a4212e6615aa13a138d3d41d4f82a35ec\"></a>QuotedString&#160;</td><td class=\"fielddoc\"><p>A quoted string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a88aa37826c2111e43c2e64d175b631de\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a0c8b6993ec2f619ed29f8797fc27e441\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a56519805233273c84151d68bf400b2d9\"></a>Substitution&#160;</td><td class=\"fielddoc\"><p>A substitution. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8aa7072662f6d21b6077eaec2ed2ed6836\"></a>SubstitutionBrace&#160;</td><td class=\"fielddoc\"><p>A substitution starting with a brace. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8ae958411da961413eaf269dc8cfab30eb\"></a>Modifier&#160;</td><td class=\"fielddoc\"><p>A modifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a1f6ee7e1310318ce54cbcf9a1a50f144\"></a>ExpandKeyword&#160;</td><td class=\"fielddoc\"><p>Expand keyword (defined in keyword set number 5). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a573bd1485068b767dda643d3201fb5a1\"></a>TCLKeyword&#160;</td><td class=\"fielddoc\"><p>A TCL keyword (defined in keyword set number 1). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8ace310f4d3487840abe7a4c2a4a0a50b8\"></a>TkKeyword&#160;</td><td class=\"fielddoc\"><p>A Tk keyword (defined in keyword set number 2). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8aa130758e2b9502d70213979a82134045\"></a>ITCLKeyword&#160;</td><td class=\"fielddoc\"><p>An iTCL keyword (defined in keyword set number 3). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a1bf59ca4e6d1204ef32722d09890dff0\"></a>TkCommand&#160;</td><td class=\"fielddoc\"><p>A Tk command (defined in keyword set number 4). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a7e064a643483e44ef2d19f7aa9e947c0\"></a>KeywordSet6&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 6. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a0fa1debaf4eebc4dad0a531f9bd5074a\"></a>KeywordSet7&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 7. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a678e5cdd4369161e2974c1fca5ec0756\"></a>KeywordSet8&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 8. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a04935c9218b079cf604ffb8c453d0d79\"></a>KeywordSet9&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 9. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8ad645e0c9a459e6319aca09d344ba9fe7\"></a>CommentBox&#160;</td><td class=\"fielddoc\"><p>A comment box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a25ac7663e96a6d6da069a3d6697706c8a37d5cc3f8f43e1a9457f016fb8477fc2\"></a>CommentBlock&#160;</td><td class=\"fielddoc\"><p>A comment block. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a6a108be4899959ffcb262f59de538964\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6a108be4899959ffcb262f59de538964\">&#9670;&nbsp;</a></span>QsciLexerTCL()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerTCL::QsciLexerTCL </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerTCL.html\" title=\"The QsciLexerTCL class encapsulates the Scintilla TCL lexer.\">QsciLexerTCL</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a15ec40b8e6b208521e08d44400eb56f8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a15ec40b8e6b208521e08d44400eb56f8\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerTCL::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a90015597a5748d85b36cc5b263fc05cf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a90015597a5748d85b36cc5b263fc05cf\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerTCL::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTCL.html#ad6f1adced83d4017ef5ea75ea338c117\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ad6f1adced83d4017ef5ea75ea338c117\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad6f1adced83d4017ef5ea75ea338c117\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerTCL::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTCL.html#a90015597a5748d85b36cc5b263fc05cf\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a8739852ad69fa4686f0fabd61d18b214\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8739852ad69fa4686f0fabd61d18b214\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerTCL::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a59f517180e03fd1790c4a6de73196a70\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a59f517180e03fd1790c4a6de73196a70\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerTCL::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ad331ec23d27ba397d2095ba92cefaecd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad331ec23d27ba397d2095ba92cefaecd\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTCL::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"abceb6f3cf78367b7bc370265d7776bf1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abceb6f3cf78367b7bc370265d7776bf1\">&#9670;&nbsp;</a></span>setFoldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTCL::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTCL.html#a71b5b892a7a30a4f57b9efa64fdf5f32\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a71b5b892a7a30a4f57b9efa64fdf5f32\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a71b5b892a7a30a4f57b9efa64fdf5f32\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTCL::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTCL.html#abceb6f3cf78367b7bc370265d7776bf1\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1b1d726f87795c97839acca28d06dc6e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1b1d726f87795c97839acca28d06dc6e\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTCL::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a65a8d0928d9f04584972410a5af82888\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a65a8d0928d9f04584972410a5af82888\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTCL::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerTeX-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerTeX Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da59714bcaf49876225377b819f996a9f4\">Command</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dae621e3527eaa3f0962713d676d0d5951\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a06495bd35607512278859d9251e68ce1\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a3218dcdca816cbdc739b2555df366a9a\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a06f4a0a490680e76ba0edb0fe4fe4dc5\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a01e79cce2d3e498bc5473db51e1d0bc6\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37daf1ec0a0707b4105f54e242482ece1c0e\">Group</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#aed0f87e43716cf9894e27e0b90396a98\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#ad94fbbd156020166afddb8a0a55eba6f\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a409c5a8e561b153aca122ad5e0bedc82\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a9aa8e062b1eff3f6fb101cf51b507886\">processComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#aa230583b6c0a067894ffbd4ff3feee18\">processIf</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a4bf7cce95e65755a221fd75bd731a3cd\">QsciLexerTeX</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a68e2eaca494e93937f896bd60b86429c\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#acd80380b4727bd94148f5a0ff479742e\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a2097c0d473f379dbcd0faa9653bcc943\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a21f63849918a4fbeda81dc5f79fa81c2\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a1895725812d581b40913c1a85d2ab533\">setProcessComments</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a479ca70b474910355294d1fcec011572\">setProcessIf</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da7121480be645d8d29be82f3b71069f4c\">Special</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da870bf45d37836b716ba1b8798f3d0805\">Symbol</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dadb01f6480e4306630d190016cf38bb58\">Text</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a1ba78d98f1f2a18338782acbeb73d22e\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#aab7c86d0058b7c8541b0fc7be043f902\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html#a9912a293e50e75adc23a532b352a57ea\">~QsciLexerTeX</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerTeX.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerTeX Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerTeX-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerTeX Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexertex.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a8371a0c49e42104a95083a81dcafa37d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dae621e3527eaa3f0962713d676d0d5951\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da7121480be645d8d29be82f3b71069f4c\">Special</a> = 1, \n<a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37daf1ec0a0707b4105f54e242482ece1c0e\">Group</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da870bf45d37836b716ba1b8798f3d0805\">Symbol</a> = 3, \n<a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da59714bcaf49876225377b819f996a9f4\">Command</a> = 4, \n<a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dadb01f6480e4306630d190016cf38bb58\">Text</a> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a8371a0c49e42104a95083a81dcafa37d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a4bf7cce95e65755a221fd75bd731a3cd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a4bf7cce95e65755a221fd75bd731a3cd\">QsciLexerTeX</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a4bf7cce95e65755a221fd75bd731a3cd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9912a293e50e75adc23a532b352a57ea\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9912a293e50e75adc23a532b352a57ea\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a9912a293e50e75adc23a532b352a57ea\">~QsciLexerTeX</a> ()</td></tr>\n<tr class=\"separator:a9912a293e50e75adc23a532b352a57ea\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad94fbbd156020166afddb8a0a55eba6f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad94fbbd156020166afddb8a0a55eba6f\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#ad94fbbd156020166afddb8a0a55eba6f\">language</a> () const</td></tr>\n<tr class=\"separator:ad94fbbd156020166afddb8a0a55eba6f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a409c5a8e561b153aca122ad5e0bedc82\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a409c5a8e561b153aca122ad5e0bedc82\">lexer</a> () const</td></tr>\n<tr class=\"separator:a409c5a8e561b153aca122ad5e0bedc82\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ba78d98f1f2a18338782acbeb73d22e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ba78d98f1f2a18338782acbeb73d22e\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a1ba78d98f1f2a18338782acbeb73d22e\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a1ba78d98f1f2a18338782acbeb73d22e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06495bd35607512278859d9251e68ce1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a06495bd35607512278859d9251e68ce1\"></a>\nQColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a06495bd35607512278859d9251e68ce1\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a06495bd35607512278859d9251e68ce1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aed0f87e43716cf9894e27e0b90396a98\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#aed0f87e43716cf9894e27e0b90396a98\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:aed0f87e43716cf9894e27e0b90396a98\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3218dcdca816cbdc739b2555df366a9a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a3218dcdca816cbdc739b2555df366a9a\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a3218dcdca816cbdc739b2555df366a9a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd80380b4727bd94148f5a0ff479742e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#acd80380b4727bd94148f5a0ff479742e\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:acd80380b4727bd94148f5a0ff479742e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2097c0d473f379dbcd0faa9653bcc943\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a2097c0d473f379dbcd0faa9653bcc943\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a2097c0d473f379dbcd0faa9653bcc943\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06f4a0a490680e76ba0edb0fe4fe4dc5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a06f4a0a490680e76ba0edb0fe4fe4dc5\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a06f4a0a490680e76ba0edb0fe4fe4dc5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a21f63849918a4fbeda81dc5f79fa81c2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a21f63849918a4fbeda81dc5f79fa81c2\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a21f63849918a4fbeda81dc5f79fa81c2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a01e79cce2d3e498bc5473db51e1d0bc6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a01e79cce2d3e498bc5473db51e1d0bc6\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a01e79cce2d3e498bc5473db51e1d0bc6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1895725812d581b40913c1a85d2ab533\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a1895725812d581b40913c1a85d2ab533\">setProcessComments</a> (bool enable)</td></tr>\n<tr class=\"separator:a1895725812d581b40913c1a85d2ab533\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9aa8e062b1eff3f6fb101cf51b507886\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a9aa8e062b1eff3f6fb101cf51b507886\">processComments</a> () const</td></tr>\n<tr class=\"separator:a9aa8e062b1eff3f6fb101cf51b507886\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a479ca70b474910355294d1fcec011572\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a479ca70b474910355294d1fcec011572\">setProcessIf</a> (bool enable)</td></tr>\n<tr class=\"separator:a479ca70b474910355294d1fcec011572\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa230583b6c0a067894ffbd4ff3feee18\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#aa230583b6c0a067894ffbd4ff3feee18\">processIf</a> () const</td></tr>\n<tr class=\"separator:aa230583b6c0a067894ffbd4ff3feee18\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a06228b73f8df699a211be872f54d8501 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a147ab3b400fcbe1e5d733b8a897f4930\"></a>\nvirtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a147ab3b400fcbe1e5d733b8a897f4930\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a147ab3b400fcbe1e5d733b8a897f4930 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7e5ab7f541d913760c32abedbdc72963\"></a>\nvirtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7e5ab7f541d913760c32abedbdc72963 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a68e2eaca494e93937f896bd60b86429c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#a68e2eaca494e93937f896bd60b86429c\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a68e2eaca494e93937f896bd60b86429c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab7c86d0058b7c8541b0fc7be043f902\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerTeX.html#aab7c86d0058b7c8541b0fc7be043f902\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:aab7c86d0058b7c8541b0fc7be043f902\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerTeX.html\" title=\"The QsciLexerTeX class encapsulates the Scintilla TeX lexer.\">QsciLexerTeX</a> class encapsulates the Scintilla TeX lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a8371a0c49e42104a95083a81dcafa37d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8371a0c49e42104a95083a81dcafa37d\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the TeX lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a8371a0c49e42104a95083a81dcafa37dae621e3527eaa3f0962713d676d0d5951\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8371a0c49e42104a95083a81dcafa37da7121480be645d8d29be82f3b71069f4c\"></a>Special&#160;</td><td class=\"fielddoc\"><p>A special. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8371a0c49e42104a95083a81dcafa37daf1ec0a0707b4105f54e242482ece1c0e\"></a>Group&#160;</td><td class=\"fielddoc\"><p>A group. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8371a0c49e42104a95083a81dcafa37da870bf45d37836b716ba1b8798f3d0805\"></a>Symbol&#160;</td><td class=\"fielddoc\"><p>A symbol. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8371a0c49e42104a95083a81dcafa37da59714bcaf49876225377b819f996a9f4\"></a>Command&#160;</td><td class=\"fielddoc\"><p>A command. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a8371a0c49e42104a95083a81dcafa37dadb01f6480e4306630d190016cf38bb58\"></a>Text&#160;</td><td class=\"fielddoc\"><p>Text. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a4bf7cce95e65755a221fd75bd731a3cd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4bf7cce95e65755a221fd75bd731a3cd\">&#9670;&nbsp;</a></span>QsciLexerTeX()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerTeX::QsciLexerTeX </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerTeX.html\" title=\"The QsciLexerTeX class encapsulates the Scintilla TeX lexer.\">QsciLexerTeX</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a409c5a8e561b153aca122ad5e0bedc82\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a409c5a8e561b153aca122ad5e0bedc82\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerTeX::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aed0f87e43716cf9894e27e0b90396a98\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aed0f87e43716cf9894e27e0b90396a98\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerTeX::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a3218dcdca816cbdc739b2555df366a9a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3218dcdca816cbdc739b2555df366a9a\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerTeX::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"acd80380b4727bd94148f5a0ff479742e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acd80380b4727bd94148f5a0ff479742e\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTeX::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2097c0d473f379dbcd0faa9653bcc943\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2097c0d473f379dbcd0faa9653bcc943\">&#9670;&nbsp;</a></span>setFoldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTeX::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a06f4a0a490680e76ba0edb0fe4fe4dc5\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a06f4a0a490680e76ba0edb0fe4fe4dc5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a06f4a0a490680e76ba0edb0fe4fe4dc5\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTeX::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a2097c0d473f379dbcd0faa9653bcc943\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a21f63849918a4fbeda81dc5f79fa81c2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a21f63849918a4fbeda81dc5f79fa81c2\">&#9670;&nbsp;</a></span>setFoldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTeX::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a01e79cce2d3e498bc5473db51e1d0bc6\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a01e79cce2d3e498bc5473db51e1d0bc6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a01e79cce2d3e498bc5473db51e1d0bc6\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTeX::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a21f63849918a4fbeda81dc5f79fa81c2\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1895725812d581b40913c1a85d2ab533\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1895725812d581b40913c1a85d2ab533\">&#9670;&nbsp;</a></span>setProcessComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTeX::setProcessComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then comments are processed as TeX source otherwise they are ignored. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a9aa8e062b1eff3f6fb101cf51b507886\">processComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9aa8e062b1eff3f6fb101cf51b507886\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9aa8e062b1eff3f6fb101cf51b507886\">&#9670;&nbsp;</a></span>processComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTeX::processComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if comments are processed as TeX source.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a1895725812d581b40913c1a85d2ab533\">setProcessComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a479ca70b474910355294d1fcec011572\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a479ca70b474910355294d1fcec011572\">&#9670;&nbsp;</a></span>setProcessIf()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerTeX::setProcessIf </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>enable</em> is true then \\if&lt;unknown&gt; processed is processed as a command. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#aa230583b6c0a067894ffbd4ff3feee18\">processIf()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa230583b6c0a067894ffbd4ff3feee18\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa230583b6c0a067894ffbd4ff3feee18\">&#9670;&nbsp;</a></span>processIf()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTeX::processIf </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if \\if&lt;unknown&gt; is processed as a command.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerTeX.html#a479ca70b474910355294d1fcec011572\">setProcessIf()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a68e2eaca494e93937f896bd60b86429c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a68e2eaca494e93937f896bd60b86429c\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTeX::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aab7c86d0058b7c8541b0fc7be043f902\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aab7c86d0058b7c8541b0fc7be043f902\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerTeX::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerVHDL-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerVHDL Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ae259747dcdaff0bffe5da604d93ee4a5\">Attribute</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aad362dd8a212974c01e61d12c8991b7f\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac22bd7eac094ca7e6f5ba2b0f65124ad\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a4e88c5013c5e1a80ecd777322b07d4ab\">CommentBlock</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9e1bb162045d720665c7d463e3824476\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a58b45bf1904760b66784b6193100237b\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a6dbcaf590be7759f18699593c95c69e6\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a8ab227fcb9ba5da466b2d8eded96af70\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a7ea95f77a5a0ae539b306473c3b808db\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a2a1215dab25c15adf3c1bd6a5b063f91\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a367d2a52388bd2602642f4b5dc01bba2\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a6443ca03dcf722445e6627e9991bb10c\">foldAtBegin</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a46e8e5909bfc92669cf155317ecb6fe9\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#afd8eebb9ee14760d1529f614f18a2e52\">foldAtParenthesis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a043411367c3fa915c8f4797cc51d0c8c\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab72a8603cda3b24dfa6eeed5c6a7ca93\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a0e6155fe6a0e10f1301072cb73d5ecc5\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab519e29e6205cdeeb66d8d5e1e90a4d0\">KeywordSet7</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a2a8cd041dea81adb54a869c17ee4c8ba\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#abf1a8dc25c7bd5d272c119d3c3e9e369\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9b0cba57f797ebaf8d98eda980c171d7\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab027e96558ca9bd809cb4032b1aeb1ce\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a2260bd1206a91b7f9487e9ffe366732f\">QsciLexerVHDL</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a46a01d03d516e909c8696fa3f9910c1f\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aa60e141b7b1a7aac51d79ad2c27c4c93\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a7f8da8d7fe8301cd49926b896bf5e286\">setFoldAtBegin</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#ae8c0599c4eb74db6caa8624bcc416a8b\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#ad6328325f4c46dce0226712e9db3bba7\">setFoldAtParenthesis</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#af41d62ccd061b840e3eb2e9e2b26d6f5\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a40d1ca24b672c13e9e7e69add2f5ee42\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac0e0b6c72ddc65750f5f0e347a212543\">StandardFunction</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a5aa1000c3189173cae05443b809e1471\">StandardOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a54f69bab09ed1818a5aab51fd3569531\">StandardPackage</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a341ea56a3223fe36e9d89157c6e3b1d5\">StandardType</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ad62daedcc5bd7ae90562a1f95a982f09\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300af2479b7be15f744baac9ef19fa7bfc7e\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a0ed58ff3726deb2215eaff2c1892bc9b\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab4dd4635d954113eecb698c46395d0b\">~QsciLexerVHDL</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerVHDL.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerVHDL Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerVHDL-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerVHDL Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexervhdl.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:aab5145bfdabbf4713c171f037424d300\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a58b45bf1904760b66784b6193100237b\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac22bd7eac094ca7e6f5ba2b0f65124ad\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9e1bb162045d720665c7d463e3824476\">CommentLine</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9b0cba57f797ebaf8d98eda980c171d7\">Number</a> = 3, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ad62daedcc5bd7ae90562a1f95a982f09\">String</a> = 4, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab027e96558ca9bd809cb4032b1aeb1ce\">Operator</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab72a8603cda3b24dfa6eeed5c6a7ca93\">Identifier</a> = 6, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300af2479b7be15f744baac9ef19fa7bfc7e\">UnclosedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a0e6155fe6a0e10f1301072cb73d5ecc5\">Keyword</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a5aa1000c3189173cae05443b809e1471\">StandardOperator</a> = 9, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ae259747dcdaff0bffe5da604d93ee4a5\">Attribute</a> = 10, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac0e0b6c72ddc65750f5f0e347a212543\">StandardFunction</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a54f69bab09ed1818a5aab51fd3569531\">StandardPackage</a> = 12, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a341ea56a3223fe36e9d89157c6e3b1d5\">StandardType</a> = 13, \n<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab519e29e6205cdeeb66d8d5e1e90a4d0\">KeywordSet7</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a4e88c5013c5e1a80ecd777322b07d4ab\">CommentBlock</a> = 15\n<br />\n }</td></tr>\n<tr class=\"separator:aab5145bfdabbf4713c171f037424d300\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:af41d62ccd061b840e3eb2e9e2b26d6f5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#af41d62ccd061b840e3eb2e9e2b26d6f5\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:af41d62ccd061b840e3eb2e9e2b26d6f5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a40d1ca24b672c13e9e7e69add2f5ee42\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a40d1ca24b672c13e9e7e69add2f5ee42\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a40d1ca24b672c13e9e7e69add2f5ee42\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae8c0599c4eb74db6caa8624bcc416a8b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#ae8c0599c4eb74db6caa8624bcc416a8b\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:ae8c0599c4eb74db6caa8624bcc416a8b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7f8da8d7fe8301cd49926b896bf5e286\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a7f8da8d7fe8301cd49926b896bf5e286\">setFoldAtBegin</a> (bool fold)</td></tr>\n<tr class=\"separator:a7f8da8d7fe8301cd49926b896bf5e286\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6328325f4c46dce0226712e9db3bba7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#ad6328325f4c46dce0226712e9db3bba7\">setFoldAtParenthesis</a> (bool fold)</td></tr>\n<tr class=\"separator:ad6328325f4c46dce0226712e9db3bba7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a2260bd1206a91b7f9487e9ffe366732f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a2260bd1206a91b7f9487e9ffe366732f\">QsciLexerVHDL</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a2260bd1206a91b7f9487e9ffe366732f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab4dd4635d954113eecb698c46395d0b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab4dd4635d954113eecb698c46395d0b\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aab4dd4635d954113eecb698c46395d0b\">~QsciLexerVHDL</a> ()</td></tr>\n<tr class=\"separator:aab4dd4635d954113eecb698c46395d0b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a8cd041dea81adb54a869c17ee4c8ba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2a8cd041dea81adb54a869c17ee4c8ba\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a2a8cd041dea81adb54a869c17ee4c8ba\">language</a> () const</td></tr>\n<tr class=\"separator:a2a8cd041dea81adb54a869c17ee4c8ba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf1a8dc25c7bd5d272c119d3c3e9e369\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#abf1a8dc25c7bd5d272c119d3c3e9e369\">lexer</a> () const</td></tr>\n<tr class=\"separator:abf1a8dc25c7bd5d272c119d3c3e9e369\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad362dd8a212974c01e61d12c8991b7f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aad362dd8a212974c01e61d12c8991b7f\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aad362dd8a212974c01e61d12c8991b7f\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:aad362dd8a212974c01e61d12c8991b7f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6dbcaf590be7759f18699593c95c69e6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a6dbcaf590be7759f18699593c95c69e6\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a6dbcaf590be7759f18699593c95c69e6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8ab227fcb9ba5da466b2d8eded96af70\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8ab227fcb9ba5da466b2d8eded96af70\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a8ab227fcb9ba5da466b2d8eded96af70\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a8ab227fcb9ba5da466b2d8eded96af70\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ea95f77a5a0ae539b306473c3b808db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ea95f77a5a0ae539b306473c3b808db\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a7ea95f77a5a0ae539b306473c3b808db\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a7ea95f77a5a0ae539b306473c3b808db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a1215dab25c15adf3c1bd6a5b063f91\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a2a1215dab25c15adf3c1bd6a5b063f91\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a2a1215dab25c15adf3c1bd6a5b063f91\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aed2f3934c2fe336324d6e79526c2f7a8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:aed2f3934c2fe336324d6e79526c2f7a8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a367d2a52388bd2602642f4b5dc01bba2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a367d2a52388bd2602642f4b5dc01bba2\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a367d2a52388bd2602642f4b5dc01bba2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa60e141b7b1a7aac51d79ad2c27c4c93\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#aa60e141b7b1a7aac51d79ad2c27c4c93\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:aa60e141b7b1a7aac51d79ad2c27c4c93\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae2d2e6936f7b0f6f9b891ac14dff7bc0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">foldComments</a> () const</td></tr>\n<tr class=\"separator:ae2d2e6936f7b0f6f9b891ac14dff7bc0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a043411367c3fa915c8f4797cc51d0c8c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a043411367c3fa915c8f4797cc51d0c8c\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:a043411367c3fa915c8f4797cc51d0c8c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46e8e5909bfc92669cf155317ecb6fe9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a46e8e5909bfc92669cf155317ecb6fe9\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:a46e8e5909bfc92669cf155317ecb6fe9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6443ca03dcf722445e6627e9991bb10c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a6443ca03dcf722445e6627e9991bb10c\">foldAtBegin</a> () const</td></tr>\n<tr class=\"separator:a6443ca03dcf722445e6627e9991bb10c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afd8eebb9ee14760d1529f614f18a2e52\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#afd8eebb9ee14760d1529f614f18a2e52\">foldAtParenthesis</a> () const</td></tr>\n<tr class=\"separator:afd8eebb9ee14760d1529f614f18a2e52\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a46a01d03d516e909c8696fa3f9910c1f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a46a01d03d516e909c8696fa3f9910c1f\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a46a01d03d516e909c8696fa3f9910c1f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0ed58ff3726deb2215eaff2c1892bc9b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVHDL.html#a0ed58ff3726deb2215eaff2c1892bc9b\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a0ed58ff3726deb2215eaff2c1892bc9b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerVHDL.html\" title=\"The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.\">QsciLexerVHDL</a> class encapsulates the Scintilla VHDL lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"aab5145bfdabbf4713c171f037424d300\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aab5145bfdabbf4713c171f037424d300\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the VHDL lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a58b45bf1904760b66784b6193100237b\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ac22bd7eac094ca7e6f5ba2b0f65124ad\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a9e1bb162045d720665c7d463e3824476\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A comment line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a9b0cba57f797ebaf8d98eda980c171d7\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ad62daedcc5bd7ae90562a1f95a982f09\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ab027e96558ca9bd809cb4032b1aeb1ce\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ab72a8603cda3b24dfa6eeed5c6a7ca93\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300af2479b7be15f744baac9ef19fa7bfc7e\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a0e6155fe6a0e10f1301072cb73d5ecc5\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a5aa1000c3189173cae05443b809e1471\"></a>StandardOperator&#160;</td><td class=\"fielddoc\"><p>A standard operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ae259747dcdaff0bffe5da604d93ee4a5\"></a>Attribute&#160;</td><td class=\"fielddoc\"><p>An attribute. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ac0e0b6c72ddc65750f5f0e347a212543\"></a>StandardFunction&#160;</td><td class=\"fielddoc\"><p>A standard function. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a54f69bab09ed1818a5aab51fd3569531\"></a>StandardPackage&#160;</td><td class=\"fielddoc\"><p>A standard package. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a341ea56a3223fe36e9d89157c6e3b1d5\"></a>StandardType&#160;</td><td class=\"fielddoc\"><p>A standard type. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300ab519e29e6205cdeeb66d8d5e1e90a4d0\"></a>KeywordSet7&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 7. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aab5145bfdabbf4713c171f037424d300a4e88c5013c5e1a80ecd777322b07d4ab\"></a>CommentBlock&#160;</td><td class=\"fielddoc\"><p>A comment block. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a2260bd1206a91b7f9487e9ffe366732f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2260bd1206a91b7f9487e9ffe366732f\">&#9670;&nbsp;</a></span>QsciLexerVHDL()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerVHDL::QsciLexerVHDL </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerVHDL.html\" title=\"The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.\">QsciLexerVHDL</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"abf1a8dc25c7bd5d272c119d3c3e9e369\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf1a8dc25c7bd5d272c119d3c3e9e369\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerVHDL::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a6dbcaf590be7759f18699593c95c69e6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6dbcaf590be7759f18699593c95c69e6\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerVHDL::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a2a1215dab25c15adf3c1bd6a5b063f91\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a2a1215dab25c15adf3c1bd6a5b063f91\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2a1215dab25c15adf3c1bd6a5b063f91\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerVHDL::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a6dbcaf590be7759f18699593c95c69e6\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aed2f3934c2fe336324d6e79526c2f7a8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aed2f3934c2fe336324d6e79526c2f7a8\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerVHDL::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a367d2a52388bd2602642f4b5dc01bba2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a367d2a52388bd2602642f4b5dc01bba2\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerVHDL::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa60e141b7b1a7aac51d79ad2c27c4c93\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa60e141b7b1a7aac51d79ad2c27c4c93\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVHDL::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ae2d2e6936f7b0f6f9b891ac14dff7bc0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#af41d62ccd061b840e3eb2e9e2b26d6f5\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a043411367c3fa915c8f4797cc51d0c8c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a043411367c3fa915c8f4797cc51d0c8c\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a40d1ca24b672c13e9e7e69add2f5ee42\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a46e8e5909bfc92669cf155317ecb6fe9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a46e8e5909bfc92669cf155317ecb6fe9\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if else blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#ae8c0599c4eb74db6caa8624bcc416a8b\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6443ca03dcf722445e6627e9991bb10c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6443ca03dcf722445e6627e9991bb10c\">&#9670;&nbsp;</a></span>foldAtBegin()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::foldAtBegin </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if begin blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a7f8da8d7fe8301cd49926b896bf5e286\">setFoldAtBegin()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afd8eebb9ee14760d1529f614f18a2e52\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afd8eebb9ee14760d1529f614f18a2e52\">&#9670;&nbsp;</a></span>foldAtParenthesis()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::foldAtParenthesis </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if blocks can be folded at a parenthesis.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#ad6328325f4c46dce0226712e9db3bba7\">setFoldAtParenthesis()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af41d62ccd061b840e3eb2e9e2b26d6f5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af41d62ccd061b840e3eb2e9e2b26d6f5\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerVHDL::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a40d1ca24b672c13e9e7e69add2f5ee42\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a40d1ca24b672c13e9e7e69add2f5ee42\">&#9670;&nbsp;</a></span>setFoldCompact</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerVHDL::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a043411367c3fa915c8f4797cc51d0c8c\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae8c0599c4eb74db6caa8624bcc416a8b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae8c0599c4eb74db6caa8624bcc416a8b\">&#9670;&nbsp;</a></span>setFoldAtElse</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerVHDL::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then else blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a46e8e5909bfc92669cf155317ecb6fe9\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7f8da8d7fe8301cd49926b896bf5e286\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7f8da8d7fe8301cd49926b896bf5e286\">&#9670;&nbsp;</a></span>setFoldAtBegin</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerVHDL::setFoldAtBegin </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then begin blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#a6443ca03dcf722445e6627e9991bb10c\">foldAtBegin()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad6328325f4c46dce0226712e9db3bba7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad6328325f4c46dce0226712e9db3bba7\">&#9670;&nbsp;</a></span>setFoldAtParenthesis</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerVHDL::setFoldAtParenthesis </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then blocks can be folded at a parenthesis. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVHDL.html#afd8eebb9ee14760d1529f614f18a2e52\">foldAtParenthesis()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a46a01d03d516e909c8696fa3f9910c1f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a46a01d03d516e909c8696fa3f9910c1f\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a0ed58ff3726deb2215eaff2c1892bc9b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0ed58ff3726deb2215eaff2c1892bc9b\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVHDL::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerVerilog-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerVerilog Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a003413f4436ff46553e10db632496288\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa728da173f7b8baae14eae147d5f9825c\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa35bfbe7dfa56b39c896d3058ea913045\">CommentBang</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa73908fe2dc83b644b9b15aec0a6d65f\">CommentKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa40b38f212ceb6dd21a31b474ac524b28\">CommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf1faad6166ac7eb8ec701ee8e075d73f\">DeclareInputOutputPort</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa87953315b5bfbecd097e6cd2a5545deb\">DeclareInputPort</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa82c4530efbc0152d96e4f9f2c8b5922\">DeclareOutputPort</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa063bcfc2ad0162efe4015fec0f50dea8\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a410bcada9eb227aa5689304b861c9997\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a59ad64688b9fb852792b3fa15c2b125d\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#aaeb3a87a051af9cc20b5319ed8cd6ca1\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#adbaf4979024f12f9382df61cba0e75e8\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ac6d9fdf26d30d14707e0b0778f80d54d\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a1bb598533be61e117a252d06cf5e4a4b\">foldAtElse</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a8a4389bd37a806046a7c0b51cc1a6ead\">foldAtModule</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a7e9725132ec5521255eb7d9ac81ae853\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ae1f192b93ad970cb792b5dcac4aa22d8\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ad70da8e3f3695cfc277d02ab9c0396d3\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa5b940ddc4db712f69dbf6753cd362ebf\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveComment</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentBang</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveCommentKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveCommentLine</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDeclareInputOutputPort</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDeclareInputPort</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveDeclareOutputPort</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveDefault</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveIdentifier</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveKeyword</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveKeywordSet2</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveNumber</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveOperator</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactivePortConnection</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactivePreprocessor</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveSystemTask</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>InactiveUnclosedString</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>InactiveUserKeywordSet</b> enum value (defined in <a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa2e3ce56242b141b7666f3f2afae71e9e\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaacda550e099f252c45c8bb1523a1640d\">KeywordSet2</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a79e3ff22e68d54f640bd2f7747a7a193\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#abc3666027fe7f0b8ae78ee34e3276069\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa43313b93162231653a6aa703c53c5f23\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa24c57f9c1818421c5f65a8c0c02efb04\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3dd763156bf7395a20a62d80cebe1e89\">PortConnection</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3e547dfc36110bbc544486aa98400c78\">Preprocessor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a3360bca839d08fdd2acf546b19b2fddd\">QsciLexerVerilog</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ad476092b3970fe44068dd023f8becc96\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a7b84f78b170cec259efb2f367c54ce4b\">setFoldAtElse</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af57050a2bcb9d1d285199159da0ba6e0\">setFoldAtModule</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ac79b616c3ba0872856d90b119bfd81b8\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a17ff342a5c1d94ce760a3dc02cfcda1d\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ab7c13e959940db389fe0daeb96267d8e\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa493689dbaca8a280da2285e1d85e8bc1\">String</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa6cc28d1f75a45d11566a7f19947e4cf1\">SystemTask</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf996ceeff4869191f640d2dc18d7c016\">UnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa080431ca218b5ae5653c49c9caf55727\">UserKeywordSet</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#abb1544042444a8147123b5597e096ea2\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a7fd3e6c1faee7c7986db2ec4c0b793ae\">~QsciLexerVerilog</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerVerilog.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerVerilog Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerVerilog-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerVerilog Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerverilog.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:af0b4c89d35f5e39bcb7c5b25a6c3c7ba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa063bcfc2ad0162efe4015fec0f50dea8\">Default</a> = 0, \n<b>InactiveDefault</b> = Default + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa728da173f7b8baae14eae147d5f9825c\">Comment</a> = 1, \n<br />\n&#160;&#160;<b>InactiveComment</b> = Comment + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa40b38f212ceb6dd21a31b474ac524b28\">CommentLine</a> = 2, \n<b>InactiveCommentLine</b> = CommentLine + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa35bfbe7dfa56b39c896d3058ea913045\">CommentBang</a> = 3, \n<b>InactiveCommentBang</b> = CommentBang + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa43313b93162231653a6aa703c53c5f23\">Number</a> = 4, \n<br />\n&#160;&#160;<b>InactiveNumber</b> = Number + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa2e3ce56242b141b7666f3f2afae71e9e\">Keyword</a> = 5, \n<b>InactiveKeyword</b> = Keyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa493689dbaca8a280da2285e1d85e8bc1\">String</a> = 6, \n<b>InactiveString</b> = String + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaacda550e099f252c45c8bb1523a1640d\">KeywordSet2</a> = 7, \n<br />\n&#160;&#160;<b>InactiveKeywordSet2</b> = KeywordSet2 + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa6cc28d1f75a45d11566a7f19947e4cf1\">SystemTask</a> = 8, \n<b>InactiveSystemTask</b> = SystemTask + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3e547dfc36110bbc544486aa98400c78\">Preprocessor</a> = 9, \n<b>InactivePreprocessor</b> = Preprocessor + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa24c57f9c1818421c5f65a8c0c02efb04\">Operator</a> = 10, \n<br />\n&#160;&#160;<b>InactiveOperator</b> = Operator + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa5b940ddc4db712f69dbf6753cd362ebf\">Identifier</a> = 11, \n<b>InactiveIdentifier</b> = Identifier + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf996ceeff4869191f640d2dc18d7c016\">UnclosedString</a> = 12, \n<b>InactiveUnclosedString</b> = UnclosedString + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa080431ca218b5ae5653c49c9caf55727\">UserKeywordSet</a> = 19, \n<br />\n&#160;&#160;<b>InactiveUserKeywordSet</b> = UserKeywordSet + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa73908fe2dc83b644b9b15aec0a6d65f\">CommentKeyword</a> = 20, \n<b>InactiveCommentKeyword</b> = CommentKeyword + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa87953315b5bfbecd097e6cd2a5545deb\">DeclareInputPort</a> = 21, \n<b>InactiveDeclareInputPort</b> = DeclareInputPort + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa82c4530efbc0152d96e4f9f2c8b5922\">DeclareOutputPort</a> = 22, \n<br />\n&#160;&#160;<b>InactiveDeclareOutputPort</b> = DeclareOutputPort + 64, \n<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf1faad6166ac7eb8ec701ee8e075d73f\">DeclareInputOutputPort</a> = 23, \n<b>InactiveDeclareInputOutputPort</b> = DeclareInputOutputPort + 64, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3dd763156bf7395a20a62d80cebe1e89\">PortConnection</a> = 24, \n<b>InactivePortConnection</b> = PortConnection + 64\n<br />\n }</td></tr>\n<tr class=\"separator:af0b4c89d35f5e39bcb7c5b25a6c3c7ba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a3360bca839d08fdd2acf546b19b2fddd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a3360bca839d08fdd2acf546b19b2fddd\">QsciLexerVerilog</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a3360bca839d08fdd2acf546b19b2fddd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7fd3e6c1faee7c7986db2ec4c0b793ae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7fd3e6c1faee7c7986db2ec4c0b793ae\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a7fd3e6c1faee7c7986db2ec4c0b793ae\">~QsciLexerVerilog</a> ()</td></tr>\n<tr class=\"separator:a7fd3e6c1faee7c7986db2ec4c0b793ae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79e3ff22e68d54f640bd2f7747a7a193\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a79e3ff22e68d54f640bd2f7747a7a193\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a79e3ff22e68d54f640bd2f7747a7a193\">language</a> () const</td></tr>\n<tr class=\"separator:a79e3ff22e68d54f640bd2f7747a7a193\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abc3666027fe7f0b8ae78ee34e3276069\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#abc3666027fe7f0b8ae78ee34e3276069\">lexer</a> () const</td></tr>\n<tr class=\"separator:abc3666027fe7f0b8ae78ee34e3276069\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a003413f4436ff46553e10db632496288\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a003413f4436ff46553e10db632496288\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a003413f4436ff46553e10db632496288\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:a003413f4436ff46553e10db632496288\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abb1544042444a8147123b5597e096ea2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abb1544042444a8147123b5597e096ea2\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#abb1544042444a8147123b5597e096ea2\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:abb1544042444a8147123b5597e096ea2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a410bcada9eb227aa5689304b861c9997\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a410bcada9eb227aa5689304b861c9997\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a410bcada9eb227aa5689304b861c9997\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a59ad64688b9fb852792b3fa15c2b125d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a59ad64688b9fb852792b3fa15c2b125d\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a59ad64688b9fb852792b3fa15c2b125d\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a59ad64688b9fb852792b3fa15c2b125d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaeb3a87a051af9cc20b5319ed8cd6ca1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aaeb3a87a051af9cc20b5319ed8cd6ca1\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#aaeb3a87a051af9cc20b5319ed8cd6ca1\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:aaeb3a87a051af9cc20b5319ed8cd6ca1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adbaf4979024f12f9382df61cba0e75e8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#adbaf4979024f12f9382df61cba0e75e8\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:adbaf4979024f12f9382df61cba0e75e8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aebb96727a845f9547a60848f6163d461\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:aebb96727a845f9547a60848f6163d461\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac6d9fdf26d30d14707e0b0778f80d54d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ac6d9fdf26d30d14707e0b0778f80d54d\">description</a> (int style) const</td></tr>\n<tr class=\"separator:ac6d9fdf26d30d14707e0b0778f80d54d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad476092b3970fe44068dd023f8becc96\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ad476092b3970fe44068dd023f8becc96\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ad476092b3970fe44068dd023f8becc96\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7b84f78b170cec259efb2f367c54ce4b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a7b84f78b170cec259efb2f367c54ce4b\">setFoldAtElse</a> (bool fold)</td></tr>\n<tr class=\"separator:a7b84f78b170cec259efb2f367c54ce4b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1bb598533be61e117a252d06cf5e4a4b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a1bb598533be61e117a252d06cf5e4a4b\">foldAtElse</a> () const</td></tr>\n<tr class=\"separator:a1bb598533be61e117a252d06cf5e4a4b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac79b616c3ba0872856d90b119bfd81b8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ac79b616c3ba0872856d90b119bfd81b8\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:ac79b616c3ba0872856d90b119bfd81b8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e9725132ec5521255eb7d9ac81ae853\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a7e9725132ec5521255eb7d9ac81ae853\">foldComments</a> () const</td></tr>\n<tr class=\"separator:a7e9725132ec5521255eb7d9ac81ae853\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a17ff342a5c1d94ce760a3dc02cfcda1d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a17ff342a5c1d94ce760a3dc02cfcda1d\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a17ff342a5c1d94ce760a3dc02cfcda1d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae1f192b93ad970cb792b5dcac4aa22d8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ae1f192b93ad970cb792b5dcac4aa22d8\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:ae1f192b93ad970cb792b5dcac4aa22d8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7c13e959940db389fe0daeb96267d8e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ab7c13e959940db389fe0daeb96267d8e\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:ab7c13e959940db389fe0daeb96267d8e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad70da8e3f3695cfc277d02ab9c0396d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#ad70da8e3f3695cfc277d02ab9c0396d3\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:ad70da8e3f3695cfc277d02ab9c0396d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af57050a2bcb9d1d285199159da0ba6e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#af57050a2bcb9d1d285199159da0ba6e0\">setFoldAtModule</a> (bool fold)</td></tr>\n<tr class=\"separator:af57050a2bcb9d1d285199159da0ba6e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a4389bd37a806046a7c0b51cc1a6ead\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a8a4389bd37a806046a7c0b51cc1a6ead\">foldAtModule</a> () const</td></tr>\n<tr class=\"separator:a8a4389bd37a806046a7c0b51cc1a6ead\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:aa1bd0effe3ed23e2bb3334b778efb74a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:aa1bd0effe3ed23e2bb3334b778efb74a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a97b418522a5866d04d9553931dd1c7f4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a97b418522a5866d04d9553931dd1c7f4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerVerilog.html\" title=\"The QsciLexerVerilog class encapsulates the Scintilla Verilog lexer.\">QsciLexerVerilog</a> class encapsulates the Scintilla Verilog lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7ba\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af0b4c89d35f5e39bcb7c5b25a6c3c7ba\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the Verilog lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa063bcfc2ad0162efe4015fec0f50dea8\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa728da173f7b8baae14eae147d5f9825c\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa40b38f212ceb6dd21a31b474ac524b28\"></a>CommentLine&#160;</td><td class=\"fielddoc\"><p>A line comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa35bfbe7dfa56b39c896d3058ea913045\"></a>CommentBang&#160;</td><td class=\"fielddoc\"><p>A bang comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa43313b93162231653a6aa703c53c5f23\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa2e3ce56242b141b7666f3f2afae71e9e\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa493689dbaca8a280da2285e1d85e8bc1\"></a>String&#160;</td><td class=\"fielddoc\"><p>A string. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baaacda550e099f252c45c8bb1523a1640d\"></a>KeywordSet2&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 2. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">keywords()</a> to make use of this style. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa6cc28d1f75a45d11566a7f19947e4cf1\"></a>SystemTask&#160;</td><td class=\"fielddoc\"><p>A system task. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa3e547dfc36110bbc544486aa98400c78\"></a>Preprocessor&#160;</td><td class=\"fielddoc\"><p>A pre-processor block. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa24c57f9c1818421c5f65a8c0c02efb04\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa5b940ddc4db712f69dbf6753cd362ebf\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baaf996ceeff4869191f640d2dc18d7c016\"></a>UnclosedString&#160;</td><td class=\"fielddoc\"><p>The end of a line where a string is not closed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa080431ca218b5ae5653c49c9caf55727\"></a>UserKeywordSet&#160;</td><td class=\"fielddoc\"><p>A keyword defined in keyword set number 4. The class must be sub-classed and re-implement <a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">keywords()</a> to make use of this style. This set is intended to be used for user defined identifiers and tasks. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baaa73908fe2dc83b644b9b15aec0a6d65f\"></a>CommentKeyword&#160;</td><td class=\"fielddoc\"><p>A keyword comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa87953315b5bfbecd097e6cd2a5545deb\"></a>DeclareInputPort&#160;</td><td class=\"fielddoc\"><p>An input port declaration. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baaa82c4530efbc0152d96e4f9f2c8b5922\"></a>DeclareOutputPort&#160;</td><td class=\"fielddoc\"><p>An output port declaration. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baaf1faad6166ac7eb8ec701ee8e075d73f\"></a>DeclareInputOutputPort&#160;</td><td class=\"fielddoc\"><p>An input/output port declaration. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"af0b4c89d35f5e39bcb7c5b25a6c3c7baa3dd763156bf7395a20a62d80cebe1e89\"></a>PortConnection&#160;</td><td class=\"fielddoc\"><p>A port connection. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a3360bca839d08fdd2acf546b19b2fddd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3360bca839d08fdd2acf546b19b2fddd\">&#9670;&nbsp;</a></span>QsciLexerVerilog()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerVerilog::QsciLexerVerilog </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerVerilog.html\" title=\"The QsciLexerVerilog class encapsulates the Scintilla Verilog lexer.\">QsciLexerVerilog</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"abc3666027fe7f0b8ae78ee34e3276069\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abc3666027fe7f0b8ae78ee34e3276069\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerVerilog::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a410bcada9eb227aa5689304b861c9997\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a410bcada9eb227aa5689304b861c9997\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerVerilog::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#adbaf4979024f12f9382df61cba0e75e8\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"adbaf4979024f12f9382df61cba0e75e8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adbaf4979024f12f9382df61cba0e75e8\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerVerilog::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a410bcada9eb227aa5689304b861c9997\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aebb96727a845f9547a60848f6163d461\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aebb96727a845f9547a60848f6163d461\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerVerilog::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac6d9fdf26d30d14707e0b0778f80d54d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac6d9fdf26d30d14707e0b0778f80d54d\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerVerilog::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ad476092b3970fe44068dd023f8becc96\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad476092b3970fe44068dd023f8becc96\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVerilog::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7b84f78b170cec259efb2f367c54ce4b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7b84f78b170cec259efb2f367c54ce4b\">&#9670;&nbsp;</a></span>setFoldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVerilog::setFoldAtElse </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then \"} else {\" lines can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a1bb598533be61e117a252d06cf5e4a4b\">foldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1bb598533be61e117a252d06cf5e4a4b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1bb598533be61e117a252d06cf5e4a4b\">&#9670;&nbsp;</a></span>foldAtElse()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::foldAtElse </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if \"} else {\" lines can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a7b84f78b170cec259efb2f367c54ce4b\">setFoldAtElse()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac79b616c3ba0872856d90b119bfd81b8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac79b616c3ba0872856d90b119bfd81b8\">&#9670;&nbsp;</a></span>setFoldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVerilog::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a7e9725132ec5521255eb7d9ac81ae853\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7e9725132ec5521255eb7d9ac81ae853\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7e9725132ec5521255eb7d9ac81ae853\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#ac79b616c3ba0872856d90b119bfd81b8\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a17ff342a5c1d94ce760a3dc02cfcda1d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a17ff342a5c1d94ce760a3dc02cfcda1d\">&#9670;&nbsp;</a></span>setFoldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVerilog::setFoldCompact </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then trailing blank lines are included in a fold block. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#ae1f192b93ad970cb792b5dcac4aa22d8\">foldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae1f192b93ad970cb792b5dcac4aa22d8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae1f192b93ad970cb792b5dcac4aa22d8\">&#9670;&nbsp;</a></span>foldCompact()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::foldCompact </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if trailing blank lines are included in a fold block.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a17ff342a5c1d94ce760a3dc02cfcda1d\">setFoldCompact()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab7c13e959940db389fe0daeb96267d8e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab7c13e959940db389fe0daeb96267d8e\">&#9670;&nbsp;</a></span>setFoldPreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVerilog::setFoldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then preprocessor blocks can be folded. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#ad70da8e3f3695cfc277d02ab9c0396d3\">foldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad70da8e3f3695cfc277d02ab9c0396d3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad70da8e3f3695cfc277d02ab9c0396d3\">&#9670;&nbsp;</a></span>foldPreprocessor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::foldPreprocessor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if preprocessor blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#ab7c13e959940db389fe0daeb96267d8e\">setFoldPreprocessor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af57050a2bcb9d1d285199159da0ba6e0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af57050a2bcb9d1d285199159da0ba6e0\">&#9670;&nbsp;</a></span>setFoldAtModule()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerVerilog::setFoldAtModule </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then modules can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a8a4389bd37a806046a7c0b51cc1a6ead\">foldAtModule()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8a4389bd37a806046a7c0b51cc1a6ead\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8a4389bd37a806046a7c0b51cc1a6ead\">&#9670;&nbsp;</a></span>foldAtModule()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::foldAtModule </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if modules can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#af57050a2bcb9d1d285199159da0ba6e0\">setFoldAtModule()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa1bd0effe3ed23e2bb3334b778efb74a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa1bd0effe3ed23e2bb3334b778efb74a\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">writeProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a97b418522a5866d04d9553931dd1c7f4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a97b418522a5866d04d9553931dd1c7f4\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerVerilog::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">readProperties()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerXML-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerXML Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\">ASPAtStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\">ASPJavaScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\">ASPJavaScriptCommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\">ASPJavaScriptCommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\">ASPJavaScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\">ASPJavaScriptDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\">ASPJavaScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\">ASPJavaScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\">ASPJavaScriptRegex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\">ASPJavaScriptSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\">ASPJavaScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\">ASPJavaScriptSymbol</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\">ASPJavaScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\">ASPJavaScriptWord</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\">ASPPythonClassName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\">ASPPythonComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\">ASPPythonDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\">ASPPythonDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\">ASPPythonFunctionMethodName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\">ASPPythonIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\">ASPPythonKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\">ASPPythonNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\">ASPPythonOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\">ASPPythonSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\">ASPPythonStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\">ASPPythonTripleDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\">ASPPythonTripleSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\">ASPStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\">ASPVBScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\">ASPVBScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\">ASPVBScriptIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\">ASPVBScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\">ASPVBScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\">ASPVBScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\">ASPVBScriptString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\">ASPVBScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\">ASPXCComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\">Attribute</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">caseSensitiveTags</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\">CDATA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a995fe59f125a7cb27cf178b9e83015bc\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a24d4902dc121381ae5a18a4b8e802479\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">djangoTemplates</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\">Entity</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">foldCompact</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">foldPreprocessor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">foldScriptComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">foldScriptHeredocs</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\">HTMLComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\">HTMLDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\">HTMLNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\">HTMLSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\">HTMLValue</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\">JavaScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\">JavaScriptCommentDoc</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\">JavaScriptCommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\">JavaScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\">JavaScriptDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\">JavaScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\">JavaScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\">JavaScriptRegex</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\">JavaScriptSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\">JavaScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\">JavaScriptSymbol</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\">JavaScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\">JavaScriptWord</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a801d7cef474dcf23d93e2f2f53034abe\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">makoTemplates</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\">OtherInTag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\">PHPComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\">PHPCommentLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\">PHPDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\">PHPDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\">PHPDoubleQuotedVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\">PHPKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\">PHPNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\">PHPOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\">PHPSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\">PHPStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\">PHPVariable</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\">PythonClassName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\">PythonComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\">PythonDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\">PythonDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\">PythonFunctionMethodName</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\">PythonIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\">PythonKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\">PythonNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\">PythonOperator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\">PythonSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\">PythonStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\">PythonTripleDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\">PythonTripleSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a9fc5fef8f86ef0f1162a18ca4cc88aa1\">QsciLexerXML</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\">Script</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a96ad1f818e51a3606404d24bf7a28a91\">scriptsStyled</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">setCaseSensitiveTags</a>(bool sens)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">setDjangoTemplates</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">setFoldCompact</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">setFoldPreprocessor</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">setFoldScriptComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">setFoldScriptHeredocs</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">setMakoTemplates</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a7bbfdb6b269b6e52791fcbf1df60731e\">setScriptsStyled</a>(bool styled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\">SGMLBlockDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\">SGMLCommand</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\">SGMLComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\">SGMLDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\">SGMLDoubleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\">SGMLEntity</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\">SGMLError</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\">SGMLParameter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\">SGMLParameterComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\">SGMLSingleQuotedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\">SGMLSpecial</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\">Tag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\">UnknownAttribute</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\">UnknownTag</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\">VBScriptComment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\">VBScriptDefault</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\">VBScriptIdentifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\">VBScriptKeyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\">VBScriptNumber</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\">VBScriptStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\">VBScriptString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\">VBScriptUnclosedString</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\">XMLEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\">XMLStart</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\">XMLTagEnd</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">~QsciLexerHTML</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html#a89f9fc2c333d559ed9489cc6b121b91e\">~QsciLexerXML</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerXML.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerXML Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerXML-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerXML Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexerxml.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a9fc5fef8f86ef0f1162a18ca4cc88aa1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a9fc5fef8f86ef0f1162a18ca4cc88aa1\">QsciLexerXML</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a9fc5fef8f86ef0f1162a18ca4cc88aa1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a89f9fc2c333d559ed9489cc6b121b91e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a89f9fc2c333d559ed9489cc6b121b91e\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a89f9fc2c333d559ed9489cc6b121b91e\">~QsciLexerXML</a> ()</td></tr>\n<tr class=\"separator:a89f9fc2c333d559ed9489cc6b121b91e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a801d7cef474dcf23d93e2f2f53034abe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a801d7cef474dcf23d93e2f2f53034abe\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a801d7cef474dcf23d93e2f2f53034abe\">language</a> () const</td></tr>\n<tr class=\"separator:a801d7cef474dcf23d93e2f2f53034abe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae0bb41012d9d98366b435f9a534ce7a1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">lexer</a> () const</td></tr>\n<tr class=\"separator:ae0bb41012d9d98366b435f9a534ce7a1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36f390db2c97da9c271b0d1ba2794278\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a36f390db2c97da9c271b0d1ba2794278\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a995fe59f125a7cb27cf178b9e83015bc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a995fe59f125a7cb27cf178b9e83015bc\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a995fe59f125a7cb27cf178b9e83015bc\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a995fe59f125a7cb27cf178b9e83015bc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a24d4902dc121381ae5a18a4b8e802479\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a24d4902dc121381ae5a18a4b8e802479\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a24d4902dc121381ae5a18a4b8e802479\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:a24d4902dc121381ae5a18a4b8e802479\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a57ae4ff270b1c66316b0849ff9017677\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a57ae4ff270b1c66316b0849ff9017677\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab78937576c3c727f073921059ac87a59\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:ab78937576c3c727f073921059ac87a59\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a29937d422c25f17612c57e16a7bddaf1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:a29937d422c25f17612c57e16a7bddaf1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7bbfdb6b269b6e52791fcbf1df60731e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a7bbfdb6b269b6e52791fcbf1df60731e\">setScriptsStyled</a> (bool styled)</td></tr>\n<tr class=\"separator:a7bbfdb6b269b6e52791fcbf1df60731e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a96ad1f818e51a3606404d24bf7a28a91\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a96ad1f818e51a3606404d24bf7a28a91\">scriptsStyled</a> () const</td></tr>\n<tr class=\"separator:a96ad1f818e51a3606404d24bf7a28a91\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexerHTML\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexerHTML')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td></tr>\n<tr class=\"memitem:a4c5ae7bc7d27946b1b07b940ef30a093 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a4c5ae7bc7d27946b1b07b940ef30a093 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af031b3510193023158fb74ca637f79b2 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af031b3510193023158fb74ca637f79b2\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">~QsciLexerHTML</a> ()</td></tr>\n<tr class=\"separator:af031b3510193023158fb74ca637f79b2 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6ef21c59fd374d1d4893adcc1e3ee9b inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae6ef21c59fd374d1d4893adcc1e3ee9b\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:ae6ef21c59fd374d1d4893adcc1e3ee9b inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad12b328c98474857186af058726bd38d inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad12b328c98474857186af058726bd38d\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:ad12b328c98474857186af058726bd38d inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a638fcb2f0d2dd4be844881998cdb3b76 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">description</a> (int style) const</td></tr>\n<tr class=\"separator:a638fcb2f0d2dd4be844881998cdb3b76 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac53cb0d155aa3d81add74ee90585cb6a inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">caseSensitiveTags</a> () const</td></tr>\n<tr class=\"separator:ac53cb0d155aa3d81add74ee90585cb6a inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a59c9b8ff5d698d7e7e03ec2655a24764 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">setDjangoTemplates</a> (bool enabled)</td></tr>\n<tr class=\"separator:a59c9b8ff5d698d7e7e03ec2655a24764 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1379abf89d88a2dd7854f957b28656c5 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">djangoTemplates</a> () const</td></tr>\n<tr class=\"separator:a1379abf89d88a2dd7854f957b28656c5 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af861d2c565994b427514715fe95a80b7 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">foldCompact</a> () const</td></tr>\n<tr class=\"separator:af861d2c565994b427514715fe95a80b7 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2f3d753794280bfc09719e3ca521be83 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">foldPreprocessor</a> () const</td></tr>\n<tr class=\"separator:a2f3d753794280bfc09719e3ca521be83 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a51401044d3ad272ede84e1f2a128cce6 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">setFoldScriptComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a51401044d3ad272ede84e1f2a128cce6 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf885bb9d07591114c2a2cc5769bb02a inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">foldScriptComments</a> () const</td></tr>\n<tr class=\"separator:aaf885bb9d07591114c2a2cc5769bb02a inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a122450b5227d23ee119b2653b9e9be2f inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">setFoldScriptHeredocs</a> (bool fold)</td></tr>\n<tr class=\"separator:a122450b5227d23ee119b2653b9e9be2f inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabad8cc171c34609ee0d6c600a534334 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">foldScriptHeredocs</a> () const</td></tr>\n<tr class=\"separator:aabad8cc171c34609ee0d6c600a534334 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8553315e763e1e53f56dd4dbe6b3c3d7 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">setMakoTemplates</a> (bool enabled)</td></tr>\n<tr class=\"separator:a8553315e763e1e53f56dd4dbe6b3c3d7 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae669580d3e3332a9b310d1bf78251f07 inherit pub_methods_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">makoTemplates</a> () const</td></tr>\n<tr class=\"separator:ae669580d3e3332a9b310d1bf78251f07 inherit pub_methods_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a2acbf99b93c18d9a9f922c9e2894bf4f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a2acbf99b93c18d9a9f922c9e2894bf4f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1cf58cba78405397f793b6a9aff64035\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:a1cf58cba78405397f793b6a9aff64035\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_types_classQsciLexerHTML\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciLexerHTML')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td></tr>\n<tr class=\"memitem:af11a926b7f7329c39f6c029fec89ea42 inherit pub_types_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\">Tag</a> = 1, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\">UnknownTag</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\">Attribute</a> = 3, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\">UnknownAttribute</a> = 4, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\">HTMLNumber</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\">HTMLDoubleQuotedString</a> = 6, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\">HTMLSingleQuotedString</a> = 7, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\">OtherInTag</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\">HTMLComment</a> = 9, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\">Entity</a> = 10, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\">XMLTagEnd</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\">XMLStart</a> = 12, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\">XMLEnd</a> = 13, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\">Script</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\">ASPAtStart</a> = 15, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\">ASPStart</a> = 16, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\">CDATA</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\">PHPStart</a> = 18, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\">HTMLValue</a> = 19, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\">ASPXCComment</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\">SGMLDefault</a> = 21, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\">SGMLCommand</a> = 22, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\">SGMLParameter</a> = 23, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\">SGMLDoubleQuotedString</a> = 24, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\">SGMLSingleQuotedString</a> = 25, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\">SGMLError</a> = 26, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\">SGMLSpecial</a> = 27, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\">SGMLEntity</a> = 28, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\">SGMLComment</a> = 29, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\">SGMLParameterComment</a> = 30, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\">SGMLBlockDefault</a> = 31, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\">JavaScriptStart</a> = 40, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\">JavaScriptDefault</a> = 41, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\">JavaScriptComment</a> = 42, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\">JavaScriptCommentLine</a> = 43, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\">JavaScriptCommentDoc</a> = 44, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\">JavaScriptNumber</a> = 45, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\">JavaScriptWord</a> = 46, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\">JavaScriptKeyword</a> = 47, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\">JavaScriptDoubleQuotedString</a> = 48, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\">JavaScriptSingleQuotedString</a> = 49, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\">JavaScriptSymbol</a> = 50, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\">JavaScriptUnclosedString</a> = 51, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\">JavaScriptRegex</a> = 52, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\">ASPJavaScriptStart</a> = 55, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\">ASPJavaScriptDefault</a> = 56, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\">ASPJavaScriptComment</a> = 57, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\">ASPJavaScriptCommentLine</a> = 58, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\">ASPJavaScriptCommentDoc</a> = 59, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\">ASPJavaScriptNumber</a> = 60, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\">ASPJavaScriptWord</a> = 61, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\">ASPJavaScriptKeyword</a> = 62, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\">ASPJavaScriptDoubleQuotedString</a> = 63, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\">ASPJavaScriptSingleQuotedString</a> = 64, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\">ASPJavaScriptSymbol</a> = 65, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\">ASPJavaScriptUnclosedString</a> = 66, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\">ASPJavaScriptRegex</a> = 67, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\">VBScriptStart</a> = 70, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\">VBScriptDefault</a> = 71, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\">VBScriptComment</a> = 72, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\">VBScriptNumber</a> = 73, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\">VBScriptKeyword</a> = 74, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\">VBScriptString</a> = 75, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\">VBScriptIdentifier</a> = 76, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\">VBScriptUnclosedString</a> = 77, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\">ASPVBScriptStart</a> = 80, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\">ASPVBScriptDefault</a> = 81, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\">ASPVBScriptComment</a> = 82, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\">ASPVBScriptNumber</a> = 83, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\">ASPVBScriptKeyword</a> = 84, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\">ASPVBScriptString</a> = 85, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\">ASPVBScriptIdentifier</a> = 86, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\">ASPVBScriptUnclosedString</a> = 87, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\">PythonStart</a> = 90, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\">PythonDefault</a> = 91, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\">PythonComment</a> = 92, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\">PythonNumber</a> = 93, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\">PythonDoubleQuotedString</a> = 94, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\">PythonSingleQuotedString</a> = 95, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\">PythonKeyword</a> = 96, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\">PythonTripleSingleQuotedString</a> = 97, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\">PythonTripleDoubleQuotedString</a> = 98, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\">PythonClassName</a> = 99, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\">PythonFunctionMethodName</a> = 100, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\">PythonOperator</a> = 101, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\">PythonIdentifier</a> = 102, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\">ASPPythonStart</a> = 105, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\">ASPPythonDefault</a> = 106, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\">ASPPythonComment</a> = 107, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\">ASPPythonNumber</a> = 108, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\">ASPPythonDoubleQuotedString</a> = 109, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\">ASPPythonSingleQuotedString</a> = 110, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\">ASPPythonKeyword</a> = 111, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\">ASPPythonTripleSingleQuotedString</a> = 112, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\">ASPPythonTripleDoubleQuotedString</a> = 113, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\">ASPPythonClassName</a> = 114, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\">ASPPythonFunctionMethodName</a> = 115, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\">ASPPythonOperator</a> = 116, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\">ASPPythonIdentifier</a> = 117, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\">PHPDefault</a> = 118, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\">PHPDoubleQuotedString</a> = 119, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\">PHPSingleQuotedString</a> = 120, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\">PHPKeyword</a> = 121, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\">PHPNumber</a> = 122, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\">PHPVariable</a> = 123, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\">PHPComment</a> = 124, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\">PHPCommentLine</a> = 125, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\">PHPDoubleQuotedVariable</a> = 126, \n<a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\">PHPOperator</a> = 127\n<br />\n }</td></tr>\n<tr class=\"separator:af11a926b7f7329c39f6c029fec89ea42 inherit pub_types_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexerHTML\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexerHTML')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a></td></tr>\n<tr class=\"memitem:a1036c768307d29c40f09cc1bc2fce37c inherit pub_slots_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">setFoldCompact</a> (bool fold)</td></tr>\n<tr class=\"separator:a1036c768307d29c40f09cc1bc2fce37c inherit pub_slots_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeba753c0e1fca8bf66834667e301458e inherit pub_slots_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">setFoldPreprocessor</a> (bool fold)</td></tr>\n<tr class=\"separator:aeba753c0e1fca8bf66834667e301458e inherit pub_slots_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2fda8ad57009d4e2f1ac388cad2cfc92 inherit pub_slots_classQsciLexerHTML\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">setCaseSensitiveTags</a> (bool sens)</td></tr>\n<tr class=\"separator:a2fda8ad57009d4e2f1ac388cad2cfc92 inherit pub_slots_classQsciLexerHTML\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerXML.html\" title=\"The QsciLexerXML class encapsulates the Scintilla XML lexer.\">QsciLexerXML</a> class encapsulates the Scintilla XML lexer. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a9fc5fef8f86ef0f1162a18ca4cc88aa1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9fc5fef8f86ef0f1162a18ca4cc88aa1\">&#9670;&nbsp;</a></span>QsciLexerXML()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerXML::QsciLexerXML </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerXML.html\" title=\"The QsciLexerXML class encapsulates the Scintilla XML lexer.\">QsciLexerXML</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"ae0bb41012d9d98366b435f9a534ce7a1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae0bb41012d9d98366b435f9a534ce7a1\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerXML::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n<a id=\"a36f390db2c97da9c271b0d1ba2794278\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a36f390db2c97da9c271b0d1ba2794278\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerXML::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n<a id=\"a57ae4ff270b1c66316b0849ff9017677\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a57ae4ff270b1c66316b0849ff9017677\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerXML::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n<a id=\"ab78937576c3c727f073921059ac87a59\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab78937576c3c727f073921059ac87a59\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerXML::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n<a id=\"a29937d422c25f17612c57e16a7bddaf1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a29937d422c25f17612c57e16a7bddaf1\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerXML::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n<a id=\"a7bbfdb6b269b6e52791fcbf1df60731e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7bbfdb6b269b6e52791fcbf1df60731e\">&#9670;&nbsp;</a></span>setScriptsStyled()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerXML::setScriptsStyled </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>styled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If <em>allowed</em> is true then scripts are styled. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerXML.html#a96ad1f818e51a3606404d24bf7a28a91\">scriptsStyled()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a96ad1f818e51a3606404d24bf7a28a91\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a96ad1f818e51a3606404d24bf7a28a91\">&#9670;&nbsp;</a></span>scriptsStyled()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerXML::scriptsStyled </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if scripts are styled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerXML.html#a7bbfdb6b269b6e52791fcbf1df60731e\">setScriptsStyled()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2acbf99b93c18d9a9f922c9e2894bf4f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2acbf99b93c18d9a9f922c9e2894bf4f\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerXML::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n<a id=\"a1cf58cba78405397f793b6a9aff64035\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1cf58cba78405397f793b6a9aff64035\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerXML::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">QsciLexerHTML</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerYAML-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerYAML Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a>(int *style=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a6100efc49404d4e3851af5853a730b71\">Comment</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649add8b9dd154f60311de10581a64bcff7e\">Default</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a64b5ac3d0a8a5a7113905fa421edb1ad\">defaultColor</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer::defaultColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a01ff9a027edd3a2aa6d443e520b10b73\">defaultEolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#af48deb2ec781d4c8c08f17530b9516d3\">defaultFont</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer::defaultFont</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a7dcc25d7ced16c1bc409c14276e6843c\">defaultPaper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer::defaultPaper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">description</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a4015455a864bd4243b252a1cdd72e348\">DocumentDelimiter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a>(bool eolfilled, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#adfb332858ee86dc00f58f309f394d9d8\">foldComments</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a>(const QFont &amp;f, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649adc20fbe1ca5efec16518a264e858b37f\">Identifier</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a084a5f27de1738ef21b1fd9a1f89669e\">Keyword</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#add226b6ffbaee63c29a1f0da7de25784\">keywords</a>(int set) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a0cfceb4470cde4184e76076ac34dea29\">language</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#ab946b8c9f34872b69c31e6e9cd0b0e57\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649ae764dd8954c575c5f0ee54ac90c53ede\">Number</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a8889c1fce0c3f84556920717de3e55f2\">Operator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a>(int style) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a>(const QColor &amp;c, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a>(const char *prop, const char *val)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a5e1785141798faf81dcff567b8df651f\">QsciLexerYAML</a>(QObject *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a35d4260e9c1a68073a6b4f625c846c11\">readProperties</a>(QSettings &amp;qs, const QString &amp;prefix)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a3f8ff59b87800339f36dabda96e570a4\">Reference</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#ac263eb1fcaeaad44b23c2d990bad1bc1\">refreshProperties</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a>(QsciAbstractAPIs *apis)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a>(int autoindentstyle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setEditor</b>(QsciScintilla *editor) (defined in <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a>(bool eoffill, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a5fc9da8d92341819072536ce840902fc\">setFoldComments</a>(bool fold)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a>(const QFont &amp;f, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a>(const QColor &amp;c, int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a0024c2fed82fedf931d39537f2890d52\">SyntaxErrorMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649abd37b98004840ba4f31853e6ec18fa86\">TextBlockMarker</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#adc63ea477a2869f4ea9f1b3fe69d56fb\">writeProperties</a>(QSettings &amp;qs, const QString &amp;prefix) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a>(QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html#a90fcdb3295720e3bdcf3d04dae4ae0c9\">~QsciLexerYAML</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciLexerYAML.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciLexerYAML Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciLexerYAML-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciLexerYAML Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscilexeryaml.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a2040d5fd458e04fedb7892cd322e1649\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649add8b9dd154f60311de10581a64bcff7e\">Default</a> = 0, \n<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a6100efc49404d4e3851af5853a730b71\">Comment</a> = 1, \n<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649adc20fbe1ca5efec16518a264e858b37f\">Identifier</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a084a5f27de1738ef21b1fd9a1f89669e\">Keyword</a> = 3, \n<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649ae764dd8954c575c5f0ee54ac90c53ede\">Number</a> = 4, \n<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a3f8ff59b87800339f36dabda96e570a4\">Reference</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a4015455a864bd4243b252a1cdd72e348\">DocumentDelimiter</a> = 6, \n<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649abd37b98004840ba4f31853e6ec18fa86\">TextBlockMarker</a> = 7, \n<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a0024c2fed82fedf931d39537f2890d52\">SyntaxErrorMarker</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a8889c1fce0c3f84556920717de3e55f2\">Operator</a> = 9\n<br />\n }</td></tr>\n<tr class=\"separator:a2040d5fd458e04fedb7892cd322e1649\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a5fc9da8d92341819072536ce840902fc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a5fc9da8d92341819072536ce840902fc\">setFoldComments</a> (bool fold)</td></tr>\n<tr class=\"separator:a5fc9da8d92341819072536ce840902fc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_slots_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_slots_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Slots inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">setAutoIndentStyle</a> (int autoindentstyle)</td></tr>\n<tr class=\"separator:a793e592d3ac100ff81ae09eefbaa74ef inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">setColor</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:a0e4235e0bd33f64431a9c6e8c35038d4 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">setEolFill</a> (bool eoffill, int style=-1)</td></tr>\n<tr class=\"separator:a3fccdb7cb8f6524ecdeb3ff364ae5a49 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">setFont</a> (const QFont &amp;f, int style=-1)</td></tr>\n<tr class=\"separator:a3484599b6db81b8392ab6cd4f50ab291 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">setPaper</a> (const QColor &amp;c, int style=-1)</td></tr>\n<tr class=\"separator:addbc923c938f946180a15d494d17b567 inherit pub_slots_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a5e1785141798faf81dcff567b8df651f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a5e1785141798faf81dcff567b8df651f\">QsciLexerYAML</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a5e1785141798faf81dcff567b8df651f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90fcdb3295720e3bdcf3d04dae4ae0c9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a90fcdb3295720e3bdcf3d04dae4ae0c9\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a90fcdb3295720e3bdcf3d04dae4ae0c9\">~QsciLexerYAML</a> ()</td></tr>\n<tr class=\"separator:a90fcdb3295720e3bdcf3d04dae4ae0c9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0cfceb4470cde4184e76076ac34dea29\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0cfceb4470cde4184e76076ac34dea29\"></a>\nconst char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a0cfceb4470cde4184e76076ac34dea29\">language</a> () const</td></tr>\n<tr class=\"separator:a0cfceb4470cde4184e76076ac34dea29\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab946b8c9f34872b69c31e6e9cd0b0e57\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#ab946b8c9f34872b69c31e6e9cd0b0e57\">lexer</a> () const</td></tr>\n<tr class=\"separator:ab946b8c9f34872b69c31e6e9cd0b0e57\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a64b5ac3d0a8a5a7113905fa421edb1ad\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a64b5ac3d0a8a5a7113905fa421edb1ad\">defaultColor</a> (int style) const</td></tr>\n<tr class=\"separator:a64b5ac3d0a8a5a7113905fa421edb1ad\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a01ff9a027edd3a2aa6d443e520b10b73\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a01ff9a027edd3a2aa6d443e520b10b73\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a01ff9a027edd3a2aa6d443e520b10b73\">defaultEolFill</a> (int style) const</td></tr>\n<tr class=\"separator:a01ff9a027edd3a2aa6d443e520b10b73\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af48deb2ec781d4c8c08f17530b9516d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af48deb2ec781d4c8c08f17530b9516d3\"></a>\nQFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#af48deb2ec781d4c8c08f17530b9516d3\">defaultFont</a> (int style) const</td></tr>\n<tr class=\"separator:af48deb2ec781d4c8c08f17530b9516d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7dcc25d7ced16c1bc409c14276e6843c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a7dcc25d7ced16c1bc409c14276e6843c\">defaultPaper</a> (int style) const</td></tr>\n<tr class=\"separator:a7dcc25d7ced16c1bc409c14276e6843c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add226b6ffbaee63c29a1f0da7de25784\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#add226b6ffbaee63c29a1f0da7de25784\">keywords</a> (int set) const</td></tr>\n<tr class=\"separator:add226b6ffbaee63c29a1f0da7de25784\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa0ca10c4e872620d0d6b2fa1fe1b9af0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">description</a> (int style) const</td></tr>\n<tr class=\"separator:aa0ca10c4e872620d0d6b2fa1fe1b9af0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac263eb1fcaeaad44b23c2d990bad1bc1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#ac263eb1fcaeaad44b23c2d990bad1bc1\">refreshProperties</a> ()</td></tr>\n<tr class=\"separator:ac263eb1fcaeaad44b23c2d990bad1bc1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adfb332858ee86dc00f58f309f394d9d8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#adfb332858ee86dc00f58f309f394d9d8\">foldComments</a> () const</td></tr>\n<tr class=\"separator:adfb332858ee86dc00f58f309f394d9d8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a> (QObject *parent=0)</td></tr>\n<tr class=\"separator:a49fc2fb49ed07f1cb5f8b0a96e07d0d4 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af6cc5bb9d9421d806e9941d018030068\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">~QsciLexer</a> ()</td></tr>\n<tr class=\"separator:af6cc5bb9d9421d806e9941d018030068 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">lexerId</a> () const</td></tr>\n<tr class=\"separator:a9576dd2ce748647abe981724ee76c1ce inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a> () const</td></tr>\n<tr class=\"separator:a0aa2c7bc939d793db01bbc1863b15d63 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6504a6fff35af16fbfd97889048db2a5\"></a>\nvirtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">autoCompletionFillups</a> () const</td></tr>\n<tr class=\"separator:a6504a6fff35af16fbfd97889048db2a5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">autoCompletionWordSeparators</a> () const</td></tr>\n<tr class=\"separator:a4e10650b0e9ad137062ad5c17ad33e76 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">autoIndentStyle</a> ()</td></tr>\n<tr class=\"separator:a79c27285b6033c553b3f54cb6c56b338 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">blockEnd</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a8e294eba77713f516acbcebc10af1493 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">blockLookback</a> () const</td></tr>\n<tr class=\"separator:a8b1bb1261e7b9701c62bbe4f1d171e06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">blockStart</a> (int *style=0) const</td></tr>\n<tr class=\"separator:a340eafe726fd6964c0adba956fe3428c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">blockStartKeyword</a> (int *style=0) const</td></tr>\n<tr class=\"separator:abf12117a142b6f68479ea425d80a4196 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"affe136114d62180e9a14caa81f2b7fd5\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">braceStyle</a> () const</td></tr>\n<tr class=\"separator:affe136114d62180e9a14caa81f2b7fd5 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"afccca7eb1aed463f89ac442d99135839\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:afccca7eb1aed463f89ac442d99135839 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">color</a> (int style) const</td></tr>\n<tr class=\"separator:acff58ba06195b9458a61d7ef3573c701 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">eolFill</a> (int style) const</td></tr>\n<tr class=\"separator:aa6ed26c11f54f71a305d3ee03d685f06 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">font</a> (int style) const</td></tr>\n<tr class=\"separator:abd34f0d3055b8c7b52f0156f92244e8c inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aff4735542e937c5e35ecb2eb82e8f875\"></a>\nvirtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">indentationGuideView</a> () const</td></tr>\n<tr class=\"separator:aff4735542e937c5e35ecb2eb82e8f875 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">defaultStyle</a> () const</td></tr>\n<tr class=\"separator:a2447139ff781bf55c74177881ac023ac inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">paper</a> (int style) const</td></tr>\n<tr class=\"separator:a519df98c9e7d9d26734a38ea9bed744a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">defaultColor</a> () const</td></tr>\n<tr class=\"separator:a31f12624858cbb8abdc59af34b5a85c7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">defaultFont</a> () const</td></tr>\n<tr class=\"separator:ac7cf70f76eb03d6d475985cc4b884b0e inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">defaultPaper</a> () const</td></tr>\n<tr class=\"separator:a2dce337026551b6440e1dcdafa95b7d7 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a> () const</td></tr>\n<tr class=\"separator:ad892735ca7ad0bad9b7fafdcb44eeaa8 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">setAPIs</a> (<a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a> *<a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">apis</a>)</td></tr>\n<tr class=\"separator:ac2e1ada934a5dc7685c1ee6a464de5fd inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">setDefaultColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a32b16ee95c3dabbc7de61541dd110521 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">setDefaultFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a19f0b390b5594d0dff5e4d4b484e43d2 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">setDefaultPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a7ebaedee6979d4cb17399361b37e33e0 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1e81186b1f8f8bc2a4901a42cbca568a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setEditor</b> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *<a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">editor</a>)</td></tr>\n<tr class=\"separator:a1e81186b1f8f8bc2a4901a42cbca568a inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">readSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;)</td></tr>\n<tr class=\"separator:a27728e4e361c5f4bf87690d34d83057d inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">styleBitsNeeded</a> () const</td></tr>\n<tr class=\"separator:ab222fbddb7eb72261153d1bebb5a01ee inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:aace68e3dbcef9da1b031fb9cfd843c57 inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">writeSettings</a> (QSettings &amp;qs, const char *prefix=&quot;/Scintilla&quot;) const</td></tr>\n<tr class=\"separator:a619ee93cb512755e3f946fe61ee097de inherit pub_methods_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a35d4260e9c1a68073a6b4f625c846c11\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#a35d4260e9c1a68073a6b4f625c846c11\">readProperties</a> (QSettings &amp;qs, const QString &amp;prefix)</td></tr>\n<tr class=\"separator:a35d4260e9c1a68073a6b4f625c846c11\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc63ea477a2869f4ea9f1b3fe69d56fb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexerYAML.html#adc63ea477a2869f4ea9f1b3fe69d56fb\">writeProperties</a> (QSettings &amp;qs, const QString &amp;prefix) const</td></tr>\n<tr class=\"separator:adc63ea477a2869f4ea9f1b3fe69d56fb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header signals_classQsciLexer\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciLexer')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a></td></tr>\n<tr class=\"memitem:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">colorChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:a901cf93072b3db3ffe503eab78ae6954 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">eolFillChanged</a> (bool eolfilled, int style)</td></tr>\n<tr class=\"separator:a66c01f0c9470164d4575c2b64f0e4220 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">fontChanged</a> (const QFont &amp;f, int style)</td></tr>\n<tr class=\"separator:ac04ade8be901b67af681e5e3516c0946 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">paperChanged</a> (const QColor &amp;c, int style)</td></tr>\n<tr class=\"separator:adf8de1727583e902c7cae673673a78a1 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged</a> (const char *prop, const char *val)</td></tr>\n<tr class=\"separator:acd8475f0da36449dc6b1189a587d7a83 inherit signals_classQsciLexer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciLexerYAML.html\" title=\"The QsciLexerYAML class encapsulates the Scintilla YAML lexer.\">QsciLexerYAML</a> class encapsulates the Scintilla YAML lexer. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a2040d5fd458e04fedb7892cd322e1649\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2040d5fd458e04fedb7892cd322e1649\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the meanings of the different styles used by the YAML lexer. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649add8b9dd154f60311de10581a64bcff7e\"></a>Default&#160;</td><td class=\"fielddoc\"><p>The default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649a6100efc49404d4e3851af5853a730b71\"></a>Comment&#160;</td><td class=\"fielddoc\"><p>A comment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649adc20fbe1ca5efec16518a264e858b37f\"></a>Identifier&#160;</td><td class=\"fielddoc\"><p>An identifier. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649a084a5f27de1738ef21b1fd9a1f89669e\"></a>Keyword&#160;</td><td class=\"fielddoc\"><p>A keyword. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649ae764dd8954c575c5f0ee54ac90c53ede\"></a>Number&#160;</td><td class=\"fielddoc\"><p>A number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649a3f8ff59b87800339f36dabda96e570a4\"></a>Reference&#160;</td><td class=\"fielddoc\"><p>A reference. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649a4015455a864bd4243b252a1cdd72e348\"></a>DocumentDelimiter&#160;</td><td class=\"fielddoc\"><p>A document delimiter. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649abd37b98004840ba4f31853e6ec18fa86\"></a>TextBlockMarker&#160;</td><td class=\"fielddoc\"><p>A text block marker. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649a0024c2fed82fedf931d39537f2890d52\"></a>SyntaxErrorMarker&#160;</td><td class=\"fielddoc\"><p>A syntax error marker. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a2040d5fd458e04fedb7892cd322e1649a8889c1fce0c3f84556920717de3e55f2\"></a>Operator&#160;</td><td class=\"fielddoc\"><p>An operator. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a5e1785141798faf81dcff567b8df651f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5e1785141798faf81dcff567b8df651f\">&#9670;&nbsp;</a></span>QsciLexerYAML()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciLexerYAML::QsciLexerYAML </td>\n          <td>(</td>\n          <td class=\"paramtype\">QObject *&#160;</td>\n          <td class=\"paramname\"><em>parent</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciLexerYAML.html\" title=\"The QsciLexerYAML class encapsulates the Scintilla YAML lexer.\">QsciLexerYAML</a> with parent <em>parent</em>. <em>parent</em> is typically the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> instance. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"ab946b8c9f34872b69c31e6e9cd0b0e57\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab946b8c9f34872b69c31e6e9cd0b0e57\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerYAML::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the name of the lexer. Some lexers support a number of languages. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a64b5ac3d0a8a5a7113905fa421edb1ad\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a64b5ac3d0a8a5a7113905fa421edb1ad\">&#9670;&nbsp;</a></span>defaultColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerYAML::defaultColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the foreground colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerYAML.html#a7dcc25d7ced16c1bc409c14276e6843c\">defaultPaper()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#af7508f1b816a2c9446d36141edc9b5ce\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"a7dcc25d7ced16c1bc409c14276e6843c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7dcc25d7ced16c1bc409c14276e6843c\">&#9670;&nbsp;</a></span>defaultPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciLexerYAML::defaultPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the background colour of the text for style number <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerYAML.html#a64b5ac3d0a8a5a7113905fa421edb1ad\">defaultColor()</a> </dd></dl>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a7e5ab7f541d913760c32abedbdc72963\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"add226b6ffbaee63c29a1f0da7de25784\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#add226b6ffbaee63c29a1f0da7de25784\">&#9670;&nbsp;</a></span>keywords()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciLexerYAML::keywords </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>set</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the set of keywords for the keyword set <em>set</em> recognised by the lexer as a space separated string. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"aa0ca10c4e872620d0d6b2fa1fe1b9af0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciLexerYAML::description </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the descriptive name for style number <em>style</em>. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs. </p>\n\n<p>Implements <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"ac263eb1fcaeaad44b23c2d990bad1bc1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac263eb1fcaeaad44b23c2d990bad1bc1\">&#9670;&nbsp;</a></span>refreshProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciLexerYAML::refreshProperties </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Causes all properties to be refreshed by emitting the <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">propertyChanged()</a> signal as required. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"adfb332858ee86dc00f58f309f394d9d8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adfb332858ee86dc00f58f309f394d9d8\">&#9670;&nbsp;</a></span>foldComments()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerYAML::foldComments </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if multi-line comment blocks can be folded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerYAML.html#a5fc9da8d92341819072536ce840902fc\">setFoldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5fc9da8d92341819072536ce840902fc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5fc9da8d92341819072536ce840902fc\">&#9670;&nbsp;</a></span>setFoldComments</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciLexerYAML::setFoldComments </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fold</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>fold</em> is true then multi-line comment blocks can be folded. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciLexerYAML.html#adfb332858ee86dc00f58f309f394d9d8\">foldComments()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a35d4260e9c1a68073a6b4f625c846c11\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a35d4260e9c1a68073a6b4f625c846c11\">&#9670;&nbsp;</a></span>readProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerYAML::readProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are read from the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>.</p>\n\n</div>\n</div>\n<a id=\"adc63ea477a2869f4ea9f1b3fe69d56fb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adc63ea477a2869f4ea9f1b3fe69d56fb\">&#9670;&nbsp;</a></span>writeProperties()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciLexerYAML::writeProperties </td>\n          <td>(</td>\n          <td class=\"paramtype\">QSettings &amp;&#160;</td>\n          <td class=\"paramname\"><em>qs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>prefix</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The lexer's properties are written to the settings <em>qs</em>. <em>prefix</em> (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error. </p>\n\n<p>Reimplemented from <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>.</p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciMacro-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciMacro Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a4387e4fa992c8671dd508c0c2651e34f\">clear</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a783f17e12ca844655568b5718aa26a35\">endRecording</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a1c342b5db46e12a8d73567fac9959543\">load</a>(const QString &amp;asc)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a3de5fbc4e99be9cb9d10d90dd8b1059d\">play</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a168da9e3a890906f229505cd253eec4b\">QsciMacro</a>(QsciScintilla *parent)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a933a97fb937d67dbe86a4abe229c755f\">QsciMacro</a>(const QString &amp;asc, QsciScintilla *parent)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a6af9c876a10d746177790189067aaf6a\">save</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a4a5648ea6c1e35aaaa55f9aaf83e7eda\">startRecording</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html#a17533fc70491bd7752d4a8ead5facf01\">~QsciMacro</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciMacro.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciMacro Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#nested-classes\">Classes</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciMacro-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciMacro Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscimacro.h&gt;</code></p>\n\n<p>Inherits QObject.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:a3de5fbc4e99be9cb9d10d90dd8b1059d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3de5fbc4e99be9cb9d10d90dd8b1059d\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a3de5fbc4e99be9cb9d10d90dd8b1059d\">play</a> ()</td></tr>\n<tr class=\"separator:a3de5fbc4e99be9cb9d10d90dd8b1059d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4a5648ea6c1e35aaaa55f9aaf83e7eda\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4a5648ea6c1e35aaaa55f9aaf83e7eda\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a4a5648ea6c1e35aaaa55f9aaf83e7eda\">startRecording</a> ()</td></tr>\n<tr class=\"separator:a4a5648ea6c1e35aaaa55f9aaf83e7eda\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a783f17e12ca844655568b5718aa26a35\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a783f17e12ca844655568b5718aa26a35\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a783f17e12ca844655568b5718aa26a35\">endRecording</a> ()</td></tr>\n<tr class=\"separator:a783f17e12ca844655568b5718aa26a35\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a168da9e3a890906f229505cd253eec4b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a168da9e3a890906f229505cd253eec4b\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a168da9e3a890906f229505cd253eec4b\">QsciMacro</a> (<a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *parent)</td></tr>\n<tr class=\"separator:a168da9e3a890906f229505cd253eec4b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a933a97fb937d67dbe86a4abe229c755f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a933a97fb937d67dbe86a4abe229c755f\">QsciMacro</a> (const QString &amp;asc, <a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *parent)</td></tr>\n<tr class=\"separator:a933a97fb937d67dbe86a4abe229c755f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a17533fc70491bd7752d4a8ead5facf01\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a17533fc70491bd7752d4a8ead5facf01\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a17533fc70491bd7752d4a8ead5facf01\">~QsciMacro</a> ()</td></tr>\n<tr class=\"separator:a17533fc70491bd7752d4a8ead5facf01\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4387e4fa992c8671dd508c0c2651e34f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a4387e4fa992c8671dd508c0c2651e34f\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a4387e4fa992c8671dd508c0c2651e34f\">clear</a> ()</td></tr>\n<tr class=\"separator:a4387e4fa992c8671dd508c0c2651e34f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1c342b5db46e12a8d73567fac9959543\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a1c342b5db46e12a8d73567fac9959543\">load</a> (const QString &amp;asc)</td></tr>\n<tr class=\"separator:a1c342b5db46e12a8d73567fac9959543\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6af9c876a10d746177790189067aaf6a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciMacro.html#a6af9c876a10d746177790189067aaf6a\">save</a> () const</td></tr>\n<tr class=\"separator:a6af9c876a10d746177790189067aaf6a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciMacro.html\" title=\"The QsciMacro class represents a sequence of recordable editor commands.\">QsciMacro</a> class represents a sequence of recordable editor commands. </p>\n<p>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. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a933a97fb937d67dbe86a4abe229c755f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a933a97fb937d67dbe86a4abe229c755f\">&#9670;&nbsp;</a></span>QsciMacro()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciMacro::QsciMacro </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>asc</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a> *&#160;</td>\n          <td class=\"paramname\"><em>parent</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Construct a <a class=\"el\" href=\"classQsciMacro.html\" title=\"The QsciMacro class represents a sequence of recordable editor commands.\">QsciMacro</a> from the printable ASCII representation <em>asc</em>, with parent <em>parent</em>. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a1c342b5db46e12a8d73567fac9959543\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1c342b5db46e12a8d73567fac9959543\">&#9670;&nbsp;</a></span>load()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciMacro::load </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>asc</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Load the macro from the printable ASCII representation <em>asc</em>. Returns true if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciMacro.html#a6af9c876a10d746177790189067aaf6a\">save()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6af9c876a10d746177790189067aaf6a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6af9c876a10d746177790189067aaf6a\">&#9670;&nbsp;</a></span>save()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciMacro::save </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciMacro.html#a1c342b5db46e12a8d73567fac9959543\">load()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciPrinter-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciPrinter Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#a420e136529a8d49551eb8af0f5cdce03\">formatPage</a>(QPainter &amp;painter, bool drawing, QRect &amp;area, int pagenr)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">magnification</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#aae304336a4a8d4c2e332744ceeba1393\">printRange</a>(QsciScintillaBase *qsb, int from=-1, int to=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#aaa54abecf0defffdfda80f95af6febf9\">QsciPrinter</a>(PrinterMode mode=ScreenResolution)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#ad66724c8a5e5e202998bd6533fef61be\">setMagnification</a>(int magnification)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#aa95827e3bd2c3c0e658afe55fa12476e\">setWrapMode</a>(QsciScintilla::WrapMode wmode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#ad67d67c266263dd2dbfe940b4ad98584\">wrapMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html#a9c7747919e355a885d6ebb4b0d0dc619\">~QsciPrinter</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciPrinter.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciPrinter Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciPrinter-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciPrinter Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qsciprinter.h&gt;</code></p>\n\n<p>Inherits QPrinter.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:aaa54abecf0defffdfda80f95af6febf9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aaa54abecf0defffdfda80f95af6febf9\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#aaa54abecf0defffdfda80f95af6febf9\">QsciPrinter</a> (PrinterMode mode=ScreenResolution)</td></tr>\n<tr class=\"separator:aaa54abecf0defffdfda80f95af6febf9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9c7747919e355a885d6ebb4b0d0dc619\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9c7747919e355a885d6ebb4b0d0dc619\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#a9c7747919e355a885d6ebb4b0d0dc619\">~QsciPrinter</a> ()</td></tr>\n<tr class=\"separator:a9c7747919e355a885d6ebb4b0d0dc619\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a420e136529a8d49551eb8af0f5cdce03\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#a420e136529a8d49551eb8af0f5cdce03\">formatPage</a> (QPainter &amp;painter, bool drawing, QRect &amp;area, int pagenr)</td></tr>\n<tr class=\"separator:a420e136529a8d49551eb8af0f5cdce03\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aafc924b9d8d494541b89ac8d461b4300\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">magnification</a> () const</td></tr>\n<tr class=\"separator:aafc924b9d8d494541b89ac8d461b4300\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad66724c8a5e5e202998bd6533fef61be\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#ad66724c8a5e5e202998bd6533fef61be\">setMagnification</a> (int <a class=\"el\" href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">magnification</a>)</td></tr>\n<tr class=\"separator:ad66724c8a5e5e202998bd6533fef61be\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae304336a4a8d4c2e332744ceeba1393\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#aae304336a4a8d4c2e332744ceeba1393\">printRange</a> (<a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a> *qsb, int from=-1, int to=-1)</td></tr>\n<tr class=\"separator:aae304336a4a8d4c2e332744ceeba1393\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad67d67c266263dd2dbfe940b4ad98584\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla::WrapMode</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#ad67d67c266263dd2dbfe940b4ad98584\">wrapMode</a> () const</td></tr>\n<tr class=\"separator:ad67d67c266263dd2dbfe940b4ad98584\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa95827e3bd2c3c0e658afe55fa12476e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciPrinter.html#aa95827e3bd2c3c0e658afe55fa12476e\">setWrapMode</a> (<a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla::WrapMode</a> wmode)</td></tr>\n<tr class=\"separator:aa95827e3bd2c3c0e658afe55fa12476e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciPrinter.html\" title=\"The QsciPrinter class is a sub-class of the Qt QPrinter class that is able to print the text of a Sci...\">QsciPrinter</a> class is a sub-class of the Qt QPrinter class that is able to print the text of a Scintilla document. </p>\n<p>The class can be further sub-classed to alter to layout of the text, adding headers and footers for example. </p>\n</div><h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a420e136529a8d49551eb8af0f5cdce03\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a420e136529a8d49551eb8af0f5cdce03\">&#9670;&nbsp;</a></span>formatPage()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciPrinter::formatPage </td>\n          <td>(</td>\n          <td class=\"paramtype\">QPainter &amp;&#160;</td>\n          <td class=\"paramname\"><em>painter</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>drawing</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">QRect &amp;&#160;</td>\n          <td class=\"paramname\"><em>area</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>pagenr</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Format a page, by adding headers and footers for example, before the document text is drawn on it. <em>painter</em> is the painter to be used to add customised text and graphics. <em>drawing</em> is true if the page is actually being drawn rather than being sized. <em>painter</em> drawing methods must only be called when <em>drawing</em> is true. <em>area</em> 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 <a class=\"el\" href=\"classQsciPrinter.html#aae304336a4a8d4c2e332744ceeba1393\">printRange()</a> if you want to try and print over the whole page. <em>pagenr</em> is the number of the page. The first page is numbered 1. </p>\n\n</div>\n</div>\n<a id=\"aafc924b9d8d494541b89ac8d461b4300\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aafc924b9d8d494541b89ac8d461b4300\">&#9670;&nbsp;</a></span>magnification()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciPrinter::magnification </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Return the number of points to add to each font when printing.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciPrinter.html#ad66724c8a5e5e202998bd6533fef61be\">setMagnification()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad66724c8a5e5e202998bd6533fef61be\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad66724c8a5e5e202998bd6533fef61be\">&#9670;&nbsp;</a></span>setMagnification()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciPrinter::setMagnification </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>magnification</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the number of points to add to each font when printing to <em>magnification</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">magnification()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aae304336a4a8d4c2e332744ceeba1393\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aae304336a4a8d4c2e332744ceeba1393\">&#9670;&nbsp;</a></span>printRange()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual int QsciPrinter::printRange </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a> *&#160;</td>\n          <td class=\"paramname\"><em>qsb</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>from</em> = <code>-1</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>to</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Print a range of lines from the Scintilla instance <em>qsb</em>. <em>from</em> is the first line to print and a negative value signifies the first line of text. <em>to</em> is the last line to print and a negative value signifies the last line of text. true is returned if there was no error. </p>\n\n</div>\n</div>\n<a id=\"ad67d67c266263dd2dbfe940b4ad98584\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad67d67c266263dd2dbfe940b4ad98584\">&#9670;&nbsp;</a></span>wrapMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla::WrapMode</a> QsciPrinter::wrapMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Return the line wrap mode used when printing. The default is <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42aeb6fe909aad13c04aab01c9c216ac2ec\" title=\"Lines are wrapped at word boundaries.\">QsciScintilla::WrapWord</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciPrinter.html#aa95827e3bd2c3c0e658afe55fa12476e\">setWrapMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa95827e3bd2c3c0e658afe55fa12476e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa95827e3bd2c3c0e658afe55fa12476e\">&#9670;&nbsp;</a></span>setWrapMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciPrinter::setWrapMode </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla::WrapMode</a>&#160;</td>\n          <td class=\"paramname\"><em>wmode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the line wrap mode used when printing to <em>wmode</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciPrinter.html#ad67d67c266263dd2dbfe940b4ad98584\">wrapMode()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciScintilla-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciScintilla Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\">AcsAll</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179accaaf618ca9c7889b9899c4da6e9f17f\">AcsAPIs</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\">AcsDocument</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\">AcsNone</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3ad3646f7c7cfe985480477c7c303af9e6\">AcusAlways</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\">AcusExplicit</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\">AcusNever</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">addEdgeColumn</a>(int colnr, const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\">AiClosing</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\">AiMaintain</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\">AiOpening</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#adacd79ec5e25430f0cbff34e6584afe7\">annotate</a>(int line, const QString &amp;text, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8ec9b9a33f698fab59f46864ee9a2267\">annotate</a>(int line, const QString &amp;text, const QsciStyle &amp;style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab3721e1af5d7a71efff5a35b63ed1174\">annotate</a>(int line, const QsciStyledText &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acc3981a1149b87b38f93195bb0e00f34\">annotate</a>(int line, const QList&lt; QsciStyledText &gt; &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6a577313664af6dc63885f03e88d03af\">annotation</a>(int line) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>ANNOTATION_BOXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>ANNOTATION_HIDDEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>ANNOTATION_INDENTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>ANNOTATION_STANDARD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca3b77a53cb3bc889bb98c4d0b79884709\">AnnotationBoxed</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">AnnotationDisplay</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3045ab135148ca52330ad233703a57f1\">annotationDisplay</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0caf708fc8c6c5b70daf1e03d5286a699f6\">AnnotationHidden</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca180ea6ab83ef2cfb3e8a31b01f3c31c7\">AnnotationIndented</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca9127adc556d20a38d87055264228b121\">AnnotationStandard</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab8bfeae44abd61659d207a86660b100c\">apiContext</a>(int pos, int &amp;context_start, int &amp;last_word_start)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae7310729b1be2aa937a22036f5d95b51\">append</a>(const QString &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">autoCompleteFromAll</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">autoCompleteFromAPIs</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">autoCompleteFromDocument</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a136a17a59a3800c40619a768ffff8d7a\">autoCompletionCaseSensitivity</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">autoCompletionFillupsEnabled</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a527b309bfaf28b870c15d87a5af7c005\">autoCompletionReplaceWord</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aff3b4e47fcbadeb0cf2556cf6ad164e0\">autoCompletionShowSingle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">AutoCompletionSource</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6c06ccce022c08674e24a96093902b49\">autoCompletionSource</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5178b3fd3cb946ffd4b2e52df9bb1483\">autoCompletionThreshold</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">AutoCompletionUseSingle</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">autoCompletionUseSingle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a828f1b56453686ccd423e979e55fbbae\">autoIndent</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a684a85314d17d730f0dfc238c523160e\">Background</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">backspaceUnindents</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">beginUndoAction</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae143f481474150e05f35218f54c6b4f7\">Bookmark</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ab252e6e9a75a8987543dd345087a6239\">BottomLeftCorner</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\">BoxedFoldStyle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a94bff27aa9fe8d4c47c1d0142b219ea4\">BoxedMinus</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a8f97b4e8119422e060a9e1a92f84cb\">BoxedMinusConnected</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a99c849093ce52310ba63277968e20fca\">BoxedPlus</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a43d4fef1aeaaaf6847e8f96761d5aaa4\">BoxedPlusConnected</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0ac22ee26a39d4661a59f0a2d285ad27e2\">BoxedTreeFoldStyle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a121e0a9c852567a581f208b8f7cc1bed\">BoxIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa869897ad955e8a42c5568be590c529b\">braceMatching</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">bytes</a>(int start, int end) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>bytesAsText</b>(const char *bytes) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a33a692fb0d5781ec40080a361859fd66\">callTip</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\">CallTipsAboveText</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\">CallTipsBelowText</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a3e031bc89388b8c7369001d670e87fc9\">CallTipsContext</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\">CallTipsNoAutoCompletionContext</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\">CallTipsNoContext</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\">CallTipsNone</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a903187bfe219603ad7e20612d008ea7a\">callTipsPosition</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">CallTipsPosition</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">CallTipsStyle</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a632fe3f132c3679ada1fc22a57ca88f7\">callTipsStyle</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8fdc8049cd5d876b10c2fd9149e72699\">callTipsVisible</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">cancelFind</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a29e0cbc36bafac84bc1c755b6ee26abd\">cancelList</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">canInsertFromMimeData</a>(const QMimeData *source) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARET_EVEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>CARET_JUMPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARET_SLOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>CARET_STRICT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARETSTYLE_BLOCK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>CARETSTYLE_INVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARETSTYLE_LINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aeeccf4091f42418284a79dcf67419a5c\">caseSensitive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aca7717bb45779f822c9fcea2d78456dc\">CentreGradientIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac05da1bc5b91c682f192ff594552a306\">changeEvent</a>(QEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac0ea486bd51a662ec3be569f420f5d1b\">Circle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\">CircledFoldStyle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496af61cc9c30ac12712c1774ea2a9539846\">CircledMinus</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6e71f3cbb658aa12b566fe2293356e50\">CircledMinusConnected</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496adfcda6a0567fb132f08dbfbc0bc40161\">CircledPlus</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac7ac14f88e9a76b42d5ac2270f961ef1\">CircledPlusConnected</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\">CircledTreeFoldStyle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a149b39fedd3779fe797cf7c9ae793c8a\">clear</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3ad17d87cb436e0f6da52a68cd14750e\">clearAnnotations</a>(int line=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">clearEdgeColumns</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4d4634e48eedb5b12bafe8c6fa6c41f7\">clearFolds</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a13721a9f909b67bca298f51ea34a01db\">clearIndicatorRange</a>(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aeadb693affb5816e24d28432d8dc240f\">clearMarginText</a>(int line=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">clearRegisteredImages</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8a92ecc1db1576267f50a03d8ae93303\">color</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>commandKey</b>(int qt_key, int &amp;modifiers) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">static</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad8fcb6e32235be34335e443230fb9000\">contextMenuEvent</a>(QContextMenuEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>contextMenuNeeded</b>(int x, int y) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a63c0f682eecba626fff511c6b1612ab6\">contractedFolds</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8f3899166ef067d2780867d154539267\">convertEols</a>(EolMode mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">copyAvailable</a>(bool yes)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a47d5e09e3507840ae898dfdc15acd858\">createStandardContextMenu</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aca81f16f09dbbaf463d5926f04d4b53c\">cursorPositionChanged</a>(int line, int index)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">cut</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0d28a4278d8321718b457d664780d92b\">DashesIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a3f15a9d49659f4c9baa660da5243074f\">DiagonalIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">document</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a14ea8b26486c9b42eb7748d32687e51a\">DotBoxIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974adf3330b6033f9d647807a031f61cfd04\">DotsIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a73b37930e36e66281465f89530a889a4\">DownTriangle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">dragEnterEvent</a>(QDragEnterEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">dragLeaveEvent</a>(QDragLeaveEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">dragMoveEvent</a>(QDragMoveEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">dropEvent</a>(QDropEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>EDGE_BACKGROUND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>EDGE_LINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>EDGE_MULTILINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>EDGE_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea46d9f957fe5b30a681ebaecc3ba159d5\">EdgeBackground</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aee2887fadd0ddac9cee9dcdaee8d8696\">edgeColor</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a044b772f07f8d5218170a11db05cc3d5\">edgeColumn</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea44fdad06b183b02f5d54a3fecd5ac98d\">EdgeLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">EdgeMode</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6fca34c3778ad8b4c067d577816ebc2b\">edgeMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea2a310e227fd42221c2ad9b81fbdb7654\">EdgeMultipleLines</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ead6c5f91845329bb32ff37e3f1325078c\">EdgeNone</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">endUndoAction</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa85349be1012a11e4198949c5537a6b2\">ensureCursorVisible</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#abe7fcae4d84483ecd934c60bfdaee4a8\">ensureLineVisible</a>(int line)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a884e225089dc5181bf661a13a5d12c99\">EolMac</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">eolMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a66683da125a4e780a672edae2781df89\">EolUnix</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5e4372bd9b4249d7e574402935444b84\">eolVisibility</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a355072d24e408bb7fbb2be3ed5389d30\">EolWindows</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a84ab3eb3c8e81cc58bbf2d3f472e757c\">event</a>(QEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">extraAscent</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">extraDescent</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a44d1c322098eb0cf44cf78e866ed80cb\">fillIndicatorRange</a>(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst</a>(const QString &amp;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)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection</a>(const QString &amp;expr, bool re, bool cs, bool wo, bool forward=true, bool show=true, bool posix=false, bool cxx11=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5b4b113d57b73a7b531f137a98ecc1bc\">findMatchingBrace</a>(long &amp;brace, long &amp;other, BraceMatch mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a689eed3f6219e20924bcffdb95f27526\">firstVisibleLine</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">focusInEvent</a>(QFocusEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">focusNextPrevChild</a>(bool next)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">focusOutEvent</a>(QFocusEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#afea26881f9979a1769ba85c668351cee\">foldAll</a>(bool children=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0e4576d83d7604b24bd13be91011c5f7\">folding</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad6557ee0ca58413e8d3e76b942f25a7f\">foldLine</a>(int line)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">FoldStyle</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">fromMimeData</a>(const QMimeData *source, bool &amp;rectangular) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aeb5cb655e2f3e61e8df54655b11695f1\">FullBoxIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a37179bb1a189664cf22b25168ae0dc2b\">FullRectangle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a830f23268edb039344d30cef52d7c8f3\">getCursorPosition</a>(int *line, int *index) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6423854a3c2f7da07db1e47f2f0c8c71\">getSelection</a>(int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a7f4b165aed1dd094770e16c93c976d08\">GradientIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad6b00de0b5fa769ff6d30036f9d784de\">hasSelectedText</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4d76d98f1b407df8f0a62b70a7545c51\">HiddenIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">indent</a>(int line)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">indentation</a>(int line) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acd6fbd352060d3ee893bacc9bbb28a4e\">indentationGuides</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a67e012ca1e51ed73521c720237b7a507\">indentationsUseTabs</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0b1f9dfc8a34bbee0c131eebeace9a06\">indentationWidth</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC0_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC1_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC2_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_BOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_COMPOSITIONTHICK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_COMPOSITIONTHIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_CONTAINER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_DASH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_DIAGONAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_DOTBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_DOTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_FULLBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_GRADIENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_GRADIENTCENTRE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_HIDDEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_IME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_IME_MAX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_MAX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_PLAIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_POINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_POINTCHARACTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_ROUNDBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_SQUIGGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_SQUIGGLELOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_SQUIGGLEPIXMAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_STRAIGHTBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_STRIKE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_TEXTFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_TT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad55ff1f454f9cb5c14f63c5c6870c895\">indicatorClicked</a>(int line, int index, Qt::KeyboardModifiers state)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab6856c73ad57ed92d8a9e4882867559e\">indicatorDefine</a>(IndicatorStyle style, int indicatorNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4e895e320f983296f4a14a131dac4c66\">indicatorDrawUnder</a>(int indicatorNumber) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aaed07ffc03430a61dc90ff6b28fb6fd7\">indicatorReleased</a>(int line, int index, Qt::KeyboardModifiers state)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">IndicatorStyle</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDICS_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">inputMethodEvent</a>(QInputMethodEvent *event)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>inputMethodQuery</b>(Qt::InputMethodQuery query) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#adcf1f06161144f511c549695f9641c77\">insert</a>(const QString &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#afba4d5b30fae60dab7b4279c580beb8c\">insertAt</a>(const QString &amp;text, int line, int index)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a75deca598e2319575861cf9d61e15c65\">Invisible</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a67c004c60c462dc9d3840a6e2405d3f8\">isCallTipActive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3b281217e1abc5b4b4ccf8145df4b2ca\">isListActive</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">isModified</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">isReadOnly</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8386414f7c04968c1642ecdd47b281df\">isRedoAvailable</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a87366cd0dc2931f62e9e4d6bcd870fdf\">isUndoAvailable</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#afec7e71628d4af7a6573d1c74504ee20\">isUtf8</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4e27f94e78e5f184f37382950963d831\">isWordCharacter</a>(char ch) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">keyPressEvent</a>(QKeyEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac92383c0e761f791d4abf557b9d75d3b\">LeftRectangle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a2a2e0c98376d63fc6fdba6c1bc5b8768\">LeftSideRoundedSplitter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a92b9f1d4c2cdddc5ef4030fdff5edc7d\">LeftSideSplitter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">length</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">lexer</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8a8a5b9bcb9df18089b9fe2650e701db\">lineAt</a>(const QPoint &amp;point) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad309f6cb931b47d67e67a59b3a66ea84\">lineIndexFromPosition</a>(int position, int *line, int *index) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab5ecfa6bee9e78e5306986367e1194af\">lineLength</a>(int line) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a85f97649b701717e65b2390d57f5ad03\">lines</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9da0038950253b116ecd3863a4f63928\">linesChanged</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a07c7b6c9889e61f7c7971bf126bff4f2\">marginBackgroundColor</a>(int margin) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">marginClicked</a>(int margin, int line, Qt::KeyboardModifiers state)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4bffe1a63e3484da908340274f7a7607\">marginLineNumbers</a>(int margin) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab29919614210e2bb21525b1d7fec44b1\">marginMarkerMask</a>(int margin) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a07cb228e7f39e5a97271126df9ba9ef2\">marginOptions</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8166be72487a7a660cb8e44c5126c852\">marginRightClicked</a>(int margin, int line, Qt::KeyboardModifiers state)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">margins</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">marginSensitivity</a>(int margin) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">marginType</a>(int margin) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">MarginType</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">marginWidth</a>(int margin) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">markerAdd</a>(int linenr, int markerNumber)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a794059a7bf67982063ae349847599376\">markerDefine</a>(MarkerSymbol sym, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a97fd48c290c961342f09149d8996c053\">markerDefine</a>(char ch, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acf0c4eb451d93a21887462bc7746f2e4\">markerDefine</a>(const QPixmap &amp;pm, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae21678ec76acecd0bdd960fbd6a81843\">markerDefine</a>(const QImage &amp;im, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">markerDelete</a>(int linenr, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">markerDeleteAll</a>(int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">markerDeleteHandle</a>(int mhandle)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af8cedca829a47783199ab0e1dfc160d5\">markerFindNext</a>(int linenr, unsigned mask) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8e6ff4072224ba360403fe1ade1375ba\">markerFindPrevious</a>(int linenr, unsigned mask) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa9612621315a0b3fcecdb8d0f2a2abb2\">markerLine</a>(int mhandle) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3eace684c0a33e044cceb300b1a97798\">markersAtLine</a>(int linenr) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">MarkerSymbol</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6caac8b127940c11b302189ac82dda5c\">Minus</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a2ef800561a02b8ec02008d33e0c6e55e\">modificationAttempted</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">modificationChanged</a>(bool m)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\">MoNone</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\">MoSublineSelect</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">mouseDoubleClickEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">mouseMoveEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">mousePressEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">mouseReleaseEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9792eb38e5e8dce8a4bd32b2224c73d4\">moveToMatchingBrace</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\">NoBraceMatch</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\">NoFoldStyle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090af2e3b128abc692ae0b1b6c835a90537e\">NumberMargin</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac419a79eed86a754cfb556b3961e990d\">overwriteMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">paintEvent</a>(QPaintEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4fe2c0ce4d6fd17617c266983537f5b6\">paper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">paste</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\">PlainFoldStyle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0563b9d3106c3d8943c72c9fb607b1a9\">PlainIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a21c1ea793bbfcbe6321cbc2ce042b5b4\">Plus</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">pool</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">static</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a37646aa8dff617d11505617002439216\">positionFromLineIndex</a>(int line, int index) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a978b6679ccd9d9edb6091502001a5f45\">QsciScintilla</a>(QWidget *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase</a>(QWidget *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">explicit</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QSCN_SELCHANGED</a>(bool yes)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a89e46329c110449b2e7334ccf623ceed\">read</a>(QIODevice *io)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a07fe5007913f0001a473d92f4c3fdbe6\">recolor</a>(int start=0, int end=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496aeeea97e421201a5e5e0765a10e8bae9e\">Rectangle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a62220018d9e9295cde64041246cfb3c4\">redo</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a38bf5a8680df52675e5299fccbbc7181\">registerImage</a>(int id, const QPixmap &amp;pm)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a1d35bee9f234dbde7066a68b924edeed\">registerImage</a>(int id, const QImage &amp;im)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aef584b6c5b89736ad311ad20aa32269d\">removeSelectedText</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace</a>(const QString &amp;replaceStr)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">replaceHorizontalScrollBar</a>(QScrollBar *scrollBar)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a48f53865418cf2ebd5126d2ee5e9d1dd\">replaceSelectedText</a>(const QString &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">replaceVerticalScrollBar</a>(QScrollBar *scrollBar)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae1d3703631c9113a4309da17332ca180\">resetFoldMarginColors</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">resetHotspotBackgroundColor</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">resetHotspotForegroundColor</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae308bac1c3567d835742e02f1bc35a6c\">resetMatchedBraceIndicator</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">resetSelectionBackgroundColor</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">resetSelectionForegroundColor</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a48c91d4dd29c84bff4ee20962372ca23\">resetUnmatchedBraceIndicator</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">resizeEvent</a>(QResizeEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a83df9bcfb20a4df73ba28ae7e25adc88\">RightArrow</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a0865ee6d974f4969f239565400fa5e86\">RightTriangle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974abb8b610c8536fb766052a18f19572ed0\">RoundBoxIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496afa25f9b9f604542625e2eeb812484363\">RoundedBottomLeftCorner</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AC_COMMAND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AC_DOUBLECLICK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AC_FILLUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AC_NEWLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AC_TAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_ALPHA_NOALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_ALPHA_OPAQUE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_ALPHA_TRANSPARENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AUTOMATICFOLD_CHANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AUTOMATICFOLD_CLICK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AUTOMATICFOLD_SHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CACHE_CARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CACHE_DOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CACHE_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CACHE_PAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CARETSTICKY_OFF</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CARETSTICKY_ON</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CARETSTICKY_WHITESPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CASE_CAMEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CASE_LOWER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CASE_MIXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CASE_UPPER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_8859_15</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_ANSI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_ARABIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_BALTIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_CHINESEBIG5</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_CYRILLIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_EASTEUROPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_GB2312</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_GREEK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_HANGUL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_HEBREW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_JOHAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_MAC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_OEM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_OEM866</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_RUSSIAN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_SHIFTJIS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_SYMBOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_THAI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_TURKISH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_VIETNAMESE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CP_DBCS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CP_UTF8</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CURSORARROW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CURSORNORMAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CURSORREVERSEARROW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CURSORWAIT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_DOCUMENTOPTION_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_DOCUMENTOPTION_STYLES_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_DOCUMENTOPTION_TEXT_LARGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EFF_QUALITY_ANTIALIASED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EFF_QUALITY_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EFF_QUALITY_LCD_OPTIMIZED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EFF_QUALITY_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EFF_QUALITY_NON_ANTIALIASED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EOL_CR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EOL_CRLF</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EOL_LF</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDACTION_CONTRACT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDACTION_EXPAND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDACTION_TOGGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDDISPLAYTEXT_BOXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDDISPLAYTEXT_HIDDEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDDISPLAYTEXT_STANDARD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDFLAG_LEVELNUMBERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEAFTER_CONTRACTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEAFTER_EXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEBEFORE_CONTRACTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEBEFORE_EXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDFLAG_LINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDLEVELBASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDLEVELHEADERFLAG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDLEVELNUMBERMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDLEVELWHITEFLAG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FONT_SIZE_MULTIPLIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_IDLESTYLING_AFTERVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_IDLESTYLING_ALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_IDLESTYLING_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_IDLESTYLING_TOVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_IME_INLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_IME_WINDOWED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_INDICFLAG_VALUEBEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_INDICVALUEBIT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_INDICVALUEMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\">SC_IV_LOOKBOTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\">SC_IV_LOOKFORWARD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\">SC_IV_NONE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\">SC_IV_REAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_LASTSTEPINUNDOREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_LINE_END_TYPE_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_LINE_END_TYPE_UNICODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_LINECHARACTERINDEX_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_LINECHARACTERINDEX_UTF16</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_LINECHARACTERINDEX_UTF32</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">SC_MARGIN_BACK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">SC_MARGIN_COLOUR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">SC_MARGIN_FORE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">SC_MARGIN_NUMBER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">SC_MARGIN_RTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">SC_MARGIN_SYMBOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">SC_MARGIN_TEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARGINOPTION_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARGINOPTION_SUBLINESELECT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">SC_MARK_ARROW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">SC_MARK_ARROWDOWN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">SC_MARK_ARROWS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\">SC_MARK_AVAILABLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">SC_MARK_BACKGROUND</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">SC_MARK_BOOKMARK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">SC_MARK_BOXMINUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">SC_MARK_BOXMINUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">SC_MARK_BOXPLUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">SC_MARK_BOXPLUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\">SC_MARK_CHARACTER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">SC_MARK_CIRCLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">SC_MARK_CIRCLEMINUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">SC_MARK_CIRCLEMINUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">SC_MARK_CIRCLEPLUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">SC_MARK_CIRCLEPLUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">SC_MARK_DOTDOTDOT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">SC_MARK_EMPTY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">SC_MARK_FULLRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">SC_MARK_LCORNER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">SC_MARK_LCORNERCURVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">SC_MARK_LEFTRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">SC_MARK_MINUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\">SC_MARK_PIXMAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">SC_MARK_PLUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\">SC_MARK_RGBAIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">SC_MARK_ROUNDRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">SC_MARK_SHORTARROW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">SC_MARK_SMALLRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">SC_MARK_TCORNER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">SC_MARK_TCORNERCURVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">SC_MARK_UNDERLINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">SC_MARK_VLINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDEREND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDERMIDTAIL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDEROPEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDEROPENMID</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDERSUB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDERTAIL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MASK_FOLDERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_BEFOREDELETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_BEFOREINSERT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGEANNOTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGEFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGEINDICATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGELINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGEMARGIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGEMARKER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGESTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGETABSTOPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CONTAINER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_DELETETEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_INSERTCHECK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_INSERTTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_LEXERSTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MODEVENTMASKALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MULTIAUTOC_EACH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MULTIAUTOC_ONCE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MULTILINEUNDOREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MULTIPASTE_EACH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MULTIPASTE_ONCE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MULTISTEPUNDOREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_ORDER_CUSTOM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_ORDER_PERFORMSORT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_ORDER_PRESORTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PERFORMED_REDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PERFORMED_UNDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PERFORMED_USER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PHASES_MULTIPLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PHASES_ONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PHASES_TWO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_POPUP_ALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_POPUP_NEVER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_POPUP_TEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PRINT_BLACKONWHITE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PRINT_COLOURONWHITE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PRINT_COLOURONWHITEDEFAULTBG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PRINT_INVERTLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PRINT_NORMAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PRINT_SCREENCOLOURS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_SEL_LINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_SEL_RECTANGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_SEL_STREAM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_SEL_THIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_STARTACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_STATUS_BADALLOC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_STATUS_FAILURE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_STATUS_OK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_STATUS_WARN_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_STATUS_WARNREGEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TECHNOLOGY_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TECHNOLOGY_DIRECTWRITE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TECHNOLOGY_DIRECTWRITEDC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TECHNOLOGY_DIRECTWRITERETAIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TIME_FOREVER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TYPE_BOOLEAN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TYPE_INTEGER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TYPE_STRING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_UPDATE_CONTENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_UPDATE_H_SCROLL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_UPDATE_SELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_UPDATE_V_SCROLL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WEIGHT_BOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WEIGHT_NORMAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WEIGHT_SEMIBOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAP_CHAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAP_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAP_WHITESPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAP_WORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPINDENT_DEEPINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPINDENT_FIXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPINDENT_INDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPINDENT_SAME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_END</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_MARGIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAGLOC_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAGLOC_END_BY_TEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAGLOC_START_BY_TEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">SCEN_CHANGE</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCFIND_CXX11REGEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCFIND_MATCHCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCFIND_POSIX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCFIND_REGEXP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCFIND_WHOLEWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCFIND_WORDSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ADDREFDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ADDSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ADDSTYLEDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ADDTABSTOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\">SCI_ADDTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ADDUNDOACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ALLOCATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ALLOCATEEXTENDEDSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ALLOCATELINECHARACTERINDEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ALLOCATESUBSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONCLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONGETLINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONGETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONGETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONGETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONGETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONGETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONSETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONSETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONSETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONSETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_APPENDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ASSIGNCMDKEY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCACTIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCCANCEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCCOMPLETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETAUTOHIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETCANCELATSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETCHOOSESINGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETCURRENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETCURRENTTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETDROPRESTOFWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETIGNORECASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETMAXHEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETMAXWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETMULTI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETORDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETSEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETTYPESEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCPOSSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSELECT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETAUTOHIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETCANCELATSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETCHOOSESINGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETDROPRESTOFWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETFILLUPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETIGNORECASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\">SCI_AUTOCSETMAXHEIGHT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETMAXWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETMULTI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETORDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETSEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETTYPESEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSTOPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BACKTAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BEGINUNDOACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BRACEBADLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BRACEBADLIGHTINDICATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BRACEHIGHLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BRACEHIGHLIGHTINDICATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BRACEMATCH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPACTIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPCANCEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPPOSSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSETBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSETFOREHLT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSETHLT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSETPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSETPOSSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPUSESTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CANCEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CANPASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CANREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CANUNDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHANGEINSERTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHANGELEXERSTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARLEFTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARLEFTRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARPOSITIONFROMPOINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARPOSITIONFROMPOINTCLOSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARRIGHTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARRIGHTRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHOOSECARETX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARALLCMDKEYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARCMDKEY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARDOCUMENTSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">SCI_CLEARREGISTEREDIMAGES</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARREPRESENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARSELECTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARTABSTOPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_COLOURISE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CONTRACTEDFOLDNEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CONVERTEOLS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_COPY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\">SCI_COPYALLOWLINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_COPYRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_COPYTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_COUNTCHARACTERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_COUNTCODEUNITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CREATEDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CREATELOADER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELETEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELETEBACKNOTLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELETERANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELLINELEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELLINERIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELWORDLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELWORDRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELWORDRIGHTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DESCRIBEKEYWORDSETS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DESCRIBEPROPERTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DESCRIPTIONOFSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DISTANCETOSECONDARYSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DOCLINEFROMVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DOCUMENTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DOCUMENTENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DOCUMENTSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DOCUMENTSTARTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DROPSELECTIONN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_EDITTOGGLEOVERTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\">SCI_EMPTYUNDOBUFFER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ENDUNDOACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ENSUREVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ENSUREVISIBLEENFORCEPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_EXPANDCHILDREN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FINDCOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FINDINDICATORFLASH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FINDINDICATORHIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FINDINDICATORSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FINDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FOLDALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FOLDCHILDREN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FOLDDISPLAYTEXTSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FOLDLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FORMATRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FORMFEED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FREESUBSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETACCESSIBILITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETADDITIONALCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETADDITIONALCARETSBLINK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETADDITIONALCARETSVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETADDITIONALSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETADDITIONALSELECTIONTYPING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETALLLINESVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">SCI_GETANCHOR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETAUTOMATICFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETBACKSPACEUNINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETBUFFEREDDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETLINEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETLINEBACKALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETLINEFRAME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETLINEVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETLINEVISIBLEALWAYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETPERIOD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETSTICKY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\">SCI_GETCHARACTERPOINTER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCHARAT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCODEPAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCOMMANDEVENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCONTROLCHARSYMBOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCURLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">SCI_GETCURRENTPOS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCURSOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETDIRECTFUNCTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETDIRECTPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETDOCPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETDOCUMENTOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETEDGECOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETEDGECOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETEDGEMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETENDATLASTLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">SCI_GETENDSTYLED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETEOLMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETEXTRAASCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETEXTRADESCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETFIRSTVISIBLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETFOCUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETFOLDEXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETFOLDLEVEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETFOLDPARENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETFONTQUALITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETGAPPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETHIGHLIGHTGUIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETHOTSPOTACTIVEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETHOTSPOTACTIVEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETHOTSPOTACTIVEUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETHOTSPOTSINGLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETHSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETIDENTIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETIDLESTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETIMEINTERACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETINDENTATIONGUIDES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETINDICATORCURRENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETINDICATORVALUE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLASTCHILD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLAYOUTCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLENGTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">SCI_GETLEXER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLEXERLANGUAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINECHARACTERINDEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINECOUNT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEENDPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEENDTYPESACTIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEENDTYPESALLOWED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEENDTYPESSUPPORTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEINDENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEINDENTPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINESELENDPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINESELSTARTPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMAINSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMARGINBACKN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">SCI_GETMARGINCURSORN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMARGINLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">SCI_GETMARGINMASKN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMARGINOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMARGINRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMARGINS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">SCI_GETMARGINWIDTHN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMAXLINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMODEVENTMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\">SCI_GETMODIFY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMOUSEDOWNCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMOUSEDWELLTIME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMOUSESELECTIONRECTANGULARSWITCH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMOUSEWHEELCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMOVEEXTENDSSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMULTIPASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMULTIPLESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETNAMEDSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETNEXTTABSTOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETOVERTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPASTECONVERTENDINGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPHASESDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPOSITIONCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPRIMARYSTYLEFROMSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPRINTCOLOURMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPRINTMAGNIFICATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPRINTWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPROPERTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPROPERTYEXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPROPERTYINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPUNCTUATIONCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETRANGEPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">SCI_GETREADONLY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONMODIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETREPRESENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSCROLLWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSCROLLWIDTHTRACKING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSEARCHFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONEMPTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONNANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONNANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONNCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONNCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONNEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONNSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSTATUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSTYLEAT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSTYLEBITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSTYLEBITSNEEDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSTYLEDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSTYLEFROMSUBSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSUBSTYLEBASES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSUBSTYLESLENGTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSUBSTYLESSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTABDRAWMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTABINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTABWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTAG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTARGETEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTARGETSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTARGETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTECHNOLOGY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">SCI_GETTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\">SCI_GETTEXTLENGTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTEXTRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTWOPHASEDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETUNDOCOLLECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETUSETABS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETVIEWEOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETVIEWWS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETVIRTUALSPACEOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETVSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWHITESPACECHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWHITESPACESIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWORDCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWRAPINDENTMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWRAPSTARTINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWRAPVISUALFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWRAPVISUALFLAGSLOCATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETXOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETZOOM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GOTOLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\">SCI_GOTOPOS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GRABFOCUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HIDELINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HIDESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOMEDISPLAY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOMEDISPLAYEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOMEEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOMERECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOMEWRAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOMEWRAPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDEXPOSITIONFROMLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICATORALLONFOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICATORCLEARRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICATOREND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICATORFILLRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICATORSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICATORVALUEAT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETHOVERFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETHOVERSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETOUTLINEALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETUNDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETHOVERFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETHOVERSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETOUTLINEALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETUNDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INSERTTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ISRANGEWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LEXER_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINECOPY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINECUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEDELETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEDOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEDOWNRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEDUPLICATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEENDDISPLAY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEENDDISPLAYEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEENDRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEENDWRAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEENDWRAPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEFROMINDEXPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEFROMPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINELENGTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEREVERSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINESCROLL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINESCROLLDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINESCROLLUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINESJOIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINESONSCREEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINESSPLIT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINETRANSPOSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEUPRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LOADLEXERLIBRARY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LOWERCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINGETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINGETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINGETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINGETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINSETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINSETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINSETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINTEXTCLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARKERADDSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">SCI_MARKERDEFINEPIXMAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">SCI_MARKERDELETE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">SCI_MARKERDELETEALL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">SCI_MARKERDELETEHANDLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARKERENABLEHIGHLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\">SCI_MARKERGET</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\">SCI_MARKERLINEFROMHANDLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">SCI_MARKERNEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">SCI_MARKERPREVIOUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARKERSETALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">SCI_MARKERSETBACK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARKERSETBACKSELECTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">SCI_MARKERSETFORE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARKERSYMBOLDEFINED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MOVECARETINSIDEVIEW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MOVESELECTEDLINESDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MOVESELECTEDLINESUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MULTIEDGEADDLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MULTIEDGECLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MULTIPLESELECTADDEACH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MULTIPLESELECTADDNEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_NAMEOFSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_NEWLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_NULL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_OPTIONAL_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PAGEDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PAGEDOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PAGEDOWNRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PAGEUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PAGEUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PAGEUPRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PARADOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PARADOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PARAUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PARAUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POINTXFROMPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POINTYFROMPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONAFTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONBEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONFROMLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONFROMPOINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONFROMPOINTCLOSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONRELATIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONRELATIVECODEUNITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PRIVATELEXERCALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PROPERTYNAMES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PROPERTYTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_REDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">SCI_REGISTERIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_RELEASEALLEXTENDEDSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_RELEASEDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_RELEASELINECHARACTERINDEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_REPLACESEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_REPLACETARGET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_REPLACETARGETRE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">SCI_RGBAIMAGESETHEIGHT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_RGBAIMAGESETSCALE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">SCI_RGBAIMAGESETWIDTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ROTATESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SCROLLCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SCROLLRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SCROLLTOEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SCROLLTOSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SEARCHANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SEARCHINTARGET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SEARCHNEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SEARCHPREV</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SELECTALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SELECTIONDUPLICATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SELECTIONISRECTANGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETACCESSIBILITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALCARETSBLINK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALCARETSVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALSELBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALSELECTIONTYPING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALSELFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\">SCI_SETANCHOR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETAUTOMATICFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETBACKSPACEUNINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETBUFFEREDDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETLINEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETLINEBACKALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETLINEFRAME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETLINEVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETLINEVISIBLEALWAYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETPERIOD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETSTICKY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCHARSDEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCODEPAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCOMMANDEVENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCONTROLCHARSYMBOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">SCI_SETCURRENTPOS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCURSOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETDOCPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEDGECOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEDGECOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEDGEMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEMPTYSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETENDATLASTLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEOLMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEXTRAASCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEXTRADESCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFIRSTVISIBLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFOCUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFOLDEXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFOLDFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFOLDLEVEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFOLDMARGINCOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFOLDMARGINHICOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFONTQUALITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETHIGHLIGHTGUIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETHOTSPOTACTIVEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETHOTSPOTACTIVEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETHOTSPOTACTIVEUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETHOTSPOTSINGLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETHSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETIDENTIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETIDENTIFIERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETIDLESTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETIMEINTERACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETINDENTATIONGUIDES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETINDICATORCURRENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETINDICATORVALUE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETKEYWORDS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETLAYOUTCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">SCI_SETLEXER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\">SCI_SETLEXERLANGUAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETLINEENDTYPESALLOWED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETLINEINDENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETLINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMAINSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMARGINBACKN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">SCI_SETMARGINCURSORN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMARGINLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">SCI_SETMARGINMASKN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMARGINOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMARGINRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMARGINS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMODEVENTMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMOUSEDOWNCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMOUSEDWELLTIME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMOUSESELECTIONRECTANGULARSWITCH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMOUSEWHEELCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMULTIPASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMULTIPLESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETOVERTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPASTECONVERTENDINGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPHASESDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPOSITIONCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPRINTCOLOURMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPRINTMAGNIFICATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPRINTWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPROPERTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPUNCTUATIONCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\">SCI_SETREADONLY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONMODIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETREPRESENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">SCI_SETSAVEPOINT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSCROLLWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSCROLLWIDTHTRACKING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSEARCHFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONNANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONNANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONNCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONNCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONNEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONNSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSTATUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSTYLEBITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSTYLINGEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTABDRAWMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTABINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTABWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTARGETEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTARGETRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTARGETSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTECHNOLOGY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">SCI_SETTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTWOPHASEDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETUNDOCOLLECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETUSETABS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETVIEWEOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETVIEWWS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETVIRTUALSPACEOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETVISIBLEPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETVSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWHITESPACEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWHITESPACECHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWHITESPACEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWHITESPACESIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWORDCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWRAPINDENTMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWRAPSTARTINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWRAPVISUALFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWRAPVISUALFLAGSLOCATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETXCARETPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETXOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETYCARETPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETZOOM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SHOWLINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STARTRECORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STARTSTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STOPRECORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEDOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLECLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETBOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETCHANGEABLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETCHARACTERSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETFONT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETHOTSPOT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETITALIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETSIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETSIZEFRACTIONAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETWEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLERESETDEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETBOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETCHANGEABLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETCHARACTERSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETFONT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETHOTSPOT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETITALIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETSIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETSIZEFRACTIONAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETWEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SWAPMAINANCHORCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TAGSOFSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TARGETFROMSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TARGETWHOLEDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TEXTHEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\">SCI_TEXTWIDTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TOGGLECARETSTICKY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TOGGLEFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TOGGLEFOLDSHOWTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_UNDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_UPPERCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_USEPOPUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_USERLISTSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOMEDISPLAY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOMEDISPLAYEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOMEEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOMERECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOMEWRAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOMEWRAPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VERTICALCENTRECARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VISIBLEFROMDOCLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDENDPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDLEFTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDLEFTENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDLEFTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDPARTLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDPARTLEFTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDPARTRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDPARTRIGHTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDRIGHTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDRIGHTENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDRIGHTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDSTARTPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WRAPCOUNT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ZOOMIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ZOOMOUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>ScintillaBytes</b> typedef (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_ADD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_BACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_DELETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_DIVIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_DOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_END</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_ESCAPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_HOME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_INSERT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_LEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_MENU</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_NEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_PRIOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_RETURN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_RIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_RWIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_SUBTRACT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_TAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_UP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_WIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\">SCLEX_A68K</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\">SCLEX_ABAQUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\">SCLEX_ADA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\">SCLEX_APDL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\">SCLEX_AS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\">SCLEX_ASM</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\">SCLEX_ASN1</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\">SCLEX_ASP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\">SCLEX_ASYMPTOTE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\">SCLEX_AU3</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\">SCLEX_AVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\">SCLEX_AVS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\">SCLEX_BAAN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\">SCLEX_BASH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\">SCLEX_BATCH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\">SCLEX_BIBTEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\">SCLEX_BLITZBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\">SCLEX_BULLANT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\">SCLEX_CAML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\">SCLEX_CLW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\">SCLEX_CLWNOCASE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\">SCLEX_CMAKE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\">SCLEX_COBOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\">SCLEX_COFFEESCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\">SCLEX_CONF</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">SCLEX_CONTAINER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\">SCLEX_CPP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\">SCLEX_CPPNOCASE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\">SCLEX_CSOUND</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\">SCLEX_CSS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\">SCLEX_D</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\">SCLEX_DIFF</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\">SCLEX_DMAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\">SCLEX_DMIS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\">SCLEX_ECL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\">SCLEX_EDIFACT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\">SCLEX_EIFFEL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\">SCLEX_EIFFELKW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\">SCLEX_ERLANG</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\">SCLEX_ERRORLIST</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\">SCLEX_ESCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\">SCLEX_F77</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\">SCLEX_FLAGSHIP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\">SCLEX_FORTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\">SCLEX_FORTRAN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\">SCLEX_FREEBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\">SCLEX_GAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\">SCLEX_GUI4CLI</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\">SCLEX_HASKELL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\">SCLEX_HTML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\">SCLEX_IHEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\">SCLEX_INDENT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\">SCLEX_INNOSETUP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\">SCLEX_JSON</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\">SCLEX_KIX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\">SCLEX_KVIRC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\">SCLEX_LATEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\">SCLEX_LISP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\">SCLEX_LITERATEHASKELL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\">SCLEX_LOT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\">SCLEX_LOUT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\">SCLEX_LUA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\">SCLEX_MAGIK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\">SCLEX_MAKEFILE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\">SCLEX_MARKDOWN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\">SCLEX_MATLAB</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\">SCLEX_MAXIMA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\">SCLEX_METAPOST</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\">SCLEX_MMIXAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\">SCLEX_MODULA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\">SCLEX_MSSQL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\">SCLEX_MYSQL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\">SCLEX_NIMROD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\">SCLEX_NNCRONTAB</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\">SCLEX_NSIS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\">SCLEX_NULL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\">SCLEX_OCTAVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\">SCLEX_OPAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\">SCLEX_OSCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\">SCLEX_PASCAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\">SCLEX_PERL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\">SCLEX_PHP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\">SCLEX_PHPSCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\">SCLEX_PLM</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\">SCLEX_PO</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\">SCLEX_POV</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\">SCLEX_POWERBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\">SCLEX_POWERPRO</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\">SCLEX_POWERSHELL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\">SCLEX_PROGRESS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\">SCLEX_PROPERTIES</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\">SCLEX_PS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\">SCLEX_PUREBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\">SCLEX_PYTHON</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\">SCLEX_R</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\">SCLEX_REBOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\">SCLEX_REGISTRY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\">SCLEX_RUBY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\">SCLEX_RUST</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\">SCLEX_SAS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\">SCLEX_SCRIPTOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\">SCLEX_SMALLTALK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\">SCLEX_SML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\">SCLEX_SORCUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\">SCLEX_SPECMAN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\">SCLEX_SPICE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\">SCLEX_SQL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\">SCLEX_SREC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\">SCLEX_STATA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\">SCLEX_STTXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\">SCLEX_TACL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\">SCLEX_TADS3</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\">SCLEX_TAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\">SCLEX_TCL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\">SCLEX_TCMD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\">SCLEX_TEHEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\">SCLEX_TEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\">SCLEX_TXT2TAGS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\">SCLEX_VB</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\">SCLEX_VBSCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\">SCLEX_VERILOG</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\">SCLEX_VHDL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\">SCLEX_VISUALPROLOG</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\">SCLEX_XML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\">SCLEX_YAML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\">SCMOD_ALT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\">SCMOD_CTRL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\">SCMOD_META</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\">SCMOD_NORM</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\">SCMOD_SHIFT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\">SCMOD_SUPER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">SCN_AUTOCCANCELLED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">SCN_AUTOCCHARDELETED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">SCN_AUTOCCOMPLETED</a>(const char *selection, int position, int ch, int method)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION</a>(const char *selection, int position, int ch, int method)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1ad82492f8015a60dea97f6ebd712d64\">SCN_AUTOCSELECTION</a>(const char *selection, int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">SCN_AUTOCSELECTIONCHANGE</a>(const char *selection, int id, int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">SCN_CALLTIPCLICK</a>(int direction)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">SCN_CHARADDED</a>(int charadded)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">SCN_DOUBLECLICK</a>(int position, int line, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">SCN_DWELLEND</a>(int position, int x, int y)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">SCN_DWELLSTART</a>(int position, int x, int y)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">SCN_FOCUSIN</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">SCN_FOCUSOUT</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">SCN_HOTSPOTCLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">SCN_HOTSPOTDOUBLECLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">SCN_HOTSPOTRELEASECLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">SCN_INDICATORCLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">SCN_INDICATORRELEASE</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">SCN_MACRORECORD</a>(unsigned int, unsigned long, void *)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK</a>(int position, int modifiers, int margin)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">SCN_MARGINRIGHTCLICK</a>(int position, int modifiers, int margin)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCN_MODIFIED</b>(int, int, const char *, int, int, int, int, int, int, int) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">SCN_MODIFYATTEMPTRO</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCN_NEEDSHOWN</b>(int, int) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">SCN_PAINTED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">SCN_SAVEPOINTLEFT</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">SCN_SAVEPOINTREACHED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">SCN_STYLENEEDED</a>(int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">SCN_UPDATEUI</a>(int updated)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">SCN_URIDROPPED</a>(const QUrl &amp;url)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">SCN_USERLISTSELECTION</a>(const char *selection, int id, int ch, int method, int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9208cc0aaf2e0a32239924fc6d0b67b7\">SCN_USERLISTSELECTION</a>(const char *selection, int id, int ch, int method)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0045744463119646a5fe33ecc4d104fb\">SCN_USERLISTSELECTION</a>(const char *selection, int id)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCN_ZOOM</b>() (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>scrollContentsBy</b>(int dx, int dy) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">scrollWidth</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#abf895c5e4157e4b6effd28683c728b63\">scrollWidthTracking</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCTD_LONGARROW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCTD_STRIKEOUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCVS_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCVS_NOWRAPLINESTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCVS_RECTANGULARSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCVS_USERACCESSIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCWS_INVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCWS_VISIBLEAFTERINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCWS_VISIBLEALWAYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCWS_VISIBLEONLYININDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8aae5a0037937ad6c8bdfe868e4a8ad5\">selectAll</a>(bool select=true)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a10c8d8f5e97fb5ef86ea351407fe1023\">selectedText</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a194e86e59129ed570af044e19697d0e9\">selectionChanged</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aaf77d8976ae47a1d5e5ee804bc0645d3\">selectionToEol</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a986f1235405f51f9d5b2edda17423563\">selectToMatchingBrace</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">SendScintilla</a>(unsigned int msg, unsigned long wParam=0, long lParam=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adf01efe3951a727dab9c7a1c35d29e0f\">SendScintilla</a>(unsigned int msg, unsigned long wParam, void *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab2b37b2f67991e9c083d9412cba2264\">SendScintilla</a>(unsigned int msg, uintptr_t wParam, const char *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb45fb04c1ad8c6459fea750d8788584\">SendScintilla</a>(unsigned int msg, const char *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9fa4dc539be7b199e91d6ff0f83e5f8d\">SendScintilla</a>(unsigned int msg, const char *wParam, const char *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a66b0c8459f5a407eef6783cd6d80b\">SendScintilla</a>(unsigned int msg, long wParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#add035b6176dbe36b3c975f05573c0e61\">SendScintilla</a>(unsigned int msg, int wParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6c892370b4ee3afd2eef080ee8c25fde\">SendScintilla</a>(unsigned int msg, long cpMin, long cpMax, char *lpstrText) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1d84e61ba19c5177386ba30ba512345f\">SendScintilla</a>(unsigned int msg, unsigned long wParam, const QColor &amp;col) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af935c2c5d8eeb3aeb25ba9b48539f879\">SendScintilla</a>(unsigned int msg, const QColor &amp;col) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aacfd4923492644933902b278efea1787\">SendScintilla</a>(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &amp;rc, long cpMin, long cpMax) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2cef89549882e03a6290af8cbbf1a3ce\">SendScintilla</a>(unsigned int msg, unsigned long wParam, const QPixmap &amp;lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a56542fe5a9e5790eab29936b73ef0fa3\">SendScintilla</a>(unsigned int msg, unsigned long wParam, const QImage &amp;lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">SendScintillaPtrResult</a>(unsigned int msg) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aeda9c17a6e746e177fa6f5311d96dc03\">setAnnotationDisplay</a>(AnnotationDisplay display)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8348c07fe8cff0bf6141a94ca3014ed2\">setAutoCompletionCaseSensitivity</a>(bool cs)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">setAutoCompletionFillups</a>(const char *fillups)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">setAutoCompletionFillupsEnabled</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af67874dae6e032c44d4ccde569e2decb\">setAutoCompletionReplaceWord</a>(bool replace)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6b494f1a0395a62c3e61f50eabc50679\">setAutoCompletionShowSingle</a>(bool single)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a48860b20014ce8b044760c055156ba57\">setAutoCompletionSource</a>(AutoCompletionSource source)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">setAutoCompletionThreshold</a>(int thresh)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">setAutoCompletionUseSingle</a>(AutoCompletionUseSingle single)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4ba18e98a98310113fb30d8ada30fe14\">setAutoCompletionWordSeparators</a>(const QStringList &amp;separators)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a02105d06ad853647906eb72d27face67\">setAutoIndent</a>(bool autoindent)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">setBackspaceUnindents</a>(bool unindent)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae53911447eddf1f0f93811f17ca4ecf8\">setBraceMatching</a>(BraceMatch bm)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af780380f9f1f2a66c729759b1d37ba69\">setCallTipsBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a13a64159770a6eb451567bc2d293c2a2\">setCallTipsForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae64151db464b22eedd012225f82c810d\">setCallTipsHighlightColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7f9d93c22ed8b7b00996408da578cd2a\">setCallTipsPosition</a>(CallTipsPosition position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a253807bb0f4b3db471b059afc70b77db\">setCallTipsStyle</a>(CallTipsStyle style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aec47d94706ffb14ef35035ba827b5b45\">setCallTipsVisible</a>(int nr)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af9015c62600c87eef82f715bf61da913\">setCaretForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8c227f8c948aeb5e6a2cf73397387cc0\">setCaretLineBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0999f0d3c67472b6986486fd06775240\">setCaretLineFrameWidth</a>(int width)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a37f2cddeeef588533be46798ae18ffab\">setCaretLineVisible</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a2c1974c2bdc9c0f2923c28b66afe811f\">setCaretWidth</a>(int width)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8c8e4776767cc88b945f50f07d235770\">setColor</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9405d8aaa240dfc8fe30c3a4b5556ecc\">setContractedFolds</a>(const QList&lt; int &gt; &amp;folds)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aea97c6fb0079a6e3e647443b6101ae9d\">setCursorPosition</a>(int line, int index)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">setDocument</a>(const QsciDocument &amp;document)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">setEdgeColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn</a>(int colnr)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3493e72e97607270ca64c01b521f933f\">setEdgeMode</a>(EdgeMode mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">setEolMode</a>(EolMode mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab98db9f5166ccc23792aea15a19c2294\">setEolVisibility</a>(bool visible)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">setExtraAscent</a>(int extra)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">setExtraDescent</a>(int extra)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a451bcf235c2ad7628d32940a13d22116\">setFirstVisibleLine</a>(int linenr)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">setFolding</a>(FoldStyle fold, int margin=2)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6bdcf192822a31094e680ffb2f142aab\">setFoldMarginColors</a>(const QColor &amp;fore, const QColor &amp;back)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a26eb997695e6b7292896743ac825a8ee\">setFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">setHotspotBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">setHotspotForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac961cfe1be7cd29038a2772f30b71bfc\">setHotspotUnderline</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7245335691700f82db41016d257d63cc\">setHotspotWrap</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa46e60536be6297de6ca1fb16d36cd51\">setIndentation</a>(int line, int indentation)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a1b4591eb73dcef0153861f698edc8726\">setIndentationGuides</a>(bool enable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a18d150beb0cd818ebcbcee886217de6a\">setIndentationGuidesBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ace4acd9ee0d1c3e31099d65cdd8219b2\">setIndentationGuidesForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a065b392e0a39ecfd39df787a3a25e814\">setIndentationsUseTabs</a>(bool tabs)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8010e1671a15976254fd11b59ca3e03d\">setIndentationWidth</a>(int width)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5ba2e241be76c209c0f5509804a995c9\">setIndicatorDrawUnder</a>(bool under, int indicatorNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a2ffd6d691d5a63940e448138f3754a47\">setIndicatorForegroundColor</a>(const QColor &amp;col, int indicatorNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a616edbb9da241c08f8381835d65bb18c\">setIndicatorHoverForegroundColor</a>(const QColor &amp;col, int indicatorNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae76354288b8e5c2bc6f7a7e7bd97e44e\">setIndicatorHoverStyle</a>(IndicatorStyle style, int indicatorNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af63627804eeffc4f0f1290181cda7781\">setIndicatorOutlineColor</a>(const QColor &amp;col, int indicatorNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">setLexer</a>(QsciLexer *lexer=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">setMarginBackgroundColor</a>(int margin, const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5fddd1e6e19cf2e2b40c15a39e62d198\">setMarginLineNumbers</a>(int margin, bool lnrs)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aae6392483ffb59cdb94b7bd4b8a6dec9\">setMarginMarkerMask</a>(int margin, int mask)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a626103a61623dd360dc44210fe435ad7\">setMarginOptions</a>(int options)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9c3a34cb9edf25913af16c9dc284cc5d\">setMargins</a>(int margins)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a419ab8aed49ea1711ce4ffcf19146df1\">setMarginsBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">setMarginSensitivity</a>(int margin, bool sens)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a672f2fb901048f290997cb69216b7a00\">setMarginsFont</a>(const QFont &amp;f)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a263f0c4753c9a0c950adf1377737444e\">setMarginsForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7677d42ce77cb5a150dc961d12da92e1\">setMarginText</a>(int line, const QString &amp;text, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad1b6838e763eb9d7c0b3562b6c2a96ae\">setMarginText</a>(int line, const QString &amp;text, const QsciStyle &amp;style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad85546712df2387738e63be38dc41d61\">setMarginText</a>(int line, const QsciStyledText &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a2b148c2c2065f1ef1563421303a02225\">setMarginText</a>(int line, const QList&lt; QsciStyledText &gt; &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">setMarginType</a>(int margin, MarginType type)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a1a8b798b6b36db2b5f60b0cdccba88a1\">setMarginWidth</a>(int margin, int width)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aece608d0192ccad13cc706c4b79005e3\">setMarginWidth</a>(int margin, const QString &amp;s)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acf47d4b76a8c85a48fe9a27423997071\">setMarkerBackgroundColor</a>(const QColor &amp;col, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6abf177ca5bf8eea0930106d2867edae\">setMarkerForegroundColor</a>(const QColor &amp;col, int markerNumber=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">setMatchedBraceBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af590f3e7196b21860e0405670cfa512d\">setMatchedBraceForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">setMatchedBraceIndicator</a>(int indicatorNumber)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">setModified</a>(bool m)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa627ee937acaae02dc0c5b468fd2643b\">setOverwriteMode</a>(bool overwrite)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa805f90f3bbe067299e9ab8902eafbf3\">setPaper</a>(const QColor &amp;c)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">setReadOnly</a>(bool ro)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setScrollBars</b>() (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">setScrollWidth</a>(int pixelWidth)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">setScrollWidthTracking</a>(bool enabled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a391299d076b0164402118f504c83d09c\">setSelection</a>(int lineFrom, int indexFrom, int lineTo, int indexTo)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">setSelectionBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">setSelectionForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7e36f3595e0d89910b9322dc5295152d\">setSelectionToEol</a>(bool filled)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a69f35ec6e80059bbb351c8f8845cd8f6\">setTabDrawMode</a>(TabDrawMode mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">setTabIndents</a>(bool indent)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a1bd5470bc123a43c98facfc5c4a1e523\">setTabWidth</a>(int width)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">setText</a>(const QString &amp;text)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">setUnmatchedBraceBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a511a4f492a9912df3d430fba33b67d5c\">setUnmatchedBraceForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">setUnmatchedBraceIndicator</a>(int indicatorNumber)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9071c0772ce576f60fce08395ce04274\">setUtf8</a>(bool cp)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9fdd43a276cf3d9a3e7cc86dc7f280f5\">setWhitespaceBackgroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a67177e2b1d8584d8cf8f1b276174b258\">setWhitespaceForegroundColor</a>(const QColor &amp;col)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7436ea4b640c312fd07945e9b436e19b\">setWhitespaceSize</a>(int size)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aa2bca1d2d137ea4a3f944a4f41f98a94\">setWhitespaceVisibility</a>(WhitespaceVisibility mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ad8424876c29b1a77fd1df45a534722d1\">setWrapIndentMode</a>(WrapIndentMode mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac04428d2f90c36458d68a673f107e40c\">setWrapMode</a>(WrapMode mode)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab696e4703374af4c01651453d094ac08\">setWrapVisualFlags</a>(WrapVisualFlag endFlag, WrapVisualFlag startFlag=WrapFlagNone, int indent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a42ae037173aab16ce5e14788e6331623\">showUserList</a>(int id, const QStringList &amp;list)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523a35852dc4c418589c8751dfc913abb65c\">SloppyBraceMatch</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ad738bdaec4c29f98478434c2aad0b4a0\">SmallRectangle</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4a05171985efcac66b2a9b807cd5ca31\">SquiggleIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a1ab0879dfc51ea5894fcfc108f3baa59\">SquiggleLowIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a989b84433c9f4c7a95dbb3d3802b724f\">SquigglePixmapIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8911af504ebdc870f09da4c7a491eeeb\">standardCommands</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aba9ac8f4ae4eaaee90be633ccb94bbf4\">StraightBoxIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\">StrictBraceMatch</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a029dfc2ae051a07911e1d1e733825e96\">StrikeIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_BRACEBAD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_BRACELIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_CALLTIP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_CONTROLCHAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_FOLDDISPLAYTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_INDENTGUIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_LASTPREDEFINED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_LINENUMBER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_MAX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac77614e4b9956e3c44fface749ff6602\">SymbolMargin</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac306b600646e9cf9c58cc637e76fc805\">SymbolMarginColor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ad60eb277ce18f3c7baa28721ab5dc834\">SymbolMarginDefaultBackgroundColor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a0e3a004e5eebb910f8329a48e7721e03\">SymbolMarginDefaultForegroundColor</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab000e5f46abc6568405585b711067d1e\">tabDrawMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">TabDrawMode</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">tabIndents</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3a4e7561cfb578c42760c28e9f74241db9\">TabLongArrow</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3af47cfb4645cf89aaf9580878fa5396bd\">TabStrikeOut</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7d5c7190fb8b022e05e20ca011a0c65e\">text</a>(int line) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a794e5cccbc1aa419bad4c7cfe65f8f02\">text</a>(int start, int end) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>textAsBytes</b>(const QString &amp;text) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8696968d0a32b07bfc77fb0701c5bf62\">textChanged</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab2245f80f3cbb9a114fc4dddd7f004e2\">TextColorIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#af1651b676dd24c8768a90b829400a6cf\">textHeight</a>(int linenr) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a067796489486bcc1573cb0951a4199a9\">TextMargin</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a7445fe74d90bd62eceb5311b1f7f52fc\">TextMarginRightJustified</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974affa2d89915d3958c0938d55a17c6afb7\">ThickCompositionIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ad602bf60625109aecfce418a5e37b1e7\">ThinCompositionIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ade6443defea98e4663e396785393fa20\">ThreeDots</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae40bc43f021c051ae9d3dc8bb0cc4a04\">ThreeRightArrows</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">toMimeData</a>(const QByteArray &amp;text, bool rectangular) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab1d6bb2b94362ebcd6e8388f8812e3f4\">TriangleCharacterIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aaade48e18985d23630c6178148bf1c8d\">TriangleIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974af3054c8db19f828df05ac08221c5462e\">TTIndicator</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a42de7d5678b0e92ed7f07ef1b9887f\">Underline</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>UNDO_MAY_COALESCE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">unindent</a>(int line)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">userListActivated</a>(int id, const QString &amp;string)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496acca6c5051d9438d75b757aaf5a0a6ab6\">VerticalLine</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>VISIBLE_SLOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>VISIBLE_STRICT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a9daa92535de2f43e4c04305007ce5475\">wheelEvent</a>(QWheelEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0b527097e38858853ea2ac5861278233\">whitespaceSize</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">WhitespaceVisibility</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a778c09295bdb4924aacf40d3134c50ba\">whitespaceVisibility</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a70c1bd30a1d26b2e059236a4b2835c44\">wordAtLineIndex</a>(int line, int index) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#abeaabcd8076d1f47e8a847006451ce36\">wordAtPoint</a>(const QPoint &amp;point) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a1052b3e64558fe29271c0829e6d0fdda\">wordCharacters</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a2bfc1bf41df6a56d925f3c369822435e\">WrapCharacter</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\">WrapFlagByBorder</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\">WrapFlagByText</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a0b40cb40f72cd10104a75c84ae809211\">WrapFlagInMargin</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">WrapFlagNone</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03aa2d7362610a92c58aa764a1df8914146\">WrapIndentDeeplyIndented</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a041dc048521b889bf1db274546d0f562\">WrapIndentFixed</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a0cb2a2ef379ad02b388a08880a624f2b\">WrapIndentIndented</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a8b593f92c03b3d6f999cd9d769c5028b\">wrapIndentMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">WrapIndentMode</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03ab9cc585fd0eb9a14e0f8c7d9389656e8\">WrapIndentSame</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">WrapMode</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4bf424d21079ab835dae90ce042400a0\">wrapMode</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a8005165822ca83fced05329d4d5b1964\">WrapNone</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">WrapVisualFlag</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42ae04a9e56dd933f834facd3cda30bb9ff\">WrapWhitespace</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42aeb6fe909aad13c04aab01c9c216ac2ec\">WrapWord</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a94b8329c4259ea90a6a28b1e745837de\">write</a>(QIODevice *io) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba994f4bd1f6121045ed81ea991bc97977\">WsInvisible</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07bab8e171675f00912460e07c79793dc878\">WsVisible</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba6f5e479444e170f8eabb37e2b2261daa\">WsVisibleAfterIndent</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba4908a41a9a5b8994ccae0a1441fbc07c\">WsVisibleOnlyInIndent</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#afb98254d553128ba4ebf6151a496679f\">zoomIn</a>(int range)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a4a1068502802e494fb58ae50f6b6aedf\">zoomIn</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a0c7c970d275176f678a86e46f5e2d07d\">zoomOut</a>(int range)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#a3de45d9f5485af099041d8046e734103\">zoomOut</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">zoomTo</a>(int size)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html#abb3418e72ca4479b276276d652048461\">~QsciScintilla</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">~QsciScintillaBase</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciScintilla.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciScintilla Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#nested-classes\">Classes</a> &#124;\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-slots\">Public Slots</a> &#124;\n<a href=\"#signals\">Signals</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciScintilla-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciScintilla Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qsciscintilla.h&gt;</code></p>\n\n<p>Inherits <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a486adb3348b30c80f53cc1f00c4ed978\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\">AiMaintain</a> = 0x01, \n<a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\">AiOpening</a> = 0x02, \n<a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\">AiClosing</a> = 0x04\n }</td></tr>\n<tr class=\"separator:a486adb3348b30c80f53cc1f00c4ed978\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3793111b6e2a86351c798c68deda7d0c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">AnnotationDisplay</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0caf708fc8c6c5b70daf1e03d5286a699f6\">AnnotationHidden</a> = ANNOTATION_HIDDEN, \n<a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca9127adc556d20a38d87055264228b121\">AnnotationStandard</a> = ANNOTATION_STANDARD, \n<a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca3b77a53cb3bc889bb98c4d0b79884709\">AnnotationBoxed</a> = ANNOTATION_BOXED, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca180ea6ab83ef2cfb3e8a31b01f3c31c7\">AnnotationIndented</a> = ANNOTATION_INDENTED\n<br />\n }</td></tr>\n<tr class=\"separator:a3793111b6e2a86351c798c68deda7d0c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae628d46489efa3db3b0c42336a1bf8d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">AutoCompletionUseSingle</a> { <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\">AcusNever</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\">AcusExplicit</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3ad3646f7c7cfe985480477c7c303af9e6\">AcusAlways</a>\n }</td></tr>\n<tr class=\"separator:ae628d46489efa3db3b0c42336a1bf8d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac466f32c3d7e51790b6b25c864783179\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">AutoCompletionSource</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\">AcsNone</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\">AcsAll</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\">AcsDocument</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179accaaf618ca9c7889b9899c4da6e9f17f\">AcsAPIs</a>\n<br />\n }</td></tr>\n<tr class=\"separator:ac466f32c3d7e51790b6b25c864783179\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae8277ccb3a2af0ae9a1495d8f8ea0523\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a> { <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\">NoBraceMatch</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\">StrictBraceMatch</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523a35852dc4c418589c8751dfc913abb65c\">SloppyBraceMatch</a>\n }</td></tr>\n<tr class=\"separator:ae8277ccb3a2af0ae9a1495d8f8ea0523\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aef97a9061de95a09b57d527f6410881d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">CallTipsPosition</a> { <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\">CallTipsBelowText</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\">CallTipsAboveText</a>\n }</td></tr>\n<tr class=\"separator:aef97a9061de95a09b57d527f6410881d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a62d0174cb0a07e3f2d48fc0603192668\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">CallTipsStyle</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\">CallTipsNone</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\">CallTipsNoContext</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\">CallTipsNoAutoCompletionContext</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a3e031bc89388b8c7369001d670e87fc9\">CallTipsContext</a>\n<br />\n }</td></tr>\n<tr class=\"separator:a62d0174cb0a07e3f2d48fc0603192668\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a40b8ec37e068b12d9c83ee497929a00e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">EdgeMode</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ead6c5f91845329bb32ff37e3f1325078c\">EdgeNone</a> = EDGE_NONE, \n<a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea44fdad06b183b02f5d54a3fecd5ac98d\">EdgeLine</a> = EDGE_LINE, \n<a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea46d9f957fe5b30a681ebaecc3ba159d5\">EdgeBackground</a> = EDGE_BACKGROUND, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea2a310e227fd42221c2ad9b81fbdb7654\">EdgeMultipleLines</a> = EDGE_MULTILINE\n<br />\n }</td></tr>\n<tr class=\"separator:a40b8ec37e068b12d9c83ee497929a00e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab4b6b4286a74e173a86de0a7f55241d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a> { <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a355072d24e408bb7fbb2be3ed5389d30\">EolWindows</a> = SC_EOL_CRLF, \n<a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a66683da125a4e780a672edae2781df89\">EolUnix</a> = SC_EOL_LF, \n<a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a884e225089dc5181bf661a13a5d12c99\">EolMac</a> = SC_EOL_CR\n }</td></tr>\n<tr class=\"separator:ab4b6b4286a74e173a86de0a7f55241d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae478a896ae32a30e8a375049a3d477e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">FoldStyle</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\">NoFoldStyle</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\">PlainFoldStyle</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\">CircledFoldStyle</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\">BoxedFoldStyle</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\">CircledTreeFoldStyle</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0ac22ee26a39d4661a59f0a2d285ad27e2\">BoxedTreeFoldStyle</a>\n<br />\n }</td></tr>\n<tr class=\"separator:ae478a896ae32a30e8a375049a3d477e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3333f3a47163153c1bd7db1a362b8974\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">IndicatorStyle</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0563b9d3106c3d8943c72c9fb607b1a9\">PlainIndicator</a> = INDIC_PLAIN, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4a05171985efcac66b2a9b807cd5ca31\">SquiggleIndicator</a> = INDIC_SQUIGGLE, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974af3054c8db19f828df05ac08221c5462e\">TTIndicator</a> = INDIC_TT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a3f15a9d49659f4c9baa660da5243074f\">DiagonalIndicator</a> = INDIC_DIAGONAL, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a029dfc2ae051a07911e1d1e733825e96\">StrikeIndicator</a> = INDIC_STRIKE, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4d76d98f1b407df8f0a62b70a7545c51\">HiddenIndicator</a> = INDIC_HIDDEN, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a121e0a9c852567a581f208b8f7cc1bed\">BoxIndicator</a> = INDIC_BOX, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974abb8b610c8536fb766052a18f19572ed0\">RoundBoxIndicator</a> = INDIC_ROUNDBOX, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aba9ac8f4ae4eaaee90be633ccb94bbf4\">StraightBoxIndicator</a> = INDIC_STRAIGHTBOX, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aeb5cb655e2f3e61e8df54655b11695f1\">FullBoxIndicator</a> = INDIC_FULLBOX, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0d28a4278d8321718b457d664780d92b\">DashesIndicator</a> = INDIC_DASH, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974adf3330b6033f9d647807a031f61cfd04\">DotsIndicator</a> = INDIC_DOTS, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a1ab0879dfc51ea5894fcfc108f3baa59\">SquiggleLowIndicator</a> = INDIC_SQUIGGLELOW, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a14ea8b26486c9b42eb7748d32687e51a\">DotBoxIndicator</a> = INDIC_DOTBOX, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a989b84433c9f4c7a95dbb3d3802b724f\">SquigglePixmapIndicator</a> = INDIC_SQUIGGLEPIXMAP, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974affa2d89915d3958c0938d55a17c6afb7\">ThickCompositionIndicator</a> = INDIC_COMPOSITIONTHICK, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ad602bf60625109aecfce418a5e37b1e7\">ThinCompositionIndicator</a> = INDIC_COMPOSITIONTHIN, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab2245f80f3cbb9a114fc4dddd7f004e2\">TextColorIndicator</a> = INDIC_TEXTFORE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aaade48e18985d23630c6178148bf1c8d\">TriangleIndicator</a> = INDIC_POINT, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab1d6bb2b94362ebcd6e8388f8812e3f4\">TriangleCharacterIndicator</a> = INDIC_POINTCHARACTER, \n<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a7f4b165aed1dd094770e16c93c976d08\">GradientIndicator</a> = INDIC_GRADIENT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aca7717bb45779f822c9fcea2d78456dc\">CentreGradientIndicator</a> = INDIC_GRADIENTCENTRE\n<br />\n }</td></tr>\n<tr class=\"separator:a3333f3a47163153c1bd7db1a362b8974\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac99833884d4b015f0781ee1d54b703cf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\">MoNone</a> = SC_MARGINOPTION_NONE, \n<a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\">MoSublineSelect</a> = SC_MARGINOPTION_SUBLINESELECT\n }</td></tr>\n<tr class=\"separator:ac99833884d4b015f0781ee1d54b703cf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aedab060e87e0533083ea8f1398302090\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">MarginType</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac77614e4b9956e3c44fface749ff6602\">SymbolMargin</a> = SC_MARGIN_SYMBOL, \n<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a0e3a004e5eebb910f8329a48e7721e03\">SymbolMarginDefaultForegroundColor</a> = SC_MARGIN_FORE, \n<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ad60eb277ce18f3c7baa28721ab5dc834\">SymbolMarginDefaultBackgroundColor</a> = SC_MARGIN_BACK, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090af2e3b128abc692ae0b1b6c835a90537e\">NumberMargin</a> = SC_MARGIN_NUMBER, \n<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a067796489486bcc1573cb0951a4199a9\">TextMargin</a> = SC_MARGIN_TEXT, \n<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a7445fe74d90bd62eceb5311b1f7f52fc\">TextMarginRightJustified</a> = SC_MARGIN_RTEXT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac306b600646e9cf9c58cc637e76fc805\">SymbolMarginColor</a> = SC_MARGIN_COLOUR\n<br />\n }</td></tr>\n<tr class=\"separator:aedab060e87e0533083ea8f1398302090\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a08467ef528d3048db763979f42664496\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">MarkerSymbol</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac0ea486bd51a662ec3be569f420f5d1b\">Circle</a> = SC_MARK_CIRCLE, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496aeeea97e421201a5e5e0765a10e8bae9e\">Rectangle</a> = SC_MARK_ROUNDRECT, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a0865ee6d974f4969f239565400fa5e86\">RightTriangle</a> = SC_MARK_ARROW, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ad738bdaec4c29f98478434c2aad0b4a0\">SmallRectangle</a> = SC_MARK_SMALLRECT, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a83df9bcfb20a4df73ba28ae7e25adc88\">RightArrow</a> = SC_MARK_SHORTARROW, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a75deca598e2319575861cf9d61e15c65\">Invisible</a> = SC_MARK_EMPTY, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a73b37930e36e66281465f89530a889a4\">DownTriangle</a> = SC_MARK_ARROWDOWN, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6caac8b127940c11b302189ac82dda5c\">Minus</a> = SC_MARK_MINUS, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a21c1ea793bbfcbe6321cbc2ce042b5b4\">Plus</a> = SC_MARK_PLUS, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496acca6c5051d9438d75b757aaf5a0a6ab6\">VerticalLine</a> = SC_MARK_VLINE, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ab252e6e9a75a8987543dd345087a6239\">BottomLeftCorner</a> = SC_MARK_LCORNER, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a92b9f1d4c2cdddc5ef4030fdff5edc7d\">LeftSideSplitter</a> = SC_MARK_TCORNER, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a99c849093ce52310ba63277968e20fca\">BoxedPlus</a> = SC_MARK_BOXPLUS, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a43d4fef1aeaaaf6847e8f96761d5aaa4\">BoxedPlusConnected</a> = SC_MARK_BOXPLUSCONNECTED, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a94bff27aa9fe8d4c47c1d0142b219ea4\">BoxedMinus</a> = SC_MARK_BOXMINUS, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a8f97b4e8119422e060a9e1a92f84cb\">BoxedMinusConnected</a> = SC_MARK_BOXMINUSCONNECTED, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496afa25f9b9f604542625e2eeb812484363\">RoundedBottomLeftCorner</a> = SC_MARK_LCORNERCURVE, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a2a2e0c98376d63fc6fdba6c1bc5b8768\">LeftSideRoundedSplitter</a> = SC_MARK_TCORNERCURVE, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496adfcda6a0567fb132f08dbfbc0bc40161\">CircledPlus</a> = SC_MARK_CIRCLEPLUS, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac7ac14f88e9a76b42d5ac2270f961ef1\">CircledPlusConnected</a> = SC_MARK_CIRCLEPLUSCONNECTED, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496af61cc9c30ac12712c1774ea2a9539846\">CircledMinus</a> = SC_MARK_CIRCLEMINUS, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6e71f3cbb658aa12b566fe2293356e50\">CircledMinusConnected</a> = SC_MARK_CIRCLEMINUSCONNECTED, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a684a85314d17d730f0dfc238c523160e\">Background</a> = SC_MARK_BACKGROUND, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ade6443defea98e4663e396785393fa20\">ThreeDots</a> = SC_MARK_DOTDOTDOT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae40bc43f021c051ae9d3dc8bb0cc4a04\">ThreeRightArrows</a> = SC_MARK_ARROWS, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a37179bb1a189664cf22b25168ae0dc2b\">FullRectangle</a> = SC_MARK_FULLRECT, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac92383c0e761f791d4abf557b9d75d3b\">LeftRectangle</a> = SC_MARK_LEFTRECT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a42de7d5678b0e92ed7f07ef1b9887f\">Underline</a> = SC_MARK_UNDERLINE, \n<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae143f481474150e05f35218f54c6b4f7\">Bookmark</a> = SC_MARK_BOOKMARK\n<br />\n }</td></tr>\n<tr class=\"separator:a08467ef528d3048db763979f42664496\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acb9f67f141d5e81f68342e9507a308d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">TabDrawMode</a> { <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3a4e7561cfb578c42760c28e9f74241db9\">TabLongArrow</a> = SCTD_LONGARROW, \n<a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3af47cfb4645cf89aaf9580878fa5396bd\">TabStrikeOut</a> = SCTD_STRIKEOUT\n }</td></tr>\n<tr class=\"separator:acb9f67f141d5e81f68342e9507a308d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab83469cc9550eadcd5d4e8ca3d20d07b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">WhitespaceVisibility</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba994f4bd1f6121045ed81ea991bc97977\">WsInvisible</a> = SCWS_INVISIBLE, \n<a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07bab8e171675f00912460e07c79793dc878\">WsVisible</a> = SCWS_VISIBLEALWAYS, \n<a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba6f5e479444e170f8eabb37e2b2261daa\">WsVisibleAfterIndent</a> = SCWS_VISIBLEAFTERINDENT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba4908a41a9a5b8994ccae0a1441fbc07c\">WsVisibleOnlyInIndent</a> = SCWS_VISIBLEONLYININDENT\n<br />\n }</td></tr>\n<tr class=\"separator:ab83469cc9550eadcd5d4e8ca3d20d07b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7081c7ff25b5f6bd5b3a6cbd478a9f42\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">WrapMode</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a8005165822ca83fced05329d4d5b1964\">WrapNone</a> = SC_WRAP_NONE, \n<a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42aeb6fe909aad13c04aab01c9c216ac2ec\">WrapWord</a> = SC_WRAP_WORD, \n<a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a2bfc1bf41df6a56d925f3c369822435e\">WrapCharacter</a> = SC_WRAP_CHAR, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42ae04a9e56dd933f834facd3cda30bb9ff\">WrapWhitespace</a> = SC_WRAP_WHITESPACE\n<br />\n }</td></tr>\n<tr class=\"separator:a7081c7ff25b5f6bd5b3a6cbd478a9f42\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac4d1c67938c75806b2c139d0779d0478\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">WrapVisualFlag</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">WrapFlagNone</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\">WrapFlagByText</a>, \n<a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\">WrapFlagByBorder</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a0b40cb40f72cd10104a75c84ae809211\">WrapFlagInMargin</a>\n<br />\n }</td></tr>\n<tr class=\"separator:ac4d1c67938c75806b2c139d0779d0478\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a59b529ccfcb1f7896efb523025371a03\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">WrapIndentMode</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a041dc048521b889bf1db274546d0f562\">WrapIndentFixed</a> = SC_WRAPINDENT_FIXED, \n<a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03ab9cc585fd0eb9a14e0f8c7d9389656e8\">WrapIndentSame</a> = SC_WRAPINDENT_SAME, \n<a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a0cb2a2ef379ad02b388a08880a624f2b\">WrapIndentIndented</a> = SC_WRAPINDENT_INDENT, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03aa2d7362610a92c58aa764a1df8914146\">WrapIndentDeeplyIndented</a> = SC_WRAPINDENT_DEEPINDENT\n<br />\n }</td></tr>\n<tr class=\"separator:a59b529ccfcb1f7896efb523025371a03\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_types_classQsciScintillaBase\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_types_classQsciScintillaBase')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Types inherited from <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td></tr>\n<tr class=\"memitem:ad9c35f7540b2457103db9cf8c877784a inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCI_START</b> = 2000, \n<b>SCI_OPTIONAL_START</b> = 3000, \n<b>SCI_LEXER_START</b> = 4000, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\">SCI_ADDTEXT</a> = 2001, \n<b>SCI_ADDSTYLEDTEXT</b> = 2002, \n<b>SCI_INSERTTEXT</b> = 2003, \n<br />\n&#160;&#160;<b>SCI_CLEARALL</b> = 2004, \n<b>SCI_CLEARDOCUMENTSTYLE</b> = 2005, \n<b>SCI_GETLENGTH</b> = 2006, \n<br />\n&#160;&#160;<b>SCI_GETCHARAT</b> = 2007, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">SCI_GETCURRENTPOS</a> = 2008, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">SCI_GETANCHOR</a> = 2009, \n<br />\n&#160;&#160;<b>SCI_GETSTYLEAT</b> = 2010, \n<b>SCI_REDO</b> = 2011, \n<b>SCI_SETUNDOCOLLECTION</b> = 2012, \n<br />\n&#160;&#160;<b>SCI_SELECTALL</b> = 2013, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">SCI_SETSAVEPOINT</a> = 2014, \n<b>SCI_GETSTYLEDTEXT</b> = 2015, \n<br />\n&#160;&#160;<b>SCI_CANREDO</b> = 2016, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\">SCI_MARKERLINEFROMHANDLE</a> = 2017, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">SCI_MARKERDELETEHANDLE</a> = 2018, \n<br />\n&#160;&#160;<b>SCI_GETUNDOCOLLECTION</b> = 2019, \n<b>SCI_GETVIEWWS</b> = 2020, \n<b>SCI_SETVIEWWS</b> = 2021, \n<br />\n&#160;&#160;<b>SCI_POSITIONFROMPOINT</b> = 2022, \n<b>SCI_POSITIONFROMPOINTCLOSE</b> = 2023, \n<b>SCI_GOTOLINE</b> = 2024, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\">SCI_GOTOPOS</a> = 2025, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\">SCI_SETANCHOR</a> = 2026, \n<b>SCI_GETCURLINE</b> = 2027, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">SCI_GETENDSTYLED</a> = 2028, \n<b>SCI_CONVERTEOLS</b> = 2029, \n<b>SCI_GETEOLMODE</b> = 2030, \n<br />\n&#160;&#160;<b>SCI_SETEOLMODE</b> = 2031, \n<b>SCI_STARTSTYLING</b> = 2032, \n<b>SCI_SETSTYLING</b> = 2033, \n<br />\n&#160;&#160;<b>SCI_GETBUFFEREDDRAW</b> = 2034, \n<b>SCI_SETBUFFEREDDRAW</b> = 2035, \n<b>SCI_SETTABWIDTH</b> = 2036, \n<br />\n&#160;&#160;<b>SCI_GETTABWIDTH</b> = 2121, \n<b>SCI_SETCODEPAGE</b> = 2037, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a> = 2040, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">SCI_MARKERSETFORE</a> = 2041, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">SCI_MARKERSETBACK</a> = 2042, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a> = 2043, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">SCI_MARKERDELETE</a> = 2044, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">SCI_MARKERDELETEALL</a> = 2045, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\">SCI_MARKERGET</a> = 2046, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">SCI_MARKERNEXT</a> = 2047, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">SCI_MARKERPREVIOUS</a> = 2048, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">SCI_MARKERDEFINEPIXMAP</a> = 2049, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> = 2240, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> = 2241, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> = 2242, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">SCI_GETMARGINWIDTHN</a> = 2243, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">SCI_SETMARGINMASKN</a> = 2244, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">SCI_GETMARGINMASKN</a> = 2245, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> = 2246, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a> = 2247, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">SCI_SETMARGINCURSORN</a> = 2248, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">SCI_GETMARGINCURSORN</a> = 2249, \n<b>SCI_STYLECLEARALL</b> = 2050, \n<b>SCI_STYLESETFORE</b> = 2051, \n<br />\n&#160;&#160;<b>SCI_STYLESETBACK</b> = 2052, \n<b>SCI_STYLESETBOLD</b> = 2053, \n<b>SCI_STYLESETITALIC</b> = 2054, \n<br />\n&#160;&#160;<b>SCI_STYLESETSIZE</b> = 2055, \n<b>SCI_STYLESETFONT</b> = 2056, \n<b>SCI_STYLESETEOLFILLED</b> = 2057, \n<br />\n&#160;&#160;<b>SCI_STYLERESETDEFAULT</b> = 2058, \n<b>SCI_STYLESETUNDERLINE</b> = 2059, \n<b>SCI_STYLESETCASE</b> = 2060, \n<br />\n&#160;&#160;<b>SCI_STYLESETSIZEFRACTIONAL</b> = 2061, \n<b>SCI_STYLEGETSIZEFRACTIONAL</b> = 2062, \n<b>SCI_STYLESETWEIGHT</b> = 2063, \n<br />\n&#160;&#160;<b>SCI_STYLEGETWEIGHT</b> = 2064, \n<b>SCI_STYLESETCHARACTERSET</b> = 2066, \n<b>SCI_SETSELFORE</b> = 2067, \n<br />\n&#160;&#160;<b>SCI_SETSELBACK</b> = 2068, \n<b>SCI_SETCARETFORE</b> = 2069, \n<b>SCI_ASSIGNCMDKEY</b> = 2070, \n<br />\n&#160;&#160;<b>SCI_CLEARCMDKEY</b> = 2071, \n<b>SCI_CLEARALLCMDKEYS</b> = 2072, \n<b>SCI_SETSTYLINGEX</b> = 2073, \n<br />\n&#160;&#160;<b>SCI_STYLESETVISIBLE</b> = 2074, \n<b>SCI_GETCARETPERIOD</b> = 2075, \n<b>SCI_SETCARETPERIOD</b> = 2076, \n<br />\n&#160;&#160;<b>SCI_SETWORDCHARS</b> = 2077, \n<b>SCI_BEGINUNDOACTION</b> = 2078, \n<b>SCI_ENDUNDOACTION</b> = 2079, \n<br />\n&#160;&#160;<b>SCI_INDICSETSTYLE</b> = 2080, \n<b>SCI_INDICGETSTYLE</b> = 2081, \n<b>SCI_INDICSETFORE</b> = 2082, \n<br />\n&#160;&#160;<b>SCI_INDICGETFORE</b> = 2083, \n<b>SCI_SETWHITESPACEFORE</b> = 2084, \n<b>SCI_SETWHITESPACEBACK</b> = 2085, \n<br />\n&#160;&#160;<b>SCI_SETWHITESPACESIZE</b> = 2086, \n<b>SCI_GETWHITESPACESIZE</b> = 2087, \n<b>SCI_SETSTYLEBITS</b> = 2090, \n<br />\n&#160;&#160;<b>SCI_GETSTYLEBITS</b> = 2091, \n<b>SCI_SETLINESTATE</b> = 2092, \n<b>SCI_GETLINESTATE</b> = 2093, \n<br />\n&#160;&#160;<b>SCI_GETMAXLINESTATE</b> = 2094, \n<b>SCI_GETCARETLINEVISIBLE</b> = 2095, \n<b>SCI_SETCARETLINEVISIBLE</b> = 2096, \n<br />\n&#160;&#160;<b>SCI_GETCARETLINEBACK</b> = 2097, \n<b>SCI_SETCARETLINEBACK</b> = 2098, \n<b>SCI_STYLESETCHANGEABLE</b> = 2099, \n<br />\n&#160;&#160;<b>SCI_AUTOCSHOW</b> = 2100, \n<b>SCI_AUTOCCANCEL</b> = 2101, \n<b>SCI_AUTOCACTIVE</b> = 2102, \n<br />\n&#160;&#160;<b>SCI_AUTOCPOSSTART</b> = 2103, \n<b>SCI_AUTOCCOMPLETE</b> = 2104, \n<b>SCI_AUTOCSTOPS</b> = 2105, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETSEPARATOR</b> = 2106, \n<b>SCI_AUTOCGETSEPARATOR</b> = 2107, \n<b>SCI_AUTOCSELECT</b> = 2108, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETCANCELATSTART</b> = 2110, \n<b>SCI_AUTOCGETCANCELATSTART</b> = 2111, \n<b>SCI_AUTOCSETFILLUPS</b> = 2112, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETCHOOSESINGLE</b> = 2113, \n<b>SCI_AUTOCGETCHOOSESINGLE</b> = 2114, \n<b>SCI_AUTOCSETIGNORECASE</b> = 2115, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETIGNORECASE</b> = 2116, \n<b>SCI_USERLISTSHOW</b> = 2117, \n<b>SCI_AUTOCSETAUTOHIDE</b> = 2118, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETAUTOHIDE</b> = 2119, \n<b>SCI_AUTOCSETDROPRESTOFWORD</b> = 2270, \n<b>SCI_AUTOCGETDROPRESTOFWORD</b> = 2271, \n<br />\n&#160;&#160;<b>SCI_SETINDENT</b> = 2122, \n<b>SCI_GETINDENT</b> = 2123, \n<b>SCI_SETUSETABS</b> = 2124, \n<br />\n&#160;&#160;<b>SCI_GETUSETABS</b> = 2125, \n<b>SCI_SETLINEINDENTATION</b> = 2126, \n<b>SCI_GETLINEINDENTATION</b> = 2127, \n<br />\n&#160;&#160;<b>SCI_GETLINEINDENTPOSITION</b> = 2128, \n<b>SCI_GETCOLUMN</b> = 2129, \n<b>SCI_SETHSCROLLBAR</b> = 2130, \n<br />\n&#160;&#160;<b>SCI_GETHSCROLLBAR</b> = 2131, \n<b>SCI_SETINDENTATIONGUIDES</b> = 2132, \n<b>SCI_GETINDENTATIONGUIDES</b> = 2133, \n<br />\n&#160;&#160;<b>SCI_SETHIGHLIGHTGUIDE</b> = 2134, \n<b>SCI_GETHIGHLIGHTGUIDE</b> = 2135, \n<b>SCI_GETLINEENDPOSITION</b> = 2136, \n<br />\n&#160;&#160;<b>SCI_GETCODEPAGE</b> = 2137, \n<b>SCI_GETCARETFORE</b> = 2138, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">SCI_GETREADONLY</a> = 2140, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">SCI_SETCURRENTPOS</a> = 2141, \n<b>SCI_SETSELECTIONSTART</b> = 2142, \n<b>SCI_GETSELECTIONSTART</b> = 2143, \n<br />\n&#160;&#160;<b>SCI_SETSELECTIONEND</b> = 2144, \n<b>SCI_GETSELECTIONEND</b> = 2145, \n<b>SCI_SETPRINTMAGNIFICATION</b> = 2146, \n<br />\n&#160;&#160;<b>SCI_GETPRINTMAGNIFICATION</b> = 2147, \n<b>SCI_SETPRINTCOLOURMODE</b> = 2148, \n<b>SCI_GETPRINTCOLOURMODE</b> = 2149, \n<br />\n&#160;&#160;<b>SCI_FINDTEXT</b> = 2150, \n<b>SCI_FORMATRANGE</b> = 2151, \n<b>SCI_GETFIRSTVISIBLELINE</b> = 2152, \n<br />\n&#160;&#160;<b>SCI_GETLINE</b> = 2153, \n<b>SCI_GETLINECOUNT</b> = 2154, \n<b>SCI_SETMARGINLEFT</b> = 2155, \n<br />\n&#160;&#160;<b>SCI_GETMARGINLEFT</b> = 2156, \n<b>SCI_SETMARGINRIGHT</b> = 2157, \n<b>SCI_GETMARGINRIGHT</b> = 2158, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\">SCI_GETMODIFY</a> = 2159, \n<b>SCI_SETSEL</b> = 2160, \n<b>SCI_GETSELTEXT</b> = 2161, \n<br />\n&#160;&#160;<b>SCI_GETTEXTRANGE</b> = 2162, \n<b>SCI_HIDESELECTION</b> = 2163, \n<b>SCI_POINTXFROMPOSITION</b> = 2164, \n<br />\n&#160;&#160;<b>SCI_POINTYFROMPOSITION</b> = 2165, \n<b>SCI_LINEFROMPOSITION</b> = 2166, \n<b>SCI_POSITIONFROMLINE</b> = 2167, \n<br />\n&#160;&#160;<b>SCI_LINESCROLL</b> = 2168, \n<b>SCI_SCROLLCARET</b> = 2169, \n<b>SCI_REPLACESEL</b> = 2170, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\">SCI_SETREADONLY</a> = 2171, \n<b>SCI_NULL</b> = 2172, \n<b>SCI_CANPASTE</b> = 2173, \n<br />\n&#160;&#160;<b>SCI_CANUNDO</b> = 2174, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\">SCI_EMPTYUNDOBUFFER</a> = 2175, \n<b>SCI_UNDO</b> = 2176, \n<br />\n&#160;&#160;<b>SCI_CUT</b> = 2177, \n<b>SCI_COPY</b> = 2178, \n<b>SCI_PASTE</b> = 2179, \n<br />\n&#160;&#160;<b>SCI_CLEAR</b> = 2180, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">SCI_SETTEXT</a> = 2181, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">SCI_GETTEXT</a> = 2182, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\">SCI_GETTEXTLENGTH</a> = 2183, \n<b>SCI_GETDIRECTFUNCTION</b> = 2184, \n<b>SCI_GETDIRECTPOINTER</b> = 2185, \n<br />\n&#160;&#160;<b>SCI_SETOVERTYPE</b> = 2186, \n<b>SCI_GETOVERTYPE</b> = 2187, \n<b>SCI_SETCARETWIDTH</b> = 2188, \n<br />\n&#160;&#160;<b>SCI_GETCARETWIDTH</b> = 2189, \n<b>SCI_SETTARGETSTART</b> = 2190, \n<b>SCI_GETTARGETSTART</b> = 2191, \n<br />\n&#160;&#160;<b>SCI_SETTARGETEND</b> = 2192, \n<b>SCI_GETTARGETEND</b> = 2193, \n<b>SCI_REPLACETARGET</b> = 2194, \n<br />\n&#160;&#160;<b>SCI_REPLACETARGETRE</b> = 2195, \n<b>SCI_SEARCHINTARGET</b> = 2197, \n<b>SCI_SETSEARCHFLAGS</b> = 2198, \n<br />\n&#160;&#160;<b>SCI_GETSEARCHFLAGS</b> = 2199, \n<b>SCI_CALLTIPSHOW</b> = 2200, \n<b>SCI_CALLTIPCANCEL</b> = 2201, \n<br />\n&#160;&#160;<b>SCI_CALLTIPACTIVE</b> = 2202, \n<b>SCI_CALLTIPPOSSTART</b> = 2203, \n<b>SCI_CALLTIPSETHLT</b> = 2204, \n<br />\n&#160;&#160;<b>SCI_CALLTIPSETBACK</b> = 2205, \n<b>SCI_CALLTIPSETFORE</b> = 2206, \n<b>SCI_CALLTIPSETFOREHLT</b> = 2207, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETMAXWIDTH</b> = 2208, \n<b>SCI_AUTOCGETMAXWIDTH</b> = 2209, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\">SCI_AUTOCSETMAXHEIGHT</a> = 2210, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETMAXHEIGHT</b> = 2211, \n<b>SCI_CALLTIPUSESTYLE</b> = 2212, \n<b>SCI_CALLTIPSETPOSITION</b> = 2213, \n<br />\n&#160;&#160;<b>SCI_CALLTIPSETPOSSTART</b> = 2214, \n<b>SCI_VISIBLEFROMDOCLINE</b> = 2220, \n<b>SCI_DOCLINEFROMVISIBLE</b> = 2221, \n<br />\n&#160;&#160;<b>SCI_SETFOLDLEVEL</b> = 2222, \n<b>SCI_GETFOLDLEVEL</b> = 2223, \n<b>SCI_GETLASTCHILD</b> = 2224, \n<br />\n&#160;&#160;<b>SCI_GETFOLDPARENT</b> = 2225, \n<b>SCI_SHOWLINES</b> = 2226, \n<b>SCI_HIDELINES</b> = 2227, \n<br />\n&#160;&#160;<b>SCI_GETLINEVISIBLE</b> = 2228, \n<b>SCI_SETFOLDEXPANDED</b> = 2229, \n<b>SCI_GETFOLDEXPANDED</b> = 2230, \n<br />\n&#160;&#160;<b>SCI_TOGGLEFOLD</b> = 2231, \n<b>SCI_ENSUREVISIBLE</b> = 2232, \n<b>SCI_SETFOLDFLAGS</b> = 2233, \n<br />\n&#160;&#160;<b>SCI_ENSUREVISIBLEENFORCEPOLICY</b> = 2234, \n<b>SCI_WRAPCOUNT</b> = 2235, \n<b>SCI_GETALLLINESVISIBLE</b> = 2236, \n<br />\n&#160;&#160;<b>SCI_FOLDLINE</b> = 2237, \n<b>SCI_FOLDCHILDREN</b> = 2238, \n<b>SCI_EXPANDCHILDREN</b> = 2239, \n<br />\n&#160;&#160;<b>SCI_SETMARGINBACKN</b> = 2250, \n<b>SCI_GETMARGINBACKN</b> = 2251, \n<b>SCI_SETMARGINS</b> = 2252, \n<br />\n&#160;&#160;<b>SCI_GETMARGINS</b> = 2253, \n<b>SCI_SETTABINDENTS</b> = 2260, \n<b>SCI_GETTABINDENTS</b> = 2261, \n<br />\n&#160;&#160;<b>SCI_SETBACKSPACEUNINDENTS</b> = 2262, \n<b>SCI_GETBACKSPACEUNINDENTS</b> = 2263, \n<b>SCI_SETMOUSEDWELLTIME</b> = 2264, \n<br />\n&#160;&#160;<b>SCI_GETMOUSEDWELLTIME</b> = 2265, \n<b>SCI_WORDSTARTPOSITION</b> = 2266, \n<b>SCI_WORDENDPOSITION</b> = 2267, \n<br />\n&#160;&#160;<b>SCI_SETWRAPMODE</b> = 2268, \n<b>SCI_GETWRAPMODE</b> = 2269, \n<b>SCI_SETLAYOUTCACHE</b> = 2272, \n<br />\n&#160;&#160;<b>SCI_GETLAYOUTCACHE</b> = 2273, \n<b>SCI_SETSCROLLWIDTH</b> = 2274, \n<b>SCI_GETSCROLLWIDTH</b> = 2275, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\">SCI_TEXTWIDTH</a> = 2276, \n<b>SCI_SETENDATLASTLINE</b> = 2277, \n<b>SCI_GETENDATLASTLINE</b> = 2278, \n<br />\n&#160;&#160;<b>SCI_TEXTHEIGHT</b> = 2279, \n<b>SCI_SETVSCROLLBAR</b> = 2280, \n<b>SCI_GETVSCROLLBAR</b> = 2281, \n<br />\n&#160;&#160;<b>SCI_APPENDTEXT</b> = 2282, \n<b>SCI_GETTWOPHASEDRAW</b> = 2283, \n<b>SCI_SETTWOPHASEDRAW</b> = 2284, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETTYPESEPARATOR</b> = 2285, \n<b>SCI_AUTOCSETTYPESEPARATOR</b> = 2286, \n<b>SCI_TARGETFROMSELECTION</b> = 2287, \n<br />\n&#160;&#160;<b>SCI_LINESJOIN</b> = 2288, \n<b>SCI_LINESSPLIT</b> = 2289, \n<b>SCI_SETFOLDMARGINCOLOUR</b> = 2290, \n<br />\n&#160;&#160;<b>SCI_SETFOLDMARGINHICOLOUR</b> = 2291, \n<b>SCI_MARKERSETBACKSELECTED</b> = 2292, \n<b>SCI_MARKERENABLEHIGHLIGHT</b> = 2293, \n<br />\n&#160;&#160;<b>SCI_LINEDOWN</b> = 2300, \n<b>SCI_LINEDOWNEXTEND</b> = 2301, \n<b>SCI_LINEUP</b> = 2302, \n<br />\n&#160;&#160;<b>SCI_LINEUPEXTEND</b> = 2303, \n<b>SCI_CHARLEFT</b> = 2304, \n<b>SCI_CHARLEFTEXTEND</b> = 2305, \n<br />\n&#160;&#160;<b>SCI_CHARRIGHT</b> = 2306, \n<b>SCI_CHARRIGHTEXTEND</b> = 2307, \n<b>SCI_WORDLEFT</b> = 2308, \n<br />\n&#160;&#160;<b>SCI_WORDLEFTEXTEND</b> = 2309, \n<b>SCI_WORDRIGHT</b> = 2310, \n<b>SCI_WORDRIGHTEXTEND</b> = 2311, \n<br />\n&#160;&#160;<b>SCI_HOME</b> = 2312, \n<b>SCI_HOMEEXTEND</b> = 2313, \n<b>SCI_LINEEND</b> = 2314, \n<br />\n&#160;&#160;<b>SCI_LINEENDEXTEND</b> = 2315, \n<b>SCI_DOCUMENTSTART</b> = 2316, \n<b>SCI_DOCUMENTSTARTEXTEND</b> = 2317, \n<br />\n&#160;&#160;<b>SCI_DOCUMENTEND</b> = 2318, \n<b>SCI_DOCUMENTENDEXTEND</b> = 2319, \n<b>SCI_PAGEUP</b> = 2320, \n<br />\n&#160;&#160;<b>SCI_PAGEUPEXTEND</b> = 2321, \n<b>SCI_PAGEDOWN</b> = 2322, \n<b>SCI_PAGEDOWNEXTEND</b> = 2323, \n<br />\n&#160;&#160;<b>SCI_EDITTOGGLEOVERTYPE</b> = 2324, \n<b>SCI_CANCEL</b> = 2325, \n<b>SCI_DELETEBACK</b> = 2326, \n<br />\n&#160;&#160;<b>SCI_TAB</b> = 2327, \n<b>SCI_BACKTAB</b> = 2328, \n<b>SCI_NEWLINE</b> = 2329, \n<br />\n&#160;&#160;<b>SCI_FORMFEED</b> = 2330, \n<b>SCI_VCHOME</b> = 2331, \n<b>SCI_VCHOMEEXTEND</b> = 2332, \n<br />\n&#160;&#160;<b>SCI_ZOOMIN</b> = 2333, \n<b>SCI_ZOOMOUT</b> = 2334, \n<b>SCI_DELWORDLEFT</b> = 2335, \n<br />\n&#160;&#160;<b>SCI_DELWORDRIGHT</b> = 2336, \n<b>SCI_LINECUT</b> = 2337, \n<b>SCI_LINEDELETE</b> = 2338, \n<br />\n&#160;&#160;<b>SCI_LINETRANSPOSE</b> = 2339, \n<b>SCI_LOWERCASE</b> = 2340, \n<b>SCI_UPPERCASE</b> = 2341, \n<br />\n&#160;&#160;<b>SCI_LINESCROLLDOWN</b> = 2342, \n<b>SCI_LINESCROLLUP</b> = 2343, \n<b>SCI_DELETEBACKNOTLINE</b> = 2344, \n<br />\n&#160;&#160;<b>SCI_HOMEDISPLAY</b> = 2345, \n<b>SCI_HOMEDISPLAYEXTEND</b> = 2346, \n<b>SCI_LINEENDDISPLAY</b> = 2347, \n<br />\n&#160;&#160;<b>SCI_LINEENDDISPLAYEXTEND</b> = 2348, \n<b>SCI_MOVECARETINSIDEVIEW</b> = 2401, \n<b>SCI_LINELENGTH</b> = 2350, \n<br />\n&#160;&#160;<b>SCI_BRACEHIGHLIGHT</b> = 2351, \n<b>SCI_BRACEBADLIGHT</b> = 2352, \n<b>SCI_BRACEMATCH</b> = 2353, \n<br />\n&#160;&#160;<b>SCI_LINEREVERSE</b> = 2354, \n<b>SCI_GETVIEWEOL</b> = 2355, \n<b>SCI_SETVIEWEOL</b> = 2356, \n<br />\n&#160;&#160;<b>SCI_GETDOCPOINTER</b> = 2357, \n<b>SCI_SETDOCPOINTER</b> = 2358, \n<b>SCI_SETMODEVENTMASK</b> = 2359, \n<br />\n&#160;&#160;<b>SCI_GETEDGECOLUMN</b> = 2360, \n<b>SCI_SETEDGECOLUMN</b> = 2361, \n<b>SCI_GETEDGEMODE</b> = 2362, \n<br />\n&#160;&#160;<b>SCI_SETEDGEMODE</b> = 2363, \n<b>SCI_GETEDGECOLOUR</b> = 2364, \n<b>SCI_SETEDGECOLOUR</b> = 2365, \n<br />\n&#160;&#160;<b>SCI_SEARCHANCHOR</b> = 2366, \n<b>SCI_SEARCHNEXT</b> = 2367, \n<b>SCI_SEARCHPREV</b> = 2368, \n<br />\n&#160;&#160;<b>SCI_LINESONSCREEN</b> = 2370, \n<b>SCI_USEPOPUP</b> = 2371, \n<b>SCI_SELECTIONISRECTANGLE</b> = 2372, \n<br />\n&#160;&#160;<b>SCI_SETZOOM</b> = 2373, \n<b>SCI_GETZOOM</b> = 2374, \n<b>SCI_CREATEDOCUMENT</b> = 2375, \n<br />\n&#160;&#160;<b>SCI_ADDREFDOCUMENT</b> = 2376, \n<b>SCI_RELEASEDOCUMENT</b> = 2377, \n<b>SCI_GETMODEVENTMASK</b> = 2378, \n<br />\n&#160;&#160;<b>SCI_SETFOCUS</b> = 2380, \n<b>SCI_GETFOCUS</b> = 2381, \n<b>SCI_SETSTATUS</b> = 2382, \n<br />\n&#160;&#160;<b>SCI_GETSTATUS</b> = 2383, \n<b>SCI_SETMOUSEDOWNCAPTURES</b> = 2384, \n<b>SCI_GETMOUSEDOWNCAPTURES</b> = 2385, \n<br />\n&#160;&#160;<b>SCI_SETCURSOR</b> = 2386, \n<b>SCI_GETCURSOR</b> = 2387, \n<b>SCI_SETCONTROLCHARSYMBOL</b> = 2388, \n<br />\n&#160;&#160;<b>SCI_GETCONTROLCHARSYMBOL</b> = 2389, \n<b>SCI_WORDPARTLEFT</b> = 2390, \n<b>SCI_WORDPARTLEFTEXTEND</b> = 2391, \n<br />\n&#160;&#160;<b>SCI_WORDPARTRIGHT</b> = 2392, \n<b>SCI_WORDPARTRIGHTEXTEND</b> = 2393, \n<b>SCI_SETVISIBLEPOLICY</b> = 2394, \n<br />\n&#160;&#160;<b>SCI_DELLINELEFT</b> = 2395, \n<b>SCI_DELLINERIGHT</b> = 2396, \n<b>SCI_SETXOFFSET</b> = 2397, \n<br />\n&#160;&#160;<b>SCI_GETXOFFSET</b> = 2398, \n<b>SCI_CHOOSECARETX</b> = 2399, \n<b>SCI_GRABFOCUS</b> = 2400, \n<br />\n&#160;&#160;<b>SCI_SETXCARETPOLICY</b> = 2402, \n<b>SCI_SETYCARETPOLICY</b> = 2403, \n<b>SCI_LINEDUPLICATE</b> = 2404, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">SCI_REGISTERIMAGE</a> = 2405, \n<b>SCI_SETPRINTWRAPMODE</b> = 2406, \n<b>SCI_GETPRINTWRAPMODE</b> = 2407, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">SCI_CLEARREGISTEREDIMAGES</a> = 2408, \n<b>SCI_STYLESETHOTSPOT</b> = 2409, \n<b>SCI_SETHOTSPOTACTIVEFORE</b> = 2410, \n<br />\n&#160;&#160;<b>SCI_SETHOTSPOTACTIVEBACK</b> = 2411, \n<b>SCI_SETHOTSPOTACTIVEUNDERLINE</b> = 2412, \n<b>SCI_PARADOWN</b> = 2413, \n<br />\n&#160;&#160;<b>SCI_PARADOWNEXTEND</b> = 2414, \n<b>SCI_PARAUP</b> = 2415, \n<b>SCI_PARAUPEXTEND</b> = 2416, \n<br />\n&#160;&#160;<b>SCI_POSITIONBEFORE</b> = 2417, \n<b>SCI_POSITIONAFTER</b> = 2418, \n<b>SCI_COPYRANGE</b> = 2419, \n<br />\n&#160;&#160;<b>SCI_COPYTEXT</b> = 2420, \n<b>SCI_SETHOTSPOTSINGLELINE</b> = 2421, \n<b>SCI_SETSELECTIONMODE</b> = 2422, \n<br />\n&#160;&#160;<b>SCI_GETSELECTIONMODE</b> = 2423, \n<b>SCI_GETLINESELSTARTPOSITION</b> = 2424, \n<b>SCI_GETLINESELENDPOSITION</b> = 2425, \n<br />\n&#160;&#160;<b>SCI_LINEDOWNRECTEXTEND</b> = 2426, \n<b>SCI_LINEUPRECTEXTEND</b> = 2427, \n<b>SCI_CHARLEFTRECTEXTEND</b> = 2428, \n<br />\n&#160;&#160;<b>SCI_CHARRIGHTRECTEXTEND</b> = 2429, \n<b>SCI_HOMERECTEXTEND</b> = 2430, \n<b>SCI_VCHOMERECTEXTEND</b> = 2431, \n<br />\n&#160;&#160;<b>SCI_LINEENDRECTEXTEND</b> = 2432, \n<b>SCI_PAGEUPRECTEXTEND</b> = 2433, \n<b>SCI_PAGEDOWNRECTEXTEND</b> = 2434, \n<br />\n&#160;&#160;<b>SCI_STUTTEREDPAGEUP</b> = 2435, \n<b>SCI_STUTTEREDPAGEUPEXTEND</b> = 2436, \n<b>SCI_STUTTEREDPAGEDOWN</b> = 2437, \n<br />\n&#160;&#160;<b>SCI_STUTTEREDPAGEDOWNEXTEND</b> = 2438, \n<b>SCI_WORDLEFTEND</b> = 2439, \n<b>SCI_WORDLEFTENDEXTEND</b> = 2440, \n<br />\n&#160;&#160;<b>SCI_WORDRIGHTEND</b> = 2441, \n<b>SCI_WORDRIGHTENDEXTEND</b> = 2442, \n<b>SCI_SETWHITESPACECHARS</b> = 2443, \n<br />\n&#160;&#160;<b>SCI_SETCHARSDEFAULT</b> = 2444, \n<b>SCI_AUTOCGETCURRENT</b> = 2445, \n<b>SCI_ALLOCATE</b> = 2446, \n<br />\n&#160;&#160;<b>SCI_HOMEWRAP</b> = 2349, \n<b>SCI_HOMEWRAPEXTEND</b> = 2450, \n<b>SCI_LINEENDWRAP</b> = 2451, \n<br />\n&#160;&#160;<b>SCI_LINEENDWRAPEXTEND</b> = 2452, \n<b>SCI_VCHOMEWRAP</b> = 2453, \n<b>SCI_VCHOMEWRAPEXTEND</b> = 2454, \n<br />\n&#160;&#160;<b>SCI_LINECOPY</b> = 2455, \n<b>SCI_FINDCOLUMN</b> = 2456, \n<b>SCI_GETCARETSTICKY</b> = 2457, \n<br />\n&#160;&#160;<b>SCI_SETCARETSTICKY</b> = 2458, \n<b>SCI_TOGGLECARETSTICKY</b> = 2459, \n<b>SCI_SETWRAPVISUALFLAGS</b> = 2460, \n<br />\n&#160;&#160;<b>SCI_GETWRAPVISUALFLAGS</b> = 2461, \n<b>SCI_SETWRAPVISUALFLAGSLOCATION</b> = 2462, \n<b>SCI_GETWRAPVISUALFLAGSLOCATION</b> = 2463, \n<br />\n&#160;&#160;<b>SCI_SETWRAPSTARTINDENT</b> = 2464, \n<b>SCI_GETWRAPSTARTINDENT</b> = 2465, \n<b>SCI_MARKERADDSET</b> = 2466, \n<br />\n&#160;&#160;<b>SCI_SETPASTECONVERTENDINGS</b> = 2467, \n<b>SCI_GETPASTECONVERTENDINGS</b> = 2468, \n<b>SCI_SELECTIONDUPLICATE</b> = 2469, \n<br />\n&#160;&#160;<b>SCI_SETCARETLINEBACKALPHA</b> = 2470, \n<b>SCI_GETCARETLINEBACKALPHA</b> = 2471, \n<b>SCI_SETWRAPINDENTMODE</b> = 2472, \n<br />\n&#160;&#160;<b>SCI_GETWRAPINDENTMODE</b> = 2473, \n<b>SCI_MARKERSETALPHA</b> = 2476, \n<b>SCI_GETSELALPHA</b> = 2477, \n<br />\n&#160;&#160;<b>SCI_SETSELALPHA</b> = 2478, \n<b>SCI_GETSELEOLFILLED</b> = 2479, \n<b>SCI_SETSELEOLFILLED</b> = 2480, \n<br />\n&#160;&#160;<b>SCI_STYLEGETFORE</b> = 2481, \n<b>SCI_STYLEGETBACK</b> = 2482, \n<b>SCI_STYLEGETBOLD</b> = 2483, \n<br />\n&#160;&#160;<b>SCI_STYLEGETITALIC</b> = 2484, \n<b>SCI_STYLEGETSIZE</b> = 2485, \n<b>SCI_STYLEGETFONT</b> = 2486, \n<br />\n&#160;&#160;<b>SCI_STYLEGETEOLFILLED</b> = 2487, \n<b>SCI_STYLEGETUNDERLINE</b> = 2488, \n<b>SCI_STYLEGETCASE</b> = 2489, \n<br />\n&#160;&#160;<b>SCI_STYLEGETCHARACTERSET</b> = 2490, \n<b>SCI_STYLEGETVISIBLE</b> = 2491, \n<b>SCI_STYLEGETCHANGEABLE</b> = 2492, \n<br />\n&#160;&#160;<b>SCI_STYLEGETHOTSPOT</b> = 2493, \n<b>SCI_GETHOTSPOTACTIVEFORE</b> = 2494, \n<b>SCI_GETHOTSPOTACTIVEBACK</b> = 2495, \n<br />\n&#160;&#160;<b>SCI_GETHOTSPOTACTIVEUNDERLINE</b> = 2496, \n<b>SCI_GETHOTSPOTSINGLELINE</b> = 2497, \n<b>SCI_BRACEHIGHLIGHTINDICATOR</b> = 2498, \n<br />\n&#160;&#160;<b>SCI_BRACEBADLIGHTINDICATOR</b> = 2499, \n<b>SCI_SETINDICATORCURRENT</b> = 2500, \n<b>SCI_GETINDICATORCURRENT</b> = 2501, \n<br />\n&#160;&#160;<b>SCI_SETINDICATORVALUE</b> = 2502, \n<b>SCI_GETINDICATORVALUE</b> = 2503, \n<b>SCI_INDICATORFILLRANGE</b> = 2504, \n<br />\n&#160;&#160;<b>SCI_INDICATORCLEARRANGE</b> = 2505, \n<b>SCI_INDICATORALLONFOR</b> = 2506, \n<b>SCI_INDICATORVALUEAT</b> = 2507, \n<br />\n&#160;&#160;<b>SCI_INDICATORSTART</b> = 2508, \n<b>SCI_INDICATOREND</b> = 2509, \n<b>SCI_INDICSETUNDER</b> = 2510, \n<br />\n&#160;&#160;<b>SCI_INDICGETUNDER</b> = 2511, \n<b>SCI_SETCARETSTYLE</b> = 2512, \n<b>SCI_GETCARETSTYLE</b> = 2513, \n<br />\n&#160;&#160;<b>SCI_SETPOSITIONCACHE</b> = 2514, \n<b>SCI_GETPOSITIONCACHE</b> = 2515, \n<b>SCI_SETSCROLLWIDTHTRACKING</b> = 2516, \n<br />\n&#160;&#160;<b>SCI_GETSCROLLWIDTHTRACKING</b> = 2517, \n<b>SCI_DELWORDRIGHTEND</b> = 2518, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\">SCI_COPYALLOWLINE</a> = 2519, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\">SCI_GETCHARACTERPOINTER</a> = 2520, \n<b>SCI_INDICSETALPHA</b> = 2523, \n<b>SCI_INDICGETALPHA</b> = 2524, \n<br />\n&#160;&#160;<b>SCI_SETEXTRAASCENT</b> = 2525, \n<b>SCI_GETEXTRAASCENT</b> = 2526, \n<b>SCI_SETEXTRADESCENT</b> = 2527, \n<br />\n&#160;&#160;<b>SCI_GETEXTRADESCENT</b> = 2528, \n<b>SCI_MARKERSYMBOLDEFINED</b> = 2529, \n<b>SCI_MARGINSETTEXT</b> = 2530, \n<br />\n&#160;&#160;<b>SCI_MARGINGETTEXT</b> = 2531, \n<b>SCI_MARGINSETSTYLE</b> = 2532, \n<b>SCI_MARGINGETSTYLE</b> = 2533, \n<br />\n&#160;&#160;<b>SCI_MARGINSETSTYLES</b> = 2534, \n<b>SCI_MARGINGETSTYLES</b> = 2535, \n<b>SCI_MARGINTEXTCLEARALL</b> = 2536, \n<br />\n&#160;&#160;<b>SCI_MARGINSETSTYLEOFFSET</b> = 2537, \n<b>SCI_MARGINGETSTYLEOFFSET</b> = 2538, \n<b>SCI_SETMARGINOPTIONS</b> = 2539, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONSETTEXT</b> = 2540, \n<b>SCI_ANNOTATIONGETTEXT</b> = 2541, \n<b>SCI_ANNOTATIONSETSTYLE</b> = 2542, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONGETSTYLE</b> = 2543, \n<b>SCI_ANNOTATIONSETSTYLES</b> = 2544, \n<b>SCI_ANNOTATIONGETSTYLES</b> = 2545, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONGETLINES</b> = 2546, \n<b>SCI_ANNOTATIONCLEARALL</b> = 2547, \n<b>SCI_ANNOTATIONSETVISIBLE</b> = 2548, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONGETVISIBLE</b> = 2549, \n<b>SCI_ANNOTATIONSETSTYLEOFFSET</b> = 2550, \n<b>SCI_ANNOTATIONGETSTYLEOFFSET</b> = 2551, \n<br />\n&#160;&#160;<b>SCI_RELEASEALLEXTENDEDSTYLES</b> = 2552, \n<b>SCI_ALLOCATEEXTENDEDSTYLES</b> = 2553, \n<b>SCI_SETEMPTYSELECTION</b> = 2556, \n<br />\n&#160;&#160;<b>SCI_GETMARGINOPTIONS</b> = 2557, \n<b>SCI_INDICSETOUTLINEALPHA</b> = 2558, \n<b>SCI_INDICGETOUTLINEALPHA</b> = 2559, \n<br />\n&#160;&#160;<b>SCI_ADDUNDOACTION</b> = 2560, \n<b>SCI_CHARPOSITIONFROMPOINT</b> = 2561, \n<b>SCI_CHARPOSITIONFROMPOINTCLOSE</b> = 2562, \n<br />\n&#160;&#160;<b>SCI_SETMULTIPLESELECTION</b> = 2563, \n<b>SCI_GETMULTIPLESELECTION</b> = 2564, \n<b>SCI_SETADDITIONALSELECTIONTYPING</b> = 2565, \n<br />\n&#160;&#160;<b>SCI_GETADDITIONALSELECTIONTYPING</b> = 2566, \n<b>SCI_SETADDITIONALCARETSBLINK</b> = 2567, \n<b>SCI_GETADDITIONALCARETSBLINK</b> = 2568, \n<br />\n&#160;&#160;<b>SCI_SCROLLRANGE</b> = 2569, \n<b>SCI_GETSELECTIONS</b> = 2570, \n<b>SCI_CLEARSELECTIONS</b> = 2571, \n<br />\n&#160;&#160;<b>SCI_SETSELECTION</b> = 2572, \n<b>SCI_ADDSELECTION</b> = 2573, \n<b>SCI_SETMAINSELECTION</b> = 2574, \n<br />\n&#160;&#160;<b>SCI_GETMAINSELECTION</b> = 2575, \n<b>SCI_SETSELECTIONNCARET</b> = 2576, \n<b>SCI_GETSELECTIONNCARET</b> = 2577, \n<br />\n&#160;&#160;<b>SCI_SETSELECTIONNANCHOR</b> = 2578, \n<b>SCI_GETSELECTIONNANCHOR</b> = 2579, \n<b>SCI_SETSELECTIONNCARETVIRTUALSPACE</b> = 2580, \n<br />\n&#160;&#160;<b>SCI_GETSELECTIONNCARETVIRTUALSPACE</b> = 2581, \n<b>SCI_SETSELECTIONNANCHORVIRTUALSPACE</b> = 2582, \n<b>SCI_GETSELECTIONNANCHORVIRTUALSPACE</b> = 2583, \n<br />\n&#160;&#160;<b>SCI_SETSELECTIONNSTART</b> = 2584, \n<b>SCI_GETSELECTIONNSTART</b> = 2585, \n<b>SCI_SETSELECTIONNEND</b> = 2586, \n<br />\n&#160;&#160;<b>SCI_GETSELECTIONNEND</b> = 2587, \n<b>SCI_SETRECTANGULARSELECTIONCARET</b> = 2588, \n<b>SCI_GETRECTANGULARSELECTIONCARET</b> = 2589, \n<br />\n&#160;&#160;<b>SCI_SETRECTANGULARSELECTIONANCHOR</b> = 2590, \n<b>SCI_GETRECTANGULARSELECTIONANCHOR</b> = 2591, \n<b>SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> = 2592, \n<br />\n&#160;&#160;<b>SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> = 2593, \n<b>SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> = 2594, \n<b>SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> = 2595, \n<br />\n&#160;&#160;<b>SCI_SETVIRTUALSPACEOPTIONS</b> = 2596, \n<b>SCI_GETVIRTUALSPACEOPTIONS</b> = 2597, \n<b>SCI_SETRECTANGULARSELECTIONMODIFIER</b> = 2598, \n<br />\n&#160;&#160;<b>SCI_GETRECTANGULARSELECTIONMODIFIER</b> = 2599, \n<b>SCI_SETADDITIONALSELFORE</b> = 2600, \n<b>SCI_SETADDITIONALSELBACK</b> = 2601, \n<br />\n&#160;&#160;<b>SCI_SETADDITIONALSELALPHA</b> = 2602, \n<b>SCI_GETADDITIONALSELALPHA</b> = 2603, \n<b>SCI_SETADDITIONALCARETFORE</b> = 2604, \n<br />\n&#160;&#160;<b>SCI_GETADDITIONALCARETFORE</b> = 2605, \n<b>SCI_ROTATESELECTION</b> = 2606, \n<b>SCI_SWAPMAINANCHORCARET</b> = 2607, \n<br />\n&#160;&#160;<b>SCI_SETADDITIONALCARETSVISIBLE</b> = 2608, \n<b>SCI_GETADDITIONALCARETSVISIBLE</b> = 2609, \n<b>SCI_AUTOCGETCURRENTTEXT</b> = 2610, \n<br />\n&#160;&#160;<b>SCI_SETFONTQUALITY</b> = 2611, \n<b>SCI_GETFONTQUALITY</b> = 2612, \n<b>SCI_SETFIRSTVISIBLELINE</b> = 2613, \n<br />\n&#160;&#160;<b>SCI_SETMULTIPASTE</b> = 2614, \n<b>SCI_GETMULTIPASTE</b> = 2615, \n<b>SCI_GETTAG</b> = 2616, \n<br />\n&#160;&#160;<b>SCI_CHANGELEXERSTATE</b> = 2617, \n<b>SCI_CONTRACTEDFOLDNEXT</b> = 2618, \n<b>SCI_VERTICALCENTRECARET</b> = 2619, \n<br />\n&#160;&#160;<b>SCI_MOVESELECTEDLINESUP</b> = 2620, \n<b>SCI_MOVESELECTEDLINESDOWN</b> = 2621, \n<b>SCI_SETIDENTIFIER</b> = 2622, \n<br />\n&#160;&#160;<b>SCI_GETIDENTIFIER</b> = 2623, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">SCI_RGBAIMAGESETWIDTH</a> = 2624, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">SCI_RGBAIMAGESETHEIGHT</a> = 2625, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a> = 2626, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a> = 2627, \n<b>SCI_SCROLLTOSTART</b> = 2628, \n<br />\n&#160;&#160;<b>SCI_SCROLLTOEND</b> = 2629, \n<b>SCI_SETTECHNOLOGY</b> = 2630, \n<b>SCI_GETTECHNOLOGY</b> = 2631, \n<br />\n&#160;&#160;<b>SCI_CREATELOADER</b> = 2632, \n<b>SCI_COUNTCHARACTERS</b> = 2633, \n<b>SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR</b> = 2634, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR</b> = 2635, \n<b>SCI_AUTOCSETMULTI</b> = 2636, \n<b>SCI_AUTOCGETMULTI</b> = 2637, \n<br />\n&#160;&#160;<b>SCI_FINDINDICATORSHOW</b> = 2640, \n<b>SCI_FINDINDICATORFLASH</b> = 2641, \n<b>SCI_FINDINDICATORHIDE</b> = 2642, \n<br />\n&#160;&#160;<b>SCI_GETRANGEPOINTER</b> = 2643, \n<b>SCI_GETGAPPOSITION</b> = 2644, \n<b>SCI_DELETERANGE</b> = 2645, \n<br />\n&#160;&#160;<b>SCI_GETWORDCHARS</b> = 2646, \n<b>SCI_GETWHITESPACECHARS</b> = 2647, \n<b>SCI_SETPUNCTUATIONCHARS</b> = 2648, \n<br />\n&#160;&#160;<b>SCI_GETPUNCTUATIONCHARS</b> = 2649, \n<b>SCI_GETSELECTIONEMPTY</b> = 2650, \n<b>SCI_RGBAIMAGESETSCALE</b> = 2651, \n<br />\n&#160;&#160;<b>SCI_VCHOMEDISPLAY</b> = 2652, \n<b>SCI_VCHOMEDISPLAYEXTEND</b> = 2653, \n<b>SCI_GETCARETLINEVISIBLEALWAYS</b> = 2654, \n<br />\n&#160;&#160;<b>SCI_SETCARETLINEVISIBLEALWAYS</b> = 2655, \n<b>SCI_SETLINEENDTYPESALLOWED</b> = 2656, \n<b>SCI_GETLINEENDTYPESALLOWED</b> = 2657, \n<br />\n&#160;&#160;<b>SCI_GETLINEENDTYPESACTIVE</b> = 2658, \n<b>SCI_AUTOCSETORDER</b> = 2660, \n<b>SCI_AUTOCGETORDER</b> = 2661, \n<br />\n&#160;&#160;<b>SCI_FOLDALL</b> = 2662, \n<b>SCI_SETAUTOMATICFOLD</b> = 2663, \n<b>SCI_GETAUTOMATICFOLD</b> = 2664, \n<br />\n&#160;&#160;<b>SCI_SETREPRESENTATION</b> = 2665, \n<b>SCI_GETREPRESENTATION</b> = 2666, \n<b>SCI_CLEARREPRESENTATION</b> = 2667, \n<br />\n&#160;&#160;<b>SCI_SETMOUSESELECTIONRECTANGULARSWITCH</b> = 2668, \n<b>SCI_GETMOUSESELECTIONRECTANGULARSWITCH</b> = 2669, \n<b>SCI_POSITIONRELATIVE</b> = 2670, \n<br />\n&#160;&#160;<b>SCI_DROPSELECTIONN</b> = 2671, \n<b>SCI_CHANGEINSERTION</b> = 2672, \n<b>SCI_GETPHASESDRAW</b> = 2673, \n<br />\n&#160;&#160;<b>SCI_SETPHASESDRAW</b> = 2674, \n<b>SCI_CLEARTABSTOPS</b> = 2675, \n<b>SCI_ADDTABSTOP</b> = 2676, \n<br />\n&#160;&#160;<b>SCI_GETNEXTTABSTOP</b> = 2677, \n<b>SCI_GETIMEINTERACTION</b> = 2678, \n<b>SCI_SETIMEINTERACTION</b> = 2679, \n<br />\n&#160;&#160;<b>SCI_INDICSETHOVERSTYLE</b> = 2680, \n<b>SCI_INDICGETHOVERSTYLE</b> = 2681, \n<b>SCI_INDICSETHOVERFORE</b> = 2682, \n<br />\n&#160;&#160;<b>SCI_INDICGETHOVERFORE</b> = 2683, \n<b>SCI_INDICSETFLAGS</b> = 2684, \n<b>SCI_INDICGETFLAGS</b> = 2685, \n<br />\n&#160;&#160;<b>SCI_SETTARGETRANGE</b> = 2686, \n<b>SCI_GETTARGETTEXT</b> = 2687, \n<b>SCI_MULTIPLESELECTADDNEXT</b> = 2688, \n<br />\n&#160;&#160;<b>SCI_MULTIPLESELECTADDEACH</b> = 2689, \n<b>SCI_TARGETWHOLEDOCUMENT</b> = 2690, \n<b>SCI_ISRANGEWORD</b> = 2691, \n<br />\n&#160;&#160;<b>SCI_SETIDLESTYLING</b> = 2692, \n<b>SCI_GETIDLESTYLING</b> = 2693, \n<b>SCI_MULTIEDGEADDLINE</b> = 2694, \n<br />\n&#160;&#160;<b>SCI_MULTIEDGECLEARALL</b> = 2695, \n<b>SCI_SETMOUSEWHEELCAPTURES</b> = 2696, \n<b>SCI_GETMOUSEWHEELCAPTURES</b> = 2697, \n<br />\n&#160;&#160;<b>SCI_GETTABDRAWMODE</b> = 2698, \n<b>SCI_SETTABDRAWMODE</b> = 2699, \n<b>SCI_TOGGLEFOLDSHOWTEXT</b> = 2700, \n<br />\n&#160;&#160;<b>SCI_FOLDDISPLAYTEXTSETSTYLE</b> = 2701, \n<b>SCI_SETACCESSIBILITY</b> = 2702, \n<b>SCI_GETACCESSIBILITY</b> = 2703, \n<br />\n&#160;&#160;<b>SCI_GETCARETLINEFRAME</b> = 2704, \n<b>SCI_SETCARETLINEFRAME</b> = 2705, \n<b>SCI_STARTRECORD</b> = 3001, \n<br />\n&#160;&#160;<b>SCI_STOPRECORD</b> = 3002, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">SCI_SETLEXER</a> = 4001, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">SCI_GETLEXER</a> = 4002, \n<br />\n&#160;&#160;<b>SCI_COLOURISE</b> = 4003, \n<b>SCI_SETPROPERTY</b> = 4004, \n<b>SCI_SETKEYWORDS</b> = 4005, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\">SCI_SETLEXERLANGUAGE</a> = 4006, \n<b>SCI_LOADLEXERLIBRARY</b> = 4007, \n<b>SCI_GETPROPERTY</b> = 4008, \n<br />\n&#160;&#160;<b>SCI_GETPROPERTYEXPANDED</b> = 4009, \n<b>SCI_GETPROPERTYINT</b> = 4010, \n<b>SCI_GETSTYLEBITSNEEDED</b> = 4011, \n<br />\n&#160;&#160;<b>SCI_GETLEXERLANGUAGE</b> = 4012, \n<b>SCI_PRIVATELEXERCALL</b> = 4013, \n<b>SCI_PROPERTYNAMES</b> = 4014, \n<br />\n&#160;&#160;<b>SCI_PROPERTYTYPE</b> = 4015, \n<b>SCI_DESCRIBEPROPERTY</b> = 4016, \n<b>SCI_DESCRIBEKEYWORDSETS</b> = 4017, \n<br />\n&#160;&#160;<b>SCI_GETLINEENDTYPESSUPPORTED</b> = 4018, \n<b>SCI_ALLOCATESUBSTYLES</b> = 4020, \n<b>SCI_GETSUBSTYLESSTART</b> = 4021, \n<br />\n&#160;&#160;<b>SCI_GETSUBSTYLESLENGTH</b> = 4022, \n<b>SCI_GETSTYLEFROMSUBSTYLE</b> = 4027, \n<b>SCI_GETPRIMARYSTYLEFROMSTYLE</b> = 4028, \n<br />\n&#160;&#160;<b>SCI_FREESUBSTYLES</b> = 4023, \n<b>SCI_SETIDENTIFIERS</b> = 4024, \n<b>SCI_DISTANCETOSECONDARYSTYLES</b> = 4025, \n<br />\n&#160;&#160;<b>SCI_GETSUBSTYLEBASES</b> = 4026, \n<b>SCI_GETLINECHARACTERINDEX</b> = 2710, \n<b>SCI_ALLOCATELINECHARACTERINDEX</b> = 2711, \n<br />\n&#160;&#160;<b>SCI_RELEASELINECHARACTERINDEX</b> = 2712, \n<b>SCI_LINEFROMINDEXPOSITION</b> = 2713, \n<b>SCI_INDEXPOSITIONFROMLINE</b> = 2714, \n<br />\n&#160;&#160;<b>SCI_COUNTCODEUNITS</b> = 2715, \n<b>SCI_POSITIONRELATIVECODEUNITS</b> = 2716, \n<b>SCI_GETNAMEDSTYLES</b> = 4029, \n<br />\n&#160;&#160;<b>SCI_NAMEOFSTYLE</b> = 4030, \n<b>SCI_TAGSOFSTYLE</b> = 4031, \n<b>SCI_DESCRIPTIONOFSTYLE</b> = 4032, \n<br />\n&#160;&#160;<b>SCI_GETMOVEEXTENDSSELECTION</b> = 2706, \n<b>SCI_SETCOMMANDEVENTS</b> = 2717, \n<b>SCI_GETCOMMANDEVENTS</b> = 2718, \n<br />\n&#160;&#160;<b>SCI_GETDOCUMENTOPTIONS</b> = 2379\n<br />\n }</td></tr>\n<tr class=\"separator:ad9c35f7540b2457103db9cf8c877784a inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a940b9c0cd2c56db6cd810597a8197ebc inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a940b9c0cd2c56db6cd810597a8197ebc\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_AC_FILLUP</b> = 1, \n<b>SC_AC_DOUBLECLICK</b> = 2, \n<b>SC_AC_TAB</b> = 3, \n<br />\n&#160;&#160;<b>SC_AC_NEWLINE</b> = 4, \n<b>SC_AC_COMMAND</b> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a940b9c0cd2c56db6cd810597a8197ebc inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5cd5f6e631ca6d6e242f178f8b4582fd inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5cd5f6e631ca6d6e242f178f8b4582fd\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_ALPHA_TRANSPARENT</b> = 0, \n<b>SC_ALPHA_OPAQUE</b> = 255, \n<b>SC_ALPHA_NOALPHA</b> = 256\n }</td></tr>\n<tr class=\"separator:a5cd5f6e631ca6d6e242f178f8b4582fd inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a306e03d6bdd11d645a88ef7284ebb8d3 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a306e03d6bdd11d645a88ef7284ebb8d3\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_CARETSTICKY_OFF</b> = 0, \n<b>SC_CARETSTICKY_ON</b> = 1, \n<b>SC_CARETSTICKY_WHITESPACE</b> = 2\n }</td></tr>\n<tr class=\"separator:a306e03d6bdd11d645a88ef7284ebb8d3 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e54839f8ef0a92fde4e81c139f81567 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9e54839f8ef0a92fde4e81c139f81567\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_DOCUMENTOPTION_DEFAULT</b> = 0x0000, \n<b>SC_DOCUMENTOPTION_STYLES_NONE</b> = 0x0001, \n<b>SC_DOCUMENTOPTION_TEXT_LARGE</b> = 0x0100\n }</td></tr>\n<tr class=\"separator:a9e54839f8ef0a92fde4e81c139f81567 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adec2f0c26f1def79e14675e3a2db561e inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adec2f0c26f1def79e14675e3a2db561e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_EFF_QUALITY_MASK</b> = 0x0f, \n<b>SC_EFF_QUALITY_DEFAULT</b> = 0, \n<b>SC_EFF_QUALITY_NON_ANTIALIASED</b> = 1, \n<br />\n&#160;&#160;<b>SC_EFF_QUALITY_ANTIALIASED</b> = 2, \n<b>SC_EFF_QUALITY_LCD_OPTIMIZED</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:adec2f0c26f1def79e14675e3a2db561e inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a33b43b49dd2702a5518628b021e99550 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a33b43b49dd2702a5518628b021e99550\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_IDLESTYLING_NONE</b> = 0, \n<b>SC_IDLESTYLING_TOVISIBLE</b> = 1, \n<b>SC_IDLESTYLING_AFTERVISIBLE</b> = 2, \n<br />\n&#160;&#160;<b>SC_IDLESTYLING_ALL</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a33b43b49dd2702a5518628b021e99550 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac3b47eb7780e99799b367f2bb76c55ac inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac3b47eb7780e99799b367f2bb76c55ac\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_IME_WINDOWED</b> = 0, \n<b>SC_IME_INLINE</b> = 1\n }</td></tr>\n<tr class=\"separator:ac3b47eb7780e99799b367f2bb76c55ac inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80a28afa239736b78d5d1e95229dc56e inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a80a28afa239736b78d5d1e95229dc56e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_LINECHARACTERINDEX_NONE</b> = 0, \n<b>SC_LINECHARACTERINDEX_UTF32</b> = 1, \n<b>SC_LINECHARACTERINDEX_UTF16</b> = 2\n }</td></tr>\n<tr class=\"separator:a80a28afa239736b78d5d1e95229dc56e inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0604bf30b2d505eaf86f61b89f8d25b3 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0604bf30b2d505eaf86f61b89f8d25b3\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_MARGINOPTION_NONE</b> = 0x00, \n<b>SC_MARGINOPTION_SUBLINESELECT</b> = 0x01\n }</td></tr>\n<tr class=\"separator:a0604bf30b2d505eaf86f61b89f8d25b3 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae47504bece542b5230e78e74a7c481f6 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae47504bece542b5230e78e74a7c481f6\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_MULTIAUTOC_ONCE</b> = 0, \n<b>SC_MULTIAUTOC_EACH</b> = 1\n }</td></tr>\n<tr class=\"separator:ae47504bece542b5230e78e74a7c481f6 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabe379c165d6e569e684834adb98ec58 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aabe379c165d6e569e684834adb98ec58\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_MULTIPASTE_ONCE</b> = 0, \n<b>SC_MULTIPASTE_EACH</b> = 1\n }</td></tr>\n<tr class=\"separator:aabe379c165d6e569e684834adb98ec58 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46b22a650111e20d5c3fc18fdf693342 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a46b22a650111e20d5c3fc18fdf693342\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_POPUP_NEVER</b> = 0, \n<b>SC_POPUP_ALL</b> = 1, \n<b>SC_POPUP_TEXT</b> = 2\n }</td></tr>\n<tr class=\"separator:a46b22a650111e20d5c3fc18fdf693342 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad0a6f5e5ad05455480c3530435dd6aa inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_SEL_STREAM</b> = 0, \n<b>SC_SEL_RECTANGLE</b> = 1, \n<b>SC_SEL_LINES</b> = 2, \n<br />\n&#160;&#160;<b>SC_SEL_THIN</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:aad0a6f5e5ad05455480c3530435dd6aa inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab577311795830783d5b1dc6a0ffa11e8 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab577311795830783d5b1dc6a0ffa11e8\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_STATUS_OK</b> = 0, \n<b>SC_STATUS_FAILURE</b> = 1, \n<b>SC_STATUS_BADALLOC</b> = 2, \n<br />\n&#160;&#160;<b>SC_STATUS_WARN_START</b> = 1000, \n<b>SC_STATUS_WARNREGEX</b> = 1001\n<br />\n }</td></tr>\n<tr class=\"separator:ab577311795830783d5b1dc6a0ffa11e8 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab30e53e4a12ff687e76089331892ec7f inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab30e53e4a12ff687e76089331892ec7f\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_TYPE_BOOLEAN</b> = 0, \n<b>SC_TYPE_INTEGER</b> = 1, \n<b>SC_TYPE_STRING</b> = 2\n }</td></tr>\n<tr class=\"separator:ab30e53e4a12ff687e76089331892ec7f inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5161ccc0c1bcd30e9f607dcbd6120007 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5161ccc0c1bcd30e9f607dcbd6120007\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_UPDATE_CONTENT</b> = 0x01, \n<b>SC_UPDATE_SELECTION</b> = 0x02, \n<b>SC_UPDATE_V_SCROLL</b> = 0x04, \n<br />\n&#160;&#160;<b>SC_UPDATE_H_SCROLL</b> = 0x08\n<br />\n }</td></tr>\n<tr class=\"separator:a5161ccc0c1bcd30e9f607dcbd6120007 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aba7442e8abfc6e2645ffda04cff6354e inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aba7442e8abfc6e2645ffda04cff6354e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_WRAPVISUALFLAG_NONE</b> = 0x0000, \n<b>SC_WRAPVISUALFLAG_END</b> = 0x0001, \n<b>SC_WRAPVISUALFLAG_START</b> = 0x0002, \n<br />\n&#160;&#160;<b>SC_WRAPVISUALFLAG_MARGIN</b> = 0x0004\n<br />\n }</td></tr>\n<tr class=\"separator:aba7442e8abfc6e2645ffda04cff6354e inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36708d50e92db731fc6ef4883a2e3a54 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a36708d50e92db731fc6ef4883a2e3a54\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_WRAPVISUALFLAGLOC_DEFAULT</b> = 0x0000, \n<b>SC_WRAPVISUALFLAGLOC_END_BY_TEXT</b> = 0x0001, \n<b>SC_WRAPVISUALFLAGLOC_START_BY_TEXT</b> = 0x0002\n }</td></tr>\n<tr class=\"separator:a36708d50e92db731fc6ef4883a2e3a54 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a24fcbfa6a5b9d4ec51cc3df2bc80b7fb inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a24fcbfa6a5b9d4ec51cc3df2bc80b7fb\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SCTD_LONGARROW</b> = 0, \n<b>SCTD_STRIKEOUT</b> = 1\n }</td></tr>\n<tr class=\"separator:a24fcbfa6a5b9d4ec51cc3df2bc80b7fb inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae0d96e140124f18e23b27f32f67001f1 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae0d96e140124f18e23b27f32f67001f1\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCVS_NONE</b> = 0, \n<b>SCVS_RECTANGULARSELECTION</b> = 1, \n<b>SCVS_USERACCESSIBLE</b> = 2, \n<br />\n&#160;&#160;<b>SCVS_NOWRAPLINESTART</b> = 4\n<br />\n }</td></tr>\n<tr class=\"separator:ae0d96e140124f18e23b27f32f67001f1 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e453519ca9312f3b8c4cd4abe9f86d0 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9e453519ca9312f3b8c4cd4abe9f86d0\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCWS_INVISIBLE</b> = 0, \n<b>SCWS_VISIBLEALWAYS</b> = 1, \n<b>SCWS_VISIBLEAFTERINDENT</b> = 2, \n<br />\n&#160;&#160;<b>SCWS_VISIBLEONLYININDENT</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a9e453519ca9312f3b8c4cd4abe9f86d0 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7af2638f7d483966ac82628045884c55 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7af2638f7d483966ac82628045884c55\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_EOL_CRLF</b> = 0, \n<b>SC_EOL_CR</b> = 1, \n<b>SC_EOL_LF</b> = 2\n }</td></tr>\n<tr class=\"separator:a7af2638f7d483966ac82628045884c55 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abfcc7ea6119f3dca1a9726228f55f3f9 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abfcc7ea6119f3dca1a9726228f55f3f9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_CP_DBCS</b> = 1, \n<b>SC_CP_UTF8</b> = 65001\n }</td></tr>\n<tr class=\"separator:abfcc7ea6119f3dca1a9726228f55f3f9 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad004786b74db7858f6642c23447a214c inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">SC_MARK_CIRCLE</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">SC_MARK_ROUNDRECT</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">SC_MARK_ARROW</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">SC_MARK_SMALLRECT</a> = 3, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">SC_MARK_SHORTARROW</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">SC_MARK_EMPTY</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">SC_MARK_ARROWDOWN</a> = 6, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">SC_MARK_MINUS</a> = 7, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">SC_MARK_PLUS</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">SC_MARK_VLINE</a> = 9, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">SC_MARK_LCORNER</a> = 10, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">SC_MARK_TCORNER</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">SC_MARK_BOXPLUS</a> = 12, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">SC_MARK_BOXPLUSCONNECTED</a> = 13, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">SC_MARK_BOXMINUS</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">SC_MARK_BOXMINUSCONNECTED</a> = 15, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">SC_MARK_LCORNERCURVE</a> = 16, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">SC_MARK_TCORNERCURVE</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">SC_MARK_CIRCLEPLUS</a> = 18, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">SC_MARK_CIRCLEPLUSCONNECTED</a> = 19, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">SC_MARK_CIRCLEMINUS</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">SC_MARK_CIRCLEMINUSCONNECTED</a> = 21, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">SC_MARK_BACKGROUND</a> = 22, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">SC_MARK_DOTDOTDOT</a> = 23, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">SC_MARK_ARROWS</a> = 24, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\">SC_MARK_PIXMAP</a> = 25, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">SC_MARK_FULLRECT</a> = 26, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">SC_MARK_LEFTRECT</a> = 27, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\">SC_MARK_AVAILABLE</a> = 28, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">SC_MARK_UNDERLINE</a> = 29, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\">SC_MARK_RGBAIMAGE</a> = 30, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">SC_MARK_BOOKMARK</a> = 31, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\">SC_MARK_CHARACTER</a> = 10000\n<br />\n }</td></tr>\n<tr class=\"separator:ad004786b74db7858f6642c23447a214c inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab3b56c8c14ecc496e46e2ee1dc26738 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab3b56c8c14ecc496e46e2ee1dc26738\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_MARKNUM_FOLDEREND</b> = 25, \n<b>SC_MARKNUM_FOLDEROPENMID</b> = 26, \n<b>SC_MARKNUM_FOLDERMIDTAIL</b> = 27, \n<br />\n&#160;&#160;<b>SC_MARKNUM_FOLDERTAIL</b> = 28, \n<b>SC_MARKNUM_FOLDERSUB</b> = 29, \n<b>SC_MARKNUM_FOLDER</b> = 30, \n<br />\n&#160;&#160;<b>SC_MARKNUM_FOLDEROPEN</b> = 31, \n<b>SC_MASK_FOLDERS</b> = 0xfe000000\n<br />\n }</td></tr>\n<tr class=\"separator:aab3b56c8c14ecc496e46e2ee1dc26738 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7ed107d6ace096e9026c31145c48b41 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">SC_MARGIN_SYMBOL</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">SC_MARGIN_NUMBER</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">SC_MARGIN_BACK</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">SC_MARGIN_FORE</a> = 3, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">SC_MARGIN_TEXT</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">SC_MARGIN_RTEXT</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">SC_MARGIN_COLOUR</a> = 6\n<br />\n }</td></tr>\n<tr class=\"separator:ab7ed107d6ace096e9026c31145c48b41 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5435e1717ef698d5c0d689214d4b0f34 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5435e1717ef698d5c0d689214d4b0f34\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>STYLE_DEFAULT</b> = 32, \n<b>STYLE_LINENUMBER</b> = 33, \n<b>STYLE_BRACELIGHT</b> = 34, \n<br />\n&#160;&#160;<b>STYLE_BRACEBAD</b> = 35, \n<b>STYLE_CONTROLCHAR</b> = 36, \n<b>STYLE_INDENTGUIDE</b> = 37, \n<br />\n&#160;&#160;<b>STYLE_CALLTIP</b> = 38, \n<b>STYLE_FOLDDISPLAYTEXT</b> = 39, \n<b>STYLE_LASTPREDEFINED</b> = 39, \n<br />\n&#160;&#160;<b>STYLE_MAX</b> = 255\n<br />\n }</td></tr>\n<tr class=\"separator:a5435e1717ef698d5c0d689214d4b0f34 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab2179a2af3123f8e759086f07be80cd2 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab2179a2af3123f8e759086f07be80cd2\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CHARSET_ANSI</b> = 0, \n<b>SC_CHARSET_DEFAULT</b> = 1, \n<b>SC_CHARSET_BALTIC</b> = 186, \n<br />\n&#160;&#160;<b>SC_CHARSET_CHINESEBIG5</b> = 136, \n<b>SC_CHARSET_EASTEUROPE</b> = 238, \n<b>SC_CHARSET_GB2312</b> = 134, \n<br />\n&#160;&#160;<b>SC_CHARSET_GREEK</b> = 161, \n<b>SC_CHARSET_HANGUL</b> = 129, \n<b>SC_CHARSET_MAC</b> = 77, \n<br />\n&#160;&#160;<b>SC_CHARSET_OEM</b> = 255, \n<b>SC_CHARSET_RUSSIAN</b> = 204, \n<b>SC_CHARSET_OEM866</b> = 866, \n<br />\n&#160;&#160;<b>SC_CHARSET_CYRILLIC</b> = 1251, \n<b>SC_CHARSET_SHIFTJIS</b> = 128, \n<b>SC_CHARSET_SYMBOL</b> = 2, \n<br />\n&#160;&#160;<b>SC_CHARSET_TURKISH</b> = 162, \n<b>SC_CHARSET_JOHAB</b> = 130, \n<b>SC_CHARSET_HEBREW</b> = 177, \n<br />\n&#160;&#160;<b>SC_CHARSET_ARABIC</b> = 178, \n<b>SC_CHARSET_VIETNAMESE</b> = 163, \n<b>SC_CHARSET_THAI</b> = 222, \n<br />\n&#160;&#160;<b>SC_CHARSET_8859_15</b> = 1000\n<br />\n }</td></tr>\n<tr class=\"separator:ab2179a2af3123f8e759086f07be80cd2 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a864b0a91be0b1eb3143b30849474d9ee inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a864b0a91be0b1eb3143b30849474d9ee\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CASE_MIXED</b> = 0, \n<b>SC_CASE_UPPER</b> = 1, \n<b>SC_CASE_LOWER</b> = 2, \n<br />\n&#160;&#160;<b>SC_CASE_CAMEL</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a864b0a91be0b1eb3143b30849474d9ee inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae92e21c6957f026dbfd00008348e8b50 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\">SC_IV_NONE</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\">SC_IV_REAL</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\">SC_IV_LOOKFORWARD</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\">SC_IV_LOOKBOTH</a> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:ae92e21c6957f026dbfd00008348e8b50 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7599500a82c87cf303643005ea78e79 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab7599500a82c87cf303643005ea78e79\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>INDIC_PLAIN</b> = 0, \n<b>INDIC_SQUIGGLE</b> = 1, \n<b>INDIC_TT</b> = 2, \n<br />\n&#160;&#160;<b>INDIC_DIAGONAL</b> = 3, \n<b>INDIC_STRIKE</b> = 4, \n<b>INDIC_HIDDEN</b> = 5, \n<br />\n&#160;&#160;<b>INDIC_BOX</b> = 6, \n<b>INDIC_ROUNDBOX</b> = 7, \n<b>INDIC_STRAIGHTBOX</b> = 8, \n<br />\n&#160;&#160;<b>INDIC_DASH</b> = 9, \n<b>INDIC_DOTS</b> = 10, \n<b>INDIC_SQUIGGLELOW</b> = 11, \n<br />\n&#160;&#160;<b>INDIC_DOTBOX</b> = 12, \n<b>INDIC_SQUIGGLEPIXMAP</b> = 13, \n<b>INDIC_COMPOSITIONTHICK</b> = 14, \n<br />\n&#160;&#160;<b>INDIC_COMPOSITIONTHIN</b> = 15, \n<b>INDIC_FULLBOX</b> = 16, \n<b>INDIC_TEXTFORE</b> = 17, \n<br />\n&#160;&#160;<b>INDIC_POINT</b> = 18, \n<b>INDIC_POINTCHARACTER</b> = 19, \n<b>INDIC_GRADIENT</b> = 20, \n<br />\n&#160;&#160;<b>INDIC_GRADIENTCENTRE</b> = 21, \n<b>INDIC_IME</b> = 32, \n<b>INDIC_IME_MAX</b> = 35, \n<br />\n&#160;&#160;<b>INDIC_CONTAINER</b> = 8, \n<b>INDIC_MAX</b> = 35, \n<b>INDIC0_MASK</b> = 0x20, \n<br />\n&#160;&#160;<b>INDIC1_MASK</b> = 0x40, \n<b>INDIC2_MASK</b> = 0x80, \n<b>INDICS_MASK</b> = 0xe0, \n<br />\n&#160;&#160;<b>SC_INDICVALUEBIT</b> = 0x01000000, \n<b>SC_INDICVALUEMASK</b> = 0x00ffffff, \n<b>SC_INDICFLAG_VALUEBEFORE</b> = 1\n<br />\n }</td></tr>\n<tr class=\"separator:ab7599500a82c87cf303643005ea78e79 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8abc450a2a7d8a4d92b768b85d72bf14 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8abc450a2a7d8a4d92b768b85d72bf14\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_PRINT_NORMAL</b> = 0, \n<b>SC_PRINT_INVERTLIGHT</b> = 1, \n<b>SC_PRINT_BLACKONWHITE</b> = 2, \n<br />\n&#160;&#160;<b>SC_PRINT_COLOURONWHITE</b> = 3, \n<b>SC_PRINT_COLOURONWHITEDEFAULTBG</b> = 4, \n<b>SC_PRINT_SCREENCOLOURS</b> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a8abc450a2a7d8a4d92b768b85d72bf14 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a449c8199d94b497f5afd855341d64229 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a449c8199d94b497f5afd855341d64229\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCFIND_WHOLEWORD</b> = 2, \n<b>SCFIND_MATCHCASE</b> = 4, \n<b>SCFIND_WORDSTART</b> = 0x00100000, \n<br />\n&#160;&#160;<b>SCFIND_REGEXP</b> = 0x00200000, \n<b>SCFIND_POSIX</b> = 0x00400000, \n<b>SCFIND_CXX11REGEX</b> = 0x00800000\n<br />\n }</td></tr>\n<tr class=\"separator:a449c8199d94b497f5afd855341d64229 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a09d85c486690a5380792405faaaa220c inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a09d85c486690a5380792405faaaa220c\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_FOLDDISPLAYTEXT_HIDDEN</b> = 0, \n<b>SC_FOLDDISPLAYTEXT_STANDARD</b> = 1, \n<b>SC_FOLDDISPLAYTEXT_BOXED</b> = 2\n }</td></tr>\n<tr class=\"separator:a09d85c486690a5380792405faaaa220c inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5d42aeb0ff1f1319327636928704f11 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab5d42aeb0ff1f1319327636928704f11\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_FOLDLEVELBASE</b> = 0x00400, \n<b>SC_FOLDLEVELWHITEFLAG</b> = 0x01000, \n<b>SC_FOLDLEVELHEADERFLAG</b> = 0x02000, \n<br />\n&#160;&#160;<b>SC_FOLDLEVELNUMBERMASK</b> = 0x00fff\n<br />\n }</td></tr>\n<tr class=\"separator:ab5d42aeb0ff1f1319327636928704f11 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6eb62a631a3a04dd6d5c98286c143231 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6eb62a631a3a04dd6d5c98286c143231\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_FOLDFLAG_LINEBEFORE_EXPANDED</b> = 0x0002, \n<b>SC_FOLDFLAG_LINEBEFORE_CONTRACTED</b> = 0x0004, \n<b>SC_FOLDFLAG_LINEAFTER_EXPANDED</b> = 0x0008, \n<br />\n&#160;&#160;<b>SC_FOLDFLAG_LINEAFTER_CONTRACTED</b> = 0x0010, \n<b>SC_FOLDFLAG_LEVELNUMBERS</b> = 0x0040, \n<b>SC_FOLDFLAG_LINESTATE</b> = 0x0080\n<br />\n }</td></tr>\n<tr class=\"separator:a6eb62a631a3a04dd6d5c98286c143231 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3477f4d751d01b39b5e7e38d93856fef inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3477f4d751d01b39b5e7e38d93856fef\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_LINE_END_TYPE_DEFAULT</b> = 0, \n<b>SC_LINE_END_TYPE_UNICODE</b> = 1\n }</td></tr>\n<tr class=\"separator:a3477f4d751d01b39b5e7e38d93856fef inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a299f0d0556673ceff9aae3e11099bb68 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a299f0d0556673ceff9aae3e11099bb68\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_TIME_FOREVER</b> = 10000000\n }</td></tr>\n<tr class=\"separator:a299f0d0556673ceff9aae3e11099bb68 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ae69b065d2ac2dfaab53656df932306 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ae69b065d2ac2dfaab53656df932306\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_WRAP_NONE</b> = 0, \n<b>SC_WRAP_WORD</b> = 1, \n<b>SC_WRAP_CHAR</b> = 2, \n<br />\n&#160;&#160;<b>SC_WRAP_WHITESPACE</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a7ae69b065d2ac2dfaab53656df932306 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36b85609dd203b3b27c14a16e24321b9 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a36b85609dd203b3b27c14a16e24321b9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_WRAPINDENT_FIXED</b> = 0, \n<b>SC_WRAPINDENT_SAME</b> = 1, \n<b>SC_WRAPINDENT_INDENT</b> = 2, \n<br />\n&#160;&#160;<b>SC_WRAPINDENT_DEEPINDENT</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a36b85609dd203b3b27c14a16e24321b9 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6b6243d26078b6ee34246844721d2ad9 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6b6243d26078b6ee34246844721d2ad9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CACHE_NONE</b> = 0, \n<b>SC_CACHE_CARET</b> = 1, \n<b>SC_CACHE_PAGE</b> = 2, \n<br />\n&#160;&#160;<b>SC_CACHE_DOCUMENT</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a6b6243d26078b6ee34246844721d2ad9 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac9677f1e758e2aaa368dc70c8eac011b inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac9677f1e758e2aaa368dc70c8eac011b\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_PHASES_ONE</b> = 0, \n<b>SC_PHASES_TWO</b> = 1, \n<b>SC_PHASES_MULTIPLE</b> = 2\n }</td></tr>\n<tr class=\"separator:ac9677f1e758e2aaa368dc70c8eac011b inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a387e5fb00390c98f574c1a63e5cc6990 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a387e5fb00390c98f574c1a63e5cc6990\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>ANNOTATION_HIDDEN</b> = 0, \n<b>ANNOTATION_STANDARD</b> = 1, \n<b>ANNOTATION_BOXED</b> = 2, \n<br />\n&#160;&#160;<b>ANNOTATION_INDENTED</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a387e5fb00390c98f574c1a63e5cc6990 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a74a237b74599034b49c7eb219976143f inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a74a237b74599034b49c7eb219976143f\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>EDGE_NONE</b> = 0, \n<b>EDGE_LINE</b> = 1, \n<b>EDGE_BACKGROUND</b> = 2, \n<br />\n&#160;&#160;<b>EDGE_MULTILINE</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a74a237b74599034b49c7eb219976143f inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad04a7f86e07a9e8bcc8b3d835abe9f5d inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad04a7f86e07a9e8bcc8b3d835abe9f5d\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CURSORNORMAL</b> = -1, \n<b>SC_CURSORARROW</b> = 2, \n<b>SC_CURSORWAIT</b> = 4, \n<br />\n&#160;&#160;<b>SC_CURSORREVERSEARROW</b> = 7\n<br />\n }</td></tr>\n<tr class=\"separator:ad04a7f86e07a9e8bcc8b3d835abe9f5d inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ffda257161a3e02664b8e78edc75255 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ffda257161a3e02664b8e78edc75255\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>UNDO_MAY_COALESCE</b> = 1\n }</td></tr>\n<tr class=\"separator:a1ffda257161a3e02664b8e78edc75255 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad239e77cce3abfe60c72f70460dd70ca inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad239e77cce3abfe60c72f70460dd70ca\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>VISIBLE_SLOP</b> = 0x01, \n<b>VISIBLE_STRICT</b> = 0x04\n }</td></tr>\n<tr class=\"separator:ad239e77cce3abfe60c72f70460dd70ca inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2c80c96e6a7f6a37bf1b355d6be1b4f6 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2c80c96e6a7f6a37bf1b355d6be1b4f6\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>CARET_SLOP</b> = 0x01, \n<b>CARET_STRICT</b> = 0x04, \n<b>CARET_JUMPS</b> = 0x10, \n<br />\n&#160;&#160;<b>CARET_EVEN</b> = 0x08\n<br />\n }</td></tr>\n<tr class=\"separator:a2c80c96e6a7f6a37bf1b355d6be1b4f6 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9f68a3ed6fdd9fc9fe3113bf51e06916 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9f68a3ed6fdd9fc9fe3113bf51e06916\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>CARETSTYLE_INVISIBLE</b> = 0, \n<b>CARETSTYLE_LINE</b> = 1, \n<b>CARETSTYLE_BLOCK</b> = 2\n }</td></tr>\n<tr class=\"separator:a9f68a3ed6fdd9fc9fe3113bf51e06916 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5c2dea0c8bd3f89ee89586d5e5a89889 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5c2dea0c8bd3f89ee89586d5e5a89889\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_MOD_INSERTTEXT</b> = 0x1, \n<b>SC_MOD_DELETETEXT</b> = 0x2, \n<b>SC_MOD_CHANGESTYLE</b> = 0x4, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGEFOLD</b> = 0x8, \n<b>SC_PERFORMED_USER</b> = 0x10, \n<b>SC_PERFORMED_UNDO</b> = 0x20, \n<br />\n&#160;&#160;<b>SC_PERFORMED_REDO</b> = 0x40, \n<b>SC_MULTISTEPUNDOREDO</b> = 0x80, \n<b>SC_LASTSTEPINUNDOREDO</b> = 0x100, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGEMARKER</b> = 0x200, \n<b>SC_MOD_BEFOREINSERT</b> = 0x400, \n<b>SC_MOD_BEFOREDELETE</b> = 0x800, \n<br />\n&#160;&#160;<b>SC_MULTILINEUNDOREDO</b> = 0x1000, \n<b>SC_STARTACTION</b> = 0x2000, \n<b>SC_MOD_CHANGEINDICATOR</b> = 0x4000, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGELINESTATE</b> = 0x8000, \n<b>SC_MOD_CHANGEMARGIN</b> = 0x10000, \n<b>SC_MOD_CHANGEANNOTATION</b> = 0x20000, \n<br />\n&#160;&#160;<b>SC_MOD_CONTAINER</b> = 0x40000, \n<b>SC_MOD_LEXERSTATE</b> = 0x80000, \n<b>SC_MOD_INSERTCHECK</b> = 0x100000, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGETABSTOPS</b> = 0x200000, \n<b>SC_MODEVENTMASKALL</b> = 0x3fffff\n<br />\n }</td></tr>\n<tr class=\"separator:a5c2dea0c8bd3f89ee89586d5e5a89889 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae100b109f91ace045feded7e5ca7267 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aae100b109f91ace045feded7e5ca7267\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCK_DOWN</b> = 300, \n<b>SCK_UP</b> = 301, \n<b>SCK_LEFT</b> = 302, \n<br />\n&#160;&#160;<b>SCK_RIGHT</b> = 303, \n<b>SCK_HOME</b> = 304, \n<b>SCK_END</b> = 305, \n<br />\n&#160;&#160;<b>SCK_PRIOR</b> = 306, \n<b>SCK_NEXT</b> = 307, \n<b>SCK_DELETE</b> = 308, \n<br />\n&#160;&#160;<b>SCK_INSERT</b> = 309, \n<b>SCK_ESCAPE</b> = 7, \n<b>SCK_BACK</b> = 8, \n<br />\n&#160;&#160;<b>SCK_TAB</b> = 9, \n<b>SCK_RETURN</b> = 13, \n<b>SCK_ADD</b> = 310, \n<br />\n&#160;&#160;<b>SCK_SUBTRACT</b> = 311, \n<b>SCK_DIVIDE</b> = 312, \n<b>SCK_WIN</b> = 313, \n<br />\n&#160;&#160;<b>SCK_RWIN</b> = 314, \n<b>SCK_MENU</b> = 315\n<br />\n }</td></tr>\n<tr class=\"separator:aae100b109f91ace045feded7e5ca7267 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a76f793f6e6ce5b6f14b3925e78ea2aa6 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\">SCMOD_NORM</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\">SCMOD_SHIFT</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\">SCMOD_CTRL</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\">SCMOD_ALT</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\">SCMOD_SUPER</a> = 8, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\">SCMOD_META</a> = 16\n<br />\n }</td></tr>\n<tr class=\"separator:a76f793f6e6ce5b6f14b3925e78ea2aa6 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa4ab44fd6a7374eb16d07762aa51c7c0 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">SCLEX_CONTAINER</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\">SCLEX_NULL</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\">SCLEX_PYTHON</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\">SCLEX_CPP</a> = 3, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\">SCLEX_HTML</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\">SCLEX_XML</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\">SCLEX_PERL</a> = 6, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\">SCLEX_SQL</a> = 7, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\">SCLEX_VB</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\">SCLEX_PROPERTIES</a> = 9, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\">SCLEX_ERRORLIST</a> = 10, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\">SCLEX_MAKEFILE</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\">SCLEX_BATCH</a> = 12, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\">SCLEX_LATEX</a> = 14, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\">SCLEX_LUA</a> = 15, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\">SCLEX_DIFF</a> = 16, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\">SCLEX_CONF</a> = 17, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\">SCLEX_PASCAL</a> = 18, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\">SCLEX_AVE</a> = 19, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\">SCLEX_ADA</a> = 20, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\">SCLEX_LISP</a> = 21, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\">SCLEX_RUBY</a> = 22, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\">SCLEX_EIFFEL</a> = 23, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\">SCLEX_EIFFELKW</a> = 24, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\">SCLEX_TCL</a> = 25, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\">SCLEX_NNCRONTAB</a> = 26, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\">SCLEX_BULLANT</a> = 27, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\">SCLEX_VBSCRIPT</a> = 28, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\">SCLEX_ASP</a> = SCLEX_HTML, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\">SCLEX_PHP</a> = SCLEX_HTML, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\">SCLEX_BAAN</a> = 31, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\">SCLEX_MATLAB</a> = 32, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\">SCLEX_SCRIPTOL</a> = 33, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\">SCLEX_ASM</a> = 34, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\">SCLEX_CPPNOCASE</a> = 35, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\">SCLEX_FORTRAN</a> = 36, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\">SCLEX_F77</a> = 37, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\">SCLEX_CSS</a> = 38, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\">SCLEX_POV</a> = 39, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\">SCLEX_LOUT</a> = 40, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\">SCLEX_ESCRIPT</a> = 41, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\">SCLEX_PS</a> = 42, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\">SCLEX_NSIS</a> = 43, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\">SCLEX_MMIXAL</a> = 44, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\">SCLEX_CLW</a> = 45, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\">SCLEX_CLWNOCASE</a> = 46, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\">SCLEX_LOT</a> = 47, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\">SCLEX_YAML</a> = 48, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\">SCLEX_TEX</a> = 49, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\">SCLEX_METAPOST</a> = 50, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\">SCLEX_POWERBASIC</a> = 51, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\">SCLEX_FORTH</a> = 52, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\">SCLEX_ERLANG</a> = 53, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\">SCLEX_OCTAVE</a> = 54, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\">SCLEX_MSSQL</a> = 55, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\">SCLEX_VERILOG</a> = 56, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\">SCLEX_KIX</a> = 57, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\">SCLEX_GUI4CLI</a> = 58, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\">SCLEX_SPECMAN</a> = 59, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\">SCLEX_AU3</a> = 60, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\">SCLEX_APDL</a> = 61, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\">SCLEX_BASH</a> = 62, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\">SCLEX_ASN1</a> = 63, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\">SCLEX_VHDL</a> = 64, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\">SCLEX_CAML</a> = 65, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\">SCLEX_BLITZBASIC</a> = 66, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\">SCLEX_PUREBASIC</a> = 67, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\">SCLEX_HASKELL</a> = 68, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\">SCLEX_PHPSCRIPT</a> = 69, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\">SCLEX_TADS3</a> = 70, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\">SCLEX_REBOL</a> = 71, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\">SCLEX_SMALLTALK</a> = 72, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\">SCLEX_FLAGSHIP</a> = 73, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\">SCLEX_CSOUND</a> = 74, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\">SCLEX_FREEBASIC</a> = 75, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\">SCLEX_INNOSETUP</a> = 76, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\">SCLEX_OPAL</a> = 77, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\">SCLEX_SPICE</a> = 78, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\">SCLEX_D</a> = 79, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\">SCLEX_CMAKE</a> = 80, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\">SCLEX_GAP</a> = 81, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\">SCLEX_PLM</a> = 82, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\">SCLEX_PROGRESS</a> = 83, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\">SCLEX_ABAQUS</a> = 84, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\">SCLEX_ASYMPTOTE</a> = 85, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\">SCLEX_R</a> = 86, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\">SCLEX_MAGIK</a> = 87, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\">SCLEX_POWERSHELL</a> = 88, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\">SCLEX_MYSQL</a> = 89, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\">SCLEX_PO</a> = 90, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\">SCLEX_TAL</a> = 91, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\">SCLEX_COBOL</a> = 92, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\">SCLEX_TACL</a> = 93, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\">SCLEX_SORCUS</a> = 94, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\">SCLEX_POWERPRO</a> = 95, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\">SCLEX_NIMROD</a> = 96, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\">SCLEX_SML</a> = 97, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\">SCLEX_MARKDOWN</a> = 98, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\">SCLEX_TXT2TAGS</a> = 99, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\">SCLEX_A68K</a> = 100, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\">SCLEX_MODULA</a> = 101, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\">SCLEX_COFFEESCRIPT</a> = 102, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\">SCLEX_TCMD</a> = 103, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\">SCLEX_AVS</a> = 104, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\">SCLEX_ECL</a> = 105, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\">SCLEX_OSCRIPT</a> = 106, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\">SCLEX_VISUALPROLOG</a> = 107, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\">SCLEX_LITERATEHASKELL</a> = 108, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\">SCLEX_STTXT</a> = 109, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\">SCLEX_KVIRC</a> = 110, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\">SCLEX_RUST</a> = 111, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\">SCLEX_DMAP</a> = 112, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\">SCLEX_AS</a> = 113, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\">SCLEX_DMIS</a> = 114, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\">SCLEX_REGISTRY</a> = 115, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\">SCLEX_BIBTEX</a> = 116, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\">SCLEX_SREC</a> = 117, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\">SCLEX_IHEX</a> = 118, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\">SCLEX_TEHEX</a> = 119, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\">SCLEX_JSON</a> = 120, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\">SCLEX_EDIFACT</a> = 121, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\">SCLEX_INDENT</a> = 122, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\">SCLEX_MAXIMA</a> = 123, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\">SCLEX_STATA</a> = 124, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\">SCLEX_SAS</a> = 125\n<br />\n }</td></tr>\n<tr class=\"separator:aa4ab44fd6a7374eb16d07762aa51c7c0 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80ff71d78cd014abb3ba387d190547df inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a80ff71d78cd014abb3ba387d190547df\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_WEIGHT_NORMAL</b> = 400, \n<b>SC_WEIGHT_SEMIBOLD</b> = 600, \n<b>SC_WEIGHT_BOLD</b> = 700\n }</td></tr>\n<tr class=\"separator:a80ff71d78cd014abb3ba387d190547df inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab69a4898ecba5b929124e7a11d504cb9 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab69a4898ecba5b929124e7a11d504cb9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_TECHNOLOGY_DEFAULT</b> = 0, \n<b>SC_TECHNOLOGY_DIRECTWRITE</b> = 1, \n<b>SC_TECHNOLOGY_DIRECTWRITERETAIN</b> = 2, \n<br />\n&#160;&#160;<b>SC_TECHNOLOGY_DIRECTWRITEDC</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:ab69a4898ecba5b929124e7a11d504cb9 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7bfd9660119d4ff15969a312874e3f0d inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7bfd9660119d4ff15969a312874e3f0d\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE</b> = 0, \n<b>SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE</b> = 1\n }</td></tr>\n<tr class=\"separator:a7bfd9660119d4ff15969a312874e3f0d inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c275507899f6fd247db63d1dcd83003 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3c275507899f6fd247db63d1dcd83003\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_FONT_SIZE_MULTIPLIER</b> = 100\n }</td></tr>\n<tr class=\"separator:a3c275507899f6fd247db63d1dcd83003 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2236594c42c6b16ae3a048eef7a88624 inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2236594c42c6b16ae3a048eef7a88624\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_FOLDACTION_CONTRACT</b> = 0, \n<b>SC_FOLDACTION_EXPAND</b> = 1, \n<b>SC_FOLDACTION_TOGGLE</b> = 2\n }</td></tr>\n<tr class=\"separator:a2236594c42c6b16ae3a048eef7a88624 inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2d8147b1c9082f33f6b41eefdb249f9e inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2d8147b1c9082f33f6b41eefdb249f9e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_AUTOMATICFOLD_SHOW</b> = 0x0001, \n<b>SC_AUTOMATICFOLD_CLICK</b> = 0x0002, \n<b>SC_AUTOMATICFOLD_CHANGE</b> = 0x0004\n }</td></tr>\n<tr class=\"separator:a2d8147b1c9082f33f6b41eefdb249f9e inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a78dba0cc167992b097c30ea331f2db inherit pub_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2a78dba0cc167992b097c30ea331f2db\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_ORDER_PRESORTED</b> = 0, \n<b>SC_ORDER_PERFORMSORT</b> = 1, \n<b>SC_ORDER_CUSTOM</b> = 2\n }</td></tr>\n<tr class=\"separator:a2a78dba0cc167992b097c30ea331f2db inherit pub_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-slots\"></a>\nPublic Slots</h2></td></tr>\n<tr class=\"memitem:ae7310729b1be2aa937a22036f5d95b51\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae7310729b1be2aa937a22036f5d95b51\">append</a> (const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:ae7310729b1be2aa937a22036f5d95b51\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5f10e95e76c2b38b9d20f6f728243e65\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">autoCompleteFromAll</a> ()</td></tr>\n<tr class=\"separator:a5f10e95e76c2b38b9d20f6f728243e65\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae89d58a67f46efad7136bead41232fd6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">autoCompleteFromAPIs</a> ()</td></tr>\n<tr class=\"separator:ae89d58a67f46efad7136bead41232fd6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae4d479c640e2ea4444aa905f69495321\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">autoCompleteFromDocument</a> ()</td></tr>\n<tr class=\"separator:ae4d479c640e2ea4444aa905f69495321\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a33a692fb0d5781ec40080a361859fd66\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a33a692fb0d5781ec40080a361859fd66\">callTip</a> ()</td></tr>\n<tr class=\"separator:a33a692fb0d5781ec40080a361859fd66\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a149b39fedd3779fe797cf7c9ae793c8a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a149b39fedd3779fe797cf7c9ae793c8a\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a149b39fedd3779fe797cf7c9ae793c8a\">clear</a> ()</td></tr>\n<tr class=\"separator:a149b39fedd3779fe797cf7c9ae793c8a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36deb25fada219957350847732d05889\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy</a> ()</td></tr>\n<tr class=\"separator:a36deb25fada219957350847732d05889\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0a5656ec94ad1b31e3acc6ba86ebf8c4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">cut</a> ()</td></tr>\n<tr class=\"separator:a0a5656ec94ad1b31e3acc6ba86ebf8c4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa85349be1012a11e4198949c5537a6b2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa85349be1012a11e4198949c5537a6b2\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa85349be1012a11e4198949c5537a6b2\">ensureCursorVisible</a> ()</td></tr>\n<tr class=\"separator:aa85349be1012a11e4198949c5537a6b2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abe7fcae4d84483ecd934c60bfdaee4a8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abe7fcae4d84483ecd934c60bfdaee4a8\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#abe7fcae4d84483ecd934c60bfdaee4a8\">ensureLineVisible</a> (int line)</td></tr>\n<tr class=\"separator:abe7fcae4d84483ecd934c60bfdaee4a8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afea26881f9979a1769ba85c668351cee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#afea26881f9979a1769ba85c668351cee\">foldAll</a> (bool children=false)</td></tr>\n<tr class=\"separator:afea26881f9979a1769ba85c668351cee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6557ee0ca58413e8d3e76b942f25a7f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad6557ee0ca58413e8d3e76b942f25a7f\">foldLine</a> (int line)</td></tr>\n<tr class=\"separator:ad6557ee0ca58413e8d3e76b942f25a7f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af7088827cec6904663d94507a199d19a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">indent</a> (int line)</td></tr>\n<tr class=\"separator:af7088827cec6904663d94507a199d19a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adcf1f06161144f511c549695f9641c77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adcf1f06161144f511c549695f9641c77\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#adcf1f06161144f511c549695f9641c77\">insert</a> (const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:adcf1f06161144f511c549695f9641c77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afba4d5b30fae60dab7b4279c580beb8c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#afba4d5b30fae60dab7b4279c580beb8c\">insertAt</a> (const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>, int line, int index)</td></tr>\n<tr class=\"separator:afba4d5b30fae60dab7b4279c580beb8c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9792eb38e5e8dce8a4bd32b2224c73d4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9792eb38e5e8dce8a4bd32b2224c73d4\">moveToMatchingBrace</a> ()</td></tr>\n<tr class=\"separator:a9792eb38e5e8dce8a4bd32b2224c73d4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0aeb5804552ea61f04aff90cb6739f39\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">paste</a> ()</td></tr>\n<tr class=\"separator:a0aeb5804552ea61f04aff90cb6739f39\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a62220018d9e9295cde64041246cfb3c4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a62220018d9e9295cde64041246cfb3c4\">redo</a> ()</td></tr>\n<tr class=\"separator:a62220018d9e9295cde64041246cfb3c4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aef584b6c5b89736ad311ad20aa32269d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aef584b6c5b89736ad311ad20aa32269d\">removeSelectedText</a> ()</td></tr>\n<tr class=\"separator:aef584b6c5b89736ad311ad20aa32269d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a48f53865418cf2ebd5126d2ee5e9d1dd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a48f53865418cf2ebd5126d2ee5e9d1dd\">replaceSelectedText</a> (const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:a48f53865418cf2ebd5126d2ee5e9d1dd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae8b040ae88e74aef9a38cdb4ce24295a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">resetSelectionBackgroundColor</a> ()</td></tr>\n<tr class=\"separator:ae8b040ae88e74aef9a38cdb4ce24295a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9ce32df9e150ef76a24c50af6b09e966\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">resetSelectionForegroundColor</a> ()</td></tr>\n<tr class=\"separator:a9ce32df9e150ef76a24c50af6b09e966\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8aae5a0037937ad6c8bdfe868e4a8ad5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8aae5a0037937ad6c8bdfe868e4a8ad5\">selectAll</a> (bool select=true)</td></tr>\n<tr class=\"separator:a8aae5a0037937ad6c8bdfe868e4a8ad5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a986f1235405f51f9d5b2edda17423563\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a986f1235405f51f9d5b2edda17423563\">selectToMatchingBrace</a> ()</td></tr>\n<tr class=\"separator:a986f1235405f51f9d5b2edda17423563\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8348c07fe8cff0bf6141a94ca3014ed2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8348c07fe8cff0bf6141a94ca3014ed2\">setAutoCompletionCaseSensitivity</a> (bool cs)</td></tr>\n<tr class=\"separator:a8348c07fe8cff0bf6141a94ca3014ed2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af67874dae6e032c44d4ccde569e2decb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af67874dae6e032c44d4ccde569e2decb\">setAutoCompletionReplaceWord</a> (bool <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace</a>)</td></tr>\n<tr class=\"separator:af67874dae6e032c44d4ccde569e2decb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6b494f1a0395a62c3e61f50eabc50679\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6b494f1a0395a62c3e61f50eabc50679\">setAutoCompletionShowSingle</a> (bool single)</td></tr>\n<tr class=\"separator:a6b494f1a0395a62c3e61f50eabc50679\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a48860b20014ce8b044760c055156ba57\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a48860b20014ce8b044760c055156ba57\">setAutoCompletionSource</a> (<a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">AutoCompletionSource</a> source)</td></tr>\n<tr class=\"separator:a48860b20014ce8b044760c055156ba57\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a508eb34df3030ac28321b12d86d6670c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">setAutoCompletionThreshold</a> (int thresh)</td></tr>\n<tr class=\"separator:a508eb34df3030ac28321b12d86d6670c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aefa257027a014475cb468b6d77bcf1f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">setAutoCompletionUseSingle</a> (<a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">AutoCompletionUseSingle</a> single)</td></tr>\n<tr class=\"separator:aefa257027a014475cb468b6d77bcf1f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a02105d06ad853647906eb72d27face67\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a02105d06ad853647906eb72d27face67\">setAutoIndent</a> (bool autoindent)</td></tr>\n<tr class=\"separator:a02105d06ad853647906eb72d27face67\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae53911447eddf1f0f93811f17ca4ecf8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae53911447eddf1f0f93811f17ca4ecf8\">setBraceMatching</a> (<a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a> bm)</td></tr>\n<tr class=\"separator:ae53911447eddf1f0f93811f17ca4ecf8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adca3e8b2b7d4d0bf65ad23322f64f6ef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">setBackspaceUnindents</a> (bool <a class=\"el\" href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">unindent</a>)</td></tr>\n<tr class=\"separator:adca3e8b2b7d4d0bf65ad23322f64f6ef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af9015c62600c87eef82f715bf61da913\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af9015c62600c87eef82f715bf61da913\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af9015c62600c87eef82f715bf61da913\">setCaretForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:af9015c62600c87eef82f715bf61da913\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8c227f8c948aeb5e6a2cf73397387cc0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8c227f8c948aeb5e6a2cf73397387cc0\">setCaretLineBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a8c227f8c948aeb5e6a2cf73397387cc0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0999f0d3c67472b6986486fd06775240\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0999f0d3c67472b6986486fd06775240\">setCaretLineFrameWidth</a> (int width)</td></tr>\n<tr class=\"separator:a0999f0d3c67472b6986486fd06775240\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a37f2cddeeef588533be46798ae18ffab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a37f2cddeeef588533be46798ae18ffab\">setCaretLineVisible</a> (bool enable)</td></tr>\n<tr class=\"separator:a37f2cddeeef588533be46798ae18ffab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2c1974c2bdc9c0f2923c28b66afe811f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a2c1974c2bdc9c0f2923c28b66afe811f\">setCaretWidth</a> (int width)</td></tr>\n<tr class=\"separator:a2c1974c2bdc9c0f2923c28b66afe811f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8c8e4776767cc88b945f50f07d235770\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8c8e4776767cc88b945f50f07d235770\">setColor</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:a8c8e4776767cc88b945f50f07d235770\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea97c6fb0079a6e3e647443b6101ae9d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aea97c6fb0079a6e3e647443b6101ae9d\">setCursorPosition</a> (int line, int index)</td></tr>\n<tr class=\"separator:aea97c6fb0079a6e3e647443b6101ae9d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0f2353468d2c37abe9c933d4ac0478ad\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">setEolMode</a> (<a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a> mode)</td></tr>\n<tr class=\"separator:a0f2353468d2c37abe9c933d4ac0478ad\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab98db9f5166ccc23792aea15a19c2294\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab98db9f5166ccc23792aea15a19c2294\">setEolVisibility</a> (bool visible)</td></tr>\n<tr class=\"separator:ab98db9f5166ccc23792aea15a19c2294\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a340cd78e46fb58fc9b3b78ed158ba56e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">setFolding</a> (<a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">FoldStyle</a> fold, int margin=2)</td></tr>\n<tr class=\"separator:a340cd78e46fb58fc9b3b78ed158ba56e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa46e60536be6297de6ca1fb16d36cd51\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa46e60536be6297de6ca1fb16d36cd51\">setIndentation</a> (int line, int <a class=\"el\" href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">indentation</a>)</td></tr>\n<tr class=\"separator:aa46e60536be6297de6ca1fb16d36cd51\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1b4591eb73dcef0153861f698edc8726\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a1b4591eb73dcef0153861f698edc8726\">setIndentationGuides</a> (bool enable)</td></tr>\n<tr class=\"separator:a1b4591eb73dcef0153861f698edc8726\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a18d150beb0cd818ebcbcee886217de6a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a18d150beb0cd818ebcbcee886217de6a\">setIndentationGuidesBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a18d150beb0cd818ebcbcee886217de6a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ace4acd9ee0d1c3e31099d65cdd8219b2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ace4acd9ee0d1c3e31099d65cdd8219b2\">setIndentationGuidesForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:ace4acd9ee0d1c3e31099d65cdd8219b2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a065b392e0a39ecfd39df787a3a25e814\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a065b392e0a39ecfd39df787a3a25e814\">setIndentationsUseTabs</a> (bool tabs)</td></tr>\n<tr class=\"separator:a065b392e0a39ecfd39df787a3a25e814\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8010e1671a15976254fd11b59ca3e03d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8010e1671a15976254fd11b59ca3e03d\">setIndentationWidth</a> (int width)</td></tr>\n<tr class=\"separator:a8010e1671a15976254fd11b59ca3e03d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7bc5fb5d0daf8261544fb6fe738a0c91\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">setLexer</a> (<a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *<a class=\"el\" href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">lexer</a>=0)</td></tr>\n<tr class=\"separator:a7bc5fb5d0daf8261544fb6fe738a0c91\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a419ab8aed49ea1711ce4ffcf19146df1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a419ab8aed49ea1711ce4ffcf19146df1\">setMarginsBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a419ab8aed49ea1711ce4ffcf19146df1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a672f2fb901048f290997cb69216b7a00\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a672f2fb901048f290997cb69216b7a00\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a672f2fb901048f290997cb69216b7a00\">setMarginsFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a672f2fb901048f290997cb69216b7a00\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a263f0c4753c9a0c950adf1377737444e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a263f0c4753c9a0c950adf1377737444e\">setMarginsForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a263f0c4753c9a0c950adf1377737444e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5fddd1e6e19cf2e2b40c15a39e62d198\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5fddd1e6e19cf2e2b40c15a39e62d198\">setMarginLineNumbers</a> (int margin, bool lnrs)</td></tr>\n<tr class=\"separator:a5fddd1e6e19cf2e2b40c15a39e62d198\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae6392483ffb59cdb94b7bd4b8a6dec9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aae6392483ffb59cdb94b7bd4b8a6dec9\">setMarginMarkerMask</a> (int margin, int mask)</td></tr>\n<tr class=\"separator:aae6392483ffb59cdb94b7bd4b8a6dec9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a064b51eca1ab2d32d4c4c328e69a395d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">setMarginSensitivity</a> (int margin, bool sens)</td></tr>\n<tr class=\"separator:a064b51eca1ab2d32d4c4c328e69a395d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1a8b798b6b36db2b5f60b0cdccba88a1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a1a8b798b6b36db2b5f60b0cdccba88a1\">setMarginWidth</a> (int margin, int width)</td></tr>\n<tr class=\"separator:a1a8b798b6b36db2b5f60b0cdccba88a1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aece608d0192ccad13cc706c4b79005e3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aece608d0192ccad13cc706c4b79005e3\">setMarginWidth</a> (int margin, const QString &amp;s)</td></tr>\n<tr class=\"separator:aece608d0192ccad13cc706c4b79005e3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff32517974ac1d8c8cd3c5b6c757ddc9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">setModified</a> (bool m)</td></tr>\n<tr class=\"separator:aff32517974ac1d8c8cd3c5b6c757ddc9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa805f90f3bbe067299e9ab8902eafbf3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa805f90f3bbe067299e9ab8902eafbf3\">setPaper</a> (const QColor &amp;c)</td></tr>\n<tr class=\"separator:aa805f90f3bbe067299e9ab8902eafbf3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab26d156ff430e904e8f92d3dad9730bc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">setReadOnly</a> (bool ro)</td></tr>\n<tr class=\"separator:ab26d156ff430e904e8f92d3dad9730bc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a391299d076b0164402118f504c83d09c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a391299d076b0164402118f504c83d09c\">setSelection</a> (int lineFrom, int indexFrom, int lineTo, int indexTo)</td></tr>\n<tr class=\"separator:a391299d076b0164402118f504c83d09c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6882a7641822a859e812601f1bae65eb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">setSelectionBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a6882a7641822a859e812601f1bae65eb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1060a2e187518d1c8b2814c393e227c6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">setSelectionForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a1060a2e187518d1c8b2814c393e227c6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a957eaab9ac1785eb043fb83f703a0b57\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">setTabIndents</a> (bool <a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">indent</a>)</td></tr>\n<tr class=\"separator:a957eaab9ac1785eb043fb83f703a0b57\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1bd5470bc123a43c98facfc5c4a1e523\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a1bd5470bc123a43c98facfc5c4a1e523\">setTabWidth</a> (int width)</td></tr>\n<tr class=\"separator:a1bd5470bc123a43c98facfc5c4a1e523\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5786917722e156e26d6afca807d05fee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">setText</a> (const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:a5786917722e156e26d6afca807d05fee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9071c0772ce576f60fce08395ce04274\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9071c0772ce576f60fce08395ce04274\">setUtf8</a> (bool cp)</td></tr>\n<tr class=\"separator:a9071c0772ce576f60fce08395ce04274\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa2bca1d2d137ea4a3f944a4f41f98a94\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa2bca1d2d137ea4a3f944a4f41f98a94\">setWhitespaceVisibility</a> (<a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">WhitespaceVisibility</a> mode)</td></tr>\n<tr class=\"separator:aa2bca1d2d137ea4a3f944a4f41f98a94\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac04428d2f90c36458d68a673f107e40c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac04428d2f90c36458d68a673f107e40c\">setWrapMode</a> (<a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">WrapMode</a> mode)</td></tr>\n<tr class=\"separator:ac04428d2f90c36458d68a673f107e40c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0128aae31e7d02fa580b55c9675d66e9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo</a> ()</td></tr>\n<tr class=\"separator:a0128aae31e7d02fa580b55c9675d66e9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a99fe632cb2613a0bac2ffb77c571c647\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">unindent</a> (int line)</td></tr>\n<tr class=\"separator:a99fe632cb2613a0bac2ffb77c571c647\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afb98254d553128ba4ebf6151a496679f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#afb98254d553128ba4ebf6151a496679f\">zoomIn</a> (int range)</td></tr>\n<tr class=\"separator:afb98254d553128ba4ebf6151a496679f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4a1068502802e494fb58ae50f6b6aedf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4a1068502802e494fb58ae50f6b6aedf\">zoomIn</a> ()</td></tr>\n<tr class=\"separator:a4a1068502802e494fb58ae50f6b6aedf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0c7c970d275176f678a86e46f5e2d07d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0c7c970d275176f678a86e46f5e2d07d\">zoomOut</a> (int range)</td></tr>\n<tr class=\"separator:a0c7c970d275176f678a86e46f5e2d07d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3de45d9f5485af099041d8046e734103\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3de45d9f5485af099041d8046e734103\">zoomOut</a> ()</td></tr>\n<tr class=\"separator:a3de45d9f5485af099041d8046e734103\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab33ae790e43f4b856e44d202b9b3ce07\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">zoomTo</a> (int size)</td></tr>\n<tr class=\"separator:ab33ae790e43f4b856e44d202b9b3ce07\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"signals\"></a>\nSignals</h2></td></tr>\n<tr class=\"memitem:aca81f16f09dbbaf463d5926f04d4b53c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aca81f16f09dbbaf463d5926f04d4b53c\">cursorPositionChanged</a> (int line, int index)</td></tr>\n<tr class=\"separator:aca81f16f09dbbaf463d5926f04d4b53c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a897792c74e365b70c4d2827419dc3ecf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">copyAvailable</a> (bool yes)</td></tr>\n<tr class=\"separator:a897792c74e365b70c4d2827419dc3ecf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad55ff1f454f9cb5c14f63c5c6870c895\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad55ff1f454f9cb5c14f63c5c6870c895\">indicatorClicked</a> (int line, int index, Qt::KeyboardModifiers state)</td></tr>\n<tr class=\"separator:ad55ff1f454f9cb5c14f63c5c6870c895\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaed07ffc03430a61dc90ff6b28fb6fd7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aaed07ffc03430a61dc90ff6b28fb6fd7\">indicatorReleased</a> (int line, int index, Qt::KeyboardModifiers state)</td></tr>\n<tr class=\"separator:aaed07ffc03430a61dc90ff6b28fb6fd7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9da0038950253b116ecd3863a4f63928\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9da0038950253b116ecd3863a4f63928\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9da0038950253b116ecd3863a4f63928\">linesChanged</a> ()</td></tr>\n<tr class=\"separator:a9da0038950253b116ecd3863a4f63928\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5afec2f913c2a46d661c5fdda29f5e87\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">marginClicked</a> (int margin, int line, Qt::KeyboardModifiers state)</td></tr>\n<tr class=\"separator:a5afec2f913c2a46d661c5fdda29f5e87\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8166be72487a7a660cb8e44c5126c852\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8166be72487a7a660cb8e44c5126c852\">marginRightClicked</a> (int margin, int line, Qt::KeyboardModifiers state)</td></tr>\n<tr class=\"separator:a8166be72487a7a660cb8e44c5126c852\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ef800561a02b8ec02008d33e0c6e55e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a2ef800561a02b8ec02008d33e0c6e55e\">modificationAttempted</a> ()</td></tr>\n<tr class=\"separator:a2ef800561a02b8ec02008d33e0c6e55e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a18b2b3426de5ec4822f4584ca60ed2b9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">modificationChanged</a> (bool m)</td></tr>\n<tr class=\"separator:a18b2b3426de5ec4822f4584ca60ed2b9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a194e86e59129ed570af044e19697d0e9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a194e86e59129ed570af044e19697d0e9\">selectionChanged</a> ()</td></tr>\n<tr class=\"separator:a194e86e59129ed570af044e19697d0e9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8696968d0a32b07bfc77fb0701c5bf62\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8696968d0a32b07bfc77fb0701c5bf62\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8696968d0a32b07bfc77fb0701c5bf62\">textChanged</a> ()</td></tr>\n<tr class=\"separator:a8696968d0a32b07bfc77fb0701c5bf62\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9261ce8b2aa1dda886e5259fbd6b8712\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">userListActivated</a> (int id, const QString &amp;string)</td></tr>\n<tr class=\"separator:a9261ce8b2aa1dda886e5259fbd6b8712\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header signals_classQsciScintillaBase\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('signals_classQsciScintillaBase')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Signals inherited from <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td></tr>\n<tr class=\"memitem:a747feb07236c1beccadd446562b53b84 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QSCN_SELCHANGED</a> (bool yes)</td></tr>\n<tr class=\"separator:a747feb07236c1beccadd446562b53b84 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1719fba80d9e60cf9fce1bb75f304568 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">SCN_AUTOCCANCELLED</a> ()</td></tr>\n<tr class=\"separator:a1719fba80d9e60cf9fce1bb75f304568 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabab23e5653c35dae8a6f144d73c4657 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">SCN_AUTOCCHARDELETED</a> ()</td></tr>\n<tr class=\"separator:aabab23e5653c35dae8a6f144d73c4657 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a41e738411112b8f509e0b49b6fc3e318 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">SCN_AUTOCCOMPLETED</a> (const char *selection, int position, int ch, int method)</td></tr>\n<tr class=\"separator:a41e738411112b8f509e0b49b6fc3e318 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a61c43c53a753272c51c5c5ac14bda136 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION</a> (const char *selection, int position, int ch, int method)</td></tr>\n<tr class=\"separator:a61c43c53a753272c51c5c5ac14bda136 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ad82492f8015a60dea97f6ebd712d64 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ad82492f8015a60dea97f6ebd712d64\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1ad82492f8015a60dea97f6ebd712d64\">SCN_AUTOCSELECTION</a> (const char *selection, int position)</td></tr>\n<tr class=\"separator:a1ad82492f8015a60dea97f6ebd712d64 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a721a1879cabaa76883ae1a02a34a76e8 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">SCN_AUTOCSELECTIONCHANGE</a> (const char *selection, int id, int position)</td></tr>\n<tr class=\"separator:a721a1879cabaa76883ae1a02a34a76e8 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af2cc3652d35b4d0ec1d8c9ac18e2225e inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af2cc3652d35b4d0ec1d8c9ac18e2225e\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">SCEN_CHANGE</a> ()</td></tr>\n<tr class=\"separator:af2cc3652d35b4d0ec1d8c9ac18e2225e inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a13f22ec5a59e2e8e97a27ac24967f74d inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">SCN_CALLTIPCLICK</a> (int direction)</td></tr>\n<tr class=\"separator:a13f22ec5a59e2e8e97a27ac24967f74d inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae8d8fa5d5f063a7c7d37d527f86b5fe8 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">SCN_CHARADDED</a> (int charadded)</td></tr>\n<tr class=\"separator:ae8d8fa5d5f063a7c7d37d527f86b5fe8 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad3ca5787399ed886cb9000c8feab3c08 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">SCN_DOUBLECLICK</a> (int position, int line, int modifiers)</td></tr>\n<tr class=\"separator:ad3ca5787399ed886cb9000c8feab3c08 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9ecd605284870ddbf703cf4c8c995ca6 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">SCN_DWELLEND</a> (int position, int x, int y)</td></tr>\n<tr class=\"separator:a9ecd605284870ddbf703cf4c8c995ca6 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adfd788dce5c1a91d1fcd5e6fdd2fca59 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">SCN_DWELLSTART</a> (int position, int x, int y)</td></tr>\n<tr class=\"separator:adfd788dce5c1a91d1fcd5e6fdd2fca59 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae53947625062cec64a212dc68877ddc3 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae53947625062cec64a212dc68877ddc3\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">SCN_FOCUSIN</a> ()</td></tr>\n<tr class=\"separator:ae53947625062cec64a212dc68877ddc3 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2febc4ea74d45d6a8bc9c758635dd99d inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2febc4ea74d45d6a8bc9c758635dd99d\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">SCN_FOCUSOUT</a> ()</td></tr>\n<tr class=\"separator:a2febc4ea74d45d6a8bc9c758635dd99d inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5eff383e6fa96cbbaba6a2558b076c0b inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">SCN_HOTSPOTCLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a5eff383e6fa96cbbaba6a2558b076c0b inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a682cc736272338433efdc86bc936e0e8 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">SCN_HOTSPOTDOUBLECLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a682cc736272338433efdc86bc936e0e8 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a906faecb0defd2d5a14cac54f8415dcf inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">SCN_HOTSPOTRELEASECLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a906faecb0defd2d5a14cac54f8415dcf inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeec8d7e585e93451307df88ff2fc2b87 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">SCN_INDICATORCLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:aeec8d7e585e93451307df88ff2fc2b87 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a93d1e96c88745ca7f2737602e80dc76a inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">SCN_INDICATORRELEASE</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a93d1e96c88745ca7f2737602e80dc76a inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abdae368f2b81955c4927dc6f26fc2c77 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">SCN_MACRORECORD</a> (unsigned int, unsigned long, void *)</td></tr>\n<tr class=\"separator:abdae368f2b81955c4927dc6f26fc2c77 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a722a2f16b67ef5f46def6914a6e178c3 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK</a> (int position, int modifiers, int margin)</td></tr>\n<tr class=\"separator:a722a2f16b67ef5f46def6914a6e178c3 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a39e90958ae903d2f6198ec0c58f56ed9 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">SCN_MARGINRIGHTCLICK</a> (int position, int modifiers, int margin)</td></tr>\n<tr class=\"separator:a39e90958ae903d2f6198ec0c58f56ed9 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a63e6aadaa0f86a927a591604b3d7bdd2 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a63e6aadaa0f86a927a591604b3d7bdd2\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>SCN_MODIFIED</b> (int, int, const char *, int, int, int, int, int, int, int)</td></tr>\n<tr class=\"separator:a63e6aadaa0f86a927a591604b3d7bdd2 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adb5bad7d1dad9ab3fe74adb3e0812969 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">SCN_MODIFYATTEMPTRO</a> ()</td></tr>\n<tr class=\"separator:adb5bad7d1dad9ab3fe74adb3e0812969 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b6b9e6220051496233ae604cb2d1643 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8b6b9e6220051496233ae604cb2d1643\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>SCN_NEEDSHOWN</b> (int, int)</td></tr>\n<tr class=\"separator:a8b6b9e6220051496233ae604cb2d1643 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a94a1cff08b2ef6558d054177fa88ea47 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">SCN_PAINTED</a> ()</td></tr>\n<tr class=\"separator:a94a1cff08b2ef6558d054177fa88ea47 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af3a619a5e59cef000f0b550e809c94de inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">SCN_SAVEPOINTLEFT</a> ()</td></tr>\n<tr class=\"separator:af3a619a5e59cef000f0b550e809c94de inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0db8c3ad0764a96f3ccf0fec71de0d26 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">SCN_SAVEPOINTREACHED</a> ()</td></tr>\n<tr class=\"separator:a0db8c3ad0764a96f3ccf0fec71de0d26 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a72c0bc1c83fd675714626cd786ca4fb9 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">SCN_STYLENEEDED</a> (int position)</td></tr>\n<tr class=\"separator:a72c0bc1c83fd675714626cd786ca4fb9 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42cb45ea05c71180a594e0cc8041c07d inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">SCN_URIDROPPED</a> (const QUrl &amp;url)</td></tr>\n<tr class=\"separator:a42cb45ea05c71180a594e0cc8041c07d inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad88db21d86df33667c234d00af1fdf94 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">SCN_UPDATEUI</a> (int updated)</td></tr>\n<tr class=\"separator:ad88db21d86df33667c234d00af1fdf94 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8225643b25dc6f1dedc48b4a7af4b83d inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">SCN_USERLISTSELECTION</a> (const char *selection, int id, int ch, int method, int position)</td></tr>\n<tr class=\"separator:a8225643b25dc6f1dedc48b4a7af4b83d inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9208cc0aaf2e0a32239924fc6d0b67b7 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9208cc0aaf2e0a32239924fc6d0b67b7\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9208cc0aaf2e0a32239924fc6d0b67b7\">SCN_USERLISTSELECTION</a> (const char *selection, int id, int ch, int method)</td></tr>\n<tr class=\"separator:a9208cc0aaf2e0a32239924fc6d0b67b7 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0045744463119646a5fe33ecc4d104fb inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0045744463119646a5fe33ecc4d104fb\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0045744463119646a5fe33ecc4d104fb\">SCN_USERLISTSELECTION</a> (const char *selection, int id)</td></tr>\n<tr class=\"separator:a0045744463119646a5fe33ecc4d104fb inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa114b43a6593dceeb1b50efccc9533f6 inherit signals_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa114b43a6593dceeb1b50efccc9533f6\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>SCN_ZOOM</b> ()</td></tr>\n<tr class=\"separator:aa114b43a6593dceeb1b50efccc9533f6 inherit signals_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a978b6679ccd9d9edb6091502001a5f45\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a978b6679ccd9d9edb6091502001a5f45\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a978b6679ccd9d9edb6091502001a5f45\">QsciScintilla</a> (QWidget *parent=0)</td></tr>\n<tr class=\"separator:a978b6679ccd9d9edb6091502001a5f45\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abb3418e72ca4479b276276d652048461\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abb3418e72ca4479b276276d652048461\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#abb3418e72ca4479b276276d652048461\">~QsciScintilla</a> ()</td></tr>\n<tr class=\"separator:abb3418e72ca4479b276276d652048461\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab8bfeae44abd61659d207a86660b100c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QStringList&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab8bfeae44abd61659d207a86660b100c\">apiContext</a> (int pos, int &amp;context_start, int &amp;last_word_start)</td></tr>\n<tr class=\"separator:ab8bfeae44abd61659d207a86660b100c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adacd79ec5e25430f0cbff34e6584afe7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#adacd79ec5e25430f0cbff34e6584afe7\">annotate</a> (int line, const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>, int style)</td></tr>\n<tr class=\"separator:adacd79ec5e25430f0cbff34e6584afe7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8ec9b9a33f698fab59f46864ee9a2267\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8ec9b9a33f698fab59f46864ee9a2267\">annotate</a> (int line, const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>, const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;style)</td></tr>\n<tr class=\"separator:a8ec9b9a33f698fab59f46864ee9a2267\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab3721e1af5d7a71efff5a35b63ed1174\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab3721e1af5d7a71efff5a35b63ed1174\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab3721e1af5d7a71efff5a35b63ed1174\">annotate</a> (int line, const <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a> &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:ab3721e1af5d7a71efff5a35b63ed1174\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acc3981a1149b87b38f93195bb0e00f34\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"acc3981a1149b87b38f93195bb0e00f34\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#acc3981a1149b87b38f93195bb0e00f34\">annotate</a> (int line, const QList&lt; <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a> &gt; &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:acc3981a1149b87b38f93195bb0e00f34\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a577313664af6dc63885f03e88d03af\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6a577313664af6dc63885f03e88d03af\"></a>\nQString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6a577313664af6dc63885f03e88d03af\">annotation</a> (int line) const</td></tr>\n<tr class=\"separator:a6a577313664af6dc63885f03e88d03af\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3045ab135148ca52330ad233703a57f1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">AnnotationDisplay</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3045ab135148ca52330ad233703a57f1\">annotationDisplay</a> () const</td></tr>\n<tr class=\"separator:a3045ab135148ca52330ad233703a57f1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3ad17d87cb436e0f6da52a68cd14750e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3ad17d87cb436e0f6da52a68cd14750e\">clearAnnotations</a> (int line=-1)</td></tr>\n<tr class=\"separator:a3ad17d87cb436e0f6da52a68cd14750e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a136a17a59a3800c40619a768ffff8d7a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a136a17a59a3800c40619a768ffff8d7a\">autoCompletionCaseSensitivity</a> () const</td></tr>\n<tr class=\"separator:a136a17a59a3800c40619a768ffff8d7a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a47d0cdb5df5fa6c860b4e840184fe585\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">autoCompletionFillupsEnabled</a> () const</td></tr>\n<tr class=\"separator:a47d0cdb5df5fa6c860b4e840184fe585\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a527b309bfaf28b870c15d87a5af7c005\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a527b309bfaf28b870c15d87a5af7c005\">autoCompletionReplaceWord</a> () const</td></tr>\n<tr class=\"separator:a527b309bfaf28b870c15d87a5af7c005\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff3b4e47fcbadeb0cf2556cf6ad164e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aff3b4e47fcbadeb0cf2556cf6ad164e0\">autoCompletionShowSingle</a> () const</td></tr>\n<tr class=\"separator:aff3b4e47fcbadeb0cf2556cf6ad164e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6c06ccce022c08674e24a96093902b49\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">AutoCompletionSource</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6c06ccce022c08674e24a96093902b49\">autoCompletionSource</a> () const</td></tr>\n<tr class=\"separator:a6c06ccce022c08674e24a96093902b49\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5178b3fd3cb946ffd4b2e52df9bb1483\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5178b3fd3cb946ffd4b2e52df9bb1483\">autoCompletionThreshold</a> () const</td></tr>\n<tr class=\"separator:a5178b3fd3cb946ffd4b2e52df9bb1483\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaeb4a9e6d4e2822524c84da5318a7f1e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">AutoCompletionUseSingle</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">autoCompletionUseSingle</a> () const</td></tr>\n<tr class=\"separator:aaeb4a9e6d4e2822524c84da5318a7f1e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a828f1b56453686ccd423e979e55fbbae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a828f1b56453686ccd423e979e55fbbae\">autoIndent</a> () const</td></tr>\n<tr class=\"separator:a828f1b56453686ccd423e979e55fbbae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9122d4ac5b0b3eca120cf18ae7275bb1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">backspaceUnindents</a> () const</td></tr>\n<tr class=\"separator:a9122d4ac5b0b3eca120cf18ae7275bb1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac0f785ba228153e9df6df76ca036c030\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">beginUndoAction</a> ()</td></tr>\n<tr class=\"separator:ac0f785ba228153e9df6df76ca036c030\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa869897ad955e8a42c5568be590c529b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa869897ad955e8a42c5568be590c529b\">braceMatching</a> () const</td></tr>\n<tr class=\"separator:aa869897ad955e8a42c5568be590c529b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9c1818383be531c3b04cd6848145d63b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QByteArray&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">bytes</a> (int start, int end) const</td></tr>\n<tr class=\"separator:a9c1818383be531c3b04cd6848145d63b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a903187bfe219603ad7e20612d008ea7a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">CallTipsPosition</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a903187bfe219603ad7e20612d008ea7a\">callTipsPosition</a> () const</td></tr>\n<tr class=\"separator:a903187bfe219603ad7e20612d008ea7a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a632fe3f132c3679ada1fc22a57ca88f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">CallTipsStyle</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a632fe3f132c3679ada1fc22a57ca88f7\">callTipsStyle</a> () const</td></tr>\n<tr class=\"separator:a632fe3f132c3679ada1fc22a57ca88f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8fdc8049cd5d876b10c2fd9149e72699\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8fdc8049cd5d876b10c2fd9149e72699\">callTipsVisible</a> () const</td></tr>\n<tr class=\"separator:a8fdc8049cd5d876b10c2fd9149e72699\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a405e4804f84e58476494314e7bf4d0a7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">cancelFind</a> ()</td></tr>\n<tr class=\"separator:a405e4804f84e58476494314e7bf4d0a7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a29e0cbc36bafac84bc1c755b6ee26abd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a29e0cbc36bafac84bc1c755b6ee26abd\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a29e0cbc36bafac84bc1c755b6ee26abd\">cancelList</a> ()</td></tr>\n<tr class=\"separator:a29e0cbc36bafac84bc1c755b6ee26abd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeeccf4091f42418284a79dcf67419a5c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aeeccf4091f42418284a79dcf67419a5c\">caseSensitive</a> () const</td></tr>\n<tr class=\"separator:aeeccf4091f42418284a79dcf67419a5c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4d4634e48eedb5b12bafe8c6fa6c41f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4d4634e48eedb5b12bafe8c6fa6c41f7\">clearFolds</a> ()</td></tr>\n<tr class=\"separator:a4d4634e48eedb5b12bafe8c6fa6c41f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a13721a9f909b67bca298f51ea34a01db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a13721a9f909b67bca298f51ea34a01db\">clearIndicatorRange</a> (int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)</td></tr>\n<tr class=\"separator:a13721a9f909b67bca298f51ea34a01db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3755bcaa3e90c522162a7962de464baf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">clearRegisteredImages</a> ()</td></tr>\n<tr class=\"separator:a3755bcaa3e90c522162a7962de464baf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a92ecc1db1576267f50a03d8ae93303\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8a92ecc1db1576267f50a03d8ae93303\">color</a> () const</td></tr>\n<tr class=\"separator:a8a92ecc1db1576267f50a03d8ae93303\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a63c0f682eecba626fff511c6b1612ab6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QList&lt; int &gt;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a63c0f682eecba626fff511c6b1612ab6\">contractedFolds</a> () const</td></tr>\n<tr class=\"separator:a63c0f682eecba626fff511c6b1612ab6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8f3899166ef067d2780867d154539267\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8f3899166ef067d2780867d154539267\">convertEols</a> (<a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a> mode)</td></tr>\n<tr class=\"separator:a8f3899166ef067d2780867d154539267\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a47d5e09e3507840ae898dfdc15acd858\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QMenu *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a47d5e09e3507840ae898dfdc15acd858\">createStandardContextMenu</a> ()</td></tr>\n<tr class=\"separator:a47d5e09e3507840ae898dfdc15acd858\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab6643f6fe8cec6f3d7e14126fd52340d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">document</a> () const</td></tr>\n<tr class=\"separator:ab6643f6fe8cec6f3d7e14126fd52340d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5d08214cc5bab0a03b383809f5c626f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">endUndoAction</a> ()</td></tr>\n<tr class=\"separator:a5d08214cc5bab0a03b383809f5c626f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aee2887fadd0ddac9cee9dcdaee8d8696\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aee2887fadd0ddac9cee9dcdaee8d8696\">edgeColor</a> () const</td></tr>\n<tr class=\"separator:aee2887fadd0ddac9cee9dcdaee8d8696\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a044b772f07f8d5218170a11db05cc3d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a044b772f07f8d5218170a11db05cc3d5\">edgeColumn</a> () const</td></tr>\n<tr class=\"separator:a044b772f07f8d5218170a11db05cc3d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6fca34c3778ad8b4c067d577816ebc2b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">EdgeMode</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6fca34c3778ad8b4c067d577816ebc2b\">edgeMode</a> () const</td></tr>\n<tr class=\"separator:a6fca34c3778ad8b4c067d577816ebc2b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a26eb997695e6b7292896743ac825a8ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a26eb997695e6b7292896743ac825a8ee\">setFont</a> (const QFont &amp;f)</td></tr>\n<tr class=\"separator:a26eb997695e6b7292896743ac825a8ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac629ee3f5ca0741d4590f6aef59611c8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">eolMode</a> () const</td></tr>\n<tr class=\"separator:ac629ee3f5ca0741d4590f6aef59611c8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5e4372bd9b4249d7e574402935444b84\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5e4372bd9b4249d7e574402935444b84\">eolVisibility</a> () const</td></tr>\n<tr class=\"separator:a5e4372bd9b4249d7e574402935444b84\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a37a46d7dbbb88374f4651feb64f55926\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">extraAscent</a> () const</td></tr>\n<tr class=\"separator:a37a46d7dbbb88374f4651feb64f55926\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa44a01f20a2d88c06c561f0043b4f83b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">extraDescent</a> () const</td></tr>\n<tr class=\"separator:aa44a01f20a2d88c06c561f0043b4f83b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a44d1c322098eb0cf44cf78e866ed80cb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a44d1c322098eb0cf44cf78e866ed80cb\">fillIndicatorRange</a> (int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)</td></tr>\n<tr class=\"separator:a44d1c322098eb0cf44cf78e866ed80cb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a04780d47f799c56b6af0a10b91875045\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst</a> (const QString &amp;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)</td></tr>\n<tr class=\"separator:a04780d47f799c56b6af0a10b91875045\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a437d58cc225880e34560b65f8c0b3b50\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection</a> (const QString &amp;expr, bool re, bool cs, bool wo, bool forward=true, bool show=true, bool posix=false, bool cxx11=false)</td></tr>\n<tr class=\"separator:a437d58cc225880e34560b65f8c0b3b50\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc2560a55f77a14329db8409dba11c54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext</a> ()</td></tr>\n<tr class=\"separator:adc2560a55f77a14329db8409dba11c54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5b4b113d57b73a7b531f137a98ecc1bc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5b4b113d57b73a7b531f137a98ecc1bc\">findMatchingBrace</a> (long &amp;brace, long &amp;other, <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a> mode)</td></tr>\n<tr class=\"separator:a5b4b113d57b73a7b531f137a98ecc1bc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a689eed3f6219e20924bcffdb95f27526\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a689eed3f6219e20924bcffdb95f27526\">firstVisibleLine</a> () const</td></tr>\n<tr class=\"separator:a689eed3f6219e20924bcffdb95f27526\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0e4576d83d7604b24bd13be91011c5f7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">FoldStyle</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0e4576d83d7604b24bd13be91011c5f7\">folding</a> () const</td></tr>\n<tr class=\"separator:a0e4576d83d7604b24bd13be91011c5f7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a830f23268edb039344d30cef52d7c8f3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a830f23268edb039344d30cef52d7c8f3\">getCursorPosition</a> (int *line, int *index) const</td></tr>\n<tr class=\"separator:a830f23268edb039344d30cef52d7c8f3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6423854a3c2f7da07db1e47f2f0c8c71\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6423854a3c2f7da07db1e47f2f0c8c71\">getSelection</a> (int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) const</td></tr>\n<tr class=\"separator:a6423854a3c2f7da07db1e47f2f0c8c71\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6b00de0b5fa769ff6d30036f9d784de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad6b00de0b5fa769ff6d30036f9d784de\">hasSelectedText</a> () const</td></tr>\n<tr class=\"separator:ad6b00de0b5fa769ff6d30036f9d784de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae2e859fdafd8c56106b823d9e1ef99dd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">indentation</a> (int line) const</td></tr>\n<tr class=\"separator:ae2e859fdafd8c56106b823d9e1ef99dd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd6fbd352060d3ee893bacc9bbb28a4e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#acd6fbd352060d3ee893bacc9bbb28a4e\">indentationGuides</a> () const</td></tr>\n<tr class=\"separator:acd6fbd352060d3ee893bacc9bbb28a4e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a67e012ca1e51ed73521c720237b7a507\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a67e012ca1e51ed73521c720237b7a507\">indentationsUseTabs</a> () const</td></tr>\n<tr class=\"separator:a67e012ca1e51ed73521c720237b7a507\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0b1f9dfc8a34bbee0c131eebeace9a06\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0b1f9dfc8a34bbee0c131eebeace9a06\">indentationWidth</a> () const</td></tr>\n<tr class=\"separator:a0b1f9dfc8a34bbee0c131eebeace9a06\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab6856c73ad57ed92d8a9e4882867559e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab6856c73ad57ed92d8a9e4882867559e\">indicatorDefine</a> (<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">IndicatorStyle</a> style, int indicatorNumber=-1)</td></tr>\n<tr class=\"separator:ab6856c73ad57ed92d8a9e4882867559e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e895e320f983296f4a14a131dac4c66\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4e895e320f983296f4a14a131dac4c66\">indicatorDrawUnder</a> (int indicatorNumber) const</td></tr>\n<tr class=\"separator:a4e895e320f983296f4a14a131dac4c66\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a67c004c60c462dc9d3840a6e2405d3f8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a67c004c60c462dc9d3840a6e2405d3f8\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a67c004c60c462dc9d3840a6e2405d3f8\">isCallTipActive</a> () const</td></tr>\n<tr class=\"separator:a67c004c60c462dc9d3840a6e2405d3f8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3b281217e1abc5b4b4ccf8145df4b2ca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3b281217e1abc5b4b4ccf8145df4b2ca\">isListActive</a> () const</td></tr>\n<tr class=\"separator:a3b281217e1abc5b4b4ccf8145df4b2ca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a43b84483d91245a1fda14b758cd8b052\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">isModified</a> () const</td></tr>\n<tr class=\"separator:a43b84483d91245a1fda14b758cd8b052\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8403fbfd3afcaed7076359bb899d5136\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">isReadOnly</a> () const</td></tr>\n<tr class=\"separator:a8403fbfd3afcaed7076359bb899d5136\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8386414f7c04968c1642ecdd47b281df\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8386414f7c04968c1642ecdd47b281df\">isRedoAvailable</a> () const</td></tr>\n<tr class=\"separator:a8386414f7c04968c1642ecdd47b281df\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a87366cd0dc2931f62e9e4d6bcd870fdf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a87366cd0dc2931f62e9e4d6bcd870fdf\">isUndoAvailable</a> () const</td></tr>\n<tr class=\"separator:a87366cd0dc2931f62e9e4d6bcd870fdf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afec7e71628d4af7a6573d1c74504ee20\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#afec7e71628d4af7a6573d1c74504ee20\">isUtf8</a> () const</td></tr>\n<tr class=\"separator:afec7e71628d4af7a6573d1c74504ee20\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e27f94e78e5f184f37382950963d831\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4e27f94e78e5f184f37382950963d831\">isWordCharacter</a> (char ch) const</td></tr>\n<tr class=\"separator:a4e27f94e78e5f184f37382950963d831\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8a8a5b9bcb9df18089b9fe2650e701db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8a8a5b9bcb9df18089b9fe2650e701db\">lineAt</a> (const QPoint &amp;point) const</td></tr>\n<tr class=\"separator:a8a8a5b9bcb9df18089b9fe2650e701db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad309f6cb931b47d67e67a59b3a66ea84\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad309f6cb931b47d67e67a59b3a66ea84\">lineIndexFromPosition</a> (int position, int *line, int *index) const</td></tr>\n<tr class=\"separator:ad309f6cb931b47d67e67a59b3a66ea84\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5ecfa6bee9e78e5306986367e1194af\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab5ecfa6bee9e78e5306986367e1194af\">lineLength</a> (int line) const</td></tr>\n<tr class=\"separator:ab5ecfa6bee9e78e5306986367e1194af\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a85f97649b701717e65b2390d57f5ad03\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a85f97649b701717e65b2390d57f5ad03\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a85f97649b701717e65b2390d57f5ad03\">lines</a> () const</td></tr>\n<tr class=\"separator:a85f97649b701717e65b2390d57f5ad03\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aedf7c8532be11bcfb8d38411bea88792\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">length</a> () const</td></tr>\n<tr class=\"separator:aedf7c8532be11bcfb8d38411bea88792\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aff5e2abd10fd64752adc1a89fc626e1e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">lexer</a> () const</td></tr>\n<tr class=\"separator:aff5e2abd10fd64752adc1a89fc626e1e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a07c7b6c9889e61f7c7971bf126bff4f2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a07c7b6c9889e61f7c7971bf126bff4f2\">marginBackgroundColor</a> (int margin) const</td></tr>\n<tr class=\"separator:a07c7b6c9889e61f7c7971bf126bff4f2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4bffe1a63e3484da908340274f7a7607\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4bffe1a63e3484da908340274f7a7607\">marginLineNumbers</a> (int margin) const</td></tr>\n<tr class=\"separator:a4bffe1a63e3484da908340274f7a7607\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab29919614210e2bb21525b1d7fec44b1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab29919614210e2bb21525b1d7fec44b1\">marginMarkerMask</a> (int margin) const</td></tr>\n<tr class=\"separator:ab29919614210e2bb21525b1d7fec44b1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a07cb228e7f39e5a97271126df9ba9ef2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a07cb228e7f39e5a97271126df9ba9ef2\">marginOptions</a> () const</td></tr>\n<tr class=\"separator:a07cb228e7f39e5a97271126df9ba9ef2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac141edcf0d537b247d8a1e79194db60b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">marginSensitivity</a> (int margin) const</td></tr>\n<tr class=\"separator:ac141edcf0d537b247d8a1e79194db60b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa428fb0b96d28bba4a1d0515ea27643d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">MarginType</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">marginType</a> (int margin) const</td></tr>\n<tr class=\"separator:aa428fb0b96d28bba4a1d0515ea27643d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a21af5f49389a552a5beb05764714882a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">marginWidth</a> (int margin) const</td></tr>\n<tr class=\"separator:a21af5f49389a552a5beb05764714882a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a10adbea430478c16813df76dd2ecd10f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">margins</a> () const</td></tr>\n<tr class=\"separator:a10adbea430478c16813df76dd2ecd10f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a794059a7bf67982063ae349847599376\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a794059a7bf67982063ae349847599376\">markerDefine</a> (<a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">MarkerSymbol</a> sym, int markerNumber=-1)</td></tr>\n<tr class=\"separator:a794059a7bf67982063ae349847599376\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a97fd48c290c961342f09149d8996c053\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a97fd48c290c961342f09149d8996c053\">markerDefine</a> (char ch, int markerNumber=-1)</td></tr>\n<tr class=\"separator:a97fd48c290c961342f09149d8996c053\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acf0c4eb451d93a21887462bc7746f2e4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#acf0c4eb451d93a21887462bc7746f2e4\">markerDefine</a> (const QPixmap &amp;pm, int markerNumber=-1)</td></tr>\n<tr class=\"separator:acf0c4eb451d93a21887462bc7746f2e4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae21678ec76acecd0bdd960fbd6a81843\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae21678ec76acecd0bdd960fbd6a81843\">markerDefine</a> (const QImage &amp;im, int markerNumber=-1)</td></tr>\n<tr class=\"separator:ae21678ec76acecd0bdd960fbd6a81843\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a12673046e00bd7fdd7616a5e8c62a924\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">markerAdd</a> (int linenr, int markerNumber)</td></tr>\n<tr class=\"separator:a12673046e00bd7fdd7616a5e8c62a924\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3eace684c0a33e044cceb300b1a97798\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">unsigned&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3eace684c0a33e044cceb300b1a97798\">markersAtLine</a> (int linenr) const</td></tr>\n<tr class=\"separator:a3eace684c0a33e044cceb300b1a97798\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0da7428fe1c237620cddbf30d06329da\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">markerDelete</a> (int linenr, int markerNumber=-1)</td></tr>\n<tr class=\"separator:a0da7428fe1c237620cddbf30d06329da\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a52aaeee4b9171222c20af3557adaf0ad\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">markerDeleteAll</a> (int markerNumber=-1)</td></tr>\n<tr class=\"separator:a52aaeee4b9171222c20af3557adaf0ad\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa226d94a0f7ed194012ca972d0f49ce8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">markerDeleteHandle</a> (int mhandle)</td></tr>\n<tr class=\"separator:aa226d94a0f7ed194012ca972d0f49ce8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa9612621315a0b3fcecdb8d0f2a2abb2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa9612621315a0b3fcecdb8d0f2a2abb2\">markerLine</a> (int mhandle) const</td></tr>\n<tr class=\"separator:aa9612621315a0b3fcecdb8d0f2a2abb2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af8cedca829a47783199ab0e1dfc160d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af8cedca829a47783199ab0e1dfc160d5\">markerFindNext</a> (int linenr, unsigned mask) const</td></tr>\n<tr class=\"separator:af8cedca829a47783199ab0e1dfc160d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e6ff4072224ba360403fe1ade1375ba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8e6ff4072224ba360403fe1ade1375ba\">markerFindPrevious</a> (int linenr, unsigned mask) const</td></tr>\n<tr class=\"separator:a8e6ff4072224ba360403fe1ade1375ba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac419a79eed86a754cfb556b3961e990d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac419a79eed86a754cfb556b3961e990d\">overwriteMode</a> () const</td></tr>\n<tr class=\"separator:ac419a79eed86a754cfb556b3961e990d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4fe2c0ce4d6fd17617c266983537f5b6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4fe2c0ce4d6fd17617c266983537f5b6\">paper</a> () const</td></tr>\n<tr class=\"separator:a4fe2c0ce4d6fd17617c266983537f5b6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a37646aa8dff617d11505617002439216\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a37646aa8dff617d11505617002439216\">positionFromLineIndex</a> (int line, int index) const</td></tr>\n<tr class=\"separator:a37646aa8dff617d11505617002439216\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a89e46329c110449b2e7334ccf623ceed\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a89e46329c110449b2e7334ccf623ceed\">read</a> (QIODevice *io)</td></tr>\n<tr class=\"separator:a89e46329c110449b2e7334ccf623ceed\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a07fe5007913f0001a473d92f4c3fdbe6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a07fe5007913f0001a473d92f4c3fdbe6\">recolor</a> (int start=0, int end=-1)</td></tr>\n<tr class=\"separator:a07fe5007913f0001a473d92f4c3fdbe6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a38bf5a8680df52675e5299fccbbc7181\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a38bf5a8680df52675e5299fccbbc7181\">registerImage</a> (int id, const QPixmap &amp;pm)</td></tr>\n<tr class=\"separator:a38bf5a8680df52675e5299fccbbc7181\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1d35bee9f234dbde7066a68b924edeed\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a1d35bee9f234dbde7066a68b924edeed\">registerImage</a> (int id, const QImage &amp;im)</td></tr>\n<tr class=\"separator:a1d35bee9f234dbde7066a68b924edeed\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad8a7afc4f25e04e805b7e291d5df1d35\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace</a> (const QString &amp;replaceStr)</td></tr>\n<tr class=\"separator:ad8a7afc4f25e04e805b7e291d5df1d35\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae1d3703631c9113a4309da17332ca180\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae1d3703631c9113a4309da17332ca180\">resetFoldMarginColors</a> ()</td></tr>\n<tr class=\"separator:ae1d3703631c9113a4309da17332ca180\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a366393c6bf0fd7ef5ce87b7682e6c6ae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">resetHotspotBackgroundColor</a> ()</td></tr>\n<tr class=\"separator:a366393c6bf0fd7ef5ce87b7682e6c6ae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fd2a1bbc409d1bbca44efc7976b808c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">resetHotspotForegroundColor</a> ()</td></tr>\n<tr class=\"separator:a3fd2a1bbc409d1bbca44efc7976b808c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad5fa8715b931fc0143aa72a20420578d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">scrollWidth</a> () const</td></tr>\n<tr class=\"separator:ad5fa8715b931fc0143aa72a20420578d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf895c5e4157e4b6effd28683c728b63\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#abf895c5e4157e4b6effd28683c728b63\">scrollWidthTracking</a> () const</td></tr>\n<tr class=\"separator:abf895c5e4157e4b6effd28683c728b63\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6bdcf192822a31094e680ffb2f142aab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6bdcf192822a31094e680ffb2f142aab\">setFoldMarginColors</a> (const QColor &amp;fore, const QColor &amp;back)</td></tr>\n<tr class=\"separator:a6bdcf192822a31094e680ffb2f142aab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeda9c17a6e746e177fa6f5311d96dc03\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aeda9c17a6e746e177fa6f5311d96dc03\">setAnnotationDisplay</a> (<a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">AnnotationDisplay</a> display)</td></tr>\n<tr class=\"separator:aeda9c17a6e746e177fa6f5311d96dc03\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0d273a0573088d9fb6d66d7b2633ea4b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">setAutoCompletionFillupsEnabled</a> (bool enabled)</td></tr>\n<tr class=\"separator:a0d273a0573088d9fb6d66d7b2633ea4b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9851c2349b4140faa129b7125bee416d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">setAutoCompletionFillups</a> (const char *fillups)</td></tr>\n<tr class=\"separator:a9851c2349b4140faa129b7125bee416d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4ba18e98a98310113fb30d8ada30fe14\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4ba18e98a98310113fb30d8ada30fe14\">setAutoCompletionWordSeparators</a> (const QStringList &amp;separators)</td></tr>\n<tr class=\"separator:a4ba18e98a98310113fb30d8ada30fe14\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af780380f9f1f2a66c729759b1d37ba69\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af780380f9f1f2a66c729759b1d37ba69\">setCallTipsBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:af780380f9f1f2a66c729759b1d37ba69\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a13a64159770a6eb451567bc2d293c2a2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a13a64159770a6eb451567bc2d293c2a2\">setCallTipsForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a13a64159770a6eb451567bc2d293c2a2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae64151db464b22eedd012225f82c810d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae64151db464b22eedd012225f82c810d\">setCallTipsHighlightColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:ae64151db464b22eedd012225f82c810d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7f9d93c22ed8b7b00996408da578cd2a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7f9d93c22ed8b7b00996408da578cd2a\">setCallTipsPosition</a> (<a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">CallTipsPosition</a> position)</td></tr>\n<tr class=\"separator:a7f9d93c22ed8b7b00996408da578cd2a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a253807bb0f4b3db471b059afc70b77db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a253807bb0f4b3db471b059afc70b77db\">setCallTipsStyle</a> (<a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">CallTipsStyle</a> style)</td></tr>\n<tr class=\"separator:a253807bb0f4b3db471b059afc70b77db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aec47d94706ffb14ef35035ba827b5b45\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aec47d94706ffb14ef35035ba827b5b45\">setCallTipsVisible</a> (int nr)</td></tr>\n<tr class=\"separator:aec47d94706ffb14ef35035ba827b5b45\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9405d8aaa240dfc8fe30c3a4b5556ecc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9405d8aaa240dfc8fe30c3a4b5556ecc\">setContractedFolds</a> (const QList&lt; int &gt; &amp;folds)</td></tr>\n<tr class=\"separator:a9405d8aaa240dfc8fe30c3a4b5556ecc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3a0d1c86f15f218fe6c0e04fea0ba6d9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">setDocument</a> (const <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a> &amp;<a class=\"el\" href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">document</a>)</td></tr>\n<tr class=\"separator:a3a0d1c86f15f218fe6c0e04fea0ba6d9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac46502c93651ec7a6642afe5dca86ffc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">addEdgeColumn</a> (int colnr, const QColor &amp;col)</td></tr>\n<tr class=\"separator:ac46502c93651ec7a6642afe5dca86ffc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">clearEdgeColumns</a> ()</td></tr>\n<tr class=\"separator:ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aec296526c86ae02deb561b4b4836a886\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">setEdgeColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:aec296526c86ae02deb561b4b4836a886\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8e88f3f4369b73980bb40d5d3a8caf26\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn</a> (int colnr)</td></tr>\n<tr class=\"separator:a8e88f3f4369b73980bb40d5d3a8caf26\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3493e72e97607270ca64c01b521f933f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3493e72e97607270ca64c01b521f933f\">setEdgeMode</a> (<a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">EdgeMode</a> mode)</td></tr>\n<tr class=\"separator:a3493e72e97607270ca64c01b521f933f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a451bcf235c2ad7628d32940a13d22116\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a451bcf235c2ad7628d32940a13d22116\">setFirstVisibleLine</a> (int linenr)</td></tr>\n<tr class=\"separator:a451bcf235c2ad7628d32940a13d22116\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5ba2e241be76c209c0f5509804a995c9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a5ba2e241be76c209c0f5509804a995c9\">setIndicatorDrawUnder</a> (bool under, int indicatorNumber=-1)</td></tr>\n<tr class=\"separator:a5ba2e241be76c209c0f5509804a995c9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ffd6d691d5a63940e448138f3754a47\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a2ffd6d691d5a63940e448138f3754a47\">setIndicatorForegroundColor</a> (const QColor &amp;col, int indicatorNumber=-1)</td></tr>\n<tr class=\"separator:a2ffd6d691d5a63940e448138f3754a47\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a616edbb9da241c08f8381835d65bb18c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a616edbb9da241c08f8381835d65bb18c\">setIndicatorHoverForegroundColor</a> (const QColor &amp;col, int indicatorNumber=-1)</td></tr>\n<tr class=\"separator:a616edbb9da241c08f8381835d65bb18c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae76354288b8e5c2bc6f7a7e7bd97e44e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae76354288b8e5c2bc6f7a7e7bd97e44e\">setIndicatorHoverStyle</a> (<a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">IndicatorStyle</a> style, int indicatorNumber=-1)</td></tr>\n<tr class=\"separator:ae76354288b8e5c2bc6f7a7e7bd97e44e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af63627804eeffc4f0f1290181cda7781\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af63627804eeffc4f0f1290181cda7781\">setIndicatorOutlineColor</a> (const QColor &amp;col, int indicatorNumber=-1)</td></tr>\n<tr class=\"separator:af63627804eeffc4f0f1290181cda7781\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a18c2bd1ee70c87809ba307ae6b695272\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">setMarginBackgroundColor</a> (int margin, const QColor &amp;col)</td></tr>\n<tr class=\"separator:a18c2bd1ee70c87809ba307ae6b695272\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a626103a61623dd360dc44210fe435ad7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a626103a61623dd360dc44210fe435ad7\">setMarginOptions</a> (int options)</td></tr>\n<tr class=\"separator:a626103a61623dd360dc44210fe435ad7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7677d42ce77cb5a150dc961d12da92e1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7677d42ce77cb5a150dc961d12da92e1\">setMarginText</a> (int line, const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>, int style)</td></tr>\n<tr class=\"separator:a7677d42ce77cb5a150dc961d12da92e1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad1b6838e763eb9d7c0b3562b6c2a96ae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad1b6838e763eb9d7c0b3562b6c2a96ae\">setMarginText</a> (int line, const QString &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>, const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;style)</td></tr>\n<tr class=\"separator:ad1b6838e763eb9d7c0b3562b6c2a96ae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad85546712df2387738e63be38dc41d61\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad85546712df2387738e63be38dc41d61\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad85546712df2387738e63be38dc41d61\">setMarginText</a> (int line, const <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a> &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:ad85546712df2387738e63be38dc41d61\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2b148c2c2065f1ef1563421303a02225\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a2b148c2c2065f1ef1563421303a02225\">setMarginText</a> (int line, const QList&lt; <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a> &gt; &amp;<a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a>)</td></tr>\n<tr class=\"separator:a2b148c2c2065f1ef1563421303a02225\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4dd046074be580fbde318ba2ae343d39\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">setMarginType</a> (int margin, <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">MarginType</a> type)</td></tr>\n<tr class=\"separator:a4dd046074be580fbde318ba2ae343d39\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeadb693affb5816e24d28432d8dc240f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aeadb693affb5816e24d28432d8dc240f\">clearMarginText</a> (int line=-1)</td></tr>\n<tr class=\"separator:aeadb693affb5816e24d28432d8dc240f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9c3a34cb9edf25913af16c9dc284cc5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9c3a34cb9edf25913af16c9dc284cc5d\">setMargins</a> (int <a class=\"el\" href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">margins</a>)</td></tr>\n<tr class=\"separator:a9c3a34cb9edf25913af16c9dc284cc5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acf47d4b76a8c85a48fe9a27423997071\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#acf47d4b76a8c85a48fe9a27423997071\">setMarkerBackgroundColor</a> (const QColor &amp;col, int markerNumber=-1)</td></tr>\n<tr class=\"separator:acf47d4b76a8c85a48fe9a27423997071\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6abf177ca5bf8eea0930106d2867edae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a6abf177ca5bf8eea0930106d2867edae\">setMarkerForegroundColor</a> (const QColor &amp;col, int markerNumber=-1)</td></tr>\n<tr class=\"separator:a6abf177ca5bf8eea0930106d2867edae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abf85680f914ee631aa3a513ba823271f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">setMatchedBraceBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:abf85680f914ee631aa3a513ba823271f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af590f3e7196b21860e0405670cfa512d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af590f3e7196b21860e0405670cfa512d\">setMatchedBraceForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:af590f3e7196b21860e0405670cfa512d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a067cd392c008e07ff259ffdd0ce25fcb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">setMatchedBraceIndicator</a> (int indicatorNumber)</td></tr>\n<tr class=\"separator:a067cd392c008e07ff259ffdd0ce25fcb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae308bac1c3567d835742e02f1bc35a6c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ae308bac1c3567d835742e02f1bc35a6c\">resetMatchedBraceIndicator</a> ()</td></tr>\n<tr class=\"separator:ae308bac1c3567d835742e02f1bc35a6c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9b1a8ed3235c506ffca09260cdd0e209\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">setScrollWidth</a> (int pixelWidth)</td></tr>\n<tr class=\"separator:a9b1a8ed3235c506ffca09260cdd0e209\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7451e82e2ee3d0ddb3b8418edb0202f2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">setScrollWidthTracking</a> (bool enabled)</td></tr>\n<tr class=\"separator:a7451e82e2ee3d0ddb3b8418edb0202f2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a69f35ec6e80059bbb351c8f8845cd8f6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a69f35ec6e80059bbb351c8f8845cd8f6\">setTabDrawMode</a> (<a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">TabDrawMode</a> mode)</td></tr>\n<tr class=\"separator:a69f35ec6e80059bbb351c8f8845cd8f6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3035ddd4e1360c2d9a6c86b362a0d905\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">setUnmatchedBraceBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a3035ddd4e1360c2d9a6c86b362a0d905\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a511a4f492a9912df3d430fba33b67d5c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a511a4f492a9912df3d430fba33b67d5c\">setUnmatchedBraceForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a511a4f492a9912df3d430fba33b67d5c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4b6bdaf96ffaedeeaf7aa6d92b28913f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">setUnmatchedBraceIndicator</a> (int indicatorNumber)</td></tr>\n<tr class=\"separator:a4b6bdaf96ffaedeeaf7aa6d92b28913f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a48c91d4dd29c84bff4ee20962372ca23\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a48c91d4dd29c84bff4ee20962372ca23\">resetUnmatchedBraceIndicator</a> ()</td></tr>\n<tr class=\"separator:a48c91d4dd29c84bff4ee20962372ca23\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab696e4703374af4c01651453d094ac08\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab696e4703374af4c01651453d094ac08\">setWrapVisualFlags</a> (<a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">WrapVisualFlag</a> endFlag, <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">WrapVisualFlag</a> startFlag=<a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">WrapFlagNone</a>, int <a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">indent</a>=0)</td></tr>\n<tr class=\"separator:ab696e4703374af4c01651453d094ac08\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a10c8d8f5e97fb5ef86ea351407fe1023\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a10c8d8f5e97fb5ef86ea351407fe1023\">selectedText</a> () const</td></tr>\n<tr class=\"separator:a10c8d8f5e97fb5ef86ea351407fe1023\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf77d8976ae47a1d5e5ee804bc0645d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aaf77d8976ae47a1d5e5ee804bc0645d3\">selectionToEol</a> () const</td></tr>\n<tr class=\"separator:aaf77d8976ae47a1d5e5ee804bc0645d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf19a3abaa1b1662a0f1b499ef4b6602\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">setHotspotBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:aaf19a3abaa1b1662a0f1b499ef4b6602\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4c6a412b7d066b9fce90f3976350348c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">setHotspotForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a4c6a412b7d066b9fce90f3976350348c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac961cfe1be7cd29038a2772f30b71bfc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac961cfe1be7cd29038a2772f30b71bfc\">setHotspotUnderline</a> (bool enable)</td></tr>\n<tr class=\"separator:ac961cfe1be7cd29038a2772f30b71bfc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7245335691700f82db41016d257d63cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7245335691700f82db41016d257d63cc\">setHotspotWrap</a> (bool enable)</td></tr>\n<tr class=\"separator:a7245335691700f82db41016d257d63cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e36f3595e0d89910b9322dc5295152d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7e36f3595e0d89910b9322dc5295152d\">setSelectionToEol</a> (bool filled)</td></tr>\n<tr class=\"separator:a7e36f3595e0d89910b9322dc5295152d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a87e61d47e344dbbb84c4608fdc8536d0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">setExtraAscent</a> (int extra)</td></tr>\n<tr class=\"separator:a87e61d47e344dbbb84c4608fdc8536d0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a06458817a42498ee65e890c36f63453e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">setExtraDescent</a> (int extra)</td></tr>\n<tr class=\"separator:a06458817a42498ee65e890c36f63453e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa627ee937acaae02dc0c5b468fd2643b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#aa627ee937acaae02dc0c5b468fd2643b\">setOverwriteMode</a> (bool overwrite)</td></tr>\n<tr class=\"separator:aa627ee937acaae02dc0c5b468fd2643b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9fdd43a276cf3d9a3e7cc86dc7f280f5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9fdd43a276cf3d9a3e7cc86dc7f280f5\">setWhitespaceBackgroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a9fdd43a276cf3d9a3e7cc86dc7f280f5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a67177e2b1d8584d8cf8f1b276174b258\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a67177e2b1d8584d8cf8f1b276174b258\">setWhitespaceForegroundColor</a> (const QColor &amp;col)</td></tr>\n<tr class=\"separator:a67177e2b1d8584d8cf8f1b276174b258\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7436ea4b640c312fd07945e9b436e19b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7436ea4b640c312fd07945e9b436e19b\">setWhitespaceSize</a> (int size)</td></tr>\n<tr class=\"separator:a7436ea4b640c312fd07945e9b436e19b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad8424876c29b1a77fd1df45a534722d1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad8424876c29b1a77fd1df45a534722d1\">setWrapIndentMode</a> (<a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">WrapIndentMode</a> mode)</td></tr>\n<tr class=\"separator:ad8424876c29b1a77fd1df45a534722d1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42ae037173aab16ce5e14788e6331623\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a42ae037173aab16ce5e14788e6331623\">showUserList</a> (int id, const QStringList &amp;list)</td></tr>\n<tr class=\"separator:a42ae037173aab16ce5e14788e6331623\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8911af504ebdc870f09da4c7a491eeeb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8911af504ebdc870f09da4c7a491eeeb\"></a>\n<a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8911af504ebdc870f09da4c7a491eeeb\">standardCommands</a> () const</td></tr>\n<tr class=\"separator:a8911af504ebdc870f09da4c7a491eeeb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab000e5f46abc6568405585b711067d1e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">TabDrawMode</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ab000e5f46abc6568405585b711067d1e\">tabDrawMode</a> () const</td></tr>\n<tr class=\"separator:ab000e5f46abc6568405585b711067d1e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a85bb9cb78ce6a57cf053dc83333759\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">tabIndents</a> () const</td></tr>\n<tr class=\"separator:a2a85bb9cb78ce6a57cf053dc83333759\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4bca4c8ca2d5a426aabac915f8d5f0f3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth</a> () const</td></tr>\n<tr class=\"separator:a4bca4c8ca2d5a426aabac915f8d5f0f3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af76ffea29540b830aebdf62a00a5e90d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text</a> () const</td></tr>\n<tr class=\"separator:af76ffea29540b830aebdf62a00a5e90d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7d5c7190fb8b022e05e20ca011a0c65e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a7d5c7190fb8b022e05e20ca011a0c65e\">text</a> (int line) const</td></tr>\n<tr class=\"separator:a7d5c7190fb8b022e05e20ca011a0c65e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a794e5cccbc1aa419bad4c7cfe65f8f02\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a794e5cccbc1aa419bad4c7cfe65f8f02\">text</a> (int start, int end) const</td></tr>\n<tr class=\"separator:a794e5cccbc1aa419bad4c7cfe65f8f02\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af1651b676dd24c8768a90b829400a6cf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af1651b676dd24c8768a90b829400a6cf\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#af1651b676dd24c8768a90b829400a6cf\">textHeight</a> (int linenr) const</td></tr>\n<tr class=\"separator:af1651b676dd24c8768a90b829400a6cf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0b527097e38858853ea2ac5861278233\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a0b527097e38858853ea2ac5861278233\">whitespaceSize</a> () const</td></tr>\n<tr class=\"separator:a0b527097e38858853ea2ac5861278233\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a778c09295bdb4924aacf40d3134c50ba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">WhitespaceVisibility</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a778c09295bdb4924aacf40d3134c50ba\">whitespaceVisibility</a> () const</td></tr>\n<tr class=\"separator:a778c09295bdb4924aacf40d3134c50ba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a70c1bd30a1d26b2e059236a4b2835c44\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a70c1bd30a1d26b2e059236a4b2835c44\">wordAtLineIndex</a> (int line, int index) const</td></tr>\n<tr class=\"separator:a70c1bd30a1d26b2e059236a4b2835c44\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abeaabcd8076d1f47e8a847006451ce36\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abeaabcd8076d1f47e8a847006451ce36\"></a>\nQString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#abeaabcd8076d1f47e8a847006451ce36\">wordAtPoint</a> (const QPoint &amp;point) const</td></tr>\n<tr class=\"separator:abeaabcd8076d1f47e8a847006451ce36\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1052b3e64558fe29271c0829e6d0fdda\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a1052b3e64558fe29271c0829e6d0fdda\">wordCharacters</a> () const</td></tr>\n<tr class=\"separator:a1052b3e64558fe29271c0829e6d0fdda\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4bf424d21079ab835dae90ce042400a0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">WrapMode</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a4bf424d21079ab835dae90ce042400a0\">wrapMode</a> () const</td></tr>\n<tr class=\"separator:a4bf424d21079ab835dae90ce042400a0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b593f92c03b3d6f999cd9d769c5028b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">WrapIndentMode</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a8b593f92c03b3d6f999cd9d769c5028b\">wrapIndentMode</a> () const</td></tr>\n<tr class=\"separator:a8b593f92c03b3d6f999cd9d769c5028b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a94b8329c4259ea90a6a28b1e745837de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a94b8329c4259ea90a6a28b1e745837de\">write</a> (QIODevice *io) const</td></tr>\n<tr class=\"separator:a94b8329c4259ea90a6a28b1e745837de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pub_methods_classQsciScintillaBase\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_methods_classQsciScintillaBase')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Public Member Functions inherited from <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td></tr>\n<tr class=\"memitem:a425344ca700d69b60ffeb3f8122f7ff9 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a425344ca700d69b60ffeb3f8122f7ff9\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase</a> (QWidget *parent=0)</td></tr>\n<tr class=\"separator:a425344ca700d69b60ffeb3f8122f7ff9 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a965242ee4392b838cc182c823de54ff6 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a965242ee4392b838cc182c823de54ff6\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">~QsciScintillaBase</a> ()</td></tr>\n<tr class=\"separator:a965242ee4392b838cc182c823de54ff6 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1efa4394b588d27fd2a3bd40163a2342 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">replaceHorizontalScrollBar</a> (QScrollBar *scrollBar)</td></tr>\n<tr class=\"separator:a1efa4394b588d27fd2a3bd40163a2342 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a900e3a0287e262fe65c51162e562fc5d inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">replaceVerticalScrollBar</a> (QScrollBar *scrollBar)</td></tr>\n<tr class=\"separator:a900e3a0287e262fe65c51162e562fc5d inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8820ab8d7563bd7ed24ce6384846079e inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">long&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">SendScintilla</a> (unsigned int msg, unsigned long wParam=0, long lParam=0) const</td></tr>\n<tr class=\"separator:a8820ab8d7563bd7ed24ce6384846079e inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf01efe3951a727dab9c7a1c35d29e0f inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adf01efe3951a727dab9c7a1c35d29e0f\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adf01efe3951a727dab9c7a1c35d29e0f\">SendScintilla</a> (unsigned int msg, unsigned long wParam, void *lParam) const</td></tr>\n<tr class=\"separator:adf01efe3951a727dab9c7a1c35d29e0f inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab2b37b2f67991e9c083d9412cba2264 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab2b37b2f67991e9c083d9412cba2264\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab2b37b2f67991e9c083d9412cba2264\">SendScintilla</a> (unsigned int msg, uintptr_t wParam, const char *lParam) const</td></tr>\n<tr class=\"separator:aab2b37b2f67991e9c083d9412cba2264 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adb45fb04c1ad8c6459fea750d8788584 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adb45fb04c1ad8c6459fea750d8788584\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb45fb04c1ad8c6459fea750d8788584\">SendScintilla</a> (unsigned int msg, const char *lParam) const</td></tr>\n<tr class=\"separator:adb45fb04c1ad8c6459fea750d8788584 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9fa4dc539be7b199e91d6ff0f83e5f8d inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9fa4dc539be7b199e91d6ff0f83e5f8d\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9fa4dc539be7b199e91d6ff0f83e5f8d\">SendScintilla</a> (unsigned int msg, const char *wParam, const char *lParam) const</td></tr>\n<tr class=\"separator:a9fa4dc539be7b199e91d6ff0f83e5f8d inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a94a66b0c8459f5a407eef6783cd6d80b inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a94a66b0c8459f5a407eef6783cd6d80b\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a66b0c8459f5a407eef6783cd6d80b\">SendScintilla</a> (unsigned int msg, long wParam) const</td></tr>\n<tr class=\"separator:a94a66b0c8459f5a407eef6783cd6d80b inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add035b6176dbe36b3c975f05573c0e61 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"add035b6176dbe36b3c975f05573c0e61\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#add035b6176dbe36b3c975f05573c0e61\">SendScintilla</a> (unsigned int msg, int wParam) const</td></tr>\n<tr class=\"separator:add035b6176dbe36b3c975f05573c0e61 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6c892370b4ee3afd2eef080ee8c25fde inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6c892370b4ee3afd2eef080ee8c25fde\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6c892370b4ee3afd2eef080ee8c25fde\">SendScintilla</a> (unsigned int msg, long cpMin, long cpMax, char *lpstrText) const</td></tr>\n<tr class=\"separator:a6c892370b4ee3afd2eef080ee8c25fde inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1d84e61ba19c5177386ba30ba512345f inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1d84e61ba19c5177386ba30ba512345f\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1d84e61ba19c5177386ba30ba512345f\">SendScintilla</a> (unsigned int msg, unsigned long wParam, const QColor &amp;col) const</td></tr>\n<tr class=\"separator:a1d84e61ba19c5177386ba30ba512345f inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af935c2c5d8eeb3aeb25ba9b48539f879 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af935c2c5d8eeb3aeb25ba9b48539f879\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af935c2c5d8eeb3aeb25ba9b48539f879\">SendScintilla</a> (unsigned int msg, const QColor &amp;col) const</td></tr>\n<tr class=\"separator:af935c2c5d8eeb3aeb25ba9b48539f879 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aacfd4923492644933902b278efea1787 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aacfd4923492644933902b278efea1787\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aacfd4923492644933902b278efea1787\">SendScintilla</a> (unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &amp;rc, long cpMin, long cpMax) const</td></tr>\n<tr class=\"separator:aacfd4923492644933902b278efea1787 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cef89549882e03a6290af8cbbf1a3ce inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2cef89549882e03a6290af8cbbf1a3ce\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2cef89549882e03a6290af8cbbf1a3ce\">SendScintilla</a> (unsigned int msg, unsigned long wParam, const QPixmap &amp;lParam) const</td></tr>\n<tr class=\"separator:a2cef89549882e03a6290af8cbbf1a3ce inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56542fe5a9e5790eab29936b73ef0fa3 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a56542fe5a9e5790eab29936b73ef0fa3\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a56542fe5a9e5790eab29936b73ef0fa3\">SendScintilla</a> (unsigned int msg, unsigned long wParam, const QImage &amp;lParam) const</td></tr>\n<tr class=\"separator:a56542fe5a9e5790eab29936b73ef0fa3 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5f140c587d361cf8539814d820d680f4 inherit pub_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5f140c587d361cf8539814d820d680f4\"></a>\nvoid *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">SendScintillaPtrResult</a> (unsigned int msg) const</td></tr>\n<tr class=\"separator:a5f140c587d361cf8539814d820d680f4 inherit pub_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:a84ab3eb3c8e81cc58bbf2d3f472e757c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a84ab3eb3c8e81cc58bbf2d3f472e757c\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a84ab3eb3c8e81cc58bbf2d3f472e757c\">event</a> (QEvent *e)</td></tr>\n<tr class=\"separator:a84ab3eb3c8e81cc58bbf2d3f472e757c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac05da1bc5b91c682f192ff594552a306\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac05da1bc5b91c682f192ff594552a306\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ac05da1bc5b91c682f192ff594552a306\">changeEvent</a> (QEvent *e)</td></tr>\n<tr class=\"separator:ac05da1bc5b91c682f192ff594552a306\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad8fcb6e32235be34335e443230fb9000\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad8fcb6e32235be34335e443230fb9000\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#ad8fcb6e32235be34335e443230fb9000\">contextMenuEvent</a> (QContextMenuEvent *e)</td></tr>\n<tr class=\"separator:ad8fcb6e32235be34335e443230fb9000\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9daa92535de2f43e4c04305007ce5475\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9daa92535de2f43e4c04305007ce5475\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintilla.html#a9daa92535de2f43e4c04305007ce5475\">wheelEvent</a> (QWheelEvent *e)</td></tr>\n<tr class=\"separator:a9daa92535de2f43e4c04305007ce5475\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_methods_classQsciScintillaBase\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_methods_classQsciScintillaBase')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Member Functions inherited from <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td></tr>\n<tr class=\"memitem:abce274ef71035c67baadaa167a1fe5a7 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">canInsertFromMimeData</a> (const QMimeData *source) const</td></tr>\n<tr class=\"separator:abce274ef71035c67baadaa167a1fe5a7 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5f105b9ec17cd73a0cd601ac9be82dd4 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QByteArray&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">fromMimeData</a> (const QMimeData *source, bool &amp;rectangular) const</td></tr>\n<tr class=\"separator:a5f105b9ec17cd73a0cd601ac9be82dd4 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e1e146787204eba48aa5376287de41f inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QMimeData *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">toMimeData</a> (const QByteArray &amp;text, bool rectangular) const</td></tr>\n<tr class=\"separator:a7e1e146787204eba48aa5376287de41f inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad7b8480681e4b4d5689d0e6d822dc3c0 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad7b8480681e4b4d5689d0e6d822dc3c0\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">dragEnterEvent</a> (QDragEnterEvent *e)</td></tr>\n<tr class=\"separator:ad7b8480681e4b4d5689d0e6d822dc3c0 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a67c4a9da730c69a2b9fda0a1a02348f1 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a67c4a9da730c69a2b9fda0a1a02348f1\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">dragLeaveEvent</a> (QDragLeaveEvent *e)</td></tr>\n<tr class=\"separator:a67c4a9da730c69a2b9fda0a1a02348f1 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af25249a8e4e0f0966395b5006a5362d9 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af25249a8e4e0f0966395b5006a5362d9\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">dragMoveEvent</a> (QDragMoveEvent *e)</td></tr>\n<tr class=\"separator:af25249a8e4e0f0966395b5006a5362d9 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a33c8d6d9915a1375c0d7c24beaceb951 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a33c8d6d9915a1375c0d7c24beaceb951\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">dropEvent</a> (QDropEvent *e)</td></tr>\n<tr class=\"separator:a33c8d6d9915a1375c0d7c24beaceb951 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2c339fd90e92408440230ee9d84cabcf inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2c339fd90e92408440230ee9d84cabcf\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">focusInEvent</a> (QFocusEvent *e)</td></tr>\n<tr class=\"separator:a2c339fd90e92408440230ee9d84cabcf inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1aec9b47eeaf611687eeeef0d1aa3a00 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1aec9b47eeaf611687eeeef0d1aa3a00\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">focusOutEvent</a> (QFocusEvent *e)</td></tr>\n<tr class=\"separator:a1aec9b47eeaf611687eeeef0d1aa3a00 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6fb5a9621640080fc9909f94b6c0213 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad6fb5a9621640080fc9909f94b6c0213\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">focusNextPrevChild</a> (bool next)</td></tr>\n<tr class=\"separator:ad6fb5a9621640080fc9909f94b6c0213 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a39f62b8e6cee02e86d7af508d20a191d inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a39f62b8e6cee02e86d7af508d20a191d\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">keyPressEvent</a> (QKeyEvent *e)</td></tr>\n<tr class=\"separator:a39f62b8e6cee02e86d7af508d20a191d inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acb05eb7e7c7cac07547a08d0628013fe inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"acb05eb7e7c7cac07547a08d0628013fe\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">inputMethodEvent</a> (QInputMethodEvent *event)</td></tr>\n<tr class=\"separator:acb05eb7e7c7cac07547a08d0628013fe inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ade2821d031ae57c4f52a40e0589baba7 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ade2821d031ae57c4f52a40e0589baba7\"></a>\nvirtual QVariant&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>inputMethodQuery</b> (Qt::InputMethodQuery query) const</td></tr>\n<tr class=\"separator:ade2821d031ae57c4f52a40e0589baba7 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab16e9b7ca9a17af2af3b7ca7f14c8c4 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab16e9b7ca9a17af2af3b7ca7f14c8c4\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">mouseDoubleClickEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:aab16e9b7ca9a17af2af3b7ca7f14c8c4 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5a4a2c5466d1b4f7d6e835c253cb1730 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5a4a2c5466d1b4f7d6e835c253cb1730\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">mouseMoveEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:a5a4a2c5466d1b4f7d6e835c253cb1730 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6f13610560a2c281f638f3a40046f6 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6d6f13610560a2c281f638f3a40046f6\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">mousePressEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:a6d6f13610560a2c281f638f3a40046f6 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a5b949013c382c1b5f341137cd37752 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6a5b949013c382c1b5f341137cd37752\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">mouseReleaseEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:a6a5b949013c382c1b5f341137cd37752 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea74fb61f3d2d983d142a6ec8c3cc9d inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2ea74fb61f3d2d983d142a6ec8c3cc9d\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">paintEvent</a> (QPaintEvent *e)</td></tr>\n<tr class=\"separator:a2ea74fb61f3d2d983d142a6ec8c3cc9d inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d0427b93e05876c9a2b541eae08ddab inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6d0427b93e05876c9a2b541eae08ddab\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">resizeEvent</a> (QResizeEvent *e)</td></tr>\n<tr class=\"separator:a6d0427b93e05876c9a2b541eae08ddab inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad685ecbca2d58ef561256b8439eb0daa inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad685ecbca2d58ef561256b8439eb0daa\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>scrollContentsBy</b> (int dx, int dy)</td></tr>\n<tr class=\"separator:ad685ecbca2d58ef561256b8439eb0daa inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1628992bb476d4b0939a0349a30930f4 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1628992bb476d4b0939a0349a30930f4\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setScrollBars</b> ()</td></tr>\n<tr class=\"separator:a1628992bb476d4b0939a0349a30930f4 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d0e6cb1806d270a5fa4408cefc5964 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a79d0e6cb1806d270a5fa4408cefc5964\"></a>\nScintillaBytes&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>textAsBytes</b> (const QString &amp;text) const</td></tr>\n<tr class=\"separator:a79d0e6cb1806d270a5fa4408cefc5964 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5fd45107cc2fedc25ad0e52f786f76e6 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5fd45107cc2fedc25ad0e52f786f76e6\"></a>\nQString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>bytesAsText</b> (const char *bytes) const</td></tr>\n<tr class=\"separator:a5fd45107cc2fedc25ad0e52f786f76e6 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a408cf3a7df3dce50504b83b51ed44b83 inherit pro_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a408cf3a7df3dce50504b83b51ed44b83\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>contextMenuNeeded</b> (int x, int y) const</td></tr>\n<tr class=\"separator:a408cf3a7df3dce50504b83b51ed44b83 inherit pro_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"inherited\"></a>\nAdditional Inherited Members</h2></td></tr>\n<tr class=\"inherit_header pub_static_methods_classQsciScintillaBase\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pub_static_methods_classQsciScintillaBase')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Static Public Member Functions inherited from <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td></tr>\n<tr class=\"memitem:a0f69249f4e97b96f09ea70f546df7464 inherit pub_static_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">static <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">pool</a> ()</td></tr>\n<tr class=\"separator:a0f69249f4e97b96f09ea70f546df7464 inherit pub_static_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad70482ce059c5cb74a014b5eb4f597d6 inherit pub_static_methods_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad70482ce059c5cb74a014b5eb4f597d6\"></a>\nstatic int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>commandKey</b> (int qt_key, int &amp;modifiers)</td></tr>\n<tr class=\"separator:ad70482ce059c5cb74a014b5eb4f597d6 inherit pub_static_methods_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"inherit_header pro_types_classQsciScintillaBase\"><td colspan=\"2\" onclick=\"javascript:toggleInherit('pro_types_classQsciScintillaBase')\"><img src=\"closed.png\" alt=\"-\"/>&#160;Protected Types inherited from <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td></tr>\n<tr class=\"memitem:adf9244775a9df945d915aaf4cf4861fe inherit pro_types_classQsciScintillaBase\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adf9244775a9df945d915aaf4cf4861fe\"></a>\ntypedef QByteArray&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>ScintillaBytes</b></td></tr>\n<tr class=\"separator:adf9244775a9df945d915aaf4cf4861fe inherit pro_types_classQsciScintillaBase\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> class implements a higher level, more Qt-like, API to the Scintilla editor widget. </p>\n<p><a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> 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 <a class=\"el\" href=\"classQsciScintillaBase.html\" title=\"The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.\">QsciScintillaBase</a>. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a486adb3348b30c80f53cc1f00c4ed978\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a486adb3348b30c80f53cc1f00c4ed978\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different auto-indentation styles. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\"></a>AiMaintain&#160;</td><td class=\"fielddoc\"><p>A line is automatically indented to match the previous line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\"></a>AiOpening&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\"></a>AiClosing&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a3793111b6e2a86351c798c68deda7d0c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3793111b6e2a86351c798c68deda7d0c\">&#9670;&nbsp;</a></span>AnnotationDisplay</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">QsciScintilla::AnnotationDisplay</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different annotation display styles. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a3793111b6e2a86351c798c68deda7d0caf708fc8c6c5b70daf1e03d5286a699f6\"></a>AnnotationHidden&#160;</td><td class=\"fielddoc\"><p>Annotations are not displayed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3793111b6e2a86351c798c68deda7d0ca9127adc556d20a38d87055264228b121\"></a>AnnotationStandard&#160;</td><td class=\"fielddoc\"><p>Annotations are drawn left justified with no adornment. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3793111b6e2a86351c798c68deda7d0ca3b77a53cb3bc889bb98c4d0b79884709\"></a>AnnotationBoxed&#160;</td><td class=\"fielddoc\"><p>Annotations are surrounded by a box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3793111b6e2a86351c798c68deda7d0ca180ea6ab83ef2cfb3e8a31b01f3c31c7\"></a>AnnotationIndented&#160;</td><td class=\"fielddoc\"><p>Annotations are indented to match the text. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ae628d46489efa3db3b0c42336a1bf8d3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae628d46489efa3db3b0c42336a1bf8d3\">&#9670;&nbsp;</a></span>AutoCompletionUseSingle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">QsciScintilla::AutoCompletionUseSingle</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the behavior if an auto-completion list contains a single entry. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\"></a>AcusNever&#160;</td><td class=\"fielddoc\"><p>The single entry is not used automatically and the auto-completion list is displayed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\"></a>AcusExplicit&#160;</td><td class=\"fielddoc\"><p>The single entry is used automatically when auto-completion is explicitly requested (using <a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">autoCompleteFromAPIs()</a> or <a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">autoCompleteFromDocument()</a>) but not when auto-completion is triggered as the user types. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae628d46489efa3db3b0c42336a1bf8d3ad3646f7c7cfe985480477c7c303af9e6\"></a>AcusAlways&#160;</td><td class=\"fielddoc\"><p>The single entry is used automatically and the auto-completion list is not displayed. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ac466f32c3d7e51790b6b25c864783179\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac466f32c3d7e51790b6b25c864783179\">&#9670;&nbsp;</a></span>AutoCompletionSource</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">QsciScintilla::AutoCompletionSource</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different sources for auto-completion lists. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\"></a>AcsNone&#160;</td><td class=\"fielddoc\"><p>No sources are used, ie. automatic auto-completion is disabled. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\"></a>AcsAll&#160;</td><td class=\"fielddoc\"><p>The source is all available sources. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\"></a>AcsDocument&#160;</td><td class=\"fielddoc\"><p>The source is the current document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac466f32c3d7e51790b6b25c864783179accaaf618ca9c7889b9899c4da6e9f17f\"></a>AcsAPIs&#160;</td><td class=\"fielddoc\"><p>The source is any installed APIs. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ae8277ccb3a2af0ae9a1495d8f8ea0523\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae8277ccb3a2af0ae9a1495d8f8ea0523\">&#9670;&nbsp;</a></span>BraceMatch</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">QsciScintilla::BraceMatch</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\"></a>NoBraceMatch&#160;</td><td class=\"fielddoc\"><p>Brace matching is disabled. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\"></a>StrictBraceMatch&#160;</td><td class=\"fielddoc\"><p>Brace matching is enabled for a brace immediately before the current position. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae8277ccb3a2af0ae9a1495d8f8ea0523a35852dc4c418589c8751dfc913abb65c\"></a>SloppyBraceMatch&#160;</td><td class=\"fielddoc\"><p>Brace matching is enabled for a brace immediately before or after the current position. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"aef97a9061de95a09b57d527f6410881d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aef97a9061de95a09b57d527f6410881d\">&#9670;&nbsp;</a></span>CallTipsPosition</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">QsciScintilla::CallTipsPosition</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different call tip positions. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\"></a>CallTipsBelowText&#160;</td><td class=\"fielddoc\"><p>Call tips are placed below the text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\"></a>CallTipsAboveText&#160;</td><td class=\"fielddoc\"><p>Call tips are placed above the text. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a62d0174cb0a07e3f2d48fc0603192668\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a62d0174cb0a07e3f2d48fc0603192668\">&#9670;&nbsp;</a></span>CallTipsStyle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla::CallTipsStyle</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different call tip styles. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\"></a>CallTipsNone&#160;</td><td class=\"fielddoc\"><p>Call tips are disabled. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\"></a>CallTipsNoContext&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\"></a>CallTipsNoAutoCompletionContext&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a62d0174cb0a07e3f2d48fc0603192668a3e031bc89388b8c7369001d670e87fc9\"></a>CallTipsContext&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a40b8ec37e068b12d9c83ee497929a00e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a40b8ec37e068b12d9c83ee497929a00e\">&#9670;&nbsp;</a></span>EdgeMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">QsciScintilla::EdgeMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different edge modes for long lines. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a40b8ec37e068b12d9c83ee497929a00ead6c5f91845329bb32ff37e3f1325078c\"></a>EdgeNone&#160;</td><td class=\"fielddoc\"><p>Long lines are not marked. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a40b8ec37e068b12d9c83ee497929a00ea44fdad06b183b02f5d54a3fecd5ac98d\"></a>EdgeLine&#160;</td><td class=\"fielddoc\"><p>A vertical line is drawn at the column set by <a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn()</a>. This is recommended for monospace fonts. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a40b8ec37e068b12d9c83ee497929a00ea46d9f957fe5b30a681ebaecc3ba159d5\"></a>EdgeBackground&#160;</td><td class=\"fielddoc\"><p>The background color of characters after the column limit is changed to the color set by <a class=\"el\" href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">setEdgeColor()</a>. This is recommended for proportional fonts. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a40b8ec37e068b12d9c83ee497929a00ea2a310e227fd42221c2ad9b81fbdb7654\"></a>EdgeMultipleLines&#160;</td><td class=\"fielddoc\"><p>Multiple vertical lines are drawn at the columns defined by multiple calls to <a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">addEdgeColumn()</a>. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ab4b6b4286a74e173a86de0a7f55241d5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab4b6b4286a74e173a86de0a7f55241d5\">&#9670;&nbsp;</a></span>EolMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">QsciScintilla::EolMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different end-of-line modes. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ab4b6b4286a74e173a86de0a7f55241d5a355072d24e408bb7fbb2be3ed5389d30\"></a>EolWindows&#160;</td><td class=\"fielddoc\"><p>A carriage return/line feed as used on Windows systems. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab4b6b4286a74e173a86de0a7f55241d5a66683da125a4e780a672edae2781df89\"></a>EolUnix&#160;</td><td class=\"fielddoc\"><p>A line feed as used on Unix systems, including OS/X. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab4b6b4286a74e173a86de0a7f55241d5a884e225089dc5181bf661a13a5d12c99\"></a>EolMac&#160;</td><td class=\"fielddoc\"><p>A carriage return as used on Mac systems prior to OS/X. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ae478a896ae32a30e8a375049a3d477e0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae478a896ae32a30e8a375049a3d477e0\">&#9670;&nbsp;</a></span>FoldStyle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">QsciScintilla::FoldStyle</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different styles for the folding margin. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\"></a>NoFoldStyle&#160;</td><td class=\"fielddoc\"><p>Folding is disabled. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\"></a>PlainFoldStyle&#160;</td><td class=\"fielddoc\"><p>Plain folding style using plus and minus symbols. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\"></a>CircledFoldStyle&#160;</td><td class=\"fielddoc\"><p>Circled folding style using circled plus and minus symbols. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\"></a>BoxedFoldStyle&#160;</td><td class=\"fielddoc\"><p>Boxed folding style using boxed plus and minus symbols. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\"></a>CircledTreeFoldStyle&#160;</td><td class=\"fielddoc\"><p>Circled tree style using a flattened tree with circled plus and minus symbols and rounded corners. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae478a896ae32a30e8a375049a3d477e0ac22ee26a39d4661a59f0a2d285ad27e2\"></a>BoxedTreeFoldStyle&#160;</td><td class=\"fielddoc\"><p>Boxed tree style using a flattened tree with boxed plus and minus symbols and right-angled corners. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a3333f3a47163153c1bd7db1a362b8974\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3333f3a47163153c1bd7db1a362b8974\">&#9670;&nbsp;</a></span>IndicatorStyle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">QsciScintilla::IndicatorStyle</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different indicator styles. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a0563b9d3106c3d8943c72c9fb607b1a9\"></a>PlainIndicator&#160;</td><td class=\"fielddoc\"><p>A single straight underline. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a4a05171985efcac66b2a9b807cd5ca31\"></a>SquiggleIndicator&#160;</td><td class=\"fielddoc\"><p>A squiggly underline that requires 3 pixels of descender space. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974af3054c8db19f828df05ac08221c5462e\"></a>TTIndicator&#160;</td><td class=\"fielddoc\"><p>A line of small T shapes. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a3f15a9d49659f4c9baa660da5243074f\"></a>DiagonalIndicator&#160;</td><td class=\"fielddoc\"><p>Diagonal hatching. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a029dfc2ae051a07911e1d1e733825e96\"></a>StrikeIndicator&#160;</td><td class=\"fielddoc\"><p>Strike out. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a4d76d98f1b407df8f0a62b70a7545c51\"></a>HiddenIndicator&#160;</td><td class=\"fielddoc\"><p>An indicator with no visual appearence. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a121e0a9c852567a581f208b8f7cc1bed\"></a>BoxIndicator&#160;</td><td class=\"fielddoc\"><p>A rectangle around the text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974abb8b610c8536fb766052a18f19572ed0\"></a>RoundBoxIndicator&#160;</td><td class=\"fielddoc\"><p>A rectangle with rounded corners around the text with the interior usually more transparent than the border. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974aba9ac8f4ae4eaaee90be633ccb94bbf4\"></a>StraightBoxIndicator&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974aeb5cb655e2f3e61e8df54655b11695f1\"></a>FullBoxIndicator&#160;</td><td class=\"fielddoc\"><p>A rectangle around the text with the interior usually more transparent than the border. Unlike StraightBoxIndicator it covers the entire character area. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a0d28a4278d8321718b457d664780d92b\"></a>DashesIndicator&#160;</td><td class=\"fielddoc\"><p>A dashed underline. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974adf3330b6033f9d647807a031f61cfd04\"></a>DotsIndicator&#160;</td><td class=\"fielddoc\"><p>A dotted underline. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a1ab0879dfc51ea5894fcfc108f3baa59\"></a>SquiggleLowIndicator&#160;</td><td class=\"fielddoc\"><p>A squiggly underline that requires 2 pixels of descender space and so will fit under smaller fonts. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a14ea8b26486c9b42eb7748d32687e51a\"></a>DotBoxIndicator&#160;</td><td class=\"fielddoc\"><p>A dotted rectangle around the text with the interior usually more transparent than the border. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a989b84433c9f4c7a95dbb3d3802b724f\"></a>SquigglePixmapIndicator&#160;</td><td class=\"fielddoc\"><p>A version of SquiggleIndicator that uses a pixmap. This is quicker but may be of lower quality. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974affa2d89915d3958c0938d55a17c6afb7\"></a>ThickCompositionIndicator&#160;</td><td class=\"fielddoc\"><p>A thick underline typically used for the target during Asian language input composition. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974ad602bf60625109aecfce418a5e37b1e7\"></a>ThinCompositionIndicator&#160;</td><td class=\"fielddoc\"><p>A thin underline typically used for non-target ranges during Asian language input composition. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974ab2245f80f3cbb9a114fc4dddd7f004e2\"></a>TextColorIndicator&#160;</td><td class=\"fielddoc\"><p>The color of the text is set to the color of the indicator's foreground. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974aaade48e18985d23630c6178148bf1c8d\"></a>TriangleIndicator&#160;</td><td class=\"fielddoc\"><p>A triangle below the start of the indicator range. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974ab1d6bb2b94362ebcd6e8388f8812e3f4\"></a>TriangleCharacterIndicator&#160;</td><td class=\"fielddoc\"><p>A triangle below the centre of the first character in the indicator range. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974a7f4b165aed1dd094770e16c93c976d08\"></a>GradientIndicator&#160;</td><td class=\"fielddoc\"><p>A vertical gradient between the indicator's foreground colour at top to fully transparent at the bottom. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a3333f3a47163153c1bd7db1a362b8974aca7717bb45779f822c9fcea2d78456dc\"></a>CentreGradientIndicator&#160;</td><td class=\"fielddoc\"><p>A vertical gradient with the indicator's foreground colour in the middle and fading to fully transparent at the top and bottom. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ac99833884d4b015f0781ee1d54b703cf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac99833884d4b015f0781ee1d54b703cf\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different margin options. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\"></a>MoNone&#160;</td><td class=\"fielddoc\"><p>Reset all margin options. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\"></a>MoSublineSelect&#160;</td><td class=\"fielddoc\"><p>If this is set then only the first sub-line of a wrapped line will be selected when clicking on a margin. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"aedab060e87e0533083ea8f1398302090\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aedab060e87e0533083ea8f1398302090\">&#9670;&nbsp;</a></span>MarginType</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">QsciScintilla::MarginType</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different margin types. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090ac77614e4b9956e3c44fface749ff6602\"></a>SymbolMargin&#160;</td><td class=\"fielddoc\"><p>The margin contains symbols, including those used for folding. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090a0e3a004e5eebb910f8329a48e7721e03\"></a>SymbolMarginDefaultForegroundColor&#160;</td><td class=\"fielddoc\"><p>The margin contains symbols and uses the default foreground color as its background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090ad60eb277ce18f3c7baa28721ab5dc834\"></a>SymbolMarginDefaultBackgroundColor&#160;</td><td class=\"fielddoc\"><p>The margin contains symbols and uses the default background color as its background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090af2e3b128abc692ae0b1b6c835a90537e\"></a>NumberMargin&#160;</td><td class=\"fielddoc\"><p>The margin contains line numbers. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090a067796489486bcc1573cb0951a4199a9\"></a>TextMargin&#160;</td><td class=\"fielddoc\"><p>The margin contains styled text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090a7445fe74d90bd62eceb5311b1f7f52fc\"></a>TextMarginRightJustified&#160;</td><td class=\"fielddoc\"><p>The margin contains right justified styled text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aedab060e87e0533083ea8f1398302090ac306b600646e9cf9c58cc637e76fc805\"></a>SymbolMarginColor&#160;</td><td class=\"fielddoc\"><p>The margin contains symbols and uses the color set by <a class=\"el\" href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">setMarginBackgroundColor()</a> as its background color. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a08467ef528d3048db763979f42664496\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a08467ef528d3048db763979f42664496\">&#9670;&nbsp;</a></span>MarkerSymbol</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">QsciScintilla::MarkerSymbol</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different pre-defined marker symbols. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ac0ea486bd51a662ec3be569f420f5d1b\"></a>Circle&#160;</td><td class=\"fielddoc\"><p>A circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496aeeea97e421201a5e5e0765a10e8bae9e\"></a>Rectangle&#160;</td><td class=\"fielddoc\"><p>A rectangle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a0865ee6d974f4969f239565400fa5e86\"></a>RightTriangle&#160;</td><td class=\"fielddoc\"><p>A triangle pointing to the right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ad738bdaec4c29f98478434c2aad0b4a0\"></a>SmallRectangle&#160;</td><td class=\"fielddoc\"><p>A smaller rectangle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a83df9bcfb20a4df73ba28ae7e25adc88\"></a>RightArrow&#160;</td><td class=\"fielddoc\"><p>An arrow pointing to the right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a75deca598e2319575861cf9d61e15c65\"></a>Invisible&#160;</td><td class=\"fielddoc\"><p>An invisible marker that allows code to track the movement of lines. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a73b37930e36e66281465f89530a889a4\"></a>DownTriangle&#160;</td><td class=\"fielddoc\"><p>A triangle pointing down. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a6caac8b127940c11b302189ac82dda5c\"></a>Minus&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a21c1ea793bbfcbe6321cbc2ce042b5b4\"></a>Plus&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496acca6c5051d9438d75b757aaf5a0a6ab6\"></a>VerticalLine&#160;</td><td class=\"fielddoc\"><p>A vertical line drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ab252e6e9a75a8987543dd345087a6239\"></a>BottomLeftCorner&#160;</td><td class=\"fielddoc\"><p>A bottom left corner drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a92b9f1d4c2cdddc5ef4030fdff5edc7d\"></a>LeftSideSplitter&#160;</td><td class=\"fielddoc\"><p>A vertical line with a centre right horizontal line drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a99c849093ce52310ba63277968e20fca\"></a>BoxedPlus&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a43d4fef1aeaaaf6847e8f96761d5aaa4\"></a>BoxedPlusConnected&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a connected box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a94bff27aa9fe8d4c47c1d0142b219ea4\"></a>BoxedMinus&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a9a8f97b4e8119422e060a9e1a92f84cb\"></a>BoxedMinusConnected&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a connected box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496afa25f9b9f604542625e2eeb812484363\"></a>RoundedBottomLeftCorner&#160;</td><td class=\"fielddoc\"><p>A rounded bottom left corner drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a2a2e0c98376d63fc6fdba6c1bc5b8768\"></a>LeftSideRoundedSplitter&#160;</td><td class=\"fielddoc\"><p>A vertical line with a centre right curved line drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496adfcda6a0567fb132f08dbfbc0bc40161\"></a>CircledPlus&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ac7ac14f88e9a76b42d5ac2270f961ef1\"></a>CircledPlusConnected&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a connected box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496af61cc9c30ac12712c1774ea2a9539846\"></a>CircledMinus&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a6e71f3cbb658aa12b566fe2293356e50\"></a>CircledMinusConnected&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a connected circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a684a85314d17d730f0dfc238c523160e\"></a>Background&#160;</td><td class=\"fielddoc\"><p>No symbol is drawn but the line is drawn with the same background color as the marker's. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ade6443defea98e4663e396785393fa20\"></a>ThreeDots&#160;</td><td class=\"fielddoc\"><p>Three drawn dots. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ae40bc43f021c051ae9d3dc8bb0cc4a04\"></a>ThreeRightArrows&#160;</td><td class=\"fielddoc\"><p>Three drawn arrows pointing right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a37179bb1a189664cf22b25168ae0dc2b\"></a>FullRectangle&#160;</td><td class=\"fielddoc\"><p>A full rectangle (ie. the margin background) using the marker's background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ac92383c0e761f791d4abf557b9d75d3b\"></a>LeftRectangle&#160;</td><td class=\"fielddoc\"><p>A left rectangle (ie. the left part of the margin background) using the marker's background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496a9a42de7d5678b0e92ed7f07ef1b9887f\"></a>Underline&#160;</td><td class=\"fielddoc\"><p>No symbol is drawn but the line is drawn underlined using the marker's background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a08467ef528d3048db763979f42664496ae143f481474150e05f35218f54c6b4f7\"></a>Bookmark&#160;</td><td class=\"fielddoc\"><p>A bookmark. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"acb9f67f141d5e81f68342e9507a308d3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acb9f67f141d5e81f68342e9507a308d3\">&#9670;&nbsp;</a></span>TabDrawMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">QsciScintilla::TabDrawMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines how tab characters are drawn when whitespace is visible. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"acb9f67f141d5e81f68342e9507a308d3a4e7561cfb578c42760c28e9f74241db9\"></a>TabLongArrow&#160;</td><td class=\"fielddoc\"><p>An arrow stretching to the tab stop. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"acb9f67f141d5e81f68342e9507a308d3af47cfb4645cf89aaf9580878fa5396bd\"></a>TabStrikeOut&#160;</td><td class=\"fielddoc\"><p>A horizontal line stretching to the tab stop. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ab83469cc9550eadcd5d4e8ca3d20d07b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab83469cc9550eadcd5d4e8ca3d20d07b\">&#9670;&nbsp;</a></span>WhitespaceVisibility</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">QsciScintilla::WhitespaceVisibility</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ab83469cc9550eadcd5d4e8ca3d20d07ba994f4bd1f6121045ed81ea991bc97977\"></a>WsInvisible&#160;</td><td class=\"fielddoc\"><p>Whitespace is invisible. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab83469cc9550eadcd5d4e8ca3d20d07bab8e171675f00912460e07c79793dc878\"></a>WsVisible&#160;</td><td class=\"fielddoc\"><p>Whitespace is always visible. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab83469cc9550eadcd5d4e8ca3d20d07ba6f5e479444e170f8eabb37e2b2261daa\"></a>WsVisibleAfterIndent&#160;</td><td class=\"fielddoc\"><p>Whitespace is visible after the whitespace used for indentation. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab83469cc9550eadcd5d4e8ca3d20d07ba4908a41a9a5b8994ccae0a1441fbc07c\"></a>WsVisibleOnlyInIndent&#160;</td><td class=\"fielddoc\"><p>Whitespace used for indentation is visible. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a7081c7ff25b5f6bd5b3a6cbd478a9f42\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">&#9670;&nbsp;</a></span>WrapMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla::WrapMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different line wrap modes. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a7081c7ff25b5f6bd5b3a6cbd478a9f42a8005165822ca83fced05329d4d5b1964\"></a>WrapNone&#160;</td><td class=\"fielddoc\"><p>Lines are not wrapped. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7081c7ff25b5f6bd5b3a6cbd478a9f42aeb6fe909aad13c04aab01c9c216ac2ec\"></a>WrapWord&#160;</td><td class=\"fielddoc\"><p>Lines are wrapped at word boundaries. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7081c7ff25b5f6bd5b3a6cbd478a9f42a2bfc1bf41df6a56d925f3c369822435e\"></a>WrapCharacter&#160;</td><td class=\"fielddoc\"><p>Lines are wrapped at character boundaries. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a7081c7ff25b5f6bd5b3a6cbd478a9f42ae04a9e56dd933f834facd3cda30bb9ff\"></a>WrapWhitespace&#160;</td><td class=\"fielddoc\"><p>Lines are wrapped at whitespace boundaries. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ac4d1c67938c75806b2c139d0779d0478\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac4d1c67938c75806b2c139d0779d0478\">&#9670;&nbsp;</a></span>WrapVisualFlag</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">QsciScintilla::WrapVisualFlag</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different line wrap visual flags. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\"></a>WrapFlagNone&#160;</td><td class=\"fielddoc\"><p>No wrap flag is displayed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\"></a>WrapFlagByText&#160;</td><td class=\"fielddoc\"><p>A wrap flag is displayed by the text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\"></a>WrapFlagByBorder&#160;</td><td class=\"fielddoc\"><p>A wrap flag is displayed by the border. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ac4d1c67938c75806b2c139d0779d0478a0b40cb40f72cd10104a75c84ae809211\"></a>WrapFlagInMargin&#160;</td><td class=\"fielddoc\"><p>A wrap flag is displayed in the line number margin. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a59b529ccfcb1f7896efb523025371a03\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a59b529ccfcb1f7896efb523025371a03\">&#9670;&nbsp;</a></span>WrapIndentMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">QsciScintilla::WrapIndentMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different line wrap indentation modes. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a59b529ccfcb1f7896efb523025371a03a041dc048521b889bf1db274546d0f562\"></a>WrapIndentFixed&#160;</td><td class=\"fielddoc\"><p>Wrapped sub-lines are indented by the amount set by <a class=\"el\" href=\"classQsciScintilla.html#ab696e4703374af4c01651453d094ac08\">setWrapVisualFlags()</a>. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a59b529ccfcb1f7896efb523025371a03ab9cc585fd0eb9a14e0f8c7d9389656e8\"></a>WrapIndentSame&#160;</td><td class=\"fielddoc\"><p>Wrapped sub-lines are indented by the same amount as the first sub-line. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a59b529ccfcb1f7896efb523025371a03a0cb2a2ef379ad02b388a08880a624f2b\"></a>WrapIndentIndented&#160;</td><td class=\"fielddoc\"><p>Wrapped sub-lines are indented by the same amount as the first sub-line plus one more level of indentation. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a59b529ccfcb1f7896efb523025371a03aa2d7362610a92c58aa764a1df8914146\"></a>WrapIndentDeeplyIndented&#160;</td><td class=\"fielddoc\"><p>Wrapped sub-lines are indented by the same amount as the first sub-line plus two more level of indentation. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"ab8bfeae44abd61659d207a86660b100c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab8bfeae44abd61659d207a86660b100c\">&#9670;&nbsp;</a></span>apiContext()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QStringList QsciScintilla::apiContext </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>pos</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int &amp;&#160;</td>\n          <td class=\"paramname\"><em>context_start</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int &amp;&#160;</td>\n          <td class=\"paramname\"><em>last_word_start</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the API context, which is a list of words, before the position <em>pos</em> 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 <em>context_start</em> will contain the position in the document of the start of the context and <em>last_word_start</em> will contain the position in the document of the start of the last word of the context. </p>\n\n</div>\n</div>\n<a id=\"adacd79ec5e25430f0cbff34e6584afe7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adacd79ec5e25430f0cbff34e6584afe7\">&#9670;&nbsp;</a></span>annotate() <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::annotate </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Annotate the line <em>line</em> with the text <em>text</em> using the style number <em>style</em>. </p>\n\n</div>\n</div>\n<a id=\"a8ec9b9a33f698fab59f46864ee9a2267\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8ec9b9a33f698fab59f46864ee9a2267\">&#9670;&nbsp;</a></span>annotate() <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::annotate </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Annotate the line <em>line</em> with the text <em>text</em> using the style <em>style</em>. </p>\n\n</div>\n</div>\n<a id=\"a3045ab135148ca52330ad233703a57f1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3045ab135148ca52330ad233703a57f1\">&#9670;&nbsp;</a></span>annotationDisplay()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">AnnotationDisplay</a> QsciScintilla::annotationDisplay </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the display style for annotations.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aeda9c17a6e746e177fa6f5311d96dc03\">setAnnotationDisplay()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3ad17d87cb436e0f6da52a68cd14750e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3ad17d87cb436e0f6da52a68cd14750e\">&#9670;&nbsp;</a></span>clearAnnotations()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::clearAnnotations </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em> = <code>-1</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The annotations on line <em>line</em> are removed. If <em>line</em> is negative then all annotations are removed. </p>\n\n</div>\n</div>\n<a id=\"a136a17a59a3800c40619a768ffff8d7a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a136a17a59a3800c40619a768ffff8d7a\">&#9670;&nbsp;</a></span>autoCompletionCaseSensitivity()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::autoCompletionCaseSensitivity </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if auto-completion lists are case sensitive.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8348c07fe8cff0bf6141a94ca3014ed2\">setAutoCompletionCaseSensitivity()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a47d0cdb5df5fa6c860b4e840184fe585\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a47d0cdb5df5fa6c860b4e840184fe585\">&#9670;&nbsp;</a></span>autoCompletionFillupsEnabled()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::autoCompletionFillupsEnabled </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if auto-completion fill-up characters are enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">setAutoCompletionFillups()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">setAutoCompletionFillupsEnabled()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a527b309bfaf28b870c15d87a5af7c005\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a527b309bfaf28b870c15d87a5af7c005\">&#9670;&nbsp;</a></span>autoCompletionReplaceWord()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::autoCompletionReplaceWord </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#af67874dae6e032c44d4ccde569e2decb\">setAutoCompletionReplaceWord()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aff3b4e47fcbadeb0cf2556cf6ad164e0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff3b4e47fcbadeb0cf2556cf6ad164e0\">&#9670;&nbsp;</a></span>autoCompletionShowSingle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::autoCompletionShowSingle </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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 <a class=\"el\" href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">autoCompletionUseSingle()</a> should be used instead.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6b494f1a0395a62c3e61f50eabc50679\">setAutoCompletionShowSingle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6c06ccce022c08674e24a96093902b49\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6c06ccce022c08674e24a96093902b49\">&#9670;&nbsp;</a></span>autoCompletionSource()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">AutoCompletionSource</a> QsciScintilla::autoCompletionSource </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the current source for the auto-completion list when it is being displayed automatically as the user types.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a48860b20014ce8b044760c055156ba57\">setAutoCompletionSource()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5178b3fd3cb946ffd4b2e52df9bb1483\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5178b3fd3cb946ffd4b2e52df9bb1483\">&#9670;&nbsp;</a></span>autoCompletionThreshold()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::autoCompletionThreshold </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the current threshold for the automatic display of the auto-completion list as the user types.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">setAutoCompletionThreshold()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaeb4a9e6d4e2822524c84da5318a7f1e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaeb4a9e6d4e2822524c84da5318a7f1e\">&#9670;&nbsp;</a></span>autoCompletionUseSingle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">AutoCompletionUseSingle</a> QsciScintilla::autoCompletionUseSingle </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the current behavior when an auto-completion list contains a single entry.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">setAutoCompletionUseSingle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a828f1b56453686ccd423e979e55fbbae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a828f1b56453686ccd423e979e55fbbae\">&#9670;&nbsp;</a></span>autoIndent()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::autoIndent </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if auto-indentation is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a02105d06ad853647906eb72d27face67\">setAutoIndent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9122d4ac5b0b3eca120cf18ae7275bb1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9122d4ac5b0b3eca120cf18ae7275bb1\">&#9670;&nbsp;</a></span>backspaceUnindents()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::backspaceUnindents </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the backspace key unindents a line instead of deleting a character. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">setBackspaceUnindents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">tabIndents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">setTabIndents()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac0f785ba228153e9df6df76ca036c030\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac0f785ba228153e9df6df76ca036c030\">&#9670;&nbsp;</a></span>beginUndoAction()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::beginUndoAction </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Mark the beginning of a sequence of actions that can be undone by a single call to <a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">endUndoAction()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa869897ad955e8a42c5568be590c529b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa869897ad955e8a42c5568be590c529b\">&#9670;&nbsp;</a></span>braceMatching()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a> QsciScintilla::braceMatching </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the brace matching mode.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae53911447eddf1f0f93811f17ca4ecf8\">setBraceMatching()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9c1818383be531c3b04cd6848145d63b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9c1818383be531c3b04cd6848145d63b\">&#9670;&nbsp;</a></span>bytes()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QByteArray QsciScintilla::bytes </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>start</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>end</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the encoded text between positions <em>start</em> and <em>end</em>. This is typically used by <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">QsciLexerCustom::styleText()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a903187bfe219603ad7e20612d008ea7a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a903187bfe219603ad7e20612d008ea7a\">&#9670;&nbsp;</a></span>callTipsPosition()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">CallTipsPosition</a> QsciScintilla::callTipsPosition </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the current call tip position.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a7f9d93c22ed8b7b00996408da578cd2a\">setCallTipsPosition()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a632fe3f132c3679ada1fc22a57ca88f7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a632fe3f132c3679ada1fc22a57ca88f7\">&#9670;&nbsp;</a></span>callTipsStyle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">CallTipsStyle</a> QsciScintilla::callTipsStyle </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the current call tip style.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a253807bb0f4b3db471b059afc70b77db\">setCallTipsStyle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8fdc8049cd5d876b10c2fd9149e72699\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8fdc8049cd5d876b10c2fd9149e72699\">&#9670;&nbsp;</a></span>callTipsVisible()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::callTipsVisible </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the maximum number of call tips that are displayed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aec47d94706ffb14ef35035ba827b5b45\">setCallTipsVisible()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a405e4804f84e58476494314e7bf4d0a7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a405e4804f84e58476494314e7bf4d0a7\">&#9670;&nbsp;</a></span>cancelFind()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::cancelFind </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Cancel any previous call to <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection()</a> or <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext()</a> so that <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace()</a> does nothing. </p>\n\n</div>\n</div>\n<a id=\"aeeccf4091f42418284a79dcf67419a5c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeeccf4091f42418284a79dcf67419a5c\">&#9670;&nbsp;</a></span>caseSensitive()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::caseSensitive </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the current language lexer is case sensitive. If there is no current lexer then true is returned. </p>\n\n</div>\n</div>\n<a id=\"a4d4634e48eedb5b12bafe8c6fa6c41f7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4d4634e48eedb5b12bafe8c6fa6c41f7\">&#9670;&nbsp;</a></span>clearFolds()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::clearFolds </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Clear all current folds, i.e. ensure that all lines are displayed unfolded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">setFolding()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a13721a9f909b67bca298f51ea34a01db\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a13721a9f909b67bca298f51ea34a01db\">&#9670;&nbsp;</a></span>clearIndicatorRange()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::clearIndicatorRange </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>lineFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indexFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>lineTo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indexTo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Clears the range of text with indicator <em>indicatorNumber</em> starting at position <em>indexFrom</em> in line <em>lineFrom</em> and finishing at position <em>indexTo</em> in line <em>lineTo</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a44d1c322098eb0cf44cf78e866ed80cb\">fillIndicatorRange()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3755bcaa3e90c522162a7962de464baf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3755bcaa3e90c522162a7962de464baf\">&#9670;&nbsp;</a></span>clearRegisteredImages()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::clearRegisteredImages </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Clear all registered images.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a38bf5a8680df52675e5299fccbbc7181\">registerImage()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8a92ecc1db1576267f50a03d8ae93303\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8a92ecc1db1576267f50a03d8ae93303\">&#9670;&nbsp;</a></span>color()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciScintilla::color </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the widget's text (ie. foreground) colour.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8c8e4776767cc88b945f50f07d235770\">setColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a63c0f682eecba626fff511c6b1612ab6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a63c0f682eecba626fff511c6b1612ab6\">&#9670;&nbsp;</a></span>contractedFolds()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QList&lt;int&gt; QsciScintilla::contractedFolds </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns a list of the line numbers that have contracted folds. This is typically used to save the fold state of a document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9405d8aaa240dfc8fe30c3a4b5556ecc\">setContractedFolds()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8f3899166ef067d2780867d154539267\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8f3899166ef067d2780867d154539267\">&#9670;&nbsp;</a></span>convertEols()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::convertEols </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>All the lines of the text have their end-of-lines converted to mode <em>mode</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">eolMode()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">setEolMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a47d5e09e3507840ae898dfdc15acd858\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a47d5e09e3507840ae898dfdc15acd858\">&#9670;&nbsp;</a></span>createStandardContextMenu()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QMenu* QsciScintilla::createStandardContextMenu </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create the standard context menu which is shown when the user clicks with the right mouse button. It is called from <a class=\"el\" href=\"classQsciScintilla.html#ad8fcb6e32235be34335e443230fb9000\" title=\"\\reimp\">contextMenuEvent()</a>. The menu's ownership is transferred to the caller. </p>\n\n</div>\n</div>\n<a id=\"ab6643f6fe8cec6f3d7e14126fd52340d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab6643f6fe8cec6f3d7e14126fd52340d\">&#9670;&nbsp;</a></span>document()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a> QsciScintilla::document </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the attached document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">setDocument()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5d08214cc5bab0a03b383809f5c626f7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5d08214cc5bab0a03b383809f5c626f7\">&#9670;&nbsp;</a></span>endUndoAction()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::endUndoAction </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Mark the end of a sequence of actions that can be undone by a single call to <a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">beginUndoAction()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aee2887fadd0ddac9cee9dcdaee8d8696\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aee2887fadd0ddac9cee9dcdaee8d8696\">&#9670;&nbsp;</a></span>edgeColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciScintilla::edgeColor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the color of the marker used to show that a line has exceeded the length set by <a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">setEdgeColor()</a>, </dd>\n<dd>\n<a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a044b772f07f8d5218170a11db05cc3d5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a044b772f07f8d5218170a11db05cc3d5\">&#9670;&nbsp;</a></span>edgeColumn()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::edgeColumn </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the number of the column after which lines are considered to be long.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6fca34c3778ad8b4c067d577816ebc2b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6fca34c3778ad8b4c067d577816ebc2b\">&#9670;&nbsp;</a></span>edgeMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">EdgeMode</a> QsciScintilla::edgeMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the edge mode which determines how long lines are marked.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3493e72e97607270ca64c01b521f933f\">setEdgeMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a26eb997695e6b7292896743ac825a8ee\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a26eb997695e6b7292896743ac825a8ee\">&#9670;&nbsp;</a></span>setFont()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setFont </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QFont &amp;&#160;</td>\n          <td class=\"paramname\"><em>f</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the default font. This has no effect if a language lexer has been set. </p>\n\n</div>\n</div>\n<a id=\"ac629ee3f5ca0741d4590f6aef59611c8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac629ee3f5ca0741d4590f6aef59611c8\">&#9670;&nbsp;</a></span>eolMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a> QsciScintilla::eolMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the end-of-line mode.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">setEolMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5e4372bd9b4249d7e574402935444b84\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5e4372bd9b4249d7e574402935444b84\">&#9670;&nbsp;</a></span>eolVisibility()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::eolVisibility </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the visibility of end-of-lines.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ab98db9f5166ccc23792aea15a19c2294\">setEolVisibility()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a37a46d7dbbb88374f4651feb64f55926\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a37a46d7dbbb88374f4651feb64f55926\">&#9670;&nbsp;</a></span>extraAscent()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::extraAscent </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the extra space added to the height of a line above the baseline of the text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">setExtraAscent()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">extraDescent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa44a01f20a2d88c06c561f0043b4f83b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa44a01f20a2d88c06c561f0043b4f83b\">&#9670;&nbsp;</a></span>extraDescent()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::extraDescent </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the extra space added to the height of a line below the baseline of the text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">setExtraDescent()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">extraAscent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a44d1c322098eb0cf44cf78e866ed80cb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a44d1c322098eb0cf44cf78e866ed80cb\">&#9670;&nbsp;</a></span>fillIndicatorRange()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::fillIndicatorRange </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>lineFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indexFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>lineTo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indexTo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Fills the range of text with indicator <em>indicatorNumber</em> starting at position <em>indexFrom</em> in line <em>lineFrom</em> and finishing at position <em>indexTo</em> in line <em>lineTo</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a13721a9f909b67bca298f51ea34a01db\">clearIndicatorRange()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a04780d47f799c56b6af0a10b91875045\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a04780d47f799c56b6af0a10b91875045\">&#9670;&nbsp;</a></span>findFirst()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciScintilla::findFirst </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>expr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>re</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>cs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>wo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>wrap</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>forward</em> = <code>true</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em> = <code>-1</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em> = <code>-1</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>show</em> = <code>true</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>posix</em> = <code>false</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>cxx11</em> = <code>false</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Find the first occurrence of the string <em>expr</em> and return true if <em>expr</em> was found, otherwise returns false. If <em>expr</em> is found it becomes the current selection.</p>\n<p>If <em>re</em> is true then <em>expr</em> is interpreted as a regular expression rather than a simple string.</p>\n<p>If <em>cs</em> is true then the search is case sensitive.</p>\n<p>If <em>wo</em> is true then the search looks for whole word matches only, otherwise it searches for any matching text.</p>\n<p>If <em>wrap</em> is true then the search wraps around the end of the text.</p>\n<p>If <em>forward</em> 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.</p>\n<p>If either <em>line</em> or <em>index</em> are negative (the default) then the search begins from the current cursor position. Otherwise the search begins at position <em>index</em> of line <em>line</em>.</p>\n<p>If <em>show</em> is true (the default) then any text found is made visible (ie. it is unfolded).</p>\n<p>If <em>posix</em> is true then a regular expression is treated in a more POSIX compatible manner by interpreting bare ( and ) as tagged sections rather than ( and ).</p>\n<p>If <em>cxx11</em> is true then a regular expression is treated as a Cxx11 regular expression.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">cancelFind()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection()</a>, <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a437d58cc225880e34560b65f8c0b3b50\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a437d58cc225880e34560b65f8c0b3b50\">&#9670;&nbsp;</a></span>findFirstInSelection()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciScintilla::findFirstInSelection </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>expr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>re</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>cs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>wo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>forward</em> = <code>true</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>show</em> = <code>true</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>posix</em> = <code>false</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>cxx11</em> = <code>false</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Find the first occurrence of the string <em>expr</em> in the current selection and return true if <em>expr</em> was found, otherwise returns false. If <em>expr</em> is found it becomes the current selection. The original selection is restored when a subsequent call to <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext()</a> returns false.</p>\n<p>If <em>re</em> is true then <em>expr</em> is interpreted as a regular expression rather than a simple string.</p>\n<p>If <em>cs</em> is true then the search is case sensitive.</p>\n<p>If <em>wo</em> is true then the search looks for whole word matches only, otherwise it searches for any matching text.</p>\n<p>If <em>forward</em> 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.</p>\n<p>If <em>show</em> is true (the default) then any text found is made visible (ie. it is unfolded).</p>\n<p>If <em>posix</em> is true then a regular expression is treated in a more POSIX compatible manner by interpreting bare ( and ) as tagged sections rather than ( and ).</p>\n<p>If <em>cxx11</em> is true then a regular expression is treated as a Cxx11 regular expression.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">cancelFind()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst()</a>, <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adc2560a55f77a14329db8409dba11c54\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adc2560a55f77a14329db8409dba11c54\">&#9670;&nbsp;</a></span>findNext()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciScintilla::findNext </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Find the next occurence of the string found using <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst()</a> or <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">cancelFind()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">replace()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5b4b113d57b73a7b531f137a98ecc1bc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5b4b113d57b73a7b531f137a98ecc1bc\">&#9670;&nbsp;</a></span>findMatchingBrace()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::findMatchingBrace </td>\n          <td>(</td>\n          <td class=\"paramtype\">long &amp;&#160;</td>\n          <td class=\"paramname\"><em>brace</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">long &amp;&#160;</td>\n          <td class=\"paramname\"><em>other</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Find a brace and it's match. <em>brace</em> is updated with the position of the brace and will be -1 if there is none. <em>is</em> updated with the position of the matching brace and will be -1 if there is none. <em>mode</em> specifies how braces are matched. true is returned if the current position is inside a pair of braces. </p>\n\n</div>\n</div>\n<a id=\"a689eed3f6219e20924bcffdb95f27526\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a689eed3f6219e20924bcffdb95f27526\">&#9670;&nbsp;</a></span>firstVisibleLine()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::firstVisibleLine </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the number of the first visible line.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a451bcf235c2ad7628d32940a13d22116\">setFirstVisibleLine()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0e4576d83d7604b24bd13be91011c5f7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0e4576d83d7604b24bd13be91011c5f7\">&#9670;&nbsp;</a></span>folding()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">FoldStyle</a> QsciScintilla::folding </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the current folding style.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">setFolding()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a830f23268edb039344d30cef52d7c8f3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a830f23268edb039344d30cef52d7c8f3\">&#9670;&nbsp;</a></span>getCursorPosition()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::getCursorPosition </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets <em>*line</em> and <em>*index</em> to the line and index of the cursor.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aea97c6fb0079a6e3e647443b6101ae9d\">setCursorPosition()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6423854a3c2f7da07db1e47f2f0c8c71\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6423854a3c2f7da07db1e47f2f0c8c71\">&#9670;&nbsp;</a></span>getSelection()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::getSelection </td>\n          <td>(</td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>lineFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>indexFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>lineTo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>indexTo</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>If there is a selection, <em>*lineFrom</em> is set to the line number in which the selection begins and <em>*lineTo</em> is set to the line number in which the selection ends. (They could be the same.) <em>*indexFrom</em> is set to the index at which the selection begins within <em>*lineFrom</em>, and <em>*indexTo</em> is set to the index at which the selection ends within <em>*lineTo</em>. If there is no selection, <em>*lineFrom</em>, <em>*indexFrom</em>, <em>*lineTo</em> and <em>*indexTo</em> are all set to -1.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a391299d076b0164402118f504c83d09c\">setSelection()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad6b00de0b5fa769ff6d30036f9d784de\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad6b00de0b5fa769ff6d30036f9d784de\">&#9670;&nbsp;</a></span>hasSelectedText()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::hasSelectedText </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns true if some text is selected.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a10c8d8f5e97fb5ef86ea351407fe1023\">selectedText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae2e859fdafd8c56106b823d9e1ef99dd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae2e859fdafd8c56106b823d9e1ef99dd\">&#9670;&nbsp;</a></span>indentation()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::indentation </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the number of characters that line <em>line</em> is indented by.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa46e60536be6297de6ca1fb16d36cd51\">setIndentation()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"acd6fbd352060d3ee893bacc9bbb28a4e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acd6fbd352060d3ee893bacc9bbb28a4e\">&#9670;&nbsp;</a></span>indentationGuides()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::indentationGuides </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the display of indentation guides is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a1b4591eb73dcef0153861f698edc8726\">setIndentationGuides()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a67e012ca1e51ed73521c720237b7a507\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a67e012ca1e51ed73521c720237b7a507\">&#9670;&nbsp;</a></span>indentationsUseTabs()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::indentationsUseTabs </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if indentations are created using tabs and spaces, rather than just spaces. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a065b392e0a39ecfd39df787a3a25e814\">setIndentationsUseTabs()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0b1f9dfc8a34bbee0c131eebeace9a06\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0b1f9dfc8a34bbee0c131eebeace9a06\">&#9670;&nbsp;</a></span>indentationWidth()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::indentationWidth </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the indentation width in characters. The default is 0 which means that the value returned by <a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth()</a> is actually used.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8010e1671a15976254fd11b59ca3e03d\">setIndentationWidth()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab6856c73ad57ed92d8a9e4882867559e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab6856c73ad57ed92d8a9e4882867559e\">&#9670;&nbsp;</a></span>indicatorDefine()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::indicatorDefine </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">IndicatorStyle</a>&#160;</td>\n          <td class=\"paramname\"><em>style</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Define a type of indicator using the style <em>style</em> with the indicator number <em>indicatorNumber</em>. If <em>indicatorNumber</em> 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.</p>\n<p>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.</p>\n<p>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. </p>\n\n</div>\n</div>\n<a id=\"a4e895e320f983296f4a14a131dac4c66\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4e895e320f983296f4a14a131dac4c66\">&#9670;&nbsp;</a></span>indicatorDrawUnder()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::indicatorDrawUnder </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the indicator <em>indicatorNumber</em> is drawn under the text (i.e. in the background). The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5ba2e241be76c209c0f5509804a995c9\">setIndicatorDrawUnder()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3b281217e1abc5b4b4ccf8145df4b2ca\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3b281217e1abc5b4b4ccf8145df4b2ca\">&#9670;&nbsp;</a></span>isListActive()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isListActive </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if an auto-completion or user defined list is currently active. </p>\n\n</div>\n</div>\n<a id=\"a43b84483d91245a1fda14b758cd8b052\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a43b84483d91245a1fda14b758cd8b052\">&#9670;&nbsp;</a></span>isModified()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isModified </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the text has been modified.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">setModified()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">modificationChanged()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8403fbfd3afcaed7076359bb899d5136\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8403fbfd3afcaed7076359bb899d5136\">&#9670;&nbsp;</a></span>isReadOnly()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isReadOnly </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the text edit is read-only.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">setReadOnly()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8386414f7c04968c1642ecdd47b281df\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8386414f7c04968c1642ecdd47b281df\">&#9670;&nbsp;</a></span>isRedoAvailable()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isRedoAvailable </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if there is something that can be redone.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a62220018d9e9295cde64041246cfb3c4\">redo()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a87366cd0dc2931f62e9e4d6bcd870fdf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a87366cd0dc2931f62e9e4d6bcd870fdf\">&#9670;&nbsp;</a></span>isUndoAvailable()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isUndoAvailable </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if there is something that can be undone.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">undo()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afec7e71628d4af7a6573d1c74504ee20\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afec7e71628d4af7a6573d1c74504ee20\">&#9670;&nbsp;</a></span>isUtf8()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isUtf8 </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if text is interpreted as being UTF8 encoded. The default is to interpret the text as Latin1 encoded.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9071c0772ce576f60fce08395ce04274\">setUtf8()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4e27f94e78e5f184f37382950963d831\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4e27f94e78e5f184f37382950963d831\">&#9670;&nbsp;</a></span>isWordCharacter()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::isWordCharacter </td>\n          <td>(</td>\n          <td class=\"paramtype\">char&#160;</td>\n          <td class=\"paramname\"><em>ch</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if character <em>ch</em> is a valid word character.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a1052b3e64558fe29271c0829e6d0fdda\">wordCharacters()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8a8a5b9bcb9df18089b9fe2650e701db\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8a8a5b9bcb9df18089b9fe2650e701db\">&#9670;&nbsp;</a></span>lineAt()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::lineAt </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QPoint &amp;&#160;</td>\n          <td class=\"paramname\"><em>point</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the line which is at <em>point</em> pixel coordinates or -1 if there is no line at that point. </p>\n\n</div>\n</div>\n<a id=\"ad309f6cb931b47d67e67a59b3a66ea84\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad309f6cb931b47d67e67a59b3a66ea84\">&#9670;&nbsp;</a></span>lineIndexFromPosition()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::lineIndexFromPosition </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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 <em>position</em> byte index to the <em>*line</em> line number and <em>*index</em> character index.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a37646aa8dff617d11505617002439216\">positionFromLineIndex()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab5ecfa6bee9e78e5306986367e1194af\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab5ecfa6bee9e78e5306986367e1194af\">&#9670;&nbsp;</a></span>lineLength()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::lineLength </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the length of line <em>line</em> int bytes or -1 if there is no such line. In order to get the length in characters use text(line).<a class=\"el\" href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">length()</a>. </p>\n\n</div>\n</div>\n<a id=\"aedf7c8532be11bcfb8d38411bea88792\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aedf7c8532be11bcfb8d38411bea88792\">&#9670;&nbsp;</a></span>length()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::length </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the length of the text edit's text in bytes. In order to get the length in characters use <a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text()</a>.<a class=\"el\" href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">length()</a>. </p>\n\n</div>\n</div>\n<a id=\"aff5e2abd10fd64752adc1a89fc626e1e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff5e2abd10fd64752adc1a89fc626e1e\">&#9670;&nbsp;</a></span>lexer()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>* QsciScintilla::lexer </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the current language lexer used to style text. If it is 0 then syntax styling is disabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">setLexer()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a07c7b6c9889e61f7c7971bf126bff4f2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a07c7b6c9889e61f7c7971bf126bff4f2\">&#9670;&nbsp;</a></span>marginBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciScintilla::marginBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the background color of margin <em>margin</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">setMarginBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4bffe1a63e3484da908340274f7a7607\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4bffe1a63e3484da908340274f7a7607\">&#9670;&nbsp;</a></span>marginLineNumbers()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::marginLineNumbers </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if line numbers are enabled for margin <em>margin</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5fddd1e6e19cf2e2b40c15a39e62d198\">setMarginLineNumbers()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">marginType()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab29919614210e2bb21525b1d7fec44b1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab29919614210e2bb21525b1d7fec44b1\">&#9670;&nbsp;</a></span>marginMarkerMask()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::marginMarkerMask </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the marker mask of margin <em>margin</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>setMarginMask(), QsciMarker, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">SCI_GETMARGINMASKN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a07cb228e7f39e5a97271126df9ba9ef2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a07cb228e7f39e5a97271126df9ba9ef2\">&#9670;&nbsp;</a></span>marginOptions()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::marginOptions </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the margin options. The default is MoNone.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a626103a61623dd360dc44210fe435ad7\">setMarginOptions()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\" title=\"Reset all margin options.\">MoNone</a>, <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\">MoSublineSelect</a>. </dd></dl>\n\n</div>\n</div>\n<a id=\"ac141edcf0d537b247d8a1e79194db60b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac141edcf0d537b247d8a1e79194db60b\">&#9670;&nbsp;</a></span>marginSensitivity()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::marginSensitivity </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if margin <em>margin</em> is sensitive to mouse clicks.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">setMarginSensitivity()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">marginClicked()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa428fb0b96d28bba4a1d0515ea27643d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa428fb0b96d28bba4a1d0515ea27643d\">&#9670;&nbsp;</a></span>marginType()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">MarginType</a> QsciScintilla::marginType </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the type of margin <em>margin</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">setMarginType()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a21af5f49389a552a5beb05764714882a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a21af5f49389a552a5beb05764714882a\">&#9670;&nbsp;</a></span>marginWidth()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::marginWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the width in pixels of margin <em>margin</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a1a8b798b6b36db2b5f60b0cdccba88a1\">setMarginWidth()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">SCI_GETMARGINWIDTHN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a10adbea430478c16813df76dd2ecd10f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a10adbea430478c16813df76dd2ecd10f\">&#9670;&nbsp;</a></span>margins()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::margins </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the number of margins.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9c3a34cb9edf25913af16c9dc284cc5d\">setMargins()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a794059a7bf67982063ae349847599376\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a794059a7bf67982063ae349847599376\">&#9670;&nbsp;</a></span>markerDefine() <span class=\"overload\">[1/4]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerDefine </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">MarkerSymbol</a>&#160;</td>\n          <td class=\"paramname\"><em>sym</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Define a type of marker using the symbol <em>sym</em> with the marker number <em>markerNumber</em>. If <em>markerNumber</em> 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.</p>\n<p>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.</p>\n<p>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.</p>\n<p>Each marker type is identified by a marker number. Each instance of a marker is identified by a marker handle. </p>\n\n</div>\n</div>\n<a id=\"a97fd48c290c961342f09149d8996c053\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a97fd48c290c961342f09149d8996c053\">&#9670;&nbsp;</a></span>markerDefine() <span class=\"overload\">[2/4]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerDefine </td>\n          <td>(</td>\n          <td class=\"paramtype\">char&#160;</td>\n          <td class=\"paramname\"><em>ch</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Define a marker using the character <em>ch</em> with the marker number <em>markerNumber</em>. If <em>markerNumber</em> is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many markers have been defined. </p>\n\n</div>\n</div>\n<a id=\"acf0c4eb451d93a21887462bc7746f2e4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acf0c4eb451d93a21887462bc7746f2e4\">&#9670;&nbsp;</a></span>markerDefine() <span class=\"overload\">[3/4]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerDefine </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QPixmap &amp;&#160;</td>\n          <td class=\"paramname\"><em>pm</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Define a marker using a copy of the pixmap <em>pm</em> with the marker number <em>markerNumber</em>. If <em>markerNumber</em> is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many markers have been defined. </p>\n\n</div>\n</div>\n<a id=\"ae21678ec76acecd0bdd960fbd6a81843\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae21678ec76acecd0bdd960fbd6a81843\">&#9670;&nbsp;</a></span>markerDefine() <span class=\"overload\">[4/4]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerDefine </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QImage &amp;&#160;</td>\n          <td class=\"paramname\"><em>im</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Define a marker using a copy of the image <em>im</em> with the marker number <em>markerNumber</em>. If <em>markerNumber</em> is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many markers have been defined. </p>\n\n</div>\n</div>\n<a id=\"a12673046e00bd7fdd7616a5e8c62a924\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a12673046e00bd7fdd7616a5e8c62a924\">&#9670;&nbsp;</a></span>markerAdd()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerAdd </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>linenr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Add an instance of marker number <em>markerNumber</em> to line number <em>linenr</em>. A handle for the marker is returned which can be used to track the marker's position, or -1 if the <em>markerNumber</em> was invalid.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">markerDelete()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">markerDeleteAll()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">markerDeleteHandle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3eace684c0a33e044cceb300b1a97798\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3eace684c0a33e044cceb300b1a97798\">&#9670;&nbsp;</a></span>markersAtLine()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">unsigned QsciScintilla::markersAtLine </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>linenr</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the 32 bit mask of marker numbers at line number <em>linenr</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">markerAdd()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0da7428fe1c237620cddbf30d06329da\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0da7428fe1c237620cddbf30d06329da\">&#9670;&nbsp;</a></span>markerDelete()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::markerDelete </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>linenr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Delete all markers with the marker number <em>markerNumber</em> in the line <em>linenr</em>. If <em>markerNumber</em> is -1 then delete all markers from line <em>linenr</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">markerAdd()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">markerDeleteAll()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">markerDeleteHandle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a52aaeee4b9171222c20af3557adaf0ad\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a52aaeee4b9171222c20af3557adaf0ad\">&#9670;&nbsp;</a></span>markerDeleteAll()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::markerDeleteAll </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Delete the all markers with the marker number <em>markerNumber</em>. If <em>markerNumber</em> is -1 then delete all markers.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">markerAdd()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">markerDelete()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">markerDeleteHandle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa226d94a0f7ed194012ca972d0f49ce8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa226d94a0f7ed194012ca972d0f49ce8\">&#9670;&nbsp;</a></span>markerDeleteHandle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::markerDeleteHandle </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>mhandle</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Delete the the marker instance with the marker handle <em>mhandle</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">markerAdd()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">markerDelete()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">markerDeleteAll()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa9612621315a0b3fcecdb8d0f2a2abb2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa9612621315a0b3fcecdb8d0f2a2abb2\">&#9670;&nbsp;</a></span>markerLine()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerLine </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>mhandle</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the line number that contains the marker instance with the marker handle <em>mhandle</em>. </p>\n\n</div>\n</div>\n<a id=\"af8cedca829a47783199ab0e1dfc160d5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af8cedca829a47783199ab0e1dfc160d5\">&#9670;&nbsp;</a></span>markerFindNext()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerFindNext </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>linenr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned&#160;</td>\n          <td class=\"paramname\"><em>mask</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the number of the next line to contain at least one marker from a 32 bit mask of markers. <em>linenr</em> is the line number to start the search from. <em>mask</em> is the mask of markers to search for.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8e6ff4072224ba360403fe1ade1375ba\">markerFindPrevious()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8e6ff4072224ba360403fe1ade1375ba\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8e6ff4072224ba360403fe1ade1375ba\">&#9670;&nbsp;</a></span>markerFindPrevious()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::markerFindPrevious </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>linenr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned&#160;</td>\n          <td class=\"paramname\"><em>mask</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the number of the previous line to contain at least one marker from a 32 bit mask of markers. <em>linenr</em> is the line number to start the search from. <em>mask</em> is the mask of markers to search for.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#af8cedca829a47783199ab0e1dfc160d5\">markerFindNext()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac419a79eed86a754cfb556b3961e990d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac419a79eed86a754cfb556b3961e990d\">&#9670;&nbsp;</a></span>overwriteMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::overwriteMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if text entered by the user will overwrite existing text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa627ee937acaae02dc0c5b468fd2643b\">setOverwriteMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4fe2c0ce4d6fd17617c266983537f5b6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4fe2c0ce4d6fd17617c266983537f5b6\">&#9670;&nbsp;</a></span>paper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciScintilla::paper </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the widget's paper (ie. background) colour.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa805f90f3bbe067299e9ab8902eafbf3\">setPaper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a37646aa8dff617d11505617002439216\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a37646aa8dff617d11505617002439216\">&#9670;&nbsp;</a></span>positionFromLineIndex()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::positionFromLineIndex </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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 <em>line</em> line number and <em>index</em> character index.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ad309f6cb931b47d67e67a59b3a66ea84\">lineIndexFromPosition()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a89e46329c110449b2e7334ccf623ceed\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a89e46329c110449b2e7334ccf623ceed\">&#9670;&nbsp;</a></span>read()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::read </td>\n          <td>(</td>\n          <td class=\"paramtype\">QIODevice *&#160;</td>\n          <td class=\"paramname\"><em>io</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Reads the current document from the <em>io</em> device and returns true if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a94b8329c4259ea90a6a28b1e745837de\">write()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a07fe5007913f0001a473d92f4c3fdbe6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a07fe5007913f0001a473d92f4c3fdbe6\">&#9670;&nbsp;</a></span>recolor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::recolor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>start</em> = <code>0</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>end</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Recolours the document between the <em>start</em> and <em>end</em> positions. <em>start</em> defaults to the start of the document and <em>end</em> defaults to the end of the document. </p>\n\n</div>\n</div>\n<a id=\"a38bf5a8680df52675e5299fccbbc7181\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a38bf5a8680df52675e5299fccbbc7181\">&#9670;&nbsp;</a></span>registerImage() <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::registerImage </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>id</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QPixmap &amp;&#160;</td>\n          <td class=\"paramname\"><em>pm</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Register an image <em>pm</em> with ID <em>id</em>. Registered images can be displayed in auto-completion lists.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">clearRegisteredImages()</a>, QsciLexer::apiLoad() </dd></dl>\n\n</div>\n</div>\n<a id=\"a1d35bee9f234dbde7066a68b924edeed\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1d35bee9f234dbde7066a68b924edeed\">&#9670;&nbsp;</a></span>registerImage() <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::registerImage </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>id</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QImage &amp;&#160;</td>\n          <td class=\"paramname\"><em>im</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Register an image <em>im</em> with ID <em>id</em>. Registered images can be displayed in auto-completion lists.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">clearRegisteredImages()</a>, QsciLexer::apiLoad() </dd></dl>\n\n</div>\n</div>\n<a id=\"ad8a7afc4f25e04e805b7e291d5df1d35\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad8a7afc4f25e04e805b7e291d5df1d35\">&#9670;&nbsp;</a></span>replace()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::replace </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>replaceStr</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Replace the current selection, set by a previous call to <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection()</a> or <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext()</a>, with <em>replaceStr</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">cancelFind()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">findFirst()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">findFirstInSelection()</a>, <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">findNext()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae1d3703631c9113a4309da17332ca180\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae1d3703631c9113a4309da17332ca180\">&#9670;&nbsp;</a></span>resetFoldMarginColors()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::resetFoldMarginColors </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Reset the fold margin colours to their defaults.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6bdcf192822a31094e680ffb2f142aab\">setFoldMarginColors()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a366393c6bf0fd7ef5ce87b7682e6c6ae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a366393c6bf0fd7ef5ce87b7682e6c6ae\">&#9670;&nbsp;</a></span>resetHotspotBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::resetHotspotBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Resets the background colour of an active hotspot area to the default.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">setHotspotBackgroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">resetHotspotForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3fd2a1bbc409d1bbca44efc7976b808c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3fd2a1bbc409d1bbca44efc7976b808c\">&#9670;&nbsp;</a></span>resetHotspotForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::resetHotspotForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Resets the foreground colour of an active hotspot area to the default.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">setHotspotForegroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">resetHotspotBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad5fa8715b931fc0143aa72a20420578d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad5fa8715b931fc0143aa72a20420578d\">&#9670;&nbsp;</a></span>scrollWidth()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::scrollWidth </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Gets the assumed document width in pixels.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">setScrollWidth()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">setScrollWidthTracking()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abf895c5e4157e4b6effd28683c728b63\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf895c5e4157e4b6effd28683c728b63\">&#9670;&nbsp;</a></span>scrollWidthTracking()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::scrollWidthTracking </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if scroll width tracking is enabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">scrollWidth()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">setScrollWidthTracking()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6bdcf192822a31094e680ffb2f142aab\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6bdcf192822a31094e680ffb2f142aab\">&#9670;&nbsp;</a></span>setFoldMarginColors()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setFoldMarginColors </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>fore</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>back</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The fold margin may be drawn as a one pixel sized checkerboard pattern of two colours, <em>fore</em> and <em>back</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae1d3703631c9113a4309da17332ca180\">resetFoldMarginColors()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aeda9c17a6e746e177fa6f5311d96dc03\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeda9c17a6e746e177fa6f5311d96dc03\">&#9670;&nbsp;</a></span>setAnnotationDisplay()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setAnnotationDisplay </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">AnnotationDisplay</a>&#160;</td>\n          <td class=\"paramname\"><em>display</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the display style for annotations. The default is AnnotationStandard.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3045ab135148ca52330ad233703a57f1\">annotationDisplay()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0d273a0573088d9fb6d66d7b2633ea4b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0d273a0573088d9fb6d66d7b2633ea4b\">&#9670;&nbsp;</a></span>setAutoCompletionFillupsEnabled()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setAutoCompletionFillupsEnabled </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Enable the use of fill-up characters, either those explicitly set or those set by a lexer. By default, fill-up characters are disabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">autoCompletionFillupsEnabled()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">setAutoCompletionFillups()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9851c2349b4140faa129b7125bee416d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9851c2349b4140faa129b7125bee416d\">&#9670;&nbsp;</a></span>setAutoCompletionFillups()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setAutoCompletionFillups </td>\n          <td>(</td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>fillups</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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. <em>fillups</em> 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">autoCompletionFillupsEnabled()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">setAutoCompletionFillupsEnabled()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4ba18e98a98310113fb30d8ada30fe14\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4ba18e98a98310113fb30d8ada30fe14\">&#9670;&nbsp;</a></span>setAutoCompletionWordSeparators()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setAutoCompletionWordSeparators </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QStringList &amp;&#160;</td>\n          <td class=\"paramname\"><em>separators</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">setAutoCompletionThreshold()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af780380f9f1f2a66c729759b1d37ba69\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af780380f9f1f2a66c729759b1d37ba69\">&#9670;&nbsp;</a></span>setCallTipsBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setCallTipsBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the background colour of call tips to <em>col</em>. The default is white. </p>\n\n</div>\n</div>\n<a id=\"a13a64159770a6eb451567bc2d293c2a2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a13a64159770a6eb451567bc2d293c2a2\">&#9670;&nbsp;</a></span>setCallTipsForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setCallTipsForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour of call tips to <em>col</em>. The default is mid-gray. </p>\n\n</div>\n</div>\n<a id=\"ae64151db464b22eedd012225f82c810d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae64151db464b22eedd012225f82c810d\">&#9670;&nbsp;</a></span>setCallTipsHighlightColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setCallTipsHighlightColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the highlighted colour of call tip text to <em>col</em>. The default is dark blue. </p>\n\n</div>\n</div>\n<a id=\"a7f9d93c22ed8b7b00996408da578cd2a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7f9d93c22ed8b7b00996408da578cd2a\">&#9670;&nbsp;</a></span>setCallTipsPosition()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setCallTipsPosition </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">CallTipsPosition</a>&#160;</td>\n          <td class=\"paramname\"><em>position</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the current call tip position. The default is CallTipsBelowText.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a903187bfe219603ad7e20612d008ea7a\">callTipsPosition()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a253807bb0f4b3db471b059afc70b77db\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a253807bb0f4b3db471b059afc70b77db\">&#9670;&nbsp;</a></span>setCallTipsStyle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setCallTipsStyle </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">CallTipsStyle</a>&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the current call tip style. The default is CallTipsNoContext.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a632fe3f132c3679ada1fc22a57ca88f7\">callTipsStyle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aec47d94706ffb14ef35035ba827b5b45\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aec47d94706ffb14ef35035ba827b5b45\">&#9670;&nbsp;</a></span>setCallTipsVisible()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setCallTipsVisible </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>nr</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the maximum number of call tips that are displayed to <em>nr</em>. 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8fdc8049cd5d876b10c2fd9149e72699\">callTipsVisible()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9405d8aaa240dfc8fe30c3a4b5556ecc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9405d8aaa240dfc8fe30c3a4b5556ecc\">&#9670;&nbsp;</a></span>setContractedFolds()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setContractedFolds </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QList&lt; int &gt; &amp;&#160;</td>\n          <td class=\"paramname\"><em>folds</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets each line in the <em>folds</em> list of line numbers to be a contracted fold. This is typically used to restore the fold state of a document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a63c0f682eecba626fff511c6b1612ab6\">contractedFolds()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3a0d1c86f15f218fe6c0e04fea0ba6d9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">&#9670;&nbsp;</a></span>setDocument()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setDocument </td>\n          <td>(</td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a> &amp;&#160;</td>\n          <td class=\"paramname\"><em>document</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Attach the document <em>document</em>, replacing the currently attached document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">document()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac46502c93651ec7a6642afe5dca86ffc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac46502c93651ec7a6642afe5dca86ffc\">&#9670;&nbsp;</a></span>addEdgeColumn()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::addEdgeColumn </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>colnr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Add <em>colnr</em> to the columns which are displayed with a vertical line. The edge mode must be set to EdgeMultipleLines.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">clearEdgeColumns()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">&#9670;&nbsp;</a></span>clearEdgeColumns()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::clearEdgeColumns </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Remove any columns added by previous calls to <a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">addEdgeColumn()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">addEdgeColumn()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aec296526c86ae02deb561b4b4836a886\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aec296526c86ae02deb561b4b4836a886\">&#9670;&nbsp;</a></span>setEdgeColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setEdgeColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the color of the marker used to show that a line has exceeded the length set by <a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aee2887fadd0ddac9cee9dcdaee8d8696\">edgeColor()</a>, </dd>\n<dd>\n<a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">setEdgeColumn</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8e88f3f4369b73980bb40d5d3a8caf26\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8e88f3f4369b73980bb40d5d3a8caf26\">&#9670;&nbsp;</a></span>setEdgeColumn()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setEdgeColumn </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>colnr</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the number of the column after which lines are considered to be long.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a044b772f07f8d5218170a11db05cc3d5\">edgeColumn()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3493e72e97607270ca64c01b521f933f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3493e72e97607270ca64c01b521f933f\">&#9670;&nbsp;</a></span>setEdgeMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setEdgeMode </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">EdgeMode</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the edge mode which determines how long lines are marked.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6fca34c3778ad8b4c067d577816ebc2b\">edgeMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a451bcf235c2ad7628d32940a13d22116\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a451bcf235c2ad7628d32940a13d22116\">&#9670;&nbsp;</a></span>setFirstVisibleLine()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setFirstVisibleLine </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>linenr</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the number of the first visible line to <em>linenr</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a689eed3f6219e20924bcffdb95f27526\">firstVisibleLine()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5ba2e241be76c209c0f5509804a995c9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5ba2e241be76c209c0f5509804a995c9\">&#9670;&nbsp;</a></span>setIndicatorDrawUnder()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setIndicatorDrawUnder </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>under</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>under</em>, if the indicator <em>indicatorNumber</em> is drawn under or over the text (i.e. in the background or foreground). If <em>indicatorNumber</em> is -1 then the state of all indicators is set.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4e895e320f983296f4a14a131dac4c66\">indicatorDrawUnder()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2ffd6d691d5a63940e448138f3754a47\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2ffd6d691d5a63940e448138f3754a47\">&#9670;&nbsp;</a></span>setIndicatorForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setIndicatorForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour of indicator <em>indicatorNumber</em> to <em>col</em>. If <em>indicatorNumber</em> is -1 then the colour of all indicators is set. </p>\n\n</div>\n</div>\n<a id=\"a616edbb9da241c08f8381835d65bb18c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a616edbb9da241c08f8381835d65bb18c\">&#9670;&nbsp;</a></span>setIndicatorHoverForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setIndicatorHoverForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour of indicator <em>indicatorNumber</em> to <em>col</em> when the mouse is over it or the caret moved into it. If <em>indicatorNumber</em> is -1 then the colour of all indicators is set. </p>\n\n</div>\n</div>\n<a id=\"ae76354288b8e5c2bc6f7a7e7bd97e44e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae76354288b8e5c2bc6f7a7e7bd97e44e\">&#9670;&nbsp;</a></span>setIndicatorHoverStyle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setIndicatorHoverStyle </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">IndicatorStyle</a>&#160;</td>\n          <td class=\"paramname\"><em>style</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the style of indicator <em>indicatorNumber</em> to <em>style</em> when the mouse is over it or the caret moved into it. If <em>indicatorNumber</em> is -1 then the style of all indicators is set. </p>\n\n</div>\n</div>\n<a id=\"af63627804eeffc4f0f1290181cda7781\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af63627804eeffc4f0f1290181cda7781\">&#9670;&nbsp;</a></span>setIndicatorOutlineColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setIndicatorOutlineColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the outline colour of indicator <em>indicatorNumber</em> to <em>col</em>. If <em>indicatorNumber</em> is -1 then the colour of all indicators is set. At the moment only the alpha value of the colour has any affect. </p>\n\n</div>\n</div>\n<a id=\"a18c2bd1ee70c87809ba307ae6b695272\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a18c2bd1ee70c87809ba307ae6b695272\">&#9670;&nbsp;</a></span>setMarginBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarginBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the background color of margin <em>margin</em> to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a07c7b6c9889e61f7c7971bf126bff4f2\">marginBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a626103a61623dd360dc44210fe435ad7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a626103a61623dd360dc44210fe435ad7\">&#9670;&nbsp;</a></span>setMarginOptions()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarginOptions </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>options</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the margin options to <em>options</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a07cb228e7f39e5a97271126df9ba9ef2\">marginOptions()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\" title=\"Reset all margin options.\">MoNone</a>, <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\">MoSublineSelect</a>. </dd></dl>\n\n</div>\n</div>\n<a id=\"a7677d42ce77cb5a150dc961d12da92e1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7677d42ce77cb5a150dc961d12da92e1\">&#9670;&nbsp;</a></span>setMarginText() <span class=\"overload\">[1/3]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarginText </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the margin text of line <em>line</em> with the text <em>text</em> using the style number <em>style</em>. </p>\n\n</div>\n</div>\n<a id=\"ad1b6838e763eb9d7c0b3562b6c2a96ae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad1b6838e763eb9d7c0b3562b6c2a96ae\">&#9670;&nbsp;</a></span>setMarginText() <span class=\"overload\">[2/3]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarginText </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the margin text of line <em>line</em> with the text <em>text</em> using the style <em>style</em>. </p>\n\n</div>\n</div>\n<a id=\"a2b148c2c2065f1ef1563421303a02225\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2b148c2c2065f1ef1563421303a02225\">&#9670;&nbsp;</a></span>setMarginText() <span class=\"overload\">[3/3]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarginText </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QList&lt; <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a> &gt; &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the margin text of line <em>line</em> with the list of styled text <em>text</em>. </p>\n\n</div>\n</div>\n<a id=\"a4dd046074be580fbde318ba2ae343d39\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4dd046074be580fbde318ba2ae343d39\">&#9670;&nbsp;</a></span>setMarginType()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarginType </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">MarginType</a>&#160;</td>\n          <td class=\"paramname\"><em>type</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the type of margin <em>margin</em> to type <em>type</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">marginType()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aeadb693affb5816e24d28432d8dc240f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeadb693affb5816e24d28432d8dc240f\">&#9670;&nbsp;</a></span>clearMarginText()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::clearMarginText </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em> = <code>-1</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The margin text on line <em>line</em> is removed. If <em>line</em> is negative then all margin text is removed. </p>\n\n</div>\n</div>\n<a id=\"a9c3a34cb9edf25913af16c9dc284cc5d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9c3a34cb9edf25913af16c9dc284cc5d\">&#9670;&nbsp;</a></span>setMargins()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMargins </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margins</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the number of margins to <em>margins</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">margins()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"acf47d4b76a8c85a48fe9a27423997071\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acf47d4b76a8c85a48fe9a27423997071\">&#9670;&nbsp;</a></span>setMarkerBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarkerBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the background colour, including the alpha component, of marker <em>markerNumber</em> to <em>col</em>. If <em>markerNumber</em> is -1 then the colour of all markers is set. The default is white.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6abf177ca5bf8eea0930106d2867edae\">setMarkerForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6abf177ca5bf8eea0930106d2867edae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6abf177ca5bf8eea0930106d2867edae\">&#9670;&nbsp;</a></span>setMarkerForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMarkerForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>markerNumber</em> = <code>-1</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour of marker <em>markerNumber</em> to <em>col</em>. If <em>markerNumber</em> is -1 then the colour of all markers is set. The default is black.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#acf47d4b76a8c85a48fe9a27423997071\">setMarkerBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abf85680f914ee631aa3a513ba823271f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abf85680f914ee631aa3a513ba823271f\">&#9670;&nbsp;</a></span>setMatchedBraceBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMatchedBraceBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the background colour used to display matched braces to <em>col</em>. It is ignored if an indicator is being used. The default is white.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#af590f3e7196b21860e0405670cfa512d\">setMatchedBraceForegroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">setMatchedBraceIndicator()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af590f3e7196b21860e0405670cfa512d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af590f3e7196b21860e0405670cfa512d\">&#9670;&nbsp;</a></span>setMatchedBraceForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMatchedBraceForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour used to display matched braces to <em>col</em>. It is ignored if an indicator is being used. The default is red.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">setMatchedBraceBackgroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">setMatchedBraceIndicator()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a067cd392c008e07ff259ffdd0ce25fcb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a067cd392c008e07ff259ffdd0ce25fcb\">&#9670;&nbsp;</a></span>setMatchedBraceIndicator()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setMatchedBraceIndicator </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the indicator used to display matched braces to <em>indicatorNumber</em>. The default is not to use an indicator.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae308bac1c3567d835742e02f1bc35a6c\">resetMatchedBraceIndicator()</a>, <a class=\"el\" href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">setMatchedBraceBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae308bac1c3567d835742e02f1bc35a6c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae308bac1c3567d835742e02f1bc35a6c\">&#9670;&nbsp;</a></span>resetMatchedBraceIndicator()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::resetMatchedBraceIndicator </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Stop using an indicator to display matched braces.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">setMatchedBraceIndicator()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9b1a8ed3235c506ffca09260cdd0e209\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9b1a8ed3235c506ffca09260cdd0e209\">&#9670;&nbsp;</a></span>setScrollWidth()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setScrollWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>pixelWidth</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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 <em>pixelWidth</em>. The default value is 2000.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">scrollWidth()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">setScrollWidthTracking()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7451e82e2ee3d0ddb3b8418edb0202f2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7451e82e2ee3d0ddb3b8418edb0202f2\">&#9670;&nbsp;</a></span>setScrollWidthTracking()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setScrollWidthTracking </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enabled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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 <em>enabled</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">setScrollWidth()</a>, <a class=\"el\" href=\"classQsciScintilla.html#abf895c5e4157e4b6effd28683c728b63\">scrollWidthTracking()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a69f35ec6e80059bbb351c8f8845cd8f6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a69f35ec6e80059bbb351c8f8845cd8f6\">&#9670;&nbsp;</a></span>setTabDrawMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setTabDrawMode </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">TabDrawMode</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the mode used to draw tab characters when whitespace is visible to <em>mode</em>. The default is to use an arrow.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ab000e5f46abc6568405585b711067d1e\">tabDrawMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3035ddd4e1360c2d9a6c86b362a0d905\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3035ddd4e1360c2d9a6c86b362a0d905\">&#9670;&nbsp;</a></span>setUnmatchedBraceBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setUnmatchedBraceBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the background colour used to display unmatched braces to <em>col</em>. It is ignored if an indicator is being used. The default is white.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a511a4f492a9912df3d430fba33b67d5c\">setUnmatchedBraceForegroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">setUnmatchedBraceIndicator()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a511a4f492a9912df3d430fba33b67d5c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a511a4f492a9912df3d430fba33b67d5c\">&#9670;&nbsp;</a></span>setUnmatchedBraceForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setUnmatchedBraceForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour used to display unmatched braces to <em>col</em>. It is ignored if an indicator is being used. The default is blue.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">setUnmatchedBraceBackgroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">setUnmatchedBraceIndicator()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4b6bdaf96ffaedeeaf7aa6d92b28913f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">&#9670;&nbsp;</a></span>setUnmatchedBraceIndicator()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setUnmatchedBraceIndicator </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indicatorNumber</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the indicator used to display unmatched braces to <em>indicatorNumber</em>. The default is not to use an indicator.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a48c91d4dd29c84bff4ee20962372ca23\">resetUnmatchedBraceIndicator()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">setUnmatchedBraceBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a48c91d4dd29c84bff4ee20962372ca23\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a48c91d4dd29c84bff4ee20962372ca23\">&#9670;&nbsp;</a></span>resetUnmatchedBraceIndicator()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::resetUnmatchedBraceIndicator </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Stop using an indicator to display unmatched braces.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">setUnmatchedBraceIndicator()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab696e4703374af4c01651453d094ac08\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab696e4703374af4c01651453d094ac08\">&#9670;&nbsp;</a></span>setWrapVisualFlags()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setWrapVisualFlags </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">WrapVisualFlag</a>&#160;</td>\n          <td class=\"paramname\"><em>endFlag</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">WrapVisualFlag</a>&#160;</td>\n          <td class=\"paramname\"><em>startFlag</em> = <code><a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">WrapFlagNone</a></code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indent</em> = <code>0</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the visual flags displayed when a line is wrapped. <em>endFlag</em> determines if and where the flag at the end of a line is displayed. <em>startFlag</em> determines if and where the flag at the start of a line is displayed. <em>indent</em> is the number of characters a wrapped line is indented by. By default no visual flags are displayed. </p>\n\n</div>\n</div>\n<a id=\"a10c8d8f5e97fb5ef86ea351407fe1023\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a10c8d8f5e97fb5ef86ea351407fe1023\">&#9670;&nbsp;</a></span>selectedText()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciScintilla::selectedText </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the selected text or an empty string if there is no currently selected text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ad6b00de0b5fa769ff6d30036f9d784de\">hasSelectedText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaf77d8976ae47a1d5e5ee804bc0645d3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaf77d8976ae47a1d5e5ee804bc0645d3\">&#9670;&nbsp;</a></span>selectionToEol()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::selectionToEol </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns whether or not the selection is drawn up to the right hand border.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a7e36f3595e0d89910b9322dc5295152d\">setSelectionToEol()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaf19a3abaa1b1662a0f1b499ef4b6602\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaf19a3abaa1b1662a0f1b499ef4b6602\">&#9670;&nbsp;</a></span>setHotspotBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setHotspotBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the background colour of an active hotspot area to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">resetHotspotBackgroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">setHotspotForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4c6a412b7d066b9fce90f3976350348c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4c6a412b7d066b9fce90f3976350348c\">&#9670;&nbsp;</a></span>setHotspotForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setHotspotForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the foreground colour of an active hotspot area to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">resetHotspotForegroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">setHotspotBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac961cfe1be7cd29038a2772f30b71bfc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac961cfe1be7cd29038a2772f30b71bfc\">&#9670;&nbsp;</a></span>setHotspotUnderline()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setHotspotUnderline </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>enable</em>, the underlining of an active hotspot area. The default is false. </p>\n\n</div>\n</div>\n<a id=\"a7245335691700f82db41016d257d63cc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7245335691700f82db41016d257d63cc\">&#9670;&nbsp;</a></span>setHotspotWrap()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setHotspotWrap </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>enable</em>, the wrapping of a hotspot area to following lines. The default is true. </p>\n\n</div>\n</div>\n<a id=\"a7e36f3595e0d89910b9322dc5295152d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7e36f3595e0d89910b9322dc5295152d\">&#9670;&nbsp;</a></span>setSelectionToEol()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setSelectionToEol </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>filled</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets whether or not the selection is drawn up to the right hand border. <em>filled</em> is set if the selection is drawn to the border.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aaf77d8976ae47a1d5e5ee804bc0645d3\">selectionToEol()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a87e61d47e344dbbb84c4608fdc8536d0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a87e61d47e344dbbb84c4608fdc8536d0\">&#9670;&nbsp;</a></span>setExtraAscent()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setExtraAscent </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>extra</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the extra space added to the height of a line above the baseline of the text to <em>extra</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">extraAscent()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">setExtraDescent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a06458817a42498ee65e890c36f63453e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a06458817a42498ee65e890c36f63453e\">&#9670;&nbsp;</a></span>setExtraDescent()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setExtraDescent </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>extra</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the extra space added to the height of a line below the baseline of the text to <em>extra</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">extraDescent()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">setExtraAscent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa627ee937acaae02dc0c5b468fd2643b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa627ee937acaae02dc0c5b468fd2643b\">&#9670;&nbsp;</a></span>setOverwriteMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setOverwriteMode </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>overwrite</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Text entered by the user will overwrite existing text if <em>overwrite</em> is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac419a79eed86a754cfb556b3961e990d\">overwriteMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9fdd43a276cf3d9a3e7cc86dc7f280f5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9fdd43a276cf3d9a3e7cc86dc7f280f5\">&#9670;&nbsp;</a></span>setWhitespaceBackgroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setWhitespaceBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the background colour of visible whitespace to <em>col</em>. If <em>col</em> is an invalid color (the default) then the color specified by the current lexer is used. </p>\n\n</div>\n</div>\n<a id=\"a67177e2b1d8584d8cf8f1b276174b258\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a67177e2b1d8584d8cf8f1b276174b258\">&#9670;&nbsp;</a></span>setWhitespaceForegroundColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setWhitespaceForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the foreground colour of visible whitespace to <em>col</em>. If <em>col</em> is an invalid color (the default) then the color specified by the current lexer is used. </p>\n\n</div>\n</div>\n<a id=\"a7436ea4b640c312fd07945e9b436e19b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7436ea4b640c312fd07945e9b436e19b\">&#9670;&nbsp;</a></span>setWhitespaceSize()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setWhitespaceSize </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>size</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the size of the dots used to represent visible whitespace.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a0b527097e38858853ea2ac5861278233\">whitespaceSize()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad8424876c29b1a77fd1df45a534722d1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad8424876c29b1a77fd1df45a534722d1\">&#9670;&nbsp;</a></span>setWrapIndentMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::setWrapIndentMode </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">WrapIndentMode</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Sets the line wrap indentation mode to <em>mode</em>. The default is WrapIndentFixed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8b593f92c03b3d6f999cd9d769c5028b\">wrapIndentMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a42ae037173aab16ce5e14788e6331623\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a42ae037173aab16ce5e14788e6331623\">&#9670;&nbsp;</a></span>showUserList()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::showUserList </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>id</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QStringList &amp;&#160;</td>\n          <td class=\"paramname\"><em>list</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Displays a user defined list which can be interacted with like an auto-completion list. <em>id</em> is an identifier for the list which is passed as an argument to the <a class=\"el\" href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">userListActivated()</a> signal and must be at least 1. <em>list</em> is the text with which the list is populated.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a29e0cbc36bafac84bc1c755b6ee26abd\" title=\"Cancel any current auto-completion or user defined list.\">cancelList()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a3b281217e1abc5b4b4ccf8145df4b2ca\">isListActive()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">userListActivated()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab000e5f46abc6568405585b711067d1e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab000e5f46abc6568405585b711067d1e\">&#9670;&nbsp;</a></span>tabDrawMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">TabDrawMode</a> QsciScintilla::tabDrawMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the mode used to draw tab characters when whitespace is visible.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a69f35ec6e80059bbb351c8f8845cd8f6\">setTabDrawMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2a85bb9cb78ce6a57cf053dc83333759\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2a85bb9cb78ce6a57cf053dc83333759\">&#9670;&nbsp;</a></span>tabIndents()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::tabIndents </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns true if the tab key indents a line instead of inserting a tab character. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">setTabIndents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">backspaceUnindents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">setBackspaceUnindents()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4bca4c8ca2d5a426aabac915f8d5f0f3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4bca4c8ca2d5a426aabac915f8d5f0f3\">&#9670;&nbsp;</a></span>tabWidth()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::tabWidth </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the tab width in characters. The default is 8.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a1bd5470bc123a43c98facfc5c4a1e523\">setTabWidth()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af76ffea29540b830aebdf62a00a5e90d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af76ffea29540b830aebdf62a00a5e90d\">&#9670;&nbsp;</a></span>text() <span class=\"overload\">[1/3]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciScintilla::text </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the text of the current document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">setText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7d5c7190fb8b022e05e20ca011a0c65e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7d5c7190fb8b022e05e20ca011a0c65e\">&#9670;&nbsp;</a></span>text() <span class=\"overload\">[2/3]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciScintilla::text </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</p>\n<p>Returns the text of line <em>line</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">setText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a794e5cccbc1aa419bad4c7cfe65f8f02\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a794e5cccbc1aa419bad4c7cfe65f8f02\">&#9670;&nbsp;</a></span>text() <span class=\"overload\">[3/3]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciScintilla::text </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>start</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>end</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</p>\n<p>Returns the text between positions <em>start</em> and <em>end</em>. This is typically used by <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">QsciLexerCustom::styleText()</a>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">bytes()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">setText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0b527097e38858853ea2ac5861278233\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0b527097e38858853ea2ac5861278233\">&#9670;&nbsp;</a></span>whitespaceSize()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciScintilla::whitespaceSize </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the size of the dots used to represent visible whitespace.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a7436ea4b640c312fd07945e9b436e19b\">setWhitespaceSize()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a778c09295bdb4924aacf40d3134c50ba\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a778c09295bdb4924aacf40d3134c50ba\">&#9670;&nbsp;</a></span>whitespaceVisibility()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">WhitespaceVisibility</a> QsciScintilla::whitespaceVisibility </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the visibility of whitespace.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa2bca1d2d137ea4a3f944a4f41f98a94\">setWhitespaceVisibility()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a70c1bd30a1d26b2e059236a4b2835c44\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a70c1bd30a1d26b2e059236a4b2835c44\">&#9670;&nbsp;</a></span>wordAtLineIndex()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciScintilla::wordAtLineIndex </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the word at the <em>line</em> line number and <em>index</em> character index. </p>\n\n</div>\n</div>\n<a id=\"a1052b3e64558fe29271c0829e6d0fdda\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1052b3e64558fe29271c0829e6d0fdda\">&#9670;&nbsp;</a></span>wordCharacters()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const char* QsciScintilla::wordCharacters </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4e27f94e78e5f184f37382950963d831\">isWordCharacter()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4bf424d21079ab835dae90ce042400a0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4bf424d21079ab835dae90ce042400a0\">&#9670;&nbsp;</a></span>wrapMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">WrapMode</a> QsciScintilla::wrapMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the line wrap mode.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac04428d2f90c36458d68a673f107e40c\">setWrapMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8b593f92c03b3d6f999cd9d769c5028b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8b593f92c03b3d6f999cd9d769c5028b\">&#9670;&nbsp;</a></span>wrapIndentMode()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">WrapIndentMode</a> QsciScintilla::wrapIndentMode </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the line wrap indentation mode.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ad8424876c29b1a77fd1df45a534722d1\">setWrapIndentMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a94b8329c4259ea90a6a28b1e745837de\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a94b8329c4259ea90a6a28b1e745837de\">&#9670;&nbsp;</a></span>write()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciScintilla::write </td>\n          <td>(</td>\n          <td class=\"paramtype\">QIODevice *&#160;</td>\n          <td class=\"paramname\"><em>io</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Writes the current document to the <em>io</em> device and returns true if there was no error.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a89e46329c110449b2e7334ccf623ceed\">read()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae7310729b1be2aa937a22036f5d95b51\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae7310729b1be2aa937a22036f5d95b51\">&#9670;&nbsp;</a></span>append</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::append </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Appends the text <em>text</em> to the end of the text edit. Note that the undo/redo history is cleared by this function. </p>\n\n</div>\n</div>\n<a id=\"a5f10e95e76c2b38b9d20f6f728243e65\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5f10e95e76c2b38b9d20f6f728243e65\">&#9670;&nbsp;</a></span>autoCompleteFromAll</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::autoCompleteFromAll </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">autoCompleteFromAPIs()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">autoCompleteFromDocument()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae89d58a67f46efad7136bead41232fd6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae89d58a67f46efad7136bead41232fd6\">&#9670;&nbsp;</a></span>autoCompleteFromAPIs</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::autoCompleteFromAPIs </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Display an auto-completion list based on any installed APIs and the characters immediately to the left of the cursor.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">autoCompleteFromAll()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">autoCompleteFromDocument()</a>, setAutoCompletionAPIs() </dd></dl>\n\n</div>\n</div>\n<a id=\"ae4d479c640e2ea4444aa905f69495321\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae4d479c640e2ea4444aa905f69495321\">&#9670;&nbsp;</a></span>autoCompleteFromDocument</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::autoCompleteFromDocument </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Display an auto-completion list based on the current contents of the document and the characters immediately to the left of the cursor.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">autoCompleteFromAll()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">autoCompleteFromAPIs()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a33a692fb0d5781ec40080a361859fd66\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a33a692fb0d5781ec40080a361859fd66\">&#9670;&nbsp;</a></span>callTip</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::callTip </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Display a call tip based on the the characters immediately to the left of the cursor. </p>\n\n</div>\n</div>\n<a id=\"a36deb25fada219957350847732d05889\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a36deb25fada219957350847732d05889\">&#9670;&nbsp;</a></span>copy</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::copy </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Copies any selected text to the clipboard.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">copyAvailable()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">cut()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">paste()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0a5656ec94ad1b31e3acc6ba86ebf8c4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">&#9670;&nbsp;</a></span>cut</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::cut </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Copies any selected text to the clipboard and then deletes the text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">paste()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afea26881f9979a1769ba85c668351cee\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afea26881f9979a1769ba85c668351cee\">&#9670;&nbsp;</a></span>foldAll</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::foldAll </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>children</em> = <code>false</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>children</em> is not set (the default) then only the top level fold points are affected, otherwise the state of all fold points are changed. </p>\n\n</div>\n</div>\n<a id=\"ad6557ee0ca58413e8d3e76b942f25a7f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad6557ee0ca58413e8d3e76b942f25a7f\">&#9670;&nbsp;</a></span>foldLine</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::foldLine </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If the line <em>line</em> is folded then it is unfolded. Otherwise it is folded. This has the same effect as clicking in the fold margin. </p>\n\n</div>\n</div>\n<a id=\"af7088827cec6904663d94507a199d19a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af7088827cec6904663d94507a199d19a\">&#9670;&nbsp;</a></span>indent</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::indent </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Increases the indentation of line <em>line</em> by an indentation width.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">unindent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afba4d5b30fae60dab7b4279c580beb8c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afba4d5b30fae60dab7b4279c580beb8c\">&#9670;&nbsp;</a></span>insertAt</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::insertAt </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Insert the text <em>text</em> in the line <em>line</em> at the position <em>index</em>. </p>\n\n</div>\n</div>\n<a id=\"a9792eb38e5e8dce8a4bd32b2224c73d4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9792eb38e5e8dce8a4bd32b2224c73d4\">&#9670;&nbsp;</a></span>moveToMatchingBrace</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::moveToMatchingBrace </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If the cursor is either side of a brace character then move it to the position of the corresponding brace. </p>\n\n</div>\n</div>\n<a id=\"a0aeb5804552ea61f04aff90cb6739f39\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0aeb5804552ea61f04aff90cb6739f39\">&#9670;&nbsp;</a></span>paste</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::paste </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Pastes any text from the clipboard into the text edit at the current cursor position.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">cut()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a62220018d9e9295cde64041246cfb3c4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a62220018d9e9295cde64041246cfb3c4\">&#9670;&nbsp;</a></span>redo</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::redo </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Redo the last change or sequence of changes.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8386414f7c04968c1642ecdd47b281df\">isRedoAvailable()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aef584b6c5b89736ad311ad20aa32269d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aef584b6c5b89736ad311ad20aa32269d\">&#9670;&nbsp;</a></span>removeSelectedText</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::removeSelectedText </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Removes any selected text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a48f53865418cf2ebd5126d2ee5e9d1dd\">replaceSelectedText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a48f53865418cf2ebd5126d2ee5e9d1dd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a48f53865418cf2ebd5126d2ee5e9d1dd\">&#9670;&nbsp;</a></span>replaceSelectedText</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::replaceSelectedText </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Replaces any selected text with <em>text</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aef584b6c5b89736ad311ad20aa32269d\">removeSelectedText()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae8b040ae88e74aef9a38cdb4ce24295a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae8b040ae88e74aef9a38cdb4ce24295a\">&#9670;&nbsp;</a></span>resetSelectionBackgroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::resetSelectionBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Resets the background colour of selected text to the default.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">setSelectionBackgroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">resetSelectionForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9ce32df9e150ef76a24c50af6b09e966\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9ce32df9e150ef76a24c50af6b09e966\">&#9670;&nbsp;</a></span>resetSelectionForegroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::resetSelectionForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Resets the foreground colour of selected text to the default.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">setSelectionForegroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">resetSelectionBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8aae5a0037937ad6c8bdfe868e4a8ad5\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8aae5a0037937ad6c8bdfe868e4a8ad5\">&#9670;&nbsp;</a></span>selectAll</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::selectAll </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>select</em> = <code>true</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>select</em> is true (the default) then all the text is selected. If <em>select</em> is false then any currently selected text is deselected. </p>\n\n</div>\n</div>\n<a id=\"a986f1235405f51f9d5b2edda17423563\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a986f1235405f51f9d5b2edda17423563\">&#9670;&nbsp;</a></span>selectToMatchingBrace</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::selectToMatchingBrace </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n</div>\n</div>\n<a id=\"a8348c07fe8cff0bf6141a94ca3014ed2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8348c07fe8cff0bf6141a94ca3014ed2\">&#9670;&nbsp;</a></span>setAutoCompletionCaseSensitivity</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoCompletionCaseSensitivity </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>cs</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>cs</em> is true then auto-completion lists are case sensitive. The default is true. Note that setting a lexer may change the case sensitivity.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a136a17a59a3800c40619a768ffff8d7a\">autoCompletionCaseSensitivity()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af67874dae6e032c44d4ccde569e2decb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af67874dae6e032c44d4ccde569e2decb\">&#9670;&nbsp;</a></span>setAutoCompletionReplaceWord</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoCompletionReplaceWord </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>replace</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>replace</em> 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a527b309bfaf28b870c15d87a5af7c005\">autoCompletionReplaceWord()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6b494f1a0395a62c3e61f50eabc50679\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6b494f1a0395a62c3e61f50eabc50679\">&#9670;&nbsp;</a></span>setAutoCompletionShowSingle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoCompletionShowSingle </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>single</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>single</em> 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 <a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">autoCompleteFromAPIs()</a> and <a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">autoCompleteFromDocument()</a>) and has no effect when auto-completion is triggered as the user types. The default is false. Note that this is deprecated and <a class=\"el\" href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">setAutoCompletionUseSingle()</a> should be used instead.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aff3b4e47fcbadeb0cf2556cf6ad164e0\">autoCompletionShowSingle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a48860b20014ce8b044760c055156ba57\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a48860b20014ce8b044760c055156ba57\">&#9670;&nbsp;</a></span>setAutoCompletionSource</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoCompletionSource </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">AutoCompletionSource</a>&#160;</td>\n          <td class=\"paramname\"><em>source</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the source for the auto-completion list when it is being displayed automatically as the user types to <em>source</em>. The default is AcsNone, ie. it is disabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6c06ccce022c08674e24a96093902b49\">autoCompletionSource()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a508eb34df3030ac28321b12d86d6670c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a508eb34df3030ac28321b12d86d6670c\">&#9670;&nbsp;</a></span>setAutoCompletionThreshold</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoCompletionThreshold </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>thresh</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the threshold for the automatic display of the auto-completion list as the user types to <em>thresh</em>. 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5178b3fd3cb946ffd4b2e52df9bb1483\">autoCompletionThreshold()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4ba18e98a98310113fb30d8ada30fe14\">setAutoCompletionWordSeparators()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aefa257027a014475cb468b6d77bcf1f7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aefa257027a014475cb468b6d77bcf1f7\">&#9670;&nbsp;</a></span>setAutoCompletionUseSingle</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoCompletionUseSingle </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">AutoCompletionUseSingle</a>&#160;</td>\n          <td class=\"paramname\"><em>single</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the behavior of the auto-completion list when it has a single entry. The default is AcusNever.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">autoCompletionUseSingle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a02105d06ad853647906eb72d27face67\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a02105d06ad853647906eb72d27face67\">&#9670;&nbsp;</a></span>setAutoIndent</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setAutoIndent </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>autoindent</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>autoindent</em> is true then auto-indentation is enabled. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a828f1b56453686ccd423e979e55fbbae\">autoIndent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ae53911447eddf1f0f93811f17ca4ecf8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae53911447eddf1f0f93811f17ca4ecf8\">&#9670;&nbsp;</a></span>setBraceMatching</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setBraceMatching </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">BraceMatch</a>&#160;</td>\n          <td class=\"paramname\"><em>bm</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the brace matching mode to <em>bm</em>. The default is NoBraceMatching.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aa869897ad955e8a42c5568be590c529b\">braceMatching()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adca3e8b2b7d4d0bf65ad23322f64f6ef\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adca3e8b2b7d4d0bf65ad23322f64f6ef\">&#9670;&nbsp;</a></span>setBackspaceUnindents</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setBackspaceUnindents </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>unindent</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>deindent</em> is true then the backspace key will unindent a line rather then delete a character.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">backspaceUnindents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">tabIndents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">setTabIndents()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8c227f8c948aeb5e6a2cf73397387cc0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8c227f8c948aeb5e6a2cf73397387cc0\">&#9670;&nbsp;</a></span>setCaretLineBackgroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setCaretLineBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the background colour, including the alpha component, of the line containing the caret to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a37f2cddeeef588533be46798ae18ffab\">setCaretLineVisible()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0999f0d3c67472b6986486fd06775240\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0999f0d3c67472b6986486fd06775240\">&#9670;&nbsp;</a></span>setCaretLineFrameWidth</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setCaretLineFrameWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>width</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the width of the frame of the line containing the caret to <em>width</em>. </p>\n\n</div>\n</div>\n<a id=\"a37f2cddeeef588533be46798ae18ffab\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a37f2cddeeef588533be46798ae18ffab\">&#9670;&nbsp;</a></span>setCaretLineVisible</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setCaretLineVisible </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>enable</em>, the background color of the line containing the caret.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8c227f8c948aeb5e6a2cf73397387cc0\">setCaretLineBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2c1974c2bdc9c0f2923c28b66afe811f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2c1974c2bdc9c0f2923c28b66afe811f\">&#9670;&nbsp;</a></span>setCaretWidth</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setCaretWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>width</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the width of the caret to <em>width</em> pixels. A <em>width</em> of 0 makes the caret invisible. </p>\n\n</div>\n</div>\n<a id=\"a8c8e4776767cc88b945f50f07d235770\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8c8e4776767cc88b945f50f07d235770\">&#9670;&nbsp;</a></span>setColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The widget's text (ie. foreground) colour is set to <em>c</em>. This has no effect if a language lexer has been set.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8a92ecc1db1576267f50a03d8ae93303\">color()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aea97c6fb0079a6e3e647443b6101ae9d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aea97c6fb0079a6e3e647443b6101ae9d\">&#9670;&nbsp;</a></span>setCursorPosition</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setCursorPosition </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the cursor to the line <em>line</em> at the position <em>index</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a830f23268edb039344d30cef52d7c8f3\">getCursorPosition()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0f2353468d2c37abe9c933d4ac0478ad\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0f2353468d2c37abe9c933d4ac0478ad\">&#9670;&nbsp;</a></span>setEolMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setEolMode </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">EolMode</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the end-of-line mode to <em>mode</em>. The default is the platform's natural mode.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">eolMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab98db9f5166ccc23792aea15a19c2294\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab98db9f5166ccc23792aea15a19c2294\">&#9670;&nbsp;</a></span>setEolVisibility</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setEolVisibility </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>visible</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>visible</em> is true then end-of-lines are made visible. The default is that they are invisible.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a5e4372bd9b4249d7e574402935444b84\">eolVisibility()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a340cd78e46fb58fc9b3b78ed158ba56e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a340cd78e46fb58fc9b3b78ed158ba56e\">&#9670;&nbsp;</a></span>setFolding</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setFolding </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">FoldStyle</a>&#160;</td>\n          <td class=\"paramname\"><em>fold</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em> = <code>2</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the folding style for margin <em>margin</em> to <em>fold</em>. The default style is NoFoldStyle (ie. folding is disabled) and the default margin is 2.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a0e4576d83d7604b24bd13be91011c5f7\">folding()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa46e60536be6297de6ca1fb16d36cd51\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa46e60536be6297de6ca1fb16d36cd51\">&#9670;&nbsp;</a></span>setIndentation</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setIndentation </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indentation</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the indentation of line <em>line</em> to <em>indentation</em> characters.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">indentation()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1b4591eb73dcef0153861f698edc8726\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1b4591eb73dcef0153861f698edc8726\">&#9670;&nbsp;</a></span>setIndentationGuides</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setIndentationGuides </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>enable</em>, this display of indentation guides.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#acd6fbd352060d3ee893bacc9bbb28a4e\">indentationGuides()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a18d150beb0cd818ebcbcee886217de6a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a18d150beb0cd818ebcbcee886217de6a\">&#9670;&nbsp;</a></span>setIndentationGuidesBackgroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setIndentationGuidesBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Set the background colour of indentation guides to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ace4acd9ee0d1c3e31099d65cdd8219b2\">setIndentationGuidesForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ace4acd9ee0d1c3e31099d65cdd8219b2\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ace4acd9ee0d1c3e31099d65cdd8219b2\">&#9670;&nbsp;</a></span>setIndentationGuidesForegroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setIndentationGuidesForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour of indentation guides to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a18d150beb0cd818ebcbcee886217de6a\">setIndentationGuidesBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a065b392e0a39ecfd39df787a3a25e814\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a065b392e0a39ecfd39df787a3a25e814\">&#9670;&nbsp;</a></span>setIndentationsUseTabs</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setIndentationsUseTabs </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>tabs</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>tabs</em> is true then indentations are created using tabs and spaces, rather than just spaces.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a67e012ca1e51ed73521c720237b7a507\">indentationsUseTabs()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8010e1671a15976254fd11b59ca3e03d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8010e1671a15976254fd11b59ca3e03d\">&#9670;&nbsp;</a></span>setIndentationWidth</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setIndentationWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>width</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the indentation width to <em>width</em> characters. If <em>width</em> is 0 then the value returned by <a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth()</a> is used.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a0b1f9dfc8a34bbee0c131eebeace9a06\">indentationWidth()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7bc5fb5d0daf8261544fb6fe738a0c91\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7bc5fb5d0daf8261544fb6fe738a0c91\">&#9670;&nbsp;</a></span>setLexer</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setLexer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a> *&#160;</td>\n          <td class=\"paramname\"><em>lexer</em> = <code>0</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the specific language lexer used to style text to <em>lex</em>. If <em>lex</em> is 0 then syntax styling is disabled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">lexer()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a419ab8aed49ea1711ce4ffcf19146df1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a419ab8aed49ea1711ce4ffcf19146df1\">&#9670;&nbsp;</a></span>setMarginsBackgroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginsBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Set the background colour of all margins to <em>col</em>. The default is a gray.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a263f0c4753c9a0c950adf1377737444e\">setMarginsForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a263f0c4753c9a0c950adf1377737444e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a263f0c4753c9a0c950adf1377737444e\">&#9670;&nbsp;</a></span>setMarginsForegroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginsForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Set the foreground colour of all margins to <em>col</em>. The default is black.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a419ab8aed49ea1711ce4ffcf19146df1\">setMarginsBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5fddd1e6e19cf2e2b40c15a39e62d198\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5fddd1e6e19cf2e2b40c15a39e62d198\">&#9670;&nbsp;</a></span>setMarginLineNumbers</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginLineNumbers </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>lnrs</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>lnrs</em>, the display of line numbers in margin <em>margin</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4bffe1a63e3484da908340274f7a7607\">marginLineNumbers()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">setMarginType()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aae6392483ffb59cdb94b7bd4b8a6dec9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aae6392483ffb59cdb94b7bd4b8a6dec9\">&#9670;&nbsp;</a></span>setMarginMarkerMask</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginMarkerMask </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>mask</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the marker mask of margin <em>margin</em> to <em>mask</em>. Only those markers whose bit is set in the mask are displayed in the margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ab29919614210e2bb21525b1d7fec44b1\">marginMarkerMask()</a>, QsciMarker, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">SCI_SETMARGINMASKN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a064b51eca1ab2d32d4c4c328e69a395d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a064b51eca1ab2d32d4c4c328e69a395d\">&#9670;&nbsp;</a></span>setMarginSensitivity</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginSensitivity </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>sens</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Enables or disables, according to <em>sens</em>, the sensitivity of margin <em>margin</em> to mouse clicks. If the user clicks in a sensitive margin the <a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">marginClicked()</a> signal is emitted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">marginSensitivity()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">marginClicked()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1a8b798b6b36db2b5f60b0cdccba88a1\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1a8b798b6b36db2b5f60b0cdccba88a1\">&#9670;&nbsp;</a></span>setMarginWidth <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>width</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the width of margin <em>margin</em> to <em>width</em> pixels. If the width of a margin is 0 then it is not displayed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">marginWidth()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aece608d0192ccad13cc706c4b79005e3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aece608d0192ccad13cc706c4b79005e3\">&#9670;&nbsp;</a></span>setMarginWidth <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setMarginWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>s</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the width of margin <em>margin</em> so that it is wide enough to display <em>s</em> in the current margin font.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">marginWidth()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aff32517974ac1d8c8cd3c5b6c757ddc9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aff32517974ac1d8c8cd3c5b6c757ddc9\">&#9670;&nbsp;</a></span>setModified</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setModified </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>m</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the modified state of the text edit to <em>m</em>. Note that it is only possible to clear the modified state (where <em>m</em> is false). Attempts to set the modified state (where <em>m</em> is true) are ignored.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">isModified()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">modificationChanged()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa805f90f3bbe067299e9ab8902eafbf3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa805f90f3bbe067299e9ab8902eafbf3\">&#9670;&nbsp;</a></span>setPaper</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>c</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The widget's paper (ie. background) colour is set to <em>c</em>. This has no effect if a language lexer has been set.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4fe2c0ce4d6fd17617c266983537f5b6\">paper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab26d156ff430e904e8f92d3dad9730bc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab26d156ff430e904e8f92d3dad9730bc\">&#9670;&nbsp;</a></span>setReadOnly</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setReadOnly </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>ro</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the read-only state of the text edit to <em>ro</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">isReadOnly()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a391299d076b0164402118f504c83d09c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a391299d076b0164402118f504c83d09c\">&#9670;&nbsp;</a></span>setSelection</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setSelection </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>lineFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indexFrom</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>lineTo</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>indexTo</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the selection which starts at position <em>indexFrom</em> in line <em>lineFrom</em> and ends at position <em>indexTo</em> in line <em>lineTo</em>. The cursor is moved to position <em>indexTo</em> in <em>lineTo</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a6423854a3c2f7da07db1e47f2f0c8c71\">getSelection()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6882a7641822a859e812601f1bae65eb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6882a7641822a859e812601f1bae65eb\">&#9670;&nbsp;</a></span>setSelectionBackgroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setSelectionBackgroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the background colour, including the alpha component, of selected text to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">resetSelectionBackgroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">setSelectionForegroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1060a2e187518d1c8b2814c393e227c6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1060a2e187518d1c8b2814c393e227c6\">&#9670;&nbsp;</a></span>setSelectionForegroundColor</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setSelectionForegroundColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>col</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the foreground colour of selected text to <em>col</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">resetSelectionForegroundColor()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">setSelectionBackgroundColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a957eaab9ac1785eb043fb83f703a0b57\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a957eaab9ac1785eb043fb83f703a0b57\">&#9670;&nbsp;</a></span>setTabIndents</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setTabIndents </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>indent</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>If <em>indent</em> is true then the tab key will indent a line rather than insert a tab character.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">tabIndents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">backspaceUnindents()</a>, <a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">setBackspaceUnindents()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1bd5470bc123a43c98facfc5c4a1e523\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1bd5470bc123a43c98facfc5c4a1e523\">&#9670;&nbsp;</a></span>setTabWidth</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setTabWidth </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>width</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the tab width to <em>width</em> characters.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">tabWidth()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5786917722e156e26d6afca807d05fee\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5786917722e156e26d6afca807d05fee\">&#9670;&nbsp;</a></span>setText</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setText </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Replaces all of the current text with <em>text</em>. Note that the undo/redo history is cleared by this function.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">text()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9071c0772ce576f60fce08395ce04274\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9071c0772ce576f60fce08395ce04274\">&#9670;&nbsp;</a></span>setUtf8</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setUtf8 </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>cp</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the current text encoding. If <em>cp</em> is true then UTF8 is used, otherwise Latin1 is used.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#afec7e71628d4af7a6573d1c74504ee20\">isUtf8()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa2bca1d2d137ea4a3f944a4f41f98a94\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa2bca1d2d137ea4a3f944a4f41f98a94\">&#9670;&nbsp;</a></span>setWhitespaceVisibility</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setWhitespaceVisibility </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">WhitespaceVisibility</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the visibility of whitespace to mode <em>mode</em>. The default is that whitespace is invisible.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a778c09295bdb4924aacf40d3134c50ba\">whitespaceVisibility()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ac04428d2f90c36458d68a673f107e40c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ac04428d2f90c36458d68a673f107e40c\">&#9670;&nbsp;</a></span>setWrapMode</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::setWrapMode </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">WrapMode</a>&#160;</td>\n          <td class=\"paramname\"><em>mode</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Sets the line wrap mode to <em>mode</em>. The default is that lines are not wrapped.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4bf424d21079ab835dae90ce042400a0\">wrapMode()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0128aae31e7d02fa580b55c9675d66e9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0128aae31e7d02fa580b55c9675d66e9\">&#9670;&nbsp;</a></span>undo</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::undo </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Undo the last change or sequence of changes.</p>\n<p>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 <a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">beginUndoAction()</a> and <a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">endUndoAction()</a>. These sequences can be nested and only the top level sequences are undone as units.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">beginUndoAction()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">endUndoAction()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a87366cd0dc2931f62e9e4d6bcd870fdf\">isUndoAvailable()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a99fe632cb2613a0bac2ffb77c571c647\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a99fe632cb2613a0bac2ffb77c571c647\">&#9670;&nbsp;</a></span>unindent</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::unindent </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Decreases the indentation of line <em>line</em> by an indentation width.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">indent()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"afb98254d553128ba4ebf6151a496679f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#afb98254d553128ba4ebf6151a496679f\">&#9670;&nbsp;</a></span>zoomIn <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::zoomIn </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>range</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Zooms in on the text by by making the base font size <em>range</em> points larger and recalculating all font sizes.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a3de45d9f5485af099041d8046e734103\">zoomOut()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">zoomTo()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4a1068502802e494fb58ae50f6b6aedf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4a1068502802e494fb58ae50f6b6aedf\">&#9670;&nbsp;</a></span>zoomIn <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::zoomIn </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</p>\n<p>Zooms in on the text by by making the base font size one point larger and recalculating all font sizes. </p>\n\n</div>\n</div>\n<a id=\"a0c7c970d275176f678a86e46f5e2d07d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0c7c970d275176f678a86e46f5e2d07d\">&#9670;&nbsp;</a></span>zoomOut <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::zoomOut </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>range</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Zooms out on the text by by making the base font size <em>range</em> points smaller and recalculating all font sizes.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4a1068502802e494fb58ae50f6b6aedf\">zoomIn()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">zoomTo()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a3de45d9f5485af099041d8046e734103\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a3de45d9f5485af099041d8046e734103\">&#9670;&nbsp;</a></span>zoomOut <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::zoomOut </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</p>\n<p>Zooms out on the text by by making the base font size one point larger and recalculating all font sizes. </p>\n\n</div>\n</div>\n<a id=\"ab33ae790e43f4b856e44d202b9b3ce07\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab33ae790e43f4b856e44d202b9b3ce07\">&#9670;&nbsp;</a></span>zoomTo</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual void QsciScintilla::zoomTo </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>size</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">virtual</span><span class=\"mlabel\">slot</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Zooms the text by making the base font size <em>size</em> points and recalculating all font sizes.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a4a1068502802e494fb58ae50f6b6aedf\">zoomIn()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a3de45d9f5485af099041d8046e734103\">zoomOut()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aca81f16f09dbbaf463d5926f04d4b53c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aca81f16f09dbbaf463d5926f04d4b53c\">&#9670;&nbsp;</a></span>cursorPositionChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::cursorPositionChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the cursor position changes. <em>line</em> contains the line number and <em>index</em> contains the character index within the line. </p>\n\n</div>\n</div>\n<a id=\"a897792c74e365b70c4d2827419dc3ecf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a897792c74e365b70c4d2827419dc3ecf\">&#9670;&nbsp;</a></span>copyAvailable</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::copyAvailable </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>yes</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever text is selected or de-selected. <em>yes</em> is true if text has been selected and false if text has been deselected. If <em>yes</em> is true then <a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy()</a> can be used to copy the selection to the clipboard. If <em>yes</em> is false then <a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy()</a> does nothing.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">copy()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a194e86e59129ed570af044e19697d0e9\">selectionChanged()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ad55ff1f454f9cb5c14f63c5c6870c895\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad55ff1f454f9cb5c14f63c5c6870c895\">&#9670;&nbsp;</a></span>indicatorClicked</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::indicatorClicked </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">Qt::KeyboardModifiers&#160;</td>\n          <td class=\"paramname\"><em>state</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the user clicks on an indicator. <em>line</em> is the number of the line where the user clicked. <em>index</em> is the character index within the line. <em>state</em> is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user clicked.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#aaed07ffc03430a61dc90ff6b28fb6fd7\">indicatorReleased()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aaed07ffc03430a61dc90ff6b28fb6fd7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aaed07ffc03430a61dc90ff6b28fb6fd7\">&#9670;&nbsp;</a></span>indicatorReleased</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::indicatorReleased </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">Qt::KeyboardModifiers&#160;</td>\n          <td class=\"paramname\"><em>state</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the user releases the mouse on an indicator. <em>line</em> is the number of the line where the user clicked. <em>index</em> is the character index within the line. <em>state</em> is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user released the mouse.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ad55ff1f454f9cb5c14f63c5c6870c895\">indicatorClicked()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5afec2f913c2a46d661c5fdda29f5e87\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5afec2f913c2a46d661c5fdda29f5e87\">&#9670;&nbsp;</a></span>marginClicked</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::marginClicked </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">Qt::KeyboardModifiers&#160;</td>\n          <td class=\"paramname\"><em>state</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the user clicks on a sensitive margin. <em>margin</em> is the margin. <em>line</em> is the number of the line where the user clicked. <em>state</em> is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user clicked.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">marginSensitivity()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">setMarginSensitivity()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8166be72487a7a660cb8e44c5126c852\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8166be72487a7a660cb8e44c5126c852\">&#9670;&nbsp;</a></span>marginRightClicked</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::marginRightClicked </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">Qt::KeyboardModifiers&#160;</td>\n          <td class=\"paramname\"><em>state</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the user right-clicks on a sensitive margin. <em>margin</em> is the margin. <em>line</em> is the number of the line where the user clicked. <em>state</em> is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user clicked.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">marginSensitivity()</a>, <a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">setMarginSensitivity()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2ef800561a02b8ec02008d33e0c6e55e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2ef800561a02b8ec02008d33e0c6e55e\">&#9670;&nbsp;</a></span>modificationAttempted</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::modificationAttempted </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the user attempts to modify read-only text.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">isReadOnly()</a>, <a class=\"el\" href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">setReadOnly()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a18b2b3426de5ec4822f4584ca60ed2b9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a18b2b3426de5ec4822f4584ca60ed2b9\">&#9670;&nbsp;</a></span>modificationChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::modificationChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>m</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the modification state of the text changes. <em>m</em> is true if the text has been modified.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">isModified()</a>, <a class=\"el\" href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">setModified()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a194e86e59129ed570af044e19697d0e9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a194e86e59129ed570af044e19697d0e9\">&#9670;&nbsp;</a></span>selectionChanged</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::selectionChanged </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the selection changes.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">copyAvailable()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a9261ce8b2aa1dda886e5259fbd6b8712\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9261ce8b2aa1dda886e5259fbd6b8712\">&#9670;&nbsp;</a></span>userListActivated</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintilla::userListActivated </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>id</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>string</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when an item in a user defined list is activated (selected). <em>id</em> is the list identifier. <em>string</em> is the text of the item.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintilla.html#a42ae037173aab16ce5e14788e6331623\">showUserList()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciScintillaBase-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciScintillaBase Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>ANNOTATION_BOXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>ANNOTATION_HIDDEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>ANNOTATION_INDENTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>ANNOTATION_STANDARD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>bytesAsText</b>(const char *bytes) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">canInsertFromMimeData</a>(const QMimeData *source) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARET_EVEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>CARET_JUMPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARET_SLOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>CARET_STRICT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARETSTYLE_BLOCK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>CARETSTYLE_INVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>CARETSTYLE_LINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ac8a72227fc8efff78505733d1663f927\">changeEvent</a>(QEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>commandKey</b>(int qt_key, int &amp;modifiers) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">static</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb8531cdc862f79cce9fa4d970bc13a2\">contextMenuEvent</a>(QContextMenuEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>contextMenuNeeded</b>(int x, int y) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">dragEnterEvent</a>(QDragEnterEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">dragLeaveEvent</a>(QDragLeaveEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">dragMoveEvent</a>(QDragMoveEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">dropEvent</a>(QDropEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>EDGE_BACKGROUND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>EDGE_LINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>EDGE_MULTILINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>EDGE_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">focusInEvent</a>(QFocusEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">focusNextPrevChild</a>(bool next)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">focusOutEvent</a>(QFocusEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">fromMimeData</a>(const QMimeData *source, bool &amp;rectangular) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC0_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC1_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC2_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_BOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_COMPOSITIONTHICK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_COMPOSITIONTHIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_CONTAINER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_DASH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_DIAGONAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_DOTBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_DOTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_FULLBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_GRADIENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_GRADIENTCENTRE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_HIDDEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_IME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_IME_MAX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_MAX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_PLAIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_POINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_POINTCHARACTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_ROUNDBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_SQUIGGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_SQUIGGLELOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_SQUIGGLEPIXMAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_STRAIGHTBOX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_STRIKE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDIC_TEXTFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>INDIC_TT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>INDICS_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">inputMethodEvent</a>(QInputMethodEvent *event)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>inputMethodQuery</b>(Qt::InputMethodQuery query) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">keyPressEvent</a>(QKeyEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">mouseDoubleClickEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">mouseMoveEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">mousePressEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">mouseReleaseEvent</a>(QMouseEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">paintEvent</a>(QPaintEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">pool</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">static</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase</a>(QWidget *parent=0)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">explicit</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QSCN_SELCHANGED</a>(bool yes)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">replaceHorizontalScrollBar</a>(QScrollBar *scrollBar)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">replaceVerticalScrollBar</a>(QScrollBar *scrollBar)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">resizeEvent</a>(QResizeEvent *e)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AC_COMMAND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AC_DOUBLECLICK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AC_FILLUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AC_NEWLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AC_TAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_ALPHA_NOALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_ALPHA_OPAQUE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_ALPHA_TRANSPARENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AUTOMATICFOLD_CHANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_AUTOMATICFOLD_CLICK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_AUTOMATICFOLD_SHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CACHE_CARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CACHE_DOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CACHE_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CACHE_PAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CARETSTICKY_OFF</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CARETSTICKY_ON</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CARETSTICKY_WHITESPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CASE_CAMEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CASE_LOWER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CASE_MIXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CASE_UPPER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_8859_15</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_ANSI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_ARABIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_BALTIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_CHINESEBIG5</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_CYRILLIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_EASTEUROPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_GB2312</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_GREEK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_HANGUL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_HEBREW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_JOHAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_MAC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_OEM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_OEM866</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_RUSSIAN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_SHIFTJIS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_SYMBOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_THAI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CHARSET_TURKISH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CHARSET_VIETNAMESE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CP_DBCS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CP_UTF8</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CURSORARROW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CURSORNORMAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_CURSORREVERSEARROW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_CURSORWAIT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_DOCUMENTOPTION_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_DOCUMENTOPTION_STYLES_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_DOCUMENTOPTION_TEXT_LARGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EFF_QUALITY_ANTIALIASED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EFF_QUALITY_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EFF_QUALITY_LCD_OPTIMIZED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EFF_QUALITY_MASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EFF_QUALITY_NON_ANTIALIASED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EOL_CR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_EOL_CRLF</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_EOL_LF</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDACTION_CONTRACT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDACTION_EXPAND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDACTION_TOGGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDDISPLAYTEXT_BOXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDDISPLAYTEXT_HIDDEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDDISPLAYTEXT_STANDARD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDFLAG_LEVELNUMBERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEAFTER_CONTRACTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEAFTER_EXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEBEFORE_CONTRACTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDFLAG_LINEBEFORE_EXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDFLAG_LINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDLEVELBASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDLEVELHEADERFLAG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FOLDLEVELNUMBERMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_FOLDLEVELWHITEFLAG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_FONT_SIZE_MULTIPLIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_IDLESTYLING_AFTERVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_IDLESTYLING_ALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_IDLESTYLING_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_IDLESTYLING_TOVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_IME_INLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_IME_WINDOWED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_INDICFLAG_VALUEBEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_INDICVALUEBIT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_INDICVALUEMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\">SC_IV_LOOKBOTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\">SC_IV_LOOKFORWARD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\">SC_IV_NONE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\">SC_IV_REAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_LASTSTEPINUNDOREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_LINE_END_TYPE_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_LINE_END_TYPE_UNICODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_LINECHARACTERINDEX_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_LINECHARACTERINDEX_UTF16</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_LINECHARACTERINDEX_UTF32</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">SC_MARGIN_BACK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">SC_MARGIN_COLOUR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">SC_MARGIN_FORE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">SC_MARGIN_NUMBER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">SC_MARGIN_RTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">SC_MARGIN_SYMBOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">SC_MARGIN_TEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARGINOPTION_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARGINOPTION_SUBLINESELECT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">SC_MARK_ARROW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">SC_MARK_ARROWDOWN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">SC_MARK_ARROWS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\">SC_MARK_AVAILABLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">SC_MARK_BACKGROUND</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">SC_MARK_BOOKMARK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">SC_MARK_BOXMINUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">SC_MARK_BOXMINUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">SC_MARK_BOXPLUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">SC_MARK_BOXPLUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\">SC_MARK_CHARACTER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">SC_MARK_CIRCLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">SC_MARK_CIRCLEMINUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">SC_MARK_CIRCLEMINUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">SC_MARK_CIRCLEPLUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">SC_MARK_CIRCLEPLUSCONNECTED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">SC_MARK_DOTDOTDOT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">SC_MARK_EMPTY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">SC_MARK_FULLRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">SC_MARK_LCORNER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">SC_MARK_LCORNERCURVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">SC_MARK_LEFTRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">SC_MARK_MINUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\">SC_MARK_PIXMAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">SC_MARK_PLUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\">SC_MARK_RGBAIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">SC_MARK_ROUNDRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">SC_MARK_SHORTARROW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">SC_MARK_SMALLRECT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">SC_MARK_TCORNER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">SC_MARK_TCORNERCURVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">SC_MARK_UNDERLINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">SC_MARK_VLINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDEREND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDERMIDTAIL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDEROPEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDEROPENMID</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MARKNUM_FOLDERSUB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MARKNUM_FOLDERTAIL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MASK_FOLDERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_BEFOREDELETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_BEFOREINSERT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGEANNOTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGEFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGEINDICATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGELINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGEMARGIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGEMARKER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CHANGESTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_CHANGETABSTOPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_CONTAINER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_DELETETEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_INSERTCHECK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MOD_INSERTTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MOD_LEXERSTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MODEVENTMASKALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MULTIAUTOC_EACH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MULTIAUTOC_ONCE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MULTILINEUNDOREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MULTIPASTE_EACH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_MULTIPASTE_ONCE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_MULTISTEPUNDOREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_ORDER_CUSTOM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_ORDER_PERFORMSORT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_ORDER_PRESORTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PERFORMED_REDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PERFORMED_UNDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PERFORMED_USER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PHASES_MULTIPLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PHASES_ONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PHASES_TWO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_POPUP_ALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_POPUP_NEVER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_POPUP_TEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PRINT_BLACKONWHITE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PRINT_COLOURONWHITE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PRINT_COLOURONWHITEDEFAULTBG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PRINT_INVERTLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_PRINT_NORMAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_PRINT_SCREENCOLOURS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_SEL_LINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_SEL_RECTANGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_SEL_STREAM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_SEL_THIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_STARTACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_STATUS_BADALLOC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_STATUS_FAILURE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_STATUS_OK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_STATUS_WARN_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_STATUS_WARNREGEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TECHNOLOGY_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TECHNOLOGY_DIRECTWRITE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TECHNOLOGY_DIRECTWRITEDC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TECHNOLOGY_DIRECTWRITERETAIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TIME_FOREVER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TYPE_BOOLEAN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_TYPE_INTEGER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_TYPE_STRING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_UPDATE_CONTENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_UPDATE_H_SCROLL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_UPDATE_SELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_UPDATE_V_SCROLL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WEIGHT_BOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WEIGHT_NORMAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WEIGHT_SEMIBOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAP_CHAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAP_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAP_WHITESPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAP_WORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPINDENT_DEEPINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPINDENT_FIXED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPINDENT_INDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPINDENT_SAME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_END</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_MARGIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAG_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAGLOC_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SC_WRAPVISUALFLAGLOC_END_BY_TEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SC_WRAPVISUALFLAGLOC_START_BY_TEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">SCEN_CHANGE</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCFIND_CXX11REGEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCFIND_MATCHCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCFIND_POSIX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCFIND_REGEXP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCFIND_WHOLEWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCFIND_WORDSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ADDREFDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ADDSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ADDSTYLEDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ADDTABSTOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\">SCI_ADDTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ADDUNDOACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ALLOCATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ALLOCATEEXTENDEDSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ALLOCATELINECHARACTERINDEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ALLOCATESUBSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONCLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONGETLINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONGETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONGETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONGETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONGETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONGETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONSETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONSETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ANNOTATIONSETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ANNOTATIONSETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_APPENDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ASSIGNCMDKEY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCACTIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCCANCEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCCOMPLETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETAUTOHIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETCANCELATSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETCHOOSESINGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETCURRENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETCURRENTTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETDROPRESTOFWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETIGNORECASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETMAXHEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETMAXWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETMULTI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETORDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCGETSEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCGETTYPESEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCPOSSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSELECT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETAUTOHIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETCANCELATSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETCHOOSESINGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETDROPRESTOFWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETFILLUPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETIGNORECASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\">SCI_AUTOCSETMAXHEIGHT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETMAXWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETMULTI</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETORDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSETSEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSETTYPESEPARATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_AUTOCSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_AUTOCSTOPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BACKTAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BEGINUNDOACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BRACEBADLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BRACEBADLIGHTINDICATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BRACEHIGHLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_BRACEHIGHLIGHTINDICATOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_BRACEMATCH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPACTIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPCANCEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPPOSSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSETBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSETFOREHLT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSETHLT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSETPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPSETPOSSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CALLTIPSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CALLTIPUSESTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CANCEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CANPASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CANREDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CANUNDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHANGEINSERTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHANGELEXERSTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARLEFTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARLEFTRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARPOSITIONFROMPOINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARPOSITIONFROMPOINTCLOSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHARRIGHTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CHARRIGHTRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CHOOSECARETX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARALLCMDKEYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARCMDKEY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARDOCUMENTSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">SCI_CLEARREGISTEREDIMAGES</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARREPRESENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CLEARSELECTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CLEARTABSTOPS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_COLOURISE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CONTRACTEDFOLDNEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CONVERTEOLS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_COPY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\">SCI_COPYALLOWLINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_COPYRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_COPYTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_COUNTCHARACTERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_COUNTCODEUNITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CREATEDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_CREATELOADER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_CUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELETEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELETEBACKNOTLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELETERANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELLINELEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELLINERIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELWORDLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DELWORDRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DELWORDRIGHTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DESCRIBEKEYWORDSETS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DESCRIBEPROPERTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DESCRIPTIONOFSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DISTANCETOSECONDARYSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DOCLINEFROMVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DOCUMENTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DOCUMENTENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DOCUMENTSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_DOCUMENTSTARTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_DROPSELECTIONN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_EDITTOGGLEOVERTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\">SCI_EMPTYUNDOBUFFER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ENDUNDOACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ENSUREVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ENSUREVISIBLEENFORCEPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_EXPANDCHILDREN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FINDCOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FINDINDICATORFLASH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FINDINDICATORHIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FINDINDICATORSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FINDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FOLDALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FOLDCHILDREN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FOLDDISPLAYTEXTSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FOLDLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FORMATRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_FORMFEED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_FREESUBSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETACCESSIBILITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETADDITIONALCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETADDITIONALCARETSBLINK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETADDITIONALCARETSVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETADDITIONALSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETADDITIONALSELECTIONTYPING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETALLLINESVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">SCI_GETANCHOR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETAUTOMATICFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETBACKSPACEUNINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETBUFFEREDDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETLINEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETLINEBACKALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETLINEFRAME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETLINEVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETLINEVISIBLEALWAYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETPERIOD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETSTICKY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCARETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCARETWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\">SCI_GETCHARACTERPOINTER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCHARAT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCODEPAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCOMMANDEVENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETCONTROLCHARSYMBOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCURLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">SCI_GETCURRENTPOS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETCURSOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETDIRECTFUNCTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETDIRECTPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETDOCPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETDOCUMENTOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETEDGECOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETEDGECOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETEDGEMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETENDATLASTLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">SCI_GETENDSTYLED</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETEOLMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETEXTRAASCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETEXTRADESCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETFIRSTVISIBLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETFOCUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETFOLDEXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETFOLDLEVEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETFOLDPARENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETFONTQUALITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETGAPPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETHIGHLIGHTGUIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETHOTSPOTACTIVEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETHOTSPOTACTIVEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETHOTSPOTACTIVEUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETHOTSPOTSINGLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETHSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETIDENTIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETIDLESTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETIMEINTERACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETINDENTATIONGUIDES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETINDICATORCURRENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETINDICATORVALUE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLASTCHILD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLAYOUTCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLENGTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">SCI_GETLEXER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLEXERLANGUAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINECHARACTERINDEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINECOUNT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEENDPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEENDTYPESACTIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEENDTYPESALLOWED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEENDTYPESSUPPORTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINEINDENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEINDENTPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINESELENDPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINESELSTARTPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETLINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETLINEVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMAINSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMARGINBACKN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">SCI_GETMARGINCURSORN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMARGINLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">SCI_GETMARGINMASKN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMARGINOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMARGINRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMARGINS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">SCI_GETMARGINWIDTHN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMAXLINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMODEVENTMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\">SCI_GETMODIFY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMOUSEDOWNCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMOUSEDWELLTIME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMOUSESELECTIONRECTANGULARSWITCH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMOUSEWHEELCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMOVEEXTENDSSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETMULTIPASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETMULTIPLESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETNAMEDSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETNEXTTABSTOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETOVERTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPASTECONVERTENDINGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPHASESDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPOSITIONCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPRIMARYSTYLEFROMSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPRINTCOLOURMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPRINTMAGNIFICATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPRINTWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPROPERTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPROPERTYEXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETPROPERTYINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETPUNCTUATIONCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETRANGEPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">SCI_GETREADONLY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETRECTANGULARSELECTIONMODIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETREPRESENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSCROLLWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSCROLLWIDTHTRACKING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSEARCHFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONEMPTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONNANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONNANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONNCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONNCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONNEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONNSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELECTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELECTIONSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSELEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSELTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSTATUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSTYLEAT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSTYLEBITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSTYLEBITSNEEDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSTYLEDTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSTYLEFROMSUBSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSUBSTYLEBASES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETSUBSTYLESLENGTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETSUBSTYLESSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTABDRAWMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTABINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTABWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTAG</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTARGETEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTARGETSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTARGETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTECHNOLOGY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">SCI_GETTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\">SCI_GETTEXTLENGTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETTEXTRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETTWOPHASEDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETUNDOCOLLECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETUSETABS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETVIEWEOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETVIEWWS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETVIRTUALSPACEOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETVSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWHITESPACECHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWHITESPACESIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWORDCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWRAPINDENTMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWRAPSTARTINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETWRAPVISUALFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETWRAPVISUALFLAGSLOCATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GETXOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_GETZOOM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GOTOLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\">SCI_GOTOPOS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_GRABFOCUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HIDELINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HIDESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOMEDISPLAY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOMEDISPLAYEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOMEEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOMERECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_HOMEWRAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_HOMEWRAPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDEXPOSITIONFROMLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICATORALLONFOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICATORCLEARRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICATOREND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICATORFILLRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICATORSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICATORVALUEAT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETHOVERFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETHOVERSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETOUTLINEALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICGETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICGETUNDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETHOVERFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETHOVERSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETOUTLINEALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INDICSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_INDICSETUNDER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_INSERTTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ISRANGEWORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LEXER_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINECOPY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINECUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEDELETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEDOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEDOWNRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEDUPLICATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEENDDISPLAY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEENDDISPLAYEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEENDRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEENDWRAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEENDWRAPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEFROMINDEXPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEFROMPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINELENGTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEREVERSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINESCROLL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINESCROLLDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINESCROLLUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINESJOIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINESONSCREEN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINESSPLIT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINETRANSPOSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LINEUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LINEUPRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_LOADLEXERLIBRARY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_LOWERCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINGETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINGETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINGETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINGETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINSETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINSETSTYLEOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINSETSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARGINSETTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARGINTEXTCLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARKERADDSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">SCI_MARKERDEFINEPIXMAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">SCI_MARKERDELETE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">SCI_MARKERDELETEALL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">SCI_MARKERDELETEHANDLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MARKERENABLEHIGHLIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\">SCI_MARKERGET</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\">SCI_MARKERLINEFROMHANDLE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">SCI_MARKERNEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">SCI_MARKERPREVIOUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARKERSETALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">SCI_MARKERSETBACK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARKERSETBACKSELECTED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">SCI_MARKERSETFORE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MARKERSYMBOLDEFINED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MOVECARETINSIDEVIEW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MOVESELECTEDLINESDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MOVESELECTEDLINESUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MULTIEDGEADDLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MULTIEDGECLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_MULTIPLESELECTADDEACH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_MULTIPLESELECTADDNEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_NAMEOFSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_NEWLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_NULL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_OPTIONAL_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PAGEDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PAGEDOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PAGEDOWNRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PAGEUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PAGEUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PAGEUPRECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PARADOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PARADOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PARAUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PARAUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POINTXFROMPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POINTYFROMPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONAFTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONBEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONFROMLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONFROMPOINT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONFROMPOINTCLOSE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_POSITIONRELATIVE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_POSITIONRELATIVECODEUNITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PRIVATELEXERCALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_PROPERTYNAMES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_PROPERTYTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_REDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">SCI_REGISTERIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_RELEASEALLEXTENDEDSTYLES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_RELEASEDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_RELEASELINECHARACTERINDEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_REPLACESEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_REPLACETARGET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_REPLACETARGETRE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">SCI_RGBAIMAGESETHEIGHT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_RGBAIMAGESETSCALE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">SCI_RGBAIMAGESETWIDTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ROTATESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SCROLLCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SCROLLRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SCROLLTOEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SCROLLTOSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SEARCHANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SEARCHINTARGET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SEARCHNEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SEARCHPREV</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SELECTALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SELECTIONDUPLICATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SELECTIONISRECTANGLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETACCESSIBILITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALCARETSBLINK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALCARETSVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALSELBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETADDITIONALSELECTIONTYPING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETADDITIONALSELFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\">SCI_SETANCHOR</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETAUTOMATICFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETBACKSPACEUNINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETBUFFEREDDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETLINEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETLINEBACKALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETLINEFRAME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETLINEVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETLINEVISIBLEALWAYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETPERIOD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETSTICKY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCARETSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCARETWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCHARSDEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCODEPAGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETCOMMANDEVENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCONTROLCHARSYMBOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">SCI_SETCURRENTPOS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETCURSOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETDOCPOINTER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEDGECOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEDGECOLUMN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEDGEMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEMPTYSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETENDATLASTLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEOLMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETEXTRAASCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETEXTRADESCENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFIRSTVISIBLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFOCUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFOLDEXPANDED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFOLDFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFOLDLEVEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFOLDMARGINCOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETFOLDMARGINHICOLOUR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETFONTQUALITY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETHIGHLIGHTGUIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETHOTSPOTACTIVEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETHOTSPOTACTIVEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETHOTSPOTACTIVEUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETHOTSPOTSINGLELINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETHSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETIDENTIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETIDENTIFIERS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETIDLESTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETIMEINTERACTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETINDENTATIONGUIDES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETINDICATORCURRENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETINDICATORVALUE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETKEYWORDS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETLAYOUTCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">SCI_SETLEXER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\">SCI_SETLEXERLANGUAGE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETLINEENDTYPESALLOWED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETLINEINDENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETLINESTATE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMAINSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMARGINBACKN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">SCI_SETMARGINCURSORN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMARGINLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">SCI_SETMARGINMASKN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMARGINOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMARGINRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMARGINS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMODEVENTMASK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMOUSEDOWNCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMOUSEDWELLTIME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMOUSESELECTIONRECTANGULARSWITCH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMOUSEWHEELCAPTURES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETMULTIPASTE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETMULTIPLESELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETOVERTYPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPASTECONVERTENDINGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPHASESDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPOSITIONCACHE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPRINTCOLOURMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPRINTMAGNIFICATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPRINTWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETPROPERTY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETPUNCTUATIONCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\">SCI_SETREADONLY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETRECTANGULARSELECTIONMODIFIER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETREPRESENTATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">SCI_SETSAVEPOINT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSCROLLWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSCROLLWIDTHTRACKING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSEARCHFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSEL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELALPHA</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONNANCHOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONNANCHORVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONNCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONNCARETVIRTUALSPACE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONNEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELECTIONNSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELECTIONSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSELEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSELFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSTATUS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSTYLEBITS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETSTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETSTYLINGEX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTABDRAWMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTABINDENTS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTABWIDTH</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTARGETEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTARGETRANGE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETTARGETSTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTECHNOLOGY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">SCI_SETTEXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETTWOPHASEDRAW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETUNDOCOLLECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETUSETABS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETVIEWEOL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETVIEWWS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETVIRTUALSPACEOPTIONS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETVISIBLEPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETVSCROLLBAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWHITESPACEBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWHITESPACECHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWHITESPACEFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWHITESPACESIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWORDCHARS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWRAPINDENTMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWRAPMODE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWRAPSTARTINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETWRAPVISUALFLAGS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETWRAPVISUALFLAGSLOCATION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETXCARETPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETXOFFSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SETYCARETPOLICY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SETZOOM</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_SHOWLINES</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_START</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STARTRECORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STARTSTYLING</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STOPRECORD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEDOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEDOWNEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STUTTEREDPAGEUPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLECLEARALL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETBOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETCHANGEABLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETCHARACTERSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETFONT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETHOTSPOT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETITALIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETSIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETSIZEFRACTIONAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLEGETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLEGETWEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLERESETDEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETBACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETBOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETCHANGEABLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETCHARACTERSET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETEOLFILLED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETFONT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETFORE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETHOTSPOT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETITALIC</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETSIZE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETSIZEFRACTIONAL</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETUNDERLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_STYLESETVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_STYLESETWEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_SWAPMAINANCHORCARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TAGSOFSTYLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TARGETFROMSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TARGETWHOLEDOCUMENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TEXTHEIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\">SCI_TEXTWIDTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TOGGLECARETSTICKY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_TOGGLEFOLD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_TOGGLEFOLDSHOWTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_UNDO</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_UPPERCASE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_USEPOPUP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_USERLISTSHOW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOMEDISPLAY</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOMEDISPLAYEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOMEEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOMERECTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VCHOMEWRAP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VCHOMEWRAPEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_VERTICALCENTRECARET</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_VISIBLEFROMDOCLINE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDENDPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDLEFTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDLEFTENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDLEFTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDPARTLEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDPARTLEFTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDPARTRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDPARTRIGHTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDRIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDRIGHTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDRIGHTENDEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WORDRIGHTEXTEND</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_WORDSTARTPOSITION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_WRAPCOUNT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCI_ZOOMIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCI_ZOOMOUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>ScintillaBytes</b> typedef (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_ADD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_BACK</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_DELETE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_DIVIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_DOWN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_END</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_ESCAPE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_HOME</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_INSERT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_LEFT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_MENU</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_NEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_PRIOR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_RETURN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_RIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_RWIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_SUBTRACT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_TAB</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCK_UP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCK_WIN</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\">SCLEX_A68K</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\">SCLEX_ABAQUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\">SCLEX_ADA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\">SCLEX_APDL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\">SCLEX_AS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\">SCLEX_ASM</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\">SCLEX_ASN1</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\">SCLEX_ASP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\">SCLEX_ASYMPTOTE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\">SCLEX_AU3</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\">SCLEX_AVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\">SCLEX_AVS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\">SCLEX_BAAN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\">SCLEX_BASH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\">SCLEX_BATCH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\">SCLEX_BIBTEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\">SCLEX_BLITZBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\">SCLEX_BULLANT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\">SCLEX_CAML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\">SCLEX_CLW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\">SCLEX_CLWNOCASE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\">SCLEX_CMAKE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\">SCLEX_COBOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\">SCLEX_COFFEESCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\">SCLEX_CONF</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">SCLEX_CONTAINER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\">SCLEX_CPP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\">SCLEX_CPPNOCASE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\">SCLEX_CSOUND</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\">SCLEX_CSS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\">SCLEX_D</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\">SCLEX_DIFF</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\">SCLEX_DMAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\">SCLEX_DMIS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\">SCLEX_ECL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\">SCLEX_EDIFACT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\">SCLEX_EIFFEL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\">SCLEX_EIFFELKW</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\">SCLEX_ERLANG</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\">SCLEX_ERRORLIST</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\">SCLEX_ESCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\">SCLEX_F77</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\">SCLEX_FLAGSHIP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\">SCLEX_FORTH</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\">SCLEX_FORTRAN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\">SCLEX_FREEBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\">SCLEX_GAP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\">SCLEX_GUI4CLI</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\">SCLEX_HASKELL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\">SCLEX_HTML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\">SCLEX_IHEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\">SCLEX_INDENT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\">SCLEX_INNOSETUP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\">SCLEX_JSON</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\">SCLEX_KIX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\">SCLEX_KVIRC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\">SCLEX_LATEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\">SCLEX_LISP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\">SCLEX_LITERATEHASKELL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\">SCLEX_LOT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\">SCLEX_LOUT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\">SCLEX_LUA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\">SCLEX_MAGIK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\">SCLEX_MAKEFILE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\">SCLEX_MARKDOWN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\">SCLEX_MATLAB</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\">SCLEX_MAXIMA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\">SCLEX_METAPOST</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\">SCLEX_MMIXAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\">SCLEX_MODULA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\">SCLEX_MSSQL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\">SCLEX_MYSQL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\">SCLEX_NIMROD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\">SCLEX_NNCRONTAB</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\">SCLEX_NSIS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\">SCLEX_NULL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\">SCLEX_OCTAVE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\">SCLEX_OPAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\">SCLEX_OSCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\">SCLEX_PASCAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\">SCLEX_PERL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\">SCLEX_PHP</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\">SCLEX_PHPSCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\">SCLEX_PLM</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\">SCLEX_PO</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\">SCLEX_POV</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\">SCLEX_POWERBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\">SCLEX_POWERPRO</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\">SCLEX_POWERSHELL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\">SCLEX_PROGRESS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\">SCLEX_PROPERTIES</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\">SCLEX_PS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\">SCLEX_PUREBASIC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\">SCLEX_PYTHON</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\">SCLEX_R</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\">SCLEX_REBOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\">SCLEX_REGISTRY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\">SCLEX_RUBY</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\">SCLEX_RUST</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\">SCLEX_SAS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\">SCLEX_SCRIPTOL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\">SCLEX_SMALLTALK</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\">SCLEX_SML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\">SCLEX_SORCUS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\">SCLEX_SPECMAN</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\">SCLEX_SPICE</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\">SCLEX_SQL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\">SCLEX_SREC</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\">SCLEX_STATA</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\">SCLEX_STTXT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\">SCLEX_TACL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\">SCLEX_TADS3</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\">SCLEX_TAL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\">SCLEX_TCL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\">SCLEX_TCMD</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\">SCLEX_TEHEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\">SCLEX_TEX</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\">SCLEX_TXT2TAGS</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\">SCLEX_VB</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\">SCLEX_VBSCRIPT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\">SCLEX_VERILOG</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\">SCLEX_VHDL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\">SCLEX_VISUALPROLOG</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\">SCLEX_XML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\">SCLEX_YAML</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\">SCMOD_ALT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\">SCMOD_CTRL</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\">SCMOD_META</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\">SCMOD_NORM</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\">SCMOD_SHIFT</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\">SCMOD_SUPER</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">SCN_AUTOCCANCELLED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">SCN_AUTOCCHARDELETED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">SCN_AUTOCCOMPLETED</a>(const char *selection, int position, int ch, int method)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION</a>(const char *selection, int position, int ch, int method)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1ad82492f8015a60dea97f6ebd712d64\">SCN_AUTOCSELECTION</a>(const char *selection, int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">SCN_AUTOCSELECTIONCHANGE</a>(const char *selection, int id, int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">SCN_CALLTIPCLICK</a>(int direction)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">SCN_CHARADDED</a>(int charadded)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">SCN_DOUBLECLICK</a>(int position, int line, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">SCN_DWELLEND</a>(int position, int x, int y)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">SCN_DWELLSTART</a>(int position, int x, int y)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">SCN_FOCUSIN</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">SCN_FOCUSOUT</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">SCN_HOTSPOTCLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">SCN_HOTSPOTDOUBLECLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">SCN_HOTSPOTRELEASECLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">SCN_INDICATORCLICK</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">SCN_INDICATORRELEASE</a>(int position, int modifiers)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">SCN_MACRORECORD</a>(unsigned int, unsigned long, void *)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK</a>(int position, int modifiers, int margin)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">SCN_MARGINRIGHTCLICK</a>(int position, int modifiers, int margin)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCN_MODIFIED</b>(int, int, const char *, int, int, int, int, int, int, int) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">SCN_MODIFYATTEMPTRO</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCN_NEEDSHOWN</b>(int, int) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">SCN_PAINTED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">SCN_SAVEPOINTLEFT</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">SCN_SAVEPOINTREACHED</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">SCN_STYLENEEDED</a>(int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">SCN_UPDATEUI</a>(int updated)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">SCN_URIDROPPED</a>(const QUrl &amp;url)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">SCN_USERLISTSELECTION</a>(const char *selection, int id, int ch, int method, int position)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9208cc0aaf2e0a32239924fc6d0b67b7\">SCN_USERLISTSELECTION</a>(const char *selection, int id, int ch, int method)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0045744463119646a5fe33ecc4d104fb\">SCN_USERLISTSELECTION</a>(const char *selection, int id)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCN_ZOOM</b>() (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">signal</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>scrollContentsBy</b>(int dx, int dy) (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCTD_LONGARROW</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCTD_STRIKEOUT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCVS_NONE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCVS_NOWRAPLINESTART</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCVS_RECTANGULARSELECTION</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCVS_USERACCESSIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCWS_INVISIBLE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCWS_VISIBLEAFTERINDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>SCWS_VISIBLEALWAYS</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>SCWS_VISIBLEONLYININDENT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">SendScintilla</a>(unsigned int msg, unsigned long wParam=0, long lParam=0) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adf01efe3951a727dab9c7a1c35d29e0f\">SendScintilla</a>(unsigned int msg, unsigned long wParam, void *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab2b37b2f67991e9c083d9412cba2264\">SendScintilla</a>(unsigned int msg, uintptr_t wParam, const char *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb45fb04c1ad8c6459fea750d8788584\">SendScintilla</a>(unsigned int msg, const char *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9fa4dc539be7b199e91d6ff0f83e5f8d\">SendScintilla</a>(unsigned int msg, const char *wParam, const char *lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a66b0c8459f5a407eef6783cd6d80b\">SendScintilla</a>(unsigned int msg, long wParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#add035b6176dbe36b3c975f05573c0e61\">SendScintilla</a>(unsigned int msg, int wParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6c892370b4ee3afd2eef080ee8c25fde\">SendScintilla</a>(unsigned int msg, long cpMin, long cpMax, char *lpstrText) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1d84e61ba19c5177386ba30ba512345f\">SendScintilla</a>(unsigned int msg, unsigned long wParam, const QColor &amp;col) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#af935c2c5d8eeb3aeb25ba9b48539f879\">SendScintilla</a>(unsigned int msg, const QColor &amp;col) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#aacfd4923492644933902b278efea1787\">SendScintilla</a>(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &amp;rc, long cpMin, long cpMax) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2cef89549882e03a6290af8cbbf1a3ce\">SendScintilla</a>(unsigned int msg, unsigned long wParam, const QPixmap &amp;lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a56542fe5a9e5790eab29936b73ef0fa3\">SendScintilla</a>(unsigned int msg, unsigned long wParam, const QImage &amp;lParam) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">SendScintillaPtrResult</a>(unsigned int msg) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>setScrollBars</b>() (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_BRACEBAD</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_BRACELIGHT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_CALLTIP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_CONTROLCHAR</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_DEFAULT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_FOLDDISPLAYTEXT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_INDENTGUIDE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_LASTPREDEFINED</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>STYLE_LINENUMBER</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>STYLE_MAX</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>textAsBytes</b>(const QString &amp;text) const (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">toMimeData</a>(const QByteArray &amp;text, bool rectangular) const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>UNDO_MAY_COALESCE</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>VISIBLE_SLOP</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr bgcolor=\"#f0f0f0\"><td class=\"entry\"><b>VISIBLE_STRICT</b> enum value (defined in <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">~QsciScintillaBase</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a></td><td class=\"entry\"><span class=\"mlabel\">virtual</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciScintillaBase.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciScintillaBase Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#signals\">Signals</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pub-static-methods\">Static Public Member Functions</a> &#124;\n<a href=\"#pro-types\">Protected Types</a> &#124;\n<a href=\"#pro-methods\">Protected Member Functions</a> &#124;\n<a href=\"classQsciScintillaBase-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciScintillaBase Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qsciscintillabase.h&gt;</code></p>\n\n<p>Inherits QAbstractScrollArea.</p>\n\n<p>Inherited by <a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a>.</p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:ad9c35f7540b2457103db9cf8c877784a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCI_START</b> = 2000, \n<b>SCI_OPTIONAL_START</b> = 3000, \n<b>SCI_LEXER_START</b> = 4000, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\">SCI_ADDTEXT</a> = 2001, \n<b>SCI_ADDSTYLEDTEXT</b> = 2002, \n<b>SCI_INSERTTEXT</b> = 2003, \n<br />\n&#160;&#160;<b>SCI_CLEARALL</b> = 2004, \n<b>SCI_CLEARDOCUMENTSTYLE</b> = 2005, \n<b>SCI_GETLENGTH</b> = 2006, \n<br />\n&#160;&#160;<b>SCI_GETCHARAT</b> = 2007, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">SCI_GETCURRENTPOS</a> = 2008, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">SCI_GETANCHOR</a> = 2009, \n<br />\n&#160;&#160;<b>SCI_GETSTYLEAT</b> = 2010, \n<b>SCI_REDO</b> = 2011, \n<b>SCI_SETUNDOCOLLECTION</b> = 2012, \n<br />\n&#160;&#160;<b>SCI_SELECTALL</b> = 2013, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">SCI_SETSAVEPOINT</a> = 2014, \n<b>SCI_GETSTYLEDTEXT</b> = 2015, \n<br />\n&#160;&#160;<b>SCI_CANREDO</b> = 2016, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\">SCI_MARKERLINEFROMHANDLE</a> = 2017, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">SCI_MARKERDELETEHANDLE</a> = 2018, \n<br />\n&#160;&#160;<b>SCI_GETUNDOCOLLECTION</b> = 2019, \n<b>SCI_GETVIEWWS</b> = 2020, \n<b>SCI_SETVIEWWS</b> = 2021, \n<br />\n&#160;&#160;<b>SCI_POSITIONFROMPOINT</b> = 2022, \n<b>SCI_POSITIONFROMPOINTCLOSE</b> = 2023, \n<b>SCI_GOTOLINE</b> = 2024, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\">SCI_GOTOPOS</a> = 2025, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\">SCI_SETANCHOR</a> = 2026, \n<b>SCI_GETCURLINE</b> = 2027, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">SCI_GETENDSTYLED</a> = 2028, \n<b>SCI_CONVERTEOLS</b> = 2029, \n<b>SCI_GETEOLMODE</b> = 2030, \n<br />\n&#160;&#160;<b>SCI_SETEOLMODE</b> = 2031, \n<b>SCI_STARTSTYLING</b> = 2032, \n<b>SCI_SETSTYLING</b> = 2033, \n<br />\n&#160;&#160;<b>SCI_GETBUFFEREDDRAW</b> = 2034, \n<b>SCI_SETBUFFEREDDRAW</b> = 2035, \n<b>SCI_SETTABWIDTH</b> = 2036, \n<br />\n&#160;&#160;<b>SCI_GETTABWIDTH</b> = 2121, \n<b>SCI_SETCODEPAGE</b> = 2037, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a> = 2040, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">SCI_MARKERSETFORE</a> = 2041, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">SCI_MARKERSETBACK</a> = 2042, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a> = 2043, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">SCI_MARKERDELETE</a> = 2044, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">SCI_MARKERDELETEALL</a> = 2045, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\">SCI_MARKERGET</a> = 2046, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">SCI_MARKERNEXT</a> = 2047, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">SCI_MARKERPREVIOUS</a> = 2048, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">SCI_MARKERDEFINEPIXMAP</a> = 2049, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> = 2240, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> = 2241, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> = 2242, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">SCI_GETMARGINWIDTHN</a> = 2243, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">SCI_SETMARGINMASKN</a> = 2244, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">SCI_GETMARGINMASKN</a> = 2245, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> = 2246, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a> = 2247, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">SCI_SETMARGINCURSORN</a> = 2248, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">SCI_GETMARGINCURSORN</a> = 2249, \n<b>SCI_STYLECLEARALL</b> = 2050, \n<b>SCI_STYLESETFORE</b> = 2051, \n<br />\n&#160;&#160;<b>SCI_STYLESETBACK</b> = 2052, \n<b>SCI_STYLESETBOLD</b> = 2053, \n<b>SCI_STYLESETITALIC</b> = 2054, \n<br />\n&#160;&#160;<b>SCI_STYLESETSIZE</b> = 2055, \n<b>SCI_STYLESETFONT</b> = 2056, \n<b>SCI_STYLESETEOLFILLED</b> = 2057, \n<br />\n&#160;&#160;<b>SCI_STYLERESETDEFAULT</b> = 2058, \n<b>SCI_STYLESETUNDERLINE</b> = 2059, \n<b>SCI_STYLESETCASE</b> = 2060, \n<br />\n&#160;&#160;<b>SCI_STYLESETSIZEFRACTIONAL</b> = 2061, \n<b>SCI_STYLEGETSIZEFRACTIONAL</b> = 2062, \n<b>SCI_STYLESETWEIGHT</b> = 2063, \n<br />\n&#160;&#160;<b>SCI_STYLEGETWEIGHT</b> = 2064, \n<b>SCI_STYLESETCHARACTERSET</b> = 2066, \n<b>SCI_SETSELFORE</b> = 2067, \n<br />\n&#160;&#160;<b>SCI_SETSELBACK</b> = 2068, \n<b>SCI_SETCARETFORE</b> = 2069, \n<b>SCI_ASSIGNCMDKEY</b> = 2070, \n<br />\n&#160;&#160;<b>SCI_CLEARCMDKEY</b> = 2071, \n<b>SCI_CLEARALLCMDKEYS</b> = 2072, \n<b>SCI_SETSTYLINGEX</b> = 2073, \n<br />\n&#160;&#160;<b>SCI_STYLESETVISIBLE</b> = 2074, \n<b>SCI_GETCARETPERIOD</b> = 2075, \n<b>SCI_SETCARETPERIOD</b> = 2076, \n<br />\n&#160;&#160;<b>SCI_SETWORDCHARS</b> = 2077, \n<b>SCI_BEGINUNDOACTION</b> = 2078, \n<b>SCI_ENDUNDOACTION</b> = 2079, \n<br />\n&#160;&#160;<b>SCI_INDICSETSTYLE</b> = 2080, \n<b>SCI_INDICGETSTYLE</b> = 2081, \n<b>SCI_INDICSETFORE</b> = 2082, \n<br />\n&#160;&#160;<b>SCI_INDICGETFORE</b> = 2083, \n<b>SCI_SETWHITESPACEFORE</b> = 2084, \n<b>SCI_SETWHITESPACEBACK</b> = 2085, \n<br />\n&#160;&#160;<b>SCI_SETWHITESPACESIZE</b> = 2086, \n<b>SCI_GETWHITESPACESIZE</b> = 2087, \n<b>SCI_SETSTYLEBITS</b> = 2090, \n<br />\n&#160;&#160;<b>SCI_GETSTYLEBITS</b> = 2091, \n<b>SCI_SETLINESTATE</b> = 2092, \n<b>SCI_GETLINESTATE</b> = 2093, \n<br />\n&#160;&#160;<b>SCI_GETMAXLINESTATE</b> = 2094, \n<b>SCI_GETCARETLINEVISIBLE</b> = 2095, \n<b>SCI_SETCARETLINEVISIBLE</b> = 2096, \n<br />\n&#160;&#160;<b>SCI_GETCARETLINEBACK</b> = 2097, \n<b>SCI_SETCARETLINEBACK</b> = 2098, \n<b>SCI_STYLESETCHANGEABLE</b> = 2099, \n<br />\n&#160;&#160;<b>SCI_AUTOCSHOW</b> = 2100, \n<b>SCI_AUTOCCANCEL</b> = 2101, \n<b>SCI_AUTOCACTIVE</b> = 2102, \n<br />\n&#160;&#160;<b>SCI_AUTOCPOSSTART</b> = 2103, \n<b>SCI_AUTOCCOMPLETE</b> = 2104, \n<b>SCI_AUTOCSTOPS</b> = 2105, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETSEPARATOR</b> = 2106, \n<b>SCI_AUTOCGETSEPARATOR</b> = 2107, \n<b>SCI_AUTOCSELECT</b> = 2108, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETCANCELATSTART</b> = 2110, \n<b>SCI_AUTOCGETCANCELATSTART</b> = 2111, \n<b>SCI_AUTOCSETFILLUPS</b> = 2112, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETCHOOSESINGLE</b> = 2113, \n<b>SCI_AUTOCGETCHOOSESINGLE</b> = 2114, \n<b>SCI_AUTOCSETIGNORECASE</b> = 2115, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETIGNORECASE</b> = 2116, \n<b>SCI_USERLISTSHOW</b> = 2117, \n<b>SCI_AUTOCSETAUTOHIDE</b> = 2118, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETAUTOHIDE</b> = 2119, \n<b>SCI_AUTOCSETDROPRESTOFWORD</b> = 2270, \n<b>SCI_AUTOCGETDROPRESTOFWORD</b> = 2271, \n<br />\n&#160;&#160;<b>SCI_SETINDENT</b> = 2122, \n<b>SCI_GETINDENT</b> = 2123, \n<b>SCI_SETUSETABS</b> = 2124, \n<br />\n&#160;&#160;<b>SCI_GETUSETABS</b> = 2125, \n<b>SCI_SETLINEINDENTATION</b> = 2126, \n<b>SCI_GETLINEINDENTATION</b> = 2127, \n<br />\n&#160;&#160;<b>SCI_GETLINEINDENTPOSITION</b> = 2128, \n<b>SCI_GETCOLUMN</b> = 2129, \n<b>SCI_SETHSCROLLBAR</b> = 2130, \n<br />\n&#160;&#160;<b>SCI_GETHSCROLLBAR</b> = 2131, \n<b>SCI_SETINDENTATIONGUIDES</b> = 2132, \n<b>SCI_GETINDENTATIONGUIDES</b> = 2133, \n<br />\n&#160;&#160;<b>SCI_SETHIGHLIGHTGUIDE</b> = 2134, \n<b>SCI_GETHIGHLIGHTGUIDE</b> = 2135, \n<b>SCI_GETLINEENDPOSITION</b> = 2136, \n<br />\n&#160;&#160;<b>SCI_GETCODEPAGE</b> = 2137, \n<b>SCI_GETCARETFORE</b> = 2138, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">SCI_GETREADONLY</a> = 2140, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">SCI_SETCURRENTPOS</a> = 2141, \n<b>SCI_SETSELECTIONSTART</b> = 2142, \n<b>SCI_GETSELECTIONSTART</b> = 2143, \n<br />\n&#160;&#160;<b>SCI_SETSELECTIONEND</b> = 2144, \n<b>SCI_GETSELECTIONEND</b> = 2145, \n<b>SCI_SETPRINTMAGNIFICATION</b> = 2146, \n<br />\n&#160;&#160;<b>SCI_GETPRINTMAGNIFICATION</b> = 2147, \n<b>SCI_SETPRINTCOLOURMODE</b> = 2148, \n<b>SCI_GETPRINTCOLOURMODE</b> = 2149, \n<br />\n&#160;&#160;<b>SCI_FINDTEXT</b> = 2150, \n<b>SCI_FORMATRANGE</b> = 2151, \n<b>SCI_GETFIRSTVISIBLELINE</b> = 2152, \n<br />\n&#160;&#160;<b>SCI_GETLINE</b> = 2153, \n<b>SCI_GETLINECOUNT</b> = 2154, \n<b>SCI_SETMARGINLEFT</b> = 2155, \n<br />\n&#160;&#160;<b>SCI_GETMARGINLEFT</b> = 2156, \n<b>SCI_SETMARGINRIGHT</b> = 2157, \n<b>SCI_GETMARGINRIGHT</b> = 2158, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\">SCI_GETMODIFY</a> = 2159, \n<b>SCI_SETSEL</b> = 2160, \n<b>SCI_GETSELTEXT</b> = 2161, \n<br />\n&#160;&#160;<b>SCI_GETTEXTRANGE</b> = 2162, \n<b>SCI_HIDESELECTION</b> = 2163, \n<b>SCI_POINTXFROMPOSITION</b> = 2164, \n<br />\n&#160;&#160;<b>SCI_POINTYFROMPOSITION</b> = 2165, \n<b>SCI_LINEFROMPOSITION</b> = 2166, \n<b>SCI_POSITIONFROMLINE</b> = 2167, \n<br />\n&#160;&#160;<b>SCI_LINESCROLL</b> = 2168, \n<b>SCI_SCROLLCARET</b> = 2169, \n<b>SCI_REPLACESEL</b> = 2170, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\">SCI_SETREADONLY</a> = 2171, \n<b>SCI_NULL</b> = 2172, \n<b>SCI_CANPASTE</b> = 2173, \n<br />\n&#160;&#160;<b>SCI_CANUNDO</b> = 2174, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\">SCI_EMPTYUNDOBUFFER</a> = 2175, \n<b>SCI_UNDO</b> = 2176, \n<br />\n&#160;&#160;<b>SCI_CUT</b> = 2177, \n<b>SCI_COPY</b> = 2178, \n<b>SCI_PASTE</b> = 2179, \n<br />\n&#160;&#160;<b>SCI_CLEAR</b> = 2180, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">SCI_SETTEXT</a> = 2181, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">SCI_GETTEXT</a> = 2182, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\">SCI_GETTEXTLENGTH</a> = 2183, \n<b>SCI_GETDIRECTFUNCTION</b> = 2184, \n<b>SCI_GETDIRECTPOINTER</b> = 2185, \n<br />\n&#160;&#160;<b>SCI_SETOVERTYPE</b> = 2186, \n<b>SCI_GETOVERTYPE</b> = 2187, \n<b>SCI_SETCARETWIDTH</b> = 2188, \n<br />\n&#160;&#160;<b>SCI_GETCARETWIDTH</b> = 2189, \n<b>SCI_SETTARGETSTART</b> = 2190, \n<b>SCI_GETTARGETSTART</b> = 2191, \n<br />\n&#160;&#160;<b>SCI_SETTARGETEND</b> = 2192, \n<b>SCI_GETTARGETEND</b> = 2193, \n<b>SCI_REPLACETARGET</b> = 2194, \n<br />\n&#160;&#160;<b>SCI_REPLACETARGETRE</b> = 2195, \n<b>SCI_SEARCHINTARGET</b> = 2197, \n<b>SCI_SETSEARCHFLAGS</b> = 2198, \n<br />\n&#160;&#160;<b>SCI_GETSEARCHFLAGS</b> = 2199, \n<b>SCI_CALLTIPSHOW</b> = 2200, \n<b>SCI_CALLTIPCANCEL</b> = 2201, \n<br />\n&#160;&#160;<b>SCI_CALLTIPACTIVE</b> = 2202, \n<b>SCI_CALLTIPPOSSTART</b> = 2203, \n<b>SCI_CALLTIPSETHLT</b> = 2204, \n<br />\n&#160;&#160;<b>SCI_CALLTIPSETBACK</b> = 2205, \n<b>SCI_CALLTIPSETFORE</b> = 2206, \n<b>SCI_CALLTIPSETFOREHLT</b> = 2207, \n<br />\n&#160;&#160;<b>SCI_AUTOCSETMAXWIDTH</b> = 2208, \n<b>SCI_AUTOCGETMAXWIDTH</b> = 2209, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\">SCI_AUTOCSETMAXHEIGHT</a> = 2210, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETMAXHEIGHT</b> = 2211, \n<b>SCI_CALLTIPUSESTYLE</b> = 2212, \n<b>SCI_CALLTIPSETPOSITION</b> = 2213, \n<br />\n&#160;&#160;<b>SCI_CALLTIPSETPOSSTART</b> = 2214, \n<b>SCI_VISIBLEFROMDOCLINE</b> = 2220, \n<b>SCI_DOCLINEFROMVISIBLE</b> = 2221, \n<br />\n&#160;&#160;<b>SCI_SETFOLDLEVEL</b> = 2222, \n<b>SCI_GETFOLDLEVEL</b> = 2223, \n<b>SCI_GETLASTCHILD</b> = 2224, \n<br />\n&#160;&#160;<b>SCI_GETFOLDPARENT</b> = 2225, \n<b>SCI_SHOWLINES</b> = 2226, \n<b>SCI_HIDELINES</b> = 2227, \n<br />\n&#160;&#160;<b>SCI_GETLINEVISIBLE</b> = 2228, \n<b>SCI_SETFOLDEXPANDED</b> = 2229, \n<b>SCI_GETFOLDEXPANDED</b> = 2230, \n<br />\n&#160;&#160;<b>SCI_TOGGLEFOLD</b> = 2231, \n<b>SCI_ENSUREVISIBLE</b> = 2232, \n<b>SCI_SETFOLDFLAGS</b> = 2233, \n<br />\n&#160;&#160;<b>SCI_ENSUREVISIBLEENFORCEPOLICY</b> = 2234, \n<b>SCI_WRAPCOUNT</b> = 2235, \n<b>SCI_GETALLLINESVISIBLE</b> = 2236, \n<br />\n&#160;&#160;<b>SCI_FOLDLINE</b> = 2237, \n<b>SCI_FOLDCHILDREN</b> = 2238, \n<b>SCI_EXPANDCHILDREN</b> = 2239, \n<br />\n&#160;&#160;<b>SCI_SETMARGINBACKN</b> = 2250, \n<b>SCI_GETMARGINBACKN</b> = 2251, \n<b>SCI_SETMARGINS</b> = 2252, \n<br />\n&#160;&#160;<b>SCI_GETMARGINS</b> = 2253, \n<b>SCI_SETTABINDENTS</b> = 2260, \n<b>SCI_GETTABINDENTS</b> = 2261, \n<br />\n&#160;&#160;<b>SCI_SETBACKSPACEUNINDENTS</b> = 2262, \n<b>SCI_GETBACKSPACEUNINDENTS</b> = 2263, \n<b>SCI_SETMOUSEDWELLTIME</b> = 2264, \n<br />\n&#160;&#160;<b>SCI_GETMOUSEDWELLTIME</b> = 2265, \n<b>SCI_WORDSTARTPOSITION</b> = 2266, \n<b>SCI_WORDENDPOSITION</b> = 2267, \n<br />\n&#160;&#160;<b>SCI_SETWRAPMODE</b> = 2268, \n<b>SCI_GETWRAPMODE</b> = 2269, \n<b>SCI_SETLAYOUTCACHE</b> = 2272, \n<br />\n&#160;&#160;<b>SCI_GETLAYOUTCACHE</b> = 2273, \n<b>SCI_SETSCROLLWIDTH</b> = 2274, \n<b>SCI_GETSCROLLWIDTH</b> = 2275, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\">SCI_TEXTWIDTH</a> = 2276, \n<b>SCI_SETENDATLASTLINE</b> = 2277, \n<b>SCI_GETENDATLASTLINE</b> = 2278, \n<br />\n&#160;&#160;<b>SCI_TEXTHEIGHT</b> = 2279, \n<b>SCI_SETVSCROLLBAR</b> = 2280, \n<b>SCI_GETVSCROLLBAR</b> = 2281, \n<br />\n&#160;&#160;<b>SCI_APPENDTEXT</b> = 2282, \n<b>SCI_GETTWOPHASEDRAW</b> = 2283, \n<b>SCI_SETTWOPHASEDRAW</b> = 2284, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETTYPESEPARATOR</b> = 2285, \n<b>SCI_AUTOCSETTYPESEPARATOR</b> = 2286, \n<b>SCI_TARGETFROMSELECTION</b> = 2287, \n<br />\n&#160;&#160;<b>SCI_LINESJOIN</b> = 2288, \n<b>SCI_LINESSPLIT</b> = 2289, \n<b>SCI_SETFOLDMARGINCOLOUR</b> = 2290, \n<br />\n&#160;&#160;<b>SCI_SETFOLDMARGINHICOLOUR</b> = 2291, \n<b>SCI_MARKERSETBACKSELECTED</b> = 2292, \n<b>SCI_MARKERENABLEHIGHLIGHT</b> = 2293, \n<br />\n&#160;&#160;<b>SCI_LINEDOWN</b> = 2300, \n<b>SCI_LINEDOWNEXTEND</b> = 2301, \n<b>SCI_LINEUP</b> = 2302, \n<br />\n&#160;&#160;<b>SCI_LINEUPEXTEND</b> = 2303, \n<b>SCI_CHARLEFT</b> = 2304, \n<b>SCI_CHARLEFTEXTEND</b> = 2305, \n<br />\n&#160;&#160;<b>SCI_CHARRIGHT</b> = 2306, \n<b>SCI_CHARRIGHTEXTEND</b> = 2307, \n<b>SCI_WORDLEFT</b> = 2308, \n<br />\n&#160;&#160;<b>SCI_WORDLEFTEXTEND</b> = 2309, \n<b>SCI_WORDRIGHT</b> = 2310, \n<b>SCI_WORDRIGHTEXTEND</b> = 2311, \n<br />\n&#160;&#160;<b>SCI_HOME</b> = 2312, \n<b>SCI_HOMEEXTEND</b> = 2313, \n<b>SCI_LINEEND</b> = 2314, \n<br />\n&#160;&#160;<b>SCI_LINEENDEXTEND</b> = 2315, \n<b>SCI_DOCUMENTSTART</b> = 2316, \n<b>SCI_DOCUMENTSTARTEXTEND</b> = 2317, \n<br />\n&#160;&#160;<b>SCI_DOCUMENTEND</b> = 2318, \n<b>SCI_DOCUMENTENDEXTEND</b> = 2319, \n<b>SCI_PAGEUP</b> = 2320, \n<br />\n&#160;&#160;<b>SCI_PAGEUPEXTEND</b> = 2321, \n<b>SCI_PAGEDOWN</b> = 2322, \n<b>SCI_PAGEDOWNEXTEND</b> = 2323, \n<br />\n&#160;&#160;<b>SCI_EDITTOGGLEOVERTYPE</b> = 2324, \n<b>SCI_CANCEL</b> = 2325, \n<b>SCI_DELETEBACK</b> = 2326, \n<br />\n&#160;&#160;<b>SCI_TAB</b> = 2327, \n<b>SCI_BACKTAB</b> = 2328, \n<b>SCI_NEWLINE</b> = 2329, \n<br />\n&#160;&#160;<b>SCI_FORMFEED</b> = 2330, \n<b>SCI_VCHOME</b> = 2331, \n<b>SCI_VCHOMEEXTEND</b> = 2332, \n<br />\n&#160;&#160;<b>SCI_ZOOMIN</b> = 2333, \n<b>SCI_ZOOMOUT</b> = 2334, \n<b>SCI_DELWORDLEFT</b> = 2335, \n<br />\n&#160;&#160;<b>SCI_DELWORDRIGHT</b> = 2336, \n<b>SCI_LINECUT</b> = 2337, \n<b>SCI_LINEDELETE</b> = 2338, \n<br />\n&#160;&#160;<b>SCI_LINETRANSPOSE</b> = 2339, \n<b>SCI_LOWERCASE</b> = 2340, \n<b>SCI_UPPERCASE</b> = 2341, \n<br />\n&#160;&#160;<b>SCI_LINESCROLLDOWN</b> = 2342, \n<b>SCI_LINESCROLLUP</b> = 2343, \n<b>SCI_DELETEBACKNOTLINE</b> = 2344, \n<br />\n&#160;&#160;<b>SCI_HOMEDISPLAY</b> = 2345, \n<b>SCI_HOMEDISPLAYEXTEND</b> = 2346, \n<b>SCI_LINEENDDISPLAY</b> = 2347, \n<br />\n&#160;&#160;<b>SCI_LINEENDDISPLAYEXTEND</b> = 2348, \n<b>SCI_MOVECARETINSIDEVIEW</b> = 2401, \n<b>SCI_LINELENGTH</b> = 2350, \n<br />\n&#160;&#160;<b>SCI_BRACEHIGHLIGHT</b> = 2351, \n<b>SCI_BRACEBADLIGHT</b> = 2352, \n<b>SCI_BRACEMATCH</b> = 2353, \n<br />\n&#160;&#160;<b>SCI_LINEREVERSE</b> = 2354, \n<b>SCI_GETVIEWEOL</b> = 2355, \n<b>SCI_SETVIEWEOL</b> = 2356, \n<br />\n&#160;&#160;<b>SCI_GETDOCPOINTER</b> = 2357, \n<b>SCI_SETDOCPOINTER</b> = 2358, \n<b>SCI_SETMODEVENTMASK</b> = 2359, \n<br />\n&#160;&#160;<b>SCI_GETEDGECOLUMN</b> = 2360, \n<b>SCI_SETEDGECOLUMN</b> = 2361, \n<b>SCI_GETEDGEMODE</b> = 2362, \n<br />\n&#160;&#160;<b>SCI_SETEDGEMODE</b> = 2363, \n<b>SCI_GETEDGECOLOUR</b> = 2364, \n<b>SCI_SETEDGECOLOUR</b> = 2365, \n<br />\n&#160;&#160;<b>SCI_SEARCHANCHOR</b> = 2366, \n<b>SCI_SEARCHNEXT</b> = 2367, \n<b>SCI_SEARCHPREV</b> = 2368, \n<br />\n&#160;&#160;<b>SCI_LINESONSCREEN</b> = 2370, \n<b>SCI_USEPOPUP</b> = 2371, \n<b>SCI_SELECTIONISRECTANGLE</b> = 2372, \n<br />\n&#160;&#160;<b>SCI_SETZOOM</b> = 2373, \n<b>SCI_GETZOOM</b> = 2374, \n<b>SCI_CREATEDOCUMENT</b> = 2375, \n<br />\n&#160;&#160;<b>SCI_ADDREFDOCUMENT</b> = 2376, \n<b>SCI_RELEASEDOCUMENT</b> = 2377, \n<b>SCI_GETMODEVENTMASK</b> = 2378, \n<br />\n&#160;&#160;<b>SCI_SETFOCUS</b> = 2380, \n<b>SCI_GETFOCUS</b> = 2381, \n<b>SCI_SETSTATUS</b> = 2382, \n<br />\n&#160;&#160;<b>SCI_GETSTATUS</b> = 2383, \n<b>SCI_SETMOUSEDOWNCAPTURES</b> = 2384, \n<b>SCI_GETMOUSEDOWNCAPTURES</b> = 2385, \n<br />\n&#160;&#160;<b>SCI_SETCURSOR</b> = 2386, \n<b>SCI_GETCURSOR</b> = 2387, \n<b>SCI_SETCONTROLCHARSYMBOL</b> = 2388, \n<br />\n&#160;&#160;<b>SCI_GETCONTROLCHARSYMBOL</b> = 2389, \n<b>SCI_WORDPARTLEFT</b> = 2390, \n<b>SCI_WORDPARTLEFTEXTEND</b> = 2391, \n<br />\n&#160;&#160;<b>SCI_WORDPARTRIGHT</b> = 2392, \n<b>SCI_WORDPARTRIGHTEXTEND</b> = 2393, \n<b>SCI_SETVISIBLEPOLICY</b> = 2394, \n<br />\n&#160;&#160;<b>SCI_DELLINELEFT</b> = 2395, \n<b>SCI_DELLINERIGHT</b> = 2396, \n<b>SCI_SETXOFFSET</b> = 2397, \n<br />\n&#160;&#160;<b>SCI_GETXOFFSET</b> = 2398, \n<b>SCI_CHOOSECARETX</b> = 2399, \n<b>SCI_GRABFOCUS</b> = 2400, \n<br />\n&#160;&#160;<b>SCI_SETXCARETPOLICY</b> = 2402, \n<b>SCI_SETYCARETPOLICY</b> = 2403, \n<b>SCI_LINEDUPLICATE</b> = 2404, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">SCI_REGISTERIMAGE</a> = 2405, \n<b>SCI_SETPRINTWRAPMODE</b> = 2406, \n<b>SCI_GETPRINTWRAPMODE</b> = 2407, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">SCI_CLEARREGISTEREDIMAGES</a> = 2408, \n<b>SCI_STYLESETHOTSPOT</b> = 2409, \n<b>SCI_SETHOTSPOTACTIVEFORE</b> = 2410, \n<br />\n&#160;&#160;<b>SCI_SETHOTSPOTACTIVEBACK</b> = 2411, \n<b>SCI_SETHOTSPOTACTIVEUNDERLINE</b> = 2412, \n<b>SCI_PARADOWN</b> = 2413, \n<br />\n&#160;&#160;<b>SCI_PARADOWNEXTEND</b> = 2414, \n<b>SCI_PARAUP</b> = 2415, \n<b>SCI_PARAUPEXTEND</b> = 2416, \n<br />\n&#160;&#160;<b>SCI_POSITIONBEFORE</b> = 2417, \n<b>SCI_POSITIONAFTER</b> = 2418, \n<b>SCI_COPYRANGE</b> = 2419, \n<br />\n&#160;&#160;<b>SCI_COPYTEXT</b> = 2420, \n<b>SCI_SETHOTSPOTSINGLELINE</b> = 2421, \n<b>SCI_SETSELECTIONMODE</b> = 2422, \n<br />\n&#160;&#160;<b>SCI_GETSELECTIONMODE</b> = 2423, \n<b>SCI_GETLINESELSTARTPOSITION</b> = 2424, \n<b>SCI_GETLINESELENDPOSITION</b> = 2425, \n<br />\n&#160;&#160;<b>SCI_LINEDOWNRECTEXTEND</b> = 2426, \n<b>SCI_LINEUPRECTEXTEND</b> = 2427, \n<b>SCI_CHARLEFTRECTEXTEND</b> = 2428, \n<br />\n&#160;&#160;<b>SCI_CHARRIGHTRECTEXTEND</b> = 2429, \n<b>SCI_HOMERECTEXTEND</b> = 2430, \n<b>SCI_VCHOMERECTEXTEND</b> = 2431, \n<br />\n&#160;&#160;<b>SCI_LINEENDRECTEXTEND</b> = 2432, \n<b>SCI_PAGEUPRECTEXTEND</b> = 2433, \n<b>SCI_PAGEDOWNRECTEXTEND</b> = 2434, \n<br />\n&#160;&#160;<b>SCI_STUTTEREDPAGEUP</b> = 2435, \n<b>SCI_STUTTEREDPAGEUPEXTEND</b> = 2436, \n<b>SCI_STUTTEREDPAGEDOWN</b> = 2437, \n<br />\n&#160;&#160;<b>SCI_STUTTEREDPAGEDOWNEXTEND</b> = 2438, \n<b>SCI_WORDLEFTEND</b> = 2439, \n<b>SCI_WORDLEFTENDEXTEND</b> = 2440, \n<br />\n&#160;&#160;<b>SCI_WORDRIGHTEND</b> = 2441, \n<b>SCI_WORDRIGHTENDEXTEND</b> = 2442, \n<b>SCI_SETWHITESPACECHARS</b> = 2443, \n<br />\n&#160;&#160;<b>SCI_SETCHARSDEFAULT</b> = 2444, \n<b>SCI_AUTOCGETCURRENT</b> = 2445, \n<b>SCI_ALLOCATE</b> = 2446, \n<br />\n&#160;&#160;<b>SCI_HOMEWRAP</b> = 2349, \n<b>SCI_HOMEWRAPEXTEND</b> = 2450, \n<b>SCI_LINEENDWRAP</b> = 2451, \n<br />\n&#160;&#160;<b>SCI_LINEENDWRAPEXTEND</b> = 2452, \n<b>SCI_VCHOMEWRAP</b> = 2453, \n<b>SCI_VCHOMEWRAPEXTEND</b> = 2454, \n<br />\n&#160;&#160;<b>SCI_LINECOPY</b> = 2455, \n<b>SCI_FINDCOLUMN</b> = 2456, \n<b>SCI_GETCARETSTICKY</b> = 2457, \n<br />\n&#160;&#160;<b>SCI_SETCARETSTICKY</b> = 2458, \n<b>SCI_TOGGLECARETSTICKY</b> = 2459, \n<b>SCI_SETWRAPVISUALFLAGS</b> = 2460, \n<br />\n&#160;&#160;<b>SCI_GETWRAPVISUALFLAGS</b> = 2461, \n<b>SCI_SETWRAPVISUALFLAGSLOCATION</b> = 2462, \n<b>SCI_GETWRAPVISUALFLAGSLOCATION</b> = 2463, \n<br />\n&#160;&#160;<b>SCI_SETWRAPSTARTINDENT</b> = 2464, \n<b>SCI_GETWRAPSTARTINDENT</b> = 2465, \n<b>SCI_MARKERADDSET</b> = 2466, \n<br />\n&#160;&#160;<b>SCI_SETPASTECONVERTENDINGS</b> = 2467, \n<b>SCI_GETPASTECONVERTENDINGS</b> = 2468, \n<b>SCI_SELECTIONDUPLICATE</b> = 2469, \n<br />\n&#160;&#160;<b>SCI_SETCARETLINEBACKALPHA</b> = 2470, \n<b>SCI_GETCARETLINEBACKALPHA</b> = 2471, \n<b>SCI_SETWRAPINDENTMODE</b> = 2472, \n<br />\n&#160;&#160;<b>SCI_GETWRAPINDENTMODE</b> = 2473, \n<b>SCI_MARKERSETALPHA</b> = 2476, \n<b>SCI_GETSELALPHA</b> = 2477, \n<br />\n&#160;&#160;<b>SCI_SETSELALPHA</b> = 2478, \n<b>SCI_GETSELEOLFILLED</b> = 2479, \n<b>SCI_SETSELEOLFILLED</b> = 2480, \n<br />\n&#160;&#160;<b>SCI_STYLEGETFORE</b> = 2481, \n<b>SCI_STYLEGETBACK</b> = 2482, \n<b>SCI_STYLEGETBOLD</b> = 2483, \n<br />\n&#160;&#160;<b>SCI_STYLEGETITALIC</b> = 2484, \n<b>SCI_STYLEGETSIZE</b> = 2485, \n<b>SCI_STYLEGETFONT</b> = 2486, \n<br />\n&#160;&#160;<b>SCI_STYLEGETEOLFILLED</b> = 2487, \n<b>SCI_STYLEGETUNDERLINE</b> = 2488, \n<b>SCI_STYLEGETCASE</b> = 2489, \n<br />\n&#160;&#160;<b>SCI_STYLEGETCHARACTERSET</b> = 2490, \n<b>SCI_STYLEGETVISIBLE</b> = 2491, \n<b>SCI_STYLEGETCHANGEABLE</b> = 2492, \n<br />\n&#160;&#160;<b>SCI_STYLEGETHOTSPOT</b> = 2493, \n<b>SCI_GETHOTSPOTACTIVEFORE</b> = 2494, \n<b>SCI_GETHOTSPOTACTIVEBACK</b> = 2495, \n<br />\n&#160;&#160;<b>SCI_GETHOTSPOTACTIVEUNDERLINE</b> = 2496, \n<b>SCI_GETHOTSPOTSINGLELINE</b> = 2497, \n<b>SCI_BRACEHIGHLIGHTINDICATOR</b> = 2498, \n<br />\n&#160;&#160;<b>SCI_BRACEBADLIGHTINDICATOR</b> = 2499, \n<b>SCI_SETINDICATORCURRENT</b> = 2500, \n<b>SCI_GETINDICATORCURRENT</b> = 2501, \n<br />\n&#160;&#160;<b>SCI_SETINDICATORVALUE</b> = 2502, \n<b>SCI_GETINDICATORVALUE</b> = 2503, \n<b>SCI_INDICATORFILLRANGE</b> = 2504, \n<br />\n&#160;&#160;<b>SCI_INDICATORCLEARRANGE</b> = 2505, \n<b>SCI_INDICATORALLONFOR</b> = 2506, \n<b>SCI_INDICATORVALUEAT</b> = 2507, \n<br />\n&#160;&#160;<b>SCI_INDICATORSTART</b> = 2508, \n<b>SCI_INDICATOREND</b> = 2509, \n<b>SCI_INDICSETUNDER</b> = 2510, \n<br />\n&#160;&#160;<b>SCI_INDICGETUNDER</b> = 2511, \n<b>SCI_SETCARETSTYLE</b> = 2512, \n<b>SCI_GETCARETSTYLE</b> = 2513, \n<br />\n&#160;&#160;<b>SCI_SETPOSITIONCACHE</b> = 2514, \n<b>SCI_GETPOSITIONCACHE</b> = 2515, \n<b>SCI_SETSCROLLWIDTHTRACKING</b> = 2516, \n<br />\n&#160;&#160;<b>SCI_GETSCROLLWIDTHTRACKING</b> = 2517, \n<b>SCI_DELWORDRIGHTEND</b> = 2518, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\">SCI_COPYALLOWLINE</a> = 2519, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\">SCI_GETCHARACTERPOINTER</a> = 2520, \n<b>SCI_INDICSETALPHA</b> = 2523, \n<b>SCI_INDICGETALPHA</b> = 2524, \n<br />\n&#160;&#160;<b>SCI_SETEXTRAASCENT</b> = 2525, \n<b>SCI_GETEXTRAASCENT</b> = 2526, \n<b>SCI_SETEXTRADESCENT</b> = 2527, \n<br />\n&#160;&#160;<b>SCI_GETEXTRADESCENT</b> = 2528, \n<b>SCI_MARKERSYMBOLDEFINED</b> = 2529, \n<b>SCI_MARGINSETTEXT</b> = 2530, \n<br />\n&#160;&#160;<b>SCI_MARGINGETTEXT</b> = 2531, \n<b>SCI_MARGINSETSTYLE</b> = 2532, \n<b>SCI_MARGINGETSTYLE</b> = 2533, \n<br />\n&#160;&#160;<b>SCI_MARGINSETSTYLES</b> = 2534, \n<b>SCI_MARGINGETSTYLES</b> = 2535, \n<b>SCI_MARGINTEXTCLEARALL</b> = 2536, \n<br />\n&#160;&#160;<b>SCI_MARGINSETSTYLEOFFSET</b> = 2537, \n<b>SCI_MARGINGETSTYLEOFFSET</b> = 2538, \n<b>SCI_SETMARGINOPTIONS</b> = 2539, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONSETTEXT</b> = 2540, \n<b>SCI_ANNOTATIONGETTEXT</b> = 2541, \n<b>SCI_ANNOTATIONSETSTYLE</b> = 2542, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONGETSTYLE</b> = 2543, \n<b>SCI_ANNOTATIONSETSTYLES</b> = 2544, \n<b>SCI_ANNOTATIONGETSTYLES</b> = 2545, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONGETLINES</b> = 2546, \n<b>SCI_ANNOTATIONCLEARALL</b> = 2547, \n<b>SCI_ANNOTATIONSETVISIBLE</b> = 2548, \n<br />\n&#160;&#160;<b>SCI_ANNOTATIONGETVISIBLE</b> = 2549, \n<b>SCI_ANNOTATIONSETSTYLEOFFSET</b> = 2550, \n<b>SCI_ANNOTATIONGETSTYLEOFFSET</b> = 2551, \n<br />\n&#160;&#160;<b>SCI_RELEASEALLEXTENDEDSTYLES</b> = 2552, \n<b>SCI_ALLOCATEEXTENDEDSTYLES</b> = 2553, \n<b>SCI_SETEMPTYSELECTION</b> = 2556, \n<br />\n&#160;&#160;<b>SCI_GETMARGINOPTIONS</b> = 2557, \n<b>SCI_INDICSETOUTLINEALPHA</b> = 2558, \n<b>SCI_INDICGETOUTLINEALPHA</b> = 2559, \n<br />\n&#160;&#160;<b>SCI_ADDUNDOACTION</b> = 2560, \n<b>SCI_CHARPOSITIONFROMPOINT</b> = 2561, \n<b>SCI_CHARPOSITIONFROMPOINTCLOSE</b> = 2562, \n<br />\n&#160;&#160;<b>SCI_SETMULTIPLESELECTION</b> = 2563, \n<b>SCI_GETMULTIPLESELECTION</b> = 2564, \n<b>SCI_SETADDITIONALSELECTIONTYPING</b> = 2565, \n<br />\n&#160;&#160;<b>SCI_GETADDITIONALSELECTIONTYPING</b> = 2566, \n<b>SCI_SETADDITIONALCARETSBLINK</b> = 2567, \n<b>SCI_GETADDITIONALCARETSBLINK</b> = 2568, \n<br />\n&#160;&#160;<b>SCI_SCROLLRANGE</b> = 2569, \n<b>SCI_GETSELECTIONS</b> = 2570, \n<b>SCI_CLEARSELECTIONS</b> = 2571, \n<br />\n&#160;&#160;<b>SCI_SETSELECTION</b> = 2572, \n<b>SCI_ADDSELECTION</b> = 2573, \n<b>SCI_SETMAINSELECTION</b> = 2574, \n<br />\n&#160;&#160;<b>SCI_GETMAINSELECTION</b> = 2575, \n<b>SCI_SETSELECTIONNCARET</b> = 2576, \n<b>SCI_GETSELECTIONNCARET</b> = 2577, \n<br />\n&#160;&#160;<b>SCI_SETSELECTIONNANCHOR</b> = 2578, \n<b>SCI_GETSELECTIONNANCHOR</b> = 2579, \n<b>SCI_SETSELECTIONNCARETVIRTUALSPACE</b> = 2580, \n<br />\n&#160;&#160;<b>SCI_GETSELECTIONNCARETVIRTUALSPACE</b> = 2581, \n<b>SCI_SETSELECTIONNANCHORVIRTUALSPACE</b> = 2582, \n<b>SCI_GETSELECTIONNANCHORVIRTUALSPACE</b> = 2583, \n<br />\n&#160;&#160;<b>SCI_SETSELECTIONNSTART</b> = 2584, \n<b>SCI_GETSELECTIONNSTART</b> = 2585, \n<b>SCI_SETSELECTIONNEND</b> = 2586, \n<br />\n&#160;&#160;<b>SCI_GETSELECTIONNEND</b> = 2587, \n<b>SCI_SETRECTANGULARSELECTIONCARET</b> = 2588, \n<b>SCI_GETRECTANGULARSELECTIONCARET</b> = 2589, \n<br />\n&#160;&#160;<b>SCI_SETRECTANGULARSELECTIONANCHOR</b> = 2590, \n<b>SCI_GETRECTANGULARSELECTIONANCHOR</b> = 2591, \n<b>SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> = 2592, \n<br />\n&#160;&#160;<b>SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE</b> = 2593, \n<b>SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> = 2594, \n<b>SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE</b> = 2595, \n<br />\n&#160;&#160;<b>SCI_SETVIRTUALSPACEOPTIONS</b> = 2596, \n<b>SCI_GETVIRTUALSPACEOPTIONS</b> = 2597, \n<b>SCI_SETRECTANGULARSELECTIONMODIFIER</b> = 2598, \n<br />\n&#160;&#160;<b>SCI_GETRECTANGULARSELECTIONMODIFIER</b> = 2599, \n<b>SCI_SETADDITIONALSELFORE</b> = 2600, \n<b>SCI_SETADDITIONALSELBACK</b> = 2601, \n<br />\n&#160;&#160;<b>SCI_SETADDITIONALSELALPHA</b> = 2602, \n<b>SCI_GETADDITIONALSELALPHA</b> = 2603, \n<b>SCI_SETADDITIONALCARETFORE</b> = 2604, \n<br />\n&#160;&#160;<b>SCI_GETADDITIONALCARETFORE</b> = 2605, \n<b>SCI_ROTATESELECTION</b> = 2606, \n<b>SCI_SWAPMAINANCHORCARET</b> = 2607, \n<br />\n&#160;&#160;<b>SCI_SETADDITIONALCARETSVISIBLE</b> = 2608, \n<b>SCI_GETADDITIONALCARETSVISIBLE</b> = 2609, \n<b>SCI_AUTOCGETCURRENTTEXT</b> = 2610, \n<br />\n&#160;&#160;<b>SCI_SETFONTQUALITY</b> = 2611, \n<b>SCI_GETFONTQUALITY</b> = 2612, \n<b>SCI_SETFIRSTVISIBLELINE</b> = 2613, \n<br />\n&#160;&#160;<b>SCI_SETMULTIPASTE</b> = 2614, \n<b>SCI_GETMULTIPASTE</b> = 2615, \n<b>SCI_GETTAG</b> = 2616, \n<br />\n&#160;&#160;<b>SCI_CHANGELEXERSTATE</b> = 2617, \n<b>SCI_CONTRACTEDFOLDNEXT</b> = 2618, \n<b>SCI_VERTICALCENTRECARET</b> = 2619, \n<br />\n&#160;&#160;<b>SCI_MOVESELECTEDLINESUP</b> = 2620, \n<b>SCI_MOVESELECTEDLINESDOWN</b> = 2621, \n<b>SCI_SETIDENTIFIER</b> = 2622, \n<br />\n&#160;&#160;<b>SCI_GETIDENTIFIER</b> = 2623, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">SCI_RGBAIMAGESETWIDTH</a> = 2624, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">SCI_RGBAIMAGESETHEIGHT</a> = 2625, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a> = 2626, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a> = 2627, \n<b>SCI_SCROLLTOSTART</b> = 2628, \n<br />\n&#160;&#160;<b>SCI_SCROLLTOEND</b> = 2629, \n<b>SCI_SETTECHNOLOGY</b> = 2630, \n<b>SCI_GETTECHNOLOGY</b> = 2631, \n<br />\n&#160;&#160;<b>SCI_CREATELOADER</b> = 2632, \n<b>SCI_COUNTCHARACTERS</b> = 2633, \n<b>SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR</b> = 2634, \n<br />\n&#160;&#160;<b>SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR</b> = 2635, \n<b>SCI_AUTOCSETMULTI</b> = 2636, \n<b>SCI_AUTOCGETMULTI</b> = 2637, \n<br />\n&#160;&#160;<b>SCI_FINDINDICATORSHOW</b> = 2640, \n<b>SCI_FINDINDICATORFLASH</b> = 2641, \n<b>SCI_FINDINDICATORHIDE</b> = 2642, \n<br />\n&#160;&#160;<b>SCI_GETRANGEPOINTER</b> = 2643, \n<b>SCI_GETGAPPOSITION</b> = 2644, \n<b>SCI_DELETERANGE</b> = 2645, \n<br />\n&#160;&#160;<b>SCI_GETWORDCHARS</b> = 2646, \n<b>SCI_GETWHITESPACECHARS</b> = 2647, \n<b>SCI_SETPUNCTUATIONCHARS</b> = 2648, \n<br />\n&#160;&#160;<b>SCI_GETPUNCTUATIONCHARS</b> = 2649, \n<b>SCI_GETSELECTIONEMPTY</b> = 2650, \n<b>SCI_RGBAIMAGESETSCALE</b> = 2651, \n<br />\n&#160;&#160;<b>SCI_VCHOMEDISPLAY</b> = 2652, \n<b>SCI_VCHOMEDISPLAYEXTEND</b> = 2653, \n<b>SCI_GETCARETLINEVISIBLEALWAYS</b> = 2654, \n<br />\n&#160;&#160;<b>SCI_SETCARETLINEVISIBLEALWAYS</b> = 2655, \n<b>SCI_SETLINEENDTYPESALLOWED</b> = 2656, \n<b>SCI_GETLINEENDTYPESALLOWED</b> = 2657, \n<br />\n&#160;&#160;<b>SCI_GETLINEENDTYPESACTIVE</b> = 2658, \n<b>SCI_AUTOCSETORDER</b> = 2660, \n<b>SCI_AUTOCGETORDER</b> = 2661, \n<br />\n&#160;&#160;<b>SCI_FOLDALL</b> = 2662, \n<b>SCI_SETAUTOMATICFOLD</b> = 2663, \n<b>SCI_GETAUTOMATICFOLD</b> = 2664, \n<br />\n&#160;&#160;<b>SCI_SETREPRESENTATION</b> = 2665, \n<b>SCI_GETREPRESENTATION</b> = 2666, \n<b>SCI_CLEARREPRESENTATION</b> = 2667, \n<br />\n&#160;&#160;<b>SCI_SETMOUSESELECTIONRECTANGULARSWITCH</b> = 2668, \n<b>SCI_GETMOUSESELECTIONRECTANGULARSWITCH</b> = 2669, \n<b>SCI_POSITIONRELATIVE</b> = 2670, \n<br />\n&#160;&#160;<b>SCI_DROPSELECTIONN</b> = 2671, \n<b>SCI_CHANGEINSERTION</b> = 2672, \n<b>SCI_GETPHASESDRAW</b> = 2673, \n<br />\n&#160;&#160;<b>SCI_SETPHASESDRAW</b> = 2674, \n<b>SCI_CLEARTABSTOPS</b> = 2675, \n<b>SCI_ADDTABSTOP</b> = 2676, \n<br />\n&#160;&#160;<b>SCI_GETNEXTTABSTOP</b> = 2677, \n<b>SCI_GETIMEINTERACTION</b> = 2678, \n<b>SCI_SETIMEINTERACTION</b> = 2679, \n<br />\n&#160;&#160;<b>SCI_INDICSETHOVERSTYLE</b> = 2680, \n<b>SCI_INDICGETHOVERSTYLE</b> = 2681, \n<b>SCI_INDICSETHOVERFORE</b> = 2682, \n<br />\n&#160;&#160;<b>SCI_INDICGETHOVERFORE</b> = 2683, \n<b>SCI_INDICSETFLAGS</b> = 2684, \n<b>SCI_INDICGETFLAGS</b> = 2685, \n<br />\n&#160;&#160;<b>SCI_SETTARGETRANGE</b> = 2686, \n<b>SCI_GETTARGETTEXT</b> = 2687, \n<b>SCI_MULTIPLESELECTADDNEXT</b> = 2688, \n<br />\n&#160;&#160;<b>SCI_MULTIPLESELECTADDEACH</b> = 2689, \n<b>SCI_TARGETWHOLEDOCUMENT</b> = 2690, \n<b>SCI_ISRANGEWORD</b> = 2691, \n<br />\n&#160;&#160;<b>SCI_SETIDLESTYLING</b> = 2692, \n<b>SCI_GETIDLESTYLING</b> = 2693, \n<b>SCI_MULTIEDGEADDLINE</b> = 2694, \n<br />\n&#160;&#160;<b>SCI_MULTIEDGECLEARALL</b> = 2695, \n<b>SCI_SETMOUSEWHEELCAPTURES</b> = 2696, \n<b>SCI_GETMOUSEWHEELCAPTURES</b> = 2697, \n<br />\n&#160;&#160;<b>SCI_GETTABDRAWMODE</b> = 2698, \n<b>SCI_SETTABDRAWMODE</b> = 2699, \n<b>SCI_TOGGLEFOLDSHOWTEXT</b> = 2700, \n<br />\n&#160;&#160;<b>SCI_FOLDDISPLAYTEXTSETSTYLE</b> = 2701, \n<b>SCI_SETACCESSIBILITY</b> = 2702, \n<b>SCI_GETACCESSIBILITY</b> = 2703, \n<br />\n&#160;&#160;<b>SCI_GETCARETLINEFRAME</b> = 2704, \n<b>SCI_SETCARETLINEFRAME</b> = 2705, \n<b>SCI_STARTRECORD</b> = 3001, \n<br />\n&#160;&#160;<b>SCI_STOPRECORD</b> = 3002, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">SCI_SETLEXER</a> = 4001, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">SCI_GETLEXER</a> = 4002, \n<br />\n&#160;&#160;<b>SCI_COLOURISE</b> = 4003, \n<b>SCI_SETPROPERTY</b> = 4004, \n<b>SCI_SETKEYWORDS</b> = 4005, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\">SCI_SETLEXERLANGUAGE</a> = 4006, \n<b>SCI_LOADLEXERLIBRARY</b> = 4007, \n<b>SCI_GETPROPERTY</b> = 4008, \n<br />\n&#160;&#160;<b>SCI_GETPROPERTYEXPANDED</b> = 4009, \n<b>SCI_GETPROPERTYINT</b> = 4010, \n<b>SCI_GETSTYLEBITSNEEDED</b> = 4011, \n<br />\n&#160;&#160;<b>SCI_GETLEXERLANGUAGE</b> = 4012, \n<b>SCI_PRIVATELEXERCALL</b> = 4013, \n<b>SCI_PROPERTYNAMES</b> = 4014, \n<br />\n&#160;&#160;<b>SCI_PROPERTYTYPE</b> = 4015, \n<b>SCI_DESCRIBEPROPERTY</b> = 4016, \n<b>SCI_DESCRIBEKEYWORDSETS</b> = 4017, \n<br />\n&#160;&#160;<b>SCI_GETLINEENDTYPESSUPPORTED</b> = 4018, \n<b>SCI_ALLOCATESUBSTYLES</b> = 4020, \n<b>SCI_GETSUBSTYLESSTART</b> = 4021, \n<br />\n&#160;&#160;<b>SCI_GETSUBSTYLESLENGTH</b> = 4022, \n<b>SCI_GETSTYLEFROMSUBSTYLE</b> = 4027, \n<b>SCI_GETPRIMARYSTYLEFROMSTYLE</b> = 4028, \n<br />\n&#160;&#160;<b>SCI_FREESUBSTYLES</b> = 4023, \n<b>SCI_SETIDENTIFIERS</b> = 4024, \n<b>SCI_DISTANCETOSECONDARYSTYLES</b> = 4025, \n<br />\n&#160;&#160;<b>SCI_GETSUBSTYLEBASES</b> = 4026, \n<b>SCI_GETLINECHARACTERINDEX</b> = 2710, \n<b>SCI_ALLOCATELINECHARACTERINDEX</b> = 2711, \n<br />\n&#160;&#160;<b>SCI_RELEASELINECHARACTERINDEX</b> = 2712, \n<b>SCI_LINEFROMINDEXPOSITION</b> = 2713, \n<b>SCI_INDEXPOSITIONFROMLINE</b> = 2714, \n<br />\n&#160;&#160;<b>SCI_COUNTCODEUNITS</b> = 2715, \n<b>SCI_POSITIONRELATIVECODEUNITS</b> = 2716, \n<b>SCI_GETNAMEDSTYLES</b> = 4029, \n<br />\n&#160;&#160;<b>SCI_NAMEOFSTYLE</b> = 4030, \n<b>SCI_TAGSOFSTYLE</b> = 4031, \n<b>SCI_DESCRIPTIONOFSTYLE</b> = 4032, \n<br />\n&#160;&#160;<b>SCI_GETMOVEEXTENDSSELECTION</b> = 2706, \n<b>SCI_SETCOMMANDEVENTS</b> = 2717, \n<b>SCI_GETCOMMANDEVENTS</b> = 2718, \n<br />\n&#160;&#160;<b>SCI_GETDOCUMENTOPTIONS</b> = 2379\n<br />\n }</td></tr>\n<tr class=\"separator:ad9c35f7540b2457103db9cf8c877784a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a940b9c0cd2c56db6cd810597a8197ebc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a940b9c0cd2c56db6cd810597a8197ebc\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_AC_FILLUP</b> = 1, \n<b>SC_AC_DOUBLECLICK</b> = 2, \n<b>SC_AC_TAB</b> = 3, \n<br />\n&#160;&#160;<b>SC_AC_NEWLINE</b> = 4, \n<b>SC_AC_COMMAND</b> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a940b9c0cd2c56db6cd810597a8197ebc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5cd5f6e631ca6d6e242f178f8b4582fd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5cd5f6e631ca6d6e242f178f8b4582fd\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_ALPHA_TRANSPARENT</b> = 0, \n<b>SC_ALPHA_OPAQUE</b> = 255, \n<b>SC_ALPHA_NOALPHA</b> = 256\n }</td></tr>\n<tr class=\"separator:a5cd5f6e631ca6d6e242f178f8b4582fd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a306e03d6bdd11d645a88ef7284ebb8d3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a306e03d6bdd11d645a88ef7284ebb8d3\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_CARETSTICKY_OFF</b> = 0, \n<b>SC_CARETSTICKY_ON</b> = 1, \n<b>SC_CARETSTICKY_WHITESPACE</b> = 2\n }</td></tr>\n<tr class=\"separator:a306e03d6bdd11d645a88ef7284ebb8d3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e54839f8ef0a92fde4e81c139f81567\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9e54839f8ef0a92fde4e81c139f81567\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_DOCUMENTOPTION_DEFAULT</b> = 0x0000, \n<b>SC_DOCUMENTOPTION_STYLES_NONE</b> = 0x0001, \n<b>SC_DOCUMENTOPTION_TEXT_LARGE</b> = 0x0100\n }</td></tr>\n<tr class=\"separator:a9e54839f8ef0a92fde4e81c139f81567\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adec2f0c26f1def79e14675e3a2db561e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adec2f0c26f1def79e14675e3a2db561e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_EFF_QUALITY_MASK</b> = 0x0f, \n<b>SC_EFF_QUALITY_DEFAULT</b> = 0, \n<b>SC_EFF_QUALITY_NON_ANTIALIASED</b> = 1, \n<br />\n&#160;&#160;<b>SC_EFF_QUALITY_ANTIALIASED</b> = 2, \n<b>SC_EFF_QUALITY_LCD_OPTIMIZED</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:adec2f0c26f1def79e14675e3a2db561e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a33b43b49dd2702a5518628b021e99550\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a33b43b49dd2702a5518628b021e99550\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_IDLESTYLING_NONE</b> = 0, \n<b>SC_IDLESTYLING_TOVISIBLE</b> = 1, \n<b>SC_IDLESTYLING_AFTERVISIBLE</b> = 2, \n<br />\n&#160;&#160;<b>SC_IDLESTYLING_ALL</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a33b43b49dd2702a5518628b021e99550\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac3b47eb7780e99799b367f2bb76c55ac\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac3b47eb7780e99799b367f2bb76c55ac\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_IME_WINDOWED</b> = 0, \n<b>SC_IME_INLINE</b> = 1\n }</td></tr>\n<tr class=\"separator:ac3b47eb7780e99799b367f2bb76c55ac\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80a28afa239736b78d5d1e95229dc56e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a80a28afa239736b78d5d1e95229dc56e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_LINECHARACTERINDEX_NONE</b> = 0, \n<b>SC_LINECHARACTERINDEX_UTF32</b> = 1, \n<b>SC_LINECHARACTERINDEX_UTF16</b> = 2\n }</td></tr>\n<tr class=\"separator:a80a28afa239736b78d5d1e95229dc56e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0604bf30b2d505eaf86f61b89f8d25b3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0604bf30b2d505eaf86f61b89f8d25b3\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_MARGINOPTION_NONE</b> = 0x00, \n<b>SC_MARGINOPTION_SUBLINESELECT</b> = 0x01\n }</td></tr>\n<tr class=\"separator:a0604bf30b2d505eaf86f61b89f8d25b3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae47504bece542b5230e78e74a7c481f6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae47504bece542b5230e78e74a7c481f6\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_MULTIAUTOC_ONCE</b> = 0, \n<b>SC_MULTIAUTOC_EACH</b> = 1\n }</td></tr>\n<tr class=\"separator:ae47504bece542b5230e78e74a7c481f6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabe379c165d6e569e684834adb98ec58\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aabe379c165d6e569e684834adb98ec58\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_MULTIPASTE_ONCE</b> = 0, \n<b>SC_MULTIPASTE_EACH</b> = 1\n }</td></tr>\n<tr class=\"separator:aabe379c165d6e569e684834adb98ec58\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46b22a650111e20d5c3fc18fdf693342\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a46b22a650111e20d5c3fc18fdf693342\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_POPUP_NEVER</b> = 0, \n<b>SC_POPUP_ALL</b> = 1, \n<b>SC_POPUP_TEXT</b> = 2\n }</td></tr>\n<tr class=\"separator:a46b22a650111e20d5c3fc18fdf693342\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aad0a6f5e5ad05455480c3530435dd6aa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_SEL_STREAM</b> = 0, \n<b>SC_SEL_RECTANGLE</b> = 1, \n<b>SC_SEL_LINES</b> = 2, \n<br />\n&#160;&#160;<b>SC_SEL_THIN</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:aad0a6f5e5ad05455480c3530435dd6aa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab577311795830783d5b1dc6a0ffa11e8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab577311795830783d5b1dc6a0ffa11e8\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_STATUS_OK</b> = 0, \n<b>SC_STATUS_FAILURE</b> = 1, \n<b>SC_STATUS_BADALLOC</b> = 2, \n<br />\n&#160;&#160;<b>SC_STATUS_WARN_START</b> = 1000, \n<b>SC_STATUS_WARNREGEX</b> = 1001\n<br />\n }</td></tr>\n<tr class=\"separator:ab577311795830783d5b1dc6a0ffa11e8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab30e53e4a12ff687e76089331892ec7f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab30e53e4a12ff687e76089331892ec7f\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_TYPE_BOOLEAN</b> = 0, \n<b>SC_TYPE_INTEGER</b> = 1, \n<b>SC_TYPE_STRING</b> = 2\n }</td></tr>\n<tr class=\"separator:ab30e53e4a12ff687e76089331892ec7f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5161ccc0c1bcd30e9f607dcbd6120007\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5161ccc0c1bcd30e9f607dcbd6120007\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_UPDATE_CONTENT</b> = 0x01, \n<b>SC_UPDATE_SELECTION</b> = 0x02, \n<b>SC_UPDATE_V_SCROLL</b> = 0x04, \n<br />\n&#160;&#160;<b>SC_UPDATE_H_SCROLL</b> = 0x08\n<br />\n }</td></tr>\n<tr class=\"separator:a5161ccc0c1bcd30e9f607dcbd6120007\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aba7442e8abfc6e2645ffda04cff6354e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aba7442e8abfc6e2645ffda04cff6354e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_WRAPVISUALFLAG_NONE</b> = 0x0000, \n<b>SC_WRAPVISUALFLAG_END</b> = 0x0001, \n<b>SC_WRAPVISUALFLAG_START</b> = 0x0002, \n<br />\n&#160;&#160;<b>SC_WRAPVISUALFLAG_MARGIN</b> = 0x0004\n<br />\n }</td></tr>\n<tr class=\"separator:aba7442e8abfc6e2645ffda04cff6354e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36708d50e92db731fc6ef4883a2e3a54\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a36708d50e92db731fc6ef4883a2e3a54\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_WRAPVISUALFLAGLOC_DEFAULT</b> = 0x0000, \n<b>SC_WRAPVISUALFLAGLOC_END_BY_TEXT</b> = 0x0001, \n<b>SC_WRAPVISUALFLAGLOC_START_BY_TEXT</b> = 0x0002\n }</td></tr>\n<tr class=\"separator:a36708d50e92db731fc6ef4883a2e3a54\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a24fcbfa6a5b9d4ec51cc3df2bc80b7fb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a24fcbfa6a5b9d4ec51cc3df2bc80b7fb\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SCTD_LONGARROW</b> = 0, \n<b>SCTD_STRIKEOUT</b> = 1\n }</td></tr>\n<tr class=\"separator:a24fcbfa6a5b9d4ec51cc3df2bc80b7fb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae0d96e140124f18e23b27f32f67001f1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae0d96e140124f18e23b27f32f67001f1\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCVS_NONE</b> = 0, \n<b>SCVS_RECTANGULARSELECTION</b> = 1, \n<b>SCVS_USERACCESSIBLE</b> = 2, \n<br />\n&#160;&#160;<b>SCVS_NOWRAPLINESTART</b> = 4\n<br />\n }</td></tr>\n<tr class=\"separator:ae0d96e140124f18e23b27f32f67001f1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e453519ca9312f3b8c4cd4abe9f86d0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9e453519ca9312f3b8c4cd4abe9f86d0\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCWS_INVISIBLE</b> = 0, \n<b>SCWS_VISIBLEALWAYS</b> = 1, \n<b>SCWS_VISIBLEAFTERINDENT</b> = 2, \n<br />\n&#160;&#160;<b>SCWS_VISIBLEONLYININDENT</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a9e453519ca9312f3b8c4cd4abe9f86d0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7af2638f7d483966ac82628045884c55\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7af2638f7d483966ac82628045884c55\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_EOL_CRLF</b> = 0, \n<b>SC_EOL_CR</b> = 1, \n<b>SC_EOL_LF</b> = 2\n }</td></tr>\n<tr class=\"separator:a7af2638f7d483966ac82628045884c55\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abfcc7ea6119f3dca1a9726228f55f3f9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"abfcc7ea6119f3dca1a9726228f55f3f9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_CP_DBCS</b> = 1, \n<b>SC_CP_UTF8</b> = 65001\n }</td></tr>\n<tr class=\"separator:abfcc7ea6119f3dca1a9726228f55f3f9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad004786b74db7858f6642c23447a214c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">SC_MARK_CIRCLE</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">SC_MARK_ROUNDRECT</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">SC_MARK_ARROW</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">SC_MARK_SMALLRECT</a> = 3, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">SC_MARK_SHORTARROW</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">SC_MARK_EMPTY</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">SC_MARK_ARROWDOWN</a> = 6, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">SC_MARK_MINUS</a> = 7, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">SC_MARK_PLUS</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">SC_MARK_VLINE</a> = 9, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">SC_MARK_LCORNER</a> = 10, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">SC_MARK_TCORNER</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">SC_MARK_BOXPLUS</a> = 12, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">SC_MARK_BOXPLUSCONNECTED</a> = 13, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">SC_MARK_BOXMINUS</a> = 14, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">SC_MARK_BOXMINUSCONNECTED</a> = 15, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">SC_MARK_LCORNERCURVE</a> = 16, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">SC_MARK_TCORNERCURVE</a> = 17, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">SC_MARK_CIRCLEPLUS</a> = 18, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">SC_MARK_CIRCLEPLUSCONNECTED</a> = 19, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">SC_MARK_CIRCLEMINUS</a> = 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">SC_MARK_CIRCLEMINUSCONNECTED</a> = 21, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">SC_MARK_BACKGROUND</a> = 22, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">SC_MARK_DOTDOTDOT</a> = 23, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">SC_MARK_ARROWS</a> = 24, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\">SC_MARK_PIXMAP</a> = 25, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">SC_MARK_FULLRECT</a> = 26, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">SC_MARK_LEFTRECT</a> = 27, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\">SC_MARK_AVAILABLE</a> = 28, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">SC_MARK_UNDERLINE</a> = 29, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\">SC_MARK_RGBAIMAGE</a> = 30, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">SC_MARK_BOOKMARK</a> = 31, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\">SC_MARK_CHARACTER</a> = 10000\n<br />\n }</td></tr>\n<tr class=\"separator:ad004786b74db7858f6642c23447a214c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab3b56c8c14ecc496e46e2ee1dc26738\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab3b56c8c14ecc496e46e2ee1dc26738\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_MARKNUM_FOLDEREND</b> = 25, \n<b>SC_MARKNUM_FOLDEROPENMID</b> = 26, \n<b>SC_MARKNUM_FOLDERMIDTAIL</b> = 27, \n<br />\n&#160;&#160;<b>SC_MARKNUM_FOLDERTAIL</b> = 28, \n<b>SC_MARKNUM_FOLDERSUB</b> = 29, \n<b>SC_MARKNUM_FOLDER</b> = 30, \n<br />\n&#160;&#160;<b>SC_MARKNUM_FOLDEROPEN</b> = 31, \n<b>SC_MASK_FOLDERS</b> = 0xfe000000\n<br />\n }</td></tr>\n<tr class=\"separator:aab3b56c8c14ecc496e46e2ee1dc26738\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7ed107d6ace096e9026c31145c48b41\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">SC_MARGIN_SYMBOL</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">SC_MARGIN_NUMBER</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">SC_MARGIN_BACK</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">SC_MARGIN_FORE</a> = 3, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">SC_MARGIN_TEXT</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">SC_MARGIN_RTEXT</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">SC_MARGIN_COLOUR</a> = 6\n<br />\n }</td></tr>\n<tr class=\"separator:ab7ed107d6ace096e9026c31145c48b41\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5435e1717ef698d5c0d689214d4b0f34\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5435e1717ef698d5c0d689214d4b0f34\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>STYLE_DEFAULT</b> = 32, \n<b>STYLE_LINENUMBER</b> = 33, \n<b>STYLE_BRACELIGHT</b> = 34, \n<br />\n&#160;&#160;<b>STYLE_BRACEBAD</b> = 35, \n<b>STYLE_CONTROLCHAR</b> = 36, \n<b>STYLE_INDENTGUIDE</b> = 37, \n<br />\n&#160;&#160;<b>STYLE_CALLTIP</b> = 38, \n<b>STYLE_FOLDDISPLAYTEXT</b> = 39, \n<b>STYLE_LASTPREDEFINED</b> = 39, \n<br />\n&#160;&#160;<b>STYLE_MAX</b> = 255\n<br />\n }</td></tr>\n<tr class=\"separator:a5435e1717ef698d5c0d689214d4b0f34\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab2179a2af3123f8e759086f07be80cd2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab2179a2af3123f8e759086f07be80cd2\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CHARSET_ANSI</b> = 0, \n<b>SC_CHARSET_DEFAULT</b> = 1, \n<b>SC_CHARSET_BALTIC</b> = 186, \n<br />\n&#160;&#160;<b>SC_CHARSET_CHINESEBIG5</b> = 136, \n<b>SC_CHARSET_EASTEUROPE</b> = 238, \n<b>SC_CHARSET_GB2312</b> = 134, \n<br />\n&#160;&#160;<b>SC_CHARSET_GREEK</b> = 161, \n<b>SC_CHARSET_HANGUL</b> = 129, \n<b>SC_CHARSET_MAC</b> = 77, \n<br />\n&#160;&#160;<b>SC_CHARSET_OEM</b> = 255, \n<b>SC_CHARSET_RUSSIAN</b> = 204, \n<b>SC_CHARSET_OEM866</b> = 866, \n<br />\n&#160;&#160;<b>SC_CHARSET_CYRILLIC</b> = 1251, \n<b>SC_CHARSET_SHIFTJIS</b> = 128, \n<b>SC_CHARSET_SYMBOL</b> = 2, \n<br />\n&#160;&#160;<b>SC_CHARSET_TURKISH</b> = 162, \n<b>SC_CHARSET_JOHAB</b> = 130, \n<b>SC_CHARSET_HEBREW</b> = 177, \n<br />\n&#160;&#160;<b>SC_CHARSET_ARABIC</b> = 178, \n<b>SC_CHARSET_VIETNAMESE</b> = 163, \n<b>SC_CHARSET_THAI</b> = 222, \n<br />\n&#160;&#160;<b>SC_CHARSET_8859_15</b> = 1000\n<br />\n }</td></tr>\n<tr class=\"separator:ab2179a2af3123f8e759086f07be80cd2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a864b0a91be0b1eb3143b30849474d9ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a864b0a91be0b1eb3143b30849474d9ee\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CASE_MIXED</b> = 0, \n<b>SC_CASE_UPPER</b> = 1, \n<b>SC_CASE_LOWER</b> = 2, \n<br />\n&#160;&#160;<b>SC_CASE_CAMEL</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a864b0a91be0b1eb3143b30849474d9ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae92e21c6957f026dbfd00008348e8b50\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\">SC_IV_NONE</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\">SC_IV_REAL</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\">SC_IV_LOOKFORWARD</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\">SC_IV_LOOKBOTH</a> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:ae92e21c6957f026dbfd00008348e8b50\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab7599500a82c87cf303643005ea78e79\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab7599500a82c87cf303643005ea78e79\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>INDIC_PLAIN</b> = 0, \n<b>INDIC_SQUIGGLE</b> = 1, \n<b>INDIC_TT</b> = 2, \n<br />\n&#160;&#160;<b>INDIC_DIAGONAL</b> = 3, \n<b>INDIC_STRIKE</b> = 4, \n<b>INDIC_HIDDEN</b> = 5, \n<br />\n&#160;&#160;<b>INDIC_BOX</b> = 6, \n<b>INDIC_ROUNDBOX</b> = 7, \n<b>INDIC_STRAIGHTBOX</b> = 8, \n<br />\n&#160;&#160;<b>INDIC_DASH</b> = 9, \n<b>INDIC_DOTS</b> = 10, \n<b>INDIC_SQUIGGLELOW</b> = 11, \n<br />\n&#160;&#160;<b>INDIC_DOTBOX</b> = 12, \n<b>INDIC_SQUIGGLEPIXMAP</b> = 13, \n<b>INDIC_COMPOSITIONTHICK</b> = 14, \n<br />\n&#160;&#160;<b>INDIC_COMPOSITIONTHIN</b> = 15, \n<b>INDIC_FULLBOX</b> = 16, \n<b>INDIC_TEXTFORE</b> = 17, \n<br />\n&#160;&#160;<b>INDIC_POINT</b> = 18, \n<b>INDIC_POINTCHARACTER</b> = 19, \n<b>INDIC_GRADIENT</b> = 20, \n<br />\n&#160;&#160;<b>INDIC_GRADIENTCENTRE</b> = 21, \n<b>INDIC_IME</b> = 32, \n<b>INDIC_IME_MAX</b> = 35, \n<br />\n&#160;&#160;<b>INDIC_CONTAINER</b> = 8, \n<b>INDIC_MAX</b> = 35, \n<b>INDIC0_MASK</b> = 0x20, \n<br />\n&#160;&#160;<b>INDIC1_MASK</b> = 0x40, \n<b>INDIC2_MASK</b> = 0x80, \n<b>INDICS_MASK</b> = 0xe0, \n<br />\n&#160;&#160;<b>SC_INDICVALUEBIT</b> = 0x01000000, \n<b>SC_INDICVALUEMASK</b> = 0x00ffffff, \n<b>SC_INDICFLAG_VALUEBEFORE</b> = 1\n<br />\n }</td></tr>\n<tr class=\"separator:ab7599500a82c87cf303643005ea78e79\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8abc450a2a7d8a4d92b768b85d72bf14\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8abc450a2a7d8a4d92b768b85d72bf14\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_PRINT_NORMAL</b> = 0, \n<b>SC_PRINT_INVERTLIGHT</b> = 1, \n<b>SC_PRINT_BLACKONWHITE</b> = 2, \n<br />\n&#160;&#160;<b>SC_PRINT_COLOURONWHITE</b> = 3, \n<b>SC_PRINT_COLOURONWHITEDEFAULTBG</b> = 4, \n<b>SC_PRINT_SCREENCOLOURS</b> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a8abc450a2a7d8a4d92b768b85d72bf14\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a449c8199d94b497f5afd855341d64229\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a449c8199d94b497f5afd855341d64229\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCFIND_WHOLEWORD</b> = 2, \n<b>SCFIND_MATCHCASE</b> = 4, \n<b>SCFIND_WORDSTART</b> = 0x00100000, \n<br />\n&#160;&#160;<b>SCFIND_REGEXP</b> = 0x00200000, \n<b>SCFIND_POSIX</b> = 0x00400000, \n<b>SCFIND_CXX11REGEX</b> = 0x00800000\n<br />\n }</td></tr>\n<tr class=\"separator:a449c8199d94b497f5afd855341d64229\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a09d85c486690a5380792405faaaa220c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a09d85c486690a5380792405faaaa220c\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_FOLDDISPLAYTEXT_HIDDEN</b> = 0, \n<b>SC_FOLDDISPLAYTEXT_STANDARD</b> = 1, \n<b>SC_FOLDDISPLAYTEXT_BOXED</b> = 2\n }</td></tr>\n<tr class=\"separator:a09d85c486690a5380792405faaaa220c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5d42aeb0ff1f1319327636928704f11\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab5d42aeb0ff1f1319327636928704f11\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_FOLDLEVELBASE</b> = 0x00400, \n<b>SC_FOLDLEVELWHITEFLAG</b> = 0x01000, \n<b>SC_FOLDLEVELHEADERFLAG</b> = 0x02000, \n<br />\n&#160;&#160;<b>SC_FOLDLEVELNUMBERMASK</b> = 0x00fff\n<br />\n }</td></tr>\n<tr class=\"separator:ab5d42aeb0ff1f1319327636928704f11\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6eb62a631a3a04dd6d5c98286c143231\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6eb62a631a3a04dd6d5c98286c143231\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_FOLDFLAG_LINEBEFORE_EXPANDED</b> = 0x0002, \n<b>SC_FOLDFLAG_LINEBEFORE_CONTRACTED</b> = 0x0004, \n<b>SC_FOLDFLAG_LINEAFTER_EXPANDED</b> = 0x0008, \n<br />\n&#160;&#160;<b>SC_FOLDFLAG_LINEAFTER_CONTRACTED</b> = 0x0010, \n<b>SC_FOLDFLAG_LEVELNUMBERS</b> = 0x0040, \n<b>SC_FOLDFLAG_LINESTATE</b> = 0x0080\n<br />\n }</td></tr>\n<tr class=\"separator:a6eb62a631a3a04dd6d5c98286c143231\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3477f4d751d01b39b5e7e38d93856fef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3477f4d751d01b39b5e7e38d93856fef\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_LINE_END_TYPE_DEFAULT</b> = 0, \n<b>SC_LINE_END_TYPE_UNICODE</b> = 1\n }</td></tr>\n<tr class=\"separator:a3477f4d751d01b39b5e7e38d93856fef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a299f0d0556673ceff9aae3e11099bb68\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a299f0d0556673ceff9aae3e11099bb68\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_TIME_FOREVER</b> = 10000000\n }</td></tr>\n<tr class=\"separator:a299f0d0556673ceff9aae3e11099bb68\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ae69b065d2ac2dfaab53656df932306\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7ae69b065d2ac2dfaab53656df932306\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_WRAP_NONE</b> = 0, \n<b>SC_WRAP_WORD</b> = 1, \n<b>SC_WRAP_CHAR</b> = 2, \n<br />\n&#160;&#160;<b>SC_WRAP_WHITESPACE</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a7ae69b065d2ac2dfaab53656df932306\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36b85609dd203b3b27c14a16e24321b9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a36b85609dd203b3b27c14a16e24321b9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_WRAPINDENT_FIXED</b> = 0, \n<b>SC_WRAPINDENT_SAME</b> = 1, \n<b>SC_WRAPINDENT_INDENT</b> = 2, \n<br />\n&#160;&#160;<b>SC_WRAPINDENT_DEEPINDENT</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a36b85609dd203b3b27c14a16e24321b9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6b6243d26078b6ee34246844721d2ad9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6b6243d26078b6ee34246844721d2ad9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CACHE_NONE</b> = 0, \n<b>SC_CACHE_CARET</b> = 1, \n<b>SC_CACHE_PAGE</b> = 2, \n<br />\n&#160;&#160;<b>SC_CACHE_DOCUMENT</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a6b6243d26078b6ee34246844721d2ad9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac9677f1e758e2aaa368dc70c8eac011b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac9677f1e758e2aaa368dc70c8eac011b\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_PHASES_ONE</b> = 0, \n<b>SC_PHASES_TWO</b> = 1, \n<b>SC_PHASES_MULTIPLE</b> = 2\n }</td></tr>\n<tr class=\"separator:ac9677f1e758e2aaa368dc70c8eac011b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a387e5fb00390c98f574c1a63e5cc6990\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a387e5fb00390c98f574c1a63e5cc6990\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>ANNOTATION_HIDDEN</b> = 0, \n<b>ANNOTATION_STANDARD</b> = 1, \n<b>ANNOTATION_BOXED</b> = 2, \n<br />\n&#160;&#160;<b>ANNOTATION_INDENTED</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a387e5fb00390c98f574c1a63e5cc6990\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a74a237b74599034b49c7eb219976143f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a74a237b74599034b49c7eb219976143f\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>EDGE_NONE</b> = 0, \n<b>EDGE_LINE</b> = 1, \n<b>EDGE_BACKGROUND</b> = 2, \n<br />\n&#160;&#160;<b>EDGE_MULTILINE</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:a74a237b74599034b49c7eb219976143f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad04a7f86e07a9e8bcc8b3d835abe9f5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad04a7f86e07a9e8bcc8b3d835abe9f5d\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_CURSORNORMAL</b> = -1, \n<b>SC_CURSORARROW</b> = 2, \n<b>SC_CURSORWAIT</b> = 4, \n<br />\n&#160;&#160;<b>SC_CURSORREVERSEARROW</b> = 7\n<br />\n }</td></tr>\n<tr class=\"separator:ad04a7f86e07a9e8bcc8b3d835abe9f5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ffda257161a3e02664b8e78edc75255\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ffda257161a3e02664b8e78edc75255\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>UNDO_MAY_COALESCE</b> = 1\n }</td></tr>\n<tr class=\"separator:a1ffda257161a3e02664b8e78edc75255\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad239e77cce3abfe60c72f70460dd70ca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad239e77cce3abfe60c72f70460dd70ca\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>VISIBLE_SLOP</b> = 0x01, \n<b>VISIBLE_STRICT</b> = 0x04\n }</td></tr>\n<tr class=\"separator:ad239e77cce3abfe60c72f70460dd70ca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2c80c96e6a7f6a37bf1b355d6be1b4f6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2c80c96e6a7f6a37bf1b355d6be1b4f6\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>CARET_SLOP</b> = 0x01, \n<b>CARET_STRICT</b> = 0x04, \n<b>CARET_JUMPS</b> = 0x10, \n<br />\n&#160;&#160;<b>CARET_EVEN</b> = 0x08\n<br />\n }</td></tr>\n<tr class=\"separator:a2c80c96e6a7f6a37bf1b355d6be1b4f6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9f68a3ed6fdd9fc9fe3113bf51e06916\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9f68a3ed6fdd9fc9fe3113bf51e06916\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>CARETSTYLE_INVISIBLE</b> = 0, \n<b>CARETSTYLE_LINE</b> = 1, \n<b>CARETSTYLE_BLOCK</b> = 2\n }</td></tr>\n<tr class=\"separator:a9f68a3ed6fdd9fc9fe3113bf51e06916\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5c2dea0c8bd3f89ee89586d5e5a89889\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5c2dea0c8bd3f89ee89586d5e5a89889\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_MOD_INSERTTEXT</b> = 0x1, \n<b>SC_MOD_DELETETEXT</b> = 0x2, \n<b>SC_MOD_CHANGESTYLE</b> = 0x4, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGEFOLD</b> = 0x8, \n<b>SC_PERFORMED_USER</b> = 0x10, \n<b>SC_PERFORMED_UNDO</b> = 0x20, \n<br />\n&#160;&#160;<b>SC_PERFORMED_REDO</b> = 0x40, \n<b>SC_MULTISTEPUNDOREDO</b> = 0x80, \n<b>SC_LASTSTEPINUNDOREDO</b> = 0x100, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGEMARKER</b> = 0x200, \n<b>SC_MOD_BEFOREINSERT</b> = 0x400, \n<b>SC_MOD_BEFOREDELETE</b> = 0x800, \n<br />\n&#160;&#160;<b>SC_MULTILINEUNDOREDO</b> = 0x1000, \n<b>SC_STARTACTION</b> = 0x2000, \n<b>SC_MOD_CHANGEINDICATOR</b> = 0x4000, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGELINESTATE</b> = 0x8000, \n<b>SC_MOD_CHANGEMARGIN</b> = 0x10000, \n<b>SC_MOD_CHANGEANNOTATION</b> = 0x20000, \n<br />\n&#160;&#160;<b>SC_MOD_CONTAINER</b> = 0x40000, \n<b>SC_MOD_LEXERSTATE</b> = 0x80000, \n<b>SC_MOD_INSERTCHECK</b> = 0x100000, \n<br />\n&#160;&#160;<b>SC_MOD_CHANGETABSTOPS</b> = 0x200000, \n<b>SC_MODEVENTMASKALL</b> = 0x3fffff\n<br />\n }</td></tr>\n<tr class=\"separator:a5c2dea0c8bd3f89ee89586d5e5a89889\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aae100b109f91ace045feded7e5ca7267\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aae100b109f91ace045feded7e5ca7267\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SCK_DOWN</b> = 300, \n<b>SCK_UP</b> = 301, \n<b>SCK_LEFT</b> = 302, \n<br />\n&#160;&#160;<b>SCK_RIGHT</b> = 303, \n<b>SCK_HOME</b> = 304, \n<b>SCK_END</b> = 305, \n<br />\n&#160;&#160;<b>SCK_PRIOR</b> = 306, \n<b>SCK_NEXT</b> = 307, \n<b>SCK_DELETE</b> = 308, \n<br />\n&#160;&#160;<b>SCK_INSERT</b> = 309, \n<b>SCK_ESCAPE</b> = 7, \n<b>SCK_BACK</b> = 8, \n<br />\n&#160;&#160;<b>SCK_TAB</b> = 9, \n<b>SCK_RETURN</b> = 13, \n<b>SCK_ADD</b> = 310, \n<br />\n&#160;&#160;<b>SCK_SUBTRACT</b> = 311, \n<b>SCK_DIVIDE</b> = 312, \n<b>SCK_WIN</b> = 313, \n<br />\n&#160;&#160;<b>SCK_RWIN</b> = 314, \n<b>SCK_MENU</b> = 315\n<br />\n }</td></tr>\n<tr class=\"separator:aae100b109f91ace045feded7e5ca7267\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a76f793f6e6ce5b6f14b3925e78ea2aa6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\">SCMOD_NORM</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\">SCMOD_SHIFT</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\">SCMOD_CTRL</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\">SCMOD_ALT</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\">SCMOD_SUPER</a> = 8, \n<a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\">SCMOD_META</a> = 16\n<br />\n }</td></tr>\n<tr class=\"separator:a76f793f6e6ce5b6f14b3925e78ea2aa6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa4ab44fd6a7374eb16d07762aa51c7c0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">SCLEX_CONTAINER</a> = 0, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\">SCLEX_NULL</a> = 1, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\">SCLEX_PYTHON</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\">SCLEX_CPP</a> = 3, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\">SCLEX_HTML</a> = 4, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\">SCLEX_XML</a> = 5, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\">SCLEX_PERL</a> = 6, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\">SCLEX_SQL</a> = 7, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\">SCLEX_VB</a> = 8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\">SCLEX_PROPERTIES</a> = 9, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\">SCLEX_ERRORLIST</a> = 10, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\">SCLEX_MAKEFILE</a> = 11, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\">SCLEX_BATCH</a> = 12, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\">SCLEX_LATEX</a> = 14, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\">SCLEX_LUA</a> = 15, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\">SCLEX_DIFF</a> = 16, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\">SCLEX_CONF</a> = 17, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\">SCLEX_PASCAL</a> = 18, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\">SCLEX_AVE</a> = 19, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\">SCLEX_ADA</a> = 20, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\">SCLEX_LISP</a> = 21, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\">SCLEX_RUBY</a> = 22, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\">SCLEX_EIFFEL</a> = 23, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\">SCLEX_EIFFELKW</a> = 24, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\">SCLEX_TCL</a> = 25, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\">SCLEX_NNCRONTAB</a> = 26, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\">SCLEX_BULLANT</a> = 27, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\">SCLEX_VBSCRIPT</a> = 28, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\">SCLEX_ASP</a> = SCLEX_HTML, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\">SCLEX_PHP</a> = SCLEX_HTML, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\">SCLEX_BAAN</a> = 31, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\">SCLEX_MATLAB</a> = 32, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\">SCLEX_SCRIPTOL</a> = 33, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\">SCLEX_ASM</a> = 34, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\">SCLEX_CPPNOCASE</a> = 35, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\">SCLEX_FORTRAN</a> = 36, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\">SCLEX_F77</a> = 37, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\">SCLEX_CSS</a> = 38, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\">SCLEX_POV</a> = 39, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\">SCLEX_LOUT</a> = 40, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\">SCLEX_ESCRIPT</a> = 41, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\">SCLEX_PS</a> = 42, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\">SCLEX_NSIS</a> = 43, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\">SCLEX_MMIXAL</a> = 44, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\">SCLEX_CLW</a> = 45, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\">SCLEX_CLWNOCASE</a> = 46, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\">SCLEX_LOT</a> = 47, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\">SCLEX_YAML</a> = 48, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\">SCLEX_TEX</a> = 49, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\">SCLEX_METAPOST</a> = 50, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\">SCLEX_POWERBASIC</a> = 51, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\">SCLEX_FORTH</a> = 52, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\">SCLEX_ERLANG</a> = 53, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\">SCLEX_OCTAVE</a> = 54, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\">SCLEX_MSSQL</a> = 55, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\">SCLEX_VERILOG</a> = 56, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\">SCLEX_KIX</a> = 57, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\">SCLEX_GUI4CLI</a> = 58, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\">SCLEX_SPECMAN</a> = 59, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\">SCLEX_AU3</a> = 60, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\">SCLEX_APDL</a> = 61, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\">SCLEX_BASH</a> = 62, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\">SCLEX_ASN1</a> = 63, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\">SCLEX_VHDL</a> = 64, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\">SCLEX_CAML</a> = 65, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\">SCLEX_BLITZBASIC</a> = 66, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\">SCLEX_PUREBASIC</a> = 67, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\">SCLEX_HASKELL</a> = 68, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\">SCLEX_PHPSCRIPT</a> = 69, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\">SCLEX_TADS3</a> = 70, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\">SCLEX_REBOL</a> = 71, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\">SCLEX_SMALLTALK</a> = 72, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\">SCLEX_FLAGSHIP</a> = 73, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\">SCLEX_CSOUND</a> = 74, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\">SCLEX_FREEBASIC</a> = 75, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\">SCLEX_INNOSETUP</a> = 76, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\">SCLEX_OPAL</a> = 77, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\">SCLEX_SPICE</a> = 78, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\">SCLEX_D</a> = 79, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\">SCLEX_CMAKE</a> = 80, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\">SCLEX_GAP</a> = 81, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\">SCLEX_PLM</a> = 82, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\">SCLEX_PROGRESS</a> = 83, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\">SCLEX_ABAQUS</a> = 84, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\">SCLEX_ASYMPTOTE</a> = 85, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\">SCLEX_R</a> = 86, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\">SCLEX_MAGIK</a> = 87, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\">SCLEX_POWERSHELL</a> = 88, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\">SCLEX_MYSQL</a> = 89, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\">SCLEX_PO</a> = 90, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\">SCLEX_TAL</a> = 91, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\">SCLEX_COBOL</a> = 92, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\">SCLEX_TACL</a> = 93, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\">SCLEX_SORCUS</a> = 94, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\">SCLEX_POWERPRO</a> = 95, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\">SCLEX_NIMROD</a> = 96, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\">SCLEX_SML</a> = 97, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\">SCLEX_MARKDOWN</a> = 98, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\">SCLEX_TXT2TAGS</a> = 99, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\">SCLEX_A68K</a> = 100, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\">SCLEX_MODULA</a> = 101, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\">SCLEX_COFFEESCRIPT</a> = 102, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\">SCLEX_TCMD</a> = 103, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\">SCLEX_AVS</a> = 104, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\">SCLEX_ECL</a> = 105, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\">SCLEX_OSCRIPT</a> = 106, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\">SCLEX_VISUALPROLOG</a> = 107, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\">SCLEX_LITERATEHASKELL</a> = 108, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\">SCLEX_STTXT</a> = 109, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\">SCLEX_KVIRC</a> = 110, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\">SCLEX_RUST</a> = 111, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\">SCLEX_DMAP</a> = 112, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\">SCLEX_AS</a> = 113, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\">SCLEX_DMIS</a> = 114, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\">SCLEX_REGISTRY</a> = 115, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\">SCLEX_BIBTEX</a> = 116, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\">SCLEX_SREC</a> = 117, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\">SCLEX_IHEX</a> = 118, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\">SCLEX_TEHEX</a> = 119, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\">SCLEX_JSON</a> = 120, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\">SCLEX_EDIFACT</a> = 121, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\">SCLEX_INDENT</a> = 122, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\">SCLEX_MAXIMA</a> = 123, \n<br />\n&#160;&#160;<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\">SCLEX_STATA</a> = 124, \n<a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\">SCLEX_SAS</a> = 125\n<br />\n }</td></tr>\n<tr class=\"separator:aa4ab44fd6a7374eb16d07762aa51c7c0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a80ff71d78cd014abb3ba387d190547df\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a80ff71d78cd014abb3ba387d190547df\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_WEIGHT_NORMAL</b> = 400, \n<b>SC_WEIGHT_SEMIBOLD</b> = 600, \n<b>SC_WEIGHT_BOLD</b> = 700\n }</td></tr>\n<tr class=\"separator:a80ff71d78cd014abb3ba387d190547df\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab69a4898ecba5b929124e7a11d504cb9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ab69a4898ecba5b929124e7a11d504cb9\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <br />\n&#160;&#160;<b>SC_TECHNOLOGY_DEFAULT</b> = 0, \n<b>SC_TECHNOLOGY_DIRECTWRITE</b> = 1, \n<b>SC_TECHNOLOGY_DIRECTWRITERETAIN</b> = 2, \n<br />\n&#160;&#160;<b>SC_TECHNOLOGY_DIRECTWRITEDC</b> = 3\n<br />\n }</td></tr>\n<tr class=\"separator:ab69a4898ecba5b929124e7a11d504cb9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7bfd9660119d4ff15969a312874e3f0d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a7bfd9660119d4ff15969a312874e3f0d\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE</b> = 0, \n<b>SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE</b> = 1\n }</td></tr>\n<tr class=\"separator:a7bfd9660119d4ff15969a312874e3f0d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3c275507899f6fd247db63d1dcd83003\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a3c275507899f6fd247db63d1dcd83003\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_FONT_SIZE_MULTIPLIER</b> = 100\n }</td></tr>\n<tr class=\"separator:a3c275507899f6fd247db63d1dcd83003\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2236594c42c6b16ae3a048eef7a88624\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2236594c42c6b16ae3a048eef7a88624\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_FOLDACTION_CONTRACT</b> = 0, \n<b>SC_FOLDACTION_EXPAND</b> = 1, \n<b>SC_FOLDACTION_TOGGLE</b> = 2\n }</td></tr>\n<tr class=\"separator:a2236594c42c6b16ae3a048eef7a88624\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2d8147b1c9082f33f6b41eefdb249f9e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2d8147b1c9082f33f6b41eefdb249f9e\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_AUTOMATICFOLD_SHOW</b> = 0x0001, \n<b>SC_AUTOMATICFOLD_CLICK</b> = 0x0002, \n<b>SC_AUTOMATICFOLD_CHANGE</b> = 0x0004\n }</td></tr>\n<tr class=\"separator:a2d8147b1c9082f33f6b41eefdb249f9e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2a78dba0cc167992b097c30ea331f2db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2a78dba0cc167992b097c30ea331f2db\"></a>enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\">{ <b>SC_ORDER_PRESORTED</b> = 0, \n<b>SC_ORDER_PERFORMSORT</b> = 1, \n<b>SC_ORDER_CUSTOM</b> = 2\n }</td></tr>\n<tr class=\"separator:a2a78dba0cc167992b097c30ea331f2db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"signals\"></a>\nSignals</h2></td></tr>\n<tr class=\"memitem:a747feb07236c1beccadd446562b53b84\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QSCN_SELCHANGED</a> (bool yes)</td></tr>\n<tr class=\"separator:a747feb07236c1beccadd446562b53b84\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1719fba80d9e60cf9fce1bb75f304568\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">SCN_AUTOCCANCELLED</a> ()</td></tr>\n<tr class=\"separator:a1719fba80d9e60cf9fce1bb75f304568\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aabab23e5653c35dae8a6f144d73c4657\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">SCN_AUTOCCHARDELETED</a> ()</td></tr>\n<tr class=\"separator:aabab23e5653c35dae8a6f144d73c4657\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a41e738411112b8f509e0b49b6fc3e318\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">SCN_AUTOCCOMPLETED</a> (const char *selection, int position, int ch, int method)</td></tr>\n<tr class=\"separator:a41e738411112b8f509e0b49b6fc3e318\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a61c43c53a753272c51c5c5ac14bda136\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION</a> (const char *selection, int position, int ch, int method)</td></tr>\n<tr class=\"separator:a61c43c53a753272c51c5c5ac14bda136\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1ad82492f8015a60dea97f6ebd712d64\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1ad82492f8015a60dea97f6ebd712d64\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1ad82492f8015a60dea97f6ebd712d64\">SCN_AUTOCSELECTION</a> (const char *selection, int position)</td></tr>\n<tr class=\"separator:a1ad82492f8015a60dea97f6ebd712d64\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a721a1879cabaa76883ae1a02a34a76e8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">SCN_AUTOCSELECTIONCHANGE</a> (const char *selection, int id, int position)</td></tr>\n<tr class=\"separator:a721a1879cabaa76883ae1a02a34a76e8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af2cc3652d35b4d0ec1d8c9ac18e2225e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af2cc3652d35b4d0ec1d8c9ac18e2225e\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">SCEN_CHANGE</a> ()</td></tr>\n<tr class=\"separator:af2cc3652d35b4d0ec1d8c9ac18e2225e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a13f22ec5a59e2e8e97a27ac24967f74d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">SCN_CALLTIPCLICK</a> (int direction)</td></tr>\n<tr class=\"separator:a13f22ec5a59e2e8e97a27ac24967f74d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae8d8fa5d5f063a7c7d37d527f86b5fe8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">SCN_CHARADDED</a> (int charadded)</td></tr>\n<tr class=\"separator:ae8d8fa5d5f063a7c7d37d527f86b5fe8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad3ca5787399ed886cb9000c8feab3c08\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">SCN_DOUBLECLICK</a> (int position, int line, int modifiers)</td></tr>\n<tr class=\"separator:ad3ca5787399ed886cb9000c8feab3c08\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9ecd605284870ddbf703cf4c8c995ca6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">SCN_DWELLEND</a> (int position, int x, int y)</td></tr>\n<tr class=\"separator:a9ecd605284870ddbf703cf4c8c995ca6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adfd788dce5c1a91d1fcd5e6fdd2fca59\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">SCN_DWELLSTART</a> (int position, int x, int y)</td></tr>\n<tr class=\"separator:adfd788dce5c1a91d1fcd5e6fdd2fca59\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae53947625062cec64a212dc68877ddc3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae53947625062cec64a212dc68877ddc3\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">SCN_FOCUSIN</a> ()</td></tr>\n<tr class=\"separator:ae53947625062cec64a212dc68877ddc3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2febc4ea74d45d6a8bc9c758635dd99d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2febc4ea74d45d6a8bc9c758635dd99d\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">SCN_FOCUSOUT</a> ()</td></tr>\n<tr class=\"separator:a2febc4ea74d45d6a8bc9c758635dd99d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5eff383e6fa96cbbaba6a2558b076c0b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">SCN_HOTSPOTCLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a5eff383e6fa96cbbaba6a2558b076c0b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a682cc736272338433efdc86bc936e0e8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">SCN_HOTSPOTDOUBLECLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a682cc736272338433efdc86bc936e0e8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a906faecb0defd2d5a14cac54f8415dcf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">SCN_HOTSPOTRELEASECLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a906faecb0defd2d5a14cac54f8415dcf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aeec8d7e585e93451307df88ff2fc2b87\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">SCN_INDICATORCLICK</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:aeec8d7e585e93451307df88ff2fc2b87\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a93d1e96c88745ca7f2737602e80dc76a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">SCN_INDICATORRELEASE</a> (int position, int modifiers)</td></tr>\n<tr class=\"separator:a93d1e96c88745ca7f2737602e80dc76a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abdae368f2b81955c4927dc6f26fc2c77\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">SCN_MACRORECORD</a> (unsigned int, unsigned long, void *)</td></tr>\n<tr class=\"separator:abdae368f2b81955c4927dc6f26fc2c77\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a722a2f16b67ef5f46def6914a6e178c3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK</a> (int position, int modifiers, int margin)</td></tr>\n<tr class=\"separator:a722a2f16b67ef5f46def6914a6e178c3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a39e90958ae903d2f6198ec0c58f56ed9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">SCN_MARGINRIGHTCLICK</a> (int position, int modifiers, int margin)</td></tr>\n<tr class=\"separator:a39e90958ae903d2f6198ec0c58f56ed9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a63e6aadaa0f86a927a591604b3d7bdd2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a63e6aadaa0f86a927a591604b3d7bdd2\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>SCN_MODIFIED</b> (int, int, const char *, int, int, int, int, int, int, int)</td></tr>\n<tr class=\"separator:a63e6aadaa0f86a927a591604b3d7bdd2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adb5bad7d1dad9ab3fe74adb3e0812969\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">SCN_MODIFYATTEMPTRO</a> ()</td></tr>\n<tr class=\"separator:adb5bad7d1dad9ab3fe74adb3e0812969\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8b6b9e6220051496233ae604cb2d1643\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a8b6b9e6220051496233ae604cb2d1643\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>SCN_NEEDSHOWN</b> (int, int)</td></tr>\n<tr class=\"separator:a8b6b9e6220051496233ae604cb2d1643\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a94a1cff08b2ef6558d054177fa88ea47\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">SCN_PAINTED</a> ()</td></tr>\n<tr class=\"separator:a94a1cff08b2ef6558d054177fa88ea47\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af3a619a5e59cef000f0b550e809c94de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">SCN_SAVEPOINTLEFT</a> ()</td></tr>\n<tr class=\"separator:af3a619a5e59cef000f0b550e809c94de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0db8c3ad0764a96f3ccf0fec71de0d26\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">SCN_SAVEPOINTREACHED</a> ()</td></tr>\n<tr class=\"separator:a0db8c3ad0764a96f3ccf0fec71de0d26\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a72c0bc1c83fd675714626cd786ca4fb9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">SCN_STYLENEEDED</a> (int position)</td></tr>\n<tr class=\"separator:a72c0bc1c83fd675714626cd786ca4fb9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42cb45ea05c71180a594e0cc8041c07d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">SCN_URIDROPPED</a> (const QUrl &amp;url)</td></tr>\n<tr class=\"separator:a42cb45ea05c71180a594e0cc8041c07d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad88db21d86df33667c234d00af1fdf94\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">SCN_UPDATEUI</a> (int updated)</td></tr>\n<tr class=\"separator:ad88db21d86df33667c234d00af1fdf94\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8225643b25dc6f1dedc48b4a7af4b83d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">SCN_USERLISTSELECTION</a> (const char *selection, int id, int ch, int method, int position)</td></tr>\n<tr class=\"separator:a8225643b25dc6f1dedc48b4a7af4b83d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9208cc0aaf2e0a32239924fc6d0b67b7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9208cc0aaf2e0a32239924fc6d0b67b7\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9208cc0aaf2e0a32239924fc6d0b67b7\">SCN_USERLISTSELECTION</a> (const char *selection, int id, int ch, int method)</td></tr>\n<tr class=\"separator:a9208cc0aaf2e0a32239924fc6d0b67b7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0045744463119646a5fe33ecc4d104fb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a0045744463119646a5fe33ecc4d104fb\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0045744463119646a5fe33ecc4d104fb\">SCN_USERLISTSELECTION</a> (const char *selection, int id)</td></tr>\n<tr class=\"separator:a0045744463119646a5fe33ecc4d104fb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa114b43a6593dceeb1b50efccc9533f6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa114b43a6593dceeb1b50efccc9533f6\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>SCN_ZOOM</b> ()</td></tr>\n<tr class=\"separator:aa114b43a6593dceeb1b50efccc9533f6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a425344ca700d69b60ffeb3f8122f7ff9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a425344ca700d69b60ffeb3f8122f7ff9\"></a>\n&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase</a> (QWidget *parent=0)</td></tr>\n<tr class=\"separator:a425344ca700d69b60ffeb3f8122f7ff9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a965242ee4392b838cc182c823de54ff6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a965242ee4392b838cc182c823de54ff6\"></a>\nvirtual&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">~QsciScintillaBase</a> ()</td></tr>\n<tr class=\"separator:a965242ee4392b838cc182c823de54ff6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1efa4394b588d27fd2a3bd40163a2342\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">replaceHorizontalScrollBar</a> (QScrollBar *scrollBar)</td></tr>\n<tr class=\"separator:a1efa4394b588d27fd2a3bd40163a2342\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a900e3a0287e262fe65c51162e562fc5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">replaceVerticalScrollBar</a> (QScrollBar *scrollBar)</td></tr>\n<tr class=\"separator:a900e3a0287e262fe65c51162e562fc5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8820ab8d7563bd7ed24ce6384846079e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">long&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">SendScintilla</a> (unsigned int msg, unsigned long wParam=0, long lParam=0) const</td></tr>\n<tr class=\"separator:a8820ab8d7563bd7ed24ce6384846079e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adf01efe3951a727dab9c7a1c35d29e0f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adf01efe3951a727dab9c7a1c35d29e0f\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adf01efe3951a727dab9c7a1c35d29e0f\">SendScintilla</a> (unsigned int msg, unsigned long wParam, void *lParam) const</td></tr>\n<tr class=\"separator:adf01efe3951a727dab9c7a1c35d29e0f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab2b37b2f67991e9c083d9412cba2264\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab2b37b2f67991e9c083d9412cba2264\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab2b37b2f67991e9c083d9412cba2264\">SendScintilla</a> (unsigned int msg, uintptr_t wParam, const char *lParam) const</td></tr>\n<tr class=\"separator:aab2b37b2f67991e9c083d9412cba2264\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adb45fb04c1ad8c6459fea750d8788584\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adb45fb04c1ad8c6459fea750d8788584\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb45fb04c1ad8c6459fea750d8788584\">SendScintilla</a> (unsigned int msg, const char *lParam) const</td></tr>\n<tr class=\"separator:adb45fb04c1ad8c6459fea750d8788584\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9fa4dc539be7b199e91d6ff0f83e5f8d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a9fa4dc539be7b199e91d6ff0f83e5f8d\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a9fa4dc539be7b199e91d6ff0f83e5f8d\">SendScintilla</a> (unsigned int msg, const char *wParam, const char *lParam) const</td></tr>\n<tr class=\"separator:a9fa4dc539be7b199e91d6ff0f83e5f8d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a94a66b0c8459f5a407eef6783cd6d80b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a94a66b0c8459f5a407eef6783cd6d80b\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a94a66b0c8459f5a407eef6783cd6d80b\">SendScintilla</a> (unsigned int msg, long wParam) const</td></tr>\n<tr class=\"separator:a94a66b0c8459f5a407eef6783cd6d80b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:add035b6176dbe36b3c975f05573c0e61\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"add035b6176dbe36b3c975f05573c0e61\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#add035b6176dbe36b3c975f05573c0e61\">SendScintilla</a> (unsigned int msg, int wParam) const</td></tr>\n<tr class=\"separator:add035b6176dbe36b3c975f05573c0e61\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6c892370b4ee3afd2eef080ee8c25fde\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6c892370b4ee3afd2eef080ee8c25fde\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6c892370b4ee3afd2eef080ee8c25fde\">SendScintilla</a> (unsigned int msg, long cpMin, long cpMax, char *lpstrText) const</td></tr>\n<tr class=\"separator:a6c892370b4ee3afd2eef080ee8c25fde\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1d84e61ba19c5177386ba30ba512345f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1d84e61ba19c5177386ba30ba512345f\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1d84e61ba19c5177386ba30ba512345f\">SendScintilla</a> (unsigned int msg, unsigned long wParam, const QColor &amp;col) const</td></tr>\n<tr class=\"separator:a1d84e61ba19c5177386ba30ba512345f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af935c2c5d8eeb3aeb25ba9b48539f879\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af935c2c5d8eeb3aeb25ba9b48539f879\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af935c2c5d8eeb3aeb25ba9b48539f879\">SendScintilla</a> (unsigned int msg, const QColor &amp;col) const</td></tr>\n<tr class=\"separator:af935c2c5d8eeb3aeb25ba9b48539f879\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aacfd4923492644933902b278efea1787\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aacfd4923492644933902b278efea1787\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aacfd4923492644933902b278efea1787\">SendScintilla</a> (unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &amp;rc, long cpMin, long cpMax) const</td></tr>\n<tr class=\"separator:aacfd4923492644933902b278efea1787\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2cef89549882e03a6290af8cbbf1a3ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2cef89549882e03a6290af8cbbf1a3ce\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2cef89549882e03a6290af8cbbf1a3ce\">SendScintilla</a> (unsigned int msg, unsigned long wParam, const QPixmap &amp;lParam) const</td></tr>\n<tr class=\"separator:a2cef89549882e03a6290af8cbbf1a3ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56542fe5a9e5790eab29936b73ef0fa3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a56542fe5a9e5790eab29936b73ef0fa3\"></a>\nlong&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a56542fe5a9e5790eab29936b73ef0fa3\">SendScintilla</a> (unsigned int msg, unsigned long wParam, const QImage &amp;lParam) const</td></tr>\n<tr class=\"separator:a56542fe5a9e5790eab29936b73ef0fa3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5f140c587d361cf8539814d820d680f4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5f140c587d361cf8539814d820d680f4\"></a>\nvoid *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">SendScintillaPtrResult</a> (unsigned int msg) const</td></tr>\n<tr class=\"separator:a5f140c587d361cf8539814d820d680f4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-static-methods\"></a>\nStatic Public Member Functions</h2></td></tr>\n<tr class=\"memitem:a0f69249f4e97b96f09ea70f546df7464\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">static <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">pool</a> ()</td></tr>\n<tr class=\"separator:a0f69249f4e97b96f09ea70f546df7464\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad70482ce059c5cb74a014b5eb4f597d6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad70482ce059c5cb74a014b5eb4f597d6\"></a>\nstatic int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>commandKey</b> (int qt_key, int &amp;modifiers)</td></tr>\n<tr class=\"separator:ad70482ce059c5cb74a014b5eb4f597d6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-types\"></a>\nProtected Types</h2></td></tr>\n<tr class=\"memitem:adf9244775a9df945d915aaf4cf4861fe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adf9244775a9df945d915aaf4cf4861fe\"></a>\ntypedef QByteArray&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>ScintillaBytes</b></td></tr>\n<tr class=\"separator:adf9244775a9df945d915aaf4cf4861fe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pro-methods\"></a>\nProtected Member Functions</h2></td></tr>\n<tr class=\"memitem:abce274ef71035c67baadaa167a1fe5a7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">canInsertFromMimeData</a> (const QMimeData *source) const</td></tr>\n<tr class=\"separator:abce274ef71035c67baadaa167a1fe5a7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5f105b9ec17cd73a0cd601ac9be82dd4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QByteArray&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">fromMimeData</a> (const QMimeData *source, bool &amp;rectangular) const</td></tr>\n<tr class=\"separator:a5f105b9ec17cd73a0cd601ac9be82dd4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7e1e146787204eba48aa5376287de41f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">virtual QMimeData *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">toMimeData</a> (const QByteArray &amp;text, bool rectangular) const</td></tr>\n<tr class=\"separator:a7e1e146787204eba48aa5376287de41f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac8a72227fc8efff78505733d1663f927\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ac8a72227fc8efff78505733d1663f927\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ac8a72227fc8efff78505733d1663f927\">changeEvent</a> (QEvent *e)</td></tr>\n<tr class=\"separator:ac8a72227fc8efff78505733d1663f927\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adb8531cdc862f79cce9fa4d970bc13a2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"adb8531cdc862f79cce9fa4d970bc13a2\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#adb8531cdc862f79cce9fa4d970bc13a2\">contextMenuEvent</a> (QContextMenuEvent *e)</td></tr>\n<tr class=\"separator:adb8531cdc862f79cce9fa4d970bc13a2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad7b8480681e4b4d5689d0e6d822dc3c0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad7b8480681e4b4d5689d0e6d822dc3c0\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">dragEnterEvent</a> (QDragEnterEvent *e)</td></tr>\n<tr class=\"separator:ad7b8480681e4b4d5689d0e6d822dc3c0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a67c4a9da730c69a2b9fda0a1a02348f1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a67c4a9da730c69a2b9fda0a1a02348f1\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">dragLeaveEvent</a> (QDragLeaveEvent *e)</td></tr>\n<tr class=\"separator:a67c4a9da730c69a2b9fda0a1a02348f1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af25249a8e4e0f0966395b5006a5362d9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"af25249a8e4e0f0966395b5006a5362d9\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">dragMoveEvent</a> (QDragMoveEvent *e)</td></tr>\n<tr class=\"separator:af25249a8e4e0f0966395b5006a5362d9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a33c8d6d9915a1375c0d7c24beaceb951\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a33c8d6d9915a1375c0d7c24beaceb951\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">dropEvent</a> (QDropEvent *e)</td></tr>\n<tr class=\"separator:a33c8d6d9915a1375c0d7c24beaceb951\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2c339fd90e92408440230ee9d84cabcf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2c339fd90e92408440230ee9d84cabcf\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">focusInEvent</a> (QFocusEvent *e)</td></tr>\n<tr class=\"separator:a2c339fd90e92408440230ee9d84cabcf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1aec9b47eeaf611687eeeef0d1aa3a00\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1aec9b47eeaf611687eeeef0d1aa3a00\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">focusOutEvent</a> (QFocusEvent *e)</td></tr>\n<tr class=\"separator:a1aec9b47eeaf611687eeeef0d1aa3a00\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6fb5a9621640080fc9909f94b6c0213\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad6fb5a9621640080fc9909f94b6c0213\"></a>\nvirtual bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">focusNextPrevChild</a> (bool next)</td></tr>\n<tr class=\"separator:ad6fb5a9621640080fc9909f94b6c0213\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a39f62b8e6cee02e86d7af508d20a191d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a39f62b8e6cee02e86d7af508d20a191d\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">keyPressEvent</a> (QKeyEvent *e)</td></tr>\n<tr class=\"separator:a39f62b8e6cee02e86d7af508d20a191d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acb05eb7e7c7cac07547a08d0628013fe\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"acb05eb7e7c7cac07547a08d0628013fe\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">inputMethodEvent</a> (QInputMethodEvent *event)</td></tr>\n<tr class=\"separator:acb05eb7e7c7cac07547a08d0628013fe\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ade2821d031ae57c4f52a40e0589baba7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ade2821d031ae57c4f52a40e0589baba7\"></a>\nvirtual QVariant&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>inputMethodQuery</b> (Qt::InputMethodQuery query) const</td></tr>\n<tr class=\"separator:ade2821d031ae57c4f52a40e0589baba7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab16e9b7ca9a17af2af3b7ca7f14c8c4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aab16e9b7ca9a17af2af3b7ca7f14c8c4\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">mouseDoubleClickEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:aab16e9b7ca9a17af2af3b7ca7f14c8c4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5a4a2c5466d1b4f7d6e835c253cb1730\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5a4a2c5466d1b4f7d6e835c253cb1730\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">mouseMoveEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:a5a4a2c5466d1b4f7d6e835c253cb1730\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d6f13610560a2c281f638f3a40046f6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6d6f13610560a2c281f638f3a40046f6\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">mousePressEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:a6d6f13610560a2c281f638f3a40046f6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a5b949013c382c1b5f341137cd37752\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6a5b949013c382c1b5f341137cd37752\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">mouseReleaseEvent</a> (QMouseEvent *e)</td></tr>\n<tr class=\"separator:a6a5b949013c382c1b5f341137cd37752\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ea74fb61f3d2d983d142a6ec8c3cc9d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a2ea74fb61f3d2d983d142a6ec8c3cc9d\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">paintEvent</a> (QPaintEvent *e)</td></tr>\n<tr class=\"separator:a2ea74fb61f3d2d983d142a6ec8c3cc9d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6d0427b93e05876c9a2b541eae08ddab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6d0427b93e05876c9a2b541eae08ddab\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">resizeEvent</a> (QResizeEvent *e)</td></tr>\n<tr class=\"separator:a6d0427b93e05876c9a2b541eae08ddab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad685ecbca2d58ef561256b8439eb0daa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ad685ecbca2d58ef561256b8439eb0daa\"></a>\nvirtual void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>scrollContentsBy</b> (int dx, int dy)</td></tr>\n<tr class=\"separator:ad685ecbca2d58ef561256b8439eb0daa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1628992bb476d4b0939a0349a30930f4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a1628992bb476d4b0939a0349a30930f4\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>setScrollBars</b> ()</td></tr>\n<tr class=\"separator:a1628992bb476d4b0939a0349a30930f4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a79d0e6cb1806d270a5fa4408cefc5964\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a79d0e6cb1806d270a5fa4408cefc5964\"></a>\nScintillaBytes&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>textAsBytes</b> (const QString &amp;text) const</td></tr>\n<tr class=\"separator:a79d0e6cb1806d270a5fa4408cefc5964\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5fd45107cc2fedc25ad0e52f786f76e6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a5fd45107cc2fedc25ad0e52f786f76e6\"></a>\nQString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>bytesAsText</b> (const char *bytes) const</td></tr>\n<tr class=\"separator:a5fd45107cc2fedc25ad0e52f786f76e6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a408cf3a7df3dce50504b83b51ed44b83\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a408cf3a7df3dce50504b83b51ed44b83\"></a>\nbool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>contextMenuNeeded</b> (int x, int y) const</td></tr>\n<tr class=\"separator:a408cf3a7df3dce50504b83b51ed44b83\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciScintillaBase.html\" title=\"The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.\">QsciScintillaBase</a> class implements the Scintilla editor widget and its low-level API. </p>\n<p>Scintilla (<a href=\"http://www.scintilla.org\">http://www.scintilla.org</a>) 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.</p>\n<p><a class=\"el\" href=\"classQsciScintillaBase.html\" title=\"The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.\">QsciScintillaBase</a> 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.</p>\n<p>See <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> for the implementation of a higher level API that is more consistent with the rest of the Qt toolkit. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"ad9c35f7540b2457103db9cf8c877784a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad9c35f7540b2457103db9cf8c877784a\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The low-level Scintilla API is implemented as a set of messages each of which takes up to two parameters (<em>wParam</em> and <em>lParam</em>) and optionally return a value. This enum defines all the possible messages. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\"></a>SCI_ADDTEXT&#160;</td><td class=\"fielddoc\"><p>This message appends some text to the end of the document. <em>wParam</em> is the length of the text. <em>lParam</em> is the text to be appended. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\"></a>SCI_GETCURRENTPOS&#160;</td><td class=\"fielddoc\"><p>This message returns the current position. </p><pre class=\"fragment\">    \\sa SCI_SETCURRENTPOS \n</pre> </td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\"></a>SCI_GETANCHOR&#160;</td><td class=\"fielddoc\"><p>This message returns the anchor. </p><pre class=\"fragment\">    \\sa SCI_SETANCHOR \n</pre> </td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\"></a>SCI_SETSAVEPOINT&#160;</td><td class=\"fielddoc\"><p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">SCN_SAVEPOINTREACHED()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">SCN_SAVEPOINTLEFT()</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\"></a>SCI_MARKERLINEFROMHANDLE&#160;</td><td class=\"fielddoc\"><p>This message returns the line that contains a particular instance of a marker. <em>wParam</em> is the handle of the marker.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\"></a>SCI_MARKERDELETEHANDLE&#160;</td><td class=\"fielddoc\"><p>This message removes a particular instance of a marker. <em>wParam</em> is the handle of the marker.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\"></a>SCI_GOTOPOS&#160;</td><td class=\"fielddoc\"><p>This message clears the current selection and sets the current position. <em>wParam</em> is the new current position.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">SCI_SETCURRENTPOS</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\"></a>SCI_SETANCHOR&#160;</td><td class=\"fielddoc\"><p>This message sets the anchor. <em>wParam</em> is the new anchor.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">SCI_GETANCHOR</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\"></a>SCI_GETENDSTYLED&#160;</td><td class=\"fielddoc\"><p>This message returns the character position of the start of the text that needs to be syntax styled.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">SCN_STYLENEEDED()</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\"></a>SCI_MARKERDEFINE&#160;</td><td class=\"fielddoc\"><p>This message sets the symbol used to draw one of 32 markers. Some markers have pre-defined uses, see the SC_MARKNUM_* values. <em>wParam</em> is the number of the marker. <em>lParam</em> is the marker symbol and is one of the SC_MARK_* values.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">SCI_MARKERDEFINEPIXMAP</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\"></a>SCI_MARKERSETFORE&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the number of the marker. <em>lParam</em> is the colour.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">SCI_MARKERSETBACK</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\"></a>SCI_MARKERSETBACK&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the number of the marker. <em>lParam</em> is the colour.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">SCI_MARKERSETFORE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\"></a>SCI_MARKERADD&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the line number. <em>lParam</em> is the number of the marker.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">SCI_MARKERDELETE</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">SCI_MARKERDELETEALL</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">SCI_MARKERDELETEHANDLE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\"></a>SCI_MARKERDELETE&#160;</td><td class=\"fielddoc\"><p>This message deletes a marker from a line. <em>wParam</em> is the line number. <em>lParam</em> is the number of the marker.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">SCI_MARKERDELETEALL</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\"></a>SCI_MARKERDELETEALL&#160;</td><td class=\"fielddoc\"><p>This message deletes all occurences of a marker. <em>wParam</em> is the number of the marker. If <em>wParam</em> is -1 then all markers are removed.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">SCI_MARKERADD</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">SCI_MARKERDELETE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\"></a>SCI_MARKERGET&#160;</td><td class=\"fielddoc\"><p>This message returns the 32 bit mask of markers at a line. <em>wParam</em> is the line number. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\"></a>SCI_MARKERNEXT&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the line number to start the search from. <em>lParam</em> is the mask of markers to search for.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">SCI_MARKERPREVIOUS</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\"></a>SCI_MARKERPREVIOUS&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the line number to start the search from. <em>lParam</em> is the mask of markers to search for.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">SCI_MARKERNEXT</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\"></a>SCI_MARKERDEFINEPIXMAP&#160;</td><td class=\"fielddoc\"><p>This message sets the symbol used to draw one of the 32 markers to a pixmap. Pixmaps use the SC_MARK_PIXMAP marker symbol. <em>wParam</em> is the number of the marker. <em>lParam</em> 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\"></a>SCI_SETMARGINTYPEN&#160;</td><td class=\"fielddoc\"><p>This message sets what can be displayed in a margin. <em>wParam</em> is the number of the margin. <em>lParam</em> is the logical or of the SC_MARGIN_* values.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\"></a>SCI_GETMARGINTYPEN&#160;</td><td class=\"fielddoc\"><p>This message returns what can be displayed in a margin. <em>wParam</em> is the number of the margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\"></a>SCI_SETMARGINWIDTHN&#160;</td><td class=\"fielddoc\"><p>This message sets the width of a margin in pixels. <em>wParam</em> is the number of the margin. <em>lParam</em> is the new margin width.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">SCI_GETMARGINWIDTHN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\"></a>SCI_GETMARGINWIDTHN&#160;</td><td class=\"fielddoc\"><p>This message returns the width of a margin in pixels. <em>wParam</em> is the number of the margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">SCI_SETMARGINWIDTHN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\"></a>SCI_SETMARGINMASKN&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the number of the margin. <em>lParam</em> is the new margin mask.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">SCI_GETMARGINMASKN</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\"></a>SCI_GETMARGINMASKN&#160;</td><td class=\"fielddoc\"><p>This message returns the mask of a margin. <em>wParam</em> is the number of the margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">SCI_SETMARGINMASKN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\"></a>SCI_SETMARGINSENSITIVEN&#160;</td><td class=\"fielddoc\"><p>This message sets the sensitivity of a margin to mouse clicks. <em>wParam</em> is the number of the margin. <em>lParam</em> is non-zero to make the margin sensitive to mouse clicks. When the mouse is clicked the <a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK()</a> signal is emitted.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK()</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\"></a>SCI_GETMARGINSENSITIVEN&#160;</td><td class=\"fielddoc\"><p>This message returns the sensitivity of a margin to mouse clicks. <em>wParam</em> is the number of the margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">SCN_MARGINCLICK()</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\"></a>SCI_SETMARGINCURSORN&#160;</td><td class=\"fielddoc\"><p>This message sets the cursor shape displayed over a margin. <em>wParam</em> is the number of the margin. <em>lParam</em> is the cursor shape, normally either SC_CURSORARROW or SC_CURSORREVERSEARROW. Note that, currently, QScintilla implements both of these as Qt::ArrowCursor.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">SCI_GETMARGINCURSORN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\"></a>SCI_GETMARGINCURSORN&#160;</td><td class=\"fielddoc\"><p>This message returns the cursor shape displayed over a margin. <em>wParam</em> is the number of the margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">SCI_SETMARGINCURSORN</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\"></a>SCI_GETREADONLY&#160;</td><td class=\"fielddoc\"><p>This message returns a non-zero value if the document is read-only. </p><pre class=\"fragment\">    \\sa SCI_SETREADONLY \n</pre> </td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\"></a>SCI_SETCURRENTPOS&#160;</td><td class=\"fielddoc\"><p>This message sets the current position. <em>wParam</em> is the new current position.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">SCI_GETCURRENTPOS</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\"></a>SCI_GETMODIFY&#160;</td><td class=\"fielddoc\"><p>This message returns a non-zero value if the document has been modified. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\"></a>SCI_SETREADONLY&#160;</td><td class=\"fielddoc\"><p>This message sets the read-only state of the document. <em>wParam</em> is the new read-only state of the document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">SCI_GETREADONLY</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\"></a>SCI_EMPTYUNDOBUFFER&#160;</td><td class=\"fielddoc\"><p>This message empties the undo buffer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\"></a>SCI_SETTEXT&#160;</td><td class=\"fielddoc\"><p>This message sets the text of the document. <em>wParam</em> is unused. <em>lParam</em> is the new text of the document.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">SCI_GETTEXT</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\"></a>SCI_GETTEXT&#160;</td><td class=\"fielddoc\"><p>This message gets the text of the document. <em>wParam</em> is size of the buffer that the text is copied to. <em>lParam</em> is the address of the buffer that the text is copied to.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">SCI_SETTEXT</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\"></a>SCI_GETTEXTLENGTH&#160;</td><td class=\"fielddoc\"><p>This message returns the length of the document. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\"></a>SCI_AUTOCSETMAXHEIGHT&#160;</td><td class=\"fielddoc\"><p>This message is not implemented. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\"></a>SCI_TEXTWIDTH&#160;</td><td class=\"fielddoc\"><p>This message returns the width of some text when rendered in a particular style. <em>wParam</em> is the style number and is one of the STYLE_* values or one of the styles defined by a lexer. <em>lParam</em> is a pointer to the text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\"></a>SCI_REGISTERIMAGE&#160;</td><td class=\"fielddoc\"><p>This message takes a copy of an image and registers it so that it can be refered to by a unique integer identifier. <em>wParam</em> is the image's identifier. <em>lParam</em> 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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">SCI_CLEARREGISTEREDIMAGES</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\"></a>SCI_CLEARREGISTEREDIMAGES&#160;</td><td class=\"fielddoc\"><p>This message de-registers all currently registered images. </p><pre class=\"fragment\">    \\sa SCI_REGISTERIMAGE, SCI_REGISTERRGBAIMAGE \n</pre> </td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\"></a>SCI_COPYALLOWLINE&#160;</td><td class=\"fielddoc\"><p>This message copies the selection. If the selection is empty then copy the line with the caret. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\"></a>SCI_GETCHARACTERPOINTER&#160;</td><td class=\"fielddoc\"><p>This message returns a pointer to the document text. Any subsequent message will invalidate the pointer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\"></a>SCI_RGBAIMAGESETWIDTH&#160;</td><td class=\"fielddoc\"><p>This message sets the width of an RGBA image specified by a future call to SCI_MARKERDEFINERGBAIMAGE or SCI_REGISTERRGBAIMAGE.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">SCI_RGBAIMAGESETHEIGHT</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a>. </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\"></a>SCI_RGBAIMAGESETHEIGHT&#160;</td><td class=\"fielddoc\"><p>This message sets the height of an RGBA image specified by a future call to SCI_MARKERDEFINERGBAIMAGE or SCI_REGISTERRGBAIMAGE.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">SCI_RGBAIMAGESETWIDTH</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">SCI_MARKERDEFINERGBAIMAGE</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">SCI_REGISTERRGBAIMAGE</a>. </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\"></a>SCI_MARKERDEFINERGBAIMAGE&#160;</td><td class=\"fielddoc\"><p>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. <em>wParam</em> is the number of the marker. <em>lParam</em> is a pointer to a QImage instance. Note that in other ports of Scintilla this is a pointer to raw RGBA image data.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">SCI_MARKERDEFINEPIXMAP</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\"></a>SCI_REGISTERRGBAIMAGE&#160;</td><td class=\"fielddoc\"><p>This message takes a copy of an image and registers it so that it can be refered to by a unique integer identifier. <em>wParam</em> is the image's identifier. <em>lParam</em> is a pointer to a QImage instance. Note that in other ports of Scintilla this is a pointer to raw RGBA image data.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">SCI_CLEARREGISTEREDIMAGES</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">SCI_REGISTERIMAGE</a> </dd></dl>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\"></a>SCI_SETLEXER&#160;</td><td class=\"fielddoc\"><p>This message sets the number of the lexer to use for syntax styling. <em>wParam</em> is the number of the lexer and is one of the SCLEX_* values. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\"></a>SCI_GETLEXER&#160;</td><td class=\"fielddoc\"><p>This message returns the number of the lexer being used for syntax styling. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\"></a>SCI_SETLEXERLANGUAGE&#160;</td><td class=\"fielddoc\"><p>This message sets the name of the lexer to use for syntax styling. <em>wParam</em> is unused. <em>lParam</em> is the name of the lexer. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"aad0a6f5e5ad05455480c3530435dd6aa\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aad0a6f5e5ad05455480c3530435dd6aa\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the different selection modes.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>SCI_GETSELECTIONMODE, SCI_SETSELECTIONMODE </dd></dl>\n\n</div>\n</div>\n<a id=\"ad004786b74db7858f6642c23447a214c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad004786b74db7858f6642c23447a214c\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the different marker symbols.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">SCI_MARKERDEFINE</a> </dd></dl>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\"></a>SC_MARK_CIRCLE&#160;</td><td class=\"fielddoc\"><p>A circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\"></a>SC_MARK_ROUNDRECT&#160;</td><td class=\"fielddoc\"><p>A rectangle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\"></a>SC_MARK_ARROW&#160;</td><td class=\"fielddoc\"><p>A triangle pointing to the right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\"></a>SC_MARK_SMALLRECT&#160;</td><td class=\"fielddoc\"><p>A smaller rectangle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\"></a>SC_MARK_SHORTARROW&#160;</td><td class=\"fielddoc\"><p>An arrow pointing to the right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\"></a>SC_MARK_EMPTY&#160;</td><td class=\"fielddoc\"><p>An invisible marker that allows code to track the movement of lines. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\"></a>SC_MARK_ARROWDOWN&#160;</td><td class=\"fielddoc\"><p>A triangle pointing down. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\"></a>SC_MARK_MINUS&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\"></a>SC_MARK_PLUS&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\"></a>SC_MARK_VLINE&#160;</td><td class=\"fielddoc\"><p>A vertical line drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\"></a>SC_MARK_LCORNER&#160;</td><td class=\"fielddoc\"><p>A bottom left corner drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\"></a>SC_MARK_TCORNER&#160;</td><td class=\"fielddoc\"><p>A vertical line with a centre right horizontal line drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\"></a>SC_MARK_BOXPLUS&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\"></a>SC_MARK_BOXPLUSCONNECTED&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a connected box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\"></a>SC_MARK_BOXMINUS&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\"></a>SC_MARK_BOXMINUSCONNECTED&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a connected box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\"></a>SC_MARK_LCORNERCURVE&#160;</td><td class=\"fielddoc\"><p>A rounded bottom left corner drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\"></a>SC_MARK_TCORNERCURVE&#160;</td><td class=\"fielddoc\"><p>A vertical line with a centre right curved line drawn in the background colour. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\"></a>SC_MARK_CIRCLEPLUS&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\"></a>SC_MARK_CIRCLEPLUSCONNECTED&#160;</td><td class=\"fielddoc\"><p>A drawn plus sign in a connected box. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\"></a>SC_MARK_CIRCLEMINUS&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\"></a>SC_MARK_CIRCLEMINUSCONNECTED&#160;</td><td class=\"fielddoc\"><p>A drawn minus sign in a connected circle. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\"></a>SC_MARK_BACKGROUND&#160;</td><td class=\"fielddoc\"><p>No symbol is drawn but the line is drawn with the same background color as the marker's. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\"></a>SC_MARK_DOTDOTDOT&#160;</td><td class=\"fielddoc\"><p>Three drawn dots. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\"></a>SC_MARK_ARROWS&#160;</td><td class=\"fielddoc\"><p>Three drawn arrows pointing right. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\"></a>SC_MARK_PIXMAP&#160;</td><td class=\"fielddoc\"><p>An XPM format pixmap. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\"></a>SC_MARK_FULLRECT&#160;</td><td class=\"fielddoc\"><p>A full rectangle (ie. the margin background) using the marker's background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\"></a>SC_MARK_LEFTRECT&#160;</td><td class=\"fielddoc\"><p>A left rectangle (ie. the left part of the margin background) using the marker's background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\"></a>SC_MARK_AVAILABLE&#160;</td><td class=\"fielddoc\"><p>The value is available for plugins to use. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\"></a>SC_MARK_UNDERLINE&#160;</td><td class=\"fielddoc\"><p>The line is underlined using the marker's background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\"></a>SC_MARK_RGBAIMAGE&#160;</td><td class=\"fielddoc\"><p>A RGBA format image. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\"></a>SC_MARK_BOOKMARK&#160;</td><td class=\"fielddoc\"><p>A bookmark. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\"></a>SC_MARK_CHARACTER&#160;</td><td class=\"fielddoc\"><p>Characters can be used as symbols by adding this to the ASCII value of the character. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ab7ed107d6ace096e9026c31145c48b41\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab7ed107d6ace096e9026c31145c48b41\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines what can be displayed in a margin.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">SCI_GETMARGINTYPEN</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">SCI_SETMARGINTYPEN</a> </dd></dl>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\"></a>SC_MARGIN_SYMBOL&#160;</td><td class=\"fielddoc\"><p>The margin can display symbols. Note that all margins can display symbols. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\"></a>SC_MARGIN_NUMBER&#160;</td><td class=\"fielddoc\"><p>The margin will display line numbers. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\"></a>SC_MARGIN_BACK&#160;</td><td class=\"fielddoc\"><p>The margin's background color will be set to the default background color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\"></a>SC_MARGIN_FORE&#160;</td><td class=\"fielddoc\"><p>The margin's background color will be set to the default foreground color. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\"></a>SC_MARGIN_TEXT&#160;</td><td class=\"fielddoc\"><p>The margin will display text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\"></a>SC_MARGIN_RTEXT&#160;</td><td class=\"fielddoc\"><p>The margin will display right justified text. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\"></a>SC_MARGIN_COLOUR&#160;</td><td class=\"fielddoc\"><p>The margin's background color will be set to the color set by SCI_SETMARGINBACKN. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"ae92e21c6957f026dbfd00008348e8b50\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae92e21c6957f026dbfd00008348e8b50\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the different indentation guide views.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>SCI_GETINDENTATIONGUIDES, SCI_SETINDENTATIONGUIDES </dd></dl>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\"></a>SC_IV_NONE&#160;</td><td class=\"fielddoc\"><p>No indentation guides are shown. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\"></a>SC_IV_REAL&#160;</td><td class=\"fielddoc\"><p>Indentation guides are shown inside real indentation white space. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\"></a>SC_IV_LOOKFORWARD&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\"></a>SC_IV_LOOKBOTH&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a76f793f6e6ce5b6f14b3925e78ea2aa6\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n<p>This enum defines the different modifier keys. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\"></a>SCMOD_NORM&#160;</td><td class=\"fielddoc\"><p>No modifier key. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\"></a>SCMOD_SHIFT&#160;</td><td class=\"fielddoc\"><p>Shift key. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\"></a>SCMOD_CTRL&#160;</td><td class=\"fielddoc\"><p>Control key (the Command key on OS/X, the Ctrl key on other platforms). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\"></a>SCMOD_ALT&#160;</td><td class=\"fielddoc\"><p>Alt key. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\"></a>SCMOD_SUPER&#160;</td><td class=\"fielddoc\"><p>This is the same as SCMOD_META on all platforms. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\"></a>SCMOD_META&#160;</td><td class=\"fielddoc\"><p>Meta key (the Ctrl key on OS/X, the Windows key on other platforms). </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa4ab44fd6a7374eb16d07762aa51c7c0\">&#9670;&nbsp;</a></span>anonymous enum</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">anonymous enum</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the different language lexers.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">SCI_GETLEXER</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">SCI_SETLEXER</a> </dd></dl>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\"></a>SCLEX_CONTAINER&#160;</td><td class=\"fielddoc\"><p>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. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\"></a>SCLEX_NULL&#160;</td><td class=\"fielddoc\"><p>Select the null lexer that does no syntax styling. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\"></a>SCLEX_PYTHON&#160;</td><td class=\"fielddoc\"><p>Select the Python lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\"></a>SCLEX_CPP&#160;</td><td class=\"fielddoc\"><p>Select the C++ lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\"></a>SCLEX_HTML&#160;</td><td class=\"fielddoc\"><p>Select the HTML lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\"></a>SCLEX_XML&#160;</td><td class=\"fielddoc\"><p>Select the XML lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\"></a>SCLEX_PERL&#160;</td><td class=\"fielddoc\"><p>Select the Perl lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\"></a>SCLEX_SQL&#160;</td><td class=\"fielddoc\"><p>Select the SQL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\"></a>SCLEX_VB&#160;</td><td class=\"fielddoc\"><p>Select the Visual Basic lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\"></a>SCLEX_PROPERTIES&#160;</td><td class=\"fielddoc\"><p>Select the lexer for properties style files. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\"></a>SCLEX_ERRORLIST&#160;</td><td class=\"fielddoc\"><p>Select the lexer for error list style files. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\"></a>SCLEX_MAKEFILE&#160;</td><td class=\"fielddoc\"><p>Select the Makefile lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\"></a>SCLEX_BATCH&#160;</td><td class=\"fielddoc\"><p>Select the Windows batch file lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\"></a>SCLEX_LATEX&#160;</td><td class=\"fielddoc\"><p>Select the LaTex lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\"></a>SCLEX_LUA&#160;</td><td class=\"fielddoc\"><p>Select the Lua lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\"></a>SCLEX_DIFF&#160;</td><td class=\"fielddoc\"><p>Select the lexer for diff output. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\"></a>SCLEX_CONF&#160;</td><td class=\"fielddoc\"><p>Select the lexer for Apache configuration files. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\"></a>SCLEX_PASCAL&#160;</td><td class=\"fielddoc\"><p>Select the Pascal lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\"></a>SCLEX_AVE&#160;</td><td class=\"fielddoc\"><p>Select the Avenue lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\"></a>SCLEX_ADA&#160;</td><td class=\"fielddoc\"><p>Select the Ada lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\"></a>SCLEX_LISP&#160;</td><td class=\"fielddoc\"><p>Select the Lisp lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\"></a>SCLEX_RUBY&#160;</td><td class=\"fielddoc\"><p>Select the Ruby lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\"></a>SCLEX_EIFFEL&#160;</td><td class=\"fielddoc\"><p>Select the Eiffel lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\"></a>SCLEX_EIFFELKW&#160;</td><td class=\"fielddoc\"><p>Select the Eiffel lexer folding at keywords. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\"></a>SCLEX_TCL&#160;</td><td class=\"fielddoc\"><p>Select the Tcl lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\"></a>SCLEX_NNCRONTAB&#160;</td><td class=\"fielddoc\"><p>Select the lexer for nnCron files. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\"></a>SCLEX_BULLANT&#160;</td><td class=\"fielddoc\"><p>Select the Bullant lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\"></a>SCLEX_VBSCRIPT&#160;</td><td class=\"fielddoc\"><p>Select the VBScript lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\"></a>SCLEX_ASP&#160;</td><td class=\"fielddoc\"><p>Select the ASP lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\"></a>SCLEX_PHP&#160;</td><td class=\"fielddoc\"><p>Select the PHP lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\"></a>SCLEX_BAAN&#160;</td><td class=\"fielddoc\"><p>Select the Baan lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\"></a>SCLEX_MATLAB&#160;</td><td class=\"fielddoc\"><p>Select the Matlab lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\"></a>SCLEX_SCRIPTOL&#160;</td><td class=\"fielddoc\"><p>Select the Scriptol lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\"></a>SCLEX_ASM&#160;</td><td class=\"fielddoc\"><p>Select the assembler lexer (';' comment character). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\"></a>SCLEX_CPPNOCASE&#160;</td><td class=\"fielddoc\"><p>Select the C++ lexer with case insensitive keywords. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\"></a>SCLEX_FORTRAN&#160;</td><td class=\"fielddoc\"><p>Select the FORTRAN lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\"></a>SCLEX_F77&#160;</td><td class=\"fielddoc\"><p>Select the FORTRAN77 lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\"></a>SCLEX_CSS&#160;</td><td class=\"fielddoc\"><p>Select the CSS lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\"></a>SCLEX_POV&#160;</td><td class=\"fielddoc\"><p>Select the POV lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\"></a>SCLEX_LOUT&#160;</td><td class=\"fielddoc\"><p>Select the Basser Lout typesetting language lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\"></a>SCLEX_ESCRIPT&#160;</td><td class=\"fielddoc\"><p>Select the EScript lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\"></a>SCLEX_PS&#160;</td><td class=\"fielddoc\"><p>Select the PostScript lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\"></a>SCLEX_NSIS&#160;</td><td class=\"fielddoc\"><p>Select the NSIS lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\"></a>SCLEX_MMIXAL&#160;</td><td class=\"fielddoc\"><p>Select the MMIX assembly language lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\"></a>SCLEX_CLW&#160;</td><td class=\"fielddoc\"><p>Select the Clarion lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\"></a>SCLEX_CLWNOCASE&#160;</td><td class=\"fielddoc\"><p>Select the Clarion lexer with case insensitive keywords. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\"></a>SCLEX_LOT&#160;</td><td class=\"fielddoc\"><p>Select the MPT text log file lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\"></a>SCLEX_YAML&#160;</td><td class=\"fielddoc\"><p>Select the YAML lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\"></a>SCLEX_TEX&#160;</td><td class=\"fielddoc\"><p>Select the TeX lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\"></a>SCLEX_METAPOST&#160;</td><td class=\"fielddoc\"><p>Select the Metapost lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\"></a>SCLEX_POWERBASIC&#160;</td><td class=\"fielddoc\"><p>Select the PowerBASIC lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\"></a>SCLEX_FORTH&#160;</td><td class=\"fielddoc\"><p>Select the Forth lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\"></a>SCLEX_ERLANG&#160;</td><td class=\"fielddoc\"><p>Select the Erlang lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\"></a>SCLEX_OCTAVE&#160;</td><td class=\"fielddoc\"><p>Select the Octave lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\"></a>SCLEX_MSSQL&#160;</td><td class=\"fielddoc\"><p>Select the MS SQL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\"></a>SCLEX_VERILOG&#160;</td><td class=\"fielddoc\"><p>Select the Verilog lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\"></a>SCLEX_KIX&#160;</td><td class=\"fielddoc\"><p>Select the KIX-Scripts lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\"></a>SCLEX_GUI4CLI&#160;</td><td class=\"fielddoc\"><p>Select the Gui4Cli lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\"></a>SCLEX_SPECMAN&#160;</td><td class=\"fielddoc\"><p>Select the Specman E lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\"></a>SCLEX_AU3&#160;</td><td class=\"fielddoc\"><p>Select the AutoIt3 lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\"></a>SCLEX_APDL&#160;</td><td class=\"fielddoc\"><p>Select the APDL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\"></a>SCLEX_BASH&#160;</td><td class=\"fielddoc\"><p>Select the Bash lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\"></a>SCLEX_ASN1&#160;</td><td class=\"fielddoc\"><p>Select the ASN.1 lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\"></a>SCLEX_VHDL&#160;</td><td class=\"fielddoc\"><p>Select the VHDL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\"></a>SCLEX_CAML&#160;</td><td class=\"fielddoc\"><p>Select the Caml lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\"></a>SCLEX_BLITZBASIC&#160;</td><td class=\"fielddoc\"><p>Select the BlitzBasic lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\"></a>SCLEX_PUREBASIC&#160;</td><td class=\"fielddoc\"><p>Select the PureBasic lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\"></a>SCLEX_HASKELL&#160;</td><td class=\"fielddoc\"><p>Select the Haskell lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\"></a>SCLEX_PHPSCRIPT&#160;</td><td class=\"fielddoc\"><p>Select the PHPScript lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\"></a>SCLEX_TADS3&#160;</td><td class=\"fielddoc\"><p>Select the TADS3 lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\"></a>SCLEX_REBOL&#160;</td><td class=\"fielddoc\"><p>Select the REBOL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\"></a>SCLEX_SMALLTALK&#160;</td><td class=\"fielddoc\"><p>Select the Smalltalk lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\"></a>SCLEX_FLAGSHIP&#160;</td><td class=\"fielddoc\"><p>Select the FlagShip lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\"></a>SCLEX_CSOUND&#160;</td><td class=\"fielddoc\"><p>Select the Csound lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\"></a>SCLEX_FREEBASIC&#160;</td><td class=\"fielddoc\"><p>Select the FreeBasic lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\"></a>SCLEX_INNOSETUP&#160;</td><td class=\"fielddoc\"><p>Select the InnoSetup lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\"></a>SCLEX_OPAL&#160;</td><td class=\"fielddoc\"><p>Select the Opal lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\"></a>SCLEX_SPICE&#160;</td><td class=\"fielddoc\"><p>Select the Spice lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\"></a>SCLEX_D&#160;</td><td class=\"fielddoc\"><p>Select the D lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\"></a>SCLEX_CMAKE&#160;</td><td class=\"fielddoc\"><p>Select the CMake lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\"></a>SCLEX_GAP&#160;</td><td class=\"fielddoc\"><p>Select the GAP lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\"></a>SCLEX_PLM&#160;</td><td class=\"fielddoc\"><p>Select the PLM lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\"></a>SCLEX_PROGRESS&#160;</td><td class=\"fielddoc\"><p>Select the Progress lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\"></a>SCLEX_ABAQUS&#160;</td><td class=\"fielddoc\"><p>Select the Abaqus lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\"></a>SCLEX_ASYMPTOTE&#160;</td><td class=\"fielddoc\"><p>Select the Asymptote lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\"></a>SCLEX_R&#160;</td><td class=\"fielddoc\"><p>Select the R lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\"></a>SCLEX_MAGIK&#160;</td><td class=\"fielddoc\"><p>Select the MagikSF lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\"></a>SCLEX_POWERSHELL&#160;</td><td class=\"fielddoc\"><p>Select the PowerShell lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\"></a>SCLEX_MYSQL&#160;</td><td class=\"fielddoc\"><p>Select the MySQL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\"></a>SCLEX_PO&#160;</td><td class=\"fielddoc\"><p>Select the gettext .po file lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\"></a>SCLEX_TAL&#160;</td><td class=\"fielddoc\"><p>Select the TAL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\"></a>SCLEX_COBOL&#160;</td><td class=\"fielddoc\"><p>Select the COBOL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\"></a>SCLEX_TACL&#160;</td><td class=\"fielddoc\"><p>Select the TACL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\"></a>SCLEX_SORCUS&#160;</td><td class=\"fielddoc\"><p>Select the Sorcus lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\"></a>SCLEX_POWERPRO&#160;</td><td class=\"fielddoc\"><p>Select the PowerPro lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\"></a>SCLEX_NIMROD&#160;</td><td class=\"fielddoc\"><p>Select the Nimrod lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\"></a>SCLEX_SML&#160;</td><td class=\"fielddoc\"><p>Select the SML lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\"></a>SCLEX_MARKDOWN&#160;</td><td class=\"fielddoc\"><p>Select the Markdown lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\"></a>SCLEX_TXT2TAGS&#160;</td><td class=\"fielddoc\"><p>Select the txt2tags lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\"></a>SCLEX_A68K&#160;</td><td class=\"fielddoc\"><p>Select the 68000 assembler lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\"></a>SCLEX_MODULA&#160;</td><td class=\"fielddoc\"><p>Select the Modula 3 lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\"></a>SCLEX_COFFEESCRIPT&#160;</td><td class=\"fielddoc\"><p>Select the CoffeeScript lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\"></a>SCLEX_TCMD&#160;</td><td class=\"fielddoc\"><p>Select the Take Command lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\"></a>SCLEX_AVS&#160;</td><td class=\"fielddoc\"><p>Select the AviSynth lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\"></a>SCLEX_ECL&#160;</td><td class=\"fielddoc\"><p>Select the ECL lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\"></a>SCLEX_OSCRIPT&#160;</td><td class=\"fielddoc\"><p>Select the OScript lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\"></a>SCLEX_VISUALPROLOG&#160;</td><td class=\"fielddoc\"><p>Select the Visual Prolog lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\"></a>SCLEX_LITERATEHASKELL&#160;</td><td class=\"fielddoc\"><p>Select the Literal Haskell lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\"></a>SCLEX_STTXT&#160;</td><td class=\"fielddoc\"><p>Select the Structured Text lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\"></a>SCLEX_KVIRC&#160;</td><td class=\"fielddoc\"><p>Select the KVIrc lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\"></a>SCLEX_RUST&#160;</td><td class=\"fielddoc\"><p>Select the Rust lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\"></a>SCLEX_DMAP&#160;</td><td class=\"fielddoc\"><p>Select the MSC Nastran DMAP lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\"></a>SCLEX_AS&#160;</td><td class=\"fielddoc\"><p>Select the assembler lexer ('#' comment character). </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\"></a>SCLEX_DMIS&#160;</td><td class=\"fielddoc\"><p>Select the DMIS lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\"></a>SCLEX_REGISTRY&#160;</td><td class=\"fielddoc\"><p>Select the lexer for Windows registry files. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\"></a>SCLEX_BIBTEX&#160;</td><td class=\"fielddoc\"><p>Select the BibTex lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\"></a>SCLEX_SREC&#160;</td><td class=\"fielddoc\"><p>Select the Motorola S-Record hex lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\"></a>SCLEX_IHEX&#160;</td><td class=\"fielddoc\"><p>Select the Intel hex lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\"></a>SCLEX_TEHEX&#160;</td><td class=\"fielddoc\"><p>Select the Tektronix extended hex lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\"></a>SCLEX_JSON&#160;</td><td class=\"fielddoc\"><p>Select the JSON hex lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\"></a>SCLEX_EDIFACT&#160;</td><td class=\"fielddoc\"><p>Select the EDIFACT lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\"></a>SCLEX_INDENT&#160;</td><td class=\"fielddoc\"><p>Select the pseudo-lexer used for the indentation-based folding of files. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\"></a>SCLEX_MAXIMA&#160;</td><td class=\"fielddoc\"><p>Select the Maxima lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\"></a>SCLEX_STATA&#160;</td><td class=\"fielddoc\"><p>Select the Stata lexer. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\"></a>SCLEX_SAS&#160;</td><td class=\"fielddoc\"><p>Select the SAS lexer. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"a0f69249f4e97b96f09ea70f546df7464\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0f69249f4e97b96f09ea70f546df7464\">&#9670;&nbsp;</a></span>pool()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">static <a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>* QsciScintillaBase::pool </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">static</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns a pointer to a <a class=\"el\" href=\"classQsciScintillaBase.html\" title=\"The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.\">QsciScintillaBase</a> 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. </p>\n\n</div>\n</div>\n<a id=\"a1efa4394b588d27fd2a3bd40163a2342\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1efa4394b588d27fd2a3bd40163a2342\">&#9670;&nbsp;</a></span>replaceHorizontalScrollBar()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::replaceHorizontalScrollBar </td>\n          <td>(</td>\n          <td class=\"paramtype\">QScrollBar *&#160;</td>\n          <td class=\"paramname\"><em>scrollBar</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Replaces the existing horizontal scroll bar with <em>scrollBar</em>. The existing scroll bar is deleted. This should be called instead of QAbstractScrollArea::setHorizontalScrollBar(). </p>\n\n</div>\n</div>\n<a id=\"a900e3a0287e262fe65c51162e562fc5d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a900e3a0287e262fe65c51162e562fc5d\">&#9670;&nbsp;</a></span>replaceVerticalScrollBar()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::replaceVerticalScrollBar </td>\n          <td>(</td>\n          <td class=\"paramtype\">QScrollBar *&#160;</td>\n          <td class=\"paramname\"><em>scrollBar</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Replaces the existing vertical scroll bar with <em>scrollBar</em>. The existing scroll bar is deleted. This should be called instead of QAbstractScrollArea::setHorizontalScrollBar(). </p>\n\n</div>\n</div>\n<a id=\"a8820ab8d7563bd7ed24ce6384846079e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8820ab8d7563bd7ed24ce6384846079e\">&#9670;&nbsp;</a></span>SendScintilla()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">long QsciScintillaBase::SendScintilla </td>\n          <td>(</td>\n          <td class=\"paramtype\">unsigned int&#160;</td>\n          <td class=\"paramname\"><em>msg</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned long&#160;</td>\n          <td class=\"paramname\"><em>wParam</em> = <code>0</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">long&#160;</td>\n          <td class=\"paramname\"><em>lParam</em> = <code>0</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Send the Scintilla message <em>msg</em> with the optional parameters <em>wParam</em> and <em>lParam</em>. </p>\n\n</div>\n</div>\n<a id=\"a747feb07236c1beccadd446562b53b84\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a747feb07236c1beccadd446562b53b84\">&#9670;&nbsp;</a></span>QSCN_SELCHANGED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::QSCN_SELCHANGED </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>yes</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when text is selected or de-selected. <em>yes</em> is true if text has been selected and false if text has been deselected. </p>\n\n</div>\n</div>\n<a id=\"a1719fba80d9e60cf9fce1bb75f304568\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1719fba80d9e60cf9fce1bb75f304568\">&#9670;&nbsp;</a></span>SCN_AUTOCCANCELLED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_AUTOCCANCELLED </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user cancels an auto-completion list.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aabab23e5653c35dae8a6f144d73c4657\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aabab23e5653c35dae8a6f144d73c4657\">&#9670;&nbsp;</a></span>SCN_AUTOCCHARDELETED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_AUTOCCHARDELETED </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user deletes a character when an auto-completion list is active. </p>\n\n</div>\n</div>\n<a id=\"a41e738411112b8f509e0b49b6fc3e318\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a41e738411112b8f509e0b49b6fc3e318\">&#9670;&nbsp;</a></span>SCN_AUTOCCOMPLETED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_AUTOCCOMPLETED </td>\n          <td>(</td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>selection</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>ch</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>method</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted after an auto-completion has inserted its text. <em>selection</em> is the text of the selection. <em>position</em> is the start position of the word being completed. <em>ch</em> is the fillup character that triggered the selection if method is SC_AC_FILLUP. <em>method</em> is the method used to trigger the selection.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">SCN_AUTOCCANCELLED()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a61c43c53a753272c51c5c5ac14bda136\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a61c43c53a753272c51c5c5ac14bda136\">&#9670;&nbsp;</a></span>SCN_AUTOCSELECTION</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_AUTOCSELECTION </td>\n          <td>(</td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>selection</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>ch</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>method</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. <em>selection</em> is the text of the selection. <em>position</em> is the start position of the word being completed. <em>ch</em> is the fillup character that triggered the selection if method is SC_AC_FILLUP. <em>method</em> is the method used to trigger the selection.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">SCN_AUTOCCANCELLED()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">SCN_AUTOCCOMPLETED()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a721a1879cabaa76883ae1a02a34a76e8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a721a1879cabaa76883ae1a02a34a76e8\">&#9670;&nbsp;</a></span>SCN_AUTOCSELECTIONCHANGE</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_AUTOCSELECTIONCHANGE </td>\n          <td>(</td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>selection</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>id</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user highlights an item in an auto-completion or user list. <em>selection</em> is the text of the selection. <em>id</em> 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. <em>position</em> is the position that the list was displayed at. </p>\n\n</div>\n</div>\n<a id=\"a13f22ec5a59e2e8e97a27ac24967f74d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a13f22ec5a59e2e8e97a27ac24967f74d\">&#9670;&nbsp;</a></span>SCN_CALLTIPCLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_CALLTIPCLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>direction</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user clicks on a calltip. <em>direction</em> 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. </p>\n\n</div>\n</div>\n<a id=\"ae8d8fa5d5f063a7c7d37d527f86b5fe8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">&#9670;&nbsp;</a></span>SCN_CHARADDED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_CHARADDED </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>charadded</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted whenever the user enters an ordinary character into the text. <em>charadded</em> is the character. It can be used to decide to display a call tip or an auto-completion list. </p>\n\n</div>\n</div>\n<a id=\"ad3ca5787399ed886cb9000c8feab3c08\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad3ca5787399ed886cb9000c8feab3c08\">&#9670;&nbsp;</a></span>SCN_DOUBLECLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_DOUBLECLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>line</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user double clicks. <em>position</em> is the position in the text where the click occured. <em>line</em> is the number of the line in the text where the click occured. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user double clicked. </p>\n\n</div>\n</div>\n<a id=\"a9ecd605284870ddbf703cf4c8c995ca6\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9ecd605284870ddbf703cf4c8c995ca6\">&#9670;&nbsp;</a></span>SCN_DWELLEND</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_DWELLEND </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>x</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>y</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user moves the mouse (or presses a key) after keeping it in one position for the dwell period. <em>position</em> is the position in the text where the mouse dwells. <em>x</em> is the x-coordinate where the mouse dwells. <em>y</em> is the y-coordinate where the mouse dwells.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">SCN_DWELLSTART</a>, SCI_SETMOUSEDWELLTIME </dd></dl>\n\n</div>\n</div>\n<a id=\"adfd788dce5c1a91d1fcd5e6fdd2fca59\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adfd788dce5c1a91d1fcd5e6fdd2fca59\">&#9670;&nbsp;</a></span>SCN_DWELLSTART</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_DWELLSTART </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>x</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>y</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user keeps the mouse in one position for the dwell period. <em>position</em> is the position in the text where the mouse dwells. <em>x</em> is the x-coordinate where the mouse dwells. <em>y</em> is the y-coordinate where the mouse dwells.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">SCN_DWELLEND</a>, SCI_SETMOUSEDWELLTIME </dd></dl>\n\n</div>\n</div>\n<a id=\"a5eff383e6fa96cbbaba6a2558b076c0b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5eff383e6fa96cbbaba6a2558b076c0b\">&#9670;&nbsp;</a></span>SCN_HOTSPOTCLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_HOTSPOTCLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user clicks on text in a style with the hotspot attribute set. <em>position</em> is the position in the text where the click occured. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user clicked. </p>\n\n</div>\n</div>\n<a id=\"a682cc736272338433efdc86bc936e0e8\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a682cc736272338433efdc86bc936e0e8\">&#9670;&nbsp;</a></span>SCN_HOTSPOTDOUBLECLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_HOTSPOTDOUBLECLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user double clicks on text in a style with the hotspot attribute set. <em>position</em> is the position in the text where the double click occured. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user double clicked. </p>\n\n</div>\n</div>\n<a id=\"a906faecb0defd2d5a14cac54f8415dcf\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a906faecb0defd2d5a14cac54f8415dcf\">&#9670;&nbsp;</a></span>SCN_HOTSPOTRELEASECLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_HOTSPOTRELEASECLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user releases the mouse button on text in a style with the hotspot attribute set. <em>position</em> is the position in the text where the release occured. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user released the button. </p>\n\n</div>\n</div>\n<a id=\"aeec8d7e585e93451307df88ff2fc2b87\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aeec8d7e585e93451307df88ff2fc2b87\">&#9670;&nbsp;</a></span>SCN_INDICATORCLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_INDICATORCLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user clicks on text that has an indicator. <em>position</em> is the position in the text where the click occured. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user clicked. </p>\n\n</div>\n</div>\n<a id=\"a93d1e96c88745ca7f2737602e80dc76a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a93d1e96c88745ca7f2737602e80dc76a\">&#9670;&nbsp;</a></span>SCN_INDICATORRELEASE</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_INDICATORRELEASE </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user releases the mouse button on text that has an indicator. <em>position</em> is the position in the text where the release occured. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user released. </p>\n\n</div>\n</div>\n<a id=\"abdae368f2b81955c4927dc6f26fc2c77\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abdae368f2b81955c4927dc6f26fc2c77\">&#9670;&nbsp;</a></span>SCN_MACRORECORD</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_MACRORECORD </td>\n          <td>(</td>\n          <td class=\"paramtype\">unsigned int&#160;</td>\n          <td class=\"paramname\">, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned long&#160;</td>\n          <td class=\"paramname\">, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">void *&#160;</td>\n          <td class=\"paramname\">&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when a recordable editor command has been executed. </p>\n\n</div>\n</div>\n<a id=\"a722a2f16b67ef5f46def6914a6e178c3\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a722a2f16b67ef5f46def6914a6e178c3\">&#9670;&nbsp;</a></span>SCN_MARGINCLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_MARGINCLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user clicks on a sensitive margin. <em>position</em> is the position of the start of the line against which the user clicked. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user clicked. <em>margin</em> is the number of the margin the user clicked in: 0, 1 or 2.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a39e90958ae903d2f6198ec0c58f56ed9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a39e90958ae903d2f6198ec0c58f56ed9\">&#9670;&nbsp;</a></span>SCN_MARGINRIGHTCLICK</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_MARGINRIGHTCLICK </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>modifiers</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>margin</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user right-clicks on a sensitive margin. <em>position</em> is the position of the start of the line against which the user clicked. <em>modifiers</em> is the logical or of the modifier keys that were pressed when the user clicked. <em>margin</em> is the number of the margin the user clicked in: 0, 1 or 2.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">SCI_GETMARGINSENSITIVEN</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">SCI_SETMARGINSENSITIVEN</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adb5bad7d1dad9ab3fe74adb3e0812969\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adb5bad7d1dad9ab3fe74adb3e0812969\">&#9670;&nbsp;</a></span>SCN_MODIFYATTEMPTRO</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_MODIFYATTEMPTRO </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user attempts to modify read-only text. </p>\n\n</div>\n</div>\n<a id=\"a94a1cff08b2ef6558d054177fa88ea47\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a94a1cff08b2ef6558d054177fa88ea47\">&#9670;&nbsp;</a></span>SCN_PAINTED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_PAINTED </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. </p>\n\n</div>\n</div>\n<a id=\"af3a619a5e59cef000f0b550e809c94de\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af3a619a5e59cef000f0b550e809c94de\">&#9670;&nbsp;</a></span>SCN_SAVEPOINTLEFT</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_SAVEPOINTLEFT </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the current state of the text no longer corresponds to the state of the text at the save point.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">SCI_SETSAVEPOINT</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">SCN_SAVEPOINTREACHED()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0db8c3ad0764a96f3ccf0fec71de0d26\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0db8c3ad0764a96f3ccf0fec71de0d26\">&#9670;&nbsp;</a></span>SCN_SAVEPOINTREACHED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_SAVEPOINTREACHED </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">SCI_SETSAVEPOINT</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">SCN_SAVEPOINTLEFT()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a72c0bc1c83fd675714626cd786ca4fb9\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a72c0bc1c83fd675714626cd786ca4fb9\">&#9670;&nbsp;</a></span>SCN_STYLENEEDED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_STYLENEEDED </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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 <em>position</em>. It is only emitted if the currently selected lexer is SCLEX_CONTAINER.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>SCI_COLOURISE, <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">SCI_GETENDSTYLED</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a42cb45ea05c71180a594e0cc8041c07d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a42cb45ea05c71180a594e0cc8041c07d\">&#9670;&nbsp;</a></span>SCN_URIDROPPED</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_URIDROPPED </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QUrl &amp;&#160;</td>\n          <td class=\"paramname\"><em>url</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when a URI is dropped. <em>url</em> is the value of the URI. </p>\n\n</div>\n</div>\n<a id=\"ad88db21d86df33667c234d00af1fdf94\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ad88db21d86df33667c234d00af1fdf94\">&#9670;&nbsp;</a></span>SCN_UPDATEUI</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_UPDATEUI </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>updated</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when either the text or styling of the text has changed or the selection range or scroll position has changed. <em>updated</em> contains the set of SC_UPDATE_* flags describing the changes since the signal was last emitted. </p>\n\n</div>\n</div>\n<a id=\"a8225643b25dc6f1dedc48b4a7af4b83d\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8225643b25dc6f1dedc48b4a7af4b83d\">&#9670;&nbsp;</a></span>SCN_USERLISTSELECTION</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciScintillaBase::SCN_USERLISTSELECTION </td>\n          <td>(</td>\n          <td class=\"paramtype\">const char *&#160;</td>\n          <td class=\"paramname\"><em>selection</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>id</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>ch</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>method</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>position</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">signal</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>This signal is emitted when the user selects an item in a user list. <em>selection</em> is the text of the selection. <em>id</em> is an identifier for the list which was passed as an argument to the SCI_USERLISTSHOW message and must be at least 1. <em>ch</em> is the fillup character that triggered the selection if method is SC_AC_FILLUP. <em>method</em> is the method used to trigger the selection. <em>position</em> is the position that the list was displayed at.</p>\n<dl class=\"section see\"><dt>See also</dt><dd>SCI_USERLISTSHOW, <a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">SCN_AUTOCSELECTION()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abce274ef71035c67baadaa167a1fe5a7\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abce274ef71035c67baadaa167a1fe5a7\">&#9670;&nbsp;</a></span>canInsertFromMimeData()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual bool QsciScintillaBase::canInsertFromMimeData </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QMimeData *&#160;</td>\n          <td class=\"paramname\"><em>source</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. <em>source</em> is the MIME data object.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">fromMimeData()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">toMimeData()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a5f105b9ec17cd73a0cd601ac9be82dd4\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a5f105b9ec17cd73a0cd601ac9be82dd4\">&#9670;&nbsp;</a></span>fromMimeData()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QByteArray QsciScintillaBase::fromMimeData </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QMimeData *&#160;</td>\n          <td class=\"paramname\"><em>source</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool &amp;&#160;</td>\n          <td class=\"paramname\"><em>rectangular</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. <em>source</em> is the MIME data object. On return <em>rectangular</em> is set if the text corresponds to a rectangular selection.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">canInsertFromMimeData()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">toMimeData()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a7e1e146787204eba48aa5376287de41f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a7e1e146787204eba48aa5376287de41f\">&#9670;&nbsp;</a></span>toMimeData()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">virtual QMimeData* QsciScintillaBase::toMimeData </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QByteArray &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>rectangular</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">protected</span><span class=\"mlabel\">virtual</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>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. <em>text</em> is the text. <em>rectangular</em> is set if the text corresponds to a rectangular selection.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">canInsertFromMimeData()</a>, <a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">fromMimeData()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciStyle-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciStyle Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>apply</b>(QsciScintillaBase *sci) const (defined in <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">changeable</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">color</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">description</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">eolFill</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">font</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">hotspot</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a83675e1da457009277d3642340dc82cc\">LowerCase</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a2fac015153af29a7c87eb69848fd4348\">OriginalCase</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">paper</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a0464f0a24f4094431686c89e667e843e\">QsciStyle</a>(int style=-1)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4e1d6840e7d117886093bbaabbccd56f\">QsciStyle</a>(int style, const QString &amp;description, const QColor &amp;color, const QColor &amp;paper, const QFont &amp;font, bool eolFill=false)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#aa480e57bbdd83b8164129f875bd48976\">refresh</a>()</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#af7e052d08efd3a677f810c8e4116dafc\">setChangeable</a>(bool changeable)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#aa7743a3805662a27ae52a56af3ac315a\">setColor</a>(const QColor &amp;color)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#abd88d76b875c154f099b4e9f36b6fcab\">setDescription</a>(const QString &amp;description)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a6767dbb23f68292ef9e892dad31ffd9e\">setEolFill</a>(bool fill)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#ab09932c9dafb915b8138d4ec1cbc79cb\">setFont</a>(const QFont &amp;font)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#acb06ba468da57cc4ea9e8d496cb33f83\">setHotspot</a>(bool hotspot)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a2d4ec76574fd507fbf3c0d006c7427da\">setPaper</a>(const QColor &amp;paper)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#af00ea2dd20e93c5d06d9ce99cbc2cf00\">setStyle</a>(int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a25e9b8a34c334bf6160115a2c43a5256\">setTextCase</a>(TextCase text_case)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4f8b9edd94c36344bd7152d15731509a\">setVisible</a>(bool visible)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a16212f9f46162f67ece3ed6423207785\">textCase</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">TextCase</a> enum name</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609aeb98b8f24b317cec7c271fd337185e75\">UpperCase</a> enum value</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">visible</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciStyle.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciStyle Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-types\">Public Types</a> &#124;\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciStyle-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciStyle Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscistyle.h&gt;</code></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-types\"></a>\nPublic Types</h2></td></tr>\n<tr class=\"memitem:a4a0e012717bb1fd68de03209260a0609\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">TextCase</a> { <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a2fac015153af29a7c87eb69848fd4348\">OriginalCase</a> = 0, \n<a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609aeb98b8f24b317cec7c271fd337185e75\">UpperCase</a> = 1, \n<a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a83675e1da457009277d3642340dc82cc\">LowerCase</a> = 2\n }</td></tr>\n<tr class=\"separator:a4a0e012717bb1fd68de03209260a0609\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a0464f0a24f4094431686c89e667e843e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a0464f0a24f4094431686c89e667e843e\">QsciStyle</a> (int <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style</a>=-1)</td></tr>\n<tr class=\"separator:a0464f0a24f4094431686c89e667e843e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4e1d6840e7d117886093bbaabbccd56f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a4e1d6840e7d117886093bbaabbccd56f\">QsciStyle</a> (int <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style</a>, const QString &amp;<a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">description</a>, const QColor &amp;<a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">color</a>, const QColor &amp;<a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">paper</a>, const QFont &amp;<a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">font</a>, bool <a class=\"el\" href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">eolFill</a>=false)</td></tr>\n<tr class=\"separator:a4e1d6840e7d117886093bbaabbccd56f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae0cbbbe987ecb18537965d30f0e451a8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"ae0cbbbe987ecb18537965d30f0e451a8\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>apply</b> (<a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a> *sci) const</td></tr>\n<tr class=\"separator:ae0cbbbe987ecb18537965d30f0e451a8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af00ea2dd20e93c5d06d9ce99cbc2cf00\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#af00ea2dd20e93c5d06d9ce99cbc2cf00\">setStyle</a> (int <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style</a>)</td></tr>\n<tr class=\"separator:af00ea2dd20e93c5d06d9ce99cbc2cf00\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a61582248f6b7276db9b4a1f9582c3828\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style</a> () const</td></tr>\n<tr class=\"separator:a61582248f6b7276db9b4a1f9582c3828\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abd88d76b875c154f099b4e9f36b6fcab\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#abd88d76b875c154f099b4e9f36b6fcab\">setDescription</a> (const QString &amp;<a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">description</a>)</td></tr>\n<tr class=\"separator:abd88d76b875c154f099b4e9f36b6fcab\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a04e5cc64877290739b30603c526d84ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QString&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">description</a> () const</td></tr>\n<tr class=\"separator:a04e5cc64877290739b30603c526d84ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa7743a3805662a27ae52a56af3ac315a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#aa7743a3805662a27ae52a56af3ac315a\">setColor</a> (const QColor &amp;<a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">color</a>)</td></tr>\n<tr class=\"separator:aa7743a3805662a27ae52a56af3ac315a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af349ce169da83e08ad9f995df48c6547\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">color</a> () const</td></tr>\n<tr class=\"separator:af349ce169da83e08ad9f995df48c6547\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2d4ec76574fd507fbf3c0d006c7427da\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a2d4ec76574fd507fbf3c0d006c7427da\">setPaper</a> (const QColor &amp;<a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">paper</a>)</td></tr>\n<tr class=\"separator:a2d4ec76574fd507fbf3c0d006c7427da\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8912da5c6b95404e4642593db1b65d4c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QColor&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">paper</a> () const</td></tr>\n<tr class=\"separator:a8912da5c6b95404e4642593db1b65d4c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab09932c9dafb915b8138d4ec1cbc79cb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#ab09932c9dafb915b8138d4ec1cbc79cb\">setFont</a> (const QFont &amp;<a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">font</a>)</td></tr>\n<tr class=\"separator:ab09932c9dafb915b8138d4ec1cbc79cb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af45628c04ab5488fc13b61a2356346ec\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">QFont&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">font</a> () const</td></tr>\n<tr class=\"separator:af45628c04ab5488fc13b61a2356346ec\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6767dbb23f68292ef9e892dad31ffd9e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a6767dbb23f68292ef9e892dad31ffd9e\">setEolFill</a> (bool fill)</td></tr>\n<tr class=\"separator:a6767dbb23f68292ef9e892dad31ffd9e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adcc34134da3341f1f07a847b09f6565b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">eolFill</a> () const</td></tr>\n<tr class=\"separator:adcc34134da3341f1f07a847b09f6565b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a25e9b8a34c334bf6160115a2c43a5256\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a25e9b8a34c334bf6160115a2c43a5256\">setTextCase</a> (<a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">TextCase</a> text_case)</td></tr>\n<tr class=\"separator:a25e9b8a34c334bf6160115a2c43a5256\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a16212f9f46162f67ece3ed6423207785\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">TextCase</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a16212f9f46162f67ece3ed6423207785\">textCase</a> () const</td></tr>\n<tr class=\"separator:a16212f9f46162f67ece3ed6423207785\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4f8b9edd94c36344bd7152d15731509a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a4f8b9edd94c36344bd7152d15731509a\">setVisible</a> (bool <a class=\"el\" href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">visible</a>)</td></tr>\n<tr class=\"separator:a4f8b9edd94c36344bd7152d15731509a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0fd0947a87e3bf43720227b8226b3edd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">visible</a> () const</td></tr>\n<tr class=\"separator:a0fd0947a87e3bf43720227b8226b3edd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af7e052d08efd3a677f810c8e4116dafc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#af7e052d08efd3a677f810c8e4116dafc\">setChangeable</a> (bool <a class=\"el\" href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">changeable</a>)</td></tr>\n<tr class=\"separator:af7e052d08efd3a677f810c8e4116dafc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4d1aa13e042609e48674f72aebd2ebae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">changeable</a> () const</td></tr>\n<tr class=\"separator:a4d1aa13e042609e48674f72aebd2ebae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acb06ba468da57cc4ea9e8d496cb33f83\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#acb06ba468da57cc4ea9e8d496cb33f83\">setHotspot</a> (bool <a class=\"el\" href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">hotspot</a>)</td></tr>\n<tr class=\"separator:acb06ba468da57cc4ea9e8d496cb33f83\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1df46714ab45c62e5ad5e52a5f41bf15\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">hotspot</a> () const</td></tr>\n<tr class=\"separator:a1df46714ab45c62e5ad5e52a5f41bf15\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa480e57bbdd83b8164129f875bd48976\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"aa480e57bbdd83b8164129f875bd48976\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyle.html#aa480e57bbdd83b8164129f875bd48976\">refresh</a> ()</td></tr>\n<tr class=\"separator:aa480e57bbdd83b8164129f875bd48976\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciStyle.html\" title=\"The QsciStyle class encapsulates all the attributes of a style.\">QsciStyle</a> class encapsulates all the attributes of a style. </p>\n<p>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. </p>\n</div><h2 class=\"groupheader\">Member Enumeration Documentation</h2>\n<a id=\"a4a0e012717bb1fd68de03209260a0609\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4a0e012717bb1fd68de03209260a0609\">&#9670;&nbsp;</a></span>TextCase</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">QsciStyle::TextCase</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>This enum defines the different ways the displayed case of the text can be changed. </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a id=\"a4a0e012717bb1fd68de03209260a0609a2fac015153af29a7c87eb69848fd4348\"></a>OriginalCase&#160;</td><td class=\"fielddoc\"><p>The text is displayed as its original case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a4a0e012717bb1fd68de03209260a0609aeb98b8f24b317cec7c271fd337185e75\"></a>UpperCase&#160;</td><td class=\"fielddoc\"><p>The text is displayed as upper case. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a id=\"a4a0e012717bb1fd68de03209260a0609a83675e1da457009277d3642340dc82cc\"></a>LowerCase&#160;</td><td class=\"fielddoc\"><p>The text is displayed as lower case. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a0464f0a24f4094431686c89e667e843e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0464f0a24f4094431686c89e667e843e\">&#9670;&nbsp;</a></span>QsciStyle() <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciStyle::QsciStyle </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em> = <code>-1</code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Constructs a <a class=\"el\" href=\"classQsciStyle.html\" title=\"The QsciStyle class encapsulates all the attributes of a style.\">QsciStyle</a> instance for style number <em>style</em>. If <em>style</em> is negative then a new style number is automatically allocated if possible. If it is not possible then <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style()</a> will return a negative value.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4e1d6840e7d117886093bbaabbccd56f\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4e1d6840e7d117886093bbaabbccd56f\">&#9670;&nbsp;</a></span>QsciStyle() <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciStyle::QsciStyle </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>description</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>color</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>paper</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const QFont &amp;&#160;</td>\n          <td class=\"paramname\"><em>font</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>eolFill</em> = <code>false</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Constructs a <a class=\"el\" href=\"classQsciStyle.html\" title=\"The QsciStyle class encapsulates all the attributes of a style.\">QsciStyle</a> instance for style number <em>style</em>. If <em>style</em> is negative then a new style number is automatically allocated if possible. If it is not possible then <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style()</a> will return a negative value. The styles description, color, paper color, font and end-of-line fill are set to <em>description</em>, <em>color</em>, <em>paper</em>, <em>font</em> and <em>eolFill</em> respectively.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style()</a> </dd></dl>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a id=\"af00ea2dd20e93c5d06d9ce99cbc2cf00\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af00ea2dd20e93c5d06d9ce99cbc2cf00\">&#9670;&nbsp;</a></span>setStyle()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setStyle </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The style's number is set to <em>style</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">style()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a61582248f6b7276db9b4a1f9582c3828\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a61582248f6b7276db9b4a1f9582c3828\">&#9670;&nbsp;</a></span>style()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int QsciStyle::style </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the number of the style. This will be negative if the style is invalid.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#af00ea2dd20e93c5d06d9ce99cbc2cf00\">setStyle()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"abd88d76b875c154f099b4e9f36b6fcab\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#abd88d76b875c154f099b4e9f36b6fcab\">&#9670;&nbsp;</a></span>setDescription()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setDescription </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>description</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>The style's description is set to <em>description</em>.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">description()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a04e5cc64877290739b30603c526d84ce\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a04e5cc64877290739b30603c526d84ce\">&#9670;&nbsp;</a></span>description()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QString QsciStyle::description </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's description.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#abd88d76b875c154f099b4e9f36b6fcab\">setDescription()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"aa7743a3805662a27ae52a56af3ac315a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#aa7743a3805662a27ae52a56af3ac315a\">&#9670;&nbsp;</a></span>setColor()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setColor </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>color</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's foreground color is set to <em>color</em>. The default is taken from the application's default palette.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">color()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af349ce169da83e08ad9f995df48c6547\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af349ce169da83e08ad9f995df48c6547\">&#9670;&nbsp;</a></span>color()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciStyle::color </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's foreground color.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#aa7743a3805662a27ae52a56af3ac315a\">setColor()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a2d4ec76574fd507fbf3c0d006c7427da\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a2d4ec76574fd507fbf3c0d006c7427da\">&#9670;&nbsp;</a></span>setPaper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setPaper </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QColor &amp;&#160;</td>\n          <td class=\"paramname\"><em>paper</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's background color is set to <em>paper</em>. The default is taken from the application's default palette.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">paper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a8912da5c6b95404e4642593db1b65d4c\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a8912da5c6b95404e4642593db1b65d4c\">&#9670;&nbsp;</a></span>paper()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QColor QsciStyle::paper </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's background color.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a2d4ec76574fd507fbf3c0d006c7427da\">setPaper()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"ab09932c9dafb915b8138d4ec1cbc79cb\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#ab09932c9dafb915b8138d4ec1cbc79cb\">&#9670;&nbsp;</a></span>setFont()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setFont </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QFont &amp;&#160;</td>\n          <td class=\"paramname\"><em>font</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's font is set to <em>font</em>. The default is the application's default font.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">font()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af45628c04ab5488fc13b61a2356346ec\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af45628c04ab5488fc13b61a2356346ec\">&#9670;&nbsp;</a></span>font()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QFont QsciStyle::font </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's font.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#ab09932c9dafb915b8138d4ec1cbc79cb\">setFont()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a6767dbb23f68292ef9e892dad31ffd9e\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a6767dbb23f68292ef9e892dad31ffd9e\">&#9670;&nbsp;</a></span>setEolFill()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setEolFill </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>fill</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's end-of-line fill is set to <em>fill</em>. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">eolFill()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"adcc34134da3341f1f07a847b09f6565b\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#adcc34134da3341f1f07a847b09f6565b\">&#9670;&nbsp;</a></span>eolFill()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciStyle::eolFill </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's end-of-line fill.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a6767dbb23f68292ef9e892dad31ffd9e\">setEolFill()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a25e9b8a34c334bf6160115a2c43a5256\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a25e9b8a34c334bf6160115a2c43a5256\">&#9670;&nbsp;</a></span>setTextCase()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setTextCase </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">TextCase</a>&#160;</td>\n          <td class=\"paramname\"><em>text_case</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's text case is set to <em>text_case</em>. The default is OriginalCase.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a16212f9f46162f67ece3ed6423207785\">textCase()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a16212f9f46162f67ece3ed6423207785\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a16212f9f46162f67ece3ed6423207785\">&#9670;&nbsp;</a></span>textCase()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">TextCase</a> QsciStyle::textCase </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's text case.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a25e9b8a34c334bf6160115a2c43a5256\">setTextCase()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4f8b9edd94c36344bd7152d15731509a\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4f8b9edd94c36344bd7152d15731509a\">&#9670;&nbsp;</a></span>setVisible()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setVisible </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>visible</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's visibility is set to <em>visible</em>. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">visible()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a0fd0947a87e3bf43720227b8226b3edd\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a0fd0947a87e3bf43720227b8226b3edd\">&#9670;&nbsp;</a></span>visible()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciStyle::visible </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's visibility.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a4f8b9edd94c36344bd7152d15731509a\">setVisible()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"af7e052d08efd3a677f810c8e4116dafc\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#af7e052d08efd3a677f810c8e4116dafc\">&#9670;&nbsp;</a></span>setChangeable()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setChangeable </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>changeable</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's changeability is set to <em>changeable</em>. The default is true.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">changeable()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a4d1aa13e042609e48674f72aebd2ebae\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a4d1aa13e042609e48674f72aebd2ebae\">&#9670;&nbsp;</a></span>changeable()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciStyle::changeable </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's changeability.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#af7e052d08efd3a677f810c8e4116dafc\">setChangeable()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"acb06ba468da57cc4ea9e8d496cb33f83\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#acb06ba468da57cc4ea9e8d496cb33f83\">&#9670;&nbsp;</a></span>setHotspot()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void QsciStyle::setHotspot </td>\n          <td>(</td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>hotspot</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>The style's sensitivity to mouse clicks is set to <em>hotspot</em>. The default is false.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">hotspot()</a> </dd></dl>\n\n</div>\n</div>\n<a id=\"a1df46714ab45c62e5ad5e52a5f41bf15\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a1df46714ab45c62e5ad5e52a5f41bf15\">&#9670;&nbsp;</a></span>hotspot()</h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool QsciStyle::hotspot </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Returns the style's sensitivity to mouse clicks.</p>\n<dl class=\"section see\"><dt>See also</dt><dd><a class=\"el\" href=\"classQsciStyle.html#acb06ba468da57cc4ea9e8d496cb33f83\">setHotspot()</a> </dd></dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciStyledText-members.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Member List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QsciStyledText Member List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p>This is the complete list of members for <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a>, including all inherited members.</p>\n<table class=\"directory\">\n  <tr bgcolor=\"#f0f0f0\" class=\"even\"><td class=\"entry\"><b>apply</b>(QsciScintillaBase *sci) const (defined in <a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a>)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html#a72dbd9d847a577fe5c438d1582920887\">QsciStyledText</a>(const QString &amp;text, int style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html#a9f84f97932caaa6481cea79f48c70647\">QsciStyledText</a>(const QString &amp;text, const QsciStyle &amp;style)</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a></td><td class=\"entry\"></td></tr>\n  <tr><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">style</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a></td><td class=\"entry\"></td></tr>\n  <tr class=\"even\"><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">text</a>() const</td><td class=\"entry\"><a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a></td><td class=\"entry\"><span class=\"mlabel\">inline</span></td></tr>\n</table></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classQsciStyledText.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QsciStyledText Class Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"classQsciStyledText-members.html\">List of all members</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">QsciStyledText Class Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><code>#include &lt;qscistyledtext.h&gt;</code></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a72dbd9d847a577fe5c438d1582920887\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyledText.html#a72dbd9d847a577fe5c438d1582920887\">QsciStyledText</a> (const QString &amp;<a class=\"el\" href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">text</a>, int <a class=\"el\" href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">style</a>)</td></tr>\n<tr class=\"separator:a72dbd9d847a577fe5c438d1582920887\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9f84f97932caaa6481cea79f48c70647\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyledText.html#a9f84f97932caaa6481cea79f48c70647\">QsciStyledText</a> (const QString &amp;<a class=\"el\" href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">text</a>, const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;<a class=\"el\" href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">style</a>)</td></tr>\n<tr class=\"separator:a9f84f97932caaa6481cea79f48c70647\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a448f366f55c995dfd5edc566fd4724c7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a448f366f55c995dfd5edc566fd4724c7\"></a>\nvoid&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><b>apply</b> (<a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a> *sci) const</td></tr>\n<tr class=\"separator:a448f366f55c995dfd5edc566fd4724c7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a526eff4f40349af1913dd4cfa3464131\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a526eff4f40349af1913dd4cfa3464131\"></a>\nconst QString &amp;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">text</a> () const</td></tr>\n<tr class=\"separator:a526eff4f40349af1913dd4cfa3464131\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6a5f837ca80d54322b70aa4b8465afa1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a id=\"a6a5f837ca80d54322b70aa4b8465afa1\"></a>\nint&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">style</a> () const</td></tr>\n<tr class=\"separator:a6a5f837ca80d54322b70aa4b8465afa1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The <a class=\"el\" href=\"classQsciStyledText.html\" title=\"The QsciStyledText class is a container for a piece of text and the style used to display the text.\">QsciStyledText</a> class is a container for a piece of text and the style used to display the text. </p>\n</div><h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a id=\"a72dbd9d847a577fe5c438d1582920887\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a72dbd9d847a577fe5c438d1582920887\">&#9670;&nbsp;</a></span>QsciStyledText() <span class=\"overload\">[1/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciStyledText::QsciStyledText </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Constructs a <a class=\"el\" href=\"classQsciStyledText.html\" title=\"The QsciStyledText class is a container for a piece of text and the style used to display the text.\">QsciStyledText</a> instance for text <em>text</em> and style number <em>style</em>. </p>\n\n</div>\n</div>\n<a id=\"a9f84f97932caaa6481cea79f48c70647\"></a>\n<h2 class=\"memtitle\"><span class=\"permalink\"><a href=\"#a9f84f97932caaa6481cea79f48c70647\">&#9670;&nbsp;</a></span>QsciStyledText() <span class=\"overload\">[2/2]</span></h2>\n\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">QsciStyledText::QsciStyledText </td>\n          <td>(</td>\n          <td class=\"paramtype\">const QString &amp;&#160;</td>\n          <td class=\"paramname\"><em>text</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a> &amp;&#160;</td>\n          <td class=\"paramname\"><em>style</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Constructs a <a class=\"el\" href=\"classQsciStyledText.html\" title=\"The QsciStyledText class is a container for a piece of text and the style used to display the text.\">QsciStyledText</a> instance for text <em>text</em> and style <em>style</em>. </p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/classes.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Index</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">Class Index</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<div class=\"qindex\"><a class=\"qindex\" href=\"#letter_a\">a</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_c\">c</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_d\">d</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_l\">l</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_m\">m</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_p\">p</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_s\">s</a></div>\n<table class=\"classindex\">\n<tr><td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_a\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;a&#160;&#160;</div></td></tr></table>\n</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerAVS.html\">QsciLexerAVS</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerHTML.html\">QsciLexerHTML</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerPOV.html\">QsciLexerPOV</a>&#160;&#160;&#160;</td>\n<td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_p\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;p&#160;&#160;</div></td></tr></table>\n</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciLexerBash.html\">QsciLexerBash</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerIDL.html\">QsciLexerIDL</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerProperties.html\">QsciLexerProperties</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciAbstractAPIs.html\">QsciAbstractAPIs</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerBatch.html\">QsciLexerBatch</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerJava.html\">QsciLexerJava</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerPython.html\">QsciLexerPython</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciPrinter.html\">QsciPrinter</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciAPIs.html\">QsciAPIs</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerCMake.html\">QsciLexerCMake</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerJavaScript.html\">QsciLexerJavaScript</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerRuby.html\">QsciLexerRuby</a>&#160;&#160;&#160;</td>\n<td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_s\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;s&#160;&#160;</div></td></tr></table>\n</td>\n</tr>\n<tr><td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_c\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;c&#160;&#160;</div></td></tr></table>\n</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\">QsciLexerCoffeeScript</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerJSON.html\">QsciLexerJSON</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerSpice.html\">QsciLexerSpice</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciLexerCPP.html\">QsciLexerCPP</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerLua.html\">QsciLexerLua</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerSQL.html\">QsciLexerSQL</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciScintilla.html\">QsciScintilla</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciCommand.html\">QsciCommand</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerCSharp.html\">QsciLexerCSharp</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerMakefile.html\">QsciLexerMakefile</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerTCL.html\">QsciLexerTCL</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciScintillaBase.html\">QsciScintillaBase</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciCommandSet.html\">QsciCommandSet</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerCSS.html\">QsciLexerCSS</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerMarkdown.html\">QsciLexerMarkdown</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerTeX.html\">QsciLexerTeX</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciStyle.html\">QsciStyle</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_d\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;d&#160;&#160;</div></td></tr></table>\n</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerCustom.html\">QsciLexerCustom</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerMatlab.html\">QsciLexerMatlab</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerVerilog.html\">QsciLexerVerilog</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciStyledText.html\">QsciStyledText</a>&#160;&#160;&#160;</td>\n</tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciLexerD.html\">QsciLexerD</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerOctave.html\">QsciLexerOctave</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerVHDL.html\">QsciLexerVHDL</a>&#160;&#160;&#160;</td>\n<td></td></tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciDocument.html\">QsciDocument</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerDiff.html\">QsciLexerDiff</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerPascal.html\">QsciLexerPascal</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerXML.html\">QsciLexerXML</a>&#160;&#160;&#160;</td>\n<td></td></tr>\n<tr><td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_l\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;l&#160;&#160;</div></td></tr></table>\n</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerEDIFACT.html\">QsciLexerEDIFACT</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerPerl.html\">QsciLexerPerl</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerYAML.html\">QsciLexerYAML</a>&#160;&#160;&#160;</td>\n<td></td></tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciLexerFortran.html\">QsciLexerFortran</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerPO.html\">QsciLexerPO</a>&#160;&#160;&#160;</td>\n<td rowspan=\"2\" valign=\"bottom\"><a name=\"letter_m\"></a><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\">&#160;&#160;m&#160;&#160;</div></td></tr></table>\n</td>\n<td></td></tr>\n<tr><td valign=\"top\"><a class=\"el\" href=\"classQsciLexer.html\">QsciLexer</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerFortran77.html\">QsciLexerFortran77</a>&#160;&#160;&#160;</td>\n<td valign=\"top\"><a class=\"el\" href=\"classQsciLexerPostScript.html\">QsciLexerPostScript</a>&#160;&#160;&#160;</td>\n<td></td></tr>\n<tr><td></td><td></td><td></td><td valign=\"top\"><a class=\"el\" href=\"classQsciMacro.html\">QsciMacro</a>&#160;&#160;&#160;</td>\n<td></td></tr>\n<tr><td></td><td></td><td></td><td></td><td></td></tr>\n</table>\n<div class=\"qindex\"><a class=\"qindex\" href=\"#letter_a\">a</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_c\">c</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_d\">d</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_l\">l</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_m\">m</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_p\">p</a>&#160;|&#160;<a class=\"qindex\" href=\"#letter_s\">s</a></div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: src Directory Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_68267d1309a1af8e8297ef4c3efbcdba.html\">src</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">src Directory Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"subdirs\"></a>\nDirectories</h2></td></tr>\n</table>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/dir_e7e7b0b6fe362def31d601fa026bbeed.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Qsci Directory Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_68267d1309a1af8e8297ef4c3efbcdba.html\">src</a></li><li class=\"navelem\"><a class=\"el\" href=\"dir_e7e7b0b6fe362def31d601fa026bbeed.html\">Qsci</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">Qsci Directory Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/doxygen.css",
    "content": "/* The standard CSS for doxygen 1.8.20 */\n\nbody, table, div, p, dl {\n\tfont: 400 14px/22px Roboto,sans-serif;\n}\n\np.reference, p.definition {\n\tfont: 400 14px/22px Roboto,sans-serif;\n}\n\n/* @group Heading Levels */\n\nh1.groupheader {\n\tfont-size: 150%;\n}\n\n.title {\n\tfont: 400 14px/28px Roboto,sans-serif;\n\tfont-size: 150%;\n\tfont-weight: bold;\n\tmargin: 10px 2px;\n}\n\nh2.groupheader {\n\tborder-bottom: 1px solid #879ECB;\n\tcolor: #354C7B;\n\tfont-size: 150%;\n\tfont-weight: normal;\n\tmargin-top: 1.75em;\n\tpadding-top: 8px;\n\tpadding-bottom: 4px;\n\twidth: 100%;\n}\n\nh3.groupheader {\n\tfont-size: 100%;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\t-webkit-transition: text-shadow 0.5s linear;\n\t-moz-transition: text-shadow 0.5s linear;\n\t-ms-transition: text-shadow 0.5s linear;\n\t-o-transition: text-shadow 0.5s linear;\n\ttransition: text-shadow 0.5s linear;\n\tmargin-right: 15px;\n}\n\nh1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {\n\ttext-shadow: 0 0 15px cyan;\n}\n\ndt {\n\tfont-weight: bold;\n}\n\nul.multicol {\n\t-moz-column-gap: 1em;\n\t-webkit-column-gap: 1em;\n\tcolumn-gap: 1em;\n\t-moz-column-count: 3;\n\t-webkit-column-count: 3;\n\tcolumn-count: 3;\n}\n\np.startli, p.startdd {\n\tmargin-top: 2px;\n}\n\nth p.starttd, th p.intertd, th p.endtd {\n        font-size: 100%;\n        font-weight: 700;\n}\n\np.starttd {\n\tmargin-top: 0px;\n}\n\np.endli {\n\tmargin-bottom: 0px;\n}\n\np.enddd {\n\tmargin-bottom: 4px;\n}\n\np.endtd {\n\tmargin-bottom: 2px;\n}\n\np.interli {\n}\n\np.interdd {\n}\n\np.intertd {\n}\n\n/* @end */\n\ncaption {\n\tfont-weight: bold;\n}\n\nspan.legend {\n        font-size: 70%;\n        text-align: center;\n}\n\nh3.version {\n        font-size: 90%;\n        text-align: center;\n}\n\ndiv.qindex, div.navtab{\n\tbackground-color: #EBEFF6;\n\tborder: 1px solid #A3B4D7;\n\ttext-align: center;\n}\n\ndiv.qindex, div.navpath {\n\twidth: 100%;\n\tline-height: 140%;\n}\n\ndiv.navtab {\n\tmargin-right: 15px;\n}\n\n/* @group Link Styling */\n\na {\n\tcolor: #3D578C;\n\tfont-weight: normal;\n\ttext-decoration: none;\n}\n\n.contents a:visited {\n\tcolor: #4665A2;\n}\n\na:hover {\n\ttext-decoration: underline;\n}\n\na.qindex {\n\tfont-weight: bold;\n}\n\na.qindexHL {\n\tfont-weight: bold;\n\tbackground-color: #9CAFD4;\n\tcolor: #FFFFFF;\n\tborder: 1px double #869DCA;\n}\n\n.contents a.qindexHL:visited {\n        color: #FFFFFF;\n}\n\na.el {\n\tfont-weight: bold;\n}\n\na.elRef {\n}\n\na.code, a.code:visited, a.line, a.line:visited {\n\tcolor: #4665A2; \n}\n\na.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {\n\tcolor: #4665A2; \n}\n\n/* @end */\n\ndl.el {\n\tmargin-left: -1cm;\n}\n\nul {\n  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/\n}\n\n#side-nav ul {\n  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */\n}\n\n#main-nav ul {\n  overflow: visible; /* reset ul rule for the navigation bar drop down lists */\n}\n\n.fragment {\n  text-align: left;\n  direction: ltr;\n  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/\n  overflow-y: hidden;\n}\n\npre.fragment {\n        border: 1px solid #C4CFE5;\n        background-color: #FBFCFD;\n        padding: 4px 6px;\n        margin: 4px 8px 4px 2px;\n        overflow: auto;\n        word-wrap: break-word;\n        font-size:  9pt;\n        line-height: 125%;\n        font-family: monospace, fixed;\n        font-size: 105%;\n}\n\ndiv.fragment {\n  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/\n  margin: 4px 8px 4px 2px;\n\tbackground-color: #FBFCFD;\n\tborder: 1px solid #C4CFE5;\n}\n\ndiv.line {\n\tfont-family: monospace, fixed;\n        font-size: 13px;\n\tmin-height: 13px;\n\tline-height: 1.0;\n\ttext-wrap: unrestricted;\n\twhite-space: -moz-pre-wrap; /* Moz */\n\twhite-space: -pre-wrap;     /* Opera 4-6 */\n\twhite-space: -o-pre-wrap;   /* Opera 7 */\n\twhite-space: pre-wrap;      /* CSS3  */\n\tword-wrap: break-word;      /* IE 5.5+ */\n\ttext-indent: -53px;\n\tpadding-left: 53px;\n\tpadding-bottom: 0px;\n\tmargin: 0px;\n\t-webkit-transition-property: background-color, box-shadow;\n\t-webkit-transition-duration: 0.5s;\n\t-moz-transition-property: background-color, box-shadow;\n\t-moz-transition-duration: 0.5s;\n\t-ms-transition-property: background-color, box-shadow;\n\t-ms-transition-duration: 0.5s;\n\t-o-transition-property: background-color, box-shadow;\n\t-o-transition-duration: 0.5s;\n\ttransition-property: background-color, box-shadow;\n\ttransition-duration: 0.5s;\n}\n\ndiv.line:after {\n    content:\"\\000A\";\n    white-space: pre;\n}\n\ndiv.line.glow {\n\tbackground-color: cyan;\n\tbox-shadow: 0 0 10px cyan;\n}\n\n\nspan.lineno {\n\tpadding-right: 4px;\n\ttext-align: right;\n\tborder-right: 2px solid #0F0;\n\tbackground-color: #E8E8E8;\n        white-space: pre;\n}\nspan.lineno a {\n\tbackground-color: #D8D8D8;\n}\n\nspan.lineno a:hover {\n\tbackground-color: #C8C8C8;\n}\n\n.lineno {\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\ndiv.ah, span.ah {\n\tbackground-color: black;\n\tfont-weight: bold;\n\tcolor: #FFFFFF;\n\tmargin-bottom: 3px;\n\tmargin-top: 3px;\n\tpadding: 0.2em;\n\tborder: solid thin #333;\n\tborder-radius: 0.5em;\n\t-webkit-border-radius: .5em;\n\t-moz-border-radius: .5em;\n\tbox-shadow: 2px 2px 3px #999;\n\t-webkit-box-shadow: 2px 2px 3px #999;\n\t-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));\n\tbackground-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);\n}\n\ndiv.classindex ul {\n        list-style: none;\n        padding-left: 0;\n}\n\ndiv.classindex span.ai {\n        display: inline-block;\n}\n\ndiv.groupHeader {\n\tmargin-left: 16px;\n\tmargin-top: 12px;\n\tfont-weight: bold;\n}\n\ndiv.groupText {\n\tmargin-left: 16px;\n\tfont-style: italic;\n}\n\nbody {\n\tbackground-color: white;\n\tcolor: black;\n        margin: 0;\n}\n\ndiv.contents {\n\tmargin-top: 10px;\n\tmargin-left: 12px;\n\tmargin-right: 8px;\n}\n\ntd.indexkey {\n\tbackground-color: #EBEFF6;\n\tfont-weight: bold;\n\tborder: 1px solid #C4CFE5;\n\tmargin: 2px 0px 2px 0;\n\tpadding: 2px 10px;\n        white-space: nowrap;\n        vertical-align: top;\n}\n\ntd.indexvalue {\n\tbackground-color: #EBEFF6;\n\tborder: 1px solid #C4CFE5;\n\tpadding: 2px 10px;\n\tmargin: 2px 0px;\n}\n\ntr.memlist {\n\tbackground-color: #EEF1F7;\n}\n\np.formulaDsp {\n\ttext-align: center;\n}\n\nimg.formulaDsp {\n\t\n}\n\nimg.formulaInl, img.inline {\n\tvertical-align: middle;\n}\n\ndiv.center {\n\ttext-align: center;\n        margin-top: 0px;\n        margin-bottom: 0px;\n        padding: 0px;\n}\n\ndiv.center img {\n\tborder: 0px;\n}\n\naddress.footer {\n\ttext-align: right;\n\tpadding-right: 12px;\n}\n\nimg.footer {\n\tborder: 0px;\n\tvertical-align: middle;\n}\n\n/* @group Code Colorization */\n\nspan.keyword {\n\tcolor: #008000\n}\n\nspan.keywordtype {\n\tcolor: #604020\n}\n\nspan.keywordflow {\n\tcolor: #e08000\n}\n\nspan.comment {\n\tcolor: #800000\n}\n\nspan.preprocessor {\n\tcolor: #806020\n}\n\nspan.stringliteral {\n\tcolor: #002080\n}\n\nspan.charliteral {\n\tcolor: #008080\n}\n\nspan.vhdldigit { \n\tcolor: #ff00ff \n}\n\nspan.vhdlchar { \n\tcolor: #000000 \n}\n\nspan.vhdlkeyword { \n\tcolor: #700070 \n}\n\nspan.vhdllogic { \n\tcolor: #ff0000 \n}\n\nblockquote {\n        background-color: #F7F8FB;\n        border-left: 2px solid #9CAFD4;\n        margin: 0 24px 0 4px;\n        padding: 0 12px 0 16px;\n}\n\nblockquote.DocNodeRTL {\n   border-left: 0;\n   border-right: 2px solid #9CAFD4;\n   margin: 0 4px 0 24px;\n   padding: 0 16px 0 12px;\n}\n\n/* @end */\n\n/*\n.search {\n\tcolor: #003399;\n\tfont-weight: bold;\n}\n\nform.search {\n\tmargin-bottom: 0px;\n\tmargin-top: 0px;\n}\n\ninput.search {\n\tfont-size: 75%;\n\tcolor: #000080;\n\tfont-weight: normal;\n\tbackground-color: #e8eef2;\n}\n*/\n\ntd.tiny {\n\tfont-size: 75%;\n}\n\n.dirtab {\n\tpadding: 4px;\n\tborder-collapse: collapse;\n\tborder: 1px solid #A3B4D7;\n}\n\nth.dirtab {\n\tbackground: #EBEFF6;\n\tfont-weight: bold;\n}\n\nhr {\n\theight: 0px;\n\tborder: none;\n\tborder-top: 1px solid #4A6AAA;\n}\n\nhr.footer {\n\theight: 1px;\n}\n\n/* @group Member Descriptions */\n\ntable.memberdecls {\n\tborder-spacing: 0px;\n\tpadding: 0px;\n}\n\n.memberdecls td, .fieldtable tr {\n\t-webkit-transition-property: background-color, box-shadow;\n\t-webkit-transition-duration: 0.5s;\n\t-moz-transition-property: background-color, box-shadow;\n\t-moz-transition-duration: 0.5s;\n\t-ms-transition-property: background-color, box-shadow;\n\t-ms-transition-duration: 0.5s;\n\t-o-transition-property: background-color, box-shadow;\n\t-o-transition-duration: 0.5s;\n\ttransition-property: background-color, box-shadow;\n\ttransition-duration: 0.5s;\n}\n\n.memberdecls td.glow, .fieldtable tr.glow {\n\tbackground-color: cyan;\n\tbox-shadow: 0 0 15px cyan;\n}\n\n.mdescLeft, .mdescRight,\n.memItemLeft, .memItemRight,\n.memTemplItemLeft, .memTemplItemRight, .memTemplParams {\n\tbackground-color: #F9FAFC;\n\tborder: none;\n\tmargin: 4px;\n\tpadding: 1px 0 0 8px;\n}\n\n.mdescLeft, .mdescRight {\n\tpadding: 0px 8px 4px 8px;\n\tcolor: #555;\n}\n\n.memSeparator {\n        border-bottom: 1px solid #DEE4F0;\n        line-height: 1px;\n        margin: 0px;\n        padding: 0px;\n}\n\n.memItemLeft, .memTemplItemLeft {\n        white-space: nowrap;\n}\n\n.memItemRight, .memTemplItemRight {\n\twidth: 100%;\n}\n\n.memTemplParams {\n\tcolor: #4665A2;\n        white-space: nowrap;\n\tfont-size: 80%;\n}\n\n/* @end */\n\n/* @group Member Details */\n\n/* Styles for detailed member documentation */\n\n.memtitle {\n\tpadding: 8px;\n\tborder-top: 1px solid #A8B8D9;\n\tborder-left: 1px solid #A8B8D9;\n\tborder-right: 1px solid #A8B8D9;\n\tborder-top-right-radius: 4px;\n\tborder-top-left-radius: 4px;\n\tmargin-bottom: -1px;\n\tbackground-image: url('nav_f.png');\n\tbackground-repeat: repeat-x;\n\tbackground-color: #E2E8F2;\n\tline-height: 1.25;\n\tfont-weight: 300;\n\tfloat:left;\n}\n\n.permalink\n{\n        font-size: 65%;\n        display: inline-block;\n        vertical-align: middle;\n}\n\n.memtemplate {\n\tfont-size: 80%;\n\tcolor: #4665A2;\n\tfont-weight: normal;\n\tmargin-left: 9px;\n}\n\n.memnav {\n\tbackground-color: #EBEFF6;\n\tborder: 1px solid #A3B4D7;\n\ttext-align: center;\n\tmargin: 2px;\n\tmargin-right: 15px;\n\tpadding: 2px;\n}\n\n.mempage {\n\twidth: 100%;\n}\n\n.memitem {\n\tpadding: 0;\n\tmargin-bottom: 10px;\n\tmargin-right: 5px;\n        -webkit-transition: box-shadow 0.5s linear;\n        -moz-transition: box-shadow 0.5s linear;\n        -ms-transition: box-shadow 0.5s linear;\n        -o-transition: box-shadow 0.5s linear;\n        transition: box-shadow 0.5s linear;\n        display: table !important;\n        width: 100%;\n}\n\n.memitem.glow {\n         box-shadow: 0 0 15px cyan;\n}\n\n.memname {\n        font-weight: 400;\n        margin-left: 6px;\n}\n\n.memname td {\n\tvertical-align: bottom;\n}\n\n.memproto, dl.reflist dt {\n        border-top: 1px solid #A8B8D9;\n        border-left: 1px solid #A8B8D9;\n        border-right: 1px solid #A8B8D9;\n        padding: 6px 0px 6px 0px;\n        color: #253555;\n        font-weight: bold;\n        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);\n        background-color: #DFE5F1;\n        /* opera specific markup */\n        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n        border-top-right-radius: 4px;\n        /* firefox specific markup */\n        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;\n        -moz-border-radius-topright: 4px;\n        /* webkit specific markup */\n        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n        -webkit-border-top-right-radius: 4px;\n\n}\n\n.overload {\n        font-family: \"courier new\",courier,monospace;\n\tfont-size: 65%;\n}\n\n.memdoc, dl.reflist dd {\n        border-bottom: 1px solid #A8B8D9;      \n        border-left: 1px solid #A8B8D9;      \n        border-right: 1px solid #A8B8D9; \n        padding: 6px 10px 2px 10px;\n        background-color: #FBFCFD;\n        border-top-width: 0;\n        background-image:url('nav_g.png');\n        background-repeat:repeat-x;\n        background-color: #FFFFFF;\n        /* opera specific markup */\n        border-bottom-left-radius: 4px;\n        border-bottom-right-radius: 4px;\n        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n        /* firefox specific markup */\n        -moz-border-radius-bottomleft: 4px;\n        -moz-border-radius-bottomright: 4px;\n        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;\n        /* webkit specific markup */\n        -webkit-border-bottom-left-radius: 4px;\n        -webkit-border-bottom-right-radius: 4px;\n        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n}\n\ndl.reflist dt {\n        padding: 5px;\n}\n\ndl.reflist dd {\n        margin: 0px 0px 10px 0px;\n        padding: 5px;\n}\n\n.paramkey {\n\ttext-align: right;\n}\n\n.paramtype {\n\twhite-space: nowrap;\n}\n\n.paramname {\n\tcolor: #602020;\n\twhite-space: nowrap;\n}\n.paramname em {\n\tfont-style: normal;\n}\n.paramname code {\n        line-height: 14px;\n}\n\n.params, .retval, .exception, .tparams {\n        margin-left: 0px;\n        padding-left: 0px;\n}       \n\n.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {\n        font-weight: bold;\n        vertical-align: top;\n}\n        \n.params .paramtype, .tparams .paramtype {\n        font-style: italic;\n        vertical-align: top;\n}       \n        \n.params .paramdir, .tparams .paramdir {\n        font-family: \"courier new\",courier,monospace;\n        vertical-align: top;\n}\n\ntable.mlabels {\n\tborder-spacing: 0px;\n}\n\ntd.mlabels-left {\n\twidth: 100%;\n\tpadding: 0px;\n}\n\ntd.mlabels-right {\n\tvertical-align: bottom;\n\tpadding: 0px;\n\twhite-space: nowrap;\n}\n\nspan.mlabels {\n        margin-left: 8px;\n}\n\nspan.mlabel {\n        background-color: #728DC1;\n        border-top:1px solid #5373B4;\n        border-left:1px solid #5373B4;\n        border-right:1px solid #C4CFE5;\n        border-bottom:1px solid #C4CFE5;\n\ttext-shadow: none;\n\tcolor: white;\n\tmargin-right: 4px;\n\tpadding: 2px 3px;\n\tborder-radius: 3px;\n\tfont-size: 7pt;\n\twhite-space: nowrap;\n\tvertical-align: middle;\n}\n\n\n\n/* @end */\n\n/* these are for tree view inside a (index) page */\n\ndiv.directory {\n        margin: 10px 0px;\n        border-top: 1px solid #9CAFD4;\n        border-bottom: 1px solid #9CAFD4;\n        width: 100%;\n}\n\n.directory table {\n        border-collapse:collapse;\n}\n\n.directory td {\n        margin: 0px;\n        padding: 0px;\n\tvertical-align: top;\n}\n\n.directory td.entry {\n        white-space: nowrap;\n        padding-right: 6px;\n\tpadding-top: 3px;\n}\n\n.directory td.entry a {\n        outline:none;\n}\n\n.directory td.entry a img {\n        border: none;\n}\n\n.directory td.desc {\n        width: 100%;\n        padding-left: 6px;\n\tpadding-right: 6px;\n\tpadding-top: 3px;\n\tborder-left: 1px solid rgba(0,0,0,0.05);\n}\n\n.directory tr.even {\n\tpadding-left: 6px;\n\tbackground-color: #F7F8FB;\n}\n\n.directory img {\n\tvertical-align: -30%;\n}\n\n.directory .levels {\n        white-space: nowrap;\n        width: 100%;\n        text-align: right;\n        font-size: 9pt;\n}\n\n.directory .levels span {\n        cursor: pointer;\n        padding-left: 2px;\n        padding-right: 2px;\n\tcolor: #3D578C;\n}\n\n.arrow {\n    color: #9CAFD4;\n    -webkit-user-select: none;\n    -khtml-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    cursor: pointer;\n    font-size: 80%;\n    display: inline-block;\n    width: 16px;\n    height: 22px;\n}\n\n.icon {\n    font-family: Arial, Helvetica;\n    font-weight: bold;\n    font-size: 12px;\n    height: 14px;\n    width: 16px;\n    display: inline-block;\n    background-color: #728DC1;\n    color: white;\n    text-align: center;\n    border-radius: 4px;\n    margin-left: 2px;\n    margin-right: 2px;\n}\n\n.icona {\n    width: 24px;\n    height: 22px;\n    display: inline-block;\n}\n\n.iconfopen {\n    width: 24px;\n    height: 18px;\n    margin-bottom: 4px;\n    background-image:url('folderopen.png');\n    background-position: 0px -4px;\n    background-repeat: repeat-y;\n    vertical-align:top;\n    display: inline-block;\n}\n\n.iconfclosed {\n    width: 24px;\n    height: 18px;\n    margin-bottom: 4px;\n    background-image:url('folderclosed.png');\n    background-position: 0px -4px;\n    background-repeat: repeat-y;\n    vertical-align:top;\n    display: inline-block;\n}\n\n.icondoc {\n    width: 24px;\n    height: 18px;\n    margin-bottom: 4px;\n    background-image:url('doc.png');\n    background-position: 0px -4px;\n    background-repeat: repeat-y;\n    vertical-align:top;\n    display: inline-block;\n}\n\ntable.directory {\n    font: 400 14px Roboto,sans-serif;\n}\n\n/* @end */\n\ndiv.dynheader {\n        margin-top: 8px;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\naddress {\n\tfont-style: normal;\n\tcolor: #2A3D61;\n}\n\ntable.doxtable caption {\n\tcaption-side: top;\n}\n\ntable.doxtable {\n\tborder-collapse:collapse;\n        margin-top: 4px;\n        margin-bottom: 4px;\n}\n\ntable.doxtable td, table.doxtable th {\n\tborder: 1px solid #2D4068;\n\tpadding: 3px 7px 2px;\n}\n\ntable.doxtable th {\n\tbackground-color: #374F7F;\n\tcolor: #FFFFFF;\n\tfont-size: 110%;\n\tpadding-bottom: 4px;\n\tpadding-top: 5px;\n}\n\ntable.fieldtable {\n        /*width: 100%;*/\n        margin-bottom: 10px;\n        border: 1px solid #A8B8D9;\n        border-spacing: 0px;\n        -moz-border-radius: 4px;\n        -webkit-border-radius: 4px;\n        border-radius: 4px;\n        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;\n        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);\n        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);\n}\n\n.fieldtable td, .fieldtable th {\n        padding: 3px 7px 2px;\n}\n\n.fieldtable td.fieldtype, .fieldtable td.fieldname {\n        white-space: nowrap;\n        border-right: 1px solid #A8B8D9;\n        border-bottom: 1px solid #A8B8D9;\n        vertical-align: top;\n}\n\n.fieldtable td.fieldname {\n        padding-top: 3px;\n}\n\n.fieldtable td.fielddoc {\n        border-bottom: 1px solid #A8B8D9;\n        /*width: 100%;*/\n}\n\n.fieldtable td.fielddoc p:first-child {\n        margin-top: 0px;\n}       \n        \n.fieldtable td.fielddoc p:last-child {\n        margin-bottom: 2px;\n}\n\n.fieldtable tr:last-child td {\n        border-bottom: none;\n}\n\n.fieldtable th {\n        background-image:url('nav_f.png');\n        background-repeat:repeat-x;\n        background-color: #E2E8F2;\n        font-size: 90%;\n        color: #253555;\n        padding-bottom: 4px;\n        padding-top: 5px;\n        text-align:left;\n        font-weight: 400;\n        -moz-border-radius-topleft: 4px;\n        -moz-border-radius-topright: 4px;\n        -webkit-border-top-left-radius: 4px;\n        -webkit-border-top-right-radius: 4px;\n        border-top-left-radius: 4px;\n        border-top-right-radius: 4px;\n        border-bottom: 1px solid #A8B8D9;\n}\n\n\n.tabsearch {\n\ttop: 0px;\n\tleft: 10px;\n\theight: 36px;\n\tbackground-image: url('tab_b.png');\n\tz-index: 101;\n\toverflow: hidden;\n\tfont-size: 13px;\n}\n\n.navpath ul\n{\n\tfont-size: 11px;\n\tbackground-image:url('tab_b.png');\n\tbackground-repeat:repeat-x;\n\tbackground-position: 0 -5px;\n\theight:30px;\n\tline-height:30px;\n\tcolor:#8AA0CC;\n\tborder:solid 1px #C2CDE4;\n\toverflow:hidden;\n\tmargin:0px;\n\tpadding:0px;\n}\n\n.navpath li\n{\n\tlist-style-type:none;\n\tfloat:left;\n\tpadding-left:10px;\n\tpadding-right:15px;\n\tbackground-image:url('bc_s.png');\n\tbackground-repeat:no-repeat;\n\tbackground-position:right;\n\tcolor:#364D7C;\n}\n\n.navpath li.navelem a\n{\n\theight:32px;\n\tdisplay:block;\n\ttext-decoration: none;\n\toutline: none;\n\tcolor: #283A5D;\n\tfont-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;\n\ttext-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);\n\ttext-decoration: none;        \n}\n\n.navpath li.navelem a:hover\n{\n\tcolor:#6884BD;\n}\n\n.navpath li.footer\n{\n        list-style-type:none;\n        float:right;\n        padding-left:10px;\n        padding-right:15px;\n        background-image:none;\n        background-repeat:no-repeat;\n        background-position:right;\n        color:#364D7C;\n        font-size: 8pt;\n}\n\n\ndiv.summary\n{\n\tfloat: right;\n\tfont-size: 8pt;\n\tpadding-right: 5px;\n\twidth: 50%;\n\ttext-align: right;\n}       \n\ndiv.summary a\n{\n\twhite-space: nowrap;\n}\n\ntable.classindex\n{\n        margin: 10px;\n        white-space: nowrap;\n        margin-left: 3%;\n        margin-right: 3%;\n        width: 94%;\n        border: 0;\n        border-spacing: 0; \n        padding: 0;\n}\n\ndiv.ingroups\n{\n\tfont-size: 8pt;\n\twidth: 50%;\n\ttext-align: left;\n}\n\ndiv.ingroups a\n{\n\twhite-space: nowrap;\n}\n\ndiv.header\n{\n        background-image:url('nav_h.png');\n        background-repeat:repeat-x;\n\tbackground-color: #F9FAFC;\n\tmargin:  0px;\n\tborder-bottom: 1px solid #C4CFE5;\n}\n\ndiv.headertitle\n{\n\tpadding: 5px 5px 5px 10px;\n}\n\n.PageDocRTL-title div.headertitle {\n  text-align: right;\n  direction: rtl;\n}\n\ndl {\n        padding: 0 0 0 0;\n}\n\n/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */\ndl.section {\n\tmargin-left: 0px;\n\tpadding-left: 0px;\n}\n\ndl.section.DocNodeRTL {\n  margin-right: 0px;\n  padding-right: 0px;\n}\n\ndl.note {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #D0C000;\n}\n\ndl.note.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #D0C000;\n}\n\ndl.warning, dl.attention {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #FF0000;\n}\n\ndl.warning.DocNodeRTL, dl.attention.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #FF0000;\n}\n\ndl.pre, dl.post, dl.invariant {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #00D000;\n}\n\ndl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #00D000;\n}\n\ndl.deprecated {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #505050;\n}\n\ndl.deprecated.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #505050;\n}\n\ndl.todo {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #00C0E0;\n}\n\ndl.todo.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #00C0E0;\n}\n\ndl.test {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #3030E0;\n}\n\ndl.test.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #3030E0;\n}\n\ndl.bug {\n  margin-left: -7px;\n  padding-left: 3px;\n  border-left: 4px solid;\n  border-color: #C08050;\n}\n\ndl.bug.DocNodeRTL {\n  margin-left: 0;\n  padding-left: 0;\n  border-left: 0;\n  margin-right: -7px;\n  padding-right: 3px;\n  border-right: 4px solid;\n  border-color: #C08050;\n}\n\ndl.section dd {\n\tmargin-bottom: 6px;\n}\n\n\n#projectlogo\n{\n\ttext-align: center;\n\tvertical-align: bottom;\n\tborder-collapse: separate;\n}\n \n#projectlogo img\n{ \n\tborder: 0px none;\n}\n \n#projectalign\n{\n        vertical-align: middle;\n}\n\n#projectname\n{\n\tfont: 300% Tahoma, Arial,sans-serif;\n\tmargin: 0px;\n\tpadding: 2px 0px;\n}\n    \n#projectbrief\n{\n\tfont: 120% Tahoma, Arial,sans-serif;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n#projectnumber\n{\n\tfont: 50% Tahoma, Arial,sans-serif;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n#titlearea\n{\n\tpadding: 0px;\n\tmargin: 0px;\n\twidth: 100%;\n\tborder-bottom: 1px solid #5373B4;\n}\n\n.image\n{\n        text-align: center;\n}\n\n.dotgraph\n{\n        text-align: center;\n}\n\n.mscgraph\n{\n        text-align: center;\n}\n\n.plantumlgraph\n{\n        text-align: center;\n}\n\n.diagraph\n{\n        text-align: center;\n}\n\n.caption\n{\n\tfont-weight: bold;\n}\n\ndiv.zoom\n{\n\tborder: 1px solid #90A5CE;\n}\n\ndl.citelist {\n        margin-bottom:50px;\n}\n\ndl.citelist dt {\n        color:#334975;\n        float:left;\n        font-weight:bold;\n        margin-right:10px;\n        padding:5px;\n        text-align:right;\n        width:52px;\n}\n\ndl.citelist dd {\n        margin:2px 0 2px 72px;\n        padding:5px 0;\n}\n\ndiv.toc {\n        padding: 14px 25px;\n        background-color: #F4F6FA;\n        border: 1px solid #D8DFEE;\n        border-radius: 7px 7px 7px 7px;\n        float: right;\n        height: auto;\n        margin: 0 8px 10px 10px;\n        width: 200px;\n}\n\n.PageDocRTL-title div.toc {\n  float: left !important;\n  text-align: right;\n}\n\ndiv.toc li {\n        background: url(\"bdwn.png\") no-repeat scroll 0 5px transparent;\n        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;\n        margin-top: 5px;\n        padding-left: 10px;\n        padding-top: 2px;\n}\n\n.PageDocRTL-title div.toc li {\n  background-position-x: right !important;\n  padding-left: 0 !important;\n  padding-right: 10px;\n}\n\ndiv.toc h3 {\n        font: bold 12px/1.2 Arial,FreeSans,sans-serif;\n\tcolor: #4665A2;\n        border-bottom: 0 none;\n        margin: 0;\n}\n\ndiv.toc ul {\n        list-style: none outside none;\n        border: medium none;\n        padding: 0px;\n}       \n\ndiv.toc li.level1 {\n        margin-left: 0px;\n}\n\ndiv.toc li.level2 {\n        margin-left: 15px;\n}\n\ndiv.toc li.level3 {\n        margin-left: 30px;\n}\n\ndiv.toc li.level4 {\n        margin-left: 45px;\n}\n\n.PageDocRTL-title div.toc li.level1 {\n  margin-left: 0 !important;\n  margin-right: 0;\n}\n\n.PageDocRTL-title div.toc li.level2 {\n  margin-left: 0 !important;\n  margin-right: 15px;\n}\n\n.PageDocRTL-title div.toc li.level3 {\n  margin-left: 0 !important;\n  margin-right: 30px;\n}\n\n.PageDocRTL-title div.toc li.level4 {\n  margin-left: 0 !important;\n  margin-right: 45px;\n}\n\n.inherit_header {\n        font-weight: bold;\n        color: gray;\n        cursor: pointer;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n.inherit_header td {\n        padding: 6px 0px 2px 5px;\n}\n\n.inherit {\n        display: none;\n}\n\ntr.heading h2 {\n        margin-top: 12px;\n        margin-bottom: 4px;\n}\n\n/* tooltip related style info */\n\n.ttc {\n        position: absolute;\n        display: none;\n}\n\n#powerTip {\n\tcursor: default;\n\twhite-space: nowrap;\n\tbackground-color: white;\n\tborder: 1px solid gray;\n\tborder-radius: 4px 4px 4px 4px;\n\tbox-shadow: 1px 1px 7px gray;\n\tdisplay: none;\n\tfont-size: smaller;\n\tmax-width: 80%;\n\topacity: 0.9;\n\tpadding: 1ex 1em 1em;\n\tposition: absolute;\n\tz-index: 2147483647;\n}\n\n#powerTip div.ttdoc {\n        color: grey;\n\tfont-style: italic;\n}\n\n#powerTip div.ttname a {\n        font-weight: bold;\n}\n\n#powerTip div.ttname {\n        font-weight: bold;\n}\n\n#powerTip div.ttdeci {\n        color: #006318;\n}\n\n#powerTip div {\n        margin: 0px;\n        padding: 0px;\n        font: 12px/16px Roboto,sans-serif;\n}\n\n#powerTip:before, #powerTip:after {\n\tcontent: \"\";\n\tposition: absolute;\n\tmargin: 0px;\n}\n\n#powerTip.n:after,  #powerTip.n:before,\n#powerTip.s:after,  #powerTip.s:before,\n#powerTip.w:after,  #powerTip.w:before,\n#powerTip.e:after,  #powerTip.e:before,\n#powerTip.ne:after, #powerTip.ne:before,\n#powerTip.se:after, #powerTip.se:before,\n#powerTip.nw:after, #powerTip.nw:before,\n#powerTip.sw:after, #powerTip.sw:before {\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n}\n\n#powerTip.n:after,  #powerTip.s:after,\n#powerTip.w:after,  #powerTip.e:after,\n#powerTip.nw:after, #powerTip.ne:after,\n#powerTip.sw:after, #powerTip.se:after {\n\tborder-color: rgba(255, 255, 255, 0);\n}\n\n#powerTip.n:before,  #powerTip.s:before,\n#powerTip.w:before,  #powerTip.e:before,\n#powerTip.nw:before, #powerTip.ne:before,\n#powerTip.sw:before, #powerTip.se:before {\n\tborder-color: rgba(128, 128, 128, 0);\n}\n\n#powerTip.n:after,  #powerTip.n:before,\n#powerTip.ne:after, #powerTip.ne:before,\n#powerTip.nw:after, #powerTip.nw:before {\n\ttop: 100%;\n}\n\n#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {\n\tborder-top-color: #FFFFFF;\n\tborder-width: 10px;\n\tmargin: 0px -10px;\n}\n#powerTip.n:before {\n\tborder-top-color: #808080;\n\tborder-width: 11px;\n\tmargin: 0px -11px;\n}\n#powerTip.n:after, #powerTip.n:before {\n\tleft: 50%;\n}\n\n#powerTip.nw:after, #powerTip.nw:before {\n\tright: 14px;\n}\n\n#powerTip.ne:after, #powerTip.ne:before {\n\tleft: 14px;\n}\n\n#powerTip.s:after,  #powerTip.s:before,\n#powerTip.se:after, #powerTip.se:before,\n#powerTip.sw:after, #powerTip.sw:before {\n\tbottom: 100%;\n}\n\n#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {\n\tborder-bottom-color: #FFFFFF;\n\tborder-width: 10px;\n\tmargin: 0px -10px;\n}\n\n#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {\n\tborder-bottom-color: #808080;\n\tborder-width: 11px;\n\tmargin: 0px -11px;\n}\n\n#powerTip.s:after, #powerTip.s:before {\n\tleft: 50%;\n}\n\n#powerTip.sw:after, #powerTip.sw:before {\n\tright: 14px;\n}\n\n#powerTip.se:after, #powerTip.se:before {\n\tleft: 14px;\n}\n\n#powerTip.e:after, #powerTip.e:before {\n\tleft: 100%;\n}\n#powerTip.e:after {\n\tborder-left-color: #FFFFFF;\n\tborder-width: 10px;\n\ttop: 50%;\n\tmargin-top: -10px;\n}\n#powerTip.e:before {\n\tborder-left-color: #808080;\n\tborder-width: 11px;\n\ttop: 50%;\n\tmargin-top: -11px;\n}\n\n#powerTip.w:after, #powerTip.w:before {\n\tright: 100%;\n}\n#powerTip.w:after {\n\tborder-right-color: #FFFFFF;\n\tborder-width: 10px;\n\ttop: 50%;\n\tmargin-top: -10px;\n}\n#powerTip.w:before {\n\tborder-right-color: #808080;\n\tborder-width: 11px;\n\ttop: 50%;\n\tmargin-top: -11px;\n}\n\n@media print\n{\n  #top { display: none; }\n  #side-nav { display: none; }\n  #nav-path { display: none; }\n  body { overflow:visible; }\n  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }\n  .summary { display: none; }\n  .memitem { page-break-inside: avoid; }\n  #doc-content\n  {\n    margin-left:0 !important;\n    height:auto !important;\n    width:auto !important;\n    overflow:inherit;\n    display:inline;\n  }\n}\n\n/* @group Markdown */\n\ntable.markdownTable {\n\tborder-collapse:collapse;\n        margin-top: 4px;\n        margin-bottom: 4px;\n}\n\ntable.markdownTable td, table.markdownTable th {\n\tborder: 1px solid #2D4068;\n\tpadding: 3px 7px 2px;\n}\n\ntable.markdownTable tr {\n}\n\nth.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {\n\tbackground-color: #374F7F;\n\tcolor: #FFFFFF;\n\tfont-size: 110%;\n\tpadding-bottom: 4px;\n\tpadding-top: 5px;\n}\n\nth.markdownTableHeadLeft, td.markdownTableBodyLeft {\n\ttext-align: left\n}\n\nth.markdownTableHeadRight, td.markdownTableBodyRight {\n\ttext-align: right\n}\n\nth.markdownTableHeadCenter, td.markdownTableBodyCenter {\n\ttext-align: center\n}\n\n.DocNodeRTL {\n  text-align: right;\n  direction: rtl;\n}\n\n.DocNodeLTR {\n  text-align: left;\n  direction: ltr;\n}\n\ntable.DocNodeRTL {\n   width: auto;\n   margin-right: 0;\n   margin-left: auto;\n}\n\ntable.DocNodeLTR {\n   width: auto;\n   margin-right: auto;\n   margin-left: 0;\n}\n\ntt, code, kbd, samp\n{\n  display: inline-block;\n  direction:ltr; \n}\n/* @end */\n\nu {\n\ttext-decoration: underline;\n}\n\n"
  },
  {
    "path": "src/qscint/doc/html/dynsections.js",
    "content": "/*\n @licstart  The following is the entire license notice for the JavaScript code in this file.\n\n The MIT License (MIT)\n\n Copyright (C) 1997-2020 by Dimitri van Heesch\n\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software\n and associated documentation files (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge, publish, distribute,\n sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all copies or\n substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n @licend  The above is the entire license notice for the JavaScript code in this file\n */\nfunction toggleVisibility(linkObj)\n{\n var base = $(linkObj).attr('id');\n var summary = $('#'+base+'-summary');\n var content = $('#'+base+'-content');\n var trigger = $('#'+base+'-trigger');\n var src=$(trigger).attr('src');\n if (content.is(':visible')===true) {\n   content.hide();\n   summary.show();\n   $(linkObj).addClass('closed').removeClass('opened');\n   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');\n } else {\n   content.show();\n   summary.hide();\n   $(linkObj).removeClass('closed').addClass('opened');\n   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');\n }\n return false;\n}\n\nfunction updateStripes()\n{\n  $('table.directory tr').\n       removeClass('even').filter(':visible:even').addClass('even');\n}\n\nfunction toggleLevel(level)\n{\n  $('table.directory tr').each(function() {\n    var l = this.id.split('_').length-1;\n    var i = $('#img'+this.id.substring(3));\n    var a = $('#arr'+this.id.substring(3));\n    if (l<level+1) {\n      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');\n      a.html('&#9660;');\n      $(this).show();\n    } else if (l==level+1) {\n      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');\n      a.html('&#9658;');\n      $(this).show();\n    } else {\n      $(this).hide();\n    }\n  });\n  updateStripes();\n}\n\nfunction toggleFolder(id)\n{\n  // the clicked row\n  var currentRow = $('#row_'+id);\n\n  // all rows after the clicked row\n  var rows = currentRow.nextAll(\"tr\");\n\n  var re = new RegExp('^row_'+id+'\\\\d+_$', \"i\"); //only one sub\n\n  // only match elements AFTER this one (can't hide elements before)\n  var childRows = rows.filter(function() { return this.id.match(re); });\n\n  // first row is visible we are HIDING\n  if (childRows.filter(':first').is(':visible')===true) {\n    // replace down arrow by right arrow for current row\n    var currentRowSpans = currentRow.find(\"span\");\n    currentRowSpans.filter(\".iconfopen\").removeClass(\"iconfopen\").addClass(\"iconfclosed\");\n    currentRowSpans.filter(\".arrow\").html('&#9658;');\n    rows.filter(\"[id^=row_\"+id+\"]\").hide(); // hide all children\n  } else { // we are SHOWING\n    // replace right arrow by down arrow for current row\n    var currentRowSpans = currentRow.find(\"span\");\n    currentRowSpans.filter(\".iconfclosed\").removeClass(\"iconfclosed\").addClass(\"iconfopen\");\n    currentRowSpans.filter(\".arrow\").html('&#9660;');\n    // replace down arrows by right arrows for child rows\n    var childRowsSpans = childRows.find(\"span\");\n    childRowsSpans.filter(\".iconfopen\").removeClass(\"iconfopen\").addClass(\"iconfclosed\");\n    childRowsSpans.filter(\".arrow\").html('&#9658;');\n    childRows.show(); //show all children\n  }\n  updateStripes();\n}\n\n\nfunction toggleInherit(id)\n{\n  var rows = $('tr.inherit.'+id);\n  var img = $('tr.inherit_header.'+id+' img');\n  var src = $(img).attr('src');\n  if (rows.filter(':first').is(':visible')===true) {\n    rows.css('display','none');\n    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');\n  } else {\n    rows.css('display','table-row'); // using show() causes jump in firefox\n    $(img).attr('src',src.substring(0,src.length-10)+'open.png');\n  }\n}\n/* @license-end */\n"
  },
  {
    "path": "src/qscint/doc/html/functions.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_a\"></a>- a -</h3><ul>\n<li>AcsAll\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\">QsciScintilla</a>\n</li>\n<li>AcsAPIs\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179accaaf618ca9c7889b9899c4da6e9f17f\">QsciScintilla</a>\n</li>\n<li>AcsDocument\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\">QsciScintilla</a>\n</li>\n<li>AcsNone\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\">QsciScintilla</a>\n</li>\n<li>AcusAlways\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3ad3646f7c7cfe985480477c7c303af9e6\">QsciScintilla</a>\n</li>\n<li>AcusExplicit\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\">QsciScintilla</a>\n</li>\n<li>AcusNever\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\">QsciScintilla</a>\n</li>\n<li>add()\n: <a class=\"el\" href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">QsciAPIs</a>\n</li>\n<li>addEdgeColumn()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">QsciScintilla</a>\n</li>\n<li>AddingPatchAdded\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eabb7b5d1995a5678ccba9bbb49aeea808\">QsciLexerDiff</a>\n</li>\n<li>AddingPatchRemoved\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea065844824b738df0d7ada07783ff9123\">QsciLexerDiff</a>\n</li>\n<li>AiClosing\n: <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\">QsciScintilla</a>\n</li>\n<li>AiMaintain\n: <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\">QsciScintilla</a>\n</li>\n<li>AiOpening\n: <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\">QsciScintilla</a>\n</li>\n<li>alternateKey()\n: <a class=\"el\" href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">QsciCommand</a>\n</li>\n<li>annotate()\n: <a class=\"el\" href=\"classQsciScintilla.html#adacd79ec5e25430f0cbff34e6584afe7\">QsciScintilla</a>\n</li>\n<li>annotation()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6a577313664af6dc63885f03e88d03af\">QsciScintilla</a>\n</li>\n<li>AnnotationBoxed\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca3b77a53cb3bc889bb98c4d0b79884709\">QsciScintilla</a>\n</li>\n<li>annotationDisplay()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3045ab135148ca52330ad233703a57f1\">QsciScintilla</a>\n</li>\n<li>AnnotationDisplay\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">QsciScintilla</a>\n</li>\n<li>AnnotationHidden\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0caf708fc8c6c5b70daf1e03d5286a699f6\">QsciScintilla</a>\n</li>\n<li>AnnotationIndented\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca180ea6ab83ef2cfb3e8a31b01f3c31c7\">QsciScintilla</a>\n</li>\n<li>AnnotationStandard\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca9127adc556d20a38d87055264228b121\">QsciScintilla</a>\n</li>\n<li>apiContext()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab8bfeae44abd61659d207a86660b100c\">QsciScintilla</a>\n</li>\n<li>apiPreparationCancelled()\n: <a class=\"el\" href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">QsciAPIs</a>\n</li>\n<li>apiPreparationFinished()\n: <a class=\"el\" href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">QsciAPIs</a>\n</li>\n<li>apiPreparationStarted()\n: <a class=\"el\" href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">QsciAPIs</a>\n</li>\n<li>apis()\n: <a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">QsciLexer</a>\n</li>\n<li>append()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae7310729b1be2aa937a22036f5d95b51\">QsciScintilla</a>\n</li>\n<li>Array\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aebe8e5c6b96783494e61c8cd03975570\">QsciLexerPerl</a>\n</li>\n<li>ArrayParenthesis\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a68508fc322ed18c4eef49d6f3c562dcc\">QsciLexerPostScript</a>\n</li>\n<li>Asm\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa03866519c0b3f2113793dead5db53daa\">QsciLexerPascal</a>\n</li>\n<li>ASPAtStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptCommentDoc\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptCommentLine\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptRegex\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptSymbol\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptWord\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonClassName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonFunctionMethodName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonOperator\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonTripleDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonTripleSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\">QsciLexerHTML</a>\n</li>\n<li>ASPStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\">QsciLexerHTML</a>\n</li>\n<li>ASPXCComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\">QsciLexerHTML</a>\n</li>\n<li>Assignment\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da2dce9dbe1d758936b321ee9d77343be6\">QsciLexerProperties</a>\n</li>\n<li>AtRule\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab66090eb95d05ecb61cb8a4822ab94d8\">QsciLexerCSS</a>\n</li>\n<li>Attribute\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ac1a1825aa643819ef0ed1c3a23ce48ee\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ae259747dcdaff0bffe5da604d93ee4a5\">QsciLexerVHDL</a>\n</li>\n<li>autoCompleteFromAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">QsciScintilla</a>\n</li>\n<li>autoCompleteFromAPIs()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">QsciScintilla</a>\n</li>\n<li>autoCompleteFromDocument()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">QsciScintilla</a>\n</li>\n<li>autoCompletionCaseSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#a136a17a59a3800c40619a768ffff8d7a\">QsciScintilla</a>\n</li>\n<li>autoCompletionFillups()\n: <a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">QsciLexerHTML</a>\n</li>\n<li>autoCompletionFillupsEnabled()\n: <a class=\"el\" href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">QsciScintilla</a>\n</li>\n<li>autoCompletionReplaceWord()\n: <a class=\"el\" href=\"classQsciScintilla.html#a527b309bfaf28b870c15d87a5af7c005\">QsciScintilla</a>\n</li>\n<li>autoCompletionSelected()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a90fa0f912b748b707967ccb722f04ddc\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciAPIs.html#adff0073d1f4ee2e0ea8b3bf234ff2dd3\">QsciAPIs</a>\n</li>\n<li>autoCompletionShowSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aff3b4e47fcbadeb0cf2556cf6ad164e0\">QsciScintilla</a>\n</li>\n<li>autoCompletionSource()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6c06ccce022c08674e24a96093902b49\">QsciScintilla</a>\n</li>\n<li>AutoCompletionSource\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">QsciScintilla</a>\n</li>\n<li>autoCompletionThreshold()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5178b3fd3cb946ffd4b2e52df9bb1483\">QsciScintilla</a>\n</li>\n<li>AutoCompletionUseSingle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">QsciScintilla</a>\n</li>\n<li>autoCompletionUseSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">QsciScintilla</a>\n</li>\n<li>autoCompletionWordSeparators()\n: <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a0741fad0b942deb73642be16c3159eb1\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a9080d0a47d2cbd972d5f2e6c737ba7fa\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#aff715db68554a1022792135e8edd0dba\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#aa28fa3e32d5d4a4efccdad6655fb28c8\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a0e4df63d7d5714b1bdb71c1975f7f99c\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a305ec320aa2357947cbeb1608b95d840\">QsciLexerPython</a>\n</li>\n<li>autoIndent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a828f1b56453686ccd423e979e55fbbae\">QsciScintilla</a>\n</li>\n<li>autoIndentStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">QsciLexer</a>\n</li>\n<li>QsciAbstractAPIs()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs</a>\n</li>\n<li>QsciAPIs()\n: <a class=\"el\" href=\"classQsciAPIs.html#aaf185d65d1034087b77995d8490b6475\">QsciAPIs</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_b.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_b\"></a>- b -</h3><ul>\n<li>Background\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a684a85314d17d730f0dfc238c523160e\">QsciScintilla</a>\n</li>\n<li>BackquoteString\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca682cc956cd52ccfff101565bd51327e1\">QsciLexerD</a>\n</li>\n<li>backslashEscapes()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#abf07dc83c19a3925e3cb977bf883b04c\">QsciLexerSQL</a>\n</li>\n<li>backspaceUnindents()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">QsciScintilla</a>\n</li>\n<li>Backtab\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aeae07e48b489c0cc937bf83bef4f0c9c\">QsciCommand</a>\n</li>\n<li>BacktickHereDocument\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa75c7ba5ad98b870f0e303c94f0b9375\">QsciLexerPerl</a>\n</li>\n<li>BacktickHereDocumentVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7fb5b3d78cf402664941ceee7a17d758\">QsciLexerPerl</a>\n</li>\n<li>Backticks\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a921bbb2e53761aa5835fd674130b65b5\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a53d80aaaa00ca3d47433a05bc93297c8\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda40dc4d5fdccc6fa1de6189a4e07d4345\">QsciLexerRuby</a>\n</li>\n<li>BackticksVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1042900000e9c99d0a52724d5c838c94\">QsciLexerPerl</a>\n</li>\n<li>BadDirective\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50caef61534d689d00e80efbf631fffd\">QsciLexerPOV</a>\n</li>\n<li>BadSegment\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a57c086f3b4f11f1654f587fbaeb76ed1\">QsciLexerEDIFACT</a>\n</li>\n<li>BadStringCharacter\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a1098fc215e68862126c9774419e218d4\">QsciLexerPostScript</a>\n</li>\n<li>Base85String\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ab0f0d6fc5daa0226c5632458e3b2a014\">QsciLexerPostScript</a>\n</li>\n<li>BasicFunctions\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39efcf7df417b4566cace55874fb668e\">QsciLexerLua</a>\n</li>\n<li>beginUndoAction()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">QsciScintilla</a>\n</li>\n<li>BlockComment\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caefb7439724eee3d6b5f2646a4a321415\">QsciLexerAVS</a>\n</li>\n<li>blockEnd()\n: <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a1796c98b07ec6cfc3d5953c225cc1f37\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#ada48a387b3e1414927bebe2415de75f8\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#af9f73f93dd57019e3335011528ad6aed\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a9914377426e5e464f6d93ce2b64423a0\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a42133f1b4127c78674f89e3209236a18\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#aabf79a666eb40a912dfb7136d79f80e6\">QsciLexerRuby</a>\n</li>\n<li>BlockForeach\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a8587759ba24aa4340fe364744a6cc599\">QsciLexerCMake</a>\n</li>\n<li>BlockIf\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5affcaf2eab9cfb5a16cb21b1a3c4c749a\">QsciLexerCMake</a>\n</li>\n<li>blockLookback()\n: <a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#afe42ac5a09816340d4bec920b523aed6\">QsciLexerPython</a>\n</li>\n<li>BlockMacro\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a919aae1204818770a4720bca9bb9312c\">QsciLexerCMake</a>\n</li>\n<li>BlockQuote\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a802a025f696e2e1a7800f212e48da6fb\">QsciLexerMarkdown</a>\n</li>\n<li>BlockRegex\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a32607d1ce220881542a049d83406ce65\">QsciLexerCoffeeScript</a>\n</li>\n<li>BlockRegexComment\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8acf3a1887749e806e04bf6a0097f724bb\">QsciLexerCoffeeScript</a>\n</li>\n<li>blockStart()\n: <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a293f0a5c39990ec1db6de249dc618901\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aae249ec529d5f7de5fa238de9208058d\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a7ea79082a0d55e78cd3a60f1f05af6d9\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a157c462625b4826a5d7fb9eec42cfc78\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a68d8b422b0d733592cc896086ca23652\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#ae33c3f0e337cfe173c61ea86c5cd3591\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#adc66ee4b78453d245ac1b4dff45490f4\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a7ecc2269f4b7a4956b7209082032245d\">QsciLexerRuby</a>\n</li>\n<li>blockStartKeyword()\n: <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a497144db9b43beba78cd405a795e08ac\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#ae4490715b80237feaa25ad92d2fb6313\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#abe045873399199ba05d26e94c0e28aae\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a47eb0ab494fe54b5518b4c8bdcd2968e\">QsciLexerRuby</a>\n</li>\n<li>BlockWhile\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd41a928f0ec4f70bf8263f1fcbe4fcd\">QsciLexerCMake</a>\n</li>\n<li>Bookmark\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae143f481474150e05f35218f54c6b4f7\">QsciScintilla</a>\n</li>\n<li>BottomLeftCorner\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ab252e6e9a75a8987543dd345087a6239\">QsciScintilla</a>\n</li>\n<li>BoxedFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\">QsciScintilla</a>\n</li>\n<li>BoxedMinus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a94bff27aa9fe8d4c47c1d0142b219ea4\">QsciScintilla</a>\n</li>\n<li>BoxedMinusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a8f97b4e8119422e060a9e1a92f84cb\">QsciScintilla</a>\n</li>\n<li>BoxedPlus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a99c849093ce52310ba63277968e20fca\">QsciScintilla</a>\n</li>\n<li>BoxedPlusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a43d4fef1aeaaaf6847e8f96761d5aaa4\">QsciScintilla</a>\n</li>\n<li>BoxedTreeFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0ac22ee26a39d4661a59f0a2d285ad27e2\">QsciScintilla</a>\n</li>\n<li>BoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a121e0a9c852567a581f208b8f7cc1bed\">QsciScintilla</a>\n</li>\n<li>BraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">QsciScintilla</a>\n</li>\n<li>braceMatching()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa869897ad955e8a42c5568be590c529b\">QsciScintilla</a>\n</li>\n<li>braceStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a9023ef1aa48fd622ecac97a419cb3afe\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a96aca8cf94d490d3c7c11e71d823a9ee\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#add9b1d85d9da1c250f570482cd47eb39\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a24c82f4e0483ba0c13b8bf046b8c00b9\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a30570eca6c21ea302b1c6c0bd733dc14\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a4bd5b007424a8e88db37a326c0f154b5\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a3e90db838034f7404e65b2e284403604\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a05f377a9017cf5f5d51deae3f1f83445\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#adfb83ee7ea262a33f775d1e53cf38bec\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#ab30fa749a26490888fe18f2fcea47b02\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#ae7a6d23e6e8748210198b4fee3932144\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#aee09ddca3fd840b79ae954f6883fa581\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ac97e486c8c1f2233c0b35e744ef5a393\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a6d4b2db2d518117945edcbbbc4e3d26d\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a003413f4436ff46553e10db632496288\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aad362dd8a212974c01e61d12c8991b7f\">QsciLexerVHDL</a>\n</li>\n<li>bytes()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_c.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_c\"></a>- c -</h3><ul>\n<li>callTip()\n: <a class=\"el\" href=\"classQsciScintilla.html#a33a692fb0d5781ec40080a361859fd66\">QsciScintilla</a>\n</li>\n<li>callTips()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#af9c6c3f8dc068371398a50c6b23dcbf4\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciAPIs.html#a6a75974235c5e8d263bf962c778b3a3e\">QsciAPIs</a>\n</li>\n<li>CallTipsAboveText\n: <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\">QsciScintilla</a>\n</li>\n<li>CallTipsBelowText\n: <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\">QsciScintilla</a>\n</li>\n<li>CallTipsContext\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a3e031bc89388b8c7369001d670e87fc9\">QsciScintilla</a>\n</li>\n<li>CallTipsNoAutoCompletionContext\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\">QsciScintilla</a>\n</li>\n<li>CallTipsNoContext\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\">QsciScintilla</a>\n</li>\n<li>CallTipsNone\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\">QsciScintilla</a>\n</li>\n<li>callTipsPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#a903187bfe219603ad7e20612d008ea7a\">QsciScintilla</a>\n</li>\n<li>CallTipsPosition\n: <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">QsciScintilla</a>\n</li>\n<li>CallTipsStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla</a>\n</li>\n<li>callTipsStyle()\n: <a class=\"el\" href=\"classQsciScintilla.html#a632fe3f132c3679ada1fc22a57ca88f7\">QsciScintilla</a>\n</li>\n<li>callTipsVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8fdc8049cd5d876b10c2fd9149e72699\">QsciScintilla</a>\n</li>\n<li>Cancel\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3905c749d29761ae2a594c14e1fb26c9\">QsciCommand</a>\n</li>\n<li>cancelFind()\n: <a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">QsciScintilla</a>\n</li>\n<li>cancelList()\n: <a class=\"el\" href=\"classQsciScintilla.html#a29e0cbc36bafac84bc1c755b6ee26abd\">QsciScintilla</a>\n</li>\n<li>cancelPreparation()\n: <a class=\"el\" href=\"classQsciAPIs.html#aa5c7c8855162eeb1be74c226ebf1b1b6\">QsciAPIs</a>\n</li>\n<li>canInsertFromMimeData()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">QsciScintillaBase</a>\n</li>\n<li>caseSensitive()\n: <a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#aab3e54ed46006daeb2dbdcea3f64192d\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#aeeccf4091f42418284a79dcf67419a5c\">QsciScintilla</a>\n</li>\n<li>caseSensitiveTags()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">QsciLexerHTML</a>\n</li>\n<li>CDATA\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\">QsciLexerHTML</a>\n</li>\n<li>CentreGradientIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aca7717bb45779f822c9fcea2d78456dc\">QsciScintilla</a>\n</li>\n<li>changeable()\n: <a class=\"el\" href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">QsciStyle</a>\n</li>\n<li>changeEvent()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac05da1bc5b91c682f192ff594552a306\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciScintillaBase.html#ac8a72227fc8efff78505733d1663f927\">QsciScintillaBase</a>\n</li>\n<li>Character\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadb30a6870a257c1e28e8534833583564\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a95cd8dc67acc900b870665a61009b731\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae68a19ab0843b318915c86f7d353590c\">QsciLexerPascal</a>\n</li>\n<li>CharLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a88dc0fc0d4642486fb54dce5045a5b8b\">QsciCommand</a>\n</li>\n<li>CharLeftExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af23e0b934931581f6b383a4b3de10b48\">QsciCommand</a>\n</li>\n<li>CharLeftRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa62e9ab460a49ff8b9c3c55219f98abb\">QsciCommand</a>\n</li>\n<li>CharRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3ce1411c8761d1562fa8e8b5d7609df7\">QsciCommand</a>\n</li>\n<li>CharRightExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae6afb296e30c48ae1c4992817d673bf\">QsciCommand</a>\n</li>\n<li>CharRightRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aedd92e9ae8401fb13ab6d01667949938\">QsciCommand</a>\n</li>\n<li>Circle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac0ea486bd51a662ec3be569f420f5d1b\">QsciScintilla</a>\n</li>\n<li>CircledFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\">QsciScintilla</a>\n</li>\n<li>CircledMinus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496af61cc9c30ac12712c1774ea2a9539846\">QsciScintilla</a>\n</li>\n<li>CircledMinusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6e71f3cbb658aa12b566fe2293356e50\">QsciScintilla</a>\n</li>\n<li>CircledPlus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496adfcda6a0567fb132f08dbfbc0bc40161\">QsciScintilla</a>\n</li>\n<li>CircledPlusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac7ac14f88e9a76b42d5ac2270f961ef1\">QsciScintilla</a>\n</li>\n<li>CircledTreeFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\">QsciScintilla</a>\n</li>\n<li>ClassName\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a13a264a4745f895d9b8218a5eb834cab\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda73fc696ddb8d12d4a0568b85a690a180\">QsciLexerRuby</a>\n</li>\n<li>ClassSelector\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aafd65314dc8f5e87697c987a8a3d1037\">QsciLexerCSS</a>\n</li>\n<li>ClassVariable\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda8d3b74c47f0454a05b12f65ca98f13c1\">QsciLexerRuby</a>\n</li>\n<li>clear()\n: <a class=\"el\" href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">QsciAPIs</a>\n, <a class=\"el\" href=\"classQsciMacro.html#a4387e4fa992c8671dd508c0c2651e34f\">QsciMacro</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a149b39fedd3779fe797cf7c9ae793c8a\">QsciScintilla</a>\n</li>\n<li>clearAlternateKeys()\n: <a class=\"el\" href=\"classQsciCommandSet.html#af244d8499c10c569b9924c25af17655a\">QsciCommandSet</a>\n</li>\n<li>clearAnnotations()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3ad17d87cb436e0f6da52a68cd14750e\">QsciScintilla</a>\n</li>\n<li>clearEdgeColumns()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">QsciScintilla</a>\n</li>\n<li>clearFolds()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4d4634e48eedb5b12bafe8c6fa6c41f7\">QsciScintilla</a>\n</li>\n<li>clearIndicatorRange()\n: <a class=\"el\" href=\"classQsciScintilla.html#a13721a9f909b67bca298f51ea34a01db\">QsciScintilla</a>\n</li>\n<li>clearKeys()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a7a15e4a269b804a830c881edda1563f7\">QsciCommandSet</a>\n</li>\n<li>clearMarginText()\n: <a class=\"el\" href=\"classQsciScintilla.html#aeadb693affb5816e24d28432d8dc240f\">QsciScintilla</a>\n</li>\n<li>clearRegisteredImages()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">QsciScintilla</a>\n</li>\n<li>ClipProperty\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf3462b881fa15ece44ea25e74ba153c2\">QsciLexerAVS</a>\n</li>\n<li>CodeBackticks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a24f1888af4753fb171b38ea00a6b4fd6\">QsciLexerMarkdown</a>\n</li>\n<li>CodeBlock\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aec90058e8208d49ab7d8e226d69cd670\">QsciLexerMarkdown</a>\n</li>\n<li>CodeDoubleBackticks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4d8694cfbb7b37351d09d070bab264bc\">QsciLexerMarkdown</a>\n</li>\n<li>color()\n: <a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a8a92ecc1db1576267f50a03d8ae93303\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">QsciStyle</a>\n</li>\n<li>colorChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">QsciLexer</a>\n</li>\n<li>Command\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">QsciCommand</a>\n</li>\n<li>command()\n: <a class=\"el\" href=\"classQsciCommand.html#aebfa962809b16312fa03f7526cc60f07\">QsciCommand</a>\n</li>\n<li>Command\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafac6f4ef8f0ab21714d58649c205dfda\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba6cc93c66756e609ac3e73d38ad43cf78\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da59714bcaf49876225377b819f996a9f4\">QsciLexerTeX</a>\n</li>\n<li>commands()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a7f46a38f9fd309442aacfb7ad2b87143\">QsciCommandSet</a>\n</li>\n<li>Comment\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a94487dec0dc65f87c1f84f4b5d716d95\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a67d6bd7807a11a73fcb0f90b51950206\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ab77d5e490bf963b6d8f6e3197cd7285e\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a908ae06d736d3add37f734a255ceeaa3\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a3496565bdaf261864ed37cd0909687be\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca37135c4d1129a47fe7d1fa4353c3ef89\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafd5a8fe2739897289a175a9879e01c36\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25abf2c37dbd9d2f0f761e4c75b9a916c7f\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a2c97009298841646061ca4ebc42d4867\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab48837000308dc11499d7e96f302db6a\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af2c29ccb75997807734f024b49998b6a\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa58059f59ed8abfc84fff35f626f36dff\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a4b36bbf9fdf62e5e6433b96210b1290d\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ae5ca8ff1353ee7c45d6ce5d6e3fd1f00\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daec8fd1ed5dfafb06753fcd402406e164\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a3ae64eb6b01ecf28c28cfa568456018e\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4d3bcdc4618dd38c999f30ec64a2be94\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf9211dff849fb86ce73c0db0168e522\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a017c8dd95b8abe00000ef18a3af7cc1f\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1e00ce63c680961063bba87de9f4bc23\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa728da173f7b8baae14eae147d5f9825c\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac22bd7eac094ca7e6f5ba2b0f65124ad\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a6100efc49404d4e3851af5853a730b71\">QsciLexerYAML</a>\n</li>\n<li>CommentBang\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa35bfbe7dfa56b39c896d3058ea913045\">QsciLexerVerilog</a>\n</li>\n<li>CommentBlock\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2050935e0699ccd6660987e5b6f42c32\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa22446d400d75d1559463746df39fdd70\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af439b3e4c0ee6762c95d318c457e9396\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a37d5cc3f8f43e1a9457f016fb8477fc2\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a4e88c5013c5e1a80ecd777322b07d4ab\">QsciLexerVHDL</a>\n</li>\n<li>CommentBox\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ad645e0c9a459e6319aca09d344ba9fe7\">QsciLexerTCL</a>\n</li>\n<li>CommentDoc\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a5edc735d0127917185abed1f637a49f7\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cae4ef72a2092606e60ebd48a41c728863\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a129874afa8759225a097854ebd2af353\">QsciLexerSQL</a>\n</li>\n<li>CommentDocKeyword\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a7e8b105503aff566abe10b78bfff1575\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caf5c6b133d2a0391d65dd11ca8cd0dc46\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6108257694cfbb092d132383f517ea99\">QsciLexerSQL</a>\n</li>\n<li>CommentDocKeywordError\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a48d773f3fce4500a8700b6d76f2ecf24\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8416e006ed8c6157e87fddc9497b56ab\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a1a7d323994693912a361e2f2f6c5e88e\">QsciLexerSQL</a>\n</li>\n<li>CommentKeyword\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa73908fe2dc83b644b9b15aec0a6d65f\">QsciLexerVerilog</a>\n</li>\n<li>CommentLine\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a379b349ef6edd66b752af87472fe41b4\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca25654940726025136d8e7eb8edf5b11a\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf17e14af27331f8d34c22ec61f5d6deb\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab4771b618f3f481962bc73d7d1e63cc5\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865aa21767d42e17e6f895efa2b180f264bb\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a150cbe6dc7ab6815e15c0b45d5209032\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a333018506e26a9e4f3c4f42aa1193c1a\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa40b38f212ceb6dd21a31b474ac524b28\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9e1bb162045d720665c7d463e3824476\">QsciLexerVHDL</a>\n</li>\n<li>CommentLineDoc\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a406ac7ec4b5186a2d33b7a9074f6fa02\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadf5911a2c4224ab8d38ea4ebe7747cb4\">QsciLexerD</a>\n</li>\n<li>CommentLineHash\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82aaa8e45cf7c33cc5498e4f78cbd946585\">QsciLexerSQL</a>\n</li>\n<li>CommentNested\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca5bc763858b98e6d4c43307986b548db3\">QsciLexerD</a>\n</li>\n<li>CommentParenthesis\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfabd390815063a649b2cab3f5da6d4b113\">QsciLexerPascal</a>\n</li>\n<li>CompositeSeparator\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a81ed0b351c28537389bd2e8b2d244bbb\">QsciLexerEDIFACT</a>\n</li>\n<li>contextMenuEvent()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad8fcb6e32235be34335e443230fb9000\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciScintillaBase.html#adb8531cdc862f79cce9fa4d970bc13a2\">QsciScintillaBase</a>\n</li>\n<li>Continuation\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\">QsciLexerFortran77</a>\n</li>\n<li>contractedFolds()\n: <a class=\"el\" href=\"classQsciScintilla.html#a63c0f682eecba626fff511c6b1612ab6\">QsciScintilla</a>\n</li>\n<li>convertEols()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8f3899166ef067d2780867d154539267\">QsciScintilla</a>\n</li>\n<li>copy()\n: <a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">QsciScintilla</a>\n</li>\n<li>copyAvailable()\n: <a class=\"el\" href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">QsciScintilla</a>\n</li>\n<li>CoroutinesIOSystemFacilities\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a1da860131fdcc821dbd51a25f65175ac\">QsciLexerLua</a>\n</li>\n<li>createStandardContextMenu()\n: <a class=\"el\" href=\"classQsciScintilla.html#a47d5e09e3507840ae898dfdc15acd858\">QsciScintilla</a>\n</li>\n<li>CSS1Property\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a729b64d3f84347da91167d421302a76d\">QsciLexerCSS</a>\n</li>\n<li>CSS2Property\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aae08a7b509d7f18df60133b2e204291b\">QsciLexerCSS</a>\n</li>\n<li>CSS3Property\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ade6d6fd36b5e81bcca8ce404d915a16b\">QsciLexerCSS</a>\n</li>\n<li>cursorPositionChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#aca81f16f09dbbaf463d5926f04d4b53c\">QsciScintilla</a>\n</li>\n<li>cut()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_d.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_d\"></a>- d -</h3><ul>\n<li>DashesIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0d28a4278d8321718b457d664780d92b\">QsciScintilla</a>\n</li>\n<li>DataSection\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8c119f4794e3dab23aa2a4f739a1e81f\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda36e45c5ce435eacd1f9f140adf265a78\">QsciLexerRuby</a>\n</li>\n<li>DeclareInputOutputPort\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf1faad6166ac7eb8ec701ee8e075d73f\">QsciLexerVerilog</a>\n</li>\n<li>DeclareInputPort\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa87953315b5bfbecd097e6cd2a5545deb\">QsciLexerVerilog</a>\n</li>\n<li>DeclareOutputPort\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa82c4530efbc0152d96e4f9f2c8b5922\">QsciLexerVerilog</a>\n</li>\n<li>Decorator\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a40d923760d674229ffb146233d1cefae\">QsciLexerPython</a>\n</li>\n<li>Default\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca3ca3697597b3c6cdcff73b107d59cb6c\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a45a68364d9664f00a90971b935e94e2b\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a6486aa5cd4381bccf758618bf0aeeaa3\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac58878e947938b80b35766b89c688000\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2fb70f93de6a55714777a4fa55916d03\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a53e968c600f53a2bae2710db0ef8db1d\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caa4df8837f097ea5f0727c0399c96ed59\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea560492ffddbda30de0d92016d0bdab3a\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88adc45e679c4d4b0032f1878d7e4ce350d\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa8c5bbdbe1db1b60a1aab67a6cc809ed1\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a60c35a89c49dabb959c8433fc053295b\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874abd0988a8be6257610b747928a65cf6d9\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6682db85866de38b1b3b0a02749a05d4\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa71c490d79223177530ef9415edf52747\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af5df69c0ed6d8c42bc39e717889aea78\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aad31b6cbc7b7bd69b346df826e27efda2\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a7568c47b226595ed4d2853b1f4f07796\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a07b640606eb18fe3f8dfc49bbc91a415\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9e761a14600d042a269a5dac6a146e67\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac55b65493dace8925090544c401e8556\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaaa0287c846694faece595f55d26fca1c\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bae728e2775658d836eea997170e04501e\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a38347f6c3056908532db562ca232971c\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a8aeb499b1256741e651ddd90fb3b0bb5\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dae621e3527eaa3f0962713d676d0d5951\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa063bcfc2ad0162efe4015fec0f50dea8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a58b45bf1904760b66784b6193100237b\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649add8b9dd154f60311de10581a64bcff7e\">QsciLexerYAML</a>\n</li>\n<li>defaultColor()\n: <a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#abfb306fd9267f3af76bd144409776ba6\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a57a2659a5ea9eba6898e3ced0565953f\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#ac378e6bd25b850c9523d0b9c291cfc62\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a54cd2f0d4c87b28f41dc325d0fe485cc\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab2e7d189deabf8e5e20434e32346742c\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a98140e8245532496f7ed97bcaa8671f3\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a3c22a819683d430aa99d23a80fedee73\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a1554c4fce67cdb1d34e5e7e4268708c5\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#adeff8cbfdc624ad709cd1fd8a4a93c80\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#a36cce16a8abf9455e397bbec012c9838\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a6d22aebdf6475acb8d9aa18c244bd9cc\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a1412f4f04885bf9b315fbb371c54dc7c\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#ab7c3560b5333c595506d4244134e9b1b\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#ad09e8331b90feeab761f845ac80e0b6d\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a3ec3d302e4ad33ca360d3edbe14ac561\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#aed4ceee51f10a94071a14371295b4c95\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a68474df4d256e32296c5f09c243a55db\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#ae9fc5faac317ee19add21f8105ff21c5\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a2d66e4001f22b971d1d0d92953b614ba\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a7320152a6d9098d07bba3da6c99a232e\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a55b4fb34deedc4131e4f85fc4f7e01bc\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a5e8a0548fb4c972f0eb0070721dd7762\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a830b832b87182332b9dbaa0a69c6a145\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a90015597a5748d85b36cc5b263fc05cf\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a06495bd35607512278859d9251e68ce1\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a410bcada9eb227aa5689304b861c9997\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a6dbcaf590be7759f18699593c95c69e6\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a64b5ac3d0a8a5a7113905fa421edb1ad\">QsciLexerYAML</a>\n</li>\n<li>defaultEolFill()\n: <a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#ac0b0eb74510dd3af8eed933d3e37e2ab\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a57d4b4e77554476eea666d793f104540\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aad8c778b4c9ef2014e5a508f0ee52021\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a024d39004611b62884f258c417b5acd3\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#ab55d105b2aa041682b67218fcdf964c6\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a613622c676e3c70f2c9f002f34326427\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a814917aafe1fef03ec20571e91bb4571\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a3ba9e8000c3896e453b79dcfce08b146\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a4d20a72f3087068af5840042d9beeca7\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a6537d97973481d6e7c911f8031385deb\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a45679bbf510fa7e0b264eb9654183f16\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a242188212df611073f78d1eff326f5d5\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a34fa0bd92884cfa29a27c279369797d5\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#ad8cabbe5db0e4ba630cfad60ddfc79b1\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a855939c35d62798c00b0361a0edc41da\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#aa6e85b803ff580acecda16deaa70c758\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a8c0952bb621cdf048b00191674824a87\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a634989e93d2975d1838016ed24f3e45f\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a59ad64688b9fb852792b3fa15c2b125d\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a8ab227fcb9ba5da466b2d8eded96af70\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a995fe59f125a7cb27cf178b9e83015bc\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a01ff9a027edd3a2aa6d443e520b10b73\">QsciLexerYAML</a>\n</li>\n<li>defaultFont()\n: <a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a56f3d257ed1e6e1851252ccfceef0ef9\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a080ef6e2fd0569a6f3d538ed0f82da85\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#abf1b01e4ea47d78610f33a337245980b\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a058af5212c83c1eef0a5f39252651743\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ac84577ad9cdb480293fe6001e71085a8\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#abf77dec5e71fbcd67c5cf8772b59004a\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a2a1cd44b041d1d4f4c11c22f91de99c3\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a0315e5b984e4ecd8ae2b0131cb78bf95\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a4ceef374a27fd3bb012a7b55f19303e2\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a5245587f4db1c40ad90898a7712094ed\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a902f46f94e9d5e5177bec26e2a7bf8ef\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a2db5e63ff4667a3f8e9df24a0accdf3d\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a4c9199cfee7bb097359fb238859470a9\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#ab4a9d2b6e3aeee22d7636072f5163499\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a9c18ede5b5271ee1885b38083271aa9e\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a1deaafed565aeae806e4ea6083baa186\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#accea86f8532bd5d83dac9c4b771bafa9\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a774cfde4ca55ef85c506258b3c789c9d\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#af6839d80f9b92eaead072803664a497f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a98400585500ee1c17618992a8e300683\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a7ea1d7ae4594027f8b565380f3fffbb4\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a7360e3bd243de3e4cbb76637f6d2313d\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a4272087bb0000cf8fd5dfa17a9b71383\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a80f3f0cbd594ce9268081a76174ee0e8\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#aaeb3a87a051af9cc20b5319ed8cd6ca1\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a7ea95f77a5a0ae539b306473c3b808db\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a24d4902dc121381ae5a18a4b8e802479\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#af48deb2ec781d4c8c08f17530b9516d3\">QsciLexerYAML</a>\n</li>\n<li>defaultPaper()\n: <a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#aa8d47420bede5e7fde576ee8dc2728c5\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#aff0007dfcbcced2ee7c89ebb12376f22\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#abd4b8e9e29aa577fdd546ef0de20c7ff\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a402a849f5eed391f0c4cd3aac9beb075\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#adcc24b17317e0e283230ae8d5ccf1de3\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a689e8352655111f8d1c9421552f454c4\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#aec007c8c5c374ca94b71d3eb0f47f467\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#ab7ecf66ac5e7285b72620df79bc9e711\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#acecf54d7daf87ff9fc5464fac8f1d502\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a1a5b06231766e0f9a7364606a991c879\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#afa54795b596b6bc9f3664865b9d76484\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a60519c0adb042373a1a79a73b68d7892\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a5d074b15d624c82c5931ceba7a91a455\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a9d2bd8ea72760796590963c702082e5b\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a5e9de211c7e94a22da5c0d599a9e494b\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#af45a578123a772bdb293d326c29218dc\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a5668132073d8c3d97ea56dc7131c2def\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#ad6f1adced83d4017ef5ea75ea338c117\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#adbaf4979024f12f9382df61cba0e75e8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a2a1215dab25c15adf3c1bd6a5b063f91\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a7dcc25d7ced16c1bc409c14276e6843c\">QsciLexerYAML</a>\n</li>\n<li>defaultPreparedName()\n: <a class=\"el\" href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">QsciAPIs</a>\n</li>\n<li>defaultStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">QsciLexer</a>\n</li>\n<li>DefaultValue\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da3ad64721ceda301cf547533fd6736fe7\">QsciLexerProperties</a>\n</li>\n<li>Delete\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad763b356ba37cf93b78201baea5aa00d\">QsciCommand</a>\n</li>\n<li>DeleteBack\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82626bce8a0acdd6c4c196865629e81b\">QsciCommand</a>\n</li>\n<li>DeleteBackNotLine\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adadf0fa77a7ce5496fce517bc9e0a723\">QsciCommand</a>\n</li>\n<li>DeleteLineLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b9644d959806dd50a8dce00bf521e13\">QsciCommand</a>\n</li>\n<li>DeleteLineRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a21407e4871585bcfb0d76dbf7be87650\">QsciCommand</a>\n</li>\n<li>DeleteWordLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a66566eb3ac1ad83cc6ef2913d449d193\">QsciCommand</a>\n</li>\n<li>DeleteWordRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0a5ea33d56c6c45fe80f5b1f66975ffa\">QsciCommand</a>\n</li>\n<li>DeleteWordRightEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae1a8da5398be3fb7c5e32f868bf4af14\">QsciCommand</a>\n</li>\n<li>Delimiter\n: <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab8c08b600da91cbcdac1270aa40f318a\">QsciLexerSpice</a>\n</li>\n<li>DemotedKeyword\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda5a7463b193f6ad19397c1feead6b83b6\">QsciLexerRuby</a>\n</li>\n<li>description()\n: <a class=\"el\" href=\"classQsciCommand.html#a76ed201e9e7309084795ddbc8f6e5b49\">QsciCommand</a>\n, <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a23d3bdd816b3da42e65cb4b08f2b01ff\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a5017022e35efd5f1c9825d63e4336e73\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a142446dc4954e057b2d7de11fe3e25e0\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#aa9285b175e0d9964e427f047f484d0e5\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ace6bf74522c57e70f2c3ac525e1fd830\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aca9a53a01d50ef44d9f5ac0fd662bf84\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a68f0cf388c3fa6a70ece2184020ffe55\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a1818bcdd3a7ec5b11ceacf720b07ddcd\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a94f9b521b521a540f848d55f2f4e8d45\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#af8d88cce706a1d7a95e1a519e0dc56c3\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#ad77fd8b1e9ed6bac617f194306de2ea8\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a8be47404070281d5c305be5331616b15\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a2f1340e861947f7c8c4299b1c9ded5a5\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#ab47735b5b8b7961044bb9adf111c06bc\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a386c817d87735b2dd347735cb264d548\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a911dee848cf18712f663b2cfdc5084f1\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a88492153c713084f4b5495ebe3bf1b40\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a71cf91642f6879964a061133013a1f51\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#aa3454a4c643cd0d479da8412341f1206\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#aff36eb2ba5df9c4998eb9c8311f14de5\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a8bf8606224bc8841da7ebf53099f8bca\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a59f517180e03fd1790c4a6de73196a70\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a3218dcdca816cbdc739b2555df366a9a\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ac6d9fdf26d30d14707e0b0778f80d54d\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a367d2a52388bd2602642f4b5dc01bba2\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">QsciLexerYAML</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">QsciStyle</a>\n</li>\n<li>DiagonalIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a3f15a9d49659f4c9baa660da5243074f\">QsciScintilla</a>\n</li>\n<li>DictionaryParenthesis\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a836bd1fce6a26fa56815960d3442f1f8\">QsciLexerPostScript</a>\n</li>\n<li>Directive\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a8a608b891ac344348afeedfe8a4ac54b\">QsciLexerPOV</a>\n</li>\n<li>djangoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">QsciLexerHTML</a>\n</li>\n<li>document()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">QsciScintilla</a>\n</li>\n<li>DocumentDelimiter\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a4015455a864bd4243b252a1cdd72e348\">QsciLexerYAML</a>\n</li>\n<li>DocumentEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e059c91d4d3d5037d0dce9c8fa735a0\">QsciCommand</a>\n</li>\n<li>DocumentEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6b77e65e9d026dd2a3af831ddfcc664\">QsciCommand</a>\n</li>\n<li>DocumentStart\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae0d2fa78fc42366a578b50cae1c44a8f\">QsciCommand</a>\n</li>\n<li>DocumentStartExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a368bc9e6e89a0f9504a49fc97477618b\">QsciCommand</a>\n</li>\n<li>dollarsAllowed()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a5b95ed33711b09385c92fbfb9f1d2a5d\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">QsciLexerCPP</a>\n</li>\n<li>DotBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a14ea8b26486c9b42eb7748d32687e51a\">QsciScintilla</a>\n</li>\n<li>DotsIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974adf3330b6033f9d647807a031f61cfd04\">QsciScintilla</a>\n</li>\n<li>DottedOperator\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\">QsciLexerFortran77</a>\n</li>\n<li>dottedWords()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a4f0a73894fc542ffc420113046c82f41\">QsciLexerSQL</a>\n</li>\n<li>DoubleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac25e8cbcb38d2022ec108d2e22d97910\">QsciLexerPython</a>\n</li>\n<li>DoubleQuotedHereDocument\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a0a82588ab552f48b9caeb05db6d9428f\">QsciLexerPerl</a>\n</li>\n<li>DoubleQuotedHereDocumentVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae9c623b599443071c8bb547279c7dd64\">QsciLexerPerl</a>\n</li>\n<li>DoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a75d3348c625036e816f4e4e53dc601e0\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a9eb257127f3fd60ea6ee7ef126419f7d\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a34b937f20071fd25a7b7aa57620cb5d5\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa14ec9d32c1fa5bbf171a3fb45473bcf\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a53439291c4ec1556fa2143b582b21457\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda29b34bc0b6d300d9eec4e7d4b8352ca6\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6be60f1a8d6511e543462e9d65ee806e\">QsciLexerSQL</a>\n</li>\n<li>DoubleQuotedStringVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a87d5e90f82615a99e0af4ccc4875dc65\">QsciLexerPerl</a>\n</li>\n<li>DownTriangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a73b37930e36e66281465f89530a889a4\">QsciScintilla</a>\n</li>\n<li>dragEnterEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">QsciScintillaBase</a>\n</li>\n<li>dragLeaveEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">QsciScintillaBase</a>\n</li>\n<li>dragMoveEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">QsciScintillaBase</a>\n</li>\n<li>dropEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">QsciScintillaBase</a>\n</li>\n<li>DSCComment\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a284328e010e8e4cbad238d5f4c423e30\">QsciLexerPostScript</a>\n</li>\n<li>DSCCommentValue\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a46e081b0e15a00de147c0f62fbaa630e\">QsciLexerPostScript</a>\n</li>\n<li>QsciDocument()\n: <a class=\"el\" href=\"classQsciDocument.html#a3da32a3198c407aa692764ccd98ad66f\">QsciDocument</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_e.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_e\"></a>- e -</h3><ul>\n<li>EdgeBackground\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea46d9f957fe5b30a681ebaecc3ba159d5\">QsciScintilla</a>\n</li>\n<li>edgeColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#aee2887fadd0ddac9cee9dcdaee8d8696\">QsciScintilla</a>\n</li>\n<li>edgeColumn()\n: <a class=\"el\" href=\"classQsciScintilla.html#a044b772f07f8d5218170a11db05cc3d5\">QsciScintilla</a>\n</li>\n<li>EdgeLine\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea44fdad06b183b02f5d54a3fecd5ac98d\">QsciScintilla</a>\n</li>\n<li>EdgeMode\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">QsciScintilla</a>\n</li>\n<li>edgeMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6fca34c3778ad8b4c067d577816ebc2b\">QsciScintilla</a>\n</li>\n<li>EdgeMultipleLines\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea2a310e227fd42221c2ad9b81fbdb7654\">QsciScintilla</a>\n</li>\n<li>EdgeNone\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ead6c5f91845329bb32ff37e3f1325078c\">QsciScintilla</a>\n</li>\n<li>editor()\n: <a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">QsciLexer</a>\n</li>\n<li>EditToggleOvertype\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab6c8c98a6027e8a88783f18dbca2bdf4\">QsciCommand</a>\n</li>\n<li>ElementSeparator\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88ad3349f5ca362b8086feaee6465adaf76\">QsciLexerEDIFACT</a>\n</li>\n<li>EmphasisAsterisks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b86f1f637bdd5a9f894bcf8d94039c4\">QsciLexerMarkdown</a>\n</li>\n<li>EmphasisUnderscores\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6d496317b63aabf2f94b7abd0681ffc7\">QsciLexerMarkdown</a>\n</li>\n<li>endRecording()\n: <a class=\"el\" href=\"classQsciMacro.html#a783f17e12ca844655568b5718aa26a35\">QsciMacro</a>\n</li>\n<li>endUndoAction()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">QsciScintilla</a>\n</li>\n<li>ensureCursorVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa85349be1012a11e4198949c5537a6b2\">QsciScintilla</a>\n</li>\n<li>ensureLineVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#abe7fcae4d84483ecd934c60bfdaee4a8\">QsciScintilla</a>\n</li>\n<li>Entity\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\">QsciLexerHTML</a>\n</li>\n<li>eolFill()\n: <a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">QsciStyle</a>\n</li>\n<li>eolFillChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">QsciLexer</a>\n</li>\n<li>EolMac\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a884e225089dc5181bf661a13a5d12c99\">QsciScintilla</a>\n</li>\n<li>eolMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">QsciScintilla</a>\n</li>\n<li>EolMode\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">QsciScintilla</a>\n</li>\n<li>EolUnix\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a66683da125a4e780a672edae2781df89\">QsciScintilla</a>\n</li>\n<li>eolVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5e4372bd9b4249d7e574402935444b84\">QsciScintilla</a>\n</li>\n<li>EolWindows\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a355072d24e408bb7fbb2be3ed5389d30\">QsciScintilla</a>\n</li>\n<li>Error\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200aa077709e423acaff53b593bd170fa8e0\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faa8312a1f93350c33c4d7dd3748a8910f\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874afecda9ed8daf8374c99aeaedfd83ffe9\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a99a1c9873cd83852da55023a2420f5a8\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda96bb579511d0e7c816783f3740de5aec\">QsciLexerRuby</a>\n</li>\n<li>EscapeSequence\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0bb7d6615b8af0c1aef5d28e63f2e55c\">QsciLexerJSON</a>\n</li>\n<li>event()\n: <a class=\"el\" href=\"classQsciScintilla.html#a84ab3eb3c8e81cc58bbf2d3f472e757c\">QsciScintilla</a>\n</li>\n<li>execute()\n: <a class=\"el\" href=\"classQsciCommand.html#aa0bf23ebd61dd46a4eb59447e43c4cab\">QsciCommand</a>\n</li>\n<li>ExpandKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1f6ee7e1310318ce54cbcf9a1a50f144\">QsciLexerTCL</a>\n</li>\n<li>ExtendedCSSProperty\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aea3a8406f16545255905240042c4954b\">QsciLexerCSS</a>\n</li>\n<li>ExtendedFunction\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\">QsciLexerFortran77</a>\n</li>\n<li>ExtendedPseudoClass\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aeee973f3f30ab97b97903de6de2dfca5\">QsciLexerCSS</a>\n</li>\n<li>ExtendedPseudoElement\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a220432c41649811f99607624ddb568e6\">QsciLexerCSS</a>\n</li>\n<li>ExternalCommand\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ab6c8b3d3175be5f62e770f2dc637bb61\">QsciLexerBatch</a>\n</li>\n<li>extraAscent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">QsciScintilla</a>\n</li>\n<li>extraDescent()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_enum.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerations</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;<ul>\n<li>AnnotationDisplay\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0c\">QsciScintilla</a>\n</li>\n<li>AutoCompletionSource\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179\">QsciScintilla</a>\n</li>\n<li>AutoCompletionUseSingle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3\">QsciScintilla</a>\n</li>\n<li>BraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523\">QsciScintilla</a>\n</li>\n<li>CallTipsPosition\n: <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881d\">QsciScintilla</a>\n</li>\n<li>CallTipsStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668\">QsciScintilla</a>\n</li>\n<li>Command\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7\">QsciCommand</a>\n</li>\n<li>EdgeMode\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00e\">QsciScintilla</a>\n</li>\n<li>EolMode\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5\">QsciScintilla</a>\n</li>\n<li>FoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">QsciScintilla</a>\n</li>\n<li>IndentationWarning\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython</a>\n</li>\n<li>IndicatorStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">QsciScintilla</a>\n</li>\n<li>MarginType\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">QsciScintilla</a>\n</li>\n<li>MarkerSymbol\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">QsciScintilla</a>\n</li>\n<li>TabDrawMode\n: <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">QsciScintilla</a>\n</li>\n<li>TextCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">QsciStyle</a>\n</li>\n<li>WhitespaceVisibility\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">QsciScintilla</a>\n</li>\n<li>WrapIndentMode\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">QsciScintilla</a>\n</li>\n<li>WrapMode\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla</a>\n</li>\n<li>WrapVisualFlag\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_a\"></a>- a -</h3><ul>\n<li>AcsAll\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a98ee0a7e261ec6cac6d89ba869117546\">QsciScintilla</a>\n</li>\n<li>AcsAPIs\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179accaaf618ca9c7889b9899c4da6e9f17f\">QsciScintilla</a>\n</li>\n<li>AcsDocument\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179a8ce5fd7a52d924d7e519eb7beccab5a1\">QsciScintilla</a>\n</li>\n<li>AcsNone\n: <a class=\"el\" href=\"classQsciScintilla.html#ac466f32c3d7e51790b6b25c864783179ac66171d5698c13fb78053b1cccc4024a\">QsciScintilla</a>\n</li>\n<li>AcusAlways\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3ad3646f7c7cfe985480477c7c303af9e6\">QsciScintilla</a>\n</li>\n<li>AcusExplicit\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3a58a27ab02bc6a09334b2e91a16443ed4\">QsciScintilla</a>\n</li>\n<li>AcusNever\n: <a class=\"el\" href=\"classQsciScintilla.html#ae628d46489efa3db3b0c42336a1bf8d3afd235254a43ffd260648079f71a31f7e\">QsciScintilla</a>\n</li>\n<li>AddingPatchAdded\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eabb7b5d1995a5678ccba9bbb49aeea808\">QsciLexerDiff</a>\n</li>\n<li>AddingPatchRemoved\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea065844824b738df0d7ada07783ff9123\">QsciLexerDiff</a>\n</li>\n<li>AiClosing\n: <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978acae08c8d6e6cc73fcd5492d46e2432eb\">QsciScintilla</a>\n</li>\n<li>AiMaintain\n: <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a63083d9a621b8dc11de24e63f2ccdef6\">QsciScintilla</a>\n</li>\n<li>AiOpening\n: <a class=\"el\" href=\"classQsciScintilla.html#a486adb3348b30c80f53cc1f00c4ed978a4644ed0f2bb211f82d6ceec31cf0b1ad\">QsciScintilla</a>\n</li>\n<li>AnnotationBoxed\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca3b77a53cb3bc889bb98c4d0b79884709\">QsciScintilla</a>\n</li>\n<li>AnnotationHidden\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0caf708fc8c6c5b70daf1e03d5286a699f6\">QsciScintilla</a>\n</li>\n<li>AnnotationIndented\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca180ea6ab83ef2cfb3e8a31b01f3c31c7\">QsciScintilla</a>\n</li>\n<li>AnnotationStandard\n: <a class=\"el\" href=\"classQsciScintilla.html#a3793111b6e2a86351c798c68deda7d0ca9127adc556d20a38d87055264228b121\">QsciScintilla</a>\n</li>\n<li>Array\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aebe8e5c6b96783494e61c8cd03975570\">QsciLexerPerl</a>\n</li>\n<li>ArrayParenthesis\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a68508fc322ed18c4eef49d6f3c562dcc\">QsciLexerPostScript</a>\n</li>\n<li>Asm\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa03866519c0b3f2113793dead5db53daa\">QsciLexerPascal</a>\n</li>\n<li>ASPAtStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae5c90edfb9068eaea785bf14f2371120\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa14057c2c5ef886e2f72cddeb2914afb\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptCommentDoc\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a803c5ffa1134c3623ade6d4bb683c8e8\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptCommentLine\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a86cd63314aba32adc7926e6e47a4395d\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f89a8d7bd5e2d2855eb957f9ba9c87b\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adb4788e2364a6860cf7248c72a457736\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a342baec8e1e79525b30e887321e60b99\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a472fbd596cdf4ace8183bb4f050c8b2c\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptRegex\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0391cd592ce195d67507404f2a6f7cc1\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a54a7f4bfb454ab5c0c94e11a0767d3af\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af5583e1cd3c0f89d89a9500274412702\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptSymbol\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5c87399fc70041dd85ce718d94c6139e\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab9e69127f9a571ab7bff1bc87c052776\">QsciLexerHTML</a>\n</li>\n<li>ASPJavaScriptWord\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab388e2836763fec9ba15e7a1b3743e6d\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonClassName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07bad38a70450a58da8bd7ebebc9f4d4\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9f91ee5b30f04252a226410118f87cbb\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24d9181cb4ffca0ec889f64d32e27302\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac410213e6afae932c50c5d7386180a82\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonFunctionMethodName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3ef7c5d90b7885f79a9200e8144d461c\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2ba2b64ee2400dce3ee221aef187e524\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9fc4d4e4fc20ca395d19a52e6e29453e\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac1973f076c1eb88d6ab71aab19ee839d\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonOperator\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa38331046f91ae174bed6bed7d1c1154\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeba824b1c987b60d06c7bdd6c77858a5\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aae87de6d2d1f768e5e09e1b6d7d8e2c5\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonTripleDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42abf69f7d37a77f061868d594516f21b75\">QsciLexerHTML</a>\n</li>\n<li>ASPPythonTripleSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af3dd65a9a5b6e685630ead91aebdd994\">QsciLexerHTML</a>\n</li>\n<li>ASPStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a292d607fdb907de9d5901c90b01f64a5\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac93712a2bf29f750c9b8629ba1aa6a8d\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a37226b834916114680ba667ef9615293\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac3a6e8ea35f788fd08bd245ab1238709\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a99e48d7de494bb0a1ea1b5503014a50e\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa60810f36db9d4690903279530d2f93e\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0af21eed628c46b93d8f46d78af3e18e\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab5af85bbbcc82ee3bd6e3f60dfc6e43c\">QsciLexerHTML</a>\n</li>\n<li>ASPVBScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a70448ba15dedb0dea1a6e10d806ac03d\">QsciLexerHTML</a>\n</li>\n<li>ASPXCComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a93b7ceec0b76249d6c4ef8caeb8a1c6e\">QsciLexerHTML</a>\n</li>\n<li>Assignment\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da2dce9dbe1d758936b321ee9d77343be6\">QsciLexerProperties</a>\n</li>\n<li>AtRule\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab66090eb95d05ecb61cb8a4822ab94d8\">QsciLexerCSS</a>\n</li>\n<li>Attribute\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ac1a1825aa643819ef0ed1c3a23ce48ee\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42acc9fa3017024877e48e2e4bdc139243c\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ae259747dcdaff0bffe5da604d93ee4a5\">QsciLexerVHDL</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_b.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_b\"></a>- b -</h3><ul>\n<li>Background\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a684a85314d17d730f0dfc238c523160e\">QsciScintilla</a>\n</li>\n<li>BackquoteString\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca682cc956cd52ccfff101565bd51327e1\">QsciLexerD</a>\n</li>\n<li>Backtab\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aeae07e48b489c0cc937bf83bef4f0c9c\">QsciCommand</a>\n</li>\n<li>BacktickHereDocument\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa75c7ba5ad98b870f0e303c94f0b9375\">QsciLexerPerl</a>\n</li>\n<li>BacktickHereDocumentVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7fb5b3d78cf402664941ceee7a17d758\">QsciLexerPerl</a>\n</li>\n<li>Backticks\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a921bbb2e53761aa5835fd674130b65b5\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a53d80aaaa00ca3d47433a05bc93297c8\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda40dc4d5fdccc6fa1de6189a4e07d4345\">QsciLexerRuby</a>\n</li>\n<li>BackticksVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1042900000e9c99d0a52724d5c838c94\">QsciLexerPerl</a>\n</li>\n<li>BadDirective\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50caef61534d689d00e80efbf631fffd\">QsciLexerPOV</a>\n</li>\n<li>BadSegment\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a57c086f3b4f11f1654f587fbaeb76ed1\">QsciLexerEDIFACT</a>\n</li>\n<li>BadStringCharacter\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a1098fc215e68862126c9774419e218d4\">QsciLexerPostScript</a>\n</li>\n<li>Base85String\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ab0f0d6fc5daa0226c5632458e3b2a014\">QsciLexerPostScript</a>\n</li>\n<li>BasicFunctions\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39efcf7df417b4566cace55874fb668e\">QsciLexerLua</a>\n</li>\n<li>BlockComment\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caefb7439724eee3d6b5f2646a4a321415\">QsciLexerAVS</a>\n</li>\n<li>BlockForeach\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a8587759ba24aa4340fe364744a6cc599\">QsciLexerCMake</a>\n</li>\n<li>BlockIf\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5affcaf2eab9cfb5a16cb21b1a3c4c749a\">QsciLexerCMake</a>\n</li>\n<li>BlockMacro\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a919aae1204818770a4720bca9bb9312c\">QsciLexerCMake</a>\n</li>\n<li>BlockQuote\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a802a025f696e2e1a7800f212e48da6fb\">QsciLexerMarkdown</a>\n</li>\n<li>BlockRegex\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a32607d1ce220881542a049d83406ce65\">QsciLexerCoffeeScript</a>\n</li>\n<li>BlockRegexComment\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8acf3a1887749e806e04bf6a0097f724bb\">QsciLexerCoffeeScript</a>\n</li>\n<li>BlockWhile\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd41a928f0ec4f70bf8263f1fcbe4fcd\">QsciLexerCMake</a>\n</li>\n<li>Bookmark\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae143f481474150e05f35218f54c6b4f7\">QsciScintilla</a>\n</li>\n<li>BottomLeftCorner\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ab252e6e9a75a8987543dd345087a6239\">QsciScintilla</a>\n</li>\n<li>BoxedFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0afacc823b3e29ee1611ede83d0c8fabbd\">QsciScintilla</a>\n</li>\n<li>BoxedMinus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a94bff27aa9fe8d4c47c1d0142b219ea4\">QsciScintilla</a>\n</li>\n<li>BoxedMinusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a8f97b4e8119422e060a9e1a92f84cb\">QsciScintilla</a>\n</li>\n<li>BoxedPlus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a99c849093ce52310ba63277968e20fca\">QsciScintilla</a>\n</li>\n<li>BoxedPlusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a43d4fef1aeaaaf6847e8f96761d5aaa4\">QsciScintilla</a>\n</li>\n<li>BoxedTreeFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0ac22ee26a39d4661a59f0a2d285ad27e2\">QsciScintilla</a>\n</li>\n<li>BoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a121e0a9c852567a581f208b8f7cc1bed\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_c.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_c\"></a>- c -</h3><ul>\n<li>CallTipsAboveText\n: <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881da6dbb5180c0f14cb5588c27a139476f8b\">QsciScintilla</a>\n</li>\n<li>CallTipsBelowText\n: <a class=\"el\" href=\"classQsciScintilla.html#aef97a9061de95a09b57d527f6410881dabc9d1fe2afaf18bbe19f2f4eff151576\">QsciScintilla</a>\n</li>\n<li>CallTipsContext\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a3e031bc89388b8c7369001d670e87fc9\">QsciScintilla</a>\n</li>\n<li>CallTipsNoAutoCompletionContext\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668ad8a963c1bf6418a78da554bfdb61efe2\">QsciScintilla</a>\n</li>\n<li>CallTipsNoContext\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668a9c4767863f6ddd8b4e8ca381091ed497\">QsciScintilla</a>\n</li>\n<li>CallTipsNone\n: <a class=\"el\" href=\"classQsciScintilla.html#a62d0174cb0a07e3f2d48fc0603192668aedf5d722a7f87ba55272f4355fa5880b\">QsciScintilla</a>\n</li>\n<li>Cancel\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3905c749d29761ae2a594c14e1fb26c9\">QsciCommand</a>\n</li>\n<li>CDATA\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aec707f7a4c069449024b9dcd806a9978\">QsciLexerHTML</a>\n</li>\n<li>CentreGradientIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aca7717bb45779f822c9fcea2d78456dc\">QsciScintilla</a>\n</li>\n<li>Character\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadb30a6870a257c1e28e8534833583564\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a95cd8dc67acc900b870665a61009b731\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae68a19ab0843b318915c86f7d353590c\">QsciLexerPascal</a>\n</li>\n<li>CharLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a88dc0fc0d4642486fb54dce5045a5b8b\">QsciCommand</a>\n</li>\n<li>CharLeftExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af23e0b934931581f6b383a4b3de10b48\">QsciCommand</a>\n</li>\n<li>CharLeftRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa62e9ab460a49ff8b9c3c55219f98abb\">QsciCommand</a>\n</li>\n<li>CharRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3ce1411c8761d1562fa8e8b5d7609df7\">QsciCommand</a>\n</li>\n<li>CharRightExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae6afb296e30c48ae1c4992817d673bf\">QsciCommand</a>\n</li>\n<li>CharRightRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aedd92e9ae8401fb13ab6d01667949938\">QsciCommand</a>\n</li>\n<li>Circle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac0ea486bd51a662ec3be569f420f5d1b\">QsciScintilla</a>\n</li>\n<li>CircledFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a157be2e74764c6913ff97b4181f1d178\">QsciScintilla</a>\n</li>\n<li>CircledMinus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496af61cc9c30ac12712c1774ea2a9539846\">QsciScintilla</a>\n</li>\n<li>CircledMinusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6e71f3cbb658aa12b566fe2293356e50\">QsciScintilla</a>\n</li>\n<li>CircledPlus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496adfcda6a0567fb132f08dbfbc0bc40161\">QsciScintilla</a>\n</li>\n<li>CircledPlusConnected\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac7ac14f88e9a76b42d5ac2270f961ef1\">QsciScintilla</a>\n</li>\n<li>CircledTreeFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0abd0dcc4e3cbdb15d7ce2076c3f2f1c1c\">QsciScintilla</a>\n</li>\n<li>ClassName\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a13a264a4745f895d9b8218a5eb834cab\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda73fc696ddb8d12d4a0568b85a690a180\">QsciLexerRuby</a>\n</li>\n<li>ClassSelector\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aafd65314dc8f5e87697c987a8a3d1037\">QsciLexerCSS</a>\n</li>\n<li>ClassVariable\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda8d3b74c47f0454a05b12f65ca98f13c1\">QsciLexerRuby</a>\n</li>\n<li>ClipProperty\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf3462b881fa15ece44ea25e74ba153c2\">QsciLexerAVS</a>\n</li>\n<li>CodeBackticks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a24f1888af4753fb171b38ea00a6b4fd6\">QsciLexerMarkdown</a>\n</li>\n<li>CodeBlock\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aec90058e8208d49ab7d8e226d69cd670\">QsciLexerMarkdown</a>\n</li>\n<li>CodeDoubleBackticks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4d8694cfbb7b37351d09d070bab264bc\">QsciLexerMarkdown</a>\n</li>\n<li>Command\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafac6f4ef8f0ab21714d58649c205dfda\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a1d8eab4b3a40889f09b5fdc7bc7f3501\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba6cc93c66756e609ac3e73d38ad43cf78\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da59714bcaf49876225377b819f996a9f4\">QsciLexerTeX</a>\n</li>\n<li>Comment\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a94487dec0dc65f87c1f84f4b5d716d95\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a67d6bd7807a11a73fcb0f90b51950206\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ab77d5e490bf963b6d8f6e3197cd7285e\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a908ae06d736d3add37f734a255ceeaa3\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ab05c80130359b9586979df7f9a85d3fe\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a3496565bdaf261864ed37cd0909687be\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca37135c4d1129a47fe7d1fa4353c3ef89\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafd5a8fe2739897289a175a9879e01c36\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae43bb4fceebfd7a39138f693e2c6403b\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25abf2c37dbd9d2f0f761e4c75b9a916c7f\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a2c97009298841646061ca4ebc42d4867\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a2c7ee3027be2a0e66cc22b2924ef27cd\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab48837000308dc11499d7e96f302db6a\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af2c29ccb75997807734f024b49998b6a\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa58059f59ed8abfc84fff35f626f36dff\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a4b36bbf9fdf62e5e6433b96210b1290d\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ae5ca8ff1353ee7c45d6ce5d6e3fd1f00\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daec8fd1ed5dfafb06753fcd402406e164\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a3ae64eb6b01ecf28c28cfa568456018e\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4d3bcdc4618dd38c999f30ec64a2be94\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf9211dff849fb86ce73c0db0168e522\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a017c8dd95b8abe00000ef18a3af7cc1f\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1e00ce63c680961063bba87de9f4bc23\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa728da173f7b8baae14eae147d5f9825c\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac22bd7eac094ca7e6f5ba2b0f65124ad\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a6100efc49404d4e3851af5853a730b71\">QsciLexerYAML</a>\n</li>\n<li>CommentBang\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa35bfbe7dfa56b39c896d3058ea913045\">QsciLexerVerilog</a>\n</li>\n<li>CommentBlock\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2050935e0699ccd6660987e5b6f42c32\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa22446d400d75d1559463746df39fdd70\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af439b3e4c0ee6762c95d318c457e9396\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a37d5cc3f8f43e1a9457f016fb8477fc2\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a4e88c5013c5e1a80ecd777322b07d4ab\">QsciLexerVHDL</a>\n</li>\n<li>CommentBox\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ad645e0c9a459e6319aca09d344ba9fe7\">QsciLexerTCL</a>\n</li>\n<li>CommentDoc\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a5edc735d0127917185abed1f637a49f7\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12cc5d18b03e47a08bd19098be35631b\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cae4ef72a2092606e60ebd48a41c728863\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a129874afa8759225a097854ebd2af353\">QsciLexerSQL</a>\n</li>\n<li>CommentDocKeyword\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a7e8b105503aff566abe10b78bfff1575\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac640cd198228b554ec3d0b60e00d91bd\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caf5c6b133d2a0391d65dd11ca8cd0dc46\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6108257694cfbb092d132383f517ea99\">QsciLexerSQL</a>\n</li>\n<li>CommentDocKeywordError\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a48d773f3fce4500a8700b6d76f2ecf24\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a52db9ffb3d81b68562da67cbc70d3388\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8416e006ed8c6157e87fddc9497b56ab\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a1a7d323994693912a361e2f2f6c5e88e\">QsciLexerSQL</a>\n</li>\n<li>CommentKeyword\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa73908fe2dc83b644b9b15aec0a6d65f\">QsciLexerVerilog</a>\n</li>\n<li>CommentLine\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a379b349ef6edd66b752af87472fe41b4\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1af7a31515ec66490642ab83b9fedb8a78\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca25654940726025136d8e7eb8edf5b11a\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf17e14af27331f8d34c22ec61f5d6deb\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfab4771b618f3f481962bc73d7d1e63cc5\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865aa21767d42e17e6f895efa2b180f264bb\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a150cbe6dc7ab6815e15c0b45d5209032\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a333018506e26a9e4f3c4f42aa1193c1a\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa40b38f212ceb6dd21a31b474ac524b28\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9e1bb162045d720665c7d463e3824476\">QsciLexerVHDL</a>\n</li>\n<li>CommentLineDoc\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a406ac7ec4b5186a2d33b7a9074f6fa02\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a659ebab287e989f11cf905532c1ccddf\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4cadf5911a2c4224ab8d38ea4ebe7747cb4\">QsciLexerD</a>\n</li>\n<li>CommentLineHash\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82aaa8e45cf7c33cc5498e4f78cbd946585\">QsciLexerSQL</a>\n</li>\n<li>CommentNested\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca5bc763858b98e6d4c43307986b548db3\">QsciLexerD</a>\n</li>\n<li>CommentParenthesis\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfabd390815063a649b2cab3f5da6d4b113\">QsciLexerPascal</a>\n</li>\n<li>CompositeSeparator\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a81ed0b351c28537389bd2e8b2d244bbb\">QsciLexerEDIFACT</a>\n</li>\n<li>Continuation\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9ca10458474940b33719b146693ab81d\">QsciLexerFortran77</a>\n</li>\n<li>CoroutinesIOSystemFacilities\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a1da860131fdcc821dbd51a25f65175ac\">QsciLexerLua</a>\n</li>\n<li>CSS1Property\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a729b64d3f84347da91167d421302a76d\">QsciLexerCSS</a>\n</li>\n<li>CSS2Property\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aae08a7b509d7f18df60133b2e204291b\">QsciLexerCSS</a>\n</li>\n<li>CSS3Property\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ade6d6fd36b5e81bcca8ce404d915a16b\">QsciLexerCSS</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_d.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_d\"></a>- d -</h3><ul>\n<li>DashesIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0d28a4278d8321718b457d664780d92b\">QsciScintilla</a>\n</li>\n<li>DataSection\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8c119f4794e3dab23aa2a4f739a1e81f\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda36e45c5ce435eacd1f9f140adf265a78\">QsciLexerRuby</a>\n</li>\n<li>DeclareInputOutputPort\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf1faad6166ac7eb8ec701ee8e075d73f\">QsciLexerVerilog</a>\n</li>\n<li>DeclareInputPort\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa87953315b5bfbecd097e6cd2a5545deb\">QsciLexerVerilog</a>\n</li>\n<li>DeclareOutputPort\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaa82c4530efbc0152d96e4f9f2c8b5922\">QsciLexerVerilog</a>\n</li>\n<li>Decorator\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a40d923760d674229ffb146233d1cefae\">QsciLexerPython</a>\n</li>\n<li>Default\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca3ca3697597b3c6cdcff73b107d59cb6c\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a45a68364d9664f00a90971b935e94e2b\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a6486aa5cd4381bccf758618bf0aeeaa3\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac58878e947938b80b35766b89c688000\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a2fb70f93de6a55714777a4fa55916d03\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1aaf3761b6b64a02e306095a77c6e44d22\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a53e968c600f53a2bae2710db0ef8db1d\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caa4df8837f097ea5f0727c0399c96ed59\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea560492ffddbda30de0d92016d0bdab3a\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88adc45e679c4d4b0032f1878d7e4ce350d\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a9976e090c23a36ab9891b8eb10059c96\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8d1900807d1ac2f027fb67fb7483de29\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa8c5bbdbe1db1b60a1aab67a6cc809ed1\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a60c35a89c49dabb959c8433fc053295b\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874abd0988a8be6257610b747928a65cf6d9\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6682db85866de38b1b3b0a02749a05d4\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a55be77ea514d8c6260a639a1a7e5490e\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa71c490d79223177530ef9415edf52747\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af5df69c0ed6d8c42bc39e717889aea78\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aad31b6cbc7b7bd69b346df826e27efda2\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a7568c47b226595ed4d2853b1f4f07796\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a07b640606eb18fe3f8dfc49bbc91a415\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9e761a14600d042a269a5dac6a146e67\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac55b65493dace8925090544c401e8556\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaaa0287c846694faece595f55d26fca1c\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bae728e2775658d836eea997170e04501e\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a38347f6c3056908532db562ca232971c\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a8aeb499b1256741e651ddd90fb3b0bb5\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dae621e3527eaa3f0962713d676d0d5951\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa063bcfc2ad0162efe4015fec0f50dea8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a58b45bf1904760b66784b6193100237b\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649add8b9dd154f60311de10581a64bcff7e\">QsciLexerYAML</a>\n</li>\n<li>DefaultValue\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da3ad64721ceda301cf547533fd6736fe7\">QsciLexerProperties</a>\n</li>\n<li>Delete\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad763b356ba37cf93b78201baea5aa00d\">QsciCommand</a>\n</li>\n<li>DeleteBack\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82626bce8a0acdd6c4c196865629e81b\">QsciCommand</a>\n</li>\n<li>DeleteBackNotLine\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adadf0fa77a7ce5496fce517bc9e0a723\">QsciCommand</a>\n</li>\n<li>DeleteLineLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b9644d959806dd50a8dce00bf521e13\">QsciCommand</a>\n</li>\n<li>DeleteLineRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a21407e4871585bcfb0d76dbf7be87650\">QsciCommand</a>\n</li>\n<li>DeleteWordLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a66566eb3ac1ad83cc6ef2913d449d193\">QsciCommand</a>\n</li>\n<li>DeleteWordRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0a5ea33d56c6c45fe80f5b1f66975ffa\">QsciCommand</a>\n</li>\n<li>DeleteWordRightEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae1a8da5398be3fb7c5e32f868bf4af14\">QsciCommand</a>\n</li>\n<li>Delimiter\n: <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab8c08b600da91cbcdac1270aa40f318a\">QsciLexerSpice</a>\n</li>\n<li>DemotedKeyword\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda5a7463b193f6ad19397c1feead6b83b6\">QsciLexerRuby</a>\n</li>\n<li>DiagonalIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a3f15a9d49659f4c9baa660da5243074f\">QsciScintilla</a>\n</li>\n<li>DictionaryParenthesis\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a836bd1fce6a26fa56815960d3442f1f8\">QsciLexerPostScript</a>\n</li>\n<li>Directive\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a8a608b891ac344348afeedfe8a4ac54b\">QsciLexerPOV</a>\n</li>\n<li>DocumentDelimiter\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a4015455a864bd4243b252a1cdd72e348\">QsciLexerYAML</a>\n</li>\n<li>DocumentEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e059c91d4d3d5037d0dce9c8fa735a0\">QsciCommand</a>\n</li>\n<li>DocumentEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6b77e65e9d026dd2a3af831ddfcc664\">QsciCommand</a>\n</li>\n<li>DocumentStart\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae0d2fa78fc42366a578b50cae1c44a8f\">QsciCommand</a>\n</li>\n<li>DocumentStartExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a368bc9e6e89a0f9504a49fc97477618b\">QsciCommand</a>\n</li>\n<li>DotBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a14ea8b26486c9b42eb7748d32687e51a\">QsciScintilla</a>\n</li>\n<li>DotsIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974adf3330b6033f9d647807a031f61cfd04\">QsciScintilla</a>\n</li>\n<li>DottedOperator\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8d0e528e3d84fcd8564c8974d5be4868\">QsciLexerFortran77</a>\n</li>\n<li>DoubleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac25e8cbcb38d2022ec108d2e22d97910\">QsciLexerPython</a>\n</li>\n<li>DoubleQuotedHereDocument\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a0a82588ab552f48b9caeb05db6d9428f\">QsciLexerPerl</a>\n</li>\n<li>DoubleQuotedHereDocumentVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae9c623b599443071c8bb547279c7dd64\">QsciLexerPerl</a>\n</li>\n<li>DoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a75d3348c625036e816f4e4e53dc601e0\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a9eb257127f3fd60ea6ee7ef126419f7d\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a9956498543ca425e9772a8d11e7555b5\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a34b937f20071fd25a7b7aa57620cb5d5\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a13caf8056b3b059d199db7b7bc004d8b\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5aa209603481aa02f044a3e0eeb94593ed\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa14ec9d32c1fa5bbf171a3fb45473bcf\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a53439291c4ec1556fa2143b582b21457\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda29b34bc0b6d300d9eec4e7d4b8352ca6\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a6be60f1a8d6511e543462e9d65ee806e\">QsciLexerSQL</a>\n</li>\n<li>DoubleQuotedStringVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a87d5e90f82615a99e0af4ccc4875dc65\">QsciLexerPerl</a>\n</li>\n<li>DownTriangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a73b37930e36e66281465f89530a889a4\">QsciScintilla</a>\n</li>\n<li>DSCComment\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a284328e010e8e4cbad238d5f4c423e30\">QsciLexerPostScript</a>\n</li>\n<li>DSCCommentValue\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a46e081b0e15a00de147c0f62fbaa630e\">QsciLexerPostScript</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_e.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_e\"></a>- e -</h3><ul>\n<li>EdgeBackground\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea46d9f957fe5b30a681ebaecc3ba159d5\">QsciScintilla</a>\n</li>\n<li>EdgeLine\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea44fdad06b183b02f5d54a3fecd5ac98d\">QsciScintilla</a>\n</li>\n<li>EdgeMultipleLines\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ea2a310e227fd42221c2ad9b81fbdb7654\">QsciScintilla</a>\n</li>\n<li>EdgeNone\n: <a class=\"el\" href=\"classQsciScintilla.html#a40b8ec37e068b12d9c83ee497929a00ead6c5f91845329bb32ff37e3f1325078c\">QsciScintilla</a>\n</li>\n<li>EditToggleOvertype\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab6c8c98a6027e8a88783f18dbca2bdf4\">QsciCommand</a>\n</li>\n<li>ElementSeparator\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88ad3349f5ca362b8086feaee6465adaf76\">QsciLexerEDIFACT</a>\n</li>\n<li>EmphasisAsterisks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b86f1f637bdd5a9f894bcf8d94039c4\">QsciLexerMarkdown</a>\n</li>\n<li>EmphasisUnderscores\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a6d496317b63aabf2f94b7abd0681ffc7\">QsciLexerMarkdown</a>\n</li>\n<li>Entity\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a2cc0d9178c847cbde2bed0c104fe0c91\">QsciLexerHTML</a>\n</li>\n<li>EolMac\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a884e225089dc5181bf661a13a5d12c99\">QsciScintilla</a>\n</li>\n<li>EolUnix\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a66683da125a4e780a672edae2781df89\">QsciScintilla</a>\n</li>\n<li>EolWindows\n: <a class=\"el\" href=\"classQsciScintilla.html#ab4b6b4286a74e173a86de0a7f55241d5a355072d24e408bb7fbb2be3ed5389d30\">QsciScintilla</a>\n</li>\n<li>Error\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200aa077709e423acaff53b593bd170fa8e0\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faa8312a1f93350c33c4d7dd3748a8910f\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874afecda9ed8daf8374c99aeaedfd83ffe9\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a99a1c9873cd83852da55023a2420f5a8\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda96bb579511d0e7c816783f3740de5aec\">QsciLexerRuby</a>\n</li>\n<li>EscapeSequence\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a96681c59afac878c90c821403c472903\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0bb7d6615b8af0c1aef5d28e63f2e55c\">QsciLexerJSON</a>\n</li>\n<li>ExpandKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1f6ee7e1310318ce54cbcf9a1a50f144\">QsciLexerTCL</a>\n</li>\n<li>ExtendedCSSProperty\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aea3a8406f16545255905240042c4954b\">QsciLexerCSS</a>\n</li>\n<li>ExtendedFunction\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a0c79af742525a5c8e1728e17fcc6968e\">QsciLexerFortran77</a>\n</li>\n<li>ExtendedPseudoClass\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aeee973f3f30ab97b97903de6de2dfca5\">QsciLexerCSS</a>\n</li>\n<li>ExtendedPseudoElement\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a220432c41649811f99607624ddb568e6\">QsciLexerCSS</a>\n</li>\n<li>ExternalCommand\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ab6c8b3d3175be5f62e770f2dc637bb61\">QsciLexerBatch</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_f.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_f\"></a>- f -</h3><ul>\n<li>Filter\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caa78ba1174c6df16aceae243269933062\">QsciLexerAVS</a>\n</li>\n<li>Flags\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa8189b733270e2d02ea3986e9bbfbe0d0\">QsciLexerPO</a>\n</li>\n<li>FormatBody\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adbc0e3fbe443a92d03f444a1f66b1d5c\">QsciLexerPerl</a>\n</li>\n<li>FormatIdentifier\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af1b0ae17967c8b101eea3d9e4cc173cd\">QsciLexerPerl</a>\n</li>\n<li>Formfeed\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3b46d96af1feddb3560236b9e75c39c2\">QsciCommand</a>\n</li>\n<li>FullBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aeb5cb655e2f3e61e8df54655b11695f1\">QsciScintilla</a>\n</li>\n<li>FullRectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a37179bb1a189664cf22b25168ae0dc2b\">QsciScintilla</a>\n</li>\n<li>Function\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca4235f8fb2c5f08d64d9564c53c9b716d\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd122c7f7d43a9a7757982877d7e791c\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab2ac7b9071a9551de2302ac670e591fb\">QsciLexerSpice</a>\n</li>\n<li>FunctionMethodName\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af182efea8f041750b774f01071af8b10\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdafc1f84fb3175d37e1a12822cdea2aabf\">QsciLexerRuby</a>\n</li>\n<li>Fuzzy\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aabc0289fe1ca5de9e2fc729b46e7fca8b\">QsciLexerPO</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_g.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_g\"></a>- g -</h3><ul>\n<li>Global\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac07c560208a60c08d1fea27a862ce60a\">QsciLexerRuby</a>\n</li>\n<li>GlobalClass\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ab4d4a5d44c3c3584609996183880c179\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">QsciLexerCPP</a>\n</li>\n<li>GradientIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a7f4b165aed1dd094770e16c93c976d08\">QsciScintilla</a>\n</li>\n<li>Group\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37daf1ec0a0707b4105f54e242482ece1c0e\">QsciLexerTeX</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_h.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_h\"></a>- h -</h3><ul>\n<li>Hash\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aaa260a4964100f84e24f3797150379ac\">QsciLexerPerl</a>\n</li>\n<li>HashQuotedString\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">QsciLexerCPP</a>\n</li>\n<li>Header\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea2370144fb29df0b9814433d2bf58ab81\">QsciLexerDiff</a>\n</li>\n<li>Header1\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a72b1c31bd564177da4442c5c3ad29673\">QsciLexerMarkdown</a>\n</li>\n<li>Header2\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2a8592f89e9ed96dc5284f7532fd4b5a\">QsciLexerMarkdown</a>\n</li>\n<li>Header3\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2603a8da38b275a2a6663fb1a0be0013\">QsciLexerMarkdown</a>\n</li>\n<li>Header4\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4b1050c5cdb3517a798c5cfeac8021d7\">QsciLexerMarkdown</a>\n</li>\n<li>Header5\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ac7776d56b4bf5a50f220408aa6f825a9\">QsciLexerMarkdown</a>\n</li>\n<li>Header6\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a7058cb8ab326921f8d2165c7031eaabe\">QsciLexerMarkdown</a>\n</li>\n<li>HereDocument\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae3c3ed5000ff843e47b7215bd175c0b6\">QsciLexerRuby</a>\n</li>\n<li>HereDocumentDelimiter\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a382232cd9e8deee51b10c35862647234\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1735d83cde8be27eda10acb6f7e2ed98\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1cf86e15ea041fc9e5d0700a56c1a220\">QsciLexerRuby</a>\n</li>\n<li>HexNumber\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa12bdf1e4458d0e5aa6ba031eee1c81b2\">QsciLexerPascal</a>\n</li>\n<li>HexString\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ae6d498c2db5cb31defd472e8b78e0b37\">QsciLexerPostScript</a>\n</li>\n<li>HiddenIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4d76d98f1b407df8f0a62b70a7545c51\">QsciScintilla</a>\n</li>\n<li>HideCommandChar\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a9de6f2d916a75676162d8a88b58516ae\">QsciLexerBatch</a>\n</li>\n<li>HighlightedIdentifier\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a6b6db1e2f565b7945e40fa3b13d2ce5a\">QsciLexerPython</a>\n</li>\n<li>Home\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a607f851f9833e13dbf335009ebd2ca37\">QsciCommand</a>\n</li>\n<li>HomeDisplay\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a71d0019b185b1d65e9d3574651a1b55f\">QsciCommand</a>\n</li>\n<li>HomeDisplayExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82851feb57f239b98cfa52fb2307fe66\">QsciCommand</a>\n</li>\n<li>HomeExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbb515f305f0dc715372708d91be80aa\">QsciCommand</a>\n</li>\n<li>HomeRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3cf62acaae368a7a1e88a6300fbf1de4\">QsciCommand</a>\n</li>\n<li>HomeWrap\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab67874e23a95cc208bcbb0de0cf16d90\">QsciCommand</a>\n</li>\n<li>HomeWrapExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa5afb3470010c1075e61cd4216a1714c\">QsciCommand</a>\n</li>\n<li>HorizontalRule\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a98d328ad6d4dd08d1cea6896c01d0bf1\">QsciLexerMarkdown</a>\n</li>\n<li>HTMLComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\">QsciLexerHTML</a>\n</li>\n<li>HTMLDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\">QsciLexerHTML</a>\n</li>\n<li>HTMLNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\">QsciLexerHTML</a>\n</li>\n<li>HTMLSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\">QsciLexerHTML</a>\n</li>\n<li>HTMLValue\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_i.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_i\"></a>- i -</h3><ul>\n<li>Identifier\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca485c820ed6275fb070e03ef6e66b3dc0\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8864a95744af2b4ef3d960c9e93a83a7\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6fada5b4984531d13a0f03cf9bd082f8\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca47923636d0ac5375823bbae9ae291f50\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a03fe51d98c72f4af37b148cfb2a1319f\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa51dbc500bd8cc6a05ca0a04e9220e9b8\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65e52532e4624b84e6f3cd89b37a48b8\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ace12eb00b29be82c86869c131c43bd7f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad3c089de016a822c21aadf0760842dbe\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1a052fb80029ed8c2990a996b311081d\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba50fad8da4f0a77aa1074fa0be57bff11\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a65248832536a73057c5ff9c1b4109ef7\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0c8b6993ec2f619ed29f8797fc27e441\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa5b940ddc4db712f69dbf6753cd362ebf\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab72a8603cda3b24dfa6eeed5c6a7ca93\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649adc20fbe1ca5efec16518a264e858b37f\">QsciLexerYAML</a>\n</li>\n<li>IDSelector\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad59613421106ae8b7a7594812a4091b5\">QsciLexerCSS</a>\n</li>\n<li>ImmediateEvalLiteral\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a6b15de06a212e4317328cb760561c55b\">QsciLexerPostScript</a>\n</li>\n<li>Important\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a8b419e8c3650bc498dc90610ccda4f1a\">QsciLexerCSS</a>\n</li>\n<li>Inconsistent\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca205cf6f451c495acbe224d2479c9b512\">QsciLexerPython</a>\n</li>\n<li>InstanceProperty\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a67579947345d4b8bca1317e697fe46d3\">QsciLexerCoffeeScript</a>\n</li>\n<li>InstanceVariable\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac62e9eb3fad7c9f5ffd551e37116b2bb\">QsciLexerRuby</a>\n</li>\n<li>IntrinsicFunction\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\">QsciLexerFortran77</a>\n</li>\n<li>Invisible\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a75deca598e2319575861cf9d61e15c65\">QsciScintilla</a>\n</li>\n<li>IRI\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa18ac02585b6a3a5bf7cafa9499bfbfc4\">QsciLexerJSON</a>\n</li>\n<li>IRICompact\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa814a013ddf331cf29765d7c95c24c595\">QsciLexerJSON</a>\n</li>\n<li>ITCLKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa130758e2b9502d70213979a82134045\">QsciLexerTCL</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_j.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_j\"></a>- j -</h3><ul>\n<li>JavaScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptCommentDoc\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptCommentLine\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptRegex\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptSymbol\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptWord\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_k.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_k\"></a>- k -</h3><ul>\n<li>Key\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daf20795f392c5dc1ab5639c7de93181e6\">QsciLexerProperties</a>\n</li>\n<li>Keyword\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca46914c7ffeef04a1c25be8c039640ec0\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ae7d35be63231a974b67a85fc51ede69c\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a49a41ab6bdd70dcdc2721b5c78620005\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a4a6519d9d7b7e0e068d6ce8b777a87d2\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca1726b12d4c63e5ab08f4fd2076be8342\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faae4909c19c8ccacd940fb6d267e8536a\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae5d52051b1b6459a13bff6db572c0dce\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa0df50778af3ef8ecbd584fca00d5337a\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae431c41ecbd64bf0f773f25b68a7973a\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a78f5e4602dcc6279983499ed04b9ace5\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a5afb6ff3eda4e10420bc19d8cfce6697\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda64027d287f4c03b3c5c790277e6bbbc4\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a3bdb3154d0b6e8fdc9c1ec46c6da29f9\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa2e3ce56242b141b7666f3f2afae71e9e\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a0e6155fe6a0e10f1301072cb73d5ecc5\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a084a5f27de1738ef21b1fd9a1f89669e\">QsciLexerYAML</a>\n</li>\n<li>KeywordDoc\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caab5b406f8c633b7d63f3dfe5d7be2df8\">QsciLexerD</a>\n</li>\n<li>KeywordLD\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa1a2e3268afbd5a33ca8f6a23aa12c7a0\">QsciLexerJSON</a>\n</li>\n<li>KeywordSecondary\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca86aa2ed7ea2e1baaee37feac86b0bc09\">QsciLexerD</a>\n</li>\n<li>KeywordSet2\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ae9524bc4d07a86f58eb88d57c1291083\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaacda550e099f252c45c8bb1523a1640d\">QsciLexerVerilog</a>\n</li>\n<li>KeywordSet3\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a6132465c9d48cb54e00acebcc160084f\">QsciLexerCMake</a>\n</li>\n<li>KeywordSet5\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca41699ff5135f73d77045b68748e881b0\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae99b87ba3113da81b9b8a7b675ac5abd\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82ae83b44ed53686acc7e65d1336901ca8d\">QsciLexerSQL</a>\n</li>\n<li>KeywordSet6\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cabbed202aa3af26d0af11825cd4360ab8\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8bbc63e31f19f9b6d7b50c1e1c2667b0\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a8b505486e278e80d9caef2ef9769544b\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ad6fd6fa9940116fcd7f01371d01f530b\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a964752ac32b2980192e27552fffd4b12\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a7e064a643483e44ef2d19f7aa9e947c0\">QsciLexerTCL</a>\n</li>\n<li>KeywordSet7\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca9f6ffdc183c1d99ce9fb0edce756410e\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39080fdb9bcf558f8aca25ebbc5877cb\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a27a6dc70698893bcc922c69dcac4a8fa\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a82c5dbd57b06e88f195eb7eefb1f6e32\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0fa1debaf4eebc4dad0a531f9bd5074a\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab519e29e6205cdeeb66d8d5e1e90a4d0\">QsciLexerVHDL</a>\n</li>\n<li>KeywordSet8\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae15e71bd786c060d6412ce31551f3e42\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50d0c3a0bb96dd811592c6fa6348b66f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a76e2eea32f91918b7a5c330284dfae2d\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a678e5cdd4369161e2974c1fca5ec0756\">QsciLexerTCL</a>\n</li>\n<li>KeywordSet9\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a04935c9218b079cf604ffb8c453d0d79\">QsciLexerTCL</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_l.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_l\"></a>- l -</h3><ul>\n<li>Label\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a4d5dd4773bec06223bccbad51b0e7b10\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a547af93b10d8f7d2984ccf792d50efc6\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a64681c9d0cf443f6073155989512f8b9\">QsciLexerLua</a>\n</li>\n<li>LeftRectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac92383c0e761f791d4abf557b9d75d3b\">QsciScintilla</a>\n</li>\n<li>LeftSideRoundedSplitter\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a2a2e0c98376d63fc6fdba6c1bc5b8768\">QsciScintilla</a>\n</li>\n<li>LeftSideSplitter\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a92b9f1d4c2cdddc5ef4030fdff5edc7d\">QsciScintilla</a>\n</li>\n<li>LineAdded\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea6c0ca334fc11dfc9bd55daac89fbf357\">QsciLexerDiff</a>\n</li>\n<li>LineChanged\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eab5fd263b12088142f07d41a8f5a4e73c\">QsciLexerDiff</a>\n</li>\n<li>LineComment\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca73cb3108374ba5ab9efbe7be369d1fda\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a9aa357d7b337b9aabcb7f0566aff3aa9\">QsciLexerLua</a>\n</li>\n<li>LineCopy\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa762bf03d4d23f764de57c146c9a658d\">QsciCommand</a>\n</li>\n<li>LineCut\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a91f9ce105ac6ead565f6f8e00ec0e9a6\">QsciCommand</a>\n</li>\n<li>LineDelete\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a291afea2c733abf34e20b0c25814dc5c\">QsciCommand</a>\n</li>\n<li>LineDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff3d71de76b3948d3576bf6f6164d435\">QsciCommand</a>\n</li>\n<li>LineDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a12027f7b5ad1f98b9d7f5b20a1b19856\">QsciCommand</a>\n</li>\n<li>LineDownRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4e166fc8f33e759313cf124be9dc960e\">QsciCommand</a>\n</li>\n<li>LineDuplicate\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8cc01e22c3d5cc697f87b00dcedb33f5\">QsciCommand</a>\n</li>\n<li>LineEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a175bcd4e973a6ae4553827db95d987f6\">QsciCommand</a>\n</li>\n<li>LineEndDisplay\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a77dc6d96d21c32e61b8e3809759eec37\">QsciCommand</a>\n</li>\n<li>LineEndDisplayExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acfe625def4c875c4f3ed4011c1d30f30\">QsciCommand</a>\n</li>\n<li>LineEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4f42905e1e54f6eb4e91eb832c07e387\">QsciCommand</a>\n</li>\n<li>LineEndRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6d942d99ab734f6b5c1160cbe18a6197\">QsciCommand</a>\n</li>\n<li>LineEndWrap\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bcecd03bc30e56d92035364f1c4d3aa\">QsciCommand</a>\n</li>\n<li>LineEndWrapExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8528ef0f7030d4eaa9cc93c1fb0f00d2\">QsciCommand</a>\n</li>\n<li>LineRemoved\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eac238c7bf06c491fed577dec0d329977b\">QsciLexerDiff</a>\n</li>\n<li>LineScrollDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac48505ac24f80eabcb61b93e6eb20f0d\">QsciCommand</a>\n</li>\n<li>LineScrollUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7abd1999204d26dee95623a1a4926d1694\">QsciCommand</a>\n</li>\n<li>LineTranspose\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad6895dbe64da12bd7749e9c7bf4d8e75\">QsciCommand</a>\n</li>\n<li>LineUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6108080747db44fba6676a90721edf3b\">QsciCommand</a>\n</li>\n<li>LineUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a620ae67b9bdb35d46d0fadd66d578725\">QsciCommand</a>\n</li>\n<li>LineUpRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a25673ac6266e5d5400328cb32c50064c\">QsciCommand</a>\n</li>\n<li>Link\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aba09f8253217b599639184da32985c54\">QsciLexerMarkdown</a>\n</li>\n<li>Literal\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5f93f977654892b0017dd0e990d77572\">QsciLexerPostScript</a>\n</li>\n<li>LiteralString\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a78b4fea76183ad94c31e18f744495e94\">QsciLexerLua</a>\n</li>\n<li>LowerCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a83675e1da457009277d3642340dc82cc\">QsciStyle</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_m.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_m\"></a>- m -</h3><ul>\n<li>MediaRule\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aa791b33014a708120356e7ea9365bfeb\">QsciLexerCSS</a>\n</li>\n<li>MessageContext\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa7146f0d4c1236da076af7a842bd64d17\">QsciLexerPO</a>\n</li>\n<li>MessageContextText\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac4b1b6e4f6256d65c4ba5c2f191858ec\">QsciLexerPO</a>\n</li>\n<li>MessageContextTextEOL\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa879aa27f03b3ef768a58b3cb4a6f2289\">QsciLexerPO</a>\n</li>\n<li>MessageId\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aafa4943bd9ba4521382fda76a7cd81350\">QsciLexerPO</a>\n</li>\n<li>MessageIdText\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacf9d9f92bdc917a32c2eb0af497c736b\">QsciLexerPO</a>\n</li>\n<li>MessageIdTextEOL\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa707f11b1e5cce03548d293b57aab2c02\">QsciLexerPO</a>\n</li>\n<li>MessageString\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac1d2ce430f70478822efc3d9583bb44a\">QsciLexerPO</a>\n</li>\n<li>MessageStringText\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacc7b06b43eb4768443caf8bffb5f487f\">QsciLexerPO</a>\n</li>\n<li>MessageStringTextEOL\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aadbc353eabc26203474e9cce912c4dc30\">QsciLexerPO</a>\n</li>\n<li>Minus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6caac8b127940c11b302189ac82dda5c\">QsciScintilla</a>\n</li>\n<li>Modifier\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ae958411da961413eaf269dc8cfab30eb\">QsciLexerTCL</a>\n</li>\n<li>ModuleName\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda2e66ca91a2f6aa3f873e017b9d794710\">QsciLexerRuby</a>\n</li>\n<li>MoNone\n: <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\">QsciScintilla</a>\n</li>\n<li>MoSublineSelect\n: <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\">QsciScintilla</a>\n</li>\n<li>MoveSelectedLinesDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae256fc63ff21305b2a1d93d7f05bee5\">QsciCommand</a>\n</li>\n<li>MoveSelectedLinesUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af5335bf501eb458872740c610db3617b\">QsciCommand</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_n.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_n\"></a>- n -</h3><ul>\n<li>Name\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5b790b5d458c9e3b260c965ce9755ea3\">QsciLexerPostScript</a>\n</li>\n<li>NestedBlockComment\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf0bf0d579bb3b4d6c926a447e0d9189c\">QsciLexerAVS</a>\n</li>\n<li>Newline\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae71d9db2e7cf1f6ca4b731675e1d63a1\">QsciCommand</a>\n</li>\n<li>NoBraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\">QsciScintilla</a>\n</li>\n<li>NoFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\">QsciScintilla</a>\n</li>\n<li>NoWarning\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaaf2844c26e0b5337e85653ca39584182\">QsciLexerPython</a>\n</li>\n<li>Number\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca522643317abd5f818642e3084a853a99\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ab3f18e3330a0e17453a9b76846d46a0f\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a1c39da6775c6c5bb602c144276a07cb1\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aba8f2217a58a7603d2a69ea1edeb1bc4\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca426d92387246d1fa5138b626a039b252\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fae3e7de4485556546e6645566cb446900\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25aa7100ee56315d914482fbd97843d98f5\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfac3c433f5759c8996553c5e203077fe0d\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65ab3c30be465884145bee390d038a8f\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a24c2fdd017eb9871220bc1cdf13c7675\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a46e89975e80b8b1ccada568900f784f7\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a828776730e146194bdc38d5baecd99b6\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda9f9666ed92175c304b5733a425562a26\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf786953e3ef1a1302260a6517410550\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a59137622ad830ab0474796e475df4f29\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a9dd8ccd07ebf3793c182f1e2026ec471\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa43313b93162231653a6aa703c53c5f23\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9b0cba57f797ebaf8d98eda980c171d7\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649ae764dd8954c575c5f0ee54ac90c53ede\">QsciLexerYAML</a>\n</li>\n<li>NumberMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090af2e3b128abc692ae0b1b6c835a90537e\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_o.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_o\"></a>- o -</h3><ul>\n<li>ObjectsCSGAppearance\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a02499b3710237cdd660cf1bce89f27bf\">QsciLexerPOV</a>\n</li>\n<li>Operator\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca2f81dae1f227c08bfa040eda4ee6a8eb\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a0de557a455fb48ad07dea0fb58a26fd0\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ac0016055e6f7cb07b6405a61c231d752\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8afd477421bbc3829c44d0ceda25ef07ec\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7ce96396ee8eff4196b5b9d5bf53afc\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca146db058b940cab519bdfd046b14cc0f\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf348c8b3678f46bdc29661f77a5c10cb\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a5267c1cdd34c280a959cd7df49b16ab2\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a724a3c9d93a5d13ec7cc314e534cbcbf\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae83775614e9f03b1bb41d78023f0121a\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2c43ed725d5edb523abb214f6867a5f4\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865abe05c40246afb65563d5e5013977240d\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a7a4293d091128563c2b51f4eaade7ff2\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda620214bd8d8ed0e2839c4cc0c5143349\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a910cc4182b94906c29f7764382c0458e\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a88aa37826c2111e43c2e64d175b631de\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa24c57f9c1818421c5f65a8c0c02efb04\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab027e96558ca9bd809cb4032b1aeb1ce\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a8889c1fce0c3f84556920717de3e55f2\">QsciLexerYAML</a>\n</li>\n<li>OrderedListItem\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a59adacf9920946acf11060eb1c70a3ff\">QsciLexerMarkdown</a>\n</li>\n<li>OriginalCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a2fac015153af29a7c87eb69848fd4348\">QsciStyle</a>\n</li>\n<li>OtherInTag\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_p.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_p\"></a>- p -</h3><ul>\n<li>PageDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbd164907353acc3e218943d86d03b23\">QsciCommand</a>\n</li>\n<li>PageDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6febe41f0669f54f4c14f2c32329569\">QsciCommand</a>\n</li>\n<li>PageDownRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a70472783731018e17e0943ee14e4ca6d\">QsciCommand</a>\n</li>\n<li>PageUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a69b8ec474437f655c93b019729093b82\">QsciCommand</a>\n</li>\n<li>PageUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac9c27eb69dde18a38bc1cbc84c9ee430\">QsciCommand</a>\n</li>\n<li>PageUpRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a31667dadedf4289250d3e1b5a1e9bf36\">QsciCommand</a>\n</li>\n<li>ParaDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b695afb34e16591b039b9a318729838\">QsciCommand</a>\n</li>\n<li>ParaDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a343a73f6732c17f02d9e8158c935abde\">QsciCommand</a>\n</li>\n<li>Parameter\n: <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba8ef7c23e297528dd4c2d3b02c0dd6fdc\">QsciLexerSpice</a>\n</li>\n<li>ParameterExpansion\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a4c54dd14d11fd76a32c51e91f204a4cf\">QsciLexerBash</a>\n</li>\n<li>ParaUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bd7f7cdb9537b4b7b9bdf58aeae3733\">QsciCommand</a>\n</li>\n<li>ParaUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac121331a789c14d2d8ee4065877c2127\">QsciCommand</a>\n</li>\n<li>Paste\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac0877b23ce38bba85fc30eecb347a662\">QsciCommand</a>\n</li>\n<li>PercentStringQ\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda6c5d3e3f93635ec89652a2ef93763f8f\">QsciLexerRuby</a>\n</li>\n<li>PercentStringq\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4ddf93050bae629ab5c0f786e92809f6\">QsciLexerRuby</a>\n</li>\n<li>PercentStringr\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda02679f74d964ce8130c528a3d75edeae\">QsciLexerRuby</a>\n</li>\n<li>PercentStringw\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3df92c38564360c4aa73c65abcad153a\">QsciLexerRuby</a>\n</li>\n<li>PercentStringx\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdadff89867eee2f270b2bbf832a690a70c\">QsciLexerRuby</a>\n</li>\n<li>PHPComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\">QsciLexerHTML</a>\n</li>\n<li>PHPCommentLine\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\">QsciLexerHTML</a>\n</li>\n<li>PHPDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\">QsciLexerHTML</a>\n</li>\n<li>PHPDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\">QsciLexerHTML</a>\n</li>\n<li>PHPDoubleQuotedVariable\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\">QsciLexerHTML</a>\n</li>\n<li>PHPKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\">QsciLexerHTML</a>\n</li>\n<li>PHPNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\">QsciLexerHTML</a>\n</li>\n<li>PHPOperator\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\">QsciLexerHTML</a>\n</li>\n<li>PHPSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\">QsciLexerHTML</a>\n</li>\n<li>PHPStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\">QsciLexerHTML</a>\n</li>\n<li>PHPVariable\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\">QsciLexerHTML</a>\n</li>\n<li>PlainFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\">QsciScintilla</a>\n</li>\n<li>PlainIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0563b9d3106c3d8943c72c9fb607b1a9\">QsciScintilla</a>\n</li>\n<li>Plugin\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca5ef99ccc5e6240b6acbe7b25344f0190\">QsciLexerAVS</a>\n</li>\n<li>Plus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a21c1ea793bbfcbe6321cbc2ce042b5b4\">QsciScintilla</a>\n</li>\n<li>PlusComment\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a18673427116b1edbb055fe5ee7df8016\">QsciLexerSQL</a>\n</li>\n<li>PlusKeyword\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a52cefb7860ec4c58e77b235075b7d03b\">QsciLexerSQL</a>\n</li>\n<li>PlusPrompt\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a535f8aef24004cc85bda1a8dfda7d0dd\">QsciLexerSQL</a>\n</li>\n<li>POD\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a64e30800729f8ef4d273130a90b62704\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdad72bbb5f1aa4cd77945f45796235e38d\">QsciLexerRuby</a>\n</li>\n<li>PODVerbatim\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aecb9bf65704610bce3bf8dbfdbce40a4\">QsciLexerPerl</a>\n</li>\n<li>PortConnection\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3dd763156bf7395a20a62d80cebe1e89\">QsciLexerVerilog</a>\n</li>\n<li>Position\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea4820b79815efb26525981af5a8901010\">QsciLexerDiff</a>\n</li>\n<li>Prechar\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b030c189a22e2cdad1db39f200048d0\">QsciLexerMarkdown</a>\n</li>\n<li>PredefinedFunctions\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865af91917dbaed11a4006fa44e3e27d59c7\">QsciLexerPOV</a>\n</li>\n<li>PredefinedIdentifiers\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a626eefd58e520c62f69320fd00ab2869\">QsciLexerPOV</a>\n</li>\n<li>PreProcessor\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a84af89605b0d39edc60401dee749d076\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\">QsciLexerFortran77</a>\n</li>\n<li>Preprocessor\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af9f702c766041919da2c7dac8fc11901\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a563fecbc7fd5cd98a6c2bcc851c71f95\">QsciLexerMakefile</a>\n</li>\n<li>PreProcessor\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfacfd2039caa846a92af36182615b36777\">QsciLexerPascal</a>\n</li>\n<li>Preprocessor\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3e547dfc36110bbc544486aa98400c78\">QsciLexerVerilog</a>\n</li>\n<li>PreProcessorComment\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">QsciLexerCPP</a>\n</li>\n<li>PreProcessorCommentLineDoc\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">QsciLexerCPP</a>\n</li>\n<li>PreProcessorParenthesis\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa414d215a01c3d205a300976cf7f81556\">QsciLexerPascal</a>\n</li>\n<li>ProcedureParenthesis\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a05a498ca8c50a19f88c7294e6b30ff88\">QsciLexerPostScript</a>\n</li>\n<li>ProgrammerComment\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa2dfeba8e7fbcab62329d0154f97ac4d0\">QsciLexerPO</a>\n</li>\n<li>Property\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa88aba2fd85a3f47a7c5f2f5034c8cd42\">QsciLexerJSON</a>\n</li>\n<li>PseudoClass\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad9a4a9e2945073685158769a62e16cda\">QsciLexerCSS</a>\n</li>\n<li>PseudoElement\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aaad0b9e8982d95504f3fdeac29c01d68\">QsciLexerCSS</a>\n</li>\n<li>PythonClassName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\">QsciLexerHTML</a>\n</li>\n<li>PythonComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\">QsciLexerHTML</a>\n</li>\n<li>PythonDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\">QsciLexerHTML</a>\n</li>\n<li>PythonDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\">QsciLexerHTML</a>\n</li>\n<li>PythonFunctionMethodName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\">QsciLexerHTML</a>\n</li>\n<li>PythonIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\">QsciLexerHTML</a>\n</li>\n<li>PythonKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\">QsciLexerHTML</a>\n</li>\n<li>PythonNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\">QsciLexerHTML</a>\n</li>\n<li>PythonOperator\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\">QsciLexerHTML</a>\n</li>\n<li>PythonSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\">QsciLexerHTML</a>\n</li>\n<li>PythonStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\">QsciLexerHTML</a>\n</li>\n<li>PythonTripleDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\">QsciLexerHTML</a>\n</li>\n<li>PythonTripleSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_q.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_q\"></a>- q -</h3><ul>\n<li>QuotedIdentifier\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5f3f93632cd25dfa0a0349f7aa0927a5\">QsciLexerSQL</a>\n</li>\n<li>QuotedKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8addadb2b0cf0671682752e80ba1650cce\">QsciLexerTCL</a>\n</li>\n<li>QuotedOperator\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5777f32072b41fa90018fbeff82b3ef1\">QsciLexerSQL</a>\n</li>\n<li>QuotedString\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a4212e6615aa13a138d3d41d4f82a35ec\">QsciLexerTCL</a>\n</li>\n<li>QuotedStringQ\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4eb6e937e8713d00368651dbeada3b74\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQQ\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a93f9be9adc1bcc1289155cca445eb860\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQQVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3a4919b9d5dfefc405bd70d8f6ce780a\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQR\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7931aea4826aceb60ba2aab3fd7b5884\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQRVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a5dd29ed0e2532a609155a9f2279cda6b\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQW\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ad9cf54861772d7a5cf696c4bb4be04cd\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQX\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a500ce87c3501f0e8d86db52eefdc7b8e\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQXVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4bd8b77cc8ca06d77281c7c146b7f9be\">QsciLexerPerl</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_r.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_r\"></a>- r -</h3><ul>\n<li>RawString\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8f0a37846a48085a681eb744375efbc9\">QsciLexerD</a>\n</li>\n<li>Rectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496aeeea97e421201a5e5e0765a10e8bae9e\">QsciScintilla</a>\n</li>\n<li>Redo\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad12c4dd6bcaefc08fcff8fe3d80b3b66\">QsciCommand</a>\n</li>\n<li>Reference\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa63922f67e65df9af550da3187a0111f5\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a3f8ff59b87800339f36dabda96e570a4\">QsciLexerYAML</a>\n</li>\n<li>Regex\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aca5c64a4bc75adb3be878a492906cfba\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1ba94b26ebb6f719bfec1e2fc5c180a7\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda939c896299ac5cc057aced1a059250a2\">QsciLexerRuby</a>\n</li>\n<li>RegexVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a52496f8867a7285b205ef55fb014d84e\">QsciLexerPerl</a>\n</li>\n<li>ReleaseSeparator\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a4254cdff4374acc77c40019d0f5e3aea\">QsciLexerEDIFACT</a>\n</li>\n<li>RemovingPatchAdded\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea099c8e026c4cd919ba2817c0cb8635f8\">QsciLexerDiff</a>\n</li>\n<li>RemovingPatchRemoved\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafbf7c6e605c3f9faab11cbc79c866614\">QsciLexerDiff</a>\n</li>\n<li>ReverseLines\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a740c74f61e7d91060ccc9e0945318787\">QsciCommand</a>\n</li>\n<li>RightArrow\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a83df9bcfb20a4df73ba28ae7e25adc88\">QsciScintilla</a>\n</li>\n<li>RightTriangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a0865ee6d974f4969f239565400fa5e86\">QsciScintilla</a>\n</li>\n<li>RoundBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974abb8b610c8536fb766052a18f19572ed0\">QsciScintilla</a>\n</li>\n<li>RoundedBottomLeftCorner\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496afa25f9b9f604542625e2eeb812484363\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_s.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_s\"></a>- s -</h3><ul>\n<li>SC_IV_LOOKBOTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\">QsciScintillaBase</a>\n</li>\n<li>SC_IV_LOOKFORWARD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\">QsciScintillaBase</a>\n</li>\n<li>SC_IV_NONE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\">QsciScintillaBase</a>\n</li>\n<li>SC_IV_REAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_BACK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_COLOUR\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_FORE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_NUMBER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_RTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_SYMBOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_TEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ARROW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ARROWDOWN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ARROWS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_AVAILABLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BACKGROUND\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOOKMARK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXMINUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXMINUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXPLUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXPLUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CHARACTER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEMINUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEMINUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEPLUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEPLUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_DOTDOTDOT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_EMPTY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_FULLRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_LCORNER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_LCORNERCURVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_LEFTRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_MINUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_PIXMAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_PLUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_RGBAIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ROUNDRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_SHORTARROW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_SMALLRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_TCORNER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_TCORNERCURVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_UNDERLINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_VLINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">QsciScintillaBase</a>\n</li>\n<li>Scalar\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200abf5cf8907ae93f41cec829969dfdbf18\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8fe3c7834c771123699097248a2a97fa\">QsciLexerPerl</a>\n</li>\n<li>SCI_ADDTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\">QsciScintillaBase</a>\n</li>\n<li>SCI_AUTOCSETMAXHEIGHT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\">QsciScintillaBase</a>\n</li>\n<li>SCI_CLEARREGISTEREDIMAGES\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">QsciScintillaBase</a>\n</li>\n<li>SCI_COPYALLOWLINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\">QsciScintillaBase</a>\n</li>\n<li>SCI_EMPTYUNDOBUFFER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETANCHOR\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETCHARACTERPOINTER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETCURRENTPOS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETENDSTYLED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETLEXER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINCURSORN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINMASKN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINSENSITIVEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINTYPEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINWIDTHN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMODIFY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETREADONLY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETTEXTLENGTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\">QsciScintillaBase</a>\n</li>\n<li>SCI_GOTOPOS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERADD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDEFINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDEFINEPIXMAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDEFINERGBAIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDELETE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDELETEALL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDELETEHANDLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERGET\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERLINEFROMHANDLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERNEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERPREVIOUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERSETBACK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERSETFORE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">QsciScintillaBase</a>\n</li>\n<li>SCI_REGISTERIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">QsciScintillaBase</a>\n</li>\n<li>SCI_REGISTERRGBAIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">QsciScintillaBase</a>\n</li>\n<li>SCI_RGBAIMAGESETHEIGHT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">QsciScintillaBase</a>\n</li>\n<li>SCI_RGBAIMAGESETWIDTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETANCHOR\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETCURRENTPOS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETLEXER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETLEXERLANGUAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINCURSORN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINMASKN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINSENSITIVEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINTYPEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINWIDTHN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETREADONLY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETSAVEPOINT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">QsciScintillaBase</a>\n</li>\n<li>SCI_TEXTWIDTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_A68K\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ABAQUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ADA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_APDL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASM\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASN1\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASYMPTOTE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AU3\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AVS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BAAN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BASH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BATCH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BIBTEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BLITZBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BULLANT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CAML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CLW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CLWNOCASE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CMAKE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_COBOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_COFFEESCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CONF\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CONTAINER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CPP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CPPNOCASE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CSOUND\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CSS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_D\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_DIFF\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_DMAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_DMIS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ECL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_EDIFACT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_EIFFEL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_EIFFELKW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ERLANG\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ERRORLIST\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ESCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_F77\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FLAGSHIP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FORTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FORTRAN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FREEBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_GAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_GUI4CLI\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_HASKELL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_HTML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_IHEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_INDENT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_INNOSETUP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_JSON\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_KIX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_KVIRC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LATEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LISP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LITERATEHASKELL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LOT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LOUT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LUA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MAGIK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MAKEFILE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MARKDOWN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MATLAB\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MAXIMA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_METAPOST\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MMIXAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MODULA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MSSQL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MYSQL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NIMROD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NNCRONTAB\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NSIS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NULL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_OCTAVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_OPAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_OSCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PASCAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PERL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PHP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PHPSCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PLM\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PO\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POV\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POWERBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POWERPRO\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POWERSHELL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PROGRESS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PROPERTIES\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PUREBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PYTHON\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_R\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_REBOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_REGISTRY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_RUBY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_RUST\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SAS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SCRIPTOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SMALLTALK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SORCUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SPECMAN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SPICE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SQL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SREC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_STATA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_STTXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TACL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TADS3\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TCL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TCMD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TEHEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TXT2TAGS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VB\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VBSCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VERILOG\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VHDL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VISUALPROLOG\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_XML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_YAML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_ALT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_CTRL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_META\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_NORM\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_SHIFT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_SUPER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\">QsciScintillaBase</a>\n</li>\n<li>Script\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\">QsciLexerHTML</a>\n</li>\n<li>ScrollToEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a16b9e2cd58ea3f6d094bf870e1e9e083\">QsciCommand</a>\n</li>\n<li>ScrollToStart\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad32c75499899527ccb721d6221e0b1f1\">QsciCommand</a>\n</li>\n<li>Section\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9b9be54dcfbb2e38f1243779c71c76f4\">QsciLexerProperties</a>\n</li>\n<li>SegmentEnd\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aaccf1fa00705e4639dd226d4445625d4\">QsciLexerEDIFACT</a>\n</li>\n<li>SegmentStart\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a9e6eaecb76a8dd4c84fef4b341f946e7\">QsciLexerEDIFACT</a>\n</li>\n<li>SelectAll\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8ddbd8f97e85bbef9e728a1293a94983\">QsciCommand</a>\n</li>\n<li>SelectionCopy\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a200b4ecea5a65b8690e8393b8ad3d512\">QsciCommand</a>\n</li>\n<li>SelectionCut\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a11cd9c83a7a1b74dc2a936e324ecf99e\">QsciCommand</a>\n</li>\n<li>SelectionDuplicate\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad10ac67847b362c169d7e3b0b3463290\">QsciCommand</a>\n</li>\n<li>SelectionLowerCase\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff49104707e447f73d08afd744b1f68d\">QsciCommand</a>\n</li>\n<li>SelectionUpperCase\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5df7c07cf8cf1eee546837ece594dcaa\">QsciCommand</a>\n</li>\n<li>SGMLBlockDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\">QsciLexerHTML</a>\n</li>\n<li>SGMLCommand\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\">QsciLexerHTML</a>\n</li>\n<li>SGMLComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\">QsciLexerHTML</a>\n</li>\n<li>SGMLDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\">QsciLexerHTML</a>\n</li>\n<li>SGMLDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\">QsciLexerHTML</a>\n</li>\n<li>SGMLEntity\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\">QsciLexerHTML</a>\n</li>\n<li>SGMLError\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\">QsciLexerHTML</a>\n</li>\n<li>SGMLParameter\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\">QsciLexerHTML</a>\n</li>\n<li>SGMLParameterComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\">QsciLexerHTML</a>\n</li>\n<li>SGMLSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\">QsciLexerHTML</a>\n</li>\n<li>SGMLSpecial\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\">QsciLexerHTML</a>\n</li>\n<li>SingleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ace53a2a59f95bc733101f4e7e57d1974\">QsciLexerPython</a>\n</li>\n<li>SingleQuotedHereDocument\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8ec3f6f93c549d0d214ad89b4c610682\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a73e0d55813d2d21a060a9e1e59360506\">QsciLexerPerl</a>\n</li>\n<li>SingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a46cd77a8b0bd8346f9530a98bc9d732b\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad64eca43c5aa797920a0b5db86c7ebb7\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a0e475783c35d0707225bfc28edd36d2e\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae325b4d8dbeeb693c7b76b746ee81e81\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2cf9c05452a47bcde418b4cf691bbcd1\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301aacabc0f11d5b649fb4b4814018fbc2d7\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb7fbac71a097f21eb72fa0133f5c705\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a03b0ae83ccbc6a4f885418d25b4ace87\">QsciLexerSQL</a>\n</li>\n<li>SloppyBraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523a35852dc4c418589c8751dfc913abb65c\">QsciScintilla</a>\n</li>\n<li>SmallRectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ad738bdaec4c29f98478434c2aad0b4a0\">QsciScintilla</a>\n</li>\n<li>Spaces\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcac76a1a962494e9526e70eabaa648c75e\">QsciLexerPython</a>\n</li>\n<li>Special\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ade428e04a07f3c12bc49b3894ac9f308\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da7121480be645d8d29be82f3b71069f4c\">QsciLexerTeX</a>\n</li>\n<li>SquiggleIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4a05171985efcac66b2a9b807cd5ca31\">QsciScintilla</a>\n</li>\n<li>SquiggleLowIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a1ab0879dfc51ea5894fcfc108f3baa59\">QsciScintilla</a>\n</li>\n<li>SquigglePixmapIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a989b84433c9f4c7a95dbb3d3802b724f\">QsciScintilla</a>\n</li>\n<li>StandardFunction\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac0e0b6c72ddc65750f5f0e347a212543\">QsciLexerVHDL</a>\n</li>\n<li>StandardOperator\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a5aa1000c3189173cae05443b809e1471\">QsciLexerVHDL</a>\n</li>\n<li>StandardPackage\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a54f69bab09ed1818a5aab51fd3569531\">QsciLexerVHDL</a>\n</li>\n<li>StandardType\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a341ea56a3223fe36e9d89157c6e3b1d5\">QsciLexerVHDL</a>\n</li>\n<li>Stderr\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae0c485bc9e3025341d39501600a5221d\">QsciLexerRuby</a>\n</li>\n<li>Stdin\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb88fb8ac7aadad4027a14bfe2aa329b\">QsciLexerRuby</a>\n</li>\n<li>Stdout\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3d377471f1eb2d17957d8050ed4fdf6d\">QsciLexerRuby</a>\n</li>\n<li>StraightBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aba9ac8f4ae4eaaee90be633ccb94bbf4\">QsciScintilla</a>\n</li>\n<li>StrictBraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\">QsciScintilla</a>\n</li>\n<li>StrikeIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a029dfc2ae051a07911e1d1e733825e96\">QsciScintilla</a>\n</li>\n<li>StrikeOut\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a5d43deb58f0cb230bcb445b304b0127e\">QsciLexerMarkdown</a>\n</li>\n<li>String\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca089dbc8f4ad6daf5a64f5a3f727b9f45\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a366e071a1824dc401d8ff7adac0e5e9d\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca36b40f73931a76fb1845ddac7618c996\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa7b6c84719042446c851bcf2882bb4761\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a351f36d3635a5f3af4815f6a74863eae\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a9eae7fcd2dbdb17e1aeaf6eb5853a5b2\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa493689dbaca8a280da2285e1d85e8bc1\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ad62daedcc5bd7ae90562a1f95a982f09\">QsciLexerVHDL</a>\n</li>\n<li>StringLeftQuote\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a940faa24e7d4d2fad2b1eb485fa94577\">QsciLexerCMake</a>\n</li>\n<li>StringRightQuote\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a35e061dbf8afc0f987f10f2e17cb4ca7\">QsciLexerCMake</a>\n</li>\n<li>StringTableMathsFunctions\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af4a7065e3246c398a68f9af4ad839eb7\">QsciLexerLua</a>\n</li>\n<li>StringVariable\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5abdf5c1c3e946ecaed431bbe352eaa8a1\">QsciLexerCMake</a>\n</li>\n<li>StrongEmphasisAsterisks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a31fcb70a32415babac5b88241cb73623\">QsciLexerMarkdown</a>\n</li>\n<li>StrongEmphasisUnderscores\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aaa8e9324e7aea282138de01e76f8f56c\">QsciLexerMarkdown</a>\n</li>\n<li>StutteredPageDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab05b31fae6958a99166222cc3efd076a\">QsciCommand</a>\n</li>\n<li>StutteredPageDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad07964451843f3c910b7228dfb589857\">QsciCommand</a>\n</li>\n<li>StutteredPageUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a9be0a9fe5bfc0864f0f40987a4806a62\">QsciCommand</a>\n</li>\n<li>StutteredPageUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a26d878df5382e38843e754078aa8f44f\">QsciCommand</a>\n</li>\n<li>SubroutinePrototype\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa77b69ca726faae33472a1ff018d54af\">QsciLexerPerl</a>\n</li>\n<li>Substitution\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3edcaf1beac4277212faf8f30c8271b9\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a56519805233273c84151d68bf400b2d9\">QsciLexerTCL</a>\n</li>\n<li>SubstitutionBrace\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa7072662f6d21b6077eaec2ed2ed6836\">QsciLexerTCL</a>\n</li>\n<li>SubstitutionVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7c0194dff17baffd0e9592b581944fda\">QsciLexerPerl</a>\n</li>\n<li>Symbol\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaf94cff4b54c0376f5c0e99ab3bf5cbee\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da870bf45d37836b716ba1b8798f3d0805\">QsciLexerTeX</a>\n</li>\n<li>SymbolMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac77614e4b9956e3c44fface749ff6602\">QsciScintilla</a>\n</li>\n<li>SymbolMarginColor\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac306b600646e9cf9c58cc637e76fc805\">QsciScintilla</a>\n</li>\n<li>SymbolMarginDefaultBackgroundColor\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ad60eb277ce18f3c7baa28721ab5dc834\">QsciScintilla</a>\n</li>\n<li>SymbolMarginDefaultForegroundColor\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a0e3a004e5eebb910f8329a48e7721e03\">QsciScintilla</a>\n</li>\n<li>SymbolTable\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adfaa14e55f48f7774f991a73f8a7fadc\">QsciLexerPerl</a>\n</li>\n<li>SyntaxErrorMarker\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a0024c2fed82fedf931d39537f2890d52\">QsciLexerYAML</a>\n</li>\n<li>SystemTask\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa6cc28d1f75a45d11566a7f19947e4cf1\">QsciLexerVerilog</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_t.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_t\"></a>- t -</h3><ul>\n<li>Tab\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab89051fd7c64cea84abec8d21809d2ee\">QsciCommand</a>\n</li>\n<li>TabLongArrow\n: <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3a4e7561cfb578c42760c28e9f74241db9\">QsciScintilla</a>\n</li>\n<li>Tabs\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca5be72dba23dedfc6d0b0f796c3ba163d\">QsciLexerPython</a>\n</li>\n<li>TabsAfterSpaces\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaee65363fac7fe11d24582a68c3864686\">QsciLexerPython</a>\n</li>\n<li>TabStrikeOut\n: <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3af47cfb4645cf89aaf9580878fa5396bd\">QsciScintilla</a>\n</li>\n<li>Tag\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a1f6473d0fc2f6bddc22eea9d01ea05ad\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\">QsciLexerHTML</a>\n</li>\n<li>Target\n: <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a052ed29ca1c8ceece8d01376e2c05129\">QsciLexerMakefile</a>\n</li>\n<li>TaskMarker\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">QsciLexerCPP</a>\n</li>\n<li>TCLKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a573bd1485068b767dda643d3201fb5a1\">QsciLexerTCL</a>\n</li>\n<li>Text\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ad763c4ea8a19d8fc4ce9eb9297b8bcb2\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dadb01f6480e4306630d190016cf38bb58\">QsciLexerTeX</a>\n</li>\n<li>TextBlockMarker\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649abd37b98004840ba4f31853e6ec18fa86\">QsciLexerYAML</a>\n</li>\n<li>TextColorIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab2245f80f3cbb9a114fc4dddd7f004e2\">QsciScintilla</a>\n</li>\n<li>TextMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a067796489486bcc1573cb0951a4199a9\">QsciScintilla</a>\n</li>\n<li>TextMarginRightJustified\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a7445fe74d90bd62eceb5311b1f7f52fc\">QsciScintilla</a>\n</li>\n<li>ThickCompositionIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974affa2d89915d3958c0938d55a17c6afb7\">QsciScintilla</a>\n</li>\n<li>ThinCompositionIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ad602bf60625109aecfce418a5e37b1e7\">QsciScintilla</a>\n</li>\n<li>ThreeDots\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ade6443defea98e4663e396785393fa20\">QsciScintilla</a>\n</li>\n<li>ThreeRightArrows\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae40bc43f021c051ae9d3dc8bb0cc4a04\">QsciScintilla</a>\n</li>\n<li>TkCommand\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1bf59ca4e6d1204ef32722d09890dff0\">QsciLexerTCL</a>\n</li>\n<li>TkKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ace310f4d3487840abe7a4c2a4a0a50b8\">QsciLexerTCL</a>\n</li>\n<li>Translation\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a84d882c68a32f9eefcfc6ad3ff953c6e\">QsciLexerPerl</a>\n</li>\n<li>TriangleCharacterIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab1d6bb2b94362ebcd6e8388f8812e3f4\">QsciScintilla</a>\n</li>\n<li>TriangleIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aaade48e18985d23630c6178148bf1c8d\">QsciScintilla</a>\n</li>\n<li>TripleDoubleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad1142de6be72ec89e7ce114412c97f2e\">QsciLexerPython</a>\n</li>\n<li>TripleDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a1495ec67c855b00c949a8bd8672aa1bc\">QsciLexerPython</a>\n</li>\n<li>TripleQuotedVerbatimString\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">QsciLexerCPP</a>\n</li>\n<li>TripleSingleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a25b848383c93ca55b77d6ef1cc6b0fbf\">QsciLexerPython</a>\n</li>\n<li>TripleSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad85722ad55aee4bf1966db4a7cfd2b32\">QsciLexerPython</a>\n</li>\n<li>TripleString\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cadfef00dbe2a706f7571b769d872ea877\">QsciLexerAVS</a>\n</li>\n<li>TTIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974af3054c8db19f828df05ac08221c5462e\">QsciScintilla</a>\n</li>\n<li>Typedefs\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca066688031c2850c809c6e78751600f24\">QsciLexerD</a>\n</li>\n<li>TypesModifiersItems\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ab4fc4fd29a371a49c534a75dc1bc55ee\">QsciLexerPOV</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_u.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_u\"></a>- u -</h3><ul>\n<li>UNASegmentHeader\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a67f04037636b9bf5c23185918ecbf23c\">QsciLexerEDIFACT</a>\n</li>\n<li>UnclosedString\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad66f62da8384e226b3c0e33455d93bd4\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca2f341004504fd3e8154b64e90090a5ca\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0cfad0410b6763f5b5ff6763da3fb387\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25afcd79271430a9af1fba6b94ee41cdf38\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa19098093aa64ac0fdca24cacb30983cf\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865adcae9bdc3f27f2791e7b6a0608fcd6f2\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac5ef1d9860f88a3f84521ff88dca3878\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf996ceeff4869191f640d2dc18d7c016\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300af2479b7be15f744baac9ef19fa7bfc7e\">QsciLexerVHDL</a>\n</li>\n<li>Underline\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a42de7d5678b0e92ed7f07ef1b9887f\">QsciScintilla</a>\n</li>\n<li>Undo\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0089e5295b999464b699fb736a449b4f\">QsciCommand</a>\n</li>\n<li>UNHSegmentHeader\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aef15dd60ea1b00583c397d3a5a915e4f\">QsciLexerEDIFACT</a>\n</li>\n<li>UnknownAttribute\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\">QsciLexerHTML</a>\n</li>\n<li>UnknownProperty\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0af3110ffc53b23fa5dbe17151dc7a5e75\">QsciLexerCSS</a>\n</li>\n<li>UnknownPseudoClass\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a6ae93503184d2ba66879daeefaeb4b23\">QsciLexerCSS</a>\n</li>\n<li>UnknownTag\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\">QsciLexerHTML</a>\n</li>\n<li>UnorderedListItem\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4dee86f709fab3714e84cadbb9f6c4a3\">QsciLexerMarkdown</a>\n</li>\n<li>UpperCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609aeb98b8f24b317cec7c271fd337185e75\">QsciStyle</a>\n</li>\n<li>UserKeywordSet\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa080431ca218b5ae5653c49c9caf55727\">QsciLexerVerilog</a>\n</li>\n<li>UserLiteral\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">QsciLexerCPP</a>\n</li>\n<li>UUID\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a063d7d591aa18ae40fcde793e1be1f01\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">QsciLexerCPP</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_v.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_v\"></a>- v -</h3><ul>\n<li>Value\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0acdf1ff5843500ebbfe209bff6c0e4370\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab60e5eb1f93052950f0c913b91cacc73\">QsciLexerSpice</a>\n</li>\n<li>Variable\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ad471bc2288e75b3f82a290f0e143c5f4\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac5108d9ae30f7b74ce6c621f69531e6e\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7b8d54656b8a5eb94be142ad027f672\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a58d72990db11b97d2dd8dbd8124f8386\">QsciLexerMakefile</a>\n</li>\n<li>VBScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\">QsciLexerHTML</a>\n</li>\n<li>VBScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\">QsciLexerHTML</a>\n</li>\n<li>VBScriptIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\">QsciLexerHTML</a>\n</li>\n<li>VBScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\">QsciLexerHTML</a>\n</li>\n<li>VBScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\">QsciLexerHTML</a>\n</li>\n<li>VBScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\">QsciLexerHTML</a>\n</li>\n<li>VBScriptString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\">QsciLexerHTML</a>\n</li>\n<li>VBScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\">QsciLexerHTML</a>\n</li>\n<li>VCHome\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac443339cd46d0646cd97870506e91110\">QsciCommand</a>\n</li>\n<li>VCHomeExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1e0ff1255da4ea0a77750d55a9aaaef4\">QsciCommand</a>\n</li>\n<li>VCHomeRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adbf224a91e83518a244bb5a726c69bed\">QsciCommand</a>\n</li>\n<li>VCHomeWrap\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7affdd507c7e4221726f980f95910ed5a5\">QsciCommand</a>\n</li>\n<li>VCHomeWrapExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af1db27f7f04534cc2071e71c422e4a45\">QsciCommand</a>\n</li>\n<li>VerbatimString\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6f653903645cf19e5ea1c7e870ae9efb\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">QsciLexerCPP</a>\n</li>\n<li>VerticalCentreCaret\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a593083e106606bf5fb3d2322068c455f\">QsciCommand</a>\n</li>\n<li>VerticalLine\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496acca6c5051d9438d75b757aaf5a0a6ab6\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_w.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_w\"></a>- w -</h3><ul>\n<li>WordLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aec027d50c71ee8604872c5cc839250cd\">QsciCommand</a>\n</li>\n<li>WordLeftEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac3e19af04d3083f26408dcb6ad3c73b7\">QsciCommand</a>\n</li>\n<li>WordLeftEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab2f7d005b37a7b61964e456b26d4a3f6\">QsciCommand</a>\n</li>\n<li>WordLeftExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5b4b9629de523b97fcbad43c21dc37bb\">QsciCommand</a>\n</li>\n<li>WordPartLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac1b4586de16ecd614e34d98c7ca360ec\">QsciCommand</a>\n</li>\n<li>WordPartLeftExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0e5436d5c8bd4e42f0e542cbb852645d\">QsciCommand</a>\n</li>\n<li>WordPartRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a78c1a79cb762dc96072ef5bc1d90b20b\">QsciCommand</a>\n</li>\n<li>WordPartRightExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1ad48872dc33ca01b0502594c6dd6df1\">QsciCommand</a>\n</li>\n<li>WordRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e61252df5bfefd5081d9cb4170844d3\">QsciCommand</a>\n</li>\n<li>WordRightEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1099ee8200e0d0799a2721ff9828fe48\">QsciCommand</a>\n</li>\n<li>WordRightEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a455d6eda859feb8aed088f22587d5aa3\">QsciCommand</a>\n</li>\n<li>WordRightExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac69665982f4477d00509573ceea8a8f3\">QsciCommand</a>\n</li>\n<li>WrapCharacter\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a2bfc1bf41df6a56d925f3c369822435e\">QsciScintilla</a>\n</li>\n<li>WrapFlagByBorder\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\">QsciScintilla</a>\n</li>\n<li>WrapFlagByText\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\">QsciScintilla</a>\n</li>\n<li>WrapFlagInMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a0b40cb40f72cd10104a75c84ae809211\">QsciScintilla</a>\n</li>\n<li>WrapFlagNone\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">QsciScintilla</a>\n</li>\n<li>WrapIndentDeeplyIndented\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03aa2d7362610a92c58aa764a1df8914146\">QsciScintilla</a>\n</li>\n<li>WrapIndentFixed\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a041dc048521b889bf1db274546d0f562\">QsciScintilla</a>\n</li>\n<li>WrapIndentIndented\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a0cb2a2ef379ad02b388a08880a624f2b\">QsciScintilla</a>\n</li>\n<li>WrapIndentSame\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03ab9cc585fd0eb9a14e0f8c7d9389656e8\">QsciScintilla</a>\n</li>\n<li>WrapNone\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a8005165822ca83fced05329d4d5b1964\">QsciScintilla</a>\n</li>\n<li>WrapWhitespace\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42ae04a9e56dd933f834facd3cda30bb9ff\">QsciScintilla</a>\n</li>\n<li>WrapWord\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42aeb6fe909aad13c04aab01c9c216ac2ec\">QsciScintilla</a>\n</li>\n<li>WsInvisible\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba994f4bd1f6121045ed81ea991bc97977\">QsciScintilla</a>\n</li>\n<li>WsVisible\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07bab8e171675f00912460e07c79793dc878\">QsciScintilla</a>\n</li>\n<li>WsVisibleAfterIndent\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba6f5e479444e170f8eabb37e2b2261daa\">QsciScintilla</a>\n</li>\n<li>WsVisibleOnlyInIndent\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba4908a41a9a5b8994ccae0a1441fbc07c\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_x.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_x\"></a>- x -</h3><ul>\n<li>XMLEnd\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\">QsciLexerHTML</a>\n</li>\n<li>XMLStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\">QsciLexerHTML</a>\n</li>\n<li>XMLTagEnd\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_eval_z.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Enumerator</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_z\"></a>- z -</h3><ul>\n<li>ZoomIn\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5e12affbccb0a63c1bd78ca5617b0289\">QsciCommand</a>\n</li>\n<li>ZoomOut\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae5d11d096795f1a1c7b4d56e41c9b1af\">QsciCommand</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_f.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_f\"></a>- f -</h3><ul>\n<li>fillIndicatorRange()\n: <a class=\"el\" href=\"classQsciScintilla.html#a44d1c322098eb0cf44cf78e866ed80cb\">QsciScintilla</a>\n</li>\n<li>Filter\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caa78ba1174c6df16aceae243269933062\">QsciLexerAVS</a>\n</li>\n<li>findFirst()\n: <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">QsciScintilla</a>\n</li>\n<li>findFirstInSelection()\n: <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">QsciScintilla</a>\n</li>\n<li>findMatchingBrace()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5b4b113d57b73a7b531f137a98ecc1bc\">QsciScintilla</a>\n</li>\n<li>findNext()\n: <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">QsciScintilla</a>\n</li>\n<li>firstVisibleLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a689eed3f6219e20924bcffdb95f27526\">QsciScintilla</a>\n</li>\n<li>Flags\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa8189b733270e2d02ea3986e9bbfbe0d0\">QsciLexerPO</a>\n</li>\n<li>focusInEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">QsciScintillaBase</a>\n</li>\n<li>focusNextPrevChild()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">QsciScintillaBase</a>\n</li>\n<li>focusOutEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">QsciScintillaBase</a>\n</li>\n<li>foldAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#afea26881f9979a1769ba85c668351cee\">QsciScintilla</a>\n</li>\n<li>foldAtBegin()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#a6443ca03dcf722445e6627e9991bb10c\">QsciLexerVHDL</a>\n</li>\n<li>foldAtElse()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#aa3c50f5bd00d091303665066c8f4d741\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a0e5afa1027b99648caeb70ed8423af2d\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a696abf6da5415e772e5ade8752eac3b2\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#aa86a61cd082e2e9fd76e878e8d6a096a\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a4cf0c0ab9cb0628c515910c67fab9950\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a1bb598533be61e117a252d06cf5e4a4b\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a46e8e5909bfc92669cf155317ecb6fe9\">QsciLexerVHDL</a>\n</li>\n<li>foldAtModule()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#a8a4389bd37a806046a7c0b51cc1a6ead\">QsciLexerVerilog</a>\n</li>\n<li>foldAtParenthesis()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#afd8eebb9ee14760d1529f614f18a2e52\">QsciLexerVHDL</a>\n</li>\n<li>foldComments()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a42a1cdec7111af0685a9d89419a821bd\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a27f6ffff6c6020126b5318ed8ba76c54\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a6865962a5df72e37f4ba49c6e5e539b6\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#ae32591385112bb3d33de8c1c40888190\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a8c74012833091c1f71e2bea9d1a2a5d5\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a30d1fae97aaef0b3fafab8e790caf130\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#ae9881257bbcc887cdbe21e74bbb8ea65\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a40b4351699e48f7b34faa84c5dbc4704\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a1a7acaa356fdbefd26cfe0f30264c43a\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a846ebeb36f0847cee3599860f787bcde\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#add132f5762831171fdee856172a0a5dc\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a71b5b892a7a30a4f57b9efa64fdf5f32\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a06f4a0a490680e76ba0edb0fe4fe4dc5\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a7e9725132ec5521255eb7d9ac81ae853\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#adfb332858ee86dc00f58f309f394d9d8\">QsciLexerYAML</a>\n</li>\n<li>foldCompact()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#acee212ef3dceca125cadb16ae9cc5fc3\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a554d4c9b25ad66e23092adf6f9b0460e\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a16d546ecc7d16a609e368a4d2d557605\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aecbd103b6dff15873e60cdf48e634a4a\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a02cb3518d6145815b22359d8d5aa2cf1\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a16a2faffdfcc5893a6fd08d270d69798\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a27383c2def3f59e903aec9537ef43d2c\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#ae88783c3de2f0c4a0129e5bec77cc5ca\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a0c3e05e1bbdc4614fc7e76e508178592\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a1ec44d2dfe2f40d6267f3067f66c9a3d\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#accb7e71496e6817503ea1c081ffdbab4\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a9a4ec081c6812ffb3ebc5082c08bf0db\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a2e2317346a85697a98a2e19d1c596a48\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a21891669bab4719e8e7cf482e3bf5a51\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#acbaa96d72ad071768acc25d7d56b6324\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a1d73603ec19f317dd0d6271ec852c0fc\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a01e79cce2d3e498bc5473db51e1d0bc6\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ae1f192b93ad970cb792b5dcac4aa22d8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a043411367c3fa915c8f4797cc51d0c8c\">QsciLexerVHDL</a>\n</li>\n<li>foldDirectives()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#ad16788518def261f1ce55b35141642ad\">QsciLexerPOV</a>\n</li>\n<li>folding()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0e4576d83d7604b24bd13be91011c5f7\">QsciScintilla</a>\n</li>\n<li>foldLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad6557ee0ca58413e8d3e76b942f25a7f\">QsciScintilla</a>\n</li>\n<li>foldOnlyBegin()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a9a7c5fb256df97053fbe3203aaf3a93a\">QsciLexerSQL</a>\n</li>\n<li>foldPackages()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a5ea4eb1e65b2cee23a09f143074790b4\">QsciLexerPerl</a>\n</li>\n<li>foldPODBlocks()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#ab58e1e9d037d280fc74792ace83936d4\">QsciLexerPerl</a>\n</li>\n<li>foldPreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#adae268febf025354165c88afa2414c73\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ad70da8e3f3695cfc277d02ab9c0396d3\">QsciLexerVerilog</a>\n</li>\n<li>foldQuotes()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a167dbdb42a4c0ed65229a3418153d4dd\">QsciLexerPython</a>\n</li>\n<li>foldScriptComments()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">QsciLexerHTML</a>\n</li>\n<li>foldScriptHeredocs()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">QsciLexerHTML</a>\n</li>\n<li>FoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0\">QsciScintilla</a>\n</li>\n<li>font()\n: <a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">QsciStyle</a>\n</li>\n<li>fontChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">QsciLexer</a>\n</li>\n<li>FormatBody\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adbc0e3fbe443a92d03f444a1f66b1d5c\">QsciLexerPerl</a>\n</li>\n<li>FormatIdentifier\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9af1b0ae17967c8b101eea3d9e4cc173cd\">QsciLexerPerl</a>\n</li>\n<li>formatPage()\n: <a class=\"el\" href=\"classQsciPrinter.html#a420e136529a8d49551eb8af0f5cdce03\">QsciPrinter</a>\n</li>\n<li>Formfeed\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3b46d96af1feddb3560236b9e75c39c2\">QsciCommand</a>\n</li>\n<li>fromMimeData()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">QsciScintillaBase</a>\n</li>\n<li>FullBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aeb5cb655e2f3e61e8df54655b11695f1\">QsciScintilla</a>\n</li>\n<li>FullRectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a37179bb1a189664cf22b25168ae0dc2b\">QsciScintilla</a>\n</li>\n<li>Function\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca4235f8fb2c5f08d64d9564c53c9b716d\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5acd122c7f7d43a9a7757982877d7e791c\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab2ac7b9071a9551de2302ac670e591fb\">QsciLexerSpice</a>\n</li>\n<li>FunctionMethodName\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301af182efea8f041750b774f01071af8b10\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdafc1f84fb3175d37e1a12822cdea2aabf\">QsciLexerRuby</a>\n</li>\n<li>Fuzzy\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aabc0289fe1ca5de9e2fc729b46e7fca8b\">QsciLexerPO</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_a\"></a>- a -</h3><ul>\n<li>add()\n: <a class=\"el\" href=\"classQsciAPIs.html#af46ca05571eb676d3aa65b080fb406c5\">QsciAPIs</a>\n</li>\n<li>addEdgeColumn()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac46502c93651ec7a6642afe5dca86ffc\">QsciScintilla</a>\n</li>\n<li>alternateKey()\n: <a class=\"el\" href=\"classQsciCommand.html#ae6949756a800e31f1d279aa753060966\">QsciCommand</a>\n</li>\n<li>annotate()\n: <a class=\"el\" href=\"classQsciScintilla.html#acc3981a1149b87b38f93195bb0e00f34\">QsciScintilla</a>\n</li>\n<li>annotation()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6a577313664af6dc63885f03e88d03af\">QsciScintilla</a>\n</li>\n<li>annotationDisplay()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3045ab135148ca52330ad233703a57f1\">QsciScintilla</a>\n</li>\n<li>apiContext()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab8bfeae44abd61659d207a86660b100c\">QsciScintilla</a>\n</li>\n<li>apiPreparationCancelled()\n: <a class=\"el\" href=\"classQsciAPIs.html#aaa47506820a2596004688e241fc4cd9f\">QsciAPIs</a>\n</li>\n<li>apiPreparationFinished()\n: <a class=\"el\" href=\"classQsciAPIs.html#adf779559d29fed004ec65ef560483e3c\">QsciAPIs</a>\n</li>\n<li>apiPreparationStarted()\n: <a class=\"el\" href=\"classQsciAPIs.html#a8fc5db618546fcfcc5bdc46e6d062995\">QsciAPIs</a>\n</li>\n<li>apis()\n: <a class=\"el\" href=\"classQsciLexer.html#a0aa2c7bc939d793db01bbc1863b15d63\">QsciLexer</a>\n</li>\n<li>append()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae7310729b1be2aa937a22036f5d95b51\">QsciScintilla</a>\n</li>\n<li>autoCompleteFromAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5f10e95e76c2b38b9d20f6f728243e65\">QsciScintilla</a>\n</li>\n<li>autoCompleteFromAPIs()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae89d58a67f46efad7136bead41232fd6\">QsciScintilla</a>\n</li>\n<li>autoCompleteFromDocument()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae4d479c640e2ea4444aa905f69495321\">QsciScintilla</a>\n</li>\n<li>autoCompletionCaseSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#a136a17a59a3800c40619a768ffff8d7a\">QsciScintilla</a>\n</li>\n<li>autoCompletionFillups()\n: <a class=\"el\" href=\"classQsciLexer.html#a6504a6fff35af16fbfd97889048db2a5\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ae6ef21c59fd374d1d4893adcc1e3ee9b\">QsciLexerHTML</a>\n</li>\n<li>autoCompletionFillupsEnabled()\n: <a class=\"el\" href=\"classQsciScintilla.html#a47d0cdb5df5fa6c860b4e840184fe585\">QsciScintilla</a>\n</li>\n<li>autoCompletionReplaceWord()\n: <a class=\"el\" href=\"classQsciScintilla.html#a527b309bfaf28b870c15d87a5af7c005\">QsciScintilla</a>\n</li>\n<li>autoCompletionSelected()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a90fa0f912b748b707967ccb722f04ddc\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciAPIs.html#adff0073d1f4ee2e0ea8b3bf234ff2dd3\">QsciAPIs</a>\n</li>\n<li>autoCompletionShowSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aff3b4e47fcbadeb0cf2556cf6ad164e0\">QsciScintilla</a>\n</li>\n<li>autoCompletionSource()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6c06ccce022c08674e24a96093902b49\">QsciScintilla</a>\n</li>\n<li>autoCompletionThreshold()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5178b3fd3cb946ffd4b2e52df9bb1483\">QsciScintilla</a>\n</li>\n<li>autoCompletionUseSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaeb4a9e6d4e2822524c84da5318a7f1e\">QsciScintilla</a>\n</li>\n<li>autoCompletionWordSeparators()\n: <a class=\"el\" href=\"classQsciLexer.html#a4e10650b0e9ad137062ad5c17ad33e76\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a0741fad0b942deb73642be16c3159eb1\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#af0ccf94585e15b87a18f12ab9de1c977\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a9080d0a47d2cbd972d5f2e6c737ba7fa\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#aff715db68554a1022792135e8edd0dba\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#aa28fa3e32d5d4a4efccdad6655fb28c8\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a0e4df63d7d5714b1bdb71c1975f7f99c\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a305ec320aa2357947cbeb1608b95d840\">QsciLexerPython</a>\n</li>\n<li>autoIndent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a828f1b56453686ccd423e979e55fbbae\">QsciScintilla</a>\n</li>\n<li>autoIndentStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#a79c27285b6033c553b3f54cb6c56b338\">QsciLexer</a>\n</li>\n<li>QsciAbstractAPIs()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a9db5ebe8adda3f58892af676f5295e3a\">QsciAbstractAPIs</a>\n</li>\n<li>QsciAPIs()\n: <a class=\"el\" href=\"classQsciAPIs.html#aaf185d65d1034087b77995d8490b6475\">QsciAPIs</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_b.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_b\"></a>- b -</h3><ul>\n<li>backslashEscapes()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#abf07dc83c19a3925e3cb977bf883b04c\">QsciLexerSQL</a>\n</li>\n<li>backspaceUnindents()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9122d4ac5b0b3eca120cf18ae7275bb1\">QsciScintilla</a>\n</li>\n<li>beginUndoAction()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac0f785ba228153e9df6df76ca036c030\">QsciScintilla</a>\n</li>\n<li>blockEnd()\n: <a class=\"el\" href=\"classQsciLexer.html#a8e294eba77713f516acbcebc10af1493\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a1796c98b07ec6cfc3d5953c225cc1f37\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a2263531e4445463f1d75fdfd54102404\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#ada48a387b3e1414927bebe2415de75f8\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#af9f73f93dd57019e3335011528ad6aed\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a9914377426e5e464f6d93ce2b64423a0\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a42133f1b4127c78674f89e3209236a18\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#aabf79a666eb40a912dfb7136d79f80e6\">QsciLexerRuby</a>\n</li>\n<li>blockLookback()\n: <a class=\"el\" href=\"classQsciLexer.html#a8b1bb1261e7b9701c62bbe4f1d171e06\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#afe42ac5a09816340d4bec920b523aed6\">QsciLexerPython</a>\n</li>\n<li>blockStart()\n: <a class=\"el\" href=\"classQsciLexer.html#a340eafe726fd6964c0adba956fe3428c\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a293f0a5c39990ec1db6de249dc618901\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a79d8b2101ef7b1aef1e7e01557090d6f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aae249ec529d5f7de5fa238de9208058d\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a7ea79082a0d55e78cd3a60f1f05af6d9\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a157c462625b4826a5d7fb9eec42cfc78\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a68d8b422b0d733592cc896086ca23652\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#ae33c3f0e337cfe173c61ea86c5cd3591\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#adc66ee4b78453d245ac1b4dff45490f4\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a7ecc2269f4b7a4956b7209082032245d\">QsciLexerRuby</a>\n</li>\n<li>blockStartKeyword()\n: <a class=\"el\" href=\"classQsciLexer.html#abf12117a142b6f68479ea425d80a4196\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a497144db9b43beba78cd405a795e08ac\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a2cfcfea76c396c0b7b82fc41437ff16f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#ae4490715b80237feaa25ad92d2fb6313\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#abe045873399199ba05d26e94c0e28aae\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a47eb0ab494fe54b5518b4c8bdcd2968e\">QsciLexerRuby</a>\n</li>\n<li>braceMatching()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa869897ad955e8a42c5568be590c529b\">QsciScintilla</a>\n</li>\n<li>braceStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#affe136114d62180e9a14caa81f2b7fd5\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a9023ef1aa48fd622ecac97a419cb3afe\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a96aca8cf94d490d3c7c11e71d823a9ee\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#add9b1d85d9da1c250f570482cd47eb39\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a509df9a20a1841de287849d6738ec3dd\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a24c82f4e0483ba0c13b8bf046b8c00b9\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a7df3e986e8039ee6028b39d0df1741d1\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a30570eca6c21ea302b1c6c0bd733dc14\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a4bd5b007424a8e88db37a326c0f154b5\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a3e90db838034f7404e65b2e284403604\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a05f377a9017cf5f5d51deae3f1f83445\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#adfb83ee7ea262a33f775d1e53cf38bec\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#ab30fa749a26490888fe18f2fcea47b02\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#ae7a6d23e6e8748210198b4fee3932144\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#aee09ddca3fd840b79ae954f6883fa581\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ac97e486c8c1f2233c0b35e744ef5a393\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a6d4b2db2d518117945edcbbbc4e3d26d\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a003413f4436ff46553e10db632496288\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aad362dd8a212974c01e61d12c8991b7f\">QsciLexerVHDL</a>\n</li>\n<li>bytes()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9c1818383be531c3b04cd6848145d63b\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_c.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_c\"></a>- c -</h3><ul>\n<li>callTip()\n: <a class=\"el\" href=\"classQsciScintilla.html#a33a692fb0d5781ec40080a361859fd66\">QsciScintilla</a>\n</li>\n<li>callTips()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#af9c6c3f8dc068371398a50c6b23dcbf4\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciAPIs.html#a6a75974235c5e8d263bf962c778b3a3e\">QsciAPIs</a>\n</li>\n<li>callTipsPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#a903187bfe219603ad7e20612d008ea7a\">QsciScintilla</a>\n</li>\n<li>callTipsStyle()\n: <a class=\"el\" href=\"classQsciScintilla.html#a632fe3f132c3679ada1fc22a57ca88f7\">QsciScintilla</a>\n</li>\n<li>callTipsVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8fdc8049cd5d876b10c2fd9149e72699\">QsciScintilla</a>\n</li>\n<li>cancelFind()\n: <a class=\"el\" href=\"classQsciScintilla.html#a405e4804f84e58476494314e7bf4d0a7\">QsciScintilla</a>\n</li>\n<li>cancelList()\n: <a class=\"el\" href=\"classQsciScintilla.html#a29e0cbc36bafac84bc1c755b6ee26abd\">QsciScintilla</a>\n</li>\n<li>cancelPreparation()\n: <a class=\"el\" href=\"classQsciAPIs.html#aa5c7c8855162eeb1be74c226ebf1b1b6\">QsciAPIs</a>\n</li>\n<li>canInsertFromMimeData()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#abce274ef71035c67baadaa167a1fe5a7\">QsciScintillaBase</a>\n</li>\n<li>caseSensitive()\n: <a class=\"el\" href=\"classQsciLexer.html#afccca7eb1aed463f89ac442d99135839\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#aab3e54ed46006daeb2dbdcea3f64192d\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#aeeccf4091f42418284a79dcf67419a5c\">QsciScintilla</a>\n</li>\n<li>caseSensitiveTags()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#ac53cb0d155aa3d81add74ee90585cb6a\">QsciLexerHTML</a>\n</li>\n<li>changeable()\n: <a class=\"el\" href=\"classQsciStyle.html#a4d1aa13e042609e48674f72aebd2ebae\">QsciStyle</a>\n</li>\n<li>changeEvent()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac05da1bc5b91c682f192ff594552a306\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciScintillaBase.html#ac8a72227fc8efff78505733d1663f927\">QsciScintillaBase</a>\n</li>\n<li>clear()\n: <a class=\"el\" href=\"classQsciAPIs.html#a6b29d84b0b5d63f2b590988195c7557c\">QsciAPIs</a>\n, <a class=\"el\" href=\"classQsciMacro.html#a4387e4fa992c8671dd508c0c2651e34f\">QsciMacro</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a149b39fedd3779fe797cf7c9ae793c8a\">QsciScintilla</a>\n</li>\n<li>clearAlternateKeys()\n: <a class=\"el\" href=\"classQsciCommandSet.html#af244d8499c10c569b9924c25af17655a\">QsciCommandSet</a>\n</li>\n<li>clearAnnotations()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3ad17d87cb436e0f6da52a68cd14750e\">QsciScintilla</a>\n</li>\n<li>clearEdgeColumns()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae9bbf9fa6fad6f8c9c5c9181b5dc2d45\">QsciScintilla</a>\n</li>\n<li>clearFolds()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4d4634e48eedb5b12bafe8c6fa6c41f7\">QsciScintilla</a>\n</li>\n<li>clearIndicatorRange()\n: <a class=\"el\" href=\"classQsciScintilla.html#a13721a9f909b67bca298f51ea34a01db\">QsciScintilla</a>\n</li>\n<li>clearKeys()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a7a15e4a269b804a830c881edda1563f7\">QsciCommandSet</a>\n</li>\n<li>clearMarginText()\n: <a class=\"el\" href=\"classQsciScintilla.html#aeadb693affb5816e24d28432d8dc240f\">QsciScintilla</a>\n</li>\n<li>clearRegisteredImages()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3755bcaa3e90c522162a7962de464baf\">QsciScintilla</a>\n</li>\n<li>color()\n: <a class=\"el\" href=\"classQsciLexer.html#acff58ba06195b9458a61d7ef3573c701\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a8a92ecc1db1576267f50a03d8ae93303\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#af349ce169da83e08ad9f995df48c6547\">QsciStyle</a>\n</li>\n<li>colorChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#a901cf93072b3db3ffe503eab78ae6954\">QsciLexer</a>\n</li>\n<li>command()\n: <a class=\"el\" href=\"classQsciCommand.html#aebfa962809b16312fa03f7526cc60f07\">QsciCommand</a>\n</li>\n<li>commands()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a7f46a38f9fd309442aacfb7ad2b87143\">QsciCommandSet</a>\n</li>\n<li>contextMenuEvent()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad8fcb6e32235be34335e443230fb9000\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciScintillaBase.html#adb8531cdc862f79cce9fa4d970bc13a2\">QsciScintillaBase</a>\n</li>\n<li>contractedFolds()\n: <a class=\"el\" href=\"classQsciScintilla.html#a63c0f682eecba626fff511c6b1612ab6\">QsciScintilla</a>\n</li>\n<li>convertEols()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8f3899166ef067d2780867d154539267\">QsciScintilla</a>\n</li>\n<li>copy()\n: <a class=\"el\" href=\"classQsciScintilla.html#a36deb25fada219957350847732d05889\">QsciScintilla</a>\n</li>\n<li>copyAvailable()\n: <a class=\"el\" href=\"classQsciScintilla.html#a897792c74e365b70c4d2827419dc3ecf\">QsciScintilla</a>\n</li>\n<li>createStandardContextMenu()\n: <a class=\"el\" href=\"classQsciScintilla.html#a47d5e09e3507840ae898dfdc15acd858\">QsciScintilla</a>\n</li>\n<li>cursorPositionChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#aca81f16f09dbbaf463d5926f04d4b53c\">QsciScintilla</a>\n</li>\n<li>cut()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0a5656ec94ad1b31e3acc6ba86ebf8c4\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_d.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_d\"></a>- d -</h3><ul>\n<li>defaultColor()\n: <a class=\"el\" href=\"classQsciLexer.html#a31f12624858cbb8abdc59af34b5a85c7\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#abfb306fd9267f3af76bd144409776ba6\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a57a2659a5ea9eba6898e3ced0565953f\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#ac378e6bd25b850c9523d0b9c291cfc62\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a54cd2f0d4c87b28f41dc325d0fe485cc\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab2e7d189deabf8e5e20434e32346742c\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a39af10ac6ff34cb347bb2c891f8de64f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a3e9cfc0d233a1dcd3f20d33c4401e9fd\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a98140e8245532496f7ed97bcaa8671f3\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a3c22a819683d430aa99d23a80fedee73\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a1554c4fce67cdb1d34e5e7e4268708c5\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#adeff8cbfdc624ad709cd1fd8a4a93c80\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#ae73ce9660679076bcd4b93ef3712586a\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a7ceeb1fcb0dee86889484767dae5440b\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#a36cce16a8abf9455e397bbec012c9838\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a66b627130d76db15263b7502ec5d475c\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a6d22aebdf6475acb8d9aa18c244bd9cc\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a1412f4f04885bf9b315fbb371c54dc7c\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#ab7c3560b5333c595506d4244134e9b1b\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a2d0cd9ae9bac9e8fc29477ce1f0b9ca1\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#afd80aca910d70abcf6bcb34bfad4afc0\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#ad09e8331b90feeab761f845ac80e0b6d\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a3ec3d302e4ad33ca360d3edbe14ac561\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#aed4ceee51f10a94071a14371295b4c95\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a68474df4d256e32296c5f09c243a55db\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#ae9fc5faac317ee19add21f8105ff21c5\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a2d66e4001f22b971d1d0d92953b614ba\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a7320152a6d9098d07bba3da6c99a232e\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a55b4fb34deedc4131e4f85fc4f7e01bc\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a5e8a0548fb4c972f0eb0070721dd7762\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a830b832b87182332b9dbaa0a69c6a145\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a90015597a5748d85b36cc5b263fc05cf\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a06495bd35607512278859d9251e68ce1\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a410bcada9eb227aa5689304b861c9997\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a6dbcaf590be7759f18699593c95c69e6\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a36f390db2c97da9c271b0d1ba2794278\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a64b5ac3d0a8a5a7113905fa421edb1ad\">QsciLexerYAML</a>\n</li>\n<li>defaultEolFill()\n: <a class=\"el\" href=\"classQsciLexer.html#a06228b73f8df699a211be872f54d8501\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#ac0b0eb74510dd3af8eed933d3e37e2ab\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a57d4b4e77554476eea666d793f104540\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aad8c778b4c9ef2014e5a508f0ee52021\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a870955b5547ce4bdf9940165181022b7\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a024d39004611b62884f258c417b5acd3\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#ab55d105b2aa041682b67218fcdf964c6\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a43f710d31ccfd80ce8dd4f0ec8fc8d46\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a613622c676e3c70f2c9f002f34326427\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a814917aafe1fef03ec20571e91bb4571\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a3ba9e8000c3896e453b79dcfce08b146\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a4d20a72f3087068af5840042d9beeca7\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a6537d97973481d6e7c911f8031385deb\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a45679bbf510fa7e0b264eb9654183f16\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a242188212df611073f78d1eff326f5d5\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a34fa0bd92884cfa29a27c279369797d5\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#ad8cabbe5db0e4ba630cfad60ddfc79b1\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a855939c35d62798c00b0361a0edc41da\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#aa6e85b803ff580acecda16deaa70c758\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a8c0952bb621cdf048b00191674824a87\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a634989e93d2975d1838016ed24f3e45f\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a59ad64688b9fb852792b3fa15c2b125d\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a8ab227fcb9ba5da466b2d8eded96af70\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a995fe59f125a7cb27cf178b9e83015bc\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a01ff9a027edd3a2aa6d443e520b10b73\">QsciLexerYAML</a>\n</li>\n<li>defaultFont()\n: <a class=\"el\" href=\"classQsciLexer.html#ac7cf70f76eb03d6d475985cc4b884b0e\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a56f3d257ed1e6e1851252ccfceef0ef9\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a080ef6e2fd0569a6f3d538ed0f82da85\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#abf1b01e4ea47d78610f33a337245980b\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a058af5212c83c1eef0a5f39252651743\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ac84577ad9cdb480293fe6001e71085a8\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a7ae8627b7ef9faf3bb3a25fdbcb3cd97\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#abf77dec5e71fbcd67c5cf8772b59004a\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a2a1cd44b041d1d4f4c11c22f91de99c3\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a0315e5b984e4ecd8ae2b0131cb78bf95\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a1ab3498874bc09e7136c1325498fc49f\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a4ceef374a27fd3bb012a7b55f19303e2\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#a5245587f4db1c40ad90898a7712094ed\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a902f46f94e9d5e5177bec26e2a7bf8ef\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a2db5e63ff4667a3f8e9df24a0accdf3d\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a4c9199cfee7bb097359fb238859470a9\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#ab4a9d2b6e3aeee22d7636072f5163499\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a2bfdf998696531faacf29f6e0aae9a6c\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a9c18ede5b5271ee1885b38083271aa9e\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a1deaafed565aeae806e4ea6083baa186\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#accea86f8532bd5d83dac9c4b771bafa9\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a774cfde4ca55ef85c506258b3c789c9d\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#af6839d80f9b92eaead072803664a497f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a98400585500ee1c17618992a8e300683\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a7ea1d7ae4594027f8b565380f3fffbb4\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#ae6a8edb1b3ae833cd5c5a2b56cf1ec3e\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a7360e3bd243de3e4cbb76637f6d2313d\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a4272087bb0000cf8fd5dfa17a9b71383\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a80f3f0cbd594ce9268081a76174ee0e8\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#aaeb3a87a051af9cc20b5319ed8cd6ca1\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a7ea95f77a5a0ae539b306473c3b808db\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a24d4902dc121381ae5a18a4b8e802479\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#af48deb2ec781d4c8c08f17530b9516d3\">QsciLexerYAML</a>\n</li>\n<li>defaultPaper()\n: <a class=\"el\" href=\"classQsciLexer.html#a2dce337026551b6440e1dcdafa95b7d7\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#aa8d47420bede5e7fde576ee8dc2728c5\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#aff0007dfcbcced2ee7c89ebb12376f22\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#abd4b8e9e29aa577fdd546ef0de20c7ff\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a402a849f5eed391f0c4cd3aac9beb075\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aebdebbf12dc8bf264479bd570f669268\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a8fd6da876109a8ba13892c018eaefa40\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#adcc24b17317e0e283230ae8d5ccf1de3\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a5783815b0ab1200a2d5ff729b7eba074\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ad8248a4659f290511d45a64fede1f63d\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#af4b249f267973d29380b758a25b42e46\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a689e8352655111f8d1c9421552f454c4\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#aec007c8c5c374ca94b71d3eb0f47f467\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#ab7ecf66ac5e7285b72620df79bc9e711\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#acecf54d7daf87ff9fc5464fac8f1d502\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a1a5b06231766e0f9a7364606a991c879\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#afa54795b596b6bc9f3664865b9d76484\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a60519c0adb042373a1a79a73b68d7892\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a5d074b15d624c82c5931ceba7a91a455\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a9d2bd8ea72760796590963c702082e5b\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a5e9de211c7e94a22da5c0d599a9e494b\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#af45a578123a772bdb293d326c29218dc\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a5668132073d8c3d97ea56dc7131c2def\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#ad6f1adced83d4017ef5ea75ea338c117\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#adbaf4979024f12f9382df61cba0e75e8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a2a1215dab25c15adf3c1bd6a5b063f91\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a57ae4ff270b1c66316b0849ff9017677\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a7dcc25d7ced16c1bc409c14276e6843c\">QsciLexerYAML</a>\n</li>\n<li>defaultPreparedName()\n: <a class=\"el\" href=\"classQsciAPIs.html#a0a080d197e8226117a626c7b4b68b32d\">QsciAPIs</a>\n</li>\n<li>defaultStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#a2447139ff781bf55c74177881ac023ac\">QsciLexer</a>\n</li>\n<li>description()\n: <a class=\"el\" href=\"classQsciCommand.html#a76ed201e9e7309084795ddbc8f6e5b49\">QsciCommand</a>\n, <a class=\"el\" href=\"classQsciLexer.html#add9c20adb43bc38d1a0ca3083ac3e6fa\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a23d3bdd816b3da42e65cb4b08f2b01ff\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a5017022e35efd5f1c9825d63e4336e73\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a142446dc4954e057b2d7de11fe3e25e0\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#aa9285b175e0d9964e427f047f484d0e5\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ace6bf74522c57e70f2c3ac525e1fd830\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a761b431d688aa99c5c9b5110b41dc712\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a3fd919ace71f975bd28b94b34ccd3a19\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aca9a53a01d50ef44d9f5ac0fd662bf84\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a68f0cf388c3fa6a70ece2184020ffe55\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a1818bcdd3a7ec5b11ceacf720b07ddcd\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a94f9b521b521a540f848d55f2f4e8d45\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aa58025e7a9aa9241a64026f00764fb4e\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a638fcb2f0d2dd4be844881998cdb3b76\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#accd209bc74cec365745e3987c478a556\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#abc88c53a2cfe6dd61e059fad1e8f3539\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#af8d88cce706a1d7a95e1a519e0dc56c3\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#ad77fd8b1e9ed6bac617f194306de2ea8\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a8be47404070281d5c305be5331616b15\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a2f1340e861947f7c8c4299b1c9ded5a5\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#ae43cc6f38a157e4c70ba460e5004615e\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#ab47735b5b8b7961044bb9adf111c06bc\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a386c817d87735b2dd347735cb264d548\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a911dee848cf18712f663b2cfdc5084f1\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a88492153c713084f4b5495ebe3bf1b40\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a71cf91642f6879964a061133013a1f51\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a40dcaf1e09ebad7bc685d7f2c5d52a3b\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#aa3454a4c643cd0d479da8412341f1206\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#aff36eb2ba5df9c4998eb9c8311f14de5\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a8bf8606224bc8841da7ebf53099f8bca\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a5b2c0f0e93a1e35b0fb42f2dc1abea29\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a59f517180e03fd1790c4a6de73196a70\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a3218dcdca816cbdc739b2555df366a9a\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ac6d9fdf26d30d14707e0b0778f80d54d\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a367d2a52388bd2602642f4b5dc01bba2\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#aa0ca10c4e872620d0d6b2fa1fe1b9af0\">QsciLexerYAML</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a04e5cc64877290739b30603c526d84ce\">QsciStyle</a>\n</li>\n<li>djangoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a1379abf89d88a2dd7854f957b28656c5\">QsciLexerHTML</a>\n</li>\n<li>document()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab6643f6fe8cec6f3d7e14126fd52340d\">QsciScintilla</a>\n</li>\n<li>dollarsAllowed()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a5b95ed33711b09385c92fbfb9f1d2a5d\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aa20e183e0b38b5076aa9e883c5283791\">QsciLexerCPP</a>\n</li>\n<li>dottedWords()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a4f0a73894fc542ffc420113046c82f41\">QsciLexerSQL</a>\n</li>\n<li>dragEnterEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad7b8480681e4b4d5689d0e6d822dc3c0\">QsciScintillaBase</a>\n</li>\n<li>dragLeaveEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a67c4a9da730c69a2b9fda0a1a02348f1\">QsciScintillaBase</a>\n</li>\n<li>dragMoveEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#af25249a8e4e0f0966395b5006a5362d9\">QsciScintillaBase</a>\n</li>\n<li>dropEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a33c8d6d9915a1375c0d7c24beaceb951\">QsciScintillaBase</a>\n</li>\n<li>QsciDocument()\n: <a class=\"el\" href=\"classQsciDocument.html#a3da32a3198c407aa692764ccd98ad66f\">QsciDocument</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_e.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_e\"></a>- e -</h3><ul>\n<li>edgeColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#aee2887fadd0ddac9cee9dcdaee8d8696\">QsciScintilla</a>\n</li>\n<li>edgeColumn()\n: <a class=\"el\" href=\"classQsciScintilla.html#a044b772f07f8d5218170a11db05cc3d5\">QsciScintilla</a>\n</li>\n<li>edgeMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6fca34c3778ad8b4c067d577816ebc2b\">QsciScintilla</a>\n</li>\n<li>editor()\n: <a class=\"el\" href=\"classQsciLexer.html#ad892735ca7ad0bad9b7fafdcb44eeaa8\">QsciLexer</a>\n</li>\n<li>endRecording()\n: <a class=\"el\" href=\"classQsciMacro.html#a783f17e12ca844655568b5718aa26a35\">QsciMacro</a>\n</li>\n<li>endUndoAction()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5d08214cc5bab0a03b383809f5c626f7\">QsciScintilla</a>\n</li>\n<li>ensureCursorVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa85349be1012a11e4198949c5537a6b2\">QsciScintilla</a>\n</li>\n<li>ensureLineVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#abe7fcae4d84483ecd934c60bfdaee4a8\">QsciScintilla</a>\n</li>\n<li>eolFill()\n: <a class=\"el\" href=\"classQsciLexer.html#aa6ed26c11f54f71a305d3ee03d685f06\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciStyle.html#adcc34134da3341f1f07a847b09f6565b\">QsciStyle</a>\n</li>\n<li>eolFillChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#a66c01f0c9470164d4575c2b64f0e4220\">QsciLexer</a>\n</li>\n<li>eolMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac629ee3f5ca0741d4590f6aef59611c8\">QsciScintilla</a>\n</li>\n<li>eolVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5e4372bd9b4249d7e574402935444b84\">QsciScintilla</a>\n</li>\n<li>event()\n: <a class=\"el\" href=\"classQsciScintilla.html#a84ab3eb3c8e81cc58bbf2d3f472e757c\">QsciScintilla</a>\n</li>\n<li>execute()\n: <a class=\"el\" href=\"classQsciCommand.html#aa0bf23ebd61dd46a4eb59447e43c4cab\">QsciCommand</a>\n</li>\n<li>extraAscent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a37a46d7dbbb88374f4651feb64f55926\">QsciScintilla</a>\n</li>\n<li>extraDescent()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa44a01f20a2d88c06c561f0043b4f83b\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_f.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_f\"></a>- f -</h3><ul>\n<li>fillIndicatorRange()\n: <a class=\"el\" href=\"classQsciScintilla.html#a44d1c322098eb0cf44cf78e866ed80cb\">QsciScintilla</a>\n</li>\n<li>findFirst()\n: <a class=\"el\" href=\"classQsciScintilla.html#a04780d47f799c56b6af0a10b91875045\">QsciScintilla</a>\n</li>\n<li>findFirstInSelection()\n: <a class=\"el\" href=\"classQsciScintilla.html#a437d58cc225880e34560b65f8c0b3b50\">QsciScintilla</a>\n</li>\n<li>findMatchingBrace()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5b4b113d57b73a7b531f137a98ecc1bc\">QsciScintilla</a>\n</li>\n<li>findNext()\n: <a class=\"el\" href=\"classQsciScintilla.html#adc2560a55f77a14329db8409dba11c54\">QsciScintilla</a>\n</li>\n<li>firstVisibleLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a689eed3f6219e20924bcffdb95f27526\">QsciScintilla</a>\n</li>\n<li>focusInEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a2c339fd90e92408440230ee9d84cabcf\">QsciScintillaBase</a>\n</li>\n<li>focusNextPrevChild()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad6fb5a9621640080fc9909f94b6c0213\">QsciScintillaBase</a>\n</li>\n<li>focusOutEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a1aec9b47eeaf611687eeeef0d1aa3a00\">QsciScintillaBase</a>\n</li>\n<li>foldAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#afea26881f9979a1769ba85c668351cee\">QsciScintilla</a>\n</li>\n<li>foldAtBegin()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#a6443ca03dcf722445e6627e9991bb10c\">QsciLexerVHDL</a>\n</li>\n<li>foldAtElse()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#aa3c50f5bd00d091303665066c8f4d741\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aad7b42963ca382afb23eb000b727de12\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a0e5afa1027b99648caeb70ed8423af2d\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a696abf6da5415e772e5ade8752eac3b2\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#aa86a61cd082e2e9fd76e878e8d6a096a\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a4cf0c0ab9cb0628c515910c67fab9950\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a1bb598533be61e117a252d06cf5e4a4b\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a46e8e5909bfc92669cf155317ecb6fe9\">QsciLexerVHDL</a>\n</li>\n<li>foldAtModule()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#a8a4389bd37a806046a7c0b51cc1a6ead\">QsciLexerVerilog</a>\n</li>\n<li>foldAtParenthesis()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#afd8eebb9ee14760d1529f614f18a2e52\">QsciLexerVHDL</a>\n</li>\n<li>foldComments()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a42a1cdec7111af0685a9d89419a821bd\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a27f6ffff6c6020126b5318ed8ba76c54\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a6865962a5df72e37f4ba49c6e5e539b6\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#adc253f08156cde45b331c5a7ed07cfd7\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#ae32591385112bb3d33de8c1c40888190\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a8c74012833091c1f71e2bea9d1a2a5d5\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a30d1fae97aaef0b3fafab8e790caf130\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#ae9881257bbcc887cdbe21e74bbb8ea65\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a40b4351699e48f7b34faa84c5dbc4704\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a7a08d9dcb4935d7e2c99696bdcfd8e7a\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a1a7acaa356fdbefd26cfe0f30264c43a\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a846ebeb36f0847cee3599860f787bcde\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#add132f5762831171fdee856172a0a5dc\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a71b5b892a7a30a4f57b9efa64fdf5f32\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a06f4a0a490680e76ba0edb0fe4fe4dc5\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a7e9725132ec5521255eb7d9ac81ae853\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#ae2d2e6936f7b0f6f9b891ac14dff7bc0\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#adfb332858ee86dc00f58f309f394d9d8\">QsciLexerYAML</a>\n</li>\n<li>foldCompact()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#acee212ef3dceca125cadb16ae9cc5fc3\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a554d4c9b25ad66e23092adf6f9b0460e\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a16d546ecc7d16a609e368a4d2d557605\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ad0939852605ee45ce62f70647d47147b\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aecbd103b6dff15873e60cdf48e634a4a\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a02cb3518d6145815b22359d8d5aa2cf1\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a855940eae63985a7ff92ffd545d88bd4\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af861d2c565994b427514715fe95a80b7\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a16a2faffdfcc5893a6fd08d270d69798\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a27383c2def3f59e903aec9537ef43d2c\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#ae88783c3de2f0c4a0129e5bec77cc5ca\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a0c3e05e1bbdc4614fc7e76e508178592\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a1ec44d2dfe2f40d6267f3067f66c9a3d\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#accb7e71496e6817503ea1c081ffdbab4\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a9a4ec081c6812ffb3ebc5082c08bf0db\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a2e2317346a85697a98a2e19d1c596a48\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a21891669bab4719e8e7cf482e3bf5a51\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#acbaa96d72ad071768acc25d7d56b6324\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a1d73603ec19f317dd0d6271ec852c0fc\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a01e79cce2d3e498bc5473db51e1d0bc6\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ae1f192b93ad970cb792b5dcac4aa22d8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a043411367c3fa915c8f4797cc51d0c8c\">QsciLexerVHDL</a>\n</li>\n<li>foldDirectives()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#ad16788518def261f1ce55b35141642ad\">QsciLexerPOV</a>\n</li>\n<li>folding()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0e4576d83d7604b24bd13be91011c5f7\">QsciScintilla</a>\n</li>\n<li>foldLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad6557ee0ca58413e8d3e76b942f25a7f\">QsciScintilla</a>\n</li>\n<li>foldOnlyBegin()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a9a7c5fb256df97053fbe3203aaf3a93a\">QsciLexerSQL</a>\n</li>\n<li>foldPackages()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a5ea4eb1e65b2cee23a09f143074790b4\">QsciLexerPerl</a>\n</li>\n<li>foldPODBlocks()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#ab58e1e9d037d280fc74792ace83936d4\">QsciLexerPerl</a>\n</li>\n<li>foldPreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a3c93f14b36897ecb3f902b5e5de91ad6\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a2f3d753794280bfc09719e3ca521be83\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#adae268febf025354165c88afa2414c73\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ad70da8e3f3695cfc277d02ab9c0396d3\">QsciLexerVerilog</a>\n</li>\n<li>foldQuotes()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a167dbdb42a4c0ed65229a3418153d4dd\">QsciLexerPython</a>\n</li>\n<li>foldScriptComments()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#aaf885bb9d07591114c2a2cc5769bb02a\">QsciLexerHTML</a>\n</li>\n<li>foldScriptHeredocs()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#aabad8cc171c34609ee0d6c600a534334\">QsciLexerHTML</a>\n</li>\n<li>font()\n: <a class=\"el\" href=\"classQsciLexer.html#abd34f0d3055b8c7b52f0156f92244e8c\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciStyle.html#af45628c04ab5488fc13b61a2356346ec\">QsciStyle</a>\n</li>\n<li>fontChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#ac04ade8be901b67af681e5e3516c0946\">QsciLexer</a>\n</li>\n<li>formatPage()\n: <a class=\"el\" href=\"classQsciPrinter.html#a420e136529a8d49551eb8af0f5cdce03\">QsciPrinter</a>\n</li>\n<li>fromMimeData()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5f105b9ec17cd73a0cd601ac9be82dd4\">QsciScintillaBase</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_g.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_g\"></a>- g -</h3><ul>\n<li>getCursorPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#a830f23268edb039344d30cef52d7c8f3\">QsciScintilla</a>\n</li>\n<li>getSelection()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6423854a3c2f7da07db1e47f2f0c8c71\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_h.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_h\"></a>- h -</h3><ul>\n<li>hashComments()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a24d7e487c0493f7164cb5bcce51d403d\">QsciLexerSQL</a>\n</li>\n<li>hasSelectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad6b00de0b5fa769ff6d30036f9d784de\">QsciScintilla</a>\n</li>\n<li>highlightBackQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">QsciLexerCPP</a>\n</li>\n<li>highlightComments()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ab7048836522bb0c92df17ccc9e8c1577\">QsciLexerJSON</a>\n</li>\n<li>highlightEscapeSequences()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ad300e5513ee85748aa3dfab2d9617ad5\">QsciLexerJSON</a>\n</li>\n<li>highlightHashQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">QsciLexerCPP</a>\n</li>\n<li>highlightSubidentifiers()\n: <a class=\"el\" href=\"classQsciLexerPython.html#af8c28786c65b23583d92030ac606d07c\">QsciLexerPython</a>\n</li>\n<li>highlightTripleQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">QsciLexerCPP</a>\n</li>\n<li>hotspot()\n: <a class=\"el\" href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">QsciStyle</a>\n</li>\n<li>HSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a95a8b4cc2d6f8437c8feada8f518daff\">QsciLexerCSS</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_i.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_i\"></a>- i -</h3><ul>\n<li>indent()\n: <a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">QsciScintilla</a>\n</li>\n<li>indentation()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">QsciScintilla</a>\n</li>\n<li>indentationGuides()\n: <a class=\"el\" href=\"classQsciScintilla.html#acd6fbd352060d3ee893bacc9bbb28a4e\">QsciScintilla</a>\n</li>\n<li>indentationGuideView()\n: <a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#acb5ec792032e6108b3c2d6ec6e565f49\">QsciLexerPython</a>\n</li>\n<li>indentationsUseTabs()\n: <a class=\"el\" href=\"classQsciScintilla.html#a67e012ca1e51ed73521c720237b7a507\">QsciScintilla</a>\n</li>\n<li>indentationWarning()\n: <a class=\"el\" href=\"classQsciLexerPython.html#aff624320c72fa3b433d82d6a558238e8\">QsciLexerPython</a>\n</li>\n<li>indentationWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0b1f9dfc8a34bbee0c131eebeace9a06\">QsciScintilla</a>\n</li>\n<li>indicatorClicked()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad55ff1f454f9cb5c14f63c5c6870c895\">QsciScintilla</a>\n</li>\n<li>indicatorDefine()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab6856c73ad57ed92d8a9e4882867559e\">QsciScintilla</a>\n</li>\n<li>indicatorDrawUnder()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4e895e320f983296f4a14a131dac4c66\">QsciScintilla</a>\n</li>\n<li>indicatorReleased()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaed07ffc03430a61dc90ff6b28fb6fd7\">QsciScintilla</a>\n</li>\n<li>initialSpaces()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a3786c34824a30c5a366f30cb9e8bf115\">QsciLexerProperties</a>\n</li>\n<li>inputMethodEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">QsciScintillaBase</a>\n</li>\n<li>insert()\n: <a class=\"el\" href=\"classQsciScintilla.html#adcf1f06161144f511c549695f9641c77\">QsciScintilla</a>\n</li>\n<li>insertAt()\n: <a class=\"el\" href=\"classQsciScintilla.html#afba4d5b30fae60dab7b4279c580beb8c\">QsciScintilla</a>\n</li>\n<li>installedAPIFiles()\n: <a class=\"el\" href=\"classQsciAPIs.html#aa2ee3021ffc6a998776547a5c252edca\">QsciAPIs</a>\n</li>\n<li>isCallTipActive()\n: <a class=\"el\" href=\"classQsciScintilla.html#a67c004c60c462dc9d3840a6e2405d3f8\">QsciScintilla</a>\n</li>\n<li>isListActive()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3b281217e1abc5b4b4ccf8145df4b2ca\">QsciScintilla</a>\n</li>\n<li>isModified()\n: <a class=\"el\" href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">QsciScintilla</a>\n</li>\n<li>isPrepared()\n: <a class=\"el\" href=\"classQsciAPIs.html#a9dc74576c602f1df961aa8efee652a3d\">QsciAPIs</a>\n</li>\n<li>isReadOnly()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">QsciScintilla</a>\n</li>\n<li>isRedoAvailable()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8386414f7c04968c1642ecdd47b281df\">QsciScintilla</a>\n</li>\n<li>isUndoAvailable()\n: <a class=\"el\" href=\"classQsciScintilla.html#a87366cd0dc2931f62e9e4d6bcd870fdf\">QsciScintilla</a>\n</li>\n<li>isUtf8()\n: <a class=\"el\" href=\"classQsciScintilla.html#afec7e71628d4af7a6573d1c74504ee20\">QsciScintilla</a>\n</li>\n<li>isWordCharacter()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4e27f94e78e5f184f37382950963d831\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_k.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_k\"></a>- k -</h3><ul>\n<li>key()\n: <a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">QsciCommand</a>\n</li>\n<li>keyPressEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">QsciScintillaBase</a>\n</li>\n<li>keywords()\n: <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#ac1665f22a91f143e6e6fb46b02e7b109\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#ac9329cbc86f1f1a915e548997af76a5f\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a41d04b17da9c84a94289e91323fb5206\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerFortran.html#a56e0fd6b5d719677050a28ad0d5ae927\">QsciLexerFortran</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">QsciLexerJava</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#af4a9c85e527eda6c28663f055afa0be2\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">QsciLexerOctave</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a9b6f6a462314471262e5f29057839b34\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a57958c564d4d3127e7ee6148d232bd4b\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a981f7ababe1cc561b29617fad8aa29b5\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#abd6f026e6cb154c64c581f6e5f7f2fed\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#ac4a5d52373228003f7bd51dade64fc85\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#aed0f87e43716cf9894e27e0b90396a98\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#add226b6ffbaee63c29a1f0da7de25784\">QsciLexerYAML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_l.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_l\"></a>- l -</h3><ul>\n<li>language()\n: <a class=\"el\" href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a1ef24398e95c23a8b3c858179e5eb564\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a1bc505b1b0f41472062f86b205ea2860\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a18341dcb06d1b74269ed1f33c002b2a9\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a0aa2f537e70f47e6a3e1bcf6d383a480\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a126d81ec982782507eafae1af5d0d856\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a7c5dafabba34ff3e6120d9f3606cade0\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a92e6554430736b20b147b7290d4bfe16\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a2c29f0bbe4d09c159040b5676c8143d2\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a667febcf6234a15b7ca6d4ddbfb97bc6\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a795af727d45974e6581ed01bf812b63e\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a77024f83fb756608060b105d3f21ae34\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerFortran.html#a83d7d8209efca06d10870607c9db3c72\">QsciLexerFortran</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a336165187c8ab4cc5e51912033316943\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#a56afa4275e743eeff3dc693d9da85fd3\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJava.html#af0f0dd1756ceb60bd8f404f3b48f470c\">QsciLexerJava</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#aa7bd1f345699cc97fac25cf29ae98a4e\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a7a2271db1a39037a429faaa5ff8e399f\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a942c993effc83d0dedec2fc20d8a741f\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a561482313e4c6597b8c4627ec38e4d54\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a7a06bdb17ebde731368ec204404ed0ee\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a1b26669dd868d97d8a04837aada5549f\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerOctave.html#acca6b44f3f90599d119fb05f375cb2b8\">QsciLexerOctave</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a072c10d35abc0e56e09806eeb78ab66f\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a16fb82e08452dc260bdda610817c79ea\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#ace592f4a2d86db6be6c6f363227c00ee\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#ab2d6a4d13e15769bf1110012b491ad90\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a02880268227d380ef25a72af2605ef0f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a5e15c53d398d9d7e9ef7e0df41bc3f62\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#ae96690293b8128bea9cedf9b55b92ad6\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a700754468352f673157d08d4ff222e79\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#ae41f7a78d82f09b4d5176ec2a709ac67\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a0b1959541108a437dcb0b104a46f1444\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a4a13fa4667146e0dca9d8c15255280a9\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#ad94fbbd156020166afddb8a0a55eba6f\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a79e3ff22e68d54f640bd2f7747a7a193\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a2a8cd041dea81adb54a869c17ee4c8ba\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a801d7cef474dcf23d93e2f2f53034abe\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a0cfceb4470cde4184e76076ac34dea29\">QsciLexerYAML</a>\n</li>\n<li>length()\n: <a class=\"el\" href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">QsciScintilla</a>\n</li>\n<li>LessLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a26df830be43cb0ca067b5e0ad037171a\">QsciLexerCSS</a>\n</li>\n<li>level()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">QsciLexerPostScript</a>\n</li>\n<li>lexer()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a21f1bb849edbfbc0cf58bc55cc75e8a3\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#acf33e60d28291147562860b824ccd74d\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a99fc9415c35eeef2b0f45f066101736b\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aac009a767572be4b4489a0613611cbdb\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a1fa70c8e86dd88d34508fc652d30f3f7\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a62032a66c22767af46af4611fb672cb3\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#aec71281020211f0e693143520f232079\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a55d08e564f88f40f5167c52bd686b61c\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerFortran.html#ad18b58e4e78b74f1c1cc0db18a2d74ca\">QsciLexerFortran</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a04a2eaa1d93a2266bd170d392b70860b\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a8124ec8b5b96d95bb225cbb4e95f55cb\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a42e28c95e4f32374ffb7b47a85239d34\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#af912a1a568b342c99f70fab70d89b178\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">QsciLexerOctave</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#aebc02afb8158d445c4369efa287cc2ac\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#aae9e42584c6466a8b859d56218eaf28c\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a8eb17be2a61d63249564be87b7d777d8\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a8f6156730e68c15fb63e120c53ce7832\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#af41ceced7bf5eb12aefb77f81240b1eb\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a76890c95abff2bb6f5eebe7a2cb5a0a3\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a9fe6e18dbb7ef4cad7f370286d7db0b7\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a14f1638b2f668fb7d98791cda719f8a0\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a0e389df0054dbbafafe6196c71d50738\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#abd8d636e4717ed65e4ea77eca3c28df1\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a15ec40b8e6b208521e08d44400eb56f8\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a409c5a8e561b153aca122ad5e0bedc82\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#abc3666027fe7f0b8ae78ee34e3276069\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#abf1a8dc25c7bd5d272c119d3c3e9e369\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#ab946b8c9f34872b69c31e6e9cd0b0e57\">QsciLexerYAML</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">QsciScintilla</a>\n</li>\n<li>lexerId()\n: <a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">QsciLexer</a>\n</li>\n<li>lineAt()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8a8a5b9bcb9df18089b9fe2650e701db\">QsciScintilla</a>\n</li>\n<li>lineIndexFromPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad309f6cb931b47d67e67a59b3a66ea84\">QsciScintilla</a>\n</li>\n<li>lineLength()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab5ecfa6bee9e78e5306986367e1194af\">QsciScintilla</a>\n</li>\n<li>lines()\n: <a class=\"el\" href=\"classQsciScintilla.html#a85f97649b701717e65b2390d57f5ad03\">QsciScintilla</a>\n</li>\n<li>linesChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9da0038950253b116ecd3863a4f63928\">QsciScintilla</a>\n</li>\n<li>load()\n: <a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">QsciAPIs</a>\n, <a class=\"el\" href=\"classQsciMacro.html#a1c342b5db46e12a8d73567fac9959543\">QsciMacro</a>\n</li>\n<li>loadPrepared()\n: <a class=\"el\" href=\"classQsciAPIs.html#af42a26a050bfeb4249d35ab61567ea9e\">QsciAPIs</a>\n</li>\n<li>QsciLexer()\n: <a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>\n</li>\n<li>QsciLexerAVS()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a15390924acb08542856527f5d0101dab\">QsciLexerAVS</a>\n</li>\n<li>QsciLexerBash()\n: <a class=\"el\" href=\"classQsciLexerBash.html#a1ba5b1e505b4f6fe7d7b12ce69dee9a8\">QsciLexerBash</a>\n</li>\n<li>QsciLexerBatch()\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a9f0ad3d0c52cc81d43a0b733558e2392\">QsciLexerBatch</a>\n</li>\n<li>QsciLexerCMake()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#af84de1838a68d08ef99be3aa666dc09f\">QsciLexerCMake</a>\n</li>\n<li>QsciLexerCoffeeScript()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a73e71780818247bf678616a25cd13e90\">QsciLexerCoffeeScript</a>\n</li>\n<li>QsciLexerCPP()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>\n</li>\n<li>QsciLexerCSharp()\n: <a class=\"el\" href=\"classQsciLexerCSharp.html#a897d4004ebe6faefcb97e27713e4a8cc\">QsciLexerCSharp</a>\n</li>\n<li>QsciLexerCSS()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#acbf55e58ad04813101573146ecc43c67\">QsciLexerCSS</a>\n</li>\n<li>QsciLexerCustom()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a8dbdaca7dffe587e442d09f5b780fab5\">QsciLexerCustom</a>\n</li>\n<li>QsciLexerD()\n: <a class=\"el\" href=\"classQsciLexerD.html#a8b64cf1677896ea7966338b3f10be14b\">QsciLexerD</a>\n</li>\n<li>QsciLexerDiff()\n: <a class=\"el\" href=\"classQsciLexerDiff.html#af1c70ba1dfa8ccf5fe2106069041cd5e\">QsciLexerDiff</a>\n</li>\n<li>QsciLexerEDIFACT()\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#aec9604240be31cf15709b0c0f2942d6e\">QsciLexerEDIFACT</a>\n</li>\n<li>QsciLexerFortran()\n: <a class=\"el\" href=\"classQsciLexerFortran.html#a6e896d1a75f43c0e021326a29a07be67\">QsciLexerFortran</a>\n</li>\n<li>QsciLexerFortran77()\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77</a>\n</li>\n<li>QsciLexerHTML()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML</a>\n</li>\n<li>QsciLexerIDL()\n: <a class=\"el\" href=\"classQsciLexerIDL.html#af929c0ded0d4d822d7b31d00103262de\">QsciLexerIDL</a>\n</li>\n<li>QsciLexerJava()\n: <a class=\"el\" href=\"classQsciLexerJava.html#abaa737931800774e8067765d6cdc9a5d\">QsciLexerJava</a>\n</li>\n<li>QsciLexerJavaScript()\n: <a class=\"el\" href=\"classQsciLexerJavaScript.html#a94cbc22361a55fe0681ad7fe5425dfb5\">QsciLexerJavaScript</a>\n</li>\n<li>QsciLexerJSON()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#a287cf2adecde291abab55095227864a9\">QsciLexerJSON</a>\n</li>\n<li>QsciLexerLua()\n: <a class=\"el\" href=\"classQsciLexerLua.html#a8932efc560175dc70a88e23b8136bb8f\">QsciLexerLua</a>\n</li>\n<li>QsciLexerMakefile()\n: <a class=\"el\" href=\"classQsciLexerMakefile.html#a4568ee117191969976b674227b16c860\">QsciLexerMakefile</a>\n</li>\n<li>QsciLexerMarkdown()\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#aeffb57391fe593ab01e6f257f95ad2f6\">QsciLexerMarkdown</a>\n</li>\n<li>QsciLexerMatlab()\n: <a class=\"el\" href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab</a>\n</li>\n<li>QsciLexerOctave()\n: <a class=\"el\" href=\"classQsciLexerOctave.html#aca3644f3fed3a83716d794cca822549a\">QsciLexerOctave</a>\n</li>\n<li>QsciLexerPascal()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a9688ce1d302666e492900d3cdfcbbaab\">QsciLexerPascal</a>\n</li>\n<li>QsciLexerPerl()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a36359d3e1cb6037b561f95fccf16881e\">QsciLexerPerl</a>\n</li>\n<li>QsciLexerPO()\n: <a class=\"el\" href=\"classQsciLexerPO.html#a4d8011ef7e9d6401597d3a4012a809a7\">QsciLexerPO</a>\n</li>\n<li>QsciLexerPostScript()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a7670a50d4dce21461de96844235b4242\">QsciLexerPostScript</a>\n</li>\n<li>QsciLexerPOV()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a4f286fb01fbf71a895a6a6ca2424b9c5\">QsciLexerPOV</a>\n</li>\n<li>QsciLexerProperties()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a81437ae22cb610108f29d8d367ce6faa\">QsciLexerProperties</a>\n</li>\n<li>QsciLexerPython()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a158b80fd7ee649cbb618b1df33491bab\">QsciLexerPython</a>\n</li>\n<li>QsciLexerRuby()\n: <a class=\"el\" href=\"classQsciLexerRuby.html#aa3bb000261e4752d89e06afe69d665f0\">QsciLexerRuby</a>\n</li>\n<li>QsciLexerSpice()\n: <a class=\"el\" href=\"classQsciLexerSpice.html#a7d38d89680d55b7f77463e67634f84be\">QsciLexerSpice</a>\n</li>\n<li>QsciLexerSQL()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ab86225b96219799a77f77600f145042a\">QsciLexerSQL</a>\n</li>\n<li>QsciLexerTCL()\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a6a108be4899959ffcb262f59de538964\">QsciLexerTCL</a>\n</li>\n<li>QsciLexerTeX()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a4bf7cce95e65755a221fd75bd731a3cd\">QsciLexerTeX</a>\n</li>\n<li>QsciLexerVerilog()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#a3360bca839d08fdd2acf546b19b2fddd\">QsciLexerVerilog</a>\n</li>\n<li>QsciLexerVHDL()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#a2260bd1206a91b7f9487e9ffe366732f\">QsciLexerVHDL</a>\n</li>\n<li>QsciLexerXML()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a9fc5fef8f86ef0f1162a18ca4cc88aa1\">QsciLexerXML</a>\n</li>\n<li>QsciLexerYAML()\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a5e1785141798faf81dcff567b8df651f\">QsciLexerYAML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_m.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_m\"></a>- m -</h3><ul>\n<li>magnification()\n: <a class=\"el\" href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">QsciPrinter</a>\n</li>\n<li>makoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">QsciLexerHTML</a>\n</li>\n<li>marginBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a07c7b6c9889e61f7c7971bf126bff4f2\">QsciScintilla</a>\n</li>\n<li>marginClicked()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">QsciScintilla</a>\n</li>\n<li>marginLineNumbers()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4bffe1a63e3484da908340274f7a7607\">QsciScintilla</a>\n</li>\n<li>marginMarkerMask()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab29919614210e2bb21525b1d7fec44b1\">QsciScintilla</a>\n</li>\n<li>marginOptions()\n: <a class=\"el\" href=\"classQsciScintilla.html#a07cb228e7f39e5a97271126df9ba9ef2\">QsciScintilla</a>\n</li>\n<li>marginRightClicked()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8166be72487a7a660cb8e44c5126c852\">QsciScintilla</a>\n</li>\n<li>margins()\n: <a class=\"el\" href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">QsciScintilla</a>\n</li>\n<li>marginSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">QsciScintilla</a>\n</li>\n<li>marginType()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">QsciScintilla</a>\n</li>\n<li>marginWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">QsciScintilla</a>\n</li>\n<li>markerAdd()\n: <a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">QsciScintilla</a>\n</li>\n<li>markerDefine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a794059a7bf67982063ae349847599376\">QsciScintilla</a>\n</li>\n<li>markerDelete()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">QsciScintilla</a>\n</li>\n<li>markerDeleteAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">QsciScintilla</a>\n</li>\n<li>markerDeleteHandle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">QsciScintilla</a>\n</li>\n<li>markerFindNext()\n: <a class=\"el\" href=\"classQsciScintilla.html#af8cedca829a47783199ab0e1dfc160d5\">QsciScintilla</a>\n</li>\n<li>markerFindPrevious()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8e6ff4072224ba360403fe1ade1375ba\">QsciScintilla</a>\n</li>\n<li>markerLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa9612621315a0b3fcecdb8d0f2a2abb2\">QsciScintilla</a>\n</li>\n<li>markersAtLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3eace684c0a33e044cceb300b1a97798\">QsciScintilla</a>\n</li>\n<li>modificationAttempted()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2ef800561a02b8ec02008d33e0c6e55e\">QsciScintilla</a>\n</li>\n<li>modificationChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">QsciScintilla</a>\n</li>\n<li>mouseDoubleClickEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">QsciScintillaBase</a>\n</li>\n<li>mouseMoveEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">QsciScintillaBase</a>\n</li>\n<li>mousePressEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">QsciScintillaBase</a>\n</li>\n<li>mouseReleaseEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">QsciScintillaBase</a>\n</li>\n<li>moveToMatchingBrace()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9792eb38e5e8dce8a4bd32b2224c73d4\">QsciScintilla</a>\n</li>\n<li>QsciMacro()\n: <a class=\"el\" href=\"classQsciMacro.html#a933a97fb937d67dbe86a4abe229c755f\">QsciMacro</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_o.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_o\"></a>- o -</h3><ul>\n<li>overwriteMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac419a79eed86a754cfb556b3961e990d\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_p.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_p\"></a>- p -</h3><ul>\n<li>paintEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">QsciScintillaBase</a>\n</li>\n<li>paper()\n: <a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a4fe2c0ce4d6fd17617c266983537f5b6\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">QsciStyle</a>\n</li>\n<li>paperChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">QsciLexer</a>\n</li>\n<li>paste()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">QsciScintilla</a>\n</li>\n<li>play()\n: <a class=\"el\" href=\"classQsciMacro.html#a3de5fbc4e99be9cb9d10d90dd8b1059d\">QsciMacro</a>\n</li>\n<li>pool()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">QsciScintillaBase</a>\n</li>\n<li>positionFromLineIndex()\n: <a class=\"el\" href=\"classQsciScintilla.html#a37646aa8dff617d11505617002439216\">QsciScintilla</a>\n</li>\n<li>prepare()\n: <a class=\"el\" href=\"classQsciAPIs.html#a5c26b8395c49cf61243e5f73c0ce577f\">QsciAPIs</a>\n</li>\n<li>printRange()\n: <a class=\"el\" href=\"classQsciPrinter.html#aae304336a4a8d4c2e332744ceeba1393\">QsciPrinter</a>\n</li>\n<li>processComments()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a9aa8e062b1eff3f6fb101cf51b507886\">QsciLexerTeX</a>\n</li>\n<li>processIf()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#aa230583b6c0a067894ffbd4ff3feee18\">QsciLexerTeX</a>\n</li>\n<li>propertyChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">QsciLexer</a>\n</li>\n<li>QsciPrinter()\n: <a class=\"el\" href=\"classQsciPrinter.html#aaa54abecf0defffdfda80f95af6febf9\">QsciPrinter</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_q.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_q\"></a>- q -</h3><ul>\n<li>QSCN_SELCHANGED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QsciScintillaBase</a>\n</li>\n<li>quotedIdentifiers()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ad5f7fc89705dd0588937b1565a6e5a26\">QsciLexerSQL</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_r.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_r\"></a>- r -</h3><ul>\n<li>read()\n: <a class=\"el\" href=\"classQsciScintilla.html#a89e46329c110449b2e7334ccf623ceed\">QsciScintilla</a>\n</li>\n<li>readProperties()\n: <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#ad65ebfab947de5d6e318238f8a0048e4\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#aae0cfbb2dbfd2a833a16630c9cf2e36e\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a4578cacfbe802ab993fc07ddeaef3297\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a7bfdaea964c9e2c51568f63f379b6108\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#aba9c88201491763d75a8716d118a4079\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a928315606c0bd973c59e0b6d9641c3cd\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a47884fcfd8d2b0ab7b8d277cb0325c17\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a8403f1e2f5ea0c5d67c32dd6053317c5\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a87168d5b174ba3a9b969ef689f67b355\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a5a599e7d97b164fec1ee3c21ba167e80\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a1b8f36843f4abe6ec3ee75205b5b0111\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#afa0b9ecea2700420820e4e9b705cb784\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a377b83523f800cc4598126417d80f74c\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a1b1d726f87795c97839acca28d06dc6e\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a68e2eaca494e93937f896bd60b86429c\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a46a01d03d516e909c8696fa3f9910c1f\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a35d4260e9c1a68073a6b4f625c846c11\">QsciLexerYAML</a>\n</li>\n<li>readSettings()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a44fd78a640f59309862d868d04f34e49\">QsciCommandSet</a>\n, <a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">QsciLexer</a>\n</li>\n<li>recolor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a07fe5007913f0001a473d92f4c3fdbe6\">QsciScintilla</a>\n</li>\n<li>redo()\n: <a class=\"el\" href=\"classQsciScintilla.html#a62220018d9e9295cde64041246cfb3c4\">QsciScintilla</a>\n</li>\n<li>refresh()\n: <a class=\"el\" href=\"classQsciStyle.html#aa480e57bbdd83b8164129f875bd48976\">QsciStyle</a>\n</li>\n<li>refreshProperties()\n: <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#af5a3f47c4f0be631303cabd42d904c3e\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#aad047f411c36c262305ffcce5015944f\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a7cc73bba065690f08e2b6b8e8c00d5d3\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aefae6df689f1d3dad66d1f2fc141cc39\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a78f4690fa92e02c8511074a334c06096\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a3df48961344c5133ad595a555bbb8e55\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#acd0614489de2d2c9f69379a574f1d5eb\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a628efb828569208d6219a88f1fc6a1a7\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a92cb96a2f9d373ed5a91546c42ec0905\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#ac9868e2d0efbf3602a22d8bdac12a119\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a17895e48d655d41d80e4fb4672c2fd72\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a0f1e5402dce043de42ded75f5826588f\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a4864bf9360ed4748b9ca7a1d5e34e7d8\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a638b892c566301f0efe779c58516cbc0\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#abed099316dd95a6289c76d151a37c264\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#abf07311e229b5ec1370dd8a57873c1b6\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a9d05744ee6d4c653a7e3976d9f71df23\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#ad331ec23d27ba397d2095ba92cefaecd\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#acd80380b4727bd94148f5a0ff479742e\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ad476092b3970fe44068dd023f8becc96\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aa60e141b7b1a7aac51d79ad2c27c4c93\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#ac263eb1fcaeaad44b23c2d990bad1bc1\">QsciLexerYAML</a>\n</li>\n<li>registerImage()\n: <a class=\"el\" href=\"classQsciScintilla.html#a38bf5a8680df52675e5299fccbbc7181\">QsciScintilla</a>\n</li>\n<li>remove()\n: <a class=\"el\" href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">QsciAPIs</a>\n</li>\n<li>removeSelectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#aef584b6c5b89736ad311ad20aa32269d\">QsciScintilla</a>\n</li>\n<li>replace()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">QsciScintilla</a>\n</li>\n<li>replaceHorizontalScrollBar()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">QsciScintillaBase</a>\n</li>\n<li>replaceSelectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a48f53865418cf2ebd5126d2ee5e9d1dd\">QsciScintilla</a>\n</li>\n<li>replaceVerticalScrollBar()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">QsciScintillaBase</a>\n</li>\n<li>resetFoldMarginColors()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae1d3703631c9113a4309da17332ca180\">QsciScintilla</a>\n</li>\n<li>resetHotspotBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">QsciScintilla</a>\n</li>\n<li>resetHotspotForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">QsciScintilla</a>\n</li>\n<li>resetMatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae308bac1c3567d835742e02f1bc35a6c\">QsciScintilla</a>\n</li>\n<li>resetSelectionBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">QsciScintilla</a>\n</li>\n<li>resetSelectionForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">QsciScintilla</a>\n</li>\n<li>resetUnmatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#a48c91d4dd29c84bff4ee20962372ca23\">QsciScintilla</a>\n</li>\n<li>resizeEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">QsciScintillaBase</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_s.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_s\"></a>- s -</h3><ul>\n<li>QsciScintilla()\n: <a class=\"el\" href=\"classQsciScintilla.html#a978b6679ccd9d9edb6091502001a5f45\">QsciScintilla</a>\n</li>\n<li>QsciScintillaBase()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase</a>\n</li>\n<li>QsciStyle()\n: <a class=\"el\" href=\"classQsciStyle.html#a0464f0a24f4094431686c89e667e843e\">QsciStyle</a>\n</li>\n<li>QsciStyledText()\n: <a class=\"el\" href=\"classQsciStyledText.html#a72dbd9d847a577fe5c438d1582920887\">QsciStyledText</a>\n</li>\n<li>save()\n: <a class=\"el\" href=\"classQsciMacro.html#a6af9c876a10d746177790189067aaf6a\">QsciMacro</a>\n</li>\n<li>savePrepared()\n: <a class=\"el\" href=\"classQsciAPIs.html#a742609f12e48e63edbab2565d7df3cb9\">QsciAPIs</a>\n</li>\n<li>SCEN_CHANGE()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCCANCELLED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCCHARDELETED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCCOMPLETED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCSELECTION()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCSELECTIONCHANGE()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">QsciScintillaBase</a>\n</li>\n<li>SCN_CALLTIPCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">QsciScintillaBase</a>\n</li>\n<li>SCN_CHARADDED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">QsciScintillaBase</a>\n</li>\n<li>SCN_DOUBLECLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">QsciScintillaBase</a>\n</li>\n<li>SCN_DWELLEND()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">QsciScintillaBase</a>\n</li>\n<li>SCN_DWELLSTART()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">QsciScintillaBase</a>\n</li>\n<li>SCN_FOCUSIN()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">QsciScintillaBase</a>\n</li>\n<li>SCN_FOCUSOUT()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">QsciScintillaBase</a>\n</li>\n<li>SCN_HOTSPOTCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">QsciScintillaBase</a>\n</li>\n<li>SCN_HOTSPOTDOUBLECLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">QsciScintillaBase</a>\n</li>\n<li>SCN_HOTSPOTRELEASECLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">QsciScintillaBase</a>\n</li>\n<li>SCN_INDICATORCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">QsciScintillaBase</a>\n</li>\n<li>SCN_INDICATORRELEASE()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">QsciScintillaBase</a>\n</li>\n<li>SCN_MACRORECORD()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">QsciScintillaBase</a>\n</li>\n<li>SCN_MARGINCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">QsciScintillaBase</a>\n</li>\n<li>SCN_MARGINRIGHTCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">QsciScintillaBase</a>\n</li>\n<li>SCN_MODIFYATTEMPTRO()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">QsciScintillaBase</a>\n</li>\n<li>SCN_PAINTED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">QsciScintillaBase</a>\n</li>\n<li>SCN_SAVEPOINTLEFT()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">QsciScintillaBase</a>\n</li>\n<li>SCN_SAVEPOINTREACHED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">QsciScintillaBase</a>\n</li>\n<li>SCN_STYLENEEDED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">QsciScintillaBase</a>\n</li>\n<li>SCN_UPDATEUI()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">QsciScintillaBase</a>\n</li>\n<li>SCN_URIDROPPED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">QsciScintillaBase</a>\n</li>\n<li>SCN_USERLISTSELECTION()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">QsciScintillaBase</a>\n</li>\n<li>scriptsStyled()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a96ad1f818e51a3606404d24bf7a28a91\">QsciLexerXML</a>\n</li>\n<li>scrollWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">QsciScintilla</a>\n</li>\n<li>scrollWidthTracking()\n: <a class=\"el\" href=\"classQsciScintilla.html#abf895c5e4157e4b6effd28683c728b63\">QsciScintilla</a>\n</li>\n<li>SCSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#ae8630fee6378af65bbd772b8f20fe4c9\">QsciLexerCSS</a>\n</li>\n<li>selectAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8aae5a0037937ad6c8bdfe868e4a8ad5\">QsciScintilla</a>\n</li>\n<li>selectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a10c8d8f5e97fb5ef86ea351407fe1023\">QsciScintilla</a>\n</li>\n<li>selectionChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a194e86e59129ed570af044e19697d0e9\">QsciScintilla</a>\n</li>\n<li>selectionToEol()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaf77d8976ae47a1d5e5ee804bc0645d3\">QsciScintilla</a>\n</li>\n<li>selectToMatchingBrace()\n: <a class=\"el\" href=\"classQsciScintilla.html#a986f1235405f51f9d5b2edda17423563\">QsciScintilla</a>\n</li>\n<li>SendScintilla()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">QsciScintillaBase</a>\n</li>\n<li>SendScintillaPtrResult()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">QsciScintillaBase</a>\n</li>\n<li>setAlternateKey()\n: <a class=\"el\" href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">QsciCommand</a>\n</li>\n<li>setAnnotationDisplay()\n: <a class=\"el\" href=\"classQsciScintilla.html#aeda9c17a6e746e177fa6f5311d96dc03\">QsciScintilla</a>\n</li>\n<li>setAPIs()\n: <a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">QsciLexer</a>\n</li>\n<li>setAutoCompletionCaseSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8348c07fe8cff0bf6141a94ca3014ed2\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionFillups()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionFillupsEnabled()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionReplaceWord()\n: <a class=\"el\" href=\"classQsciScintilla.html#af67874dae6e032c44d4ccde569e2decb\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionShowSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6b494f1a0395a62c3e61f50eabc50679\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionSource()\n: <a class=\"el\" href=\"classQsciScintilla.html#a48860b20014ce8b044760c055156ba57\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionThreshold()\n: <a class=\"el\" href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionUseSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionWordSeparators()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4ba18e98a98310113fb30d8ada30fe14\">QsciScintilla</a>\n</li>\n<li>setAutoIndent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a02105d06ad853647906eb72d27face67\">QsciScintilla</a>\n</li>\n<li>setAutoIndentStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">QsciLexer</a>\n</li>\n<li>setBackslashEscapes()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ab64e768ab8e7af6af93ce95db074c90a\">QsciLexerSQL</a>\n</li>\n<li>setBackspaceUnindents()\n: <a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">QsciScintilla</a>\n</li>\n<li>setBraceMatching()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae53911447eddf1f0f93811f17ca4ecf8\">QsciScintilla</a>\n</li>\n<li>setCallTipsBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af780380f9f1f2a66c729759b1d37ba69\">QsciScintilla</a>\n</li>\n<li>setCallTipsForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a13a64159770a6eb451567bc2d293c2a2\">QsciScintilla</a>\n</li>\n<li>setCallTipsHighlightColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae64151db464b22eedd012225f82c810d\">QsciScintilla</a>\n</li>\n<li>setCallTipsPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7f9d93c22ed8b7b00996408da578cd2a\">QsciScintilla</a>\n</li>\n<li>setCallTipsStyle()\n: <a class=\"el\" href=\"classQsciScintilla.html#a253807bb0f4b3db471b059afc70b77db\">QsciScintilla</a>\n</li>\n<li>setCallTipsVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#aec47d94706ffb14ef35035ba827b5b45\">QsciScintilla</a>\n</li>\n<li>setCaretForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af9015c62600c87eef82f715bf61da913\">QsciScintilla</a>\n</li>\n<li>setCaretLineBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8c227f8c948aeb5e6a2cf73397387cc0\">QsciScintilla</a>\n</li>\n<li>setCaretLineFrameWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0999f0d3c67472b6986486fd06775240\">QsciScintilla</a>\n</li>\n<li>setCaretLineVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#a37f2cddeeef588533be46798ae18ffab\">QsciScintilla</a>\n</li>\n<li>setCaretWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2c1974c2bdc9c0f2923c28b66afe811f\">QsciScintilla</a>\n</li>\n<li>setCaseSensitiveTags()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">QsciLexerHTML</a>\n</li>\n<li>setChangeable()\n: <a class=\"el\" href=\"classQsciStyle.html#af7e052d08efd3a677f810c8e4116dafc\">QsciStyle</a>\n</li>\n<li>setColor()\n: <a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a8c8e4776767cc88b945f50f07d235770\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#aa7743a3805662a27ae52a56af3ac315a\">QsciStyle</a>\n</li>\n<li>setContractedFolds()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9405d8aaa240dfc8fe30c3a4b5556ecc\">QsciScintilla</a>\n</li>\n<li>setCursorPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#aea97c6fb0079a6e3e647443b6101ae9d\">QsciScintilla</a>\n</li>\n<li>setDefaultColor()\n: <a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">QsciLexer</a>\n</li>\n<li>setDefaultFont()\n: <a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">QsciLexer</a>\n</li>\n<li>setDefaultPaper()\n: <a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">QsciLexer</a>\n</li>\n<li>setDescription()\n: <a class=\"el\" href=\"classQsciStyle.html#abd88d76b875c154f099b4e9f36b6fcab\">QsciStyle</a>\n</li>\n<li>setDjangoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">QsciLexerHTML</a>\n</li>\n<li>setDocument()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">QsciScintilla</a>\n</li>\n<li>setDollarsAllowed()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#affaec4d14f7908f7d24d16937df00c93\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">QsciLexerCPP</a>\n</li>\n<li>setDottedWords()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#aba150bef5f977fb65d66fcaec9c6664c\">QsciLexerSQL</a>\n</li>\n<li>setEdgeColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">QsciScintilla</a>\n</li>\n<li>setEdgeColumn()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">QsciScintilla</a>\n</li>\n<li>setEdgeMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3493e72e97607270ca64c01b521f933f\">QsciScintilla</a>\n</li>\n<li>setEditor()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a224fe82235b9a1c7b9c8bec9dd441178\">QsciLexerCustom</a>\n</li>\n<li>setEolFill()\n: <a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a6767dbb23f68292ef9e892dad31ffd9e\">QsciStyle</a>\n</li>\n<li>setEolMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">QsciScintilla</a>\n</li>\n<li>setEolVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab98db9f5166ccc23792aea15a19c2294\">QsciScintilla</a>\n</li>\n<li>setExtraAscent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">QsciScintilla</a>\n</li>\n<li>setExtraDescent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">QsciScintilla</a>\n</li>\n<li>setFirstVisibleLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a451bcf235c2ad7628d32940a13d22116\">QsciScintilla</a>\n</li>\n<li>setFoldAtBegin()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#a7f8da8d7fe8301cd49926b896bf5e286\">QsciLexerVHDL</a>\n</li>\n<li>setFoldAtElse()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#aaae969a8e94db29a49849d7497e2cc74\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a2dc2ffcd977cf514e65e315a80afcb18\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a14705cac9643949facd57641e0892fb0\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#aa303817de5a59137ab4bf592ff52a315\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a35dfbbd04762b0450232c14862ec3ea6\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a7b84f78b170cec259efb2f367c54ce4b\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#ae8c0599c4eb74db6caa8624bcc416a8b\">QsciLexerVHDL</a>\n</li>\n<li>setFoldAtModule()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af57050a2bcb9d1d285199159da0ba6e0\">QsciLexerVerilog</a>\n</li>\n<li>setFoldAtParenthesis()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#ad6328325f4c46dce0226712e9db3bba7\">QsciLexerVHDL</a>\n</li>\n<li>setFoldComments()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a86be2cbea60ab7b3419ed3bf2db7c5ce\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#ab743740491685360f2d50e5c12be876b\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a57f1f1164f3719b4b855a3a163a78764\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a5f77be4cb83422d47220c5b38d9f0a99\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#aa7bcbfe8a9e732630bba54860888e9d5\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a05d880fd1451f6a757fd21a7bd43a358\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a85aa8e72d81818a7edea1867362db16a\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#abb698a7598847dea3cec0686c88ba43a\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a189a9efbe5c2fa07757d67c013229e19\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a35e71b31d8d197052c7c5250ff21f094\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#acf9bbfcaf3dfd6004428920e1c6572fd\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a6efb8e98287c21ec5175a466d7e5cc55\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#abceb6f3cf78367b7bc370265d7776bf1\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a2097c0d473f379dbcd0faa9653bcc943\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ac79b616c3ba0872856d90b119bfd81b8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#af41d62ccd061b840e3eb2e9e2b26d6f5\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a5fc9da8d92341819072536ce840902fc\">QsciLexerYAML</a>\n</li>\n<li>setFoldCompact()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#ac814c0fdc49d3c27a027a8e075aa7626\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a80a1f387059600fd67bbf6d2699981e3\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a8bc6aee27994356e61fc6b030e23a62f\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aaf9762aeea19ed1c8d6766a9e6a52cd3\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a97c7813c68c861b9f2b3f068d9b47fd7\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a8a24cd2bdd449e16ae5d00db7a1826bf\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a2f54e561f646da5ff20c5e85b2f377ea\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a2d183c40c276dadd3bbb994b0c0f26ce\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a269b1c3c788ae863939fd8b1749a5abf\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#af3d4ae3f76854d01444b2fd4637c9b8e\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a277a3c519eca4ef69d73fd45ea4f5ab5\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a831ed1e8074990eafb57d4b9ebaf3d2f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a4caa0f46faeb171710ec2657cd23436e\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a27dcfdcac480d0360029d1f12b14f724\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a0e83f239ecb3c52bf4930412f32f51f1\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a302b9b881fdc5dca82c5dea5fca5cd3e\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a21f63849918a4fbeda81dc5f79fa81c2\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a17ff342a5c1d94ce760a3dc02cfcda1d\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a40d1ca24b672c13e9e7e69add2f5ee42\">QsciLexerVHDL</a>\n</li>\n<li>setFoldDirectives()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#aea30a66d5e4e7d0064366eefec03364c\">QsciLexerPOV</a>\n</li>\n<li>setFolding()\n: <a class=\"el\" href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">QsciScintilla</a>\n</li>\n<li>setFoldMarginColors()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6bdcf192822a31094e680ffb2f142aab\">QsciScintilla</a>\n</li>\n<li>setFoldOnlyBegin()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a680cba1b994603e73da00610e81debfe\">QsciLexerSQL</a>\n</li>\n<li>setFoldPackages()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a5e2cdbcaa57b02f18d65aea89d2faa54\">QsciLexerPerl</a>\n</li>\n<li>setFoldPODBlocks()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#af0ee6abab37e283e68f527c597c50877\">QsciLexerPerl</a>\n</li>\n<li>setFoldPreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a85c009c5ccf84fc64726bb2c3b11bdec\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ab7c13e959940db389fe0daeb96267d8e\">QsciLexerVerilog</a>\n</li>\n<li>setFoldQuotes()\n: <a class=\"el\" href=\"classQsciLexerPython.html#afc0aaf4300e9ca02eb8fa49328bbe8d8\">QsciLexerPython</a>\n</li>\n<li>setFoldScriptComments()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">QsciLexerHTML</a>\n</li>\n<li>setFoldScriptHeredocs()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">QsciLexerHTML</a>\n</li>\n<li>setFont()\n: <a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a26eb997695e6b7292896743ac825a8ee\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#ab09932c9dafb915b8138d4ec1cbc79cb\">QsciStyle</a>\n</li>\n<li>setHashComments()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#acc91bd455ff72d93d0bb73b553afbbb8\">QsciLexerSQL</a>\n</li>\n<li>setHighlightBackQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">QsciLexerCPP</a>\n</li>\n<li>setHighlightComments()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#aad1f452948047cc4ce0afc9bc9374061\">QsciLexerJSON</a>\n</li>\n<li>setHighlightEscapeSequences()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ac4b582db9efad2743e270ee63234804f\">QsciLexerJSON</a>\n</li>\n<li>setHighlightHashQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">QsciLexerCPP</a>\n</li>\n<li>setHighlightSubidentifiers()\n: <a class=\"el\" href=\"classQsciLexerPython.html#ade07472f3cc8a4cccbb0bb6b964f0356\">QsciLexerPython</a>\n</li>\n<li>setHighlightTripleQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">QsciLexerCPP</a>\n</li>\n<li>setHotspot()\n: <a class=\"el\" href=\"classQsciStyle.html#acb06ba468da57cc4ea9e8d496cb33f83\">QsciStyle</a>\n</li>\n<li>setHotspotBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">QsciScintilla</a>\n</li>\n<li>setHotspotForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">QsciScintilla</a>\n</li>\n<li>setHotspotUnderline()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac961cfe1be7cd29038a2772f30b71bfc\">QsciScintilla</a>\n</li>\n<li>setHotspotWrap()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7245335691700f82db41016d257d63cc\">QsciScintilla</a>\n</li>\n<li>setHSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a9e61fa490e6e6c1480f3de5187ffed02\">QsciLexerCSS</a>\n</li>\n<li>setIndentation()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa46e60536be6297de6ca1fb16d36cd51\">QsciScintilla</a>\n</li>\n<li>setIndentationGuides()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1b4591eb73dcef0153861f698edc8726\">QsciScintilla</a>\n</li>\n<li>setIndentationGuidesBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a18d150beb0cd818ebcbcee886217de6a\">QsciScintilla</a>\n</li>\n<li>setIndentationGuidesForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#ace4acd9ee0d1c3e31099d65cdd8219b2\">QsciScintilla</a>\n</li>\n<li>setIndentationsUseTabs()\n: <a class=\"el\" href=\"classQsciScintilla.html#a065b392e0a39ecfd39df787a3a25e814\">QsciScintilla</a>\n</li>\n<li>setIndentationWarning()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a421ab12187730bc0686dc72710867ec3\">QsciLexerPython</a>\n</li>\n<li>setIndentationWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8010e1671a15976254fd11b59ca3e03d\">QsciScintilla</a>\n</li>\n<li>setIndicatorDrawUnder()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5ba2e241be76c209c0f5509804a995c9\">QsciScintilla</a>\n</li>\n<li>setIndicatorForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2ffd6d691d5a63940e448138f3754a47\">QsciScintilla</a>\n</li>\n<li>setIndicatorHoverForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a616edbb9da241c08f8381835d65bb18c\">QsciScintilla</a>\n</li>\n<li>setIndicatorHoverStyle()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae76354288b8e5c2bc6f7a7e7bd97e44e\">QsciScintilla</a>\n</li>\n<li>setIndicatorOutlineColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af63627804eeffc4f0f1290181cda7781\">QsciScintilla</a>\n</li>\n<li>setInitialSpaces()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a2243845007f5165eb5718a131be3ada3\">QsciLexerProperties</a>\n</li>\n<li>setKey()\n: <a class=\"el\" href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">QsciCommand</a>\n</li>\n<li>setLessLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a388e532d847652dbf18207593e236e5e\">QsciLexerCSS</a>\n</li>\n<li>setLevel()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a80c198967862ff5392982a49b8004f48\">QsciLexerPostScript</a>\n</li>\n<li>setLexer()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">QsciScintilla</a>\n</li>\n<li>setMagnification()\n: <a class=\"el\" href=\"classQsciPrinter.html#ad66724c8a5e5e202998bd6533fef61be\">QsciPrinter</a>\n</li>\n<li>setMakoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">QsciLexerHTML</a>\n</li>\n<li>setMarginBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">QsciScintilla</a>\n</li>\n<li>setMarginLineNumbers()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5fddd1e6e19cf2e2b40c15a39e62d198\">QsciScintilla</a>\n</li>\n<li>setMarginMarkerMask()\n: <a class=\"el\" href=\"classQsciScintilla.html#aae6392483ffb59cdb94b7bd4b8a6dec9\">QsciScintilla</a>\n</li>\n<li>setMarginOptions()\n: <a class=\"el\" href=\"classQsciScintilla.html#a626103a61623dd360dc44210fe435ad7\">QsciScintilla</a>\n</li>\n<li>setMargins()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9c3a34cb9edf25913af16c9dc284cc5d\">QsciScintilla</a>\n</li>\n<li>setMarginsBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a419ab8aed49ea1711ce4ffcf19146df1\">QsciScintilla</a>\n</li>\n<li>setMarginSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">QsciScintilla</a>\n</li>\n<li>setMarginsFont()\n: <a class=\"el\" href=\"classQsciScintilla.html#a672f2fb901048f290997cb69216b7a00\">QsciScintilla</a>\n</li>\n<li>setMarginsForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a263f0c4753c9a0c950adf1377737444e\">QsciScintilla</a>\n</li>\n<li>setMarginText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2b148c2c2065f1ef1563421303a02225\">QsciScintilla</a>\n</li>\n<li>setMarginType()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">QsciScintilla</a>\n</li>\n<li>setMarginWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1a8b798b6b36db2b5f60b0cdccba88a1\">QsciScintilla</a>\n</li>\n<li>setMarkerBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#acf47d4b76a8c85a48fe9a27423997071\">QsciScintilla</a>\n</li>\n<li>setMarkerForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6abf177ca5bf8eea0930106d2867edae\">QsciScintilla</a>\n</li>\n<li>setMatchedBraceBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">QsciScintilla</a>\n</li>\n<li>setMatchedBraceForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af590f3e7196b21860e0405670cfa512d\">QsciScintilla</a>\n</li>\n<li>setMatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">QsciScintilla</a>\n</li>\n<li>setModified()\n: <a class=\"el\" href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">QsciScintilla</a>\n</li>\n<li>setOverwriteMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa627ee937acaae02dc0c5b468fd2643b\">QsciScintilla</a>\n</li>\n<li>setPaper()\n: <a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#aa805f90f3bbe067299e9ab8902eafbf3\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a2d4ec76574fd507fbf3c0d006c7427da\">QsciStyle</a>\n</li>\n<li>setProcessComments()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a1895725812d581b40913c1a85d2ab533\">QsciLexerTeX</a>\n</li>\n<li>setProcessIf()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a479ca70b474910355294d1fcec011572\">QsciLexerTeX</a>\n</li>\n<li>setQuotedIdentifiers()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae6e5819a3ddec15ac6926b5e19927bff\">QsciLexerSQL</a>\n</li>\n<li>setReadOnly()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">QsciScintilla</a>\n</li>\n<li>setScriptsStyled()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a7bbfdb6b269b6e52791fcbf1df60731e\">QsciLexerXML</a>\n</li>\n<li>setScrollWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">QsciScintilla</a>\n</li>\n<li>setScrollWidthTracking()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">QsciScintilla</a>\n</li>\n<li>setSCSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a2a2195f681df3657fbadf72c55003863\">QsciLexerCSS</a>\n</li>\n<li>setSelection()\n: <a class=\"el\" href=\"classQsciScintilla.html#a391299d076b0164402118f504c83d09c\">QsciScintilla</a>\n</li>\n<li>setSelectionBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">QsciScintilla</a>\n</li>\n<li>setSelectionForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">QsciScintilla</a>\n</li>\n<li>setSelectionToEol()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7e36f3595e0d89910b9322dc5295152d\">QsciScintilla</a>\n</li>\n<li>setSmartHighlighting()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a64f021f45d10f2cfca72fda0c1d28e1f\">QsciLexerPascal</a>\n</li>\n<li>setStringsOverNewlineAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a5887a36e4a8d6ff54f4c796b33bc2eef\">QsciLexerPython</a>\n</li>\n<li>setStyle()\n: <a class=\"el\" href=\"classQsciStyle.html#af00ea2dd20e93c5d06d9ce99cbc2cf00\">QsciStyle</a>\n</li>\n<li>setStylePreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aa1949e1c7fd18507f664babab7b3c56c\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">QsciLexerCPP</a>\n</li>\n<li>setStyling()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a5ba7f97b19cfa7bd0b846fc56d94fa3c\">QsciLexerCustom</a>\n</li>\n<li>setTabDrawMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a69f35ec6e80059bbb351c8f8845cd8f6\">QsciScintilla</a>\n</li>\n<li>setTabIndents()\n: <a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">QsciScintilla</a>\n</li>\n<li>setTabWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1bd5470bc123a43c98facfc5c4a1e523\">QsciScintilla</a>\n</li>\n<li>setText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">QsciScintilla</a>\n</li>\n<li>setTextCase()\n: <a class=\"el\" href=\"classQsciStyle.html#a25e9b8a34c334bf6160115a2c43a5256\">QsciStyle</a>\n</li>\n<li>setTokenize()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a8d57801958b738cbb297936426bb8c61\">QsciLexerPostScript</a>\n</li>\n<li>setUnmatchedBraceBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">QsciScintilla</a>\n</li>\n<li>setUnmatchedBraceForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a511a4f492a9912df3d430fba33b67d5c\">QsciScintilla</a>\n</li>\n<li>setUnmatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">QsciScintilla</a>\n</li>\n<li>setUtf8()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9071c0772ce576f60fce08395ce04274\">QsciScintilla</a>\n</li>\n<li>setV2UnicodeAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#accc3cd3ccf7d62840ded955400695b9d\">QsciLexerPython</a>\n</li>\n<li>setV3BinaryOctalAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#ae6bc53fc7e6dc90a80a26e22f6f49acb\">QsciLexerPython</a>\n</li>\n<li>setV3BytesAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a856785e000203b1da8fa6f295daad13e\">QsciLexerPython</a>\n</li>\n<li>setVerbatimStringEscapeSequencesAllowed()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">QsciLexerCPP</a>\n</li>\n<li>setVisible()\n: <a class=\"el\" href=\"classQsciStyle.html#a4f8b9edd94c36344bd7152d15731509a\">QsciStyle</a>\n</li>\n<li>setWhitespaceBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9fdd43a276cf3d9a3e7cc86dc7f280f5\">QsciScintilla</a>\n</li>\n<li>setWhitespaceForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a67177e2b1d8584d8cf8f1b276174b258\">QsciScintilla</a>\n</li>\n<li>setWhitespaceSize()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7436ea4b640c312fd07945e9b436e19b\">QsciScintilla</a>\n</li>\n<li>setWhitespaceVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa2bca1d2d137ea4a3f944a4f41f98a94\">QsciScintilla</a>\n</li>\n<li>setWrapIndentMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad8424876c29b1a77fd1df45a534722d1\">QsciScintilla</a>\n</li>\n<li>setWrapMode()\n: <a class=\"el\" href=\"classQsciPrinter.html#aa95827e3bd2c3c0e658afe55fa12476e\">QsciPrinter</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#ac04428d2f90c36458d68a673f107e40c\">QsciScintilla</a>\n</li>\n<li>setWrapVisualFlags()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab696e4703374af4c01651453d094ac08\">QsciScintilla</a>\n</li>\n<li>showUserList()\n: <a class=\"el\" href=\"classQsciScintilla.html#a42ae037173aab16ce5e14788e6331623\">QsciScintilla</a>\n</li>\n<li>smartHighlighting()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a71fd025ad904aa51a6127f43099805ad\">QsciLexerPascal</a>\n</li>\n<li>standardCommands()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8911af504ebdc870f09da4c7a491eeeb\">QsciScintilla</a>\n</li>\n<li>startRecording()\n: <a class=\"el\" href=\"classQsciMacro.html#a4a5648ea6c1e35aaaa55f9aaf83e7eda\">QsciMacro</a>\n</li>\n<li>startStyling()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">QsciLexerCustom</a>\n</li>\n<li>stringsOverNewlineAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#aa4abeabae54373d536961d0aabb5ecdf\">QsciLexerPython</a>\n</li>\n<li>style()\n: <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">QsciStyle</a>\n, <a class=\"el\" href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">QsciStyledText</a>\n</li>\n<li>styleBitsNeeded()\n: <a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">QsciLexerCustom</a>\n</li>\n<li>stylePreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aba02f4e299dd7f25cea762e9c21b48b2\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">QsciLexerCPP</a>\n</li>\n<li>styleText()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">QsciLexerCustom</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_t.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_t\"></a>- t -</h3><ul>\n<li>tabDrawMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab000e5f46abc6568405585b711067d1e\">QsciScintilla</a>\n</li>\n<li>tabIndents()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">QsciScintilla</a>\n</li>\n<li>tabWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">QsciScintilla</a>\n</li>\n<li>text()\n: <a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">QsciStyledText</a>\n</li>\n<li>textCase()\n: <a class=\"el\" href=\"classQsciStyle.html#a16212f9f46162f67ece3ed6423207785\">QsciStyle</a>\n</li>\n<li>textChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8696968d0a32b07bfc77fb0701c5bf62\">QsciScintilla</a>\n</li>\n<li>textHeight()\n: <a class=\"el\" href=\"classQsciScintilla.html#af1651b676dd24c8768a90b829400a6cf\">QsciScintilla</a>\n</li>\n<li>tokenize()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">QsciLexerPostScript</a>\n</li>\n<li>toMimeData()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">QsciScintillaBase</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_u.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_u\"></a>- u -</h3><ul>\n<li>undo()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">QsciScintilla</a>\n</li>\n<li>unindent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">QsciScintilla</a>\n</li>\n<li>updateAutoCompletionList()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciAPIs.html#ab0f824492bb0f3ca54edb4d46945a3de\">QsciAPIs</a>\n</li>\n<li>userListActivated()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_v.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_v\"></a>- v -</h3><ul>\n<li>v2UnicodeAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#add088b1bd36b0d5eb0f3b87e403cec10\">QsciLexerPython</a>\n</li>\n<li>v3BinaryOctalAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a02ad644d3bc229939e57d5e9f665a6b9\">QsciLexerPython</a>\n</li>\n<li>v3BytesAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a67308885b201ef6e21f0a273bf0b3c31\">QsciLexerPython</a>\n</li>\n<li>validKey()\n: <a class=\"el\" href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\">QsciCommand</a>\n</li>\n<li>verbatimStringEscapeSequencesAllowed()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">QsciLexerCPP</a>\n</li>\n<li>visible()\n: <a class=\"el\" href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">QsciStyle</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_w.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_w\"></a>- w -</h3><ul>\n<li>wheelEvent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9daa92535de2f43e4c04305007ce5475\">QsciScintilla</a>\n</li>\n<li>whitespaceSize()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0b527097e38858853ea2ac5861278233\">QsciScintilla</a>\n</li>\n<li>whitespaceVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#a778c09295bdb4924aacf40d3134c50ba\">QsciScintilla</a>\n</li>\n<li>wordAtLineIndex()\n: <a class=\"el\" href=\"classQsciScintilla.html#a70c1bd30a1d26b2e059236a4b2835c44\">QsciScintilla</a>\n</li>\n<li>wordAtPoint()\n: <a class=\"el\" href=\"classQsciScintilla.html#abeaabcd8076d1f47e8a847006451ce36\">QsciScintilla</a>\n</li>\n<li>wordCharacters()\n: <a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#aef65e35b32701f0a15d8c2687c20516a\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a65ab592afff78804f6487dd7badd00cf\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a93f46567c5b91d993387d2ba033f2030\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a2e5910796ca5a3f369258718bb75c1d8\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a7cbe39118747739dd557df191c91db0c\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a0436f412bb6c83fe195ea2eb3c058154\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a6a4b4099b20109442416e2bd8309b494\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a9e2c6ee91938aad61cfb7304de571bd4\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a5ffd80ff37350acb6fe03f798f34a912\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#aa45fd60cb7c2db5c88b5708f481dd6e2\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a61d706ce1554474fd54fe07359612814\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a1ba78d98f1f2a18338782acbeb73d22e\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#abb1544042444a8147123b5597e096ea2\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a1052b3e64558fe29271c0829e6d0fdda\">QsciScintilla</a>\n</li>\n<li>wrapIndentMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8b593f92c03b3d6f999cd9d769c5028b\">QsciScintilla</a>\n</li>\n<li>wrapMode()\n: <a class=\"el\" href=\"classQsciPrinter.html#ad67d67c266263dd2dbfe940b4ad98584\">QsciPrinter</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a4bf424d21079ab835dae90ce042400a0\">QsciScintilla</a>\n</li>\n<li>write()\n: <a class=\"el\" href=\"classQsciScintilla.html#a94b8329c4259ea90a6a28b1e745837de\">QsciScintilla</a>\n</li>\n<li>writeProperties()\n: <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a6b8fc8bf46c22c3efafd92179b644788\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a490932b0c83bf7e4048c590565d6a32d\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a0e2e832caa9adddace3085ebfa582948\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#ac70e03bceba5de91104b85edd00e1a68\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ac4001660bfa52216fe475f84e2ce9d77\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#af0fffa0361bad4a3a007c09a1811db9c\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a16841e0262d8200d5ed3a85099d45b37\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#afebea3d6f2a2cffcb8be859c99c2cede\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a0fc741a415b0419464afa66deb2b9e5d\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a99f8420666e55b23980d05903e7eebc3\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a8921849dce20c65c0fc024bc27255873\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#af187d6973df01f3f704b181a446ea2f5\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a338a09c79011b57a842c581aa2556b4c\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a65a8d0928d9f04584972410a5af82888\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#aab7c86d0058b7c8541b0fc7be043f902\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a0ed58ff3726deb2215eaff2c1892bc9b\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#adc63ea477a2869f4ea9f1b3fe69d56fb\">QsciLexerYAML</a>\n</li>\n<li>writeSettings()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a7933fbb5a8b5cb234c4e48b472adc4a3\">QsciCommandSet</a>\n, <a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">QsciLexer</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_z.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index_z\"></a>- z -</h3><ul>\n<li>zoomIn()\n: <a class=\"el\" href=\"classQsciScintilla.html#afb98254d553128ba4ebf6151a496679f\">QsciScintilla</a>\n</li>\n<li>zoomOut()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3de45d9f5485af099041d8046e734103\">QsciScintilla</a>\n</li>\n<li>zoomTo()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_func_~.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members - Functions</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a id=\"index__7E\"></a>- ~ -</h3><ul>\n<li>~QsciAbstractAPIs()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">QsciAbstractAPIs</a>\n</li>\n<li>~QsciAPIs()\n: <a class=\"el\" href=\"classQsciAPIs.html#a07bc73b7a67f8f405578992bae29528c\">QsciAPIs</a>\n</li>\n<li>~QsciLexer()\n: <a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">QsciLexer</a>\n</li>\n<li>~QsciLexerAVS()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a3f758c9ddd617ab1eb870d0eb20877d5\">QsciLexerAVS</a>\n</li>\n<li>~QsciLexerBash()\n: <a class=\"el\" href=\"classQsciLexerBash.html#a7af6a9822a535e06a6874db0b73c2efd\">QsciLexerBash</a>\n</li>\n<li>~QsciLexerBatch()\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a5fbcc10c345a43e51a6042919a9d30c4\">QsciLexerBatch</a>\n</li>\n<li>~QsciLexerCMake()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a7ca16327ee98a2e0dc3a59b2f745d778\">QsciLexerCMake</a>\n</li>\n<li>~QsciLexerCoffeeScript()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab7715c2c90861e2601587b8a3a6732fd\">QsciLexerCoffeeScript</a>\n</li>\n<li>~QsciLexerCPP()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">QsciLexerCPP</a>\n</li>\n<li>~QsciLexerCSharp()\n: <a class=\"el\" href=\"classQsciLexerCSharp.html#a3b06123388fb6a56432819a4dfb30f2c\">QsciLexerCSharp</a>\n</li>\n<li>~QsciLexerCSS()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a377ab8d8a44c7fff2f355cc8ed45e611\">QsciLexerCSS</a>\n</li>\n<li>~QsciLexerCustom()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a3a6b7f17d604db4e06e0d469b55b7602\">QsciLexerCustom</a>\n</li>\n<li>~QsciLexerD()\n: <a class=\"el\" href=\"classQsciLexerD.html#a37506e7f15691f73445422beb341e750\">QsciLexerD</a>\n</li>\n<li>~QsciLexerDiff()\n: <a class=\"el\" href=\"classQsciLexerDiff.html#ae3deccb74fbb24c32621e70d0e94355a\">QsciLexerDiff</a>\n</li>\n<li>~QsciLexerEDIFACT()\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a493b8afa5100c40153aac6f74c78ffa8\">QsciLexerEDIFACT</a>\n</li>\n<li>~QsciLexerFortran()\n: <a class=\"el\" href=\"classQsciLexerFortran.html#a43b721afc8c7b33c5c0699ff9da7d1c7\">QsciLexerFortran</a>\n</li>\n<li>~QsciLexerFortran77()\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">QsciLexerFortran77</a>\n</li>\n<li>~QsciLexerHTML()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">QsciLexerHTML</a>\n</li>\n<li>~QsciLexerIDL()\n: <a class=\"el\" href=\"classQsciLexerIDL.html#ad8a83d778cced2584c895d2b9b07c33b\">QsciLexerIDL</a>\n</li>\n<li>~QsciLexerJava()\n: <a class=\"el\" href=\"classQsciLexerJava.html#a76f547a0431bb391a89efd764eb337c7\">QsciLexerJava</a>\n</li>\n<li>~QsciLexerJavaScript()\n: <a class=\"el\" href=\"classQsciLexerJavaScript.html#a8a99f91287ee998375f84c7a2467b0ff\">QsciLexerJavaScript</a>\n</li>\n<li>~QsciLexerJSON()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#a07a738771d1dd29aaae584944cf6d637\">QsciLexerJSON</a>\n</li>\n<li>~QsciLexerLua()\n: <a class=\"el\" href=\"classQsciLexerLua.html#adbeb88fef8346b6543d6ef8b2154e763\">QsciLexerLua</a>\n</li>\n<li>~QsciLexerMakefile()\n: <a class=\"el\" href=\"classQsciLexerMakefile.html#a0b10a59a79011e968a1ef9512d41c3d6\">QsciLexerMakefile</a>\n</li>\n<li>~QsciLexerMarkdown()\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#a5372d959cc774781c7271334b2c61b4f\">QsciLexerMarkdown</a>\n</li>\n<li>~QsciLexerMatlab()\n: <a class=\"el\" href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">QsciLexerMatlab</a>\n</li>\n<li>~QsciLexerOctave()\n: <a class=\"el\" href=\"classQsciLexerOctave.html#ac0e8c0dfab0ae3c0b076c21d30fccc5f\">QsciLexerOctave</a>\n</li>\n<li>~QsciLexerPascal()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a6ec94de07f31c33a6b08c297259e6b01\">QsciLexerPascal</a>\n</li>\n<li>~QsciLexerPerl()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a6f87282ec40dbc5e752dc0bc0aec87a0\">QsciLexerPerl</a>\n</li>\n<li>~QsciLexerPO()\n: <a class=\"el\" href=\"classQsciLexerPO.html#adfdd8ebdf8346a62055922065c5c3863\">QsciLexerPO</a>\n</li>\n<li>~QsciLexerPostScript()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#aa5f12cd587bf1b8db68813601cb57e5b\">QsciLexerPostScript</a>\n</li>\n<li>~QsciLexerPOV()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a920953f5bde920bb22e853fc5aa6ef8d\">QsciLexerPOV</a>\n</li>\n<li>~QsciLexerProperties()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a34578c60a0d404116a5017ff454477f5\">QsciLexerProperties</a>\n</li>\n<li>~QsciLexerPython()\n: <a class=\"el\" href=\"classQsciLexerPython.html#abf0e76eca3bc604650cc20d4fc110c7f\">QsciLexerPython</a>\n</li>\n<li>~QsciLexerRuby()\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a4fe52167ba709a506391026615d0ef7b\">QsciLexerRuby</a>\n</li>\n<li>~QsciLexerSpice()\n: <a class=\"el\" href=\"classQsciLexerSpice.html#af9821d4ad823bc0840178c6fb9ab7a1d\">QsciLexerSpice</a>\n</li>\n<li>~QsciLexerSQL()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a0afd856aa4add375643659eace2238fa\">QsciLexerSQL</a>\n</li>\n<li>~QsciLexerTCL()\n: <a class=\"el\" href=\"classQsciLexerTCL.html#aa4e0b16ffd568f44be50375e0572011c\">QsciLexerTCL</a>\n</li>\n<li>~QsciLexerTeX()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a9912a293e50e75adc23a532b352a57ea\">QsciLexerTeX</a>\n</li>\n<li>~QsciLexerVerilog()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#a7fd3e6c1faee7c7986db2ec4c0b793ae\">QsciLexerVerilog</a>\n</li>\n<li>~QsciLexerVHDL()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab4dd4635d954113eecb698c46395d0b\">QsciLexerVHDL</a>\n</li>\n<li>~QsciLexerXML()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a89f9fc2c333d559ed9489cc6b121b91e\">QsciLexerXML</a>\n</li>\n<li>~QsciLexerYAML()\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a90fcdb3295720e3bdcf3d04dae4ae0c9\">QsciLexerYAML</a>\n</li>\n<li>~QsciMacro()\n: <a class=\"el\" href=\"classQsciMacro.html#a17533fc70491bd7752d4a8ead5facf01\">QsciMacro</a>\n</li>\n<li>~QsciPrinter()\n: <a class=\"el\" href=\"classQsciPrinter.html#a9c7747919e355a885d6ebb4b0d0dc619\">QsciPrinter</a>\n</li>\n<li>~QsciScintilla()\n: <a class=\"el\" href=\"classQsciScintilla.html#abb3418e72ca4479b276276d652048461\">QsciScintilla</a>\n</li>\n<li>~QsciScintillaBase()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">QsciScintillaBase</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_g.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_g\"></a>- g -</h3><ul>\n<li>getCursorPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#a830f23268edb039344d30cef52d7c8f3\">QsciScintilla</a>\n</li>\n<li>getSelection()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6423854a3c2f7da07db1e47f2f0c8c71\">QsciScintilla</a>\n</li>\n<li>Global\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac07c560208a60c08d1fea27a862ce60a\">QsciLexerRuby</a>\n</li>\n<li>GlobalClass\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ab4d4a5d44c3c3584609996183880c179\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a713977fdf2b7b8b59c7e9d23004090dc\">QsciLexerCPP</a>\n</li>\n<li>GradientIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a7f4b165aed1dd094770e16c93c976d08\">QsciScintilla</a>\n</li>\n<li>Group\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37daf1ec0a0707b4105f54e242482ece1c0e\">QsciLexerTeX</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_h.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_h\"></a>- h -</h3><ul>\n<li>Hash\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aaa260a4964100f84e24f3797150379ac\">QsciLexerPerl</a>\n</li>\n<li>hashComments()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a24d7e487c0493f7164cb5bcce51d403d\">QsciLexerSQL</a>\n</li>\n<li>HashQuotedString\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a1b8ef1921a218a2db1d6d7d65ac3242c\">QsciLexerCPP</a>\n</li>\n<li>hasSelectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad6b00de0b5fa769ff6d30036f9d784de\">QsciScintilla</a>\n</li>\n<li>Header\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea2370144fb29df0b9814433d2bf58ab81\">QsciLexerDiff</a>\n</li>\n<li>Header1\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a72b1c31bd564177da4442c5c3ad29673\">QsciLexerMarkdown</a>\n</li>\n<li>Header2\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2a8592f89e9ed96dc5284f7532fd4b5a\">QsciLexerMarkdown</a>\n</li>\n<li>Header3\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a2603a8da38b275a2a6663fb1a0be0013\">QsciLexerMarkdown</a>\n</li>\n<li>Header4\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4b1050c5cdb3517a798c5cfeac8021d7\">QsciLexerMarkdown</a>\n</li>\n<li>Header5\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ac7776d56b4bf5a50f220408aa6f825a9\">QsciLexerMarkdown</a>\n</li>\n<li>Header6\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a7058cb8ab326921f8d2165c7031eaabe\">QsciLexerMarkdown</a>\n</li>\n<li>HereDocument\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae3c3ed5000ff843e47b7215bd175c0b6\">QsciLexerRuby</a>\n</li>\n<li>HereDocumentDelimiter\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a382232cd9e8deee51b10c35862647234\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1735d83cde8be27eda10acb6f7e2ed98\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1cf86e15ea041fc9e5d0700a56c1a220\">QsciLexerRuby</a>\n</li>\n<li>HexNumber\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa12bdf1e4458d0e5aa6ba031eee1c81b2\">QsciLexerPascal</a>\n</li>\n<li>HexString\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ae6d498c2db5cb31defd472e8b78e0b37\">QsciLexerPostScript</a>\n</li>\n<li>HiddenIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4d76d98f1b407df8f0a62b70a7545c51\">QsciScintilla</a>\n</li>\n<li>HideCommandChar\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a9de6f2d916a75676162d8a88b58516ae\">QsciLexerBatch</a>\n</li>\n<li>highlightBackQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a015d6501ee4cca33a00036174529c161\">QsciLexerCPP</a>\n</li>\n<li>highlightComments()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ab7048836522bb0c92df17ccc9e8c1577\">QsciLexerJSON</a>\n</li>\n<li>HighlightedIdentifier\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a6b6db1e2f565b7945e40fa3b13d2ce5a\">QsciLexerPython</a>\n</li>\n<li>highlightEscapeSequences()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#aea4d8707f6e32c1fbf989504d12d9eaa\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ad300e5513ee85748aa3dfab2d9617ad5\">QsciLexerJSON</a>\n</li>\n<li>highlightHashQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ab5f782645ff1d3a2d7ac371cbd9f2f5d\">QsciLexerCPP</a>\n</li>\n<li>highlightSubidentifiers()\n: <a class=\"el\" href=\"classQsciLexerPython.html#af8c28786c65b23583d92030ac606d07c\">QsciLexerPython</a>\n</li>\n<li>highlightTripleQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a23c6488e2416d54f6a4ec84015d860ec\">QsciLexerCPP</a>\n</li>\n<li>Home\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a607f851f9833e13dbf335009ebd2ca37\">QsciCommand</a>\n</li>\n<li>HomeDisplay\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a71d0019b185b1d65e9d3574651a1b55f\">QsciCommand</a>\n</li>\n<li>HomeDisplayExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a82851feb57f239b98cfa52fb2307fe66\">QsciCommand</a>\n</li>\n<li>HomeExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbb515f305f0dc715372708d91be80aa\">QsciCommand</a>\n</li>\n<li>HomeRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a3cf62acaae368a7a1e88a6300fbf1de4\">QsciCommand</a>\n</li>\n<li>HomeWrap\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab67874e23a95cc208bcbb0de0cf16d90\">QsciCommand</a>\n</li>\n<li>HomeWrapExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa5afb3470010c1075e61cd4216a1714c\">QsciCommand</a>\n</li>\n<li>HorizontalRule\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a98d328ad6d4dd08d1cea6896c01d0bf1\">QsciLexerMarkdown</a>\n</li>\n<li>hotspot()\n: <a class=\"el\" href=\"classQsciStyle.html#a1df46714ab45c62e5ad5e52a5f41bf15\">QsciStyle</a>\n</li>\n<li>HSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a95a8b4cc2d6f8437c8feada8f518daff\">QsciLexerCSS</a>\n</li>\n<li>HTMLComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1d508b4ef80e80c1a5b880357ed2651f\">QsciLexerHTML</a>\n</li>\n<li>HTMLDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9b3ff0738c01f777d1591d0a06ac95fa\">QsciLexerHTML</a>\n</li>\n<li>HTMLNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a89b27b58d6c068b649e247f5236f2c2d\">QsciLexerHTML</a>\n</li>\n<li>HTMLSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42af2b7e8d205c6193e3da1e9237f6e34be\">QsciLexerHTML</a>\n</li>\n<li>HTMLValue\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5cfd2a96dca88ed5b108a31707190ccf\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_i.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_i\"></a>- i -</h3><ul>\n<li>Identifier\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca485c820ed6275fb070e03ef6e66b3dc0\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8864a95744af2b4ef3d960c9e93a83a7\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6fada5b4984531d13a0f03cf9bd082f8\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a162f877d72b7a405250d3a931660080e\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca47923636d0ac5375823bbae9ae291f50\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a10c46cba3fe73ee055053c3bd3b38fa1\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a03fe51d98c72f4af37b148cfb2a1319f\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a3de8abf631bb373bd866e45d59789790\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa51dbc500bd8cc6a05ca0a04e9220e9b8\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65e52532e4624b84e6f3cd89b37a48b8\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ace12eb00b29be82c86869c131c43bd7f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad3c089de016a822c21aadf0760842dbe\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda1a052fb80029ed8c2990a996b311081d\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba50fad8da4f0a77aa1074fa0be57bff11\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a65248832536a73057c5ff9c1b4109ef7\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0c8b6993ec2f619ed29f8797fc27e441\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa5b940ddc4db712f69dbf6753cd362ebf\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab72a8603cda3b24dfa6eeed5c6a7ca93\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649adc20fbe1ca5efec16518a264e858b37f\">QsciLexerYAML</a>\n</li>\n<li>IDSelector\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad59613421106ae8b7a7594812a4091b5\">QsciLexerCSS</a>\n</li>\n<li>ImmediateEvalLiteral\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a6b15de06a212e4317328cb760561c55b\">QsciLexerPostScript</a>\n</li>\n<li>Important\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a8b419e8c3650bc498dc90610ccda4f1a\">QsciLexerCSS</a>\n</li>\n<li>Inconsistent\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca205cf6f451c495acbe224d2479c9b512\">QsciLexerPython</a>\n</li>\n<li>indent()\n: <a class=\"el\" href=\"classQsciScintilla.html#af7088827cec6904663d94507a199d19a\">QsciScintilla</a>\n</li>\n<li>indentation()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae2e859fdafd8c56106b823d9e1ef99dd\">QsciScintilla</a>\n</li>\n<li>indentationGuides()\n: <a class=\"el\" href=\"classQsciScintilla.html#acd6fbd352060d3ee893bacc9bbb28a4e\">QsciScintilla</a>\n</li>\n<li>indentationGuideView()\n: <a class=\"el\" href=\"classQsciLexer.html#aff4735542e937c5e35ecb2eb82e8f875\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#acb5ec792032e6108b3c2d6ec6e565f49\">QsciLexerPython</a>\n</li>\n<li>indentationsUseTabs()\n: <a class=\"el\" href=\"classQsciScintilla.html#a67e012ca1e51ed73521c720237b7a507\">QsciScintilla</a>\n</li>\n<li>indentationWarning()\n: <a class=\"el\" href=\"classQsciLexerPython.html#aff624320c72fa3b433d82d6a558238e8\">QsciLexerPython</a>\n</li>\n<li>IndentationWarning\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fc\">QsciLexerPython</a>\n</li>\n<li>indentationWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0b1f9dfc8a34bbee0c131eebeace9a06\">QsciScintilla</a>\n</li>\n<li>indicatorClicked()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad55ff1f454f9cb5c14f63c5c6870c895\">QsciScintilla</a>\n</li>\n<li>indicatorDefine()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab6856c73ad57ed92d8a9e4882867559e\">QsciScintilla</a>\n</li>\n<li>indicatorDrawUnder()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4e895e320f983296f4a14a131dac4c66\">QsciScintilla</a>\n</li>\n<li>indicatorReleased()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaed07ffc03430a61dc90ff6b28fb6fd7\">QsciScintilla</a>\n</li>\n<li>IndicatorStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974\">QsciScintilla</a>\n</li>\n<li>initialSpaces()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a3786c34824a30c5a366f30cb9e8bf115\">QsciLexerProperties</a>\n</li>\n<li>inputMethodEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#acb05eb7e7c7cac07547a08d0628013fe\">QsciScintillaBase</a>\n</li>\n<li>insert()\n: <a class=\"el\" href=\"classQsciScintilla.html#adcf1f06161144f511c549695f9641c77\">QsciScintilla</a>\n</li>\n<li>insertAt()\n: <a class=\"el\" href=\"classQsciScintilla.html#afba4d5b30fae60dab7b4279c580beb8c\">QsciScintilla</a>\n</li>\n<li>installedAPIFiles()\n: <a class=\"el\" href=\"classQsciAPIs.html#aa2ee3021ffc6a998776547a5c252edca\">QsciAPIs</a>\n</li>\n<li>InstanceProperty\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a67579947345d4b8bca1317e697fe46d3\">QsciLexerCoffeeScript</a>\n</li>\n<li>InstanceVariable\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdac62e9eb3fad7c9f5ffd551e37116b2bb\">QsciLexerRuby</a>\n</li>\n<li>IntrinsicFunction\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae4c57d90f56ab7d8bb1e0786fa6ba1d0\">QsciLexerFortran77</a>\n</li>\n<li>Invisible\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a75deca598e2319575861cf9d61e15c65\">QsciScintilla</a>\n</li>\n<li>IRI\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa18ac02585b6a3a5bf7cafa9499bfbfc4\">QsciLexerJSON</a>\n</li>\n<li>IRICompact\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa814a013ddf331cf29765d7c95c24c595\">QsciLexerJSON</a>\n</li>\n<li>isCallTipActive()\n: <a class=\"el\" href=\"classQsciScintilla.html#a67c004c60c462dc9d3840a6e2405d3f8\">QsciScintilla</a>\n</li>\n<li>isListActive()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3b281217e1abc5b4b4ccf8145df4b2ca\">QsciScintilla</a>\n</li>\n<li>isModified()\n: <a class=\"el\" href=\"classQsciScintilla.html#a43b84483d91245a1fda14b758cd8b052\">QsciScintilla</a>\n</li>\n<li>isPrepared()\n: <a class=\"el\" href=\"classQsciAPIs.html#a9dc74576c602f1df961aa8efee652a3d\">QsciAPIs</a>\n</li>\n<li>isReadOnly()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8403fbfd3afcaed7076359bb899d5136\">QsciScintilla</a>\n</li>\n<li>isRedoAvailable()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8386414f7c04968c1642ecdd47b281df\">QsciScintilla</a>\n</li>\n<li>isUndoAvailable()\n: <a class=\"el\" href=\"classQsciScintilla.html#a87366cd0dc2931f62e9e4d6bcd870fdf\">QsciScintilla</a>\n</li>\n<li>isUtf8()\n: <a class=\"el\" href=\"classQsciScintilla.html#afec7e71628d4af7a6573d1c74504ee20\">QsciScintilla</a>\n</li>\n<li>isWordCharacter()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4e27f94e78e5f184f37382950963d831\">QsciScintilla</a>\n</li>\n<li>ITCLKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa130758e2b9502d70213979a82134045\">QsciLexerTCL</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_j.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_j\"></a>- j -</h3><ul>\n<li>JavaScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a4abd3fe4667e3f3e07a349fe38465772\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptCommentDoc\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956ea631c098271e1dbda2480f2ee7bf\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptCommentLine\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a7fd719a9c762649493cdddf21e77b3d4\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48c75a37cb9808fb8e38b57ade4235f3\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a0df9d0b6ab51f5da9178a0627025a542\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a359bd714cc1ad89a586d749034a1141c\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae783df661533d59fe987b3cffdfe65fd\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptRegex\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a24fefe909c415666e66b25379c5ea447\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23fc5cfa88114fc586c9d055e06ed97c\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a812edec51acbc5656d061534adb92963\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptSymbol\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae761e0897e90e25a7fe59a99b68215b9\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa7eb7816b851a536f4834c0bdaa89639\">QsciLexerHTML</a>\n</li>\n<li>JavaScriptWord\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a3958baaa0ee358fbc7deef59528138a6\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_k.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_k\"></a>- k -</h3><ul>\n<li>key()\n: <a class=\"el\" href=\"classQsciCommand.html#abf9dffcf6c222ecc02b28c3f6d17eb8e\">QsciCommand</a>\n</li>\n<li>Key\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1daf20795f392c5dc1ab5639c7de93181e6\">QsciLexerProperties</a>\n</li>\n<li>keyPressEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a39f62b8e6cee02e86d7af508d20a191d\">QsciScintillaBase</a>\n</li>\n<li>Keyword\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca46914c7ffeef04a1c25be8c039640ec0\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ae7d35be63231a974b67a85fc51ede69c\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a49a41ab6bdd70dcdc2721b5c78620005\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a4a6519d9d7b7e0e068d6ce8b777a87d2\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a2495558f63baf5987a97cf2dceddbfc7\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca1726b12d4c63e5ab08f4fd2076be8342\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aee77de5d5ea01f0de3d0ea778f777f66\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faae4909c19c8ccacd940fb6d267e8536a\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae5d52051b1b6459a13bff6db572c0dce\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ac53233ada5686cd1065b8ecdb056e157\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa0df50778af3ef8ecbd584fca00d5337a\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ae431c41ecbd64bf0f773f25b68a7973a\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a78f5e4602dcc6279983499ed04b9ace5\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a5afb6ff3eda4e10420bc19d8cfce6697\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda64027d287f4c03b3c5c790277e6bbbc4\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a3bdb3154d0b6e8fdc9c1ec46c6da29f9\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa2e3ce56242b141b7666f3f2afae71e9e\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a0e6155fe6a0e10f1301072cb73d5ecc5\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a084a5f27de1738ef21b1fd9a1f89669e\">QsciLexerYAML</a>\n</li>\n<li>KeywordDoc\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4caab5b406f8c633b7d63f3dfe5d7be2df8\">QsciLexerD</a>\n</li>\n<li>KeywordLD\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa1a2e3268afbd5a33ca8f6a23aa12c7a0\">QsciLexerJSON</a>\n</li>\n<li>keywords()\n: <a class=\"el\" href=\"classQsciLexer.html#a013b7c1bf9846e231b97827dfd9540b0\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a9af4c417c88911b8c0ca653d643e3778\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#ac1665f22a91f143e6e6fb46b02e7b109\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#ac9329cbc86f1f1a915e548997af76a5f\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a90ed658a569976a68f1260901b7b3518\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a74867915ad9d609b9b516eff87101cc9\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ac331bbae026859d8020ac5a6efd8fed1\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a07fcac621f1cba033bb0918cf9d35231\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a41d04b17da9c84a94289e91323fb5206\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a9fc58fb17acc5e669780cb870d633514\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a21724c1f53b67ec6bc72c7ceb1e03d8f\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerFortran.html#a56e0fd6b5d719677050a28ad0d5ae927\">QsciLexerFortran</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a56b7f081e520f7660490e3d206d83a73\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#a1fd3bee8279c7e3600ec0ed72dbc2d00\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJava.html#ad741254381ce4447588d190ad9c67783\">QsciLexerJava</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#af00e1d05374302fd4d2e2eeec1a829ee\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#af4a9c85e527eda6c28663f055afa0be2\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a136982546f34f83f5e3dd21f67074d4d\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a7afb79f0fec38396668dd52de7fc7c4b\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerOctave.html#a72ce450fad8282f4c02cf28fc6a4b9d2\">QsciLexerOctave</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a9b6f6a462314471262e5f29057839b34\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a57958c564d4d3127e7ee6148d232bd4b\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a981f7ababe1cc561b29617fad8aa29b5\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a6b21e4498723f3a01fe468e03ebe04f4\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a2467729449b6c78d63305b88b2f62789\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#abd6f026e6cb154c64c581f6e5f7f2fed\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#ac4a5d52373228003f7bd51dade64fc85\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ac74a6288e07e20f18ad04e900b48851b\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a8739852ad69fa4686f0fabd61d18b214\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#aed0f87e43716cf9894e27e0b90396a98\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#aebb96727a845f9547a60848f6163d461\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aed2f3934c2fe336324d6e79526c2f7a8\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#ab78937576c3c727f073921059ac87a59\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#add226b6ffbaee63c29a1f0da7de25784\">QsciLexerYAML</a>\n</li>\n<li>KeywordSecondary\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca86aa2ed7ea2e1baaee37feac86b0bc09\">QsciLexerD</a>\n</li>\n<li>KeywordSet2\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ae9524bc4d07a86f58eb88d57c1291083\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ae9944f1484321b3261c8749ccfadbe2d\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaacda550e099f252c45c8bb1523a1640d\">QsciLexerVerilog</a>\n</li>\n<li>KeywordSet3\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a6132465c9d48cb54e00acebcc160084f\">QsciLexerCMake</a>\n</li>\n<li>KeywordSet5\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca41699ff5135f73d77045b68748e881b0\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae99b87ba3113da81b9b8a7b675ac5abd\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82ae83b44ed53686acc7e65d1336901ca8d\">QsciLexerSQL</a>\n</li>\n<li>KeywordSet6\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cabbed202aa3af26d0af11825cd4360ab8\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8bbc63e31f19f9b6d7b50c1e1c2667b0\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a8b505486e278e80d9caef2ef9769544b\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ad6fd6fa9940116fcd7f01371d01f530b\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a964752ac32b2980192e27552fffd4b12\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a7e064a643483e44ef2d19f7aa9e947c0\">QsciLexerTCL</a>\n</li>\n<li>KeywordSet7\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca9f6ffdc183c1d99ce9fb0edce756410e\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a39080fdb9bcf558f8aca25ebbc5877cb\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a27a6dc70698893bcc922c69dcac4a8fa\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a82c5dbd57b06e88f195eb7eefb1f6e32\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a0fa1debaf4eebc4dad0a531f9bd5074a\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab519e29e6205cdeeb66d8d5e1e90a4d0\">QsciLexerVHDL</a>\n</li>\n<li>KeywordSet8\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25ae15e71bd786c060d6412ce31551f3e42\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a50d0c3a0bb96dd811592c6fa6348b66f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a76e2eea32f91918b7a5c330284dfae2d\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a678e5cdd4369161e2974c1fca5ec0756\">QsciLexerTCL</a>\n</li>\n<li>KeywordSet9\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a04935c9218b079cf604ffb8c453d0d79\">QsciLexerTCL</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_l.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_l\"></a>- l -</h3><ul>\n<li>Label\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4a4d5dd4773bec06223bccbad51b0e7b10\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a547af93b10d8f7d2984ccf792d50efc6\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6656345f5af7580f97923433246f5965\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a64681c9d0cf443f6073155989512f8b9\">QsciLexerLua</a>\n</li>\n<li>language()\n: <a class=\"el\" href=\"classQsciLexer.html#a8a3adc7b5c8926e097e6be4340bee920\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a1ef24398e95c23a8b3c858179e5eb564\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a1bc505b1b0f41472062f86b205ea2860\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a18341dcb06d1b74269ed1f33c002b2a9\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a0aa2f537e70f47e6a3e1bcf6d383a480\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a126d81ec982782507eafae1af5d0d856\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a7c5dafabba34ff3e6120d9f3606cade0\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSharp.html#a92e6554430736b20b147b7290d4bfe16\">QsciLexerCSharp</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a2c29f0bbe4d09c159040b5676c8143d2\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a667febcf6234a15b7ca6d4ddbfb97bc6\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a795af727d45974e6581ed01bf812b63e\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a77024f83fb756608060b105d3f21ae34\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#ae3ef35311f24a24300140512dd005f54\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerFortran.html#a83d7d8209efca06d10870607c9db3c72\">QsciLexerFortran</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a336165187c8ab4cc5e51912033316943\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerIDL.html#a56afa4275e743eeff3dc693d9da85fd3\">QsciLexerIDL</a>\n, <a class=\"el\" href=\"classQsciLexerJava.html#af0f0dd1756ceb60bd8f404f3b48f470c\">QsciLexerJava</a>\n, <a class=\"el\" href=\"classQsciLexerJavaScript.html#aa7bd1f345699cc97fac25cf29ae98a4e\">QsciLexerJavaScript</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a7a2271db1a39037a429faaa5ff8e399f\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a942c993effc83d0dedec2fc20d8a741f\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a561482313e4c6597b8c4627ec38e4d54\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#a7a06bdb17ebde731368ec204404ed0ee\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a1b26669dd868d97d8a04837aada5549f\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerOctave.html#acca6b44f3f90599d119fb05f375cb2b8\">QsciLexerOctave</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a072c10d35abc0e56e09806eeb78ab66f\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a16fb82e08452dc260bdda610817c79ea\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#ace592f4a2d86db6be6c6f363227c00ee\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#ab2d6a4d13e15769bf1110012b491ad90\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a02880268227d380ef25a72af2605ef0f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a5e15c53d398d9d7e9ef7e0df41bc3f62\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#ae96690293b8128bea9cedf9b55b92ad6\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a700754468352f673157d08d4ff222e79\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#ae41f7a78d82f09b4d5176ec2a709ac67\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a0b1959541108a437dcb0b104a46f1444\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a4a13fa4667146e0dca9d8c15255280a9\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#ad94fbbd156020166afddb8a0a55eba6f\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a79e3ff22e68d54f640bd2f7747a7a193\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a2a8cd041dea81adb54a869c17ee4c8ba\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a801d7cef474dcf23d93e2f2f53034abe\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a0cfceb4470cde4184e76076ac34dea29\">QsciLexerYAML</a>\n</li>\n<li>LeftRectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ac92383c0e761f791d4abf557b9d75d3b\">QsciScintilla</a>\n</li>\n<li>LeftSideRoundedSplitter\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a2a2e0c98376d63fc6fdba6c1bc5b8768\">QsciScintilla</a>\n</li>\n<li>LeftSideSplitter\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a92b9f1d4c2cdddc5ef4030fdff5edc7d\">QsciScintilla</a>\n</li>\n<li>length()\n: <a class=\"el\" href=\"classQsciScintilla.html#aedf7c8532be11bcfb8d38411bea88792\">QsciScintilla</a>\n</li>\n<li>LessLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a26df830be43cb0ca067b5e0ad037171a\">QsciLexerCSS</a>\n</li>\n<li>level()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a78834f5080f50c01ba5ec1094114bf40\">QsciLexerPostScript</a>\n</li>\n<li>lexer()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a90452ab6f4d40314ec519913f9e78ccc\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciLexer.html#ac7c40b97187e23ab85f6d95113f91b39\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#af462fb11c1cb7d3a5d99cc66d2a4bc6b\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a21f1bb849edbfbc0cf58bc55cc75e8a3\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#acf33e60d28291147562860b824ccd74d\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a99fc9415c35eeef2b0f45f066101736b\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aac009a767572be4b4489a0613611cbdb\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a3f7076535f370759450ec1243088c7f1\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a1fa70c8e86dd88d34508fc652d30f3f7\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a62032a66c22767af46af4611fb672cb3\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#aec71281020211f0e693143520f232079\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a55d08e564f88f40f5167c52bd686b61c\">QsciLexerEDIFACT</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a1ef7534c295a6323be9176fca79b1cbe\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerFortran.html#ad18b58e4e78b74f1c1cc0db18a2d74ca\">QsciLexerFortran</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a48e7f3a456fcb347ee96a2c6a1f07231\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a04a2eaa1d93a2266bd170d392b70860b\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a8124ec8b5b96d95bb225cbb4e95f55cb\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a42e28c95e4f32374ffb7b47a85239d34\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMarkdown.html#af912a1a568b342c99f70fab70d89b178\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a62234f5c4dfbeec23fd43dd6651d65e4\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerOctave.html#aa39859b74adb5cca0470d488186eb6af\">QsciLexerOctave</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#aebc02afb8158d445c4369efa287cc2ac\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#aae9e42584c6466a8b859d56218eaf28c\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a8eb17be2a61d63249564be87b7d777d8\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a8f6156730e68c15fb63e120c53ce7832\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#af41ceced7bf5eb12aefb77f81240b1eb\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a76890c95abff2bb6f5eebe7a2cb5a0a3\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a9fe6e18dbb7ef4cad7f370286d7db0b7\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a14f1638b2f668fb7d98791cda719f8a0\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a0e389df0054dbbafafe6196c71d50738\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#abd8d636e4717ed65e4ea77eca3c28df1\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a15ec40b8e6b208521e08d44400eb56f8\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a409c5a8e561b153aca122ad5e0bedc82\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#abc3666027fe7f0b8ae78ee34e3276069\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#abf1a8dc25c7bd5d272c119d3c3e9e369\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#ae0bb41012d9d98366b435f9a534ce7a1\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#ab946b8c9f34872b69c31e6e9cd0b0e57\">QsciLexerYAML</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#aff5e2abd10fd64752adc1a89fc626e1e\">QsciScintilla</a>\n</li>\n<li>lexerId()\n: <a class=\"el\" href=\"classQsciLexer.html#a9576dd2ce748647abe981724ee76c1ce\">QsciLexer</a>\n</li>\n<li>LineAdded\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea6c0ca334fc11dfc9bd55daac89fbf357\">QsciLexerDiff</a>\n</li>\n<li>lineAt()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8a8a5b9bcb9df18089b9fe2650e701db\">QsciScintilla</a>\n</li>\n<li>LineChanged\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eab5fd263b12088142f07d41a8f5a4e73c\">QsciLexerDiff</a>\n</li>\n<li>LineComment\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca73cb3108374ba5ab9efbe7be369d1fda\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a9aa357d7b337b9aabcb7f0566aff3aa9\">QsciLexerLua</a>\n</li>\n<li>LineCopy\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aa762bf03d4d23f764de57c146c9a658d\">QsciCommand</a>\n</li>\n<li>LineCut\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a91f9ce105ac6ead565f6f8e00ec0e9a6\">QsciCommand</a>\n</li>\n<li>LineDelete\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a291afea2c733abf34e20b0c25814dc5c\">QsciCommand</a>\n</li>\n<li>LineDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff3d71de76b3948d3576bf6f6164d435\">QsciCommand</a>\n</li>\n<li>LineDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a12027f7b5ad1f98b9d7f5b20a1b19856\">QsciCommand</a>\n</li>\n<li>LineDownRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4e166fc8f33e759313cf124be9dc960e\">QsciCommand</a>\n</li>\n<li>LineDuplicate\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8cc01e22c3d5cc697f87b00dcedb33f5\">QsciCommand</a>\n</li>\n<li>LineEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a175bcd4e973a6ae4553827db95d987f6\">QsciCommand</a>\n</li>\n<li>LineEndDisplay\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a77dc6d96d21c32e61b8e3809759eec37\">QsciCommand</a>\n</li>\n<li>LineEndDisplayExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acfe625def4c875c4f3ed4011c1d30f30\">QsciCommand</a>\n</li>\n<li>LineEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a4f42905e1e54f6eb4e91eb832c07e387\">QsciCommand</a>\n</li>\n<li>LineEndRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6d942d99ab734f6b5c1160cbe18a6197\">QsciCommand</a>\n</li>\n<li>LineEndWrap\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bcecd03bc30e56d92035364f1c4d3aa\">QsciCommand</a>\n</li>\n<li>LineEndWrapExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8528ef0f7030d4eaa9cc93c1fb0f00d2\">QsciCommand</a>\n</li>\n<li>lineIndexFromPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad309f6cb931b47d67e67a59b3a66ea84\">QsciScintilla</a>\n</li>\n<li>lineLength()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab5ecfa6bee9e78e5306986367e1194af\">QsciScintilla</a>\n</li>\n<li>LineRemoved\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eac238c7bf06c491fed577dec0d329977b\">QsciLexerDiff</a>\n</li>\n<li>lines()\n: <a class=\"el\" href=\"classQsciScintilla.html#a85f97649b701717e65b2390d57f5ad03\">QsciScintilla</a>\n</li>\n<li>linesChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9da0038950253b116ecd3863a4f63928\">QsciScintilla</a>\n</li>\n<li>LineScrollDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac48505ac24f80eabcb61b93e6eb20f0d\">QsciCommand</a>\n</li>\n<li>LineScrollUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7abd1999204d26dee95623a1a4926d1694\">QsciCommand</a>\n</li>\n<li>LineTranspose\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad6895dbe64da12bd7749e9c7bf4d8e75\">QsciCommand</a>\n</li>\n<li>LineUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a6108080747db44fba6676a90721edf3b\">QsciCommand</a>\n</li>\n<li>LineUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a620ae67b9bdb35d46d0fadd66d578725\">QsciCommand</a>\n</li>\n<li>LineUpRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a25673ac6266e5d5400328cb32c50064c\">QsciCommand</a>\n</li>\n<li>Link\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aba09f8253217b599639184da32985c54\">QsciLexerMarkdown</a>\n</li>\n<li>Literal\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5f93f977654892b0017dd0e990d77572\">QsciLexerPostScript</a>\n</li>\n<li>LiteralString\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a78b4fea76183ad94c31e18f744495e94\">QsciLexerLua</a>\n</li>\n<li>load()\n: <a class=\"el\" href=\"classQsciAPIs.html#a3084b749e4eb1c741fc1004e8a84a631\">QsciAPIs</a>\n, <a class=\"el\" href=\"classQsciMacro.html#a1c342b5db46e12a8d73567fac9959543\">QsciMacro</a>\n</li>\n<li>loadPrepared()\n: <a class=\"el\" href=\"classQsciAPIs.html#af42a26a050bfeb4249d35ab61567ea9e\">QsciAPIs</a>\n</li>\n<li>LowerCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a83675e1da457009277d3642340dc82cc\">QsciStyle</a>\n</li>\n<li>QsciLexer()\n: <a class=\"el\" href=\"classQsciLexer.html#a49fc2fb49ed07f1cb5f8b0a96e07d0d4\">QsciLexer</a>\n</li>\n<li>QsciLexerAVS()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a15390924acb08542856527f5d0101dab\">QsciLexerAVS</a>\n</li>\n<li>QsciLexerBash()\n: <a class=\"el\" href=\"classQsciLexerBash.html#a1ba5b1e505b4f6fe7d7b12ce69dee9a8\">QsciLexerBash</a>\n</li>\n<li>QsciLexerBatch()\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a9f0ad3d0c52cc81d43a0b733558e2392\">QsciLexerBatch</a>\n</li>\n<li>QsciLexerCMake()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#af84de1838a68d08ef99be3aa666dc09f\">QsciLexerCMake</a>\n</li>\n<li>QsciLexerCoffeeScript()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a73e71780818247bf678616a25cd13e90\">QsciLexerCoffeeScript</a>\n</li>\n<li>QsciLexerCPP()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ae1451be7e7c6a57f28f361c72eb68a5f\">QsciLexerCPP</a>\n</li>\n<li>QsciLexerCSharp()\n: <a class=\"el\" href=\"classQsciLexerCSharp.html#a897d4004ebe6faefcb97e27713e4a8cc\">QsciLexerCSharp</a>\n</li>\n<li>QsciLexerCSS()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#acbf55e58ad04813101573146ecc43c67\">QsciLexerCSS</a>\n</li>\n<li>QsciLexerCustom()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a8dbdaca7dffe587e442d09f5b780fab5\">QsciLexerCustom</a>\n</li>\n<li>QsciLexerD()\n: <a class=\"el\" href=\"classQsciLexerD.html#a8b64cf1677896ea7966338b3f10be14b\">QsciLexerD</a>\n</li>\n<li>QsciLexerDiff()\n: <a class=\"el\" href=\"classQsciLexerDiff.html#af1c70ba1dfa8ccf5fe2106069041cd5e\">QsciLexerDiff</a>\n</li>\n<li>QsciLexerEDIFACT()\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#aec9604240be31cf15709b0c0f2942d6e\">QsciLexerEDIFACT</a>\n</li>\n<li>QsciLexerFortran()\n: <a class=\"el\" href=\"classQsciLexerFortran.html#a6e896d1a75f43c0e021326a29a07be67\">QsciLexerFortran</a>\n</li>\n<li>QsciLexerFortran77()\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#a2784362f75607dc575d42a3ddf43bcf9\">QsciLexerFortran77</a>\n</li>\n<li>QsciLexerHTML()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a4c5ae7bc7d27946b1b07b940ef30a093\">QsciLexerHTML</a>\n</li>\n<li>QsciLexerIDL()\n: <a class=\"el\" href=\"classQsciLexerIDL.html#af929c0ded0d4d822d7b31d00103262de\">QsciLexerIDL</a>\n</li>\n<li>QsciLexerJava()\n: <a class=\"el\" href=\"classQsciLexerJava.html#abaa737931800774e8067765d6cdc9a5d\">QsciLexerJava</a>\n</li>\n<li>QsciLexerJavaScript()\n: <a class=\"el\" href=\"classQsciLexerJavaScript.html#a94cbc22361a55fe0681ad7fe5425dfb5\">QsciLexerJavaScript</a>\n</li>\n<li>QsciLexerJSON()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#a287cf2adecde291abab55095227864a9\">QsciLexerJSON</a>\n</li>\n<li>QsciLexerLua()\n: <a class=\"el\" href=\"classQsciLexerLua.html#a8932efc560175dc70a88e23b8136bb8f\">QsciLexerLua</a>\n</li>\n<li>QsciLexerMakefile()\n: <a class=\"el\" href=\"classQsciLexerMakefile.html#a4568ee117191969976b674227b16c860\">QsciLexerMakefile</a>\n</li>\n<li>QsciLexerMarkdown()\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#aeffb57391fe593ab01e6f257f95ad2f6\">QsciLexerMarkdown</a>\n</li>\n<li>QsciLexerMatlab()\n: <a class=\"el\" href=\"classQsciLexerMatlab.html#a382aa49629299c9694d3b225bace0c16\">QsciLexerMatlab</a>\n</li>\n<li>QsciLexerOctave()\n: <a class=\"el\" href=\"classQsciLexerOctave.html#aca3644f3fed3a83716d794cca822549a\">QsciLexerOctave</a>\n</li>\n<li>QsciLexerPascal()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a9688ce1d302666e492900d3cdfcbbaab\">QsciLexerPascal</a>\n</li>\n<li>QsciLexerPerl()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a36359d3e1cb6037b561f95fccf16881e\">QsciLexerPerl</a>\n</li>\n<li>QsciLexerPO()\n: <a class=\"el\" href=\"classQsciLexerPO.html#a4d8011ef7e9d6401597d3a4012a809a7\">QsciLexerPO</a>\n</li>\n<li>QsciLexerPostScript()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a7670a50d4dce21461de96844235b4242\">QsciLexerPostScript</a>\n</li>\n<li>QsciLexerPOV()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a4f286fb01fbf71a895a6a6ca2424b9c5\">QsciLexerPOV</a>\n</li>\n<li>QsciLexerProperties()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a81437ae22cb610108f29d8d367ce6faa\">QsciLexerProperties</a>\n</li>\n<li>QsciLexerPython()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a158b80fd7ee649cbb618b1df33491bab\">QsciLexerPython</a>\n</li>\n<li>QsciLexerRuby()\n: <a class=\"el\" href=\"classQsciLexerRuby.html#aa3bb000261e4752d89e06afe69d665f0\">QsciLexerRuby</a>\n</li>\n<li>QsciLexerSpice()\n: <a class=\"el\" href=\"classQsciLexerSpice.html#a7d38d89680d55b7f77463e67634f84be\">QsciLexerSpice</a>\n</li>\n<li>QsciLexerSQL()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ab86225b96219799a77f77600f145042a\">QsciLexerSQL</a>\n</li>\n<li>QsciLexerTCL()\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a6a108be4899959ffcb262f59de538964\">QsciLexerTCL</a>\n</li>\n<li>QsciLexerTeX()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a4bf7cce95e65755a221fd75bd731a3cd\">QsciLexerTeX</a>\n</li>\n<li>QsciLexerVerilog()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#a3360bca839d08fdd2acf546b19b2fddd\">QsciLexerVerilog</a>\n</li>\n<li>QsciLexerVHDL()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#a2260bd1206a91b7f9487e9ffe366732f\">QsciLexerVHDL</a>\n</li>\n<li>QsciLexerXML()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a9fc5fef8f86ef0f1162a18ca4cc88aa1\">QsciLexerXML</a>\n</li>\n<li>QsciLexerYAML()\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a5e1785141798faf81dcff567b8df651f\">QsciLexerYAML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_m.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_m\"></a>- m -</h3><ul>\n<li>magnification()\n: <a class=\"el\" href=\"classQsciPrinter.html#aafc924b9d8d494541b89ac8d461b4300\">QsciPrinter</a>\n</li>\n<li>makoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#ae669580d3e3332a9b310d1bf78251f07\">QsciLexerHTML</a>\n</li>\n<li>marginBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a07c7b6c9889e61f7c7971bf126bff4f2\">QsciScintilla</a>\n</li>\n<li>marginClicked()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5afec2f913c2a46d661c5fdda29f5e87\">QsciScintilla</a>\n</li>\n<li>marginLineNumbers()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4bffe1a63e3484da908340274f7a7607\">QsciScintilla</a>\n</li>\n<li>marginMarkerMask()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab29919614210e2bb21525b1d7fec44b1\">QsciScintilla</a>\n</li>\n<li>marginOptions()\n: <a class=\"el\" href=\"classQsciScintilla.html#a07cb228e7f39e5a97271126df9ba9ef2\">QsciScintilla</a>\n</li>\n<li>marginRightClicked()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8166be72487a7a660cb8e44c5126c852\">QsciScintilla</a>\n</li>\n<li>margins()\n: <a class=\"el\" href=\"classQsciScintilla.html#a10adbea430478c16813df76dd2ecd10f\">QsciScintilla</a>\n</li>\n<li>marginSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac141edcf0d537b247d8a1e79194db60b\">QsciScintilla</a>\n</li>\n<li>MarginType\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090\">QsciScintilla</a>\n</li>\n<li>marginType()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa428fb0b96d28bba4a1d0515ea27643d\">QsciScintilla</a>\n</li>\n<li>marginWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a21af5f49389a552a5beb05764714882a\">QsciScintilla</a>\n</li>\n<li>markerAdd()\n: <a class=\"el\" href=\"classQsciScintilla.html#a12673046e00bd7fdd7616a5e8c62a924\">QsciScintilla</a>\n</li>\n<li>markerDefine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a794059a7bf67982063ae349847599376\">QsciScintilla</a>\n</li>\n<li>markerDelete()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0da7428fe1c237620cddbf30d06329da\">QsciScintilla</a>\n</li>\n<li>markerDeleteAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#a52aaeee4b9171222c20af3557adaf0ad\">QsciScintilla</a>\n</li>\n<li>markerDeleteHandle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa226d94a0f7ed194012ca972d0f49ce8\">QsciScintilla</a>\n</li>\n<li>markerFindNext()\n: <a class=\"el\" href=\"classQsciScintilla.html#af8cedca829a47783199ab0e1dfc160d5\">QsciScintilla</a>\n</li>\n<li>markerFindPrevious()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8e6ff4072224ba360403fe1ade1375ba\">QsciScintilla</a>\n</li>\n<li>markerLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa9612621315a0b3fcecdb8d0f2a2abb2\">QsciScintilla</a>\n</li>\n<li>markersAtLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3eace684c0a33e044cceb300b1a97798\">QsciScintilla</a>\n</li>\n<li>MarkerSymbol\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496\">QsciScintilla</a>\n</li>\n<li>MediaRule\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aa791b33014a708120356e7ea9365bfeb\">QsciLexerCSS</a>\n</li>\n<li>MessageContext\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa7146f0d4c1236da076af7a842bd64d17\">QsciLexerPO</a>\n</li>\n<li>MessageContextText\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac4b1b6e4f6256d65c4ba5c2f191858ec\">QsciLexerPO</a>\n</li>\n<li>MessageContextTextEOL\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa879aa27f03b3ef768a58b3cb4a6f2289\">QsciLexerPO</a>\n</li>\n<li>MessageId\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aafa4943bd9ba4521382fda76a7cd81350\">QsciLexerPO</a>\n</li>\n<li>MessageIdText\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacf9d9f92bdc917a32c2eb0af497c736b\">QsciLexerPO</a>\n</li>\n<li>MessageIdTextEOL\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa707f11b1e5cce03548d293b57aab2c02\">QsciLexerPO</a>\n</li>\n<li>MessageString\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aac1d2ce430f70478822efc3d9583bb44a\">QsciLexerPO</a>\n</li>\n<li>MessageStringText\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aacc7b06b43eb4768443caf8bffb5f487f\">QsciLexerPO</a>\n</li>\n<li>MessageStringTextEOL\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aadbc353eabc26203474e9cce912c4dc30\">QsciLexerPO</a>\n</li>\n<li>Minus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a6caac8b127940c11b302189ac82dda5c\">QsciScintilla</a>\n</li>\n<li>modificationAttempted()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2ef800561a02b8ec02008d33e0c6e55e\">QsciScintilla</a>\n</li>\n<li>modificationChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a18b2b3426de5ec4822f4584ca60ed2b9\">QsciScintilla</a>\n</li>\n<li>Modifier\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ae958411da961413eaf269dc8cfab30eb\">QsciLexerTCL</a>\n</li>\n<li>ModuleName\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda2e66ca91a2f6aa3f873e017b9d794710\">QsciLexerRuby</a>\n</li>\n<li>MoNone\n: <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfa60b02d4ccdce34fa80a161002ed3eae9\">QsciScintilla</a>\n</li>\n<li>MoSublineSelect\n: <a class=\"el\" href=\"classQsciScintilla.html#ac99833884d4b015f0781ee1d54b703cfad71e0832f464e6871d986dd5ec69abc0\">QsciScintilla</a>\n</li>\n<li>mouseDoubleClickEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aab16e9b7ca9a17af2af3b7ca7f14c8c4\">QsciScintillaBase</a>\n</li>\n<li>mouseMoveEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5a4a2c5466d1b4f7d6e835c253cb1730\">QsciScintillaBase</a>\n</li>\n<li>mousePressEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a6d6f13610560a2c281f638f3a40046f6\">QsciScintillaBase</a>\n</li>\n<li>mouseReleaseEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a6a5b949013c382c1b5f341137cd37752\">QsciScintillaBase</a>\n</li>\n<li>MoveSelectedLinesDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aae256fc63ff21305b2a1d93d7f05bee5\">QsciCommand</a>\n</li>\n<li>MoveSelectedLinesUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af5335bf501eb458872740c610db3617b\">QsciCommand</a>\n</li>\n<li>moveToMatchingBrace()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9792eb38e5e8dce8a4bd32b2224c73d4\">QsciScintilla</a>\n</li>\n<li>QsciMacro()\n: <a class=\"el\" href=\"classQsciMacro.html#a168da9e3a890906f229505cd253eec4b\">QsciMacro</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_n.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_n\"></a>- n -</h3><ul>\n<li>Name\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a5b790b5d458c9e3b260c965ce9755ea3\">QsciLexerPostScript</a>\n</li>\n<li>NestedBlockComment\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3caf0bf0d579bb3b4d6c926a447e0d9189c\">QsciLexerAVS</a>\n</li>\n<li>Newline\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae71d9db2e7cf1f6ca4b731675e1d63a1\">QsciCommand</a>\n</li>\n<li>NoBraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523adedf5faefc13c44ee7abd4cf142b03a4\">QsciScintilla</a>\n</li>\n<li>NoFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0af7f61cc984312eacadfaf8e581c1f756\">QsciScintilla</a>\n</li>\n<li>NoWarning\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaaf2844c26e0b5337e85653ca39584182\">QsciLexerPython</a>\n</li>\n<li>Number\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca522643317abd5f818642e3084a853a99\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200ab3f18e3330a0e17453a9b76846d46a0f\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a1c39da6775c6c5bb602c144276a07cb1\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aba8f2217a58a7603d2a69ea1edeb1bc4\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3f7d7b7c70a53fe91b336ff31c59e195\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca426d92387246d1fa5138b626a039b252\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a8f7bf0edcf64a4462a73ee64e0d64034\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fae3e7de4485556546e6645566cb446900\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25aa7100ee56315d914482fbd97843d98f5\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5ad8ba5183e6ccba79944f27f0b74a22ab\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfac3c433f5759c8996553c5e203077fe0d\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a65ab3c30be465884145bee390d038a8f\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a24c2fdd017eb9871220bc1cdf13c7675\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a46e89975e80b8b1ccada568900f784f7\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a828776730e146194bdc38d5baecd99b6\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda9f9666ed92175c304b5733a425562a26\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631baaf786953e3ef1a1302260a6517410550\">QsciLexerSpice</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a59137622ad830ab0474796e475df4f29\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a9dd8ccd07ebf3793c182f1e2026ec471\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa43313b93162231653a6aa703c53c5f23\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a9b0cba57f797ebaf8d98eda980c171d7\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649ae764dd8954c575c5f0ee54ac90c53ede\">QsciLexerYAML</a>\n</li>\n<li>NumberMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090af2e3b128abc692ae0b1b6c835a90537e\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_o.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_o\"></a>- o -</h3><ul>\n<li>ObjectsCSGAppearance\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a02499b3710237cdd660cf1bce89f27bf\">QsciLexerPOV</a>\n</li>\n<li>Operator\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca2f81dae1f227c08bfa040eda4ee6a8eb\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a0de557a455fb48ad07dea0fb58a26fd0\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ac0016055e6f7cb07b6405a61c231d752\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8afd477421bbc3829c44d0ceda25ef07ec\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a4007ebc2021d70cf1ad6e9c6c85aba4e\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7ce96396ee8eff4196b5b9d5bf53afc\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca146db058b940cab519bdfd046b14cc0f\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a18ca2c52c9c731c853f3b7a353c1a816\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248faf348c8b3678f46bdc29661f77a5c10cb\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a5267c1cdd34c280a959cd7df49b16ab2\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a724a3c9d93a5d13ec7cc314e534cbcbf\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5acc468c29f510fde205206fcaf3d25f2e\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae83775614e9f03b1bb41d78023f0121a\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2c43ed725d5edb523abb214f6867a5f4\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865abe05c40246afb65563d5e5013977240d\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a7a4293d091128563c2b51f4eaade7ff2\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda620214bd8d8ed0e2839c4cc0c5143349\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a910cc4182b94906c29f7764382c0458e\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a88aa37826c2111e43c2e64d175b631de\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa24c57f9c1818421c5f65a8c0c02efb04\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ab027e96558ca9bd809cb4032b1aeb1ce\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a8889c1fce0c3f84556920717de3e55f2\">QsciLexerYAML</a>\n</li>\n<li>OrderedListItem\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a59adacf9920946acf11060eb1c70a3ff\">QsciLexerMarkdown</a>\n</li>\n<li>OriginalCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609a2fac015153af29a7c87eb69848fd4348\">QsciStyle</a>\n</li>\n<li>OtherInTag\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb51d8ea46c08f042378a802e2ab03fc\">QsciLexerHTML</a>\n</li>\n<li>overwriteMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac419a79eed86a754cfb556b3961e990d\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_p.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_p\"></a>- p -</h3><ul>\n<li>PageDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7acbd164907353acc3e218943d86d03b23\">QsciCommand</a>\n</li>\n<li>PageDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac6febe41f0669f54f4c14f2c32329569\">QsciCommand</a>\n</li>\n<li>PageDownRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a70472783731018e17e0943ee14e4ca6d\">QsciCommand</a>\n</li>\n<li>PageUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a69b8ec474437f655c93b019729093b82\">QsciCommand</a>\n</li>\n<li>PageUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac9c27eb69dde18a38bc1cbc84c9ee430\">QsciCommand</a>\n</li>\n<li>PageUpRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a31667dadedf4289250d3e1b5a1e9bf36\">QsciCommand</a>\n</li>\n<li>paintEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a2ea74fb61f3d2d983d142a6ec8c3cc9d\">QsciScintillaBase</a>\n</li>\n<li>paper()\n: <a class=\"el\" href=\"classQsciLexer.html#a519df98c9e7d9d26734a38ea9bed744a\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a4fe2c0ce4d6fd17617c266983537f5b6\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a8912da5c6b95404e4642593db1b65d4c\">QsciStyle</a>\n</li>\n<li>paperChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#adf8de1727583e902c7cae673673a78a1\">QsciLexer</a>\n</li>\n<li>ParaDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0b695afb34e16591b039b9a318729838\">QsciCommand</a>\n</li>\n<li>ParaDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a343a73f6732c17f02d9e8158c935abde\">QsciCommand</a>\n</li>\n<li>Parameter\n: <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631ba8ef7c23e297528dd4c2d3b02c0dd6fdc\">QsciLexerSpice</a>\n</li>\n<li>ParameterExpansion\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a4c54dd14d11fd76a32c51e91f204a4cf\">QsciLexerBash</a>\n</li>\n<li>ParaUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a2bd7f7cdb9537b4b7b9bdf58aeae3733\">QsciCommand</a>\n</li>\n<li>ParaUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac121331a789c14d2d8ee4065877c2127\">QsciCommand</a>\n</li>\n<li>Paste\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac0877b23ce38bba85fc30eecb347a662\">QsciCommand</a>\n</li>\n<li>paste()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0aeb5804552ea61f04aff90cb6739f39\">QsciScintilla</a>\n</li>\n<li>PercentStringQ\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda6c5d3e3f93635ec89652a2ef93763f8f\">QsciLexerRuby</a>\n</li>\n<li>PercentStringq\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda4ddf93050bae629ab5c0f786e92809f6\">QsciLexerRuby</a>\n</li>\n<li>PercentStringr\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda02679f74d964ce8130c528a3d75edeae\">QsciLexerRuby</a>\n</li>\n<li>PercentStringw\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3df92c38564360c4aa73c65abcad153a\">QsciLexerRuby</a>\n</li>\n<li>PercentStringx\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdadff89867eee2f270b2bbf832a690a70c\">QsciLexerRuby</a>\n</li>\n<li>PHPComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb916a440aa2213578e4358372a434c9\">QsciLexerHTML</a>\n</li>\n<li>PHPCommentLine\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adde9db4e3a3adf2f82aa9e1a86d54f3b\">QsciLexerHTML</a>\n</li>\n<li>PHPDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a15c3cdaa9b84f8928c71b2783662f278\">QsciLexerHTML</a>\n</li>\n<li>PHPDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a482ba4b07e0d2f876c0553923d186904\">QsciLexerHTML</a>\n</li>\n<li>PHPDoubleQuotedVariable\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aed79ec532369cc9591f8fe66c9617280\">QsciLexerHTML</a>\n</li>\n<li>PHPKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a206448a0f85f732875e3f25e08474698\">QsciLexerHTML</a>\n</li>\n<li>PHPNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6369adb54b02ea44e77d5614860b4c67\">QsciLexerHTML</a>\n</li>\n<li>PHPOperator\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5191e5e6477b75df277927e9b268022e\">QsciLexerHTML</a>\n</li>\n<li>PHPSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a07f194eab645ab7718f62625742e355c\">QsciLexerHTML</a>\n</li>\n<li>PHPStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a776a678d7a43908f020a9075ec13d52d\">QsciLexerHTML</a>\n</li>\n<li>PHPVariable\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68aa867924addc9a59d88fe092fe2664\">QsciLexerHTML</a>\n</li>\n<li>PlainFoldStyle\n: <a class=\"el\" href=\"classQsciScintilla.html#ae478a896ae32a30e8a375049a3d477e0a15a9a221d1506423c667adbcd27af185\">QsciScintilla</a>\n</li>\n<li>PlainIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a0563b9d3106c3d8943c72c9fb607b1a9\">QsciScintilla</a>\n</li>\n<li>play()\n: <a class=\"el\" href=\"classQsciMacro.html#a3de5fbc4e99be9cb9d10d90dd8b1059d\">QsciMacro</a>\n</li>\n<li>Plugin\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca5ef99ccc5e6240b6acbe7b25344f0190\">QsciLexerAVS</a>\n</li>\n<li>Plus\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a21c1ea793bbfcbe6321cbc2ce042b5b4\">QsciScintilla</a>\n</li>\n<li>PlusComment\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a18673427116b1edbb055fe5ee7df8016\">QsciLexerSQL</a>\n</li>\n<li>PlusKeyword\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a52cefb7860ec4c58e77b235075b7d03b\">QsciLexerSQL</a>\n</li>\n<li>PlusPrompt\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a535f8aef24004cc85bda1a8dfda7d0dd\">QsciLexerSQL</a>\n</li>\n<li>POD\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a64e30800729f8ef4d273130a90b62704\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdad72bbb5f1aa4cd77945f45796235e38d\">QsciLexerRuby</a>\n</li>\n<li>PODVerbatim\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aecb9bf65704610bce3bf8dbfdbce40a4\">QsciLexerPerl</a>\n</li>\n<li>pool()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a0f69249f4e97b96f09ea70f546df7464\">QsciScintillaBase</a>\n</li>\n<li>PortConnection\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3dd763156bf7395a20a62d80cebe1e89\">QsciLexerVerilog</a>\n</li>\n<li>Position\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea4820b79815efb26525981af5a8901010\">QsciLexerDiff</a>\n</li>\n<li>positionFromLineIndex()\n: <a class=\"el\" href=\"classQsciScintilla.html#a37646aa8dff617d11505617002439216\">QsciScintilla</a>\n</li>\n<li>Prechar\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a3b030c189a22e2cdad1db39f200048d0\">QsciLexerMarkdown</a>\n</li>\n<li>PredefinedFunctions\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865af91917dbaed11a4006fa44e3e27d59c7\">QsciLexerPOV</a>\n</li>\n<li>PredefinedIdentifiers\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a626eefd58e520c62f69320fd00ab2869\">QsciLexerPOV</a>\n</li>\n<li>prepare()\n: <a class=\"el\" href=\"classQsciAPIs.html#a5c26b8395c49cf61243e5f73c0ce577f\">QsciAPIs</a>\n</li>\n<li>PreProcessor\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a84af89605b0d39edc60401dee749d076\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a16c747644d986c230126c5420de1497e\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7a6d4c5998403a5e39308802939b572560\">QsciLexerFortran77</a>\n</li>\n<li>Preprocessor\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af9f702c766041919da2c7dac8fc11901\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a563fecbc7fd5cd98a6c2bcc851c71f95\">QsciLexerMakefile</a>\n</li>\n<li>PreProcessor\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfacfd2039caa846a92af36182615b36777\">QsciLexerPascal</a>\n</li>\n<li>Preprocessor\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa3e547dfc36110bbc544486aa98400c78\">QsciLexerVerilog</a>\n</li>\n<li>PreProcessorComment\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a95c728e17fdb37a45ba20d09ee9eda9c\">QsciLexerCPP</a>\n</li>\n<li>PreProcessorCommentLineDoc\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a5b319d25cf7a161e08b0810a0d2b8470\">QsciLexerCPP</a>\n</li>\n<li>PreProcessorParenthesis\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa414d215a01c3d205a300976cf7f81556\">QsciLexerPascal</a>\n</li>\n<li>printRange()\n: <a class=\"el\" href=\"classQsciPrinter.html#aae304336a4a8d4c2e332744ceeba1393\">QsciPrinter</a>\n</li>\n<li>ProcedureParenthesis\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77a05a498ca8c50a19f88c7294e6b30ff88\">QsciLexerPostScript</a>\n</li>\n<li>processComments()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a9aa8e062b1eff3f6fb101cf51b507886\">QsciLexerTeX</a>\n</li>\n<li>processIf()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#aa230583b6c0a067894ffbd4ff3feee18\">QsciLexerTeX</a>\n</li>\n<li>ProgrammerComment\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa2dfeba8e7fbcab62329d0154f97ac4d0\">QsciLexerPO</a>\n</li>\n<li>Property\n: <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa88aba2fd85a3f47a7c5f2f5034c8cd42\">QsciLexerJSON</a>\n</li>\n<li>propertyChanged()\n: <a class=\"el\" href=\"classQsciLexer.html#acd8475f0da36449dc6b1189a587d7a83\">QsciLexer</a>\n</li>\n<li>PseudoClass\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ad9a4a9e2945073685158769a62e16cda\">QsciLexerCSS</a>\n</li>\n<li>PseudoElement\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0aaad0b9e8982d95504f3fdeac29c01d68\">QsciLexerCSS</a>\n</li>\n<li>PythonClassName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5d6a493b61aaad190ac2f39bd67757\">QsciLexerHTML</a>\n</li>\n<li>PythonComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a87a9ae8e5d5eee95d6fa8f1487eb7cba\">QsciLexerHTML</a>\n</li>\n<li>PythonDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab7db3f14bf6ceff1c2059464b7faba33\">QsciLexerHTML</a>\n</li>\n<li>PythonDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a834d9ff5f844b3636621cb7b29aab1bd\">QsciLexerHTML</a>\n</li>\n<li>PythonFunctionMethodName\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ab44eadc3b71a28a641e3bc231a7e19ca\">QsciLexerHTML</a>\n</li>\n<li>PythonIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa6852bf8af5d0efc73bc3aa3906602e4\">QsciLexerHTML</a>\n</li>\n<li>PythonKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a042f35e7ceb80fc1ca64c5e809f9d9c4\">QsciLexerHTML</a>\n</li>\n<li>PythonNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a8522a961497e9ede980ecc214e30622a\">QsciLexerHTML</a>\n</li>\n<li>PythonOperator\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a503f440eb6b191768ab8f9822c8ff112\">QsciLexerHTML</a>\n</li>\n<li>PythonSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a1206e264b1e9388934611d87093f8ebd\">QsciLexerHTML</a>\n</li>\n<li>PythonStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ad5b56e2991364fbc24424aa3ea8b91c5\">QsciLexerHTML</a>\n</li>\n<li>PythonTripleDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42adbadda3ca2f455f7bdf27b17e71018dd\">QsciLexerHTML</a>\n</li>\n<li>PythonTripleSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a956c471f37567572d4347c354506b377\">QsciLexerHTML</a>\n</li>\n<li>QsciPrinter()\n: <a class=\"el\" href=\"classQsciPrinter.html#aaa54abecf0defffdfda80f95af6febf9\">QsciPrinter</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_q.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_q\"></a>- q -</h3><ul>\n<li>QSCN_SELCHANGED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a747feb07236c1beccadd446562b53b84\">QsciScintillaBase</a>\n</li>\n<li>QuotedIdentifier\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5f3f93632cd25dfa0a0349f7aa0927a5\">QsciLexerSQL</a>\n</li>\n<li>quotedIdentifiers()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ad5f7fc89705dd0588937b1565a6e5a26\">QsciLexerSQL</a>\n</li>\n<li>QuotedKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8addadb2b0cf0671682752e80ba1650cce\">QsciLexerTCL</a>\n</li>\n<li>QuotedOperator\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a5777f32072b41fa90018fbeff82b3ef1\">QsciLexerSQL</a>\n</li>\n<li>QuotedString\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a4212e6615aa13a138d3d41d4f82a35ec\">QsciLexerTCL</a>\n</li>\n<li>QuotedStringQ\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4eb6e937e8713d00368651dbeada3b74\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQQ\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a93f9be9adc1bcc1289155cca445eb860\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQQVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3a4919b9d5dfefc405bd70d8f6ce780a\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQR\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7931aea4826aceb60ba2aab3fd7b5884\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQRVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a5dd29ed0e2532a609155a9f2279cda6b\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQW\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9ad9cf54861772d7a5cf696c4bb4be04cd\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQX\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a500ce87c3501f0e8d86db52eefdc7b8e\">QsciLexerPerl</a>\n</li>\n<li>QuotedStringQXVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a4bd8b77cc8ca06d77281c7c146b7f9be\">QsciLexerPerl</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_r.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_r\"></a>- r -</h3><ul>\n<li>RawString\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a12c1673479aaf32d03b5a2fde6f032a9\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca8f0a37846a48085a681eb744375efbc9\">QsciLexerD</a>\n</li>\n<li>read()\n: <a class=\"el\" href=\"classQsciScintilla.html#a89e46329c110449b2e7334ccf623ceed\">QsciScintilla</a>\n</li>\n<li>readProperties()\n: <a class=\"el\" href=\"classQsciLexer.html#ad472b16506a4cbc19634f07aa90f1ea6\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#ad65ebfab947de5d6e318238f8a0048e4\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#aae0cfbb2dbfd2a833a16630c9cf2e36e\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a4578cacfbe802ab993fc07ddeaef3297\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ae15b25b5d6705a850f6c93ee1013bea7\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aa37ea54c5e39721b866c25b0e0335591\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a7bfdaea964c9e2c51568f63f379b6108\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#abb94e0b0257a50dbde9b0ddbcfeb69d2\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a08b8ae54fae5b280a3864d5696fe009e\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ab9ae7a11b4c9ba6f62d795dce8d6fab8\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#aba9c88201491763d75a8716d118a4079\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a928315606c0bd973c59e0b6d9641c3cd\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a2a2beba3b365e2e0e1f21109079f0ffd\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a47884fcfd8d2b0ab7b8d277cb0325c17\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a8403f1e2f5ea0c5d67c32dd6053317c5\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a87168d5b174ba3a9b969ef689f67b355\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a5a599e7d97b164fec1ee3c21ba167e80\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a4119053764ba32a9975ad7eeb8f0f067\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a1b8f36843f4abe6ec3ee75205b5b0111\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#afa0b9ecea2700420820e4e9b705cb784\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a377b83523f800cc4598126417d80f74c\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a1b1d726f87795c97839acca28d06dc6e\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a68e2eaca494e93937f896bd60b86429c\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#aa1bd0effe3ed23e2bb3334b778efb74a\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a46a01d03d516e909c8696fa3f9910c1f\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a2acbf99b93c18d9a9f922c9e2894bf4f\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a35d4260e9c1a68073a6b4f625c846c11\">QsciLexerYAML</a>\n</li>\n<li>readSettings()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a44fd78a640f59309862d868d04f34e49\">QsciCommandSet</a>\n, <a class=\"el\" href=\"classQsciLexer.html#a27728e4e361c5f4bf87690d34d83057d\">QsciLexer</a>\n</li>\n<li>recolor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a07fe5007913f0001a473d92f4c3fdbe6\">QsciScintilla</a>\n</li>\n<li>Rectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496aeeea97e421201a5e5e0765a10e8bae9e\">QsciScintilla</a>\n</li>\n<li>Redo\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad12c4dd6bcaefc08fcff8fe3d80b3b66\">QsciCommand</a>\n</li>\n<li>redo()\n: <a class=\"el\" href=\"classQsciScintilla.html#a62220018d9e9295cde64041246cfb3c4\">QsciScintilla</a>\n</li>\n<li>Reference\n: <a class=\"el\" href=\"classQsciLexerPO.html#a9ccf3e0f2138e708eb3d4cf05311d53aa63922f67e65df9af550da3187a0111f5\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a3f8ff59b87800339f36dabda96e570a4\">QsciLexerYAML</a>\n</li>\n<li>refresh()\n: <a class=\"el\" href=\"classQsciStyle.html#aa480e57bbdd83b8164129f875bd48976\">QsciStyle</a>\n</li>\n<li>refreshProperties()\n: <a class=\"el\" href=\"classQsciLexer.html#ae508c3ab4ce1f338dfff3ddf5ee7e34c\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#af5a3f47c4f0be631303cabd42d904c3e\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#aad047f411c36c262305ffcce5015944f\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a7cc73bba065690f08e2b6b8e8c00d5d3\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aefae6df689f1d3dad66d1f2fc141cc39\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a58506e1c965a181c9202376e0ba85c30\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a78f4690fa92e02c8511074a334c06096\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a3df48961344c5133ad595a555bbb8e55\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a2033202288867ce63c4e93bc45dc55e3\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a7c73d608fd96b019e70ebf448de23357\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#acd0614489de2d2c9f69379a574f1d5eb\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a628efb828569208d6219a88f1fc6a1a7\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a92cb96a2f9d373ed5a91546c42ec0905\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#ac9868e2d0efbf3602a22d8bdac12a119\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#a17895e48d655d41d80e4fb4672c2fd72\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a0f1e5402dce043de42ded75f5826588f\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a4864bf9360ed4748b9ca7a1d5e34e7d8\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a638b892c566301f0efe779c58516cbc0\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#abed099316dd95a6289c76d151a37c264\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#abf07311e229b5ec1370dd8a57873c1b6\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a9d05744ee6d4c653a7e3976d9f71df23\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#ad331ec23d27ba397d2095ba92cefaecd\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#acd80380b4727bd94148f5a0ff479742e\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ad476092b3970fe44068dd023f8becc96\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aa60e141b7b1a7aac51d79ad2c27c4c93\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a29937d422c25f17612c57e16a7bddaf1\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#ac263eb1fcaeaad44b23c2d990bad1bc1\">QsciLexerYAML</a>\n</li>\n<li>Regex\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8aca5c64a4bc75adb3be878a492906cfba\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ac26a3735f09aa6702cfbbb9fac56d6f5\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a1ba94b26ebb6f719bfec1e2fc5c180a7\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda939c896299ac5cc057aced1a059250a2\">QsciLexerRuby</a>\n</li>\n<li>RegexVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a52496f8867a7285b205ef55fb014d84e\">QsciLexerPerl</a>\n</li>\n<li>registerImage()\n: <a class=\"el\" href=\"classQsciScintilla.html#a38bf5a8680df52675e5299fccbbc7181\">QsciScintilla</a>\n</li>\n<li>ReleaseSeparator\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a4254cdff4374acc77c40019d0f5e3aea\">QsciLexerEDIFACT</a>\n</li>\n<li>remove()\n: <a class=\"el\" href=\"classQsciAPIs.html#acb1aa10ea05a7ee72a0d77376153b4d2\">QsciAPIs</a>\n</li>\n<li>removeSelectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#aef584b6c5b89736ad311ad20aa32269d\">QsciScintilla</a>\n</li>\n<li>RemovingPatchAdded\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053ea099c8e026c4cd919ba2817c0cb8635f8\">QsciLexerDiff</a>\n</li>\n<li>RemovingPatchRemoved\n: <a class=\"el\" href=\"classQsciLexerDiff.html#a331f318fc5d294a19044a748f9b8053eafbf7c6e605c3f9faab11cbc79c866614\">QsciLexerDiff</a>\n</li>\n<li>replace()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad8a7afc4f25e04e805b7e291d5df1d35\">QsciScintilla</a>\n</li>\n<li>replaceHorizontalScrollBar()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a1efa4394b588d27fd2a3bd40163a2342\">QsciScintillaBase</a>\n</li>\n<li>replaceSelectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a48f53865418cf2ebd5126d2ee5e9d1dd\">QsciScintilla</a>\n</li>\n<li>replaceVerticalScrollBar()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a900e3a0287e262fe65c51162e562fc5d\">QsciScintillaBase</a>\n</li>\n<li>resetFoldMarginColors()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae1d3703631c9113a4309da17332ca180\">QsciScintilla</a>\n</li>\n<li>resetHotspotBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a366393c6bf0fd7ef5ce87b7682e6c6ae\">QsciScintilla</a>\n</li>\n<li>resetHotspotForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3fd2a1bbc409d1bbca44efc7976b808c\">QsciScintilla</a>\n</li>\n<li>resetMatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae308bac1c3567d835742e02f1bc35a6c\">QsciScintilla</a>\n</li>\n<li>resetSelectionBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8b040ae88e74aef9a38cdb4ce24295a\">QsciScintilla</a>\n</li>\n<li>resetSelectionForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9ce32df9e150ef76a24c50af6b09e966\">QsciScintilla</a>\n</li>\n<li>resetUnmatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#a48c91d4dd29c84bff4ee20962372ca23\">QsciScintilla</a>\n</li>\n<li>resizeEvent()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a6d0427b93e05876c9a2b541eae08ddab\">QsciScintillaBase</a>\n</li>\n<li>ReverseLines\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a740c74f61e7d91060ccc9e0945318787\">QsciCommand</a>\n</li>\n<li>RightArrow\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a83df9bcfb20a4df73ba28ae7e25adc88\">QsciScintilla</a>\n</li>\n<li>RightTriangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a0865ee6d974f4969f239565400fa5e86\">QsciScintilla</a>\n</li>\n<li>RoundBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974abb8b610c8536fb766052a18f19572ed0\">QsciScintilla</a>\n</li>\n<li>RoundedBottomLeftCorner\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496afa25f9b9f604542625e2eeb812484363\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_s.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_s\"></a>- s -</h3><ul>\n<li>QsciScintilla()\n: <a class=\"el\" href=\"classQsciScintilla.html#a978b6679ccd9d9edb6091502001a5f45\">QsciScintilla</a>\n</li>\n<li>QsciScintillaBase()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a425344ca700d69b60ffeb3f8122f7ff9\">QsciScintillaBase</a>\n</li>\n<li>QsciStyle()\n: <a class=\"el\" href=\"classQsciStyle.html#a0464f0a24f4094431686c89e667e843e\">QsciStyle</a>\n</li>\n<li>QsciStyledText()\n: <a class=\"el\" href=\"classQsciStyledText.html#a72dbd9d847a577fe5c438d1582920887\">QsciStyledText</a>\n</li>\n<li>save()\n: <a class=\"el\" href=\"classQsciMacro.html#a6af9c876a10d746177790189067aaf6a\">QsciMacro</a>\n</li>\n<li>savePrepared()\n: <a class=\"el\" href=\"classQsciAPIs.html#a742609f12e48e63edbab2565d7df3cb9\">QsciAPIs</a>\n</li>\n<li>SC_IV_LOOKBOTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ac3746adc7ec9881c9a46be88e26417d1\">QsciScintillaBase</a>\n</li>\n<li>SC_IV_LOOKFORWARD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50a63693e8e8da215430f8b94630cbad3c0\">QsciScintillaBase</a>\n</li>\n<li>SC_IV_NONE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50ad814f18251426f392498fd2969e11d65\">QsciScintillaBase</a>\n</li>\n<li>SC_IV_REAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae92e21c6957f026dbfd00008348e8b50aa8b077f3d8af29de8fae45dfd0885298\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_BACK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a68a70615f89282762ba21aa6ec629dac\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_COLOUR\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aabd3cb3735935f9be890931a34d07989\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_FORE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a2f3ac8cfede54b81db88e29b7f81e19c\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_NUMBER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a55a92a7661156a126c48237234251e1d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_RTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41af99d2ba5aa3873f646a8eac1a889de6a\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_SYMBOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41a7776c14d3a1424576a26a8da304b96bf\">QsciScintillaBase</a>\n</li>\n<li>SC_MARGIN_TEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ab7ed107d6ace096e9026c31145c48b41aa29598ff9ba1349daee66560cdd692bd\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ARROW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca940ced5307e462959ce165d8717a31d4\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ARROWDOWN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f1caf375a3079d67c36998c1bd453a4\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ARROWS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6f07eeddc235e313c4ca597220c71a0c\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_AVAILABLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca53a38f2234ab3e6df8d6cec09ecd7318\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BACKGROUND\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8a44e2cee896ee89527e1d026e8cd9ff\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOOKMARK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca500892fc4eef318262b009f6eddc9eda\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXMINUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacebb22ccb805fa137c65eda743d32e0a\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXMINUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8d928f238170d0765acb492d0e8f0f65\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXPLUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca6b210dd7ba9ae1b8c503965b6e9ada9a\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_BOXPLUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca3582c3195c0533bca604a874ee1ecab8\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CHARACTER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8c649856f102e81a5caa5a92f28b38fd\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cabf08078081d1fb79be98e1b5a6401ec3\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEMINUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca58fc2ba342cf7cc9e5f5e9a59d4319bc\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEMINUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca2bbb4d3dea9e0b75ef9374c1c2b23c65\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEPLUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca222004d413ee607197204f26950f3a0c\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_CIRCLEPLUSCONNECTED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca5293176024a0bba9eeb54b061a2930f9\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_DOTDOTDOT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca961e0562a26ab763fba1bc1e92123b85\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_EMPTY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cacf6e7cca56bcd03b660b3590153d1075\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_FULLRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca4f29b2c933a525fe0a80f0a58ba7eb61\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_LCORNER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caf591d473d118d6fa98adf5e73fd9c61d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_LCORNERCURVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca85a6c4d68e4c936c46c8711f656d95ca\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_LEFTRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca08a00107e2110dce658fe7cb10f75e58\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_MINUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca7baf71a4e105fbebbaa7803a3f722b0f\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_PIXMAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca464ae044427aa620a0668510ff1430b9\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_PLUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cae324f61ed2740c6be760489cbaa69fb8\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_RGBAIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa1866931fbc9dea971e6ae3f5be83abd\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_ROUNDRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca39e5d4cae13901613bcfae619cd496b5\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_SHORTARROW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca60f9340f78d0c386cb2df238849f121d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_SMALLRECT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cafa1a0af509be0284f7c69df8134d85ca\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_TCORNER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214caa9ae33880a1ee19ce4db6544bb61a84d\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_TCORNERCURVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca787e7e471b489bda535116b75765acad\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_UNDERLINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214cadf0e9f9a2980c5e693c67819a64f132e\">QsciScintillaBase</a>\n</li>\n<li>SC_MARK_VLINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad004786b74db7858f6642c23447a214ca8770dbe317581062d5d1bcb85592b784\">QsciScintillaBase</a>\n</li>\n<li>Scalar\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200abf5cf8907ae93f41cec829969dfdbf18\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a8fe3c7834c771123699097248a2a97fa\">QsciLexerPerl</a>\n</li>\n<li>SCEN_CHANGE()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#af2cc3652d35b4d0ec1d8c9ac18e2225e\">QsciScintillaBase</a>\n</li>\n<li>SCI_ADDTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaada4cbb31d6583ed80804e4b94cd4023\">QsciScintillaBase</a>\n</li>\n<li>SCI_AUTOCSETMAXHEIGHT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa99467be94f4357e1be0ddf72bde6ae5a\">QsciScintillaBase</a>\n</li>\n<li>SCI_CLEARREGISTEREDIMAGES\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4eca65e764b9d0ef2fb23d22bc872bcb\">QsciScintillaBase</a>\n</li>\n<li>SCI_COPYALLOWLINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0fd449316fa24a3cb53721cf17b9f684\">QsciScintillaBase</a>\n</li>\n<li>SCI_EMPTYUNDOBUFFER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac8f52176e19feec95c354452b6358d93\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETANCHOR\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aafbdd81cde4931224e6f87aceba707a04\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETCHARACTERPOINTER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4e6fc6b70c85f83622c9a17516bb2675\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETCURRENTPOS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1289f2530afb81cc99e2b7e2e2cad28\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETENDSTYLED\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa820d8d563cb319ff42e5b9ea709d839d\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETLEXER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf625e0ecead2e1d0bc3e0cefe2e8954a\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINCURSORN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa282bc83043fda7837568925243fcb384\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINMASKN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadbd2eceef7f59bcda7d7db01a4aa7c7b\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINSENSITIVEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffc41be0dbc2eb4b00438f0b489c7c88\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINTYPEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa919cf8a6d08d570e00ece099ff62010c\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMARGINWIDTHN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3654140951ae95d75f21c43cdcd91a43\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETMODIFY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa5af597c3c35c97cbe9f6dd98462594c\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETREADONLY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa98efd72455b4555e6d4cbd9cd79d2a5b\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4bc0cd151979992bc5015852c5dbfbfe\">QsciScintillaBase</a>\n</li>\n<li>SCI_GETTEXTLENGTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aadd626735df321c6b994c887cfad61ed4\">QsciScintillaBase</a>\n</li>\n<li>SCI_GOTOPOS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa3c6da358d0bc87040b30811bbcbf8cf7\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERADD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1be8617303dc15428758e22749267263\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDEFINE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa370a2c2674421348d23ecb97ff981b2a\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDEFINEPIXMAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaffe2901cffbccede9b0b5d1636bb5e9f\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDEFINERGBAIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa8ff17201e6d0cb9fe6e738a7a2e81932\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDELETE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aae19516cd9746dbec20598773ad354d4e\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDELETEALL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa010af0bf4fe497e1b68fe1fb56580770\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERDELETEHANDLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa007cbfb293accfd436ea9443b2678327\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERGET\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaaee02f504dec75c8b349150805440fd7\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERLINEFROMHANDLE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa4db578069d526ece8c0a9d08869a3033\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERNEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1f843331fd750110c6f97fa443567b22\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERPREVIOUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1e455f05b605c2ba82be3baf05e3abe4\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERSETBACK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0419ba42e62661c245af25007bac3bfe\">QsciScintillaBase</a>\n</li>\n<li>SCI_MARKERSETFORE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1fb7b42e9fbbe27b662b0edb21ac2d2f\">QsciScintillaBase</a>\n</li>\n<li>SCI_REGISTERIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5c17528701e5a34fc8b685be0914d4a8\">QsciScintillaBase</a>\n</li>\n<li>SCI_REGISTERRGBAIMAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaf1e4de8ebec57382f46449112d4f6821\">QsciScintillaBase</a>\n</li>\n<li>SCI_RGBAIMAGESETHEIGHT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabf4b5d1cf3d1aa52c010b489c2ccffc6\">QsciScintillaBase</a>\n</li>\n<li>SCI_RGBAIMAGESETWIDTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa93791e94e6f6a9382f1f7e29f341f342\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETANCHOR\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa9b577390896af25454459e1a9e08ad2e\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETCURRENTPOS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aabcd34a065f08d19b10ca6caaa78d3e78\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETLEXER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa29b928416c21edb11e32d4325764fcc7\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETLEXERLANGUAGE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa6309b2b8bf3813c1041d31cb54ce3feb\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINCURSORN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aac5d3e4edd15f65d5e500d90590e443a9\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINMASKN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aad1cec6e4e0ad45ce7d7edad7acb8a3b5\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINSENSITIVEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa64b07178255dc95b19a7c8feabaac1b2\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINTYPEN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa0ee188f4bfe7289f454f99af191d1523\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETMARGINWIDTHN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa1195d46181a565b14806d94595fc7aa6\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETREADONLY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaa07157383b442ab2d2be8c2d03078fc2\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETSAVEPOINT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa20e9df7da839e5b9e2edd2366a7ecb97\">QsciScintillaBase</a>\n</li>\n<li>SCI_SETTEXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aaeadc6fabc9859b2e52f9cfa23732f004\">QsciScintillaBase</a>\n</li>\n<li>SCI_TEXTWIDTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad9c35f7540b2457103db9cf8c877784aa5158fc6bdc2ceb345246b7f4ca45de04\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_A68K\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5f5a499292d10817ab864bb61fc952bb\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ABAQUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94d6c2b2fa424cbb4c8eb3749a9f934b\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ADA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a56c1b1e39b9c7e20faa9b7420d54e7a5\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_APDL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a176475983f8e4985ca616779de3be8db\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6fee40e395ba28044ccd9cbbc1db48d5\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASM\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a286421d44d37e6eade78481e3d063540\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASN1\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6bc934ce8070f4cd38f4c2619b165b01\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac6732578f1c51e3a2757dddb839d7b5d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ASYMPTOTE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a5a68f1f87e9069301116d328e30f63c7\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AU3\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a05181d968abb3e1fec89869dd14e2bae\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a2c30b22ff5f0f07f8ccf96eb0c0eb5d6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_AVS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad63b11d786d32c7101682682bf49c063\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BAAN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a207b1e77e47550f0b0787a107a206b71\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BASH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab05738aa98869eb2b998fb6d063d9dbc\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BATCH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae894213f20cdd7eae927718c87cbfae4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BIBTEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0abc6e7a4f3fbf502b080d443f4f779ea9\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BLITZBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8ca1aa2873729ccadcc0c952d574299f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_BULLANT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ac26190310f45bf026d031fd52729f310\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CAML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaf2da832f0698fe3cea0693f57d4b7d4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CLW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7d602388b550d67454b1c11de9fac04e\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CLWNOCASE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a1b12c769eced15a1a54a87e7521a47\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CMAKE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a28cf4c57f311aa17f2dbf0f03761ce99\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_COBOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab87e1d9e6edd4f9ee6627d837c6152b3\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_COFFEESCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab4dd20651eeac848ec8a1586b3da3c8c\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CONF\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a477ce8c2cdaac994e2ec4022e67ee185\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CONTAINER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a62931496707b79f9d5b348aacbd51a6e\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CPP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a504f72d70f56dcb53fb908fe79452138\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CPPNOCASE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8dd4142d9043b7b15c235c038a8abf0f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CSOUND\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aec034e1adf57a7349ed47f4848bb40c4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_CSS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9c08d490101986eb17aab67a1fb7159f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_D\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af89b580de6d8a9bffac12bf14b58489d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_DIFF\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a254b0148fea4c8f6e170ef09bae369e7\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_DMAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a426868e898ad88df600d7a0cba7ed000\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_DMIS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad9e8188110135d6897add3becb30995f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ECL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7ed6ed45706f72a25396e7cea6f179fc\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_EDIFACT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a07565bccfb3046478e918086c75fd2d0\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_EIFFEL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4e7d76804b75f4b89f1b315bfc52972f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_EIFFELKW\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a26b6e157b2a4595977de9c31c44c5f36\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ERLANG\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa5ac4a29460ebae1edb850c87473a52c\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ERRORLIST\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1beef12bbc9c9835a6791267c8fcb10a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_ESCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d30f511ae4cc23f0bc43fd1ca6cda12\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_F77\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a94cdec496a332379e7cb47c116c318c6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FLAGSHIP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af2efe26c56f871a45383153193e4e9e0\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FORTH\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a44c24c20cdec1b6e482f69ed721a4077\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FORTRAN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a14a8a752af012a2c9444b5b291108574\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_FREEBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af7c6976f83643ba89841ad2eaf62c678\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_GAP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae20ac3b9f61ea931c3b12e0c462b1dd0\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_GUI4CLI\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ada00900f5ad22e170d494790194dfdcf\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_HASKELL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae0b332697a33770b6f1ba537b942a87d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_HTML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a00ae3e9a26cdc1afac630a91f3b3c7ec\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_IHEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a60d40cf6110071d3ae0ff271ea00fca6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_INDENT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ace65638f1fc7df156cb5fd7e13e40b39\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_INNOSETUP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1e8ba9f543d28f5470b3284c377caaef\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_JSON\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7fbfc36f6ecf328b50efe1d29fa7be89\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_KIX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a67ce3e5d9bdff0bdb44d1a5aff3e69c4\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_KVIRC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad0cd24eef0f5650d775d4dd05bd82df8\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LATEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b110854fbef28d60067b82faf5ed229\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LISP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1b4009430261f11f17487ad843007d04\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LITERATEHASKELL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96b2db4f5bb0191b81dd536b0b8b13e2\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LOT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a95c696054c8774351078fb670b591028\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LOUT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6f07bc63049dc24bd3afc9e8ebac18ce\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_LUA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9975c914f242664d8225e3692f88ac31\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MAGIK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aea0c54b674130c1ce336667af1468011\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MAKEFILE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a990148a08b2f7a1585691ee984876863\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MARKDOWN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a735f6a745c132f34910668c6f221dbef\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MATLAB\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a457d5320bb0deebd765830974964c4ca\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MAXIMA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad030153b23920c60fd4c57a63a1992ad\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_METAPOST\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a345b6b3ec51466394faec02ecdb8dc2f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MMIXAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6d6709e5e960072a7c91b3e5b01a020a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MODULA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a030fcaf06a85c39c4f57a828ef354d11\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MSSQL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9cd5b9812fe0fb143740c8a5ac15431a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_MYSQL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a705102c40d1227a12afd8da13b43ab00\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NIMROD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8d42ad47b0a03f3a27c047401f3cb080\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NNCRONTAB\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3c92b60cfd0065deb73541166ab412cd\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NSIS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a592ddfd7bb2d792a42e44a6a04640247\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_NULL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a8a264dd8fe734630be400388fac8f588\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_OCTAVE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0bfd1f7f3d9ec8b9ea24bb00eb199704\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_OPAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acce1c850472e07587f12f668d3b541e5\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_OSCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a96e54938b672128818b2c8201833993a\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PASCAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa81b3ab54ed446bd82fd8e47bb716efe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PERL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9ef2274168be1be3f691d59aa142f170\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PHP\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a4a9d8ecf3ccab78020f78ad4efb510d6\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PHPSCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a582a3951e713f3e804e312345c120571\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PLM\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9a5c4cac509bcde1ea71e3fcc44c664\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PO\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0d2bf09afa633715605a3305777dfc83\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POV\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af510951e33b06ef3e995d69c53a94fdc\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POWERBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0acc275c470d9bfe05754cdf4e42a54741\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POWERPRO\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a36d2c47f406db754feb03b7c530be79f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_POWERSHELL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad32bd9c8bb2d41cfcf26a8ab7605cee8\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PROGRESS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a93e8366c515df085823e843354a8b3cd\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PROPERTIES\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae51ad6d026758e0fde01d796d72d0815\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a053e8c790c607f826c933729ada1a6c2\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PUREBASIC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ae15512b5a294a4d9d87423e256a14874\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_PYTHON\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aaa0d7fa0c2396811b59b5e6ba6c811f1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_R\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a370fc35c7da9d2bdd2ab7088da3d7afe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_REBOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0c4f62b4ba53206637593684c27fed7f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_REGISTRY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab196b886d720b528c06981f3162edcfe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_RUBY\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ab271a6111144900d2d93de516b1035eb\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_RUST\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7dedcc3f7467a77cf25eff297aad55c1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SAS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a163ba76db43420149ae4ed4456426d7c\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SCRIPTOL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a12d07a2dd6cc648226ecdbc41ef0d169\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SMALLTALK\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a13ce10215a927235a20b5b54739b6442\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6b2b7135756e6e63afaab29e1ce69e5d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SORCUS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1aa37e96400fba08b571e6f17100bb23\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SPECMAN\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a826c7c9b1bbf5079ff818003bbcdf78e\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SPICE\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6dde6455441154c518c71d14cbc384e8\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SQL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0af1a6b060c43736ae87b701da137aaf51\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_SREC\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a833ab9e759135def757131a8bd0196fe\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_STATA\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa3c5a8b4e7b66cfd26eeadc24049c268\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_STTXT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6e8fa194daac20f1860a30910cd77ad2\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TACL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0ad5f7ed0033d057fc7d84a3c80c5640be\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TADS3\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a41b0513b5d681c2e8a5d76ca8ef8752d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TAL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a9add9caf532d347948e1c8038ab671e1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TCL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a3d423d890cfc3b987d62d48ede1ec887\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TCMD\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa9ea73b5b40de75ed54ea356f13a7b47\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TEHEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7f81fc1ce2e254d399b858b08362e0bf\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TEX\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aff435fbce318cd18cadeae1be877bd41\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_TXT2TAGS\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1eb34afacf50e022bc6d8d3ac92384d1\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VB\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a552be64626f5d82c3d77e27ed485124f\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VBSCRIPT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a0efcb32e5b56db847054c8b5f4778581\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VERILOG\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0aa419285333430eff62c7d44b79786a3d\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VHDL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a893d2e14e9c835c6b1e52d43aaf8c577\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_VISUALPROLOG\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a6505e2018707a20252ef8eefc6b25fb3\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_XML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a1d7fee124bcdc3de441f5051c53eff92\">QsciScintillaBase</a>\n</li>\n<li>SCLEX_YAML\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aa4ab44fd6a7374eb16d07762aa51c7c0a7c021577e03000be86d0acd1ec6c502b\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_ALT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6aaa78aa9b07d1b2afe030262223eba11a\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_CTRL\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a944d24d92f0c62a4f519936199d74198\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_META\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6add02edfef385cd3b3020235bc752eda7\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_NORM\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a6097124d46dc23dbb028fb340b4aa17e\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_SHIFT\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6ad3e496f1bdcc19e0b87c83c624e9f184\">QsciScintillaBase</a>\n</li>\n<li>SCMOD_SUPER\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a76f793f6e6ce5b6f14b3925e78ea2aa6a92a9efa0e26fb75aa9d6584c715aa465\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCCANCELLED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a1719fba80d9e60cf9fce1bb75f304568\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCCHARDELETED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aabab23e5653c35dae8a6f144d73c4657\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCCOMPLETED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a41e738411112b8f509e0b49b6fc3e318\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCSELECTION()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a61c43c53a753272c51c5c5ac14bda136\">QsciScintillaBase</a>\n</li>\n<li>SCN_AUTOCSELECTIONCHANGE()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a721a1879cabaa76883ae1a02a34a76e8\">QsciScintillaBase</a>\n</li>\n<li>SCN_CALLTIPCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a13f22ec5a59e2e8e97a27ac24967f74d\">QsciScintillaBase</a>\n</li>\n<li>SCN_CHARADDED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae8d8fa5d5f063a7c7d37d527f86b5fe8\">QsciScintillaBase</a>\n</li>\n<li>SCN_DOUBLECLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad3ca5787399ed886cb9000c8feab3c08\">QsciScintillaBase</a>\n</li>\n<li>SCN_DWELLEND()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a9ecd605284870ddbf703cf4c8c995ca6\">QsciScintillaBase</a>\n</li>\n<li>SCN_DWELLSTART()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#adfd788dce5c1a91d1fcd5e6fdd2fca59\">QsciScintillaBase</a>\n</li>\n<li>SCN_FOCUSIN()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ae53947625062cec64a212dc68877ddc3\">QsciScintillaBase</a>\n</li>\n<li>SCN_FOCUSOUT()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a2febc4ea74d45d6a8bc9c758635dd99d\">QsciScintillaBase</a>\n</li>\n<li>SCN_HOTSPOTCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5eff383e6fa96cbbaba6a2558b076c0b\">QsciScintillaBase</a>\n</li>\n<li>SCN_HOTSPOTDOUBLECLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a682cc736272338433efdc86bc936e0e8\">QsciScintillaBase</a>\n</li>\n<li>SCN_HOTSPOTRELEASECLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a906faecb0defd2d5a14cac54f8415dcf\">QsciScintillaBase</a>\n</li>\n<li>SCN_INDICATORCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#aeec8d7e585e93451307df88ff2fc2b87\">QsciScintillaBase</a>\n</li>\n<li>SCN_INDICATORRELEASE()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a93d1e96c88745ca7f2737602e80dc76a\">QsciScintillaBase</a>\n</li>\n<li>SCN_MACRORECORD()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#abdae368f2b81955c4927dc6f26fc2c77\">QsciScintillaBase</a>\n</li>\n<li>SCN_MARGINCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a722a2f16b67ef5f46def6914a6e178c3\">QsciScintillaBase</a>\n</li>\n<li>SCN_MARGINRIGHTCLICK()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a39e90958ae903d2f6198ec0c58f56ed9\">QsciScintillaBase</a>\n</li>\n<li>SCN_MODIFYATTEMPTRO()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#adb5bad7d1dad9ab3fe74adb3e0812969\">QsciScintillaBase</a>\n</li>\n<li>SCN_PAINTED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a94a1cff08b2ef6558d054177fa88ea47\">QsciScintillaBase</a>\n</li>\n<li>SCN_SAVEPOINTLEFT()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#af3a619a5e59cef000f0b550e809c94de\">QsciScintillaBase</a>\n</li>\n<li>SCN_SAVEPOINTREACHED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a0db8c3ad0764a96f3ccf0fec71de0d26\">QsciScintillaBase</a>\n</li>\n<li>SCN_STYLENEEDED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a72c0bc1c83fd675714626cd786ca4fb9\">QsciScintillaBase</a>\n</li>\n<li>SCN_UPDATEUI()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#ad88db21d86df33667c234d00af1fdf94\">QsciScintillaBase</a>\n</li>\n<li>SCN_URIDROPPED()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a42cb45ea05c71180a594e0cc8041c07d\">QsciScintillaBase</a>\n</li>\n<li>SCN_USERLISTSELECTION()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a8225643b25dc6f1dedc48b4a7af4b83d\">QsciScintillaBase</a>\n</li>\n<li>Script\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aeb4058a907dcaf6324564d345aa68918\">QsciLexerHTML</a>\n</li>\n<li>scriptsStyled()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a96ad1f818e51a3606404d24bf7a28a91\">QsciLexerXML</a>\n</li>\n<li>ScrollToEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a16b9e2cd58ea3f6d094bf870e1e9e083\">QsciCommand</a>\n</li>\n<li>ScrollToStart\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad32c75499899527ccb721d6221e0b1f1\">QsciCommand</a>\n</li>\n<li>scrollWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad5fa8715b931fc0143aa72a20420578d\">QsciScintilla</a>\n</li>\n<li>scrollWidthTracking()\n: <a class=\"el\" href=\"classQsciScintilla.html#abf895c5e4157e4b6effd28683c728b63\">QsciScintilla</a>\n</li>\n<li>SCSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#ae8630fee6378af65bbd772b8f20fe4c9\">QsciLexerCSS</a>\n</li>\n<li>Section\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a7e63bce5cf5dafed391333a8dfdf9d1da9b9be54dcfbb2e38f1243779c71c76f4\">QsciLexerProperties</a>\n</li>\n<li>SegmentEnd\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aaccf1fa00705e4639dd226d4445625d4\">QsciLexerEDIFACT</a>\n</li>\n<li>SegmentStart\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a9e6eaecb76a8dd4c84fef4b341f946e7\">QsciLexerEDIFACT</a>\n</li>\n<li>SelectAll\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8ddbd8f97e85bbef9e728a1293a94983\">QsciCommand</a>\n</li>\n<li>selectAll()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8aae5a0037937ad6c8bdfe868e4a8ad5\">QsciScintilla</a>\n</li>\n<li>selectedText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a10c8d8f5e97fb5ef86ea351407fe1023\">QsciScintilla</a>\n</li>\n<li>selectionChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a194e86e59129ed570af044e19697d0e9\">QsciScintilla</a>\n</li>\n<li>SelectionCopy\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a200b4ecea5a65b8690e8393b8ad3d512\">QsciCommand</a>\n</li>\n<li>SelectionCut\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a11cd9c83a7a1b74dc2a936e324ecf99e\">QsciCommand</a>\n</li>\n<li>SelectionDuplicate\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad10ac67847b362c169d7e3b0b3463290\">QsciCommand</a>\n</li>\n<li>SelectionLowerCase\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aff49104707e447f73d08afd744b1f68d\">QsciCommand</a>\n</li>\n<li>selectionToEol()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaf77d8976ae47a1d5e5ee804bc0645d3\">QsciScintilla</a>\n</li>\n<li>SelectionUpperCase\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5df7c07cf8cf1eee546837ece594dcaa\">QsciCommand</a>\n</li>\n<li>selectToMatchingBrace()\n: <a class=\"el\" href=\"classQsciScintilla.html#a986f1235405f51f9d5b2edda17423563\">QsciScintilla</a>\n</li>\n<li>SendScintilla()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a8820ab8d7563bd7ed24ce6384846079e\">QsciScintillaBase</a>\n</li>\n<li>SendScintillaPtrResult()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a5f140c587d361cf8539814d820d680f4\">QsciScintillaBase</a>\n</li>\n<li>setAlternateKey()\n: <a class=\"el\" href=\"classQsciCommand.html#a8c00e5f08abe7ad05fe54653c0f040ae\">QsciCommand</a>\n</li>\n<li>setAnnotationDisplay()\n: <a class=\"el\" href=\"classQsciScintilla.html#aeda9c17a6e746e177fa6f5311d96dc03\">QsciScintilla</a>\n</li>\n<li>setAPIs()\n: <a class=\"el\" href=\"classQsciLexer.html#ac2e1ada934a5dc7685c1ee6a464de5fd\">QsciLexer</a>\n</li>\n<li>setAutoCompletionCaseSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8348c07fe8cff0bf6141a94ca3014ed2\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionFillups()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9851c2349b4140faa129b7125bee416d\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionFillupsEnabled()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0d273a0573088d9fb6d66d7b2633ea4b\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionReplaceWord()\n: <a class=\"el\" href=\"classQsciScintilla.html#af67874dae6e032c44d4ccde569e2decb\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionShowSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6b494f1a0395a62c3e61f50eabc50679\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionSource()\n: <a class=\"el\" href=\"classQsciScintilla.html#a48860b20014ce8b044760c055156ba57\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionThreshold()\n: <a class=\"el\" href=\"classQsciScintilla.html#a508eb34df3030ac28321b12d86d6670c\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionUseSingle()\n: <a class=\"el\" href=\"classQsciScintilla.html#aefa257027a014475cb468b6d77bcf1f7\">QsciScintilla</a>\n</li>\n<li>setAutoCompletionWordSeparators()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4ba18e98a98310113fb30d8ada30fe14\">QsciScintilla</a>\n</li>\n<li>setAutoIndent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a02105d06ad853647906eb72d27face67\">QsciScintilla</a>\n</li>\n<li>setAutoIndentStyle()\n: <a class=\"el\" href=\"classQsciLexer.html#a793e592d3ac100ff81ae09eefbaa74ef\">QsciLexer</a>\n</li>\n<li>setBackslashEscapes()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ab64e768ab8e7af6af93ce95db074c90a\">QsciLexerSQL</a>\n</li>\n<li>setBackspaceUnindents()\n: <a class=\"el\" href=\"classQsciScintilla.html#adca3e8b2b7d4d0bf65ad23322f64f6ef\">QsciScintilla</a>\n</li>\n<li>setBraceMatching()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae53911447eddf1f0f93811f17ca4ecf8\">QsciScintilla</a>\n</li>\n<li>setCallTipsBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af780380f9f1f2a66c729759b1d37ba69\">QsciScintilla</a>\n</li>\n<li>setCallTipsForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a13a64159770a6eb451567bc2d293c2a2\">QsciScintilla</a>\n</li>\n<li>setCallTipsHighlightColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae64151db464b22eedd012225f82c810d\">QsciScintilla</a>\n</li>\n<li>setCallTipsPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7f9d93c22ed8b7b00996408da578cd2a\">QsciScintilla</a>\n</li>\n<li>setCallTipsStyle()\n: <a class=\"el\" href=\"classQsciScintilla.html#a253807bb0f4b3db471b059afc70b77db\">QsciScintilla</a>\n</li>\n<li>setCallTipsVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#aec47d94706ffb14ef35035ba827b5b45\">QsciScintilla</a>\n</li>\n<li>setCaretForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af9015c62600c87eef82f715bf61da913\">QsciScintilla</a>\n</li>\n<li>setCaretLineBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8c227f8c948aeb5e6a2cf73397387cc0\">QsciScintilla</a>\n</li>\n<li>setCaretLineFrameWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0999f0d3c67472b6986486fd06775240\">QsciScintilla</a>\n</li>\n<li>setCaretLineVisible()\n: <a class=\"el\" href=\"classQsciScintilla.html#a37f2cddeeef588533be46798ae18ffab\">QsciScintilla</a>\n</li>\n<li>setCaretWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2c1974c2bdc9c0f2923c28b66afe811f\">QsciScintilla</a>\n</li>\n<li>setCaseSensitiveTags()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a2fda8ad57009d4e2f1ac388cad2cfc92\">QsciLexerHTML</a>\n</li>\n<li>setChangeable()\n: <a class=\"el\" href=\"classQsciStyle.html#af7e052d08efd3a677f810c8e4116dafc\">QsciStyle</a>\n</li>\n<li>setColor()\n: <a class=\"el\" href=\"classQsciLexer.html#a0e4235e0bd33f64431a9c6e8c35038d4\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a8c8e4776767cc88b945f50f07d235770\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#aa7743a3805662a27ae52a56af3ac315a\">QsciStyle</a>\n</li>\n<li>setContractedFolds()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9405d8aaa240dfc8fe30c3a4b5556ecc\">QsciScintilla</a>\n</li>\n<li>setCursorPosition()\n: <a class=\"el\" href=\"classQsciScintilla.html#aea97c6fb0079a6e3e647443b6101ae9d\">QsciScintilla</a>\n</li>\n<li>setDefaultColor()\n: <a class=\"el\" href=\"classQsciLexer.html#a32b16ee95c3dabbc7de61541dd110521\">QsciLexer</a>\n</li>\n<li>setDefaultFont()\n: <a class=\"el\" href=\"classQsciLexer.html#a19f0b390b5594d0dff5e4d4b484e43d2\">QsciLexer</a>\n</li>\n<li>setDefaultPaper()\n: <a class=\"el\" href=\"classQsciLexer.html#a7ebaedee6979d4cb17399361b37e33e0\">QsciLexer</a>\n</li>\n<li>setDescription()\n: <a class=\"el\" href=\"classQsciStyle.html#abd88d76b875c154f099b4e9f36b6fcab\">QsciStyle</a>\n</li>\n<li>setDjangoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a59c9b8ff5d698d7e7e03ec2655a24764\">QsciLexerHTML</a>\n</li>\n<li>setDocument()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3a0d1c86f15f218fe6c0e04fea0ba6d9\">QsciScintilla</a>\n</li>\n<li>setDollarsAllowed()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#affaec4d14f7908f7d24d16937df00c93\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a06315a18051184926fe21459fc75b4cc\">QsciLexerCPP</a>\n</li>\n<li>setDottedWords()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#aba150bef5f977fb65d66fcaec9c6664c\">QsciLexerSQL</a>\n</li>\n<li>setEdgeColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#aec296526c86ae02deb561b4b4836a886\">QsciScintilla</a>\n</li>\n<li>setEdgeColumn()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8e88f3f4369b73980bb40d5d3a8caf26\">QsciScintilla</a>\n</li>\n<li>setEdgeMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3493e72e97607270ca64c01b521f933f\">QsciScintilla</a>\n</li>\n<li>setEditor()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a224fe82235b9a1c7b9c8bec9dd441178\">QsciLexerCustom</a>\n</li>\n<li>setEolFill()\n: <a class=\"el\" href=\"classQsciLexer.html#a3fccdb7cb8f6524ecdeb3ff364ae5a49\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a6767dbb23f68292ef9e892dad31ffd9e\">QsciStyle</a>\n</li>\n<li>setEolMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0f2353468d2c37abe9c933d4ac0478ad\">QsciScintilla</a>\n</li>\n<li>setEolVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab98db9f5166ccc23792aea15a19c2294\">QsciScintilla</a>\n</li>\n<li>setExtraAscent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a87e61d47e344dbbb84c4608fdc8536d0\">QsciScintilla</a>\n</li>\n<li>setExtraDescent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a06458817a42498ee65e890c36f63453e\">QsciScintilla</a>\n</li>\n<li>setFirstVisibleLine()\n: <a class=\"el\" href=\"classQsciScintilla.html#a451bcf235c2ad7628d32940a13d22116\">QsciScintilla</a>\n</li>\n<li>setFoldAtBegin()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#a7f8da8d7fe8301cd49926b896bf5e286\">QsciLexerVHDL</a>\n</li>\n<li>setFoldAtElse()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#aaae969a8e94db29a49849d7497e2cc74\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ad0a3dd6dfb77a069303bfeeeed43773f\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a2dc2ffcd977cf514e65e315a80afcb18\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a14705cac9643949facd57641e0892fb0\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#aa303817de5a59137ab4bf592ff52a315\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a35dfbbd04762b0450232c14862ec3ea6\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a7b84f78b170cec259efb2f367c54ce4b\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#ae8c0599c4eb74db6caa8624bcc416a8b\">QsciLexerVHDL</a>\n</li>\n<li>setFoldAtModule()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af57050a2bcb9d1d285199159da0ba6e0\">QsciLexerVerilog</a>\n</li>\n<li>setFoldAtParenthesis()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#ad6328325f4c46dce0226712e9db3bba7\">QsciLexerVHDL</a>\n</li>\n<li>setFoldComments()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a86be2cbea60ab7b3419ed3bf2db7c5ce\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#ab743740491685360f2d50e5c12be876b\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a57f1f1164f3719b4b855a3a163a78764\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#aaf1f8163b8baf27ef65c1e5219bbf1e2\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a5f77be4cb83422d47220c5b38d9f0a99\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#aa7bcbfe8a9e732630bba54860888e9d5\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a05d880fd1451f6a757fd21a7bd43a358\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a85aa8e72d81818a7edea1867362db16a\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#abb698a7598847dea3cec0686c88ba43a\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a189a9efbe5c2fa07757d67c013229e19\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a35e71b31d8d197052c7c5250ff21f094\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#acf9bbfcaf3dfd6004428920e1c6572fd\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a6efb8e98287c21ec5175a466d7e5cc55\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#abceb6f3cf78367b7bc370265d7776bf1\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a2097c0d473f379dbcd0faa9653bcc943\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ac79b616c3ba0872856d90b119bfd81b8\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#af41d62ccd061b840e3eb2e9e2b26d6f5\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#a5fc9da8d92341819072536ce840902fc\">QsciLexerYAML</a>\n</li>\n<li>setFoldCompact()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#ac814c0fdc49d3c27a027a8e075aa7626\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a80a1f387059600fd67bbf6d2699981e3\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a8bc6aee27994356e61fc6b030e23a62f\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#af17ac732d73445822ef23a59f3e45aef\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#aaf9762aeea19ed1c8d6766a9e6a52cd3\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a97c7813c68c861b9f2b3f068d9b47fd7\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a206ea971cb4152f8ca00087544574d15\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#a1036c768307d29c40f09cc1bc2fce37c\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#a8a24cd2bdd449e16ae5d00db7a1826bf\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a2f54e561f646da5ff20c5e85b2f377ea\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a2d183c40c276dadd3bbb994b0c0f26ce\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a269b1c3c788ae863939fd8b1749a5abf\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#af3d4ae3f76854d01444b2fd4637c9b8e\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a277a3c519eca4ef69d73fd45ea4f5ab5\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a831ed1e8074990eafb57d4b9ebaf3d2f\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a4caa0f46faeb171710ec2657cd23436e\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a27dcfdcac480d0360029d1f12b14f724\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a0e83f239ecb3c52bf4930412f32f51f1\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a302b9b881fdc5dca82c5dea5fca5cd3e\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a21f63849918a4fbeda81dc5f79fa81c2\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a17ff342a5c1d94ce760a3dc02cfcda1d\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a40d1ca24b672c13e9e7e69add2f5ee42\">QsciLexerVHDL</a>\n</li>\n<li>setFoldDirectives()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#aea30a66d5e4e7d0064366eefec03364c\">QsciLexerPOV</a>\n</li>\n<li>setFolding()\n: <a class=\"el\" href=\"classQsciScintilla.html#a340cd78e46fb58fc9b3b78ed158ba56e\">QsciScintilla</a>\n</li>\n<li>setFoldMarginColors()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6bdcf192822a31094e680ffb2f142aab\">QsciScintilla</a>\n</li>\n<li>setFoldOnlyBegin()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a680cba1b994603e73da00610e81debfe\">QsciLexerSQL</a>\n</li>\n<li>setFoldPackages()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a5e2cdbcaa57b02f18d65aea89d2faa54\">QsciLexerPerl</a>\n</li>\n<li>setFoldPODBlocks()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#af0ee6abab37e283e68f527c597c50877\">QsciLexerPerl</a>\n</li>\n<li>setFoldPreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a6a8c59ca8409029fc6b27b9ad3c70886\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#aeba753c0e1fca8bf66834667e301458e\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a85c009c5ccf84fc64726bb2c3b11bdec\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#ab7c13e959940db389fe0daeb96267d8e\">QsciLexerVerilog</a>\n</li>\n<li>setFoldQuotes()\n: <a class=\"el\" href=\"classQsciLexerPython.html#afc0aaf4300e9ca02eb8fa49328bbe8d8\">QsciLexerPython</a>\n</li>\n<li>setFoldScriptComments()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a51401044d3ad272ede84e1f2a128cce6\">QsciLexerHTML</a>\n</li>\n<li>setFoldScriptHeredocs()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a122450b5227d23ee119b2653b9e9be2f\">QsciLexerHTML</a>\n</li>\n<li>setFont()\n: <a class=\"el\" href=\"classQsciLexer.html#a3484599b6db81b8392ab6cd4f50ab291\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a26eb997695e6b7292896743ac825a8ee\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#ab09932c9dafb915b8138d4ec1cbc79cb\">QsciStyle</a>\n</li>\n<li>setHashComments()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#acc91bd455ff72d93d0bb73b553afbbb8\">QsciLexerSQL</a>\n</li>\n<li>setHighlightBackQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#aa023c95fbbecbbbf7046c92d6fcfdce5\">QsciLexerCPP</a>\n</li>\n<li>setHighlightComments()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#aad1f452948047cc4ce0afc9bc9374061\">QsciLexerJSON</a>\n</li>\n<li>setHighlightEscapeSequences()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a6d6a21ea44e2ee9676aa27178021b06a\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ac4b582db9efad2743e270ee63234804f\">QsciLexerJSON</a>\n</li>\n<li>setHighlightHashQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ad0d9356583118309e6c3991e96a67ffe\">QsciLexerCPP</a>\n</li>\n<li>setHighlightSubidentifiers()\n: <a class=\"el\" href=\"classQsciLexerPython.html#ade07472f3cc8a4cccbb0bb6b964f0356\">QsciLexerPython</a>\n</li>\n<li>setHighlightTripleQuotedStrings()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a2ea8bd8758e10d72832dbf3642b06fb2\">QsciLexerCPP</a>\n</li>\n<li>setHotspot()\n: <a class=\"el\" href=\"classQsciStyle.html#acb06ba468da57cc4ea9e8d496cb33f83\">QsciStyle</a>\n</li>\n<li>setHotspotBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#aaf19a3abaa1b1662a0f1b499ef4b6602\">QsciScintilla</a>\n</li>\n<li>setHotspotForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4c6a412b7d066b9fce90f3976350348c\">QsciScintilla</a>\n</li>\n<li>setHotspotUnderline()\n: <a class=\"el\" href=\"classQsciScintilla.html#ac961cfe1be7cd29038a2772f30b71bfc\">QsciScintilla</a>\n</li>\n<li>setHotspotWrap()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7245335691700f82db41016d257d63cc\">QsciScintilla</a>\n</li>\n<li>setHSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a9e61fa490e6e6c1480f3de5187ffed02\">QsciLexerCSS</a>\n</li>\n<li>setIndentation()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa46e60536be6297de6ca1fb16d36cd51\">QsciScintilla</a>\n</li>\n<li>setIndentationGuides()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1b4591eb73dcef0153861f698edc8726\">QsciScintilla</a>\n</li>\n<li>setIndentationGuidesBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a18d150beb0cd818ebcbcee886217de6a\">QsciScintilla</a>\n</li>\n<li>setIndentationGuidesForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#ace4acd9ee0d1c3e31099d65cdd8219b2\">QsciScintilla</a>\n</li>\n<li>setIndentationsUseTabs()\n: <a class=\"el\" href=\"classQsciScintilla.html#a065b392e0a39ecfd39df787a3a25e814\">QsciScintilla</a>\n</li>\n<li>setIndentationWarning()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a421ab12187730bc0686dc72710867ec3\">QsciLexerPython</a>\n</li>\n<li>setIndentationWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8010e1671a15976254fd11b59ca3e03d\">QsciScintilla</a>\n</li>\n<li>setIndicatorDrawUnder()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5ba2e241be76c209c0f5509804a995c9\">QsciScintilla</a>\n</li>\n<li>setIndicatorForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2ffd6d691d5a63940e448138f3754a47\">QsciScintilla</a>\n</li>\n<li>setIndicatorHoverForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a616edbb9da241c08f8381835d65bb18c\">QsciScintilla</a>\n</li>\n<li>setIndicatorHoverStyle()\n: <a class=\"el\" href=\"classQsciScintilla.html#ae76354288b8e5c2bc6f7a7e7bd97e44e\">QsciScintilla</a>\n</li>\n<li>setIndicatorOutlineColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af63627804eeffc4f0f1290181cda7781\">QsciScintilla</a>\n</li>\n<li>setInitialSpaces()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a2243845007f5165eb5718a131be3ada3\">QsciLexerProperties</a>\n</li>\n<li>setKey()\n: <a class=\"el\" href=\"classQsciCommand.html#a6488ddf82659fcf42d704f787b6cb522\">QsciCommand</a>\n</li>\n<li>setLessLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a388e532d847652dbf18207593e236e5e\">QsciLexerCSS</a>\n</li>\n<li>setLevel()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a80c198967862ff5392982a49b8004f48\">QsciLexerPostScript</a>\n</li>\n<li>setLexer()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7bc5fb5d0daf8261544fb6fe738a0c91\">QsciScintilla</a>\n</li>\n<li>setMagnification()\n: <a class=\"el\" href=\"classQsciPrinter.html#ad66724c8a5e5e202998bd6533fef61be\">QsciPrinter</a>\n</li>\n<li>setMakoTemplates()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#a8553315e763e1e53f56dd4dbe6b3c3d7\">QsciLexerHTML</a>\n</li>\n<li>setMarginBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a18c2bd1ee70c87809ba307ae6b695272\">QsciScintilla</a>\n</li>\n<li>setMarginLineNumbers()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5fddd1e6e19cf2e2b40c15a39e62d198\">QsciScintilla</a>\n</li>\n<li>setMarginMarkerMask()\n: <a class=\"el\" href=\"classQsciScintilla.html#aae6392483ffb59cdb94b7bd4b8a6dec9\">QsciScintilla</a>\n</li>\n<li>setMarginOptions()\n: <a class=\"el\" href=\"classQsciScintilla.html#a626103a61623dd360dc44210fe435ad7\">QsciScintilla</a>\n</li>\n<li>setMargins()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9c3a34cb9edf25913af16c9dc284cc5d\">QsciScintilla</a>\n</li>\n<li>setMarginsBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a419ab8aed49ea1711ce4ffcf19146df1\">QsciScintilla</a>\n</li>\n<li>setMarginSensitivity()\n: <a class=\"el\" href=\"classQsciScintilla.html#a064b51eca1ab2d32d4c4c328e69a395d\">QsciScintilla</a>\n</li>\n<li>setMarginsFont()\n: <a class=\"el\" href=\"classQsciScintilla.html#a672f2fb901048f290997cb69216b7a00\">QsciScintilla</a>\n</li>\n<li>setMarginsForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a263f0c4753c9a0c950adf1377737444e\">QsciScintilla</a>\n</li>\n<li>setMarginText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7677d42ce77cb5a150dc961d12da92e1\">QsciScintilla</a>\n</li>\n<li>setMarginType()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4dd046074be580fbde318ba2ae343d39\">QsciScintilla</a>\n</li>\n<li>setMarginWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#aece608d0192ccad13cc706c4b79005e3\">QsciScintilla</a>\n</li>\n<li>setMarkerBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#acf47d4b76a8c85a48fe9a27423997071\">QsciScintilla</a>\n</li>\n<li>setMarkerForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6abf177ca5bf8eea0930106d2867edae\">QsciScintilla</a>\n</li>\n<li>setMatchedBraceBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#abf85680f914ee631aa3a513ba823271f\">QsciScintilla</a>\n</li>\n<li>setMatchedBraceForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#af590f3e7196b21860e0405670cfa512d\">QsciScintilla</a>\n</li>\n<li>setMatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#a067cd392c008e07ff259ffdd0ce25fcb\">QsciScintilla</a>\n</li>\n<li>setModified()\n: <a class=\"el\" href=\"classQsciScintilla.html#aff32517974ac1d8c8cd3c5b6c757ddc9\">QsciScintilla</a>\n</li>\n<li>setOverwriteMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa627ee937acaae02dc0c5b468fd2643b\">QsciScintilla</a>\n</li>\n<li>setPaper()\n: <a class=\"el\" href=\"classQsciLexer.html#addbc923c938f946180a15d494d17b567\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#aa805f90f3bbe067299e9ab8902eafbf3\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyle.html#a2d4ec76574fd507fbf3c0d006c7427da\">QsciStyle</a>\n</li>\n<li>setProcessComments()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a1895725812d581b40913c1a85d2ab533\">QsciLexerTeX</a>\n</li>\n<li>setProcessIf()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a479ca70b474910355294d1fcec011572\">QsciLexerTeX</a>\n</li>\n<li>setQuotedIdentifiers()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#ae6e5819a3ddec15ac6926b5e19927bff\">QsciLexerSQL</a>\n</li>\n<li>setReadOnly()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab26d156ff430e904e8f92d3dad9730bc\">QsciScintilla</a>\n</li>\n<li>setScriptsStyled()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a7bbfdb6b269b6e52791fcbf1df60731e\">QsciLexerXML</a>\n</li>\n<li>setScrollWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9b1a8ed3235c506ffca09260cdd0e209\">QsciScintilla</a>\n</li>\n<li>setScrollWidthTracking()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7451e82e2ee3d0ddb3b8418edb0202f2\">QsciScintilla</a>\n</li>\n<li>setSCSSLanguage()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a2a2195f681df3657fbadf72c55003863\">QsciLexerCSS</a>\n</li>\n<li>setSelection()\n: <a class=\"el\" href=\"classQsciScintilla.html#a391299d076b0164402118f504c83d09c\">QsciScintilla</a>\n</li>\n<li>setSelectionBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a6882a7641822a859e812601f1bae65eb\">QsciScintilla</a>\n</li>\n<li>setSelectionForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1060a2e187518d1c8b2814c393e227c6\">QsciScintilla</a>\n</li>\n<li>setSelectionToEol()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7e36f3595e0d89910b9322dc5295152d\">QsciScintilla</a>\n</li>\n<li>setSmartHighlighting()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a64f021f45d10f2cfca72fda0c1d28e1f\">QsciLexerPascal</a>\n</li>\n<li>setStringsOverNewlineAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a5887a36e4a8d6ff54f4c796b33bc2eef\">QsciLexerPython</a>\n</li>\n<li>setStyle()\n: <a class=\"el\" href=\"classQsciStyle.html#af00ea2dd20e93c5d06d9ce99cbc2cf00\">QsciStyle</a>\n</li>\n<li>setStylePreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aa1949e1c7fd18507f664babab7b3c56c\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a66dc6ae74420ab3406043ff9f6f70cc4\">QsciLexerCPP</a>\n</li>\n<li>setStyling()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a5ba7f97b19cfa7bd0b846fc56d94fa3c\">QsciLexerCustom</a>\n</li>\n<li>setTabDrawMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a69f35ec6e80059bbb351c8f8845cd8f6\">QsciScintilla</a>\n</li>\n<li>setTabIndents()\n: <a class=\"el\" href=\"classQsciScintilla.html#a957eaab9ac1785eb043fb83f703a0b57\">QsciScintilla</a>\n</li>\n<li>setTabWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a1bd5470bc123a43c98facfc5c4a1e523\">QsciScintilla</a>\n</li>\n<li>setText()\n: <a class=\"el\" href=\"classQsciScintilla.html#a5786917722e156e26d6afca807d05fee\">QsciScintilla</a>\n</li>\n<li>setTextCase()\n: <a class=\"el\" href=\"classQsciStyle.html#a25e9b8a34c334bf6160115a2c43a5256\">QsciStyle</a>\n</li>\n<li>setTokenize()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a8d57801958b738cbb297936426bb8c61\">QsciLexerPostScript</a>\n</li>\n<li>setUnmatchedBraceBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a3035ddd4e1360c2d9a6c86b362a0d905\">QsciScintilla</a>\n</li>\n<li>setUnmatchedBraceForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a511a4f492a9912df3d430fba33b67d5c\">QsciScintilla</a>\n</li>\n<li>setUnmatchedBraceIndicator()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4b6bdaf96ffaedeeaf7aa6d92b28913f\">QsciScintilla</a>\n</li>\n<li>setUtf8()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9071c0772ce576f60fce08395ce04274\">QsciScintilla</a>\n</li>\n<li>setV2UnicodeAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#accc3cd3ccf7d62840ded955400695b9d\">QsciLexerPython</a>\n</li>\n<li>setV3BinaryOctalAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#ae6bc53fc7e6dc90a80a26e22f6f49acb\">QsciLexerPython</a>\n</li>\n<li>setV3BytesAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a856785e000203b1da8fa6f295daad13e\">QsciLexerPython</a>\n</li>\n<li>setVerbatimStringEscapeSequencesAllowed()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a015dce05877d292d399fb207e79632cf\">QsciLexerCPP</a>\n</li>\n<li>setVisible()\n: <a class=\"el\" href=\"classQsciStyle.html#a4f8b9edd94c36344bd7152d15731509a\">QsciStyle</a>\n</li>\n<li>setWhitespaceBackgroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9fdd43a276cf3d9a3e7cc86dc7f280f5\">QsciScintilla</a>\n</li>\n<li>setWhitespaceForegroundColor()\n: <a class=\"el\" href=\"classQsciScintilla.html#a67177e2b1d8584d8cf8f1b276174b258\">QsciScintilla</a>\n</li>\n<li>setWhitespaceSize()\n: <a class=\"el\" href=\"classQsciScintilla.html#a7436ea4b640c312fd07945e9b436e19b\">QsciScintilla</a>\n</li>\n<li>setWhitespaceVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#aa2bca1d2d137ea4a3f944a4f41f98a94\">QsciScintilla</a>\n</li>\n<li>setWrapIndentMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ad8424876c29b1a77fd1df45a534722d1\">QsciScintilla</a>\n</li>\n<li>setWrapMode()\n: <a class=\"el\" href=\"classQsciPrinter.html#aa95827e3bd2c3c0e658afe55fa12476e\">QsciPrinter</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#ac04428d2f90c36458d68a673f107e40c\">QsciScintilla</a>\n</li>\n<li>setWrapVisualFlags()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab696e4703374af4c01651453d094ac08\">QsciScintilla</a>\n</li>\n<li>SGMLBlockDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a418b3eec8fb360b335cb9dc45ce01e85\">QsciLexerHTML</a>\n</li>\n<li>SGMLCommand\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a11dde10577367f11ae2d4198556ddeec\">QsciLexerHTML</a>\n</li>\n<li>SGMLComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a23b4e494ae6353492b2637b6aa72d0b9\">QsciLexerHTML</a>\n</li>\n<li>SGMLDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a68c7c26352e7ee71cbe90a3626247f5a\">QsciLexerHTML</a>\n</li>\n<li>SGMLDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ade1b5b1729dae715fd4eeff275355c39\">QsciLexerHTML</a>\n</li>\n<li>SGMLEntity\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a447f38ea2ca1777091030e74b1aa9ac0\">QsciLexerHTML</a>\n</li>\n<li>SGMLError\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a6b97afc0c896637ae69a477e47ab938f\">QsciLexerHTML</a>\n</li>\n<li>SGMLParameter\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a791994f6f8b23afd317efc08b2cc518d\">QsciLexerHTML</a>\n</li>\n<li>SGMLParameterComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa9ede90b43a8c8f1bede9ca6d7eefb70\">QsciLexerHTML</a>\n</li>\n<li>SGMLSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a67d513fbf29032da55c86c6e8a584c\">QsciLexerHTML</a>\n</li>\n<li>SGMLSpecial\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a853fb44d9faf4f1df33c262793bed3d2\">QsciLexerHTML</a>\n</li>\n<li>showUserList()\n: <a class=\"el\" href=\"classQsciScintilla.html#a42ae037173aab16ce5e14788e6331623\">QsciScintilla</a>\n</li>\n<li>SingleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ace53a2a59f95bc733101f4e7e57d1974\">QsciLexerPython</a>\n</li>\n<li>SingleQuotedHereDocument\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a8ec3f6f93c549d0d214ad89b4c610682\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a73e0d55813d2d21a060a9e1e59360506\">QsciLexerPerl</a>\n</li>\n<li>SingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerBash.html#a19b5c93bf139293c9575bcb891709200a46cd77a8b0bd8346f9530a98bc9d732b\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad64eca43c5aa797920a0b5db86c7ebb7\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1ad7c37e1eaac5103b567dd7f677fbd5be\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a0e475783c35d0707225bfc28edd36d2e\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7ae8db21339abd57824d34d2289500967d\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerMatlab.html#a9b15f63a3b57a434a630f0df3c5fd4e5a86c3d10694b6eaa6c28029fa00a59c81\">QsciLexerMatlab</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfae325b4d8dbeeb693c7b76b746ee81e81\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a2cf9c05452a47bcde418b4cf691bbcd1\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301aacabc0f11d5b649fb4b4814018fbc2d7\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb7fbac71a097f21eb72fa0133f5c705\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#ae179714d1deeef75b6e08081bc223f82a03b0ae83ccbc6a4f885418d25b4ace87\">QsciLexerSQL</a>\n</li>\n<li>SloppyBraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523a35852dc4c418589c8751dfc913abb65c\">QsciScintilla</a>\n</li>\n<li>SmallRectangle\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ad738bdaec4c29f98478434c2aad0b4a0\">QsciScintilla</a>\n</li>\n<li>smartHighlighting()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a71fd025ad904aa51a6127f43099805ad\">QsciLexerPascal</a>\n</li>\n<li>Spaces\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcac76a1a962494e9526e70eabaa648c75e\">QsciLexerPython</a>\n</li>\n<li>Special\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54ade428e04a07f3c12bc49b3894ac9f308\">QsciLexerMarkdown</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da7121480be645d8d29be82f3b71069f4c\">QsciLexerTeX</a>\n</li>\n<li>SquiggleIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a4a05171985efcac66b2a9b807cd5ca31\">QsciScintilla</a>\n</li>\n<li>SquiggleLowIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a1ab0879dfc51ea5894fcfc108f3baa59\">QsciScintilla</a>\n</li>\n<li>SquigglePixmapIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a989b84433c9f4c7a95dbb3d3802b724f\">QsciScintilla</a>\n</li>\n<li>standardCommands()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8911af504ebdc870f09da4c7a491eeeb\">QsciScintilla</a>\n</li>\n<li>StandardFunction\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ac0e0b6c72ddc65750f5f0e347a212543\">QsciLexerVHDL</a>\n</li>\n<li>StandardOperator\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a5aa1000c3189173cae05443b809e1471\">QsciLexerVHDL</a>\n</li>\n<li>StandardPackage\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a54f69bab09ed1818a5aab51fd3569531\">QsciLexerVHDL</a>\n</li>\n<li>StandardType\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300a341ea56a3223fe36e9d89157c6e3b1d5\">QsciLexerVHDL</a>\n</li>\n<li>startRecording()\n: <a class=\"el\" href=\"classQsciMacro.html#a4a5648ea6c1e35aaaa55f9aaf83e7eda\">QsciMacro</a>\n</li>\n<li>startStyling()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a19d92643c31c4ec10eab14da7c931b55\">QsciLexerCustom</a>\n</li>\n<li>Stderr\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdae0c485bc9e3025341d39501600a5221d\">QsciLexerRuby</a>\n</li>\n<li>Stdin\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdabb88fb8ac7aadad4027a14bfe2aa329b\">QsciLexerRuby</a>\n</li>\n<li>Stdout\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafda3d377471f1eb2d17957d8050ed4fdf6d\">QsciLexerRuby</a>\n</li>\n<li>StraightBoxIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aba9ac8f4ae4eaaee90be633ccb94bbf4\">QsciScintilla</a>\n</li>\n<li>StrictBraceMatch\n: <a class=\"el\" href=\"classQsciScintilla.html#ae8277ccb3a2af0ae9a1495d8f8ea0523ac95c16fe24bef36ac479b7ca282442ab\">QsciScintilla</a>\n</li>\n<li>StrikeIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974a029dfc2ae051a07911e1d1e733825e96\">QsciScintilla</a>\n</li>\n<li>StrikeOut\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a5d43deb58f0cb230bcb445b304b0127e\">QsciLexerMarkdown</a>\n</li>\n<li>String\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3ca089dbc8f4ad6daf5a64f5a3f727b9f45\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a366e071a1824dc401d8ff7adac0e5e9d\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca36b40f73931a76fb1845ddac7618c996\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa7b6c84719042446c851bcf2882bb4761\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25a351f36d3635a5f3af4815f6a74863eae\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865a9eae7fcd2dbdb17e1aeaf6eb5853a5b2\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa493689dbaca8a280da2285e1d85e8bc1\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300ad62daedcc5bd7ae90562a1f95a982f09\">QsciLexerVHDL</a>\n</li>\n<li>StringLeftQuote\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a940faa24e7d4d2fad2b1eb485fa94577\">QsciLexerCMake</a>\n</li>\n<li>StringRightQuote\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5a35e061dbf8afc0f987f10f2e17cb4ca7\">QsciLexerCMake</a>\n</li>\n<li>stringsOverNewlineAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#aa4abeabae54373d536961d0aabb5ecdf\">QsciLexerPython</a>\n</li>\n<li>StringTableMathsFunctions\n: <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25af4a7065e3246c398a68f9af4ad839eb7\">QsciLexerLua</a>\n</li>\n<li>StringVariable\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5abdf5c1c3e946ecaed431bbe352eaa8a1\">QsciLexerCMake</a>\n</li>\n<li>StrongEmphasisAsterisks\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a31fcb70a32415babac5b88241cb73623\">QsciLexerMarkdown</a>\n</li>\n<li>StrongEmphasisUnderscores\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54aaa8e9324e7aea282138de01e76f8f56c\">QsciLexerMarkdown</a>\n</li>\n<li>StutteredPageDown\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab05b31fae6958a99166222cc3efd076a\">QsciCommand</a>\n</li>\n<li>StutteredPageDownExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ad07964451843f3c910b7228dfb589857\">QsciCommand</a>\n</li>\n<li>StutteredPageUp\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a9be0a9fe5bfc0864f0f40987a4806a62\">QsciCommand</a>\n</li>\n<li>StutteredPageUpExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a26d878df5382e38843e754078aa8f44f\">QsciCommand</a>\n</li>\n<li>style()\n: <a class=\"el\" href=\"classQsciStyle.html#a61582248f6b7276db9b4a1f9582c3828\">QsciStyle</a>\n, <a class=\"el\" href=\"classQsciStyledText.html#a6a5f837ca80d54322b70aa4b8465afa1\">QsciStyledText</a>\n</li>\n<li>styleBitsNeeded()\n: <a class=\"el\" href=\"classQsciLexer.html#ab222fbddb7eb72261153d1bebb5a01ee\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerCustom.html#addc357462c04f032e20149b55cb8aeaa\">QsciLexerCustom</a>\n</li>\n<li>stylePreprocessor()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#aba02f4e299dd7f25cea762e9c21b48b2\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#ac6f508a57750605ec3b9688408b092b2\">QsciLexerCPP</a>\n</li>\n<li>styleText()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a91d71c4bdff5140ae0b0cb34b4511f79\">QsciLexerCustom</a>\n</li>\n<li>SubroutinePrototype\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9aa77b69ca726faae33472a1ff018d54af\">QsciLexerPerl</a>\n</li>\n<li>Substitution\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a3edcaf1beac4277212faf8f30c8271b9\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a56519805233273c84151d68bf400b2d9\">QsciLexerTCL</a>\n</li>\n<li>SubstitutionBrace\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8aa7072662f6d21b6077eaec2ed2ed6836\">QsciLexerTCL</a>\n</li>\n<li>SubstitutionVar\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a7c0194dff17baffd0e9592b581944fda\">QsciLexerPerl</a>\n</li>\n<li>Symbol\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a11f87d89b2ff7aae3066ae57b0addafdaf94cff4b54c0376f5c0e99ab3bf5cbee\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37da870bf45d37836b716ba1b8798f3d0805\">QsciLexerTeX</a>\n</li>\n<li>SymbolMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac77614e4b9956e3c44fface749ff6602\">QsciScintilla</a>\n</li>\n<li>SymbolMarginColor\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ac306b600646e9cf9c58cc637e76fc805\">QsciScintilla</a>\n</li>\n<li>SymbolMarginDefaultBackgroundColor\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090ad60eb277ce18f3c7baa28721ab5dc834\">QsciScintilla</a>\n</li>\n<li>SymbolMarginDefaultForegroundColor\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a0e3a004e5eebb910f8329a48e7721e03\">QsciScintilla</a>\n</li>\n<li>SymbolTable\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9adfaa14e55f48f7774f991a73f8a7fadc\">QsciLexerPerl</a>\n</li>\n<li>SyntaxErrorMarker\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649a0024c2fed82fedf931d39537f2890d52\">QsciLexerYAML</a>\n</li>\n<li>SystemTask\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa6cc28d1f75a45d11566a7f19947e4cf1\">QsciLexerVerilog</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_t.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_t\"></a>- t -</h3><ul>\n<li>Tab\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab89051fd7c64cea84abec8d21809d2ee\">QsciCommand</a>\n</li>\n<li>tabDrawMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab000e5f46abc6568405585b711067d1e\">QsciScintilla</a>\n</li>\n<li>TabDrawMode\n: <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3\">QsciScintilla</a>\n</li>\n<li>tabIndents()\n: <a class=\"el\" href=\"classQsciScintilla.html#a2a85bb9cb78ce6a57cf053dc83333759\">QsciScintilla</a>\n</li>\n<li>TabLongArrow\n: <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3a4e7561cfb578c42760c28e9f74241db9\">QsciScintilla</a>\n</li>\n<li>Tabs\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fca5be72dba23dedfc6d0b0f796c3ba163d\">QsciLexerPython</a>\n</li>\n<li>TabsAfterSpaces\n: <a class=\"el\" href=\"classQsciLexerPython.html#a84118aff26655dcc4313d26d57d5f4fcaee65363fac7fe11d24582a68c3864686\">QsciLexerPython</a>\n</li>\n<li>TabStrikeOut\n: <a class=\"el\" href=\"classQsciScintilla.html#acb9f67f141d5e81f68342e9507a308d3af47cfb4645cf89aaf9580878fa5396bd\">QsciScintilla</a>\n</li>\n<li>tabWidth()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4bca4c8ca2d5a426aabac915f8d5f0f3\">QsciScintilla</a>\n</li>\n<li>Tag\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a1f6473d0fc2f6bddc22eea9d01ea05ad\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afa28b035f2fa221ca935f976c5d7c5d0\">QsciLexerHTML</a>\n</li>\n<li>Target\n: <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a052ed29ca1c8ceece8d01376e2c05129\">QsciLexerMakefile</a>\n</li>\n<li>TaskMarker\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a258224273023ab8c9504dd8a8efcad6c\">QsciLexerCPP</a>\n</li>\n<li>TCLKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a573bd1485068b767dda643d3201fb5a1\">QsciLexerTCL</a>\n</li>\n<li>Text\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#a129e6281661808e7d4d53025706abc77ad763c4ea8a19d8fc4ce9eb9297b8bcb2\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a8371a0c49e42104a95083a81dcafa37dadb01f6480e4306630d190016cf38bb58\">QsciLexerTeX</a>\n</li>\n<li>text()\n: <a class=\"el\" href=\"classQsciScintilla.html#af76ffea29540b830aebdf62a00a5e90d\">QsciScintilla</a>\n, <a class=\"el\" href=\"classQsciStyledText.html#a526eff4f40349af1913dd4cfa3464131\">QsciStyledText</a>\n</li>\n<li>TextBlockMarker\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a2040d5fd458e04fedb7892cd322e1649abd37b98004840ba4f31853e6ec18fa86\">QsciLexerYAML</a>\n</li>\n<li>textCase()\n: <a class=\"el\" href=\"classQsciStyle.html#a16212f9f46162f67ece3ed6423207785\">QsciStyle</a>\n</li>\n<li>TextCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609\">QsciStyle</a>\n</li>\n<li>textChanged()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8696968d0a32b07bfc77fb0701c5bf62\">QsciScintilla</a>\n</li>\n<li>TextColorIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab2245f80f3cbb9a114fc4dddd7f004e2\">QsciScintilla</a>\n</li>\n<li>textHeight()\n: <a class=\"el\" href=\"classQsciScintilla.html#af1651b676dd24c8768a90b829400a6cf\">QsciScintilla</a>\n</li>\n<li>TextMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a067796489486bcc1573cb0951a4199a9\">QsciScintilla</a>\n</li>\n<li>TextMarginRightJustified\n: <a class=\"el\" href=\"classQsciScintilla.html#aedab060e87e0533083ea8f1398302090a7445fe74d90bd62eceb5311b1f7f52fc\">QsciScintilla</a>\n</li>\n<li>ThickCompositionIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974affa2d89915d3958c0938d55a17c6afb7\">QsciScintilla</a>\n</li>\n<li>ThinCompositionIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ad602bf60625109aecfce418a5e37b1e7\">QsciScintilla</a>\n</li>\n<li>ThreeDots\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ade6443defea98e4663e396785393fa20\">QsciScintilla</a>\n</li>\n<li>ThreeRightArrows\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496ae40bc43f021c051ae9d3dc8bb0cc4a04\">QsciScintilla</a>\n</li>\n<li>TkCommand\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8a1bf59ca4e6d1204ef32722d09890dff0\">QsciLexerTCL</a>\n</li>\n<li>TkKeyword\n: <a class=\"el\" href=\"classQsciLexerTCL.html#a25ac7663e96a6d6da069a3d6697706c8ace310f4d3487840abe7a4c2a4a0a50b8\">QsciLexerTCL</a>\n</li>\n<li>tokenize()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#ade1a77293facd468100a7c023dedcacc\">QsciLexerPostScript</a>\n</li>\n<li>toMimeData()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a7e1e146787204eba48aa5376287de41f\">QsciScintillaBase</a>\n</li>\n<li>Translation\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a69516e9f701fceec0231cc3050b41da9a84d882c68a32f9eefcfc6ad3ff953c6e\">QsciLexerPerl</a>\n</li>\n<li>TriangleCharacterIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974ab1d6bb2b94362ebcd6e8388f8812e3f4\">QsciScintilla</a>\n</li>\n<li>TriangleIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974aaade48e18985d23630c6178148bf1c8d\">QsciScintilla</a>\n</li>\n<li>TripleDoubleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad1142de6be72ec89e7ce114412c97f2e\">QsciLexerPython</a>\n</li>\n<li>TripleDoubleQuotedString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a1495ec67c855b00c949a8bd8672aa1bc\">QsciLexerPython</a>\n</li>\n<li>TripleQuotedVerbatimString\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a68d65b20c3cd1c04f46914904bc9277c\">QsciLexerCPP</a>\n</li>\n<li>TripleSingleQuotedFString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301a25b848383c93ca55b77d6ef1cc6b0fbf\">QsciLexerPython</a>\n</li>\n<li>TripleSingleQuotedString\n: <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ad85722ad55aee4bf1966db4a7cfd2b32\">QsciLexerPython</a>\n</li>\n<li>TripleString\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a97b5e23dfd7e31204d054c97f8522a3cadfef00dbe2a706f7571b769d872ea877\">QsciLexerAVS</a>\n</li>\n<li>TTIndicator\n: <a class=\"el\" href=\"classQsciScintilla.html#a3333f3a47163153c1bd7db1a362b8974af3054c8db19f828df05ac08221c5462e\">QsciScintilla</a>\n</li>\n<li>Typedefs\n: <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca066688031c2850c809c6e78751600f24\">QsciLexerD</a>\n</li>\n<li>TypesModifiersItems\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865ab4fc4fd29a371a49c534a75dc1bc55ee\">QsciLexerPOV</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_u.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_u\"></a>- u -</h3><ul>\n<li>UNASegmentHeader\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88a67f04037636b9bf5c23185918ecbf23c\">QsciLexerEDIFACT</a>\n</li>\n<li>UnclosedString\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8ad66f62da8384e226b3c0e33455d93bd4\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a7aae8e724d5fcbbca68f3e7f97460721\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a28ee24ad206c9acbcd2901f9b64faf4ca2f341004504fd3e8154b64e90090a5ca\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#aeb3260480e9b88f6e465b1bd1bcca0c7aa71f5be61269817522b0ef8de27bff1f\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ae663f0d422d93ebde5347086be37248fa0cfad0410b6763f5b5ff6763da3fb387\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#a34427b01d36d42008727d7cdc41d8d25afcd79271430a9af1fba6b94ee41cdf38\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a0c7562ea6d7a9d8a794daf47228c22dfa19098093aa64ac0fdca24cacb30983cf\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a3ab9a4de5f6885945d3d780142501865adcae9bdc3f27f2791e7b6a0608fcd6f2\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a53a5337d46bed7e115df4be1d344f301ac5ef1d9860f88a3f84521ff88dca3878\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baaf996ceeff4869191f640d2dc18d7c016\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#aab5145bfdabbf4713c171f037424d300af2479b7be15f744baac9ef19fa7bfc7e\">QsciLexerVHDL</a>\n</li>\n<li>Underline\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496a9a42de7d5678b0e92ed7f07ef1b9887f\">QsciScintilla</a>\n</li>\n<li>Undo\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0089e5295b999464b699fb736a449b4f\">QsciCommand</a>\n</li>\n<li>undo()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0128aae31e7d02fa580b55c9675d66e9\">QsciScintilla</a>\n</li>\n<li>UNHSegmentHeader\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a5b0c61756ec9e9987be5d83bdeb18d88aef15dd60ea1b00583c397d3a5a915e4f\">QsciLexerEDIFACT</a>\n</li>\n<li>unindent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a99fe632cb2613a0bac2ffb77c571c647\">QsciScintilla</a>\n</li>\n<li>UnknownAttribute\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afb566349f4b55ff5c95812b855b62b1d\">QsciLexerHTML</a>\n</li>\n<li>UnknownProperty\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0af3110ffc53b23fa5dbe17151dc7a5e75\">QsciLexerCSS</a>\n</li>\n<li>UnknownPseudoClass\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0a6ae93503184d2ba66879daeefaeb4b23\">QsciLexerCSS</a>\n</li>\n<li>UnknownTag\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aba4bf36f07a8e903ca72edd28a3f0a72\">QsciLexerHTML</a>\n</li>\n<li>UnorderedListItem\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#ad09694087faec9ff4f49ff5cc3388e54a4dee86f709fab3714e84cadbb9f6c4a3\">QsciLexerMarkdown</a>\n</li>\n<li>updateAutoCompletionList()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a62a50642b0b058016ed2fdf0922bdee8\">QsciAbstractAPIs</a>\n, <a class=\"el\" href=\"classQsciAPIs.html#ab0f824492bb0f3ca54edb4d46945a3de\">QsciAPIs</a>\n</li>\n<li>UpperCase\n: <a class=\"el\" href=\"classQsciStyle.html#a4a0e012717bb1fd68de03209260a0609aeb98b8f24b317cec7c271fd337185e75\">QsciStyle</a>\n</li>\n<li>UserKeywordSet\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#af0b4c89d35f5e39bcb7c5b25a6c3c7baa080431ca218b5ae5653c49c9caf55727\">QsciLexerVerilog</a>\n</li>\n<li>userListActivated()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9261ce8b2aa1dda886e5259fbd6b8712\">QsciScintilla</a>\n</li>\n<li>UserLiteral\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3043c7ad432f1e77406554dcab6f9e0f\">QsciLexerCPP</a>\n</li>\n<li>UUID\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a063d7d591aa18ae40fcde793e1be1f01\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1a3ce80212372e40f2ed903c52297f48c7\">QsciLexerCPP</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_v.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_v\"></a>- v -</h3><ul>\n<li>v2UnicodeAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#add088b1bd36b0d5eb0f3b87e403cec10\">QsciLexerPython</a>\n</li>\n<li>v3BinaryOctalAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a02ad644d3bc229939e57d5e9f665a6b9\">QsciLexerPython</a>\n</li>\n<li>v3BytesAllowed()\n: <a class=\"el\" href=\"classQsciLexerPython.html#a67308885b201ef6e21f0a273bf0b3c31\">QsciLexerPython</a>\n</li>\n<li>validKey()\n: <a class=\"el\" href=\"classQsciCommand.html#aeb517d586cb9569d072fcd8a9658911b\">QsciCommand</a>\n</li>\n<li>Value\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0acdf1ff5843500ebbfe209bff6c0e4370\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerSpice.html#a99b1b104224cab9d85ef6cf254ae631bab60e5eb1f93052950f0c913b91cacc73\">QsciLexerSpice</a>\n</li>\n<li>Variable\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a2e13faf432e7c61bee9cbe433b7451f4ad471bc2288e75b3f82a290f0e143c5f4\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a66895a601b7ef292c78a2ad73305cde5ac5108d9ae30f7b74ce6c621f69531e6e\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a8f38d12d56564b95f6f1f6b1834ca3e0ab7b8d54656b8a5eb94be142ad027f672\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a77e8da2d368723364f5e2df432ce7874a58d72990db11b97d2dd8dbd8124f8386\">QsciLexerMakefile</a>\n</li>\n<li>VBScriptComment\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a48028a0028e6c185c8c0a8b3310374ee\">QsciLexerHTML</a>\n</li>\n<li>VBScriptDefault\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5da6af0b230ed6209c2ed48574369ae3\">QsciLexerHTML</a>\n</li>\n<li>VBScriptIdentifier\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aa8f04375ef50150287dcee5c24bcf285\">QsciLexerHTML</a>\n</li>\n<li>VBScriptKeyword\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a5e5579413c3b931481d5881a18bc9e38\">QsciLexerHTML</a>\n</li>\n<li>VBScriptNumber\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a71776167656c34320c2c9fc85e8ea33d\">QsciLexerHTML</a>\n</li>\n<li>VBScriptStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42aff0c53aa932f6d2150ae3605c686a363\">QsciLexerHTML</a>\n</li>\n<li>VBScriptString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42a9a3c32775ad47d14eaa8bdb270ce722e\">QsciLexerHTML</a>\n</li>\n<li>VBScriptUnclosedString\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afe0d2ae2c61751803669067cdb62d4de\">QsciLexerHTML</a>\n</li>\n<li>VCHome\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac443339cd46d0646cd97870506e91110\">QsciCommand</a>\n</li>\n<li>VCHomeExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1e0ff1255da4ea0a77750d55a9aaaef4\">QsciCommand</a>\n</li>\n<li>VCHomeRectExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7adbf224a91e83518a244bb5a726c69bed\">QsciCommand</a>\n</li>\n<li>VCHomeWrap\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7affdd507c7e4221726f980f95910ed5a5\">QsciCommand</a>\n</li>\n<li>VCHomeWrapExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7af1db27f7f04534cc2071e71c422e4a45\">QsciCommand</a>\n</li>\n<li>VerbatimString\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a3e2bfca47ca0666b7acb6a451d203fa8a6f653903645cf19e5ea1c7e870ae9efb\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a30c13b0ea8b55b3204ea4e9f49a313b1afb3585e07f994345f2c21f43f7e2ec1a\">QsciLexerCPP</a>\n</li>\n<li>verbatimStringEscapeSequencesAllowed()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#a20439ec93f1af6b8227bdcd48a6070ec\">QsciLexerCPP</a>\n</li>\n<li>VerticalCentreCaret\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a593083e106606bf5fb3d2322068c455f\">QsciCommand</a>\n</li>\n<li>VerticalLine\n: <a class=\"el\" href=\"classQsciScintilla.html#a08467ef528d3048db763979f42664496acca6c5051d9438d75b757aaf5a0a6ab6\">QsciScintilla</a>\n</li>\n<li>visible()\n: <a class=\"el\" href=\"classQsciStyle.html#a0fd0947a87e3bf43720227b8226b3edd\">QsciStyle</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_w.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_w\"></a>- w -</h3><ul>\n<li>wheelEvent()\n: <a class=\"el\" href=\"classQsciScintilla.html#a9daa92535de2f43e4c04305007ce5475\">QsciScintilla</a>\n</li>\n<li>whitespaceSize()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0b527097e38858853ea2ac5861278233\">QsciScintilla</a>\n</li>\n<li>WhitespaceVisibility\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07b\">QsciScintilla</a>\n</li>\n<li>whitespaceVisibility()\n: <a class=\"el\" href=\"classQsciScintilla.html#a778c09295bdb4924aacf40d3134c50ba\">QsciScintilla</a>\n</li>\n<li>wordAtLineIndex()\n: <a class=\"el\" href=\"classQsciScintilla.html#a70c1bd30a1d26b2e059236a4b2835c44\">QsciScintilla</a>\n</li>\n<li>wordAtPoint()\n: <a class=\"el\" href=\"classQsciScintilla.html#abeaabcd8076d1f47e8a847006451ce36\">QsciScintilla</a>\n</li>\n<li>wordCharacters()\n: <a class=\"el\" href=\"classQsciLexer.html#aace68e3dbcef9da1b031fb9cfd843c57\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#aef65e35b32701f0a15d8c2687c20516a\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a65ab592afff78804f6487dd7badd00cf\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerBatch.html#a93f46567c5b91d993387d2ba033f2030\">QsciLexerBatch</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#a2e5910796ca5a3f369258718bb75c1d8\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a822ca7489c4655f26bc72ed127285d8a\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#a7cbe39118747739dd557df191c91db0c\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a0436f412bb6c83fe195ea2eb3c058154\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerDiff.html#a6a4b4099b20109442416e2bd8309b494\">QsciLexerDiff</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ad12b328c98474857186af058726bd38d\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerMakefile.html#a9e2c6ee91938aad61cfb7304de571bd4\">QsciLexerMakefile</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a5ffd80ff37350acb6fe03f798f34a912\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#aa45fd60cb7c2db5c88b5708f481dd6e2\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a61d706ce1554474fd54fe07359612814\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#a1ba78d98f1f2a18338782acbeb73d22e\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#abb1544042444a8147123b5597e096ea2\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciScintilla.html#a1052b3e64558fe29271c0829e6d0fdda\">QsciScintilla</a>\n</li>\n<li>WordLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7aec027d50c71ee8604872c5cc839250cd\">QsciCommand</a>\n</li>\n<li>WordLeftEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac3e19af04d3083f26408dcb6ad3c73b7\">QsciCommand</a>\n</li>\n<li>WordLeftEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ab2f7d005b37a7b61964e456b26d4a3f6\">QsciCommand</a>\n</li>\n<li>WordLeftExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5b4b9629de523b97fcbad43c21dc37bb\">QsciCommand</a>\n</li>\n<li>WordPartLeft\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac1b4586de16ecd614e34d98c7ca360ec\">QsciCommand</a>\n</li>\n<li>WordPartLeftExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a0e5436d5c8bd4e42f0e542cbb852645d\">QsciCommand</a>\n</li>\n<li>WordPartRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a78c1a79cb762dc96072ef5bc1d90b20b\">QsciCommand</a>\n</li>\n<li>WordPartRightExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1ad48872dc33ca01b0502594c6dd6df1\">QsciCommand</a>\n</li>\n<li>WordRight\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a8e61252df5bfefd5081d9cb4170844d3\">QsciCommand</a>\n</li>\n<li>WordRightEnd\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a1099ee8200e0d0799a2721ff9828fe48\">QsciCommand</a>\n</li>\n<li>WordRightEndExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a455d6eda859feb8aed088f22587d5aa3\">QsciCommand</a>\n</li>\n<li>WordRightExtend\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ac69665982f4477d00509573ceea8a8f3\">QsciCommand</a>\n</li>\n<li>WrapCharacter\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a2bfc1bf41df6a56d925f3c369822435e\">QsciScintilla</a>\n</li>\n<li>WrapFlagByBorder\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a690a08e6da3622e6f101fe67ca914816\">QsciScintilla</a>\n</li>\n<li>WrapFlagByText\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478ab86cea167b725bddc0ad9f677bcf3120\">QsciScintilla</a>\n</li>\n<li>WrapFlagInMargin\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a0b40cb40f72cd10104a75c84ae809211\">QsciScintilla</a>\n</li>\n<li>WrapFlagNone\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478a2a3d02013e9e15f31413c12668824472\">QsciScintilla</a>\n</li>\n<li>WrapIndentDeeplyIndented\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03aa2d7362610a92c58aa764a1df8914146\">QsciScintilla</a>\n</li>\n<li>WrapIndentFixed\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a041dc048521b889bf1db274546d0f562\">QsciScintilla</a>\n</li>\n<li>WrapIndentIndented\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03a0cb2a2ef379ad02b388a08880a624f2b\">QsciScintilla</a>\n</li>\n<li>WrapIndentMode\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03\">QsciScintilla</a>\n</li>\n<li>wrapIndentMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a8b593f92c03b3d6f999cd9d769c5028b\">QsciScintilla</a>\n</li>\n<li>WrapIndentSame\n: <a class=\"el\" href=\"classQsciScintilla.html#a59b529ccfcb1f7896efb523025371a03ab9cc585fd0eb9a14e0f8c7d9389656e8\">QsciScintilla</a>\n</li>\n<li>wrapMode()\n: <a class=\"el\" href=\"classQsciPrinter.html#ad67d67c266263dd2dbfe940b4ad98584\">QsciPrinter</a>\n</li>\n<li>WrapMode\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42\">QsciScintilla</a>\n</li>\n<li>wrapMode()\n: <a class=\"el\" href=\"classQsciScintilla.html#a4bf424d21079ab835dae90ce042400a0\">QsciScintilla</a>\n</li>\n<li>WrapNone\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42a8005165822ca83fced05329d4d5b1964\">QsciScintilla</a>\n</li>\n<li>WrapVisualFlag\n: <a class=\"el\" href=\"classQsciScintilla.html#ac4d1c67938c75806b2c139d0779d0478\">QsciScintilla</a>\n</li>\n<li>WrapWhitespace\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42ae04a9e56dd933f834facd3cda30bb9ff\">QsciScintilla</a>\n</li>\n<li>WrapWord\n: <a class=\"el\" href=\"classQsciScintilla.html#a7081c7ff25b5f6bd5b3a6cbd478a9f42aeb6fe909aad13c04aab01c9c216ac2ec\">QsciScintilla</a>\n</li>\n<li>write()\n: <a class=\"el\" href=\"classQsciScintilla.html#a94b8329c4259ea90a6a28b1e745837de\">QsciScintilla</a>\n</li>\n<li>writeProperties()\n: <a class=\"el\" href=\"classQsciLexer.html#abccc4e010b724df1a7b5c5f3bce29501\">QsciLexer</a>\n, <a class=\"el\" href=\"classQsciLexerAVS.html#a6b8fc8bf46c22c3efafd92179b644788\">QsciLexerAVS</a>\n, <a class=\"el\" href=\"classQsciLexerBash.html#a490932b0c83bf7e4048c590565d6a32d\">QsciLexerBash</a>\n, <a class=\"el\" href=\"classQsciLexerCMake.html#a0e2e832caa9adddace3085ebfa582948\">QsciLexerCMake</a>\n, <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#af2acfd7b7a9012577aed90f136ad3fb1\">QsciLexerCoffeeScript</a>\n, <a class=\"el\" href=\"classQsciLexerCPP.html#a46bd37b48e91903451ab59314448f322\">QsciLexerCPP</a>\n, <a class=\"el\" href=\"classQsciLexerCSS.html#ac70e03bceba5de91104b85edd00e1a68\">QsciLexerCSS</a>\n, <a class=\"el\" href=\"classQsciLexerD.html#a4d8069f6efaeba7c4fa810630bed2e2e\">QsciLexerD</a>\n, <a class=\"el\" href=\"classQsciLexerFortran77.html#a6ba40887a94b7f9fe807545eed4f7c83\">QsciLexerFortran77</a>\n, <a class=\"el\" href=\"classQsciLexerHTML.html#ae6e6be4b076718026d027629b28faba6\">QsciLexerHTML</a>\n, <a class=\"el\" href=\"classQsciLexerJSON.html#ac4001660bfa52216fe475f84e2ce9d77\">QsciLexerJSON</a>\n, <a class=\"el\" href=\"classQsciLexerLua.html#af0fffa0361bad4a3a007c09a1811db9c\">QsciLexerLua</a>\n, <a class=\"el\" href=\"classQsciLexerPascal.html#a6a5b21a2ba8b43a2f6b3747af365156f\">QsciLexerPascal</a>\n, <a class=\"el\" href=\"classQsciLexerPerl.html#a16841e0262d8200d5ed3a85099d45b37\">QsciLexerPerl</a>\n, <a class=\"el\" href=\"classQsciLexerPO.html#afebea3d6f2a2cffcb8be859c99c2cede\">QsciLexerPO</a>\n, <a class=\"el\" href=\"classQsciLexerPostScript.html#a0fc741a415b0419464afa66deb2b9e5d\">QsciLexerPostScript</a>\n, <a class=\"el\" href=\"classQsciLexerPOV.html#a99f8420666e55b23980d05903e7eebc3\">QsciLexerPOV</a>\n, <a class=\"el\" href=\"classQsciLexerProperties.html#a19a63e47d6b872b510d99d46abb2230f\">QsciLexerProperties</a>\n, <a class=\"el\" href=\"classQsciLexerPython.html#a8921849dce20c65c0fc024bc27255873\">QsciLexerPython</a>\n, <a class=\"el\" href=\"classQsciLexerRuby.html#af187d6973df01f3f704b181a446ea2f5\">QsciLexerRuby</a>\n, <a class=\"el\" href=\"classQsciLexerSQL.html#a338a09c79011b57a842c581aa2556b4c\">QsciLexerSQL</a>\n, <a class=\"el\" href=\"classQsciLexerTCL.html#a65a8d0928d9f04584972410a5af82888\">QsciLexerTCL</a>\n, <a class=\"el\" href=\"classQsciLexerTeX.html#aab7c86d0058b7c8541b0fc7be043f902\">QsciLexerTeX</a>\n, <a class=\"el\" href=\"classQsciLexerVerilog.html#a97b418522a5866d04d9553931dd1c7f4\">QsciLexerVerilog</a>\n, <a class=\"el\" href=\"classQsciLexerVHDL.html#a0ed58ff3726deb2215eaff2c1892bc9b\">QsciLexerVHDL</a>\n, <a class=\"el\" href=\"classQsciLexerXML.html#a1cf58cba78405397f793b6a9aff64035\">QsciLexerXML</a>\n, <a class=\"el\" href=\"classQsciLexerYAML.html#adc63ea477a2869f4ea9f1b3fe69d56fb\">QsciLexerYAML</a>\n</li>\n<li>writeSettings()\n: <a class=\"el\" href=\"classQsciCommandSet.html#a7933fbb5a8b5cb234c4e48b472adc4a3\">QsciCommandSet</a>\n, <a class=\"el\" href=\"classQsciLexer.html#a619ee93cb512755e3f946fe61ee097de\">QsciLexer</a>\n</li>\n<li>WsInvisible\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba994f4bd1f6121045ed81ea991bc97977\">QsciScintilla</a>\n</li>\n<li>WsVisible\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07bab8e171675f00912460e07c79793dc878\">QsciScintilla</a>\n</li>\n<li>WsVisibleAfterIndent\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba6f5e479444e170f8eabb37e2b2261daa\">QsciScintilla</a>\n</li>\n<li>WsVisibleOnlyInIndent\n: <a class=\"el\" href=\"classQsciScintilla.html#ab83469cc9550eadcd5d4e8ca3d20d07ba4908a41a9a5b8994ccae0a1441fbc07c\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_x.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_x\"></a>- x -</h3><ul>\n<li>XMLEnd\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ae25dbca1f292ccf5aa82a63d84aa22f9\">QsciLexerHTML</a>\n</li>\n<li>XMLStart\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42afd21b87183c742cc1a3538cf8d28ce68\">QsciLexerHTML</a>\n</li>\n<li>XMLTagEnd\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af11a926b7f7329c39f6c029fec89ea42ac9f00cd2c221a620326432b65b2ece95\">QsciLexerHTML</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_z.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index_z\"></a>- z -</h3><ul>\n<li>ZoomIn\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7a5e12affbccb0a63c1bd78ca5617b0289\">QsciCommand</a>\n</li>\n<li>zoomIn()\n: <a class=\"el\" href=\"classQsciScintilla.html#afb98254d553128ba4ebf6151a496679f\">QsciScintilla</a>\n</li>\n<li>ZoomOut\n: <a class=\"el\" href=\"classQsciCommand.html#aeaecb067c0834ba132e204a09dd942c7ae5d11d096795f1a1c7b4d56e41c9b1af\">QsciCommand</a>\n</li>\n<li>zoomOut()\n: <a class=\"el\" href=\"classQsciScintilla.html#a0c7c970d275176f678a86e46f5e2d07d\">QsciScintilla</a>\n</li>\n<li>zoomTo()\n: <a class=\"el\" href=\"classQsciScintilla.html#ab33ae790e43f4b856e44d202b9b3ce07\">QsciScintilla</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/functions_~.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Members</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all documented class members with links to the class documentation for each member:</div>\n\n<h3><a id=\"index__7E\"></a>- ~ -</h3><ul>\n<li>~QsciAbstractAPIs()\n: <a class=\"el\" href=\"classQsciAbstractAPIs.html#a7ef866227b05482cb32c70b44e8bdec1\">QsciAbstractAPIs</a>\n</li>\n<li>~QsciAPIs()\n: <a class=\"el\" href=\"classQsciAPIs.html#a07bc73b7a67f8f405578992bae29528c\">QsciAPIs</a>\n</li>\n<li>~QsciLexer()\n: <a class=\"el\" href=\"classQsciLexer.html#af6cc5bb9d9421d806e9941d018030068\">QsciLexer</a>\n</li>\n<li>~QsciLexerAVS()\n: <a class=\"el\" href=\"classQsciLexerAVS.html#a3f758c9ddd617ab1eb870d0eb20877d5\">QsciLexerAVS</a>\n</li>\n<li>~QsciLexerBash()\n: <a class=\"el\" href=\"classQsciLexerBash.html#a7af6a9822a535e06a6874db0b73c2efd\">QsciLexerBash</a>\n</li>\n<li>~QsciLexerBatch()\n: <a class=\"el\" href=\"classQsciLexerBatch.html#a5fbcc10c345a43e51a6042919a9d30c4\">QsciLexerBatch</a>\n</li>\n<li>~QsciLexerCMake()\n: <a class=\"el\" href=\"classQsciLexerCMake.html#a7ca16327ee98a2e0dc3a59b2f745d778\">QsciLexerCMake</a>\n</li>\n<li>~QsciLexerCoffeeScript()\n: <a class=\"el\" href=\"classQsciLexerCoffeeScript.html#ab7715c2c90861e2601587b8a3a6732fd\">QsciLexerCoffeeScript</a>\n</li>\n<li>~QsciLexerCPP()\n: <a class=\"el\" href=\"classQsciLexerCPP.html#ab9babc165bacf53b73abfb2d5d1aadad\">QsciLexerCPP</a>\n</li>\n<li>~QsciLexerCSharp()\n: <a class=\"el\" href=\"classQsciLexerCSharp.html#a3b06123388fb6a56432819a4dfb30f2c\">QsciLexerCSharp</a>\n</li>\n<li>~QsciLexerCSS()\n: <a class=\"el\" href=\"classQsciLexerCSS.html#a377ab8d8a44c7fff2f355cc8ed45e611\">QsciLexerCSS</a>\n</li>\n<li>~QsciLexerCustom()\n: <a class=\"el\" href=\"classQsciLexerCustom.html#a3a6b7f17d604db4e06e0d469b55b7602\">QsciLexerCustom</a>\n</li>\n<li>~QsciLexerD()\n: <a class=\"el\" href=\"classQsciLexerD.html#a37506e7f15691f73445422beb341e750\">QsciLexerD</a>\n</li>\n<li>~QsciLexerDiff()\n: <a class=\"el\" href=\"classQsciLexerDiff.html#ae3deccb74fbb24c32621e70d0e94355a\">QsciLexerDiff</a>\n</li>\n<li>~QsciLexerEDIFACT()\n: <a class=\"el\" href=\"classQsciLexerEDIFACT.html#a493b8afa5100c40153aac6f74c78ffa8\">QsciLexerEDIFACT</a>\n</li>\n<li>~QsciLexerFortran()\n: <a class=\"el\" href=\"classQsciLexerFortran.html#a43b721afc8c7b33c5c0699ff9da7d1c7\">QsciLexerFortran</a>\n</li>\n<li>~QsciLexerFortran77()\n: <a class=\"el\" href=\"classQsciLexerFortran77.html#ac631b370fc57344197a5dda058c16461\">QsciLexerFortran77</a>\n</li>\n<li>~QsciLexerHTML()\n: <a class=\"el\" href=\"classQsciLexerHTML.html#af031b3510193023158fb74ca637f79b2\">QsciLexerHTML</a>\n</li>\n<li>~QsciLexerIDL()\n: <a class=\"el\" href=\"classQsciLexerIDL.html#ad8a83d778cced2584c895d2b9b07c33b\">QsciLexerIDL</a>\n</li>\n<li>~QsciLexerJava()\n: <a class=\"el\" href=\"classQsciLexerJava.html#a76f547a0431bb391a89efd764eb337c7\">QsciLexerJava</a>\n</li>\n<li>~QsciLexerJavaScript()\n: <a class=\"el\" href=\"classQsciLexerJavaScript.html#a8a99f91287ee998375f84c7a2467b0ff\">QsciLexerJavaScript</a>\n</li>\n<li>~QsciLexerJSON()\n: <a class=\"el\" href=\"classQsciLexerJSON.html#a07a738771d1dd29aaae584944cf6d637\">QsciLexerJSON</a>\n</li>\n<li>~QsciLexerLua()\n: <a class=\"el\" href=\"classQsciLexerLua.html#adbeb88fef8346b6543d6ef8b2154e763\">QsciLexerLua</a>\n</li>\n<li>~QsciLexerMakefile()\n: <a class=\"el\" href=\"classQsciLexerMakefile.html#a0b10a59a79011e968a1ef9512d41c3d6\">QsciLexerMakefile</a>\n</li>\n<li>~QsciLexerMarkdown()\n: <a class=\"el\" href=\"classQsciLexerMarkdown.html#a5372d959cc774781c7271334b2c61b4f\">QsciLexerMarkdown</a>\n</li>\n<li>~QsciLexerMatlab()\n: <a class=\"el\" href=\"classQsciLexerMatlab.html#a66c17910b9d9171d786b7c76b17276c5\">QsciLexerMatlab</a>\n</li>\n<li>~QsciLexerOctave()\n: <a class=\"el\" href=\"classQsciLexerOctave.html#ac0e8c0dfab0ae3c0b076c21d30fccc5f\">QsciLexerOctave</a>\n</li>\n<li>~QsciLexerPascal()\n: <a class=\"el\" href=\"classQsciLexerPascal.html#a6ec94de07f31c33a6b08c297259e6b01\">QsciLexerPascal</a>\n</li>\n<li>~QsciLexerPerl()\n: <a class=\"el\" href=\"classQsciLexerPerl.html#a6f87282ec40dbc5e752dc0bc0aec87a0\">QsciLexerPerl</a>\n</li>\n<li>~QsciLexerPO()\n: <a class=\"el\" href=\"classQsciLexerPO.html#adfdd8ebdf8346a62055922065c5c3863\">QsciLexerPO</a>\n</li>\n<li>~QsciLexerPostScript()\n: <a class=\"el\" href=\"classQsciLexerPostScript.html#aa5f12cd587bf1b8db68813601cb57e5b\">QsciLexerPostScript</a>\n</li>\n<li>~QsciLexerPOV()\n: <a class=\"el\" href=\"classQsciLexerPOV.html#a920953f5bde920bb22e853fc5aa6ef8d\">QsciLexerPOV</a>\n</li>\n<li>~QsciLexerProperties()\n: <a class=\"el\" href=\"classQsciLexerProperties.html#a34578c60a0d404116a5017ff454477f5\">QsciLexerProperties</a>\n</li>\n<li>~QsciLexerPython()\n: <a class=\"el\" href=\"classQsciLexerPython.html#abf0e76eca3bc604650cc20d4fc110c7f\">QsciLexerPython</a>\n</li>\n<li>~QsciLexerRuby()\n: <a class=\"el\" href=\"classQsciLexerRuby.html#a4fe52167ba709a506391026615d0ef7b\">QsciLexerRuby</a>\n</li>\n<li>~QsciLexerSpice()\n: <a class=\"el\" href=\"classQsciLexerSpice.html#af9821d4ad823bc0840178c6fb9ab7a1d\">QsciLexerSpice</a>\n</li>\n<li>~QsciLexerSQL()\n: <a class=\"el\" href=\"classQsciLexerSQL.html#a0afd856aa4add375643659eace2238fa\">QsciLexerSQL</a>\n</li>\n<li>~QsciLexerTCL()\n: <a class=\"el\" href=\"classQsciLexerTCL.html#aa4e0b16ffd568f44be50375e0572011c\">QsciLexerTCL</a>\n</li>\n<li>~QsciLexerTeX()\n: <a class=\"el\" href=\"classQsciLexerTeX.html#a9912a293e50e75adc23a532b352a57ea\">QsciLexerTeX</a>\n</li>\n<li>~QsciLexerVerilog()\n: <a class=\"el\" href=\"classQsciLexerVerilog.html#a7fd3e6c1faee7c7986db2ec4c0b793ae\">QsciLexerVerilog</a>\n</li>\n<li>~QsciLexerVHDL()\n: <a class=\"el\" href=\"classQsciLexerVHDL.html#aab4dd4635d954113eecb698c46395d0b\">QsciLexerVHDL</a>\n</li>\n<li>~QsciLexerXML()\n: <a class=\"el\" href=\"classQsciLexerXML.html#a89f9fc2c333d559ed9489cc6b121b91e\">QsciLexerXML</a>\n</li>\n<li>~QsciLexerYAML()\n: <a class=\"el\" href=\"classQsciLexerYAML.html#a90fcdb3295720e3bdcf3d04dae4ae0c9\">QsciLexerYAML</a>\n</li>\n<li>~QsciMacro()\n: <a class=\"el\" href=\"classQsciMacro.html#a17533fc70491bd7752d4a8ead5facf01\">QsciMacro</a>\n</li>\n<li>~QsciPrinter()\n: <a class=\"el\" href=\"classQsciPrinter.html#a9c7747919e355a885d6ebb4b0d0dc619\">QsciPrinter</a>\n</li>\n<li>~QsciScintilla()\n: <a class=\"el\" href=\"classQsciScintilla.html#abb3418e72ca4479b276276d652048461\">QsciScintilla</a>\n</li>\n<li>~QsciScintillaBase()\n: <a class=\"el\" href=\"classQsciScintillaBase.html#a965242ee4392b838cc182c823de54ff6\">QsciScintillaBase</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/hierarchy.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: Class Hierarchy</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">Class Hierarchy</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<div class=\"textblock\">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class=\"directory\">\n<div class=\"levels\">[detail level <span onclick=\"javascript:toggleLevel(1);\">1</span><span onclick=\"javascript:toggleLevel(2);\">2</span><span onclick=\"javascript:toggleLevel(3);\">3</span><span onclick=\"javascript:toggleLevel(4);\">4</span>]</div><table class=\"directory\">\n<tr id=\"row_0_\" class=\"even\"><td class=\"entry\"><span style=\"width:0px;display:inline-block;\">&#160;</span><span id=\"arr_0_\" class=\"arrow\" onclick=\"toggleFolder('0_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><b>QAbstractScrollArea</b></td><td class=\"desc\"></td></tr>\n<tr id=\"row_0_0_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span id=\"arr_0_0_\" class=\"arrow\" onclick=\"toggleFolder('0_0_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciScintillaBase.html\" target=\"_self\">QsciScintillaBase</a></td><td class=\"desc\">Implements the Scintilla editor widget and its low-level API </td></tr>\n<tr id=\"row_0_0_0_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciScintilla.html\" target=\"_self\">QsciScintilla</a></td><td class=\"desc\">Implements a higher level, more Qt-like, API to the Scintilla editor widget </td></tr>\n<tr id=\"row_1_\"><td class=\"entry\"><span style=\"width:0px;display:inline-block;\">&#160;</span><span id=\"arr_1_\" class=\"arrow\" onclick=\"toggleFolder('1_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><b>QObject</b></td><td class=\"desc\"></td></tr>\n<tr id=\"row_1_0_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span id=\"arr_1_0_\" class=\"arrow\" onclick=\"toggleFolder('1_0_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciAbstractAPIs.html\" target=\"_self\">QsciAbstractAPIs</a></td><td class=\"desc\">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 </td></tr>\n<tr id=\"row_1_0_0_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciAPIs.html\" target=\"_self\">QsciAPIs</a></td><td class=\"desc\">Provies an implementation of the textual API information used in call tips and for auto-completion </td></tr>\n<tr id=\"row_1_1_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span id=\"arr_1_1_\" class=\"arrow\" onclick=\"toggleFolder('1_1_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexer.html\" target=\"_self\">QsciLexer</a></td><td class=\"desc\">Abstract class used as a base for language lexers </td></tr>\n<tr id=\"row_1_1_0_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerAVS.html\" target=\"_self\">QsciLexerAVS</a></td><td class=\"desc\">Encapsulates the Scintilla AVS lexer </td></tr>\n<tr id=\"row_1_1_1_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerBash.html\" target=\"_self\">QsciLexerBash</a></td><td class=\"desc\">Encapsulates the Scintilla Bash lexer </td></tr>\n<tr id=\"row_1_1_2_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerBatch.html\" target=\"_self\">QsciLexerBatch</a></td><td class=\"desc\">Encapsulates the Scintilla batch file lexer </td></tr>\n<tr id=\"row_1_1_3_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCMake.html\" target=\"_self\">QsciLexerCMake</a></td><td class=\"desc\">Encapsulates the Scintilla CMake lexer </td></tr>\n<tr id=\"row_1_1_4_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCoffeeScript.html\" target=\"_self\">QsciLexerCoffeeScript</a></td><td class=\"desc\">Encapsulates the Scintilla CoffeeScript lexer </td></tr>\n<tr id=\"row_1_1_5_\" class=\"even\"><td class=\"entry\"><span style=\"width:32px;display:inline-block;\">&#160;</span><span id=\"arr_1_1_5_\" class=\"arrow\" onclick=\"toggleFolder('1_1_5_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCPP.html\" target=\"_self\">QsciLexerCPP</a></td><td class=\"desc\">Encapsulates the Scintilla C++ lexer </td></tr>\n<tr id=\"row_1_1_5_0_\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCSharp.html\" target=\"_self\">QsciLexerCSharp</a></td><td class=\"desc\">Encapsulates the Scintilla C# lexer </td></tr>\n<tr id=\"row_1_1_5_1_\" class=\"even\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerIDL.html\" target=\"_self\">QsciLexerIDL</a></td><td class=\"desc\">Encapsulates the Scintilla IDL lexer </td></tr>\n<tr id=\"row_1_1_5_2_\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerJava.html\" target=\"_self\">QsciLexerJava</a></td><td class=\"desc\">Encapsulates the Scintilla Java lexer </td></tr>\n<tr id=\"row_1_1_5_3_\" class=\"even\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerJavaScript.html\" target=\"_self\">QsciLexerJavaScript</a></td><td class=\"desc\">Encapsulates the Scintilla JavaScript lexer </td></tr>\n<tr id=\"row_1_1_6_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCSS.html\" target=\"_self\">QsciLexerCSS</a></td><td class=\"desc\">Encapsulates the Scintilla CSS lexer </td></tr>\n<tr id=\"row_1_1_7_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerCustom.html\" target=\"_self\">QsciLexerCustom</a></td><td class=\"desc\">Abstract class used as a base for new language lexers </td></tr>\n<tr id=\"row_1_1_8_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerD.html\" target=\"_self\">QsciLexerD</a></td><td class=\"desc\">Encapsulates the Scintilla D lexer </td></tr>\n<tr id=\"row_1_1_9_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerDiff.html\" target=\"_self\">QsciLexerDiff</a></td><td class=\"desc\">Encapsulates the Scintilla Diff lexer </td></tr>\n<tr id=\"row_1_1_10_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerEDIFACT.html\" target=\"_self\">QsciLexerEDIFACT</a></td><td class=\"desc\">Encapsulates the Scintilla EDIFACT lexer </td></tr>\n<tr id=\"row_1_1_11_\" class=\"even\"><td class=\"entry\"><span style=\"width:32px;display:inline-block;\">&#160;</span><span id=\"arr_1_1_11_\" class=\"arrow\" onclick=\"toggleFolder('1_1_11_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerFortran77.html\" target=\"_self\">QsciLexerFortran77</a></td><td class=\"desc\">Encapsulates the Scintilla Fortran77 lexer </td></tr>\n<tr id=\"row_1_1_11_0_\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerFortran.html\" target=\"_self\">QsciLexerFortran</a></td><td class=\"desc\">Encapsulates the Scintilla Fortran lexer </td></tr>\n<tr id=\"row_1_1_12_\" class=\"even\"><td class=\"entry\"><span style=\"width:32px;display:inline-block;\">&#160;</span><span id=\"arr_1_1_12_\" class=\"arrow\" onclick=\"toggleFolder('1_1_12_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerHTML.html\" target=\"_self\">QsciLexerHTML</a></td><td class=\"desc\">Encapsulates the Scintilla HTML lexer </td></tr>\n<tr id=\"row_1_1_12_0_\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerXML.html\" target=\"_self\">QsciLexerXML</a></td><td class=\"desc\">Encapsulates the Scintilla XML lexer </td></tr>\n<tr id=\"row_1_1_13_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerJSON.html\" target=\"_self\">QsciLexerJSON</a></td><td class=\"desc\">Encapsulates the Scintilla JSON lexer </td></tr>\n<tr id=\"row_1_1_14_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerLua.html\" target=\"_self\">QsciLexerLua</a></td><td class=\"desc\">Encapsulates the Scintilla Lua lexer </td></tr>\n<tr id=\"row_1_1_15_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerMakefile.html\" target=\"_self\">QsciLexerMakefile</a></td><td class=\"desc\">Encapsulates the Scintilla Makefile lexer </td></tr>\n<tr id=\"row_1_1_16_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerMarkdown.html\" target=\"_self\">QsciLexerMarkdown</a></td><td class=\"desc\">Encapsulates the Scintilla Markdown lexer </td></tr>\n<tr id=\"row_1_1_17_\" class=\"even\"><td class=\"entry\"><span style=\"width:32px;display:inline-block;\">&#160;</span><span id=\"arr_1_1_17_\" class=\"arrow\" onclick=\"toggleFolder('1_1_17_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerMatlab.html\" target=\"_self\">QsciLexerMatlab</a></td><td class=\"desc\">Encapsulates the Scintilla Matlab file lexer </td></tr>\n<tr id=\"row_1_1_17_0_\"><td class=\"entry\"><span style=\"width:64px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerOctave.html\" target=\"_self\">QsciLexerOctave</a></td><td class=\"desc\">Encapsulates the Scintilla Octave file lexer </td></tr>\n<tr id=\"row_1_1_18_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPascal.html\" target=\"_self\">QsciLexerPascal</a></td><td class=\"desc\">Encapsulates the Scintilla Pascal lexer </td></tr>\n<tr id=\"row_1_1_19_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPerl.html\" target=\"_self\">QsciLexerPerl</a></td><td class=\"desc\">Encapsulates the Scintilla Perl lexer </td></tr>\n<tr id=\"row_1_1_20_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPO.html\" target=\"_self\">QsciLexerPO</a></td><td class=\"desc\">Encapsulates the Scintilla PO lexer </td></tr>\n<tr id=\"row_1_1_21_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPostScript.html\" target=\"_self\">QsciLexerPostScript</a></td><td class=\"desc\">Encapsulates the Scintilla PostScript lexer </td></tr>\n<tr id=\"row_1_1_22_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPOV.html\" target=\"_self\">QsciLexerPOV</a></td><td class=\"desc\">Encapsulates the Scintilla POV lexer </td></tr>\n<tr id=\"row_1_1_23_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerProperties.html\" target=\"_self\">QsciLexerProperties</a></td><td class=\"desc\">Encapsulates the Scintilla Properties lexer </td></tr>\n<tr id=\"row_1_1_24_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerPython.html\" target=\"_self\">QsciLexerPython</a></td><td class=\"desc\">Encapsulates the Scintilla Python lexer </td></tr>\n<tr id=\"row_1_1_25_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerRuby.html\" target=\"_self\">QsciLexerRuby</a></td><td class=\"desc\">Encapsulates the Scintilla Ruby lexer </td></tr>\n<tr id=\"row_1_1_26_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerSpice.html\" target=\"_self\">QsciLexerSpice</a></td><td class=\"desc\">Encapsulates the Scintilla Spice lexer </td></tr>\n<tr id=\"row_1_1_27_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerSQL.html\" target=\"_self\">QsciLexerSQL</a></td><td class=\"desc\">Encapsulates the Scintilla SQL lexer </td></tr>\n<tr id=\"row_1_1_28_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerTCL.html\" target=\"_self\">QsciLexerTCL</a></td><td class=\"desc\">Encapsulates the Scintilla TCL lexer </td></tr>\n<tr id=\"row_1_1_29_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerTeX.html\" target=\"_self\">QsciLexerTeX</a></td><td class=\"desc\">Encapsulates the Scintilla TeX lexer </td></tr>\n<tr id=\"row_1_1_30_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerVerilog.html\" target=\"_self\">QsciLexerVerilog</a></td><td class=\"desc\">Encapsulates the Scintilla Verilog lexer </td></tr>\n<tr id=\"row_1_1_31_\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerVHDL.html\" target=\"_self\">QsciLexerVHDL</a></td><td class=\"desc\">Encapsulates the Scintilla VHDL lexer </td></tr>\n<tr id=\"row_1_1_32_\" class=\"even\"><td class=\"entry\"><span style=\"width:48px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciLexerYAML.html\" target=\"_self\">QsciLexerYAML</a></td><td class=\"desc\">Encapsulates the Scintilla YAML lexer </td></tr>\n<tr id=\"row_1_2_\"><td class=\"entry\"><span style=\"width:32px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciMacro.html\" target=\"_self\">QsciMacro</a></td><td class=\"desc\">Sequence of recordable editor commands </td></tr>\n<tr id=\"row_2_\" class=\"even\"><td class=\"entry\"><span style=\"width:0px;display:inline-block;\">&#160;</span><span id=\"arr_2_\" class=\"arrow\" onclick=\"toggleFolder('2_')\">&#9660;</span><span class=\"icona\"><span class=\"icon\">C</span></span><b>QPrinter</b></td><td class=\"desc\"></td></tr>\n<tr id=\"row_2_0_\"><td class=\"entry\"><span style=\"width:32px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciPrinter.html\" target=\"_self\">QsciPrinter</a></td><td class=\"desc\">Sub-class of the Qt QPrinter class that is able to print the text of a Scintilla document </td></tr>\n<tr id=\"row_3_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciCommand.html\" target=\"_self\">QsciCommand</a></td><td class=\"desc\">Internal editor command that may have one or two keys bound to it </td></tr>\n<tr id=\"row_4_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciCommandSet.html\" target=\"_self\">QsciCommandSet</a></td><td class=\"desc\">Set of all internal editor commands that may have keys bound </td></tr>\n<tr id=\"row_5_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciDocument.html\" target=\"_self\">QsciDocument</a></td><td class=\"desc\">Document to be edited </td></tr>\n<tr id=\"row_6_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciStyle.html\" target=\"_self\">QsciStyle</a></td><td class=\"desc\">Encapsulates all the attributes of a style </td></tr>\n<tr id=\"row_7_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><span class=\"icona\"><span class=\"icon\">C</span></span><a class=\"el\" href=\"classQsciStyledText.html\" target=\"_self\">QsciStyledText</a></td><td class=\"desc\">Container for a piece of text and the style used to display the text </td></tr>\n</table>\n</div><!-- directory -->\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/index.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.20\"/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\n<title>QScintilla: QScintilla - a Port to Qt v5 and Qt v6 of Scintilla</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectalign\" style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">QScintilla\n   &#160;<span id=\"projectnumber\">2.12.1</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.20 -->\n<script type=\"text/javascript\" src=\"menudata.js\"></script>\n<script type=\"text/javascript\" src=\"menu.js\"></script>\n<script type=\"text/javascript\">\n/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */\n$(function() {\n  initMenu('',false,false,'search.php','Search');\n});\n/* @license-end */</script>\n<div id=\"main-nav\"></div>\n</div><!-- top -->\n<div class=\"PageDoc\"><div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">QScintilla - a Port to Qt v5 and Qt v6 of Scintilla </div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<div class=\"textblock\"><h2>Introduction</h2>\n<p><a href=\"http://www.riverbankcomputing.com/software/qscintilla/\">QScintilla</a> is a port to Qt of the <a href=\"http://www.scintilla.org/\">Scintilla</a> editing component.</p>\n<p>As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code:</p>\n<ul>\n<li>\nsyntax styling with support for over 70 languages </li>\n<li>\nerror indicators </li>\n<li>\ncode completion </li>\n<li>\ncall tips </li>\n<li>\ncode folding </li>\n<li>\nmargins can contain markers like those used in debuggers to indicate breakpoints and the current line. </li>\n<li>\nrecordable macros </li>\n<li>\nmultiple views </li>\n<li>\nprinting. </li>\n</ul>\n<p>QScintilla is a port or Scintilla to the Qt GUI toolkit from <a href=\"http://www.qt.io\">The Qt Company</a> and runs on any operating system supported by Qt (eg. Windows, Linux, macOS, iOS and Android). QScintilla works with Qt v5 and v6.</p>\n<p>QScintilla also includes language bindings for <a href=\"https://www.python.org\">Python</a>. These require that <a href=\"https://www.riverbankcomputing.com/software/pyqt/\">PyQt</a> v5 or v6 is also installed.</p>\n<p>This version of QScintilla is based on Scintilla v3.10.1.</p>\n<h2>Licensing</h2>\n<p>QScintilla is available under the <a href=\"http://www.gnu.org/licenses/gpl.html\">GNU General Public License v3</a> and the Riverbank Commercial License.</p>\n<p>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 <a href=\"http://www.riverbankcomputing.com/software/pyqt/\">PyQt</a>.</p>\n<p>The Scintilla code within QScintilla is released under the following license:</p>\n<pre>\n License for Scintilla and SciTE</pre><pre> Copyright 1998-2003 by Neil Hodgson <a href=\"#\" onclick=\"location.href='mai'+'lto:'+'nei'+'lh'+'@sc'+'in'+'til'+'la'+'.or'+'g'; return false;\">neilh<span style=\"display: none;\">.nosp@m.</span>@sci<span style=\"display: none;\">.nosp@m.</span>ntill<span style=\"display: none;\">.nosp@m.</span>a.or<span style=\"display: none;\">.nosp@m.</span>g</a></pre><pre> All Rights Reserved</pre><pre> Permission to use, copy, modify, and distribute this software and its\n documentation for any purpose and without fee is hereby granted,\n provided that the above copyright notice appear in all copies and that\n both that copyright notice and this permission notice appear in\n supporting documentation.</pre><pre> NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY\n SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE\n OR PERFORMANCE OF THIS SOFTWARE.\n</pre><h2>Installation</h2>\n<p>As supplied QScintilla will be built as a shared library/DLL and installed in the same directories as the Qt libraries and include files.</p>\n<p>If you wish to build a static version of the library then pass <code>CONFIG+=staticlib</code> on the <code>qmake</code> command line.</p>\n<p>If you want to make more significant changes to the configuration then edit the file <code>qscintilla.pro</code> in the <code>src</code> directory.</p>\n<p>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 <code>src/features/qscintilla2.prf</code> file.</p>\n<p>See your <code>qmake</code> documentation for more details.</p>\n<p>To build and install QScintilla, run:</p>\n<pre>\n    cd src\n    qmake\n    make\n    make install\n</pre><p>If you have multiple versions of Qt installed then make sure you use the correct version of <code>qmake</code>.</p>\n<p>The underlying Scintilla code may support additional compile-time options. These can be configured by passing appropriate arguments to <code>qmake</code>. For example, if you have an old C++ compiler that does not have a working <code>std::regex</code> then invoke <code>qmake</code> as follows:</p>\n<pre>\n    qmake DEFINES+=NO_CXX11_REGEX=1\n</pre><h3>Installation on Windows</h3>\n<p>Before compiling QScintilla on Windows you should remove the <code>Qsci</code> directory containing the QScintilla header files from any previous installation. This is because the <code>Makefile</code> generated by <code>qmake</code> will find these older header files instead of the new ones.</p>\n<p>Depending on the compiler you are using you may need to run <code>nmake</code> rather than <code>make</code>.</p>\n<p>If you have built a Windows DLL then you probably also want to run:</p>\n<pre>\n    copy %QTDIR%\\lib\\qscintilla2.dll %QTDIR%\\bin\n</pre><h2>Integration with <code>qmake</code></h2>\n<p>To configure <code>qmake</code> to find your QScintilla installation, add the following line to your application's <code>.pro</code> file:</p>\n<pre>\n    CONFIG += qscintilla2\n</pre><h2>Qt Designer Plugin</h2>\n<p>QScintilla includes an optional plugin for Qt Designer that allows QScintilla instances to be included in GUI designs just like any other Qt widget.</p>\n<p>To build the plugin on all platforms, make sure QScintilla is installed and then run (as root or administrator):</p>\n<pre>\n    cd designer\n    qmake\n    make\n    make install\n</pre><p>On Windows (and depending on the compiler you are using) you may need to run <code>nmake</code> rather than <code>make</code>.</p>\n<h2>Example Application</h2>\n<p>The example application provided is a port of the standard Qt <code>application</code> example with the <a class=\"el\" href=\"classQsciScintilla.html\" title=\"The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.\">QsciScintilla</a> class being used instead of Qt's QTextEdit class.</p>\n<p>The example does not demonstrate all of the extra features of QScintilla.</p>\n<p>To build the example, run:</p>\n<pre>\n    cd example\n    qmake\n    make\n</pre><p>On Windows (and depending on the compiler you are using) you may need to run <code>nmake</code> rather than <code>make</code>.</p>\n<h2>Python Bindings</h2>\n<p>The Python bindings are in the <code>Python</code> sub-directory. You must have either PyQt5 or PyQt6 already installed and PyQt-builder. QScintilla must also already be built and installed.</p>\n<p>The <code>Python</code> sub-directory contains a <code>pyproject-qt5.toml</code> file and a <code>pyproject-qt6.toml</code> file. If you are building for PyQt5 and Qt v5 then you must copy the <code>pyproject-qt5.toml</code> file to <code>pyproject.toml</code>. If instead you are building for PyQt6 and Qt v6 then you must copy the <code>pyproject-qt6.toml</code> file to <code>pyproject.toml</code>.</p>\n<p>To build and install the bindings, run:</p>\n<pre>\n    cd Python\n    sip-install\n</pre> </div></div><!-- PageDoc -->\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated by&#160;<a href=\"http://www.doxygen.org/index.html\"><img class=\"footer\" src=\"doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> 1.8.20\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "src/qscint/doc/html/jquery.js",
    "content": "/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */\n!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<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],\"__proto__\"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:\"jQuery\"+(f+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==o.call(e))&&(!(t=r(e))||\"function\"==typeof(n=v.call(t,\"constructor\")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(p,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),\"function\"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){n[\"[object \"+t+\"]\"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k=\"sizzle\"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",I=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",W=\"\\\\[\"+M+\"*(\"+I+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)\"+M+\"*\\\\]\",$=\":(\"+I+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+W+\")*)|.*)\\\\)|)\",F=new RegExp(M+\"+\",\"g\"),B=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),_=new RegExp(\"^\"+M+\"*,\"+M+\"*\"),z=new RegExp(\"^\"+M+\"*([>+~]|\"+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=\"<a id='\"+k+\"'></a><select id='\"+k+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",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=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";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<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{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<t.indexOf(i):\"$=\"===r?i&&t.slice(-i.length)===i:\"~=\"===r?-1<(\" \"+t.replace(F,\" \")+\" \").indexOf(i):\"|=\"===r&&(t===i||t.slice(0,i.length+1)===i+\"-\"))}},CHILD:function(h,e,t,g,v){var y=\"nth\"!==h.slice(0,3),m=\"last\"!==h.slice(-4),x=\"of-type\"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?\"nextSibling\":\"previousSibling\",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l=\"only\"===h&&!u&&\"nextSibling\"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return a[k]?a(o):1<a.length?(t=[e,e,\"\",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,\"$1\"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||\"\")||se.error(\"unsupported lang: \"+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute(\"xml:lang\")||e.getAttribute(\"lang\"))return(t=t.toLowerCase())===n||0===t.indexOf(n+\"-\")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&\"parentNode\"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||\"*\",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[\" \"],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(B,\"$1\"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+\" \"];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B,\" \")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+\" \"];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l=\"0\",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG(\"*\",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&\"ID\"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split(\"\").sort(D).join(\"\")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement(\"fieldset\"))}),ce(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[\":\"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\\/\\0>:\\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<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,\"string\"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\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<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a=\"string\"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,\"parentNode\")},parentsUntil:function(e,t,n){return T(e,\"parentNode\",n)},next:function(e){return P(e,\"nextSibling\")},prev:function(e){return P(e,\"previousSibling\")},nextAll:function(e){return T(e,\"nextSibling\")},prevAll:function(e){return T(e,\"previousSibling\")},nextUntil:function(e,t,n){return T(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return T(e,\"previousSibling\",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return\"undefined\"!=typeof e.contentDocument?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return\"Until\"!==r.slice(-5)&&(t=e),t&&\"string\"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\\x20\\t\\r\\n\\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r=\"string\"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:\"\")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&\"string\"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t=\"\",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=\"\"),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[[\"notify\",\"progress\",k.Callbacks(\"memory\"),k.Callbacks(\"memory\"),2],[\"resolve\",\"done\",k.Callbacks(\"once memory\"),k.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",k.Callbacks(\"once memory\"),k.Callbacks(\"once memory\"),1,\"rejected\"]],i=\"pending\",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},\"catch\":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+\"With\"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError(\"Thenable self-resolution\");t=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+\"With\"](this===s?void 0:this,arguments),this},s[t[0]+\"With\"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),\"pending\"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn(\"jQuery.Deferred exception: \"+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener(\"DOMContentLoaded\",B),C.removeEventListener(\"load\",B),k.ready()}k.fn.ready=function(e){return F.then(e)[\"catch\"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,\"complete\"===E.readyState||\"loading\"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener(\"DOMContentLoaded\",B),C.addEventListener(\"load\",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,\"ms-\").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if(\"string\"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(Z,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=\"true\"===(i=n)||\"false\"!==i&&(\"null\"===i?null:i===+i+\"\"?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,\"hasDataAttrs\"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf(\"data-\")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks(\"once memory\").add(function(){Q.remove(e,[t+\"queue\",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return\"string\"!=typeof t&&(n=t,t=\"fx\",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),\"fx\"===t&&\"inprogress\"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";while(a--)(n=Q.get(o[a],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,ne=new RegExp(\"^(?:([+-])=|)(\"+te+\")([a-z%]*)$\",\"i\"),re=[\"Top\",\"Right\",\"Bottom\",\"Left\"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&oe(e)&&\"none\"===k.css(e,\"display\")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,\"\")},u=s(),l=n&&n[3]||(k.cssNumber[t]?\"\":\"px\"),c=e.nodeType&&(k.cssNumber[t]||\"px\"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?(\"none\"===n&&(l[c]=Q.get(r,\"display\")||null,l[c]||(r.style.display=\"\")),\"\"===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,\"display\"),o.parentNode.removeChild(o),\"none\"===u&&(u=\"block\"),ce[s]=u)))):\"none\"!==n&&(l[c]=\"none\",Q.set(r,\"display\",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i,ge={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_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;n<r;n++)Q.set(e[n],\"globalEval\",!t||Q.get(t[n],\"globalEval\"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if(\"object\"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement(\"div\")),s=(de.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=\"\"}else p.push(t.createTextNode(o));f.textContent=\"\",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||\"\")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement(\"div\")),(xe=E.createElement(\"input\")).setAttribute(\"type\",\"radio\"),xe.setAttribute(\"checked\",\"checked\"),xe.setAttribute(\"name\",\"t\"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML=\"<textarea>x</textarea>\",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<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!(\"click\"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+\" \"]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&De(t,\"click\",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&De(t,\"click\"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Q.get(t,\"click\")||A(t,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,qe=/<script|<style|<link/i,Le=/checked\\s*(?:[^=]|=\\s*.checked.)/i,He=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\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<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&\"string\"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,\"script\"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,\"script\"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||\"\")&&!Q.access(u,\"globalEval\")&&k.contains(l,u)&&(u.src&&\"module\"!==(u.type||\"\").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(\"nonce\")}):b(u.textContent.replace(He,\"\"),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,\"script\")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,\"<$1></$2>\")},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<i;r++)s=o[r],u=a[r],void 0,\"input\"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:\"input\"!==l&&\"textarea\"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,\"script\")).length&&ye(a,!f&&ve(e,\"script\")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp(\"^(\"+te+\")(?!px)[a-z%]+$\",\"i\"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join(\"|\"),\"i\");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(\"\"!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+\"\":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",u.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n=\"1%\"!==e.top,a=12===t(e.marginLeft),u.style.right=\"60%\",o=36===t(e.right),r=36===t(e.width),u.style.position=\"absolute\",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement(\"div\"),u=E.createElement(\"div\");u.style&&(u.style.backgroundClip=\"content-box\",u.cloneNode(!0).style.backgroundClip=\"\",y.clearCloneStyle=\"content-box\"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=[\"Webkit\",\"Moz\",\"ms\"],Xe=E.createElement(\"div\").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Ke={letterSpacing:\"0\",fontWeight:\"400\"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function et(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=k.css(e,n+re[a],!0,i)),r?(\"content\"===n&&(u-=k.css(e,\"padding\"+re[a],!0,i)),\"margin\"!==n&&(u-=k.css(e,\"border\"+re[a]+\"Width\",!0,i))):(u+=k.css(e,\"padding\"+re[a],!0,i),\"padding\"!==n?u+=k.css(e,\"border\"+re[a]+\"Width\",!0,i):s+=k.css(e,\"border\"+re[a]+\"Width\",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&\"border-box\"===k.css(e,\"boxSizing\",!1,r),o=i,a=_e(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a=\"auto\"}return(!y.boxSizingReliable()&&i||\"auto\"===a||!parseFloat(a)&&\"inline\"===k.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===k.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?\"\":\"px\")),y.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),\"normal\"===i&&t in Ke&&(i=Ke[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each([\"height\",\"width\"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&\"absolute\"===i.position,a=(o||n)&&\"border-box\"===k.css(e,\"boxSizing\",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[\"offset\"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,\"border\",!1,i)-.5)),s&&(r=ne.exec(t))&&\"px\"!==(r[3]||\"px\")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,\"marginLeft\"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),k.each({margin:\"\",padding:\"\",border:\"Width\"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r=\"string\"==typeof e?e.split(\" \"):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},\"margin\"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?\"\":\"px\")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=re[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&\"expand\"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=[\"*\"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f=\"width\"in t||\"height\"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,\"fxshow\");for(r in n.queue||(null==(a=k._queueHooks(e,\"fx\")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,\"fx\").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||\"toggle\"===i,i===(g?\"hide\":\"show\")){if(\"show\"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,\"display\")),\"none\"===(c=k.css(e,\"display\"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,\"display\"),fe([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=l)&&\"none\"===k.css(e,\"float\")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l=\"none\"===c?\"\":c)),h.display=\"inline-block\")),n.overflow&&(h.overflow=\"hidden\",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?\"hidden\"in v&&(g=v.hidden):v=Q.access(e,\"fxshow\",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,\"fxshow\"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&\"object\"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:\"number\"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,\"finish\"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return\"string\"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||\"fx\",[]),this.each(function(){var e=!0,t=null!=i&&i+\"queueHooks\",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||\"fx\"),this.each(function(){var e,t=Q.get(this),n=t[a+\"queue\"],r=t[a+\"queueHooks\"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each([\"toggle\",\"show\",\"hide\"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||\"boolean\"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft(\"show\"),slideUp:ft(\"hide\"),slideToggle:ft(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||\"fx\",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement(\"input\"),at=E.createElement(\"select\").appendChild(E.createElement(\"option\")),ot.type=\"checkbox\",y.checkOn=\"\"!==ot.value,y.optSelected=at.selected,(ot=E.createElement(\"input\")).value=\"t\",ot.type=\"radio\",y.radioValue=\"t\"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&\"radio\"===t&&A(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(\" \")}function xt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function bt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,\"tabindex\");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&\" \"+mt(i)+\" \"){a=0;while(o=e[a++])r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=mt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&\" \"+mt(i)+\" \"){a=0;while(o=e[a++])while(-1<r.indexOf(\" \"+o+\" \"))r=r.replace(\" \"+o+\" \",\" \");i!==(s=mt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(i,t){var o=typeof i,a=\"string\"===o||Array.isArray(i);return\"boolean\"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&\"boolean\"!==o||((e=xt(this))&&Q.set(this,\"__className__\",e),this.setAttribute&&this.setAttribute(\"class\",e||!1===i?\"\":Q.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;t=\" \"+e+\" \";while(n=this[r++])if(1===n.nodeType&&-1<(\" \"+mt(xt(n))+\" \").indexOf(t))return!0;return!1}});var wt=/\\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t=\"\":\"number\"==typeof t?t+=\"\":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?\"\":e+\"\"})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&\"set\"in r&&void 0!==r.set(this,t,\"value\")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&\"get\"in r&&void 0!==(e=r.get(t,\"value\"))?e:\"string\"==typeof(e=t.value)?e.replace(wt,\"\"):null==e?\"\":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,\"value\");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,\"optgroup\"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each([\"radio\",\"checkbox\"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})}),y.focusin=\"onfocusin\"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,\"type\")?e.type:e,h=v.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(\".\")&&(d=(h=d.split(\".\")).shift(),h.sort()),u=d.indexOf(\":\")<0&&\"on\"+d,(e=e[k.expando]?e:new k.Event(d,\"object\"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join(\".\"),e.rnamespace=e.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,\"events\")||{})[e.type]&&Q.get(o,\"handle\"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:\"focusin\",blur:\"focusout\"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\\?/;k.parseXML=function(e){var t;if(!e||\"string\"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,\"text/xml\")}catch(e){t=void 0}return t&&!t.getElementsByTagName(\"parsererror\").length||k.error(\"Invalid XML: \"+e),t};var Nt=/\\[\\]$/,At=/\\r?\\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+\"[\"+(\"object\"==typeof t&&null!=t?e:\"\")+\"]\",t,r,i)});else if(r||\"object\"!==w(e))i(n,e);else for(t in e)qt(n+\"[\"+t+\"]\",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join(\"&\")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,\"elements\");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(\":disabled\")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,\"\\r\\n\")}}):{name:t.name,value:n.replace(At,\"\\r\\n\")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\\/\\//,It={},Wt={},$t=\"*/\".concat(\"*\"),Ft=E.createElement(\"a\");function Bt(o){return function(e,t){\"string\"!=typeof e&&(t=e,e=\"*\");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])\"+\"===n[0]?(n=n.slice(1)||\"*\",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return\"string\"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s[\"*\"]&&l(\"*\")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":$t,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){\"object\"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks(\"once memory\"),w=v.statusCode||{},a={},s={},u=\"canceled\",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+\" \"]=(n[t[1].toLowerCase()+\" \"]||[]).concat(t[2])}t=n[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+\"\").replace(Mt,Et.protocol+\"//\"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||\"*\").toLowerCase().match(R)||[\"\"],null==v.crossDomain){r=E.createElement(\"a\");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+\"//\"+Ft.host!=r.protocol+\"//\"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&\"string\"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger(\"ajaxStart\"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,\"\"),v.hasContent?v.data&&v.processData&&0===(v.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(v.data=v.data.replace(Lt,\"+\")):(o=v.url.slice(f.length),v.data&&(v.processData||\"string\"==typeof v.data)&&(f+=(St.test(f)?\"&\":\"?\")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,\"$1\"),o=(St.test(f)?\"&\":\"?\")+\"_=\"+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader(\"If-Modified-Since\",k.lastModified[f]),k.etag[f]&&T.setRequestHeader(\"If-None-Match\",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader(\"Content-Type\",v.contentType),T.setRequestHeader(\"Accept\",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+(\"*\"!==v.dataTypes[0]?\", \"+$t+\"; q=0.01\":\"\"):v.accepts[\"*\"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u=\"abort\",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger(\"ajaxSend\",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort(\"timeout\")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,\"No Transport\");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||\"\",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while(\"*\"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e[\"throws\"])t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader(\"Last-Modified\"))&&(k.lastModified[f]=u),(u=T.getResponseHeader(\"etag\"))&&(k.etag[f]=u)),204===e||\"HEAD\"===v.type?l=\"nocontent\":304===e?l=\"notmodified\":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l=\"error\",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+\"\",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?\"ajaxSuccess\":\"ajaxError\",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger(\"ajaxComplete\",[T,v]),--k.active||k.event.trigger(\"ajaxStop\")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,\"json\")},getScript:function(e,t){return k.get(e,void 0,t,\"script\")}}),k.each([\"get\",\"post\"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&\"withCredentials\"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,\"abort\"===e?r.abort():\"error\"===e?\"number\"!=typeof r.status?t(0,\"error\"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,\"text\"!==(r.responseType||\"text\")||\"string\"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o(\"error\"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o(\"abort\");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),k.ajaxTransport(\"script\",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k(\"<script>\").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=\"<form></form><form></form>\",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<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),0<a.length&&k.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?k(\"<div>\").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 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)}}),k.proxy=function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});\n/*! jQuery UI - v1.12.1 - 2019-01-27\n* http://jqueryui.com\n* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n(function(t){\"function\"==typeof define&&define.amd?define([\"jquery\"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css(\"visibility\");\"inherit\"===e;)t=t.parent(),e=t.css(\"visibility\");return\"hidden\"!==e}t.ui=t.ui||{},t.ui.version=\"1.12.1\";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,\"events\"),s&&s.remove&&t(n).triggerHandler(\"remove\")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(\".\")[0];e=e.split(\".\")[1];var l=h+\"-\"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[\":\"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+\".\"+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;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:\"<div>\",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(\"<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>\"),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.width<e.element[0].scrollWidth,o=\"scroll\"===s||\"auto\"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||\"flip\").split(\" \"),x={};return _=s(v),v[0].preventDefault&&(n.at=\"left top\"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each([\"my\",\"at\"],function(){var t,e,i=(n[this]||\"\").split(\" \");1===i.length&&(i=r.test(i[0])?i.concat([\"center\"]):h.test(i[0])?[\"center\"].concat(i):[\"center\",\"center\"]),i[0]=r.test(i[0])?i[0]:\"center\",i[1]=h.test(i[1])?i[1]:\"center\",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),\"right\"===n.at[0]?g.left+=p:\"center\"===n.at[0]&&(g.left+=p/2),\"bottom\"===n.at[1]?g.top+=f:\"center\"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,\"marginLeft\"),_=i(this,\"marginTop\"),k=l+d+i(this,\"marginRight\")+y.width,C=c+_+i(this,\"marginBottom\")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());\"right\"===n.my[0]?D.left-=l:\"center\"===n.my[0]&&(D.left-=l/2),\"bottom\"===n.my[1]?D.top-=c:\"center\"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each([\"left\",\"top\"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?\"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(\"<div class='ui-wrapper' style='overflow: hidden;'></div>\").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(\"<div>\"),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.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.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(\"<div style='overflow:hidden;'></div>\"),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\n},_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});/**\n * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler\n * Licensed under MIT\n * @author Ariel Flesler\n * @version 2.1.2\n */\n;(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<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case \"number\":case \"string\":if(/^([+-]=?)?\\d+(\\.\\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case \"object\":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(\"\"),function(a,c){var d=\"x\"===c?\"Left\":\"Top\",m=d.toLowerCase(),g=\"scroll\"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css(\"margin\"+d),10)||0,f[g]-=parseInt(e.css(\"border\"+d+\"Width\"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e[\"x\"===c?\"width\":\"height\"]()*b.over[m])):(d=e[m],f[g]=d.slice&& \"%\"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b=\"x\"===d?\"Width\":\"Height\",h=\"scroll\"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b=\"client\"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});\n/*!\n PowerTip v1.3.1 (2018-04-15)\n https://stevenbenner.github.io/jquery-powertip/\n Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).\n Released under MIT license.\n https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt\n*/\n(function(root,factory){if(typeof define===\"function\"&&define.amd){define([\"jquery\"],factory)}else if(typeof module===\"object\"&&module.exports){module.exports=factory(require(\"jquery\"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$(\"body\");var DATA_DISPLAYCONTROLLER=\"displayController\",DATA_HASACTIVEHOVER=\"hasActiveHover\",DATA_FORCEDOPEN=\"forcedOpen\",DATA_HASMOUSEMOVE=\"hasMouseMove\",DATA_MOUSEONTOTIP=\"mouseOnToPopup\",DATA_ORIGINALTITLE=\"originalTitle\",DATA_POWERTIP=\"powertip\",DATA_POWERTIPJQ=\"powertipjq\",DATA_POWERTIPTARGET=\"powertiptarget\",EVENT_NAMESPACE=\".powertip\",RAD2DEG=180/Math.PI,MOUSE_EVENTS=[\"click\",\"dblclick\",\"mousedown\",\"mouseup\",\"mousemove\",\"mouseover\",\"mouseout\",\"mouseenter\",\"mouseleave\",\"contextmenu\"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)===\"string\"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr(\"title\");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr(\"title\")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-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<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split(\"-\")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case\"n\":coords.set(\"left\",position.left-tipWidth/2);coords.set(\"bottom\",session.windowHeight-position.top+offset);break;case\"e\":coords.set(\"left\",position.left+offset);coords.set(\"top\",position.top-tipHeight/2);break;case\"s\":coords.set(\"left\",position.left-tipWidth/2);coords.set(\"top\",position.top+offset);break;case\"w\":coords.set(\"top\",position.top-tipHeight/2);coords.set(\"right\",session.windowWidth-position.left+offset);break;case\"nw\":coords.set(\"bottom\",session.windowHeight-position.top+offset);coords.set(\"right\",session.windowWidth-position.left-20);break;case\"nw-alt\":coords.set(\"left\",position.left);coords.set(\"bottom\",session.windowHeight-position.top+offset);break;case\"ne\":coords.set(\"left\",position.left-20);coords.set(\"bottom\",session.windowHeight-position.top+offset);break;case\"ne-alt\":coords.set(\"bottom\",session.windowHeight-position.top+offset);coords.set(\"right\",session.windowWidth-position.left);break;case\"sw\":coords.set(\"top\",position.top+offset);coords.set(\"right\",session.windowWidth-position.left-20);break;case\"sw-alt\":coords.set(\"left\",position.left);coords.set(\"top\",position.top+offset);break;case\"se\":coords.set(\"left\",position.left-20);coords.set(\"top\",position.top+offset);break;case\"se-alt\":coords.set(\"top\",position.top+offset);coords.set(\"right\",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case\"n\":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case\"e\":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case\"s\":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case\"w\":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case\"nw\":left=objectOffset.left;top=objectOffset.top;break;case\"ne\":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case\"sw\":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case\"se\":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest(\"svg\")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=[\"nw\",\"n\",\"ne\",\"e\",\"se\",\"s\",\"sw\",\"w\"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$(\"#\"+options.popupId);if(tipElement.length===0){tipElement=$(\"<div/>\",{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.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!\n * jQuery UI Touch Punch 0.2.3\n *\n * Copyright 2011–2014, Dave Furfero\n * Dual licensed under the MIT or GPL Version 2 licenses.\n *\n * Depends:\n *  jquery.ui.widget.js\n *  jquery.ui.mouse.js\n */\n!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){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\n * http://www.smartmenus.org/\n * 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=$(\"<span/>\").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=$('<div class=\"sm-jquery-disable-overlay\"/>').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\",$([$('<span class=\"scroll-up\"><span class=\"scroll-up-arrow\"></span></span>')[0],$('<span class=\"scroll-down\"><span class=\"scroll-down-arrow\"></span></span>')[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.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;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\"},$});"
  },
  {
    "path": "src/qscint/doc/html/menu.js",
    "content": "/*\n @licstart  The following is the entire license notice for the JavaScript code in this file.\n\n The MIT License (MIT)\n\n Copyright (C) 1997-2020 by Dimitri van Heesch\n\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software\n and associated documentation files (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge, publish, distribute,\n sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all copies or\n substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n @licend  The above is the entire license notice for the JavaScript code in this file\n */\nfunction initMenu(relPath,searchEnabled,serverSide,searchPage,search) {\n  function makeTree(data,relPath) {\n    var result='';\n    if ('children' in data) {\n      result+='<ul>';\n      for (var i in data.children) {\n        result+='<li><a href=\"'+relPath+data.children[i].url+'\">'+\n                                data.children[i].text+'</a>'+\n                                makeTree(data.children[i],relPath)+'</li>';\n      }\n      result+='</ul>';\n    }\n    return result;\n  }\n\n  $('#main-nav').append(makeTree(menudata,relPath));\n  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');\n  if (searchEnabled) {\n    if (serverSide) {\n      $('#main-menu').append('<li style=\"float:right\"><div id=\"MSearchBox\" class=\"MSearchBoxInactive\"><div class=\"left\"><form id=\"FSearchBox\" action=\"'+relPath+searchPage+'\" method=\"get\"><img id=\"MSearchSelect\" src=\"'+relPath+'search/mag.svg\" alt=\"\"/><input type=\"text\" id=\"MSearchField\" name=\"query\" value=\"'+search+'\" size=\"20\" accesskey=\"S\" onfocus=\"searchBox.OnSearchFieldFocus(true)\" onblur=\"searchBox.OnSearchFieldFocus(false)\"></form></div><div class=\"right\"></div></div></li>');\n    } else {\n      $('#main-menu').append('<li style=\"float:right\"><div id=\"MSearchBox\" class=\"MSearchBoxInactive\"><span class=\"left\"><img id=\"MSearchSelect\" src=\"'+relPath+'search/mag_sel.svg\" onmouseover=\"return searchBox.OnSearchSelectShow()\" onmouseout=\"return searchBox.OnSearchSelectHide()\" alt=\"\"/><input type=\"text\" id=\"MSearchField\" value=\"'+search+'\" accesskey=\"S\" onfocus=\"searchBox.OnSearchFieldFocus(true)\" onblur=\"searchBox.OnSearchFieldFocus(false)\" onkeyup=\"searchBox.OnSearchFieldChange(event)\"/></span><span class=\"right\"><a id=\"MSearchClose\" href=\"javascript:searchBox.CloseResultsWindow()\"><img id=\"MSearchCloseImg\" border=\"0\" src=\"'+relPath+'search/close.svg\" alt=\"\"/></a></span></div></li>');\n    }\n  }\n  $('#main-menu').smartmenus();\n}\n/* @license-end */\n"
  },
  {
    "path": "src/qscint/doc/html/menudata.js",
    "content": "/*\n @licstart  The following is the entire license notice for the JavaScript code in this file.\n\n The MIT License (MIT)\n\n Copyright (C) 1997-2020 by Dimitri van Heesch\n\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software\n and associated documentation files (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge, publish, distribute,\n sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all copies or\n substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n @licend  The above is the entire license notice for the JavaScript code in this file\n*/\nvar menudata={children:[\n{text:\"Main Page\",url:\"index.html\"},\n{text:\"Classes\",url:\"annotated.html\",children:[\n{text:\"Class List\",url:\"annotated.html\"},\n{text:\"Class Hierarchy\",url:\"hierarchy.html\"},\n{text:\"Class Members\",url:\"functions.html\",children:[\n{text:\"All\",url:\"functions.html\",children:[\n{text:\"a\",url:\"functions.html#index_a\"},\n{text:\"b\",url:\"functions_b.html#index_b\"},\n{text:\"c\",url:\"functions_c.html#index_c\"},\n{text:\"d\",url:\"functions_d.html#index_d\"},\n{text:\"e\",url:\"functions_e.html#index_e\"},\n{text:\"f\",url:\"functions_f.html#index_f\"},\n{text:\"g\",url:\"functions_g.html#index_g\"},\n{text:\"h\",url:\"functions_h.html#index_h\"},\n{text:\"i\",url:\"functions_i.html#index_i\"},\n{text:\"j\",url:\"functions_j.html#index_j\"},\n{text:\"k\",url:\"functions_k.html#index_k\"},\n{text:\"l\",url:\"functions_l.html#index_l\"},\n{text:\"m\",url:\"functions_m.html#index_m\"},\n{text:\"n\",url:\"functions_n.html#index_n\"},\n{text:\"o\",url:\"functions_o.html#index_o\"},\n{text:\"p\",url:\"functions_p.html#index_p\"},\n{text:\"q\",url:\"functions_q.html#index_q\"},\n{text:\"r\",url:\"functions_r.html#index_r\"},\n{text:\"s\",url:\"functions_s.html#index_s\"},\n{text:\"t\",url:\"functions_t.html#index_t\"},\n{text:\"u\",url:\"functions_u.html#index_u\"},\n{text:\"v\",url:\"functions_v.html#index_v\"},\n{text:\"w\",url:\"functions_w.html#index_w\"},\n{text:\"x\",url:\"functions_x.html#index_x\"},\n{text:\"z\",url:\"functions_z.html#index_z\"},\n{text:\"~\",url:\"functions_~.html#index__7E\"}]},\n{text:\"Functions\",url:\"functions_func.html\",children:[\n{text:\"a\",url:\"functions_func.html#index_a\"},\n{text:\"b\",url:\"functions_func_b.html#index_b\"},\n{text:\"c\",url:\"functions_func_c.html#index_c\"},\n{text:\"d\",url:\"functions_func_d.html#index_d\"},\n{text:\"e\",url:\"functions_func_e.html#index_e\"},\n{text:\"f\",url:\"functions_func_f.html#index_f\"},\n{text:\"g\",url:\"functions_func_g.html#index_g\"},\n{text:\"h\",url:\"functions_func_h.html#index_h\"},\n{text:\"i\",url:\"functions_func_i.html#index_i\"},\n{text:\"k\",url:\"functions_func_k.html#index_k\"},\n{text:\"l\",url:\"functions_func_l.html#index_l\"},\n{text:\"m\",url:\"functions_func_m.html#index_m\"},\n{text:\"o\",url:\"functions_func_o.html#index_o\"},\n{text:\"p\",url:\"functions_func_p.html#index_p\"},\n{text:\"q\",url:\"functions_func_q.html#index_q\"},\n{text:\"r\",url:\"functions_func_r.html#index_r\"},\n{text:\"s\",url:\"functions_func_s.html#index_s\"},\n{text:\"t\",url:\"functions_func_t.html#index_t\"},\n{text:\"u\",url:\"functions_func_u.html#index_u\"},\n{text:\"v\",url:\"functions_func_v.html#index_v\"},\n{text:\"w\",url:\"functions_func_w.html#index_w\"},\n{text:\"z\",url:\"functions_func_z.html#index_z\"},\n{text:\"~\",url:\"functions_func_~.html#index__7E\"}]},\n{text:\"Enumerations\",url:\"functions_enum.html\"},\n{text:\"Enumerator\",url:\"functions_eval.html\",children:[\n{text:\"a\",url:\"functions_eval.html#index_a\"},\n{text:\"b\",url:\"functions_eval_b.html#index_b\"},\n{text:\"c\",url:\"functions_eval_c.html#index_c\"},\n{text:\"d\",url:\"functions_eval_d.html#index_d\"},\n{text:\"e\",url:\"functions_eval_e.html#index_e\"},\n{text:\"f\",url:\"functions_eval_f.html#index_f\"},\n{text:\"g\",url:\"functions_eval_g.html#index_g\"},\n{text:\"h\",url:\"functions_eval_h.html#index_h\"},\n{text:\"i\",url:\"functions_eval_i.html#index_i\"},\n{text:\"j\",url:\"functions_eval_j.html#index_j\"},\n{text:\"k\",url:\"functions_eval_k.html#index_k\"},\n{text:\"l\",url:\"functions_eval_l.html#index_l\"},\n{text:\"m\",url:\"functions_eval_m.html#index_m\"},\n{text:\"n\",url:\"functions_eval_n.html#index_n\"},\n{text:\"o\",url:\"functions_eval_o.html#index_o\"},\n{text:\"p\",url:\"functions_eval_p.html#index_p\"},\n{text:\"q\",url:\"functions_eval_q.html#index_q\"},\n{text:\"r\",url:\"functions_eval_r.html#index_r\"},\n{text:\"s\",url:\"functions_eval_s.html#index_s\"},\n{text:\"t\",url:\"functions_eval_t.html#index_t\"},\n{text:\"u\",url:\"functions_eval_u.html#index_u\"},\n{text:\"v\",url:\"functions_eval_v.html#index_v\"},\n{text:\"w\",url:\"functions_eval_w.html#index_w\"},\n{text:\"x\",url:\"functions_eval_x.html#index_x\"},\n{text:\"z\",url:\"functions_eval_z.html#index_z\"}]}]}]}]}\n"
  },
  {
    "path": "src/qscint/doc/html/tabs.css",
    "content": ".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}}"
  },
  {
    "path": "src/qscint/doc/qscintilla.dxy",
    "content": "# Doxyfile 1.6.1\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) for a project\n#\n# All text after a hash (#) is considered a comment and will be ignored\n# The format is:\n#       TAG = value [value, ...]\n# For lists items can also be appended using:\n#       TAG += value [value, ...]\n# Values that contain spaces should be placed between quotes (\" \")\n\n#---------------------------------------------------------------------------\n# Project related configuration options\n#---------------------------------------------------------------------------\n\n# This tag specifies the encoding used for all characters in the config file\n# that follow. The default is UTF-8 which is also the encoding used for all\n# text before the first occurrence of this tag. Doxygen uses libiconv (or the\n# iconv built into libc) for the transcoding. See\n# http://www.gnu.org/software/libiconv for the list of possible encodings.\n\nDOXYFILE_ENCODING      = UTF-8\n\n# The PROJECT_NAME tag is a single word (or a sequence of words surrounded\n# by quotes) that should identify the project.\n\nPROJECT_NAME           = QScintilla\n\n# The PROJECT_NUMBER tag can be used to enter a project or revision number.\n# This could be handy for archiving the generated documentation or\n# if some version control system is used.\n\nPROJECT_NUMBER         = \"2.12.1\"\n\n# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)\n# base path where the generated documentation will be put.\n# If a relative path is entered, it will be relative to the location\n# where doxygen was started. If left blank the current directory will be used.\n\nOUTPUT_DIRECTORY       =\n\n# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create\n# 4096 sub-directories (in 2 levels) under the output directory of each output\n# format and will distribute the generated files over these directories.\n# Enabling this option can be useful when feeding doxygen a huge amount of\n# source files, where putting all generated files in the same directory would\n# otherwise cause performance problems for the file system.\n\nCREATE_SUBDIRS         = NO\n\n# The OUTPUT_LANGUAGE tag is used to specify the language in which all\n# documentation generated by doxygen is written. Doxygen will use this\n# information to generate all constant output in the proper language.\n# The default language is English, other supported languages are:\n# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,\n# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,\n# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English\n# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,\n# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,\n# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.\n\nOUTPUT_LANGUAGE        = English\n\n# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will\n# include brief member descriptions after the members that are listed in\n# the file and class documentation (similar to JavaDoc).\n# Set to NO to disable this.\n\nBRIEF_MEMBER_DESC      = NO\n\n# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend\n# the brief description of a member or function before the detailed description.\n# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the\n# brief descriptions will be completely suppressed.\n\nREPEAT_BRIEF           = YES\n\n# This tag implements a quasi-intelligent brief description abbreviator\n# that is used to form the text in various listings. Each string\n# in this list, if found as the leading text of the brief description, will be\n# stripped from the text and the result after processing the whole list, is\n# used as the annotated text. Otherwise, the brief description is used as-is.\n# If left blank, the following values are used (\"$name\" is automatically\n# replaced with the name of the entity): \"The $name class\" \"The $name widget\"\n# \"The $name file\" \"is\" \"provides\" \"specifies\" \"contains\"\n# \"represents\" \"a\" \"an\" \"the\"\n\nABBREVIATE_BRIEF       =\n\n# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then\n# Doxygen will generate a detailed section even if there is only a brief\n# description.\n\nALWAYS_DETAILED_SEC    = NO\n\n# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all\n# inherited members of a class in the documentation of that class as if those\n# members were ordinary class members. Constructors, destructors and assignment\n# operators of the base classes will not be shown.\n\nINLINE_INHERITED_MEMB  = NO\n\n# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full\n# path before files name in the file list and in the header files. If set\n# to NO the shortest path that makes the file name unique will be used.\n\nFULL_PATH_NAMES        = NO\n\n# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag\n# can be used to strip a user-defined part of the path. Stripping is\n# only done if one of the specified strings matches the left-hand part of\n# the path. The tag can be used to show relative paths in the file list.\n# If left blank the directory from which doxygen is run is used as the\n# path to strip.\n\nSTRIP_FROM_PATH        =\n\n# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of\n# the path mentioned in the documentation of a class, which tells\n# the reader which header file to include in order to use a class.\n# If left blank only the name of the header file containing the class\n# definition is used. Otherwise one should specify the include paths that\n# are normally passed to the compiler using the -I flag.\n\nSTRIP_FROM_INC_PATH    =\n\n# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter\n# (but less readable) file names. This can be useful is your file systems\n# doesn't support long names like on DOS, Mac, or CD-ROM.\n\nSHORT_NAMES            = NO\n\n# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen\n# will interpret the first line (until the first dot) of a JavaDoc-style\n# comment as the brief description. If set to NO, the JavaDoc\n# comments will behave just like regular Qt-style comments\n# (thus requiring an explicit @brief command for a brief description.)\n\nJAVADOC_AUTOBRIEF      = NO\n\n# If the QT_AUTOBRIEF tag is set to YES then Doxygen will\n# interpret the first line (until the first dot) of a Qt-style\n# comment as the brief description. If set to NO, the comments\n# will behave just like regular Qt-style comments (thus requiring\n# an explicit \\brief command for a brief description.)\n\nQT_AUTOBRIEF           = NO\n\n# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen\n# treat a multi-line C++ special comment block (i.e. a block of //! or ///\n# comments) as a brief description. This used to be the default behaviour.\n# The new default is to treat a multi-line C++ comment block as a detailed\n# description. Set this tag to YES if you prefer the old behaviour instead.\n\nMULTILINE_CPP_IS_BRIEF = NO\n\n# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented\n# member inherits the documentation from any documented member that it\n# re-implements.\n\nINHERIT_DOCS           = YES\n\n# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce\n# a new page for each member. If set to NO, the documentation of a member will\n# be part of the file/class/namespace that contains it.\n\nSEPARATE_MEMBER_PAGES  = NO\n\n# The TAB_SIZE tag can be used to set the number of spaces in a tab.\n# Doxygen uses this value to replace tabs by spaces in code fragments.\n\nTAB_SIZE               = 4\n\n# This tag can be used to specify a number of aliases that acts\n# as commands in the documentation. An alias has the form \"name=value\".\n# For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to\n# put the command \\sideeffect (or @sideeffect) in the documentation, which\n# will result in a user-defined paragraph with heading \"Side Effects:\".\n# You can put \\n's in the value part of an alias to insert newlines.\n\nALIASES                =\n\n# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C\n# sources only. Doxygen will then generate output that is more tailored for C.\n# For instance, some of the names that are used will be different. The list\n# of all members will be omitted, etc.\n\nOPTIMIZE_OUTPUT_FOR_C  = NO\n\n# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java\n# sources only. Doxygen will then generate output that is more tailored for\n# Java. For instance, namespaces will be presented as packages, qualified\n# scopes will look different, etc.\n\nOPTIMIZE_OUTPUT_JAVA   = NO\n\n# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran\n# sources only. Doxygen will then generate output that is more tailored for\n# Fortran.\n\nOPTIMIZE_FOR_FORTRAN   = NO\n\n# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL\n# sources. Doxygen will then generate output that is tailored for\n# VHDL.\n\nOPTIMIZE_OUTPUT_VHDL   = NO\n\n# Doxygen selects the parser to use depending on the extension of the files it parses.\n# With this tag you can assign which parser to use for a given extension.\n# Doxygen has a built-in mapping, but you can override or extend it using this tag.\n# The format is ext=language, where ext is a file extension, and language is one of\n# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,\n# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat\n# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),\n# 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.\n\nEXTENSION_MAPPING      =\n\n# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want\n# to include (a tag file for) the STL sources as input, then you should\n# set this tag to YES in order to let doxygen match functions declarations and\n# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.\n# func(std::string) {}). This also make the inheritance and collaboration\n# diagrams that involve STL classes more complete and accurate.\n\nBUILTIN_STL_SUPPORT    = NO\n\n# If you use Microsoft's C++/CLI language, you should set this option to YES to\n# enable parsing support.\n\nCPP_CLI_SUPPORT        = NO\n\n# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.\n# Doxygen will parse them like normal C++ but will assume all classes use public\n# instead of private inheritance when no explicit protection keyword is present.\n\nSIP_SUPPORT            = NO\n\n# For Microsoft's IDL there are propget and propput attributes to indicate getter\n# and setter methods for a property. Setting this option to YES (the default)\n# will make doxygen to replace the get and set methods by a property in the\n# documentation. This will only work if the methods are indeed getting or\n# setting a simple type. If this is not the case, or you want to show the\n# methods anyway, you should set this option to NO.\n\nIDL_PROPERTY_SUPPORT   = YES\n\n# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC\n# tag is set to YES, then doxygen will reuse the documentation of the first\n# member in the group (if any) for the other members of the group. By default\n# all members of a group must be documented explicitly.\n\nDISTRIBUTE_GROUP_DOC   = NO\n\n# Set the SUBGROUPING tag to YES (the default) to allow class member groups of\n# the same type (for instance a group of public functions) to be put as a\n# subgroup of that type (e.g. under the Public Functions section). Set it to\n# NO to prevent subgrouping. Alternatively, this can be done per class using\n# the \\nosubgrouping command.\n\nSUBGROUPING            = YES\n\n# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum\n# is documented as struct, union, or enum with the name of the typedef. So\n# typedef struct TypeS {} TypeT, will appear in the documentation as a struct\n# with name TypeT. When disabled the typedef will appear as a member of a file,\n# namespace, or class. And the struct will be named TypeS. This can typically\n# be useful for C code in case the coding convention dictates that all compound\n# types are typedef'ed and only the typedef is referenced, never the tag name.\n\nTYPEDEF_HIDES_STRUCT   = NO\n\n# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to\n# determine which symbols to keep in memory and which to flush to disk.\n# When the cache is full, less often used symbols will be written to disk.\n# For small to medium size projects (<1000 input files) the default value is\n# probably good enough. For larger projects a too small cache size can cause\n# doxygen to be busy swapping symbols to and from disk most of the time\n# causing a significant performance penality.\n# If the system has enough physical memory increasing the cache will improve the\n# performance by keeping more symbols in memory. Note that the value works on\n# a logarithmic scale so increasing the size by one will rougly double the\n# memory usage. The cache size is given by this formula:\n# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,\n# corresponding to a cache size of 2^16 = 65536 symbols\n\nSYMBOL_CACHE_SIZE      = 0\n\n#---------------------------------------------------------------------------\n# Build related configuration options\n#---------------------------------------------------------------------------\n\n# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n# documentation are documented, even if no documentation was available.\n# Private class members and static file members will be hidden unless\n# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES\n\nEXTRACT_ALL            = NO\n\n# If the EXTRACT_PRIVATE tag is set to YES all private members of a class\n# will be included in the documentation.\n\nEXTRACT_PRIVATE        = NO\n\n# If the EXTRACT_STATIC tag is set to YES all static members of a file\n# will be included in the documentation.\n\nEXTRACT_STATIC         = NO\n\n# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)\n# defined locally in source files will be included in the documentation.\n# If set to NO only classes defined in header files are included.\n\nEXTRACT_LOCAL_CLASSES  = NO\n\n# This flag is only useful for Objective-C code. When set to YES local\n# methods, which are defined in the implementation section but not in\n# the interface are included in the documentation.\n# If set to NO (the default) only methods in the interface are included.\n\nEXTRACT_LOCAL_METHODS  = NO\n\n# If this flag is set to YES, the members of anonymous namespaces will be\n# extracted and appear in the documentation as a namespace called\n# 'anonymous_namespace{file}', where file will be replaced with the base\n# name of the file that contains the anonymous namespace. By default\n# anonymous namespace are hidden.\n\nEXTRACT_ANON_NSPACES   = NO\n\n# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all\n# undocumented members of documented classes, files or namespaces.\n# If set to NO (the default) these members will be included in the\n# various overviews, but no documentation section is generated.\n# This option has no effect if EXTRACT_ALL is enabled.\n\nHIDE_UNDOC_MEMBERS     = NO\n\n# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all\n# undocumented classes that are normally visible in the class hierarchy.\n# If set to NO (the default) these classes will be included in the various\n# overviews. This option has no effect if EXTRACT_ALL is enabled.\n\nHIDE_UNDOC_CLASSES     = NO\n\n# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all\n# friend (class|struct|union) declarations.\n# If set to NO (the default) these declarations will be included in the\n# documentation.\n\nHIDE_FRIEND_COMPOUNDS  = YES\n\n# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any\n# documentation blocks found inside the body of a function.\n# If set to NO (the default) these blocks will be appended to the\n# function's detailed documentation block.\n\nHIDE_IN_BODY_DOCS      = NO\n\n# The INTERNAL_DOCS tag determines if documentation\n# that is typed after a \\internal command is included. If the tag is set\n# to NO (the default) then the documentation will be excluded.\n# Set it to YES to include the internal documentation.\n\nINTERNAL_DOCS          = NO\n\n# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate\n# file names in lower-case letters. If set to YES upper-case letters are also\n# allowed. This is useful if you have classes or files whose names only differ\n# in case and if your file system supports case sensitive file names. Windows\n# and Mac users are advised to set this option to NO.\n\nCASE_SENSE_NAMES       = YES\n\n# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen\n# will show members with their full class and namespace scopes in the\n# documentation. If set to YES the scope will be hidden.\n\nHIDE_SCOPE_NAMES       = NO\n\n# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen\n# will put a list of the files that are included by a file in the documentation\n# of that file.\n\nSHOW_INCLUDE_FILES     = YES\n\n# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]\n# is inserted in the documentation for inline members.\n\nINLINE_INFO            = YES\n\n# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen\n# will sort the (detailed) documentation of file and class members\n# alphabetically by member name. If set to NO the members will appear in\n# declaration order.\n\nSORT_MEMBER_DOCS       = NO\n\n# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the\n# brief documentation of file, namespace and class members alphabetically\n# by member name. If set to NO (the default) the members will appear in\n# declaration order.\n\nSORT_BRIEF_DOCS        = NO\n\n# 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.\n\nSORT_MEMBERS_CTORS_1ST = NO\n\n# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the\n# hierarchy of group names into alphabetical order. If set to NO (the default)\n# the group names will appear in their defined order.\n\nSORT_GROUP_NAMES       = NO\n\n# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be\n# sorted by fully-qualified names, including namespaces. If set to\n# NO (the default), the class list will be sorted only by class name,\n# not including the namespace part.\n# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.\n# Note: This option applies only to the class list, not to the\n# alphabetical list.\n\nSORT_BY_SCOPE_NAME     = NO\n\n# The GENERATE_TODOLIST tag can be used to enable (YES) or\n# disable (NO) the todo list. This list is created by putting \\todo\n# commands in the documentation.\n\nGENERATE_TODOLIST      = YES\n\n# The GENERATE_TESTLIST tag can be used to enable (YES) or\n# disable (NO) the test list. This list is created by putting \\test\n# commands in the documentation.\n\nGENERATE_TESTLIST      = YES\n\n# The GENERATE_BUGLIST tag can be used to enable (YES) or\n# disable (NO) the bug list. This list is created by putting \\bug\n# commands in the documentation.\n\nGENERATE_BUGLIST       = YES\n\n# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or\n# disable (NO) the deprecated list. This list is created by putting\n# \\deprecated commands in the documentation.\n\nGENERATE_DEPRECATEDLIST= YES\n\n# The ENABLED_SECTIONS tag can be used to enable conditional\n# documentation sections, marked by \\if sectionname ... \\endif.\n\nENABLED_SECTIONS       =\n\n# The MAX_INITIALIZER_LINES tag determines the maximum number of lines\n# the initial value of a variable or define consists of for it to appear in\n# the documentation. If the initializer consists of more lines than specified\n# here it will be hidden. Use a value of 0 to hide initializers completely.\n# The appearance of the initializer of individual variables and defines in the\n# documentation can be controlled using \\showinitializer or \\hideinitializer\n# command in the documentation regardless of this setting.\n\nMAX_INITIALIZER_LINES  = 30\n\n# Set the SHOW_USED_FILES tag to NO to disable the list of files generated\n# at the bottom of the documentation of classes and structs. If set to YES the\n# list will mention the files that were used to generate the documentation.\n\nSHOW_USED_FILES        = NO\n\n# If the sources in your project are distributed over multiple directories\n# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy\n# in the documentation. The default is NO.\n\nSHOW_DIRECTORIES       = YES\n\n# Set the SHOW_FILES tag to NO to disable the generation of the Files page.\n# This will remove the Files entry from the Quick Index and from the\n# Folder Tree View (if specified). The default is YES.\n\nSHOW_FILES             = YES\n\n# Set the SHOW_NAMESPACES tag to NO to disable the generation of the\n# Namespaces page.\n# This will remove the Namespaces entry from the Quick Index\n# and from the Folder Tree View (if specified). The default is YES.\n\nSHOW_NAMESPACES        = YES\n\n# The FILE_VERSION_FILTER tag can be used to specify a program or script that\n# doxygen should invoke to get the current version for each file (typically from\n# the version control system). Doxygen will invoke the program by executing (via\n# popen()) the command <command> <input-file>, where <command> is the value of\n# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file\n# provided by doxygen. Whatever the program writes to standard output\n# is used as the file version. See the manual for examples.\n\nFILE_VERSION_FILTER    =\n\n# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by\n# doxygen. The layout file controls the global structure of the generated output files\n# in an output format independent way. The create the layout file that represents\n# doxygen's defaults, run doxygen with the -l option. You can optionally specify a\n# file name after the option, if omitted DoxygenLayout.xml will be used as the name\n# of the layout file.\n\nLAYOUT_FILE            =\n\n#---------------------------------------------------------------------------\n# configuration options related to warning and progress messages\n#---------------------------------------------------------------------------\n\n# The QUIET tag can be used to turn on/off the messages that are generated\n# by doxygen. Possible values are YES and NO. If left blank NO is used.\n\nQUIET                  = NO\n\n# The WARNINGS tag can be used to turn on/off the warning messages that are\n# generated by doxygen. Possible values are YES and NO. If left blank\n# NO is used.\n\nWARNINGS               = YES\n\n# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings\n# for undocumented members. If EXTRACT_ALL is set to YES then this flag will\n# automatically be disabled.\n\nWARN_IF_UNDOCUMENTED   = YES\n\n# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for\n# potential errors in the documentation, such as not documenting some\n# parameters in a documented function, or documenting parameters that\n# don't exist or using markup commands wrongly.\n\nWARN_IF_DOC_ERROR      = YES\n\n# This WARN_NO_PARAMDOC option can be abled to get warnings for\n# functions that are documented, but have no documentation for their parameters\n# or return value. If set to NO (the default) doxygen will only warn about\n# wrong or incomplete parameter documentation, but not about the absence of\n# documentation.\n\nWARN_NO_PARAMDOC       = NO\n\n# The WARN_FORMAT tag determines the format of the warning messages that\n# doxygen can produce. The string should contain the $file, $line, and $text\n# tags, which will be replaced by the file and line number from which the\n# warning originated and the warning text. Optionally the format may contain\n# $version, which will be replaced by the version of the file (if it could\n# be obtained via FILE_VERSION_FILTER)\n\nWARN_FORMAT            = \"$file:$line: $text  \"\n\n# The WARN_LOGFILE tag can be used to specify a file to which warning\n# and error messages should be written. If left blank the output is written\n# to stderr.\n\nWARN_LOGFILE           =\n\n#---------------------------------------------------------------------------\n# configuration options related to the input files\n#---------------------------------------------------------------------------\n\n# The INPUT tag can be used to specify the files and/or directories that contain\n# documented source files. You may enter file names like \"myfile.cpp\" or\n# directories like \"/usr/src/myproject\". Separate the files or directories\n# with spaces.\n\nINPUT                  = README.doc ../src/Qsci\n\n# This tag can be used to specify the character encoding of the source files\n# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is\n# also the default input encoding. Doxygen uses libiconv (or the iconv built\n# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for\n# the list of possible encodings.\n\nINPUT_ENCODING         = UTF-8\n\n# If the value of the INPUT tag contains directories, you can use the\n# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp\n# and *.h) to filter out the source-files in the directories. If left\n# blank the following patterns are tested:\n# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx\n# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90\n\nFILE_PATTERNS          = qsci*.h\n\n# The RECURSIVE tag can be used to turn specify whether or not subdirectories\n# should be searched for input files as well. Possible values are YES and NO.\n# If left blank NO is used.\n\nRECURSIVE              = NO\n\n# The EXCLUDE tag can be used to specify files and/or directories that should\n# excluded from the INPUT source files. This way you can easily exclude a\n# subdirectory from a directory tree whose root is specified with the INPUT tag.\n\nEXCLUDE                =\n\n# The EXCLUDE_SYMLINKS tag can be used select whether or not files or\n# directories that are symbolic links (a Unix filesystem feature) are excluded\n# from the input.\n\nEXCLUDE_SYMLINKS       = NO\n\n# If the value of the INPUT tag contains directories, you can use the\n# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude\n# certain files from those directories. Note that the wildcards are matched\n# against the file with absolute path, so to exclude all test directories\n# for example use the pattern */test/*\n\nEXCLUDE_PATTERNS       =\n\n# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names\n# (namespaces, classes, functions, etc.) that should be excluded from the\n# output. The symbol name can be a fully qualified name, a word, or if the\n# wildcard * is used, a substring. Examples: ANamespace, AClass,\n# AClass::ANamespace, ANamespace::*Test\n\nEXCLUDE_SYMBOLS        =\n\n# The EXAMPLE_PATH tag can be used to specify one or more files or\n# directories that contain example code fragments that are included (see\n# the \\include command).\n\nEXAMPLE_PATH           =\n\n# If the value of the EXAMPLE_PATH tag contains directories, you can use the\n# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp\n# and *.h) to filter out the source-files in the directories. If left\n# blank all files are included.\n\nEXAMPLE_PATTERNS       =\n\n# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be\n# searched for input files to be used with the \\include or \\dontinclude\n# commands irrespective of the value of the RECURSIVE tag.\n# Possible values are YES and NO. If left blank NO is used.\n\nEXAMPLE_RECURSIVE      = NO\n\n# The IMAGE_PATH tag can be used to specify one or more files or\n# directories that contain image that are included in the documentation (see\n# the \\image command).\n\nIMAGE_PATH             =\n\n# The INPUT_FILTER tag can be used to specify a program that doxygen should\n# invoke to filter for each input file. Doxygen will invoke the filter program\n# by executing (via popen()) the command <filter> <input-file>, where <filter>\n# is the value of the INPUT_FILTER tag, and <input-file> is the name of an\n# input file. Doxygen will then use the output that the filter program writes\n# to standard output.\n# If FILTER_PATTERNS is specified, this tag will be\n# ignored.\n\nINPUT_FILTER           =\n\n# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern\n# basis.\n# Doxygen will compare the file name with each pattern and apply the\n# filter if there is a match.\n# The filters are a list of the form:\n# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further\n# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER\n# is applied to all files.\n\nFILTER_PATTERNS        =\n\n# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using\n# INPUT_FILTER) will be used to filter the input files when producing source\n# files to browse (i.e. when SOURCE_BROWSER is set to YES).\n\nFILTER_SOURCE_FILES    = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to source browsing\n#---------------------------------------------------------------------------\n\n# If the SOURCE_BROWSER tag is set to YES then a list of source files will\n# be generated. Documented entities will be cross-referenced with these sources.\n# Note: To get rid of all source code in the generated output, make sure also\n# VERBATIM_HEADERS is set to NO.\n\nSOURCE_BROWSER         = NO\n\n# Setting the INLINE_SOURCES tag to YES will include the body\n# of functions and classes directly in the documentation.\n\nINLINE_SOURCES         = NO\n\n# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct\n# doxygen to hide any special comment blocks from generated source code\n# fragments. Normal C and C++ comments will always remain visible.\n\nSTRIP_CODE_COMMENTS    = YES\n\n# If the REFERENCED_BY_RELATION tag is set to YES\n# then for each documented function all documented\n# functions referencing it will be listed.\n\nREFERENCED_BY_RELATION = YES\n\n# If the REFERENCES_RELATION tag is set to YES\n# then for each documented function all documented entities\n# called/used by that function will be listed.\n\nREFERENCES_RELATION    = YES\n\n# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)\n# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from\n# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will\n# link to the source code.\n# Otherwise they will link to the documentation.\n\nREFERENCES_LINK_SOURCE = YES\n\n# If the USE_HTAGS tag is set to YES then the references to source code\n# will point to the HTML generated by the htags(1) tool instead of doxygen\n# built-in source browser. The htags tool is part of GNU's global source\n# tagging system (see http://www.gnu.org/software/global/global.html). You\n# will need version 4.8.6 or higher.\n\nUSE_HTAGS              = NO\n\n# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen\n# will generate a verbatim copy of the header file for each class for\n# which an include is specified. Set to NO to disable this.\n\nVERBATIM_HEADERS       = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the alphabetical class index\n#---------------------------------------------------------------------------\n\n# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\n# of all compounds will be generated. Enable this if the project\n# contains a lot of classes, structs, unions or interfaces.\n\nALPHABETICAL_INDEX     = NO\n\n# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then\n# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns\n# in which this list will be split (can be a number in the range [1..20])\n\nCOLS_IN_ALPHA_INDEX    = 5\n\n# In case all classes in a project start with a common prefix, all\n# classes will be put under the same header in the alphabetical index.\n# The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n# should be ignored while generating the index headers.\n\nIGNORE_PREFIX          = Qsci\n\n#---------------------------------------------------------------------------\n# configuration options related to the HTML output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_HTML tag is set to YES (the default) Doxygen will\n# generate HTML output.\n\nGENERATE_HTML          = YES\n\n# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.\n# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n# put in front of it. If left blank `html' will be used as the default path.\n\nHTML_OUTPUT            = html\n\n# The HTML_FILE_EXTENSION tag can be used to specify the file extension for\n# each generated HTML page (for example: .htm,.php,.asp). If it is left blank\n# doxygen will generate files with .html extension.\n\nHTML_FILE_EXTENSION    = .html\n\n# The HTML_HEADER tag can be used to specify a personal HTML header for\n# each generated HTML page. If it is left blank doxygen will generate a\n# standard header.\n\nHTML_HEADER            =\n\n# The HTML_FOOTER tag can be used to specify a personal HTML footer for\n# each generated HTML page. If it is left blank doxygen will generate a\n# standard footer.\n\nHTML_FOOTER            =\n\n# The HTML_STYLESHEET tag can be used to specify a user-defined cascading\n# style sheet that is used by each HTML page. It can be used to\n# fine-tune the look of the HTML output. If the tag is left blank doxygen\n# will generate a default style sheet. Note that doxygen will try to copy\n# the style sheet file to the HTML output directory, so don't put your own\n# stylesheet in the HTML output directory as well, or it will be erased!\n\nHTML_STYLESHEET        =\n\n# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,\n# files or namespaces will be aligned in HTML using tables. If set to\n# NO a bullet list will be used.\n\nHTML_ALIGN_MEMBERS     = NO\n\n# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML\n# documentation will contain sections that can be hidden and shown after the\n# page has loaded. For this to work a browser that supports\n# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox\n# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).\n\nHTML_DYNAMIC_SECTIONS  = NO\n\n# If the GENERATE_DOCSET tag is set to YES, additional index files\n# will be generated that can be used as input for Apple's Xcode 3\n# integrated development environment, introduced with OSX 10.5 (Leopard).\n# To create a documentation set, doxygen will generate a Makefile in the\n# HTML output directory. Running make will produce the docset in that\n# directory and running \"make install\" will install the docset in\n# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find\n# it at startup.\n# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.\n\nGENERATE_DOCSET        = NO\n\n# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the\n# feed. A documentation feed provides an umbrella under which multiple\n# documentation sets from a single provider (such as a company or product suite)\n# can be grouped.\n\nDOCSET_FEEDNAME        = \"Doxygen generated docs\"\n\n# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that\n# should uniquely identify the documentation set bundle. This should be a\n# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen\n# will append .docset to the name.\n\nDOCSET_BUNDLE_ID       = org.doxygen.Project\n\n# If the GENERATE_HTMLHELP tag is set to YES, additional index files\n# will be generated that can be used as input for tools like the\n# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)\n# of the generated HTML documentation.\n\nGENERATE_HTMLHELP      = NO\n\n# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can\n# be used to specify the file name of the resulting .chm file. You\n# can add a path in front of the file if the result should not be\n# written to the html output directory.\n\nCHM_FILE               =\n\n# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can\n# be used to specify the location (absolute path including file name) of\n# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run\n# the HTML help compiler on the generated index.hhp.\n\nHHC_LOCATION           =\n\n# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag\n# controls if a separate .chi index file is generated (YES) or that\n# it should be included in the master .chm file (NO).\n\nGENERATE_CHI           = NO\n\n# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING\n# is used to encode HtmlHelp index (hhk), content (hhc) and project file\n# content.\n\nCHM_INDEX_ENCODING     =\n\n# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag\n# controls whether a binary table of contents is generated (YES) or a\n# normal table of contents (NO) in the .chm file.\n\nBINARY_TOC             = NO\n\n# The TOC_EXPAND flag can be set to YES to add extra items for group members\n# to the contents of the HTML help documentation and to the tree view.\n\nTOC_EXPAND             = NO\n\n# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER\n# are set, an additional index file will be generated that can be used as input for\n# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated\n# HTML documentation.\n\nGENERATE_QHP           = NO\n\n# If the QHG_LOCATION tag is specified, the QCH_FILE tag can\n# be used to specify the file name of the resulting .qch file.\n# The path specified is relative to the HTML output folder.\n\nQCH_FILE               =\n\n# The QHP_NAMESPACE tag specifies the namespace to use when generating\n# Qt Help Project output. For more information please see\n# http://doc.trolltech.com/qthelpproject.html#namespace\n\nQHP_NAMESPACE          =\n\n# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating\n# Qt Help Project output. For more information please see\n# http://doc.trolltech.com/qthelpproject.html#virtual-folders\n\nQHP_VIRTUAL_FOLDER     = doc\n\n# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.\n# For more information please see\n# http://doc.trolltech.com/qthelpproject.html#custom-filters\n\nQHP_CUST_FILTER_NAME   =\n\n# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see\n# <a href=\"http://doc.trolltech.com/qthelpproject.html#custom-filters\">Qt Help Project / Custom Filters</a>.\n\nQHP_CUST_FILTER_ATTRS  =\n\n# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's\n# filter section matches.\n# <a href=\"http://doc.trolltech.com/qthelpproject.html#filter-attributes\">Qt Help Project / Filter Attributes</a>.\n\nQHP_SECT_FILTER_ATTRS  =\n\n# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can\n# be used to specify the location of Qt's qhelpgenerator.\n# If non-empty doxygen will try to run qhelpgenerator on the generated\n# .qhp file.\n\nQHG_LOCATION           =\n\n# The DISABLE_INDEX tag can be used to turn on/off the condensed index at\n# top of each HTML page. The value NO (the default) enables the index and\n# the value YES disables it.\n\nDISABLE_INDEX          = NO\n\n# This tag can be used to set the number of enum values (range [1..20])\n# that doxygen will group on one line in the generated HTML documentation.\n\nENUM_VALUES_PER_LINE   = 3\n\n# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index\n# structure should be generated to display hierarchical information.\n# If the tag value is set to YES, a side panel will be generated\n# containing a tree-like index structure (just like the one that\n# is generated for HTML Help). For this to work a browser that supports\n# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).\n# Windows users are probably better off using the HTML help feature.\n\nGENERATE_TREEVIEW      = NO\n\n# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,\n# and Class Hierarchy pages using a tree view instead of an ordered list.\n\nUSE_INLINE_TREES       = NO\n\n# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be\n# used to set the initial width (in pixels) of the frame in which the tree\n# is shown.\n\nTREEVIEW_WIDTH         = 250\n\n# Use this tag to change the font size of Latex formulas included\n# as images in the HTML documentation. The default is 10. Note that\n# when you change the font size after a successful doxygen run you need\n# to manually remove any form_*.png images from the HTML output directory\n# to force them to be regenerated.\n\nFORMULA_FONTSIZE       = 10\n\n# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript\n# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)\n# there is already a search function so this one should typically\n# be disabled.\n\nSEARCHENGINE           = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the LaTeX output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\n# generate Latex output.\n\nGENERATE_LATEX         = NO\n\n# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.\n# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n# put in front of it. If left blank `latex' will be used as the default path.\n\nLATEX_OUTPUT           = latex\n\n# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be\n# invoked. If left blank `latex' will be used as the default command name.\n\nLATEX_CMD_NAME         = latex\n\n# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to\n# generate index for LaTeX. If left blank `makeindex' will be used as the\n# default command name.\n\nMAKEINDEX_CMD_NAME     = makeindex\n\n# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact\n# LaTeX documents. This may be useful for small projects and may help to\n# save some trees in general.\n\nCOMPACT_LATEX          = NO\n\n# The PAPER_TYPE tag can be used to set the paper type that is used\n# by the printer. Possible values are: a4, a4wide, letter, legal and\n# executive. If left blank a4wide will be used.\n\nPAPER_TYPE             = a4wide\n\n# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX\n# packages that should be included in the LaTeX output.\n\nEXTRA_PACKAGES         =\n\n# The LATEX_HEADER tag can be used to specify a personal LaTeX header for\n# the generated latex document. The header should contain everything until\n# the first chapter. If it is left blank doxygen will generate a\n# standard header. Notice: only use this tag if you know what you are doing!\n\nLATEX_HEADER           =\n\n# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated\n# is prepared for conversion to pdf (using ps2pdf). The pdf file will\n# contain links (just like the HTML output) instead of page references\n# This makes the output suitable for online browsing using a pdf viewer.\n\nPDF_HYPERLINKS         = NO\n\n# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of\n# plain latex in the generated Makefile. Set this option to YES to get a\n# higher quality PDF documentation.\n\nUSE_PDFLATEX           = NO\n\n# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\\\batchmode.\n# command to the generated LaTeX files. This will instruct LaTeX to keep\n# running if errors occur, instead of asking the user for help.\n# This option is also used when generating formulas in HTML.\n\nLATEX_BATCHMODE        = NO\n\n# If LATEX_HIDE_INDICES is set to YES then doxygen will not\n# include the index chapters (such as File Index, Compound Index, etc.)\n# in the output.\n\nLATEX_HIDE_INDICES     = NO\n\n# 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.\n\nLATEX_SOURCE_CODE      = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the RTF output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\n# The RTF output is optimized for Word 97 and may not look very pretty with\n# other RTF readers or editors.\n\nGENERATE_RTF           = NO\n\n# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.\n# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n# put in front of it. If left blank `rtf' will be used as the default path.\n\nRTF_OUTPUT             = rtf\n\n# If the COMPACT_RTF tag is set to YES Doxygen generates more compact\n# RTF documents. This may be useful for small projects and may help to\n# save some trees in general.\n\nCOMPACT_RTF            = NO\n\n# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated\n# will contain hyperlink fields. The RTF file will\n# contain links (just like the HTML output) instead of page references.\n# This makes the output suitable for online browsing using WORD or other\n# programs which support those fields.\n# Note: wordpad (write) and others do not support links.\n\nRTF_HYPERLINKS         = NO\n\n# Load stylesheet definitions from file. Syntax is similar to doxygen's\n# config file, i.e. a series of assignments. You only have to provide\n# replacements, missing definitions are set to their default value.\n\nRTF_STYLESHEET_FILE    =\n\n# Set optional variables used in the generation of an rtf document.\n# Syntax is similar to doxygen's config file.\n\nRTF_EXTENSIONS_FILE    =\n\n#---------------------------------------------------------------------------\n# configuration options related to the man page output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_MAN tag is set to YES (the default) Doxygen will\n# generate man pages\n\nGENERATE_MAN           = NO\n\n# The MAN_OUTPUT tag is used to specify where the man pages will be put.\n# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n# put in front of it. If left blank `man' will be used as the default path.\n\nMAN_OUTPUT             = man\n\n# The MAN_EXTENSION tag determines the extension that is added to\n# the generated man pages (default is the subroutine's section .3)\n\nMAN_EXTENSION          = .3\n\n# If the MAN_LINKS tag is set to YES and Doxygen generates man output,\n# then it will generate one additional man file for each entity\n# documented in the real man page(s). These additional files\n# only source the real man page, but without them the man command\n# would be unable to find the correct page. The default is NO.\n\nMAN_LINKS              = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the XML output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_XML tag is set to YES Doxygen will\n# generate an XML file that captures the structure of\n# the code including all documentation.\n\nGENERATE_XML           = NO\n\n# The XML_OUTPUT tag is used to specify where the XML pages will be put.\n# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n# put in front of it. If left blank `xml' will be used as the default path.\n\nXML_OUTPUT             = xml\n\n# The XML_SCHEMA tag can be used to specify an XML schema,\n# which can be used by a validating XML parser to check the\n# syntax of the XML files.\n\nXML_SCHEMA             =\n\n# The XML_DTD tag can be used to specify an XML DTD,\n# which can be used by a validating XML parser to check the\n# syntax of the XML files.\n\nXML_DTD                =\n\n# If the XML_PROGRAMLISTING tag is set to YES Doxygen will\n# dump the program listings (including syntax highlighting\n# and cross-referencing information) to the XML output. Note that\n# enabling this will significantly increase the size of the XML output.\n\nXML_PROGRAMLISTING     = YES\n\n#---------------------------------------------------------------------------\n# configuration options for the AutoGen Definitions output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will\n# generate an AutoGen Definitions (see autogen.sf.net) file\n# that captures the structure of the code including all\n# documentation. Note that this feature is still experimental\n# and incomplete at the moment.\n\nGENERATE_AUTOGEN_DEF   = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the Perl module output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_PERLMOD tag is set to YES Doxygen will\n# generate a Perl module file that captures the structure of\n# the code including all documentation. Note that this\n# feature is still experimental and incomplete at the\n# moment.\n\nGENERATE_PERLMOD       = NO\n\n# If the PERLMOD_LATEX tag is set to YES Doxygen will generate\n# the necessary Makefile rules, Perl scripts and LaTeX code to be able\n# to generate PDF and DVI output from the Perl module output.\n\nPERLMOD_LATEX          = NO\n\n# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be\n# nicely formatted so it can be parsed by a human reader.\n# This is useful\n# if you want to understand what is going on.\n# On the other hand, if this\n# tag is set to NO the size of the Perl module output will be much smaller\n# and Perl will parse it just the same.\n\nPERLMOD_PRETTY         = YES\n\n# The names of the make variables in the generated doxyrules.make file\n# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.\n# This is useful so different doxyrules.make files included by the same\n# Makefile don't overwrite each other's variables.\n\nPERLMOD_MAKEVAR_PREFIX =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the preprocessor\n#---------------------------------------------------------------------------\n\n# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\n# evaluate all C-preprocessor directives found in the sources and include\n# files.\n\nENABLE_PREPROCESSING   = YES\n\n# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro\n# names in the source code. If set to NO (the default) only conditional\n# compilation will be performed. Macro expansion can be done in a controlled\n# way by setting EXPAND_ONLY_PREDEF to YES.\n\nMACRO_EXPANSION        = NO\n\n# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES\n# then the macro expansion is limited to the macros specified with the\n# PREDEFINED and EXPAND_AS_DEFINED tags.\n\nEXPAND_ONLY_PREDEF     = NO\n\n# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files\n# in the INCLUDE_PATH (see below) will be search if a #include is found.\n\nSEARCH_INCLUDES        = YES\n\n# The INCLUDE_PATH tag can be used to specify one or more directories that\n# contain include files that are not input files but should be processed by\n# the preprocessor.\n\nINCLUDE_PATH           =\n\n# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard\n# patterns (like *.h and *.hpp) to filter out the header-files in the\n# directories. If left blank, the patterns specified with FILE_PATTERNS will\n# be used.\n\nINCLUDE_FILE_PATTERNS  =\n\n# The PREDEFINED tag can be used to specify one or more macro names that\n# are defined before the preprocessor is started (similar to the -D option of\n# gcc). The argument of the tag is a list of macros of the form: name\n# or name=definition (no spaces). If the definition and the = are\n# omitted =1 is assumed. To prevent a macro definition from being\n# undefined via #undef or recursively expanded use the := operator\n# instead of the = operator.\n\nPREDEFINED             = QT_VERSION=0x040000\n\n# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then\n# this tag can be used to specify a list of macro names that should be expanded.\n# The macro definition that is found in the sources will be used.\n# Use the PREDEFINED tag if you want to use a different macro definition.\n\nEXPAND_AS_DEFINED      =\n\n# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then\n# doxygen's preprocessor will remove all function-like macros that are alone\n# on a line, have an all uppercase name, and do not end with a semicolon. Such\n# function macros are typically used for boiler-plate code, and will confuse\n# the parser if not removed.\n\nSKIP_FUNCTION_MACROS   = YES\n\n#---------------------------------------------------------------------------\n# Configuration::additions related to external references\n#---------------------------------------------------------------------------\n\n# The TAGFILES option can be used to specify one or more tagfiles.\n# Optionally an initial location of the external documentation\n# can be added for each tagfile. The format of a tag file without\n# this location is as follows:\n#\n# TAGFILES = file1 file2 ...\n# Adding location for the tag files is done as follows:\n#\n# TAGFILES = file1=loc1 \"file2 = loc2\" ...\n# where \"loc1\" and \"loc2\" can be relative or absolute paths or\n# URLs. If a location is present for each tag, the installdox tool\n# does not have to be run to correct the links.\n# Note that each tag file must have a unique name\n# (where the name does NOT include the path)\n# If a tag file is not located in the directory in which doxygen\n# is run, you must also specify the path to the tagfile here.\n\nTAGFILES               =\n\n# When a file name is specified after GENERATE_TAGFILE, doxygen will create\n# a tag file that is based on the input files it reads.\n\nGENERATE_TAGFILE       =\n\n# If the ALLEXTERNALS tag is set to YES all external classes will be listed\n# in the class index. If set to NO only the inherited external classes\n# will be listed.\n\nALLEXTERNALS           = NO\n\n# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed\n# in the modules index. If set to NO, only the current project's groups will\n# be listed.\n\nEXTERNAL_GROUPS        = YES\n\n# The PERL_PATH should be the absolute path and name of the perl script\n# interpreter (i.e. the result of `which perl').\n\nPERL_PATH              = /usr/bin/perl\n\n#---------------------------------------------------------------------------\n# Configuration options related to the dot tool\n#---------------------------------------------------------------------------\n\n# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\n# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base\n# or super classes. Setting the tag to NO turns the diagrams off. Note that\n# this option is superseded by the HAVE_DOT option below. This is only a\n# fallback. It is recommended to install and use dot, since it yields more\n# powerful graphs.\n\nCLASS_DIAGRAMS         = NO\n\n# You can define message sequence charts within doxygen comments using the \\msc\n# command. Doxygen will then run the mscgen tool (see\n# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the\n# documentation. The MSCGEN_PATH tag allows you to specify the directory where\n# the mscgen tool resides. If left empty the tool is assumed to be found in the\n# default search path.\n\nMSCGEN_PATH            =\n\n# If set to YES, the inheritance and collaboration graphs will hide\n# inheritance and usage relations if the target is undocumented\n# or is not a class.\n\nHIDE_UNDOC_RELATIONS   = YES\n\n# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\n# available from the path. This tool is part of Graphviz, a graph visualization\n# toolkit from AT&T and Lucent Bell Labs. The other options in this section\n# have no effect if this option is set to NO (the default)\n\nHAVE_DOT               = NO\n\n# By default doxygen will write a font called FreeSans.ttf to the output\n# directory and reference it in all dot files that doxygen generates. This\n# font does not include all possible unicode characters however, so when you need\n# these (or just want a differently looking font) you can specify the font name\n# using DOT_FONTNAME. You need need to make sure dot is able to find the font,\n# which can be done by putting it in a standard location or by setting the\n# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory\n# containing the font.\n\nDOT_FONTNAME           = FreeSans\n\n# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.\n# The default size is 10pt.\n\nDOT_FONTSIZE           = 10\n\n# By default doxygen will tell dot to use the output directory to look for the\n# FreeSans.ttf font (which doxygen will put there itself). If you specify a\n# different font using DOT_FONTNAME you can set the path where dot\n# can find it using this tag.\n\nDOT_FONTPATH           =\n\n# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen\n# will generate a graph for each documented class showing the direct and\n# indirect inheritance relations. Setting this tag to YES will force the\n# the CLASS_DIAGRAMS tag to NO.\n\nCLASS_GRAPH            = YES\n\n# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen\n# will generate a graph for each documented class showing the direct and\n# indirect implementation dependencies (inheritance, containment, and\n# class references variables) of the class with other documented classes.\n\nCOLLABORATION_GRAPH    = YES\n\n# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen\n# will generate a graph for groups, showing the direct groups dependencies\n\nGROUP_GRAPHS           = YES\n\n# If the UML_LOOK tag is set to YES doxygen will generate inheritance and\n# collaboration diagrams in a style similar to the OMG's Unified Modeling\n# Language.\n\nUML_LOOK               = NO\n\n# If set to YES, the inheritance and collaboration graphs will show the\n# relations between templates and their instances.\n\nTEMPLATE_RELATIONS     = YES\n\n# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT\n# tags are set to YES then doxygen will generate a graph for each documented\n# file showing the direct and indirect include dependencies of the file with\n# other documented files.\n\nINCLUDE_GRAPH          = YES\n\n# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and\n# HAVE_DOT tags are set to YES then doxygen will generate a graph for each\n# documented header file showing the documented files that directly or\n# indirectly include this file.\n\nINCLUDED_BY_GRAPH      = YES\n\n# If the CALL_GRAPH and HAVE_DOT options are set to YES then\n# doxygen will generate a call dependency graph for every global function\n# or class method. Note that enabling this option will significantly increase\n# the time of a run. So in most cases it will be better to enable call graphs\n# for selected functions only using the \\callgraph command.\n\nCALL_GRAPH             = NO\n\n# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then\n# doxygen will generate a caller dependency graph for every global function\n# or class method. Note that enabling this option will significantly increase\n# the time of a run. So in most cases it will be better to enable caller\n# graphs for selected functions only using the \\callergraph command.\n\nCALLER_GRAPH           = NO\n\n# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen\n# will graphical hierarchy of all classes instead of a textual one.\n\nGRAPHICAL_HIERARCHY    = YES\n\n# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES\n# then doxygen will show the dependencies a directory has on other directories\n# in a graphical way. The dependency relations are determined by the #include\n# relations between the files in the directories.\n\nDIRECTORY_GRAPH        = YES\n\n# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images\n# generated by dot. Possible values are png, jpg, or gif\n# If left blank png will be used.\n\nDOT_IMAGE_FORMAT       = png\n\n# The tag DOT_PATH can be used to specify the path where the dot tool can be\n# found. If left blank, it is assumed the dot tool can be found in the path.\n\nDOT_PATH               =\n\n# The DOTFILE_DIRS tag can be used to specify one or more directories that\n# contain dot files that are included in the documentation (see the\n# \\dotfile command).\n\nDOTFILE_DIRS           =\n\n# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of\n# nodes that will be shown in the graph. If the number of nodes in a graph\n# becomes larger than this value, doxygen will truncate the graph, which is\n# visualized by representing a node as a red box. Note that doxygen if the\n# number of direct children of the root node in a graph is already larger than\n# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note\n# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.\n\nDOT_GRAPH_MAX_NODES    = 50\n\n# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the\n# graphs generated by dot. A depth value of 3 means that only nodes reachable\n# from the root by following a path via at most 3 edges will be shown. Nodes\n# that lay further from the root node will be omitted. Note that setting this\n# option to 1 or 2 may greatly reduce the computation time needed for large\n# code bases. Also note that the size of a graph can be further restricted by\n# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.\n\nMAX_DOT_GRAPH_DEPTH    = 0\n\n# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent\n# background. This is disabled by default, because dot on Windows does not\n# seem to support this out of the box. Warning: Depending on the platform used,\n# enabling this option may lead to badly anti-aliased labels on the edges of\n# a graph (i.e. they become hard to read).\n\nDOT_TRANSPARENT        = NO\n\n# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output\n# files in one run (i.e. multiple -o and -T options on the command line). This\n# makes dot run faster, but since only newer versions of dot (>1.8.10)\n# support this, this feature is disabled by default.\n\nDOT_MULTI_TARGETS      = NO\n\n# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will\n# generate a legend page explaining the meaning of the various boxes and\n# arrows in the dot generated graphs.\n\nGENERATE_LEGEND        = YES\n\n# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will\n# remove the intermediate dot files that are used to generate\n# the various graphs.\n\nDOT_CLEANUP            = YES\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-2.4.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseHTTPServer.BaseHTTPRequestHandler(??)\nBaseHTTPServer.DEFAULT_ERROR_MESSAGE\nBaseHTTPServer.HTTPServer(??)\nBaseHTTPServer.SocketServer\nBaseHTTPServer.mimetools\nBaseHTTPServer.socket\nBaseHTTPServer.sys\nBaseHTTPServer.test(??)\nBaseHTTPServer.time\nBastion.Bastion(??)\nBastion.BastionClass(??)\nBastion.MethodType\nCGIHTTPServer.BaseHTTPServer\nCGIHTTPServer.CGIHTTPRequestHandler(??)\nCGIHTTPServer.SimpleHTTPServer\nCGIHTTPServer.executable(??)\nCGIHTTPServer.nobody\nCGIHTTPServer.nobody_uid(??)\nCGIHTTPServer.os\nCGIHTTPServer.select\nCGIHTTPServer.sys\nCGIHTTPServer.test(??)\nCGIHTTPServer.urllib\nConfigParser.ConfigParser(??)\nConfigParser.DEFAULTSECT\nConfigParser.DuplicateSectionError(??)\nConfigParser.Error(??)\nConfigParser.InterpolationDepthError(??)\nConfigParser.InterpolationError(??)\nConfigParser.InterpolationMissingOptionError(??)\nConfigParser.InterpolationSyntaxError(??)\nConfigParser.MAX_INTERPOLATION_DEPTH\nConfigParser.MissingSectionHeaderError(??)\nConfigParser.NoOptionError(??)\nConfigParser.NoSectionError(??)\nConfigParser.ParsingError(??)\nConfigParser.RawConfigParser(??)\nConfigParser.SafeConfigParser(??)\nConfigParser.re\nCookie.BaseCookie\nCookie.Cookie\nCookie.CookieError(??)\nCookie.Morsel\nCookie.SerialCookie\nCookie.SimpleCookie\nCookie.SmartCookie\nCookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\nCookie.loads(string) -- Load a pickle from the given string\nCookie.re\nCookie.string\nCookie.warnings\nDeprecationWarning(??)\nDocXMLRPCServer.CGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocCGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCServer(??)\nDocXMLRPCServer.ServerHTMLDoc(??)\nDocXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nDocXMLRPCServer.SimpleXMLRPCServer(??)\nDocXMLRPCServer.XMLRPCDocGenerator(??)\nDocXMLRPCServer.inspect\nDocXMLRPCServer.pydoc\nDocXMLRPCServer.re\nDocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nDocXMLRPCServer.sys\nDocXMLRPCServer.types\nEOFError(??)\nEllipsis\nEnvironmentError(??)\nException(??)\nFalse\nFloatingPointError(??)\nFutureWarning(??)\nHTMLParser.HTMLParseError(??)\nHTMLParser.HTMLParser(??)\nHTMLParser.attrfind\nHTMLParser.charref\nHTMLParser.commentclose\nHTMLParser.endendtag\nHTMLParser.endtagfind\nHTMLParser.entityref\nHTMLParser.incomplete\nHTMLParser.interesting_cdata\nHTMLParser.interesting_normal\nHTMLParser.locatestarttagend\nHTMLParser.markupbase\nHTMLParser.piclose\nHTMLParser.re\nHTMLParser.starttagopen\nHTMLParser.tagfind\nIOError(??)\nImportError(??)\nIndentationError(??)\nIndexError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nMimeWriter.MimeWriter(??)\nMimeWriter.mimetools\nNameError(??)\nNone\nNotImplemented\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nOverflowWarning(??)\nPendingDeprecationWarning(??)\nQueue.Empty(??)\nQueue.Full(??)\nQueue.Queue(??)\nQueue.deque(iterable) --> deque object\nReferenceError(??)\nRuntimeError(??)\nRuntimeWarning(??)\nSimpleHTTPServer.BaseHTTPServer\nSimpleHTTPServer.SimpleHTTPRequestHandler(??)\nSimpleHTTPServer.StringIO(??)\nSimpleHTTPServer.cgi\nSimpleHTTPServer.mimetypes\nSimpleHTTPServer.os\nSimpleHTTPServer.posixpath\nSimpleHTTPServer.shutil\nSimpleHTTPServer.test(??)\nSimpleHTTPServer.urllib\nSimpleHTTPServer.urlparse\nSimpleXMLRPCServer.BaseHTTPServer\nSimpleXMLRPCServer.CGIXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.Fault(??)\nSimpleXMLRPCServer.SimpleXMLRPCDispatcher(??)\nSimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.SimpleXMLRPCServer(??)\nSimpleXMLRPCServer.SocketServer\nSimpleXMLRPCServer.list_public_methods(??)\nSimpleXMLRPCServer.os\nSimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2]\nSimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nSimpleXMLRPCServer.sys\nSimpleXMLRPCServer.xmlrpclib\nSocketServer.BaseRequestHandler(??)\nSocketServer.BaseServer(??)\nSocketServer.DatagramRequestHandler(??)\nSocketServer.ForkingMixIn(??)\nSocketServer.ForkingTCPServer(??)\nSocketServer.ForkingUDPServer(??)\nSocketServer.StreamRequestHandler(??)\nSocketServer.TCPServer(??)\nSocketServer.ThreadingMixIn(??)\nSocketServer.ThreadingTCPServer(??)\nSocketServer.ThreadingUDPServer(??)\nSocketServer.ThreadingUnixDatagramServer(??)\nSocketServer.ThreadingUnixStreamServer(??)\nSocketServer.UDPServer(??)\nSocketServer.UnixDatagramServer(??)\nSocketServer.UnixStreamServer(??)\nSocketServer.os\nSocketServer.socket\nSocketServer.sys\nStandardError(??)\nStopIteration(??)\nStringIO.EINVAL\nStringIO.StringIO(??)\nStringIO.test(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTrue\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUserDict.DictMixin(??)\nUserDict.IterableUserDict(??)\nUserDict.UserDict(??)\nUserList.UserList(??)\nUserString.MutableString(??)\nUserString.StringTypes\nUserString.UserString(??)\nUserString.sys\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct\nanydbm.error\nanydbm.open(??)\napply(object[, args[, kwargs]]) -> value\narray.ArrayType\narray.array(typecode [, initializer]) -> array\nasynchat.async_chat(??)\nasynchat.asyncore\nasynchat.deque(iterable) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasynchat.socket\nasyncore.EALREADY\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINTR\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode\nasyncore.exceptions\nasyncore.fcntl\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select\nasyncore.socket\nasyncore.socket_map\nasyncore.sys\nasyncore.time\nasyncore.write(??)\natexit.register(??)\natexit.sys\naudiodev.AudioDev(??)\naudiodev.Play_Audio_sgi(??)\naudiodev.Play_Audio_sun(??)\naudiodev.error(??)\naudiodev.test(??)\naudioop.add\naudioop.adpcm2lin\naudioop.avg\naudioop.avgpp\naudioop.bias\naudioop.cross\naudioop.error(??)\naudioop.findfactor\naudioop.findfit\naudioop.findmax\naudioop.getsample\naudioop.lin2adpcm\naudioop.lin2lin\naudioop.lin2ulaw\naudioop.max\naudioop.maxpp\naudioop.minmax\naudioop.mul\naudioop.ratecv\naudioop.reverse\naudioop.rms\naudioop.tomono\naudioop.tostereo\naudioop.ulaw2lin\nbase64.EMPTYSTRING\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii\nbase64.decode(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodestring(??)\nbase64.k\nbase64.re\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct\nbase64.test(??)\nbase64.test1(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbase64.v\nbasestring\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.foo(??)\nbdb.os\nbdb.set_trace(??)\nbdb.sys\nbdb.test(??)\nbdb.types\nbinascii.Error(??)\nbinascii.Incomplete(??)\nbinascii.a2b_base64\nbinascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.\nbinascii.a2b_hqx\nbinascii.a2b_qp\nbinascii.a2b_uu\nbinascii.b2a_base64\nbinascii.b2a_hex(data) -> s; Hexadecimal representation of binary data.\nbinascii.b2a_hqx\nbinascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nbinascii.b2a_uu\nbinascii.crc32\nbinascii.crc_hqx\nbinascii.hexlify\nbinascii.rlecode_hqx\nbinascii.rledecode_hqx\nbinascii.unhexlify\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii\nbinhex.binhex(??)\nbinhex.getfileinfo(??)\nbinhex.hexbin(??)\nbinhex.openrsrc(??)\nbinhex.os\nbinhex.struct\nbinhex.sys\nbisect.bisect\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbsddb.UserDict\nbsddb.btopen(??)\nbsddb.db\nbsddb.db.DB\nbsddb.db.DBAccessError(??)\nbsddb.db.DBAgainError(??)\nbsddb.db.DBBusyError(??)\nbsddb.db.DBCursorClosedError(??)\nbsddb.db.DBEnv\nbsddb.db.DBError(??)\nbsddb.db.DBFileExistsError(??)\nbsddb.db.DBInvalidArgError(??)\nbsddb.db.DBKeyEmptyError(??)\nbsddb.db.DBKeyExistError(??)\nbsddb.db.DBLockDeadlockError(??)\nbsddb.db.DBLockNotGrantedError(??)\nbsddb.db.DBNoMemoryError(??)\nbsddb.db.DBNoServerError(??)\nbsddb.db.DBNoServerHomeError(??)\nbsddb.db.DBNoServerIDError(??)\nbsddb.db.DBNoSpaceError(??)\nbsddb.db.DBNoSuchFileError(??)\nbsddb.db.DBNotFoundError(??)\nbsddb.db.DBOldVersionError(??)\nbsddb.db.DBPageNotFoundError(??)\nbsddb.db.DBPermissionsError(??)\nbsddb.db.DBRunRecoveryError(??)\nbsddb.db.DBSecondaryBadError(??)\nbsddb.db.DBVerifyBadError(??)\nbsddb.db.DB_AFTER\nbsddb.db.DB_AGGRESSIVE\nbsddb.db.DB_APPEND\nbsddb.db.DB_ARCH_ABS\nbsddb.db.DB_ARCH_DATA\nbsddb.db.DB_ARCH_LOG\nbsddb.db.DB_AUTO_COMMIT\nbsddb.db.DB_BEFORE\nbsddb.db.DB_BTREE\nbsddb.db.DB_CACHED_COUNTS\nbsddb.db.DB_CDB_ALLDB\nbsddb.db.DB_CHECKPOINT\nbsddb.db.DB_CHKSUM\nbsddb.db.DB_CONSUME\nbsddb.db.DB_CONSUME_WAIT\nbsddb.db.DB_CREATE\nbsddb.db.DB_CURRENT\nbsddb.db.DB_DIRECT_DB\nbsddb.db.DB_DIRECT_LOG\nbsddb.db.DB_DIRTY_READ\nbsddb.db.DB_DONOTINDEX\nbsddb.db.DB_DUP\nbsddb.db.DB_DUPSORT\nbsddb.db.DB_ENCRYPT\nbsddb.db.DB_ENCRYPT_AES\nbsddb.db.DB_EXCL\nbsddb.db.DB_EXTENT\nbsddb.db.DB_FAST_STAT\nbsddb.db.DB_FCNTL_LOCKING\nbsddb.db.DB_FIRST\nbsddb.db.DB_FLUSH\nbsddb.db.DB_FORCE\nbsddb.db.DB_GET_BOTH\nbsddb.db.DB_GET_RECNO\nbsddb.db.DB_HASH\nbsddb.db.DB_INCOMPLETE\nbsddb.db.DB_INIT_CDB\nbsddb.db.DB_INIT_LOCK\nbsddb.db.DB_INIT_LOG\nbsddb.db.DB_INIT_MPOOL\nbsddb.db.DB_INIT_REP\nbsddb.db.DB_INIT_TXN\nbsddb.db.DB_JOINENV\nbsddb.db.DB_JOIN_ITEM\nbsddb.db.DB_JOIN_NOSORT\nbsddb.db.DB_KEYEMPTY\nbsddb.db.DB_KEYEXIST\nbsddb.db.DB_KEYFIRST\nbsddb.db.DB_KEYLAST\nbsddb.db.DB_LAST\nbsddb.db.DB_LOCKDOWN\nbsddb.db.DB_LOCK_CONFLICT\nbsddb.db.DB_LOCK_DEADLOCK\nbsddb.db.DB_LOCK_DEFAULT\nbsddb.db.DB_LOCK_DIRTY\nbsddb.db.DB_LOCK_DUMP\nbsddb.db.DB_LOCK_GET\nbsddb.db.DB_LOCK_INHERIT\nbsddb.db.DB_LOCK_IREAD\nbsddb.db.DB_LOCK_IWR\nbsddb.db.DB_LOCK_IWRITE\nbsddb.db.DB_LOCK_MAXLOCKS\nbsddb.db.DB_LOCK_MINLOCKS\nbsddb.db.DB_LOCK_MINWRITE\nbsddb.db.DB_LOCK_NG\nbsddb.db.DB_LOCK_NORUN\nbsddb.db.DB_LOCK_NOTGRANTED\nbsddb.db.DB_LOCK_NOWAIT\nbsddb.db.DB_LOCK_OLDEST\nbsddb.db.DB_LOCK_PUT\nbsddb.db.DB_LOCK_PUT_ALL\nbsddb.db.DB_LOCK_PUT_OBJ\nbsddb.db.DB_LOCK_RANDOM\nbsddb.db.DB_LOCK_READ\nbsddb.db.DB_LOCK_RECORD\nbsddb.db.DB_LOCK_SWITCH\nbsddb.db.DB_LOCK_UPGRADE\nbsddb.db.DB_LOCK_UPGRADE_WRITE\nbsddb.db.DB_LOCK_WAIT\nbsddb.db.DB_LOCK_WRITE\nbsddb.db.DB_LOCK_WWRITE\nbsddb.db.DB_LOCK_YOUNGEST\nbsddb.db.DB_LOG_AUTOREMOVE\nbsddb.db.DB_LSTAT_ABORTED\nbsddb.db.DB_LSTAT_ERR\nbsddb.db.DB_LSTAT_FREE\nbsddb.db.DB_LSTAT_HELD\nbsddb.db.DB_LSTAT_PENDING\nbsddb.db.DB_LSTAT_WAITING\nbsddb.db.DB_MAX_PAGES\nbsddb.db.DB_MAX_RECORDS\nbsddb.db.DB_MULTIPLE\nbsddb.db.DB_MULTIPLE_KEY\nbsddb.db.DB_NEXT\nbsddb.db.DB_NEXT_DUP\nbsddb.db.DB_NEXT_NODUP\nbsddb.db.DB_NODUPDATA\nbsddb.db.DB_NOLOCKING\nbsddb.db.DB_NOMMAP\nbsddb.db.DB_NOORDERCHK\nbsddb.db.DB_NOOVERWRITE\nbsddb.db.DB_NOPANIC\nbsddb.db.DB_NOSERVER\nbsddb.db.DB_NOSERVER_HOME\nbsddb.db.DB_NOSERVER_ID\nbsddb.db.DB_NOSYNC\nbsddb.db.DB_NOTFOUND\nbsddb.db.DB_ODDFILESIZE\nbsddb.db.DB_OLD_VERSION\nbsddb.db.DB_OPFLAGS_MASK\nbsddb.db.DB_ORDERCHKONLY\nbsddb.db.DB_PAGE_NOTFOUND\nbsddb.db.DB_PANIC_ENVIRONMENT\nbsddb.db.DB_POSITION\nbsddb.db.DB_PREV\nbsddb.db.DB_PREV_NODUP\nbsddb.db.DB_PRIVATE\nbsddb.db.DB_PR_PAGE\nbsddb.db.DB_PR_RECOVERYTEST\nbsddb.db.DB_QUEUE\nbsddb.db.DB_RDONLY\nbsddb.db.DB_RDWRMASTER\nbsddb.db.DB_RECNO\nbsddb.db.DB_RECNUM\nbsddb.db.DB_RECORDCOUNT\nbsddb.db.DB_RECOVER\nbsddb.db.DB_RECOVER_FATAL\nbsddb.db.DB_REGION_INIT\nbsddb.db.DB_RENUMBER\nbsddb.db.DB_REVSPLITOFF\nbsddb.db.DB_RMW\nbsddb.db.DB_RPCCLIENT\nbsddb.db.DB_RUNRECOVERY\nbsddb.db.DB_SALVAGE\nbsddb.db.DB_SECONDARY_BAD\nbsddb.db.DB_SET\nbsddb.db.DB_SET_LOCK_TIMEOUT\nbsddb.db.DB_SET_RANGE\nbsddb.db.DB_SET_RECNO\nbsddb.db.DB_SET_TXN_TIMEOUT\nbsddb.db.DB_SNAPSHOT\nbsddb.db.DB_STAT_CLEAR\nbsddb.db.DB_SYSTEM_MEM\nbsddb.db.DB_THREAD\nbsddb.db.DB_TIME_NOTGRANTED\nbsddb.db.DB_TRUNCATE\nbsddb.db.DB_TXN_NOSYNC\nbsddb.db.DB_TXN_NOT_DURABLE\nbsddb.db.DB_TXN_NOWAIT\nbsddb.db.DB_TXN_SYNC\nbsddb.db.DB_TXN_WRITE_NOSYNC\nbsddb.db.DB_UNKNOWN\nbsddb.db.DB_UPGRADE\nbsddb.db.DB_USE_ENVIRON\nbsddb.db.DB_USE_ENVIRON_ROOT\nbsddb.db.DB_VERIFY\nbsddb.db.DB_VERIFY_BAD\nbsddb.db.DB_VERSION_MAJOR\nbsddb.db.DB_VERSION_MINOR\nbsddb.db.DB_VERSION_PATCH\nbsddb.db.DB_VERSION_STRING\nbsddb.db.DB_WRITECURSOR\nbsddb.db.DB_XA_CREATE\nbsddb.db.DB_YIELDCPU\nbsddb.db.EACCES\nbsddb.db.EAGAIN\nbsddb.db.EBUSY\nbsddb.db.EEXIST\nbsddb.db.EINVAL\nbsddb.db.ENOENT\nbsddb.db.ENOMEM\nbsddb.db.ENOSPC\nbsddb.db.EPERM\nbsddb.db.cvsid\nbsddb.db.version\nbsddb.dbobj\nbsddb.dbobj.DB(??)\nbsddb.dbobj.DBEnv(??)\nbsddb.dbobj.DictMixin(??)\nbsddb.dbobj.db\nbsddb.dbrecio\nbsddb.dbrecio.DBRecIO(??)\nbsddb.dbrecio.errno\nbsddb.dbrecio.string\nbsddb.dbshelve\nbsddb.dbshelve.DBShelf(??)\nbsddb.dbshelve.DBShelfCursor(??)\nbsddb.dbshelve.DictMixin(??)\nbsddb.dbshelve.cPickle\nbsddb.dbshelve.db\nbsddb.dbshelve.open(??)\nbsddb.dbtables\nbsddb.dbtables.Cond(??)\nbsddb.dbtables.DB\nbsddb.dbtables.DBAccessError(??)\nbsddb.dbtables.DBAgainError(??)\nbsddb.dbtables.DBBusyError(??)\nbsddb.dbtables.DBCursorClosedError(??)\nbsddb.dbtables.DBEnv\nbsddb.dbtables.DBError(??)\nbsddb.dbtables.DBFileExistsError(??)\nbsddb.dbtables.DBInvalidArgError(??)\nbsddb.dbtables.DBKeyEmptyError(??)\nbsddb.dbtables.DBKeyExistError(??)\nbsddb.dbtables.DBLockDeadlockError(??)\nbsddb.dbtables.DBLockNotGrantedError(??)\nbsddb.dbtables.DBNoMemoryError(??)\nbsddb.dbtables.DBNoServerError(??)\nbsddb.dbtables.DBNoServerHomeError(??)\nbsddb.dbtables.DBNoServerIDError(??)\nbsddb.dbtables.DBNoSpaceError(??)\nbsddb.dbtables.DBNoSuchFileError(??)\nbsddb.dbtables.DBNotFoundError(??)\nbsddb.dbtables.DBOldVersionError(??)\nbsddb.dbtables.DBPageNotFoundError(??)\nbsddb.dbtables.DBPermissionsError(??)\nbsddb.dbtables.DBRunRecoveryError(??)\nbsddb.dbtables.DBSecondaryBadError(??)\nbsddb.dbtables.DBVerifyBadError(??)\nbsddb.dbtables.DB_AFTER\nbsddb.dbtables.DB_AGGRESSIVE\nbsddb.dbtables.DB_APPEND\nbsddb.dbtables.DB_ARCH_ABS\nbsddb.dbtables.DB_ARCH_DATA\nbsddb.dbtables.DB_ARCH_LOG\nbsddb.dbtables.DB_AUTO_COMMIT\nbsddb.dbtables.DB_BEFORE\nbsddb.dbtables.DB_BTREE\nbsddb.dbtables.DB_CACHED_COUNTS\nbsddb.dbtables.DB_CDB_ALLDB\nbsddb.dbtables.DB_CHECKPOINT\nbsddb.dbtables.DB_CHKSUM\nbsddb.dbtables.DB_CONSUME\nbsddb.dbtables.DB_CONSUME_WAIT\nbsddb.dbtables.DB_CREATE\nbsddb.dbtables.DB_CURRENT\nbsddb.dbtables.DB_DIRECT_DB\nbsddb.dbtables.DB_DIRECT_LOG\nbsddb.dbtables.DB_DIRTY_READ\nbsddb.dbtables.DB_DONOTINDEX\nbsddb.dbtables.DB_DUP\nbsddb.dbtables.DB_DUPSORT\nbsddb.dbtables.DB_ENCRYPT\nbsddb.dbtables.DB_ENCRYPT_AES\nbsddb.dbtables.DB_EXCL\nbsddb.dbtables.DB_EXTENT\nbsddb.dbtables.DB_FAST_STAT\nbsddb.dbtables.DB_FCNTL_LOCKING\nbsddb.dbtables.DB_FIRST\nbsddb.dbtables.DB_FLUSH\nbsddb.dbtables.DB_FORCE\nbsddb.dbtables.DB_GET_BOTH\nbsddb.dbtables.DB_GET_RECNO\nbsddb.dbtables.DB_HASH\nbsddb.dbtables.DB_INCOMPLETE\nbsddb.dbtables.DB_INIT_CDB\nbsddb.dbtables.DB_INIT_LOCK\nbsddb.dbtables.DB_INIT_LOG\nbsddb.dbtables.DB_INIT_MPOOL\nbsddb.dbtables.DB_INIT_REP\nbsddb.dbtables.DB_INIT_TXN\nbsddb.dbtables.DB_JOINENV\nbsddb.dbtables.DB_JOIN_ITEM\nbsddb.dbtables.DB_JOIN_NOSORT\nbsddb.dbtables.DB_KEYEMPTY\nbsddb.dbtables.DB_KEYEXIST\nbsddb.dbtables.DB_KEYFIRST\nbsddb.dbtables.DB_KEYLAST\nbsddb.dbtables.DB_LAST\nbsddb.dbtables.DB_LOCKDOWN\nbsddb.dbtables.DB_LOCK_CONFLICT\nbsddb.dbtables.DB_LOCK_DEADLOCK\nbsddb.dbtables.DB_LOCK_DEFAULT\nbsddb.dbtables.DB_LOCK_DIRTY\nbsddb.dbtables.DB_LOCK_DUMP\nbsddb.dbtables.DB_LOCK_GET\nbsddb.dbtables.DB_LOCK_INHERIT\nbsddb.dbtables.DB_LOCK_IREAD\nbsddb.dbtables.DB_LOCK_IWR\nbsddb.dbtables.DB_LOCK_IWRITE\nbsddb.dbtables.DB_LOCK_MAXLOCKS\nbsddb.dbtables.DB_LOCK_MINLOCKS\nbsddb.dbtables.DB_LOCK_MINWRITE\nbsddb.dbtables.DB_LOCK_NG\nbsddb.dbtables.DB_LOCK_NORUN\nbsddb.dbtables.DB_LOCK_NOTGRANTED\nbsddb.dbtables.DB_LOCK_NOWAIT\nbsddb.dbtables.DB_LOCK_OLDEST\nbsddb.dbtables.DB_LOCK_PUT\nbsddb.dbtables.DB_LOCK_PUT_ALL\nbsddb.dbtables.DB_LOCK_PUT_OBJ\nbsddb.dbtables.DB_LOCK_RANDOM\nbsddb.dbtables.DB_LOCK_READ\nbsddb.dbtables.DB_LOCK_RECORD\nbsddb.dbtables.DB_LOCK_SWITCH\nbsddb.dbtables.DB_LOCK_UPGRADE\nbsddb.dbtables.DB_LOCK_UPGRADE_WRITE\nbsddb.dbtables.DB_LOCK_WAIT\nbsddb.dbtables.DB_LOCK_WRITE\nbsddb.dbtables.DB_LOCK_WWRITE\nbsddb.dbtables.DB_LOCK_YOUNGEST\nbsddb.dbtables.DB_LOG_AUTOREMOVE\nbsddb.dbtables.DB_LSTAT_ABORTED\nbsddb.dbtables.DB_LSTAT_ERR\nbsddb.dbtables.DB_LSTAT_FREE\nbsddb.dbtables.DB_LSTAT_HELD\nbsddb.dbtables.DB_LSTAT_PENDING\nbsddb.dbtables.DB_LSTAT_WAITING\nbsddb.dbtables.DB_MAX_PAGES\nbsddb.dbtables.DB_MAX_RECORDS\nbsddb.dbtables.DB_MULTIPLE\nbsddb.dbtables.DB_MULTIPLE_KEY\nbsddb.dbtables.DB_NEXT\nbsddb.dbtables.DB_NEXT_DUP\nbsddb.dbtables.DB_NEXT_NODUP\nbsddb.dbtables.DB_NODUPDATA\nbsddb.dbtables.DB_NOLOCKING\nbsddb.dbtables.DB_NOMMAP\nbsddb.dbtables.DB_NOORDERCHK\nbsddb.dbtables.DB_NOOVERWRITE\nbsddb.dbtables.DB_NOPANIC\nbsddb.dbtables.DB_NOSERVER\nbsddb.dbtables.DB_NOSERVER_HOME\nbsddb.dbtables.DB_NOSERVER_ID\nbsddb.dbtables.DB_NOSYNC\nbsddb.dbtables.DB_NOTFOUND\nbsddb.dbtables.DB_ODDFILESIZE\nbsddb.dbtables.DB_OLD_VERSION\nbsddb.dbtables.DB_OPFLAGS_MASK\nbsddb.dbtables.DB_ORDERCHKONLY\nbsddb.dbtables.DB_PAGE_NOTFOUND\nbsddb.dbtables.DB_PANIC_ENVIRONMENT\nbsddb.dbtables.DB_POSITION\nbsddb.dbtables.DB_PREV\nbsddb.dbtables.DB_PREV_NODUP\nbsddb.dbtables.DB_PRIVATE\nbsddb.dbtables.DB_PR_PAGE\nbsddb.dbtables.DB_PR_RECOVERYTEST\nbsddb.dbtables.DB_QUEUE\nbsddb.dbtables.DB_RDONLY\nbsddb.dbtables.DB_RDWRMASTER\nbsddb.dbtables.DB_RECNO\nbsddb.dbtables.DB_RECNUM\nbsddb.dbtables.DB_RECORDCOUNT\nbsddb.dbtables.DB_RECOVER\nbsddb.dbtables.DB_RECOVER_FATAL\nbsddb.dbtables.DB_REGION_INIT\nbsddb.dbtables.DB_RENUMBER\nbsddb.dbtables.DB_REVSPLITOFF\nbsddb.dbtables.DB_RMW\nbsddb.dbtables.DB_RPCCLIENT\nbsddb.dbtables.DB_RUNRECOVERY\nbsddb.dbtables.DB_SALVAGE\nbsddb.dbtables.DB_SECONDARY_BAD\nbsddb.dbtables.DB_SET\nbsddb.dbtables.DB_SET_LOCK_TIMEOUT\nbsddb.dbtables.DB_SET_RANGE\nbsddb.dbtables.DB_SET_RECNO\nbsddb.dbtables.DB_SET_TXN_TIMEOUT\nbsddb.dbtables.DB_SNAPSHOT\nbsddb.dbtables.DB_STAT_CLEAR\nbsddb.dbtables.DB_SYSTEM_MEM\nbsddb.dbtables.DB_THREAD\nbsddb.dbtables.DB_TIME_NOTGRANTED\nbsddb.dbtables.DB_TRUNCATE\nbsddb.dbtables.DB_TXN_NOSYNC\nbsddb.dbtables.DB_TXN_NOT_DURABLE\nbsddb.dbtables.DB_TXN_NOWAIT\nbsddb.dbtables.DB_TXN_SYNC\nbsddb.dbtables.DB_TXN_WRITE_NOSYNC\nbsddb.dbtables.DB_UNKNOWN\nbsddb.dbtables.DB_UPGRADE\nbsddb.dbtables.DB_USE_ENVIRON\nbsddb.dbtables.DB_USE_ENVIRON_ROOT\nbsddb.dbtables.DB_VERIFY\nbsddb.dbtables.DB_VERIFY_BAD\nbsddb.dbtables.DB_VERSION_MAJOR\nbsddb.dbtables.DB_VERSION_MINOR\nbsddb.dbtables.DB_VERSION_PATCH\nbsddb.dbtables.DB_VERSION_STRING\nbsddb.dbtables.DB_WRITECURSOR\nbsddb.dbtables.DB_XA_CREATE\nbsddb.dbtables.DB_YIELDCPU\nbsddb.dbtables.EACCES\nbsddb.dbtables.EAGAIN\nbsddb.dbtables.EBUSY\nbsddb.dbtables.EEXIST\nbsddb.dbtables.EINVAL\nbsddb.dbtables.ENOENT\nbsddb.dbtables.ENOMEM\nbsddb.dbtables.ENOSPC\nbsddb.dbtables.EPERM\nbsddb.dbtables.ExactCond(??)\nbsddb.dbtables.LikeCond(??)\nbsddb.dbtables.ListType\nbsddb.dbtables.PostfixCond(??)\nbsddb.dbtables.PrefixCond(??)\nbsddb.dbtables.StringType\nbsddb.dbtables.TableAlreadyExists(??)\nbsddb.dbtables.TableDBError(??)\nbsddb.dbtables.bsdTableDB(??)\nbsddb.dbtables.contains_metastrings(??)\nbsddb.dbtables.copy\nbsddb.dbtables.cvsid\nbsddb.dbtables.pickle\nbsddb.dbtables.random\nbsddb.dbtables.re\nbsddb.dbtables.sys\nbsddb.dbtables.version\nbsddb.dbtables.xdrlib\nbsddb.dbutils\nbsddb.dbutils.DeadlockWrap(function, *_args, **_kwargs) - automatically retries\nbsddb.dbutils.db\nbsddb.error(??)\nbsddb.hashopen(??)\nbsddb.os\nbsddb.ref\nbsddb.rnopen(??)\nbsddb.sys\nbuffer(object [, offset[, size]])\nbz2.BZ2Compressor([compresslevel=9]) -> compressor object\nbz2.BZ2Decompressor() -> decompressor object\nbz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object\nbz2.compress(data [, compresslevel=9]) -> string\nbz2.decompress(data) -> decompressed data\ncPickle.BadPickleGet(??)\ncPickle.HIGHEST_PROTOCOL\ncPickle.PickleError(??)\ncPickle.Pickler(file, protocol=0) -- Create a pickler.\ncPickle.PicklingError(??)\ncPickle.UnpickleableError(??)\ncPickle.Unpickler(file) -- Create an unpickler.\ncPickle.UnpicklingError(??)\ncPickle.compatible_formats\ncPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file.\ncPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\ncPickle.format_version\ncPickle.load(file) -- Load a pickle from the given file\ncPickle.loads(string) -- Load a pickle from the given string\ncStringIO.InputType\ncStringIO.OutputType\ncStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncStringIO.cStringIO_CAPI\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.January\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.WEDNESDAY\ncalendar.calendar(??)\ncalendar.datetime\ncalendar.day_abbr\ncalendar.day_name\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format3c(??)\ncalendar.format3cstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.mdays\ncalendar.month(??)\ncalendar.month_abbr\ncalendar.month_name\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.setfirstweekday(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(object) -> bool\ncgi.FieldStorage(??)\ncgi.FormContent(??)\ncgi.FormContentDict(??)\ncgi.InterpFormContentDict(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.SvFormContentDict(??)\ncgi.UserDict\ncgi.dolog(??)\ncgi.escape(??)\ncgi.initlog(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp\ncgi.maxlen\ncgi.mimetools\ncgi.nolog(??)\ncgi.os\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.rfc822\ncgi.sys\ncgi.test(??)\ncgi.urllib\ncgi.valid_boundary(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler\ncgitb.html(??)\ncgitb.lookup(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys\ncgitb.text(??)\nchr(i) -> character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.pi\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string\ncmp(x, y) -> integer\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.softspace(??)\ncode.sys\ncode.traceback\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.Codec(??)\ncodecs.EncodedFile(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode\ncodecs.ascii_encode\ncodecs.backslashreplace_errors\ncodecs.charbuffer_encode\ncodecs.charmap_decode\ncodecs.charmap_encode\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode\ncodecs.escape_encode\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors\ncodecs.latin_1_decode\ncodecs.latin_1_encode\ncodecs.lookup(encoding) -> (encoder, decoder, stream_reader, stream_writer)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode\ncodecs.raw_unicode_escape_encode\ncodecs.readbuffer_encode\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors\ncodecs.strict_errors\ncodecs.sys\ncodecs.unicode_escape_decode\ncodecs.unicode_escape_encode\ncodecs.unicode_internal_decode\ncodecs.unicode_internal_encode\ncodecs.utf_16_be_decode\ncodecs.utf_16_be_encode\ncodecs.utf_16_decode\ncodecs.utf_16_encode\ncodecs.utf_16_ex_decode\ncodecs.utf_16_le_decode\ncodecs.utf_16_le_encode\ncodecs.utf_7_decode\ncodecs.utf_7_encode\ncodecs.utf_8_decode\ncodecs.utf_8_encode\ncodecs.xmlcharrefreplace_errors\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncodeop.fname\ncoerce(x, y) -> (x1, y1)\ncollections.deque(iterable) --> deque object\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncommands.getoutput(??)\ncommands.getstatus(??)\ncommands.getstatusoutput(??)\ncommands.mk2arg(??)\ncommands.mkarg(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_path(??)\ncompileall.main(??)\ncompileall.os\ncompileall.py_compile\ncompileall.sys\ncompiler.ast\ncompiler.ast.Add(??)\ncompiler.ast.And(??)\ncompiler.ast.AssAttr(??)\ncompiler.ast.AssList(??)\ncompiler.ast.AssName(??)\ncompiler.ast.AssTuple(??)\ncompiler.ast.Assert(??)\ncompiler.ast.Assign(??)\ncompiler.ast.AugAssign(??)\ncompiler.ast.Backquote(??)\ncompiler.ast.Bitand(??)\ncompiler.ast.Bitor(??)\ncompiler.ast.Bitxor(??)\ncompiler.ast.Break(??)\ncompiler.ast.CO_VARARGS\ncompiler.ast.CO_VARKEYWORDS\ncompiler.ast.CallFunc(??)\ncompiler.ast.Class(??)\ncompiler.ast.Compare(??)\ncompiler.ast.Const(??)\ncompiler.ast.Continue(??)\ncompiler.ast.Decorators(??)\ncompiler.ast.Dict(??)\ncompiler.ast.Discard(??)\ncompiler.ast.Div(??)\ncompiler.ast.Ellipsis(??)\ncompiler.ast.EmptyNode(??)\ncompiler.ast.Exec(??)\ncompiler.ast.Expression(??)\ncompiler.ast.FloorDiv(??)\ncompiler.ast.For(??)\ncompiler.ast.From(??)\ncompiler.ast.Function(??)\ncompiler.ast.GenExpr(??)\ncompiler.ast.GenExprFor(??)\ncompiler.ast.GenExprIf(??)\ncompiler.ast.GenExprInner(??)\ncompiler.ast.Getattr(??)\ncompiler.ast.Global(??)\ncompiler.ast.If(??)\ncompiler.ast.Import(??)\ncompiler.ast.Invert(??)\ncompiler.ast.Keyword(??)\ncompiler.ast.Lambda(??)\ncompiler.ast.LeftShift(??)\ncompiler.ast.List(??)\ncompiler.ast.ListComp(??)\ncompiler.ast.ListCompFor(??)\ncompiler.ast.ListCompIf(??)\ncompiler.ast.Mod(??)\ncompiler.ast.Module(??)\ncompiler.ast.Mul(??)\ncompiler.ast.Name(??)\ncompiler.ast.Node(??)\ncompiler.ast.Not(??)\ncompiler.ast.Or(??)\ncompiler.ast.Pass(??)\ncompiler.ast.Power(??)\ncompiler.ast.Print(??)\ncompiler.ast.Printnl(??)\ncompiler.ast.Raise(??)\ncompiler.ast.Return(??)\ncompiler.ast.RightShift(??)\ncompiler.ast.Slice(??)\ncompiler.ast.Sliceobj(??)\ncompiler.ast.Stmt(??)\ncompiler.ast.Sub(??)\ncompiler.ast.Subscript(??)\ncompiler.ast.TryExcept(??)\ncompiler.ast.TryFinally(??)\ncompiler.ast.Tuple(??)\ncompiler.ast.UnaryAdd(??)\ncompiler.ast.UnarySub(??)\ncompiler.ast.While(??)\ncompiler.ast.Yield(??)\ncompiler.ast.flatten(??)\ncompiler.ast.flatten_nodes(??)\ncompiler.ast.name\ncompiler.ast.nodes\ncompiler.ast.obj(??)\ncompiler.compile(??)\ncompiler.compileFile(??)\ncompiler.consts\ncompiler.consts.CO_FUTURE_DIVISION\ncompiler.consts.CO_GENERATOR\ncompiler.consts.CO_GENERATOR_ALLOWED\ncompiler.consts.CO_NESTED\ncompiler.consts.CO_NEWLOCALS\ncompiler.consts.CO_OPTIMIZED\ncompiler.consts.CO_VARARGS\ncompiler.consts.CO_VARKEYWORDS\ncompiler.consts.OP_APPLY\ncompiler.consts.OP_ASSIGN\ncompiler.consts.OP_DELETE\ncompiler.consts.SC_CELL\ncompiler.consts.SC_FREE\ncompiler.consts.SC_GLOBAL\ncompiler.consts.SC_LOCAL\ncompiler.consts.SC_UNKNOWN\ncompiler.future\ncompiler.future.BadFutureParser(??)\ncompiler.future.FutureParser(??)\ncompiler.future.ast\ncompiler.future.find_futures(??)\ncompiler.future.is_future(??)\ncompiler.future.walk(??)\ncompiler.misc\ncompiler.misc.MANGLE_LEN\ncompiler.misc.Set(??)\ncompiler.misc.Stack(??)\ncompiler.misc.flatten(??)\ncompiler.misc.mangle(??)\ncompiler.misc.set_filename(??)\ncompiler.misc.types\ncompiler.parse(??)\ncompiler.parseFile(??)\ncompiler.pyassem\ncompiler.pyassem.Block(??)\ncompiler.pyassem.CONV\ncompiler.pyassem.CO_NEWLOCALS\ncompiler.pyassem.CO_OPTIMIZED\ncompiler.pyassem.CO_VARARGS\ncompiler.pyassem.CO_VARKEYWORDS\ncompiler.pyassem.DONE\ncompiler.pyassem.FLAT\ncompiler.pyassem.FlowGraph(??)\ncompiler.pyassem.LineAddrTable(??)\ncompiler.pyassem.PyFlowGraph(??)\ncompiler.pyassem.RAW\ncompiler.pyassem.StackDepthTracker(??)\ncompiler.pyassem.TupleArg(??)\ncompiler.pyassem.dfs_postorder(??)\ncompiler.pyassem.dis\ncompiler.pyassem.findDepth\ncompiler.pyassem.getArgCount(??)\ncompiler.pyassem.isJump(??)\ncompiler.pyassem.misc\ncompiler.pyassem.new\ncompiler.pyassem.sys\ncompiler.pyassem.twobyte(??)\ncompiler.pyassem.types\ncompiler.pycodegen\ncompiler.pycodegen.AbstractClassCode(??)\ncompiler.pycodegen.AbstractCompileMode(??)\ncompiler.pycodegen.AbstractFunctionCode(??)\ncompiler.pycodegen.AugGetattr(??)\ncompiler.pycodegen.AugName(??)\ncompiler.pycodegen.AugSlice(??)\ncompiler.pycodegen.AugSubscript(??)\ncompiler.pycodegen.CO_FUTURE_DIVISION\ncompiler.pycodegen.CO_GENERATOR\ncompiler.pycodegen.CO_GENERATOR_ALLOWED\ncompiler.pycodegen.CO_NESTED\ncompiler.pycodegen.CO_NEWLOCALS\ncompiler.pycodegen.CO_VARARGS\ncompiler.pycodegen.CO_VARKEYWORDS\ncompiler.pycodegen.ClassCodeGenerator(??)\ncompiler.pycodegen.CodeGenerator(??)\ncompiler.pycodegen.Delegator(??)\ncompiler.pycodegen.END_FINALLY\ncompiler.pycodegen.EXCEPT\ncompiler.pycodegen.Expression(??)\ncompiler.pycodegen.ExpressionCodeGenerator(??)\ncompiler.pycodegen.FunctionCodeGenerator(??)\ncompiler.pycodegen.GenExprCodeGenerator(??)\ncompiler.pycodegen.Interactive(??)\ncompiler.pycodegen.InteractiveCodeGenerator(??)\ncompiler.pycodegen.LOOP\ncompiler.pycodegen.LocalNameFinder(??)\ncompiler.pycodegen.Module(??)\ncompiler.pycodegen.ModuleCodeGenerator(??)\ncompiler.pycodegen.NestedScopeMixin(??)\ncompiler.pycodegen.OpFinder(??)\ncompiler.pycodegen.SC_CELL\ncompiler.pycodegen.SC_FREE\ncompiler.pycodegen.SC_GLOBAL\ncompiler.pycodegen.SC_LOCAL\ncompiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncompiler.pycodegen.TRY_FINALLY\ncompiler.pycodegen.TupleArg(??)\ncompiler.pycodegen.VERSION\ncompiler.pycodegen.ast\ncompiler.pycodegen.callfunc_opcode_info\ncompiler.pycodegen.compile(??)\ncompiler.pycodegen.compileFile(??)\ncompiler.pycodegen.findOp(??)\ncompiler.pycodegen.future\ncompiler.pycodegen.generateArgList(??)\ncompiler.pycodegen.imp\ncompiler.pycodegen.is_constant_false(??)\ncompiler.pycodegen.marshal\ncompiler.pycodegen.misc\ncompiler.pycodegen.os\ncompiler.pycodegen.parse(??)\ncompiler.pycodegen.pyassem\ncompiler.pycodegen.struct\ncompiler.pycodegen.symbols\ncompiler.pycodegen.syntax\ncompiler.pycodegen.sys\ncompiler.pycodegen.types\ncompiler.pycodegen.walk(??)\ncompiler.pycodegen.wrap_aug(??)\ncompiler.pycodegen.wrapper\ncompiler.symbols\ncompiler.symbols.ClassScope(??)\ncompiler.symbols.FunctionScope(??)\ncompiler.symbols.GenExprScope(??)\ncompiler.symbols.LambdaScope(??)\ncompiler.symbols.MANGLE_LEN\ncompiler.symbols.ModuleScope(??)\ncompiler.symbols.SC_CELL\ncompiler.symbols.SC_FREE\ncompiler.symbols.SC_GLOBAL\ncompiler.symbols.SC_LOCAL\ncompiler.symbols.SC_UNKNOWN\ncompiler.symbols.Scope(??)\ncompiler.symbols.SymbolVisitor(??)\ncompiler.symbols.ast\ncompiler.symbols.list_eq(??)\ncompiler.symbols.mangle(??)\ncompiler.symbols.sort(??)\ncompiler.symbols.sys\ncompiler.symbols.types\ncompiler.syntax\ncompiler.syntax.SyntaxErrorChecker(??)\ncompiler.syntax.ast\ncompiler.syntax.check(??)\ncompiler.syntax.walk(??)\ncompiler.transformer\ncompiler.transformer.Add(??)\ncompiler.transformer.And(??)\ncompiler.transformer.AssAttr(??)\ncompiler.transformer.AssList(??)\ncompiler.transformer.AssName(??)\ncompiler.transformer.AssTuple(??)\ncompiler.transformer.Assert(??)\ncompiler.transformer.Assign(??)\ncompiler.transformer.AugAssign(??)\ncompiler.transformer.Backquote(??)\ncompiler.transformer.Bitand(??)\ncompiler.transformer.Bitor(??)\ncompiler.transformer.Bitxor(??)\ncompiler.transformer.Break(??)\ncompiler.transformer.CO_VARARGS\ncompiler.transformer.CO_VARKEYWORDS\ncompiler.transformer.CallFunc(??)\ncompiler.transformer.Class(??)\ncompiler.transformer.Compare(??)\ncompiler.transformer.Const(??)\ncompiler.transformer.Continue(??)\ncompiler.transformer.Decorators(??)\ncompiler.transformer.Dict(??)\ncompiler.transformer.Discard(??)\ncompiler.transformer.Div(??)\ncompiler.transformer.Ellipsis(??)\ncompiler.transformer.EmptyNode(??)\ncompiler.transformer.Exec(??)\ncompiler.transformer.Expression(??)\ncompiler.transformer.FloorDiv(??)\ncompiler.transformer.For(??)\ncompiler.transformer.From(??)\ncompiler.transformer.Function(??)\ncompiler.transformer.GenExpr(??)\ncompiler.transformer.GenExprFor(??)\ncompiler.transformer.GenExprIf(??)\ncompiler.transformer.GenExprInner(??)\ncompiler.transformer.Getattr(??)\ncompiler.transformer.Global(??)\ncompiler.transformer.If(??)\ncompiler.transformer.Import(??)\ncompiler.transformer.Invert(??)\ncompiler.transformer.Keyword(??)\ncompiler.transformer.Lambda(??)\ncompiler.transformer.LeftShift(??)\ncompiler.transformer.List(??)\ncompiler.transformer.ListComp(??)\ncompiler.transformer.ListCompFor(??)\ncompiler.transformer.ListCompIf(??)\ncompiler.transformer.Mod(??)\ncompiler.transformer.Module(??)\ncompiler.transformer.Mul(??)\ncompiler.transformer.Name(??)\ncompiler.transformer.Node(??)\ncompiler.transformer.Not(??)\ncompiler.transformer.OP_APPLY\ncompiler.transformer.OP_ASSIGN\ncompiler.transformer.OP_DELETE\ncompiler.transformer.Or(??)\ncompiler.transformer.Pass(??)\ncompiler.transformer.Power(??)\ncompiler.transformer.Print(??)\ncompiler.transformer.Printnl(??)\ncompiler.transformer.Raise(??)\ncompiler.transformer.Return(??)\ncompiler.transformer.RightShift(??)\ncompiler.transformer.Slice(??)\ncompiler.transformer.Sliceobj(??)\ncompiler.transformer.Stmt(??)\ncompiler.transformer.Sub(??)\ncompiler.transformer.Subscript(??)\ncompiler.transformer.Transformer(??)\ncompiler.transformer.TryExcept(??)\ncompiler.transformer.TryFinally(??)\ncompiler.transformer.Tuple(??)\ncompiler.transformer.UnaryAdd(??)\ncompiler.transformer.UnarySub(??)\ncompiler.transformer.WalkerError(??)\ncompiler.transformer.While(??)\ncompiler.transformer.Yield(??)\ncompiler.transformer.asList(??)\ncompiler.transformer.debug_tree(??)\ncompiler.transformer.extractLineNo(??)\ncompiler.transformer.flatten(??)\ncompiler.transformer.flatten_nodes(??)\ncompiler.transformer.k\ncompiler.transformer.name\ncompiler.transformer.nodes\ncompiler.transformer.obj(??)\ncompiler.transformer.parse(??)\ncompiler.transformer.parseFile(??)\ncompiler.transformer.parser\ncompiler.transformer.symbol\ncompiler.transformer.sys\ncompiler.transformer.token\ncompiler.transformer.types\ncompiler.transformer.v\ncompiler.visitor\ncompiler.visitor.ASTVisitor(??)\ncompiler.visitor.ExampleASTVisitor(??)\ncompiler.visitor.ast\ncompiler.visitor.dumpNode(??)\ncompiler.visitor.walk(??)\ncompiler.walk(??)\ncomplex(real[, imag]) -> complex number\ncookielib.Absent(??)\ncookielib.Cookie(??)\ncookielib.CookieJar(??)\ncookielib.CookiePolicy(??)\ncookielib.DAYS\ncookielib.DEFAULT_HTTP_PORT\ncookielib.DefaultCookiePolicy(??)\ncookielib.EPOCH_YEAR\ncookielib.ESCAPED_CHAR_RE\ncookielib.FileCookieJar(??)\ncookielib.HEADER_ESCAPE_RE\ncookielib.HEADER_JOIN_ESCAPE_RE\ncookielib.HEADER_QUOTED_VALUE_RE\ncookielib.HEADER_TOKEN_RE\ncookielib.HEADER_VALUE_RE\ncookielib.HTTP_PATH_SAFE\ncookielib.IPV4_RE\ncookielib.ISO_DATE_RE\ncookielib.LOOSE_HTTP_DATE_RE\ncookielib.LWPCookieJar(??)\ncookielib.LoadError(??)\ncookielib.MISSING_FILENAME_TEXT\ncookielib.MONTHS\ncookielib.MONTHS_LOWER\ncookielib.MozillaCookieJar(??)\ncookielib.STRICT_DATE_RE\ncookielib.StringTypes\ncookielib.TIMEZONE_RE\ncookielib.UTC_ZONES\ncookielib.WEEKDAY_RE\ncookielib.copy\ncookielib.cut_port_re\ncookielib.debug\ncookielib.deepvalues(??)\ncookielib.domain_match(??)\ncookielib.eff_request_host(??)\ncookielib.escape_path(??)\ncookielib.http2time(??)\ncookielib.httplib\ncookielib.is_HDN(??)\ncookielib.is_third_party(??)\ncookielib.iso2time(??)\ncookielib.join_header_words(??)\ncookielib.liberal_is_HDN(??)\ncookielib.logging\ncookielib.lwp_cookie_str(??)\ncookielib.month\ncookielib.offset_from_tz_string(??)\ncookielib.parse_ns_headers(??)\ncookielib.re\ncookielib.reach(??)\ncookielib.request_host(??)\ncookielib.request_path(??)\ncookielib.request_port(??)\ncookielib.reraise_unmasked_exceptions(??)\ncookielib.split_header_words(??)\ncookielib.sys\ncookielib.time\ncookielib.time2isoz(??)\ncookielib.time2netscape(??)\ncookielib.timegm(??)\ncookielib.unmatched(??)\ncookielib.uppercase_escaped_char(??)\ncookielib.urllib\ncookielib.urlparse\ncookielib.user_domain_match(??)\ncookielib.vals_sorted_by_key(??)\ncopy.Error(??)\ncopy.PyStringMap\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table\ncopy.error(??)\ncopy.inspect\ncopy.name\ncopy.t\ncopy_reg.add_extension(??)\ncopy_reg.clear_extension_cache(??)\ncopy_reg.constructor(??)\ncopy_reg.dispatch_table\ncopy_reg.pickle(??)\ncopy_reg.pickle_complex(??)\ncopy_reg.remove_extension(??)\ncopyright\ncredits\ncrypt.crypt(word, salt) -> string\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.get_dialect\ncsv.list_dialects\ncsv.re\ncsv.reader\ncsv.register_dialect\ncsv.unregister_dialect\ncsv.writer\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate\ncurses.beep\ncurses.can_change_color\ncurses.cbreak\ncurses.color_content\ncurses.color_pair\ncurses.curs_set\ncurses.def_prog_mode\ncurses.def_shell_mode\ncurses.delay_output\ncurses.doupdate\ncurses.echo\ncurses.endwin\ncurses.erasechar\ncurses.error(??)\ncurses.filter\ncurses.flash\ncurses.flushinp\ncurses.getmouse\ncurses.getsyx\ncurses.getwin\ncurses.halfdelay\ncurses.has_colors\ncurses.has_ic\ncurses.has_il\ncurses.has_key\ncurses.has_key.has_key(??)\ncurses.init_color\ncurses.init_pair\ncurses.initscr(??)\ncurses.intrflush\ncurses.isendwin\ncurses.keyname\ncurses.killchar\ncurses.longname\ncurses.meta\ncurses.mouseinterval\ncurses.mousemask\ncurses.napms\ncurses.newpad\ncurses.newwin\ncurses.nl\ncurses.nocbreak\ncurses.noecho\ncurses.nonl\ncurses.noqiflush\ncurses.noraw\ncurses.pair_content\ncurses.pair_number\ncurses.panel\ncurses.panel.bottom_panel\ncurses.panel.error(??)\ncurses.panel.new_panel\ncurses.panel.top_panel\ncurses.panel.update_panels\ncurses.panel.version\ncurses.putp\ncurses.qiflush\ncurses.raw\ncurses.reset_prog_mode\ncurses.reset_shell_mode\ncurses.resetty\ncurses.savetty\ncurses.setsyx\ncurses.setupterm\ncurses.start_color(??)\ncurses.termattrs\ncurses.termname\ncurses.textpad\ncurses.textpad.Textbox(??)\ncurses.textpad.ascii\ncurses.textpad.curses\ncurses.textpad.rectangle(??)\ncurses.tigetflag\ncurses.tigetnum\ncurses.tigetstr\ncurses.tparm\ncurses.typeahead\ncurses.unctrl\ncurses.ungetch\ncurses.ungetmouse\ncurses.use_default_colors\ncurses.use_env\ncurses.version\ncurses.wrapper(??)\ncurses.wrapper.func_closure\ncurses.wrapper.func_code\ncurses.wrapper.func_defaults\ncurses.wrapper.func_dict\ncurses.wrapper.func_doc\ncurses.wrapper.func_globals\ncurses.wrapper.func_name\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta\ndatetime.tzinfo\ndbhash.bsddb\ndbhash.error(??)\ndbhash.open(??)\ndbhash.sys\ndecimal.ALWAYS_ROUND\ndecimal.BasicContext\ndecimal.Clamped(??)\ndecimal.Context\ndecimal.ConversionSyntax(??)\ndecimal.Decimal\ndecimal.DecimalException(??)\ndecimal.DefaultContext\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext\ndecimal.Inexact(??)\ndecimal.Inf\ndecimal.Infsign\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.NEVER_ROUND\ndecimal.NaN\ndecimal.Overflow(??)\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.negInf\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary.\ndifflib.Differ(??)\ndifflib.HtmlDiff\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndircache.annotate(??)\ndircache.cache\ndircache.listdir(??)\ndircache.opendir(??)\ndircache.os\ndircache.reset(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op\ndis.dis(??)\ndis.disassemble(??)\ndis.disassemble_string(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.hascompare\ndis.hasconst\ndis.hasfree\ndis.hasjabs\ndis.hasjrel\ndis.haslocal\ndis.hasname\ndis.opmap\ndis.opname\ndis.sys\ndis.types\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.StringIO(??)\ndoctest.Tester(??)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib\ndoctest.inspect\ndoctest.is_private(??)\ndoctest.linecache\ndoctest.master\ndoctest.os\ndoctest.pdb\ndoctest.re\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys\ndoctest.tempfile\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback\ndoctest.types\ndoctest.unittest\ndoctest.warnings\ndumbdbm.UserDict\ndumbdbm.error(??)\ndumbdbm.open(??)\ndummy_thread.LockType\ndummy_thread.allocate_lock(??)\ndummy_thread.error(??)\ndummy_thread.exit(??)\ndummy_thread.get_ident(??)\ndummy_thread.interrupt_main(??)\ndummy_thread.start_new_thread(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread\ndummy_threading.Timer(??)\ndummy_threading.activeCount(??)\ndummy_threading.currentThread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.threading\nemail.Charset\nemail.Charset.ALIASES\nemail.Charset.BASE64\nemail.Charset.CHARSETS\nemail.Charset.CODEC_MAP\nemail.Charset.Charset(??)\nemail.Charset.DEFAULT_CHARSET\nemail.Charset.MISC_LEN\nemail.Charset.QP\nemail.Charset.SHORTEST\nemail.Charset.add_alias(??)\nemail.Charset.add_charset(??)\nemail.Charset.add_codec(??)\nemail.Charset.email\nemail.Charset.encode_7or8bit(??)\nemail.Encoders\nemail.Encoders.base64\nemail.Encoders.encode_7or8bit(??)\nemail.Encoders.encode_base64(??)\nemail.Encoders.encode_noop(??)\nemail.Encoders.encode_quopri(??)\nemail.Errors\nemail.Errors.BoundaryError(??)\nemail.Errors.FirstHeaderLineIsContinuationDefect(??)\nemail.Errors.HeaderParseError(??)\nemail.Errors.MalformedHeaderDefect(??)\nemail.Errors.MessageDefect(??)\nemail.Errors.MessageError(??)\nemail.Errors.MessageParseError(??)\nemail.Errors.MisplacedEnvelopeHeaderDefect(??)\nemail.Errors.MultipartConversionError(??)\nemail.Errors.MultipartInvariantViolationDefect(??)\nemail.Errors.NoBoundaryInMultipartDefect(??)\nemail.Errors.StartBoundaryNotFoundDefect(??)\nemail.FeedParser\nemail.FeedParser.BufferedSubFile\nemail.FeedParser.EMPTYSTRING\nemail.FeedParser.Errors\nemail.FeedParser.FeedParser(??)\nemail.FeedParser.Message\nemail.FeedParser.NL\nemail.FeedParser.NLCRE\nemail.FeedParser.NLCRE_bol\nemail.FeedParser.NLCRE_crack\nemail.FeedParser.NLCRE_eol\nemail.FeedParser.NeedMoreData\nemail.FeedParser.headerRE\nemail.FeedParser.re\nemail.Generator.DecodedGenerator(??)\nemail.Generator.Generator(??)\nemail.Generator.Header(??)\nemail.Generator.NL\nemail.Generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.Generator.UNDERSCORE\nemail.Generator.fcre\nemail.Generator.random\nemail.Generator.re\nemail.Generator.sys\nemail.Generator.time\nemail.Generator.warnings\nemail.Header\nemail.Header.Charset(??)\nemail.Header.Header(??)\nemail.Header.HeaderParseError(??)\nemail.Header.MAXLINELEN\nemail.Header.NL\nemail.Header.SPACE\nemail.Header.SPACE8\nemail.Header.UEMPTYSTRING\nemail.Header.USASCII\nemail.Header.USPACE\nemail.Header.UTF8\nemail.Header.binascii\nemail.Header.decode_header(??)\nemail.Header.ecre\nemail.Header.email\nemail.Header.fcre\nemail.Header.make_header(??)\nemail.Header.re\nemail.Iterators\nemail.Iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.Iterators.body_line_iterator(??)\nemail.Iterators.sys\nemail.Iterators.typed_subpart_iterator(??)\nemail.Iterators.walk(??)\nemail.MIMEAudio\nemail.MIMEAudio.Encoders\nemail.MIMEAudio.Errors\nemail.MIMEAudio.MIMEAudio(??)\nemail.MIMEAudio.MIMENonMultipart(??)\nemail.MIMEAudio.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.MIMEAudio.sndhdr\nemail.MIMEBase\nemail.MIMEBase.MIMEBase(??)\nemail.MIMEBase.Message\nemail.MIMEImage\nemail.MIMEImage.Encoders\nemail.MIMEImage.Errors\nemail.MIMEImage.MIMEImage(??)\nemail.MIMEImage.MIMENonMultipart(??)\nemail.MIMEImage.imghdr\nemail.MIMEMessage.MIMEMessage(??)\nemail.MIMEMessage.MIMENonMultipart(??)\nemail.MIMEMessage.Message\nemail.MIMEMultipart\nemail.MIMEMultipart.MIMEBase\nemail.MIMEMultipart.MIMEMultipart(??)\nemail.MIMENonMultipart\nemail.MIMENonMultipart.Errors\nemail.MIMENonMultipart.MIMEBase\nemail.MIMENonMultipart.MIMENonMultipart(??)\nemail.MIMEText\nemail.MIMEText.MIMENonMultipart(??)\nemail.MIMEText.MIMEText(??)\nemail.MIMEText.encode_7or8bit(??)\nemail.Message\nemail.Message.Charset\nemail.Message.Errors\nemail.Message.Message(??)\nemail.Message.SEMISPACE\nemail.Message.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.Message.Utils\nemail.Message.binascii\nemail.Message.paramre\nemail.Message.re\nemail.Message.tspecials\nemail.Message.uu\nemail.Message.warnings\nemail.Parser\nemail.Parser.FeedParser(??)\nemail.Parser.HeaderParser(??)\nemail.Parser.Message(??)\nemail.Parser.Parser(??)\nemail.Parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.Parser.warnings\nemail.Utils\nemail.Utils.COMMASPACE\nemail.Utils.CRLF\nemail.Utils.EMPTYSTRING\nemail.Utils.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.Utils.UEMPTYSTRING\nemail.Utils.base64\nemail.Utils.collapse_rfc2231_value(??)\nemail.Utils.decode_params(??)\nemail.Utils.decode_rfc2231(??)\nemail.Utils.ecre\nemail.Utils.encode_rfc2231(??)\nemail.Utils.escapesre\nemail.Utils.fix_eols(??)\nemail.Utils.formataddr(??)\nemail.Utils.formatdate(??)\nemail.Utils.getaddresses(??)\nemail.Utils.make_msgid(??)\nemail.Utils.mktime_tz(??)\nemail.Utils.os\nemail.Utils.parseaddr(??)\nemail.Utils.parsedate(??)\nemail.Utils.parsedate_tz(??)\nemail.Utils.quote(??)\nemail.Utils.random\nemail.Utils.re\nemail.Utils.rfc2231_continuation\nemail.Utils.socket\nemail.Utils.specialsre\nemail.Utils.time\nemail.Utils.unquote(??)\nemail.Utils.warnings\nemail.base64MIME\nemail.base64MIME.CRLF\nemail.base64MIME.EMPTYSTRING\nemail.base64MIME.MISC_LEN\nemail.base64MIME.NL\nemail.base64MIME.a2b_base64\nemail.base64MIME.b2a_base64\nemail.base64MIME.base64_len(??)\nemail.base64MIME.body_decode(??)\nemail.base64MIME.body_encode(??)\nemail.base64MIME.decode(??)\nemail.base64MIME.decodestring(??)\nemail.base64MIME.encode(??)\nemail.base64MIME.encodestring(??)\nemail.base64MIME.fix_eols(??)\nemail.base64MIME.header_encode(??)\nemail.base64MIME.re\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.quopriMIME\nemail.quopriMIME.CRLF\nemail.quopriMIME.MISC_LEN\nemail.quopriMIME.NL\nemail.quopriMIME.body_decode(??)\nemail.quopriMIME.body_encode(??)\nemail.quopriMIME.body_quopri_check(??)\nemail.quopriMIME.body_quopri_len(??)\nemail.quopriMIME.bqre\nemail.quopriMIME.decode(??)\nemail.quopriMIME.decodestring(??)\nemail.quopriMIME.encode(??)\nemail.quopriMIME.encodestring(??)\nemail.quopriMIME.fix_eols(??)\nemail.quopriMIME.header_decode(??)\nemail.quopriMIME.header_encode(??)\nemail.quopriMIME.header_quopri_check(??)\nemail.quopriMIME.header_quopri_len(??)\nemail.quopriMIME.hexdigits\nemail.quopriMIME.hqre\nemail.quopriMIME.quote(??)\nemail.quopriMIME.re\nemail.quopriMIME.unquote(??)\nenumerate(iterable) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EADV\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EBADE\nerrno.EBADF\nerrno.EBADFD\nerrno.EBADMSG\nerrno.EBADR\nerrno.EBADRQC\nerrno.EBADSLT\nerrno.EBFONT\nerrno.EBUSY\nerrno.ECHILD\nerrno.ECHRNG\nerrno.ECOMM\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDEADLOCK\nerrno.EDESTADDRREQ\nerrno.EDOM\nerrno.EDOTDOT\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.EISNAM\nerrno.EL2HLT\nerrno.EL2NSYNC\nerrno.EL3HLT\nerrno.EL3RST\nerrno.ELIBACC\nerrno.ELIBBAD\nerrno.ELIBEXEC\nerrno.ELIBMAX\nerrno.ELIBSCN\nerrno.ELNRNG\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENAVAIL\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOANO\nerrno.ENOBUFS\nerrno.ENOCSI\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENONET\nerrno.ENOPKG\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTNAM\nerrno.ENOTSOCK\nerrno.ENOTTY\nerrno.ENOTUNIQ\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.ERANGE\nerrno.EREMCHG\nerrno.EREMOTE\nerrno.EREMOTEIO\nerrno.ERESTART\nerrno.EROFS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESRMNT\nerrno.ESTALE\nerrno.ESTRPIPE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUCLEAN\nerrno.EUNATCH\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.EXFULL\nerrno.errorcode\neval(source[, globals[, locals]]) -> value\nexceptions.ArithmeticError(??)\nexceptions.AssertionError(??)\nexceptions.AttributeError(??)\nexceptions.DeprecationWarning(??)\nexceptions.EOFError(??)\nexceptions.EnvironmentError(??)\nexceptions.Exception(??)\nexceptions.FloatingPointError(??)\nexceptions.FutureWarning(??)\nexceptions.IOError(??)\nexceptions.ImportError(??)\nexceptions.IndentationError(??)\nexceptions.IndexError(??)\nexceptions.KeyError(??)\nexceptions.KeyboardInterrupt(??)\nexceptions.LookupError(??)\nexceptions.MemoryError(??)\nexceptions.NameError(??)\nexceptions.NotImplementedError(??)\nexceptions.OSError(??)\nexceptions.OverflowError(??)\nexceptions.OverflowWarning(??)\nexceptions.PendingDeprecationWarning(??)\nexceptions.ReferenceError(??)\nexceptions.RuntimeError(??)\nexceptions.RuntimeWarning(??)\nexceptions.StandardError(??)\nexceptions.StopIteration(??)\nexceptions.SyntaxError(??)\nexceptions.SyntaxWarning(??)\nexceptions.SystemError(??)\nexceptions.SystemExit(??)\nexceptions.TabError(??)\nexceptions.TypeError(??)\nexceptions.UnboundLocalError(??)\nexceptions.UnicodeDecodeError(??)\nexceptions.UnicodeEncodeError(??)\nexceptions.UnicodeError(??)\nexceptions.UnicodeTranslateError(??)\nexceptions.UserWarning(??)\nexceptions.ValueError(??)\nexceptions.Warning(??)\nexceptions.ZeroDivisionError(??)\nexecfile(filename[, globals[, locals]])\nexit\nfcntl.DN_ACCESS\nfcntl.DN_ATTRIB\nfcntl.DN_CREATE\nfcntl.DN_DELETE\nfcntl.DN_MODIFY\nfcntl.DN_MULTISHOT\nfcntl.DN_RENAME\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_EXLCK\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLEASE\nfcntl.F_GETLK\nfcntl.F_GETLK64\nfcntl.F_GETOWN\nfcntl.F_GETSIG\nfcntl.F_NOTIFY\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLEASE\nfcntl.F_SETLK\nfcntl.F_SETLK64\nfcntl.F_SETLKW\nfcntl.F_SETLKW64\nfcntl.F_SETOWN\nfcntl.F_SETSIG\nfcntl.F_SHLCK\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.I_ATMARK\nfcntl.I_CANPUT\nfcntl.I_CKBAND\nfcntl.I_FDINSERT\nfcntl.I_FIND\nfcntl.I_FLUSH\nfcntl.I_FLUSHBAND\nfcntl.I_GETBAND\nfcntl.I_GETCLTIME\nfcntl.I_GETSIG\nfcntl.I_GRDOPT\nfcntl.I_GWROPT\nfcntl.I_LINK\nfcntl.I_LIST\nfcntl.I_LOOK\nfcntl.I_NREAD\nfcntl.I_PEEK\nfcntl.I_PLINK\nfcntl.I_POP\nfcntl.I_PUNLINK\nfcntl.I_PUSH\nfcntl.I_RECVFD\nfcntl.I_SENDFD\nfcntl.I_SETCLTIME\nfcntl.I_SETSIG\nfcntl.I_SRDOPT\nfcntl.I_STR\nfcntl.I_SWROPT\nfcntl.I_UNLINK\nfcntl.LOCK_EX\nfcntl.LOCK_MAND\nfcntl.LOCK_NB\nfcntl.LOCK_READ\nfcntl.LOCK_RW\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.LOCK_WRITE\nfcntl.fcntl(fd, opt, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, opt[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfile(name[, mode[, buffering]]) -> file object\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.ifilter(function or None, sequence) --> ifilter object\nfilecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object\nfilecmp.imap(func, *iterables) --> imap object\nfilecmp.izip(iter1 [,iter2 [...]]) --> izip object\nfilecmp.os\nfilecmp.stat\nfilecmp.warnings\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.input([files[, inplace[, backup]]])\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os\nfileinput.sys\nfilter(function or None, sequence) -> list, tuple, or string\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.re\nfnmatch.translate(??)\nformatter.AS_IS\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys\nformatter.test(??)\nfpformat.NotANumber(??)\nfpformat.decoder\nfpformat.extract(??)\nfpformat.fix(??)\nfpformat.re\nfpformat.roundfrac(??)\nfpformat.sci(??)\nfpformat.test(??)\nfpformat.unexpo(??)\nfrozenset(iterable) --> frozenset object\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.os\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket\nftplib.sys\nftplib.test(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_INSTANCES\ngc.DEBUG_LEAK\ngc.DEBUG_OBJECTS\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.collect() -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngdbm.error(??)\ngdbm.open(filename, [flags, [mode]])  -> dbm_object\ngdbm.open_flags\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os\ngetopt.short_has_arg(??)\ngetpass.default_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.sys\ngetpass.termios\ngetpass.unix_getpass(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale\ngettext.ngettext(??)\ngettext.os\ngettext.re\ngettext.struct\ngettext.sys\ngettext.test(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch\nglob.glob(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.magic_check\nglob.os\nglob.re\nglobals() -> dictionary\ngopherlib.A_BINARY\ngopherlib.A_CALENDAR\ngopherlib.A_CSO\ngopherlib.A_DUPLICATE\ngopherlib.A_ERROR\ngopherlib.A_EVENT\ngopherlib.A_GIF\ngopherlib.A_HTML\ngopherlib.A_IMAGE\ngopherlib.A_INDEX\ngopherlib.A_MACBINHEX\ngopherlib.A_MENU\ngopherlib.A_MIME\ngopherlib.A_PCBINHEX\ngopherlib.A_PLUS_IMAGE\ngopherlib.A_PLUS_MOVIE\ngopherlib.A_PLUS_SOUND\ngopherlib.A_QUERY\ngopherlib.A_SOUND\ngopherlib.A_TELNET\ngopherlib.A_TEXT\ngopherlib.A_TN3270\ngopherlib.A_UUENCODED\ngopherlib.A_WHOIS\ngopherlib.A_WWW\ngopherlib.CRLF\ngopherlib.DEF_HOST\ngopherlib.DEF_PORT\ngopherlib.DEF_SELECTOR\ngopherlib.TAB\ngopherlib.get_alt_binary(??)\ngopherlib.get_alt_textfile(??)\ngopherlib.get_binary(??)\ngopherlib.get_directory(??)\ngopherlib.get_textfile(??)\ngopherlib.path_to_datatype_name(??)\ngopherlib.path_to_selector(??)\ngopherlib.send_query(??)\ngopherlib.send_selector(??)\ngopherlib.test(??)\ngopherlib.type_to_name(??)\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.LOWU32(??)\ngzip.READ\ngzip.U32(??)\ngzip.WRITE\ngzip.open(??)\ngzip.read32(??)\ngzip.struct\ngzip.sys\ngzip.time\ngzip.write32(??)\ngzip.write32u(??)\ngzip.zlib\nhasattr(object, name) -> bool\nhash(object) -> integer\nheapq.bisect\nheapq.heapify\nheapq.heappop\nheapq.heappush\nheapq.heapreplace\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.nlargest\nheapq.nsmallest\nheapq.repeat(element [,times]) -> create an iterator which returns the element\nhelp\nhex(number) -> string\nhmac.HMAC(??)\nhmac.digest_size\nhmac.new(??)\nhotshot.Profile(??)\nhotshot.ProfilerError(??)\nhotshot.log\nhotshot.log.ENTER\nhotshot.log.EXIT\nhotshot.log.LINE\nhotshot.log.LogReader(??)\nhotshot.log.WHAT_ADD_INFO\nhotshot.log.WHAT_DEFINE_FILE\nhotshot.log.WHAT_DEFINE_FUNC\nhotshot.log.WHAT_ENTER\nhotshot.log.WHAT_EXIT\nhotshot.log.WHAT_LINENO\nhotshot.log.os\nhotshot.log.parser\nhotshot.log.symbol\nhotshot.log.sys\nhotshot.stats\nhotshot.stats.ENTER\nhotshot.stats.EXIT\nhotshot.stats.FakeCode(??)\nhotshot.stats.FakeFrame(??)\nhotshot.stats.Profile(??)\nhotshot.stats.StatsLoader(??)\nhotshot.stats.hotshot\nhotshot.stats.load(??)\nhotshot.stats.profile\nhotshot.stats.pstats\nhotshot.stones\nhotshot.stones.errno\nhotshot.stones.hotshot\nhotshot.stones.main(??)\nhotshot.stones.os\nhotshot.stones.sys\nhotshot.stones.test\nhtmlentitydefs.codepoint2name\nhtmlentitydefs.entitydefs\nhtmlentitydefs.name2codepoint\nhtmllib.AS_IS\nhtmllib.HTMLParseError(??)\nhtmllib.HTMLParser(??)\nhtmllib.sgmllib\nhtmllib.test(??)\nhttplib.ACCEPTED\nhttplib.BAD_GATEWAY\nhttplib.BAD_REQUEST\nhttplib.BadStatusLine(??)\nhttplib.CONFLICT\nhttplib.CONTINUE\nhttplib.CREATED\nhttplib.CannotSendHeader(??)\nhttplib.CannotSendRequest(??)\nhttplib.EXPECTATION_FAILED\nhttplib.FAILED_DEPENDENCY\nhttplib.FORBIDDEN\nhttplib.FOUND\nhttplib.FakeSocket(??)\nhttplib.GATEWAY_TIMEOUT\nhttplib.GONE\nhttplib.HTTP(??)\nhttplib.HTTPConnection(??)\nhttplib.HTTPException(??)\nhttplib.HTTPMessage(??)\nhttplib.HTTPResponse(??)\nhttplib.HTTPS(??)\nhttplib.HTTPSConnection(??)\nhttplib.HTTPS_PORT\nhttplib.HTTP_PORT\nhttplib.HTTP_VERSION_NOT_SUPPORTED\nhttplib.IM_USED\nhttplib.INSUFFICIENT_STORAGE\nhttplib.INTERNAL_SERVER_ERROR\nhttplib.ImproperConnectionState(??)\nhttplib.IncompleteRead(??)\nhttplib.InvalidURL(??)\nhttplib.LENGTH_REQUIRED\nhttplib.LOCKED\nhttplib.LineAndFileWrapper(??)\nhttplib.MAXAMOUNT\nhttplib.METHOD_NOT_ALLOWED\nhttplib.MOVED_PERMANENTLY\nhttplib.MULTIPLE_CHOICES\nhttplib.MULTI_STATUS\nhttplib.NON_AUTHORITATIVE_INFORMATION\nhttplib.NOT_ACCEPTABLE\nhttplib.NOT_EXTENDED\nhttplib.NOT_FOUND\nhttplib.NOT_IMPLEMENTED\nhttplib.NOT_MODIFIED\nhttplib.NO_CONTENT\nhttplib.NotConnected(??)\nhttplib.OK\nhttplib.PARTIAL_CONTENT\nhttplib.PAYMENT_REQUIRED\nhttplib.PRECONDITION_FAILED\nhttplib.PROCESSING\nhttplib.PROXY_AUTHENTICATION_REQUIRED\nhttplib.REQUESTED_RANGE_NOT_SATISFIABLE\nhttplib.REQUEST_ENTITY_TOO_LARGE\nhttplib.REQUEST_TIMEOUT\nhttplib.REQUEST_URI_TOO_LONG\nhttplib.RESET_CONTENT\nhttplib.ResponseNotReady(??)\nhttplib.SEE_OTHER\nhttplib.SERVICE_UNAVAILABLE\nhttplib.SSLFile(??)\nhttplib.SWITCHING_PROTOCOLS\nhttplib.SharedSocket(??)\nhttplib.SharedSocketClient(??)\nhttplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nhttplib.TEMPORARY_REDIRECT\nhttplib.UNAUTHORIZED\nhttplib.UNPROCESSABLE_ENTITY\nhttplib.UNSUPPORTED_MEDIA_TYPE\nhttplib.UPGRADE_REQUIRED\nhttplib.USE_PROXY\nhttplib.UnimplementedFileMode(??)\nhttplib.UnknownProtocol(??)\nhttplib.UnknownTransferEncoding(??)\nhttplib.errno\nhttplib.error(??)\nhttplib.mimetools\nhttplib.socket\nhttplib.test(??)\nhttplib.urlsplit(??)\nid(object) -> integer\nihooks.BUILTIN_MODULE\nihooks.BasicModuleImporter(??)\nihooks.BasicModuleLoader(??)\nihooks.C_BUILTIN\nihooks.C_EXTENSION\nihooks.FROZEN_MODULE\nihooks.FancyModuleLoader(??)\nihooks.Hooks(??)\nihooks.ModuleImporter(??)\nihooks.ModuleLoader(??)\nihooks.PKG_DIRECTORY\nihooks.PY_COMPILED\nihooks.PY_FROZEN\nihooks.PY_SOURCE\nihooks.VERBOSE\nihooks.current_importer\nihooks.default_importer\nihooks.imp\nihooks.install(??)\nihooks.os\nihooks.sys\nihooks.uninstall(??)\nimaplib.AllowedVersions\nimaplib.CRLF\nimaplib.Commands\nimaplib.Continuation\nimaplib.Debug\nimaplib.Flags\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate\nimaplib.Internaldate2tuple(??)\nimaplib.Literal\nimaplib.MapCRLF\nimaplib.Mon2num\nimaplib.ParseFlags(??)\nimaplib.Response_code\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response\nimaplib.Untagged_status\nimaplib.binascii\nimaplib.os\nimaplib.random\nimaplib.re\nimaplib.socket\nimaplib.sys\nimaplib.time\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.find_module(name, [path]) -> (file, filename, (suffix, mode, type))\nimp.get_frozen_object\nimp.get_magic() -> string\nimp.get_suffixes() -> [(suffix, mode, type), ...]\nimp.init_builtin\nimp.init_frozen\nimp.is_builtin\nimp.is_frozen\nimp.load_compiled\nimp.load_dynamic\nimp.load_module(name, file, filename, (suffix, mode, type)) -> module\nimp.load_package\nimp.load_source\nimp.lock_held() -> boolean\nimp.new_module(name) -> module\nimp.release_lock() -> None\nimputil.BuiltinImporter(??)\nimputil.DynLoadSuffixImporter(??)\nimputil.ImportManager(??)\nimputil.Importer(??)\nimputil.imp\nimputil.marshal\nimputil.py_suffix_importer(??)\nimputil.struct\nimputil.sys\ninput([prompt]) -> value\ninspect.BlockFinder(??)\ninspect.CO_NEWLOCALS\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.EndOfBlock(??)\ninspect.ListReader(??)\ninspect.classify_class_attrs(??)\ninspect.currentframe\ninspect.dis\ninspect.findsource(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getblock(??)\ninspect.getclasstree(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp\ninspect.indentsize(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.joinseq(??)\ninspect.linecache\ninspect.modulesbyfile\ninspect.os\ninspect.re\ninspect.stack(??)\ninspect.string\ninspect.strseq(??)\ninspect.sys\ninspect.tokenize\ninspect.trace(??)\ninspect.types\ninspect.walktree(??)\nint(x[, base]) -> integer\nintern(string) -> string\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(collection) -> iterator\nitertools.chain(*iterables) --> chain object\nitertools.count([firstval]) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.ifilter(function or None, sequence) --> ifilter object\nitertools.ifilterfalse(function or None, sequence) --> ifilterfalse object\nitertools.imap(func, *iterables) --> imap object\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.izip(iter1 [,iter2 [...]]) --> izip object\nitertools.repeat(element [,times]) -> create an iterator which returns the element\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nkeyword.iskeyword\nkeyword.kwlist\nkeyword.main(??)\nlen(object) -> integer\nlicense\nlinecache.cache\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os\nlinecache.sys\nlinecache.updatecache(??)\nlinuxaudiodev.AFMT_A_LAW\nlinuxaudiodev.AFMT_MU_LAW\nlinuxaudiodev.AFMT_S16_BE\nlinuxaudiodev.AFMT_S16_LE\nlinuxaudiodev.AFMT_S16_NE\nlinuxaudiodev.AFMT_S8\nlinuxaudiodev.AFMT_U16_BE\nlinuxaudiodev.AFMT_U16_LE\nlinuxaudiodev.AFMT_U8\nlinuxaudiodev.error(??)\nlinuxaudiodev.open\nlist() -> new list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.bind_textdomain_codeset(domain, codeset) -> string\nlocale.bindtextdomain(domain, dir) -> string\nlocale.dcgettext(domain, msg, category) -> string\nlocale.dgettext(domain, msg) -> string\nlocale.encoding_alias\nlocale.format(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.gettext(msg) -> string\nlocale.locale_alias\nlocale.localeconv\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll\nlocale.strxfrm\nlocale.sys\nlocale.textdomain(domain) -> string\nlocale.windows_locale\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StreamHandler(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit\nlogging.basicConfig(??)\nlogging.cStringIO\nlogging.codecs\nlogging.config\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.fileConfig(??)\nlogging.config.listen(??)\nlogging.config.logging\nlogging.config.os\nlogging.config.socket\nlogging.config.stopListening(??)\nlogging.config.string\nlogging.config.struct\nlogging.config.sys\nlogging.config.thread\nlogging.config.threading\nlogging.config.traceback\nlogging.critical(??)\nlogging.currentframe\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.cPickle\nlogging.handlers.codecs\nlogging.handlers.glob\nlogging.handlers.logging\nlogging.handlers.os\nlogging.handlers.socket\nlogging.handlers.string\nlogging.handlers.struct\nlogging.handlers.sys\nlogging.handlers.time\nlogging.handlers.types\nlogging.info(??)\nlogging.log(??)\nlogging.makeLogRecord(??)\nlogging.os\nlogging.raiseExceptions\nlogging.root\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.string\nlogging.sys\nlogging.thread\nlogging.threading\nlogging.time\nlogging.traceback\nlogging.types\nlogging.warn(??)\nlogging.warning(??)\nlong(x[, base]) -> integer\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.abspath(??)\nmacpath.altsep\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames\nmacpath.walk(??)\nmacurl2path.os\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib\nmailbox.BabylMailbox(??)\nmailbox.MHMailbox(??)\nmailbox.Maildir(??)\nmailbox.MmdfMailbox(??)\nmailbox.PortableUnixMailbox(??)\nmailbox.UnixMailbox(??)\nmailbox.os\nmailbox.rfc822\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(function, sequence[, sequence, ...]) -> list\nmarkupbase.ParserBase(??)\nmarshal.dump\nmarshal.dumps\nmarshal.load\nmarshal.loads\nmarshal.version\nmath.acos(x)\nmath.asin(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.ceil(x)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x) -> converts angle x from radians to degrees\nmath.e\nmath.exp(x)\nmath.fabs(x)\nmath.floor(x)\nmath.fmod(x,y)\nmath.frexp(x)\nmath.hypot(x,y)\nmath.ldexp(x, i) -> x * (2**i)\nmath.log(x[, base]) -> the logarithm of x to the given base.\nmath.log10(x) -> the base 10 logarithm of x.\nmath.modf(x)\nmath.pi\nmath.pow(x,y)\nmath.radians(x) -> converts angle x from degrees to radians\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmax(sequence) -> value\nmd5.MD5Type\nmd5.digest_size\nmd5.md5\nmd5.new([arg]) -> md5 object\nmhlib.Error(??)\nmhlib.FOLDER_PROTECT\nmhlib.Folder(??)\nmhlib.IntSet(??)\nmhlib.MH(??)\nmhlib.MH_PROFILE\nmhlib.MH_SEQUENCES\nmhlib.Message(??)\nmhlib.PATH\nmhlib.SubMessage(??)\nmhlib.bisect\nmhlib.isnumeric(??)\nmhlib.mimetools\nmhlib.multifile\nmhlib.numericprog\nmhlib.os\nmhlib.pickline(??)\nmhlib.re\nmhlib.shutil\nmhlib.sys\nmhlib.test(??)\nmhlib.updateline(??)\nmimetools.Message(??)\nmimetools.choose_boundary(??)\nmimetools.copybinary(??)\nmimetools.copyliteral(??)\nmimetools.decode(??)\nmimetools.decodetab\nmimetools.encode(??)\nmimetools.encodetab\nmimetools.os\nmimetools.pipethrough(??)\nmimetools.pipeto(??)\nmimetools.rfc822\nmimetools.tempfile\nmimetools.uudecode_pipe\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types\nmimetypes.encodings_map\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited\nmimetypes.knownfiles\nmimetypes.os\nmimetypes.posixpath\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map\nmimetypes.types_map\nmimetypes.urllib\nmimify.CHARSET\nmimify.File(??)\nmimify.HeaderFile(??)\nmimify.MAXLEN\nmimify.QUOTE\nmimify.base64_re\nmimify.chrset\nmimify.cte\nmimify.he\nmimify.iso_char\nmimify.mime_char\nmimify.mime_code\nmimify.mime_decode(??)\nmimify.mime_decode_header(??)\nmimify.mime_encode(??)\nmimify.mime_encode_header(??)\nmimify.mime_head\nmimify.mime_header\nmimify.mime_header_char\nmimify.mimify(??)\nmimify.mimify_part(??)\nmimify.mp\nmimify.mv\nmimify.qp\nmimify.re\nmimify.repl\nmimify.sys\nmimify.unmimify(??)\nmimify.unmimify_part(??)\nmin(sequence) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_DENYWRITE\nmmap.MAP_EXECUTABLE\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error(??)\nmmap.mmap\nmodulefinder.AddPackagePath(??)\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.READ_MODE\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS\nmodulefinder.dis\nmodulefinder.imp\nmodulefinder.marshal\nmodulefinder.new\nmodulefinder.os\nmodulefinder.packagePathMap\nmodulefinder.replacePackageMap\nmodulefinder.sys\nmodulefinder.test(??)\nmultifile.Error(??)\nmultifile.MultiFile(??)\nmutex.deque(iterable) --> deque object\nmutex.mutex(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os\nnetrc.shlex\nnew.classobj(name, bases, dict)\nnew.code\nnew.function(code, globals[, name[, argdefs[, closure]]])\nnew.instance(class[, dict])\nnew.instancemethod(function, instance, class)\nnew.module(name[, doc])\nnis.cat\nnis.error(??)\nnis.maps\nnis.match\nnntplib.CRLF\nnntplib.LONGRESP\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.error_data(??)\nnntplib.error_perm(??)\nnntplib.error_proto(??)\nnntplib.error_reply(??)\nnntplib.error_temp(??)\nnntplib.re\nnntplib.socket\nntpath.abspath(??)\nntpath.altsep\nntpath.basename(??)\nntpath.commonprefix(??)\nntpath.curdir\nntpath.defpath\nntpath.devnull\nntpath.dirname(??)\nntpath.exists(??)\nntpath.expanduser(??)\nntpath.expandvars(??)\nntpath.extsep\nntpath.getatime(??)\nntpath.getctime(??)\nntpath.getmtime(??)\nntpath.getsize(??)\nntpath.isabs(??)\nntpath.isdir(??)\nntpath.isfile(??)\nntpath.islink(??)\nntpath.ismount(??)\nntpath.join(??)\nntpath.lexists(??)\nntpath.normcase(??)\nntpath.normpath(??)\nntpath.os\nntpath.pardir\nntpath.pathsep\nntpath.realpath(??)\nntpath.sep\nntpath.split(??)\nntpath.splitdrive(??)\nntpath.splitext(??)\nntpath.splitunc(??)\nntpath.stat\nntpath.supports_unicode_filenames\nntpath.sys\nntpath.walk(??)\nnturl2path.pathname2url(??)\nnturl2path.url2pathname(??)\nobject\noct(number) -> string\nopcode.EXTENDED_ARG\nopcode.HAVE_ARGUMENT\nopcode.cmp_op\nopcode.hascompare\nopcode.hasconst\nopcode.hasfree\nopcode.hasjabs\nopcode.hasjrel\nopcode.haslocal\nopcode.hasname\nopcode.opmap\nopcode.opname\nopen\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.delslice(a, b, c) -- Same as del a[b:c].\noperator.div(a, b) -- Same as a / b when __future__.division is not in effect.\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.getslice(a, b, c) -- Same as a[b:c].\noperator.gt(a, b) -- Same as a>b.\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.isCallable(a) -- Same as callable(a).\noperator.isMappingType(a) -- Return True if a has a mapping type, False otherwise.\noperator.isNumberType(a) -- Return True if a has a numeric type, False otherwise.\noperator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise.\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.itemgetter(item) --> itemgetter object\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a**b.\noperator.repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.\noperator.rshift(a, b) -- Same as a >> b.\noperator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated).\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.setslice(a, b, c, d) -- Same as a[b:c] = d.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b when __future__.division is in effect.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.make_option(??)\noptparse.os\noptparse.sys\noptparse.textwrap\noptparse.types\nord(c) -> integer\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_OK\nos.NGROUPS_MAX\nos.O_APPEND\nos.O_CREAT\nos.O_DIRECT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_LARGEFILE\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_RSYNC\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_WAIT\nos.R_OK\nos.TMP_MAX\nos.UserDict\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode) -> 1 if granted, 0 otherwise\nos.altsep\nos.chdir(path)\nos.chmod(path, mode)\nos.chown(path, uid, gid)\nos.chroot(path)\nos.close(fd)\nos.confstr(name) -> string\nos.confstr_names\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(??)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fildes)\nos.fdatasync(fildes)\nos.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.getcwd() -> path\nos.getcwdu() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst)\nos.listdir(path) -> list_of_strings\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0777])\nos.minor(device) -> minor number\nos.mkdir(path [, mode=0777])\nos.mkfifo(filename [, mode=0666])\nos.mknod(filename [, mode=0600, device])\nos.name\nos.nice(inc) -> new_priority\nos.open(filename, flag [, mode=0777]) -> fd\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path\nos.pathconf(path, name) -> integer\nos.pathconf_names\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(command [, mode='r' [, bufsize]]) -> pipe\nos.popen2(??)\nos.popen3(??)\nos.popen4(??)\nos.putenv(key, value)\nos.read(fd, buffersize) -> string\nos.readlink(path) -> path\nos.remove(path)\nos.removedirs(path)\nos.rename(old, new)\nos.renames(old, new)\nos.rmdir(path)\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setregid(rgid, egid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.stat(path) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result\nos.statvfs(path) -> statvfs result\nos.statvfs_result\nos.strerror(code) -> string\nos.symlink(src, dst)\nos.sys\nos.sysconf(name) -> integer\nos.sysconf_names\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.tempnam([dir[, prefix]]) -> string\nos.times() -> (utime, stime, cutime, cstime, elapsed_time)\nos.tmpfile() -> file object\nos.tmpnam() -> string\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> (sysname, nodename, release, version, machine)\nos.unlink(path)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, (atime, utime))\nos.wait() -> (pid, status)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\nos2emxpath.abspath(??)\nos2emxpath.altsep\nos2emxpath.basename(??)\nos2emxpath.commonprefix(??)\nos2emxpath.curdir\nos2emxpath.defpath\nos2emxpath.devnull\nos2emxpath.dirname(??)\nos2emxpath.exists(??)\nos2emxpath.expanduser(??)\nos2emxpath.expandvars(??)\nos2emxpath.extsep\nos2emxpath.getatime(??)\nos2emxpath.getctime(??)\nos2emxpath.getmtime(??)\nos2emxpath.getsize(??)\nos2emxpath.isabs(??)\nos2emxpath.isdir(??)\nos2emxpath.isfile(??)\nos2emxpath.islink(??)\nos2emxpath.ismount(??)\nos2emxpath.join(??)\nos2emxpath.lexists(??)\nos2emxpath.normcase(??)\nos2emxpath.normpath(??)\nos2emxpath.os\nos2emxpath.pardir\nos2emxpath.pathsep\nos2emxpath.realpath(??)\nos2emxpath.sep\nos2emxpath.split(??)\nos2emxpath.splitdrive(??)\nos2emxpath.splitext(??)\nos2emxpath.splitunc(??)\nos2emxpath.stat\nos2emxpath.supports_unicode_filenames\nos2emxpath.walk(??)\nossaudiodev.AFMT_AC3\nossaudiodev.AFMT_A_LAW\nossaudiodev.AFMT_IMA_ADPCM\nossaudiodev.AFMT_MPEG\nossaudiodev.AFMT_MU_LAW\nossaudiodev.AFMT_QUERY\nossaudiodev.AFMT_S16_BE\nossaudiodev.AFMT_S16_LE\nossaudiodev.AFMT_S16_NE\nossaudiodev.AFMT_S8\nossaudiodev.AFMT_U16_BE\nossaudiodev.AFMT_U16_LE\nossaudiodev.AFMT_U8\nossaudiodev.OSSAudioError(??)\nossaudiodev.SNDCTL_COPR_HALT\nossaudiodev.SNDCTL_COPR_LOAD\nossaudiodev.SNDCTL_COPR_RCODE\nossaudiodev.SNDCTL_COPR_RCVMSG\nossaudiodev.SNDCTL_COPR_RDATA\nossaudiodev.SNDCTL_COPR_RESET\nossaudiodev.SNDCTL_COPR_RUN\nossaudiodev.SNDCTL_COPR_SENDMSG\nossaudiodev.SNDCTL_COPR_WCODE\nossaudiodev.SNDCTL_COPR_WDATA\nossaudiodev.SNDCTL_DSP_BIND_CHANNEL\nossaudiodev.SNDCTL_DSP_CHANNELS\nossaudiodev.SNDCTL_DSP_GETBLKSIZE\nossaudiodev.SNDCTL_DSP_GETCAPS\nossaudiodev.SNDCTL_DSP_GETCHANNELMASK\nossaudiodev.SNDCTL_DSP_GETFMTS\nossaudiodev.SNDCTL_DSP_GETIPTR\nossaudiodev.SNDCTL_DSP_GETISPACE\nossaudiodev.SNDCTL_DSP_GETODELAY\nossaudiodev.SNDCTL_DSP_GETOPTR\nossaudiodev.SNDCTL_DSP_GETOSPACE\nossaudiodev.SNDCTL_DSP_GETSPDIF\nossaudiodev.SNDCTL_DSP_GETTRIGGER\nossaudiodev.SNDCTL_DSP_MAPINBUF\nossaudiodev.SNDCTL_DSP_MAPOUTBUF\nossaudiodev.SNDCTL_DSP_NONBLOCK\nossaudiodev.SNDCTL_DSP_POST\nossaudiodev.SNDCTL_DSP_PROFILE\nossaudiodev.SNDCTL_DSP_RESET\nossaudiodev.SNDCTL_DSP_SAMPLESIZE\nossaudiodev.SNDCTL_DSP_SETDUPLEX\nossaudiodev.SNDCTL_DSP_SETFMT\nossaudiodev.SNDCTL_DSP_SETFRAGMENT\nossaudiodev.SNDCTL_DSP_SETSPDIF\nossaudiodev.SNDCTL_DSP_SETSYNCRO\nossaudiodev.SNDCTL_DSP_SETTRIGGER\nossaudiodev.SNDCTL_DSP_SPEED\nossaudiodev.SNDCTL_DSP_STEREO\nossaudiodev.SNDCTL_DSP_SUBDIVIDE\nossaudiodev.SNDCTL_DSP_SYNC\nossaudiodev.SNDCTL_FM_4OP_ENABLE\nossaudiodev.SNDCTL_FM_LOAD_INSTR\nossaudiodev.SNDCTL_MIDI_INFO\nossaudiodev.SNDCTL_MIDI_MPUCMD\nossaudiodev.SNDCTL_MIDI_MPUMODE\nossaudiodev.SNDCTL_MIDI_PRETIME\nossaudiodev.SNDCTL_SEQ_CTRLRATE\nossaudiodev.SNDCTL_SEQ_GETINCOUNT\nossaudiodev.SNDCTL_SEQ_GETOUTCOUNT\nossaudiodev.SNDCTL_SEQ_GETTIME\nossaudiodev.SNDCTL_SEQ_NRMIDIS\nossaudiodev.SNDCTL_SEQ_NRSYNTHS\nossaudiodev.SNDCTL_SEQ_OUTOFBAND\nossaudiodev.SNDCTL_SEQ_PANIC\nossaudiodev.SNDCTL_SEQ_PERCMODE\nossaudiodev.SNDCTL_SEQ_RESET\nossaudiodev.SNDCTL_SEQ_RESETSAMPLES\nossaudiodev.SNDCTL_SEQ_SYNC\nossaudiodev.SNDCTL_SEQ_TESTMIDI\nossaudiodev.SNDCTL_SEQ_THRESHOLD\nossaudiodev.SNDCTL_SYNTH_CONTROL\nossaudiodev.SNDCTL_SYNTH_ID\nossaudiodev.SNDCTL_SYNTH_INFO\nossaudiodev.SNDCTL_SYNTH_MEMAVL\nossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE\nossaudiodev.SNDCTL_TMR_CONTINUE\nossaudiodev.SNDCTL_TMR_METRONOME\nossaudiodev.SNDCTL_TMR_SELECT\nossaudiodev.SNDCTL_TMR_SOURCE\nossaudiodev.SNDCTL_TMR_START\nossaudiodev.SNDCTL_TMR_STOP\nossaudiodev.SNDCTL_TMR_TEMPO\nossaudiodev.SNDCTL_TMR_TIMEBASE\nossaudiodev.SOUND_MIXER_ALTPCM\nossaudiodev.SOUND_MIXER_BASS\nossaudiodev.SOUND_MIXER_CD\nossaudiodev.SOUND_MIXER_DIGITAL1\nossaudiodev.SOUND_MIXER_DIGITAL2\nossaudiodev.SOUND_MIXER_DIGITAL3\nossaudiodev.SOUND_MIXER_IGAIN\nossaudiodev.SOUND_MIXER_IMIX\nossaudiodev.SOUND_MIXER_LINE\nossaudiodev.SOUND_MIXER_LINE1\nossaudiodev.SOUND_MIXER_LINE2\nossaudiodev.SOUND_MIXER_LINE3\nossaudiodev.SOUND_MIXER_MIC\nossaudiodev.SOUND_MIXER_MONITOR\nossaudiodev.SOUND_MIXER_NRDEVICES\nossaudiodev.SOUND_MIXER_OGAIN\nossaudiodev.SOUND_MIXER_PCM\nossaudiodev.SOUND_MIXER_PHONEIN\nossaudiodev.SOUND_MIXER_PHONEOUT\nossaudiodev.SOUND_MIXER_RADIO\nossaudiodev.SOUND_MIXER_RECLEV\nossaudiodev.SOUND_MIXER_SPEAKER\nossaudiodev.SOUND_MIXER_SYNTH\nossaudiodev.SOUND_MIXER_TREBLE\nossaudiodev.SOUND_MIXER_VIDEO\nossaudiodev.SOUND_MIXER_VOLUME\nossaudiodev.control_labels\nossaudiodev.control_names\nossaudiodev.error(??)\nossaudiodev.open\nossaudiodev.openmixer\nparser.ASTType\nparser.ParserError(??)\nparser.STType\nparser.ast2list\nparser.ast2tuple\nparser.compileast\nparser.compilest\nparser.expr\nparser.isexpr\nparser.issuite\nparser.sequence2ast\nparser.sequence2st\nparser.st2list\nparser.st2tuple\nparser.suite\nparser.tuple2ast\nparser.tuple2st\npdb.Pdb(??)\npdb.Repr(??)\npdb.TESTCMD\npdb.bdb\npdb.cmd\npdb.find_function(??)\npdb.help(??)\npdb.line_prefix\npdb.linecache\npdb.main(??)\npdb.os\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint\npdb.re\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.sys\npdb.test(??)\npdb.traceback\npickle.APPEND\npickle.APPENDS\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BooleanType\npickle.BufferType\npickle.BuiltinFunctionType\npickle.BuiltinMethodType\npickle.ClassType\npickle.CodeType\npickle.ComplexType\npickle.DICT\npickle.DUP\npickle.DictProxyType\npickle.DictType\npickle.DictionaryType\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.EllipsisType\npickle.FALSE\npickle.FLOAT\npickle.FileType\npickle.FloatType\npickle.FrameType\npickle.FunctionType\npickle.GET\npickle.GLOBAL\npickle.GeneratorType\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.InstanceType\npickle.IntType\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.LambdaType\npickle.ListType\npickle.LongType\npickle.MARK\npickle.MethodType\npickle.ModuleType\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.NoneType\npickle.NotImplementedType\npickle.OBJ\npickle.ObjectType\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.SliceType\npickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing\npickle.StringType\npickle.StringTypes\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.TracebackType\npickle.TupleType\npickle.TypeType\npickle.UNICODE\npickle.UnboundMethodType\npickle.UnicodeType\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.XRangeType\npickle.classmap\npickle.compatible_formats\npickle.decode_long(??)\npickle.dispatch_table\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.load(??)\npickle.loads(??)\npickle.marshal\npickle.mloads\npickle.re\npickle.struct\npickle.sys\npickle.warnings\npickle.whichmodule(??)\npickletools.ArgumentDescriptor\npickletools.OpcodeInfo\npickletools.StackObject\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject\npickletools.code2op\npickletools.decimalnl_long\npickletools.decimalnl_short\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8\npickletools.floatnl\npickletools.genops(??)\npickletools.int4\npickletools.long1\npickletools.long4\npickletools.markobject\npickletools.opcodes\npickletools.pybool\npickletools.pydict\npickletools.pyfloat\npickletools.pyint\npickletools.pyinteger_or_bool\npickletools.pylist\npickletools.pylong\npickletools.pynone\npickletools.pystring\npickletools.pytuple\npickletools.pyunicode\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice\npickletools.string1\npickletools.string4\npickletools.stringnl\npickletools.stringnl_noescape\npickletools.stringnl_noescape_pair\npickletools.uint1\npickletools.uint2\npickletools.unicodestring4\npickletools.unicodestringnl\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os\npipes.quote(??)\npipes.re\npipes.stepkinds\npipes.string\npipes.tempfile\npipes.test(??)\npkgutil.extend_path(??)\npkgutil.os\npkgutil.sys\nplatform.architecture(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re\nplatform.release(??)\nplatform.string\nplatform.sys\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.version(??)\nplatform.win32_ver(??)\npopen2.MAXFD\npopen2.Popen3(??)\npopen2.Popen4(??)\npopen2.os\npopen2.popen2(??)\npopen2.popen3(??)\npopen2.popen4(??)\npopen2.sys\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto(??)\npoplib.re\npoplib.socket\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_OK\nposix.NGROUPS_MAX\nposix.O_APPEND\nposix.O_CREAT\nposix.O_DIRECT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_LARGEFILE\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_RSYNC\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.R_OK\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode) -> 1 if granted, 0 otherwise\nposix.chdir(path)\nposix.chmod(path, mode)\nposix.chown(path, uid, gid)\nposix.chroot(path)\nposix.close(fd)\nposix.confstr(name) -> string\nposix.confstr_names\nposix.ctermid() -> string\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ\nposix.error(??)\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fildes)\nposix.fdatasync(fildes)\nposix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.getcwd() -> path\nposix.getcwdu() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchown(path, uid, gid)\nposix.link(src, dst)\nposix.listdir(path) -> list_of_strings\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path [, mode=0777])\nposix.mkfifo(filename [, mode=0666])\nposix.mknod(filename [, mode=0600, device])\nposix.nice(inc) -> new_priority\nposix.open(filename, flag [, mode=0777]) -> fd\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names\nposix.pipe() -> (read_end, write_end)\nposix.popen(command [, mode='r' [, bufsize]]) -> pipe\nposix.putenv(key, value)\nposix.read(fd, buffersize) -> string\nposix.readlink(path) -> path\nposix.remove(path)\nposix.rename(old, new)\nposix.rmdir(path)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setregid(rgid, egid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result\nposix.statvfs(path) -> statvfs result\nposix.statvfs_result\nposix.strerror(code) -> string\nposix.symlink(src, dst)\nposix.sysconf(name) -> integer\nposix.sysconf_names\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.tempnam([dir[, prefix]]) -> string\nposix.times() -> (utime, stime, cutime, cstime, elapsed_time)\nposix.tmpfile() -> file object\nposix.tmpnam() -> string\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> (sysname, nodename, release, version, machine)\nposix.unlink(path)\nposix.unsetenv(key)\nposix.utime(path, (atime, utime))\nposix.wait() -> (pid, status)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\nposixfile.SEEK_CUR\nposixfile.SEEK_END\nposixfile.SEEK_SET\nposixfile.fileopen(??)\nposixfile.open(??)\nposixpath.abspath(??)\nposixpath.altsep\nposixpath.basename(??)\nposixpath.commonprefix(??)\nposixpath.curdir\nposixpath.defpath\nposixpath.devnull\nposixpath.dirname(??)\nposixpath.exists(??)\nposixpath.expanduser(??)\nposixpath.expandvars(??)\nposixpath.extsep\nposixpath.getatime(??)\nposixpath.getctime(??)\nposixpath.getmtime(??)\nposixpath.getsize(??)\nposixpath.isabs(??)\nposixpath.isdir(??)\nposixpath.isfile(??)\nposixpath.islink(??)\nposixpath.ismount(??)\nposixpath.join(??)\nposixpath.lexists(??)\nposixpath.normcase(??)\nposixpath.normpath(??)\nposixpath.os\nposixpath.pardir\nposixpath.pathsep\nposixpath.realpath(??)\nposixpath.samefile(??)\nposixpath.sameopenfile(??)\nposixpath.samestat(??)\nposixpath.sep\nposixpath.split(??)\nposixpath.splitdrive(??)\nposixpath.splitext(??)\nposixpath.stat\nposixpath.supports_unicode_filenames\nposixpath.walk(??)\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.Stats(??)\nprofile.help(??)\nprofile.marshal\nprofile.os\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys\nprofile.time\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal\npstats.os\npstats.re\npstats.time\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd\npwd.struct_pwent\npy_compile.MAGIC\npy_compile.PyCompileError(??)\npy_compile.compile(??)\npy_compile.imp\npy_compile.main(??)\npy_compile.marshal\npy_compile.os\npy_compile.set_creator_type(??)\npy_compile.sys\npy_compile.traceback\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.NEWLINE\npyclbr.imp\npyclbr.itemgetter(item) --> itemgetter object\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys\npyclbr.tokenize\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.expandtabs(s [,tabsize]) -> string\npydoc.find(s, sub [,start [,end]]) -> in\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.gui(??)\npydoc.help\npydoc.html\npydoc.imp\npydoc.importfile(??)\npydoc.inspect\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.join(list [,sep]) -> string\npydoc.locate(??)\npydoc.lower(s) -> string\npydoc.os\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.re\npydoc.replace(??)\npydoc.resolve(??)\npydoc.rfind(s, sub [,start [,end]]) -> int\npydoc.rstrip(s [,chars]) -> string\npydoc.safeimport(??)\npydoc.serve(??)\npydoc.split(s [,sep [,maxsplit]]) -> list of strings\npydoc.splitdoc(??)\npydoc.strip(s [,chars]) -> string\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys\npydoc.tempfilepager(??)\npydoc.text\npydoc.ttypager(??)\npydoc.types\npydoc.visiblename(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npyexpat.EXPAT_VERSION\npyexpat.ErrorString(errno) -> string\npyexpat.ExpatError(??)\npyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser\npyexpat.XMLParserType\npyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS\npyexpat.XML_PARAM_ENTITY_PARSING_NEVER\npyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\npyexpat.error(??)\npyexpat.errors\npyexpat.features\npyexpat.model\npyexpat.native_encoding\npyexpat.version_info\nquit\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random\nrandom.SG_MAGICCONST\nrandom.SystemRandom\nrandom.TWOPI\nrandom.WichmannHill\nrandom.betavariate\nrandom.choice\nrandom.expovariate\nrandom.gammavariate\nrandom.gauss\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate\nrandom.jumpahead(int) -> None.  Create new state from existing state and integer.\nrandom.lognormvariate\nrandom.normalvariate\nrandom.paretovariate\nrandom.randint\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange\nrandom.sample\nrandom.seed\nrandom.setstate\nrandom.shuffle\nrandom.uniform\nrandom.vonmisesvariate\nrandom.weibullvariate\nrange([start,] stop[, step]) -> list of integers\nraw_input([prompt]) -> string\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.engine\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sub(??)\nre.subn(??)\nre.template(??)\nreadline.add_history(string) -> None\nreadline.clear_history() -> None\nreadline.get_begidx() -> int\nreadline.get_completer() -> function\nreadline.get_completer_delims() -> string\nreadline.get_current_history_length() -> integer\nreadline.get_endidx() -> int\nreadline.get_history_item() -> string\nreadline.get_history_length() -> int\nreadline.get_line_buffer() -> string\nreadline.insert_text(string) -> None\nreadline.parse_and_bind(string) -> None\nreadline.read_history_file([filename]) -> None\nreadline.read_init_file([filename]) -> None\nreadline.redisplay() -> None\nreadline.remove_history_item(pos) -> None\nreadline.replace_history_item(pos, line) -> None\nreadline.set_completer([function]) -> None\nreadline.set_completer_delims(string) -> None\nreadline.set_history_length(length) -> None\nreadline.set_startup_hook([function]) -> None\nreadline.write_history_file([filename]) -> None\nreconvert.RE_ANSI_HEX\nreconvert.RE_BK_PLUS_QM\nreconvert.RE_CONTEXT_INDEP_OPS\nreconvert.RE_NEWLINE_OR\nreconvert.RE_NO_BK_PARENS\nreconvert.RE_NO_BK_VBAR\nreconvert.RE_NO_GNU_EXTENSIONS\nreconvert.RE_SYNTAX_AWK\nreconvert.RE_SYNTAX_EGREP\nreconvert.RE_SYNTAX_EMACS\nreconvert.RE_SYNTAX_GREP\nreconvert.RE_TIGHT_VBAR\nreconvert.convert(??)\nreconvert.main(??)\nreconvert.mastertable\nreconvert.quote(??)\nreconvert.regex\nreconvert.warnings\nreduce(function, sequence[, initial]) -> value\nregex.casefold\nregex.compile\nregex.error(??)\nregex.get_syntax\nregex.match\nregex.search\nregex.set_syntax\nregex.symcomp\nregex_syntax.RE_ANSI_HEX\nregex_syntax.RE_BK_PLUS_QM\nregex_syntax.RE_CONTEXT_INDEP_OPS\nregex_syntax.RE_NEWLINE_OR\nregex_syntax.RE_NO_BK_PARENS\nregex_syntax.RE_NO_BK_VBAR\nregex_syntax.RE_NO_GNU_EXTENSIONS\nregex_syntax.RE_SYNTAX_AWK\nregex_syntax.RE_SYNTAX_EGREP\nregex_syntax.RE_SYNTAX_EMACS\nregex_syntax.RE_SYNTAX_GREP\nregex_syntax.RE_TIGHT_VBAR\nregsub.cache\nregsub.capwords(??)\nregsub.clear_cache(??)\nregsub.compile(??)\nregsub.expand(??)\nregsub.gsub(??)\nregsub.intsplit(??)\nregsub.regex\nregsub.split(??)\nregsub.splitx(??)\nregsub.sub(??)\nregsub.test(??)\nregsub.warnings\nreload(module) -> module\nrepr(object) -> string\nrepr.Repr(??)\nrepr.aRepr\nrepr.islice(iterable, [start,] stop [, step]) --> islice object\nrepr.repr\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_OFILE\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error(??)\nresource.getpagesize\nresource.getrlimit\nresource.getrusage\nresource.setrlimit\nresource.struct_rusage\nreversed(sequence) -> reverse iterator over values of the sequence\nrexec.FileBase(??)\nrexec.FileDelegate(??)\nrexec.FileWrapper(??)\nrexec.RExec(??)\nrexec.RHooks(??)\nrexec.RModuleImporter(??)\nrexec.RModuleLoader(??)\nrexec.TEMPLATE\nrexec.ihooks\nrexec.imp\nrexec.os\nrexec.sys\nrexec.test(??)\nrfc822.AddressList(??)\nrfc822.AddrlistClass(??)\nrfc822.Message(??)\nrfc822.dump_address_pair(??)\nrfc822.formatdate(??)\nrfc822.mktime_tz(??)\nrfc822.parseaddr(??)\nrfc822.parsedate(??)\nrfc822.parsedate_tz(??)\nrfc822.quote(??)\nrfc822.time\nrfc822.unquote(??)\nrlcompleter.Completer(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline\nrobotparser.Entry(??)\nrobotparser.RobotFileParser(??)\nrobotparser.RuleLine(??)\nrobotparser.URLopener(??)\nrobotparser.debug\nrobotparser.urllib\nrobotparser.urlparse\nround(number[, ndigits]) -> floating point number\nsched.bisect\nsched.scheduler(??)\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLMSG\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.error(??)\nselect.poll\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nset(iterable) --> set object\nsetattr(object, name, value)\nsets.BaseSet\nsets.ImmutableSet\nsets.Set\nsets.generators\nsets.ifilter(function or None, sequence) --> ifilter object\nsets.ifilterfalse(function or None, sequence) --> ifilterfalse object\nsgmllib.SGMLParseError(??)\nsgmllib.SGMLParser(??)\nsgmllib.TestSGMLParser(??)\nsgmllib.attrfind\nsgmllib.charref\nsgmllib.endbracket\nsgmllib.entityref\nsgmllib.incomplete\nsgmllib.interesting\nsgmllib.markupbase\nsgmllib.piclose\nsgmllib.re\nsgmllib.shorttag\nsgmllib.shorttagopen\nsgmllib.starttagopen\nsgmllib.tagfind\nsgmllib.test(??)\nsha.blocksize\nsha.digest_size\nsha.digestsize\nsha.new\nsha.sha\nshelve.BsdDbShelf(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=0) -- Create a pickler.\nshelve.Shelf(??)\nshelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshelve.Unpickler(file) -- Create an unpickler.\nshelve.UserDict\nshelve.open(??)\nshelve.warnings\nshlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshlex.deque(iterable) --> deque object\nshlex.os\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys\nshutil.Error(??)\nshutil.abspath(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.destinsrc(??)\nshutil.exceptions\nshutil.move(??)\nshutil.os\nshutil.rmtree(??)\nshutil.stat\nshutil.sys\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCLD\nsignal.SIGCONT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPOLL\nsignal.SIGPROF\nsignal.SIGPWR\nsignal.SIGQUIT\nsignal.SIGRTMAX\nsignal.SIGRTMIN\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.signal(sig, action) -> action\nsite.abs__file__(??)\nsite.addbuilddir(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.aliasmbcs(??)\nsite.execsitecustomize(??)\nsite.main(??)\nsite.makepath(??)\nsite.os\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.setencoding(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DEBUGSTREAM\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat\nsmtpd.asyncore\nsmtpd.errno\nsmtpd.getopt\nsmtpd.os\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket\nsmtpd.sys\nsmtpd.time\nsmtpd.usage(??)\nsmtplib.CRLF\nsmtplib.OLDSTYLE_AUTH\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SSLFakeFile(??)\nsmtplib.SSLFakeSocket(??)\nsmtplib.base64\nsmtplib.encode_base64(??)\nsmtplib.hmac\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re\nsmtplib.rfc822\nsmtplib.socket\nsmtplib.stderr\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_ASH\nsocket.AF_ATMPVC\nsocket.AF_ATMSVC\nsocket.AF_AX25\nsocket.AF_BRIDGE\nsocket.AF_DECnet\nsocket.AF_ECONET\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_IRDA\nsocket.AF_KEY\nsocket.AF_NETBEUI\nsocket.AF_NETLINK\nsocket.AF_NETROM\nsocket.AF_PACKET\nsocket.AF_PPPOX\nsocket.AF_ROSE\nsocket.AF_ROUTE\nsocket.AF_SECURITY\nsocket.AF_SNA\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AF_WANPIPE\nsocket.AF_X25\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.CAPI\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PACKET_BROADCAST\nsocket.PACKET_FASTROUTE\nsocket.PACKET_HOST\nsocket.PACKET_LOOPBACK\nsocket.PACKET_MULTICAST\nsocket.PACKET_OTHERHOST\nsocket.PACKET_OUTGOING\nsocket.PF_PACKET\nsocket.RAND_add(string, entropy)\nsocket.RAND_egd(path) -> bytes\nsocket.RAND_status() -> 0 or 1\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SSLType\nsocket.SSL_ERROR_EOF\nsocket.SSL_ERROR_INVALID_ERROR_CODE\nsocket.SSL_ERROR_SSL\nsocket.SSL_ERROR_SYSCALL\nsocket.SSL_ERROR_WANT_CONNECT\nsocket.SSL_ERROR_WANT_READ\nsocket.SSL_ERROR_WANT_WRITE\nsocket.SSL_ERROR_WANT_X509_LOOKUP\nsocket.SSL_ERROR_ZERO_RETURN\nsocket.SocketType\nsocket.TCP_CORK\nsocket.TCP_DEFER_ACCEPT\nsocket.TCP_INFO\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPIDLE\nsocket.TCP_KEEPINTVL\nsocket.TCP_LINGER2\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.TCP_QUICKACK\nsocket.TCP_SYNCNT\nsocket.TCP_WINDOW_CLAMP\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.inet_aton(string) -> packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os\nsocket.setdefaulttimeout(timeout)\nsocket.socket([family[, type[, proto]]]) -> socket object\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.ssl(??)\nsocket.sslerror(??)\nsocket.sys\nsocket.timeout(??)\nsorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list\nsre.DEBUG\nsre.DOTALL\nsre.I\nsre.IGNORECASE\nsre.L\nsre.LOCALE\nsre.M\nsre.MULTILINE\nsre.S\nsre.Scanner(??)\nsre.T\nsre.TEMPLATE\nsre.U\nsre.UNICODE\nsre.VERBOSE\nsre.X\nsre.compile(??)\nsre.copy_reg\nsre.error(??)\nsre.escape(??)\nsre.findall(??)\nsre.finditer(??)\nsre.match(??)\nsre.purge(??)\nsre.search(??)\nsre.split(??)\nsre.sre_compile\nsre.sre_parse\nsre.sub(??)\nsre.subn(??)\nsre.sys\nsre.template(??)\nsre_compile.ANY\nsre_compile.ANY_ALL\nsre_compile.ASSERT\nsre_compile.ASSERT_NOT\nsre_compile.AT\nsre_compile.ATCODES\nsre_compile.AT_BEGINNING\nsre_compile.AT_BEGINNING_LINE\nsre_compile.AT_BEGINNING_STRING\nsre_compile.AT_BOUNDARY\nsre_compile.AT_END\nsre_compile.AT_END_LINE\nsre_compile.AT_END_STRING\nsre_compile.AT_LOCALE\nsre_compile.AT_LOC_BOUNDARY\nsre_compile.AT_LOC_NON_BOUNDARY\nsre_compile.AT_MULTILINE\nsre_compile.AT_NON_BOUNDARY\nsre_compile.AT_UNICODE\nsre_compile.AT_UNI_BOUNDARY\nsre_compile.AT_UNI_NON_BOUNDARY\nsre_compile.BIGCHARSET\nsre_compile.BRANCH\nsre_compile.CALL\nsre_compile.CATEGORY\nsre_compile.CATEGORY_DIGIT\nsre_compile.CATEGORY_LINEBREAK\nsre_compile.CATEGORY_LOC_NOT_WORD\nsre_compile.CATEGORY_LOC_WORD\nsre_compile.CATEGORY_NOT_DIGIT\nsre_compile.CATEGORY_NOT_LINEBREAK\nsre_compile.CATEGORY_NOT_SPACE\nsre_compile.CATEGORY_NOT_WORD\nsre_compile.CATEGORY_SPACE\nsre_compile.CATEGORY_UNI_DIGIT\nsre_compile.CATEGORY_UNI_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_DIGIT\nsre_compile.CATEGORY_UNI_NOT_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_SPACE\nsre_compile.CATEGORY_UNI_NOT_WORD\nsre_compile.CATEGORY_UNI_SPACE\nsre_compile.CATEGORY_UNI_WORD\nsre_compile.CATEGORY_WORD\nsre_compile.CHARSET\nsre_compile.CHCODES\nsre_compile.CH_LOCALE\nsre_compile.CH_UNICODE\nsre_compile.FAILURE\nsre_compile.GROUPREF\nsre_compile.GROUPREF_EXISTS\nsre_compile.GROUPREF_IGNORE\nsre_compile.IN\nsre_compile.INFO\nsre_compile.IN_IGNORE\nsre_compile.JUMP\nsre_compile.LITERAL\nsre_compile.LITERAL_IGNORE\nsre_compile.MAGIC\nsre_compile.MARK\nsre_compile.MAXCODE\nsre_compile.MAXREPEAT\nsre_compile.MAX_REPEAT\nsre_compile.MAX_UNTIL\nsre_compile.MIN_REPEAT\nsre_compile.MIN_REPEAT_ONE\nsre_compile.MIN_UNTIL\nsre_compile.NEGATE\nsre_compile.NOT_LITERAL\nsre_compile.NOT_LITERAL_IGNORE\nsre_compile.OPCODES\nsre_compile.OP_IGNORE\nsre_compile.RANGE\nsre_compile.REPEAT\nsre_compile.REPEAT_ONE\nsre_compile.SRE_FLAG_DEBUG\nsre_compile.SRE_FLAG_DOTALL\nsre_compile.SRE_FLAG_IGNORECASE\nsre_compile.SRE_FLAG_LOCALE\nsre_compile.SRE_FLAG_MULTILINE\nsre_compile.SRE_FLAG_TEMPLATE\nsre_compile.SRE_FLAG_UNICODE\nsre_compile.SRE_FLAG_VERBOSE\nsre_compile.SRE_INFO_CHARSET\nsre_compile.SRE_INFO_LITERAL\nsre_compile.SRE_INFO_PREFIX\nsre_compile.STRING_TYPES\nsre_compile.SUBPATTERN\nsre_compile.SUCCESS\nsre_compile.compile(??)\nsre_compile.error(??)\nsre_compile.isstring(??)\nsre_compile.makedict(??)\nsre_compile.sys\nsre_constants.ANY\nsre_constants.ANY_ALL\nsre_constants.ASSERT\nsre_constants.ASSERT_NOT\nsre_constants.AT\nsre_constants.ATCODES\nsre_constants.AT_BEGINNING\nsre_constants.AT_BEGINNING_LINE\nsre_constants.AT_BEGINNING_STRING\nsre_constants.AT_BOUNDARY\nsre_constants.AT_END\nsre_constants.AT_END_LINE\nsre_constants.AT_END_STRING\nsre_constants.AT_LOCALE\nsre_constants.AT_LOC_BOUNDARY\nsre_constants.AT_LOC_NON_BOUNDARY\nsre_constants.AT_MULTILINE\nsre_constants.AT_NON_BOUNDARY\nsre_constants.AT_UNICODE\nsre_constants.AT_UNI_BOUNDARY\nsre_constants.AT_UNI_NON_BOUNDARY\nsre_constants.BIGCHARSET\nsre_constants.BRANCH\nsre_constants.CALL\nsre_constants.CATEGORY\nsre_constants.CATEGORY_DIGIT\nsre_constants.CATEGORY_LINEBREAK\nsre_constants.CATEGORY_LOC_NOT_WORD\nsre_constants.CATEGORY_LOC_WORD\nsre_constants.CATEGORY_NOT_DIGIT\nsre_constants.CATEGORY_NOT_LINEBREAK\nsre_constants.CATEGORY_NOT_SPACE\nsre_constants.CATEGORY_NOT_WORD\nsre_constants.CATEGORY_SPACE\nsre_constants.CATEGORY_UNI_DIGIT\nsre_constants.CATEGORY_UNI_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_DIGIT\nsre_constants.CATEGORY_UNI_NOT_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_SPACE\nsre_constants.CATEGORY_UNI_NOT_WORD\nsre_constants.CATEGORY_UNI_SPACE\nsre_constants.CATEGORY_UNI_WORD\nsre_constants.CATEGORY_WORD\nsre_constants.CHARSET\nsre_constants.CHCODES\nsre_constants.CH_LOCALE\nsre_constants.CH_UNICODE\nsre_constants.FAILURE\nsre_constants.GROUPREF\nsre_constants.GROUPREF_EXISTS\nsre_constants.GROUPREF_IGNORE\nsre_constants.IN\nsre_constants.INFO\nsre_constants.IN_IGNORE\nsre_constants.JUMP\nsre_constants.LITERAL\nsre_constants.LITERAL_IGNORE\nsre_constants.MAGIC\nsre_constants.MARK\nsre_constants.MAXREPEAT\nsre_constants.MAX_REPEAT\nsre_constants.MAX_UNTIL\nsre_constants.MIN_REPEAT\nsre_constants.MIN_REPEAT_ONE\nsre_constants.MIN_UNTIL\nsre_constants.NEGATE\nsre_constants.NOT_LITERAL\nsre_constants.NOT_LITERAL_IGNORE\nsre_constants.OPCODES\nsre_constants.OP_IGNORE\nsre_constants.RANGE\nsre_constants.REPEAT\nsre_constants.REPEAT_ONE\nsre_constants.SRE_FLAG_DEBUG\nsre_constants.SRE_FLAG_DOTALL\nsre_constants.SRE_FLAG_IGNORECASE\nsre_constants.SRE_FLAG_LOCALE\nsre_constants.SRE_FLAG_MULTILINE\nsre_constants.SRE_FLAG_TEMPLATE\nsre_constants.SRE_FLAG_UNICODE\nsre_constants.SRE_FLAG_VERBOSE\nsre_constants.SRE_INFO_CHARSET\nsre_constants.SRE_INFO_LITERAL\nsre_constants.SRE_INFO_PREFIX\nsre_constants.SUBPATTERN\nsre_constants.SUCCESS\nsre_constants.error(??)\nsre_constants.makedict(??)\nsre_parse.ANY\nsre_parse.ANY_ALL\nsre_parse.ASSERT\nsre_parse.ASSERT_NOT\nsre_parse.AT\nsre_parse.ATCODES\nsre_parse.AT_BEGINNING\nsre_parse.AT_BEGINNING_LINE\nsre_parse.AT_BEGINNING_STRING\nsre_parse.AT_BOUNDARY\nsre_parse.AT_END\nsre_parse.AT_END_LINE\nsre_parse.AT_END_STRING\nsre_parse.AT_LOCALE\nsre_parse.AT_LOC_BOUNDARY\nsre_parse.AT_LOC_NON_BOUNDARY\nsre_parse.AT_MULTILINE\nsre_parse.AT_NON_BOUNDARY\nsre_parse.AT_UNICODE\nsre_parse.AT_UNI_BOUNDARY\nsre_parse.AT_UNI_NON_BOUNDARY\nsre_parse.BIGCHARSET\nsre_parse.BRANCH\nsre_parse.CALL\nsre_parse.CATEGORIES\nsre_parse.CATEGORY\nsre_parse.CATEGORY_DIGIT\nsre_parse.CATEGORY_LINEBREAK\nsre_parse.CATEGORY_LOC_NOT_WORD\nsre_parse.CATEGORY_LOC_WORD\nsre_parse.CATEGORY_NOT_DIGIT\nsre_parse.CATEGORY_NOT_LINEBREAK\nsre_parse.CATEGORY_NOT_SPACE\nsre_parse.CATEGORY_NOT_WORD\nsre_parse.CATEGORY_SPACE\nsre_parse.CATEGORY_UNI_DIGIT\nsre_parse.CATEGORY_UNI_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_DIGIT\nsre_parse.CATEGORY_UNI_NOT_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_SPACE\nsre_parse.CATEGORY_UNI_NOT_WORD\nsre_parse.CATEGORY_UNI_SPACE\nsre_parse.CATEGORY_UNI_WORD\nsre_parse.CATEGORY_WORD\nsre_parse.CHARSET\nsre_parse.CHCODES\nsre_parse.CH_LOCALE\nsre_parse.CH_UNICODE\nsre_parse.DIGITS\nsre_parse.ESCAPES\nsre_parse.FAILURE\nsre_parse.FLAGS\nsre_parse.GROUPREF\nsre_parse.GROUPREF_EXISTS\nsre_parse.GROUPREF_IGNORE\nsre_parse.HEXDIGITS\nsre_parse.IN\nsre_parse.INFO\nsre_parse.IN_IGNORE\nsre_parse.JUMP\nsre_parse.LITERAL\nsre_parse.LITERAL_IGNORE\nsre_parse.MAGIC\nsre_parse.MARK\nsre_parse.MAXREPEAT\nsre_parse.MAX_REPEAT\nsre_parse.MAX_UNTIL\nsre_parse.MIN_REPEAT\nsre_parse.MIN_REPEAT_ONE\nsre_parse.MIN_UNTIL\nsre_parse.NEGATE\nsre_parse.NOT_LITERAL\nsre_parse.NOT_LITERAL_IGNORE\nsre_parse.OCTDIGITS\nsre_parse.OPCODES\nsre_parse.OP_IGNORE\nsre_parse.Pattern(??)\nsre_parse.RANGE\nsre_parse.REPEAT\nsre_parse.REPEAT_CHARS\nsre_parse.REPEAT_ONE\nsre_parse.SPECIAL_CHARS\nsre_parse.SRE_FLAG_DEBUG\nsre_parse.SRE_FLAG_DOTALL\nsre_parse.SRE_FLAG_IGNORECASE\nsre_parse.SRE_FLAG_LOCALE\nsre_parse.SRE_FLAG_MULTILINE\nsre_parse.SRE_FLAG_TEMPLATE\nsre_parse.SRE_FLAG_UNICODE\nsre_parse.SRE_FLAG_VERBOSE\nsre_parse.SRE_INFO_CHARSET\nsre_parse.SRE_INFO_LITERAL\nsre_parse.SRE_INFO_PREFIX\nsre_parse.SUBPATTERN\nsre_parse.SUCCESS\nsre_parse.SubPattern(??)\nsre_parse.Tokenizer(??)\nsre_parse.WHITESPACE\nsre_parse.error(??)\nsre_parse.expand_template(??)\nsre_parse.isdigit(??)\nsre_parse.isident(??)\nsre_parse.isname(??)\nsre_parse.makedict(??)\nsre_parse.parse(??)\nsre_parse.parse_template(??)\nsre_parse.sys\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstatcache.ST_ATIME\nstatcache.ST_CTIME\nstatcache.ST_DEV\nstatcache.ST_GID\nstatcache.ST_INO\nstatcache.ST_MODE\nstatcache.ST_MTIME\nstatcache.ST_NLINK\nstatcache.ST_SIZE\nstatcache.ST_UID\nstatcache.S_ENFMT\nstatcache.S_IEXEC\nstatcache.S_IFBLK\nstatcache.S_IFCHR\nstatcache.S_IFDIR\nstatcache.S_IFIFO\nstatcache.S_IFLNK\nstatcache.S_IFMT(??)\nstatcache.S_IFREG\nstatcache.S_IFSOCK\nstatcache.S_IMODE(??)\nstatcache.S_IREAD\nstatcache.S_IRGRP\nstatcache.S_IROTH\nstatcache.S_IRUSR\nstatcache.S_IRWXG\nstatcache.S_IRWXO\nstatcache.S_IRWXU\nstatcache.S_ISBLK(??)\nstatcache.S_ISCHR(??)\nstatcache.S_ISDIR(??)\nstatcache.S_ISFIFO(??)\nstatcache.S_ISGID\nstatcache.S_ISLNK(??)\nstatcache.S_ISREG(??)\nstatcache.S_ISSOCK(??)\nstatcache.S_ISUID\nstatcache.S_ISVTX\nstatcache.S_IWGRP\nstatcache.S_IWOTH\nstatcache.S_IWRITE\nstatcache.S_IWUSR\nstatcache.S_IXGRP\nstatcache.S_IXOTH\nstatcache.S_IXUSR\nstatcache.cache\nstatcache.forget(??)\nstatcache.forget_dir(??)\nstatcache.forget_except_prefix(??)\nstatcache.forget_prefix(??)\nstatcache.isdir(??)\nstatcache.reset(??)\nstatcache.stat(??)\nstaticmethod(function) -> method\nstatvfs.F_BAVAIL\nstatvfs.F_BFREE\nstatvfs.F_BLOCKS\nstatvfs.F_BSIZE\nstatvfs.F_FAVAIL\nstatvfs.F_FFREE\nstatvfs.F_FILES\nstatvfs.F_FLAG\nstatvfs.F_FRSIZE\nstatvfs.F_NAMEMAX\nstr(object) -> string\nstring.Template\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.atof(s) -> float\nstring.atof_error(??)\nstring.atoi(s [,base]) -> int\nstring.atoi_error(??)\nstring.atol(s [,base]) -> long\nstring.atol_error(??)\nstring.capitalize(s) -> string\nstring.capwords(s, [sep]) -> string\nstring.center(s, width[, fillchar]) -> string\nstring.count(s, sub[, start[,end]]) -> int\nstring.digits\nstring.expandtabs(s [,tabsize]) -> string\nstring.find(s, sub [,start [,end]]) -> in\nstring.hexdigits\nstring.index(s, sub [,start [,end]]) -> int\nstring.index_error(??)\nstring.join(list [,sep]) -> string\nstring.joinfields(??)\nstring.letters\nstring.ljust(s, width[, fillchar]) -> string\nstring.lower(s) -> string\nstring.lowercase\nstring.lstrip(s [,chars]) -> string\nstring.maketrans(frm, to) -> string\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.replace (str, old, new[, maxsplit]) -> string\nstring.rfind(s, sub [,start [,end]]) -> int\nstring.rindex(s, sub [,start [,end]]) -> int\nstring.rjust(s, width[, fillchar]) -> string\nstring.rsplit(s [,sep [,maxsplit]]) -> list of strings\nstring.rstrip(s [,chars]) -> string\nstring.split(s [,sep [,maxsplit]]) -> list of strings\nstring.splitfields(??)\nstring.strip(s [,chars]) -> string\nstring.swapcase(s) -> string\nstring.translate(s,table [,deletions]) -> string\nstring.upper(s) -> string\nstring.uppercase\nstring.whitespace\nstring.zfill(x, width) -> string\nstringold.atof(s) -> float\nstringold.atof_error(??)\nstringold.atoi(s [,base]) -> int\nstringold.atoi_error(??)\nstringold.atol(s [,base]) -> long\nstringold.atol_error(??)\nstringold.capitalize(s) -> string\nstringold.capwords(s, [sep]) -> string\nstringold.center(s, width) -> string\nstringold.count(s, sub[, start[,end]]) -> int\nstringold.digits\nstringold.expandtabs(s [,tabsize]) -> string\nstringold.find(s, sub [,start [,end]]) -> in\nstringold.hexdigits\nstringold.index(s, sub [,start [,end]]) -> int\nstringold.index_error(??)\nstringold.join(list [,sep]) -> string\nstringold.joinfields(??)\nstringold.letters\nstringold.ljust(s, width) -> string\nstringold.lower(s) -> string\nstringold.lowercase\nstringold.lstrip(s) -> string\nstringold.maketrans(frm, to) -> string\nstringold.octdigits\nstringold.replace (str, old, new[, maxsplit]) -> string\nstringold.rfind(s, sub [,start [,end]]) -> int\nstringold.rindex(s, sub [,start [,end]]) -> int\nstringold.rjust(s, width) -> string\nstringold.rstrip(s) -> string\nstringold.split(str [,sep [,maxsplit]]) -> list of strings\nstringold.splitfields(??)\nstringold.strip(s) -> string\nstringold.swapcase(s) -> string\nstringold.translate(s,table [,deletechars]) -> string\nstringold.upper(s) -> string\nstringold.uppercase\nstringold.whitespace\nstringold.zfill(x, width) -> string\nstringprep.b1_set\nstringprep.b3_exceptions\nstringprep.c22_specials\nstringprep.c6_set\nstringprep.c7_set\nstringprep.c8_set\nstringprep.c9_set\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata\nstrop.atof(s) -> float\nstrop.atoi(s [,base]) -> int\nstrop.atol(s [,base]) -> long\nstrop.capitalize(s) -> string\nstrop.count(s, sub[, start[, end]]) -> int\nstrop.expandtabs(string, [tabsize]) -> string\nstrop.find(s, sub [,start [,end]]) -> in\nstrop.join(list [,sep]) -> string\nstrop.joinfields\nstrop.lower(s) -> string\nstrop.lowercase\nstrop.lstrip(s) -> string\nstrop.maketrans(frm, to) -> string\nstrop.replace (str, old, new[, maxsplit]) -> string\nstrop.rfind(s, sub [,start [,end]]) -> int\nstrop.rstrip(s) -> string\nstrop.split(s [,sep [,maxsplit]]) -> list of strings\nstrop.splitfields\nstrop.strip(s) -> string\nstrop.swapcase(s) -> string\nstrop.translate(s,table [,deletechars]) -> string\nstrop.upper(s) -> string\nstrop.uppercase\nstrop.whitespace\nstruct.calcsize(fmt) -> int\nstruct.error(??)\nstruct.pack(fmt, v1, v2, ...) -> string\nstruct.unpack(fmt, string) -> (v1, v2, ...)\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen\nsubprocess.STDOUT\nsubprocess.call(??)\nsubprocess.errno\nsubprocess.fcntl\nsubprocess.list2cmdline(??)\nsubprocess.mswindows\nsubprocess.os\nsubprocess.pickle\nsubprocess.select\nsubprocess.sys\nsubprocess.traceback\nsubprocess.types\nsum(sequence, start=0) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.open(??)\nsunau.openfp(??)\nsunaudio.MAGIC\nsunaudio.error(??)\nsunaudio.get_long_be(??)\nsunaudio.gethdr(??)\nsunaudio.printhdr(??)\nsuper(type) -> unbound super object\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.exec_stmt\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.fpdef\nsymbol.fplist\nsymbol.funcdef\nsymbol.gen_for\nsymbol.gen_if\nsymbol.gen_iter\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.list_for\nsymbol.list_if\nsymbol.list_iter\nsymbol.listmaker\nsymbol.main(??)\nsymbol.not_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.print_stmt\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name\nsymbol.term\nsymbol.test\nsymbol.testlist\nsymbol.testlist1\nsymbol.testlist_gexp\nsymbol.testlist_safe\nsymbol.trailer\nsymbol.try_stmt\nsymbol.varargslist\nsymbol.while_stmt\nsymbol.xor_expr\nsymbol.yield_stmt\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_DOUBLESTAR\nsymtable.DEF_FREE\nsymtable.DEF_FREE_CLASS\nsymtable.DEF_FREE_GLOBAL\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_INTUPLE\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.DEF_STAR\nsymtable.Function(??)\nsymtable.OPT_BARE_EXEC\nsymtable.OPT_EXEC\nsymtable.OPT_IMPORT_STAR\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.is_free(??)\nsymtable.newSymbolTable\nsymtable.symtable(??)\nsymtable.weakref\nsys.api_version\nsys.argv\nsys.builtin_module_names\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.exc_clear() -> None\nsys.exc_info() -> (type, value, traceback)\nsys.exc_type\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.hexversion\nsys.maxint\nsys.maxunicode\nsys.meta_path\nsys.modules\nsys.path\nsys.path_hooks\nsys.path_importer_cache\nsys.platform\nsys.prefix\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.settrace(function)\nsys.stderr\nsys.stdin\nsys.stdout\nsys.version\nsys.version_info\nsys.warnoptions\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog\nsyslog.openlog\nsyslog.setlogmask\nsyslog.syslog\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt\ntabnanny.main(??)\ntabnanny.os\ntabnanny.process_tokens(??)\ntabnanny.sys\ntabnanny.tokenize\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DIRTYPE\ntarfile.ExFileObject\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.MAGIC\ntarfile.MAXSIZE_MEMBER\ntarfile.NUL\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES\ntarfile.ReadError(??)\ntarfile.SUPPORTED_TYPES\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError(??)\ntarfile.TAR_GZIPPED\ntarfile.TAR_PLAIN\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError(??)\ntarfile.TarFile\ntarfile.TarFileCompat(??)\ntarfile.TarInfo\ntarfile.TarIter(??)\ntarfile.VERSION\ntarfile.calc_chksum(??)\ntarfile.copyfileobj(??)\ntarfile.errno\ntarfile.filemode(??)\ntarfile.filemode_table\ntarfile.grp\ntarfile.is_tarfile(??)\ntarfile.normpath(??)\ntarfile.nts(??)\ntarfile.open\ntarfile.os\ntarfile.pwd\ntarfile.shutil\ntarfile.stat\ntarfile.struct\ntarfile.sys\ntarfile.time\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.select\ntelnetlib.socket\ntelnetlib.sys\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp([suffix, [prefix, [dir]]])\ntempfile.mkstemp([suffix, [prefix, [dir, [text]]]])\ntempfile.mktemp([suffix, [prefix, [dir]]])\ntempfile.tempdir\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B460800\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CBAUD\ntermios.CBAUDEX\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CIBAUD\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.IOCSIZE_MASK\ntermios.IOCSIZE_SHIFT\ntermios.ISIG\ntermios.ISTRIP\ntermios.IUCLC\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCC\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.N_MOUSE\ntermios.N_PPP\ntermios.N_SLIP\ntermios.N_STRIP\ntermios.N_TTY\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.OLCUC\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCFLSH\ntermios.TCGETA\ntermios.TCGETS\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSBRK\ntermios.TCSBRKP\ntermios.TCSETA\ntermios.TCSETAF\ntermios.TCSETAW\ntermios.TCSETS\ntermios.TCSETSF\ntermios.TCSETSW\ntermios.TCXONC\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGICOUNT\ntermios.TIOCGLCKTRMIOS\ntermios.TIOCGPGRP\ntermios.TIOCGSERIAL\ntermios.TIOCGSOFTCAR\ntermios.TIOCGWINSZ\ntermios.TIOCINQ\ntermios.TIOCLINUX\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMIWAIT\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSERCONFIG\ntermios.TIOCSERGETLSR\ntermios.TIOCSERGETMULTI\ntermios.TIOCSERGSTRUCT\ntermios.TIOCSERGWILD\ntermios.TIOCSERSETMULTI\ntermios.TIOCSERSWILD\ntermios.TIOCSER_TEMT\ntermios.TIOCSETD\ntermios.TIOCSLCKTRMIOS\ntermios.TIOCSPGRP\ntermios.TIOCSSERIAL\ntermios.TIOCSSOFTCAR\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VSWTC\ntermios.VSWTCH\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.XCASE\ntermios.XTABS\ntermios.error(??)\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(text : string) -> string\ntextwrap.fill(??)\ntextwrap.re\ntextwrap.string\ntextwrap.wrap(??)\nthis.c\nthis.d\nthis.i\nthis.s\nthread.LockType\nthread.allocate\nthread.allocate_lock() -> lock object\nthread.error(??)\nthread.exit()\nthread.exit_thread\nthread.get_ident() -> integer\nthread.interrupt_main()\nthread.start_new\nthread.start_new_thread(function, args[, kwargs])\nthreading.BoundedSemaphore(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.Thread\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.activeCount(??)\nthreading.currentThread(??)\nthreading.deque(iterable) --> deque object\nthreading.enumerate(??)\nthreading.local\nthreading.setprofile(??)\nthreading.settrace(??)\ntime.accept2dyear\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)\ntime.mktime(tuple) -> floating point number\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time\ntime.time() -> floating point number\ntime.timezone\ntime.tzname\ntime.tzset(zone)\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer\ntimeit.dummy_src_name\ntimeit.gc\ntimeit.itertools\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.sys\ntimeit.template\ntimeit.time\ntiming.finish\ntiming.micro\ntiming.milli\ntiming.seconds\ntiming.start\ntoaiff.error(??)\ntoaiff.os\ntoaiff.pipes\ntoaiff.sndhdr\ntoaiff.t\ntoaiff.table\ntoaiff.tempfile\ntoaiff.toaiff(??)\ntoaiff.uncompress\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.BACKQUOTE\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.main(??)\ntoken.tok_name\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BACKQUOTE\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.TILDE\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.Triple\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.double3prog\ntokenize.endprogs\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.printtoken(??)\ntokenize.pseudoprog\ntokenize.re\ntokenize.single3prog\ntokenize.single_quoted\ntokenize.string\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name\ntokenize.tokenize(??)\ntokenize.tokenize_loop(??)\ntokenize.tokenprog\ntokenize.triple_quoted\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.cPickle\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc\ntrace.linecache\ntrace.main(??)\ntrace.modname(??)\ntrace.os\ntrace.pickle\ntrace.re\ntrace.rx_blank\ntrace.sys\ntrace.threading\ntrace.token\ntrace.tokenize\ntrace.types\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys\ntraceback.tb_lineno(??)\ntraceback.types\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B460800\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CBAUD\ntty.CBAUDEX\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CIBAUD\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.IOCSIZE_MASK\ntty.IOCSIZE_SHIFT\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IUCLC\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCC\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.N_MOUSE\ntty.N_PPP\ntty.N_SLIP\ntty.N_STRIP\ntty.N_TTY\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.OLCUC\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCFLSH\ntty.TCGETA\ntty.TCGETS\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSBRK\ntty.TCSBRKP\ntty.TCSETA\ntty.TCSETAF\ntty.TCSETAW\ntty.TCSETS\ntty.TCSETSF\ntty.TCSETSW\ntty.TCXONC\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGICOUNT\ntty.TIOCGLCKTRMIOS\ntty.TIOCGPGRP\ntty.TIOCGSERIAL\ntty.TIOCGSOFTCAR\ntty.TIOCGWINSZ\ntty.TIOCINQ\ntty.TIOCLINUX\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMIWAIT\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSERCONFIG\ntty.TIOCSERGETLSR\ntty.TIOCSERGETMULTI\ntty.TIOCSERGSTRUCT\ntty.TIOCSERGWILD\ntty.TIOCSERSETMULTI\ntty.TIOCSERSWILD\ntty.TIOCSER_TEMT\ntty.TIOCSETD\ntty.TIOCSLCKTRMIOS\ntty.TIOCSPGRP\ntty.TIOCSSERIAL\ntty.TIOCSSOFTCAR\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VSWTC\ntty.VSWTCH\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.XCASE\ntty.XTABS\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> an empty tuple\ntype(object) -> the object's type\ntypes.BooleanType\ntypes.BufferType\ntypes.BuiltinFunctionType\ntypes.BuiltinMethodType\ntypes.ClassType\ntypes.CodeType\ntypes.ComplexType\ntypes.DictProxyType\ntypes.DictType\ntypes.DictionaryType\ntypes.EllipsisType\ntypes.FileType\ntypes.FloatType\ntypes.FrameType\ntypes.FunctionType\ntypes.GeneratorType\ntypes.InstanceType\ntypes.IntType\ntypes.LambdaType\ntypes.ListType\ntypes.LongType\ntypes.MethodType\ntypes.ModuleType\ntypes.NoneType\ntypes.NotImplementedType\ntypes.ObjectType\ntypes.SliceType\ntypes.StringType\ntypes.StringTypes\ntypes.TracebackType\ntypes.TupleType\ntypes.TypeType\ntypes.UnboundMethodType\ntypes.UnicodeType\ntypes.XRangeType\nunichr(i) -> Unicode character\nunicode(string [, encoding[, errors]]) -> object\nunicodedata.bidirectional\nunicodedata.category\nunicodedata.combining\nunicodedata.decimal\nunicodedata.decomposition\nunicodedata.digit\nunicodedata.east_asian_width\nunicodedata.lookup\nunicodedata.mirrored\nunicodedata.name\nunicodedata.normalize\nunicodedata.numeric\nunicodedata.ucnhash_CAPI\nunicodedata.unidata_version\nunittest.FunctionTestCase\nunittest.TestCase\nunittest.TestLoader\nunittest.TestProgram\nunittest.TestResult\nunittest.TestSuite\nunittest.TextTestRunner\nunittest.defaultTestLoader\nunittest.findTestCases(??)\nunittest.getTestCaseNames(??)\nunittest.main\nunittest.makeSuite(??)\nunittest.os\nunittest.sys\nunittest.time\nunittest.traceback\nunittest.types\nurllib.ContentTooShortError(??)\nurllib.FancyURLopener(??)\nurllib.MAXFTPCACHE\nurllib.URLopener(??)\nurllib.addbase(??)\nurllib.addclosehook(??)\nurllib.addinfo(??)\nurllib.addinfourl(??)\nurllib.always_safe\nurllib.basejoin(??)\nurllib.ftpcache\nurllib.ftperrors(??)\nurllib.ftpwrapper(??)\nurllib.getproxies(??)\nurllib.getproxies_environment(??)\nurllib.localhost(??)\nurllib.main(??)\nurllib.noheaders(??)\nurllib.os\nurllib.pathname2url(??)\nurllib.proxy_bypass(??)\nurllib.quote('abc def') -> 'abc%20def'\nurllib.quote_plus(??)\nurllib.reporthook(??)\nurllib.socket\nurllib.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.splitgophertype('/Xselector') --> 'X', 'selector'.\nurllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.splitnport(??)\nurllib.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.splitport('host:port') --> 'host', 'port'.\nurllib.splitquery('/path?query') --> '/path', 'query'.\nurllib.splittag('/path#tag') --> '/path', 'tag'.\nurllib.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.string\nurllib.sys\nurllib.test(??)\nurllib.test1(??)\nurllib.thishost(??)\nurllib.time\nurllib.toBytes(u\"URL\") --> 'URL'.\nurllib.unquote('abc%20def') -> 'abc def'.\nurllib.unquote_plus(??)\nurllib.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.url2pathname(??)\nurllib.urlcleanup(??)\nurllib.urlencode(??)\nurllib.urlopen(url [, data]) -> open file-like object\nurllib.urlretrieve(??)\nurllib2.AbstractBasicAuthHandler(??)\nurllib2.AbstractDigestAuthHandler(??)\nurllib2.AbstractHTTPHandler(??)\nurllib2.BaseHandler(??)\nurllib2.CacheFTPHandler(??)\nurllib2.CustomProxy(??)\nurllib2.CustomProxyHandler(??)\nurllib2.FTPHandler(??)\nurllib2.FileHandler(??)\nurllib2.GopherError(??)\nurllib2.GopherHandler(??)\nurllib2.HTTPBasicAuthHandler(??)\nurllib2.HTTPCookieProcessor(??)\nurllib2.HTTPDefaultErrorHandler(??)\nurllib2.HTTPDigestAuthHandler(??)\nurllib2.HTTPError(??)\nurllib2.HTTPErrorProcessor(??)\nurllib2.HTTPHandler(??)\nurllib2.HTTPPasswordMgr(??)\nurllib2.HTTPPasswordMgrWithDefaultRealm(??)\nurllib2.HTTPRedirectHandler(??)\nurllib2.HTTPSHandler(??)\nurllib2.OpenerDirector(??)\nurllib2.OpenerFactory(??)\nurllib2.ProxyBasicAuthHandler(??)\nurllib2.ProxyDigestAuthHandler(??)\nurllib2.ProxyHandler(??)\nurllib2.Request(??)\nurllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nurllib2.URLError(??)\nurllib2.UnknownHandler(??)\nurllib2.addinfourl(??)\nurllib2.base64\nurllib2.bisect\nurllib2.build_opener(??)\nurllib2.cookielib\nurllib2.ftplib\nurllib2.ftpwrapper(??)\nurllib2.getproxies(??)\nurllib2.gopherlib\nurllib2.httplib\nurllib2.inspect\nurllib2.install_opener(??)\nurllib2.localhost(??)\nurllib2.md5\nurllib2.mimetools\nurllib2.mimetypes\nurllib2.noheaders(??)\nurllib2.os\nurllib2.parse_http_list(??)\nurllib2.parse_keqv_list(??)\nurllib2.posixpath\nurllib2.random\nurllib2.randombytes(??)\nurllib2.re\nurllib2.sha\nurllib2.socket\nurllib2.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib2.splitgophertype('/Xselector') --> 'X', 'selector'.\nurllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib2.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib2.splitport('host:port') --> 'host', 'port'.\nurllib2.splitquery('/path?query') --> '/path', 'query'.\nurllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib2.splitvalue('attr=value') --> 'attr', 'value'.\nurllib2.sys\nurllib2.time\nurllib2.unquote('abc%20def') -> 'abc def'.\nurllib2.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib2.url2pathname(??)\nurllib2.urlopen(??)\nurllib2.urlparse\nurlparse.MAX_CACHE_SIZE\nurlparse.clear_cache(??)\nurlparse.non_hierarchical\nurlparse.scheme_chars\nurlparse.test(??)\nurlparse.test_input\nurlparse.urldefrag(??)\nurlparse.urljoin(??)\nurlparse.urlparse(??)\nurlparse.urlsplit(??)\nurlparse.urlunparse(??)\nurlparse.urlunsplit(??)\nurlparse.uses_fragment\nurlparse.uses_netloc\nurlparse.uses_params\nurlparse.uses_query\nurlparse.uses_relative\nuser.home\nuser.os\nuser.pythonrc\nuu.Error(??)\nuu.StringType\nuu.binascii\nuu.decode(??)\nuu.encode(??)\nuu.os\nuu.sys\nuu.test(??)\nvars([object]) -> dictionary\nwarnings.defaultaction\nwarnings.filters\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache\nwarnings.onceregistry\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys\nwarnings.types\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.open(??)\nwave.openfp(??)\nwave.struct\nweakref.CallableProxyType\nweakref.KeyedRef\nweakref.ProxyType\nweakref.ProxyTypes\nweakref.ReferenceError(??)\nweakref.ReferenceType\nweakref.UserDict\nweakref.WeakKeyDictionary(??)\nweakref.WeakValueDictionary(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.InternetConfig(??)\nwebbrowser.Konqueror(??)\nwebbrowser.Netscape(??)\nwebbrowser.PROCESS_CREATION_DELAY\nwebbrowser.WindowsDefault(??)\nwebbrowser.browser\nwebbrowser.get(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.os\nwebbrowser.register(??)\nwebbrowser.sys\nwhichdb.dbm\nwhichdb.os\nwhichdb.struct\nwhichdb.sys\nwhichdb.whichdb(??)\nwhrandom.choice\nwhrandom.randint\nwhrandom.random\nwhrandom.randrange\nwhrandom.seed\nwhrandom.uniform\nwhrandom.warnings\nwhrandom.whrandom(??)\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct\nxml.dom\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE\nxml.dom.EMPTY_PREFIX\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg\nxml.dom.domreg.EmptyNodeList\nxml.dom.domreg.GetattrMagic(??)\nxml.dom.domreg.NewStyle\nxml.dom.domreg.NodeList\nxml.dom.domreg.StringTypes\nxml.dom.domreg.defproperty(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered\nxml.dom.domreg.well_known_implementations\nxml.dom.expatbuilder\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE\nxml.dom.expatbuilder.EMPTY_PREFIX\nxml.dom.expatbuilder.ElementInfo\nxml.dom.expatbuilder.EmptyNodeList\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch\nxml.dom.expatbuilder.FilterVisibilityController\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.GetattrMagic(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.NewStyle\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.NodeList\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter\nxml.dom.expatbuilder.Skipper\nxml.dom.expatbuilder.StringTypes\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.defproperty(??)\nxml.dom.expatbuilder.expat\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation\nxml.dom.expatbuilder.xmlbuilder\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat\nxml.dom.minicompat.EmptyNodeList\nxml.dom.minicompat.GetattrMagic(??)\nxml.dom.minicompat.NewStyle\nxml.dom.minicompat.NodeList\nxml.dom.minicompat.StringTypes\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml\nxml.dom.minidom\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE\nxml.dom.minidom.EMPTY_PREFIX\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo\nxml.dom.minidom.EmptyNodeList\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.GetattrMagic(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap\nxml.dom.minidom.NewStyle\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap\nxml.dom.minidom.StringTypes\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml\nxml.dom.pulldom\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.types\nxml.dom.pulldom.xml\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.EmptyNodeList\nxml.dom.xmlbuilder.GetattrMagic(??)\nxml.dom.xmlbuilder.NewStyle\nxml.dom.xmlbuilder.NodeList\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.StringTypes\nxml.dom.xmlbuilder.copy\nxml.dom.xmlbuilder.defproperty(??)\nxml.dom.xmlbuilder.xml\nxml.parsers\nxml.parsers.expat\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors\nxml.parsers.expat.features\nxml.parsers.expat.model\nxml.parsers.expat.native_encoding\nxml.parsers.expat.version_info\nxml.sax\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list\nxml.sax.expatreader\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader\nxml.sax.handler\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features\nxml.sax.handler.all_properties\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler\nxml.sax.saxutils.os\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.types\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib\nxml.sax.saxutils.urlparse\nxml.sax.saxutils.xmlreader\nxml.sax.xmlreader\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler\nxmllib.Error(??)\nxmllib.TestXMLParser(??)\nxmllib.XMLParser(??)\nxmllib.amp\nxmllib.attrfind\nxmllib.attrtrans\nxmllib.cdataclose\nxmllib.cdataopen\nxmllib.charref\nxmllib.commentclose\nxmllib.commentopen\nxmllib.doctype\nxmllib.doubledash\nxmllib.endbracket\nxmllib.endbracketfind\nxmllib.endtagopen\nxmllib.entityref\nxmllib.illegal\nxmllib.interesting\nxmllib.ncname\nxmllib.newline\nxmllib.procclose\nxmllib.procopen\nxmllib.qname\nxmllib.re\nxmllib.ref\nxmllib.space\nxmllib.starttagend\nxmllib.starttagmatch\nxmllib.starttagopen\nxmllib.string\nxmllib.tagfind\nxmllib.test(??)\nxmllib.version\nxmllib.xmldecl\nxmllib.xmlns\nxmlrpclib.APPLICATION_ERROR\nxmlrpclib.Binary(??)\nxmlrpclib.Boolean\nxmlrpclib.BooleanType\nxmlrpclib.BufferType\nxmlrpclib.BuiltinFunctionType\nxmlrpclib.BuiltinMethodType\nxmlrpclib.ClassType\nxmlrpclib.CodeType\nxmlrpclib.ComplexType\nxmlrpclib.DateTime(??)\nxmlrpclib.DictProxyType\nxmlrpclib.DictType\nxmlrpclib.DictionaryType\nxmlrpclib.EllipsisType\nxmlrpclib.Error(??)\nxmlrpclib.ExpatParser(??)\nxmlrpclib.False\nxmlrpclib.FastMarshaller\nxmlrpclib.FastParser\nxmlrpclib.FastUnmarshaller\nxmlrpclib.Fault(??)\nxmlrpclib.FileType\nxmlrpclib.FloatType\nxmlrpclib.FrameType\nxmlrpclib.FunctionType\nxmlrpclib.GeneratorType\nxmlrpclib.INTERNAL_ERROR\nxmlrpclib.INVALID_ENCODING_CHAR\nxmlrpclib.INVALID_METHOD_PARAMS\nxmlrpclib.INVALID_XMLRPC\nxmlrpclib.InstanceType\nxmlrpclib.IntType\nxmlrpclib.LambdaType\nxmlrpclib.ListType\nxmlrpclib.LongType\nxmlrpclib.MAXINT\nxmlrpclib.METHOD_NOT_FOUND\nxmlrpclib.MININT\nxmlrpclib.Marshaller(??)\nxmlrpclib.MethodType\nxmlrpclib.ModuleType\nxmlrpclib.MultiCall(??)\nxmlrpclib.MultiCallIterator(??)\nxmlrpclib.NOT_WELLFORMED_ERROR\nxmlrpclib.NoneType\nxmlrpclib.NotImplementedType\nxmlrpclib.ObjectType\nxmlrpclib.PARSE_ERROR\nxmlrpclib.ProtocolError(??)\nxmlrpclib.ResponseError(??)\nxmlrpclib.SERVER_ERROR\nxmlrpclib.SYSTEM_ERROR\nxmlrpclib.SafeTransport(??)\nxmlrpclib.Server(??)\nxmlrpclib.ServerProxy(??)\nxmlrpclib.SgmlopParser\nxmlrpclib.SliceType\nxmlrpclib.SlowParser(??)\nxmlrpclib.StringIO\nxmlrpclib.StringType\nxmlrpclib.StringTypes\nxmlrpclib.TRANSPORT_ERROR\nxmlrpclib.TracebackType\nxmlrpclib.Transport(??)\nxmlrpclib.True\nxmlrpclib.TupleType\nxmlrpclib.TypeType\nxmlrpclib.UNSUPPORTED_ENCODING\nxmlrpclib.UnboundMethodType\nxmlrpclib.UnicodeType\nxmlrpclib.Unmarshaller(??)\nxmlrpclib.WRAPPERS\nxmlrpclib.XRangeType\nxmlrpclib.base64\nxmlrpclib.boolean\nxmlrpclib.dumps(??)\nxmlrpclib.escape(??)\nxmlrpclib.expat\nxmlrpclib.getparser() -> parser, unmarshaller\nxmlrpclib.loads(??)\nxmlrpclib.operator\nxmlrpclib.re\nxmlrpclib.string\nxmlrpclib.time\nxrange([start,] stop[, step]) -> xrange object\nxxsubtype.bench\nxxsubtype.spamdict\nxxsubtype.spamlist\nzip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]\nzipfile.BadZipfile(??)\nzipfile.PyZipFile(??)\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_STORED\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii\nzipfile.error(??)\nzipfile.is_zipfile(??)\nzipfile.os\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringFileHeader\nzipfile.struct\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structFileHeader\nzipfile.time\nzipfile.zlib\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string.\nzlib.compress(string[, level]) -- Returned compressed string.\nzlib.compressobj([level]) -- Return a compressor object.\nzlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string.\nzlib.decompressobj([wbits]) -- Return a decompressor object.\nzlib.error(??)\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-2.5.api",
    "content": "ArithmeticError\nAssertionError\nAttributeError\nBaseException\nBaseHTTPServer.BaseHTTPRequestHandler(??)\nBaseHTTPServer.DEFAULT_ERROR_MESSAGE\nBaseHTTPServer.HTTPServer(??)\nBaseHTTPServer.SocketServer\nBaseHTTPServer.mimetools\nBaseHTTPServer.socket\nBaseHTTPServer.sys\nBaseHTTPServer.test(??)\nBaseHTTPServer.time\nBastion.Bastion(??)\nBastion.BastionClass(??)\nBastion.MethodType\nCGIHTTPServer.BaseHTTPServer\nCGIHTTPServer.CGIHTTPRequestHandler(??)\nCGIHTTPServer.SimpleHTTPServer\nCGIHTTPServer.executable(??)\nCGIHTTPServer.nobody\nCGIHTTPServer.nobody_uid(??)\nCGIHTTPServer.os\nCGIHTTPServer.select\nCGIHTTPServer.sys\nCGIHTTPServer.test(??)\nCGIHTTPServer.urllib\nConfigParser.ConfigParser(??)\nConfigParser.DEFAULTSECT\nConfigParser.DuplicateSectionError\nConfigParser.Error\nConfigParser.InterpolationDepthError\nConfigParser.InterpolationError\nConfigParser.InterpolationMissingOptionError\nConfigParser.InterpolationSyntaxError\nConfigParser.MAX_INTERPOLATION_DEPTH\nConfigParser.MissingSectionHeaderError\nConfigParser.NoOptionError\nConfigParser.NoSectionError\nConfigParser.ParsingError\nConfigParser.RawConfigParser(??)\nConfigParser.SafeConfigParser(??)\nConfigParser.re\nCookie.BaseCookie\nCookie.Cookie\nCookie.CookieError\nCookie.Morsel\nCookie.SerialCookie\nCookie.SimpleCookie\nCookie.SmartCookie\nCookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\nCookie.loads(string) -- Load a pickle from the given string\nCookie.re\nCookie.string\nCookie.warnings\nDeprecationWarning\nDocXMLRPCServer.CGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocCGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCServer(??)\nDocXMLRPCServer.ServerHTMLDoc(??)\nDocXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nDocXMLRPCServer.SimpleXMLRPCServer(??)\nDocXMLRPCServer.XMLRPCDocGenerator(??)\nDocXMLRPCServer.inspect\nDocXMLRPCServer.pydoc\nDocXMLRPCServer.re\nDocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nDocXMLRPCServer.sys\nEOFError\nEllipsis\nEnvironmentError\nException\nFalse\nFloatingPointError\nFutureWarning\nGeneratorExit\nHTMLParser.HTMLParseError\nHTMLParser.HTMLParser(??)\nHTMLParser.attrfind\nHTMLParser.charref\nHTMLParser.commentclose\nHTMLParser.endendtag\nHTMLParser.endtagfind\nHTMLParser.entityref\nHTMLParser.incomplete\nHTMLParser.interesting_cdata\nHTMLParser.interesting_normal\nHTMLParser.locatestarttagend\nHTMLParser.markupbase\nHTMLParser.piclose\nHTMLParser.re\nHTMLParser.starttagopen\nHTMLParser.tagfind\nIOError\nImportError\nImportWarning\nIndentationError\nIndexError\nKeyError\nKeyboardInterrupt\nLookupError\nMemoryError\nMimeWriter.MimeWriter(??)\nMimeWriter.mimetools\nNameError\nNone\nNotImplemented\nNotImplementedError\nOSError\nOverflowError\nPendingDeprecationWarning\nQueue.Empty\nQueue.Full\nQueue.Queue(??)\nQueue.deque(iterable) --> deque object\nReferenceError\nRuntimeError\nRuntimeWarning\nSimpleHTTPServer.BaseHTTPServer\nSimpleHTTPServer.SimpleHTTPRequestHandler(??)\nSimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nSimpleHTTPServer.cgi\nSimpleHTTPServer.mimetypes\nSimpleHTTPServer.os\nSimpleHTTPServer.posixpath\nSimpleHTTPServer.shutil\nSimpleHTTPServer.test(??)\nSimpleHTTPServer.urllib\nSimpleHTTPServer.urlparse\nSimpleXMLRPCServer.BaseHTTPServer\nSimpleXMLRPCServer.CGIXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.Fault\nSimpleXMLRPCServer.SimpleXMLRPCDispatcher(??)\nSimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.SimpleXMLRPCServer(??)\nSimpleXMLRPCServer.SocketServer\nSimpleXMLRPCServer.fcntl\nSimpleXMLRPCServer.list_public_methods(??)\nSimpleXMLRPCServer.os\nSimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2]\nSimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nSimpleXMLRPCServer.sys\nSimpleXMLRPCServer.xmlrpclib\nSocketServer.BaseRequestHandler(??)\nSocketServer.BaseServer(??)\nSocketServer.DatagramRequestHandler(??)\nSocketServer.ForkingMixIn(??)\nSocketServer.ForkingTCPServer(??)\nSocketServer.ForkingUDPServer(??)\nSocketServer.StreamRequestHandler(??)\nSocketServer.TCPServer(??)\nSocketServer.ThreadingMixIn(??)\nSocketServer.ThreadingTCPServer(??)\nSocketServer.ThreadingUDPServer(??)\nSocketServer.ThreadingUnixDatagramServer(??)\nSocketServer.ThreadingUnixStreamServer(??)\nSocketServer.UDPServer(??)\nSocketServer.UnixDatagramServer(??)\nSocketServer.UnixStreamServer(??)\nSocketServer.os\nSocketServer.socket\nSocketServer.sys\nStandardError\nStopIteration\nStringIO.EINVAL\nStringIO.StringIO(??)\nStringIO.test(??)\nSyntaxError\nSyntaxWarning\nSystemError\nSystemExit\nTabError\nTrue\nTypeError\nUnboundLocalError\nUnicodeDecodeError\nUnicodeEncodeError\nUnicodeError\nUnicodeTranslateError\nUnicodeWarning\nUserDict.DictMixin(??)\nUserDict.IterableUserDict(??)\nUserDict.UserDict(??)\nUserList.UserList(??)\nUserString.MutableString(??)\nUserString.UserString(??)\nUserString.sys\nUserWarning\nValueError\nWarning\nZeroDivisionError\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error\naifc.open(??)\naifc.openfp(??)\naifc.struct\nall(iterable) -> bool\nany(iterable) -> bool\nanydbm.error\nanydbm.open(??)\napply(object[, args[, kwargs]]) -> value\narray.ArrayType\narray.array(typecode [, initializer]) -> array\nasynchat.async_chat(??)\nasynchat.asyncore\nasynchat.deque(iterable) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasynchat.socket\nasyncore.EALREADY\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINTR\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode\nasyncore.fcntl\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select\nasyncore.socket\nasyncore.socket_map\nasyncore.sys\nasyncore.time\nasyncore.write(??)\natexit.register(??)\natexit.sys\naudiodev.AudioDev(??)\naudiodev.Play_Audio_sgi(??)\naudiodev.Play_Audio_sun(??)\naudiodev.error\naudiodev.test(??)\naudioop.add\naudioop.adpcm2lin\naudioop.alaw2lin\naudioop.avg\naudioop.avgpp\naudioop.bias\naudioop.cross\naudioop.error\naudioop.findfactor\naudioop.findfit\naudioop.findmax\naudioop.getsample\naudioop.lin2adpcm\naudioop.lin2alaw\naudioop.lin2lin\naudioop.lin2ulaw\naudioop.max\naudioop.maxpp\naudioop.minmax\naudioop.mul\naudioop.ratecv\naudioop.reverse\naudioop.rms\naudioop.tomono\naudioop.tostereo\naudioop.ulaw2lin\nbase64.EMPTYSTRING\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii\nbase64.decode(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodestring(??)\nbase64.k\nbase64.re\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct\nbase64.test(??)\nbase64.test1(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbase64.v\nbasestring\nbdb.Bdb(??)\nbdb.BdbQuit\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.foo(??)\nbdb.os\nbdb.set_trace(??)\nbdb.sys\nbdb.test(??)\nbdb.types\nbinascii.Error\nbinascii.Incomplete\nbinascii.a2b_base64\nbinascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.\nbinascii.a2b_hqx\nbinascii.a2b_qp\nbinascii.a2b_uu\nbinascii.b2a_base64\nbinascii.b2a_hex(data) -> s; Hexadecimal representation of binary data.\nbinascii.b2a_hqx\nbinascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nbinascii.b2a_uu\nbinascii.crc32\nbinascii.crc_hqx\nbinascii.hexlify\nbinascii.rlecode_hqx\nbinascii.rledecode_hqx\nbinascii.unhexlify\nbinhex.BinHex(??)\nbinhex.Error\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii\nbinhex.binhex(??)\nbinhex.getfileinfo(??)\nbinhex.hexbin(??)\nbinhex.openrsrc(??)\nbinhex.os\nbinhex.struct\nbinhex.sys\nbisect.bisect\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbsddb.UserDict\nbsddb.btopen(??)\nbsddb.db\nbsddb.db.DB\nbsddb.db.DBAccessError\nbsddb.db.DBAgainError\nbsddb.db.DBBusyError\nbsddb.db.DBCursorClosedError\nbsddb.db.DBEnv\nbsddb.db.DBError\nbsddb.db.DBFileExistsError\nbsddb.db.DBInvalidArgError\nbsddb.db.DBKeyEmptyError\nbsddb.db.DBKeyExistError\nbsddb.db.DBLockDeadlockError\nbsddb.db.DBLockNotGrantedError\nbsddb.db.DBNoMemoryError\nbsddb.db.DBNoServerError\nbsddb.db.DBNoServerHomeError\nbsddb.db.DBNoServerIDError\nbsddb.db.DBNoSpaceError\nbsddb.db.DBNoSuchFileError\nbsddb.db.DBNotFoundError\nbsddb.db.DBOldVersionError\nbsddb.db.DBPageNotFoundError\nbsddb.db.DBPermissionsError\nbsddb.db.DBRunRecoveryError\nbsddb.db.DBSecondaryBadError\nbsddb.db.DBVerifyBadError\nbsddb.db.DB_AFTER\nbsddb.db.DB_AGGRESSIVE\nbsddb.db.DB_APPEND\nbsddb.db.DB_ARCH_ABS\nbsddb.db.DB_ARCH_DATA\nbsddb.db.DB_ARCH_LOG\nbsddb.db.DB_ARCH_REMOVE\nbsddb.db.DB_AUTO_COMMIT\nbsddb.db.DB_BEFORE\nbsddb.db.DB_BTREE\nbsddb.db.DB_CACHED_COUNTS\nbsddb.db.DB_CDB_ALLDB\nbsddb.db.DB_CHECKPOINT\nbsddb.db.DB_CHKSUM\nbsddb.db.DB_CONSUME\nbsddb.db.DB_CONSUME_WAIT\nbsddb.db.DB_CREATE\nbsddb.db.DB_CURRENT\nbsddb.db.DB_DIRECT_DB\nbsddb.db.DB_DIRECT_LOG\nbsddb.db.DB_DIRTY_READ\nbsddb.db.DB_DONOTINDEX\nbsddb.db.DB_DUP\nbsddb.db.DB_DUPSORT\nbsddb.db.DB_ENCRYPT\nbsddb.db.DB_ENCRYPT_AES\nbsddb.db.DB_EXCL\nbsddb.db.DB_EXTENT\nbsddb.db.DB_FAST_STAT\nbsddb.db.DB_FCNTL_LOCKING\nbsddb.db.DB_FIRST\nbsddb.db.DB_FLUSH\nbsddb.db.DB_FORCE\nbsddb.db.DB_GET_BOTH\nbsddb.db.DB_GET_RECNO\nbsddb.db.DB_HASH\nbsddb.db.DB_INCOMPLETE\nbsddb.db.DB_INIT_CDB\nbsddb.db.DB_INIT_LOCK\nbsddb.db.DB_INIT_LOG\nbsddb.db.DB_INIT_MPOOL\nbsddb.db.DB_INIT_REP\nbsddb.db.DB_INIT_TXN\nbsddb.db.DB_JOINENV\nbsddb.db.DB_JOIN_ITEM\nbsddb.db.DB_JOIN_NOSORT\nbsddb.db.DB_KEYEMPTY\nbsddb.db.DB_KEYEXIST\nbsddb.db.DB_KEYFIRST\nbsddb.db.DB_KEYLAST\nbsddb.db.DB_LAST\nbsddb.db.DB_LOCKDOWN\nbsddb.db.DB_LOCK_CONFLICT\nbsddb.db.DB_LOCK_DEADLOCK\nbsddb.db.DB_LOCK_DEFAULT\nbsddb.db.DB_LOCK_DIRTY\nbsddb.db.DB_LOCK_DUMP\nbsddb.db.DB_LOCK_GET\nbsddb.db.DB_LOCK_INHERIT\nbsddb.db.DB_LOCK_IREAD\nbsddb.db.DB_LOCK_IWR\nbsddb.db.DB_LOCK_IWRITE\nbsddb.db.DB_LOCK_MAXLOCKS\nbsddb.db.DB_LOCK_MINLOCKS\nbsddb.db.DB_LOCK_MINWRITE\nbsddb.db.DB_LOCK_NG\nbsddb.db.DB_LOCK_NORUN\nbsddb.db.DB_LOCK_NOTGRANTED\nbsddb.db.DB_LOCK_NOWAIT\nbsddb.db.DB_LOCK_OLDEST\nbsddb.db.DB_LOCK_PUT\nbsddb.db.DB_LOCK_PUT_ALL\nbsddb.db.DB_LOCK_PUT_OBJ\nbsddb.db.DB_LOCK_RANDOM\nbsddb.db.DB_LOCK_READ\nbsddb.db.DB_LOCK_RECORD\nbsddb.db.DB_LOCK_SWITCH\nbsddb.db.DB_LOCK_UPGRADE\nbsddb.db.DB_LOCK_UPGRADE_WRITE\nbsddb.db.DB_LOCK_WAIT\nbsddb.db.DB_LOCK_WRITE\nbsddb.db.DB_LOCK_WWRITE\nbsddb.db.DB_LOCK_YOUNGEST\nbsddb.db.DB_LOG_AUTOREMOVE\nbsddb.db.DB_LSTAT_ABORTED\nbsddb.db.DB_LSTAT_ERR\nbsddb.db.DB_LSTAT_FREE\nbsddb.db.DB_LSTAT_HELD\nbsddb.db.DB_LSTAT_PENDING\nbsddb.db.DB_LSTAT_WAITING\nbsddb.db.DB_MAX_PAGES\nbsddb.db.DB_MAX_RECORDS\nbsddb.db.DB_MULTIPLE\nbsddb.db.DB_MULTIPLE_KEY\nbsddb.db.DB_NEXT\nbsddb.db.DB_NEXT_DUP\nbsddb.db.DB_NEXT_NODUP\nbsddb.db.DB_NODUPDATA\nbsddb.db.DB_NOLOCKING\nbsddb.db.DB_NOMMAP\nbsddb.db.DB_NOORDERCHK\nbsddb.db.DB_NOOVERWRITE\nbsddb.db.DB_NOPANIC\nbsddb.db.DB_NOSERVER\nbsddb.db.DB_NOSERVER_HOME\nbsddb.db.DB_NOSERVER_ID\nbsddb.db.DB_NOSYNC\nbsddb.db.DB_NOTFOUND\nbsddb.db.DB_ODDFILESIZE\nbsddb.db.DB_OLD_VERSION\nbsddb.db.DB_OPFLAGS_MASK\nbsddb.db.DB_ORDERCHKONLY\nbsddb.db.DB_PAGE_NOTFOUND\nbsddb.db.DB_PANIC_ENVIRONMENT\nbsddb.db.DB_POSITION\nbsddb.db.DB_PREV\nbsddb.db.DB_PREV_NODUP\nbsddb.db.DB_PRIVATE\nbsddb.db.DB_PR_PAGE\nbsddb.db.DB_PR_RECOVERYTEST\nbsddb.db.DB_QUEUE\nbsddb.db.DB_RDONLY\nbsddb.db.DB_RDWRMASTER\nbsddb.db.DB_RECNO\nbsddb.db.DB_RECNUM\nbsddb.db.DB_RECORDCOUNT\nbsddb.db.DB_RECOVER\nbsddb.db.DB_RECOVER_FATAL\nbsddb.db.DB_REGION_INIT\nbsddb.db.DB_RENUMBER\nbsddb.db.DB_REVSPLITOFF\nbsddb.db.DB_RMW\nbsddb.db.DB_RPCCLIENT\nbsddb.db.DB_RUNRECOVERY\nbsddb.db.DB_SALVAGE\nbsddb.db.DB_SECONDARY_BAD\nbsddb.db.DB_SET\nbsddb.db.DB_SET_LOCK_TIMEOUT\nbsddb.db.DB_SET_RANGE\nbsddb.db.DB_SET_RECNO\nbsddb.db.DB_SET_TXN_TIMEOUT\nbsddb.db.DB_SNAPSHOT\nbsddb.db.DB_STAT_CLEAR\nbsddb.db.DB_SYSTEM_MEM\nbsddb.db.DB_THREAD\nbsddb.db.DB_TIME_NOTGRANTED\nbsddb.db.DB_TRUNCATE\nbsddb.db.DB_TXN_NOSYNC\nbsddb.db.DB_TXN_NOT_DURABLE\nbsddb.db.DB_TXN_NOWAIT\nbsddb.db.DB_TXN_SYNC\nbsddb.db.DB_TXN_WRITE_NOSYNC\nbsddb.db.DB_UNKNOWN\nbsddb.db.DB_UPGRADE\nbsddb.db.DB_USE_ENVIRON\nbsddb.db.DB_USE_ENVIRON_ROOT\nbsddb.db.DB_VERIFY\nbsddb.db.DB_VERIFY_BAD\nbsddb.db.DB_VERSION_MAJOR\nbsddb.db.DB_VERSION_MINOR\nbsddb.db.DB_VERSION_PATCH\nbsddb.db.DB_VERSION_STRING\nbsddb.db.DB_WRITECURSOR\nbsddb.db.DB_XA_CREATE\nbsddb.db.DB_YIELDCPU\nbsddb.db.EACCES\nbsddb.db.EAGAIN\nbsddb.db.EBUSY\nbsddb.db.EEXIST\nbsddb.db.EINVAL\nbsddb.db.ENOENT\nbsddb.db.ENOMEM\nbsddb.db.ENOSPC\nbsddb.db.EPERM\nbsddb.db.cvsid\nbsddb.db.version\nbsddb.dbobj\nbsddb.dbobj.DB(??)\nbsddb.dbobj.DBEnv(??)\nbsddb.dbobj.DBSequence(??)\nbsddb.dbobj.DictMixin(??)\nbsddb.dbobj.db\nbsddb.dbrecio\nbsddb.dbrecio.DBRecIO(??)\nbsddb.dbrecio.errno\nbsddb.dbrecio.string\nbsddb.dbshelve\nbsddb.dbshelve.DBShelf(??)\nbsddb.dbshelve.DBShelfCursor(??)\nbsddb.dbshelve.DictMixin(??)\nbsddb.dbshelve.cPickle\nbsddb.dbshelve.db\nbsddb.dbshelve.open(??)\nbsddb.dbtables\nbsddb.dbtables.Cond(??)\nbsddb.dbtables.DB\nbsddb.dbtables.DBAccessError\nbsddb.dbtables.DBAgainError\nbsddb.dbtables.DBBusyError\nbsddb.dbtables.DBCursorClosedError\nbsddb.dbtables.DBEnv\nbsddb.dbtables.DBError\nbsddb.dbtables.DBFileExistsError\nbsddb.dbtables.DBIncompleteError\nbsddb.dbtables.DBInvalidArgError\nbsddb.dbtables.DBKeyEmptyError\nbsddb.dbtables.DBKeyExistError\nbsddb.dbtables.DBLockDeadlockError\nbsddb.dbtables.DBLockNotGrantedError\nbsddb.dbtables.DBNoMemoryError\nbsddb.dbtables.DBNoServerError\nbsddb.dbtables.DBNoServerHomeError\nbsddb.dbtables.DBNoServerIDError\nbsddb.dbtables.DBNoSpaceError\nbsddb.dbtables.DBNoSuchFileError\nbsddb.dbtables.DBNotFoundError\nbsddb.dbtables.DBOldVersionError\nbsddb.dbtables.DBPageNotFoundError\nbsddb.dbtables.DBPermissionsError\nbsddb.dbtables.DBRunRecoveryError\nbsddb.dbtables.DBSecondaryBadError\nbsddb.dbtables.DBVerifyBadError\nbsddb.dbtables.DB_AFTER\nbsddb.dbtables.DB_AGGRESSIVE\nbsddb.dbtables.DB_APPEND\nbsddb.dbtables.DB_ARCH_ABS\nbsddb.dbtables.DB_ARCH_DATA\nbsddb.dbtables.DB_ARCH_LOG\nbsddb.dbtables.DB_ARCH_REMOVE\nbsddb.dbtables.DB_AUTO_COMMIT\nbsddb.dbtables.DB_BEFORE\nbsddb.dbtables.DB_BTREE\nbsddb.dbtables.DB_CACHED_COUNTS\nbsddb.dbtables.DB_CDB_ALLDB\nbsddb.dbtables.DB_CHECKPOINT\nbsddb.dbtables.DB_CHKSUM\nbsddb.dbtables.DB_CONSUME\nbsddb.dbtables.DB_CONSUME_WAIT\nbsddb.dbtables.DB_CREATE\nbsddb.dbtables.DB_CURRENT\nbsddb.dbtables.DB_DIRECT_DB\nbsddb.dbtables.DB_DIRECT_LOG\nbsddb.dbtables.DB_DIRTY_READ\nbsddb.dbtables.DB_DONOTINDEX\nbsddb.dbtables.DB_DUP\nbsddb.dbtables.DB_DUPSORT\nbsddb.dbtables.DB_ENCRYPT\nbsddb.dbtables.DB_ENCRYPT_AES\nbsddb.dbtables.DB_EXCL\nbsddb.dbtables.DB_EXTENT\nbsddb.dbtables.DB_FAST_STAT\nbsddb.dbtables.DB_FCNTL_LOCKING\nbsddb.dbtables.DB_FIRST\nbsddb.dbtables.DB_FLUSH\nbsddb.dbtables.DB_FORCE\nbsddb.dbtables.DB_GET_BOTH\nbsddb.dbtables.DB_GET_RECNO\nbsddb.dbtables.DB_HASH\nbsddb.dbtables.DB_INCOMPLETE\nbsddb.dbtables.DB_INIT_CDB\nbsddb.dbtables.DB_INIT_LOCK\nbsddb.dbtables.DB_INIT_LOG\nbsddb.dbtables.DB_INIT_MPOOL\nbsddb.dbtables.DB_INIT_REP\nbsddb.dbtables.DB_INIT_TXN\nbsddb.dbtables.DB_JOINENV\nbsddb.dbtables.DB_JOIN_ITEM\nbsddb.dbtables.DB_JOIN_NOSORT\nbsddb.dbtables.DB_KEYEMPTY\nbsddb.dbtables.DB_KEYEXIST\nbsddb.dbtables.DB_KEYFIRST\nbsddb.dbtables.DB_KEYLAST\nbsddb.dbtables.DB_LAST\nbsddb.dbtables.DB_LOCKDOWN\nbsddb.dbtables.DB_LOCK_CONFLICT\nbsddb.dbtables.DB_LOCK_DEADLOCK\nbsddb.dbtables.DB_LOCK_DEFAULT\nbsddb.dbtables.DB_LOCK_DIRTY\nbsddb.dbtables.DB_LOCK_DUMP\nbsddb.dbtables.DB_LOCK_GET\nbsddb.dbtables.DB_LOCK_INHERIT\nbsddb.dbtables.DB_LOCK_IREAD\nbsddb.dbtables.DB_LOCK_IWR\nbsddb.dbtables.DB_LOCK_IWRITE\nbsddb.dbtables.DB_LOCK_MAXLOCKS\nbsddb.dbtables.DB_LOCK_MINLOCKS\nbsddb.dbtables.DB_LOCK_MINWRITE\nbsddb.dbtables.DB_LOCK_NG\nbsddb.dbtables.DB_LOCK_NORUN\nbsddb.dbtables.DB_LOCK_NOTGRANTED\nbsddb.dbtables.DB_LOCK_NOWAIT\nbsddb.dbtables.DB_LOCK_OLDEST\nbsddb.dbtables.DB_LOCK_PUT\nbsddb.dbtables.DB_LOCK_PUT_ALL\nbsddb.dbtables.DB_LOCK_PUT_OBJ\nbsddb.dbtables.DB_LOCK_RANDOM\nbsddb.dbtables.DB_LOCK_READ\nbsddb.dbtables.DB_LOCK_RECORD\nbsddb.dbtables.DB_LOCK_SWITCH\nbsddb.dbtables.DB_LOCK_UPGRADE\nbsddb.dbtables.DB_LOCK_UPGRADE_WRITE\nbsddb.dbtables.DB_LOCK_WAIT\nbsddb.dbtables.DB_LOCK_WRITE\nbsddb.dbtables.DB_LOCK_WWRITE\nbsddb.dbtables.DB_LOCK_YOUNGEST\nbsddb.dbtables.DB_LOG_AUTOREMOVE\nbsddb.dbtables.DB_LSTAT_ABORTED\nbsddb.dbtables.DB_LSTAT_ERR\nbsddb.dbtables.DB_LSTAT_FREE\nbsddb.dbtables.DB_LSTAT_HELD\nbsddb.dbtables.DB_LSTAT_PENDING\nbsddb.dbtables.DB_LSTAT_WAITING\nbsddb.dbtables.DB_MAX_PAGES\nbsddb.dbtables.DB_MAX_RECORDS\nbsddb.dbtables.DB_MULTIPLE\nbsddb.dbtables.DB_MULTIPLE_KEY\nbsddb.dbtables.DB_NEXT\nbsddb.dbtables.DB_NEXT_DUP\nbsddb.dbtables.DB_NEXT_NODUP\nbsddb.dbtables.DB_NODUPDATA\nbsddb.dbtables.DB_NOLOCKING\nbsddb.dbtables.DB_NOMMAP\nbsddb.dbtables.DB_NOORDERCHK\nbsddb.dbtables.DB_NOOVERWRITE\nbsddb.dbtables.DB_NOPANIC\nbsddb.dbtables.DB_NOSERVER\nbsddb.dbtables.DB_NOSERVER_HOME\nbsddb.dbtables.DB_NOSERVER_ID\nbsddb.dbtables.DB_NOSYNC\nbsddb.dbtables.DB_NOTFOUND\nbsddb.dbtables.DB_ODDFILESIZE\nbsddb.dbtables.DB_OLD_VERSION\nbsddb.dbtables.DB_OPFLAGS_MASK\nbsddb.dbtables.DB_ORDERCHKONLY\nbsddb.dbtables.DB_PAGE_NOTFOUND\nbsddb.dbtables.DB_PANIC_ENVIRONMENT\nbsddb.dbtables.DB_POSITION\nbsddb.dbtables.DB_PREV\nbsddb.dbtables.DB_PREV_NODUP\nbsddb.dbtables.DB_PRIVATE\nbsddb.dbtables.DB_PR_PAGE\nbsddb.dbtables.DB_PR_RECOVERYTEST\nbsddb.dbtables.DB_QUEUE\nbsddb.dbtables.DB_RDONLY\nbsddb.dbtables.DB_RDWRMASTER\nbsddb.dbtables.DB_RECNO\nbsddb.dbtables.DB_RECNUM\nbsddb.dbtables.DB_RECORDCOUNT\nbsddb.dbtables.DB_RECOVER\nbsddb.dbtables.DB_RECOVER_FATAL\nbsddb.dbtables.DB_REGION_INIT\nbsddb.dbtables.DB_RENUMBER\nbsddb.dbtables.DB_REVSPLITOFF\nbsddb.dbtables.DB_RMW\nbsddb.dbtables.DB_RPCCLIENT\nbsddb.dbtables.DB_RUNRECOVERY\nbsddb.dbtables.DB_SALVAGE\nbsddb.dbtables.DB_SECONDARY_BAD\nbsddb.dbtables.DB_SET\nbsddb.dbtables.DB_SET_LOCK_TIMEOUT\nbsddb.dbtables.DB_SET_RANGE\nbsddb.dbtables.DB_SET_RECNO\nbsddb.dbtables.DB_SET_TXN_TIMEOUT\nbsddb.dbtables.DB_SNAPSHOT\nbsddb.dbtables.DB_STAT_CLEAR\nbsddb.dbtables.DB_SYSTEM_MEM\nbsddb.dbtables.DB_THREAD\nbsddb.dbtables.DB_TIME_NOTGRANTED\nbsddb.dbtables.DB_TRUNCATE\nbsddb.dbtables.DB_TXN_NOSYNC\nbsddb.dbtables.DB_TXN_NOT_DURABLE\nbsddb.dbtables.DB_TXN_NOWAIT\nbsddb.dbtables.DB_TXN_SYNC\nbsddb.dbtables.DB_TXN_WRITE_NOSYNC\nbsddb.dbtables.DB_UNKNOWN\nbsddb.dbtables.DB_UPGRADE\nbsddb.dbtables.DB_USE_ENVIRON\nbsddb.dbtables.DB_USE_ENVIRON_ROOT\nbsddb.dbtables.DB_VERIFY\nbsddb.dbtables.DB_VERIFY_BAD\nbsddb.dbtables.DB_VERSION_MAJOR\nbsddb.dbtables.DB_VERSION_MINOR\nbsddb.dbtables.DB_VERSION_PATCH\nbsddb.dbtables.DB_VERSION_STRING\nbsddb.dbtables.DB_WRITECURSOR\nbsddb.dbtables.DB_XA_CREATE\nbsddb.dbtables.DB_YIELDCPU\nbsddb.dbtables.EACCES\nbsddb.dbtables.EAGAIN\nbsddb.dbtables.EBUSY\nbsddb.dbtables.EEXIST\nbsddb.dbtables.EINVAL\nbsddb.dbtables.ENOENT\nbsddb.dbtables.ENOMEM\nbsddb.dbtables.ENOSPC\nbsddb.dbtables.EPERM\nbsddb.dbtables.ExactCond(??)\nbsddb.dbtables.LikeCond(??)\nbsddb.dbtables.ListType\nbsddb.dbtables.PostfixCond(??)\nbsddb.dbtables.PrefixCond(??)\nbsddb.dbtables.StringType\nbsddb.dbtables.TableAlreadyExists\nbsddb.dbtables.TableDBError\nbsddb.dbtables.bsdTableDB(??)\nbsddb.dbtables.contains_metastrings(??)\nbsddb.dbtables.copy\nbsddb.dbtables.cvsid\nbsddb.dbtables.pickle\nbsddb.dbtables.random\nbsddb.dbtables.re\nbsddb.dbtables.sys\nbsddb.dbtables.version\nbsddb.dbtables.xdrlib\nbsddb.dbutils\nbsddb.dbutils.DeadlockWrap(function, *_args, **_kwargs) - automatically retries\nbsddb.dbutils.db\nbsddb.error\nbsddb.hashopen(??)\nbsddb.os\nbsddb.ref\nbsddb.rnopen(??)\nbsddb.sys\nbuffer(object [, offset[, size]])\nbz2.BZ2Compressor([compresslevel=9]) -> compressor object\nbz2.BZ2Decompressor() -> decompressor object\nbz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object\nbz2.compress(data [, compresslevel=9]) -> string\nbz2.decompress(data) -> decompressed data\ncPickle.BadPickleGet\ncPickle.HIGHEST_PROTOCOL\ncPickle.PickleError\ncPickle.Pickler(file, protocol=0) -- Create a pickler.\ncPickle.PicklingError\ncPickle.UnpickleableError\ncPickle.Unpickler(file) -- Create an unpickler.\ncPickle.UnpicklingError\ncPickle.compatible_formats\ncPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file.\ncPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\ncPickle.format_version\ncPickle.load(file) -- Load a pickle from the given file\ncPickle.loads(string) -- Load a pickle from the given string\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.help(??)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncStringIO.InputType\ncStringIO.OutputType\ncStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncStringIO.cStringIO_CAPI\ncalendar.Calendar\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar\ncalendar.IllegalMonthError\ncalendar.IllegalWeekdayError\ncalendar.January\ncalendar.LocaleHTMLCalendar\ncalendar.LocaleTextCalendar\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar\ncalendar.TimeEncoding(??)\ncalendar.WEDNESDAY\ncalendar.c\ncalendar.calendar\ncalendar.datetime\ncalendar.day_abbr\ncalendar.day_name\ncalendar.error\ncalendar.firstweekday\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.locale\ncalendar.main(??)\ncalendar.mdays\ncalendar.month\ncalendar.month_abbr\ncalendar.month_name\ncalendar.monthcalendar\ncalendar.monthrange(??)\ncalendar.prcal\ncalendar.prmonth\ncalendar.prweek\ncalendar.setfirstweekday(??)\ncalendar.sys\ncalendar.timegm(??)\ncalendar.week\ncalendar.weekday(??)\ncalendar.weekheader\ncalendar.with_statement\ncallable(object) -> bool\ncgi.FieldStorage(??)\ncgi.FormContent(??)\ncgi.FormContentDict(??)\ncgi.InterpFormContentDict(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncgi.SvFormContentDict(??)\ncgi.UserDict\ncgi.attrgetter(attr, ...) --> attrgetter object\ncgi.dolog(??)\ncgi.escape(??)\ncgi.initlog(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp\ncgi.maxlen\ncgi.mimetools\ncgi.nolog(??)\ncgi.os\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.rfc822\ncgi.sys\ncgi.test(??)\ncgi.urllib\ncgi.valid_boundary(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler\ncgitb.html(??)\ncgitb.lookup(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys\ncgitb.text(??)\nchr(i) -> character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.pi\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string\ncmp(x, y) -> integer\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.softspace(??)\ncode.sys\ncode.traceback\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder\ncodecs.BufferedIncrementalEncoder\ncodecs.Codec(??)\ncodecs.CodecInfo\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder\ncodecs.IncrementalEncoder\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode\ncodecs.ascii_encode\ncodecs.backslashreplace_errors\ncodecs.charbuffer_encode\ncodecs.charmap_build\ncodecs.charmap_decode\ncodecs.charmap_encode\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode\ncodecs.escape_encode\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode\ncodecs.latin_1_encode\ncodecs.lookup(encoding) -> (encoder, decoder, stream_reader, stream_writer)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode\ncodecs.raw_unicode_escape_encode\ncodecs.readbuffer_encode\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors\ncodecs.strict_errors\ncodecs.sys\ncodecs.unicode_escape_decode\ncodecs.unicode_escape_encode\ncodecs.unicode_internal_decode\ncodecs.unicode_internal_encode\ncodecs.utf_16_be_decode\ncodecs.utf_16_be_encode\ncodecs.utf_16_decode\ncodecs.utf_16_encode\ncodecs.utf_16_ex_decode\ncodecs.utf_16_le_decode\ncodecs.utf_16_le_encode\ncodecs.utf_7_decode\ncodecs.utf_7_encode\ncodecs.utf_8_decode\ncodecs.utf_8_encode\ncodecs.xmlcharrefreplace_errors\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncodeop.fname\ncoerce(x, y) -> (x1, y1)\ncollections.defaultdict(default_factory) --> dict with default factory\ncollections.deque(iterable) --> deque object\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncommands.getoutput(??)\ncommands.getstatus(??)\ncommands.getstatusoutput(??)\ncommands.mk2arg(??)\ncommands.mkarg(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_path(??)\ncompileall.main(??)\ncompileall.os\ncompileall.py_compile\ncompileall.sys\ncompiler.ast\ncompiler.ast.Add(??)\ncompiler.ast.And(??)\ncompiler.ast.AssAttr(??)\ncompiler.ast.AssList(??)\ncompiler.ast.AssName(??)\ncompiler.ast.AssTuple(??)\ncompiler.ast.Assert(??)\ncompiler.ast.Assign(??)\ncompiler.ast.AugAssign(??)\ncompiler.ast.Backquote(??)\ncompiler.ast.Bitand(??)\ncompiler.ast.Bitor(??)\ncompiler.ast.Bitxor(??)\ncompiler.ast.Break(??)\ncompiler.ast.CO_VARARGS\ncompiler.ast.CO_VARKEYWORDS\ncompiler.ast.CallFunc(??)\ncompiler.ast.Class(??)\ncompiler.ast.Compare(??)\ncompiler.ast.Const(??)\ncompiler.ast.Continue(??)\ncompiler.ast.Decorators(??)\ncompiler.ast.Dict(??)\ncompiler.ast.Discard(??)\ncompiler.ast.Div(??)\ncompiler.ast.Ellipsis(??)\ncompiler.ast.EmptyNode(??)\ncompiler.ast.Exec(??)\ncompiler.ast.Expression(??)\ncompiler.ast.FloorDiv(??)\ncompiler.ast.For(??)\ncompiler.ast.From(??)\ncompiler.ast.Function(??)\ncompiler.ast.GenExpr(??)\ncompiler.ast.GenExprFor(??)\ncompiler.ast.GenExprIf(??)\ncompiler.ast.GenExprInner(??)\ncompiler.ast.Getattr(??)\ncompiler.ast.Global(??)\ncompiler.ast.If(??)\ncompiler.ast.IfExp(??)\ncompiler.ast.Import(??)\ncompiler.ast.Invert(??)\ncompiler.ast.Keyword(??)\ncompiler.ast.Lambda(??)\ncompiler.ast.LeftShift(??)\ncompiler.ast.List(??)\ncompiler.ast.ListComp(??)\ncompiler.ast.ListCompFor(??)\ncompiler.ast.ListCompIf(??)\ncompiler.ast.Mod(??)\ncompiler.ast.Module(??)\ncompiler.ast.Mul(??)\ncompiler.ast.Name(??)\ncompiler.ast.Node(??)\ncompiler.ast.Not(??)\ncompiler.ast.Or(??)\ncompiler.ast.Pass(??)\ncompiler.ast.Power(??)\ncompiler.ast.Print(??)\ncompiler.ast.Printnl(??)\ncompiler.ast.Raise(??)\ncompiler.ast.Return(??)\ncompiler.ast.RightShift(??)\ncompiler.ast.Slice(??)\ncompiler.ast.Sliceobj(??)\ncompiler.ast.Stmt(??)\ncompiler.ast.Sub(??)\ncompiler.ast.Subscript(??)\ncompiler.ast.TryExcept(??)\ncompiler.ast.TryFinally(??)\ncompiler.ast.Tuple(??)\ncompiler.ast.UnaryAdd(??)\ncompiler.ast.UnarySub(??)\ncompiler.ast.While(??)\ncompiler.ast.With(??)\ncompiler.ast.Yield(??)\ncompiler.ast.flatten(??)\ncompiler.ast.flatten_nodes(??)\ncompiler.ast.name\ncompiler.ast.nodes\ncompiler.ast.obj(??)\ncompiler.compile(??)\ncompiler.compileFile(??)\ncompiler.consts\ncompiler.consts.CO_FUTURE_ABSIMPORT\ncompiler.consts.CO_FUTURE_DIVISION\ncompiler.consts.CO_FUTURE_WITH_STATEMENT\ncompiler.consts.CO_GENERATOR\ncompiler.consts.CO_GENERATOR_ALLOWED\ncompiler.consts.CO_NESTED\ncompiler.consts.CO_NEWLOCALS\ncompiler.consts.CO_OPTIMIZED\ncompiler.consts.CO_VARARGS\ncompiler.consts.CO_VARKEYWORDS\ncompiler.consts.OP_APPLY\ncompiler.consts.OP_ASSIGN\ncompiler.consts.OP_DELETE\ncompiler.consts.SC_CELL\ncompiler.consts.SC_FREE\ncompiler.consts.SC_GLOBAL\ncompiler.consts.SC_LOCAL\ncompiler.consts.SC_UNKNOWN\ncompiler.future\ncompiler.future.BadFutureParser(??)\ncompiler.future.FutureParser(??)\ncompiler.future.ast\ncompiler.future.find_futures(??)\ncompiler.future.is_future(??)\ncompiler.future.walk(??)\ncompiler.misc\ncompiler.misc.MANGLE_LEN\ncompiler.misc.Set(??)\ncompiler.misc.Stack(??)\ncompiler.misc.flatten(??)\ncompiler.misc.mangle(??)\ncompiler.misc.set_filename(??)\ncompiler.parse(??)\ncompiler.parseFile(??)\ncompiler.pyassem\ncompiler.pyassem.Block(??)\ncompiler.pyassem.CONV\ncompiler.pyassem.CO_NEWLOCALS\ncompiler.pyassem.CO_OPTIMIZED\ncompiler.pyassem.CO_VARARGS\ncompiler.pyassem.CO_VARKEYWORDS\ncompiler.pyassem.DONE\ncompiler.pyassem.FLAT\ncompiler.pyassem.FlowGraph(??)\ncompiler.pyassem.LineAddrTable(??)\ncompiler.pyassem.PyFlowGraph(??)\ncompiler.pyassem.RAW\ncompiler.pyassem.StackDepthTracker(??)\ncompiler.pyassem.TupleArg(??)\ncompiler.pyassem.dfs_postorder(??)\ncompiler.pyassem.dis\ncompiler.pyassem.findDepth\ncompiler.pyassem.getArgCount(??)\ncompiler.pyassem.isJump(??)\ncompiler.pyassem.misc\ncompiler.pyassem.new\ncompiler.pyassem.sys\ncompiler.pyassem.twobyte(??)\ncompiler.pycodegen\ncompiler.pycodegen.AbstractClassCode(??)\ncompiler.pycodegen.AbstractCompileMode(??)\ncompiler.pycodegen.AbstractFunctionCode(??)\ncompiler.pycodegen.AugGetattr(??)\ncompiler.pycodegen.AugName(??)\ncompiler.pycodegen.AugSlice(??)\ncompiler.pycodegen.AugSubscript(??)\ncompiler.pycodegen.CO_FUTURE_ABSIMPORT\ncompiler.pycodegen.CO_FUTURE_DIVISION\ncompiler.pycodegen.CO_FUTURE_WITH_STATEMENT\ncompiler.pycodegen.CO_GENERATOR\ncompiler.pycodegen.CO_NESTED\ncompiler.pycodegen.CO_NEWLOCALS\ncompiler.pycodegen.CO_VARARGS\ncompiler.pycodegen.CO_VARKEYWORDS\ncompiler.pycodegen.ClassCodeGenerator(??)\ncompiler.pycodegen.CodeGenerator(??)\ncompiler.pycodegen.Delegator(??)\ncompiler.pycodegen.END_FINALLY\ncompiler.pycodegen.EXCEPT\ncompiler.pycodegen.Expression(??)\ncompiler.pycodegen.ExpressionCodeGenerator(??)\ncompiler.pycodegen.FunctionCodeGenerator(??)\ncompiler.pycodegen.GenExprCodeGenerator(??)\ncompiler.pycodegen.Interactive(??)\ncompiler.pycodegen.InteractiveCodeGenerator(??)\ncompiler.pycodegen.LOOP\ncompiler.pycodegen.LocalNameFinder(??)\ncompiler.pycodegen.Module(??)\ncompiler.pycodegen.ModuleCodeGenerator(??)\ncompiler.pycodegen.NestedScopeMixin(??)\ncompiler.pycodegen.OpFinder(??)\ncompiler.pycodegen.SC_CELL\ncompiler.pycodegen.SC_FREE\ncompiler.pycodegen.SC_GLOBAL\ncompiler.pycodegen.SC_LOCAL\ncompiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncompiler.pycodegen.TRY_FINALLY\ncompiler.pycodegen.TupleArg(??)\ncompiler.pycodegen.VERSION\ncompiler.pycodegen.ast\ncompiler.pycodegen.callfunc_opcode_info\ncompiler.pycodegen.compile(??)\ncompiler.pycodegen.compileFile(??)\ncompiler.pycodegen.findOp(??)\ncompiler.pycodegen.future\ncompiler.pycodegen.generateArgList(??)\ncompiler.pycodegen.imp\ncompiler.pycodegen.is_constant_false(??)\ncompiler.pycodegen.marshal\ncompiler.pycodegen.misc\ncompiler.pycodegen.os\ncompiler.pycodegen.parse(??)\ncompiler.pycodegen.pyassem\ncompiler.pycodegen.struct\ncompiler.pycodegen.symbols\ncompiler.pycodegen.syntax\ncompiler.pycodegen.sys\ncompiler.pycodegen.walk(??)\ncompiler.pycodegen.wrap_aug(??)\ncompiler.pycodegen.wrapper\ncompiler.symbols\ncompiler.symbols.ClassScope(??)\ncompiler.symbols.FunctionScope(??)\ncompiler.symbols.GenExprScope(??)\ncompiler.symbols.LambdaScope(??)\ncompiler.symbols.MANGLE_LEN\ncompiler.symbols.ModuleScope(??)\ncompiler.symbols.SC_CELL\ncompiler.symbols.SC_FREE\ncompiler.symbols.SC_GLOBAL\ncompiler.symbols.SC_LOCAL\ncompiler.symbols.SC_UNKNOWN\ncompiler.symbols.Scope(??)\ncompiler.symbols.SymbolVisitor(??)\ncompiler.symbols.ast\ncompiler.symbols.list_eq(??)\ncompiler.symbols.mangle(??)\ncompiler.symbols.sys\ncompiler.symbols.types\ncompiler.syntax\ncompiler.syntax.SyntaxErrorChecker(??)\ncompiler.syntax.ast\ncompiler.syntax.check(??)\ncompiler.syntax.walk(??)\ncompiler.transformer\ncompiler.transformer.Add(??)\ncompiler.transformer.And(??)\ncompiler.transformer.AssAttr(??)\ncompiler.transformer.AssList(??)\ncompiler.transformer.AssName(??)\ncompiler.transformer.AssTuple(??)\ncompiler.transformer.Assert(??)\ncompiler.transformer.Assign(??)\ncompiler.transformer.AugAssign(??)\ncompiler.transformer.Backquote(??)\ncompiler.transformer.Bitand(??)\ncompiler.transformer.Bitor(??)\ncompiler.transformer.Bitxor(??)\ncompiler.transformer.Break(??)\ncompiler.transformer.CO_VARARGS\ncompiler.transformer.CO_VARKEYWORDS\ncompiler.transformer.CallFunc(??)\ncompiler.transformer.Class(??)\ncompiler.transformer.Compare(??)\ncompiler.transformer.Const(??)\ncompiler.transformer.Continue(??)\ncompiler.transformer.Decorators(??)\ncompiler.transformer.Dict(??)\ncompiler.transformer.Discard(??)\ncompiler.transformer.Div(??)\ncompiler.transformer.Ellipsis(??)\ncompiler.transformer.EmptyNode(??)\ncompiler.transformer.Exec(??)\ncompiler.transformer.Expression(??)\ncompiler.transformer.FloorDiv(??)\ncompiler.transformer.For(??)\ncompiler.transformer.From(??)\ncompiler.transformer.Function(??)\ncompiler.transformer.GenExpr(??)\ncompiler.transformer.GenExprFor(??)\ncompiler.transformer.GenExprIf(??)\ncompiler.transformer.GenExprInner(??)\ncompiler.transformer.Getattr(??)\ncompiler.transformer.Global(??)\ncompiler.transformer.If(??)\ncompiler.transformer.IfExp(??)\ncompiler.transformer.Import(??)\ncompiler.transformer.Invert(??)\ncompiler.transformer.Keyword(??)\ncompiler.transformer.Lambda(??)\ncompiler.transformer.LeftShift(??)\ncompiler.transformer.List(??)\ncompiler.transformer.ListComp(??)\ncompiler.transformer.ListCompFor(??)\ncompiler.transformer.ListCompIf(??)\ncompiler.transformer.Mod(??)\ncompiler.transformer.Module(??)\ncompiler.transformer.Mul(??)\ncompiler.transformer.Name(??)\ncompiler.transformer.Node(??)\ncompiler.transformer.Not(??)\ncompiler.transformer.OP_APPLY\ncompiler.transformer.OP_ASSIGN\ncompiler.transformer.OP_DELETE\ncompiler.transformer.Or(??)\ncompiler.transformer.Pass(??)\ncompiler.transformer.Power(??)\ncompiler.transformer.Print(??)\ncompiler.transformer.Printnl(??)\ncompiler.transformer.Raise(??)\ncompiler.transformer.Return(??)\ncompiler.transformer.RightShift(??)\ncompiler.transformer.Slice(??)\ncompiler.transformer.Sliceobj(??)\ncompiler.transformer.Stmt(??)\ncompiler.transformer.Sub(??)\ncompiler.transformer.Subscript(??)\ncompiler.transformer.Transformer(??)\ncompiler.transformer.TryExcept(??)\ncompiler.transformer.TryFinally(??)\ncompiler.transformer.Tuple(??)\ncompiler.transformer.UnaryAdd(??)\ncompiler.transformer.UnarySub(??)\ncompiler.transformer.WalkerError\ncompiler.transformer.While(??)\ncompiler.transformer.With(??)\ncompiler.transformer.Yield(??)\ncompiler.transformer.asList(??)\ncompiler.transformer.debug_tree(??)\ncompiler.transformer.extractLineNo(??)\ncompiler.transformer.flatten(??)\ncompiler.transformer.flatten_nodes(??)\ncompiler.transformer.k\ncompiler.transformer.name\ncompiler.transformer.nodes\ncompiler.transformer.obj(??)\ncompiler.transformer.parse(??)\ncompiler.transformer.parseFile(??)\ncompiler.transformer.parser\ncompiler.transformer.symbol\ncompiler.transformer.sys\ncompiler.transformer.token\ncompiler.transformer.v\ncompiler.visitor\ncompiler.visitor.ASTVisitor(??)\ncompiler.visitor.ExampleASTVisitor(??)\ncompiler.visitor.ast\ncompiler.visitor.dumpNode(??)\ncompiler.visitor.walk(??)\ncompiler.walk(??)\ncomplex(real[, imag]) -> complex number\ncontextlib.GeneratorContextManager\ncontextlib.closing\ncontextlib.contextmanager(??)\ncontextlib.nested(??)\ncontextlib.sys\ncookielib.Absent(??)\ncookielib.Cookie(??)\ncookielib.CookieJar(??)\ncookielib.CookiePolicy(??)\ncookielib.DAYS\ncookielib.DEFAULT_HTTP_PORT\ncookielib.DefaultCookiePolicy(??)\ncookielib.EPOCH_YEAR\ncookielib.ESCAPED_CHAR_RE\ncookielib.FileCookieJar(??)\ncookielib.HEADER_ESCAPE_RE\ncookielib.HEADER_JOIN_ESCAPE_RE\ncookielib.HEADER_QUOTED_VALUE_RE\ncookielib.HEADER_TOKEN_RE\ncookielib.HEADER_VALUE_RE\ncookielib.HTTP_PATH_SAFE\ncookielib.IPV4_RE\ncookielib.ISO_DATE_RE\ncookielib.LOOSE_HTTP_DATE_RE\ncookielib.LWPCookieJar(??)\ncookielib.LoadError\ncookielib.MISSING_FILENAME_TEXT\ncookielib.MONTHS\ncookielib.MONTHS_LOWER\ncookielib.MozillaCookieJar(??)\ncookielib.STRICT_DATE_RE\ncookielib.TIMEZONE_RE\ncookielib.UTC_ZONES\ncookielib.WEEKDAY_RE\ncookielib.copy\ncookielib.cut_port_re\ncookielib.debug\ncookielib.deepvalues(??)\ncookielib.domain_match(??)\ncookielib.eff_request_host(??)\ncookielib.escape_path(??)\ncookielib.http2time(??)\ncookielib.httplib\ncookielib.is_HDN(??)\ncookielib.is_third_party(??)\ncookielib.iso2time(??)\ncookielib.join_header_words(??)\ncookielib.liberal_is_HDN(??)\ncookielib.logger\ncookielib.lwp_cookie_str(??)\ncookielib.month\ncookielib.offset_from_tz_string(??)\ncookielib.parse_ns_headers(??)\ncookielib.re\ncookielib.reach(??)\ncookielib.request_host(??)\ncookielib.request_path(??)\ncookielib.request_port(??)\ncookielib.split_header_words(??)\ncookielib.time\ncookielib.time2isoz(??)\ncookielib.time2netscape(??)\ncookielib.timegm(??)\ncookielib.unmatched(??)\ncookielib.uppercase_escaped_char(??)\ncookielib.urllib\ncookielib.urlparse\ncookielib.user_domain_match(??)\ncookielib.vals_sorted_by_key(??)\ncopy.Error\ncopy.PyStringMap\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table\ncopy.error\ncopy.name\ncopy.t\ncopy_reg.add_extension(??)\ncopy_reg.clear_extension_cache(??)\ncopy_reg.constructor(??)\ncopy_reg.dispatch_table\ncopy_reg.pickle(??)\ncopy_reg.pickle_complex(??)\ncopy_reg.remove_extension(??)\ncopyright\ncredits\ncrypt.crypt(word, salt) -> string\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit\ncsv.get_dialect\ncsv.list_dialects\ncsv.re\ncsv.reader\ncsv.register_dialect\ncsv.unregister_dialect\ncsv.writer\nctypes.ARRAY(??)\nctypes.ArgumentError\nctypes.Array\nctypes.BigEndianStructure\nctypes.CDLL\nctypes.CFUNCTYPE(restype, *argtypes) -> function prototype.\nctypes.DEFAULT_MODE\nctypes.LibraryLoader\nctypes.LittleEndianStructure\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure\nctypes.Union\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance) -> byref-object\nctypes.c_buffer(??)\nctypes.c_byte\nctypes.c_char\nctypes.c_char_p\nctypes.c_double\nctypes.c_float\nctypes.c_int\nctypes.c_int16\nctypes.c_int32\nctypes.c_int64\nctypes.c_int8\nctypes.c_long\nctypes.c_longlong\nctypes.c_short\nctypes.c_size_t\nctypes.c_ubyte\nctypes.c_uint\nctypes.c_uint16\nctypes.c_uint32\nctypes.c_uint64\nctypes.c_uint8\nctypes.c_ulong\nctypes.c_ulonglong\nctypes.c_ushort\nctypes.c_void_p\nctypes.c_voidp\nctypes.c_wchar\nctypes.c_wchar_p\nctypes.cast(??)\nctypes.cdll\nctypes.create_string_buffer(aString) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.macholib\nctypes.macholib.dyld\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.count([firstval]) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.ensure_utf8(??)\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object\nctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object\nctypes.macholib.dyld.imap(func, *iterables) --> imap object\nctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object\nctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object\nctypes.macholib.dyld.os\nctypes.macholib.dyld.repeat(element [,times]) -> create an iterator which returns the element\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dylib\nctypes.macholib.dylib.DYLIB_RE\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework\nctypes.macholib.framework.STRICT_FRAMEWORK_RE\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove\nctypes.memset\nctypes.pointer(??)\nctypes.py_object\nctypes.pydll\nctypes.pythonapi\nctypes.resize\nctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util\nctypes.util.errno\nctypes.util.find_library(??)\nctypes.util.os\nctypes.util.re\nctypes.util.sys\nctypes.util.tempfile\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate\ncurses.beep\ncurses.can_change_color\ncurses.cbreak\ncurses.color_content\ncurses.color_pair\ncurses.curs_set\ncurses.def_prog_mode\ncurses.def_shell_mode\ncurses.delay_output\ncurses.doupdate\ncurses.echo\ncurses.endwin\ncurses.erasechar\ncurses.error\ncurses.filter\ncurses.flash\ncurses.flushinp\ncurses.getmouse\ncurses.getsyx\ncurses.getwin\ncurses.halfdelay\ncurses.has_colors\ncurses.has_ic\ncurses.has_il\ncurses.has_key\ncurses.has_key.has_key(??)\ncurses.init_color\ncurses.init_pair\ncurses.initscr(??)\ncurses.intrflush\ncurses.is_term_resized\ncurses.isendwin\ncurses.keyname\ncurses.killchar\ncurses.longname\ncurses.meta\ncurses.mouseinterval\ncurses.mousemask\ncurses.napms\ncurses.newpad\ncurses.newwin\ncurses.nl\ncurses.nocbreak\ncurses.noecho\ncurses.nonl\ncurses.noqiflush\ncurses.noraw\ncurses.pair_content\ncurses.pair_number\ncurses.panel\ncurses.panel.bottom_panel\ncurses.panel.error\ncurses.panel.new_panel\ncurses.panel.top_panel\ncurses.panel.update_panels\ncurses.panel.version\ncurses.putp\ncurses.qiflush\ncurses.raw\ncurses.reset_prog_mode\ncurses.reset_shell_mode\ncurses.resetty\ncurses.resize_term\ncurses.resizeterm\ncurses.savetty\ncurses.setsyx\ncurses.setupterm\ncurses.start_color(??)\ncurses.termattrs\ncurses.termname\ncurses.textpad\ncurses.textpad.Textbox(??)\ncurses.textpad.ascii\ncurses.textpad.curses\ncurses.textpad.rectangle(??)\ncurses.tigetflag\ncurses.tigetnum\ncurses.tigetstr\ncurses.tparm\ncurses.typeahead\ncurses.unctrl\ncurses.ungetch\ncurses.ungetmouse\ncurses.use_default_colors\ncurses.use_env\ncurses.version\ncurses.wrapper(??)\ncurses.wrapper.func_closure\ncurses.wrapper.func_code\ncurses.wrapper.func_defaults\ncurses.wrapper.func_dict\ncurses.wrapper.func_doc\ncurses.wrapper.func_globals\ncurses.wrapper.func_name\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta\ndatetime.tzinfo\ndbhash.bsddb\ndbhash.error\ndbhash.open(??)\ndbhash.sys\ndecimal.ALWAYS_ROUND\ndecimal.BasicContext\ndecimal.Clamped\ndecimal.Context\ndecimal.ConversionSyntax\ndecimal.Decimal\ndecimal.DecimalException\ndecimal.DefaultContext\ndecimal.DivisionByZero\ndecimal.DivisionImpossible\ndecimal.DivisionUndefined\ndecimal.ExtendedContext\ndecimal.Inexact\ndecimal.Inf\ndecimal.Infsign\ndecimal.InvalidContext\ndecimal.InvalidOperation\ndecimal.NEVER_ROUND\ndecimal.NaN\ndecimal.Overflow\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded\ndecimal.Subnormal\ndecimal.Underflow\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.negInf\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary.\ndifflib.Differ(??)\ndifflib.HtmlDiff\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndircache.annotate(??)\ndircache.cache\ndircache.listdir(??)\ndircache.opendir(??)\ndircache.os\ndircache.reset(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op\ndis.dis(??)\ndis.disassemble(??)\ndis.disassemble_string(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.hascompare\ndis.hasconst\ndis.hasfree\ndis.hasjabs\ndis.hasjrel\ndis.haslocal\ndis.hasname\ndis.opmap\ndis.opname\ndis.sys\ndis.types\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase\ndoctest.DocTestFailure\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.StringIO(??)\ndoctest.Tester(??)\ndoctest.UnexpectedException\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib\ndoctest.inspect\ndoctest.linecache\ndoctest.master\ndoctest.os\ndoctest.pdb\ndoctest.re\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys\ndoctest.tempfile\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback\ndoctest.unittest\ndoctest.warnings\ndumbdbm.UserDict\ndumbdbm.error\ndumbdbm.open(??)\ndummy_thread.LockType\ndummy_thread.allocate_lock(??)\ndummy_thread.error\ndummy_thread.exit(??)\ndummy_thread.get_ident(??)\ndummy_thread.interrupt_main(??)\ndummy_thread.stack_size(??)\ndummy_thread.start_new_thread(??)\ndummy_thread.warnings\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread\ndummy_threading.Timer(??)\ndummy_threading.activeCount(??)\ndummy_threading.currentThread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading\nemail.Charset\nemail.Encoders\nemail.Errors\nemail.FeedParser\nemail.Generator\nemail.Header\nemail.Iterators\nemail.LazyImporter\nemail.MIMEAudio\nemail.MIMEBase\nemail.MIMEImage\nemail.MIMEMessage\nemail.MIMEMultipart\nemail.MIMENonMultipart\nemail.MIMEText\nemail.Message\nemail.Parser\nemail.Utils\nemail.base64MIME\nemail.base64mime\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64\nemail.base64mime.b2a_base64\nemail.base64mime.base64_len(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.encode(??)\nemail.base64mime.encodestring(??)\nemail.base64mime.fix_eols(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.re\nemail.charset\nemail.charset.ALIASES\nemail.charset.BASE64\nemail.charset.CHARSETS\nemail.charset.CODEC_MAP\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.MISC_LEN\nemail.charset.QP\nemail.charset.SHORTEST\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email\nemail.charset.encode_7or8bit(??)\nemail.charset.errors\nemail.email\nemail.encoders\nemail.encoders.base64\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors\nemail.errors.BoundaryError\nemail.errors.CharsetError\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderParseError\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError\nemail.errors.MessageParseError\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MultipartConversionError\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.feedparser\nemail.feedparser.BufferedSubFile\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE\nemail.feedparser.NLCRE_bol\nemail.feedparser.NLCRE_crack\nemail.feedparser.NLCRE_eol\nemail.feedparser.NeedMoreData\nemail.feedparser.errors\nemail.feedparser.headerRE\nemail.feedparser.message\nemail.feedparser.re\nemail.generator\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.generator.UNDERSCORE\nemail.generator.fcre\nemail.generator.random\nemail.generator.re\nemail.generator.sys\nemail.generator.time\nemail.generator.warnings\nemail.header\nemail.header.Charset(??)\nemail.header.Header(??)\nemail.header.HeaderParseError\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.UEMPTYSTRING\nemail.header.USASCII\nemail.header.USPACE\nemail.header.UTF8\nemail.header.binascii\nemail.header.decode_header(??)\nemail.header.ecre\nemail.header.email\nemail.header.fcre\nemail.header.make_header(??)\nemail.header.re\nemail.importer\nemail.iterators\nemail.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.message.binascii\nemail.message.email\nemail.message.errors\nemail.message.paramre\nemail.message.re\nemail.message.tspecials\nemail.message.utils\nemail.message.uu\nemail.message.warnings\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime\nemail.mime.Audio\nemail.mime.Base\nemail.mime.Image\nemail.mime.Message\nemail.mime.Multipart\nemail.mime.NonMultipart\nemail.mime.Text\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders\nemail.mime.audio\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.mime.audio.encoders\nemail.mime.audio.sndhdr\nemail.mime.base\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message\nemail.mime.image\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders\nemail.mime.image.imghdr\nemail.mime.message\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message\nemail.mime.multipart\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors\nemail.mime.text\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.parser.warnings\nemail.quopriMIME\nemail.quoprimime\nemail.quoprimime.CRLF\nemail.quoprimime.MISC_LEN\nemail.quoprimime.NL\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_quopri_check(??)\nemail.quoprimime.body_quopri_len(??)\nemail.quoprimime.bqre\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.encode(??)\nemail.quoprimime.encodestring(??)\nemail.quoprimime.fix_eols(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_quopri_check(??)\nemail.quoprimime.header_quopri_len(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.hqre\nemail.quoprimime.quote(??)\nemail.quoprimime.re\nemail.quoprimime.unquote(??)\nemail.sys\nemail.utils\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.EMPTYSTRING\nemail.utils.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre\nemail.utils.fix_eols(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random\nemail.utils.re\nemail.utils.rfc2231_continuation\nemail.utils.socket\nemail.utils.specialsre\nemail.utils.time\nemail.utils.unquote(??)\nemail.utils.urllib\nemail.utils.warnings\nenumerate(iterable) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EADV\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EBADE\nerrno.EBADF\nerrno.EBADFD\nerrno.EBADMSG\nerrno.EBADR\nerrno.EBADRQC\nerrno.EBADSLT\nerrno.EBFONT\nerrno.EBUSY\nerrno.ECHILD\nerrno.ECHRNG\nerrno.ECOMM\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDEADLOCK\nerrno.EDESTADDRREQ\nerrno.EDOM\nerrno.EDOTDOT\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.EISNAM\nerrno.EL2HLT\nerrno.EL2NSYNC\nerrno.EL3HLT\nerrno.EL3RST\nerrno.ELIBACC\nerrno.ELIBBAD\nerrno.ELIBEXEC\nerrno.ELIBMAX\nerrno.ELIBSCN\nerrno.ELNRNG\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENAVAIL\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOANO\nerrno.ENOBUFS\nerrno.ENOCSI\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENONET\nerrno.ENOPKG\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTNAM\nerrno.ENOTSOCK\nerrno.ENOTTY\nerrno.ENOTUNIQ\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.ERANGE\nerrno.EREMCHG\nerrno.EREMOTE\nerrno.EREMOTEIO\nerrno.ERESTART\nerrno.EROFS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESRMNT\nerrno.ESTALE\nerrno.ESTRPIPE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUCLEAN\nerrno.EUNATCH\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.EXFULL\nerrno.errorcode\neval(source[, globals[, locals]]) -> value\nexceptions.ArithmeticError\nexceptions.AssertionError\nexceptions.AttributeError\nexceptions.BaseException\nexceptions.DeprecationWarning\nexceptions.EOFError\nexceptions.EnvironmentError\nexceptions.Exception\nexceptions.FloatingPointError\nexceptions.FutureWarning\nexceptions.GeneratorExit\nexceptions.IOError\nexceptions.ImportError\nexceptions.ImportWarning\nexceptions.IndentationError\nexceptions.IndexError\nexceptions.KeyError\nexceptions.KeyboardInterrupt\nexceptions.LookupError\nexceptions.MemoryError\nexceptions.NameError\nexceptions.NotImplementedError\nexceptions.OSError\nexceptions.OverflowError\nexceptions.PendingDeprecationWarning\nexceptions.ReferenceError\nexceptions.RuntimeError\nexceptions.RuntimeWarning\nexceptions.StandardError\nexceptions.StopIteration\nexceptions.SyntaxError\nexceptions.SyntaxWarning\nexceptions.SystemError\nexceptions.SystemExit\nexceptions.TabError\nexceptions.TypeError\nexceptions.UnboundLocalError\nexceptions.UnicodeDecodeError\nexceptions.UnicodeEncodeError\nexceptions.UnicodeError\nexceptions.UnicodeTranslateError\nexceptions.UnicodeWarning\nexceptions.UserWarning\nexceptions.ValueError\nexceptions.Warning\nexceptions.ZeroDivisionError\nexecfile(filename[, globals[, locals]])\nexit\nfcntl.DN_ACCESS\nfcntl.DN_ATTRIB\nfcntl.DN_CREATE\nfcntl.DN_DELETE\nfcntl.DN_MODIFY\nfcntl.DN_MULTISHOT\nfcntl.DN_RENAME\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_EXLCK\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLEASE\nfcntl.F_GETLK\nfcntl.F_GETLK64\nfcntl.F_GETOWN\nfcntl.F_GETSIG\nfcntl.F_NOTIFY\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLEASE\nfcntl.F_SETLK\nfcntl.F_SETLK64\nfcntl.F_SETLKW\nfcntl.F_SETLKW64\nfcntl.F_SETOWN\nfcntl.F_SETSIG\nfcntl.F_SHLCK\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.I_ATMARK\nfcntl.I_CANPUT\nfcntl.I_CKBAND\nfcntl.I_FDINSERT\nfcntl.I_FIND\nfcntl.I_FLUSH\nfcntl.I_FLUSHBAND\nfcntl.I_GETBAND\nfcntl.I_GETCLTIME\nfcntl.I_GETSIG\nfcntl.I_GRDOPT\nfcntl.I_GWROPT\nfcntl.I_LINK\nfcntl.I_LIST\nfcntl.I_LOOK\nfcntl.I_NREAD\nfcntl.I_PEEK\nfcntl.I_PLINK\nfcntl.I_POP\nfcntl.I_PUNLINK\nfcntl.I_PUSH\nfcntl.I_RECVFD\nfcntl.I_SENDFD\nfcntl.I_SETCLTIME\nfcntl.I_SETSIG\nfcntl.I_SRDOPT\nfcntl.I_STR\nfcntl.I_SWROPT\nfcntl.I_UNLINK\nfcntl.LOCK_EX\nfcntl.LOCK_MAND\nfcntl.LOCK_NB\nfcntl.LOCK_READ\nfcntl.LOCK_RW\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.LOCK_WRITE\nfcntl.fcntl(fd, opt, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, opt[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfile(name[, mode[, buffering]]) -> file object\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.ifilter(function or None, sequence) --> ifilter object\nfilecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object\nfilecmp.imap(func, *iterables) --> imap object\nfilecmp.izip(iter1 [,iter2 [...]]) --> izip object\nfilecmp.os\nfilecmp.stat\nfilecmp.warnings\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input([files[, inplace[, backup[, mode[, openhook]]]]])\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os\nfileinput.sys\nfilter(function or None, sequence) -> list, tuple, or string\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.re\nfnmatch.translate(??)\nformatter.AS_IS\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys\nformatter.test(??)\nfpformat.NotANumber\nfpformat.decoder\nfpformat.extract(??)\nfpformat.fix(??)\nfpformat.re\nfpformat.roundfrac(??)\nfpformat.sci(??)\nfpformat.test(??)\nfpformat.unexpo(??)\nfrozenset(iterable) --> frozenset object\nftplib.CRLF\nftplib.Error\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors\nftplib.error_perm\nftplib.error_proto\nftplib.error_reply\nftplib.error_temp\nftplib.ftpcp(??)\nftplib.os\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket\nftplib.sys\nftplib.test(??)\nfunctools.WRAPPER_ASSIGNMENTS\nfunctools.WRAPPER_UPDATES\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_INSTANCES\ngc.DEBUG_LEAK\ngc.DEBUG_OBJECTS\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngdbm.error\ngdbm.open(filename, [flags, [mode]])  -> dbm_object\ngdbm.open_flags\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os\ngetopt.short_has_arg(??)\ngetpass.default_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.sys\ngetpass.termios\ngetpass.unix_getpass(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale\ngettext.ngettext(??)\ngettext.os\ngettext.re\ngettext.struct\ngettext.sys\ngettext.test(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check\nglob.os\nglob.re\nglobals() -> dictionary\ngopherlib.A_BINARY\ngopherlib.A_CALENDAR\ngopherlib.A_CSO\ngopherlib.A_DUPLICATE\ngopherlib.A_ERROR\ngopherlib.A_EVENT\ngopherlib.A_GIF\ngopherlib.A_HTML\ngopherlib.A_IMAGE\ngopherlib.A_INDEX\ngopherlib.A_MACBINHEX\ngopherlib.A_MENU\ngopherlib.A_MIME\ngopherlib.A_PCBINHEX\ngopherlib.A_PLUS_IMAGE\ngopherlib.A_PLUS_MOVIE\ngopherlib.A_PLUS_SOUND\ngopherlib.A_QUERY\ngopherlib.A_SOUND\ngopherlib.A_TELNET\ngopherlib.A_TEXT\ngopherlib.A_TN3270\ngopherlib.A_UUENCODED\ngopherlib.A_WHOIS\ngopherlib.A_WWW\ngopherlib.CRLF\ngopherlib.DEF_HOST\ngopherlib.DEF_PORT\ngopherlib.DEF_SELECTOR\ngopherlib.TAB\ngopherlib.get_alt_binary(??)\ngopherlib.get_alt_textfile(??)\ngopherlib.get_binary(??)\ngopherlib.get_directory(??)\ngopherlib.get_textfile(??)\ngopherlib.path_to_datatype_name(??)\ngopherlib.path_to_selector(??)\ngopherlib.send_query(??)\ngopherlib.send_selector(??)\ngopherlib.test(??)\ngopherlib.type_to_name(??)\ngopherlib.warnings\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.LOWU32(??)\ngzip.READ\ngzip.U32(??)\ngzip.WRITE\ngzip.open(??)\ngzip.read32(??)\ngzip.struct\ngzip.sys\ngzip.time\ngzip.write32(??)\ngzip.write32u(??)\ngzip.zlib\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.md5\nhashlib.new(name, string='') - Return a new hashing object using the named algorithm;\nhashlib.sha1\nhashlib.sha224\nhashlib.sha256\nhashlib.sha384\nhashlib.sha512\nheapq.bisect\nheapq.count([firstval]) --> count object\nheapq.heapify\nheapq.heappop\nheapq.heappush\nheapq.heapreplace\nheapq.imap(func, *iterables) --> imap object\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.itemgetter(item, ...) --> itemgetter object\nheapq.izip(iter1 [,iter2 [...]]) --> izip object\nheapq.neg(a) -- Same as -a.\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.repeat(element [,times]) -> create an iterator which returns the element\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp\nhex(number) -> string\nhmac.HMAC(??)\nhmac.digest_size\nhmac.new(??)\nhotshot.Profile(??)\nhotshot.ProfilerError\nhotshot.log\nhotshot.log.ENTER\nhotshot.log.EXIT\nhotshot.log.LINE\nhotshot.log.LogReader(??)\nhotshot.log.WHAT_ADD_INFO\nhotshot.log.WHAT_DEFINE_FILE\nhotshot.log.WHAT_DEFINE_FUNC\nhotshot.log.WHAT_ENTER\nhotshot.log.WHAT_EXIT\nhotshot.log.WHAT_LINENO\nhotshot.log.os\nhotshot.log.parser\nhotshot.log.symbol\nhotshot.log.sys\nhotshot.stats\nhotshot.stats.ENTER\nhotshot.stats.EXIT\nhotshot.stats.FakeCode(??)\nhotshot.stats.FakeFrame(??)\nhotshot.stats.Profile(??)\nhotshot.stats.StatsLoader(??)\nhotshot.stats.hotshot\nhotshot.stats.load(??)\nhotshot.stats.profile\nhotshot.stats.pstats\nhotshot.stones\nhotshot.stones.errno\nhotshot.stones.hotshot\nhotshot.stones.main(??)\nhotshot.stones.os\nhotshot.stones.sys\nhotshot.stones.test\nhtmlentitydefs.codepoint2name\nhtmlentitydefs.entitydefs\nhtmlentitydefs.name2codepoint\nhtmllib.AS_IS\nhtmllib.HTMLParseError\nhtmllib.HTMLParser(??)\nhtmllib.sgmllib\nhtmllib.test(??)\nhttplib.ACCEPTED\nhttplib.BAD_GATEWAY\nhttplib.BAD_REQUEST\nhttplib.BadStatusLine\nhttplib.CONFLICT\nhttplib.CONTINUE\nhttplib.CREATED\nhttplib.CannotSendHeader\nhttplib.CannotSendRequest\nhttplib.EXPECTATION_FAILED\nhttplib.FAILED_DEPENDENCY\nhttplib.FORBIDDEN\nhttplib.FOUND\nhttplib.FakeSocket(??)\nhttplib.GATEWAY_TIMEOUT\nhttplib.GONE\nhttplib.HTTP(??)\nhttplib.HTTPConnection(??)\nhttplib.HTTPException\nhttplib.HTTPMessage(??)\nhttplib.HTTPResponse(??)\nhttplib.HTTPS(??)\nhttplib.HTTPSConnection(??)\nhttplib.HTTPS_PORT\nhttplib.HTTP_PORT\nhttplib.HTTP_VERSION_NOT_SUPPORTED\nhttplib.IM_USED\nhttplib.INSUFFICIENT_STORAGE\nhttplib.INTERNAL_SERVER_ERROR\nhttplib.ImproperConnectionState\nhttplib.IncompleteRead\nhttplib.InvalidURL\nhttplib.LENGTH_REQUIRED\nhttplib.LOCKED\nhttplib.LineAndFileWrapper(??)\nhttplib.MAXAMOUNT\nhttplib.METHOD_NOT_ALLOWED\nhttplib.MOVED_PERMANENTLY\nhttplib.MULTIPLE_CHOICES\nhttplib.MULTI_STATUS\nhttplib.NON_AUTHORITATIVE_INFORMATION\nhttplib.NOT_ACCEPTABLE\nhttplib.NOT_EXTENDED\nhttplib.NOT_FOUND\nhttplib.NOT_IMPLEMENTED\nhttplib.NOT_MODIFIED\nhttplib.NO_CONTENT\nhttplib.NotConnected\nhttplib.OK\nhttplib.PARTIAL_CONTENT\nhttplib.PAYMENT_REQUIRED\nhttplib.PRECONDITION_FAILED\nhttplib.PROCESSING\nhttplib.PROXY_AUTHENTICATION_REQUIRED\nhttplib.REQUESTED_RANGE_NOT_SATISFIABLE\nhttplib.REQUEST_ENTITY_TOO_LARGE\nhttplib.REQUEST_TIMEOUT\nhttplib.REQUEST_URI_TOO_LONG\nhttplib.RESET_CONTENT\nhttplib.ResponseNotReady\nhttplib.SEE_OTHER\nhttplib.SERVICE_UNAVAILABLE\nhttplib.SSLFile(??)\nhttplib.SWITCHING_PROTOCOLS\nhttplib.SharedSocket(??)\nhttplib.SharedSocketClient(??)\nhttplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nhttplib.TEMPORARY_REDIRECT\nhttplib.UNAUTHORIZED\nhttplib.UNPROCESSABLE_ENTITY\nhttplib.UNSUPPORTED_MEDIA_TYPE\nhttplib.UPGRADE_REQUIRED\nhttplib.USE_PROXY\nhttplib.UnimplementedFileMode\nhttplib.UnknownProtocol\nhttplib.UnknownTransferEncoding\nhttplib.errno\nhttplib.error\nhttplib.mimetools\nhttplib.responses\nhttplib.socket\nhttplib.test(??)\nhttplib.urlsplit(??)\nid(object) -> integer\nihooks.BUILTIN_MODULE\nihooks.BasicModuleImporter(??)\nihooks.BasicModuleLoader(??)\nihooks.C_BUILTIN\nihooks.C_EXTENSION\nihooks.FROZEN_MODULE\nihooks.FancyModuleLoader(??)\nihooks.Hooks(??)\nihooks.ModuleImporter(??)\nihooks.ModuleLoader(??)\nihooks.PKG_DIRECTORY\nihooks.PY_COMPILED\nihooks.PY_FROZEN\nihooks.PY_SOURCE\nihooks.VERBOSE\nihooks.current_importer\nihooks.default_importer\nihooks.imp\nihooks.install(??)\nihooks.os\nihooks.sys\nihooks.uninstall(??)\nimaplib.AllowedVersions\nimaplib.CRLF\nimaplib.Commands\nimaplib.Continuation\nimaplib.Debug\nimaplib.Flags\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate\nimaplib.Internaldate2tuple(??)\nimaplib.Literal\nimaplib.MapCRLF\nimaplib.Mon2num\nimaplib.ParseFlags(??)\nimaplib.Response_code\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response\nimaplib.Untagged_status\nimaplib.binascii\nimaplib.os\nimaplib.random\nimaplib.re\nimaplib.socket\nimaplib.sys\nimaplib.time\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exif(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.find_module(name, [path]) -> (file, filename, (suffix, mode, type))\nimp.get_frozen_object\nimp.get_magic() -> string\nimp.get_suffixes() -> [(suffix, mode, type), ...]\nimp.init_builtin\nimp.init_frozen\nimp.is_builtin\nimp.is_frozen\nimp.load_compiled\nimp.load_dynamic\nimp.load_module(name, file, filename, (suffix, mode, type)) -> module\nimp.load_package\nimp.load_source\nimp.lock_held() -> boolean\nimp.new_module(name) -> module\nimp.release_lock() -> None\nimputil.BuiltinImporter(??)\nimputil.DynLoadSuffixImporter(??)\nimputil.ImportManager(??)\nimputil.Importer(??)\nimputil.imp\nimputil.marshal\nimputil.py_suffix_importer(??)\nimputil.struct\nimputil.sys\ninput([prompt]) -> value\ninspect.BlockFinder(??)\ninspect.CO_NEWLOCALS\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.EndOfBlock\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.classify_class_attrs(??)\ninspect.currentframe\ninspect.dis\ninspect.findsource(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getblock(??)\ninspect.getclasstree(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp\ninspect.indentsize(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.joinseq(??)\ninspect.linecache\ninspect.modulesbyfile\ninspect.os\ninspect.re\ninspect.stack(??)\ninspect.string\ninspect.strseq(??)\ninspect.sys\ninspect.tokenize\ninspect.trace(??)\ninspect.types\ninspect.walktree(??)\nint(x[, base]) -> integer\nintern(string) -> string\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(collection) -> iterator\nitertools.chain(*iterables) --> chain object\nitertools.count([firstval]) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.ifilter(function or None, sequence) --> ifilter object\nitertools.ifilterfalse(function or None, sequence) --> ifilterfalse object\nitertools.imap(func, *iterables) --> imap object\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.izip(iter1 [,iter2 [...]]) --> izip object\nitertools.repeat(element [,times]) -> create an iterator which returns the element\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nkeyword.iskeyword\nkeyword.kwlist\nkeyword.main(??)\nlen(object) -> integer\nlicense\nlinecache.cache\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os\nlinecache.sys\nlinecache.updatecache(??)\nlinuxaudiodev.AFMT_A_LAW\nlinuxaudiodev.AFMT_MU_LAW\nlinuxaudiodev.AFMT_S16_BE\nlinuxaudiodev.AFMT_S16_LE\nlinuxaudiodev.AFMT_S16_NE\nlinuxaudiodev.AFMT_S8\nlinuxaudiodev.AFMT_U16_BE\nlinuxaudiodev.AFMT_U16_LE\nlinuxaudiodev.AFMT_U8\nlinuxaudiodev.error\nlinuxaudiodev.open\nlist() -> new list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.bind_textdomain_codeset(domain, codeset) -> string\nlocale.bindtextdomain(domain, dir) -> string\nlocale.currency(??)\nlocale.dcgettext(domain, msg, category) -> string\nlocale.dgettext(domain, msg) -> string\nlocale.encodings\nlocale.format(??)\nlocale.format_string(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.gettext(msg) -> string\nlocale.locale_alias\nlocale.locale_encoding_alias\nlocale.localeconv\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.operator\nlocale.re\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll\nlocale.strxfrm\nlocale.sys\nlocale.textdomain(domain) -> string\nlocale.windows_locale\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StreamHandler(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit\nlogging.basicConfig(??)\nlogging.cStringIO\nlogging.codecs\nlogging.config\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.fileConfig(??)\nlogging.config.listen(??)\nlogging.config.logging\nlogging.config.os\nlogging.config.socket\nlogging.config.stopListening(??)\nlogging.config.string\nlogging.config.struct\nlogging.config.sys\nlogging.config.thread\nlogging.config.threading\nlogging.config.traceback\nlogging.config.types\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.cPickle\nlogging.handlers.codecs\nlogging.handlers.glob\nlogging.handlers.logging\nlogging.handlers.os\nlogging.handlers.socket\nlogging.handlers.string\nlogging.handlers.struct\nlogging.handlers.sys\nlogging.handlers.time\nlogging.handlers.types\nlogging.info(??)\nlogging.log(??)\nlogging.logProcesses\nlogging.logThreads\nlogging.makeLogRecord(??)\nlogging.os\nlogging.raiseExceptions\nlogging.root\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.string\nlogging.sys\nlogging.thread\nlogging.threading\nlogging.time\nlogging.traceback\nlogging.types\nlogging.warn(??)\nlogging.warning(??)\nlong(x[, base]) -> integer\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.abspath(??)\nmacpath.altsep\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames\nmacpath.walk(??)\nmacurl2path.os\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib\nmailbox.Babyl(??)\nmailbox.BabylMailbox(??)\nmailbox.BabylMessage(??)\nmailbox.Error\nmailbox.ExternalClashError\nmailbox.FormatError\nmailbox.MH(??)\nmailbox.MHMailbox(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.MmdfMailbox(??)\nmailbox.NoSuchMailboxError\nmailbox.NotEmptyError\nmailbox.PortableUnixMailbox(??)\nmailbox.StringIO\nmailbox.UnixMailbox(??)\nmailbox.calendar\nmailbox.copy\nmailbox.email\nmailbox.errno\nmailbox.fcntl\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os\nmailbox.rfc822\nmailbox.socket\nmailbox.sys\nmailbox.time\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(function, sequence[, sequence, ...]) -> list\nmarkupbase.ParserBase(??)\nmarshal.dump\nmarshal.dumps\nmarshal.load\nmarshal.loads\nmarshal.version\nmath.acos(x)\nmath.asin(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.ceil(x)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x) -> converts angle x from radians to degrees\nmath.e\nmath.exp(x)\nmath.fabs(x)\nmath.floor(x)\nmath.fmod(x,y)\nmath.frexp(x)\nmath.hypot(x,y)\nmath.ldexp(x, i) -> x * (2**i)\nmath.log(x[, base]) -> the logarithm of x to the given base.\nmath.log10(x) -> the base 10 logarithm of x.\nmath.modf(x)\nmath.pi\nmath.pow(x,y)\nmath.radians(x) -> converts angle x from degrees to radians\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmax(iterable[, key=func]) -> value\nmd5.blocksize\nmd5.digest_size\nmd5.md5\nmd5.new\nmhlib.Error\nmhlib.FOLDER_PROTECT\nmhlib.Folder(??)\nmhlib.IntSet(??)\nmhlib.MH(??)\nmhlib.MH_PROFILE\nmhlib.MH_SEQUENCES\nmhlib.Message(??)\nmhlib.PATH\nmhlib.SubMessage(??)\nmhlib.bisect\nmhlib.isnumeric(??)\nmhlib.mimetools\nmhlib.multifile\nmhlib.numericprog\nmhlib.os\nmhlib.pickline(??)\nmhlib.re\nmhlib.shutil\nmhlib.sys\nmhlib.test(??)\nmhlib.updateline(??)\nmimetools.Message(??)\nmimetools.choose_boundary(??)\nmimetools.copybinary(??)\nmimetools.copyliteral(??)\nmimetools.decode(??)\nmimetools.decodetab\nmimetools.encode(??)\nmimetools.encodetab\nmimetools.os\nmimetools.pipethrough(??)\nmimetools.pipeto(??)\nmimetools.rfc822\nmimetools.tempfile\nmimetools.uudecode_pipe\nmimetypes.MimeTypes(??)\nmimetypes.add_type\nmimetypes.common_types\nmimetypes.encodings_map\nmimetypes.guess_all_extensions\nmimetypes.guess_extension\nmimetypes.guess_type\nmimetypes.init(??)\nmimetypes.inited\nmimetypes.knownfiles\nmimetypes.os\nmimetypes.posixpath\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map\nmimetypes.types_map\nmimetypes.urllib\nmimify.CHARSET\nmimify.File(??)\nmimify.HeaderFile(??)\nmimify.MAXLEN\nmimify.QUOTE\nmimify.base64_re\nmimify.chrset\nmimify.cte\nmimify.he\nmimify.iso_char\nmimify.mime_char\nmimify.mime_code\nmimify.mime_decode(??)\nmimify.mime_decode_header(??)\nmimify.mime_encode(??)\nmimify.mime_encode_header(??)\nmimify.mime_head\nmimify.mime_header\nmimify.mime_header_char\nmimify.mimify(??)\nmimify.mimify_part(??)\nmimify.mp\nmimify.mv\nmimify.qp\nmimify.re\nmimify.repl\nmimify.sys\nmimify.unmimify(??)\nmimify.unmimify_part(??)\nmin(iterable[, key=func]) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_DENYWRITE\nmmap.MAP_EXECUTABLE\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error\nmmap.mmap\nmodulefinder.AddPackagePath(??)\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.READ_MODE\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS\nmodulefinder.dis\nmodulefinder.imp\nmodulefinder.marshal\nmodulefinder.new\nmodulefinder.os\nmodulefinder.packagePathMap\nmodulefinder.replacePackageMap\nmodulefinder.sys\nmodulefinder.test(??)\nmultifile.Error\nmultifile.MultiFile(??)\nmutex.deque(iterable) --> deque object\nmutex.mutex(??)\nnetrc.NetrcParseError\nnetrc.netrc(??)\nnetrc.os\nnetrc.shlex\nnew.classobj(name, bases, dict)\nnew.code\nnew.function(code, globals[, name[, argdefs[, closure]]])\nnew.instance(class[, dict])\nnew.instancemethod(function, instance, class)\nnew.module(name[, doc])\nnis.cat(map, domain = defaultdomain)\nnis.error\nnis.get_default_domain() -> str\nnis.maps(domain = defaultdomain)\nnis.match(key, map, domain = defaultdomain)\nnntplib.CRLF\nnntplib.LONGRESP\nnntplib.NNTP(??)\nnntplib.NNTPDataError\nnntplib.NNTPError\nnntplib.NNTPPermanentError\nnntplib.NNTPProtocolError\nnntplib.NNTPReplyError\nnntplib.NNTPTemporaryError\nnntplib.NNTP_PORT\nnntplib.error_data\nnntplib.error_perm\nnntplib.error_proto\nnntplib.error_reply\nnntplib.error_temp\nnntplib.re\nnntplib.socket\nntpath.abspath(??)\nntpath.altsep\nntpath.basename(??)\nntpath.commonprefix(??)\nntpath.curdir\nntpath.defpath\nntpath.devnull\nntpath.dirname(??)\nntpath.exists(??)\nntpath.expanduser(??)\nntpath.expandvars(??)\nntpath.extsep\nntpath.getatime(??)\nntpath.getctime(??)\nntpath.getmtime(??)\nntpath.getsize(??)\nntpath.isabs(??)\nntpath.isdir(??)\nntpath.isfile(??)\nntpath.islink(??)\nntpath.ismount(??)\nntpath.join(??)\nntpath.lexists(??)\nntpath.normcase(??)\nntpath.normpath(??)\nntpath.os\nntpath.pardir\nntpath.pathsep\nntpath.realpath(??)\nntpath.sep\nntpath.split(??)\nntpath.splitdrive(??)\nntpath.splitext(??)\nntpath.splitunc(??)\nntpath.stat\nntpath.supports_unicode_filenames\nntpath.sys\nntpath.walk(??)\nnturl2path.pathname2url(??)\nnturl2path.url2pathname(??)\nobject\noct(number) -> string\nopcode.EXTENDED_ARG\nopcode.HAVE_ARGUMENT\nopcode.cmp_op\nopcode.hascompare\nopcode.hasconst\nopcode.hasfree\nopcode.hasjabs\nopcode.hasjrel\nopcode.haslocal\nopcode.hasname\nopcode.opmap\nopcode.opname\nopen(name[, mode[, buffering]]) -> file object\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.delslice(a, b, c) -- Same as del a[b:c].\noperator.div(a, b) -- Same as a / b when __future__.division is not in effect.\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.getslice(a, b, c) -- Same as a[b:c].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(a, b) -- Same as a += b.\noperator.iand(a, b) -- Same as a &= b.\noperator.iconcat(a, b) -- Same as a += b, for a and b sequences.\noperator.idiv(a, b) -- Same as a /= b when __future__.division is not in effect.\noperator.ifloordiv(a, b) -- Same as a //= b.\noperator.ilshift(a, b) -- Same as a <<= b.\noperator.imod(a, b) -- Same as a %= b.\noperator.imul(a, b) -- Same as a *= b.\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(a, b) -- Same as a |= b.\noperator.ipow(a, b) -- Same as a **= b.\noperator.irepeat(a, b) -- Same as a *= b, where a is a sequence, and b is an integer.\noperator.irshift(a, b) -- Same as a >>= b.\noperator.isCallable(a) -- Same as callable(a).\noperator.isMappingType(a) -- Return True if a has a mapping type, False otherwise.\noperator.isNumberType(a) -- Return True if a has a numeric type, False otherwise.\noperator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise.\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(a, b) -- Same as a -= b.\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(a, b) -- Same as a /= b when __future__.division is in effect.\noperator.ixor(a, b) -- Same as a ^= b.\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.\noperator.rshift(a, b) -- Same as a >> b.\noperator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated).\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.setslice(a, b, c, d) -- Same as a[b:c] = d.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b when __future__.division is in effect.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError\noptparse.BadOptionError\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT\noptparse.OptParseError\noptparse.Option(??)\noptparse.OptionConflictError\noptparse.OptionContainer(??)\noptparse.OptionError\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.isbasestring(??)\noptparse.make_option(??)\noptparse.os\noptparse.sys\noptparse.textwrap\noptparse.types\nord(c) -> integer\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_OK\nos.NGROUPS_MAX\nos.O_APPEND\nos.O_CREAT\nos.O_DIRECT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_LARGEFILE\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_RSYNC\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_WAIT\nos.R_OK\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.TMP_MAX\nos.UserDict\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode) -> True if granted, False otherwise\nos.altsep\nos.chdir(path)\nos.chmod(path, mode)\nos.chown(path, uid, gid)\nos.chroot(path)\nos.close(fd)\nos.confstr(name) -> string\nos.confstr_names\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ\nos.error\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(??)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fildes)\nos.fdatasync(fildes)\nos.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.getcwd() -> path\nos.getcwdu() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst)\nos.listdir(path) -> list_of_strings\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0777])\nos.minor(device) -> minor number\nos.mkdir(path [, mode=0777])\nos.mkfifo(filename [, mode=0666])\nos.mknod(filename [, mode=0600, device])\nos.name\nos.nice(inc) -> new_priority\nos.open(filename, flag [, mode=0777]) -> fd\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path\nos.pathconf(path, name) -> integer\nos.pathconf_names\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(command [, mode='r' [, bufsize]]) -> pipe\nos.popen2(??)\nos.popen3(??)\nos.popen4(??)\nos.putenv(key, value)\nos.read(fd, buffersize) -> string\nos.readlink(path) -> path\nos.remove(path)\nos.removedirs(path)\nos.rename(old, new)\nos.renames(old, new)\nos.rmdir(path)\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setregid(rgid, egid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.stat(path) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result\nos.statvfs(path) -> statvfs result\nos.statvfs_result\nos.strerror(code) -> string\nos.symlink(src, dst)\nos.sys\nos.sysconf(name) -> integer\nos.sysconf_names\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.tempnam([dir[, prefix]]) -> string\nos.times() -> (utime, stime, cutime, cstime, elapsed_time)\nos.tmpfile() -> file object\nos.tmpnam() -> string\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> (sysname, nodename, release, version, machine)\nos.unlink(path)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, (atime, mtime))\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\nos2emxpath.abspath(??)\nos2emxpath.altsep\nos2emxpath.basename(??)\nos2emxpath.commonprefix(??)\nos2emxpath.curdir\nos2emxpath.defpath\nos2emxpath.devnull\nos2emxpath.dirname(??)\nos2emxpath.exists(??)\nos2emxpath.expanduser(??)\nos2emxpath.expandvars(??)\nos2emxpath.extsep\nos2emxpath.getatime(??)\nos2emxpath.getctime(??)\nos2emxpath.getmtime(??)\nos2emxpath.getsize(??)\nos2emxpath.isabs(??)\nos2emxpath.isdir(??)\nos2emxpath.isfile(??)\nos2emxpath.islink(??)\nos2emxpath.ismount(??)\nos2emxpath.join(??)\nos2emxpath.lexists(??)\nos2emxpath.normcase(??)\nos2emxpath.normpath(??)\nos2emxpath.os\nos2emxpath.pardir\nos2emxpath.pathsep\nos2emxpath.realpath(??)\nos2emxpath.sep\nos2emxpath.split(??)\nos2emxpath.splitdrive(??)\nos2emxpath.splitext(??)\nos2emxpath.splitunc(??)\nos2emxpath.stat\nos2emxpath.supports_unicode_filenames\nos2emxpath.walk(??)\nossaudiodev.AFMT_AC3\nossaudiodev.AFMT_A_LAW\nossaudiodev.AFMT_IMA_ADPCM\nossaudiodev.AFMT_MPEG\nossaudiodev.AFMT_MU_LAW\nossaudiodev.AFMT_QUERY\nossaudiodev.AFMT_S16_BE\nossaudiodev.AFMT_S16_LE\nossaudiodev.AFMT_S16_NE\nossaudiodev.AFMT_S8\nossaudiodev.AFMT_U16_BE\nossaudiodev.AFMT_U16_LE\nossaudiodev.AFMT_U8\nossaudiodev.OSSAudioError\nossaudiodev.SNDCTL_COPR_HALT\nossaudiodev.SNDCTL_COPR_LOAD\nossaudiodev.SNDCTL_COPR_RCODE\nossaudiodev.SNDCTL_COPR_RCVMSG\nossaudiodev.SNDCTL_COPR_RDATA\nossaudiodev.SNDCTL_COPR_RESET\nossaudiodev.SNDCTL_COPR_RUN\nossaudiodev.SNDCTL_COPR_SENDMSG\nossaudiodev.SNDCTL_COPR_WCODE\nossaudiodev.SNDCTL_COPR_WDATA\nossaudiodev.SNDCTL_DSP_BIND_CHANNEL\nossaudiodev.SNDCTL_DSP_CHANNELS\nossaudiodev.SNDCTL_DSP_GETBLKSIZE\nossaudiodev.SNDCTL_DSP_GETCAPS\nossaudiodev.SNDCTL_DSP_GETCHANNELMASK\nossaudiodev.SNDCTL_DSP_GETFMTS\nossaudiodev.SNDCTL_DSP_GETIPTR\nossaudiodev.SNDCTL_DSP_GETISPACE\nossaudiodev.SNDCTL_DSP_GETODELAY\nossaudiodev.SNDCTL_DSP_GETOPTR\nossaudiodev.SNDCTL_DSP_GETOSPACE\nossaudiodev.SNDCTL_DSP_GETSPDIF\nossaudiodev.SNDCTL_DSP_GETTRIGGER\nossaudiodev.SNDCTL_DSP_MAPINBUF\nossaudiodev.SNDCTL_DSP_MAPOUTBUF\nossaudiodev.SNDCTL_DSP_NONBLOCK\nossaudiodev.SNDCTL_DSP_POST\nossaudiodev.SNDCTL_DSP_PROFILE\nossaudiodev.SNDCTL_DSP_RESET\nossaudiodev.SNDCTL_DSP_SAMPLESIZE\nossaudiodev.SNDCTL_DSP_SETDUPLEX\nossaudiodev.SNDCTL_DSP_SETFMT\nossaudiodev.SNDCTL_DSP_SETFRAGMENT\nossaudiodev.SNDCTL_DSP_SETSPDIF\nossaudiodev.SNDCTL_DSP_SETSYNCRO\nossaudiodev.SNDCTL_DSP_SETTRIGGER\nossaudiodev.SNDCTL_DSP_SPEED\nossaudiodev.SNDCTL_DSP_STEREO\nossaudiodev.SNDCTL_DSP_SUBDIVIDE\nossaudiodev.SNDCTL_DSP_SYNC\nossaudiodev.SNDCTL_FM_4OP_ENABLE\nossaudiodev.SNDCTL_FM_LOAD_INSTR\nossaudiodev.SNDCTL_MIDI_INFO\nossaudiodev.SNDCTL_MIDI_MPUCMD\nossaudiodev.SNDCTL_MIDI_MPUMODE\nossaudiodev.SNDCTL_MIDI_PRETIME\nossaudiodev.SNDCTL_SEQ_CTRLRATE\nossaudiodev.SNDCTL_SEQ_GETINCOUNT\nossaudiodev.SNDCTL_SEQ_GETOUTCOUNT\nossaudiodev.SNDCTL_SEQ_GETTIME\nossaudiodev.SNDCTL_SEQ_NRMIDIS\nossaudiodev.SNDCTL_SEQ_NRSYNTHS\nossaudiodev.SNDCTL_SEQ_OUTOFBAND\nossaudiodev.SNDCTL_SEQ_PANIC\nossaudiodev.SNDCTL_SEQ_PERCMODE\nossaudiodev.SNDCTL_SEQ_RESET\nossaudiodev.SNDCTL_SEQ_RESETSAMPLES\nossaudiodev.SNDCTL_SEQ_SYNC\nossaudiodev.SNDCTL_SEQ_TESTMIDI\nossaudiodev.SNDCTL_SEQ_THRESHOLD\nossaudiodev.SNDCTL_SYNTH_CONTROL\nossaudiodev.SNDCTL_SYNTH_ID\nossaudiodev.SNDCTL_SYNTH_INFO\nossaudiodev.SNDCTL_SYNTH_MEMAVL\nossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE\nossaudiodev.SNDCTL_TMR_CONTINUE\nossaudiodev.SNDCTL_TMR_METRONOME\nossaudiodev.SNDCTL_TMR_SELECT\nossaudiodev.SNDCTL_TMR_SOURCE\nossaudiodev.SNDCTL_TMR_START\nossaudiodev.SNDCTL_TMR_STOP\nossaudiodev.SNDCTL_TMR_TEMPO\nossaudiodev.SNDCTL_TMR_TIMEBASE\nossaudiodev.SOUND_MIXER_ALTPCM\nossaudiodev.SOUND_MIXER_BASS\nossaudiodev.SOUND_MIXER_CD\nossaudiodev.SOUND_MIXER_DIGITAL1\nossaudiodev.SOUND_MIXER_DIGITAL2\nossaudiodev.SOUND_MIXER_DIGITAL3\nossaudiodev.SOUND_MIXER_IGAIN\nossaudiodev.SOUND_MIXER_IMIX\nossaudiodev.SOUND_MIXER_LINE\nossaudiodev.SOUND_MIXER_LINE1\nossaudiodev.SOUND_MIXER_LINE2\nossaudiodev.SOUND_MIXER_LINE3\nossaudiodev.SOUND_MIXER_MIC\nossaudiodev.SOUND_MIXER_MONITOR\nossaudiodev.SOUND_MIXER_NRDEVICES\nossaudiodev.SOUND_MIXER_OGAIN\nossaudiodev.SOUND_MIXER_PCM\nossaudiodev.SOUND_MIXER_PHONEIN\nossaudiodev.SOUND_MIXER_PHONEOUT\nossaudiodev.SOUND_MIXER_RADIO\nossaudiodev.SOUND_MIXER_RECLEV\nossaudiodev.SOUND_MIXER_SPEAKER\nossaudiodev.SOUND_MIXER_SYNTH\nossaudiodev.SOUND_MIXER_TREBLE\nossaudiodev.SOUND_MIXER_VIDEO\nossaudiodev.SOUND_MIXER_VOLUME\nossaudiodev.control_labels\nossaudiodev.control_names\nossaudiodev.error\nossaudiodev.open\nossaudiodev.openmixer\nparser.ASTType\nparser.ParserError\nparser.STType\nparser.ast2list\nparser.ast2tuple\nparser.compileast\nparser.compilest\nparser.expr\nparser.isexpr\nparser.issuite\nparser.sequence2ast\nparser.sequence2st\nparser.st2list\nparser.st2tuple\nparser.suite\nparser.tuple2ast\nparser.tuple2st\npdb.Pdb(??)\npdb.Repr(??)\npdb.TESTCMD\npdb.bdb\npdb.cmd\npdb.find_function(??)\npdb.help(??)\npdb.line_prefix\npdb.linecache\npdb.main(??)\npdb.os\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint\npdb.re\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.sys\npdb.test(??)\npdb.traceback\npickle.APPEND\npickle.APPENDS\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BooleanType\npickle.BufferType\npickle.BuiltinFunctionType\npickle.BuiltinMethodType\npickle.ClassType\npickle.CodeType\npickle.ComplexType\npickle.DICT\npickle.DUP\npickle.DictProxyType\npickle.DictType\npickle.DictionaryType\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.EllipsisType\npickle.FALSE\npickle.FLOAT\npickle.FileType\npickle.FloatType\npickle.FrameType\npickle.FunctionType\npickle.GET\npickle.GLOBAL\npickle.GeneratorType\npickle.GetSetDescriptorType\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.InstanceType\npickle.IntType\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.LambdaType\npickle.ListType\npickle.LongType\npickle.MARK\npickle.MemberDescriptorType\npickle.MethodType\npickle.ModuleType\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.NoneType\npickle.NotImplementedType\npickle.OBJ\npickle.ObjectType\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError\npickle.Pickler(??)\npickle.PicklingError\npickle.PyStringMap\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.SliceType\npickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing\npickle.StringType\npickle.StringTypes\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.TracebackType\npickle.TupleType\npickle.TypeType\npickle.UNICODE\npickle.UnboundMethodType\npickle.UnicodeType\npickle.Unpickler(??)\npickle.UnpicklingError\npickle.XRangeType\npickle.classmap\npickle.compatible_formats\npickle.decode_long(??)\npickle.dispatch_table\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.load(??)\npickle.loads(??)\npickle.marshal\npickle.mloads\npickle.re\npickle.struct\npickle.sys\npickle.whichmodule(??)\npickletools.ArgumentDescriptor\npickletools.OpcodeInfo\npickletools.StackObject\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject\npickletools.code2op\npickletools.decimalnl_long\npickletools.decimalnl_short\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8\npickletools.floatnl\npickletools.genops(??)\npickletools.int4\npickletools.long1\npickletools.long4\npickletools.markobject\npickletools.opcodes\npickletools.pybool\npickletools.pydict\npickletools.pyfloat\npickletools.pyint\npickletools.pyinteger_or_bool\npickletools.pylist\npickletools.pylong\npickletools.pynone\npickletools.pystring\npickletools.pytuple\npickletools.pyunicode\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice\npickletools.string1\npickletools.string4\npickletools.stringnl\npickletools.stringnl_noescape\npickletools.stringnl_noescape_pair\npickletools.uint1\npickletools.uint2\npickletools.unicodestring4\npickletools.unicodestringnl\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os\npipes.quote(??)\npipes.re\npipes.stepkinds\npipes.string\npipes.tempfile\npipes.test(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.imp\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys\npkgutil.walk_packages(??)\npkgutil.zipimport\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.architecture(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re\nplatform.release(??)\nplatform.string\nplatform.sys\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.version(??)\nplatform.win32_ver(??)\npopen2.MAXFD\npopen2.Popen3(??)\npopen2.Popen4(??)\npopen2.os\npopen2.popen2(??)\npopen2.popen3(??)\npopen2.popen4(??)\npopen2.sys\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto\npoplib.re\npoplib.socket\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_OK\nposix.NGROUPS_MAX\nposix.O_APPEND\nposix.O_CREAT\nposix.O_DIRECT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_LARGEFILE\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_RSYNC\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.R_OK\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode) -> True if granted, False otherwise\nposix.chdir(path)\nposix.chmod(path, mode)\nposix.chown(path, uid, gid)\nposix.chroot(path)\nposix.close(fd)\nposix.confstr(name) -> string\nposix.confstr_names\nposix.ctermid() -> string\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ\nposix.error\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fildes)\nposix.fdatasync(fildes)\nposix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.getcwd() -> path\nposix.getcwdu() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchown(path, uid, gid)\nposix.link(src, dst)\nposix.listdir(path) -> list_of_strings\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path [, mode=0777])\nposix.mkfifo(filename [, mode=0666])\nposix.mknod(filename [, mode=0600, device])\nposix.nice(inc) -> new_priority\nposix.open(filename, flag [, mode=0777]) -> fd\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names\nposix.pipe() -> (read_end, write_end)\nposix.popen(command [, mode='r' [, bufsize]]) -> pipe\nposix.putenv(key, value)\nposix.read(fd, buffersize) -> string\nposix.readlink(path) -> path\nposix.remove(path)\nposix.rename(old, new)\nposix.rmdir(path)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setregid(rgid, egid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result\nposix.statvfs(path) -> statvfs result\nposix.statvfs_result\nposix.strerror(code) -> string\nposix.symlink(src, dst)\nposix.sysconf(name) -> integer\nposix.sysconf_names\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.tempnam([dir[, prefix]]) -> string\nposix.times() -> (utime, stime, cutime, cstime, elapsed_time)\nposix.tmpfile() -> file object\nposix.tmpnam() -> string\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> (sysname, nodename, release, version, machine)\nposix.unlink(path)\nposix.unsetenv(key)\nposix.utime(path, (atime, mtime))\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\nposixfile.SEEK_CUR\nposixfile.SEEK_END\nposixfile.SEEK_SET\nposixfile.fileopen(??)\nposixfile.open(??)\nposixpath.abspath(??)\nposixpath.altsep\nposixpath.basename(??)\nposixpath.commonprefix(??)\nposixpath.curdir\nposixpath.defpath\nposixpath.devnull\nposixpath.dirname(??)\nposixpath.exists(??)\nposixpath.expanduser(??)\nposixpath.expandvars(??)\nposixpath.extsep\nposixpath.getatime(??)\nposixpath.getctime(??)\nposixpath.getmtime(??)\nposixpath.getsize(??)\nposixpath.isabs(??)\nposixpath.isdir(??)\nposixpath.isfile(??)\nposixpath.islink(??)\nposixpath.ismount(??)\nposixpath.join(??)\nposixpath.lexists(??)\nposixpath.normcase(??)\nposixpath.normpath(??)\nposixpath.os\nposixpath.pardir\nposixpath.pathsep\nposixpath.realpath(??)\nposixpath.samefile(??)\nposixpath.sameopenfile(??)\nposixpath.samestat(??)\nposixpath.sep\nposixpath.split(??)\nposixpath.splitdrive(??)\nposixpath.splitext(??)\nposixpath.stat\nposixpath.supports_unicode_filenames\nposixpath.walk(??)\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.Stats(??)\nprofile.help(??)\nprofile.main(??)\nprofile.marshal\nprofile.os\nprofile.resgetrusage(??)\nprofile.resource\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys\nprofile.time\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal\npstats.os\npstats.re\npstats.sys\npstats.time\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd\npwd.struct_pwent\npy_compile.MAGIC\npy_compile.PyCompileError\npy_compile.compile(??)\npy_compile.imp\npy_compile.main(??)\npy_compile.marshal\npy_compile.os\npy_compile.set_creator_type(??)\npy_compile.sys\npy_compile.traceback\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.NEWLINE\npyclbr.OP\npyclbr.imp\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys\npyclbr.tokenize\npydoc.Doc(??)\npydoc.ErrorDuringImport\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.expandtabs(s [,tabsize]) -> string\npydoc.find(s, sub [,start [,end]]) -> in\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.gui(??)\npydoc.help\npydoc.html\npydoc.imp\npydoc.importfile(??)\npydoc.inspect\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.join(list [,sep]) -> string\npydoc.locate(??)\npydoc.lower(s) -> string\npydoc.os\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.re\npydoc.replace(??)\npydoc.resolve(??)\npydoc.rfind(s, sub [,start [,end]]) -> int\npydoc.rstrip(s [,chars]) -> string\npydoc.safeimport(??)\npydoc.serve(??)\npydoc.source_synopsis(??)\npydoc.split(s [,sep [,maxsplit]]) -> list of strings\npydoc.splitdoc(??)\npydoc.strip(s [,chars]) -> string\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys\npydoc.tempfilepager(??)\npydoc.text\npydoc.ttypager(??)\npydoc.types\npydoc.visiblename(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npyexpat.EXPAT_VERSION\npyexpat.ErrorString(errno) -> string\npyexpat.ExpatError\npyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser\npyexpat.XMLParserType\npyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS\npyexpat.XML_PARAM_ENTITY_PARSING_NEVER\npyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\npyexpat.error\npyexpat.errors\npyexpat.expat_CAPI\npyexpat.features\npyexpat.model\npyexpat.native_encoding\npyexpat.version_info\nquit\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random\nrandom.SG_MAGICCONST\nrandom.SystemRandom\nrandom.TWOPI\nrandom.WichmannHill\nrandom.betavariate\nrandom.choice\nrandom.expovariate\nrandom.gammavariate\nrandom.gauss\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate\nrandom.jumpahead(int) -> None.  Create new state from existing state and integer.\nrandom.lognormvariate\nrandom.normalvariate\nrandom.paretovariate\nrandom.randint\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange\nrandom.sample\nrandom.seed\nrandom.setstate\nrandom.shuffle\nrandom.uniform\nrandom.vonmisesvariate\nrandom.weibullvariate\nrange([start,] stop[, step]) -> list of integers\nraw_input([prompt]) -> string\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copy_reg\nre.error\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile\nre.sre_parse\nre.sub(??)\nre.subn(??)\nre.sys\nre.template(??)\nreadline.add_history(string) -> None\nreadline.clear_history() -> None\nreadline.get_begidx() -> int\nreadline.get_completer() -> function\nreadline.get_completer_delims() -> string\nreadline.get_current_history_length() -> integer\nreadline.get_endidx() -> int\nreadline.get_history_item() -> string\nreadline.get_history_length() -> int\nreadline.get_line_buffer() -> string\nreadline.insert_text(string) -> None\nreadline.parse_and_bind(string) -> None\nreadline.read_history_file([filename]) -> None\nreadline.read_init_file([filename]) -> None\nreadline.redisplay() -> None\nreadline.remove_history_item(pos) -> None\nreadline.replace_history_item(pos, line) -> None\nreadline.set_completer([function]) -> None\nreadline.set_completer_delims(string) -> None\nreadline.set_history_length(length) -> None\nreadline.set_pre_input_hook([function]) -> None\nreadline.set_startup_hook([function]) -> None\nreadline.write_history_file([filename]) -> None\nreduce(function, sequence[, initial]) -> value\nreload(module) -> module\nrepr(object) -> string\nrepr.Repr(??)\nrepr.aRepr\nrepr.islice(iterable, [start,] stop [, step]) --> islice object\nrepr.repr\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_OFILE\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error\nresource.getpagesize\nresource.getrlimit\nresource.getrusage\nresource.setrlimit\nresource.struct_rusage\nreversed(sequence) -> reverse iterator over values of the sequence\nrexec.FileBase(??)\nrexec.FileDelegate(??)\nrexec.FileWrapper(??)\nrexec.RExec(??)\nrexec.RHooks(??)\nrexec.RModuleImporter(??)\nrexec.RModuleLoader(??)\nrexec.TEMPLATE\nrexec.ihooks\nrexec.imp\nrexec.os\nrexec.sys\nrexec.test(??)\nrfc822.AddressList(??)\nrfc822.AddrlistClass(??)\nrfc822.Message(??)\nrfc822.dump_address_pair(??)\nrfc822.formatdate(??)\nrfc822.mktime_tz(??)\nrfc822.parseaddr(??)\nrfc822.parsedate(??)\nrfc822.parsedate_tz(??)\nrfc822.quote(??)\nrfc822.time\nrfc822.unquote(??)\nrlcompleter.Completer(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline\nrobotparser.Entry(??)\nrobotparser.RobotFileParser(??)\nrobotparser.RuleLine(??)\nrobotparser.URLopener(??)\nrobotparser.debug\nrobotparser.urllib\nrobotparser.urlparse\nround(number[, ndigits]) -> floating point number\nrunpy.get_loader(??)\nrunpy.imp\nrunpy.run_module(??)\nrunpy.sys\nsched.heapq\nsched.scheduler(??)\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLMSG\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.error\nselect.poll\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nset(iterable) --> set object\nsetattr(object, name, value)\nsets.BaseSet\nsets.ImmutableSet\nsets.Set\nsets.generators\nsets.ifilter(function or None, sequence) --> ifilter object\nsets.ifilterfalse(function or None, sequence) --> ifilterfalse object\nsgmllib.SGMLParseError\nsgmllib.SGMLParser(??)\nsgmllib.TestSGMLParser(??)\nsgmllib.attrfind\nsgmllib.charref\nsgmllib.endbracket\nsgmllib.entityref\nsgmllib.incomplete\nsgmllib.interesting\nsgmllib.markupbase\nsgmllib.piclose\nsgmllib.re\nsgmllib.shorttag\nsgmllib.shorttagopen\nsgmllib.starttagopen\nsgmllib.tagfind\nsgmllib.test(??)\nsha.blocksize\nsha.digest_size\nsha.digestsize\nsha.new\nsha.sha\nshelve.BsdDbShelf(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=0) -- Create a pickler.\nshelve.Shelf(??)\nshelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshelve.Unpickler(file) -- Create an unpickler.\nshelve.UserDict\nshelve.open(??)\nshelve.warnings\nshlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshlex.deque(iterable) --> deque object\nshlex.os\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys\nshutil.Error\nshutil.abspath(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.destinsrc(??)\nshutil.move(??)\nshutil.os\nshutil.rmtree(??)\nshutil.stat\nshutil.sys\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCLD\nsignal.SIGCONT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPOLL\nsignal.SIGPROF\nsignal.SIGPWR\nsignal.SIGQUIT\nsignal.SIGRTMAX\nsignal.SIGRTMIN\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.signal(sig, action) -> action\nsite.abs__file__(??)\nsite.addbuilddir(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.aliasmbcs(??)\nsite.execsitecustomize(??)\nsite.main(??)\nsite.makepath(??)\nsite.os\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.setencoding(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DEBUGSTREAM\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat\nsmtpd.asyncore\nsmtpd.errno\nsmtpd.getopt\nsmtpd.os\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket\nsmtpd.sys\nsmtpd.time\nsmtpd.usage(??)\nsmtplib.CRLF\nsmtplib.OLDSTYLE_AUTH\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError\nsmtplib.SMTPConnectError\nsmtplib.SMTPDataError\nsmtplib.SMTPException\nsmtplib.SMTPHeloError\nsmtplib.SMTPRecipientsRefused\nsmtplib.SMTPResponseException\nsmtplib.SMTPSenderRefused\nsmtplib.SMTPServerDisconnected\nsmtplib.SMTP_PORT\nsmtplib.SSLFakeFile(??)\nsmtplib.SSLFakeSocket(??)\nsmtplib.base64\nsmtplib.email\nsmtplib.encode_base64(??)\nsmtplib.hmac\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re\nsmtplib.socket\nsmtplib.stderr\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_ASH\nsocket.AF_ATMPVC\nsocket.AF_ATMSVC\nsocket.AF_AX25\nsocket.AF_BRIDGE\nsocket.AF_DECnet\nsocket.AF_ECONET\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_IRDA\nsocket.AF_KEY\nsocket.AF_NETBEUI\nsocket.AF_NETLINK\nsocket.AF_NETROM\nsocket.AF_PACKET\nsocket.AF_PPPOX\nsocket.AF_ROSE\nsocket.AF_ROUTE\nsocket.AF_SECURITY\nsocket.AF_SNA\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AF_WANPIPE\nsocket.AF_X25\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.CAPI\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NETLINK_DNRTMSG\nsocket.NETLINK_FIREWALL\nsocket.NETLINK_IP6_FW\nsocket.NETLINK_NFLOG\nsocket.NETLINK_ROUTE\nsocket.NETLINK_USERSOCK\nsocket.NETLINK_W1\nsocket.NETLINK_XFRM\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PACKET_BROADCAST\nsocket.PACKET_FASTROUTE\nsocket.PACKET_HOST\nsocket.PACKET_LOOPBACK\nsocket.PACKET_MULTICAST\nsocket.PACKET_OTHERHOST\nsocket.PACKET_OUTGOING\nsocket.PF_PACKET\nsocket.RAND_add(string, entropy)\nsocket.RAND_egd(path) -> bytes\nsocket.RAND_status() -> 0 or 1\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SSLType\nsocket.SSL_ERROR_EOF\nsocket.SSL_ERROR_INVALID_ERROR_CODE\nsocket.SSL_ERROR_SSL\nsocket.SSL_ERROR_SYSCALL\nsocket.SSL_ERROR_WANT_CONNECT\nsocket.SSL_ERROR_WANT_READ\nsocket.SSL_ERROR_WANT_WRITE\nsocket.SSL_ERROR_WANT_X509_LOOKUP\nsocket.SSL_ERROR_ZERO_RETURN\nsocket.SocketType\nsocket.TCP_CORK\nsocket.TCP_DEFER_ACCEPT\nsocket.TCP_INFO\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPIDLE\nsocket.TCP_KEEPINTVL\nsocket.TCP_LINGER2\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.TCP_QUICKACK\nsocket.TCP_SYNCNT\nsocket.TCP_WINDOW_CLAMP\nsocket.error\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6\nsocket.herror\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.inet_aton(string) -> packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os\nsocket.setdefaulttimeout(timeout)\nsocket.socket([family[, type[, proto]]]) -> socket object\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.ssl(??)\nsocket.sslerror\nsocket.sys\nsocket.timeout\nsorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list\nspwd.getspall() -> list_of_entries\nspwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max,\nspwd.struct_spwd\nsqlite3.Binary\nsqlite3.Cache\nsqlite3.Connection\nsqlite3.Cursor\nsqlite3.DataError\nsqlite3.DatabaseError\nsqlite3.Date\nsqlite3.DateFromTicks(??)\nsqlite3.Error\nsqlite3.IntegrityError\nsqlite3.InterfaceError\nsqlite3.InternalError\nsqlite3.NotSupportedError\nsqlite3.OperationalError\nsqlite3.OptimizedUnicode\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol\nsqlite3.ProgrammingError\nsqlite3.Row\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement\nsqlite3.Time\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters\nsqlite3.apilevel\nsqlite3.complete_statement\nsqlite3.connect\nsqlite3.converters\nsqlite3.datetime\nsqlite3.dbapi2\nsqlite3.dbapi2.Binary\nsqlite3.dbapi2.Cache\nsqlite3.dbapi2.Connection\nsqlite3.dbapi2.Cursor\nsqlite3.dbapi2.DataError\nsqlite3.dbapi2.DatabaseError\nsqlite3.dbapi2.Date\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error\nsqlite3.dbapi2.IntegrityError\nsqlite3.dbapi2.InterfaceError\nsqlite3.dbapi2.InternalError\nsqlite3.dbapi2.NotSupportedError\nsqlite3.dbapi2.OperationalError\nsqlite3.dbapi2.OptimizedUnicode\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol\nsqlite3.dbapi2.ProgrammingError\nsqlite3.dbapi2.Row\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement\nsqlite3.dbapi2.Time\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.complete_statement\nsqlite3.dbapi2.connect\nsqlite3.dbapi2.converters\nsqlite3.dbapi2.datetime\nsqlite3.dbapi2.enable_callback_tracebacks\nsqlite3.dbapi2.enable_shared_cache\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter\nsqlite3.dbapi2.register_converter\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info\nsqlite3.dbapi2.x\nsqlite3.enable_callback_tracebacks\nsqlite3.enable_shared_cache\nsqlite3.paramstyle\nsqlite3.register_adapter\nsqlite3.register_converter\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info\nsqlite3.threadsafety\nsqlite3.time\nsqlite3.version\nsqlite3.version_info\nsqlite3.x\nsre.DOTALL\nsre.I\nsre.IGNORECASE\nsre.L\nsre.LOCALE\nsre.M\nsre.MULTILINE\nsre.S\nsre.U\nsre.UNICODE\nsre.VERBOSE\nsre.X\nsre.compile(??)\nsre.error\nsre.escape(??)\nsre.findall(??)\nsre.finditer(??)\nsre.match(??)\nsre.purge(??)\nsre.search(??)\nsre.split(??)\nsre.sub(??)\nsre.subn(??)\nsre.template(??)\nsre.warnings\nsre_compile.ANY\nsre_compile.ANY_ALL\nsre_compile.ASSERT\nsre_compile.ASSERT_NOT\nsre_compile.AT\nsre_compile.ATCODES\nsre_compile.AT_BEGINNING\nsre_compile.AT_BEGINNING_LINE\nsre_compile.AT_BEGINNING_STRING\nsre_compile.AT_BOUNDARY\nsre_compile.AT_END\nsre_compile.AT_END_LINE\nsre_compile.AT_END_STRING\nsre_compile.AT_LOCALE\nsre_compile.AT_LOC_BOUNDARY\nsre_compile.AT_LOC_NON_BOUNDARY\nsre_compile.AT_MULTILINE\nsre_compile.AT_NON_BOUNDARY\nsre_compile.AT_UNICODE\nsre_compile.AT_UNI_BOUNDARY\nsre_compile.AT_UNI_NON_BOUNDARY\nsre_compile.BIGCHARSET\nsre_compile.BRANCH\nsre_compile.CALL\nsre_compile.CATEGORY\nsre_compile.CATEGORY_DIGIT\nsre_compile.CATEGORY_LINEBREAK\nsre_compile.CATEGORY_LOC_NOT_WORD\nsre_compile.CATEGORY_LOC_WORD\nsre_compile.CATEGORY_NOT_DIGIT\nsre_compile.CATEGORY_NOT_LINEBREAK\nsre_compile.CATEGORY_NOT_SPACE\nsre_compile.CATEGORY_NOT_WORD\nsre_compile.CATEGORY_SPACE\nsre_compile.CATEGORY_UNI_DIGIT\nsre_compile.CATEGORY_UNI_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_DIGIT\nsre_compile.CATEGORY_UNI_NOT_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_SPACE\nsre_compile.CATEGORY_UNI_NOT_WORD\nsre_compile.CATEGORY_UNI_SPACE\nsre_compile.CATEGORY_UNI_WORD\nsre_compile.CATEGORY_WORD\nsre_compile.CHARSET\nsre_compile.CHCODES\nsre_compile.CH_LOCALE\nsre_compile.CH_UNICODE\nsre_compile.FAILURE\nsre_compile.GROUPREF\nsre_compile.GROUPREF_EXISTS\nsre_compile.GROUPREF_IGNORE\nsre_compile.IN\nsre_compile.INFO\nsre_compile.IN_IGNORE\nsre_compile.JUMP\nsre_compile.LITERAL\nsre_compile.LITERAL_IGNORE\nsre_compile.MAGIC\nsre_compile.MARK\nsre_compile.MAXCODE\nsre_compile.MAXREPEAT\nsre_compile.MAX_REPEAT\nsre_compile.MAX_UNTIL\nsre_compile.MIN_REPEAT\nsre_compile.MIN_REPEAT_ONE\nsre_compile.MIN_UNTIL\nsre_compile.NEGATE\nsre_compile.NOT_LITERAL\nsre_compile.NOT_LITERAL_IGNORE\nsre_compile.OPCODES\nsre_compile.OP_IGNORE\nsre_compile.RANGE\nsre_compile.REPEAT\nsre_compile.REPEAT_ONE\nsre_compile.SRE_FLAG_DEBUG\nsre_compile.SRE_FLAG_DOTALL\nsre_compile.SRE_FLAG_IGNORECASE\nsre_compile.SRE_FLAG_LOCALE\nsre_compile.SRE_FLAG_MULTILINE\nsre_compile.SRE_FLAG_TEMPLATE\nsre_compile.SRE_FLAG_UNICODE\nsre_compile.SRE_FLAG_VERBOSE\nsre_compile.SRE_INFO_CHARSET\nsre_compile.SRE_INFO_LITERAL\nsre_compile.SRE_INFO_PREFIX\nsre_compile.STRING_TYPES\nsre_compile.SUBPATTERN\nsre_compile.SUCCESS\nsre_compile.compile(??)\nsre_compile.error\nsre_compile.isstring(??)\nsre_compile.makedict(??)\nsre_compile.set(??)\nsre_compile.sys\nsre_constants.ANY\nsre_constants.ANY_ALL\nsre_constants.ASSERT\nsre_constants.ASSERT_NOT\nsre_constants.AT\nsre_constants.ATCODES\nsre_constants.AT_BEGINNING\nsre_constants.AT_BEGINNING_LINE\nsre_constants.AT_BEGINNING_STRING\nsre_constants.AT_BOUNDARY\nsre_constants.AT_END\nsre_constants.AT_END_LINE\nsre_constants.AT_END_STRING\nsre_constants.AT_LOCALE\nsre_constants.AT_LOC_BOUNDARY\nsre_constants.AT_LOC_NON_BOUNDARY\nsre_constants.AT_MULTILINE\nsre_constants.AT_NON_BOUNDARY\nsre_constants.AT_UNICODE\nsre_constants.AT_UNI_BOUNDARY\nsre_constants.AT_UNI_NON_BOUNDARY\nsre_constants.BIGCHARSET\nsre_constants.BRANCH\nsre_constants.CALL\nsre_constants.CATEGORY\nsre_constants.CATEGORY_DIGIT\nsre_constants.CATEGORY_LINEBREAK\nsre_constants.CATEGORY_LOC_NOT_WORD\nsre_constants.CATEGORY_LOC_WORD\nsre_constants.CATEGORY_NOT_DIGIT\nsre_constants.CATEGORY_NOT_LINEBREAK\nsre_constants.CATEGORY_NOT_SPACE\nsre_constants.CATEGORY_NOT_WORD\nsre_constants.CATEGORY_SPACE\nsre_constants.CATEGORY_UNI_DIGIT\nsre_constants.CATEGORY_UNI_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_DIGIT\nsre_constants.CATEGORY_UNI_NOT_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_SPACE\nsre_constants.CATEGORY_UNI_NOT_WORD\nsre_constants.CATEGORY_UNI_SPACE\nsre_constants.CATEGORY_UNI_WORD\nsre_constants.CATEGORY_WORD\nsre_constants.CHARSET\nsre_constants.CHCODES\nsre_constants.CH_LOCALE\nsre_constants.CH_UNICODE\nsre_constants.FAILURE\nsre_constants.GROUPREF\nsre_constants.GROUPREF_EXISTS\nsre_constants.GROUPREF_IGNORE\nsre_constants.IN\nsre_constants.INFO\nsre_constants.IN_IGNORE\nsre_constants.JUMP\nsre_constants.LITERAL\nsre_constants.LITERAL_IGNORE\nsre_constants.MAGIC\nsre_constants.MARK\nsre_constants.MAXREPEAT\nsre_constants.MAX_REPEAT\nsre_constants.MAX_UNTIL\nsre_constants.MIN_REPEAT\nsre_constants.MIN_REPEAT_ONE\nsre_constants.MIN_UNTIL\nsre_constants.NEGATE\nsre_constants.NOT_LITERAL\nsre_constants.NOT_LITERAL_IGNORE\nsre_constants.OPCODES\nsre_constants.OP_IGNORE\nsre_constants.RANGE\nsre_constants.REPEAT\nsre_constants.REPEAT_ONE\nsre_constants.SRE_FLAG_DEBUG\nsre_constants.SRE_FLAG_DOTALL\nsre_constants.SRE_FLAG_IGNORECASE\nsre_constants.SRE_FLAG_LOCALE\nsre_constants.SRE_FLAG_MULTILINE\nsre_constants.SRE_FLAG_TEMPLATE\nsre_constants.SRE_FLAG_UNICODE\nsre_constants.SRE_FLAG_VERBOSE\nsre_constants.SRE_INFO_CHARSET\nsre_constants.SRE_INFO_LITERAL\nsre_constants.SRE_INFO_PREFIX\nsre_constants.SUBPATTERN\nsre_constants.SUCCESS\nsre_constants.error\nsre_constants.makedict(??)\nsre_parse.ANY\nsre_parse.ANY_ALL\nsre_parse.ASSERT\nsre_parse.ASSERT_NOT\nsre_parse.AT\nsre_parse.ATCODES\nsre_parse.AT_BEGINNING\nsre_parse.AT_BEGINNING_LINE\nsre_parse.AT_BEGINNING_STRING\nsre_parse.AT_BOUNDARY\nsre_parse.AT_END\nsre_parse.AT_END_LINE\nsre_parse.AT_END_STRING\nsre_parse.AT_LOCALE\nsre_parse.AT_LOC_BOUNDARY\nsre_parse.AT_LOC_NON_BOUNDARY\nsre_parse.AT_MULTILINE\nsre_parse.AT_NON_BOUNDARY\nsre_parse.AT_UNICODE\nsre_parse.AT_UNI_BOUNDARY\nsre_parse.AT_UNI_NON_BOUNDARY\nsre_parse.BIGCHARSET\nsre_parse.BRANCH\nsre_parse.CALL\nsre_parse.CATEGORIES\nsre_parse.CATEGORY\nsre_parse.CATEGORY_DIGIT\nsre_parse.CATEGORY_LINEBREAK\nsre_parse.CATEGORY_LOC_NOT_WORD\nsre_parse.CATEGORY_LOC_WORD\nsre_parse.CATEGORY_NOT_DIGIT\nsre_parse.CATEGORY_NOT_LINEBREAK\nsre_parse.CATEGORY_NOT_SPACE\nsre_parse.CATEGORY_NOT_WORD\nsre_parse.CATEGORY_SPACE\nsre_parse.CATEGORY_UNI_DIGIT\nsre_parse.CATEGORY_UNI_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_DIGIT\nsre_parse.CATEGORY_UNI_NOT_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_SPACE\nsre_parse.CATEGORY_UNI_NOT_WORD\nsre_parse.CATEGORY_UNI_SPACE\nsre_parse.CATEGORY_UNI_WORD\nsre_parse.CATEGORY_WORD\nsre_parse.CHARSET\nsre_parse.CHCODES\nsre_parse.CH_LOCALE\nsre_parse.CH_UNICODE\nsre_parse.DIGITS\nsre_parse.ESCAPES\nsre_parse.FAILURE\nsre_parse.FLAGS\nsre_parse.GROUPREF\nsre_parse.GROUPREF_EXISTS\nsre_parse.GROUPREF_IGNORE\nsre_parse.HEXDIGITS\nsre_parse.IN\nsre_parse.INFO\nsre_parse.IN_IGNORE\nsre_parse.JUMP\nsre_parse.LITERAL\nsre_parse.LITERAL_IGNORE\nsre_parse.MAGIC\nsre_parse.MARK\nsre_parse.MAXREPEAT\nsre_parse.MAX_REPEAT\nsre_parse.MAX_UNTIL\nsre_parse.MIN_REPEAT\nsre_parse.MIN_REPEAT_ONE\nsre_parse.MIN_UNTIL\nsre_parse.NEGATE\nsre_parse.NOT_LITERAL\nsre_parse.NOT_LITERAL_IGNORE\nsre_parse.OCTDIGITS\nsre_parse.OPCODES\nsre_parse.OP_IGNORE\nsre_parse.Pattern(??)\nsre_parse.RANGE\nsre_parse.REPEAT\nsre_parse.REPEAT_CHARS\nsre_parse.REPEAT_ONE\nsre_parse.SPECIAL_CHARS\nsre_parse.SRE_FLAG_DEBUG\nsre_parse.SRE_FLAG_DOTALL\nsre_parse.SRE_FLAG_IGNORECASE\nsre_parse.SRE_FLAG_LOCALE\nsre_parse.SRE_FLAG_MULTILINE\nsre_parse.SRE_FLAG_TEMPLATE\nsre_parse.SRE_FLAG_UNICODE\nsre_parse.SRE_FLAG_VERBOSE\nsre_parse.SRE_INFO_CHARSET\nsre_parse.SRE_INFO_LITERAL\nsre_parse.SRE_INFO_PREFIX\nsre_parse.SUBPATTERN\nsre_parse.SUCCESS\nsre_parse.SubPattern(??)\nsre_parse.Tokenizer(??)\nsre_parse.WHITESPACE\nsre_parse.error\nsre_parse.expand_template(??)\nsre_parse.isdigit(??)\nsre_parse.isident(??)\nsre_parse.isname(??)\nsre_parse.makedict(??)\nsre_parse.parse(??)\nsre_parse.parse_template(??)\nsre_parse.set(??)\nsre_parse.sys\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstaticmethod(function) -> method\nstatvfs.F_BAVAIL\nstatvfs.F_BFREE\nstatvfs.F_BLOCKS\nstatvfs.F_BSIZE\nstatvfs.F_FAVAIL\nstatvfs.F_FFREE\nstatvfs.F_FILES\nstatvfs.F_FLAG\nstatvfs.F_FRSIZE\nstatvfs.F_NAMEMAX\nstr(object) -> string\nstring.Template\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.atof(s) -> float\nstring.atof_error\nstring.atoi(s [,base]) -> int\nstring.atoi_error\nstring.atol(s [,base]) -> long\nstring.atol_error\nstring.capitalize(s) -> string\nstring.capwords(s, [sep]) -> string\nstring.center(s, width[, fillchar]) -> string\nstring.count(s, sub[, start[,end]]) -> int\nstring.digits\nstring.expandtabs(s [,tabsize]) -> string\nstring.find(s, sub [,start [,end]]) -> in\nstring.hexdigits\nstring.index(s, sub [,start [,end]]) -> int\nstring.index_error\nstring.join(list [,sep]) -> string\nstring.joinfields(??)\nstring.letters\nstring.ljust(s, width[, fillchar]) -> string\nstring.lower(s) -> string\nstring.lowercase\nstring.lstrip(s [,chars]) -> string\nstring.maketrans(frm, to) -> string\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.replace (str, old, new[, maxsplit]) -> string\nstring.rfind(s, sub [,start [,end]]) -> int\nstring.rindex(s, sub [,start [,end]]) -> int\nstring.rjust(s, width[, fillchar]) -> string\nstring.rsplit(s [,sep [,maxsplit]]) -> list of strings\nstring.rstrip(s [,chars]) -> string\nstring.split(s [,sep [,maxsplit]]) -> list of strings\nstring.splitfields(??)\nstring.strip(s [,chars]) -> string\nstring.swapcase(s) -> string\nstring.translate(s,table [,deletions]) -> string\nstring.upper(s) -> string\nstring.uppercase\nstring.whitespace\nstring.zfill(x, width) -> string\nstringold.atof(s) -> float\nstringold.atof_error\nstringold.atoi(s [,base]) -> int\nstringold.atoi_error\nstringold.atol(s [,base]) -> long\nstringold.atol_error\nstringold.capitalize(s) -> string\nstringold.capwords(s, [sep]) -> string\nstringold.center(s, width) -> string\nstringold.count(s, sub[, start[,end]]) -> int\nstringold.digits\nstringold.expandtabs(s [,tabsize]) -> string\nstringold.find(s, sub [,start [,end]]) -> in\nstringold.hexdigits\nstringold.index(s, sub [,start [,end]]) -> int\nstringold.index_error\nstringold.join(list [,sep]) -> string\nstringold.joinfields(??)\nstringold.letters\nstringold.ljust(s, width) -> string\nstringold.lower(s) -> string\nstringold.lowercase\nstringold.lstrip(s) -> string\nstringold.maketrans(frm, to) -> string\nstringold.octdigits\nstringold.replace (str, old, new[, maxsplit]) -> string\nstringold.rfind(s, sub [,start [,end]]) -> int\nstringold.rindex(s, sub [,start [,end]]) -> int\nstringold.rjust(s, width) -> string\nstringold.rstrip(s) -> string\nstringold.split(str [,sep [,maxsplit]]) -> list of strings\nstringold.splitfields(??)\nstringold.strip(s) -> string\nstringold.swapcase(s) -> string\nstringold.translate(s,table [,deletechars]) -> string\nstringold.upper(s) -> string\nstringold.uppercase\nstringold.whitespace\nstringold.zfill(x, width) -> string\nstringprep.b1_set\nstringprep.b3_exceptions\nstringprep.c22_specials\nstringprep.c6_set\nstringprep.c7_set\nstringprep.c8_set\nstringprep.c9_set\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata\nstrop.atof(s) -> float\nstrop.atoi(s [,base]) -> int\nstrop.atol(s [,base]) -> long\nstrop.capitalize(s) -> string\nstrop.count(s, sub[, start[, end]]) -> int\nstrop.expandtabs(string, [tabsize]) -> string\nstrop.find(s, sub [,start [,end]]) -> in\nstrop.join(list [,sep]) -> string\nstrop.joinfields\nstrop.lower(s) -> string\nstrop.lowercase\nstrop.lstrip(s) -> string\nstrop.maketrans(frm, to) -> string\nstrop.replace (str, old, new[, maxsplit]) -> string\nstrop.rfind(s, sub [,start [,end]]) -> int\nstrop.rstrip(s) -> string\nstrop.split(s [,sep [,maxsplit]]) -> list of strings\nstrop.splitfields\nstrop.strip(s) -> string\nstrop.swapcase(s) -> string\nstrop.translate(s,table [,deletechars]) -> string\nstrop.upper(s) -> string\nstrop.uppercase\nstrop.whitespace\nstruct.Struct\nstruct.calcsize(??)\nstruct.error\nstruct.pack(??)\nstruct.pack_into(??)\nstruct.unpack(??)\nstruct.unpack_from(??)\nsubprocess.CalledProcessError\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen\nsubprocess.STDOUT\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.errno\nsubprocess.fcntl\nsubprocess.list2cmdline(??)\nsubprocess.mswindows\nsubprocess.os\nsubprocess.pickle\nsubprocess.select\nsubprocess.sys\nsubprocess.traceback\nsubprocess.types\nsum(sequence, start=0) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error\nsunau.open(??)\nsunau.openfp(??)\nsunaudio.MAGIC\nsunaudio.error\nsunaudio.get_long_be(??)\nsunaudio.gethdr(??)\nsunaudio.printhdr(??)\nsuper(type) -> unbound super object\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.exec_stmt\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.fpdef\nsymbol.fplist\nsymbol.funcdef\nsymbol.gen_for\nsymbol.gen_if\nsymbol.gen_iter\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.list_for\nsymbol.list_if\nsymbol.list_iter\nsymbol.listmaker\nsymbol.main(??)\nsymbol.not_test\nsymbol.old_lambdef\nsymbol.old_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.print_stmt\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name\nsymbol.term\nsymbol.test\nsymbol.testlist\nsymbol.testlist1\nsymbol.testlist_gexp\nsymbol.testlist_safe\nsymbol.trailer\nsymbol.try_stmt\nsymbol.varargslist\nsymbol.while_stmt\nsymbol.with_stmt\nsymbol.with_var\nsymbol.xor_expr\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_DOUBLESTAR\nsymtable.DEF_FREE\nsymtable.DEF_FREE_CLASS\nsymtable.DEF_FREE_GLOBAL\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_INTUPLE\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.DEF_STAR\nsymtable.Function(??)\nsymtable.OPT_BARE_EXEC\nsymtable.OPT_EXEC\nsymtable.OPT_IMPORT_STAR\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.is_free(??)\nsymtable.newSymbolTable\nsymtable.symtable(??)\nsymtable.weakref\nsys.api_version\nsys.argv\nsys.builtin_module_names\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.exc_clear() -> None\nsys.exc_info() -> (type, value, traceback)\nsys.exc_type\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.hexversion\nsys.maxint\nsys.maxunicode\nsys.meta_path\nsys.modules\nsys.path\nsys.path_hooks\nsys.path_importer_cache\nsys.platform\nsys.prefix\nsys.setappdefaultencoding\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.settrace(function)\nsys.stderr\nsys.stdin\nsys.stdout\nsys.subversion\nsys.version\nsys.version_info\nsys.warnoptions\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog\nsyslog.openlog\nsyslog.setlogmask\nsyslog.syslog\ntabnanny.NannyNag\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt\ntabnanny.main(??)\ntabnanny.os\ntabnanny.process_tokens(??)\ntabnanny.sys\ntabnanny.tokenize\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError\ntarfile.DIRTYPE\ntarfile.ExFileObject\ntarfile.ExtractError\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.MAGIC\ntarfile.MAXSIZE_MEMBER\ntarfile.NUL\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES\ntarfile.ReadError\ntarfile.SUPPORTED_TYPES\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError\ntarfile.TAR_GZIPPED\ntarfile.TAR_PLAIN\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError\ntarfile.TarFile\ntarfile.TarFileCompat(??)\ntarfile.TarInfo\ntarfile.TarIter(??)\ntarfile.VERSION\ntarfile.calc_chksums(??)\ntarfile.copy\ntarfile.copyfileobj(??)\ntarfile.errno\ntarfile.filemode(??)\ntarfile.filemode_table\ntarfile.grp\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.normpath(??)\ntarfile.nti(??)\ntarfile.open\ntarfile.os\ntarfile.pwd\ntarfile.shutil\ntarfile.stat\ntarfile.stn(??)\ntarfile.struct\ntarfile.sys\ntarfile.time\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.select\ntelnetlib.socket\ntelnetlib.sys\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp([suffix, [prefix, [dir]]])\ntempfile.mkstemp([suffix, [prefix, [dir, [text]]]])\ntempfile.mktemp([suffix, [prefix, [dir]]])\ntempfile.tempdir\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B460800\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CBAUD\ntermios.CBAUDEX\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CIBAUD\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.IOCSIZE_MASK\ntermios.IOCSIZE_SHIFT\ntermios.ISIG\ntermios.ISTRIP\ntermios.IUCLC\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCC\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.N_MOUSE\ntermios.N_PPP\ntermios.N_SLIP\ntermios.N_STRIP\ntermios.N_TTY\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.OLCUC\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCFLSH\ntermios.TCGETA\ntermios.TCGETS\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSBRK\ntermios.TCSBRKP\ntermios.TCSETA\ntermios.TCSETAF\ntermios.TCSETAW\ntermios.TCSETS\ntermios.TCSETSF\ntermios.TCSETSW\ntermios.TCXONC\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGICOUNT\ntermios.TIOCGLCKTRMIOS\ntermios.TIOCGPGRP\ntermios.TIOCGSERIAL\ntermios.TIOCGSOFTCAR\ntermios.TIOCGWINSZ\ntermios.TIOCINQ\ntermios.TIOCLINUX\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMIWAIT\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSERCONFIG\ntermios.TIOCSERGETLSR\ntermios.TIOCSERGETMULTI\ntermios.TIOCSERGSTRUCT\ntermios.TIOCSERGWILD\ntermios.TIOCSERSETMULTI\ntermios.TIOCSERSWILD\ntermios.TIOCSER_TEMT\ntermios.TIOCSETD\ntermios.TIOCSLCKTRMIOS\ntermios.TIOCSPGRP\ntermios.TIOCSSERIAL\ntermios.TIOCSSOFTCAR\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VSWTC\ntermios.VSWTCH\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.XCASE\ntermios.XTABS\ntermios.error\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.re\ntextwrap.string\ntextwrap.wrap(??)\nthis.c\nthis.d\nthis.i\nthis.s\nthread.LockType\nthread.allocate\nthread.allocate_lock() -> lock object\nthread.error\nthread.exit()\nthread.exit_thread\nthread.get_ident() -> integer\nthread.interrupt_main()\nthread.stack_size([size]) -> size\nthread.start_new\nthread.start_new_thread(function, args[, kwargs])\nthreading.BoundedSemaphore(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.Thread\nthreading.ThreadError\nthreading.Timer(??)\nthreading.activeCount(??)\nthreading.currentThread(??)\nthreading.deque(iterable) --> deque object\nthreading.enumerate(??)\nthreading.local\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.accept2dyear\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)\ntime.mktime(tuple) -> floating point number\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time\ntime.time() -> floating point number\ntime.timezone\ntime.tzname\ntime.tzset(zone)\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer\ntimeit.dummy_src_name\ntimeit.gc\ntimeit.itertools\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.sys\ntimeit.template\ntimeit.time\ntoaiff.error\ntoaiff.os\ntoaiff.pipes\ntoaiff.sndhdr\ntoaiff.t\ntoaiff.table\ntoaiff.tempfile\ntoaiff.toaiff(??)\ntoaiff.uncompress\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.BACKQUOTE\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.main(??)\ntoken.tok_name\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BACKQUOTE\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing\ntokenize.String\ntokenize.TILDE\ntokenize.Token\ntokenize.TokenError\ntokenize.Triple\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.double3prog\ntokenize.endprogs\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.printtoken(??)\ntokenize.pseudoprog\ntokenize.re\ntokenize.single3prog\ntokenize.single_quoted\ntokenize.string\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name\ntokenize.tokenize(??)\ntokenize.tokenize_loop(??)\ntokenize.tokenprog\ntokenize.triple_quoted\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.cPickle\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc\ntrace.linecache\ntrace.main(??)\ntrace.modname(??)\ntrace.os\ntrace.pickle\ntrace.re\ntrace.rx_blank\ntrace.sys\ntrace.threading\ntrace.token\ntrace.tokenize\ntrace.types\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys\ntraceback.tb_lineno(??)\ntraceback.types\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B460800\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CBAUD\ntty.CBAUDEX\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CIBAUD\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.IOCSIZE_MASK\ntty.IOCSIZE_SHIFT\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IUCLC\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCC\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.N_MOUSE\ntty.N_PPP\ntty.N_SLIP\ntty.N_STRIP\ntty.N_TTY\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.OLCUC\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCFLSH\ntty.TCGETA\ntty.TCGETS\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSBRK\ntty.TCSBRKP\ntty.TCSETA\ntty.TCSETAF\ntty.TCSETAW\ntty.TCSETS\ntty.TCSETSF\ntty.TCSETSW\ntty.TCXONC\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGICOUNT\ntty.TIOCGLCKTRMIOS\ntty.TIOCGPGRP\ntty.TIOCGSERIAL\ntty.TIOCGSOFTCAR\ntty.TIOCGWINSZ\ntty.TIOCINQ\ntty.TIOCLINUX\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMIWAIT\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSERCONFIG\ntty.TIOCSERGETLSR\ntty.TIOCSERGETMULTI\ntty.TIOCSERGSTRUCT\ntty.TIOCSERGWILD\ntty.TIOCSERSETMULTI\ntty.TIOCSERSWILD\ntty.TIOCSER_TEMT\ntty.TIOCSETD\ntty.TIOCSLCKTRMIOS\ntty.TIOCSPGRP\ntty.TIOCSSERIAL\ntty.TIOCSSOFTCAR\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VSWTC\ntty.VSWTCH\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.XCASE\ntty.XTABS\ntty.error\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> an empty tuple\ntype(object) -> the object's type\ntypes.BooleanType\ntypes.BufferType\ntypes.BuiltinFunctionType\ntypes.BuiltinMethodType\ntypes.ClassType\ntypes.CodeType\ntypes.ComplexType\ntypes.DictProxyType\ntypes.DictType\ntypes.DictionaryType\ntypes.EllipsisType\ntypes.FileType\ntypes.FloatType\ntypes.FrameType\ntypes.FunctionType\ntypes.GeneratorType\ntypes.GetSetDescriptorType\ntypes.InstanceType\ntypes.IntType\ntypes.LambdaType\ntypes.ListType\ntypes.LongType\ntypes.MemberDescriptorType\ntypes.MethodType\ntypes.ModuleType\ntypes.NoneType\ntypes.NotImplementedType\ntypes.ObjectType\ntypes.SliceType\ntypes.StringType\ntypes.StringTypes\ntypes.TracebackType\ntypes.TupleType\ntypes.TypeType\ntypes.UnboundMethodType\ntypes.UnicodeType\ntypes.XRangeType\nunichr(i) -> Unicode character\nunicode(string [, encoding[, errors]]) -> object\nunicodedata.UCD\nunicodedata.bidirectional(unichr)\nunicodedata.category(unichr)\nunicodedata.combining(unichr)\nunicodedata.decimal(unichr[, default])\nunicodedata.decomposition(unichr)\nunicodedata.digit(unichr[, default])\nunicodedata.east_asian_width(unichr)\nunicodedata.lookup(name)\nunicodedata.mirrored(unichr)\nunicodedata.name(unichr[, default])\nunicodedata.normalize(form, unistr)\nunicodedata.numeric(unichr[, default])\nunicodedata.ucd_3_2_0\nunicodedata.ucnhash_CAPI\nunicodedata.unidata_version\nunittest.FunctionTestCase\nunittest.TestCase\nunittest.TestLoader\nunittest.TestProgram\nunittest.TestResult\nunittest.TestSuite\nunittest.TextTestRunner\nunittest.defaultTestLoader\nunittest.findTestCases(??)\nunittest.getTestCaseNames(??)\nunittest.main\nunittest.makeSuite(??)\nunittest.os\nunittest.sys\nunittest.time\nunittest.traceback\nunittest.types\nurllib.ContentTooShortError\nurllib.FancyURLopener(??)\nurllib.MAXFTPCACHE\nurllib.URLopener(??)\nurllib.addbase(??)\nurllib.addclosehook(??)\nurllib.addinfo(??)\nurllib.addinfourl(??)\nurllib.always_safe\nurllib.basejoin(??)\nurllib.ftpcache\nurllib.ftperrors(??)\nurllib.ftpwrapper(??)\nurllib.getproxies(??)\nurllib.getproxies_environment(??)\nurllib.localhost(??)\nurllib.main(??)\nurllib.noheaders(??)\nurllib.os\nurllib.pathname2url(??)\nurllib.proxy_bypass(??)\nurllib.quote('abc def') -> 'abc%20def'\nurllib.quote_plus(??)\nurllib.reporthook(??)\nurllib.socket\nurllib.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.splitgophertype('/Xselector') --> 'X', 'selector'.\nurllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.splitnport(??)\nurllib.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.splitport('host:port') --> 'host', 'port'.\nurllib.splitquery('/path?query') --> '/path', 'query'.\nurllib.splittag('/path#tag') --> '/path', 'tag'.\nurllib.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.string\nurllib.sys\nurllib.test(??)\nurllib.test1(??)\nurllib.thishost(??)\nurllib.time\nurllib.toBytes(u\"URL\") --> 'URL'.\nurllib.unquote('abc%20def') -> 'abc def'.\nurllib.unquote_plus(??)\nurllib.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.url2pathname(??)\nurllib.urlcleanup(??)\nurllib.urlencode(??)\nurllib.urlopen(url [, data]) -> open file-like object\nurllib.urlretrieve(??)\nurllib2.AbstractBasicAuthHandler(??)\nurllib2.AbstractDigestAuthHandler(??)\nurllib2.AbstractHTTPHandler(??)\nurllib2.BaseHandler(??)\nurllib2.CacheFTPHandler(??)\nurllib2.FTPHandler(??)\nurllib2.FileHandler(??)\nurllib2.GopherError\nurllib2.GopherHandler(??)\nurllib2.HTTPBasicAuthHandler(??)\nurllib2.HTTPCookieProcessor(??)\nurllib2.HTTPDefaultErrorHandler(??)\nurllib2.HTTPDigestAuthHandler(??)\nurllib2.HTTPError\nurllib2.HTTPErrorProcessor(??)\nurllib2.HTTPHandler(??)\nurllib2.HTTPPasswordMgr(??)\nurllib2.HTTPPasswordMgrWithDefaultRealm(??)\nurllib2.HTTPRedirectHandler(??)\nurllib2.HTTPSHandler(??)\nurllib2.OpenerDirector(??)\nurllib2.ProxyBasicAuthHandler(??)\nurllib2.ProxyDigestAuthHandler(??)\nurllib2.ProxyHandler(??)\nurllib2.Request(??)\nurllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nurllib2.URLError\nurllib2.UnknownHandler(??)\nurllib2.addinfourl(??)\nurllib2.base64\nurllib2.bisect\nurllib2.build_opener(??)\nurllib2.ftpwrapper(??)\nurllib2.getproxies(??)\nurllib2.hashlib\nurllib2.httplib\nurllib2.install_opener(??)\nurllib2.localhost(??)\nurllib2.mimetools\nurllib2.noheaders(??)\nurllib2.os\nurllib2.parse_http_list(??)\nurllib2.parse_keqv_list(??)\nurllib2.posixpath\nurllib2.quote('abc def') -> 'abc%20def'\nurllib2.random\nurllib2.randombytes(??)\nurllib2.re\nurllib2.request_host(??)\nurllib2.socket\nurllib2.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib2.splitgophertype('/Xselector') --> 'X', 'selector'.\nurllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib2.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib2.splitport('host:port') --> 'host', 'port'.\nurllib2.splitquery('/path?query') --> '/path', 'query'.\nurllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib2.splitvalue('attr=value') --> 'attr', 'value'.\nurllib2.sys\nurllib2.time\nurllib2.unquote('abc%20def') -> 'abc def'.\nurllib2.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib2.url2pathname(??)\nurllib2.urlopen(??)\nurllib2.urlparse\nurlparse.BaseResult\nurlparse.MAX_CACHE_SIZE\nurlparse.ParseResult\nurlparse.SplitResult\nurlparse.clear_cache(??)\nurlparse.non_hierarchical\nurlparse.scheme_chars\nurlparse.test(??)\nurlparse.test_input\nurlparse.urldefrag(??)\nurlparse.urljoin(??)\nurlparse.urlparse(??)\nurlparse.urlsplit(??)\nurlparse.urlunparse(??)\nurlparse.urlunsplit(??)\nurlparse.uses_fragment\nurlparse.uses_netloc\nurlparse.uses_params\nurlparse.uses_query\nurlparse.uses_relative\nuser.home\nuser.os\nuser.pythonrc\nuu.Error\nuu.binascii\nuu.decode(??)\nuu.encode(??)\nuu.os\nuu.sys\nuu.test(??)\nuuid.NAMESPACE_DNS\nuuid.NAMESPACE_OID\nuuid.NAMESPACE_URL\nuuid.NAMESPACE_X500\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID\nuuid.ctypes\nuuid.getnode(??)\nuuid.lib\nuuid.libname\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nwarnings.defaultaction\nwarnings.filters\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache\nwarnings.onceregistry\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys\nwarnings.types\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.open(??)\nwave.openfp(??)\nwave.struct\nweakref.CallableProxyType\nweakref.KeyedRef\nweakref.ProxyType\nweakref.ProxyTypes\nweakref.ReferenceError\nweakref.ReferenceType\nweakref.UserDict\nweakref.WeakKeyDictionary(??)\nweakref.WeakValueDictionary(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref\nwebbrowser.BackgroundBrowser\nwebbrowser.BaseBrowser\nwebbrowser.Elinks\nwebbrowser.Error\nwebbrowser.Galeon\nwebbrowser.GenericBrowser\nwebbrowser.Grail\nwebbrowser.Konqueror\nwebbrowser.Mozilla\nwebbrowser.Netscape\nwebbrowser.Opera\nwebbrowser.UnixBrowser\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex\nwebbrowser.stat\nwebbrowser.subprocess\nwebbrowser.sys\nwebbrowser.time\nwhichdb.dbm\nwhichdb.os\nwhichdb.struct\nwhichdb.sys\nwhichdb.whichdb(??)\nwsgiref.handlers\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.StringType\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os\nwsgiref.handlers.sys\nwsgiref.handlers.time\nwsgiref.headers\nwsgiref.headers.Headers(??)\nwsgiref.headers.ListType\nwsgiref.headers.TupleType\nwsgiref.headers.re\nwsgiref.headers.tspecials\nwsgiref.simple_server\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib\nwsgiref.util\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.DictType\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.ListType\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.StringType\nwsgiref.validate.TupleType\nwsgiref.validate.WSGIWarning\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.header_re\nwsgiref.validate.re\nwsgiref.validate.sys\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings\nxdrlib.ConversionError\nxdrlib.Error\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct\nxml.dom\nxml.dom.DOMException\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr\nxml.dom.EMPTY_NAMESPACE\nxml.dom.EMPTY_PREFIX\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr\nxml.dom.InuseAttributeErr\nxml.dom.InvalidAccessErr\nxml.dom.InvalidCharacterErr\nxml.dom.InvalidModificationErr\nxml.dom.InvalidStateErr\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr\nxml.dom.NoDataAllowedErr\nxml.dom.NoModificationAllowedErr\nxml.dom.Node(??)\nxml.dom.NodeFilter\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr\nxml.dom.NotSupportedErr\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg\nxml.dom.domreg.EmptyNodeList\nxml.dom.domreg.NodeList\nxml.dom.domreg.StringTypes\nxml.dom.domreg.defproperty(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered\nxml.dom.domreg.well_known_implementations\nxml.dom.expatbuilder\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE\nxml.dom.expatbuilder.EMPTY_PREFIX\nxml.dom.expatbuilder.ElementInfo\nxml.dom.expatbuilder.EmptyNodeList\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch\nxml.dom.expatbuilder.FilterVisibilityController\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.NodeList\nxml.dom.expatbuilder.ParseEscape\nxml.dom.expatbuilder.Rejecter\nxml.dom.expatbuilder.Skipper\nxml.dom.expatbuilder.StringTypes\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.defproperty(??)\nxml.dom.expatbuilder.expat\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation\nxml.dom.expatbuilder.xmlbuilder\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat\nxml.dom.minicompat.EmptyNodeList\nxml.dom.minicompat.NodeList\nxml.dom.minicompat.StringTypes\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml\nxml.dom.minidom\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE\nxml.dom.minidom.EMPTY_PREFIX\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo\nxml.dom.minidom.EmptyNodeList\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap\nxml.dom.minidom.StringTypes\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml\nxml.dom.pulldom\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.types\nxml.dom.pulldom.xml\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy\nxml.dom.xmlbuilder.xml\nxml.etree\nxml.etree.ElementInclude\nxml.etree.ElementInclude.ElementTree\nxml.etree.ElementInclude.FatalIncludeError\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath\nxml.etree.ElementPath.Path(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.re\nxml.etree.ElementPath.xpath_descendant_or_self(??)\nxml.etree.ElementPath.xpath_tokenizer\nxml.etree.ElementTree\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLTreeBuilder(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fixtag(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re\nxml.etree.ElementTree.string\nxml.etree.ElementTree.sys\nxml.etree.ElementTree.tostring(??)\nxml.etree.cElementTree\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element\nxml.etree.cElementTree.ElementPath\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement\nxml.etree.cElementTree.TreeBuilder\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser\nxml.etree.cElementTree.XMLParserError\nxml.etree.cElementTree.XMLTreeBuilder\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.tostring(??)\nxml.parsers\nxml.parsers.expat\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error\nxml.parsers.expat.errors\nxml.parsers.expat.expat_CAPI\nxml.parsers.expat.features\nxml.parsers.expat.model\nxml.parsers.expat.native_encoding\nxml.parsers.expat.version_info\nxml.sax\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException\nxml.sax.SAXNotRecognizedException\nxml.sax.SAXNotSupportedException\nxml.sax.SAXParseException\nxml.sax.SAXReaderNotAvailable\nxml.sax.default_parser_list\nxml.sax.expatreader\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException\nxml.sax.expatreader.SAXNotRecognizedException\nxml.sax.expatreader.SAXNotSupportedException\nxml.sax.expatreader.SAXParseException\nxml.sax.expatreader.SAXReaderNotAvailable\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader\nxml.sax.handler\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features\nxml.sax.handler.all_properties\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler\nxml.sax.saxutils.os\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.types\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib\nxml.sax.saxutils.urlparse\nxml.sax.saxutils.xmlreader\nxml.sax.xmlreader\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException\nxml.sax.xmlreader.SAXNotSupportedException\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler\nxmlcore.dom\nxmlcore.dom.DOMException\nxmlcore.dom.DOMSTRING_SIZE_ERR\nxmlcore.dom.DomstringSizeErr\nxmlcore.dom.EMPTY_NAMESPACE\nxmlcore.dom.EMPTY_PREFIX\nxmlcore.dom.HIERARCHY_REQUEST_ERR\nxmlcore.dom.HierarchyRequestErr\nxmlcore.dom.INDEX_SIZE_ERR\nxmlcore.dom.INUSE_ATTRIBUTE_ERR\nxmlcore.dom.INVALID_ACCESS_ERR\nxmlcore.dom.INVALID_CHARACTER_ERR\nxmlcore.dom.INVALID_MODIFICATION_ERR\nxmlcore.dom.INVALID_STATE_ERR\nxmlcore.dom.IndexSizeErr\nxmlcore.dom.InuseAttributeErr\nxmlcore.dom.InvalidAccessErr\nxmlcore.dom.InvalidCharacterErr\nxmlcore.dom.InvalidModificationErr\nxmlcore.dom.InvalidStateErr\nxmlcore.dom.NAMESPACE_ERR\nxmlcore.dom.NOT_FOUND_ERR\nxmlcore.dom.NOT_SUPPORTED_ERR\nxmlcore.dom.NO_DATA_ALLOWED_ERR\nxmlcore.dom.NO_MODIFICATION_ALLOWED_ERR\nxmlcore.dom.NamespaceErr\nxmlcore.dom.NoDataAllowedErr\nxmlcore.dom.NoModificationAllowedErr\nxmlcore.dom.Node(??)\nxmlcore.dom.NodeFilter\nxmlcore.dom.NodeFilter.NodeFilter(??)\nxmlcore.dom.NotFoundErr\nxmlcore.dom.NotSupportedErr\nxmlcore.dom.SYNTAX_ERR\nxmlcore.dom.SyntaxErr\nxmlcore.dom.UserDataHandler(??)\nxmlcore.dom.VALIDATION_ERR\nxmlcore.dom.ValidationErr\nxmlcore.dom.WRONG_DOCUMENT_ERR\nxmlcore.dom.WrongDocumentErr\nxmlcore.dom.XHTML_NAMESPACE\nxmlcore.dom.XMLNS_NAMESPACE\nxmlcore.dom.XML_NAMESPACE\nxmlcore.dom.domreg\nxmlcore.dom.domreg.EmptyNodeList\nxmlcore.dom.domreg.NodeList\nxmlcore.dom.domreg.StringTypes\nxmlcore.dom.domreg.defproperty(??)\nxmlcore.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxmlcore.dom.domreg.registerDOMImplementation(name, factory)\nxmlcore.dom.domreg.registered\nxmlcore.dom.domreg.well_known_implementations\nxmlcore.dom.expatbuilder\nxmlcore.dom.expatbuilder.CDATA_SECTION_NODE\nxmlcore.dom.expatbuilder.DOCUMENT_NODE\nxmlcore.dom.expatbuilder.EMPTY_NAMESPACE\nxmlcore.dom.expatbuilder.EMPTY_PREFIX\nxmlcore.dom.expatbuilder.ElementInfo\nxmlcore.dom.expatbuilder.EmptyNodeList\nxmlcore.dom.expatbuilder.ExpatBuilder(??)\nxmlcore.dom.expatbuilder.ExpatBuilderNS(??)\nxmlcore.dom.expatbuilder.FILTER_ACCEPT\nxmlcore.dom.expatbuilder.FILTER_INTERRUPT\nxmlcore.dom.expatbuilder.FILTER_REJECT\nxmlcore.dom.expatbuilder.FILTER_SKIP\nxmlcore.dom.expatbuilder.FilterCrutch\nxmlcore.dom.expatbuilder.FilterVisibilityController\nxmlcore.dom.expatbuilder.FragmentBuilder(??)\nxmlcore.dom.expatbuilder.FragmentBuilderNS(??)\nxmlcore.dom.expatbuilder.InternalSubsetExtractor(??)\nxmlcore.dom.expatbuilder.Namespaces(??)\nxmlcore.dom.expatbuilder.Node(??)\nxmlcore.dom.expatbuilder.NodeFilter(??)\nxmlcore.dom.expatbuilder.NodeList\nxmlcore.dom.expatbuilder.ParseEscape\nxmlcore.dom.expatbuilder.Rejecter\nxmlcore.dom.expatbuilder.Skipper\nxmlcore.dom.expatbuilder.StringTypes\nxmlcore.dom.expatbuilder.TEXT_NODE\nxmlcore.dom.expatbuilder.XMLNS_NAMESPACE\nxmlcore.dom.expatbuilder.defproperty(??)\nxmlcore.dom.expatbuilder.expat\nxmlcore.dom.expatbuilder.makeBuilder(??)\nxmlcore.dom.expatbuilder.minidom\nxmlcore.dom.expatbuilder.parse(??)\nxmlcore.dom.expatbuilder.parseFragment(??)\nxmlcore.dom.expatbuilder.parseFragmentString(??)\nxmlcore.dom.expatbuilder.parseString(??)\nxmlcore.dom.expatbuilder.theDOMImplementation\nxmlcore.dom.expatbuilder.xmlbuilder\nxmlcore.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxmlcore.dom.minicompat\nxmlcore.dom.minicompat.EmptyNodeList\nxmlcore.dom.minicompat.NodeList\nxmlcore.dom.minicompat.StringTypes\nxmlcore.dom.minicompat.defproperty(??)\nxmlcore.dom.minicompat.xmlcore\nxmlcore.dom.minidom\nxmlcore.dom.minidom.Attr(??)\nxmlcore.dom.minidom.AttributeList\nxmlcore.dom.minidom.CDATASection(??)\nxmlcore.dom.minidom.CharacterData(??)\nxmlcore.dom.minidom.Childless(??)\nxmlcore.dom.minidom.Comment(??)\nxmlcore.dom.minidom.DOMImplementation(??)\nxmlcore.dom.minidom.DOMImplementationLS(??)\nxmlcore.dom.minidom.Document(??)\nxmlcore.dom.minidom.DocumentFragment(??)\nxmlcore.dom.minidom.DocumentLS(??)\nxmlcore.dom.minidom.DocumentType(??)\nxmlcore.dom.minidom.EMPTY_NAMESPACE\nxmlcore.dom.minidom.EMPTY_PREFIX\nxmlcore.dom.minidom.Element(??)\nxmlcore.dom.minidom.ElementInfo\nxmlcore.dom.minidom.EmptyNodeList\nxmlcore.dom.minidom.Entity(??)\nxmlcore.dom.minidom.Identified(??)\nxmlcore.dom.minidom.NamedNodeMap\nxmlcore.dom.minidom.Node(??)\nxmlcore.dom.minidom.NodeList\nxmlcore.dom.minidom.Notation(??)\nxmlcore.dom.minidom.ProcessingInstruction(??)\nxmlcore.dom.minidom.ReadOnlySequentialNamedNodeMap\nxmlcore.dom.minidom.StringTypes\nxmlcore.dom.minidom.Text(??)\nxmlcore.dom.minidom.TypeInfo\nxmlcore.dom.minidom.XMLNS_NAMESPACE\nxmlcore.dom.minidom.defproperty(??)\nxmlcore.dom.minidom.domreg\nxmlcore.dom.minidom.getDOMImplementation(??)\nxmlcore.dom.minidom.parse(??)\nxmlcore.dom.minidom.parseString(??)\nxmlcore.dom.minidom.xmlcore\nxmlcore.dom.pulldom\nxmlcore.dom.pulldom.CHARACTERS\nxmlcore.dom.pulldom.COMMENT\nxmlcore.dom.pulldom.DOMEventStream(??)\nxmlcore.dom.pulldom.END_DOCUMENT\nxmlcore.dom.pulldom.END_ELEMENT\nxmlcore.dom.pulldom.ErrorHandler(??)\nxmlcore.dom.pulldom.IGNORABLE_WHITESPACE\nxmlcore.dom.pulldom.PROCESSING_INSTRUCTION\nxmlcore.dom.pulldom.PullDOM(??)\nxmlcore.dom.pulldom.SAX2DOM(??)\nxmlcore.dom.pulldom.START_DOCUMENT\nxmlcore.dom.pulldom.START_ELEMENT\nxmlcore.dom.pulldom.default_bufsize\nxmlcore.dom.pulldom.parse(??)\nxmlcore.dom.pulldom.parseString(??)\nxmlcore.dom.pulldom.types\nxmlcore.dom.pulldom.xmlcore\nxmlcore.dom.registerDOMImplementation(name, factory)\nxmlcore.dom.xmlbuilder\nxmlcore.dom.xmlbuilder.DOMBuilder(??)\nxmlcore.dom.xmlbuilder.DOMBuilderFilter(??)\nxmlcore.dom.xmlbuilder.DOMEntityResolver\nxmlcore.dom.xmlbuilder.DOMImplementationLS(??)\nxmlcore.dom.xmlbuilder.DOMInputSource\nxmlcore.dom.xmlbuilder.DocumentLS(??)\nxmlcore.dom.xmlbuilder.Options(??)\nxmlcore.dom.xmlbuilder.copy\nxmlcore.dom.xmlbuilder.xmlcore\nxmlcore.etree\nxmlcore.etree.ElementInclude\nxmlcore.etree.ElementInclude.ElementTree\nxmlcore.etree.ElementInclude.FatalIncludeError\nxmlcore.etree.ElementInclude.XINCLUDE\nxmlcore.etree.ElementInclude.XINCLUDE_FALLBACK\nxmlcore.etree.ElementInclude.XINCLUDE_INCLUDE\nxmlcore.etree.ElementInclude.copy\nxmlcore.etree.ElementInclude.default_loader(??)\nxmlcore.etree.ElementInclude.include(??)\nxmlcore.etree.ElementPath\nxmlcore.etree.ElementPath.Path(??)\nxmlcore.etree.ElementPath.find(??)\nxmlcore.etree.ElementPath.findall(??)\nxmlcore.etree.ElementPath.findtext(??)\nxmlcore.etree.ElementPath.re\nxmlcore.etree.ElementPath.xpath_descendant_or_self(??)\nxmlcore.etree.ElementPath.xpath_tokenizer\nxmlcore.etree.ElementTree\nxmlcore.etree.ElementTree.Comment(??)\nxmlcore.etree.ElementTree.Element(??)\nxmlcore.etree.ElementTree.ElementPath\nxmlcore.etree.ElementTree.ElementTree(??)\nxmlcore.etree.ElementTree.PI(??)\nxmlcore.etree.ElementTree.ProcessingInstruction(??)\nxmlcore.etree.ElementTree.QName(??)\nxmlcore.etree.ElementTree.SubElement(??)\nxmlcore.etree.ElementTree.TreeBuilder(??)\nxmlcore.etree.ElementTree.VERSION\nxmlcore.etree.ElementTree.XML(??)\nxmlcore.etree.ElementTree.XMLID(??)\nxmlcore.etree.ElementTree.XMLParser(??)\nxmlcore.etree.ElementTree.XMLTreeBuilder(??)\nxmlcore.etree.ElementTree.dump(??)\nxmlcore.etree.ElementTree.fixtag(??)\nxmlcore.etree.ElementTree.fromstring(??)\nxmlcore.etree.ElementTree.iselement(??)\nxmlcore.etree.ElementTree.iterparse(??)\nxmlcore.etree.ElementTree.parse(??)\nxmlcore.etree.ElementTree.re\nxmlcore.etree.ElementTree.string\nxmlcore.etree.ElementTree.sys\nxmlcore.etree.ElementTree.tostring(??)\nxmlcore.etree.cElementTree\nxmlcore.etree.cElementTree.Comment(??)\nxmlcore.etree.cElementTree.Element\nxmlcore.etree.cElementTree.ElementPath\nxmlcore.etree.cElementTree.ElementTree(??)\nxmlcore.etree.cElementTree.PI(??)\nxmlcore.etree.cElementTree.ProcessingInstruction(??)\nxmlcore.etree.cElementTree.QName(??)\nxmlcore.etree.cElementTree.SubElement\nxmlcore.etree.cElementTree.TreeBuilder\nxmlcore.etree.cElementTree.VERSION\nxmlcore.etree.cElementTree.XML(??)\nxmlcore.etree.cElementTree.XMLID(??)\nxmlcore.etree.cElementTree.XMLParser\nxmlcore.etree.cElementTree.XMLParserError\nxmlcore.etree.cElementTree.XMLTreeBuilder\nxmlcore.etree.cElementTree.dump(??)\nxmlcore.etree.cElementTree.fromstring(??)\nxmlcore.etree.cElementTree.iselement(??)\nxmlcore.etree.cElementTree.iterparse\nxmlcore.etree.cElementTree.parse(??)\nxmlcore.etree.cElementTree.tostring(??)\nxmlcore.parsers\nxmlcore.parsers.expat\nxmlcore.parsers.expat.EXPAT_VERSION\nxmlcore.parsers.expat.ErrorString(errno) -> string\nxmlcore.parsers.expat.ExpatError\nxmlcore.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxmlcore.parsers.expat.XMLParserType\nxmlcore.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxmlcore.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxmlcore.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxmlcore.parsers.expat.error\nxmlcore.parsers.expat.errors\nxmlcore.parsers.expat.expat_CAPI\nxmlcore.parsers.expat.features\nxmlcore.parsers.expat.model\nxmlcore.parsers.expat.native_encoding\nxmlcore.parsers.expat.version_info\nxmlcore.sax\nxmlcore.sax.ContentHandler(??)\nxmlcore.sax.ErrorHandler(??)\nxmlcore.sax.InputSource(??)\nxmlcore.sax.SAXException\nxmlcore.sax.SAXNotRecognizedException\nxmlcore.sax.SAXNotSupportedException\nxmlcore.sax.SAXParseException\nxmlcore.sax.SAXReaderNotAvailable\nxmlcore.sax.default_parser_list\nxmlcore.sax.expatreader\nxmlcore.sax.expatreader.AttributesImpl(??)\nxmlcore.sax.expatreader.AttributesNSImpl(??)\nxmlcore.sax.expatreader.ExpatLocator(??)\nxmlcore.sax.expatreader.ExpatParser(??)\nxmlcore.sax.expatreader.SAXException\nxmlcore.sax.expatreader.SAXNotRecognizedException\nxmlcore.sax.expatreader.SAXNotSupportedException\nxmlcore.sax.expatreader.SAXParseException\nxmlcore.sax.expatreader.SAXReaderNotAvailable\nxmlcore.sax.expatreader.create_parser(??)\nxmlcore.sax.expatreader.expat\nxmlcore.sax.expatreader.feature_external_ges\nxmlcore.sax.expatreader.feature_external_pes\nxmlcore.sax.expatreader.feature_namespace_prefixes\nxmlcore.sax.expatreader.feature_namespaces\nxmlcore.sax.expatreader.feature_string_interning\nxmlcore.sax.expatreader.feature_validation\nxmlcore.sax.expatreader.handler\nxmlcore.sax.expatreader.property_interning_dict\nxmlcore.sax.expatreader.property_xml_string\nxmlcore.sax.expatreader.saxutils\nxmlcore.sax.expatreader.version\nxmlcore.sax.expatreader.xmlreader\nxmlcore.sax.handler\nxmlcore.sax.handler.ContentHandler(??)\nxmlcore.sax.handler.DTDHandler(??)\nxmlcore.sax.handler.EntityResolver(??)\nxmlcore.sax.handler.ErrorHandler(??)\nxmlcore.sax.handler.all_features\nxmlcore.sax.handler.all_properties\nxmlcore.sax.handler.feature_external_ges\nxmlcore.sax.handler.feature_external_pes\nxmlcore.sax.handler.feature_namespace_prefixes\nxmlcore.sax.handler.feature_namespaces\nxmlcore.sax.handler.feature_string_interning\nxmlcore.sax.handler.feature_validation\nxmlcore.sax.handler.property_declaration_handler\nxmlcore.sax.handler.property_dom_node\nxmlcore.sax.handler.property_encoding\nxmlcore.sax.handler.property_interning_dict\nxmlcore.sax.handler.property_lexical_handler\nxmlcore.sax.handler.property_xml_string\nxmlcore.sax.handler.version\nxmlcore.sax.make_parser(??)\nxmlcore.sax.parse(??)\nxmlcore.sax.parseString(??)\nxmlcore.sax.saxutils\nxmlcore.sax.saxutils.XMLFilterBase(??)\nxmlcore.sax.saxutils.XMLGenerator(??)\nxmlcore.sax.saxutils.escape(??)\nxmlcore.sax.saxutils.handler\nxmlcore.sax.saxutils.os\nxmlcore.sax.saxutils.prepare_input_source(??)\nxmlcore.sax.saxutils.quoteattr(??)\nxmlcore.sax.saxutils.types\nxmlcore.sax.saxutils.unescape(??)\nxmlcore.sax.saxutils.urllib\nxmlcore.sax.saxutils.urlparse\nxmlcore.sax.saxutils.xmlreader\nxmlcore.sax.xmlreader\nxmlcore.sax.xmlreader.AttributesImpl(??)\nxmlcore.sax.xmlreader.AttributesNSImpl(??)\nxmlcore.sax.xmlreader.IncrementalParser(??)\nxmlcore.sax.xmlreader.InputSource(??)\nxmlcore.sax.xmlreader.Locator(??)\nxmlcore.sax.xmlreader.SAXNotRecognizedException\nxmlcore.sax.xmlreader.SAXNotSupportedException\nxmlcore.sax.xmlreader.XMLReader(??)\nxmlcore.sax.xmlreader.handler\nxmllib.Error\nxmllib.TestXMLParser(??)\nxmllib.XMLParser(??)\nxmllib.amp\nxmllib.attrfind\nxmllib.attrtrans\nxmllib.cdataclose\nxmllib.cdataopen\nxmllib.charref\nxmllib.commentclose\nxmllib.commentopen\nxmllib.doctype\nxmllib.doubledash\nxmllib.endbracket\nxmllib.endbracketfind\nxmllib.endtagopen\nxmllib.entityref\nxmllib.illegal\nxmllib.interesting\nxmllib.ncname\nxmllib.newline\nxmllib.procclose\nxmllib.procopen\nxmllib.qname\nxmllib.re\nxmllib.ref\nxmllib.space\nxmllib.starttagend\nxmllib.starttagmatch\nxmllib.starttagopen\nxmllib.string\nxmllib.tagfind\nxmllib.test(??)\nxmllib.version\nxmllib.xmldecl\nxmllib.xmlns\nxmlrpclib.APPLICATION_ERROR\nxmlrpclib.Binary(??)\nxmlrpclib.Boolean\nxmlrpclib.BooleanType\nxmlrpclib.BufferType\nxmlrpclib.BuiltinFunctionType\nxmlrpclib.BuiltinMethodType\nxmlrpclib.ClassType\nxmlrpclib.CodeType\nxmlrpclib.ComplexType\nxmlrpclib.DateTime(??)\nxmlrpclib.DictProxyType\nxmlrpclib.DictType\nxmlrpclib.DictionaryType\nxmlrpclib.EllipsisType\nxmlrpclib.Error\nxmlrpclib.ExpatParser(??)\nxmlrpclib.False\nxmlrpclib.FastMarshaller\nxmlrpclib.FastParser\nxmlrpclib.FastUnmarshaller\nxmlrpclib.Fault\nxmlrpclib.FileType\nxmlrpclib.FloatType\nxmlrpclib.FrameType\nxmlrpclib.FunctionType\nxmlrpclib.GeneratorType\nxmlrpclib.GetSetDescriptorType\nxmlrpclib.INTERNAL_ERROR\nxmlrpclib.INVALID_ENCODING_CHAR\nxmlrpclib.INVALID_METHOD_PARAMS\nxmlrpclib.INVALID_XMLRPC\nxmlrpclib.InstanceType\nxmlrpclib.IntType\nxmlrpclib.LambdaType\nxmlrpclib.ListType\nxmlrpclib.LongType\nxmlrpclib.MAXINT\nxmlrpclib.METHOD_NOT_FOUND\nxmlrpclib.MININT\nxmlrpclib.Marshaller(??)\nxmlrpclib.MemberDescriptorType\nxmlrpclib.MethodType\nxmlrpclib.ModuleType\nxmlrpclib.MultiCall(??)\nxmlrpclib.MultiCallIterator(??)\nxmlrpclib.NOT_WELLFORMED_ERROR\nxmlrpclib.NoneType\nxmlrpclib.NotImplementedType\nxmlrpclib.ObjectType\nxmlrpclib.PARSE_ERROR\nxmlrpclib.ProtocolError\nxmlrpclib.ResponseError\nxmlrpclib.SERVER_ERROR\nxmlrpclib.SYSTEM_ERROR\nxmlrpclib.SafeTransport(??)\nxmlrpclib.Server(??)\nxmlrpclib.ServerProxy(??)\nxmlrpclib.SgmlopParser\nxmlrpclib.SliceType\nxmlrpclib.SlowParser(??)\nxmlrpclib.StringIO\nxmlrpclib.StringType\nxmlrpclib.StringTypes\nxmlrpclib.TRANSPORT_ERROR\nxmlrpclib.TracebackType\nxmlrpclib.Transport(??)\nxmlrpclib.True\nxmlrpclib.TupleType\nxmlrpclib.TypeType\nxmlrpclib.UNSUPPORTED_ENCODING\nxmlrpclib.UnboundMethodType\nxmlrpclib.UnicodeType\nxmlrpclib.Unmarshaller(??)\nxmlrpclib.WRAPPERS\nxmlrpclib.XRangeType\nxmlrpclib.base64\nxmlrpclib.boolean\nxmlrpclib.datetime\nxmlrpclib.dumps(??)\nxmlrpclib.escape(??)\nxmlrpclib.expat\nxmlrpclib.getparser() -> parser, unmarshaller\nxmlrpclib.loads(??)\nxmlrpclib.operator\nxmlrpclib.re\nxmlrpclib.string\nxmlrpclib.time\nxrange([start,] stop[, step]) -> xrange object\nxxsubtype.bench\nxxsubtype.spamdict\nxxsubtype.spamlist\nzip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]\nzipfile.BadZipfile\nzipfile.LargeZipFile\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_STORED\nzipfile.ZipFile(??)\nzipfile.ZipInfo\nzipfile.binascii\nzipfile.cStringIO\nzipfile.error\nzipfile.is_zipfile(??)\nzipfile.main(??)\nzipfile.os\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys\nzipfile.time\nzipfile.zlib\nzipimport.ZipImportError\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string.\nzlib.compress(string[, level]) -- Returned compressed string.\nzlib.compressobj([level]) -- Return a compressor object.\nzlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string.\nzlib.decompressobj([wbits]) -- Return a decompressor object.\nzlib.error\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-2.6.api",
    "content": "ArithmeticError\nAssertionError\nAttributeError\nBaseException\nBaseHTTPServer.BaseHTTPRequestHandler(??)\nBaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE\nBaseHTTPServer.DEFAULT_ERROR_MESSAGE\nBaseHTTPServer.HTTPServer(??)\nBaseHTTPServer.SocketServer\nBaseHTTPServer.catch_warnings\nBaseHTTPServer.filterwarnings(??)\nBaseHTTPServer.mimetools\nBaseHTTPServer.socket\nBaseHTTPServer.sys\nBaseHTTPServer.test(??)\nBaseHTTPServer.time\nBastion.Bastion(??)\nBastion.BastionClass(??)\nBastion.MethodType\nBufferError\nBytesWarning\nCGIHTTPServer.BaseHTTPServer\nCGIHTTPServer.CGIHTTPRequestHandler(??)\nCGIHTTPServer.SimpleHTTPServer\nCGIHTTPServer.executable(??)\nCGIHTTPServer.nobody\nCGIHTTPServer.nobody_uid(??)\nCGIHTTPServer.os\nCGIHTTPServer.select\nCGIHTTPServer.sys\nCGIHTTPServer.test(??)\nCGIHTTPServer.urllib\nConfigParser.ConfigParser(??)\nConfigParser.DEFAULTSECT\nConfigParser.DuplicateSectionError\nConfigParser.Error\nConfigParser.InterpolationDepthError\nConfigParser.InterpolationError\nConfigParser.InterpolationMissingOptionError\nConfigParser.InterpolationSyntaxError\nConfigParser.MAX_INTERPOLATION_DEPTH\nConfigParser.MissingSectionHeaderError\nConfigParser.NoOptionError\nConfigParser.NoSectionError\nConfigParser.ParsingError\nConfigParser.RawConfigParser(??)\nConfigParser.SafeConfigParser(??)\nConfigParser.re\nCookie.BaseCookie\nCookie.Cookie\nCookie.CookieError\nCookie.Morsel\nCookie.SerialCookie\nCookie.SimpleCookie\nCookie.SmartCookie\nCookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\nCookie.loads(string) -- Load a pickle from the given string\nCookie.re\nCookie.string\nCookie.warnings\nDeprecationWarning\nDocXMLRPCServer.CGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocCGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCServer(??)\nDocXMLRPCServer.ServerHTMLDoc(??)\nDocXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nDocXMLRPCServer.SimpleXMLRPCServer(??)\nDocXMLRPCServer.XMLRPCDocGenerator(??)\nDocXMLRPCServer.inspect\nDocXMLRPCServer.pydoc\nDocXMLRPCServer.re\nDocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nDocXMLRPCServer.sys\nEOFError\nEllipsis\nEnvironmentError\nException\nFalse\nFloatingPointError\nFutureWarning\nGeneratorExit\nHTMLParser.HTMLParseError\nHTMLParser.HTMLParser(??)\nHTMLParser.attrfind\nHTMLParser.charref\nHTMLParser.commentclose\nHTMLParser.endendtag\nHTMLParser.endtagfind\nHTMLParser.entityref\nHTMLParser.incomplete\nHTMLParser.interesting_cdata\nHTMLParser.interesting_normal\nHTMLParser.locatestarttagend\nHTMLParser.markupbase\nHTMLParser.piclose\nHTMLParser.re\nHTMLParser.starttagopen\nHTMLParser.tagfind\nIOError\nImportError\nImportWarning\nIndentationError\nIndexError\nKeyError\nKeyboardInterrupt\nLookupError\nMemoryError\nMimeWriter.MimeWriter(??)\nMimeWriter.mimetools\nMimeWriter.warnings\nNameError\nNone\nNotImplemented\nNotImplementedError\nOSError\nOverflowError\nPendingDeprecationWarning\nQueue.Empty\nQueue.Full\nQueue.LifoQueue(??)\nQueue.PriorityQueue(??)\nQueue.Queue(??)\nQueue.deque(iterable[, maxlen]) --> deque object\nQueue.heapq\nReferenceError\nRuntimeError\nRuntimeWarning\nSimpleHTTPServer.BaseHTTPServer\nSimpleHTTPServer.SimpleHTTPRequestHandler(??)\nSimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nSimpleHTTPServer.cgi\nSimpleHTTPServer.mimetypes\nSimpleHTTPServer.os\nSimpleHTTPServer.posixpath\nSimpleHTTPServer.shutil\nSimpleHTTPServer.test(??)\nSimpleHTTPServer.urllib\nSimpleXMLRPCServer.BaseHTTPServer\nSimpleXMLRPCServer.CGIXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.Fault\nSimpleXMLRPCServer.SimpleXMLRPCDispatcher(??)\nSimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.SimpleXMLRPCServer(??)\nSimpleXMLRPCServer.SocketServer\nSimpleXMLRPCServer.fcntl\nSimpleXMLRPCServer.list_public_methods(??)\nSimpleXMLRPCServer.os\nSimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2]\nSimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nSimpleXMLRPCServer.sys\nSimpleXMLRPCServer.traceback\nSimpleXMLRPCServer.xmlrpclib\nSocketServer.BaseRequestHandler(??)\nSocketServer.BaseServer(??)\nSocketServer.DatagramRequestHandler(??)\nSocketServer.ForkingMixIn(??)\nSocketServer.ForkingTCPServer(??)\nSocketServer.ForkingUDPServer(??)\nSocketServer.StreamRequestHandler(??)\nSocketServer.TCPServer(??)\nSocketServer.ThreadingMixIn(??)\nSocketServer.ThreadingTCPServer(??)\nSocketServer.ThreadingUDPServer(??)\nSocketServer.ThreadingUnixDatagramServer(??)\nSocketServer.ThreadingUnixStreamServer(??)\nSocketServer.UDPServer(??)\nSocketServer.UnixDatagramServer(??)\nSocketServer.UnixStreamServer(??)\nSocketServer.os\nSocketServer.select\nSocketServer.socket\nSocketServer.sys\nSocketServer.threading\nStandardError\nStopIteration\nStringIO.EINVAL\nStringIO.StringIO(??)\nStringIO.test(??)\nSyntaxError\nSyntaxWarning\nSystemError\nSystemExit\nTabError\nTrue\nTypeError\nUnboundLocalError\nUnicodeDecodeError\nUnicodeEncodeError\nUnicodeError\nUnicodeTranslateError\nUnicodeWarning\nUserDict.DictMixin(??)\nUserDict.IterableUserDict(??)\nUserDict.UserDict(??)\nUserList.UserList\nUserList.collections\nUserString.MutableString\nUserString.UserString\nUserString.collections\nUserString.sys\nUserWarning\nValueError\nWarning\nZeroDivisionError\nabc.ABCMeta\nabc.abstractmethod(??)\nabc.abstractproperty\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error\naifc.open(??)\naifc.openfp(??)\naifc.struct\nall(iterable) -> bool\nany(iterable) -> bool\nanydbm.error\nanydbm.open(??)\napply(object[, args[, kwargs]]) -> value\narray.ArrayType\narray.array(typecode [, initializer]) -> array\nast.AST\nast.Add\nast.And\nast.Assert\nast.Assign\nast.Attribute\nast.AugAssign\nast.AugLoad\nast.AugStore\nast.BinOp\nast.BitAnd\nast.BitOr\nast.BitXor\nast.BoolOp\nast.Break\nast.Call\nast.ClassDef\nast.Compare\nast.Continue\nast.Del\nast.Delete\nast.Dict\nast.Div\nast.Ellipsis\nast.Eq\nast.ExceptHandler\nast.Exec\nast.Expr\nast.Expression\nast.ExtSlice\nast.FloorDiv\nast.For\nast.FunctionDef\nast.GeneratorExp\nast.Global\nast.Gt\nast.GtE\nast.If\nast.IfExp\nast.Import\nast.ImportFrom\nast.In\nast.Index\nast.Interactive\nast.Invert\nast.Is\nast.IsNot\nast.LShift\nast.Lambda\nast.List\nast.ListComp\nast.Load\nast.Lt\nast.LtE\nast.Mod\nast.Module\nast.Mult\nast.Name\nast.NodeTransformer\nast.NodeVisitor\nast.Not\nast.NotEq\nast.NotIn\nast.Num\nast.Or\nast.Param\nast.Pass\nast.Pow\nast.Print\nast.PyCF_ONLY_AST\nast.RShift\nast.Raise\nast.Repr\nast.Return\nast.Slice\nast.Store\nast.Str\nast.Sub\nast.Subscript\nast.Suite\nast.TryExcept\nast.TryFinally\nast.Tuple\nast.UAdd\nast.USub\nast.UnaryOp\nast.While\nast.With\nast.Yield\nast.alias\nast.arguments\nast.boolop\nast.cmpop\nast.comprehension\nast.copy_location(??)\nast.dump(??)\nast.excepthandler\nast.expr\nast.expr_context\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword\nast.literal_eval(??)\nast.mod\nast.operator\nast.parse(??)\nast.slice\nast.stmt\nast.unaryop\nast.walk(??)\nasynchat.async_chat(??)\nasynchat.asyncore\nasynchat.catch_warnings\nasynchat.deque(iterable[, maxlen]) --> deque object\nasynchat.fifo(??)\nasynchat.filterwarnings(??)\nasynchat.find_prefix_at_end(??)\nasynchat.py3kwarning\nasynchat.simple_producer(??)\nasynchat.socket\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINTR\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode\nasyncore.fcntl\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select\nasyncore.socket\nasyncore.socket_map\nasyncore.sys\nasyncore.time\nasyncore.write(??)\natexit.register(??)\natexit.sys\naudiodev.AudioDev(??)\naudiodev.Play_Audio_sgi(??)\naudiodev.Play_Audio_sun(??)\naudiodev.error\naudiodev.test(??)\naudioop.add\naudioop.adpcm2lin\naudioop.alaw2lin\naudioop.avg\naudioop.avgpp\naudioop.bias\naudioop.cross\naudioop.error\naudioop.findfactor\naudioop.findfit\naudioop.findmax\naudioop.getsample\naudioop.lin2adpcm\naudioop.lin2alaw\naudioop.lin2lin\naudioop.lin2ulaw\naudioop.max\naudioop.maxpp\naudioop.minmax\naudioop.mul\naudioop.ratecv\naudioop.reverse\naudioop.rms\naudioop.tomono\naudioop.tostereo\naudioop.ulaw2lin\nbase64.EMPTYSTRING\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii\nbase64.decode(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodestring(??)\nbase64.k\nbase64.re\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct\nbase64.test(??)\nbase64.test1(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbase64.v\nbasestring\nbdb.Bdb(??)\nbdb.BdbQuit\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.foo(??)\nbdb.os\nbdb.set_trace(??)\nbdb.sys\nbdb.test(??)\nbdb.types\nbin(number) -> string\nbinascii.Error\nbinascii.Incomplete\nbinascii.a2b_base64\nbinascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.\nbinascii.a2b_hqx\nbinascii.a2b_qp\nbinascii.a2b_uu\nbinascii.b2a_base64\nbinascii.b2a_hex(data) -> s; Hexadecimal representation of binary data.\nbinascii.b2a_hqx\nbinascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nbinascii.b2a_uu\nbinascii.crc32\nbinascii.crc_hqx\nbinascii.hexlify\nbinascii.rlecode_hqx\nbinascii.rledecode_hqx\nbinascii.unhexlify\nbinhex.BinHex(??)\nbinhex.Error\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii\nbinhex.binhex(??)\nbinhex.getfileinfo(??)\nbinhex.hexbin(??)\nbinhex.openrsrc(??)\nbinhex.os\nbinhex.struct\nbinhex.sys\nbisect.bisect\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuffer(object [, offset[, size]])\nbytearray(iterable_of_ints) -> bytearray.\nbytes\ncPickle.BadPickleGet\ncPickle.HIGHEST_PROTOCOL\ncPickle.PickleError\ncPickle.Pickler(file, protocol=0) -- Create a pickler.\ncPickle.PicklingError\ncPickle.UnpickleableError\ncPickle.Unpickler(file) -- Create an unpickler.\ncPickle.UnpicklingError\ncPickle.compatible_formats\ncPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file.\ncPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\ncPickle.format_version\ncPickle.load(file) -- Load a pickle from the given file\ncPickle.loads(string) -- Load a pickle from the given string\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.help(??)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncStringIO.InputType\ncStringIO.OutputType\ncStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncStringIO.cStringIO_CAPI\ncalendar.Calendar\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar\ncalendar.IllegalMonthError\ncalendar.IllegalWeekdayError\ncalendar.January\ncalendar.LocaleHTMLCalendar\ncalendar.LocaleTextCalendar\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar\ncalendar.TimeEncoding(??)\ncalendar.WEDNESDAY\ncalendar.c\ncalendar.calendar\ncalendar.datetime\ncalendar.day_abbr\ncalendar.day_name\ncalendar.error\ncalendar.firstweekday\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays\ncalendar.month\ncalendar.month_abbr\ncalendar.month_name\ncalendar.monthcalendar\ncalendar.monthrange(??)\ncalendar.prcal\ncalendar.prmonth\ncalendar.prweek\ncalendar.setfirstweekday(??)\ncalendar.sys\ncalendar.timegm(??)\ncalendar.week\ncalendar.weekday(??)\ncalendar.weekheader\ncallable(object) -> bool\ncgi.FieldStorage(??)\ncgi.FormContent(??)\ncgi.FormContentDict(??)\ncgi.InterpFormContentDict(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncgi.SvFormContentDict(??)\ncgi.UserDict\ncgi.attrgetter(attr, ...) --> attrgetter object\ncgi.catch_warnings\ncgi.dolog(??)\ncgi.escape(??)\ncgi.filterwarnings(??)\ncgi.initlog(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp\ncgi.maxlen\ncgi.mimetools\ncgi.nolog(??)\ncgi.os\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.rfc822\ncgi.sys\ncgi.test(??)\ncgi.urllib\ncgi.urlparse\ncgi.valid_boundary(??)\ncgi.warn\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler\ncgitb.html(??)\ncgitb.lookup(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys\ncgitb.text(??)\nchr(i) -> character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.isinf(z) -> bool\ncmath.isnan(z) -> bool\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.phase(z) -> float\ncmath.pi\ncmath.polar(z) -> r: float, phi: float\ncmath.rect(r, phi) -> z: complex\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string\ncmp(x, y) -> integer\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.softspace(??)\ncode.sys\ncode.traceback\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder\ncodecs.BufferedIncrementalEncoder\ncodecs.Codec(??)\ncodecs.CodecInfo\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder\ncodecs.IncrementalEncoder\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode\ncodecs.ascii_encode\ncodecs.backslashreplace_errors\ncodecs.charbuffer_encode\ncodecs.charmap_build\ncodecs.charmap_decode\ncodecs.charmap_encode\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode\ncodecs.escape_encode\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode\ncodecs.latin_1_encode\ncodecs.lookup(encoding) -> CodecInfo\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode\ncodecs.raw_unicode_escape_encode\ncodecs.readbuffer_encode\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors\ncodecs.strict_errors\ncodecs.sys\ncodecs.unicode_escape_decode\ncodecs.unicode_escape_encode\ncodecs.unicode_internal_decode\ncodecs.unicode_internal_encode\ncodecs.utf_16_be_decode\ncodecs.utf_16_be_encode\ncodecs.utf_16_decode\ncodecs.utf_16_encode\ncodecs.utf_16_ex_decode\ncodecs.utf_16_le_decode\ncodecs.utf_16_le_encode\ncodecs.utf_32_be_decode\ncodecs.utf_32_be_encode\ncodecs.utf_32_decode\ncodecs.utf_32_encode\ncodecs.utf_32_ex_decode\ncodecs.utf_32_le_decode\ncodecs.utf_32_le_encode\ncodecs.utf_7_decode\ncodecs.utf_7_encode\ncodecs.utf_8_decode\ncodecs.utf_8_encode\ncodecs.xmlcharrefreplace_errors\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncodeop.fname\ncoerce(x, y) -> (x1, y1)\ncollections.Callable\ncollections.Container\ncollections.Hashable\ncollections.ItemsView\ncollections.Iterable\ncollections.Iterator\ncollections.KeysView\ncollections.Mapping\ncollections.MappingView\ncollections.MutableMapping\ncollections.MutableSequence\ncollections.MutableSet\ncollections.Sequence\ncollections.Set\ncollections.Sized\ncollections.ValuesView\ncollections.defaultdict(default_factory) --> dict with default factory\ncollections.deque(iterable[, maxlen]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncommands.getoutput(??)\ncommands.getstatus(??)\ncommands.getstatusoutput(??)\ncommands.mk2arg(??)\ncommands.mkarg(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_path(??)\ncompileall.main(??)\ncompileall.os\ncompileall.py_compile\ncompileall.sys\ncompiler.ast\ncompiler.ast.Add(??)\ncompiler.ast.And(??)\ncompiler.ast.AssAttr(??)\ncompiler.ast.AssList(??)\ncompiler.ast.AssName(??)\ncompiler.ast.AssTuple(??)\ncompiler.ast.Assert(??)\ncompiler.ast.Assign(??)\ncompiler.ast.AugAssign(??)\ncompiler.ast.Backquote(??)\ncompiler.ast.Bitand(??)\ncompiler.ast.Bitor(??)\ncompiler.ast.Bitxor(??)\ncompiler.ast.Break(??)\ncompiler.ast.CO_VARARGS\ncompiler.ast.CO_VARKEYWORDS\ncompiler.ast.CallFunc(??)\ncompiler.ast.Class(??)\ncompiler.ast.Compare(??)\ncompiler.ast.Const(??)\ncompiler.ast.Continue(??)\ncompiler.ast.Decorators(??)\ncompiler.ast.Dict(??)\ncompiler.ast.Discard(??)\ncompiler.ast.Div(??)\ncompiler.ast.Ellipsis(??)\ncompiler.ast.EmptyNode(??)\ncompiler.ast.Exec(??)\ncompiler.ast.Expression(??)\ncompiler.ast.FloorDiv(??)\ncompiler.ast.For(??)\ncompiler.ast.From(??)\ncompiler.ast.Function(??)\ncompiler.ast.GenExpr(??)\ncompiler.ast.GenExprFor(??)\ncompiler.ast.GenExprIf(??)\ncompiler.ast.GenExprInner(??)\ncompiler.ast.Getattr(??)\ncompiler.ast.Global(??)\ncompiler.ast.If(??)\ncompiler.ast.IfExp(??)\ncompiler.ast.Import(??)\ncompiler.ast.Invert(??)\ncompiler.ast.Keyword(??)\ncompiler.ast.Lambda(??)\ncompiler.ast.LeftShift(??)\ncompiler.ast.List(??)\ncompiler.ast.ListComp(??)\ncompiler.ast.ListCompFor(??)\ncompiler.ast.ListCompIf(??)\ncompiler.ast.Mod(??)\ncompiler.ast.Module(??)\ncompiler.ast.Mul(??)\ncompiler.ast.Name(??)\ncompiler.ast.Node(??)\ncompiler.ast.Not(??)\ncompiler.ast.Or(??)\ncompiler.ast.Pass(??)\ncompiler.ast.Power(??)\ncompiler.ast.Print(??)\ncompiler.ast.Printnl(??)\ncompiler.ast.Raise(??)\ncompiler.ast.Return(??)\ncompiler.ast.RightShift(??)\ncompiler.ast.Slice(??)\ncompiler.ast.Sliceobj(??)\ncompiler.ast.Stmt(??)\ncompiler.ast.Sub(??)\ncompiler.ast.Subscript(??)\ncompiler.ast.TryExcept(??)\ncompiler.ast.TryFinally(??)\ncompiler.ast.Tuple(??)\ncompiler.ast.UnaryAdd(??)\ncompiler.ast.UnarySub(??)\ncompiler.ast.While(??)\ncompiler.ast.With(??)\ncompiler.ast.Yield(??)\ncompiler.ast.flatten(??)\ncompiler.ast.flatten_nodes(??)\ncompiler.ast.name\ncompiler.ast.nodes\ncompiler.ast.obj(??)\ncompiler.compile(??)\ncompiler.compileFile(??)\ncompiler.consts\ncompiler.consts.CO_FUTURE_ABSIMPORT\ncompiler.consts.CO_FUTURE_DIVISION\ncompiler.consts.CO_FUTURE_PRINT_FUNCTION\ncompiler.consts.CO_FUTURE_WITH_STATEMENT\ncompiler.consts.CO_GENERATOR\ncompiler.consts.CO_GENERATOR_ALLOWED\ncompiler.consts.CO_NESTED\ncompiler.consts.CO_NEWLOCALS\ncompiler.consts.CO_OPTIMIZED\ncompiler.consts.CO_VARARGS\ncompiler.consts.CO_VARKEYWORDS\ncompiler.consts.OP_APPLY\ncompiler.consts.OP_ASSIGN\ncompiler.consts.OP_DELETE\ncompiler.consts.SC_CELL\ncompiler.consts.SC_FREE\ncompiler.consts.SC_GLOBAL\ncompiler.consts.SC_LOCAL\ncompiler.consts.SC_UNKNOWN\ncompiler.future\ncompiler.future.BadFutureParser(??)\ncompiler.future.FutureParser(??)\ncompiler.future.ast\ncompiler.future.find_futures(??)\ncompiler.future.is_future(??)\ncompiler.future.walk(??)\ncompiler.misc\ncompiler.misc.MANGLE_LEN\ncompiler.misc.Set(??)\ncompiler.misc.Stack(??)\ncompiler.misc.flatten(??)\ncompiler.misc.mangle(??)\ncompiler.misc.set_filename(??)\ncompiler.parse(??)\ncompiler.parseFile(??)\ncompiler.pyassem\ncompiler.pyassem.Block(??)\ncompiler.pyassem.CONV\ncompiler.pyassem.CO_NEWLOCALS\ncompiler.pyassem.CO_OPTIMIZED\ncompiler.pyassem.CO_VARARGS\ncompiler.pyassem.CO_VARKEYWORDS\ncompiler.pyassem.DONE\ncompiler.pyassem.FLAT\ncompiler.pyassem.FlowGraph(??)\ncompiler.pyassem.LineAddrTable(??)\ncompiler.pyassem.PyFlowGraph(??)\ncompiler.pyassem.RAW\ncompiler.pyassem.StackDepthTracker(??)\ncompiler.pyassem.TupleArg(??)\ncompiler.pyassem.dfs_postorder(??)\ncompiler.pyassem.dis\ncompiler.pyassem.findDepth\ncompiler.pyassem.getArgCount(??)\ncompiler.pyassem.isJump(??)\ncompiler.pyassem.misc\ncompiler.pyassem.sys\ncompiler.pyassem.twobyte(??)\ncompiler.pyassem.types\ncompiler.pycodegen\ncompiler.pycodegen.AbstractClassCode(??)\ncompiler.pycodegen.AbstractCompileMode(??)\ncompiler.pycodegen.AbstractFunctionCode(??)\ncompiler.pycodegen.AugGetattr(??)\ncompiler.pycodegen.AugName(??)\ncompiler.pycodegen.AugSlice(??)\ncompiler.pycodegen.AugSubscript(??)\ncompiler.pycodegen.CO_FUTURE_ABSIMPORT\ncompiler.pycodegen.CO_FUTURE_DIVISION\ncompiler.pycodegen.CO_FUTURE_PRINT_FUNCTION\ncompiler.pycodegen.CO_FUTURE_WITH_STATEMENT\ncompiler.pycodegen.CO_GENERATOR\ncompiler.pycodegen.CO_NESTED\ncompiler.pycodegen.CO_NEWLOCALS\ncompiler.pycodegen.CO_VARARGS\ncompiler.pycodegen.CO_VARKEYWORDS\ncompiler.pycodegen.ClassCodeGenerator(??)\ncompiler.pycodegen.CodeGenerator(??)\ncompiler.pycodegen.Delegator(??)\ncompiler.pycodegen.END_FINALLY\ncompiler.pycodegen.EXCEPT\ncompiler.pycodegen.Expression(??)\ncompiler.pycodegen.ExpressionCodeGenerator(??)\ncompiler.pycodegen.FunctionCodeGenerator(??)\ncompiler.pycodegen.GenExprCodeGenerator(??)\ncompiler.pycodegen.Interactive(??)\ncompiler.pycodegen.InteractiveCodeGenerator(??)\ncompiler.pycodegen.LOOP\ncompiler.pycodegen.LocalNameFinder(??)\ncompiler.pycodegen.Module(??)\ncompiler.pycodegen.ModuleCodeGenerator(??)\ncompiler.pycodegen.NestedScopeMixin(??)\ncompiler.pycodegen.OpFinder(??)\ncompiler.pycodegen.SC_CELL\ncompiler.pycodegen.SC_FREE\ncompiler.pycodegen.SC_GLOBAL\ncompiler.pycodegen.SC_LOCAL\ncompiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncompiler.pycodegen.TRY_FINALLY\ncompiler.pycodegen.TupleArg(??)\ncompiler.pycodegen.VERSION\ncompiler.pycodegen.ast\ncompiler.pycodegen.callfunc_opcode_info\ncompiler.pycodegen.compile(??)\ncompiler.pycodegen.compileFile(??)\ncompiler.pycodegen.findOp(??)\ncompiler.pycodegen.future\ncompiler.pycodegen.generateArgList(??)\ncompiler.pycodegen.imp\ncompiler.pycodegen.is_constant_false(??)\ncompiler.pycodegen.marshal\ncompiler.pycodegen.misc\ncompiler.pycodegen.os\ncompiler.pycodegen.parse(??)\ncompiler.pycodegen.pyassem\ncompiler.pycodegen.struct\ncompiler.pycodegen.symbols\ncompiler.pycodegen.syntax\ncompiler.pycodegen.sys\ncompiler.pycodegen.walk(??)\ncompiler.pycodegen.wrap_aug(??)\ncompiler.pycodegen.wrapper\ncompiler.symbols\ncompiler.symbols.ClassScope(??)\ncompiler.symbols.FunctionScope(??)\ncompiler.symbols.GenExprScope(??)\ncompiler.symbols.LambdaScope(??)\ncompiler.symbols.MANGLE_LEN\ncompiler.symbols.ModuleScope(??)\ncompiler.symbols.SC_CELL\ncompiler.symbols.SC_FREE\ncompiler.symbols.SC_GLOBAL\ncompiler.symbols.SC_LOCAL\ncompiler.symbols.SC_UNKNOWN\ncompiler.symbols.Scope(??)\ncompiler.symbols.SymbolVisitor(??)\ncompiler.symbols.ast\ncompiler.symbols.list_eq(??)\ncompiler.symbols.mangle(??)\ncompiler.symbols.sys\ncompiler.symbols.types\ncompiler.syntax\ncompiler.syntax.SyntaxErrorChecker(??)\ncompiler.syntax.ast\ncompiler.syntax.check(??)\ncompiler.syntax.walk(??)\ncompiler.transformer\ncompiler.transformer.Add(??)\ncompiler.transformer.And(??)\ncompiler.transformer.AssAttr(??)\ncompiler.transformer.AssList(??)\ncompiler.transformer.AssName(??)\ncompiler.transformer.AssTuple(??)\ncompiler.transformer.Assert(??)\ncompiler.transformer.Assign(??)\ncompiler.transformer.AugAssign(??)\ncompiler.transformer.Backquote(??)\ncompiler.transformer.Bitand(??)\ncompiler.transformer.Bitor(??)\ncompiler.transformer.Bitxor(??)\ncompiler.transformer.Break(??)\ncompiler.transformer.CO_VARARGS\ncompiler.transformer.CO_VARKEYWORDS\ncompiler.transformer.CallFunc(??)\ncompiler.transformer.Class(??)\ncompiler.transformer.Compare(??)\ncompiler.transformer.Const(??)\ncompiler.transformer.Continue(??)\ncompiler.transformer.Decorators(??)\ncompiler.transformer.Dict(??)\ncompiler.transformer.Discard(??)\ncompiler.transformer.Div(??)\ncompiler.transformer.Ellipsis(??)\ncompiler.transformer.EmptyNode(??)\ncompiler.transformer.Exec(??)\ncompiler.transformer.Expression(??)\ncompiler.transformer.FloorDiv(??)\ncompiler.transformer.For(??)\ncompiler.transformer.From(??)\ncompiler.transformer.Function(??)\ncompiler.transformer.GenExpr(??)\ncompiler.transformer.GenExprFor(??)\ncompiler.transformer.GenExprIf(??)\ncompiler.transformer.GenExprInner(??)\ncompiler.transformer.Getattr(??)\ncompiler.transformer.Global(??)\ncompiler.transformer.If(??)\ncompiler.transformer.IfExp(??)\ncompiler.transformer.Import(??)\ncompiler.transformer.Invert(??)\ncompiler.transformer.Keyword(??)\ncompiler.transformer.Lambda(??)\ncompiler.transformer.LeftShift(??)\ncompiler.transformer.List(??)\ncompiler.transformer.ListComp(??)\ncompiler.transformer.ListCompFor(??)\ncompiler.transformer.ListCompIf(??)\ncompiler.transformer.Mod(??)\ncompiler.transformer.Module(??)\ncompiler.transformer.Mul(??)\ncompiler.transformer.Name(??)\ncompiler.transformer.Node(??)\ncompiler.transformer.Not(??)\ncompiler.transformer.OP_APPLY\ncompiler.transformer.OP_ASSIGN\ncompiler.transformer.OP_DELETE\ncompiler.transformer.Or(??)\ncompiler.transformer.Pass(??)\ncompiler.transformer.Power(??)\ncompiler.transformer.Print(??)\ncompiler.transformer.Printnl(??)\ncompiler.transformer.Raise(??)\ncompiler.transformer.Return(??)\ncompiler.transformer.RightShift(??)\ncompiler.transformer.Slice(??)\ncompiler.transformer.Sliceobj(??)\ncompiler.transformer.Stmt(??)\ncompiler.transformer.Sub(??)\ncompiler.transformer.Subscript(??)\ncompiler.transformer.Transformer(??)\ncompiler.transformer.TryExcept(??)\ncompiler.transformer.TryFinally(??)\ncompiler.transformer.Tuple(??)\ncompiler.transformer.UnaryAdd(??)\ncompiler.transformer.UnarySub(??)\ncompiler.transformer.WalkerError\ncompiler.transformer.While(??)\ncompiler.transformer.With(??)\ncompiler.transformer.Yield(??)\ncompiler.transformer.asList(??)\ncompiler.transformer.debug_tree(??)\ncompiler.transformer.extractLineNo(??)\ncompiler.transformer.flatten(??)\ncompiler.transformer.flatten_nodes(??)\ncompiler.transformer.k\ncompiler.transformer.name\ncompiler.transformer.nodes\ncompiler.transformer.obj(??)\ncompiler.transformer.parse(??)\ncompiler.transformer.parseFile(??)\ncompiler.transformer.parser\ncompiler.transformer.symbol\ncompiler.transformer.token\ncompiler.transformer.v\ncompiler.visitor\ncompiler.visitor.ASTVisitor(??)\ncompiler.visitor.ExampleASTVisitor(??)\ncompiler.visitor.ast\ncompiler.visitor.dumpNode(??)\ncompiler.visitor.walk(??)\ncompiler.walk(??)\ncomplex(real[, imag]) -> complex number\ncontextlib.GeneratorContextManager\ncontextlib.closing\ncontextlib.contextmanager(??)\ncontextlib.nested(??)\ncontextlib.sys\ncontextlib.wraps(??)\ncookielib.Absent(??)\ncookielib.Cookie(??)\ncookielib.CookieJar(??)\ncookielib.CookiePolicy(??)\ncookielib.DAYS\ncookielib.DEFAULT_HTTP_PORT\ncookielib.DefaultCookiePolicy(??)\ncookielib.EPOCH_YEAR\ncookielib.ESCAPED_CHAR_RE\ncookielib.FileCookieJar(??)\ncookielib.HEADER_ESCAPE_RE\ncookielib.HEADER_JOIN_ESCAPE_RE\ncookielib.HEADER_QUOTED_VALUE_RE\ncookielib.HEADER_TOKEN_RE\ncookielib.HEADER_VALUE_RE\ncookielib.HTTP_PATH_SAFE\ncookielib.IPV4_RE\ncookielib.ISO_DATE_RE\ncookielib.LOOSE_HTTP_DATE_RE\ncookielib.LWPCookieJar(??)\ncookielib.LoadError\ncookielib.MISSING_FILENAME_TEXT\ncookielib.MONTHS\ncookielib.MONTHS_LOWER\ncookielib.MozillaCookieJar(??)\ncookielib.STRICT_DATE_RE\ncookielib.TIMEZONE_RE\ncookielib.UTC_ZONES\ncookielib.WEEKDAY_RE\ncookielib.copy\ncookielib.cut_port_re\ncookielib.debug\ncookielib.deepvalues(??)\ncookielib.domain_match(??)\ncookielib.eff_request_host(??)\ncookielib.escape_path(??)\ncookielib.http2time(??)\ncookielib.httplib\ncookielib.is_HDN(??)\ncookielib.is_third_party(??)\ncookielib.iso2time(??)\ncookielib.join_header_words(??)\ncookielib.liberal_is_HDN(??)\ncookielib.logger\ncookielib.lwp_cookie_str(??)\ncookielib.month\ncookielib.offset_from_tz_string(??)\ncookielib.parse_ns_headers(??)\ncookielib.re\ncookielib.reach(??)\ncookielib.request_host(??)\ncookielib.request_path(??)\ncookielib.request_port(??)\ncookielib.split_header_words(??)\ncookielib.time\ncookielib.time2isoz(??)\ncookielib.time2netscape(??)\ncookielib.timegm(??)\ncookielib.unmatched(??)\ncookielib.uppercase_escaped_char(??)\ncookielib.urllib\ncookielib.urlparse\ncookielib.user_domain_match(??)\ncookielib.vals_sorted_by_key(??)\ncopy.Error\ncopy.PyStringMap\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table\ncopy.error\ncopy.name\ncopy.t\ncopy_reg.add_extension(??)\ncopy_reg.clear_extension_cache(??)\ncopy_reg.constructor(??)\ncopy_reg.dispatch_table\ncopy_reg.pickle(??)\ncopy_reg.pickle_complex(??)\ncopy_reg.remove_extension(??)\ncopyright\ncredits\ncrypt.crypt(word, salt) -> string\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit\ncsv.get_dialect\ncsv.list_dialects\ncsv.re\ncsv.reader\ncsv.reduce(function, sequence[, initial]) -> value\ncsv.register_dialect\ncsv.unregister_dialect\ncsv.writer\nctypes.ARRAY(??)\nctypes.ArgumentError\nctypes.Array\nctypes.BigEndianStructure\nctypes.CDLL\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader\nctypes.LittleEndianStructure\nctypes.POINTER\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure\nctypes.Union\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool\nctypes.c_buffer(??)\nctypes.c_byte\nctypes.c_char\nctypes.c_char_p\nctypes.c_double\nctypes.c_float\nctypes.c_int\nctypes.c_int16\nctypes.c_int32\nctypes.c_int64\nctypes.c_int8\nctypes.c_long\nctypes.c_longdouble\nctypes.c_longlong\nctypes.c_short\nctypes.c_size_t\nctypes.c_ubyte\nctypes.c_uint\nctypes.c_uint16\nctypes.c_uint32\nctypes.c_uint64\nctypes.c_uint8\nctypes.c_ulong\nctypes.c_ulonglong\nctypes.c_ushort\nctypes.c_void_p\nctypes.c_voidp\nctypes.c_wchar\nctypes.c_wchar_p\nctypes.cast(??)\nctypes.cdll\nctypes.create_string_buffer(aString) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable[, r]) --> combinations object\nctypes.macholib.dyld.count([firstval]) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.ensure_utf8(??)\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object\nctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object\nctypes.macholib.dyld.imap(func, *iterables) --> imap object\nctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object\nctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object\nctypes.macholib.dyld.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object\nctypes.macholib.dyld.os\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables) --> product object\nctypes.macholib.dyld.repeat(element [,times]) -> create an iterator which returns the element\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dylib.DYLIB_RE\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework\nctypes.macholib.framework.STRICT_FRAMEWORK_RE\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove\nctypes.memset\nctypes.pointer\nctypes.py_object\nctypes.pydll\nctypes.pythonapi\nctypes.resize\nctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors)\nctypes.set_errno\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util\nctypes.util.errno\nctypes.util.find_library(??)\nctypes.util.os\nctypes.util.re\nctypes.util.sys\nctypes.util.tempfile\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta\ndatetime.tzinfo\ndecimal.BasicContext\ndecimal.Clamped\ndecimal.Context\ndecimal.ConversionSyntax\ndecimal.Dec_0\ndecimal.Dec_n1\ndecimal.Dec_p1\ndecimal.Decimal\ndecimal.DecimalException\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext\ndecimal.DivisionByZero\ndecimal.DivisionImpossible\ndecimal.DivisionUndefined\ndecimal.ExtendedContext\ndecimal.Inexact\ndecimal.Inf\ndecimal.Infsign\ndecimal.InvalidContext\ndecimal.InvalidOperation\ndecimal.NaN\ndecimal.Overflow\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded\ndecimal.Subnormal\ndecimal.Underflow\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.negInf\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary.\ndifflib.Differ(??)\ndifflib.HtmlDiff\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq\ndifflib.ndiff(??)\ndifflib.reduce(function, sequence[, initial]) -> value\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndircache.annotate(??)\ndircache.cache\ndircache.listdir(??)\ndircache.opendir(??)\ndircache.os\ndircache.reset(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op\ndis.dis(??)\ndis.disassemble(??)\ndis.disassemble_string(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.hascompare\ndis.hasconst\ndis.hasfree\ndis.hasjabs\ndis.hasjrel\ndis.haslocal\ndis.hasname\ndis.opmap\ndis.opname\ndis.sys\ndis.types\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase\ndoctest.DocTestFailure\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.Tester(??)\ndoctest.UnexpectedException\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib\ndoctest.inspect\ndoctest.linecache\ndoctest.master\ndoctest.namedtuple(??)\ndoctest.os\ndoctest.pdb\ndoctest.re\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys\ndoctest.tempfile\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback\ndoctest.unittest\ndoctest.warnings\ndumbdbm.UserDict\ndumbdbm.error\ndumbdbm.open(??)\ndummy_thread.LockType\ndummy_thread.allocate_lock(??)\ndummy_thread.error\ndummy_thread.exit(??)\ndummy_thread.get_ident(??)\ndummy_thread.interrupt_main(??)\ndummy_thread.stack_size(??)\ndummy_thread.start_new_thread(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread\ndummy_threading.Timer(??)\ndummy_threading.activeCount(??)\ndummy_threading.active_count(??)\ndummy_threading.currentThread(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading\nemail.Charset\nemail.Encoders\nemail.Errors\nemail.FeedParser\nemail.Generator\nemail.Header\nemail.Iterators\nemail.LazyImporter\nemail.MIMEAudio\nemail.MIMEBase\nemail.MIMEImage\nemail.MIMEMessage\nemail.MIMEMultipart\nemail.MIMENonMultipart\nemail.MIMEText\nemail.Message\nemail.Parser\nemail.Utils\nemail.base64MIME\nemail.base64mime\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64\nemail.base64mime.b2a_base64\nemail.base64mime.base64_len(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.encode(??)\nemail.base64mime.encodestring(??)\nemail.base64mime.fix_eols(??)\nemail.base64mime.header_encode(??)\nemail.charset\nemail.charset.ALIASES\nemail.charset.BASE64\nemail.charset.CHARSETS\nemail.charset.CODEC_MAP\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.MISC_LEN\nemail.charset.QP\nemail.charset.SHORTEST\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email\nemail.charset.encode_7or8bit(??)\nemail.charset.errors\nemail.email\nemail.encoders\nemail.encoders.base64\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors\nemail.errors.BoundaryError\nemail.errors.CharsetError\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderParseError\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError\nemail.errors.MessageParseError\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MultipartConversionError\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.feedparser\nemail.feedparser.BufferedSubFile\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE\nemail.feedparser.NLCRE_bol\nemail.feedparser.NLCRE_crack\nemail.feedparser.NLCRE_eol\nemail.feedparser.NeedMoreData\nemail.feedparser.errors\nemail.feedparser.headerRE\nemail.feedparser.message\nemail.feedparser.re\nemail.generator\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.generator.UNDERSCORE\nemail.generator.fcre\nemail.generator.random\nemail.generator.re\nemail.generator.sys\nemail.generator.time\nemail.generator.warnings\nemail.header\nemail.header.Charset(??)\nemail.header.Header(??)\nemail.header.HeaderParseError\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.UEMPTYSTRING\nemail.header.USASCII\nemail.header.USPACE\nemail.header.UTF8\nemail.header.binascii\nemail.header.decode_header(??)\nemail.header.ecre\nemail.header.email\nemail.header.fcre\nemail.header.make_header(??)\nemail.header.re\nemail.importer\nemail.iterators\nemail.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.message.binascii\nemail.message.email\nemail.message.errors\nemail.message.re\nemail.message.tspecials\nemail.message.utils\nemail.message.uu\nemail.message.warnings\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime\nemail.mime.Audio\nemail.mime.Base\nemail.mime.Image\nemail.mime.Message\nemail.mime.Multipart\nemail.mime.NonMultipart\nemail.mime.Text\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders\nemail.mime.audio\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.mime.audio.encoders\nemail.mime.audio.sndhdr\nemail.mime.base\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders\nemail.mime.image.imghdr\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors\nemail.mime.text\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.parser.warnings\nemail.quopriMIME\nemail.quoprimime\nemail.quoprimime.CRLF\nemail.quoprimime.MISC_LEN\nemail.quoprimime.NL\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_quopri_check(??)\nemail.quoprimime.body_quopri_len(??)\nemail.quoprimime.bqre\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.encode(??)\nemail.quoprimime.encodestring(??)\nemail.quoprimime.fix_eols(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_quopri_check(??)\nemail.quoprimime.header_quopri_len(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.hqre\nemail.quoprimime.quote(??)\nemail.quoprimime.re\nemail.quoprimime.unquote(??)\nemail.sys\nemail.utils\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre\nemail.utils.fix_eols(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random\nemail.utils.re\nemail.utils.rfc2231_continuation\nemail.utils.socket\nemail.utils.specialsre\nemail.utils.time\nemail.utils.unquote(??)\nemail.utils.urllib\nemail.utils.warnings\nenumerate(iterable) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EADV\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EBADE\nerrno.EBADF\nerrno.EBADFD\nerrno.EBADMSG\nerrno.EBADR\nerrno.EBADRQC\nerrno.EBADSLT\nerrno.EBFONT\nerrno.EBUSY\nerrno.ECHILD\nerrno.ECHRNG\nerrno.ECOMM\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDEADLOCK\nerrno.EDESTADDRREQ\nerrno.EDOM\nerrno.EDOTDOT\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.EISNAM\nerrno.EL2HLT\nerrno.EL2NSYNC\nerrno.EL3HLT\nerrno.EL3RST\nerrno.ELIBACC\nerrno.ELIBBAD\nerrno.ELIBEXEC\nerrno.ELIBMAX\nerrno.ELIBSCN\nerrno.ELNRNG\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENAVAIL\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOANO\nerrno.ENOBUFS\nerrno.ENOCSI\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENONET\nerrno.ENOPKG\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTNAM\nerrno.ENOTSOCK\nerrno.ENOTTY\nerrno.ENOTUNIQ\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.ERANGE\nerrno.EREMCHG\nerrno.EREMOTE\nerrno.EREMOTEIO\nerrno.ERESTART\nerrno.EROFS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESRMNT\nerrno.ESTALE\nerrno.ESTRPIPE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUCLEAN\nerrno.EUNATCH\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.EXFULL\nerrno.errorcode\neval(source[, globals[, locals]]) -> value\nexceptions.ArithmeticError\nexceptions.AssertionError\nexceptions.AttributeError\nexceptions.BaseException\nexceptions.BufferError\nexceptions.BytesWarning\nexceptions.DeprecationWarning\nexceptions.EOFError\nexceptions.EnvironmentError\nexceptions.Exception\nexceptions.FloatingPointError\nexceptions.FutureWarning\nexceptions.GeneratorExit\nexceptions.IOError\nexceptions.ImportError\nexceptions.ImportWarning\nexceptions.IndentationError\nexceptions.IndexError\nexceptions.KeyError\nexceptions.KeyboardInterrupt\nexceptions.LookupError\nexceptions.MemoryError\nexceptions.NameError\nexceptions.NotImplementedError\nexceptions.OSError\nexceptions.OverflowError\nexceptions.PendingDeprecationWarning\nexceptions.ReferenceError\nexceptions.RuntimeError\nexceptions.RuntimeWarning\nexceptions.StandardError\nexceptions.StopIteration\nexceptions.SyntaxError\nexceptions.SyntaxWarning\nexceptions.SystemError\nexceptions.SystemExit\nexceptions.TabError\nexceptions.TypeError\nexceptions.UnboundLocalError\nexceptions.UnicodeDecodeError\nexceptions.UnicodeEncodeError\nexceptions.UnicodeError\nexceptions.UnicodeTranslateError\nexceptions.UnicodeWarning\nexceptions.UserWarning\nexceptions.ValueError\nexceptions.Warning\nexceptions.ZeroDivisionError\nexecfile(filename[, globals[, locals]])\nexit\nfcntl.DN_ACCESS\nfcntl.DN_ATTRIB\nfcntl.DN_CREATE\nfcntl.DN_DELETE\nfcntl.DN_MODIFY\nfcntl.DN_MULTISHOT\nfcntl.DN_RENAME\nfcntl.FASYNC\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_EXLCK\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLEASE\nfcntl.F_GETLK\nfcntl.F_GETLK64\nfcntl.F_GETOWN\nfcntl.F_GETSIG\nfcntl.F_NOTIFY\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLEASE\nfcntl.F_SETLK\nfcntl.F_SETLK64\nfcntl.F_SETLKW\nfcntl.F_SETLKW64\nfcntl.F_SETOWN\nfcntl.F_SETSIG\nfcntl.F_SHLCK\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.I_ATMARK\nfcntl.I_CANPUT\nfcntl.I_CKBAND\nfcntl.I_FDINSERT\nfcntl.I_FIND\nfcntl.I_FLUSH\nfcntl.I_FLUSHBAND\nfcntl.I_GETBAND\nfcntl.I_GETCLTIME\nfcntl.I_GETSIG\nfcntl.I_GRDOPT\nfcntl.I_GWROPT\nfcntl.I_LINK\nfcntl.I_LIST\nfcntl.I_LOOK\nfcntl.I_NREAD\nfcntl.I_PEEK\nfcntl.I_PLINK\nfcntl.I_POP\nfcntl.I_PUNLINK\nfcntl.I_PUSH\nfcntl.I_RECVFD\nfcntl.I_SENDFD\nfcntl.I_SETCLTIME\nfcntl.I_SETSIG\nfcntl.I_SRDOPT\nfcntl.I_STR\nfcntl.I_SWROPT\nfcntl.I_UNLINK\nfcntl.LOCK_EX\nfcntl.LOCK_MAND\nfcntl.LOCK_NB\nfcntl.LOCK_READ\nfcntl.LOCK_RW\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.LOCK_WRITE\nfcntl.fcntl(fd, opt, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, opt[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfile(name[, mode[, buffering]]) -> file object\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.ifilter(function or None, sequence) --> ifilter object\nfilecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object\nfilecmp.imap(func, *iterables) --> imap object\nfilecmp.izip(iter1 [,iter2 [...]]) --> izip object\nfilecmp.os\nfilecmp.stat\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input([files[, inplace[, backup[, mode[, openhook]]]]])\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os\nfileinput.sys\nfilter(function or None, sequence) -> list, tuple, or string\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.re\nfnmatch.translate(??)\nformat(value[, format_spec]) -> string\nformatter.AS_IS\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys\nformatter.test(??)\nfpformat.NotANumber\nfpformat.decoder\nfpformat.extract(??)\nfpformat.fix(??)\nfpformat.re\nfpformat.roundfrac(??)\nfpformat.sci(??)\nfpformat.test(??)\nfpformat.unexpo(??)\nfractions.Fraction\nfractions.Rational\nfractions.division\nfractions.gcd(??)\nfractions.math\nfractions.numbers\nfractions.operator\nfractions.re\nfrozenset(iterable) --> frozenset object\nftplib.CRLF\nftplib.Error\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors\nftplib.error_perm\nftplib.error_proto\nftplib.error_reply\nftplib.error_temp\nftplib.ftpcp(??)\nftplib.os\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket\nftplib.sys\nftplib.test(??)\nfunctools.WRAPPER_ASSIGNMENTS\nfunctools.WRAPPER_UPDATES\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\nfuture_builtins.ascii(object) -> string\nfuture_builtins.filter\nfuture_builtins.hex(number) -> string\nfuture_builtins.map\nfuture_builtins.oct(number) -> string\nfuture_builtins.zip\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_INSTANCES\ngc.DEBUG_LEAK\ngc.DEBUG_OBJECTS\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os\ngenericpath.stat\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.os\ngetpass.sys\ngetpass.termios\ngetpass.unix_getpass(??)\ngetpass.warnings\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale\ngettext.ngettext(??)\ngettext.os\ngettext.re\ngettext.struct\ngettext.sys\ngettext.test(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check\nglob.os\nglob.re\nglob.sys\nglobals() -> dictionary\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.open(??)\ngzip.read32(??)\ngzip.struct\ngzip.sys\ngzip.time\ngzip.write32u(??)\ngzip.zlib\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.md5\nhashlib.new(name, string='') - Return a new hashing object using the named algorithm;\nhashlib.sha1\nhashlib.sha224\nhashlib.sha256\nhashlib.sha384\nhashlib.sha512\nheapq.bisect\nheapq.count([firstval]) --> count object\nheapq.heapify\nheapq.heappop\nheapq.heappush\nheapq.heappushpop\nheapq.heapreplace\nheapq.imap(func, *iterables) --> imap object\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.itemgetter(item, ...) --> itemgetter object\nheapq.izip(iter1 [,iter2 [...]]) --> izip object\nheapq.merge(??)\nheapq.neg(a) -- Same as -a.\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.repeat(element [,times]) -> create an iterator which returns the element\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp\nhex(number) -> string\nhmac.HMAC(??)\nhmac.digest_size\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhmac.x\nhotshot.Profile(??)\nhotshot.ProfilerError\nhotshot.log\nhotshot.log.ENTER\nhotshot.log.EXIT\nhotshot.log.LINE\nhotshot.log.LogReader(??)\nhotshot.log.WHAT_ADD_INFO\nhotshot.log.WHAT_DEFINE_FILE\nhotshot.log.WHAT_DEFINE_FUNC\nhotshot.log.WHAT_ENTER\nhotshot.log.WHAT_EXIT\nhotshot.log.WHAT_LINENO\nhotshot.log.os\nhotshot.log.parser\nhotshot.log.symbol\nhotshot.stats\nhotshot.stats.ENTER\nhotshot.stats.EXIT\nhotshot.stats.FakeCode(??)\nhotshot.stats.FakeFrame(??)\nhotshot.stats.Profile(??)\nhotshot.stats.StatsLoader(??)\nhotshot.stats.hotshot\nhotshot.stats.load(??)\nhotshot.stats.profile\nhotshot.stats.pstats\nhotshot.stones.errno\nhotshot.stones.hotshot\nhotshot.stones.main(??)\nhotshot.stones.sys\nhotshot.stones.test\nhtmlentitydefs.codepoint2name\nhtmlentitydefs.entitydefs\nhtmlentitydefs.name2codepoint\nhtmllib.AS_IS\nhtmllib.HTMLParseError\nhtmllib.HTMLParser(??)\nhtmllib.sgmllib\nhtmllib.test(??)\nhttplib.ACCEPTED\nhttplib.BAD_GATEWAY\nhttplib.BAD_REQUEST\nhttplib.BadStatusLine\nhttplib.CONFLICT\nhttplib.CONTINUE\nhttplib.CREATED\nhttplib.CannotSendHeader\nhttplib.CannotSendRequest\nhttplib.EXPECTATION_FAILED\nhttplib.FAILED_DEPENDENCY\nhttplib.FORBIDDEN\nhttplib.FOUND\nhttplib.FakeSocket(??)\nhttplib.GATEWAY_TIMEOUT\nhttplib.GONE\nhttplib.HTTP(??)\nhttplib.HTTPConnection(??)\nhttplib.HTTPException\nhttplib.HTTPMessage(??)\nhttplib.HTTPResponse(??)\nhttplib.HTTPS(??)\nhttplib.HTTPSConnection(??)\nhttplib.HTTPS_PORT\nhttplib.HTTP_PORT\nhttplib.HTTP_VERSION_NOT_SUPPORTED\nhttplib.IM_USED\nhttplib.INSUFFICIENT_STORAGE\nhttplib.INTERNAL_SERVER_ERROR\nhttplib.ImproperConnectionState\nhttplib.IncompleteRead\nhttplib.InvalidURL\nhttplib.LENGTH_REQUIRED\nhttplib.LOCKED\nhttplib.LineAndFileWrapper(??)\nhttplib.MAXAMOUNT\nhttplib.METHOD_NOT_ALLOWED\nhttplib.MOVED_PERMANENTLY\nhttplib.MULTIPLE_CHOICES\nhttplib.MULTI_STATUS\nhttplib.NON_AUTHORITATIVE_INFORMATION\nhttplib.NOT_ACCEPTABLE\nhttplib.NOT_EXTENDED\nhttplib.NOT_FOUND\nhttplib.NOT_IMPLEMENTED\nhttplib.NOT_MODIFIED\nhttplib.NO_CONTENT\nhttplib.NotConnected\nhttplib.OK\nhttplib.PARTIAL_CONTENT\nhttplib.PAYMENT_REQUIRED\nhttplib.PRECONDITION_FAILED\nhttplib.PROCESSING\nhttplib.PROXY_AUTHENTICATION_REQUIRED\nhttplib.REQUESTED_RANGE_NOT_SATISFIABLE\nhttplib.REQUEST_ENTITY_TOO_LARGE\nhttplib.REQUEST_TIMEOUT\nhttplib.REQUEST_URI_TOO_LONG\nhttplib.RESET_CONTENT\nhttplib.ResponseNotReady\nhttplib.SEE_OTHER\nhttplib.SERVICE_UNAVAILABLE\nhttplib.SWITCHING_PROTOCOLS\nhttplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nhttplib.TEMPORARY_REDIRECT\nhttplib.UNAUTHORIZED\nhttplib.UNPROCESSABLE_ENTITY\nhttplib.UNSUPPORTED_MEDIA_TYPE\nhttplib.UPGRADE_REQUIRED\nhttplib.USE_PROXY\nhttplib.UnimplementedFileMode\nhttplib.UnknownProtocol\nhttplib.UnknownTransferEncoding\nhttplib.error\nhttplib.mimetools\nhttplib.py3kwarning\nhttplib.responses\nhttplib.socket\nhttplib.ssl\nhttplib.test(??)\nhttplib.urlsplit(??)\nhttplib.warnings\nid(object) -> integer\nihooks.BUILTIN_MODULE\nihooks.BasicModuleImporter(??)\nihooks.BasicModuleLoader(??)\nihooks.C_BUILTIN\nihooks.C_EXTENSION\nihooks.FROZEN_MODULE\nihooks.FancyModuleLoader(??)\nihooks.Hooks(??)\nihooks.ModuleImporter(??)\nihooks.ModuleLoader(??)\nihooks.PKG_DIRECTORY\nihooks.PY_COMPILED\nihooks.PY_FROZEN\nihooks.PY_SOURCE\nihooks.VERBOSE\nihooks.current_importer\nihooks.default_importer\nihooks.imp\nihooks.install(??)\nihooks.os\nihooks.sys\nihooks.uninstall(??)\nimaplib.AllowedVersions\nimaplib.CRLF\nimaplib.Commands\nimaplib.Continuation\nimaplib.Debug\nimaplib.Flags\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate\nimaplib.Internaldate2tuple(??)\nimaplib.Literal\nimaplib.MapCRLF\nimaplib.Mon2num\nimaplib.ParseFlags(??)\nimaplib.Response_code\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response\nimaplib.Untagged_status\nimaplib.binascii\nimaplib.os\nimaplib.random\nimaplib.re\nimaplib.socket\nimaplib.ssl\nimaplib.sys\nimaplib.time\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exif(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.find_module(name, [path]) -> (file, filename, (suffix, mode, type))\nimp.get_frozen_object\nimp.get_magic() -> string\nimp.get_suffixes() -> [(suffix, mode, type), ...]\nimp.init_builtin\nimp.init_frozen\nimp.is_builtin\nimp.is_frozen\nimp.load_compiled\nimp.load_dynamic\nimp.load_module(name, file, filename, (suffix, mode, type)) -> module\nimp.load_package\nimp.load_source\nimp.lock_held() -> boolean\nimp.new_module(name) -> module\nimp.release_lock() -> None\nimp.reload(module) -> module\nimputil.BuiltinImporter(??)\nimputil.DynLoadSuffixImporter(??)\nimputil.ImportManager(??)\nimputil.Importer(??)\nimputil.imp\nimputil.marshal\nimputil.py_suffix_importer(??)\nimputil.struct\nimputil.sys\ninput([prompt]) -> value\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, keywords)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.CO_GENERATOR\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.EndOfBlock\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.currentframe\ninspect.dis\ninspect.findsource(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getblock(??)\ninspect.getclasstree(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.joinseq(??)\ninspect.linecache\ninspect.modulesbyfile\ninspect.namedtuple(??)\ninspect.os\ninspect.re\ninspect.stack(??)\ninspect.string\ninspect.strseq(??)\ninspect.sys\ninspect.tokenize\ninspect.trace(??)\ninspect.types\ninspect.walktree(??)\nint(x[, base]) -> integer\nintern(string) -> string\nio.BlockingIOError\nio.BufferedIOBase\nio.BufferedRWPair\nio.BufferedRandom\nio.BufferedReader\nio.BufferedWriter\nio.BytesIO([buffer]) -> object\nio.DEFAULT_BUFFER_SIZE\nio.FileIO\nio.IOBase\nio.IncrementalNewlineDecoder\nio.OpenWrapper\nio.RawIOBase\nio.StringIO\nio.TextIOBase\nio.TextIOWrapper\nio.UnsupportedOperation\nio.abc\nio.codecs\nio.open(??)\nio.os\nio.print_function\nio.threading\nio.unicode_literals\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(collection) -> iterator\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable[, r]) --> combinations object\nitertools.count([firstval]) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.ifilter(function or None, sequence) --> ifilter object\nitertools.ifilterfalse(function or None, sequence) --> ifilterfalse object\nitertools.imap(func, *iterables) --> imap object\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.izip(iter1 [,iter2 [...]]) --> izip object\nitertools.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables) --> product object\nitertools.repeat(element [,times]) -> create an iterator which returns the element\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\njson.JSONDecoder\njson.JSONEncoder\njson.decoder\njson.decoder.ANYTHING\njson.decoder.BACKSLASH\njson.decoder.DEFAULT_ENCODING\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONConstant(??)\njson.decoder.JSONDecoder\njson.decoder.JSONNumber(??)\njson.decoder.JSONObject(??)\njson.decoder.JSONScanner\njson.decoder.JSONString(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK\njson.decoder.Scanner\njson.decoder.WHITESPACE\njson.decoder.c_scanstring\njson.decoder.errmsg(??)\njson.decoder.linecol(??)\njson.decoder.pattern(??)\njson.decoder.py_scanstring(??)\njson.decoder.re\njson.decoder.scanstring(basestring, end, encoding) -> (str, end)\njson.decoder.sys\njson.dump(??)\njson.dumps(??)\njson.encoder\njson.encoder.ESCAPE\njson.encoder.ESCAPE_ASCII\njson.encoder.ESCAPE_DCT\njson.encoder.FLOAT_REPR\njson.encoder.HAS_UTF8\njson.encoder.JSONEncoder\njson.encoder.c_encode_basestring_ascii\njson.encoder.encode_basestring(??)\njson.encoder.encode_basestring_ascii(basestring) -> str\njson.encoder.floatstr(??)\njson.encoder.i\njson.encoder.math\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re\njson.load(??)\njson.loads(??)\njson.scanner\njson.scanner.BRANCH\njson.scanner.DOTALL\njson.scanner.FLAGS\njson.scanner.MULTILINE\njson.scanner.SUBPATTERN\njson.scanner.Scanner\njson.scanner.VERBOSE\njson.scanner.pattern(??)\njson.scanner.re\njson.scanner.sre_compile\njson.scanner.sre_constants\njson.scanner.sre_parse\njson.tool.json\njson.tool.main(??)\njson.tool.sys\nkeyword.iskeyword\nkeyword.kwlist\nkeyword.main(??)\nlen(object) -> integer\nlicense\nlinecache.cache\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os\nlinecache.sys\nlinecache.updatecache(??)\nlinuxaudiodev.AFMT_A_LAW\nlinuxaudiodev.AFMT_MU_LAW\nlinuxaudiodev.AFMT_S16_BE\nlinuxaudiodev.AFMT_S16_LE\nlinuxaudiodev.AFMT_S16_NE\nlinuxaudiodev.AFMT_S8\nlinuxaudiodev.AFMT_U16_BE\nlinuxaudiodev.AFMT_U16_LE\nlinuxaudiodev.AFMT_U8\nlinuxaudiodev.error\nlinuxaudiodev.open\nlist() -> new list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.bind_textdomain_codeset(domain, codeset) -> string\nlocale.bindtextdomain(domain, dir) -> string\nlocale.currency(??)\nlocale.dcgettext(domain, msg, category) -> string\nlocale.dgettext(domain, msg) -> string\nlocale.encodings\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.gettext(msg) -> string\nlocale.locale_alias\nlocale.locale_encoding_alias\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.operator\nlocale.re\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll\nlocale.strxfrm\nlocale.sys\nlocale.textdomain(domain) -> string\nlocale.windows_locale\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StreamHandler(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit\nlogging.basicConfig(??)\nlogging.cStringIO\nlogging.codecs\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.fileConfig(??)\nlogging.config.listen(??)\nlogging.config.logging\nlogging.config.os\nlogging.config.socket\nlogging.config.stopListening(??)\nlogging.config.string\nlogging.config.struct\nlogging.config.sys\nlogging.config.thread\nlogging.config.threading\nlogging.config.traceback\nlogging.config.types\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.cPickle\nlogging.handlers.codecs\nlogging.handlers.logging\nlogging.handlers.os\nlogging.handlers.re\nlogging.handlers.socket\nlogging.handlers.string\nlogging.handlers.struct\nlogging.handlers.time\nlogging.handlers.types\nlogging.info(??)\nlogging.log(??)\nlogging.logProcesses\nlogging.logThreads\nlogging.makeLogRecord(??)\nlogging.os\nlogging.raiseExceptions\nlogging.root\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.string\nlogging.sys\nlogging.thread\nlogging.threading\nlogging.time\nlogging.traceback\nlogging.types\nlogging.warn(??)\nlogging.warning(??)\nlong(x[, base]) -> integer\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.genericpath\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames\nmacpath.walk(??)\nmacpath.warnings\nmacurl2path.os\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib\nmailbox.Babyl(??)\nmailbox.BabylMailbox(??)\nmailbox.BabylMessage(??)\nmailbox.Error\nmailbox.ExternalClashError\nmailbox.FormatError\nmailbox.MH(??)\nmailbox.MHMailbox(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.MmdfMailbox(??)\nmailbox.NoSuchMailboxError\nmailbox.NotEmptyError\nmailbox.PortableUnixMailbox(??)\nmailbox.StringIO\nmailbox.UnixMailbox(??)\nmailbox.calendar\nmailbox.copy\nmailbox.email\nmailbox.errno\nmailbox.fcntl\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os\nmailbox.rfc822\nmailbox.socket\nmailbox.sys\nmailbox.time\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(function, sequence[, sequence, ...]) -> list\nmarkupbase.ParserBase(??)\nmarshal.dump\nmarshal.dumps\nmarshal.load\nmarshal.loads\nmarshal.version\nmath.acos(x)\nmath.acosh(x)\nmath.asin(x)\nmath.asinh(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.atanh(x)\nmath.ceil(x)\nmath.copysign(x,y)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x) -> converts angle x from radians to degrees\nmath.e\nmath.exp(x)\nmath.fabs(x)\nmath.factorial\nmath.floor(x)\nmath.fmod(x,y)\nmath.frexp(x)\nmath.fsum\nmath.hypot(x,y)\nmath.isinf(x) -> bool\nmath.isnan(x) -> bool\nmath.ldexp(x, i) -> x * (2**i)\nmath.log(x[, base]) -> the logarithm of x to the given base.\nmath.log10(x) -> the base 10 logarithm of x.\nmath.log1p(x)\nmath.modf(x)\nmath.pi\nmath.pow(x,y)\nmath.radians(x) -> converts angle x from degrees to radians\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmath.trunc(x:Real) -> Integral\nmax(iterable[, key=func]) -> value\nmd5.blocksize\nmd5.digest_size\nmd5.md5\nmd5.new\nmd5.warnings\nmhlib.Error\nmhlib.FOLDER_PROTECT\nmhlib.Folder(??)\nmhlib.IntSet(??)\nmhlib.MH(??)\nmhlib.MH_PROFILE\nmhlib.MH_SEQUENCES\nmhlib.Message(??)\nmhlib.PATH\nmhlib.SubMessage(??)\nmhlib.bisect\nmhlib.isnumeric(??)\nmhlib.mimetools\nmhlib.multifile\nmhlib.numericprog\nmhlib.os\nmhlib.pickline(??)\nmhlib.re\nmhlib.shutil\nmhlib.sys\nmhlib.test(??)\nmhlib.updateline(??)\nmimetools.Message(??)\nmimetools.catch_warnings\nmimetools.choose_boundary(??)\nmimetools.copybinary(??)\nmimetools.copyliteral(??)\nmimetools.decode(??)\nmimetools.decodetab\nmimetools.encode(??)\nmimetools.encodetab\nmimetools.filterwarnings(??)\nmimetools.os\nmimetools.pipethrough(??)\nmimetools.pipeto(??)\nmimetools.rfc822\nmimetools.sys\nmimetools.tempfile\nmimetools.uudecode_pipe\nmimetools.warnpy3k(??)\nmimetypes.MimeTypes(??)\nmimetypes.add_type\nmimetypes.common_types\nmimetypes.encodings_map\nmimetypes.guess_all_extensions\nmimetypes.guess_extension\nmimetypes.guess_type\nmimetypes.init(??)\nmimetypes.inited\nmimetypes.knownfiles\nmimetypes.os\nmimetypes.posixpath\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map\nmimetypes.types_map\nmimetypes.urllib\nmimify.CHARSET\nmimify.File(??)\nmimify.HeaderFile(??)\nmimify.MAXLEN\nmimify.QUOTE\nmimify.base64_re\nmimify.chrset\nmimify.cte\nmimify.he\nmimify.iso_char\nmimify.mime_char\nmimify.mime_code\nmimify.mime_decode(??)\nmimify.mime_decode_header(??)\nmimify.mime_encode(??)\nmimify.mime_encode_header(??)\nmimify.mime_head\nmimify.mime_header\nmimify.mime_header_char\nmimify.mimify(??)\nmimify.mimify_part(??)\nmimify.mp\nmimify.mv\nmimify.qp\nmimify.re\nmimify.repl\nmimify.sys\nmimify.unmimify(??)\nmimify.unmimify_part(??)\nmimify.warnings\nmin(iterable[, key=func]) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.ALLOCATIONGRANULARITY\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_DENYWRITE\nmmap.MAP_EXECUTABLE\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error\nmmap.mmap\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.READ_MODE\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS\nmodulefinder.dis\nmodulefinder.generators\nmodulefinder.imp\nmodulefinder.marshal\nmodulefinder.os\nmodulefinder.packagePathMap\nmodulefinder.replacePackageMap\nmodulefinder.struct\nmodulefinder.sys\nmodulefinder.test(??)\nmodulefinder.types\nmultifile.Error\nmultifile.MultiFile(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process\nmultiprocessing.ProcessError\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.Semaphore(??)\nmultiprocessing.TimeoutError\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection\nmultiprocessing.connection.AuthenticationError\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.ConnectionWrapper\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Finalize\nmultiprocessing.connection.Listener\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.close(fd)\nmultiprocessing.connection.current_process(??)\nmultiprocessing.connection.debug(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.duplicate\nmultiprocessing.connection.errno\nmultiprocessing.connection.families\nmultiprocessing.connection.get_temp_dir(??)\nmultiprocessing.connection.itertools\nmultiprocessing.connection.os\nmultiprocessing.connection.socket\nmultiprocessing.connection.sub_debug(??)\nmultiprocessing.connection.sys\nmultiprocessing.connection.tempfile\nmultiprocessing.connection.time\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition\nmultiprocessing.dummy.DummyProcess\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.TimeoutError\nmultiprocessing.dummy.Value\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array\nmultiprocessing.dummy.connection\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection\nmultiprocessing.dummy.connection.Listener\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families\nmultiprocessing.dummy.cpu_count(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary.\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.itertools\nmultiprocessing.dummy.list() -> new list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys\nmultiprocessing.dummy.threading\nmultiprocessing.dummy.weakref\nmultiprocessing.forking\nmultiprocessing.forking.ForkingPickler(??)\nmultiprocessing.forking.Pickler(??)\nmultiprocessing.forking.Popen\nmultiprocessing.forking.assert_spawning(??)\nmultiprocessing.forking.close(fd)\nmultiprocessing.forking.duplicate\nmultiprocessing.forking.exit\nmultiprocessing.forking.old_main_modules\nmultiprocessing.forking.os\nmultiprocessing.forking.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.forking.prepare(??)\nmultiprocessing.forking.process\nmultiprocessing.forking.signal\nmultiprocessing.forking.sys\nmultiprocessing.forking.time\nmultiprocessing.forking.util\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.heap.Arena\nmultiprocessing.heap.BufferWrapper\nmultiprocessing.heap.Finalize\nmultiprocessing.heap.Heap\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect\nmultiprocessing.heap.info(??)\nmultiprocessing.heap.itertools\nmultiprocessing.heap.mmap\nmultiprocessing.heap.os\nmultiprocessing.heap.sys\nmultiprocessing.heap.tempfile\nmultiprocessing.heap.threading\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy\nmultiprocessing.managers.AuthenticationString\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BaseListProxy\nmultiprocessing.managers.BaseManager\nmultiprocessing.managers.BaseProxy\nmultiprocessing.managers.ConditionProxy\nmultiprocessing.managers.DictProxy\nmultiprocessing.managers.EventProxy\nmultiprocessing.managers.Finalize\nmultiprocessing.managers.ForkingPickler(??)\nmultiprocessing.managers.IteratorProxy\nmultiprocessing.managers.ListProxy\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace\nmultiprocessing.managers.NamespaceProxy\nmultiprocessing.managers.PicklingError\nmultiprocessing.managers.Pool(??)\nmultiprocessing.managers.PoolProxy\nmultiprocessing.managers.Popen\nmultiprocessing.managers.Process\nmultiprocessing.managers.ProcessLocalSet\nmultiprocessing.managers.Queue\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError\nmultiprocessing.managers.Server\nmultiprocessing.managers.State\nmultiprocessing.managers.SyncManager\nmultiprocessing.managers.Token\nmultiprocessing.managers.Value\nmultiprocessing.managers.ValueProxy\nmultiprocessing.managers.active_children(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array\nmultiprocessing.managers.assert_spawning(??)\nmultiprocessing.managers.connection\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.current_process(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.exit\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.info(??)\nmultiprocessing.managers.listener_client\nmultiprocessing.managers.name\nmultiprocessing.managers.os\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.sys\nmultiprocessing.managers.threading\nmultiprocessing.managers.util\nmultiprocessing.managers.view_types\nmultiprocessing.managers.weakref\nmultiprocessing.os\nmultiprocessing.pool\nmultiprocessing.pool.ApplyResult\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.Finalize\nmultiprocessing.pool.IMapIterator\nmultiprocessing.pool.IMapUnorderedIterator\nmultiprocessing.pool.MapResult\nmultiprocessing.pool.Pool\nmultiprocessing.pool.Process\nmultiprocessing.pool.Queue\nmultiprocessing.pool.RUN\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool\nmultiprocessing.pool.TimeoutError\nmultiprocessing.pool.collections\nmultiprocessing.pool.cpu_count(??)\nmultiprocessing.pool.debug(??)\nmultiprocessing.pool.itertools\nmultiprocessing.pool.job_counter\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.threading\nmultiprocessing.pool.time\nmultiprocessing.pool.worker(??)\nmultiprocessing.process\nmultiprocessing.process.AuthenticationString\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.Process\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools\nmultiprocessing.process.name\nmultiprocessing.process.os\nmultiprocessing.process.signal\nmultiprocessing.process.signum\nmultiprocessing.process.sys\nmultiprocessing.queues.BoundedSemaphore\nmultiprocessing.queues.Condition\nmultiprocessing.queues.Empty\nmultiprocessing.queues.Finalize\nmultiprocessing.queues.Full\nmultiprocessing.queues.JoinableQueue\nmultiprocessing.queues.Lock\nmultiprocessing.queues.Pipe(??)\nmultiprocessing.queues.Queue\nmultiprocessing.queues.Semaphore\nmultiprocessing.queues.SimpleQueue\nmultiprocessing.queues.assert_spawning(??)\nmultiprocessing.queues.atexit\nmultiprocessing.queues.collections\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.os\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys\nmultiprocessing.queues.threading\nmultiprocessing.queues.time\nmultiprocessing.queues.weakref\nmultiprocessing.reduction.Client(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.Listener\nmultiprocessing.reduction.Popen\nmultiprocessing.reduction.close(fd)\nmultiprocessing.reduction.current_process(??)\nmultiprocessing.reduction.debug(??)\nmultiprocessing.reduction.duplicate\nmultiprocessing.reduction.fromfd(??)\nmultiprocessing.reduction.os\nmultiprocessing.reduction.rebuild_connection(??)\nmultiprocessing.reduction.rebuild_handle(??)\nmultiprocessing.reduction.rebuild_socket(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.reduce_connection(??)\nmultiprocessing.reduction.reduce_handle(??)\nmultiprocessing.reduction.reduce_socket(??)\nmultiprocessing.reduction.register_after_fork(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.socket\nmultiprocessing.reduction.sub_debug(??)\nmultiprocessing.reduction.sys\nmultiprocessing.reduction.threading\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RLock(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized\nmultiprocessing.sharedctypes.SynchronizedArray\nmultiprocessing.sharedctypes.SynchronizedBase\nmultiprocessing.sharedctypes.SynchronizedString\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes\nmultiprocessing.sharedctypes.heap\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.sys\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type\nmultiprocessing.sharedctypes.weakref\nmultiprocessing.synchronize.BoundedSemaphore\nmultiprocessing.synchronize.Condition\nmultiprocessing.synchronize.Event\nmultiprocessing.synchronize.Finalize\nmultiprocessing.synchronize.Lock\nmultiprocessing.synchronize.Popen\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock\nmultiprocessing.synchronize.Semaphore\nmultiprocessing.synchronize.assert_spawning(??)\nmultiprocessing.synchronize.current_process(??)\nmultiprocessing.synchronize.debug(??)\nmultiprocessing.synchronize.os\nmultiprocessing.synchronize.register_after_fork(??)\nmultiprocessing.synchronize.sys\nmultiprocessing.synchronize.threading\nmultiprocessing.sys\nmultiprocessing.util\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize\nmultiprocessing.util.ForkAwareLocal\nmultiprocessing.util.ForkAwareThreadLock\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.active_children(??)\nmultiprocessing.util.atexit\nmultiprocessing.util.current_process(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.threading\nmultiprocessing.util.weakref\nmutex.deque(iterable[, maxlen]) --> deque object\nmutex.mutex(??)\nnetrc.NetrcParseError\nnetrc.netrc(??)\nnetrc.os\nnetrc.shlex\nnew.classobj(name, bases, dict)\nnew.code\nnew.function(code, globals[, name[, argdefs[, closure]]])\nnew.instance(class[, dict])\nnew.instancemethod(function, instance, class)\nnew.module(name[, doc])\nnext(iterator[, default])\nnis.cat(map, domain = defaultdomain)\nnis.error\nnis.get_default_domain() -> str\nnis.maps(domain = defaultdomain)\nnis.match(key, map, domain = defaultdomain)\nnntplib.CRLF\nnntplib.LONGRESP\nnntplib.NNTP(??)\nnntplib.NNTPDataError\nnntplib.NNTPError\nnntplib.NNTPPermanentError\nnntplib.NNTPProtocolError\nnntplib.NNTPReplyError\nnntplib.NNTPTemporaryError\nnntplib.NNTP_PORT\nnntplib.error_data\nnntplib.error_perm\nnntplib.error_proto\nnntplib.error_reply\nnntplib.error_temp\nnntplib.re\nnntplib.socket\nntpath.abspath(??)\nntpath.altsep\nntpath.basename(??)\nntpath.commonprefix(??)\nntpath.curdir\nntpath.defpath\nntpath.devnull\nntpath.dirname(??)\nntpath.exists(??)\nntpath.expanduser(??)\nntpath.expandvars(??)\nntpath.extsep\nntpath.genericpath\nntpath.getatime(??)\nntpath.getctime(??)\nntpath.getmtime(??)\nntpath.getsize(??)\nntpath.isabs(??)\nntpath.isdir(??)\nntpath.isfile(??)\nntpath.islink(??)\nntpath.ismount(??)\nntpath.join(??)\nntpath.lexists(??)\nntpath.normcase(??)\nntpath.normpath(??)\nntpath.os\nntpath.pardir\nntpath.pathsep\nntpath.realpath(??)\nntpath.relpath(??)\nntpath.sep\nntpath.split(??)\nntpath.splitdrive(??)\nntpath.splitext(??)\nntpath.splitunc(??)\nntpath.stat\nntpath.supports_unicode_filenames\nntpath.sys\nntpath.walk(??)\nntpath.warnings\nnturl2path.pathname2url(??)\nnturl2path.url2pathname(??)\nnumbers.ABCMeta\nnumbers.Complex\nnumbers.Integral\nnumbers.Number\nnumbers.Rational\nnumbers.Real\nnumbers.abstractmethod(??)\nnumbers.abstractproperty\nnumbers.division\nobject\noct(number) -> string\nopcode.EXTENDED_ARG\nopcode.HAVE_ARGUMENT\nopcode.cmp_op\nopcode.hascompare\nopcode.hasconst\nopcode.hasfree\nopcode.hasjabs\nopcode.hasjrel\nopcode.haslocal\nopcode.hasname\nopcode.opmap\nopcode.opname\nopen(name[, mode[, buffering]]) -> file object\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.delslice(a, b, c) -- Same as del a[b:c].\noperator.div(a, b) -- Same as a / b when __future__.division is not in effect.\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.getslice(a, b, c) -- Same as a[b:c].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(a, b) -- Same as a += b.\noperator.iand(a, b) -- Same as a &= b.\noperator.iconcat(a, b) -- Same as a += b, for a and b sequences.\noperator.idiv(a, b) -- Same as a /= b when __future__.division is not in effect.\noperator.ifloordiv(a, b) -- Same as a //= b.\noperator.ilshift(a, b) -- Same as a <<= b.\noperator.imod(a, b) -- Same as a %= b.\noperator.imul(a, b) -- Same as a *= b.\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(a, b) -- Same as a |= b.\noperator.ipow(a, b) -- Same as a **= b.\noperator.irepeat(a, b) -- Same as a *= b, where a is a sequence, and b is an integer.\noperator.irshift(a, b) -- Same as a >>= b.\noperator.isCallable(a) -- Same as callable(a).\noperator.isMappingType(a) -- Return True if a has a mapping type, False otherwise.\noperator.isNumberType(a) -- Return True if a has a numeric type, False otherwise.\noperator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise.\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(a, b) -- Same as a -= b.\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(a, b) -- Same as a /= b when __future__.division is in effect.\noperator.ixor(a, b) -- Same as a ^= b.\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.\noperator.rshift(a, b) -- Same as a >> b.\noperator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated).\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.setslice(a, b, c, d) -- Same as a[b:c] = d.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b when __future__.division is in effect.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError\noptparse.BadOptionError\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT\noptparse.OptParseError\noptparse.Option(??)\noptparse.OptionConflictError\noptparse.OptionContainer(??)\noptparse.OptionError\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.isbasestring(??)\noptparse.make_option(??)\noptparse.os\noptparse.sys\noptparse.textwrap\noptparse.types\nord(c) -> integer\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_OK\nos.NGROUPS_MAX\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_LARGEFILE\nos.O_NDELAY\nos.O_NOATIME\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_RSYNC\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_WAIT\nos.R_OK\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.TMP_MAX\nos.UserDict\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode) -> True if granted, False otherwise\nos.altsep\nos.chdir(path)\nos.chmod(path, mode)\nos.chown(path, uid, gid)\nos.chroot(path)\nos.close(fd)\nos.closerange(fd_low, fd_high)\nos.confstr(name) -> string\nos.confstr_names\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ\nos.errno\nos.error\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(??)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fildes)\nos.fchmod(fd, mode)\nos.fchown(fd, uid, gid)\nos.fdatasync(fildes)\nos.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.getcwd() -> path\nos.getcwdu() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst)\nos.listdir(path) -> list_of_strings\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0777])\nos.minor(device) -> minor number\nos.mkdir(path [, mode=0777])\nos.mkfifo(filename [, mode=0666])\nos.mknod(filename [, mode=0600, device])\nos.name\nos.nice(inc) -> new_priority\nos.open(filename, flag [, mode=0777]) -> fd\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path\nos.pathconf(path, name) -> integer\nos.pathconf_names\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(command [, mode='r' [, bufsize]]) -> pipe\nos.popen2(??)\nos.popen3(??)\nos.popen4(??)\nos.putenv(key, value)\nos.read(fd, buffersize) -> string\nos.readlink(path) -> path\nos.remove(path)\nos.removedirs(path)\nos.rename(old, new)\nos.renames(old, new)\nos.rmdir(path)\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setregid(rgid, egid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.stat(path) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result\nos.statvfs(path) -> statvfs result\nos.statvfs_result\nos.strerror(code) -> string\nos.symlink(src, dst)\nos.sys\nos.sysconf(name) -> integer\nos.sysconf_names\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.tempnam([dir[, prefix]]) -> string\nos.times() -> (utime, stime, cutime, cstime, elapsed_time)\nos.tmpfile() -> file object\nos.tmpnam() -> string\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> (sysname, nodename, release, version, machine)\nos.unlink(path)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, (atime, mtime))\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\nos2emxpath.abspath(??)\nos2emxpath.altsep\nos2emxpath.basename(??)\nos2emxpath.commonprefix(??)\nos2emxpath.curdir\nos2emxpath.defpath\nos2emxpath.devnull\nos2emxpath.dirname(??)\nos2emxpath.exists(??)\nos2emxpath.expanduser(??)\nos2emxpath.expandvars(??)\nos2emxpath.extsep\nos2emxpath.getatime(??)\nos2emxpath.getctime(??)\nos2emxpath.getmtime(??)\nos2emxpath.getsize(??)\nos2emxpath.isabs(??)\nos2emxpath.isdir(??)\nos2emxpath.isfile(??)\nos2emxpath.islink(??)\nos2emxpath.ismount(??)\nos2emxpath.join(??)\nos2emxpath.lexists(??)\nos2emxpath.normcase(??)\nos2emxpath.normpath(??)\nos2emxpath.os\nos2emxpath.pardir\nos2emxpath.pathsep\nos2emxpath.realpath(??)\nos2emxpath.sep\nos2emxpath.split(??)\nos2emxpath.splitdrive(??)\nos2emxpath.splitext(??)\nos2emxpath.splitunc(??)\nos2emxpath.stat\nos2emxpath.supports_unicode_filenames\nos2emxpath.walk(??)\nossaudiodev.AFMT_AC3\nossaudiodev.AFMT_A_LAW\nossaudiodev.AFMT_IMA_ADPCM\nossaudiodev.AFMT_MPEG\nossaudiodev.AFMT_MU_LAW\nossaudiodev.AFMT_QUERY\nossaudiodev.AFMT_S16_BE\nossaudiodev.AFMT_S16_LE\nossaudiodev.AFMT_S16_NE\nossaudiodev.AFMT_S8\nossaudiodev.AFMT_U16_BE\nossaudiodev.AFMT_U16_LE\nossaudiodev.AFMT_U8\nossaudiodev.OSSAudioError\nossaudiodev.SNDCTL_COPR_HALT\nossaudiodev.SNDCTL_COPR_LOAD\nossaudiodev.SNDCTL_COPR_RCODE\nossaudiodev.SNDCTL_COPR_RCVMSG\nossaudiodev.SNDCTL_COPR_RDATA\nossaudiodev.SNDCTL_COPR_RESET\nossaudiodev.SNDCTL_COPR_RUN\nossaudiodev.SNDCTL_COPR_SENDMSG\nossaudiodev.SNDCTL_COPR_WCODE\nossaudiodev.SNDCTL_COPR_WDATA\nossaudiodev.SNDCTL_DSP_BIND_CHANNEL\nossaudiodev.SNDCTL_DSP_CHANNELS\nossaudiodev.SNDCTL_DSP_GETBLKSIZE\nossaudiodev.SNDCTL_DSP_GETCAPS\nossaudiodev.SNDCTL_DSP_GETCHANNELMASK\nossaudiodev.SNDCTL_DSP_GETFMTS\nossaudiodev.SNDCTL_DSP_GETIPTR\nossaudiodev.SNDCTL_DSP_GETISPACE\nossaudiodev.SNDCTL_DSP_GETODELAY\nossaudiodev.SNDCTL_DSP_GETOPTR\nossaudiodev.SNDCTL_DSP_GETOSPACE\nossaudiodev.SNDCTL_DSP_GETSPDIF\nossaudiodev.SNDCTL_DSP_GETTRIGGER\nossaudiodev.SNDCTL_DSP_MAPINBUF\nossaudiodev.SNDCTL_DSP_MAPOUTBUF\nossaudiodev.SNDCTL_DSP_NONBLOCK\nossaudiodev.SNDCTL_DSP_POST\nossaudiodev.SNDCTL_DSP_PROFILE\nossaudiodev.SNDCTL_DSP_RESET\nossaudiodev.SNDCTL_DSP_SAMPLESIZE\nossaudiodev.SNDCTL_DSP_SETDUPLEX\nossaudiodev.SNDCTL_DSP_SETFMT\nossaudiodev.SNDCTL_DSP_SETFRAGMENT\nossaudiodev.SNDCTL_DSP_SETSPDIF\nossaudiodev.SNDCTL_DSP_SETSYNCRO\nossaudiodev.SNDCTL_DSP_SETTRIGGER\nossaudiodev.SNDCTL_DSP_SPEED\nossaudiodev.SNDCTL_DSP_STEREO\nossaudiodev.SNDCTL_DSP_SUBDIVIDE\nossaudiodev.SNDCTL_DSP_SYNC\nossaudiodev.SNDCTL_FM_4OP_ENABLE\nossaudiodev.SNDCTL_FM_LOAD_INSTR\nossaudiodev.SNDCTL_MIDI_INFO\nossaudiodev.SNDCTL_MIDI_MPUCMD\nossaudiodev.SNDCTL_MIDI_MPUMODE\nossaudiodev.SNDCTL_MIDI_PRETIME\nossaudiodev.SNDCTL_SEQ_CTRLRATE\nossaudiodev.SNDCTL_SEQ_GETINCOUNT\nossaudiodev.SNDCTL_SEQ_GETOUTCOUNT\nossaudiodev.SNDCTL_SEQ_GETTIME\nossaudiodev.SNDCTL_SEQ_NRMIDIS\nossaudiodev.SNDCTL_SEQ_NRSYNTHS\nossaudiodev.SNDCTL_SEQ_OUTOFBAND\nossaudiodev.SNDCTL_SEQ_PANIC\nossaudiodev.SNDCTL_SEQ_PERCMODE\nossaudiodev.SNDCTL_SEQ_RESET\nossaudiodev.SNDCTL_SEQ_RESETSAMPLES\nossaudiodev.SNDCTL_SEQ_SYNC\nossaudiodev.SNDCTL_SEQ_TESTMIDI\nossaudiodev.SNDCTL_SEQ_THRESHOLD\nossaudiodev.SNDCTL_SYNTH_CONTROL\nossaudiodev.SNDCTL_SYNTH_ID\nossaudiodev.SNDCTL_SYNTH_INFO\nossaudiodev.SNDCTL_SYNTH_MEMAVL\nossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE\nossaudiodev.SNDCTL_TMR_CONTINUE\nossaudiodev.SNDCTL_TMR_METRONOME\nossaudiodev.SNDCTL_TMR_SELECT\nossaudiodev.SNDCTL_TMR_SOURCE\nossaudiodev.SNDCTL_TMR_START\nossaudiodev.SNDCTL_TMR_STOP\nossaudiodev.SNDCTL_TMR_TEMPO\nossaudiodev.SNDCTL_TMR_TIMEBASE\nossaudiodev.SOUND_MIXER_ALTPCM\nossaudiodev.SOUND_MIXER_BASS\nossaudiodev.SOUND_MIXER_CD\nossaudiodev.SOUND_MIXER_DIGITAL1\nossaudiodev.SOUND_MIXER_DIGITAL2\nossaudiodev.SOUND_MIXER_DIGITAL3\nossaudiodev.SOUND_MIXER_IGAIN\nossaudiodev.SOUND_MIXER_IMIX\nossaudiodev.SOUND_MIXER_LINE\nossaudiodev.SOUND_MIXER_LINE1\nossaudiodev.SOUND_MIXER_LINE2\nossaudiodev.SOUND_MIXER_LINE3\nossaudiodev.SOUND_MIXER_MIC\nossaudiodev.SOUND_MIXER_MONITOR\nossaudiodev.SOUND_MIXER_NRDEVICES\nossaudiodev.SOUND_MIXER_OGAIN\nossaudiodev.SOUND_MIXER_PCM\nossaudiodev.SOUND_MIXER_PHONEIN\nossaudiodev.SOUND_MIXER_PHONEOUT\nossaudiodev.SOUND_MIXER_RADIO\nossaudiodev.SOUND_MIXER_RECLEV\nossaudiodev.SOUND_MIXER_SPEAKER\nossaudiodev.SOUND_MIXER_SYNTH\nossaudiodev.SOUND_MIXER_TREBLE\nossaudiodev.SOUND_MIXER_VIDEO\nossaudiodev.SOUND_MIXER_VOLUME\nossaudiodev.control_labels\nossaudiodev.control_names\nossaudiodev.error\nossaudiodev.open\nossaudiodev.openmixer\nparser.ASTType\nparser.ParserError\nparser.STType\nparser.ast2list\nparser.ast2tuple\nparser.compileast\nparser.compilest\nparser.expr\nparser.isexpr\nparser.issuite\nparser.sequence2ast\nparser.sequence2st\nparser.st2list\nparser.st2tuple\nparser.suite\nparser.tuple2ast\nparser.tuple2st\npdb.Pdb(??)\npdb.Repr(??)\npdb.Restart\npdb.TESTCMD\npdb.bdb\npdb.cmd\npdb.find_function(??)\npdb.help(??)\npdb.line_prefix\npdb.linecache\npdb.main(??)\npdb.os\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint\npdb.re\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.sys\npdb.test(??)\npdb.traceback\npickle.APPEND\npickle.APPENDS\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BooleanType\npickle.BufferType\npickle.BuiltinFunctionType\npickle.BuiltinMethodType\npickle.ClassType\npickle.CodeType\npickle.ComplexType\npickle.DICT\npickle.DUP\npickle.DictProxyType\npickle.DictType\npickle.DictionaryType\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.EllipsisType\npickle.FALSE\npickle.FLOAT\npickle.FileType\npickle.FloatType\npickle.FrameType\npickle.FunctionType\npickle.GET\npickle.GLOBAL\npickle.GeneratorType\npickle.GetSetDescriptorType\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.InstanceType\npickle.IntType\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.LambdaType\npickle.ListType\npickle.LongType\npickle.MARK\npickle.MemberDescriptorType\npickle.MethodType\npickle.ModuleType\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.NoneType\npickle.NotImplementedType\npickle.OBJ\npickle.ObjectType\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError\npickle.Pickler(??)\npickle.PicklingError\npickle.PyStringMap\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.SliceType\npickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing\npickle.StringType\npickle.StringTypes\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.TracebackType\npickle.TupleType\npickle.TypeType\npickle.UNICODE\npickle.UnboundMethodType\npickle.UnicodeType\npickle.Unpickler(??)\npickle.UnpicklingError\npickle.XRangeType\npickle.classmap\npickle.compatible_formats\npickle.decode_long(??)\npickle.dispatch_table\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.load(??)\npickle.loads(??)\npickle.marshal\npickle.mloads\npickle.re\npickle.struct\npickle.sys\npickle.whichmodule(??)\npickletools.ArgumentDescriptor\npickletools.OpcodeInfo\npickletools.StackObject\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject\npickletools.code2op\npickletools.decimalnl_long\npickletools.decimalnl_short\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8\npickletools.floatnl\npickletools.genops(??)\npickletools.int4\npickletools.long1\npickletools.long4\npickletools.markobject\npickletools.opcodes\npickletools.optimize(??)\npickletools.pybool\npickletools.pydict\npickletools.pyfloat\npickletools.pyint\npickletools.pyinteger_or_bool\npickletools.pylist\npickletools.pylong\npickletools.pynone\npickletools.pystring\npickletools.pytuple\npickletools.pyunicode\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice\npickletools.string1\npickletools.string4\npickletools.stringnl\npickletools.stringnl_noescape\npickletools.stringnl_noescape_pair\npickletools.uint1\npickletools.uint2\npickletools.unicodestring4\npickletools.unicodestringnl\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os\npipes.quote(??)\npipes.re\npipes.stepkinds\npipes.string\npipes.tempfile\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.imp\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys\npkgutil.walk_packages(??)\npkgutil.zipimport\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.architecture(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re\nplatform.release(??)\nplatform.string\nplatform.sys\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.version(??)\nplatform.win32_ver(??)\nplistlib.Data(??)\nplistlib.Dict\nplistlib.DumbXMLWriter(??)\nplistlib.PLISTHEADER\nplistlib.Plist\nplistlib.PlistParser(??)\nplistlib.PlistWriter(??)\nplistlib.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nplistlib.binascii\nplistlib.datetime\nplistlib.re\nplistlib.readPlist(??)\nplistlib.readPlistFromResource(??)\nplistlib.readPlistFromString(??)\nplistlib.warnings\nplistlib.writePlist(??)\nplistlib.writePlistToResource(??)\nplistlib.writePlistToString(??)\npopen2.MAXFD\npopen2.Popen3(??)\npopen2.Popen4(??)\npopen2.os\npopen2.popen2(??)\npopen2.popen3(??)\npopen2.popen4(??)\npopen2.sys\npopen2.warnings\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto\npoplib.re\npoplib.socket\npoplib.ssl\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_OK\nposix.NGROUPS_MAX\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_LARGEFILE\nposix.O_NDELAY\nposix.O_NOATIME\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_RSYNC\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.R_OK\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode) -> True if granted, False otherwise\nposix.chdir(path)\nposix.chmod(path, mode)\nposix.chown(path, uid, gid)\nposix.chroot(path)\nposix.close(fd)\nposix.closerange(fd_low, fd_high)\nposix.confstr(name) -> string\nposix.confstr_names\nposix.ctermid() -> string\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ\nposix.error\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fildes)\nposix.fchmod(fd, mode)\nposix.fchown(fd, uid, gid)\nposix.fdatasync(fildes)\nposix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.getcwd() -> path\nposix.getcwdu() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchown(path, uid, gid)\nposix.link(src, dst)\nposix.listdir(path) -> list_of_strings\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path [, mode=0777])\nposix.mkfifo(filename [, mode=0666])\nposix.mknod(filename [, mode=0600, device])\nposix.nice(inc) -> new_priority\nposix.open(filename, flag [, mode=0777]) -> fd\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names\nposix.pipe() -> (read_end, write_end)\nposix.popen(command [, mode='r' [, bufsize]]) -> pipe\nposix.putenv(key, value)\nposix.read(fd, buffersize) -> string\nposix.readlink(path) -> path\nposix.remove(path)\nposix.rename(old, new)\nposix.rmdir(path)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setregid(rgid, egid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result\nposix.statvfs(path) -> statvfs result\nposix.statvfs_result\nposix.strerror(code) -> string\nposix.symlink(src, dst)\nposix.sysconf(name) -> integer\nposix.sysconf_names\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.tempnam([dir[, prefix]]) -> string\nposix.times() -> (utime, stime, cutime, cstime, elapsed_time)\nposix.tmpfile() -> file object\nposix.tmpnam() -> string\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> (sysname, nodename, release, version, machine)\nposix.unlink(path)\nposix.unsetenv(key)\nposix.utime(path, (atime, mtime))\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\nposixfile.SEEK_CUR\nposixfile.SEEK_END\nposixfile.SEEK_SET\nposixfile.fileopen(??)\nposixfile.open(??)\nposixfile.warnings\nposixpath.abspath(??)\nposixpath.altsep\nposixpath.basename(??)\nposixpath.commonprefix(??)\nposixpath.curdir\nposixpath.defpath\nposixpath.devnull\nposixpath.dirname(??)\nposixpath.exists(??)\nposixpath.expanduser(??)\nposixpath.expandvars(??)\nposixpath.extsep\nposixpath.genericpath\nposixpath.getatime(??)\nposixpath.getctime(??)\nposixpath.getmtime(??)\nposixpath.getsize(??)\nposixpath.isabs(??)\nposixpath.isdir(??)\nposixpath.isfile(??)\nposixpath.islink(??)\nposixpath.ismount(??)\nposixpath.join(??)\nposixpath.lexists(??)\nposixpath.normcase(??)\nposixpath.normpath(??)\nposixpath.os\nposixpath.pardir\nposixpath.pathsep\nposixpath.realpath(??)\nposixpath.relpath(??)\nposixpath.samefile(??)\nposixpath.sameopenfile(??)\nposixpath.samestat(??)\nposixpath.sep\nposixpath.split(??)\nposixpath.splitdrive(??)\nposixpath.splitext(??)\nposixpath.stat\nposixpath.supports_unicode_filenames\nposixpath.walk(??)\nposixpath.warnings\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\nprint\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.Stats(??)\nprofile.help(??)\nprofile.main(??)\nprofile.marshal\nprofile.os\nprofile.resgetrusage(??)\nprofile.resource\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys\nprofile.time\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.CmpToKey(??)\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal\npstats.os\npstats.re\npstats.sys\npstats.time\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd\npwd.struct_pwent\npy_compile.MAGIC\npy_compile.PyCompileError\npy_compile.compile(??)\npy_compile.imp\npy_compile.main(??)\npy_compile.marshal\npy_compile.os\npy_compile.set_creator_type(??)\npy_compile.sys\npy_compile.traceback\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.imp\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys\npyclbr.tokenize\npydoc.Doc(??)\npydoc.ErrorDuringImport\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable[, maxlen]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.expandtabs(s [,tabsize]) -> string\npydoc.find(s, sub [,start [,end]]) -> in\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.gui(??)\npydoc.help\npydoc.html\npydoc.imp\npydoc.importfile(??)\npydoc.inspect\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.join(list [,sep]) -> string\npydoc.locate(??)\npydoc.lower(s) -> string\npydoc.os\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.re\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.rfind(s, sub [,start [,end]]) -> int\npydoc.rstrip(s [,chars]) -> string\npydoc.safeimport(??)\npydoc.serve(??)\npydoc.source_synopsis(??)\npydoc.split(s [,sep [,maxsplit]]) -> list of strings\npydoc.splitdoc(??)\npydoc.strip(s [,chars]) -> string\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys\npydoc.tempfilepager(??)\npydoc.text\npydoc.ttypager(??)\npydoc.types\npydoc.visiblename(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_topics.topics\npyexpat.EXPAT_VERSION\npyexpat.ErrorString(errno) -> string\npyexpat.ExpatError\npyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser\npyexpat.XMLParserType\npyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS\npyexpat.XML_PARAM_ENTITY_PARSING_NEVER\npyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\npyexpat.error\npyexpat.errors\npyexpat.expat_CAPI\npyexpat.features\npyexpat.model\npyexpat.native_encoding\npyexpat.version_info\nquit\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random\nrandom.SG_MAGICCONST\nrandom.SystemRandom\nrandom.TWOPI\nrandom.WichmannHill\nrandom.betavariate\nrandom.choice\nrandom.division\nrandom.expovariate\nrandom.gammavariate\nrandom.gauss\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate\nrandom.jumpahead(int) -> None.  Create new state from existing state and integer.\nrandom.lognormvariate\nrandom.normalvariate\nrandom.paretovariate\nrandom.randint\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange\nrandom.sample\nrandom.seed\nrandom.setstate\nrandom.shuffle\nrandom.triangular\nrandom.uniform\nrandom.vonmisesvariate\nrandom.weibullvariate\nrange([start,] stop[, step]) -> list of integers\nraw_input([prompt]) -> string\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copy_reg\nre.error\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile\nre.sre_parse\nre.sub(??)\nre.subn(??)\nre.sys\nre.template(??)\nreduce(function, sequence[, initial]) -> value\nreload(module) -> module\nrepr(object) -> string\nrepr.Repr(??)\nrepr.aRepr\nrepr.islice(iterable, [start,] stop [, step]) --> islice object\nrepr.repr\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_OFILE\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error\nresource.getpagesize\nresource.getrlimit\nresource.getrusage\nresource.setrlimit\nresource.struct_rusage\nreversed(sequence) -> reverse iterator over values of the sequence\nrexec.FileBase(??)\nrexec.FileDelegate(??)\nrexec.FileWrapper(??)\nrexec.RExec(??)\nrexec.RHooks(??)\nrexec.RModuleImporter(??)\nrexec.RModuleLoader(??)\nrexec.TEMPLATE\nrexec.ihooks\nrexec.imp\nrexec.os\nrexec.sys\nrexec.test(??)\nrfc822.AddressList(??)\nrfc822.AddrlistClass(??)\nrfc822.Message(??)\nrfc822.dump_address_pair(??)\nrfc822.formatdate(??)\nrfc822.mktime_tz(??)\nrfc822.parseaddr(??)\nrfc822.parsedate(??)\nrfc822.parsedate_tz(??)\nrfc822.quote(??)\nrfc822.time\nrfc822.unquote(??)\nrfc822.warnpy3k(??)\nrlcompleter.Completer(??)\nrlcompleter.get_class_members(??)\nrobotparser.Entry(??)\nrobotparser.RobotFileParser(??)\nrobotparser.RuleLine(??)\nrobotparser.URLopener(??)\nrobotparser.urllib\nrobotparser.urlparse\nround(number[, ndigits]) -> floating point number\nrunpy.get_loader(??)\nrunpy.imp\nrunpy.run_module(??)\nrunpy.sys\nsched.Event(time, priority, action, argument)\nsched.heapq\nsched.namedtuple(??)\nsched.scheduler(??)\nselect.EPOLLERR\nselect.EPOLLET\nselect.EPOLLHUP\nselect.EPOLLIN\nselect.EPOLLMSG\nselect.EPOLLONESHOT\nselect.EPOLLOUT\nselect.EPOLLPRI\nselect.EPOLLRDBAND\nselect.EPOLLRDNORM\nselect.EPOLLWRBAND\nselect.EPOLLWRNORM\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLMSG\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.epoll\nselect.error\nselect.poll\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nset(iterable) --> set object\nsetattr(object, name, value)\nsets.BaseSet\nsets.ImmutableSet\nsets.Set\nsets.generators\nsets.ifilter(function or None, sequence) --> ifilter object\nsets.ifilterfalse(function or None, sequence) --> ifilterfalse object\nsets.warnings\nsgmllib.SGMLParseError\nsgmllib.SGMLParser(??)\nsgmllib.TestSGMLParser(??)\nsgmllib.attrfind\nsgmllib.charref\nsgmllib.endbracket\nsgmllib.entityref\nsgmllib.incomplete\nsgmllib.interesting\nsgmllib.markupbase\nsgmllib.piclose\nsgmllib.re\nsgmllib.shorttag\nsgmllib.shorttagopen\nsgmllib.starttagopen\nsgmllib.tagfind\nsgmllib.test(??)\nsha.blocksize\nsha.digest_size\nsha.digestsize\nsha.new\nsha.sha\nsha.warnings\nshelve.BsdDbShelf(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=0) -- Create a pickler.\nshelve.Shelf(??)\nshelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshelve.Unpickler(file) -- Create an unpickler.\nshelve.UserDict\nshelve.open(??)\nshlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshlex.deque(iterable[, maxlen]) --> deque object\nshlex.os\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys\nshutil.Error\nshutil.WindowsError\nshutil.abspath(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.destinsrc(??)\nshutil.fnmatch\nshutil.ignore_patterns(??)\nshutil.move(??)\nshutil.os\nshutil.rmtree(??)\nshutil.stat\nshutil.sys\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCLD\nsignal.SIGCONT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPOLL\nsignal.SIGPROF\nsignal.SIGPWR\nsignal.SIGQUIT\nsignal.SIGRTMAX\nsignal.SIGRTMIN\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getitimer(which)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(which, seconds[, interval])\nsignal.siginterrupt(sig, flag) -> None\nsignal.signal(sig, action) -> action\nsite.ENABLE_USER_SITE\nsite.PREFIXES\nsite.USER_BASE\nsite.USER_SITE\nsite.abs__file__(??)\nsite.addbuilddir(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.check_enableusersite(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.main(??)\nsite.makepath(??)\nsite.os\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.setencoding(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DEBUGSTREAM\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat\nsmtpd.asyncore\nsmtpd.errno\nsmtpd.getopt\nsmtpd.os\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket\nsmtpd.sys\nsmtpd.time\nsmtpd.usage(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError\nsmtplib.SMTPConnectError\nsmtplib.SMTPDataError\nsmtplib.SMTPException\nsmtplib.SMTPHeloError\nsmtplib.SMTPRecipientsRefused\nsmtplib.SMTPResponseException\nsmtplib.SMTPSenderRefused\nsmtplib.SMTPServerDisconnected\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.SSLFakeFile(??)\nsmtplib.base64\nsmtplib.email\nsmtplib.encode_base64(??)\nsmtplib.hmac\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re\nsmtplib.socket\nsmtplib.ssl\nsmtplib.stderr\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_ASH\nsocket.AF_ATMPVC\nsocket.AF_ATMSVC\nsocket.AF_AX25\nsocket.AF_BRIDGE\nsocket.AF_DECnet\nsocket.AF_ECONET\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_IRDA\nsocket.AF_KEY\nsocket.AF_NETBEUI\nsocket.AF_NETLINK\nsocket.AF_NETROM\nsocket.AF_PACKET\nsocket.AF_PPPOX\nsocket.AF_ROSE\nsocket.AF_ROUTE\nsocket.AF_SECURITY\nsocket.AF_SNA\nsocket.AF_TIPC\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AF_WANPIPE\nsocket.AF_X25\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.CAPI\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NETLINK_DNRTMSG\nsocket.NETLINK_FIREWALL\nsocket.NETLINK_IP6_FW\nsocket.NETLINK_NFLOG\nsocket.NETLINK_ROUTE\nsocket.NETLINK_USERSOCK\nsocket.NETLINK_XFRM\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PACKET_BROADCAST\nsocket.PACKET_FASTROUTE\nsocket.PACKET_HOST\nsocket.PACKET_LOOPBACK\nsocket.PACKET_MULTICAST\nsocket.PACKET_OTHERHOST\nsocket.PACKET_OUTGOING\nsocket.PF_PACKET\nsocket.RAND_add(string, entropy)\nsocket.RAND_egd(path) -> bytes\nsocket.RAND_status() -> 0 or 1\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_TIPC\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SSL_ERROR_EOF\nsocket.SSL_ERROR_INVALID_ERROR_CODE\nsocket.SSL_ERROR_SSL\nsocket.SSL_ERROR_SYSCALL\nsocket.SSL_ERROR_WANT_CONNECT\nsocket.SSL_ERROR_WANT_READ\nsocket.SSL_ERROR_WANT_WRITE\nsocket.SSL_ERROR_WANT_X509_LOOKUP\nsocket.SSL_ERROR_ZERO_RETURN\nsocket.SocketType\nsocket.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nsocket.TCP_CORK\nsocket.TCP_DEFER_ACCEPT\nsocket.TCP_INFO\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPIDLE\nsocket.TCP_KEEPINTVL\nsocket.TCP_LINGER2\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.TCP_QUICKACK\nsocket.TCP_SYNCNT\nsocket.TCP_WINDOW_CLAMP\nsocket.TIPC_ADDR_ID\nsocket.TIPC_ADDR_NAME\nsocket.TIPC_ADDR_NAMESEQ\nsocket.TIPC_CFG_SRV\nsocket.TIPC_CLUSTER_SCOPE\nsocket.TIPC_CONN_TIMEOUT\nsocket.TIPC_CRITICAL_IMPORTANCE\nsocket.TIPC_DEST_DROPPABLE\nsocket.TIPC_HIGH_IMPORTANCE\nsocket.TIPC_IMPORTANCE\nsocket.TIPC_LOW_IMPORTANCE\nsocket.TIPC_MEDIUM_IMPORTANCE\nsocket.TIPC_NODE_SCOPE\nsocket.TIPC_PUBLISHED\nsocket.TIPC_SRC_DROPPABLE\nsocket.TIPC_SUBSCR_TIMEOUT\nsocket.TIPC_SUB_CANCEL\nsocket.TIPC_SUB_PORTS\nsocket.TIPC_SUB_SERVICE\nsocket.TIPC_TOP_SRV\nsocket.TIPC_WAIT_FOREVER\nsocket.TIPC_WITHDRAWN\nsocket.TIPC_ZONE_SCOPE\nsocket.create_connection(??)\nsocket.error\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6\nsocket.herror\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.inet_aton(string) -> packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os\nsocket.setdefaulttimeout(timeout)\nsocket.socket([family[, type[, proto]]]) -> socket object\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.ssl(??)\nsocket.sslerror\nsocket.sys\nsocket.timeout\nsocket.warnings\nsorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list\nspwd.getspall() -> list_of_entries\nspwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max,\nspwd.struct_spwd\nsqlite3.Binary\nsqlite3.Cache\nsqlite3.Connection\nsqlite3.Cursor\nsqlite3.DataError\nsqlite3.DatabaseError\nsqlite3.Date\nsqlite3.DateFromTicks(??)\nsqlite3.Error\nsqlite3.IntegrityError\nsqlite3.InterfaceError\nsqlite3.InternalError\nsqlite3.NotSupportedError\nsqlite3.OperationalError\nsqlite3.OptimizedUnicode\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol\nsqlite3.ProgrammingError\nsqlite3.Row\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement\nsqlite3.Time\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters\nsqlite3.apilevel\nsqlite3.complete_statement(sql)\nsqlite3.connect(database[, timeout, isolation_level, detect_types, factory])\nsqlite3.converters\nsqlite3.datetime\nsqlite3.dbapi2\nsqlite3.dbapi2.Binary\nsqlite3.dbapi2.Cache\nsqlite3.dbapi2.Connection\nsqlite3.dbapi2.Cursor\nsqlite3.dbapi2.DataError\nsqlite3.dbapi2.DatabaseError\nsqlite3.dbapi2.Date\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error\nsqlite3.dbapi2.IntegrityError\nsqlite3.dbapi2.InterfaceError\nsqlite3.dbapi2.InternalError\nsqlite3.dbapi2.NotSupportedError\nsqlite3.dbapi2.OperationalError\nsqlite3.dbapi2.OptimizedUnicode\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol\nsqlite3.dbapi2.ProgrammingError\nsqlite3.dbapi2.Row\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement\nsqlite3.dbapi2.Time\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(database[, timeout, isolation_level, detect_types, factory])\nsqlite3.dbapi2.converters\nsqlite3.dbapi2.datetime\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info\nsqlite3.dbapi2.x\nsqlite3.dump\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info\nsqlite3.threadsafety\nsqlite3.time\nsqlite3.version\nsqlite3.version_info\nsqlite3.x\nsre.DOTALL\nsre.I\nsre.IGNORECASE\nsre.L\nsre.LOCALE\nsre.M\nsre.MULTILINE\nsre.S\nsre.U\nsre.UNICODE\nsre.VERBOSE\nsre.X\nsre.compile(??)\nsre.error\nsre.escape(??)\nsre.findall(??)\nsre.finditer(??)\nsre.match(??)\nsre.purge(??)\nsre.search(??)\nsre.split(??)\nsre.sub(??)\nsre.subn(??)\nsre.template(??)\nsre.warnings\nsre_compile.ANY\nsre_compile.ANY_ALL\nsre_compile.ASSERT\nsre_compile.ASSERT_NOT\nsre_compile.AT\nsre_compile.ATCODES\nsre_compile.AT_BEGINNING\nsre_compile.AT_BEGINNING_LINE\nsre_compile.AT_BEGINNING_STRING\nsre_compile.AT_BOUNDARY\nsre_compile.AT_END\nsre_compile.AT_END_LINE\nsre_compile.AT_END_STRING\nsre_compile.AT_LOCALE\nsre_compile.AT_LOC_BOUNDARY\nsre_compile.AT_LOC_NON_BOUNDARY\nsre_compile.AT_MULTILINE\nsre_compile.AT_NON_BOUNDARY\nsre_compile.AT_UNICODE\nsre_compile.AT_UNI_BOUNDARY\nsre_compile.AT_UNI_NON_BOUNDARY\nsre_compile.BIGCHARSET\nsre_compile.BRANCH\nsre_compile.CALL\nsre_compile.CATEGORY\nsre_compile.CATEGORY_DIGIT\nsre_compile.CATEGORY_LINEBREAK\nsre_compile.CATEGORY_LOC_NOT_WORD\nsre_compile.CATEGORY_LOC_WORD\nsre_compile.CATEGORY_NOT_DIGIT\nsre_compile.CATEGORY_NOT_LINEBREAK\nsre_compile.CATEGORY_NOT_SPACE\nsre_compile.CATEGORY_NOT_WORD\nsre_compile.CATEGORY_SPACE\nsre_compile.CATEGORY_UNI_DIGIT\nsre_compile.CATEGORY_UNI_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_DIGIT\nsre_compile.CATEGORY_UNI_NOT_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_SPACE\nsre_compile.CATEGORY_UNI_NOT_WORD\nsre_compile.CATEGORY_UNI_SPACE\nsre_compile.CATEGORY_UNI_WORD\nsre_compile.CATEGORY_WORD\nsre_compile.CHARSET\nsre_compile.CHCODES\nsre_compile.CH_LOCALE\nsre_compile.CH_UNICODE\nsre_compile.FAILURE\nsre_compile.GROUPREF\nsre_compile.GROUPREF_EXISTS\nsre_compile.GROUPREF_IGNORE\nsre_compile.IN\nsre_compile.INFO\nsre_compile.IN_IGNORE\nsre_compile.JUMP\nsre_compile.LITERAL\nsre_compile.LITERAL_IGNORE\nsre_compile.MAGIC\nsre_compile.MARK\nsre_compile.MAXCODE\nsre_compile.MAXREPEAT\nsre_compile.MAX_REPEAT\nsre_compile.MAX_UNTIL\nsre_compile.MIN_REPEAT\nsre_compile.MIN_REPEAT_ONE\nsre_compile.MIN_UNTIL\nsre_compile.NEGATE\nsre_compile.NOT_LITERAL\nsre_compile.NOT_LITERAL_IGNORE\nsre_compile.OPCODES\nsre_compile.OP_IGNORE\nsre_compile.RANGE\nsre_compile.REPEAT\nsre_compile.REPEAT_ONE\nsre_compile.SRE_FLAG_DEBUG\nsre_compile.SRE_FLAG_DOTALL\nsre_compile.SRE_FLAG_IGNORECASE\nsre_compile.SRE_FLAG_LOCALE\nsre_compile.SRE_FLAG_MULTILINE\nsre_compile.SRE_FLAG_TEMPLATE\nsre_compile.SRE_FLAG_UNICODE\nsre_compile.SRE_FLAG_VERBOSE\nsre_compile.SRE_INFO_CHARSET\nsre_compile.SRE_INFO_LITERAL\nsre_compile.SRE_INFO_PREFIX\nsre_compile.STRING_TYPES\nsre_compile.SUBPATTERN\nsre_compile.SUCCESS\nsre_compile.compile(??)\nsre_compile.error\nsre_compile.isstring(??)\nsre_compile.makedict(??)\nsre_compile.set(??)\nsre_compile.sre_parse\nsre_compile.sys\nsre_constants.ANY\nsre_constants.ANY_ALL\nsre_constants.ASSERT\nsre_constants.ASSERT_NOT\nsre_constants.AT\nsre_constants.ATCODES\nsre_constants.AT_BEGINNING\nsre_constants.AT_BEGINNING_LINE\nsre_constants.AT_BEGINNING_STRING\nsre_constants.AT_BOUNDARY\nsre_constants.AT_END\nsre_constants.AT_END_LINE\nsre_constants.AT_END_STRING\nsre_constants.AT_LOCALE\nsre_constants.AT_LOC_BOUNDARY\nsre_constants.AT_LOC_NON_BOUNDARY\nsre_constants.AT_MULTILINE\nsre_constants.AT_NON_BOUNDARY\nsre_constants.AT_UNICODE\nsre_constants.AT_UNI_BOUNDARY\nsre_constants.AT_UNI_NON_BOUNDARY\nsre_constants.BIGCHARSET\nsre_constants.BRANCH\nsre_constants.CALL\nsre_constants.CATEGORY\nsre_constants.CATEGORY_DIGIT\nsre_constants.CATEGORY_LINEBREAK\nsre_constants.CATEGORY_LOC_NOT_WORD\nsre_constants.CATEGORY_LOC_WORD\nsre_constants.CATEGORY_NOT_DIGIT\nsre_constants.CATEGORY_NOT_LINEBREAK\nsre_constants.CATEGORY_NOT_SPACE\nsre_constants.CATEGORY_NOT_WORD\nsre_constants.CATEGORY_SPACE\nsre_constants.CATEGORY_UNI_DIGIT\nsre_constants.CATEGORY_UNI_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_DIGIT\nsre_constants.CATEGORY_UNI_NOT_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_SPACE\nsre_constants.CATEGORY_UNI_NOT_WORD\nsre_constants.CATEGORY_UNI_SPACE\nsre_constants.CATEGORY_UNI_WORD\nsre_constants.CATEGORY_WORD\nsre_constants.CHARSET\nsre_constants.CHCODES\nsre_constants.CH_LOCALE\nsre_constants.CH_UNICODE\nsre_constants.FAILURE\nsre_constants.GROUPREF\nsre_constants.GROUPREF_EXISTS\nsre_constants.GROUPREF_IGNORE\nsre_constants.IN\nsre_constants.INFO\nsre_constants.IN_IGNORE\nsre_constants.JUMP\nsre_constants.LITERAL\nsre_constants.LITERAL_IGNORE\nsre_constants.MAGIC\nsre_constants.MARK\nsre_constants.MAXREPEAT\nsre_constants.MAX_REPEAT\nsre_constants.MAX_UNTIL\nsre_constants.MIN_REPEAT\nsre_constants.MIN_REPEAT_ONE\nsre_constants.MIN_UNTIL\nsre_constants.NEGATE\nsre_constants.NOT_LITERAL\nsre_constants.NOT_LITERAL_IGNORE\nsre_constants.OPCODES\nsre_constants.OP_IGNORE\nsre_constants.RANGE\nsre_constants.REPEAT\nsre_constants.REPEAT_ONE\nsre_constants.SRE_FLAG_DEBUG\nsre_constants.SRE_FLAG_DOTALL\nsre_constants.SRE_FLAG_IGNORECASE\nsre_constants.SRE_FLAG_LOCALE\nsre_constants.SRE_FLAG_MULTILINE\nsre_constants.SRE_FLAG_TEMPLATE\nsre_constants.SRE_FLAG_UNICODE\nsre_constants.SRE_FLAG_VERBOSE\nsre_constants.SRE_INFO_CHARSET\nsre_constants.SRE_INFO_LITERAL\nsre_constants.SRE_INFO_PREFIX\nsre_constants.SUBPATTERN\nsre_constants.SUCCESS\nsre_constants.error\nsre_constants.makedict(??)\nsre_parse.ANY\nsre_parse.ANY_ALL\nsre_parse.ASSERT\nsre_parse.ASSERT_NOT\nsre_parse.AT\nsre_parse.ATCODES\nsre_parse.AT_BEGINNING\nsre_parse.AT_BEGINNING_LINE\nsre_parse.AT_BEGINNING_STRING\nsre_parse.AT_BOUNDARY\nsre_parse.AT_END\nsre_parse.AT_END_LINE\nsre_parse.AT_END_STRING\nsre_parse.AT_LOCALE\nsre_parse.AT_LOC_BOUNDARY\nsre_parse.AT_LOC_NON_BOUNDARY\nsre_parse.AT_MULTILINE\nsre_parse.AT_NON_BOUNDARY\nsre_parse.AT_UNICODE\nsre_parse.AT_UNI_BOUNDARY\nsre_parse.AT_UNI_NON_BOUNDARY\nsre_parse.BIGCHARSET\nsre_parse.BRANCH\nsre_parse.CALL\nsre_parse.CATEGORIES\nsre_parse.CATEGORY\nsre_parse.CATEGORY_DIGIT\nsre_parse.CATEGORY_LINEBREAK\nsre_parse.CATEGORY_LOC_NOT_WORD\nsre_parse.CATEGORY_LOC_WORD\nsre_parse.CATEGORY_NOT_DIGIT\nsre_parse.CATEGORY_NOT_LINEBREAK\nsre_parse.CATEGORY_NOT_SPACE\nsre_parse.CATEGORY_NOT_WORD\nsre_parse.CATEGORY_SPACE\nsre_parse.CATEGORY_UNI_DIGIT\nsre_parse.CATEGORY_UNI_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_DIGIT\nsre_parse.CATEGORY_UNI_NOT_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_SPACE\nsre_parse.CATEGORY_UNI_NOT_WORD\nsre_parse.CATEGORY_UNI_SPACE\nsre_parse.CATEGORY_UNI_WORD\nsre_parse.CATEGORY_WORD\nsre_parse.CHARSET\nsre_parse.CHCODES\nsre_parse.CH_LOCALE\nsre_parse.CH_UNICODE\nsre_parse.DIGITS\nsre_parse.ESCAPES\nsre_parse.FAILURE\nsre_parse.FLAGS\nsre_parse.GROUPREF\nsre_parse.GROUPREF_EXISTS\nsre_parse.GROUPREF_IGNORE\nsre_parse.HEXDIGITS\nsre_parse.IN\nsre_parse.INFO\nsre_parse.IN_IGNORE\nsre_parse.JUMP\nsre_parse.LITERAL\nsre_parse.LITERAL_IGNORE\nsre_parse.MAGIC\nsre_parse.MARK\nsre_parse.MAXREPEAT\nsre_parse.MAX_REPEAT\nsre_parse.MAX_UNTIL\nsre_parse.MIN_REPEAT\nsre_parse.MIN_REPEAT_ONE\nsre_parse.MIN_UNTIL\nsre_parse.NEGATE\nsre_parse.NOT_LITERAL\nsre_parse.NOT_LITERAL_IGNORE\nsre_parse.OCTDIGITS\nsre_parse.OPCODES\nsre_parse.OP_IGNORE\nsre_parse.Pattern(??)\nsre_parse.RANGE\nsre_parse.REPEAT\nsre_parse.REPEAT_CHARS\nsre_parse.REPEAT_ONE\nsre_parse.SPECIAL_CHARS\nsre_parse.SRE_FLAG_DEBUG\nsre_parse.SRE_FLAG_DOTALL\nsre_parse.SRE_FLAG_IGNORECASE\nsre_parse.SRE_FLAG_LOCALE\nsre_parse.SRE_FLAG_MULTILINE\nsre_parse.SRE_FLAG_TEMPLATE\nsre_parse.SRE_FLAG_UNICODE\nsre_parse.SRE_FLAG_VERBOSE\nsre_parse.SRE_INFO_CHARSET\nsre_parse.SRE_INFO_LITERAL\nsre_parse.SRE_INFO_PREFIX\nsre_parse.SUBPATTERN\nsre_parse.SUCCESS\nsre_parse.SubPattern(??)\nsre_parse.Tokenizer(??)\nsre_parse.WHITESPACE\nsre_parse.error\nsre_parse.expand_template(??)\nsre_parse.isdigit(??)\nsre_parse.isident(??)\nsre_parse.isname(??)\nsre_parse.makedict(??)\nsre_parse.parse(??)\nsre_parse.parse_template(??)\nsre_parse.set(??)\nsre_parse.sys\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.DER_cert_to_PEM_cert(??)\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2\nssl.PROTOCOL_SSLv23\nssl.PROTOCOL_SSLv3\nssl.PROTOCOL_TLSv1\nssl.RAND_add(string, entropy)\nssl.RAND_egd(path) -> bytes\nssl.RAND_status() -> 0 or 1\nssl.SSLError\nssl.SSLSocket\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.base64\nssl.cert_time_to_seconds(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.socket([family[, type[, proto]]]) -> socket object\nssl.sslwrap_simple(??)\nssl.textwrap\nssl.wrap_socket(??)\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstaticmethod(function) -> method\nstatvfs.F_BAVAIL\nstatvfs.F_BFREE\nstatvfs.F_BLOCKS\nstatvfs.F_BSIZE\nstatvfs.F_FAVAIL\nstatvfs.F_FFREE\nstatvfs.F_FILES\nstatvfs.F_FLAG\nstatvfs.F_FRSIZE\nstatvfs.F_NAMEMAX\nstr(object) -> string\nstring.Formatter\nstring.Template\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.atof(s) -> float\nstring.atof_error\nstring.atoi(s [,base]) -> int\nstring.atoi_error\nstring.atol(s [,base]) -> long\nstring.atol_error\nstring.capitalize(s) -> string\nstring.capwords(s, [sep]) -> string\nstring.center(s, width[, fillchar]) -> string\nstring.count(s, sub[, start[,end]]) -> int\nstring.digits\nstring.expandtabs(s [,tabsize]) -> string\nstring.find(s, sub [,start [,end]]) -> in\nstring.hexdigits\nstring.index(s, sub [,start [,end]]) -> int\nstring.index_error\nstring.join(list [,sep]) -> string\nstring.joinfields(??)\nstring.letters\nstring.ljust(s, width[, fillchar]) -> string\nstring.lower(s) -> string\nstring.lowercase\nstring.lstrip(s [,chars]) -> string\nstring.maketrans(frm, to) -> string\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.replace (str, old, new[, maxsplit]) -> string\nstring.rfind(s, sub [,start [,end]]) -> int\nstring.rindex(s, sub [,start [,end]]) -> int\nstring.rjust(s, width[, fillchar]) -> string\nstring.rsplit(s [,sep [,maxsplit]]) -> list of strings\nstring.rstrip(s [,chars]) -> string\nstring.split(s [,sep [,maxsplit]]) -> list of strings\nstring.splitfields(??)\nstring.strip(s [,chars]) -> string\nstring.swapcase(s) -> string\nstring.translate(s,table [,deletions]) -> string\nstring.upper(s) -> string\nstring.uppercase\nstring.whitespace\nstring.zfill(x, width) -> string\nstringold.atof(s) -> float\nstringold.atof_error\nstringold.atoi(s [,base]) -> int\nstringold.atoi_error\nstringold.atol(s [,base]) -> long\nstringold.atol_error\nstringold.capitalize(s) -> string\nstringold.capwords(s, [sep]) -> string\nstringold.center(s, width) -> string\nstringold.count(s, sub[, start[,end]]) -> int\nstringold.digits\nstringold.expandtabs(s [,tabsize]) -> string\nstringold.find(s, sub [,start [,end]]) -> in\nstringold.hexdigits\nstringold.index(s, sub [,start [,end]]) -> int\nstringold.index_error\nstringold.join(list [,sep]) -> string\nstringold.joinfields(??)\nstringold.letters\nstringold.ljust(s, width) -> string\nstringold.lower(s) -> string\nstringold.lowercase\nstringold.lstrip(s) -> string\nstringold.maketrans(frm, to) -> string\nstringold.octdigits\nstringold.replace (str, old, new[, maxsplit]) -> string\nstringold.rfind(s, sub [,start [,end]]) -> int\nstringold.rindex(s, sub [,start [,end]]) -> int\nstringold.rjust(s, width) -> string\nstringold.rstrip(s) -> string\nstringold.split(str [,sep [,maxsplit]]) -> list of strings\nstringold.splitfields(??)\nstringold.strip(s) -> string\nstringold.swapcase(s) -> string\nstringold.translate(s,table [,deletechars]) -> string\nstringold.upper(s) -> string\nstringold.uppercase\nstringold.whitespace\nstringold.zfill(x, width) -> string\nstringprep.b1_set\nstringprep.b3_exceptions\nstringprep.c22_specials\nstringprep.c6_set\nstringprep.c7_set\nstringprep.c8_set\nstringprep.c9_set\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata\nstrop.atof(s) -> float\nstrop.atoi(s [,base]) -> int\nstrop.atol(s [,base]) -> long\nstrop.capitalize(s) -> string\nstrop.count(s, sub[, start[, end]]) -> int\nstrop.expandtabs(string, [tabsize]) -> string\nstrop.find(s, sub [,start [,end]]) -> in\nstrop.join(list [,sep]) -> string\nstrop.joinfields\nstrop.lower(s) -> string\nstrop.lowercase\nstrop.lstrip(s) -> string\nstrop.maketrans(frm, to) -> string\nstrop.replace (str, old, new[, maxsplit]) -> string\nstrop.rfind(s, sub [,start [,end]]) -> int\nstrop.rstrip(s) -> string\nstrop.split(s [,sep [,maxsplit]]) -> list of strings\nstrop.splitfields\nstrop.strip(s) -> string\nstrop.swapcase(s) -> string\nstrop.translate(s,table [,deletechars]) -> string\nstrop.upper(s) -> string\nstrop.uppercase\nstrop.whitespace\nstruct.Struct\nstruct.calcsize\nstruct.error\nstruct.pack\nstruct.pack_into\nstruct.unpack\nstruct.unpack_from\nsubprocess.CalledProcessError\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen\nsubprocess.STDOUT\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.errno\nsubprocess.fcntl\nsubprocess.gc\nsubprocess.list2cmdline(??)\nsubprocess.mswindows\nsubprocess.os\nsubprocess.pickle\nsubprocess.select\nsubprocess.signal\nsubprocess.sys\nsubprocess.traceback\nsubprocess.types\nsum(sequence[, start]) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error\nsunau.open(??)\nsunau.openfp(??)\nsunaudio.MAGIC\nsunaudio.error\nsunaudio.get_long_be(??)\nsunaudio.gethdr(??)\nsunaudio.printhdr(??)\nsuper(type) -> unbound super object\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.exec_stmt\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.fpdef\nsymbol.fplist\nsymbol.funcdef\nsymbol.gen_for\nsymbol.gen_if\nsymbol.gen_iter\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.list_for\nsymbol.list_if\nsymbol.list_iter\nsymbol.listmaker\nsymbol.main(??)\nsymbol.not_test\nsymbol.old_lambdef\nsymbol.old_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.print_stmt\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name\nsymbol.term\nsymbol.test\nsymbol.testlist\nsymbol.testlist1\nsymbol.testlist_gexp\nsymbol.testlist_safe\nsymbol.trailer\nsymbol.try_stmt\nsymbol.varargslist\nsymbol.while_stmt\nsymbol.with_stmt\nsymbol.with_var\nsymbol.xor_expr\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.Class\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.OPT_BARE_EXEC\nsymtable.OPT_EXEC\nsymtable.OPT_IMPORT_STAR\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol\nsymtable.SymbolTable\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.warnings\nsymtable.weakref\nsys.api_version\nsys.argv\nsys.builtin_module_names\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode\nsys.exc_clear() -> None\nsys.exc_info() -> (type, value, traceback)\nsys.exc_type\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags\nsys.float_info\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.gettrace()\nsys.hexversion\nsys.maxint\nsys.maxsize\nsys.maxunicode\nsys.meta_path\nsys.modules\nsys.path\nsys.path_hooks\nsys.path_importer_cache\nsys.platform\nsys.prefix\nsys.py3kwarning\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.settrace(function)\nsys.stderr\nsys.stdin\nsys.stdout\nsys.subversion\nsys.version\nsys.version_info\nsys.warnoptions\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog\nsyslog.openlog\nsyslog.setlogmask\nsyslog.syslog\ntabnanny.NannyNag\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt\ntabnanny.main(??)\ntabnanny.os\ntabnanny.process_tokens(??)\ntabnanny.sys\ntabnanny.tokenize\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.ExFileObject\ntarfile.ExtractError\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES\ntarfile.HeaderError\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS\ntarfile.PAX_FORMAT\ntarfile.PAX_NUMBER_FIELDS\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES\ntarfile.ReadError\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError\ntarfile.TAR_GZIPPED\ntarfile.TAR_PLAIN\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError\ntarfile.TarFile\ntarfile.TarFileCompat(??)\ntarfile.TarInfo\ntarfile.TarIter(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open\ntarfile.calc_chksums(??)\ntarfile.copy\ntarfile.copyfileobj(??)\ntarfile.errno\ntarfile.filemode(??)\ntarfile.filemode_table\ntarfile.grp\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.normpath(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open\ntarfile.operator\ntarfile.os\ntarfile.pwd\ntarfile.re\ntarfile.shutil\ntarfile.stat\ntarfile.stn(??)\ntarfile.struct\ntarfile.sys\ntarfile.time\ntarfile.uts(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.select\ntelnetlib.socket\ntelnetlib.sys\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B460800\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CBAUD\ntermios.CBAUDEX\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CIBAUD\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.IOCSIZE_MASK\ntermios.IOCSIZE_SHIFT\ntermios.ISIG\ntermios.ISTRIP\ntermios.IUCLC\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCC\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.N_MOUSE\ntermios.N_PPP\ntermios.N_SLIP\ntermios.N_STRIP\ntermios.N_TTY\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.OLCUC\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCFLSH\ntermios.TCGETA\ntermios.TCGETS\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSBRK\ntermios.TCSBRKP\ntermios.TCSETA\ntermios.TCSETAF\ntermios.TCSETAW\ntermios.TCSETS\ntermios.TCSETSF\ntermios.TCSETSW\ntermios.TCXONC\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGICOUNT\ntermios.TIOCGLCKTRMIOS\ntermios.TIOCGPGRP\ntermios.TIOCGSERIAL\ntermios.TIOCGSOFTCAR\ntermios.TIOCGWINSZ\ntermios.TIOCINQ\ntermios.TIOCLINUX\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMIWAIT\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSERCONFIG\ntermios.TIOCSERGETLSR\ntermios.TIOCSERGETMULTI\ntermios.TIOCSERGSTRUCT\ntermios.TIOCSERGWILD\ntermios.TIOCSERSETMULTI\ntermios.TIOCSERSWILD\ntermios.TIOCSER_TEMT\ntermios.TIOCSETD\ntermios.TIOCSLCKTRMIOS\ntermios.TIOCSPGRP\ntermios.TIOCSSERIAL\ntermios.TIOCSSOFTCAR\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VSWTC\ntermios.VSWTCH\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.XCASE\ntermios.XTABS\ntermios.error\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.re\ntextwrap.string\ntextwrap.wrap(??)\nthis.c\nthis.d\nthis.i\nthis.s\nthread.LockType\nthread.allocate\nthread.allocate_lock() -> lock object\nthread.error\nthread.exit()\nthread.exit_thread\nthread.get_ident() -> integer\nthread.interrupt_main()\nthread.stack_size([size]) -> size\nthread.start_new\nthread.start_new_thread(function, args[, kwargs])\nthreading.BoundedSemaphore(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.Thread\nthreading.ThreadError\nthreading.Timer(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.deque(iterable[, maxlen]) --> deque object\nthreading.enumerate(??)\nthreading.local\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\nthreading.warnings\nthreading.wraps(??)\ntime.accept2dyear\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time\ntime.time() -> floating point number\ntime.timezone\ntime.tzname\ntime.tzset(zone)\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer\ntimeit.dummy_src_name\ntimeit.gc\ntimeit.itertools\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys\ntimeit.template\ntimeit.time\ntimeit.timeit(??)\ntoaiff.error\ntoaiff.os\ntoaiff.pipes\ntoaiff.sndhdr\ntoaiff.t\ntoaiff.table\ntoaiff.tempfile\ntoaiff.toaiff(??)\ntoaiff.uncompress\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.BACKQUOTE\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.main(??)\ntoken.tok_name\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BACKQUOTE\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing\ntokenize.String\ntokenize.TILDE\ntokenize.Token\ntokenize.TokenError\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.double3prog\ntokenize.endprogs\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.printtoken(??)\ntokenize.pseudoprog\ntokenize.re\ntokenize.single3prog\ntokenize.single_quoted\ntokenize.string\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name\ntokenize.tokenize(??)\ntokenize.tokenize_loop(??)\ntokenize.tokenprog\ntokenize.triple_quoted\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.cPickle\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc\ntrace.linecache\ntrace.main(??)\ntrace.modname(??)\ntrace.os\ntrace.pickle\ntrace.re\ntrace.rx_blank\ntrace.sys\ntrace.threading\ntrace.time\ntrace.token\ntrace.tokenize\ntrace.types\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys\ntraceback.tb_lineno(??)\ntraceback.types\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B460800\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CBAUD\ntty.CBAUDEX\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CIBAUD\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.IOCSIZE_MASK\ntty.IOCSIZE_SHIFT\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IUCLC\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCC\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.N_MOUSE\ntty.N_PPP\ntty.N_SLIP\ntty.N_STRIP\ntty.N_TTY\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.OLCUC\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCFLSH\ntty.TCGETA\ntty.TCGETS\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSBRK\ntty.TCSBRKP\ntty.TCSETA\ntty.TCSETAF\ntty.TCSETAW\ntty.TCSETS\ntty.TCSETSF\ntty.TCSETSW\ntty.TCXONC\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGICOUNT\ntty.TIOCGLCKTRMIOS\ntty.TIOCGPGRP\ntty.TIOCGSERIAL\ntty.TIOCGSOFTCAR\ntty.TIOCGWINSZ\ntty.TIOCINQ\ntty.TIOCLINUX\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMIWAIT\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSERCONFIG\ntty.TIOCSERGETLSR\ntty.TIOCSERGETMULTI\ntty.TIOCSERGSTRUCT\ntty.TIOCSERGWILD\ntty.TIOCSERSETMULTI\ntty.TIOCSERSWILD\ntty.TIOCSER_TEMT\ntty.TIOCSETD\ntty.TIOCSLCKTRMIOS\ntty.TIOCSPGRP\ntty.TIOCSSERIAL\ntty.TIOCSSOFTCAR\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VSWTC\ntty.VSWTCH\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.XCASE\ntty.XTABS\ntty.error\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> an empty tuple\ntype(object) -> the object's type\ntypes.BooleanType\ntypes.BufferType\ntypes.BuiltinFunctionType\ntypes.BuiltinMethodType\ntypes.ClassType\ntypes.CodeType\ntypes.ComplexType\ntypes.DictProxyType\ntypes.DictType\ntypes.DictionaryType\ntypes.EllipsisType\ntypes.FileType\ntypes.FloatType\ntypes.FrameType\ntypes.FunctionType\ntypes.GeneratorType\ntypes.GetSetDescriptorType\ntypes.InstanceType\ntypes.IntType\ntypes.LambdaType\ntypes.ListType\ntypes.LongType\ntypes.MemberDescriptorType\ntypes.MethodType\ntypes.ModuleType\ntypes.NoneType\ntypes.NotImplementedType\ntypes.ObjectType\ntypes.SliceType\ntypes.StringType\ntypes.StringTypes\ntypes.TracebackType\ntypes.TupleType\ntypes.TypeType\ntypes.UnboundMethodType\ntypes.UnicodeType\ntypes.XRangeType\nunichr(i) -> Unicode character\nunicode(string [, encoding[, errors]]) -> object\nunicodedata.UCD\nunicodedata.bidirectional(unichr)\nunicodedata.category(unichr)\nunicodedata.combining(unichr)\nunicodedata.decimal(unichr[, default])\nunicodedata.decomposition(unichr)\nunicodedata.digit(unichr[, default])\nunicodedata.east_asian_width(unichr)\nunicodedata.lookup(name)\nunicodedata.mirrored(unichr)\nunicodedata.name(unichr[, default])\nunicodedata.normalize(form, unistr)\nunicodedata.numeric(unichr[, default])\nunicodedata.ucd_3_2_0\nunicodedata.ucnhash_CAPI\nunicodedata.unidata_version\nunittest.FunctionTestCase\nunittest.TestCase\nunittest.TestLoader\nunittest.TestProgram\nunittest.TestResult\nunittest.TestSuite\nunittest.TextTestRunner\nunittest.defaultTestLoader\nunittest.findTestCases(??)\nunittest.getTestCaseNames(??)\nunittest.main\nunittest.makeSuite(??)\nunittest.os\nunittest.sys\nunittest.time\nunittest.traceback\nunittest.types\nurllib.ContentTooShortError\nurllib.FancyURLopener(??)\nurllib.MAXFTPCACHE\nurllib.URLopener(??)\nurllib.addbase(??)\nurllib.addclosehook(??)\nurllib.addinfo(??)\nurllib.addinfourl(??)\nurllib.always_safe\nurllib.basejoin(??)\nurllib.ftpcache\nurllib.ftperrors(??)\nurllib.ftpwrapper(??)\nurllib.getproxies(??)\nurllib.getproxies_environment(??)\nurllib.localhost(??)\nurllib.main(??)\nurllib.noheaders(??)\nurllib.os\nurllib.pathname2url(??)\nurllib.proxy_bypass(??)\nurllib.proxy_bypass_environment(??)\nurllib.quote('abc def') -> 'abc%20def'\nurllib.quote_plus(??)\nurllib.reporthook(??)\nurllib.socket\nurllib.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.splitnport(??)\nurllib.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.splitport('host:port') --> 'host', 'port'.\nurllib.splitquery('/path?query') --> '/path', 'query'.\nurllib.splittag('/path#tag') --> '/path', 'tag'.\nurllib.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.ssl\nurllib.string\nurllib.sys\nurllib.test(??)\nurllib.test1(??)\nurllib.thishost(??)\nurllib.time\nurllib.toBytes(u\"URL\") --> 'URL'.\nurllib.unquote('abc%20def') -> 'abc def'.\nurllib.unquote_plus(??)\nurllib.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.url2pathname(??)\nurllib.urlcleanup(??)\nurllib.urlencode(??)\nurllib.urlopen(??)\nurllib.urlretrieve(??)\nurllib.warnings\nurllib2.AbstractBasicAuthHandler(??)\nurllib2.AbstractDigestAuthHandler(??)\nurllib2.AbstractHTTPHandler(??)\nurllib2.BaseHandler(??)\nurllib2.CacheFTPHandler(??)\nurllib2.FTPHandler(??)\nurllib2.FileHandler(??)\nurllib2.HTTPBasicAuthHandler(??)\nurllib2.HTTPCookieProcessor(??)\nurllib2.HTTPDefaultErrorHandler(??)\nurllib2.HTTPDigestAuthHandler(??)\nurllib2.HTTPError\nurllib2.HTTPErrorProcessor(??)\nurllib2.HTTPHandler(??)\nurllib2.HTTPPasswordMgr(??)\nurllib2.HTTPPasswordMgrWithDefaultRealm(??)\nurllib2.HTTPRedirectHandler(??)\nurllib2.HTTPSHandler(??)\nurllib2.OpenerDirector(??)\nurllib2.ProxyBasicAuthHandler(??)\nurllib2.ProxyDigestAuthHandler(??)\nurllib2.ProxyHandler(??)\nurllib2.Request(??)\nurllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nurllib2.URLError\nurllib2.UnknownHandler(??)\nurllib2.addinfourl(??)\nurllib2.base64\nurllib2.bisect\nurllib2.build_opener(??)\nurllib2.ftpwrapper(??)\nurllib2.getproxies(??)\nurllib2.hashlib\nurllib2.httplib\nurllib2.install_opener(??)\nurllib2.localhost(??)\nurllib2.mimetools\nurllib2.os\nurllib2.parse_http_list(??)\nurllib2.parse_keqv_list(??)\nurllib2.posixpath\nurllib2.quote('abc def') -> 'abc%20def'\nurllib2.random\nurllib2.randombytes(??)\nurllib2.re\nurllib2.request_host(??)\nurllib2.socket\nurllib2.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib2.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib2.splitport('host:port') --> 'host', 'port'.\nurllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib2.splitvalue('attr=value') --> 'attr', 'value'.\nurllib2.sys\nurllib2.time\nurllib2.unquote('abc%20def') -> 'abc def'.\nurllib2.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib2.url2pathname(??)\nurllib2.urlopen(??)\nurllib2.urlparse\nurlparse.MAX_CACHE_SIZE\nurlparse.ParseResult\nurlparse.ResultMixin\nurlparse.SplitResult\nurlparse.clear_cache(??)\nurlparse.namedtuple(??)\nurlparse.non_hierarchical\nurlparse.parse_qs(??)\nurlparse.parse_qsl(??)\nurlparse.scheme_chars\nurlparse.test(??)\nurlparse.test_input\nurlparse.unquote('abc%20def') -> 'abc def'.\nurlparse.urldefrag(??)\nurlparse.urljoin(??)\nurlparse.urlparse(??)\nurlparse.urlsplit(??)\nurlparse.urlunparse(??)\nurlparse.urlunsplit(??)\nurlparse.uses_fragment\nurlparse.uses_netloc\nurlparse.uses_params\nurlparse.uses_query\nurlparse.uses_relative\nuser.home\nuser.os\nuser.pythonrc\nuu.Error\nuu.binascii\nuu.decode(??)\nuu.encode(??)\nuu.os\nuu.sys\nuu.test(??)\nuuid.NAMESPACE_DNS\nuuid.NAMESPACE_OID\nuuid.NAMESPACE_URL\nuuid.NAMESPACE_X500\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID\nuuid.ctypes\nuuid.getnode(??)\nuuid.lib\nuuid.libname\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nwarnings.WarningMessage\nwarnings.catch_warnings\nwarnings.default_action\nwarnings.defaultaction\nwarnings.filters\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache\nwarnings.once_registry\nwarnings.onceregistry\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys\nwarnings.types\nwarnings.warn\nwarnings.warn_explicit\nwarnings.warnpy3k(??)\nwave.Chunk(??)\nwave.Error\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.open(??)\nwave.openfp(??)\nwave.struct\nweakref.CallableProxyType\nweakref.KeyedRef\nweakref.ProxyType\nweakref.ProxyTypes\nweakref.ReferenceError\nweakref.ReferenceType\nweakref.UserDict\nweakref.WeakKeyDictionary(??)\nweakref.WeakValueDictionary(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref\nwebbrowser.BackgroundBrowser\nwebbrowser.BaseBrowser\nwebbrowser.Elinks\nwebbrowser.Error\nwebbrowser.Galeon\nwebbrowser.GenericBrowser\nwebbrowser.Grail\nwebbrowser.Konqueror\nwebbrowser.Mozilla\nwebbrowser.Netscape\nwebbrowser.Opera\nwebbrowser.UnixBrowser\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex\nwebbrowser.stat\nwebbrowser.subprocess\nwebbrowser.sys\nwebbrowser.time\nwhichdb.dbm\nwhichdb.os\nwhichdb.struct\nwhichdb.sys\nwhichdb.whichdb(??)\nwsgiref.handlers\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.StringType\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os\nwsgiref.handlers.sys\nwsgiref.handlers.time\nwsgiref.headers\nwsgiref.headers.Headers(??)\nwsgiref.headers.ListType\nwsgiref.headers.TupleType\nwsgiref.headers.re\nwsgiref.headers.tspecials\nwsgiref.simple_server\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib\nwsgiref.util\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.DictType\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.ListType\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.StringType\nwsgiref.validate.TupleType\nwsgiref.validate.WSGIWarning\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.header_re\nwsgiref.validate.re\nwsgiref.validate.sys\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings\nxdrlib.ConversionError\nxdrlib.Error\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct\nxml.dom\nxml.dom.DOMException\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr\nxml.dom.EMPTY_NAMESPACE\nxml.dom.EMPTY_PREFIX\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr\nxml.dom.InuseAttributeErr\nxml.dom.InvalidAccessErr\nxml.dom.InvalidCharacterErr\nxml.dom.InvalidModificationErr\nxml.dom.InvalidStateErr\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr\nxml.dom.NoDataAllowedErr\nxml.dom.NoModificationAllowedErr\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr\nxml.dom.NotSupportedErr\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg\nxml.dom.domreg.EmptyNodeList\nxml.dom.domreg.NodeList\nxml.dom.domreg.StringTypes\nxml.dom.domreg.defproperty(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered\nxml.dom.domreg.well_known_implementations\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE\nxml.dom.expatbuilder.EMPTY_PREFIX\nxml.dom.expatbuilder.ElementInfo\nxml.dom.expatbuilder.EmptyNodeList\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch\nxml.dom.expatbuilder.FilterVisibilityController\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.NodeList\nxml.dom.expatbuilder.ParseEscape\nxml.dom.expatbuilder.Rejecter\nxml.dom.expatbuilder.Skipper\nxml.dom.expatbuilder.StringTypes\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.defproperty(??)\nxml.dom.expatbuilder.expat\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation\nxml.dom.expatbuilder.xmlbuilder\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat\nxml.dom.minicompat.EmptyNodeList\nxml.dom.minicompat.NodeList\nxml.dom.minicompat.StringTypes\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE\nxml.dom.minidom.EMPTY_PREFIX\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo\nxml.dom.minidom.EmptyNodeList\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap\nxml.dom.minidom.StringTypes\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml\nxml.dom.pulldom\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.types\nxml.dom.pulldom.xml\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy\nxml.dom.xmlbuilder.xml\nxml.etree.ElementInclude.ElementTree\nxml.etree.ElementInclude.FatalIncludeError\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.Path(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.re\nxml.etree.ElementPath.xpath_descendant_or_self(??)\nxml.etree.ElementPath.xpath_tokenizer\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLTreeBuilder(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fixtag(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re\nxml.etree.ElementTree.string\nxml.etree.ElementTree.sys\nxml.etree.ElementTree.tostring(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element\nxml.etree.cElementTree.ElementPath\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement\nxml.etree.cElementTree.TreeBuilder\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser\nxml.etree.cElementTree.XMLParserError\nxml.etree.cElementTree.XMLTreeBuilder\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.tostring(??)\nxml.parsers\nxml.parsers.expat\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error\nxml.parsers.expat.errors\nxml.parsers.expat.expat_CAPI\nxml.parsers.expat.features\nxml.parsers.expat.model\nxml.parsers.expat.native_encoding\nxml.parsers.expat.version_info\nxml.sax\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException\nxml.sax.SAXNotRecognizedException\nxml.sax.SAXNotSupportedException\nxml.sax.SAXParseException\nxml.sax.SAXReaderNotAvailable\nxml.sax.default_parser_list\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException\nxml.sax.expatreader.SAXNotRecognizedException\nxml.sax.expatreader.SAXNotSupportedException\nxml.sax.expatreader.SAXParseException\nxml.sax.expatreader.SAXReaderNotAvailable\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader\nxml.sax.handler\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features\nxml.sax.handler.all_properties\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler\nxml.sax.saxutils.os\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.types\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib\nxml.sax.saxutils.urlparse\nxml.sax.saxutils.xmlreader\nxml.sax.xmlreader\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException\nxml.sax.xmlreader.SAXNotSupportedException\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler\nxmllib.Error\nxmllib.TestXMLParser(??)\nxmllib.XMLParser(??)\nxmllib.amp\nxmllib.attrfind\nxmllib.attrtrans\nxmllib.cdataclose\nxmllib.cdataopen\nxmllib.charref\nxmllib.commentclose\nxmllib.commentopen\nxmllib.doctype\nxmllib.doubledash\nxmllib.endbracket\nxmllib.endbracketfind\nxmllib.endtagopen\nxmllib.entityref\nxmllib.illegal\nxmllib.interesting\nxmllib.ncname\nxmllib.newline\nxmllib.procclose\nxmllib.procopen\nxmllib.qname\nxmllib.re\nxmllib.ref\nxmllib.space\nxmllib.starttagend\nxmllib.starttagmatch\nxmllib.starttagopen\nxmllib.string\nxmllib.tagfind\nxmllib.test(??)\nxmllib.version\nxmllib.xmldecl\nxmllib.xmlns\nxmlrpclib.APPLICATION_ERROR\nxmlrpclib.Binary(??)\nxmlrpclib.Boolean\nxmlrpclib.BooleanType\nxmlrpclib.BufferType\nxmlrpclib.BuiltinFunctionType\nxmlrpclib.BuiltinMethodType\nxmlrpclib.ClassType\nxmlrpclib.CodeType\nxmlrpclib.ComplexType\nxmlrpclib.DateTime(??)\nxmlrpclib.DictProxyType\nxmlrpclib.DictType\nxmlrpclib.DictionaryType\nxmlrpclib.EllipsisType\nxmlrpclib.Error\nxmlrpclib.ExpatParser(??)\nxmlrpclib.False\nxmlrpclib.FastMarshaller\nxmlrpclib.FastParser\nxmlrpclib.FastUnmarshaller\nxmlrpclib.Fault\nxmlrpclib.FileType\nxmlrpclib.FloatType\nxmlrpclib.FrameType\nxmlrpclib.FunctionType\nxmlrpclib.GeneratorType\nxmlrpclib.GetSetDescriptorType\nxmlrpclib.INTERNAL_ERROR\nxmlrpclib.INVALID_ENCODING_CHAR\nxmlrpclib.INVALID_METHOD_PARAMS\nxmlrpclib.INVALID_XMLRPC\nxmlrpclib.InstanceType\nxmlrpclib.IntType\nxmlrpclib.LambdaType\nxmlrpclib.ListType\nxmlrpclib.LongType\nxmlrpclib.MAXINT\nxmlrpclib.METHOD_NOT_FOUND\nxmlrpclib.MININT\nxmlrpclib.Marshaller(??)\nxmlrpclib.MemberDescriptorType\nxmlrpclib.MethodType\nxmlrpclib.ModuleType\nxmlrpclib.MultiCall(??)\nxmlrpclib.MultiCallIterator(??)\nxmlrpclib.NOT_WELLFORMED_ERROR\nxmlrpclib.NoneType\nxmlrpclib.NotImplementedType\nxmlrpclib.ObjectType\nxmlrpclib.PARSE_ERROR\nxmlrpclib.ProtocolError\nxmlrpclib.ResponseError\nxmlrpclib.SERVER_ERROR\nxmlrpclib.SYSTEM_ERROR\nxmlrpclib.SafeTransport(??)\nxmlrpclib.Server(??)\nxmlrpclib.ServerProxy(??)\nxmlrpclib.SgmlopParser\nxmlrpclib.SliceType\nxmlrpclib.SlowParser(??)\nxmlrpclib.StringIO\nxmlrpclib.StringType\nxmlrpclib.StringTypes\nxmlrpclib.TRANSPORT_ERROR\nxmlrpclib.TracebackType\nxmlrpclib.Transport(??)\nxmlrpclib.True\nxmlrpclib.TupleType\nxmlrpclib.TypeType\nxmlrpclib.UNSUPPORTED_ENCODING\nxmlrpclib.UnboundMethodType\nxmlrpclib.UnicodeType\nxmlrpclib.Unmarshaller(??)\nxmlrpclib.WRAPPERS\nxmlrpclib.XRangeType\nxmlrpclib.base64\nxmlrpclib.boolean\nxmlrpclib.datetime\nxmlrpclib.dumps(??)\nxmlrpclib.escape(??)\nxmlrpclib.expat\nxmlrpclib.getparser() -> parser, unmarshaller\nxmlrpclib.loads(??)\nxmlrpclib.operator\nxmlrpclib.re\nxmlrpclib.string\nxmlrpclib.time\nxrange([start,] stop[, step]) -> xrange object\nxxsubtype.bench\nxxsubtype.spamdict\nxxsubtype.spamlist\nzip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]\nzipfile.BadZipfile\nzipfile.LargeZipFile\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo\nzipfile.binascii\nzipfile.cStringIO\nzipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzipfile.error\nzipfile.is_zipfile(??)\nzipfile.main(??)\nzipfile.os\nzipfile.shutil\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys\nzipfile.time\nzipfile.zlib\nzipimport.ZipImportError\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string.\nzlib.compress(string[, level]) -- Returned compressed string.\nzlib.compressobj([level]) -- Return a compressor object.\nzlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string.\nzlib.decompressobj([wbits]) -- Return a decompressor object.\nzlib.error\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-2.7.api",
    "content": "ArithmeticError\nAssertionError\nAttributeError\nBaseException\nBaseHTTPServer.BaseHTTPRequestHandler(??)\nBaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE\nBaseHTTPServer.DEFAULT_ERROR_MESSAGE\nBaseHTTPServer.HTTPServer(??)\nBaseHTTPServer.SocketServer\nBaseHTTPServer.catch_warnings\nBaseHTTPServer.filterwarnings(??)\nBaseHTTPServer.mimetools\nBaseHTTPServer.socket\nBaseHTTPServer.sys\nBaseHTTPServer.test(??)\nBaseHTTPServer.time\nBastion.Bastion(??)\nBastion.BastionClass(??)\nBastion.MethodType\nBufferError\nBytesWarning\nCGIHTTPServer.BaseHTTPServer\nCGIHTTPServer.CGIHTTPRequestHandler(??)\nCGIHTTPServer.SimpleHTTPServer\nCGIHTTPServer.executable(??)\nCGIHTTPServer.nobody\nCGIHTTPServer.nobody_uid(??)\nCGIHTTPServer.os\nCGIHTTPServer.select\nCGIHTTPServer.sys\nCGIHTTPServer.test(??)\nCGIHTTPServer.urllib\nConfigParser.ConfigParser(??)\nConfigParser.DEFAULTSECT\nConfigParser.DuplicateSectionError\nConfigParser.Error\nConfigParser.InterpolationDepthError\nConfigParser.InterpolationError\nConfigParser.InterpolationMissingOptionError\nConfigParser.InterpolationSyntaxError\nConfigParser.MAX_INTERPOLATION_DEPTH\nConfigParser.MissingSectionHeaderError\nConfigParser.NoOptionError\nConfigParser.NoSectionError\nConfigParser.ParsingError\nConfigParser.RawConfigParser(??)\nConfigParser.SafeConfigParser(??)\nConfigParser.re\nCookie.BaseCookie\nCookie.Cookie\nCookie.CookieError\nCookie.Morsel\nCookie.SerialCookie\nCookie.SimpleCookie\nCookie.SmartCookie\nCookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\nCookie.loads(string) -- Load a pickle from the given string\nCookie.re\nCookie.string\nCookie.warnings\nDeprecationWarning\nDocXMLRPCServer.CGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocCGIXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCRequestHandler(??)\nDocXMLRPCServer.DocXMLRPCServer(??)\nDocXMLRPCServer.ServerHTMLDoc(??)\nDocXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nDocXMLRPCServer.SimpleXMLRPCServer(??)\nDocXMLRPCServer.XMLRPCDocGenerator(??)\nDocXMLRPCServer.inspect\nDocXMLRPCServer.pydoc\nDocXMLRPCServer.re\nDocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nDocXMLRPCServer.sys\nEOFError\nEllipsis\nEnvironmentError\nException\nFalse\nFloatingPointError\nFutureWarning\nGeneratorExit\nHTMLParser.HTMLParseError\nHTMLParser.HTMLParser(??)\nHTMLParser.attrfind\nHTMLParser.charref\nHTMLParser.commentclose\nHTMLParser.endendtag\nHTMLParser.endtagfind\nHTMLParser.entityref\nHTMLParser.incomplete\nHTMLParser.interesting_cdata\nHTMLParser.interesting_normal\nHTMLParser.locatestarttagend\nHTMLParser.markupbase\nHTMLParser.piclose\nHTMLParser.re\nHTMLParser.starttagopen\nHTMLParser.tagfind\nIOError\nImportError\nImportWarning\nIndentationError\nIndexError\nKeyError\nKeyboardInterrupt\nLookupError\nMemoryError\nMimeWriter.MimeWriter(??)\nMimeWriter.mimetools\nMimeWriter.warnings\nNameError\nNone\nNotImplemented\nNotImplementedError\nOSError\nOverflowError\nPendingDeprecationWarning\nQueue.Empty\nQueue.Full\nQueue.LifoQueue(??)\nQueue.PriorityQueue(??)\nQueue.Queue(??)\nQueue.deque(iterable[, maxlen]) --> deque object\nQueue.heapq\nReferenceError\nRuntimeError\nRuntimeWarning\nSimpleHTTPServer.BaseHTTPServer\nSimpleHTTPServer.SimpleHTTPRequestHandler(??)\nSimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nSimpleHTTPServer.cgi\nSimpleHTTPServer.mimetypes\nSimpleHTTPServer.os\nSimpleHTTPServer.posixpath\nSimpleHTTPServer.shutil\nSimpleHTTPServer.test(??)\nSimpleHTTPServer.urllib\nSimpleXMLRPCServer.BaseHTTPServer\nSimpleXMLRPCServer.CGIXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.Fault\nSimpleXMLRPCServer.MultiPathXMLRPCServer(??)\nSimpleXMLRPCServer.SimpleXMLRPCDispatcher(??)\nSimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??)\nSimpleXMLRPCServer.SimpleXMLRPCServer(??)\nSimpleXMLRPCServer.SocketServer\nSimpleXMLRPCServer.fcntl\nSimpleXMLRPCServer.list_public_methods(??)\nSimpleXMLRPCServer.os\nSimpleXMLRPCServer.re\nSimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2]\nSimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nSimpleXMLRPCServer.sys\nSimpleXMLRPCServer.traceback\nSimpleXMLRPCServer.xmlrpclib\nSocketServer.BaseRequestHandler(??)\nSocketServer.BaseServer(??)\nSocketServer.DatagramRequestHandler(??)\nSocketServer.ForkingMixIn(??)\nSocketServer.ForkingTCPServer(??)\nSocketServer.ForkingUDPServer(??)\nSocketServer.StreamRequestHandler(??)\nSocketServer.TCPServer(??)\nSocketServer.ThreadingMixIn(??)\nSocketServer.ThreadingTCPServer(??)\nSocketServer.ThreadingUDPServer(??)\nSocketServer.ThreadingUnixDatagramServer(??)\nSocketServer.ThreadingUnixStreamServer(??)\nSocketServer.UDPServer(??)\nSocketServer.UnixDatagramServer(??)\nSocketServer.UnixStreamServer(??)\nSocketServer.os\nSocketServer.select\nSocketServer.socket\nSocketServer.sys\nSocketServer.threading\nStandardError\nStopIteration\nStringIO.EINVAL\nStringIO.StringIO(??)\nStringIO.test(??)\nSyntaxError\nSyntaxWarning\nSystemError\nSystemExit\nTabError\nTrue\nTypeError\nUnboundLocalError\nUnicodeDecodeError\nUnicodeEncodeError\nUnicodeError\nUnicodeTranslateError\nUnicodeWarning\nUserDict.DictMixin(??)\nUserDict.IterableUserDict(??)\nUserDict.UserDict(??)\nUserList.UserList\nUserList.collections\nUserString.MutableString\nUserString.UserString\nUserString.collections\nUserString.sys\nUserWarning\nValueError\nWarning\nZeroDivisionError\nabc.ABCMeta\nabc.abstractmethod(??)\nabc.abstractproperty\nabc.types\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error\naifc.open(??)\naifc.openfp(??)\naifc.struct\nall(iterable) -> bool\nantigravity.webbrowser\nany(iterable) -> bool\nanydbm.error\nanydbm.open(??)\napply(object[, args[, kwargs]]) -> value\nargparse.Action\nargparse.ArgumentDefaultsHelpFormatter\nargparse.ArgumentError\nargparse.ArgumentParser\nargparse.ArgumentTypeError\nargparse.FileType\nargparse.HelpFormatter\nargparse.Namespace\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter\nargparse.RawTextHelpFormatter\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\narray.ArrayType\narray.array(typecode [, initializer]) -> array\nast.AST\nast.Add\nast.And\nast.Assert\nast.Assign\nast.Attribute\nast.AugAssign\nast.AugLoad\nast.AugStore\nast.BinOp\nast.BitAnd\nast.BitOr\nast.BitXor\nast.BoolOp\nast.Break\nast.Call\nast.ClassDef\nast.Compare\nast.Continue\nast.Del\nast.Delete\nast.Dict\nast.DictComp\nast.Div\nast.Ellipsis\nast.Eq\nast.ExceptHandler\nast.Exec\nast.Expr\nast.Expression\nast.ExtSlice\nast.FloorDiv\nast.For\nast.FunctionDef\nast.GeneratorExp\nast.Global\nast.Gt\nast.GtE\nast.If\nast.IfExp\nast.Import\nast.ImportFrom\nast.In\nast.Index\nast.Interactive\nast.Invert\nast.Is\nast.IsNot\nast.LShift\nast.Lambda\nast.List\nast.ListComp\nast.Load\nast.Lt\nast.LtE\nast.Mod\nast.Module\nast.Mult\nast.Name\nast.NodeTransformer\nast.NodeVisitor\nast.Not\nast.NotEq\nast.NotIn\nast.Num\nast.Or\nast.Param\nast.Pass\nast.Pow\nast.Print\nast.PyCF_ONLY_AST\nast.RShift\nast.Raise\nast.Repr\nast.Return\nast.Set\nast.SetComp\nast.Slice\nast.Store\nast.Str\nast.Sub\nast.Subscript\nast.Suite\nast.TryExcept\nast.TryFinally\nast.Tuple\nast.UAdd\nast.USub\nast.UnaryOp\nast.While\nast.With\nast.Yield\nast.alias\nast.arguments\nast.boolop\nast.cmpop\nast.comprehension\nast.copy_location(??)\nast.dump(??)\nast.excepthandler\nast.expr\nast.expr_context\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword\nast.literal_eval(??)\nast.mod\nast.operator\nast.parse(??)\nast.slice\nast.stmt\nast.unaryop\nast.walk(??)\nasynchat.async_chat(??)\nasynchat.asyncore\nasynchat.catch_warnings\nasynchat.deque(iterable[, maxlen]) --> deque object\nasynchat.fifo(??)\nasynchat.filterwarnings(??)\nasynchat.find_prefix_at_end(??)\nasynchat.py3kwarning\nasynchat.simple_producer(??)\nasynchat.socket\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINTR\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode\nasyncore.fcntl\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select\nasyncore.socket\nasyncore.socket_map\nasyncore.sys\nasyncore.time\nasyncore.warnings\nasyncore.write(??)\natexit.register(??)\natexit.sys\naudiodev.AudioDev(??)\naudiodev.Play_Audio_sgi(??)\naudiodev.Play_Audio_sun(??)\naudiodev.error\naudiodev.test(??)\naudioop.add\naudioop.adpcm2lin\naudioop.alaw2lin\naudioop.avg\naudioop.avgpp\naudioop.bias\naudioop.cross\naudioop.error\naudioop.findfactor\naudioop.findfit\naudioop.findmax\naudioop.getsample\naudioop.lin2adpcm\naudioop.lin2alaw\naudioop.lin2lin\naudioop.lin2ulaw\naudioop.max\naudioop.maxpp\naudioop.minmax\naudioop.mul\naudioop.ratecv\naudioop.reverse\naudioop.rms\naudioop.tomono\naudioop.tostereo\naudioop.ulaw2lin\nbase64.EMPTYSTRING\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii\nbase64.decode(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodestring(??)\nbase64.k\nbase64.re\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct\nbase64.test(??)\nbase64.test1(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbase64.v\nbasestring\nbdb.Bdb(??)\nbdb.BdbQuit\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch\nbdb.foo(??)\nbdb.os\nbdb.set_trace(??)\nbdb.sys\nbdb.test(??)\nbdb.types\nbin(number) -> string\nbinascii.Error\nbinascii.Incomplete\nbinascii.a2b_base64\nbinascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.\nbinascii.a2b_hqx\nbinascii.a2b_qp\nbinascii.a2b_uu\nbinascii.b2a_base64\nbinascii.b2a_hex(data) -> s; Hexadecimal representation of binary data.\nbinascii.b2a_hqx\nbinascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nbinascii.b2a_uu\nbinascii.crc32\nbinascii.crc_hqx\nbinascii.hexlify\nbinascii.rlecode_hqx\nbinascii.rledecode_hqx\nbinascii.unhexlify\nbinhex.BinHex(??)\nbinhex.Error\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii\nbinhex.binhex(??)\nbinhex.getfileinfo(??)\nbinhex.hexbin(??)\nbinhex.openrsrc(??)\nbinhex.os\nbinhex.struct\nbinhex.sys\nbisect.bisect\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuffer(object [, offset[, size]])\nbytearray(iterable_of_ints) -> bytearray.\nbytes\ncPickle.BadPickleGet\ncPickle.HIGHEST_PROTOCOL\ncPickle.PickleError\ncPickle.Pickler(file, protocol=0) -- Create a pickler.\ncPickle.PicklingError\ncPickle.UnpickleableError\ncPickle.Unpickler(file) -- Create an unpickler.\ncPickle.UnpicklingError\ncPickle.compatible_formats\ncPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file.\ncPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format.\ncPickle.format_version\ncPickle.load(file) -- Load a pickle from the given file\ncPickle.loads(string) -- Load a pickle from the given string\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.help(??)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncStringIO.InputType\ncStringIO.OutputType\ncStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncStringIO.cStringIO_CAPI\ncalendar.Calendar\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar\ncalendar.IllegalMonthError\ncalendar.IllegalWeekdayError\ncalendar.January\ncalendar.LocaleHTMLCalendar\ncalendar.LocaleTextCalendar\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar\ncalendar.TimeEncoding(??)\ncalendar.WEDNESDAY\ncalendar.c\ncalendar.calendar\ncalendar.datetime\ncalendar.day_abbr\ncalendar.day_name\ncalendar.error\ncalendar.firstweekday\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays\ncalendar.month\ncalendar.month_abbr\ncalendar.month_name\ncalendar.monthcalendar\ncalendar.monthrange(??)\ncalendar.prcal\ncalendar.prmonth\ncalendar.prweek\ncalendar.setfirstweekday(??)\ncalendar.sys\ncalendar.timegm(??)\ncalendar.week\ncalendar.weekday(??)\ncalendar.weekheader\ncallable(object) -> bool\ncgi.FieldStorage(??)\ncgi.FormContent(??)\ncgi.FormContentDict(??)\ncgi.InterpFormContentDict(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncgi.SvFormContentDict(??)\ncgi.UserDict\ncgi.attrgetter(attr, ...) --> attrgetter object\ncgi.catch_warnings\ncgi.dolog(??)\ncgi.escape(??)\ncgi.filterwarnings(??)\ncgi.initlog(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp\ncgi.maxlen\ncgi.mimetools\ncgi.nolog(??)\ncgi.os\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.rfc822\ncgi.sys\ncgi.test(??)\ncgi.urllib\ncgi.urlparse\ncgi.valid_boundary(??)\ncgi.warn\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler\ncgitb.html(??)\ncgitb.inspect\ncgitb.keyword\ncgitb.linecache\ncgitb.lookup(??)\ncgitb.os\ncgitb.pydoc\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys\ncgitb.tempfile\ncgitb.text(??)\ncgitb.time\ncgitb.tokenize\ncgitb.traceback\ncgitb.types\nchr(i) -> character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.isinf(z) -> bool\ncmath.isnan(z) -> bool\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.phase(z) -> float\ncmath.pi\ncmath.polar(z) -> r: float, phi: float\ncmath.rect(r, phi) -> z: complex\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string\ncmp(x, y) -> integer\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.softspace(??)\ncode.sys\ncode.traceback\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder\ncodecs.BufferedIncrementalEncoder\ncodecs.Codec(??)\ncodecs.CodecInfo\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder\ncodecs.IncrementalEncoder\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode\ncodecs.ascii_encode\ncodecs.backslashreplace_errors\ncodecs.charbuffer_encode\ncodecs.charmap_build\ncodecs.charmap_decode\ncodecs.charmap_encode\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode\ncodecs.escape_encode\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode\ncodecs.latin_1_encode\ncodecs.lookup(encoding) -> CodecInfo\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode\ncodecs.raw_unicode_escape_encode\ncodecs.readbuffer_encode\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors\ncodecs.strict_errors\ncodecs.sys\ncodecs.unicode_escape_decode\ncodecs.unicode_escape_encode\ncodecs.unicode_internal_decode\ncodecs.unicode_internal_encode\ncodecs.utf_16_be_decode\ncodecs.utf_16_be_encode\ncodecs.utf_16_decode\ncodecs.utf_16_encode\ncodecs.utf_16_ex_decode\ncodecs.utf_16_le_decode\ncodecs.utf_16_le_encode\ncodecs.utf_32_be_decode\ncodecs.utf_32_be_encode\ncodecs.utf_32_decode\ncodecs.utf_32_encode\ncodecs.utf_32_ex_decode\ncodecs.utf_32_le_decode\ncodecs.utf_32_le_encode\ncodecs.utf_7_decode\ncodecs.utf_7_encode\ncodecs.utf_8_decode\ncodecs.utf_8_encode\ncodecs.xmlcharrefreplace_errors\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncodeop.fname\ncoerce(x, y) -> (x1, y1)\ncollections.Callable\ncollections.Container\ncollections.Counter\ncollections.Hashable\ncollections.ItemsView\ncollections.Iterable\ncollections.Iterator\ncollections.KeysView\ncollections.Mapping\ncollections.MappingView\ncollections.MutableMapping\ncollections.MutableSequence\ncollections.MutableSet\ncollections.OrderedDict\ncollections.Sequence\ncollections.Set\ncollections.Sized\ncollections.ValuesView\ncollections.defaultdict(default_factory) --> dict with default factory\ncollections.deque(iterable[, maxlen]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncommands.getoutput(??)\ncommands.getstatus(??)\ncommands.getstatusoutput(??)\ncommands.mk2arg(??)\ncommands.mkarg(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.expand_args(??)\ncompileall.imp\ncompileall.main(??)\ncompileall.os\ncompileall.py_compile\ncompileall.struct\ncompileall.sys\ncompiler.ast\ncompiler.ast.Add(??)\ncompiler.ast.And(??)\ncompiler.ast.AssAttr(??)\ncompiler.ast.AssList(??)\ncompiler.ast.AssName(??)\ncompiler.ast.AssTuple(??)\ncompiler.ast.Assert(??)\ncompiler.ast.Assign(??)\ncompiler.ast.AugAssign(??)\ncompiler.ast.Backquote(??)\ncompiler.ast.Bitand(??)\ncompiler.ast.Bitor(??)\ncompiler.ast.Bitxor(??)\ncompiler.ast.Break(??)\ncompiler.ast.CO_VARARGS\ncompiler.ast.CO_VARKEYWORDS\ncompiler.ast.CallFunc(??)\ncompiler.ast.Class(??)\ncompiler.ast.Compare(??)\ncompiler.ast.Const(??)\ncompiler.ast.Continue(??)\ncompiler.ast.Decorators(??)\ncompiler.ast.Dict(??)\ncompiler.ast.DictComp(??)\ncompiler.ast.Discard(??)\ncompiler.ast.Div(??)\ncompiler.ast.Ellipsis(??)\ncompiler.ast.EmptyNode(??)\ncompiler.ast.Exec(??)\ncompiler.ast.Expression(??)\ncompiler.ast.FloorDiv(??)\ncompiler.ast.For(??)\ncompiler.ast.From(??)\ncompiler.ast.Function(??)\ncompiler.ast.GenExpr(??)\ncompiler.ast.GenExprFor(??)\ncompiler.ast.GenExprIf(??)\ncompiler.ast.GenExprInner(??)\ncompiler.ast.Getattr(??)\ncompiler.ast.Global(??)\ncompiler.ast.If(??)\ncompiler.ast.IfExp(??)\ncompiler.ast.Import(??)\ncompiler.ast.Invert(??)\ncompiler.ast.Keyword(??)\ncompiler.ast.Lambda(??)\ncompiler.ast.LeftShift(??)\ncompiler.ast.List(??)\ncompiler.ast.ListComp(??)\ncompiler.ast.ListCompFor(??)\ncompiler.ast.ListCompIf(??)\ncompiler.ast.Mod(??)\ncompiler.ast.Module(??)\ncompiler.ast.Mul(??)\ncompiler.ast.Name(??)\ncompiler.ast.Node(??)\ncompiler.ast.Not(??)\ncompiler.ast.Or(??)\ncompiler.ast.Pass(??)\ncompiler.ast.Power(??)\ncompiler.ast.Print(??)\ncompiler.ast.Printnl(??)\ncompiler.ast.Raise(??)\ncompiler.ast.Return(??)\ncompiler.ast.RightShift(??)\ncompiler.ast.Set(??)\ncompiler.ast.SetComp(??)\ncompiler.ast.Slice(??)\ncompiler.ast.Sliceobj(??)\ncompiler.ast.Stmt(??)\ncompiler.ast.Sub(??)\ncompiler.ast.Subscript(??)\ncompiler.ast.TryExcept(??)\ncompiler.ast.TryFinally(??)\ncompiler.ast.Tuple(??)\ncompiler.ast.UnaryAdd(??)\ncompiler.ast.UnarySub(??)\ncompiler.ast.While(??)\ncompiler.ast.With(??)\ncompiler.ast.Yield(??)\ncompiler.ast.flatten(??)\ncompiler.ast.flatten_nodes(??)\ncompiler.ast.name\ncompiler.ast.nodes\ncompiler.ast.obj(??)\ncompiler.compile(??)\ncompiler.compileFile(??)\ncompiler.consts\ncompiler.consts.CO_FUTURE_ABSIMPORT\ncompiler.consts.CO_FUTURE_DIVISION\ncompiler.consts.CO_FUTURE_PRINT_FUNCTION\ncompiler.consts.CO_FUTURE_WITH_STATEMENT\ncompiler.consts.CO_GENERATOR\ncompiler.consts.CO_GENERATOR_ALLOWED\ncompiler.consts.CO_NESTED\ncompiler.consts.CO_NEWLOCALS\ncompiler.consts.CO_OPTIMIZED\ncompiler.consts.CO_VARARGS\ncompiler.consts.CO_VARKEYWORDS\ncompiler.consts.OP_APPLY\ncompiler.consts.OP_ASSIGN\ncompiler.consts.OP_DELETE\ncompiler.consts.SC_CELL\ncompiler.consts.SC_FREE\ncompiler.consts.SC_GLOBAL_EXPLICT\ncompiler.consts.SC_GLOBAL_IMPLICIT\ncompiler.consts.SC_LOCAL\ncompiler.consts.SC_UNKNOWN\ncompiler.future\ncompiler.future.BadFutureParser(??)\ncompiler.future.FutureParser(??)\ncompiler.future.ast\ncompiler.future.find_futures(??)\ncompiler.future.is_future(??)\ncompiler.future.walk(??)\ncompiler.misc\ncompiler.misc.MANGLE_LEN\ncompiler.misc.Set(??)\ncompiler.misc.Stack(??)\ncompiler.misc.flatten(??)\ncompiler.misc.mangle(??)\ncompiler.misc.set_filename(??)\ncompiler.parse(??)\ncompiler.parseFile(??)\ncompiler.pyassem\ncompiler.pyassem.Block(??)\ncompiler.pyassem.CONV\ncompiler.pyassem.CO_NEWLOCALS\ncompiler.pyassem.CO_OPTIMIZED\ncompiler.pyassem.CO_VARARGS\ncompiler.pyassem.CO_VARKEYWORDS\ncompiler.pyassem.DONE\ncompiler.pyassem.FLAT\ncompiler.pyassem.FlowGraph(??)\ncompiler.pyassem.LineAddrTable(??)\ncompiler.pyassem.PyFlowGraph(??)\ncompiler.pyassem.RAW\ncompiler.pyassem.StackDepthTracker(??)\ncompiler.pyassem.TupleArg(??)\ncompiler.pyassem.dis\ncompiler.pyassem.findDepth\ncompiler.pyassem.getArgCount(??)\ncompiler.pyassem.isJump(??)\ncompiler.pyassem.misc\ncompiler.pyassem.order_blocks(??)\ncompiler.pyassem.sys\ncompiler.pyassem.twobyte(??)\ncompiler.pyassem.types\ncompiler.pycodegen\ncompiler.pycodegen.AbstractClassCode(??)\ncompiler.pycodegen.AbstractCompileMode(??)\ncompiler.pycodegen.AbstractFunctionCode(??)\ncompiler.pycodegen.AugGetattr(??)\ncompiler.pycodegen.AugName(??)\ncompiler.pycodegen.AugSlice(??)\ncompiler.pycodegen.AugSubscript(??)\ncompiler.pycodegen.CO_FUTURE_ABSIMPORT\ncompiler.pycodegen.CO_FUTURE_DIVISION\ncompiler.pycodegen.CO_FUTURE_PRINT_FUNCTION\ncompiler.pycodegen.CO_FUTURE_WITH_STATEMENT\ncompiler.pycodegen.CO_GENERATOR\ncompiler.pycodegen.CO_NESTED\ncompiler.pycodegen.CO_NEWLOCALS\ncompiler.pycodegen.CO_VARARGS\ncompiler.pycodegen.CO_VARKEYWORDS\ncompiler.pycodegen.ClassCodeGenerator(??)\ncompiler.pycodegen.CodeGenerator(??)\ncompiler.pycodegen.Delegator(??)\ncompiler.pycodegen.END_FINALLY\ncompiler.pycodegen.EXCEPT\ncompiler.pycodegen.Expression(??)\ncompiler.pycodegen.ExpressionCodeGenerator(??)\ncompiler.pycodegen.FunctionCodeGenerator(??)\ncompiler.pycodegen.GenExprCodeGenerator(??)\ncompiler.pycodegen.Interactive(??)\ncompiler.pycodegen.InteractiveCodeGenerator(??)\ncompiler.pycodegen.LOOP\ncompiler.pycodegen.LocalNameFinder(??)\ncompiler.pycodegen.Module(??)\ncompiler.pycodegen.ModuleCodeGenerator(??)\ncompiler.pycodegen.NestedScopeMixin(??)\ncompiler.pycodegen.OpFinder(??)\ncompiler.pycodegen.SC_CELL\ncompiler.pycodegen.SC_FREE\ncompiler.pycodegen.SC_GLOBAL_EXPLICT\ncompiler.pycodegen.SC_GLOBAL_IMPLICIT\ncompiler.pycodegen.SC_LOCAL\ncompiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncompiler.pycodegen.TRY_FINALLY\ncompiler.pycodegen.TupleArg(??)\ncompiler.pycodegen.VERSION\ncompiler.pycodegen.ast\ncompiler.pycodegen.callfunc_opcode_info\ncompiler.pycodegen.compile(??)\ncompiler.pycodegen.compileFile(??)\ncompiler.pycodegen.findOp(??)\ncompiler.pycodegen.future\ncompiler.pycodegen.generateArgList(??)\ncompiler.pycodegen.imp\ncompiler.pycodegen.is_constant_false(??)\ncompiler.pycodegen.marshal\ncompiler.pycodegen.misc\ncompiler.pycodegen.os\ncompiler.pycodegen.parse(??)\ncompiler.pycodegen.pyassem\ncompiler.pycodegen.struct\ncompiler.pycodegen.symbols\ncompiler.pycodegen.syntax\ncompiler.pycodegen.sys\ncompiler.pycodegen.walk(??)\ncompiler.pycodegen.wrap_aug(??)\ncompiler.pycodegen.wrapper\ncompiler.symbols\ncompiler.symbols.ClassScope(??)\ncompiler.symbols.FunctionScope(??)\ncompiler.symbols.GenExprScope(??)\ncompiler.symbols.LambdaScope(??)\ncompiler.symbols.MANGLE_LEN\ncompiler.symbols.ModuleScope(??)\ncompiler.symbols.SC_CELL\ncompiler.symbols.SC_FREE\ncompiler.symbols.SC_GLOBAL_EXPLICT\ncompiler.symbols.SC_GLOBAL_IMPLICIT\ncompiler.symbols.SC_LOCAL\ncompiler.symbols.SC_UNKNOWN\ncompiler.symbols.Scope(??)\ncompiler.symbols.SymbolVisitor(??)\ncompiler.symbols.ast\ncompiler.symbols.list_eq(??)\ncompiler.symbols.mangle(??)\ncompiler.symbols.sys\ncompiler.symbols.types\ncompiler.syntax\ncompiler.syntax.SyntaxErrorChecker(??)\ncompiler.syntax.ast\ncompiler.syntax.check(??)\ncompiler.syntax.walk(??)\ncompiler.transformer\ncompiler.transformer.Add(??)\ncompiler.transformer.And(??)\ncompiler.transformer.AssAttr(??)\ncompiler.transformer.AssList(??)\ncompiler.transformer.AssName(??)\ncompiler.transformer.AssTuple(??)\ncompiler.transformer.Assert(??)\ncompiler.transformer.Assign(??)\ncompiler.transformer.AugAssign(??)\ncompiler.transformer.Backquote(??)\ncompiler.transformer.Bitand(??)\ncompiler.transformer.Bitor(??)\ncompiler.transformer.Bitxor(??)\ncompiler.transformer.Break(??)\ncompiler.transformer.CO_VARARGS\ncompiler.transformer.CO_VARKEYWORDS\ncompiler.transformer.CallFunc(??)\ncompiler.transformer.Class(??)\ncompiler.transformer.Compare(??)\ncompiler.transformer.Const(??)\ncompiler.transformer.Continue(??)\ncompiler.transformer.Decorators(??)\ncompiler.transformer.Dict(??)\ncompiler.transformer.DictComp(??)\ncompiler.transformer.Discard(??)\ncompiler.transformer.Div(??)\ncompiler.transformer.Ellipsis(??)\ncompiler.transformer.EmptyNode(??)\ncompiler.transformer.Exec(??)\ncompiler.transformer.Expression(??)\ncompiler.transformer.FloorDiv(??)\ncompiler.transformer.For(??)\ncompiler.transformer.From(??)\ncompiler.transformer.Function(??)\ncompiler.transformer.GenExpr(??)\ncompiler.transformer.GenExprFor(??)\ncompiler.transformer.GenExprIf(??)\ncompiler.transformer.GenExprInner(??)\ncompiler.transformer.Getattr(??)\ncompiler.transformer.Global(??)\ncompiler.transformer.If(??)\ncompiler.transformer.IfExp(??)\ncompiler.transformer.Import(??)\ncompiler.transformer.Invert(??)\ncompiler.transformer.Keyword(??)\ncompiler.transformer.Lambda(??)\ncompiler.transformer.LeftShift(??)\ncompiler.transformer.List(??)\ncompiler.transformer.ListComp(??)\ncompiler.transformer.ListCompFor(??)\ncompiler.transformer.ListCompIf(??)\ncompiler.transformer.Mod(??)\ncompiler.transformer.Module(??)\ncompiler.transformer.Mul(??)\ncompiler.transformer.Name(??)\ncompiler.transformer.Node(??)\ncompiler.transformer.Not(??)\ncompiler.transformer.OP_APPLY\ncompiler.transformer.OP_ASSIGN\ncompiler.transformer.OP_DELETE\ncompiler.transformer.Or(??)\ncompiler.transformer.Pass(??)\ncompiler.transformer.Power(??)\ncompiler.transformer.Print(??)\ncompiler.transformer.Printnl(??)\ncompiler.transformer.Raise(??)\ncompiler.transformer.Return(??)\ncompiler.transformer.RightShift(??)\ncompiler.transformer.Set(??)\ncompiler.transformer.SetComp(??)\ncompiler.transformer.Slice(??)\ncompiler.transformer.Sliceobj(??)\ncompiler.transformer.Stmt(??)\ncompiler.transformer.Sub(??)\ncompiler.transformer.Subscript(??)\ncompiler.transformer.Transformer(??)\ncompiler.transformer.TryExcept(??)\ncompiler.transformer.TryFinally(??)\ncompiler.transformer.Tuple(??)\ncompiler.transformer.UnaryAdd(??)\ncompiler.transformer.UnarySub(??)\ncompiler.transformer.WalkerError\ncompiler.transformer.While(??)\ncompiler.transformer.With(??)\ncompiler.transformer.Yield(??)\ncompiler.transformer.asList(??)\ncompiler.transformer.debug_tree(??)\ncompiler.transformer.extractLineNo(??)\ncompiler.transformer.flatten(??)\ncompiler.transformer.flatten_nodes(??)\ncompiler.transformer.k\ncompiler.transformer.name\ncompiler.transformer.nodes\ncompiler.transformer.obj(??)\ncompiler.transformer.parse(??)\ncompiler.transformer.parseFile(??)\ncompiler.transformer.parser\ncompiler.transformer.symbol\ncompiler.transformer.token\ncompiler.transformer.v\ncompiler.visitor\ncompiler.visitor.ASTVisitor(??)\ncompiler.visitor.ExampleASTVisitor(??)\ncompiler.visitor.ast\ncompiler.visitor.dumpNode(??)\ncompiler.visitor.walk(??)\ncompiler.walk(??)\ncompiler.warnings\ncomplex(real[, imag]) -> complex number\ncontextlib.GeneratorContextManager\ncontextlib.closing\ncontextlib.contextmanager(??)\ncontextlib.nested(??)\ncontextlib.sys\ncontextlib.warn\ncontextlib.wraps(??)\ncookielib.Absent(??)\ncookielib.Cookie(??)\ncookielib.CookieJar(??)\ncookielib.CookiePolicy(??)\ncookielib.DAYS\ncookielib.DEFAULT_HTTP_PORT\ncookielib.DefaultCookiePolicy(??)\ncookielib.EPOCH_YEAR\ncookielib.ESCAPED_CHAR_RE\ncookielib.FileCookieJar(??)\ncookielib.HEADER_ESCAPE_RE\ncookielib.HEADER_JOIN_ESCAPE_RE\ncookielib.HEADER_QUOTED_VALUE_RE\ncookielib.HEADER_TOKEN_RE\ncookielib.HEADER_VALUE_RE\ncookielib.HTTP_PATH_SAFE\ncookielib.IPV4_RE\ncookielib.ISO_DATE_RE\ncookielib.LOOSE_HTTP_DATE_RE\ncookielib.LWPCookieJar(??)\ncookielib.LoadError\ncookielib.MISSING_FILENAME_TEXT\ncookielib.MONTHS\ncookielib.MONTHS_LOWER\ncookielib.MozillaCookieJar(??)\ncookielib.STRICT_DATE_RE\ncookielib.TIMEZONE_RE\ncookielib.UTC_ZONES\ncookielib.WEEKDAY_RE\ncookielib.copy\ncookielib.cut_port_re\ncookielib.debug\ncookielib.deepvalues(??)\ncookielib.domain_match(??)\ncookielib.eff_request_host(??)\ncookielib.escape_path(??)\ncookielib.http2time(??)\ncookielib.httplib\ncookielib.is_HDN(??)\ncookielib.is_third_party(??)\ncookielib.iso2time(??)\ncookielib.join_header_words(??)\ncookielib.liberal_is_HDN(??)\ncookielib.logger\ncookielib.lwp_cookie_str(??)\ncookielib.month\ncookielib.offset_from_tz_string(??)\ncookielib.parse_ns_headers(??)\ncookielib.re\ncookielib.reach(??)\ncookielib.request_host(??)\ncookielib.request_path(??)\ncookielib.request_port(??)\ncookielib.split_header_words(??)\ncookielib.time\ncookielib.time2isoz(??)\ncookielib.time2netscape(??)\ncookielib.timegm(??)\ncookielib.unmatched(??)\ncookielib.uppercase_escaped_char(??)\ncookielib.urllib\ncookielib.urlparse\ncookielib.user_domain_match(??)\ncookielib.vals_sorted_by_key(??)\ncopy.Error\ncopy.PyStringMap\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table\ncopy.error\ncopy.name\ncopy.t\ncopy.weakref\ncopy_reg.add_extension(??)\ncopy_reg.clear_extension_cache(??)\ncopy_reg.constructor(??)\ncopy_reg.dispatch_table\ncopy_reg.pickle(??)\ncopy_reg.pickle_complex(??)\ncopy_reg.remove_extension(??)\ncopyright\ncredits\ncrypt.crypt(word, salt) -> string\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO([s]) -- Return a StringIO-like stream for reading or writing\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit\ncsv.get_dialect\ncsv.list_dialects\ncsv.re\ncsv.reader\ncsv.reduce(function, sequence[, initial]) -> value\ncsv.register_dialect\ncsv.unregister_dialect\ncsv.writer\nctypes.ARRAY(??)\nctypes.ArgumentError\nctypes.Array\nctypes.BigEndianStructure\nctypes.CDLL\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader\nctypes.LittleEndianStructure\nctypes.POINTER\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure\nctypes.Union\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool\nctypes.c_buffer(??)\nctypes.c_byte\nctypes.c_char\nctypes.c_char_p\nctypes.c_double\nctypes.c_float\nctypes.c_int\nctypes.c_int16\nctypes.c_int32\nctypes.c_int64\nctypes.c_int8\nctypes.c_long\nctypes.c_longdouble\nctypes.c_longlong\nctypes.c_short\nctypes.c_size_t\nctypes.c_ssize_t\nctypes.c_ubyte\nctypes.c_uint\nctypes.c_uint16\nctypes.c_uint32\nctypes.c_uint64\nctypes.c_uint8\nctypes.c_ulong\nctypes.c_ulonglong\nctypes.c_ushort\nctypes.c_void_p\nctypes.c_voidp\nctypes.c_wchar\nctypes.c_wchar_p\nctypes.cast(??)\nctypes.cdll\nctypes.create_string_buffer(aString) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno\nctypes.macholib\nctypes.macholib.dyld\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.ensure_utf8(??)\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object\nctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object\nctypes.macholib.dyld.imap(func, *iterables) --> imap object\nctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object\nctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object\nctypes.macholib.dyld.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object\nctypes.macholib.dyld.os\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dylib\nctypes.macholib.dylib.DYLIB_RE\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework\nctypes.macholib.framework.STRICT_FRAMEWORK_RE\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove\nctypes.memset\nctypes.pointer\nctypes.py_object\nctypes.pydll\nctypes.pythonapi\nctypes.resize\nctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors)\nctypes.set_errno\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util\nctypes.util.errno\nctypes.util.find_library(??)\nctypes.util.os\nctypes.util.re\nctypes.util.sys\nctypes.util.tempfile\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta\ndatetime.tzinfo\ndecimal.BasicContext\ndecimal.Clamped\ndecimal.Context\ndecimal.ConversionSyntax\ndecimal.Decimal\ndecimal.DecimalException\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext\ndecimal.DivisionByZero\ndecimal.DivisionImpossible\ndecimal.DivisionUndefined\ndecimal.ExtendedContext\ndecimal.Inexact\ndecimal.InvalidContext\ndecimal.InvalidOperation\ndecimal.Overflow\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded\ndecimal.Subnormal\ndecimal.Underflow\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq\ndifflib.ndiff(??)\ndifflib.reduce(function, sequence[, initial]) -> value\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndircache.annotate(??)\ndircache.cache\ndircache.listdir(??)\ndircache.opendir(??)\ndircache.os\ndircache.reset(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op\ndis.dis(??)\ndis.disassemble(??)\ndis.disassemble_string(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.hascompare\ndis.hasconst\ndis.hasfree\ndis.hasjabs\ndis.hasjrel\ndis.haslocal\ndis.hasname\ndis.opmap\ndis.opname\ndis.sys\ndis.types\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase\ndoctest.DocTestFailure\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.Tester(??)\ndoctest.UnexpectedException\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib\ndoctest.inspect\ndoctest.linecache\ndoctest.master\ndoctest.namedtuple(??)\ndoctest.os\ndoctest.pdb\ndoctest.re\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys\ndoctest.tempfile\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback\ndoctest.unittest\ndoctest.warnings\ndumbdbm.UserDict\ndumbdbm.error\ndumbdbm.open(??)\ndummy_thread.LockType\ndummy_thread.allocate_lock(??)\ndummy_thread.error\ndummy_thread.exit(??)\ndummy_thread.get_ident(??)\ndummy_thread.interrupt_main(??)\ndummy_thread.stack_size(??)\ndummy_thread.start_new_thread(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread\ndummy_threading.Timer(??)\ndummy_threading.activeCount(??)\ndummy_threading.active_count(??)\ndummy_threading.currentThread(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading\nemail.Charset\nemail.Encoders\nemail.Errors\nemail.FeedParser\nemail.Generator\nemail.Header\nemail.Iterators\nemail.LazyImporter\nemail.MIMEAudio\nemail.MIMEBase\nemail.MIMEImage\nemail.MIMEMessage\nemail.MIMEMultipart\nemail.MIMENonMultipart\nemail.MIMEText\nemail.Message\nemail.Parser\nemail.Utils\nemail.base64MIME\nemail.base64mime\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64\nemail.base64mime.b2a_base64\nemail.base64mime.base64_len(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.encode(??)\nemail.base64mime.encodestring(??)\nemail.base64mime.fix_eols(??)\nemail.base64mime.header_encode(??)\nemail.charset\nemail.charset.ALIASES\nemail.charset.BASE64\nemail.charset.CHARSETS\nemail.charset.CODEC_MAP\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.MISC_LEN\nemail.charset.QP\nemail.charset.SHORTEST\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.codecs\nemail.charset.email\nemail.charset.encode_7or8bit(??)\nemail.charset.errors\nemail.email\nemail.encoders\nemail.encoders.base64\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors\nemail.errors.BoundaryError\nemail.errors.CharsetError\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderParseError\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError\nemail.errors.MessageParseError\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MultipartConversionError\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.feedparser\nemail.feedparser.BufferedSubFile\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE\nemail.feedparser.NLCRE_bol\nemail.feedparser.NLCRE_crack\nemail.feedparser.NLCRE_eol\nemail.feedparser.NeedMoreData\nemail.feedparser.errors\nemail.feedparser.headerRE\nemail.feedparser.message\nemail.feedparser.re\nemail.generator\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.generator.UNDERSCORE\nemail.generator.fcre\nemail.generator.random\nemail.generator.re\nemail.generator.sys\nemail.generator.time\nemail.generator.warnings\nemail.header\nemail.header.Charset(??)\nemail.header.Header(??)\nemail.header.HeaderParseError\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.UEMPTYSTRING\nemail.header.USASCII\nemail.header.USPACE\nemail.header.UTF8\nemail.header.binascii\nemail.header.decode_header(??)\nemail.header.ecre\nemail.header.email\nemail.header.fcre\nemail.header.make_header(??)\nemail.header.re\nemail.importer\nemail.iterators\nemail.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.message.binascii\nemail.message.email\nemail.message.errors\nemail.message.re\nemail.message.tspecials\nemail.message.utils\nemail.message.uu\nemail.message.warnings\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime\nemail.mime.Audio\nemail.mime.Base\nemail.mime.Image\nemail.mime.Message\nemail.mime.Multipart\nemail.mime.NonMultipart\nemail.mime.Text\nemail.mime.application\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders\nemail.mime.audio\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.mime.audio.encoders\nemail.mime.audio.sndhdr\nemail.mime.base\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message\nemail.mime.image\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders\nemail.mime.image.imghdr\nemail.mime.message\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message\nemail.mime.multipart\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors\nemail.mime.text\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nemail.parser.warnings\nemail.quopriMIME\nemail.quoprimime\nemail.quoprimime.CRLF\nemail.quoprimime.MISC_LEN\nemail.quoprimime.NL\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_quopri_check(??)\nemail.quoprimime.body_quopri_len(??)\nemail.quoprimime.bqre\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.encode(??)\nemail.quoprimime.encodestring(??)\nemail.quoprimime.fix_eols(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_quopri_check(??)\nemail.quoprimime.header_quopri_len(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.hqre\nemail.quoprimime.quote(??)\nemail.quoprimime.re\nemail.quoprimime.unquote(??)\nemail.sys\nemail.utils\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre\nemail.utils.fix_eols(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random\nemail.utils.re\nemail.utils.rfc2231_continuation\nemail.utils.socket\nemail.utils.specialsre\nemail.utils.time\nemail.utils.unquote(??)\nemail.utils.urllib\nemail.utils.warnings\nenumerate(iterable[, start]) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EADV\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EBADE\nerrno.EBADF\nerrno.EBADFD\nerrno.EBADMSG\nerrno.EBADR\nerrno.EBADRQC\nerrno.EBADSLT\nerrno.EBFONT\nerrno.EBUSY\nerrno.ECHILD\nerrno.ECHRNG\nerrno.ECOMM\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDEADLOCK\nerrno.EDESTADDRREQ\nerrno.EDOM\nerrno.EDOTDOT\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.EISNAM\nerrno.EL2HLT\nerrno.EL2NSYNC\nerrno.EL3HLT\nerrno.EL3RST\nerrno.ELIBACC\nerrno.ELIBBAD\nerrno.ELIBEXEC\nerrno.ELIBMAX\nerrno.ELIBSCN\nerrno.ELNRNG\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENAVAIL\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOANO\nerrno.ENOBUFS\nerrno.ENOCSI\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENONET\nerrno.ENOPKG\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTNAM\nerrno.ENOTSOCK\nerrno.ENOTTY\nerrno.ENOTUNIQ\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.ERANGE\nerrno.EREMCHG\nerrno.EREMOTE\nerrno.EREMOTEIO\nerrno.ERESTART\nerrno.EROFS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESRMNT\nerrno.ESTALE\nerrno.ESTRPIPE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUCLEAN\nerrno.EUNATCH\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.EXFULL\nerrno.errorcode\neval(source[, globals[, locals]]) -> value\nexceptions.ArithmeticError\nexceptions.AssertionError\nexceptions.AttributeError\nexceptions.BaseException\nexceptions.BufferError\nexceptions.BytesWarning\nexceptions.DeprecationWarning\nexceptions.EOFError\nexceptions.EnvironmentError\nexceptions.Exception\nexceptions.FloatingPointError\nexceptions.FutureWarning\nexceptions.GeneratorExit\nexceptions.IOError\nexceptions.ImportError\nexceptions.ImportWarning\nexceptions.IndentationError\nexceptions.IndexError\nexceptions.KeyError\nexceptions.KeyboardInterrupt\nexceptions.LookupError\nexceptions.MemoryError\nexceptions.NameError\nexceptions.NotImplementedError\nexceptions.OSError\nexceptions.OverflowError\nexceptions.PendingDeprecationWarning\nexceptions.ReferenceError\nexceptions.RuntimeError\nexceptions.RuntimeWarning\nexceptions.StandardError\nexceptions.StopIteration\nexceptions.SyntaxError\nexceptions.SyntaxWarning\nexceptions.SystemError\nexceptions.SystemExit\nexceptions.TabError\nexceptions.TypeError\nexceptions.UnboundLocalError\nexceptions.UnicodeDecodeError\nexceptions.UnicodeEncodeError\nexceptions.UnicodeError\nexceptions.UnicodeTranslateError\nexceptions.UnicodeWarning\nexceptions.UserWarning\nexceptions.ValueError\nexceptions.Warning\nexceptions.ZeroDivisionError\nexecfile(filename[, globals[, locals]])\nexit\nfcntl.DN_ACCESS\nfcntl.DN_ATTRIB\nfcntl.DN_CREATE\nfcntl.DN_DELETE\nfcntl.DN_MODIFY\nfcntl.DN_MULTISHOT\nfcntl.DN_RENAME\nfcntl.FASYNC\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_EXLCK\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLEASE\nfcntl.F_GETLK\nfcntl.F_GETLK64\nfcntl.F_GETOWN\nfcntl.F_GETSIG\nfcntl.F_NOTIFY\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLEASE\nfcntl.F_SETLK\nfcntl.F_SETLK64\nfcntl.F_SETLKW\nfcntl.F_SETLKW64\nfcntl.F_SETOWN\nfcntl.F_SETSIG\nfcntl.F_SHLCK\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.I_ATMARK\nfcntl.I_CANPUT\nfcntl.I_CKBAND\nfcntl.I_FDINSERT\nfcntl.I_FIND\nfcntl.I_FLUSH\nfcntl.I_FLUSHBAND\nfcntl.I_GETBAND\nfcntl.I_GETCLTIME\nfcntl.I_GETSIG\nfcntl.I_GRDOPT\nfcntl.I_GWROPT\nfcntl.I_LINK\nfcntl.I_LIST\nfcntl.I_LOOK\nfcntl.I_NREAD\nfcntl.I_PEEK\nfcntl.I_PLINK\nfcntl.I_POP\nfcntl.I_PUNLINK\nfcntl.I_PUSH\nfcntl.I_RECVFD\nfcntl.I_SENDFD\nfcntl.I_SETCLTIME\nfcntl.I_SETSIG\nfcntl.I_SRDOPT\nfcntl.I_STR\nfcntl.I_SWROPT\nfcntl.I_UNLINK\nfcntl.LOCK_EX\nfcntl.LOCK_MAND\nfcntl.LOCK_NB\nfcntl.LOCK_READ\nfcntl.LOCK_RW\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.LOCK_WRITE\nfcntl.fcntl(fd, opt, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, opt[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfile(name[, mode[, buffering]]) -> file object\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.ifilter(function or None, sequence) --> ifilter object\nfilecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object\nfilecmp.imap(func, *iterables) --> imap object\nfilecmp.izip(iter1 [,iter2 [...]]) --> izip object\nfilecmp.os\nfilecmp.stat\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input([files[, inplace[, backup[, mode[, openhook]]]]])\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os\nfileinput.sys\nfilter(function or None, sequence) -> list, tuple, or string\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.re\nfnmatch.translate(??)\nformat(value[, format_spec]) -> string\nformatter.AS_IS\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys\nformatter.test(??)\nfpformat.NotANumber\nfpformat.decoder\nfpformat.extract(??)\nfpformat.fix(??)\nfpformat.re\nfpformat.roundfrac(??)\nfpformat.sci(??)\nfpformat.test(??)\nfpformat.unexpo(??)\nfractions.Decimal\nfractions.Fraction\nfractions.Rational\nfractions.division\nfractions.gcd(??)\nfractions.math\nfractions.numbers\nfractions.operator\nfractions.re\nfrozenset() -> empty frozenset object\nftplib.CRLF\nftplib.Error\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors\nftplib.error_perm\nftplib.error_proto\nftplib.error_reply\nftplib.error_temp\nftplib.ftpcp(??)\nftplib.os\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket\nftplib.ssl\nftplib.sys\nftplib.test(??)\nfunctools.WRAPPER_ASSIGNMENTS\nfunctools.WRAPPER_UPDATES\nfunctools.cmp_to_key(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\nfuture_builtins.ascii(object) -> string\nfuture_builtins.filter\nfuture_builtins.hex(number) -> string\nfuture_builtins.map\nfuture_builtins.oct(number) -> string\nfuture_builtins.zip\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_INSTANCES\ngc.DEBUG_LEAK\ngc.DEBUG_OBJECTS\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngen_python_api.add_builtin_modules\ngen_python_api.add_builtins\ngen_python_api.add_keywords\ngen_python_api.add_manual_modules\ngen_python_api.add_other_modules\ngen_python_api.add_package_modules\ngen_python_api.addasgloballist\ngen_python_api.api\ngen_python_api.apilist\ngen_python_api.builtin\ngen_python_api.exclude_modules\ngen_python_api.exclude_names\ngen_python_api.excludedirlist\ngen_python_api.excludemodulelist\ngen_python_api.f\ngen_python_api.folder\ngen_python_api.folders\ngen_python_api.manuallist\ngen_python_api.module\ngen_python_api.moduletypes\ngen_python_api.os\ngen_python_api.processFolder(??)\ngen_python_api.processModule(??)\ngen_python_api.processName(??)\ngen_python_api.re\ngen_python_api.string\ngen_python_api.sys\ngen_python_api.types\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os\ngenericpath.stat\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.os\ngetpass.sys\ngetpass.termios\ngetpass.unix_getpass(??)\ngetpass.warnings\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale\ngettext.ngettext(??)\ngettext.os\ngettext.re\ngettext.struct\ngettext.sys\ngettext.test(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check\nglob.os\nglob.re\nglob.sys\nglobals() -> dictionary\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile\ngzip.READ\ngzip.WRITE\ngzip.io\ngzip.open(??)\ngzip.os\ngzip.read32(??)\ngzip.struct\ngzip.sys\ngzip.time\ngzip.write32u(??)\ngzip.zlib\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.algorithms\nhashlib.md5\nhashlib.new(name, string='') - Return a new hashing object using the named algorithm;\nhashlib.sha1\nhashlib.sha224\nhashlib.sha256\nhashlib.sha384\nhashlib.sha512\nheapq.bisect\nheapq.chain(*iterables) --> chain object\nheapq.count(start=0, step=1) --> count object\nheapq.heapify\nheapq.heappop\nheapq.heappush\nheapq.heappushpop\nheapq.heapreplace\nheapq.imap(func, *iterables) --> imap object\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.itemgetter(item, ...) --> itemgetter object\nheapq.izip(iter1 [,iter2 [...]]) --> izip object\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.repeat(object [,times]) -> create an iterator which returns the object\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp\nhex(number) -> string\nhmac.HMAC(??)\nhmac.digest_size\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhmac.x\nhotshot.Profile(??)\nhotshot.ProfilerError\nhotshot.log\nhotshot.log.ENTER\nhotshot.log.EXIT\nhotshot.log.LINE\nhotshot.log.LogReader(??)\nhotshot.log.WHAT_ADD_INFO\nhotshot.log.WHAT_DEFINE_FILE\nhotshot.log.WHAT_DEFINE_FUNC\nhotshot.log.WHAT_ENTER\nhotshot.log.WHAT_EXIT\nhotshot.log.WHAT_LINENO\nhotshot.log.os\nhotshot.log.parser\nhotshot.log.symbol\nhotshot.stats\nhotshot.stats.ENTER\nhotshot.stats.EXIT\nhotshot.stats.FakeCode(??)\nhotshot.stats.FakeFrame(??)\nhotshot.stats.Profile(??)\nhotshot.stats.StatsLoader(??)\nhotshot.stats.hotshot\nhotshot.stats.load(??)\nhotshot.stats.profile\nhotshot.stats.pstats\nhotshot.stones\nhotshot.stones.errno\nhotshot.stones.hotshot\nhotshot.stones.main(??)\nhotshot.stones.sys\nhotshot.stones.test\nhtmlentitydefs.codepoint2name\nhtmlentitydefs.entitydefs\nhtmlentitydefs.name2codepoint\nhtmllib.AS_IS\nhtmllib.HTMLParseError\nhtmllib.HTMLParser(??)\nhtmllib.sgmllib\nhtmllib.test(??)\nhttplib.ACCEPTED\nhttplib.BAD_GATEWAY\nhttplib.BAD_REQUEST\nhttplib.BadStatusLine\nhttplib.CONFLICT\nhttplib.CONTINUE\nhttplib.CREATED\nhttplib.CannotSendHeader\nhttplib.CannotSendRequest\nhttplib.EXPECTATION_FAILED\nhttplib.FAILED_DEPENDENCY\nhttplib.FORBIDDEN\nhttplib.FOUND\nhttplib.FakeSocket(??)\nhttplib.GATEWAY_TIMEOUT\nhttplib.GONE\nhttplib.HTTP(??)\nhttplib.HTTPConnection(??)\nhttplib.HTTPException\nhttplib.HTTPMessage(??)\nhttplib.HTTPResponse(??)\nhttplib.HTTPS(??)\nhttplib.HTTPSConnection(??)\nhttplib.HTTPS_PORT\nhttplib.HTTP_PORT\nhttplib.HTTP_VERSION_NOT_SUPPORTED\nhttplib.IM_USED\nhttplib.INSUFFICIENT_STORAGE\nhttplib.INTERNAL_SERVER_ERROR\nhttplib.ImproperConnectionState\nhttplib.IncompleteRead\nhttplib.InvalidURL\nhttplib.LENGTH_REQUIRED\nhttplib.LOCKED\nhttplib.LineAndFileWrapper(??)\nhttplib.MAXAMOUNT\nhttplib.METHOD_NOT_ALLOWED\nhttplib.MOVED_PERMANENTLY\nhttplib.MULTIPLE_CHOICES\nhttplib.MULTI_STATUS\nhttplib.NON_AUTHORITATIVE_INFORMATION\nhttplib.NOT_ACCEPTABLE\nhttplib.NOT_EXTENDED\nhttplib.NOT_FOUND\nhttplib.NOT_IMPLEMENTED\nhttplib.NOT_MODIFIED\nhttplib.NO_CONTENT\nhttplib.NotConnected\nhttplib.OK\nhttplib.PARTIAL_CONTENT\nhttplib.PAYMENT_REQUIRED\nhttplib.PRECONDITION_FAILED\nhttplib.PROCESSING\nhttplib.PROXY_AUTHENTICATION_REQUIRED\nhttplib.REQUESTED_RANGE_NOT_SATISFIABLE\nhttplib.REQUEST_ENTITY_TOO_LARGE\nhttplib.REQUEST_TIMEOUT\nhttplib.REQUEST_URI_TOO_LONG\nhttplib.RESET_CONTENT\nhttplib.ResponseNotReady\nhttplib.SEE_OTHER\nhttplib.SERVICE_UNAVAILABLE\nhttplib.SWITCHING_PROTOCOLS\nhttplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nhttplib.TEMPORARY_REDIRECT\nhttplib.UNAUTHORIZED\nhttplib.UNPROCESSABLE_ENTITY\nhttplib.UNSUPPORTED_MEDIA_TYPE\nhttplib.UPGRADE_REQUIRED\nhttplib.USE_PROXY\nhttplib.UnimplementedFileMode\nhttplib.UnknownProtocol\nhttplib.UnknownTransferEncoding\nhttplib.array(typecode [, initializer]) -> array\nhttplib.error\nhttplib.mimetools\nhttplib.py3kwarning\nhttplib.responses\nhttplib.socket\nhttplib.ssl\nhttplib.test(??)\nhttplib.urlsplit(??)\nhttplib.warnings\nid(object) -> integer\nihooks.BUILTIN_MODULE\nihooks.BasicModuleImporter(??)\nihooks.BasicModuleLoader(??)\nihooks.C_BUILTIN\nihooks.C_EXTENSION\nihooks.FROZEN_MODULE\nihooks.FancyModuleLoader(??)\nihooks.Hooks(??)\nihooks.ModuleImporter(??)\nihooks.ModuleLoader(??)\nihooks.PKG_DIRECTORY\nihooks.PY_COMPILED\nihooks.PY_FROZEN\nihooks.PY_SOURCE\nihooks.VERBOSE\nihooks.current_importer\nihooks.default_importer\nihooks.imp\nihooks.install(??)\nihooks.os\nihooks.sys\nihooks.uninstall(??)\nihooks.warn\nimaplib.AllowedVersions\nimaplib.CRLF\nimaplib.Commands\nimaplib.Continuation\nimaplib.Debug\nimaplib.Flags\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate\nimaplib.Internaldate2tuple(??)\nimaplib.Literal\nimaplib.MapCRLF\nimaplib.Mon2num\nimaplib.ParseFlags(??)\nimaplib.Response_code\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response\nimaplib.Untagged_status\nimaplib.binascii\nimaplib.random\nimaplib.re\nimaplib.socket\nimaplib.ssl\nimaplib.subprocess\nimaplib.sys\nimaplib.time\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exif(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.find_module(name, [path]) -> (file, filename, (suffix, mode, type))\nimp.get_frozen_object\nimp.get_magic() -> string\nimp.get_suffixes() -> [(suffix, mode, type), ...]\nimp.init_builtin\nimp.init_frozen\nimp.is_builtin\nimp.is_frozen\nimp.load_compiled\nimp.load_dynamic\nimp.load_module(name, file, filename, (suffix, mode, type)) -> module\nimp.load_package\nimp.load_source\nimp.lock_held() -> boolean\nimp.new_module(name) -> module\nimp.release_lock() -> None\nimp.reload(module) -> module\nimportlib.import_module(??)\nimportlib.sys\nimputil.BuiltinImporter(??)\nimputil.DynLoadSuffixImporter(??)\nimputil.ImportManager(??)\nimputil.Importer(??)\nimputil.imp\nimputil.marshal\nimputil.py_suffix_importer(??)\nimputil.struct\nimputil.sys\ninput([prompt]) -> value\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, keywords)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.CO_GENERATOR\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.EndOfBlock\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.currentframe\ninspect.dis\ninspect.findsource(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.joinseq(??)\ninspect.linecache\ninspect.modulesbyfile\ninspect.namedtuple(??)\ninspect.os\ninspect.re\ninspect.stack(??)\ninspect.string\ninspect.strseq(??)\ninspect.sys\ninspect.tokenize\ninspect.trace(??)\ninspect.types\ninspect.walktree(??)\nint(x[, base]) -> integer\nintern(string) -> string\nio.BlockingIOError\nio.BufferedIOBase\nio.BufferedRWPair\nio.BufferedRandom\nio.BufferedReader\nio.BufferedWriter\nio.BytesIO([buffer]) -> object\nio.DEFAULT_BUFFER_SIZE\nio.FileIO\nio.IOBase\nio.IncrementalNewlineDecoder\nio.OpenWrapper\nio.RawIOBase\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO\nio.TextIOBase\nio.TextIOWrapper\nio.UnsupportedOperation\nio.abc\nio.open\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(collection) -> iterator\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.ifilter(function or None, sequence) --> ifilter object\nitertools.ifilterfalse(function or None, sequence) --> ifilterfalse object\nitertools.imap(func, *iterables) --> imap object\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.izip(iter1 [,iter2 [...]]) --> izip object\nitertools.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\njson.JSONDecoder\njson.JSONEncoder\njson.decoder\njson.decoder.BACKSLASH\njson.decoder.DEFAULT_ENCODING\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONDecoder\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK\njson.decoder.WHITESPACE\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring\njson.decoder.errmsg(??)\njson.decoder.linecol(??)\njson.decoder.make_scanner\njson.decoder.py_scanstring(??)\njson.decoder.re\njson.decoder.scanstring(basestring, end, encoding, strict=True) -> (str, end)\njson.decoder.struct\njson.decoder.sys\njson.dump(??)\njson.dumps(??)\njson.encoder\njson.encoder.ESCAPE\njson.encoder.ESCAPE_ASCII\njson.encoder.ESCAPE_DCT\njson.encoder.FLOAT_REPR\njson.encoder.HAS_UTF8\njson.encoder.INFINITY\njson.encoder.JSONEncoder\njson.encoder.c_encode_basestring_ascii\njson.encoder.c_make_encoder\njson.encoder.encode_basestring(??)\njson.encoder.encode_basestring_ascii(basestring) -> str\njson.encoder.i\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re\njson.load(??)\njson.loads(??)\njson.scanner\njson.scanner.NUMBER_RE\njson.scanner.c_make_scanner\njson.scanner.make_scanner\njson.scanner.py_make_scanner(??)\njson.scanner.re\njson.tool\njson.tool.json\njson.tool.main(??)\njson.tool.sys\nkeyword.iskeyword\nkeyword.kwlist\nkeyword.main(??)\nlen(object) -> integer\nlicense\nlinecache.cache\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os\nlinecache.sys\nlinecache.updatecache(??)\nlinuxaudiodev.AFMT_A_LAW\nlinuxaudiodev.AFMT_MU_LAW\nlinuxaudiodev.AFMT_S16_BE\nlinuxaudiodev.AFMT_S16_LE\nlinuxaudiodev.AFMT_S16_NE\nlinuxaudiodev.AFMT_S8\nlinuxaudiodev.AFMT_U16_BE\nlinuxaudiodev.AFMT_U16_LE\nlinuxaudiodev.AFMT_U8\nlinuxaudiodev.error\nlinuxaudiodev.open\nlist() -> new empty list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.bind_textdomain_codeset(domain, codeset) -> string\nlocale.bindtextdomain(domain, dir) -> string\nlocale.currency(??)\nlocale.dcgettext(domain, msg, category) -> string\nlocale.dgettext(domain, msg) -> string\nlocale.encodings\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.gettext(msg) -> string\nlocale.locale_alias\nlocale.locale_encoding_alias\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.operator\nlocale.re\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll\nlocale.strxfrm\nlocale.sys\nlocale.textdomain(domain) -> string\nlocale.windows_locale\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler\nlogging.Filter\nlogging.Filterer\nlogging.Formatter\nlogging.Handler\nlogging.INFO\nlogging.LogRecord\nlogging.Logger\nlogging.LoggerAdapter\nlogging.Manager\nlogging.NOTSET\nlogging.NullHandler\nlogging.PlaceHolder\nlogging.RootLogger\nlogging.StreamHandler\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit\nlogging.basicConfig(??)\nlogging.cStringIO\nlogging.captureWarnings(??)\nlogging.codecs\nlogging.config\nlogging.config.BaseConfigurator\nlogging.config.ConvertingDict\nlogging.config.ConvertingList\nlogging.config.ConvertingTuple\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator\nlogging.config.IDENTIFIER\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.cStringIO\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass\nlogging.config.fileConfig(??)\nlogging.config.listen(??)\nlogging.config.logging\nlogging.config.os\nlogging.config.re\nlogging.config.socket\nlogging.config.stopListening(??)\nlogging.config.struct\nlogging.config.sys\nlogging.config.thread\nlogging.config.threading\nlogging.config.traceback\nlogging.config.types\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers\nlogging.handlers.BaseRotatingHandler\nlogging.handlers.BufferingHandler\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler\nlogging.handlers.HTTPHandler\nlogging.handlers.MemoryHandler\nlogging.handlers.NTEventLogHandler\nlogging.handlers.RotatingFileHandler\nlogging.handlers.SMTPHandler\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler\nlogging.handlers.SysLogHandler\nlogging.handlers.TimedRotatingFileHandler\nlogging.handlers.WatchedFileHandler\nlogging.handlers.cPickle\nlogging.handlers.codecs\nlogging.handlers.logging\nlogging.handlers.os\nlogging.handlers.re\nlogging.handlers.socket\nlogging.handlers.struct\nlogging.handlers.time\nlogging.info(??)\nlogging.log(??)\nlogging.logMultiprocessing\nlogging.logProcesses\nlogging.logThreads\nlogging.makeLogRecord(??)\nlogging.os\nlogging.raiseExceptions\nlogging.root\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys\nlogging.thread\nlogging.threading\nlogging.time\nlogging.traceback\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings\nlogging.weakref\nlong(x[, base]) -> integer\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.genericpath\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames\nmacpath.walk(??)\nmacpath.warnings\nmacurl2path.os\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib\nmailbox.Babyl(??)\nmailbox.BabylMailbox(??)\nmailbox.BabylMessage(??)\nmailbox.Error\nmailbox.ExternalClashError\nmailbox.FormatError\nmailbox.MH(??)\nmailbox.MHMailbox(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.MmdfMailbox(??)\nmailbox.NoSuchMailboxError\nmailbox.NotEmptyError\nmailbox.PortableUnixMailbox(??)\nmailbox.StringIO\nmailbox.UnixMailbox(??)\nmailbox.calendar\nmailbox.copy\nmailbox.email\nmailbox.errno\nmailbox.fcntl\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os\nmailbox.rfc822\nmailbox.socket\nmailbox.sys\nmailbox.time\nmailbox.warnings\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(function, sequence[, sequence, ...]) -> list\nmarkupbase.ParserBase(??)\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(string)\nmarshal.version\nmath.acos(x)\nmath.acosh(x)\nmath.asin(x)\nmath.asinh(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.atanh(x)\nmath.ceil(x)\nmath.copysign(x, y)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x)\nmath.e\nmath.erf(x)\nmath.erfc(x)\nmath.exp(x)\nmath.expm1(x)\nmath.fabs(x)\nmath.factorial(x) -> Integral\nmath.floor(x)\nmath.fmod(x, y)\nmath.frexp(x)\nmath.fsum(iterable)\nmath.gamma(x)\nmath.hypot(x, y)\nmath.isinf(x) -> bool\nmath.isnan(x) -> bool\nmath.ldexp(x, i)\nmath.lgamma(x)\nmath.log(x[, base])\nmath.log10(x)\nmath.log1p(x)\nmath.modf(x)\nmath.pi\nmath.pow(x, y)\nmath.radians(x)\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmath.trunc(x:Real) -> Integral\nmax(iterable[, key=func]) -> value\nmd5.blocksize\nmd5.digest_size\nmd5.md5\nmd5.new\nmd5.warnings\nmemoryview(object)\nmhlib.Error\nmhlib.FOLDER_PROTECT\nmhlib.Folder(??)\nmhlib.IntSet(??)\nmhlib.MH(??)\nmhlib.MH_PROFILE\nmhlib.MH_SEQUENCES\nmhlib.Message(??)\nmhlib.PATH\nmhlib.SubMessage(??)\nmhlib.bisect\nmhlib.isnumeric(??)\nmhlib.mimetools\nmhlib.multifile\nmhlib.numericprog\nmhlib.os\nmhlib.pickline(??)\nmhlib.re\nmhlib.shutil\nmhlib.sys\nmhlib.test(??)\nmhlib.updateline(??)\nmimetools.Message(??)\nmimetools.catch_warnings\nmimetools.choose_boundary(??)\nmimetools.copybinary(??)\nmimetools.copyliteral(??)\nmimetools.decode(??)\nmimetools.decodetab\nmimetools.encode(??)\nmimetools.encodetab\nmimetools.filterwarnings(??)\nmimetools.os\nmimetools.pipethrough(??)\nmimetools.pipeto(??)\nmimetools.rfc822\nmimetools.sys\nmimetools.tempfile\nmimetools.uudecode_pipe\nmimetools.warnpy3k(??)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types\nmimetypes.encodings_map\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited\nmimetypes.knownfiles\nmimetypes.os\nmimetypes.posixpath\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map\nmimetypes.sys\nmimetypes.types_map\nmimetypes.urllib\nmimify.CHARSET\nmimify.File(??)\nmimify.HeaderFile(??)\nmimify.MAXLEN\nmimify.QUOTE\nmimify.base64_re\nmimify.chrset\nmimify.cte\nmimify.he\nmimify.iso_char\nmimify.mime_char\nmimify.mime_code\nmimify.mime_decode(??)\nmimify.mime_decode_header(??)\nmimify.mime_encode(??)\nmimify.mime_encode_header(??)\nmimify.mime_head\nmimify.mime_header\nmimify.mime_header_char\nmimify.mimify(??)\nmimify.mimify_part(??)\nmimify.mp\nmimify.mv\nmimify.qp\nmimify.re\nmimify.repl\nmimify.sys\nmimify.unmimify(??)\nmimify.unmimify_part(??)\nmimify.warnings\nmin(iterable[, key=func]) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.ALLOCATIONGRANULARITY\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_DENYWRITE\nmmap.MAP_EXECUTABLE\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error\nmmap.mmap\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.READ_MODE\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS\nmodulefinder.dis\nmodulefinder.generators\nmodulefinder.imp\nmodulefinder.marshal\nmodulefinder.os\nmodulefinder.packagePathMap\nmodulefinder.replacePackageMap\nmodulefinder.struct\nmodulefinder.sys\nmodulefinder.test(??)\nmodulefinder.types\nmultifile.Error\nmultifile.MultiFile(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process\nmultiprocessing.ProcessError\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.TimeoutError\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection\nmultiprocessing.connection.AuthenticationError\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.ConnectionWrapper\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Finalize\nmultiprocessing.connection.Listener\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.close(fd)\nmultiprocessing.connection.current_process(??)\nmultiprocessing.connection.debug(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.duplicate\nmultiprocessing.connection.errno\nmultiprocessing.connection.families\nmultiprocessing.connection.get_temp_dir(??)\nmultiprocessing.connection.itertools\nmultiprocessing.connection.os\nmultiprocessing.connection.socket\nmultiprocessing.connection.sub_debug(??)\nmultiprocessing.connection.sys\nmultiprocessing.connection.tempfile\nmultiprocessing.connection.time\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition\nmultiprocessing.dummy.DummyProcess\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.TimeoutError\nmultiprocessing.dummy.Value\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array\nmultiprocessing.dummy.connection\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection\nmultiprocessing.dummy.connection.Listener\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families\nmultiprocessing.dummy.cpu_count(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.itertools\nmultiprocessing.dummy.list() -> new empty list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys\nmultiprocessing.dummy.threading\nmultiprocessing.dummy.weakref\nmultiprocessing.forking\nmultiprocessing.forking.ForkingPickler(??)\nmultiprocessing.forking.Pickler(??)\nmultiprocessing.forking.Popen\nmultiprocessing.forking.assert_spawning(??)\nmultiprocessing.forking.close(fd)\nmultiprocessing.forking.duplicate\nmultiprocessing.forking.exit\nmultiprocessing.forking.old_main_modules\nmultiprocessing.forking.os\nmultiprocessing.forking.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.forking.prepare(??)\nmultiprocessing.forking.process\nmultiprocessing.forking.signal\nmultiprocessing.forking.sys\nmultiprocessing.forking.time\nmultiprocessing.forking.util\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.heap\nmultiprocessing.heap.Arena\nmultiprocessing.heap.BufferWrapper\nmultiprocessing.heap.Finalize\nmultiprocessing.heap.Heap\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect\nmultiprocessing.heap.info(??)\nmultiprocessing.heap.itertools\nmultiprocessing.heap.mmap\nmultiprocessing.heap.os\nmultiprocessing.heap.sys\nmultiprocessing.heap.tempfile\nmultiprocessing.heap.threading\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers\nmultiprocessing.managers.AcquirerProxy\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy\nmultiprocessing.managers.AuthenticationString\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BaseListProxy\nmultiprocessing.managers.BaseManager\nmultiprocessing.managers.BaseProxy\nmultiprocessing.managers.ConditionProxy\nmultiprocessing.managers.DictProxy\nmultiprocessing.managers.EventProxy\nmultiprocessing.managers.Finalize\nmultiprocessing.managers.ForkingPickler(??)\nmultiprocessing.managers.IteratorProxy\nmultiprocessing.managers.ListProxy\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace\nmultiprocessing.managers.NamespaceProxy\nmultiprocessing.managers.PicklingError\nmultiprocessing.managers.Pool(??)\nmultiprocessing.managers.PoolProxy\nmultiprocessing.managers.Popen\nmultiprocessing.managers.Process\nmultiprocessing.managers.ProcessLocalSet\nmultiprocessing.managers.Queue\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError\nmultiprocessing.managers.Server\nmultiprocessing.managers.State\nmultiprocessing.managers.SyncManager\nmultiprocessing.managers.Token\nmultiprocessing.managers.Value\nmultiprocessing.managers.ValueProxy\nmultiprocessing.managers.active_children(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array\nmultiprocessing.managers.assert_spawning(??)\nmultiprocessing.managers.connection\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.current_process(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.exit\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.info(??)\nmultiprocessing.managers.listener_client\nmultiprocessing.managers.name\nmultiprocessing.managers.os\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.sys\nmultiprocessing.managers.threading\nmultiprocessing.managers.util\nmultiprocessing.managers.view_types\nmultiprocessing.managers.weakref\nmultiprocessing.os\nmultiprocessing.pool\nmultiprocessing.pool.ApplyResult\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.Finalize\nmultiprocessing.pool.IMapIterator\nmultiprocessing.pool.IMapUnorderedIterator\nmultiprocessing.pool.MapResult\nmultiprocessing.pool.Pool\nmultiprocessing.pool.Process\nmultiprocessing.pool.Queue\nmultiprocessing.pool.RUN\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool\nmultiprocessing.pool.TimeoutError\nmultiprocessing.pool.collections\nmultiprocessing.pool.cpu_count(??)\nmultiprocessing.pool.debug(??)\nmultiprocessing.pool.itertools\nmultiprocessing.pool.job_counter\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.threading\nmultiprocessing.pool.time\nmultiprocessing.pool.worker(??)\nmultiprocessing.process\nmultiprocessing.process.AuthenticationString\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.Process\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools\nmultiprocessing.process.name\nmultiprocessing.process.os\nmultiprocessing.process.signal\nmultiprocessing.process.signum\nmultiprocessing.process.sys\nmultiprocessing.queues\nmultiprocessing.queues.BoundedSemaphore\nmultiprocessing.queues.Condition\nmultiprocessing.queues.Empty\nmultiprocessing.queues.Finalize\nmultiprocessing.queues.Full\nmultiprocessing.queues.JoinableQueue\nmultiprocessing.queues.Lock\nmultiprocessing.queues.Pipe(??)\nmultiprocessing.queues.Queue\nmultiprocessing.queues.Semaphore\nmultiprocessing.queues.SimpleQueue\nmultiprocessing.queues.assert_spawning(??)\nmultiprocessing.queues.atexit\nmultiprocessing.queues.collections\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.os\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys\nmultiprocessing.queues.threading\nmultiprocessing.queues.time\nmultiprocessing.queues.weakref\nmultiprocessing.reduction\nmultiprocessing.reduction.Client(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.Listener\nmultiprocessing.reduction.Popen\nmultiprocessing.reduction.close(fd)\nmultiprocessing.reduction.current_process(??)\nmultiprocessing.reduction.debug(??)\nmultiprocessing.reduction.duplicate\nmultiprocessing.reduction.fromfd(??)\nmultiprocessing.reduction.os\nmultiprocessing.reduction.rebuild_connection(??)\nmultiprocessing.reduction.rebuild_handle(??)\nmultiprocessing.reduction.rebuild_socket(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.reduce_connection(??)\nmultiprocessing.reduction.reduce_handle(??)\nmultiprocessing.reduction.reduce_socket(??)\nmultiprocessing.reduction.register_after_fork(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.socket\nmultiprocessing.reduction.sub_debug(??)\nmultiprocessing.reduction.sys\nmultiprocessing.reduction.threading\nmultiprocessing.sharedctypes\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RLock(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized\nmultiprocessing.sharedctypes.SynchronizedArray\nmultiprocessing.sharedctypes.SynchronizedBase\nmultiprocessing.sharedctypes.SynchronizedString\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes\nmultiprocessing.sharedctypes.heap\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.sys\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type\nmultiprocessing.sharedctypes.weakref\nmultiprocessing.synchronize\nmultiprocessing.synchronize.BoundedSemaphore\nmultiprocessing.synchronize.Condition\nmultiprocessing.synchronize.Event\nmultiprocessing.synchronize.Finalize\nmultiprocessing.synchronize.Lock\nmultiprocessing.synchronize.Popen\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock\nmultiprocessing.synchronize.Semaphore\nmultiprocessing.synchronize.assert_spawning(??)\nmultiprocessing.synchronize.current_process(??)\nmultiprocessing.synchronize.debug(??)\nmultiprocessing.synchronize.os\nmultiprocessing.synchronize.register_after_fork(??)\nmultiprocessing.synchronize.sys\nmultiprocessing.synchronize.threading\nmultiprocessing.sys\nmultiprocessing.util\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize\nmultiprocessing.util.ForkAwareLocal\nmultiprocessing.util.ForkAwareThreadLock\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.active_children(??)\nmultiprocessing.util.atexit\nmultiprocessing.util.current_process(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.threading\nmultiprocessing.util.weakref\nmutex.deque(iterable[, maxlen]) --> deque object\nmutex.mutex(??)\nnetrc.NetrcParseError\nnetrc.netrc(??)\nnetrc.os\nnetrc.shlex\nnew.classobj(name, bases, dict)\nnew.code\nnew.function(code, globals[, name[, argdefs[, closure]]])\nnew.instance(class[, dict])\nnew.instancemethod(function, instance, class)\nnew.module(name[, doc])\nnext(iterator[, default])\nnis.cat(map, domain = defaultdomain)\nnis.error\nnis.get_default_domain() -> str\nnis.maps(domain = defaultdomain)\nnis.match(key, map, domain = defaultdomain)\nnntplib.CRLF\nnntplib.LONGRESP\nnntplib.NNTP(??)\nnntplib.NNTPDataError\nnntplib.NNTPError\nnntplib.NNTPPermanentError\nnntplib.NNTPProtocolError\nnntplib.NNTPReplyError\nnntplib.NNTPTemporaryError\nnntplib.NNTP_PORT\nnntplib.error_data\nnntplib.error_perm\nnntplib.error_proto\nnntplib.error_reply\nnntplib.error_temp\nnntplib.re\nnntplib.socket\nntpath.abspath(??)\nntpath.altsep\nntpath.basename(??)\nntpath.commonprefix(??)\nntpath.curdir\nntpath.defpath\nntpath.devnull\nntpath.dirname(??)\nntpath.exists(??)\nntpath.expanduser(??)\nntpath.expandvars(??)\nntpath.extsep\nntpath.genericpath\nntpath.getatime(??)\nntpath.getctime(??)\nntpath.getmtime(??)\nntpath.getsize(??)\nntpath.isabs(??)\nntpath.isdir(??)\nntpath.isfile(??)\nntpath.islink(??)\nntpath.ismount(??)\nntpath.join(??)\nntpath.lexists(??)\nntpath.normcase(??)\nntpath.normpath(??)\nntpath.os\nntpath.pardir\nntpath.pathsep\nntpath.realpath(??)\nntpath.relpath(??)\nntpath.sep\nntpath.split(??)\nntpath.splitdrive(??)\nntpath.splitext(??)\nntpath.splitunc(??)\nntpath.stat\nntpath.supports_unicode_filenames\nntpath.sys\nntpath.walk(??)\nntpath.warnings\nnturl2path.pathname2url(??)\nnturl2path.url2pathname(??)\nnumbers.ABCMeta\nnumbers.Complex\nnumbers.Integral\nnumbers.Number\nnumbers.Rational\nnumbers.Real\nnumbers.abstractmethod(??)\nnumbers.abstractproperty\nnumbers.division\nobject\noct(number) -> string\nopcode.EXTENDED_ARG\nopcode.HAVE_ARGUMENT\nopcode.cmp_op\nopcode.hascompare\nopcode.hasconst\nopcode.hasfree\nopcode.hasjabs\nopcode.hasjrel\nopcode.haslocal\nopcode.hasname\nopcode.opmap\nopcode.opname\nopen(name[, mode[, buffering]]) -> file object\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.delslice(a, b, c) -- Same as del a[b:c].\noperator.div(a, b) -- Same as a / b when __future__.division is not in effect.\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.getslice(a, b, c) -- Same as a[b:c].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd\noperator.iand\noperator.iconcat\noperator.idiv\noperator.ifloordiv\noperator.ilshift\noperator.imod\noperator.imul\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior\noperator.ipow\noperator.irepeat\noperator.irshift\noperator.isCallable(a) -- Same as callable(a).\noperator.isMappingType(a) -- Return True if a has a mapping type, False otherwise.\noperator.isNumberType(a) -- Return True if a has a numeric type, False otherwise.\noperator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise.\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv\noperator.ixor\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer.\noperator.rshift(a, b) -- Same as a >> b.\noperator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated).\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.setslice(a, b, c, d) -- Same as a[b:c] = d.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b when __future__.division is in effect.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError\noptparse.BadOptionError\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT\noptparse.OptParseError\noptparse.Option(??)\noptparse.OptionConflictError\noptparse.OptionContainer(??)\noptparse.OptionError\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.isbasestring(??)\noptparse.make_option(??)\noptparse.os\noptparse.sys\noptparse.textwrap\noptparse.types\nord(c) -> integer\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_OK\nos.NGROUPS_MAX\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_LARGEFILE\nos.O_NDELAY\nos.O_NOATIME\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_RSYNC\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_WAIT\nos.R_OK\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.TMP_MAX\nos.UserDict\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode) -> True if granted, False otherwise\nos.altsep\nos.chdir(path)\nos.chmod(path, mode)\nos.chown(path, uid, gid)\nos.chroot(path)\nos.close(fd)\nos.closerange(fd_low, fd_high)\nos.confstr(name) -> string\nos.confstr_names\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ\nos.errno\nos.error\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fildes)\nos.fchmod(fd, mode)\nos.fchown(fd, uid, gid)\nos.fdatasync(fildes)\nos.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.getcwd() -> path\nos.getcwdu() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getresgid() -> (rgid, egid, sgid)\nos.getresuid() -> (ruid, euid, suid)\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.initgroups(username, gid) -> None\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst)\nos.listdir(path) -> list_of_strings\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0777])\nos.minor(device) -> minor number\nos.mkdir(path [, mode=0777])\nos.mkfifo(filename [, mode=0666])\nos.mknod(filename [, mode=0600, device])\nos.name\nos.nice(inc) -> new_priority\nos.open(filename, flag [, mode=0777]) -> fd\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path\nos.pathconf(path, name) -> integer\nos.pathconf_names\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(command [, mode='r' [, bufsize]]) -> pipe\nos.popen2(??)\nos.popen3(??)\nos.popen4(??)\nos.putenv(key, value)\nos.read(fd, buffersize) -> string\nos.readlink(path) -> path\nos.remove(path)\nos.removedirs(path)\nos.rename(old, new)\nos.renames(old, new)\nos.rmdir(path)\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setregid(rgid, egid)\nos.setresgid(rgid, egid, sgid)\nos.setresuid(ruid, euid, suid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.stat(path) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result\nos.statvfs(path) -> statvfs result\nos.statvfs_result\nos.strerror(code) -> string\nos.symlink(src, dst)\nos.sys\nos.sysconf(name) -> integer\nos.sysconf_names\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.tempnam([dir[, prefix]]) -> string\nos.times() -> (utime, stime, cutime, cstime, elapsed_time)\nos.tmpfile() -> file object\nos.tmpnam() -> string\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> (sysname, nodename, release, version, machine)\nos.unlink(path)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, (atime, mtime))\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\nos2emxpath.abspath(??)\nos2emxpath.altsep\nos2emxpath.basename(??)\nos2emxpath.commonprefix(??)\nos2emxpath.curdir\nos2emxpath.defpath\nos2emxpath.devnull\nos2emxpath.dirname(??)\nos2emxpath.exists(??)\nos2emxpath.expanduser(??)\nos2emxpath.expandvars(??)\nos2emxpath.extsep\nos2emxpath.getatime(??)\nos2emxpath.getctime(??)\nos2emxpath.getmtime(??)\nos2emxpath.getsize(??)\nos2emxpath.isabs(??)\nos2emxpath.isdir(??)\nos2emxpath.isfile(??)\nos2emxpath.islink(??)\nos2emxpath.ismount(??)\nos2emxpath.join(??)\nos2emxpath.lexists(??)\nos2emxpath.normcase(??)\nos2emxpath.normpath(??)\nos2emxpath.os\nos2emxpath.pardir\nos2emxpath.pathsep\nos2emxpath.realpath(??)\nos2emxpath.sep\nos2emxpath.split(??)\nos2emxpath.splitdrive(??)\nos2emxpath.splitext(??)\nos2emxpath.splitunc(??)\nos2emxpath.stat\nos2emxpath.supports_unicode_filenames\nos2emxpath.walk(??)\nossaudiodev.AFMT_AC3\nossaudiodev.AFMT_A_LAW\nossaudiodev.AFMT_IMA_ADPCM\nossaudiodev.AFMT_MPEG\nossaudiodev.AFMT_MU_LAW\nossaudiodev.AFMT_QUERY\nossaudiodev.AFMT_S16_BE\nossaudiodev.AFMT_S16_LE\nossaudiodev.AFMT_S16_NE\nossaudiodev.AFMT_S8\nossaudiodev.AFMT_U16_BE\nossaudiodev.AFMT_U16_LE\nossaudiodev.AFMT_U8\nossaudiodev.OSSAudioError\nossaudiodev.SNDCTL_COPR_HALT\nossaudiodev.SNDCTL_COPR_LOAD\nossaudiodev.SNDCTL_COPR_RCODE\nossaudiodev.SNDCTL_COPR_RCVMSG\nossaudiodev.SNDCTL_COPR_RDATA\nossaudiodev.SNDCTL_COPR_RESET\nossaudiodev.SNDCTL_COPR_RUN\nossaudiodev.SNDCTL_COPR_SENDMSG\nossaudiodev.SNDCTL_COPR_WCODE\nossaudiodev.SNDCTL_COPR_WDATA\nossaudiodev.SNDCTL_DSP_BIND_CHANNEL\nossaudiodev.SNDCTL_DSP_CHANNELS\nossaudiodev.SNDCTL_DSP_GETBLKSIZE\nossaudiodev.SNDCTL_DSP_GETCAPS\nossaudiodev.SNDCTL_DSP_GETCHANNELMASK\nossaudiodev.SNDCTL_DSP_GETFMTS\nossaudiodev.SNDCTL_DSP_GETIPTR\nossaudiodev.SNDCTL_DSP_GETISPACE\nossaudiodev.SNDCTL_DSP_GETODELAY\nossaudiodev.SNDCTL_DSP_GETOPTR\nossaudiodev.SNDCTL_DSP_GETOSPACE\nossaudiodev.SNDCTL_DSP_GETSPDIF\nossaudiodev.SNDCTL_DSP_GETTRIGGER\nossaudiodev.SNDCTL_DSP_MAPINBUF\nossaudiodev.SNDCTL_DSP_MAPOUTBUF\nossaudiodev.SNDCTL_DSP_NONBLOCK\nossaudiodev.SNDCTL_DSP_POST\nossaudiodev.SNDCTL_DSP_PROFILE\nossaudiodev.SNDCTL_DSP_RESET\nossaudiodev.SNDCTL_DSP_SAMPLESIZE\nossaudiodev.SNDCTL_DSP_SETDUPLEX\nossaudiodev.SNDCTL_DSP_SETFMT\nossaudiodev.SNDCTL_DSP_SETFRAGMENT\nossaudiodev.SNDCTL_DSP_SETSPDIF\nossaudiodev.SNDCTL_DSP_SETSYNCRO\nossaudiodev.SNDCTL_DSP_SETTRIGGER\nossaudiodev.SNDCTL_DSP_SPEED\nossaudiodev.SNDCTL_DSP_STEREO\nossaudiodev.SNDCTL_DSP_SUBDIVIDE\nossaudiodev.SNDCTL_DSP_SYNC\nossaudiodev.SNDCTL_FM_4OP_ENABLE\nossaudiodev.SNDCTL_FM_LOAD_INSTR\nossaudiodev.SNDCTL_MIDI_INFO\nossaudiodev.SNDCTL_MIDI_MPUCMD\nossaudiodev.SNDCTL_MIDI_MPUMODE\nossaudiodev.SNDCTL_MIDI_PRETIME\nossaudiodev.SNDCTL_SEQ_CTRLRATE\nossaudiodev.SNDCTL_SEQ_GETINCOUNT\nossaudiodev.SNDCTL_SEQ_GETOUTCOUNT\nossaudiodev.SNDCTL_SEQ_GETTIME\nossaudiodev.SNDCTL_SEQ_NRMIDIS\nossaudiodev.SNDCTL_SEQ_NRSYNTHS\nossaudiodev.SNDCTL_SEQ_OUTOFBAND\nossaudiodev.SNDCTL_SEQ_PANIC\nossaudiodev.SNDCTL_SEQ_PERCMODE\nossaudiodev.SNDCTL_SEQ_RESET\nossaudiodev.SNDCTL_SEQ_RESETSAMPLES\nossaudiodev.SNDCTL_SEQ_SYNC\nossaudiodev.SNDCTL_SEQ_TESTMIDI\nossaudiodev.SNDCTL_SEQ_THRESHOLD\nossaudiodev.SNDCTL_SYNTH_CONTROL\nossaudiodev.SNDCTL_SYNTH_ID\nossaudiodev.SNDCTL_SYNTH_INFO\nossaudiodev.SNDCTL_SYNTH_MEMAVL\nossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE\nossaudiodev.SNDCTL_TMR_CONTINUE\nossaudiodev.SNDCTL_TMR_METRONOME\nossaudiodev.SNDCTL_TMR_SELECT\nossaudiodev.SNDCTL_TMR_SOURCE\nossaudiodev.SNDCTL_TMR_START\nossaudiodev.SNDCTL_TMR_STOP\nossaudiodev.SNDCTL_TMR_TEMPO\nossaudiodev.SNDCTL_TMR_TIMEBASE\nossaudiodev.SOUND_MIXER_ALTPCM\nossaudiodev.SOUND_MIXER_BASS\nossaudiodev.SOUND_MIXER_CD\nossaudiodev.SOUND_MIXER_DIGITAL1\nossaudiodev.SOUND_MIXER_DIGITAL2\nossaudiodev.SOUND_MIXER_DIGITAL3\nossaudiodev.SOUND_MIXER_IGAIN\nossaudiodev.SOUND_MIXER_IMIX\nossaudiodev.SOUND_MIXER_LINE\nossaudiodev.SOUND_MIXER_LINE1\nossaudiodev.SOUND_MIXER_LINE2\nossaudiodev.SOUND_MIXER_LINE3\nossaudiodev.SOUND_MIXER_MIC\nossaudiodev.SOUND_MIXER_MONITOR\nossaudiodev.SOUND_MIXER_NRDEVICES\nossaudiodev.SOUND_MIXER_OGAIN\nossaudiodev.SOUND_MIXER_PCM\nossaudiodev.SOUND_MIXER_PHONEIN\nossaudiodev.SOUND_MIXER_PHONEOUT\nossaudiodev.SOUND_MIXER_RADIO\nossaudiodev.SOUND_MIXER_RECLEV\nossaudiodev.SOUND_MIXER_SPEAKER\nossaudiodev.SOUND_MIXER_SYNTH\nossaudiodev.SOUND_MIXER_TREBLE\nossaudiodev.SOUND_MIXER_VIDEO\nossaudiodev.SOUND_MIXER_VOLUME\nossaudiodev.control_labels\nossaudiodev.control_names\nossaudiodev.error\nossaudiodev.open\nossaudiodev.openmixer\nparser.ASTType\nparser.ParserError\nparser.STType\nparser.ast2list\nparser.ast2tuple\nparser.compileast\nparser.compilest\nparser.expr\nparser.isexpr\nparser.issuite\nparser.sequence2ast\nparser.sequence2st\nparser.st2list\nparser.st2tuple\nparser.suite\nparser.tuple2ast\nparser.tuple2st\npdb.Pdb(??)\npdb.Repr(??)\npdb.Restart\npdb.TESTCMD\npdb.bdb\npdb.cmd\npdb.find_function(??)\npdb.help(??)\npdb.line_prefix\npdb.linecache\npdb.main(??)\npdb.os\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint\npdb.re\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.sys\npdb.test(??)\npdb.traceback\npickle.APPEND\npickle.APPENDS\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BooleanType\npickle.BufferType\npickle.BuiltinFunctionType\npickle.BuiltinMethodType\npickle.ClassType\npickle.CodeType\npickle.ComplexType\npickle.DICT\npickle.DUP\npickle.DictProxyType\npickle.DictType\npickle.DictionaryType\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.EllipsisType\npickle.FALSE\npickle.FLOAT\npickle.FileType\npickle.FloatType\npickle.FrameType\npickle.FunctionType\npickle.GET\npickle.GLOBAL\npickle.GeneratorType\npickle.GetSetDescriptorType\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.InstanceType\npickle.IntType\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.LambdaType\npickle.ListType\npickle.LongType\npickle.MARK\npickle.MemberDescriptorType\npickle.MethodType\npickle.ModuleType\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.NoneType\npickle.NotImplementedType\npickle.OBJ\npickle.ObjectType\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError\npickle.Pickler(??)\npickle.PicklingError\npickle.PyStringMap\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.SliceType\npickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing\npickle.StringType\npickle.StringTypes\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.TracebackType\npickle.TupleType\npickle.TypeType\npickle.UNICODE\npickle.UnboundMethodType\npickle.UnicodeType\npickle.Unpickler(??)\npickle.UnpicklingError\npickle.XRangeType\npickle.classmap\npickle.compatible_formats\npickle.decode_long(??)\npickle.dispatch_table\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.load(??)\npickle.loads(??)\npickle.marshal\npickle.mloads\npickle.re\npickle.struct\npickle.sys\npickle.whichmodule(??)\npickletools.ArgumentDescriptor\npickletools.OpcodeInfo\npickletools.StackObject\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject\npickletools.code2op\npickletools.decimalnl_long\npickletools.decimalnl_short\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8\npickletools.floatnl\npickletools.genops(??)\npickletools.int4\npickletools.long1\npickletools.long4\npickletools.markobject\npickletools.opcodes\npickletools.optimize(??)\npickletools.pybool\npickletools.pydict\npickletools.pyfloat\npickletools.pyint\npickletools.pyinteger_or_bool\npickletools.pylist\npickletools.pylong\npickletools.pynone\npickletools.pystring\npickletools.pytuple\npickletools.pyunicode\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice\npickletools.string1\npickletools.string4\npickletools.stringnl\npickletools.stringnl_noescape\npickletools.stringnl_noescape_pair\npickletools.uint1\npickletools.uint2\npickletools.unicodestring4\npickletools.unicodestringnl\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os\npipes.quote(??)\npipes.re\npipes.stepkinds\npipes.string\npipes.tempfile\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.imp\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys\npkgutil.walk_packages(??)\npkgutil.zipimport\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re\nplatform.release(??)\nplatform.string\nplatform.sys\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.version(??)\nplatform.win32_ver(??)\nplistlib.Data(??)\nplistlib.Dict\nplistlib.DumbXMLWriter(??)\nplistlib.PLISTHEADER\nplistlib.Plist\nplistlib.PlistParser(??)\nplistlib.PlistWriter(??)\nplistlib.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nplistlib.binascii\nplistlib.datetime\nplistlib.re\nplistlib.readPlist(??)\nplistlib.readPlistFromResource(??)\nplistlib.readPlistFromString(??)\nplistlib.warnings\nplistlib.writePlist(??)\nplistlib.writePlistToResource(??)\nplistlib.writePlistToString(??)\npopen2.MAXFD\npopen2.Popen3(??)\npopen2.Popen4(??)\npopen2.os\npopen2.popen2(??)\npopen2.popen3(??)\npopen2.popen4(??)\npopen2.sys\npopen2.warnings\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto\npoplib.re\npoplib.socket\npoplib.ssl\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_OK\nposix.NGROUPS_MAX\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_LARGEFILE\nposix.O_NDELAY\nposix.O_NOATIME\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_RSYNC\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.R_OK\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode) -> True if granted, False otherwise\nposix.chdir(path)\nposix.chmod(path, mode)\nposix.chown(path, uid, gid)\nposix.chroot(path)\nposix.close(fd)\nposix.closerange(fd_low, fd_high)\nposix.confstr(name) -> string\nposix.confstr_names\nposix.ctermid() -> string\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ\nposix.error\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fildes)\nposix.fchmod(fd, mode)\nposix.fchown(fd, uid, gid)\nposix.fdatasync(fildes)\nposix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.getcwd() -> path\nposix.getcwdu() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getresgid() -> (rgid, egid, sgid)\nposix.getresuid() -> (ruid, euid, suid)\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.initgroups(username, gid) -> None\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchown(path, uid, gid)\nposix.link(src, dst)\nposix.listdir(path) -> list_of_strings\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path [, mode=0777])\nposix.mkfifo(filename [, mode=0666])\nposix.mknod(filename [, mode=0600, device])\nposix.nice(inc) -> new_priority\nposix.open(filename, flag [, mode=0777]) -> fd\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names\nposix.pipe() -> (read_end, write_end)\nposix.popen(command [, mode='r' [, bufsize]]) -> pipe\nposix.putenv(key, value)\nposix.read(fd, buffersize) -> string\nposix.readlink(path) -> path\nposix.remove(path)\nposix.rename(old, new)\nposix.rmdir(path)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setregid(rgid, egid)\nposix.setresgid(rgid, egid, sgid)\nposix.setresuid(ruid, euid, suid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result\nposix.statvfs(path) -> statvfs result\nposix.statvfs_result\nposix.strerror(code) -> string\nposix.symlink(src, dst)\nposix.sysconf(name) -> integer\nposix.sysconf_names\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.tempnam([dir[, prefix]]) -> string\nposix.times() -> (utime, stime, cutime, cstime, elapsed_time)\nposix.tmpfile() -> file object\nposix.tmpnam() -> string\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> (sysname, nodename, release, version, machine)\nposix.unlink(path)\nposix.unsetenv(key)\nposix.utime(path, (atime, mtime))\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\nposixfile.SEEK_CUR\nposixfile.SEEK_END\nposixfile.SEEK_SET\nposixfile.fileopen(??)\nposixfile.open(??)\nposixfile.warnings\nposixpath.abspath(??)\nposixpath.altsep\nposixpath.basename(??)\nposixpath.commonprefix(??)\nposixpath.curdir\nposixpath.defpath\nposixpath.devnull\nposixpath.dirname(??)\nposixpath.exists(??)\nposixpath.expanduser(??)\nposixpath.expandvars(??)\nposixpath.extsep\nposixpath.genericpath\nposixpath.getatime(??)\nposixpath.getctime(??)\nposixpath.getmtime(??)\nposixpath.getsize(??)\nposixpath.isabs(??)\nposixpath.isdir(??)\nposixpath.isfile(??)\nposixpath.islink(??)\nposixpath.ismount(??)\nposixpath.join(??)\nposixpath.lexists(??)\nposixpath.normcase(??)\nposixpath.normpath(??)\nposixpath.os\nposixpath.pardir\nposixpath.pathsep\nposixpath.realpath(??)\nposixpath.relpath(??)\nposixpath.samefile(??)\nposixpath.sameopenfile(??)\nposixpath.samestat(??)\nposixpath.sep\nposixpath.split(??)\nposixpath.splitdrive(??)\nposixpath.splitext(??)\nposixpath.stat\nposixpath.supports_unicode_filenames\nposixpath.walk(??)\nposixpath.warnings\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\npprint.warnings\nprint\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.Stats(??)\nprofile.help(??)\nprofile.main(??)\nprofile.marshal\nprofile.os\nprofile.resgetrusage(??)\nprofile.resource\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys\nprofile.time\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal\npstats.os\npstats.re\npstats.sys\npstats.time\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd\npwd.struct_pwent\npy_compile.MAGIC\npy_compile.PyCompileError\npy_compile.compile(??)\npy_compile.imp\npy_compile.main(??)\npy_compile.marshal\npy_compile.os\npy_compile.sys\npy_compile.traceback\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.imp\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys\npyclbr.tokenize\npydoc.Doc(??)\npydoc.ErrorDuringImport\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable[, maxlen]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.expandtabs(s [,tabsize]) -> string\npydoc.extract_tb(??)\npydoc.find(s, sub [,start [,end]]) -> in\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.gui(??)\npydoc.help\npydoc.html\npydoc.imp\npydoc.importfile(??)\npydoc.inspect\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.join(list [,sep]) -> string\npydoc.locate(??)\npydoc.lower(s) -> string\npydoc.os\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.re\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.rfind(s, sub [,start [,end]]) -> int\npydoc.rstrip(s [,chars]) -> string\npydoc.safeimport(??)\npydoc.serve(??)\npydoc.source_synopsis(??)\npydoc.split(s [,sep [,maxsplit]]) -> list of strings\npydoc.splitdoc(??)\npydoc.strip(s [,chars]) -> string\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys\npydoc.tempfilepager(??)\npydoc.text\npydoc.ttypager(??)\npydoc.types\npydoc.visiblename(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics\npydoc_data.topics.topics\npyexpat.EXPAT_VERSION\npyexpat.ErrorString(errno) -> string\npyexpat.ExpatError\npyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser\npyexpat.XMLParserType\npyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS\npyexpat.XML_PARAM_ENTITY_PARSING_NEVER\npyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\npyexpat.error\npyexpat.errors\npyexpat.expat_CAPI\npyexpat.features\npyexpat.model\npyexpat.native_encoding\npyexpat.version_info\nquit\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random\nrandom.SG_MAGICCONST\nrandom.SystemRandom\nrandom.TWOPI\nrandom.WichmannHill\nrandom.betavariate\nrandom.choice\nrandom.division\nrandom.expovariate\nrandom.gammavariate\nrandom.gauss\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate\nrandom.jumpahead(int) -> None.  Create new state from existing state and integer.\nrandom.lognormvariate\nrandom.normalvariate\nrandom.paretovariate\nrandom.randint\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange\nrandom.sample\nrandom.seed\nrandom.setstate\nrandom.shuffle\nrandom.triangular\nrandom.uniform\nrandom.vonmisesvariate\nrandom.weibullvariate\nrange([start,] stop[, step]) -> list of integers\nraw_input([prompt]) -> string\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copy_reg\nre.error\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile\nre.sre_parse\nre.sub(??)\nre.subn(??)\nre.sys\nre.template(??)\nreduce(function, sequence[, initial]) -> value\nreload(module) -> module\nrepr(object) -> string\nrepr.Repr(??)\nrepr.aRepr\nrepr.islice(iterable, [start,] stop [, step]) --> islice object\nrepr.repr\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_OFILE\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error\nresource.getpagesize\nresource.getrlimit\nresource.getrusage\nresource.setrlimit\nresource.struct_rusage\nreversed(sequence) -> reverse iterator over values of the sequence\nrexec.FileBase(??)\nrexec.FileDelegate(??)\nrexec.FileWrapper(??)\nrexec.RExec(??)\nrexec.RHooks(??)\nrexec.RModuleImporter(??)\nrexec.RModuleLoader(??)\nrexec.TEMPLATE\nrexec.ihooks\nrexec.imp\nrexec.os\nrexec.sys\nrexec.test(??)\nrfc822.AddressList(??)\nrfc822.AddrlistClass(??)\nrfc822.Message(??)\nrfc822.dump_address_pair(??)\nrfc822.formatdate(??)\nrfc822.mktime_tz(??)\nrfc822.parseaddr(??)\nrfc822.parsedate(??)\nrfc822.parsedate_tz(??)\nrfc822.quote(??)\nrfc822.time\nrfc822.unquote(??)\nrfc822.warnpy3k(??)\nrlcompleter.Completer(??)\nrlcompleter.get_class_members(??)\nrobotparser.Entry(??)\nrobotparser.RobotFileParser(??)\nrobotparser.RuleLine(??)\nrobotparser.URLopener(??)\nrobotparser.urllib\nrobotparser.urlparse\nround(number[, ndigits]) -> floating point number\nrunpy.get_loader(??)\nrunpy.imp\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys\nsched.Event(time, priority, action, argument)\nsched.heapq\nsched.namedtuple(??)\nsched.scheduler(??)\nselect.EPOLLERR\nselect.EPOLLET\nselect.EPOLLHUP\nselect.EPOLLIN\nselect.EPOLLMSG\nselect.EPOLLONESHOT\nselect.EPOLLOUT\nselect.EPOLLPRI\nselect.EPOLLRDBAND\nselect.EPOLLRDNORM\nselect.EPOLLWRBAND\nselect.EPOLLWRNORM\nselect.PIPE_BUF\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLMSG\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.epoll\nselect.error\nselect.poll\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nset() -> new empty set object\nsetattr(object, name, value)\nsets.BaseSet\nsets.ImmutableSet\nsets.Set\nsets.ifilter(function or None, sequence) --> ifilter object\nsets.ifilterfalse(function or None, sequence) --> ifilterfalse object\nsets.warnings\nsgmllib.SGMLParseError\nsgmllib.SGMLParser(??)\nsgmllib.TestSGMLParser(??)\nsgmllib.attrfind\nsgmllib.charref\nsgmllib.endbracket\nsgmllib.entityref\nsgmllib.incomplete\nsgmllib.interesting\nsgmllib.markupbase\nsgmllib.piclose\nsgmllib.re\nsgmllib.shorttag\nsgmllib.shorttagopen\nsgmllib.starttagopen\nsgmllib.tagfind\nsgmllib.test(??)\nsha.blocksize\nsha.digest_size\nsha.digestsize\nsha.new\nsha.sha\nsha.warnings\nshelve.BsdDbShelf(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=0) -- Create a pickler.\nshelve.Shelf(??)\nshelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshelve.Unpickler(file) -- Create an unpickler.\nshelve.UserDict\nshelve.open(??)\nshlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nshlex.deque(iterable[, maxlen]) --> deque object\nshlex.os\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys\nshutil.Error\nshutil.ExecError\nshutil.SpecialFileError\nshutil.WindowsError\nshutil.abspath(??)\nshutil.collections\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.errno\nshutil.fnmatch\nshutil.get_archive_formats(??)\nshutil.getgrnam(name) -> tuple\nshutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os\nshutil.register_archive_format(??)\nshutil.rmtree(??)\nshutil.stat\nshutil.sys\nshutil.unregister_archive_format(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCLD\nsignal.SIGCONT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPOLL\nsignal.SIGPROF\nsignal.SIGPWR\nsignal.SIGQUIT\nsignal.SIGRTMAX\nsignal.SIGRTMIN\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getitimer(which)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(which, seconds[, interval])\nsignal.siginterrupt(sig, flag) -> None\nsignal.signal(sig, action) -> action\nsite.ENABLE_USER_SITE\nsite.PREFIXES\nsite.USER_BASE\nsite.USER_SITE\nsite.abs__file__(??)\nsite.addbuilddir(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.check_enableusersite(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.setencoding(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DEBUGSTREAM\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat\nsmtpd.asyncore\nsmtpd.errno\nsmtpd.getopt\nsmtpd.os\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket\nsmtpd.sys\nsmtpd.time\nsmtpd.usage(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError\nsmtplib.SMTPConnectError\nsmtplib.SMTPDataError\nsmtplib.SMTPException\nsmtplib.SMTPHeloError\nsmtplib.SMTPRecipientsRefused\nsmtplib.SMTPResponseException\nsmtplib.SMTPSenderRefused\nsmtplib.SMTPServerDisconnected\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.SSLFakeFile(??)\nsmtplib.base64\nsmtplib.email\nsmtplib.encode_base64(??)\nsmtplib.hmac\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re\nsmtplib.socket\nsmtplib.ssl\nsmtplib.stderr\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_ASH\nsocket.AF_ATMPVC\nsocket.AF_ATMSVC\nsocket.AF_AX25\nsocket.AF_BRIDGE\nsocket.AF_DECnet\nsocket.AF_ECONET\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_IRDA\nsocket.AF_KEY\nsocket.AF_LLC\nsocket.AF_NETBEUI\nsocket.AF_NETLINK\nsocket.AF_NETROM\nsocket.AF_PACKET\nsocket.AF_PPPOX\nsocket.AF_ROSE\nsocket.AF_ROUTE\nsocket.AF_SECURITY\nsocket.AF_SNA\nsocket.AF_TIPC\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AF_WANPIPE\nsocket.AF_X25\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.CAPI\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EINTR\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.MethodType\nsocket.NETLINK_DNRTMSG\nsocket.NETLINK_FIREWALL\nsocket.NETLINK_IP6_FW\nsocket.NETLINK_NFLOG\nsocket.NETLINK_ROUTE\nsocket.NETLINK_USERSOCK\nsocket.NETLINK_XFRM\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PACKET_BROADCAST\nsocket.PACKET_FASTROUTE\nsocket.PACKET_HOST\nsocket.PACKET_LOOPBACK\nsocket.PACKET_MULTICAST\nsocket.PACKET_OTHERHOST\nsocket.PACKET_OUTGOING\nsocket.PF_PACKET\nsocket.RAND_add(string, entropy)\nsocket.RAND_egd(path) -> bytes\nsocket.RAND_status() -> 0 or 1\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_TIPC\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SSL_ERROR_EOF\nsocket.SSL_ERROR_INVALID_ERROR_CODE\nsocket.SSL_ERROR_SSL\nsocket.SSL_ERROR_SYSCALL\nsocket.SSL_ERROR_WANT_CONNECT\nsocket.SSL_ERROR_WANT_READ\nsocket.SSL_ERROR_WANT_WRITE\nsocket.SSL_ERROR_WANT_X509_LOOKUP\nsocket.SSL_ERROR_ZERO_RETURN\nsocket.SocketType\nsocket.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nsocket.TCP_CORK\nsocket.TCP_DEFER_ACCEPT\nsocket.TCP_INFO\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPIDLE\nsocket.TCP_KEEPINTVL\nsocket.TCP_LINGER2\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.TCP_QUICKACK\nsocket.TCP_SYNCNT\nsocket.TCP_WINDOW_CLAMP\nsocket.TIPC_ADDR_ID\nsocket.TIPC_ADDR_NAME\nsocket.TIPC_ADDR_NAMESEQ\nsocket.TIPC_CFG_SRV\nsocket.TIPC_CLUSTER_SCOPE\nsocket.TIPC_CONN_TIMEOUT\nsocket.TIPC_CRITICAL_IMPORTANCE\nsocket.TIPC_DEST_DROPPABLE\nsocket.TIPC_HIGH_IMPORTANCE\nsocket.TIPC_IMPORTANCE\nsocket.TIPC_LOW_IMPORTANCE\nsocket.TIPC_MEDIUM_IMPORTANCE\nsocket.TIPC_NODE_SCOPE\nsocket.TIPC_PUBLISHED\nsocket.TIPC_SRC_DROPPABLE\nsocket.TIPC_SUBSCR_TIMEOUT\nsocket.TIPC_SUB_CANCEL\nsocket.TIPC_SUB_PORTS\nsocket.TIPC_SUB_SERVICE\nsocket.TIPC_TOP_SRV\nsocket.TIPC_WAIT_FOREVER\nsocket.TIPC_WITHDRAWN\nsocket.TIPC_ZONE_SCOPE\nsocket.create_connection(??)\nsocket.errno\nsocket.error\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6\nsocket.herror\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.inet_aton(string) -> packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.m\nsocket.meth(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os\nsocket.p\nsocket.partial(func, *args, **keywords) - new function with partial application\nsocket.setdefaulttimeout(timeout)\nsocket.socket([family[, type[, proto]]]) -> socket object\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.ssl(??)\nsocket.sslerror\nsocket.sys\nsocket.timeout\nsocket.warnings\nsorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list\nspwd.getspall() -> list_of_entries\nspwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max,\nspwd.struct_spwd\nsre.DOTALL\nsre.I\nsre.IGNORECASE\nsre.L\nsre.LOCALE\nsre.M\nsre.MULTILINE\nsre.S\nsre.U\nsre.UNICODE\nsre.VERBOSE\nsre.X\nsre.compile(??)\nsre.error\nsre.escape(??)\nsre.findall(??)\nsre.finditer(??)\nsre.match(??)\nsre.purge(??)\nsre.search(??)\nsre.split(??)\nsre.sub(??)\nsre.subn(??)\nsre.template(??)\nsre.warnings\nsre_compile.ANY\nsre_compile.ANY_ALL\nsre_compile.ASSERT\nsre_compile.ASSERT_NOT\nsre_compile.AT\nsre_compile.ATCODES\nsre_compile.AT_BEGINNING\nsre_compile.AT_BEGINNING_LINE\nsre_compile.AT_BEGINNING_STRING\nsre_compile.AT_BOUNDARY\nsre_compile.AT_END\nsre_compile.AT_END_LINE\nsre_compile.AT_END_STRING\nsre_compile.AT_LOCALE\nsre_compile.AT_LOC_BOUNDARY\nsre_compile.AT_LOC_NON_BOUNDARY\nsre_compile.AT_MULTILINE\nsre_compile.AT_NON_BOUNDARY\nsre_compile.AT_UNICODE\nsre_compile.AT_UNI_BOUNDARY\nsre_compile.AT_UNI_NON_BOUNDARY\nsre_compile.BIGCHARSET\nsre_compile.BRANCH\nsre_compile.CALL\nsre_compile.CATEGORY\nsre_compile.CATEGORY_DIGIT\nsre_compile.CATEGORY_LINEBREAK\nsre_compile.CATEGORY_LOC_NOT_WORD\nsre_compile.CATEGORY_LOC_WORD\nsre_compile.CATEGORY_NOT_DIGIT\nsre_compile.CATEGORY_NOT_LINEBREAK\nsre_compile.CATEGORY_NOT_SPACE\nsre_compile.CATEGORY_NOT_WORD\nsre_compile.CATEGORY_SPACE\nsre_compile.CATEGORY_UNI_DIGIT\nsre_compile.CATEGORY_UNI_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_DIGIT\nsre_compile.CATEGORY_UNI_NOT_LINEBREAK\nsre_compile.CATEGORY_UNI_NOT_SPACE\nsre_compile.CATEGORY_UNI_NOT_WORD\nsre_compile.CATEGORY_UNI_SPACE\nsre_compile.CATEGORY_UNI_WORD\nsre_compile.CATEGORY_WORD\nsre_compile.CHARSET\nsre_compile.CHCODES\nsre_compile.CH_LOCALE\nsre_compile.CH_UNICODE\nsre_compile.FAILURE\nsre_compile.GROUPREF\nsre_compile.GROUPREF_EXISTS\nsre_compile.GROUPREF_IGNORE\nsre_compile.IN\nsre_compile.INFO\nsre_compile.IN_IGNORE\nsre_compile.JUMP\nsre_compile.LITERAL\nsre_compile.LITERAL_IGNORE\nsre_compile.MAGIC\nsre_compile.MARK\nsre_compile.MAXCODE\nsre_compile.MAXREPEAT\nsre_compile.MAX_REPEAT\nsre_compile.MAX_UNTIL\nsre_compile.MIN_REPEAT\nsre_compile.MIN_REPEAT_ONE\nsre_compile.MIN_UNTIL\nsre_compile.NEGATE\nsre_compile.NOT_LITERAL\nsre_compile.NOT_LITERAL_IGNORE\nsre_compile.OPCODES\nsre_compile.OP_IGNORE\nsre_compile.RANGE\nsre_compile.REPEAT\nsre_compile.REPEAT_ONE\nsre_compile.SRE_FLAG_DEBUG\nsre_compile.SRE_FLAG_DOTALL\nsre_compile.SRE_FLAG_IGNORECASE\nsre_compile.SRE_FLAG_LOCALE\nsre_compile.SRE_FLAG_MULTILINE\nsre_compile.SRE_FLAG_TEMPLATE\nsre_compile.SRE_FLAG_UNICODE\nsre_compile.SRE_FLAG_VERBOSE\nsre_compile.SRE_INFO_CHARSET\nsre_compile.SRE_INFO_LITERAL\nsre_compile.SRE_INFO_PREFIX\nsre_compile.STRING_TYPES\nsre_compile.SUBPATTERN\nsre_compile.SUCCESS\nsre_compile.compile(??)\nsre_compile.error\nsre_compile.isstring(??)\nsre_compile.makedict(??)\nsre_compile.sre_parse\nsre_compile.sys\nsre_constants.ANY\nsre_constants.ANY_ALL\nsre_constants.ASSERT\nsre_constants.ASSERT_NOT\nsre_constants.AT\nsre_constants.ATCODES\nsre_constants.AT_BEGINNING\nsre_constants.AT_BEGINNING_LINE\nsre_constants.AT_BEGINNING_STRING\nsre_constants.AT_BOUNDARY\nsre_constants.AT_END\nsre_constants.AT_END_LINE\nsre_constants.AT_END_STRING\nsre_constants.AT_LOCALE\nsre_constants.AT_LOC_BOUNDARY\nsre_constants.AT_LOC_NON_BOUNDARY\nsre_constants.AT_MULTILINE\nsre_constants.AT_NON_BOUNDARY\nsre_constants.AT_UNICODE\nsre_constants.AT_UNI_BOUNDARY\nsre_constants.AT_UNI_NON_BOUNDARY\nsre_constants.BIGCHARSET\nsre_constants.BRANCH\nsre_constants.CALL\nsre_constants.CATEGORY\nsre_constants.CATEGORY_DIGIT\nsre_constants.CATEGORY_LINEBREAK\nsre_constants.CATEGORY_LOC_NOT_WORD\nsre_constants.CATEGORY_LOC_WORD\nsre_constants.CATEGORY_NOT_DIGIT\nsre_constants.CATEGORY_NOT_LINEBREAK\nsre_constants.CATEGORY_NOT_SPACE\nsre_constants.CATEGORY_NOT_WORD\nsre_constants.CATEGORY_SPACE\nsre_constants.CATEGORY_UNI_DIGIT\nsre_constants.CATEGORY_UNI_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_DIGIT\nsre_constants.CATEGORY_UNI_NOT_LINEBREAK\nsre_constants.CATEGORY_UNI_NOT_SPACE\nsre_constants.CATEGORY_UNI_NOT_WORD\nsre_constants.CATEGORY_UNI_SPACE\nsre_constants.CATEGORY_UNI_WORD\nsre_constants.CATEGORY_WORD\nsre_constants.CHARSET\nsre_constants.CHCODES\nsre_constants.CH_LOCALE\nsre_constants.CH_UNICODE\nsre_constants.FAILURE\nsre_constants.GROUPREF\nsre_constants.GROUPREF_EXISTS\nsre_constants.GROUPREF_IGNORE\nsre_constants.IN\nsre_constants.INFO\nsre_constants.IN_IGNORE\nsre_constants.JUMP\nsre_constants.LITERAL\nsre_constants.LITERAL_IGNORE\nsre_constants.MAGIC\nsre_constants.MARK\nsre_constants.MAXREPEAT\nsre_constants.MAX_REPEAT\nsre_constants.MAX_UNTIL\nsre_constants.MIN_REPEAT\nsre_constants.MIN_REPEAT_ONE\nsre_constants.MIN_UNTIL\nsre_constants.NEGATE\nsre_constants.NOT_LITERAL\nsre_constants.NOT_LITERAL_IGNORE\nsre_constants.OPCODES\nsre_constants.OP_IGNORE\nsre_constants.RANGE\nsre_constants.REPEAT\nsre_constants.REPEAT_ONE\nsre_constants.SRE_FLAG_DEBUG\nsre_constants.SRE_FLAG_DOTALL\nsre_constants.SRE_FLAG_IGNORECASE\nsre_constants.SRE_FLAG_LOCALE\nsre_constants.SRE_FLAG_MULTILINE\nsre_constants.SRE_FLAG_TEMPLATE\nsre_constants.SRE_FLAG_UNICODE\nsre_constants.SRE_FLAG_VERBOSE\nsre_constants.SRE_INFO_CHARSET\nsre_constants.SRE_INFO_LITERAL\nsre_constants.SRE_INFO_PREFIX\nsre_constants.SUBPATTERN\nsre_constants.SUCCESS\nsre_constants.error\nsre_constants.makedict(??)\nsre_parse.ANY\nsre_parse.ANY_ALL\nsre_parse.ASSERT\nsre_parse.ASSERT_NOT\nsre_parse.AT\nsre_parse.ATCODES\nsre_parse.AT_BEGINNING\nsre_parse.AT_BEGINNING_LINE\nsre_parse.AT_BEGINNING_STRING\nsre_parse.AT_BOUNDARY\nsre_parse.AT_END\nsre_parse.AT_END_LINE\nsre_parse.AT_END_STRING\nsre_parse.AT_LOCALE\nsre_parse.AT_LOC_BOUNDARY\nsre_parse.AT_LOC_NON_BOUNDARY\nsre_parse.AT_MULTILINE\nsre_parse.AT_NON_BOUNDARY\nsre_parse.AT_UNICODE\nsre_parse.AT_UNI_BOUNDARY\nsre_parse.AT_UNI_NON_BOUNDARY\nsre_parse.BIGCHARSET\nsre_parse.BRANCH\nsre_parse.CALL\nsre_parse.CATEGORIES\nsre_parse.CATEGORY\nsre_parse.CATEGORY_DIGIT\nsre_parse.CATEGORY_LINEBREAK\nsre_parse.CATEGORY_LOC_NOT_WORD\nsre_parse.CATEGORY_LOC_WORD\nsre_parse.CATEGORY_NOT_DIGIT\nsre_parse.CATEGORY_NOT_LINEBREAK\nsre_parse.CATEGORY_NOT_SPACE\nsre_parse.CATEGORY_NOT_WORD\nsre_parse.CATEGORY_SPACE\nsre_parse.CATEGORY_UNI_DIGIT\nsre_parse.CATEGORY_UNI_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_DIGIT\nsre_parse.CATEGORY_UNI_NOT_LINEBREAK\nsre_parse.CATEGORY_UNI_NOT_SPACE\nsre_parse.CATEGORY_UNI_NOT_WORD\nsre_parse.CATEGORY_UNI_SPACE\nsre_parse.CATEGORY_UNI_WORD\nsre_parse.CATEGORY_WORD\nsre_parse.CHARSET\nsre_parse.CHCODES\nsre_parse.CH_LOCALE\nsre_parse.CH_UNICODE\nsre_parse.DIGITS\nsre_parse.ESCAPES\nsre_parse.FAILURE\nsre_parse.FLAGS\nsre_parse.GROUPREF\nsre_parse.GROUPREF_EXISTS\nsre_parse.GROUPREF_IGNORE\nsre_parse.HEXDIGITS\nsre_parse.IN\nsre_parse.INFO\nsre_parse.IN_IGNORE\nsre_parse.JUMP\nsre_parse.LITERAL\nsre_parse.LITERAL_IGNORE\nsre_parse.MAGIC\nsre_parse.MARK\nsre_parse.MAXREPEAT\nsre_parse.MAX_REPEAT\nsre_parse.MAX_UNTIL\nsre_parse.MIN_REPEAT\nsre_parse.MIN_REPEAT_ONE\nsre_parse.MIN_UNTIL\nsre_parse.NEGATE\nsre_parse.NOT_LITERAL\nsre_parse.NOT_LITERAL_IGNORE\nsre_parse.OCTDIGITS\nsre_parse.OPCODES\nsre_parse.OP_IGNORE\nsre_parse.Pattern(??)\nsre_parse.RANGE\nsre_parse.REPEAT\nsre_parse.REPEAT_CHARS\nsre_parse.REPEAT_ONE\nsre_parse.SPECIAL_CHARS\nsre_parse.SRE_FLAG_DEBUG\nsre_parse.SRE_FLAG_DOTALL\nsre_parse.SRE_FLAG_IGNORECASE\nsre_parse.SRE_FLAG_LOCALE\nsre_parse.SRE_FLAG_MULTILINE\nsre_parse.SRE_FLAG_TEMPLATE\nsre_parse.SRE_FLAG_UNICODE\nsre_parse.SRE_FLAG_VERBOSE\nsre_parse.SRE_INFO_CHARSET\nsre_parse.SRE_INFO_LITERAL\nsre_parse.SRE_INFO_PREFIX\nsre_parse.SUBPATTERN\nsre_parse.SUCCESS\nsre_parse.SubPattern(??)\nsre_parse.Tokenizer(??)\nsre_parse.WHITESPACE\nsre_parse.error\nsre_parse.expand_template(??)\nsre_parse.isdigit(??)\nsre_parse.isident(??)\nsre_parse.isname(??)\nsre_parse.makedict(??)\nsre_parse.parse(??)\nsre_parse.parse_template(??)\nsre_parse.sys\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.DER_cert_to_PEM_cert(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO\nssl.OPENSSL_VERSION_NUMBER\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2\nssl.PROTOCOL_SSLv23\nssl.PROTOCOL_SSLv3\nssl.PROTOCOL_TLSv1\nssl.RAND_add(string, entropy)\nssl.RAND_egd(path) -> bytes\nssl.RAND_status() -> 0 or 1\nssl.SSLError\nssl.SSLSocket\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.base64\nssl.cert_time_to_seconds(??)\nssl.errno\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.socket([family[, type[, proto]]]) -> socket object\nssl.socket_error\nssl.sslwrap_simple(??)\nssl.textwrap\nssl.wrap_socket(??)\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstaticmethod(function) -> method\nstatvfs.F_BAVAIL\nstatvfs.F_BFREE\nstatvfs.F_BLOCKS\nstatvfs.F_BSIZE\nstatvfs.F_FAVAIL\nstatvfs.F_FFREE\nstatvfs.F_FILES\nstatvfs.F_FLAG\nstatvfs.F_FRSIZE\nstatvfs.F_NAMEMAX\nstr(object) -> string\nstring.Formatter\nstring.Template\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.atof(s) -> float\nstring.atof_error\nstring.atoi(s [,base]) -> int\nstring.atoi_error\nstring.atol(s [,base]) -> long\nstring.atol_error\nstring.capitalize(s) -> string\nstring.capwords(s [,sep]) -> string\nstring.center(s, width[, fillchar]) -> string\nstring.count(s, sub[, start[,end]]) -> int\nstring.digits\nstring.expandtabs(s [,tabsize]) -> string\nstring.find(s, sub [,start [,end]]) -> in\nstring.hexdigits\nstring.index(s, sub [,start [,end]]) -> int\nstring.index_error\nstring.join(list [,sep]) -> string\nstring.joinfields(??)\nstring.letters\nstring.ljust(s, width[, fillchar]) -> string\nstring.lower(s) -> string\nstring.lowercase\nstring.lstrip(s [,chars]) -> string\nstring.maketrans(frm, to) -> string\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.replace (str, old, new[, maxsplit]) -> string\nstring.rfind(s, sub [,start [,end]]) -> int\nstring.rindex(s, sub [,start [,end]]) -> int\nstring.rjust(s, width[, fillchar]) -> string\nstring.rsplit(s [,sep [,maxsplit]]) -> list of strings\nstring.rstrip(s [,chars]) -> string\nstring.split(s [,sep [,maxsplit]]) -> list of strings\nstring.splitfields(??)\nstring.strip(s [,chars]) -> string\nstring.swapcase(s) -> string\nstring.translate(s,table [,deletions]) -> string\nstring.upper(s) -> string\nstring.uppercase\nstring.whitespace\nstring.zfill(x, width) -> string\nstringold.atof(s) -> float\nstringold.atof_error\nstringold.atoi(s [,base]) -> int\nstringold.atoi_error\nstringold.atol(s [,base]) -> long\nstringold.atol_error\nstringold.capitalize(s) -> string\nstringold.capwords(s, [sep]) -> string\nstringold.center(s, width) -> string\nstringold.count(s, sub[, start[,end]]) -> int\nstringold.digits\nstringold.expandtabs(s [,tabsize]) -> string\nstringold.find(s, sub [,start [,end]]) -> in\nstringold.hexdigits\nstringold.index(s, sub [,start [,end]]) -> int\nstringold.index_error\nstringold.join(list [,sep]) -> string\nstringold.joinfields(??)\nstringold.letters\nstringold.ljust(s, width) -> string\nstringold.lower(s) -> string\nstringold.lowercase\nstringold.lstrip(s) -> string\nstringold.maketrans(frm, to) -> string\nstringold.octdigits\nstringold.replace (str, old, new[, maxsplit]) -> string\nstringold.rfind(s, sub [,start [,end]]) -> int\nstringold.rindex(s, sub [,start [,end]]) -> int\nstringold.rjust(s, width) -> string\nstringold.rstrip(s) -> string\nstringold.split(str [,sep [,maxsplit]]) -> list of strings\nstringold.splitfields(??)\nstringold.strip(s) -> string\nstringold.swapcase(s) -> string\nstringold.translate(s,table [,deletechars]) -> string\nstringold.upper(s) -> string\nstringold.uppercase\nstringold.whitespace\nstringold.zfill(x, width) -> string\nstringprep.b1_set\nstringprep.b3_exceptions\nstringprep.c22_specials\nstringprep.c6_set\nstringprep.c7_set\nstringprep.c8_set\nstringprep.c9_set\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata\nstrop.atof(s) -> float\nstrop.atoi(s [,base]) -> int\nstrop.atol(s [,base]) -> long\nstrop.capitalize(s) -> string\nstrop.count(s, sub[, start[, end]]) -> int\nstrop.expandtabs(string, [tabsize]) -> string\nstrop.find(s, sub [,start [,end]]) -> in\nstrop.join(list [,sep]) -> string\nstrop.joinfields\nstrop.lower(s) -> string\nstrop.lowercase\nstrop.lstrip(s) -> string\nstrop.maketrans(frm, to) -> string\nstrop.replace (str, old, new[, maxsplit]) -> string\nstrop.rfind(s, sub [,start [,end]]) -> int\nstrop.rstrip(s) -> string\nstrop.split(s [,sep [,maxsplit]]) -> list of strings\nstrop.splitfields\nstrop.strip(s) -> string\nstrop.swapcase(s) -> string\nstrop.translate(s,table [,deletechars]) -> string\nstrop.upper(s) -> string\nstrop.uppercase\nstrop.whitespace\nstruct.Struct\nstruct.calcsize\nstruct.error\nstruct.pack\nstruct.pack_into\nstruct.unpack\nstruct.unpack_from\nsubprocess.CalledProcessError\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen\nsubprocess.STDOUT\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno\nsubprocess.fcntl\nsubprocess.gc\nsubprocess.list2cmdline(??)\nsubprocess.mswindows\nsubprocess.os\nsubprocess.pickle\nsubprocess.select\nsubprocess.signal\nsubprocess.sys\nsubprocess.traceback\nsubprocess.types\nsum(sequence[, start]) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error\nsunau.open(??)\nsunau.openfp(??)\nsunaudio.MAGIC\nsunaudio.error\nsunaudio.get_long_be(??)\nsunaudio.gethdr(??)\nsunaudio.printhdr(??)\nsuper(type) -> unbound super object\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictmaker\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.exec_stmt\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.fpdef\nsymbol.fplist\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.list_for\nsymbol.list_if\nsymbol.list_iter\nsymbol.listmaker\nsymbol.main(??)\nsymbol.not_test\nsymbol.old_lambdef\nsymbol.old_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.print_stmt\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name\nsymbol.term\nsymbol.test\nsymbol.testlist\nsymbol.testlist1\nsymbol.testlist_comp\nsymbol.testlist_safe\nsymbol.trailer\nsymbol.try_stmt\nsymbol.varargslist\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.OPT_BARE_EXEC\nsymtable.OPT_EXEC\nsymtable.OPT_IMPORT_STAR\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol\nsymtable.SymbolTable\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref\nsys.api_version\nsys.argv\nsys.builtin_module_names\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode\nsys.exc_clear() -> None\nsys.exc_info() -> (type, value, traceback)\nsys.exc_type\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags\nsys.float_info\nsys.float_repr_style\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.gettrace()\nsys.hexversion\nsys.long_info\nsys.maxint\nsys.maxsize\nsys.maxunicode\nsys.meta_path\nsys.modules\nsys.path\nsys.path_hooks\nsys.path_importer_cache\nsys.platform\nsys.prefix\nsys.py3kwarning\nsys.setappdefaultencoding\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.settrace(function)\nsys.stderr\nsys.stdin\nsys.stdout\nsys.subversion\nsys.version\nsys.version_info\nsys.warnoptions\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog\nsyslog.openlog\nsyslog.setlogmask\nsyslog.syslog\ntabnanny.NannyNag\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt\ntabnanny.main(??)\ntabnanny.os\ntabnanny.process_tokens(??)\ntabnanny.sys\ntabnanny.tokenize\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError\ntarfile.EmptyHeaderError\ntarfile.ExFileObject\ntarfile.ExtractError\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES\ntarfile.HeaderError\ntarfile.InvalidHeaderError\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS\ntarfile.PAX_FORMAT\ntarfile.PAX_NUMBER_FIELDS\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES\ntarfile.ReadError\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError\ntarfile.SubsequentHeaderError\ntarfile.TAR_GZIPPED\ntarfile.TAR_PLAIN\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError\ntarfile.TarFile\ntarfile.TarFileCompat(??)\ntarfile.TarInfo\ntarfile.TarIter(??)\ntarfile.TruncatedHeaderError\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open\ntarfile.calc_chksums(??)\ntarfile.copy\ntarfile.copyfileobj(??)\ntarfile.errno\ntarfile.filemode(??)\ntarfile.filemode_table\ntarfile.grp\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open\ntarfile.operator\ntarfile.os\ntarfile.pwd\ntarfile.re\ntarfile.shutil\ntarfile.stat\ntarfile.stn(??)\ntarfile.struct\ntarfile.sys\ntarfile.time\ntarfile.uts(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.select\ntelnetlib.socket\ntelnetlib.sys\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B460800\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CBAUD\ntermios.CBAUDEX\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CIBAUD\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.IOCSIZE_MASK\ntermios.IOCSIZE_SHIFT\ntermios.ISIG\ntermios.ISTRIP\ntermios.IUCLC\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCC\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.N_MOUSE\ntermios.N_PPP\ntermios.N_SLIP\ntermios.N_STRIP\ntermios.N_TTY\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.OLCUC\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCFLSH\ntermios.TCGETA\ntermios.TCGETS\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSBRK\ntermios.TCSBRKP\ntermios.TCSETA\ntermios.TCSETAF\ntermios.TCSETAW\ntermios.TCSETS\ntermios.TCSETSF\ntermios.TCSETSW\ntermios.TCXONC\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGICOUNT\ntermios.TIOCGLCKTRMIOS\ntermios.TIOCGPGRP\ntermios.TIOCGSERIAL\ntermios.TIOCGSOFTCAR\ntermios.TIOCGWINSZ\ntermios.TIOCINQ\ntermios.TIOCLINUX\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMIWAIT\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSERCONFIG\ntermios.TIOCSERGETLSR\ntermios.TIOCSERGETMULTI\ntermios.TIOCSERGSTRUCT\ntermios.TIOCSERGWILD\ntermios.TIOCSERSETMULTI\ntermios.TIOCSERSWILD\ntermios.TIOCSER_TEMT\ntermios.TIOCSETD\ntermios.TIOCSLCKTRMIOS\ntermios.TIOCSPGRP\ntermios.TIOCSSERIAL\ntermios.TIOCSSOFTCAR\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VSWTC\ntermios.VSWTCH\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.XCASE\ntermios.XTABS\ntermios.error\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.re\ntextwrap.string\ntextwrap.wrap(??)\nthis.c\nthis.d\nthis.i\nthis.s\nthread.LockType\nthread.allocate\nthread.allocate_lock() -> lock object\nthread.error\nthread.exit()\nthread.exit_thread\nthread.get_ident() -> integer\nthread.interrupt_main()\nthread.stack_size([size]) -> size\nthread.start_new\nthread.start_new_thread(function, args[, kwargs])\nthreading.BoundedSemaphore(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.Thread\nthreading.ThreadError\nthreading.Timer(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.deque(iterable[, maxlen]) --> deque object\nthreading.enumerate(??)\nthreading.local\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\nthreading.warnings\ntime.accept2dyear\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time\ntime.time() -> floating point number\ntime.timezone\ntime.tzname\ntime.tzset(zone)\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer\ntimeit.dummy_src_name\ntimeit.gc\ntimeit.itertools\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys\ntimeit.template\ntimeit.time\ntimeit.timeit(??)\ntoaiff.error\ntoaiff.os\ntoaiff.pipes\ntoaiff.sndhdr\ntoaiff.t\ntoaiff.table\ntoaiff.tempfile\ntoaiff.toaiff(??)\ntoaiff.uncompress\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.BACKQUOTE\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.main(??)\ntoken.tok_name\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BACKQUOTE\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing\ntokenize.String\ntokenize.TILDE\ntokenize.Token\ntokenize.TokenError\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.double3prog\ntokenize.endprogs\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.printtoken(??)\ntokenize.pseudoprog\ntokenize.re\ntokenize.single3prog\ntokenize.single_quoted\ntokenize.string\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name\ntokenize.tokenize(??)\ntokenize.tokenize_loop(??)\ntokenize.tokenprog\ntokenize.triple_quoted\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.cPickle\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc\ntrace.linecache\ntrace.main(??)\ntrace.modname(??)\ntrace.os\ntrace.pickle\ntrace.re\ntrace.rx_blank\ntrace.sys\ntrace.threading\ntrace.time\ntrace.token\ntrace.tokenize\ntrace.types\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys\ntraceback.tb_lineno(??)\ntraceback.types\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B460800\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CBAUD\ntty.CBAUDEX\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CIBAUD\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.IOCSIZE_MASK\ntty.IOCSIZE_SHIFT\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IUCLC\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCC\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.N_MOUSE\ntty.N_PPP\ntty.N_SLIP\ntty.N_STRIP\ntty.N_TTY\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.OLCUC\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCFLSH\ntty.TCGETA\ntty.TCGETS\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSBRK\ntty.TCSBRKP\ntty.TCSETA\ntty.TCSETAF\ntty.TCSETAW\ntty.TCSETS\ntty.TCSETSF\ntty.TCSETSW\ntty.TCXONC\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGICOUNT\ntty.TIOCGLCKTRMIOS\ntty.TIOCGPGRP\ntty.TIOCGSERIAL\ntty.TIOCGSOFTCAR\ntty.TIOCGWINSZ\ntty.TIOCINQ\ntty.TIOCLINUX\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMIWAIT\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSERCONFIG\ntty.TIOCSERGETLSR\ntty.TIOCSERGETMULTI\ntty.TIOCSERGSTRUCT\ntty.TIOCSERGWILD\ntty.TIOCSERSETMULTI\ntty.TIOCSERSWILD\ntty.TIOCSER_TEMT\ntty.TIOCSETD\ntty.TIOCSLCKTRMIOS\ntty.TIOCSPGRP\ntty.TIOCSSERIAL\ntty.TIOCSSOFTCAR\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VSWTC\ntty.VSWTCH\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.XCASE\ntty.XTABS\ntty.error\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> empty tuple\ntype(object) -> the object's type\ntypes.BooleanType\ntypes.BufferType\ntypes.BuiltinFunctionType\ntypes.BuiltinMethodType\ntypes.ClassType\ntypes.CodeType\ntypes.ComplexType\ntypes.DictProxyType\ntypes.DictType\ntypes.DictionaryType\ntypes.EllipsisType\ntypes.FileType\ntypes.FloatType\ntypes.FrameType\ntypes.FunctionType\ntypes.GeneratorType\ntypes.GetSetDescriptorType\ntypes.InstanceType\ntypes.IntType\ntypes.LambdaType\ntypes.ListType\ntypes.LongType\ntypes.MemberDescriptorType\ntypes.MethodType\ntypes.ModuleType\ntypes.NoneType\ntypes.NotImplementedType\ntypes.ObjectType\ntypes.SliceType\ntypes.StringType\ntypes.StringTypes\ntypes.TracebackType\ntypes.TupleType\ntypes.TypeType\ntypes.UnboundMethodType\ntypes.UnicodeType\ntypes.XRangeType\nunichr(i) -> Unicode character\nunicode(string [, encoding[, errors]]) -> object\nunicodedata.UCD\nunicodedata.bidirectional(unichr)\nunicodedata.category(unichr)\nunicodedata.combining(unichr)\nunicodedata.decimal(unichr[, default])\nunicodedata.decomposition(unichr)\nunicodedata.digit(unichr[, default])\nunicodedata.east_asian_width(unichr)\nunicodedata.lookup(name)\nunicodedata.mirrored(unichr)\nunicodedata.name(unichr[, default])\nunicodedata.normalize(form, unistr)\nunicodedata.numeric(unichr[, default])\nunicodedata.ucd_3_2_0\nunicodedata.ucnhash_CAPI\nunicodedata.unidata_version\nurllib.ContentTooShortError\nurllib.FancyURLopener(??)\nurllib.MAXFTPCACHE\nurllib.URLopener(??)\nurllib.addbase(??)\nurllib.addclosehook(??)\nurllib.addinfo(??)\nurllib.addinfourl(??)\nurllib.always_safe\nurllib.basejoin(??)\nurllib.c\nurllib.ftpcache\nurllib.ftperrors(??)\nurllib.ftpwrapper(??)\nurllib.getproxies(??)\nurllib.getproxies_environment(??)\nurllib.i\nurllib.localhost(??)\nurllib.main(??)\nurllib.noheaders(??)\nurllib.os\nurllib.pathname2url(??)\nurllib.proxy_bypass(??)\nurllib.proxy_bypass_environment(??)\nurllib.quote('abc def') -> 'abc%20def'\nurllib.quote_plus(??)\nurllib.reporthook(??)\nurllib.socket\nurllib.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.splitnport(??)\nurllib.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.splitport('host:port') --> 'host', 'port'.\nurllib.splitquery('/path?query') --> '/path', 'query'.\nurllib.splittag('/path#tag') --> '/path', 'tag'.\nurllib.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.ssl\nurllib.string\nurllib.sys\nurllib.test(??)\nurllib.test1(??)\nurllib.thishost(??)\nurllib.time\nurllib.toBytes(u\"URL\") --> 'URL'.\nurllib.unquote('abc%20def') -> 'abc def'.\nurllib.unquote_plus(??)\nurllib.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.url2pathname(??)\nurllib.urlcleanup(??)\nurllib.urlencode(??)\nurllib.urlopen(??)\nurllib.urlretrieve(??)\nurllib2.AbstractBasicAuthHandler(??)\nurllib2.AbstractDigestAuthHandler(??)\nurllib2.AbstractHTTPHandler(??)\nurllib2.BaseHandler(??)\nurllib2.CacheFTPHandler(??)\nurllib2.FTPHandler(??)\nurllib2.FileHandler(??)\nurllib2.HTTPBasicAuthHandler(??)\nurllib2.HTTPCookieProcessor(??)\nurllib2.HTTPDefaultErrorHandler(??)\nurllib2.HTTPDigestAuthHandler(??)\nurllib2.HTTPError\nurllib2.HTTPErrorProcessor(??)\nurllib2.HTTPHandler(??)\nurllib2.HTTPPasswordMgr(??)\nurllib2.HTTPPasswordMgrWithDefaultRealm(??)\nurllib2.HTTPRedirectHandler(??)\nurllib2.HTTPSHandler(??)\nurllib2.OpenerDirector(??)\nurllib2.ProxyBasicAuthHandler(??)\nurllib2.ProxyDigestAuthHandler(??)\nurllib2.ProxyHandler(??)\nurllib2.Request(??)\nurllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing\nurllib2.URLError\nurllib2.UnknownHandler(??)\nurllib2.addinfourl(??)\nurllib2.base64\nurllib2.bisect\nurllib2.build_opener(??)\nurllib2.ftpwrapper(??)\nurllib2.getproxies(??)\nurllib2.hashlib\nurllib2.httplib\nurllib2.install_opener(??)\nurllib2.localhost(??)\nurllib2.mimetools\nurllib2.os\nurllib2.parse_http_list(??)\nurllib2.parse_keqv_list(??)\nurllib2.posixpath\nurllib2.proxy_bypass(??)\nurllib2.quote('abc def') -> 'abc%20def'\nurllib2.random\nurllib2.randombytes(??)\nurllib2.re\nurllib2.request_host(??)\nurllib2.socket\nurllib2.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib2.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib2.splitport('host:port') --> 'host', 'port'.\nurllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib2.splitvalue('attr=value') --> 'attr', 'value'.\nurllib2.sys\nurllib2.time\nurllib2.unquote('abc%20def') -> 'abc def'.\nurllib2.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib2.url2pathname(??)\nurllib2.urlopen(??)\nurllib2.urlparse\nurlparse.MAX_CACHE_SIZE\nurlparse.ParseResult\nurlparse.ResultMixin\nurlparse.SplitResult\nurlparse.clear_cache(??)\nurlparse.namedtuple(??)\nurlparse.non_hierarchical\nurlparse.parse_qs(??)\nurlparse.parse_qsl(??)\nurlparse.scheme_chars\nurlparse.test(??)\nurlparse.test_input\nurlparse.unquote('abc%20def') -> 'abc def'.\nurlparse.urldefrag(??)\nurlparse.urljoin(??)\nurlparse.urlparse(??)\nurlparse.urlsplit(??)\nurlparse.urlunparse(??)\nurlparse.urlunsplit(??)\nurlparse.uses_fragment\nurlparse.uses_netloc\nurlparse.uses_params\nurlparse.uses_query\nurlparse.uses_relative\nuser.home\nuser.os\nuser.pythonrc\nuu.Error\nuu.binascii\nuu.decode(??)\nuu.encode(??)\nuu.os\nuu.sys\nuu.test(??)\nuuid.NAMESPACE_DNS\nuuid.NAMESPACE_OID\nuuid.NAMESPACE_URL\nuuid.NAMESPACE_X500\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID\nuuid.ctypes\nuuid.getnode(??)\nuuid.lib\nuuid.libname\nuuid.sys\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nwarnings.WarningMessage\nwarnings.catch_warnings\nwarnings.default_action\nwarnings.defaultaction\nwarnings.filters\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache\nwarnings.once_registry\nwarnings.onceregistry\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys\nwarnings.types\nwarnings.warn\nwarnings.warn_explicit\nwarnings.warnpy3k(??)\nwave.Chunk(??)\nwave.Error\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.open(??)\nwave.openfp(??)\nwave.struct\nweakref.CallableProxyType\nweakref.KeyedRef\nweakref.ProxyType\nweakref.ProxyTypes\nweakref.ReferenceError\nweakref.ReferenceType\nweakref.UserDict\nweakref.WeakKeyDictionary(??)\nweakref.WeakSet\nweakref.WeakValueDictionary(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref\nwebbrowser.BackgroundBrowser\nwebbrowser.BaseBrowser\nwebbrowser.Elinks\nwebbrowser.Error\nwebbrowser.Galeon\nwebbrowser.GenericBrowser\nwebbrowser.Grail\nwebbrowser.Konqueror\nwebbrowser.Mozilla\nwebbrowser.Netscape\nwebbrowser.Opera\nwebbrowser.UnixBrowser\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex\nwebbrowser.stat\nwebbrowser.subprocess\nwebbrowser.sys\nwebbrowser.time\nwhichdb.dbm\nwhichdb.os\nwhichdb.struct\nwhichdb.sys\nwhichdb.whichdb(??)\nwsgiref.handlers\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.StringType\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os\nwsgiref.handlers.sys\nwsgiref.handlers.time\nwsgiref.headers\nwsgiref.headers.Headers(??)\nwsgiref.headers.ListType\nwsgiref.headers.TupleType\nwsgiref.headers.re\nwsgiref.headers.tspecials\nwsgiref.simple_server\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib\nwsgiref.util\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate\nwsgiref.validate.DictType\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.ListType\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.StringType\nwsgiref.validate.TupleType\nwsgiref.validate.WSGIWarning\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.header_re\nwsgiref.validate.re\nwsgiref.validate.sys\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings\nxdrlib.ConversionError\nxdrlib.Error\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct\nxml.dom\nxml.dom.DOMException\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr\nxml.dom.EMPTY_NAMESPACE\nxml.dom.EMPTY_PREFIX\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr\nxml.dom.InuseAttributeErr\nxml.dom.InvalidAccessErr\nxml.dom.InvalidCharacterErr\nxml.dom.InvalidModificationErr\nxml.dom.InvalidStateErr\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr\nxml.dom.NoDataAllowedErr\nxml.dom.NoModificationAllowedErr\nxml.dom.Node(??)\nxml.dom.NodeFilter\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr\nxml.dom.NotSupportedErr\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg\nxml.dom.domreg.EmptyNodeList\nxml.dom.domreg.NodeList\nxml.dom.domreg.StringTypes\nxml.dom.domreg.defproperty(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered\nxml.dom.domreg.well_known_implementations\nxml.dom.expatbuilder\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE\nxml.dom.expatbuilder.EMPTY_PREFIX\nxml.dom.expatbuilder.ElementInfo\nxml.dom.expatbuilder.EmptyNodeList\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch\nxml.dom.expatbuilder.FilterVisibilityController\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.NodeList\nxml.dom.expatbuilder.ParseEscape\nxml.dom.expatbuilder.Rejecter\nxml.dom.expatbuilder.Skipper\nxml.dom.expatbuilder.StringTypes\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.defproperty(??)\nxml.dom.expatbuilder.expat\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation\nxml.dom.expatbuilder.xmlbuilder\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat\nxml.dom.minicompat.EmptyNodeList\nxml.dom.minicompat.NodeList\nxml.dom.minicompat.StringTypes\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml\nxml.dom.minidom\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE\nxml.dom.minidom.EMPTY_PREFIX\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo\nxml.dom.minidom.EmptyNodeList\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap\nxml.dom.minidom.StringTypes\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml\nxml.dom.pulldom\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.types\nxml.dom.pulldom.xml\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy\nxml.dom.xmlbuilder.xml\nxml.etree\nxml.etree.ElementInclude\nxml.etree.ElementInclude.ElementTree\nxml.etree.ElementInclude.FatalIncludeError\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re\nxml.etree.ElementTree\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element\nxml.etree.ElementTree.ElementPath\nxml.etree.ElementTree.ElementTree\nxml.etree.ElementTree.HTML_EMPTY\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser\nxml.etree.ElementTree.XMLTreeBuilder\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings\nxml.etree.cElementTree\nxml.etree.cElementTree.Comment\nxml.etree.cElementTree.Element\nxml.etree.cElementTree.ElementPath\nxml.etree.cElementTree.ElementTree\nxml.etree.cElementTree.PI\nxml.etree.cElementTree.ParseError\nxml.etree.cElementTree.ProcessingInstruction\nxml.etree.cElementTree.QName\nxml.etree.cElementTree.SubElement\nxml.etree.cElementTree.TreeBuilder\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser\nxml.etree.cElementTree.XMLTreeBuilder\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers\nxml.parsers.expat\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error\nxml.parsers.expat.errors\nxml.parsers.expat.expat_CAPI\nxml.parsers.expat.features\nxml.parsers.expat.model\nxml.parsers.expat.native_encoding\nxml.parsers.expat.version_info\nxml.sax\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException\nxml.sax.SAXNotRecognizedException\nxml.sax.SAXNotSupportedException\nxml.sax.SAXParseException\nxml.sax.SAXReaderNotAvailable\nxml.sax.default_parser_list\nxml.sax.expatreader\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException\nxml.sax.expatreader.SAXNotRecognizedException\nxml.sax.expatreader.SAXNotSupportedException\nxml.sax.expatreader.SAXParseException\nxml.sax.expatreader.SAXReaderNotAvailable\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader\nxml.sax.handler\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features\nxml.sax.handler.all_properties\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler\nxml.sax.saxutils.os\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.types\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib\nxml.sax.saxutils.urlparse\nxml.sax.saxutils.xmlreader\nxml.sax.xmlreader\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException\nxml.sax.xmlreader.SAXNotSupportedException\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler\nxmllib.Error\nxmllib.TestXMLParser(??)\nxmllib.XMLParser(??)\nxmllib.amp\nxmllib.attrfind\nxmllib.attrtrans\nxmllib.cdataclose\nxmllib.cdataopen\nxmllib.charref\nxmllib.commentclose\nxmllib.commentopen\nxmllib.doctype\nxmllib.doubledash\nxmllib.endbracket\nxmllib.endbracketfind\nxmllib.endtagopen\nxmllib.entityref\nxmllib.illegal\nxmllib.interesting\nxmllib.ncname\nxmllib.newline\nxmllib.procclose\nxmllib.procopen\nxmllib.qname\nxmllib.re\nxmllib.ref\nxmllib.space\nxmllib.starttagend\nxmllib.starttagmatch\nxmllib.starttagopen\nxmllib.string\nxmllib.tagfind\nxmllib.test(??)\nxmllib.version\nxmllib.xmldecl\nxmllib.xmlns\nxmlrpclib.APPLICATION_ERROR\nxmlrpclib.Binary(??)\nxmlrpclib.Boolean\nxmlrpclib.BooleanType\nxmlrpclib.BufferType\nxmlrpclib.BuiltinFunctionType\nxmlrpclib.BuiltinMethodType\nxmlrpclib.ClassType\nxmlrpclib.CodeType\nxmlrpclib.ComplexType\nxmlrpclib.DateTime(??)\nxmlrpclib.DictProxyType\nxmlrpclib.DictType\nxmlrpclib.DictionaryType\nxmlrpclib.EllipsisType\nxmlrpclib.Error\nxmlrpclib.ExpatParser(??)\nxmlrpclib.False\nxmlrpclib.FastMarshaller\nxmlrpclib.FastParser\nxmlrpclib.FastUnmarshaller\nxmlrpclib.Fault\nxmlrpclib.FileType\nxmlrpclib.FloatType\nxmlrpclib.FrameType\nxmlrpclib.FunctionType\nxmlrpclib.GeneratorType\nxmlrpclib.GetSetDescriptorType\nxmlrpclib.GzipDecodedResponse\nxmlrpclib.INTERNAL_ERROR\nxmlrpclib.INVALID_ENCODING_CHAR\nxmlrpclib.INVALID_METHOD_PARAMS\nxmlrpclib.INVALID_XMLRPC\nxmlrpclib.InstanceType\nxmlrpclib.IntType\nxmlrpclib.LambdaType\nxmlrpclib.ListType\nxmlrpclib.LongType\nxmlrpclib.MAXINT\nxmlrpclib.METHOD_NOT_FOUND\nxmlrpclib.MININT\nxmlrpclib.Marshaller(??)\nxmlrpclib.MemberDescriptorType\nxmlrpclib.MethodType\nxmlrpclib.ModuleType\nxmlrpclib.MultiCall(??)\nxmlrpclib.MultiCallIterator(??)\nxmlrpclib.NOT_WELLFORMED_ERROR\nxmlrpclib.NoneType\nxmlrpclib.NotImplementedType\nxmlrpclib.ObjectType\nxmlrpclib.PARSE_ERROR\nxmlrpclib.ProtocolError\nxmlrpclib.ResponseError\nxmlrpclib.SERVER_ERROR\nxmlrpclib.SYSTEM_ERROR\nxmlrpclib.SafeTransport(??)\nxmlrpclib.Server(??)\nxmlrpclib.ServerProxy(??)\nxmlrpclib.SliceType\nxmlrpclib.SlowParser(??)\nxmlrpclib.StringIO\nxmlrpclib.StringType\nxmlrpclib.StringTypes\nxmlrpclib.TRANSPORT_ERROR\nxmlrpclib.TracebackType\nxmlrpclib.Transport(??)\nxmlrpclib.True\nxmlrpclib.TupleType\nxmlrpclib.TypeType\nxmlrpclib.UNSUPPORTED_ENCODING\nxmlrpclib.UnboundMethodType\nxmlrpclib.UnicodeType\nxmlrpclib.Unmarshaller(??)\nxmlrpclib.WRAPPERS\nxmlrpclib.XRangeType\nxmlrpclib.base64\nxmlrpclib.boolean\nxmlrpclib.datetime\nxmlrpclib.dumps(??)\nxmlrpclib.errno\nxmlrpclib.escape(??)\nxmlrpclib.expat\nxmlrpclib.getparser() -> parser, unmarshaller\nxmlrpclib.gzip\nxmlrpclib.gzip_decode(??)\nxmlrpclib.gzip_encode(??)\nxmlrpclib.httplib\nxmlrpclib.loads(??)\nxmlrpclib.operator\nxmlrpclib.re\nxmlrpclib.socket\nxmlrpclib.string\nxmlrpclib.time\nxrange([start,] stop[, step]) -> xrange object\nxxsubtype.bench\nxxsubtype.spamdict\nxxsubtype.spamlist\nzip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]\nzipfile.BadZipfile\nzipfile.LargeZipFile\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile\nzipfile.ZipFile(??)\nzipfile.ZipInfo\nzipfile.binascii\nzipfile.cStringIO\nzipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzipfile.error\nzipfile.io\nzipfile.is_zipfile(??)\nzipfile.main(??)\nzipfile.os\nzipfile.re\nzipfile.shutil\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys\nzipfile.time\nzipfile.zlib\nzipimport.ZipImportError\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string.\nzlib.compress(string[, level]) -- Returned compressed string.\nzlib.compressobj([level]) -- Return a compressor object.\nzlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string.\nzlib.decompressobj([wbits]) -- Return a decompressor object.\nzlib.error\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.1.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBufferError(??)\nBytesWarning(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nNameError(??)\nNone(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nReferenceError(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\nall(iterable) -> bool\nany(iterable) -> bool\narray.ArrayType(??)\narray.array(typecode [, initializer]) -> array\narray.typecodes\nascii(object) -> string\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.Assert(??)\nast.Assign(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.TryExcept(??)\nast.TryFinally(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.buffer(??)\nasynchat.deque(iterable[, maxlen]) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasynchat.socket(??)\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINTR\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.fcntl(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\naudioop.add(??)\naudioop.adpcm2lin(??)\naudioop.alaw2lin(??)\naudioop.avg(??)\naudioop.avgpp(??)\naudioop.bias(??)\naudioop.cross(??)\naudioop.error(??)\naudioop.findfactor(??)\naudioop.findfit(??)\naudioop.findmax(??)\naudioop.getsample(??)\naudioop.lin2adpcm(??)\naudioop.lin2alaw(??)\naudioop.lin2lin(??)\naudioop.lin2ulaw(??)\naudioop.max(??)\naudioop.maxpp(??)\naudioop.minmax(??)\naudioop.mul(??)\naudioop.ratecv(??)\naudioop.reverse(??)\naudioop.rms(??)\naudioop.tomono(??)\naudioop.tostereo(??)\naudioop.ulaw2lin(??)\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbdb.types(??)\nbin(number) -> string\nbinascii.Error(??)\nbinascii.Incomplete(??)\nbinascii.a2b_base64(??)\nbinascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.\nbinascii.a2b_hqx(??)\nbinascii.a2b_qp(??)\nbinascii.a2b_uu(??)\nbinascii.b2a_base64(??)\nbinascii.b2a_hex(data) -> s; Hexadecimal representation of binary data.\nbinascii.b2a_hqx(??)\nbinascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nbinascii.b2a_uu(??)\nbinascii.crc32(??)\nbinascii.crc_hqx(??)\nbinascii.hexlify(??)\nbinascii.rlecode_hqx(??)\nbinascii.rledecode_hqx(??)\nbinascii.unhexlify(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbinhex.sys(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.ReferenceError(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(number) -> number\nbuiltins.all(iterable) -> bool\nbuiltins.any(iterable) -> bool\nbuiltins.ascii(object) -> string\nbuiltins.bin(number) -> string\nbuiltins.bool(x) -> bool\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.chr(i) -> Unicode character\nbuiltins.classmethod(function) -> method\nbuiltins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object\nbuiltins.complex(real[, imag]) -> complex number\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(object, name)\nbuiltins.dict() -> new empty dictionary.\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(x, y) -> (div, mod)\nbuiltins.enumerate(iterable) -> iterator for index, value of iterable\nbuiltins.eval(source[, globals[, locals]]) -> value\nbuiltins.exec(object[, globals[, locals]])\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(x) -> floating point number\nbuiltins.format(value[, format_spec]) -> string\nbuiltins.frozenset(iterable) --> frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals() -> dictionary\nbuiltins.hasattr(object, name) -> bool\nbuiltins.hash(object) -> integer\nbuiltins.help(??)\nbuiltins.hex(number) -> string\nbuiltins.id(object) -> integer\nbuiltins.input([prompt]) -> string\nbuiltins.int(x[, base]) -> integer\nbuiltins.isinstance(object, class-or-type-or-tuple) -> bool\nbuiltins.issubclass(C, B) -> bool\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(object) -> integer\nbuiltins.license(??)\nbuiltins.list() -> new list\nbuiltins.locals() -> dictionary\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable[, key=func]) -> value\nbuiltins.memoryview(object)\nbuiltins.min(iterable[, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(number) -> string\nbuiltins.open(??)\nbuiltins.ord(c) -> integer\nbuiltins.pow(x, y[, z]) -> number\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout)\nbuiltins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute\nbuiltins.quit(??)\nbuiltins.range([start,] stop[, step]) -> range object\nbuiltins.repr(object) -> string\nbuiltins.reversed(sequence) -> reverse iterator over values of the sequence\nbuiltins.round(number[, ndigits]) -> number\nbuiltins.set(iterable) --> set object\nbuiltins.setattr(object, name, value)\nbuiltins.slice([start,] stop[, step])\nbuiltins.sorted(iterable, key=None, reverse=False) --> new sorted list\nbuiltins.staticmethod(function) -> method\nbuiltins.str(string[, encoding[, errors]]) -> str\nbuiltins.sum(iterable[, start]) -> value\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple() -> an empty tuple\nbuiltins.type(object) -> the object's type\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor([compresslevel=9]) -> compressor object\nbz2.BZ2Decompressor() -> decompressor object\nbz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object\nbz2.compress(data [, compresslevel=9]) -> string\nbz2.decompress(data) -> decompressed data\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.help(??)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncgi.FieldStorage(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.attrgetter(attr, ...) --> attrgetter object\ncgi.dolog(??)\ncgi.email(??)\ncgi.escape(??)\ncgi.initlog(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\ncgitb.types(??)\nchr(i) -> Unicode character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.isinf(z) -> bool\ncmath.isnan(z) -> bool\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.phase(z) -> float\ncmath.pi\ncmath.polar(z) -> r: float, phi: float\ncmath.rect(r, phi) -> z: complex\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charbuffer_encode(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(encoding) -> CodecInfo\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.Container(??)\ncollections.Counter(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.bytearray_iterator(??)\ncollections.bytes_iterator(??)\ncollections.defaultdict(default_factory) --> dict with default factory\ncollections.deque(iterable[, maxlen]) --> deque object\ncollections.dict_itemiterator(??)\ncollections.dict_items(??)\ncollections.dict_keyiterator(??)\ncollections.dict_keys(??)\ncollections.dict_proxy(??)\ncollections.dict_valueiterator(??)\ncollections.dict_values(??)\ncollections.list_iterator(??)\ncollections.list_reverseiterator(??)\ncollections.namedtuple(??)\ncollections.range_iterator(??)\ncollections.set_iterator(??)\ncollections.str_iterator(??)\ncollections.tuple_iterator(??)\ncollections.zip_iterator(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_path(??)\ncompileall.imp(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(real[, imag]) -> complex number\nconfigparser.ConfigParser(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.re(??)\ncontextlib.GeneratorContextManager(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.nested(??)\ncontextlib.sys(??)\ncontextlib.warn(??)\ncontextlib.wraps(??)\ncopy.Error(??)\ncopy.PyStringMap(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopy.name\ncopy.t(??)\ncopy.weakref(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.crypt(word, salt) -> string\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable[, r]) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable[, r]) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1]) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util(??)\nctypes.util.errno(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.re(??)\nctypes.util.sys(??)\nctypes.util.tempfile(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii(??)\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.newpad(??)\ncurses.newwin(??)\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.wrapper(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.tzinfo(??)\ndbm.dumb(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(path[, flag[, mode]]) -> mapping\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary.\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disassemble_string(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.flag2name(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.sys(??)\ndis.types(??)\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.tempfile(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndoctest.warnings(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderParseError(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.message(??)\nemail.feedparser.re(??)\nemail.generator(??)\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.generator.warnings(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO([buffer]) -> object\nemail.message.Charset(??)\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.base64(??)\nemail.message.binascii(??)\nemail.message.errors(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message.warnings(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio(??)\nemail.mime.audio.BytesIO([buffer]) -> object\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.warnings(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.EMPTYSTRING\nemail.utils.StringIO(??)\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64(??)\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nemail.utils.warnings(??)\nenumerate(iterable) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EADV\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EBADE\nerrno.EBADF\nerrno.EBADFD\nerrno.EBADMSG\nerrno.EBADR\nerrno.EBADRQC\nerrno.EBADSLT\nerrno.EBFONT\nerrno.EBUSY\nerrno.ECHILD\nerrno.ECHRNG\nerrno.ECOMM\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDEADLOCK\nerrno.EDESTADDRREQ\nerrno.EDOM\nerrno.EDOTDOT\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.EISNAM\nerrno.EL2HLT\nerrno.EL2NSYNC\nerrno.EL3HLT\nerrno.EL3RST\nerrno.ELIBACC\nerrno.ELIBBAD\nerrno.ELIBEXEC\nerrno.ELIBMAX\nerrno.ELIBSCN\nerrno.ELNRNG\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENAVAIL\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOANO\nerrno.ENOBUFS\nerrno.ENOCSI\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENONET\nerrno.ENOPKG\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTNAM\nerrno.ENOTSOCK\nerrno.ENOTTY\nerrno.ENOTUNIQ\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.ERANGE\nerrno.EREMCHG\nerrno.EREMOTE\nerrno.EREMOTEIO\nerrno.ERESTART\nerrno.EROFS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESRMNT\nerrno.ESTALE\nerrno.ESTRPIPE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUCLEAN\nerrno.EUNATCH\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.EXFULL\nerrno.errorcode(??)\neval(source[, globals[, locals]]) -> value\nexec(object[, globals[, locals]])\nexit(??)\nfcntl.DN_ACCESS\nfcntl.DN_ATTRIB\nfcntl.DN_CREATE\nfcntl.DN_DELETE\nfcntl.DN_MODIFY\nfcntl.DN_MULTISHOT\nfcntl.DN_RENAME\nfcntl.FASYNC\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_EXLCK\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLEASE\nfcntl.F_GETLK\nfcntl.F_GETLK64\nfcntl.F_GETOWN\nfcntl.F_GETSIG\nfcntl.F_NOTIFY\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLEASE\nfcntl.F_SETLK\nfcntl.F_SETLK64\nfcntl.F_SETLKW\nfcntl.F_SETLKW64\nfcntl.F_SETOWN\nfcntl.F_SETSIG\nfcntl.F_SHLCK\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.I_ATMARK\nfcntl.I_CANPUT\nfcntl.I_CKBAND\nfcntl.I_FDINSERT\nfcntl.I_FIND\nfcntl.I_FLUSH\nfcntl.I_FLUSHBAND\nfcntl.I_GETBAND\nfcntl.I_GETCLTIME\nfcntl.I_GETSIG\nfcntl.I_GRDOPT\nfcntl.I_GWROPT\nfcntl.I_LINK\nfcntl.I_LIST\nfcntl.I_LOOK\nfcntl.I_NREAD\nfcntl.I_PEEK\nfcntl.I_PLINK\nfcntl.I_POP\nfcntl.I_PUNLINK\nfcntl.I_PUSH\nfcntl.I_RECVFD\nfcntl.I_SENDFD\nfcntl.I_SETCLTIME\nfcntl.I_SETSIG\nfcntl.I_SRDOPT\nfcntl.I_STR\nfcntl.I_SWROPT\nfcntl.I_UNLINK\nfcntl.LOCK_EX\nfcntl.LOCK_MAND\nfcntl.LOCK_NB\nfcntl.LOCK_READ\nfcntl.LOCK_RW\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.LOCK_WRITE\nfcntl.fcntl(fd, opt, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, opt[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(files=None, inplace=False, backup=\"\", bufsize=0, mode=\"r\", openhook=None)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(value[, format_spec]) -> string\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfrozenset(iterable) --> frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.os(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage(??)\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.struct(??)\ngettext.sys(??)\ngettext.test(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglob.sys(??)\nglobals() -> dictionary\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.LOWU32(??)\ngzip.READ\ngzip.U32(??)\ngzip.WRITE\ngzip.builtins(??)\ngzip.open(??)\ngzip.read32(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha512(??)\nheapq.bisect(??)\nheapq.chain(*iterables) --> chain object\nheapq.count(start=0, step=1]) --> count object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(??)\nheapq.heappushpop(??)\nheapq.heapreplace(??)\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.repeat(object [,times]) -> create an iterator which returns the object\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp(??)\nhex(number) -> string\nhmac.HMAC(??)\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.name2codepoint(??)\nhtml.parser.HTMLParseError(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_cdata(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind(??)\nhttp.client(??)\nhttp.client.ACCEPTED\nhttp.client.BAD_GATEWAY\nhttp.client.BAD_REQUEST\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT\nhttp.client.CONTINUE\nhttp.client.CREATED\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED\nhttp.client.FAILED_DEPENDENCY\nhttp.client.FORBIDDEN\nhttp.client.FOUND\nhttp.client.FakeSocket(??)\nhttp.client.GATEWAY_TIMEOUT\nhttp.client.GONE\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED\nhttp.client.IM_USED\nhttp.client.INSUFFICIENT_STORAGE\nhttp.client.INTERNAL_SERVER_ERROR\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED\nhttp.client.LOCKED\nhttp.client.LineAndFileWrapper(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED\nhttp.client.MOVED_PERMANENTLY\nhttp.client.MULTIPLE_CHOICES\nhttp.client.MULTI_STATUS\nhttp.client.NON_AUTHORITATIVE_INFORMATION\nhttp.client.NOT_ACCEPTABLE\nhttp.client.NOT_EXTENDED\nhttp.client.NOT_FOUND\nhttp.client.NOT_IMPLEMENTED\nhttp.client.NOT_MODIFIED\nhttp.client.NO_CONTENT\nhttp.client.NotConnected(??)\nhttp.client.OK\nhttp.client.PARTIAL_CONTENT\nhttp.client.PAYMENT_REQUIRED\nhttp.client.PRECONDITION_FAILED\nhttp.client.PROCESSING\nhttp.client.PROXY_AUTHENTICATION_REQUIRED\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE\nhttp.client.REQUEST_ENTITY_TOO_LARGE\nhttp.client.REQUEST_TIMEOUT\nhttp.client.REQUEST_URI_TOO_LONG\nhttp.client.RESET_CONTENT\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER\nhttp.client.SERVICE_UNAVAILABLE\nhttp.client.SWITCHING_PROTOCOLS\nhttp.client.TEMPORARY_REDIRECT\nhttp.client.UNAUTHORIZED\nhttp.client.UNPROCESSABLE_ENTITY\nhttp.client.UNSUPPORTED_MEDIA_TYPE\nhttp.client.UPGRADE_REQUIRED\nhttp.client.USE_PROXY\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.io(??)\nhttp.client.os(??)\nhttp.client.parse_headers(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.client.warnings(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.dumps(??)\nhttp.cookies.loads(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.cookies.warnings(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.cgi(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(object) -> integer\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.find_module(name, [path]) -> (file, filename, (suffix, mode, type))\nimp.get_frozen_object(??)\nimp.get_magic() -> string\nimp.get_suffixes() -> [(suffix, mode, type), ...]\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(name, file, filename, (suffix, mode, type)) -> module\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held() -> boolean\nimp.new_module(name) -> module\nimp.release_lock() -> None\nimp.reload(module) -> module\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.PyLoader(??)\nimportlib.abc.PyPycLoader(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.abc.types(??)\nimportlib.errno(??)\nimportlib.imp(??)\nimportlib.import_module(??)\nimportlib.machinery(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.PathFinder(??)\nimportlib.marshal(??)\nimportlib.os(??)\nimportlib.re(??)\nimportlib.sep\nimportlib.sys(??)\nimportlib.tokenize(??)\nimportlib.util(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\ninput([prompt]) -> string\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.CO_GENERATOR\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.EndOfBlock(??)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.currentframe(??)\ninspect.dis(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getblock(??)\ninspect.getclasstree(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.joinseq(??)\ninspect.linecache(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.stack(??)\ninspect.string(??)\ninspect.strseq(??)\ninspect.sys(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.walktree(??)\nint(x[, base]) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO([buffer]) -> object\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nipaddr.BaseIP(??)\nipaddr.Error(??)\nipaddr.IP(??)\nipaddr.IPAddressExclusionError(??)\nipaddr.IPTypeError(??)\nipaddr.IPv4(??)\nipaddr.IPv4IpValidationError(??)\nipaddr.IPv4NetmaskValidationError(??)\nipaddr.IPv6(??)\nipaddr.IPv6IpValidationError(??)\nipaddr.IPv6NetmaskValidationError(??)\nipaddr.PrefixlenDiffInvalidError(??)\nipaddr.collapse_address_list(??)\nipaddr.struct(??)\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(iterable) -> iterator\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable[, r]) --> combinations object\nitertools.combinations_with_replacement(iterable[, r]) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1]) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.binascii(??)\njson.decoder.c_scanstring(??)\njson.decoder.errmsg(??)\njson.decoder.linecol(??)\njson.decoder.make_scanner(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanstring(basestring, end, strict=True) -> (bytes, end)\njson.decoder.struct(??)\njson.decoder.sys(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.FLOAT_REPR(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(??)\njson.encoder.encode_basestring_ascii(basestring) -> bytes\njson.encoder.i\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(object) -> integer\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist() -> new list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.bind_textdomain_codeset(domain, codeset) -> string\nlocale.bindtextdomain(domain, dir) -> string\nlocale.collections(??)\nlocale.currency(??)\nlocale.dcgettext(domain, msg, category) -> string\nlocale.dgettext(domain, msg) -> string\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.gettext(msg) -> string\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.textdomain(domain) -> string\nlocale.windows_locale(??)\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StreamHandler(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.codecs(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.fileConfig(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.os(??)\nlogging.config.socket(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.thread(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.codecs(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.log(??)\nlogging.logMultiprocessing\nlogging.logProcesses\nlogging.logThreads\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions\nlogging.root(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.thread(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacurl2path.os(??)\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.sys(??)\nmailbox.time(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(func, *iterables) --> map object\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(string)\nmarshal.version\nmath.acos(x)\nmath.acosh(x)\nmath.asin(x)\nmath.asinh(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.atanh(x)\nmath.ceil(x)\nmath.copysign(x,y)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x) -> converts angle x from radians to degrees\nmath.e\nmath.exp(x)\nmath.fabs(x)\nmath.factorial(x) -> Integral\nmath.floor(x)\nmath.fmod(x,y)\nmath.frexp(x)\nmath.fsum(??)\nmath.hypot(x,y)\nmath.isinf(x) -> bool\nmath.isnan(x) -> bool\nmath.ldexp(x, i) -> x * (2**i)\nmath.log(x[, base]) -> the logarithm of x to the given base.\nmath.log10(x) -> the base 10 logarithm of x.\nmath.log1p(x)\nmath.modf(x)\nmath.pi\nmath.pow(x,y)\nmath.radians(x) -> converts angle x from degrees to radians\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmath.trunc(x:Real) -> Integral\nmax(iterable[, key=func]) -> value\nmemoryview(object)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable[, key=func]) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.ALLOCATIONGRANULARITY\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_DENYWRITE\nmmap.MAP_EXECUTABLE\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error(??)\nmmap.mmap(??)\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.READ_MODE\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.generators(??)\nmodulefinder.imp(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.struct(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Finalize(??)\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.close(fd)\nmultiprocessing.connection.current_process(??)\nmultiprocessing.connection.debug(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.duplicate(??)\nmultiprocessing.connection.errno(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.get_temp_dir(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.sub_debug(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.TimeoutError(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.cpu_count(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary.\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.itertools(??)\nmultiprocessing.dummy.list() -> new list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forking(??)\nmultiprocessing.forking.ForkingPickler(??)\nmultiprocessing.forking.Pickler(??)\nmultiprocessing.forking.Popen(??)\nmultiprocessing.forking.assert_spawning(??)\nmultiprocessing.forking.close(fd)\nmultiprocessing.forking.duplicate(??)\nmultiprocessing.forking.exit(??)\nmultiprocessing.forking.old_main_modules(??)\nmultiprocessing.forking.os(??)\nmultiprocessing.forking.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.forking.prepare(??)\nmultiprocessing.forking.process(??)\nmultiprocessing.forking.signal(??)\nmultiprocessing.forking.sys(??)\nmultiprocessing.forking.time(??)\nmultiprocessing.forking.util(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Finalize(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.info(??)\nmultiprocessing.heap.itertools(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AuthenticationString(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.Finalize(??)\nmultiprocessing.managers.ForkingPickler(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PicklingError(??)\nmultiprocessing.managers.Pool(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.Popen(??)\nmultiprocessing.managers.Process(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.active_children(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.assert_spawning(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.copyreg(??)\nmultiprocessing.managers.current_process(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.exit(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.info(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.os(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.managers.weakref(??)\nmultiprocessing.os(??)\nmultiprocessing.pool(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.Finalize(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.Process(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.cpu_count(??)\nmultiprocessing.pool.debug(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.Process(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.queues.BoundedSemaphore(??)\nmultiprocessing.queues.Condition(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Lock(??)\nmultiprocessing.queues.Pipe(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.Semaphore(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.assert_spawning(??)\nmultiprocessing.queues.atexit(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reduction.Client(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.Listener(??)\nmultiprocessing.reduction.Popen(??)\nmultiprocessing.reduction.close(fd)\nmultiprocessing.reduction.current_process(??)\nmultiprocessing.reduction.debug(??)\nmultiprocessing.reduction.duplicate(??)\nmultiprocessing.reduction.fromfd(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.rebuild_connection(??)\nmultiprocessing.reduction.rebuild_handle(??)\nmultiprocessing.reduction.rebuild_socket(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.reduce_connection(??)\nmultiprocessing.reduction.reduce_handle(??)\nmultiprocessing.reduction.reduce_socket(??)\nmultiprocessing.reduction.register_after_fork(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sub_debug(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.reduction.threading(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RLock(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.sys(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Finalize(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.Popen(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.assert_spawning(??)\nmultiprocessing.synchronize.current_process(??)\nmultiprocessing.synchronize.debug(??)\nmultiprocessing.synchronize.os(??)\nmultiprocessing.synchronize.register_after_fork(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.active_children(??)\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.current_process(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnext(iterator[, default])\nnis.cat(map, domain = defaultdomain)\nnis.error(??)\nnis.get_default_domain() -> str\nnis.maps(domain = defaultdomain)\nnis.match(key, map, domain = defaultdomain)\nnntplib.CRLF\nnntplib.LONGRESP(??)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.error_data(??)\nnntplib.error_perm(??)\nnntplib.error_proto(??)\nnntplib.error_reply(??)\nnntplib.error_temp(??)\nnntplib.re(??)\nnntplib.socket(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nnumbers.abstractproperty(??)\nobject(??)\noct(number) -> string\nopen(??)\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(a, b) -- Same as a += b.\noperator.iand(a, b) -- Same as a &= b.\noperator.iconcat(a, b) -- Same as a += b, for a and b sequences.\noperator.ifloordiv(a, b) -- Same as a //= b.\noperator.ilshift(a, b) -- Same as a <<= b.\noperator.imod(a, b) -- Same as a %= b.\noperator.imul(a, b) -- Same as a *= b.\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(a, b) -- Same as a |= b.\noperator.ipow(a, b) -- Same as a **= b.\noperator.irshift(a, b) -- Same as a >>= b.\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(a, b) -- Same as a -= b.\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(a, b) -- Same as a /= b.\noperator.ixor(a, b) -- Same as a ^= b.\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.rshift(a, b) -- Same as a >> b.\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(c) -> integer\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_OK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_LARGEFILE\nos.O_NDELAY\nos.O_NOATIME\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_RSYNC\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_WAIT\nos.R_OK\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode) -> True if granted, False otherwise\nos.altsep(??)\nos.chdir(path)\nos.chmod(path, mode)\nos.chown(path, uid, gid)\nos.chroot(path)\nos.close(fd)\nos.closerange(fd_low, fd_high)\nos.confstr(name) -> string\nos.confstr_names(??)\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.device_encoding(fd) -> str\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ(??)\nos.errno(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(??)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fildes)\nos.fchmod(fd, mode)\nos.fchown(fd, uid, gid)\nos.fdatasync(fildes)\nos.fdopen(??)\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.getcwd() -> path\nos.getcwdb() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst)\nos.listdir(path) -> list_of_strings\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0o777])\nos.minor(device) -> minor number\nos.mkdir(path [, mode=0777])\nos.mkfifo(filename [, mode=0666])\nos.mknod(filename [, mode=0600, device])\nos.name\nos.nice(inc) -> new_priority\nos.open(filename, flag [, mode=0777]) -> fd\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path(??)\nos.pathconf(path, name) -> integer\nos.pathconf_names(??)\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(??)\nos.putenv(key, value)\nos.read(fd, buffersize) -> string\nos.readlink(path) -> path\nos.remove(path)\nos.removedirs(path)\nos.rename(old, new)\nos.renames(old, new)\nos.rmdir(path)\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setregid(rgid, egid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.stat(path) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result(??)\nos.statvfs(path) -> statvfs result\nos.statvfs_result(??)\nos.strerror(code) -> string\nos.symlink(src, dst)\nos.sys(??)\nos.sysconf(name) -> integer\nos.sysconf_names(??)\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.times() -> (utime, stime, cutime, cstime, elapsed_time)\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> (sysname, nodename, release, version, machine)\nos.unlink(path)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, (atime, mtime))\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\nossaudiodev.AFMT_AC3\nossaudiodev.AFMT_A_LAW\nossaudiodev.AFMT_IMA_ADPCM\nossaudiodev.AFMT_MPEG\nossaudiodev.AFMT_MU_LAW\nossaudiodev.AFMT_QUERY\nossaudiodev.AFMT_S16_BE\nossaudiodev.AFMT_S16_LE\nossaudiodev.AFMT_S16_NE\nossaudiodev.AFMT_S8\nossaudiodev.AFMT_U16_BE\nossaudiodev.AFMT_U16_LE\nossaudiodev.AFMT_U8\nossaudiodev.OSSAudioError(??)\nossaudiodev.SNDCTL_COPR_HALT\nossaudiodev.SNDCTL_COPR_LOAD\nossaudiodev.SNDCTL_COPR_RCODE\nossaudiodev.SNDCTL_COPR_RCVMSG\nossaudiodev.SNDCTL_COPR_RDATA\nossaudiodev.SNDCTL_COPR_RESET\nossaudiodev.SNDCTL_COPR_RUN\nossaudiodev.SNDCTL_COPR_SENDMSG\nossaudiodev.SNDCTL_COPR_WCODE\nossaudiodev.SNDCTL_COPR_WDATA\nossaudiodev.SNDCTL_DSP_BIND_CHANNEL\nossaudiodev.SNDCTL_DSP_CHANNELS\nossaudiodev.SNDCTL_DSP_GETBLKSIZE\nossaudiodev.SNDCTL_DSP_GETCAPS\nossaudiodev.SNDCTL_DSP_GETCHANNELMASK\nossaudiodev.SNDCTL_DSP_GETFMTS\nossaudiodev.SNDCTL_DSP_GETIPTR\nossaudiodev.SNDCTL_DSP_GETISPACE\nossaudiodev.SNDCTL_DSP_GETODELAY\nossaudiodev.SNDCTL_DSP_GETOPTR\nossaudiodev.SNDCTL_DSP_GETOSPACE\nossaudiodev.SNDCTL_DSP_GETSPDIF\nossaudiodev.SNDCTL_DSP_GETTRIGGER\nossaudiodev.SNDCTL_DSP_MAPINBUF\nossaudiodev.SNDCTL_DSP_MAPOUTBUF\nossaudiodev.SNDCTL_DSP_NONBLOCK\nossaudiodev.SNDCTL_DSP_POST\nossaudiodev.SNDCTL_DSP_PROFILE\nossaudiodev.SNDCTL_DSP_RESET\nossaudiodev.SNDCTL_DSP_SAMPLESIZE\nossaudiodev.SNDCTL_DSP_SETDUPLEX\nossaudiodev.SNDCTL_DSP_SETFMT\nossaudiodev.SNDCTL_DSP_SETFRAGMENT\nossaudiodev.SNDCTL_DSP_SETSPDIF\nossaudiodev.SNDCTL_DSP_SETSYNCRO\nossaudiodev.SNDCTL_DSP_SETTRIGGER\nossaudiodev.SNDCTL_DSP_SPEED\nossaudiodev.SNDCTL_DSP_STEREO\nossaudiodev.SNDCTL_DSP_SUBDIVIDE\nossaudiodev.SNDCTL_DSP_SYNC\nossaudiodev.SNDCTL_FM_4OP_ENABLE\nossaudiodev.SNDCTL_FM_LOAD_INSTR\nossaudiodev.SNDCTL_MIDI_INFO\nossaudiodev.SNDCTL_MIDI_MPUCMD\nossaudiodev.SNDCTL_MIDI_MPUMODE\nossaudiodev.SNDCTL_MIDI_PRETIME\nossaudiodev.SNDCTL_SEQ_CTRLRATE\nossaudiodev.SNDCTL_SEQ_GETINCOUNT\nossaudiodev.SNDCTL_SEQ_GETOUTCOUNT\nossaudiodev.SNDCTL_SEQ_GETTIME\nossaudiodev.SNDCTL_SEQ_NRMIDIS\nossaudiodev.SNDCTL_SEQ_NRSYNTHS\nossaudiodev.SNDCTL_SEQ_OUTOFBAND\nossaudiodev.SNDCTL_SEQ_PANIC\nossaudiodev.SNDCTL_SEQ_PERCMODE\nossaudiodev.SNDCTL_SEQ_RESET\nossaudiodev.SNDCTL_SEQ_RESETSAMPLES\nossaudiodev.SNDCTL_SEQ_SYNC\nossaudiodev.SNDCTL_SEQ_TESTMIDI\nossaudiodev.SNDCTL_SEQ_THRESHOLD\nossaudiodev.SNDCTL_SYNTH_CONTROL\nossaudiodev.SNDCTL_SYNTH_ID\nossaudiodev.SNDCTL_SYNTH_INFO\nossaudiodev.SNDCTL_SYNTH_MEMAVL\nossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE\nossaudiodev.SNDCTL_TMR_CONTINUE\nossaudiodev.SNDCTL_TMR_METRONOME\nossaudiodev.SNDCTL_TMR_SELECT\nossaudiodev.SNDCTL_TMR_SOURCE\nossaudiodev.SNDCTL_TMR_START\nossaudiodev.SNDCTL_TMR_STOP\nossaudiodev.SNDCTL_TMR_TEMPO\nossaudiodev.SNDCTL_TMR_TIMEBASE\nossaudiodev.SOUND_MIXER_ALTPCM\nossaudiodev.SOUND_MIXER_BASS\nossaudiodev.SOUND_MIXER_CD\nossaudiodev.SOUND_MIXER_DIGITAL1\nossaudiodev.SOUND_MIXER_DIGITAL2\nossaudiodev.SOUND_MIXER_DIGITAL3\nossaudiodev.SOUND_MIXER_IGAIN\nossaudiodev.SOUND_MIXER_IMIX\nossaudiodev.SOUND_MIXER_LINE\nossaudiodev.SOUND_MIXER_LINE1\nossaudiodev.SOUND_MIXER_LINE2\nossaudiodev.SOUND_MIXER_LINE3\nossaudiodev.SOUND_MIXER_MIC\nossaudiodev.SOUND_MIXER_MONITOR\nossaudiodev.SOUND_MIXER_NRDEVICES\nossaudiodev.SOUND_MIXER_OGAIN\nossaudiodev.SOUND_MIXER_PCM\nossaudiodev.SOUND_MIXER_PHONEIN\nossaudiodev.SOUND_MIXER_PHONEOUT\nossaudiodev.SOUND_MIXER_RADIO\nossaudiodev.SOUND_MIXER_RECLEV\nossaudiodev.SOUND_MIXER_SPEAKER\nossaudiodev.SOUND_MIXER_SYNTH\nossaudiodev.SOUND_MIXER_TREBLE\nossaudiodev.SOUND_MIXER_VIDEO\nossaudiodev.SOUND_MIXER_VOLUME\nossaudiodev.control_labels(??)\nossaudiodev.control_names(??)\nossaudiodev.error(??)\nossaudiodev.open(??)\nossaudiodev.openmixer(??)\nparser.ParserError(??)\nparser.STType(??)\nparser.compilest(??)\nparser.expr(??)\nparser.isexpr(??)\nparser.issuite(??)\nparser.sequence2st(??)\nparser.st2list(??)\nparser.st2tuple(??)\nparser.suite(??)\nparser.tuple2st(??)\npdb.Pdb(??)\npdb.Repr(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.find_function(??)\npdb.help(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BuiltinFunctionType(??)\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(file, protocol=None)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(file, *, encoding='ASCII', errors='strict')\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.classmap(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.load(??)\npickle.loads(??)\npickle.marshal(??)\npickle.mloads(??)\npickle.re(??)\npickle.struct(??)\npickle.sys(??)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.unicodestring4(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.string(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.imp(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.architecture(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.version(??)\nplatform.win32_ver(??)\nplistlib.BytesIO([buffer]) -> object\nplistlib.Data(??)\nplistlib.Dict(??)\nplistlib.DumbXMLWriter(??)\nplistlib.PLISTHEADER\nplistlib.Plist(??)\nplistlib.PlistParser(??)\nplistlib.PlistWriter(??)\nplistlib.binascii(??)\nplistlib.datetime(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_OK\nposix.NGROUPS_MAX\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_LARGEFILE\nposix.O_NDELAY\nposix.O_NOATIME\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_RSYNC\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.R_OK\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode) -> True if granted, False otherwise\nposix.chdir(path)\nposix.chmod(path, mode)\nposix.chown(path, uid, gid)\nposix.chroot(path)\nposix.close(fd)\nposix.closerange(fd_low, fd_high)\nposix.confstr(name) -> string\nposix.confstr_names(??)\nposix.ctermid() -> string\nposix.device_encoding(fd) -> str\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ(??)\nposix.error(??)\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fildes)\nposix.fchmod(fd, mode)\nposix.fchown(fd, uid, gid)\nposix.fdatasync(fildes)\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.getcwd() -> path\nposix.getcwdb() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchown(path, uid, gid)\nposix.link(src, dst)\nposix.listdir(path) -> list_of_strings\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path [, mode=0777])\nposix.mkfifo(filename [, mode=0666])\nposix.mknod(filename [, mode=0600, device])\nposix.nice(inc) -> new_priority\nposix.open(filename, flag [, mode=0777]) -> fd\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names(??)\nposix.pipe() -> (read_end, write_end)\nposix.putenv(key, value)\nposix.read(fd, buffersize) -> string\nposix.readlink(path) -> path\nposix.remove(path)\nposix.rename(old, new)\nposix.rmdir(path)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setregid(rgid, egid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result(??)\nposix.statvfs(path) -> statvfs result\nposix.statvfs_result(??)\nposix.strerror(code) -> string\nposix.symlink(src, dst)\nposix.sysconf(name) -> integer\nposix.sysconf_names(??)\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.times() -> (utime, stime, cutime, cstime, elapsed_time)\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> (sysname, nodename, release, version, machine)\nposix.unlink(path)\nposix.unsetenv(key)\nposix.utime(path, (atime, mtime))\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.Stats(??)\nprofile.help(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.os(??)\nprofile.resgetrusage(??)\nprofile.resource(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.CmpToKey(??)\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd(??)\npy_compile.MAGIC\npy_compile.PyCompileError(??)\npy_compile.builtins(??)\npy_compile.compile(??)\npy_compile.imp(??)\npy_compile.main(??)\npy_compile.marshal(??)\npy_compile.os(??)\npy_compile.re(??)\npy_compile.read_encoding(??)\npy_compile.set_creator_type(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.imp(??)\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable[, maxlen]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.gui(??)\npydoc.help(??)\npydoc.html(??)\npydoc.imp(??)\npydoc.importfile(??)\npydoc.inspect(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.serve(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.ttypager(??)\npydoc.visiblename(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.deque(iterable[, maxlen]) --> deque object\nqueue.heapq(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.division(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange([start,] stop[, step]) -> range object\nre.A\nre.ASCII\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copyreg(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.sys(??)\nre.template(??)\nreadline.add_history(string) -> None\nreadline.clear_history() -> None\nreadline.get_begidx() -> int\nreadline.get_completer() -> function\nreadline.get_completer_delims() -> string\nreadline.get_completion_type() -> int\nreadline.get_current_history_length() -> integer\nreadline.get_endidx() -> int\nreadline.get_history_item() -> string\nreadline.get_history_length() -> int\nreadline.get_line_buffer() -> string\nreadline.insert_text(string) -> None\nreadline.parse_and_bind(string) -> None\nreadline.read_history_file([filename]) -> None\nreadline.read_init_file([filename]) -> None\nreadline.redisplay() -> None\nreadline.remove_history_item(pos) -> None\nreadline.replace_history_item(pos, line) -> None\nreadline.set_completer([function]) -> None\nreadline.set_completer_delims(string) -> None\nreadline.set_completion_display_matches_hook([function]) -> None\nreadline.set_history_length(length) -> None\nreadline.set_pre_input_hook([function]) -> None\nreadline.set_startup_hook([function]) -> None\nreadline.write_history_file([filename]) -> None\nrepr(object) -> string\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.islice(iterable, [start,] stop [, step]) --> islice object\nreprlib.repr(??)\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_OFILE\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error(??)\nresource.getpagesize(??)\nresource.getrlimit(??)\nresource.getrusage(??)\nresource.setrlimit(??)\nresource.struct_rusage(??)\nreversed(sequence) -> reverse iterator over values of the sequence\nrlcompleter.Completer(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(number[, ndigits]) -> number\nrunpy.get_loader(??)\nrunpy.imp(??)\nrunpy.run_module(??)\nrunpy.sys(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nselect.EPOLLERR\nselect.EPOLLET\nselect.EPOLLHUP\nselect.EPOLLIN\nselect.EPOLLMSG\nselect.EPOLLONESHOT\nselect.EPOLLOUT\nselect.EPOLLPRI\nselect.EPOLLRDBAND\nselect.EPOLLRDNORM\nselect.EPOLLWRBAND\nselect.EPOLLWRNORM\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLMSG\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.epoll(??)\nselect.error(??)\nselect.poll(??)\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nset(iterable) --> set object\nsetattr(object, name, value)\nshelve.BsdDbShelf(??)\nshelve.BytesIO([buffer]) -> object\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=None)\nshelve.Shelf(??)\nshelve.Unpickler(file, *, encoding='ASCII', errors='strict')\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque(iterable[, maxlen]) --> deque object\nshlex.os(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.SpecialFileError(??)\nshutil.WindowsError(??)\nshutil.abspath(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.fnmatch(??)\nshutil.ignore_patterns(??)\nshutil.move(??)\nshutil.os(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCLD\nsignal.SIGCONT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPOLL\nsignal.SIGPROF\nsignal.SIGPWR\nsignal.SIGQUIT\nsignal.SIGRTMAX\nsignal.SIGRTMIN\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getitimer(which)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(which, seconds[, interval])\nsignal.siginterrupt(sig, flag) -> None\nsignal.signal(sig, action) -> action\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs__file__(??)\nsite.addbuilddir(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.setencoding(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.errno(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.SSLFakeFile(??)\nsmtplib.base64(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.stderr(??)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_ASH\nsocket.AF_ATMPVC\nsocket.AF_ATMSVC\nsocket.AF_AX25\nsocket.AF_BRIDGE\nsocket.AF_DECnet\nsocket.AF_ECONET\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_IRDA\nsocket.AF_KEY\nsocket.AF_NETBEUI\nsocket.AF_NETLINK\nsocket.AF_NETROM\nsocket.AF_PACKET\nsocket.AF_PPPOX\nsocket.AF_ROSE\nsocket.AF_ROUTE\nsocket.AF_SECURITY\nsocket.AF_SNA\nsocket.AF_TIPC\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AF_WANPIPE\nsocket.AF_X25\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.CAPI(??)\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NETLINK_DNRTMSG\nsocket.NETLINK_FIREWALL\nsocket.NETLINK_IP6_FW\nsocket.NETLINK_NFLOG\nsocket.NETLINK_ROUTE\nsocket.NETLINK_USERSOCK\nsocket.NETLINK_XFRM\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PACKET_BROADCAST\nsocket.PACKET_FASTROUTE\nsocket.PACKET_HOST\nsocket.PACKET_LOOPBACK\nsocket.PACKET_MULTICAST\nsocket.PACKET_OTHERHOST\nsocket.PACKET_OUTGOING\nsocket.PF_PACKET\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_TIPC\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SocketIO(??)\nsocket.SocketType(??)\nsocket.TCP_CORK\nsocket.TCP_DEFER_ACCEPT\nsocket.TCP_INFO\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPIDLE\nsocket.TCP_KEEPINTVL\nsocket.TCP_LINGER2\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.TCP_QUICKACK\nsocket.TCP_SYNCNT\nsocket.TCP_WINDOW_CLAMP\nsocket.TIPC_ADDR_ID\nsocket.TIPC_ADDR_NAME\nsocket.TIPC_ADDR_NAMESEQ\nsocket.TIPC_CFG_SRV\nsocket.TIPC_CLUSTER_SCOPE\nsocket.TIPC_CONN_TIMEOUT\nsocket.TIPC_CRITICAL_IMPORTANCE\nsocket.TIPC_DEST_DROPPABLE\nsocket.TIPC_HIGH_IMPORTANCE\nsocket.TIPC_IMPORTANCE\nsocket.TIPC_LOW_IMPORTANCE\nsocket.TIPC_MEDIUM_IMPORTANCE\nsocket.TIPC_NODE_SCOPE\nsocket.TIPC_PUBLISHED\nsocket.TIPC_SRC_DROPPABLE\nsocket.TIPC_SUBSCR_TIMEOUT\nsocket.TIPC_SUB_CANCEL\nsocket.TIPC_SUB_PORTS\nsocket.TIPC_SUB_SERVICE\nsocket.TIPC_TOP_SRV\nsocket.TIPC_WAIT_FOREVER\nsocket.TIPC_WITHDRAWN\nsocket.TIPC_ZONE_SCOPE\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.setdefaulttimeout(timeout)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.os(??)\nsocketserver.select(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsorted(iterable, key=None, reverse=False) --> new sorted list\nspwd.getspall() -> list_of_entries\nspwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max,\nspwd.struct_spwd(??)\nsqlite3.Binary(??)\nsqlite3.Cache(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement(??)\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.complete_statement(sql)\nsqlite3.connect(database[, timeout, isolation_level, detect_types, factory])\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Cache(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement(??)\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(database[, timeout, isolation_level, detect_types, factory])\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.dump(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.DER_cert_to_PEM_cert(??)\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2\nssl.PROTOCOL_SSLv23\nssl.PROTOCOL_SSLv3\nssl.PROTOCOL_TLSv1\nssl.RAND_add(string, entropy)\nssl.RAND_egd(path) -> bytes\nssl.RAND_status() -> 0 or 1\nssl.SOCK_STREAM\nssl.SSLError(??)\nssl.SSLSocket(??)\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.textwrap(??)\nssl.traceback(??)\nssl.wrap_socket(??)\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstaticmethod(function) -> method\nstr(string[, encoding[, errors]]) -> str\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s, [sep]) -> string\nstring.digits\nstring.hexdigits\nstring.maketrans(frm, to) -> bytes\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(??)\nstruct.calcsize(??)\nstruct.error(??)\nstruct.pack(??)\nstruct.pack_into(??)\nstruct.unpack(??)\nstruct.unpack_from(??)\nsubprocess.CalledProcessError(??)\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.fcntl(??)\nsubprocess.gc(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.mswindows(??)\nsubprocess.os(??)\nsubprocess.pickle(??)\nsubprocess.select(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.traceback(??)\nsum(iterable[, start]) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.open(??)\nsunau.openfp(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.main(??)\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist1\nsymbol.testlist_comp\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_FREE_CLASS\nsymtable.DEF_FREE_GLOBAL\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.OPT_IMPORT_STAR\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.api_version\nsys.argv(??)\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.gettrace()\nsys.hexversion\nsys.int_info(??)\nsys.intern(string) -> string\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setfilesystemencoding(string) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.subversion(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK(??)\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO(??)\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog(??)\nsyslog.openlog(??)\nsyslog.setlogmask(??)\nsyslog.syslog(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError(??)\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TarIter(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.errno(??)\ntarfile.filemode(??)\ntarfile.filemode_table(??)\ntarfile.grp(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.normpath(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.select(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B460800\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CBAUD\ntermios.CBAUDEX\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CIBAUD\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.IOCSIZE_MASK\ntermios.IOCSIZE_SHIFT\ntermios.ISIG\ntermios.ISTRIP\ntermios.IUCLC\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCC\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.N_MOUSE\ntermios.N_PPP\ntermios.N_SLIP\ntermios.N_STRIP\ntermios.N_TTY\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.OLCUC\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCFLSH\ntermios.TCGETA\ntermios.TCGETS\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSBRK\ntermios.TCSBRKP\ntermios.TCSETA\ntermios.TCSETAF\ntermios.TCSETAW\ntermios.TCSETS\ntermios.TCSETSF\ntermios.TCSETSW\ntermios.TCXONC\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGICOUNT\ntermios.TIOCGLCKTRMIOS\ntermios.TIOCGPGRP\ntermios.TIOCGSERIAL\ntermios.TIOCGSOFTCAR\ntermios.TIOCGWINSZ\ntermios.TIOCINQ\ntermios.TIOCLINUX\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMIWAIT\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSERCONFIG\ntermios.TIOCSERGETLSR\ntermios.TIOCSERGETMULTI\ntermios.TIOCSERGSTRUCT\ntermios.TIOCSERGWILD\ntermios.TIOCSERSETMULTI\ntermios.TIOCSERSWILD\ntermios.TIOCSER_TEMT\ntermios.TIOCSETD\ntermios.TIOCSLCKTRMIOS\ntermios.TIOCSPGRP\ntermios.TIOCSSERIAL\ntermios.TIOCSSOFTCAR\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VSWTC\ntermios.VSWTCH\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.XCASE\ntermios.XTABS\ntermios.error(??)\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.re(??)\ntextwrap.string(??)\ntextwrap.wrap(??)\nthreading.BoundedSemaphore(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.deque(iterable[, maxlen]) --> deque object\nthreading.enumerate(??)\nthreading.local(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.accept2dyear\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.timezone\ntime.tzname(??)\ntime.tzset(zone)\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.main(??)\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.TILDE\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(type, string, start, end, line)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.double3prog(??)\ntokenize.endprogs(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(encoding) -> CodecInfo\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.pseudoprog(??)\ntokenize.re(??)\ntokenize.single3prog(??)\ntokenize.single_quoted(??)\ntokenize.string(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.tokenprog(??)\ntokenize.triple_quoted(??)\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc(??)\ntrace.io(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.modname(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.time(??)\ntrace.token(??)\ntrace.tokenize(??)\ntrace.types(??)\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B460800\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CBAUD\ntty.CBAUDEX\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CIBAUD\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.IOCSIZE_MASK\ntty.IOCSIZE_SHIFT\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IUCLC\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCC\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.N_MOUSE\ntty.N_PPP\ntty.N_SLIP\ntty.N_STRIP\ntty.N_TTY\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.OLCUC\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCFLSH\ntty.TCGETA\ntty.TCGETS\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSBRK\ntty.TCSBRKP\ntty.TCSETA\ntty.TCSETAF\ntty.TCSETAW\ntty.TCSETS\ntty.TCSETSF\ntty.TCSETSW\ntty.TCXONC\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGICOUNT\ntty.TIOCGLCKTRMIOS\ntty.TIOCGPGRP\ntty.TIOCGSERIAL\ntty.TIOCGSOFTCAR\ntty.TIOCGWINSZ\ntty.TIOCINQ\ntty.TIOCLINUX\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMIWAIT\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSERCONFIG\ntty.TIOCSERGETLSR\ntty.TIOCSERGETMULTI\ntty.TIOCSERGSTRUCT\ntty.TIOCSERGWILD\ntty.TIOCSERSETMULTI\ntty.TIOCSERSWILD\ntty.TIOCSER_TEMT\ntty.TIOCSETD\ntty.TIOCSLCKTRMIOS\ntty.TIOCSPGRP\ntty.TIOCSSERIAL\ntty.TIOCSSOFTCAR\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VSWTC\ntty.VSWTCH\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.XCASE\ntty.XTABS\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> an empty tuple\ntype(object) -> the object's type\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CodeType(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodType(??)\ntypes.ModuleType(??)\ntypes.TracebackType(??)\nunicodedata.UCD(??)\nunicodedata.bidirectional(unichr)\nunicodedata.category(unichr)\nunicodedata.combining(unichr)\nunicodedata.decimal(unichr[, default])\nunicodedata.decomposition(unichr)\nunicodedata.digit(unichr[, default])\nunicodedata.east_asian_width(unichr)\nunicodedata.lookup(name)\nunicodedata.mirrored(unichr)\nunicodedata.name(unichr[, default])\nunicodedata.normalize(form, unistr)\nunicodedata.numeric(unichr[, default])\nunicodedata.ucd_3_2_0(??)\nunicodedata.ucnhash_CAPI(??)\nunicodedata.unidata_version\nunittest.CmpToKey(??)\nunittest.FunctionTestCase(??)\nunittest.SkipTest(??)\nunittest.TestCase(??)\nunittest.TestLoader(??)\nunittest.TestProgram(??)\nunittest.TestResult(??)\nunittest.TestSuite(??)\nunittest.TextTestRunner(??)\nunittest.defaultTestLoader(??)\nunittest.difflib(??)\nunittest.expectedFailure(??)\nunittest.findTestCases(??)\nunittest.functools(??)\nunittest.getTestCaseNames(??)\nunittest.main(??)\nunittest.makeSuite(??)\nunittest.os(??)\nunittest.pprint(??)\nunittest.re(??)\nunittest.skip(??)\nunittest.skipIf(??)\nunittest.skipUnless(??)\nunittest.sys(??)\nunittest.three_way_cmp(??)\nunittest.time(??)\nunittest.traceback(??)\nunittest.types(??)\nunittest.warnings(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultMixin(??)\nurllib.parse.SplitResult(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.test(??)\nurllib.parse.test_input\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.random(??)\nurllib.request.randombytes(??)\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.sys(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.ctypes(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.lib(??)\nuuid.libname\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.default_action\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache(??)\nwarnings.once_registry(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.builtins(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.collections(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.io(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.stat(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwebbrowser.time(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO([buffer]) -> object\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct(??)\nxml.dom(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.EmptyNodeList(??)\nxml.dom.domreg.NodeList(??)\nxml.dom.domreg.StringTypes(??)\nxml.dom.domreg.defproperty(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.EmptyNodeList(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.NodeList(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.StringTypes(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.defproperty(??)\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat(??)\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.codecs(??)\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.types(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.Path(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_descendant_or_self(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLTreeBuilder(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fixtag(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementPath(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLParserError(??)\nxml.etree.cElementTree.XMLTreeBuilder(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.tostring(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.version_info(??)\nxml.sax(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(??)\nxmlrpc.client.dumps(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.http(??)\nxmlrpc.client.io(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.operator(??)\nxmlrpc.client.re(??)\nxmlrpc.client.time(??)\nxmlrpc.server(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipfile.BadZipfile(??)\nzipfile.LargeZipFile(??)\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzipfile.error(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string.\nzlib.compress(string[, level]) -- Returned compressed string.\nzlib.compressobj([level]) -- Return a compressor object.\nzlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string.\nzlib.decompressobj([wbits]) -- Return a decompressor object.\nzlib.error(??)\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.2.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBufferError(??)\nBytesWarning(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nNameError(??)\nNone(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\nall(iterable) -> bool\nany(iterable) -> bool\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\nascii(object) -> string\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.Assert(??)\nast.Assign(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.TryExcept(??)\nast.TryFinally(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.buffer(??)\nasynchat.deque(iterable[, maxlen]) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasynchat.socket(??)\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINTR\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.fcntl(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(number) -> string\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbinhex.sys(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(number) -> number\nbuiltins.all(iterable) -> bool\nbuiltins.any(iterable) -> bool\nbuiltins.ascii(object) -> string\nbuiltins.bin(number) -> string\nbuiltins.bool(x) -> bool\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(object) -> bool\nbuiltins.chr(i) -> Unicode character\nbuiltins.classmethod(function) -> method\nbuiltins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object\nbuiltins.complex(real[, imag]) -> complex number\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(object, name)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(x, y) -> (div, mod)\nbuiltins.enumerate(iterable[, start]) -> iterator for index, value of iterable\nbuiltins.eval(source[, globals[, locals]]) -> value\nbuiltins.exec(object[, globals[, locals]])\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(x) -> floating point number\nbuiltins.format(value[, format_spec]) -> string\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals() -> dictionary\nbuiltins.hasattr(object, name) -> bool\nbuiltins.hash(object) -> integer\nbuiltins.help(??)\nbuiltins.hex(number) -> string\nbuiltins.id(object) -> integer\nbuiltins.input([prompt]) -> string\nbuiltins.int(x[, base]) -> integer\nbuiltins.isinstance(object, class-or-type-or-tuple) -> bool\nbuiltins.issubclass(C, B) -> bool\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(object) -> integer\nbuiltins.license(??)\nbuiltins.list() -> new empty list\nbuiltins.locals() -> dictionary\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable[, key=func]) -> value\nbuiltins.memoryview(object)\nbuiltins.min(iterable[, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(number) -> string\nbuiltins.open(??)\nbuiltins.ord(c) -> integer\nbuiltins.pow(x, y[, z]) -> number\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout)\nbuiltins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute\nbuiltins.quit(??)\nbuiltins.range([start,] stop[, step]) -> range object\nbuiltins.repr(object) -> string\nbuiltins.reversed(sequence) -> reverse iterator over values of the sequence\nbuiltins.round(number[, ndigits]) -> number\nbuiltins.set() -> new empty set object\nbuiltins.setattr(object, name, value)\nbuiltins.slice([start,] stop[, step])\nbuiltins.sorted(iterable, key=None, reverse=False) --> new sorted list\nbuiltins.staticmethod(function) -> method\nbuiltins.str(string[, encoding[, errors]]) -> str\nbuiltins.sum(iterable[, start]) -> value\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple() -> empty tuple\nbuiltins.type(object) -> the object's type\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(object) -> bool\ncgi.BytesIO([buffer]) -> object\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.dolog(??)\ncgi.escape(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\ncgitb.types(??)\nchr(i) -> Unicode character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(encoding) -> CodecInfo\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.Container(??)\ncollections.Counter(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.defaultdict(default_factory) --> dict with default factory\ncollections.deque(iterable[, maxlen]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.errno(??)\ncompileall.imp(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(real[, imag]) -> complex number\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.ContextDecorator(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.sys(??)\ncontextlib.warn(??)\ncontextlib.wraps(??)\ncopy.Error(??)\ncopy.PyStringMap(??)\ncopy.builtins(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopy.name\ncopy.t(??)\ncopy.weakref(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib(??)\nctypes.macholib.dyld(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(iterable) --> accumulate object\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib(??)\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util(??)\nctypes.util.contextlib(??)\nctypes.util.errno(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.re(??)\nctypes.util.sys(??)\nctypes.util.tempfile(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndifflib.warnings(??)\ndir([object]) -> list of strings\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op(??)\ndis.code_info(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.sys(??)\ndis.types(??)\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.tempfile(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndoctest.warnings(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderParseError(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.message(??)\nemail.feedparser.re(??)\nemail.generator(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO([buffer]) -> object\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.generator.warnings(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO([buffer]) -> object\nemail.message.Charset(??)\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.base64(??)\nemail.message.binascii(??)\nemail.message.errors(??)\nemail.message.header(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message.warnings(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime(??)\nemail.mime.application(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio(??)\nemail.mime.audio.BytesIO([buffer]) -> object\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.warnings(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.EMPTYSTRING\nemail.utils.StringIO(??)\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64(??)\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nemail.utils.warnings(??)\nenumerate(iterable[, start]) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EADV\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EBADE\nerrno.EBADF\nerrno.EBADFD\nerrno.EBADMSG\nerrno.EBADR\nerrno.EBADRQC\nerrno.EBADSLT\nerrno.EBFONT\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECHRNG\nerrno.ECOMM\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDEADLOCK\nerrno.EDESTADDRREQ\nerrno.EDOM\nerrno.EDOTDOT\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.EISNAM\nerrno.EKEYEXPIRED\nerrno.EKEYREJECTED\nerrno.EKEYREVOKED\nerrno.EL2HLT\nerrno.EL2NSYNC\nerrno.EL3HLT\nerrno.EL3RST\nerrno.ELIBACC\nerrno.ELIBBAD\nerrno.ELIBEXEC\nerrno.ELIBMAX\nerrno.ELIBSCN\nerrno.ELNRNG\nerrno.ELOOP\nerrno.EMEDIUMTYPE\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENAVAIL\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOANO\nerrno.ENOBUFS\nerrno.ENOCSI\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOKEY\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEDIUM\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENONET\nerrno.ENOPKG\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTNAM\nerrno.ENOTRECOVERABLE\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENOTUNIQ\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EOWNERDEAD\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.ERANGE\nerrno.EREMCHG\nerrno.EREMOTE\nerrno.EREMOTEIO\nerrno.ERESTART\nerrno.ERFKILL\nerrno.EROFS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESRMNT\nerrno.ESTALE\nerrno.ESTRPIPE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUCLEAN\nerrno.EUNATCH\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.EXFULL\nerrno.errorcode(??)\neval(source[, globals[, locals]]) -> value\nexec(object[, globals[, locals]])\nexit(??)\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(files=None, inplace=False, backup=\"\", bufsize=0, mode=\"r\", openhook=None)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(value[, format_spec]) -> string\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.os(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.Lock(??)\nfunctools.OrderedDict(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.cmp_to_key(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage(??)\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.io(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.struct(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglob.sys(??)\nglobals() -> dictionary\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.LOWU32(??)\ngzip.READ\ngzip.U32(??)\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.open(??)\ngzip.os(??)\ngzip.read32(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha512(??)\nheapq.bisect(??)\nheapq.chain(*iterables) --> chain object\nheapq.count(start=0, step=1) --> count object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(??)\nheapq.heappushpop(??)\nheapq.heapreplace(??)\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.repeat(object [,times]) -> create an iterator which returns the object\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp(??)\nhex(number) -> string\nhmac.HMAC(??)\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser(??)\nhtml.parser.HTMLParseError(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_cdata(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind(??)\nhttp.client(??)\nhttp.client.ACCEPTED\nhttp.client.BAD_GATEWAY\nhttp.client.BAD_REQUEST\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT\nhttp.client.CONTINUE\nhttp.client.CREATED\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED\nhttp.client.FAILED_DEPENDENCY\nhttp.client.FORBIDDEN\nhttp.client.FOUND\nhttp.client.GATEWAY_TIMEOUT\nhttp.client.GONE\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED\nhttp.client.IM_USED\nhttp.client.INSUFFICIENT_STORAGE\nhttp.client.INTERNAL_SERVER_ERROR\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED\nhttp.client.LOCKED\nhttp.client.LineTooLong(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED\nhttp.client.MOVED_PERMANENTLY\nhttp.client.MULTIPLE_CHOICES\nhttp.client.MULTI_STATUS\nhttp.client.NON_AUTHORITATIVE_INFORMATION\nhttp.client.NOT_ACCEPTABLE\nhttp.client.NOT_EXTENDED\nhttp.client.NOT_FOUND\nhttp.client.NOT_IMPLEMENTED\nhttp.client.NOT_MODIFIED\nhttp.client.NO_CONTENT\nhttp.client.NotConnected(??)\nhttp.client.OK\nhttp.client.PARTIAL_CONTENT\nhttp.client.PAYMENT_REQUIRED\nhttp.client.PRECONDITION_FAILED\nhttp.client.PROCESSING\nhttp.client.PROXY_AUTHENTICATION_REQUIRED\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE\nhttp.client.REQUEST_ENTITY_TOO_LARGE\nhttp.client.REQUEST_TIMEOUT\nhttp.client.REQUEST_URI_TOO_LONG\nhttp.client.RESET_CONTENT\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER\nhttp.client.SERVICE_UNAVAILABLE\nhttp.client.SWITCHING_PROTOCOLS\nhttp.client.TEMPORARY_REDIRECT\nhttp.client.UNAUTHORIZED\nhttp.client.UNPROCESSABLE_ENTITY\nhttp.client.UNSUPPORTED_MEDIA_TYPE\nhttp.client.UPGRADE_REQUIRED\nhttp.client.USE_PROXY\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.io(??)\nhttp.client.os(??)\nhttp.client.parse_headers(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.client.warnings(??)\nhttp.cookiejar(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.copy(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(object) -> integer\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.cache_from_source(??)\nimp.find_module(name, [path]) -> (file, filename, (suffix, mode, type))\nimp.get_frozen_object(??)\nimp.get_magic() -> string\nimp.get_suffixes() -> [(suffix, mode, type), ...]\nimp.get_tag() -> string\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(name, file, filename, (suffix, mode, type)) -> module\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held() -> boolean\nimp.new_module(name) -> module\nimp.release_lock() -> None\nimp.reload(module) -> module\nimp.source_from_cache(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.PyLoader(??)\nimportlib.abc.PyPycLoader(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.imp(??)\nimportlib.abc.io(??)\nimportlib.abc.machinery(??)\nimportlib.abc.marshal(??)\nimportlib.abc.os(??)\nimportlib.abc.sys(??)\nimportlib.abc.tokenize(??)\nimportlib.abc.types(??)\nimportlib.abc.util(??)\nimportlib.abc.warnings(??)\nimportlib.errno(??)\nimportlib.imp(??)\nimportlib.import_module(??)\nimportlib.machinery(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.PathFinder(??)\nimportlib.marshal(??)\nimportlib.os(??)\nimportlib.re(??)\nimportlib.sep\nimportlib.sys(??)\nimportlib.tokenize(??)\nimportlib.util(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\ninput([prompt]) -> string\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.CO_GENERATOR\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.EndOfBlock(??)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.currentframe(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.stack(??)\ninspect.string(??)\ninspect.sys(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.v\ninspect.walktree(??)\nint(x[, base]) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO([buffer]) -> object\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(iterable) -> iterator\nitertools.accumulate(iterable) --> accumulate object\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.binascii(??)\njson.decoder.c_scanstring(??)\njson.decoder.errmsg(??)\njson.decoder.linecol(??)\njson.decoder.make_scanner(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.decoder.struct(??)\njson.decoder.sys(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.FLOAT_REPR(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(??)\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(object) -> integer\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist() -> new empty list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.bind_textdomain_codeset(domain, codeset) -> string\nlocale.bindtextdomain(domain, dir) -> string\nlocale.collections(??)\nlocale.currency(??)\nlocale.dcgettext(domain, msg, category) -> string\nlocale.dgettext(domain, msg) -> string\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.gettext(msg) -> string\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.textdomain(domain) -> string\nlocale.windows_locale(??)\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.codecs(??)\nlogging.config(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.os(??)\nlogging.config.re(??)\nlogging.config.socket(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.thread(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.types(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.codecs(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing\nlogging.logProcesses\nlogging.logThreads\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.thread(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacurl2path.os(??)\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.sys(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(func, *iterables) --> map object\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(string)\nmarshal.version\nmax(iterable[, key=func]) -> value\nmemoryview(object)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable[, key=func]) -> value\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.READ_MODE\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.generators(??)\nmodulefinder.imp(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.struct(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Finalize(??)\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.close(fd)\nmultiprocessing.connection.current_process(??)\nmultiprocessing.connection.debug(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.duplicate(??)\nmultiprocessing.connection.errno(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.get_temp_dir(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.sub_debug(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.TimeoutError(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.cpu_count(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.itertools(??)\nmultiprocessing.dummy.list() -> new empty list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forking(??)\nmultiprocessing.forking.ForkingPickler(??)\nmultiprocessing.forking.Pickler(??)\nmultiprocessing.forking.Popen(??)\nmultiprocessing.forking.assert_spawning(??)\nmultiprocessing.forking.close(fd)\nmultiprocessing.forking.duplicate(??)\nmultiprocessing.forking.exit(??)\nmultiprocessing.forking.old_main_modules(??)\nmultiprocessing.forking.os(??)\nmultiprocessing.forking.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.forking.prepare(??)\nmultiprocessing.forking.process(??)\nmultiprocessing.forking.signal(??)\nmultiprocessing.forking.sys(??)\nmultiprocessing.forking.time(??)\nmultiprocessing.forking.util(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.heap(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Finalize(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.info(??)\nmultiprocessing.heap.itertools(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AuthenticationString(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.Finalize(??)\nmultiprocessing.managers.ForkingPickler(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PicklingError(??)\nmultiprocessing.managers.Pool(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.Popen(??)\nmultiprocessing.managers.Process(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.active_children(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.assert_spawning(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.copyreg(??)\nmultiprocessing.managers.current_process(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.exit(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.info(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.os(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.managers.weakref(??)\nmultiprocessing.os(??)\nmultiprocessing.pool(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.Finalize(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.Process(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.cpu_count(??)\nmultiprocessing.pool.debug(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.Process(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.queues(??)\nmultiprocessing.queues.BoundedSemaphore(??)\nmultiprocessing.queues.Condition(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Lock(??)\nmultiprocessing.queues.Pipe(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.Semaphore(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.assert_spawning(??)\nmultiprocessing.queues.atexit(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.Client(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.Listener(??)\nmultiprocessing.reduction.Popen(??)\nmultiprocessing.reduction.close(fd)\nmultiprocessing.reduction.current_process(??)\nmultiprocessing.reduction.debug(??)\nmultiprocessing.reduction.duplicate(??)\nmultiprocessing.reduction.fromfd(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.rebuild_connection(??)\nmultiprocessing.reduction.rebuild_handle(??)\nmultiprocessing.reduction.rebuild_socket(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.reduce_connection(??)\nmultiprocessing.reduction.reduce_handle(??)\nmultiprocessing.reduction.reduce_socket(??)\nmultiprocessing.reduction.register_after_fork(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sub_debug(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.reduction.threading(??)\nmultiprocessing.sharedctypes(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RLock(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.sys(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.synchronize(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Finalize(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.Popen(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.assert_spawning(??)\nmultiprocessing.synchronize.current_process(??)\nmultiprocessing.synchronize.debug(??)\nmultiprocessing.synchronize.os(??)\nmultiprocessing.synchronize.register_after_fork(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.active_children(??)\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.current_process(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnext(iterator[, default])\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nnumbers.abstractproperty(??)\nobject(??)\noct(number) -> string\nopen(??)\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.rshift(a, b) -- Same as a >> b.\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(c) -> integer\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_OK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_LARGEFILE\nos.O_NDELAY\nos.O_NOATIME\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_RSYNC\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_WAIT\nos.R_OK\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode) -> True if granted, False otherwise\nos.altsep(??)\nos.chdir(path)\nos.chmod(path, mode)\nos.chown(path, uid, gid)\nos.chroot(path)\nos.close(fd)\nos.closerange(fd_low, fd_high)\nos.confstr(name) -> string\nos.confstr_names(??)\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.device_encoding(fd) -> str\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ(??)\nos.environb(??)\nos.errno(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fildes)\nos.fchmod(fd, mode)\nos.fchown(fd, uid, gid)\nos.fdatasync(fildes)\nos.fdopen(??)\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fsdecode(??)\nos.fsencode(??)\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.get_exec_path(??)\nos.getcwd() -> path\nos.getcwdb() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.getenvb(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getresgid() -> (rgid, egid, sgid)\nos.getresuid() -> (ruid, euid, suid)\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.initgroups(username, gid) -> None\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst)\nos.listdir([path]) -> list_of_strings\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0o777][, exist_ok=False])\nos.minor(device) -> minor number\nos.mkdir(path [, mode=0777])\nos.mkfifo(filename [, mode=0666])\nos.mknod(filename [, mode=0600, device])\nos.name\nos.nice(inc) -> new_priority\nos.open(filename, flag [, mode=0777]) -> fd\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path(??)\nos.pathconf(path, name) -> integer\nos.pathconf_names(??)\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(??)\nos.putenv(key, value)\nos.read(fd, buffersize) -> string\nos.readlink(path) -> path\nos.remove(path)\nos.removedirs(path)\nos.rename(old, new)\nos.renames(old, new)\nos.rmdir(path)\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setregid(rgid, egid)\nos.setresgid(rgid, egid, sgid)\nos.setresuid(ruid, euid, suid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.stat(path) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result(??)\nos.statvfs(path) -> statvfs result\nos.statvfs_result(??)\nos.strerror(code) -> string\nos.supports_bytes_environ(??)\nos.symlink(src, dst)\nos.sys(??)\nos.sysconf(name) -> integer\nos.sysconf_names(??)\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.times() -> (utime, stime, cutime, cstime, elapsed_time)\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> (sysname, nodename, release, version, machine)\nos.unlink(path)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, (atime, mtime))\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BuiltinFunctionType(??)\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(file, protocol=None)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(file, *, encoding='ASCII', errors='strict')\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.classmap(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(obj, file, protocol=None, *, fix_imports=True) -> None\npickle.dumps(obj, protocol=None, *, fix_imports=True) -> bytes\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict') -> object\npickle.loads(input, *, fix_imports=True, encoding='ASCII', errors='strict') -> object\npickle.marshal(??)\npickle.mloads(??)\npickle.re(??)\npickle.struct(??)\npickle.sys(??)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.unicodestring4(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.string(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.imp(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.version(??)\nplatform.win32_ver(??)\nplistlib.BytesIO([buffer]) -> object\nplistlib.Data(??)\nplistlib.Dict(??)\nplistlib.DumbXMLWriter(??)\nplistlib.PLISTHEADER\nplistlib.Plist(??)\nplistlib.PlistParser(??)\nplistlib.PlistWriter(??)\nplistlib.binascii(??)\nplistlib.datetime(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_OK\nposix.NGROUPS_MAX\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_LARGEFILE\nposix.O_NDELAY\nposix.O_NOATIME\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_RSYNC\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.R_OK\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode) -> True if granted, False otherwise\nposix.chdir(path)\nposix.chmod(path, mode)\nposix.chown(path, uid, gid)\nposix.chroot(path)\nposix.close(fd)\nposix.closerange(fd_low, fd_high)\nposix.confstr(name) -> string\nposix.confstr_names(??)\nposix.ctermid() -> string\nposix.device_encoding(fd) -> str\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ(??)\nposix.error(??)\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fildes)\nposix.fchmod(fd, mode)\nposix.fchown(fd, uid, gid)\nposix.fdatasync(fildes)\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.getcwd() -> path\nposix.getcwdb() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getresgid() -> (rgid, egid, sgid)\nposix.getresuid() -> (ruid, euid, suid)\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.initgroups(username, gid) -> None\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchown(path, uid, gid)\nposix.link(src, dst)\nposix.listdir([path]) -> list_of_strings\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path [, mode=0777])\nposix.mkfifo(filename [, mode=0666])\nposix.mknod(filename [, mode=0600, device])\nposix.nice(inc) -> new_priority\nposix.open(filename, flag [, mode=0777]) -> fd\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names(??)\nposix.pipe() -> (read_end, write_end)\nposix.putenv(key, value)\nposix.read(fd, buffersize) -> string\nposix.readlink(path) -> path\nposix.remove(path)\nposix.rename(old, new)\nposix.rmdir(path)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setregid(rgid, egid)\nposix.setresgid(rgid, egid, sgid)\nposix.setresuid(ruid, euid, suid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result(??)\nposix.statvfs(path) -> statvfs result\nposix.statvfs_result(??)\nposix.strerror(code) -> string\nposix.symlink(src, dst)\nposix.sysconf(name) -> integer\nposix.sysconf_names(??)\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.times() -> (utime, stime, cutime, cstime, elapsed_time)\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> (sysname, nodename, release, version, machine)\nposix.unlink(path)\nposix.unsetenv(key)\nposix.utime(path, (atime, mtime))\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.os(??)\nprofile.resgetrusage(??)\nprofile.resource(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd(??)\npy_compile.MAGIC\npy_compile.PyCompileError(??)\npy_compile.builtins(??)\npy_compile.compile(??)\npy_compile.errno(??)\npy_compile.imp(??)\npy_compile.main(??)\npy_compile.marshal(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.tokenize(??)\npy_compile.traceback(??)\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.imp(??)\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable[, maxlen]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.extract_tb(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.gui(??)\npydoc.help(??)\npydoc.html(??)\npydoc.imp(??)\npydoc.importfile(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.serve(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.ttypager(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.deque(iterable[, maxlen]) --> deque object\nqueue.heapq(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.division(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange([start,] stop[, step]) -> range object\nre.A\nre.ASCII\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copyreg(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.functools(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.sys(??)\nre.template(??)\nrepr(object) -> string\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, [start,] stop [, step]) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nreversed(sequence) -> reverse iterator over values of the sequence\nrlcompleter.Completer(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nround(number[, ndigits]) -> number\nrunpy.get_loader(??)\nrunpy.imp(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nset() -> new empty set object\nsetattr(object, name, value)\nshelve.BsdDbShelf(??)\nshelve.BytesIO([buffer]) -> object\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=None)\nshelve.Shelf(??)\nshelve.Unpickler(file, *, encoding='ASCII', errors='strict')\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque(iterable[, maxlen]) --> deque object\nshlex.os(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SpecialFileError(??)\nshutil.WindowsError(??)\nshutil.abspath(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(name) -> tuple\nshutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.tarfile(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCLD\nsignal.SIGCONT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPOLL\nsignal.SIGPROF\nsignal.SIGPWR\nsignal.SIGQUIT\nsignal.SIGRTMAX\nsignal.SIGRTMIN\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getitimer(which)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(which, seconds[, interval])\nsignal.siginterrupt(sig, flag) -> None\nsignal.signal(sig, action) -> action\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.traceback(??)\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.errno(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.SSLFakeFile(??)\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.stderr(??)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_ASH\nsocket.AF_ATMPVC\nsocket.AF_ATMSVC\nsocket.AF_AX25\nsocket.AF_BLUETOOTH\nsocket.AF_BRIDGE\nsocket.AF_DECnet\nsocket.AF_ECONET\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_IRDA\nsocket.AF_KEY\nsocket.AF_LLC\nsocket.AF_NETBEUI\nsocket.AF_NETLINK\nsocket.AF_NETROM\nsocket.AF_PACKET\nsocket.AF_PPPOX\nsocket.AF_ROSE\nsocket.AF_ROUTE\nsocket.AF_SECURITY\nsocket.AF_SNA\nsocket.AF_TIPC\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AF_WANPIPE\nsocket.AF_X25\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.BDADDR_ANY\nsocket.BDADDR_LOCAL\nsocket.BTPROTO_HCI\nsocket.BTPROTO_L2CAP\nsocket.BTPROTO_RFCOMM\nsocket.BTPROTO_SCO\nsocket.CAPI(??)\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EINTR\nsocket.EWOULDBLOCK\nsocket.HCI_DATA_DIR\nsocket.HCI_FILTER\nsocket.HCI_TIME_STAMP\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NETLINK_DNRTMSG\nsocket.NETLINK_FIREWALL\nsocket.NETLINK_IP6_FW\nsocket.NETLINK_NFLOG\nsocket.NETLINK_ROUTE\nsocket.NETLINK_USERSOCK\nsocket.NETLINK_XFRM\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PACKET_BROADCAST\nsocket.PACKET_FASTROUTE\nsocket.PACKET_HOST\nsocket.PACKET_LOOPBACK\nsocket.PACKET_MULTICAST\nsocket.PACKET_OTHERHOST\nsocket.PACKET_OUTGOING\nsocket.PF_PACKET\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_CLOEXEC\nsocket.SOCK_DGRAM\nsocket.SOCK_NONBLOCK\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_HCI\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_TIPC\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SocketIO(??)\nsocket.SocketType(??)\nsocket.TCP_CORK\nsocket.TCP_DEFER_ACCEPT\nsocket.TCP_INFO\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPIDLE\nsocket.TCP_KEEPINTVL\nsocket.TCP_LINGER2\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.TCP_QUICKACK\nsocket.TCP_SYNCNT\nsocket.TCP_WINDOW_CLAMP\nsocket.TIPC_ADDR_ID\nsocket.TIPC_ADDR_NAME\nsocket.TIPC_ADDR_NAMESEQ\nsocket.TIPC_CFG_SRV\nsocket.TIPC_CLUSTER_SCOPE\nsocket.TIPC_CONN_TIMEOUT\nsocket.TIPC_CRITICAL_IMPORTANCE\nsocket.TIPC_DEST_DROPPABLE\nsocket.TIPC_HIGH_IMPORTANCE\nsocket.TIPC_IMPORTANCE\nsocket.TIPC_LOW_IMPORTANCE\nsocket.TIPC_MEDIUM_IMPORTANCE\nsocket.TIPC_NODE_SCOPE\nsocket.TIPC_PUBLISHED\nsocket.TIPC_SRC_DROPPABLE\nsocket.TIPC_SUBSCR_TIMEOUT\nsocket.TIPC_SUB_CANCEL\nsocket.TIPC_SUB_PORTS\nsocket.TIPC_SUB_SERVICE\nsocket.TIPC_TOP_SRV\nsocket.TIPC_WAIT_FOREVER\nsocket.TIPC_WITHDRAWN\nsocket.TIPC_ZONE_SCOPE\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.setdefaulttimeout(timeout)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.os(??)\nsocketserver.select(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsorted(iterable, key=None, reverse=False) --> new sorted list\nssl.AF_INET\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.HAS_SNI(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL\nssl.OP_NO_SSLv2\nssl.OP_NO_SSLv3\nssl.OP_NO_TLSv1\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2\nssl.PROTOCOL_SSLv23\nssl.PROTOCOL_SSLv3\nssl.PROTOCOL_TLSv1\nssl.RAND_add(string, entropy)\nssl.RAND_egd(path) -> bytes\nssl.RAND_status() -> 0 or 1\nssl.SOCK_STREAM\nssl.SSLContext(??)\nssl.SSLError(??)\nssl.SSLSocket(??)\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.errno(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.match_hostname(??)\nssl.re(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.textwrap(??)\nssl.traceback(??)\nssl.wrap_socket(??)\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstaticmethod(function) -> method\nstr(string[, encoding[, errors]]) -> str\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(fmt) --> compiled struct object\nstruct.calcsize(fmt) -> integer\nstruct.error(??)\nstruct.pack(fmt, v1, v2, ...) -> bytes\nstruct.pack_into(fmt, buffer, offset, v1, v2, ...)\nstruct.unpack(fmt, buffer) -> (v1, v2, ...)\nstruct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...)\nsubprocess.CalledProcessError(??)\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.fcntl(??)\nsubprocess.gc(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.mswindows(??)\nsubprocess.os(??)\nsubprocess.pickle(??)\nsubprocess.select(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.traceback(??)\nsubprocess.warnings(??)\nsum(iterable[, start]) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.open(??)\nsunau.openfp(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.main(??)\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.OPT_IMPORT_STAR\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.api_version\nsys.argv(??)\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.getswitchinterval() -> current thread switch interval; see setswitchinterval().\nsys.gettrace()\nsys.hash_info(??)\nsys.hexversion\nsys.int_info(??)\nsys.intern(string) -> string\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.setswitchinterval(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.subversion(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TarIter(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.errno(??)\ntarfile.filemode(??)\ntarfile.filemode_table(??)\ntarfile.grp(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.select(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.re(??)\ntextwrap.string(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.deque(iterable[, maxlen]) --> deque object\nthreading.enumerate(??)\nthreading.local(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.TILDE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.double3prog(??)\ntokenize.endprogs(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(encoding) -> CodecInfo\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.pseudoprog(??)\ntokenize.re(??)\ntokenize.single3prog(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.tokenprog(??)\ntokenize.triple_quoted(??)\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.io(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.modname(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.time(??)\ntrace.token(??)\ntrace.tokenize(??)\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntty.B0\ntty.B1000000\ntty.B110\ntty.B115200\ntty.B1152000\ntty.B1200\ntty.B134\ntty.B150\ntty.B1500000\ntty.B1800\ntty.B19200\ntty.B200\ntty.B2000000\ntty.B230400\ntty.B2400\ntty.B2500000\ntty.B300\ntty.B3000000\ntty.B3500000\ntty.B38400\ntty.B4000000\ntty.B460800\ntty.B4800\ntty.B50\ntty.B500000\ntty.B57600\ntty.B576000\ntty.B600\ntty.B75\ntty.B921600\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CBAUD\ntty.CBAUDEX\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CIBAUD\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.IOCSIZE_MASK\ntty.IOCSIZE_SHIFT\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IUCLC\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCC\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.N_MOUSE\ntty.N_PPP\ntty.N_SLIP\ntty.N_STRIP\ntty.N_TTY\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.OLCUC\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCFLSH\ntty.TCGETA\ntty.TCGETS\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSBRK\ntty.TCSBRKP\ntty.TCSETA\ntty.TCSETAF\ntty.TCSETAW\ntty.TCSETS\ntty.TCSETSF\ntty.TCSETSW\ntty.TCXONC\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGICOUNT\ntty.TIOCGLCKTRMIOS\ntty.TIOCGPGRP\ntty.TIOCGSERIAL\ntty.TIOCGSOFTCAR\ntty.TIOCGWINSZ\ntty.TIOCINQ\ntty.TIOCLINUX\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMIWAIT\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSERCONFIG\ntty.TIOCSERGETLSR\ntty.TIOCSERGETMULTI\ntty.TIOCSERGSTRUCT\ntty.TIOCSERGWILD\ntty.TIOCSERSETMULTI\ntty.TIOCSERSWILD\ntty.TIOCSER_TEMT\ntty.TIOCSETD\ntty.TIOCSLCKTRMIOS\ntty.TIOCSPGRP\ntty.TIOCSSERIAL\ntty.TIOCSSOFTCAR\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VSWTC\ntty.VSWTCH\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.XCASE\ntty.XTABS\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> empty tuple\ntype(object) -> the object's type\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CodeType(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodType(??)\ntypes.ModuleType(??)\ntypes.TracebackType(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.collections(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.random(??)\nurllib.request.randombytes(??)\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittag('/path#tag') --> '/path', 'tag'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.sys(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.robotparser(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.ctypes(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.lib(??)\nuuid.libname\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.builtins(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.collections(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.io(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.stat(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwebbrowser.time(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO([buffer]) -> object\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct(??)\nxml.dom(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.EmptyNodeList(??)\nxml.dom.domreg.NodeList(??)\nxml.dom.domreg.StringTypes(??)\nxml.dom.domreg.defproperty(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.EmptyNodeList(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.NodeList(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.StringTypes(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.defproperty(??)\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat(??)\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.codecs(??)\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.types(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder(??)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLTreeBuilder(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementPath(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLTreeBuilder(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO([buffer]) -> object\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(??)\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.io(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.operator(??)\nxmlrpc.client.re(??)\nxmlrpc.client.socket(??)\nxmlrpc.client.time(??)\nxmlrpc.server(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.LargeZipFile(??)\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzipfile.error(??)\nzipfile.imp(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.re(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.3.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIN.AF_APPLETALK\nIN.AF_ATM\nIN.AF_CCITT\nIN.AF_CHAOS\nIN.AF_CNT\nIN.AF_COIP\nIN.AF_DATAKIT\nIN.AF_DECnet\nIN.AF_DLI\nIN.AF_E164\nIN.AF_ECMA\nIN.AF_HYLINK\nIN.AF_IMPLINK\nIN.AF_INET\nIN.AF_INET6\nIN.AF_IPX\nIN.AF_ISDN\nIN.AF_ISO\nIN.AF_LAT\nIN.AF_LINK\nIN.AF_LOCAL\nIN.AF_MAX\nIN.AF_NATM\nIN.AF_NDRV\nIN.AF_NETBIOS\nIN.AF_NETGRAPH\nIN.AF_NS\nIN.AF_OSI\nIN.AF_PPP\nIN.AF_PUP\nIN.AF_RESERVED_36\nIN.AF_ROUTE\nIN.AF_SIP\nIN.AF_SNA\nIN.AF_SYSTEM\nIN.AF_UNIX\nIN.AF_UNSPEC\nIN.CMGROUP_MAX\nIN.HTONL(??)\nIN.HTONS(??)\nIN.ICMP6_FILTER\nIN.IN6_IS_ADDR_LINKLOCAL(??)\nIN.IN6_IS_ADDR_LOOPBACK(??)\nIN.IN6_IS_ADDR_MC_GLOBAL(??)\nIN.IN6_IS_ADDR_MC_LINKLOCAL(??)\nIN.IN6_IS_ADDR_MC_NODELOCAL(??)\nIN.IN6_IS_ADDR_MC_ORGLOCAL(??)\nIN.IN6_IS_ADDR_MC_SITELOCAL(??)\nIN.IN6_IS_ADDR_SITELOCAL(??)\nIN.IN6_IS_ADDR_UNSPECIFIED(??)\nIN.IN6_IS_ADDR_V4COMPAT(??)\nIN.IN6_IS_ADDR_V4MAPPED(??)\nIN.INADDR_NONE\nIN.INET6_ADDRSTRLEN\nIN.INET_ADDRSTRLEN\nIN.INT16_C(??)\nIN.INT16_MAX\nIN.INT16_MIN\nIN.INT32_C(??)\nIN.INT32_MAX\nIN.INT32_MIN\nIN.INT8_C(??)\nIN.INT8_MAX\nIN.INT8_MIN\nIN.INTPTR_MAX\nIN.INTPTR_MIN\nIN.INT_FAST16_MAX\nIN.INT_FAST16_MIN\nIN.INT_FAST32_MAX\nIN.INT_FAST32_MIN\nIN.INT_FAST8_MAX\nIN.INT_FAST8_MIN\nIN.INT_LEAST16_MAX\nIN.INT_LEAST16_MIN\nIN.INT_LEAST32_MAX\nIN.INT_LEAST32_MIN\nIN.INT_LEAST8_MAX\nIN.INT_LEAST8_MIN\nIN.IN_BADCLASS(??)\nIN.IN_CLASSA(??)\nIN.IN_CLASSA_HOST\nIN.IN_CLASSA_MAX\nIN.IN_CLASSA_NET\nIN.IN_CLASSA_NSHIFT\nIN.IN_CLASSB(??)\nIN.IN_CLASSB_HOST\nIN.IN_CLASSB_MAX\nIN.IN_CLASSB_NET\nIN.IN_CLASSB_NSHIFT\nIN.IN_CLASSC(??)\nIN.IN_CLASSC_HOST\nIN.IN_CLASSC_NET\nIN.IN_CLASSC_NSHIFT\nIN.IN_CLASSD(??)\nIN.IN_CLASSD_HOST\nIN.IN_CLASSD_NET\nIN.IN_CLASSD_NSHIFT\nIN.IN_EXPERIMENTAL(??)\nIN.IN_LINKLOCAL(??)\nIN.IN_LOOPBACKNET\nIN.IN_MULTICAST(??)\nIN.IPCTL_ACCEPTSOURCEROUTE\nIN.IPCTL_DEFMTU\nIN.IPCTL_DEFTTL\nIN.IPCTL_DIRECTEDBROADCAST\nIN.IPCTL_FASTFORWARDING\nIN.IPCTL_FORWARDING\nIN.IPCTL_GIF_TTL\nIN.IPCTL_INTRQDROPS\nIN.IPCTL_INTRQMAXLEN\nIN.IPCTL_KEEPFAITH\nIN.IPCTL_MAXID\nIN.IPCTL_RTEXPIRE\nIN.IPCTL_RTMAXCACHE\nIN.IPCTL_RTMINEXPIRE\nIN.IPCTL_SENDREDIRECTS\nIN.IPCTL_SOURCEROUTE\nIN.IPCTL_STATS\nIN.IPPORT_HIFIRSTAUTO\nIN.IPPORT_HILASTAUTO\nIN.IPPORT_RESERVED\nIN.IPPORT_RESERVEDSTART\nIN.IPPORT_USERRESERVED\nIN.IPPROTO_3PC\nIN.IPPROTO_ADFS\nIN.IPPROTO_AH\nIN.IPPROTO_AHIP\nIN.IPPROTO_APES\nIN.IPPROTO_ARGUS\nIN.IPPROTO_AX25\nIN.IPPROTO_BHA\nIN.IPPROTO_BLT\nIN.IPPROTO_BRSATMON\nIN.IPPROTO_CFTP\nIN.IPPROTO_CHAOS\nIN.IPPROTO_CMTP\nIN.IPPROTO_CPHB\nIN.IPPROTO_CPNX\nIN.IPPROTO_DDP\nIN.IPPROTO_DGP\nIN.IPPROTO_DIVERT\nIN.IPPROTO_DONE\nIN.IPPROTO_DSTOPTS\nIN.IPPROTO_EGP\nIN.IPPROTO_EMCON\nIN.IPPROTO_ENCAP\nIN.IPPROTO_EON\nIN.IPPROTO_ESP\nIN.IPPROTO_ETHERIP\nIN.IPPROTO_FRAGMENT\nIN.IPPROTO_GGP\nIN.IPPROTO_GMTP\nIN.IPPROTO_GRE\nIN.IPPROTO_HELLO\nIN.IPPROTO_HMP\nIN.IPPROTO_HOPOPTS\nIN.IPPROTO_ICMP\nIN.IPPROTO_ICMPV6\nIN.IPPROTO_IDP\nIN.IPPROTO_IDPR\nIN.IPPROTO_IDRP\nIN.IPPROTO_IGMP\nIN.IPPROTO_IGP\nIN.IPPROTO_IGRP\nIN.IPPROTO_IL\nIN.IPPROTO_INLSP\nIN.IPPROTO_INP\nIN.IPPROTO_IP\nIN.IPPROTO_IPCOMP\nIN.IPPROTO_IPCV\nIN.IPPROTO_IPEIP\nIN.IPPROTO_IPIP\nIN.IPPROTO_IPPC\nIN.IPPROTO_IPV4\nIN.IPPROTO_IPV6\nIN.IPPROTO_IRTP\nIN.IPPROTO_KRYPTOLAN\nIN.IPPROTO_LARP\nIN.IPPROTO_LEAF1\nIN.IPPROTO_LEAF2\nIN.IPPROTO_MAX\nIN.IPPROTO_MAXID\nIN.IPPROTO_MEAS\nIN.IPPROTO_MHRP\nIN.IPPROTO_MICP\nIN.IPPROTO_MTP\nIN.IPPROTO_MUX\nIN.IPPROTO_ND\nIN.IPPROTO_NHRP\nIN.IPPROTO_NONE\nIN.IPPROTO_NSP\nIN.IPPROTO_NVPII\nIN.IPPROTO_OSPFIGP\nIN.IPPROTO_PGM\nIN.IPPROTO_PIGP\nIN.IPPROTO_PIM\nIN.IPPROTO_PRM\nIN.IPPROTO_PUP\nIN.IPPROTO_PVP\nIN.IPPROTO_RAW\nIN.IPPROTO_RCCMON\nIN.IPPROTO_RDP\nIN.IPPROTO_ROUTING\nIN.IPPROTO_RSVP\nIN.IPPROTO_RVD\nIN.IPPROTO_SATEXPAK\nIN.IPPROTO_SATMON\nIN.IPPROTO_SCCSP\nIN.IPPROTO_SDRP\nIN.IPPROTO_SEP\nIN.IPPROTO_SRPC\nIN.IPPROTO_ST\nIN.IPPROTO_SVMTP\nIN.IPPROTO_SWIPE\nIN.IPPROTO_TCF\nIN.IPPROTO_TCP\nIN.IPPROTO_TP\nIN.IPPROTO_TPXX\nIN.IPPROTO_TRUNK1\nIN.IPPROTO_TRUNK2\nIN.IPPROTO_TTP\nIN.IPPROTO_UDP\nIN.IPPROTO_VINES\nIN.IPPROTO_VISA\nIN.IPPROTO_VMTP\nIN.IPPROTO_WBEXPAK\nIN.IPPROTO_WBMON\nIN.IPPROTO_WSN\nIN.IPPROTO_XNET\nIN.IPPROTO_XTP\nIN.IPV6CTL_ACCEPT_RTADV\nIN.IPV6CTL_AUTO_FLOWLABEL\nIN.IPV6CTL_AUTO_LINKLOCAL\nIN.IPV6CTL_DAD_COUNT\nIN.IPV6CTL_DEFHLIM\nIN.IPV6CTL_DEFMCASTHLIM\nIN.IPV6CTL_DEFMTU\nIN.IPV6CTL_FORWARDING\nIN.IPV6CTL_FORWSRCRT\nIN.IPV6CTL_GIF_HLIM\nIN.IPV6CTL_HDRNESTLIMIT\nIN.IPV6CTL_KAME_VERSION\nIN.IPV6CTL_KEEPFAITH\nIN.IPV6CTL_LOG_INTERVAL\nIN.IPV6CTL_MAPPED_ADDR\nIN.IPV6CTL_MAXFRAGPACKETS\nIN.IPV6CTL_MAXFRAGS\nIN.IPV6CTL_MAXID\nIN.IPV6CTL_MRTPROTO\nIN.IPV6CTL_MRTSTATS\nIN.IPV6CTL_RIP6STATS\nIN.IPV6CTL_RR_PRUNE\nIN.IPV6CTL_RTEXPIRE\nIN.IPV6CTL_RTMAXCACHE\nIN.IPV6CTL_RTMINEXPIRE\nIN.IPV6CTL_SENDREDIRECTS\nIN.IPV6CTL_SOURCECHECK\nIN.IPV6CTL_SOURCECHECK_LOGINT\nIN.IPV6CTL_STATS\nIN.IPV6CTL_TEMPPLTIME\nIN.IPV6CTL_TEMPVLTIME\nIN.IPV6CTL_USETEMPADDR\nIN.IPV6CTL_USE_DEPRECATED\nIN.IPV6CTL_V6ONLY\nIN.IPV6PORT_ANONMAX\nIN.IPV6PORT_ANONMIN\nIN.IPV6PORT_RESERVED\nIN.IPV6PORT_RESERVEDMAX\nIN.IPV6PORT_RESERVEDMIN\nIN.IPV6PROTO_MAXID\nIN.IPV6_BINDV6ONLY\nIN.IPV6_CHECKSUM\nIN.IPV6_DEFAULT_MULTICAST_HOPS\nIN.IPV6_DEFAULT_MULTICAST_LOOP\nIN.IPV6_DSTOPTS\nIN.IPV6_FAITH\nIN.IPV6_FW_ADD\nIN.IPV6_FW_DEL\nIN.IPV6_FW_FLUSH\nIN.IPV6_FW_GET\nIN.IPV6_FW_ZERO\nIN.IPV6_HOPLIMIT\nIN.IPV6_HOPOPTS\nIN.IPV6_IPSEC_POLICY\nIN.IPV6_JOIN_GROUP\nIN.IPV6_LEAVE_GROUP\nIN.IPV6_MULTICAST_HOPS\nIN.IPV6_MULTICAST_IF\nIN.IPV6_MULTICAST_LOOP\nIN.IPV6_NEXTHOP\nIN.IPV6_OPTIONS\nIN.IPV6_PKTINFO\nIN.IPV6_PKTOPTIONS\nIN.IPV6_PORTRANGE\nIN.IPV6_PORTRANGE_DEFAULT\nIN.IPV6_PORTRANGE_HIGH\nIN.IPV6_PORTRANGE_LOW\nIN.IPV6_RECVDSTADDR\nIN.IPV6_RECVOPTS\nIN.IPV6_RECVRETOPTS\nIN.IPV6_RETOPTS\nIN.IPV6_RTHDR\nIN.IPV6_RTHDR_LOOSE\nIN.IPV6_RTHDR_STRICT\nIN.IPV6_RTHDR_TYPE_0\nIN.IPV6_SOCKOPT_RESERVED1\nIN.IPV6_UNICAST_HOPS\nIN.IPV6_V6ONLY\nIN.IP_ADD_MEMBERSHIP\nIN.IP_DEFAULT_MULTICAST_LOOP\nIN.IP_DEFAULT_MULTICAST_TTL\nIN.IP_DROP_MEMBERSHIP\nIN.IP_DUMMYNET_CONFIGURE\nIN.IP_DUMMYNET_DEL\nIN.IP_DUMMYNET_FLUSH\nIN.IP_DUMMYNET_GET\nIN.IP_FAITH\nIN.IP_FORCE_OUT_IFP\nIN.IP_FW_ADD\nIN.IP_FW_DEL\nIN.IP_FW_FLUSH\nIN.IP_FW_GET\nIN.IP_FW_RESETLOG\nIN.IP_FW_ZERO\nIN.IP_HDRINCL\nIN.IP_IPSEC_POLICY\nIN.IP_MAX_MEMBERSHIPS\nIN.IP_MULTICAST_IF\nIN.IP_MULTICAST_LOOP\nIN.IP_MULTICAST_TTL\nIN.IP_MULTICAST_VIF\nIN.IP_NAT__XXX\nIN.IP_OLD_FW_ADD\nIN.IP_OLD_FW_DEL\nIN.IP_OLD_FW_FLUSH\nIN.IP_OLD_FW_GET\nIN.IP_OLD_FW_RESETLOG\nIN.IP_OLD_FW_ZERO\nIN.IP_OPTIONS\nIN.IP_PORTRANGE\nIN.IP_PORTRANGE_DEFAULT\nIN.IP_PORTRANGE_HIGH\nIN.IP_PORTRANGE_LOW\nIN.IP_RECVDSTADDR\nIN.IP_RECVIF\nIN.IP_RECVOPTS\nIN.IP_RECVRETOPTS\nIN.IP_RECVTTL\nIN.IP_RETOPTS\nIN.IP_RSVP_OFF\nIN.IP_RSVP_ON\nIN.IP_RSVP_VIF_OFF\nIN.IP_RSVP_VIF_ON\nIN.IP_STRIPHDR\nIN.IP_TOS\nIN.IP_TRAFFIC_MGT_BACKGROUND\nIN.IP_TTL\nIN.MSG_CTRUNC\nIN.MSG_DONTROUTE\nIN.MSG_DONTWAIT\nIN.MSG_EOF\nIN.MSG_EOR\nIN.MSG_FLUSH\nIN.MSG_HAVEMORE\nIN.MSG_HOLD\nIN.MSG_NEEDSA\nIN.MSG_OOB\nIN.MSG_PEEK\nIN.MSG_RCVMORE\nIN.MSG_SEND\nIN.MSG_TRUNC\nIN.MSG_WAITALL\nIN.MSG_WAITSTREAM\nIN.NET_MAXID\nIN.NET_RT_DUMP\nIN.NET_RT_DUMP2\nIN.NET_RT_FLAGS\nIN.NET_RT_IFLIST\nIN.NET_RT_IFLIST2\nIN.NET_RT_MAXID\nIN.NET_RT_STAT\nIN.NET_RT_TRASH\nIN.NTOHL(??)\nIN.NTOHS(??)\nIN.PF_APPLETALK\nIN.PF_ATM\nIN.PF_CCITT\nIN.PF_CHAOS\nIN.PF_CNT\nIN.PF_COIP\nIN.PF_DATAKIT\nIN.PF_DECnet\nIN.PF_DLI\nIN.PF_ECMA\nIN.PF_HYLINK\nIN.PF_IMPLINK\nIN.PF_INET\nIN.PF_INET6\nIN.PF_IPX\nIN.PF_ISDN\nIN.PF_ISO\nIN.PF_KEY\nIN.PF_LAT\nIN.PF_LINK\nIN.PF_LOCAL\nIN.PF_MAX\nIN.PF_NATM\nIN.PF_NDRV\nIN.PF_NETBIOS\nIN.PF_NETGRAPH\nIN.PF_NS\nIN.PF_OSI\nIN.PF_PIP\nIN.PF_PPP\nIN.PF_PUP\nIN.PF_RESERVED_36\nIN.PF_ROUTE\nIN.PF_RTIP\nIN.PF_SIP\nIN.PF_SNA\nIN.PF_SYSTEM\nIN.PF_UNIX\nIN.PF_UNSPEC\nIN.PF_XTP\nIN.PTRDIFF_MAX\nIN.PTRDIFF_MIN\nIN.SCM_CREDS\nIN.SCM_RIGHTS\nIN.SCM_TIMESTAMP\nIN.SHUT_RD\nIN.SHUT_RDWR\nIN.SHUT_WR\nIN.SIG_ATOMIC_MAX\nIN.SIG_ATOMIC_MIN\nIN.SOCK_DGRAM\nIN.SOCK_MAXADDRLEN\nIN.SOCK_RAW\nIN.SOCK_RDM\nIN.SOCK_SEQPACKET\nIN.SOCK_STREAM\nIN.SOL_SOCKET\nIN.SOMAXCONN\nIN.SO_ACCEPTCONN\nIN.SO_ACCEPTFILTER\nIN.SO_BROADCAST\nIN.SO_DEBUG\nIN.SO_DONTROUTE\nIN.SO_DONTTRUNC\nIN.SO_ERROR\nIN.SO_KEEPALIVE\nIN.SO_LABEL\nIN.SO_LINGER\nIN.SO_LINGER_SEC\nIN.SO_NKE\nIN.SO_NOADDRERR\nIN.SO_NOSIGPIPE\nIN.SO_NOTIFYCONFLICT\nIN.SO_NREAD\nIN.SO_NWRITE\nIN.SO_OOBINLINE\nIN.SO_PEERLABEL\nIN.SO_RCVBUF\nIN.SO_RCVLOWAT\nIN.SO_RCVTIMEO\nIN.SO_RESTRICTIONS\nIN.SO_RESTRICT_DENYIN\nIN.SO_RESTRICT_DENYOUT\nIN.SO_RESTRICT_DENYSET\nIN.SO_REUSEADDR\nIN.SO_REUSEPORT\nIN.SO_REUSESHAREUID\nIN.SO_SNDBUF\nIN.SO_SNDLOWAT\nIN.SO_SNDTIMEO\nIN.SO_TIMESTAMP\nIN.SO_TYPE\nIN.SO_USELOOPBACK\nIN.SO_WANTMORE\nIN.SO_WANTOOBFLAG\nIN.TRAFFIC_MGT_SO_BACKGROUND\nIN.TRAFFIC_MGT_SO_BG_SUPPRESSED\nIN.UINT16_MAX\nIN.UINT8_MAX\nIN.UINT_FAST16_MAX\nIN.UINT_FAST8_MAX\nIN.UINT_LEAST16_MAX\nIN.UINT_LEAST8_MAX\nIN.WCHAR_MAX\nIN.WCHAR_MIN\nIN.WINT_MAX\nIN.WINT_MIN\nIN.htonl(??)\nIN.htons(??)\nIN.ntohl(??)\nIN.ntohs(??)\nIN.pseudo_AF_HDRCMPLT\nIN.pseudo_AF_KEY\nIN.pseudo_AF_PIP\nIN.pseudo_AF_RTIP\nIN.pseudo_AF_XTP\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\naifc.warnings(??)\nall(iterable) -> bool\nany(iterable) -> bool\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\narray.ArrayType(??)\narray.array(typecode [, initializer]) -> array\narray.typecodes\nascii(object) -> string\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.Assert(??)\nast.Assign(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.Try(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.YieldFrom(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nast.withitem(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque(iterable[, maxlen]) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasynchat.socket(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.fcntl(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\naudioop.add(??)\naudioop.adpcm2lin(??)\naudioop.alaw2lin(??)\naudioop.avg(??)\naudioop.avgpp(??)\naudioop.bias(??)\naudioop.cross(??)\naudioop.error(??)\naudioop.findfactor(??)\naudioop.findfit(??)\naudioop.findmax(??)\naudioop.getsample(??)\naudioop.lin2adpcm(??)\naudioop.lin2alaw(??)\naudioop.lin2lin(??)\naudioop.lin2ulaw(??)\naudioop.max(??)\naudioop.maxpp(??)\naudioop.minmax(??)\naudioop.mul(??)\naudioop.ratecv(??)\naudioop.reverse(??)\naudioop.rms(??)\naudioop.tomono(??)\naudioop.tostereo(??)\naudioop.ulaw2lin(??)\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(number) -> string\nbinascii.Error(??)\nbinascii.Incomplete(??)\nbinascii.a2b_base64(??)\nbinascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation.\nbinascii.a2b_hqx(??)\nbinascii.a2b_qp(??)\nbinascii.a2b_uu(??)\nbinascii.b2a_base64(??)\nbinascii.b2a_hex(data) -> s; Hexadecimal representation of binary data.\nbinascii.b2a_hqx(??)\nbinascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nbinascii.b2a_uu(??)\nbinascii.crc32(??)\nbinascii.crc_hqx(??)\nbinascii.hexlify(??)\nbinascii.rlecode_hqx(??)\nbinascii.rledecode_hqx(??)\nbinascii.unhexlify(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(number) -> number\nbuiltins.all(iterable) -> bool\nbuiltins.any(iterable) -> bool\nbuiltins.ascii(object) -> string\nbuiltins.bin(number) -> string\nbuiltins.bool(x) -> bool\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(object) -> bool\nbuiltins.chr(i) -> Unicode character\nbuiltins.classmethod(function) -> method\nbuiltins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object\nbuiltins.complex(real[, imag]) -> complex number\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(object, name)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(x, y) -> (div, mod)\nbuiltins.enumerate(iterable[, start]) -> iterator for index, value of iterable\nbuiltins.eval(source[, globals[, locals]]) -> value\nbuiltins.exec(object[, globals[, locals]])\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(x) -> floating point number\nbuiltins.format(value[, format_spec]) -> string\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals() -> dictionary\nbuiltins.hasattr(object, name) -> bool\nbuiltins.hash(object) -> integer\nbuiltins.help(??)\nbuiltins.hex(number) -> string\nbuiltins.id(object) -> integer\nbuiltins.input([prompt]) -> string\nbuiltins.int(x[, base]) -> integer\nbuiltins.isinstance(object, class-or-type-or-tuple) -> bool\nbuiltins.issubclass(C, B) -> bool\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(object) -> integer\nbuiltins.license(??)\nbuiltins.list() -> new empty list\nbuiltins.locals() -> dictionary\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable[, key=func]) -> value\nbuiltins.memoryview(object)\nbuiltins.min(iterable[, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(number) -> string\nbuiltins.open(??)\nbuiltins.ord(c) -> integer\nbuiltins.pow(x, y[, z]) -> number\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute\nbuiltins.quit(??)\nbuiltins.range([start,] stop[, step]) -> range object\nbuiltins.repr(object) -> string\nbuiltins.reversed(sequence) -> reverse iterator over values of the sequence\nbuiltins.round(number[, ndigits]) -> number\nbuiltins.set() -> new empty set object\nbuiltins.setattr(object, name, value)\nbuiltins.slice([start,] stop[, step])\nbuiltins.sorted(iterable, key=None, reverse=False) --> new sorted list\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object[, encoding[, errors]]) -> str\nbuiltins.sum(iterable[, start]) -> value\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple() -> empty tuple\nbuiltins.type(object) -> the object's type\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(compresslevel=9)\nbz2.BZ2Decompressor()\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.builtins(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.warnings(??)\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(object) -> bool\ncgi.BytesIO([buffer]) -> object\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.escape(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(i) -> Unicode character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.isfinite(z) -> bool\ncmath.isinf(z) -> bool\ncmath.isnan(z) -> bool\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.phase(z) -> float\ncmath.pi\ncmath.polar(z) -> r: float, phi: float\ncmath.rect(r, phi) -> z: complex\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(encoding) -> CodecInfo\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.ChainMap(??)\ncollections.Container(??)\ncollections.Counter(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.abc(??)\ncollections.abc.ABCMeta(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Container(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.abc.abstractmethod(??)\ncollections.abc.bytearray_iterator(??)\ncollections.abc.bytes_iterator(??)\ncollections.abc.dict_itemiterator(??)\ncollections.abc.dict_items(??)\ncollections.abc.dict_keyiterator(??)\ncollections.abc.dict_keys(??)\ncollections.abc.dict_valueiterator(??)\ncollections.abc.dict_values(??)\ncollections.abc.list_iterator(??)\ncollections.abc.list_reverseiterator(??)\ncollections.abc.mappingproxy(??)\ncollections.abc.range_iterator(??)\ncollections.abc.set_iterator(??)\ncollections.abc.str_iterator(??)\ncollections.abc.sys(??)\ncollections.abc.tuple_iterator(??)\ncollections.abc.zip_iterator(??)\ncollections.collections(??)\ncollections.defaultdict(default_factory) --> dict with default factory\ncollections.deque(iterable[, maxlen]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.errno(??)\ncompileall.imp(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(real[, imag]) -> complex number\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.Full(??)\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.SimpleQueue(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.wait(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque(iterable[, maxlen]) --> deque object\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncopy.Error(??)\ncopy.PyStringMap(??)\ncopy.builtins(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopy.name\ncopy.t(??)\ncopy.weakref(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util.contextlib(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.newpad(??)\ncurses.newwin(??)\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.wrapper(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(path[, flag[, mode]]) -> mapping\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndifflib.warnings(??)\ndir([object]) -> list of strings\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.cmp_op(??)\ndis.code_info(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.sys(??)\ndis.types(??)\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread(??)\ndummy_threading.ThreadError(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.compat32(??)\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.message(??)\nemail.feedparser.re(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO([buffer]) -> object\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.compat32(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.generator.warnings(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO([buffer]) -> object\nemail.message.Charset(??)\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.base64(??)\nemail.message.binascii(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO([buffer]) -> object\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.parser.warnings(??)\nemail.policy.Compat32(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.strict(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.io(??)\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.StringIO(??)\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64(??)\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nemail.utils.warnings(??)\nenumerate(iterable[, start]) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(source[, globals[, locals]]) -> value\nexec(object[, globals[, locals]])\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfcntl.FASYNC\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_FULLFSYNC\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLK\nfcntl.F_GETOWN\nfcntl.F_NOCACHE\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLK\nfcntl.F_SETLKW\nfcntl.F_SETOWN\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.LOCK_EX\nfcntl.LOCK_NB\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.fcntl(fd, opt, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, opt[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfilecmp.BUFSIZE\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(files=None, inplace=False, backup=\"\", bufsize=0, mode=\"r\", openhook=None)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(value[, format_spec]) -> string\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.os(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.Lock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.cmp_to_key(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage(??)\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.io(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.struct(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglobals() -> dictionary\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.open(??)\ngzip.os(??)\ngzip.read32(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha512(??)\nheapq.bisect(??)\nheapq.chain(*iterables) --> chain object\nheapq.count(start=0, step=1) --> count object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(??)\nheapq.heappushpop(??)\nheapq.heapreplace(??)\nheapq.islice(iterable, [start,] stop [, step]) --> islice object\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.repeat(object [,times]) -> create an iterator which returns the object\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp(??)\nhex(number) -> string\nhmac.HMAC(??)\nhmac.compare_digest(a, b) -> bool\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParseError(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.warnings(??)\nhttp.client.ACCEPTED\nhttp.client.BAD_GATEWAY\nhttp.client.BAD_REQUEST\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT\nhttp.client.CONTINUE\nhttp.client.CREATED\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED\nhttp.client.FAILED_DEPENDENCY\nhttp.client.FORBIDDEN\nhttp.client.FOUND\nhttp.client.GATEWAY_TIMEOUT\nhttp.client.GONE\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED\nhttp.client.IM_USED\nhttp.client.INSUFFICIENT_STORAGE\nhttp.client.INTERNAL_SERVER_ERROR\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED\nhttp.client.LOCKED\nhttp.client.LineTooLong(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED\nhttp.client.MOVED_PERMANENTLY\nhttp.client.MULTIPLE_CHOICES\nhttp.client.MULTI_STATUS\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED\nhttp.client.NON_AUTHORITATIVE_INFORMATION\nhttp.client.NOT_ACCEPTABLE\nhttp.client.NOT_EXTENDED\nhttp.client.NOT_FOUND\nhttp.client.NOT_IMPLEMENTED\nhttp.client.NOT_MODIFIED\nhttp.client.NO_CONTENT\nhttp.client.NotConnected(??)\nhttp.client.OK\nhttp.client.PARTIAL_CONTENT\nhttp.client.PAYMENT_REQUIRED\nhttp.client.PRECONDITION_FAILED\nhttp.client.PRECONDITION_REQUIRED\nhttp.client.PROCESSING\nhttp.client.PROXY_AUTHENTICATION_REQUIRED\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE\nhttp.client.REQUEST_ENTITY_TOO_LARGE\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE\nhttp.client.REQUEST_TIMEOUT\nhttp.client.REQUEST_URI_TOO_LONG\nhttp.client.RESET_CONTENT\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER\nhttp.client.SERVICE_UNAVAILABLE\nhttp.client.SWITCHING_PROTOCOLS\nhttp.client.TEMPORARY_REDIRECT\nhttp.client.TOO_MANY_REQUESTS\nhttp.client.UNAUTHORIZED\nhttp.client.UNPROCESSABLE_ENTITY\nhttp.client.UNSUPPORTED_MEDIA_TYPE\nhttp.client.UPGRADE_REQUIRED\nhttp.client.USE_PROXY\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.io(??)\nhttp.client.os(??)\nhttp.client.parse_headers(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.client.warnings(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.argparse(??)\nhttp.server.copy(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(object) -> integer\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.acquire_lock() -> None\nimp.cache_from_source(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held() -> boolean\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock() -> None\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.warnings(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.PyLoader(??)\nimportlib.abc.PyPycLoader(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.imp(??)\nimportlib.abc.machinery(??)\nimportlib.abc.marshal(??)\nimportlib.abc.sys(??)\nimportlib.abc.tokenize(??)\nimportlib.abc.warnings(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.sys(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\ninput([prompt]) -> string\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CO_GENERATOR\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.currentframe(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.imp(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint(x[, base]) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO([buffer]) -> object\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(iterable) -> iterator\nitertools.accumulate(iterable[, func]) --> accumulate object\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.islice(iterable, [start,] stop [, step]) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.binascii(??)\njson.decoder.c_scanstring(??)\njson.decoder.errmsg(??)\njson.decoder.linecol(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.decoder.struct(??)\njson.decoder.sys(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.FLOAT_REPR(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(??)\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(object) -> integer\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist() -> new empty list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.collections(??)\nlocale.currency(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.windows_locale(??)\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.socket(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.thread(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BOM_UTF8\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.errno(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(format=FORMAT_AUTO, memlimit=None, filters=None)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(check_id) -> bool\nlzma.open(??)\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(??)\nmacpath.S_ISCHR(??)\nmacpath.S_ISDIR(??)\nmacpath.S_ISFIFO(??)\nmacpath.S_ISGID\nmacpath.S_ISLNK(??)\nmacpath.S_ISREG(??)\nmacpath.S_ISSOCK(??)\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_COMPRESSED\nmacpath.UF_HIDDEN\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.filemode(??)\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacurl2path.os(??)\nmacurl2path.pathname2url(??)\nmacurl2path.test(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.sys(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(func, *iterables) --> map object\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(bytes)\nmarshal.version\nmath.acos(x)\nmath.acosh(x)\nmath.asin(x)\nmath.asinh(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.atanh(x)\nmath.ceil(x)\nmath.copysign(x, y)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x)\nmath.e\nmath.erf(x)\nmath.erfc(x)\nmath.exp(x)\nmath.expm1(x)\nmath.fabs(x)\nmath.factorial(x) -> Integral\nmath.floor(x)\nmath.fmod(x, y)\nmath.frexp(x)\nmath.fsum(iterable)\nmath.gamma(x)\nmath.hypot(x, y)\nmath.isfinite(x) -> bool\nmath.isinf(x) -> bool\nmath.isnan(x) -> bool\nmath.ldexp(x, i)\nmath.lgamma(x)\nmath.log(x[, base])\nmath.log10(x)\nmath.log1p(x)\nmath.log2(x)\nmath.modf(x)\nmath.pi\nmath.pow(x, y)\nmath.radians(x)\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmath.trunc(x:Real) -> Integral\nmax(iterable[, key=func]) -> value\nmemoryview(object)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable[, key=func]) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.ALLOCATIONGRANULARITY\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error(??)\nmmap.mmap(??)\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.imp(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.struct(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Finalize(??)\nmultiprocessing.connection.ForkingPickler(??)\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.current_process(??)\nmultiprocessing.connection.debug(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.errno(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.get_temp_dir(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.pickle(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.select(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sub_debug(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list() -> new empty list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forking(??)\nmultiprocessing.forking.ForkingPickler(??)\nmultiprocessing.forking.Pickler(file, protocol=None)\nmultiprocessing.forking.Popen(??)\nmultiprocessing.forking.assert_spawning(??)\nmultiprocessing.forking.close(fd)\nmultiprocessing.forking.dispatch_table(??)\nmultiprocessing.forking.duplicate(??)\nmultiprocessing.forking.old_main_modules(??)\nmultiprocessing.forking.os(??)\nmultiprocessing.forking.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.forking.prepare(??)\nmultiprocessing.forking.process(??)\nmultiprocessing.forking.signal(??)\nmultiprocessing.forking.sys(??)\nmultiprocessing.forking.util(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Finalize(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.info(??)\nmultiprocessing.heap.itertools(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AuthenticationString(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.ForkingPickler(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.Pool(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.Popen(??)\nmultiprocessing.managers.Process(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.active_children(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.copyreg(??)\nmultiprocessing.managers.current_process(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.os(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.Finalize(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.Process(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.cpu_count(??)\nmultiprocessing.pool.debug(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.Process(??)\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum\nmultiprocessing.process.sys(??)\nmultiprocessing.queues(??)\nmultiprocessing.queues.BoundedSemaphore(??)\nmultiprocessing.queues.Condition(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Lock(??)\nmultiprocessing.queues.Pipe(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.Semaphore(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.assert_spawning(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ResourceSharer(??)\nmultiprocessing.reduction.current_process(??)\nmultiprocessing.reduction.debug(??)\nmultiprocessing.reduction.is_exiting(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.rebuild_connection(??)\nmultiprocessing.reduction.rebuild_socket(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.reduce_connection(??)\nmultiprocessing.reduction.reduce_socket(??)\nmultiprocessing.reduction.register_after_fork(??)\nmultiprocessing.reduction.resource_sharer(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.signal(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.struct(??)\nmultiprocessing.reduction.sub_debug(??)\nmultiprocessing.reduction.sub_warning(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.reduction.threading(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RLock(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.synchronize(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.Popen(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.assert_spawning(??)\nmultiprocessing.synchronize.current_process(??)\nmultiprocessing.synchronize.debug(??)\nmultiprocessing.synchronize.register_after_fork(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.active_children(??)\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.current_process(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.functools(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.sys(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.io(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnext(iterator[, default])\nnis.cat(map, domain = defaultdomain)\nnis.error(??)\nnis.get_default_domain() -> str\nnis.maps(domain = defaultdomain)\nnis.match(key, map, domain = defaultdomain)\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(number) -> string\nopen(??)\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(a, b) -- Same as a<=b.\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.rshift(a, b) -- Same as a >> b.\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(c) -> integer\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_TRAPPED\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITED\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)\nos.altsep(??)\nos.chdir(path)\nos.chflags(path, flags, *, follow_symlinks=True)\nos.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)\nos.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)\nos.chroot(path)\nos.close(fd)\nos.closerange(fd_low, fd_high)\nos.confstr(name) -> string\nos.confstr_names(??)\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.device_encoding(fd) -> str\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ(??)\nos.environb(??)\nos.errno(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fd)\nos.fchmod(fd, mode)\nos.fchown(fd, uid, gid)\nos.fdopen(??)\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fsdecode(??)\nos.fsencode(??)\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.get_exec_path(??)\nos.get_terminal_size(??)\nos.getcwd() -> path\nos.getcwdb() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.getenvb(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgrouplist(user, group) -> list of groups to which a user belongs\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getpriority(which, who) -> current_priority\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.initgroups(username, gid) -> None\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchflags(path, flags)\nos.lchmod(path, mode)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)\nos.listdir(path='.') -> list_of_filenames\nos.lockf(fd, cmd, len)\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path, *, dir_fd=None) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0o777][, exist_ok=False])\nos.minor(device) -> minor number\nos.mkdir(path, mode=0o777, *, dir_fd=None)\nos.mkfifo(path, mode=0o666, *, dir_fd=None)\nos.mknod(filename, mode=0o600, device=0, *, dir_fd=None)\nos.name\nos.nice(inc) -> new_priority\nos.open(path, flags, mode=0o777, *, dir_fd=None)\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path(??)\nos.pathconf(path, name) -> integer\nos.pathconf_names(??)\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(??)\nos.pread(fd, buffersize, offset) -> string\nos.putenv(key, value)\nos.pwrite(fd, string, offset) -> byteswritten\nos.read(fd, buffersize) -> string\nos.readlink(path, *, dir_fd=None) -> path\nos.readv(fd, buffers) -> bytesread\nos.remove(path, *, dir_fd=None)\nos.removedirs(path)\nos.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nos.renames(old, new)\nos.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nos.rmdir(path, *, dir_fd=None)\nos.sched_get_priority_max(policy)\nos.sched_get_priority_min(policy)\nos.sched_yield()\nos.sendfile(out, in, offset, nbytes) -> byteswritten\nos.sep\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setpriority(which, who, prio) -> None\nos.setregid(rgid, egid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(path, *, dir_fd=None, follow_symlinks=True) -> stat result\nos.stat_float_times([newval]) -> oldval\nos.stat_result(??)\nos.statvfs(path)\nos.statvfs_result(??)\nos.strerror(code) -> string\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(src, dst, target_is_directory=False, *, dir_fd=None)\nos.sync()\nos.sys(??)\nos.sysconf(name) -> integer\nos.sysconf_names(??)\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.terminal_size(??)\nos.times() -> times_result\nos.times_result(??)\nos.truncate(path, length)\nos.ttyname(fd) -> string\nos.umask(new_mask) -> old_mask\nos.uname() -> uname_result\nos.uname_result(??)\nos.unlink(path, *, dir_fd=None)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, string) -> byteswritten\nos.writev(fd, buffers) -> byteswritten\npackaging.command.PackagingModuleError(??)\npackaging.command.STANDARD_COMMANDS(??)\npackaging.command.bdist.Command(??)\npackaging.command.bdist.PackagingOptionError(??)\npackaging.command.bdist.PackagingPlatformError(??)\npackaging.command.bdist.bdist(??)\npackaging.command.bdist.os(??)\npackaging.command.bdist.show_formats(??)\npackaging.command.bdist.util(??)\npackaging.command.bdist_dumb.Command(??)\npackaging.command.bdist_dumb.PackagingPlatformError(??)\npackaging.command.bdist_dumb.bdist_dumb(??)\npackaging.command.bdist_dumb.get_platform(??)\npackaging.command.bdist_dumb.get_python_version(??)\npackaging.command.bdist_dumb.logger(??)\npackaging.command.bdist_dumb.os(??)\npackaging.command.bdist_dumb.rmtree(??)\npackaging.command.bdist_wininst.Command(??)\npackaging.command.bdist_wininst.PackagingOptionError(??)\npackaging.command.bdist_wininst.PackagingPlatformError(??)\npackaging.command.bdist_wininst.bdist_wininst(??)\npackaging.command.bdist_wininst.get_platform(??)\npackaging.command.bdist_wininst.get_python_version(??)\npackaging.command.bdist_wininst.logger(??)\npackaging.command.bdist_wininst.os(??)\npackaging.command.bdist_wininst.rmtree(??)\npackaging.command.bdist_wininst.sys(??)\npackaging.command.build.Command(??)\npackaging.command.build.PackagingOptionError(??)\npackaging.command.build.build(??)\npackaging.command.build.get_platform(??)\npackaging.command.build.os(??)\npackaging.command.build.show_compilers(??)\npackaging.command.build.sys(??)\npackaging.command.build_clib.Command(??)\npackaging.command.build_clib.PackagingSetupError(??)\npackaging.command.build_clib.build_clib(??)\npackaging.command.build_clib.customize_compiler(??)\npackaging.command.build_clib.logger(??)\npackaging.command.build_clib.new_compiler(??)\npackaging.command.build_clib.os(??)\npackaging.command.build_clib.show_compilers(??)\npackaging.command.build_ext.CCompilerError(??)\npackaging.command.build_ext.Command(??)\npackaging.command.build_ext.CompileError(??)\npackaging.command.build_ext.Extension(??)\npackaging.command.build_ext.PackagingError(??)\npackaging.command.build_ext.PackagingPlatformError(??)\npackaging.command.build_ext.PackagingSetupError(??)\npackaging.command.build_ext.build_ext(??)\npackaging.command.build_ext.customize_compiler(??)\npackaging.command.build_ext.extension_name_re(??)\npackaging.command.build_ext.get_platform(??)\npackaging.command.build_ext.logger(??)\npackaging.command.build_ext.newer_group(??)\npackaging.command.build_ext.os(??)\npackaging.command.build_ext.re(??)\npackaging.command.build_ext.show_compilers(??)\npackaging.command.build_ext.site(??)\npackaging.command.build_ext.sys(??)\npackaging.command.build_ext.sysconfig(??)\npackaging.command.build_py.Command(??)\npackaging.command.build_py.Mixin2to3(??)\npackaging.command.build_py.PackagingFileError(??)\npackaging.command.build_py.PackagingOptionError(??)\npackaging.command.build_py.build_py(??)\npackaging.command.build_py.convert_path(??)\npackaging.command.build_py.glob(??)\npackaging.command.build_py.imp(??)\npackaging.command.build_py.logger(??)\npackaging.command.build_py.os(??)\npackaging.command.build_scripts.Command(??)\npackaging.command.build_scripts.Mixin2to3(??)\npackaging.command.build_scripts.build_scripts(??)\npackaging.command.build_scripts.convert_path(??)\npackaging.command.build_scripts.detect_encoding(??)\npackaging.command.build_scripts.first_line_re(??)\npackaging.command.build_scripts.logger(??)\npackaging.command.build_scripts.newer(??)\npackaging.command.build_scripts.os(??)\npackaging.command.build_scripts.re(??)\npackaging.command.build_scripts.sysconfig(??)\npackaging.command.check.Command(??)\npackaging.command.check.PackagingSetupError(??)\npackaging.command.check.check(??)\npackaging.command.check.logger(??)\npackaging.command.check.resolve_name(??)\npackaging.command.clean.Command(??)\npackaging.command.clean.clean(??)\npackaging.command.clean.logger(??)\npackaging.command.clean.os(??)\npackaging.command.clean.rmtree(??)\npackaging.command.cmd.Command(??)\npackaging.command.cmd.PackagingOptionError(??)\npackaging.command.cmd.copyfile(??)\npackaging.command.cmd.logger(??)\npackaging.command.cmd.make_archive(??)\npackaging.command.cmd.move(??)\npackaging.command.cmd.os(??)\npackaging.command.cmd.re(??)\npackaging.command.cmd.util(??)\npackaging.command.config.Command(??)\npackaging.command.config.LANG_EXT(??)\npackaging.command.config.PackagingExecError(??)\npackaging.command.config.config(??)\npackaging.command.config.customize_compiler(??)\npackaging.command.config.dump_file(??)\npackaging.command.config.logger(??)\npackaging.command.config.os(??)\npackaging.command.config.re(??)\npackaging.command.get_command_class(??)\npackaging.command.get_command_names(??)\npackaging.command.install_dist.Command(??)\npackaging.command.install_dist.PackagingOptionError(??)\npackaging.command.install_dist.PackagingPlatformError(??)\npackaging.command.install_dist.change_root(??)\npackaging.command.install_dist.convert_path(??)\npackaging.command.install_dist.get_config_var(??)\npackaging.command.install_dist.get_config_vars(??)\npackaging.command.install_dist.get_path(??)\npackaging.command.install_dist.get_paths(??)\npackaging.command.install_dist.get_platform(??)\npackaging.command.install_dist.install_dist(??)\npackaging.command.install_dist.logger(??)\npackaging.command.install_dist.os(??)\npackaging.command.install_dist.sys(??)\npackaging.command.install_dist.sysconfig(??)\npackaging.command.install_dist.write_file(??)\npackaging.command.install_distinfo.Command(??)\npackaging.command.install_distinfo.csv(??)\npackaging.command.install_distinfo.hashlib(??)\npackaging.command.install_distinfo.install_distinfo(??)\npackaging.command.install_distinfo.logger(??)\npackaging.command.install_distinfo.os(??)\npackaging.command.install_distinfo.rmtree(??)\npackaging.command.install_headers.Command(??)\npackaging.command.install_headers.install_headers(??)\npackaging.command.install_lib.Command(??)\npackaging.command.install_lib.PYTHON_SOURCE_EXTENSION\npackaging.command.install_lib.PackagingOptionError(??)\npackaging.command.install_lib.imp(??)\npackaging.command.install_lib.install_lib(??)\npackaging.command.install_lib.logger(??)\npackaging.command.install_lib.os(??)\npackaging.command.install_scripts.Command(??)\npackaging.command.install_scripts.install_scripts(??)\npackaging.command.install_scripts.logger(??)\npackaging.command.install_scripts.os(??)\npackaging.command.os(??)\npackaging.command.register.Command(??)\npackaging.command.register.DEFAULT_REALM\npackaging.command.register.DEFAULT_REPOSITORY\npackaging.command.register.encode_multipart(??)\npackaging.command.register.generate_pypirc(??)\npackaging.command.register.get_pypirc_path(??)\npackaging.command.register.getpass(??)\npackaging.command.register.logger(??)\npackaging.command.register.read_pypirc(??)\npackaging.command.register.register(??)\npackaging.command.register.urllib(??)\npackaging.command.resolve_name(??)\npackaging.command.sdist.Command(??)\npackaging.command.sdist.Manifest(??)\npackaging.command.sdist.PackagingFileError(??)\npackaging.command.sdist.PackagingModuleError(??)\npackaging.command.sdist.PackagingOptionError(??)\npackaging.command.sdist.PackagingPlatformError(??)\npackaging.command.sdist.StringIO(??)\npackaging.command.sdist.get_archive_formats(??)\npackaging.command.sdist.get_command_names(??)\npackaging.command.sdist.logger(??)\npackaging.command.sdist.os(??)\npackaging.command.sdist.re(??)\npackaging.command.sdist.resolve_name(??)\npackaging.command.sdist.rmtree(??)\npackaging.command.sdist.sdist(??)\npackaging.command.sdist.show_formats(??)\npackaging.command.sdist.sys(??)\npackaging.command.set_command(??)\npackaging.command.test.Command(??)\npackaging.command.test.PackagingOptionError(??)\npackaging.command.test.get_distribution(??)\npackaging.command.test.logger(??)\npackaging.command.test.logging(??)\npackaging.command.test.os(??)\npackaging.command.test.resolve_name(??)\npackaging.command.test.sys(??)\npackaging.command.test.test(??)\npackaging.command.test.unittest(??)\npackaging.command.upload.Command(??)\npackaging.command.upload.DEFAULT_REALM\npackaging.command.upload.DEFAULT_REPOSITORY\npackaging.command.upload.HTTPError(??)\npackaging.command.upload.PackagingOptionError(??)\npackaging.command.upload.Request(??)\npackaging.command.upload.encode_multipart(??)\npackaging.command.upload.logger(??)\npackaging.command.upload.logging(??)\npackaging.command.upload.md5(??)\npackaging.command.upload.os(??)\npackaging.command.upload.platform(??)\npackaging.command.upload.read_pypirc(??)\npackaging.command.upload.socket(??)\npackaging.command.upload.spawn(??)\npackaging.command.upload.standard_b64encode(??)\npackaging.command.upload.upload(??)\npackaging.command.upload.urllib(??)\npackaging.command.upload.urlopen(??)\npackaging.command.upload_docs.BytesIO([buffer]) -> object\npackaging.command.upload_docs.Command(??)\npackaging.command.upload_docs.DEFAULT_REALM\npackaging.command.upload_docs.DEFAULT_REPOSITORY\npackaging.command.upload_docs.PackagingFileError(??)\npackaging.command.upload_docs.base64(??)\npackaging.command.upload_docs.encode_multipart(??)\npackaging.command.upload_docs.http(??)\npackaging.command.upload_docs.logger(??)\npackaging.command.upload_docs.logging(??)\npackaging.command.upload_docs.os(??)\npackaging.command.upload_docs.read_pypirc(??)\npackaging.command.upload_docs.socket(??)\npackaging.command.upload_docs.upload_docs(??)\npackaging.command.upload_docs.urllib(??)\npackaging.command.upload_docs.zip_dir(??)\npackaging.command.upload_docs.zipfile(??)\npackaging.compat.Mixin2to3(??)\npackaging.compat.logger(??)\npackaging.compiler.PackagingPlatformError(??)\npackaging.compiler.ccompiler.CCompiler(??)\npackaging.compiler.ccompiler.CompileError(??)\npackaging.compiler.ccompiler.LinkError(??)\npackaging.compiler.ccompiler.UnknownFileError(??)\npackaging.compiler.ccompiler.execute(??)\npackaging.compiler.ccompiler.gen_preprocess_options(??)\npackaging.compiler.ccompiler.logger(??)\npackaging.compiler.ccompiler.move(??)\npackaging.compiler.ccompiler.newer_group(??)\npackaging.compiler.ccompiler.os(??)\npackaging.compiler.ccompiler.spawn(??)\npackaging.compiler.ccompiler.split_quoted(??)\npackaging.compiler.customize_compiler(??)\npackaging.compiler.cygwinccompiler.CONFIG_H_NOTOK\npackaging.compiler.cygwinccompiler.CONFIG_H_OK\npackaging.compiler.cygwinccompiler.CONFIG_H_UNCERTAIN\npackaging.compiler.cygwinccompiler.CompileError(??)\npackaging.compiler.cygwinccompiler.CygwinCCompiler(??)\npackaging.compiler.cygwinccompiler.Mingw32CCompiler(??)\npackaging.compiler.cygwinccompiler.PackagingExecError(??)\npackaging.compiler.cygwinccompiler.UnixCCompiler(??)\npackaging.compiler.cygwinccompiler.UnknownFileError(??)\npackaging.compiler.cygwinccompiler.check_config_h(??)\npackaging.compiler.cygwinccompiler.get_compiler_versions(??)\npackaging.compiler.cygwinccompiler.get_msvcr(??)\npackaging.compiler.cygwinccompiler.logger(??)\npackaging.compiler.cygwinccompiler.os(??)\npackaging.compiler.cygwinccompiler.sys(??)\npackaging.compiler.cygwinccompiler.sysconfig(??)\npackaging.compiler.cygwinccompiler.write_file(??)\npackaging.compiler.extension(??)\npackaging.compiler.extension.Extension(??)\npackaging.compiler.extension.logger(??)\npackaging.compiler.gen_lib_options(??)\npackaging.compiler.gen_preprocess_options(??)\npackaging.compiler.get_default_compiler(??)\npackaging.compiler.logger(??)\npackaging.compiler.msvccompiler.CCompiler(??)\npackaging.compiler.msvccompiler.CompileError(??)\npackaging.compiler.msvccompiler.LibError(??)\npackaging.compiler.msvccompiler.LinkError(??)\npackaging.compiler.msvccompiler.MSVCCompiler(??)\npackaging.compiler.msvccompiler.MacroExpander(??)\npackaging.compiler.msvccompiler.PackagingExecError(??)\npackaging.compiler.msvccompiler.PackagingPlatformError(??)\npackaging.compiler.msvccompiler.convert_mbcs(??)\npackaging.compiler.msvccompiler.gen_lib_options(??)\npackaging.compiler.msvccompiler.get_build_architecture(??)\npackaging.compiler.msvccompiler.get_build_version(??)\npackaging.compiler.msvccompiler.logger(??)\npackaging.compiler.msvccompiler.normalize_and_reduce_paths(??)\npackaging.compiler.msvccompiler.os(??)\npackaging.compiler.msvccompiler.read_keys(??)\npackaging.compiler.msvccompiler.read_values(??)\npackaging.compiler.msvccompiler.sys(??)\npackaging.compiler.new_compiler(??)\npackaging.compiler.os(??)\npackaging.compiler.re(??)\npackaging.compiler.resolve_name(??)\npackaging.compiler.set_compiler(??)\npackaging.compiler.show_compilers(??)\npackaging.compiler.sys(??)\npackaging.compiler.sysconfig(??)\npackaging.compiler.unixccompiler.CCompiler(??)\npackaging.compiler.unixccompiler.CompileError(??)\npackaging.compiler.unixccompiler.LibError(??)\npackaging.compiler.unixccompiler.LinkError(??)\npackaging.compiler.unixccompiler.PackagingExecError(??)\npackaging.compiler.unixccompiler.UnixCCompiler(??)\npackaging.compiler.unixccompiler.gen_lib_options(??)\npackaging.compiler.unixccompiler.gen_preprocess_options(??)\npackaging.compiler.unixccompiler.logger(??)\npackaging.compiler.unixccompiler.newer(??)\npackaging.compiler.unixccompiler.os(??)\npackaging.compiler.unixccompiler.sys(??)\npackaging.compiler.unixccompiler.sysconfig(??)\npackaging.config.Config(??)\npackaging.config.Extension(??)\npackaging.config.PackagingOptionError(??)\npackaging.config.RawConfigParser(??)\npackaging.config.check_environ(??)\npackaging.config.get_resources_dests(??)\npackaging.config.iglob(??)\npackaging.config.interpret(??)\npackaging.config.logger(??)\npackaging.config.logging(??)\npackaging.config.os(??)\npackaging.config.resolve_name(??)\npackaging.config.set_command(??)\npackaging.config.set_compiler(??)\npackaging.config.split(??)\npackaging.config.split_multiline(??)\npackaging.config.strtobool(??)\npackaging.config.sys(??)\npackaging.create.CLASSIFIERS(??)\npackaging.create.LICENCES(??)\npackaging.create.MainProgram(??)\npackaging.create.PROJECT_MATURITY(??)\npackaging.create.RawConfigParser(??)\npackaging.create.ask(??)\npackaging.create.ask_yn(??)\npackaging.create.convert_yn_to_bool(??)\npackaging.create.dedent(??)\npackaging.create.detect_encoding(??)\npackaging.create.glob(??)\npackaging.create.imp(??)\npackaging.create.is_valid_version(??)\npackaging.create.load_setup(??)\npackaging.create.logger(??)\npackaging.create.main(??)\npackaging.create.md5(??)\npackaging.create.os(??)\npackaging.create.re(??)\npackaging.create.shutil(??)\npackaging.create.sys(??)\npackaging.create.sysconfig(??)\npackaging.database.DIST_FILES(??)\npackaging.database.Distribution(??)\npackaging.database.EggInfoDistribution(??)\npackaging.database.Metadata(??)\npackaging.database.PackagingError(??)\npackaging.database.StringIO(??)\npackaging.database.VersionPredicate(??)\npackaging.database.clear_cache(??)\npackaging.database.csv(??)\npackaging.database.disable_cache(??)\npackaging.database.distinfo_dirname(??)\npackaging.database.enable_cache(??)\npackaging.database.get_distribution(??)\npackaging.database.get_distributions(??)\npackaging.database.get_file(??)\npackaging.database.get_file_path(??)\npackaging.database.get_file_users(??)\npackaging.database.logger(??)\npackaging.database.md5(??)\npackaging.database.obsoletes_distribution(??)\npackaging.database.os(??)\npackaging.database.provides_distribution(??)\npackaging.database.re(??)\npackaging.database.suggest_normalized_version(??)\npackaging.database.sys(??)\npackaging.database.zipimport(??)\npackaging.depgraph.DependencyGraph(??)\npackaging.depgraph.IrrationalVersionError(??)\npackaging.depgraph.PackagingError(??)\npackaging.depgraph.StringIO(??)\npackaging.depgraph.VersionPredicate(??)\npackaging.depgraph.dependent_dists(??)\npackaging.depgraph.generate_graph(??)\npackaging.depgraph.graph_to_dot(??)\npackaging.depgraph.main(??)\npackaging.depgraph.sys(??)\npackaging.dist.Command(??)\npackaging.dist.Config(??)\npackaging.dist.Distribution(??)\npackaging.dist.FancyGetopt(??)\npackaging.dist.Metadata(??)\npackaging.dist.PackagingArgError(??)\npackaging.dist.PackagingClassError(??)\npackaging.dist.PackagingModuleError(??)\npackaging.dist.PackagingOptionError(??)\npackaging.dist.STANDARD_COMMANDS(??)\npackaging.dist.USAGE\npackaging.dist.command_re(??)\npackaging.dist.gen_usage(??)\npackaging.dist.get_command_class(??)\npackaging.dist.logger(??)\npackaging.dist.os(??)\npackaging.dist.re(??)\npackaging.dist.resolve_name(??)\npackaging.dist.strtobool(??)\npackaging.errors.CCompilerError(??)\npackaging.errors.CompileError(??)\npackaging.errors.HugeMajorVersionNumError(??)\npackaging.errors.InstallationConflict(??)\npackaging.errors.InstallationException(??)\npackaging.errors.IrrationalVersionError(??)\npackaging.errors.LibError(??)\npackaging.errors.LinkError(??)\npackaging.errors.MetadataConflictError(??)\npackaging.errors.MetadataMissingError(??)\npackaging.errors.MetadataUnrecognizedVersionError(??)\npackaging.errors.PackagingArgError(??)\npackaging.errors.PackagingClassError(??)\npackaging.errors.PackagingError(??)\npackaging.errors.PackagingExecError(??)\npackaging.errors.PackagingFileError(??)\npackaging.errors.PackagingGetoptError(??)\npackaging.errors.PackagingInternalError(??)\npackaging.errors.PackagingModuleError(??)\npackaging.errors.PackagingOptionError(??)\npackaging.errors.PackagingPlatformError(??)\npackaging.errors.PackagingPyPIError(??)\npackaging.errors.PackagingSetupError(??)\npackaging.errors.PackagingTemplateError(??)\npackaging.errors.PreprocessError(??)\npackaging.errors.UnknownFileError(??)\npackaging.fancy_getopt.FancyGetopt(??)\npackaging.fancy_getopt.OptionDummy(??)\npackaging.fancy_getopt.PackagingArgError(??)\npackaging.fancy_getopt.PackagingGetoptError(??)\npackaging.fancy_getopt.fancy_getopt(??)\npackaging.fancy_getopt.getopt(??)\npackaging.fancy_getopt.longopt_pat\npackaging.fancy_getopt.longopt_re(??)\npackaging.fancy_getopt.neg_alias_re(??)\npackaging.fancy_getopt.re(??)\npackaging.fancy_getopt.sys(??)\npackaging.fancy_getopt.textwrap(??)\npackaging.getLogger(??)\npackaging.install.CCompilerError(??)\npackaging.install.Distribution(??)\npackaging.install.InstallationConflict(??)\npackaging.install.InstallationException(??)\npackaging.install.PackagingError(??)\npackaging.install.ProjectNotFound(??)\npackaging.install.ReleaseNotFound(??)\npackaging.install.ask(??)\npackaging.install.database(??)\npackaging.install.egginfo_to_distinfo(??)\npackaging.install.errno(??)\npackaging.install.generate_graph(??)\npackaging.install.get_config_var(??)\npackaging.install.get_distribution(??)\npackaging.install.get_distributions(??)\npackaging.install.get_infos(??)\npackaging.install.get_install_method(??)\npackaging.install.get_path(??)\npackaging.install.get_version_predicate(??)\npackaging.install.install(??)\npackaging.install.install_dists(??)\npackaging.install.install_from_infos(??)\npackaging.install.install_local_project(??)\npackaging.install.install_methods(??)\npackaging.install.is_python_build(??)\npackaging.install.logger(??)\npackaging.install.logging(??)\npackaging.install.os(??)\npackaging.install.remove(??)\npackaging.install.shutil(??)\npackaging.install.stat(??)\npackaging.install.sys(??)\npackaging.install.tempfile(??)\npackaging.install.wrapper(??)\npackaging.logger(??)\npackaging.manifest.Manifest(??)\npackaging.manifest.PackagingInternalError(??)\npackaging.manifest.PackagingTemplateError(??)\npackaging.manifest.convert_path(??)\npackaging.manifest.fnmatch(??)\npackaging.manifest.logger(??)\npackaging.manifest.os(??)\npackaging.manifest.re(??)\npackaging.manifest.write_file(??)\npackaging.markers.BytesIO([buffer]) -> object\npackaging.markers.ENCODING\npackaging.markers.ENDMARKER\npackaging.markers.NAME\npackaging.markers.OP\npackaging.markers.STRING\npackaging.markers.interpret(??)\npackaging.markers.os(??)\npackaging.markers.platform(??)\npackaging.markers.sys(??)\npackaging.markers.tokenize(??)\npackaging.metadata.Metadata(??)\npackaging.metadata.MetadataConflictError(??)\npackaging.metadata.MetadataMissingError(??)\npackaging.metadata.MetadataUnrecognizedVersionError(??)\npackaging.metadata.PKG_INFO_ENCODING\npackaging.metadata.PKG_INFO_PREFERRED_VERSION\npackaging.metadata.StringIO(??)\npackaging.metadata.interpret(??)\npackaging.metadata.is_valid_predicate(??)\npackaging.metadata.is_valid_version(??)\npackaging.metadata.is_valid_versions(??)\npackaging.metadata.logger(??)\npackaging.metadata.logging(??)\npackaging.metadata.message_from_file(??)\npackaging.metadata.re(??)\npackaging.pypi.DistInfo(??)\npackaging.pypi.ReleaseInfo(??)\npackaging.pypi.ReleasesList(??)\npackaging.pypi.base(??)\npackaging.pypi.base.BaseClient(??)\npackaging.pypi.base.ReleasesList(??)\npackaging.pypi.dist(??)\npackaging.pypi.dist.CantParseArchiveName(??)\npackaging.pypi.dist.DIST_TYPES(??)\npackaging.pypi.dist.DistInfo(??)\npackaging.pypi.dist.EXTENSIONS(??)\npackaging.pypi.dist.HashDoesNotMatch(??)\npackaging.pypi.dist.IndexReference(??)\npackaging.pypi.dist.IrrationalVersionError(??)\npackaging.pypi.dist.MD5_HASH(??)\npackaging.pypi.dist.Metadata(??)\npackaging.pypi.dist.NormalizedVersion(??)\npackaging.pypi.dist.ReleaseInfo(??)\npackaging.pypi.dist.ReleasesList(??)\npackaging.pypi.dist.UnsupportedHashName(??)\npackaging.pypi.dist.get_infos_from_url(??)\npackaging.pypi.dist.get_version_predicate(??)\npackaging.pypi.dist.hashlib(??)\npackaging.pypi.dist.re(??)\npackaging.pypi.dist.split_archive_name(??)\npackaging.pypi.dist.suggest_normalized_version(??)\npackaging.pypi.dist.tempfile(??)\npackaging.pypi.dist.unpack_archive(??)\npackaging.pypi.dist.urllib(??)\npackaging.pypi.errors(??)\npackaging.pypi.errors.CantParseArchiveName(??)\npackaging.pypi.errors.DistributionNotFound(??)\npackaging.pypi.errors.DownloadError(??)\npackaging.pypi.errors.HashDoesNotMatch(??)\npackaging.pypi.errors.InvalidSearchField(??)\npackaging.pypi.errors.PackagingPyPIError(??)\npackaging.pypi.errors.ProjectNotFound(??)\npackaging.pypi.errors.ReleaseNotFound(??)\npackaging.pypi.errors.UnableToDownload(??)\npackaging.pypi.errors.UnsupportedHashName(??)\npackaging.pypi.mirrors(??)\npackaging.pypi.mirrors.DEFAULT_MIRROR_URL\npackaging.pypi.mirrors.ascii_lowercase\npackaging.pypi.mirrors.get_mirrors(??)\npackaging.pypi.mirrors.product(??)\npackaging.pypi.mirrors.socket(??)\npackaging.pypi.mirrors.string_range(??)\npackaging.pypi.simple(??)\npackaging.pypi.simple.BaseClient(??)\npackaging.pypi.simple.CantParseArchiveName(??)\npackaging.pypi.simple.Crawler(??)\npackaging.pypi.simple.DEFAULT_HOSTS(??)\npackaging.pypi.simple.DEFAULT_SIMPLE_INDEX_URL\npackaging.pypi.simple.DownloadError(??)\npackaging.pypi.simple.EGG_FRAGMENT(??)\npackaging.pypi.simple.ENTITY_SUB(??)\npackaging.pypi.simple.EXTENSIONS(??)\npackaging.pypi.simple.HREF(??)\npackaging.pypi.simple.MD5_HASH(??)\npackaging.pypi.simple.Metadata(??)\npackaging.pypi.simple.PackagingPyPIError(??)\npackaging.pypi.simple.ProjectNotFound(??)\npackaging.pypi.simple.REL(??)\npackaging.pypi.simple.ReleaseNotFound(??)\npackaging.pypi.simple.ReleasesList(??)\npackaging.pypi.simple.SOCKET_TIMEOUT\npackaging.pypi.simple.URL_SCHEME(??)\npackaging.pypi.simple.USER_AGENT\npackaging.pypi.simple.UnableToDownload(??)\npackaging.pypi.simple.get_infos_from_url(??)\npackaging.pypi.simple.get_mirrors(??)\npackaging.pypi.simple.get_version_predicate(??)\npackaging.pypi.simple.http(??)\npackaging.pypi.simple.logger(??)\npackaging.pypi.simple.os(??)\npackaging.pypi.simple.packaging_version\npackaging.pypi.simple.re(??)\npackaging.pypi.simple.socket(??)\npackaging.pypi.simple.socket_timeout(??)\npackaging.pypi.simple.sys(??)\npackaging.pypi.simple.translate(??)\npackaging.pypi.simple.urllib(??)\npackaging.pypi.simple.with_mirror_support(??)\npackaging.pypi.simple.wraps(??)\npackaging.pypi.wrapper(??)\npackaging.pypi.wrapper.ClientWrapper(??)\npackaging.pypi.wrapper.simple(??)\npackaging.pypi.wrapper.switch_index_if_fails(??)\npackaging.pypi.wrapper.xmlrpc(??)\npackaging.pypi.xmlrpc(??)\npackaging.pypi.xmlrpc.BaseClient(??)\npackaging.pypi.xmlrpc.Client(??)\npackaging.pypi.xmlrpc.DEFAULT_XMLRPC_INDEX_URL\npackaging.pypi.xmlrpc.InvalidSearchField(??)\npackaging.pypi.xmlrpc.IrrationalVersionError(??)\npackaging.pypi.xmlrpc.ProjectNotFound(??)\npackaging.pypi.xmlrpc.ReleaseInfo(??)\npackaging.pypi.xmlrpc.ReleaseNotFound(??)\npackaging.pypi.xmlrpc.get_version_predicate(??)\npackaging.pypi.xmlrpc.logger(??)\npackaging.pypi.xmlrpc.xmlrpc(??)\npackaging.run.CCompilerError(??)\npackaging.run.Dispatcher(??)\npackaging.run.Distribution(??)\npackaging.run.FancyGetopt(??)\npackaging.run.PackagingArgError(??)\npackaging.run.PackagingClassError(??)\npackaging.run.PackagingError(??)\npackaging.run.PackagingModuleError(??)\npackaging.run.STANDARD_COMMANDS(??)\npackaging.run.action_help(??)\npackaging.run.actions(??)\npackaging.run.command_re(??)\npackaging.run.common_usage\npackaging.run.display_option_names(??)\npackaging.run.display_options(??)\npackaging.run.generate_graph(??)\npackaging.run.generate_setup_py(??)\npackaging.run.get_command_class(??)\npackaging.run.get_distribution(??)\npackaging.run.get_distributions(??)\npackaging.run.getopt(??)\npackaging.run.global_options(??)\npackaging.run.install(??)\npackaging.run.install_local_project(??)\npackaging.run.logger(??)\npackaging.run.logging(??)\npackaging.run.main(??)\npackaging.run.negative_opt(??)\npackaging.run.os(??)\npackaging.run.re(??)\npackaging.run.remove(??)\npackaging.run.sys(??)\npackaging.util.DEFAULT_PYPIRC\npackaging.util.DEFAULT_REALM\npackaging.util.DEFAULT_REPOSITORY\npackaging.util.InstallationException(??)\npackaging.util.Mixin2to3(??)\npackaging.util.PackagingExecError(??)\npackaging.util.PackagingFileError(??)\npackaging.util.PackagingInternalError(??)\npackaging.util.PackagingPlatformError(??)\npackaging.util.RICH_GLOB(??)\npackaging.util.RawConfigParser(??)\npackaging.util.SETUP_TEMPLATE\npackaging.util.ask(??)\npackaging.util.byte_compile(??)\npackaging.util.cfg_to_args(??)\npackaging.util.change_root(??)\npackaging.util.check_environ(??)\npackaging.util.codecs(??)\npackaging.util.convert_path(??)\npackaging.util.copy_tree(??)\npackaging.util.csv(??)\npackaging.util.egginfo_to_distinfo(??)\npackaging.util.encode_multipart(??)\npackaging.util.errno(??)\npackaging.util.execute(??)\npackaging.util.find_executable(??)\npackaging.util.find_packages(??)\npackaging.util.fnmatchcase(??)\npackaging.util.generate_pypirc(??)\npackaging.util.generate_setup_py(??)\npackaging.util.get_compiler_versions(??)\npackaging.util.get_install_method(??)\npackaging.util.get_platform(??)\npackaging.util.get_pypirc_path(??)\npackaging.util.getsource(??)\npackaging.util.hashlib(??)\npackaging.util.iglob(??)\npackaging.util.imp(??)\npackaging.util.is_distutils(??)\npackaging.util.is_packaging(??)\npackaging.util.is_setuptools(??)\npackaging.util.logger(??)\npackaging.util.newer(??)\npackaging.util.newer_group(??)\npackaging.util.os(??)\npackaging.util.posixpath(??)\npackaging.util.re(??)\npackaging.util.read_pypirc(??)\npackaging.util.resolve_name(??)\npackaging.util.run_2to3(??)\npackaging.util.set_platform(??)\npackaging.util.shutil(??)\npackaging.util.spawn(??)\npackaging.util.split_multiline(??)\npackaging.util.split_quoted(??)\npackaging.util.splitext(??)\npackaging.util.std_iglob(??)\npackaging.util.string(??)\npackaging.util.strtobool(??)\npackaging.util.subprocess(??)\npackaging.util.sys(??)\npackaging.util.sysconfig(??)\npackaging.util.write_file(??)\npackaging.version.HugeMajorVersionNumError(??)\npackaging.version.IrrationalVersionError(??)\npackaging.version.NormalizedVersion(??)\npackaging.version.VersionPredicate(??)\npackaging.version.get_version_predicate(??)\npackaging.version.is_valid_predicate(??)\npackaging.version.is_valid_version(??)\npackaging.version.is_valid_versions(??)\npackaging.version.re(??)\npackaging.version.suggest_normalized_version(??)\nparser.ParserError(??)\nparser.STType(??)\nparser.compilest(??)\nparser.expr(??)\nparser.isexpr(??)\nparser.issuite(??)\nparser.sequence2st(??)\nparser.st2list(??)\nparser.st2tuple(??)\nparser.suite(??)\nparser.tuple2st(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BUILD\npickle.BuiltinFunctionType(??)\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(file, protocol=None)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(file, *, encoding='ASCII', errors='strict')\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.classmap(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(obj, file, protocol=None, *, fix_imports=True) -> None\npickle.dumps(obj, protocol=None, *, fix_imports=True) -> bytes\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict') -> object\npickle.loads(input, *, fix_imports=True, encoding='ASCII', errors='strict') -> object\npickle.marshal(??)\npickle.mloads(??)\npickle.re(??)\npickle.struct(??)\npickle.sys(??)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.unicodestring4(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.imp(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warn(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.collections(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(system, node, release, version, machine, processor)\nplatform.version(??)\nplatform.win32_ver(??)\nplistlib.BytesIO([buffer]) -> object\nplistlib.Data(??)\nplistlib.Dict(??)\nplistlib.DumbXMLWriter(??)\nplistlib.PLISTHEADER\nplistlib.Plist(??)\nplistlib.PlistParser(??)\nplistlib.PlistWriter(??)\nplistlib.binascii(??)\nplistlib.datetime(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_TRAPPED\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITED\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)\nposix.chdir(path)\nposix.chflags(path, flags, *, follow_symlinks=True)\nposix.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)\nposix.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)\nposix.chroot(path)\nposix.close(fd)\nposix.closerange(fd_low, fd_high)\nposix.confstr(name) -> string\nposix.confstr_names(??)\nposix.ctermid() -> string\nposix.device_encoding(fd) -> str\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ(??)\nposix.error(??)\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fd)\nposix.fchmod(fd, mode)\nposix.fchown(fd, uid, gid)\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.get_terminal_size(??)\nposix.getcwd() -> path\nposix.getcwdb() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgrouplist(user, group) -> list of groups to which a user belongs\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getpriority(which, who) -> current_priority\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.initgroups(username, gid) -> None\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchflags(path, flags)\nposix.lchmod(path, mode)\nposix.lchown(path, uid, gid)\nposix.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)\nposix.listdir(path='.') -> list_of_filenames\nposix.lockf(fd, cmd, len)\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path, *, dir_fd=None) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path, mode=0o777, *, dir_fd=None)\nposix.mkfifo(path, mode=0o666, *, dir_fd=None)\nposix.mknod(filename, mode=0o600, device=0, *, dir_fd=None)\nposix.nice(inc) -> new_priority\nposix.open(path, flags, mode=0o777, *, dir_fd=None)\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names(??)\nposix.pipe() -> (read_end, write_end)\nposix.pread(fd, buffersize, offset) -> string\nposix.putenv(key, value)\nposix.pwrite(fd, string, offset) -> byteswritten\nposix.read(fd, buffersize) -> string\nposix.readlink(path, *, dir_fd=None) -> path\nposix.readv(fd, buffers) -> bytesread\nposix.remove(path, *, dir_fd=None)\nposix.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nposix.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nposix.rmdir(path, *, dir_fd=None)\nposix.sched_get_priority_max(policy)\nposix.sched_get_priority_min(policy)\nposix.sched_yield()\nposix.sendfile(out, in, offset, nbytes) -> byteswritten\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setpriority(which, who, prio) -> None\nposix.setregid(rgid, egid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(path, *, dir_fd=None, follow_symlinks=True) -> stat result\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result(??)\nposix.statvfs(path)\nposix.statvfs_result(??)\nposix.strerror(code) -> string\nposix.symlink(src, dst, target_is_directory=False, *, dir_fd=None)\nposix.sync()\nposix.sysconf(name) -> integer\nposix.sysconf_names(??)\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.terminal_size(??)\nposix.times() -> times_result\nposix.times_result(??)\nposix.truncate(path, length)\nposix.ttyname(fd) -> string\nposix.umask(new_mask) -> old_mask\nposix.uname() -> uname_result\nposix.uname_result(??)\nposix.unlink(path, *, dir_fd=None)\nposix.unsetenv(key)\nposix.urandom(n) -> str\nposix.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, string) -> byteswritten\nposix.writev(fd, buffers) -> byteswritten\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.os(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd(??)\npy_compile.MAGIC\npy_compile.PyCompileError(??)\npy_compile.builtins(??)\npy_compile.compile(??)\npy_compile.errno(??)\npy_compile.imp(??)\npy_compile.main(??)\npy_compile.marshal(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.tokenize(??)\npy_compile.traceback(??)\npy_compile.wr_long(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.os(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.Scanner(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque(iterable[, maxlen]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.extract_tb(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.imp(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.deque(iterable[, maxlen]) --> deque object\nqueue.heappop(??)\nqueue.heappush(??)\nqueue.threading(??)\nqueue.time(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s;\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates a long int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange([start,] stop[, step]) -> range object\nre.A\nre.ASCII\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copyreg(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.functools(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.sys(??)\nre.template(??)\nreadline.add_history(string) -> None\nreadline.clear_history() -> None\nreadline.get_begidx() -> int\nreadline.get_completer() -> function\nreadline.get_completer_delims() -> string\nreadline.get_completion_type() -> int\nreadline.get_current_history_length() -> integer\nreadline.get_endidx() -> int\nreadline.get_history_item() -> string\nreadline.get_history_length() -> int\nreadline.get_line_buffer() -> string\nreadline.insert_text(string) -> None\nreadline.parse_and_bind(string) -> None\nreadline.read_history_file([filename]) -> None\nreadline.read_init_file([filename]) -> None\nreadline.redisplay() -> None\nreadline.remove_history_item(pos) -> None\nreadline.replace_history_item(pos, line) -> None\nreadline.set_completer([function]) -> None\nreadline.set_completer_delims(string) -> None\nreadline.set_completion_display_matches_hook([function]) -> None\nreadline.set_history_length(length) -> None\nreadline.set_pre_input_hook([function]) -> None\nreadline.set_startup_hook([function]) -> None\nreadline.write_history_file([filename]) -> None\nrepr(object) -> string\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, [start,] stop [, step]) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error(??)\nresource.getpagesize(??)\nresource.getrlimit(??)\nresource.getrusage(??)\nresource.setrlimit(??)\nresource.struct_rusage(??)\nreversed(sequence) -> reverse iterator over values of the sequence\nrlcompleter.Completer(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(number[, ndigits]) -> number\nrunpy.get_importer(??)\nrunpy.get_loader(??)\nrunpy.imp(??)\nrunpy.importlib(??)\nrunpy.os(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nselect.KQ_EV_ADD\nselect.KQ_EV_CLEAR\nselect.KQ_EV_DELETE\nselect.KQ_EV_DISABLE\nselect.KQ_EV_ENABLE\nselect.KQ_EV_EOF\nselect.KQ_EV_ERROR\nselect.KQ_EV_FLAG1\nselect.KQ_EV_ONESHOT\nselect.KQ_EV_SYSFLAGS\nselect.KQ_FILTER_AIO\nselect.KQ_FILTER_PROC\nselect.KQ_FILTER_READ\nselect.KQ_FILTER_SIGNAL\nselect.KQ_FILTER_TIMER\nselect.KQ_FILTER_VNODE\nselect.KQ_FILTER_WRITE\nselect.KQ_NOTE_ATTRIB\nselect.KQ_NOTE_CHILD\nselect.KQ_NOTE_DELETE\nselect.KQ_NOTE_EXEC\nselect.KQ_NOTE_EXIT\nselect.KQ_NOTE_EXTEND\nselect.KQ_NOTE_FORK\nselect.KQ_NOTE_LINK\nselect.KQ_NOTE_LOWAT\nselect.KQ_NOTE_PCTRLMASK\nselect.KQ_NOTE_PDATAMASK\nselect.KQ_NOTE_RENAME\nselect.KQ_NOTE_REVOKE\nselect.KQ_NOTE_TRACK\nselect.KQ_NOTE_TRACKERR\nselect.KQ_NOTE_WRITE\nselect.PIPE_BUF\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.error(??)\nselect.kevent(ident, filter=KQ_FILTER_READ, flags=KQ_EV_ADD, fflags=0, data=0, udata=0)\nselect.kqueue(??)\nselect.poll(??)\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nset() -> new empty set object\nsetattr(object, name, value)\nshelve.BsdDbShelf(??)\nshelve.BytesIO([buffer]) -> object\nshelve.DbfilenameShelf(??)\nshelve.Pickler(file, protocol=None)\nshelve.Shelf(??)\nshelve.Unpickler(file, *, encoding='ASCII', errors='strict')\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque(iterable[, maxlen]) --> deque object\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SpecialFileError(??)\nshutil.WindowsError(??)\nshutil.abspath(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(name) -> tuple\nshutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.tarfile(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCONT\nsignal.SIGEMT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINFO\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPROF\nsignal.SIGQUIT\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_BLOCK\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.SIG_SETMASK\nsignal.SIG_UNBLOCK\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getitimer(which)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.pthread_kill(thread_id, signum)\nsignal.pthread_sigmask(how, mask) -> old mask\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(which, seconds[, interval])\nsignal.siginterrupt(sig, flag) -> None\nsignal.signal(sig, action) -> action\nsignal.sigpending() -> list\nsignal.sigwait(sigset) -> signum\nsite.CONFIG_LINE(??)\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.re(??)\nsite.removeduppaths(??)\nsite.setBEGINLIBPATH(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice([start,] stop[, step])\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.stderr(??)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK\nsocket.AF_DECnet\nsocket.AF_INET\nsocket.AF_INET6\nsocket.AF_IPX\nsocket.AF_ROUTE\nsocket.AF_SNA\nsocket.AF_SYSTEM\nsocket.AF_UNIX\nsocket.AF_UNSPEC\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_DEFAULT\nsocket.AI_MASK\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.AI_V4MAPPED_CFG\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOF\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM\nsocket.SOCK_RAW\nsocket.SOCK_RDM\nsocket.SOCK_SEQPACKET\nsocket.SOCK_STREAM\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketType(??)\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(host, port [, family, socktype, proto, flags])\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.errno(??)\nsocketserver.os(??)\nsocketserver.select(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsorted(iterable, key=None, reverse=False) --> new sorted list\nsqlite3.Binary(??)\nsqlite3.Cache(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement(??)\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.complete_statement(sql)\nsqlite3.connect(database[, timeout, isolation_level, detect_types, factory])\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Cache(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement(??)\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(database[, timeout, isolation_level, detect_types, factory])\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.HAS_ECDH(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL\nssl.OP_CIPHER_SERVER_PREFERENCE\nssl.OP_NO_SSLv2\nssl.OP_NO_SSLv3\nssl.OP_NO_TLSv1\nssl.OP_SINGLE_DH_USE\nssl.OP_SINGLE_ECDH_USE\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2\nssl.PROTOCOL_SSLv23\nssl.PROTOCOL_SSLv3\nssl.PROTOCOL_TLSv1\nssl.RAND_add(string, entropy)\nssl.RAND_bytes(n) -> bytes\nssl.RAND_egd(path) -> bytes\nssl.RAND_pseudo_bytes(n) -> (bytes, is_cryptographic)\nssl.RAND_status() -> 0 or 1\nssl.SOCK_STREAM\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.errno(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.match_hostname(??)\nssl.re(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.textwrap(??)\nssl.traceback(??)\nssl.wrap_socket(??)\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(??)\nstat.S_ISCHR(??)\nstat.S_ISDIR(??)\nstat.S_ISFIFO(??)\nstat.S_ISGID\nstat.S_ISLNK(??)\nstat.S_ISREG(??)\nstat.S_ISSOCK(??)\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstr(object[, encoding[, errors]]) -> str\nstring.ChainMap(??)\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(fmt) --> compiled struct object\nstruct.calcsize(fmt) -> integer\nstruct.error(??)\nstruct.pack(fmt, v1, v2, ...) -> bytes\nstruct.pack_into(fmt, buffer, offset, v1, v2, ...)\nstruct.unpack(fmt, buffer) -> (v1, v2, ...)\nstruct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...)\nsubprocess.CalledProcessError(??)\nsubprocess.DEVNULL\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.gc(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.mswindows(??)\nsubprocess.os(??)\nsubprocess.select(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.time(??)\nsubprocess.traceback(??)\nsubprocess.warnings(??)\nsum(iterable[, start]) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.open(??)\nsunau.openfp(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.main(??)\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.OPT_IMPORT_STAR\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.api_version\nsys.argv(??)\nsys.base_exec_prefix\nsys.base_prefix\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.getswitchinterval() -> current thread switch interval; see setswitchinterval().\nsys.gettrace()\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(string) -> string\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.setswitchinterval(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.re(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_AUTHPRIV\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK(??)\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_ODELAY\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO(??)\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog(??)\nsyslog.openlog(??)\nsyslog.setlogmask(??)\nsyslog.syslog(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.S_IFBLK\ntarfile.S_IFCHR\ntarfile.S_IFDIR\ntarfile.S_IFIFO\ntarfile.S_IFLNK\ntarfile.S_IFREG\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TGEXEC\ntarfile.TGREAD\ntarfile.TGWRITE\ntarfile.TOEXEC\ntarfile.TOREAD\ntarfile.TOWRITE\ntarfile.TSGID\ntarfile.TSUID\ntarfile.TSVTX\ntarfile.TUEXEC\ntarfile.TUREAD\ntarfile.TUWRITE\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TarIter(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.filemode(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.errno(??)\ntelnetlib.select(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.ISIG\ntermios.ISTRIP\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSASOFT\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGPGRP\ntermios.TIOCGWINSZ\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSETD\ntermios.TIOCSPGRP\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.error(??)\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.get_ident() -> integer\nthreading.local(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.perf_counter() -> float\ntime.process_time() -> float\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.At(??)\ntkinter.AtEnd(??)\ntkinter.AtInsert(??)\ntkinter.AtSelFirst(??)\ntkinter.AtSelLast(??)\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.Studbutton(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.Tributton(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog.ACTIVE\ntkinter.commondialog.ALL\ntkinter.commondialog.ANCHOR\ntkinter.commondialog.ARC\ntkinter.commondialog.At(??)\ntkinter.commondialog.AtEnd(??)\ntkinter.commondialog.AtInsert(??)\ntkinter.commondialog.AtSelFirst(??)\ntkinter.commondialog.AtSelLast(??)\ntkinter.commondialog.BASELINE\ntkinter.commondialog.BEVEL\ntkinter.commondialog.BOTH\ntkinter.commondialog.BOTTOM\ntkinter.commondialog.BROWSE\ntkinter.commondialog.BUTT\ntkinter.commondialog.BaseWidget(??)\ntkinter.commondialog.BitmapImage(??)\ntkinter.commondialog.BooleanVar(??)\ntkinter.commondialog.Button(??)\ntkinter.commondialog.CASCADE\ntkinter.commondialog.CENTER\ntkinter.commondialog.CHAR\ntkinter.commondialog.CHECKBUTTON\ntkinter.commondialog.CHORD\ntkinter.commondialog.COMMAND\ntkinter.commondialog.CURRENT\ntkinter.commondialog.CallWrapper(??)\ntkinter.commondialog.Canvas(??)\ntkinter.commondialog.Checkbutton(??)\ntkinter.commondialog.DISABLED\ntkinter.commondialog.DOTBOX\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.DoubleVar(??)\ntkinter.commondialog.E\ntkinter.commondialog.END\ntkinter.commondialog.EW\ntkinter.commondialog.EXCEPTION\ntkinter.commondialog.EXTENDED\ntkinter.commondialog.Entry(??)\ntkinter.commondialog.Event(??)\ntkinter.commondialog.FALSE\ntkinter.commondialog.FIRST\ntkinter.commondialog.FLAT\ntkinter.commondialog.Frame(??)\ntkinter.commondialog.GROOVE\ntkinter.commondialog.Grid(??)\ntkinter.commondialog.HIDDEN\ntkinter.commondialog.HORIZONTAL\ntkinter.commondialog.INSERT\ntkinter.commondialog.INSIDE\ntkinter.commondialog.Image(??)\ntkinter.commondialog.IntVar(??)\ntkinter.commondialog.LAST\ntkinter.commondialog.LEFT\ntkinter.commondialog.Label(??)\ntkinter.commondialog.LabelFrame(??)\ntkinter.commondialog.Listbox(??)\ntkinter.commondialog.MITER\ntkinter.commondialog.MOVETO\ntkinter.commondialog.MULTIPLE\ntkinter.commondialog.Menu(??)\ntkinter.commondialog.Menubutton(??)\ntkinter.commondialog.Message(??)\ntkinter.commondialog.Misc(??)\ntkinter.commondialog.N\ntkinter.commondialog.NE\ntkinter.commondialog.NO\ntkinter.commondialog.NONE\ntkinter.commondialog.NORMAL\ntkinter.commondialog.NS\ntkinter.commondialog.NSEW\ntkinter.commondialog.NUMERIC\ntkinter.commondialog.NW\ntkinter.commondialog.NoDefaultRoot(??)\ntkinter.commondialog.OFF\ntkinter.commondialog.ON\ntkinter.commondialog.OUTSIDE\ntkinter.commondialog.OptionMenu(??)\ntkinter.commondialog.PAGES\ntkinter.commondialog.PIESLICE\ntkinter.commondialog.PROJECTING\ntkinter.commondialog.Pack(??)\ntkinter.commondialog.PanedWindow(??)\ntkinter.commondialog.PhotoImage(??)\ntkinter.commondialog.Place(??)\ntkinter.commondialog.RADIOBUTTON\ntkinter.commondialog.RAISED\ntkinter.commondialog.READABLE\ntkinter.commondialog.RIDGE\ntkinter.commondialog.RIGHT\ntkinter.commondialog.ROUND\ntkinter.commondialog.Radiobutton(??)\ntkinter.commondialog.S\ntkinter.commondialog.SCROLL\ntkinter.commondialog.SE\ntkinter.commondialog.SEL\ntkinter.commondialog.SEL_FIRST\ntkinter.commondialog.SEL_LAST\ntkinter.commondialog.SEPARATOR\ntkinter.commondialog.SINGLE\ntkinter.commondialog.SOLID\ntkinter.commondialog.SUNKEN\ntkinter.commondialog.SW\ntkinter.commondialog.Scale(??)\ntkinter.commondialog.Scrollbar(??)\ntkinter.commondialog.Spinbox(??)\ntkinter.commondialog.StringVar(??)\ntkinter.commondialog.Studbutton(??)\ntkinter.commondialog.TOP\ntkinter.commondialog.TRUE\ntkinter.commondialog.Tcl(??)\ntkinter.commondialog.TclError(??)\ntkinter.commondialog.TclVersion\ntkinter.commondialog.Text(??)\ntkinter.commondialog.Tk(??)\ntkinter.commondialog.TkVersion\ntkinter.commondialog.Toplevel(??)\ntkinter.commondialog.Tributton(??)\ntkinter.commondialog.UNDERLINE\ntkinter.commondialog.UNITS\ntkinter.commondialog.VERTICAL\ntkinter.commondialog.Variable(??)\ntkinter.commondialog.W\ntkinter.commondialog.WORD\ntkinter.commondialog.WRITABLE\ntkinter.commondialog.Widget(??)\ntkinter.commondialog.Wm(??)\ntkinter.commondialog.X\ntkinter.commondialog.XView(??)\ntkinter.commondialog.Y\ntkinter.commondialog.YES\ntkinter.commondialog.YView(??)\ntkinter.commondialog.constants(??)\ntkinter.commondialog.getboolean(??)\ntkinter.commondialog.getdouble(??)\ntkinter.commondialog.getint(??)\ntkinter.commondialog.image_names(??)\ntkinter.commondialog.image_types(??)\ntkinter.commondialog.mainloop(??)\ntkinter.commondialog.sys(??)\ntkinter.commondialog.wantobjects\ntkinter.commondialog.warnings(??)\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog.ACTIVE\ntkinter.dialog.ALL\ntkinter.dialog.ANCHOR\ntkinter.dialog.ARC\ntkinter.dialog.At(??)\ntkinter.dialog.AtEnd(??)\ntkinter.dialog.AtInsert(??)\ntkinter.dialog.AtSelFirst(??)\ntkinter.dialog.AtSelLast(??)\ntkinter.dialog.BASELINE\ntkinter.dialog.BEVEL\ntkinter.dialog.BOTH\ntkinter.dialog.BOTTOM\ntkinter.dialog.BROWSE\ntkinter.dialog.BUTT\ntkinter.dialog.BaseWidget(??)\ntkinter.dialog.BitmapImage(??)\ntkinter.dialog.BooleanVar(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.CASCADE\ntkinter.dialog.CENTER\ntkinter.dialog.CHAR\ntkinter.dialog.CHECKBUTTON\ntkinter.dialog.CHORD\ntkinter.dialog.COMMAND\ntkinter.dialog.CURRENT\ntkinter.dialog.CallWrapper(??)\ntkinter.dialog.Canvas(??)\ntkinter.dialog.Checkbutton(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.DISABLED\ntkinter.dialog.DOTBOX\ntkinter.dialog.Dialog(??)\ntkinter.dialog.DoubleVar(??)\ntkinter.dialog.E\ntkinter.dialog.END\ntkinter.dialog.EW\ntkinter.dialog.EXCEPTION\ntkinter.dialog.EXTENDED\ntkinter.dialog.Entry(??)\ntkinter.dialog.Event(??)\ntkinter.dialog.FALSE\ntkinter.dialog.FIRST\ntkinter.dialog.FLAT\ntkinter.dialog.Frame(??)\ntkinter.dialog.GROOVE\ntkinter.dialog.Grid(??)\ntkinter.dialog.HIDDEN\ntkinter.dialog.HORIZONTAL\ntkinter.dialog.INSERT\ntkinter.dialog.INSIDE\ntkinter.dialog.Image(??)\ntkinter.dialog.IntVar(??)\ntkinter.dialog.LAST\ntkinter.dialog.LEFT\ntkinter.dialog.Label(??)\ntkinter.dialog.LabelFrame(??)\ntkinter.dialog.Listbox(??)\ntkinter.dialog.MITER\ntkinter.dialog.MOVETO\ntkinter.dialog.MULTIPLE\ntkinter.dialog.Menu(??)\ntkinter.dialog.Menubutton(??)\ntkinter.dialog.Message(??)\ntkinter.dialog.Misc(??)\ntkinter.dialog.N\ntkinter.dialog.NE\ntkinter.dialog.NO\ntkinter.dialog.NONE\ntkinter.dialog.NORMAL\ntkinter.dialog.NS\ntkinter.dialog.NSEW\ntkinter.dialog.NUMERIC\ntkinter.dialog.NW\ntkinter.dialog.NoDefaultRoot(??)\ntkinter.dialog.OFF\ntkinter.dialog.ON\ntkinter.dialog.OUTSIDE\ntkinter.dialog.OptionMenu(??)\ntkinter.dialog.PAGES\ntkinter.dialog.PIESLICE\ntkinter.dialog.PROJECTING\ntkinter.dialog.Pack(??)\ntkinter.dialog.PanedWindow(??)\ntkinter.dialog.PhotoImage(??)\ntkinter.dialog.Place(??)\ntkinter.dialog.RADIOBUTTON\ntkinter.dialog.RAISED\ntkinter.dialog.READABLE\ntkinter.dialog.RIDGE\ntkinter.dialog.RIGHT\ntkinter.dialog.ROUND\ntkinter.dialog.Radiobutton(??)\ntkinter.dialog.S\ntkinter.dialog.SCROLL\ntkinter.dialog.SE\ntkinter.dialog.SEL\ntkinter.dialog.SEL_FIRST\ntkinter.dialog.SEL_LAST\ntkinter.dialog.SEPARATOR\ntkinter.dialog.SINGLE\ntkinter.dialog.SOLID\ntkinter.dialog.SUNKEN\ntkinter.dialog.SW\ntkinter.dialog.Scale(??)\ntkinter.dialog.Scrollbar(??)\ntkinter.dialog.Spinbox(??)\ntkinter.dialog.StringVar(??)\ntkinter.dialog.Studbutton(??)\ntkinter.dialog.TOP\ntkinter.dialog.TRUE\ntkinter.dialog.Tcl(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.TclVersion\ntkinter.dialog.Text(??)\ntkinter.dialog.Tk(??)\ntkinter.dialog.TkVersion\ntkinter.dialog.Toplevel(??)\ntkinter.dialog.Tributton(??)\ntkinter.dialog.UNDERLINE\ntkinter.dialog.UNITS\ntkinter.dialog.VERTICAL\ntkinter.dialog.Variable(??)\ntkinter.dialog.W\ntkinter.dialog.WORD\ntkinter.dialog.WRITABLE\ntkinter.dialog.Widget(??)\ntkinter.dialog.Wm(??)\ntkinter.dialog.X\ntkinter.dialog.XView(??)\ntkinter.dialog.Y\ntkinter.dialog.YES\ntkinter.dialog.YView(??)\ntkinter.dialog.colorchooser(??)\ntkinter.dialog.commondialog(??)\ntkinter.dialog.constants(??)\ntkinter.dialog.getboolean(??)\ntkinter.dialog.getdouble(??)\ntkinter.dialog.getint(??)\ntkinter.dialog.image_names(??)\ntkinter.dialog.image_types(??)\ntkinter.dialog.mainloop(??)\ntkinter.dialog.sys(??)\ntkinter.dialog.wantobjects\ntkinter.dialog.warnings(??)\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.filedialog.ACTIVE\ntkinter.filedialog.ALL\ntkinter.filedialog.ANCHOR\ntkinter.filedialog.ARC\ntkinter.filedialog.At(??)\ntkinter.filedialog.AtEnd(??)\ntkinter.filedialog.AtInsert(??)\ntkinter.filedialog.AtSelFirst(??)\ntkinter.filedialog.AtSelLast(??)\ntkinter.filedialog.BASELINE\ntkinter.filedialog.BEVEL\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.BROWSE\ntkinter.filedialog.BUTT\ntkinter.filedialog.BaseWidget(??)\ntkinter.filedialog.BitmapImage(??)\ntkinter.filedialog.BooleanVar(??)\ntkinter.filedialog.Button(??)\ntkinter.filedialog.CASCADE\ntkinter.filedialog.CENTER\ntkinter.filedialog.CHAR\ntkinter.filedialog.CHECKBUTTON\ntkinter.filedialog.CHORD\ntkinter.filedialog.COMMAND\ntkinter.filedialog.CURRENT\ntkinter.filedialog.CallWrapper(??)\ntkinter.filedialog.Canvas(??)\ntkinter.filedialog.Checkbutton(??)\ntkinter.filedialog.DISABLED\ntkinter.filedialog.DOTBOX\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.DoubleVar(??)\ntkinter.filedialog.E\ntkinter.filedialog.END\ntkinter.filedialog.EW\ntkinter.filedialog.EXCEPTION\ntkinter.filedialog.EXTENDED\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.Event(??)\ntkinter.filedialog.FALSE\ntkinter.filedialog.FIRST\ntkinter.filedialog.FLAT\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.GROOVE\ntkinter.filedialog.Grid(??)\ntkinter.filedialog.HIDDEN\ntkinter.filedialog.HORIZONTAL\ntkinter.filedialog.INSERT\ntkinter.filedialog.INSIDE\ntkinter.filedialog.Image(??)\ntkinter.filedialog.IntVar(??)\ntkinter.filedialog.LAST\ntkinter.filedialog.LEFT\ntkinter.filedialog.Label(??)\ntkinter.filedialog.LabelFrame(??)\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.MITER\ntkinter.filedialog.MOVETO\ntkinter.filedialog.MULTIPLE\ntkinter.filedialog.Menu(??)\ntkinter.filedialog.Menubutton(??)\ntkinter.filedialog.Message(??)\ntkinter.filedialog.Misc(??)\ntkinter.filedialog.N\ntkinter.filedialog.NE\ntkinter.filedialog.NO\ntkinter.filedialog.NONE\ntkinter.filedialog.NORMAL\ntkinter.filedialog.NS\ntkinter.filedialog.NSEW\ntkinter.filedialog.NUMERIC\ntkinter.filedialog.NW\ntkinter.filedialog.NoDefaultRoot(??)\ntkinter.filedialog.OFF\ntkinter.filedialog.ON\ntkinter.filedialog.OUTSIDE\ntkinter.filedialog.Open(??)\ntkinter.filedialog.OptionMenu(??)\ntkinter.filedialog.PAGES\ntkinter.filedialog.PIESLICE\ntkinter.filedialog.PROJECTING\ntkinter.filedialog.Pack(??)\ntkinter.filedialog.PanedWindow(??)\ntkinter.filedialog.PhotoImage(??)\ntkinter.filedialog.Place(??)\ntkinter.filedialog.RADIOBUTTON\ntkinter.filedialog.RAISED\ntkinter.filedialog.READABLE\ntkinter.filedialog.RIDGE\ntkinter.filedialog.RIGHT\ntkinter.filedialog.ROUND\ntkinter.filedialog.Radiobutton(??)\ntkinter.filedialog.S\ntkinter.filedialog.SCROLL\ntkinter.filedialog.SE\ntkinter.filedialog.SEL\ntkinter.filedialog.SEL_FIRST\ntkinter.filedialog.SEL_LAST\ntkinter.filedialog.SEPARATOR\ntkinter.filedialog.SINGLE\ntkinter.filedialog.SOLID\ntkinter.filedialog.SUNKEN\ntkinter.filedialog.SW\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scale(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.Spinbox(??)\ntkinter.filedialog.StringVar(??)\ntkinter.filedialog.Studbutton(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.TRUE\ntkinter.filedialog.Tcl(??)\ntkinter.filedialog.TclError(??)\ntkinter.filedialog.TclVersion\ntkinter.filedialog.Text(??)\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.TkVersion\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.Tributton(??)\ntkinter.filedialog.UNDERLINE\ntkinter.filedialog.UNITS\ntkinter.filedialog.VERTICAL\ntkinter.filedialog.Variable(??)\ntkinter.filedialog.W\ntkinter.filedialog.WORD\ntkinter.filedialog.WRITABLE\ntkinter.filedialog.Widget(??)\ntkinter.filedialog.Wm(??)\ntkinter.filedialog.X\ntkinter.filedialog.XView(??)\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.YView(??)\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.colorchooser(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.constants(??)\ntkinter.filedialog.dialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.dnd(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.getboolean(??)\ntkinter.filedialog.getdouble(??)\ntkinter.filedialog.getint(??)\ntkinter.filedialog.image_names(??)\ntkinter.filedialog.image_types(??)\ntkinter.filedialog.mainloop(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.sys(??)\ntkinter.filedialog.test(??)\ntkinter.filedialog.wantobjects\ntkinter.filedialog.warnings(??)\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.At(??)\ntkinter.simpledialog.AtEnd(??)\ntkinter.simpledialog.AtInsert(??)\ntkinter.simpledialog.AtSelFirst(??)\ntkinter.simpledialog.AtSelLast(??)\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.Studbutton(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.Tributton(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.colorchooser(??)\ntkinter.simpledialog.commondialog(??)\ntkinter.simpledialog.constants(??)\ntkinter.simpledialog.dialog(??)\ntkinter.simpledialog.dnd(??)\ntkinter.simpledialog.filedialog(??)\ntkinter.simpledialog.font(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.scrolledtext(??)\ntkinter.simpledialog.sys(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.simpledialog.wantobjects\ntkinter.simpledialog.warnings(??)\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.At(??)\ntkinter.tix.AtEnd(??)\ntkinter.tix.AtInsert(??)\ntkinter.tix.AtSelFirst(??)\ntkinter.tix.AtSelLast(??)\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.Studbutton(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.Tributton(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.colorchooser(??)\ntkinter.tix.commondialog(??)\ntkinter.tix.constants(??)\ntkinter.tix.dialog(??)\ntkinter.tix.dnd(??)\ntkinter.tix.filedialog(??)\ntkinter.tix.font(??)\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.messagebox(??)\ntkinter.tix.os(??)\ntkinter.tix.scrolledtext(??)\ntkinter.tix.simpledialog(??)\ntkinter.tix.sys(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.tix.wantobjects\ntkinter.tix.warnings(??)\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.wantobjects\ntkinter.warnings(??)\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.builtins(??)\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(encoding) -> CodecInfo\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.modname(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntrace.usage(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> empty tuple\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.defstr\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.methodname\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pl1\nturtle.pl2\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object) -> the object's type\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CodeType(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\nunicodedata.UCD(??)\nunicodedata.bidirectional(unichr)\nunicodedata.category(unichr)\nunicodedata.combining(unichr)\nunicodedata.decimal(unichr[, default])\nunicodedata.decomposition(unichr)\nunicodedata.digit(unichr[, default])\nunicodedata.east_asian_width(unichr)\nunicodedata.lookup(name)\nunicodedata.mirrored(unichr)\nunicodedata.name(unichr[, default])\nunicodedata.normalize(form, unistr)\nunicodedata.numeric(unichr[, default])\nunicodedata.ucd_3_2_0(??)\nunicodedata.ucnhash_CAPI(??)\nunicodedata.unidata_version\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.collections(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittag('/path#tag') --> '/path', 'tag'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.ctypes(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.lib(??)\nuuid.libname\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.Context(??)\nvenv.EnvBuilder(??)\nvenv.base64(??)\nvenv.create(??)\nvenv.io(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.sys(??)\nvenv.sysconfig(??)\nvenv.threading(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.linecache(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.big_endian\nwave.builtins(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.collections(??)\nweakref.getweakrefcount(object) -- return the number of weak references\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.io(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.stat(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwebbrowser.time(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO([buffer]) -> object\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLTreeBuilder(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLTreeBuilder(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO([buffer]) -> object\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.socket(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.DEFAULT_VERSION\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzipfile.error(??)\nzipfile.imp(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.re(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_RUNTIME_VERSION\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string.\nzlib.compress(string[, level]) -- Returned compressed string.\nzlib.compressobj(??)\nzlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string.\nzlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string.\nzlib.decompressobj([wbits[, zdict]]) -- Return a decompressor object.\nzlib.error(??)\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.4.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIN.AF_APPLETALK\nIN.AF_ATM\nIN.AF_CCITT\nIN.AF_CHAOS\nIN.AF_CNT\nIN.AF_COIP\nIN.AF_DATAKIT\nIN.AF_DECnet\nIN.AF_DLI\nIN.AF_E164\nIN.AF_ECMA\nIN.AF_HYLINK\nIN.AF_IMPLINK\nIN.AF_INET\nIN.AF_INET6\nIN.AF_IPX\nIN.AF_ISDN\nIN.AF_ISO\nIN.AF_LAT\nIN.AF_LINK\nIN.AF_LOCAL\nIN.AF_MAX\nIN.AF_NATM\nIN.AF_NDRV\nIN.AF_NETBIOS\nIN.AF_NETGRAPH\nIN.AF_NS\nIN.AF_OSI\nIN.AF_PPP\nIN.AF_PUP\nIN.AF_RESERVED_36\nIN.AF_ROUTE\nIN.AF_SIP\nIN.AF_SNA\nIN.AF_SYSTEM\nIN.AF_UNIX\nIN.AF_UNSPEC\nIN.CMGROUP_MAX\nIN.HTONL(??)\nIN.HTONS(??)\nIN.ICMP6_FILTER\nIN.IN6_IS_ADDR_LINKLOCAL(??)\nIN.IN6_IS_ADDR_LOOPBACK(??)\nIN.IN6_IS_ADDR_MC_GLOBAL(??)\nIN.IN6_IS_ADDR_MC_LINKLOCAL(??)\nIN.IN6_IS_ADDR_MC_NODELOCAL(??)\nIN.IN6_IS_ADDR_MC_ORGLOCAL(??)\nIN.IN6_IS_ADDR_MC_SITELOCAL(??)\nIN.IN6_IS_ADDR_SITELOCAL(??)\nIN.IN6_IS_ADDR_UNSPECIFIED(??)\nIN.IN6_IS_ADDR_V4COMPAT(??)\nIN.IN6_IS_ADDR_V4MAPPED(??)\nIN.INADDR_NONE\nIN.INET6_ADDRSTRLEN\nIN.INET_ADDRSTRLEN\nIN.INT16_C(??)\nIN.INT16_MAX\nIN.INT16_MIN\nIN.INT32_C(??)\nIN.INT32_MAX\nIN.INT32_MIN\nIN.INT8_C(??)\nIN.INT8_MAX\nIN.INT8_MIN\nIN.INTPTR_MAX\nIN.INTPTR_MIN\nIN.INT_FAST16_MAX\nIN.INT_FAST16_MIN\nIN.INT_FAST32_MAX\nIN.INT_FAST32_MIN\nIN.INT_FAST8_MAX\nIN.INT_FAST8_MIN\nIN.INT_LEAST16_MAX\nIN.INT_LEAST16_MIN\nIN.INT_LEAST32_MAX\nIN.INT_LEAST32_MIN\nIN.INT_LEAST8_MAX\nIN.INT_LEAST8_MIN\nIN.IN_BADCLASS(??)\nIN.IN_CLASSA(??)\nIN.IN_CLASSA_HOST\nIN.IN_CLASSA_MAX\nIN.IN_CLASSA_NET\nIN.IN_CLASSA_NSHIFT\nIN.IN_CLASSB(??)\nIN.IN_CLASSB_HOST\nIN.IN_CLASSB_MAX\nIN.IN_CLASSB_NET\nIN.IN_CLASSB_NSHIFT\nIN.IN_CLASSC(??)\nIN.IN_CLASSC_HOST\nIN.IN_CLASSC_NET\nIN.IN_CLASSC_NSHIFT\nIN.IN_CLASSD(??)\nIN.IN_CLASSD_HOST\nIN.IN_CLASSD_NET\nIN.IN_CLASSD_NSHIFT\nIN.IN_EXPERIMENTAL(??)\nIN.IN_LINKLOCAL(??)\nIN.IN_LOOPBACKNET\nIN.IN_MULTICAST(??)\nIN.IPCTL_ACCEPTSOURCEROUTE\nIN.IPCTL_DEFMTU\nIN.IPCTL_DEFTTL\nIN.IPCTL_DIRECTEDBROADCAST\nIN.IPCTL_FASTFORWARDING\nIN.IPCTL_FORWARDING\nIN.IPCTL_GIF_TTL\nIN.IPCTL_INTRQDROPS\nIN.IPCTL_INTRQMAXLEN\nIN.IPCTL_KEEPFAITH\nIN.IPCTL_MAXID\nIN.IPCTL_RTEXPIRE\nIN.IPCTL_RTMAXCACHE\nIN.IPCTL_RTMINEXPIRE\nIN.IPCTL_SENDREDIRECTS\nIN.IPCTL_SOURCEROUTE\nIN.IPCTL_STATS\nIN.IPPORT_HIFIRSTAUTO\nIN.IPPORT_HILASTAUTO\nIN.IPPORT_RESERVED\nIN.IPPORT_RESERVEDSTART\nIN.IPPORT_USERRESERVED\nIN.IPPROTO_3PC\nIN.IPPROTO_ADFS\nIN.IPPROTO_AH\nIN.IPPROTO_AHIP\nIN.IPPROTO_APES\nIN.IPPROTO_ARGUS\nIN.IPPROTO_AX25\nIN.IPPROTO_BHA\nIN.IPPROTO_BLT\nIN.IPPROTO_BRSATMON\nIN.IPPROTO_CFTP\nIN.IPPROTO_CHAOS\nIN.IPPROTO_CMTP\nIN.IPPROTO_CPHB\nIN.IPPROTO_CPNX\nIN.IPPROTO_DDP\nIN.IPPROTO_DGP\nIN.IPPROTO_DIVERT\nIN.IPPROTO_DONE\nIN.IPPROTO_DSTOPTS\nIN.IPPROTO_EGP\nIN.IPPROTO_EMCON\nIN.IPPROTO_ENCAP\nIN.IPPROTO_EON\nIN.IPPROTO_ESP\nIN.IPPROTO_ETHERIP\nIN.IPPROTO_FRAGMENT\nIN.IPPROTO_GGP\nIN.IPPROTO_GMTP\nIN.IPPROTO_GRE\nIN.IPPROTO_HELLO\nIN.IPPROTO_HMP\nIN.IPPROTO_HOPOPTS\nIN.IPPROTO_ICMP\nIN.IPPROTO_ICMPV6\nIN.IPPROTO_IDP\nIN.IPPROTO_IDPR\nIN.IPPROTO_IDRP\nIN.IPPROTO_IGMP\nIN.IPPROTO_IGP\nIN.IPPROTO_IGRP\nIN.IPPROTO_IL\nIN.IPPROTO_INLSP\nIN.IPPROTO_INP\nIN.IPPROTO_IP\nIN.IPPROTO_IPCOMP\nIN.IPPROTO_IPCV\nIN.IPPROTO_IPEIP\nIN.IPPROTO_IPIP\nIN.IPPROTO_IPPC\nIN.IPPROTO_IPV4\nIN.IPPROTO_IPV6\nIN.IPPROTO_IRTP\nIN.IPPROTO_KRYPTOLAN\nIN.IPPROTO_LARP\nIN.IPPROTO_LEAF1\nIN.IPPROTO_LEAF2\nIN.IPPROTO_MAX\nIN.IPPROTO_MAXID\nIN.IPPROTO_MEAS\nIN.IPPROTO_MHRP\nIN.IPPROTO_MICP\nIN.IPPROTO_MTP\nIN.IPPROTO_MUX\nIN.IPPROTO_ND\nIN.IPPROTO_NHRP\nIN.IPPROTO_NONE\nIN.IPPROTO_NSP\nIN.IPPROTO_NVPII\nIN.IPPROTO_OSPFIGP\nIN.IPPROTO_PGM\nIN.IPPROTO_PIGP\nIN.IPPROTO_PIM\nIN.IPPROTO_PRM\nIN.IPPROTO_PUP\nIN.IPPROTO_PVP\nIN.IPPROTO_RAW\nIN.IPPROTO_RCCMON\nIN.IPPROTO_RDP\nIN.IPPROTO_ROUTING\nIN.IPPROTO_RSVP\nIN.IPPROTO_RVD\nIN.IPPROTO_SATEXPAK\nIN.IPPROTO_SATMON\nIN.IPPROTO_SCCSP\nIN.IPPROTO_SDRP\nIN.IPPROTO_SEP\nIN.IPPROTO_SRPC\nIN.IPPROTO_ST\nIN.IPPROTO_SVMTP\nIN.IPPROTO_SWIPE\nIN.IPPROTO_TCF\nIN.IPPROTO_TCP\nIN.IPPROTO_TP\nIN.IPPROTO_TPXX\nIN.IPPROTO_TRUNK1\nIN.IPPROTO_TRUNK2\nIN.IPPROTO_TTP\nIN.IPPROTO_UDP\nIN.IPPROTO_VINES\nIN.IPPROTO_VISA\nIN.IPPROTO_VMTP\nIN.IPPROTO_WBEXPAK\nIN.IPPROTO_WBMON\nIN.IPPROTO_WSN\nIN.IPPROTO_XNET\nIN.IPPROTO_XTP\nIN.IPV6CTL_ACCEPT_RTADV\nIN.IPV6CTL_AUTO_FLOWLABEL\nIN.IPV6CTL_AUTO_LINKLOCAL\nIN.IPV6CTL_DAD_COUNT\nIN.IPV6CTL_DEFHLIM\nIN.IPV6CTL_DEFMCASTHLIM\nIN.IPV6CTL_DEFMTU\nIN.IPV6CTL_FORWARDING\nIN.IPV6CTL_FORWSRCRT\nIN.IPV6CTL_GIF_HLIM\nIN.IPV6CTL_HDRNESTLIMIT\nIN.IPV6CTL_KAME_VERSION\nIN.IPV6CTL_KEEPFAITH\nIN.IPV6CTL_LOG_INTERVAL\nIN.IPV6CTL_MAPPED_ADDR\nIN.IPV6CTL_MAXFRAGPACKETS\nIN.IPV6CTL_MAXFRAGS\nIN.IPV6CTL_MAXID\nIN.IPV6CTL_MRTPROTO\nIN.IPV6CTL_MRTSTATS\nIN.IPV6CTL_RIP6STATS\nIN.IPV6CTL_RR_PRUNE\nIN.IPV6CTL_RTEXPIRE\nIN.IPV6CTL_RTMAXCACHE\nIN.IPV6CTL_RTMINEXPIRE\nIN.IPV6CTL_SENDREDIRECTS\nIN.IPV6CTL_SOURCECHECK\nIN.IPV6CTL_SOURCECHECK_LOGINT\nIN.IPV6CTL_STATS\nIN.IPV6CTL_TEMPPLTIME\nIN.IPV6CTL_TEMPVLTIME\nIN.IPV6CTL_USETEMPADDR\nIN.IPV6CTL_USE_DEPRECATED\nIN.IPV6CTL_V6ONLY\nIN.IPV6PORT_ANONMAX\nIN.IPV6PORT_ANONMIN\nIN.IPV6PORT_RESERVED\nIN.IPV6PORT_RESERVEDMAX\nIN.IPV6PORT_RESERVEDMIN\nIN.IPV6PROTO_MAXID\nIN.IPV6_BINDV6ONLY\nIN.IPV6_CHECKSUM\nIN.IPV6_DEFAULT_MULTICAST_HOPS\nIN.IPV6_DEFAULT_MULTICAST_LOOP\nIN.IPV6_DSTOPTS\nIN.IPV6_FAITH\nIN.IPV6_FW_ADD\nIN.IPV6_FW_DEL\nIN.IPV6_FW_FLUSH\nIN.IPV6_FW_GET\nIN.IPV6_FW_ZERO\nIN.IPV6_HOPLIMIT\nIN.IPV6_HOPOPTS\nIN.IPV6_IPSEC_POLICY\nIN.IPV6_JOIN_GROUP\nIN.IPV6_LEAVE_GROUP\nIN.IPV6_MULTICAST_HOPS\nIN.IPV6_MULTICAST_IF\nIN.IPV6_MULTICAST_LOOP\nIN.IPV6_NEXTHOP\nIN.IPV6_OPTIONS\nIN.IPV6_PKTINFO\nIN.IPV6_PKTOPTIONS\nIN.IPV6_PORTRANGE\nIN.IPV6_PORTRANGE_DEFAULT\nIN.IPV6_PORTRANGE_HIGH\nIN.IPV6_PORTRANGE_LOW\nIN.IPV6_RECVDSTADDR\nIN.IPV6_RECVOPTS\nIN.IPV6_RECVRETOPTS\nIN.IPV6_RETOPTS\nIN.IPV6_RTHDR\nIN.IPV6_RTHDR_LOOSE\nIN.IPV6_RTHDR_STRICT\nIN.IPV6_RTHDR_TYPE_0\nIN.IPV6_SOCKOPT_RESERVED1\nIN.IPV6_UNICAST_HOPS\nIN.IPV6_V6ONLY\nIN.IP_ADD_MEMBERSHIP\nIN.IP_DEFAULT_MULTICAST_LOOP\nIN.IP_DEFAULT_MULTICAST_TTL\nIN.IP_DROP_MEMBERSHIP\nIN.IP_DUMMYNET_CONFIGURE\nIN.IP_DUMMYNET_DEL\nIN.IP_DUMMYNET_FLUSH\nIN.IP_DUMMYNET_GET\nIN.IP_FAITH\nIN.IP_FORCE_OUT_IFP\nIN.IP_FW_ADD\nIN.IP_FW_DEL\nIN.IP_FW_FLUSH\nIN.IP_FW_GET\nIN.IP_FW_RESETLOG\nIN.IP_FW_ZERO\nIN.IP_HDRINCL\nIN.IP_IPSEC_POLICY\nIN.IP_MAX_MEMBERSHIPS\nIN.IP_MULTICAST_IF\nIN.IP_MULTICAST_LOOP\nIN.IP_MULTICAST_TTL\nIN.IP_MULTICAST_VIF\nIN.IP_NAT__XXX\nIN.IP_OLD_FW_ADD\nIN.IP_OLD_FW_DEL\nIN.IP_OLD_FW_FLUSH\nIN.IP_OLD_FW_GET\nIN.IP_OLD_FW_RESETLOG\nIN.IP_OLD_FW_ZERO\nIN.IP_OPTIONS\nIN.IP_PORTRANGE\nIN.IP_PORTRANGE_DEFAULT\nIN.IP_PORTRANGE_HIGH\nIN.IP_PORTRANGE_LOW\nIN.IP_RECVDSTADDR\nIN.IP_RECVIF\nIN.IP_RECVOPTS\nIN.IP_RECVRETOPTS\nIN.IP_RECVTTL\nIN.IP_RETOPTS\nIN.IP_RSVP_OFF\nIN.IP_RSVP_ON\nIN.IP_RSVP_VIF_OFF\nIN.IP_RSVP_VIF_ON\nIN.IP_STRIPHDR\nIN.IP_TOS\nIN.IP_TRAFFIC_MGT_BACKGROUND\nIN.IP_TTL\nIN.MSG_CTRUNC\nIN.MSG_DONTROUTE\nIN.MSG_DONTWAIT\nIN.MSG_EOF\nIN.MSG_EOR\nIN.MSG_FLUSH\nIN.MSG_HAVEMORE\nIN.MSG_HOLD\nIN.MSG_NEEDSA\nIN.MSG_OOB\nIN.MSG_PEEK\nIN.MSG_RCVMORE\nIN.MSG_SEND\nIN.MSG_TRUNC\nIN.MSG_WAITALL\nIN.MSG_WAITSTREAM\nIN.NET_MAXID\nIN.NET_RT_DUMP\nIN.NET_RT_DUMP2\nIN.NET_RT_FLAGS\nIN.NET_RT_IFLIST\nIN.NET_RT_IFLIST2\nIN.NET_RT_MAXID\nIN.NET_RT_STAT\nIN.NET_RT_TRASH\nIN.NTOHL(??)\nIN.NTOHS(??)\nIN.PF_APPLETALK\nIN.PF_ATM\nIN.PF_CCITT\nIN.PF_CHAOS\nIN.PF_CNT\nIN.PF_COIP\nIN.PF_DATAKIT\nIN.PF_DECnet\nIN.PF_DLI\nIN.PF_ECMA\nIN.PF_HYLINK\nIN.PF_IMPLINK\nIN.PF_INET\nIN.PF_INET6\nIN.PF_IPX\nIN.PF_ISDN\nIN.PF_ISO\nIN.PF_KEY\nIN.PF_LAT\nIN.PF_LINK\nIN.PF_LOCAL\nIN.PF_MAX\nIN.PF_NATM\nIN.PF_NDRV\nIN.PF_NETBIOS\nIN.PF_NETGRAPH\nIN.PF_NS\nIN.PF_OSI\nIN.PF_PIP\nIN.PF_PPP\nIN.PF_PUP\nIN.PF_RESERVED_36\nIN.PF_ROUTE\nIN.PF_RTIP\nIN.PF_SIP\nIN.PF_SNA\nIN.PF_SYSTEM\nIN.PF_UNIX\nIN.PF_UNSPEC\nIN.PF_XTP\nIN.PTRDIFF_MAX\nIN.PTRDIFF_MIN\nIN.SCM_CREDS\nIN.SCM_RIGHTS\nIN.SCM_TIMESTAMP\nIN.SHUT_RD\nIN.SHUT_RDWR\nIN.SHUT_WR\nIN.SIG_ATOMIC_MAX\nIN.SIG_ATOMIC_MIN\nIN.SOCK_DGRAM\nIN.SOCK_MAXADDRLEN\nIN.SOCK_RAW\nIN.SOCK_RDM\nIN.SOCK_SEQPACKET\nIN.SOCK_STREAM\nIN.SOL_SOCKET\nIN.SOMAXCONN\nIN.SO_ACCEPTCONN\nIN.SO_ACCEPTFILTER\nIN.SO_BROADCAST\nIN.SO_DEBUG\nIN.SO_DONTROUTE\nIN.SO_DONTTRUNC\nIN.SO_ERROR\nIN.SO_KEEPALIVE\nIN.SO_LABEL\nIN.SO_LINGER\nIN.SO_LINGER_SEC\nIN.SO_NKE\nIN.SO_NOADDRERR\nIN.SO_NOSIGPIPE\nIN.SO_NOTIFYCONFLICT\nIN.SO_NREAD\nIN.SO_NWRITE\nIN.SO_OOBINLINE\nIN.SO_PEERLABEL\nIN.SO_RCVBUF\nIN.SO_RCVLOWAT\nIN.SO_RCVTIMEO\nIN.SO_RESTRICTIONS\nIN.SO_RESTRICT_DENYIN\nIN.SO_RESTRICT_DENYOUT\nIN.SO_RESTRICT_DENYSET\nIN.SO_REUSEADDR\nIN.SO_REUSEPORT\nIN.SO_REUSESHAREUID\nIN.SO_SNDBUF\nIN.SO_SNDLOWAT\nIN.SO_SNDTIMEO\nIN.SO_TIMESTAMP\nIN.SO_TYPE\nIN.SO_USELOOPBACK\nIN.SO_WANTMORE\nIN.SO_WANTOOBFLAG\nIN.TRAFFIC_MGT_SO_BACKGROUND\nIN.TRAFFIC_MGT_SO_BG_SUPPRESSED\nIN.UINT16_MAX\nIN.UINT8_MAX\nIN.UINT_FAST16_MAX\nIN.UINT_FAST8_MAX\nIN.UINT_LEAST16_MAX\nIN.UINT_LEAST8_MAX\nIN.WCHAR_MAX\nIN.WCHAR_MIN\nIN.WINT_MAX\nIN.WINT_MIN\nIN.htonl(??)\nIN.htons(??)\nIN.ntohl(??)\nIN.ntohs(??)\nIN.pseudo_AF_HDRCMPLT\nIN.pseudo_AF_KEY\nIN.pseudo_AF_PIP\nIN.pseudo_AF_RTIP\nIN.pseudo_AF_XTP\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABC(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabc.get_cache_token(??)\nabs(number) -> number\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.namedtuple(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\naifc.warnings(??)\nall(iterable) -> bool\nany(iterable) -> bool\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\narray.ArrayType(??)\narray.array(typecode [, initializer]) -> array\narray.typecodes\nascii(object) -> string\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.Assert(??)\nast.Assign(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NameConstant(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.Try(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.YieldFrom(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nast.withitem(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque([iterable[, maxlen]]) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasynchat.socket(??)\nasyncio.ALL_COMPLETED\nasyncio.AbstractChildWatcher(??)\nasyncio.AbstractEventLoop(??)\nasyncio.AbstractEventLoopPolicy(??)\nasyncio.AbstractServer(??)\nasyncio.BaseProtocol(??)\nasyncio.BaseTransport(??)\nasyncio.BoundedSemaphore(??)\nasyncio.CancelledError(??)\nasyncio.Condition(??)\nasyncio.DatagramProtocol(??)\nasyncio.DatagramTransport(??)\nasyncio.DefaultEventLoopPolicy(??)\nasyncio.Event(??)\nasyncio.FIRST_COMPLETED\nasyncio.FIRST_EXCEPTION\nasyncio.FastChildWatcher(??)\nasyncio.Future(??)\nasyncio.Handle(??)\nasyncio.IncompleteReadError(??)\nasyncio.InvalidStateError(??)\nasyncio.JoinableQueue(??)\nasyncio.LifoQueue(??)\nasyncio.Lock(??)\nasyncio.PriorityQueue(??)\nasyncio.Protocol(??)\nasyncio.Queue(??)\nasyncio.QueueEmpty(??)\nasyncio.QueueFull(??)\nasyncio.ReadTransport(??)\nasyncio.SafeChildWatcher(??)\nasyncio.SelectorEventLoop(??)\nasyncio.Semaphore(??)\nasyncio.StreamReader(??)\nasyncio.StreamReaderProtocol(??)\nasyncio.StreamWriter(??)\nasyncio.SubprocessProtocol(??)\nasyncio.SubprocessTransport(??)\nasyncio.Task(??)\nasyncio.TimeoutError(??)\nasyncio.TimerHandle(??)\nasyncio.Transport(??)\nasyncio.WriteTransport(??)\nasyncio.as_completed(??)\nasyncio.async(??)\nasyncio.base_events(??)\nasyncio.base_events.BaseEventLoop(??)\nasyncio.base_events.Server(??)\nasyncio.base_events.collections(??)\nasyncio.base_events.concurrent(??)\nasyncio.base_events.events(??)\nasyncio.base_events.futures(??)\nasyncio.base_events.heapq(??)\nasyncio.base_events.logger(??)\nasyncio.base_events.logging(??)\nasyncio.base_events.os(??)\nasyncio.base_events.socket(??)\nasyncio.base_events.subprocess(??)\nasyncio.base_events.sys(??)\nasyncio.base_events.tasks(??)\nasyncio.base_events.time(??)\nasyncio.base_subprocess(??)\nasyncio.base_subprocess.BaseSubprocessTransport(??)\nasyncio.base_subprocess.ReadSubprocessPipeProto(??)\nasyncio.base_subprocess.WriteSubprocessPipeProto(??)\nasyncio.base_subprocess.collections(??)\nasyncio.base_subprocess.protocols(??)\nasyncio.base_subprocess.subprocess(??)\nasyncio.base_subprocess.tasks(??)\nasyncio.base_subprocess.transports(??)\nasyncio.constants(??)\nasyncio.constants.ACCEPT_RETRY_DELAY\nasyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES\nasyncio.coroutine(??)\nasyncio.create_subprocess_exec(??)\nasyncio.create_subprocess_shell(??)\nasyncio.events(??)\nasyncio.events.AbstractEventLoop(??)\nasyncio.events.AbstractEventLoopPolicy(??)\nasyncio.events.AbstractServer(??)\nasyncio.events.BaseDefaultEventLoopPolicy(??)\nasyncio.events.Handle(??)\nasyncio.events.TimerHandle(??)\nasyncio.events.get_child_watcher(??)\nasyncio.events.get_event_loop(??)\nasyncio.events.get_event_loop_policy(??)\nasyncio.events.new_event_loop(??)\nasyncio.events.set_child_watcher(??)\nasyncio.events.set_event_loop(??)\nasyncio.events.set_event_loop_policy(??)\nasyncio.events.socket(??)\nasyncio.events.subprocess(??)\nasyncio.events.threading(??)\nasyncio.futures(??)\nasyncio.futures.CancelledError(??)\nasyncio.futures.Error(??)\nasyncio.futures.Future(??)\nasyncio.futures.InvalidStateError(??)\nasyncio.futures.STACK_DEBUG\nasyncio.futures.TimeoutError(??)\nasyncio.futures.concurrent(??)\nasyncio.futures.events(??)\nasyncio.futures.logging(??)\nasyncio.futures.sys(??)\nasyncio.futures.traceback(??)\nasyncio.futures.wrap_future(??)\nasyncio.gather(??)\nasyncio.get_child_watcher(??)\nasyncio.get_event_loop(??)\nasyncio.get_event_loop_policy(??)\nasyncio.iscoroutine(??)\nasyncio.iscoroutinefunction(??)\nasyncio.locks(??)\nasyncio.locks.BoundedSemaphore(??)\nasyncio.locks.Condition(??)\nasyncio.locks.Event(??)\nasyncio.locks.Lock(??)\nasyncio.locks.Semaphore(??)\nasyncio.locks.collections(??)\nasyncio.locks.events(??)\nasyncio.locks.futures(??)\nasyncio.locks.tasks(??)\nasyncio.log(??)\nasyncio.log.logger(??)\nasyncio.log.logging(??)\nasyncio.new_event_loop(??)\nasyncio.open_connection(??)\nasyncio.open_unix_connection(??)\nasyncio.proactor_events.BaseProactorEventLoop(??)\nasyncio.proactor_events.base_events(??)\nasyncio.proactor_events.constants(??)\nasyncio.proactor_events.futures(??)\nasyncio.proactor_events.logger(??)\nasyncio.proactor_events.socket(??)\nasyncio.proactor_events.transports(??)\nasyncio.protocols(??)\nasyncio.protocols.BaseProtocol(??)\nasyncio.protocols.DatagramProtocol(??)\nasyncio.protocols.Protocol(??)\nasyncio.protocols.SubprocessProtocol(??)\nasyncio.queues(??)\nasyncio.queues.JoinableQueue(??)\nasyncio.queues.LifoQueue(??)\nasyncio.queues.PriorityQueue(??)\nasyncio.queues.Queue(??)\nasyncio.queues.QueueEmpty(??)\nasyncio.queues.QueueFull(??)\nasyncio.queues.collections(??)\nasyncio.queues.coroutine(??)\nasyncio.queues.events(??)\nasyncio.queues.futures(??)\nasyncio.queues.heapq(??)\nasyncio.queues.locks(??)\nasyncio.selector_events(??)\nasyncio.selector_events.BaseSelectorEventLoop(??)\nasyncio.selector_events.base_events(??)\nasyncio.selector_events.collections(??)\nasyncio.selector_events.constants(??)\nasyncio.selector_events.errno(??)\nasyncio.selector_events.events(??)\nasyncio.selector_events.futures(??)\nasyncio.selector_events.logger(??)\nasyncio.selector_events.selectors(??)\nasyncio.selector_events.socket(??)\nasyncio.selector_events.ssl(??)\nasyncio.selector_events.transports(??)\nasyncio.selectors(??)\nasyncio.set_child_watcher(??)\nasyncio.set_event_loop(??)\nasyncio.set_event_loop_policy(??)\nasyncio.shield(??)\nasyncio.sleep(??)\nasyncio.start_server(??)\nasyncio.start_unix_server(??)\nasyncio.streams(??)\nasyncio.streams.FlowControlMixin(??)\nasyncio.streams.IncompleteReadError(??)\nasyncio.streams.StreamReader(??)\nasyncio.streams.StreamReaderProtocol(??)\nasyncio.streams.StreamWriter(??)\nasyncio.streams.events(??)\nasyncio.streams.futures(??)\nasyncio.streams.open_connection(??)\nasyncio.streams.open_unix_connection(??)\nasyncio.streams.protocols(??)\nasyncio.streams.socket(??)\nasyncio.streams.start_server(??)\nasyncio.streams.start_unix_server(??)\nasyncio.streams.tasks(??)\nasyncio.subprocess(??)\nasyncio.subprocess.DEVNULL\nasyncio.subprocess.PIPE\nasyncio.subprocess.Process(??)\nasyncio.subprocess.STDOUT\nasyncio.subprocess.SubprocessStreamProtocol(??)\nasyncio.subprocess.collections(??)\nasyncio.subprocess.create_subprocess_exec(??)\nasyncio.subprocess.create_subprocess_shell(??)\nasyncio.subprocess.events(??)\nasyncio.subprocess.futures(??)\nasyncio.subprocess.protocols(??)\nasyncio.subprocess.streams(??)\nasyncio.subprocess.subprocess(??)\nasyncio.subprocess.tasks(??)\nasyncio.sys(??)\nasyncio.tasks(??)\nasyncio.tasks.ALL_COMPLETED\nasyncio.tasks.CoroWrapper(??)\nasyncio.tasks.FIRST_COMPLETED\nasyncio.tasks.FIRST_EXCEPTION\nasyncio.tasks.Task(??)\nasyncio.tasks.as_completed(??)\nasyncio.tasks.async(??)\nasyncio.tasks.concurrent(??)\nasyncio.tasks.coroutine(??)\nasyncio.tasks.events(??)\nasyncio.tasks.functools(??)\nasyncio.tasks.futures(??)\nasyncio.tasks.gather(??)\nasyncio.tasks.inspect(??)\nasyncio.tasks.iscoroutine(??)\nasyncio.tasks.iscoroutinefunction(??)\nasyncio.tasks.linecache(??)\nasyncio.tasks.logger(??)\nasyncio.tasks.os(??)\nasyncio.tasks.shield(??)\nasyncio.tasks.sleep(??)\nasyncio.tasks.sys(??)\nasyncio.tasks.traceback(??)\nasyncio.tasks.wait(??)\nasyncio.tasks.wait_for(??)\nasyncio.tasks.weakref(??)\nasyncio.test_utils.HTTPServer(??)\nasyncio.test_utils.MockCallback(??)\nasyncio.test_utils.MockPattern(??)\nasyncio.test_utils.SSLWSGIServer(??)\nasyncio.test_utils.SSLWSGIServerMixin(??)\nasyncio.test_utils.SilentUnixWSGIServer(??)\nasyncio.test_utils.SilentWSGIRequestHandler(??)\nasyncio.test_utils.SilentWSGIServer(??)\nasyncio.test_utils.TestLoop(??)\nasyncio.test_utils.TestSelector(??)\nasyncio.test_utils.UnixHTTPServer(??)\nasyncio.test_utils.UnixSSLWSGIServer(??)\nasyncio.test_utils.UnixWSGIServer(??)\nasyncio.test_utils.WSGIRequestHandler(??)\nasyncio.test_utils.WSGIServer(??)\nasyncio.test_utils.base_events(??)\nasyncio.test_utils.collections(??)\nasyncio.test_utils.contextlib(??)\nasyncio.test_utils.dummy_ssl_context(??)\nasyncio.test_utils.events(??)\nasyncio.test_utils.gen_unix_socket_path(??)\nasyncio.test_utils.io(??)\nasyncio.test_utils.make_test_protocol(??)\nasyncio.test_utils.os(??)\nasyncio.test_utils.re(??)\nasyncio.test_utils.run_briefly(??)\nasyncio.test_utils.run_once(??)\nasyncio.test_utils.run_test_server(??)\nasyncio.test_utils.run_test_unix_server(??)\nasyncio.test_utils.run_until(??)\nasyncio.test_utils.selectors(??)\nasyncio.test_utils.socket(??)\nasyncio.test_utils.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nasyncio.test_utils.socketserver(??)\nasyncio.test_utils.ssl(??)\nasyncio.test_utils.sys(??)\nasyncio.test_utils.tasks(??)\nasyncio.test_utils.tempfile(??)\nasyncio.test_utils.threading(??)\nasyncio.test_utils.time(??)\nasyncio.test_utils.unittest(??)\nasyncio.test_utils.unix_socket_path(??)\nasyncio.transports(??)\nasyncio.transports.BaseTransport(??)\nasyncio.transports.DatagramTransport(??)\nasyncio.transports.ReadTransport(??)\nasyncio.transports.SubprocessTransport(??)\nasyncio.transports.Transport(??)\nasyncio.transports.WriteTransport(??)\nasyncio.transports.sys(??)\nasyncio.unix_events(??)\nasyncio.unix_events.AbstractChildWatcher(??)\nasyncio.unix_events.BaseChildWatcher(??)\nasyncio.unix_events.DefaultEventLoopPolicy(??)\nasyncio.unix_events.FastChildWatcher(??)\nasyncio.unix_events.SafeChildWatcher(??)\nasyncio.unix_events.SelectorEventLoop(??)\nasyncio.unix_events.base_events(??)\nasyncio.unix_events.base_subprocess(??)\nasyncio.unix_events.constants(??)\nasyncio.unix_events.errno(??)\nasyncio.unix_events.events(??)\nasyncio.unix_events.fcntl(??)\nasyncio.unix_events.logger(??)\nasyncio.unix_events.os(??)\nasyncio.unix_events.selector_events(??)\nasyncio.unix_events.signal(??)\nasyncio.unix_events.socket(??)\nasyncio.unix_events.stat(??)\nasyncio.unix_events.subprocess(??)\nasyncio.unix_events.sys(??)\nasyncio.unix_events.tasks(??)\nasyncio.unix_events.threading(??)\nasyncio.unix_events.transports(??)\nasyncio.wait(??)\nasyncio.wait_for(??)\nasyncio.wrap_future(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.fcntl(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\naudioop.add(??)\naudioop.adpcm2lin(??)\naudioop.alaw2lin(??)\naudioop.avg(??)\naudioop.avgpp(??)\naudioop.bias(??)\naudioop.byteswap(??)\naudioop.cross(??)\naudioop.error(??)\naudioop.findfactor(??)\naudioop.findfit(??)\naudioop.findmax(??)\naudioop.getsample(??)\naudioop.lin2adpcm(??)\naudioop.lin2alaw(??)\naudioop.lin2lin(??)\naudioop.lin2ulaw(??)\naudioop.max(??)\naudioop.maxpp(??)\naudioop.minmax(??)\naudioop.mul(??)\naudioop.ratecv(??)\naudioop.reverse(??)\naudioop.rms(??)\naudioop.tomono(??)\naudioop.tostereo(??)\naudioop.ulaw2lin(??)\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.a85decode(??)\nbase64.a85encode(??)\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.b85decode(??)\nbase64.b85encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.itertools(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.CO_GENERATOR\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(number) -> string\nbinascii.Error(??)\nbinascii.Incomplete(??)\nbinascii.a2b_base64(??)\nbinascii.a2b_hex(??)\nbinascii.a2b_hqx(??)\nbinascii.a2b_qp(??)\nbinascii.a2b_uu(??)\nbinascii.b2a_base64(??)\nbinascii.b2a_hex(??)\nbinascii.b2a_hqx(??)\nbinascii.b2a_qp(??)\nbinascii.b2a_uu(??)\nbinascii.crc32(??)\nbinascii.crc_hqx(??)\nbinascii.hexlify(??)\nbinascii.rlecode_hqx(??)\nbinascii.rledecode_hqx(??)\nbinascii.unhexlify(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(number) -> number\nbuiltins.all(iterable) -> bool\nbuiltins.any(iterable) -> bool\nbuiltins.ascii(object) -> string\nbuiltins.bin(number) -> string\nbuiltins.bool(x) -> bool\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(object) -> bool\nbuiltins.chr(i) -> Unicode character\nbuiltins.classmethod(function) -> method\nbuiltins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object\nbuiltins.complex(real[, imag]) -> complex number\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(object, name)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(x, y) -> (div, mod)\nbuiltins.enumerate(iterable[, start]) -> iterator for index, value of iterable\nbuiltins.eval(source[, globals[, locals]]) -> value\nbuiltins.exec(object[, globals[, locals]])\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(x) -> floating point number\nbuiltins.format(value[, format_spec]) -> string\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals() -> dictionary\nbuiltins.hasattr(object, name) -> bool\nbuiltins.hash(object) -> integer\nbuiltins.help(??)\nbuiltins.hex(number) -> string\nbuiltins.id(object) -> integer\nbuiltins.input([prompt]) -> string\nbuiltins.int(x=0) -> integer\nbuiltins.isinstance(object, class-or-type-or-tuple) -> bool\nbuiltins.issubclass(C, B) -> bool\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(module, object)\nbuiltins.license(??)\nbuiltins.list() -> new empty list\nbuiltins.locals() -> dictionary\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable[, key=func]) -> value\nbuiltins.memoryview(object)\nbuiltins.min(iterable[, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(number) -> string\nbuiltins.open(??)\nbuiltins.ord(c) -> integer\nbuiltins.pow(x, y[, z]) -> number\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute\nbuiltins.quit(??)\nbuiltins.range(stop) -> range object\nbuiltins.repr(object) -> string\nbuiltins.reversed(sequence) -> reverse iterator over values of the sequence\nbuiltins.round(number[, ndigits]) -> number\nbuiltins.set() -> new empty set object\nbuiltins.setattr(object, name, value)\nbuiltins.slice(stop)\nbuiltins.sorted(iterable, key=None, reverse=False) --> new sorted list\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object='') -> str\nbuiltins.sum(iterable[, start]) -> value\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple() -> empty tuple\nbuiltins.type(object_or_name, bases, dict)\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(??)\nbz2.BZ2Decompressor(??)\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.warnings(??)\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(object) -> bool\ncgi.BytesIO([buffer]) -> object\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.Mapping(??)\ncgi.Message(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.escape(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(i) -> Unicode character\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmath.acos(x)\ncmath.acosh(x)\ncmath.asin(x)\ncmath.asinh(x)\ncmath.atan(x)\ncmath.atanh(x)\ncmath.cos(x)\ncmath.cosh(x)\ncmath.e\ncmath.exp(x)\ncmath.isfinite(z) -> bool\ncmath.isinf(z) -> bool\ncmath.isnan(z) -> bool\ncmath.log(x[, base]) -> the logarithm of x to the given base.\ncmath.log10(x)\ncmath.phase(z) -> float\ncmath.pi\ncmath.polar(z) -> r: float, phi: float\ncmath.rect(r, phi) -> z: complex\ncmath.sin(x)\ncmath.sinh(x)\ncmath.sqrt(x)\ncmath.tan(x)\ncmath.tanh(x)\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(obj, [encoding[,errors]]) -> object\ncodecs.encode(obj, [encoding[,errors]]) -> object\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(encoding) -> CodecInfo\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(search_function)\ncodecs.register_error(errors, handler)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.ChainMap(??)\ncollections.Container(??)\ncollections.Counter(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Container(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.defaultdict(default_factory[, ...]) --> dict with default factory\ncollections.deque([iterable[, maxlen]]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(source, filename, mode[, flags[, dont_inherit]]) -> code object\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.errno(??)\ncompileall.importlib(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(real[, imag]) -> complex number\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.Full(??)\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.SimpleQueue(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.wait(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque([iterable[, maxlen]]) --> deque object\ncontextlib.redirect_stdout(??)\ncontextlib.suppress(??)\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncopy.Error(??)\ncopy.PyStringMap(??)\ncopy.builtins(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopy.name\ncopy.t(??)\ncopy.weakref(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.islice(iterable, stop) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables, repeat=1) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util.contextlib(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.newpad(??)\ncurses.newwin(??)\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.wrapper(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(object, name)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.get_close_matches(??)\ndifflib.heapq(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndifflib.warnings(??)\ndir([object]) -> list of strings\ndis.Bytecode(??)\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.Instruction(??)\ndis.cmp_op(??)\ndis.code_info(??)\ndis.collections(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.get_instructions(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.io(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.stack_effect(??)\ndis.sys(??)\ndis.types(??)\ndivmod(x, y) -> (div, mod)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.FAIL_FAST\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.argparse(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread(??)\ndummy_threading.ThreadError(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.contentmanager.ContentManager(??)\nemail.contentmanager.binascii(??)\nemail.contentmanager.email(??)\nemail.contentmanager.get_and_fixup_unknown_message_content(??)\nemail.contentmanager.get_message_content(??)\nemail.contentmanager.get_non_text_content(??)\nemail.contentmanager.get_text_content(??)\nemail.contentmanager.maintype\nemail.contentmanager.quoprimime(??)\nemail.contentmanager.raw_data_manager(??)\nemail.contentmanager.set_bytes_content(??)\nemail.contentmanager.set_message_content(??)\nemail.contentmanager.set_text_content(??)\nemail.contentmanager.subtype\nemail.contentmanager.typ(??)\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.compat32(??)\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.message(??)\nemail.feedparser.re(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO([buffer]) -> object\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.Header(??)\nemail.generator.NL\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.compat32(??)\nemail.generator.deepcopy(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.generator.warnings(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO([buffer]) -> object\nemail.message.Charset(??)\nemail.message.EmailMessage(??)\nemail.message.MIMEPart(??)\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO([buffer]) -> object\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.mime.text.encode_7or8bit(??)\nemail.parser(??)\nemail.parser.BytesFeedParser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Message(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.parser.warnings(??)\nemail.policy.Compat32(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.raw_data_manager(??)\nemail.policy.strict(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.io(??)\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.StringIO(??)\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.base64(??)\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nemail.utils.warnings(??)\nensurepip.bootstrap(??)\nensurepip.os(??)\nensurepip.pkgutil(??)\nensurepip.ssl(??)\nensurepip.sys(??)\nensurepip.tempfile(??)\nensurepip.version(??)\nenum.DynamicClassAttribute(??)\nenum.Enum(??)\nenum.EnumMeta(??)\nenum.IntEnum(??)\nenum.MappingProxyType(??)\nenum.OrderedDict(??)\nenum.sys(??)\nenum.unique(??)\nenumerate(iterable[, start]) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(source[, globals[, locals]]) -> value\nexec(object[, globals[, locals]])\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfcntl.FASYNC\nfcntl.FD_CLOEXEC\nfcntl.F_DUPFD\nfcntl.F_FULLFSYNC\nfcntl.F_GETFD\nfcntl.F_GETFL\nfcntl.F_GETLK\nfcntl.F_GETOWN\nfcntl.F_NOCACHE\nfcntl.F_RDLCK\nfcntl.F_SETFD\nfcntl.F_SETFL\nfcntl.F_SETLK\nfcntl.F_SETLKW\nfcntl.F_SETOWN\nfcntl.F_UNLCK\nfcntl.F_WRLCK\nfcntl.LOCK_EX\nfcntl.LOCK_NB\nfcntl.LOCK_SH\nfcntl.LOCK_UN\nfcntl.fcntl(fd, op, [arg])\nfcntl.flock(fd, operation)\nfcntl.ioctl(fd, op[, arg[, mutate_flag]])\nfcntl.lockf (fd, operation, length=0, start=0, whence=0)\nfilecmp.BUFSIZE\nfilecmp.DEFAULT_IGNORES(??)\nfilecmp.clear_cache(??)\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]])\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(??)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(value[, format_spec]) -> string\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nformatter.warnings(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MAXLINE\nftplib.MSG_OOB\nftplib.Netrc(??)\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.os(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nftplib.warnings(??)\nfunctools.MappingProxyType(??)\nfunctools.MethodType(??)\nfunctools.RLock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.WeakKeyDictionary(??)\nfunctools.cmp_to_key(??)\nfunctools.get_cache_token(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.partialmethod(??)\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.singledispatch(??)\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage(??)\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_stats() -> [...]\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.samefile(??)\ngenericpath.sameopenfile(??)\ngenericpath.samestat(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.contextlib(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.io(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.io(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.struct(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.escape(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglobals() -> dictionary\ngrp.getgrall() -> list of tuples\ngrp.getgrgid(id) -> tuple\ngrp.getgrnam(name) -> tuple\ngrp.struct_group(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.open(??)\ngzip.os(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(object, name) -> bool\nhash(object) -> integer\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.pbkdf2_hmac(??)\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha512(??)\nheapq.chain(*iterables) --> chain object\nheapq.count(start=0, step=1) --> count object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nheapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item\nheapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item.\nheapq.islice(iterable, stop) --> islice object\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nheapq.tee(iterable, n=2) --> tuple of n independent iterators.\nhelp(??)\nhex(number) -> string\nhmac.HMAC(??)\nhmac.compare_digest(a, b) -> bool\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParseError(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.unescape(??)\nhtml.parser.warnings(??)\nhtml.unescape(??)\nhttp.client(??)\nhttp.client.ACCEPTED\nhttp.client.BAD_GATEWAY\nhttp.client.BAD_REQUEST\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT\nhttp.client.CONTINUE\nhttp.client.CREATED\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED\nhttp.client.FAILED_DEPENDENCY\nhttp.client.FORBIDDEN\nhttp.client.FOUND\nhttp.client.GATEWAY_TIMEOUT\nhttp.client.GONE\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED\nhttp.client.IM_USED\nhttp.client.INSUFFICIENT_STORAGE\nhttp.client.INTERNAL_SERVER_ERROR\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED\nhttp.client.LOCKED\nhttp.client.LineTooLong(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED\nhttp.client.MOVED_PERMANENTLY\nhttp.client.MULTIPLE_CHOICES\nhttp.client.MULTI_STATUS\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED\nhttp.client.NON_AUTHORITATIVE_INFORMATION\nhttp.client.NOT_ACCEPTABLE\nhttp.client.NOT_EXTENDED\nhttp.client.NOT_FOUND\nhttp.client.NOT_IMPLEMENTED\nhttp.client.NOT_MODIFIED\nhttp.client.NO_CONTENT\nhttp.client.NotConnected(??)\nhttp.client.OK\nhttp.client.PARTIAL_CONTENT\nhttp.client.PAYMENT_REQUIRED\nhttp.client.PRECONDITION_FAILED\nhttp.client.PRECONDITION_REQUIRED\nhttp.client.PROCESSING\nhttp.client.PROXY_AUTHENTICATION_REQUIRED\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE\nhttp.client.REQUEST_ENTITY_TOO_LARGE\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE\nhttp.client.REQUEST_TIMEOUT\nhttp.client.REQUEST_URI_TOO_LONG\nhttp.client.RESET_CONTENT\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER\nhttp.client.SERVICE_UNAVAILABLE\nhttp.client.SWITCHING_PROTOCOLS\nhttp.client.TEMPORARY_REDIRECT\nhttp.client.TOO_MANY_REQUESTS\nhttp.client.UNAUTHORIZED\nhttp.client.UNPROCESSABLE_ENTITY\nhttp.client.UNSUPPORTED_MEDIA_TYPE\nhttp.client.UPGRADE_REQUIRED\nhttp.client.USE_PROXY\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.io(??)\nhttp.client.os(??)\nhttp.client.parse_headers(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.client.warnings(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.argparse(??)\nhttp.server.copy(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(object) -> integer\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.DEFAULT_BUFFER_SIZE\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.SourcelessFileLoader(??)\nimp.acquire_lock(??)\nimp.cache_from_source(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.importlib(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held(??)\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock(??)\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.types(??)\nimp.util(??)\nimp.warnings(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.ModuleSpec(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.reload(??)\nimportlib.sys(??)\nimportlib.types(??)\nimportlib.util(??)\nimportlib.util.MAGIC_NUMBER\nimportlib.util.cache_from_source(??)\nimportlib.util.contextmanager(??)\nimportlib.util.decode_source(??)\nimportlib.util.find_spec(??)\nimportlib.util.functools(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\nimportlib.util.source_from_cache(??)\nimportlib.util.spec_from_file_location(??)\nimportlib.util.spec_from_loader(??)\nimportlib.util.sys(??)\nimportlib.util.warnings(??)\nimportlib.warnings(??)\ninput([prompt]) -> string\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CO_GENERATOR\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.ast(??)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.currentframe(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.token(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.unwrap(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint(x=0) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO([buffer]) -> object\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(object, class-or-type-or-tuple) -> bool\nissubclass(C, B) -> bool\niter(iterable) -> iterator\nitertools.accumulate(iterable[, func]) --> accumulate object\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.islice(iterable, stop) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables, repeat=1) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring(??)\njson.decoder.errmsg(??)\njson.decoder.linecol(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.FLOAT_REPR(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(??)\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(module, object)\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist() -> new empty list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.collections(??)\nlocale.currency(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.k\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.v\nlocale.windows_locale(??)\nlocals() -> dictionary\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.socket(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.thread(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BOM_UTF8\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.errno(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(??)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(??)\nlzma.open(??)\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFDOOR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFPORT\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IFWHT\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(mode) -> bool\nmacpath.S_ISCHR(mode) -> bool\nmacpath.S_ISDIR(mode) -> bool\nmacpath.S_ISDOOR(mode) -> bool\nmacpath.S_ISFIFO(mode) -> bool\nmacpath.S_ISGID\nmacpath.S_ISLNK(mode) -> bool\nmacpath.S_ISPORT(mode) -> bool\nmacpath.S_ISREG(mode) -> bool\nmacpath.S_ISSOCK(mode) -> bool\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_ISWHT(mode) -> bool\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_COMPRESSED\nmacpath.UF_HIDDEN\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.filemode(??)\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.samefile(??)\nmacpath.sameopenfile(??)\nmacpath.samestat(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacurl2path.os(??)\nmacurl2path.pathname2url(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.sys(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(func, *iterables) --> map object\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(bytes)\nmarshal.version\nmath.acos(x)\nmath.acosh(x)\nmath.asin(x)\nmath.asinh(x)\nmath.atan(x)\nmath.atan2(y, x)\nmath.atanh(x)\nmath.ceil(x)\nmath.copysign(x, y)\nmath.cos(x)\nmath.cosh(x)\nmath.degrees(x)\nmath.e\nmath.erf(x)\nmath.erfc(x)\nmath.exp(x)\nmath.expm1(x)\nmath.fabs(x)\nmath.factorial(x) -> Integral\nmath.floor(x)\nmath.fmod(x, y)\nmath.frexp(x)\nmath.fsum(iterable)\nmath.gamma(x)\nmath.hypot(x, y)\nmath.isfinite(x) -> bool\nmath.isinf(x) -> bool\nmath.isnan(x) -> bool\nmath.ldexp(x, i)\nmath.lgamma(x)\nmath.log(x[, base])\nmath.log10(x)\nmath.log1p(x)\nmath.log2(x)\nmath.modf(x)\nmath.pi\nmath.pow(x, y)\nmath.radians(x)\nmath.sin(x)\nmath.sinh(x)\nmath.sqrt(x)\nmath.tan(x)\nmath.tanh(x)\nmath.trunc(x:Real) -> Integral\nmax(iterable[, key=func]) -> value\nmemoryview(object)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable[, key=func]) -> value\nmmap.ACCESS_COPY\nmmap.ACCESS_READ\nmmap.ACCESS_WRITE\nmmap.ALLOCATIONGRANULARITY\nmmap.MAP_ANON\nmmap.MAP_ANONYMOUS\nmmap.MAP_PRIVATE\nmmap.MAP_SHARED\nmmap.PAGESIZE\nmmap.PROT_EXEC\nmmap.PROT_READ\nmmap.PROT_WRITE\nmmap.error(??)\nmmap.mmap(??)\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.imp(??)\nmodulefinder.importlib(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.struct(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmodulefinder.warnings(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.ForkingPickler(??)\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.errno(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.rebuild_connection(??)\nmultiprocessing.connection.reduce_connection(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.selectors(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.util(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.context(??)\nmultiprocessing.context.AuthenticationError(??)\nmultiprocessing.context.BaseContext(??)\nmultiprocessing.context.BufferTooShort(??)\nmultiprocessing.context.DefaultContext(??)\nmultiprocessing.context.ForkContext(??)\nmultiprocessing.context.ForkProcess(??)\nmultiprocessing.context.ForkServerContext(??)\nmultiprocessing.context.ForkServerProcess(??)\nmultiprocessing.context.Process(??)\nmultiprocessing.context.ProcessError(??)\nmultiprocessing.context.SpawnContext(??)\nmultiprocessing.context.SpawnProcess(??)\nmultiprocessing.context.TimeoutError(??)\nmultiprocessing.context.assert_spawning(??)\nmultiprocessing.context.get_spawning_popen(??)\nmultiprocessing.context.os(??)\nmultiprocessing.context.process(??)\nmultiprocessing.context.set_spawning_popen(??)\nmultiprocessing.context.sys(??)\nmultiprocessing.context.threading(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list() -> new empty list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forkserver.ForkServer(??)\nmultiprocessing.forkserver.MAXFDS_TO_SEND\nmultiprocessing.forkserver.UNSIGNED_STRUCT(??)\nmultiprocessing.forkserver.connect_to_new_process(??)\nmultiprocessing.forkserver.connection(??)\nmultiprocessing.forkserver.ensure_running(??)\nmultiprocessing.forkserver.errno(??)\nmultiprocessing.forkserver.get_inherited_fds(??)\nmultiprocessing.forkserver.main(??)\nmultiprocessing.forkserver.os(??)\nmultiprocessing.forkserver.process(??)\nmultiprocessing.forkserver.read_unsigned(??)\nmultiprocessing.forkserver.reduction(??)\nmultiprocessing.forkserver.selectors(??)\nmultiprocessing.forkserver.semaphore_tracker(??)\nmultiprocessing.forkserver.set_forkserver_preload(??)\nmultiprocessing.forkserver.signal(??)\nmultiprocessing.forkserver.socket(??)\nmultiprocessing.forkserver.spawn(??)\nmultiprocessing.forkserver.struct(??)\nmultiprocessing.forkserver.sys(??)\nmultiprocessing.forkserver.threading(??)\nmultiprocessing.forkserver.util(??)\nmultiprocessing.forkserver.write_unsigned(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_all_start_methods(??)\nmultiprocessing.get_context(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.get_start_method(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.context(??)\nmultiprocessing.heap.itertools(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.rebuild_arena(??)\nmultiprocessing.heap.reduce_arena(??)\nmultiprocessing.heap.reduction(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.heap.util(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.context(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.get_context(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.pool(??)\nmultiprocessing.managers.process(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.reduction(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.AsyncResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.ExceptionWithTraceback(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.RemoteTraceback(??)\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.cpu_count(??)\nmultiprocessing.pool.get_context(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.os(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.rebuild_exc(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.traceback(??)\nmultiprocessing.pool.util(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.popen_fork.Popen(??)\nmultiprocessing.popen_fork.errno(??)\nmultiprocessing.popen_fork.os(??)\nmultiprocessing.popen_fork.signal(??)\nmultiprocessing.popen_fork.sys(??)\nmultiprocessing.popen_fork.util(??)\nmultiprocessing.popen_forkserver.Popen(??)\nmultiprocessing.popen_forkserver.context(??)\nmultiprocessing.popen_forkserver.forkserver(??)\nmultiprocessing.popen_forkserver.io(??)\nmultiprocessing.popen_forkserver.os(??)\nmultiprocessing.popen_forkserver.popen_fork(??)\nmultiprocessing.popen_forkserver.reduction(??)\nmultiprocessing.popen_forkserver.spawn(??)\nmultiprocessing.popen_forkserver.util(??)\nmultiprocessing.popen_spawn_posix.Popen(??)\nmultiprocessing.popen_spawn_posix.context(??)\nmultiprocessing.popen_spawn_posix.current_process(??)\nmultiprocessing.popen_spawn_posix.fcntl(??)\nmultiprocessing.popen_spawn_posix.io(??)\nmultiprocessing.popen_spawn_posix.os(??)\nmultiprocessing.popen_spawn_posix.popen_fork(??)\nmultiprocessing.popen_spawn_posix.reduction(??)\nmultiprocessing.popen_spawn_posix.spawn(??)\nmultiprocessing.popen_spawn_posix.util(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.BaseProcess(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.ForkingPickler(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.connection(??)\nmultiprocessing.queues.context(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.is_exiting(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.HAVE_SEND_HANDLE(??)\nmultiprocessing.reduction.array(??)\nmultiprocessing.reduction.context(??)\nmultiprocessing.reduction.copyreg(??)\nmultiprocessing.reduction.dump(??)\nmultiprocessing.reduction.functools(??)\nmultiprocessing.reduction.io(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.pickle(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.recvfds(??)\nmultiprocessing.reduction.register(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.sendfds(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.reduction.util(??)\nmultiprocessing.resource_sharer.DupFd(??)\nmultiprocessing.resource_sharer.os(??)\nmultiprocessing.resource_sharer.process(??)\nmultiprocessing.resource_sharer.reduction(??)\nmultiprocessing.resource_sharer.signal(??)\nmultiprocessing.resource_sharer.socket(??)\nmultiprocessing.resource_sharer.stop(??)\nmultiprocessing.resource_sharer.sys(??)\nmultiprocessing.resource_sharer.threading(??)\nmultiprocessing.resource_sharer.util(??)\nmultiprocessing.semaphore_tracker.SemaphoreTracker(??)\nmultiprocessing.semaphore_tracker.current_process(??)\nmultiprocessing.semaphore_tracker.ensure_running(??)\nmultiprocessing.semaphore_tracker.errno(??)\nmultiprocessing.semaphore_tracker.getfd(??)\nmultiprocessing.semaphore_tracker.main(??)\nmultiprocessing.semaphore_tracker.os(??)\nmultiprocessing.semaphore_tracker.register(??)\nmultiprocessing.semaphore_tracker.signal(??)\nmultiprocessing.semaphore_tracker.spawn(??)\nmultiprocessing.semaphore_tracker.sys(??)\nmultiprocessing.semaphore_tracker.threading(??)\nmultiprocessing.semaphore_tracker.unregister(??)\nmultiprocessing.semaphore_tracker.util(??)\nmultiprocessing.semaphore_tracker.warnings(??)\nmultiprocessing.set_executable(??)\nmultiprocessing.set_forkserver_preload(??)\nmultiprocessing.set_start_method(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.get_context(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.spawn.WINEXE(??)\nmultiprocessing.spawn.WINSERVICE(??)\nmultiprocessing.spawn.freeze_support(??)\nmultiprocessing.spawn.get_command_line(??)\nmultiprocessing.spawn.get_executable(??)\nmultiprocessing.spawn.get_preparation_data(??)\nmultiprocessing.spawn.get_start_method(??)\nmultiprocessing.spawn.import_main_path(??)\nmultiprocessing.spawn.is_forking(??)\nmultiprocessing.spawn.old_main_modules(??)\nmultiprocessing.spawn.os(??)\nmultiprocessing.spawn.pickle(??)\nmultiprocessing.spawn.prepare(??)\nmultiprocessing.spawn.process(??)\nmultiprocessing.spawn.runpy(??)\nmultiprocessing.spawn.set_executable(??)\nmultiprocessing.spawn.set_start_method(??)\nmultiprocessing.spawn.spawn_main(??)\nmultiprocessing.spawn.sys(??)\nmultiprocessing.spawn.types(??)\nmultiprocessing.spawn.util(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.context(??)\nmultiprocessing.synchronize.itertools(??)\nmultiprocessing.synchronize.os(??)\nmultiprocessing.synchronize.process(??)\nmultiprocessing.synchronize.sem_unlink(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.tempfile(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.synchronize.util(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.MAXFD\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.close_all_fds_except(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.functools(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.process(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.spawnv_passfds(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.sys(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnetrc.stat(??)\nnext(iterator[, default])\nnis.cat(map, domain = defaultdomain)\nnis.error(??)\nnis.get_default_domain() -> str\nnis.maps(domain = defaultdomain)\nnis.match(key, map, domain = defaultdomain)\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(number) -> string\nopen(??)\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(a, b) -- Same as a<=b.\noperator.length_hint(obj, default=0) -> int\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.rshift(a, b) -- Same as a >> b.\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(c) -> integer\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_TRAPPED\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(status) -> bool\nos.WEXITED\nos.WEXITSTATUS(status) -> integer\nos.WIFCONTINUED(status) -> bool\nos.WIFEXITED(status) -> bool\nos.WIFSIGNALED(status) -> bool\nos.WIFSTOPPED(status) -> bool\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(status) -> integer\nos.WTERMSIG(status) -> integer\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort() -> does not return!\nos.access(??)\nos.altsep(??)\nos.chdir(path)\nos.chflags(path, flags, *, follow_symlinks=True)\nos.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)\nos.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)\nos.chroot(path)\nos.close(fd)\nos.closerange(fd_low, fd_high)\nos.confstr(name) -> string\nos.confstr_names(??)\nos.cpu_count() -> integer\nos.ctermid() -> string\nos.curdir\nos.defpath\nos.device_encoding(fd) -> str\nos.devnull\nos.dup(fd) -> fd2\nos.dup2(old_fd, new_fd)\nos.environ(??)\nos.environb(??)\nos.errno(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(path, args)\nos.execve(path, args, env)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(fd)\nos.fchmod(fd, mode)\nos.fchown(fd, uid, gid)\nos.fdopen(??)\nos.fork() -> pid\nos.forkpty() -> (pid, master_fd)\nos.fpathconf(fd, name) -> integer\nos.fsdecode(??)\nos.fsencode(??)\nos.fstat(fd) -> stat result\nos.fstatvfs(fd) -> statvfs result\nos.fsync(fildes)\nos.ftruncate(fd, length)\nos.get_exec_path(??)\nos.get_inheritable(fd) -> bool\nos.get_terminal_size(??)\nos.getcwd() -> path\nos.getcwdb() -> path\nos.getegid() -> egid\nos.getenv(??)\nos.getenvb(??)\nos.geteuid() -> euid\nos.getgid() -> gid\nos.getgrouplist(user, group) -> list of groups to which a user belongs\nos.getgroups() -> list of group IDs\nos.getloadavg() -> (float, float, float)\nos.getlogin() -> string\nos.getpgid(pid) -> pgid\nos.getpgrp() -> pgrp\nos.getpid() -> pid\nos.getppid() -> ppid\nos.getpriority(which, who) -> current_priority\nos.getsid(pid) -> sid\nos.getuid() -> uid\nos.initgroups(username, gid) -> None\nos.isatty(fd) -> bool\nos.kill(pid, sig)\nos.killpg(pgid, sig)\nos.lchflags(path, flags)\nos.lchmod(path, mode)\nos.lchown(path, uid, gid)\nos.linesep\nos.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)\nos.listdir(path='.') -> list_of_filenames\nos.lockf(fd, cmd, len)\nos.lseek(fd, pos, how) -> newpos\nos.lstat(path, *, dir_fd=None) -> stat result\nos.major(device) -> major number\nos.makedev(major, minor) -> device number\nos.makedirs(path [, mode=0o777][, exist_ok=False])\nos.minor(device) -> minor number\nos.mkdir(path, mode=0o777, *, dir_fd=None)\nos.mkfifo(path, mode=0o666, *, dir_fd=None)\nos.mknod(filename, mode=0o600, device=0, *, dir_fd=None)\nos.name\nos.nice(inc) -> new_priority\nos.open(path, flags, mode=0o777, *, dir_fd=None)\nos.openpty() -> (master_fd, slave_fd)\nos.pardir\nos.path(??)\nos.pathconf(path, name) -> integer\nos.pathconf_names(??)\nos.pathsep\nos.pipe() -> (read_end, write_end)\nos.popen(??)\nos.pread(fd, buffersize, offset) -> string\nos.putenv(key, value)\nos.pwrite(fd, string, offset) -> byteswritten\nos.read(fd, buffersize) -> bytes\nos.readlink(path, *, dir_fd=None) -> path\nos.readv(fd, buffers) -> bytesread\nos.remove(path, *, dir_fd=None)\nos.removedirs(path)\nos.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nos.renames(old, new)\nos.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nos.rmdir(path, *, dir_fd=None)\nos.sched_get_priority_max(policy)\nos.sched_get_priority_min(policy)\nos.sched_yield()\nos.sendfile(out, in, offset, nbytes) -> byteswritten\nos.sep\nos.set_inheritable(fd, inheritable)\nos.setegid(gid)\nos.seteuid(uid)\nos.setgid(gid)\nos.setgroups(list)\nos.setpgid(pid, pgrp)\nos.setpgrp()\nos.setpriority(which, who, prio) -> None\nos.setregid(rgid, egid)\nos.setreuid(ruid, euid)\nos.setsid()\nos.setuid(uid)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(??)\nos.stat_float_times([newval]) -> oldval\nos.stat_result(??)\nos.statvfs(path)\nos.statvfs_result(??)\nos.strerror(code) -> string\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(src, dst, target_is_directory=False, *, dir_fd=None)\nos.sync()\nos.sys(??)\nos.sysconf(name) -> integer\nos.sysconf_names(??)\nos.system(command) -> exit_status\nos.tcgetpgrp(fd) -> pgid\nos.tcsetpgrp(fd, pgid)\nos.terminal_size(??)\nos.times() -> times_result\nos.times_result(??)\nos.truncate(path, length)\nos.ttyname(??)\nos.umask(new_mask) -> old_mask\nos.uname() -> uname_result\nos.uname_result(??)\nos.unlink(path, *, dir_fd=None)\nos.unsetenv(key)\nos.urandom(n) -> str\nos.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)\nos.wait() -> (pid, status)\nos.wait3(options) -> (pid, status, rusage)\nos.wait4(pid, options) -> (pid, status, rusage)\nos.waitpid(pid, options) -> (pid, status)\nos.walk(??)\nos.write(fd, data) -> byteswritten\nos.writev(fd, buffers) -> byteswritten\nparser.ParserError(??)\nparser.STType(??)\nparser.compilest(??)\nparser.expr(??)\nparser.isexpr(??)\nparser.issuite(??)\nparser.sequence2st(??)\nparser.st2list(??)\nparser.st2tuple(??)\nparser.suite(??)\nparser.tuple2st(??)\npathlib.EINVAL\npathlib.ENOENT\npathlib.Path(??)\npathlib.PosixPath(??)\npathlib.PurePath(??)\npathlib.PurePosixPath(??)\npathlib.PureWindowsPath(??)\npathlib.S_ISBLK(mode) -> bool\npathlib.S_ISCHR(mode) -> bool\npathlib.S_ISDIR(mode) -> bool\npathlib.S_ISFIFO(mode) -> bool\npathlib.S_ISLNK(mode) -> bool\npathlib.S_ISREG(mode) -> bool\npathlib.S_ISSOCK(mode) -> bool\npathlib.Sequence(??)\npathlib.WindowsPath(??)\npathlib.attrgetter(attr, ...) --> attrgetter object\npathlib.contextmanager(??)\npathlib.fnmatch(??)\npathlib.functools(??)\npathlib.io(??)\npathlib.nt(??)\npathlib.ntpath(??)\npathlib.os(??)\npathlib.posixpath(??)\npathlib.re(??)\npathlib.supports_symlinks(??)\npathlib.sys(??)\npathlib.urlquote_from_bytes(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.ADDITEMS\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINBYTES8\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BINUNICODE8\npickle.BUILD\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_SET\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FRAME\npickle.FROZENSET\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.MEMOIZE\npickle.ModuleType(??)\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWOBJ_EX\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.SHORT_BINUNICODE\npickle.STACK_GLOBAL\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.islice(iterable, stop) --> islice object\npickle.load(??)\npickle.loads(??)\npickle.maxsize\npickle.pack(fmt, v1, v2, ...) -> bytes\npickle.re(??)\npickle.sys(??)\npickle.unpack(fmt, buffer) -> (v1, v2, ...)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.TAKEN_FROM_ARGUMENT4U\npickletools.TAKEN_FROM_ARGUMENT8U\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes1(??)\npickletools.bytes4(??)\npickletools.bytes8(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.io(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pybytes_or_str(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyfrozenset(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pyset(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_bytes1(??)\npickletools.read_bytes4(??)\npickletools.read_bytes8(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_uint4(??)\npickletools.read_uint8(??)\npickletools.read_unicodestring1(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestring8(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.sys(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.uint4(??)\npickletools.uint8(??)\npickletools.unicodestring1(??)\npickletools.unicodestring4(??)\npickletools.unicodestring8(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warnings(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.collections(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.subprocess(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(system, node, release, version, machine, processor)\nplatform.version(??)\nplatform.win32_ver(??)\nplistlib.BytesIO([buffer]) -> object\nplistlib.Data(??)\nplistlib.Dict(??)\nplistlib.FMT_BINARY(??)\nplistlib.FMT_XML(??)\nplistlib.InvalidFileException(??)\nplistlib.PLISTHEADER\nplistlib.ParserCreate([encoding[, namespace_separator]]) -> parser\nplistlib.Plist(??)\nplistlib.PlistFormat(??)\nplistlib.binascii(??)\nplistlib.codecs(??)\nplistlib.contextlib(??)\nplistlib.datetime(??)\nplistlib.dump(??)\nplistlib.dumps(??)\nplistlib.enum(??)\nplistlib.itertools(??)\nplistlib.load(??)\nplistlib.loads(??)\nplistlib.os(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.struct(??)\nplistlib.warn(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.HAVE_SSL(??)\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.errno(??)\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_TRAPPED\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(status) -> bool\nposix.WEXITED\nposix.WEXITSTATUS(status) -> integer\nposix.WIFCONTINUED(status) -> bool\nposix.WIFEXITED(status) -> bool\nposix.WIFSIGNALED(status) -> bool\nposix.WIFSTOPPED(status) -> bool\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(status) -> integer\nposix.WTERMSIG(status) -> integer\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort() -> does not return!\nposix.access(??)\nposix.chdir(path)\nposix.chflags(path, flags, *, follow_symlinks=True)\nposix.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)\nposix.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)\nposix.chroot(path)\nposix.close(fd)\nposix.closerange(fd_low, fd_high)\nposix.confstr(name) -> string\nposix.confstr_names(??)\nposix.cpu_count() -> integer\nposix.ctermid() -> string\nposix.device_encoding(fd) -> str\nposix.dup(fd) -> fd2\nposix.dup2(old_fd, new_fd)\nposix.environ(??)\nposix.error(??)\nposix.execv(path, args)\nposix.execve(path, args, env)\nposix.fchdir(fd)\nposix.fchmod(fd, mode)\nposix.fchown(fd, uid, gid)\nposix.fork() -> pid\nposix.forkpty() -> (pid, master_fd)\nposix.fpathconf(fd, name) -> integer\nposix.fstat(fd) -> stat result\nposix.fstatvfs(fd) -> statvfs result\nposix.fsync(fildes)\nposix.ftruncate(fd, length)\nposix.get_inheritable(fd) -> bool\nposix.get_terminal_size(??)\nposix.getcwd() -> path\nposix.getcwdb() -> path\nposix.getegid() -> egid\nposix.geteuid() -> euid\nposix.getgid() -> gid\nposix.getgrouplist(user, group) -> list of groups to which a user belongs\nposix.getgroups() -> list of group IDs\nposix.getloadavg() -> (float, float, float)\nposix.getlogin() -> string\nposix.getpgid(pid) -> pgid\nposix.getpgrp() -> pgrp\nposix.getpid() -> pid\nposix.getppid() -> ppid\nposix.getpriority(which, who) -> current_priority\nposix.getsid(pid) -> sid\nposix.getuid() -> uid\nposix.initgroups(username, gid) -> None\nposix.isatty(fd) -> bool\nposix.kill(pid, sig)\nposix.killpg(pgid, sig)\nposix.lchflags(path, flags)\nposix.lchmod(path, mode)\nposix.lchown(path, uid, gid)\nposix.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)\nposix.listdir(path='.') -> list_of_filenames\nposix.lockf(fd, cmd, len)\nposix.lseek(fd, pos, how) -> newpos\nposix.lstat(path, *, dir_fd=None) -> stat result\nposix.major(device) -> major number\nposix.makedev(major, minor) -> device number\nposix.minor(device) -> minor number\nposix.mkdir(path, mode=0o777, *, dir_fd=None)\nposix.mkfifo(path, mode=0o666, *, dir_fd=None)\nposix.mknod(filename, mode=0o600, device=0, *, dir_fd=None)\nposix.nice(inc) -> new_priority\nposix.open(path, flags, mode=0o777, *, dir_fd=None)\nposix.openpty() -> (master_fd, slave_fd)\nposix.pathconf(path, name) -> integer\nposix.pathconf_names(??)\nposix.pipe() -> (read_end, write_end)\nposix.pread(fd, buffersize, offset) -> string\nposix.putenv(key, value)\nposix.pwrite(fd, string, offset) -> byteswritten\nposix.read(fd, buffersize) -> bytes\nposix.readlink(path, *, dir_fd=None) -> path\nposix.readv(fd, buffers) -> bytesread\nposix.remove(path, *, dir_fd=None)\nposix.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nposix.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)\nposix.rmdir(path, *, dir_fd=None)\nposix.sched_get_priority_max(policy)\nposix.sched_get_priority_min(policy)\nposix.sched_yield()\nposix.sendfile(out, in, offset, nbytes) -> byteswritten\nposix.set_inheritable(fd, inheritable)\nposix.setegid(gid)\nposix.seteuid(uid)\nposix.setgid(gid)\nposix.setgroups(list)\nposix.setpgid(pid, pgrp)\nposix.setpgrp()\nposix.setpriority(which, who, prio) -> None\nposix.setregid(rgid, egid)\nposix.setreuid(ruid, euid)\nposix.setsid()\nposix.setuid(uid)\nposix.stat(??)\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result(??)\nposix.statvfs(path)\nposix.statvfs_result(??)\nposix.strerror(code) -> string\nposix.symlink(src, dst, target_is_directory=False, *, dir_fd=None)\nposix.sync()\nposix.sysconf(name) -> integer\nposix.sysconf_names(??)\nposix.system(command) -> exit_status\nposix.tcgetpgrp(fd) -> pgid\nposix.tcsetpgrp(fd, pgid)\nposix.terminal_size(??)\nposix.times() -> times_result\nposix.times_result(??)\nposix.truncate(path, length)\nposix.ttyname(??)\nposix.umask(new_mask) -> old_mask\nposix.uname() -> uname_result\nposix.uname_result(??)\nposix.unlink(path, *, dir_fd=None)\nposix.unsetenv(key)\nposix.urandom(n) -> str\nposix.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)\nposix.wait() -> (pid, status)\nposix.wait3(options) -> (pid, status, rusage)\nposix.wait4(pid, options) -> (pid, status, rusage)\nposix.waitpid(pid, options) -> (pid, status)\nposix.write(fd, data) -> byteswritten\nposix.writev(fd, buffers) -> byteswritten\npow(x, y[, z]) -> number\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.re(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.os(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall() -> list_of_entries\npwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\npwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\npwd.struct_passwd(??)\npy_compile.PyCompileError(??)\npy_compile.compile(??)\npy_compile.importlib(??)\npy_compile.main(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.os(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque([iterable[, maxlen]]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.extract_tb(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.deque([iterable[, maxlen]]) --> deque object\nqueue.heappop(??)\nqueue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nqueue.threading(??)\nqueue.time(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(??)\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates an int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange(stop) -> range object\nre.A\nre.ASCII\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copyreg(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.fullmatch(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.sys(??)\nre.template(??)\nreadline.add_history(string) -> None\nreadline.clear_history() -> None\nreadline.get_begidx() -> int\nreadline.get_completer() -> function\nreadline.get_completer_delims() -> string\nreadline.get_completion_type() -> int\nreadline.get_current_history_length() -> integer\nreadline.get_endidx() -> int\nreadline.get_history_item() -> string\nreadline.get_history_length() -> int\nreadline.get_line_buffer() -> string\nreadline.insert_text(string) -> None\nreadline.parse_and_bind(string) -> None\nreadline.read_history_file([filename]) -> None\nreadline.read_init_file([filename]) -> None\nreadline.redisplay() -> None\nreadline.remove_history_item(pos) -> None\nreadline.replace_history_item(pos, line) -> None\nreadline.set_completer([function]) -> None\nreadline.set_completer_delims(string) -> None\nreadline.set_completion_display_matches_hook([function]) -> None\nreadline.set_history_length(length) -> None\nreadline.set_pre_input_hook([function]) -> None\nreadline.set_startup_hook([function]) -> None\nreadline.write_history_file([filename]) -> None\nrepr(object) -> string\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, stop) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nresource.RLIMIT_AS\nresource.RLIMIT_CORE\nresource.RLIMIT_CPU\nresource.RLIMIT_DATA\nresource.RLIMIT_FSIZE\nresource.RLIMIT_MEMLOCK\nresource.RLIMIT_NOFILE\nresource.RLIMIT_NPROC\nresource.RLIMIT_RSS\nresource.RLIMIT_STACK\nresource.RLIM_INFINITY\nresource.RUSAGE_CHILDREN\nresource.RUSAGE_SELF\nresource.error(??)\nresource.getpagesize(??)\nresource.getrlimit(??)\nresource.getrusage(??)\nresource.setrlimit(??)\nresource.struct_rusage(??)\nreversed(sequence) -> reverse iterator over values of the sequence\nrlcompleter.Completer(??)\nrlcompleter.atexit(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(number[, ndigits]) -> number\nrunpy.get_importer(??)\nrunpy.importlib(??)\nrunpy.os(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nrunpy.types(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nselect.KQ_EV_ADD\nselect.KQ_EV_CLEAR\nselect.KQ_EV_DELETE\nselect.KQ_EV_DISABLE\nselect.KQ_EV_ENABLE\nselect.KQ_EV_EOF\nselect.KQ_EV_ERROR\nselect.KQ_EV_FLAG1\nselect.KQ_EV_ONESHOT\nselect.KQ_EV_SYSFLAGS\nselect.KQ_FILTER_AIO\nselect.KQ_FILTER_PROC\nselect.KQ_FILTER_READ\nselect.KQ_FILTER_SIGNAL\nselect.KQ_FILTER_TIMER\nselect.KQ_FILTER_VNODE\nselect.KQ_FILTER_WRITE\nselect.KQ_NOTE_ATTRIB\nselect.KQ_NOTE_CHILD\nselect.KQ_NOTE_DELETE\nselect.KQ_NOTE_EXEC\nselect.KQ_NOTE_EXIT\nselect.KQ_NOTE_EXTEND\nselect.KQ_NOTE_FORK\nselect.KQ_NOTE_LINK\nselect.KQ_NOTE_LOWAT\nselect.KQ_NOTE_PCTRLMASK\nselect.KQ_NOTE_PDATAMASK\nselect.KQ_NOTE_RENAME\nselect.KQ_NOTE_REVOKE\nselect.KQ_NOTE_TRACK\nselect.KQ_NOTE_TRACKERR\nselect.KQ_NOTE_WRITE\nselect.PIPE_BUF\nselect.POLLERR\nselect.POLLHUP\nselect.POLLIN\nselect.POLLNVAL\nselect.POLLOUT\nselect.POLLPRI\nselect.POLLRDBAND\nselect.POLLRDNORM\nselect.POLLWRBAND\nselect.POLLWRNORM\nselect.error(??)\nselect.kevent(ident, filter=KQ_FILTER_READ, flags=KQ_EV_ADD, fflags=0, data=0, udata=0)\nselect.kqueue(??)\nselect.poll(??)\nselect.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\nselectors.ABCMeta(??)\nselectors.BaseSelector(??)\nselectors.DefaultSelector(??)\nselectors.EVENT_READ\nselectors.EVENT_WRITE\nselectors.KqueueSelector(??)\nselectors.Mapping(??)\nselectors.PollSelector(??)\nselectors.SelectSelector(??)\nselectors.SelectorKey(fileobj, fd, events, data)\nselectors.abstractmethod(??)\nselectors.math(??)\nselectors.namedtuple(??)\nselectors.select(??)\nselectors.sys(??)\nset() -> new empty set object\nsetattr(object, name, value)\nshelve.BsdDbShelf(??)\nshelve.BytesIO([buffer]) -> object\nshelve.DbfilenameShelf(??)\nshelve.Pickler(??)\nshelve.Shelf(??)\nshelve.Unpickler(??)\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque([iterable[, maxlen]]) --> deque object\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SameFileError(??)\nshutil.SpecialFileError(??)\nshutil.abspath(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(name) -> tuple\nshutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.tarfile(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT\nsignal.SIGALRM\nsignal.SIGBUS\nsignal.SIGCHLD\nsignal.SIGCONT\nsignal.SIGEMT\nsignal.SIGFPE\nsignal.SIGHUP\nsignal.SIGILL\nsignal.SIGINFO\nsignal.SIGINT\nsignal.SIGIO\nsignal.SIGIOT\nsignal.SIGKILL\nsignal.SIGPIPE\nsignal.SIGPROF\nsignal.SIGQUIT\nsignal.SIGSEGV\nsignal.SIGSTOP\nsignal.SIGSYS\nsignal.SIGTERM\nsignal.SIGTRAP\nsignal.SIGTSTP\nsignal.SIGTTIN\nsignal.SIGTTOU\nsignal.SIGURG\nsignal.SIGUSR1\nsignal.SIGUSR2\nsignal.SIGVTALRM\nsignal.SIGWINCH\nsignal.SIGXCPU\nsignal.SIGXFSZ\nsignal.SIG_BLOCK\nsignal.SIG_DFL\nsignal.SIG_IGN\nsignal.SIG_SETMASK\nsignal.SIG_UNBLOCK\nsignal.alarm(seconds)\nsignal.default_int_handler(...)\nsignal.getitimer(which)\nsignal.getsignal(sig) -> action\nsignal.pause()\nsignal.pthread_kill(thread_id, signum)\nsignal.pthread_sigmask(how, mask) -> old mask\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(which, seconds[, interval])\nsignal.siginterrupt(sig, flag) -> None\nsignal.signal(sig, action) -> action\nsignal.sigpending() -> list\nsignal.sigwait(sigset) -> signum\nsite.CONFIG_LINE\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.enablerlcompleter(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice(stop)\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.EMPTYSTRING\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.stderr(??)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK(??)\nsocket.AF_DECnet\nsocket.AF_INET(??)\nsocket.AF_INET6(??)\nsocket.AF_IPX(??)\nsocket.AF_LINK(??)\nsocket.AF_ROUTE(??)\nsocket.AF_SNA(??)\nsocket.AF_SYSTEM(??)\nsocket.AF_UNIX(??)\nsocket.AF_UNSPEC(??)\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_DEFAULT\nsocket.AI_MASK\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.AI_V4MAPPED_CFG\nsocket.AddressFamily(??)\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.IntEnum(??)\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOF\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM(??)\nsocket.SOCK_RAW(??)\nsocket.SOCK_RDM(??)\nsocket.SOCK_SEQPACKET(??)\nsocket.SOCK_STREAM(??)\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketType(??)\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(??)\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.errno(??)\nsocketserver.os(??)\nsocketserver.select(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsorted(iterable, key=None, reverse=False) --> new sorted list\nsqlite3.Binary(??)\nsqlite3.Cache(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement(??)\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.complete_statement(sql)\nsqlite3.connect(??)\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Cache(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement(??)\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(??)\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET(??)\nssl.ALERT_DESCRIPTION_ACCESS_DENIED\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE\nssl.ALERT_DESCRIPTION_BAD_RECORD_MAC\nssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED\nssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE\nssl.ALERT_DESCRIPTION_CLOSE_NOTIFY\nssl.ALERT_DESCRIPTION_DECODE_ERROR\nssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE\nssl.ALERT_DESCRIPTION_DECRYPT_ERROR\nssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE\nssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER\nssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY\nssl.ALERT_DESCRIPTION_INTERNAL_ERROR\nssl.ALERT_DESCRIPTION_NO_RENEGOTIATION\nssl.ALERT_DESCRIPTION_PROTOCOL_VERSION\nssl.ALERT_DESCRIPTION_RECORD_OVERFLOW\nssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE\nssl.ALERT_DESCRIPTION_UNKNOWN_CA\nssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME\nssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE\nssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION\nssl.ALERT_DESCRIPTION_USER_CANCELLED\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)\nssl.HAS_ECDH(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL\nssl.OP_CIPHER_SERVER_PREFERENCE\nssl.OP_NO_SSLv2\nssl.OP_NO_SSLv3\nssl.OP_NO_TLSv1\nssl.OP_SINGLE_DH_USE\nssl.OP_SINGLE_ECDH_USE\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2\nssl.PROTOCOL_SSLv23\nssl.PROTOCOL_SSLv3\nssl.PROTOCOL_TLSv1\nssl.Purpose(??)\nssl.RAND_add(string, entropy)\nssl.RAND_bytes(n) -> bytes\nssl.RAND_egd(path) -> bytes\nssl.RAND_pseudo_bytes(n) -> (bytes, is_cryptographic)\nssl.RAND_status() -> 0 or 1\nssl.SOCK_STREAM(??)\nssl.SOL_SOCKET\nssl.SO_TYPE\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.VERIFY_CRL_CHECK_CHAIN\nssl.VERIFY_CRL_CHECK_LEAF\nssl.VERIFY_DEFAULT\nssl.VERIFY_X509_STRICT\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.create_default_context(??)\nssl.errno(??)\nssl.get_default_verify_paths(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.match_hostname(??)\nssl.namedtuple(??)\nssl.os(??)\nssl.re(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.sys(??)\nssl.textwrap(??)\nssl.traceback(??)\nssl.wrap_socket(??)\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFDOOR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFPORT\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IFWHT\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(mode) -> bool\nstat.S_ISCHR(mode) -> bool\nstat.S_ISDIR(mode) -> bool\nstat.S_ISDOOR(mode) -> bool\nstat.S_ISFIFO(mode) -> bool\nstat.S_ISGID\nstat.S_ISLNK(mode) -> bool\nstat.S_ISPORT(mode) -> bool\nstat.S_ISREG(mode) -> bool\nstat.S_ISSOCK(mode) -> bool\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_ISWHT(mode) -> bool\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstatistics.Decimal(??)\nstatistics.Fraction(??)\nstatistics.StatisticsError(??)\nstatistics.collections(??)\nstatistics.math(??)\nstatistics.mean(??)\nstatistics.median(??)\nstatistics.median_grouped(??)\nstatistics.median_high(??)\nstatistics.median_low(??)\nstatistics.mode(??)\nstatistics.pstdev(??)\nstatistics.pvariance(??)\nstatistics.stdev(??)\nstatistics.variance(??)\nstr(object='') -> str\nstring.ChainMap(??)\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(fmt) --> compiled struct object\nstruct.calcsize(fmt) -> integer\nstruct.error(??)\nstruct.iter_unpack(fmt, buffer) -> iterator(v1, v2, ...)\nstruct.pack(fmt, v1, v2, ...) -> bytes\nstruct.pack_into(fmt, buffer, offset, v1, v2, ...)\nstruct.unpack(fmt, buffer) -> (v1, v2, ...)\nstruct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...)\nsubprocess.CalledProcessError(??)\nsubprocess.DEVNULL\nsubprocess.MAXFD\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.gc(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.mswindows(??)\nsubprocess.os(??)\nsubprocess.select(??)\nsubprocess.selectors(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.time(??)\nsubprocess.traceback(??)\nsubprocess.warnings(??)\nsum(iterable[, start]) -> value\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.namedtuple(??)\nsunau.open(??)\nsunau.openfp(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.atom\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_arg\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.OPT_IMPORT_STAR\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.api_version\nsys.argv(??)\nsys.base_exec_prefix\nsys.base_prefix\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.getallocatedblocks() -> integer\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.getswitchinterval() -> current thread switch interval; see setswitchinterval().\nsys.gettrace()\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(string) -> string\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.setswitchinterval(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\nsyslog.LOG_ALERT\nsyslog.LOG_AUTH\nsyslog.LOG_AUTHPRIV\nsyslog.LOG_CONS\nsyslog.LOG_CRIT\nsyslog.LOG_CRON\nsyslog.LOG_DAEMON\nsyslog.LOG_DEBUG\nsyslog.LOG_EMERG\nsyslog.LOG_ERR\nsyslog.LOG_INFO\nsyslog.LOG_KERN\nsyslog.LOG_LOCAL0\nsyslog.LOG_LOCAL1\nsyslog.LOG_LOCAL2\nsyslog.LOG_LOCAL3\nsyslog.LOG_LOCAL4\nsyslog.LOG_LOCAL5\nsyslog.LOG_LOCAL6\nsyslog.LOG_LOCAL7\nsyslog.LOG_LPR\nsyslog.LOG_MAIL\nsyslog.LOG_MASK(??)\nsyslog.LOG_NDELAY\nsyslog.LOG_NEWS\nsyslog.LOG_NOTICE\nsyslog.LOG_NOWAIT\nsyslog.LOG_ODELAY\nsyslog.LOG_PERROR\nsyslog.LOG_PID\nsyslog.LOG_SYSLOG\nsyslog.LOG_UPTO(??)\nsyslog.LOG_USER\nsyslog.LOG_UUCP\nsyslog.LOG_WARNING\nsyslog.closelog(??)\nsyslog.openlog(??)\nsyslog.setlogmask(??)\nsyslog.syslog(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TarIter(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.filemode(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.main(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.selectors(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempprefix(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntermios.B0\ntermios.B110\ntermios.B115200\ntermios.B1200\ntermios.B134\ntermios.B150\ntermios.B1800\ntermios.B19200\ntermios.B200\ntermios.B230400\ntermios.B2400\ntermios.B300\ntermios.B38400\ntermios.B4800\ntermios.B50\ntermios.B57600\ntermios.B600\ntermios.B75\ntermios.B9600\ntermios.BRKINT\ntermios.BS0\ntermios.BS1\ntermios.BSDLY\ntermios.CDSUSP\ntermios.CEOF\ntermios.CEOL\ntermios.CEOT\ntermios.CERASE\ntermios.CFLUSH\ntermios.CINTR\ntermios.CKILL\ntermios.CLNEXT\ntermios.CLOCAL\ntermios.CQUIT\ntermios.CR0\ntermios.CR1\ntermios.CR2\ntermios.CR3\ntermios.CRDLY\ntermios.CREAD\ntermios.CRPRNT\ntermios.CRTSCTS\ntermios.CS5\ntermios.CS6\ntermios.CS7\ntermios.CS8\ntermios.CSIZE\ntermios.CSTART\ntermios.CSTOP\ntermios.CSTOPB\ntermios.CSUSP\ntermios.CWERASE\ntermios.ECHO\ntermios.ECHOCTL\ntermios.ECHOE\ntermios.ECHOK\ntermios.ECHOKE\ntermios.ECHONL\ntermios.ECHOPRT\ntermios.EXTA\ntermios.EXTB\ntermios.FF0\ntermios.FF1\ntermios.FFDLY\ntermios.FIOASYNC\ntermios.FIOCLEX\ntermios.FIONBIO\ntermios.FIONCLEX\ntermios.FIONREAD\ntermios.FLUSHO\ntermios.HUPCL\ntermios.ICANON\ntermios.ICRNL\ntermios.IEXTEN\ntermios.IGNBRK\ntermios.IGNCR\ntermios.IGNPAR\ntermios.IMAXBEL\ntermios.INLCR\ntermios.INPCK\ntermios.ISIG\ntermios.ISTRIP\ntermios.IXANY\ntermios.IXOFF\ntermios.IXON\ntermios.NCCS\ntermios.NL0\ntermios.NL1\ntermios.NLDLY\ntermios.NOFLSH\ntermios.OCRNL\ntermios.OFDEL\ntermios.OFILL\ntermios.ONLCR\ntermios.ONLRET\ntermios.ONOCR\ntermios.OPOST\ntermios.PARENB\ntermios.PARMRK\ntermios.PARODD\ntermios.PENDIN\ntermios.TAB0\ntermios.TAB1\ntermios.TAB2\ntermios.TAB3\ntermios.TABDLY\ntermios.TCIFLUSH\ntermios.TCIOFF\ntermios.TCIOFLUSH\ntermios.TCION\ntermios.TCOFLUSH\ntermios.TCOOFF\ntermios.TCOON\ntermios.TCSADRAIN\ntermios.TCSAFLUSH\ntermios.TCSANOW\ntermios.TCSASOFT\ntermios.TIOCCONS\ntermios.TIOCEXCL\ntermios.TIOCGETD\ntermios.TIOCGPGRP\ntermios.TIOCGWINSZ\ntermios.TIOCMBIC\ntermios.TIOCMBIS\ntermios.TIOCMGET\ntermios.TIOCMSET\ntermios.TIOCM_CAR\ntermios.TIOCM_CD\ntermios.TIOCM_CTS\ntermios.TIOCM_DSR\ntermios.TIOCM_DTR\ntermios.TIOCM_LE\ntermios.TIOCM_RI\ntermios.TIOCM_RNG\ntermios.TIOCM_RTS\ntermios.TIOCM_SR\ntermios.TIOCM_ST\ntermios.TIOCNOTTY\ntermios.TIOCNXCL\ntermios.TIOCOUTQ\ntermios.TIOCPKT\ntermios.TIOCPKT_DATA\ntermios.TIOCPKT_DOSTOP\ntermios.TIOCPKT_FLUSHREAD\ntermios.TIOCPKT_FLUSHWRITE\ntermios.TIOCPKT_NOSTOP\ntermios.TIOCPKT_START\ntermios.TIOCPKT_STOP\ntermios.TIOCSCTTY\ntermios.TIOCSETD\ntermios.TIOCSPGRP\ntermios.TIOCSTI\ntermios.TIOCSWINSZ\ntermios.TOSTOP\ntermios.VDISCARD\ntermios.VEOF\ntermios.VEOL\ntermios.VEOL2\ntermios.VERASE\ntermios.VINTR\ntermios.VKILL\ntermios.VLNEXT\ntermios.VMIN\ntermios.VQUIT\ntermios.VREPRINT\ntermios.VSTART\ntermios.VSTOP\ntermios.VSUSP\ntermios.VT0\ntermios.VT1\ntermios.VTDLY\ntermios.VTIME\ntermios.VWERASE\ntermios.error(??)\ntermios.tcdrain(fd) -> None\ntermios.tcflow(fd, action) -> None\ntermios.tcflush(fd, queue) -> None\ntermios.tcgetattr(fd) -> list_of_attrs\ntermios.tcsendbreak(fd, duration) -> None\ntermios.tcsetattr(fd, when, attributes) -> None\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.shorten(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.get_ident() -> integer\nthreading.local(??)\nthreading.main_thread(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.perf_counter() -> float\ntime.process_time() -> float\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.Studbutton(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.Tributton(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog.ACTIVE\ntkinter.commondialog.ALL\ntkinter.commondialog.ANCHOR\ntkinter.commondialog.ARC\ntkinter.commondialog.BASELINE\ntkinter.commondialog.BEVEL\ntkinter.commondialog.BOTH\ntkinter.commondialog.BOTTOM\ntkinter.commondialog.BROWSE\ntkinter.commondialog.BUTT\ntkinter.commondialog.BaseWidget(??)\ntkinter.commondialog.BitmapImage(??)\ntkinter.commondialog.BooleanVar(??)\ntkinter.commondialog.Button(??)\ntkinter.commondialog.CASCADE\ntkinter.commondialog.CENTER\ntkinter.commondialog.CHAR\ntkinter.commondialog.CHECKBUTTON\ntkinter.commondialog.CHORD\ntkinter.commondialog.COMMAND\ntkinter.commondialog.CURRENT\ntkinter.commondialog.CallWrapper(??)\ntkinter.commondialog.Canvas(??)\ntkinter.commondialog.Checkbutton(??)\ntkinter.commondialog.DISABLED\ntkinter.commondialog.DOTBOX\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.DoubleVar(??)\ntkinter.commondialog.E\ntkinter.commondialog.END\ntkinter.commondialog.EW\ntkinter.commondialog.EXCEPTION\ntkinter.commondialog.EXTENDED\ntkinter.commondialog.Entry(??)\ntkinter.commondialog.Event(??)\ntkinter.commondialog.FALSE\ntkinter.commondialog.FIRST\ntkinter.commondialog.FLAT\ntkinter.commondialog.Frame(??)\ntkinter.commondialog.GROOVE\ntkinter.commondialog.Grid(??)\ntkinter.commondialog.HIDDEN\ntkinter.commondialog.HORIZONTAL\ntkinter.commondialog.INSERT\ntkinter.commondialog.INSIDE\ntkinter.commondialog.Image(??)\ntkinter.commondialog.IntVar(??)\ntkinter.commondialog.LAST\ntkinter.commondialog.LEFT\ntkinter.commondialog.Label(??)\ntkinter.commondialog.LabelFrame(??)\ntkinter.commondialog.Listbox(??)\ntkinter.commondialog.MITER\ntkinter.commondialog.MOVETO\ntkinter.commondialog.MULTIPLE\ntkinter.commondialog.Menu(??)\ntkinter.commondialog.Menubutton(??)\ntkinter.commondialog.Message(??)\ntkinter.commondialog.Misc(??)\ntkinter.commondialog.N\ntkinter.commondialog.NE\ntkinter.commondialog.NO\ntkinter.commondialog.NONE\ntkinter.commondialog.NORMAL\ntkinter.commondialog.NS\ntkinter.commondialog.NSEW\ntkinter.commondialog.NUMERIC\ntkinter.commondialog.NW\ntkinter.commondialog.NoDefaultRoot(??)\ntkinter.commondialog.OFF\ntkinter.commondialog.ON\ntkinter.commondialog.OUTSIDE\ntkinter.commondialog.OptionMenu(??)\ntkinter.commondialog.PAGES\ntkinter.commondialog.PIESLICE\ntkinter.commondialog.PROJECTING\ntkinter.commondialog.Pack(??)\ntkinter.commondialog.PanedWindow(??)\ntkinter.commondialog.PhotoImage(??)\ntkinter.commondialog.Place(??)\ntkinter.commondialog.RADIOBUTTON\ntkinter.commondialog.RAISED\ntkinter.commondialog.READABLE\ntkinter.commondialog.RIDGE\ntkinter.commondialog.RIGHT\ntkinter.commondialog.ROUND\ntkinter.commondialog.Radiobutton(??)\ntkinter.commondialog.S\ntkinter.commondialog.SCROLL\ntkinter.commondialog.SE\ntkinter.commondialog.SEL\ntkinter.commondialog.SEL_FIRST\ntkinter.commondialog.SEL_LAST\ntkinter.commondialog.SEPARATOR\ntkinter.commondialog.SINGLE\ntkinter.commondialog.SOLID\ntkinter.commondialog.SUNKEN\ntkinter.commondialog.SW\ntkinter.commondialog.Scale(??)\ntkinter.commondialog.Scrollbar(??)\ntkinter.commondialog.Spinbox(??)\ntkinter.commondialog.StringVar(??)\ntkinter.commondialog.Studbutton(??)\ntkinter.commondialog.TOP\ntkinter.commondialog.TRUE\ntkinter.commondialog.Tcl(??)\ntkinter.commondialog.TclError(??)\ntkinter.commondialog.TclVersion\ntkinter.commondialog.Text(??)\ntkinter.commondialog.Tk(??)\ntkinter.commondialog.TkVersion\ntkinter.commondialog.Toplevel(??)\ntkinter.commondialog.Tributton(??)\ntkinter.commondialog.UNDERLINE\ntkinter.commondialog.UNITS\ntkinter.commondialog.VERTICAL\ntkinter.commondialog.Variable(??)\ntkinter.commondialog.W\ntkinter.commondialog.WORD\ntkinter.commondialog.WRITABLE\ntkinter.commondialog.Widget(??)\ntkinter.commondialog.Wm(??)\ntkinter.commondialog.X\ntkinter.commondialog.XView(??)\ntkinter.commondialog.Y\ntkinter.commondialog.YES\ntkinter.commondialog.YView(??)\ntkinter.commondialog.constants(??)\ntkinter.commondialog.getboolean(??)\ntkinter.commondialog.getdouble(??)\ntkinter.commondialog.getint(??)\ntkinter.commondialog.image_names(??)\ntkinter.commondialog.image_types(??)\ntkinter.commondialog.mainloop(??)\ntkinter.commondialog.re(??)\ntkinter.commondialog.sys(??)\ntkinter.commondialog.wantobjects\ntkinter.commondialog.warnings(??)\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog.ACTIVE\ntkinter.dialog.ALL\ntkinter.dialog.ANCHOR\ntkinter.dialog.ARC\ntkinter.dialog.BASELINE\ntkinter.dialog.BEVEL\ntkinter.dialog.BOTH\ntkinter.dialog.BOTTOM\ntkinter.dialog.BROWSE\ntkinter.dialog.BUTT\ntkinter.dialog.BaseWidget(??)\ntkinter.dialog.BitmapImage(??)\ntkinter.dialog.BooleanVar(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.CASCADE\ntkinter.dialog.CENTER\ntkinter.dialog.CHAR\ntkinter.dialog.CHECKBUTTON\ntkinter.dialog.CHORD\ntkinter.dialog.COMMAND\ntkinter.dialog.CURRENT\ntkinter.dialog.CallWrapper(??)\ntkinter.dialog.Canvas(??)\ntkinter.dialog.Checkbutton(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.DISABLED\ntkinter.dialog.DOTBOX\ntkinter.dialog.Dialog(??)\ntkinter.dialog.DoubleVar(??)\ntkinter.dialog.E\ntkinter.dialog.END\ntkinter.dialog.EW\ntkinter.dialog.EXCEPTION\ntkinter.dialog.EXTENDED\ntkinter.dialog.Entry(??)\ntkinter.dialog.Event(??)\ntkinter.dialog.FALSE\ntkinter.dialog.FIRST\ntkinter.dialog.FLAT\ntkinter.dialog.Frame(??)\ntkinter.dialog.GROOVE\ntkinter.dialog.Grid(??)\ntkinter.dialog.HIDDEN\ntkinter.dialog.HORIZONTAL\ntkinter.dialog.INSERT\ntkinter.dialog.INSIDE\ntkinter.dialog.Image(??)\ntkinter.dialog.IntVar(??)\ntkinter.dialog.LAST\ntkinter.dialog.LEFT\ntkinter.dialog.Label(??)\ntkinter.dialog.LabelFrame(??)\ntkinter.dialog.Listbox(??)\ntkinter.dialog.MITER\ntkinter.dialog.MOVETO\ntkinter.dialog.MULTIPLE\ntkinter.dialog.Menu(??)\ntkinter.dialog.Menubutton(??)\ntkinter.dialog.Message(??)\ntkinter.dialog.Misc(??)\ntkinter.dialog.N\ntkinter.dialog.NE\ntkinter.dialog.NO\ntkinter.dialog.NONE\ntkinter.dialog.NORMAL\ntkinter.dialog.NS\ntkinter.dialog.NSEW\ntkinter.dialog.NUMERIC\ntkinter.dialog.NW\ntkinter.dialog.NoDefaultRoot(??)\ntkinter.dialog.OFF\ntkinter.dialog.ON\ntkinter.dialog.OUTSIDE\ntkinter.dialog.OptionMenu(??)\ntkinter.dialog.PAGES\ntkinter.dialog.PIESLICE\ntkinter.dialog.PROJECTING\ntkinter.dialog.Pack(??)\ntkinter.dialog.PanedWindow(??)\ntkinter.dialog.PhotoImage(??)\ntkinter.dialog.Place(??)\ntkinter.dialog.RADIOBUTTON\ntkinter.dialog.RAISED\ntkinter.dialog.READABLE\ntkinter.dialog.RIDGE\ntkinter.dialog.RIGHT\ntkinter.dialog.ROUND\ntkinter.dialog.Radiobutton(??)\ntkinter.dialog.S\ntkinter.dialog.SCROLL\ntkinter.dialog.SE\ntkinter.dialog.SEL\ntkinter.dialog.SEL_FIRST\ntkinter.dialog.SEL_LAST\ntkinter.dialog.SEPARATOR\ntkinter.dialog.SINGLE\ntkinter.dialog.SOLID\ntkinter.dialog.SUNKEN\ntkinter.dialog.SW\ntkinter.dialog.Scale(??)\ntkinter.dialog.Scrollbar(??)\ntkinter.dialog.Spinbox(??)\ntkinter.dialog.StringVar(??)\ntkinter.dialog.Studbutton(??)\ntkinter.dialog.TOP\ntkinter.dialog.TRUE\ntkinter.dialog.Tcl(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.TclVersion\ntkinter.dialog.Text(??)\ntkinter.dialog.Tk(??)\ntkinter.dialog.TkVersion\ntkinter.dialog.Toplevel(??)\ntkinter.dialog.Tributton(??)\ntkinter.dialog.UNDERLINE\ntkinter.dialog.UNITS\ntkinter.dialog.VERTICAL\ntkinter.dialog.Variable(??)\ntkinter.dialog.W\ntkinter.dialog.WORD\ntkinter.dialog.WRITABLE\ntkinter.dialog.Widget(??)\ntkinter.dialog.Wm(??)\ntkinter.dialog.X\ntkinter.dialog.XView(??)\ntkinter.dialog.Y\ntkinter.dialog.YES\ntkinter.dialog.YView(??)\ntkinter.dialog.colorchooser(??)\ntkinter.dialog.commondialog(??)\ntkinter.dialog.constants(??)\ntkinter.dialog.getboolean(??)\ntkinter.dialog.getdouble(??)\ntkinter.dialog.getint(??)\ntkinter.dialog.image_names(??)\ntkinter.dialog.image_types(??)\ntkinter.dialog.mainloop(??)\ntkinter.dialog.re(??)\ntkinter.dialog.sys(??)\ntkinter.dialog.wantobjects\ntkinter.dialog.warnings(??)\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.filedialog.ACTIVE\ntkinter.filedialog.ALL\ntkinter.filedialog.ANCHOR\ntkinter.filedialog.ARC\ntkinter.filedialog.BASELINE\ntkinter.filedialog.BEVEL\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.BROWSE\ntkinter.filedialog.BUTT\ntkinter.filedialog.BaseWidget(??)\ntkinter.filedialog.BitmapImage(??)\ntkinter.filedialog.BooleanVar(??)\ntkinter.filedialog.Button(??)\ntkinter.filedialog.CASCADE\ntkinter.filedialog.CENTER\ntkinter.filedialog.CHAR\ntkinter.filedialog.CHECKBUTTON\ntkinter.filedialog.CHORD\ntkinter.filedialog.COMMAND\ntkinter.filedialog.CURRENT\ntkinter.filedialog.CallWrapper(??)\ntkinter.filedialog.Canvas(??)\ntkinter.filedialog.Checkbutton(??)\ntkinter.filedialog.DISABLED\ntkinter.filedialog.DOTBOX\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.DoubleVar(??)\ntkinter.filedialog.E\ntkinter.filedialog.END\ntkinter.filedialog.EW\ntkinter.filedialog.EXCEPTION\ntkinter.filedialog.EXTENDED\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.Event(??)\ntkinter.filedialog.FALSE\ntkinter.filedialog.FIRST\ntkinter.filedialog.FLAT\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.GROOVE\ntkinter.filedialog.Grid(??)\ntkinter.filedialog.HIDDEN\ntkinter.filedialog.HORIZONTAL\ntkinter.filedialog.INSERT\ntkinter.filedialog.INSIDE\ntkinter.filedialog.Image(??)\ntkinter.filedialog.IntVar(??)\ntkinter.filedialog.LAST\ntkinter.filedialog.LEFT\ntkinter.filedialog.Label(??)\ntkinter.filedialog.LabelFrame(??)\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.MITER\ntkinter.filedialog.MOVETO\ntkinter.filedialog.MULTIPLE\ntkinter.filedialog.Menu(??)\ntkinter.filedialog.Menubutton(??)\ntkinter.filedialog.Message(??)\ntkinter.filedialog.Misc(??)\ntkinter.filedialog.N\ntkinter.filedialog.NE\ntkinter.filedialog.NO\ntkinter.filedialog.NONE\ntkinter.filedialog.NORMAL\ntkinter.filedialog.NS\ntkinter.filedialog.NSEW\ntkinter.filedialog.NUMERIC\ntkinter.filedialog.NW\ntkinter.filedialog.NoDefaultRoot(??)\ntkinter.filedialog.OFF\ntkinter.filedialog.ON\ntkinter.filedialog.OUTSIDE\ntkinter.filedialog.Open(??)\ntkinter.filedialog.OptionMenu(??)\ntkinter.filedialog.PAGES\ntkinter.filedialog.PIESLICE\ntkinter.filedialog.PROJECTING\ntkinter.filedialog.Pack(??)\ntkinter.filedialog.PanedWindow(??)\ntkinter.filedialog.PhotoImage(??)\ntkinter.filedialog.Place(??)\ntkinter.filedialog.RADIOBUTTON\ntkinter.filedialog.RAISED\ntkinter.filedialog.READABLE\ntkinter.filedialog.RIDGE\ntkinter.filedialog.RIGHT\ntkinter.filedialog.ROUND\ntkinter.filedialog.Radiobutton(??)\ntkinter.filedialog.S\ntkinter.filedialog.SCROLL\ntkinter.filedialog.SE\ntkinter.filedialog.SEL\ntkinter.filedialog.SEL_FIRST\ntkinter.filedialog.SEL_LAST\ntkinter.filedialog.SEPARATOR\ntkinter.filedialog.SINGLE\ntkinter.filedialog.SOLID\ntkinter.filedialog.SUNKEN\ntkinter.filedialog.SW\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scale(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.Spinbox(??)\ntkinter.filedialog.StringVar(??)\ntkinter.filedialog.Studbutton(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.TRUE\ntkinter.filedialog.Tcl(??)\ntkinter.filedialog.TclError(??)\ntkinter.filedialog.TclVersion\ntkinter.filedialog.Text(??)\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.TkVersion\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.Tributton(??)\ntkinter.filedialog.UNDERLINE\ntkinter.filedialog.UNITS\ntkinter.filedialog.VERTICAL\ntkinter.filedialog.Variable(??)\ntkinter.filedialog.W\ntkinter.filedialog.WORD\ntkinter.filedialog.WRITABLE\ntkinter.filedialog.Widget(??)\ntkinter.filedialog.Wm(??)\ntkinter.filedialog.X\ntkinter.filedialog.XView(??)\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.YView(??)\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.colorchooser(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.constants(??)\ntkinter.filedialog.dialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.dnd(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.getboolean(??)\ntkinter.filedialog.getdouble(??)\ntkinter.filedialog.getint(??)\ntkinter.filedialog.image_names(??)\ntkinter.filedialog.image_types(??)\ntkinter.filedialog.mainloop(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.re(??)\ntkinter.filedialog.sys(??)\ntkinter.filedialog.test(??)\ntkinter.filedialog.wantobjects\ntkinter.filedialog.warnings(??)\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.re(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.Studbutton(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.Tributton(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.colorchooser(??)\ntkinter.simpledialog.commondialog(??)\ntkinter.simpledialog.constants(??)\ntkinter.simpledialog.dialog(??)\ntkinter.simpledialog.dnd(??)\ntkinter.simpledialog.filedialog(??)\ntkinter.simpledialog.font(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.re(??)\ntkinter.simpledialog.scrolledtext(??)\ntkinter.simpledialog.sys(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.simpledialog.wantobjects\ntkinter.simpledialog.warnings(??)\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.Studbutton(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.Tributton(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.colorchooser(??)\ntkinter.tix.commondialog(??)\ntkinter.tix.constants(??)\ntkinter.tix.dialog(??)\ntkinter.tix.dnd(??)\ntkinter.tix.filedialog(??)\ntkinter.tix.font(??)\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.messagebox(??)\ntkinter.tix.os(??)\ntkinter.tix.re(??)\ntkinter.tix.scrolledtext(??)\ntkinter.tix.simpledialog(??)\ntkinter.tix.sys(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.tix.wantobjects\ntkinter.tix.warnings(??)\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.wantobjects\ntkinter.warnings(??)\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.AT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.AT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.blank_re(??)\ntokenize.builtins(??)\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(encoding) -> CodecInfo\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.modname(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntrace.usage(??)\ntraceback.clear_frames(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.linecache(??)\ntraceback.operator(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntracemalloc.Filter(??)\ntracemalloc.Frame(??)\ntracemalloc.Sequence(??)\ntracemalloc.Snapshot(??)\ntracemalloc.Statistic(??)\ntracemalloc.StatisticDiff(??)\ntracemalloc.Trace(??)\ntracemalloc.Traceback(??)\ntracemalloc.clear_traces()\ntracemalloc.fnmatch(??)\ntracemalloc.get_object_traceback(??)\ntracemalloc.get_traceback_limit() -> int\ntracemalloc.get_traced_memory() -> (int, int)\ntracemalloc.get_tracemalloc_memory() -> int\ntracemalloc.is_tracing()->bool\ntracemalloc.linecache(??)\ntracemalloc.os(??)\ntracemalloc.pickle(??)\ntracemalloc.start(nframe: int=1)\ntracemalloc.stop()\ntracemalloc.take_snapshot(??)\ntracemalloc.total_ordering(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> empty tuple\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.defstr\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.methodname\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pl1\nturtle.pl2\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object_or_name, bases, dict)\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CodeType(??)\ntypes.DynamicClassAttribute(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\nunicodedata.UCD(??)\nunicodedata.bidirectional(unichr)\nunicodedata.category(unichr)\nunicodedata.combining(unichr)\nunicodedata.decimal(??)\nunicodedata.decomposition(unichr)\nunicodedata.digit(unichr[, default])\nunicodedata.east_asian_width(unichr)\nunicodedata.lookup(name)\nunicodedata.mirrored(unichr)\nunicodedata.name(unichr[, default])\nunicodedata.normalize(form, unistr)\nunicodedata.numeric(unichr[, default])\nunicodedata.ucd_3_2_0(??)\nunicodedata.ucnhash_CAPI(??)\nunicodedata.unidata_version\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.re(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.DataHandler(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.collections(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittag('/path#tag') --> '/path', 'tag'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.ctypes(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.lib(??)\nuuid.libname\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.EnvBuilder(??)\nvenv.create(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.subprocess(??)\nvenv.sys(??)\nvenv.sysconfig(??)\nvenv.types(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.audioop(??)\nwave.builtins(??)\nwave.namedtuple(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nwave.sys(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakMethod(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.collections(??)\nweakref.finalize(??)\nweakref.getweakrefcount(??)\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.itertools(??)\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nweakref.sys(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.shutil(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO([buffer]) -> object\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.struct(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLPullParser(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(errno) -> string\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.codecs(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.io(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO([buffer]) -> object\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.socket(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nxxlimited.Null(??)\nxxlimited.Str(??)\nxxlimited.error(??)\nxxlimited.foo(i,j)\nxxlimited.new() -> new Xx object\nxxlimited.roj(a,b) -> None\nzip(iter1 [,iter2 [...]]) --> zip object\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.DEFAULT_VERSION\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.crc32(??)\nzipfile.error(??)\nzipfile.importlib(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.re(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\nzlib.DEFLATED\nzlib.DEF_BUF_SIZE\nzlib.DEF_MEM_LEVEL\nzlib.MAX_WBITS\nzlib.ZLIB_RUNTIME_VERSION\nzlib.ZLIB_VERSION\nzlib.Z_BEST_COMPRESSION\nzlib.Z_BEST_SPEED\nzlib.Z_DEFAULT_COMPRESSION\nzlib.Z_DEFAULT_STRATEGY\nzlib.Z_FILTERED\nzlib.Z_FINISH\nzlib.Z_FULL_FLUSH\nzlib.Z_HUFFMAN_ONLY\nzlib.Z_NO_FLUSH\nzlib.Z_SYNC_FLUSH\nzlib.adler32(??)\nzlib.compress(??)\nzlib.compressobj(??)\nzlib.crc32(??)\nzlib.decompress(??)\nzlib.decompressobj(??)\nzlib.error(??)\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.5.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIN.AF_APPLETALK\nIN.AF_ATM\nIN.AF_CCITT\nIN.AF_CHAOS\nIN.AF_CNT\nIN.AF_COIP\nIN.AF_DATAKIT\nIN.AF_DECnet\nIN.AF_DLI\nIN.AF_E164\nIN.AF_ECMA\nIN.AF_HYLINK\nIN.AF_IMPLINK\nIN.AF_INET\nIN.AF_INET6\nIN.AF_IPX\nIN.AF_ISDN\nIN.AF_ISO\nIN.AF_LAT\nIN.AF_LINK\nIN.AF_LOCAL\nIN.AF_MAX\nIN.AF_NATM\nIN.AF_NDRV\nIN.AF_NETBIOS\nIN.AF_NETGRAPH\nIN.AF_NS\nIN.AF_OSI\nIN.AF_PPP\nIN.AF_PUP\nIN.AF_RESERVED_36\nIN.AF_ROUTE\nIN.AF_SIP\nIN.AF_SNA\nIN.AF_SYSTEM\nIN.AF_UNIX\nIN.AF_UNSPEC\nIN.CMGROUP_MAX\nIN.HTONL(??)\nIN.HTONS(??)\nIN.ICMP6_FILTER\nIN.IN6_IS_ADDR_LINKLOCAL(??)\nIN.IN6_IS_ADDR_LOOPBACK(??)\nIN.IN6_IS_ADDR_MC_GLOBAL(??)\nIN.IN6_IS_ADDR_MC_LINKLOCAL(??)\nIN.IN6_IS_ADDR_MC_NODELOCAL(??)\nIN.IN6_IS_ADDR_MC_ORGLOCAL(??)\nIN.IN6_IS_ADDR_MC_SITELOCAL(??)\nIN.IN6_IS_ADDR_SITELOCAL(??)\nIN.IN6_IS_ADDR_UNSPECIFIED(??)\nIN.IN6_IS_ADDR_V4COMPAT(??)\nIN.IN6_IS_ADDR_V4MAPPED(??)\nIN.INADDR_NONE\nIN.INET6_ADDRSTRLEN\nIN.INET_ADDRSTRLEN\nIN.INT16_C(??)\nIN.INT16_MAX\nIN.INT16_MIN\nIN.INT32_C(??)\nIN.INT32_MAX\nIN.INT32_MIN\nIN.INT8_C(??)\nIN.INT8_MAX\nIN.INT8_MIN\nIN.INTPTR_MAX\nIN.INTPTR_MIN\nIN.INT_FAST16_MAX\nIN.INT_FAST16_MIN\nIN.INT_FAST32_MAX\nIN.INT_FAST32_MIN\nIN.INT_FAST8_MAX\nIN.INT_FAST8_MIN\nIN.INT_LEAST16_MAX\nIN.INT_LEAST16_MIN\nIN.INT_LEAST32_MAX\nIN.INT_LEAST32_MIN\nIN.INT_LEAST8_MAX\nIN.INT_LEAST8_MIN\nIN.IN_BADCLASS(??)\nIN.IN_CLASSA(??)\nIN.IN_CLASSA_HOST\nIN.IN_CLASSA_MAX\nIN.IN_CLASSA_NET\nIN.IN_CLASSA_NSHIFT\nIN.IN_CLASSB(??)\nIN.IN_CLASSB_HOST\nIN.IN_CLASSB_MAX\nIN.IN_CLASSB_NET\nIN.IN_CLASSB_NSHIFT\nIN.IN_CLASSC(??)\nIN.IN_CLASSC_HOST\nIN.IN_CLASSC_NET\nIN.IN_CLASSC_NSHIFT\nIN.IN_CLASSD(??)\nIN.IN_CLASSD_HOST\nIN.IN_CLASSD_NET\nIN.IN_CLASSD_NSHIFT\nIN.IN_EXPERIMENTAL(??)\nIN.IN_LINKLOCAL(??)\nIN.IN_LOOPBACKNET\nIN.IN_MULTICAST(??)\nIN.IPCTL_ACCEPTSOURCEROUTE\nIN.IPCTL_DEFMTU\nIN.IPCTL_DEFTTL\nIN.IPCTL_DIRECTEDBROADCAST\nIN.IPCTL_FASTFORWARDING\nIN.IPCTL_FORWARDING\nIN.IPCTL_GIF_TTL\nIN.IPCTL_INTRQDROPS\nIN.IPCTL_INTRQMAXLEN\nIN.IPCTL_KEEPFAITH\nIN.IPCTL_MAXID\nIN.IPCTL_RTEXPIRE\nIN.IPCTL_RTMAXCACHE\nIN.IPCTL_RTMINEXPIRE\nIN.IPCTL_SENDREDIRECTS\nIN.IPCTL_SOURCEROUTE\nIN.IPCTL_STATS\nIN.IPPORT_HIFIRSTAUTO\nIN.IPPORT_HILASTAUTO\nIN.IPPORT_RESERVED\nIN.IPPORT_RESERVEDSTART\nIN.IPPORT_USERRESERVED\nIN.IPPROTO_3PC\nIN.IPPROTO_ADFS\nIN.IPPROTO_AH\nIN.IPPROTO_AHIP\nIN.IPPROTO_APES\nIN.IPPROTO_ARGUS\nIN.IPPROTO_AX25\nIN.IPPROTO_BHA\nIN.IPPROTO_BLT\nIN.IPPROTO_BRSATMON\nIN.IPPROTO_CFTP\nIN.IPPROTO_CHAOS\nIN.IPPROTO_CMTP\nIN.IPPROTO_CPHB\nIN.IPPROTO_CPNX\nIN.IPPROTO_DDP\nIN.IPPROTO_DGP\nIN.IPPROTO_DIVERT\nIN.IPPROTO_DONE\nIN.IPPROTO_DSTOPTS\nIN.IPPROTO_EGP\nIN.IPPROTO_EMCON\nIN.IPPROTO_ENCAP\nIN.IPPROTO_EON\nIN.IPPROTO_ESP\nIN.IPPROTO_ETHERIP\nIN.IPPROTO_FRAGMENT\nIN.IPPROTO_GGP\nIN.IPPROTO_GMTP\nIN.IPPROTO_GRE\nIN.IPPROTO_HELLO\nIN.IPPROTO_HMP\nIN.IPPROTO_HOPOPTS\nIN.IPPROTO_ICMP\nIN.IPPROTO_ICMPV6\nIN.IPPROTO_IDP\nIN.IPPROTO_IDPR\nIN.IPPROTO_IDRP\nIN.IPPROTO_IGMP\nIN.IPPROTO_IGP\nIN.IPPROTO_IGRP\nIN.IPPROTO_IL\nIN.IPPROTO_INLSP\nIN.IPPROTO_INP\nIN.IPPROTO_IP\nIN.IPPROTO_IPCOMP\nIN.IPPROTO_IPCV\nIN.IPPROTO_IPEIP\nIN.IPPROTO_IPIP\nIN.IPPROTO_IPPC\nIN.IPPROTO_IPV4\nIN.IPPROTO_IPV6\nIN.IPPROTO_IRTP\nIN.IPPROTO_KRYPTOLAN\nIN.IPPROTO_LARP\nIN.IPPROTO_LEAF1\nIN.IPPROTO_LEAF2\nIN.IPPROTO_MAX\nIN.IPPROTO_MAXID\nIN.IPPROTO_MEAS\nIN.IPPROTO_MHRP\nIN.IPPROTO_MICP\nIN.IPPROTO_MTP\nIN.IPPROTO_MUX\nIN.IPPROTO_ND\nIN.IPPROTO_NHRP\nIN.IPPROTO_NONE\nIN.IPPROTO_NSP\nIN.IPPROTO_NVPII\nIN.IPPROTO_OSPFIGP\nIN.IPPROTO_PGM\nIN.IPPROTO_PIGP\nIN.IPPROTO_PIM\nIN.IPPROTO_PRM\nIN.IPPROTO_PUP\nIN.IPPROTO_PVP\nIN.IPPROTO_RAW\nIN.IPPROTO_RCCMON\nIN.IPPROTO_RDP\nIN.IPPROTO_ROUTING\nIN.IPPROTO_RSVP\nIN.IPPROTO_RVD\nIN.IPPROTO_SATEXPAK\nIN.IPPROTO_SATMON\nIN.IPPROTO_SCCSP\nIN.IPPROTO_SDRP\nIN.IPPROTO_SEP\nIN.IPPROTO_SRPC\nIN.IPPROTO_ST\nIN.IPPROTO_SVMTP\nIN.IPPROTO_SWIPE\nIN.IPPROTO_TCF\nIN.IPPROTO_TCP\nIN.IPPROTO_TP\nIN.IPPROTO_TPXX\nIN.IPPROTO_TRUNK1\nIN.IPPROTO_TRUNK2\nIN.IPPROTO_TTP\nIN.IPPROTO_UDP\nIN.IPPROTO_VINES\nIN.IPPROTO_VISA\nIN.IPPROTO_VMTP\nIN.IPPROTO_WBEXPAK\nIN.IPPROTO_WBMON\nIN.IPPROTO_WSN\nIN.IPPROTO_XNET\nIN.IPPROTO_XTP\nIN.IPV6CTL_ACCEPT_RTADV\nIN.IPV6CTL_AUTO_FLOWLABEL\nIN.IPV6CTL_AUTO_LINKLOCAL\nIN.IPV6CTL_DAD_COUNT\nIN.IPV6CTL_DEFHLIM\nIN.IPV6CTL_DEFMCASTHLIM\nIN.IPV6CTL_DEFMTU\nIN.IPV6CTL_FORWARDING\nIN.IPV6CTL_FORWSRCRT\nIN.IPV6CTL_GIF_HLIM\nIN.IPV6CTL_HDRNESTLIMIT\nIN.IPV6CTL_KAME_VERSION\nIN.IPV6CTL_KEEPFAITH\nIN.IPV6CTL_LOG_INTERVAL\nIN.IPV6CTL_MAPPED_ADDR\nIN.IPV6CTL_MAXFRAGPACKETS\nIN.IPV6CTL_MAXFRAGS\nIN.IPV6CTL_MAXID\nIN.IPV6CTL_MRTPROTO\nIN.IPV6CTL_MRTSTATS\nIN.IPV6CTL_RIP6STATS\nIN.IPV6CTL_RR_PRUNE\nIN.IPV6CTL_RTEXPIRE\nIN.IPV6CTL_RTMAXCACHE\nIN.IPV6CTL_RTMINEXPIRE\nIN.IPV6CTL_SENDREDIRECTS\nIN.IPV6CTL_SOURCECHECK\nIN.IPV6CTL_SOURCECHECK_LOGINT\nIN.IPV6CTL_STATS\nIN.IPV6CTL_TEMPPLTIME\nIN.IPV6CTL_TEMPVLTIME\nIN.IPV6CTL_USETEMPADDR\nIN.IPV6CTL_USE_DEPRECATED\nIN.IPV6CTL_V6ONLY\nIN.IPV6PORT_ANONMAX\nIN.IPV6PORT_ANONMIN\nIN.IPV6PORT_RESERVED\nIN.IPV6PORT_RESERVEDMAX\nIN.IPV6PORT_RESERVEDMIN\nIN.IPV6PROTO_MAXID\nIN.IPV6_BINDV6ONLY\nIN.IPV6_CHECKSUM\nIN.IPV6_DEFAULT_MULTICAST_HOPS\nIN.IPV6_DEFAULT_MULTICAST_LOOP\nIN.IPV6_DSTOPTS\nIN.IPV6_FAITH\nIN.IPV6_FW_ADD\nIN.IPV6_FW_DEL\nIN.IPV6_FW_FLUSH\nIN.IPV6_FW_GET\nIN.IPV6_FW_ZERO\nIN.IPV6_HOPLIMIT\nIN.IPV6_HOPOPTS\nIN.IPV6_IPSEC_POLICY\nIN.IPV6_JOIN_GROUP\nIN.IPV6_LEAVE_GROUP\nIN.IPV6_MULTICAST_HOPS\nIN.IPV6_MULTICAST_IF\nIN.IPV6_MULTICAST_LOOP\nIN.IPV6_NEXTHOP\nIN.IPV6_OPTIONS\nIN.IPV6_PKTINFO\nIN.IPV6_PKTOPTIONS\nIN.IPV6_PORTRANGE\nIN.IPV6_PORTRANGE_DEFAULT\nIN.IPV6_PORTRANGE_HIGH\nIN.IPV6_PORTRANGE_LOW\nIN.IPV6_RECVDSTADDR\nIN.IPV6_RECVOPTS\nIN.IPV6_RECVRETOPTS\nIN.IPV6_RETOPTS\nIN.IPV6_RTHDR\nIN.IPV6_RTHDR_LOOSE\nIN.IPV6_RTHDR_STRICT\nIN.IPV6_RTHDR_TYPE_0\nIN.IPV6_SOCKOPT_RESERVED1\nIN.IPV6_UNICAST_HOPS\nIN.IPV6_V6ONLY\nIN.IP_ADD_MEMBERSHIP\nIN.IP_DEFAULT_MULTICAST_LOOP\nIN.IP_DEFAULT_MULTICAST_TTL\nIN.IP_DROP_MEMBERSHIP\nIN.IP_DUMMYNET_CONFIGURE\nIN.IP_DUMMYNET_DEL\nIN.IP_DUMMYNET_FLUSH\nIN.IP_DUMMYNET_GET\nIN.IP_FAITH\nIN.IP_FORCE_OUT_IFP\nIN.IP_FW_ADD\nIN.IP_FW_DEL\nIN.IP_FW_FLUSH\nIN.IP_FW_GET\nIN.IP_FW_RESETLOG\nIN.IP_FW_ZERO\nIN.IP_HDRINCL\nIN.IP_IPSEC_POLICY\nIN.IP_MAX_MEMBERSHIPS\nIN.IP_MULTICAST_IF\nIN.IP_MULTICAST_LOOP\nIN.IP_MULTICAST_TTL\nIN.IP_MULTICAST_VIF\nIN.IP_NAT__XXX\nIN.IP_OLD_FW_ADD\nIN.IP_OLD_FW_DEL\nIN.IP_OLD_FW_FLUSH\nIN.IP_OLD_FW_GET\nIN.IP_OLD_FW_RESETLOG\nIN.IP_OLD_FW_ZERO\nIN.IP_OPTIONS\nIN.IP_PORTRANGE\nIN.IP_PORTRANGE_DEFAULT\nIN.IP_PORTRANGE_HIGH\nIN.IP_PORTRANGE_LOW\nIN.IP_RECVDSTADDR\nIN.IP_RECVIF\nIN.IP_RECVOPTS\nIN.IP_RECVRETOPTS\nIN.IP_RECVTTL\nIN.IP_RETOPTS\nIN.IP_RSVP_OFF\nIN.IP_RSVP_ON\nIN.IP_RSVP_VIF_OFF\nIN.IP_RSVP_VIF_ON\nIN.IP_STRIPHDR\nIN.IP_TOS\nIN.IP_TRAFFIC_MGT_BACKGROUND\nIN.IP_TTL\nIN.MSG_CTRUNC\nIN.MSG_DONTROUTE\nIN.MSG_DONTWAIT\nIN.MSG_EOF\nIN.MSG_EOR\nIN.MSG_FLUSH\nIN.MSG_HAVEMORE\nIN.MSG_HOLD\nIN.MSG_NEEDSA\nIN.MSG_OOB\nIN.MSG_PEEK\nIN.MSG_RCVMORE\nIN.MSG_SEND\nIN.MSG_TRUNC\nIN.MSG_WAITALL\nIN.MSG_WAITSTREAM\nIN.NET_MAXID\nIN.NET_RT_DUMP\nIN.NET_RT_DUMP2\nIN.NET_RT_FLAGS\nIN.NET_RT_IFLIST\nIN.NET_RT_IFLIST2\nIN.NET_RT_MAXID\nIN.NET_RT_STAT\nIN.NET_RT_TRASH\nIN.NTOHL(??)\nIN.NTOHS(??)\nIN.PF_APPLETALK\nIN.PF_ATM\nIN.PF_CCITT\nIN.PF_CHAOS\nIN.PF_CNT\nIN.PF_COIP\nIN.PF_DATAKIT\nIN.PF_DECnet\nIN.PF_DLI\nIN.PF_ECMA\nIN.PF_HYLINK\nIN.PF_IMPLINK\nIN.PF_INET\nIN.PF_INET6\nIN.PF_IPX\nIN.PF_ISDN\nIN.PF_ISO\nIN.PF_KEY\nIN.PF_LAT\nIN.PF_LINK\nIN.PF_LOCAL\nIN.PF_MAX\nIN.PF_NATM\nIN.PF_NDRV\nIN.PF_NETBIOS\nIN.PF_NETGRAPH\nIN.PF_NS\nIN.PF_OSI\nIN.PF_PIP\nIN.PF_PPP\nIN.PF_PUP\nIN.PF_RESERVED_36\nIN.PF_ROUTE\nIN.PF_RTIP\nIN.PF_SIP\nIN.PF_SNA\nIN.PF_SYSTEM\nIN.PF_UNIX\nIN.PF_UNSPEC\nIN.PF_XTP\nIN.PTRDIFF_MAX\nIN.PTRDIFF_MIN\nIN.SCM_CREDS\nIN.SCM_RIGHTS\nIN.SCM_TIMESTAMP\nIN.SHUT_RD\nIN.SHUT_RDWR\nIN.SHUT_WR\nIN.SIG_ATOMIC_MAX\nIN.SIG_ATOMIC_MIN\nIN.SOCK_DGRAM\nIN.SOCK_MAXADDRLEN\nIN.SOCK_RAW\nIN.SOCK_RDM\nIN.SOCK_SEQPACKET\nIN.SOCK_STREAM\nIN.SOL_SOCKET\nIN.SOMAXCONN\nIN.SO_ACCEPTCONN\nIN.SO_ACCEPTFILTER\nIN.SO_BROADCAST\nIN.SO_DEBUG\nIN.SO_DONTROUTE\nIN.SO_DONTTRUNC\nIN.SO_ERROR\nIN.SO_KEEPALIVE\nIN.SO_LABEL\nIN.SO_LINGER\nIN.SO_LINGER_SEC\nIN.SO_NKE\nIN.SO_NOADDRERR\nIN.SO_NOSIGPIPE\nIN.SO_NOTIFYCONFLICT\nIN.SO_NREAD\nIN.SO_NWRITE\nIN.SO_OOBINLINE\nIN.SO_PEERLABEL\nIN.SO_RCVBUF\nIN.SO_RCVLOWAT\nIN.SO_RCVTIMEO\nIN.SO_RESTRICTIONS\nIN.SO_RESTRICT_DENYIN\nIN.SO_RESTRICT_DENYOUT\nIN.SO_RESTRICT_DENYSET\nIN.SO_REUSEADDR\nIN.SO_REUSEPORT\nIN.SO_REUSESHAREUID\nIN.SO_SNDBUF\nIN.SO_SNDLOWAT\nIN.SO_SNDTIMEO\nIN.SO_TIMESTAMP\nIN.SO_TYPE\nIN.SO_USELOOPBACK\nIN.SO_WANTMORE\nIN.SO_WANTOOBFLAG\nIN.TRAFFIC_MGT_SO_BACKGROUND\nIN.TRAFFIC_MGT_SO_BG_SUPPRESSED\nIN.UINT16_MAX\nIN.UINT8_MAX\nIN.UINT_FAST16_MAX\nIN.UINT_FAST8_MAX\nIN.UINT_LEAST16_MAX\nIN.UINT_LEAST8_MAX\nIN.WCHAR_MAX\nIN.WCHAR_MIN\nIN.WINT_MAX\nIN.WINT_MIN\nIN.htonl(??)\nIN.htons(??)\nIN.ntohl(??)\nIN.ntohs(??)\nIN.pseudo_AF_HDRCMPLT\nIN.pseudo_AF_KEY\nIN.pseudo_AF_PIP\nIN.pseudo_AF_RTIP\nIN.pseudo_AF_XTP\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nRecursionError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopAsyncIteration(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABC(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabc.get_cache_token(??)\nabs(??)\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.namedtuple(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\naifc.warnings(??)\nall(??)\nany(??)\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\nascii(??)\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.Assert(??)\nast.Assign(??)\nast.AsyncFor(??)\nast.AsyncFunctionDef(??)\nast.AsyncWith(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.Await(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.MatMult(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NameConstant(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.Try(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.YieldFrom(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nast.withitem(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque([iterable[, maxlen]]) --> deque object\nasynchat.fifo(??)\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasyncio.ALL_COMPLETED\nasyncio.AbstractChildWatcher(??)\nasyncio.AbstractEventLoop(??)\nasyncio.AbstractEventLoopPolicy(??)\nasyncio.AbstractServer(??)\nasyncio.BaseEventLoop(??)\nasyncio.BaseProtocol(??)\nasyncio.BaseTransport(??)\nasyncio.BoundedSemaphore(??)\nasyncio.CancelledError(??)\nasyncio.Condition(??)\nasyncio.DatagramProtocol(??)\nasyncio.DatagramTransport(??)\nasyncio.DefaultEventLoopPolicy(??)\nasyncio.Event(??)\nasyncio.FIRST_COMPLETED\nasyncio.FIRST_EXCEPTION\nasyncio.FastChildWatcher(??)\nasyncio.Future(??)\nasyncio.Handle(??)\nasyncio.IncompleteReadError(??)\nasyncio.InvalidStateError(??)\nasyncio.LifoQueue(??)\nasyncio.Lock(??)\nasyncio.PriorityQueue(??)\nasyncio.Protocol(??)\nasyncio.Queue(??)\nasyncio.QueueEmpty(??)\nasyncio.QueueFull(??)\nasyncio.ReadTransport(??)\nasyncio.SafeChildWatcher(??)\nasyncio.SelectorEventLoop(??)\nasyncio.Semaphore(??)\nasyncio.StreamReader(??)\nasyncio.StreamReaderProtocol(??)\nasyncio.StreamWriter(??)\nasyncio.SubprocessProtocol(??)\nasyncio.SubprocessTransport(??)\nasyncio.Task(??)\nasyncio.TimeoutError(??)\nasyncio.TimerHandle(??)\nasyncio.Transport(??)\nasyncio.WriteTransport(??)\nasyncio.as_completed(??)\nasyncio.async(??)\nasyncio.base_events(??)\nasyncio.base_events.BaseEventLoop(??)\nasyncio.base_events.Server(??)\nasyncio.base_events.collections(??)\nasyncio.base_events.compat(??)\nasyncio.base_events.concurrent(??)\nasyncio.base_events.coroutine(??)\nasyncio.base_events.coroutines(??)\nasyncio.base_events.events(??)\nasyncio.base_events.futures(??)\nasyncio.base_events.heapq(??)\nasyncio.base_events.inspect(??)\nasyncio.base_events.logger(??)\nasyncio.base_events.logging(??)\nasyncio.base_events.os(??)\nasyncio.base_events.socket(??)\nasyncio.base_events.subprocess(??)\nasyncio.base_events.sys(??)\nasyncio.base_events.tasks(??)\nasyncio.base_events.threading(??)\nasyncio.base_events.time(??)\nasyncio.base_events.traceback(??)\nasyncio.base_events.warnings(??)\nasyncio.base_subprocess(??)\nasyncio.base_subprocess.BaseSubprocessTransport(??)\nasyncio.base_subprocess.ReadSubprocessPipeProto(??)\nasyncio.base_subprocess.WriteSubprocessPipeProto(??)\nasyncio.base_subprocess.collections(??)\nasyncio.base_subprocess.compat(??)\nasyncio.base_subprocess.coroutine(??)\nasyncio.base_subprocess.futures(??)\nasyncio.base_subprocess.logger(??)\nasyncio.base_subprocess.protocols(??)\nasyncio.base_subprocess.subprocess(??)\nasyncio.base_subprocess.transports(??)\nasyncio.base_subprocess.warnings(??)\nasyncio.compat(??)\nasyncio.compat.PY34(??)\nasyncio.compat.PY35(??)\nasyncio.compat.flatten_list_bytes(??)\nasyncio.compat.sys(??)\nasyncio.constants(??)\nasyncio.constants.ACCEPT_RETRY_DELAY\nasyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES\nasyncio.coroutine(??)\nasyncio.coroutines(??)\nasyncio.coroutines.CoroWrapper(??)\nasyncio.coroutines.compat(??)\nasyncio.coroutines.coroutine(??)\nasyncio.coroutines.debug_wrapper(??)\nasyncio.coroutines.events(??)\nasyncio.coroutines.functools(??)\nasyncio.coroutines.futures(??)\nasyncio.coroutines.inspect(??)\nasyncio.coroutines.iscoroutine(??)\nasyncio.coroutines.iscoroutinefunction(??)\nasyncio.coroutines.logger(??)\nasyncio.coroutines.opcode(??)\nasyncio.coroutines.os(??)\nasyncio.coroutines.sys(??)\nasyncio.coroutines.traceback(??)\nasyncio.coroutines.types(??)\nasyncio.create_subprocess_exec(??)\nasyncio.create_subprocess_shell(??)\nasyncio.ensure_future(??)\nasyncio.events(??)\nasyncio.events.AbstractEventLoop(??)\nasyncio.events.AbstractEventLoopPolicy(??)\nasyncio.events.AbstractServer(??)\nasyncio.events.BaseDefaultEventLoopPolicy(??)\nasyncio.events.Handle(??)\nasyncio.events.TimerHandle(??)\nasyncio.events.compat(??)\nasyncio.events.functools(??)\nasyncio.events.get_child_watcher(??)\nasyncio.events.get_event_loop(??)\nasyncio.events.get_event_loop_policy(??)\nasyncio.events.inspect(??)\nasyncio.events.new_event_loop(??)\nasyncio.events.reprlib(??)\nasyncio.events.set_child_watcher(??)\nasyncio.events.set_event_loop(??)\nasyncio.events.set_event_loop_policy(??)\nasyncio.events.socket(??)\nasyncio.events.subprocess(??)\nasyncio.events.sys(??)\nasyncio.events.threading(??)\nasyncio.events.traceback(??)\nasyncio.futures(??)\nasyncio.futures.CancelledError(??)\nasyncio.futures.Error(??)\nasyncio.futures.Future(??)\nasyncio.futures.InvalidStateError(??)\nasyncio.futures.STACK_DEBUG\nasyncio.futures.TimeoutError(??)\nasyncio.futures.compat(??)\nasyncio.futures.concurrent(??)\nasyncio.futures.events(??)\nasyncio.futures.logging(??)\nasyncio.futures.reprlib(??)\nasyncio.futures.sys(??)\nasyncio.futures.traceback(??)\nasyncio.futures.wrap_future(??)\nasyncio.gather(??)\nasyncio.get_child_watcher(??)\nasyncio.get_event_loop(??)\nasyncio.get_event_loop_policy(??)\nasyncio.iscoroutine(??)\nasyncio.iscoroutinefunction(??)\nasyncio.locks(??)\nasyncio.locks.BoundedSemaphore(??)\nasyncio.locks.Condition(??)\nasyncio.locks.Event(??)\nasyncio.locks.Lock(??)\nasyncio.locks.Semaphore(??)\nasyncio.locks.collections(??)\nasyncio.locks.compat(??)\nasyncio.locks.coroutine(??)\nasyncio.locks.events(??)\nasyncio.locks.futures(??)\nasyncio.log(??)\nasyncio.log.logger(??)\nasyncio.log.logging(??)\nasyncio.new_event_loop(??)\nasyncio.open_connection(??)\nasyncio.open_unix_connection(??)\nasyncio.proactor_events.BaseProactorEventLoop(??)\nasyncio.proactor_events.base_events(??)\nasyncio.proactor_events.compat(??)\nasyncio.proactor_events.constants(??)\nasyncio.proactor_events.futures(??)\nasyncio.proactor_events.logger(??)\nasyncio.proactor_events.socket(??)\nasyncio.proactor_events.sslproto(??)\nasyncio.proactor_events.transports(??)\nasyncio.proactor_events.warnings(??)\nasyncio.protocols(??)\nasyncio.protocols.BaseProtocol(??)\nasyncio.protocols.DatagramProtocol(??)\nasyncio.protocols.Protocol(??)\nasyncio.protocols.SubprocessProtocol(??)\nasyncio.queues(??)\nasyncio.queues.LifoQueue(??)\nasyncio.queues.PriorityQueue(??)\nasyncio.queues.Queue(??)\nasyncio.queues.QueueEmpty(??)\nasyncio.queues.QueueFull(??)\nasyncio.queues.collections(??)\nasyncio.queues.compat(??)\nasyncio.queues.coroutine(??)\nasyncio.queues.events(??)\nasyncio.queues.futures(??)\nasyncio.queues.heapq(??)\nasyncio.queues.locks(??)\nasyncio.selector_events(??)\nasyncio.selector_events.BaseSelectorEventLoop(??)\nasyncio.selector_events.base_events(??)\nasyncio.selector_events.collections(??)\nasyncio.selector_events.compat(??)\nasyncio.selector_events.constants(??)\nasyncio.selector_events.coroutine(??)\nasyncio.selector_events.errno(??)\nasyncio.selector_events.events(??)\nasyncio.selector_events.functools(??)\nasyncio.selector_events.futures(??)\nasyncio.selector_events.logger(??)\nasyncio.selector_events.selectors(??)\nasyncio.selector_events.socket(??)\nasyncio.selector_events.ssl(??)\nasyncio.selector_events.sslproto(??)\nasyncio.selector_events.transports(??)\nasyncio.selector_events.warnings(??)\nasyncio.selectors(??)\nasyncio.set_child_watcher(??)\nasyncio.set_event_loop(??)\nasyncio.set_event_loop_policy(??)\nasyncio.shield(??)\nasyncio.sleep(??)\nasyncio.sslproto(??)\nasyncio.sslproto.SSLProtocol(??)\nasyncio.sslproto.collections(??)\nasyncio.sslproto.compat(??)\nasyncio.sslproto.logger(??)\nasyncio.sslproto.protocols(??)\nasyncio.sslproto.ssl(??)\nasyncio.sslproto.transports(??)\nasyncio.sslproto.warnings(??)\nasyncio.start_server(??)\nasyncio.start_unix_server(??)\nasyncio.streams(??)\nasyncio.streams.FlowControlMixin(??)\nasyncio.streams.IncompleteReadError(??)\nasyncio.streams.StreamReader(??)\nasyncio.streams.StreamReaderProtocol(??)\nasyncio.streams.StreamWriter(??)\nasyncio.streams.compat(??)\nasyncio.streams.coroutine(??)\nasyncio.streams.coroutines(??)\nasyncio.streams.events(??)\nasyncio.streams.futures(??)\nasyncio.streams.logger(??)\nasyncio.streams.open_connection(??)\nasyncio.streams.open_unix_connection(??)\nasyncio.streams.protocols(??)\nasyncio.streams.socket(??)\nasyncio.streams.start_server(??)\nasyncio.streams.start_unix_server(??)\nasyncio.subprocess(??)\nasyncio.subprocess.DEVNULL\nasyncio.subprocess.PIPE\nasyncio.subprocess.Process(??)\nasyncio.subprocess.STDOUT\nasyncio.subprocess.SubprocessStreamProtocol(??)\nasyncio.subprocess.coroutine(??)\nasyncio.subprocess.create_subprocess_exec(??)\nasyncio.subprocess.create_subprocess_shell(??)\nasyncio.subprocess.events(??)\nasyncio.subprocess.logger(??)\nasyncio.subprocess.protocols(??)\nasyncio.subprocess.streams(??)\nasyncio.subprocess.subprocess(??)\nasyncio.subprocess.tasks(??)\nasyncio.sys(??)\nasyncio.tasks(??)\nasyncio.tasks.ALL_COMPLETED\nasyncio.tasks.FIRST_COMPLETED\nasyncio.tasks.FIRST_EXCEPTION\nasyncio.tasks.Task(??)\nasyncio.tasks.as_completed(??)\nasyncio.tasks.async(??)\nasyncio.tasks.compat(??)\nasyncio.tasks.concurrent(??)\nasyncio.tasks.coroutine(??)\nasyncio.tasks.coroutines(??)\nasyncio.tasks.ensure_future(??)\nasyncio.tasks.events(??)\nasyncio.tasks.functools(??)\nasyncio.tasks.futures(??)\nasyncio.tasks.gather(??)\nasyncio.tasks.inspect(??)\nasyncio.tasks.linecache(??)\nasyncio.tasks.shield(??)\nasyncio.tasks.sleep(??)\nasyncio.tasks.traceback(??)\nasyncio.tasks.wait(??)\nasyncio.tasks.wait_for(??)\nasyncio.tasks.warnings(??)\nasyncio.tasks.weakref(??)\nasyncio.test_utils.HTTPServer(??)\nasyncio.test_utils.MockCallback(??)\nasyncio.test_utils.MockPattern(??)\nasyncio.test_utils.SSLWSGIServer(??)\nasyncio.test_utils.SSLWSGIServerMixin(??)\nasyncio.test_utils.SilentUnixWSGIServer(??)\nasyncio.test_utils.SilentWSGIRequestHandler(??)\nasyncio.test_utils.SilentWSGIServer(??)\nasyncio.test_utils.TestCase(??)\nasyncio.test_utils.TestLoop(??)\nasyncio.test_utils.TestSelector(??)\nasyncio.test_utils.UnixHTTPServer(??)\nasyncio.test_utils.UnixSSLWSGIServer(??)\nasyncio.test_utils.UnixWSGIServer(??)\nasyncio.test_utils.WSGIRequestHandler(??)\nasyncio.test_utils.WSGIServer(??)\nasyncio.test_utils.base_events(??)\nasyncio.test_utils.collections(??)\nasyncio.test_utils.contextlib(??)\nasyncio.test_utils.coroutine(??)\nasyncio.test_utils.disable_logger(??)\nasyncio.test_utils.dummy_ssl_context(??)\nasyncio.test_utils.events(??)\nasyncio.test_utils.force_legacy_ssl_support(??)\nasyncio.test_utils.futures(??)\nasyncio.test_utils.gen_unix_socket_path(??)\nasyncio.test_utils.get_function_source(??)\nasyncio.test_utils.io(??)\nasyncio.test_utils.logger(??)\nasyncio.test_utils.logging(??)\nasyncio.test_utils.make_test_protocol(??)\nasyncio.test_utils.mock(??)\nasyncio.test_utils.mock_nonblocking_socket(??)\nasyncio.test_utils.os(??)\nasyncio.test_utils.re(??)\nasyncio.test_utils.run_briefly(??)\nasyncio.test_utils.run_once(??)\nasyncio.test_utils.run_test_server(??)\nasyncio.test_utils.run_test_unix_server(??)\nasyncio.test_utils.run_until(??)\nasyncio.test_utils.selectors(??)\nasyncio.test_utils.socket(??)\nasyncio.test_utils.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nasyncio.test_utils.socketserver(??)\nasyncio.test_utils.ssl(??)\nasyncio.test_utils.sys(??)\nasyncio.test_utils.tasks(??)\nasyncio.test_utils.tempfile(??)\nasyncio.test_utils.threading(??)\nasyncio.test_utils.time(??)\nasyncio.test_utils.unittest(??)\nasyncio.test_utils.unix_socket_path(??)\nasyncio.transports(??)\nasyncio.transports.BaseTransport(??)\nasyncio.transports.DatagramTransport(??)\nasyncio.transports.ReadTransport(??)\nasyncio.transports.SubprocessTransport(??)\nasyncio.transports.Transport(??)\nasyncio.transports.WriteTransport(??)\nasyncio.transports.compat(??)\nasyncio.unix_events(??)\nasyncio.unix_events.AbstractChildWatcher(??)\nasyncio.unix_events.BaseChildWatcher(??)\nasyncio.unix_events.DefaultEventLoopPolicy(??)\nasyncio.unix_events.FastChildWatcher(??)\nasyncio.unix_events.SafeChildWatcher(??)\nasyncio.unix_events.SelectorEventLoop(??)\nasyncio.unix_events.base_events(??)\nasyncio.unix_events.base_subprocess(??)\nasyncio.unix_events.compat(??)\nasyncio.unix_events.constants(??)\nasyncio.unix_events.coroutine(??)\nasyncio.unix_events.coroutines(??)\nasyncio.unix_events.errno(??)\nasyncio.unix_events.events(??)\nasyncio.unix_events.futures(??)\nasyncio.unix_events.logger(??)\nasyncio.unix_events.os(??)\nasyncio.unix_events.selector_events(??)\nasyncio.unix_events.selectors(??)\nasyncio.unix_events.signal(??)\nasyncio.unix_events.socket(??)\nasyncio.unix_events.stat(??)\nasyncio.unix_events.subprocess(??)\nasyncio.unix_events.sys(??)\nasyncio.unix_events.threading(??)\nasyncio.unix_events.transports(??)\nasyncio.unix_events.warnings(??)\nasyncio.wait(??)\nasyncio.wait_for(??)\nasyncio.wrap_future(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.a85decode(??)\nbase64.a85encode(??)\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.b85decode(??)\nbase64.b85encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.CO_GENERATOR\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.RecursionError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopAsyncIteration(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(??)\nbuiltins.all(??)\nbuiltins.any(??)\nbuiltins.ascii(??)\nbuiltins.bin(??)\nbuiltins.bool(x) -> bool\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(??)\nbuiltins.chr(??)\nbuiltins.classmethod(function) -> method\nbuiltins.compile(??)\nbuiltins.complex(real[, imag]) -> complex number\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(??)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(??)\nbuiltins.enumerate(iterable[, start]) -> iterator for index, value of iterable\nbuiltins.eval(??)\nbuiltins.exec(??)\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(x) -> floating point number\nbuiltins.format(??)\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals(??)\nbuiltins.hasattr(??)\nbuiltins.hash(??)\nbuiltins.help(??)\nbuiltins.hex(??)\nbuiltins.id(??)\nbuiltins.input(??)\nbuiltins.int(x=0) -> integer\nbuiltins.isinstance(??)\nbuiltins.issubclass(??)\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(??)\nbuiltins.license(??)\nbuiltins.list() -> new empty list\nbuiltins.locals(??)\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable, *[, default=obj, key=func]) -> value\nbuiltins.memoryview(??)\nbuiltins.min(iterable, *[, default=obj, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(??)\nbuiltins.open(??)\nbuiltins.ord(??)\nbuiltins.pow(??)\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute\nbuiltins.quit(??)\nbuiltins.range(stop) -> range object\nbuiltins.repr(??)\nbuiltins.reversed(sequence) -> reverse iterator over values of the sequence\nbuiltins.round(number[, ndigits]) -> number\nbuiltins.set() -> new empty set object\nbuiltins.setattr(??)\nbuiltins.slice(stop)\nbuiltins.sorted(??)\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object='') -> str\nbuiltins.sum(??)\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple() -> empty tuple\nbuiltins.type(object_or_name, bases, dict)\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(??)\nbz2.BZ2Decompressor(??)\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.warnings(??)\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(??)\ncgi.BytesIO(??)\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.Mapping(??)\ncgi.Message(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.escape(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(??)\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.argparse(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(??)\ncodecs.encode(??)\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(??)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.namereplace_errors(??)\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(??)\ncodecs.register_error(??)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.AsyncIterable(??)\ncollections.AsyncIterator(??)\ncollections.Awaitable(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.ChainMap(??)\ncollections.Container(??)\ncollections.Coroutine(??)\ncollections.Counter(??)\ncollections.Generator(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.abc(??)\ncollections.abc.AsyncIterable(??)\ncollections.abc.AsyncIterator(??)\ncollections.abc.Awaitable(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Container(??)\ncollections.abc.Coroutine(??)\ncollections.abc.Generator(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.defaultdict(default_factory[, ...]) --> dict with default factory\ncollections.deque([iterable[, maxlen]]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(??)\ncompileall.ProcessPoolExecutor(??)\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.importlib(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.partial(func, *args, **keywords) - new function with partial application\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(real[, imag]) -> complex number\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.Full(??)\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.SimpleQueue(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.itertools(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.partial(func, *args, **keywords) - new function with partial application\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.traceback(??)\nconcurrent.futures.process.wait(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.os(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.ConverterMapping(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque([iterable[, maxlen]]) --> deque object\ncontextlib.redirect_stderr(??)\ncontextlib.redirect_stdout(??)\ncontextlib.suppress(??)\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncopy.Error(??)\ncopy.PyStringMap(??)\ncopy.builtins(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopy.name\ncopy.t(??)\ncopy.weakref(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.islice(iterable, stop) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables, repeat=1) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util.contextlib(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.newpad(??)\ncurses.newwin(??)\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.update_lines_cols(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.wrapper(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(??)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.diff_bytes(??)\ndifflib.get_close_matches(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndis.Bytecode(??)\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.HAVE_ARGUMENT\ndis.Instruction(??)\ndis.cmp_op(??)\ndis.code_info(??)\ndis.collections(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.get_instructions(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.io(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.stack_effect(??)\ndis.sys(??)\ndis.types(??)\ndivmod(??)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.FAIL_FAST\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.argparse(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.Thread(??)\ndummy_threading.ThreadError(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.local(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.contentmanager.ContentManager(??)\nemail.contentmanager.binascii(??)\nemail.contentmanager.email(??)\nemail.contentmanager.get_and_fixup_unknown_message_content(??)\nemail.contentmanager.get_message_content(??)\nemail.contentmanager.get_non_text_content(??)\nemail.contentmanager.get_text_content(??)\nemail.contentmanager.maintype\nemail.contentmanager.quoprimime(??)\nemail.contentmanager.raw_data_manager(??)\nemail.contentmanager.set_bytes_content(??)\nemail.contentmanager.set_message_content(??)\nemail.contentmanager.set_text_content(??)\nemail.contentmanager.subtype\nemail.contentmanager.typ(??)\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.compat32(??)\nemail.feedparser.deque([iterable[, maxlen]]) --> deque object\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.message(??)\nemail.feedparser.re(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO(??)\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.NL\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.deepcopy(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.MappingProxyType(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO(??)\nemail.message.Charset(??)\nemail.message.EmailMessage(??)\nemail.message.MIMEPart(??)\nemail.message.Message(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.quopri(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message.warnings(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO(??)\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.Charset(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.parser(??)\nemail.parser.BytesFeedParser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.policy.Compat32(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.SMTPUTF8(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.raw_data_manager(??)\nemail.policy.strict(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nensurepip.bootstrap(??)\nensurepip.os(??)\nensurepip.pkgutil(??)\nensurepip.ssl(??)\nensurepip.sys(??)\nensurepip.tempfile(??)\nensurepip.version(??)\nenum.DynamicClassAttribute(??)\nenum.Enum(??)\nenum.EnumMeta(??)\nenum.IntEnum(??)\nenum.MappingProxyType(??)\nenum.OrderedDict(??)\nenum.sys(??)\nenum.unique(??)\nenumerate(iterable[, start]) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(??)\nexec(??)\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfilecmp.BUFSIZE\nfilecmp.DEFAULT_IGNORES(??)\nfilecmp.clear_cache(??)\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.DEFAULT_BUFSIZE\nfileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]])\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(??)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(??)\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nformatter.warnings(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MAXLINE\nftplib.MSG_OOB\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.os(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nftplib.warnings(??)\nfunctools.MappingProxyType(??)\nfunctools.RLock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.WeakKeyDictionary(??)\nfunctools.cmp_to_key(??)\nfunctools.get_cache_token(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.partialmethod(??)\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.singledispatch(??)\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage(??)\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_stats() -> [...]\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.samefile(??)\ngenericpath.sameopenfile(??)\ngenericpath.samestat(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.contextlib(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.io(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.io(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.struct(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.escape(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.glob2(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglobals(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.open(??)\ngzip.os(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(??)\nhash(??)\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.pbkdf2_hmac(??)\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha512(??)\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nheapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item\nheapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item.\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nhelp(??)\nhex(??)\nhmac.HMAC(??)\nhmac.compare_digest(a, b) -> bool\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.unescape(??)\nhtml.parser.warnings(??)\nhtml.unescape(??)\nhttp.HTTPStatus(??)\nhttp.IntEnum(??)\nhttp.client(??)\nhttp.client.ACCEPTED(??)\nhttp.client.ALREADY_REPORTED(??)\nhttp.client.BAD_GATEWAY(??)\nhttp.client.BAD_REQUEST(??)\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT(??)\nhttp.client.CONTINUE(??)\nhttp.client.CREATED(??)\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED(??)\nhttp.client.FAILED_DEPENDENCY(??)\nhttp.client.FORBIDDEN(??)\nhttp.client.FOUND(??)\nhttp.client.GATEWAY_TIMEOUT(??)\nhttp.client.GONE(??)\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED(??)\nhttp.client.IM_USED(??)\nhttp.client.INSUFFICIENT_STORAGE(??)\nhttp.client.INTERNAL_SERVER_ERROR(??)\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED(??)\nhttp.client.LOCKED(??)\nhttp.client.LOOP_DETECTED(??)\nhttp.client.LineTooLong(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED(??)\nhttp.client.MOVED_PERMANENTLY(??)\nhttp.client.MULTIPLE_CHOICES(??)\nhttp.client.MULTI_STATUS(??)\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED(??)\nhttp.client.NON_AUTHORITATIVE_INFORMATION(??)\nhttp.client.NOT_ACCEPTABLE(??)\nhttp.client.NOT_EXTENDED(??)\nhttp.client.NOT_FOUND(??)\nhttp.client.NOT_IMPLEMENTED(??)\nhttp.client.NOT_MODIFIED(??)\nhttp.client.NO_CONTENT(??)\nhttp.client.NotConnected(??)\nhttp.client.OK(??)\nhttp.client.PARTIAL_CONTENT(??)\nhttp.client.PAYMENT_REQUIRED(??)\nhttp.client.PERMANENT_REDIRECT(??)\nhttp.client.PRECONDITION_FAILED(??)\nhttp.client.PRECONDITION_REQUIRED(??)\nhttp.client.PROCESSING(??)\nhttp.client.PROXY_AUTHENTICATION_REQUIRED(??)\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE(??)\nhttp.client.REQUEST_ENTITY_TOO_LARGE(??)\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??)\nhttp.client.REQUEST_TIMEOUT(??)\nhttp.client.REQUEST_URI_TOO_LONG(??)\nhttp.client.RESET_CONTENT(??)\nhttp.client.RemoteDisconnected(??)\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER(??)\nhttp.client.SERVICE_UNAVAILABLE(??)\nhttp.client.SWITCHING_PROTOCOLS(??)\nhttp.client.TEMPORARY_REDIRECT(??)\nhttp.client.TOO_MANY_REQUESTS(??)\nhttp.client.UNAUTHORIZED(??)\nhttp.client.UNPROCESSABLE_ENTITY(??)\nhttp.client.UNSUPPORTED_MEDIA_TYPE(??)\nhttp.client.UPGRADE_REQUIRED(??)\nhttp.client.USE_PROXY(??)\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.VARIANT_ALSO_NEGOTIATES(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.http(??)\nhttp.client.io(??)\nhttp.client.os(??)\nhttp.client.parse_headers(??)\nhttp.client.re(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.HTTPStatus(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.argparse(??)\nhttp.server.copy(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(??)\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.DEFAULT_BUFFER_SIZE\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exr(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_webp(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.SourcelessFileLoader(??)\nimp.acquire_lock(??)\nimp.cache_from_source(??)\nimp.create_dynamic(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.importlib(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held(??)\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock(??)\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.types(??)\nimp.util(??)\nimp.warnings(??)\nimportlib.abc(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.ModuleSpec(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.reload(??)\nimportlib.sys(??)\nimportlib.types(??)\nimportlib.util(??)\nimportlib.util.LazyLoader(??)\nimportlib.util.MAGIC_NUMBER\nimportlib.util.abc(??)\nimportlib.util.cache_from_source(??)\nimportlib.util.contextmanager(??)\nimportlib.util.decode_source(??)\nimportlib.util.find_spec(??)\nimportlib.util.functools(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.module_from_spec(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\nimportlib.util.source_from_cache(??)\nimportlib.util.spec_from_file_location(??)\nimportlib.util.spec_from_loader(??)\nimportlib.util.sys(??)\nimportlib.util.types(??)\nimportlib.util.warnings(??)\nimportlib.warnings(??)\ninput(??)\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CORO_CLOSED\ninspect.CORO_CREATED\ninspect.CORO_RUNNING\ninspect.CORO_SUSPENDED\ninspect.CO_COROUTINE\ninspect.CO_GENERATOR\ninspect.CO_ITERABLE_COROUTINE\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FrameInfo(frame, filename, lineno, function, code_context, index)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.ModuleInfo(name, suffix, mode, module_type)\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.ast(??)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.collections(??)\ninspect.currentframe(??)\ninspect.dis(??)\ninspect.enum(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getcoroutinelocals(??)\ninspect.getcoroutinestate(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmoduleinfo(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isawaitable(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.iscoroutine(??)\ninspect.iscoroutinefunction(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.token(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.unwrap(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint(x=0) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO(??)\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(??)\nissubclass(??)\niter(iterable) -> iterator\nitertools.accumulate(iterable[, func]) --> accumulate object\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.islice(iterable, stop) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables, repeat=1) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecodeError(??)\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS\njson.decoder.JSONArray(??)\njson.decoder.JSONDecodeError(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.FLOAT_REPR(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(string) -> string\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring(??)\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.argparse(??)\njson.tool.collections(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(??)\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.functools(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.lazycache(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist() -> new empty list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.collections(??)\nlocale.currency(??)\nlocale.delocalize(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.k\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.v\nlocale.windows_locale(??)\nlocals(??)\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.collections(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingMixin(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.errno(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.thread(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(??)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(??)\nlzma.open(??)\nmacpath.FILE_ATTRIBUTE_ARCHIVE\nmacpath.FILE_ATTRIBUTE_COMPRESSED\nmacpath.FILE_ATTRIBUTE_DEVICE\nmacpath.FILE_ATTRIBUTE_DIRECTORY\nmacpath.FILE_ATTRIBUTE_ENCRYPTED\nmacpath.FILE_ATTRIBUTE_HIDDEN\nmacpath.FILE_ATTRIBUTE_INTEGRITY_STREAM\nmacpath.FILE_ATTRIBUTE_NORMAL\nmacpath.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nmacpath.FILE_ATTRIBUTE_NO_SCRUB_DATA\nmacpath.FILE_ATTRIBUTE_OFFLINE\nmacpath.FILE_ATTRIBUTE_READONLY\nmacpath.FILE_ATTRIBUTE_REPARSE_POINT\nmacpath.FILE_ATTRIBUTE_SPARSE_FILE\nmacpath.FILE_ATTRIBUTE_SYSTEM\nmacpath.FILE_ATTRIBUTE_TEMPORARY\nmacpath.FILE_ATTRIBUTE_VIRTUAL\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFDOOR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFPORT\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IFWHT\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(mode) -> bool\nmacpath.S_ISCHR(mode) -> bool\nmacpath.S_ISDIR(mode) -> bool\nmacpath.S_ISDOOR(mode) -> bool\nmacpath.S_ISFIFO(mode) -> bool\nmacpath.S_ISGID\nmacpath.S_ISLNK(mode) -> bool\nmacpath.S_ISPORT(mode) -> bool\nmacpath.S_ISREG(mode) -> bool\nmacpath.S_ISSOCK(mode) -> bool\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_ISWHT(mode) -> bool\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_COMPRESSED\nmacpath.UF_HIDDEN\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.filemode(??)\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.samefile(??)\nmacpath.sameopenfile(??)\nmacpath.samestat(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacurl2path.os(??)\nmacurl2path.pathname2url(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmap(func, *iterables) --> map object\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(bytes)\nmarshal.version\nmax(iterable, *[, default=obj, key=func]) -> value\nmemoryview(??)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable, *[, default=obj, key=func]) -> value\nmodulefinder.AddPackagePath(??)\nmodulefinder.HAVE_ARGUMENT\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.imp(??)\nmodulefinder.importlib(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.struct(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmodulefinder.warnings(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.ForkingPickler(??)\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.rebuild_connection(??)\nmultiprocessing.connection.reduce_connection(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.selectors(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.util(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.context(??)\nmultiprocessing.context.AuthenticationError(??)\nmultiprocessing.context.BaseContext(??)\nmultiprocessing.context.BufferTooShort(??)\nmultiprocessing.context.DefaultContext(??)\nmultiprocessing.context.ForkContext(??)\nmultiprocessing.context.ForkProcess(??)\nmultiprocessing.context.ForkServerContext(??)\nmultiprocessing.context.ForkServerProcess(??)\nmultiprocessing.context.Process(??)\nmultiprocessing.context.ProcessError(??)\nmultiprocessing.context.SpawnContext(??)\nmultiprocessing.context.SpawnProcess(??)\nmultiprocessing.context.TimeoutError(??)\nmultiprocessing.context.assert_spawning(??)\nmultiprocessing.context.get_spawning_popen(??)\nmultiprocessing.context.os(??)\nmultiprocessing.context.process(??)\nmultiprocessing.context.set_spawning_popen(??)\nmultiprocessing.context.sys(??)\nmultiprocessing.context.threading(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list() -> new empty list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forkserver.ForkServer(??)\nmultiprocessing.forkserver.MAXFDS_TO_SEND\nmultiprocessing.forkserver.UNSIGNED_STRUCT(??)\nmultiprocessing.forkserver.connect_to_new_process(??)\nmultiprocessing.forkserver.connection(??)\nmultiprocessing.forkserver.ensure_running(??)\nmultiprocessing.forkserver.errno(??)\nmultiprocessing.forkserver.get_inherited_fds(??)\nmultiprocessing.forkserver.main(??)\nmultiprocessing.forkserver.os(??)\nmultiprocessing.forkserver.process(??)\nmultiprocessing.forkserver.read_unsigned(??)\nmultiprocessing.forkserver.reduction(??)\nmultiprocessing.forkserver.selectors(??)\nmultiprocessing.forkserver.semaphore_tracker(??)\nmultiprocessing.forkserver.set_forkserver_preload(??)\nmultiprocessing.forkserver.signal(??)\nmultiprocessing.forkserver.socket(??)\nmultiprocessing.forkserver.spawn(??)\nmultiprocessing.forkserver.struct(??)\nmultiprocessing.forkserver.sys(??)\nmultiprocessing.forkserver.threading(??)\nmultiprocessing.forkserver.util(??)\nmultiprocessing.forkserver.write_unsigned(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_all_start_methods(??)\nmultiprocessing.get_context(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.get_start_method(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.context(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.rebuild_arena(??)\nmultiprocessing.heap.reduce_arena(??)\nmultiprocessing.heap.reduction(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.heap.util(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BasePoolProxy(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.context(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.get_context(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.pool(??)\nmultiprocessing.managers.process(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.reduction(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.AsyncResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.ExceptionWithTraceback(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.RemoteTraceback(??)\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.get_context(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.os(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.rebuild_exc(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.traceback(??)\nmultiprocessing.pool.util(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.popen_fork.Popen(??)\nmultiprocessing.popen_fork.os(??)\nmultiprocessing.popen_fork.signal(??)\nmultiprocessing.popen_fork.sys(??)\nmultiprocessing.popen_fork.util(??)\nmultiprocessing.popen_forkserver.Popen(??)\nmultiprocessing.popen_forkserver.context(??)\nmultiprocessing.popen_forkserver.forkserver(??)\nmultiprocessing.popen_forkserver.io(??)\nmultiprocessing.popen_forkserver.os(??)\nmultiprocessing.popen_forkserver.popen_fork(??)\nmultiprocessing.popen_forkserver.reduction(??)\nmultiprocessing.popen_forkserver.spawn(??)\nmultiprocessing.popen_forkserver.util(??)\nmultiprocessing.popen_spawn_posix.Popen(??)\nmultiprocessing.popen_spawn_posix.context(??)\nmultiprocessing.popen_spawn_posix.io(??)\nmultiprocessing.popen_spawn_posix.os(??)\nmultiprocessing.popen_spawn_posix.popen_fork(??)\nmultiprocessing.popen_spawn_posix.reduction(??)\nmultiprocessing.popen_spawn_posix.spawn(??)\nmultiprocessing.popen_spawn_posix.util(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.BaseProcess(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.ForkingPickler(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.connection(??)\nmultiprocessing.queues.context(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.is_exiting(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.HAVE_SEND_HANDLE(??)\nmultiprocessing.reduction.array(??)\nmultiprocessing.reduction.context(??)\nmultiprocessing.reduction.copyreg(??)\nmultiprocessing.reduction.dump(??)\nmultiprocessing.reduction.functools(??)\nmultiprocessing.reduction.io(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.pickle(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.recvfds(??)\nmultiprocessing.reduction.register(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.sendfds(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.resource_sharer.DupFd(??)\nmultiprocessing.resource_sharer.os(??)\nmultiprocessing.resource_sharer.process(??)\nmultiprocessing.resource_sharer.reduction(??)\nmultiprocessing.resource_sharer.signal(??)\nmultiprocessing.resource_sharer.socket(??)\nmultiprocessing.resource_sharer.stop(??)\nmultiprocessing.resource_sharer.sys(??)\nmultiprocessing.resource_sharer.threading(??)\nmultiprocessing.resource_sharer.util(??)\nmultiprocessing.semaphore_tracker.SemaphoreTracker(??)\nmultiprocessing.semaphore_tracker.ensure_running(??)\nmultiprocessing.semaphore_tracker.getfd(??)\nmultiprocessing.semaphore_tracker.main(??)\nmultiprocessing.semaphore_tracker.os(??)\nmultiprocessing.semaphore_tracker.register(??)\nmultiprocessing.semaphore_tracker.signal(??)\nmultiprocessing.semaphore_tracker.spawn(??)\nmultiprocessing.semaphore_tracker.sys(??)\nmultiprocessing.semaphore_tracker.threading(??)\nmultiprocessing.semaphore_tracker.unregister(??)\nmultiprocessing.semaphore_tracker.util(??)\nmultiprocessing.semaphore_tracker.warnings(??)\nmultiprocessing.set_executable(??)\nmultiprocessing.set_forkserver_preload(??)\nmultiprocessing.set_start_method(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.ForkingPickler(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.get_context(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.spawn.WINEXE(??)\nmultiprocessing.spawn.WINSERVICE(??)\nmultiprocessing.spawn.freeze_support(??)\nmultiprocessing.spawn.get_command_line(??)\nmultiprocessing.spawn.get_executable(??)\nmultiprocessing.spawn.get_preparation_data(??)\nmultiprocessing.spawn.get_start_method(??)\nmultiprocessing.spawn.import_main_path(??)\nmultiprocessing.spawn.is_forking(??)\nmultiprocessing.spawn.old_main_modules(??)\nmultiprocessing.spawn.os(??)\nmultiprocessing.spawn.pickle(??)\nmultiprocessing.spawn.prepare(??)\nmultiprocessing.spawn.process(??)\nmultiprocessing.spawn.runpy(??)\nmultiprocessing.spawn.set_executable(??)\nmultiprocessing.spawn.set_start_method(??)\nmultiprocessing.spawn.spawn_main(??)\nmultiprocessing.spawn.sys(??)\nmultiprocessing.spawn.types(??)\nmultiprocessing.spawn.util(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.context(??)\nmultiprocessing.synchronize.process(??)\nmultiprocessing.synchronize.sem_unlink(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.tempfile(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.synchronize.util(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.MAXFD\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.close_all_fds_except(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.process(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.spawnv_passfds(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnetrc.stat(??)\nnext(iterator[, default])\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(??)\nopen(??)\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imatmul(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(a, b) -- Same as a<=b.\noperator.length_hint(obj, default=0) -> int\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.matmul(a, b) -- Same as a @ b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.rshift(a, b) -- Same as a >> b.\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(??)\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_TRAPPED\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(??)\nos.WEXITED\nos.WEXITSTATUS(??)\nos.WIFCONTINUED(??)\nos.WIFEXITED(??)\nos.WIFSIGNALED(??)\nos.WIFSTOPPED(??)\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(??)\nos.WTERMSIG(??)\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abort(??)\nos.access(??)\nos.altsep(??)\nos.chdir(??)\nos.chflags(??)\nos.chmod(??)\nos.chown(??)\nos.chroot(??)\nos.close(??)\nos.closerange(??)\nos.confstr(??)\nos.confstr_names(??)\nos.cpu_count(??)\nos.ctermid(??)\nos.curdir\nos.defpath\nos.device_encoding(??)\nos.devnull\nos.dup(??)\nos.dup2(??)\nos.environ(??)\nos.environb(??)\nos.errno(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(??)\nos.execve(??)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(??)\nos.fchmod(??)\nos.fchown(??)\nos.fdopen(??)\nos.fork(??)\nos.forkpty(??)\nos.fpathconf(??)\nos.fsdecode(??)\nos.fsencode(??)\nos.fstat(??)\nos.fstatvfs(??)\nos.fsync(??)\nos.ftruncate(??)\nos.get_blocking(fd) -> bool\nos.get_exec_path(??)\nos.get_inheritable(??)\nos.get_terminal_size(??)\nos.getcwd(??)\nos.getcwdb(??)\nos.getegid(??)\nos.getenv(??)\nos.getenvb(??)\nos.geteuid(??)\nos.getgid(??)\nos.getgrouplist(user, group) -> list of groups to which a user belongs\nos.getgroups(??)\nos.getloadavg(??)\nos.getlogin(??)\nos.getpgid(??)\nos.getpgrp(??)\nos.getpid(??)\nos.getppid(??)\nos.getpriority(??)\nos.getsid(??)\nos.getuid(??)\nos.initgroups(username, gid) -> None\nos.isatty(??)\nos.kill(??)\nos.killpg(??)\nos.lchflags(??)\nos.lchmod(??)\nos.lchown(??)\nos.linesep\nos.link(??)\nos.listdir(??)\nos.lockf(??)\nos.lseek(??)\nos.lstat(??)\nos.major(??)\nos.makedev(??)\nos.makedirs(name [, mode=0o777][, exist_ok=False])\nos.minor(??)\nos.mkdir(??)\nos.mkfifo(??)\nos.mknod(??)\nos.name\nos.nice(??)\nos.open(??)\nos.openpty(??)\nos.pardir\nos.path(??)\nos.pathconf(??)\nos.pathconf_names(??)\nos.pathsep\nos.pipe(??)\nos.popen(??)\nos.pread(??)\nos.putenv(??)\nos.pwrite(??)\nos.read(??)\nos.readlink(path, *, dir_fd=None) -> path\nos.readv(??)\nos.remove(??)\nos.removedirs(name)\nos.rename(??)\nos.renames(old, new)\nos.replace(??)\nos.rmdir(??)\nos.scandir(path='.') -> iterator of DirEntry objects for given path\nos.sched_get_priority_max(??)\nos.sched_get_priority_min(??)\nos.sched_yield(??)\nos.sendfile(out, in, offset, nbytes) -> byteswritten\nos.sep\nos.set_blocking(fd, blocking)\nos.set_inheritable(??)\nos.setegid(??)\nos.seteuid(??)\nos.setgid(??)\nos.setgroups(??)\nos.setpgid(??)\nos.setpgrp(??)\nos.setpriority(??)\nos.setregid(??)\nos.setreuid(??)\nos.setsid(??)\nos.setuid(??)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(??)\nos.stat_float_times([newval]) -> oldval\nos.stat_result(??)\nos.statvfs(??)\nos.statvfs_result(??)\nos.strerror(??)\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(??)\nos.sync(??)\nos.sys(??)\nos.sysconf(??)\nos.sysconf_names(??)\nos.system(??)\nos.tcgetpgrp(??)\nos.tcsetpgrp(??)\nos.terminal_size(??)\nos.times(??)\nos.times_result(??)\nos.truncate(??)\nos.ttyname(??)\nos.umask(??)\nos.uname(??)\nos.uname_result(??)\nos.unlink(??)\nos.unsetenv(??)\nos.urandom(??)\nos.utime(??)\nos.wait(??)\nos.wait3(??)\nos.wait4(??)\nos.waitpid(??)\nos.walk(??)\nos.write(??)\nos.writev(??)\npathlib.EINVAL\npathlib.ENOENT\npathlib.ENOTDIR\npathlib.Path(??)\npathlib.PosixPath(??)\npathlib.PurePath(??)\npathlib.PurePosixPath(??)\npathlib.PureWindowsPath(??)\npathlib.S_ISBLK(mode) -> bool\npathlib.S_ISCHR(mode) -> bool\npathlib.S_ISDIR(mode) -> bool\npathlib.S_ISFIFO(mode) -> bool\npathlib.S_ISLNK(mode) -> bool\npathlib.S_ISREG(mode) -> bool\npathlib.S_ISSOCK(mode) -> bool\npathlib.Sequence(??)\npathlib.WindowsPath(??)\npathlib.attrgetter(attr, ...) --> attrgetter object\npathlib.contextmanager(??)\npathlib.fnmatch(??)\npathlib.functools(??)\npathlib.io(??)\npathlib.nt(??)\npathlib.ntpath(??)\npathlib.os(??)\npathlib.posixpath(??)\npathlib.re(??)\npathlib.supports_symlinks(??)\npathlib.sys(??)\npathlib.urlquote_from_bytes(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.ADDITEMS\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINBYTES8\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BINUNICODE8\npickle.BUILD\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_SET\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FRAME\npickle.FROZENSET\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.MEMOIZE\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWOBJ_EX\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.SHORT_BINUNICODE\npickle.STACK_GLOBAL\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.islice(iterable, stop) --> islice object\npickle.load(??)\npickle.loads(??)\npickle.maxsize\npickle.pack(fmt, v1, v2, ...) -> bytes\npickle.re(??)\npickle.sys(??)\npickle.unpack(fmt, buffer) -> (v1, v2, ...)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.TAKEN_FROM_ARGUMENT4U\npickletools.TAKEN_FROM_ARGUMENT8U\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes1(??)\npickletools.bytes4(??)\npickletools.bytes8(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.io(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pybytes_or_str(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyfrozenset(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pyset(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_bytes1(??)\npickletools.read_bytes4(??)\npickletools.read_bytes8(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_uint4(??)\npickletools.read_uint8(??)\npickletools.read_unicodestring1(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestring8(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.sys(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.uint4(??)\npickletools.uint8(??)\npickletools.unicodestring1(??)\npickletools.unicodestring4(??)\npickletools.unicodestring8(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warnings(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.collections(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.subprocess(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(system, node, release, version, machine, processor)\nplatform.version(??)\nplatform.warnings(??)\nplatform.win32_ver(??)\nplistlib.BytesIO(??)\nplistlib.Data(??)\nplistlib.Dict(??)\nplistlib.FMT_BINARY(??)\nplistlib.FMT_XML(??)\nplistlib.InvalidFileException(??)\nplistlib.PLISTHEADER\nplistlib.ParserCreate(??)\nplistlib.Plist(??)\nplistlib.PlistFormat(??)\nplistlib.binascii(??)\nplistlib.codecs(??)\nplistlib.contextlib(??)\nplistlib.datetime(??)\nplistlib.dump(??)\nplistlib.dumps(??)\nplistlib.enum(??)\nplistlib.itertools(??)\nplistlib.load(??)\nplistlib.loads(??)\nplistlib.os(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.struct(??)\nplistlib.warn(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.HAVE_SSL(??)\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.errno(??)\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_TRAPPED\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(??)\nposix.WEXITED\nposix.WEXITSTATUS(??)\nposix.WIFCONTINUED(??)\nposix.WIFEXITED(??)\nposix.WIFSIGNALED(??)\nposix.WIFSTOPPED(??)\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(??)\nposix.WTERMSIG(??)\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort(??)\nposix.access(??)\nposix.chdir(??)\nposix.chflags(??)\nposix.chmod(??)\nposix.chown(??)\nposix.chroot(??)\nposix.close(??)\nposix.closerange(??)\nposix.confstr(??)\nposix.confstr_names(??)\nposix.cpu_count(??)\nposix.ctermid(??)\nposix.device_encoding(??)\nposix.dup(??)\nposix.dup2(??)\nposix.environ(??)\nposix.error(??)\nposix.execv(??)\nposix.execve(??)\nposix.fchdir(??)\nposix.fchmod(??)\nposix.fchown(??)\nposix.fork(??)\nposix.forkpty(??)\nposix.fpathconf(??)\nposix.fstat(??)\nposix.fstatvfs(??)\nposix.fsync(??)\nposix.ftruncate(??)\nposix.get_blocking(fd) -> bool\nposix.get_inheritable(??)\nposix.get_terminal_size(??)\nposix.getcwd(??)\nposix.getcwdb(??)\nposix.getegid(??)\nposix.geteuid(??)\nposix.getgid(??)\nposix.getgrouplist(user, group) -> list of groups to which a user belongs\nposix.getgroups(??)\nposix.getloadavg(??)\nposix.getlogin(??)\nposix.getpgid(??)\nposix.getpgrp(??)\nposix.getpid(??)\nposix.getppid(??)\nposix.getpriority(??)\nposix.getsid(??)\nposix.getuid(??)\nposix.initgroups(username, gid) -> None\nposix.isatty(??)\nposix.kill(??)\nposix.killpg(??)\nposix.lchflags(??)\nposix.lchmod(??)\nposix.lchown(??)\nposix.link(??)\nposix.listdir(??)\nposix.lockf(??)\nposix.lseek(??)\nposix.lstat(??)\nposix.major(??)\nposix.makedev(??)\nposix.minor(??)\nposix.mkdir(??)\nposix.mkfifo(??)\nposix.mknod(??)\nposix.nice(??)\nposix.open(??)\nposix.openpty(??)\nposix.pathconf(??)\nposix.pathconf_names(??)\nposix.pipe(??)\nposix.pread(??)\nposix.putenv(??)\nposix.pwrite(??)\nposix.read(??)\nposix.readlink(path, *, dir_fd=None) -> path\nposix.readv(??)\nposix.remove(??)\nposix.rename(??)\nposix.replace(??)\nposix.rmdir(??)\nposix.scandir(path='.') -> iterator of DirEntry objects for given path\nposix.sched_get_priority_max(??)\nposix.sched_get_priority_min(??)\nposix.sched_yield(??)\nposix.sendfile(out, in, offset, nbytes) -> byteswritten\nposix.set_blocking(fd, blocking)\nposix.set_inheritable(??)\nposix.setegid(??)\nposix.seteuid(??)\nposix.setgid(??)\nposix.setgroups(??)\nposix.setpgid(??)\nposix.setpgrp(??)\nposix.setpriority(??)\nposix.setregid(??)\nposix.setreuid(??)\nposix.setsid(??)\nposix.setuid(??)\nposix.stat(??)\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result(??)\nposix.statvfs(??)\nposix.statvfs_result(??)\nposix.strerror(??)\nposix.symlink(??)\nposix.sync(??)\nposix.sysconf(??)\nposix.sysconf_names(??)\nposix.system(??)\nposix.tcgetpgrp(??)\nposix.tcsetpgrp(??)\nposix.terminal_size(??)\nposix.times(??)\nposix.times_result(??)\nposix.truncate(??)\nposix.ttyname(??)\nposix.umask(??)\nposix.uname(??)\nposix.uname_result(??)\nposix.unlink(??)\nposix.unsetenv(??)\nposix.urandom(??)\nposix.utime(??)\nposix.wait(??)\nposix.wait3(??)\nposix.wait4(??)\nposix.waitpid(??)\nposix.write(??)\nposix.writev(??)\npow(??)\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.re(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.os(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall(??)\npwd.getpwnam(??)\npwd.getpwuid(??)\npwd.struct_passwd(??)\npy_compile.PyCompileError(??)\npy_compile.compile(??)\npy_compile.importlib(??)\npy_compile.main(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.itemgetter(item, ...) --> itemgetter object\npyclbr.os(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque([iterable[, maxlen]]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.urllib(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.deque([iterable[, maxlen]]) --> deque object\nqueue.heappop(??)\nqueue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nqueue.threading(??)\nqueue.time(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(??)\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates an int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange(stop) -> range object\nre.A\nre.ASCII\nre.DEBUG\nre.DOTALL\nre.I\nre.IGNORECASE\nre.L\nre.LOCALE\nre.M\nre.MULTILINE\nre.S\nre.Scanner(??)\nre.T\nre.TEMPLATE\nre.U\nre.UNICODE\nre.VERBOSE\nre.X\nre.compile(??)\nre.copyreg(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.fullmatch(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.sys(??)\nre.template(??)\nrepr(??)\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, stop) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nreversed(sequence) -> reverse iterator over values of the sequence\nrlcompleter.Completer(??)\nrlcompleter.atexit(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(number[, ndigits]) -> number\nrunpy.get_importer(??)\nrunpy.importlib(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nrunpy.types(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nselectors.ABCMeta(??)\nselectors.BaseSelector(??)\nselectors.DefaultSelector(??)\nselectors.EVENT_READ\nselectors.EVENT_WRITE\nselectors.KqueueSelector(??)\nselectors.Mapping(??)\nselectors.PollSelector(??)\nselectors.SelectSelector(??)\nselectors.SelectorKey(fileobj, fd, events, data)\nselectors.abstractmethod(??)\nselectors.math(??)\nselectors.namedtuple(??)\nselectors.select(??)\nselectors.sys(??)\nset() -> new empty set object\nsetattr(??)\nshelve.BsdDbShelf(??)\nshelve.BytesIO(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(??)\nshelve.Shelf(??)\nshelve.Unpickler(??)\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque([iterable[, maxlen]]) --> deque object\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SameFileError(??)\nshutil.SpecialFileError(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(??)\nshutil.getpwnam(??)\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.tarfile(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.Handlers(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT(??)\nsignal.SIGALRM(??)\nsignal.SIGBUS(??)\nsignal.SIGCHLD(??)\nsignal.SIGCONT(??)\nsignal.SIGEMT(??)\nsignal.SIGFPE(??)\nsignal.SIGHUP(??)\nsignal.SIGILL(??)\nsignal.SIGINFO(??)\nsignal.SIGINT(??)\nsignal.SIGIO(??)\nsignal.SIGIOT(??)\nsignal.SIGKILL(??)\nsignal.SIGPIPE(??)\nsignal.SIGPROF(??)\nsignal.SIGQUIT(??)\nsignal.SIGSEGV(??)\nsignal.SIGSTOP(??)\nsignal.SIGSYS(??)\nsignal.SIGTERM(??)\nsignal.SIGTRAP(??)\nsignal.SIGTSTP(??)\nsignal.SIGTTIN(??)\nsignal.SIGTTOU(??)\nsignal.SIGURG(??)\nsignal.SIGUSR1(??)\nsignal.SIGUSR2(??)\nsignal.SIGVTALRM(??)\nsignal.SIGWINCH(??)\nsignal.SIGXCPU(??)\nsignal.SIGXFSZ(??)\nsignal.SIG_BLOCK(??)\nsignal.SIG_DFL(??)\nsignal.SIG_IGN(??)\nsignal.SIG_SETMASK(??)\nsignal.SIG_UNBLOCK(??)\nsignal.Sigmasks(??)\nsignal.Signals(??)\nsignal.alarm(??)\nsignal.default_int_handler(...)\nsignal.getitimer(??)\nsignal.getsignal(??)\nsignal.pause(??)\nsignal.pthread_kill(??)\nsignal.pthread_sigmask(??)\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(??)\nsignal.siginterrupt(??)\nsignal.signal(??)\nsignal.sigpending(??)\nsignal.sigwait(??)\nsite.CONFIG_LINE\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.aliasmbcs(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.enablerlcompleter(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice(stop)\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPNotSupportedError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.datetime(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.sys(??)\nsndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.namedtuple(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK(??)\nsocket.AF_DECnet\nsocket.AF_INET(??)\nsocket.AF_INET6(??)\nsocket.AF_IPX(??)\nsocket.AF_LINK(??)\nsocket.AF_ROUTE(??)\nsocket.AF_SNA(??)\nsocket.AF_SYSTEM(??)\nsocket.AF_UNIX(??)\nsocket.AF_UNSPEC(??)\nsocket.AI_ADDRCONFIG\nsocket.AI_ALL\nsocket.AI_CANONNAME\nsocket.AI_DEFAULT\nsocket.AI_MASK\nsocket.AI_NUMERICHOST\nsocket.AI_NUMERICSERV\nsocket.AI_PASSIVE\nsocket.AI_V4MAPPED\nsocket.AI_V4MAPPED_CFG\nsocket.AddressFamily(??)\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.IntEnum(??)\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC\nsocket.MSG_DONTROUTE\nsocket.MSG_DONTWAIT\nsocket.MSG_EOF\nsocket.MSG_EOR\nsocket.MSG_OOB\nsocket.MSG_PEEK\nsocket.MSG_TRUNC\nsocket.MSG_WAITALL\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM(??)\nsocket.SOCK_RAW(??)\nsocket.SOCK_RDM(??)\nsocket.SOCK_SEQPACKET(??)\nsocket.SOCK_STREAM(??)\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketKind(??)\nsocket.SocketType(??)\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(??)\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.selectors(??)\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.errno(??)\nsocketserver.os(??)\nsocketserver.selectors(??)\nsocketserver.socket(??)\nsocketserver.threading(??)\nsocketserver.time(??)\nsorted(??)\nsqlite3.Binary(??)\nsqlite3.Cache(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement(??)\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.collections(??)\nsqlite3.complete_statement(sql)\nsqlite3.connect(??)\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Cache(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement(??)\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.collections(??)\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(??)\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET(??)\nssl.ALERT_DESCRIPTION_ACCESS_DENIED\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE\nssl.ALERT_DESCRIPTION_BAD_RECORD_MAC\nssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED\nssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE\nssl.ALERT_DESCRIPTION_CLOSE_NOTIFY\nssl.ALERT_DESCRIPTION_DECODE_ERROR\nssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE\nssl.ALERT_DESCRIPTION_DECRYPT_ERROR\nssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE\nssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER\nssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY\nssl.ALERT_DESCRIPTION_INTERNAL_ERROR\nssl.ALERT_DESCRIPTION_NO_RENEGOTIATION\nssl.ALERT_DESCRIPTION_PROTOCOL_VERSION\nssl.ALERT_DESCRIPTION_RECORD_OVERFLOW\nssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE\nssl.ALERT_DESCRIPTION_UNKNOWN_CA\nssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME\nssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE\nssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION\nssl.ALERT_DESCRIPTION_USER_CANCELLED\nssl.CERT_NONE\nssl.CERT_OPTIONAL\nssl.CERT_REQUIRED\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)\nssl.HAS_ALPN(??)\nssl.HAS_ECDH(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.MemoryBIO(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL\nssl.OP_CIPHER_SERVER_PREFERENCE\nssl.OP_NO_SSLv2\nssl.OP_NO_SSLv3\nssl.OP_NO_TLSv1\nssl.OP_SINGLE_DH_USE\nssl.OP_SINGLE_ECDH_USE\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv2(??)\nssl.PROTOCOL_SSLv23(??)\nssl.PROTOCOL_SSLv3(??)\nssl.PROTOCOL_TLSv1(??)\nssl.Purpose(??)\nssl.RAND_add(??)\nssl.RAND_bytes(??)\nssl.RAND_egd(??)\nssl.RAND_pseudo_bytes(??)\nssl.RAND_status(??)\nssl.SOCK_STREAM(??)\nssl.SOL_SOCKET\nssl.SO_TYPE\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLObject(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF\nssl.SSL_ERROR_INVALID_ERROR_CODE\nssl.SSL_ERROR_SSL\nssl.SSL_ERROR_SYSCALL\nssl.SSL_ERROR_WANT_CONNECT\nssl.SSL_ERROR_WANT_READ\nssl.SSL_ERROR_WANT_WRITE\nssl.SSL_ERROR_WANT_X509_LOOKUP\nssl.SSL_ERROR_ZERO_RETURN\nssl.VERIFY_CRL_CHECK_CHAIN\nssl.VERIFY_CRL_CHECK_LEAF\nssl.VERIFY_DEFAULT\nssl.VERIFY_X509_STRICT\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.create_default_context(??)\nssl.errno(??)\nssl.get_default_verify_paths(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.ipaddress(??)\nssl.match_hostname(??)\nssl.namedtuple(??)\nssl.os(??)\nssl.re(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.sys(??)\nssl.textwrap(??)\nssl.wrap_socket(??)\nstat.FILE_ATTRIBUTE_ARCHIVE\nstat.FILE_ATTRIBUTE_COMPRESSED\nstat.FILE_ATTRIBUTE_DEVICE\nstat.FILE_ATTRIBUTE_DIRECTORY\nstat.FILE_ATTRIBUTE_ENCRYPTED\nstat.FILE_ATTRIBUTE_HIDDEN\nstat.FILE_ATTRIBUTE_INTEGRITY_STREAM\nstat.FILE_ATTRIBUTE_NORMAL\nstat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nstat.FILE_ATTRIBUTE_NO_SCRUB_DATA\nstat.FILE_ATTRIBUTE_OFFLINE\nstat.FILE_ATTRIBUTE_READONLY\nstat.FILE_ATTRIBUTE_REPARSE_POINT\nstat.FILE_ATTRIBUTE_SPARSE_FILE\nstat.FILE_ATTRIBUTE_SYSTEM\nstat.FILE_ATTRIBUTE_TEMPORARY\nstat.FILE_ATTRIBUTE_VIRTUAL\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFDOOR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFPORT\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IFWHT\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(mode) -> bool\nstat.S_ISCHR(mode) -> bool\nstat.S_ISDIR(mode) -> bool\nstat.S_ISDOOR(mode) -> bool\nstat.S_ISFIFO(mode) -> bool\nstat.S_ISGID\nstat.S_ISLNK(mode) -> bool\nstat.S_ISPORT(mode) -> bool\nstat.S_ISREG(mode) -> bool\nstat.S_ISSOCK(mode) -> bool\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_ISWHT(mode) -> bool\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstatistics.Decimal(??)\nstatistics.Fraction(??)\nstatistics.StatisticsError(??)\nstatistics.collections(??)\nstatistics.math(??)\nstatistics.mean(??)\nstatistics.median(??)\nstatistics.median_grouped(??)\nstatistics.median_high(??)\nstatistics.median_low(??)\nstatistics.mode(??)\nstatistics.pstdev(??)\nstatistics.pvariance(??)\nstatistics.stdev(??)\nstatistics.variance(??)\nstr(object='') -> str\nstring.ChainMap(??)\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(fmt) --> compiled struct object\nstruct.calcsize(fmt) -> integer\nstruct.error(??)\nstruct.iter_unpack(fmt, buffer) -> iterator(v1, v2, ...)\nstruct.pack(fmt, v1, v2, ...) -> bytes\nstruct.pack_into(fmt, buffer, offset, v1, v2, ...)\nstruct.unpack(fmt, buffer) -> (v1, v2, ...)\nstruct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...)\nsubprocess.CalledProcessError(??)\nsubprocess.CompletedProcess(??)\nsubprocess.DEVNULL\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.os(??)\nsubprocess.run(??)\nsubprocess.select(??)\nsubprocess.selectors(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.threading(??)\nsubprocess.time(??)\nsubprocess.warnings(??)\nsum(??)\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.namedtuple(??)\nsunau.open(??)\nsunau.openfp(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.async_funcdef\nsymbol.async_stmt\nsymbol.atom\nsymbol.atom_expr\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_arg\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.api_version\nsys.argv(??)\nsys.base_exec_prefix\nsys.base_prefix\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.get_coroutine_wrapper()\nsys.getallocatedblocks() -> integer\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.getswitchinterval() -> current thread switch interval; see setswitchinterval().\nsys.gettrace()\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(string) -> string\nsys.is_finalizing()\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.set_coroutine_wrapper(wrapper)\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.setswitchinterval(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TarIter(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.filemode(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.main(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.selectors(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempdirb(??)\ntempfile.gettempprefix(??)\ntempfile.gettempprefixb(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.shorten(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.get_ident() -> integer\nthreading.local(??)\nthreading.main_thread(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.perf_counter() -> float\ntime.process_time() -> float\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog.ACTIVE\ntkinter.commondialog.ALL\ntkinter.commondialog.ANCHOR\ntkinter.commondialog.ARC\ntkinter.commondialog.BASELINE\ntkinter.commondialog.BEVEL\ntkinter.commondialog.BOTH\ntkinter.commondialog.BOTTOM\ntkinter.commondialog.BROWSE\ntkinter.commondialog.BUTT\ntkinter.commondialog.BaseWidget(??)\ntkinter.commondialog.BitmapImage(??)\ntkinter.commondialog.BooleanVar(??)\ntkinter.commondialog.Button(??)\ntkinter.commondialog.CASCADE\ntkinter.commondialog.CENTER\ntkinter.commondialog.CHAR\ntkinter.commondialog.CHECKBUTTON\ntkinter.commondialog.CHORD\ntkinter.commondialog.COMMAND\ntkinter.commondialog.CURRENT\ntkinter.commondialog.CallWrapper(??)\ntkinter.commondialog.Canvas(??)\ntkinter.commondialog.Checkbutton(??)\ntkinter.commondialog.DISABLED\ntkinter.commondialog.DOTBOX\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.DoubleVar(??)\ntkinter.commondialog.E\ntkinter.commondialog.END\ntkinter.commondialog.EW\ntkinter.commondialog.EXCEPTION\ntkinter.commondialog.EXTENDED\ntkinter.commondialog.Entry(??)\ntkinter.commondialog.Event(??)\ntkinter.commondialog.FALSE\ntkinter.commondialog.FIRST\ntkinter.commondialog.FLAT\ntkinter.commondialog.Frame(??)\ntkinter.commondialog.GROOVE\ntkinter.commondialog.Grid(??)\ntkinter.commondialog.HIDDEN\ntkinter.commondialog.HORIZONTAL\ntkinter.commondialog.INSERT\ntkinter.commondialog.INSIDE\ntkinter.commondialog.Image(??)\ntkinter.commondialog.IntVar(??)\ntkinter.commondialog.LAST\ntkinter.commondialog.LEFT\ntkinter.commondialog.Label(??)\ntkinter.commondialog.LabelFrame(??)\ntkinter.commondialog.Listbox(??)\ntkinter.commondialog.MITER\ntkinter.commondialog.MOVETO\ntkinter.commondialog.MULTIPLE\ntkinter.commondialog.Menu(??)\ntkinter.commondialog.Menubutton(??)\ntkinter.commondialog.Message(??)\ntkinter.commondialog.Misc(??)\ntkinter.commondialog.N\ntkinter.commondialog.NE\ntkinter.commondialog.NO\ntkinter.commondialog.NONE\ntkinter.commondialog.NORMAL\ntkinter.commondialog.NS\ntkinter.commondialog.NSEW\ntkinter.commondialog.NUMERIC\ntkinter.commondialog.NW\ntkinter.commondialog.NoDefaultRoot(??)\ntkinter.commondialog.OFF\ntkinter.commondialog.ON\ntkinter.commondialog.OUTSIDE\ntkinter.commondialog.OptionMenu(??)\ntkinter.commondialog.PAGES\ntkinter.commondialog.PIESLICE\ntkinter.commondialog.PROJECTING\ntkinter.commondialog.Pack(??)\ntkinter.commondialog.PanedWindow(??)\ntkinter.commondialog.PhotoImage(??)\ntkinter.commondialog.Place(??)\ntkinter.commondialog.RADIOBUTTON\ntkinter.commondialog.RAISED\ntkinter.commondialog.READABLE\ntkinter.commondialog.RIDGE\ntkinter.commondialog.RIGHT\ntkinter.commondialog.ROUND\ntkinter.commondialog.Radiobutton(??)\ntkinter.commondialog.S\ntkinter.commondialog.SCROLL\ntkinter.commondialog.SE\ntkinter.commondialog.SEL\ntkinter.commondialog.SEL_FIRST\ntkinter.commondialog.SEL_LAST\ntkinter.commondialog.SEPARATOR\ntkinter.commondialog.SINGLE\ntkinter.commondialog.SOLID\ntkinter.commondialog.SUNKEN\ntkinter.commondialog.SW\ntkinter.commondialog.Scale(??)\ntkinter.commondialog.Scrollbar(??)\ntkinter.commondialog.Spinbox(??)\ntkinter.commondialog.StringVar(??)\ntkinter.commondialog.TOP\ntkinter.commondialog.TRUE\ntkinter.commondialog.Tcl(??)\ntkinter.commondialog.TclError(??)\ntkinter.commondialog.TclVersion\ntkinter.commondialog.Text(??)\ntkinter.commondialog.Tk(??)\ntkinter.commondialog.TkVersion\ntkinter.commondialog.Toplevel(??)\ntkinter.commondialog.UNDERLINE\ntkinter.commondialog.UNITS\ntkinter.commondialog.VERTICAL\ntkinter.commondialog.Variable(??)\ntkinter.commondialog.W\ntkinter.commondialog.WORD\ntkinter.commondialog.WRITABLE\ntkinter.commondialog.Widget(??)\ntkinter.commondialog.Wm(??)\ntkinter.commondialog.X\ntkinter.commondialog.XView(??)\ntkinter.commondialog.Y\ntkinter.commondialog.YES\ntkinter.commondialog.YView(??)\ntkinter.commondialog.constants(??)\ntkinter.commondialog.getboolean(??)\ntkinter.commondialog.getdouble(??)\ntkinter.commondialog.getint(??)\ntkinter.commondialog.image_names(??)\ntkinter.commondialog.image_types(??)\ntkinter.commondialog.mainloop(??)\ntkinter.commondialog.re(??)\ntkinter.commondialog.sys(??)\ntkinter.commondialog.wantobjects\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog.ACTIVE\ntkinter.dialog.ALL\ntkinter.dialog.ANCHOR\ntkinter.dialog.ARC\ntkinter.dialog.BASELINE\ntkinter.dialog.BEVEL\ntkinter.dialog.BOTH\ntkinter.dialog.BOTTOM\ntkinter.dialog.BROWSE\ntkinter.dialog.BUTT\ntkinter.dialog.BaseWidget(??)\ntkinter.dialog.BitmapImage(??)\ntkinter.dialog.BooleanVar(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.CASCADE\ntkinter.dialog.CENTER\ntkinter.dialog.CHAR\ntkinter.dialog.CHECKBUTTON\ntkinter.dialog.CHORD\ntkinter.dialog.COMMAND\ntkinter.dialog.CURRENT\ntkinter.dialog.CallWrapper(??)\ntkinter.dialog.Canvas(??)\ntkinter.dialog.Checkbutton(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.DISABLED\ntkinter.dialog.DOTBOX\ntkinter.dialog.Dialog(??)\ntkinter.dialog.DoubleVar(??)\ntkinter.dialog.E\ntkinter.dialog.END\ntkinter.dialog.EW\ntkinter.dialog.EXCEPTION\ntkinter.dialog.EXTENDED\ntkinter.dialog.Entry(??)\ntkinter.dialog.Event(??)\ntkinter.dialog.FALSE\ntkinter.dialog.FIRST\ntkinter.dialog.FLAT\ntkinter.dialog.Frame(??)\ntkinter.dialog.GROOVE\ntkinter.dialog.Grid(??)\ntkinter.dialog.HIDDEN\ntkinter.dialog.HORIZONTAL\ntkinter.dialog.INSERT\ntkinter.dialog.INSIDE\ntkinter.dialog.Image(??)\ntkinter.dialog.IntVar(??)\ntkinter.dialog.LAST\ntkinter.dialog.LEFT\ntkinter.dialog.Label(??)\ntkinter.dialog.LabelFrame(??)\ntkinter.dialog.Listbox(??)\ntkinter.dialog.MITER\ntkinter.dialog.MOVETO\ntkinter.dialog.MULTIPLE\ntkinter.dialog.Menu(??)\ntkinter.dialog.Menubutton(??)\ntkinter.dialog.Message(??)\ntkinter.dialog.Misc(??)\ntkinter.dialog.N\ntkinter.dialog.NE\ntkinter.dialog.NO\ntkinter.dialog.NONE\ntkinter.dialog.NORMAL\ntkinter.dialog.NS\ntkinter.dialog.NSEW\ntkinter.dialog.NUMERIC\ntkinter.dialog.NW\ntkinter.dialog.NoDefaultRoot(??)\ntkinter.dialog.OFF\ntkinter.dialog.ON\ntkinter.dialog.OUTSIDE\ntkinter.dialog.OptionMenu(??)\ntkinter.dialog.PAGES\ntkinter.dialog.PIESLICE\ntkinter.dialog.PROJECTING\ntkinter.dialog.Pack(??)\ntkinter.dialog.PanedWindow(??)\ntkinter.dialog.PhotoImage(??)\ntkinter.dialog.Place(??)\ntkinter.dialog.RADIOBUTTON\ntkinter.dialog.RAISED\ntkinter.dialog.READABLE\ntkinter.dialog.RIDGE\ntkinter.dialog.RIGHT\ntkinter.dialog.ROUND\ntkinter.dialog.Radiobutton(??)\ntkinter.dialog.S\ntkinter.dialog.SCROLL\ntkinter.dialog.SE\ntkinter.dialog.SEL\ntkinter.dialog.SEL_FIRST\ntkinter.dialog.SEL_LAST\ntkinter.dialog.SEPARATOR\ntkinter.dialog.SINGLE\ntkinter.dialog.SOLID\ntkinter.dialog.SUNKEN\ntkinter.dialog.SW\ntkinter.dialog.Scale(??)\ntkinter.dialog.Scrollbar(??)\ntkinter.dialog.Spinbox(??)\ntkinter.dialog.StringVar(??)\ntkinter.dialog.TOP\ntkinter.dialog.TRUE\ntkinter.dialog.Tcl(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.TclVersion\ntkinter.dialog.Text(??)\ntkinter.dialog.Tk(??)\ntkinter.dialog.TkVersion\ntkinter.dialog.Toplevel(??)\ntkinter.dialog.UNDERLINE\ntkinter.dialog.UNITS\ntkinter.dialog.VERTICAL\ntkinter.dialog.Variable(??)\ntkinter.dialog.W\ntkinter.dialog.WORD\ntkinter.dialog.WRITABLE\ntkinter.dialog.Widget(??)\ntkinter.dialog.Wm(??)\ntkinter.dialog.X\ntkinter.dialog.XView(??)\ntkinter.dialog.Y\ntkinter.dialog.YES\ntkinter.dialog.YView(??)\ntkinter.dialog.colorchooser(??)\ntkinter.dialog.commondialog(??)\ntkinter.dialog.constants(??)\ntkinter.dialog.getboolean(??)\ntkinter.dialog.getdouble(??)\ntkinter.dialog.getint(??)\ntkinter.dialog.image_names(??)\ntkinter.dialog.image_types(??)\ntkinter.dialog.mainloop(??)\ntkinter.dialog.re(??)\ntkinter.dialog.sys(??)\ntkinter.dialog.wantobjects\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.filedialog.ACTIVE\ntkinter.filedialog.ALL\ntkinter.filedialog.ANCHOR\ntkinter.filedialog.ARC\ntkinter.filedialog.BASELINE\ntkinter.filedialog.BEVEL\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.BROWSE\ntkinter.filedialog.BUTT\ntkinter.filedialog.BaseWidget(??)\ntkinter.filedialog.BitmapImage(??)\ntkinter.filedialog.BooleanVar(??)\ntkinter.filedialog.Button(??)\ntkinter.filedialog.CASCADE\ntkinter.filedialog.CENTER\ntkinter.filedialog.CHAR\ntkinter.filedialog.CHECKBUTTON\ntkinter.filedialog.CHORD\ntkinter.filedialog.COMMAND\ntkinter.filedialog.CURRENT\ntkinter.filedialog.CallWrapper(??)\ntkinter.filedialog.Canvas(??)\ntkinter.filedialog.Checkbutton(??)\ntkinter.filedialog.DISABLED\ntkinter.filedialog.DOTBOX\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.DoubleVar(??)\ntkinter.filedialog.E\ntkinter.filedialog.END\ntkinter.filedialog.EW\ntkinter.filedialog.EXCEPTION\ntkinter.filedialog.EXTENDED\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.Event(??)\ntkinter.filedialog.FALSE\ntkinter.filedialog.FIRST\ntkinter.filedialog.FLAT\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.GROOVE\ntkinter.filedialog.Grid(??)\ntkinter.filedialog.HIDDEN\ntkinter.filedialog.HORIZONTAL\ntkinter.filedialog.INSERT\ntkinter.filedialog.INSIDE\ntkinter.filedialog.Image(??)\ntkinter.filedialog.IntVar(??)\ntkinter.filedialog.LAST\ntkinter.filedialog.LEFT\ntkinter.filedialog.Label(??)\ntkinter.filedialog.LabelFrame(??)\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.MITER\ntkinter.filedialog.MOVETO\ntkinter.filedialog.MULTIPLE\ntkinter.filedialog.Menu(??)\ntkinter.filedialog.Menubutton(??)\ntkinter.filedialog.Message(??)\ntkinter.filedialog.Misc(??)\ntkinter.filedialog.N\ntkinter.filedialog.NE\ntkinter.filedialog.NO\ntkinter.filedialog.NONE\ntkinter.filedialog.NORMAL\ntkinter.filedialog.NS\ntkinter.filedialog.NSEW\ntkinter.filedialog.NUMERIC\ntkinter.filedialog.NW\ntkinter.filedialog.NoDefaultRoot(??)\ntkinter.filedialog.OFF\ntkinter.filedialog.ON\ntkinter.filedialog.OUTSIDE\ntkinter.filedialog.Open(??)\ntkinter.filedialog.OptionMenu(??)\ntkinter.filedialog.PAGES\ntkinter.filedialog.PIESLICE\ntkinter.filedialog.PROJECTING\ntkinter.filedialog.Pack(??)\ntkinter.filedialog.PanedWindow(??)\ntkinter.filedialog.PhotoImage(??)\ntkinter.filedialog.Place(??)\ntkinter.filedialog.RADIOBUTTON\ntkinter.filedialog.RAISED\ntkinter.filedialog.READABLE\ntkinter.filedialog.RIDGE\ntkinter.filedialog.RIGHT\ntkinter.filedialog.ROUND\ntkinter.filedialog.Radiobutton(??)\ntkinter.filedialog.S\ntkinter.filedialog.SCROLL\ntkinter.filedialog.SE\ntkinter.filedialog.SEL\ntkinter.filedialog.SEL_FIRST\ntkinter.filedialog.SEL_LAST\ntkinter.filedialog.SEPARATOR\ntkinter.filedialog.SINGLE\ntkinter.filedialog.SOLID\ntkinter.filedialog.SUNKEN\ntkinter.filedialog.SW\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scale(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.Spinbox(??)\ntkinter.filedialog.StringVar(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.TRUE\ntkinter.filedialog.Tcl(??)\ntkinter.filedialog.TclError(??)\ntkinter.filedialog.TclVersion\ntkinter.filedialog.Text(??)\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.TkVersion\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.UNDERLINE\ntkinter.filedialog.UNITS\ntkinter.filedialog.VERTICAL\ntkinter.filedialog.Variable(??)\ntkinter.filedialog.W\ntkinter.filedialog.WORD\ntkinter.filedialog.WRITABLE\ntkinter.filedialog.Widget(??)\ntkinter.filedialog.Wm(??)\ntkinter.filedialog.X\ntkinter.filedialog.XView(??)\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.YView(??)\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.colorchooser(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.constants(??)\ntkinter.filedialog.dialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.dnd(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.getboolean(??)\ntkinter.filedialog.getdouble(??)\ntkinter.filedialog.getint(??)\ntkinter.filedialog.image_names(??)\ntkinter.filedialog.image_types(??)\ntkinter.filedialog.mainloop(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.re(??)\ntkinter.filedialog.sys(??)\ntkinter.filedialog.test(??)\ntkinter.filedialog.wantobjects\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.re(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.colorchooser(??)\ntkinter.simpledialog.commondialog(??)\ntkinter.simpledialog.constants(??)\ntkinter.simpledialog.dialog(??)\ntkinter.simpledialog.dnd(??)\ntkinter.simpledialog.filedialog(??)\ntkinter.simpledialog.font(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.re(??)\ntkinter.simpledialog.scrolledtext(??)\ntkinter.simpledialog.sys(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.simpledialog.wantobjects\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.colorchooser(??)\ntkinter.tix.commondialog(??)\ntkinter.tix.constants(??)\ntkinter.tix.dialog(??)\ntkinter.tix.dnd(??)\ntkinter.tix.filedialog(??)\ntkinter.tix.font(??)\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.messagebox(??)\ntkinter.tix.os(??)\ntkinter.tix.re(??)\ntkinter.tix.scrolledtext(??)\ntkinter.tix.simpledialog(??)\ntkinter.tix.sys(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.tix.wantobjects\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.wantobjects\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.ASYNC\ntoken.AT\ntoken.ATEQUAL\ntoken.AWAIT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.ASYNC\ntokenize.AT\ntokenize.ATEQUAL\ntokenize.AWAIT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.blank_re(??)\ntokenize.chain(*iterables) --> chain object\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.Ignore(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.find_executable_linenos(??)\ntrace.find_lines(??)\ntrace.find_lines_from_code(??)\ntrace.find_strings(??)\ntrace.fullmodname(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.modname(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntrace.usage(??)\ntraceback.FrameSummary(??)\ntraceback.StackSummary(??)\ntraceback.TracebackException(??)\ntraceback.clear_frames(??)\ntraceback.collections(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.itertools(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntraceback.walk_stack(??)\ntraceback.walk_tb(??)\ntracemalloc.Filter(??)\ntracemalloc.Frame(??)\ntracemalloc.Iterable(??)\ntracemalloc.Sequence(??)\ntracemalloc.Snapshot(??)\ntracemalloc.Statistic(??)\ntracemalloc.StatisticDiff(??)\ntracemalloc.Trace(??)\ntracemalloc.Traceback(??)\ntracemalloc.clear_traces()\ntracemalloc.fnmatch(??)\ntracemalloc.get_object_traceback(??)\ntracemalloc.get_traceback_limit() -> int\ntracemalloc.get_traced_memory() -> (int, int)\ntracemalloc.get_tracemalloc_memory() -> int\ntracemalloc.is_tracing()->bool\ntracemalloc.linecache(??)\ntracemalloc.os(??)\ntracemalloc.pickle(??)\ntracemalloc.start(nframe: int=1)\ntracemalloc.stop()\ntracemalloc.take_snapshot(??)\ntracemalloc.total_ordering(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> empty tuple\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.sys(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object_or_name, bases, dict)\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CodeType(??)\ntypes.CoroutineType(??)\ntypes.DynamicClassAttribute(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(??)\ntypes.coroutine(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\ntyping.AbstractSet(??)\ntyping.Any(??)\ntyping.AnyMeta(??)\ntyping.AnyStr(??)\ntyping.BinaryIO(??)\ntyping.ByteString(??)\ntyping.Callable(??)\ntyping.CallableMeta(??)\ntyping.Container(??)\ntyping.Dict(??)\ntyping.Final(??)\ntyping.FrozenSet(??)\ntyping.Generator(??)\ntyping.Generic(??)\ntyping.GenericMeta(??)\ntyping.Hashable(??)\ntyping.IO(??)\ntyping.ItemsView(??)\ntyping.Iterable(??)\ntyping.Iterator(??)\ntyping.KT(??)\ntyping.KeysView(??)\ntyping.List(??)\ntyping.Mapping(??)\ntyping.MappingView(??)\ntyping.Match(??)\ntyping.MutableMapping(??)\ntyping.MutableSequence(??)\ntyping.MutableSet(??)\ntyping.NamedTuple(??)\ntyping.Optional(??)\ntyping.OptionalMeta(??)\ntyping.Pattern(??)\ntyping.Reversible(??)\ntyping.Sequence(??)\ntyping.Set(??)\ntyping.Sized(??)\ntyping.SupportsAbs(??)\ntyping.SupportsBytes(??)\ntyping.SupportsComplex(??)\ntyping.SupportsFloat(??)\ntyping.SupportsInt(??)\ntyping.SupportsRound(??)\ntyping.T(??)\ntyping.T_co(??)\ntyping.T_contra(??)\ntyping.TextIO(??)\ntyping.Tuple(??)\ntyping.TupleMeta(??)\ntyping.TypeVar(??)\ntyping.TypingMeta(??)\ntyping.Union(??)\ntyping.UnionMeta(??)\ntyping.VT(??)\ntyping.VT_co(??)\ntyping.V_co(??)\ntyping.ValuesView(??)\ntyping.abc(??)\ntyping.abstractmethod(??)\ntyping.abstractproperty(??)\ntyping.cast(??)\ntyping.collections(??)\ntyping.collections_abc(??)\ntyping.functools(??)\ntyping.get_type_hints(??)\ntyping.io(??)\ntyping.no_type_check(??)\ntyping.no_type_check_decorator(??)\ntyping.overload(??)\ntyping.re(??)\ntyping.stdlib_re(??)\ntyping.sys(??)\ntyping.types(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.re(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.DataHandler(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPPasswordMgrWithPriorAuth(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.collections(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittag('/path#tag') --> '/path', 'tag'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.response.tempfile(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.ctypes(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.lib(??)\nuuid.libname\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.EnvBuilder(??)\nvenv.create(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.subprocess(??)\nvenv.sys(??)\nvenv.types(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.audioop(??)\nwave.builtins(??)\nwave.namedtuple(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nwave.sys(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakMethod(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.collections(??)\nweakref.finalize(??)\nweakref.getweakrefcount(??)\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.itertools(??)\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nweakref.sys(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.shutil(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO(??)\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.raise_conversion_error(??)\nxdrlib.struct(??)\nxdrlib.wraps(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.warnings(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLPullParser(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(??)\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate(??)\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.codecs(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.io(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO(??)\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipapp.MAIN_TEMPLATE\nzipapp.ZipAppError(??)\nzipapp.contextlib(??)\nzipapp.create_archive(??)\nzipapp.get_interpreter(??)\nzipapp.main(??)\nzipapp.os(??)\nzipapp.pathlib(??)\nzipapp.shebang_encoding\nzipapp.shutil(??)\nzipapp.stat(??)\nzipapp.sys(??)\nzipapp.zipfile(??)\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.DEFAULT_VERSION\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.crc32(??)\nzipfile.error(??)\nzipfile.importlib(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.re(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.threading(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.6.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nModuleNotFoundError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nRecursionError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopAsyncIteration(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABC(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabc.get_cache_token(??)\nabs(??)\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.namedtuple(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\naifc.warnings(??)\nall(??)\nany(??)\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\nascii(??)\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.AnnAssign(??)\nast.Assert(??)\nast.Assign(??)\nast.AsyncFor(??)\nast.AsyncFunctionDef(??)\nast.AsyncWith(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.Await(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Constant(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FormattedValue(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.JoinedStr(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.MatMult(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NameConstant(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.Try(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.YieldFrom(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nast.withitem(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque([iterable[, maxlen]]) --> deque object\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasyncio.ALL_COMPLETED\nasyncio.AbstractChildWatcher(??)\nasyncio.AbstractEventLoop(??)\nasyncio.AbstractEventLoopPolicy(??)\nasyncio.AbstractServer(??)\nasyncio.BaseEventLoop(??)\nasyncio.BaseProtocol(??)\nasyncio.BaseTransport(??)\nasyncio.BoundedSemaphore(??)\nasyncio.CancelledError(??)\nasyncio.Condition(??)\nasyncio.DatagramProtocol(??)\nasyncio.DatagramTransport(??)\nasyncio.DefaultEventLoopPolicy(??)\nasyncio.Event(??)\nasyncio.FIRST_COMPLETED\nasyncio.FIRST_EXCEPTION\nasyncio.FastChildWatcher(??)\nasyncio.Future(??)\nasyncio.Handle(??)\nasyncio.IncompleteReadError(??)\nasyncio.InvalidStateError(??)\nasyncio.LifoQueue(??)\nasyncio.LimitOverrunError(??)\nasyncio.Lock(??)\nasyncio.PriorityQueue(??)\nasyncio.Protocol(??)\nasyncio.Queue(??)\nasyncio.QueueEmpty(??)\nasyncio.QueueFull(??)\nasyncio.ReadTransport(??)\nasyncio.SafeChildWatcher(??)\nasyncio.SelectorEventLoop(??)\nasyncio.Semaphore(??)\nasyncio.StreamReader(??)\nasyncio.StreamReaderProtocol(??)\nasyncio.StreamWriter(??)\nasyncio.SubprocessProtocol(??)\nasyncio.SubprocessTransport(??)\nasyncio.Task(??)\nasyncio.TimeoutError(??)\nasyncio.TimerHandle(??)\nasyncio.Transport(??)\nasyncio.WriteTransport(??)\nasyncio.as_completed(??)\nasyncio.async(??)\nasyncio.base_events(??)\nasyncio.base_events.BaseEventLoop(??)\nasyncio.base_events.Server(??)\nasyncio.base_events.collections(??)\nasyncio.base_events.compat(??)\nasyncio.base_events.concurrent(??)\nasyncio.base_events.coroutine(??)\nasyncio.base_events.coroutines(??)\nasyncio.base_events.events(??)\nasyncio.base_events.futures(??)\nasyncio.base_events.heapq(??)\nasyncio.base_events.inspect(??)\nasyncio.base_events.itertools(??)\nasyncio.base_events.logger(??)\nasyncio.base_events.logging(??)\nasyncio.base_events.os(??)\nasyncio.base_events.socket(??)\nasyncio.base_events.subprocess(??)\nasyncio.base_events.sys(??)\nasyncio.base_events.tasks(??)\nasyncio.base_events.threading(??)\nasyncio.base_events.time(??)\nasyncio.base_events.traceback(??)\nasyncio.base_events.warnings(??)\nasyncio.base_events.weakref(??)\nasyncio.base_futures(??)\nasyncio.base_futures.CancelledError(??)\nasyncio.base_futures.Error(??)\nasyncio.base_futures.InvalidStateError(??)\nasyncio.base_futures.TimeoutError(??)\nasyncio.base_futures.concurrent(??)\nasyncio.base_futures.events(??)\nasyncio.base_futures.isfuture(??)\nasyncio.base_futures.reprlib(??)\nasyncio.base_subprocess(??)\nasyncio.base_subprocess.BaseSubprocessTransport(??)\nasyncio.base_subprocess.ReadSubprocessPipeProto(??)\nasyncio.base_subprocess.WriteSubprocessPipeProto(??)\nasyncio.base_subprocess.collections(??)\nasyncio.base_subprocess.compat(??)\nasyncio.base_subprocess.coroutine(??)\nasyncio.base_subprocess.logger(??)\nasyncio.base_subprocess.protocols(??)\nasyncio.base_subprocess.subprocess(??)\nasyncio.base_subprocess.transports(??)\nasyncio.base_subprocess.warnings(??)\nasyncio.base_tasks(??)\nasyncio.base_tasks.base_futures(??)\nasyncio.base_tasks.coroutines(??)\nasyncio.base_tasks.linecache(??)\nasyncio.base_tasks.traceback(??)\nasyncio.compat(??)\nasyncio.compat.PY34(??)\nasyncio.compat.PY35(??)\nasyncio.compat.PY352(??)\nasyncio.compat.flatten_list_bytes(??)\nasyncio.compat.sys(??)\nasyncio.constants(??)\nasyncio.constants.ACCEPT_RETRY_DELAY\nasyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES\nasyncio.coroutine(??)\nasyncio.coroutines(??)\nasyncio.coroutines.CoroWrapper(??)\nasyncio.coroutines.base_futures(??)\nasyncio.coroutines.compat(??)\nasyncio.coroutines.coroutine(??)\nasyncio.coroutines.debug_wrapper(??)\nasyncio.coroutines.events(??)\nasyncio.coroutines.functools(??)\nasyncio.coroutines.inspect(??)\nasyncio.coroutines.iscoroutine(??)\nasyncio.coroutines.iscoroutinefunction(??)\nasyncio.coroutines.logger(??)\nasyncio.coroutines.opcode(??)\nasyncio.coroutines.os(??)\nasyncio.coroutines.sys(??)\nasyncio.coroutines.traceback(??)\nasyncio.coroutines.types(??)\nasyncio.create_subprocess_exec(??)\nasyncio.create_subprocess_shell(??)\nasyncio.ensure_future(??)\nasyncio.events(??)\nasyncio.events.AbstractEventLoop(??)\nasyncio.events.AbstractEventLoopPolicy(??)\nasyncio.events.AbstractServer(??)\nasyncio.events.BaseDefaultEventLoopPolicy(??)\nasyncio.events.Handle(??)\nasyncio.events.TimerHandle(??)\nasyncio.events.compat(??)\nasyncio.events.functools(??)\nasyncio.events.get_child_watcher(??)\nasyncio.events.get_event_loop(??)\nasyncio.events.get_event_loop_policy(??)\nasyncio.events.inspect(??)\nasyncio.events.new_event_loop(??)\nasyncio.events.reprlib(??)\nasyncio.events.set_child_watcher(??)\nasyncio.events.set_event_loop(??)\nasyncio.events.set_event_loop_policy(??)\nasyncio.events.socket(??)\nasyncio.events.subprocess(??)\nasyncio.events.sys(??)\nasyncio.events.threading(??)\nasyncio.events.traceback(??)\nasyncio.futures(??)\nasyncio.futures.CancelledError(??)\nasyncio.futures.Future(??)\nasyncio.futures.InvalidStateError(??)\nasyncio.futures.STACK_DEBUG\nasyncio.futures.TimeoutError(??)\nasyncio.futures.base_futures(??)\nasyncio.futures.compat(??)\nasyncio.futures.concurrent(??)\nasyncio.futures.events(??)\nasyncio.futures.isfuture(??)\nasyncio.futures.logging(??)\nasyncio.futures.sys(??)\nasyncio.futures.traceback(??)\nasyncio.futures.wrap_future(??)\nasyncio.gather(??)\nasyncio.get_child_watcher(??)\nasyncio.get_event_loop(??)\nasyncio.get_event_loop_policy(??)\nasyncio.iscoroutine(??)\nasyncio.iscoroutinefunction(??)\nasyncio.isfuture(??)\nasyncio.locks(??)\nasyncio.locks.BoundedSemaphore(??)\nasyncio.locks.Condition(??)\nasyncio.locks.Event(??)\nasyncio.locks.Lock(??)\nasyncio.locks.Semaphore(??)\nasyncio.locks.collections(??)\nasyncio.locks.compat(??)\nasyncio.locks.coroutine(??)\nasyncio.locks.events(??)\nasyncio.locks.futures(??)\nasyncio.log(??)\nasyncio.log.logger(??)\nasyncio.log.logging(??)\nasyncio.new_event_loop(??)\nasyncio.open_connection(??)\nasyncio.open_unix_connection(??)\nasyncio.proactor_events.BaseProactorEventLoop(??)\nasyncio.proactor_events.base_events(??)\nasyncio.proactor_events.compat(??)\nasyncio.proactor_events.constants(??)\nasyncio.proactor_events.futures(??)\nasyncio.proactor_events.logger(??)\nasyncio.proactor_events.socket(??)\nasyncio.proactor_events.sslproto(??)\nasyncio.proactor_events.transports(??)\nasyncio.proactor_events.warnings(??)\nasyncio.protocols(??)\nasyncio.protocols.BaseProtocol(??)\nasyncio.protocols.DatagramProtocol(??)\nasyncio.protocols.Protocol(??)\nasyncio.protocols.SubprocessProtocol(??)\nasyncio.queues(??)\nasyncio.queues.LifoQueue(??)\nasyncio.queues.PriorityQueue(??)\nasyncio.queues.Queue(??)\nasyncio.queues.QueueEmpty(??)\nasyncio.queues.QueueFull(??)\nasyncio.queues.collections(??)\nasyncio.queues.compat(??)\nasyncio.queues.coroutine(??)\nasyncio.queues.events(??)\nasyncio.queues.heapq(??)\nasyncio.queues.locks(??)\nasyncio.run_coroutine_threadsafe(??)\nasyncio.selector_events(??)\nasyncio.selector_events.BaseSelectorEventLoop(??)\nasyncio.selector_events.base_events(??)\nasyncio.selector_events.collections(??)\nasyncio.selector_events.compat(??)\nasyncio.selector_events.constants(??)\nasyncio.selector_events.coroutine(??)\nasyncio.selector_events.errno(??)\nasyncio.selector_events.events(??)\nasyncio.selector_events.functools(??)\nasyncio.selector_events.futures(??)\nasyncio.selector_events.logger(??)\nasyncio.selector_events.selectors(??)\nasyncio.selector_events.socket(??)\nasyncio.selector_events.ssl(??)\nasyncio.selector_events.sslproto(??)\nasyncio.selector_events.transports(??)\nasyncio.selector_events.warnings(??)\nasyncio.selector_events.weakref(??)\nasyncio.selectors(??)\nasyncio.set_child_watcher(??)\nasyncio.set_event_loop(??)\nasyncio.set_event_loop_policy(??)\nasyncio.shield(??)\nasyncio.sleep(??)\nasyncio.sslproto(??)\nasyncio.sslproto.SSLProtocol(??)\nasyncio.sslproto.base_events(??)\nasyncio.sslproto.collections(??)\nasyncio.sslproto.compat(??)\nasyncio.sslproto.logger(??)\nasyncio.sslproto.protocols(??)\nasyncio.sslproto.ssl(??)\nasyncio.sslproto.transports(??)\nasyncio.sslproto.warnings(??)\nasyncio.start_server(??)\nasyncio.start_unix_server(??)\nasyncio.streams(??)\nasyncio.streams.FlowControlMixin(??)\nasyncio.streams.IncompleteReadError(??)\nasyncio.streams.LimitOverrunError(??)\nasyncio.streams.StreamReader(??)\nasyncio.streams.StreamReaderProtocol(??)\nasyncio.streams.StreamWriter(??)\nasyncio.streams.compat(??)\nasyncio.streams.coroutine(??)\nasyncio.streams.coroutines(??)\nasyncio.streams.events(??)\nasyncio.streams.logger(??)\nasyncio.streams.open_connection(??)\nasyncio.streams.open_unix_connection(??)\nasyncio.streams.protocols(??)\nasyncio.streams.socket(??)\nasyncio.streams.start_server(??)\nasyncio.streams.start_unix_server(??)\nasyncio.subprocess(??)\nasyncio.subprocess.DEVNULL\nasyncio.subprocess.PIPE\nasyncio.subprocess.Process(??)\nasyncio.subprocess.STDOUT\nasyncio.subprocess.SubprocessStreamProtocol(??)\nasyncio.subprocess.coroutine(??)\nasyncio.subprocess.create_subprocess_exec(??)\nasyncio.subprocess.create_subprocess_shell(??)\nasyncio.subprocess.events(??)\nasyncio.subprocess.logger(??)\nasyncio.subprocess.protocols(??)\nasyncio.subprocess.streams(??)\nasyncio.subprocess.subprocess(??)\nasyncio.subprocess.tasks(??)\nasyncio.sys(??)\nasyncio.tasks(??)\nasyncio.tasks.ALL_COMPLETED\nasyncio.tasks.FIRST_COMPLETED\nasyncio.tasks.FIRST_EXCEPTION\nasyncio.tasks.Task(??)\nasyncio.tasks.as_completed(??)\nasyncio.tasks.async(??)\nasyncio.tasks.base_tasks(??)\nasyncio.tasks.compat(??)\nasyncio.tasks.concurrent(??)\nasyncio.tasks.coroutine(??)\nasyncio.tasks.coroutines(??)\nasyncio.tasks.ensure_future(??)\nasyncio.tasks.events(??)\nasyncio.tasks.functools(??)\nasyncio.tasks.futures(??)\nasyncio.tasks.gather(??)\nasyncio.tasks.inspect(??)\nasyncio.tasks.run_coroutine_threadsafe(??)\nasyncio.tasks.shield(??)\nasyncio.tasks.sleep(??)\nasyncio.tasks.wait(??)\nasyncio.tasks.wait_for(??)\nasyncio.tasks.warnings(??)\nasyncio.tasks.weakref(??)\nasyncio.test_utils.HTTPServer(??)\nasyncio.test_utils.MockCallback(??)\nasyncio.test_utils.MockPattern(??)\nasyncio.test_utils.SSLWSGIServer(??)\nasyncio.test_utils.SSLWSGIServerMixin(??)\nasyncio.test_utils.SilentUnixWSGIServer(??)\nasyncio.test_utils.SilentWSGIRequestHandler(??)\nasyncio.test_utils.SilentWSGIServer(??)\nasyncio.test_utils.TestCase(??)\nasyncio.test_utils.TestLoop(??)\nasyncio.test_utils.TestSelector(??)\nasyncio.test_utils.UnixHTTPServer(??)\nasyncio.test_utils.UnixSSLWSGIServer(??)\nasyncio.test_utils.UnixWSGIServer(??)\nasyncio.test_utils.WSGIRequestHandler(??)\nasyncio.test_utils.WSGIServer(??)\nasyncio.test_utils.base_events(??)\nasyncio.test_utils.collections(??)\nasyncio.test_utils.compat(??)\nasyncio.test_utils.contextlib(??)\nasyncio.test_utils.coroutine(??)\nasyncio.test_utils.disable_logger(??)\nasyncio.test_utils.dummy_ssl_context(??)\nasyncio.test_utils.events(??)\nasyncio.test_utils.force_legacy_ssl_support(??)\nasyncio.test_utils.futures(??)\nasyncio.test_utils.gen_unix_socket_path(??)\nasyncio.test_utils.get_function_source(??)\nasyncio.test_utils.io(??)\nasyncio.test_utils.logger(??)\nasyncio.test_utils.logging(??)\nasyncio.test_utils.make_test_protocol(??)\nasyncio.test_utils.mock(??)\nasyncio.test_utils.mock_nonblocking_socket(??)\nasyncio.test_utils.os(??)\nasyncio.test_utils.re(??)\nasyncio.test_utils.run_briefly(??)\nasyncio.test_utils.run_once(??)\nasyncio.test_utils.run_test_server(??)\nasyncio.test_utils.run_test_unix_server(??)\nasyncio.test_utils.run_until(??)\nasyncio.test_utils.selectors(??)\nasyncio.test_utils.socket(??)\nasyncio.test_utils.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nasyncio.test_utils.socketserver(??)\nasyncio.test_utils.ssl(??)\nasyncio.test_utils.sys(??)\nasyncio.test_utils.tasks(??)\nasyncio.test_utils.tempfile(??)\nasyncio.test_utils.threading(??)\nasyncio.test_utils.time(??)\nasyncio.test_utils.unittest(??)\nasyncio.test_utils.unix_socket_path(??)\nasyncio.test_utils.weakref(??)\nasyncio.transports(??)\nasyncio.transports.BaseTransport(??)\nasyncio.transports.DatagramTransport(??)\nasyncio.transports.ReadTransport(??)\nasyncio.transports.SubprocessTransport(??)\nasyncio.transports.Transport(??)\nasyncio.transports.WriteTransport(??)\nasyncio.transports.compat(??)\nasyncio.unix_events(??)\nasyncio.unix_events.AbstractChildWatcher(??)\nasyncio.unix_events.BaseChildWatcher(??)\nasyncio.unix_events.DefaultEventLoopPolicy(??)\nasyncio.unix_events.FastChildWatcher(??)\nasyncio.unix_events.SafeChildWatcher(??)\nasyncio.unix_events.SelectorEventLoop(??)\nasyncio.unix_events.base_events(??)\nasyncio.unix_events.base_subprocess(??)\nasyncio.unix_events.compat(??)\nasyncio.unix_events.constants(??)\nasyncio.unix_events.coroutine(??)\nasyncio.unix_events.coroutines(??)\nasyncio.unix_events.errno(??)\nasyncio.unix_events.events(??)\nasyncio.unix_events.futures(??)\nasyncio.unix_events.logger(??)\nasyncio.unix_events.os(??)\nasyncio.unix_events.selector_events(??)\nasyncio.unix_events.selectors(??)\nasyncio.unix_events.signal(??)\nasyncio.unix_events.socket(??)\nasyncio.unix_events.stat(??)\nasyncio.unix_events.subprocess(??)\nasyncio.unix_events.sys(??)\nasyncio.unix_events.threading(??)\nasyncio.unix_events.transports(??)\nasyncio.unix_events.warnings(??)\nasyncio.wait(??)\nasyncio.wait_for(??)\nasyncio.wrap_future(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.a85decode(??)\nbase64.a85encode(??)\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.b85decode(??)\nbase64.b85encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.CO_GENERATOR\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.ModuleNotFoundError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.RecursionError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopAsyncIteration(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(??)\nbuiltins.all(??)\nbuiltins.any(??)\nbuiltins.ascii(??)\nbuiltins.bin(??)\nbuiltins.bool(x) -> bool\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(??)\nbuiltins.chr(??)\nbuiltins.classmethod(function) -> method\nbuiltins.compile(??)\nbuiltins.complex(real[, imag]) -> complex number\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(??)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(??)\nbuiltins.enumerate(iterable[, start]) -> iterator for index, value of iterable\nbuiltins.eval(??)\nbuiltins.exec(??)\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(x) -> floating point number\nbuiltins.format(??)\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals(??)\nbuiltins.hasattr(??)\nbuiltins.hash(??)\nbuiltins.help(??)\nbuiltins.hex(??)\nbuiltins.id(??)\nbuiltins.input(??)\nbuiltins.int(x=0) -> integer\nbuiltins.isinstance(??)\nbuiltins.issubclass(??)\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(??)\nbuiltins.license(??)\nbuiltins.list() -> new empty list\nbuiltins.locals(??)\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable, *[, default=obj, key=func]) -> value\nbuiltins.memoryview(??)\nbuiltins.min(iterable, *[, default=obj, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(??)\nbuiltins.open(??)\nbuiltins.ord(??)\nbuiltins.pow(??)\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute\nbuiltins.quit(??)\nbuiltins.range(stop) -> range object\nbuiltins.repr(??)\nbuiltins.reversed(sequence) -> reverse iterator over values of the sequence\nbuiltins.round(number[, ndigits]) -> number\nbuiltins.set() -> new empty set object\nbuiltins.setattr(??)\nbuiltins.slice(stop)\nbuiltins.sorted(??)\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object='') -> str\nbuiltins.sum(??)\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple() -> empty tuple\nbuiltins.type(object_or_name, bases, dict)\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(??)\nbz2.BZ2Decompressor(??)\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.os(??)\nbz2.warnings(??)\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.repeat(object [,times]) -> create an iterator which returns the object\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(??)\ncgi.BytesIO(??)\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.Mapping(??)\ncgi.Message(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.escape(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(??)\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.argparse(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(??)\ncodecs.encode(??)\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(??)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.namereplace_errors(??)\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(??)\ncodecs.register_error(??)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.AsyncGenerator(??)\ncollections.AsyncIterable(??)\ncollections.AsyncIterator(??)\ncollections.Awaitable(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.ChainMap(??)\ncollections.Collection(??)\ncollections.Container(??)\ncollections.Coroutine(??)\ncollections.Counter(??)\ncollections.Generator(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Reversible(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.abc(??)\ncollections.abc.AsyncGenerator(??)\ncollections.abc.AsyncIterable(??)\ncollections.abc.AsyncIterator(??)\ncollections.abc.Awaitable(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Collection(??)\ncollections.abc.Container(??)\ncollections.abc.Coroutine(??)\ncollections.abc.Generator(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Reversible(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.defaultdict(default_factory[, ...]) --> dict with default factory\ncollections.deque([iterable[, maxlen]]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(??)\ncompileall.ProcessPoolExecutor(??)\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.importlib(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.partial(func, *args, **keywords) - new function with partial application\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(real[, imag]) -> complex number\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.Full(??)\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.SimpleQueue(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.itertools(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.partial(func, *args, **keywords) - new function with partial application\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.traceback(??)\nconcurrent.futures.process.wait(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.os(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.ConverterMapping(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.AbstractContextManager(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.abc(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque([iterable[, maxlen]]) --> deque object\ncontextlib.redirect_stderr(??)\ncontextlib.redirect_stdout(??)\ncontextlib.suppress(??)\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncopy.Error(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.OrderedDict(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns\nctypes.macholib.dyld.islice(iterable, stop) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables, repeat=1) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.shutil(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.newpad(??)\ncurses.newwin(??)\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.update_lines_cols(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.wrapper(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(??)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.diff_bytes(??)\ndifflib.get_close_matches(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndis.Bytecode(??)\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.FORMAT_VALUE\ndis.HAVE_ARGUMENT\ndis.Instruction(??)\ndis.cmp_op(??)\ndis.code_info(??)\ndis.collections(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.get_instructions(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.io(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.stack_effect(??)\ndis.sys(??)\ndis.types(??)\ndivmod(??)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.FAIL_FAST\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.argparse(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.BrokenBarrierError(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.TIMEOUT_MAX\ndummy_threading.Thread(??)\ndummy_threading.ThreadError(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.get_ident(??)\ndummy_threading.local(??)\ndummy_threading.main_thread(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.contentmanager.ContentManager(??)\nemail.contentmanager.binascii(??)\nemail.contentmanager.email(??)\nemail.contentmanager.get_and_fixup_unknown_message_content(??)\nemail.contentmanager.get_message_content(??)\nemail.contentmanager.get_non_text_content(??)\nemail.contentmanager.get_text_content(??)\nemail.contentmanager.maintype\nemail.contentmanager.quoprimime(??)\nemail.contentmanager.raw_data_manager(??)\nemail.contentmanager.set_bytes_content(??)\nemail.contentmanager.set_message_content(??)\nemail.contentmanager.set_text_content(??)\nemail.contentmanager.subtype\nemail.contentmanager.typ(??)\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.StringIO(??)\nemail.feedparser.compat32(??)\nemail.feedparser.deque([iterable[, maxlen]]) --> deque object\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.re(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO(??)\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.NL\nemail.generator.NLCRE(??)\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.deepcopy(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.MappingProxyType(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO(??)\nemail.message.Charset(??)\nemail.message.EmailMessage(??)\nemail.message.MIMEPart(??)\nemail.message.Message(??)\nemail.message.Policy(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.quopri(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO(??)\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.email(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.Charset(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.parser(??)\nemail.parser.BytesFeedParser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.policy.Compat32(??)\nemail.policy.EmailMessage(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.SMTPUTF8(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.linesep_splitter(??)\nemail.policy.raw_data_manager(??)\nemail.policy.re(??)\nemail.policy.strict(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.ecre(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nensurepip.bootstrap(??)\nensurepip.os(??)\nensurepip.pkgutil(??)\nensurepip.sys(??)\nensurepip.tempfile(??)\nensurepip.version(??)\nenum.DynamicClassAttribute(??)\nenum.Enum(??)\nenum.EnumMeta(??)\nenum.Flag(??)\nenum.IntEnum(??)\nenum.IntFlag(??)\nenum.MappingProxyType(??)\nenum.OrderedDict(??)\nenum.auto(??)\nenum.neg(a) -- Same as -a.\nenum.reduce(function, sequence[, initial]) -> value\nenum.sys(??)\nenum.unique(??)\nenum.xor(a, b) -- Same as a ^ b.\nenumerate(iterable[, start]) -> iterator for index, value of iterable\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(??)\nexec(??)\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfilecmp.BUFSIZE\nfilecmp.DEFAULT_IGNORES(??)\nfilecmp.clear_cache(??)\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]])\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(??)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(x) -> floating point number\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(??)\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nformatter.warnings(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MAXLINE\nftplib.MSG_OOB\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.MappingProxyType(??)\nfunctools.RLock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.WeakKeyDictionary(??)\nfunctools.cmp_to_key(??)\nfunctools.get_cache_token(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.partialmethod(??)\nfunctools.recursive_repr(??)\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.singledispatch(??)\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect([generation]) -> n\ngc.disable() -> None\ngc.enable() -> None\ngc.garbage(??)\ngc.get_count() -> (count0, count1, count2)\ngc.get_debug() -> flags\ngc.get_objects() -> [...]\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_stats() -> [...]\ngc.get_threshold() -> (threshold0, threshold1, threshold2)\ngc.is_tracked(obj) -> bool\ngc.isenabled() -> status\ngc.set_debug(flags) -> None\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.samefile(??)\ngenericpath.sameopenfile(??)\ngenericpath.samestat(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.contextlib(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.io(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.ENOENT\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.copy(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.io(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.struct(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.escape(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglobals(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.open(??)\ngzip.os(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(??)\nhash(??)\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.blake2b(??)\nhashlib.blake2s(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None) -> key\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha3_224(??)\nhashlib.sha3_256([string]) -> SHA3 object\nhashlib.sha3_384([string]) -> SHA3 object\nhashlib.sha3_512([string]) -> SHA3 object\nhashlib.sha512(??)\nhashlib.shake_128([string]) -> SHAKE object\nhashlib.shake_256([string]) -> SHAKE object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nheapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item\nheapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item.\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nhelp(??)\nhex(??)\nhmac.HMAC(??)\nhmac.compare_digest(a, b) -> bool\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.unescape(??)\nhtml.parser.warnings(??)\nhtml.unescape(??)\nhttp.HTTPStatus(??)\nhttp.IntEnum(??)\nhttp.client(??)\nhttp.client.ACCEPTED(??)\nhttp.client.ALREADY_REPORTED(??)\nhttp.client.BAD_GATEWAY(??)\nhttp.client.BAD_REQUEST(??)\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT(??)\nhttp.client.CONTINUE(??)\nhttp.client.CREATED(??)\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED(??)\nhttp.client.FAILED_DEPENDENCY(??)\nhttp.client.FORBIDDEN(??)\nhttp.client.FOUND(??)\nhttp.client.GATEWAY_TIMEOUT(??)\nhttp.client.GONE(??)\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED(??)\nhttp.client.IM_USED(??)\nhttp.client.INSUFFICIENT_STORAGE(??)\nhttp.client.INTERNAL_SERVER_ERROR(??)\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED(??)\nhttp.client.LOCKED(??)\nhttp.client.LOOP_DETECTED(??)\nhttp.client.LineTooLong(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED(??)\nhttp.client.MOVED_PERMANENTLY(??)\nhttp.client.MULTIPLE_CHOICES(??)\nhttp.client.MULTI_STATUS(??)\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED(??)\nhttp.client.NON_AUTHORITATIVE_INFORMATION(??)\nhttp.client.NOT_ACCEPTABLE(??)\nhttp.client.NOT_EXTENDED(??)\nhttp.client.NOT_FOUND(??)\nhttp.client.NOT_IMPLEMENTED(??)\nhttp.client.NOT_MODIFIED(??)\nhttp.client.NO_CONTENT(??)\nhttp.client.NotConnected(??)\nhttp.client.OK(??)\nhttp.client.PARTIAL_CONTENT(??)\nhttp.client.PAYMENT_REQUIRED(??)\nhttp.client.PERMANENT_REDIRECT(??)\nhttp.client.PRECONDITION_FAILED(??)\nhttp.client.PRECONDITION_REQUIRED(??)\nhttp.client.PROCESSING(??)\nhttp.client.PROXY_AUTHENTICATION_REQUIRED(??)\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE(??)\nhttp.client.REQUEST_ENTITY_TOO_LARGE(??)\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??)\nhttp.client.REQUEST_TIMEOUT(??)\nhttp.client.REQUEST_URI_TOO_LONG(??)\nhttp.client.RESET_CONTENT(??)\nhttp.client.RemoteDisconnected(??)\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER(??)\nhttp.client.SERVICE_UNAVAILABLE(??)\nhttp.client.SWITCHING_PROTOCOLS(??)\nhttp.client.TEMPORARY_REDIRECT(??)\nhttp.client.TOO_MANY_REQUESTS(??)\nhttp.client.UNAUTHORIZED(??)\nhttp.client.UNPROCESSABLE_ENTITY(??)\nhttp.client.UNSUPPORTED_MEDIA_TYPE(??)\nhttp.client.UPGRADE_REQUIRED(??)\nhttp.client.USE_PROXY(??)\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.VARIANT_ALSO_NEGOTIATES(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.http(??)\nhttp.client.io(??)\nhttp.client.os(??)\nhttp.client.parse_headers(??)\nhttp.client.re(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.HTTPStatus(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.argparse(??)\nhttp.server.copy(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(??)\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.DEFAULT_BUFFER_SIZE\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.PathLike(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exr(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_webp(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.SourcelessFileLoader(??)\nimp.acquire_lock(??)\nimp.cache_from_source(??)\nimp.create_dynamic(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.importlib(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held(??)\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock(??)\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.types(??)\nimp.util(??)\nimp.warnings(??)\nimportlib.abc(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.ModuleSpec(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.reload(??)\nimportlib.sys(??)\nimportlib.types(??)\nimportlib.util(??)\nimportlib.util.LazyLoader(??)\nimportlib.util.MAGIC_NUMBER\nimportlib.util.abc(??)\nimportlib.util.cache_from_source(??)\nimportlib.util.contextmanager(??)\nimportlib.util.decode_source(??)\nimportlib.util.find_spec(??)\nimportlib.util.functools(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.module_from_spec(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\nimportlib.util.source_from_cache(??)\nimportlib.util.spec_from_file_location(??)\nimportlib.util.spec_from_loader(??)\nimportlib.util.sys(??)\nimportlib.util.types(??)\nimportlib.util.warnings(??)\nimportlib.warnings(??)\ninput(??)\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CORO_CLOSED\ninspect.CORO_CREATED\ninspect.CORO_RUNNING\ninspect.CORO_SUSPENDED\ninspect.CO_ASYNC_GENERATOR\ninspect.CO_COROUTINE\ninspect.CO_GENERATOR\ninspect.CO_ITERABLE_COROUTINE\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FrameInfo(frame, filename, lineno, function, code_context, index)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.ast(??)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.collections(??)\ninspect.currentframe(??)\ninspect.dis(??)\ninspect.enum(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getcoroutinelocals(??)\ninspect.getcoroutinestate(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isasyncgen(??)\ninspect.isasyncgenfunction(??)\ninspect.isawaitable(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.iscoroutine(??)\ninspect.iscoroutinefunction(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.token(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.unwrap(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint(x=0) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO(??)\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(??)\nissubclass(??)\niter(iterable) -> iterator\nitertools.accumulate(iterable[, func]) --> accumulate object\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable[, keyfunc]) -> create an iterator which returns\nitertools.islice(iterable, stop) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables, repeat=1) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecodeError(??)\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.codecs(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS(??)\njson.decoder.JSONArray(??)\njson.decoder.JSONDecodeError(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.detect_encoding(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(string) -> string\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring(??)\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.argparse(??)\njson.tool.collections(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(??)\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.functools(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.lazycache(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist() -> new empty list\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.collections(??)\nlocale.currency(??)\nlocale.delocalize(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.k\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.v\nlocale.windows_locale(??)\nlocals(??)\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.collections(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingMixin(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.errno(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.thread(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(??)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(??)\nlzma.open(??)\nlzma.os(??)\nmacpath.FILE_ATTRIBUTE_ARCHIVE\nmacpath.FILE_ATTRIBUTE_COMPRESSED\nmacpath.FILE_ATTRIBUTE_DEVICE\nmacpath.FILE_ATTRIBUTE_DIRECTORY\nmacpath.FILE_ATTRIBUTE_ENCRYPTED\nmacpath.FILE_ATTRIBUTE_HIDDEN\nmacpath.FILE_ATTRIBUTE_INTEGRITY_STREAM\nmacpath.FILE_ATTRIBUTE_NORMAL\nmacpath.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nmacpath.FILE_ATTRIBUTE_NO_SCRUB_DATA\nmacpath.FILE_ATTRIBUTE_OFFLINE\nmacpath.FILE_ATTRIBUTE_READONLY\nmacpath.FILE_ATTRIBUTE_REPARSE_POINT\nmacpath.FILE_ATTRIBUTE_SPARSE_FILE\nmacpath.FILE_ATTRIBUTE_SYSTEM\nmacpath.FILE_ATTRIBUTE_TEMPORARY\nmacpath.FILE_ATTRIBUTE_VIRTUAL\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFDOOR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFPORT\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IFWHT\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(mode) -> bool\nmacpath.S_ISCHR(mode) -> bool\nmacpath.S_ISDIR(mode) -> bool\nmacpath.S_ISDOOR(mode) -> bool\nmacpath.S_ISFIFO(mode) -> bool\nmacpath.S_ISGID\nmacpath.S_ISLNK(mode) -> bool\nmacpath.S_ISPORT(mode) -> bool\nmacpath.S_ISREG(mode) -> bool\nmacpath.S_ISSOCK(mode) -> bool\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_ISWHT(mode) -> bool\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_COMPRESSED\nmacpath.UF_HIDDEN\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.filemode(??)\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.samefile(??)\nmacpath.sameopenfile(??)\nmacpath.samestat(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacurl2path.os(??)\nmacurl2path.pathname2url(??)\nmacurl2path.url2pathname(??)\nmacurl2path.urllib(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.lineno_sort_key(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmailcap.warnings(??)\nmap(func, *iterables) --> map object\nmarshal.dump(value, file[, version])\nmarshal.dumps(value[, version])\nmarshal.load(file)\nmarshal.loads(bytes)\nmarshal.version\nmax(iterable, *[, default=obj, key=func]) -> value\nmemoryview(??)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable, *[, default=obj, key=func]) -> value\nmodulefinder.AddPackagePath(??)\nmodulefinder.EXTENDED_ARG\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.imp(??)\nmodulefinder.importlib(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.struct(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmodulefinder.warnings(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.rebuild_connection(??)\nmultiprocessing.connection.reduce_connection(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.selectors(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.util(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.context(??)\nmultiprocessing.context.AuthenticationError(??)\nmultiprocessing.context.BaseContext(??)\nmultiprocessing.context.BufferTooShort(??)\nmultiprocessing.context.DefaultContext(??)\nmultiprocessing.context.ForkContext(??)\nmultiprocessing.context.ForkProcess(??)\nmultiprocessing.context.ForkServerContext(??)\nmultiprocessing.context.ForkServerProcess(??)\nmultiprocessing.context.Process(??)\nmultiprocessing.context.ProcessError(??)\nmultiprocessing.context.SpawnContext(??)\nmultiprocessing.context.SpawnProcess(??)\nmultiprocessing.context.TimeoutError(??)\nmultiprocessing.context.assert_spawning(??)\nmultiprocessing.context.get_spawning_popen(??)\nmultiprocessing.context.os(??)\nmultiprocessing.context.process(??)\nmultiprocessing.context.reduction(??)\nmultiprocessing.context.set_spawning_popen(??)\nmultiprocessing.context.sys(??)\nmultiprocessing.context.threading(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list() -> new empty list\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forkserver.ForkServer(??)\nmultiprocessing.forkserver.MAXFDS_TO_SEND\nmultiprocessing.forkserver.UNSIGNED_STRUCT(??)\nmultiprocessing.forkserver.connect_to_new_process(??)\nmultiprocessing.forkserver.connection(??)\nmultiprocessing.forkserver.ensure_running(??)\nmultiprocessing.forkserver.errno(??)\nmultiprocessing.forkserver.get_inherited_fds(??)\nmultiprocessing.forkserver.main(??)\nmultiprocessing.forkserver.os(??)\nmultiprocessing.forkserver.process(??)\nmultiprocessing.forkserver.read_unsigned(??)\nmultiprocessing.forkserver.reduction(??)\nmultiprocessing.forkserver.selectors(??)\nmultiprocessing.forkserver.semaphore_tracker(??)\nmultiprocessing.forkserver.set_forkserver_preload(??)\nmultiprocessing.forkserver.signal(??)\nmultiprocessing.forkserver.socket(??)\nmultiprocessing.forkserver.spawn(??)\nmultiprocessing.forkserver.struct(??)\nmultiprocessing.forkserver.sys(??)\nmultiprocessing.forkserver.threading(??)\nmultiprocessing.forkserver.util(??)\nmultiprocessing.forkserver.write_unsigned(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_all_start_methods(??)\nmultiprocessing.get_context(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.get_start_method(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.rebuild_arena(??)\nmultiprocessing.heap.reduce_arena(??)\nmultiprocessing.heap.reduction(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.heap.util(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BasePoolProxy(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.get_context(??)\nmultiprocessing.managers.get_spawning_popen(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.pool(??)\nmultiprocessing.managers.process(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.reduction(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.AsyncResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.ExceptionWithTraceback(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.RemoteTraceback(??)\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.get_context(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.os(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.rebuild_exc(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.traceback(??)\nmultiprocessing.pool.util(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.popen_fork.Popen(??)\nmultiprocessing.popen_fork.os(??)\nmultiprocessing.popen_fork.signal(??)\nmultiprocessing.popen_fork.sys(??)\nmultiprocessing.popen_fork.util(??)\nmultiprocessing.popen_forkserver.Popen(??)\nmultiprocessing.popen_forkserver.forkserver(??)\nmultiprocessing.popen_forkserver.io(??)\nmultiprocessing.popen_forkserver.os(??)\nmultiprocessing.popen_forkserver.popen_fork(??)\nmultiprocessing.popen_forkserver.reduction(??)\nmultiprocessing.popen_forkserver.set_spawning_popen(??)\nmultiprocessing.popen_forkserver.spawn(??)\nmultiprocessing.popen_forkserver.util(??)\nmultiprocessing.popen_spawn_posix.Popen(??)\nmultiprocessing.popen_spawn_posix.io(??)\nmultiprocessing.popen_spawn_posix.os(??)\nmultiprocessing.popen_spawn_posix.popen_fork(??)\nmultiprocessing.popen_spawn_posix.reduction(??)\nmultiprocessing.popen_spawn_posix.set_spawning_popen(??)\nmultiprocessing.popen_spawn_posix.spawn(??)\nmultiprocessing.popen_spawn_posix.util(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.BaseProcess(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.connection(??)\nmultiprocessing.queues.context(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.is_exiting(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reducer(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ABCMeta(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.AbstractReducer(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.HAVE_SEND_HANDLE(??)\nmultiprocessing.reduction.abstractmethod(??)\nmultiprocessing.reduction.array(??)\nmultiprocessing.reduction.context(??)\nmultiprocessing.reduction.copyreg(??)\nmultiprocessing.reduction.dump(??)\nmultiprocessing.reduction.functools(??)\nmultiprocessing.reduction.io(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.pickle(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.recvfds(??)\nmultiprocessing.reduction.register(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.sendfds(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.resource_sharer.DupFd(??)\nmultiprocessing.resource_sharer.os(??)\nmultiprocessing.resource_sharer.process(??)\nmultiprocessing.resource_sharer.reduction(??)\nmultiprocessing.resource_sharer.signal(??)\nmultiprocessing.resource_sharer.socket(??)\nmultiprocessing.resource_sharer.stop(??)\nmultiprocessing.resource_sharer.sys(??)\nmultiprocessing.resource_sharer.threading(??)\nmultiprocessing.resource_sharer.util(??)\nmultiprocessing.semaphore_tracker.SemaphoreTracker(??)\nmultiprocessing.semaphore_tracker.ensure_running(??)\nmultiprocessing.semaphore_tracker.getfd(??)\nmultiprocessing.semaphore_tracker.main(??)\nmultiprocessing.semaphore_tracker.os(??)\nmultiprocessing.semaphore_tracker.register(??)\nmultiprocessing.semaphore_tracker.signal(??)\nmultiprocessing.semaphore_tracker.spawn(??)\nmultiprocessing.semaphore_tracker.sys(??)\nmultiprocessing.semaphore_tracker.threading(??)\nmultiprocessing.semaphore_tracker.unregister(??)\nmultiprocessing.semaphore_tracker.util(??)\nmultiprocessing.semaphore_tracker.warnings(??)\nmultiprocessing.set_executable(??)\nmultiprocessing.set_forkserver_preload(??)\nmultiprocessing.set_start_method(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.get_context(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.reduction(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.spawn.WINEXE(??)\nmultiprocessing.spawn.WINSERVICE(??)\nmultiprocessing.spawn.freeze_support(??)\nmultiprocessing.spawn.get_command_line(??)\nmultiprocessing.spawn.get_executable(??)\nmultiprocessing.spawn.get_preparation_data(??)\nmultiprocessing.spawn.get_start_method(??)\nmultiprocessing.spawn.import_main_path(??)\nmultiprocessing.spawn.is_forking(??)\nmultiprocessing.spawn.old_main_modules(??)\nmultiprocessing.spawn.os(??)\nmultiprocessing.spawn.prepare(??)\nmultiprocessing.spawn.process(??)\nmultiprocessing.spawn.reduction(??)\nmultiprocessing.spawn.runpy(??)\nmultiprocessing.spawn.set_executable(??)\nmultiprocessing.spawn.set_start_method(??)\nmultiprocessing.spawn.spawn_main(??)\nmultiprocessing.spawn.sys(??)\nmultiprocessing.spawn.types(??)\nmultiprocessing.spawn.util(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.context(??)\nmultiprocessing.synchronize.process(??)\nmultiprocessing.synchronize.sem_unlink(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.tempfile(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.synchronize.util(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.MAXFD\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.close_all_fds_except(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.process(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.spawnv_passfds(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.sys(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnetrc.stat(??)\nnext(iterator[, default])\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(??)\nopen(??)\noperator.abs(a) -- Same as abs(a).\noperator.add(a, b) -- Same as a + b.\noperator.and_(a, b) -- Same as a & b.\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(a, b) -- Same as a + b, for a and b sequences.\noperator.contains(a, b) -- Same as b in a (note reversed operands).\noperator.countOf(a, b) -- Return the number of times b occurs in a.\noperator.delitem(a, b) -- Same as del a[b].\noperator.eq(a, b) -- Same as a==b.\noperator.floordiv(a, b) -- Same as a // b.\noperator.ge(a, b) -- Same as a>=b.\noperator.getitem(a, b) -- Same as a[b].\noperator.gt(a, b) -- Same as a>b.\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imatmul(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(a) -- Same as a.__index__()\noperator.indexOf(a, b) -- Return the first index of b in a.\noperator.inv(a) -- Same as ~a.\noperator.invert(a) -- Same as ~a.\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(a, b) -- Same as a is b.\noperator.is_not(a, b) -- Same as a is not b.\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(a, b) -- Same as a<=b.\noperator.length_hint(obj, default=0) -> int\noperator.lshift(a, b) -- Same as a << b.\noperator.lt(a, b) -- Same as a<b.\noperator.matmul(a, b) -- Same as a @ b.\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(a, b) -- Same as a % b.\noperator.mul(a, b) -- Same as a * b.\noperator.ne(a, b) -- Same as a!=b.\noperator.neg(a) -- Same as -a.\noperator.not_(a) -- Same as not a.\noperator.or_(a, b) -- Same as a | b.\noperator.pos(a) -- Same as +a.\noperator.pow(a, b) -- Same as a ** b.\noperator.rshift(a, b) -- Same as a >> b.\noperator.setitem(a, b, c) -- Same as a[b] = c.\noperator.sub(a, b) -- Same as a - b.\noperator.truediv(a, b) -- Same as a / b.\noperator.truth(a) -- Return True if a is true, False otherwise.\noperator.xor(a, b) -- Same as a ^ b.\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(??)\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_TRAPPED\nos.DirEntry(??)\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.PathLike(??)\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(??)\nos.WEXITED\nos.WEXITSTATUS(??)\nos.WIFCONTINUED(??)\nos.WIFEXITED(??)\nos.WIFSIGNALED(??)\nos.WIFSTOPPED(??)\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(??)\nos.WTERMSIG(??)\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abc(??)\nos.abort(??)\nos.access(??)\nos.altsep(??)\nos.chdir(??)\nos.chflags(??)\nos.chmod(??)\nos.chown(??)\nos.chroot(??)\nos.close(??)\nos.closerange(??)\nos.confstr(??)\nos.confstr_names(??)\nos.cpu_count(??)\nos.ctermid(??)\nos.curdir\nos.defpath\nos.device_encoding(??)\nos.devnull\nos.dup(??)\nos.dup2(??)\nos.environ(??)\nos.environb(??)\nos.errno(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(??)\nos.execve(??)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(??)\nos.fchmod(??)\nos.fchown(??)\nos.fdopen(??)\nos.fork(??)\nos.forkpty(??)\nos.fpathconf(??)\nos.fsdecode(??)\nos.fsencode(??)\nos.fspath(??)\nos.fstat(??)\nos.fstatvfs(??)\nos.fsync(??)\nos.ftruncate(??)\nos.get_blocking(fd) -> bool\nos.get_exec_path(??)\nos.get_inheritable(??)\nos.get_terminal_size(??)\nos.getcwd(??)\nos.getcwdb(??)\nos.getegid(??)\nos.getenv(??)\nos.getenvb(??)\nos.geteuid(??)\nos.getgid(??)\nos.getgrouplist(user, group) -> list of groups to which a user belongs\nos.getgroups(??)\nos.getloadavg(??)\nos.getlogin(??)\nos.getpgid(??)\nos.getpgrp(??)\nos.getpid(??)\nos.getppid(??)\nos.getpriority(??)\nos.getsid(??)\nos.getuid(??)\nos.initgroups(username, gid) -> None\nos.isatty(??)\nos.kill(??)\nos.killpg(??)\nos.lchflags(??)\nos.lchmod(??)\nos.lchown(??)\nos.linesep\nos.link(??)\nos.listdir(??)\nos.lockf(??)\nos.lseek(??)\nos.lstat(??)\nos.major(??)\nos.makedev(??)\nos.makedirs(name [, mode=0o777][, exist_ok=False])\nos.minor(??)\nos.mkdir(??)\nos.mkfifo(??)\nos.mknod(??)\nos.name\nos.nice(??)\nos.open(??)\nos.openpty(??)\nos.pardir\nos.path(??)\nos.pathconf(??)\nos.pathconf_names(??)\nos.pathsep\nos.pipe(??)\nos.popen(??)\nos.pread(??)\nos.putenv(??)\nos.pwrite(??)\nos.read(??)\nos.readlink(path, *, dir_fd=None) -> path\nos.readv(??)\nos.remove(??)\nos.removedirs(name)\nos.rename(??)\nos.renames(old, new)\nos.replace(??)\nos.rmdir(??)\nos.scandir(path='.') -> iterator of DirEntry objects for given path\nos.sched_get_priority_max(??)\nos.sched_get_priority_min(??)\nos.sched_yield(??)\nos.sendfile(out, in, offset, count) -> byteswritten\nos.sep\nos.set_blocking(fd, blocking)\nos.set_inheritable(??)\nos.setegid(??)\nos.seteuid(??)\nos.setgid(??)\nos.setgroups(??)\nos.setpgid(??)\nos.setpgrp(??)\nos.setpriority(??)\nos.setregid(??)\nos.setreuid(??)\nos.setsid(??)\nos.setuid(??)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(??)\nos.stat_float_times([newval]) -> oldval\nos.stat_result(??)\nos.statvfs(??)\nos.statvfs_result(??)\nos.strerror(??)\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(??)\nos.sync(??)\nos.sys(??)\nos.sysconf(??)\nos.sysconf_names(??)\nos.system(??)\nos.tcgetpgrp(??)\nos.tcsetpgrp(??)\nos.terminal_size(??)\nos.times(??)\nos.times_result(??)\nos.truncate(??)\nos.ttyname(??)\nos.umask(??)\nos.uname(??)\nos.uname_result(??)\nos.unlink(??)\nos.unsetenv(??)\nos.urandom(??)\nos.utime(??)\nos.wait(??)\nos.wait3(??)\nos.wait4(??)\nos.waitpid(??)\nos.walk(??)\nos.write(??)\nos.writev(??)\npathlib.EINVAL\npathlib.ENOENT\npathlib.ENOTDIR\npathlib.Path(??)\npathlib.PosixPath(??)\npathlib.PurePath(??)\npathlib.PurePosixPath(??)\npathlib.PureWindowsPath(??)\npathlib.S_ISBLK(mode) -> bool\npathlib.S_ISCHR(mode) -> bool\npathlib.S_ISDIR(mode) -> bool\npathlib.S_ISFIFO(mode) -> bool\npathlib.S_ISLNK(mode) -> bool\npathlib.S_ISREG(mode) -> bool\npathlib.S_ISSOCK(mode) -> bool\npathlib.Sequence(??)\npathlib.WindowsPath(??)\npathlib.attrgetter(attr, ...) --> attrgetter object\npathlib.contextmanager(??)\npathlib.fnmatch(??)\npathlib.functools(??)\npathlib.io(??)\npathlib.nt(??)\npathlib.ntpath(??)\npathlib.os(??)\npathlib.posixpath(??)\npathlib.re(??)\npathlib.supports_symlinks(??)\npathlib.sys(??)\npathlib.urlquote_from_bytes(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.ADDITEMS\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINBYTES8\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BINUNICODE8\npickle.BUILD\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_SET\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FRAME\npickle.FROZENSET\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.MEMOIZE\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWOBJ_EX\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.SHORT_BINUNICODE\npickle.STACK_GLOBAL\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.islice(iterable, stop) --> islice object\npickle.load(??)\npickle.loads(??)\npickle.maxsize\npickle.pack(fmt, v1, v2, ...) -> bytes\npickle.partial(func, *args, **keywords) - new function with partial application\npickle.re(??)\npickle.sys(??)\npickle.unpack(fmt, buffer) -> (v1, v2, ...)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.TAKEN_FROM_ARGUMENT4U\npickletools.TAKEN_FROM_ARGUMENT8U\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes1(??)\npickletools.bytes4(??)\npickletools.bytes8(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.io(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pybytes_or_str(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyfrozenset(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pyset(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_bytes1(??)\npickletools.read_bytes4(??)\npickletools.read_bytes8(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_uint4(??)\npickletools.read_uint8(??)\npickletools.read_unicodestring1(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestring8(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.sys(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.uint4(??)\npickletools.uint8(??)\npickletools.unicodestring1(??)\npickletools.unicodestring4(??)\npickletools.unicodestring8(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleInfo(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.namedtuple(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warnings(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.collections(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.subprocess(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(system, node, release, version, machine, processor)\nplatform.version(??)\nplatform.warnings(??)\nplatform.win32_ver(??)\nplistlib.BytesIO(??)\nplistlib.Data(??)\nplistlib.Dict(??)\nplistlib.FMT_BINARY(??)\nplistlib.FMT_XML(??)\nplistlib.InvalidFileException(??)\nplistlib.PLISTHEADER\nplistlib.ParserCreate(??)\nplistlib.Plist(??)\nplistlib.PlistFormat(??)\nplistlib.binascii(??)\nplistlib.codecs(??)\nplistlib.contextlib(??)\nplistlib.datetime(??)\nplistlib.dump(??)\nplistlib.dumps(??)\nplistlib.enum(??)\nplistlib.itertools(??)\nplistlib.load(??)\nplistlib.loads(??)\nplistlib.os(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.struct(??)\nplistlib.warn(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.HAVE_SSL(??)\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.errno(??)\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_TRAPPED\nposix.DirEntry(??)\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(??)\nposix.WEXITED\nposix.WEXITSTATUS(??)\nposix.WIFCONTINUED(??)\nposix.WIFEXITED(??)\nposix.WIFSIGNALED(??)\nposix.WIFSTOPPED(??)\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(??)\nposix.WTERMSIG(??)\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort(??)\nposix.access(??)\nposix.chdir(??)\nposix.chflags(??)\nposix.chmod(??)\nposix.chown(??)\nposix.chroot(??)\nposix.close(??)\nposix.closerange(??)\nposix.confstr(??)\nposix.confstr_names(??)\nposix.cpu_count(??)\nposix.ctermid(??)\nposix.device_encoding(??)\nposix.dup(??)\nposix.dup2(??)\nposix.environ(??)\nposix.error(??)\nposix.execv(??)\nposix.execve(??)\nposix.fchdir(??)\nposix.fchmod(??)\nposix.fchown(??)\nposix.fork(??)\nposix.forkpty(??)\nposix.fpathconf(??)\nposix.fspath(??)\nposix.fstat(??)\nposix.fstatvfs(??)\nposix.fsync(??)\nposix.ftruncate(??)\nposix.get_blocking(fd) -> bool\nposix.get_inheritable(??)\nposix.get_terminal_size(??)\nposix.getcwd(??)\nposix.getcwdb(??)\nposix.getegid(??)\nposix.geteuid(??)\nposix.getgid(??)\nposix.getgrouplist(user, group) -> list of groups to which a user belongs\nposix.getgroups(??)\nposix.getloadavg(??)\nposix.getlogin(??)\nposix.getpgid(??)\nposix.getpgrp(??)\nposix.getpid(??)\nposix.getppid(??)\nposix.getpriority(??)\nposix.getsid(??)\nposix.getuid(??)\nposix.initgroups(username, gid) -> None\nposix.isatty(??)\nposix.kill(??)\nposix.killpg(??)\nposix.lchflags(??)\nposix.lchmod(??)\nposix.lchown(??)\nposix.link(??)\nposix.listdir(??)\nposix.lockf(??)\nposix.lseek(??)\nposix.lstat(??)\nposix.major(??)\nposix.makedev(??)\nposix.minor(??)\nposix.mkdir(??)\nposix.mkfifo(??)\nposix.mknod(??)\nposix.nice(??)\nposix.open(??)\nposix.openpty(??)\nposix.pathconf(??)\nposix.pathconf_names(??)\nposix.pipe(??)\nposix.pread(??)\nposix.putenv(??)\nposix.pwrite(??)\nposix.read(??)\nposix.readlink(path, *, dir_fd=None) -> path\nposix.readv(??)\nposix.remove(??)\nposix.rename(??)\nposix.replace(??)\nposix.rmdir(??)\nposix.scandir(path='.') -> iterator of DirEntry objects for given path\nposix.sched_get_priority_max(??)\nposix.sched_get_priority_min(??)\nposix.sched_yield(??)\nposix.sendfile(out, in, offset, count) -> byteswritten\nposix.set_blocking(fd, blocking)\nposix.set_inheritable(??)\nposix.setegid(??)\nposix.seteuid(??)\nposix.setgid(??)\nposix.setgroups(??)\nposix.setpgid(??)\nposix.setpgrp(??)\nposix.setpriority(??)\nposix.setregid(??)\nposix.setreuid(??)\nposix.setsid(??)\nposix.setuid(??)\nposix.stat(??)\nposix.stat_float_times([newval]) -> oldval\nposix.stat_result(??)\nposix.statvfs(??)\nposix.statvfs_result(??)\nposix.strerror(??)\nposix.symlink(??)\nposix.sync(??)\nposix.sysconf(??)\nposix.sysconf_names(??)\nposix.system(??)\nposix.tcgetpgrp(??)\nposix.tcsetpgrp(??)\nposix.terminal_size(??)\nposix.times(??)\nposix.times_result(??)\nposix.truncate(??)\nposix.ttyname(??)\nposix.umask(??)\nposix.uname(??)\nposix.uname_result(??)\nposix.unlink(??)\nposix.unsetenv(??)\nposix.urandom(??)\nposix.utime(??)\nposix.wait(??)\nposix.wait3(??)\nposix.wait4(??)\nposix.waitpid(??)\nposix.write(??)\nposix.writev(??)\npow(??)\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.re(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.OptionParser(??)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.os(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(fget=None, fset=None, fdel=None, doc=None) -> property attribute\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall(??)\npwd.getpwnam(??)\npwd.getpwuid(??)\npwd.struct_passwd(??)\npy_compile.PyCompileError(??)\npy_compile.compile(??)\npy_compile.importlib(??)\npy_compile.main(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque([iterable[, maxlen]]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.sort_attributes(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.urllib(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.deque([iterable[, maxlen]]) --> deque object\nqueue.heappop(??)\nqueue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nqueue.threading(??)\nqueue.time(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(??)\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.choices(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates an int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange(stop) -> range object\nre.A(??)\nre.ASCII(??)\nre.DEBUG(??)\nre.DOTALL(??)\nre.I(??)\nre.IGNORECASE(??)\nre.L(??)\nre.LOCALE(??)\nre.M(??)\nre.MULTILINE(??)\nre.RegexFlag(??)\nre.S(??)\nre.Scanner(??)\nre.T(??)\nre.TEMPLATE(??)\nre.U(??)\nre.UNICODE(??)\nre.VERBOSE(??)\nre.X(??)\nre.compile(??)\nre.copyreg(??)\nre.enum(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.fullmatch(??)\nre.functools(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.template(??)\nrepr(??)\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, stop) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nreversed(sequence) -> reverse iterator over values of the sequence\nrlcompleter.Completer(??)\nrlcompleter.atexit(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(number[, ndigits]) -> number\nrunpy.get_importer(??)\nrunpy.importlib(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nrunpy.types(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nsecrets.DEFAULT_ENTROPY\nsecrets.SystemRandom(??)\nsecrets.base64(??)\nsecrets.binascii(??)\nsecrets.choice(??)\nsecrets.compare_digest(a, b) -> bool\nsecrets.os(??)\nsecrets.randbelow(??)\nsecrets.randbits(??)\nsecrets.token_bytes(??)\nsecrets.token_hex(??)\nsecrets.token_urlsafe(??)\nselectors.ABCMeta(??)\nselectors.BaseSelector(??)\nselectors.DefaultSelector(??)\nselectors.EVENT_READ\nselectors.EVENT_WRITE\nselectors.KqueueSelector(??)\nselectors.Mapping(??)\nselectors.PollSelector(??)\nselectors.SelectSelector(??)\nselectors.SelectorKey(fileobj, fd, events, data)\nselectors.abstractmethod(??)\nselectors.math(??)\nselectors.namedtuple(??)\nselectors.select(??)\nselectors.sys(??)\nset() -> new empty set object\nsetattr(??)\nshelve.BsdDbShelf(??)\nshelve.BytesIO(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(??)\nshelve.Shelf(??)\nshelve.Unpickler(??)\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque([iterable[, maxlen]]) --> deque object\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SameFileError(??)\nshutil.SpecialFileError(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(??)\nshutil.getpwnam(??)\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.tarfile(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.Handlers(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT(??)\nsignal.SIGALRM(??)\nsignal.SIGBUS(??)\nsignal.SIGCHLD(??)\nsignal.SIGCONT(??)\nsignal.SIGEMT(??)\nsignal.SIGFPE(??)\nsignal.SIGHUP(??)\nsignal.SIGILL(??)\nsignal.SIGINFO(??)\nsignal.SIGINT(??)\nsignal.SIGIO(??)\nsignal.SIGIOT(??)\nsignal.SIGKILL(??)\nsignal.SIGPIPE(??)\nsignal.SIGPROF(??)\nsignal.SIGQUIT(??)\nsignal.SIGSEGV(??)\nsignal.SIGSTOP(??)\nsignal.SIGSYS(??)\nsignal.SIGTERM(??)\nsignal.SIGTRAP(??)\nsignal.SIGTSTP(??)\nsignal.SIGTTIN(??)\nsignal.SIGTTOU(??)\nsignal.SIGURG(??)\nsignal.SIGUSR1(??)\nsignal.SIGUSR2(??)\nsignal.SIGVTALRM(??)\nsignal.SIGWINCH(??)\nsignal.SIGXCPU(??)\nsignal.SIGXFSZ(??)\nsignal.SIG_BLOCK(??)\nsignal.SIG_DFL(??)\nsignal.SIG_IGN(??)\nsignal.SIG_SETMASK(??)\nsignal.SIG_UNBLOCK(??)\nsignal.Sigmasks(??)\nsignal.Signals(??)\nsignal.alarm(??)\nsignal.default_int_handler(...)\nsignal.getitimer(??)\nsignal.getsignal(??)\nsignal.pause(??)\nsignal.pthread_kill(??)\nsignal.pthread_sigmask(??)\nsignal.set_wakeup_fd(fd) -> fd\nsignal.setitimer(??)\nsignal.siginterrupt(??)\nsignal.signal(??)\nsignal.sigpending(??)\nsignal.sigwait(??)\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.enablerlcompleter(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice(stop)\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPNotSupportedError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.datetime(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.sys(??)\nsndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.namedtuple(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK(??)\nsocket.AF_DECnet\nsocket.AF_INET(??)\nsocket.AF_INET6(??)\nsocket.AF_IPX(??)\nsocket.AF_LINK(??)\nsocket.AF_ROUTE(??)\nsocket.AF_SNA(??)\nsocket.AF_SYSTEM(??)\nsocket.AF_UNIX(??)\nsocket.AF_UNSPEC(??)\nsocket.AI_ADDRCONFIG(??)\nsocket.AI_ALL(??)\nsocket.AI_CANONNAME(??)\nsocket.AI_DEFAULT(??)\nsocket.AI_MASK(??)\nsocket.AI_NUMERICHOST(??)\nsocket.AI_NUMERICSERV(??)\nsocket.AI_PASSIVE(??)\nsocket.AI_V4MAPPED(??)\nsocket.AI_V4MAPPED_CFG(??)\nsocket.AddressFamily(??)\nsocket.AddressInfo(??)\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.IntEnum(??)\nsocket.IntFlag(??)\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC(??)\nsocket.MSG_DONTROUTE(??)\nsocket.MSG_DONTWAIT(??)\nsocket.MSG_EOF(??)\nsocket.MSG_EOR(??)\nsocket.MSG_OOB(??)\nsocket.MSG_PEEK(??)\nsocket.MSG_TRUNC(??)\nsocket.MSG_WAITALL(??)\nsocket.MsgFlag(??)\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM(??)\nsocket.SOCK_RAW(??)\nsocket.SOCK_RDM(??)\nsocket.SOCK_SEQPACKET(??)\nsocket.SOCK_STREAM(??)\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketKind(??)\nsocket.SocketType(??)\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(??)\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.selectors(??)\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.BufferedIOBase(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.errno(??)\nsocketserver.os(??)\nsocketserver.selectors(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsocketserver.time(??)\nsorted(??)\nsqlite3.Binary(??)\nsqlite3.Cache(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement(??)\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.collections(??)\nsqlite3.complete_statement(sql)\nsqlite3.connect(??)\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Cache(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement(??)\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.collections(??)\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(??)\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET(??)\nssl.ALERT_DESCRIPTION_ACCESS_DENIED(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??)\nssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??)\nssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??)\nssl.ALERT_DESCRIPTION_DECODE_ERROR(??)\nssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??)\nssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??)\nssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??)\nssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??)\nssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??)\nssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??)\nssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??)\nssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??)\nssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??)\nssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_CA(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??)\nssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??)\nssl.ALERT_DESCRIPTION_USER_CANCELLED(??)\nssl.AlertDescription(??)\nssl.CERT_NONE(??)\nssl.CERT_OPTIONAL(??)\nssl.CERT_REQUIRED(??)\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)\nssl.HAS_ALPN(??)\nssl.HAS_ECDH(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.MemoryBIO(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL(??)\nssl.OP_CIPHER_SERVER_PREFERENCE(??)\nssl.OP_NO_COMPRESSION(??)\nssl.OP_NO_SSLv2(??)\nssl.OP_NO_SSLv3(??)\nssl.OP_NO_TICKET(??)\nssl.OP_NO_TLSv1(??)\nssl.OP_NO_TLSv1_1(??)\nssl.OP_NO_TLSv1_2(??)\nssl.OP_SINGLE_DH_USE(??)\nssl.OP_SINGLE_ECDH_USE(??)\nssl.Options(??)\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv23(??)\nssl.PROTOCOL_TLS(??)\nssl.PROTOCOL_TLS_CLIENT(??)\nssl.PROTOCOL_TLS_SERVER(??)\nssl.PROTOCOL_TLSv1(??)\nssl.PROTOCOL_TLSv1_1(??)\nssl.PROTOCOL_TLSv1_2(??)\nssl.Purpose(??)\nssl.RAND_add(??)\nssl.RAND_bytes(??)\nssl.RAND_egd(??)\nssl.RAND_pseudo_bytes(??)\nssl.RAND_status(??)\nssl.SOCK_STREAM(??)\nssl.SOL_SOCKET\nssl.SO_TYPE\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLErrorNumber(??)\nssl.SSLObject(??)\nssl.SSLSession(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF(??)\nssl.SSL_ERROR_INVALID_ERROR_CODE(??)\nssl.SSL_ERROR_SSL(??)\nssl.SSL_ERROR_SYSCALL(??)\nssl.SSL_ERROR_WANT_CONNECT(??)\nssl.SSL_ERROR_WANT_READ(??)\nssl.SSL_ERROR_WANT_WRITE(??)\nssl.SSL_ERROR_WANT_X509_LOOKUP(??)\nssl.SSL_ERROR_ZERO_RETURN(??)\nssl.VERIFY_CRL_CHECK_CHAIN(??)\nssl.VERIFY_CRL_CHECK_LEAF(??)\nssl.VERIFY_DEFAULT(??)\nssl.VERIFY_X509_STRICT(??)\nssl.VERIFY_X509_TRUSTED_FIRST(??)\nssl.VerifyFlags(??)\nssl.VerifyMode(??)\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.create_default_context(??)\nssl.errno(??)\nssl.get_default_verify_paths(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.ipaddress(??)\nssl.match_hostname(??)\nssl.namedtuple(??)\nssl.os(??)\nssl.re(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.sys(??)\nssl.textwrap(??)\nssl.warnings(??)\nssl.wrap_socket(??)\nstat.FILE_ATTRIBUTE_ARCHIVE\nstat.FILE_ATTRIBUTE_COMPRESSED\nstat.FILE_ATTRIBUTE_DEVICE\nstat.FILE_ATTRIBUTE_DIRECTORY\nstat.FILE_ATTRIBUTE_ENCRYPTED\nstat.FILE_ATTRIBUTE_HIDDEN\nstat.FILE_ATTRIBUTE_INTEGRITY_STREAM\nstat.FILE_ATTRIBUTE_NORMAL\nstat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nstat.FILE_ATTRIBUTE_NO_SCRUB_DATA\nstat.FILE_ATTRIBUTE_OFFLINE\nstat.FILE_ATTRIBUTE_READONLY\nstat.FILE_ATTRIBUTE_REPARSE_POINT\nstat.FILE_ATTRIBUTE_SPARSE_FILE\nstat.FILE_ATTRIBUTE_SYSTEM\nstat.FILE_ATTRIBUTE_TEMPORARY\nstat.FILE_ATTRIBUTE_VIRTUAL\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFDOOR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFPORT\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IFWHT\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(mode) -> bool\nstat.S_ISCHR(mode) -> bool\nstat.S_ISDIR(mode) -> bool\nstat.S_ISDOOR(mode) -> bool\nstat.S_ISFIFO(mode) -> bool\nstat.S_ISGID\nstat.S_ISLNK(mode) -> bool\nstat.S_ISPORT(mode) -> bool\nstat.S_ISREG(mode) -> bool\nstat.S_ISSOCK(mode) -> bool\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_ISWHT(mode) -> bool\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstatistics.Decimal(??)\nstatistics.Fraction(??)\nstatistics.StatisticsError(??)\nstatistics.bisect_left(a, x[, lo[, hi]]) -> index\nstatistics.bisect_right(a, x[, lo[, hi]]) -> index\nstatistics.chain(*iterables) --> chain object\nstatistics.collections(??)\nstatistics.decimal(??)\nstatistics.groupby(iterable[, keyfunc]) -> create an iterator which returns\nstatistics.harmonic_mean(??)\nstatistics.math(??)\nstatistics.mean(??)\nstatistics.median(??)\nstatistics.median_grouped(??)\nstatistics.median_high(??)\nstatistics.median_low(??)\nstatistics.mode(??)\nstatistics.numbers(??)\nstatistics.pstdev(??)\nstatistics.pvariance(??)\nstatistics.stdev(??)\nstatistics.variance(??)\nstr(object='') -> str\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(fmt) --> compiled struct object\nstruct.calcsize(fmt) -> integer\nstruct.error(??)\nstruct.iter_unpack(fmt, buffer) -> iterator(v1, v2, ...)\nstruct.pack(fmt, v1, v2, ...) -> bytes\nstruct.pack_into(fmt, buffer, offset, v1, v2, ...)\nstruct.unpack(fmt, buffer) -> (v1, v2, ...)\nstruct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...)\nsubprocess.CalledProcessError(??)\nsubprocess.CompletedProcess(??)\nsubprocess.DEVNULL\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.os(??)\nsubprocess.run(??)\nsubprocess.select(??)\nsubprocess.selectors(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.threading(??)\nsubprocess.time(??)\nsubprocess.warnings(??)\nsum(??)\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.namedtuple(??)\nsunau.open(??)\nsunau.openfp(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.annassign\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.async_funcdef\nsymbol.async_stmt\nsymbol.atom\nsymbol.atom_expr\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_arg\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_ANNOT\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.api_version\nsys.argv(??)\nsys.base_exec_prefix\nsys.base_prefix\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.get_asyncgen_hooks()\nsys.get_coroutine_wrapper()\nsys.getallocatedblocks() -> integer\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencodeerrors() -> string\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.getswitchinterval() -> current thread switch interval; see setswitchinterval().\nsys.gettrace()\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(string) -> string\nsys.is_finalizing()\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.set_asyncgen_hooks(*, firstiter=None, finalizer=None)\nsys.set_coroutine_wrapper(wrapper)\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.setswitchinterval(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.getopt(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.filemode(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.main(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.selectors(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempdirb(??)\ntempfile.gettempprefix(??)\ntempfile.gettempprefixb(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.shorten(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.get_ident() -> integer\nthreading.local(??)\nthreading.main_thread(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.perf_counter() -> float\ntime.process_time() -> float\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.EventType(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog.ACTIVE\ntkinter.commondialog.ALL\ntkinter.commondialog.ANCHOR\ntkinter.commondialog.ARC\ntkinter.commondialog.BASELINE\ntkinter.commondialog.BEVEL\ntkinter.commondialog.BOTH\ntkinter.commondialog.BOTTOM\ntkinter.commondialog.BROWSE\ntkinter.commondialog.BUTT\ntkinter.commondialog.BaseWidget(??)\ntkinter.commondialog.BitmapImage(??)\ntkinter.commondialog.BooleanVar(??)\ntkinter.commondialog.Button(??)\ntkinter.commondialog.CASCADE\ntkinter.commondialog.CENTER\ntkinter.commondialog.CHAR\ntkinter.commondialog.CHECKBUTTON\ntkinter.commondialog.CHORD\ntkinter.commondialog.COMMAND\ntkinter.commondialog.CURRENT\ntkinter.commondialog.CallWrapper(??)\ntkinter.commondialog.Canvas(??)\ntkinter.commondialog.Checkbutton(??)\ntkinter.commondialog.DISABLED\ntkinter.commondialog.DOTBOX\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.DoubleVar(??)\ntkinter.commondialog.E\ntkinter.commondialog.END\ntkinter.commondialog.EW\ntkinter.commondialog.EXCEPTION\ntkinter.commondialog.EXTENDED\ntkinter.commondialog.Entry(??)\ntkinter.commondialog.Event(??)\ntkinter.commondialog.EventType(??)\ntkinter.commondialog.FALSE\ntkinter.commondialog.FIRST\ntkinter.commondialog.FLAT\ntkinter.commondialog.Frame(??)\ntkinter.commondialog.GROOVE\ntkinter.commondialog.Grid(??)\ntkinter.commondialog.HIDDEN\ntkinter.commondialog.HORIZONTAL\ntkinter.commondialog.INSERT\ntkinter.commondialog.INSIDE\ntkinter.commondialog.Image(??)\ntkinter.commondialog.IntVar(??)\ntkinter.commondialog.LAST\ntkinter.commondialog.LEFT\ntkinter.commondialog.Label(??)\ntkinter.commondialog.LabelFrame(??)\ntkinter.commondialog.Listbox(??)\ntkinter.commondialog.MITER\ntkinter.commondialog.MOVETO\ntkinter.commondialog.MULTIPLE\ntkinter.commondialog.Menu(??)\ntkinter.commondialog.Menubutton(??)\ntkinter.commondialog.Message(??)\ntkinter.commondialog.Misc(??)\ntkinter.commondialog.N\ntkinter.commondialog.NE\ntkinter.commondialog.NO\ntkinter.commondialog.NONE\ntkinter.commondialog.NORMAL\ntkinter.commondialog.NS\ntkinter.commondialog.NSEW\ntkinter.commondialog.NUMERIC\ntkinter.commondialog.NW\ntkinter.commondialog.NoDefaultRoot(??)\ntkinter.commondialog.OFF\ntkinter.commondialog.ON\ntkinter.commondialog.OUTSIDE\ntkinter.commondialog.OptionMenu(??)\ntkinter.commondialog.PAGES\ntkinter.commondialog.PIESLICE\ntkinter.commondialog.PROJECTING\ntkinter.commondialog.Pack(??)\ntkinter.commondialog.PanedWindow(??)\ntkinter.commondialog.PhotoImage(??)\ntkinter.commondialog.Place(??)\ntkinter.commondialog.RADIOBUTTON\ntkinter.commondialog.RAISED\ntkinter.commondialog.READABLE\ntkinter.commondialog.RIDGE\ntkinter.commondialog.RIGHT\ntkinter.commondialog.ROUND\ntkinter.commondialog.Radiobutton(??)\ntkinter.commondialog.S\ntkinter.commondialog.SCROLL\ntkinter.commondialog.SE\ntkinter.commondialog.SEL\ntkinter.commondialog.SEL_FIRST\ntkinter.commondialog.SEL_LAST\ntkinter.commondialog.SEPARATOR\ntkinter.commondialog.SINGLE\ntkinter.commondialog.SOLID\ntkinter.commondialog.SUNKEN\ntkinter.commondialog.SW\ntkinter.commondialog.Scale(??)\ntkinter.commondialog.Scrollbar(??)\ntkinter.commondialog.Spinbox(??)\ntkinter.commondialog.StringVar(??)\ntkinter.commondialog.TOP\ntkinter.commondialog.TRUE\ntkinter.commondialog.Tcl(??)\ntkinter.commondialog.TclError(??)\ntkinter.commondialog.TclVersion\ntkinter.commondialog.Text(??)\ntkinter.commondialog.Tk(??)\ntkinter.commondialog.TkVersion\ntkinter.commondialog.Toplevel(??)\ntkinter.commondialog.UNDERLINE\ntkinter.commondialog.UNITS\ntkinter.commondialog.VERTICAL\ntkinter.commondialog.Variable(??)\ntkinter.commondialog.W\ntkinter.commondialog.WORD\ntkinter.commondialog.WRITABLE\ntkinter.commondialog.Widget(??)\ntkinter.commondialog.Wm(??)\ntkinter.commondialog.X\ntkinter.commondialog.XView(??)\ntkinter.commondialog.Y\ntkinter.commondialog.YES\ntkinter.commondialog.YView(??)\ntkinter.commondialog.constants(??)\ntkinter.commondialog.enum(??)\ntkinter.commondialog.getboolean(??)\ntkinter.commondialog.getdouble(??)\ntkinter.commondialog.getint(??)\ntkinter.commondialog.image_names(??)\ntkinter.commondialog.image_types(??)\ntkinter.commondialog.mainloop(??)\ntkinter.commondialog.re(??)\ntkinter.commondialog.sys(??)\ntkinter.commondialog.wantobjects\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog.ACTIVE\ntkinter.dialog.ALL\ntkinter.dialog.ANCHOR\ntkinter.dialog.ARC\ntkinter.dialog.BASELINE\ntkinter.dialog.BEVEL\ntkinter.dialog.BOTH\ntkinter.dialog.BOTTOM\ntkinter.dialog.BROWSE\ntkinter.dialog.BUTT\ntkinter.dialog.BaseWidget(??)\ntkinter.dialog.BitmapImage(??)\ntkinter.dialog.BooleanVar(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.CASCADE\ntkinter.dialog.CENTER\ntkinter.dialog.CHAR\ntkinter.dialog.CHECKBUTTON\ntkinter.dialog.CHORD\ntkinter.dialog.COMMAND\ntkinter.dialog.CURRENT\ntkinter.dialog.CallWrapper(??)\ntkinter.dialog.Canvas(??)\ntkinter.dialog.Checkbutton(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.DISABLED\ntkinter.dialog.DOTBOX\ntkinter.dialog.Dialog(??)\ntkinter.dialog.DoubleVar(??)\ntkinter.dialog.E\ntkinter.dialog.END\ntkinter.dialog.EW\ntkinter.dialog.EXCEPTION\ntkinter.dialog.EXTENDED\ntkinter.dialog.Entry(??)\ntkinter.dialog.Event(??)\ntkinter.dialog.EventType(??)\ntkinter.dialog.FALSE\ntkinter.dialog.FIRST\ntkinter.dialog.FLAT\ntkinter.dialog.Frame(??)\ntkinter.dialog.GROOVE\ntkinter.dialog.Grid(??)\ntkinter.dialog.HIDDEN\ntkinter.dialog.HORIZONTAL\ntkinter.dialog.INSERT\ntkinter.dialog.INSIDE\ntkinter.dialog.Image(??)\ntkinter.dialog.IntVar(??)\ntkinter.dialog.LAST\ntkinter.dialog.LEFT\ntkinter.dialog.Label(??)\ntkinter.dialog.LabelFrame(??)\ntkinter.dialog.Listbox(??)\ntkinter.dialog.MITER\ntkinter.dialog.MOVETO\ntkinter.dialog.MULTIPLE\ntkinter.dialog.Menu(??)\ntkinter.dialog.Menubutton(??)\ntkinter.dialog.Message(??)\ntkinter.dialog.Misc(??)\ntkinter.dialog.N\ntkinter.dialog.NE\ntkinter.dialog.NO\ntkinter.dialog.NONE\ntkinter.dialog.NORMAL\ntkinter.dialog.NS\ntkinter.dialog.NSEW\ntkinter.dialog.NUMERIC\ntkinter.dialog.NW\ntkinter.dialog.NoDefaultRoot(??)\ntkinter.dialog.OFF\ntkinter.dialog.ON\ntkinter.dialog.OUTSIDE\ntkinter.dialog.OptionMenu(??)\ntkinter.dialog.PAGES\ntkinter.dialog.PIESLICE\ntkinter.dialog.PROJECTING\ntkinter.dialog.Pack(??)\ntkinter.dialog.PanedWindow(??)\ntkinter.dialog.PhotoImage(??)\ntkinter.dialog.Place(??)\ntkinter.dialog.RADIOBUTTON\ntkinter.dialog.RAISED\ntkinter.dialog.READABLE\ntkinter.dialog.RIDGE\ntkinter.dialog.RIGHT\ntkinter.dialog.ROUND\ntkinter.dialog.Radiobutton(??)\ntkinter.dialog.S\ntkinter.dialog.SCROLL\ntkinter.dialog.SE\ntkinter.dialog.SEL\ntkinter.dialog.SEL_FIRST\ntkinter.dialog.SEL_LAST\ntkinter.dialog.SEPARATOR\ntkinter.dialog.SINGLE\ntkinter.dialog.SOLID\ntkinter.dialog.SUNKEN\ntkinter.dialog.SW\ntkinter.dialog.Scale(??)\ntkinter.dialog.Scrollbar(??)\ntkinter.dialog.Spinbox(??)\ntkinter.dialog.StringVar(??)\ntkinter.dialog.TOP\ntkinter.dialog.TRUE\ntkinter.dialog.Tcl(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.TclVersion\ntkinter.dialog.Text(??)\ntkinter.dialog.Tk(??)\ntkinter.dialog.TkVersion\ntkinter.dialog.Toplevel(??)\ntkinter.dialog.UNDERLINE\ntkinter.dialog.UNITS\ntkinter.dialog.VERTICAL\ntkinter.dialog.Variable(??)\ntkinter.dialog.W\ntkinter.dialog.WORD\ntkinter.dialog.WRITABLE\ntkinter.dialog.Widget(??)\ntkinter.dialog.Wm(??)\ntkinter.dialog.X\ntkinter.dialog.XView(??)\ntkinter.dialog.Y\ntkinter.dialog.YES\ntkinter.dialog.YView(??)\ntkinter.dialog.colorchooser(??)\ntkinter.dialog.commondialog(??)\ntkinter.dialog.constants(??)\ntkinter.dialog.enum(??)\ntkinter.dialog.getboolean(??)\ntkinter.dialog.getdouble(??)\ntkinter.dialog.getint(??)\ntkinter.dialog.image_names(??)\ntkinter.dialog.image_types(??)\ntkinter.dialog.mainloop(??)\ntkinter.dialog.re(??)\ntkinter.dialog.sys(??)\ntkinter.dialog.wantobjects\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.enum(??)\ntkinter.filedialog.ACTIVE\ntkinter.filedialog.ALL\ntkinter.filedialog.ANCHOR\ntkinter.filedialog.ARC\ntkinter.filedialog.BASELINE\ntkinter.filedialog.BEVEL\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.BROWSE\ntkinter.filedialog.BUTT\ntkinter.filedialog.BaseWidget(??)\ntkinter.filedialog.BitmapImage(??)\ntkinter.filedialog.BooleanVar(??)\ntkinter.filedialog.Button(??)\ntkinter.filedialog.CASCADE\ntkinter.filedialog.CENTER\ntkinter.filedialog.CHAR\ntkinter.filedialog.CHECKBUTTON\ntkinter.filedialog.CHORD\ntkinter.filedialog.COMMAND\ntkinter.filedialog.CURRENT\ntkinter.filedialog.CallWrapper(??)\ntkinter.filedialog.Canvas(??)\ntkinter.filedialog.Checkbutton(??)\ntkinter.filedialog.DISABLED\ntkinter.filedialog.DOTBOX\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.DoubleVar(??)\ntkinter.filedialog.E\ntkinter.filedialog.END\ntkinter.filedialog.EW\ntkinter.filedialog.EXCEPTION\ntkinter.filedialog.EXTENDED\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.Event(??)\ntkinter.filedialog.EventType(??)\ntkinter.filedialog.FALSE\ntkinter.filedialog.FIRST\ntkinter.filedialog.FLAT\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.GROOVE\ntkinter.filedialog.Grid(??)\ntkinter.filedialog.HIDDEN\ntkinter.filedialog.HORIZONTAL\ntkinter.filedialog.INSERT\ntkinter.filedialog.INSIDE\ntkinter.filedialog.Image(??)\ntkinter.filedialog.IntVar(??)\ntkinter.filedialog.LAST\ntkinter.filedialog.LEFT\ntkinter.filedialog.Label(??)\ntkinter.filedialog.LabelFrame(??)\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.MITER\ntkinter.filedialog.MOVETO\ntkinter.filedialog.MULTIPLE\ntkinter.filedialog.Menu(??)\ntkinter.filedialog.Menubutton(??)\ntkinter.filedialog.Message(??)\ntkinter.filedialog.Misc(??)\ntkinter.filedialog.N\ntkinter.filedialog.NE\ntkinter.filedialog.NO\ntkinter.filedialog.NONE\ntkinter.filedialog.NORMAL\ntkinter.filedialog.NS\ntkinter.filedialog.NSEW\ntkinter.filedialog.NUMERIC\ntkinter.filedialog.NW\ntkinter.filedialog.NoDefaultRoot(??)\ntkinter.filedialog.OFF\ntkinter.filedialog.ON\ntkinter.filedialog.OUTSIDE\ntkinter.filedialog.Open(??)\ntkinter.filedialog.OptionMenu(??)\ntkinter.filedialog.PAGES\ntkinter.filedialog.PIESLICE\ntkinter.filedialog.PROJECTING\ntkinter.filedialog.Pack(??)\ntkinter.filedialog.PanedWindow(??)\ntkinter.filedialog.PhotoImage(??)\ntkinter.filedialog.Place(??)\ntkinter.filedialog.RADIOBUTTON\ntkinter.filedialog.RAISED\ntkinter.filedialog.READABLE\ntkinter.filedialog.RIDGE\ntkinter.filedialog.RIGHT\ntkinter.filedialog.ROUND\ntkinter.filedialog.Radiobutton(??)\ntkinter.filedialog.S\ntkinter.filedialog.SCROLL\ntkinter.filedialog.SE\ntkinter.filedialog.SEL\ntkinter.filedialog.SEL_FIRST\ntkinter.filedialog.SEL_LAST\ntkinter.filedialog.SEPARATOR\ntkinter.filedialog.SINGLE\ntkinter.filedialog.SOLID\ntkinter.filedialog.SUNKEN\ntkinter.filedialog.SW\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scale(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.Spinbox(??)\ntkinter.filedialog.StringVar(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.TRUE\ntkinter.filedialog.Tcl(??)\ntkinter.filedialog.TclError(??)\ntkinter.filedialog.TclVersion\ntkinter.filedialog.Text(??)\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.TkVersion\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.UNDERLINE\ntkinter.filedialog.UNITS\ntkinter.filedialog.VERTICAL\ntkinter.filedialog.Variable(??)\ntkinter.filedialog.W\ntkinter.filedialog.WORD\ntkinter.filedialog.WRITABLE\ntkinter.filedialog.Widget(??)\ntkinter.filedialog.Wm(??)\ntkinter.filedialog.X\ntkinter.filedialog.XView(??)\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.YView(??)\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.colorchooser(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.constants(??)\ntkinter.filedialog.dialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.dnd(??)\ntkinter.filedialog.enum(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.getboolean(??)\ntkinter.filedialog.getdouble(??)\ntkinter.filedialog.getint(??)\ntkinter.filedialog.image_names(??)\ntkinter.filedialog.image_types(??)\ntkinter.filedialog.mainloop(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.re(??)\ntkinter.filedialog.sys(??)\ntkinter.filedialog.test(??)\ntkinter.filedialog.wantobjects\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.re(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.EventType(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.colorchooser(??)\ntkinter.simpledialog.commondialog(??)\ntkinter.simpledialog.constants(??)\ntkinter.simpledialog.dialog(??)\ntkinter.simpledialog.dnd(??)\ntkinter.simpledialog.enum(??)\ntkinter.simpledialog.filedialog(??)\ntkinter.simpledialog.font(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.re(??)\ntkinter.simpledialog.scrolledtext(??)\ntkinter.simpledialog.sys(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.simpledialog.wantobjects\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.EventType(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.colorchooser(??)\ntkinter.tix.commondialog(??)\ntkinter.tix.constants(??)\ntkinter.tix.dialog(??)\ntkinter.tix.dnd(??)\ntkinter.tix.enum(??)\ntkinter.tix.filedialog(??)\ntkinter.tix.font(??)\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.messagebox(??)\ntkinter.tix.os(??)\ntkinter.tix.re(??)\ntkinter.tix.scrolledtext(??)\ntkinter.tix.simpledialog(??)\ntkinter.tix.sys(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.tix.wantobjects\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.wantobjects\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.ASYNC\ntoken.AT\ntoken.ATEQUAL\ntoken.AWAIT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.ASYNC\ntokenize.AT\ntokenize.ATEQUAL\ntokenize.AWAIT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.blank_re(??)\ntokenize.chain(*iterables) --> chain object\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.u\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.argparse(??)\ntrace.dis(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntraceback.FrameSummary(??)\ntraceback.StackSummary(??)\ntraceback.TracebackException(??)\ntraceback.clear_frames(??)\ntraceback.collections(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.itertools(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntraceback.walk_stack(??)\ntraceback.walk_tb(??)\ntracemalloc.BaseFilter(??)\ntracemalloc.DomainFilter(??)\ntracemalloc.Filter(??)\ntracemalloc.Frame(??)\ntracemalloc.Iterable(??)\ntracemalloc.Sequence(??)\ntracemalloc.Snapshot(??)\ntracemalloc.Statistic(??)\ntracemalloc.StatisticDiff(??)\ntracemalloc.Trace(??)\ntracemalloc.Traceback(??)\ntracemalloc.clear_traces()\ntracemalloc.fnmatch(??)\ntracemalloc.get_object_traceback(??)\ntracemalloc.get_traceback_limit() -> int\ntracemalloc.get_traced_memory() -> (int, int)\ntracemalloc.get_tracemalloc_memory() -> int\ntracemalloc.is_tracing()->bool\ntracemalloc.linecache(??)\ntracemalloc.os(??)\ntracemalloc.pickle(??)\ntracemalloc.start(nframe: int=1)\ntracemalloc.stop()\ntracemalloc.take_snapshot(??)\ntracemalloc.total_ordering(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple() -> empty tuple\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.sys(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object_or_name, bases, dict)\ntypes.AsyncGeneratorType(??)\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CodeType(??)\ntypes.CoroutineType(??)\ntypes.DynamicClassAttribute(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(??)\ntypes.coroutine(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\ntyping.AbstractSet(??)\ntyping.Any(??)\ntyping.AnyStr(??)\ntyping.AsyncIterable(??)\ntyping.AsyncIterator(??)\ntyping.Awaitable(??)\ntyping.BinaryIO(??)\ntyping.ByteString(??)\ntyping.CT_co(??)\ntyping.Callable(??)\ntyping.CallableMeta(??)\ntyping.ClassVar(??)\ntyping.Collection(??)\ntyping.Container(??)\ntyping.ContextManager(??)\ntyping.Coroutine(??)\ntyping.DefaultDict(??)\ntyping.Dict(??)\ntyping.FrozenSet(??)\ntyping.Generator(??)\ntyping.Generic(??)\ntyping.GenericMeta(??)\ntyping.Hashable(??)\ntyping.IO(??)\ntyping.ItemsView(??)\ntyping.Iterable(??)\ntyping.Iterator(??)\ntyping.KT(??)\ntyping.KeysView(??)\ntyping.List(??)\ntyping.Mapping(??)\ntyping.MappingView(??)\ntyping.Match(??)\ntyping.MutableMapping(??)\ntyping.MutableSequence(??)\ntyping.MutableSet(??)\ntyping.NamedTuple(??)\ntyping.NamedTupleMeta(??)\ntyping.NewType(??)\ntyping.Optional(??)\ntyping.Pattern(??)\ntyping.Reversible(??)\ntyping.Sequence(??)\ntyping.Set(??)\ntyping.Sized(??)\ntyping.SupportsAbs(??)\ntyping.SupportsBytes(??)\ntyping.SupportsComplex(??)\ntyping.SupportsFloat(??)\ntyping.SupportsInt(??)\ntyping.SupportsRound(??)\ntyping.T(??)\ntyping.TYPE_CHECKING(??)\ntyping.T_co(??)\ntyping.T_contra(??)\ntyping.Text(??)\ntyping.TextIO(??)\ntyping.Tuple(??)\ntyping.TupleMeta(??)\ntyping.Type(??)\ntyping.TypeVar(??)\ntyping.TypingMeta(??)\ntyping.Union(??)\ntyping.VT(??)\ntyping.VT_co(??)\ntyping.V_co(??)\ntyping.ValuesView(??)\ntyping.abc(??)\ntyping.abstractmethod(??)\ntyping.abstractproperty(??)\ntyping.cast(??)\ntyping.collections(??)\ntyping.collections_abc(??)\ntyping.contextlib(??)\ntyping.functools(??)\ntyping.get_type_hints(??)\ntyping.io(??)\ntyping.no_type_check(??)\ntyping.no_type_check_decorator(??)\ntyping.overload(??)\ntyping.re(??)\ntyping.stdlib_re(??)\ntyping.sys(??)\ntyping.types(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.re(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.DataHandler(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPPasswordMgrWithPriorAuth(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.collections(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittag('/path#tag') --> '/path', 'tag'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.string(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.response.tempfile(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.collections(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.ctypes(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.lib(??)\nuuid.libname\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.EnvBuilder(??)\nvenv.create(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.subprocess(??)\nvenv.sys(??)\nvenv.types(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.audioop(??)\nwave.builtins(??)\nwave.namedtuple(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nwave.sys(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakMethod(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.collections(??)\nweakref.finalize(??)\nweakref.getweakrefcount(??)\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.itertools(??)\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nweakref.sys(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.shutil(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO(??)\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.raise_conversion_error(??)\nxdrlib.struct(??)\nxdrlib.wraps(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.warnings(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLPullParser(??)\nxml.etree.ElementTree.collections(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLPullParser(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(??)\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate(??)\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.codecs(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.io(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO(??)\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Decimal(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipapp.MAIN_TEMPLATE\nzipapp.ZipAppError(??)\nzipapp.contextlib(??)\nzipapp.create_archive(??)\nzipapp.get_interpreter(??)\nzipapp.main(??)\nzipapp.os(??)\nzipapp.pathlib(??)\nzipapp.shebang_encoding\nzipapp.shutil(??)\nzipapp.stat(??)\nzipapp.sys(??)\nzipapp.zipfile(??)\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.DEFAULT_VERSION\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.crc32(??)\nzipfile.error(??)\nzipfile.importlib(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.re(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.threading(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.7.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nModuleNotFoundError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nRecursionError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopAsyncIteration(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABC(??)\nabc.ABCMeta(??)\nabc.WeakSet(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabc.get_cache_token(??)\nabs(??)\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.namedtuple(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\naifc.warnings(??)\nall(??)\nany(??)\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\nascii(??)\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.AnnAssign(??)\nast.Assert(??)\nast.Assign(??)\nast.AsyncFor(??)\nast.AsyncFunctionDef(??)\nast.AsyncWith(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.Await(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Constant(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FormattedValue(??)\nast.FunctionDef(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.JoinedStr(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.MatMult(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NameConstant(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ONLY_AST\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.Try(??)\nast.Tuple(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.YieldFrom(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.unaryop(??)\nast.walk(??)\nast.withitem(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque([iterable[, maxlen]]) --> deque object\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasyncio.ALL_COMPLETED\nasyncio.AbstractChildWatcher(??)\nasyncio.AbstractEventLoop(??)\nasyncio.AbstractEventLoopPolicy(??)\nasyncio.AbstractServer(??)\nasyncio.BaseEventLoop(??)\nasyncio.BaseProtocol(??)\nasyncio.BaseTransport(??)\nasyncio.BoundedSemaphore(??)\nasyncio.BufferedProtocol(??)\nasyncio.CancelledError(??)\nasyncio.Condition(??)\nasyncio.DatagramProtocol(??)\nasyncio.DatagramTransport(??)\nasyncio.DefaultEventLoopPolicy(??)\nasyncio.Event(??)\nasyncio.FIRST_COMPLETED\nasyncio.FIRST_EXCEPTION\nasyncio.FastChildWatcher(??)\nasyncio.Future(??)\nasyncio.Handle(??)\nasyncio.IncompleteReadError(??)\nasyncio.InvalidStateError(??)\nasyncio.LifoQueue(??)\nasyncio.LimitOverrunError(??)\nasyncio.Lock(??)\nasyncio.PriorityQueue(??)\nasyncio.Protocol(??)\nasyncio.Queue(??)\nasyncio.QueueEmpty(??)\nasyncio.QueueFull(??)\nasyncio.ReadTransport(??)\nasyncio.SafeChildWatcher(??)\nasyncio.SelectorEventLoop(??)\nasyncio.Semaphore(??)\nasyncio.SendfileNotAvailableError(??)\nasyncio.StreamReader(??)\nasyncio.StreamReaderProtocol(??)\nasyncio.StreamWriter(??)\nasyncio.SubprocessProtocol(??)\nasyncio.SubprocessTransport(??)\nasyncio.Task(??)\nasyncio.TimeoutError(??)\nasyncio.TimerHandle(??)\nasyncio.Transport(??)\nasyncio.WriteTransport(??)\nasyncio.all_tasks(??)\nasyncio.as_completed(??)\nasyncio.base_events(??)\nasyncio.base_events.BaseEventLoop(??)\nasyncio.base_events.Server(??)\nasyncio.base_events.collections(??)\nasyncio.base_events.concurrent(??)\nasyncio.base_events.constants(??)\nasyncio.base_events.coroutines(??)\nasyncio.base_events.events(??)\nasyncio.base_events.futures(??)\nasyncio.base_events.heapq(??)\nasyncio.base_events.itertools(??)\nasyncio.base_events.logger(??)\nasyncio.base_events.logging(??)\nasyncio.base_events.os(??)\nasyncio.base_events.protocols(??)\nasyncio.base_events.socket(??)\nasyncio.base_events.ssl(??)\nasyncio.base_events.sslproto(??)\nasyncio.base_events.subprocess(??)\nasyncio.base_events.sys(??)\nasyncio.base_events.tasks(??)\nasyncio.base_events.threading(??)\nasyncio.base_events.time(??)\nasyncio.base_events.traceback(??)\nasyncio.base_events.transports(??)\nasyncio.base_events.warnings(??)\nasyncio.base_events.weakref(??)\nasyncio.base_futures(??)\nasyncio.base_futures.CancelledError(??)\nasyncio.base_futures.Error(??)\nasyncio.base_futures.InvalidStateError(??)\nasyncio.base_futures.TimeoutError(??)\nasyncio.base_futures.concurrent(??)\nasyncio.base_futures.format_helpers(??)\nasyncio.base_futures.isfuture(??)\nasyncio.base_futures.reprlib(??)\nasyncio.base_subprocess(??)\nasyncio.base_subprocess.BaseSubprocessTransport(??)\nasyncio.base_subprocess.ReadSubprocessPipeProto(??)\nasyncio.base_subprocess.WriteSubprocessPipeProto(??)\nasyncio.base_subprocess.collections(??)\nasyncio.base_subprocess.logger(??)\nasyncio.base_subprocess.protocols(??)\nasyncio.base_subprocess.subprocess(??)\nasyncio.base_subprocess.transports(??)\nasyncio.base_subprocess.warnings(??)\nasyncio.base_tasks(??)\nasyncio.base_tasks.base_futures(??)\nasyncio.base_tasks.coroutines(??)\nasyncio.base_tasks.linecache(??)\nasyncio.base_tasks.traceback(??)\nasyncio.constants(??)\nasyncio.constants.ACCEPT_RETRY_DELAY\nasyncio.constants.DEBUG_STACK_DEPTH\nasyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES\nasyncio.constants.SSL_HANDSHAKE_TIMEOUT\nasyncio.constants.enum(??)\nasyncio.coroutine(??)\nasyncio.coroutines(??)\nasyncio.coroutines.CoroWrapper(??)\nasyncio.coroutines.base_futures(??)\nasyncio.coroutines.collections(??)\nasyncio.coroutines.constants(??)\nasyncio.coroutines.coroutine(??)\nasyncio.coroutines.format_helpers(??)\nasyncio.coroutines.functools(??)\nasyncio.coroutines.inspect(??)\nasyncio.coroutines.iscoroutine(??)\nasyncio.coroutines.iscoroutinefunction(??)\nasyncio.coroutines.logger(??)\nasyncio.coroutines.os(??)\nasyncio.coroutines.sys(??)\nasyncio.coroutines.traceback(??)\nasyncio.coroutines.types(??)\nasyncio.create_subprocess_exec(??)\nasyncio.create_subprocess_shell(??)\nasyncio.create_task(??)\nasyncio.current_task(??)\nasyncio.ensure_future(??)\nasyncio.events(??)\nasyncio.events.AbstractEventLoop(??)\nasyncio.events.AbstractEventLoopPolicy(??)\nasyncio.events.AbstractServer(??)\nasyncio.events.BaseDefaultEventLoopPolicy(??)\nasyncio.events.Handle(??)\nasyncio.events.SendfileNotAvailableError(??)\nasyncio.events.TimerHandle(??)\nasyncio.events.contextvars(??)\nasyncio.events.format_helpers(??)\nasyncio.events.get_child_watcher(??)\nasyncio.events.get_event_loop(??)\nasyncio.events.get_event_loop_policy(??)\nasyncio.events.get_running_loop(??)\nasyncio.events.new_event_loop(??)\nasyncio.events.os(??)\nasyncio.events.set_child_watcher(??)\nasyncio.events.set_event_loop(??)\nasyncio.events.set_event_loop_policy(??)\nasyncio.events.socket(??)\nasyncio.events.subprocess(??)\nasyncio.events.sys(??)\nasyncio.events.threading(??)\nasyncio.format_helpers(??)\nasyncio.format_helpers.constants(??)\nasyncio.format_helpers.extract_stack(??)\nasyncio.format_helpers.functools(??)\nasyncio.format_helpers.inspect(??)\nasyncio.format_helpers.reprlib(??)\nasyncio.format_helpers.traceback(??)\nasyncio.futures(??)\nasyncio.futures.CancelledError(??)\nasyncio.futures.Future(??)\nasyncio.futures.InvalidStateError(??)\nasyncio.futures.STACK_DEBUG\nasyncio.futures.TimeoutError(??)\nasyncio.futures.base_futures(??)\nasyncio.futures.concurrent(??)\nasyncio.futures.contextvars(??)\nasyncio.futures.events(??)\nasyncio.futures.format_helpers(??)\nasyncio.futures.isfuture(??)\nasyncio.futures.logging(??)\nasyncio.futures.sys(??)\nasyncio.futures.wrap_future(??)\nasyncio.gather(??)\nasyncio.get_child_watcher(??)\nasyncio.get_event_loop(??)\nasyncio.get_event_loop_policy(??)\nasyncio.get_running_loop(??)\nasyncio.iscoroutine(??)\nasyncio.iscoroutinefunction(??)\nasyncio.isfuture(??)\nasyncio.locks(??)\nasyncio.locks.BoundedSemaphore(??)\nasyncio.locks.Condition(??)\nasyncio.locks.Event(??)\nasyncio.locks.Lock(??)\nasyncio.locks.Semaphore(??)\nasyncio.locks.collections(??)\nasyncio.locks.coroutine(??)\nasyncio.locks.events(??)\nasyncio.locks.futures(??)\nasyncio.locks.warnings(??)\nasyncio.log(??)\nasyncio.log.logger(??)\nasyncio.log.logging(??)\nasyncio.new_event_loop(??)\nasyncio.open_connection(??)\nasyncio.open_unix_connection(??)\nasyncio.proactor_events.BaseProactorEventLoop(??)\nasyncio.proactor_events.base_events(??)\nasyncio.proactor_events.constants(??)\nasyncio.proactor_events.futures(??)\nasyncio.proactor_events.logger(??)\nasyncio.proactor_events.protocols(??)\nasyncio.proactor_events.socket(??)\nasyncio.proactor_events.sslproto(??)\nasyncio.proactor_events.transports(??)\nasyncio.proactor_events.warnings(??)\nasyncio.protocols(??)\nasyncio.protocols.BaseProtocol(??)\nasyncio.protocols.BufferedProtocol(??)\nasyncio.protocols.DatagramProtocol(??)\nasyncio.protocols.Protocol(??)\nasyncio.protocols.SubprocessProtocol(??)\nasyncio.queues(??)\nasyncio.queues.LifoQueue(??)\nasyncio.queues.PriorityQueue(??)\nasyncio.queues.Queue(??)\nasyncio.queues.QueueEmpty(??)\nasyncio.queues.QueueFull(??)\nasyncio.queues.collections(??)\nasyncio.queues.events(??)\nasyncio.queues.heapq(??)\nasyncio.queues.locks(??)\nasyncio.run(??)\nasyncio.run_coroutine_threadsafe(??)\nasyncio.runners(??)\nasyncio.runners.coroutines(??)\nasyncio.runners.events(??)\nasyncio.runners.run(??)\nasyncio.runners.tasks(??)\nasyncio.selector_events(??)\nasyncio.selector_events.BaseSelectorEventLoop(??)\nasyncio.selector_events.base_events(??)\nasyncio.selector_events.collections(??)\nasyncio.selector_events.constants(??)\nasyncio.selector_events.errno(??)\nasyncio.selector_events.events(??)\nasyncio.selector_events.functools(??)\nasyncio.selector_events.futures(??)\nasyncio.selector_events.logger(??)\nasyncio.selector_events.protocols(??)\nasyncio.selector_events.selectors(??)\nasyncio.selector_events.socket(??)\nasyncio.selector_events.ssl(??)\nasyncio.selector_events.sslproto(??)\nasyncio.selector_events.transports(??)\nasyncio.selector_events.warnings(??)\nasyncio.selector_events.weakref(??)\nasyncio.set_child_watcher(??)\nasyncio.set_event_loop(??)\nasyncio.set_event_loop_policy(??)\nasyncio.shield(??)\nasyncio.sleep(??)\nasyncio.sslproto(??)\nasyncio.sslproto.SSLProtocol(??)\nasyncio.sslproto.base_events(??)\nasyncio.sslproto.collections(??)\nasyncio.sslproto.constants(??)\nasyncio.sslproto.logger(??)\nasyncio.sslproto.protocols(??)\nasyncio.sslproto.ssl(??)\nasyncio.sslproto.transports(??)\nasyncio.sslproto.warnings(??)\nasyncio.start_server(??)\nasyncio.start_unix_server(??)\nasyncio.streams(??)\nasyncio.streams.FlowControlMixin(??)\nasyncio.streams.IncompleteReadError(??)\nasyncio.streams.LimitOverrunError(??)\nasyncio.streams.StreamReader(??)\nasyncio.streams.StreamReaderProtocol(??)\nasyncio.streams.StreamWriter(??)\nasyncio.streams.coroutines(??)\nasyncio.streams.events(??)\nasyncio.streams.logger(??)\nasyncio.streams.open_connection(??)\nasyncio.streams.open_unix_connection(??)\nasyncio.streams.protocols(??)\nasyncio.streams.sleep(??)\nasyncio.streams.socket(??)\nasyncio.streams.start_server(??)\nasyncio.streams.start_unix_server(??)\nasyncio.subprocess(??)\nasyncio.subprocess.DEVNULL\nasyncio.subprocess.PIPE\nasyncio.subprocess.Process(??)\nasyncio.subprocess.STDOUT\nasyncio.subprocess.SubprocessStreamProtocol(??)\nasyncio.subprocess.create_subprocess_exec(??)\nasyncio.subprocess.create_subprocess_shell(??)\nasyncio.subprocess.events(??)\nasyncio.subprocess.logger(??)\nasyncio.subprocess.protocols(??)\nasyncio.subprocess.streams(??)\nasyncio.subprocess.subprocess(??)\nasyncio.subprocess.tasks(??)\nasyncio.sys(??)\nasyncio.tasks(??)\nasyncio.tasks.ALL_COMPLETED\nasyncio.tasks.FIRST_COMPLETED\nasyncio.tasks.FIRST_EXCEPTION\nasyncio.tasks.Task(??)\nasyncio.tasks.all_tasks(??)\nasyncio.tasks.as_completed(??)\nasyncio.tasks.base_tasks(??)\nasyncio.tasks.concurrent(??)\nasyncio.tasks.contextvars(??)\nasyncio.tasks.coroutine(??)\nasyncio.tasks.coroutines(??)\nasyncio.tasks.create_task(??)\nasyncio.tasks.current_task(??)\nasyncio.tasks.ensure_future(??)\nasyncio.tasks.events(??)\nasyncio.tasks.functools(??)\nasyncio.tasks.futures(??)\nasyncio.tasks.gather(??)\nasyncio.tasks.inspect(??)\nasyncio.tasks.run_coroutine_threadsafe(??)\nasyncio.tasks.shield(??)\nasyncio.tasks.sleep(??)\nasyncio.tasks.types(??)\nasyncio.tasks.wait(??)\nasyncio.tasks.wait_for(??)\nasyncio.tasks.warnings(??)\nasyncio.tasks.weakref(??)\nasyncio.transports(??)\nasyncio.transports.BaseTransport(??)\nasyncio.transports.DatagramTransport(??)\nasyncio.transports.ReadTransport(??)\nasyncio.transports.SubprocessTransport(??)\nasyncio.transports.Transport(??)\nasyncio.transports.WriteTransport(??)\nasyncio.unix_events(??)\nasyncio.unix_events.AbstractChildWatcher(??)\nasyncio.unix_events.BaseChildWatcher(??)\nasyncio.unix_events.DefaultEventLoopPolicy(??)\nasyncio.unix_events.FastChildWatcher(??)\nasyncio.unix_events.SafeChildWatcher(??)\nasyncio.unix_events.SelectorEventLoop(??)\nasyncio.unix_events.base_events(??)\nasyncio.unix_events.base_subprocess(??)\nasyncio.unix_events.constants(??)\nasyncio.unix_events.coroutines(??)\nasyncio.unix_events.errno(??)\nasyncio.unix_events.events(??)\nasyncio.unix_events.futures(??)\nasyncio.unix_events.io(??)\nasyncio.unix_events.logger(??)\nasyncio.unix_events.os(??)\nasyncio.unix_events.selector_events(??)\nasyncio.unix_events.selectors(??)\nasyncio.unix_events.signal(??)\nasyncio.unix_events.socket(??)\nasyncio.unix_events.stat(??)\nasyncio.unix_events.subprocess(??)\nasyncio.unix_events.sys(??)\nasyncio.unix_events.threading(??)\nasyncio.unix_events.transports(??)\nasyncio.unix_events.warnings(??)\nasyncio.wait(??)\nasyncio.wait_for(??)\nasyncio.wrap_future(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.a85decode(??)\nbase64.a85encode(??)\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.b85decode(??)\nbase64.b85encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.CO_ASYNC_GENERATOR\nbdb.CO_COROUTINE\nbdb.CO_GENERATOR\nbdb.GENERATOR_AND_COROUTINE_FLAGS\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbreakpoint(*args, **kws)\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.ModuleNotFoundError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.RecursionError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopAsyncIteration(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(??)\nbuiltins.all(??)\nbuiltins.any(??)\nbuiltins.ascii(??)\nbuiltins.bin(??)\nbuiltins.bool(x) -> bool\nbuiltins.breakpoint(*args, **kws)\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(??)\nbuiltins.chr(??)\nbuiltins.classmethod(function) -> method\nbuiltins.compile(??)\nbuiltins.complex(??)\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(??)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(??)\nbuiltins.enumerate(??)\nbuiltins.eval(??)\nbuiltins.exec(??)\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(??)\nbuiltins.format(??)\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals(??)\nbuiltins.hasattr(??)\nbuiltins.hash(??)\nbuiltins.help(??)\nbuiltins.hex(??)\nbuiltins.id(??)\nbuiltins.input(??)\nbuiltins.int([x]) -> integer\nbuiltins.isinstance(??)\nbuiltins.issubclass(??)\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(??)\nbuiltins.license(??)\nbuiltins.list(??)\nbuiltins.locals(??)\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable, *[, default=obj, key=func]) -> value\nbuiltins.memoryview(??)\nbuiltins.min(iterable, *[, default=obj, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(??)\nbuiltins.open(??)\nbuiltins.ord(??)\nbuiltins.pow(??)\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(??)\nbuiltins.quit(??)\nbuiltins.range(stop) -> range object\nbuiltins.repr(??)\nbuiltins.reversed(??)\nbuiltins.round(??)\nbuiltins.set() -> new empty set object\nbuiltins.setattr(??)\nbuiltins.slice(stop)\nbuiltins.sorted(??)\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object='') -> str\nbuiltins.sum(??)\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple(??)\nbuiltins.type(object_or_name, bases, dict)\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(??)\nbz2.BZ2Decompressor(??)\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.os(??)\nbz2.warnings(??)\ncProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthlen(??)\ncalendar.monthrange(??)\ncalendar.nextmonth(??)\ncalendar.prcal(??)\ncalendar.prevmonth(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.repeat(object [,times]) -> create an iterator which returns the object\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(??)\ncgi.BytesIO(??)\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.Mapping(??)\ncgi.Message(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.escape(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.parse_qs(??)\ncgi.parse_qsl(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgi.warn(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(??)\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(??)\ncodecs.encode(??)\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(??)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.namereplace_errors(??)\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(??)\ncodecs.register_error(??)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.unicode_internal_decode(??)\ncodecs.unicode_internal_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.AsyncGenerator(??)\ncollections.AsyncIterable(??)\ncollections.AsyncIterator(??)\ncollections.Awaitable(??)\ncollections.ByteString(??)\ncollections.Callable(??)\ncollections.ChainMap(??)\ncollections.Collection(??)\ncollections.Container(??)\ncollections.Coroutine(??)\ncollections.Counter(??)\ncollections.Generator(??)\ncollections.Hashable(??)\ncollections.ItemsView(??)\ncollections.Iterable(??)\ncollections.Iterator(??)\ncollections.KeysView(??)\ncollections.Mapping(??)\ncollections.MappingView(??)\ncollections.MutableMapping(??)\ncollections.MutableSequence(??)\ncollections.MutableSet(??)\ncollections.OrderedDict(??)\ncollections.Reversible(??)\ncollections.Sequence(??)\ncollections.Set(??)\ncollections.Sized(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.ValuesView(??)\ncollections.abc(??)\ncollections.abc.AsyncGenerator(??)\ncollections.abc.AsyncIterable(??)\ncollections.abc.AsyncIterator(??)\ncollections.abc.Awaitable(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Collection(??)\ncollections.abc.Container(??)\ncollections.abc.Coroutine(??)\ncollections.abc.Generator(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Reversible(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.defaultdict(default_factory[, ...]) --> dict with default factory\ncollections.deque([iterable[, maxlen]]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(??)\ncompileall.ProcessPoolExecutor(??)\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.importlib(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.partial(func, *args, **keywords) - new function with partial application\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(??)\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.BrokenExecutor(??)\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.Full(??)\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.Queue(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.itertools(??)\nconcurrent.futures.process.mp(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.partial(func, *args, **keywords) - new function with partial application\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.traceback(??)\nconcurrent.futures.process.wait(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread.BrokenThreadPool(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.itertools(??)\nconcurrent.futures.thread.os(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.ConverterMapping(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.os(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.AbstractAsyncContextManager(??)\ncontextlib.AbstractContextManager(??)\ncontextlib.AsyncExitStack(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.abc(??)\ncontextlib.asynccontextmanager(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque([iterable[, maxlen]]) --> deque object\ncontextlib.nullcontext(??)\ncontextlib.redirect_stderr(??)\ncontextlib.redirect_stdout(??)\ncontextlib.suppress(??)\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncontextvars.Context(??)\ncontextvars.ContextVar(??)\ncontextvars.Token(??)\ncontextvars.copy_context(??)\ncopy.Error(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_BLOWFISH(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.OrderedDict(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(iterable, r) --> combinations object\nctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data\nctypes.macholib.dyld.count(start=0, step=1) --> count object\nctypes.macholib.dyld.cycle(iterable) --> cycle object\nctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(iterable, key=None) -> make an iterator that returns consecutive\nctypes.macholib.dyld.islice(iterable, stop) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object\nctypes.macholib.dyld.product(*iterables, repeat=1) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(function, sequence) --> starmap object\nctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object\nctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators.\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.re(??)\nctypes.util.shutil(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.tempfile(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.newpad(??)\ncurses.newwin(??)\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.update_lines_cols(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.wrapper(??)\ndataclasses.Field(??)\ndataclasses.FrozenInstanceError(??)\ndataclasses.InitVar(??)\ndataclasses.MISSING(??)\ndataclasses.asdict(??)\ndataclasses.astuple(??)\ndataclasses.dataclass(??)\ndataclasses.deepcopy(??)\ndataclasses.field(??)\ndataclasses.fields(??)\ndataclasses.inspect(??)\ndataclasses.is_dataclass(??)\ndataclasses.make_dataclass(??)\ndataclasses.replace(??)\ndataclasses.sys(??)\ndataclasses.types(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(??)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.diff_bytes(??)\ndifflib.get_close_matches(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndis.Bytecode(??)\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.FORMAT_VALUE\ndis.HAVE_ARGUMENT\ndis.Instruction(??)\ndis.cmp_op(??)\ndis.code_info(??)\ndis.collections(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.get_instructions(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.io(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.stack_effect(??)\ndis.sys(??)\ndis.types(??)\ndivmod(??)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.FAIL_FAST\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.BrokenBarrierError(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.TIMEOUT_MAX\ndummy_threading.Thread(??)\ndummy_threading.ThreadError(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.get_ident(??)\ndummy_threading.local(??)\ndummy_threading.main_thread(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.contentmanager.ContentManager(??)\nemail.contentmanager.binascii(??)\nemail.contentmanager.email(??)\nemail.contentmanager.get_and_fixup_unknown_message_content(??)\nemail.contentmanager.get_message_content(??)\nemail.contentmanager.get_non_text_content(??)\nemail.contentmanager.get_text_content(??)\nemail.contentmanager.maintype\nemail.contentmanager.quoprimime(??)\nemail.contentmanager.raw_data_manager(??)\nemail.contentmanager.set_bytes_content(??)\nemail.contentmanager.set_message_content(??)\nemail.contentmanager.set_text_content(??)\nemail.contentmanager.subtype\nemail.contentmanager.typ(??)\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.StringIO(??)\nemail.feedparser.compat32(??)\nemail.feedparser.deque([iterable[, maxlen]]) --> deque object\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.re(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO(??)\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.NL\nemail.generator.NLCRE(??)\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.deepcopy(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.MappingProxyType(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO(??)\nemail.message.Charset(??)\nemail.message.EmailMessage(??)\nemail.message.MIMEPart(??)\nemail.message.Message(??)\nemail.message.Policy(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.quopri(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO(??)\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.email(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.Charset(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.parser(??)\nemail.parser.BytesFeedParser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.policy.Compat32(??)\nemail.policy.EmailMessage(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.SMTPUTF8(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.linesep_splitter(??)\nemail.policy.raw_data_manager(??)\nemail.policy.re(??)\nemail.policy.strict(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nensurepip.bootstrap(??)\nensurepip.os(??)\nensurepip.pkgutil(??)\nensurepip.sys(??)\nensurepip.tempfile(??)\nensurepip.version(??)\nenum.DynamicClassAttribute(??)\nenum.Enum(??)\nenum.EnumMeta(??)\nenum.Flag(??)\nenum.IntEnum(??)\nenum.IntFlag(??)\nenum.MappingProxyType(??)\nenum.OrderedDict(??)\nenum.auto(??)\nenum.sys(??)\nenum.unique(??)\nenumerate(??)\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTRECOVERABLE\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EOWNERDEAD\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(??)\nexec(??)\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfilecmp.BUFSIZE\nfilecmp.DEFAULT_IGNORES(??)\nfilecmp.clear_cache(??)\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(function or None, sequence) --> filterfalse object\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]])\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(??)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(??)\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(??)\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nformatter.warnings(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MAXLINE\nftplib.MSG_OOB\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.RLock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.cmp_to_key(??)\nfunctools.get_cache_token(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.partialmethod(??)\nfunctools.recursive_repr(??)\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.singledispatch(??)\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect(??)\ngc.disable(??)\ngc.enable(??)\ngc.ensure_disabled(??)\ngc.freeze(??)\ngc.garbage(??)\ngc.get_count(??)\ngc.get_debug(??)\ngc.get_freeze_count(??)\ngc.get_objects(??)\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_stats(??)\ngc.get_threshold(??)\ngc.is_tracked(??)\ngc.isenabled(??)\ngc.set_debug(??)\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngc.unfreeze(??)\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.samefile(??)\ngenericpath.sameopenfile(??)\ngenericpath.samestat(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.contextlib(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.io(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.os(??)\ngettext.re(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.escape(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglobals(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.open(??)\ngzip.os(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(??)\nhash(??)\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.blake2b(??)\nhashlib.blake2s(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None) -> key\nhashlib.scrypt(??)\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha3_224(??)\nhashlib.sha3_256([string]) -> SHA3 object\nhashlib.sha3_384([string]) -> SHA3 object\nhashlib.sha3_512([string]) -> SHA3 object\nhashlib.sha512(??)\nhashlib.shake_128([string]) -> SHAKE object\nhashlib.shake_256([string]) -> SHAKE object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nheapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item\nheapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item.\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nhelp(??)\nhex(??)\nhmac.HMAC(??)\nhmac.compare_digest(??)\nhmac.digest(??)\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.unescape(??)\nhtml.parser.warnings(??)\nhtml.unescape(??)\nhttp.HTTPStatus(??)\nhttp.IntEnum(??)\nhttp.client.ACCEPTED(??)\nhttp.client.ALREADY_REPORTED(??)\nhttp.client.BAD_GATEWAY(??)\nhttp.client.BAD_REQUEST(??)\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT(??)\nhttp.client.CONTINUE(??)\nhttp.client.CREATED(??)\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED(??)\nhttp.client.FAILED_DEPENDENCY(??)\nhttp.client.FORBIDDEN(??)\nhttp.client.FOUND(??)\nhttp.client.GATEWAY_TIMEOUT(??)\nhttp.client.GONE(??)\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED(??)\nhttp.client.IM_USED(??)\nhttp.client.INSUFFICIENT_STORAGE(??)\nhttp.client.INTERNAL_SERVER_ERROR(??)\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED(??)\nhttp.client.LOCKED(??)\nhttp.client.LOOP_DETECTED(??)\nhttp.client.LineTooLong(??)\nhttp.client.MAXAMOUNT\nhttp.client.METHOD_NOT_ALLOWED(??)\nhttp.client.MISDIRECTED_REQUEST(??)\nhttp.client.MOVED_PERMANENTLY(??)\nhttp.client.MULTIPLE_CHOICES(??)\nhttp.client.MULTI_STATUS(??)\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED(??)\nhttp.client.NON_AUTHORITATIVE_INFORMATION(??)\nhttp.client.NOT_ACCEPTABLE(??)\nhttp.client.NOT_EXTENDED(??)\nhttp.client.NOT_FOUND(??)\nhttp.client.NOT_IMPLEMENTED(??)\nhttp.client.NOT_MODIFIED(??)\nhttp.client.NO_CONTENT(??)\nhttp.client.NotConnected(??)\nhttp.client.OK(??)\nhttp.client.PARTIAL_CONTENT(??)\nhttp.client.PAYMENT_REQUIRED(??)\nhttp.client.PERMANENT_REDIRECT(??)\nhttp.client.PRECONDITION_FAILED(??)\nhttp.client.PRECONDITION_REQUIRED(??)\nhttp.client.PROCESSING(??)\nhttp.client.PROXY_AUTHENTICATION_REQUIRED(??)\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE(??)\nhttp.client.REQUEST_ENTITY_TOO_LARGE(??)\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??)\nhttp.client.REQUEST_TIMEOUT(??)\nhttp.client.REQUEST_URI_TOO_LONG(??)\nhttp.client.RESET_CONTENT(??)\nhttp.client.RemoteDisconnected(??)\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER(??)\nhttp.client.SERVICE_UNAVAILABLE(??)\nhttp.client.SWITCHING_PROTOCOLS(??)\nhttp.client.TEMPORARY_REDIRECT(??)\nhttp.client.TOO_MANY_REQUESTS(??)\nhttp.client.UNAUTHORIZED(??)\nhttp.client.UNPROCESSABLE_ENTITY(??)\nhttp.client.UNSUPPORTED_MEDIA_TYPE(??)\nhttp.client.UPGRADE_REQUIRED(??)\nhttp.client.USE_PROXY(??)\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.VARIANT_ALSO_NEGOTIATES(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.http(??)\nhttp.client.io(??)\nhttp.client.parse_headers(??)\nhttp.client.re(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.HTTPStatus(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.copy(??)\nhttp.server.datetime(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.partial(func, *args, **keywords) - new function with partial application\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(??)\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.DEFAULT_BUFFER_SIZE\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.PathLike(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exr(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_webp(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.SourcelessFileLoader(??)\nimp.acquire_lock(??)\nimp.cache_from_source(??)\nimp.create_dynamic(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.importlib(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held(??)\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock(??)\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.types(??)\nimp.util(??)\nimp.warnings(??)\nimportlib.abc(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.ResourceReader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.abc.warnings(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.ModuleSpec(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.reload(??)\nimportlib.resources.BinaryIO(??)\nimportlib.resources.BytesIO(??)\nimportlib.resources.Iterator(??)\nimportlib.resources.ModuleType(??)\nimportlib.resources.Optional(??)\nimportlib.resources.Package(??)\nimportlib.resources.Path(??)\nimportlib.resources.Resource(??)\nimportlib.resources.ResourceLoader(??)\nimportlib.resources.Set(??)\nimportlib.resources.TextIO(??)\nimportlib.resources.TextIOWrapper(??)\nimportlib.resources.Union(??)\nimportlib.resources.ZipImportError(??)\nimportlib.resources.builtins_open(??)\nimportlib.resources.cast(??)\nimportlib.resources.contents(??)\nimportlib.resources.contextmanager(??)\nimportlib.resources.import_module(??)\nimportlib.resources.is_resource(??)\nimportlib.resources.open_binary(??)\nimportlib.resources.open_text(??)\nimportlib.resources.os(??)\nimportlib.resources.path(??)\nimportlib.resources.read_binary(??)\nimportlib.resources.read_text(??)\nimportlib.resources.resources_abc(??)\nimportlib.resources.suppress(??)\nimportlib.resources.tempfile(??)\nimportlib.sys(??)\nimportlib.types(??)\nimportlib.util(??)\nimportlib.util.LazyLoader(??)\nimportlib.util.MAGIC_NUMBER\nimportlib.util.abc(??)\nimportlib.util.cache_from_source(??)\nimportlib.util.contextmanager(??)\nimportlib.util.decode_source(??)\nimportlib.util.find_spec(??)\nimportlib.util.functools(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.module_from_spec(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\nimportlib.util.source_from_cache(??)\nimportlib.util.source_hash(??)\nimportlib.util.spec_from_file_location(??)\nimportlib.util.spec_from_loader(??)\nimportlib.util.sys(??)\nimportlib.util.types(??)\nimportlib.util.warnings(??)\nimportlib.warnings(??)\ninput(??)\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CORO_CLOSED\ninspect.CORO_CREATED\ninspect.CORO_RUNNING\ninspect.CORO_SUSPENDED\ninspect.CO_ASYNC_GENERATOR\ninspect.CO_COROUTINE\ninspect.CO_GENERATOR\ninspect.CO_ITERABLE_COROUTINE\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FrameInfo(frame, filename, lineno, function, code_context, index)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.abc(??)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.collections(??)\ninspect.currentframe(??)\ninspect.dis(??)\ninspect.enum(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getcoroutinelocals(??)\ninspect.getcoroutinestate(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isasyncgen(??)\ninspect.isasyncgenfunction(??)\ninspect.isawaitable(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.iscoroutine(??)\ninspect.iscoroutinefunction(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.token(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.unwrap(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint([x]) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO(??)\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(??)\nissubclass(??)\niter(iterable) -> iterator\nitertools.accumulate(iterable[, func]) --> accumulate object\nitertools.chain(*iterables) --> chain object\nitertools.combinations(iterable, r) --> combinations object\nitertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object\nitertools.compress(data, selectors) --> iterator over selected data\nitertools.count(start=0, step=1) --> count object\nitertools.cycle(iterable) --> cycle object\nitertools.dropwhile(predicate, iterable) --> dropwhile object\nitertools.filterfalse(function or None, sequence) --> filterfalse object\nitertools.groupby(iterable, key=None) -> make an iterator that returns consecutive\nitertools.islice(iterable, stop) --> islice object\nitertools.permutations(iterable[, r]) --> permutations object\nitertools.product(*iterables, repeat=1) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(function, sequence) --> starmap object\nitertools.takewhile(predicate, iterable) --> takewhile object\nitertools.tee(iterable, n=2) --> tuple of n independent iterators.\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecodeError(??)\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.codecs(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS(??)\njson.decoder.JSONArray(??)\njson.decoder.JSONDecodeError(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.detect_encoding(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(string) -> string\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring(??)\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.argparse(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nkeyword.main(??)\nlen(??)\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.functools(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.lazycache(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist(??)\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.currency(??)\nlocale.delocalize(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.k\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.v\nlocale.windows_locale(??)\nlocals(??)\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.collections(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingMixin(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.errno(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(??)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(??)\nlzma.open(??)\nlzma.os(??)\nmacpath.FILE_ATTRIBUTE_ARCHIVE\nmacpath.FILE_ATTRIBUTE_COMPRESSED\nmacpath.FILE_ATTRIBUTE_DEVICE\nmacpath.FILE_ATTRIBUTE_DIRECTORY\nmacpath.FILE_ATTRIBUTE_ENCRYPTED\nmacpath.FILE_ATTRIBUTE_HIDDEN\nmacpath.FILE_ATTRIBUTE_INTEGRITY_STREAM\nmacpath.FILE_ATTRIBUTE_NORMAL\nmacpath.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nmacpath.FILE_ATTRIBUTE_NO_SCRUB_DATA\nmacpath.FILE_ATTRIBUTE_OFFLINE\nmacpath.FILE_ATTRIBUTE_READONLY\nmacpath.FILE_ATTRIBUTE_REPARSE_POINT\nmacpath.FILE_ATTRIBUTE_SPARSE_FILE\nmacpath.FILE_ATTRIBUTE_SYSTEM\nmacpath.FILE_ATTRIBUTE_TEMPORARY\nmacpath.FILE_ATTRIBUTE_VIRTUAL\nmacpath.SF_APPEND\nmacpath.SF_ARCHIVED\nmacpath.SF_IMMUTABLE\nmacpath.SF_NOUNLINK\nmacpath.SF_SNAPSHOT\nmacpath.ST_ATIME\nmacpath.ST_CTIME\nmacpath.ST_DEV\nmacpath.ST_GID\nmacpath.ST_INO\nmacpath.ST_MODE\nmacpath.ST_MTIME\nmacpath.ST_NLINK\nmacpath.ST_SIZE\nmacpath.ST_UID\nmacpath.S_ENFMT\nmacpath.S_IEXEC\nmacpath.S_IFBLK\nmacpath.S_IFCHR\nmacpath.S_IFDIR\nmacpath.S_IFDOOR\nmacpath.S_IFIFO\nmacpath.S_IFLNK\nmacpath.S_IFMT(??)\nmacpath.S_IFPORT\nmacpath.S_IFREG\nmacpath.S_IFSOCK\nmacpath.S_IFWHT\nmacpath.S_IMODE(??)\nmacpath.S_IREAD\nmacpath.S_IRGRP\nmacpath.S_IROTH\nmacpath.S_IRUSR\nmacpath.S_IRWXG\nmacpath.S_IRWXO\nmacpath.S_IRWXU\nmacpath.S_ISBLK(mode) -> bool\nmacpath.S_ISCHR(mode) -> bool\nmacpath.S_ISDIR(mode) -> bool\nmacpath.S_ISDOOR(mode) -> bool\nmacpath.S_ISFIFO(mode) -> bool\nmacpath.S_ISGID\nmacpath.S_ISLNK(mode) -> bool\nmacpath.S_ISPORT(mode) -> bool\nmacpath.S_ISREG(mode) -> bool\nmacpath.S_ISSOCK(mode) -> bool\nmacpath.S_ISUID\nmacpath.S_ISVTX\nmacpath.S_ISWHT(mode) -> bool\nmacpath.S_IWGRP\nmacpath.S_IWOTH\nmacpath.S_IWRITE\nmacpath.S_IWUSR\nmacpath.S_IXGRP\nmacpath.S_IXOTH\nmacpath.S_IXUSR\nmacpath.UF_APPEND\nmacpath.UF_COMPRESSED\nmacpath.UF_HIDDEN\nmacpath.UF_IMMUTABLE\nmacpath.UF_NODUMP\nmacpath.UF_NOUNLINK\nmacpath.UF_OPAQUE\nmacpath.abspath(??)\nmacpath.altsep(??)\nmacpath.basename(??)\nmacpath.commonprefix(??)\nmacpath.curdir\nmacpath.defpath\nmacpath.devnull\nmacpath.dirname(??)\nmacpath.exists(??)\nmacpath.expanduser(??)\nmacpath.expandvars(??)\nmacpath.extsep\nmacpath.filemode(??)\nmacpath.genericpath(??)\nmacpath.getatime(??)\nmacpath.getctime(??)\nmacpath.getmtime(??)\nmacpath.getsize(??)\nmacpath.isabs(??)\nmacpath.isdir(??)\nmacpath.isfile(??)\nmacpath.islink(??)\nmacpath.ismount(??)\nmacpath.join(??)\nmacpath.lexists(??)\nmacpath.norm_error(??)\nmacpath.normcase(??)\nmacpath.normpath(??)\nmacpath.os(??)\nmacpath.pardir\nmacpath.pathsep\nmacpath.realpath(??)\nmacpath.samefile(??)\nmacpath.sameopenfile(??)\nmacpath.samestat(??)\nmacpath.sep\nmacpath.split(??)\nmacpath.splitdrive(??)\nmacpath.splitext(??)\nmacpath.supports_unicode_filenames(??)\nmacpath.warnings(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.lineno_sort_key(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmailcap.warnings(??)\nmap(func, *iterables) --> map object\nmarshal.dump(??)\nmarshal.dumps(??)\nmarshal.load(??)\nmarshal.loads(??)\nmarshal.version\nmax(iterable, *[, default=obj, key=func]) -> value\nmemoryview(??)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable, *[, default=obj, key=func]) -> value\nmodulefinder.AddPackagePath(??)\nmodulefinder.EXTENDED_ARG\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.imp(??)\nmodulefinder.importlib(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmodulefinder.warnings(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.rebuild_connection(??)\nmultiprocessing.connection.reduce_connection(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.selectors(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.util(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.context(??)\nmultiprocessing.context.AuthenticationError(??)\nmultiprocessing.context.BaseContext(??)\nmultiprocessing.context.BufferTooShort(??)\nmultiprocessing.context.DefaultContext(??)\nmultiprocessing.context.ForkContext(??)\nmultiprocessing.context.ForkProcess(??)\nmultiprocessing.context.ForkServerContext(??)\nmultiprocessing.context.ForkServerProcess(??)\nmultiprocessing.context.Process(??)\nmultiprocessing.context.ProcessError(??)\nmultiprocessing.context.SpawnContext(??)\nmultiprocessing.context.SpawnProcess(??)\nmultiprocessing.context.TimeoutError(??)\nmultiprocessing.context.assert_spawning(??)\nmultiprocessing.context.get_spawning_popen(??)\nmultiprocessing.context.os(??)\nmultiprocessing.context.process(??)\nmultiprocessing.context.reduction(??)\nmultiprocessing.context.set_spawning_popen(??)\nmultiprocessing.context.sys(??)\nmultiprocessing.context.threading(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list(??)\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forkserver.ForkServer(??)\nmultiprocessing.forkserver.MAXFDS_TO_SEND\nmultiprocessing.forkserver.SIGNED_STRUCT(??)\nmultiprocessing.forkserver.connect_to_new_process(??)\nmultiprocessing.forkserver.connection(??)\nmultiprocessing.forkserver.ensure_running(??)\nmultiprocessing.forkserver.errno(??)\nmultiprocessing.forkserver.get_inherited_fds(??)\nmultiprocessing.forkserver.main(??)\nmultiprocessing.forkserver.os(??)\nmultiprocessing.forkserver.process(??)\nmultiprocessing.forkserver.read_signed(??)\nmultiprocessing.forkserver.reduction(??)\nmultiprocessing.forkserver.selectors(??)\nmultiprocessing.forkserver.semaphore_tracker(??)\nmultiprocessing.forkserver.set_forkserver_preload(??)\nmultiprocessing.forkserver.signal(??)\nmultiprocessing.forkserver.socket(??)\nmultiprocessing.forkserver.spawn(??)\nmultiprocessing.forkserver.struct(??)\nmultiprocessing.forkserver.sys(??)\nmultiprocessing.forkserver.threading(??)\nmultiprocessing.forkserver.util(??)\nmultiprocessing.forkserver.warnings(??)\nmultiprocessing.forkserver.write_signed(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_all_start_methods(??)\nmultiprocessing.get_context(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.get_start_method(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.rebuild_arena(??)\nmultiprocessing.heap.reduce_arena(??)\nmultiprocessing.heap.reduction(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.heap.util(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BasePoolProxy(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.ProcessError(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.get_context(??)\nmultiprocessing.managers.get_spawning_popen(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.pool(??)\nmultiprocessing.managers.process(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.reduction(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.AsyncResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.ExceptionWithTraceback(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.RemoteTraceback(??)\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.get_context(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.os(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.rebuild_exc(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.traceback(??)\nmultiprocessing.pool.util(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.popen_fork.Popen(??)\nmultiprocessing.popen_fork.os(??)\nmultiprocessing.popen_fork.signal(??)\nmultiprocessing.popen_fork.sys(??)\nmultiprocessing.popen_fork.util(??)\nmultiprocessing.popen_forkserver.Popen(??)\nmultiprocessing.popen_forkserver.forkserver(??)\nmultiprocessing.popen_forkserver.io(??)\nmultiprocessing.popen_forkserver.os(??)\nmultiprocessing.popen_forkserver.popen_fork(??)\nmultiprocessing.popen_forkserver.reduction(??)\nmultiprocessing.popen_forkserver.set_spawning_popen(??)\nmultiprocessing.popen_forkserver.spawn(??)\nmultiprocessing.popen_forkserver.util(??)\nmultiprocessing.popen_spawn_posix.Popen(??)\nmultiprocessing.popen_spawn_posix.io(??)\nmultiprocessing.popen_spawn_posix.os(??)\nmultiprocessing.popen_spawn_posix.popen_fork(??)\nmultiprocessing.popen_spawn_posix.reduction(??)\nmultiprocessing.popen_spawn_posix.set_spawning_popen(??)\nmultiprocessing.popen_spawn_posix.spawn(??)\nmultiprocessing.popen_spawn_posix.util(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.BaseProcess(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.process.threading(??)\nmultiprocessing.queues(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.connection(??)\nmultiprocessing.queues.context(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.is_exiting(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reducer(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ABCMeta(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.AbstractReducer(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.HAVE_SEND_HANDLE(??)\nmultiprocessing.reduction.array(??)\nmultiprocessing.reduction.context(??)\nmultiprocessing.reduction.copyreg(??)\nmultiprocessing.reduction.dump(??)\nmultiprocessing.reduction.functools(??)\nmultiprocessing.reduction.io(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.pickle(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.recvfds(??)\nmultiprocessing.reduction.register(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.sendfds(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.resource_sharer.DupFd(??)\nmultiprocessing.resource_sharer.os(??)\nmultiprocessing.resource_sharer.process(??)\nmultiprocessing.resource_sharer.reduction(??)\nmultiprocessing.resource_sharer.signal(??)\nmultiprocessing.resource_sharer.socket(??)\nmultiprocessing.resource_sharer.stop(??)\nmultiprocessing.resource_sharer.sys(??)\nmultiprocessing.resource_sharer.threading(??)\nmultiprocessing.resource_sharer.util(??)\nmultiprocessing.semaphore_tracker.SemaphoreTracker(??)\nmultiprocessing.semaphore_tracker.ensure_running(??)\nmultiprocessing.semaphore_tracker.getfd(??)\nmultiprocessing.semaphore_tracker.main(??)\nmultiprocessing.semaphore_tracker.os(??)\nmultiprocessing.semaphore_tracker.register(??)\nmultiprocessing.semaphore_tracker.signal(??)\nmultiprocessing.semaphore_tracker.spawn(??)\nmultiprocessing.semaphore_tracker.sys(??)\nmultiprocessing.semaphore_tracker.threading(??)\nmultiprocessing.semaphore_tracker.unregister(??)\nmultiprocessing.semaphore_tracker.util(??)\nmultiprocessing.semaphore_tracker.warnings(??)\nmultiprocessing.set_executable(??)\nmultiprocessing.set_forkserver_preload(??)\nmultiprocessing.set_start_method(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.get_context(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.reduction(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.spawn.WINEXE(??)\nmultiprocessing.spawn.WINSERVICE(??)\nmultiprocessing.spawn.freeze_support(??)\nmultiprocessing.spawn.get_command_line(??)\nmultiprocessing.spawn.get_executable(??)\nmultiprocessing.spawn.get_preparation_data(??)\nmultiprocessing.spawn.get_start_method(??)\nmultiprocessing.spawn.import_main_path(??)\nmultiprocessing.spawn.is_forking(??)\nmultiprocessing.spawn.old_main_modules(??)\nmultiprocessing.spawn.os(??)\nmultiprocessing.spawn.prepare(??)\nmultiprocessing.spawn.process(??)\nmultiprocessing.spawn.reduction(??)\nmultiprocessing.spawn.runpy(??)\nmultiprocessing.spawn.set_executable(??)\nmultiprocessing.spawn.set_start_method(??)\nmultiprocessing.spawn.spawn_main(??)\nmultiprocessing.spawn.sys(??)\nmultiprocessing.spawn.types(??)\nmultiprocessing.spawn.util(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.context(??)\nmultiprocessing.synchronize.process(??)\nmultiprocessing.synchronize.sem_unlink(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.tempfile(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.synchronize.util(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.MAXFD\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.close_all_fds_except(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.process(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.spawnv_passfds(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.sys(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnetrc.stat(??)\nnext(iterator[, default])\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(??)\nopen(??)\noperator.abs(??)\noperator.add(??)\noperator.and_(??)\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(??)\noperator.contains(??)\noperator.countOf(??)\noperator.delitem(??)\noperator.eq(??)\noperator.floordiv(??)\noperator.ge(??)\noperator.getitem(??)\noperator.gt(??)\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imatmul(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(??)\noperator.indexOf(??)\noperator.inv(??)\noperator.invert(??)\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(??)\noperator.is_not(??)\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(??)\noperator.length_hint(??)\noperator.lshift(??)\noperator.lt(??)\noperator.matmul(??)\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(??)\noperator.mul(??)\noperator.ne(??)\noperator.neg(??)\noperator.not_(??)\noperator.or_(??)\noperator.pos(??)\noperator.pow(??)\noperator.rshift(??)\noperator.setitem(??)\noperator.sub(??)\noperator.truediv(??)\noperator.truth(??)\noperator.xor(??)\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(??)\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_TRAPPED\nos.DirEntry(??)\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CLOEXEC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.POSIX_SPAWN_CLOSE\nos.POSIX_SPAWN_DUP2\nos.POSIX_SPAWN_OPEN\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.PathLike(??)\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(??)\nos.WEXITED\nos.WEXITSTATUS(??)\nos.WIFCONTINUED(??)\nos.WIFEXITED(??)\nos.WIFSIGNALED(??)\nos.WIFSTOPPED(??)\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(??)\nos.WTERMSIG(??)\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abc(??)\nos.abort(??)\nos.access(??)\nos.altsep(??)\nos.chdir(??)\nos.chflags(??)\nos.chmod(??)\nos.chown(??)\nos.chroot(??)\nos.close(??)\nos.closerange(??)\nos.confstr(??)\nos.confstr_names(??)\nos.cpu_count(??)\nos.ctermid(??)\nos.curdir\nos.defpath\nos.device_encoding(??)\nos.devnull\nos.dup(??)\nos.dup2(??)\nos.environ(??)\nos.environb(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(??)\nos.execve(??)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(??)\nos.fchmod(??)\nos.fchown(??)\nos.fdopen(??)\nos.fork(??)\nos.forkpty(??)\nos.fpathconf(??)\nos.fsdecode(??)\nos.fsencode(??)\nos.fspath(??)\nos.fstat(??)\nos.fstatvfs(??)\nos.fsync(??)\nos.ftruncate(??)\nos.get_blocking(fd) -> bool\nos.get_exec_path(??)\nos.get_inheritable(??)\nos.get_terminal_size(??)\nos.getcwd(??)\nos.getcwdb(??)\nos.getegid(??)\nos.getenv(??)\nos.getenvb(??)\nos.geteuid(??)\nos.getgid(??)\nos.getgrouplist(user, group) -> list of groups to which a user belongs\nos.getgroups(??)\nos.getloadavg(??)\nos.getlogin(??)\nos.getpgid(??)\nos.getpgrp(??)\nos.getpid(??)\nos.getppid(??)\nos.getpriority(??)\nos.getsid(??)\nos.getuid(??)\nos.initgroups(username, gid) -> None\nos.isatty(??)\nos.kill(??)\nos.killpg(??)\nos.lchflags(??)\nos.lchmod(??)\nos.lchown(??)\nos.linesep\nos.link(??)\nos.listdir(??)\nos.lockf(??)\nos.lseek(??)\nos.lstat(??)\nos.major(??)\nos.makedev(??)\nos.makedirs(name [, mode=0o777][, exist_ok=False])\nos.minor(??)\nos.mkdir(??)\nos.mkfifo(??)\nos.mknod(??)\nos.name\nos.nice(??)\nos.open(??)\nos.openpty(??)\nos.pardir\nos.path(??)\nos.pathconf(??)\nos.pathconf_names(??)\nos.pathsep\nos.pipe(??)\nos.popen(??)\nos.posix_spawn(??)\nos.pread(??)\nos.putenv(??)\nos.pwrite(??)\nos.read(??)\nos.readlink(path, *, dir_fd=None) -> path\nos.readv(??)\nos.register_at_fork(??)\nos.remove(??)\nos.removedirs(name)\nos.rename(??)\nos.renames(old, new)\nos.replace(??)\nos.rmdir(??)\nos.scandir(??)\nos.sched_get_priority_max(??)\nos.sched_get_priority_min(??)\nos.sched_yield(??)\nos.sendfile(out, in, offset, count) -> byteswritten\nos.sep\nos.set_blocking(fd, blocking)\nos.set_inheritable(??)\nos.setegid(??)\nos.seteuid(??)\nos.setgid(??)\nos.setgroups(??)\nos.setpgid(??)\nos.setpgrp(??)\nos.setpriority(??)\nos.setregid(??)\nos.setreuid(??)\nos.setsid(??)\nos.setuid(??)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(??)\nos.stat_result(??)\nos.statvfs(??)\nos.statvfs_result(??)\nos.strerror(??)\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(??)\nos.sync(??)\nos.sys(??)\nos.sysconf(??)\nos.sysconf_names(??)\nos.system(??)\nos.tcgetpgrp(??)\nos.tcsetpgrp(??)\nos.terminal_size(??)\nos.times(??)\nos.times_result(??)\nos.truncate(??)\nos.ttyname(??)\nos.umask(??)\nos.uname(??)\nos.uname_result(??)\nos.unlink(??)\nos.unsetenv(??)\nos.urandom(??)\nos.utime(??)\nos.wait(??)\nos.wait3(??)\nos.wait4(??)\nos.waitpid(??)\nos.walk(??)\nos.write(??)\nos.writev(??)\npathlib.EINVAL\npathlib.ENOENT\npathlib.ENOTDIR\npathlib.Path(??)\npathlib.PosixPath(??)\npathlib.PurePath(??)\npathlib.PurePosixPath(??)\npathlib.PureWindowsPath(??)\npathlib.S_ISBLK(mode) -> bool\npathlib.S_ISCHR(mode) -> bool\npathlib.S_ISDIR(mode) -> bool\npathlib.S_ISFIFO(mode) -> bool\npathlib.S_ISLNK(mode) -> bool\npathlib.S_ISREG(mode) -> bool\npathlib.S_ISSOCK(mode) -> bool\npathlib.Sequence(??)\npathlib.WindowsPath(??)\npathlib.attrgetter(attr, ...) --> attrgetter object\npathlib.fnmatch(??)\npathlib.functools(??)\npathlib.io(??)\npathlib.nt(??)\npathlib.ntpath(??)\npathlib.os(??)\npathlib.posixpath(??)\npathlib.re(??)\npathlib.supports_symlinks(??)\npathlib.sys(??)\npathlib.urlquote_from_bytes(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.ADDITEMS\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINBYTES8\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BINUNICODE8\npickle.BUILD\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_SET\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FRAME\npickle.FROZENSET\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.MEMOIZE\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWOBJ_EX\npickle.NEWTRUE\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.SHORT_BINUNICODE\npickle.STACK_GLOBAL\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.islice(iterable, stop) --> islice object\npickle.load(??)\npickle.loads(??)\npickle.maxsize\npickle.pack(format, v1, v2, ...) -> bytes\npickle.partial(func, *args, **keywords) - new function with partial application\npickle.re(??)\npickle.sys(??)\npickle.unpack(??)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.TAKEN_FROM_ARGUMENT4U\npickletools.TAKEN_FROM_ARGUMENT8U\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytes1(??)\npickletools.bytes4(??)\npickletools.bytes8(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.io(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybytes(??)\npickletools.pybytes_or_str(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyfrozenset(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pyset(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_bytes1(??)\npickletools.read_bytes4(??)\npickletools.read_bytes8(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_uint4(??)\npickletools.read_uint8(??)\npickletools.read_unicodestring1(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestring8(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.sys(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.uint4(??)\npickletools.uint8(??)\npickletools.unicodestring1(??)\npickletools.unicodestring4(??)\npickletools.unicodestring8(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleInfo(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.namedtuple(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warnings(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(??)\nplatform.DEV_NULL\nplatform.architecture(??)\nplatform.collections(??)\nplatform.dist(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.linux_distribution(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.popen(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.subprocess(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(system, node, release, version, machine, processor)\nplatform.version(??)\nplatform.warnings(??)\nplatform.win32_ver(??)\nplistlib.BytesIO(??)\nplistlib.Data(??)\nplistlib.FMT_BINARY(??)\nplistlib.FMT_XML(??)\nplistlib.InvalidFileException(??)\nplistlib.PLISTHEADER\nplistlib.ParserCreate(??)\nplistlib.PlistFormat(??)\nplistlib.binascii(??)\nplistlib.codecs(??)\nplistlib.contextlib(??)\nplistlib.datetime(??)\nplistlib.dump(??)\nplistlib.dumps(??)\nplistlib.enum(??)\nplistlib.itertools(??)\nplistlib.load(??)\nplistlib.loads(??)\nplistlib.os(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.struct(??)\nplistlib.warn(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.HAVE_SSL(??)\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.errno(??)\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_TRAPPED\nposix.DirEntry(??)\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CLOEXEC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.POSIX_SPAWN_CLOSE\nposix.POSIX_SPAWN_DUP2\nposix.POSIX_SPAWN_OPEN\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(??)\nposix.WEXITED\nposix.WEXITSTATUS(??)\nposix.WIFCONTINUED(??)\nposix.WIFEXITED(??)\nposix.WIFSIGNALED(??)\nposix.WIFSTOPPED(??)\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(??)\nposix.WTERMSIG(??)\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort(??)\nposix.access(??)\nposix.chdir(??)\nposix.chflags(??)\nposix.chmod(??)\nposix.chown(??)\nposix.chroot(??)\nposix.close(??)\nposix.closerange(??)\nposix.confstr(??)\nposix.confstr_names(??)\nposix.cpu_count(??)\nposix.ctermid(??)\nposix.device_encoding(??)\nposix.dup(??)\nposix.dup2(??)\nposix.environ(??)\nposix.error(??)\nposix.execv(??)\nposix.execve(??)\nposix.fchdir(??)\nposix.fchmod(??)\nposix.fchown(??)\nposix.fork(??)\nposix.forkpty(??)\nposix.fpathconf(??)\nposix.fspath(??)\nposix.fstat(??)\nposix.fstatvfs(??)\nposix.fsync(??)\nposix.ftruncate(??)\nposix.get_blocking(fd) -> bool\nposix.get_inheritable(??)\nposix.get_terminal_size(??)\nposix.getcwd(??)\nposix.getcwdb(??)\nposix.getegid(??)\nposix.geteuid(??)\nposix.getgid(??)\nposix.getgrouplist(user, group) -> list of groups to which a user belongs\nposix.getgroups(??)\nposix.getloadavg(??)\nposix.getlogin(??)\nposix.getpgid(??)\nposix.getpgrp(??)\nposix.getpid(??)\nposix.getppid(??)\nposix.getpriority(??)\nposix.getsid(??)\nposix.getuid(??)\nposix.initgroups(username, gid) -> None\nposix.isatty(??)\nposix.kill(??)\nposix.killpg(??)\nposix.lchflags(??)\nposix.lchmod(??)\nposix.lchown(??)\nposix.link(??)\nposix.listdir(??)\nposix.lockf(??)\nposix.lseek(??)\nposix.lstat(??)\nposix.major(??)\nposix.makedev(??)\nposix.minor(??)\nposix.mkdir(??)\nposix.mkfifo(??)\nposix.mknod(??)\nposix.nice(??)\nposix.open(??)\nposix.openpty(??)\nposix.pathconf(??)\nposix.pathconf_names(??)\nposix.pipe(??)\nposix.posix_spawn(??)\nposix.pread(??)\nposix.putenv(??)\nposix.pwrite(??)\nposix.read(??)\nposix.readlink(path, *, dir_fd=None) -> path\nposix.readv(??)\nposix.register_at_fork(??)\nposix.remove(??)\nposix.rename(??)\nposix.replace(??)\nposix.rmdir(??)\nposix.scandir(??)\nposix.sched_get_priority_max(??)\nposix.sched_get_priority_min(??)\nposix.sched_yield(??)\nposix.sendfile(out, in, offset, count) -> byteswritten\nposix.set_blocking(fd, blocking)\nposix.set_inheritable(??)\nposix.setegid(??)\nposix.seteuid(??)\nposix.setgid(??)\nposix.setgroups(??)\nposix.setpgid(??)\nposix.setpgrp(??)\nposix.setpriority(??)\nposix.setregid(??)\nposix.setreuid(??)\nposix.setsid(??)\nposix.setuid(??)\nposix.stat(??)\nposix.stat_result(??)\nposix.statvfs(??)\nposix.statvfs_result(??)\nposix.strerror(??)\nposix.symlink(??)\nposix.sync(??)\nposix.sysconf(??)\nposix.sysconf_names(??)\nposix.system(??)\nposix.tcgetpgrp(??)\nposix.tcsetpgrp(??)\nposix.terminal_size(??)\nposix.times(??)\nposix.times_result(??)\nposix.truncate(??)\nposix.ttyname(??)\nposix.umask(??)\nposix.uname(??)\nposix.uname_result(??)\nposix.unlink(??)\nposix.unsetenv(??)\nposix.urandom(??)\nposix.utime(??)\nposix.wait(??)\nposix.wait3(??)\nposix.wait4(??)\nposix.waitpid(??)\nposix.write(??)\nposix.writev(??)\npow(??)\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pprint(??)\npprint.re(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(??)\npstats.Enum(??)\npstats.SortKey(??)\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall(??)\npwd.getpwnam(??)\npwd.getpwuid(??)\npwd.struct_passwd(??)\npy_compile.PyCompileError(??)\npy_compile.PycInvalidationMode(??)\npy_compile.compile(??)\npy_compile.enum(??)\npy_compile.importlib(??)\npy_compile.main(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque([iterable[, maxlen]]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.sort_attributes(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.urllib(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.SimpleQueue(??)\nqueue.deque([iterable[, maxlen]]) --> deque object\nqueue.heappop(??)\nqueue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant.\nqueue.threading(??)\nqueue.time(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(??)\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.choices(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates an int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange(stop) -> range object\nre.A(??)\nre.ASCII(??)\nre.DEBUG(??)\nre.DOTALL(??)\nre.I(??)\nre.IGNORECASE(??)\nre.L(??)\nre.LOCALE(??)\nre.M(??)\nre.MULTILINE(??)\nre.Match(??)\nre.OrderedDict(??)\nre.Pattern(??)\nre.RegexFlag(??)\nre.S(??)\nre.Scanner(??)\nre.T(??)\nre.TEMPLATE(??)\nre.U(??)\nre.UNICODE(??)\nre.VERBOSE(??)\nre.X(??)\nre.compile(??)\nre.copyreg(??)\nre.enum(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.fullmatch(??)\nre.functools(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.template(??)\nrepr(??)\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, stop) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nreversed(??)\nrlcompleter.Completer(??)\nrlcompleter.atexit(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(??)\nrunpy.get_importer(??)\nrunpy.importlib(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nrunpy.types(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nsecrets.DEFAULT_ENTROPY\nsecrets.SystemRandom(??)\nsecrets.base64(??)\nsecrets.binascii(??)\nsecrets.choice(??)\nsecrets.compare_digest(??)\nsecrets.os(??)\nsecrets.randbelow(??)\nsecrets.randbits(??)\nsecrets.token_bytes(??)\nsecrets.token_hex(??)\nsecrets.token_urlsafe(??)\nselectors.ABCMeta(??)\nselectors.BaseSelector(??)\nselectors.DefaultSelector(??)\nselectors.EVENT_READ\nselectors.EVENT_WRITE\nselectors.KqueueSelector(??)\nselectors.Mapping(??)\nselectors.PollSelector(??)\nselectors.SelectSelector(??)\nselectors.SelectorKey(fileobj, fd, events, data)\nselectors.abstractmethod(??)\nselectors.math(??)\nselectors.namedtuple(??)\nselectors.select(??)\nselectors.sys(??)\nset() -> new empty set object\nsetattr(??)\nshelve.BsdDbShelf(??)\nshelve.BytesIO(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(??)\nshelve.Shelf(??)\nshelve.Unpickler(??)\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque([iterable[, maxlen]]) --> deque object\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SameFileError(??)\nshutil.SpecialFileError(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(??)\nshutil.getpwnam(??)\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.os(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.Handlers(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT(??)\nsignal.SIGALRM(??)\nsignal.SIGBUS(??)\nsignal.SIGCHLD(??)\nsignal.SIGCONT(??)\nsignal.SIGEMT(??)\nsignal.SIGFPE(??)\nsignal.SIGHUP(??)\nsignal.SIGILL(??)\nsignal.SIGINFO(??)\nsignal.SIGINT(??)\nsignal.SIGIO(??)\nsignal.SIGIOT(??)\nsignal.SIGKILL(??)\nsignal.SIGPIPE(??)\nsignal.SIGPROF(??)\nsignal.SIGQUIT(??)\nsignal.SIGSEGV(??)\nsignal.SIGSTOP(??)\nsignal.SIGSYS(??)\nsignal.SIGTERM(??)\nsignal.SIGTRAP(??)\nsignal.SIGTSTP(??)\nsignal.SIGTTIN(??)\nsignal.SIGTTOU(??)\nsignal.SIGURG(??)\nsignal.SIGUSR1(??)\nsignal.SIGUSR2(??)\nsignal.SIGVTALRM(??)\nsignal.SIGWINCH(??)\nsignal.SIGXCPU(??)\nsignal.SIGXFSZ(??)\nsignal.SIG_BLOCK(??)\nsignal.SIG_DFL(??)\nsignal.SIG_IGN(??)\nsignal.SIG_SETMASK(??)\nsignal.SIG_UNBLOCK(??)\nsignal.Sigmasks(??)\nsignal.Signals(??)\nsignal.alarm(??)\nsignal.default_int_handler(...)\nsignal.getitimer(??)\nsignal.getsignal(??)\nsignal.pause(??)\nsignal.pthread_kill(??)\nsignal.pthread_sigmask(??)\nsignal.set_wakeup_fd(fd, *, warn_on_full_buffer=True) -> fd\nsignal.setitimer(??)\nsignal.siginterrupt(??)\nsignal.signal(??)\nsignal.sigpending(??)\nsignal.sigwait(??)\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.enablerlcompleter(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice(stop)\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPNotSupportedError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.datetime(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.sys(??)\nsndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.namedtuple(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK(??)\nsocket.AF_DECnet\nsocket.AF_INET(??)\nsocket.AF_INET6(??)\nsocket.AF_IPX(??)\nsocket.AF_LINK(??)\nsocket.AF_ROUTE(??)\nsocket.AF_SNA(??)\nsocket.AF_SYSTEM(??)\nsocket.AF_UNIX(??)\nsocket.AF_UNSPEC(??)\nsocket.AI_ADDRCONFIG(??)\nsocket.AI_ALL(??)\nsocket.AI_CANONNAME(??)\nsocket.AI_DEFAULT(??)\nsocket.AI_MASK(??)\nsocket.AI_NUMERICHOST(??)\nsocket.AI_NUMERICSERV(??)\nsocket.AI_PASSIVE(??)\nsocket.AI_V4MAPPED(??)\nsocket.AI_V4MAPPED_CFG(??)\nsocket.AddressFamily(??)\nsocket.AddressInfo(??)\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_SCTP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.IntEnum(??)\nsocket.IntFlag(??)\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC(??)\nsocket.MSG_DONTROUTE(??)\nsocket.MSG_DONTWAIT(??)\nsocket.MSG_EOF(??)\nsocket.MSG_EOR(??)\nsocket.MSG_OOB(??)\nsocket.MSG_PEEK(??)\nsocket.MSG_TRUNC(??)\nsocket.MSG_WAITALL(??)\nsocket.MsgFlag(??)\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM(??)\nsocket.SOCK_RAW(??)\nsocket.SOCK_RDM(??)\nsocket.SOCK_SEQPACKET(??)\nsocket.SOCK_STREAM(??)\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketKind(??)\nsocket.SocketType(??)\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPINTVL\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.close(integer) -> None\nsocket.create_connection(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(??)\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.selectors(??)\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.BufferedIOBase(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.os(??)\nsocketserver.selectors(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsocketserver.time(??)\nsorted(??)\nsqlite3.Binary(??)\nsqlite3.Cache(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_CREATE_VTABLE\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_DROP_VTABLE\nsqlite3.SQLITE_FUNCTION\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_RECURSIVE\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SAVEPOINT\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Statement(??)\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.collections(??)\nsqlite3.complete_statement(sql)\nsqlite3.connect(??)\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Cache(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_VTABLE\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_VTABLE\nsqlite3.dbapi2.SQLITE_FUNCTION\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_RECURSIVE\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SAVEPOINT\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Statement(??)\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.collections(??)\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(??)\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET(??)\nssl.ALERT_DESCRIPTION_ACCESS_DENIED(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??)\nssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??)\nssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??)\nssl.ALERT_DESCRIPTION_DECODE_ERROR(??)\nssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??)\nssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??)\nssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??)\nssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??)\nssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??)\nssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??)\nssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??)\nssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??)\nssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??)\nssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_CA(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??)\nssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??)\nssl.ALERT_DESCRIPTION_USER_CANCELLED(??)\nssl.AlertDescription(??)\nssl.CERT_NONE(??)\nssl.CERT_OPTIONAL(??)\nssl.CERT_REQUIRED(??)\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)\nssl.HAS_ALPN(??)\nssl.HAS_ECDH(??)\nssl.HAS_NEVER_CHECK_COMMON_NAME(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.HAS_TLSv1_3(??)\nssl.MemoryBIO(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL(??)\nssl.OP_CIPHER_SERVER_PREFERENCE(??)\nssl.OP_NO_COMPRESSION(??)\nssl.OP_NO_SSLv2(??)\nssl.OP_NO_SSLv3(??)\nssl.OP_NO_TICKET(??)\nssl.OP_NO_TLSv1(??)\nssl.OP_NO_TLSv1_1(??)\nssl.OP_NO_TLSv1_2(??)\nssl.OP_NO_TLSv1_3(??)\nssl.OP_SINGLE_DH_USE(??)\nssl.OP_SINGLE_ECDH_USE(??)\nssl.Options(??)\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv23(??)\nssl.PROTOCOL_TLS(??)\nssl.PROTOCOL_TLS_CLIENT(??)\nssl.PROTOCOL_TLS_SERVER(??)\nssl.PROTOCOL_TLSv1(??)\nssl.PROTOCOL_TLSv1_1(??)\nssl.PROTOCOL_TLSv1_2(??)\nssl.Purpose(??)\nssl.RAND_add(??)\nssl.RAND_bytes(??)\nssl.RAND_pseudo_bytes(??)\nssl.RAND_status(??)\nssl.SOCK_STREAM(??)\nssl.SOL_SOCKET\nssl.SO_TYPE\nssl.SSLCertVerificationError(??)\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLErrorNumber(??)\nssl.SSLObject(??)\nssl.SSLSession(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF(??)\nssl.SSL_ERROR_INVALID_ERROR_CODE(??)\nssl.SSL_ERROR_SSL(??)\nssl.SSL_ERROR_SYSCALL(??)\nssl.SSL_ERROR_WANT_CONNECT(??)\nssl.SSL_ERROR_WANT_READ(??)\nssl.SSL_ERROR_WANT_WRITE(??)\nssl.SSL_ERROR_WANT_X509_LOOKUP(??)\nssl.SSL_ERROR_ZERO_RETURN(??)\nssl.VERIFY_CRL_CHECK_CHAIN(??)\nssl.VERIFY_CRL_CHECK_LEAF(??)\nssl.VERIFY_DEFAULT(??)\nssl.VERIFY_X509_STRICT(??)\nssl.VERIFY_X509_TRUSTED_FIRST(??)\nssl.VerifyFlags(??)\nssl.VerifyMode(??)\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.create_default_context(??)\nssl.errno(??)\nssl.get_default_verify_paths(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.ipaddress(??)\nssl.match_hostname(??)\nssl.namedtuple(??)\nssl.os(??)\nssl.re(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.sys(??)\nssl.warnings(??)\nssl.wrap_socket(??)\nstat.FILE_ATTRIBUTE_ARCHIVE\nstat.FILE_ATTRIBUTE_COMPRESSED\nstat.FILE_ATTRIBUTE_DEVICE\nstat.FILE_ATTRIBUTE_DIRECTORY\nstat.FILE_ATTRIBUTE_ENCRYPTED\nstat.FILE_ATTRIBUTE_HIDDEN\nstat.FILE_ATTRIBUTE_INTEGRITY_STREAM\nstat.FILE_ATTRIBUTE_NORMAL\nstat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nstat.FILE_ATTRIBUTE_NO_SCRUB_DATA\nstat.FILE_ATTRIBUTE_OFFLINE\nstat.FILE_ATTRIBUTE_READONLY\nstat.FILE_ATTRIBUTE_REPARSE_POINT\nstat.FILE_ATTRIBUTE_SPARSE_FILE\nstat.FILE_ATTRIBUTE_SYSTEM\nstat.FILE_ATTRIBUTE_TEMPORARY\nstat.FILE_ATTRIBUTE_VIRTUAL\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFDOOR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFPORT\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IFWHT\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(mode) -> bool\nstat.S_ISCHR(mode) -> bool\nstat.S_ISDIR(mode) -> bool\nstat.S_ISDOOR(mode) -> bool\nstat.S_ISFIFO(mode) -> bool\nstat.S_ISGID\nstat.S_ISLNK(mode) -> bool\nstat.S_ISPORT(mode) -> bool\nstat.S_ISREG(mode) -> bool\nstat.S_ISSOCK(mode) -> bool\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_ISWHT(mode) -> bool\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstatistics.Decimal(??)\nstatistics.Fraction(??)\nstatistics.StatisticsError(??)\nstatistics.bisect_left(a, x[, lo[, hi]]) -> index\nstatistics.bisect_right(a, x[, lo[, hi]]) -> index\nstatistics.collections(??)\nstatistics.groupby(iterable, key=None) -> make an iterator that returns consecutive\nstatistics.harmonic_mean(??)\nstatistics.math(??)\nstatistics.mean(??)\nstatistics.median(??)\nstatistics.median_grouped(??)\nstatistics.median_high(??)\nstatistics.median_low(??)\nstatistics.mode(??)\nstatistics.numbers(??)\nstatistics.pstdev(??)\nstatistics.pvariance(??)\nstatistics.stdev(??)\nstatistics.variance(??)\nstr(object='') -> str\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(??)\nstruct.calcsize(??)\nstruct.error(??)\nstruct.iter_unpack(??)\nstruct.pack(format, v1, v2, ...) -> bytes\nstruct.pack_into(format, buffer, offset, v1, v2, ...)\nstruct.unpack(??)\nstruct.unpack_from(??)\nsubprocess.CalledProcessError(??)\nsubprocess.CompletedProcess(??)\nsubprocess.DEVNULL\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.errno(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.os(??)\nsubprocess.run(??)\nsubprocess.select(??)\nsubprocess.selectors(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.threading(??)\nsubprocess.time(??)\nsubprocess.warnings(??)\nsum(??)\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.namedtuple(??)\nsunau.open(??)\nsunau.openfp(??)\nsunau.warnings(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.annassign\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.async_funcdef\nsymbol.async_stmt\nsymbol.atom\nsymbol.atom_expr\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.sync_comp_for\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_arg\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_ANNOT\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.api_version\nsys.argv(??)\nsys.base_exec_prefix\nsys.base_prefix\nsys.breakpointhook(*args, **kws)\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(func, args) -> object\nsys.callstats() -> tuple of integers\nsys.copyright\nsys.displayhook(object) -> None\nsys.dont_write_bytecode(??)\nsys.exc_info() -> (type, value, traceback)\nsys.excepthook(exctype, value, traceback) -> None\nsys.exec_prefix\nsys.executable\nsys.exit([status])\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.get_asyncgen_hooks()\nsys.get_coroutine_origin_tracking_depth(??)\nsys.get_coroutine_wrapper()\nsys.getallocatedblocks() -> integer\nsys.getcheckinterval() -> current check interval; see setcheckinterval().\nsys.getdefaultencoding() -> string\nsys.getdlopenflags() -> int\nsys.getfilesystemencodeerrors() -> string\nsys.getfilesystemencoding() -> string\nsys.getprofile()\nsys.getrecursionlimit()\nsys.getrefcount(object) -> integer\nsys.getsizeof(object, default) -> int\nsys.getswitchinterval() -> current thread switch interval; see setswitchinterval().\nsys.gettrace()\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(string) -> string\nsys.is_finalizing()\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.set_asyncgen_hooks(*, firstiter=None, finalizer=None)\nsys.set_coroutine_origin_tracking_depth(??)\nsys.set_coroutine_wrapper(wrapper)\nsys.setcheckinterval(n)\nsys.setdlopenflags(n) -> None\nsys.setprofile(function)\nsys.setrecursionlimit(n)\nsys.setswitchinterval(n)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.filemode(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.main(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.selectors(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempdirb(??)\ntempfile.gettempprefix(??)\ntempfile.gettempprefixb(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.shorten(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.get_ident() -> integer\nthreading.local(??)\nthreading.main_thread(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.clock() -> floating point number\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.monotonic_ns() -> int\ntime.perf_counter() -> float\ntime.perf_counter_ns() -> int\ntime.process_time() -> float\ntime.process_time_ns(??)\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.time_ns() -> int\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.EventType(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog.ACTIVE\ntkinter.commondialog.ALL\ntkinter.commondialog.ANCHOR\ntkinter.commondialog.ARC\ntkinter.commondialog.BASELINE\ntkinter.commondialog.BEVEL\ntkinter.commondialog.BOTH\ntkinter.commondialog.BOTTOM\ntkinter.commondialog.BROWSE\ntkinter.commondialog.BUTT\ntkinter.commondialog.BaseWidget(??)\ntkinter.commondialog.BitmapImage(??)\ntkinter.commondialog.BooleanVar(??)\ntkinter.commondialog.Button(??)\ntkinter.commondialog.CASCADE\ntkinter.commondialog.CENTER\ntkinter.commondialog.CHAR\ntkinter.commondialog.CHECKBUTTON\ntkinter.commondialog.CHORD\ntkinter.commondialog.COMMAND\ntkinter.commondialog.CURRENT\ntkinter.commondialog.CallWrapper(??)\ntkinter.commondialog.Canvas(??)\ntkinter.commondialog.Checkbutton(??)\ntkinter.commondialog.DISABLED\ntkinter.commondialog.DOTBOX\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.DoubleVar(??)\ntkinter.commondialog.E\ntkinter.commondialog.END\ntkinter.commondialog.EW\ntkinter.commondialog.EXCEPTION\ntkinter.commondialog.EXTENDED\ntkinter.commondialog.Entry(??)\ntkinter.commondialog.Event(??)\ntkinter.commondialog.EventType(??)\ntkinter.commondialog.FALSE\ntkinter.commondialog.FIRST\ntkinter.commondialog.FLAT\ntkinter.commondialog.Frame(??)\ntkinter.commondialog.GROOVE\ntkinter.commondialog.Grid(??)\ntkinter.commondialog.HIDDEN\ntkinter.commondialog.HORIZONTAL\ntkinter.commondialog.INSERT\ntkinter.commondialog.INSIDE\ntkinter.commondialog.Image(??)\ntkinter.commondialog.IntVar(??)\ntkinter.commondialog.LAST\ntkinter.commondialog.LEFT\ntkinter.commondialog.Label(??)\ntkinter.commondialog.LabelFrame(??)\ntkinter.commondialog.Listbox(??)\ntkinter.commondialog.MITER\ntkinter.commondialog.MOVETO\ntkinter.commondialog.MULTIPLE\ntkinter.commondialog.Menu(??)\ntkinter.commondialog.Menubutton(??)\ntkinter.commondialog.Message(??)\ntkinter.commondialog.Misc(??)\ntkinter.commondialog.N\ntkinter.commondialog.NE\ntkinter.commondialog.NO\ntkinter.commondialog.NONE\ntkinter.commondialog.NORMAL\ntkinter.commondialog.NS\ntkinter.commondialog.NSEW\ntkinter.commondialog.NUMERIC\ntkinter.commondialog.NW\ntkinter.commondialog.NoDefaultRoot(??)\ntkinter.commondialog.OFF\ntkinter.commondialog.ON\ntkinter.commondialog.OUTSIDE\ntkinter.commondialog.OptionMenu(??)\ntkinter.commondialog.PAGES\ntkinter.commondialog.PIESLICE\ntkinter.commondialog.PROJECTING\ntkinter.commondialog.Pack(??)\ntkinter.commondialog.PanedWindow(??)\ntkinter.commondialog.PhotoImage(??)\ntkinter.commondialog.Place(??)\ntkinter.commondialog.RADIOBUTTON\ntkinter.commondialog.RAISED\ntkinter.commondialog.READABLE\ntkinter.commondialog.RIDGE\ntkinter.commondialog.RIGHT\ntkinter.commondialog.ROUND\ntkinter.commondialog.Radiobutton(??)\ntkinter.commondialog.S\ntkinter.commondialog.SCROLL\ntkinter.commondialog.SE\ntkinter.commondialog.SEL\ntkinter.commondialog.SEL_FIRST\ntkinter.commondialog.SEL_LAST\ntkinter.commondialog.SEPARATOR\ntkinter.commondialog.SINGLE\ntkinter.commondialog.SOLID\ntkinter.commondialog.SUNKEN\ntkinter.commondialog.SW\ntkinter.commondialog.Scale(??)\ntkinter.commondialog.Scrollbar(??)\ntkinter.commondialog.Spinbox(??)\ntkinter.commondialog.StringVar(??)\ntkinter.commondialog.TOP\ntkinter.commondialog.TRUE\ntkinter.commondialog.Tcl(??)\ntkinter.commondialog.TclError(??)\ntkinter.commondialog.TclVersion\ntkinter.commondialog.Text(??)\ntkinter.commondialog.Tk(??)\ntkinter.commondialog.TkVersion\ntkinter.commondialog.Toplevel(??)\ntkinter.commondialog.UNDERLINE\ntkinter.commondialog.UNITS\ntkinter.commondialog.VERTICAL\ntkinter.commondialog.Variable(??)\ntkinter.commondialog.W\ntkinter.commondialog.WORD\ntkinter.commondialog.WRITABLE\ntkinter.commondialog.Widget(??)\ntkinter.commondialog.Wm(??)\ntkinter.commondialog.X\ntkinter.commondialog.XView(??)\ntkinter.commondialog.Y\ntkinter.commondialog.YES\ntkinter.commondialog.YView(??)\ntkinter.commondialog.constants(??)\ntkinter.commondialog.enum(??)\ntkinter.commondialog.getboolean(??)\ntkinter.commondialog.getdouble(??)\ntkinter.commondialog.getint(??)\ntkinter.commondialog.image_names(??)\ntkinter.commondialog.image_types(??)\ntkinter.commondialog.mainloop(??)\ntkinter.commondialog.re(??)\ntkinter.commondialog.sys(??)\ntkinter.commondialog.wantobjects\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog.ACTIVE\ntkinter.dialog.ALL\ntkinter.dialog.ANCHOR\ntkinter.dialog.ARC\ntkinter.dialog.BASELINE\ntkinter.dialog.BEVEL\ntkinter.dialog.BOTH\ntkinter.dialog.BOTTOM\ntkinter.dialog.BROWSE\ntkinter.dialog.BUTT\ntkinter.dialog.BaseWidget(??)\ntkinter.dialog.BitmapImage(??)\ntkinter.dialog.BooleanVar(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.CASCADE\ntkinter.dialog.CENTER\ntkinter.dialog.CHAR\ntkinter.dialog.CHECKBUTTON\ntkinter.dialog.CHORD\ntkinter.dialog.COMMAND\ntkinter.dialog.CURRENT\ntkinter.dialog.CallWrapper(??)\ntkinter.dialog.Canvas(??)\ntkinter.dialog.Checkbutton(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.DISABLED\ntkinter.dialog.DOTBOX\ntkinter.dialog.Dialog(??)\ntkinter.dialog.DoubleVar(??)\ntkinter.dialog.E\ntkinter.dialog.END\ntkinter.dialog.EW\ntkinter.dialog.EXCEPTION\ntkinter.dialog.EXTENDED\ntkinter.dialog.Entry(??)\ntkinter.dialog.Event(??)\ntkinter.dialog.EventType(??)\ntkinter.dialog.FALSE\ntkinter.dialog.FIRST\ntkinter.dialog.FLAT\ntkinter.dialog.Frame(??)\ntkinter.dialog.GROOVE\ntkinter.dialog.Grid(??)\ntkinter.dialog.HIDDEN\ntkinter.dialog.HORIZONTAL\ntkinter.dialog.INSERT\ntkinter.dialog.INSIDE\ntkinter.dialog.Image(??)\ntkinter.dialog.IntVar(??)\ntkinter.dialog.LAST\ntkinter.dialog.LEFT\ntkinter.dialog.Label(??)\ntkinter.dialog.LabelFrame(??)\ntkinter.dialog.Listbox(??)\ntkinter.dialog.MITER\ntkinter.dialog.MOVETO\ntkinter.dialog.MULTIPLE\ntkinter.dialog.Menu(??)\ntkinter.dialog.Menubutton(??)\ntkinter.dialog.Message(??)\ntkinter.dialog.Misc(??)\ntkinter.dialog.N\ntkinter.dialog.NE\ntkinter.dialog.NO\ntkinter.dialog.NONE\ntkinter.dialog.NORMAL\ntkinter.dialog.NS\ntkinter.dialog.NSEW\ntkinter.dialog.NUMERIC\ntkinter.dialog.NW\ntkinter.dialog.NoDefaultRoot(??)\ntkinter.dialog.OFF\ntkinter.dialog.ON\ntkinter.dialog.OUTSIDE\ntkinter.dialog.OptionMenu(??)\ntkinter.dialog.PAGES\ntkinter.dialog.PIESLICE\ntkinter.dialog.PROJECTING\ntkinter.dialog.Pack(??)\ntkinter.dialog.PanedWindow(??)\ntkinter.dialog.PhotoImage(??)\ntkinter.dialog.Place(??)\ntkinter.dialog.RADIOBUTTON\ntkinter.dialog.RAISED\ntkinter.dialog.READABLE\ntkinter.dialog.RIDGE\ntkinter.dialog.RIGHT\ntkinter.dialog.ROUND\ntkinter.dialog.Radiobutton(??)\ntkinter.dialog.S\ntkinter.dialog.SCROLL\ntkinter.dialog.SE\ntkinter.dialog.SEL\ntkinter.dialog.SEL_FIRST\ntkinter.dialog.SEL_LAST\ntkinter.dialog.SEPARATOR\ntkinter.dialog.SINGLE\ntkinter.dialog.SOLID\ntkinter.dialog.SUNKEN\ntkinter.dialog.SW\ntkinter.dialog.Scale(??)\ntkinter.dialog.Scrollbar(??)\ntkinter.dialog.Spinbox(??)\ntkinter.dialog.StringVar(??)\ntkinter.dialog.TOP\ntkinter.dialog.TRUE\ntkinter.dialog.Tcl(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.TclVersion\ntkinter.dialog.Text(??)\ntkinter.dialog.Tk(??)\ntkinter.dialog.TkVersion\ntkinter.dialog.Toplevel(??)\ntkinter.dialog.UNDERLINE\ntkinter.dialog.UNITS\ntkinter.dialog.VERTICAL\ntkinter.dialog.Variable(??)\ntkinter.dialog.W\ntkinter.dialog.WORD\ntkinter.dialog.WRITABLE\ntkinter.dialog.Widget(??)\ntkinter.dialog.Wm(??)\ntkinter.dialog.X\ntkinter.dialog.XView(??)\ntkinter.dialog.Y\ntkinter.dialog.YES\ntkinter.dialog.YView(??)\ntkinter.dialog.colorchooser(??)\ntkinter.dialog.commondialog(??)\ntkinter.dialog.constants(??)\ntkinter.dialog.enum(??)\ntkinter.dialog.getboolean(??)\ntkinter.dialog.getdouble(??)\ntkinter.dialog.getint(??)\ntkinter.dialog.image_names(??)\ntkinter.dialog.image_types(??)\ntkinter.dialog.mainloop(??)\ntkinter.dialog.re(??)\ntkinter.dialog.sys(??)\ntkinter.dialog.wantobjects\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.enum(??)\ntkinter.filedialog.ACTIVE\ntkinter.filedialog.ALL\ntkinter.filedialog.ANCHOR\ntkinter.filedialog.ARC\ntkinter.filedialog.BASELINE\ntkinter.filedialog.BEVEL\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.BROWSE\ntkinter.filedialog.BUTT\ntkinter.filedialog.BaseWidget(??)\ntkinter.filedialog.BitmapImage(??)\ntkinter.filedialog.BooleanVar(??)\ntkinter.filedialog.Button(??)\ntkinter.filedialog.CASCADE\ntkinter.filedialog.CENTER\ntkinter.filedialog.CHAR\ntkinter.filedialog.CHECKBUTTON\ntkinter.filedialog.CHORD\ntkinter.filedialog.COMMAND\ntkinter.filedialog.CURRENT\ntkinter.filedialog.CallWrapper(??)\ntkinter.filedialog.Canvas(??)\ntkinter.filedialog.Checkbutton(??)\ntkinter.filedialog.DISABLED\ntkinter.filedialog.DOTBOX\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.DoubleVar(??)\ntkinter.filedialog.E\ntkinter.filedialog.END\ntkinter.filedialog.EW\ntkinter.filedialog.EXCEPTION\ntkinter.filedialog.EXTENDED\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.Event(??)\ntkinter.filedialog.EventType(??)\ntkinter.filedialog.FALSE\ntkinter.filedialog.FIRST\ntkinter.filedialog.FLAT\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.GROOVE\ntkinter.filedialog.Grid(??)\ntkinter.filedialog.HIDDEN\ntkinter.filedialog.HORIZONTAL\ntkinter.filedialog.INSERT\ntkinter.filedialog.INSIDE\ntkinter.filedialog.Image(??)\ntkinter.filedialog.IntVar(??)\ntkinter.filedialog.LAST\ntkinter.filedialog.LEFT\ntkinter.filedialog.Label(??)\ntkinter.filedialog.LabelFrame(??)\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.MITER\ntkinter.filedialog.MOVETO\ntkinter.filedialog.MULTIPLE\ntkinter.filedialog.Menu(??)\ntkinter.filedialog.Menubutton(??)\ntkinter.filedialog.Message(??)\ntkinter.filedialog.Misc(??)\ntkinter.filedialog.N\ntkinter.filedialog.NE\ntkinter.filedialog.NO\ntkinter.filedialog.NONE\ntkinter.filedialog.NORMAL\ntkinter.filedialog.NS\ntkinter.filedialog.NSEW\ntkinter.filedialog.NUMERIC\ntkinter.filedialog.NW\ntkinter.filedialog.NoDefaultRoot(??)\ntkinter.filedialog.OFF\ntkinter.filedialog.ON\ntkinter.filedialog.OUTSIDE\ntkinter.filedialog.Open(??)\ntkinter.filedialog.OptionMenu(??)\ntkinter.filedialog.PAGES\ntkinter.filedialog.PIESLICE\ntkinter.filedialog.PROJECTING\ntkinter.filedialog.Pack(??)\ntkinter.filedialog.PanedWindow(??)\ntkinter.filedialog.PhotoImage(??)\ntkinter.filedialog.Place(??)\ntkinter.filedialog.RADIOBUTTON\ntkinter.filedialog.RAISED\ntkinter.filedialog.READABLE\ntkinter.filedialog.RIDGE\ntkinter.filedialog.RIGHT\ntkinter.filedialog.ROUND\ntkinter.filedialog.Radiobutton(??)\ntkinter.filedialog.S\ntkinter.filedialog.SCROLL\ntkinter.filedialog.SE\ntkinter.filedialog.SEL\ntkinter.filedialog.SEL_FIRST\ntkinter.filedialog.SEL_LAST\ntkinter.filedialog.SEPARATOR\ntkinter.filedialog.SINGLE\ntkinter.filedialog.SOLID\ntkinter.filedialog.SUNKEN\ntkinter.filedialog.SW\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scale(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.Spinbox(??)\ntkinter.filedialog.StringVar(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.TRUE\ntkinter.filedialog.Tcl(??)\ntkinter.filedialog.TclError(??)\ntkinter.filedialog.TclVersion\ntkinter.filedialog.Text(??)\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.TkVersion\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.UNDERLINE\ntkinter.filedialog.UNITS\ntkinter.filedialog.VERTICAL\ntkinter.filedialog.Variable(??)\ntkinter.filedialog.W\ntkinter.filedialog.WORD\ntkinter.filedialog.WRITABLE\ntkinter.filedialog.Widget(??)\ntkinter.filedialog.Wm(??)\ntkinter.filedialog.X\ntkinter.filedialog.XView(??)\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.YView(??)\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.colorchooser(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.constants(??)\ntkinter.filedialog.dialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.dnd(??)\ntkinter.filedialog.enum(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.getboolean(??)\ntkinter.filedialog.getdouble(??)\ntkinter.filedialog.getint(??)\ntkinter.filedialog.image_names(??)\ntkinter.filedialog.image_types(??)\ntkinter.filedialog.mainloop(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.re(??)\ntkinter.filedialog.sys(??)\ntkinter.filedialog.test(??)\ntkinter.filedialog.wantobjects\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.re(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.EventType(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.colorchooser(??)\ntkinter.simpledialog.commondialog(??)\ntkinter.simpledialog.constants(??)\ntkinter.simpledialog.dialog(??)\ntkinter.simpledialog.dnd(??)\ntkinter.simpledialog.enum(??)\ntkinter.simpledialog.filedialog(??)\ntkinter.simpledialog.font(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.re(??)\ntkinter.simpledialog.scrolledtext(??)\ntkinter.simpledialog.sys(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.simpledialog.wantobjects\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.EventType(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.colorchooser(??)\ntkinter.tix.commondialog(??)\ntkinter.tix.constants(??)\ntkinter.tix.dialog(??)\ntkinter.tix.dnd(??)\ntkinter.tix.enum(??)\ntkinter.tix.filedialog(??)\ntkinter.tix.font(??)\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.messagebox(??)\ntkinter.tix.os(??)\ntkinter.tix.re(??)\ntkinter.tix.scrolledtext(??)\ntkinter.tix.simpledialog(??)\ntkinter.tix.sys(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.tix.wantobjects\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.wantobjects\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.ASYNC\ntoken.AT\ntoken.ATEQUAL\ntoken.AWAIT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COMMA\ntoken.COMMENT\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENCODING\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NL\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.ASYNC\ntokenize.AT\ntokenize.ATEQUAL\ntokenize.AWAIT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.Bracket\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.Operator\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.blank_re(??)\ntokenize.chain(*iterables) --> chain object\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.u\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.re(??)\ntrace.rx_blank(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntraceback.FrameSummary(??)\ntraceback.StackSummary(??)\ntraceback.TracebackException(??)\ntraceback.clear_frames(??)\ntraceback.collections(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.itertools(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntraceback.walk_stack(??)\ntraceback.walk_tb(??)\ntracemalloc.BaseFilter(??)\ntracemalloc.DomainFilter(??)\ntracemalloc.Filter(??)\ntracemalloc.Frame(??)\ntracemalloc.Iterable(??)\ntracemalloc.Sequence(??)\ntracemalloc.Snapshot(??)\ntracemalloc.Statistic(??)\ntracemalloc.StatisticDiff(??)\ntracemalloc.Trace(??)\ntracemalloc.Traceback(??)\ntracemalloc.clear_traces(??)\ntracemalloc.fnmatch(??)\ntracemalloc.get_object_traceback(??)\ntracemalloc.get_traceback_limit(??)\ntracemalloc.get_traced_memory(??)\ntracemalloc.get_tracemalloc_memory(??)\ntracemalloc.is_tracing(??)\ntracemalloc.linecache(??)\ntracemalloc.os(??)\ntracemalloc.pickle(??)\ntracemalloc.start(??)\ntracemalloc.stop(??)\ntracemalloc.take_snapshot(??)\ntracemalloc.total_ordering(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple(??)\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.sys(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object_or_name, bases, dict)\ntypes.AsyncGeneratorType(??)\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.ClassMethodDescriptorType(??)\ntypes.CodeType(??)\ntypes.CoroutineType(??)\ntypes.DynamicClassAttribute(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodDescriptorType(??)\ntypes.MethodType(??)\ntypes.MethodWrapperType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno)\ntypes.WrapperDescriptorType(??)\ntypes.coroutine(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\ntypes.resolve_bases(??)\ntyping.AbstractSet(??)\ntyping.Any(??)\ntyping.AnyStr(??)\ntyping.AsyncContextManager(??)\ntyping.AsyncGenerator(??)\ntyping.AsyncIterable(??)\ntyping.AsyncIterator(??)\ntyping.Awaitable(??)\ntyping.BinaryIO(??)\ntyping.ByteString(??)\ntyping.CT_co(??)\ntyping.Callable(??)\ntyping.ChainMap(??)\ntyping.ClassVar(??)\ntyping.Collection(??)\ntyping.Container(??)\ntyping.ContextManager(??)\ntyping.Coroutine(??)\ntyping.Counter(??)\ntyping.DefaultDict(??)\ntyping.Deque(??)\ntyping.Dict(??)\ntyping.ForwardRef(??)\ntyping.FrozenSet(??)\ntyping.Generator(??)\ntyping.Generic(??)\ntyping.Hashable(??)\ntyping.IO(??)\ntyping.ItemsView(??)\ntyping.Iterable(??)\ntyping.Iterator(??)\ntyping.KT(??)\ntyping.KeysView(??)\ntyping.List(??)\ntyping.Mapping(??)\ntyping.MappingView(??)\ntyping.Match(??)\ntyping.MethodDescriptorType(??)\ntyping.MethodWrapperType(??)\ntyping.MutableMapping(??)\ntyping.MutableSequence(??)\ntyping.MutableSet(??)\ntyping.NamedTuple(??)\ntyping.NamedTupleMeta(??)\ntyping.NewType(??)\ntyping.NoReturn(??)\ntyping.Optional(??)\ntyping.Pattern(??)\ntyping.Reversible(??)\ntyping.Sequence(??)\ntyping.Set(??)\ntyping.Sized(??)\ntyping.SupportsAbs(??)\ntyping.SupportsBytes(??)\ntyping.SupportsComplex(??)\ntyping.SupportsFloat(??)\ntyping.SupportsInt(??)\ntyping.SupportsRound(??)\ntyping.T(??)\ntyping.TYPE_CHECKING(??)\ntyping.T_co(??)\ntyping.T_contra(??)\ntyping.Text(??)\ntyping.TextIO(??)\ntyping.Tuple(??)\ntyping.Type(??)\ntyping.TypeVar(??)\ntyping.Union(??)\ntyping.VT(??)\ntyping.VT_co(??)\ntyping.V_co(??)\ntyping.ValuesView(??)\ntyping.WrapperDescriptorType(??)\ntyping.abc(??)\ntyping.abstractmethod(??)\ntyping.abstractproperty(??)\ntyping.cast(??)\ntyping.collections(??)\ntyping.contextlib(??)\ntyping.functools(??)\ntyping.get_type_hints(??)\ntyping.io(??)\ntyping.no_type_check(??)\ntyping.no_type_check_decorator(??)\ntyping.overload(??)\ntyping.re(??)\ntyping.stdlib_re(??)\ntyping.sys(??)\ntyping.types(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.re(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.parse.splitport('host:port') --> 'host', 'port'.\nurllib.parse.splitquery('/path?query') --> '/path', 'query'.\nurllib.parse.splittag('/path#tag') --> '/path', 'tag'.\nurllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.parse.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.parse.sys(??)\nurllib.parse.to_bytes(u\"URL\") --> 'URL'.\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.DataHandler(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPPasswordMgrWithPriorAuth(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.splitattr('/path;attr1=value1;attr2=value2;...') ->\nurllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'.\nurllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'.\nurllib.request.splitport('host:port') --> 'host', 'port'.\nurllib.request.splitquery('/path?query') --> '/path', 'query'.\nurllib.request.splittag('/path#tag') --> '/path', 'tag'.\nurllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'.\nurllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.\nurllib.request.splitvalue('attr=value') --> 'attr', 'value'.\nurllib.request.ssl(??)\nurllib.request.string(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.to_bytes(u\"URL\") --> 'URL'.\nurllib.request.unquote(??)\nurllib.request.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.request.unwrap('<URL:type://host/path>') --> 'type://host/path'.\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.response.tempfile(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RequestRate(requests, seconds)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.collections(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.Enum(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.SafeUUID(??)\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.EnvBuilder(??)\nvenv.create(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.subprocess(??)\nvenv.sys(??)\nvenv.types(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.audioop(??)\nwave.builtins(??)\nwave.namedtuple(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nwave.sys(??)\nwave.warnings(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakMethod(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.finalize(??)\nweakref.getweakrefcount(??)\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.itertools(??)\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nweakref.sys(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.register_standard_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.shutil(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwebbrowser.threading(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO(??)\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.raise_conversion_error(??)\nxdrlib.struct(??)\nxdrlib.wraps(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.warnings(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLPullParser(??)\nxml.etree.ElementTree.collections(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLPullParser(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(??)\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate(??)\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.codecs(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.io(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO(??)\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Decimal(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.inspect(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.partial(func, *args, **keywords) - new function with partial application\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipapp.MAIN_TEMPLATE\nzipapp.ZipAppError(??)\nzipapp.contextlib(??)\nzipapp.create_archive(??)\nzipapp.get_interpreter(??)\nzipapp.main(??)\nzipapp.os(??)\nzipapp.pathlib(??)\nzipapp.shebang_encoding\nzipapp.shutil(??)\nzipapp.stat(??)\nzipapp.sys(??)\nzipapp.zipfile(??)\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.DEFAULT_VERSION\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.crc32(??)\nzipfile.error(??)\nzipfile.importlib(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.threading(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.ZipImportError(??)\nzipimport.zipimporter(??)\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.8.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nModuleNotFoundError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nRecursionError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopAsyncIteration(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTargetScopeError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABC(??)\nabc.ABCMeta(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabc.get_cache_token(??)\nabs(??)\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.namedtuple(??)\naifc.open(??)\naifc.openfp(??)\naifc.struct(??)\naifc.warnings(??)\nall(??)\nany(??)\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\nascii(??)\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.AnnAssign(??)\nast.Assert(??)\nast.Assign(??)\nast.AsyncFor(??)\nast.AsyncFunctionDef(??)\nast.AsyncWith(??)\nast.Attribute(??)\nast.AugAssign(??)\nast.AugLoad(??)\nast.AugStore(??)\nast.Await(??)\nast.BinOp(??)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(??)\nast.Break(??)\nast.Bytes(??)\nast.Call(??)\nast.ClassDef(??)\nast.Compare(??)\nast.Constant(??)\nast.Continue(??)\nast.Del(??)\nast.Delete(??)\nast.Dict(??)\nast.DictComp(??)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(??)\nast.Expr(??)\nast.Expression(??)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(??)\nast.FormattedValue(??)\nast.FunctionDef(??)\nast.FunctionType(??)\nast.GeneratorExp(??)\nast.Global(??)\nast.Gt(??)\nast.GtE(??)\nast.If(??)\nast.IfExp(??)\nast.Import(??)\nast.ImportFrom(??)\nast.In(??)\nast.Index(??)\nast.Interactive(??)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.JoinedStr(??)\nast.LShift(??)\nast.Lambda(??)\nast.List(??)\nast.ListComp(??)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.MatMult(??)\nast.Mod(??)\nast.Module(??)\nast.Mult(??)\nast.Name(??)\nast.NameConstant(??)\nast.NamedExpr(??)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(??)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ALLOW_TOP_LEVEL_AWAIT\nast.PyCF_ONLY_AST\nast.PyCF_TYPE_COMMENTS\nast.RShift(??)\nast.Raise(??)\nast.Return(??)\nast.Set(??)\nast.SetComp(??)\nast.Slice(??)\nast.Starred(??)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(??)\nast.Suite(??)\nast.Try(??)\nast.Tuple(??)\nast.TypeIgnore(??)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(??)\nast.While(??)\nast.With(??)\nast.Yield(??)\nast.YieldFrom(??)\nast.alias(??)\nast.arg(??)\nast.arguments(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.get_source_segment(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(??)\nast.literal_eval(??)\nast.mod(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.type_ignore(??)\nast.unaryop(??)\nast.walk(??)\nast.withitem(??)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque([iterable[, maxlen]]) --> deque object\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasyncio.ALL_COMPLETED\nasyncio.AbstractChildWatcher(??)\nasyncio.AbstractEventLoop(??)\nasyncio.AbstractEventLoopPolicy(??)\nasyncio.AbstractServer(??)\nasyncio.BaseEventLoop(??)\nasyncio.BaseProtocol(??)\nasyncio.BaseTransport(??)\nasyncio.BoundedSemaphore(??)\nasyncio.BufferedProtocol(??)\nasyncio.CancelledError(??)\nasyncio.Condition(??)\nasyncio.DatagramProtocol(??)\nasyncio.DatagramTransport(??)\nasyncio.DefaultEventLoopPolicy(??)\nasyncio.Event(??)\nasyncio.FIRST_COMPLETED\nasyncio.FIRST_EXCEPTION\nasyncio.FastChildWatcher(??)\nasyncio.Future(??)\nasyncio.Handle(??)\nasyncio.IncompleteReadError(??)\nasyncio.InvalidStateError(??)\nasyncio.LifoQueue(??)\nasyncio.LimitOverrunError(??)\nasyncio.Lock(??)\nasyncio.PriorityQueue(??)\nasyncio.Protocol(??)\nasyncio.Queue(??)\nasyncio.QueueEmpty(??)\nasyncio.QueueFull(??)\nasyncio.ReadTransport(??)\nasyncio.SafeChildWatcher(??)\nasyncio.SelectorEventLoop(??)\nasyncio.Semaphore(??)\nasyncio.SendfileNotAvailableError(??)\nasyncio.Stream(??)\nasyncio.StreamMode(??)\nasyncio.StreamServer(??)\nasyncio.SubprocessProtocol(??)\nasyncio.SubprocessTransport(??)\nasyncio.Task(??)\nasyncio.TimeoutError(??)\nasyncio.TimerHandle(??)\nasyncio.Transport(??)\nasyncio.UnixStreamServer(??)\nasyncio.WriteTransport(??)\nasyncio.all_tasks(??)\nasyncio.as_completed(??)\nasyncio.base_events(??)\nasyncio.base_events.BaseEventLoop(??)\nasyncio.base_events.MAXIMUM_SELECT_TIMEOUT\nasyncio.base_events.Server(??)\nasyncio.base_events.collections(??)\nasyncio.base_events.concurrent(??)\nasyncio.base_events.constants(??)\nasyncio.base_events.coroutines(??)\nasyncio.base_events.events(??)\nasyncio.base_events.exceptions(??)\nasyncio.base_events.functools(??)\nasyncio.base_events.futures(??)\nasyncio.base_events.heapq(??)\nasyncio.base_events.itertools(??)\nasyncio.base_events.logger(??)\nasyncio.base_events.os(??)\nasyncio.base_events.protocols(??)\nasyncio.base_events.socket(??)\nasyncio.base_events.ssl(??)\nasyncio.base_events.sslproto(??)\nasyncio.base_events.staggered(??)\nasyncio.base_events.stat(??)\nasyncio.base_events.subprocess(??)\nasyncio.base_events.sys(??)\nasyncio.base_events.tasks(??)\nasyncio.base_events.threading(??)\nasyncio.base_events.time(??)\nasyncio.base_events.traceback(??)\nasyncio.base_events.transports(??)\nasyncio.base_events.trsock(??)\nasyncio.base_events.warnings(??)\nasyncio.base_events.weakref(??)\nasyncio.base_futures(??)\nasyncio.base_futures.format_helpers(??)\nasyncio.base_futures.isfuture(??)\nasyncio.base_futures.reprlib(??)\nasyncio.base_subprocess(??)\nasyncio.base_subprocess.BaseSubprocessTransport(??)\nasyncio.base_subprocess.ReadSubprocessPipeProto(??)\nasyncio.base_subprocess.WriteSubprocessPipeProto(??)\nasyncio.base_subprocess.collections(??)\nasyncio.base_subprocess.logger(??)\nasyncio.base_subprocess.protocols(??)\nasyncio.base_subprocess.subprocess(??)\nasyncio.base_subprocess.transports(??)\nasyncio.base_subprocess.warnings(??)\nasyncio.base_tasks(??)\nasyncio.base_tasks.base_futures(??)\nasyncio.base_tasks.coroutines(??)\nasyncio.base_tasks.linecache(??)\nasyncio.base_tasks.traceback(??)\nasyncio.connect(??)\nasyncio.connect_read_pipe(??)\nasyncio.connect_unix(??)\nasyncio.connect_write_pipe(??)\nasyncio.constants(??)\nasyncio.constants.ACCEPT_RETRY_DELAY\nasyncio.constants.DEBUG_STACK_DEPTH\nasyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES\nasyncio.constants.SENDFILE_FALLBACK_READBUFFER_SIZE\nasyncio.constants.SSL_HANDSHAKE_TIMEOUT\nasyncio.constants.enum(??)\nasyncio.coroutine(??)\nasyncio.coroutines(??)\nasyncio.coroutines.CoroWrapper(??)\nasyncio.coroutines.base_futures(??)\nasyncio.coroutines.collections(??)\nasyncio.coroutines.constants(??)\nasyncio.coroutines.coroutine(??)\nasyncio.coroutines.format_helpers(??)\nasyncio.coroutines.functools(??)\nasyncio.coroutines.inspect(??)\nasyncio.coroutines.iscoroutine(??)\nasyncio.coroutines.iscoroutinefunction(??)\nasyncio.coroutines.logger(??)\nasyncio.coroutines.os(??)\nasyncio.coroutines.sys(??)\nasyncio.coroutines.traceback(??)\nasyncio.coroutines.types(??)\nasyncio.coroutines.warnings(??)\nasyncio.create_subprocess_exec(??)\nasyncio.create_subprocess_shell(??)\nasyncio.create_task(??)\nasyncio.current_task(??)\nasyncio.ensure_future(??)\nasyncio.events(??)\nasyncio.events.AbstractEventLoop(??)\nasyncio.events.AbstractEventLoopPolicy(??)\nasyncio.events.AbstractServer(??)\nasyncio.events.BaseDefaultEventLoopPolicy(??)\nasyncio.events.Handle(??)\nasyncio.events.TimerHandle(??)\nasyncio.events.contextvars(??)\nasyncio.events.exceptions(??)\nasyncio.events.format_helpers(??)\nasyncio.events.get_child_watcher(??)\nasyncio.events.get_event_loop(??)\nasyncio.events.get_event_loop_policy(??)\nasyncio.events.get_running_loop(??)\nasyncio.events.new_event_loop(??)\nasyncio.events.os(??)\nasyncio.events.set_child_watcher(??)\nasyncio.events.set_event_loop(??)\nasyncio.events.set_event_loop_policy(??)\nasyncio.events.socket(??)\nasyncio.events.subprocess(??)\nasyncio.events.sys(??)\nasyncio.events.threading(??)\nasyncio.exceptions(??)\nasyncio.exceptions.CancelledError(??)\nasyncio.exceptions.IncompleteReadError(??)\nasyncio.exceptions.InvalidStateError(??)\nasyncio.exceptions.LimitOverrunError(??)\nasyncio.exceptions.SendfileNotAvailableError(??)\nasyncio.exceptions.TimeoutError(??)\nasyncio.format_helpers(??)\nasyncio.format_helpers.constants(??)\nasyncio.format_helpers.extract_stack(??)\nasyncio.format_helpers.functools(??)\nasyncio.format_helpers.inspect(??)\nasyncio.format_helpers.reprlib(??)\nasyncio.format_helpers.sys(??)\nasyncio.format_helpers.traceback(??)\nasyncio.futures(??)\nasyncio.futures.Future(??)\nasyncio.futures.STACK_DEBUG\nasyncio.futures.base_futures(??)\nasyncio.futures.concurrent(??)\nasyncio.futures.contextvars(??)\nasyncio.futures.events(??)\nasyncio.futures.exceptions(??)\nasyncio.futures.format_helpers(??)\nasyncio.futures.isfuture(??)\nasyncio.futures.logging(??)\nasyncio.futures.sys(??)\nasyncio.futures.wrap_future(??)\nasyncio.gather(??)\nasyncio.get_child_watcher(??)\nasyncio.get_event_loop(??)\nasyncio.get_event_loop_policy(??)\nasyncio.get_running_loop(??)\nasyncio.iscoroutine(??)\nasyncio.iscoroutinefunction(??)\nasyncio.isfuture(??)\nasyncio.locks(??)\nasyncio.locks.BoundedSemaphore(??)\nasyncio.locks.Condition(??)\nasyncio.locks.Event(??)\nasyncio.locks.Lock(??)\nasyncio.locks.Semaphore(??)\nasyncio.locks.collections(??)\nasyncio.locks.coroutines(??)\nasyncio.locks.events(??)\nasyncio.locks.exceptions(??)\nasyncio.locks.futures(??)\nasyncio.locks.types(??)\nasyncio.locks.warnings(??)\nasyncio.log(??)\nasyncio.log.logger(??)\nasyncio.log.logging(??)\nasyncio.new_event_loop(??)\nasyncio.open_connection(??)\nasyncio.open_unix_connection(??)\nasyncio.proactor_events(??)\nasyncio.proactor_events.BaseProactorEventLoop(??)\nasyncio.proactor_events.base_events(??)\nasyncio.proactor_events.collections(??)\nasyncio.proactor_events.constants(??)\nasyncio.proactor_events.exceptions(??)\nasyncio.proactor_events.futures(??)\nasyncio.proactor_events.io(??)\nasyncio.proactor_events.logger(??)\nasyncio.proactor_events.os(??)\nasyncio.proactor_events.protocols(??)\nasyncio.proactor_events.signal(??)\nasyncio.proactor_events.socket(??)\nasyncio.proactor_events.sslproto(??)\nasyncio.proactor_events.transports(??)\nasyncio.proactor_events.trsock(??)\nasyncio.proactor_events.warnings(??)\nasyncio.protocols(??)\nasyncio.protocols.BaseProtocol(??)\nasyncio.protocols.BufferedProtocol(??)\nasyncio.protocols.DatagramProtocol(??)\nasyncio.protocols.Protocol(??)\nasyncio.protocols.SubprocessProtocol(??)\nasyncio.queues(??)\nasyncio.queues.LifoQueue(??)\nasyncio.queues.PriorityQueue(??)\nasyncio.queues.Queue(??)\nasyncio.queues.QueueEmpty(??)\nasyncio.queues.QueueFull(??)\nasyncio.queues.collections(??)\nasyncio.queues.events(??)\nasyncio.queues.heapq(??)\nasyncio.queues.locks(??)\nasyncio.run(??)\nasyncio.run_coroutine_threadsafe(??)\nasyncio.runners(??)\nasyncio.runners.coroutines(??)\nasyncio.runners.events(??)\nasyncio.runners.run(??)\nasyncio.runners.tasks(??)\nasyncio.selector_events(??)\nasyncio.selector_events.BaseSelectorEventLoop(??)\nasyncio.selector_events.base_events(??)\nasyncio.selector_events.collections(??)\nasyncio.selector_events.constants(??)\nasyncio.selector_events.errno(??)\nasyncio.selector_events.events(??)\nasyncio.selector_events.functools(??)\nasyncio.selector_events.futures(??)\nasyncio.selector_events.logger(??)\nasyncio.selector_events.protocols(??)\nasyncio.selector_events.selectors(??)\nasyncio.selector_events.socket(??)\nasyncio.selector_events.ssl(??)\nasyncio.selector_events.sslproto(??)\nasyncio.selector_events.transports(??)\nasyncio.selector_events.trsock(??)\nasyncio.selector_events.warnings(??)\nasyncio.selector_events.weakref(??)\nasyncio.set_child_watcher(??)\nasyncio.set_event_loop(??)\nasyncio.set_event_loop_policy(??)\nasyncio.shield(??)\nasyncio.sleep(??)\nasyncio.sslproto(??)\nasyncio.sslproto.SSLProtocol(??)\nasyncio.sslproto.base_events(??)\nasyncio.sslproto.collections(??)\nasyncio.sslproto.constants(??)\nasyncio.sslproto.logger(??)\nasyncio.sslproto.protocols(??)\nasyncio.sslproto.ssl(??)\nasyncio.sslproto.transports(??)\nasyncio.sslproto.warnings(??)\nasyncio.staggered(??)\nasyncio.staggered.contextlib(??)\nasyncio.staggered.events(??)\nasyncio.staggered.futures(??)\nasyncio.staggered.locks(??)\nasyncio.staggered.staggered_race(??)\nasyncio.staggered.tasks(??)\nasyncio.staggered.typing(??)\nasyncio.start_server(??)\nasyncio.start_unix_server(??)\nasyncio.streams(??)\nasyncio.streams.FlowControlMixin(??)\nasyncio.streams.Stream(??)\nasyncio.streams.StreamMode(??)\nasyncio.streams.StreamReader(??)\nasyncio.streams.StreamReaderProtocol(??)\nasyncio.streams.StreamServer(??)\nasyncio.streams.StreamWriter(??)\nasyncio.streams.UnixStreamServer(??)\nasyncio.streams.connect(??)\nasyncio.streams.connect_read_pipe(??)\nasyncio.streams.connect_unix(??)\nasyncio.streams.connect_write_pipe(??)\nasyncio.streams.coroutines(??)\nasyncio.streams.enum(??)\nasyncio.streams.events(??)\nasyncio.streams.exceptions(??)\nasyncio.streams.format_helpers(??)\nasyncio.streams.logger(??)\nasyncio.streams.open_connection(??)\nasyncio.streams.open_unix_connection(??)\nasyncio.streams.protocols(??)\nasyncio.streams.socket(??)\nasyncio.streams.start_server(??)\nasyncio.streams.start_unix_server(??)\nasyncio.streams.sys(??)\nasyncio.streams.tasks(??)\nasyncio.streams.warnings(??)\nasyncio.streams.weakref(??)\nasyncio.subprocess(??)\nasyncio.subprocess.DEVNULL\nasyncio.subprocess.PIPE\nasyncio.subprocess.Process(??)\nasyncio.subprocess.STDOUT\nasyncio.subprocess.SubprocessStreamProtocol(??)\nasyncio.subprocess.create_subprocess_exec(??)\nasyncio.subprocess.create_subprocess_shell(??)\nasyncio.subprocess.events(??)\nasyncio.subprocess.logger(??)\nasyncio.subprocess.protocols(??)\nasyncio.subprocess.streams(??)\nasyncio.subprocess.subprocess(??)\nasyncio.subprocess.tasks(??)\nasyncio.subprocess.warnings(??)\nasyncio.sys(??)\nasyncio.tasks(??)\nasyncio.tasks.ALL_COMPLETED\nasyncio.tasks.FIRST_COMPLETED\nasyncio.tasks.FIRST_EXCEPTION\nasyncio.tasks.Task(??)\nasyncio.tasks.all_tasks(??)\nasyncio.tasks.as_completed(??)\nasyncio.tasks.base_tasks(??)\nasyncio.tasks.concurrent(??)\nasyncio.tasks.contextvars(??)\nasyncio.tasks.coroutines(??)\nasyncio.tasks.create_task(??)\nasyncio.tasks.current_task(??)\nasyncio.tasks.ensure_future(??)\nasyncio.tasks.events(??)\nasyncio.tasks.exceptions(??)\nasyncio.tasks.functools(??)\nasyncio.tasks.futures(??)\nasyncio.tasks.gather(??)\nasyncio.tasks.inspect(??)\nasyncio.tasks.itertools(??)\nasyncio.tasks.run_coroutine_threadsafe(??)\nasyncio.tasks.shield(??)\nasyncio.tasks.sleep(??)\nasyncio.tasks.types(??)\nasyncio.tasks.wait(??)\nasyncio.tasks.wait_for(??)\nasyncio.tasks.warnings(??)\nasyncio.tasks.weakref(??)\nasyncio.transports(??)\nasyncio.transports.BaseTransport(??)\nasyncio.transports.DatagramTransport(??)\nasyncio.transports.ReadTransport(??)\nasyncio.transports.SubprocessTransport(??)\nasyncio.transports.Transport(??)\nasyncio.transports.WriteTransport(??)\nasyncio.trsock(??)\nasyncio.trsock.TransportSocket(??)\nasyncio.trsock.socket(??)\nasyncio.trsock.warnings(??)\nasyncio.unix_events(??)\nasyncio.unix_events.AbstractChildWatcher(??)\nasyncio.unix_events.BaseChildWatcher(??)\nasyncio.unix_events.DefaultEventLoopPolicy(??)\nasyncio.unix_events.FastChildWatcher(??)\nasyncio.unix_events.SafeChildWatcher(??)\nasyncio.unix_events.SelectorEventLoop(??)\nasyncio.unix_events.base_events(??)\nasyncio.unix_events.base_subprocess(??)\nasyncio.unix_events.constants(??)\nasyncio.unix_events.coroutines(??)\nasyncio.unix_events.errno(??)\nasyncio.unix_events.events(??)\nasyncio.unix_events.exceptions(??)\nasyncio.unix_events.futures(??)\nasyncio.unix_events.io(??)\nasyncio.unix_events.logger(??)\nasyncio.unix_events.os(??)\nasyncio.unix_events.selector_events(??)\nasyncio.unix_events.selectors(??)\nasyncio.unix_events.signal(??)\nasyncio.unix_events.socket(??)\nasyncio.unix_events.stat(??)\nasyncio.unix_events.subprocess(??)\nasyncio.unix_events.sys(??)\nasyncio.unix_events.tasks(??)\nasyncio.unix_events.threading(??)\nasyncio.unix_events.transports(??)\nasyncio.unix_events.warnings(??)\nasyncio.wait(??)\nasyncio.wait_for(??)\nasyncio.warnings(??)\nasyncio.wrap_future(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.a85decode(??)\nbase64.a85encode(??)\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.b85decode(??)\nbase64.b85encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.decodestring(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.encodestring(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.CO_ASYNC_GENERATOR\nbdb.CO_COROUTINE\nbdb.CO_GENERATOR\nbdb.GENERATOR_AND_COROUTINE_FLAGS\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbisect.bisect(??)\nbisect.bisect_left(a, x[, lo[, hi]]) -> index\nbisect.bisect_right(a, x[, lo[, hi]]) -> index\nbisect.insort(??)\nbisect.insort_left(a, x[, lo[, hi]])\nbisect.insort_right(a, x[, lo[, hi]])\nbool(x) -> bool\nbreakpoint(*args, **kws)\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.ModuleNotFoundError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.RecursionError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopAsyncIteration(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TargetScopeError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(??)\nbuiltins.all(??)\nbuiltins.any(??)\nbuiltins.ascii(??)\nbuiltins.bin(??)\nbuiltins.bool(x) -> bool\nbuiltins.breakpoint(*args, **kws)\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(??)\nbuiltins.chr(??)\nbuiltins.classmethod(function) -> method\nbuiltins.compile(??)\nbuiltins.complex(??)\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(??)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(??)\nbuiltins.enumerate(??)\nbuiltins.eval(??)\nbuiltins.exec(??)\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(??)\nbuiltins.format(??)\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals(??)\nbuiltins.hasattr(??)\nbuiltins.hash(??)\nbuiltins.help(??)\nbuiltins.hex(??)\nbuiltins.id(??)\nbuiltins.input(??)\nbuiltins.int([x]) -> integer\nbuiltins.isinstance(??)\nbuiltins.issubclass(??)\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(??)\nbuiltins.license(??)\nbuiltins.list(??)\nbuiltins.locals(??)\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable, *[, default=obj, key=func]) -> value\nbuiltins.memoryview(??)\nbuiltins.min(iterable, *[, default=obj, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(??)\nbuiltins.open(??)\nbuiltins.ord(??)\nbuiltins.pow(??)\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(??)\nbuiltins.quit(??)\nbuiltins.range(stop) -> range object\nbuiltins.repr(??)\nbuiltins.reversed(??)\nbuiltins.round(??)\nbuiltins.set() -> new empty set object\nbuiltins.setattr(??)\nbuiltins.slice(stop)\nbuiltins.sorted(??)\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object='') -> str\nbuiltins.sum(??)\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple(??)\nbuiltins.type(object_or_name, bases, dict)\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(iter1 [,iter2 [...]]) --> zip object\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(??)\nbz2.BZ2Decompressor(??)\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.os(??)\nbz2.warnings(??)\ncProfile.Profile(timer=None, timeunit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthlen(??)\ncalendar.monthrange(??)\ncalendar.nextmonth(??)\ncalendar.prcal(??)\ncalendar.prevmonth(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.repeat(object [,times]) -> create an iterator which returns the object\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(??)\ncgi.BytesIO(??)\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.Mapping(??)\ncgi.Message(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(??)\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(??)\ncodecs.encode(??)\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(??)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.namereplace_errors(??)\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(??)\ncodecs.register_error(??)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncollections.ChainMap(??)\ncollections.Counter(??)\ncollections.OrderedDict(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.abc(??)\ncollections.abc.AsyncGenerator(??)\ncollections.abc.AsyncIterable(??)\ncollections.abc.AsyncIterator(??)\ncollections.abc.Awaitable(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Collection(??)\ncollections.abc.Container(??)\ncollections.abc.Coroutine(??)\ncollections.abc.Generator(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Reversible(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.defaultdict(default_factory[, ...]) --> dict with default factory\ncollections.deque([iterable[, maxlen]]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(??)\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.importlib(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.partial(func, *args, **keywords) - new function with partial application\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(??)\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.BrokenExecutor(??)\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.Full(??)\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.Queue(??)\nconcurrent.futures.process.atexit(??)\nconcurrent.futures.process.itertools(??)\nconcurrent.futures.process.mp(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.partial(func, *args, **keywords) - new function with partial application\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.sys(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.traceback(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread.BrokenThreadPool(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.atexit(??)\nconcurrent.futures.thread.itertools(??)\nconcurrent.futures.thread.os(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.ConverterMapping(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.os(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.AbstractAsyncContextManager(??)\ncontextlib.AbstractContextManager(??)\ncontextlib.AsyncExitStack(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.MethodType(??)\ncontextlib.abc(??)\ncontextlib.asynccontextmanager(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque([iterable[, maxlen]]) --> deque object\ncontextlib.nullcontext(??)\ncontextlib.redirect_stderr(??)\ncontextlib.redirect_stdout(??)\ncontextlib.suppress(??)\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncontextvars.Context(??)\ncontextvars.ContextVar(??)\ncontextvars.Token(??)\ncontextvars.copy_context(??)\ncopy.Error(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_BLOWFISH(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib(??)\nctypes.macholib.dyld(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(??)\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(??)\nctypes.macholib.dyld.combinations_with_replacement(??)\nctypes.macholib.dyld.compress(??)\nctypes.macholib.dyld.count(??)\nctypes.macholib.dyld.cycle(??)\nctypes.macholib.dyld.dropwhile(??)\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(??)\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(??)\nctypes.macholib.dyld.islice(iterable, stop) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(??)\nctypes.macholib.dyld.product(*iterables, repeat=1) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(??)\nctypes.macholib.dyld.takewhile(??)\nctypes.macholib.dyld.tee(??)\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib(??)\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.shutil(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii(??)\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.ncurses_version(??)\ncurses.newpad(??)\ncurses.newwin(nlines, ncols, [begin_y=0, begin_x=0])\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.update_lines_cols(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.window(??)\ncurses.wrapper(??)\ndataclasses.Field(??)\ndataclasses.FrozenInstanceError(??)\ndataclasses.InitVar(??)\ndataclasses.MISSING(??)\ndataclasses.asdict(??)\ndataclasses.astuple(??)\ndataclasses.builtins(??)\ndataclasses.copy(??)\ndataclasses.dataclass(??)\ndataclasses.field(??)\ndataclasses.fields(??)\ndataclasses.functools(??)\ndataclasses.inspect(??)\ndataclasses.is_dataclass(??)\ndataclasses.keyword(??)\ndataclasses.make_dataclass(??)\ndataclasses.re(??)\ndataclasses.replace(??)\ndataclasses.sys(??)\ndataclasses.types(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.sys(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(??)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.diff_bytes(??)\ndifflib.get_close_matches(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndir([object]) -> list of strings\ndis.Bytecode(??)\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.FORMAT_VALUE\ndis.FORMAT_VALUE_CONVERTERS(??)\ndis.HAVE_ARGUMENT\ndis.Instruction(??)\ndis.MAKE_FUNCTION\ndis.MAKE_FUNCTION_FLAGS(??)\ndis.cmp_op(??)\ndis.code_info(??)\ndis.collections(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.get_instructions(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.io(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.stack_effect(??)\ndis.sys(??)\ndis.types(??)\ndivmod(??)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.FAIL_FAST\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\ndummy_threading.Barrier(??)\ndummy_threading.BoundedSemaphore(??)\ndummy_threading.BrokenBarrierError(??)\ndummy_threading.Condition(??)\ndummy_threading.Event(??)\ndummy_threading.ExceptHookArgs(??)\ndummy_threading.Lock(??)\ndummy_threading.RLock(??)\ndummy_threading.Semaphore(??)\ndummy_threading.TIMEOUT_MAX\ndummy_threading.Thread(??)\ndummy_threading.ThreadError(??)\ndummy_threading.Timer(??)\ndummy_threading.active_count(??)\ndummy_threading.current_thread(??)\ndummy_threading.enumerate(??)\ndummy_threading.excepthook(??)\ndummy_threading.get_ident(??)\ndummy_threading.local(??)\ndummy_threading.main_thread(??)\ndummy_threading.setprofile(??)\ndummy_threading.settrace(??)\ndummy_threading.stack_size(??)\ndummy_threading.threading(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.contentmanager(??)\nemail.contentmanager.ContentManager(??)\nemail.contentmanager.binascii(??)\nemail.contentmanager.email(??)\nemail.contentmanager.get_and_fixup_unknown_message_content(??)\nemail.contentmanager.get_message_content(??)\nemail.contentmanager.get_non_text_content(??)\nemail.contentmanager.get_text_content(??)\nemail.contentmanager.maintype\nemail.contentmanager.quoprimime(??)\nemail.contentmanager.raw_data_manager(??)\nemail.contentmanager.set_bytes_content(??)\nemail.contentmanager.set_message_content(??)\nemail.contentmanager.set_text_content(??)\nemail.contentmanager.subtype\nemail.contentmanager.typ(??)\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64LengthDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.StringIO(??)\nemail.feedparser.compat32(??)\nemail.feedparser.deque([iterable[, maxlen]]) --> deque object\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.re(??)\nemail.generator(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO(??)\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.NL\nemail.generator.NLCRE(??)\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.deepcopy(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.MappingProxyType(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO(??)\nemail.message.Charset(??)\nemail.message.EmailMessage(??)\nemail.message.MIMEPart(??)\nemail.message.Message(??)\nemail.message.Policy(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.quopri(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO(??)\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.email(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.Charset(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.parser(??)\nemail.parser.BytesFeedParser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.policy(??)\nemail.policy.Compat32(??)\nemail.policy.EmailMessage(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.SMTPUTF8(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.linesep_splitter(??)\nemail.policy.raw_data_manager(??)\nemail.policy.re(??)\nemail.policy.strict(??)\nemail.policy.sys(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nensurepip.bootstrap(??)\nensurepip.os(??)\nensurepip.pkgutil(??)\nensurepip.sys(??)\nensurepip.tempfile(??)\nensurepip.version(??)\nenum.DynamicClassAttribute(??)\nenum.Enum(??)\nenum.EnumMeta(??)\nenum.Flag(??)\nenum.IntEnum(??)\nenum.IntFlag(??)\nenum.MappingProxyType(??)\nenum.auto(??)\nenum.sys(??)\nenum.unique(??)\nenumerate(??)\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTRECOVERABLE\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EOWNERDEAD\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(??)\nexec(??)\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfilecmp.BUFSIZE\nfilecmp.DEFAULT_IGNORES(??)\nfilecmp.clear_cache(??)\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(??)\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.FileInput([files[, inplace[, backup]]], *, mode=None, openhook=None)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(??)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(??)\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(??)\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nformatter.warnings(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.gcd(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MAXLINE\nftplib.MSG_OOB\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.RLock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.cached_property(??)\nfunctools.cmp_to_key(??)\nfunctools.get_cache_token(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.partialmethod(??)\nfunctools.recursive_repr(??)\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.singledispatch(??)\nfunctools.singledispatchmethod(??)\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect(??)\ngc.disable(??)\ngc.enable(??)\ngc.freeze(??)\ngc.garbage(??)\ngc.get_count(??)\ngc.get_debug(??)\ngc.get_freeze_count(??)\ngc.get_objects(??)\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_stats(??)\ngc.get_threshold(??)\ngc.is_tracked(??)\ngc.isenabled(??)\ngc.set_debug(??)\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngc.unfreeze(??)\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.samefile(??)\ngenericpath.sameopenfile(??)\ngenericpath.samestat(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.contextlib(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.io(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.dnpgettext(??)\ngettext.dpgettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.locale(??)\ngettext.ngettext(??)\ngettext.npgettext(??)\ngettext.os(??)\ngettext.pgettext(??)\ngettext.re(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.escape(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglobals(??)\ngzip.BadGzipFile(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.main(??)\ngzip.open(??)\ngzip.os(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(??)\nhash(??)\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.blake2b(??)\nhashlib.blake2s(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.pbkdf2_hmac(??)\nhashlib.scrypt(??)\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha3_224([data]) -> SHA3 object\nhashlib.sha3_256([data]) -> SHA3 object\nhashlib.sha3_384([data]) -> SHA3 object\nhashlib.sha3_512([data]) -> SHA3 object\nhashlib.sha512(??)\nhashlib.shake_128([data]) -> SHAKE object\nhashlib.shake_256([data]) -> SHAKE object\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(??)\nheapq.heappushpop(??)\nheapq.heapreplace(??)\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nhelp(??)\nhex(??)\nhmac.HMAC(??)\nhmac.compare_digest(??)\nhmac.digest(??)\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.unescape(??)\nhtml.parser.warnings(??)\nhtml.unescape(??)\nhttp.HTTPStatus(??)\nhttp.IntEnum(??)\nhttp.client(??)\nhttp.client.ACCEPTED(??)\nhttp.client.ALREADY_REPORTED(??)\nhttp.client.BAD_GATEWAY(??)\nhttp.client.BAD_REQUEST(??)\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT(??)\nhttp.client.CONTINUE(??)\nhttp.client.CREATED(??)\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EXPECTATION_FAILED(??)\nhttp.client.FAILED_DEPENDENCY(??)\nhttp.client.FORBIDDEN(??)\nhttp.client.FOUND(??)\nhttp.client.GATEWAY_TIMEOUT(??)\nhttp.client.GONE(??)\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED(??)\nhttp.client.IM_USED(??)\nhttp.client.INSUFFICIENT_STORAGE(??)\nhttp.client.INTERNAL_SERVER_ERROR(??)\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED(??)\nhttp.client.LOCKED(??)\nhttp.client.LOOP_DETECTED(??)\nhttp.client.LineTooLong(??)\nhttp.client.METHOD_NOT_ALLOWED(??)\nhttp.client.MISDIRECTED_REQUEST(??)\nhttp.client.MOVED_PERMANENTLY(??)\nhttp.client.MULTIPLE_CHOICES(??)\nhttp.client.MULTI_STATUS(??)\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED(??)\nhttp.client.NON_AUTHORITATIVE_INFORMATION(??)\nhttp.client.NOT_ACCEPTABLE(??)\nhttp.client.NOT_EXTENDED(??)\nhttp.client.NOT_FOUND(??)\nhttp.client.NOT_IMPLEMENTED(??)\nhttp.client.NOT_MODIFIED(??)\nhttp.client.NO_CONTENT(??)\nhttp.client.NotConnected(??)\nhttp.client.OK(??)\nhttp.client.PARTIAL_CONTENT(??)\nhttp.client.PAYMENT_REQUIRED(??)\nhttp.client.PERMANENT_REDIRECT(??)\nhttp.client.PRECONDITION_FAILED(??)\nhttp.client.PRECONDITION_REQUIRED(??)\nhttp.client.PROCESSING(??)\nhttp.client.PROXY_AUTHENTICATION_REQUIRED(??)\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE(??)\nhttp.client.REQUEST_ENTITY_TOO_LARGE(??)\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??)\nhttp.client.REQUEST_TIMEOUT(??)\nhttp.client.REQUEST_URI_TOO_LONG(??)\nhttp.client.RESET_CONTENT(??)\nhttp.client.RemoteDisconnected(??)\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER(??)\nhttp.client.SERVICE_UNAVAILABLE(??)\nhttp.client.SWITCHING_PROTOCOLS(??)\nhttp.client.TEMPORARY_REDIRECT(??)\nhttp.client.TOO_MANY_REQUESTS(??)\nhttp.client.UNAUTHORIZED(??)\nhttp.client.UNPROCESSABLE_ENTITY(??)\nhttp.client.UNSUPPORTED_MEDIA_TYPE(??)\nhttp.client.UPGRADE_REQUIRED(??)\nhttp.client.USE_PROXY(??)\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.VARIANT_ALSO_NEGOTIATES(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.http(??)\nhttp.client.io(??)\nhttp.client.parse_headers(??)\nhttp.client.re(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.os(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.HTTPStatus(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.ThreadingHTTPServer(??)\nhttp.server.copy(??)\nhttp.server.datetime(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.partial(func, *args, **keywords) - new function with partial application\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(??)\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.DEFAULT_BUFFER_SIZE\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.PathLike(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exr(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_webp(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.SourcelessFileLoader(??)\nimp.acquire_lock(??)\nimp.cache_from_source(??)\nimp.create_dynamic(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.importlib(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held(??)\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock(??)\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.types(??)\nimp.util(??)\nimp.warnings(??)\nimportlib.abc(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.ResourceReader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.abc.warnings(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.ModuleSpec(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.metadata.ConfigParser(??)\nimportlib.metadata.Distribution(??)\nimportlib.metadata.DistributionFinder(??)\nimportlib.metadata.EntryPoint(??)\nimportlib.metadata.FileHash(??)\nimportlib.metadata.MetaPathFinder(??)\nimportlib.metadata.PackageNotFoundError(??)\nimportlib.metadata.PackagePath(??)\nimportlib.metadata.PathDistribution(??)\nimportlib.metadata.abc(??)\nimportlib.metadata.collections(??)\nimportlib.metadata.csv(??)\nimportlib.metadata.distribution(??)\nimportlib.metadata.distributions(??)\nimportlib.metadata.email(??)\nimportlib.metadata.entry_points(??)\nimportlib.metadata.files(??)\nimportlib.metadata.functools(??)\nimportlib.metadata.import_module(??)\nimportlib.metadata.io(??)\nimportlib.metadata.itertools(??)\nimportlib.metadata.metadata(??)\nimportlib.metadata.operator(??)\nimportlib.metadata.pathlib(??)\nimportlib.metadata.re(??)\nimportlib.metadata.requires(??)\nimportlib.metadata.starmap(??)\nimportlib.metadata.suppress(??)\nimportlib.metadata.sys(??)\nimportlib.metadata.version(??)\nimportlib.reload(??)\nimportlib.resources.BinaryIO(??)\nimportlib.resources.BytesIO(??)\nimportlib.resources.Iterable(??)\nimportlib.resources.Iterator(??)\nimportlib.resources.ModuleType(??)\nimportlib.resources.Optional(??)\nimportlib.resources.Package(??)\nimportlib.resources.Path(??)\nimportlib.resources.Resource(??)\nimportlib.resources.ResourceLoader(??)\nimportlib.resources.Set(??)\nimportlib.resources.TextIO(??)\nimportlib.resources.TextIOWrapper(??)\nimportlib.resources.Union(??)\nimportlib.resources.ZipImportError(??)\nimportlib.resources.cast(??)\nimportlib.resources.contents(??)\nimportlib.resources.contextmanager(??)\nimportlib.resources.import_module(??)\nimportlib.resources.is_resource(??)\nimportlib.resources.open_binary(??)\nimportlib.resources.open_text(??)\nimportlib.resources.os(??)\nimportlib.resources.path(??)\nimportlib.resources.read_binary(??)\nimportlib.resources.read_text(??)\nimportlib.resources.resources_abc(??)\nimportlib.resources.suppress(??)\nimportlib.resources.tempfile(??)\nimportlib.sys(??)\nimportlib.types(??)\nimportlib.util(??)\nimportlib.util.LazyLoader(??)\nimportlib.util.MAGIC_NUMBER\nimportlib.util.abc(??)\nimportlib.util.cache_from_source(??)\nimportlib.util.contextmanager(??)\nimportlib.util.decode_source(??)\nimportlib.util.find_spec(??)\nimportlib.util.functools(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.module_from_spec(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\nimportlib.util.source_from_cache(??)\nimportlib.util.source_hash(??)\nimportlib.util.spec_from_file_location(??)\nimportlib.util.spec_from_loader(??)\nimportlib.util.sys(??)\nimportlib.util.types(??)\nimportlib.util.warnings(??)\nimportlib.warnings(??)\ninput(??)\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CORO_CLOSED\ninspect.CORO_CREATED\ninspect.CORO_RUNNING\ninspect.CORO_SUSPENDED\ninspect.CO_ASYNC_GENERATOR\ninspect.CO_COROUTINE\ninspect.CO_GENERATOR\ninspect.CO_ITERABLE_COROUTINE\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FrameInfo(frame, filename, lineno, function, code_context, index)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.abc(??)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.collections(??)\ninspect.currentframe(??)\ninspect.dis(??)\ninspect.enum(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getcoroutinelocals(??)\ninspect.getcoroutinestate(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isasyncgen(??)\ninspect.isasyncgenfunction(??)\ninspect.isawaitable(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.iscoroutine(??)\ninspect.iscoroutinefunction(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.token(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.unwrap(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint([x]) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO(??)\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nio.open_code(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(??)\nissubclass(??)\niter(iterable) -> iterator\nitertools.accumulate(??)\nitertools.chain(*iterables) --> chain object\nitertools.combinations(??)\nitertools.combinations_with_replacement(??)\nitertools.compress(??)\nitertools.count(??)\nitertools.cycle(??)\nitertools.dropwhile(??)\nitertools.filterfalse(??)\nitertools.groupby(??)\nitertools.islice(iterable, stop) --> islice object\nitertools.permutations(??)\nitertools.product(*iterables, repeat=1) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(??)\nitertools.takewhile(??)\nitertools.tee(??)\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecodeError(??)\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.codecs(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS(??)\njson.decoder.JSONArray(??)\njson.decoder.JSONDecodeError(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.detect_encoding(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(string) -> string\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring(??)\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.argparse(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.kwlist(??)\nlen(??)\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.functools(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.lazycache(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist(??)\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.currency(??)\nlocale.delocalize(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.k\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.v\nlocale.windows_locale(??)\nlocals(??)\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.collections(??)\nlogging.config(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingMixin(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.errno(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.copy(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.re(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(??)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(??)\nlzma.open(??)\nlzma.os(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.lineno_sort_key(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmailcap.warnings(??)\nmap(func, *iterables) --> map object\nmarshal.dump(??)\nmarshal.dumps(??)\nmarshal.load(??)\nmarshal.loads(??)\nmarshal.version\nmax(iterable, *[, default=obj, key=func]) -> value\nmemoryview(??)\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable, *[, default=obj, key=func]) -> value\nmodulefinder.AddPackagePath(??)\nmodulefinder.EXTENDED_ARG\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.importlib(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmodulefinder.types(??)\nmodulefinder.warnings(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.rebuild_connection(??)\nmultiprocessing.connection.reduce_connection(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.selectors(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.util(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.context(??)\nmultiprocessing.context.AuthenticationError(??)\nmultiprocessing.context.BaseContext(??)\nmultiprocessing.context.BufferTooShort(??)\nmultiprocessing.context.DefaultContext(??)\nmultiprocessing.context.ForkContext(??)\nmultiprocessing.context.ForkProcess(??)\nmultiprocessing.context.ForkServerContext(??)\nmultiprocessing.context.ForkServerProcess(??)\nmultiprocessing.context.Process(??)\nmultiprocessing.context.ProcessError(??)\nmultiprocessing.context.SpawnContext(??)\nmultiprocessing.context.SpawnProcess(??)\nmultiprocessing.context.TimeoutError(??)\nmultiprocessing.context.assert_spawning(??)\nmultiprocessing.context.get_spawning_popen(??)\nmultiprocessing.context.os(??)\nmultiprocessing.context.process(??)\nmultiprocessing.context.reduction(??)\nmultiprocessing.context.set_spawning_popen(??)\nmultiprocessing.context.sys(??)\nmultiprocessing.context.threading(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list(??)\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forkserver.ForkServer(??)\nmultiprocessing.forkserver.MAXFDS_TO_SEND\nmultiprocessing.forkserver.SIGNED_STRUCT(??)\nmultiprocessing.forkserver.connect_to_new_process(??)\nmultiprocessing.forkserver.connection(??)\nmultiprocessing.forkserver.ensure_running(??)\nmultiprocessing.forkserver.errno(??)\nmultiprocessing.forkserver.get_inherited_fds(??)\nmultiprocessing.forkserver.main(??)\nmultiprocessing.forkserver.os(??)\nmultiprocessing.forkserver.process(??)\nmultiprocessing.forkserver.read_signed(??)\nmultiprocessing.forkserver.reduction(??)\nmultiprocessing.forkserver.resource_tracker(??)\nmultiprocessing.forkserver.selectors(??)\nmultiprocessing.forkserver.set_forkserver_preload(??)\nmultiprocessing.forkserver.signal(??)\nmultiprocessing.forkserver.socket(??)\nmultiprocessing.forkserver.spawn(??)\nmultiprocessing.forkserver.struct(??)\nmultiprocessing.forkserver.sys(??)\nmultiprocessing.forkserver.threading(??)\nmultiprocessing.forkserver.util(??)\nmultiprocessing.forkserver.warnings(??)\nmultiprocessing.forkserver.write_signed(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_all_start_methods(??)\nmultiprocessing.get_context(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.get_start_method(??)\nmultiprocessing.heap(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.defaultdict(default_factory[, ...]) --> dict with default factory\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.rebuild_arena(??)\nmultiprocessing.heap.reduce_arena(??)\nmultiprocessing.heap.reduction(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.heap.util(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BasePoolProxy(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.HAS_SHMEM(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.ProcessError(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.SharedMemoryManager(??)\nmultiprocessing.managers.SharedMemoryServer(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.get_context(??)\nmultiprocessing.managers.get_spawning_popen(??)\nmultiprocessing.managers.getpid(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.os(??)\nmultiprocessing.managers.pool(??)\nmultiprocessing.managers.process(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.reduction(??)\nmultiprocessing.managers.shared_memory(??)\nmultiprocessing.managers.signal(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.time(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.parent_process(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.AsyncResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.Empty(??)\nmultiprocessing.pool.ExceptionWithTraceback(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.INIT\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.RemoteTraceback(??)\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.get_context(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.os(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.rebuild_exc(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.traceback(??)\nmultiprocessing.pool.util(??)\nmultiprocessing.pool.wait(??)\nmultiprocessing.pool.warnings(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.popen_fork.Popen(??)\nmultiprocessing.popen_fork.os(??)\nmultiprocessing.popen_fork.signal(??)\nmultiprocessing.popen_fork.util(??)\nmultiprocessing.popen_forkserver.Popen(??)\nmultiprocessing.popen_forkserver.forkserver(??)\nmultiprocessing.popen_forkserver.io(??)\nmultiprocessing.popen_forkserver.os(??)\nmultiprocessing.popen_forkserver.popen_fork(??)\nmultiprocessing.popen_forkserver.reduction(??)\nmultiprocessing.popen_forkserver.set_spawning_popen(??)\nmultiprocessing.popen_forkserver.spawn(??)\nmultiprocessing.popen_forkserver.util(??)\nmultiprocessing.popen_spawn_posix.Popen(??)\nmultiprocessing.popen_spawn_posix.io(??)\nmultiprocessing.popen_spawn_posix.os(??)\nmultiprocessing.popen_spawn_posix.popen_fork(??)\nmultiprocessing.popen_spawn_posix.reduction(??)\nmultiprocessing.popen_spawn_posix.set_spawning_popen(??)\nmultiprocessing.popen_spawn_posix.spawn(??)\nmultiprocessing.popen_spawn_posix.util(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.BaseProcess(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.parent_process(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.process.threading(??)\nmultiprocessing.queues(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.connection(??)\nmultiprocessing.queues.context(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.is_exiting(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reducer(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ABCMeta(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.AbstractReducer(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.HAVE_SEND_HANDLE(??)\nmultiprocessing.reduction.array(??)\nmultiprocessing.reduction.context(??)\nmultiprocessing.reduction.copyreg(??)\nmultiprocessing.reduction.dump(??)\nmultiprocessing.reduction.functools(??)\nmultiprocessing.reduction.io(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.pickle(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.recvfds(??)\nmultiprocessing.reduction.register(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.sendfds(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.resource_sharer.DupFd(??)\nmultiprocessing.resource_sharer.os(??)\nmultiprocessing.resource_sharer.process(??)\nmultiprocessing.resource_sharer.reduction(??)\nmultiprocessing.resource_sharer.signal(??)\nmultiprocessing.resource_sharer.socket(??)\nmultiprocessing.resource_sharer.stop(??)\nmultiprocessing.resource_sharer.sys(??)\nmultiprocessing.resource_sharer.threading(??)\nmultiprocessing.resource_sharer.util(??)\nmultiprocessing.resource_tracker(??)\nmultiprocessing.resource_tracker.ResourceTracker(??)\nmultiprocessing.resource_tracker.ensure_running(??)\nmultiprocessing.resource_tracker.getfd(??)\nmultiprocessing.resource_tracker.main(??)\nmultiprocessing.resource_tracker.os(??)\nmultiprocessing.resource_tracker.register(??)\nmultiprocessing.resource_tracker.signal(??)\nmultiprocessing.resource_tracker.spawn(??)\nmultiprocessing.resource_tracker.sys(??)\nmultiprocessing.resource_tracker.threading(??)\nmultiprocessing.resource_tracker.unregister(??)\nmultiprocessing.resource_tracker.util(??)\nmultiprocessing.resource_tracker.warnings(??)\nmultiprocessing.set_executable(??)\nmultiprocessing.set_forkserver_preload(??)\nmultiprocessing.set_start_method(??)\nmultiprocessing.shared_memory(??)\nmultiprocessing.shared_memory.ShareableList(??)\nmultiprocessing.shared_memory.SharedMemory(??)\nmultiprocessing.shared_memory.errno(??)\nmultiprocessing.shared_memory.mmap(??)\nmultiprocessing.shared_memory.os(??)\nmultiprocessing.shared_memory.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.shared_memory.secrets(??)\nmultiprocessing.shared_memory.struct(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.get_context(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.reduction(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.spawn(??)\nmultiprocessing.spawn.WINEXE(??)\nmultiprocessing.spawn.WINSERVICE(??)\nmultiprocessing.spawn.freeze_support(??)\nmultiprocessing.spawn.get_command_line(??)\nmultiprocessing.spawn.get_executable(??)\nmultiprocessing.spawn.get_preparation_data(??)\nmultiprocessing.spawn.get_start_method(??)\nmultiprocessing.spawn.import_main_path(??)\nmultiprocessing.spawn.is_forking(??)\nmultiprocessing.spawn.old_main_modules(??)\nmultiprocessing.spawn.os(??)\nmultiprocessing.spawn.prepare(??)\nmultiprocessing.spawn.process(??)\nmultiprocessing.spawn.reduction(??)\nmultiprocessing.spawn.runpy(??)\nmultiprocessing.spawn.set_executable(??)\nmultiprocessing.spawn.set_start_method(??)\nmultiprocessing.spawn.spawn_main(??)\nmultiprocessing.spawn.sys(??)\nmultiprocessing.spawn.types(??)\nmultiprocessing.spawn.util(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.context(??)\nmultiprocessing.synchronize.process(??)\nmultiprocessing.synchronize.sem_unlink(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.tempfile(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.synchronize.time(??)\nmultiprocessing.synchronize.util(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.MAXFD\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.close_all_fds_except(??)\nmultiprocessing.util.close_fds(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.process(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.spawnv_passfds(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.sys(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnetrc.stat(??)\nnext(iterator[, default])\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.warnings(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(??)\nopen(??)\noperator.abs(??)\noperator.add(??)\noperator.and_(??)\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(??)\noperator.contains(??)\noperator.countOf(??)\noperator.delitem(??)\noperator.eq(??)\noperator.floordiv(??)\noperator.ge(??)\noperator.getitem(??)\noperator.gt(??)\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imatmul(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(??)\noperator.indexOf(??)\noperator.inv(??)\noperator.invert(??)\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(??)\noperator.is_not(??)\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(??)\noperator.length_hint(??)\noperator.lshift(??)\noperator.lt(??)\noperator.matmul(??)\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(??)\noperator.mul(??)\noperator.ne(??)\noperator.neg(??)\noperator.not_(??)\noperator.or_(??)\noperator.pos(??)\noperator.pow(??)\noperator.rshift(??)\noperator.setitem(??)\noperator.sub(??)\noperator.truediv(??)\noperator.truth(??)\noperator.xor(??)\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(??)\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_TRAPPED\nos.DirEntry(??)\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CLOEXEC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.POSIX_SPAWN_CLOSE\nos.POSIX_SPAWN_DUP2\nos.POSIX_SPAWN_OPEN\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.PathLike(??)\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(??)\nos.WEXITED\nos.WEXITSTATUS(??)\nos.WIFCONTINUED(??)\nos.WIFEXITED(??)\nos.WIFSIGNALED(??)\nos.WIFSTOPPED(??)\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(??)\nos.WTERMSIG(??)\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abc(??)\nos.abort(??)\nos.access(??)\nos.altsep(??)\nos.chdir(??)\nos.chflags(??)\nos.chmod(??)\nos.chown(??)\nos.chroot(??)\nos.close(??)\nos.closerange(??)\nos.confstr(??)\nos.confstr_names(??)\nos.cpu_count(??)\nos.ctermid(??)\nos.curdir\nos.defpath\nos.device_encoding(??)\nos.devnull\nos.dup(??)\nos.dup2(??)\nos.environ(??)\nos.environb(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(??)\nos.execve(??)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(??)\nos.fchmod(??)\nos.fchown(??)\nos.fdopen(??)\nos.fork(??)\nos.forkpty(??)\nos.fpathconf(??)\nos.fsdecode(??)\nos.fsencode(??)\nos.fspath(??)\nos.fstat(??)\nos.fstatvfs(??)\nos.fsync(??)\nos.ftruncate(??)\nos.get_blocking(??)\nos.get_exec_path(??)\nos.get_inheritable(??)\nos.get_terminal_size(??)\nos.getcwd(??)\nos.getcwdb(??)\nos.getegid(??)\nos.getenv(??)\nos.getenvb(??)\nos.geteuid(??)\nos.getgid(??)\nos.getgrouplist(user, group) -> list of groups to which a user belongs\nos.getgroups(??)\nos.getloadavg(??)\nos.getlogin(??)\nos.getpgid(??)\nos.getpgrp(??)\nos.getpid(??)\nos.getppid(??)\nos.getpriority(??)\nos.getsid(??)\nos.getuid(??)\nos.initgroups(username, gid) -> None\nos.isatty(??)\nos.kill(??)\nos.killpg(??)\nos.lchflags(??)\nos.lchmod(??)\nos.lchown(??)\nos.linesep\nos.link(??)\nos.listdir(??)\nos.lockf(??)\nos.lseek(??)\nos.lstat(??)\nos.major(??)\nos.makedev(??)\nos.makedirs(name [, mode=0o777][, exist_ok=False])\nos.minor(??)\nos.mkdir(??)\nos.mkfifo(??)\nos.mknod(??)\nos.name\nos.nice(??)\nos.open(??)\nos.openpty(??)\nos.pardir\nos.path(??)\nos.pathconf(??)\nos.pathconf_names(??)\nos.pathsep\nos.pipe(??)\nos.popen(??)\nos.posix_spawn(??)\nos.posix_spawnp(??)\nos.pread(??)\nos.putenv(??)\nos.pwrite(??)\nos.read(??)\nos.readlink(??)\nos.readv(??)\nos.register_at_fork(??)\nos.remove(??)\nos.removedirs(name)\nos.rename(??)\nos.renames(old, new)\nos.replace(??)\nos.rmdir(??)\nos.scandir(??)\nos.sched_get_priority_max(??)\nos.sched_get_priority_min(??)\nos.sched_yield(??)\nos.sendfile(out, in, offset, count) -> byteswritten\nos.sep\nos.set_blocking(??)\nos.set_inheritable(??)\nos.setegid(??)\nos.seteuid(??)\nos.setgid(??)\nos.setgroups(??)\nos.setpgid(??)\nos.setpgrp(??)\nos.setpriority(??)\nos.setregid(??)\nos.setreuid(??)\nos.setsid(??)\nos.setuid(??)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(??)\nos.stat_result(??)\nos.statvfs(??)\nos.statvfs_result(??)\nos.strerror(??)\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(??)\nos.sync(??)\nos.sys(??)\nos.sysconf(??)\nos.sysconf_names(??)\nos.system(??)\nos.tcgetpgrp(??)\nos.tcsetpgrp(??)\nos.terminal_size(??)\nos.times(??)\nos.times_result(??)\nos.truncate(??)\nos.ttyname(??)\nos.umask(??)\nos.uname(??)\nos.uname_result(??)\nos.unlink(??)\nos.unsetenv(??)\nos.urandom(??)\nos.utime(??)\nos.wait(??)\nos.wait3(??)\nos.wait4(??)\nos.waitpid(??)\nos.walk(??)\nos.write(??)\nos.writev(??)\npathlib.EBADF\npathlib.EINVAL\npathlib.ELOOP\npathlib.ENOENT\npathlib.ENOTDIR\npathlib.Path(??)\npathlib.PosixPath(??)\npathlib.PurePath(??)\npathlib.PurePosixPath(??)\npathlib.PureWindowsPath(??)\npathlib.S_ISBLK(mode) -> bool\npathlib.S_ISCHR(mode) -> bool\npathlib.S_ISDIR(mode) -> bool\npathlib.S_ISFIFO(mode) -> bool\npathlib.S_ISLNK(mode) -> bool\npathlib.S_ISREG(mode) -> bool\npathlib.S_ISSOCK(mode) -> bool\npathlib.Sequence(??)\npathlib.WindowsPath(??)\npathlib.attrgetter(attr, ...) --> attrgetter object\npathlib.fnmatch(??)\npathlib.functools(??)\npathlib.io(??)\npathlib.nt(??)\npathlib.ntpath(??)\npathlib.os(??)\npathlib.posixpath(??)\npathlib.re(??)\npathlib.supports_symlinks(??)\npathlib.sys(??)\npathlib.urlquote_from_bytes(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.traceback(??)\npickle.ADDITEMS\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINBYTES8\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BINUNICODE8\npickle.BUILD\npickle.BYTEARRAY8\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_SET\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FRAME\npickle.FROZENSET\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.MEMOIZE\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWOBJ_EX\npickle.NEWTRUE\npickle.NEXT_BUFFER\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleBuffer(??)\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.READONLY_BUFFER\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.SHORT_BINUNICODE\npickle.STACK_GLOBAL\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.islice(iterable, stop) --> islice object\npickle.load(??)\npickle.loads(??)\npickle.maxsize\npickle.pack(format, v1, v2, ...) -> bytes\npickle.partial(func, *args, **keywords) - new function with partial application\npickle.re(??)\npickle.sys(??)\npickle.unpack(??)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.TAKEN_FROM_ARGUMENT4U\npickletools.TAKEN_FROM_ARGUMENT8U\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytearray8(??)\npickletools.bytes1(??)\npickletools.bytes4(??)\npickletools.bytes8(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.io(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybuffer(??)\npickletools.pybytearray(??)\npickletools.pybytes(??)\npickletools.pybytes_or_str(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyfrozenset(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pyset(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_bytearray8(??)\npickletools.read_bytes1(??)\npickletools.read_bytes4(??)\npickletools.read_bytes8(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_uint4(??)\npickletools.read_uint8(??)\npickletools.read_unicodestring1(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestring8(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.sys(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.uint4(??)\npickletools.uint8(??)\npickletools.unicodestring1(??)\npickletools.unicodestring4(??)\npickletools.unicodestring8(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleInfo(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.namedtuple(??)\npkgutil.os(??)\npkgutil.read_code(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warnings(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.architecture(??)\nplatform.collections(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(system, node, release, version, machine, processor)\nplatform.version(??)\nplatform.win32_edition(??)\nplatform.win32_is_iot(??)\nplatform.win32_ver(??)\nplistlib.BytesIO(??)\nplistlib.Data(??)\nplistlib.FMT_BINARY(??)\nplistlib.FMT_XML(??)\nplistlib.InvalidFileException(??)\nplistlib.PLISTHEADER\nplistlib.ParserCreate(??)\nplistlib.PlistFormat(??)\nplistlib.UID(??)\nplistlib.binascii(??)\nplistlib.codecs(??)\nplistlib.contextlib(??)\nplistlib.datetime(??)\nplistlib.dump(??)\nplistlib.dumps(??)\nplistlib.enum(??)\nplistlib.itertools(??)\nplistlib.load(??)\nplistlib.loads(??)\nplistlib.os(??)\nplistlib.re(??)\nplistlib.readPlist(??)\nplistlib.readPlistFromBytes(??)\nplistlib.struct(??)\nplistlib.warn(??)\nplistlib.writePlist(??)\nplistlib.writePlistToBytes(??)\npoplib.CR\npoplib.CRLF\npoplib.HAVE_SSL(??)\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.errno(??)\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_TRAPPED\nposix.DirEntry(??)\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CLOEXEC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.POSIX_SPAWN_CLOSE\nposix.POSIX_SPAWN_DUP2\nposix.POSIX_SPAWN_OPEN\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(??)\nposix.WEXITED\nposix.WEXITSTATUS(??)\nposix.WIFCONTINUED(??)\nposix.WIFEXITED(??)\nposix.WIFSIGNALED(??)\nposix.WIFSTOPPED(??)\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(??)\nposix.WTERMSIG(??)\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort(??)\nposix.access(??)\nposix.chdir(??)\nposix.chflags(??)\nposix.chmod(??)\nposix.chown(??)\nposix.chroot(??)\nposix.close(??)\nposix.closerange(??)\nposix.confstr(??)\nposix.confstr_names(??)\nposix.cpu_count(??)\nposix.ctermid(??)\nposix.device_encoding(??)\nposix.dup(??)\nposix.dup2(??)\nposix.environ(??)\nposix.error(??)\nposix.execv(??)\nposix.execve(??)\nposix.fchdir(??)\nposix.fchmod(??)\nposix.fchown(??)\nposix.fork(??)\nposix.forkpty(??)\nposix.fpathconf(??)\nposix.fspath(??)\nposix.fstat(??)\nposix.fstatvfs(??)\nposix.fsync(??)\nposix.ftruncate(??)\nposix.get_blocking(??)\nposix.get_inheritable(??)\nposix.get_terminal_size(??)\nposix.getcwd(??)\nposix.getcwdb(??)\nposix.getegid(??)\nposix.geteuid(??)\nposix.getgid(??)\nposix.getgrouplist(user, group) -> list of groups to which a user belongs\nposix.getgroups(??)\nposix.getloadavg(??)\nposix.getlogin(??)\nposix.getpgid(??)\nposix.getpgrp(??)\nposix.getpid(??)\nposix.getppid(??)\nposix.getpriority(??)\nposix.getsid(??)\nposix.getuid(??)\nposix.initgroups(username, gid) -> None\nposix.isatty(??)\nposix.kill(??)\nposix.killpg(??)\nposix.lchflags(??)\nposix.lchmod(??)\nposix.lchown(??)\nposix.link(??)\nposix.listdir(??)\nposix.lockf(??)\nposix.lseek(??)\nposix.lstat(??)\nposix.major(??)\nposix.makedev(??)\nposix.minor(??)\nposix.mkdir(??)\nposix.mkfifo(??)\nposix.mknod(??)\nposix.nice(??)\nposix.open(??)\nposix.openpty(??)\nposix.pathconf(??)\nposix.pathconf_names(??)\nposix.pipe(??)\nposix.posix_spawn(??)\nposix.posix_spawnp(??)\nposix.pread(??)\nposix.putenv(??)\nposix.pwrite(??)\nposix.read(??)\nposix.readlink(??)\nposix.readv(??)\nposix.register_at_fork(??)\nposix.remove(??)\nposix.rename(??)\nposix.replace(??)\nposix.rmdir(??)\nposix.scandir(??)\nposix.sched_get_priority_max(??)\nposix.sched_get_priority_min(??)\nposix.sched_yield(??)\nposix.sendfile(out, in, offset, count) -> byteswritten\nposix.set_blocking(??)\nposix.set_inheritable(??)\nposix.setegid(??)\nposix.seteuid(??)\nposix.setgid(??)\nposix.setgroups(??)\nposix.setpgid(??)\nposix.setpgrp(??)\nposix.setpriority(??)\nposix.setregid(??)\nposix.setreuid(??)\nposix.setsid(??)\nposix.setuid(??)\nposix.stat(??)\nposix.stat_result(??)\nposix.statvfs(??)\nposix.statvfs_result(??)\nposix.strerror(??)\nposix.symlink(??)\nposix.sync(??)\nposix.sysconf(??)\nposix.sysconf_names(??)\nposix.system(??)\nposix.tcgetpgrp(??)\nposix.tcsetpgrp(??)\nposix.terminal_size(??)\nposix.times(??)\nposix.times_result(??)\nposix.truncate(??)\nposix.ttyname(??)\nposix.umask(??)\nposix.uname(??)\nposix.uname_result(??)\nposix.unlink(??)\nposix.unsetenv(??)\nposix.urandom(??)\nposix.utime(??)\nposix.wait(??)\nposix.wait3(??)\nposix.wait4(??)\nposix.waitpid(??)\nposix.write(??)\nposix.writev(??)\npow(??)\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pp(??)\npprint.pprint(??)\npprint.re(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(??)\npstats.Enum(??)\npstats.SortKey(??)\npstats.Stats(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(??)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.tty(??)\npwd.getpwall(??)\npwd.getpwnam(??)\npwd.getpwuid(??)\npwd.struct_passwd(??)\npy_compile.PyCompileError(??)\npy_compile.PycInvalidationMode(??)\npy_compile.compile(??)\npy_compile.enum(??)\npy_compile.importlib(??)\npy_compile.main(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque([iterable[, maxlen]]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.sort_attributes(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.urllib(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.SimpleQueue(??)\nqueue.deque([iterable[, maxlen]]) --> deque object\nqueue.heappop(??)\nqueue.heappush(??)\nqueue.threading(??)\nqueue.time(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(??)\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.choices(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates an int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange(stop) -> range object\nre.A(??)\nre.ASCII(??)\nre.DEBUG(??)\nre.DOTALL(??)\nre.I(??)\nre.IGNORECASE(??)\nre.L(??)\nre.LOCALE(??)\nre.M(??)\nre.MULTILINE(??)\nre.Match(??)\nre.Pattern(??)\nre.RegexFlag(??)\nre.S(??)\nre.Scanner(??)\nre.T(??)\nre.TEMPLATE(??)\nre.U(??)\nre.UNICODE(??)\nre.VERBOSE(??)\nre.X(??)\nre.compile(??)\nre.copyreg(??)\nre.enum(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.fullmatch(??)\nre.functools(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.template(??)\nrepr(??)\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, stop) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nreversed(??)\nrlcompleter.Completer(??)\nrlcompleter.atexit(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(??)\nrunpy.get_importer(??)\nrunpy.importlib(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nrunpy.types(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nsecrets.DEFAULT_ENTROPY\nsecrets.SystemRandom(??)\nsecrets.base64(??)\nsecrets.binascii(??)\nsecrets.choice(??)\nsecrets.compare_digest(??)\nsecrets.os(??)\nsecrets.randbelow(??)\nsecrets.randbits(??)\nsecrets.token_bytes(??)\nsecrets.token_hex(??)\nsecrets.token_urlsafe(??)\nselectors.ABCMeta(??)\nselectors.BaseSelector(??)\nselectors.DefaultSelector(??)\nselectors.EVENT_READ\nselectors.EVENT_WRITE\nselectors.KqueueSelector(??)\nselectors.Mapping(??)\nselectors.PollSelector(??)\nselectors.SelectSelector(??)\nselectors.SelectorKey(fileobj, fd, events, data)\nselectors.abstractmethod(??)\nselectors.math(??)\nselectors.namedtuple(??)\nselectors.select(??)\nselectors.sys(??)\nset() -> new empty set object\nsetattr(??)\nshelve.BsdDbShelf(??)\nshelve.BytesIO(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(??)\nshelve.Shelf(??)\nshelve.Unpickler(??)\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque([iterable[, maxlen]]) --> deque object\nshlex.join(??)\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.COPY_BUFSIZE\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SameFileError(??)\nshutil.SpecialFileError(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(??)\nshutil.getpwnam(??)\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.nt(??)\nshutil.os(??)\nshutil.posix(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.Handlers(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT(??)\nsignal.SIGALRM(??)\nsignal.SIGBUS(??)\nsignal.SIGCHLD(??)\nsignal.SIGCONT(??)\nsignal.SIGEMT(??)\nsignal.SIGFPE(??)\nsignal.SIGHUP(??)\nsignal.SIGILL(??)\nsignal.SIGINFO(??)\nsignal.SIGINT(??)\nsignal.SIGIO(??)\nsignal.SIGIOT(??)\nsignal.SIGKILL(??)\nsignal.SIGPIPE(??)\nsignal.SIGPROF(??)\nsignal.SIGQUIT(??)\nsignal.SIGSEGV(??)\nsignal.SIGSTOP(??)\nsignal.SIGSYS(??)\nsignal.SIGTERM(??)\nsignal.SIGTRAP(??)\nsignal.SIGTSTP(??)\nsignal.SIGTTIN(??)\nsignal.SIGTTOU(??)\nsignal.SIGURG(??)\nsignal.SIGUSR1(??)\nsignal.SIGUSR2(??)\nsignal.SIGVTALRM(??)\nsignal.SIGWINCH(??)\nsignal.SIGXCPU(??)\nsignal.SIGXFSZ(??)\nsignal.SIG_BLOCK(??)\nsignal.SIG_DFL(??)\nsignal.SIG_IGN(??)\nsignal.SIG_SETMASK(??)\nsignal.SIG_UNBLOCK(??)\nsignal.Sigmasks(??)\nsignal.Signals(??)\nsignal.alarm(??)\nsignal.default_int_handler(...)\nsignal.getitimer(??)\nsignal.getsignal(??)\nsignal.pause(??)\nsignal.pthread_kill(??)\nsignal.pthread_sigmask(??)\nsignal.raise_signal(??)\nsignal.set_wakeup_fd(fd, *, warn_on_full_buffer=True) -> fd\nsignal.setitimer(??)\nsignal.siginterrupt(??)\nsignal.signal(??)\nsignal.sigpending(??)\nsignal.sigwait(??)\nsignal.strsignal(??)\nsignal.valid_signals(??)\nsip5.argument_parser(??)\nsip5.argument_parser.ArgParser(??)\nsip5.argument_parser.ArgumentParser(??)\nsip5.argument_parser.SIP_VERSION_STR\nsip5.builder.Builder(??)\nsip5.builder.DistutilsBuilder(??)\nsip5.builder.Option(??)\nsip5.builder.Project(??)\nsip5.builder.PyProjectOptionException(??)\nsip5.builder.PyProjectUndefinedOptionException(??)\nsip5.builder.bindings(??)\nsip5.builder.bindings.Bindings(??)\nsip5.builder.bindings.Configurable(??)\nsip5.builder.bindings.GeneratedBindings(??)\nsip5.builder.bindings.Option(??)\nsip5.builder.bindings.PyProjectUndefinedOptionException(??)\nsip5.builder.bindings.SIP_VERSION_STR\nsip5.builder.bindings.UserException(??)\nsip5.builder.bindings.copy_nonshared_sources(??)\nsip5.builder.bindings.generateAPI(??)\nsip5.builder.bindings.generateCode(??)\nsip5.builder.bindings.generateExtracts(??)\nsip5.builder.bindings.generateTypeHints(??)\nsip5.builder.bindings.generateXML(??)\nsip5.builder.bindings.os(??)\nsip5.builder.bindings.parse(??)\nsip5.builder.bindings.sys(??)\nsip5.builder.builder(??)\nsip5.builder.builder.ABC(??)\nsip5.builder.builder.Builder(??)\nsip5.builder.builder.DistutilsBuilder(??)\nsip5.builder.builder.abstractmethod(??)\nsip5.builder.configurable(??)\nsip5.builder.configurable.Configurable(??)\nsip5.builder.configurable.Option(??)\nsip5.builder.configurable.PyProjectOptionException(??)\nsip5.builder.distinfo(??)\nsip5.builder.distinfo.SIP_VERSION_STR\nsip5.builder.distinfo.UserException(??)\nsip5.builder.distinfo.WHEEL_VERSION\nsip5.builder.distinfo.base64(??)\nsip5.builder.distinfo.create_distinfo(??)\nsip5.builder.distinfo.hashlib(??)\nsip5.builder.distinfo.os(??)\nsip5.builder.distinfo.shutil(??)\nsip5.builder.distinfo.sys(??)\nsip5.builder.project(??)\nsip5.builder.project.Bindings(??)\nsip5.builder.project.Builder(??)\nsip5.builder.project.Configurable(??)\nsip5.builder.project.Option(??)\nsip5.builder.project.OrderedDict(??)\nsip5.builder.project.Project(??)\nsip5.builder.project.PyProject(??)\nsip5.builder.project.PyProjectException(??)\nsip5.builder.project.PyProjectOptionException(??)\nsip5.builder.project.PyProjectUndefinedOptionException(??)\nsip5.builder.project.SIP_VERSION\nsip5.builder.project.SIP_VERSION_STR\nsip5.builder.project.UserException(??)\nsip5.builder.project.copy_sip_h(??)\nsip5.builder.project.create_distinfo(??)\nsip5.builder.project.get_python_lib(??)\nsip5.builder.project.glob(??)\nsip5.builder.project.importlib(??)\nsip5.builder.project.os(??)\nsip5.builder.project.resolve_abi_version(??)\nsip5.builder.project.set_globals(??)\nsip5.builder.project.shutil(??)\nsip5.builder.project.sys(??)\nsip5.builder.project.tempfile(??)\nsip5.builder.project.warnings(??)\nsip5.builder.pyproject(??)\nsip5.builder.pyproject.OrderedDict(??)\nsip5.builder.pyproject.PyProject(??)\nsip5.builder.pyproject.PyProjectException(??)\nsip5.builder.pyproject.PyProjectOptionException(??)\nsip5.builder.pyproject.PyProjectUndefinedOptionException(??)\nsip5.builder.pyproject.UserFileException(??)\nsip5.builder.pyproject.UserParseException(??)\nsip5.builder.pyproject.toml(??)\nsip5.builder.tools(??)\nsip5.builder.tools.build(??)\nsip5.builder.tools.build.Project(??)\nsip5.builder.tools.build.handle_exception(??)\nsip5.builder.tools.build.main(??)\nsip5.builder.tools.install.Project(??)\nsip5.builder.tools.install.handle_exception(??)\nsip5.builder.tools.install.main(??)\nsip5.builder.tools.sdist.Project(??)\nsip5.builder.tools.sdist.handle_exception(??)\nsip5.builder.tools.sdist.main(??)\nsip5.builder.tools.wheel.Project(??)\nsip5.builder.tools.wheel.handle_exception(??)\nsip5.builder.tools.wheel.main(??)\nsip5.code_generator(??)\nsip5.exceptions(??)\nsip5.exceptions.UserException(??)\nsip5.exceptions.UserFileException(??)\nsip5.exceptions.UserParseException(??)\nsip5.exceptions.handle_exception(??)\nsip5.exceptions.os(??)\nsip5.exceptions.sys(??)\nsip5.helpers.UserFileException(??)\nsip5.helpers.UserParseException(??)\nsip5.helpers.get_bindings_configuration(??)\nsip5.helpers.os(??)\nsip5.helpers.toml(??)\nsip5.legacy(??)\nsip5.legacy.header(??)\nsip5.legacy.header.ArgumentParser(??)\nsip5.legacy.header.copy_sip_h(??)\nsip5.legacy.header.handle_exception(??)\nsip5.legacy.header.main(??)\nsip5.legacy.header.resolve_abi_version(??)\nsip5.legacy.sip5(??)\nsip5.legacy.sip5.ArgumentParser(??)\nsip5.legacy.sip5.SIP_VERSION\nsip5.legacy.sip5.SIP_VERSION_STR\nsip5.legacy.sip5.UserException(??)\nsip5.legacy.sip5.generateAPI(??)\nsip5.legacy.sip5.generateCode(??)\nsip5.legacy.sip5.generateExtracts(??)\nsip5.legacy.sip5.generateTypeHints(??)\nsip5.legacy.sip5.generateXML(??)\nsip5.legacy.sip5.handle_exception(??)\nsip5.legacy.sip5.main(??)\nsip5.legacy.sip5.parse(??)\nsip5.legacy.sip5.resolve_abi_version(??)\nsip5.legacy.sip5.set_globals(??)\nsip5.legacy.sip5.simplefilter(??)\nsip5.legacy.sip5.sip5(??)\nsip5.module(??)\nsip5.module.abi_version(??)\nsip5.module.abi_version.UserException(??)\nsip5.module.abi_version.get_module_source_dir(??)\nsip5.module.abi_version.get_sip_module_version(??)\nsip5.module.abi_version.os(??)\nsip5.module.abi_version.parse(??)\nsip5.module.abi_version.resolve_abi_version(??)\nsip5.module.copy_nonshared_sources(??)\nsip5.module.copy_sip_h(??)\nsip5.module.main.ArgumentParser(??)\nsip5.module.main.handle_exception(??)\nsip5.module.main.main(??)\nsip5.module.main.module(??)\nsip5.module.module(??)\nsip5.module.module.SIP_VERSION\nsip5.module.module.SIP_VERSION_STR\nsip5.module.module.copy_nonshared_sources(??)\nsip5.module.module.copy_sip_h(??)\nsip5.module.module.get_module_source_dir(??)\nsip5.module.module.get_sip_module_version(??)\nsip5.module.module.module(??)\nsip5.module.module.os(??)\nsip5.module.module.resolve_abi_version(??)\nsip5.module.module.shutil(??)\nsip5.module.module.tarfile(??)\nsip5.module.resolve_abi_version(??)\nsip5.version(??)\nsip5.version.SIP_VERSION\nsip5.version.SIP_VERSION_STR\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.enablerlcompleter(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice(stop)\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPNotSupportedError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.datetime(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.sys(??)\nsndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.namedtuple(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK(??)\nsocket.AF_DECnet\nsocket.AF_INET(??)\nsocket.AF_INET6(??)\nsocket.AF_IPX(??)\nsocket.AF_LINK(??)\nsocket.AF_ROUTE(??)\nsocket.AF_SNA(??)\nsocket.AF_SYSTEM(??)\nsocket.AF_UNIX(??)\nsocket.AF_UNSPEC(??)\nsocket.AI_ADDRCONFIG(??)\nsocket.AI_ALL(??)\nsocket.AI_CANONNAME(??)\nsocket.AI_DEFAULT(??)\nsocket.AI_MASK(??)\nsocket.AI_NUMERICHOST(??)\nsocket.AI_NUMERICSERV(??)\nsocket.AI_PASSIVE(??)\nsocket.AI_V4MAPPED(??)\nsocket.AI_V4MAPPED_CFG(??)\nsocket.AddressFamily(??)\nsocket.AddressInfo(??)\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_SCTP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.IntEnum(??)\nsocket.IntFlag(??)\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC(??)\nsocket.MSG_DONTROUTE(??)\nsocket.MSG_DONTWAIT(??)\nsocket.MSG_EOF(??)\nsocket.MSG_EOR(??)\nsocket.MSG_OOB(??)\nsocket.MSG_PEEK(??)\nsocket.MSG_TRUNC(??)\nsocket.MSG_WAITALL(??)\nsocket.MsgFlag(??)\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM(??)\nsocket.SOCK_RAW(??)\nsocket.SOCK_RDM(??)\nsocket.SOCK_SEQPACKET(??)\nsocket.SOCK_STREAM(??)\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketKind(??)\nsocket.SocketType(??)\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPINTVL\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.close(integer) -> None\nsocket.create_connection(??)\nsocket.create_server(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(??)\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_dualstack_ipv6(??)\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.selectors(??)\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.BufferedIOBase(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.os(??)\nsocketserver.selectors(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsocketserver.time(??)\nsorted(??)\nsqlite3.Binary(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_CREATE_VTABLE\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DONE\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_DROP_VTABLE\nsqlite3.SQLITE_FUNCTION\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_RECURSIVE\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SAVEPOINT\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.collections(??)\nsqlite3.complete_statement(sql)\nsqlite3.connect(??)\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_VTABLE\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DONE\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_VTABLE\nsqlite3.dbapi2.SQLITE_FUNCTION\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_RECURSIVE\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SAVEPOINT\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.collections(??)\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(??)\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.AF_INET(??)\nssl.ALERT_DESCRIPTION_ACCESS_DENIED(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??)\nssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??)\nssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??)\nssl.ALERT_DESCRIPTION_DECODE_ERROR(??)\nssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??)\nssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??)\nssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??)\nssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??)\nssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??)\nssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??)\nssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??)\nssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??)\nssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??)\nssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_CA(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??)\nssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??)\nssl.ALERT_DESCRIPTION_USER_CANCELLED(??)\nssl.AlertDescription(??)\nssl.CERT_NONE(??)\nssl.CERT_OPTIONAL(??)\nssl.CERT_REQUIRED(??)\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)\nssl.HAS_ALPN(??)\nssl.HAS_ECDH(??)\nssl.HAS_NEVER_CHECK_COMMON_NAME(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.HAS_SSLv2(??)\nssl.HAS_SSLv3(??)\nssl.HAS_TLSv1(??)\nssl.HAS_TLSv1_1(??)\nssl.HAS_TLSv1_2(??)\nssl.HAS_TLSv1_3(??)\nssl.MemoryBIO(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL(??)\nssl.OP_CIPHER_SERVER_PREFERENCE(??)\nssl.OP_NO_COMPRESSION(??)\nssl.OP_NO_RENEGOTIATION(??)\nssl.OP_NO_SSLv2(??)\nssl.OP_NO_SSLv3(??)\nssl.OP_NO_TICKET(??)\nssl.OP_NO_TLSv1(??)\nssl.OP_NO_TLSv1_1(??)\nssl.OP_NO_TLSv1_2(??)\nssl.OP_NO_TLSv1_3(??)\nssl.OP_SINGLE_DH_USE(??)\nssl.OP_SINGLE_ECDH_USE(??)\nssl.Options(??)\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv23(??)\nssl.PROTOCOL_TLS(??)\nssl.PROTOCOL_TLS_CLIENT(??)\nssl.PROTOCOL_TLS_SERVER(??)\nssl.PROTOCOL_TLSv1(??)\nssl.PROTOCOL_TLSv1_1(??)\nssl.PROTOCOL_TLSv1_2(??)\nssl.Purpose(??)\nssl.RAND_add(??)\nssl.RAND_bytes(??)\nssl.RAND_pseudo_bytes(??)\nssl.RAND_status(??)\nssl.SOCK_STREAM(??)\nssl.SOL_SOCKET\nssl.SO_TYPE\nssl.SSLCertVerificationError(??)\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLErrorNumber(??)\nssl.SSLObject(??)\nssl.SSLSession(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF(??)\nssl.SSL_ERROR_INVALID_ERROR_CODE(??)\nssl.SSL_ERROR_SSL(??)\nssl.SSL_ERROR_SYSCALL(??)\nssl.SSL_ERROR_WANT_CONNECT(??)\nssl.SSL_ERROR_WANT_READ(??)\nssl.SSL_ERROR_WANT_WRITE(??)\nssl.SSL_ERROR_WANT_X509_LOOKUP(??)\nssl.SSL_ERROR_ZERO_RETURN(??)\nssl.TLSVersion(??)\nssl.VERIFY_CRL_CHECK_CHAIN(??)\nssl.VERIFY_CRL_CHECK_LEAF(??)\nssl.VERIFY_DEFAULT(??)\nssl.VERIFY_X509_STRICT(??)\nssl.VERIFY_X509_TRUSTED_FIRST(??)\nssl.VerifyFlags(??)\nssl.VerifyMode(??)\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.create_default_context(??)\nssl.errno(??)\nssl.get_default_verify_paths(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.match_hostname(??)\nssl.namedtuple(??)\nssl.os(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.sys(??)\nssl.warnings(??)\nssl.wrap_socket(??)\nstat.FILE_ATTRIBUTE_ARCHIVE\nstat.FILE_ATTRIBUTE_COMPRESSED\nstat.FILE_ATTRIBUTE_DEVICE\nstat.FILE_ATTRIBUTE_DIRECTORY\nstat.FILE_ATTRIBUTE_ENCRYPTED\nstat.FILE_ATTRIBUTE_HIDDEN\nstat.FILE_ATTRIBUTE_INTEGRITY_STREAM\nstat.FILE_ATTRIBUTE_NORMAL\nstat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nstat.FILE_ATTRIBUTE_NO_SCRUB_DATA\nstat.FILE_ATTRIBUTE_OFFLINE\nstat.FILE_ATTRIBUTE_READONLY\nstat.FILE_ATTRIBUTE_REPARSE_POINT\nstat.FILE_ATTRIBUTE_SPARSE_FILE\nstat.FILE_ATTRIBUTE_SYSTEM\nstat.FILE_ATTRIBUTE_TEMPORARY\nstat.FILE_ATTRIBUTE_VIRTUAL\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFDOOR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFPORT\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IFWHT\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(mode) -> bool\nstat.S_ISCHR(mode) -> bool\nstat.S_ISDIR(mode) -> bool\nstat.S_ISDOOR(mode) -> bool\nstat.S_ISFIFO(mode) -> bool\nstat.S_ISGID\nstat.S_ISLNK(mode) -> bool\nstat.S_ISPORT(mode) -> bool\nstat.S_ISREG(mode) -> bool\nstat.S_ISSOCK(mode) -> bool\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_ISWHT(mode) -> bool\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstatistics.Counter(??)\nstatistics.Decimal(??)\nstatistics.Fraction(??)\nstatistics.NormalDist(??)\nstatistics.StatisticsError(??)\nstatistics.bisect_left(a, x[, lo[, hi]]) -> index\nstatistics.bisect_right(a, x[, lo[, hi]]) -> index\nstatistics.erf(??)\nstatistics.exp(??)\nstatistics.fabs(??)\nstatistics.fmean(??)\nstatistics.fsum(??)\nstatistics.geometric_mean(??)\nstatistics.groupby(??)\nstatistics.harmonic_mean(??)\nstatistics.hypot(*coordinates) -> value\nstatistics.itemgetter(item, ...) --> itemgetter object\nstatistics.log(x, [base=math.e])\nstatistics.math(??)\nstatistics.mean(??)\nstatistics.median(??)\nstatistics.median_grouped(??)\nstatistics.median_high(??)\nstatistics.median_low(??)\nstatistics.mode(??)\nstatistics.multimode(??)\nstatistics.numbers(??)\nstatistics.pstdev(??)\nstatistics.pvariance(??)\nstatistics.quantiles(??)\nstatistics.random(??)\nstatistics.sqrt(??)\nstatistics.stdev(??)\nstatistics.tau\nstatistics.variance(??)\nstr(object='') -> str\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(??)\nstruct.calcsize(??)\nstruct.error(??)\nstruct.iter_unpack(??)\nstruct.pack(format, v1, v2, ...) -> bytes\nstruct.pack_into(format, buffer, offset, v1, v2, ...)\nstruct.unpack(??)\nstruct.unpack_from(??)\nsubprocess.CalledProcessError(??)\nsubprocess.CompletedProcess(??)\nsubprocess.DEVNULL\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.contextlib(??)\nsubprocess.errno(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.os(??)\nsubprocess.run(??)\nsubprocess.select(??)\nsubprocess.selectors(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.threading(??)\nsubprocess.time(??)\nsubprocess.warnings(??)\nsum(??)\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.namedtuple(??)\nsunau.open(??)\nsunau.openfp(??)\nsunau.warnings(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.annassign\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.async_funcdef\nsymbol.async_stmt\nsymbol.atom\nsymbol.atom_expr\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.func_body_suite\nsymbol.func_type\nsymbol.func_type_input\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.namedexpr_test\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.sync_comp_for\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.typelist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_arg\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_ANNOT\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_NONLOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.addaudithook(??)\nsys.api_version\nsys.argv(??)\nsys.audit(event, *args)\nsys.base_exec_prefix\nsys.base_prefix\nsys.breakpointhook(*args, **kws)\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(??)\nsys.callstats(??)\nsys.copyright\nsys.displayhook(??)\nsys.dont_write_bytecode(??)\nsys.exc_info(??)\nsys.excepthook(??)\nsys.exec_prefix\nsys.executable\nsys.exit(??)\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.get_asyncgen_hooks(??)\nsys.get_coroutine_origin_tracking_depth(??)\nsys.getallocatedblocks(??)\nsys.getcheckinterval(??)\nsys.getdefaultencoding(??)\nsys.getdlopenflags(??)\nsys.getfilesystemencodeerrors(??)\nsys.getfilesystemencoding(??)\nsys.getprofile(??)\nsys.getrecursionlimit(??)\nsys.getrefcount(??)\nsys.getsizeof(object [, default]) -> int\nsys.getswitchinterval(??)\nsys.gettrace(??)\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(??)\nsys.is_finalizing(??)\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.prefix\nsys.pycache_prefix(??)\nsys.set_asyncgen_hooks(* [, firstiter] [, finalizer])\nsys.set_coroutine_origin_tracking_depth(??)\nsys.setcheckinterval(??)\nsys.setdlopenflags(??)\nsys.setprofile(function)\nsys.setrecursionlimit(??)\nsys.setswitchinterval(??)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.unraisablehook(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.main(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.selectors(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempdirb(??)\ntempfile.gettempprefix(??)\ntempfile.gettempprefixb(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.shorten(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.ExceptHookArgs(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.excepthook(exc_type, exc_value, exc_traceback, thread)\nthreading.get_ident() -> integer\nthreading.get_native_id() -> integer\nthreading.local(??)\nthreading.main_thread(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.monotonic_ns() -> int\ntime.perf_counter() -> float\ntime.perf_counter_ns() -> int\ntime.process_time() -> float\ntime.process_time_ns(??)\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.time_ns() -> int\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.EventType(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog(??)\ntkinter.commondialog.ACTIVE\ntkinter.commondialog.ALL\ntkinter.commondialog.ANCHOR\ntkinter.commondialog.ARC\ntkinter.commondialog.BASELINE\ntkinter.commondialog.BEVEL\ntkinter.commondialog.BOTH\ntkinter.commondialog.BOTTOM\ntkinter.commondialog.BROWSE\ntkinter.commondialog.BUTT\ntkinter.commondialog.BaseWidget(??)\ntkinter.commondialog.BitmapImage(??)\ntkinter.commondialog.BooleanVar(??)\ntkinter.commondialog.Button(??)\ntkinter.commondialog.CASCADE\ntkinter.commondialog.CENTER\ntkinter.commondialog.CHAR\ntkinter.commondialog.CHECKBUTTON\ntkinter.commondialog.CHORD\ntkinter.commondialog.COMMAND\ntkinter.commondialog.CURRENT\ntkinter.commondialog.CallWrapper(??)\ntkinter.commondialog.Canvas(??)\ntkinter.commondialog.Checkbutton(??)\ntkinter.commondialog.DISABLED\ntkinter.commondialog.DOTBOX\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.DoubleVar(??)\ntkinter.commondialog.E\ntkinter.commondialog.END\ntkinter.commondialog.EW\ntkinter.commondialog.EXCEPTION\ntkinter.commondialog.EXTENDED\ntkinter.commondialog.Entry(??)\ntkinter.commondialog.Event(??)\ntkinter.commondialog.EventType(??)\ntkinter.commondialog.FALSE\ntkinter.commondialog.FIRST\ntkinter.commondialog.FLAT\ntkinter.commondialog.Frame(??)\ntkinter.commondialog.GROOVE\ntkinter.commondialog.Grid(??)\ntkinter.commondialog.HIDDEN\ntkinter.commondialog.HORIZONTAL\ntkinter.commondialog.INSERT\ntkinter.commondialog.INSIDE\ntkinter.commondialog.Image(??)\ntkinter.commondialog.IntVar(??)\ntkinter.commondialog.LAST\ntkinter.commondialog.LEFT\ntkinter.commondialog.Label(??)\ntkinter.commondialog.LabelFrame(??)\ntkinter.commondialog.Listbox(??)\ntkinter.commondialog.MITER\ntkinter.commondialog.MOVETO\ntkinter.commondialog.MULTIPLE\ntkinter.commondialog.Menu(??)\ntkinter.commondialog.Menubutton(??)\ntkinter.commondialog.Message(??)\ntkinter.commondialog.Misc(??)\ntkinter.commondialog.N\ntkinter.commondialog.NE\ntkinter.commondialog.NO\ntkinter.commondialog.NONE\ntkinter.commondialog.NORMAL\ntkinter.commondialog.NS\ntkinter.commondialog.NSEW\ntkinter.commondialog.NUMERIC\ntkinter.commondialog.NW\ntkinter.commondialog.NoDefaultRoot(??)\ntkinter.commondialog.OFF\ntkinter.commondialog.ON\ntkinter.commondialog.OUTSIDE\ntkinter.commondialog.OptionMenu(??)\ntkinter.commondialog.PAGES\ntkinter.commondialog.PIESLICE\ntkinter.commondialog.PROJECTING\ntkinter.commondialog.Pack(??)\ntkinter.commondialog.PanedWindow(??)\ntkinter.commondialog.PhotoImage(??)\ntkinter.commondialog.Place(??)\ntkinter.commondialog.RADIOBUTTON\ntkinter.commondialog.RAISED\ntkinter.commondialog.READABLE\ntkinter.commondialog.RIDGE\ntkinter.commondialog.RIGHT\ntkinter.commondialog.ROUND\ntkinter.commondialog.Radiobutton(??)\ntkinter.commondialog.S\ntkinter.commondialog.SCROLL\ntkinter.commondialog.SE\ntkinter.commondialog.SEL\ntkinter.commondialog.SEL_FIRST\ntkinter.commondialog.SEL_LAST\ntkinter.commondialog.SEPARATOR\ntkinter.commondialog.SINGLE\ntkinter.commondialog.SOLID\ntkinter.commondialog.SUNKEN\ntkinter.commondialog.SW\ntkinter.commondialog.Scale(??)\ntkinter.commondialog.Scrollbar(??)\ntkinter.commondialog.Spinbox(??)\ntkinter.commondialog.StringVar(??)\ntkinter.commondialog.TOP\ntkinter.commondialog.TRUE\ntkinter.commondialog.Tcl(??)\ntkinter.commondialog.TclError(??)\ntkinter.commondialog.TclVersion\ntkinter.commondialog.Text(??)\ntkinter.commondialog.Tk(??)\ntkinter.commondialog.TkVersion\ntkinter.commondialog.Toplevel(??)\ntkinter.commondialog.UNDERLINE\ntkinter.commondialog.UNITS\ntkinter.commondialog.VERTICAL\ntkinter.commondialog.Variable(??)\ntkinter.commondialog.W\ntkinter.commondialog.WORD\ntkinter.commondialog.WRITABLE\ntkinter.commondialog.Widget(??)\ntkinter.commondialog.Wm(??)\ntkinter.commondialog.X\ntkinter.commondialog.XView(??)\ntkinter.commondialog.Y\ntkinter.commondialog.YES\ntkinter.commondialog.YView(??)\ntkinter.commondialog.constants(??)\ntkinter.commondialog.enum(??)\ntkinter.commondialog.getboolean(??)\ntkinter.commondialog.getdouble(??)\ntkinter.commondialog.getint(??)\ntkinter.commondialog.image_names(??)\ntkinter.commondialog.image_types(??)\ntkinter.commondialog.mainloop(??)\ntkinter.commondialog.re(??)\ntkinter.commondialog.scrolledtext(??)\ntkinter.commondialog.sys(??)\ntkinter.commondialog.wantobjects\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog(??)\ntkinter.dialog.ACTIVE\ntkinter.dialog.ALL\ntkinter.dialog.ANCHOR\ntkinter.dialog.ARC\ntkinter.dialog.BASELINE\ntkinter.dialog.BEVEL\ntkinter.dialog.BOTH\ntkinter.dialog.BOTTOM\ntkinter.dialog.BROWSE\ntkinter.dialog.BUTT\ntkinter.dialog.BaseWidget(??)\ntkinter.dialog.BitmapImage(??)\ntkinter.dialog.BooleanVar(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.CASCADE\ntkinter.dialog.CENTER\ntkinter.dialog.CHAR\ntkinter.dialog.CHECKBUTTON\ntkinter.dialog.CHORD\ntkinter.dialog.COMMAND\ntkinter.dialog.CURRENT\ntkinter.dialog.CallWrapper(??)\ntkinter.dialog.Canvas(??)\ntkinter.dialog.Checkbutton(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.DISABLED\ntkinter.dialog.DOTBOX\ntkinter.dialog.Dialog(??)\ntkinter.dialog.DoubleVar(??)\ntkinter.dialog.E\ntkinter.dialog.END\ntkinter.dialog.EW\ntkinter.dialog.EXCEPTION\ntkinter.dialog.EXTENDED\ntkinter.dialog.Entry(??)\ntkinter.dialog.Event(??)\ntkinter.dialog.EventType(??)\ntkinter.dialog.FALSE\ntkinter.dialog.FIRST\ntkinter.dialog.FLAT\ntkinter.dialog.Frame(??)\ntkinter.dialog.GROOVE\ntkinter.dialog.Grid(??)\ntkinter.dialog.HIDDEN\ntkinter.dialog.HORIZONTAL\ntkinter.dialog.INSERT\ntkinter.dialog.INSIDE\ntkinter.dialog.Image(??)\ntkinter.dialog.IntVar(??)\ntkinter.dialog.LAST\ntkinter.dialog.LEFT\ntkinter.dialog.Label(??)\ntkinter.dialog.LabelFrame(??)\ntkinter.dialog.Listbox(??)\ntkinter.dialog.MITER\ntkinter.dialog.MOVETO\ntkinter.dialog.MULTIPLE\ntkinter.dialog.Menu(??)\ntkinter.dialog.Menubutton(??)\ntkinter.dialog.Message(??)\ntkinter.dialog.Misc(??)\ntkinter.dialog.N\ntkinter.dialog.NE\ntkinter.dialog.NO\ntkinter.dialog.NONE\ntkinter.dialog.NORMAL\ntkinter.dialog.NS\ntkinter.dialog.NSEW\ntkinter.dialog.NUMERIC\ntkinter.dialog.NW\ntkinter.dialog.NoDefaultRoot(??)\ntkinter.dialog.OFF\ntkinter.dialog.ON\ntkinter.dialog.OUTSIDE\ntkinter.dialog.OptionMenu(??)\ntkinter.dialog.PAGES\ntkinter.dialog.PIESLICE\ntkinter.dialog.PROJECTING\ntkinter.dialog.Pack(??)\ntkinter.dialog.PanedWindow(??)\ntkinter.dialog.PhotoImage(??)\ntkinter.dialog.Place(??)\ntkinter.dialog.RADIOBUTTON\ntkinter.dialog.RAISED\ntkinter.dialog.READABLE\ntkinter.dialog.RIDGE\ntkinter.dialog.RIGHT\ntkinter.dialog.ROUND\ntkinter.dialog.Radiobutton(??)\ntkinter.dialog.S\ntkinter.dialog.SCROLL\ntkinter.dialog.SE\ntkinter.dialog.SEL\ntkinter.dialog.SEL_FIRST\ntkinter.dialog.SEL_LAST\ntkinter.dialog.SEPARATOR\ntkinter.dialog.SINGLE\ntkinter.dialog.SOLID\ntkinter.dialog.SUNKEN\ntkinter.dialog.SW\ntkinter.dialog.Scale(??)\ntkinter.dialog.Scrollbar(??)\ntkinter.dialog.Spinbox(??)\ntkinter.dialog.StringVar(??)\ntkinter.dialog.TOP\ntkinter.dialog.TRUE\ntkinter.dialog.Tcl(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.TclVersion\ntkinter.dialog.Text(??)\ntkinter.dialog.Tk(??)\ntkinter.dialog.TkVersion\ntkinter.dialog.Toplevel(??)\ntkinter.dialog.UNDERLINE\ntkinter.dialog.UNITS\ntkinter.dialog.VERTICAL\ntkinter.dialog.Variable(??)\ntkinter.dialog.W\ntkinter.dialog.WORD\ntkinter.dialog.WRITABLE\ntkinter.dialog.Widget(??)\ntkinter.dialog.Wm(??)\ntkinter.dialog.X\ntkinter.dialog.XView(??)\ntkinter.dialog.Y\ntkinter.dialog.YES\ntkinter.dialog.YView(??)\ntkinter.dialog.colorchooser(??)\ntkinter.dialog.commondialog(??)\ntkinter.dialog.constants(??)\ntkinter.dialog.enum(??)\ntkinter.dialog.getboolean(??)\ntkinter.dialog.getdouble(??)\ntkinter.dialog.getint(??)\ntkinter.dialog.image_names(??)\ntkinter.dialog.image_types(??)\ntkinter.dialog.mainloop(??)\ntkinter.dialog.messagebox(??)\ntkinter.dialog.re(??)\ntkinter.dialog.scrolledtext(??)\ntkinter.dialog.sys(??)\ntkinter.dialog.wantobjects\ntkinter.dnd(??)\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.enum(??)\ntkinter.filedialog.ACTIVE\ntkinter.filedialog.ALL\ntkinter.filedialog.ANCHOR\ntkinter.filedialog.ARC\ntkinter.filedialog.BASELINE\ntkinter.filedialog.BEVEL\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.BROWSE\ntkinter.filedialog.BUTT\ntkinter.filedialog.BaseWidget(??)\ntkinter.filedialog.BitmapImage(??)\ntkinter.filedialog.BooleanVar(??)\ntkinter.filedialog.Button(??)\ntkinter.filedialog.CASCADE\ntkinter.filedialog.CENTER\ntkinter.filedialog.CHAR\ntkinter.filedialog.CHECKBUTTON\ntkinter.filedialog.CHORD\ntkinter.filedialog.COMMAND\ntkinter.filedialog.CURRENT\ntkinter.filedialog.CallWrapper(??)\ntkinter.filedialog.Canvas(??)\ntkinter.filedialog.Checkbutton(??)\ntkinter.filedialog.DISABLED\ntkinter.filedialog.DOTBOX\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.DoubleVar(??)\ntkinter.filedialog.E\ntkinter.filedialog.END\ntkinter.filedialog.EW\ntkinter.filedialog.EXCEPTION\ntkinter.filedialog.EXTENDED\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.Event(??)\ntkinter.filedialog.EventType(??)\ntkinter.filedialog.FALSE\ntkinter.filedialog.FIRST\ntkinter.filedialog.FLAT\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.GROOVE\ntkinter.filedialog.Grid(??)\ntkinter.filedialog.HIDDEN\ntkinter.filedialog.HORIZONTAL\ntkinter.filedialog.INSERT\ntkinter.filedialog.INSIDE\ntkinter.filedialog.Image(??)\ntkinter.filedialog.IntVar(??)\ntkinter.filedialog.LAST\ntkinter.filedialog.LEFT\ntkinter.filedialog.Label(??)\ntkinter.filedialog.LabelFrame(??)\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.MITER\ntkinter.filedialog.MOVETO\ntkinter.filedialog.MULTIPLE\ntkinter.filedialog.Menu(??)\ntkinter.filedialog.Menubutton(??)\ntkinter.filedialog.Message(??)\ntkinter.filedialog.Misc(??)\ntkinter.filedialog.N\ntkinter.filedialog.NE\ntkinter.filedialog.NO\ntkinter.filedialog.NONE\ntkinter.filedialog.NORMAL\ntkinter.filedialog.NS\ntkinter.filedialog.NSEW\ntkinter.filedialog.NUMERIC\ntkinter.filedialog.NW\ntkinter.filedialog.NoDefaultRoot(??)\ntkinter.filedialog.OFF\ntkinter.filedialog.ON\ntkinter.filedialog.OUTSIDE\ntkinter.filedialog.Open(??)\ntkinter.filedialog.OptionMenu(??)\ntkinter.filedialog.PAGES\ntkinter.filedialog.PIESLICE\ntkinter.filedialog.PROJECTING\ntkinter.filedialog.Pack(??)\ntkinter.filedialog.PanedWindow(??)\ntkinter.filedialog.PhotoImage(??)\ntkinter.filedialog.Place(??)\ntkinter.filedialog.RADIOBUTTON\ntkinter.filedialog.RAISED\ntkinter.filedialog.READABLE\ntkinter.filedialog.RIDGE\ntkinter.filedialog.RIGHT\ntkinter.filedialog.ROUND\ntkinter.filedialog.Radiobutton(??)\ntkinter.filedialog.S\ntkinter.filedialog.SCROLL\ntkinter.filedialog.SE\ntkinter.filedialog.SEL\ntkinter.filedialog.SEL_FIRST\ntkinter.filedialog.SEL_LAST\ntkinter.filedialog.SEPARATOR\ntkinter.filedialog.SINGLE\ntkinter.filedialog.SOLID\ntkinter.filedialog.SUNKEN\ntkinter.filedialog.SW\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scale(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.Spinbox(??)\ntkinter.filedialog.StringVar(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.TRUE\ntkinter.filedialog.Tcl(??)\ntkinter.filedialog.TclError(??)\ntkinter.filedialog.TclVersion\ntkinter.filedialog.Text(??)\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.TkVersion\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.UNDERLINE\ntkinter.filedialog.UNITS\ntkinter.filedialog.VERTICAL\ntkinter.filedialog.Variable(??)\ntkinter.filedialog.W\ntkinter.filedialog.WORD\ntkinter.filedialog.WRITABLE\ntkinter.filedialog.Widget(??)\ntkinter.filedialog.Wm(??)\ntkinter.filedialog.X\ntkinter.filedialog.XView(??)\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.YView(??)\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.colorchooser(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.constants(??)\ntkinter.filedialog.dialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.dnd(??)\ntkinter.filedialog.enum(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.getboolean(??)\ntkinter.filedialog.getdouble(??)\ntkinter.filedialog.getint(??)\ntkinter.filedialog.image_names(??)\ntkinter.filedialog.image_types(??)\ntkinter.filedialog.mainloop(??)\ntkinter.filedialog.messagebox(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.re(??)\ntkinter.filedialog.scrolledtext(??)\ntkinter.filedialog.sys(??)\ntkinter.filedialog.test(??)\ntkinter.filedialog.ttk(??)\ntkinter.filedialog.wantobjects\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.re(??)\ntkinter.scrolledtext(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.EventType(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.colorchooser(??)\ntkinter.simpledialog.commondialog(??)\ntkinter.simpledialog.constants(??)\ntkinter.simpledialog.dialog(??)\ntkinter.simpledialog.dnd(??)\ntkinter.simpledialog.enum(??)\ntkinter.simpledialog.filedialog(??)\ntkinter.simpledialog.font(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.re(??)\ntkinter.simpledialog.scrolledtext(??)\ntkinter.simpledialog.sys(??)\ntkinter.simpledialog.tix(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.simpledialog.ttk(??)\ntkinter.simpledialog.wantobjects\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.EventType(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.colorchooser(??)\ntkinter.tix.commondialog(??)\ntkinter.tix.constants(??)\ntkinter.tix.dialog(??)\ntkinter.tix.dnd(??)\ntkinter.tix.enum(??)\ntkinter.tix.filedialog(??)\ntkinter.tix.font(??)\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.messagebox(??)\ntkinter.tix.os(??)\ntkinter.tix.re(??)\ntkinter.tix.scrolledtext(??)\ntkinter.tix.sys(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.tix.ttk(??)\ntkinter.tix.wantobjects\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Spinbox(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.wantobjects\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.ASYNC\ntoken.AT\ntoken.ATEQUAL\ntoken.AWAIT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COLONEQUAL\ntoken.COMMA\ntoken.COMMENT\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENCODING\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.EXACT_TOKEN_TYPES(??)\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NL\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.TYPE_COMMENT\ntoken.TYPE_IGNORE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.ASYNC\ntokenize.AT\ntokenize.ATEQUAL\ntokenize.AWAIT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COLONEQUAL\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TYPE_COMMENT\ntokenize.TYPE_IGNORE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.blank_re(??)\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.u\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.sys(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntraceback.FrameSummary(??)\ntraceback.StackSummary(??)\ntraceback.TracebackException(??)\ntraceback.clear_frames(??)\ntraceback.collections(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.itertools(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntraceback.walk_stack(??)\ntraceback.walk_tb(??)\ntracemalloc.BaseFilter(??)\ntracemalloc.DomainFilter(??)\ntracemalloc.Filter(??)\ntracemalloc.Frame(??)\ntracemalloc.Iterable(??)\ntracemalloc.Sequence(??)\ntracemalloc.Snapshot(??)\ntracemalloc.Statistic(??)\ntracemalloc.StatisticDiff(??)\ntracemalloc.Trace(??)\ntracemalloc.Traceback(??)\ntracemalloc.clear_traces(??)\ntracemalloc.fnmatch(??)\ntracemalloc.get_object_traceback(??)\ntracemalloc.get_traceback_limit(??)\ntracemalloc.get_traced_memory(??)\ntracemalloc.get_tracemalloc_memory(??)\ntracemalloc.is_tracing(??)\ntracemalloc.linecache(??)\ntracemalloc.os(??)\ntracemalloc.pickle(??)\ntracemalloc.start(??)\ntracemalloc.stop(??)\ntracemalloc.take_snapshot(??)\ntracemalloc.total_ordering(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple(??)\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.sys(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object_or_name, bases, dict)\ntypes.AsyncGeneratorType(??)\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CellType(??)\ntypes.ClassMethodDescriptorType(??)\ntypes.CodeType(??)\ntypes.CoroutineType(??)\ntypes.DynamicClassAttribute(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodDescriptorType(??)\ntypes.MethodType(??)\ntypes.MethodWrapperType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno)\ntypes.WrapperDescriptorType(??)\ntypes.coroutine(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\ntypes.resolve_bases(??)\ntyping.ABCMeta(??)\ntyping.AbstractSet(??)\ntyping.Any(??)\ntyping.AnyStr(??)\ntyping.AsyncContextManager(??)\ntyping.AsyncGenerator(??)\ntyping.AsyncIterable(??)\ntyping.AsyncIterator(??)\ntyping.Awaitable(??)\ntyping.BinaryIO(??)\ntyping.ByteString(??)\ntyping.CT_co(??)\ntyping.Callable(??)\ntyping.ChainMap(??)\ntyping.ClassVar(??)\ntyping.Collection(??)\ntyping.Container(??)\ntyping.ContextManager(??)\ntyping.Coroutine(??)\ntyping.Counter(??)\ntyping.DefaultDict(??)\ntyping.Deque(??)\ntyping.Dict(??)\ntyping.EXCLUDED_ATTRIBUTES(??)\ntyping.Final(??)\ntyping.ForwardRef(??)\ntyping.FrozenSet(??)\ntyping.Generator(??)\ntyping.Generic(??)\ntyping.Hashable(??)\ntyping.IO(??)\ntyping.ItemsView(??)\ntyping.Iterable(??)\ntyping.Iterator(??)\ntyping.KT(??)\ntyping.KeysView(??)\ntyping.List(??)\ntyping.Literal(??)\ntyping.Mapping(??)\ntyping.MappingView(??)\ntyping.Match(??)\ntyping.MethodDescriptorType(??)\ntyping.MethodWrapperType(??)\ntyping.MutableMapping(??)\ntyping.MutableSequence(??)\ntyping.MutableSet(??)\ntyping.NamedTuple(??)\ntyping.NamedTupleMeta(??)\ntyping.NewType(??)\ntyping.NoReturn(??)\ntyping.Optional(??)\ntyping.OrderedDict(??)\ntyping.Pattern(??)\ntyping.Protocol(??)\ntyping.Reversible(??)\ntyping.Sequence(??)\ntyping.Set(??)\ntyping.Sized(??)\ntyping.SupportsAbs(??)\ntyping.SupportsBytes(??)\ntyping.SupportsComplex(??)\ntyping.SupportsFloat(??)\ntyping.SupportsIndex(??)\ntyping.SupportsInt(??)\ntyping.SupportsRound(??)\ntyping.T(??)\ntyping.TYPE_CHECKING(??)\ntyping.T_co(??)\ntyping.T_contra(??)\ntyping.Text(??)\ntyping.TextIO(??)\ntyping.Tuple(??)\ntyping.Type(??)\ntyping.TypeVar(??)\ntyping.TypedDict(??)\ntyping.Union(??)\ntyping.VT(??)\ntyping.VT_co(??)\ntyping.V_co(??)\ntyping.ValuesView(??)\ntyping.WrapperDescriptorType(??)\ntyping.abstractmethod(??)\ntyping.abstractproperty(??)\ntyping.cast(??)\ntyping.collections(??)\ntyping.contextlib(??)\ntyping.final(??)\ntyping.functools(??)\ntyping.get_args(??)\ntyping.get_origin(??)\ntyping.get_type_hints(??)\ntyping.io(??)\ntyping.no_type_check(??)\ntyping.no_type_check_decorator(??)\ntyping.operator(??)\ntyping.overload(??)\ntyping.re(??)\ntyping.runtime_checkable(??)\ntyping.stdlib_re(??)\ntyping.sys(??)\ntyping.types(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.re(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr(??)\nurllib.parse.splithost(??)\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd(??)\nurllib.parse.splitport(??)\nurllib.parse.splitquery(??)\nurllib.parse.splittag(??)\nurllib.parse.splittype(??)\nurllib.parse.splituser(??)\nurllib.parse.splitvalue(??)\nurllib.parse.sys(??)\nurllib.parse.to_bytes(??)\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap(??)\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.parse.warnings(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.DataHandler(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPPasswordMgrWithPriorAuth(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.ssl(??)\nurllib.request.string(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.unquote(??)\nurllib.request.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.request.unwrap(??)\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.response.tempfile(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RequestRate(requests, seconds)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.collections(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.Enum(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.SafeUUID(??)\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.EnvBuilder(??)\nvenv.create(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.subprocess(??)\nvenv.sys(??)\nvenv.sysconfig(??)\nvenv.types(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.audioop(??)\nwave.builtins(??)\nwave.namedtuple(??)\nwave.open(??)\nwave.openfp(??)\nwave.struct(??)\nwave.sys(??)\nwave.warnings(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakMethod(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.finalize(??)\nweakref.getweakrefcount(??)\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.itertools(??)\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nweakref.sys(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.register_standard_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.shutil(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwebbrowser.threading(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO(??)\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.raise_conversion_error(??)\nxdrlib.struct(??)\nxdrlib.wraps(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.sys(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat(??)\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder(??)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.warnings(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementPath(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree(??)\nxml.etree.ElementTree.C14NWriterTarget(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLPullParser(??)\nxml.etree.ElementTree.canonicalize(??)\nxml.etree.ElementTree.collections(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree(??)\nxml.etree.cElementTree.C14NWriterTarget(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLPullParser(??)\nxml.etree.cElementTree.canonicalize(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(??)\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate(??)\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.codecs(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.io(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO(??)\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Decimal(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.http(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.partial(func, *args, **keywords) - new function with partial application\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.signature(??)\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(iter1 [,iter2 [...]]) --> zip object\nzipapp.MAIN_TEMPLATE\nzipapp.ZipAppError(??)\nzipapp.contextlib(??)\nzipapp.create_archive(??)\nzipapp.get_interpreter(??)\nzipapp.main(??)\nzipapp.os(??)\nzipapp.pathlib(??)\nzipapp.shebang_encoding\nzipapp.shutil(??)\nzipapp.stat(??)\nzipapp.sys(??)\nzipapp.zipfile(??)\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.DEFAULT_VERSION\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.Path(??)\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.crc32(??)\nzipfile.error(??)\nzipfile.functools(??)\nzipfile.importlib(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.posixpath(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.threading(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.END_CENTRAL_DIR_SIZE\nzipimport.MAX_COMMENT_LEN\nzipimport.STRING_END_ARCHIVE\nzipimport.ZipImportError(??)\nzipimport.alt_path_sep\nzipimport.cp437_table\nzipimport.marshal(??)\nzipimport.path_sep\nzipimport.sys(??)\nzipimport.time(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\n"
  },
  {
    "path": "src/qscint/qsci/api/python/Python-3.9.api",
    "content": "ArithmeticError(??)\nAssertionError(??)\nAttributeError(??)\nBaseException(??)\nBlockingIOError(??)\nBrokenPipeError(??)\nBufferError(??)\nBytesWarning(??)\nChildProcessError(??)\nConnectionAbortedError(??)\nConnectionError(??)\nConnectionRefusedError(??)\nConnectionResetError(??)\nDeprecationWarning(??)\nEOFError(??)\nEllipsis(??)\nEnvironmentError(??)\nException(??)\nFalse(??)\nFileExistsError(??)\nFileNotFoundError(??)\nFloatingPointError(??)\nFutureWarning(??)\nGeneratorExit(??)\nIOError(??)\nImportError(??)\nImportWarning(??)\nIndentationError(??)\nIndexError(??)\nInterruptedError(??)\nIsADirectoryError(??)\nKeyError(??)\nKeyboardInterrupt(??)\nLookupError(??)\nMemoryError(??)\nModuleNotFoundError(??)\nNameError(??)\nNone(??)\nNotADirectoryError(??)\nNotImplemented(??)\nNotImplementedError(??)\nOSError(??)\nOverflowError(??)\nPendingDeprecationWarning(??)\nPermissionError(??)\nProcessLookupError(??)\nRecursionError(??)\nReferenceError(??)\nResourceWarning(??)\nRuntimeError(??)\nRuntimeWarning(??)\nStopAsyncIteration(??)\nStopIteration(??)\nSyntaxError(??)\nSyntaxWarning(??)\nSystemError(??)\nSystemExit(??)\nTabError(??)\nTimeoutError(??)\nTrue(??)\nTypeError(??)\nUnboundLocalError(??)\nUnicodeDecodeError(??)\nUnicodeEncodeError(??)\nUnicodeError(??)\nUnicodeTranslateError(??)\nUnicodeWarning(??)\nUserWarning(??)\nValueError(??)\nWarning(??)\nZeroDivisionError(??)\nabc.ABC(??)\nabc.ABCMeta(??)\nabc.abstractclassmethod(??)\nabc.abstractmethod(??)\nabc.abstractproperty(??)\nabc.abstractstaticmethod(??)\nabc.get_cache_token(??)\nabs(??)\naifc.Aifc_read(??)\naifc.Aifc_write(??)\naifc.Chunk(??)\naifc.Error(??)\naifc.builtins(??)\naifc.namedtuple(??)\naifc.open(??)\naifc.struct(??)\naifc.warnings(??)\nall(??)\nany(??)\nargparse.Action(??)\nargparse.ArgumentDefaultsHelpFormatter(??)\nargparse.ArgumentError(??)\nargparse.ArgumentParser(??)\nargparse.ArgumentTypeError(??)\nargparse.BooleanOptionalAction(??)\nargparse.FileType(??)\nargparse.HelpFormatter(??)\nargparse.MetavarTypeHelpFormatter(??)\nargparse.Namespace(??)\nargparse.ONE_OR_MORE\nargparse.OPTIONAL\nargparse.PARSER\nargparse.REMAINDER\nargparse.RawDescriptionHelpFormatter(??)\nargparse.RawTextHelpFormatter(??)\nargparse.SUPPRESS\nargparse.ZERO_OR_MORE\nargparse.ngettext(??)\nascii(??)\nast.AST(??)\nast.Add(??)\nast.And(??)\nast.AnnAssign(expr target, expr annotation, expr? value, int simple)\nast.Assert(expr test, expr? msg)\nast.Assign(expr* targets, expr value, string? type_comment)\nast.AsyncFor(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment)\nast.AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)\nast.AsyncWith(withitem* items, stmt* body, string? type_comment)\nast.Attribute(expr value, identifier attr, expr_context ctx)\nast.AugAssign(expr target, operator op, expr value)\nast.AugLoad(??)\nast.AugStore(??)\nast.Await(expr value)\nast.BinOp(expr left, operator op, expr right)\nast.BitAnd(??)\nast.BitOr(??)\nast.BitXor(??)\nast.BoolOp(boolop op, expr* values)\nast.Break(??)\nast.Bytes(??)\nast.Call(expr func, expr* args, keyword* keywords)\nast.ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list)\nast.Compare(expr left, cmpop* ops, expr* comparators)\nast.Constant(constant value, string? kind)\nast.Continue(??)\nast.Del(??)\nast.Delete(expr* targets)\nast.Dict(expr* keys, expr* values)\nast.DictComp(expr key, expr value, comprehension* generators)\nast.Div(??)\nast.Ellipsis(??)\nast.Eq(??)\nast.ExceptHandler(expr? type, identifier? name, stmt* body)\nast.Expr(expr value)\nast.Expression(expr body)\nast.ExtSlice(??)\nast.FloorDiv(??)\nast.For(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment)\nast.FormattedValue(expr value, int? conversion, expr? format_spec)\nast.FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)\nast.FunctionType(expr* argtypes, expr returns)\nast.GeneratorExp(expr elt, comprehension* generators)\nast.Global(identifier* names)\nast.Gt(??)\nast.GtE(??)\nast.If(expr test, stmt* body, stmt* orelse)\nast.IfExp(expr test, expr body, expr orelse)\nast.Import(alias* names)\nast.ImportFrom(identifier? module, alias* names, int? level)\nast.In(??)\nast.Index(??)\nast.IntEnum(??)\nast.Interactive(stmt* body)\nast.Invert(??)\nast.Is(??)\nast.IsNot(??)\nast.JoinedStr(expr* values)\nast.LShift(??)\nast.Lambda(arguments args, expr body)\nast.List(expr* elts, expr_context ctx)\nast.ListComp(expr elt, comprehension* generators)\nast.Load(??)\nast.Lt(??)\nast.LtE(??)\nast.MatMult(??)\nast.Mod(??)\nast.Module(stmt* body, type_ignore* type_ignores)\nast.Mult(??)\nast.Name(identifier id, expr_context ctx)\nast.NameConstant(??)\nast.NamedExpr(expr target, expr value)\nast.NodeTransformer(??)\nast.NodeVisitor(??)\nast.Nonlocal(identifier* names)\nast.Not(??)\nast.NotEq(??)\nast.NotIn(??)\nast.Num(??)\nast.Or(??)\nast.Param(??)\nast.Pass(??)\nast.Pow(??)\nast.PyCF_ALLOW_TOP_LEVEL_AWAIT\nast.PyCF_ONLY_AST\nast.PyCF_TYPE_COMMENTS\nast.RShift(??)\nast.Raise(expr? exc, expr? cause)\nast.Return(expr? value)\nast.Set(expr* elts)\nast.SetComp(expr elt, comprehension* generators)\nast.Slice(expr? lower, expr? upper, expr? step)\nast.Starred(expr value, expr_context ctx)\nast.Store(??)\nast.Str(??)\nast.Sub(??)\nast.Subscript(expr value, expr slice, expr_context ctx)\nast.Suite(??)\nast.Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody)\nast.Tuple(expr* elts, expr_context ctx)\nast.TypeIgnore(int lineno, string tag)\nast.UAdd(??)\nast.USub(??)\nast.UnaryOp(unaryop op, expr operand)\nast.While(expr test, stmt* body, stmt* orelse)\nast.With(withitem* items, stmt* body, string? type_comment)\nast.Yield(expr? value)\nast.YieldFrom(expr value)\nast.alias(identifier name, identifier? asname)\nast.arg(identifier arg, expr? annotation, string? type_comment)\nast.arguments(arg* posonlyargs, arg* args, arg? vararg, arg* kwonlyargs, expr* kw_defaults, arg? kwarg, expr* defaults)\nast.auto(??)\nast.boolop(??)\nast.cmpop(??)\nast.comprehension(expr target, expr iter, expr* ifs, int is_async)\nast.contextmanager(??)\nast.copy_location(??)\nast.dump(??)\nast.excepthandler(??)\nast.expr(??)\nast.expr_context(??)\nast.fix_missing_locations(??)\nast.get_docstring(??)\nast.get_source_segment(??)\nast.increment_lineno(??)\nast.iter_child_nodes(??)\nast.iter_fields(??)\nast.keyword(identifier? arg, expr value)\nast.literal_eval(??)\nast.main(??)\nast.mod(??)\nast.nullcontext(??)\nast.operator(??)\nast.parse(??)\nast.slice(??)\nast.stmt(??)\nast.sys(??)\nast.type_ignore(??)\nast.unaryop(??)\nast.unparse(??)\nast.walk(??)\nast.withitem(expr context_expr, expr? optional_vars)\nasynchat.async_chat(??)\nasynchat.asyncore(??)\nasynchat.deque([iterable[, maxlen]]) --> deque object\nasynchat.find_prefix_at_end(??)\nasynchat.simple_producer(??)\nasyncio.ALL_COMPLETED\nasyncio.AbstractChildWatcher(??)\nasyncio.AbstractEventLoop(??)\nasyncio.AbstractEventLoopPolicy(??)\nasyncio.AbstractServer(??)\nasyncio.BaseEventLoop(??)\nasyncio.BaseProtocol(??)\nasyncio.BaseTransport(??)\nasyncio.BoundedSemaphore(??)\nasyncio.BufferedProtocol(??)\nasyncio.CancelledError(??)\nasyncio.Condition(??)\nasyncio.DatagramProtocol(??)\nasyncio.DatagramTransport(??)\nasyncio.DefaultEventLoopPolicy(??)\nasyncio.Event(??)\nasyncio.FIRST_COMPLETED\nasyncio.FIRST_EXCEPTION\nasyncio.FastChildWatcher(??)\nasyncio.Future(??)\nasyncio.Handle(??)\nasyncio.IncompleteReadError(??)\nasyncio.InvalidStateError(??)\nasyncio.LifoQueue(??)\nasyncio.LimitOverrunError(??)\nasyncio.Lock(??)\nasyncio.MultiLoopChildWatcher(??)\nasyncio.PidfdChildWatcher(??)\nasyncio.PriorityQueue(??)\nasyncio.Protocol(??)\nasyncio.Queue(??)\nasyncio.QueueEmpty(??)\nasyncio.QueueFull(??)\nasyncio.ReadTransport(??)\nasyncio.SafeChildWatcher(??)\nasyncio.SelectorEventLoop(??)\nasyncio.Semaphore(??)\nasyncio.SendfileNotAvailableError(??)\nasyncio.StreamReader(??)\nasyncio.StreamReaderProtocol(??)\nasyncio.StreamWriter(??)\nasyncio.SubprocessProtocol(??)\nasyncio.SubprocessTransport(??)\nasyncio.Task(??)\nasyncio.ThreadedChildWatcher(??)\nasyncio.TimeoutError(??)\nasyncio.TimerHandle(??)\nasyncio.Transport(??)\nasyncio.WriteTransport(??)\nasyncio.all_tasks(??)\nasyncio.as_completed(??)\nasyncio.base_events(??)\nasyncio.base_events.BaseEventLoop(??)\nasyncio.base_events.MAXIMUM_SELECT_TIMEOUT\nasyncio.base_events.Server(??)\nasyncio.base_events.collections(??)\nasyncio.base_events.concurrent(??)\nasyncio.base_events.constants(??)\nasyncio.base_events.coroutines(??)\nasyncio.base_events.events(??)\nasyncio.base_events.exceptions(??)\nasyncio.base_events.functools(??)\nasyncio.base_events.futures(??)\nasyncio.base_events.heapq(??)\nasyncio.base_events.itertools(??)\nasyncio.base_events.logger(??)\nasyncio.base_events.os(??)\nasyncio.base_events.protocols(??)\nasyncio.base_events.socket(??)\nasyncio.base_events.ssl(??)\nasyncio.base_events.sslproto(??)\nasyncio.base_events.staggered(??)\nasyncio.base_events.stat(??)\nasyncio.base_events.subprocess(??)\nasyncio.base_events.sys(??)\nasyncio.base_events.tasks(??)\nasyncio.base_events.threading(??)\nasyncio.base_events.time(??)\nasyncio.base_events.traceback(??)\nasyncio.base_events.transports(??)\nasyncio.base_events.trsock(??)\nasyncio.base_events.warnings(??)\nasyncio.base_events.weakref(??)\nasyncio.base_futures(??)\nasyncio.base_futures.format_helpers(??)\nasyncio.base_futures.isfuture(??)\nasyncio.base_futures.reprlib(??)\nasyncio.base_subprocess(??)\nasyncio.base_subprocess.BaseSubprocessTransport(??)\nasyncio.base_subprocess.ReadSubprocessPipeProto(??)\nasyncio.base_subprocess.WriteSubprocessPipeProto(??)\nasyncio.base_subprocess.collections(??)\nasyncio.base_subprocess.logger(??)\nasyncio.base_subprocess.protocols(??)\nasyncio.base_subprocess.subprocess(??)\nasyncio.base_subprocess.transports(??)\nasyncio.base_subprocess.warnings(??)\nasyncio.base_tasks(??)\nasyncio.base_tasks.base_futures(??)\nasyncio.base_tasks.coroutines(??)\nasyncio.base_tasks.linecache(??)\nasyncio.base_tasks.traceback(??)\nasyncio.constants(??)\nasyncio.constants.ACCEPT_RETRY_DELAY\nasyncio.constants.DEBUG_STACK_DEPTH\nasyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES\nasyncio.constants.SENDFILE_FALLBACK_READBUFFER_SIZE\nasyncio.constants.SSL_HANDSHAKE_TIMEOUT\nasyncio.constants.enum(??)\nasyncio.coroutine(??)\nasyncio.coroutines(??)\nasyncio.coroutines.CoroWrapper(??)\nasyncio.coroutines.base_futures(??)\nasyncio.coroutines.collections(??)\nasyncio.coroutines.constants(??)\nasyncio.coroutines.coroutine(??)\nasyncio.coroutines.format_helpers(??)\nasyncio.coroutines.functools(??)\nasyncio.coroutines.inspect(??)\nasyncio.coroutines.iscoroutine(??)\nasyncio.coroutines.iscoroutinefunction(??)\nasyncio.coroutines.logger(??)\nasyncio.coroutines.os(??)\nasyncio.coroutines.sys(??)\nasyncio.coroutines.traceback(??)\nasyncio.coroutines.types(??)\nasyncio.coroutines.warnings(??)\nasyncio.create_subprocess_exec(??)\nasyncio.create_subprocess_shell(??)\nasyncio.create_task(??)\nasyncio.current_task(??)\nasyncio.ensure_future(??)\nasyncio.events(??)\nasyncio.events.AbstractEventLoop(??)\nasyncio.events.AbstractEventLoopPolicy(??)\nasyncio.events.AbstractServer(??)\nasyncio.events.BaseDefaultEventLoopPolicy(??)\nasyncio.events.Handle(??)\nasyncio.events.TimerHandle(??)\nasyncio.events.contextvars(??)\nasyncio.events.format_helpers(??)\nasyncio.events.get_child_watcher(??)\nasyncio.events.get_event_loop(??)\nasyncio.events.get_event_loop_policy(??)\nasyncio.events.get_running_loop(??)\nasyncio.events.new_event_loop(??)\nasyncio.events.os(??)\nasyncio.events.set_child_watcher(??)\nasyncio.events.set_event_loop(??)\nasyncio.events.set_event_loop_policy(??)\nasyncio.events.socket(??)\nasyncio.events.subprocess(??)\nasyncio.events.sys(??)\nasyncio.events.threading(??)\nasyncio.exceptions(??)\nasyncio.exceptions.CancelledError(??)\nasyncio.exceptions.IncompleteReadError(??)\nasyncio.exceptions.InvalidStateError(??)\nasyncio.exceptions.LimitOverrunError(??)\nasyncio.exceptions.SendfileNotAvailableError(??)\nasyncio.exceptions.TimeoutError(??)\nasyncio.format_helpers(??)\nasyncio.format_helpers.constants(??)\nasyncio.format_helpers.extract_stack(??)\nasyncio.format_helpers.functools(??)\nasyncio.format_helpers.inspect(??)\nasyncio.format_helpers.reprlib(??)\nasyncio.format_helpers.sys(??)\nasyncio.format_helpers.traceback(??)\nasyncio.futures(??)\nasyncio.futures.Future(??)\nasyncio.futures.STACK_DEBUG\nasyncio.futures.base_futures(??)\nasyncio.futures.concurrent(??)\nasyncio.futures.contextvars(??)\nasyncio.futures.events(??)\nasyncio.futures.exceptions(??)\nasyncio.futures.format_helpers(??)\nasyncio.futures.isfuture(??)\nasyncio.futures.logging(??)\nasyncio.futures.sys(??)\nasyncio.futures.wrap_future(??)\nasyncio.gather(??)\nasyncio.get_child_watcher(??)\nasyncio.get_event_loop(??)\nasyncio.get_event_loop_policy(??)\nasyncio.get_running_loop(??)\nasyncio.iscoroutine(??)\nasyncio.iscoroutinefunction(??)\nasyncio.isfuture(??)\nasyncio.locks(??)\nasyncio.locks.BoundedSemaphore(??)\nasyncio.locks.Condition(??)\nasyncio.locks.Event(??)\nasyncio.locks.Lock(??)\nasyncio.locks.Semaphore(??)\nasyncio.locks.collections(??)\nasyncio.locks.events(??)\nasyncio.locks.exceptions(??)\nasyncio.locks.warnings(??)\nasyncio.log(??)\nasyncio.log.logger(??)\nasyncio.log.logging(??)\nasyncio.new_event_loop(??)\nasyncio.open_connection(??)\nasyncio.open_unix_connection(??)\nasyncio.proactor_events(??)\nasyncio.proactor_events.BaseProactorEventLoop(??)\nasyncio.proactor_events.base_events(??)\nasyncio.proactor_events.collections(??)\nasyncio.proactor_events.constants(??)\nasyncio.proactor_events.exceptions(??)\nasyncio.proactor_events.futures(??)\nasyncio.proactor_events.io(??)\nasyncio.proactor_events.logger(??)\nasyncio.proactor_events.os(??)\nasyncio.proactor_events.protocols(??)\nasyncio.proactor_events.signal(??)\nasyncio.proactor_events.socket(??)\nasyncio.proactor_events.sslproto(??)\nasyncio.proactor_events.threading(??)\nasyncio.proactor_events.transports(??)\nasyncio.proactor_events.trsock(??)\nasyncio.proactor_events.warnings(??)\nasyncio.protocols(??)\nasyncio.protocols.BaseProtocol(??)\nasyncio.protocols.BufferedProtocol(??)\nasyncio.protocols.DatagramProtocol(??)\nasyncio.protocols.Protocol(??)\nasyncio.protocols.SubprocessProtocol(??)\nasyncio.queues(??)\nasyncio.queues.LifoQueue(??)\nasyncio.queues.PriorityQueue(??)\nasyncio.queues.Queue(??)\nasyncio.queues.QueueEmpty(??)\nasyncio.queues.QueueFull(??)\nasyncio.queues.collections(??)\nasyncio.queues.events(??)\nasyncio.queues.heapq(??)\nasyncio.queues.locks(??)\nasyncio.queues.warnings(??)\nasyncio.run(??)\nasyncio.run_coroutine_threadsafe(??)\nasyncio.runners(??)\nasyncio.runners.coroutines(??)\nasyncio.runners.events(??)\nasyncio.runners.run(??)\nasyncio.runners.tasks(??)\nasyncio.selector_events(??)\nasyncio.selector_events.BaseSelectorEventLoop(??)\nasyncio.selector_events.base_events(??)\nasyncio.selector_events.collections(??)\nasyncio.selector_events.constants(??)\nasyncio.selector_events.errno(??)\nasyncio.selector_events.events(??)\nasyncio.selector_events.functools(??)\nasyncio.selector_events.futures(??)\nasyncio.selector_events.logger(??)\nasyncio.selector_events.protocols(??)\nasyncio.selector_events.selectors(??)\nasyncio.selector_events.socket(??)\nasyncio.selector_events.ssl(??)\nasyncio.selector_events.sslproto(??)\nasyncio.selector_events.transports(??)\nasyncio.selector_events.trsock(??)\nasyncio.selector_events.warnings(??)\nasyncio.selector_events.weakref(??)\nasyncio.set_child_watcher(??)\nasyncio.set_event_loop(??)\nasyncio.set_event_loop_policy(??)\nasyncio.shield(??)\nasyncio.sleep(??)\nasyncio.sslproto(??)\nasyncio.sslproto.SSLProtocol(??)\nasyncio.sslproto.collections(??)\nasyncio.sslproto.constants(??)\nasyncio.sslproto.logger(??)\nasyncio.sslproto.protocols(??)\nasyncio.sslproto.ssl(??)\nasyncio.sslproto.transports(??)\nasyncio.sslproto.warnings(??)\nasyncio.staggered(??)\nasyncio.staggered.contextlib(??)\nasyncio.staggered.events(??)\nasyncio.staggered.exceptions_mod(??)\nasyncio.staggered.locks(??)\nasyncio.staggered.staggered_race(??)\nasyncio.staggered.tasks(??)\nasyncio.staggered.typing(??)\nasyncio.start_server(??)\nasyncio.start_unix_server(??)\nasyncio.streams(??)\nasyncio.streams.FlowControlMixin(??)\nasyncio.streams.StreamReader(??)\nasyncio.streams.StreamReaderProtocol(??)\nasyncio.streams.StreamWriter(??)\nasyncio.streams.coroutines(??)\nasyncio.streams.events(??)\nasyncio.streams.exceptions(??)\nasyncio.streams.format_helpers(??)\nasyncio.streams.logger(??)\nasyncio.streams.open_connection(??)\nasyncio.streams.open_unix_connection(??)\nasyncio.streams.protocols(??)\nasyncio.streams.sleep(??)\nasyncio.streams.socket(??)\nasyncio.streams.start_server(??)\nasyncio.streams.start_unix_server(??)\nasyncio.streams.sys(??)\nasyncio.streams.warnings(??)\nasyncio.streams.weakref(??)\nasyncio.subprocess(??)\nasyncio.subprocess.DEVNULL\nasyncio.subprocess.PIPE\nasyncio.subprocess.Process(??)\nasyncio.subprocess.STDOUT\nasyncio.subprocess.SubprocessStreamProtocol(??)\nasyncio.subprocess.create_subprocess_exec(??)\nasyncio.subprocess.create_subprocess_shell(??)\nasyncio.subprocess.events(??)\nasyncio.subprocess.logger(??)\nasyncio.subprocess.protocols(??)\nasyncio.subprocess.streams(??)\nasyncio.subprocess.subprocess(??)\nasyncio.subprocess.tasks(??)\nasyncio.subprocess.warnings(??)\nasyncio.sys(??)\nasyncio.tasks(??)\nasyncio.tasks.ALL_COMPLETED\nasyncio.tasks.FIRST_COMPLETED\nasyncio.tasks.FIRST_EXCEPTION\nasyncio.tasks.Task(??)\nasyncio.tasks.all_tasks(??)\nasyncio.tasks.as_completed(??)\nasyncio.tasks.base_tasks(??)\nasyncio.tasks.concurrent(??)\nasyncio.tasks.contextvars(??)\nasyncio.tasks.coroutines(??)\nasyncio.tasks.create_task(??)\nasyncio.tasks.current_task(??)\nasyncio.tasks.ensure_future(??)\nasyncio.tasks.events(??)\nasyncio.tasks.exceptions(??)\nasyncio.tasks.functools(??)\nasyncio.tasks.futures(??)\nasyncio.tasks.gather(??)\nasyncio.tasks.inspect(??)\nasyncio.tasks.itertools(??)\nasyncio.tasks.run_coroutine_threadsafe(??)\nasyncio.tasks.shield(??)\nasyncio.tasks.sleep(??)\nasyncio.tasks.types(??)\nasyncio.tasks.wait(??)\nasyncio.tasks.wait_for(??)\nasyncio.tasks.warnings(??)\nasyncio.tasks.weakref(??)\nasyncio.threads(??)\nasyncio.threads.contextvars(??)\nasyncio.threads.events(??)\nasyncio.threads.functools(??)\nasyncio.threads.to_thread(??)\nasyncio.to_thread(??)\nasyncio.transports(??)\nasyncio.transports.BaseTransport(??)\nasyncio.transports.DatagramTransport(??)\nasyncio.transports.ReadTransport(??)\nasyncio.transports.SubprocessTransport(??)\nasyncio.transports.Transport(??)\nasyncio.transports.WriteTransport(??)\nasyncio.trsock(??)\nasyncio.trsock.TransportSocket(??)\nasyncio.trsock.socket(??)\nasyncio.trsock.warnings(??)\nasyncio.unix_events(??)\nasyncio.unix_events.AbstractChildWatcher(??)\nasyncio.unix_events.BaseChildWatcher(??)\nasyncio.unix_events.DefaultEventLoopPolicy(??)\nasyncio.unix_events.FastChildWatcher(??)\nasyncio.unix_events.MultiLoopChildWatcher(??)\nasyncio.unix_events.PidfdChildWatcher(??)\nasyncio.unix_events.SafeChildWatcher(??)\nasyncio.unix_events.SelectorEventLoop(??)\nasyncio.unix_events.ThreadedChildWatcher(??)\nasyncio.unix_events.base_events(??)\nasyncio.unix_events.base_subprocess(??)\nasyncio.unix_events.constants(??)\nasyncio.unix_events.coroutines(??)\nasyncio.unix_events.errno(??)\nasyncio.unix_events.events(??)\nasyncio.unix_events.exceptions(??)\nasyncio.unix_events.futures(??)\nasyncio.unix_events.io(??)\nasyncio.unix_events.itertools(??)\nasyncio.unix_events.logger(??)\nasyncio.unix_events.os(??)\nasyncio.unix_events.selector_events(??)\nasyncio.unix_events.selectors(??)\nasyncio.unix_events.signal(??)\nasyncio.unix_events.socket(??)\nasyncio.unix_events.stat(??)\nasyncio.unix_events.subprocess(??)\nasyncio.unix_events.sys(??)\nasyncio.unix_events.tasks(??)\nasyncio.unix_events.threading(??)\nasyncio.unix_events.transports(??)\nasyncio.unix_events.warnings(??)\nasyncio.wait(??)\nasyncio.wait_for(??)\nasyncio.wrap_future(??)\nasyncore.EAGAIN\nasyncore.EALREADY\nasyncore.EBADF\nasyncore.ECONNABORTED\nasyncore.ECONNRESET\nasyncore.EINPROGRESS\nasyncore.EINVAL\nasyncore.EISCONN\nasyncore.ENOTCONN\nasyncore.EPIPE\nasyncore.ESHUTDOWN\nasyncore.EWOULDBLOCK\nasyncore.ExitNow(??)\nasyncore.close_all(??)\nasyncore.compact_traceback(??)\nasyncore.dispatcher(??)\nasyncore.dispatcher_with_send(??)\nasyncore.errorcode(??)\nasyncore.file_dispatcher(??)\nasyncore.file_wrapper(??)\nasyncore.loop(??)\nasyncore.os(??)\nasyncore.poll(??)\nasyncore.poll2(??)\nasyncore.poll3(??)\nasyncore.read(??)\nasyncore.readwrite(??)\nasyncore.select(??)\nasyncore.socket(??)\nasyncore.socket_map(??)\nasyncore.sys(??)\nasyncore.time(??)\nasyncore.warnings(??)\nasyncore.write(??)\natexit.register(func, *args, **kwargs) -> func\natexit.unregister(func) -> None\nbase64.MAXBINSIZE\nbase64.MAXLINESIZE\nbase64.a85decode(??)\nbase64.a85encode(??)\nbase64.b16decode(??)\nbase64.b16encode(??)\nbase64.b32decode(??)\nbase64.b32encode(??)\nbase64.b64decode(??)\nbase64.b64encode(??)\nbase64.b85decode(??)\nbase64.b85encode(??)\nbase64.binascii(??)\nbase64.bytes_types(??)\nbase64.decode(??)\nbase64.decodebytes(??)\nbase64.encode(??)\nbase64.encodebytes(??)\nbase64.main(??)\nbase64.re(??)\nbase64.standard_b64decode(??)\nbase64.standard_b64encode(??)\nbase64.struct(??)\nbase64.test(??)\nbase64.urlsafe_b64decode(??)\nbase64.urlsafe_b64encode(??)\nbdb.Bdb(??)\nbdb.BdbQuit(??)\nbdb.Breakpoint(??)\nbdb.CO_ASYNC_GENERATOR\nbdb.CO_COROUTINE\nbdb.CO_GENERATOR\nbdb.GENERATOR_AND_COROUTINE_FLAGS\nbdb.Tdb(??)\nbdb.bar(??)\nbdb.checkfuncname(??)\nbdb.effective(??)\nbdb.fnmatch(??)\nbdb.foo(??)\nbdb.os(??)\nbdb.set_trace(??)\nbdb.sys(??)\nbdb.test(??)\nbin(??)\nbinhex.BinHex(??)\nbinhex.Error(??)\nbinhex.FInfo(??)\nbinhex.HexBin(??)\nbinhex.LINELEN\nbinhex.REASONABLY_LARGE\nbinhex.RUNCHAR\nbinhex.binascii(??)\nbinhex.binhex(infilename, outfilename): create binhex-encoded copy of a file\nbinhex.contextlib(??)\nbinhex.getfileinfo(??)\nbinhex.hexbin(infilename, outfilename) - Decode binhexed file\nbinhex.io(??)\nbinhex.openrsrc(??)\nbinhex.os(??)\nbinhex.struct(??)\nbinhex.warnings(??)\nbisect.bisect(??)\nbisect.bisect_left(??)\nbisect.bisect_right(??)\nbisect.insort(??)\nbisect.insort_left(??)\nbisect.insort_right(??)\nbool(x) -> bool\nbreakpoint(*args, **kws)\nbuiltins.ArithmeticError(??)\nbuiltins.AssertionError(??)\nbuiltins.AttributeError(??)\nbuiltins.BaseException(??)\nbuiltins.BlockingIOError(??)\nbuiltins.BrokenPipeError(??)\nbuiltins.BufferError(??)\nbuiltins.BytesWarning(??)\nbuiltins.ChildProcessError(??)\nbuiltins.ConnectionAbortedError(??)\nbuiltins.ConnectionError(??)\nbuiltins.ConnectionRefusedError(??)\nbuiltins.ConnectionResetError(??)\nbuiltins.DeprecationWarning(??)\nbuiltins.EOFError(??)\nbuiltins.Ellipsis(??)\nbuiltins.EnvironmentError(??)\nbuiltins.Exception(??)\nbuiltins.False\nbuiltins.FileExistsError(??)\nbuiltins.FileNotFoundError(??)\nbuiltins.FloatingPointError(??)\nbuiltins.FutureWarning(??)\nbuiltins.GeneratorExit(??)\nbuiltins.IOError(??)\nbuiltins.ImportError(??)\nbuiltins.ImportWarning(??)\nbuiltins.IndentationError(??)\nbuiltins.IndexError(??)\nbuiltins.InterruptedError(??)\nbuiltins.IsADirectoryError(??)\nbuiltins.KeyError(??)\nbuiltins.KeyboardInterrupt(??)\nbuiltins.LookupError(??)\nbuiltins.MemoryError(??)\nbuiltins.ModuleNotFoundError(??)\nbuiltins.NameError(??)\nbuiltins.None\nbuiltins.NotADirectoryError(??)\nbuiltins.NotImplemented(??)\nbuiltins.NotImplementedError(??)\nbuiltins.OSError(??)\nbuiltins.OverflowError(??)\nbuiltins.PendingDeprecationWarning(??)\nbuiltins.PermissionError(??)\nbuiltins.ProcessLookupError(??)\nbuiltins.RecursionError(??)\nbuiltins.ReferenceError(??)\nbuiltins.ResourceWarning(??)\nbuiltins.RuntimeError(??)\nbuiltins.RuntimeWarning(??)\nbuiltins.StopAsyncIteration(??)\nbuiltins.StopIteration(??)\nbuiltins.SyntaxError(??)\nbuiltins.SyntaxWarning(??)\nbuiltins.SystemError(??)\nbuiltins.SystemExit(??)\nbuiltins.TabError(??)\nbuiltins.TimeoutError(??)\nbuiltins.True\nbuiltins.TypeError(??)\nbuiltins.UnboundLocalError(??)\nbuiltins.UnicodeDecodeError(??)\nbuiltins.UnicodeEncodeError(??)\nbuiltins.UnicodeError(??)\nbuiltins.UnicodeTranslateError(??)\nbuiltins.UnicodeWarning(??)\nbuiltins.UserWarning(??)\nbuiltins.ValueError(??)\nbuiltins.Warning(??)\nbuiltins.ZeroDivisionError(??)\nbuiltins.abs(??)\nbuiltins.all(??)\nbuiltins.any(??)\nbuiltins.ascii(??)\nbuiltins.bin(??)\nbuiltins.bool(x) -> bool\nbuiltins.breakpoint(*args, **kws)\nbuiltins.bytearray(iterable_of_ints) -> bytearray\nbuiltins.bytes(iterable_of_ints) -> bytes\nbuiltins.callable(??)\nbuiltins.chr(??)\nbuiltins.classmethod(function) -> method\nbuiltins.compile(??)\nbuiltins.complex(??)\nbuiltins.copyright(??)\nbuiltins.credits(??)\nbuiltins.delattr(??)\nbuiltins.dict() -> new empty dictionary\nbuiltins.dir([object]) -> list of strings\nbuiltins.divmod(??)\nbuiltins.enumerate(??)\nbuiltins.eval(??)\nbuiltins.exec(??)\nbuiltins.exit(??)\nbuiltins.filter(function or None, iterable) --> filter object\nbuiltins.float(??)\nbuiltins.format(??)\nbuiltins.frozenset() -> empty frozenset object\nbuiltins.getattr(object, name[, default]) -> value\nbuiltins.globals(??)\nbuiltins.hasattr(??)\nbuiltins.hash(??)\nbuiltins.help(??)\nbuiltins.hex(??)\nbuiltins.id(??)\nbuiltins.input(??)\nbuiltins.int([x]) -> integer\nbuiltins.isinstance(??)\nbuiltins.issubclass(??)\nbuiltins.iter(iterable) -> iterator\nbuiltins.len(??)\nbuiltins.license(??)\nbuiltins.list(??)\nbuiltins.locals(??)\nbuiltins.map(func, *iterables) --> map object\nbuiltins.max(iterable, *[, default=obj, key=func]) -> value\nbuiltins.memoryview(??)\nbuiltins.min(iterable, *[, default=obj, key=func]) -> value\nbuiltins.next(iterator[, default])\nbuiltins.object(??)\nbuiltins.oct(??)\nbuiltins.open(??)\nbuiltins.ord(??)\nbuiltins.pow(??)\nbuiltins.print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nbuiltins.property(??)\nbuiltins.quit(??)\nbuiltins.range(stop) -> range object\nbuiltins.repr(??)\nbuiltins.reversed(??)\nbuiltins.round(??)\nbuiltins.set() -> new empty set object\nbuiltins.setattr(??)\nbuiltins.slice(stop)\nbuiltins.sorted(??)\nbuiltins.staticmethod(function) -> method\nbuiltins.str(object='') -> str\nbuiltins.sum(??)\nbuiltins.super() -> same as super(__class__, <first argument>)\nbuiltins.tuple(??)\nbuiltins.type(object_or_name, bases, dict)\nbuiltins.vars([object]) -> dictionary\nbuiltins.zip(*iterables) --> A zip object yielding tuples until an input is exhausted.\nbytearray(iterable_of_ints) -> bytearray\nbytes(iterable_of_ints) -> bytes\nbz2.BZ2Compressor(??)\nbz2.BZ2Decompressor(??)\nbz2.BZ2File(??)\nbz2.RLock(??)\nbz2.compress(??)\nbz2.decompress(??)\nbz2.io(??)\nbz2.open(??)\nbz2.os(??)\ncProfile.Profile(timer=None, timeunit=None, subcalls=True, builtins=True)\ncProfile.label(??)\ncProfile.main(??)\ncProfile.run(??)\ncProfile.runctx(??)\ncalendar.Calendar(??)\ncalendar.EPOCH\ncalendar.FRIDAY\ncalendar.February\ncalendar.HTMLCalendar(??)\ncalendar.IllegalMonthError(??)\ncalendar.IllegalWeekdayError(??)\ncalendar.January\ncalendar.LocaleHTMLCalendar(??)\ncalendar.LocaleTextCalendar(??)\ncalendar.MONDAY\ncalendar.SATURDAY\ncalendar.SUNDAY\ncalendar.THURSDAY\ncalendar.TUESDAY\ncalendar.TextCalendar(??)\ncalendar.WEDNESDAY\ncalendar.c(??)\ncalendar.calendar(??)\ncalendar.datetime(??)\ncalendar.day_abbr(??)\ncalendar.day_name(??)\ncalendar.different_locale(??)\ncalendar.error(??)\ncalendar.firstweekday(??)\ncalendar.format(??)\ncalendar.formatstring(??)\ncalendar.isleap(??)\ncalendar.leapdays(??)\ncalendar.main(??)\ncalendar.mdays(??)\ncalendar.month(??)\ncalendar.month_abbr(??)\ncalendar.month_name(??)\ncalendar.monthcalendar(??)\ncalendar.monthrange(??)\ncalendar.prcal(??)\ncalendar.prmonth(??)\ncalendar.prweek(??)\ncalendar.repeat(object [,times]) -> create an iterator which returns the object\ncalendar.setfirstweekday(??)\ncalendar.sys(??)\ncalendar.timegm(??)\ncalendar.week(??)\ncalendar.weekday(??)\ncalendar.weekheader(??)\ncallable(??)\ncgi.BytesIO(??)\ncgi.FeedParser(??)\ncgi.FieldStorage(??)\ncgi.Mapping(??)\ncgi.Message(??)\ncgi.MiniFieldStorage(??)\ncgi.StringIO(??)\ncgi.TextIOWrapper(??)\ncgi.closelog(??)\ncgi.dolog(??)\ncgi.html(??)\ncgi.initlog(??)\ncgi.locale(??)\ncgi.log(??)\ncgi.logfile\ncgi.logfp(??)\ncgi.maxlen\ncgi.nolog(??)\ncgi.os(??)\ncgi.parse(??)\ncgi.parse_header(??)\ncgi.parse_multipart(??)\ncgi.print_arguments(??)\ncgi.print_directory(??)\ncgi.print_environ(??)\ncgi.print_environ_usage(??)\ncgi.print_exception(??)\ncgi.print_form(??)\ncgi.sys(??)\ncgi.tempfile(??)\ncgi.test(??)\ncgi.urllib(??)\ncgi.valid_boundary(??)\ncgitb.Hook(??)\ncgitb.enable(??)\ncgitb.grey(??)\ncgitb.handler(??)\ncgitb.html(??)\ncgitb.inspect(??)\ncgitb.keyword(??)\ncgitb.linecache(??)\ncgitb.lookup(??)\ncgitb.os(??)\ncgitb.pydoc(??)\ncgitb.reset(??)\ncgitb.scanvars(??)\ncgitb.small(??)\ncgitb.strong(??)\ncgitb.sys(??)\ncgitb.tempfile(??)\ncgitb.text(??)\ncgitb.time(??)\ncgitb.tokenize(??)\ncgitb.traceback(??)\nchr(??)\nchunk.Chunk(??)\nclassmethod(function) -> method\ncmd.Cmd(??)\ncmd.IDENTCHARS\ncmd.PROMPT\ncmd.string(??)\ncmd.sys(??)\ncode.CommandCompiler(??)\ncode.InteractiveConsole(??)\ncode.InteractiveInterpreter(??)\ncode.compile_command(??)\ncode.interact(??)\ncode.sys(??)\ncode.traceback(??)\ncodecs.BOM\ncodecs.BOM32_BE\ncodecs.BOM32_LE\ncodecs.BOM64_BE\ncodecs.BOM64_LE\ncodecs.BOM_BE\ncodecs.BOM_LE\ncodecs.BOM_UTF16\ncodecs.BOM_UTF16_BE\ncodecs.BOM_UTF16_LE\ncodecs.BOM_UTF32\ncodecs.BOM_UTF32_BE\ncodecs.BOM_UTF32_LE\ncodecs.BOM_UTF8\ncodecs.BufferedIncrementalDecoder(??)\ncodecs.BufferedIncrementalEncoder(??)\ncodecs.Codec(??)\ncodecs.CodecInfo(??)\ncodecs.EncodedFile(??)\ncodecs.IncrementalDecoder(??)\ncodecs.IncrementalEncoder(??)\ncodecs.StreamReader(??)\ncodecs.StreamReaderWriter(??)\ncodecs.StreamRecoder(??)\ncodecs.StreamWriter(??)\ncodecs.ascii_decode(??)\ncodecs.ascii_encode(??)\ncodecs.backslashreplace_errors(??)\ncodecs.builtins(??)\ncodecs.charmap_build(??)\ncodecs.charmap_decode(??)\ncodecs.charmap_encode(??)\ncodecs.decode(??)\ncodecs.encode(??)\ncodecs.escape_decode(??)\ncodecs.escape_encode(??)\ncodecs.getdecoder(??)\ncodecs.getencoder(??)\ncodecs.getincrementaldecoder(??)\ncodecs.getincrementalencoder(??)\ncodecs.getreader(??)\ncodecs.getwriter(??)\ncodecs.ignore_errors(??)\ncodecs.iterdecode(??)\ncodecs.iterencode(??)\ncodecs.latin_1_decode(??)\ncodecs.latin_1_encode(??)\ncodecs.lookup(??)\ncodecs.lookup_error(errors) -> handler\ncodecs.make_encoding_map(??)\ncodecs.make_identity_dict(rng) -> dict\ncodecs.namereplace_errors(??)\ncodecs.open(??)\ncodecs.raw_unicode_escape_decode(??)\ncodecs.raw_unicode_escape_encode(??)\ncodecs.readbuffer_encode(??)\ncodecs.register(??)\ncodecs.register_error(??)\ncodecs.replace_errors(??)\ncodecs.strict_errors(??)\ncodecs.sys(??)\ncodecs.unicode_escape_decode(??)\ncodecs.unicode_escape_encode(??)\ncodecs.utf_16_be_decode(??)\ncodecs.utf_16_be_encode(??)\ncodecs.utf_16_decode(??)\ncodecs.utf_16_encode(??)\ncodecs.utf_16_ex_decode(??)\ncodecs.utf_16_le_decode(??)\ncodecs.utf_16_le_encode(??)\ncodecs.utf_32_be_decode(??)\ncodecs.utf_32_be_encode(??)\ncodecs.utf_32_decode(??)\ncodecs.utf_32_encode(??)\ncodecs.utf_32_ex_decode(??)\ncodecs.utf_32_le_decode(??)\ncodecs.utf_32_le_encode(??)\ncodecs.utf_7_decode(??)\ncodecs.utf_7_encode(??)\ncodecs.utf_8_decode(??)\ncodecs.utf_8_encode(??)\ncodecs.xmlcharrefreplace_errors(??)\ncodeop.CommandCompiler(??)\ncodeop.Compile(??)\ncodeop.PyCF_DONT_IMPLY_DEDENT\ncodeop.compile_command(??)\ncodeop.warnings(??)\ncollections.ChainMap(??)\ncollections.Counter(??)\ncollections.OrderedDict(??)\ncollections.UserDict(??)\ncollections.UserList(??)\ncollections.UserString(??)\ncollections.abc(??)\ncollections.abc.AsyncGenerator(??)\ncollections.abc.AsyncIterable(??)\ncollections.abc.AsyncIterator(??)\ncollections.abc.Awaitable(??)\ncollections.abc.ByteString(??)\ncollections.abc.Callable(??)\ncollections.abc.Collection(??)\ncollections.abc.Container(??)\ncollections.abc.Coroutine(??)\ncollections.abc.Generator(??)\ncollections.abc.Hashable(??)\ncollections.abc.ItemsView(??)\ncollections.abc.Iterable(??)\ncollections.abc.Iterator(??)\ncollections.abc.KeysView(??)\ncollections.abc.Mapping(??)\ncollections.abc.MappingView(??)\ncollections.abc.MutableMapping(??)\ncollections.abc.MutableSequence(??)\ncollections.abc.MutableSet(??)\ncollections.abc.Reversible(??)\ncollections.abc.Sequence(??)\ncollections.abc.Set(??)\ncollections.abc.Sized(??)\ncollections.abc.ValuesView(??)\ncollections.defaultdict(default_factory[, ...]) --> dict with default factory\ncollections.deque([iterable[, maxlen]]) --> deque object\ncollections.namedtuple(??)\ncolorsys.ONE_SIXTH\ncolorsys.ONE_THIRD\ncolorsys.TWO_THIRD\ncolorsys.hls_to_rgb(??)\ncolorsys.hsv_to_rgb(??)\ncolorsys.rgb_to_hls(??)\ncolorsys.rgb_to_hsv(??)\ncolorsys.rgb_to_yiq(??)\ncolorsys.yiq_to_rgb(??)\ncompile(??)\ncompileall.Path(??)\ncompileall.compile_dir(??)\ncompileall.compile_file(??)\ncompileall.compile_path(??)\ncompileall.filecmp(??)\ncompileall.importlib(??)\ncompileall.main(??)\ncompileall.os(??)\ncompileall.partial(func, *args, **keywords) - new function with partial application\ncompileall.py_compile(??)\ncompileall.struct(??)\ncompileall.sys(??)\ncomplex(??)\nconcurrent.futures(??)\nconcurrent.futures.ALL_COMPLETED\nconcurrent.futures.BrokenExecutor(??)\nconcurrent.futures.CancelledError(??)\nconcurrent.futures.Executor(??)\nconcurrent.futures.FIRST_COMPLETED\nconcurrent.futures.FIRST_EXCEPTION\nconcurrent.futures.Future(??)\nconcurrent.futures.ProcessPoolExecutor(??)\nconcurrent.futures.ThreadPoolExecutor(??)\nconcurrent.futures.TimeoutError(??)\nconcurrent.futures.as_completed(??)\nconcurrent.futures.process.BrokenProcessPool(??)\nconcurrent.futures.process.EXTRA_QUEUED_CALLS\nconcurrent.futures.process.ProcessPoolExecutor(??)\nconcurrent.futures.process.Queue(??)\nconcurrent.futures.process.itertools(??)\nconcurrent.futures.process.mp(??)\nconcurrent.futures.process.multiprocessing(??)\nconcurrent.futures.process.os(??)\nconcurrent.futures.process.partial(func, *args, **keywords) - new function with partial application\nconcurrent.futures.process.queue(??)\nconcurrent.futures.process.sys(??)\nconcurrent.futures.process.threading(??)\nconcurrent.futures.process.traceback(??)\nconcurrent.futures.process.weakref(??)\nconcurrent.futures.thread.BrokenThreadPool(??)\nconcurrent.futures.thread.ThreadPoolExecutor(??)\nconcurrent.futures.thread.itertools(??)\nconcurrent.futures.thread.os(??)\nconcurrent.futures.thread.queue(??)\nconcurrent.futures.thread.threading(??)\nconcurrent.futures.thread.types(??)\nconcurrent.futures.thread.weakref(??)\nconcurrent.futures.wait(??)\nconfigparser.BasicInterpolation(??)\nconfigparser.ConfigParser(??)\nconfigparser.ConverterMapping(??)\nconfigparser.DEFAULTSECT\nconfigparser.DuplicateOptionError(??)\nconfigparser.DuplicateSectionError(??)\nconfigparser.Error(??)\nconfigparser.ExtendedInterpolation(??)\nconfigparser.Interpolation(??)\nconfigparser.InterpolationDepthError(??)\nconfigparser.InterpolationError(??)\nconfigparser.InterpolationMissingOptionError(??)\nconfigparser.InterpolationSyntaxError(??)\nconfigparser.LegacyInterpolation(??)\nconfigparser.MAX_INTERPOLATION_DEPTH\nconfigparser.MissingSectionHeaderError(??)\nconfigparser.MutableMapping(??)\nconfigparser.NoOptionError(??)\nconfigparser.NoSectionError(??)\nconfigparser.ParsingError(??)\nconfigparser.RawConfigParser(??)\nconfigparser.SafeConfigParser(??)\nconfigparser.SectionProxy(??)\nconfigparser.functools(??)\nconfigparser.io(??)\nconfigparser.itertools(??)\nconfigparser.os(??)\nconfigparser.re(??)\nconfigparser.sys(??)\nconfigparser.warnings(??)\ncontextlib.AbstractAsyncContextManager(??)\ncontextlib.AbstractContextManager(??)\ncontextlib.AsyncExitStack(??)\ncontextlib.ContextDecorator(??)\ncontextlib.ExitStack(??)\ncontextlib.GenericAlias(??)\ncontextlib.MethodType(??)\ncontextlib.abc(??)\ncontextlib.asynccontextmanager(??)\ncontextlib.closing(??)\ncontextlib.contextmanager(??)\ncontextlib.deque([iterable[, maxlen]]) --> deque object\ncontextlib.nullcontext(??)\ncontextlib.redirect_stderr(??)\ncontextlib.redirect_stdout(??)\ncontextlib.suppress(??)\ncontextlib.sys(??)\ncontextlib.wraps(??)\ncontextvars.Context(??)\ncontextvars.ContextVar(??)\ncontextvars.Token(??)\ncontextvars.copy_context(??)\ncopy.Error(??)\ncopy.copy(??)\ncopy.deepcopy(??)\ncopy.dispatch_table(??)\ncopy.error(??)\ncopyreg.add_extension(??)\ncopyreg.clear_extension_cache(??)\ncopyreg.constructor(??)\ncopyreg.dispatch_table(??)\ncopyreg.pickle(??)\ncopyreg.pickle_complex(??)\ncopyreg.remove_extension(??)\ncopyright(??)\ncredits(??)\ncrypt.METHOD_BLOWFISH(??)\ncrypt.METHOD_CRYPT(??)\ncrypt.METHOD_MD5(??)\ncrypt.METHOD_SHA256(??)\ncrypt.METHOD_SHA512(??)\ncrypt.crypt(??)\ncrypt.errno(??)\ncrypt.methods(??)\ncrypt.mksalt(??)\ncsv.Dialect(??)\ncsv.DictReader(??)\ncsv.DictWriter(??)\ncsv.Error(??)\ncsv.QUOTE_ALL\ncsv.QUOTE_MINIMAL\ncsv.QUOTE_NONE\ncsv.QUOTE_NONNUMERIC\ncsv.Sniffer(??)\ncsv.StringIO(??)\ncsv.excel(??)\ncsv.excel_tab(??)\ncsv.field_size_limit(??)\ncsv.get_dialect(??)\ncsv.list_dialects(??)\ncsv.re(??)\ncsv.reader(??)\ncsv.register_dialect(??)\ncsv.unix_dialect(??)\ncsv.unregister_dialect(??)\ncsv.writer(??)\nctypes.ARRAY(??)\nctypes.ArgumentError(??)\nctypes.Array(??)\nctypes.BigEndianStructure(??)\nctypes.CDLL(??)\nctypes.CFUNCTYPE(??)\nctypes.DEFAULT_MODE\nctypes.LibraryLoader(??)\nctypes.LittleEndianStructure(??)\nctypes.POINTER(??)\nctypes.PYFUNCTYPE(??)\nctypes.PyDLL(??)\nctypes.RTLD_GLOBAL\nctypes.RTLD_LOCAL\nctypes.SetPointerType(??)\nctypes.Structure(??)\nctypes.Union(??)\nctypes.addressof(C instance) -> integer\nctypes.alignment(C type) -> integer\nctypes.byref(C instance[, offset=0]) -> byref-object\nctypes.c_bool(??)\nctypes.c_buffer(??)\nctypes.c_byte(??)\nctypes.c_char(??)\nctypes.c_char_p(??)\nctypes.c_double(??)\nctypes.c_float(??)\nctypes.c_int(??)\nctypes.c_int16(??)\nctypes.c_int32(??)\nctypes.c_int64(??)\nctypes.c_int8(??)\nctypes.c_long(??)\nctypes.c_longdouble(??)\nctypes.c_longlong(??)\nctypes.c_short(??)\nctypes.c_size_t(??)\nctypes.c_ssize_t(??)\nctypes.c_ubyte(??)\nctypes.c_uint(??)\nctypes.c_uint16(??)\nctypes.c_uint32(??)\nctypes.c_uint64(??)\nctypes.c_uint8(??)\nctypes.c_ulong(??)\nctypes.c_ulonglong(??)\nctypes.c_ushort(??)\nctypes.c_void_p(??)\nctypes.c_voidp(??)\nctypes.c_wchar(??)\nctypes.c_wchar_p(??)\nctypes.cast(??)\nctypes.cdll(??)\nctypes.create_string_buffer(aBytes) -> character array\nctypes.create_unicode_buffer(aString) -> character array\nctypes.get_errno(??)\nctypes.macholib(??)\nctypes.macholib.dyld(??)\nctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??)\nctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??)\nctypes.macholib.dyld.accumulate(??)\nctypes.macholib.dyld.chain(*iterables) --> chain object\nctypes.macholib.dyld.combinations(??)\nctypes.macholib.dyld.combinations_with_replacement(??)\nctypes.macholib.dyld.compress(??)\nctypes.macholib.dyld.count(??)\nctypes.macholib.dyld.cycle(??)\nctypes.macholib.dyld.dropwhile(??)\nctypes.macholib.dyld.dyld_default_search(??)\nctypes.macholib.dyld.dyld_env(??)\nctypes.macholib.dyld.dyld_executable_path_search(??)\nctypes.macholib.dyld.dyld_fallback_framework_path(??)\nctypes.macholib.dyld.dyld_fallback_library_path(??)\nctypes.macholib.dyld.dyld_find(??)\nctypes.macholib.dyld.dyld_framework_path(??)\nctypes.macholib.dyld.dyld_image_suffix(??)\nctypes.macholib.dyld.dyld_image_suffix_search(??)\nctypes.macholib.dyld.dyld_library_path(??)\nctypes.macholib.dyld.dyld_override_search(??)\nctypes.macholib.dyld.dylib_info(??)\nctypes.macholib.dyld.filterfalse(??)\nctypes.macholib.dyld.framework_find(??)\nctypes.macholib.dyld.framework_info(??)\nctypes.macholib.dyld.groupby(??)\nctypes.macholib.dyld.islice(iterable, stop) --> islice object\nctypes.macholib.dyld.os(??)\nctypes.macholib.dyld.permutations(??)\nctypes.macholib.dyld.product(*iterables, repeat=1) --> product object\nctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object\nctypes.macholib.dyld.starmap(??)\nctypes.macholib.dyld.takewhile(??)\nctypes.macholib.dyld.tee(??)\nctypes.macholib.dyld.test_dyld_find(??)\nctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\nctypes.macholib.dylib(??)\nctypes.macholib.dylib.DYLIB_RE(??)\nctypes.macholib.dylib.dylib_info(??)\nctypes.macholib.dylib.re(??)\nctypes.macholib.dylib.test_dylib_info(??)\nctypes.macholib.framework(??)\nctypes.macholib.framework.STRICT_FRAMEWORK_RE(??)\nctypes.macholib.framework.framework_info(??)\nctypes.macholib.framework.re(??)\nctypes.macholib.framework.test_framework_info(??)\nctypes.memmove(??)\nctypes.memset(??)\nctypes.pointer(??)\nctypes.py_object(??)\nctypes.pydll(??)\nctypes.pythonapi(??)\nctypes.resize(??)\nctypes.set_errno(??)\nctypes.sizeof(C type) -> integer\nctypes.string_at(addr[, size]) -> string\nctypes.util(??)\nctypes.util.find_library(??)\nctypes.util.os(??)\nctypes.util.shutil(??)\nctypes.util.subprocess(??)\nctypes.util.sys(??)\nctypes.util.test(??)\nctypes.wstring_at(addr[, size]) -> string\ncurses.ALL_MOUSE_EVENTS\ncurses.A_ALTCHARSET\ncurses.A_ATTRIBUTES\ncurses.A_BLINK\ncurses.A_BOLD\ncurses.A_CHARTEXT\ncurses.A_COLOR\ncurses.A_DIM\ncurses.A_HORIZONTAL\ncurses.A_INVIS\ncurses.A_LEFT\ncurses.A_LOW\ncurses.A_NORMAL\ncurses.A_PROTECT\ncurses.A_REVERSE\ncurses.A_RIGHT\ncurses.A_STANDOUT\ncurses.A_TOP\ncurses.A_UNDERLINE\ncurses.A_VERTICAL\ncurses.BUTTON1_CLICKED\ncurses.BUTTON1_DOUBLE_CLICKED\ncurses.BUTTON1_PRESSED\ncurses.BUTTON1_RELEASED\ncurses.BUTTON1_TRIPLE_CLICKED\ncurses.BUTTON2_CLICKED\ncurses.BUTTON2_DOUBLE_CLICKED\ncurses.BUTTON2_PRESSED\ncurses.BUTTON2_RELEASED\ncurses.BUTTON2_TRIPLE_CLICKED\ncurses.BUTTON3_CLICKED\ncurses.BUTTON3_DOUBLE_CLICKED\ncurses.BUTTON3_PRESSED\ncurses.BUTTON3_RELEASED\ncurses.BUTTON3_TRIPLE_CLICKED\ncurses.BUTTON4_CLICKED\ncurses.BUTTON4_DOUBLE_CLICKED\ncurses.BUTTON4_PRESSED\ncurses.BUTTON4_RELEASED\ncurses.BUTTON4_TRIPLE_CLICKED\ncurses.BUTTON_ALT\ncurses.BUTTON_CTRL\ncurses.BUTTON_SHIFT\ncurses.COLOR_BLACK\ncurses.COLOR_BLUE\ncurses.COLOR_CYAN\ncurses.COLOR_GREEN\ncurses.COLOR_MAGENTA\ncurses.COLOR_RED\ncurses.COLOR_WHITE\ncurses.COLOR_YELLOW\ncurses.ERR\ncurses.KEY_A1\ncurses.KEY_A3\ncurses.KEY_B2\ncurses.KEY_BACKSPACE\ncurses.KEY_BEG\ncurses.KEY_BREAK\ncurses.KEY_BTAB\ncurses.KEY_C1\ncurses.KEY_C3\ncurses.KEY_CANCEL\ncurses.KEY_CATAB\ncurses.KEY_CLEAR\ncurses.KEY_CLOSE\ncurses.KEY_COMMAND\ncurses.KEY_COPY\ncurses.KEY_CREATE\ncurses.KEY_CTAB\ncurses.KEY_DC\ncurses.KEY_DL\ncurses.KEY_DOWN\ncurses.KEY_EIC\ncurses.KEY_END\ncurses.KEY_ENTER\ncurses.KEY_EOL\ncurses.KEY_EOS\ncurses.KEY_EXIT\ncurses.KEY_F0\ncurses.KEY_F1\ncurses.KEY_F10\ncurses.KEY_F11\ncurses.KEY_F12\ncurses.KEY_F13\ncurses.KEY_F14\ncurses.KEY_F15\ncurses.KEY_F16\ncurses.KEY_F17\ncurses.KEY_F18\ncurses.KEY_F19\ncurses.KEY_F2\ncurses.KEY_F20\ncurses.KEY_F21\ncurses.KEY_F22\ncurses.KEY_F23\ncurses.KEY_F24\ncurses.KEY_F25\ncurses.KEY_F26\ncurses.KEY_F27\ncurses.KEY_F28\ncurses.KEY_F29\ncurses.KEY_F3\ncurses.KEY_F30\ncurses.KEY_F31\ncurses.KEY_F32\ncurses.KEY_F33\ncurses.KEY_F34\ncurses.KEY_F35\ncurses.KEY_F36\ncurses.KEY_F37\ncurses.KEY_F38\ncurses.KEY_F39\ncurses.KEY_F4\ncurses.KEY_F40\ncurses.KEY_F41\ncurses.KEY_F42\ncurses.KEY_F43\ncurses.KEY_F44\ncurses.KEY_F45\ncurses.KEY_F46\ncurses.KEY_F47\ncurses.KEY_F48\ncurses.KEY_F49\ncurses.KEY_F5\ncurses.KEY_F50\ncurses.KEY_F51\ncurses.KEY_F52\ncurses.KEY_F53\ncurses.KEY_F54\ncurses.KEY_F55\ncurses.KEY_F56\ncurses.KEY_F57\ncurses.KEY_F58\ncurses.KEY_F59\ncurses.KEY_F6\ncurses.KEY_F60\ncurses.KEY_F61\ncurses.KEY_F62\ncurses.KEY_F63\ncurses.KEY_F7\ncurses.KEY_F8\ncurses.KEY_F9\ncurses.KEY_FIND\ncurses.KEY_HELP\ncurses.KEY_HOME\ncurses.KEY_IC\ncurses.KEY_IL\ncurses.KEY_LEFT\ncurses.KEY_LL\ncurses.KEY_MARK\ncurses.KEY_MAX\ncurses.KEY_MESSAGE\ncurses.KEY_MIN\ncurses.KEY_MOUSE\ncurses.KEY_MOVE\ncurses.KEY_NEXT\ncurses.KEY_NPAGE\ncurses.KEY_OPEN\ncurses.KEY_OPTIONS\ncurses.KEY_PPAGE\ncurses.KEY_PREVIOUS\ncurses.KEY_PRINT\ncurses.KEY_REDO\ncurses.KEY_REFERENCE\ncurses.KEY_REFRESH\ncurses.KEY_REPLACE\ncurses.KEY_RESET\ncurses.KEY_RESIZE\ncurses.KEY_RESTART\ncurses.KEY_RESUME\ncurses.KEY_RIGHT\ncurses.KEY_SAVE\ncurses.KEY_SBEG\ncurses.KEY_SCANCEL\ncurses.KEY_SCOMMAND\ncurses.KEY_SCOPY\ncurses.KEY_SCREATE\ncurses.KEY_SDC\ncurses.KEY_SDL\ncurses.KEY_SELECT\ncurses.KEY_SEND\ncurses.KEY_SEOL\ncurses.KEY_SEXIT\ncurses.KEY_SF\ncurses.KEY_SFIND\ncurses.KEY_SHELP\ncurses.KEY_SHOME\ncurses.KEY_SIC\ncurses.KEY_SLEFT\ncurses.KEY_SMESSAGE\ncurses.KEY_SMOVE\ncurses.KEY_SNEXT\ncurses.KEY_SOPTIONS\ncurses.KEY_SPREVIOUS\ncurses.KEY_SPRINT\ncurses.KEY_SR\ncurses.KEY_SREDO\ncurses.KEY_SREPLACE\ncurses.KEY_SRESET\ncurses.KEY_SRIGHT\ncurses.KEY_SRSUME\ncurses.KEY_SSAVE\ncurses.KEY_SSUSPEND\ncurses.KEY_STAB\ncurses.KEY_SUNDO\ncurses.KEY_SUSPEND\ncurses.KEY_UNDO\ncurses.KEY_UP\ncurses.OK\ncurses.REPORT_MOUSE_POSITION\ncurses.ascii(??)\ncurses.ascii.ACK\ncurses.ascii.BEL\ncurses.ascii.BS\ncurses.ascii.CAN\ncurses.ascii.CR\ncurses.ascii.DC1\ncurses.ascii.DC2\ncurses.ascii.DC3\ncurses.ascii.DC4\ncurses.ascii.DEL\ncurses.ascii.DLE\ncurses.ascii.EM\ncurses.ascii.ENQ\ncurses.ascii.EOT\ncurses.ascii.ESC\ncurses.ascii.ETB\ncurses.ascii.ETX\ncurses.ascii.FF\ncurses.ascii.FS\ncurses.ascii.GS\ncurses.ascii.HT\ncurses.ascii.LF\ncurses.ascii.NAK\ncurses.ascii.NL\ncurses.ascii.NUL\ncurses.ascii.RS\ncurses.ascii.SI\ncurses.ascii.SO\ncurses.ascii.SOH\ncurses.ascii.SP\ncurses.ascii.STX\ncurses.ascii.SUB\ncurses.ascii.SYN\ncurses.ascii.TAB\ncurses.ascii.US\ncurses.ascii.VT\ncurses.ascii.alt(??)\ncurses.ascii.ascii(??)\ncurses.ascii.controlnames(??)\ncurses.ascii.ctrl(??)\ncurses.ascii.isalnum(??)\ncurses.ascii.isalpha(??)\ncurses.ascii.isascii(??)\ncurses.ascii.isblank(??)\ncurses.ascii.iscntrl(??)\ncurses.ascii.isctrl(??)\ncurses.ascii.isdigit(??)\ncurses.ascii.isgraph(??)\ncurses.ascii.islower(??)\ncurses.ascii.ismeta(??)\ncurses.ascii.isprint(??)\ncurses.ascii.ispunct(??)\ncurses.ascii.isspace(??)\ncurses.ascii.isupper(??)\ncurses.ascii.isxdigit(??)\ncurses.ascii.unctrl(??)\ncurses.baudrate(??)\ncurses.beep(??)\ncurses.can_change_color(??)\ncurses.cbreak(??)\ncurses.color_content(??)\ncurses.color_pair(??)\ncurses.curs_set(??)\ncurses.def_prog_mode(??)\ncurses.def_shell_mode(??)\ncurses.delay_output(??)\ncurses.doupdate(??)\ncurses.echo(??)\ncurses.endwin(??)\ncurses.erasechar(??)\ncurses.error(??)\ncurses.filter(??)\ncurses.flash(??)\ncurses.flushinp(??)\ncurses.get_escdelay(??)\ncurses.get_tabsize(??)\ncurses.getmouse(??)\ncurses.getsyx(??)\ncurses.getwin(??)\ncurses.halfdelay(??)\ncurses.has_colors(??)\ncurses.has_ic(??)\ncurses.has_il(??)\ncurses.has_key(??)\ncurses.has_key.has_key(??)\ncurses.init_color(??)\ncurses.init_pair(??)\ncurses.initscr(??)\ncurses.intrflush(??)\ncurses.is_term_resized(??)\ncurses.isendwin(??)\ncurses.keyname(??)\ncurses.killchar(??)\ncurses.longname(??)\ncurses.meta(??)\ncurses.mouseinterval(??)\ncurses.mousemask(??)\ncurses.napms(??)\ncurses.ncurses_version(??)\ncurses.newpad(??)\ncurses.newwin(nlines, ncols, [begin_y=0, begin_x=0])\ncurses.nl(??)\ncurses.nocbreak(??)\ncurses.noecho(??)\ncurses.nonl(??)\ncurses.noqiflush(??)\ncurses.noraw(??)\ncurses.pair_content(??)\ncurses.pair_number(??)\ncurses.panel.bottom_panel(??)\ncurses.panel.error(??)\ncurses.panel.new_panel(??)\ncurses.panel.panel(??)\ncurses.panel.top_panel(??)\ncurses.panel.update_panels(??)\ncurses.panel.version\ncurses.putp(??)\ncurses.qiflush(??)\ncurses.raw(??)\ncurses.reset_prog_mode(??)\ncurses.reset_shell_mode(??)\ncurses.resetty(??)\ncurses.resize_term(??)\ncurses.resizeterm(??)\ncurses.savetty(??)\ncurses.set_escdelay(??)\ncurses.set_tabsize(??)\ncurses.setsyx(??)\ncurses.setupterm(??)\ncurses.start_color(??)\ncurses.termattrs(??)\ncurses.termname(??)\ncurses.textpad(??)\ncurses.textpad.Textbox(??)\ncurses.textpad.curses(??)\ncurses.textpad.rectangle(??)\ncurses.tigetflag(??)\ncurses.tigetnum(??)\ncurses.tigetstr(??)\ncurses.tparm(??)\ncurses.typeahead(??)\ncurses.unctrl(??)\ncurses.unget_wch(??)\ncurses.ungetch(??)\ncurses.ungetmouse(??)\ncurses.update_lines_cols(??)\ncurses.use_default_colors(??)\ncurses.use_env(??)\ncurses.version\ncurses.window(??)\ncurses.wrapper(??)\ndataclasses.Field(??)\ndataclasses.FrozenInstanceError(??)\ndataclasses.GenericAlias(??)\ndataclasses.InitVar(??)\ndataclasses.MISSING(??)\ndataclasses.asdict(??)\ndataclasses.astuple(??)\ndataclasses.builtins(??)\ndataclasses.copy(??)\ndataclasses.dataclass(??)\ndataclasses.field(??)\ndataclasses.fields(??)\ndataclasses.functools(??)\ndataclasses.inspect(??)\ndataclasses.is_dataclass(??)\ndataclasses.keyword(??)\ndataclasses.make_dataclass(??)\ndataclasses.re(??)\ndataclasses.replace(??)\ndataclasses.sys(??)\ndataclasses.types(??)\ndatetime.MAXYEAR\ndatetime.MINYEAR\ndatetime.date(year, month, day) --> date object\ndatetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\ndatetime.datetime_CAPI(??)\ndatetime.sys(??)\ndatetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object\ndatetime.timedelta(??)\ndatetime.timezone(??)\ndatetime.tzinfo(??)\ndbm.dumb.collections(??)\ndbm.dumb.error(??)\ndbm.dumb.open(??)\ndbm.error(??)\ndbm.io(??)\ndbm.ndbm(??)\ndbm.ndbm.error(??)\ndbm.ndbm.library\ndbm.ndbm.open(??)\ndbm.open(??)\ndbm.os(??)\ndbm.struct(??)\ndbm.sys(??)\ndbm.whichdb(??)\ndecimal.BasicContext(??)\ndecimal.Clamped(??)\ndecimal.Context(??)\ndecimal.ConversionSyntax(??)\ndecimal.Decimal(??)\ndecimal.DecimalException(??)\ndecimal.DecimalTuple(sign, digits, exponent)\ndecimal.DefaultContext(??)\ndecimal.DivisionByZero(??)\ndecimal.DivisionImpossible(??)\ndecimal.DivisionUndefined(??)\ndecimal.ExtendedContext(??)\ndecimal.FloatOperation(??)\ndecimal.HAVE_CONTEXTVAR(??)\ndecimal.HAVE_THREADS(??)\ndecimal.Inexact(??)\ndecimal.InvalidContext(??)\ndecimal.InvalidOperation(??)\ndecimal.MAX_EMAX\ndecimal.MAX_PREC\ndecimal.MIN_EMIN\ndecimal.MIN_ETINY\ndecimal.Overflow(??)\ndecimal.ROUND_05UP\ndecimal.ROUND_CEILING\ndecimal.ROUND_DOWN\ndecimal.ROUND_FLOOR\ndecimal.ROUND_HALF_DOWN\ndecimal.ROUND_HALF_EVEN\ndecimal.ROUND_HALF_UP\ndecimal.ROUND_UP\ndecimal.Rounded(??)\ndecimal.Subnormal(??)\ndecimal.Underflow(??)\ndecimal.getcontext(??)\ndecimal.localcontext(??)\ndecimal.setcontext(??)\ndelattr(??)\ndict() -> new empty dictionary\ndifflib.Differ(??)\ndifflib.GenericAlias(??)\ndifflib.HtmlDiff(??)\ndifflib.IS_CHARACTER_JUNK(??)\ndifflib.IS_LINE_JUNK(??)\ndifflib.Match(a, b, size)\ndifflib.SequenceMatcher(??)\ndifflib.context_diff(??)\ndifflib.diff_bytes(??)\ndifflib.get_close_matches(??)\ndifflib.ndiff(??)\ndifflib.restore(??)\ndifflib.unified_diff(??)\ndip.TOOLKIT\ndip.automate.AutomationCommands(??)\ndip.automate.AutomationError(??)\ndip.automate.IAutomated(??)\ndip.automate.IAutomatedActionTrigger(??)\ndip.automate.IAutomatedDialog(??)\ndip.automate.IAutomatedEditor(??)\ndip.automate.IAutomatedListEditor(??)\ndip.automate.IAutomatedOptionSelector(??)\ndip.automate.IAutomatedShell(??)\ndip.automate.IAutomatedTabBar(??)\ndip.automate.IAutomatedTableEditor(??)\ndip.automate.IAutomatedTrigger(??)\ndip.automate.Robot(??)\ndip.automate.automation_commands(??)\ndip.automate.automation_commands.Any(??)\ndip.automate.automation_commands.AutomationCommands(??)\ndip.automate.automation_commands.Int(??)\ndip.automate.automation_commands.Model(??)\ndip.automate.exceptions(??)\ndip.automate.exceptions.AutomationError(??)\ndip.automate.i_automated(??)\ndip.automate.i_automated.IAutomated(??)\ndip.automate.i_automated.Interface(??)\ndip.automate.i_automated_action_trigger(??)\ndip.automate.i_automated_action_trigger.IAutomated(??)\ndip.automate.i_automated_action_trigger.IAutomatedActionTrigger(??)\ndip.automate.i_automated_dialog(??)\ndip.automate.i_automated_dialog.IAutomated(??)\ndip.automate.i_automated_dialog.IAutomatedDialog(??)\ndip.automate.i_automated_editor(??)\ndip.automate.i_automated_editor.IAutomated(??)\ndip.automate.i_automated_editor.IAutomatedEditor(??)\ndip.automate.i_automated_list_editor(??)\ndip.automate.i_automated_list_editor.IAutomated(??)\ndip.automate.i_automated_list_editor.IAutomatedListEditor(??)\ndip.automate.i_automated_option_selector(??)\ndip.automate.i_automated_option_selector.IAutomated(??)\ndip.automate.i_automated_option_selector.IAutomatedOptionSelector(??)\ndip.automate.i_automated_shell(??)\ndip.automate.i_automated_shell.IAutomatedActionTrigger(??)\ndip.automate.i_automated_shell.IAutomatedShell(??)\ndip.automate.i_automated_tab_bar(??)\ndip.automate.i_automated_tab_bar.IAutomated(??)\ndip.automate.i_automated_tab_bar.IAutomatedTabBar(??)\ndip.automate.i_automated_table_editor(??)\ndip.automate.i_automated_table_editor.IAutomated(??)\ndip.automate.i_automated_table_editor.IAutomatedTableEditor(??)\ndip.automate.i_automated_trigger(??)\ndip.automate.i_automated_trigger.IAutomated(??)\ndip.automate.i_automated_trigger.IAutomatedTrigger(??)\ndip.automate.main.DIP_RELEASE\ndip.automate.main.Robot(??)\ndip.automate.main.argparse(??)\ndip.automate.main.automation_commands(??)\ndip.automate.main.delay\ndip.automate.main.exec_hook(??)\ndip.automate.main.importlib(??)\ndip.automate.main.main(??)\ndip.automate.main.os(??)\ndip.automate.main.sys(??)\ndip.automate.main.timeout\ndip.automate.robot(??)\ndip.automate.robot.Int(??)\ndip.automate.robot.List(??)\ndip.automate.robot.Model(??)\ndip.automate.robot.QTimer(parent: QObject = None)\ndip.automate.robot.Robot(??)\ndip.automate.robot.RobotCommand(??)\ndip.automate.robot.TOOLKIT\ndip.automate.robot_command(??)\ndip.automate.robot_command.AutomationError(??)\ndip.automate.robot_command.Dict(??)\ndip.automate.robot_command.IAutomated(??)\ndip.automate.robot_command.Int(??)\ndip.automate.robot_command.Model(??)\ndip.automate.robot_command.POLL_PERIOD\ndip.automate.robot_command.QApplication(List[str])\ndip.automate.robot_command.QLayout(QWidget)\ndip.automate.robot_command.QMenuBar(parent: QWidget = None)\ndip.automate.robot_command.QTest(??)\ndip.automate.robot_command.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.automate.robot_command.RobotCommand(??)\ndip.automate.robot_command.Str(??)\ndip.automate.robot_command.TOOLKIT\ndip.automate.robot_command.Tuple(??)\ndip.builder.DistributionManager(??)\ndip.builder.IApplicationTemplate(??)\ndip.builder.IBuilderProject(??)\ndip.builder.IDistribution(??)\ndip.builder.IDistributionDefaults(??)\ndip.builder.IDistributionManager(??)\ndip.builder.IPythonClass(??)\ndip.builder.build_action_collection(??)\ndip.builder.build_action_collection.ActionCollection(??)\ndip.builder.build_action_collection.BuildActionCollection(??)\ndip.builder.builder_project(??)\ndip.builder.builder_project.BuilderProjectFactory(??)\ndip.builder.builder_project.builder_project(??)\ndip.builder.builder_project.builder_project.BuilderProject(??)\ndip.builder.builder_project.builder_project.IBuilderProject(??)\ndip.builder.builder_project.builder_project.Model(??)\ndip.builder.builder_project.builder_project.implements(??)\ndip.builder.builder_project.builder_project.os(??)\ndip.builder.builder_project.builder_project.stat(??)\ndip.builder.builder_project.builder_project.sys(??)\ndip.builder.builder_project.builder_project_factory(??)\ndip.builder.builder_project.builder_project_factory.Adapter(??)\ndip.builder.builder_project.builder_project_factory.BuilderProjectFactory(??)\ndip.builder.builder_project.builder_project_factory.IBuilderProject(??)\ndip.builder.builder_project.builder_project_factory.IBuilderProjectIManagedModelAdapter(??)\ndip.builder.builder_project.builder_project_factory.IDisplay(??)\ndip.builder.builder_project.builder_project_factory.IManagedModel(??)\ndip.builder.builder_project.builder_project_factory.Model(??)\ndip.builder.builder_project.builder_project_factory.adapt(??)\ndip.builder.builder_project.builder_project_factory.implements(??)\ndip.builder.builder_project_codec(??)\ndip.builder.builder_project_codec.IBuilderProjectCodec(??)\ndip.builder.builder_project_codec.ibuilderproject_codec(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.Adapter(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.IBuilderProject(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.IBuilderProjectCodec(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.IBuilderProjectCodecAdapter(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.IFilterHints(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.IXmlDecoder(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.IXmlEncoder(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.XmlCodec(??)\ndip.builder.builder_project_codec.ibuilderproject_codec.adapt(??)\ndip.builder.builder_project_codec.ibuilderproject_xml_decoder.DistributionManager(??)\ndip.builder.builder_project_codec.ibuilderproject_xml_decoder.FormatError(??)\ndip.builder.builder_project_codec.ibuilderproject_xml_decoder.IBuilderProjectXmlDecoder(??)\ndip.builder.builder_project_codec.ibuilderproject_xml_decoder.XmlDecoder(??)\ndip.builder.builder_project_codec.ibuilderproject_xml_encoder.IBuilderProjectXmlEncoder(??)\ndip.builder.builder_project_codec.ibuilderproject_xml_encoder.XmlEncoder(??)\ndip.builder.builder_project_tool(??)\ndip.builder.builder_project_tool.IBuilderProjectTool(??)\ndip.builder.builder_project_tool.ibuilderproject_tool(??)\ndip.builder.builder_project_tool.ibuilderproject_tool.FormTool(??)\ndip.builder.builder_project_tool.ibuilderproject_tool.IBuilderProject(??)\ndip.builder.builder_project_tool.ibuilderproject_tool.IBuilderProjectTool(??)\ndip.builder.builder_project_tool.ibuilderproject_tool.IDisplay(??)\ndip.builder.builder_project_tool.ibuilderproject_tool.implements(??)\ndip.builder.create_application_tool(??)\ndip.builder.create_application_tool.CreateApplicationTool(??)\ndip.builder.create_application_tool.application_template(??)\ndip.builder.create_application_tool.application_template.ApplicationTemplate(??)\ndip.builder.create_application_tool.application_template.Form(??)\ndip.builder.create_application_tool.application_template.IApplicationTemplate(??)\ndip.builder.create_application_tool.application_template.IWizard(??)\ndip.builder.create_application_tool.application_template.ListEditor(??)\ndip.builder.create_application_tool.application_template.MessageArea(??)\ndip.builder.create_application_tool.application_template.Model(??)\ndip.builder.create_application_tool.application_template.PythonClass(??)\ndip.builder.create_application_tool.application_template.Stretch(??)\ndip.builder.create_application_tool.application_template.VBox(??)\ndip.builder.create_application_tool.application_template.Wizard(??)\ndip.builder.create_application_tool.application_template.WizardPage(??)\ndip.builder.create_application_tool.application_template.implements(??)\ndip.builder.create_application_tool.create_application_tool(??)\ndip.builder.create_application_tool.create_application_tool.Action(??)\ndip.builder.create_application_tool.create_application_tool.ActionCollection(??)\ndip.builder.create_application_tool.create_application_tool.Application(??)\ndip.builder.create_application_tool.create_application_tool.ApplicationTemplate(??)\ndip.builder.create_application_tool.create_application_tool.CreateApplicationTool(??)\ndip.builder.create_application_tool.create_application_tool.IBuilderProject(??)\ndip.builder.create_application_tool.create_application_tool.ISubscriber(??)\ndip.builder.create_application_tool.create_application_tool.ITool(??)\ndip.builder.create_application_tool.create_application_tool.Model(??)\ndip.builder.create_application_tool.create_application_tool.implements(??)\ndip.builder.create_application_tool.create_application_tool.observe(??)\ndip.builder.create_application_tool.create_application_tool.os(??)\ndip.builder.create_application_tool.python_class(??)\ndip.builder.create_application_tool.python_class.IPythonClass(??)\ndip.builder.create_application_tool.python_class.Model(??)\ndip.builder.create_application_tool.python_class.PythonClass(??)\ndip.builder.create_application_tool.python_class.implements(??)\ndip.builder.create_distribution_tool.CreateDistributionTool(??)\ndip.builder.create_distribution_tool.create_distribution_tool(??)\ndip.builder.create_distribution_tool.create_distribution_tool.Action(??)\ndip.builder.create_distribution_tool.create_distribution_tool.Application(??)\ndip.builder.create_distribution_tool.create_distribution_tool.CreateDistributionTool(??)\ndip.builder.create_distribution_tool.create_distribution_tool.Dict(??)\ndip.builder.create_distribution_tool.create_distribution_tool.DistributionManager(??)\ndip.builder.create_distribution_tool.create_distribution_tool.IBuilderProject(??)\ndip.builder.create_distribution_tool.create_distribution_tool.IDisplay(??)\ndip.builder.create_distribution_tool.create_distribution_tool.ISubscriber(??)\ndip.builder.create_distribution_tool.create_distribution_tool.ITool(??)\ndip.builder.create_distribution_tool.create_distribution_tool.IView(??)\ndip.builder.create_distribution_tool.create_distribution_tool.Model(??)\ndip.builder.create_distribution_tool.create_distribution_tool.implements(??)\ndip.builder.create_distribution_tool.create_distribution_tool.observe(??)\ndip.builder.default_distribution_manager.DistributionManager(??)\ndip.builder.default_distribution_manager.distribution_manager(??)\ndip.builder.default_distribution_manager.distribution_manager.DistributionManager(??)\ndip.builder.default_distribution_manager.distribution_manager.IDistributionManager(??)\ndip.builder.default_distribution_manager.distribution_manager.Model(??)\ndip.builder.default_distribution_manager.distribution_manager.clone_model(??)\ndip.builder.default_distribution_manager.distribution_manager.implements(??)\ndip.builder.distribution_manager(??)\ndip.builder.distribution_manager.DistributionManager(??)\ndip.builder.distribution_manager.IDistributionManager(??)\ndip.builder.distribution_manager.Instance(??)\ndip.builder.distribution_manager.Singleton(??)\ndip.builder.i_application_template(??)\ndip.builder.i_application_template.IApplicationTemplate(??)\ndip.builder.i_application_template.IPythonClass(??)\ndip.builder.i_application_template.Interface(??)\ndip.builder.i_application_template.List(??)\ndip.builder.i_application_template.Str(??)\ndip.builder.i_builder_project(??)\ndip.builder.i_builder_project.IBuilderProject(??)\ndip.builder.i_builder_project.IDistributionDefaults(??)\ndip.builder.i_builder_project.Interface(??)\ndip.builder.i_builder_project.List(??)\ndip.builder.i_builder_project.Str(??)\ndip.builder.i_builder_project.Version(??)\ndip.builder.i_distribution(??)\ndip.builder.i_distribution.IDistribution(??)\ndip.builder.i_distribution.Interface(??)\ndip.builder.i_distribution.Str(??)\ndip.builder.i_distribution_defaults(??)\ndip.builder.i_distribution_defaults.IDistributionDefaults(??)\ndip.builder.i_distribution_defaults.Interface(??)\ndip.builder.i_distribution_defaults.Str(??)\ndip.builder.i_distribution_manager(??)\ndip.builder.i_distribution_manager.IDistribution(??)\ndip.builder.i_distribution_manager.IDistributionManager(??)\ndip.builder.i_distribution_manager.Interface(??)\ndip.builder.i_distribution_manager.List(??)\ndip.builder.i_python_class(??)\ndip.builder.i_python_class.ClassName(??)\ndip.builder.i_python_class.IPythonClass(??)\ndip.builder.i_python_class.Interface(??)\ndip.builder.i_python_class.ModuleName(??)\ndip.builder.main.Application(??)\ndip.builder.main.IApplication(??)\ndip.builder.main.IManagedModelTool(??)\ndip.builder.main.IShell(??)\ndip.builder.main.IView(??)\ndip.builder.main.PluginManager(??)\ndip.builder.main.main(??)\ndip.builder.main.sys(??)\ndip.builder.plugins(??)\ndip.builder.plugins.CreateApplicationToolPlugin(??)\ndip.builder.plugins.CreateDistributionToolPlugin(??)\ndip.builder.plugins.DistributionManagerPlugin(??)\ndip.builder.plugins.DistutilsDistributionPlugin(??)\ndip.builder.plugins.IBuilderProjectCodecPlugin(??)\ndip.builder.plugins.IBuilderProjectFactoryPlugin(??)\ndip.builder.plugins.IBuilderProjectToolPlugin(??)\ndip.builder.plugins.IDistributionManagerServicePlugin(??)\ndip.builder.plugins.create_application_tool_plugin(??)\ndip.builder.plugins.create_application_tool_plugin.CreateApplicationToolPlugin(??)\ndip.builder.plugins.create_application_tool_plugin.IDisplay(??)\ndip.builder.plugins.create_application_tool_plugin.IPlugin(??)\ndip.builder.plugins.create_application_tool_plugin.Model(??)\ndip.builder.plugins.create_application_tool_plugin.implements(??)\ndip.builder.plugins.create_distribution_tool_plugin(??)\ndip.builder.plugins.create_distribution_tool_plugin.CreateDistributionToolPlugin(??)\ndip.builder.plugins.create_distribution_tool_plugin.IDisplay(??)\ndip.builder.plugins.create_distribution_tool_plugin.IPlugin(??)\ndip.builder.plugins.create_distribution_tool_plugin.Model(??)\ndip.builder.plugins.create_distribution_tool_plugin.implements(??)\ndip.builder.plugins.distribution_manager_plugin(??)\ndip.builder.plugins.distribution_manager_plugin.DistributionManagerPlugin(??)\ndip.builder.plugins.distribution_manager_plugin.IDisplay(??)\ndip.builder.plugins.distribution_manager_plugin.IDistributionManager(??)\ndip.builder.plugins.distribution_manager_plugin.IPlugin(??)\ndip.builder.plugins.distribution_manager_plugin.Model(??)\ndip.builder.plugins.distribution_manager_plugin.implements(??)\ndip.builder.plugins.distutils_distribution_plugin(??)\ndip.builder.plugins.distutils_distribution_plugin.DistutilsDistributionPlugin(??)\ndip.builder.plugins.distutils_distribution_plugin.IDisplay(??)\ndip.builder.plugins.distutils_distribution_plugin.IPlugin(??)\ndip.builder.plugins.distutils_distribution_plugin.Model(??)\ndip.builder.plugins.distutils_distribution_plugin.implements(??)\ndip.builder.plugins.ibuilderproject_codec_plugin(??)\ndip.builder.plugins.ibuilderproject_codec_plugin.IBuilderProjectCodecPlugin(??)\ndip.builder.plugins.ibuilderproject_codec_plugin.IDisplay(??)\ndip.builder.plugins.ibuilderproject_codec_plugin.IPlugin(??)\ndip.builder.plugins.ibuilderproject_codec_plugin.Model(??)\ndip.builder.plugins.ibuilderproject_codec_plugin.implements(??)\ndip.builder.plugins.ibuilderproject_factory_plugin(??)\ndip.builder.plugins.ibuilderproject_factory_plugin.IBuilderProjectFactoryPlugin(??)\ndip.builder.plugins.ibuilderproject_factory_plugin.IDisplay(??)\ndip.builder.plugins.ibuilderproject_factory_plugin.IPlugin(??)\ndip.builder.plugins.ibuilderproject_factory_plugin.Model(??)\ndip.builder.plugins.ibuilderproject_factory_plugin.implements(??)\ndip.builder.plugins.ibuilderproject_tool_plugin(??)\ndip.builder.plugins.ibuilderproject_tool_plugin.IBuilderProjectToolPlugin(??)\ndip.builder.plugins.ibuilderproject_tool_plugin.IDisplay(??)\ndip.builder.plugins.ibuilderproject_tool_plugin.IPlugin(??)\ndip.builder.plugins.ibuilderproject_tool_plugin.Model(??)\ndip.builder.plugins.ibuilderproject_tool_plugin.implements(??)\ndip.builder.plugins.idistributionmanager_service_plugin(??)\ndip.builder.plugins.idistributionmanager_service_plugin.IDisplay(??)\ndip.builder.plugins.idistributionmanager_service_plugin.IDistributionManager(??)\ndip.builder.plugins.idistributionmanager_service_plugin.IDistributionManagerServicePlugin(??)\ndip.builder.plugins.idistributionmanager_service_plugin.IPlugin(??)\ndip.builder.plugins.idistributionmanager_service_plugin.Model(??)\ndip.builder.plugins.idistributionmanager_service_plugin.Service(??)\ndip.builder.plugins.idistributionmanager_service_plugin.implements(??)\ndip.builder.types(??)\ndip.builder.types.ClassName(??)\ndip.builder.types.ModuleName(??)\ndip.builder.types.Version(??)\ndip.builder.types.class_name(??)\ndip.builder.types.class_name.ClassName(??)\ndip.builder.types.class_name.Str(??)\ndip.builder.types.module_name(??)\ndip.builder.types.module_name.ModuleName(??)\ndip.builder.types.module_name.Str(??)\ndip.builder.types.version(??)\ndip.builder.types.version.Str(??)\ndip.builder.types.version.Version(??)\ndip.developer(??)\ndip.developer.extensions_viewer(??)\ndip.developer.extensions_viewer.ExtensionsViewer(??)\ndip.developer.extensions_viewer.ExtensionsViewerTool(??)\ndip.developer.extensions_viewer.extensions_viewer(??)\ndip.developer.extensions_viewer.extensions_viewer.ExtensionsViewer(??)\ndip.developer.extensions_viewer.extensions_viewer.IDisplay(??)\ndip.developer.extensions_viewer.extensions_viewer.PluginManager(??)\ndip.developer.extensions_viewer.extensions_viewer.QTreeWidget(parent: QWidget = None)\ndip.developer.extensions_viewer.extensions_viewer.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\ndip.developer.extensions_viewer.extensions_viewer.TOOLKIT\ndip.developer.extensions_viewer.extensions_viewer.functools(??)\ndip.developer.extensions_viewer.extensions_viewer.observe(??)\ndip.developer.extensions_viewer.extensions_viewer_tool(??)\ndip.developer.extensions_viewer.extensions_viewer_tool.ExtensionsViewerTool(??)\ndip.developer.extensions_viewer.extensions_viewer_tool.SimpleViewTool(??)\ndip.developer.plugins(??)\ndip.developer.plugins.ExtensionsViewerToolPlugin(??)\ndip.developer.plugins.PluginsViewerToolPlugin(??)\ndip.developer.plugins.ServicesViewerToolPlugin(??)\ndip.developer.plugins.extensions_viewer_tool_plugin(??)\ndip.developer.plugins.extensions_viewer_tool_plugin.ExtensionsViewerToolPlugin(??)\ndip.developer.plugins.extensions_viewer_tool_plugin.IDisplay(??)\ndip.developer.plugins.extensions_viewer_tool_plugin.IPlugin(??)\ndip.developer.plugins.extensions_viewer_tool_plugin.Model(??)\ndip.developer.plugins.extensions_viewer_tool_plugin.implements(??)\ndip.developer.plugins.plugins_viewer_tool_plugin(??)\ndip.developer.plugins.plugins_viewer_tool_plugin.IDisplay(??)\ndip.developer.plugins.plugins_viewer_tool_plugin.IPlugin(??)\ndip.developer.plugins.plugins_viewer_tool_plugin.Model(??)\ndip.developer.plugins.plugins_viewer_tool_plugin.PluginsViewerToolPlugin(??)\ndip.developer.plugins.plugins_viewer_tool_plugin.implements(??)\ndip.developer.plugins.services_viewer_tool_plugin(??)\ndip.developer.plugins.services_viewer_tool_plugin.IDisplay(??)\ndip.developer.plugins.services_viewer_tool_plugin.IPlugin(??)\ndip.developer.plugins.services_viewer_tool_plugin.Model(??)\ndip.developer.plugins.services_viewer_tool_plugin.ServicesViewerToolPlugin(??)\ndip.developer.plugins.services_viewer_tool_plugin.implements(??)\ndip.developer.plugins_viewer.PluginsViewer(??)\ndip.developer.plugins_viewer.PluginsViewerTool(??)\ndip.developer.plugins_viewer.plugins_viewer(??)\ndip.developer.plugins_viewer.plugins_viewer.IDisplay(??)\ndip.developer.plugins_viewer.plugins_viewer.PluginManager(??)\ndip.developer.plugins_viewer.plugins_viewer.PluginsViewer(??)\ndip.developer.plugins_viewer.plugins_viewer.QTreeWidget(parent: QWidget = None)\ndip.developer.plugins_viewer.plugins_viewer.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\ndip.developer.plugins_viewer.plugins_viewer.TOOLKIT\ndip.developer.plugins_viewer.plugins_viewer.functools(??)\ndip.developer.plugins_viewer.plugins_viewer.observe(??)\ndip.developer.plugins_viewer.plugins_viewer_tool(??)\ndip.developer.plugins_viewer.plugins_viewer_tool.PluginsViewerTool(??)\ndip.developer.plugins_viewer.plugins_viewer_tool.SimpleViewTool(??)\ndip.developer.services_viewer(??)\ndip.developer.services_viewer.ServicesViewer(??)\ndip.developer.services_viewer.ServicesViewerTool(??)\ndip.developer.services_viewer.services_viewer(??)\ndip.developer.services_viewer.services_viewer.IDisplay(??)\ndip.developer.services_viewer.services_viewer.PluginManager(??)\ndip.developer.services_viewer.services_viewer.QTreeWidget(parent: QWidget = None)\ndip.developer.services_viewer.services_viewer.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\ndip.developer.services_viewer.services_viewer.ServicesViewer(??)\ndip.developer.services_viewer.services_viewer.TOOLKIT\ndip.developer.services_viewer.services_viewer.observe(??)\ndip.developer.services_viewer.services_viewer_tool(??)\ndip.developer.services_viewer.services_viewer_tool.ServicesViewerTool(??)\ndip.developer.services_viewer.services_viewer_tool.SimpleViewTool(??)\ndip.io(??)\ndip.io.BaseStorage(??)\ndip.io.FormatError(??)\ndip.io.ICodec(??)\ndip.io.IFilterHints(??)\ndip.io.IIoManager(??)\ndip.io.IIoManagerUi(??)\ndip.io.IStorage(??)\ndip.io.IStorageBrowser(??)\ndip.io.IStorageFactory(??)\ndip.io.IStorageLocation(??)\ndip.io.IStorageUi(??)\ndip.io.IStreamingStorageFactory(??)\ndip.io.IStructuredStorageFactory(??)\ndip.io.IoManager(??)\ndip.io.StorageError(??)\ndip.io.base_storage(??)\ndip.io.base_storage.BaseStorage(??)\ndip.io.base_storage.Model(??)\ndip.io.base_storage.StorageError(??)\ndip.io.codecs(??)\ndip.io.codecs.unicode(??)\ndip.io.codecs.unicode.IUnicodeDecoder(??)\ndip.io.codecs.unicode.IUnicodeEncoder(??)\ndip.io.codecs.unicode.UnicodeCodec(??)\ndip.io.codecs.unicode.i_unicode_decoder(??)\ndip.io.codecs.unicode.i_unicode_decoder.IUnicodeDecoder(??)\ndip.io.codecs.unicode.i_unicode_decoder.Interface(??)\ndip.io.codecs.unicode.i_unicode_encoder(??)\ndip.io.codecs.unicode.i_unicode_encoder.IUnicodeEncoder(??)\ndip.io.codecs.unicode.i_unicode_encoder.Interface(??)\ndip.io.codecs.unicode.unicode_codec(??)\ndip.io.codecs.unicode.unicode_codec.ICodec(??)\ndip.io.codecs.unicode.unicode_codec.IUnicodeDecoder(??)\ndip.io.codecs.unicode.unicode_codec.IUnicodeEncoder(??)\ndip.io.codecs.unicode.unicode_codec.Model(??)\ndip.io.codecs.unicode.unicode_codec.Str(??)\ndip.io.codecs.unicode.unicode_codec.UnicodeCodec(??)\ndip.io.codecs.unicode.unicode_codec.implements(??)\ndip.io.codecs.xml.IXmlDecoder(??)\ndip.io.codecs.xml.IXmlEncoder(??)\ndip.io.codecs.xml.XmlCodec(??)\ndip.io.codecs.xml.XmlDecoder(??)\ndip.io.codecs.xml.XmlEncoder(??)\ndip.io.codecs.xml.i_xml_decoder(??)\ndip.io.codecs.xml.i_xml_decoder.Adapter(??)\ndip.io.codecs.xml.i_xml_decoder.IXmlDecoder(??)\ndip.io.codecs.xml.i_xml_decoder.Interface(??)\ndip.io.codecs.xml.i_xml_decoder.Model(??)\ndip.io.codecs.xml.i_xml_decoder.ModelIXmlDecoderAdapter(??)\ndip.io.codecs.xml.i_xml_decoder.adapt(??)\ndip.io.codecs.xml.i_xml_encoder(??)\ndip.io.codecs.xml.i_xml_encoder.Adapter(??)\ndip.io.codecs.xml.i_xml_encoder.IXmlEncoder(??)\ndip.io.codecs.xml.i_xml_encoder.Interface(??)\ndip.io.codecs.xml.i_xml_encoder.Model(??)\ndip.io.codecs.xml.i_xml_encoder.ModelIXmlEncoderAdapter(??)\ndip.io.codecs.xml.i_xml_encoder.adapt(??)\ndip.io.codecs.xml.xml_codec(??)\ndip.io.codecs.xml.xml_codec.Any(??)\ndip.io.codecs.xml.xml_codec.ICodec(??)\ndip.io.codecs.xml.xml_codec.IXmlDecoder(??)\ndip.io.codecs.xml.xml_codec.IXmlEncoder(??)\ndip.io.codecs.xml.xml_codec.Model(??)\ndip.io.codecs.xml.xml_codec.XmlCodec(??)\ndip.io.codecs.xml.xml_codec.implements(??)\ndip.io.codecs.xml.xml_decoder(??)\ndip.io.codecs.xml.xml_decoder.Any(??)\ndip.io.codecs.xml.xml_decoder.Bool(??)\ndip.io.codecs.xml.xml_decoder.Dict(??)\ndip.io.codecs.xml.xml_decoder.Enum(??)\ndip.io.codecs.xml.xml_decoder.Float(??)\ndip.io.codecs.xml.xml_decoder.FormatError(??)\ndip.io.codecs.xml.xml_decoder.Instance(??)\ndip.io.codecs.xml.xml_decoder.Int(??)\ndip.io.codecs.xml.xml_decoder.List(??)\ndip.io.codecs.xml.xml_decoder.Model(??)\ndip.io.codecs.xml.xml_decoder.QXmlStreamReader()\ndip.io.codecs.xml.xml_decoder.Set(??)\ndip.io.codecs.xml.xml_decoder.Str(??)\ndip.io.codecs.xml.xml_decoder.TOOLKIT\ndip.io.codecs.xml.xml_decoder.Tuple(??)\ndip.io.codecs.xml.xml_decoder.XmlDecoder(??)\ndip.io.codecs.xml.xml_decoder.base64(??)\ndip.io.codecs.xml.xml_decoder.get_model_types(??)\ndip.io.codecs.xml.xml_decoder.pickle(??)\ndip.io.codecs.xml.xml_encoder(??)\ndip.io.codecs.xml.xml_encoder.CollectionTypeFactory(??)\ndip.io.codecs.xml.xml_encoder.Enum(??)\ndip.io.codecs.xml.xml_encoder.FormatError(??)\ndip.io.codecs.xml.xml_encoder.Instance(??)\ndip.io.codecs.xml.xml_encoder.Int(??)\ndip.io.codecs.xml.xml_encoder.List(??)\ndip.io.codecs.xml.xml_encoder.Model(??)\ndip.io.codecs.xml.xml_encoder.Str(??)\ndip.io.codecs.xml.xml_encoder.ValueTypeFactory(??)\ndip.io.codecs.xml.xml_encoder.XmlEncoder(??)\ndip.io.codecs.xml.xml_encoder.base64(??)\ndip.io.codecs.xml.xml_encoder.get_model_types(??)\ndip.io.codecs.xml.xml_encoder.pickle(??)\ndip.io.default_io_manager.IoManager(??)\ndip.io.default_io_manager.io_manager(??)\ndip.io.default_io_manager.io_manager.ICodec(??)\ndip.io.default_io_manager.io_manager.IIoManager(??)\ndip.io.default_io_manager.io_manager.IoManager(??)\ndip.io.default_io_manager.io_manager.Model(??)\ndip.io.default_io_manager.io_manager.StorageError(??)\ndip.io.default_io_manager.io_manager.implements(??)\ndip.io.default_io_manager.io_manager_ui(??)\ndip.io.default_io_manager.io_manager_ui.IIoManagerUi(??)\ndip.io.default_io_manager.io_manager_ui.IoManagerUi(??)\ndip.io.default_io_manager.io_manager_ui.LocationWizard(??)\ndip.io.default_io_manager.io_manager_ui.Model(??)\ndip.io.default_io_manager.io_manager_ui.OptionList(??)\ndip.io.default_io_manager.io_manager_ui.Stack(??)\ndip.io.default_io_manager.io_manager_ui.WizardPage(??)\ndip.io.default_io_manager.io_manager_ui.implements(??)\ndip.io.default_io_manager.location_wizard(??)\ndip.io.default_io_manager.location_wizard.Any(??)\ndip.io.default_io_manager.location_wizard.Bool(??)\ndip.io.default_io_manager.location_wizard.Dict(??)\ndip.io.default_io_manager.location_wizard.IIoManagerUi(??)\ndip.io.default_io_manager.location_wizard.IStorage(??)\ndip.io.default_io_manager.location_wizard.IStorageLocation(??)\ndip.io.default_io_manager.location_wizard.Instance(??)\ndip.io.default_io_manager.location_wizard.List(??)\ndip.io.default_io_manager.location_wizard.LocationWizard(??)\ndip.io.default_io_manager.location_wizard.Wizard(??)\ndip.io.default_io_manager.location_wizard.WizardController(??)\ndip.io.default_io_manager.location_wizard.observe(??)\ndip.io.exceptions(??)\ndip.io.exceptions.FormatError(??)\ndip.io.exceptions.StorageError(??)\ndip.io.i_codec(??)\ndip.io.i_codec.ICodec(??)\ndip.io.i_codec.Interface(??)\ndip.io.i_codec.Str(??)\ndip.io.i_codec.Subclass(??)\ndip.io.i_filter_hints(??)\ndip.io.i_filter_hints.IFilterHints(??)\ndip.io.i_filter_hints.Interface(??)\ndip.io.i_filter_hints.Str(??)\ndip.io.i_io_manager(??)\ndip.io.i_io_manager.Callable(??)\ndip.io.i_io_manager.ICodec(??)\ndip.io.i_io_manager.IIoManager(??)\ndip.io.i_io_manager.IIoManagerUi(??)\ndip.io.i_io_manager.IStorageFactory(??)\ndip.io.i_io_manager.Instance(??)\ndip.io.i_io_manager.Interface(??)\ndip.io.i_io_manager.List(??)\ndip.io.i_io_manager_ui(??)\ndip.io.i_io_manager_ui.IIoManagerUi(??)\ndip.io.i_io_manager_ui.Instance(??)\ndip.io.i_io_manager_ui.Interface(??)\ndip.io.i_io_manager_ui.Str(??)\ndip.io.i_storage(??)\ndip.io.i_storage.ICodec(??)\ndip.io.i_storage.IStorage(??)\ndip.io.i_storage.IStorageUi(??)\ndip.io.i_storage.Instance(??)\ndip.io.i_storage.Interface(??)\ndip.io.i_storage.List(??)\ndip.io.i_storage_browser(??)\ndip.io.i_storage_browser.IStorage(??)\ndip.io.i_storage_browser.IStorageBrowser(??)\ndip.io.i_storage_browser.IStorageLocation(??)\ndip.io.i_storage_browser.Instance(??)\ndip.io.i_storage_browser.Interface(??)\ndip.io.i_storage_browser.Str(??)\ndip.io.i_storage_factory(??)\ndip.io.i_storage_factory.Bool(??)\ndip.io.i_storage_factory.IStorageFactory(??)\ndip.io.i_storage_factory.Interface(??)\ndip.io.i_storage_location(??)\ndip.io.i_storage_location.IStorage(??)\ndip.io.i_storage_location.IStorageLocation(??)\ndip.io.i_storage_location.Instance(??)\ndip.io.i_storage_location.Interface(??)\ndip.io.i_storage_ui(??)\ndip.io.i_storage_ui.IStorageUi(??)\ndip.io.i_storage_ui.Instance(??)\ndip.io.i_storage_ui.Interface(??)\ndip.io.i_streaming_storage_factory(??)\ndip.io.i_streaming_storage_factory.IStorageFactory(??)\ndip.io.i_streaming_storage_factory.IStreamingStorageFactory(??)\ndip.io.i_structured_storage_factory(??)\ndip.io.i_structured_storage_factory.ICodec(??)\ndip.io.i_structured_storage_factory.IStorageFactory(??)\ndip.io.i_structured_storage_factory.IStructuredStorageFactory(??)\ndip.io.io_manager(??)\ndip.io.io_manager.IIoManager(??)\ndip.io.io_manager.Instance(??)\ndip.io.io_manager.IoManager(??)\ndip.io.io_manager.Singleton(??)\ndip.io.istoragelocation_idisplay_adapter(??)\ndip.io.istoragelocation_idisplay_adapter.Adapter(??)\ndip.io.istoragelocation_idisplay_adapter.IDisplay(??)\ndip.io.istoragelocation_idisplay_adapter.IStorageLocation(??)\ndip.io.istoragelocation_idisplay_adapter.IStorageLocationIDisplayAdapter(??)\ndip.io.istoragelocation_idisplay_adapter.adapt(??)\ndip.io.plugins(??)\ndip.io.plugins.FilesystemStoragePlugin(??)\ndip.io.plugins.filesystem_storage_plugin(??)\ndip.io.plugins.filesystem_storage_plugin.FilesystemStoragePlugin(??)\ndip.io.plugins.filesystem_storage_plugin.IDisplay(??)\ndip.io.plugins.filesystem_storage_plugin.IPlugin(??)\ndip.io.plugins.filesystem_storage_plugin.Model(??)\ndip.io.plugins.filesystem_storage_plugin.implements(??)\ndip.io.storage.QIODeviceStorage(??)\ndip.io.storage.filesystem.FilesystemStorageFactory(??)\ndip.io.storage.filesystem.filesystem_storage(??)\ndip.io.storage.filesystem.filesystem_storage.FilesystemStorage(??)\ndip.io.storage.filesystem.filesystem_storage.IStorage(??)\ndip.io.storage.filesystem.filesystem_storage.QDir(QDir)\ndip.io.storage.filesystem.filesystem_storage.QFile()\ndip.io.storage.filesystem.filesystem_storage.QFileInfo()\ndip.io.storage.filesystem.filesystem_storage.QIODeviceStorage(??)\ndip.io.storage.filesystem.filesystem_storage.TOOLKIT\ndip.io.storage.filesystem.filesystem_storage.implements(??)\ndip.io.storage.filesystem.filesystem_storage.os(??)\ndip.io.storage.filesystem.filesystem_storage.urllib(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.Adapter(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.FilesystemStorageBrowserAdapter(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.IEditor(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.IStorageBrowser(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.Instance(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.implements(??)\ndip.io.storage.filesystem.filesystem_storage_browser_adapter.observe(??)\ndip.io.storage.filesystem.filesystem_storage_factory(??)\ndip.io.storage.filesystem.filesystem_storage_factory.FilesystemStorageFactory(??)\ndip.io.storage.filesystem.filesystem_storage_factory.IStreamingStorageFactory(??)\ndip.io.storage.filesystem.filesystem_storage_factory.Model(??)\ndip.io.storage.filesystem.filesystem_storage_factory.implements(??)\ndip.io.storage.filesystem.filesystem_storage_location(??)\ndip.io.storage.filesystem.filesystem_storage_location.FilesystemStorageLocation(??)\ndip.io.storage.filesystem.filesystem_storage_location.IStorageLocation(??)\ndip.io.storage.filesystem.filesystem_storage_location.Model(??)\ndip.io.storage.filesystem.filesystem_storage_location.Str(??)\ndip.io.storage.filesystem.filesystem_storage_location.implements(??)\ndip.io.storage.filesystem.filesystem_storage_ui(??)\ndip.io.storage.filesystem.filesystem_storage_ui.FilesystemLocationEditor(??)\ndip.io.storage.filesystem.filesystem_storage_ui.FilesystemLocationValidator(??)\ndip.io.storage.filesystem.filesystem_storage_ui.FilesystemStorageBrowserAdapter(??)\ndip.io.storage.filesystem.filesystem_storage_ui.FilesystemStorageUi(??)\ndip.io.storage.filesystem.filesystem_storage_ui.Form(??)\ndip.io.storage.filesystem.filesystem_storage_ui.IFilterHints(??)\ndip.io.storage.filesystem.filesystem_storage_ui.IStorageBrowser(??)\ndip.io.storage.filesystem.filesystem_storage_ui.IStorageUi(??)\ndip.io.storage.filesystem.filesystem_storage_ui.Model(??)\ndip.io.storage.filesystem.filesystem_storage_ui.UIToolkit(??)\ndip.io.storage.filesystem.filesystem_storage_ui.implements(??)\ndip.io.storage.filesystem.filesystemstorage_idisplay_adapter(??)\ndip.io.storage.filesystem.filesystemstorage_idisplay_adapter.Adapter(??)\ndip.io.storage.filesystem.filesystemstorage_idisplay_adapter.FilesystemStorage(??)\ndip.io.storage.filesystem.filesystemstorage_idisplay_adapter.FilesystemStorageIDisplayAdapter(??)\ndip.io.storage.filesystem.filesystemstorage_idisplay_adapter.IDisplay(??)\ndip.io.storage.filesystem.filesystemstorage_idisplay_adapter.adapt(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.Adapter(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.DelegatedTo(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.FilesystemStorageLocation(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.FilesystemStorageLocationIDisplayAdapter(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.IDisplay(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.adapt(??)\ndip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.os(??)\ndip.io.storage.qiodevice_storage(??)\ndip.io.storage.qiodevice_storage.BaseStorage(??)\ndip.io.storage.qiodevice_storage.Int(??)\ndip.io.storage.qiodevice_storage.QIODevice()\ndip.io.storage.qiodevice_storage.QIODeviceStorage(??)\ndip.io.storage.qiodevice_storage.StorageError(??)\ndip.io.storage.qiodevice_storage.TOOLKIT\ndip.model(??)\ndip.model.Adapter(??)\ndip.model.Any(??)\ndip.model.AttributeChange(??)\ndip.model.Bool(??)\ndip.model.Callable(??)\ndip.model.CollectionTypeFactory(??)\ndip.model.DelegatedTo(??)\ndip.model.Dict(??)\ndip.model.Enum(??)\ndip.model.Float(??)\ndip.model.Instance(??)\ndip.model.Int(??)\ndip.model.Interface(??)\ndip.model.List(??)\ndip.model.MappingProxy(??)\ndip.model.MetaInterface(??)\ndip.model.MetaModel(??)\ndip.model.MetaSingleton(??)\ndip.model.Model(??)\ndip.model.MutableTypeFactory(??)\ndip.model.Set(??)\ndip.model.Singleton(??)\ndip.model.Str(??)\ndip.model.Subclass(??)\ndip.model.Trigger(??)\ndip.model.Tuple(??)\ndip.model.TypeFactory(??)\ndip.model.ValidationError(??)\ndip.model.ValidationTypeError(??)\ndip.model.ValueTypeFactory(??)\ndip.model.adapt(??)\ndip.model.adapter(??)\ndip.model.adapter.Adapter(??)\ndip.model.adapter.Any(??)\ndip.model.adapter.Model(??)\ndip.model.adapter.unadapted(??)\ndip.model.adapter_internals(??)\ndip.model.adapter_internals.adapt_explicitly(??)\ndip.model.adapter_internals.add_adapter_factory(??)\ndip.model.adapter_internals.object_adapter(??)\ndip.model.any(??)\ndip.model.any.Any(??)\ndip.model.any.ValueTypeFactory(??)\ndip.model.attribute_change(??)\ndip.model.attribute_change.Any(??)\ndip.model.attribute_change.AttributeChange(??)\ndip.model.attribute_change.Instance(??)\ndip.model.attribute_change.Model(??)\ndip.model.attribute_change.Str(??)\ndip.model.bool(??)\ndip.model.bool.Bool(??)\ndip.model.bool.ValidationTypeError(??)\ndip.model.bool.ValueTypeFactory(??)\ndip.model.callable(??)\ndip.model.callable.Callable(??)\ndip.model.callable.ValidationError(??)\ndip.model.callable.ValueTypeFactory(??)\ndip.model.change_trigger(??)\ndip.model.change_trigger.ChangeTrigger(??)\ndip.model.change_trigger.QCoreApplication(List[str])\ndip.model.change_trigger.QObject(parent: QObject = None)\ndip.model.change_trigger.TOOLKIT\ndip.model.change_trigger.get_change_trigger(??)\ndip.model.change_trigger.pyqtSignal(??)\ndip.model.clone_model(??)\ndip.model.collection_type_factory(??)\ndip.model.collection_type_factory.Any(??)\ndip.model.collection_type_factory.CollectionTypeFactory(??)\ndip.model.collection_type_factory.MetaInterface(??)\ndip.model.collection_type_factory.ValidationError(??)\ndip.model.collection_type_factory.ValidationTypeError(??)\ndip.model.collection_type_factory.ValueTypeFactory(??)\ndip.model.collection_type_factory.sys(??)\ndip.model.delegated_to(??)\ndip.model.delegated_to.DelegatedTo(??)\ndip.model.delegated_to.ValueTypeFactory(??)\ndip.model.dict(??)\ndip.model.dict.Any(??)\ndip.model.dict.AttributeChange(??)\ndip.model.dict.DefaultArgValue(??)\ndip.model.dict.Dict(??)\ndip.model.dict.DictImpl(??)\ndip.model.dict.MutableTypeFactory(??)\ndip.model.dict.ValidationTypeError(??)\ndip.model.dict.get_change_trigger(??)\ndip.model.enum(??)\ndip.model.enum.Enum(??)\ndip.model.enum.ValidationError(??)\ndip.model.enum.ValidationTypeError(??)\ndip.model.enum.ValueTypeFactory(??)\ndip.model.exceptions(??)\ndip.model.exceptions.ValidationError(??)\ndip.model.exceptions.ValidationTypeError(??)\ndip.model.float(??)\ndip.model.float.Float(??)\ndip.model.float.ValidationTypeError(??)\ndip.model.float.ValueTypeFactory(??)\ndip.model.get_attribute_type(??)\ndip.model.get_attribute_types(??)\ndip.model.get_model_types(??)\ndip.model.implements(??)\ndip.model.inject(??)\ndip.model.inject.Interface(??)\ndip.model.inject.TypeFactory(??)\ndip.model.inject.get_model_types(??)\ndip.model.inject.inject(??)\ndip.model.inject.types(??)\ndip.model.instance(??)\ndip.model.instance.CollectionTypeFactory(??)\ndip.model.instance.Instance(??)\ndip.model.instance.ValidationError(??)\ndip.model.int(??)\ndip.model.int.Int(??)\ndip.model.int.ValidationTypeError(??)\ndip.model.int.ValueTypeFactory(??)\ndip.model.interface(??)\ndip.model.interface.Interface(??)\ndip.model.interface.MetaInterface(??)\ndip.model.isadapted(??)\ndip.model.list(??)\ndip.model.list.Any(??)\ndip.model.list.AttributeChange(??)\ndip.model.list.DefaultArgValue(??)\ndip.model.list.List(??)\ndip.model.list.ListImpl(??)\ndip.model.list.MutableTypeFactory(??)\ndip.model.list.ValidationTypeError(??)\ndip.model.list.get_change_trigger(??)\ndip.model.mapping_proxy(??)\ndip.model.mapping_proxy.Any(??)\ndip.model.mapping_proxy.Bool(??)\ndip.model.mapping_proxy.Dict(??)\ndip.model.mapping_proxy.Float(??)\ndip.model.mapping_proxy.Int(??)\ndip.model.mapping_proxy.List(??)\ndip.model.mapping_proxy.MappingProxy(??)\ndip.model.mapping_proxy.Model(??)\ndip.model.mapping_proxy.Set(??)\ndip.model.mapping_proxy.Str(??)\ndip.model.meta_interface(??)\ndip.model.meta_interface.MetaInterface(??)\ndip.model.meta_interface.MetaModel(??)\ndip.model.meta_interface.adapt_explicitly(??)\ndip.model.meta_interface.object_adapter(??)\ndip.model.meta_interface.unadapted(??)\ndip.model.meta_model(??)\ndip.model.meta_model.DelegatedTo(??)\ndip.model.meta_model.MetaModel(??)\ndip.model.meta_model.QObject(parent: QObject = None)\ndip.model.meta_model.TOOLKIT\ndip.model.meta_model.Trigger(??)\ndip.model.meta_model.TypeFactory(??)\ndip.model.meta_model.Uninitialized(??)\ndip.model.meta_model.ValueTypeFactory(??)\ndip.model.meta_model.observe(??)\ndip.model.meta_model.types(??)\ndip.model.meta_singleton(??)\ndip.model.meta_singleton.Instance(??)\ndip.model.meta_singleton.MetaInterface(??)\ndip.model.meta_singleton.MetaModel(??)\ndip.model.meta_singleton.MetaSingleton(??)\ndip.model.model(??)\ndip.model.model.MetaModel(??)\ndip.model.model.Model(??)\ndip.model.model_utils(??)\ndip.model.model_utils.TypeFactory(??)\ndip.model.model_utils.clone_model(??)\ndip.model.model_utils.get_attribute_type(??)\ndip.model.model_utils.get_attribute_types(??)\ndip.model.model_utils.get_model_types(??)\ndip.model.model_utils.resolve_attribute_path(??)\ndip.model.mutable_type_factory(??)\ndip.model.mutable_type_factory.CollectionTypeFactory(??)\ndip.model.mutable_type_factory.MutableTypeFactory(??)\ndip.model.notify_observers(??)\ndip.model.observe(??)\ndip.model.resolve_attribute_path(??)\ndip.model.set(??)\ndip.model.set.Any(??)\ndip.model.set.AttributeChange(??)\ndip.model.set.DefaultArgValue(??)\ndip.model.set.MutableTypeFactory(??)\ndip.model.set.Set(??)\ndip.model.set.SetImpl(??)\ndip.model.set.ValidationTypeError(??)\ndip.model.set.get_change_trigger(??)\ndip.model.singleton(??)\ndip.model.singleton.Any(??)\ndip.model.singleton.MetaSingleton(??)\ndip.model.singleton.Singleton(??)\ndip.model.str(??)\ndip.model.str.Str(??)\ndip.model.str.ValidationTypeError(??)\ndip.model.str.ValueTypeFactory(??)\ndip.model.subclass(??)\ndip.model.subclass.CollectionTypeFactory(??)\ndip.model.subclass.Subclass(??)\ndip.model.subclass.ValidationTypeError(??)\ndip.model.trigger(??)\ndip.model.trigger.Trigger(??)\ndip.model.trigger.TypeFactory(??)\ndip.model.trigger.get_change_trigger(??)\ndip.model.tuple(??)\ndip.model.tuple.Any(??)\ndip.model.tuple.CollectionTypeFactory(??)\ndip.model.tuple.DefaultArgValue(??)\ndip.model.tuple.Tuple(??)\ndip.model.tuple.TupleImpl(??)\ndip.model.tuple.ValidationTypeError(??)\ndip.model.type_factory(??)\ndip.model.type_factory.TypeFactory(??)\ndip.model.unadapted(??)\ndip.model.value_type_factory(??)\ndip.model.value_type_factory.TypeFactory(??)\ndip.model.value_type_factory.Uninitialized(??)\ndip.model.value_type_factory.ValidationError(??)\ndip.model.value_type_factory.ValueTypeFactory(??)\ndip.model.value_type_factory.get_change_trigger(??)\ndip.os(??)\ndip.plugins(??)\ndip.plugins.ExtensionPoint(??)\ndip.plugins.IExtensionPoint(??)\ndip.plugins.IPlugin(??)\ndip.plugins.IPluginManager(??)\ndip.plugins.IService(??)\ndip.plugins.PluginManager(??)\ndip.plugins.Service(??)\ndip.plugins.default_plugin_manager.PluginManager(??)\ndip.plugins.default_plugin_manager.plugin_manager(??)\ndip.plugins.default_plugin_manager.plugin_manager.ExtensionPoint(??)\ndip.plugins.default_plugin_manager.plugin_manager.IPluginManager(??)\ndip.plugins.default_plugin_manager.plugin_manager.Model(??)\ndip.plugins.default_plugin_manager.plugin_manager.PluginManager(??)\ndip.plugins.default_plugin_manager.plugin_manager.implements(??)\ndip.plugins.default_plugin_manager.plugin_manager.observe(??)\ndip.plugins.extension_point(??)\ndip.plugins.extension_point.ExtensionPoint(??)\ndip.plugins.extension_point.IExtensionPoint(??)\ndip.plugins.extension_point.List(??)\ndip.plugins.extension_point.Model(??)\ndip.plugins.extension_point.implements(??)\ndip.plugins.extension_point.weakref(??)\ndip.plugins.i_extension_point(??)\ndip.plugins.i_extension_point.IExtensionPoint(??)\ndip.plugins.i_extension_point.Interface(??)\ndip.plugins.i_extension_point.List(??)\ndip.plugins.i_extension_point.Str(??)\ndip.plugins.i_plugin(??)\ndip.plugins.i_plugin.Bool(??)\ndip.plugins.i_plugin.IPlugin(??)\ndip.plugins.i_plugin.Interface(??)\ndip.plugins.i_plugin.List(??)\ndip.plugins.i_plugin.Str(??)\ndip.plugins.i_plugin_manager(??)\ndip.plugins.i_plugin_manager.IExtensionPoint(??)\ndip.plugins.i_plugin_manager.IPlugin(??)\ndip.plugins.i_plugin_manager.IPluginManager(??)\ndip.plugins.i_plugin_manager.IService(??)\ndip.plugins.i_plugin_manager.Interface(??)\ndip.plugins.i_plugin_manager.List(??)\ndip.plugins.i_service(??)\ndip.plugins.i_service.Any(??)\ndip.plugins.i_service.IService(??)\ndip.plugins.i_service.Interface(??)\ndip.plugins.i_service.Subclass(??)\ndip.plugins.plugin_manager(??)\ndip.plugins.plugin_manager.IPluginManager(??)\ndip.plugins.plugin_manager.Instance(??)\ndip.plugins.plugin_manager.PluginManager(??)\ndip.plugins.plugin_manager.Singleton(??)\ndip.plugins.service(??)\ndip.plugins.service.IService(??)\ndip.plugins.service.Model(??)\ndip.plugins.service.Service(??)\ndip.plugins.service.implements(??)\ndip.publish(??)\ndip.publish.IPublication(??)\ndip.publish.IPublicationManager(??)\ndip.publish.IPublisher(??)\ndip.publish.ISubscriber(??)\ndip.publish.Publication(??)\ndip.publish.default_publication_manager(??)\ndip.publish.default_publication_manager.PublicationManager(??)\ndip.publish.default_publication_manager.publication_manager(??)\ndip.publish.default_publication_manager.publication_manager.IPublicationManager(??)\ndip.publish.default_publication_manager.publication_manager.MetaInterface(??)\ndip.publish.default_publication_manager.publication_manager.Model(??)\ndip.publish.default_publication_manager.publication_manager.Publication(??)\ndip.publish.default_publication_manager.publication_manager.PublicationManager(??)\ndip.publish.default_publication_manager.publication_manager.implements(??)\ndip.publish.default_publication_manager.publication_manager.observe(??)\ndip.publish.i_publication(??)\ndip.publish.i_publication.Any(??)\ndip.publish.i_publication.IPublication(??)\ndip.publish.i_publication.Interface(??)\ndip.publish.i_publication.Str(??)\ndip.publish.i_publication_manager(??)\ndip.publish.i_publication_manager.IPublicationManager(??)\ndip.publish.i_publication_manager.IPublisher(??)\ndip.publish.i_publication_manager.ISubscriber(??)\ndip.publish.i_publication_manager.Interface(??)\ndip.publish.i_publication_manager.List(??)\ndip.publish.i_publisher(??)\ndip.publish.i_publisher.IPublication(??)\ndip.publish.i_publisher.IPublisher(??)\ndip.publish.i_publisher.Instance(??)\ndip.publish.i_publisher.Interface(??)\ndip.publish.i_subscriber(??)\ndip.publish.i_subscriber.IPublication(??)\ndip.publish.i_subscriber.ISubscriber(??)\ndip.publish.i_subscriber.Instance(??)\ndip.publish.i_subscriber.Interface(??)\ndip.publish.publication(??)\ndip.publish.publication.IPublication(??)\ndip.publish.publication.Model(??)\ndip.publish.publication.Publication(??)\ndip.publish.publication.implements(??)\ndip.pui(??)\ndip.pui.Action(??)\ndip.pui.CheckBox(??)\ndip.pui.ComboBox(??)\ndip.pui.Dialog(??)\ndip.pui.Dock(??)\ndip.pui.FilesystemLocationEditor(??)\ndip.pui.FloatSpinBox(??)\ndip.pui.Form(??)\ndip.pui.Grid(??)\ndip.pui.GroupBox(??)\ndip.pui.HBox(??)\ndip.pui.Label(??)\ndip.pui.LineEditor(??)\ndip.pui.ListEditor(??)\ndip.pui.MainWindow(??)\ndip.pui.Menu(??)\ndip.pui.MenuBar(??)\ndip.pui.MessageArea(??)\ndip.pui.OptionList(??)\ndip.pui.PushButton(??)\ndip.pui.RadioButtons(??)\ndip.pui.SpinBox(??)\ndip.pui.Splitter(??)\ndip.pui.Stack(??)\ndip.pui.StorageLocationEditor(??)\ndip.pui.TableEditor(??)\ndip.pui.TextEditor(??)\ndip.pui.ToolButton(??)\ndip.pui.UIToolkit(??)\ndip.pui.VBox(??)\ndip.pui.Wizard(??)\ndip.pui.WizardPage(??)\ndip.pui.factory(??)\ndip.pui.factory.Action(??)\ndip.pui.factory.CheckBox(??)\ndip.pui.factory.ComboBox(??)\ndip.pui.factory.Dialog(??)\ndip.pui.factory.Dock(??)\ndip.pui.factory.FilesystemLocationEditor(??)\ndip.pui.factory.FloatSpinBox(??)\ndip.pui.factory.Form(??)\ndip.pui.factory.Grid(??)\ndip.pui.factory.GroupBox(??)\ndip.pui.factory.HBox(??)\ndip.pui.factory.Label(??)\ndip.pui.factory.LineEditor(??)\ndip.pui.factory.ListEditor(??)\ndip.pui.factory.MainWindow(??)\ndip.pui.factory.Menu(??)\ndip.pui.factory.MenuBar(??)\ndip.pui.factory.MessageArea(??)\ndip.pui.factory.OptionList(??)\ndip.pui.factory.PushButton(??)\ndip.pui.factory.RadioButtons(??)\ndip.pui.factory.SpinBox(??)\ndip.pui.factory.Splitter(??)\ndip.pui.factory.Stack(??)\ndip.pui.factory.StorageLocationEditor(??)\ndip.pui.factory.TableEditor(??)\ndip.pui.factory.TextEditor(??)\ndip.pui.factory.ToolButton(??)\ndip.pui.factory.UIToolkit(??)\ndip.pui.factory.VBox(??)\ndip.pui.factory.Wizard(??)\ndip.pui.factory.WizardPage(??)\ndip.settings(??)\ndip.settings.ISettings(??)\ndip.settings.ISettingsManager(??)\ndip.settings.ISettingsStorage(??)\ndip.settings.SettingsManager(??)\ndip.settings.default_settings_manager.SettingsManager(??)\ndip.settings.default_settings_manager.settings_manager(??)\ndip.settings.default_settings_manager.settings_manager.ISettings(??)\ndip.settings.default_settings_manager.settings_manager.ISettingsManager(??)\ndip.settings.default_settings_manager.settings_manager.ISettingsStorage(??)\ndip.settings.default_settings_manager.settings_manager.Instance(??)\ndip.settings.default_settings_manager.settings_manager.Model(??)\ndip.settings.default_settings_manager.settings_manager.SettingsManager(??)\ndip.settings.default_settings_manager.settings_manager.SettingsToolkit(??)\ndip.settings.default_settings_manager.settings_manager.implements(??)\ndip.settings.default_settings_manager.settings_manager.os(??)\ndip.settings.default_settings_manager.settings_manager.sys(??)\ndip.settings.i_settings(??)\ndip.settings.i_settings.ISettings(??)\ndip.settings.i_settings.Interface(??)\ndip.settings.i_settings.Str(??)\ndip.settings.i_settings_manager(??)\ndip.settings.i_settings_manager.ISettingsManager(??)\ndip.settings.i_settings_manager.Interface(??)\ndip.settings.i_settings_storage(??)\ndip.settings.i_settings_storage.ISettingsStorage(??)\ndip.settings.i_settings_storage.Interface(??)\ndip.settings.ieditor_isettings_adapter(??)\ndip.settings.ieditor_isettings_adapter.Adapter(??)\ndip.settings.ieditor_isettings_adapter.IEditor(??)\ndip.settings.ieditor_isettings_adapter.IEditorISettingsAdapter(??)\ndip.settings.ieditor_isettings_adapter.ISettings(??)\ndip.settings.ieditor_isettings_adapter.adapt(??)\ndip.settings.settings_manager(??)\ndip.settings.settings_manager.ISettingsManager(??)\ndip.settings.settings_manager.Instance(??)\ndip.settings.settings_manager.SettingsManager(??)\ndip.settings.settings_manager.Singleton(??)\ndip.shell(??)\ndip.shell.BaseManagedModelTool(??)\ndip.shell.BaseShellAdapter(??)\ndip.shell.BaseShellFactory(??)\ndip.shell.IActionHints(??)\ndip.shell.IAreaHints(??)\ndip.shell.ICloseViewVeto(??)\ndip.shell.IDirty(??)\ndip.shell.IManagedModel(??)\ndip.shell.IManagedModelTool(??)\ndip.shell.IModelManagerTool(??)\ndip.shell.IOpenModel(??)\ndip.shell.IQuitVeto(??)\ndip.shell.IShell(??)\ndip.shell.ITool(??)\ndip.shell.SimpleViewTool(??)\ndip.shell.base_managed_model_tool(??)\ndip.shell.base_managed_model_tool.Adapter(??)\ndip.shell.base_managed_model_tool.BaseManagedModelTool(??)\ndip.shell.base_managed_model_tool.ICloseViewVeto(??)\ndip.shell.base_managed_model_tool.IDisplay(??)\ndip.shell.base_managed_model_tool.IManagedModel(??)\ndip.shell.base_managed_model_tool.IOpenModel(??)\ndip.shell.base_managed_model_tool.IPublisher(??)\ndip.shell.base_managed_model_tool.IView(??)\ndip.shell.base_managed_model_tool.Instance(??)\ndip.shell.base_managed_model_tool.Model(??)\ndip.shell.base_managed_model_tool.Publication(??)\ndip.shell.base_managed_model_tool.implements(??)\ndip.shell.base_managed_model_tool.observe(??)\ndip.shell.base_managed_model_tool.unadapted(??)\ndip.shell.base_shell_adapter(??)\ndip.shell.base_shell_adapter.Action(??)\ndip.shell.base_shell_adapter.ActionCollection(??)\ndip.shell.base_shell_adapter.Adapter(??)\ndip.shell.base_shell_adapter.Application(??)\ndip.shell.base_shell_adapter.BaseShellAdapter(??)\ndip.shell.base_shell_adapter.IAreaHints(??)\ndip.shell.base_shell_adapter.ICloseViewVeto(??)\ndip.shell.base_shell_adapter.IContainer(??)\ndip.shell.base_shell_adapter.IOpenModel(??)\ndip.shell.base_shell_adapter.IPublisher(??)\ndip.shell.base_shell_adapter.IShell(??)\ndip.shell.base_shell_adapter.ISubscriber(??)\ndip.shell.base_shell_adapter.IView(??)\ndip.shell.base_shell_adapter.IoManager(??)\ndip.shell.base_shell_adapter.get_attribute_types(??)\ndip.shell.base_shell_adapter.observe(??)\ndip.shell.base_shell_factory(??)\ndip.shell.base_shell_factory.BaseShellFactory(??)\ndip.shell.base_shell_factory.Callable(??)\ndip.shell.base_shell_factory.Enum(??)\ndip.shell.base_shell_factory.IShell(??)\ndip.shell.base_shell_factory.List(??)\ndip.shell.base_shell_factory.Str(??)\ndip.shell.base_shell_factory.ViewFactory(??)\ndip.shell.i_action_hints(??)\ndip.shell.i_action_hints.Adapter(??)\ndip.shell.i_action_hints.IActionHints(??)\ndip.shell.i_action_hints.Interface(??)\ndip.shell.i_action_hints.Str(??)\ndip.shell.i_action_hints.adapt(??)\ndip.shell.i_action_hints.objectIActionHintsAdapter(??)\ndip.shell.i_area_hints(??)\ndip.shell.i_area_hints.Adapter(??)\ndip.shell.i_area_hints.IAreaHints(??)\ndip.shell.i_area_hints.Interface(??)\ndip.shell.i_area_hints.Str(??)\ndip.shell.i_area_hints.adapt(??)\ndip.shell.i_area_hints.objectIAreaHintsAdapter(??)\ndip.shell.i_close_view_veto(??)\ndip.shell.i_close_view_veto.ICloseViewVeto(??)\ndip.shell.i_close_view_veto.Interface(??)\ndip.shell.i_dirty(??)\ndip.shell.i_dirty.Bool(??)\ndip.shell.i_dirty.IDirty(??)\ndip.shell.i_dirty.Interface(??)\ndip.shell.i_managed_model(??)\ndip.shell.i_managed_model.Bool(??)\ndip.shell.i_managed_model.IDirty(??)\ndip.shell.i_managed_model.IManagedModel(??)\ndip.shell.i_managed_model.IStorageLocation(??)\ndip.shell.i_managed_model.IView(??)\ndip.shell.i_managed_model.Instance(??)\ndip.shell.i_managed_model.List(??)\ndip.shell.i_managed_model.Str(??)\ndip.shell.i_managed_model_tool(??)\ndip.shell.i_managed_model_tool.Bool(??)\ndip.shell.i_managed_model_tool.Enum(??)\ndip.shell.i_managed_model_tool.IManagedModel(??)\ndip.shell.i_managed_model_tool.IManagedModelTool(??)\ndip.shell.i_managed_model_tool.IModelManagerTool(??)\ndip.shell.i_managed_model_tool.ITool(??)\ndip.shell.i_managed_model_tool.Instance(??)\ndip.shell.i_managed_model_tool.List(??)\ndip.shell.i_model_manager_tool(??)\ndip.shell.i_model_manager_tool.Callable(??)\ndip.shell.i_model_manager_tool.IModelManagerTool(??)\ndip.shell.i_model_manager_tool.ITool(??)\ndip.shell.i_model_manager_tool.List(??)\ndip.shell.i_open_model(??)\ndip.shell.i_open_model.IOpenModel(??)\ndip.shell.i_open_model.Interface(??)\ndip.shell.i_quit_veto(??)\ndip.shell.i_quit_veto.IQuitVeto(??)\ndip.shell.i_quit_veto.Interface(??)\ndip.shell.i_quit_veto.List(??)\ndip.shell.i_quit_veto.Str(??)\ndip.shell.i_shell(??)\ndip.shell.i_shell.Enum(??)\ndip.shell.i_shell.IPublicationManager(??)\ndip.shell.i_shell.IShell(??)\ndip.shell.i_shell.ITool(??)\ndip.shell.i_shell.IView(??)\ndip.shell.i_shell.Instance(??)\ndip.shell.i_shell.Interface(??)\ndip.shell.i_shell.List(??)\ndip.shell.i_shell.Str(??)\ndip.shell.i_tool(??)\ndip.shell.i_tool.IAction(??)\ndip.shell.i_tool.IActionCollection(??)\ndip.shell.i_tool.ITool(??)\ndip.shell.i_tool.IView(??)\ndip.shell.i_tool.Instance(??)\ndip.shell.i_tool.Interface(??)\ndip.shell.i_tool.List(??)\ndip.shell.i_tool.Str(??)\ndip.shell.plugins(??)\ndip.shell.plugins.DirtyToolPlugin(??)\ndip.shell.plugins.MainWindowShellPlugin(??)\ndip.shell.plugins.ModelManagerToolPlugin(??)\ndip.shell.plugins.QuitToolPlugin(??)\ndip.shell.plugins.WhatsThisToolPlugin(??)\ndip.shell.plugins.dirty_tool_plugin(??)\ndip.shell.plugins.dirty_tool_plugin.DirtyToolPlugin(??)\ndip.shell.plugins.dirty_tool_plugin.IDisplay(??)\ndip.shell.plugins.dirty_tool_plugin.IPlugin(??)\ndip.shell.plugins.dirty_tool_plugin.Model(??)\ndip.shell.plugins.dirty_tool_plugin.implements(??)\ndip.shell.plugins.main_window_shell_plugin(??)\ndip.shell.plugins.main_window_shell_plugin.IDisplay(??)\ndip.shell.plugins.main_window_shell_plugin.IPlugin(??)\ndip.shell.plugins.main_window_shell_plugin.IShell(??)\ndip.shell.plugins.main_window_shell_plugin.MainWindowShellPlugin(??)\ndip.shell.plugins.main_window_shell_plugin.Model(??)\ndip.shell.plugins.main_window_shell_plugin.Service(??)\ndip.shell.plugins.main_window_shell_plugin.implements(??)\ndip.shell.plugins.model_manager_tool_plugin(??)\ndip.shell.plugins.model_manager_tool_plugin.IDisplay(??)\ndip.shell.plugins.model_manager_tool_plugin.IPlugin(??)\ndip.shell.plugins.model_manager_tool_plugin.Model(??)\ndip.shell.plugins.model_manager_tool_plugin.ModelManagerToolPlugin(??)\ndip.shell.plugins.model_manager_tool_plugin.implements(??)\ndip.shell.plugins.quit_tool_plugin(??)\ndip.shell.plugins.quit_tool_plugin.IDisplay(??)\ndip.shell.plugins.quit_tool_plugin.IPlugin(??)\ndip.shell.plugins.quit_tool_plugin.Model(??)\ndip.shell.plugins.quit_tool_plugin.QuitToolPlugin(??)\ndip.shell.plugins.quit_tool_plugin.implements(??)\ndip.shell.plugins.whats_this_tool_plugin(??)\ndip.shell.plugins.whats_this_tool_plugin.IDisplay(??)\ndip.shell.plugins.whats_this_tool_plugin.IPlugin(??)\ndip.shell.plugins.whats_this_tool_plugin.Model(??)\ndip.shell.plugins.whats_this_tool_plugin.WhatsThisToolPlugin(??)\ndip.shell.plugins.whats_this_tool_plugin.implements(??)\ndip.shell.shells(??)\ndip.shell.shells.main_window.MainWindowShell(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.Application(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.BaseShellAdapter(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.Dock(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.IActionHints(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.IAreaHints(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.IMainWindow(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.IMainWindowIShellAdapter(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.IShell(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.adapt(??)\ndip.shell.shells.main_window.imainwindow_ishell_adapter.observe(??)\ndip.shell.shells.main_window.main_window_shell(??)\ndip.shell.shells.main_window.main_window_shell.BaseShellFactory(??)\ndip.shell.shells.main_window.main_window_shell.Instance(??)\ndip.shell.shells.main_window.main_window_shell.MainWindow(??)\ndip.shell.shells.main_window.main_window_shell.MainWindowShell(??)\ndip.shell.shells.main_window.main_window_shell.Menu(??)\ndip.shell.shells.main_window.main_window_shell.MenuBar(??)\ndip.shell.shells.main_window.main_window_shell.Stack(??)\ndip.shell.simple_view_tool(??)\ndip.shell.simple_view_tool.IActionHints(??)\ndip.shell.simple_view_tool.IAreaHints(??)\ndip.shell.simple_view_tool.ITool(??)\ndip.shell.simple_view_tool.IView(??)\ndip.shell.simple_view_tool.Instance(??)\ndip.shell.simple_view_tool.Model(??)\ndip.shell.simple_view_tool.SimpleViewTool(??)\ndip.shell.simple_view_tool.Str(??)\ndip.shell.simple_view_tool.Tuple(??)\ndip.shell.simple_view_tool.implements(??)\ndip.shell.simple_view_tool.observe(??)\ndip.shell.tools(??)\ndip.shell.tools.dirty.DirtyTool(??)\ndip.shell.tools.dirty.dirty_tool(??)\ndip.shell.tools.dirty.dirty_tool.DirtyTool(??)\ndip.shell.tools.dirty.dirty_tool.IDirty(??)\ndip.shell.tools.dirty.dirty_tool.ITool(??)\ndip.shell.tools.dirty.dirty_tool.Model(??)\ndip.shell.tools.dirty.dirty_tool.implements(??)\ndip.shell.tools.dirty.dirty_tool.observe(??)\ndip.shell.tools.form(??)\ndip.shell.tools.form.FormTool(??)\ndip.shell.tools.form.form_tool(??)\ndip.shell.tools.form.form_tool.BaseManagedModelTool(??)\ndip.shell.tools.form.form_tool.Callable(??)\ndip.shell.tools.form.form_tool.FormTool(??)\ndip.shell.tools.form.form_tool.IAreaHints(??)\ndip.shell.tools.form.form_tool.IManagedModel(??)\ndip.shell.tools.form.form_tool.IManagedModelTool(??)\ndip.shell.tools.form.form_tool.Instance(??)\ndip.shell.tools.form.form_tool.Str(??)\ndip.shell.tools.form.form_tool.ViewFactory(??)\ndip.shell.tools.form.form_tool.implements(??)\ndip.shell.tools.form.form_tool.observe(??)\ndip.shell.tools.model_manager.ModelManagerTool(??)\ndip.shell.tools.model_manager.model_manager_tool(??)\ndip.shell.tools.model_manager.model_manager_tool.Application(??)\ndip.shell.tools.model_manager.model_manager_tool.CloseAction(??)\ndip.shell.tools.model_manager.model_manager_tool.IDirty(??)\ndip.shell.tools.model_manager.model_manager_tool.IDisplay(??)\ndip.shell.tools.model_manager.model_manager_tool.IManagedModel(??)\ndip.shell.tools.model_manager.model_manager_tool.IManagedModelTool(??)\ndip.shell.tools.model_manager.model_manager_tool.IModelManagerTool(??)\ndip.shell.tools.model_manager.model_manager_tool.IPublisher(??)\ndip.shell.tools.model_manager.model_manager_tool.IQuitVeto(??)\ndip.shell.tools.model_manager.model_manager_tool.IStorageLocation(??)\ndip.shell.tools.model_manager.model_manager_tool.IView(??)\ndip.shell.tools.model_manager.model_manager_tool.Instance(??)\ndip.shell.tools.model_manager.model_manager_tool.IoManager(??)\ndip.shell.tools.model_manager.model_manager_tool.Model(??)\ndip.shell.tools.model_manager.model_manager_tool.ModelManagerTool(??)\ndip.shell.tools.model_manager.model_manager_tool.NewAction(??)\ndip.shell.tools.model_manager.model_manager_tool.OpenAction(??)\ndip.shell.tools.model_manager.model_manager_tool.Publication(??)\ndip.shell.tools.model_manager.model_manager_tool.ResourcesState(??)\ndip.shell.tools.model_manager.model_manager_tool.SaveAction(??)\ndip.shell.tools.model_manager.model_manager_tool.SaveAsAction(??)\ndip.shell.tools.model_manager.model_manager_tool.StorageError(??)\ndip.shell.tools.model_manager.model_manager_tool.Str(??)\ndip.shell.tools.model_manager.model_manager_tool.implements(??)\ndip.shell.tools.model_manager.model_manager_tool.observe(??)\ndip.shell.tools.model_manager.model_manager_tool.unadapted(??)\ndip.shell.tools.model_manager.model_template_dialog.Any(??)\ndip.shell.tools.model_manager.model_template_dialog.Dialog(??)\ndip.shell.tools.model_manager.model_template_dialog.Instance(??)\ndip.shell.tools.model_manager.model_template_dialog.Label(??)\ndip.shell.tools.model_manager.model_template_dialog.ModelManagerTool(??)\ndip.shell.tools.model_manager.model_template_dialog.ModelTemplateDialog(??)\ndip.shell.tools.model_manager.model_template_dialog.OptionList(??)\ndip.shell.tools.model_manager.model_template_dialog.Str(??)\ndip.shell.tools.model_manager.model_template_dialog.VBox(??)\ndip.shell.tools.model_manager.new_wizard.Any(??)\ndip.shell.tools.model_manager.new_wizard.IManagedModelTool(??)\ndip.shell.tools.model_manager.new_wizard.Instance(??)\ndip.shell.tools.model_manager.new_wizard.ModelManagerTool(??)\ndip.shell.tools.model_manager.new_wizard.NewWizard(??)\ndip.shell.tools.model_manager.new_wizard.OptionList(??)\ndip.shell.tools.model_manager.new_wizard.Wizard(??)\ndip.shell.tools.model_manager.new_wizard.WizardController(??)\ndip.shell.tools.model_manager.new_wizard.WizardPage(??)\ndip.shell.tools.model_manager.new_wizard.observe(??)\ndip.shell.tools.model_manager.open_wizard(??)\ndip.shell.tools.model_manager.open_wizard.Any(??)\ndip.shell.tools.model_manager.open_wizard.Bool(??)\ndip.shell.tools.model_manager.open_wizard.Dict(??)\ndip.shell.tools.model_manager.open_wizard.IManagedModelTool(??)\ndip.shell.tools.model_manager.open_wizard.IStorage(??)\ndip.shell.tools.model_manager.open_wizard.IStorageBrowser(??)\ndip.shell.tools.model_manager.open_wizard.IStorageLocation(??)\ndip.shell.tools.model_manager.open_wizard.Instance(??)\ndip.shell.tools.model_manager.open_wizard.IoManager(??)\ndip.shell.tools.model_manager.open_wizard.ModelManagerTool(??)\ndip.shell.tools.model_manager.open_wizard.OpenWizard(??)\ndip.shell.tools.model_manager.open_wizard.OptionList(??)\ndip.shell.tools.model_manager.open_wizard.Wizard(??)\ndip.shell.tools.model_manager.open_wizard.WizardController(??)\ndip.shell.tools.model_manager.open_wizard.WizardPage(??)\ndip.shell.tools.model_manager.open_wizard.observe(??)\ndip.shell.tools.model_manager.resources_state(??)\ndip.shell.tools.model_manager.resources_state.Bool(??)\ndip.shell.tools.model_manager.resources_state.Dict(??)\ndip.shell.tools.model_manager.resources_state.IDisplay(??)\ndip.shell.tools.model_manager.resources_state.IManagedModel(??)\ndip.shell.tools.model_manager.resources_state.IManagedModelTool(??)\ndip.shell.tools.model_manager.resources_state.Instance(??)\ndip.shell.tools.model_manager.resources_state.IoManager(??)\ndip.shell.tools.model_manager.resources_state.Model(??)\ndip.shell.tools.model_manager.resources_state.ResourcesState(??)\ndip.shell.tools.model_manager.tool_dialog.Dialog(??)\ndip.shell.tools.model_manager.tool_dialog.IManagedModelTool(??)\ndip.shell.tools.model_manager.tool_dialog.Instance(??)\ndip.shell.tools.model_manager.tool_dialog.Label(??)\ndip.shell.tools.model_manager.tool_dialog.ModelManagerTool(??)\ndip.shell.tools.model_manager.tool_dialog.OptionList(??)\ndip.shell.tools.model_manager.tool_dialog.Str(??)\ndip.shell.tools.model_manager.tool_dialog.ToolDialog(??)\ndip.shell.tools.model_manager.tool_dialog.Tuple(??)\ndip.shell.tools.model_manager.tool_dialog.VBox(??)\ndip.shell.tools.quit(??)\ndip.shell.tools.quit.QuitTool(??)\ndip.shell.tools.quit.quit_tool(??)\ndip.shell.tools.quit.quit_tool.Application(??)\ndip.shell.tools.quit.quit_tool.Dialog(??)\ndip.shell.tools.quit.quit_tool.IQuitVeto(??)\ndip.shell.tools.quit.quit_tool.IShell(??)\ndip.shell.tools.quit.quit_tool.ITool(??)\ndip.shell.tools.quit.quit_tool.IView(??)\ndip.shell.tools.quit.quit_tool.Instance(??)\ndip.shell.tools.quit.quit_tool.Model(??)\ndip.shell.tools.quit.quit_tool.QuitAction(??)\ndip.shell.tools.quit.quit_tool.QuitTool(??)\ndip.shell.tools.quit.quit_tool.Str(??)\ndip.shell.tools.quit.quit_tool.implements(??)\ndip.shell.tools.quit.quit_tool.observe(??)\ndip.shell.tools.whats_this(??)\ndip.shell.tools.whats_this.WhatsThisTool(??)\ndip.shell.tools.whats_this.whats_this_tool(??)\ndip.shell.tools.whats_this.whats_this_tool.ITool(??)\ndip.shell.tools.whats_this.whats_this_tool.Model(??)\ndip.shell.tools.whats_this.whats_this_tool.WhatsThisAction(??)\ndip.shell.tools.whats_this.whats_this_tool.WhatsThisTool(??)\ndip.shell.tools.whats_this.whats_this_tool.implements(??)\ndip.sys(??)\ndip.toolkits(??)\ndip.toolkits.Toolkit(??)\ndip.toolkits.toolkit(??)\ndip.toolkits.toolkit.Singleton(??)\ndip.toolkits.toolkit.TOOLKIT\ndip.toolkits.toolkit.Toolkit(??)\ndip.toolkits.toolkit.sys(??)\ndip.ui(??)\ndip.ui.Action(??)\ndip.ui.ActionCollection(??)\ndip.ui.Application(??)\ndip.ui.Bindings(??)\ndip.ui.BoxLayoutFactory(??)\ndip.ui.CheckBox(??)\ndip.ui.CollectionValidator(??)\ndip.ui.ComboBox(??)\ndip.ui.ContainerFactory(??)\ndip.ui.Controller(??)\ndip.ui.Dialog(??)\ndip.ui.DialogButton(??)\ndip.ui.DialogController(??)\ndip.ui.Dock(??)\ndip.ui.EditorFactory(??)\ndip.ui.FilesystemLocationEditor(??)\ndip.ui.FilesystemLocationValidator(??)\ndip.ui.FloatSpinBox(??)\ndip.ui.Form(??)\ndip.ui.Grid(??)\ndip.ui.GroupBox(??)\ndip.ui.HBox(??)\ndip.ui.IAction(??)\ndip.ui.IActionCollection(??)\ndip.ui.IApplication(??)\ndip.ui.IBox(??)\ndip.ui.ICheckBox(??)\ndip.ui.ICollectionEditor(??)\ndip.ui.IComboBox(??)\ndip.ui.IContainer(??)\ndip.ui.IDialog(??)\ndip.ui.IDisplay(??)\ndip.ui.IDock(??)\ndip.ui.IEditor(??)\ndip.ui.IFilesystemLocationEditor(??)\ndip.ui.IFloatSpinBox(??)\ndip.ui.IForm(??)\ndip.ui.IGrid(??)\ndip.ui.IGroupBox(??)\ndip.ui.IHBox(??)\ndip.ui.ILabel(??)\ndip.ui.ILineEditor(??)\ndip.ui.IListEditor(??)\ndip.ui.IMainWindow(??)\ndip.ui.IMenu(??)\ndip.ui.IMenuBar(??)\ndip.ui.IMessageArea(??)\ndip.ui.IObject(??)\ndip.ui.IOptionList(??)\ndip.ui.IOptionSelector(??)\ndip.ui.IPushButton(??)\ndip.ui.IRadioButtons(??)\ndip.ui.ISingleViewContainer(??)\ndip.ui.ISpinBox(??)\ndip.ui.ISplitter(??)\ndip.ui.IStack(??)\ndip.ui.IStorageLocationEditor(??)\ndip.ui.ITableEditor(??)\ndip.ui.ITextEditor(??)\ndip.ui.IToolButton(??)\ndip.ui.IVBox(??)\ndip.ui.IValidator(??)\ndip.ui.IView(??)\ndip.ui.IWizard(??)\ndip.ui.IWizardPage(??)\ndip.ui.Label(??)\ndip.ui.LineEditor(??)\ndip.ui.ListColumn(??)\ndip.ui.ListEditor(??)\ndip.ui.MainWindow(??)\ndip.ui.Menu(??)\ndip.ui.MenuBar(??)\ndip.ui.MessageArea(??)\ndip.ui.OptionList(??)\ndip.ui.OptionSelectorFactory(??)\ndip.ui.OptionValidator(??)\ndip.ui.PushButton(??)\ndip.ui.RadioButtons(??)\ndip.ui.SingleSubviewContainerFactory(??)\ndip.ui.SpinBox(??)\ndip.ui.Splitter(??)\ndip.ui.Stack(??)\ndip.ui.StorageLocationEditor(??)\ndip.ui.StorageLocationValidator(??)\ndip.ui.Stretch(??)\ndip.ui.StringValidator(??)\ndip.ui.TableColumn(??)\ndip.ui.TableEditor(??)\ndip.ui.TextEditor(??)\ndip.ui.ToolButton(??)\ndip.ui.UIToolkit(??)\ndip.ui.VBox(??)\ndip.ui.ViewFactory(??)\ndip.ui.Wizard(??)\ndip.ui.WizardController(??)\ndip.ui.WizardPage(??)\ndip.ui.action(??)\ndip.ui.action.Action(??)\ndip.ui.action.Bool(??)\ndip.ui.action.IAction(??)\ndip.ui.action.UIToolkit(??)\ndip.ui.action.ValidationTypeError(??)\ndip.ui.action.ValueTypeFactory(??)\ndip.ui.action.get_attribute_type(??)\ndip.ui.action.resolve_attribute_path(??)\ndip.ui.action_collection(??)\ndip.ui.action_collection.ActionCollection(??)\ndip.ui.action_collection.ActionCollectionImpl(??)\ndip.ui.action_collection.IActionCollection(??)\ndip.ui.action_collection.Model(??)\ndip.ui.action_collection.ValidationTypeError(??)\ndip.ui.action_collection.ValueTypeFactory(??)\ndip.ui.action_collection.implements(??)\ndip.ui.actions.CloseAction(??)\ndip.ui.actions.NewAction(??)\ndip.ui.actions.OpenAction(??)\ndip.ui.actions.QuitAction(??)\ndip.ui.actions.SaveAction(??)\ndip.ui.actions.SaveAsAction(??)\ndip.ui.actions.WhatsThisAction(??)\ndip.ui.actions.close_action(??)\ndip.ui.actions.close_action.Action(??)\ndip.ui.actions.close_action.CloseAction(??)\ndip.ui.actions.close_action.IAction(??)\ndip.ui.actions.close_action.UIToolkit(??)\ndip.ui.actions.new_action(??)\ndip.ui.actions.new_action.Action(??)\ndip.ui.actions.new_action.IAction(??)\ndip.ui.actions.new_action.NewAction(??)\ndip.ui.actions.new_action.UIToolkit(??)\ndip.ui.actions.open_action(??)\ndip.ui.actions.open_action.Action(??)\ndip.ui.actions.open_action.IAction(??)\ndip.ui.actions.open_action.OpenAction(??)\ndip.ui.actions.open_action.UIToolkit(??)\ndip.ui.actions.quit_action(??)\ndip.ui.actions.quit_action.Action(??)\ndip.ui.actions.quit_action.IAction(??)\ndip.ui.actions.quit_action.QuitAction(??)\ndip.ui.actions.quit_action.UIToolkit(??)\ndip.ui.actions.save_action(??)\ndip.ui.actions.save_action.Action(??)\ndip.ui.actions.save_action.IAction(??)\ndip.ui.actions.save_action.SaveAction(??)\ndip.ui.actions.save_action.UIToolkit(??)\ndip.ui.actions.save_as_action(??)\ndip.ui.actions.save_as_action.Action(??)\ndip.ui.actions.save_as_action.IAction(??)\ndip.ui.actions.save_as_action.SaveAsAction(??)\ndip.ui.actions.save_as_action.UIToolkit(??)\ndip.ui.actions.whats_this_action(??)\ndip.ui.actions.whats_this_action.Action(??)\ndip.ui.actions.whats_this_action.IAction(??)\ndip.ui.actions.whats_this_action.UIToolkit(??)\ndip.ui.actions.whats_this_action.WhatsThisAction(??)\ndip.ui.application(??)\ndip.ui.application.Application(??)\ndip.ui.application.IApplication(??)\ndip.ui.application.UIToolkit(??)\ndip.ui.bindings(??)\ndip.ui.bindings.Bindings(??)\ndip.ui.bindings.Callable(??)\ndip.ui.bindings.EditorFactory(??)\ndip.ui.bindings.IEditor(??)\ndip.ui.bindings.IView(??)\ndip.ui.bindings.MappingProxy(??)\ndip.ui.bindings.Model(??)\ndip.ui.bindings.UIToolkit(??)\ndip.ui.bindings.ViewFactory(??)\ndip.ui.bindings.get_attribute_type(??)\ndip.ui.bindings.resolve_attribute_path(??)\ndip.ui.box_layout_factory(??)\ndip.ui.box_layout_factory.BoxLayoutFactory(??)\ndip.ui.box_layout_factory.ContainerFactory(??)\ndip.ui.box_layout_factory.Stretch(??)\ndip.ui.check_box(??)\ndip.ui.check_box.CheckBox(??)\ndip.ui.check_box.EditorFactory(??)\ndip.ui.check_box.ICheckBox(??)\ndip.ui.collection_validator(??)\ndip.ui.collection_validator.CollectionValidator(??)\ndip.ui.collection_validator.IValidator(??)\ndip.ui.collection_validator.Model(??)\ndip.ui.collection_validator.implements(??)\ndip.ui.combo_box(??)\ndip.ui.combo_box.ComboBox(??)\ndip.ui.combo_box.IComboBox(??)\ndip.ui.combo_box.OptionSelectorFactory(??)\ndip.ui.container_factory(??)\ndip.ui.container_factory.Bool(??)\ndip.ui.container_factory.Callable(??)\ndip.ui.container_factory.ContainerFactory(??)\ndip.ui.container_factory.IAction(??)\ndip.ui.container_factory.IContainer(??)\ndip.ui.container_factory.List(??)\ndip.ui.container_factory.UIToolkit(??)\ndip.ui.container_factory.ViewFactory(??)\ndip.ui.container_factory.get_attribute_type(??)\ndip.ui.container_factory.get_model_types(??)\ndip.ui.container_factory.resolve_attribute_path(??)\ndip.ui.controller(??)\ndip.ui.controller.Bool(??)\ndip.ui.controller.Controller(??)\ndip.ui.controller.IAction(??)\ndip.ui.controller.IContainer(??)\ndip.ui.controller.IEditor(??)\ndip.ui.controller.IMessageArea(??)\ndip.ui.controller.IView(??)\ndip.ui.controller.Instance(??)\ndip.ui.controller.List(??)\ndip.ui.controller.Model(??)\ndip.ui.controller.Str(??)\ndip.ui.controller.ValueTypeFactory(??)\ndip.ui.controller.observe(??)\ndip.ui.controller.partial(func, *args, **keywords) - new function with partial application\ndip.ui.dialog(??)\ndip.ui.dialog.Dialog(??)\ndip.ui.dialog.IDialog(??)\ndip.ui.dialog.List(??)\ndip.ui.dialog.SingleSubviewContainerFactory(??)\ndip.ui.dialog_controller(??)\ndip.ui.dialog_controller.Controller(??)\ndip.ui.dialog_controller.DialogController(??)\ndip.ui.dialog_controller.IDialog(??)\ndip.ui.dialog_controller.Instance(??)\ndip.ui.dialog_controller.observe(??)\ndip.ui.dock(??)\ndip.ui.dock.Dock(??)\ndip.ui.dock.IDock(??)\ndip.ui.dock.SingleSubviewContainerFactory(??)\ndip.ui.editor_factory(??)\ndip.ui.editor_factory.EditorFactory(??)\ndip.ui.editor_factory.IEditor(??)\ndip.ui.editor_factory.Str(??)\ndip.ui.editor_factory.ViewFactory(??)\ndip.ui.editor_factory.get_attribute_type(??)\ndip.ui.editor_factory.resolve_attribute_path(??)\ndip.ui.filesystem_location_editor(??)\ndip.ui.filesystem_location_editor.Bool(??)\ndip.ui.filesystem_location_editor.EditorFactory(??)\ndip.ui.filesystem_location_editor.FilesystemLocationEditor(??)\ndip.ui.filesystem_location_editor.IFilesystemLocationEditor(??)\ndip.ui.filesystem_location_validator(??)\ndip.ui.filesystem_location_validator.Bool(??)\ndip.ui.filesystem_location_validator.Enum(??)\ndip.ui.filesystem_location_validator.FilesystemLocationValidator(??)\ndip.ui.filesystem_location_validator.IFilesystemLocationEditor(??)\ndip.ui.filesystem_location_validator.IValidator(??)\ndip.ui.filesystem_location_validator.Model(??)\ndip.ui.filesystem_location_validator.implements(??)\ndip.ui.filesystem_location_validator.os(??)\ndip.ui.float_spin_box(??)\ndip.ui.float_spin_box.EditorFactory(??)\ndip.ui.float_spin_box.FloatSpinBox(??)\ndip.ui.float_spin_box.IFloatSpinBox(??)\ndip.ui.form(??)\ndip.ui.form.ContainerFactory(??)\ndip.ui.form.Form(??)\ndip.ui.form.IEditor(??)\ndip.ui.form.IForm(??)\ndip.ui.grid(??)\ndip.ui.grid.ContainerFactory(??)\ndip.ui.grid.Grid(??)\ndip.ui.grid.IGrid(??)\ndip.ui.group_box(??)\ndip.ui.group_box.GroupBox(??)\ndip.ui.group_box.IGroupBox(??)\ndip.ui.group_box.SingleSubviewContainerFactory(??)\ndip.ui.h_box(??)\ndip.ui.h_box.BoxLayoutFactory(??)\ndip.ui.h_box.HBox(??)\ndip.ui.h_box.IHBox(??)\ndip.ui.i_action(??)\ndip.ui.i_action.Bool(??)\ndip.ui.i_action.Callable(??)\ndip.ui.i_action.IAction(??)\ndip.ui.i_action.IObject(??)\ndip.ui.i_action.Instance(??)\ndip.ui.i_action.Model(??)\ndip.ui.i_action.Str(??)\ndip.ui.i_action.Trigger(??)\ndip.ui.i_action_collection(??)\ndip.ui.i_action_collection.Bool(??)\ndip.ui.i_action_collection.IAction(??)\ndip.ui.i_action_collection.IActionCollection(??)\ndip.ui.i_action_collection.IObject(??)\ndip.ui.i_action_collection.Instance(??)\ndip.ui.i_action_collection.List(??)\ndip.ui.i_action_collection.Str(??)\ndip.ui.i_application(??)\ndip.ui.i_application.IApplication(??)\ndip.ui.i_application.IView(??)\ndip.ui.i_application.Instance(??)\ndip.ui.i_application.Interface(??)\ndip.ui.i_box(??)\ndip.ui.i_box.IBox(??)\ndip.ui.i_box.IContainer(??)\ndip.ui.i_box.IView(??)\ndip.ui.i_box.Instance(??)\ndip.ui.i_box.Stretch(??)\ndip.ui.i_box.Tuple(??)\ndip.ui.i_check_box(??)\ndip.ui.i_check_box.ICheckBox(??)\ndip.ui.i_check_box.IEditor(??)\ndip.ui.i_collection_editor(??)\ndip.ui.i_collection_editor.ICollectionEditor(??)\ndip.ui.i_collection_editor.IEditor(??)\ndip.ui.i_combo_box(??)\ndip.ui.i_combo_box.IComboBox(??)\ndip.ui.i_combo_box.IOptionSelector(??)\ndip.ui.i_container(??)\ndip.ui.i_container.IAction(??)\ndip.ui.i_container.IActionCollection(??)\ndip.ui.i_container.IContainer(??)\ndip.ui.i_container.IView(??)\ndip.ui.i_container.Instance(??)\ndip.ui.i_container.List(??)\ndip.ui.i_container.Tuple(??)\ndip.ui.i_dialog(??)\ndip.ui.i_dialog.Bool(??)\ndip.ui.i_dialog.DialogButton(??)\ndip.ui.i_dialog.Enum(??)\ndip.ui.i_dialog.IDialog(??)\ndip.ui.i_dialog.ISingleViewContainer(??)\ndip.ui.i_dialog.Trigger(??)\ndip.ui.i_dialog.Tuple(??)\ndip.ui.i_display(??)\ndip.ui.i_display.IDisplay(??)\ndip.ui.i_display.Interface(??)\ndip.ui.i_display.Str(??)\ndip.ui.i_dock(??)\ndip.ui.i_dock.Enum(??)\ndip.ui.i_dock.IAction(??)\ndip.ui.i_dock.IDock(??)\ndip.ui.i_dock.ISingleViewContainer(??)\ndip.ui.i_dock.Instance(??)\ndip.ui.i_dock.Str(??)\ndip.ui.i_editor(??)\ndip.ui.i_editor.Any(??)\ndip.ui.i_editor.Bool(??)\ndip.ui.i_editor.Enum(??)\ndip.ui.i_editor.IEditor(??)\ndip.ui.i_editor.IValidator(??)\ndip.ui.i_editor.IView(??)\ndip.ui.i_editor.Instance(??)\ndip.ui.i_editor.Model(??)\ndip.ui.i_editor.Str(??)\ndip.ui.i_editor.TypeFactory(??)\ndip.ui.i_filesystem_location_editor(??)\ndip.ui.i_filesystem_location_editor.Bool(??)\ndip.ui.i_filesystem_location_editor.Enum(??)\ndip.ui.i_filesystem_location_editor.IEditor(??)\ndip.ui.i_filesystem_location_editor.IFilesystemLocationEditor(??)\ndip.ui.i_filesystem_location_editor.Str(??)\ndip.ui.i_float_spin_box(??)\ndip.ui.i_float_spin_box.Float(??)\ndip.ui.i_float_spin_box.IEditor(??)\ndip.ui.i_float_spin_box.IFloatSpinBox(??)\ndip.ui.i_form(??)\ndip.ui.i_form.IContainer(??)\ndip.ui.i_form.IForm(??)\ndip.ui.i_form.Str(??)\ndip.ui.i_form.Tuple(??)\ndip.ui.i_grid(??)\ndip.ui.i_grid.IContainer(??)\ndip.ui.i_grid.IGrid(??)\ndip.ui.i_grid.Int(??)\ndip.ui.i_group_box(??)\ndip.ui.i_group_box.IGroupBox(??)\ndip.ui.i_group_box.ISingleViewContainer(??)\ndip.ui.i_h_box(??)\ndip.ui.i_h_box.IBox(??)\ndip.ui.i_h_box.IHBox(??)\ndip.ui.i_label(??)\ndip.ui.i_label.IEditor(??)\ndip.ui.i_label.ILabel(??)\ndip.ui.i_line_editor(??)\ndip.ui.i_line_editor.IEditor(??)\ndip.ui.i_line_editor.ILineEditor(??)\ndip.ui.i_list_editor(??)\ndip.ui.i_list_editor.Bool(??)\ndip.ui.i_list_editor.Callable(??)\ndip.ui.i_list_editor.ICollectionEditor(??)\ndip.ui.i_list_editor.IListEditor(??)\ndip.ui.i_list_editor.Int(??)\ndip.ui.i_list_editor.List(??)\ndip.ui.i_list_editor.ListColumn(??)\ndip.ui.i_main_window(??)\ndip.ui.i_main_window.IDock(??)\ndip.ui.i_main_window.IMainWindow(??)\ndip.ui.i_main_window.IMenuBar(??)\ndip.ui.i_main_window.ISingleViewContainer(??)\ndip.ui.i_main_window.Instance(??)\ndip.ui.i_main_window.List(??)\ndip.ui.i_menu(??)\ndip.ui.i_menu.Bool(??)\ndip.ui.i_menu.IAction(??)\ndip.ui.i_menu.IContainer(??)\ndip.ui.i_menu.IMenu(??)\ndip.ui.i_menu.Instance(??)\ndip.ui.i_menu.List(??)\ndip.ui.i_menu.Str(??)\ndip.ui.i_menu_bar(??)\ndip.ui.i_menu_bar.IContainer(??)\ndip.ui.i_menu_bar.IMenuBar(??)\ndip.ui.i_message_area(??)\ndip.ui.i_message_area.IMessageArea(??)\ndip.ui.i_message_area.IView(??)\ndip.ui.i_message_area.Str(??)\ndip.ui.i_object(??)\ndip.ui.i_object.IObject(??)\ndip.ui.i_object.Interface(??)\ndip.ui.i_object.Str(??)\ndip.ui.i_option_list(??)\ndip.ui.i_option_list.IOptionList(??)\ndip.ui.i_option_list.IOptionSelector(??)\ndip.ui.i_option_selector(??)\ndip.ui.i_option_selector.Bool(??)\ndip.ui.i_option_selector.IEditor(??)\ndip.ui.i_option_selector.IOptionSelector(??)\ndip.ui.i_option_selector.Str(??)\ndip.ui.i_option_selector.Tuple(??)\ndip.ui.i_push_button(??)\ndip.ui.i_push_button.IEditor(??)\ndip.ui.i_push_button.IPushButton(??)\ndip.ui.i_radio_buttons(??)\ndip.ui.i_radio_buttons.Bool(??)\ndip.ui.i_radio_buttons.IOptionSelector(??)\ndip.ui.i_radio_buttons.IRadioButtons(??)\ndip.ui.i_single_view_container(??)\ndip.ui.i_single_view_container.IContainer(??)\ndip.ui.i_single_view_container.ISingleViewContainer(??)\ndip.ui.i_single_view_container.IView(??)\ndip.ui.i_single_view_container.Instance(??)\ndip.ui.i_spin_box(??)\ndip.ui.i_spin_box.IEditor(??)\ndip.ui.i_spin_box.ISpinBox(??)\ndip.ui.i_spin_box.Int(??)\ndip.ui.i_splitter(??)\ndip.ui.i_splitter.IContainer(??)\ndip.ui.i_splitter.ISplitter(??)\ndip.ui.i_stack(??)\ndip.ui.i_stack.Enum(??)\ndip.ui.i_stack.IContainer(??)\ndip.ui.i_stack.IStack(??)\ndip.ui.i_stack.IView(??)\ndip.ui.i_stack.Instance(??)\ndip.ui.i_stack.List(??)\ndip.ui.i_storage_location_editor(??)\ndip.ui.i_storage_location_editor.Bool(??)\ndip.ui.i_storage_location_editor.Enum(??)\ndip.ui.i_storage_location_editor.IEditor(??)\ndip.ui.i_storage_location_editor.IStorageLocationEditor(??)\ndip.ui.i_storage_location_editor.Str(??)\ndip.ui.i_table_editor(??)\ndip.ui.i_table_editor.Callable(??)\ndip.ui.i_table_editor.Enum(??)\ndip.ui.i_table_editor.ICollectionEditor(??)\ndip.ui.i_table_editor.ITableEditor(??)\ndip.ui.i_table_editor.Instance(??)\ndip.ui.i_table_editor.List(??)\ndip.ui.i_table_editor.TableColumn(??)\ndip.ui.i_text_editor(??)\ndip.ui.i_text_editor.IEditor(??)\ndip.ui.i_text_editor.ITextEditor(??)\ndip.ui.i_tool_button(??)\ndip.ui.i_tool_button.IAction(??)\ndip.ui.i_tool_button.IEditor(??)\ndip.ui.i_tool_button.IToolButton(??)\ndip.ui.i_tool_button.Instance(??)\ndip.ui.i_v_box(??)\ndip.ui.i_v_box.IBox(??)\ndip.ui.i_v_box.IVBox(??)\ndip.ui.i_validator(??)\ndip.ui.i_validator.IValidator(??)\ndip.ui.i_validator.Interface(??)\ndip.ui.i_view(??)\ndip.ui.i_view.Bool(??)\ndip.ui.i_view.Callable(??)\ndip.ui.i_view.IObject(??)\ndip.ui.i_view.IView(??)\ndip.ui.i_view.Instance(??)\ndip.ui.i_view.List(??)\ndip.ui.i_view.Str(??)\ndip.ui.i_view.Trigger(??)\ndip.ui.i_wizard(??)\ndip.ui.i_wizard.IContainer(??)\ndip.ui.i_wizard.IWizard(??)\ndip.ui.i_wizard.IWizardPage(??)\ndip.ui.i_wizard.Instance(??)\ndip.ui.i_wizard.Trigger(??)\ndip.ui.i_wizard.Tuple(??)\ndip.ui.i_wizard_page(??)\ndip.ui.i_wizard_page.Bool(??)\ndip.ui.i_wizard_page.ISingleViewContainer(??)\ndip.ui.i_wizard_page.IWizardPage(??)\ndip.ui.i_wizard_page.Str(??)\ndip.ui.label(??)\ndip.ui.label.EditorFactory(??)\ndip.ui.label.ILabel(??)\ndip.ui.label.Label(??)\ndip.ui.line_editor(??)\ndip.ui.line_editor.EditorFactory(??)\ndip.ui.line_editor.Enum(??)\ndip.ui.line_editor.ILineEditor(??)\ndip.ui.line_editor.LineEditor(??)\ndip.ui.list_column(??)\ndip.ui.list_column.ListColumn(??)\ndip.ui.list_column.Str(??)\ndip.ui.list_column.TableColumn(??)\ndip.ui.list_editor(??)\ndip.ui.list_editor.Any(??)\ndip.ui.list_editor.EditorFactory(??)\ndip.ui.list_editor.IListEditor(??)\ndip.ui.list_editor.Instance(??)\ndip.ui.list_editor.List(??)\ndip.ui.list_editor.ListColumn(??)\ndip.ui.list_editor.ListEditor(??)\ndip.ui.list_editor.MetaModel(??)\ndip.ui.list_editor.Str(??)\ndip.ui.list_editor.UIToolkit(??)\ndip.ui.list_editor.get_model_types(??)\ndip.ui.main_window(??)\ndip.ui.main_window.Action(??)\ndip.ui.main_window.Dock(??)\ndip.ui.main_window.IMainWindow(??)\ndip.ui.main_window.Instance(??)\ndip.ui.main_window.List(??)\ndip.ui.main_window.MainWindow(??)\ndip.ui.main_window.MenuBar(??)\ndip.ui.main_window.SingleSubviewContainerFactory(??)\ndip.ui.menu(??)\ndip.ui.menu.Action(??)\ndip.ui.menu.ContainerFactory(??)\ndip.ui.menu.IMenu(??)\ndip.ui.menu.Instance(??)\ndip.ui.menu.List(??)\ndip.ui.menu.Menu(??)\ndip.ui.menu.Str(??)\ndip.ui.menu_bar(??)\ndip.ui.menu_bar.ContainerFactory(??)\ndip.ui.menu_bar.IMenuBar(??)\ndip.ui.menu_bar.List(??)\ndip.ui.menu_bar.Menu(??)\ndip.ui.menu_bar.MenuBar(??)\ndip.ui.message_area(??)\ndip.ui.message_area.IMessageArea(??)\ndip.ui.message_area.MessageArea(??)\ndip.ui.message_area.ViewFactory(??)\ndip.ui.option_list(??)\ndip.ui.option_list.IOptionList(??)\ndip.ui.option_list.OptionList(??)\ndip.ui.option_list.OptionSelectorFactory(??)\ndip.ui.option_selector_factory(??)\ndip.ui.option_selector_factory.Bool(??)\ndip.ui.option_selector_factory.EditorFactory(??)\ndip.ui.option_selector_factory.Enum(??)\ndip.ui.option_selector_factory.IOptionSelector(??)\ndip.ui.option_selector_factory.Instance(??)\ndip.ui.option_selector_factory.List(??)\ndip.ui.option_selector_factory.OptionSelectorFactory(??)\ndip.ui.option_selector_factory.Str(??)\ndip.ui.option_validator(??)\ndip.ui.option_validator.IValidator(??)\ndip.ui.option_validator.Model(??)\ndip.ui.option_validator.OptionValidator(??)\ndip.ui.option_validator.implements(??)\ndip.ui.push_button(??)\ndip.ui.push_button.EditorFactory(??)\ndip.ui.push_button.IPushButton(??)\ndip.ui.push_button.PushButton(??)\ndip.ui.radio_buttons(??)\ndip.ui.radio_buttons.IRadioButtons(??)\ndip.ui.radio_buttons.OptionSelectorFactory(??)\ndip.ui.radio_buttons.RadioButtons(??)\ndip.ui.single_subview_container_factory(??)\ndip.ui.single_subview_container_factory.ContainerFactory(??)\ndip.ui.single_subview_container_factory.Enum(??)\ndip.ui.single_subview_container_factory.Form(??)\ndip.ui.single_subview_container_factory.SingleSubviewContainerFactory(??)\ndip.ui.spin_box(??)\ndip.ui.spin_box.EditorFactory(??)\ndip.ui.spin_box.ISpinBox(??)\ndip.ui.spin_box.SpinBox(??)\ndip.ui.splitter(??)\ndip.ui.splitter.ContainerFactory(??)\ndip.ui.splitter.ISplitter(??)\ndip.ui.splitter.Splitter(??)\ndip.ui.stack(??)\ndip.ui.stack.ContainerFactory(??)\ndip.ui.stack.IStack(??)\ndip.ui.stack.Stack(??)\ndip.ui.storage_location_editor(??)\ndip.ui.storage_location_editor.Bool(??)\ndip.ui.storage_location_editor.EditorFactory(??)\ndip.ui.storage_location_editor.IStorageLocationEditor(??)\ndip.ui.storage_location_editor.StorageLocationEditor(??)\ndip.ui.storage_location_validator(??)\ndip.ui.storage_location_validator.Bool(??)\ndip.ui.storage_location_validator.Enum(??)\ndip.ui.storage_location_validator.IStorageLocationEditor(??)\ndip.ui.storage_location_validator.IValidator(??)\ndip.ui.storage_location_validator.IoManager(??)\ndip.ui.storage_location_validator.Model(??)\ndip.ui.storage_location_validator.StorageLocationValidator(??)\ndip.ui.storage_location_validator.Str(??)\ndip.ui.storage_location_validator.implements(??)\ndip.ui.stretch(??)\ndip.ui.stretch.Stretch(??)\ndip.ui.string_validator(??)\ndip.ui.string_validator.Bool(??)\ndip.ui.string_validator.IValidator(??)\ndip.ui.string_validator.Model(??)\ndip.ui.string_validator.StringValidator(??)\ndip.ui.string_validator.implements(??)\ndip.ui.table_column(??)\ndip.ui.table_column.Bool(??)\ndip.ui.table_column.Callable(??)\ndip.ui.table_column.Instance(??)\ndip.ui.table_column.Model(??)\ndip.ui.table_column.Str(??)\ndip.ui.table_column.TableColumn(??)\ndip.ui.table_column.TypeFactory(??)\ndip.ui.table_editor(??)\ndip.ui.table_editor.Any(??)\ndip.ui.table_editor.EditorFactory(??)\ndip.ui.table_editor.ITableEditor(??)\ndip.ui.table_editor.Instance(??)\ndip.ui.table_editor.List(??)\ndip.ui.table_editor.MetaModel(??)\ndip.ui.table_editor.Str(??)\ndip.ui.table_editor.TableColumn(??)\ndip.ui.table_editor.TableEditor(??)\ndip.ui.table_editor.UIToolkit(??)\ndip.ui.table_editor.get_model_types(??)\ndip.ui.text_editor(??)\ndip.ui.text_editor.EditorFactory(??)\ndip.ui.text_editor.ITextEditor(??)\ndip.ui.text_editor.TextEditor(??)\ndip.ui.tool_button(??)\ndip.ui.tool_button.EditorFactory(??)\ndip.ui.tool_button.IToolButton(??)\ndip.ui.tool_button.Str(??)\ndip.ui.tool_button.ToolButton(??)\ndip.ui.toolkits(??)\ndip.ui.toolkits.AbstractUIToolkit(??)\ndip.ui.toolkits.ToolkitError(??)\ndip.ui.toolkits.UIToolkit(??)\ndip.ui.toolkits.abstract_ui_toolkit(??)\ndip.ui.toolkits.abstract_ui_toolkit.AbstractUIToolkit(??)\ndip.ui.toolkits.abstract_ui_toolkit.Model(??)\ndip.ui.toolkits.abstract_ui_toolkit.Tuple(??)\ndip.ui.toolkits.exceptions(??)\ndip.ui.toolkits.exceptions.ToolkitError(??)\ndip.ui.toolkits.qt5(??)\ndip.ui.toolkits.qt5.PYQT_VERSION\ndip.ui.toolkits.qt5.Toolkit(??)\ndip.ui.toolkits.qt5.adapters(??)\ndip.ui.toolkits.qt5.adapters.box_adapters(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.BoxAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.BoxLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.BoxWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.ContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.IBox(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.IView(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.QLayout(QWidget)\ndip.ui.toolkits.qt5.adapters.box_adapters.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.box_adapters.Stretch(??)\ndip.ui.toolkits.qt5.adapters.box_adapters.unadapted(??)\ndip.ui.toolkits.qt5.adapters.container_adapters(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.ContainerAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.ContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.IContainer(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.IView(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.QLayout(QWidget)\ndip.ui.toolkits.qt5.adapters.container_adapters.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.container_adapters.ViewLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.container_adapters.unadapted(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.EditorAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.EditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.IEditor(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.ViewLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.editor_adapters.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.EditorDelegate(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.EditorFactory(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.ICollectionEditor(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.IEditor(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.QStyledItemDelegate(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.editor_delegate.Qt(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.as_QWidget(??)\ndip.ui.toolkits.qt5.adapters.editor_delegate.from_QWidget(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.FilesystemLocationEditorAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.IFilesystemLocationEditor(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.LocationEditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.LocationEditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.QBoxLayout(QBoxLayout.Direction, parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.QBoxLayoutIFilesystemLocationEditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.QWidgetIFilesystemLocationEditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.filesystem_location_editor.adapt(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.EditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.Instance(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.LocationEditorAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.LocationEditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.LocationEditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.Model(??)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.QAbstractButton(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.QLineEdit(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.location_editor_adapters.adapt(??)\ndip.ui.toolkits.qt5.adapters.object_adapter(??)\ndip.ui.toolkits.qt5.adapters.object_adapter.Adapter(??)\ndip.ui.toolkits.qt5.adapters.object_adapter.IObject(??)\ndip.ui.toolkits.qt5.adapters.object_adapter.ObjectAdapter(??)\ndip.ui.toolkits.qt5.adapters.place_holder(??)\ndip.ui.toolkits.qt5.adapters.place_holder.IMenu(??)\ndip.ui.toolkits.qt5.adapters.place_holder.PlaceHolder(??)\ndip.ui.toolkits.qt5.adapters.place_holder.QAction(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.place_holder.QMenu(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.place_holder.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qaction(??)\ndip.ui.toolkits.qt5.adapters.qaction.IAction(??)\ndip.ui.toolkits.qt5.adapters.qaction.ObjectAdapter(??)\ndip.ui.toolkits.qt5.adapters.qaction.QAction(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.qaction.QActionIActionAdapter(??)\ndip.ui.toolkits.qt5.adapters.qaction.adapt(??)\ndip.ui.toolkits.qt5.adapters.qaction.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qapplication(??)\ndip.ui.toolkits.qt5.adapters.qapplication.Adapter(??)\ndip.ui.toolkits.qt5.adapters.qapplication.IApplication(??)\ndip.ui.toolkits.qt5.adapters.qapplication.IContainer(??)\ndip.ui.toolkits.qt5.adapters.qapplication.IView(??)\ndip.ui.toolkits.qt5.adapters.qapplication.QApplication(List[str])\ndip.ui.toolkits.qt5.adapters.qapplication.QApplicationIApplicationAdapter(??)\ndip.ui.toolkits.qt5.adapters.qapplication.adapt(??)\ndip.ui.toolkits.qt5.adapters.qapplication.from_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qapplication.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qcheckbox(??)\ndip.ui.toolkits.qt5.adapters.qcheckbox.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qcheckbox.ICheckBox(??)\ndip.ui.toolkits.qt5.adapters.qcheckbox.QCheckBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qcheckbox.QCheckBoxICheckBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qcheckbox.Qt(??)\ndip.ui.toolkits.qt5.adapters.qcheckbox.adapt(??)\ndip.ui.toolkits.qt5.adapters.qcombobox(??)\ndip.ui.toolkits.qt5.adapters.qcombobox.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qcombobox.IComboBox(??)\ndip.ui.toolkits.qt5.adapters.qcombobox.IDisplay(??)\ndip.ui.toolkits.qt5.adapters.qcombobox.IOptionSelector(??)\ndip.ui.toolkits.qt5.adapters.qcombobox.QComboBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qcombobox.QComboBoxIComboBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qcombobox.adapt(??)\ndip.ui.toolkits.qt5.adapters.qdialog(??)\ndip.ui.toolkits.qt5.adapters.qdialog.IDialog(??)\ndip.ui.toolkits.qt5.adapters.qdialog.IView(??)\ndip.ui.toolkits.qt5.adapters.qdialog.Instance(??)\ndip.ui.toolkits.qt5.adapters.qdialog.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qdialog.QDialogButtonBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qdialog.QDialogIDialogAdapter(??)\ndip.ui.toolkits.qt5.adapters.qdialog.QLayout(QWidget)\ndip.ui.toolkits.qt5.adapters.qdialog.Qt5ToolkitError(??)\ndip.ui.toolkits.qt5.adapters.qdialog.SingleViewContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qdialog.adapt(??)\ndip.ui.toolkits.qt5.adapters.qdialog.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget.IDock(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget.QDockWidget(str, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qdockwidget.QDockWidgetIDockAdapter(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget.SingleViewContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget.adapt(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget.as_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qdockwidget.from_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qdoublespinbox(??)\ndip.ui.toolkits.qt5.adapters.qdoublespinbox.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qdoublespinbox.IFloatSpinBox(??)\ndip.ui.toolkits.qt5.adapters.qdoublespinbox.QDoubleSpinBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qdoublespinbox.QDoubleSpinBoxIFloatSpinBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qdoublespinbox.adapt(??)\ndip.ui.toolkits.qt5.adapters.qformlayout(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.ContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.FormAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.IForm(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.IView(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.Instance(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.Model(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.QEvent(QEvent.Type)\ndip.ui.toolkits.qt5.adapters.qformlayout.QFormLayout(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qformlayout.QFormLayoutIFormAdapter(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.QObject(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.qformlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qformlayout.QWidgetIFormAdapter(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.VisibilityEventFilter(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.adapt(??)\ndip.ui.toolkits.qt5.adapters.qformlayout.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.ContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.GridAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.IGrid(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.IView(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.QGridLayout(QWidget)\ndip.ui.toolkits.qt5.adapters.qgridlayout.QGridLayoutIGridAdapter(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.QLayout(QWidget)\ndip.ui.toolkits.qt5.adapters.qgridlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qgridlayout.QWidgetIGridAdapter(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.adapt(??)\ndip.ui.toolkits.qt5.adapters.qgridlayout.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qgroupbox(??)\ndip.ui.toolkits.qt5.adapters.qgroupbox.IGroupBox(??)\ndip.ui.toolkits.qt5.adapters.qgroupbox.QGroupBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qgroupbox.QGroupBoxIGroupBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qgroupbox.SingleViewContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.qgroupbox.adapt(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout.BoxLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout.BoxWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout.IHBox(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout.QHBoxLayout()\ndip.ui.toolkits.qt5.adapters.qhboxlayout.QHBoxLayoutIHBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qhboxlayout.QWidgetIHBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qhboxlayout.adapt(??)\ndip.ui.toolkits.qt5.adapters.qlabel(??)\ndip.ui.toolkits.qt5.adapters.qlabel.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlabel.ILabel(??)\ndip.ui.toolkits.qt5.adapters.qlabel.IMessageArea(??)\ndip.ui.toolkits.qt5.adapters.qlabel.QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qlabel.QLabelILabelAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlabel.QLabelIMessageAreaAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlabel.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlabel.adapt(??)\ndip.ui.toolkits.qt5.adapters.qlineedit(??)\ndip.ui.toolkits.qt5.adapters.qlineedit.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlineedit.ILineEditor(??)\ndip.ui.toolkits.qt5.adapters.qlineedit.QLineEdit(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qlineedit.QLineEditILineEditorAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlineedit.adapt(??)\ndip.ui.toolkits.qt5.adapters.qlistview(??)\ndip.ui.toolkits.qt5.adapters.qlistview.Bool(??)\ndip.ui.toolkits.qt5.adapters.qlistview.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlistview.IDisplay(??)\ndip.ui.toolkits.qt5.adapters.qlistview.IOptionList(??)\ndip.ui.toolkits.qt5.adapters.qlistview.Instance(??)\ndip.ui.toolkits.qt5.adapters.qlistview.QAbstractItemView(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qlistview.QItemSelectionModel(model: QAbstractItemModel = None)\ndip.ui.toolkits.qt5.adapters.qlistview.QListView(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qlistview.QListViewIOptionListAdapter(??)\ndip.ui.toolkits.qt5.adapters.qlistview.QStandardItem()\ndip.ui.toolkits.qt5.adapters.qlistview.QStandardItemModel(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.qlistview.Qt(??)\ndip.ui.toolkits.qt5.adapters.qlistview.adapt(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.Adapter(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.IAction(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.IActionCollection(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.IMainWindow(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.IMenuBar(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qmainwindow.QMainWindowIMainWindowAdapter(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.Qt(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.Qt5ToolkitError(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.SingleViewContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.adapt(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.as_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.from_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.observe(??)\ndip.ui.toolkits.qt5.adapters.qmainwindow.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qmenu(??)\ndip.ui.toolkits.qt5.adapters.qmenu.IAction(??)\ndip.ui.toolkits.qt5.adapters.qmenu.IActionCollection(??)\ndip.ui.toolkits.qt5.adapters.qmenu.IMenu(??)\ndip.ui.toolkits.qt5.adapters.qmenu.PlaceHolder(??)\ndip.ui.toolkits.qt5.adapters.qmenu.QAction(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.qmenu.QMenu(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qmenu.QMenuIMenuAdapter(??)\ndip.ui.toolkits.qt5.adapters.qmenu.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qmenu.adapt(??)\ndip.ui.toolkits.qt5.adapters.qmenu.observe(??)\ndip.ui.toolkits.qt5.adapters.qmenu.sys(??)\ndip.ui.toolkits.qt5.adapters.qmenu.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qmenubar(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.IAction(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.IActionCollection(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.IMenu(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.IMenuBar(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.PlaceHolder(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.QMenuBar(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qmenubar.QMenuBarIMenuBarAdapter(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.adapt(??)\ndip.ui.toolkits.qt5.adapters.qmenubar.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qpushbutton(??)\ndip.ui.toolkits.qt5.adapters.qpushbutton.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qpushbutton.IPushButton(??)\ndip.ui.toolkits.qt5.adapters.qpushbutton.QPushButton(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qpushbutton.QPushButtonIPushButtonAdapter(??)\ndip.ui.toolkits.qt5.adapters.qpushbutton.adapt(??)\ndip.ui.toolkits.qt5.adapters.qpushbutton.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qspinbox(??)\ndip.ui.toolkits.qt5.adapters.qspinbox.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qspinbox.ISpinBox(??)\ndip.ui.toolkits.qt5.adapters.qspinbox.QSpinBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qspinbox.QSpinBoxISpinBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qspinbox.adapt(??)\ndip.ui.toolkits.qt5.adapters.qsplitter(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.Adapter(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.ISplitter(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.QSplitter(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qsplitter.QSplitterISplitterAdapter(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.adapt(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.as_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qsplitter.from_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.IStack(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.QTabWidget(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qtabwidget.QTabWidgetIStackAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.adapt(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.as_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.from_QWidget(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qtabwidget.observe(??)\ndip.ui.toolkits.qt5.adapters.qtextedit(??)\ndip.ui.toolkits.qt5.adapters.qtextedit.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtextedit.ITextEditor(??)\ndip.ui.toolkits.qt5.adapters.qtextedit.QTextEdit(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qtextedit.QTextEditITextEditorAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtextedit.adapt(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.IToolButton(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.QToolButton(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.QToolButtonIToolButtonAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.adapt(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qtoolbutton.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qtreeview(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.Bool(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.CollectionEditorAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.EditorDelegate(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.IListEditor(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.ITableEditor(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.Instance(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.Int(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.Model(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.QAbstractItemView(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qtreeview.QApplication(List[str])\ndip.ui.toolkits.qt5.adapters.qtreeview.QStandardItem()\ndip.ui.toolkits.qt5.adapters.qtreeview.QStandardItemModel(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.qtreeview.QTreeView(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qtreeview.QTreeViewIListEditorAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.QTreeViewITableEditorAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.Qt(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.adapt(??)\ndip.ui.toolkits.qt5.adapters.qtreeview.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout.BoxLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout.BoxWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout.IVBox(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout.QVBoxLayout()\ndip.ui.toolkits.qt5.adapters.qvboxlayout.QVBoxLayoutIVBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qvboxlayout.QWidgetIVBoxAdapter(??)\ndip.ui.toolkits.qt5.adapters.qvboxlayout.adapt(??)\ndip.ui.toolkits.qt5.adapters.qwidget(??)\ndip.ui.toolkits.qt5.adapters.qwidget.Adapter(??)\ndip.ui.toolkits.qt5.adapters.qwidget.IView(??)\ndip.ui.toolkits.qt5.adapters.qwidget.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qwidget.QWidgetIViewAdapter(??)\ndip.ui.toolkits.qt5.adapters.qwidget.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qwidget.adapt(??)\ndip.ui.toolkits.qt5.adapters.qwizard(??)\ndip.ui.toolkits.qt5.adapters.qwizard.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.qwizard.IWizard(??)\ndip.ui.toolkits.qt5.adapters.qwizard.IWizardPage(??)\ndip.ui.toolkits.qt5.adapters.qwizard.QWizard(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.qwizard.QWizardIWizardAdapter(??)\ndip.ui.toolkits.qt5.adapters.qwizard.adapt(??)\ndip.ui.toolkits.qt5.adapters.qwizard.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.qwizard.unadapted(??)\ndip.ui.toolkits.qt5.adapters.qwizardpage(??)\ndip.ui.toolkits.qt5.adapters.qwizardpage.Bool(??)\ndip.ui.toolkits.qt5.adapters.qwizardpage.IWizardPage(??)\ndip.ui.toolkits.qt5.adapters.qwizardpage.QWizardPage(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.qwizardpage.QWizardPageIWizardPageAdapter(??)\ndip.ui.toolkits.qt5.adapters.qwizardpage.SingleViewContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.qwizardpage.adapt(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.Dict(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.EditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.EditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.IDisplay(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.IRadioButtons(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.List(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.Model(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.QBoxLayout(QBoxLayout.Direction, parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.radio_buttons.QBoxLayoutIRadioButtonsAdapter(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.QRadioButton(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.radio_buttons.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.radio_buttons.QWidgetIRadioButtonsAdapter(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.RadioButtonsAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.radio_buttons.adapt(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters.ContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters.ISingleViewContainer(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters.SingleViewContainerLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters.SingleViewContainerWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters.as_QLayout(??)\ndip.ui.toolkits.qt5.adapters.single_view_container_adapters.from_QLayout(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.DelegatedTo(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.IFilterHints(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.IIoManagerUi(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.IStorageLocation(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.IStorageLocationEditor(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.Instance(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.IoManager(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.LocationEditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.LocationEditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.QBoxLayout(QBoxLayout.Direction, parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.QBoxLayoutIStorageLocationEditorLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.adapters.storage_location_editor.QWidgetIStorageLocationEditorWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.StorageLocationEditorAdapterMixin(??)\ndip.ui.toolkits.qt5.adapters.storage_location_editor.adapt(??)\ndip.ui.toolkits.qt5.adapters.view_adapters(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.CloseEventFilter(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.IView(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.Instance(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.ObjectAdapter(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.QEvent(QEvent.Type)\ndip.ui.toolkits.qt5.adapters.view_adapters.QFormLayout(parent: QWidget = None)\ndip.ui.toolkits.qt5.adapters.view_adapters.QObject(parent: QObject = None)\ndip.ui.toolkits.qt5.adapters.view_adapters.ShowEventFilter(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.ViewLayoutAdapter(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.ViewWidgetAdapter(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.notify_observers(??)\ndip.ui.toolkits.qt5.adapters.view_adapters.observe(??)\ndip.ui.toolkits.qt5.exceptions(??)\ndip.ui.toolkits.qt5.exceptions.Qt5ToolkitError(??)\ndip.ui.toolkits.qt5.exceptions.Qt5ToplevelWidgetError(??)\ndip.ui.toolkits.qt5.exceptions.ToolkitError(??)\ndip.ui.toolkits.qt5.toolkit(??)\ndip.ui.toolkits.qt5.toolkit.AbstractUIToolkit(??)\ndip.ui.toolkits.qt5.toolkit.QAction(parent: QObject = None)\ndip.ui.toolkits.qt5.toolkit.QApplication(List[str])\ndip.ui.toolkits.qt5.toolkit.QCheckBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QComboBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.toolkit.QDialogButtonBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QDockWidget(str, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.toolkit.QDoubleSpinBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])\ndip.ui.toolkits.qt5.toolkit.QFormLayout(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QGridLayout(QWidget)\ndip.ui.toolkits.qt5.toolkit.QGroupBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QHBoxLayout()\ndip.ui.toolkits.qt5.toolkit.QKeySequence()\ndip.ui.toolkits.qt5.toolkit.QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.toolkit.QLayout(QWidget)\ndip.ui.toolkits.qt5.toolkit.QLineEdit(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QListView(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.toolkit.QMenu(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QMenuBar(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QMessageBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QPushButton(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QSpinBox(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QSplitter(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QStyle()\ndip.ui.toolkits.qt5.toolkit.QTabWidget(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QTextEdit(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QToolButton(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QTreeView(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.QVBoxLayout()\ndip.ui.toolkits.qt5.toolkit.QWhatsThis(QWhatsThis)\ndip.ui.toolkits.qt5.toolkit.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.toolkit.QWizard(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.toolkit.QWizardPage(parent: QWidget = None)\ndip.ui.toolkits.qt5.toolkit.Qt(??)\ndip.ui.toolkits.qt5.toolkit.Qt5ToplevelWidgetError(??)\ndip.ui.toolkits.qt5.toolkit.Toolkit(??)\ndip.ui.toolkits.qt5.toolkit.as_QLayout(??)\ndip.ui.toolkits.qt5.toolkit.as_QWidget(??)\ndip.ui.toolkits.qt5.toolkit.as_QWidget_parent(??)\ndip.ui.toolkits.qt5.utils(??)\ndip.ui.toolkits.qt5.utils.IView(??)\ndip.ui.toolkits.qt5.utils.QLayout(QWidget)\ndip.ui.toolkits.qt5.utils.QVBoxLayout()\ndip.ui.toolkits.qt5.utils.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\ndip.ui.toolkits.qt5.utils.as_QLayout(??)\ndip.ui.toolkits.qt5.utils.as_QWidget(??)\ndip.ui.toolkits.qt5.utils.as_QWidget_parent(??)\ndip.ui.toolkits.qt5.utils.from_QLayout(??)\ndip.ui.toolkits.qt5.utils.from_QWidget(??)\ndip.ui.toolkits.qt5.utils.unadapted(??)\ndip.ui.toolkits.ui_toolkit(??)\ndip.ui.toolkits.ui_toolkit.AbstractUIToolkit(??)\ndip.ui.toolkits.ui_toolkit.Instance(??)\ndip.ui.toolkits.ui_toolkit.Toolkit(??)\ndip.ui.toolkits.ui_toolkit.UIToolkit(??)\ndip.ui.v_box(??)\ndip.ui.v_box.BoxLayoutFactory(??)\ndip.ui.v_box.IVBox(??)\ndip.ui.v_box.VBox(??)\ndip.ui.view_factory(??)\ndip.ui.view_factory.Callable(??)\ndip.ui.view_factory.IView(??)\ndip.ui.view_factory.MappingProxy(??)\ndip.ui.view_factory.Model(??)\ndip.ui.view_factory.Str(??)\ndip.ui.view_factory.UIToolkit(??)\ndip.ui.view_factory.ViewFactory(??)\ndip.ui.view_factory.unadapted(??)\ndip.ui.wizard(??)\ndip.ui.wizard.ContainerFactory(??)\ndip.ui.wizard.IWizard(??)\ndip.ui.wizard.List(??)\ndip.ui.wizard.Wizard(??)\ndip.ui.wizard.WizardPage(??)\ndip.ui.wizard_controller(??)\ndip.ui.wizard_controller.Controller(??)\ndip.ui.wizard_controller.IContainer(??)\ndip.ui.wizard_controller.IWizard(??)\ndip.ui.wizard_controller.IWizardPage(??)\ndip.ui.wizard_controller.Instance(??)\ndip.ui.wizard_controller.WizardController(??)\ndip.ui.wizard_controller.observe(??)\ndip.ui.wizard_page(??)\ndip.ui.wizard_page.IWizardPage(??)\ndip.ui.wizard_page.SingleSubviewContainerFactory(??)\ndip.ui.wizard_page.WizardPage(??)\ndip.version(??)\ndip.version.DIP_HEXVERSION\ndip.version.DIP_RELEASE\ndir([object]) -> list of strings\ndis.Bytecode(??)\ndis.COMPILER_FLAG_NAMES(??)\ndis.EXTENDED_ARG\ndis.FORMAT_VALUE\ndis.FORMAT_VALUE_CONVERTERS(??)\ndis.HAVE_ARGUMENT\ndis.Instruction(??)\ndis.MAKE_FUNCTION\ndis.MAKE_FUNCTION_FLAGS(??)\ndis.cmp_op(??)\ndis.code_info(??)\ndis.collections(??)\ndis.dis(??)\ndis.disassemble(??)\ndis.disco(??)\ndis.distb(??)\ndis.findlabels(??)\ndis.findlinestarts(??)\ndis.get_instructions(??)\ndis.hascompare(??)\ndis.hasconst(??)\ndis.hasfree(??)\ndis.hasjabs(??)\ndis.hasjrel(??)\ndis.haslocal(??)\ndis.hasname(??)\ndis.hasnargs(??)\ndis.io(??)\ndis.opmap(??)\ndis.opname(??)\ndis.pretty_flags(??)\ndis.show_code(??)\ndis.stack_effect(??)\ndis.sys(??)\ndis.types(??)\ndivmod(??)\ndoctest.BLANKLINE_MARKER\ndoctest.COMPARISON_FLAGS\ndoctest.DONT_ACCEPT_BLANKLINE\ndoctest.DONT_ACCEPT_TRUE_FOR_1\ndoctest.DebugRunner(??)\ndoctest.DocFileCase(??)\ndoctest.DocFileSuite(??)\ndoctest.DocFileTest(??)\ndoctest.DocTest(??)\ndoctest.DocTestCase(??)\ndoctest.DocTestFailure(??)\ndoctest.DocTestFinder(??)\ndoctest.DocTestParser(??)\ndoctest.DocTestRunner(??)\ndoctest.DocTestSuite(??)\ndoctest.ELLIPSIS\ndoctest.ELLIPSIS_MARKER\ndoctest.Example(??)\ndoctest.FAIL_FAST\ndoctest.IGNORE_EXCEPTION_DETAIL\ndoctest.NORMALIZE_WHITESPACE\ndoctest.OPTIONFLAGS_BY_NAME(??)\ndoctest.OutputChecker(??)\ndoctest.REPORTING_FLAGS\ndoctest.REPORT_CDIFF\ndoctest.REPORT_NDIFF\ndoctest.REPORT_ONLY_FIRST_FAILURE\ndoctest.REPORT_UDIFF\ndoctest.SKIP\ndoctest.SkipDocTestCase(??)\ndoctest.StringIO(??)\ndoctest.TestResults(failed, attempted)\ndoctest.UnexpectedException(??)\ndoctest.debug(??)\ndoctest.debug_script(??)\ndoctest.debug_src(??)\ndoctest.difflib(??)\ndoctest.inspect(??)\ndoctest.linecache(??)\ndoctest.master(??)\ndoctest.namedtuple(??)\ndoctest.os(??)\ndoctest.pdb(??)\ndoctest.re(??)\ndoctest.register_optionflag(??)\ndoctest.run_docstring_examples(??)\ndoctest.script_from_examples(??)\ndoctest.set_unittest_reportflags(??)\ndoctest.sys(??)\ndoctest.testfile(??)\ndoctest.testmod(??)\ndoctest.testsource(??)\ndoctest.traceback(??)\ndoctest.unittest(??)\nemail.base64mime(??)\nemail.base64mime.CRLF\nemail.base64mime.EMPTYSTRING\nemail.base64mime.MISC_LEN\nemail.base64mime.NL\nemail.base64mime.a2b_base64(??)\nemail.base64mime.b2a_base64(??)\nemail.base64mime.b64encode(??)\nemail.base64mime.body_decode(??)\nemail.base64mime.body_encode(??)\nemail.base64mime.decode(??)\nemail.base64mime.decodestring(??)\nemail.base64mime.header_encode(??)\nemail.base64mime.header_length(??)\nemail.charset(??)\nemail.charset.ALIASES(??)\nemail.charset.BASE64\nemail.charset.CHARSETS(??)\nemail.charset.CODEC_MAP(??)\nemail.charset.Charset(??)\nemail.charset.DEFAULT_CHARSET\nemail.charset.EMPTYSTRING\nemail.charset.QP\nemail.charset.RFC2047_CHROME_LEN\nemail.charset.SHORTEST\nemail.charset.UNKNOWN8BIT\nemail.charset.add_alias(??)\nemail.charset.add_charset(??)\nemail.charset.add_codec(??)\nemail.charset.email(??)\nemail.charset.encode_7or8bit(??)\nemail.charset.errors(??)\nemail.charset.partial(func, *args, **keywords) - new function with partial application\nemail.contentmanager(??)\nemail.contentmanager.ContentManager(??)\nemail.contentmanager.binascii(??)\nemail.contentmanager.email(??)\nemail.contentmanager.get_and_fixup_unknown_message_content(??)\nemail.contentmanager.get_message_content(??)\nemail.contentmanager.get_non_text_content(??)\nemail.contentmanager.get_text_content(??)\nemail.contentmanager.maintype\nemail.contentmanager.quoprimime(??)\nemail.contentmanager.raw_data_manager(??)\nemail.contentmanager.set_bytes_content(??)\nemail.contentmanager.set_message_content(??)\nemail.contentmanager.set_text_content(??)\nemail.contentmanager.subtype\nemail.contentmanager.typ(??)\nemail.encoders(??)\nemail.encoders.encode_7or8bit(??)\nemail.encoders.encode_base64(??)\nemail.encoders.encode_noop(??)\nemail.encoders.encode_quopri(??)\nemail.errors(??)\nemail.errors.BoundaryError(??)\nemail.errors.CharsetError(??)\nemail.errors.CloseBoundaryNotFoundDefect(??)\nemail.errors.FirstHeaderLineIsContinuationDefect(??)\nemail.errors.HeaderDefect(??)\nemail.errors.HeaderMissingRequiredValue(??)\nemail.errors.HeaderParseError(??)\nemail.errors.InvalidBase64CharactersDefect(??)\nemail.errors.InvalidBase64LengthDefect(??)\nemail.errors.InvalidBase64PaddingDefect(??)\nemail.errors.InvalidHeaderDefect(??)\nemail.errors.InvalidMultipartContentTransferEncodingDefect(??)\nemail.errors.MalformedHeaderDefect(??)\nemail.errors.MessageDefect(??)\nemail.errors.MessageError(??)\nemail.errors.MessageParseError(??)\nemail.errors.MisplacedEnvelopeHeaderDefect(??)\nemail.errors.MissingHeaderBodySeparatorDefect(??)\nemail.errors.MultipartConversionError(??)\nemail.errors.MultipartInvariantViolationDefect(??)\nemail.errors.NoBoundaryInMultipartDefect(??)\nemail.errors.NonASCIILocalPartDefect(??)\nemail.errors.NonPrintableDefect(??)\nemail.errors.ObsoleteHeaderDefect(??)\nemail.errors.StartBoundaryNotFoundDefect(??)\nemail.errors.UndecodableBytesDefect(??)\nemail.feedparser(??)\nemail.feedparser.BufferedSubFile(??)\nemail.feedparser.BytesFeedParser(??)\nemail.feedparser.EMPTYSTRING\nemail.feedparser.FeedParser(??)\nemail.feedparser.NL\nemail.feedparser.NLCRE(??)\nemail.feedparser.NLCRE_bol(??)\nemail.feedparser.NLCRE_crack(??)\nemail.feedparser.NLCRE_eol(??)\nemail.feedparser.NeedMoreData(??)\nemail.feedparser.StringIO(??)\nemail.feedparser.compat32(??)\nemail.feedparser.deque([iterable[, maxlen]]) --> deque object\nemail.feedparser.errors(??)\nemail.feedparser.headerRE(??)\nemail.feedparser.re(??)\nemail.generator(??)\nemail.generator.BytesGenerator(??)\nemail.generator.BytesIO(??)\nemail.generator.DecodedGenerator(??)\nemail.generator.Generator(??)\nemail.generator.NL\nemail.generator.NLCRE(??)\nemail.generator.StringIO(??)\nemail.generator.UNDERSCORE\nemail.generator.deepcopy(??)\nemail.generator.fcre(??)\nemail.generator.random(??)\nemail.generator.re(??)\nemail.generator.sys(??)\nemail.generator.time(??)\nemail.header(??)\nemail.header.BSPACE\nemail.header.Charset(??)\nemail.header.EMPTYSTRING\nemail.header.FWS\nemail.header.Header(??)\nemail.header.HeaderParseError(??)\nemail.header.MAXLINELEN\nemail.header.NL\nemail.header.SPACE\nemail.header.SPACE8\nemail.header.USASCII(??)\nemail.header.UTF8(??)\nemail.header.binascii(??)\nemail.header.decode_header(??)\nemail.header.ecre(??)\nemail.header.email(??)\nemail.header.fcre(??)\nemail.header.make_header(??)\nemail.header.re(??)\nemail.headerregistry(??)\nemail.headerregistry.Address(??)\nemail.headerregistry.AddressHeader(??)\nemail.headerregistry.BaseHeader(??)\nemail.headerregistry.ContentDispositionHeader(??)\nemail.headerregistry.ContentTransferEncodingHeader(??)\nemail.headerregistry.ContentTypeHeader(??)\nemail.headerregistry.DateHeader(??)\nemail.headerregistry.Group(??)\nemail.headerregistry.HeaderRegistry(??)\nemail.headerregistry.MIMEVersionHeader(??)\nemail.headerregistry.MappingProxyType(??)\nemail.headerregistry.MessageIDHeader(??)\nemail.headerregistry.ParameterizedMIMEHeader(??)\nemail.headerregistry.SingleAddressHeader(??)\nemail.headerregistry.UniqueAddressHeader(??)\nemail.headerregistry.UniqueDateHeader(??)\nemail.headerregistry.UniqueSingleAddressHeader(??)\nemail.headerregistry.UniqueUnstructuredHeader(??)\nemail.headerregistry.UnstructuredHeader(??)\nemail.headerregistry.errors(??)\nemail.headerregistry.parser(??)\nemail.headerregistry.utils(??)\nemail.iterators(??)\nemail.iterators.StringIO(??)\nemail.iterators.body_line_iterator(??)\nemail.iterators.sys(??)\nemail.iterators.typed_subpart_iterator(??)\nemail.iterators.walk(??)\nemail.message(??)\nemail.message.BytesIO(??)\nemail.message.Charset(??)\nemail.message.EmailMessage(??)\nemail.message.MIMEPart(??)\nemail.message.Message(??)\nemail.message.Policy(??)\nemail.message.SEMISPACE\nemail.message.StringIO(??)\nemail.message.compat32(??)\nemail.message.decode_b(??)\nemail.message.errors(??)\nemail.message.quopri(??)\nemail.message.re(??)\nemail.message.tspecials(??)\nemail.message.utils(??)\nemail.message.uu(??)\nemail.message_from_binary_file(??)\nemail.message_from_bytes(??)\nemail.message_from_file(??)\nemail.message_from_string(??)\nemail.mime.application.MIMEApplication(??)\nemail.mime.application.MIMENonMultipart(??)\nemail.mime.application.encoders(??)\nemail.mime.audio.BytesIO(??)\nemail.mime.audio.MIMEAudio(??)\nemail.mime.audio.MIMENonMultipart(??)\nemail.mime.audio.encoders(??)\nemail.mime.audio.sndhdr(??)\nemail.mime.base(??)\nemail.mime.base.MIMEBase(??)\nemail.mime.base.email(??)\nemail.mime.base.message(??)\nemail.mime.image.MIMEImage(??)\nemail.mime.image.MIMENonMultipart(??)\nemail.mime.image.encoders(??)\nemail.mime.image.imghdr(??)\nemail.mime.message.MIMEMessage(??)\nemail.mime.message.MIMENonMultipart(??)\nemail.mime.message.message(??)\nemail.mime.multipart(??)\nemail.mime.multipart.MIMEBase(??)\nemail.mime.multipart.MIMEMultipart(??)\nemail.mime.nonmultipart.MIMEBase(??)\nemail.mime.nonmultipart.MIMENonMultipart(??)\nemail.mime.nonmultipart.errors(??)\nemail.mime.text.Charset(??)\nemail.mime.text.MIMENonMultipart(??)\nemail.mime.text.MIMEText(??)\nemail.parser(??)\nemail.parser.BytesFeedParser(??)\nemail.parser.BytesHeaderParser(??)\nemail.parser.BytesParser(??)\nemail.parser.FeedParser(??)\nemail.parser.HeaderParser(??)\nemail.parser.Parser(??)\nemail.parser.StringIO(??)\nemail.parser.TextIOWrapper(??)\nemail.parser.compat32(??)\nemail.policy(??)\nemail.policy.Compat32(??)\nemail.policy.EmailMessage(??)\nemail.policy.EmailPolicy(??)\nemail.policy.HTTP(??)\nemail.policy.HeaderRegistry(??)\nemail.policy.Policy(??)\nemail.policy.SMTP(??)\nemail.policy.SMTPUTF8(??)\nemail.policy.compat32(??)\nemail.policy.default(??)\nemail.policy.linesep_splitter(??)\nemail.policy.raw_data_manager(??)\nemail.policy.re(??)\nemail.policy.strict(??)\nemail.policy.sys(??)\nemail.quoprimime(??)\nemail.quoprimime.CRLF\nemail.quoprimime.EMPTYSTRING\nemail.quoprimime.NL\nemail.quoprimime.ascii_letters\nemail.quoprimime.body_check(??)\nemail.quoprimime.body_decode(??)\nemail.quoprimime.body_encode(??)\nemail.quoprimime.body_length(??)\nemail.quoprimime.c\nemail.quoprimime.decode(??)\nemail.quoprimime.decodestring(??)\nemail.quoprimime.digits\nemail.quoprimime.header_check(??)\nemail.quoprimime.header_decode(??)\nemail.quoprimime.header_encode(??)\nemail.quoprimime.header_length(??)\nemail.quoprimime.hexdigits\nemail.quoprimime.quote(??)\nemail.quoprimime.re(??)\nemail.quoprimime.unquote(??)\nemail.utils(??)\nemail.utils.COMMASPACE\nemail.utils.CRLF\nemail.utils.Charset(??)\nemail.utils.EMPTYSTRING\nemail.utils.TICK\nemail.utils.UEMPTYSTRING\nemail.utils.collapse_rfc2231_value(??)\nemail.utils.datetime(??)\nemail.utils.decode_params(??)\nemail.utils.decode_rfc2231(??)\nemail.utils.encode_rfc2231(??)\nemail.utils.escapesre(??)\nemail.utils.format_datetime(??)\nemail.utils.formataddr(??)\nemail.utils.formatdate(??)\nemail.utils.getaddresses(??)\nemail.utils.localtime(??)\nemail.utils.make_msgid(??)\nemail.utils.mktime_tz(??)\nemail.utils.os(??)\nemail.utils.parseaddr(??)\nemail.utils.parsedate(??)\nemail.utils.parsedate_to_datetime(??)\nemail.utils.parsedate_tz(??)\nemail.utils.quote(??)\nemail.utils.random(??)\nemail.utils.re(??)\nemail.utils.rfc2231_continuation(??)\nemail.utils.socket(??)\nemail.utils.specialsre(??)\nemail.utils.time(??)\nemail.utils.unquote(??)\nemail.utils.urllib(??)\nensurepip.bootstrap(??)\nensurepip.os(??)\nensurepip.resources(??)\nensurepip.runpy(??)\nensurepip.subprocess(??)\nensurepip.sys(??)\nensurepip.tempfile(??)\nensurepip.version(??)\nenum.DynamicClassAttribute(??)\nenum.Enum(??)\nenum.EnumMeta(??)\nenum.Flag(??)\nenum.IntEnum(??)\nenum.IntFlag(??)\nenum.MappingProxyType(??)\nenum.auto(??)\nenum.sys(??)\nenum.unique(??)\nenumerate(??)\nerrno.E2BIG\nerrno.EACCES\nerrno.EADDRINUSE\nerrno.EADDRNOTAVAIL\nerrno.EAFNOSUPPORT\nerrno.EAGAIN\nerrno.EALREADY\nerrno.EAUTH\nerrno.EBADARCH\nerrno.EBADEXEC\nerrno.EBADF\nerrno.EBADMACHO\nerrno.EBADMSG\nerrno.EBADRPC\nerrno.EBUSY\nerrno.ECANCELED\nerrno.ECHILD\nerrno.ECONNABORTED\nerrno.ECONNREFUSED\nerrno.ECONNRESET\nerrno.EDEADLK\nerrno.EDESTADDRREQ\nerrno.EDEVERR\nerrno.EDOM\nerrno.EDQUOT\nerrno.EEXIST\nerrno.EFAULT\nerrno.EFBIG\nerrno.EFTYPE\nerrno.EHOSTDOWN\nerrno.EHOSTUNREACH\nerrno.EIDRM\nerrno.EILSEQ\nerrno.EINPROGRESS\nerrno.EINTR\nerrno.EINVAL\nerrno.EIO\nerrno.EISCONN\nerrno.EISDIR\nerrno.ELOOP\nerrno.EMFILE\nerrno.EMLINK\nerrno.EMSGSIZE\nerrno.EMULTIHOP\nerrno.ENAMETOOLONG\nerrno.ENEEDAUTH\nerrno.ENETDOWN\nerrno.ENETRESET\nerrno.ENETUNREACH\nerrno.ENFILE\nerrno.ENOATTR\nerrno.ENOBUFS\nerrno.ENODATA\nerrno.ENODEV\nerrno.ENOENT\nerrno.ENOEXEC\nerrno.ENOLCK\nerrno.ENOLINK\nerrno.ENOMEM\nerrno.ENOMSG\nerrno.ENOPOLICY\nerrno.ENOPROTOOPT\nerrno.ENOSPC\nerrno.ENOSR\nerrno.ENOSTR\nerrno.ENOSYS\nerrno.ENOTBLK\nerrno.ENOTCONN\nerrno.ENOTDIR\nerrno.ENOTEMPTY\nerrno.ENOTRECOVERABLE\nerrno.ENOTSOCK\nerrno.ENOTSUP\nerrno.ENOTTY\nerrno.ENXIO\nerrno.EOPNOTSUPP\nerrno.EOVERFLOW\nerrno.EOWNERDEAD\nerrno.EPERM\nerrno.EPFNOSUPPORT\nerrno.EPIPE\nerrno.EPROCLIM\nerrno.EPROCUNAVAIL\nerrno.EPROGMISMATCH\nerrno.EPROGUNAVAIL\nerrno.EPROTO\nerrno.EPROTONOSUPPORT\nerrno.EPROTOTYPE\nerrno.EPWROFF\nerrno.ERANGE\nerrno.EREMOTE\nerrno.EROFS\nerrno.ERPCMISMATCH\nerrno.ESHLIBVERS\nerrno.ESHUTDOWN\nerrno.ESOCKTNOSUPPORT\nerrno.ESPIPE\nerrno.ESRCH\nerrno.ESTALE\nerrno.ETIME\nerrno.ETIMEDOUT\nerrno.ETOOMANYREFS\nerrno.ETXTBSY\nerrno.EUSERS\nerrno.EWOULDBLOCK\nerrno.EXDEV\nerrno.errorcode(??)\neval(??)\nexec(??)\nexit(??)\nfaulthandler.cancel_dump_traceback_later():\nfaulthandler.disable(): disable the fault handler\nfaulthandler.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\nfaulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False):\nfaulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler\nfaulthandler.is_enabled()->bool: check if the handler is enabled\nfaulthandler.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\nfaulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register()\nfilecmp.BUFSIZE\nfilecmp.DEFAULT_IGNORES(??)\nfilecmp.GenericAlias(??)\nfilecmp.clear_cache(??)\nfilecmp.cmp(??)\nfilecmp.cmpfiles(??)\nfilecmp.demo(??)\nfilecmp.dircmp(??)\nfilecmp.filterfalse(??)\nfilecmp.os(??)\nfilecmp.stat(??)\nfileinput.FileInput([files[, inplace[, backup]]], *, mode=None, openhook=None)\nfileinput.GenericAlias(??)\nfileinput.close(??)\nfileinput.filelineno(??)\nfileinput.filename(??)\nfileinput.fileno(??)\nfileinput.hook_compressed(??)\nfileinput.hook_encoded(??)\nfileinput.input(??)\nfileinput.isfirstline(??)\nfileinput.isstdin(??)\nfileinput.lineno(??)\nfileinput.nextfile(??)\nfileinput.os(??)\nfileinput.sys(??)\nfilter(function or None, iterable) --> filter object\nfloat(??)\nfnmatch.filter(??)\nfnmatch.fnmatch(??)\nfnmatch.fnmatchcase(??)\nfnmatch.functools(??)\nfnmatch.os(??)\nfnmatch.posixpath(??)\nfnmatch.re(??)\nfnmatch.translate(??)\nformat(??)\nformatter.AS_IS(??)\nformatter.AbstractFormatter(??)\nformatter.AbstractWriter(??)\nformatter.DumbWriter(??)\nformatter.NullFormatter(??)\nformatter.NullWriter(??)\nformatter.sys(??)\nformatter.test(??)\nformatter.warnings(??)\nfractions.Decimal(??)\nfractions.Fraction(??)\nfractions.math(??)\nfractions.numbers(??)\nfractions.operator(??)\nfractions.re(??)\nfractions.sys(??)\nfrozenset() -> empty frozenset object\nftplib.B_CRLF\nftplib.CRLF\nftplib.Error(??)\nftplib.FTP(??)\nftplib.FTP_PORT\nftplib.FTP_TLS(??)\nftplib.MAXLINE\nftplib.MSG_OOB\nftplib.all_errors(??)\nftplib.error_perm(??)\nftplib.error_proto(??)\nftplib.error_reply(??)\nftplib.error_temp(??)\nftplib.ftpcp(??)\nftplib.parse150(??)\nftplib.parse227(??)\nftplib.parse229(??)\nftplib.parse257(??)\nftplib.print_line(??)\nftplib.socket(??)\nftplib.ssl(??)\nftplib.sys(??)\nftplib.test(??)\nfunctools.GenericAlias(??)\nfunctools.RLock(??)\nfunctools.WRAPPER_ASSIGNMENTS(??)\nfunctools.WRAPPER_UPDATES(??)\nfunctools.cache(??)\nfunctools.cached_property(??)\nfunctools.cmp_to_key(??)\nfunctools.get_cache_token(??)\nfunctools.lru_cache(??)\nfunctools.namedtuple(??)\nfunctools.partial(func, *args, **keywords) - new function with partial application\nfunctools.partialmethod(??)\nfunctools.recursive_repr(??)\nfunctools.reduce(function, sequence[, initial]) -> value\nfunctools.singledispatch(??)\nfunctools.singledispatchmethod(??)\nfunctools.total_ordering(??)\nfunctools.update_wrapper(??)\nfunctools.wraps(??)\ngc.DEBUG_COLLECTABLE\ngc.DEBUG_LEAK\ngc.DEBUG_SAVEALL\ngc.DEBUG_STATS\ngc.DEBUG_UNCOLLECTABLE\ngc.callbacks(??)\ngc.collect(??)\ngc.disable(??)\ngc.enable(??)\ngc.freeze(??)\ngc.garbage(??)\ngc.get_count(??)\ngc.get_debug(??)\ngc.get_freeze_count(??)\ngc.get_objects(??)\ngc.get_referents(*objs) -> list\ngc.get_referrers(*objs) -> list\ngc.get_stats(??)\ngc.get_threshold(??)\ngc.is_finalized(??)\ngc.is_tracked(??)\ngc.isenabled(??)\ngc.set_debug(??)\ngc.set_threshold(threshold0, [threshold1, threshold2]) -> None\ngc.unfreeze(??)\ngenericpath.commonprefix(??)\ngenericpath.exists(??)\ngenericpath.getatime(??)\ngenericpath.getctime(??)\ngenericpath.getmtime(??)\ngenericpath.getsize(??)\ngenericpath.isdir(??)\ngenericpath.isfile(??)\ngenericpath.os(??)\ngenericpath.samefile(??)\ngenericpath.sameopenfile(??)\ngenericpath.samestat(??)\ngenericpath.stat(??)\ngetattr(object, name[, default]) -> value\ngetopt.GetoptError(??)\ngetopt.do_longs(??)\ngetopt.do_shorts(??)\ngetopt.error(??)\ngetopt.getopt(args, options[, long_options]) -> opts, args\ngetopt.gnu_getopt(??)\ngetopt.long_has_args(??)\ngetopt.os(??)\ngetopt.short_has_arg(??)\ngetpass.GetPassWarning(??)\ngetpass.contextlib(??)\ngetpass.fallback_getpass(??)\ngetpass.getpass(??)\ngetpass.getuser(??)\ngetpass.io(??)\ngetpass.os(??)\ngetpass.sys(??)\ngetpass.termios(??)\ngetpass.unix_getpass(??)\ngetpass.warnings(??)\ngetpass.win_getpass(??)\ngettext.Catalog(??)\ngettext.GNUTranslations(??)\ngettext.NullTranslations(??)\ngettext.bind_textdomain_codeset(??)\ngettext.bindtextdomain(??)\ngettext.c2py(??)\ngettext.dgettext(??)\ngettext.dngettext(??)\ngettext.dnpgettext(??)\ngettext.dpgettext(??)\ngettext.find(??)\ngettext.gettext(??)\ngettext.install(??)\ngettext.ldgettext(??)\ngettext.ldngettext(??)\ngettext.lgettext(??)\ngettext.lngettext(??)\ngettext.ngettext(??)\ngettext.npgettext(??)\ngettext.os(??)\ngettext.pgettext(??)\ngettext.re(??)\ngettext.sys(??)\ngettext.textdomain(??)\ngettext.translation(??)\nglob.escape(??)\nglob.fnmatch(??)\nglob.glob(??)\nglob.glob0(??)\nglob.glob1(??)\nglob.has_magic(??)\nglob.iglob(??)\nglob.magic_check(??)\nglob.magic_check_bytes(??)\nglob.os(??)\nglob.re(??)\nglob.sys(??)\nglobals(??)\ngraphlib.CycleError(??)\ngraphlib.TopologicalSorter(??)\ngzip.BadGzipFile(??)\ngzip.FCOMMENT\ngzip.FEXTRA\ngzip.FHCRC\ngzip.FNAME\ngzip.FTEXT\ngzip.GzipFile(??)\ngzip.READ\ngzip.WRITE\ngzip.builtins(??)\ngzip.compress(??)\ngzip.decompress(??)\ngzip.io(??)\ngzip.main(??)\ngzip.open(??)\ngzip.os(??)\ngzip.struct(??)\ngzip.sys(??)\ngzip.time(??)\ngzip.write32u(??)\ngzip.zlib(??)\nhasattr(??)\nhash(??)\nhashlib.algorithms_available(??)\nhashlib.algorithms_guaranteed(??)\nhashlib.blake2b(??)\nhashlib.blake2s(??)\nhashlib.md5(??)\nhashlib.new(name, data=b'') - Return a new hashing object using the named algorithm;\nhashlib.pbkdf2_hmac(??)\nhashlib.scrypt(??)\nhashlib.sha1(??)\nhashlib.sha224(??)\nhashlib.sha256(??)\nhashlib.sha384(??)\nhashlib.sha3_224(??)\nhashlib.sha3_256(??)\nhashlib.sha3_384(??)\nhashlib.sha3_512(??)\nhashlib.sha512(??)\nhashlib.shake_128(??)\nhashlib.shake_256(??)\nheapq.heapify(??)\nheapq.heappop(??)\nheapq.heappush(??)\nheapq.heappushpop(??)\nheapq.heapreplace(??)\nheapq.merge(??)\nheapq.nlargest(??)\nheapq.nsmallest(??)\nhelp(??)\nhex(??)\nhmac.HMAC(??)\nhmac.compare_digest(??)\nhmac.digest(??)\nhmac.digest_size(??)\nhmac.new(??)\nhmac.trans_36\nhmac.trans_5C\nhtml.entities(??)\nhtml.entities.codepoint2name(??)\nhtml.entities.entitydefs(??)\nhtml.entities.html5(??)\nhtml.entities.name2codepoint(??)\nhtml.escape(??)\nhtml.parser.HTMLParser(??)\nhtml.parser.attrfind_tolerant(??)\nhtml.parser.charref(??)\nhtml.parser.commentclose(??)\nhtml.parser.endendtag(??)\nhtml.parser.endtagfind(??)\nhtml.parser.entityref(??)\nhtml.parser.incomplete(??)\nhtml.parser.interesting_normal(??)\nhtml.parser.locatestarttagend_tolerant(??)\nhtml.parser.piclose(??)\nhtml.parser.re(??)\nhtml.parser.starttagopen(??)\nhtml.parser.tagfind_tolerant(??)\nhtml.parser.unescape(??)\nhtml.unescape(??)\nhttp.HTTPStatus(??)\nhttp.IntEnum(??)\nhttp.client(??)\nhttp.client.ACCEPTED(??)\nhttp.client.ALREADY_REPORTED(??)\nhttp.client.BAD_GATEWAY(??)\nhttp.client.BAD_REQUEST(??)\nhttp.client.BadStatusLine(??)\nhttp.client.CONFLICT(??)\nhttp.client.CONTINUE(??)\nhttp.client.CREATED(??)\nhttp.client.CannotSendHeader(??)\nhttp.client.CannotSendRequest(??)\nhttp.client.EARLY_HINTS(??)\nhttp.client.EXPECTATION_FAILED(??)\nhttp.client.FAILED_DEPENDENCY(??)\nhttp.client.FORBIDDEN(??)\nhttp.client.FOUND(??)\nhttp.client.GATEWAY_TIMEOUT(??)\nhttp.client.GONE(??)\nhttp.client.HTTPConnection(??)\nhttp.client.HTTPException(??)\nhttp.client.HTTPMessage(??)\nhttp.client.HTTPResponse(??)\nhttp.client.HTTPSConnection(??)\nhttp.client.HTTPS_PORT\nhttp.client.HTTP_PORT\nhttp.client.HTTP_VERSION_NOT_SUPPORTED(??)\nhttp.client.IM_A_TEAPOT(??)\nhttp.client.IM_USED(??)\nhttp.client.INSUFFICIENT_STORAGE(??)\nhttp.client.INTERNAL_SERVER_ERROR(??)\nhttp.client.ImproperConnectionState(??)\nhttp.client.IncompleteRead(??)\nhttp.client.InvalidURL(??)\nhttp.client.LENGTH_REQUIRED(??)\nhttp.client.LOCKED(??)\nhttp.client.LOOP_DETECTED(??)\nhttp.client.LineTooLong(??)\nhttp.client.METHOD_NOT_ALLOWED(??)\nhttp.client.MISDIRECTED_REQUEST(??)\nhttp.client.MOVED_PERMANENTLY(??)\nhttp.client.MULTIPLE_CHOICES(??)\nhttp.client.MULTI_STATUS(??)\nhttp.client.NETWORK_AUTHENTICATION_REQUIRED(??)\nhttp.client.NON_AUTHORITATIVE_INFORMATION(??)\nhttp.client.NOT_ACCEPTABLE(??)\nhttp.client.NOT_EXTENDED(??)\nhttp.client.NOT_FOUND(??)\nhttp.client.NOT_IMPLEMENTED(??)\nhttp.client.NOT_MODIFIED(??)\nhttp.client.NO_CONTENT(??)\nhttp.client.NotConnected(??)\nhttp.client.OK(??)\nhttp.client.PARTIAL_CONTENT(??)\nhttp.client.PAYMENT_REQUIRED(??)\nhttp.client.PERMANENT_REDIRECT(??)\nhttp.client.PRECONDITION_FAILED(??)\nhttp.client.PRECONDITION_REQUIRED(??)\nhttp.client.PROCESSING(??)\nhttp.client.PROXY_AUTHENTICATION_REQUIRED(??)\nhttp.client.REQUESTED_RANGE_NOT_SATISFIABLE(??)\nhttp.client.REQUEST_ENTITY_TOO_LARGE(??)\nhttp.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??)\nhttp.client.REQUEST_TIMEOUT(??)\nhttp.client.REQUEST_URI_TOO_LONG(??)\nhttp.client.RESET_CONTENT(??)\nhttp.client.RemoteDisconnected(??)\nhttp.client.ResponseNotReady(??)\nhttp.client.SEE_OTHER(??)\nhttp.client.SERVICE_UNAVAILABLE(??)\nhttp.client.SWITCHING_PROTOCOLS(??)\nhttp.client.TEMPORARY_REDIRECT(??)\nhttp.client.TOO_EARLY(??)\nhttp.client.TOO_MANY_REQUESTS(??)\nhttp.client.UNAUTHORIZED(??)\nhttp.client.UNAVAILABLE_FOR_LEGAL_REASONS(??)\nhttp.client.UNPROCESSABLE_ENTITY(??)\nhttp.client.UNSUPPORTED_MEDIA_TYPE(??)\nhttp.client.UPGRADE_REQUIRED(??)\nhttp.client.USE_PROXY(??)\nhttp.client.UnimplementedFileMode(??)\nhttp.client.UnknownProtocol(??)\nhttp.client.UnknownTransferEncoding(??)\nhttp.client.VARIANT_ALSO_NEGOTIATES(??)\nhttp.client.collections(??)\nhttp.client.email(??)\nhttp.client.error(??)\nhttp.client.http(??)\nhttp.client.io(??)\nhttp.client.parse_headers(??)\nhttp.client.re(??)\nhttp.client.responses(??)\nhttp.client.socket(??)\nhttp.client.ssl(??)\nhttp.client.urlsplit(??)\nhttp.cookiejar.Absent(??)\nhttp.cookiejar.Cookie(??)\nhttp.cookiejar.CookieJar(??)\nhttp.cookiejar.CookiePolicy(??)\nhttp.cookiejar.DAYS(??)\nhttp.cookiejar.DEFAULT_HTTP_PORT\nhttp.cookiejar.DefaultCookiePolicy(??)\nhttp.cookiejar.EPOCH_YEAR\nhttp.cookiejar.ESCAPED_CHAR_RE(??)\nhttp.cookiejar.FileCookieJar(??)\nhttp.cookiejar.HEADER_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_JOIN_ESCAPE_RE(??)\nhttp.cookiejar.HEADER_QUOTED_VALUE_RE(??)\nhttp.cookiejar.HEADER_TOKEN_RE(??)\nhttp.cookiejar.HEADER_VALUE_RE(??)\nhttp.cookiejar.HTTP_PATH_SAFE\nhttp.cookiejar.IPV4_RE(??)\nhttp.cookiejar.ISO_DATE_RE(??)\nhttp.cookiejar.LOOSE_HTTP_DATE_RE(??)\nhttp.cookiejar.LWPCookieJar(??)\nhttp.cookiejar.LoadError(??)\nhttp.cookiejar.MISSING_FILENAME_TEXT\nhttp.cookiejar.MONTHS(??)\nhttp.cookiejar.MONTHS_LOWER(??)\nhttp.cookiejar.MozillaCookieJar(??)\nhttp.cookiejar.STRICT_DATE_RE(??)\nhttp.cookiejar.TIMEZONE_RE(??)\nhttp.cookiejar.UTC_ZONES(??)\nhttp.cookiejar.WEEKDAY_RE(??)\nhttp.cookiejar.copy(??)\nhttp.cookiejar.cut_port_re(??)\nhttp.cookiejar.datetime(??)\nhttp.cookiejar.debug(??)\nhttp.cookiejar.deepvalues(??)\nhttp.cookiejar.domain_match(??)\nhttp.cookiejar.eff_request_host(??)\nhttp.cookiejar.escape_path(??)\nhttp.cookiejar.http(??)\nhttp.cookiejar.http2time(??)\nhttp.cookiejar.is_HDN(??)\nhttp.cookiejar.is_third_party(??)\nhttp.cookiejar.iso2time(??)\nhttp.cookiejar.join_header_words(??)\nhttp.cookiejar.liberal_is_HDN(??)\nhttp.cookiejar.logger(??)\nhttp.cookiejar.lwp_cookie_str(??)\nhttp.cookiejar.month\nhttp.cookiejar.offset_from_tz_string(??)\nhttp.cookiejar.os(??)\nhttp.cookiejar.parse_ns_headers(??)\nhttp.cookiejar.re(??)\nhttp.cookiejar.reach(??)\nhttp.cookiejar.request_host(??)\nhttp.cookiejar.request_path(??)\nhttp.cookiejar.request_port(??)\nhttp.cookiejar.split_header_words(??)\nhttp.cookiejar.strip_quotes(??)\nhttp.cookiejar.time(??)\nhttp.cookiejar.time2isoz(??)\nhttp.cookiejar.time2netscape(??)\nhttp.cookiejar.timegm(??)\nhttp.cookiejar.unmatched(??)\nhttp.cookiejar.uppercase_escaped_char(??)\nhttp.cookiejar.urllib(??)\nhttp.cookiejar.user_domain_match(??)\nhttp.cookiejar.vals_sorted_by_key(??)\nhttp.cookies(??)\nhttp.cookies.BaseCookie(??)\nhttp.cookies.CookieError(??)\nhttp.cookies.Morsel(??)\nhttp.cookies.SimpleCookie(??)\nhttp.cookies.re(??)\nhttp.cookies.string(??)\nhttp.cookies.types(??)\nhttp.server(??)\nhttp.server.BaseHTTPRequestHandler(??)\nhttp.server.CGIHTTPRequestHandler(??)\nhttp.server.DEFAULT_ERROR_CONTENT_TYPE\nhttp.server.DEFAULT_ERROR_MESSAGE\nhttp.server.HTTPServer(??)\nhttp.server.HTTPStatus(??)\nhttp.server.SimpleHTTPRequestHandler(??)\nhttp.server.ThreadingHTTPServer(??)\nhttp.server.contextlib(??)\nhttp.server.copy(??)\nhttp.server.datetime(??)\nhttp.server.email(??)\nhttp.server.executable(??)\nhttp.server.html(??)\nhttp.server.http(??)\nhttp.server.io(??)\nhttp.server.mimetypes(??)\nhttp.server.nobody(??)\nhttp.server.nobody_uid(??)\nhttp.server.os(??)\nhttp.server.partial(func, *args, **keywords) - new function with partial application\nhttp.server.posixpath(??)\nhttp.server.select(??)\nhttp.server.shutil(??)\nhttp.server.socket(??)\nhttp.server.socketserver(??)\nhttp.server.sys(??)\nhttp.server.test(??)\nhttp.server.time(??)\nhttp.server.urllib(??)\nid(??)\nimaplib.AllowedVersions(??)\nimaplib.CRLF\nimaplib.Commands(??)\nimaplib.Continuation(??)\nimaplib.DEFAULT_BUFFER_SIZE\nimaplib.Debug\nimaplib.Flags(??)\nimaplib.HAVE_SSL(??)\nimaplib.IMAP4(??)\nimaplib.IMAP4_PORT\nimaplib.IMAP4_SSL(??)\nimaplib.IMAP4_SSL_PORT\nimaplib.IMAP4_stream(??)\nimaplib.Int2AP(??)\nimaplib.InternalDate(??)\nimaplib.Internaldate2tuple(??)\nimaplib.Literal(??)\nimaplib.MapCRLF(??)\nimaplib.Mon2num(??)\nimaplib.Months(??)\nimaplib.ParseFlags(??)\nimaplib.Response_code(??)\nimaplib.Time2Internaldate(??)\nimaplib.Untagged_response(??)\nimaplib.Untagged_status(??)\nimaplib.binascii(??)\nimaplib.calendar(??)\nimaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nimaplib.errno(??)\nimaplib.random(??)\nimaplib.re(??)\nimaplib.socket(??)\nimaplib.ssl(??)\nimaplib.subprocess(??)\nimaplib.sys(??)\nimaplib.time(??)\nimaplib.timedelta(??)\nimaplib.timezone(??)\nimghdr.PathLike(??)\nimghdr.test(??)\nimghdr.test_bmp(??)\nimghdr.test_exr(??)\nimghdr.test_gif(??)\nimghdr.test_jpeg(??)\nimghdr.test_pbm(??)\nimghdr.test_pgm(??)\nimghdr.test_png(??)\nimghdr.test_ppm(??)\nimghdr.test_rast(??)\nimghdr.test_rgb(??)\nimghdr.test_tiff(??)\nimghdr.test_webp(??)\nimghdr.test_xbm(??)\nimghdr.testall(??)\nimghdr.tests(??)\nimghdr.what(??)\nimp.C_BUILTIN\nimp.C_EXTENSION\nimp.IMP_HOOK\nimp.NullImporter(??)\nimp.PKG_DIRECTORY\nimp.PY_CODERESOURCE\nimp.PY_COMPILED\nimp.PY_FROZEN\nimp.PY_RESOURCE\nimp.PY_SOURCE\nimp.SEARCH_ERROR\nimp.SourcelessFileLoader(??)\nimp.acquire_lock(??)\nimp.cache_from_source(??)\nimp.create_dynamic(??)\nimp.find_module(??)\nimp.get_frozen_object(??)\nimp.get_magic(??)\nimp.get_suffixes(??)\nimp.get_tag(??)\nimp.importlib(??)\nimp.init_builtin(??)\nimp.init_frozen(??)\nimp.is_builtin(??)\nimp.is_frozen(??)\nimp.is_frozen_package(??)\nimp.load_compiled(??)\nimp.load_dynamic(??)\nimp.load_module(??)\nimp.load_package(??)\nimp.load_source(??)\nimp.lock_held(??)\nimp.machinery(??)\nimp.new_module(??)\nimp.os(??)\nimp.release_lock(??)\nimp.reload(??)\nimp.source_from_cache(??)\nimp.sys(??)\nimp.tokenize(??)\nimp.types(??)\nimp.util(??)\nimp.warnings(??)\nimportlib.abc(??)\nimportlib.abc.ExecutionLoader(??)\nimportlib.abc.FileLoader(??)\nimportlib.abc.Finder(??)\nimportlib.abc.InspectLoader(??)\nimportlib.abc.Loader(??)\nimportlib.abc.MetaPathFinder(??)\nimportlib.abc.PathEntryFinder(??)\nimportlib.abc.Protocol(??)\nimportlib.abc.ResourceLoader(??)\nimportlib.abc.ResourceReader(??)\nimportlib.abc.SourceLoader(??)\nimportlib.abc.Traversable(??)\nimportlib.abc.TraversableResources(??)\nimportlib.abc.abc(??)\nimportlib.abc.machinery(??)\nimportlib.abc.runtime_checkable(??)\nimportlib.abc.warnings(??)\nimportlib.find_loader(??)\nimportlib.import_module(??)\nimportlib.invalidate_caches(??)\nimportlib.machinery(??)\nimportlib.machinery.BYTECODE_SUFFIXES(??)\nimportlib.machinery.BuiltinImporter(??)\nimportlib.machinery.DEBUG_BYTECODE_SUFFIXES(??)\nimportlib.machinery.EXTENSION_SUFFIXES(??)\nimportlib.machinery.ExtensionFileLoader(??)\nimportlib.machinery.FileFinder(??)\nimportlib.machinery.FrozenImporter(??)\nimportlib.machinery.ModuleSpec(??)\nimportlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??)\nimportlib.machinery.PathFinder(??)\nimportlib.machinery.SOURCE_SUFFIXES(??)\nimportlib.machinery.SourceFileLoader(??)\nimportlib.machinery.SourcelessFileLoader(??)\nimportlib.machinery.WindowsRegistryFinder(??)\nimportlib.machinery.all_suffixes(??)\nimportlib.metadata(??)\nimportlib.metadata.ConfigParser(??)\nimportlib.metadata.Distribution(??)\nimportlib.metadata.DistributionFinder(??)\nimportlib.metadata.EntryPoint(??)\nimportlib.metadata.FastPath(??)\nimportlib.metadata.FileHash(??)\nimportlib.metadata.MetaPathFinder(??)\nimportlib.metadata.MetadataPathFinder(??)\nimportlib.metadata.PackageNotFoundError(??)\nimportlib.metadata.PackagePath(??)\nimportlib.metadata.PathDistribution(??)\nimportlib.metadata.Prepared(??)\nimportlib.metadata.abc(??)\nimportlib.metadata.collections(??)\nimportlib.metadata.csv(??)\nimportlib.metadata.distribution(??)\nimportlib.metadata.distributions(??)\nimportlib.metadata.email(??)\nimportlib.metadata.entry_points(??)\nimportlib.metadata.files(??)\nimportlib.metadata.functools(??)\nimportlib.metadata.import_module(??)\nimportlib.metadata.io(??)\nimportlib.metadata.itertools(??)\nimportlib.metadata.metadata(??)\nimportlib.metadata.operator(??)\nimportlib.metadata.os(??)\nimportlib.metadata.pathlib(??)\nimportlib.metadata.posixpath(??)\nimportlib.metadata.re(??)\nimportlib.metadata.requires(??)\nimportlib.metadata.starmap(??)\nimportlib.metadata.suppress(??)\nimportlib.metadata.sys(??)\nimportlib.metadata.version(??)\nimportlib.metadata.zipfile(??)\nimportlib.reload(??)\nimportlib.resources(??)\nimportlib.resources.BinaryIO(??)\nimportlib.resources.BytesIO(??)\nimportlib.resources.ContextManager(??)\nimportlib.resources.Iterable(??)\nimportlib.resources.ModuleType(??)\nimportlib.resources.Optional(??)\nimportlib.resources.Package(??)\nimportlib.resources.Path(??)\nimportlib.resources.Resource(??)\nimportlib.resources.ResourceLoader(??)\nimportlib.resources.TextIO(??)\nimportlib.resources.TextIOWrapper(??)\nimportlib.resources.Union(??)\nimportlib.resources.as_file(??)\nimportlib.resources.cast(??)\nimportlib.resources.contents(??)\nimportlib.resources.contextmanager(??)\nimportlib.resources.files(??)\nimportlib.resources.import_module(??)\nimportlib.resources.is_resource(??)\nimportlib.resources.open_binary(??)\nimportlib.resources.open_text(??)\nimportlib.resources.os(??)\nimportlib.resources.path(??)\nimportlib.resources.read_binary(??)\nimportlib.resources.read_text(??)\nimportlib.resources.resources_abc(??)\nimportlib.resources.suppress(??)\nimportlib.sys(??)\nimportlib.types(??)\nimportlib.util(??)\nimportlib.util.LazyLoader(??)\nimportlib.util.MAGIC_NUMBER\nimportlib.util.abc(??)\nimportlib.util.cache_from_source(??)\nimportlib.util.contextmanager(??)\nimportlib.util.decode_source(??)\nimportlib.util.find_spec(??)\nimportlib.util.functools(??)\nimportlib.util.module_for_loader(??)\nimportlib.util.module_from_spec(??)\nimportlib.util.resolve_name(??)\nimportlib.util.set_loader(??)\nimportlib.util.set_package(??)\nimportlib.util.source_from_cache(??)\nimportlib.util.source_hash(??)\nimportlib.util.spec_from_file_location(??)\nimportlib.util.spec_from_loader(??)\nimportlib.util.sys(??)\nimportlib.util.types(??)\nimportlib.util.warnings(??)\nimportlib.warnings(??)\ninput(??)\ninspect.ArgInfo(args, varargs, keywords, locals)\ninspect.ArgSpec(args, varargs, keywords, defaults)\ninspect.Arguments(args, varargs, varkw)\ninspect.Attribute(name, kind, defining_class, object)\ninspect.BlockFinder(??)\ninspect.BoundArguments(??)\ninspect.CORO_CLOSED\ninspect.CORO_CREATED\ninspect.CORO_RUNNING\ninspect.CORO_SUSPENDED\ninspect.CO_ASYNC_GENERATOR\ninspect.CO_COROUTINE\ninspect.CO_GENERATOR\ninspect.CO_ITERABLE_COROUTINE\ninspect.CO_NESTED\ninspect.CO_NEWLOCALS\ninspect.CO_NOFREE\ninspect.CO_OPTIMIZED\ninspect.CO_VARARGS\ninspect.CO_VARKEYWORDS\ninspect.ClassFoundException(??)\ninspect.ClosureVars(nonlocals, globals, builtins, unbound)\ninspect.EndOfBlock(??)\ninspect.FrameInfo(frame, filename, lineno, function, code_context, index)\ninspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)\ninspect.GEN_CLOSED\ninspect.GEN_CREATED\ninspect.GEN_RUNNING\ninspect.GEN_SUSPENDED\ninspect.OrderedDict(??)\ninspect.Parameter(??)\ninspect.Signature(??)\ninspect.TPFLAGS_IS_ABSTRACT\ninspect.Traceback(filename, lineno, function, code_context, index)\ninspect.abc(??)\ninspect.ast(??)\ninspect.attrgetter(attr, ...) --> attrgetter object\ninspect.builtins(??)\ninspect.classify_class_attrs(??)\ninspect.cleandoc(??)\ninspect.collections(??)\ninspect.currentframe(??)\ninspect.dis(??)\ninspect.enum(??)\ninspect.findsource(??)\ninspect.formatannotation(??)\ninspect.formatannotationrelativeto(??)\ninspect.formatargspec(??)\ninspect.formatargvalues(??)\ninspect.functools(??)\ninspect.getabsfile(??)\ninspect.getargs(??)\ninspect.getargspec(??)\ninspect.getargvalues(??)\ninspect.getattr_static(??)\ninspect.getblock(??)\ninspect.getcallargs(??)\ninspect.getclasstree(??)\ninspect.getclosurevars(??)\ninspect.getcomments(??)\ninspect.getcoroutinelocals(??)\ninspect.getcoroutinestate(??)\ninspect.getdoc(??)\ninspect.getfile(??)\ninspect.getframeinfo(??)\ninspect.getfullargspec(??)\ninspect.getgeneratorlocals(??)\ninspect.getgeneratorstate(??)\ninspect.getinnerframes(??)\ninspect.getlineno(??)\ninspect.getmembers(??)\ninspect.getmodule(??)\ninspect.getmodulename(??)\ninspect.getmro(??)\ninspect.getouterframes(??)\ninspect.getsource(??)\ninspect.getsourcefile(??)\ninspect.getsourcelines(??)\ninspect.importlib(??)\ninspect.indentsize(??)\ninspect.isabstract(??)\ninspect.isasyncgen(??)\ninspect.isasyncgenfunction(??)\ninspect.isawaitable(??)\ninspect.isbuiltin(??)\ninspect.isclass(??)\ninspect.iscode(??)\ninspect.iscoroutine(??)\ninspect.iscoroutinefunction(??)\ninspect.isdatadescriptor(??)\ninspect.isframe(??)\ninspect.isfunction(??)\ninspect.isgenerator(??)\ninspect.isgeneratorfunction(??)\ninspect.isgetsetdescriptor(??)\ninspect.ismemberdescriptor(??)\ninspect.ismethod(??)\ninspect.ismethoddescriptor(??)\ninspect.ismodule(??)\ninspect.isroutine(??)\ninspect.istraceback(??)\ninspect.itertools(??)\ninspect.k\ninspect.linecache(??)\ninspect.mod_dict(??)\ninspect.modulesbyfile(??)\ninspect.namedtuple(??)\ninspect.os(??)\ninspect.re(??)\ninspect.signature(??)\ninspect.stack(??)\ninspect.sys(??)\ninspect.token(??)\ninspect.tokenize(??)\ninspect.trace(??)\ninspect.types(??)\ninspect.unwrap(??)\ninspect.v\ninspect.walktree(??)\ninspect.warnings(??)\nint([x]) -> integer\nio.BlockingIOError(??)\nio.BufferedIOBase(??)\nio.BufferedRWPair(??)\nio.BufferedRandom(??)\nio.BufferedReader(??)\nio.BufferedWriter(??)\nio.BytesIO(??)\nio.DEFAULT_BUFFER_SIZE\nio.FileIO(??)\nio.IOBase(??)\nio.IncrementalNewlineDecoder(??)\nio.OpenWrapper(??)\nio.RawIOBase(??)\nio.SEEK_CUR\nio.SEEK_END\nio.SEEK_SET\nio.StringIO(??)\nio.TextIOBase(??)\nio.TextIOWrapper(??)\nio.UnsupportedOperation(??)\nio.abc(??)\nio.open(??)\nio.open_code(??)\nipaddress.AddressValueError(??)\nipaddress.IPV4LENGTH\nipaddress.IPV6LENGTH\nipaddress.IPv4Address(??)\nipaddress.IPv4Interface(??)\nipaddress.IPv4Network(??)\nipaddress.IPv6Address(??)\nipaddress.IPv6Interface(??)\nipaddress.IPv6Network(??)\nipaddress.NetmaskValueError(??)\nipaddress.collapse_addresses(??)\nipaddress.functools(??)\nipaddress.get_mixed_type_key(??)\nipaddress.ip_address(??)\nipaddress.ip_interface(??)\nipaddress.ip_network(??)\nipaddress.summarize_address_range(??)\nipaddress.v4_int_to_packed(??)\nipaddress.v6_int_to_packed(??)\nisinstance(??)\nissubclass(??)\niter(iterable) -> iterator\nitertools.accumulate(??)\nitertools.chain(*iterables) --> chain object\nitertools.combinations(??)\nitertools.combinations_with_replacement(??)\nitertools.compress(??)\nitertools.count(??)\nitertools.cycle(??)\nitertools.dropwhile(??)\nitertools.filterfalse(??)\nitertools.groupby(??)\nitertools.islice(iterable, stop) --> islice object\nitertools.permutations(??)\nitertools.product(*iterables, repeat=1) --> product object\nitertools.repeat(object [,times]) -> create an iterator which returns the object\nitertools.starmap(??)\nitertools.takewhile(??)\nitertools.tee(??)\nitertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\njson.JSONDecodeError(??)\njson.JSONDecoder(??)\njson.JSONEncoder(??)\njson.codecs(??)\njson.decoder(??)\njson.decoder.BACKSLASH(??)\njson.decoder.FLAGS(??)\njson.decoder.JSONArray(??)\njson.decoder.JSONDecodeError(??)\njson.decoder.JSONDecoder(??)\njson.decoder.JSONObject(??)\njson.decoder.NaN\njson.decoder.NegInf\njson.decoder.PosInf\njson.decoder.STRINGCHUNK(??)\njson.decoder.WHITESPACE(??)\njson.decoder.WHITESPACE_STR\njson.decoder.c_scanstring(??)\njson.decoder.py_scanstring(??)\njson.decoder.re(??)\njson.decoder.scanner(??)\njson.decoder.scanstring(string, end, strict=True) -> (string, end)\njson.detect_encoding(??)\njson.dump(??)\njson.dumps(??)\njson.encoder(??)\njson.encoder.ESCAPE(??)\njson.encoder.ESCAPE_ASCII(??)\njson.encoder.ESCAPE_DCT(??)\njson.encoder.HAS_UTF8(??)\njson.encoder.INFINITY\njson.encoder.JSONEncoder(??)\njson.encoder.c_encode_basestring(??)\njson.encoder.c_encode_basestring_ascii(??)\njson.encoder.c_make_encoder(??)\njson.encoder.encode_basestring(string) -> string\njson.encoder.encode_basestring_ascii(string) -> string\njson.encoder.i\njson.encoder.py_encode_basestring(??)\njson.encoder.py_encode_basestring_ascii(??)\njson.encoder.re(??)\njson.load(??)\njson.loads(??)\njson.scanner(??)\njson.scanner.NUMBER_RE(??)\njson.scanner.c_make_scanner(??)\njson.scanner.make_scanner(??)\njson.scanner.py_make_scanner(??)\njson.scanner.re(??)\njson.tool.argparse(??)\njson.tool.json(??)\njson.tool.main(??)\njson.tool.sys(??)\nkeyword.iskeyword(??)\nkeyword.issoftkeyword(??)\nkeyword.kwlist(??)\nkeyword.softkwlist(??)\nlen(??)\nlicense(??)\nlinecache.cache(??)\nlinecache.checkcache(??)\nlinecache.clearcache(??)\nlinecache.functools(??)\nlinecache.getline(??)\nlinecache.getlines(??)\nlinecache.lazycache(??)\nlinecache.os(??)\nlinecache.sys(??)\nlinecache.tokenize(??)\nlinecache.updatecache(??)\nlist(??)\nlocale.ABDAY_1\nlocale.ABDAY_2\nlocale.ABDAY_3\nlocale.ABDAY_4\nlocale.ABDAY_5\nlocale.ABDAY_6\nlocale.ABDAY_7\nlocale.ABMON_1\nlocale.ABMON_10\nlocale.ABMON_11\nlocale.ABMON_12\nlocale.ABMON_2\nlocale.ABMON_3\nlocale.ABMON_4\nlocale.ABMON_5\nlocale.ABMON_6\nlocale.ABMON_7\nlocale.ABMON_8\nlocale.ABMON_9\nlocale.ALT_DIGITS\nlocale.AM_STR\nlocale.CHAR_MAX\nlocale.CODESET\nlocale.CRNCYSTR\nlocale.DAY_1\nlocale.DAY_2\nlocale.DAY_3\nlocale.DAY_4\nlocale.DAY_5\nlocale.DAY_6\nlocale.DAY_7\nlocale.D_FMT\nlocale.D_T_FMT\nlocale.ERA\nlocale.ERA_D_FMT\nlocale.ERA_D_T_FMT\nlocale.ERA_T_FMT\nlocale.Error(??)\nlocale.LC_ALL\nlocale.LC_COLLATE\nlocale.LC_CTYPE\nlocale.LC_MESSAGES\nlocale.LC_MONETARY\nlocale.LC_NUMERIC\nlocale.LC_TIME\nlocale.MON_1\nlocale.MON_10\nlocale.MON_11\nlocale.MON_12\nlocale.MON_2\nlocale.MON_3\nlocale.MON_4\nlocale.MON_5\nlocale.MON_6\nlocale.MON_7\nlocale.MON_8\nlocale.MON_9\nlocale.NOEXPR\nlocale.PM_STR\nlocale.RADIXCHAR\nlocale.THOUSEP\nlocale.T_FMT\nlocale.T_FMT_AMPM\nlocale.YESEXPR\nlocale.atof(??)\nlocale.atoi(??)\nlocale.currency(??)\nlocale.delocalize(??)\nlocale.encodings(??)\nlocale.format(??)\nlocale.format_string(??)\nlocale.functools(??)\nlocale.getdefaultlocale(??)\nlocale.getlocale(??)\nlocale.getpreferredencoding(??)\nlocale.k\nlocale.locale_alias(??)\nlocale.locale_encoding_alias(??)\nlocale.localeconv(??)\nlocale.nl_langinfo(key) -> string\nlocale.normalize(??)\nlocale.re(??)\nlocale.resetlocale(??)\nlocale.setlocale(??)\nlocale.str(??)\nlocale.strcoll(??)\nlocale.strxfrm(string) -> string.\nlocale.sys(??)\nlocale.v\nlocale.windows_locale(??)\nlocals(??)\nlogging.BASIC_FORMAT\nlogging.BufferingFormatter(??)\nlogging.CRITICAL\nlogging.DEBUG\nlogging.ERROR\nlogging.FATAL\nlogging.FileHandler(??)\nlogging.Filter(??)\nlogging.Filterer(??)\nlogging.Formatter(??)\nlogging.Handler(??)\nlogging.INFO\nlogging.LogRecord(??)\nlogging.Logger(??)\nlogging.LoggerAdapter(??)\nlogging.Manager(??)\nlogging.NOTSET\nlogging.NullHandler(??)\nlogging.PercentStyle(??)\nlogging.PlaceHolder(??)\nlogging.RootLogger(??)\nlogging.StrFormatStyle(??)\nlogging.StreamHandler(??)\nlogging.StringTemplateStyle(??)\nlogging.Template(??)\nlogging.WARN\nlogging.WARNING\nlogging.addLevelName(??)\nlogging.atexit(??)\nlogging.basicConfig(??)\nlogging.captureWarnings(??)\nlogging.collections(??)\nlogging.config(??)\nlogging.config.BaseConfigurator(??)\nlogging.config.ConvertingDict(??)\nlogging.config.ConvertingList(??)\nlogging.config.ConvertingMixin(??)\nlogging.config.ConvertingTuple(??)\nlogging.config.DEFAULT_LOGGING_CONFIG_PORT\nlogging.config.DictConfigurator(??)\nlogging.config.IDENTIFIER(??)\nlogging.config.RESET_ERROR\nlogging.config.StreamRequestHandler(??)\nlogging.config.ThreadingTCPServer(??)\nlogging.config.dictConfig(??)\nlogging.config.dictConfigClass(??)\nlogging.config.errno(??)\nlogging.config.fileConfig(??)\nlogging.config.io(??)\nlogging.config.listen(??)\nlogging.config.logging(??)\nlogging.config.re(??)\nlogging.config.stopListening(??)\nlogging.config.struct(??)\nlogging.config.sys(??)\nlogging.config.threading(??)\nlogging.config.traceback(??)\nlogging.config.valid_ident(??)\nlogging.critical(??)\nlogging.currentframe(??)\nlogging.debug(??)\nlogging.disable(??)\nlogging.error(??)\nlogging.exception(??)\nlogging.fatal(??)\nlogging.getLevelName(??)\nlogging.getLogRecordFactory(??)\nlogging.getLogger(??)\nlogging.getLoggerClass(??)\nlogging.handlers(??)\nlogging.handlers.BaseRotatingHandler(??)\nlogging.handlers.BufferingHandler(??)\nlogging.handlers.DEFAULT_HTTP_LOGGING_PORT\nlogging.handlers.DEFAULT_SOAP_LOGGING_PORT\nlogging.handlers.DEFAULT_TCP_LOGGING_PORT\nlogging.handlers.DEFAULT_UDP_LOGGING_PORT\nlogging.handlers.DatagramHandler(??)\nlogging.handlers.HTTPHandler(??)\nlogging.handlers.MemoryHandler(??)\nlogging.handlers.NTEventLogHandler(??)\nlogging.handlers.QueueHandler(??)\nlogging.handlers.QueueListener(??)\nlogging.handlers.RotatingFileHandler(??)\nlogging.handlers.SMTPHandler(??)\nlogging.handlers.ST_DEV\nlogging.handlers.ST_INO\nlogging.handlers.ST_MTIME\nlogging.handlers.SYSLOG_TCP_PORT\nlogging.handlers.SYSLOG_UDP_PORT\nlogging.handlers.SocketHandler(??)\nlogging.handlers.SysLogHandler(??)\nlogging.handlers.TimedRotatingFileHandler(??)\nlogging.handlers.WatchedFileHandler(??)\nlogging.handlers.copy(??)\nlogging.handlers.logging(??)\nlogging.handlers.os(??)\nlogging.handlers.pickle(??)\nlogging.handlers.queue(??)\nlogging.handlers.re(??)\nlogging.handlers.socket(??)\nlogging.handlers.struct(??)\nlogging.handlers.threading(??)\nlogging.handlers.time(??)\nlogging.info(??)\nlogging.io(??)\nlogging.lastResort(??)\nlogging.log(??)\nlogging.logMultiprocessing(??)\nlogging.logProcesses(??)\nlogging.logThreads(??)\nlogging.makeLogRecord(??)\nlogging.os(??)\nlogging.raiseExceptions(??)\nlogging.re(??)\nlogging.root(??)\nlogging.setLogRecordFactory(??)\nlogging.setLoggerClass(??)\nlogging.shutdown(??)\nlogging.sys(??)\nlogging.threading(??)\nlogging.time(??)\nlogging.traceback(??)\nlogging.warn(??)\nlogging.warning(??)\nlogging.warnings(??)\nlogging.weakref(??)\nlzma.CHECK_CRC32\nlzma.CHECK_CRC64\nlzma.CHECK_ID_MAX\nlzma.CHECK_NONE\nlzma.CHECK_SHA256\nlzma.CHECK_UNKNOWN\nlzma.FILTER_ARM\nlzma.FILTER_ARMTHUMB\nlzma.FILTER_DELTA\nlzma.FILTER_IA64\nlzma.FILTER_LZMA1\nlzma.FILTER_LZMA2\nlzma.FILTER_POWERPC\nlzma.FILTER_SPARC\nlzma.FILTER_X86\nlzma.FORMAT_ALONE\nlzma.FORMAT_AUTO\nlzma.FORMAT_RAW\nlzma.FORMAT_XZ\nlzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\nlzma.LZMADecompressor(??)\nlzma.LZMAError(??)\nlzma.LZMAFile(??)\nlzma.MF_BT2\nlzma.MF_BT3\nlzma.MF_BT4\nlzma.MF_HC3\nlzma.MF_HC4\nlzma.MODE_FAST\nlzma.MODE_NORMAL\nlzma.PRESET_DEFAULT\nlzma.PRESET_EXTREME\nlzma.builtins(??)\nlzma.compress(??)\nlzma.decompress(??)\nlzma.io(??)\nlzma.is_check_supported(??)\nlzma.open(??)\nlzma.os(??)\nmailbox.Babyl(??)\nmailbox.BabylMessage(??)\nmailbox.Error(??)\nmailbox.ExternalClashError(??)\nmailbox.FormatError(??)\nmailbox.GenericAlias(??)\nmailbox.MH(??)\nmailbox.MHMessage(??)\nmailbox.MMDF(??)\nmailbox.MMDFMessage(??)\nmailbox.Mailbox(??)\nmailbox.Maildir(??)\nmailbox.MaildirMessage(??)\nmailbox.Message(??)\nmailbox.NoSuchMailboxError(??)\nmailbox.NotEmptyError(??)\nmailbox.calendar(??)\nmailbox.contextlib(??)\nmailbox.copy(??)\nmailbox.email(??)\nmailbox.errno(??)\nmailbox.fcntl(??)\nmailbox.io(??)\nmailbox.linesep\nmailbox.mbox(??)\nmailbox.mboxMessage(??)\nmailbox.os(??)\nmailbox.socket(??)\nmailbox.time(??)\nmailbox.warnings(??)\nmailcap.findmatch(??)\nmailcap.findparam(??)\nmailcap.getcaps(??)\nmailcap.lineno_sort_key(??)\nmailcap.listmailcapfiles(??)\nmailcap.lookup(??)\nmailcap.os(??)\nmailcap.parsefield(??)\nmailcap.parseline(??)\nmailcap.readmailcapfile(??)\nmailcap.show(??)\nmailcap.subst(??)\nmailcap.test(??)\nmailcap.warnings(??)\nmap(func, *iterables) --> map object\nmarshal.dump(??)\nmarshal.dumps(??)\nmarshal.load(??)\nmarshal.loads(??)\nmarshal.version\nmax(iterable, *[, default=obj, key=func]) -> value\nmemoryview(??)\nmetasip.GccXML.Argument(??)\nmetasip.GccXML.Class(??)\nmetasip.GccXML.Constructor(??)\nmetasip.GccXML.Destructor(??)\nmetasip.GccXML.Enum(??)\nmetasip.GccXML.EnumValue(??)\nmetasip.GccXML.Function(??)\nmetasip.GccXML.GccXMLParser(??)\nmetasip.GccXML.ICodeContainer(??)\nmetasip.GccXML.IProject(??)\nmetasip.GccXML.Instance(??)\nmetasip.GccXML.Logger(??)\nmetasip.GccXML.Method(??)\nmetasip.GccXML.Model(??)\nmetasip.GccXML.Namespace(??)\nmetasip.GccXML.OpaqueClass(??)\nmetasip.GccXML.OperatorCast(??)\nmetasip.GccXML.OperatorFunction(??)\nmetasip.GccXML.OperatorMethod(??)\nmetasip.GccXML.ParserBase(??)\nmetasip.GccXML.Typedef(??)\nmetasip.GccXML.VALUE_MAP(??)\nmetasip.GccXML.Variable(??)\nmetasip.GccXML.implements(??)\nmetasip.GccXML.optAttribute(??)\nmetasip.GccXML.os(??)\nmetasip.GccXML.subprocess(??)\nmetasip.GccXML.sys(??)\nmetasip.GccXML.tempfile(??)\nmetasip.Logger(??)\nmetasip.Parser.ContentHandler(??)\nmetasip.Parser.ErrorHandler(??)\nmetasip.Parser.Logger(??)\nmetasip.Parser.ParserBase(??)\nmetasip.Parser.SAXParseException(??)\nmetasip.Parser.make_parser(??)\nmetasip.Parser.optAttribute(??)\nmetasip.Project(??)\nmetasip.Project.acceptArgumentNames(??)\nmetasip.Project.descriptive_name(??)\nmetasip.Project.externalfeatures(??)\nmetasip.Project.externalmodules(??)\nmetasip.Project.features(??)\nmetasip.Project.findHeaderDirectory(??)\nmetasip.Project.generateModule(??)\nmetasip.Project.headers(??)\nmetasip.Project.ignorednamespaces(??)\nmetasip.Project.modules(??)\nmetasip.Project.name(??)\nmetasip.Project.nameArgumentsFromConventions(??)\nmetasip.Project.platforms(??)\nmetasip.Project.rootmodule(??)\nmetasip.Project.save(??)\nmetasip.Project.sipcomments(??)\nmetasip.Project.version(??)\nmetasip.Project.versions(??)\nmetasip.Project.vmap_create(??)\nmetasip.Project.vmap_or_version_ranges(??)\nmetasip.Project.vmap_to_version_ranges(??)\nmetasip.ProjectCodec(??)\nmetasip.ProjectEditorTool(??)\nmetasip.ProjectFactory(??)\nmetasip.UpdateManager(??)\nmetasip.api_editor(??)\nmetasip.api_editor.Annos(??)\nmetasip.api_editor.Annos.split_annos(??)\nmetasip.api_editor.ApiEditor(??)\nmetasip.api_editor.ArgProperties(??)\nmetasip.api_editor.ArgProperties.ArgPropertiesDialog(??)\nmetasip.api_editor.ArgProperties.Encoding(??)\nmetasip.api_editor.ArgProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.ArgProperties.Ui_ArgPropertiesBase(??)\nmetasip.api_editor.ArgProperties.split_annos(??)\nmetasip.api_editor.BaseType(??)\nmetasip.api_editor.BaseType.BaseType(??)\nmetasip.api_editor.CallableProperties(??)\nmetasip.api_editor.CallableProperties.CallablePropertiesDialog(??)\nmetasip.api_editor.CallableProperties.Constructor(??)\nmetasip.api_editor.CallableProperties.Destructor(??)\nmetasip.api_editor.CallableProperties.Encoding(??)\nmetasip.api_editor.CallableProperties.Function(??)\nmetasip.api_editor.CallableProperties.ManualCode(??)\nmetasip.api_editor.CallableProperties.Method(??)\nmetasip.api_editor.CallableProperties.OperatorFunction(??)\nmetasip.api_editor.CallableProperties.OperatorMethod(??)\nmetasip.api_editor.CallableProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.CallableProperties.Ui_CallablePropertiesBase(??)\nmetasip.api_editor.CallableProperties.split_annos(??)\nmetasip.api_editor.ClassProperties(??)\nmetasip.api_editor.ClassProperties.ClassPropertiesDialog(??)\nmetasip.api_editor.ClassProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.ClassProperties.Ui_ClassPropertiesBase(??)\nmetasip.api_editor.ClassProperties.split_annos(??)\nmetasip.api_editor.Designer(??)\nmetasip.api_editor.Designer.ArgPropertiesBase(??)\nmetasip.api_editor.Designer.ArgPropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.ArgPropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.ArgPropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.ArgPropertiesBase.Ui_ArgPropertiesBase(??)\nmetasip.api_editor.Designer.CallablePropertiesBase(??)\nmetasip.api_editor.Designer.CallablePropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.CallablePropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.CallablePropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.CallablePropertiesBase.Ui_CallablePropertiesBase(??)\nmetasip.api_editor.Designer.ClassPropertiesBase(??)\nmetasip.api_editor.Designer.ClassPropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.ClassPropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.ClassPropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.ClassPropertiesBase.Ui_ClassPropertiesBase(??)\nmetasip.api_editor.Designer.EnumPropertiesBase(??)\nmetasip.api_editor.Designer.EnumPropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.EnumPropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.EnumPropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.EnumPropertiesBase.Ui_EnumPropertiesBase(??)\nmetasip.api_editor.Designer.EnumValuePropertiesBase(??)\nmetasip.api_editor.Designer.EnumValuePropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.EnumValuePropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.EnumValuePropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.EnumValuePropertiesBase.Ui_EnumValuePropertiesBase(??)\nmetasip.api_editor.Designer.FeaturePickerBase(??)\nmetasip.api_editor.Designer.FeaturePickerBase.QtCore(??)\nmetasip.api_editor.Designer.FeaturePickerBase.QtGui(??)\nmetasip.api_editor.Designer.FeaturePickerBase.QtWidgets(??)\nmetasip.api_editor.Designer.FeaturePickerBase.Ui_FeaturePickerBase(??)\nmetasip.api_editor.Designer.GenerationsBase(??)\nmetasip.api_editor.Designer.GenerationsBase.QtCore(??)\nmetasip.api_editor.Designer.GenerationsBase.QtGui(??)\nmetasip.api_editor.Designer.GenerationsBase.QtWidgets(??)\nmetasip.api_editor.Designer.GenerationsBase.Ui_GenerationsBase(??)\nmetasip.api_editor.Designer.ManualCodeBase(??)\nmetasip.api_editor.Designer.ManualCodeBase.QtCore(??)\nmetasip.api_editor.Designer.ManualCodeBase.QtGui(??)\nmetasip.api_editor.Designer.ManualCodeBase.QtWidgets(??)\nmetasip.api_editor.Designer.ManualCodeBase.Ui_ManualCodeBase(??)\nmetasip.api_editor.Designer.ModulePropertiesBase(??)\nmetasip.api_editor.Designer.ModulePropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.ModulePropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.ModulePropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.ModulePropertiesBase.Ui_ModulePropertiesBase(??)\nmetasip.api_editor.Designer.OpaqueClassPropertiesBase(??)\nmetasip.api_editor.Designer.OpaqueClassPropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.OpaqueClassPropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.OpaqueClassPropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.OpaqueClassPropertiesBase.Ui_OpaqueClassPropertiesBase(??)\nmetasip.api_editor.Designer.PlatformPickerBase(??)\nmetasip.api_editor.Designer.PlatformPickerBase.QtCore(??)\nmetasip.api_editor.Designer.PlatformPickerBase.QtGui(??)\nmetasip.api_editor.Designer.PlatformPickerBase.QtWidgets(??)\nmetasip.api_editor.Designer.PlatformPickerBase.Ui_PlatformPickerBase(??)\nmetasip.api_editor.Designer.ProjectPropertiesBase(??)\nmetasip.api_editor.Designer.ProjectPropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.ProjectPropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.ProjectPropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.ProjectPropertiesBase.Ui_ProjectPropertiesBase(??)\nmetasip.api_editor.Designer.VariablePropertiesBase(??)\nmetasip.api_editor.Designer.VariablePropertiesBase.QtCore(??)\nmetasip.api_editor.Designer.VariablePropertiesBase.QtGui(??)\nmetasip.api_editor.Designer.VariablePropertiesBase.QtWidgets(??)\nmetasip.api_editor.Designer.VariablePropertiesBase.Ui_VariablePropertiesBase(??)\nmetasip.api_editor.Encoding(??)\nmetasip.api_editor.Encoding.Encoding(??)\nmetasip.api_editor.EnumProperties(??)\nmetasip.api_editor.EnumProperties.BaseType(??)\nmetasip.api_editor.EnumProperties.EnumPropertiesDialog(??)\nmetasip.api_editor.EnumProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.EnumProperties.Ui_EnumPropertiesBase(??)\nmetasip.api_editor.EnumProperties.split_annos(??)\nmetasip.api_editor.EnumValueProperties(??)\nmetasip.api_editor.EnumValueProperties.EnumValuePropertiesDialog(??)\nmetasip.api_editor.EnumValueProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.EnumValueProperties.Ui_EnumValuePropertiesBase(??)\nmetasip.api_editor.EnumValueProperties.split_annos(??)\nmetasip.api_editor.ExternalEditor(??)\nmetasip.api_editor.ExternalEditor.ExternalEditor(??)\nmetasip.api_editor.ExternalEditor.IDialog(??)\nmetasip.api_editor.ExternalEditor.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.ExternalEditor.QDialogButtonBox(parent: QWidget = None)\nmetasip.api_editor.ExternalEditor.QEvent(QEvent.Type)\nmetasip.api_editor.ExternalEditor.QFile()\nmetasip.api_editor.ExternalEditor.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])\nmetasip.api_editor.ExternalEditor.QHBoxLayout()\nmetasip.api_editor.ExternalEditor.QMessageBox(parent: QWidget = None)\nmetasip.api_editor.ExternalEditor.QObject(parent: QObject = None)\nmetasip.api_editor.ExternalEditor.QPushButton(parent: QWidget = None)\nmetasip.api_editor.ExternalEditor.QTextStream()\nmetasip.api_editor.ExternalEditor.QVBoxLayout()\nmetasip.api_editor.ExternalEditor.QsciLexerCPP(parent: QObject = None, caseInsensitiveKeywords: bool = False)\nmetasip.api_editor.ExternalEditor.QsciScintilla(parent: QWidget = None)\nmetasip.api_editor.ExternalEditor.SettingsManager(??)\nmetasip.api_editor.ExternalEditor.pyqtSignal(??)\nmetasip.api_editor.FeaturePicker(??)\nmetasip.api_editor.FeaturePicker.FeaturePickerDialog(??)\nmetasip.api_editor.FeaturePicker.QComboBox(parent: QWidget = None)\nmetasip.api_editor.FeaturePicker.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.FeaturePicker.QGridLayout(QWidget)\nmetasip.api_editor.FeaturePicker.QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.FeaturePicker.Ui_FeaturePickerBase(??)\nmetasip.api_editor.Generations(??)\nmetasip.api_editor.Generations.GenerationsDialog(??)\nmetasip.api_editor.Generations.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.Generations.Ui_GenerationsBase(??)\nmetasip.api_editor.ManualCode(??)\nmetasip.api_editor.ManualCode.ManualCodeDialog(??)\nmetasip.api_editor.ManualCode.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.ManualCode.Ui_ManualCodeBase(??)\nmetasip.api_editor.ModuleProperties(??)\nmetasip.api_editor.ModuleProperties.ModulePropertiesDialog(??)\nmetasip.api_editor.ModuleProperties.QCheckBox(parent: QWidget = None)\nmetasip.api_editor.ModuleProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.ModuleProperties.QGridLayout(QWidget)\nmetasip.api_editor.ModuleProperties.Qt(??)\nmetasip.api_editor.ModuleProperties.Ui_ModulePropertiesBase(??)\nmetasip.api_editor.OpaqueClassProperties(??)\nmetasip.api_editor.OpaqueClassProperties.OpaqueClassPropertiesDialog(??)\nmetasip.api_editor.OpaqueClassProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.OpaqueClassProperties.Ui_OpaqueClassPropertiesBase(??)\nmetasip.api_editor.OpaqueClassProperties.split_annos(??)\nmetasip.api_editor.PlatformPicker(??)\nmetasip.api_editor.PlatformPicker.PlatformPickerDialog(??)\nmetasip.api_editor.PlatformPicker.QCheckBox(parent: QWidget = None)\nmetasip.api_editor.PlatformPicker.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.PlatformPicker.Ui_PlatformPickerBase(??)\nmetasip.api_editor.ProjectProperties(??)\nmetasip.api_editor.ProjectProperties.ProjectPropertiesDialog(??)\nmetasip.api_editor.ProjectProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.ProjectProperties.Ui_ProjectPropertiesBase(??)\nmetasip.api_editor.VariableProperties(??)\nmetasip.api_editor.VariableProperties.Encoding(??)\nmetasip.api_editor.VariableProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.VariableProperties.Ui_VariablePropertiesBase(??)\nmetasip.api_editor.VariableProperties.VariablePropertiesDialog(??)\nmetasip.api_editor.VariableProperties.split_annos(??)\nmetasip.api_editor.api_editor(??)\nmetasip.api_editor.api_editor.Access(??)\nmetasip.api_editor.api_editor.ApiEditor(??)\nmetasip.api_editor.api_editor.Application(??)\nmetasip.api_editor.api_editor.ArgPropertiesDialog(??)\nmetasip.api_editor.api_editor.Argument(??)\nmetasip.api_editor.api_editor.CallablePropertiesDialog(??)\nmetasip.api_editor.api_editor.Class(??)\nmetasip.api_editor.api_editor.ClassPropertiesDialog(??)\nmetasip.api_editor.api_editor.CodeItem(??)\nmetasip.api_editor.api_editor.Constructor(??)\nmetasip.api_editor.api_editor.ContainerItem(??)\nmetasip.api_editor.api_editor.Destructor(??)\nmetasip.api_editor.api_editor.DropSite(??)\nmetasip.api_editor.api_editor.EditorItem(??)\nmetasip.api_editor.api_editor.Enum(??)\nmetasip.api_editor.api_editor.EnumPropertiesDialog(??)\nmetasip.api_editor.api_editor.EnumValue(??)\nmetasip.api_editor.api_editor.EnumValuePropertiesDialog(??)\nmetasip.api_editor.api_editor.ExternalEditor(??)\nmetasip.api_editor.api_editor.FeaturePickerDialog(??)\nmetasip.api_editor.api_editor.Function(??)\nmetasip.api_editor.api_editor.GenerationsDialog(??)\nmetasip.api_editor.api_editor.IDirty(??)\nmetasip.api_editor.api_editor.ManualCode(??)\nmetasip.api_editor.api_editor.ManualCodeDialog(??)\nmetasip.api_editor.api_editor.Method(??)\nmetasip.api_editor.api_editor.Module(??)\nmetasip.api_editor.api_editor.ModuleItem(??)\nmetasip.api_editor.api_editor.ModulePropertiesDialog(??)\nmetasip.api_editor.api_editor.Namespace(??)\nmetasip.api_editor.api_editor.OpaqueClass(??)\nmetasip.api_editor.api_editor.OpaqueClassPropertiesDialog(??)\nmetasip.api_editor.api_editor.OperatorCast(??)\nmetasip.api_editor.api_editor.OperatorFunction(??)\nmetasip.api_editor.api_editor.OperatorMethod(??)\nmetasip.api_editor.api_editor.PlatformPickerDialog(??)\nmetasip.api_editor.api_editor.ProjectItem(??)\nmetasip.api_editor.api_editor.ProjectPropertiesDialog(??)\nmetasip.api_editor.api_editor.QApplication(List[str])\nmetasip.api_editor.api_editor.QByteArray()\nmetasip.api_editor.api_editor.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.api_editor.QDrag(QObject)\nmetasip.api_editor.api_editor.QInputDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.api_editor.QMenu(parent: QWidget = None)\nmetasip.api_editor.api_editor.QMessageBox(parent: QWidget = None)\nmetasip.api_editor.api_editor.QMimeData()\nmetasip.api_editor.api_editor.QProgressDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.api_editor.api_editor.QTreeWidget(parent: QWidget = None)\nmetasip.api_editor.api_editor.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\nmetasip.api_editor.api_editor.QTreeWidgetItemIterator(QTreeWidgetItemIterator)\nmetasip.api_editor.api_editor.QVBoxLayout()\nmetasip.api_editor.api_editor.Qt(??)\nmetasip.api_editor.api_editor.SipFileItem(??)\nmetasip.api_editor.api_editor.Variable(??)\nmetasip.api_editor.api_editor.VariablePropertiesDialog(??)\nmetasip.api_editor.api_editor.VersionRange(??)\nmetasip.api_editor.api_editor.observe(??)\nmetasip.api_editor.api_editor.version_range(??)\nmetasip.default_update_manager(??)\nmetasip.default_update_manager.UpdateManager(??)\nmetasip.default_update_manager.update_manager(??)\nmetasip.default_update_manager.update_manager.Application(??)\nmetasip.default_update_manager.update_manager.IUpdate(??)\nmetasip.default_update_manager.update_manager.IUpdateManager(??)\nmetasip.default_update_manager.update_manager.Model(??)\nmetasip.default_update_manager.update_manager.Str(??)\nmetasip.default_update_manager.update_manager.UpdateManager(??)\nmetasip.default_update_manager.update_manager.implements(??)\nmetasip.interfaces(??)\nmetasip.interfaces.ISchema(??)\nmetasip.interfaces.IUpdate(??)\nmetasip.interfaces.IUpdateManager(??)\nmetasip.interfaces.i_schema(??)\nmetasip.interfaces.i_schema.ISchema(??)\nmetasip.interfaces.i_schema.Interface(??)\nmetasip.interfaces.i_schema.Str(??)\nmetasip.interfaces.i_update(??)\nmetasip.interfaces.i_update.IUpdate(??)\nmetasip.interfaces.i_update.Int(??)\nmetasip.interfaces.i_update.Interface(??)\nmetasip.interfaces.i_update.Str(??)\nmetasip.interfaces.i_update_manager(??)\nmetasip.interfaces.i_update_manager.IUpdate(??)\nmetasip.interfaces.i_update_manager.IUpdateManager(??)\nmetasip.interfaces.i_update_manager.Interface(??)\nmetasip.interfaces.i_update_manager.List(??)\nmetasip.interfaces.project(??)\nmetasip.interfaces.project.IAccess(??)\nmetasip.interfaces.project.IAnnos(??)\nmetasip.interfaces.project.IArgument(??)\nmetasip.interfaces.project.ICallable(??)\nmetasip.interfaces.project.IClass(??)\nmetasip.interfaces.project.IClassCallable(??)\nmetasip.interfaces.project.ICode(??)\nmetasip.interfaces.project.ICodeContainer(??)\nmetasip.interfaces.project.IConstructor(??)\nmetasip.interfaces.project.IDestructor(??)\nmetasip.interfaces.project.IDocString(??)\nmetasip.interfaces.project.IEnum(??)\nmetasip.interfaces.project.IEnumValue(??)\nmetasip.interfaces.project.IExtendedAccess(??)\nmetasip.interfaces.project.IFunction(??)\nmetasip.interfaces.project.IHeaderDirectory(??)\nmetasip.interfaces.project.IHeaderFile(??)\nmetasip.interfaces.project.IHeaderFileVersion(??)\nmetasip.interfaces.project.IManualCode(??)\nmetasip.interfaces.project.IMethod(??)\nmetasip.interfaces.project.IModule(??)\nmetasip.interfaces.project.INamespace(??)\nmetasip.interfaces.project.IOpaqueClass(??)\nmetasip.interfaces.project.IOperatorCast(??)\nmetasip.interfaces.project.IOperatorFunction(??)\nmetasip.interfaces.project.IOperatorMethod(??)\nmetasip.interfaces.project.IProject(??)\nmetasip.interfaces.project.ISipFile(??)\nmetasip.interfaces.project.ITagged(??)\nmetasip.interfaces.project.ITypedef(??)\nmetasip.interfaces.project.IVariable(??)\nmetasip.interfaces.project.IVersionRange(??)\nmetasip.interfaces.project.IWorkflow(??)\nmetasip.interfaces.project.ProjectVersion\nmetasip.interfaces.project.i_access(??)\nmetasip.interfaces.project.i_access.Enum(??)\nmetasip.interfaces.project.i_access.IAccess(??)\nmetasip.interfaces.project.i_access.Interface(??)\nmetasip.interfaces.project.i_annos(??)\nmetasip.interfaces.project.i_annos.IAnnos(??)\nmetasip.interfaces.project.i_annos.Interface(??)\nmetasip.interfaces.project.i_annos.Str(??)\nmetasip.interfaces.project.i_argument(??)\nmetasip.interfaces.project.i_argument.Bool(??)\nmetasip.interfaces.project.i_argument.IAnnos(??)\nmetasip.interfaces.project.i_argument.IArgument(??)\nmetasip.interfaces.project.i_argument.Str(??)\nmetasip.interfaces.project.i_callable(??)\nmetasip.interfaces.project.i_callable.IArgument(??)\nmetasip.interfaces.project.i_callable.ICallable(??)\nmetasip.interfaces.project.i_callable.ICode(??)\nmetasip.interfaces.project.i_callable.List(??)\nmetasip.interfaces.project.i_callable.Str(??)\nmetasip.interfaces.project.i_class(??)\nmetasip.interfaces.project.i_class.Bool(??)\nmetasip.interfaces.project.i_class.IAccess(??)\nmetasip.interfaces.project.i_class.IClass(??)\nmetasip.interfaces.project.i_class.ICode(??)\nmetasip.interfaces.project.i_class.ICodeContainer(??)\nmetasip.interfaces.project.i_class.IDocString(??)\nmetasip.interfaces.project.i_class.Str(??)\nmetasip.interfaces.project.i_class_callable(??)\nmetasip.interfaces.project.i_class_callable.ICallable(??)\nmetasip.interfaces.project.i_class_callable.IClass(??)\nmetasip.interfaces.project.i_class_callable.IClassCallable(??)\nmetasip.interfaces.project.i_class_callable.Instance(??)\nmetasip.interfaces.project.i_code(??)\nmetasip.interfaces.project.i_code.IAnnos(??)\nmetasip.interfaces.project.i_code.ICode(??)\nmetasip.interfaces.project.i_code.ITagged(??)\nmetasip.interfaces.project.i_code.IWorkflow(??)\nmetasip.interfaces.project.i_code.Instance(??)\nmetasip.interfaces.project.i_code_container(??)\nmetasip.interfaces.project.i_code_container.ICodeContainer(??)\nmetasip.interfaces.project.i_code_container.Interface(??)\nmetasip.interfaces.project.i_code_container.List(??)\nmetasip.interfaces.project.i_constructor(??)\nmetasip.interfaces.project.i_constructor.Bool(??)\nmetasip.interfaces.project.i_constructor.IAccess(??)\nmetasip.interfaces.project.i_constructor.IClassCallable(??)\nmetasip.interfaces.project.i_constructor.IConstructor(??)\nmetasip.interfaces.project.i_constructor.IDocString(??)\nmetasip.interfaces.project.i_destructor(??)\nmetasip.interfaces.project.i_destructor.Bool(??)\nmetasip.interfaces.project.i_destructor.IAccess(??)\nmetasip.interfaces.project.i_destructor.IClass(??)\nmetasip.interfaces.project.i_destructor.ICode(??)\nmetasip.interfaces.project.i_destructor.IDestructor(??)\nmetasip.interfaces.project.i_destructor.Instance(??)\nmetasip.interfaces.project.i_destructor.Str(??)\nmetasip.interfaces.project.i_doc_string(??)\nmetasip.interfaces.project.i_doc_string.IDocString(??)\nmetasip.interfaces.project.i_doc_string.Interface(??)\nmetasip.interfaces.project.i_doc_string.Str(??)\nmetasip.interfaces.project.i_enum(??)\nmetasip.interfaces.project.i_enum.Bool(??)\nmetasip.interfaces.project.i_enum.IAccess(??)\nmetasip.interfaces.project.i_enum.ICode(??)\nmetasip.interfaces.project.i_enum.IEnum(??)\nmetasip.interfaces.project.i_enum.IEnumValue(??)\nmetasip.interfaces.project.i_enum.List(??)\nmetasip.interfaces.project.i_enum.Str(??)\nmetasip.interfaces.project.i_enum_value(??)\nmetasip.interfaces.project.i_enum_value.IAnnos(??)\nmetasip.interfaces.project.i_enum_value.IEnumValue(??)\nmetasip.interfaces.project.i_enum_value.ITagged(??)\nmetasip.interfaces.project.i_enum_value.IWorkflow(??)\nmetasip.interfaces.project.i_enum_value.Str(??)\nmetasip.interfaces.project.i_extended_access(??)\nmetasip.interfaces.project.i_extended_access.Enum(??)\nmetasip.interfaces.project.i_extended_access.IAccess(??)\nmetasip.interfaces.project.i_extended_access.IExtendedAccess(??)\nmetasip.interfaces.project.i_function(??)\nmetasip.interfaces.project.i_function.ICallable(??)\nmetasip.interfaces.project.i_function.IDocString(??)\nmetasip.interfaces.project.i_function.IFunction(??)\nmetasip.interfaces.project.i_header_directory(??)\nmetasip.interfaces.project.i_header_directory.IHeaderDirectory(??)\nmetasip.interfaces.project.i_header_directory.IHeaderFile(??)\nmetasip.interfaces.project.i_header_directory.Interface(??)\nmetasip.interfaces.project.i_header_directory.List(??)\nmetasip.interfaces.project.i_header_directory.Str(??)\nmetasip.interfaces.project.i_header_file(??)\nmetasip.interfaces.project.i_header_file.Bool(??)\nmetasip.interfaces.project.i_header_file.IHeaderFile(??)\nmetasip.interfaces.project.i_header_file.IHeaderFileVersion(??)\nmetasip.interfaces.project.i_header_file.Interface(??)\nmetasip.interfaces.project.i_header_file.List(??)\nmetasip.interfaces.project.i_header_file.Str(??)\nmetasip.interfaces.project.i_header_file_version(??)\nmetasip.interfaces.project.i_header_file_version.Bool(??)\nmetasip.interfaces.project.i_header_file_version.IHeaderFileVersion(??)\nmetasip.interfaces.project.i_header_file_version.Interface(??)\nmetasip.interfaces.project.i_header_file_version.Str(??)\nmetasip.interfaces.project.i_manual_code(??)\nmetasip.interfaces.project.i_manual_code.ICode(??)\nmetasip.interfaces.project.i_manual_code.IDocString(??)\nmetasip.interfaces.project.i_manual_code.IExtendedAccess(??)\nmetasip.interfaces.project.i_manual_code.IManualCode(??)\nmetasip.interfaces.project.i_manual_code.Str(??)\nmetasip.interfaces.project.i_method(??)\nmetasip.interfaces.project.i_method.Bool(??)\nmetasip.interfaces.project.i_method.IClassCallable(??)\nmetasip.interfaces.project.i_method.IDocString(??)\nmetasip.interfaces.project.i_method.IExtendedAccess(??)\nmetasip.interfaces.project.i_method.IMethod(??)\nmetasip.interfaces.project.i_method.Str(??)\nmetasip.interfaces.project.i_module(??)\nmetasip.interfaces.project.i_module.Bool(??)\nmetasip.interfaces.project.i_module.Enum(??)\nmetasip.interfaces.project.i_module.IModule(??)\nmetasip.interfaces.project.i_module.ISipFile(??)\nmetasip.interfaces.project.i_module.Interface(??)\nmetasip.interfaces.project.i_module.List(??)\nmetasip.interfaces.project.i_module.Str(??)\nmetasip.interfaces.project.i_namespace(??)\nmetasip.interfaces.project.i_namespace.ICode(??)\nmetasip.interfaces.project.i_namespace.ICodeContainer(??)\nmetasip.interfaces.project.i_namespace.INamespace(??)\nmetasip.interfaces.project.i_namespace.Str(??)\nmetasip.interfaces.project.i_opaque_class(??)\nmetasip.interfaces.project.i_opaque_class.IAccess(??)\nmetasip.interfaces.project.i_opaque_class.ICode(??)\nmetasip.interfaces.project.i_opaque_class.IOpaqueClass(??)\nmetasip.interfaces.project.i_opaque_class.Str(??)\nmetasip.interfaces.project.i_operator_cast(??)\nmetasip.interfaces.project.i_operator_cast.Bool(??)\nmetasip.interfaces.project.i_operator_cast.IAccess(??)\nmetasip.interfaces.project.i_operator_cast.IClassCallable(??)\nmetasip.interfaces.project.i_operator_cast.IOperatorCast(??)\nmetasip.interfaces.project.i_operator_function(??)\nmetasip.interfaces.project.i_operator_function.ICallable(??)\nmetasip.interfaces.project.i_operator_function.IOperatorFunction(??)\nmetasip.interfaces.project.i_operator_method(??)\nmetasip.interfaces.project.i_operator_method.Bool(??)\nmetasip.interfaces.project.i_operator_method.IAccess(??)\nmetasip.interfaces.project.i_operator_method.IClassCallable(??)\nmetasip.interfaces.project.i_operator_method.IOperatorMethod(??)\nmetasip.interfaces.project.i_operator_method.Str(??)\nmetasip.interfaces.project.i_project(??)\nmetasip.interfaces.project.i_project.IHeaderDirectory(??)\nmetasip.interfaces.project.i_project.IModule(??)\nmetasip.interfaces.project.i_project.IProject(??)\nmetasip.interfaces.project.i_project.Instance(??)\nmetasip.interfaces.project.i_project.Int(??)\nmetasip.interfaces.project.i_project.Interface(??)\nmetasip.interfaces.project.i_project.List(??)\nmetasip.interfaces.project.i_project.ProjectVersion\nmetasip.interfaces.project.i_project.Str(??)\nmetasip.interfaces.project.i_sip_file(??)\nmetasip.interfaces.project.i_sip_file.ICodeContainer(??)\nmetasip.interfaces.project.i_sip_file.ISipFile(??)\nmetasip.interfaces.project.i_sip_file.Str(??)\nmetasip.interfaces.project.i_tagged(??)\nmetasip.interfaces.project.i_tagged.ITagged(??)\nmetasip.interfaces.project.i_tagged.IVersionRange(??)\nmetasip.interfaces.project.i_tagged.Interface(??)\nmetasip.interfaces.project.i_tagged.List(??)\nmetasip.interfaces.project.i_tagged.Str(??)\nmetasip.interfaces.project.i_typedef(??)\nmetasip.interfaces.project.i_typedef.ICode(??)\nmetasip.interfaces.project.i_typedef.ITypedef(??)\nmetasip.interfaces.project.i_typedef.Str(??)\nmetasip.interfaces.project.i_variable(??)\nmetasip.interfaces.project.i_variable.Bool(??)\nmetasip.interfaces.project.i_variable.IAccess(??)\nmetasip.interfaces.project.i_variable.ICode(??)\nmetasip.interfaces.project.i_variable.IVariable(??)\nmetasip.interfaces.project.i_variable.Str(??)\nmetasip.interfaces.project.i_version_range(??)\nmetasip.interfaces.project.i_version_range.IVersionRange(??)\nmetasip.interfaces.project.i_version_range.Interface(??)\nmetasip.interfaces.project.i_version_range.Str(??)\nmetasip.interfaces.project.i_workflow(??)\nmetasip.interfaces.project.i_workflow.Enum(??)\nmetasip.interfaces.project.i_workflow.IWorkflow(??)\nmetasip.interfaces.project.i_workflow.Interface(??)\nmetasip.interfaces.project.project_version(??)\nmetasip.interfaces.project.project_version.ProjectVersion\nmetasip.logger(??)\nmetasip.logger.Logger(??)\nmetasip.logger.Singleton(??)\nmetasip.main.FilesystemStorageFactory(??)\nmetasip.main.IoManager(??)\nmetasip.main.Project(??)\nmetasip.main.ProjectCodec(??)\nmetasip.main.StorageError(??)\nmetasip.main.argparse(??)\nmetasip.main.fatal(??)\nmetasip.main.generate(??)\nmetasip.main.launchGUI(??)\nmetasip.main.load_batch_project(??)\nmetasip.main.msip_main(??)\nmetasip.main.msipgen_main(??)\nmetasip.main.os(??)\nmetasip.main.sys(??)\nmetasip.project_adapters(??)\nmetasip.project_adapters.Adapter(??)\nmetasip.project_adapters.DelegatedTo(??)\nmetasip.project_adapters.IDisplay(??)\nmetasip.project_adapters.IFilterHints(??)\nmetasip.project_adapters.IManagedModel(??)\nmetasip.project_adapters.Module(??)\nmetasip.project_adapters.ModuleIDisplayAdapter(??)\nmetasip.project_adapters.Project(??)\nmetasip.project_adapters.ProjectIFilterHintsAdapter(??)\nmetasip.project_adapters.ProjectIManagedModelAdapter(??)\nmetasip.project_adapters.adapt(??)\nmetasip.project_adapters.observe(??)\nmetasip.project_codec(??)\nmetasip.project_codec.ICodec(??)\nmetasip.project_codec.IProject(??)\nmetasip.project_codec.Model(??)\nmetasip.project_codec.ProjectCodec(??)\nmetasip.project_codec.ProjectParser(??)\nmetasip.project_codec.StorageError(??)\nmetasip.project_codec.implements(??)\nmetasip.project_codec.os(??)\nmetasip.project_codec.tempfile(??)\nmetasip.project_editor_tool(??)\nmetasip.project_editor_tool.BaseManagedModelTool(??)\nmetasip.project_editor_tool.IDisplay(??)\nmetasip.project_editor_tool.IManagedModelTool(??)\nmetasip.project_editor_tool.IProject(??)\nmetasip.project_editor_tool.ProjectEditorTool(??)\nmetasip.project_editor_tool.implements(??)\nmetasip.project_factory(??)\nmetasip.project_factory.IDisplay(??)\nmetasip.project_factory.Model(??)\nmetasip.project_factory.ProjectFactory(??)\nmetasip.project_factory.implements(??)\nmetasip.project_parser(??)\nmetasip.project_parser.Argument(??)\nmetasip.project_parser.Class(??)\nmetasip.project_parser.Constructor(??)\nmetasip.project_parser.Destructor(??)\nmetasip.project_parser.ElementTree(??)\nmetasip.project_parser.Enum(??)\nmetasip.project_parser.EnumValue(??)\nmetasip.project_parser.FormatError(??)\nmetasip.project_parser.Function(??)\nmetasip.project_parser.HeaderDirectory(??)\nmetasip.project_parser.HeaderFile(??)\nmetasip.project_parser.HeaderFileVersion(??)\nmetasip.project_parser.IDirty(??)\nmetasip.project_parser.ManualCode(??)\nmetasip.project_parser.Method(??)\nmetasip.project_parser.Module(??)\nmetasip.project_parser.Namespace(??)\nmetasip.project_parser.OpaqueClass(??)\nmetasip.project_parser.OperatorCast(??)\nmetasip.project_parser.OperatorFunction(??)\nmetasip.project_parser.OperatorMethod(??)\nmetasip.project_parser.Project(??)\nmetasip.project_parser.ProjectParser(??)\nmetasip.project_parser.ProjectVersion\nmetasip.project_parser.QApplication(List[str])\nmetasip.project_parser.QProgressDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.project_parser.SipFile(??)\nmetasip.project_parser.Typedef(??)\nmetasip.project_parser.UpdateManager(??)\nmetasip.project_parser.Variable(??)\nmetasip.project_parser.VersionRange(??)\nmetasip.schemas.ProjectV10Schema(??)\nmetasip.schemas.ProjectV11Schema(??)\nmetasip.schemas.ProjectV12Schema(??)\nmetasip.schemas.ProjectV13Schema(??)\nmetasip.schemas.ProjectV14Schema(??)\nmetasip.schemas.ProjectV1Schema(??)\nmetasip.schemas.ProjectV2Schema(??)\nmetasip.schemas.ProjectV3Schema(??)\nmetasip.schemas.ProjectV4Schema(??)\nmetasip.schemas.ProjectV5Schema(??)\nmetasip.schemas.ProjectV6Schema(??)\nmetasip.schemas.ProjectV7Schema(??)\nmetasip.schemas.ProjectV8Schema(??)\nmetasip.schemas.ProjectV9Schema(??)\nmetasip.schemas.project_v10_schema(??)\nmetasip.schemas.project_v10_schema.IDisplay(??)\nmetasip.schemas.project_v10_schema.IFilterHints(??)\nmetasip.schemas.project_v10_schema.ISchema(??)\nmetasip.schemas.project_v10_schema.Model(??)\nmetasip.schemas.project_v10_schema.ProjectV10Schema(??)\nmetasip.schemas.project_v10_schema.implements(??)\nmetasip.schemas.project_v11_schema(??)\nmetasip.schemas.project_v11_schema.IDisplay(??)\nmetasip.schemas.project_v11_schema.IFilterHints(??)\nmetasip.schemas.project_v11_schema.ISchema(??)\nmetasip.schemas.project_v11_schema.Model(??)\nmetasip.schemas.project_v11_schema.ProjectV11Schema(??)\nmetasip.schemas.project_v11_schema.implements(??)\nmetasip.schemas.project_v12_schema(??)\nmetasip.schemas.project_v12_schema.IDisplay(??)\nmetasip.schemas.project_v12_schema.IFilterHints(??)\nmetasip.schemas.project_v12_schema.ISchema(??)\nmetasip.schemas.project_v12_schema.Model(??)\nmetasip.schemas.project_v12_schema.ProjectV12Schema(??)\nmetasip.schemas.project_v12_schema.implements(??)\nmetasip.schemas.project_v13_schema(??)\nmetasip.schemas.project_v13_schema.IDisplay(??)\nmetasip.schemas.project_v13_schema.IFilterHints(??)\nmetasip.schemas.project_v13_schema.ISchema(??)\nmetasip.schemas.project_v13_schema.Model(??)\nmetasip.schemas.project_v13_schema.ProjectV13Schema(??)\nmetasip.schemas.project_v13_schema.implements(??)\nmetasip.schemas.project_v14_schema(??)\nmetasip.schemas.project_v14_schema.IDisplay(??)\nmetasip.schemas.project_v14_schema.IFilterHints(??)\nmetasip.schemas.project_v14_schema.ISchema(??)\nmetasip.schemas.project_v14_schema.Model(??)\nmetasip.schemas.project_v14_schema.ProjectV14Schema(??)\nmetasip.schemas.project_v14_schema.implements(??)\nmetasip.schemas.project_v1_schema(??)\nmetasip.schemas.project_v1_schema.IDisplay(??)\nmetasip.schemas.project_v1_schema.IFilterHints(??)\nmetasip.schemas.project_v1_schema.ISchema(??)\nmetasip.schemas.project_v1_schema.Model(??)\nmetasip.schemas.project_v1_schema.ProjectV1Schema(??)\nmetasip.schemas.project_v1_schema.implements(??)\nmetasip.schemas.project_v2_schema(??)\nmetasip.schemas.project_v2_schema.IDisplay(??)\nmetasip.schemas.project_v2_schema.IFilterHints(??)\nmetasip.schemas.project_v2_schema.ISchema(??)\nmetasip.schemas.project_v2_schema.Model(??)\nmetasip.schemas.project_v2_schema.ProjectV2Schema(??)\nmetasip.schemas.project_v2_schema.implements(??)\nmetasip.schemas.project_v3_schema(??)\nmetasip.schemas.project_v3_schema.IDisplay(??)\nmetasip.schemas.project_v3_schema.IFilterHints(??)\nmetasip.schemas.project_v3_schema.ISchema(??)\nmetasip.schemas.project_v3_schema.Model(??)\nmetasip.schemas.project_v3_schema.ProjectV3Schema(??)\nmetasip.schemas.project_v3_schema.implements(??)\nmetasip.schemas.project_v4_schema(??)\nmetasip.schemas.project_v4_schema.IDisplay(??)\nmetasip.schemas.project_v4_schema.IFilterHints(??)\nmetasip.schemas.project_v4_schema.ISchema(??)\nmetasip.schemas.project_v4_schema.Model(??)\nmetasip.schemas.project_v4_schema.ProjectV4Schema(??)\nmetasip.schemas.project_v4_schema.implements(??)\nmetasip.schemas.project_v5_schema(??)\nmetasip.schemas.project_v5_schema.IDisplay(??)\nmetasip.schemas.project_v5_schema.IFilterHints(??)\nmetasip.schemas.project_v5_schema.ISchema(??)\nmetasip.schemas.project_v5_schema.Model(??)\nmetasip.schemas.project_v5_schema.ProjectV5Schema(??)\nmetasip.schemas.project_v5_schema.implements(??)\nmetasip.schemas.project_v6_schema(??)\nmetasip.schemas.project_v6_schema.IDisplay(??)\nmetasip.schemas.project_v6_schema.IFilterHints(??)\nmetasip.schemas.project_v6_schema.ISchema(??)\nmetasip.schemas.project_v6_schema.Model(??)\nmetasip.schemas.project_v6_schema.ProjectV6Schema(??)\nmetasip.schemas.project_v6_schema.implements(??)\nmetasip.schemas.project_v7_schema(??)\nmetasip.schemas.project_v7_schema.IDisplay(??)\nmetasip.schemas.project_v7_schema.IFilterHints(??)\nmetasip.schemas.project_v7_schema.ISchema(??)\nmetasip.schemas.project_v7_schema.Model(??)\nmetasip.schemas.project_v7_schema.ProjectV7Schema(??)\nmetasip.schemas.project_v7_schema.implements(??)\nmetasip.schemas.project_v8_schema(??)\nmetasip.schemas.project_v8_schema.IDisplay(??)\nmetasip.schemas.project_v8_schema.IFilterHints(??)\nmetasip.schemas.project_v8_schema.ISchema(??)\nmetasip.schemas.project_v8_schema.Model(??)\nmetasip.schemas.project_v8_schema.ProjectV8Schema(??)\nmetasip.schemas.project_v8_schema.implements(??)\nmetasip.schemas.project_v9_schema(??)\nmetasip.schemas.project_v9_schema.IDisplay(??)\nmetasip.schemas.project_v9_schema.IFilterHints(??)\nmetasip.schemas.project_v9_schema.ISchema(??)\nmetasip.schemas.project_v9_schema.Model(??)\nmetasip.schemas.project_v9_schema.ProjectV9Schema(??)\nmetasip.schemas.project_v9_schema.implements(??)\nmetasip.stdout_logger(??)\nmetasip.stdout_logger.StdoutLogger(??)\nmetasip.stdout_logger.sys(??)\nmetasip.tools(??)\nmetasip.tools.features(??)\nmetasip.tools.features.FeaturesTool(??)\nmetasip.tools.features.features_tool(??)\nmetasip.tools.features.features_tool.Action(??)\nmetasip.tools.features.features_tool.ActionCollection(??)\nmetasip.tools.features.features_tool.CheckBox(??)\nmetasip.tools.features.features_tool.ComboBox(??)\nmetasip.tools.features.features_tool.Dialog(??)\nmetasip.tools.features.features_tool.DialogController(??)\nmetasip.tools.features.features_tool.FeatureController(??)\nmetasip.tools.features.features_tool.FeaturesTool(??)\nmetasip.tools.features.features_tool.Form(??)\nmetasip.tools.features.features_tool.IAction(??)\nmetasip.tools.features.features_tool.IDialog(??)\nmetasip.tools.features.features_tool.IDirty(??)\nmetasip.tools.features.features_tool.IProject(??)\nmetasip.tools.features.features_tool.ISubscriber(??)\nmetasip.tools.features.features_tool.ITagged_items(??)\nmetasip.tools.features.features_tool.ITool(??)\nmetasip.tools.features.features_tool.LineEditor(??)\nmetasip.tools.features.features_tool.MessageArea(??)\nmetasip.tools.features.features_tool.Model(??)\nmetasip.tools.features.features_tool.VBox(??)\nmetasip.tools.features.features_tool.implements(??)\nmetasip.tools.features.features_tool.observe(??)\nmetasip.tools.features.features_tool.validate_identifier(??)\nmetasip.tools.import_project(??)\nmetasip.tools.import_project.ImportProjectTool(??)\nmetasip.tools.import_project.import_project_tool(??)\nmetasip.tools.import_project.import_project_tool.Action(??)\nmetasip.tools.import_project.import_project_tool.Application(??)\nmetasip.tools.import_project.import_project_tool.Dialog(??)\nmetasip.tools.import_project.import_project_tool.IDialog(??)\nmetasip.tools.import_project.import_project_tool.IDirty(??)\nmetasip.tools.import_project.import_project_tool.IFilterHints(??)\nmetasip.tools.import_project.import_project_tool.IHeaderDirectory(??)\nmetasip.tools.import_project.import_project_tool.IModule(??)\nmetasip.tools.import_project.import_project_tool.IProject(??)\nmetasip.tools.import_project.import_project_tool.ISubscriber(??)\nmetasip.tools.import_project.import_project_tool.ITool(??)\nmetasip.tools.import_project.import_project_tool.ImportProjectTool(??)\nmetasip.tools.import_project.import_project_tool.IoManager(??)\nmetasip.tools.import_project.import_project_tool.Model(??)\nmetasip.tools.import_project.import_project_tool.StorageLocationEditor(??)\nmetasip.tools.import_project.import_project_tool.implements(??)\nmetasip.tools.import_project.import_project_tool.os(??)\nmetasip.tools.logger(??)\nmetasip.tools.logger.LoggerTool(??)\nmetasip.tools.logger.logger_tool(??)\nmetasip.tools.logger.logger_tool.Logger(??)\nmetasip.tools.logger.logger_tool.LoggerTool(??)\nmetasip.tools.logger.logger_tool.QAbstractSlider(parent: QWidget = None)\nmetasip.tools.logger.logger_tool.QApplication(List[str])\nmetasip.tools.logger.logger_tool.QPlainTextEdit(parent: QWidget = None)\nmetasip.tools.logger.logger_tool.SimpleViewTool(??)\nmetasip.tools.logger.logger_tool.unadapted(??)\nmetasip.tools.modules.ModulesTool(??)\nmetasip.tools.modules.modules_tool(??)\nmetasip.tools.modules.modules_tool.Action(??)\nmetasip.tools.modules.modules_tool.ActionCollection(??)\nmetasip.tools.modules.modules_tool.CheckBox(??)\nmetasip.tools.modules.modules_tool.ComboBox(??)\nmetasip.tools.modules.modules_tool.Dialog(??)\nmetasip.tools.modules.modules_tool.DialogController(??)\nmetasip.tools.modules.modules_tool.Form(??)\nmetasip.tools.modules.modules_tool.IAction(??)\nmetasip.tools.modules.modules_tool.IDialog(??)\nmetasip.tools.modules.modules_tool.IDirty(??)\nmetasip.tools.modules.modules_tool.IProject(??)\nmetasip.tools.modules.modules_tool.ISubscriber(??)\nmetasip.tools.modules.modules_tool.ITool(??)\nmetasip.tools.modules.modules_tool.LineEditor(??)\nmetasip.tools.modules.modules_tool.MessageArea(??)\nmetasip.tools.modules.modules_tool.Model(??)\nmetasip.tools.modules.modules_tool.Module(??)\nmetasip.tools.modules.modules_tool.ModuleController(??)\nmetasip.tools.modules.modules_tool.ModulesTool(??)\nmetasip.tools.modules.modules_tool.VBox(??)\nmetasip.tools.modules.modules_tool.implements(??)\nmetasip.tools.modules.modules_tool.observe(??)\nmetasip.tools.modules.modules_tool.validate_identifier(??)\nmetasip.tools.platforms(??)\nmetasip.tools.platforms.PlatformsTool(??)\nmetasip.tools.platforms.platforms_tool(??)\nmetasip.tools.platforms.platforms_tool.Action(??)\nmetasip.tools.platforms.platforms_tool.ActionCollection(??)\nmetasip.tools.platforms.platforms_tool.CheckBox(??)\nmetasip.tools.platforms.platforms_tool.ComboBox(??)\nmetasip.tools.platforms.platforms_tool.Dialog(??)\nmetasip.tools.platforms.platforms_tool.DialogController(??)\nmetasip.tools.platforms.platforms_tool.Form(??)\nmetasip.tools.platforms.platforms_tool.IAction(??)\nmetasip.tools.platforms.platforms_tool.IDialog(??)\nmetasip.tools.platforms.platforms_tool.IDirty(??)\nmetasip.tools.platforms.platforms_tool.IProject(??)\nmetasip.tools.platforms.platforms_tool.ISubscriber(??)\nmetasip.tools.platforms.platforms_tool.ITagged_items(??)\nmetasip.tools.platforms.platforms_tool.ITool(??)\nmetasip.tools.platforms.platforms_tool.LineEditor(??)\nmetasip.tools.platforms.platforms_tool.MessageArea(??)\nmetasip.tools.platforms.platforms_tool.Model(??)\nmetasip.tools.platforms.platforms_tool.PlatformController(??)\nmetasip.tools.platforms.platforms_tool.PlatformsTool(??)\nmetasip.tools.platforms.platforms_tool.VBox(??)\nmetasip.tools.platforms.platforms_tool.implements(??)\nmetasip.tools.platforms.platforms_tool.observe(??)\nmetasip.tools.platforms.platforms_tool.validate_identifier(??)\nmetasip.tools.scanner.ScannerTool(??)\nmetasip.tools.scanner.module_validator.IValidator(??)\nmetasip.tools.scanner.module_validator.Model(??)\nmetasip.tools.scanner.module_validator.ModuleValidator(??)\nmetasip.tools.scanner.module_validator.implements(??)\nmetasip.tools.scanner.scanner_controller.Application(??)\nmetasip.tools.scanner.scanner_controller.Controller(??)\nmetasip.tools.scanner.scanner_controller.HeaderDirectory(??)\nmetasip.tools.scanner.scanner_controller.HeaderFile(??)\nmetasip.tools.scanner.scanner_controller.HeaderFileVersion(??)\nmetasip.tools.scanner.scanner_controller.ICodeContainer(??)\nmetasip.tools.scanner.scanner_controller.IDirty(??)\nmetasip.tools.scanner.scanner_controller.IEnum(??)\nmetasip.tools.scanner.scanner_controller.IHeaderDirectory(??)\nmetasip.tools.scanner.scanner_controller.IHeaderFile(??)\nmetasip.tools.scanner.scanner_controller.IProject(??)\nmetasip.tools.scanner.scanner_controller.Instance(??)\nmetasip.tools.scanner.scanner_controller.List(??)\nmetasip.tools.scanner.scanner_controller.Logger(??)\nmetasip.tools.scanner.scanner_controller.ManualCode(??)\nmetasip.tools.scanner.scanner_controller.Project(??)\nmetasip.tools.scanner.scanner_controller.QInputDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\nmetasip.tools.scanner.scanner_controller.ScannerController(??)\nmetasip.tools.scanner.scanner_controller.ScannerView(??)\nmetasip.tools.scanner.scanner_controller.SipFile(??)\nmetasip.tools.scanner.scanner_controller.VersionRange(??)\nmetasip.tools.scanner.scanner_controller.glob(??)\nmetasip.tools.scanner.scanner_controller.hashlib(??)\nmetasip.tools.scanner.scanner_controller.observe(??)\nmetasip.tools.scanner.scanner_controller.os(??)\nmetasip.tools.scanner.scanner_controller.unadapted(??)\nmetasip.tools.scanner.scanner_model.Bool(??)\nmetasip.tools.scanner.scanner_model.Instance(??)\nmetasip.tools.scanner.scanner_model.Model(??)\nmetasip.tools.scanner.scanner_model.ScannerModel(??)\nmetasip.tools.scanner.scanner_model.Str(??)\nmetasip.tools.scanner.scanner_tool(??)\nmetasip.tools.scanner.scanner_tool.IProject(??)\nmetasip.tools.scanner.scanner_tool.ISubscriber(??)\nmetasip.tools.scanner.scanner_tool.ScannerTool(??)\nmetasip.tools.scanner.scanner_tool.SimpleViewTool(??)\nmetasip.tools.scanner.scanner_tool.implements(??)\nmetasip.tools.scanner.scanner_tool.observe(??)\nmetasip.tools.scanner.scanner_view(??)\nmetasip.tools.scanner.scanner_view.HeaderDirectoryItem(??)\nmetasip.tools.scanner.scanner_view.HeaderFileItem(??)\nmetasip.tools.scanner.scanner_view.ProjectItem(??)\nmetasip.tools.scanner.scanner_view.QTreeWidget(parent: QWidget = None)\nmetasip.tools.scanner.scanner_view.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\nmetasip.tools.scanner.scanner_view.Qt(??)\nmetasip.tools.scanner.scanner_view.ScannerItem(??)\nmetasip.tools.scanner.scanner_view.ScannerView(??)\nmetasip.tools.scanner.scanner_view.observe(??)\nmetasip.tools.schema_validator.SchemaValidatorTool(??)\nmetasip.tools.schema_validator.schema_validator(??)\nmetasip.tools.schema_validator.schema_validator.Instance(??)\nmetasip.tools.schema_validator.schema_validator.Model(??)\nmetasip.tools.schema_validator.schema_validator.QAbstractMessageHandler(parent: QObject = None)\nmetasip.tools.schema_validator.schema_validator.QFile()\nmetasip.tools.schema_validator.schema_validator.QIODevice()\nmetasip.tools.schema_validator.schema_validator.QSourceLocation()\nmetasip.tools.schema_validator.schema_validator.QUrl()\nmetasip.tools.schema_validator.schema_validator.QXmlSchema()\nmetasip.tools.schema_validator.schema_validator.QXmlSchemaValidator()\nmetasip.tools.schema_validator.schema_validator.SchemaValidationException(??)\nmetasip.tools.schema_validator.schema_validator.SchemaValidator(??)\nmetasip.tools.schema_validator.schema_validator.Str(??)\nmetasip.tools.schema_validator.schema_validator_tool(??)\nmetasip.tools.schema_validator.schema_validator_tool.Action(??)\nmetasip.tools.schema_validator.schema_validator_tool.Application(??)\nmetasip.tools.schema_validator.schema_validator_tool.Dialog(??)\nmetasip.tools.schema_validator.schema_validator_tool.DialogController(??)\nmetasip.tools.schema_validator.schema_validator_tool.IAction(??)\nmetasip.tools.schema_validator.schema_validator_tool.IDialog(??)\nmetasip.tools.schema_validator.schema_validator_tool.IEditor(??)\nmetasip.tools.schema_validator.schema_validator_tool.IFilterHints(??)\nmetasip.tools.schema_validator.schema_validator_tool.ISchema(??)\nmetasip.tools.schema_validator.schema_validator_tool.IStorageLocationEditor(??)\nmetasip.tools.schema_validator.schema_validator_tool.ITool(??)\nmetasip.tools.schema_validator.schema_validator_tool.Label(??)\nmetasip.tools.schema_validator.schema_validator_tool.List(??)\nmetasip.tools.schema_validator.schema_validator_tool.Model(??)\nmetasip.tools.schema_validator.schema_validator_tool.OptionList(??)\nmetasip.tools.schema_validator.schema_validator_tool.SchemaValidatorTool(??)\nmetasip.tools.schema_validator.schema_validator_tool.StorageLocationEditor(??)\nmetasip.tools.schema_validator.schema_validator_tool.Str(??)\nmetasip.tools.schema_validator.schema_validator_tool.VBox(??)\nmetasip.tools.schema_validator.schema_validator_tool.implements(??)\nmetasip.tools.schema_validator.schema_validator_tool.os(??)\nmetasip.tools.schema_validator.schema_validator_tool.sys(??)\nmetasip.tools.versions(??)\nmetasip.tools.versions.VersionsTool(??)\nmetasip.tools.versions.versions_tool(??)\nmetasip.tools.versions.versions_tool.Action(??)\nmetasip.tools.versions.versions_tool.ActionCollection(??)\nmetasip.tools.versions.versions_tool.Application(??)\nmetasip.tools.versions.versions_tool.CheckBox(??)\nmetasip.tools.versions.versions_tool.ComboBox(??)\nmetasip.tools.versions.versions_tool.Dialog(??)\nmetasip.tools.versions.versions_tool.DialogController(??)\nmetasip.tools.versions.versions_tool.HeaderFileVersion(??)\nmetasip.tools.versions.versions_tool.IAction(??)\nmetasip.tools.versions.versions_tool.IDialog(??)\nmetasip.tools.versions.versions_tool.IDirty(??)\nmetasip.tools.versions.versions_tool.IProject(??)\nmetasip.tools.versions.versions_tool.ISubscriber(??)\nmetasip.tools.versions.versions_tool.ITagged_items(??)\nmetasip.tools.versions.versions_tool.ITool(??)\nmetasip.tools.versions.versions_tool.LineEditor(??)\nmetasip.tools.versions.versions_tool.MessageArea(??)\nmetasip.tools.versions.versions_tool.Model(??)\nmetasip.tools.versions.versions_tool.VersionController(??)\nmetasip.tools.versions.versions_tool.VersionsTool(??)\nmetasip.tools.versions.versions_tool.implements(??)\nmetasip.tools.versions.versions_tool.observe(??)\nmetasip.tools.versions.versions_tool.validate_identifier(??)\nmetasip.update_manager(??)\nmetasip.update_manager.Singleton(??)\nmetasip.update_manager.UpdateManager(??)\nmetasip.updates.ProjectV10Update(??)\nmetasip.updates.ProjectV11Update(??)\nmetasip.updates.ProjectV12Update(??)\nmetasip.updates.ProjectV13Update(??)\nmetasip.updates.ProjectV14Update(??)\nmetasip.updates.ProjectV2Update(??)\nmetasip.updates.ProjectV3Update(??)\nmetasip.updates.ProjectV4Update(??)\nmetasip.updates.ProjectV5Update(??)\nmetasip.updates.ProjectV6Update(??)\nmetasip.updates.ProjectV7Update(??)\nmetasip.updates.ProjectV8Update(??)\nmetasip.updates.ProjectV9Update(??)\nmetasip.updates.project_v10_update(??)\nmetasip.updates.project_v10_update.IUpdate(??)\nmetasip.updates.project_v10_update.Model(??)\nmetasip.updates.project_v10_update.ProjectV10Update(??)\nmetasip.updates.project_v10_update.implements(??)\nmetasip.updates.project_v11_update(??)\nmetasip.updates.project_v11_update.IUpdate(??)\nmetasip.updates.project_v11_update.Model(??)\nmetasip.updates.project_v11_update.ProjectV11Update(??)\nmetasip.updates.project_v11_update.implements(??)\nmetasip.updates.project_v12_update(??)\nmetasip.updates.project_v12_update.IUpdate(??)\nmetasip.updates.project_v12_update.Model(??)\nmetasip.updates.project_v12_update.ProjectV12Update(??)\nmetasip.updates.project_v12_update.implements(??)\nmetasip.updates.project_v13_update(??)\nmetasip.updates.project_v13_update.IUpdate(??)\nmetasip.updates.project_v13_update.Model(??)\nmetasip.updates.project_v13_update.ProjectV13Update(??)\nmetasip.updates.project_v13_update.implements(??)\nmetasip.updates.project_v14_update(??)\nmetasip.updates.project_v14_update.IUpdate(??)\nmetasip.updates.project_v14_update.Model(??)\nmetasip.updates.project_v14_update.ProjectV14Update(??)\nmetasip.updates.project_v14_update.implements(??)\nmetasip.updates.project_v2_update(??)\nmetasip.updates.project_v2_update.ElementTree(??)\nmetasip.updates.project_v2_update.IUpdate(??)\nmetasip.updates.project_v2_update.Model(??)\nmetasip.updates.project_v2_update.ProjectV2Update(??)\nmetasip.updates.project_v2_update.QComboBox(parent: QWidget = None)\nmetasip.updates.project_v2_update.implements(??)\nmetasip.updates.project_v3_update(??)\nmetasip.updates.project_v3_update.IUpdate(??)\nmetasip.updates.project_v3_update.Model(??)\nmetasip.updates.project_v3_update.ProjectV3Update(??)\nmetasip.updates.project_v3_update.implements(??)\nmetasip.updates.project_v4_update(??)\nmetasip.updates.project_v4_update.IUpdate(??)\nmetasip.updates.project_v4_update.Model(??)\nmetasip.updates.project_v4_update.ProjectV4Update(??)\nmetasip.updates.project_v4_update.implements(??)\nmetasip.updates.project_v5_update(??)\nmetasip.updates.project_v5_update.IUpdate(??)\nmetasip.updates.project_v5_update.Model(??)\nmetasip.updates.project_v5_update.ProjectV5Update(??)\nmetasip.updates.project_v5_update.implements(??)\nmetasip.updates.project_v6_update(??)\nmetasip.updates.project_v6_update.IUpdate(??)\nmetasip.updates.project_v6_update.Model(??)\nmetasip.updates.project_v6_update.ProjectV6Update(??)\nmetasip.updates.project_v6_update.implements(??)\nmetasip.updates.project_v7_update(??)\nmetasip.updates.project_v7_update.IUpdate(??)\nmetasip.updates.project_v7_update.Model(??)\nmetasip.updates.project_v7_update.ProjectV7Update(??)\nmetasip.updates.project_v7_update.implements(??)\nmetasip.updates.project_v8_update(??)\nmetasip.updates.project_v8_update.IUpdate(??)\nmetasip.updates.project_v8_update.Model(??)\nmetasip.updates.project_v8_update.ProjectV8Update(??)\nmetasip.updates.project_v8_update.implements(??)\nmetasip.updates.project_v9_update(??)\nmetasip.updates.project_v9_update.IUpdate(??)\nmetasip.updates.project_v9_update.Model(??)\nmetasip.updates.project_v9_update.ProjectV9Update(??)\nmetasip.updates.project_v9_update.implements(??)\nmetasip.utils(??)\nmetasip.utils.project(??)\nmetasip.utils.project.ICodeContainer(??)\nmetasip.utils.project.IEnum(??)\nmetasip.utils.project.ITagged_items(??)\nmetasip.utils.project.re(??)\nmetasip.utils.project.validate_identifier(??)\nmetasip.version(??)\nmetasip.version.METASIP_HEXVERSION\nmetasip.version.METASIP_RELEASE\nmimetypes.MimeTypes(??)\nmimetypes.add_type(??)\nmimetypes.common_types(??)\nmimetypes.encodings_map(??)\nmimetypes.guess_all_extensions(??)\nmimetypes.guess_extension(??)\nmimetypes.guess_type(??)\nmimetypes.init(??)\nmimetypes.inited(??)\nmimetypes.knownfiles(??)\nmimetypes.os(??)\nmimetypes.posixpath(??)\nmimetypes.read_mime_types(??)\nmimetypes.suffix_map(??)\nmimetypes.sys(??)\nmimetypes.types_map(??)\nmimetypes.urllib(??)\nmin(iterable, *[, default=obj, key=func]) -> value\nmodulefinder.AddPackagePath(??)\nmodulefinder.EXTENDED_ARG\nmodulefinder.IMPORT_NAME\nmodulefinder.LOAD_CONST\nmodulefinder.Module(??)\nmodulefinder.ModuleFinder(??)\nmodulefinder.ReplacePackage(??)\nmodulefinder.STORE_GLOBAL\nmodulefinder.STORE_NAME\nmodulefinder.STORE_OPS(??)\nmodulefinder.dis(??)\nmodulefinder.importlib(??)\nmodulefinder.io(??)\nmodulefinder.marshal(??)\nmodulefinder.os(??)\nmodulefinder.packagePathMap(??)\nmodulefinder.replacePackageMap(??)\nmodulefinder.sys(??)\nmodulefinder.test(??)\nmultiprocessing.Array(??)\nmultiprocessing.AuthenticationError(??)\nmultiprocessing.Barrier(??)\nmultiprocessing.BoundedSemaphore(??)\nmultiprocessing.BufferTooShort(??)\nmultiprocessing.Condition(??)\nmultiprocessing.Event(??)\nmultiprocessing.JoinableQueue(??)\nmultiprocessing.Lock(??)\nmultiprocessing.Manager(??)\nmultiprocessing.Pipe(??)\nmultiprocessing.Pool(??)\nmultiprocessing.Process(??)\nmultiprocessing.ProcessError(??)\nmultiprocessing.Queue(??)\nmultiprocessing.RLock(??)\nmultiprocessing.RawArray(??)\nmultiprocessing.RawValue(??)\nmultiprocessing.SUBDEBUG\nmultiprocessing.SUBWARNING\nmultiprocessing.Semaphore(??)\nmultiprocessing.SimpleQueue(??)\nmultiprocessing.TimeoutError(??)\nmultiprocessing.Value(??)\nmultiprocessing.active_children(??)\nmultiprocessing.allow_connection_pickling(??)\nmultiprocessing.connection(??)\nmultiprocessing.connection.AuthenticationError(??)\nmultiprocessing.connection.BUFSIZE\nmultiprocessing.connection.BufferTooShort(??)\nmultiprocessing.connection.CHALLENGE\nmultiprocessing.connection.CONNECTION_TIMEOUT\nmultiprocessing.connection.Client(??)\nmultiprocessing.connection.Connection(??)\nmultiprocessing.connection.ConnectionWrapper(??)\nmultiprocessing.connection.FAILURE\nmultiprocessing.connection.Listener(??)\nmultiprocessing.connection.MESSAGE_LENGTH\nmultiprocessing.connection.Pipe(??)\nmultiprocessing.connection.SocketClient(??)\nmultiprocessing.connection.SocketListener(??)\nmultiprocessing.connection.WELCOME\nmultiprocessing.connection.XmlClient(??)\nmultiprocessing.connection.XmlListener(??)\nmultiprocessing.connection.address_type(??)\nmultiprocessing.connection.answer_challenge(??)\nmultiprocessing.connection.arbitrary_address(??)\nmultiprocessing.connection.default_family\nmultiprocessing.connection.deliver_challenge(??)\nmultiprocessing.connection.families(??)\nmultiprocessing.connection.io(??)\nmultiprocessing.connection.itertools(??)\nmultiprocessing.connection.os(??)\nmultiprocessing.connection.rebuild_connection(??)\nmultiprocessing.connection.reduce_connection(??)\nmultiprocessing.connection.reduction(??)\nmultiprocessing.connection.selectors(??)\nmultiprocessing.connection.socket(??)\nmultiprocessing.connection.struct(??)\nmultiprocessing.connection.sys(??)\nmultiprocessing.connection.tempfile(??)\nmultiprocessing.connection.time(??)\nmultiprocessing.connection.util(??)\nmultiprocessing.connection.wait(??)\nmultiprocessing.context(??)\nmultiprocessing.context.AuthenticationError(??)\nmultiprocessing.context.BaseContext(??)\nmultiprocessing.context.BufferTooShort(??)\nmultiprocessing.context.DefaultContext(??)\nmultiprocessing.context.ForkContext(??)\nmultiprocessing.context.ForkProcess(??)\nmultiprocessing.context.ForkServerContext(??)\nmultiprocessing.context.ForkServerProcess(??)\nmultiprocessing.context.Process(??)\nmultiprocessing.context.ProcessError(??)\nmultiprocessing.context.SpawnContext(??)\nmultiprocessing.context.SpawnProcess(??)\nmultiprocessing.context.TimeoutError(??)\nmultiprocessing.context.assert_spawning(??)\nmultiprocessing.context.get_spawning_popen(??)\nmultiprocessing.context.os(??)\nmultiprocessing.context.process(??)\nmultiprocessing.context.reduction(??)\nmultiprocessing.context.set_spawning_popen(??)\nmultiprocessing.context.sys(??)\nmultiprocessing.context.threading(??)\nmultiprocessing.cpu_count(??)\nmultiprocessing.current_process(??)\nmultiprocessing.dummy(??)\nmultiprocessing.dummy.Array(??)\nmultiprocessing.dummy.Barrier(??)\nmultiprocessing.dummy.BoundedSemaphore(??)\nmultiprocessing.dummy.Condition(??)\nmultiprocessing.dummy.DummyProcess(??)\nmultiprocessing.dummy.Event(??)\nmultiprocessing.dummy.JoinableQueue(??)\nmultiprocessing.dummy.Lock(??)\nmultiprocessing.dummy.Manager(??)\nmultiprocessing.dummy.Namespace(??)\nmultiprocessing.dummy.Pipe(??)\nmultiprocessing.dummy.Pool(??)\nmultiprocessing.dummy.Process(??)\nmultiprocessing.dummy.Queue(??)\nmultiprocessing.dummy.RLock(??)\nmultiprocessing.dummy.Semaphore(??)\nmultiprocessing.dummy.Value(??)\nmultiprocessing.dummy.active_children(??)\nmultiprocessing.dummy.array(??)\nmultiprocessing.dummy.connection(??)\nmultiprocessing.dummy.connection.Client(??)\nmultiprocessing.dummy.connection.Connection(??)\nmultiprocessing.dummy.connection.Listener(??)\nmultiprocessing.dummy.connection.Pipe(??)\nmultiprocessing.dummy.connection.Queue(??)\nmultiprocessing.dummy.connection.families(??)\nmultiprocessing.dummy.current_process(??)\nmultiprocessing.dummy.dict() -> new empty dictionary\nmultiprocessing.dummy.freeze_support(??)\nmultiprocessing.dummy.list(??)\nmultiprocessing.dummy.shutdown(??)\nmultiprocessing.dummy.sys(??)\nmultiprocessing.dummy.threading(??)\nmultiprocessing.dummy.weakref(??)\nmultiprocessing.forkserver.ForkServer(??)\nmultiprocessing.forkserver.MAXFDS_TO_SEND\nmultiprocessing.forkserver.SIGNED_STRUCT(??)\nmultiprocessing.forkserver.connect_to_new_process(??)\nmultiprocessing.forkserver.connection(??)\nmultiprocessing.forkserver.ensure_running(??)\nmultiprocessing.forkserver.errno(??)\nmultiprocessing.forkserver.get_inherited_fds(??)\nmultiprocessing.forkserver.main(??)\nmultiprocessing.forkserver.os(??)\nmultiprocessing.forkserver.process(??)\nmultiprocessing.forkserver.read_signed(??)\nmultiprocessing.forkserver.reduction(??)\nmultiprocessing.forkserver.resource_tracker(??)\nmultiprocessing.forkserver.selectors(??)\nmultiprocessing.forkserver.set_forkserver_preload(??)\nmultiprocessing.forkserver.signal(??)\nmultiprocessing.forkserver.socket(??)\nmultiprocessing.forkserver.spawn(??)\nmultiprocessing.forkserver.struct(??)\nmultiprocessing.forkserver.sys(??)\nmultiprocessing.forkserver.threading(??)\nmultiprocessing.forkserver.util(??)\nmultiprocessing.forkserver.warnings(??)\nmultiprocessing.forkserver.write_signed(??)\nmultiprocessing.freeze_support(??)\nmultiprocessing.get_all_start_methods(??)\nmultiprocessing.get_context(??)\nmultiprocessing.get_logger(??)\nmultiprocessing.get_start_method(??)\nmultiprocessing.heap(??)\nmultiprocessing.heap.Arena(??)\nmultiprocessing.heap.BufferWrapper(??)\nmultiprocessing.heap.Heap(??)\nmultiprocessing.heap.assert_spawning(??)\nmultiprocessing.heap.bisect(??)\nmultiprocessing.heap.defaultdict(default_factory[, ...]) --> dict with default factory\nmultiprocessing.heap.mmap(??)\nmultiprocessing.heap.os(??)\nmultiprocessing.heap.rebuild_arena(??)\nmultiprocessing.heap.reduce_arena(??)\nmultiprocessing.heap.reduction(??)\nmultiprocessing.heap.sys(??)\nmultiprocessing.heap.tempfile(??)\nmultiprocessing.heap.threading(??)\nmultiprocessing.heap.util(??)\nmultiprocessing.log_to_stderr(??)\nmultiprocessing.managers.AcquirerProxy(??)\nmultiprocessing.managers.Array(??)\nmultiprocessing.managers.ArrayProxy(??)\nmultiprocessing.managers.AutoProxy(??)\nmultiprocessing.managers.BarrierProxy(??)\nmultiprocessing.managers.BaseListProxy(??)\nmultiprocessing.managers.BaseManager(??)\nmultiprocessing.managers.BasePoolProxy(??)\nmultiprocessing.managers.BaseProxy(??)\nmultiprocessing.managers.ConditionProxy(??)\nmultiprocessing.managers.DictProxy(??)\nmultiprocessing.managers.EventProxy(??)\nmultiprocessing.managers.HAS_SHMEM(??)\nmultiprocessing.managers.IteratorProxy(??)\nmultiprocessing.managers.ListProxy(??)\nmultiprocessing.managers.MakeProxyType(??)\nmultiprocessing.managers.Namespace(??)\nmultiprocessing.managers.NamespaceProxy(??)\nmultiprocessing.managers.PoolProxy(??)\nmultiprocessing.managers.ProcessError(??)\nmultiprocessing.managers.ProcessLocalSet(??)\nmultiprocessing.managers.RebuildProxy(??)\nmultiprocessing.managers.RemoteError(??)\nmultiprocessing.managers.Server(??)\nmultiprocessing.managers.SharedMemoryManager(??)\nmultiprocessing.managers.SharedMemoryServer(??)\nmultiprocessing.managers.State(??)\nmultiprocessing.managers.SyncManager(??)\nmultiprocessing.managers.Token(??)\nmultiprocessing.managers.Value(??)\nmultiprocessing.managers.ValueProxy(??)\nmultiprocessing.managers.all_methods(??)\nmultiprocessing.managers.array(??)\nmultiprocessing.managers.connection(??)\nmultiprocessing.managers.convert_to_error(??)\nmultiprocessing.managers.dispatch(??)\nmultiprocessing.managers.format_exc(??)\nmultiprocessing.managers.get_context(??)\nmultiprocessing.managers.get_spawning_popen(??)\nmultiprocessing.managers.getpid(??)\nmultiprocessing.managers.listener_client(??)\nmultiprocessing.managers.os(??)\nmultiprocessing.managers.pool(??)\nmultiprocessing.managers.process(??)\nmultiprocessing.managers.public_methods(??)\nmultiprocessing.managers.queue(??)\nmultiprocessing.managers.rebuild_as_list(??)\nmultiprocessing.managers.reduce_array(??)\nmultiprocessing.managers.reduction(??)\nmultiprocessing.managers.shared_memory(??)\nmultiprocessing.managers.signal(??)\nmultiprocessing.managers.sys(??)\nmultiprocessing.managers.threading(??)\nmultiprocessing.managers.time(??)\nmultiprocessing.managers.types(??)\nmultiprocessing.managers.util(??)\nmultiprocessing.managers.view_type(??)\nmultiprocessing.managers.view_types(??)\nmultiprocessing.parent_process(??)\nmultiprocessing.pool.ApplyResult(??)\nmultiprocessing.pool.AsyncResult(??)\nmultiprocessing.pool.CLOSE\nmultiprocessing.pool.ExceptionWithTraceback(??)\nmultiprocessing.pool.IMapIterator(??)\nmultiprocessing.pool.IMapUnorderedIterator(??)\nmultiprocessing.pool.INIT\nmultiprocessing.pool.MapResult(??)\nmultiprocessing.pool.MaybeEncodingError(??)\nmultiprocessing.pool.Pool(??)\nmultiprocessing.pool.RUN\nmultiprocessing.pool.RemoteTraceback(??)\nmultiprocessing.pool.TERMINATE\nmultiprocessing.pool.ThreadPool(??)\nmultiprocessing.pool.TimeoutError(??)\nmultiprocessing.pool.collections(??)\nmultiprocessing.pool.get_context(??)\nmultiprocessing.pool.itertools(??)\nmultiprocessing.pool.job_counter(??)\nmultiprocessing.pool.mapstar(??)\nmultiprocessing.pool.os(??)\nmultiprocessing.pool.queue(??)\nmultiprocessing.pool.rebuild_exc(??)\nmultiprocessing.pool.starmapstar(??)\nmultiprocessing.pool.threading(??)\nmultiprocessing.pool.time(??)\nmultiprocessing.pool.traceback(??)\nmultiprocessing.pool.types(??)\nmultiprocessing.pool.util(??)\nmultiprocessing.pool.wait(??)\nmultiprocessing.pool.warnings(??)\nmultiprocessing.pool.worker(??)\nmultiprocessing.popen_fork.Popen(??)\nmultiprocessing.popen_fork.os(??)\nmultiprocessing.popen_fork.signal(??)\nmultiprocessing.popen_fork.util(??)\nmultiprocessing.popen_forkserver.Popen(??)\nmultiprocessing.popen_forkserver.forkserver(??)\nmultiprocessing.popen_forkserver.io(??)\nmultiprocessing.popen_forkserver.os(??)\nmultiprocessing.popen_forkserver.popen_fork(??)\nmultiprocessing.popen_forkserver.reduction(??)\nmultiprocessing.popen_forkserver.set_spawning_popen(??)\nmultiprocessing.popen_forkserver.spawn(??)\nmultiprocessing.popen_forkserver.util(??)\nmultiprocessing.popen_spawn_posix.Popen(??)\nmultiprocessing.popen_spawn_posix.io(??)\nmultiprocessing.popen_spawn_posix.os(??)\nmultiprocessing.popen_spawn_posix.popen_fork(??)\nmultiprocessing.popen_spawn_posix.reduction(??)\nmultiprocessing.popen_spawn_posix.set_spawning_popen(??)\nmultiprocessing.popen_spawn_posix.spawn(??)\nmultiprocessing.popen_spawn_posix.util(??)\nmultiprocessing.process(??)\nmultiprocessing.process.AuthenticationString(??)\nmultiprocessing.process.BaseProcess(??)\nmultiprocessing.process.ORIGINAL_DIR\nmultiprocessing.process.WeakSet(??)\nmultiprocessing.process.active_children(??)\nmultiprocessing.process.current_process(??)\nmultiprocessing.process.itertools(??)\nmultiprocessing.process.name\nmultiprocessing.process.os(??)\nmultiprocessing.process.parent_process(??)\nmultiprocessing.process.signal(??)\nmultiprocessing.process.signum(??)\nmultiprocessing.process.sys(??)\nmultiprocessing.process.threading(??)\nmultiprocessing.queues(??)\nmultiprocessing.queues.Empty(??)\nmultiprocessing.queues.Finalize(??)\nmultiprocessing.queues.Full(??)\nmultiprocessing.queues.JoinableQueue(??)\nmultiprocessing.queues.Queue(??)\nmultiprocessing.queues.SimpleQueue(??)\nmultiprocessing.queues.collections(??)\nmultiprocessing.queues.connection(??)\nmultiprocessing.queues.context(??)\nmultiprocessing.queues.debug(??)\nmultiprocessing.queues.errno(??)\nmultiprocessing.queues.info(??)\nmultiprocessing.queues.is_exiting(??)\nmultiprocessing.queues.os(??)\nmultiprocessing.queues.register_after_fork(??)\nmultiprocessing.queues.sys(??)\nmultiprocessing.queues.threading(??)\nmultiprocessing.queues.time(??)\nmultiprocessing.queues.types(??)\nmultiprocessing.queues.weakref(??)\nmultiprocessing.reducer(??)\nmultiprocessing.reduction(??)\nmultiprocessing.reduction.ABCMeta(??)\nmultiprocessing.reduction.ACKNOWLEDGE(??)\nmultiprocessing.reduction.AbstractReducer(??)\nmultiprocessing.reduction.DupFd(??)\nmultiprocessing.reduction.ForkingPickler(??)\nmultiprocessing.reduction.HAVE_SEND_HANDLE(??)\nmultiprocessing.reduction.array(??)\nmultiprocessing.reduction.context(??)\nmultiprocessing.reduction.copyreg(??)\nmultiprocessing.reduction.dump(??)\nmultiprocessing.reduction.functools(??)\nmultiprocessing.reduction.io(??)\nmultiprocessing.reduction.os(??)\nmultiprocessing.reduction.pickle(??)\nmultiprocessing.reduction.recv_handle(??)\nmultiprocessing.reduction.recvfds(??)\nmultiprocessing.reduction.register(??)\nmultiprocessing.reduction.send_handle(??)\nmultiprocessing.reduction.sendfds(??)\nmultiprocessing.reduction.socket(??)\nmultiprocessing.reduction.sys(??)\nmultiprocessing.resource_sharer.DupFd(??)\nmultiprocessing.resource_sharer.os(??)\nmultiprocessing.resource_sharer.process(??)\nmultiprocessing.resource_sharer.reduction(??)\nmultiprocessing.resource_sharer.signal(??)\nmultiprocessing.resource_sharer.socket(??)\nmultiprocessing.resource_sharer.stop(??)\nmultiprocessing.resource_sharer.sys(??)\nmultiprocessing.resource_sharer.threading(??)\nmultiprocessing.resource_sharer.util(??)\nmultiprocessing.resource_tracker(??)\nmultiprocessing.resource_tracker.ResourceTracker(??)\nmultiprocessing.resource_tracker.ensure_running(??)\nmultiprocessing.resource_tracker.getfd(??)\nmultiprocessing.resource_tracker.main(??)\nmultiprocessing.resource_tracker.os(??)\nmultiprocessing.resource_tracker.register(??)\nmultiprocessing.resource_tracker.signal(??)\nmultiprocessing.resource_tracker.spawn(??)\nmultiprocessing.resource_tracker.sys(??)\nmultiprocessing.resource_tracker.threading(??)\nmultiprocessing.resource_tracker.unregister(??)\nmultiprocessing.resource_tracker.util(??)\nmultiprocessing.resource_tracker.warnings(??)\nmultiprocessing.set_executable(??)\nmultiprocessing.set_forkserver_preload(??)\nmultiprocessing.set_start_method(??)\nmultiprocessing.shared_memory(??)\nmultiprocessing.shared_memory.ShareableList(??)\nmultiprocessing.shared_memory.SharedMemory(??)\nmultiprocessing.shared_memory.errno(??)\nmultiprocessing.shared_memory.mmap(??)\nmultiprocessing.shared_memory.os(??)\nmultiprocessing.shared_memory.partial(func, *args, **keywords) - new function with partial application\nmultiprocessing.shared_memory.secrets(??)\nmultiprocessing.shared_memory.struct(??)\nmultiprocessing.shared_memory.types(??)\nmultiprocessing.sharedctypes.Array(??)\nmultiprocessing.sharedctypes.RawArray(??)\nmultiprocessing.sharedctypes.RawValue(??)\nmultiprocessing.sharedctypes.Synchronized(??)\nmultiprocessing.sharedctypes.SynchronizedArray(??)\nmultiprocessing.sharedctypes.SynchronizedBase(??)\nmultiprocessing.sharedctypes.SynchronizedString(??)\nmultiprocessing.sharedctypes.Value(??)\nmultiprocessing.sharedctypes.assert_spawning(??)\nmultiprocessing.sharedctypes.class_cache(??)\nmultiprocessing.sharedctypes.copy(??)\nmultiprocessing.sharedctypes.ctypes(??)\nmultiprocessing.sharedctypes.get_context(??)\nmultiprocessing.sharedctypes.heap(??)\nmultiprocessing.sharedctypes.make_property(??)\nmultiprocessing.sharedctypes.prop_cache(??)\nmultiprocessing.sharedctypes.rebuild_ctype(??)\nmultiprocessing.sharedctypes.reduce_ctype(??)\nmultiprocessing.sharedctypes.reduction(??)\nmultiprocessing.sharedctypes.synchronized(??)\nmultiprocessing.sharedctypes.template\nmultiprocessing.sharedctypes.typecode_to_type(??)\nmultiprocessing.sharedctypes.weakref(??)\nmultiprocessing.spawn(??)\nmultiprocessing.spawn.WINEXE(??)\nmultiprocessing.spawn.WINSERVICE(??)\nmultiprocessing.spawn.freeze_support(??)\nmultiprocessing.spawn.get_command_line(??)\nmultiprocessing.spawn.get_executable(??)\nmultiprocessing.spawn.get_preparation_data(??)\nmultiprocessing.spawn.get_start_method(??)\nmultiprocessing.spawn.import_main_path(??)\nmultiprocessing.spawn.is_forking(??)\nmultiprocessing.spawn.old_main_modules(??)\nmultiprocessing.spawn.os(??)\nmultiprocessing.spawn.prepare(??)\nmultiprocessing.spawn.process(??)\nmultiprocessing.spawn.reduction(??)\nmultiprocessing.spawn.runpy(??)\nmultiprocessing.spawn.set_executable(??)\nmultiprocessing.spawn.set_start_method(??)\nmultiprocessing.spawn.spawn_main(??)\nmultiprocessing.spawn.sys(??)\nmultiprocessing.spawn.types(??)\nmultiprocessing.spawn.util(??)\nmultiprocessing.synchronize.Barrier(??)\nmultiprocessing.synchronize.BoundedSemaphore(??)\nmultiprocessing.synchronize.Condition(??)\nmultiprocessing.synchronize.Event(??)\nmultiprocessing.synchronize.Lock(??)\nmultiprocessing.synchronize.RECURSIVE_MUTEX\nmultiprocessing.synchronize.RLock(??)\nmultiprocessing.synchronize.SEMAPHORE\nmultiprocessing.synchronize.SEM_VALUE_MAX\nmultiprocessing.synchronize.SemLock(??)\nmultiprocessing.synchronize.Semaphore(??)\nmultiprocessing.synchronize.context(??)\nmultiprocessing.synchronize.process(??)\nmultiprocessing.synchronize.sem_unlink(??)\nmultiprocessing.synchronize.sys(??)\nmultiprocessing.synchronize.tempfile(??)\nmultiprocessing.synchronize.threading(??)\nmultiprocessing.synchronize.time(??)\nmultiprocessing.synchronize.util(??)\nmultiprocessing.sys(??)\nmultiprocessing.util(??)\nmultiprocessing.util.DEBUG\nmultiprocessing.util.DEFAULT_LOGGING_FORMAT\nmultiprocessing.util.Finalize(??)\nmultiprocessing.util.ForkAwareLocal(??)\nmultiprocessing.util.ForkAwareThreadLock(??)\nmultiprocessing.util.INFO\nmultiprocessing.util.LOGGER_NAME\nmultiprocessing.util.MAXFD\nmultiprocessing.util.NOTSET\nmultiprocessing.util.SUBDEBUG\nmultiprocessing.util.SUBWARNING\nmultiprocessing.util.abstract_sockets_supported(??)\nmultiprocessing.util.atexit(??)\nmultiprocessing.util.close_all_fds_except(??)\nmultiprocessing.util.close_fds(??)\nmultiprocessing.util.debug(??)\nmultiprocessing.util.get_logger(??)\nmultiprocessing.util.get_temp_dir(??)\nmultiprocessing.util.info(??)\nmultiprocessing.util.is_abstract_socket_namespace(??)\nmultiprocessing.util.is_exiting(??)\nmultiprocessing.util.itertools(??)\nmultiprocessing.util.log_to_stderr(??)\nmultiprocessing.util.os(??)\nmultiprocessing.util.process(??)\nmultiprocessing.util.register_after_fork(??)\nmultiprocessing.util.spawnv_passfds(??)\nmultiprocessing.util.sub_debug(??)\nmultiprocessing.util.sub_warning(??)\nmultiprocessing.util.sys(??)\nmultiprocessing.util.threading(??)\nmultiprocessing.util.weakref(??)\nnetrc.NetrcParseError(??)\nnetrc.netrc(??)\nnetrc.os(??)\nnetrc.shlex(??)\nnetrc.stat(??)\nnext(iterator[, default])\nnntplib.ArticleInfo(number, message_id, lines)\nnntplib.GroupInfo(group, last, first, flag)\nnntplib.NNTP(??)\nnntplib.NNTPDataError(??)\nnntplib.NNTPError(??)\nnntplib.NNTPPermanentError(??)\nnntplib.NNTPProtocolError(??)\nnntplib.NNTPReplyError(??)\nnntplib.NNTPTemporaryError(??)\nnntplib.NNTP_PORT\nnntplib.NNTP_SSL(??)\nnntplib.NNTP_SSL_PORT\nnntplib.collections(??)\nnntplib.datetime(??)\nnntplib.decode_header(??)\nnntplib.re(??)\nnntplib.socket(??)\nnntplib.ssl(??)\nnntplib.sys(??)\nnumbers.ABCMeta(??)\nnumbers.Complex(??)\nnumbers.Integral(??)\nnumbers.Number(??)\nnumbers.Rational(??)\nnumbers.Real(??)\nnumbers.abstractmethod(??)\nobject(??)\noct(??)\nopen(??)\noperator.abs(??)\noperator.add(??)\noperator.and_(??)\noperator.attrgetter(attr, ...) --> attrgetter object\noperator.concat(??)\noperator.contains(??)\noperator.countOf(??)\noperator.delitem(??)\noperator.eq(??)\noperator.floordiv(??)\noperator.ge(??)\noperator.getitem(??)\noperator.gt(??)\noperator.iadd(??)\noperator.iand(??)\noperator.iconcat(??)\noperator.ifloordiv(??)\noperator.ilshift(??)\noperator.imatmul(??)\noperator.imod(??)\noperator.imul(??)\noperator.index(??)\noperator.indexOf(??)\noperator.inv(??)\noperator.invert(??)\noperator.ior(??)\noperator.ipow(??)\noperator.irshift(??)\noperator.is_(??)\noperator.is_not(??)\noperator.isub(??)\noperator.itemgetter(item, ...) --> itemgetter object\noperator.itruediv(??)\noperator.ixor(??)\noperator.le(??)\noperator.length_hint(??)\noperator.lshift(??)\noperator.lt(??)\noperator.matmul(??)\noperator.methodcaller(name, ...) --> methodcaller object\noperator.mod(??)\noperator.mul(??)\noperator.ne(??)\noperator.neg(??)\noperator.not_(??)\noperator.or_(??)\noperator.pos(??)\noperator.pow(??)\noperator.rshift(??)\noperator.setitem(??)\noperator.sub(??)\noperator.truediv(??)\noperator.truth(??)\noperator.xor(??)\noptparse.AmbiguousOptionError(??)\noptparse.BadOptionError(??)\noptparse.HelpFormatter(??)\noptparse.IndentedHelpFormatter(??)\noptparse.NO_DEFAULT(??)\noptparse.OptParseError(??)\noptparse.Option(??)\noptparse.OptionConflictError(??)\noptparse.OptionContainer(??)\noptparse.OptionError(??)\noptparse.OptionGroup(??)\noptparse.OptionParser(??)\noptparse.OptionValueError(??)\noptparse.SUPPRESS_HELP\noptparse.SUPPRESS_USAGE\noptparse.TitledHelpFormatter(??)\noptparse.Values(??)\noptparse.check_builtin(??)\noptparse.check_choice(??)\noptparse.gettext(??)\noptparse.make_option(??)\noptparse.ngettext(??)\noptparse.os(??)\noptparse.sys(??)\noptparse.textwrap(??)\nord(??)\nos.CLD_CONTINUED\nos.CLD_DUMPED\nos.CLD_EXITED\nos.CLD_KILLED\nos.CLD_STOPPED\nos.CLD_TRAPPED\nos.DirEntry(??)\nos.EX_CANTCREAT\nos.EX_CONFIG\nos.EX_DATAERR\nos.EX_IOERR\nos.EX_NOHOST\nos.EX_NOINPUT\nos.EX_NOPERM\nos.EX_NOUSER\nos.EX_OK\nos.EX_OSERR\nos.EX_OSFILE\nos.EX_PROTOCOL\nos.EX_SOFTWARE\nos.EX_TEMPFAIL\nos.EX_UNAVAILABLE\nos.EX_USAGE\nos.F_LOCK\nos.F_OK\nos.F_TEST\nos.F_TLOCK\nos.F_ULOCK\nos.GenericAlias(??)\nos.Mapping(??)\nos.MutableMapping(??)\nos.NGROUPS_MAX\nos.O_ACCMODE\nos.O_APPEND\nos.O_ASYNC\nos.O_CLOEXEC\nos.O_CREAT\nos.O_DIRECTORY\nos.O_DSYNC\nos.O_EXCL\nos.O_EXLOCK\nos.O_NDELAY\nos.O_NOCTTY\nos.O_NOFOLLOW\nos.O_NONBLOCK\nos.O_RDONLY\nos.O_RDWR\nos.O_SHLOCK\nos.O_SYNC\nos.O_TRUNC\nos.O_WRONLY\nos.POSIX_SPAWN_CLOSE\nos.POSIX_SPAWN_DUP2\nos.POSIX_SPAWN_OPEN\nos.PRIO_PGRP\nos.PRIO_PROCESS\nos.PRIO_USER\nos.P_ALL\nos.P_NOWAIT\nos.P_NOWAITO\nos.P_PGID\nos.P_PID\nos.P_WAIT\nos.PathLike(??)\nos.RTLD_GLOBAL\nos.RTLD_LAZY\nos.RTLD_LOCAL\nos.RTLD_NODELETE\nos.RTLD_NOLOAD\nos.RTLD_NOW\nos.R_OK\nos.SCHED_FIFO\nos.SCHED_OTHER\nos.SCHED_RR\nos.SEEK_CUR\nos.SEEK_END\nos.SEEK_SET\nos.ST_NOSUID\nos.ST_RDONLY\nos.TMP_MAX\nos.WCONTINUED\nos.WCOREDUMP(??)\nos.WEXITED\nos.WEXITSTATUS(??)\nos.WIFCONTINUED(??)\nos.WIFEXITED(??)\nos.WIFSIGNALED(??)\nos.WIFSTOPPED(??)\nos.WNOHANG\nos.WNOWAIT\nos.WSTOPPED\nos.WSTOPSIG(??)\nos.WTERMSIG(??)\nos.WUNTRACED\nos.W_OK\nos.X_OK\nos.abc(??)\nos.abort(??)\nos.access(??)\nos.altsep(??)\nos.chdir(??)\nos.chflags(??)\nos.chmod(??)\nos.chown(??)\nos.chroot(??)\nos.close(??)\nos.closerange(??)\nos.confstr(??)\nos.confstr_names(??)\nos.cpu_count(??)\nos.ctermid(??)\nos.curdir\nos.defpath\nos.device_encoding(??)\nos.devnull\nos.dup(??)\nos.dup2(??)\nos.environ(??)\nos.environb(??)\nos.error(??)\nos.execl(file, *args)\nos.execle(file, *args, env)\nos.execlp(file, *args)\nos.execlpe(file, *args, env)\nos.execv(??)\nos.execve(??)\nos.execvp(file, args)\nos.execvpe(file, args, env)\nos.extsep\nos.fchdir(??)\nos.fchmod(??)\nos.fchown(??)\nos.fdopen(??)\nos.fork(??)\nos.forkpty(??)\nos.fpathconf(??)\nos.fsdecode(??)\nos.fsencode(??)\nos.fspath(??)\nos.fstat(??)\nos.fstatvfs(??)\nos.fsync(??)\nos.ftruncate(??)\nos.get_blocking(??)\nos.get_exec_path(??)\nos.get_inheritable(??)\nos.get_terminal_size(??)\nos.getcwd(??)\nos.getcwdb(??)\nos.getegid(??)\nos.getenv(??)\nos.getenvb(??)\nos.geteuid(??)\nos.getgid(??)\nos.getgrouplist(??)\nos.getgroups(??)\nos.getloadavg(??)\nos.getlogin(??)\nos.getpgid(??)\nos.getpgrp(??)\nos.getpid(??)\nos.getppid(??)\nos.getpriority(??)\nos.getsid(??)\nos.getuid(??)\nos.initgroups(??)\nos.isatty(??)\nos.kill(??)\nos.killpg(??)\nos.lchflags(??)\nos.lchmod(??)\nos.lchown(??)\nos.linesep\nos.link(??)\nos.listdir(??)\nos.lockf(??)\nos.lseek(??)\nos.lstat(??)\nos.major(??)\nos.makedev(??)\nos.makedirs(name [, mode=0o777][, exist_ok=False])\nos.minor(??)\nos.mkdir(??)\nos.mkfifo(??)\nos.mknod(??)\nos.name\nos.nice(??)\nos.open(??)\nos.openpty(??)\nos.pardir\nos.path(??)\nos.pathconf(??)\nos.pathconf_names(??)\nos.pathsep\nos.pipe(??)\nos.popen(??)\nos.posix_spawn(??)\nos.posix_spawnp(??)\nos.pread(??)\nos.putenv(??)\nos.pwrite(??)\nos.read(??)\nos.readlink(??)\nos.readv(??)\nos.register_at_fork(??)\nos.remove(??)\nos.removedirs(name)\nos.rename(??)\nos.renames(old, new)\nos.replace(??)\nos.rmdir(??)\nos.scandir(??)\nos.sched_get_priority_max(??)\nos.sched_get_priority_min(??)\nos.sched_yield(??)\nos.sendfile(??)\nos.sep\nos.set_blocking(??)\nos.set_inheritable(??)\nos.setegid(??)\nos.seteuid(??)\nos.setgid(??)\nos.setgroups(??)\nos.setpgid(??)\nos.setpgrp(??)\nos.setpriority(??)\nos.setregid(??)\nos.setreuid(??)\nos.setsid(??)\nos.setuid(??)\nos.spawnl(mode, file, *args) -> integer\nos.spawnle(mode, file, *args, env) -> integer\nos.spawnlp(mode, file, *args) -> integer\nos.spawnlpe(mode, file, *args, env) -> integer\nos.spawnv(mode, file, args) -> integer\nos.spawnve(mode, file, args, env) -> integer\nos.spawnvp(mode, file, args) -> integer\nos.spawnvpe(mode, file, args, env) -> integer\nos.st(??)\nos.stat(??)\nos.stat_result(??)\nos.statvfs(??)\nos.statvfs_result(??)\nos.strerror(??)\nos.supports_bytes_environ(??)\nos.supports_dir_fd(??)\nos.supports_effective_ids(??)\nos.supports_fd(??)\nos.supports_follow_symlinks(??)\nos.symlink(??)\nos.sync(??)\nos.sys(??)\nos.sysconf(??)\nos.sysconf_names(??)\nos.system(??)\nos.tcgetpgrp(??)\nos.tcsetpgrp(??)\nos.terminal_size(??)\nos.times(??)\nos.times_result(??)\nos.truncate(??)\nos.ttyname(??)\nos.umask(??)\nos.uname(??)\nos.uname_result(??)\nos.unlink(??)\nos.unsetenv(??)\nos.urandom(??)\nos.utime(??)\nos.wait(??)\nos.wait3(??)\nos.wait4(??)\nos.waitpid(??)\nos.waitstatus_to_exitcode(??)\nos.walk(??)\nos.write(??)\nos.writev(??)\npathlib.EBADF\npathlib.EINVAL\npathlib.ELOOP\npathlib.ENOENT\npathlib.ENOTDIR\npathlib.Path(??)\npathlib.PosixPath(??)\npathlib.PurePath(??)\npathlib.PurePosixPath(??)\npathlib.PureWindowsPath(??)\npathlib.S_ISBLK(mode) -> bool\npathlib.S_ISCHR(mode) -> bool\npathlib.S_ISDIR(mode) -> bool\npathlib.S_ISFIFO(mode) -> bool\npathlib.S_ISLNK(mode) -> bool\npathlib.S_ISREG(mode) -> bool\npathlib.S_ISSOCK(mode) -> bool\npathlib.Sequence(??)\npathlib.WindowsPath(??)\npathlib.attrgetter(attr, ...) --> attrgetter object\npathlib.fnmatch(??)\npathlib.functools(??)\npathlib.io(??)\npathlib.nt(??)\npathlib.ntpath(??)\npathlib.os(??)\npathlib.posixpath(??)\npathlib.re(??)\npathlib.supports_symlinks(??)\npathlib.sys(??)\npathlib.urlquote_from_bytes(??)\npdb.Pdb(??)\npdb.Restart(??)\npdb.TESTCMD\npdb.bdb(??)\npdb.cmd(??)\npdb.code(??)\npdb.dis(??)\npdb.find_function(??)\npdb.getsourcelines(??)\npdb.glob(??)\npdb.help(??)\npdb.inspect(??)\npdb.io(??)\npdb.lasti2lineno(??)\npdb.line_prefix\npdb.linecache(??)\npdb.main(??)\npdb.os(??)\npdb.pm(??)\npdb.post_mortem(??)\npdb.pprint(??)\npdb.re(??)\npdb.run(??)\npdb.runcall(??)\npdb.runctx(??)\npdb.runeval(??)\npdb.set_trace(??)\npdb.signal(??)\npdb.sys(??)\npdb.test(??)\npdb.tokenize(??)\npdb.traceback(??)\npickle.ADDITEMS\npickle.APPEND\npickle.APPENDS\npickle.BINBYTES\npickle.BINBYTES8\npickle.BINFLOAT\npickle.BINGET\npickle.BININT\npickle.BININT1\npickle.BININT2\npickle.BINPERSID\npickle.BINPUT\npickle.BINSTRING\npickle.BINUNICODE\npickle.BINUNICODE8\npickle.BUILD\npickle.BYTEARRAY8\npickle.DEFAULT_PROTOCOL\npickle.DICT\npickle.DUP\npickle.EMPTY_DICT\npickle.EMPTY_LIST\npickle.EMPTY_SET\npickle.EMPTY_TUPLE\npickle.EXT1\npickle.EXT2\npickle.EXT4\npickle.FALSE\npickle.FLOAT\npickle.FRAME\npickle.FROZENSET\npickle.FunctionType(??)\npickle.GET\npickle.GLOBAL\npickle.HIGHEST_PROTOCOL\npickle.INST\npickle.INT\npickle.LIST\npickle.LONG\npickle.LONG1\npickle.LONG4\npickle.LONG_BINGET\npickle.LONG_BINPUT\npickle.MARK\npickle.MEMOIZE\npickle.NEWFALSE\npickle.NEWOBJ\npickle.NEWOBJ_EX\npickle.NEWTRUE\npickle.NEXT_BUFFER\npickle.NONE\npickle.OBJ\npickle.PERSID\npickle.POP\npickle.POP_MARK\npickle.PROTO\npickle.PUT\npickle.PickleBuffer(??)\npickle.PickleError(??)\npickle.Pickler(??)\npickle.PicklingError(??)\npickle.PyStringMap(??)\npickle.READONLY_BUFFER\npickle.REDUCE\npickle.SETITEM\npickle.SETITEMS\npickle.SHORT_BINBYTES\npickle.SHORT_BINSTRING\npickle.SHORT_BINUNICODE\npickle.STACK_GLOBAL\npickle.STOP\npickle.STRING\npickle.TRUE\npickle.TUPLE\npickle.TUPLE1\npickle.TUPLE2\npickle.TUPLE3\npickle.UNICODE\npickle.Unpickler(??)\npickle.UnpicklingError(??)\npickle.bytes_types(??)\npickle.codecs(??)\npickle.compatible_formats(??)\npickle.decode_long(??)\npickle.dispatch_table(??)\npickle.dump(??)\npickle.dumps(??)\npickle.encode_long(??)\npickle.format_version\npickle.io(??)\npickle.islice(iterable, stop) --> islice object\npickle.load(??)\npickle.loads(??)\npickle.maxsize\npickle.pack(format, v1, v2, ...) -> bytes\npickle.partial(func, *args, **keywords) - new function with partial application\npickle.re(??)\npickle.sys(??)\npickle.unpack(??)\npickle.whichmodule(??)\npickletools.ArgumentDescriptor(??)\npickletools.OpcodeInfo(??)\npickletools.StackObject(??)\npickletools.TAKEN_FROM_ARGUMENT1\npickletools.TAKEN_FROM_ARGUMENT4\npickletools.TAKEN_FROM_ARGUMENT4U\npickletools.TAKEN_FROM_ARGUMENT8U\npickletools.UP_TO_NEWLINE\npickletools.anyobject(??)\npickletools.bytearray8(??)\npickletools.bytes1(??)\npickletools.bytes4(??)\npickletools.bytes8(??)\npickletools.bytes_types(??)\npickletools.code2op(??)\npickletools.codecs(??)\npickletools.decimalnl_long(??)\npickletools.decimalnl_short(??)\npickletools.decode_long(??)\npickletools.dis(??)\npickletools.float8(??)\npickletools.floatnl(??)\npickletools.genops(??)\npickletools.int4(??)\npickletools.io(??)\npickletools.long1(??)\npickletools.long4(??)\npickletools.markobject(??)\npickletools.opcodes(??)\npickletools.optimize(??)\npickletools.pickle(??)\npickletools.pybool(??)\npickletools.pybuffer(??)\npickletools.pybytearray(??)\npickletools.pybytes(??)\npickletools.pybytes_or_str(??)\npickletools.pydict(??)\npickletools.pyfloat(??)\npickletools.pyfrozenset(??)\npickletools.pyint(??)\npickletools.pyinteger_or_bool(??)\npickletools.pylist(??)\npickletools.pylong(??)\npickletools.pynone(??)\npickletools.pyset(??)\npickletools.pystring(??)\npickletools.pytuple(??)\npickletools.pyunicode(??)\npickletools.re(??)\npickletools.read_bytearray8(??)\npickletools.read_bytes1(??)\npickletools.read_bytes4(??)\npickletools.read_bytes8(??)\npickletools.read_decimalnl_long(??)\npickletools.read_decimalnl_short(??)\npickletools.read_float8(??)\npickletools.read_floatnl(??)\npickletools.read_int4(??)\npickletools.read_long1(??)\npickletools.read_long4(??)\npickletools.read_string1(??)\npickletools.read_string4(??)\npickletools.read_stringnl(??)\npickletools.read_stringnl_noescape(??)\npickletools.read_stringnl_noescape_pair(??)\npickletools.read_uint1(??)\npickletools.read_uint2(??)\npickletools.read_uint4(??)\npickletools.read_uint8(??)\npickletools.read_unicodestring1(??)\npickletools.read_unicodestring4(??)\npickletools.read_unicodestring8(??)\npickletools.read_unicodestringnl(??)\npickletools.stackslice(??)\npickletools.string1(??)\npickletools.string4(??)\npickletools.stringnl(??)\npickletools.stringnl_noescape(??)\npickletools.stringnl_noescape_pair(??)\npickletools.sys(??)\npickletools.uint1(??)\npickletools.uint2(??)\npickletools.uint4(??)\npickletools.uint8(??)\npickletools.unicodestring1(??)\npickletools.unicodestring4(??)\npickletools.unicodestring8(??)\npickletools.unicodestringnl(??)\npipes.FILEIN_FILEOUT\npipes.FILEIN_STDOUT\npipes.SINK\npipes.SOURCE\npipes.STDIN_FILEOUT\npipes.STDIN_STDOUT\npipes.Template(??)\npipes.makepipeline(??)\npipes.os(??)\npipes.quote(??)\npipes.re(??)\npipes.stepkinds(??)\npipes.tempfile(??)\npkgutil.ImpImporter(??)\npkgutil.ImpLoader(??)\npkgutil.ModuleInfo(??)\npkgutil.ModuleType(??)\npkgutil.extend_path(??)\npkgutil.find_loader(??)\npkgutil.get_data(??)\npkgutil.get_importer(??)\npkgutil.get_loader(??)\npkgutil.importlib(??)\npkgutil.iter_importer_modules(??)\npkgutil.iter_importers(??)\npkgutil.iter_modules(??)\npkgutil.iter_zipimport_modules(??)\npkgutil.namedtuple(??)\npkgutil.os(??)\npkgutil.re(??)\npkgutil.read_code(??)\npkgutil.resolve_name(??)\npkgutil.simplegeneric(??)\npkgutil.sys(??)\npkgutil.walk_packages(??)\npkgutil.warnings(??)\npkgutil.zipimport(??)\npkgutil.zipimporter(archivepath) -> zipimporter object\nplatform.architecture(??)\nplatform.collections(??)\nplatform.functools(??)\nplatform.itertools(??)\nplatform.java_ver(??)\nplatform.libc_ver(??)\nplatform.mac_ver(??)\nplatform.machine(??)\nplatform.node(??)\nplatform.os(??)\nplatform.platform(??)\nplatform.processor(??)\nplatform.python_branch(??)\nplatform.python_build(??)\nplatform.python_compiler(??)\nplatform.python_implementation(??)\nplatform.python_revision(??)\nplatform.python_version(??)\nplatform.python_version_tuple(??)\nplatform.re(??)\nplatform.release(??)\nplatform.subprocess(??)\nplatform.sys(??)\nplatform.system(??)\nplatform.system_alias(??)\nplatform.uname(??)\nplatform.uname_result(??)\nplatform.version(??)\nplatform.win32_edition(??)\nplatform.win32_is_iot(??)\nplatform.win32_ver(??)\nplistlib.BytesIO(??)\nplistlib.FMT_BINARY(??)\nplistlib.FMT_XML(??)\nplistlib.InvalidFileException(??)\nplistlib.PLISTHEADER\nplistlib.ParserCreate(??)\nplistlib.PlistFormat(??)\nplistlib.UID(??)\nplistlib.binascii(??)\nplistlib.codecs(??)\nplistlib.datetime(??)\nplistlib.dump(??)\nplistlib.dumps(??)\nplistlib.enum(??)\nplistlib.itertools(??)\nplistlib.load(??)\nplistlib.loads(??)\nplistlib.os(??)\nplistlib.re(??)\nplistlib.struct(??)\npoplib.CR\npoplib.CRLF\npoplib.HAVE_SSL(??)\npoplib.LF\npoplib.POP3(??)\npoplib.POP3_PORT\npoplib.POP3_SSL(??)\npoplib.POP3_SSL_PORT\npoplib.errno(??)\npoplib.error_proto(??)\npoplib.re(??)\npoplib.socket(??)\npoplib.ssl(??)\npoplib.sys(??)\nposix.CLD_CONTINUED\nposix.CLD_DUMPED\nposix.CLD_EXITED\nposix.CLD_KILLED\nposix.CLD_STOPPED\nposix.CLD_TRAPPED\nposix.DirEntry(??)\nposix.EX_CANTCREAT\nposix.EX_CONFIG\nposix.EX_DATAERR\nposix.EX_IOERR\nposix.EX_NOHOST\nposix.EX_NOINPUT\nposix.EX_NOPERM\nposix.EX_NOUSER\nposix.EX_OK\nposix.EX_OSERR\nposix.EX_OSFILE\nposix.EX_PROTOCOL\nposix.EX_SOFTWARE\nposix.EX_TEMPFAIL\nposix.EX_UNAVAILABLE\nposix.EX_USAGE\nposix.F_LOCK\nposix.F_OK\nposix.F_TEST\nposix.F_TLOCK\nposix.F_ULOCK\nposix.NGROUPS_MAX\nposix.O_ACCMODE\nposix.O_APPEND\nposix.O_ASYNC\nposix.O_CLOEXEC\nposix.O_CREAT\nposix.O_DIRECTORY\nposix.O_DSYNC\nposix.O_EXCL\nposix.O_EXLOCK\nposix.O_NDELAY\nposix.O_NOCTTY\nposix.O_NOFOLLOW\nposix.O_NONBLOCK\nposix.O_RDONLY\nposix.O_RDWR\nposix.O_SHLOCK\nposix.O_SYNC\nposix.O_TRUNC\nposix.O_WRONLY\nposix.POSIX_SPAWN_CLOSE\nposix.POSIX_SPAWN_DUP2\nposix.POSIX_SPAWN_OPEN\nposix.PRIO_PGRP\nposix.PRIO_PROCESS\nposix.PRIO_USER\nposix.P_ALL\nposix.P_PGID\nposix.P_PID\nposix.RTLD_GLOBAL\nposix.RTLD_LAZY\nposix.RTLD_LOCAL\nposix.RTLD_NODELETE\nposix.RTLD_NOLOAD\nposix.RTLD_NOW\nposix.R_OK\nposix.SCHED_FIFO\nposix.SCHED_OTHER\nposix.SCHED_RR\nposix.ST_NOSUID\nposix.ST_RDONLY\nposix.TMP_MAX\nposix.WCONTINUED\nposix.WCOREDUMP(??)\nposix.WEXITED\nposix.WEXITSTATUS(??)\nposix.WIFCONTINUED(??)\nposix.WIFEXITED(??)\nposix.WIFSIGNALED(??)\nposix.WIFSTOPPED(??)\nposix.WNOHANG\nposix.WNOWAIT\nposix.WSTOPPED\nposix.WSTOPSIG(??)\nposix.WTERMSIG(??)\nposix.WUNTRACED\nposix.W_OK\nposix.X_OK\nposix.abort(??)\nposix.access(??)\nposix.chdir(??)\nposix.chflags(??)\nposix.chmod(??)\nposix.chown(??)\nposix.chroot(??)\nposix.close(??)\nposix.closerange(??)\nposix.confstr(??)\nposix.confstr_names(??)\nposix.cpu_count(??)\nposix.ctermid(??)\nposix.device_encoding(??)\nposix.dup(??)\nposix.dup2(??)\nposix.environ(??)\nposix.error(??)\nposix.execv(??)\nposix.execve(??)\nposix.fchdir(??)\nposix.fchmod(??)\nposix.fchown(??)\nposix.fork(??)\nposix.forkpty(??)\nposix.fpathconf(??)\nposix.fspath(??)\nposix.fstat(??)\nposix.fstatvfs(??)\nposix.fsync(??)\nposix.ftruncate(??)\nposix.get_blocking(??)\nposix.get_inheritable(??)\nposix.get_terminal_size(??)\nposix.getcwd(??)\nposix.getcwdb(??)\nposix.getegid(??)\nposix.geteuid(??)\nposix.getgid(??)\nposix.getgrouplist(??)\nposix.getgroups(??)\nposix.getloadavg(??)\nposix.getlogin(??)\nposix.getpgid(??)\nposix.getpgrp(??)\nposix.getpid(??)\nposix.getppid(??)\nposix.getpriority(??)\nposix.getsid(??)\nposix.getuid(??)\nposix.initgroups(??)\nposix.isatty(??)\nposix.kill(??)\nposix.killpg(??)\nposix.lchflags(??)\nposix.lchmod(??)\nposix.lchown(??)\nposix.link(??)\nposix.listdir(??)\nposix.lockf(??)\nposix.lseek(??)\nposix.lstat(??)\nposix.major(??)\nposix.makedev(??)\nposix.minor(??)\nposix.mkdir(??)\nposix.mkfifo(??)\nposix.mknod(??)\nposix.nice(??)\nposix.open(??)\nposix.openpty(??)\nposix.pathconf(??)\nposix.pathconf_names(??)\nposix.pipe(??)\nposix.posix_spawn(??)\nposix.posix_spawnp(??)\nposix.pread(??)\nposix.putenv(??)\nposix.pwrite(??)\nposix.read(??)\nposix.readlink(??)\nposix.readv(??)\nposix.register_at_fork(??)\nposix.remove(??)\nposix.rename(??)\nposix.replace(??)\nposix.rmdir(??)\nposix.scandir(??)\nposix.sched_get_priority_max(??)\nposix.sched_get_priority_min(??)\nposix.sched_yield(??)\nposix.sendfile(??)\nposix.set_blocking(??)\nposix.set_inheritable(??)\nposix.setegid(??)\nposix.seteuid(??)\nposix.setgid(??)\nposix.setgroups(??)\nposix.setpgid(??)\nposix.setpgrp(??)\nposix.setpriority(??)\nposix.setregid(??)\nposix.setreuid(??)\nposix.setsid(??)\nposix.setuid(??)\nposix.stat(??)\nposix.stat_result(??)\nposix.statvfs(??)\nposix.statvfs_result(??)\nposix.strerror(??)\nposix.symlink(??)\nposix.sync(??)\nposix.sysconf(??)\nposix.sysconf_names(??)\nposix.system(??)\nposix.tcgetpgrp(??)\nposix.tcsetpgrp(??)\nposix.terminal_size(??)\nposix.times(??)\nposix.times_result(??)\nposix.truncate(??)\nposix.ttyname(??)\nposix.umask(??)\nposix.uname(??)\nposix.uname_result(??)\nposix.unlink(??)\nposix.unsetenv(??)\nposix.urandom(??)\nposix.utime(??)\nposix.wait(??)\nposix.wait3(??)\nposix.wait4(??)\nposix.waitpid(??)\nposix.waitstatus_to_exitcode(??)\nposix.write(??)\nposix.writev(??)\npow(??)\npprint.PrettyPrinter(??)\npprint.isreadable(??)\npprint.isrecursive(??)\npprint.pformat(??)\npprint.pp(??)\npprint.pprint(??)\npprint.re(??)\npprint.saferepr(??)\nprint(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\nprofile.Profile(??)\nprofile.main(??)\nprofile.marshal(??)\nprofile.run(??)\nprofile.runctx(??)\nprofile.sys(??)\nprofile.time(??)\nproperty(??)\npstats.Dict(??)\npstats.Enum(??)\npstats.FunctionProfile(ncalls: int, tottime: float, percall_tottime: float, cumtime: float, percall_cumtime: float, file_name: str, line_number: int)\npstats.SortKey(??)\npstats.Stats(??)\npstats.StatsProfile(??)\npstats.TupleComp(??)\npstats.add_callers(??)\npstats.add_func_stats(??)\npstats.cmp_to_key(??)\npstats.count_calls(??)\npstats.dataclass(??)\npstats.f8(??)\npstats.func_get_function_name(??)\npstats.func_std_string(??)\npstats.func_strip_path(??)\npstats.marshal(??)\npstats.os(??)\npstats.re(??)\npstats.sys(??)\npstats.time(??)\npty.CHILD\npty.STDERR_FILENO\npty.STDIN_FILENO\npty.STDOUT_FILENO\npty.fork() -> (pid, master_fd)\npty.master_open() -> (master_fd, slave_name)\npty.openpty() -> (master_fd, slave_fd)\npty.os(??)\npty.select(??)\npty.slave_open(tty_name) -> slave_fd\npty.spawn(??)\npty.sys(??)\npty.tty(??)\npwd.getpwall(??)\npwd.getpwnam(??)\npwd.getpwuid(??)\npwd.struct_passwd(??)\npy_compile.PyCompileError(??)\npy_compile.PycInvalidationMode(??)\npy_compile.compile(??)\npy_compile.enum(??)\npy_compile.importlib(??)\npy_compile.main(??)\npy_compile.os(??)\npy_compile.sys(??)\npy_compile.traceback(??)\npyclbr.Class(??)\npyclbr.DEDENT\npyclbr.Function(??)\npyclbr.NAME\npyclbr.OP\npyclbr.importlib(??)\npyclbr.io(??)\npyclbr.readmodule(??)\npyclbr.readmodule_ex(??)\npyclbr.sys(??)\npyclbr.tokenize(??)\npydoc.Doc(??)\npydoc.ErrorDuringImport(??)\npydoc.HTMLDoc(??)\npydoc.HTMLRepr(??)\npydoc.Helper(??)\npydoc.ModuleScanner(??)\npydoc.Repr(??)\npydoc.TextDoc(??)\npydoc.TextRepr(??)\npydoc.allmethods(??)\npydoc.apropos(??)\npydoc.browse(??)\npydoc.builtins(??)\npydoc.classify_class_attrs(??)\npydoc.classname(??)\npydoc.cli(??)\npydoc.cram(??)\npydoc.deque([iterable[, maxlen]]) --> deque object\npydoc.describe(??)\npydoc.doc(??)\npydoc.format_exception_only(??)\npydoc.getdoc(??)\npydoc.getpager(??)\npydoc.help(??)\npydoc.html(??)\npydoc.importfile(??)\npydoc.importlib(??)\npydoc.inspect(??)\npydoc.io(??)\npydoc.isdata(??)\npydoc.ispackage(??)\npydoc.ispath(??)\npydoc.locate(??)\npydoc.os(??)\npydoc.pager(??)\npydoc.pathdirs(??)\npydoc.pipepager(??)\npydoc.pkgutil(??)\npydoc.plain(??)\npydoc.plainpager(??)\npydoc.plaintext(??)\npydoc.platform(??)\npydoc.re(??)\npydoc.render_doc(??)\npydoc.replace(??)\npydoc.resolve(??)\npydoc.safeimport(??)\npydoc.sort_attributes(??)\npydoc.source_synopsis(??)\npydoc.splitdoc(??)\npydoc.stripid(??)\npydoc.synopsis(??)\npydoc.sys(??)\npydoc.sysconfig(??)\npydoc.tempfilepager(??)\npydoc.text(??)\npydoc.time(??)\npydoc.tokenize(??)\npydoc.ttypager(??)\npydoc.urllib(??)\npydoc.visiblename(??)\npydoc.warnings(??)\npydoc.writedoc(??)\npydoc.writedocs(??)\npydoc_data.topics.topics(??)\npyqtbuild.PYQTBUILD_VERSION\npyqtbuild.PYQTBUILD_VERSION_STR\npyqtbuild.PyQtBindings(??)\npyqtbuild.PyQtProject(??)\npyqtbuild.QmakeBuilder(??)\npyqtbuild.QmakeTargetInstallable(??)\npyqtbuild.bindings(??)\npyqtbuild.bindings.Bindings(??)\npyqtbuild.bindings.BuildableExecutable(??)\npyqtbuild.bindings.Option(??)\npyqtbuild.bindings.PyQtBindings(??)\npyqtbuild.bindings.UserException(??)\npyqtbuild.bindings.glob(??)\npyqtbuild.bindings.os(??)\npyqtbuild.bindings.sys(??)\npyqtbuild.builder(??)\npyqtbuild.builder.Buildable(??)\npyqtbuild.builder.BuildableModule(??)\npyqtbuild.builder.Builder(??)\npyqtbuild.builder.Option(??)\npyqtbuild.builder.Project(??)\npyqtbuild.builder.PyProjectOptionException(??)\npyqtbuild.builder.QmakeBuilder(??)\npyqtbuild.builder.QmakeTargetInstallable(??)\npyqtbuild.builder.UserException(??)\npyqtbuild.builder.os(??)\npyqtbuild.builder.sys(??)\npyqtbuild.bundle.abstract_package(??)\npyqtbuild.bundle.abstract_package.ABC(??)\npyqtbuild.bundle.abstract_package.AbstractPackage(??)\npyqtbuild.bundle.abstract_package.UserException(??)\npyqtbuild.bundle.abstract_package.VersionedMetadata(??)\npyqtbuild.bundle.abstract_package.abstractmethod(??)\npyqtbuild.bundle.abstract_package.os(??)\npyqtbuild.bundle.abstract_package.packaging(??)\npyqtbuild.bundle.abstract_package.subprocess(??)\npyqtbuild.bundle.abstract_package.verbose(??)\npyqtbuild.bundle.bundle(??)\npyqtbuild.bundle.bundle.UserException(??)\npyqtbuild.bundle.bundle.base64(??)\npyqtbuild.bundle.bundle.bundle(??)\npyqtbuild.bundle.bundle.fnmatch(??)\npyqtbuild.bundle.bundle.hashlib(??)\npyqtbuild.bundle.bundle.os(??)\npyqtbuild.bundle.bundle.packages(??)\npyqtbuild.bundle.bundle.shutil(??)\npyqtbuild.bundle.bundle.verbose(??)\npyqtbuild.bundle.bundle.zipfile(??)\npyqtbuild.bundle.main.ArgumentParser(??)\npyqtbuild.bundle.main.PYQTBUILD_VERSION_STR\npyqtbuild.bundle.main.bundle(??)\npyqtbuild.bundle.main.handle_exception(??)\npyqtbuild.bundle.main.main(??)\npyqtbuild.bundle.main.set_verbose(??)\npyqtbuild.bundle.packages(??)\npyqtbuild.bundle.packages.PyQt3D(??)\npyqtbuild.bundle.packages.PyQt5(??)\npyqtbuild.bundle.packages.PyQtChart(??)\npyqtbuild.bundle.packages.PyQtDataVisualization(??)\npyqtbuild.bundle.packages.PyQtPurchasing(??)\npyqtbuild.bundle.packages.PyQtWebEngine(??)\npyqtbuild.bundle.packages.pyqt3d(??)\npyqtbuild.bundle.packages.pyqt3d.AbstractPackage(??)\npyqtbuild.bundle.packages.pyqt3d.PyQt3D(??)\npyqtbuild.bundle.packages.pyqt3d.VersionedMetadata(??)\npyqtbuild.bundle.packages.pyqt5(??)\npyqtbuild.bundle.packages.pyqt5.AbstractPackage(??)\npyqtbuild.bundle.packages.pyqt5.PyQt5(??)\npyqtbuild.bundle.packages.pyqt5.VersionedMetadata(??)\npyqtbuild.bundle.packages.pyqt5.os(??)\npyqtbuild.bundle.packages.pyqt5.shutil(??)\npyqtbuild.bundle.packages.pyqt5.verbose(??)\npyqtbuild.bundle.packages.pyqtchart(??)\npyqtbuild.bundle.packages.pyqtchart.AbstractPackage(??)\npyqtbuild.bundle.packages.pyqtchart.PyQtChart(??)\npyqtbuild.bundle.packages.pyqtchart.VersionedMetadata(??)\npyqtbuild.bundle.packages.pyqtdatavisualization(??)\npyqtbuild.bundle.packages.pyqtdatavisualization.AbstractPackage(??)\npyqtbuild.bundle.packages.pyqtdatavisualization.PyQtDataVisualization(??)\npyqtbuild.bundle.packages.pyqtdatavisualization.VersionedMetadata(??)\npyqtbuild.bundle.packages.pyqtpurchasing(??)\npyqtbuild.bundle.packages.pyqtpurchasing.AbstractPackage(??)\npyqtbuild.bundle.packages.pyqtpurchasing.PyQtPurchasing(??)\npyqtbuild.bundle.packages.pyqtpurchasing.VersionedMetadata(??)\npyqtbuild.bundle.packages.pyqtwebengine(??)\npyqtbuild.bundle.packages.pyqtwebengine.AbstractPackage(??)\npyqtbuild.bundle.packages.pyqtwebengine.PyQtWebEngine(??)\npyqtbuild.bundle.packages.pyqtwebengine.VersionedMetadata(??)\npyqtbuild.bundle.qt_metadata(??)\npyqtbuild.bundle.qt_metadata.UserException(??)\npyqtbuild.bundle.qt_metadata.VersionedMetadata(??)\npyqtbuild.bundle.qt_metadata.fnmatch(??)\npyqtbuild.bundle.qt_metadata.os(??)\npyqtbuild.bundle.qt_metadata.shutil(??)\npyqtbuild.bundle.qt_metadata.subprocess(??)\npyqtbuild.bundle.qt_metadata.verbose(??)\npyqtbuild.bundle.verbose(??)\npyqtbuild.bundle.verbose.set_verbose(??)\npyqtbuild.bundle.verbose.verbose(??)\npyqtbuild.installable(??)\npyqtbuild.installable.Installable(??)\npyqtbuild.installable.QmakeTargetInstallable(??)\npyqtbuild.project(??)\npyqtbuild.project.MINIMUM_GLIBC_VERSION\npyqtbuild.project.Option(??)\npyqtbuild.project.Project(??)\npyqtbuild.project.PyQtProject(??)\npyqtbuild.project.UserException(??)\npyqtbuild.project.os(??)\npyqtbuild.project.sys(??)\npyqtbuild.version(??)\npyqtbuild.version.PYQTBUILD_VERSION\npyqtbuild.version.PYQTBUILD_VERSION_STR\npyqtdeploy.AbstractComponent(??)\npyqtdeploy.AbstractPyQtComponent(??)\npyqtdeploy.AbstractPythonComponent(??)\npyqtdeploy.AbstractQtComponent(??)\npyqtdeploy.AbstractSIPComponent(??)\npyqtdeploy.Architecture(??)\npyqtdeploy.Builder(??)\npyqtdeploy.Component(??)\npyqtdeploy.ComponentLibrary(??)\npyqtdeploy.ComponentOption(??)\npyqtdeploy.DataFile(??)\npyqtdeploy.ExtensionModule(??)\npyqtdeploy.MessageHandler(??)\npyqtdeploy.PYQTDEPLOY_RELEASE\npyqtdeploy.Project(??)\npyqtdeploy.PythonModule(??)\npyqtdeploy.PythonPackage(??)\npyqtdeploy.Sysroot(??)\npyqtdeploy.SysrootSpecification(??)\npyqtdeploy.UserException(??)\npyqtdeploy.builder(??)\npyqtdeploy.builder.Builder(??)\npyqtdeploy.builder.builder(??)\npyqtdeploy.builder.builder.Architecture(??)\npyqtdeploy.builder.builder.Builder(??)\npyqtdeploy.builder.builder.ComponentLibrary(??)\npyqtdeploy.builder.builder.DataFile(??)\npyqtdeploy.builder.builder.ExtensionModule(??)\npyqtdeploy.builder.builder.PYQTDEPLOY_HEXVERSION\npyqtdeploy.builder.builder.Part(??)\npyqtdeploy.builder.builder.Platform(??)\npyqtdeploy.builder.builder.Project(??)\npyqtdeploy.builder.builder.PythonModule(??)\npyqtdeploy.builder.builder.PythonPackage(??)\npyqtdeploy.builder.builder.Sysroot(??)\npyqtdeploy.builder.builder.UserException(??)\npyqtdeploy.builder.builder.VersionNumber(??)\npyqtdeploy.builder.builder.create_file(??)\npyqtdeploy.builder.builder.csv(??)\npyqtdeploy.builder.builder.glob(??)\npyqtdeploy.builder.builder.open_file(??)\npyqtdeploy.builder.builder.os(??)\npyqtdeploy.builder.builder.shlex(??)\npyqtdeploy.builder.builder.shutil(??)\npyqtdeploy.builder.builder.tempfile(??)\npyqtdeploy.file_utilities(??)\npyqtdeploy.file_utilities.UserException(??)\npyqtdeploy.file_utilities.create_file(??)\npyqtdeploy.file_utilities.open_file(??)\npyqtdeploy.gui.ProjectGUI(??)\npyqtdeploy.gui.application_page(??)\npyqtdeploy.gui.application_page.ApplicationPage(??)\npyqtdeploy.gui.application_page.BetterForm(??)\npyqtdeploy.gui.application_page.CollapsibleWidget(??)\npyqtdeploy.gui.application_page.FilenameEditor(??)\npyqtdeploy.gui.application_page.PackageEditor(??)\npyqtdeploy.gui.application_page.QCheckBox(parent: QWidget = None)\npyqtdeploy.gui.application_page.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])\npyqtdeploy.gui.application_page.QFontInfo(QFont)\npyqtdeploy.gui.application_page.QGridLayout(QWidget)\npyqtdeploy.gui.application_page.QGroupBox(parent: QWidget = None)\npyqtdeploy.gui.application_page.QGuiApplication(List[str])\npyqtdeploy.gui.application_page.QLineEdit(parent: QWidget = None)\npyqtdeploy.gui.application_page.QPlainTextEdit(parent: QWidget = None)\npyqtdeploy.gui.application_page.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\npyqtdeploy.gui.application_page.Qt(??)\npyqtdeploy.gui.better_form(??)\npyqtdeploy.gui.better_form.BetterForm(??)\npyqtdeploy.gui.better_form.QFormLayout(parent: QWidget = None)\npyqtdeploy.gui.better_form.QWidgetItem(QWidget)\npyqtdeploy.gui.better_form.Qt(??)\npyqtdeploy.gui.collapsible_widget(??)\npyqtdeploy.gui.collapsible_widget.CollapsibleWidget(??)\npyqtdeploy.gui.collapsible_widget.QGuiApplication(List[str])\npyqtdeploy.gui.collapsible_widget.QToolButton(parent: QWidget = None)\npyqtdeploy.gui.collapsible_widget.QVBoxLayout()\npyqtdeploy.gui.collapsible_widget.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\npyqtdeploy.gui.collapsible_widget.Qt(??)\npyqtdeploy.gui.exception_handlers(??)\npyqtdeploy.gui.exception_handlers.QMessageBox(parent: QWidget = None)\npyqtdeploy.gui.exception_handlers.handle_user_exception(??)\npyqtdeploy.gui.filename_editor(??)\npyqtdeploy.gui.filename_editor.FilenameEditor(??)\npyqtdeploy.gui.filename_editor.QDir(QDir)\npyqtdeploy.gui.filename_editor.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])\npyqtdeploy.gui.filename_editor.QHBoxLayout()\npyqtdeploy.gui.filename_editor.QLineEdit(parent: QWidget = None)\npyqtdeploy.gui.filename_editor.QStyle()\npyqtdeploy.gui.filename_editor.QToolButton(parent: QWidget = None)\npyqtdeploy.gui.filename_editor.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\npyqtdeploy.gui.filename_editor.pyqtSignal(??)\npyqtdeploy.gui.filename_editor_delegate.FilenameEditor(??)\npyqtdeploy.gui.filename_editor_delegate.FilenameEditorDelegate(??)\npyqtdeploy.gui.filename_editor_delegate.QStyledItemDelegate(parent: QObject = None)\npyqtdeploy.gui.filename_editor_delegate.Qt(??)\npyqtdeploy.gui.handle_user_exception(??)\npyqtdeploy.gui.package_editor(??)\npyqtdeploy.gui.package_editor.PackageEditor(??)\npyqtdeploy.gui.package_editor.QDir(QDir)\npyqtdeploy.gui.package_editor.QGridLayout(QWidget)\npyqtdeploy.gui.package_editor.QMessageBox(parent: QWidget = None)\npyqtdeploy.gui.package_editor.QPushButton(parent: QWidget = None)\npyqtdeploy.gui.package_editor.QTreeWidget(parent: QWidget = None)\npyqtdeploy.gui.package_editor.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\npyqtdeploy.gui.package_editor.QTreeWidgetItemIterator(QTreeWidgetItemIterator)\npyqtdeploy.gui.package_editor.QrcDirectory(??)\npyqtdeploy.gui.package_editor.QrcFile(??)\npyqtdeploy.gui.package_editor.Qt(??)\npyqtdeploy.gui.package_editor.fnmatch(??)\npyqtdeploy.gui.package_editor.pyqtSignal(??)\npyqtdeploy.gui.packages_page(??)\npyqtdeploy.gui.packages_page.Architecture(??)\npyqtdeploy.gui.packages_page.BetterForm(??)\npyqtdeploy.gui.packages_page.FilenameEditor(??)\npyqtdeploy.gui.packages_page.PackagesPage(??)\npyqtdeploy.gui.packages_page.Part(??)\npyqtdeploy.gui.packages_page.PartItem(??)\npyqtdeploy.gui.packages_page.PartsEditor(??)\npyqtdeploy.gui.packages_page.QColor(Qt.GlobalColor)\npyqtdeploy.gui.packages_page.QSizePolicy()\npyqtdeploy.gui.packages_page.QSplitter(parent: QWidget = None)\npyqtdeploy.gui.packages_page.QTreeWidget(parent: QWidget = None)\npyqtdeploy.gui.packages_page.QTreeWidgetItem(type: int = QTreeWidgetItem.Type)\npyqtdeploy.gui.packages_page.QTreeWidgetItemIterator(QTreeWidgetItemIterator)\npyqtdeploy.gui.packages_page.QVBoxLayout()\npyqtdeploy.gui.packages_page.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\npyqtdeploy.gui.packages_page.Qt(??)\npyqtdeploy.gui.packages_page.Sysroot(??)\npyqtdeploy.gui.packages_page.os(??)\npyqtdeploy.gui.project_gui(??)\npyqtdeploy.gui.project_gui.ApplicationPage(??)\npyqtdeploy.gui.project_gui.PYQTDEPLOY_RELEASE\npyqtdeploy.gui.project_gui.PackagesPage(??)\npyqtdeploy.gui.project_gui.Project(??)\npyqtdeploy.gui.project_gui.ProjectGUI(??)\npyqtdeploy.gui.project_gui.ProjectWrapper(??)\npyqtdeploy.gui.project_gui.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])\npyqtdeploy.gui.project_gui.QFileInfo()\npyqtdeploy.gui.project_gui.QKeySequence()\npyqtdeploy.gui.project_gui.QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())\npyqtdeploy.gui.project_gui.QMessageBox(parent: QWidget = None)\npyqtdeploy.gui.project_gui.QPoint()\npyqtdeploy.gui.project_gui.QSettings(str, application: str = '', parent: QObject = None)\npyqtdeploy.gui.project_gui.QSize()\npyqtdeploy.gui.project_gui.QTabWidget(parent: QWidget = None)\npyqtdeploy.gui.project_gui.QWhatsThis(QWhatsThis)\npyqtdeploy.gui.project_gui.UserException(??)\npyqtdeploy.gui.project_gui.handle_user_exception(??)\npyqtdeploy.gui.project_gui.os(??)\npyqtdeploy.gui.project_wrapper(??)\npyqtdeploy.gui.project_wrapper.ProjectWrapper(??)\npyqtdeploy.gui.project_wrapper.QObject(parent: QObject = None)\npyqtdeploy.gui.project_wrapper.pyqtSignal(??)\npyqtdeploy.message_handler(??)\npyqtdeploy.message_handler.MessageHandler(??)\npyqtdeploy.message_handler.os(??)\npyqtdeploy.message_handler.sys(??)\npyqtdeploy.parts(??)\npyqtdeploy.parts.CompiledPart(??)\npyqtdeploy.parts.ComponentLibrary(??)\npyqtdeploy.parts.DataFile(??)\npyqtdeploy.parts.ExtensionModule(??)\npyqtdeploy.parts.Part(??)\npyqtdeploy.parts.PythonModule(??)\npyqtdeploy.parts.PythonPackage(??)\npyqtdeploy.parts.VersionNumber(??)\npyqtdeploy.platforms(??)\npyqtdeploy.platforms.Android(??)\npyqtdeploy.platforms.AndroidArchitecture(??)\npyqtdeploy.platforms.Android_arm_32(??)\npyqtdeploy.platforms.Android_arm_64(??)\npyqtdeploy.platforms.ApplePlatform(??)\npyqtdeploy.platforms.Architecture(??)\npyqtdeploy.platforms.Linux(??)\npyqtdeploy.platforms.Linux_x86_32(??)\npyqtdeploy.platforms.Linux_x86_64(??)\npyqtdeploy.platforms.Platform(??)\npyqtdeploy.platforms.UserException(??)\npyqtdeploy.platforms.VersionNumber(??)\npyqtdeploy.platforms.Windows(??)\npyqtdeploy.platforms.WindowsArchitecture(??)\npyqtdeploy.platforms.Windows_x86_32(??)\npyqtdeploy.platforms.Windows_x86_64(??)\npyqtdeploy.platforms.glob(??)\npyqtdeploy.platforms.iOS(??)\npyqtdeploy.platforms.iOS_arm_64(??)\npyqtdeploy.platforms.macOS(??)\npyqtdeploy.platforms.macOS_x86_64(??)\npyqtdeploy.platforms.os(??)\npyqtdeploy.platforms.subprocess(??)\npyqtdeploy.platforms.sys(??)\npyqtdeploy.project(??)\npyqtdeploy.project.Project(??)\npyqtdeploy.project.QrcDirectory(??)\npyqtdeploy.project.QrcFile(??)\npyqtdeploy.project.QrcPackage(??)\npyqtdeploy.project.legacy(??)\npyqtdeploy.project.legacy.Element(??)\npyqtdeploy.project.legacy.ElementTree(??)\npyqtdeploy.project.legacy.Platform(??)\npyqtdeploy.project.legacy.QrcDirectory(??)\npyqtdeploy.project.legacy.QrcFile(??)\npyqtdeploy.project.legacy.QrcPackage(??)\npyqtdeploy.project.legacy.SubElement(??)\npyqtdeploy.project.legacy.UserException(??)\npyqtdeploy.project.legacy.VersionNumber(??)\npyqtdeploy.project.legacy.load_xml(??)\npyqtdeploy.project.project(??)\npyqtdeploy.project.project.Project(??)\npyqtdeploy.project.project.QrcDirectory(??)\npyqtdeploy.project.project.QrcFile(??)\npyqtdeploy.project.project.QrcPackage(??)\npyqtdeploy.project.project.SysrootSpecification(??)\npyqtdeploy.project.project.UserException(??)\npyqtdeploy.project.project.os(??)\npyqtdeploy.project.project.toml(??)\npyqtdeploy.project.project_parts(??)\npyqtdeploy.project.project_parts.DataFile(??)\npyqtdeploy.project.project_parts.PythonModule(??)\npyqtdeploy.project.project_parts.QrcDirectory(??)\npyqtdeploy.project.project_parts.QrcFile(??)\npyqtdeploy.project.project_parts.QrcPackage(??)\npyqtdeploy.project.project_parts.os(??)\npyqtdeploy.pyqtdeploy_main.argparse(??)\npyqtdeploy.pyqtdeploy_main.main(??)\npyqtdeploy.pyqtdeploy_main.sys(??)\npyqtdeploy.pyqtdeploybuild_main.Builder(??)\npyqtdeploy.pyqtdeploybuild_main.MessageHandler(??)\npyqtdeploy.pyqtdeploybuild_main.PYQTDEPLOY_RELEASE\npyqtdeploy.pyqtdeploybuild_main.UserException(??)\npyqtdeploy.pyqtdeploybuild_main.argparse(??)\npyqtdeploy.pyqtdeploybuild_main.main(??)\npyqtdeploy.pyqtdeploysysroot_main(??)\npyqtdeploy.pyqtdeploysysroot_main.Architecture(??)\npyqtdeploy.pyqtdeploysysroot_main.MessageHandler(??)\npyqtdeploy.pyqtdeploysysroot_main.PYQTDEPLOY_RELEASE\npyqtdeploy.pyqtdeploysysroot_main.Sysroot(??)\npyqtdeploy.pyqtdeploysysroot_main.SysrootSpecification(??)\npyqtdeploy.pyqtdeploysysroot_main.UserException(??)\npyqtdeploy.pyqtdeploysysroot_main.argparse(??)\npyqtdeploy.pyqtdeploysysroot_main.main(??)\npyqtdeploy.pyqtdeploysysroot_main.os(??)\npyqtdeploy.sysroot(??)\npyqtdeploy.sysroot.AbstractComponent(??)\npyqtdeploy.sysroot.AbstractPyQtComponent(??)\npyqtdeploy.sysroot.AbstractPythonComponent(??)\npyqtdeploy.sysroot.AbstractQtComponent(??)\npyqtdeploy.sysroot.AbstractSIPComponent(??)\npyqtdeploy.sysroot.Component(??)\npyqtdeploy.sysroot.ComponentOption(??)\npyqtdeploy.sysroot.Sysroot(??)\npyqtdeploy.sysroot.SysrootSpecification(??)\npyqtdeploy.sysroot.abstract_component(??)\npyqtdeploy.sysroot.abstract_component.ABC(??)\npyqtdeploy.sysroot.abstract_component.AbstractComponent(??)\npyqtdeploy.sysroot.abstract_component.CompiledPart(??)\npyqtdeploy.sysroot.abstract_component.ComponentOption(??)\npyqtdeploy.sysroot.abstract_component.ExtensionModule(??)\npyqtdeploy.sysroot.abstract_component.Part(??)\npyqtdeploy.sysroot.abstract_component.abstractmethod(??)\npyqtdeploy.sysroot.abstract_component.copy(??)\npyqtdeploy.sysroot.abstract_component.os(??)\npyqtdeploy.sysroot.abstract_component.shutil(??)\npyqtdeploy.sysroot.abstract_pyqt_component(??)\npyqtdeploy.sysroot.abstract_pyqt_component.AbstractPyQtComponent(??)\npyqtdeploy.sysroot.abstract_pyqt_component.Component(??)\npyqtdeploy.sysroot.abstract_pyqt_component.abstractmethod(??)\npyqtdeploy.sysroot.abstract_python_component(??)\npyqtdeploy.sysroot.abstract_python_component.AbstractPythonComponent(??)\npyqtdeploy.sysroot.abstract_python_component.Component(??)\npyqtdeploy.sysroot.abstract_python_component.abstractmethod(??)\npyqtdeploy.sysroot.abstract_qt_component(??)\npyqtdeploy.sysroot.abstract_qt_component.AbstractQtComponent(??)\npyqtdeploy.sysroot.abstract_qt_component.Component(??)\npyqtdeploy.sysroot.abstract_qt_component.abstractmethod(??)\npyqtdeploy.sysroot.abstract_sip_component(??)\npyqtdeploy.sysroot.abstract_sip_component.AbstractSIPComponent(??)\npyqtdeploy.sysroot.abstract_sip_component.Component(??)\npyqtdeploy.sysroot.abstract_sip_component.abstractmethod(??)\npyqtdeploy.sysroot.component(??)\npyqtdeploy.sysroot.component.AbstractComponent(??)\npyqtdeploy.sysroot.component.Component(??)\npyqtdeploy.sysroot.component.ComponentOption(??)\npyqtdeploy.sysroot.component.HTMLParser(??)\npyqtdeploy.sysroot.component.HTTPError(??)\npyqtdeploy.sysroot.component.PyPIPageParser(??)\npyqtdeploy.sysroot.component.abstractmethod(??)\npyqtdeploy.sysroot.component.os(??)\npyqtdeploy.sysroot.component.shutil(??)\npyqtdeploy.sysroot.component.urlopen(??)\npyqtdeploy.sysroot.component_option(??)\npyqtdeploy.sysroot.component_option.ComponentOption(??)\npyqtdeploy.sysroot.plugins(??)\npyqtdeploy.sysroot.plugins.OpenSSL(??)\npyqtdeploy.sysroot.plugins.OpenSSL.Component(??)\npyqtdeploy.sysroot.plugins.OpenSSL.ComponentLibrary(??)\npyqtdeploy.sysroot.plugins.OpenSSL.ComponentOption(??)\npyqtdeploy.sysroot.plugins.OpenSSL.OpenSSLComponent(??)\npyqtdeploy.sysroot.plugins.OpenSSL.glob(??)\npyqtdeploy.sysroot.plugins.OpenSSL.os(??)\npyqtdeploy.sysroot.plugins.OpenSSL.shutil(??)\npyqtdeploy.sysroot.plugins.PyQt.AbstractPyQtComponent(??)\npyqtdeploy.sysroot.plugins.PyQt.ComponentOption(??)\npyqtdeploy.sysroot.plugins.PyQt.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.PyQt.PyQtComponent(??)\npyqtdeploy.sysroot.plugins.PyQt.PythonModule(??)\npyqtdeploy.sysroot.plugins.PyQt.PythonPackage(??)\npyqtdeploy.sysroot.plugins.PyQt.os(??)\npyqtdeploy.sysroot.plugins.PyQt.toml(??)\npyqtdeploy.sysroot.plugins.PyQt3D.Component(??)\npyqtdeploy.sysroot.plugins.PyQt3D.ComponentOption(??)\npyqtdeploy.sysroot.plugins.PyQt3D.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.PyQt3D.PyQt3DComponent(??)\npyqtdeploy.sysroot.plugins.PyQt3D.os(??)\npyqtdeploy.sysroot.plugins.PyQtChart(??)\npyqtdeploy.sysroot.plugins.PyQtChart.Component(??)\npyqtdeploy.sysroot.plugins.PyQtChart.ComponentOption(??)\npyqtdeploy.sysroot.plugins.PyQtChart.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.PyQtChart.PyQtChartComponent(??)\npyqtdeploy.sysroot.plugins.PyQtChart.os(??)\npyqtdeploy.sysroot.plugins.PyQtDataVisualization.Component(??)\npyqtdeploy.sysroot.plugins.PyQtDataVisualization.ComponentOption(??)\npyqtdeploy.sysroot.plugins.PyQtDataVisualization.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.PyQtDataVisualization.PyQtDataVisualizationComponent(??)\npyqtdeploy.sysroot.plugins.PyQtDataVisualization.os(??)\npyqtdeploy.sysroot.plugins.PyQtPurchasing.Component(??)\npyqtdeploy.sysroot.plugins.PyQtPurchasing.ComponentOption(??)\npyqtdeploy.sysroot.plugins.PyQtPurchasing.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.PyQtPurchasing.PyQtPurchasingComponent(??)\npyqtdeploy.sysroot.plugins.PyQtPurchasing.os(??)\npyqtdeploy.sysroot.plugins.PyQtWebEngine(??)\npyqtdeploy.sysroot.plugins.PyQtWebEngine.Component(??)\npyqtdeploy.sysroot.plugins.PyQtWebEngine.ComponentOption(??)\npyqtdeploy.sysroot.plugins.PyQtWebEngine.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.PyQtWebEngine.PyQtWebEngineComponent(??)\npyqtdeploy.sysroot.plugins.PyQtWebEngine.os(??)\npyqtdeploy.sysroot.plugins.Python(??)\npyqtdeploy.sysroot.plugins.Python.PythonComponent(??)\npyqtdeploy.sysroot.plugins.Python.pyconfig(??)\npyqtdeploy.sysroot.plugins.Python.pyconfig.Config(??)\npyqtdeploy.sysroot.plugins.Python.pyconfig.generate_pyconfig_h(??)\npyqtdeploy.sysroot.plugins.Python.pyconfig.pyconfig(??)\npyqtdeploy.sysroot.plugins.Python.python(??)\npyqtdeploy.sysroot.plugins.Python.python.AbstractPythonComponent(??)\npyqtdeploy.sysroot.plugins.Python.python.ComponentOption(??)\npyqtdeploy.sysroot.plugins.Python.python.LATEST_3_5_RELEASE(??)\npyqtdeploy.sysroot.plugins.Python.python.LATEST_3_6_RELEASE(??)\npyqtdeploy.sysroot.plugins.Python.python.LATEST_3_7_RELEASE(??)\npyqtdeploy.sysroot.plugins.Python.python.PythonComponent(??)\npyqtdeploy.sysroot.plugins.Python.python.generate_pyconfig_h(??)\npyqtdeploy.sysroot.plugins.Python.python.os(??)\npyqtdeploy.sysroot.plugins.Python.python.shutil(??)\npyqtdeploy.sysroot.plugins.Python.python.standard_library(??)\npyqtdeploy.sysroot.plugins.Python.python.sys(??)\npyqtdeploy.sysroot.plugins.Python.standard_library(??)\npyqtdeploy.sysroot.plugins.Python.standard_library.CodecModule(??)\npyqtdeploy.sysroot.plugins.Python.standard_library.CoreExtensionModule(??)\npyqtdeploy.sysroot.plugins.Python.standard_library.CorePythonModule(??)\npyqtdeploy.sysroot.plugins.Python.standard_library.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.Python.standard_library.PythonModule(??)\npyqtdeploy.sysroot.plugins.Python.standard_library.standard_library(??)\npyqtdeploy.sysroot.plugins.QScintilla(??)\npyqtdeploy.sysroot.plugins.QScintilla.Component(??)\npyqtdeploy.sysroot.plugins.QScintilla.ComponentOption(??)\npyqtdeploy.sysroot.plugins.QScintilla.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.QScintilla.QScintillaComponent(??)\npyqtdeploy.sysroot.plugins.QScintilla.os(??)\npyqtdeploy.sysroot.plugins.Qt(??)\npyqtdeploy.sysroot.plugins.Qt.AbstractQtComponent(??)\npyqtdeploy.sysroot.plugins.Qt.ComponentOption(??)\npyqtdeploy.sysroot.plugins.Qt.QtComponent(??)\npyqtdeploy.sysroot.plugins.Qt.os(??)\npyqtdeploy.sysroot.plugins.Qt.sys(??)\npyqtdeploy.sysroot.plugins.SIP(??)\npyqtdeploy.sysroot.plugins.SIP.AbstractSIPComponent(??)\npyqtdeploy.sysroot.plugins.SIP.ComponentOption(??)\npyqtdeploy.sysroot.plugins.SIP.ExtensionModule(??)\npyqtdeploy.sysroot.plugins.SIP.SIPComponent(??)\npyqtdeploy.sysroot.plugins.SIP.os(??)\npyqtdeploy.sysroot.plugins.zlib.Component(??)\npyqtdeploy.sysroot.plugins.zlib.ComponentLibrary(??)\npyqtdeploy.sysroot.plugins.zlib.ComponentOption(??)\npyqtdeploy.sysroot.plugins.zlib.os(??)\npyqtdeploy.sysroot.plugins.zlib.zlibComponent(??)\npyqtdeploy.sysroot.specification(??)\npyqtdeploy.sysroot.specification.AbstractComponent(??)\npyqtdeploy.sysroot.specification.AbstractPythonComponent(??)\npyqtdeploy.sysroot.specification.AbstractQtComponent(??)\npyqtdeploy.sysroot.specification.AbstractSIPComponent(??)\npyqtdeploy.sysroot.specification.Architecture(??)\npyqtdeploy.sysroot.specification.OrderedDict(??)\npyqtdeploy.sysroot.specification.SysrootSpecification(??)\npyqtdeploy.sysroot.specification.UserException(??)\npyqtdeploy.sysroot.specification.importlib(??)\npyqtdeploy.sysroot.specification.os(??)\npyqtdeploy.sysroot.specification.shutil(??)\npyqtdeploy.sysroot.specification.toml(??)\npyqtdeploy.sysroot.sysroot(??)\npyqtdeploy.sysroot.sysroot.Platform(??)\npyqtdeploy.sysroot.sysroot.Sysroot(??)\npyqtdeploy.sysroot.sysroot.UserException(??)\npyqtdeploy.sysroot.sysroot.VersionNumber(??)\npyqtdeploy.sysroot.sysroot.fu_create_file(??)\npyqtdeploy.sysroot.sysroot.fu_open_file(??)\npyqtdeploy.sysroot.sysroot.os(??)\npyqtdeploy.sysroot.sysroot.shutil(??)\npyqtdeploy.sysroot.sysroot.sys(??)\npyqtdeploy.user_exception(??)\npyqtdeploy.user_exception.UserException(??)\npyqtdeploy.version(??)\npyqtdeploy.version.PYQTDEPLOY_HEXVERSION\npyqtdeploy.version.PYQTDEPLOY_RELEASE\npyqtdeploy.version_number(??)\npyqtdeploy.version_number.UserException(??)\npyqtdeploy.version_number.VersionNumber(??)\npyqtdeploy.version_number.namedtuple(??)\nqueue.Empty(??)\nqueue.Full(??)\nqueue.LifoQueue(??)\nqueue.PriorityQueue(??)\nqueue.Queue(??)\nqueue.SimpleQueue(??)\nqueue.deque([iterable[, maxlen]]) --> deque object\nqueue.heappop(??)\nqueue.heappush(??)\nqueue.threading(??)\nqueue.time(??)\nqueue.types(??)\nquit(??)\nquopri.EMPTYSTRING\nquopri.ESCAPE\nquopri.HEX\nquopri.MAXLINESIZE\nquopri.a2b_qp(??)\nquopri.b2a_qp(??)\nquopri.decode(??)\nquopri.decodestring(??)\nquopri.encode(??)\nquopri.encodestring(??)\nquopri.ishex(??)\nquopri.main(??)\nquopri.needsquoting(??)\nquopri.quote(??)\nquopri.unhex(??)\nrandom.BPF\nrandom.LOG4\nrandom.NV_MAGICCONST\nrandom.RECIP_BPF\nrandom.Random(??)\nrandom.SG_MAGICCONST\nrandom.SystemRandom(??)\nrandom.TWOPI\nrandom.betavariate(??)\nrandom.choice(??)\nrandom.choices(??)\nrandom.expovariate(??)\nrandom.gammavariate(??)\nrandom.gauss(??)\nrandom.getrandbits(k) -> x.  Generates an int with k random bits.\nrandom.getstate(??)\nrandom.lognormvariate(??)\nrandom.normalvariate(??)\nrandom.paretovariate(??)\nrandom.randbytes(??)\nrandom.randint(??)\nrandom.random() -> x in the interval [0, 1).\nrandom.randrange(??)\nrandom.sample(??)\nrandom.seed(??)\nrandom.setstate(??)\nrandom.shuffle(??)\nrandom.triangular(??)\nrandom.uniform(??)\nrandom.vonmisesvariate(??)\nrandom.weibullvariate(??)\nrange(stop) -> range object\nre.A(??)\nre.ASCII(??)\nre.DEBUG(??)\nre.DOTALL(??)\nre.I(??)\nre.IGNORECASE(??)\nre.L(??)\nre.LOCALE(??)\nre.M(??)\nre.MULTILINE(??)\nre.Match(??)\nre.Pattern(??)\nre.RegexFlag(??)\nre.S(??)\nre.Scanner(??)\nre.T(??)\nre.TEMPLATE(??)\nre.U(??)\nre.UNICODE(??)\nre.VERBOSE(??)\nre.X(??)\nre.compile(??)\nre.copyreg(??)\nre.enum(??)\nre.error(??)\nre.escape(??)\nre.findall(??)\nre.finditer(??)\nre.fullmatch(??)\nre.functools(??)\nre.match(??)\nre.purge(??)\nre.search(??)\nre.split(??)\nre.sre_compile(??)\nre.sre_parse(??)\nre.sub(??)\nre.subn(??)\nre.template(??)\nrepr(??)\nreprlib.Repr(??)\nreprlib.aRepr(??)\nreprlib.builtins(??)\nreprlib.get_ident() -> integer\nreprlib.islice(iterable, stop) --> islice object\nreprlib.recursive_repr(??)\nreprlib.repr(??)\nreversed(??)\nrlcompleter.Completer(??)\nrlcompleter.atexit(??)\nrlcompleter.builtins(??)\nrlcompleter.get_class_members(??)\nrlcompleter.readline(??)\nround(??)\nrunpy.get_importer(??)\nrunpy.importlib(??)\nrunpy.io(??)\nrunpy.os(??)\nrunpy.read_code(??)\nrunpy.run_module(??)\nrunpy.run_path(??)\nrunpy.sys(??)\nrunpy.types(??)\nsched.Event(??)\nsched.heapq(??)\nsched.namedtuple(??)\nsched.scheduler(??)\nsched.threading(??)\nsched.time(??)\nsecrets.DEFAULT_ENTROPY\nsecrets.SystemRandom(??)\nsecrets.base64(??)\nsecrets.binascii(??)\nsecrets.choice(??)\nsecrets.compare_digest(??)\nsecrets.randbelow(??)\nsecrets.randbits(??)\nsecrets.token_bytes(??)\nsecrets.token_hex(??)\nsecrets.token_urlsafe(??)\nselectors.ABCMeta(??)\nselectors.BaseSelector(??)\nselectors.DefaultSelector(??)\nselectors.EVENT_READ\nselectors.EVENT_WRITE\nselectors.KqueueSelector(??)\nselectors.Mapping(??)\nselectors.PollSelector(??)\nselectors.SelectSelector(??)\nselectors.SelectorKey(fileobj, fd, events, data)\nselectors.abstractmethod(??)\nselectors.math(??)\nselectors.namedtuple(??)\nselectors.select(??)\nselectors.sys(??)\nset() -> new empty set object\nsetattr(??)\nshelve.BsdDbShelf(??)\nshelve.BytesIO(??)\nshelve.DbfilenameShelf(??)\nshelve.Pickler(??)\nshelve.Shelf(??)\nshelve.Unpickler(??)\nshelve.collections(??)\nshelve.open(??)\nshlex.StringIO(??)\nshlex.deque([iterable[, maxlen]]) --> deque object\nshlex.join(??)\nshlex.os(??)\nshlex.quote(??)\nshlex.re(??)\nshlex.shlex(??)\nshlex.split(??)\nshlex.sys(??)\nshutil.COPY_BUFSIZE\nshutil.Error(??)\nshutil.ExecError(??)\nshutil.ReadError(??)\nshutil.RegistryError(??)\nshutil.SameFileError(??)\nshutil.SpecialFileError(??)\nshutil.chown(??)\nshutil.collections(??)\nshutil.copy(??)\nshutil.copy2(??)\nshutil.copyfile(??)\nshutil.copyfileobj(??)\nshutil.copymode(??)\nshutil.copystat(??)\nshutil.copytree(??)\nshutil.disk_usage(??)\nshutil.errno(??)\nshutil.fnmatch(??)\nshutil.get_archive_formats(??)\nshutil.get_terminal_size(??)\nshutil.get_unpack_formats(??)\nshutil.getgrnam(??)\nshutil.getpwnam(??)\nshutil.ignore_patterns(??)\nshutil.make_archive(??)\nshutil.move(??)\nshutil.nt(??)\nshutil.os(??)\nshutil.posix(??)\nshutil.register_archive_format(??)\nshutil.register_unpack_format(??)\nshutil.rmtree(??)\nshutil.stat(??)\nshutil.sys(??)\nshutil.unpack_archive(??)\nshutil.unregister_archive_format(??)\nshutil.unregister_unpack_format(??)\nshutil.which(??)\nsignal.Handlers(??)\nsignal.ITIMER_PROF\nsignal.ITIMER_REAL\nsignal.ITIMER_VIRTUAL\nsignal.ItimerError(??)\nsignal.NSIG\nsignal.SIGABRT(??)\nsignal.SIGALRM(??)\nsignal.SIGBUS(??)\nsignal.SIGCHLD(??)\nsignal.SIGCONT(??)\nsignal.SIGEMT(??)\nsignal.SIGFPE(??)\nsignal.SIGHUP(??)\nsignal.SIGILL(??)\nsignal.SIGINFO(??)\nsignal.SIGINT(??)\nsignal.SIGIO(??)\nsignal.SIGIOT(??)\nsignal.SIGKILL(??)\nsignal.SIGPIPE(??)\nsignal.SIGPROF(??)\nsignal.SIGQUIT(??)\nsignal.SIGSEGV(??)\nsignal.SIGSTOP(??)\nsignal.SIGSYS(??)\nsignal.SIGTERM(??)\nsignal.SIGTRAP(??)\nsignal.SIGTSTP(??)\nsignal.SIGTTIN(??)\nsignal.SIGTTOU(??)\nsignal.SIGURG(??)\nsignal.SIGUSR1(??)\nsignal.SIGUSR2(??)\nsignal.SIGVTALRM(??)\nsignal.SIGWINCH(??)\nsignal.SIGXCPU(??)\nsignal.SIGXFSZ(??)\nsignal.SIG_BLOCK(??)\nsignal.SIG_DFL(??)\nsignal.SIG_IGN(??)\nsignal.SIG_SETMASK(??)\nsignal.SIG_UNBLOCK(??)\nsignal.Sigmasks(??)\nsignal.Signals(??)\nsignal.alarm(??)\nsignal.default_int_handler(...)\nsignal.getitimer(??)\nsignal.getsignal(??)\nsignal.pause(??)\nsignal.pthread_kill(??)\nsignal.pthread_sigmask(??)\nsignal.raise_signal(??)\nsignal.set_wakeup_fd(fd, *, warn_on_full_buffer=True) -> fd\nsignal.setitimer(??)\nsignal.siginterrupt(??)\nsignal.signal(??)\nsignal.sigpending(??)\nsignal.sigwait(??)\nsignal.strsignal(??)\nsignal.valid_signals(??)\nsipbuild.AbstractBuilder(??)\nsipbuild.AbstractProject(??)\nsipbuild.Bindings(??)\nsipbuild.Buildable(??)\nsipbuild.BuildableBindings(??)\nsipbuild.BuildableExecutable(??)\nsipbuild.BuildableFromSources(??)\nsipbuild.BuildableModule(??)\nsipbuild.Builder(??)\nsipbuild.DistutilsBuilder(??)\nsipbuild.Installable(??)\nsipbuild.Option(??)\nsipbuild.Project(??)\nsipbuild.PyProjectOptionException(??)\nsipbuild.PyProjectUndefinedOptionException(??)\nsipbuild.SIP_VERSION\nsipbuild.SIP_VERSION_STR\nsipbuild.UserException(??)\nsipbuild.abstract_builder(??)\nsipbuild.abstract_builder.ABC(??)\nsipbuild.abstract_builder.AbstractBuilder(??)\nsipbuild.abstract_builder.Configurable(??)\nsipbuild.abstract_builder.abstractmethod(??)\nsipbuild.abstract_project(??)\nsipbuild.abstract_project.ABC(??)\nsipbuild.abstract_project.AbstractProject(??)\nsipbuild.abstract_project.PyProject(??)\nsipbuild.abstract_project.PyProjectOptionException(??)\nsipbuild.abstract_project.UserException(??)\nsipbuild.abstract_project.abstractmethod(??)\nsipbuild.abstract_project.importlib(??)\nsipbuild.abstract_project.os(??)\nsipbuild.api.AbstractProject(??)\nsipbuild.api.build_sdist(??)\nsipbuild.api.build_wheel(??)\nsipbuild.api.handle_exception(??)\nsipbuild.argument_parser(??)\nsipbuild.argument_parser.ArgParser(??)\nsipbuild.argument_parser.ArgumentParser(??)\nsipbuild.argument_parser.SIP_VERSION_STR\nsipbuild.bindings(??)\nsipbuild.bindings.Bindings(??)\nsipbuild.bindings.BuildableBindings(??)\nsipbuild.bindings.Configurable(??)\nsipbuild.bindings.Installable(??)\nsipbuild.bindings.Option(??)\nsipbuild.bindings.UserException(??)\nsipbuild.bindings.copy_nonshared_sources(??)\nsipbuild.bindings.generateAPI(??)\nsipbuild.bindings.generateCode(??)\nsipbuild.bindings.generateExtracts(??)\nsipbuild.bindings.generateTypeHints(??)\nsipbuild.bindings.generateXML(??)\nsipbuild.bindings.os(??)\nsipbuild.bindings.parse(??)\nsipbuild.bindings.sys(??)\nsipbuild.buildable(??)\nsipbuild.buildable.Buildable(??)\nsipbuild.buildable.BuildableBindings(??)\nsipbuild.buildable.BuildableExecutable(??)\nsipbuild.buildable.BuildableFromSources(??)\nsipbuild.buildable.BuildableModule(??)\nsipbuild.buildable.Installable(??)\nsipbuild.buildable.SIP_VERSION_STR\nsipbuild.buildable.UserException(??)\nsipbuild.buildable.importlib(??)\nsipbuild.buildable.os(??)\nsipbuild.buildable.sys(??)\nsipbuild.builder(??)\nsipbuild.builder.AbstractBuilder(??)\nsipbuild.builder.BuildableFromSources(??)\nsipbuild.builder.Builder(??)\nsipbuild.builder.FIRST_SUPPORTED_MINOR\nsipbuild.builder.Installable(??)\nsipbuild.builder.LAST_SUPPORTED_MINOR\nsipbuild.builder.SIP_VERSION\nsipbuild.builder.SIP_VERSION_STR\nsipbuild.builder.UserException(??)\nsipbuild.builder.abstractmethod(??)\nsipbuild.builder.copy_sip_h(??)\nsipbuild.builder.get_platform(??)\nsipbuild.builder.glob(??)\nsipbuild.builder.os(??)\nsipbuild.builder.set_globals(??)\nsipbuild.builder.shutil(??)\nsipbuild.builder.stat(??)\nsipbuild.builder.sys(??)\nsipbuild.builder.write_metadata(??)\nsipbuild.code_generator(??)\nsipbuild.configurable(??)\nsipbuild.configurable.Configurable(??)\nsipbuild.configurable.Marker(??)\nsipbuild.configurable.Option(??)\nsipbuild.configurable.PyProjectOptionException(??)\nsipbuild.configurable.UserException(??)\nsipbuild.distinfo(??)\nsipbuild.distinfo.create_distinfo(??)\nsipbuild.distinfo.distinfo(??)\nsipbuild.distinfo.distinfo.PyProject(??)\nsipbuild.distinfo.distinfo.SIP_VERSION_STR\nsipbuild.distinfo.distinfo.UserException(??)\nsipbuild.distinfo.distinfo.WHEEL_VERSION\nsipbuild.distinfo.distinfo.base64(??)\nsipbuild.distinfo.distinfo.create_distinfo(??)\nsipbuild.distinfo.distinfo.distinfo(??)\nsipbuild.distinfo.distinfo.hashlib(??)\nsipbuild.distinfo.distinfo.os(??)\nsipbuild.distinfo.distinfo.shutil(??)\nsipbuild.distinfo.distinfo.sys(??)\nsipbuild.distinfo.distinfo.write_metadata(??)\nsipbuild.distinfo.main.ArgumentParser(??)\nsipbuild.distinfo.main.distinfo(??)\nsipbuild.distinfo.main.handle_exception(??)\nsipbuild.distinfo.main.main(??)\nsipbuild.distinfo.write_metadata(??)\nsipbuild.distutils_builder(??)\nsipbuild.distutils_builder.BuildableModule(??)\nsipbuild.distutils_builder.Builder(??)\nsipbuild.distutils_builder.Distribution(??)\nsipbuild.distutils_builder.DistutilsBuilder(??)\nsipbuild.distutils_builder.ERROR\nsipbuild.distutils_builder.Extension(??)\nsipbuild.distutils_builder.ExtensionCommand(??)\nsipbuild.distutils_builder.INFO\nsipbuild.distutils_builder.Installable(??)\nsipbuild.distutils_builder.UserException(??)\nsipbuild.distutils_builder.build_ext(??)\nsipbuild.distutils_builder.os(??)\nsipbuild.distutils_builder.set_threshold(??)\nsipbuild.exceptions(??)\nsipbuild.exceptions.UserException(??)\nsipbuild.exceptions.UserFileException(??)\nsipbuild.exceptions.UserParseException(??)\nsipbuild.exceptions.handle_exception(??)\nsipbuild.exceptions.os(??)\nsipbuild.exceptions.sys(??)\nsipbuild.handle_exception(??)\nsipbuild.helpers.UserFileException(??)\nsipbuild.helpers.UserParseException(??)\nsipbuild.helpers.get_bindings_configuration(??)\nsipbuild.helpers.os(??)\nsipbuild.helpers.resolve_abi_version(??)\nsipbuild.helpers.toml(??)\nsipbuild.installable(??)\nsipbuild.installable.Installable(??)\nsipbuild.installable.copy2(??)\nsipbuild.installable.copytree(??)\nsipbuild.installable.os(??)\nsipbuild.module(??)\nsipbuild.module.abi_version(??)\nsipbuild.module.abi_version.UserException(??)\nsipbuild.module.abi_version.get_module_source_dir(??)\nsipbuild.module.abi_version.get_sip_module_version(??)\nsipbuild.module.abi_version.os(??)\nsipbuild.module.abi_version.parse(??)\nsipbuild.module.abi_version.resolve_abi_version(??)\nsipbuild.module.copy_nonshared_sources(??)\nsipbuild.module.copy_sip_h(??)\nsipbuild.module.main.ArgumentParser(??)\nsipbuild.module.main.handle_exception(??)\nsipbuild.module.main.main(??)\nsipbuild.module.main.module(??)\nsipbuild.module.module(??)\nsipbuild.module.module.SIP_VERSION\nsipbuild.module.module.SIP_VERSION_STR\nsipbuild.module.module.copy_nonshared_sources(??)\nsipbuild.module.module.copy_sip_h(??)\nsipbuild.module.module.get_module_source_dir(??)\nsipbuild.module.module.get_sip_module_version(??)\nsipbuild.module.module.module(??)\nsipbuild.module.module.os(??)\nsipbuild.module.module.resolve_abi_version(??)\nsipbuild.module.module.shutil(??)\nsipbuild.module.module.subprocess(??)\nsipbuild.module.module.sys(??)\nsipbuild.module.resolve_abi_version(??)\nsipbuild.project(??)\nsipbuild.project.AbstractBuilder(??)\nsipbuild.project.AbstractProject(??)\nsipbuild.project.Bindings(??)\nsipbuild.project.Configurable(??)\nsipbuild.project.FIRST_SUPPORTED_MINOR\nsipbuild.project.LAST_SUPPORTED_MINOR\nsipbuild.project.Option(??)\nsipbuild.project.OrderedDict(??)\nsipbuild.project.Project(??)\nsipbuild.project.PyProjectException(??)\nsipbuild.project.PyProjectOptionException(??)\nsipbuild.project.PyProjectUndefinedOptionException(??)\nsipbuild.project.UserException(??)\nsipbuild.project.get_python_inc(??)\nsipbuild.project.get_python_lib(??)\nsipbuild.project.os(??)\nsipbuild.project.packaging(??)\nsipbuild.project.resolve_abi_version(??)\nsipbuild.project.shutil(??)\nsipbuild.project.subprocess(??)\nsipbuild.project.sys(??)\nsipbuild.project.tempfile(??)\nsipbuild.project.warnings(??)\nsipbuild.py_versions(??)\nsipbuild.py_versions.FIRST_SUPPORTED_MINOR\nsipbuild.py_versions.LAST_SUPPORTED_MINOR\nsipbuild.pyproject(??)\nsipbuild.pyproject.FIRST_SUPPORTED_MINOR\nsipbuild.pyproject.OrderedDict(??)\nsipbuild.pyproject.PyProject(??)\nsipbuild.pyproject.PyProjectException(??)\nsipbuild.pyproject.PyProjectOptionException(??)\nsipbuild.pyproject.PyProjectUndefinedOptionException(??)\nsipbuild.pyproject.UserFileException(??)\nsipbuild.pyproject.UserParseException(??)\nsipbuild.pyproject.toml(??)\nsipbuild.tools(??)\nsipbuild.tools.build(??)\nsipbuild.tools.build.AbstractProject(??)\nsipbuild.tools.build.handle_exception(??)\nsipbuild.tools.build.main(??)\nsipbuild.tools.install.AbstractProject(??)\nsipbuild.tools.install.handle_exception(??)\nsipbuild.tools.install.main(??)\nsipbuild.tools.sdist.AbstractProject(??)\nsipbuild.tools.sdist.handle_exception(??)\nsipbuild.tools.sdist.main(??)\nsipbuild.tools.wheel.AbstractProject(??)\nsipbuild.tools.wheel.handle_exception(??)\nsipbuild.tools.wheel.main(??)\nsipbuild.version(??)\nsipbuild.version.SIP_VERSION\nsipbuild.version.SIP_VERSION_STR\nsite.ENABLE_USER_SITE(??)\nsite.PREFIXES(??)\nsite.USER_BASE\nsite.USER_SITE\nsite.abs_paths(??)\nsite.addpackage(??)\nsite.addsitedir(??)\nsite.addsitepackages(??)\nsite.addusersitepackages(??)\nsite.builtins(??)\nsite.check_enableusersite(??)\nsite.enablerlcompleter(??)\nsite.execsitecustomize(??)\nsite.execusercustomize(??)\nsite.getsitepackages(??)\nsite.getuserbase(??)\nsite.getusersitepackages(??)\nsite.io(??)\nsite.main(??)\nsite.makepath(??)\nsite.os(??)\nsite.removeduppaths(??)\nsite.setcopyright(??)\nsite.sethelper(??)\nsite.setquit(??)\nsite.sys(??)\nsite.venv(??)\nslice(stop)\nsmtpd.COMMASPACE\nsmtpd.DATA_SIZE_DEFAULT\nsmtpd.DEBUGSTREAM(??)\nsmtpd.DebuggingServer(??)\nsmtpd.Devnull(??)\nsmtpd.MailmanProxy(??)\nsmtpd.NEWLINE\nsmtpd.Options(??)\nsmtpd.PureProxy(??)\nsmtpd.SMTPChannel(??)\nsmtpd.SMTPServer(??)\nsmtpd.asynchat(??)\nsmtpd.asyncore(??)\nsmtpd.collections(??)\nsmtpd.errno(??)\nsmtpd.get_addr_spec(??)\nsmtpd.get_angle_addr(??)\nsmtpd.getopt(??)\nsmtpd.os(??)\nsmtpd.parseargs(??)\nsmtpd.program\nsmtpd.socket(??)\nsmtpd.sys(??)\nsmtpd.time(??)\nsmtpd.usage(??)\nsmtpd.warn(??)\nsmtplib.CRLF\nsmtplib.LMTP(??)\nsmtplib.LMTP_PORT\nsmtplib.OLDSTYLE_AUTH(??)\nsmtplib.SMTP(??)\nsmtplib.SMTPAuthenticationError(??)\nsmtplib.SMTPConnectError(??)\nsmtplib.SMTPDataError(??)\nsmtplib.SMTPException(??)\nsmtplib.SMTPHeloError(??)\nsmtplib.SMTPNotSupportedError(??)\nsmtplib.SMTPRecipientsRefused(??)\nsmtplib.SMTPResponseException(??)\nsmtplib.SMTPSenderRefused(??)\nsmtplib.SMTPServerDisconnected(??)\nsmtplib.SMTP_PORT\nsmtplib.SMTP_SSL(??)\nsmtplib.SMTP_SSL_PORT\nsmtplib.bCRLF\nsmtplib.base64(??)\nsmtplib.copy(??)\nsmtplib.datetime(??)\nsmtplib.email(??)\nsmtplib.encode_base64(??)\nsmtplib.hmac(??)\nsmtplib.io(??)\nsmtplib.quoteaddr(??)\nsmtplib.quotedata(??)\nsmtplib.re(??)\nsmtplib.socket(??)\nsmtplib.ssl(??)\nsmtplib.sys(??)\nsndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth)\nsndhdr.get_long_be(??)\nsndhdr.get_long_le(??)\nsndhdr.get_short_be(??)\nsndhdr.get_short_le(??)\nsndhdr.namedtuple(??)\nsndhdr.test(??)\nsndhdr.test_8svx(??)\nsndhdr.test_aifc(??)\nsndhdr.test_au(??)\nsndhdr.test_hcom(??)\nsndhdr.test_sndr(??)\nsndhdr.test_sndt(??)\nsndhdr.test_voc(??)\nsndhdr.test_wav(??)\nsndhdr.testall(??)\nsndhdr.tests(??)\nsndhdr.what(??)\nsndhdr.whathdr(??)\nsocket.AF_APPLETALK(??)\nsocket.AF_DECnet\nsocket.AF_INET(??)\nsocket.AF_INET6(??)\nsocket.AF_IPX(??)\nsocket.AF_LINK(??)\nsocket.AF_ROUTE(??)\nsocket.AF_SNA(??)\nsocket.AF_SYSTEM(??)\nsocket.AF_UNIX(??)\nsocket.AF_UNSPEC(??)\nsocket.AI_ADDRCONFIG(??)\nsocket.AI_ALL(??)\nsocket.AI_CANONNAME(??)\nsocket.AI_DEFAULT(??)\nsocket.AI_MASK(??)\nsocket.AI_NUMERICHOST(??)\nsocket.AI_NUMERICSERV(??)\nsocket.AI_PASSIVE(??)\nsocket.AI_V4MAPPED(??)\nsocket.AI_V4MAPPED_CFG(??)\nsocket.AddressFamily(??)\nsocket.AddressInfo(??)\nsocket.CAPI(??)\nsocket.CMSG_LEN(length) -> control message length\nsocket.CMSG_SPACE(length) -> buffer size\nsocket.EAGAIN\nsocket.EAI_ADDRFAMILY\nsocket.EAI_AGAIN\nsocket.EAI_BADFLAGS\nsocket.EAI_BADHINTS\nsocket.EAI_FAIL\nsocket.EAI_FAMILY\nsocket.EAI_MAX\nsocket.EAI_MEMORY\nsocket.EAI_NODATA\nsocket.EAI_NONAME\nsocket.EAI_OVERFLOW\nsocket.EAI_PROTOCOL\nsocket.EAI_SERVICE\nsocket.EAI_SOCKTYPE\nsocket.EAI_SYSTEM\nsocket.EBADF\nsocket.EWOULDBLOCK\nsocket.INADDR_ALLHOSTS_GROUP\nsocket.INADDR_ANY\nsocket.INADDR_BROADCAST\nsocket.INADDR_LOOPBACK\nsocket.INADDR_MAX_LOCAL_GROUP\nsocket.INADDR_NONE\nsocket.INADDR_UNSPEC_GROUP\nsocket.IPPORT_RESERVED\nsocket.IPPORT_USERRESERVED\nsocket.IPPROTO_AH\nsocket.IPPROTO_DSTOPTS\nsocket.IPPROTO_EGP\nsocket.IPPROTO_EON\nsocket.IPPROTO_ESP\nsocket.IPPROTO_FRAGMENT\nsocket.IPPROTO_GGP\nsocket.IPPROTO_GRE\nsocket.IPPROTO_HELLO\nsocket.IPPROTO_HOPOPTS\nsocket.IPPROTO_ICMP\nsocket.IPPROTO_ICMPV6\nsocket.IPPROTO_IDP\nsocket.IPPROTO_IGMP\nsocket.IPPROTO_IP\nsocket.IPPROTO_IPCOMP\nsocket.IPPROTO_IPIP\nsocket.IPPROTO_IPV4\nsocket.IPPROTO_IPV6\nsocket.IPPROTO_MAX\nsocket.IPPROTO_ND\nsocket.IPPROTO_NONE\nsocket.IPPROTO_PIM\nsocket.IPPROTO_PUP\nsocket.IPPROTO_RAW\nsocket.IPPROTO_ROUTING\nsocket.IPPROTO_RSVP\nsocket.IPPROTO_SCTP\nsocket.IPPROTO_TCP\nsocket.IPPROTO_TP\nsocket.IPPROTO_UDP\nsocket.IPPROTO_XTP\nsocket.IPV6_CHECKSUM\nsocket.IPV6_DONTFRAG\nsocket.IPV6_DSTOPTS\nsocket.IPV6_HOPLIMIT\nsocket.IPV6_HOPOPTS\nsocket.IPV6_JOIN_GROUP\nsocket.IPV6_LEAVE_GROUP\nsocket.IPV6_MULTICAST_HOPS\nsocket.IPV6_MULTICAST_IF\nsocket.IPV6_MULTICAST_LOOP\nsocket.IPV6_NEXTHOP\nsocket.IPV6_PATHMTU\nsocket.IPV6_PKTINFO\nsocket.IPV6_RECVDSTOPTS\nsocket.IPV6_RECVHOPLIMIT\nsocket.IPV6_RECVHOPOPTS\nsocket.IPV6_RECVPATHMTU\nsocket.IPV6_RECVPKTINFO\nsocket.IPV6_RECVRTHDR\nsocket.IPV6_RECVTCLASS\nsocket.IPV6_RTHDR\nsocket.IPV6_RTHDRDSTOPTS\nsocket.IPV6_RTHDR_TYPE_0\nsocket.IPV6_TCLASS\nsocket.IPV6_UNICAST_HOPS\nsocket.IPV6_USE_MIN_MTU\nsocket.IPV6_V6ONLY\nsocket.IP_ADD_MEMBERSHIP\nsocket.IP_DEFAULT_MULTICAST_LOOP\nsocket.IP_DEFAULT_MULTICAST_TTL\nsocket.IP_DROP_MEMBERSHIP\nsocket.IP_HDRINCL\nsocket.IP_MAX_MEMBERSHIPS\nsocket.IP_MULTICAST_IF\nsocket.IP_MULTICAST_LOOP\nsocket.IP_MULTICAST_TTL\nsocket.IP_OPTIONS\nsocket.IP_RECVDSTADDR\nsocket.IP_RECVOPTS\nsocket.IP_RECVRETOPTS\nsocket.IP_RETOPTS\nsocket.IP_TOS\nsocket.IP_TTL\nsocket.IntEnum(??)\nsocket.IntFlag(??)\nsocket.LOCAL_PEERCRED\nsocket.MSG_CTRUNC(??)\nsocket.MSG_DONTROUTE(??)\nsocket.MSG_DONTWAIT(??)\nsocket.MSG_EOF(??)\nsocket.MSG_EOR(??)\nsocket.MSG_OOB(??)\nsocket.MSG_PEEK(??)\nsocket.MSG_TRUNC(??)\nsocket.MSG_WAITALL(??)\nsocket.MsgFlag(??)\nsocket.NI_DGRAM\nsocket.NI_MAXHOST\nsocket.NI_MAXSERV\nsocket.NI_NAMEREQD\nsocket.NI_NOFQDN\nsocket.NI_NUMERICHOST\nsocket.NI_NUMERICSERV\nsocket.PF_SYSTEM\nsocket.SCM_CREDS\nsocket.SCM_RIGHTS\nsocket.SHUT_RD\nsocket.SHUT_RDWR\nsocket.SHUT_WR\nsocket.SOCK_DGRAM(??)\nsocket.SOCK_RAW(??)\nsocket.SOCK_RDM(??)\nsocket.SOCK_SEQPACKET(??)\nsocket.SOCK_STREAM(??)\nsocket.SOL_IP\nsocket.SOL_SOCKET\nsocket.SOL_TCP\nsocket.SOL_UDP\nsocket.SOMAXCONN\nsocket.SO_ACCEPTCONN\nsocket.SO_BROADCAST\nsocket.SO_DEBUG\nsocket.SO_DONTROUTE\nsocket.SO_ERROR\nsocket.SO_KEEPALIVE\nsocket.SO_LINGER\nsocket.SO_OOBINLINE\nsocket.SO_RCVBUF\nsocket.SO_RCVLOWAT\nsocket.SO_RCVTIMEO\nsocket.SO_REUSEADDR\nsocket.SO_REUSEPORT\nsocket.SO_SNDBUF\nsocket.SO_SNDLOWAT\nsocket.SO_SNDTIMEO\nsocket.SO_TYPE\nsocket.SO_USELOOPBACK\nsocket.SYSPROTO_CONTROL\nsocket.SocketIO(??)\nsocket.SocketKind(??)\nsocket.SocketType(??)\nsocket.TCP_KEEPCNT\nsocket.TCP_KEEPINTVL\nsocket.TCP_MAXSEG\nsocket.TCP_NODELAY\nsocket.array(??)\nsocket.close(integer) -> None\nsocket.create_connection(??)\nsocket.create_server(??)\nsocket.dup(integer) -> integer\nsocket.errno(??)\nsocket.error(??)\nsocket.fromfd(fd, family, type[, proto]) -> socket object\nsocket.gaierror(??)\nsocket.getaddrinfo(??)\nsocket.getdefaulttimeout() -> timeout\nsocket.getfqdn(??)\nsocket.gethostbyaddr(host) -> (name, aliaslist, addresslist)\nsocket.gethostbyname(host) -> address\nsocket.gethostbyname_ex(host) -> (name, aliaslist, addresslist)\nsocket.gethostname() -> string\nsocket.getnameinfo(sockaddr, flags) --> (host, port)\nsocket.getprotobyname(name) -> integer\nsocket.getservbyname(servicename[, protocolname]) -> integer\nsocket.getservbyport(port[, protocolname]) -> string\nsocket.has_dualstack_ipv6(??)\nsocket.has_ipv6(??)\nsocket.herror(??)\nsocket.htonl(integer) -> integer\nsocket.htons(integer) -> integer\nsocket.if_indextoname(if_index)\nsocket.if_nameindex()\nsocket.if_nametoindex(if_name)\nsocket.inet_aton(string) -> bytes giving packed 32-bit IP representation\nsocket.inet_ntoa(packed_ip) -> ip_address_string\nsocket.inet_ntop(af, packed_ip) -> string formatted IP address\nsocket.inet_pton(af, ip) -> packed IP address string\nsocket.io(??)\nsocket.ntohl(integer) -> integer\nsocket.ntohs(integer) -> integer\nsocket.os(??)\nsocket.recv_fds(sock, bufsize, maxfds[, flags]) -> (data, list of file\nsocket.selectors(??)\nsocket.send_fds(sock, buffers, fds[, flags[, address]]) -> integer\nsocket.setdefaulttimeout(timeout)\nsocket.sethostname(name)\nsocket.socket(??)\nsocket.socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nsocket.sys(??)\nsocket.timeout(??)\nsocketserver.BaseRequestHandler(??)\nsocketserver.BaseServer(??)\nsocketserver.BufferedIOBase(??)\nsocketserver.DatagramRequestHandler(??)\nsocketserver.ForkingMixIn(??)\nsocketserver.ForkingTCPServer(??)\nsocketserver.ForkingUDPServer(??)\nsocketserver.StreamRequestHandler(??)\nsocketserver.TCPServer(??)\nsocketserver.ThreadingMixIn(??)\nsocketserver.ThreadingTCPServer(??)\nsocketserver.ThreadingUDPServer(??)\nsocketserver.ThreadingUnixDatagramServer(??)\nsocketserver.ThreadingUnixStreamServer(??)\nsocketserver.UDPServer(??)\nsocketserver.UnixDatagramServer(??)\nsocketserver.UnixStreamServer(??)\nsocketserver.os(??)\nsocketserver.selectors(??)\nsocketserver.socket(??)\nsocketserver.sys(??)\nsocketserver.threading(??)\nsocketserver.time(??)\nsorted(??)\nsqlite3.Binary(??)\nsqlite3.Connection(??)\nsqlite3.Cursor(??)\nsqlite3.DataError(??)\nsqlite3.DatabaseError(??)\nsqlite3.Date(??)\nsqlite3.DateFromTicks(??)\nsqlite3.Error(??)\nsqlite3.IntegrityError(??)\nsqlite3.InterfaceError(??)\nsqlite3.InternalError(??)\nsqlite3.NotSupportedError(??)\nsqlite3.OperationalError(??)\nsqlite3.OptimizedUnicode(??)\nsqlite3.PARSE_COLNAMES\nsqlite3.PARSE_DECLTYPES\nsqlite3.PrepareProtocol(??)\nsqlite3.ProgrammingError(??)\nsqlite3.Row(??)\nsqlite3.SQLITE_ALTER_TABLE\nsqlite3.SQLITE_ANALYZE\nsqlite3.SQLITE_ATTACH\nsqlite3.SQLITE_CREATE_INDEX\nsqlite3.SQLITE_CREATE_TABLE\nsqlite3.SQLITE_CREATE_TEMP_INDEX\nsqlite3.SQLITE_CREATE_TEMP_TABLE\nsqlite3.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.SQLITE_CREATE_TEMP_VIEW\nsqlite3.SQLITE_CREATE_TRIGGER\nsqlite3.SQLITE_CREATE_VIEW\nsqlite3.SQLITE_CREATE_VTABLE\nsqlite3.SQLITE_DELETE\nsqlite3.SQLITE_DENY\nsqlite3.SQLITE_DETACH\nsqlite3.SQLITE_DONE\nsqlite3.SQLITE_DROP_INDEX\nsqlite3.SQLITE_DROP_TABLE\nsqlite3.SQLITE_DROP_TEMP_INDEX\nsqlite3.SQLITE_DROP_TEMP_TABLE\nsqlite3.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.SQLITE_DROP_TEMP_VIEW\nsqlite3.SQLITE_DROP_TRIGGER\nsqlite3.SQLITE_DROP_VIEW\nsqlite3.SQLITE_DROP_VTABLE\nsqlite3.SQLITE_FUNCTION\nsqlite3.SQLITE_IGNORE\nsqlite3.SQLITE_INSERT\nsqlite3.SQLITE_OK\nsqlite3.SQLITE_PRAGMA\nsqlite3.SQLITE_READ\nsqlite3.SQLITE_RECURSIVE\nsqlite3.SQLITE_REINDEX\nsqlite3.SQLITE_SAVEPOINT\nsqlite3.SQLITE_SELECT\nsqlite3.SQLITE_TRANSACTION\nsqlite3.SQLITE_UPDATE\nsqlite3.Time(??)\nsqlite3.TimeFromTicks(??)\nsqlite3.Timestamp(??)\nsqlite3.TimestampFromTicks(??)\nsqlite3.Warning(??)\nsqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.adapters(??)\nsqlite3.apilevel\nsqlite3.collections(??)\nsqlite3.complete_statement(sql)\nsqlite3.connect(??)\nsqlite3.converters(??)\nsqlite3.datetime(??)\nsqlite3.dbapi2(??)\nsqlite3.dbapi2.Binary(??)\nsqlite3.dbapi2.Connection(??)\nsqlite3.dbapi2.Cursor(??)\nsqlite3.dbapi2.DataError(??)\nsqlite3.dbapi2.DatabaseError(??)\nsqlite3.dbapi2.Date(??)\nsqlite3.dbapi2.DateFromTicks(??)\nsqlite3.dbapi2.Error(??)\nsqlite3.dbapi2.IntegrityError(??)\nsqlite3.dbapi2.InterfaceError(??)\nsqlite3.dbapi2.InternalError(??)\nsqlite3.dbapi2.NotSupportedError(??)\nsqlite3.dbapi2.OperationalError(??)\nsqlite3.dbapi2.OptimizedUnicode(??)\nsqlite3.dbapi2.PARSE_COLNAMES\nsqlite3.dbapi2.PARSE_DECLTYPES\nsqlite3.dbapi2.PrepareProtocol(??)\nsqlite3.dbapi2.ProgrammingError(??)\nsqlite3.dbapi2.Row(??)\nsqlite3.dbapi2.SQLITE_ALTER_TABLE\nsqlite3.dbapi2.SQLITE_ANALYZE\nsqlite3.dbapi2.SQLITE_ATTACH\nsqlite3.dbapi2.SQLITE_CREATE_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_TRIGGER\nsqlite3.dbapi2.SQLITE_CREATE_VIEW\nsqlite3.dbapi2.SQLITE_CREATE_VTABLE\nsqlite3.dbapi2.SQLITE_DELETE\nsqlite3.dbapi2.SQLITE_DENY\nsqlite3.dbapi2.SQLITE_DETACH\nsqlite3.dbapi2.SQLITE_DONE\nsqlite3.dbapi2.SQLITE_DROP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE\nsqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_TRIGGER\nsqlite3.dbapi2.SQLITE_DROP_VIEW\nsqlite3.dbapi2.SQLITE_DROP_VTABLE\nsqlite3.dbapi2.SQLITE_FUNCTION\nsqlite3.dbapi2.SQLITE_IGNORE\nsqlite3.dbapi2.SQLITE_INSERT\nsqlite3.dbapi2.SQLITE_OK\nsqlite3.dbapi2.SQLITE_PRAGMA\nsqlite3.dbapi2.SQLITE_READ\nsqlite3.dbapi2.SQLITE_RECURSIVE\nsqlite3.dbapi2.SQLITE_REINDEX\nsqlite3.dbapi2.SQLITE_SAVEPOINT\nsqlite3.dbapi2.SQLITE_SELECT\nsqlite3.dbapi2.SQLITE_TRANSACTION\nsqlite3.dbapi2.SQLITE_UPDATE\nsqlite3.dbapi2.Time(??)\nsqlite3.dbapi2.TimeFromTicks(??)\nsqlite3.dbapi2.Timestamp(??)\nsqlite3.dbapi2.TimestampFromTicks(??)\nsqlite3.dbapi2.Warning(??)\nsqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard.\nsqlite3.dbapi2.adapters(??)\nsqlite3.dbapi2.apilevel\nsqlite3.dbapi2.collections(??)\nsqlite3.dbapi2.complete_statement(sql)\nsqlite3.dbapi2.connect(??)\nsqlite3.dbapi2.converters(??)\nsqlite3.dbapi2.datetime(??)\nsqlite3.dbapi2.enable_callback_tracebacks(flag)\nsqlite3.dbapi2.enable_shared_cache(do_enable)\nsqlite3.dbapi2.paramstyle\nsqlite3.dbapi2.register_adapter(type, callable)\nsqlite3.dbapi2.register_converter(typename, callable)\nsqlite3.dbapi2.sqlite_version\nsqlite3.dbapi2.sqlite_version_info(??)\nsqlite3.dbapi2.threadsafety\nsqlite3.dbapi2.time(??)\nsqlite3.dbapi2.version\nsqlite3.dbapi2.version_info(??)\nsqlite3.enable_callback_tracebacks(flag)\nsqlite3.enable_shared_cache(do_enable)\nsqlite3.paramstyle\nsqlite3.register_adapter(type, callable)\nsqlite3.register_converter(typename, callable)\nsqlite3.sqlite_version\nsqlite3.sqlite_version_info(??)\nsqlite3.threadsafety\nsqlite3.time(??)\nsqlite3.version\nsqlite3.version_info(??)\nssl.ALERT_DESCRIPTION_ACCESS_DENIED(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??)\nssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??)\nssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??)\nssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??)\nssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??)\nssl.ALERT_DESCRIPTION_DECODE_ERROR(??)\nssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??)\nssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??)\nssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??)\nssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??)\nssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??)\nssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??)\nssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??)\nssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??)\nssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??)\nssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_CA(??)\nssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??)\nssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??)\nssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??)\nssl.ALERT_DESCRIPTION_USER_CANCELLED(??)\nssl.AlertDescription(??)\nssl.CERT_NONE(??)\nssl.CERT_OPTIONAL(??)\nssl.CERT_REQUIRED(??)\nssl.CHANNEL_BINDING_TYPES(??)\nssl.CertificateError(??)\nssl.DER_cert_to_PEM_cert(??)\nssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)\nssl.HAS_ALPN(??)\nssl.HAS_ECDH(??)\nssl.HAS_NEVER_CHECK_COMMON_NAME(??)\nssl.HAS_NPN(??)\nssl.HAS_SNI(??)\nssl.HAS_SSLv2(??)\nssl.HAS_SSLv3(??)\nssl.HAS_TLSv1(??)\nssl.HAS_TLSv1_1(??)\nssl.HAS_TLSv1_2(??)\nssl.HAS_TLSv1_3(??)\nssl.MemoryBIO(??)\nssl.OPENSSL_VERSION\nssl.OPENSSL_VERSION_INFO(??)\nssl.OPENSSL_VERSION_NUMBER\nssl.OP_ALL(??)\nssl.OP_CIPHER_SERVER_PREFERENCE(??)\nssl.OP_ENABLE_MIDDLEBOX_COMPAT(??)\nssl.OP_NO_COMPRESSION(??)\nssl.OP_NO_RENEGOTIATION(??)\nssl.OP_NO_SSLv2(??)\nssl.OP_NO_SSLv3(??)\nssl.OP_NO_TICKET(??)\nssl.OP_NO_TLSv1(??)\nssl.OP_NO_TLSv1_1(??)\nssl.OP_NO_TLSv1_2(??)\nssl.OP_NO_TLSv1_3(??)\nssl.OP_SINGLE_DH_USE(??)\nssl.OP_SINGLE_ECDH_USE(??)\nssl.Options(??)\nssl.PEM_FOOTER\nssl.PEM_HEADER\nssl.PEM_cert_to_DER_cert(??)\nssl.PROTOCOL_SSLv23(??)\nssl.PROTOCOL_TLS(??)\nssl.PROTOCOL_TLS_CLIENT(??)\nssl.PROTOCOL_TLS_SERVER(??)\nssl.PROTOCOL_TLSv1(??)\nssl.PROTOCOL_TLSv1_1(??)\nssl.PROTOCOL_TLSv1_2(??)\nssl.Purpose(??)\nssl.RAND_add(??)\nssl.RAND_bytes(??)\nssl.RAND_pseudo_bytes(??)\nssl.RAND_status(??)\nssl.SOCK_STREAM(??)\nssl.SOL_SOCKET\nssl.SO_TYPE\nssl.SSLCertVerificationError(??)\nssl.SSLContext(??)\nssl.SSLEOFError(??)\nssl.SSLError(??)\nssl.SSLErrorNumber(??)\nssl.SSLObject(??)\nssl.SSLSession(??)\nssl.SSLSocket(??)\nssl.SSLSyscallError(??)\nssl.SSLWantReadError(??)\nssl.SSLWantWriteError(??)\nssl.SSLZeroReturnError(??)\nssl.SSL_ERROR_EOF(??)\nssl.SSL_ERROR_INVALID_ERROR_CODE(??)\nssl.SSL_ERROR_SSL(??)\nssl.SSL_ERROR_SYSCALL(??)\nssl.SSL_ERROR_WANT_CONNECT(??)\nssl.SSL_ERROR_WANT_READ(??)\nssl.SSL_ERROR_WANT_WRITE(??)\nssl.SSL_ERROR_WANT_X509_LOOKUP(??)\nssl.SSL_ERROR_ZERO_RETURN(??)\nssl.TLSVersion(??)\nssl.VERIFY_CRL_CHECK_CHAIN(??)\nssl.VERIFY_CRL_CHECK_LEAF(??)\nssl.VERIFY_DEFAULT(??)\nssl.VERIFY_X509_STRICT(??)\nssl.VERIFY_X509_TRUSTED_FIRST(??)\nssl.VerifyFlags(??)\nssl.VerifyMode(??)\nssl.base64(??)\nssl.cert_time_to_seconds(??)\nssl.create_connection(??)\nssl.create_default_context(??)\nssl.errno(??)\nssl.get_default_verify_paths(??)\nssl.get_protocol_name(??)\nssl.get_server_certificate(??)\nssl.match_hostname(??)\nssl.namedtuple(??)\nssl.os(??)\nssl.socket(??)\nssl.socket_error(??)\nssl.sys(??)\nssl.warnings(??)\nssl.wrap_socket(??)\nstat.FILE_ATTRIBUTE_ARCHIVE\nstat.FILE_ATTRIBUTE_COMPRESSED\nstat.FILE_ATTRIBUTE_DEVICE\nstat.FILE_ATTRIBUTE_DIRECTORY\nstat.FILE_ATTRIBUTE_ENCRYPTED\nstat.FILE_ATTRIBUTE_HIDDEN\nstat.FILE_ATTRIBUTE_INTEGRITY_STREAM\nstat.FILE_ATTRIBUTE_NORMAL\nstat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED\nstat.FILE_ATTRIBUTE_NO_SCRUB_DATA\nstat.FILE_ATTRIBUTE_OFFLINE\nstat.FILE_ATTRIBUTE_READONLY\nstat.FILE_ATTRIBUTE_REPARSE_POINT\nstat.FILE_ATTRIBUTE_SPARSE_FILE\nstat.FILE_ATTRIBUTE_SYSTEM\nstat.FILE_ATTRIBUTE_TEMPORARY\nstat.FILE_ATTRIBUTE_VIRTUAL\nstat.SF_APPEND\nstat.SF_ARCHIVED\nstat.SF_IMMUTABLE\nstat.SF_NOUNLINK\nstat.SF_SNAPSHOT\nstat.ST_ATIME\nstat.ST_CTIME\nstat.ST_DEV\nstat.ST_GID\nstat.ST_INO\nstat.ST_MODE\nstat.ST_MTIME\nstat.ST_NLINK\nstat.ST_SIZE\nstat.ST_UID\nstat.S_ENFMT\nstat.S_IEXEC\nstat.S_IFBLK\nstat.S_IFCHR\nstat.S_IFDIR\nstat.S_IFDOOR\nstat.S_IFIFO\nstat.S_IFLNK\nstat.S_IFMT(??)\nstat.S_IFPORT\nstat.S_IFREG\nstat.S_IFSOCK\nstat.S_IFWHT\nstat.S_IMODE(??)\nstat.S_IREAD\nstat.S_IRGRP\nstat.S_IROTH\nstat.S_IRUSR\nstat.S_IRWXG\nstat.S_IRWXO\nstat.S_IRWXU\nstat.S_ISBLK(mode) -> bool\nstat.S_ISCHR(mode) -> bool\nstat.S_ISDIR(mode) -> bool\nstat.S_ISDOOR(mode) -> bool\nstat.S_ISFIFO(mode) -> bool\nstat.S_ISGID\nstat.S_ISLNK(mode) -> bool\nstat.S_ISPORT(mode) -> bool\nstat.S_ISREG(mode) -> bool\nstat.S_ISSOCK(mode) -> bool\nstat.S_ISUID\nstat.S_ISVTX\nstat.S_ISWHT(mode) -> bool\nstat.S_IWGRP\nstat.S_IWOTH\nstat.S_IWRITE\nstat.S_IWUSR\nstat.S_IXGRP\nstat.S_IXOTH\nstat.S_IXUSR\nstat.UF_APPEND\nstat.UF_COMPRESSED\nstat.UF_HIDDEN\nstat.UF_IMMUTABLE\nstat.UF_NODUMP\nstat.UF_NOUNLINK\nstat.UF_OPAQUE\nstat.filemode(??)\nstaticmethod(function) -> method\nstatistics.Counter(??)\nstatistics.Decimal(??)\nstatistics.Fraction(??)\nstatistics.NormalDist(??)\nstatistics.StatisticsError(??)\nstatistics.bisect_left(??)\nstatistics.bisect_right(??)\nstatistics.erf(??)\nstatistics.exp(??)\nstatistics.fabs(??)\nstatistics.fmean(??)\nstatistics.fsum(??)\nstatistics.geometric_mean(??)\nstatistics.groupby(??)\nstatistics.harmonic_mean(??)\nstatistics.hypot(*coordinates) -> value\nstatistics.itemgetter(item, ...) --> itemgetter object\nstatistics.log(x, [base=math.e])\nstatistics.math(??)\nstatistics.mean(??)\nstatistics.median(??)\nstatistics.median_grouped(??)\nstatistics.median_high(??)\nstatistics.median_low(??)\nstatistics.mode(??)\nstatistics.multimode(??)\nstatistics.numbers(??)\nstatistics.pstdev(??)\nstatistics.pvariance(??)\nstatistics.quantiles(??)\nstatistics.random(??)\nstatistics.sqrt(??)\nstatistics.stdev(??)\nstatistics.tau\nstatistics.variance(??)\nstr(object='') -> str\nstring.Formatter(??)\nstring.Template(??)\nstring.ascii_letters\nstring.ascii_lowercase\nstring.ascii_uppercase\nstring.capwords(s [,sep]) -> string\nstring.digits\nstring.hexdigits\nstring.octdigits\nstring.printable\nstring.punctuation\nstring.whitespace\nstringprep.b1_set(??)\nstringprep.b3_exceptions(??)\nstringprep.c22_specials(??)\nstringprep.c6_set(??)\nstringprep.c7_set(??)\nstringprep.c8_set(??)\nstringprep.c9_set(??)\nstringprep.in_table_a1(??)\nstringprep.in_table_b1(??)\nstringprep.in_table_c11(??)\nstringprep.in_table_c11_c12(??)\nstringprep.in_table_c12(??)\nstringprep.in_table_c21(??)\nstringprep.in_table_c21_c22(??)\nstringprep.in_table_c22(??)\nstringprep.in_table_c3(??)\nstringprep.in_table_c4(??)\nstringprep.in_table_c5(??)\nstringprep.in_table_c6(??)\nstringprep.in_table_c7(??)\nstringprep.in_table_c8(??)\nstringprep.in_table_c9(??)\nstringprep.in_table_d1(??)\nstringprep.in_table_d2(??)\nstringprep.map_table_b2(??)\nstringprep.map_table_b3(??)\nstringprep.unicodedata(??)\nstruct.Struct(fmt) --> compiled struct object\nstruct.calcsize(??)\nstruct.error(??)\nstruct.iter_unpack(??)\nstruct.pack(format, v1, v2, ...) -> bytes\nstruct.pack_into(format, buffer, offset, v1, v2, ...)\nstruct.unpack(??)\nstruct.unpack_from(??)\nsubprocess.CalledProcessError(??)\nsubprocess.CompletedProcess(??)\nsubprocess.DEVNULL\nsubprocess.PIPE\nsubprocess.Popen(??)\nsubprocess.STDOUT\nsubprocess.SubprocessError(??)\nsubprocess.TimeoutExpired(??)\nsubprocess.builtins(??)\nsubprocess.call(??)\nsubprocess.check_call(??)\nsubprocess.check_output(??)\nsubprocess.contextlib(??)\nsubprocess.errno(??)\nsubprocess.getoutput(??)\nsubprocess.getstatusoutput(??)\nsubprocess.grp(??)\nsubprocess.io(??)\nsubprocess.list2cmdline(??)\nsubprocess.os(??)\nsubprocess.pwd(??)\nsubprocess.run(??)\nsubprocess.select(??)\nsubprocess.selectors(??)\nsubprocess.signal(??)\nsubprocess.sys(??)\nsubprocess.threading(??)\nsubprocess.time(??)\nsubprocess.types(??)\nsubprocess.warnings(??)\nsum(??)\nsunau.AUDIO_FILE_ENCODING_ADPCM_G721\nsunau.AUDIO_FILE_ENCODING_ADPCM_G722\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_3\nsunau.AUDIO_FILE_ENCODING_ADPCM_G723_5\nsunau.AUDIO_FILE_ENCODING_ALAW_8\nsunau.AUDIO_FILE_ENCODING_DOUBLE\nsunau.AUDIO_FILE_ENCODING_FLOAT\nsunau.AUDIO_FILE_ENCODING_LINEAR_16\nsunau.AUDIO_FILE_ENCODING_LINEAR_24\nsunau.AUDIO_FILE_ENCODING_LINEAR_32\nsunau.AUDIO_FILE_ENCODING_LINEAR_8\nsunau.AUDIO_FILE_ENCODING_MULAW_8\nsunau.AUDIO_FILE_MAGIC\nsunau.AUDIO_UNKNOWN_SIZE\nsunau.Au_read(??)\nsunau.Au_write(??)\nsunau.Error(??)\nsunau.namedtuple(??)\nsunau.open(??)\nsuper() -> same as super(__class__, <first argument>)\nsymbol.and_expr\nsymbol.and_test\nsymbol.annassign\nsymbol.arglist\nsymbol.argument\nsymbol.arith_expr\nsymbol.assert_stmt\nsymbol.async_funcdef\nsymbol.async_stmt\nsymbol.atom\nsymbol.atom_expr\nsymbol.augassign\nsymbol.break_stmt\nsymbol.classdef\nsymbol.comp_for\nsymbol.comp_if\nsymbol.comp_iter\nsymbol.comp_op\nsymbol.comparison\nsymbol.compound_stmt\nsymbol.continue_stmt\nsymbol.decorated\nsymbol.decorator\nsymbol.decorators\nsymbol.del_stmt\nsymbol.dictorsetmaker\nsymbol.dotted_as_name\nsymbol.dotted_as_names\nsymbol.dotted_name\nsymbol.encoding_decl\nsymbol.eval_input\nsymbol.except_clause\nsymbol.expr\nsymbol.expr_stmt\nsymbol.exprlist\nsymbol.factor\nsymbol.file_input\nsymbol.flow_stmt\nsymbol.for_stmt\nsymbol.func_body_suite\nsymbol.func_type\nsymbol.func_type_input\nsymbol.funcdef\nsymbol.global_stmt\nsymbol.if_stmt\nsymbol.import_as_name\nsymbol.import_as_names\nsymbol.import_from\nsymbol.import_name\nsymbol.import_stmt\nsymbol.lambdef\nsymbol.lambdef_nocond\nsymbol.namedexpr_test\nsymbol.nonlocal_stmt\nsymbol.not_test\nsymbol.or_test\nsymbol.parameters\nsymbol.pass_stmt\nsymbol.power\nsymbol.raise_stmt\nsymbol.return_stmt\nsymbol.shift_expr\nsymbol.simple_stmt\nsymbol.single_input\nsymbol.sliceop\nsymbol.small_stmt\nsymbol.star_expr\nsymbol.stmt\nsymbol.subscript\nsymbol.subscriptlist\nsymbol.suite\nsymbol.sym_name(??)\nsymbol.sync_comp_for\nsymbol.term\nsymbol.test\nsymbol.test_nocond\nsymbol.testlist\nsymbol.testlist_comp\nsymbol.testlist_star_expr\nsymbol.tfpdef\nsymbol.trailer\nsymbol.try_stmt\nsymbol.typedargslist\nsymbol.typelist\nsymbol.varargslist\nsymbol.vfpdef\nsymbol.warnings(??)\nsymbol.while_stmt\nsymbol.with_item\nsymbol.with_stmt\nsymbol.xor_expr\nsymbol.yield_arg\nsymbol.yield_expr\nsymbol.yield_stmt\nsymtable.CELL\nsymtable.Class(??)\nsymtable.DEF_ANNOT\nsymtable.DEF_BOUND\nsymtable.DEF_GLOBAL\nsymtable.DEF_IMPORT\nsymtable.DEF_LOCAL\nsymtable.DEF_NONLOCAL\nsymtable.DEF_PARAM\nsymtable.FREE\nsymtable.Function(??)\nsymtable.GLOBAL_EXPLICIT\nsymtable.GLOBAL_IMPLICIT\nsymtable.LOCAL\nsymtable.SCOPE_MASK\nsymtable.SCOPE_OFF\nsymtable.Symbol(??)\nsymtable.SymbolTable(??)\nsymtable.SymbolTableFactory(??)\nsymtable.USE\nsymtable.symtable(??)\nsymtable.weakref(??)\nsys.abiflags\nsys.addaudithook(??)\nsys.api_version\nsys.argv(??)\nsys.audit(event, *args)\nsys.base_exec_prefix\nsys.base_prefix\nsys.breakpointhook(*args, **kws)\nsys.builtin_module_names(??)\nsys.byteorder\nsys.call_tracing(??)\nsys.copyright\nsys.displayhook(??)\nsys.dont_write_bytecode(??)\nsys.exc_info(??)\nsys.excepthook(??)\nsys.exec_prefix\nsys.executable\nsys.exit(??)\nsys.flags(??)\nsys.float_info(??)\nsys.float_repr_style\nsys.get_asyncgen_hooks(??)\nsys.get_coroutine_origin_tracking_depth(??)\nsys.getallocatedblocks(??)\nsys.getdefaultencoding(??)\nsys.getdlopenflags(??)\nsys.getfilesystemencodeerrors(??)\nsys.getfilesystemencoding(??)\nsys.getprofile(??)\nsys.getrecursionlimit(??)\nsys.getrefcount(??)\nsys.getsizeof(object [, default]) -> int\nsys.getswitchinterval(??)\nsys.gettrace(??)\nsys.hash_info(??)\nsys.hexversion\nsys.implementation(??)\nsys.int_info(??)\nsys.intern(??)\nsys.is_finalizing(??)\nsys.maxsize\nsys.maxunicode\nsys.meta_path(??)\nsys.modules(??)\nsys.path(??)\nsys.path_hooks(??)\nsys.path_importer_cache(??)\nsys.platform\nsys.platlibdir\nsys.prefix\nsys.pycache_prefix(??)\nsys.set_asyncgen_hooks(* [, firstiter] [, finalizer])\nsys.set_coroutine_origin_tracking_depth(??)\nsys.setdlopenflags(??)\nsys.setprofile(function)\nsys.setrecursionlimit(??)\nsys.setswitchinterval(??)\nsys.settrace(function)\nsys.stderr(??)\nsys.stdin(??)\nsys.stdout(??)\nsys.thread_info(??)\nsys.unraisablehook(??)\nsys.version\nsys.version_info(??)\nsys.warnoptions(??)\nsysconfig.get_config_h_filename(??)\nsysconfig.get_config_var(??)\nsysconfig.get_config_vars(??)\nsysconfig.get_makefile_filename(??)\nsysconfig.get_path(??)\nsysconfig.get_path_names(??)\nsysconfig.get_paths(??)\nsysconfig.get_platform(??)\nsysconfig.get_python_version(??)\nsysconfig.get_scheme_names(??)\nsysconfig.is_python_build(??)\nsysconfig.os(??)\nsysconfig.pardir\nsysconfig.parse_config_h(??)\nsysconfig.realpath(??)\nsysconfig.sys(??)\nt.MyClass(??)\nt.deco(??)\ntabnanny.NannyNag(??)\ntabnanny.Whitespace(??)\ntabnanny.check(file_or_dir)\ntabnanny.errprint(??)\ntabnanny.filename_only\ntabnanny.format_witnesses(??)\ntabnanny.main(??)\ntabnanny.os(??)\ntabnanny.process_tokens(??)\ntabnanny.sys(??)\ntabnanny.tokenize(??)\ntabnanny.verbose\ntarfile.AREGTYPE\ntarfile.BLKTYPE\ntarfile.BLOCKSIZE\ntarfile.CHRTYPE\ntarfile.CONTTYPE\ntarfile.CompressionError(??)\ntarfile.DEFAULT_FORMAT\ntarfile.DIRTYPE\ntarfile.ENCODING\ntarfile.EOFHeaderError(??)\ntarfile.EmptyHeaderError(??)\ntarfile.ExFileObject(??)\ntarfile.ExtractError(??)\ntarfile.FIFOTYPE\ntarfile.GNUTYPE_LONGLINK\ntarfile.GNUTYPE_LONGNAME\ntarfile.GNUTYPE_SPARSE\ntarfile.GNU_FORMAT\ntarfile.GNU_MAGIC\ntarfile.GNU_TYPES(??)\ntarfile.HeaderError(??)\ntarfile.InvalidHeaderError(??)\ntarfile.LENGTH_LINK\ntarfile.LENGTH_NAME\ntarfile.LENGTH_PREFIX\ntarfile.LNKTYPE\ntarfile.NUL\ntarfile.PAX_FIELDS(??)\ntarfile.PAX_FORMAT\ntarfile.PAX_NAME_FIELDS(??)\ntarfile.PAX_NUMBER_FIELDS(??)\ntarfile.POSIX_MAGIC\ntarfile.RECORDSIZE\ntarfile.REGTYPE\ntarfile.REGULAR_TYPES(??)\ntarfile.ReadError(??)\ntarfile.SOLARIS_XHDTYPE\ntarfile.SUPPORTED_TYPES(??)\ntarfile.SYMTYPE\ntarfile.StreamError(??)\ntarfile.SubsequentHeaderError(??)\ntarfile.TarError(??)\ntarfile.TarFile(??)\ntarfile.TarInfo(??)\ntarfile.TruncatedHeaderError(??)\ntarfile.USTAR_FORMAT\ntarfile.XGLTYPE\ntarfile.XHDTYPE\ntarfile.bltn_open(??)\ntarfile.calc_chksums(??)\ntarfile.copy(??)\ntarfile.copyfileobj(??)\ntarfile.grp(??)\ntarfile.io(??)\ntarfile.is_tarfile(??)\ntarfile.itn(??)\ntarfile.main(??)\ntarfile.nti(??)\ntarfile.nts(??)\ntarfile.open(??)\ntarfile.os(??)\ntarfile.pwd(??)\ntarfile.re(??)\ntarfile.shutil(??)\ntarfile.stat(??)\ntarfile.stn(??)\ntarfile.struct(??)\ntarfile.symlink_exception(??)\ntarfile.sys(??)\ntarfile.time(??)\ntarfile.version\ntelnetlib.AO\ntelnetlib.AUTHENTICATION\ntelnetlib.AYT\ntelnetlib.BINARY\ntelnetlib.BM\ntelnetlib.BRK\ntelnetlib.CHARSET\ntelnetlib.COM_PORT_OPTION\ntelnetlib.DEBUGLEVEL\ntelnetlib.DET\ntelnetlib.DM\ntelnetlib.DO\ntelnetlib.DONT\ntelnetlib.EC\ntelnetlib.ECHO\ntelnetlib.EL\ntelnetlib.ENCRYPT\ntelnetlib.EOR\ntelnetlib.EXOPL\ntelnetlib.FORWARD_X\ntelnetlib.GA\ntelnetlib.IAC\ntelnetlib.IP\ntelnetlib.KERMIT\ntelnetlib.LFLOW\ntelnetlib.LINEMODE\ntelnetlib.LOGOUT\ntelnetlib.NAMS\ntelnetlib.NAOCRD\ntelnetlib.NAOFFD\ntelnetlib.NAOHTD\ntelnetlib.NAOHTS\ntelnetlib.NAOL\ntelnetlib.NAOLFD\ntelnetlib.NAOP\ntelnetlib.NAOVTD\ntelnetlib.NAOVTS\ntelnetlib.NAWS\ntelnetlib.NEW_ENVIRON\ntelnetlib.NOOPT\ntelnetlib.NOP\ntelnetlib.OLD_ENVIRON\ntelnetlib.OUTMRK\ntelnetlib.PRAGMA_HEARTBEAT\ntelnetlib.PRAGMA_LOGON\ntelnetlib.RCP\ntelnetlib.RCTE\ntelnetlib.RSP\ntelnetlib.SB\ntelnetlib.SE\ntelnetlib.SEND_URL\ntelnetlib.SGA\ntelnetlib.SNDLOC\ntelnetlib.SSPI_LOGON\ntelnetlib.STATUS\ntelnetlib.SUPDUP\ntelnetlib.SUPDUPOUTPUT\ntelnetlib.SUPPRESS_LOCAL_ECHO\ntelnetlib.TELNET_PORT\ntelnetlib.TLS\ntelnetlib.TM\ntelnetlib.TN3270E\ntelnetlib.TSPEED\ntelnetlib.TTYLOC\ntelnetlib.TTYPE\ntelnetlib.TUID\ntelnetlib.Telnet(??)\ntelnetlib.VT3270REGIME\ntelnetlib.WILL\ntelnetlib.WONT\ntelnetlib.X3PAD\ntelnetlib.XASCII\ntelnetlib.XAUTH\ntelnetlib.XDISPLOC\ntelnetlib.selectors(??)\ntelnetlib.socket(??)\ntelnetlib.sys(??)\ntelnetlib.test(??)\ntelnetlib.theNULL\ntempfile.NamedTemporaryFile(??)\ntempfile.SpooledTemporaryFile(??)\ntempfile.TMP_MAX\ntempfile.TemporaryDirectory(??)\ntempfile.TemporaryFile(??)\ntempfile.gettempdir(??)\ntempfile.gettempdirb(??)\ntempfile.gettempprefix(??)\ntempfile.gettempprefixb(??)\ntempfile.mkdtemp(??)\ntempfile.mkstemp(??)\ntempfile.mktemp(??)\ntempfile.tempdir(??)\ntempfile.template\ntextwrap.TextWrapper(??)\ntextwrap.dedent(??)\ntextwrap.fill(??)\ntextwrap.indent(??)\ntextwrap.re(??)\ntextwrap.shorten(??)\ntextwrap.wrap(??)\nthreading.Barrier(??)\nthreading.BoundedSemaphore(??)\nthreading.BrokenBarrierError(??)\nthreading.Condition(??)\nthreading.Event(??)\nthreading.ExceptHookArgs(??)\nthreading.Lock(??)\nthreading.RLock(??)\nthreading.Semaphore(??)\nthreading.TIMEOUT_MAX\nthreading.Thread(??)\nthreading.ThreadError(??)\nthreading.Timer(??)\nthreading.WeakSet(??)\nthreading.activeCount(??)\nthreading.active_count(??)\nthreading.currentThread(??)\nthreading.current_thread(??)\nthreading.enumerate(??)\nthreading.excepthook(exc_type, exc_value, exc_traceback, thread)\nthreading.functools(??)\nthreading.get_ident() -> integer\nthreading.get_native_id() -> integer\nthreading.local(??)\nthreading.main_thread(??)\nthreading.setprofile(??)\nthreading.settrace(??)\nthreading.stack_size([size]) -> size\ntime.altzone\ntime.asctime([tuple]) -> string\ntime.ctime(seconds) -> string\ntime.daylight\ntime.get_clock_info(name: str) -> dict\ntime.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,\ntime.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,\ntime.mktime(tuple) -> floating point number\ntime.monotonic() -> float\ntime.monotonic_ns() -> int\ntime.perf_counter() -> float\ntime.perf_counter_ns() -> int\ntime.process_time() -> float\ntime.process_time_ns(??)\ntime.sleep(seconds)\ntime.strftime(format[, tuple]) -> string\ntime.strptime(string, format) -> struct_time\ntime.struct_time(??)\ntime.time() -> floating point number\ntime.time_ns() -> int\ntime.timezone\ntime.tzname(??)\ntime.tzset()\ntimeit.Timer(??)\ntimeit.default_number\ntimeit.default_repeat\ntimeit.default_timer(??)\ntimeit.dummy_src_name\ntimeit.gc(??)\ntimeit.itertools(??)\ntimeit.main(??)\ntimeit.reindent(??)\ntimeit.repeat(??)\ntimeit.sys(??)\ntimeit.template\ntimeit.time(??)\ntimeit.timeit(??)\ntkinter.ACTIVE\ntkinter.ALL\ntkinter.ANCHOR\ntkinter.ARC\ntkinter.BASELINE\ntkinter.BEVEL\ntkinter.BOTH\ntkinter.BOTTOM\ntkinter.BROWSE\ntkinter.BUTT\ntkinter.BaseWidget(??)\ntkinter.BitmapImage(??)\ntkinter.BooleanVar(??)\ntkinter.Button(??)\ntkinter.CASCADE\ntkinter.CENTER\ntkinter.CHAR\ntkinter.CHECKBUTTON\ntkinter.CHORD\ntkinter.COMMAND\ntkinter.CURRENT\ntkinter.CallWrapper(??)\ntkinter.Canvas(??)\ntkinter.Checkbutton(??)\ntkinter.DISABLED\ntkinter.DOTBOX\ntkinter.DoubleVar(??)\ntkinter.E\ntkinter.END\ntkinter.EW\ntkinter.EXCEPTION\ntkinter.EXTENDED\ntkinter.Entry(??)\ntkinter.Event(??)\ntkinter.EventType(??)\ntkinter.FALSE\ntkinter.FIRST\ntkinter.FLAT\ntkinter.Frame(??)\ntkinter.GROOVE\ntkinter.Grid(??)\ntkinter.HIDDEN\ntkinter.HORIZONTAL\ntkinter.INSERT\ntkinter.INSIDE\ntkinter.Image(??)\ntkinter.IntVar(??)\ntkinter.LAST\ntkinter.LEFT\ntkinter.Label(??)\ntkinter.LabelFrame(??)\ntkinter.Listbox(??)\ntkinter.MITER\ntkinter.MOVETO\ntkinter.MULTIPLE\ntkinter.Menu(??)\ntkinter.Menubutton(??)\ntkinter.Message(??)\ntkinter.Misc(??)\ntkinter.N\ntkinter.NE\ntkinter.NO\ntkinter.NONE\ntkinter.NORMAL\ntkinter.NS\ntkinter.NSEW\ntkinter.NUMERIC\ntkinter.NW\ntkinter.NoDefaultRoot(??)\ntkinter.OFF\ntkinter.ON\ntkinter.OUTSIDE\ntkinter.OptionMenu(??)\ntkinter.PAGES\ntkinter.PIESLICE\ntkinter.PROJECTING\ntkinter.Pack(??)\ntkinter.PanedWindow(??)\ntkinter.PhotoImage(??)\ntkinter.Place(??)\ntkinter.RADIOBUTTON\ntkinter.RAISED\ntkinter.READABLE\ntkinter.RIDGE\ntkinter.RIGHT\ntkinter.ROUND\ntkinter.Radiobutton(??)\ntkinter.S\ntkinter.SCROLL\ntkinter.SE\ntkinter.SEL\ntkinter.SEL_FIRST\ntkinter.SEL_LAST\ntkinter.SEPARATOR\ntkinter.SINGLE\ntkinter.SOLID\ntkinter.SUNKEN\ntkinter.SW\ntkinter.Scale(??)\ntkinter.Scrollbar(??)\ntkinter.Spinbox(??)\ntkinter.StringVar(??)\ntkinter.TOP\ntkinter.TRUE\ntkinter.Tcl(??)\ntkinter.TclError(??)\ntkinter.TclVersion\ntkinter.Text(??)\ntkinter.Tk(??)\ntkinter.TkVersion\ntkinter.Toplevel(??)\ntkinter.UNDERLINE\ntkinter.UNITS\ntkinter.VERTICAL\ntkinter.Variable(??)\ntkinter.W\ntkinter.WORD\ntkinter.WRITABLE\ntkinter.Widget(??)\ntkinter.Wm(??)\ntkinter.X\ntkinter.XView(??)\ntkinter.Y\ntkinter.YES\ntkinter.YView(??)\ntkinter.colorchooser(??)\ntkinter.colorchooser.Chooser(??)\ntkinter.colorchooser.Dialog(??)\ntkinter.colorchooser.askcolor(??)\ntkinter.commondialog(??)\ntkinter.commondialog.Dialog(??)\ntkinter.commondialog.Frame(??)\ntkinter.constants(??)\ntkinter.constants.ACTIVE\ntkinter.constants.ALL\ntkinter.constants.ANCHOR\ntkinter.constants.ARC\ntkinter.constants.BASELINE\ntkinter.constants.BEVEL\ntkinter.constants.BOTH\ntkinter.constants.BOTTOM\ntkinter.constants.BROWSE\ntkinter.constants.BUTT\ntkinter.constants.CASCADE\ntkinter.constants.CENTER\ntkinter.constants.CHAR\ntkinter.constants.CHECKBUTTON\ntkinter.constants.CHORD\ntkinter.constants.COMMAND\ntkinter.constants.CURRENT\ntkinter.constants.DISABLED\ntkinter.constants.DOTBOX\ntkinter.constants.E\ntkinter.constants.END\ntkinter.constants.EW\ntkinter.constants.EXTENDED\ntkinter.constants.FALSE\ntkinter.constants.FIRST\ntkinter.constants.FLAT\ntkinter.constants.GROOVE\ntkinter.constants.HIDDEN\ntkinter.constants.HORIZONTAL\ntkinter.constants.INSERT\ntkinter.constants.INSIDE\ntkinter.constants.LAST\ntkinter.constants.LEFT\ntkinter.constants.MITER\ntkinter.constants.MOVETO\ntkinter.constants.MULTIPLE\ntkinter.constants.N\ntkinter.constants.NE\ntkinter.constants.NO\ntkinter.constants.NONE\ntkinter.constants.NORMAL\ntkinter.constants.NS\ntkinter.constants.NSEW\ntkinter.constants.NUMERIC\ntkinter.constants.NW\ntkinter.constants.OFF\ntkinter.constants.ON\ntkinter.constants.OUTSIDE\ntkinter.constants.PAGES\ntkinter.constants.PIESLICE\ntkinter.constants.PROJECTING\ntkinter.constants.RADIOBUTTON\ntkinter.constants.RAISED\ntkinter.constants.RIDGE\ntkinter.constants.RIGHT\ntkinter.constants.ROUND\ntkinter.constants.S\ntkinter.constants.SCROLL\ntkinter.constants.SE\ntkinter.constants.SEL\ntkinter.constants.SEL_FIRST\ntkinter.constants.SEL_LAST\ntkinter.constants.SEPARATOR\ntkinter.constants.SINGLE\ntkinter.constants.SOLID\ntkinter.constants.SUNKEN\ntkinter.constants.SW\ntkinter.constants.TOP\ntkinter.constants.TRUE\ntkinter.constants.UNDERLINE\ntkinter.constants.UNITS\ntkinter.constants.VERTICAL\ntkinter.constants.W\ntkinter.constants.WORD\ntkinter.constants.X\ntkinter.constants.Y\ntkinter.constants.YES\ntkinter.dialog(??)\ntkinter.dialog.Button(??)\ntkinter.dialog.DIALOG_ICON\ntkinter.dialog.Dialog(??)\ntkinter.dialog.Pack(??)\ntkinter.dialog.TclError(??)\ntkinter.dialog.Widget(??)\ntkinter.dnd(??)\ntkinter.dnd.DndHandler(??)\ntkinter.dnd.Icon(??)\ntkinter.dnd.Tester(??)\ntkinter.dnd.dnd_start(??)\ntkinter.dnd.test(??)\ntkinter.dnd.tkinter(??)\ntkinter.enum(??)\ntkinter.filedialog.BOTH\ntkinter.filedialog.BOTTOM\ntkinter.filedialog.Button(??)\ntkinter.filedialog.Dialog(??)\ntkinter.filedialog.Directory(??)\ntkinter.filedialog.END\ntkinter.filedialog.Entry(??)\ntkinter.filedialog.FileDialog(??)\ntkinter.filedialog.Frame(??)\ntkinter.filedialog.LEFT\ntkinter.filedialog.Listbox(??)\ntkinter.filedialog.LoadFileDialog(??)\ntkinter.filedialog.Open(??)\ntkinter.filedialog.RIGHT\ntkinter.filedialog.SaveAs(??)\ntkinter.filedialog.SaveFileDialog(??)\ntkinter.filedialog.Scrollbar(??)\ntkinter.filedialog.TOP\ntkinter.filedialog.Tk(??)\ntkinter.filedialog.Toplevel(??)\ntkinter.filedialog.X\ntkinter.filedialog.Y\ntkinter.filedialog.YES\ntkinter.filedialog.askdirectory(??)\ntkinter.filedialog.askopenfile(??)\ntkinter.filedialog.askopenfilename(??)\ntkinter.filedialog.askopenfilenames(??)\ntkinter.filedialog.askopenfiles(??)\ntkinter.filedialog.asksaveasfile(??)\ntkinter.filedialog.asksaveasfilename(??)\ntkinter.filedialog.commondialog(??)\ntkinter.filedialog.dialogstates(??)\ntkinter.filedialog.fnmatch(??)\ntkinter.filedialog.os(??)\ntkinter.filedialog.test(??)\ntkinter.font.BOLD\ntkinter.font.Font(??)\ntkinter.font.ITALIC\ntkinter.font.NORMAL\ntkinter.font.ROMAN\ntkinter.font.families(??)\ntkinter.font.itertools(??)\ntkinter.font.names(??)\ntkinter.font.nametofont(??)\ntkinter.font.tkinter(??)\ntkinter.getboolean(??)\ntkinter.getdouble(??)\ntkinter.getint(??)\ntkinter.image_names(??)\ntkinter.image_types(??)\ntkinter.mainloop(??)\ntkinter.messagebox(??)\ntkinter.messagebox.ABORT\ntkinter.messagebox.ABORTRETRYIGNORE\ntkinter.messagebox.CANCEL\ntkinter.messagebox.Dialog(??)\ntkinter.messagebox.ERROR\ntkinter.messagebox.IGNORE\ntkinter.messagebox.INFO\ntkinter.messagebox.Message(??)\ntkinter.messagebox.NO\ntkinter.messagebox.OK\ntkinter.messagebox.OKCANCEL\ntkinter.messagebox.QUESTION\ntkinter.messagebox.RETRY\ntkinter.messagebox.RETRYCANCEL\ntkinter.messagebox.WARNING\ntkinter.messagebox.YES\ntkinter.messagebox.YESNO\ntkinter.messagebox.YESNOCANCEL\ntkinter.messagebox.askokcancel(??)\ntkinter.messagebox.askquestion(??)\ntkinter.messagebox.askretrycancel(??)\ntkinter.messagebox.askyesno(??)\ntkinter.messagebox.askyesnocancel(??)\ntkinter.messagebox.showerror(??)\ntkinter.messagebox.showinfo(??)\ntkinter.messagebox.showwarning(??)\ntkinter.re(??)\ntkinter.scrolledtext(??)\ntkinter.scrolledtext.BOTH\ntkinter.scrolledtext.Frame(??)\ntkinter.scrolledtext.Grid(??)\ntkinter.scrolledtext.LEFT\ntkinter.scrolledtext.Pack(??)\ntkinter.scrolledtext.Place(??)\ntkinter.scrolledtext.RIGHT\ntkinter.scrolledtext.Scrollbar(??)\ntkinter.scrolledtext.ScrolledText(??)\ntkinter.scrolledtext.Text(??)\ntkinter.scrolledtext.Y\ntkinter.scrolledtext.example(??)\ntkinter.simpledialog.ACTIVE\ntkinter.simpledialog.ALL\ntkinter.simpledialog.ANCHOR\ntkinter.simpledialog.ARC\ntkinter.simpledialog.BASELINE\ntkinter.simpledialog.BEVEL\ntkinter.simpledialog.BOTH\ntkinter.simpledialog.BOTTOM\ntkinter.simpledialog.BROWSE\ntkinter.simpledialog.BUTT\ntkinter.simpledialog.BaseWidget(??)\ntkinter.simpledialog.BitmapImage(??)\ntkinter.simpledialog.BooleanVar(??)\ntkinter.simpledialog.Button(??)\ntkinter.simpledialog.CASCADE\ntkinter.simpledialog.CENTER\ntkinter.simpledialog.CHAR\ntkinter.simpledialog.CHECKBUTTON\ntkinter.simpledialog.CHORD\ntkinter.simpledialog.COMMAND\ntkinter.simpledialog.CURRENT\ntkinter.simpledialog.CallWrapper(??)\ntkinter.simpledialog.Canvas(??)\ntkinter.simpledialog.Checkbutton(??)\ntkinter.simpledialog.DISABLED\ntkinter.simpledialog.DOTBOX\ntkinter.simpledialog.Dialog(??)\ntkinter.simpledialog.DoubleVar(??)\ntkinter.simpledialog.E\ntkinter.simpledialog.END\ntkinter.simpledialog.EW\ntkinter.simpledialog.EXCEPTION\ntkinter.simpledialog.EXTENDED\ntkinter.simpledialog.Entry(??)\ntkinter.simpledialog.Event(??)\ntkinter.simpledialog.EventType(??)\ntkinter.simpledialog.FALSE\ntkinter.simpledialog.FIRST\ntkinter.simpledialog.FLAT\ntkinter.simpledialog.Frame(??)\ntkinter.simpledialog.GROOVE\ntkinter.simpledialog.Grid(??)\ntkinter.simpledialog.HIDDEN\ntkinter.simpledialog.HORIZONTAL\ntkinter.simpledialog.INSERT\ntkinter.simpledialog.INSIDE\ntkinter.simpledialog.Image(??)\ntkinter.simpledialog.IntVar(??)\ntkinter.simpledialog.LAST\ntkinter.simpledialog.LEFT\ntkinter.simpledialog.Label(??)\ntkinter.simpledialog.LabelFrame(??)\ntkinter.simpledialog.Listbox(??)\ntkinter.simpledialog.MITER\ntkinter.simpledialog.MOVETO\ntkinter.simpledialog.MULTIPLE\ntkinter.simpledialog.Menu(??)\ntkinter.simpledialog.Menubutton(??)\ntkinter.simpledialog.Message(??)\ntkinter.simpledialog.Misc(??)\ntkinter.simpledialog.N\ntkinter.simpledialog.NE\ntkinter.simpledialog.NO\ntkinter.simpledialog.NONE\ntkinter.simpledialog.NORMAL\ntkinter.simpledialog.NS\ntkinter.simpledialog.NSEW\ntkinter.simpledialog.NUMERIC\ntkinter.simpledialog.NW\ntkinter.simpledialog.NoDefaultRoot(??)\ntkinter.simpledialog.OFF\ntkinter.simpledialog.ON\ntkinter.simpledialog.OUTSIDE\ntkinter.simpledialog.OptionMenu(??)\ntkinter.simpledialog.PAGES\ntkinter.simpledialog.PIESLICE\ntkinter.simpledialog.PROJECTING\ntkinter.simpledialog.Pack(??)\ntkinter.simpledialog.PanedWindow(??)\ntkinter.simpledialog.PhotoImage(??)\ntkinter.simpledialog.Place(??)\ntkinter.simpledialog.RADIOBUTTON\ntkinter.simpledialog.RAISED\ntkinter.simpledialog.READABLE\ntkinter.simpledialog.RIDGE\ntkinter.simpledialog.RIGHT\ntkinter.simpledialog.ROUND\ntkinter.simpledialog.Radiobutton(??)\ntkinter.simpledialog.S\ntkinter.simpledialog.SCROLL\ntkinter.simpledialog.SE\ntkinter.simpledialog.SEL\ntkinter.simpledialog.SEL_FIRST\ntkinter.simpledialog.SEL_LAST\ntkinter.simpledialog.SEPARATOR\ntkinter.simpledialog.SINGLE\ntkinter.simpledialog.SOLID\ntkinter.simpledialog.SUNKEN\ntkinter.simpledialog.SW\ntkinter.simpledialog.Scale(??)\ntkinter.simpledialog.Scrollbar(??)\ntkinter.simpledialog.SimpleDialog(??)\ntkinter.simpledialog.Spinbox(??)\ntkinter.simpledialog.StringVar(??)\ntkinter.simpledialog.TOP\ntkinter.simpledialog.TRUE\ntkinter.simpledialog.Tcl(??)\ntkinter.simpledialog.TclError(??)\ntkinter.simpledialog.TclVersion\ntkinter.simpledialog.Text(??)\ntkinter.simpledialog.Tk(??)\ntkinter.simpledialog.TkVersion\ntkinter.simpledialog.Toplevel(??)\ntkinter.simpledialog.UNDERLINE\ntkinter.simpledialog.UNITS\ntkinter.simpledialog.VERTICAL\ntkinter.simpledialog.Variable(??)\ntkinter.simpledialog.W\ntkinter.simpledialog.WORD\ntkinter.simpledialog.WRITABLE\ntkinter.simpledialog.Widget(??)\ntkinter.simpledialog.Wm(??)\ntkinter.simpledialog.X\ntkinter.simpledialog.XView(??)\ntkinter.simpledialog.Y\ntkinter.simpledialog.YES\ntkinter.simpledialog.YView(??)\ntkinter.simpledialog.askfloat(??)\ntkinter.simpledialog.askinteger(??)\ntkinter.simpledialog.askstring(??)\ntkinter.simpledialog.getboolean(??)\ntkinter.simpledialog.getdouble(??)\ntkinter.simpledialog.getint(??)\ntkinter.simpledialog.image_names(??)\ntkinter.simpledialog.image_types(??)\ntkinter.simpledialog.mainloop(??)\ntkinter.simpledialog.messagebox(??)\ntkinter.simpledialog.tkinter(??)\ntkinter.sys(??)\ntkinter.tix.ACROSSTOP\ntkinter.tix.ACTIVE\ntkinter.tix.ALL\ntkinter.tix.ANCHOR\ntkinter.tix.ARC\ntkinter.tix.ASCII\ntkinter.tix.AUTO\ntkinter.tix.BALLOON\ntkinter.tix.BASELINE\ntkinter.tix.BEVEL\ntkinter.tix.BOTH\ntkinter.tix.BOTTOM\ntkinter.tix.BROWSE\ntkinter.tix.BUTT\ntkinter.tix.Balloon(??)\ntkinter.tix.BaseWidget(??)\ntkinter.tix.BitmapImage(??)\ntkinter.tix.BooleanVar(??)\ntkinter.tix.Button(??)\ntkinter.tix.ButtonBox(??)\ntkinter.tix.CASCADE\ntkinter.tix.CELL\ntkinter.tix.CENTER\ntkinter.tix.CHAR\ntkinter.tix.CHECKBUTTON\ntkinter.tix.CHORD\ntkinter.tix.COLUMN\ntkinter.tix.COMMAND\ntkinter.tix.CObjView(??)\ntkinter.tix.CURRENT\ntkinter.tix.CallWrapper(??)\ntkinter.tix.Canvas(??)\ntkinter.tix.CheckList(??)\ntkinter.tix.Checkbutton(??)\ntkinter.tix.ComboBox(??)\ntkinter.tix.Control(??)\ntkinter.tix.DECREASING\ntkinter.tix.DISABLED\ntkinter.tix.DOTBOX\ntkinter.tix.DialogShell(??)\ntkinter.tix.DirList(??)\ntkinter.tix.DirSelectBox(??)\ntkinter.tix.DirSelectDialog(??)\ntkinter.tix.DirTree(??)\ntkinter.tix.DisplayStyle(??)\ntkinter.tix.DoubleVar(??)\ntkinter.tix.E\ntkinter.tix.END\ntkinter.tix.EW\ntkinter.tix.EXCEPTION\ntkinter.tix.EXTENDED\ntkinter.tix.Entry(??)\ntkinter.tix.Event(??)\ntkinter.tix.EventType(??)\ntkinter.tix.ExFileSelectBox(??)\ntkinter.tix.ExFileSelectDialog(??)\ntkinter.tix.FALSE\ntkinter.tix.FIRST\ntkinter.tix.FLAT\ntkinter.tix.FileEntry(??)\ntkinter.tix.FileSelectBox(??)\ntkinter.tix.FileSelectDialog(??)\ntkinter.tix.FileTypeList(??)\ntkinter.tix.Form(??)\ntkinter.tix.Frame(??)\ntkinter.tix.GROOVE\ntkinter.tix.Grid(??)\ntkinter.tix.HIDDEN\ntkinter.tix.HList(??)\ntkinter.tix.HORIZONTAL\ntkinter.tix.IMAGE\ntkinter.tix.IMAGETEXT\ntkinter.tix.IMMEDIATE\ntkinter.tix.INCREASING\ntkinter.tix.INSERT\ntkinter.tix.INSIDE\ntkinter.tix.INTEGER\ntkinter.tix.Image(??)\ntkinter.tix.InputOnly(??)\ntkinter.tix.IntVar(??)\ntkinter.tix.LAST\ntkinter.tix.LEFT\ntkinter.tix.Label(??)\ntkinter.tix.LabelEntry(??)\ntkinter.tix.LabelFrame(??)\ntkinter.tix.ListNoteBook(??)\ntkinter.tix.Listbox(??)\ntkinter.tix.MAIN\ntkinter.tix.MAX\ntkinter.tix.MITER\ntkinter.tix.MOVETO\ntkinter.tix.MULTIPLE\ntkinter.tix.Menu(??)\ntkinter.tix.Menubutton(??)\ntkinter.tix.Message(??)\ntkinter.tix.Meter(??)\ntkinter.tix.Misc(??)\ntkinter.tix.N\ntkinter.tix.NE\ntkinter.tix.NO\ntkinter.tix.NONE\ntkinter.tix.NORMAL\ntkinter.tix.NS\ntkinter.tix.NSEW\ntkinter.tix.NUMERIC\ntkinter.tix.NW\ntkinter.tix.NoDefaultRoot(??)\ntkinter.tix.NoteBook(??)\ntkinter.tix.NoteBookFrame(??)\ntkinter.tix.OFF\ntkinter.tix.ON\ntkinter.tix.OUTSIDE\ntkinter.tix.OptionMenu(??)\ntkinter.tix.OptionName(??)\ntkinter.tix.PAGES\ntkinter.tix.PIESLICE\ntkinter.tix.PROJECTING\ntkinter.tix.Pack(??)\ntkinter.tix.PanedWindow(??)\ntkinter.tix.PhotoImage(??)\ntkinter.tix.Place(??)\ntkinter.tix.PopupMenu(??)\ntkinter.tix.RADIOBUTTON\ntkinter.tix.RAISED\ntkinter.tix.READABLE\ntkinter.tix.REAL\ntkinter.tix.RIDGE\ntkinter.tix.RIGHT\ntkinter.tix.ROUND\ntkinter.tix.ROW\ntkinter.tix.Radiobutton(??)\ntkinter.tix.ResizeHandle(??)\ntkinter.tix.S\ntkinter.tix.SCROLL\ntkinter.tix.SE\ntkinter.tix.SEL\ntkinter.tix.SEL_FIRST\ntkinter.tix.SEL_LAST\ntkinter.tix.SEPARATOR\ntkinter.tix.SINGLE\ntkinter.tix.SOLID\ntkinter.tix.STATUS\ntkinter.tix.SUNKEN\ntkinter.tix.SW\ntkinter.tix.S_REGION\ntkinter.tix.Scale(??)\ntkinter.tix.Scrollbar(??)\ntkinter.tix.ScrolledGrid(??)\ntkinter.tix.ScrolledHList(??)\ntkinter.tix.ScrolledListBox(??)\ntkinter.tix.ScrolledTList(??)\ntkinter.tix.ScrolledText(??)\ntkinter.tix.ScrolledWindow(??)\ntkinter.tix.Select(??)\ntkinter.tix.Shell(??)\ntkinter.tix.Spinbox(??)\ntkinter.tix.StdButtonBox(??)\ntkinter.tix.StringVar(??)\ntkinter.tix.TCL_ALL_EVENTS\ntkinter.tix.TCL_DONT_WAIT\ntkinter.tix.TCL_FILE_EVENTS\ntkinter.tix.TCL_IDLE_EVENTS\ntkinter.tix.TCL_TIMER_EVENTS\ntkinter.tix.TCL_WINDOW_EVENTS\ntkinter.tix.TEXT\ntkinter.tix.TList(??)\ntkinter.tix.TOP\ntkinter.tix.TRUE\ntkinter.tix.Tcl(??)\ntkinter.tix.TclError(??)\ntkinter.tix.TclVersion\ntkinter.tix.Text(??)\ntkinter.tix.TixSubWidget(??)\ntkinter.tix.TixWidget(??)\ntkinter.tix.Tk(??)\ntkinter.tix.TkVersion\ntkinter.tix.Toplevel(??)\ntkinter.tix.Tree(??)\ntkinter.tix.UNDERLINE\ntkinter.tix.UNITS\ntkinter.tix.VERTICAL\ntkinter.tix.Variable(??)\ntkinter.tix.W\ntkinter.tix.WINDOW\ntkinter.tix.WORD\ntkinter.tix.WRITABLE\ntkinter.tix.Widget(??)\ntkinter.tix.Wm(??)\ntkinter.tix.X\ntkinter.tix.XView(??)\ntkinter.tix.X_REGION\ntkinter.tix.Y\ntkinter.tix.YES\ntkinter.tix.YView(??)\ntkinter.tix.Y_REGION\ntkinter.tix.getboolean(??)\ntkinter.tix.getdouble(??)\ntkinter.tix.getint(??)\ntkinter.tix.image_names(??)\ntkinter.tix.image_types(??)\ntkinter.tix.mainloop(??)\ntkinter.tix.os(??)\ntkinter.tix.tixCommand(??)\ntkinter.tix.tkinter(??)\ntkinter.ttk.Button(??)\ntkinter.ttk.Checkbutton(??)\ntkinter.ttk.Combobox(??)\ntkinter.ttk.Entry(??)\ntkinter.ttk.Frame(??)\ntkinter.ttk.Label(??)\ntkinter.ttk.LabelFrame(??)\ntkinter.ttk.LabeledScale(??)\ntkinter.ttk.Labelframe(??)\ntkinter.ttk.Menubutton(??)\ntkinter.ttk.Notebook(??)\ntkinter.ttk.OptionMenu(??)\ntkinter.ttk.PanedWindow(??)\ntkinter.ttk.Panedwindow(??)\ntkinter.ttk.Progressbar(??)\ntkinter.ttk.Radiobutton(??)\ntkinter.ttk.Scale(??)\ntkinter.ttk.Scrollbar(??)\ntkinter.ttk.Separator(??)\ntkinter.ttk.Sizegrip(??)\ntkinter.ttk.Spinbox(??)\ntkinter.ttk.Style(??)\ntkinter.ttk.Treeview(??)\ntkinter.ttk.Widget(??)\ntkinter.ttk.setup_master(??)\ntkinter.ttk.tclobjs_to_py(??)\ntkinter.ttk.tkinter(??)\ntkinter.types(??)\ntkinter.wantobjects\ntoken.AMPER\ntoken.AMPEREQUAL\ntoken.ASYNC\ntoken.AT\ntoken.ATEQUAL\ntoken.AWAIT\ntoken.CIRCUMFLEX\ntoken.CIRCUMFLEXEQUAL\ntoken.COLON\ntoken.COLONEQUAL\ntoken.COMMA\ntoken.COMMENT\ntoken.DEDENT\ntoken.DOT\ntoken.DOUBLESLASH\ntoken.DOUBLESLASHEQUAL\ntoken.DOUBLESTAR\ntoken.DOUBLESTAREQUAL\ntoken.ELLIPSIS\ntoken.ENCODING\ntoken.ENDMARKER\ntoken.EQEQUAL\ntoken.EQUAL\ntoken.ERRORTOKEN\ntoken.EXACT_TOKEN_TYPES(??)\ntoken.GREATER\ntoken.GREATEREQUAL\ntoken.INDENT\ntoken.ISEOF(??)\ntoken.ISNONTERMINAL(??)\ntoken.ISTERMINAL(??)\ntoken.LBRACE\ntoken.LEFTSHIFT\ntoken.LEFTSHIFTEQUAL\ntoken.LESS\ntoken.LESSEQUAL\ntoken.LPAR\ntoken.LSQB\ntoken.MINEQUAL\ntoken.MINUS\ntoken.NAME\ntoken.NEWLINE\ntoken.NL\ntoken.NOTEQUAL\ntoken.NT_OFFSET\ntoken.NUMBER\ntoken.N_TOKENS\ntoken.OP\ntoken.PERCENT\ntoken.PERCENTEQUAL\ntoken.PLUS\ntoken.PLUSEQUAL\ntoken.RARROW\ntoken.RBRACE\ntoken.RIGHTSHIFT\ntoken.RIGHTSHIFTEQUAL\ntoken.RPAR\ntoken.RSQB\ntoken.SEMI\ntoken.SLASH\ntoken.SLASHEQUAL\ntoken.STAR\ntoken.STAREQUAL\ntoken.STRING\ntoken.TILDE\ntoken.TYPE_COMMENT\ntoken.TYPE_IGNORE\ntoken.VBAR\ntoken.VBAREQUAL\ntoken.tok_name(??)\ntokenize.AMPER\ntokenize.AMPEREQUAL\ntokenize.ASYNC\ntokenize.AT\ntokenize.ATEQUAL\ntokenize.AWAIT\ntokenize.BOM_UTF8\ntokenize.Binnumber\ntokenize.CIRCUMFLEX\ntokenize.CIRCUMFLEXEQUAL\ntokenize.COLON\ntokenize.COLONEQUAL\ntokenize.COMMA\ntokenize.COMMENT\ntokenize.Comment\ntokenize.ContStr\ntokenize.DEDENT\ntokenize.DOT\ntokenize.DOUBLESLASH\ntokenize.DOUBLESLASHEQUAL\ntokenize.DOUBLESTAR\ntokenize.DOUBLESTAREQUAL\ntokenize.Decnumber\ntokenize.Double\ntokenize.Double3\ntokenize.ELLIPSIS\ntokenize.ENCODING\ntokenize.ENDMARKER\ntokenize.EQEQUAL\ntokenize.EQUAL\ntokenize.ERRORTOKEN\ntokenize.EXACT_TOKEN_TYPES(??)\ntokenize.Expfloat\ntokenize.Exponent\ntokenize.Floatnumber\ntokenize.Funny\ntokenize.GREATER\ntokenize.GREATEREQUAL\ntokenize.Hexnumber\ntokenize.INDENT\ntokenize.ISEOF(??)\ntokenize.ISNONTERMINAL(??)\ntokenize.ISTERMINAL(??)\ntokenize.Ignore\ntokenize.Imagnumber\ntokenize.Intnumber\ntokenize.LBRACE\ntokenize.LEFTSHIFT\ntokenize.LEFTSHIFTEQUAL\ntokenize.LESS\ntokenize.LESSEQUAL\ntokenize.LPAR\ntokenize.LSQB\ntokenize.MINEQUAL\ntokenize.MINUS\ntokenize.NAME\ntokenize.NEWLINE\ntokenize.NL\ntokenize.NOTEQUAL\ntokenize.NT_OFFSET\ntokenize.NUMBER\ntokenize.N_TOKENS\ntokenize.Name\ntokenize.Number\ntokenize.OP\ntokenize.Octnumber\ntokenize.PERCENT\ntokenize.PERCENTEQUAL\ntokenize.PLUS\ntokenize.PLUSEQUAL\ntokenize.PlainToken\ntokenize.Pointfloat\ntokenize.PseudoExtras\ntokenize.PseudoToken\ntokenize.RARROW\ntokenize.RBRACE\ntokenize.RIGHTSHIFT\ntokenize.RIGHTSHIFTEQUAL\ntokenize.RPAR\ntokenize.RSQB\ntokenize.SEMI\ntokenize.SLASH\ntokenize.SLASHEQUAL\ntokenize.STAR\ntokenize.STAREQUAL\ntokenize.STRING\ntokenize.Single\ntokenize.Single3\ntokenize.Special\ntokenize.StopTokenizing(??)\ntokenize.String\ntokenize.StringPrefix\ntokenize.TILDE\ntokenize.TYPE_COMMENT\ntokenize.TYPE_IGNORE\ntokenize.TextIOWrapper(??)\ntokenize.Token\ntokenize.TokenError(??)\ntokenize.TokenInfo(??)\ntokenize.Triple\ntokenize.Untokenizer(??)\ntokenize.VBAR\ntokenize.VBAREQUAL\ntokenize.Whitespace\ntokenize.any(??)\ntokenize.blank_re(??)\ntokenize.collections(??)\ntokenize.cookie_re(??)\ntokenize.detect_encoding(??)\ntokenize.endpats(??)\ntokenize.generate_tokens(??)\ntokenize.group(??)\ntokenize.lookup(??)\ntokenize.main(??)\ntokenize.maybe(??)\ntokenize.open(??)\ntokenize.re(??)\ntokenize.single_quoted(??)\ntokenize.sys(??)\ntokenize.t\ntokenize.tabsize\ntokenize.tok_name(??)\ntokenize.tokenize(??)\ntokenize.triple_quoted(??)\ntokenize.u\ntokenize.untokenize(??)\ntrace.CoverageResults(??)\ntrace.PRAGMA_NOCOVER\ntrace.Trace(??)\ntrace.dis(??)\ntrace.gc(??)\ntrace.inspect(??)\ntrace.linecache(??)\ntrace.main(??)\ntrace.os(??)\ntrace.pickle(??)\ntrace.sys(??)\ntrace.sysconfig(??)\ntrace.threading(??)\ntrace.token(??)\ntrace.tokenize(??)\ntraceback.FrameSummary(??)\ntraceback.StackSummary(??)\ntraceback.TracebackException(??)\ntraceback.clear_frames(??)\ntraceback.collections(??)\ntraceback.extract_stack(??)\ntraceback.extract_tb(??)\ntraceback.format_exc(??)\ntraceback.format_exception(??)\ntraceback.format_exception_only(??)\ntraceback.format_list(??)\ntraceback.format_stack(??)\ntraceback.format_tb(??)\ntraceback.itertools(??)\ntraceback.linecache(??)\ntraceback.print_exc(??)\ntraceback.print_exception(??)\ntraceback.print_last(??)\ntraceback.print_list(??)\ntraceback.print_stack(??)\ntraceback.print_tb(??)\ntraceback.sys(??)\ntraceback.walk_stack(??)\ntraceback.walk_tb(??)\ntracemalloc.BaseFilter(??)\ntracemalloc.DomainFilter(??)\ntracemalloc.Filter(??)\ntracemalloc.Frame(??)\ntracemalloc.Iterable(??)\ntracemalloc.Sequence(??)\ntracemalloc.Snapshot(??)\ntracemalloc.Statistic(??)\ntracemalloc.StatisticDiff(??)\ntracemalloc.Trace(??)\ntracemalloc.Traceback(??)\ntracemalloc.clear_traces(??)\ntracemalloc.fnmatch(??)\ntracemalloc.get_object_traceback(??)\ntracemalloc.get_traceback_limit(??)\ntracemalloc.get_traced_memory(??)\ntracemalloc.get_tracemalloc_memory(??)\ntracemalloc.is_tracing(??)\ntracemalloc.linecache(??)\ntracemalloc.os(??)\ntracemalloc.pickle(??)\ntracemalloc.reset_peak(??)\ntracemalloc.start(??)\ntracemalloc.stop(??)\ntracemalloc.take_snapshot(??)\ntracemalloc.total_ordering(??)\ntty.B0\ntty.B110\ntty.B115200\ntty.B1200\ntty.B134\ntty.B150\ntty.B1800\ntty.B19200\ntty.B200\ntty.B230400\ntty.B2400\ntty.B300\ntty.B38400\ntty.B4800\ntty.B50\ntty.B57600\ntty.B600\ntty.B75\ntty.B9600\ntty.BRKINT\ntty.BS0\ntty.BS1\ntty.BSDLY\ntty.CC\ntty.CDSUSP\ntty.CEOF\ntty.CEOL\ntty.CEOT\ntty.CERASE\ntty.CFLAG\ntty.CFLUSH\ntty.CINTR\ntty.CKILL\ntty.CLNEXT\ntty.CLOCAL\ntty.CQUIT\ntty.CR0\ntty.CR1\ntty.CR2\ntty.CR3\ntty.CRDLY\ntty.CREAD\ntty.CRPRNT\ntty.CRTSCTS\ntty.CS5\ntty.CS6\ntty.CS7\ntty.CS8\ntty.CSIZE\ntty.CSTART\ntty.CSTOP\ntty.CSTOPB\ntty.CSUSP\ntty.CWERASE\ntty.ECHO\ntty.ECHOCTL\ntty.ECHOE\ntty.ECHOK\ntty.ECHOKE\ntty.ECHONL\ntty.ECHOPRT\ntty.EXTA\ntty.EXTB\ntty.FF0\ntty.FF1\ntty.FFDLY\ntty.FIOASYNC\ntty.FIOCLEX\ntty.FIONBIO\ntty.FIONCLEX\ntty.FIONREAD\ntty.FLUSHO\ntty.HUPCL\ntty.ICANON\ntty.ICRNL\ntty.IEXTEN\ntty.IFLAG\ntty.IGNBRK\ntty.IGNCR\ntty.IGNPAR\ntty.IMAXBEL\ntty.INLCR\ntty.INPCK\ntty.ISIG\ntty.ISPEED\ntty.ISTRIP\ntty.IXANY\ntty.IXOFF\ntty.IXON\ntty.LFLAG\ntty.NCCS\ntty.NL0\ntty.NL1\ntty.NLDLY\ntty.NOFLSH\ntty.OCRNL\ntty.OFDEL\ntty.OFILL\ntty.OFLAG\ntty.ONLCR\ntty.ONLRET\ntty.ONOCR\ntty.OPOST\ntty.OSPEED\ntty.PARENB\ntty.PARMRK\ntty.PARODD\ntty.PENDIN\ntty.TAB0\ntty.TAB1\ntty.TAB2\ntty.TAB3\ntty.TABDLY\ntty.TCIFLUSH\ntty.TCIOFF\ntty.TCIOFLUSH\ntty.TCION\ntty.TCOFLUSH\ntty.TCOOFF\ntty.TCOON\ntty.TCSADRAIN\ntty.TCSAFLUSH\ntty.TCSANOW\ntty.TCSASOFT\ntty.TIOCCONS\ntty.TIOCEXCL\ntty.TIOCGETD\ntty.TIOCGPGRP\ntty.TIOCGWINSZ\ntty.TIOCMBIC\ntty.TIOCMBIS\ntty.TIOCMGET\ntty.TIOCMSET\ntty.TIOCM_CAR\ntty.TIOCM_CD\ntty.TIOCM_CTS\ntty.TIOCM_DSR\ntty.TIOCM_DTR\ntty.TIOCM_LE\ntty.TIOCM_RI\ntty.TIOCM_RNG\ntty.TIOCM_RTS\ntty.TIOCM_SR\ntty.TIOCM_ST\ntty.TIOCNOTTY\ntty.TIOCNXCL\ntty.TIOCOUTQ\ntty.TIOCPKT\ntty.TIOCPKT_DATA\ntty.TIOCPKT_DOSTOP\ntty.TIOCPKT_FLUSHREAD\ntty.TIOCPKT_FLUSHWRITE\ntty.TIOCPKT_NOSTOP\ntty.TIOCPKT_START\ntty.TIOCPKT_STOP\ntty.TIOCSCTTY\ntty.TIOCSETD\ntty.TIOCSPGRP\ntty.TIOCSTI\ntty.TIOCSWINSZ\ntty.TOSTOP\ntty.VDISCARD\ntty.VEOF\ntty.VEOL\ntty.VEOL2\ntty.VERASE\ntty.VINTR\ntty.VKILL\ntty.VLNEXT\ntty.VMIN\ntty.VQUIT\ntty.VREPRINT\ntty.VSTART\ntty.VSTOP\ntty.VSUSP\ntty.VT0\ntty.VT1\ntty.VTDLY\ntty.VTIME\ntty.VWERASE\ntty.error(??)\ntty.setcbreak(??)\ntty.setraw(??)\ntty.tcdrain(fd) -> None\ntty.tcflow(fd, action) -> None\ntty.tcflush(fd, queue) -> None\ntty.tcgetattr(fd) -> list_of_attrs\ntty.tcsendbreak(fd, duration) -> None\ntty.tcsetattr(fd, when, attributes) -> None\ntuple(??)\nturtle.Canvas(??)\nturtle.Pen(??)\nturtle.RawPen(??)\nturtle.RawTurtle(??)\nturtle.Screen(??)\nturtle.ScrolledCanvas(??)\nturtle.Shape(??)\nturtle.TK(??)\nturtle.TNavigator(??)\nturtle.TPen(??)\nturtle.Tbuffer(??)\nturtle.Terminator(??)\nturtle.Turtle(??)\nturtle.TurtleGraphicsError(??)\nturtle.TurtleScreen(??)\nturtle.TurtleScreenBase(??)\nturtle.Vec2D(??)\nturtle.addshape(??)\nturtle.back(??)\nturtle.backward(??)\nturtle.begin_fill(??)\nturtle.begin_poly(??)\nturtle.bgcolor(??)\nturtle.bgpic(??)\nturtle.bk(??)\nturtle.bye(??)\nturtle.circle(??)\nturtle.clear(??)\nturtle.clearscreen(??)\nturtle.clearstamp(??)\nturtle.clearstamps(??)\nturtle.clone(??)\nturtle.color(??)\nturtle.colormode(??)\nturtle.config_dict(??)\nturtle.deepcopy(??)\nturtle.degrees(??)\nturtle.delay(??)\nturtle.distance(??)\nturtle.done(??)\nturtle.dot(??)\nturtle.down(??)\nturtle.end_fill(??)\nturtle.end_poly(??)\nturtle.exitonclick(??)\nturtle.fd(??)\nturtle.fillcolor(??)\nturtle.filling(??)\nturtle.forward(??)\nturtle.get_poly(??)\nturtle.get_shapepoly(??)\nturtle.getcanvas(??)\nturtle.getmethparlist(??)\nturtle.getpen(??)\nturtle.getscreen(??)\nturtle.getshapes(??)\nturtle.getturtle(??)\nturtle.goto(??)\nturtle.heading(??)\nturtle.hideturtle(??)\nturtle.home(??)\nturtle.ht(??)\nturtle.inspect(??)\nturtle.isdown(??)\nturtle.isfile(??)\nturtle.isvisible(??)\nturtle.join(??)\nturtle.left(??)\nturtle.listen(??)\nturtle.lt(??)\nturtle.mainloop(??)\nturtle.math(??)\nturtle.mode(??)\nturtle.numinput(??)\nturtle.onclick(??)\nturtle.ondrag(??)\nturtle.onkey(??)\nturtle.onkeypress(??)\nturtle.onkeyrelease(??)\nturtle.onrelease(??)\nturtle.onscreenclick(??)\nturtle.ontimer(??)\nturtle.pd(??)\nturtle.pen(??)\nturtle.pencolor(??)\nturtle.pendown(??)\nturtle.pensize(??)\nturtle.penup(??)\nturtle.pos(??)\nturtle.position(??)\nturtle.pu(??)\nturtle.radians(??)\nturtle.read_docstrings(??)\nturtle.readconfig(??)\nturtle.register_shape(??)\nturtle.reset(??)\nturtle.resetscreen(??)\nturtle.resizemode(??)\nturtle.right(??)\nturtle.rt(??)\nturtle.screensize(??)\nturtle.seth(??)\nturtle.setheading(??)\nturtle.setpos(??)\nturtle.setposition(??)\nturtle.settiltangle(??)\nturtle.setundobuffer(??)\nturtle.setup(??)\nturtle.setworldcoordinates(??)\nturtle.setx(??)\nturtle.sety(??)\nturtle.shape(??)\nturtle.shapesize(??)\nturtle.shapetransform(??)\nturtle.shearfactor(??)\nturtle.showturtle(??)\nturtle.simpledialog(??)\nturtle.speed(??)\nturtle.split(??)\nturtle.st(??)\nturtle.stamp(??)\nturtle.sys(??)\nturtle.textinput(??)\nturtle.tilt(??)\nturtle.tiltangle(??)\nturtle.time(??)\nturtle.title(??)\nturtle.towards(??)\nturtle.tracer(??)\nturtle.turtles(??)\nturtle.turtlesize(??)\nturtle.types(??)\nturtle.undo (repeatedly) the last turtle action.\nturtle.undobufferentries(??)\nturtle.up(??)\nturtle.update(??)\nturtle.width(??)\nturtle.window_height(??)\nturtle.window_width(??)\nturtle.write(??)\nturtle.write_docstringdict(??)\nturtle.xcor(??)\nturtle.ycor(??)\ntype(object_or_name, bases, dict)\ntypes.AsyncGeneratorType(??)\ntypes.BuiltinFunctionType(??)\ntypes.BuiltinMethodType(??)\ntypes.CellType(??)\ntypes.ClassMethodDescriptorType(??)\ntypes.CodeType(??)\ntypes.CoroutineType(??)\ntypes.DynamicClassAttribute(??)\ntypes.FrameType(??)\ntypes.FunctionType(??)\ntypes.GeneratorType(??)\ntypes.GenericAlias(??)\ntypes.GetSetDescriptorType(??)\ntypes.LambdaType(??)\ntypes.MappingProxyType(??)\ntypes.MemberDescriptorType(??)\ntypes.MethodDescriptorType(??)\ntypes.MethodType(??)\ntypes.MethodWrapperType(??)\ntypes.ModuleType(??)\ntypes.SimpleNamespace(??)\ntypes.TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno)\ntypes.WrapperDescriptorType(??)\ntypes.coroutine(??)\ntypes.new_class(??)\ntypes.prepare_class(??)\ntypes.resolve_bases(??)\ntyping.ABCMeta(??)\ntyping.AbstractSet(??)\ntyping.Annotated(??)\ntyping.Any(??)\ntyping.AnyStr(??)\ntyping.AsyncContextManager(??)\ntyping.AsyncGenerator(??)\ntyping.AsyncIterable(??)\ntyping.AsyncIterator(??)\ntyping.Awaitable(??)\ntyping.BinaryIO(??)\ntyping.ByteString(??)\ntyping.CT_co(??)\ntyping.Callable(??)\ntyping.ChainMap(??)\ntyping.ClassVar(??)\ntyping.Collection(??)\ntyping.Container(??)\ntyping.ContextManager(??)\ntyping.Coroutine(??)\ntyping.Counter(??)\ntyping.DefaultDict(??)\ntyping.Deque(??)\ntyping.Dict(??)\ntyping.EXCLUDED_ATTRIBUTES(??)\ntyping.Final(??)\ntyping.ForwardRef(??)\ntyping.FrozenSet(??)\ntyping.Generator(??)\ntyping.Generic(??)\ntyping.GenericAlias(??)\ntyping.Hashable(??)\ntyping.IO(??)\ntyping.ItemsView(??)\ntyping.Iterable(??)\ntyping.Iterator(??)\ntyping.KT(??)\ntyping.KeysView(??)\ntyping.List(??)\ntyping.Literal(??)\ntyping.Mapping(??)\ntyping.MappingView(??)\ntyping.Match(??)\ntyping.MethodDescriptorType(??)\ntyping.MethodWrapperType(??)\ntyping.MutableMapping(??)\ntyping.MutableSequence(??)\ntyping.MutableSet(??)\ntyping.NamedTuple(??)\ntyping.NamedTupleMeta(??)\ntyping.NewType(??)\ntyping.NoReturn(??)\ntyping.Optional(??)\ntyping.OrderedDict(??)\ntyping.Pattern(??)\ntyping.Protocol(??)\ntyping.Reversible(??)\ntyping.Sequence(??)\ntyping.Set(??)\ntyping.Sized(??)\ntyping.SupportsAbs(??)\ntyping.SupportsBytes(??)\ntyping.SupportsComplex(??)\ntyping.SupportsFloat(??)\ntyping.SupportsIndex(??)\ntyping.SupportsInt(??)\ntyping.SupportsRound(??)\ntyping.T(??)\ntyping.TYPE_CHECKING(??)\ntyping.T_co(??)\ntyping.T_contra(??)\ntyping.Text(??)\ntyping.TextIO(??)\ntyping.Tuple(??)\ntyping.Type(??)\ntyping.TypeVar(??)\ntyping.TypedDict(??)\ntyping.Union(??)\ntyping.VT(??)\ntyping.VT_co(??)\ntyping.V_co(??)\ntyping.ValuesView(??)\ntyping.WrapperDescriptorType(??)\ntyping.abstractmethod(??)\ntyping.cast(??)\ntyping.collections(??)\ntyping.contextlib(??)\ntyping.final(??)\ntyping.functools(??)\ntyping.get_args(??)\ntyping.get_origin(??)\ntyping.get_type_hints(??)\ntyping.io(??)\ntyping.no_type_check(??)\ntyping.no_type_check_decorator(??)\ntyping.operator(??)\ntyping.overload(??)\ntyping.re(??)\ntyping.runtime_checkable(??)\ntyping.stdlib_re(??)\ntyping.sys(??)\ntyping.types(??)\nurllib.error(??)\nurllib.error.ContentTooShortError(??)\nurllib.error.HTTPError(??)\nurllib.error.URLError(??)\nurllib.error.urllib(??)\nurllib.parse(??)\nurllib.parse.DefragResult(??)\nurllib.parse.DefragResultBytes(??)\nurllib.parse.MAX_CACHE_SIZE\nurllib.parse.ParseResult(??)\nurllib.parse.ParseResultBytes(??)\nurllib.parse.Quoter(??)\nurllib.parse.ResultBase(??)\nurllib.parse.SplitResult(??)\nurllib.parse.SplitResultBytes(??)\nurllib.parse.clear_cache(??)\nurllib.parse.collections(??)\nurllib.parse.namedtuple(??)\nurllib.parse.non_hierarchical(??)\nurllib.parse.parse_qs(??)\nurllib.parse.parse_qsl(??)\nurllib.parse.quote('abc def') -> 'abc%20def'\nurllib.parse.quote_from_bytes(??)\nurllib.parse.quote_plus(??)\nurllib.parse.re(??)\nurllib.parse.scheme_chars\nurllib.parse.splitattr(??)\nurllib.parse.splithost(??)\nurllib.parse.splitnport(??)\nurllib.parse.splitpasswd(??)\nurllib.parse.splitport(??)\nurllib.parse.splitquery(??)\nurllib.parse.splittag(??)\nurllib.parse.splittype(??)\nurllib.parse.splituser(??)\nurllib.parse.splitvalue(??)\nurllib.parse.sys(??)\nurllib.parse.to_bytes(??)\nurllib.parse.types(??)\nurllib.parse.unquote(??)\nurllib.parse.unquote_plus(??)\nurllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.parse.unwrap(??)\nurllib.parse.urldefrag(??)\nurllib.parse.urlencode(??)\nurllib.parse.urljoin(??)\nurllib.parse.urlparse(??)\nurllib.parse.urlsplit(??)\nurllib.parse.urlunparse(??)\nurllib.parse.urlunsplit(??)\nurllib.parse.uses_fragment(??)\nurllib.parse.uses_netloc(??)\nurllib.parse.uses_params(??)\nurllib.parse.uses_query(??)\nurllib.parse.uses_relative(??)\nurllib.parse.warnings(??)\nurllib.request(??)\nurllib.request.AbstractBasicAuthHandler(??)\nurllib.request.AbstractDigestAuthHandler(??)\nurllib.request.AbstractHTTPHandler(??)\nurllib.request.BaseHandler(??)\nurllib.request.CacheFTPHandler(??)\nurllib.request.ContentTooShortError(??)\nurllib.request.DataHandler(??)\nurllib.request.FTPHandler(??)\nurllib.request.FancyURLopener(??)\nurllib.request.FileHandler(??)\nurllib.request.HTTPBasicAuthHandler(??)\nurllib.request.HTTPCookieProcessor(??)\nurllib.request.HTTPDefaultErrorHandler(??)\nurllib.request.HTTPDigestAuthHandler(??)\nurllib.request.HTTPError(??)\nurllib.request.HTTPErrorProcessor(??)\nurllib.request.HTTPHandler(??)\nurllib.request.HTTPPasswordMgr(??)\nurllib.request.HTTPPasswordMgrWithDefaultRealm(??)\nurllib.request.HTTPPasswordMgrWithPriorAuth(??)\nurllib.request.HTTPRedirectHandler(??)\nurllib.request.HTTPSHandler(??)\nurllib.request.MAXFTPCACHE\nurllib.request.OpenerDirector(??)\nurllib.request.ProxyBasicAuthHandler(??)\nurllib.request.ProxyDigestAuthHandler(??)\nurllib.request.ProxyHandler(??)\nurllib.request.Request(??)\nurllib.request.URLError(??)\nurllib.request.URLopener(??)\nurllib.request.UnknownHandler(??)\nurllib.request.addclosehook(??)\nurllib.request.addinfourl(??)\nurllib.request.base64(??)\nurllib.request.bisect(??)\nurllib.request.build_opener(??)\nurllib.request.contextlib(??)\nurllib.request.email(??)\nurllib.request.ftpcache(??)\nurllib.request.ftperrors(??)\nurllib.request.ftpwrapper(??)\nurllib.request.getproxies(??)\nurllib.request.getproxies_environment(??)\nurllib.request.getproxies_macosx_sysconf(??)\nurllib.request.hashlib(??)\nurllib.request.http(??)\nurllib.request.install_opener(??)\nurllib.request.io(??)\nurllib.request.localhost(??)\nurllib.request.noheaders(??)\nurllib.request.os(??)\nurllib.request.parse_http_list(??)\nurllib.request.parse_keqv_list(??)\nurllib.request.pathname2url(??)\nurllib.request.posixpath(??)\nurllib.request.proxy_bypass(??)\nurllib.request.proxy_bypass_environment(??)\nurllib.request.proxy_bypass_macosx_sysconf(??)\nurllib.request.quote('abc def') -> 'abc%20def'\nurllib.request.re(??)\nurllib.request.request_host(??)\nurllib.request.socket(??)\nurllib.request.ssl(??)\nurllib.request.string(??)\nurllib.request.sys(??)\nurllib.request.tempfile(??)\nurllib.request.thishost(??)\nurllib.request.time(??)\nurllib.request.unquote(??)\nurllib.request.unquote_to_bytes('abc%20def') -> b'abc def'.\nurllib.request.unwrap(??)\nurllib.request.url2pathname(??)\nurllib.request.urlcleanup(??)\nurllib.request.urljoin(??)\nurllib.request.urlopen(??)\nurllib.request.urlparse(??)\nurllib.request.urlretrieve(??)\nurllib.request.urlsplit(??)\nurllib.request.urlunparse(??)\nurllib.request.warnings(??)\nurllib.response(??)\nurllib.response.addbase(??)\nurllib.response.addclosehook(??)\nurllib.response.addinfo(??)\nurllib.response.addinfourl(??)\nurllib.response.tempfile(??)\nurllib.robotparser.Entry(??)\nurllib.robotparser.RequestRate(requests, seconds)\nurllib.robotparser.RobotFileParser(??)\nurllib.robotparser.RuleLine(??)\nurllib.robotparser.collections(??)\nurllib.robotparser.urllib(??)\nuu.Error(??)\nuu.binascii(??)\nuu.decode(??)\nuu.encode(??)\nuu.os(??)\nuu.sys(??)\nuu.test(??)\nuuid.Enum(??)\nuuid.NAMESPACE_DNS(??)\nuuid.NAMESPACE_OID(??)\nuuid.NAMESPACE_URL(??)\nuuid.NAMESPACE_X500(??)\nuuid.RESERVED_FUTURE\nuuid.RESERVED_MICROSOFT\nuuid.RESERVED_NCS\nuuid.RFC_4122\nuuid.SafeUUID(??)\nuuid.UUID(??)\nuuid.bytes_(??)\nuuid.getnode(??)\nuuid.int_(??)\nuuid.os(??)\nuuid.sys(??)\nuuid.uuid1(??)\nuuid.uuid3(??)\nuuid.uuid4(??)\nuuid.uuid5(??)\nvars([object]) -> dictionary\nvenv.CORE_VENV_DEPS(??)\nvenv.EnvBuilder(??)\nvenv.create(??)\nvenv.logger(??)\nvenv.logging(??)\nvenv.main(??)\nvenv.os(??)\nvenv.shutil(??)\nvenv.subprocess(??)\nvenv.sys(??)\nvenv.sysconfig(??)\nvenv.types(??)\nwarnings.WarningMessage(??)\nwarnings.catch_warnings(??)\nwarnings.defaultaction\nwarnings.filters(??)\nwarnings.filterwarnings(??)\nwarnings.formatwarning(??)\nwarnings.onceregistry(??)\nwarnings.resetwarnings(??)\nwarnings.showwarning(??)\nwarnings.simplefilter(??)\nwarnings.sys(??)\nwarnings.warn(??)\nwarnings.warn_explicit(??)\nwave.Chunk(??)\nwave.Error(??)\nwave.WAVE_FORMAT_PCM\nwave.Wave_read(??)\nwave.Wave_write(??)\nwave.audioop(??)\nwave.builtins(??)\nwave.namedtuple(??)\nwave.open(??)\nwave.struct(??)\nwave.sys(??)\nweakref.CallableProxyType(??)\nweakref.KeyedRef(??)\nweakref.ProxyType(??)\nweakref.ProxyTypes(??)\nweakref.ReferenceType(??)\nweakref.WeakKeyDictionary(??)\nweakref.WeakMethod(??)\nweakref.WeakSet(??)\nweakref.WeakValueDictionary(??)\nweakref.finalize(??)\nweakref.getweakrefcount(??)\nweakref.getweakrefs(object) -- return a list of all weak reference objects\nweakref.itertools(??)\nweakref.proxy(object[, callback]) -- create a proxy object that weakly\nweakref.ref(??)\nweakref.sys(??)\nwebbrowser.BackgroundBrowser(??)\nwebbrowser.BaseBrowser(??)\nwebbrowser.Chrome(??)\nwebbrowser.Chromium(??)\nwebbrowser.Elinks(??)\nwebbrowser.Error(??)\nwebbrowser.Galeon(??)\nwebbrowser.GenericBrowser(??)\nwebbrowser.Grail(??)\nwebbrowser.Konqueror(??)\nwebbrowser.MacOSX(??)\nwebbrowser.MacOSXOSAScript(??)\nwebbrowser.Mozilla(??)\nwebbrowser.Netscape(??)\nwebbrowser.Opera(??)\nwebbrowser.UnixBrowser(??)\nwebbrowser.get(??)\nwebbrowser.main(??)\nwebbrowser.open(??)\nwebbrowser.open_new(??)\nwebbrowser.open_new_tab(??)\nwebbrowser.os(??)\nwebbrowser.register(??)\nwebbrowser.register_X_browsers(??)\nwebbrowser.register_standard_browsers(??)\nwebbrowser.shlex(??)\nwebbrowser.shutil(??)\nwebbrowser.subprocess(??)\nwebbrowser.sys(??)\nwebbrowser.threading(??)\nwsgiref.handlers(??)\nwsgiref.handlers.BaseCGIHandler(??)\nwsgiref.handlers.BaseHandler(??)\nwsgiref.handlers.CGIHandler(??)\nwsgiref.handlers.FileWrapper(??)\nwsgiref.handlers.Headers(??)\nwsgiref.handlers.IISCGIHandler(??)\nwsgiref.handlers.SimpleHandler(??)\nwsgiref.handlers.format_date_time(??)\nwsgiref.handlers.guess_scheme(??)\nwsgiref.handlers.is_hop_by_hop(??)\nwsgiref.handlers.os(??)\nwsgiref.handlers.read_environ(??)\nwsgiref.handlers.sys(??)\nwsgiref.handlers.time(??)\nwsgiref.headers(??)\nwsgiref.headers.Headers(??)\nwsgiref.headers.re(??)\nwsgiref.headers.tspecials(??)\nwsgiref.simple_server.BaseHTTPRequestHandler(??)\nwsgiref.simple_server.HTTPServer(??)\nwsgiref.simple_server.ServerHandler(??)\nwsgiref.simple_server.SimpleHandler(??)\nwsgiref.simple_server.WSGIRequestHandler(??)\nwsgiref.simple_server.WSGIServer(??)\nwsgiref.simple_server.demo_app(??)\nwsgiref.simple_server.make_server(??)\nwsgiref.simple_server.python_implementation(??)\nwsgiref.simple_server.server_version\nwsgiref.simple_server.software_version\nwsgiref.simple_server.sys(??)\nwsgiref.simple_server.sys_version\nwsgiref.simple_server.urllib(??)\nwsgiref.util(??)\nwsgiref.util.FileWrapper(??)\nwsgiref.util.application_uri(??)\nwsgiref.util.guess_scheme(??)\nwsgiref.util.is_hop_by_hop(??)\nwsgiref.util.posixpath(??)\nwsgiref.util.request_uri(??)\nwsgiref.util.setup_testing_defaults(??)\nwsgiref.util.shift_path_info(??)\nwsgiref.validate.ErrorWrapper(??)\nwsgiref.validate.InputWrapper(??)\nwsgiref.validate.IteratorWrapper(??)\nwsgiref.validate.PartialIteratorWrapper(??)\nwsgiref.validate.WSGIWarning(??)\nwsgiref.validate.WriteWrapper(??)\nwsgiref.validate.assert_(??)\nwsgiref.validate.bad_header_value_re(??)\nwsgiref.validate.check_content_type(??)\nwsgiref.validate.check_environ(??)\nwsgiref.validate.check_errors(??)\nwsgiref.validate.check_exc_info(??)\nwsgiref.validate.check_headers(??)\nwsgiref.validate.check_input(??)\nwsgiref.validate.check_iterator(??)\nwsgiref.validate.check_status(??)\nwsgiref.validate.check_string_type(??)\nwsgiref.validate.header_re(??)\nwsgiref.validate.re(??)\nwsgiref.validate.sys(??)\nwsgiref.validate.validator(??)\nwsgiref.validate.warnings(??)\nxdrlib.BytesIO(??)\nxdrlib.ConversionError(??)\nxdrlib.Error(??)\nxdrlib.Packer(??)\nxdrlib.Unpacker(??)\nxdrlib.raise_conversion_error(??)\nxdrlib.struct(??)\nxdrlib.wraps(??)\nxml.dom.DOMException(??)\nxml.dom.DOMSTRING_SIZE_ERR\nxml.dom.DomstringSizeErr(??)\nxml.dom.EMPTY_NAMESPACE(??)\nxml.dom.EMPTY_PREFIX(??)\nxml.dom.HIERARCHY_REQUEST_ERR\nxml.dom.HierarchyRequestErr(??)\nxml.dom.INDEX_SIZE_ERR\nxml.dom.INUSE_ATTRIBUTE_ERR\nxml.dom.INVALID_ACCESS_ERR\nxml.dom.INVALID_CHARACTER_ERR\nxml.dom.INVALID_MODIFICATION_ERR\nxml.dom.INVALID_STATE_ERR\nxml.dom.IndexSizeErr(??)\nxml.dom.InuseAttributeErr(??)\nxml.dom.InvalidAccessErr(??)\nxml.dom.InvalidCharacterErr(??)\nxml.dom.InvalidModificationErr(??)\nxml.dom.InvalidStateErr(??)\nxml.dom.NAMESPACE_ERR\nxml.dom.NOT_FOUND_ERR\nxml.dom.NOT_SUPPORTED_ERR\nxml.dom.NO_DATA_ALLOWED_ERR\nxml.dom.NO_MODIFICATION_ALLOWED_ERR\nxml.dom.NamespaceErr(??)\nxml.dom.NoDataAllowedErr(??)\nxml.dom.NoModificationAllowedErr(??)\nxml.dom.Node(??)\nxml.dom.NodeFilter(??)\nxml.dom.NodeFilter.NodeFilter(??)\nxml.dom.NotFoundErr(??)\nxml.dom.NotSupportedErr(??)\nxml.dom.SYNTAX_ERR\nxml.dom.SyntaxErr(??)\nxml.dom.UserDataHandler(??)\nxml.dom.VALIDATION_ERR\nxml.dom.ValidationErr(??)\nxml.dom.WRONG_DOCUMENT_ERR\nxml.dom.WrongDocumentErr(??)\nxml.dom.XHTML_NAMESPACE\nxml.dom.XMLNS_NAMESPACE\nxml.dom.XML_NAMESPACE\nxml.dom.domreg(??)\nxml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.domreg.registerDOMImplementation(name, factory)\nxml.dom.domreg.registered(??)\nxml.dom.domreg.sys(??)\nxml.dom.domreg.well_known_implementations(??)\nxml.dom.expatbuilder(??)\nxml.dom.expatbuilder.CDATA_SECTION_NODE\nxml.dom.expatbuilder.DOCUMENT_NODE\nxml.dom.expatbuilder.EMPTY_NAMESPACE(??)\nxml.dom.expatbuilder.EMPTY_PREFIX(??)\nxml.dom.expatbuilder.ElementInfo(??)\nxml.dom.expatbuilder.ExpatBuilder(??)\nxml.dom.expatbuilder.ExpatBuilderNS(??)\nxml.dom.expatbuilder.FILTER_ACCEPT\nxml.dom.expatbuilder.FILTER_INTERRUPT\nxml.dom.expatbuilder.FILTER_REJECT\nxml.dom.expatbuilder.FILTER_SKIP\nxml.dom.expatbuilder.FilterCrutch(??)\nxml.dom.expatbuilder.FilterVisibilityController(??)\nxml.dom.expatbuilder.FragmentBuilder(??)\nxml.dom.expatbuilder.FragmentBuilderNS(??)\nxml.dom.expatbuilder.InternalSubsetExtractor(??)\nxml.dom.expatbuilder.Namespaces(??)\nxml.dom.expatbuilder.Node(??)\nxml.dom.expatbuilder.NodeFilter(??)\nxml.dom.expatbuilder.ParseEscape(??)\nxml.dom.expatbuilder.Rejecter(??)\nxml.dom.expatbuilder.Skipper(??)\nxml.dom.expatbuilder.TEXT_NODE\nxml.dom.expatbuilder.XMLNS_NAMESPACE\nxml.dom.expatbuilder.expat(??)\nxml.dom.expatbuilder.makeBuilder(??)\nxml.dom.expatbuilder.minidom(??)\nxml.dom.expatbuilder.parse(??)\nxml.dom.expatbuilder.parseFragment(??)\nxml.dom.expatbuilder.parseFragmentString(??)\nxml.dom.expatbuilder.parseString(??)\nxml.dom.expatbuilder.theDOMImplementation(??)\nxml.dom.expatbuilder.xmlbuilder(??)\nxml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation.\nxml.dom.minicompat(??)\nxml.dom.minicompat.EmptyNodeList(??)\nxml.dom.minicompat.NodeList(??)\nxml.dom.minicompat.StringTypes(??)\nxml.dom.minicompat.defproperty(??)\nxml.dom.minicompat.xml(??)\nxml.dom.minidom(??)\nxml.dom.minidom.Attr(??)\nxml.dom.minidom.AttributeList(??)\nxml.dom.minidom.CDATASection(??)\nxml.dom.minidom.CharacterData(??)\nxml.dom.minidom.Childless(??)\nxml.dom.minidom.Comment(??)\nxml.dom.minidom.DOMImplementation(??)\nxml.dom.minidom.DOMImplementationLS(??)\nxml.dom.minidom.Document(??)\nxml.dom.minidom.DocumentFragment(??)\nxml.dom.minidom.DocumentLS(??)\nxml.dom.minidom.DocumentType(??)\nxml.dom.minidom.EMPTY_NAMESPACE(??)\nxml.dom.minidom.EMPTY_PREFIX(??)\nxml.dom.minidom.Element(??)\nxml.dom.minidom.ElementInfo(??)\nxml.dom.minidom.EmptyNodeList(??)\nxml.dom.minidom.Entity(??)\nxml.dom.minidom.Identified(??)\nxml.dom.minidom.NamedNodeMap(??)\nxml.dom.minidom.Node(??)\nxml.dom.minidom.NodeList(??)\nxml.dom.minidom.Notation(??)\nxml.dom.minidom.ProcessingInstruction(??)\nxml.dom.minidom.ReadOnlySequentialNamedNodeMap(??)\nxml.dom.minidom.StringTypes(??)\nxml.dom.minidom.Text(??)\nxml.dom.minidom.TypeInfo(??)\nxml.dom.minidom.XMLNS_NAMESPACE\nxml.dom.minidom.defproperty(??)\nxml.dom.minidom.domreg(??)\nxml.dom.minidom.getDOMImplementation(??)\nxml.dom.minidom.io(??)\nxml.dom.minidom.parse(??)\nxml.dom.minidom.parseString(??)\nxml.dom.minidom.xml(??)\nxml.dom.pulldom(??)\nxml.dom.pulldom.CHARACTERS\nxml.dom.pulldom.COMMENT\nxml.dom.pulldom.DOMEventStream(??)\nxml.dom.pulldom.END_DOCUMENT\nxml.dom.pulldom.END_ELEMENT\nxml.dom.pulldom.ErrorHandler(??)\nxml.dom.pulldom.IGNORABLE_WHITESPACE\nxml.dom.pulldom.PROCESSING_INSTRUCTION\nxml.dom.pulldom.PullDOM(??)\nxml.dom.pulldom.SAX2DOM(??)\nxml.dom.pulldom.START_DOCUMENT\nxml.dom.pulldom.START_ELEMENT\nxml.dom.pulldom.default_bufsize\nxml.dom.pulldom.parse(??)\nxml.dom.pulldom.parseString(??)\nxml.dom.pulldom.xml(??)\nxml.dom.registerDOMImplementation(name, factory)\nxml.dom.xmlbuilder(??)\nxml.dom.xmlbuilder.DOMBuilder(??)\nxml.dom.xmlbuilder.DOMBuilderFilter(??)\nxml.dom.xmlbuilder.DOMEntityResolver(??)\nxml.dom.xmlbuilder.DOMImplementationLS(??)\nxml.dom.xmlbuilder.DOMInputSource(??)\nxml.dom.xmlbuilder.DocumentLS(??)\nxml.dom.xmlbuilder.Options(??)\nxml.dom.xmlbuilder.copy(??)\nxml.dom.xmlbuilder.xml(??)\nxml.etree.ElementInclude.DEFAULT_MAX_INCLUSION_DEPTH\nxml.etree.ElementInclude.ElementTree(??)\nxml.etree.ElementInclude.FatalIncludeError(??)\nxml.etree.ElementInclude.LimitedRecursiveIncludeError(??)\nxml.etree.ElementInclude.XINCLUDE\nxml.etree.ElementInclude.XINCLUDE_FALLBACK\nxml.etree.ElementInclude.XINCLUDE_INCLUDE\nxml.etree.ElementInclude.copy(??)\nxml.etree.ElementInclude.default_loader(??)\nxml.etree.ElementInclude.include(??)\nxml.etree.ElementInclude.urljoin(??)\nxml.etree.ElementPath(??)\nxml.etree.ElementPath.find(??)\nxml.etree.ElementPath.findall(??)\nxml.etree.ElementPath.findtext(??)\nxml.etree.ElementPath.get_parent_map(??)\nxml.etree.ElementPath.iterfind(??)\nxml.etree.ElementPath.ops(??)\nxml.etree.ElementPath.prepare_child(??)\nxml.etree.ElementPath.prepare_descendant(??)\nxml.etree.ElementPath.prepare_parent(??)\nxml.etree.ElementPath.prepare_predicate(??)\nxml.etree.ElementPath.prepare_self(??)\nxml.etree.ElementPath.prepare_star(??)\nxml.etree.ElementPath.re(??)\nxml.etree.ElementPath.xpath_tokenizer(??)\nxml.etree.ElementPath.xpath_tokenizer_re(??)\nxml.etree.ElementTree(??)\nxml.etree.ElementTree.C14NWriterTarget(??)\nxml.etree.ElementTree.Comment(??)\nxml.etree.ElementTree.Element(??)\nxml.etree.ElementTree.ElementPath(??)\nxml.etree.ElementTree.ElementTree(??)\nxml.etree.ElementTree.HTML_EMPTY(??)\nxml.etree.ElementTree.PI(??)\nxml.etree.ElementTree.ParseError(??)\nxml.etree.ElementTree.ProcessingInstruction(??)\nxml.etree.ElementTree.QName(??)\nxml.etree.ElementTree.SubElement(??)\nxml.etree.ElementTree.TreeBuilder(??)\nxml.etree.ElementTree.VERSION\nxml.etree.ElementTree.XML(??)\nxml.etree.ElementTree.XMLID(??)\nxml.etree.ElementTree.XMLParser(??)\nxml.etree.ElementTree.XMLPullParser(??)\nxml.etree.ElementTree.canonicalize(??)\nxml.etree.ElementTree.collections(??)\nxml.etree.ElementTree.contextlib(??)\nxml.etree.ElementTree.dump(??)\nxml.etree.ElementTree.fromstring(??)\nxml.etree.ElementTree.fromstringlist(??)\nxml.etree.ElementTree.indent(??)\nxml.etree.ElementTree.io(??)\nxml.etree.ElementTree.iselement(??)\nxml.etree.ElementTree.iterparse(??)\nxml.etree.ElementTree.parse(??)\nxml.etree.ElementTree.re(??)\nxml.etree.ElementTree.register_namespace(??)\nxml.etree.ElementTree.sys(??)\nxml.etree.ElementTree.tostring(??)\nxml.etree.ElementTree.tostringlist(??)\nxml.etree.ElementTree.warnings(??)\nxml.etree.cElementTree(??)\nxml.etree.cElementTree.C14NWriterTarget(??)\nxml.etree.cElementTree.Comment(??)\nxml.etree.cElementTree.Element(??)\nxml.etree.cElementTree.ElementTree(??)\nxml.etree.cElementTree.PI(??)\nxml.etree.cElementTree.ParseError(??)\nxml.etree.cElementTree.ProcessingInstruction(??)\nxml.etree.cElementTree.QName(??)\nxml.etree.cElementTree.SubElement(??)\nxml.etree.cElementTree.TreeBuilder(??)\nxml.etree.cElementTree.VERSION\nxml.etree.cElementTree.XML(??)\nxml.etree.cElementTree.XMLID(??)\nxml.etree.cElementTree.XMLParser(??)\nxml.etree.cElementTree.XMLPullParser(??)\nxml.etree.cElementTree.canonicalize(??)\nxml.etree.cElementTree.dump(??)\nxml.etree.cElementTree.fromstring(??)\nxml.etree.cElementTree.fromstringlist(??)\nxml.etree.cElementTree.indent(??)\nxml.etree.cElementTree.iselement(??)\nxml.etree.cElementTree.iterparse(??)\nxml.etree.cElementTree.parse(??)\nxml.etree.cElementTree.register_namespace(??)\nxml.etree.cElementTree.tostring(??)\nxml.etree.cElementTree.tostringlist(??)\nxml.parsers(??)\nxml.parsers.expat(??)\nxml.parsers.expat.EXPAT_VERSION\nxml.parsers.expat.ErrorString(??)\nxml.parsers.expat.ExpatError(??)\nxml.parsers.expat.ParserCreate(??)\nxml.parsers.expat.XMLParserType(??)\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER\nxml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE\nxml.parsers.expat.error(??)\nxml.parsers.expat.errors(??)\nxml.parsers.expat.expat_CAPI(??)\nxml.parsers.expat.features(??)\nxml.parsers.expat.model(??)\nxml.parsers.expat.native_encoding\nxml.parsers.expat.sys(??)\nxml.parsers.expat.version_info(??)\nxml.sax(??)\nxml.sax.ContentHandler(??)\nxml.sax.ErrorHandler(??)\nxml.sax.InputSource(??)\nxml.sax.SAXException(??)\nxml.sax.SAXNotRecognizedException(??)\nxml.sax.SAXNotSupportedException(??)\nxml.sax.SAXParseException(??)\nxml.sax.SAXReaderNotAvailable(??)\nxml.sax.default_parser_list(??)\nxml.sax.expatreader.AttributesImpl(??)\nxml.sax.expatreader.AttributesNSImpl(??)\nxml.sax.expatreader.ExpatLocator(??)\nxml.sax.expatreader.ExpatParser(??)\nxml.sax.expatreader.SAXException(??)\nxml.sax.expatreader.SAXNotRecognizedException(??)\nxml.sax.expatreader.SAXNotSupportedException(??)\nxml.sax.expatreader.SAXParseException(??)\nxml.sax.expatreader.SAXReaderNotAvailable(??)\nxml.sax.expatreader.create_parser(??)\nxml.sax.expatreader.expat(??)\nxml.sax.expatreader.feature_external_ges\nxml.sax.expatreader.feature_external_pes\nxml.sax.expatreader.feature_namespace_prefixes\nxml.sax.expatreader.feature_namespaces\nxml.sax.expatreader.feature_string_interning\nxml.sax.expatreader.feature_validation\nxml.sax.expatreader.handler(??)\nxml.sax.expatreader.property_interning_dict\nxml.sax.expatreader.property_xml_string\nxml.sax.expatreader.saxutils(??)\nxml.sax.expatreader.version\nxml.sax.expatreader.xmlreader(??)\nxml.sax.handler(??)\nxml.sax.handler.ContentHandler(??)\nxml.sax.handler.DTDHandler(??)\nxml.sax.handler.EntityResolver(??)\nxml.sax.handler.ErrorHandler(??)\nxml.sax.handler.all_features(??)\nxml.sax.handler.all_properties(??)\nxml.sax.handler.feature_external_ges\nxml.sax.handler.feature_external_pes\nxml.sax.handler.feature_namespace_prefixes\nxml.sax.handler.feature_namespaces\nxml.sax.handler.feature_string_interning\nxml.sax.handler.feature_validation\nxml.sax.handler.property_declaration_handler\nxml.sax.handler.property_dom_node\nxml.sax.handler.property_encoding\nxml.sax.handler.property_interning_dict\nxml.sax.handler.property_lexical_handler\nxml.sax.handler.property_xml_string\nxml.sax.handler.version\nxml.sax.make_parser(??)\nxml.sax.parse(??)\nxml.sax.parseString(??)\nxml.sax.saxutils.XMLFilterBase(??)\nxml.sax.saxutils.XMLGenerator(??)\nxml.sax.saxutils.codecs(??)\nxml.sax.saxutils.escape(??)\nxml.sax.saxutils.handler(??)\nxml.sax.saxutils.io(??)\nxml.sax.saxutils.os(??)\nxml.sax.saxutils.prepare_input_source(??)\nxml.sax.saxutils.quoteattr(??)\nxml.sax.saxutils.unescape(??)\nxml.sax.saxutils.urllib(??)\nxml.sax.saxutils.xmlreader(??)\nxml.sax.xmlreader(??)\nxml.sax.xmlreader.AttributesImpl(??)\nxml.sax.xmlreader.AttributesNSImpl(??)\nxml.sax.xmlreader.IncrementalParser(??)\nxml.sax.xmlreader.InputSource(??)\nxml.sax.xmlreader.Locator(??)\nxml.sax.xmlreader.SAXNotRecognizedException(??)\nxml.sax.xmlreader.SAXNotSupportedException(??)\nxml.sax.xmlreader.XMLReader(??)\nxml.sax.xmlreader.handler(??)\nxmlrpc.client(??)\nxmlrpc.client.APPLICATION_ERROR\nxmlrpc.client.Binary(??)\nxmlrpc.client.Boolean(??)\nxmlrpc.client.BytesIO(??)\nxmlrpc.client.DateTime(??)\nxmlrpc.client.Decimal(??)\nxmlrpc.client.Error(??)\nxmlrpc.client.ExpatParser(??)\nxmlrpc.client.FastMarshaller(??)\nxmlrpc.client.FastParser(??)\nxmlrpc.client.FastUnmarshaller(??)\nxmlrpc.client.Fault(??)\nxmlrpc.client.GzipDecodedResponse(??)\nxmlrpc.client.INTERNAL_ERROR\nxmlrpc.client.INVALID_ENCODING_CHAR\nxmlrpc.client.INVALID_METHOD_PARAMS\nxmlrpc.client.INVALID_XMLRPC\nxmlrpc.client.MAXINT\nxmlrpc.client.METHOD_NOT_FOUND\nxmlrpc.client.MININT\nxmlrpc.client.Marshaller(??)\nxmlrpc.client.MultiCall(??)\nxmlrpc.client.MultiCallIterator(??)\nxmlrpc.client.NOT_WELLFORMED_ERROR\nxmlrpc.client.PARSE_ERROR\nxmlrpc.client.ProtocolError(??)\nxmlrpc.client.ResponseError(??)\nxmlrpc.client.SERVER_ERROR\nxmlrpc.client.SYSTEM_ERROR\nxmlrpc.client.SafeTransport(??)\nxmlrpc.client.Server(??)\nxmlrpc.client.ServerProxy(??)\nxmlrpc.client.TRANSPORT_ERROR\nxmlrpc.client.Transport(??)\nxmlrpc.client.UNSUPPORTED_ENCODING\nxmlrpc.client.Unmarshaller(??)\nxmlrpc.client.WRAPPERS(??)\nxmlrpc.client.base64(??)\nxmlrpc.client.boolean(??)\nxmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\nxmlrpc.client.dumps(??)\nxmlrpc.client.errno(??)\nxmlrpc.client.escape(??)\nxmlrpc.client.expat(??)\nxmlrpc.client.getparser() -> parser, unmarshaller\nxmlrpc.client.gzip(??)\nxmlrpc.client.gzip_decode(??)\nxmlrpc.client.gzip_encode(??)\nxmlrpc.client.http(??)\nxmlrpc.client.loads(??)\nxmlrpc.client.sys(??)\nxmlrpc.client.time(??)\nxmlrpc.client.urllib(??)\nxmlrpc.server(??)\nxmlrpc.server.BaseHTTPRequestHandler(??)\nxmlrpc.server.CGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocCGIXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCRequestHandler(??)\nxmlrpc.server.DocXMLRPCServer(??)\nxmlrpc.server.Fault(??)\nxmlrpc.server.MultiPathXMLRPCServer(??)\nxmlrpc.server.ServerHTMLDoc(??)\nxmlrpc.server.SimpleXMLRPCDispatcher(??)\nxmlrpc.server.SimpleXMLRPCRequestHandler(??)\nxmlrpc.server.SimpleXMLRPCServer(??)\nxmlrpc.server.XMLRPCDocGenerator(??)\nxmlrpc.server.dumps(??)\nxmlrpc.server.fcntl(??)\nxmlrpc.server.gzip_decode(??)\nxmlrpc.server.gzip_encode(??)\nxmlrpc.server.html(??)\nxmlrpc.server.http(??)\nxmlrpc.server.list_public_methods(??)\nxmlrpc.server.loads(??)\nxmlrpc.server.os(??)\nxmlrpc.server.partial(func, *args, **keywords) - new function with partial application\nxmlrpc.server.pydoc(??)\nxmlrpc.server.re(??)\nxmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d\nxmlrpc.server.signature(??)\nxmlrpc.server.socketserver(??)\nxmlrpc.server.sys(??)\nxmlrpc.server.traceback(??)\nzip(*iterables) --> A zip object yielding tuples until an input is exhausted.\nzipapp.MAIN_TEMPLATE\nzipapp.ZipAppError(??)\nzipapp.contextlib(??)\nzipapp.create_archive(??)\nzipapp.get_interpreter(??)\nzipapp.main(??)\nzipapp.os(??)\nzipapp.pathlib(??)\nzipapp.shebang_encoding\nzipapp.shutil(??)\nzipapp.stat(??)\nzipapp.sys(??)\nzipapp.zipfile(??)\nzipfile.BZIP2_VERSION\nzipfile.BadZipFile(??)\nzipfile.BadZipfile(??)\nzipfile.CompleteDirs(??)\nzipfile.DEFAULT_VERSION\nzipfile.FastLookup(??)\nzipfile.LZMACompressor(??)\nzipfile.LZMADecompressor(??)\nzipfile.LZMA_VERSION\nzipfile.LargeZipFile(??)\nzipfile.MAX_EXTRACT_VERSION\nzipfile.Path(??)\nzipfile.PyZipFile(??)\nzipfile.ZIP64_LIMIT\nzipfile.ZIP64_VERSION\nzipfile.ZIP_BZIP2\nzipfile.ZIP_DEFLATED\nzipfile.ZIP_FILECOUNT_LIMIT\nzipfile.ZIP_LZMA\nzipfile.ZIP_MAX_COMMENT\nzipfile.ZIP_STORED\nzipfile.ZipExtFile(??)\nzipfile.ZipFile(??)\nzipfile.ZipInfo(??)\nzipfile.binascii(??)\nzipfile.bz2(??)\nzipfile.compressor_names(??)\nzipfile.contextlib(??)\nzipfile.crc32(??)\nzipfile.error(??)\nzipfile.importlib(??)\nzipfile.io(??)\nzipfile.is_zipfile(??)\nzipfile.itertools(??)\nzipfile.lzma(??)\nzipfile.main(??)\nzipfile.os(??)\nzipfile.posixpath(??)\nzipfile.shutil(??)\nzipfile.sizeCentralDir\nzipfile.sizeEndCentDir\nzipfile.sizeEndCentDir64\nzipfile.sizeEndCentDir64Locator\nzipfile.sizeFileHeader\nzipfile.stat(??)\nzipfile.stringCentralDir\nzipfile.stringEndArchive\nzipfile.stringEndArchive64\nzipfile.stringEndArchive64Locator\nzipfile.stringFileHeader\nzipfile.struct(??)\nzipfile.structCentralDir\nzipfile.structEndArchive\nzipfile.structEndArchive64\nzipfile.structEndArchive64Locator\nzipfile.structFileHeader\nzipfile.sys(??)\nzipfile.threading(??)\nzipfile.time(??)\nzipfile.zlib(??)\nzipimport.END_CENTRAL_DIR_SIZE\nzipimport.MAX_COMMENT_LEN\nzipimport.STRING_END_ARCHIVE\nzipimport.ZipImportError(??)\nzipimport.alt_path_sep\nzipimport.cp437_table\nzipimport.marshal(??)\nzipimport.path_sep\nzipimport.sys(??)\nzipimport.time(??)\nzipimport.zipimporter(archivepath) -> zipimporter object\nzoneinfo.InvalidTZPathWarning(??)\nzoneinfo.TZPATH(??)\nzoneinfo.ZoneInfo(??)\nzoneinfo.ZoneInfoNotFoundError(??)\nzoneinfo.available_timezones(??)\nzoneinfo.reset_tzpath(??)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/AnsiDocumentIterator.h",
    "content": "﻿// This file is part of Notepad-- project\r\n// Copyright (C) 2023 Notepad-- authors.\r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// at your option any later version.\r\n//\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n// GNU General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n#ifndef ANSIDOCUMENTITERATOR_H_12481491281240\r\n#define ANSIDOCUMENTITERATOR_H_12481491281240\r\n\r\n#include \"Position.h\"\r\n\r\nnamespace Scintilla {\r\n\r\nclass AnsiDocumentIterator\r\n{\r\npublic:\r\n\tusing iterator_category = std::bidirectional_iterator_tag;\r\n\tusing value_type = char;\r\n\tusing difference_type = ptrdiff_t;\r\n\tusing pointer = char*;\r\n\tusing reference = char&;\r\n\r\n\tAnsiDocumentIterator() {};\r\n\r\n\tAnsiDocumentIterator(Document* doc, Sci::Position pos, Sci::Position end) :\r\n\t\tm_pos(pos),\r\n\t\tm_end(end),\r\n\t\tm_doc(doc)\r\n\t{\r\n\t\t// Check for debug builds\r\n\t\tPLATFORM_ASSERT(m_pos <= m_end);\r\n\r\n\t\t// Ensure for release.\r\n\t\tif (m_pos > m_end)\r\n\t\t{\r\n\t\t\tm_pos = m_end;\r\n\t\t}\r\n\t}\r\n\r\n\tAnsiDocumentIterator(const AnsiDocumentIterator& copy) :\r\n\t\tm_pos(copy.m_pos),\r\n\t\tm_end(copy.m_end),\r\n\t\tm_doc(copy.m_doc)\r\n\r\n\t{\r\n\t\t// Check for debug builds\r\n\t\tPLATFORM_ASSERT(m_pos <= m_end);\r\n\r\n\t\t// Ensure for release.\r\n\t\tif (m_pos > m_end)\r\n\t\t{\r\n\t\t\tm_pos = m_end;\r\n\t\t}\r\n\t}\r\n\r\n\tbool operator == (const AnsiDocumentIterator& other) const\r\n\t{\r\n\t\treturn (ended() == other.ended()) && (m_doc == other.m_doc) && (m_pos == other.m_pos);\r\n\t}\r\n\r\n\tbool operator != (const AnsiDocumentIterator& other) const\r\n\t{\r\n\t\treturn !(*this == other);\r\n\t}\r\n\r\n\tchar operator * () const\r\n\t{\r\n\t\treturn charAt(m_pos);\r\n\t}\r\n\r\n\tAnsiDocumentIterator& operator ++ ()\r\n\t{\r\n\t\tPLATFORM_ASSERT(m_pos < m_end);\r\n\r\n\t\tm_pos++;\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tAnsiDocumentIterator& operator -- ()\r\n\t{\r\n\t\tm_pos--;\r\n\t\treturn *this;\r\n\t}\r\n\r\n\tSci::Position pos() const\r\n\t{\r\n\t\treturn m_pos;\r\n\t}\r\n\r\nprivate:\r\n\tchar charAt(Sci::Position position) const\r\n\t{\r\n\t\treturn m_doc->CharAt(position);\r\n\t}\r\n\r\n\tbool ended() const\r\n\t{\r\n\t\treturn m_pos == m_end;\r\n\t}\r\n\r\n\tSci::Position m_pos = 0;\r\n\tSci::Position m_end = 0;\r\n\tDocument* m_doc = nullptr;\r\n};\r\n}\r\n\r\n#endif"
  },
  {
    "path": "src/qscint/scintilla/boostregex/BoostRegExSearch.cpp",
    "content": "﻿/**\r\n * Copyright (c) since 2009 Simon Steele - http://untidy.net/\r\n * Based on the work of Simon Steele for Programmer's Notepad 2 (http://untidy.net)\r\n * Converted from boost::xpressive to boost::regex and performance improvements \r\n * (principally caching the compiled regex), and support for UTF8 encoded text\r\n * (c) 2012 Dave Brotherstone - Changes for boost::regex\r\n * (c) 2013 Francois-R.Boyer@PolyMtl.ca - Empty match modes and best match backward search\r\n * (c) 2019 Don Ho - Adapt for upgrading Scitilla (to version 4.1.4) and boost (to version 1.70)\r\n * (c) 2022 zuowei yin - Upgrading QScitilla and boost\r\n */\r\n\r\n#include <stdlib.h>\r\n#include <vector>\r\n#include <memory>\r\n#include <stdexcept>\r\n#include \"Scintilla.h\"\r\n#include \"Platform.h\"\r\n#include \"ILoader.h\"\r\n#include \"ILexer.h\"\r\n#include \"Position.h\"\r\n#include \"UniqueString.h\"\r\n#include \"SplitVector.h\"\r\n#include \"Partitioning.h\"\r\n#include \"RunStyles.h\"\r\n#include \"ContractionState.h\"\r\n\r\n#include \"CellBuffer.h\"\r\n#include \"CharClassify.h\"\r\n#include \"Decoration.h\"\r\n#include \"ILexer.h\"\r\n#include \"CaseFolder.h\"\r\n#include \"CharacterCategory.h\"\r\n#include \"Document.h\"\r\n#include \"UniConversion.h\"\r\n#include \"UTF8DocumentIterator.h\"\r\n#include \"AnsiDocumentIterator.h\"\r\n#include \"BoostRegexSearch.h\"\r\n#include <boost/regex.hpp>\r\n#include <boost/throw_exception.hpp>\r\n#include \"BoostRegexSearch.h\"\r\n#define CP_UTF8 65001\r\n#define SC_CP_UTF8 65001\r\n\r\nusing namespace Scintilla;\r\nusing namespace boost;\r\n\r\nclass BoostRegexSearch : public RegexSearchBase\r\n{\r\npublic:\r\n\tBoostRegexSearch() : _substituted(NULL) {}\r\n\t\r\n\tvirtual ~BoostRegexSearch()\r\n\t{\r\n\t\tdelete[] _substituted;\r\n\t\t_substituted = NULL;\r\n\t}\r\n\t\r\n\tvirtual Sci::Position FindText(Document* doc, Sci::Position minPos, Sci::Position maxPos, const char *regex,\r\n                        bool caseSensitive, bool word, bool wordStart, int sciSearchFlags, Sci::Position *lengthRet);\r\n\t\r\n\tvirtual const char *SubstituteByPosition(Document* doc, const char *text, Sci::Position *length);\r\n\r\nprivate:\r\n\tclass SearchParameters;\r\n\r\n\tclass Match : private DocWatcher {\r\n\tpublic:\r\n\t\tMatch() : _document(NULL), _documentModified(false), _position(-1), _endPosition(-1), _endPositionForContinuationCheck(-1)  {}\r\n\t\t~Match() { setDocument(NULL); }\r\n\t\tMatch(Document* document, Sci::Position position = -1, Sci::Position endPosition = -1) : _document(NULL) { set(document, position, endPosition); }\r\n\t\tMatch& operator=(Match& m) {\r\n\t\t\tset(m._document, m.position(), m.endPosition());\r\n\t\t\treturn *this;\r\n\t\t}\r\n\t\tMatch& operator=(void* /*nullptr*/) {\r\n\t\t\t_position = -1;\r\n\t\t\treturn *this;\r\n\t\t}\r\n\t\t\r\n\t\tvoid set(Document* document = NULL, Sci::Position position = -1, Sci::Position endPosition = -1) {\r\n\t\t\tsetDocument(document);\r\n\t\t\t_position = position;\r\n\t\t\t_endPositionForContinuationCheck = _endPosition = endPosition;\r\n\t\t\t_documentModified = false;\r\n\t\t}\r\n\t\t\r\n\t\tbool isContinuationSearch(Document* document, Sci::Position startPosition, int direction) {\r\n\t\t\tif (hasDocumentChanged(document))\r\n\t\t\t\treturn false;\r\n\t\t\tif (direction > 0) \r\n\t\t\t\treturn startPosition == _endPositionForContinuationCheck;\r\n\t\t\telse\r\n\t\t\t\treturn startPosition == _position;\r\n\t\t}\r\n\t\tbool isEmpty() {\r\n\t\t\treturn _position == _endPosition;\r\n\t\t}\r\n\t\tSci::Position position() {\r\n\t\t\treturn _position;\r\n\t\t}\r\n\t\tSci::Position endPosition() {\r\n\t\t\treturn _endPosition;\r\n\t\t}\r\n\t\tSci::Position length() {\r\n\t\t\treturn _endPosition - _position;\r\n\t\t}\r\n\t\tint found() {\r\n\t\t\treturn _position >= 0;\r\n\t\t}\r\n\t\t\r\n\tprivate:\r\n\t\tbool hasDocumentChanged(Document* currentDocument) {\r\n\t\t\treturn currentDocument != _document || _documentModified;\r\n\t\t}\r\n\t\tvoid setDocument(Document* newDocument) {\r\n\t\t\tif (newDocument != _document)\r\n\t\t\t{\r\n\t\t\t\tif (_document != NULL)\r\n\t\t\t\t\t_document->RemoveWatcher(this, NULL);\r\n\t\t\t\t_document = newDocument;\r\n\t\t\t\tif (_document != NULL)\r\n\t\t\t\t\t_document->AddWatcher(this, NULL);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t// DocWatcher, so we can track modifications to know if we should consider a search to be a continuation of last search:\r\n\t\tvirtual void NotifyModified(Document* modifiedDocument, DocModification mh, void* /*userData*/)\r\n\t\t{\r\n\t\t\tif (modifiedDocument == _document)\r\n\t\t\t{\r\n\t\t\t\tif (mh.modificationType & (SC_PERFORMED_UNDO | SC_PERFORMED_REDO))\r\n\t\t\t\t\t_documentModified = true;\r\n\t\t\t\t// Replacing last found text should not make isContinuationSearch return false.\r\n\t\t\t\telse if (mh.modificationType & SC_MOD_DELETETEXT)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (mh.position == position() && mh.length == length()) // Deleting what we last found.\r\n\t\t\t\t\t\t_endPositionForContinuationCheck = _position;\r\n\t\t\t\t\telse _documentModified = true;\r\n\t\t\t\t}\r\n\t\t\t\telse if (mh.modificationType & SC_MOD_INSERTTEXT)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (mh.position == position() && position() == _endPositionForContinuationCheck) // Replace at last found position.\r\n\t\t\t\t\t\t_endPositionForContinuationCheck += mh.length;\r\n\t\t\t\t\telse _documentModified = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvirtual void NotifyDeleted(Document* deletedDocument, void* /*userData*/) noexcept\r\n\t\t{\r\n\t\t\tif (deletedDocument == _document)\r\n\t\t\t{\r\n\t\t\t\t// We set the _document here, as we don't want to call the RemoveWatcher on this deleted document. \r\n\t\t\t\t// Calling RemoveWatcher inside NotifyDeleted results in a crash, as NotifyDeleted is called whilst\r\n\t\t\t\t// iterating on the watchers list (since Scintilla 3.x).  Before 3.x, it was just a really bad idea.\r\n\t\t\t\t_document = NULL;\r\n\t\t\t\tset(NULL);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvirtual void NotifyModifyAttempt(Document* /*document*/, void* /*userData*/) {}\r\n\t\tvirtual void NotifySavePoint(Document* /*document*/, void* /*userData*/, bool /*atSavePoint*/) {}\r\n\t\tvirtual void NotifyStyleNeeded(Document* /*document*/, void* /*userData*/, Sci::Position /*endPos*/) {}\r\n\t\tvirtual void NotifyLexerChanged(Document* /*document*/, void* /*userData*/) {}\r\n\t\tvirtual void NotifyErrorOccurred(Document* /*document*/, void* /*userData*/, int /*status*/) {}\r\n\t\t\r\n\t\tDocument* _document;\r\n\t\tbool _documentModified;\r\n\t\tSci::Position _position, _endPosition;\r\n\t\tSci::Position _endPositionForContinuationCheck;\r\n\t};\r\n\t\r\n\tclass CharTPtr { // Automatically translatable from utf8 to wchar_t*, if required, with allocation and deallocation on destruction; char* is not deallocated.\r\n\tpublic:\r\n\t\tCharTPtr(const char* ptr) : _charPtr(ptr), _wcharPtr(NULL) {}\r\n\t\t~CharTPtr() {\r\n\t\t\tdelete[] _wcharPtr;\r\n\t\t}\r\n\t\toperator const char*() {\r\n\t\t\treturn _charPtr;\r\n\t\t}\r\n\t\toperator const wchar_t*() {\r\n\t\t\tif (_wcharPtr == NULL)\r\n\t\t\t\t_wcharPtr = utf8ToWchar(_charPtr);\r\n\t\t\treturn _wcharPtr;\r\n\t\t}\r\n\tprivate:\r\n\t\tconst char* _charPtr;\r\n\t\twchar_t* _wcharPtr;\r\n\t};\r\n\r\n\ttemplate <class CharT, class CharacterIterator>\r\n\tclass EncodingDependent {\r\n\tpublic:\r\n\t\tEncodingDependent() : _lastCompileFlags(-1) {}\r\n\t\tvoid compileRegex(const char *regex, const int compileFlags);\r\n\t\tMatch FindText(SearchParameters& search);\r\n\t\tchar *SubstituteByPosition(const char *text, Sci::Position *length);\r\n\tprivate:\r\n\t\tMatch FindTextForward(SearchParameters& search);\r\n\t\tMatch FindTextBackward(SearchParameters& search);\r\n\r\n\tpublic:\r\n\t\ttypedef CharT Char;\r\n\t\ttypedef basic_regex<CharT> Regex;\r\n\t\ttypedef match_results<CharacterIterator> MatchResults;\r\n\t\t\r\n\t\tMatchResults _match;\r\n\tprivate:\r\n\t\tRegex _regex;\r\n\t\tstd::string _lastRegexString;\r\n\t\tint _lastCompileFlags;\r\n\t};\r\n\t\r\n\tclass SearchParameters {\r\n\tpublic:\r\n\t\tSci::Position nextCharacter(Sci::Position position);\r\n\t\tbool isLineStart(Sci::Position position);\r\n\t\tbool isLineEnd(Sci::Position position);\r\n\t\t\r\n\t\tDocument* _document;\r\n\t\tconst char *_regexString;\r\n\t\tint _compileFlags;\r\n\t\tSci::Position _startPosition;\r\n\t\tSci::Position _endPosition;\r\n\t\tregex_constants::match_flag_type _boostRegexFlags;\r\n\t\tint _direction;\r\n\t\tbool _is_allowed_empty;\r\n\t\tbool _is_allowed_empty_at_start_position;\r\n\t\tbool _skip_windows_line_end_as_one_character;\r\n\t};\r\n\t\r\n\tstatic wchar_t *utf8ToWchar(const char *utf8);\r\n\tstatic char    *wcharToUtf8(const wchar_t *w);\r\n\tstatic char    *stringToCharPtr(const std::string& str);\r\n\tstatic char    *stringToCharPtr(const std::wstring& str);\r\n\t\r\n\tEncodingDependent<char,    AnsiDocumentIterator> _ansi;\r\n\tEncodingDependent<wchar_t, UTF8DocumentIterator> _utf8;\r\n\t\r\n\tchar *_substituted;\r\n\t\r\n\tMatch _lastMatch;\r\n\tint _lastDirection;\r\n};\r\n\r\nnamespace Scintilla\r\n{\r\n\r\nRegexSearchBase *CreateRegexSearch()\r\n{\r\n\treturn new BoostRegexSearch();\r\n}\r\n\r\n}\r\n\r\nstd::string g_exceptionMessage;\r\n\r\n/**\r\n * Find text in document, supporting both forward and backward\r\n * searches (just pass startPosition > endPosition to do a backward search).\r\n */\r\n\r\nSci::Position BoostRegexSearch::FindText(Document* doc, Sci::Position startPosition, Sci::Position endPosition, const char *regexString,\r\n                        bool caseSensitive, bool /*word*/, bool /*wordStart*/, int sciSearchFlags, Sci::Position *lengthRet) \r\n{\r\n\tg_exceptionMessage.clear();\r\n\ttry {\r\n\t\tSearchParameters search;\r\n\t\t\r\n\t\tsearch._document = doc;\r\n\t\t\r\n\t\tif (startPosition > endPosition\r\n\t\t\t|| (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).\r\n\t\t{\r\n\t\t\tsearch._startPosition = endPosition;\r\n\t\t\tsearch._endPosition = startPosition;\r\n\t\t\tsearch._direction = -1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsearch._startPosition = startPosition;\r\n\t\t\tsearch._endPosition = endPosition;\r\n\t\t\tsearch._direction = 1;\r\n\t\t}\r\n\t\t_lastDirection = search._direction;\r\n\r\n\t\t// Range endpoints should not be inside DBCS characters, but just in case, move them.\r\n\t\tsearch._startPosition = doc->MovePositionOutsideChar(search._startPosition, 1, false);\r\n\t\tsearch._endPosition = doc->MovePositionOutsideChar(search._endPosition, 1, false);\r\n\t\t\r\n\t\tconst bool isUtf8 = (doc->CodePage() == SC_CP_UTF8);\r\n\t\tsearch._compileFlags = \r\n\t\t\tregex_constants::ECMAScript\r\n\t\t\t| (caseSensitive ? 0 : regex_constants::icase);\r\n\t\tsearch._regexString = regexString;\r\n\t\tsearch._boostRegexFlags = \r\n\t\t\t((sciSearchFlags & SCFIND_REGEXP_DOTMATCHESNL) ? regex_constants::match_default : regex_constants::match_not_dot_newline);\r\n\t\t\r\n\t\tconst int empty_match_style = sciSearchFlags & SCFIND_REGEXP_EMPTYMATCH_MASK;\r\n\t\tconst int allow_empty_at_start = sciSearchFlags & SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART;\r\n\r\n\t\tsearch._is_allowed_empty = empty_match_style != SCFIND_REGEXP_EMPTYMATCH_NONE;\r\n\t\tsearch._is_allowed_empty_at_start_position = search._is_allowed_empty && \r\n\t\t\t(allow_empty_at_start\r\n\t\t\t|| !_lastMatch.isContinuationSearch(doc, startPosition, search._direction)\r\n\t\t\t|| (empty_match_style == SCFIND_REGEXP_EMPTYMATCH_ALL && !_lastMatch.isEmpty())\t// If last match is empty and this is a continuation, then we would have same empty match at start position, if it was allowed.\r\n\t\t\t);\r\n\t\tsearch._skip_windows_line_end_as_one_character = (sciSearchFlags & SCFIND_REGEXP_SKIPCRLFASONE) != 0;\r\n\t\t\r\n\t\tMatch match =\r\n\t\t\tisUtf8 ? _utf8.FindText(search)\r\n\t\t\t       : _ansi.FindText(search);\r\n\r\n\t\tif (match.found())\r\n\t\t{\r\n\t\t\t*lengthRet = match.length();\r\n\t\t\t_lastMatch = match;\r\n\t\t\treturn match.position();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t_lastMatch = NULL;\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n\r\n\tcatch(regex_error& ex)\r\n\t{\r\n\t\t// -1 is normally used for not found, -2 is used here for invalid regex\r\n\t\tg_exceptionMessage = ex.what();\r\n\t\treturn -2;\r\n\t}\r\n\r\n\tcatch(boost::wrapexcept<std::runtime_error>& ex)\r\n\t{\r\n\t\tg_exceptionMessage = ex.what();\r\n\t\treturn -3;\r\n\t}\r\n\r\n\tcatch(...)\r\n\t{\r\n\t\tg_exceptionMessage = \"Unexpected exception while searching\";\r\n\t\treturn -3;\r\n\t}\r\n}\r\n\r\ntemplate <class CharT, class CharacterIterator>\r\nBoostRegexSearch::Match BoostRegexSearch::EncodingDependent<CharT, CharacterIterator>::FindText(SearchParameters& search)\r\n{\r\n\tcompileRegex(search._regexString, search._compileFlags);\r\n\treturn (search._direction > 0)\r\n\t\t? FindTextForward(search)\r\n\t\t: FindTextBackward(search);\r\n}\r\n\r\ntemplate <class CharT, class CharacterIterator>\r\nBoostRegexSearch::Match BoostRegexSearch::EncodingDependent<CharT, CharacterIterator>::FindTextForward(SearchParameters& search)\r\n{\r\n\tCharacterIterator endIterator(search._document, search._endPosition, search._endPosition);\r\n\tCharacterIterator baseIterator(search._document, 0, search._endPosition);\r\n\tSci::Position next_search_from_position = search._startPosition;\r\n\tbool found = false;\r\n\tbool match_is_valid = false;\r\n\tdo {\r\n\t\tconst bool end_reached = next_search_from_position > search._endPosition;\r\n\t\tfound = !end_reached && boost::regex_search(CharacterIterator(search._document, next_search_from_position, search._endPosition), endIterator, _match, _regex, search._boostRegexFlags, baseIterator);\r\n\t\tif (found) {\r\n\t\t\tconst Sci::Position  position = _match[0].first.pos();\r\n\t\t\tconst Sci::Position  length   = _match[0].second.pos() - position;\r\n\t\t\tconst bool match_is_non_empty    = length != 0;\r\n\t\t\tconst bool is_allowed_empty_here = search._is_allowed_empty && (search._is_allowed_empty_at_start_position || position > search._startPosition);\r\n\t\t\tmatch_is_valid = match_is_non_empty || is_allowed_empty_here;\r\n\t\t\tif (!match_is_valid)\r\n\t\t\t\tnext_search_from_position = search.nextCharacter(position);\r\n\t\t}\r\n\t} while (found && !match_is_valid);\r\n\tif (found)\r\n\t\treturn Match(search._document, _match[0].first.pos(), _match[0].second.pos());\r\n\telse\r\n\t\treturn Match();\r\n}\r\n\r\ntemplate <class CharT, class CharacterIterator>\r\nBoostRegexSearch::Match BoostRegexSearch::EncodingDependent<CharT, CharacterIterator>::FindTextBackward(SearchParameters& search)\r\n{\r\n\t// 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)).\r\n\t//NOTE: Maybe we should cache results. Maybe we could reverse regex to do a real backward search, for simple regex.\r\n\tsearch._direction = 1;\r\n\tconst bool is_allowed_empty_at_end_position = search._is_allowed_empty_at_start_position;\r\n\tsearch._is_allowed_empty_at_start_position = search._is_allowed_empty;\r\n\t\r\n\tMatchResults bestMatch;\r\n\tSci::Position bestPosition = -1;\r\n\tSci::Position bestEnd = -1;\r\n\tfor (;;) {\r\n\t\tMatch matchRange = FindText(search);\r\n\t\tif (!matchRange.found())\r\n\t\t\tbreak;\r\n\t\tSci::Position position = matchRange.position();\r\n\t\tSci::Position endPosition = matchRange.endPosition();\r\n\t\tif (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).\r\n\t\t{\r\n\t\t\tbestMatch = _match;\r\n\t\t\tbestPosition = position;\r\n\t\t\tbestEnd = endPosition;\r\n\t\t}\r\n\t\tsearch._startPosition = search.nextCharacter(position);\r\n\t}\r\n\tif (bestPosition >= 0)\r\n\t\treturn Match(search._document, bestPosition, bestEnd);\r\n\telse\r\n\t\treturn Match();\r\n}\r\n\r\ntemplate <class CharT, class CharacterIterator>\r\nvoid BoostRegexSearch::EncodingDependent<CharT, CharacterIterator>::compileRegex(const char *regex, const int compileFlags)\r\n{\r\n\tif (_lastCompileFlags != compileFlags || _lastRegexString != regex)\r\n\t{\r\n\t\t_regex = Regex(CharTPtr(regex), static_cast<regex_constants::syntax_option_type>(compileFlags));\r\n\t\t_lastRegexString = regex;\r\n\t\t_lastCompileFlags = compileFlags;\r\n\t}\r\n}\r\n\r\nSci::Position BoostRegexSearch::SearchParameters::nextCharacter(Sci::Position position)\r\n{\r\n\tif (_skip_windows_line_end_as_one_character && _document->CharAt(position) == '\\r' && _document->CharAt(position+1) == '\\n')\r\n\t\treturn position + 2;\r\n\telse\r\n\t\treturn position + 1;\r\n}\r\n\r\nbool BoostRegexSearch::SearchParameters::isLineStart(Sci::Position position)\r\n{\r\n\treturn (position == 0)\r\n\t\t|| _document->CharAt(position-1) == '\\n'\r\n\t\t|| (_document->CharAt(position-1) == '\\r' && _document->CharAt(position) != '\\n');\r\n}\r\n\r\nbool BoostRegexSearch::SearchParameters::isLineEnd(Sci::Position position)\r\n{\r\n\treturn (position == _document->Length())\r\n\t\t|| _document->CharAt(position) == '\\r'\r\n\t\t|| (_document->CharAt(position) == '\\n' && (position == 0 || _document->CharAt(position-1) != '\\n'));\r\n}\r\n\r\nconst char *BoostRegexSearch::SubstituteByPosition(Document* doc, const char *text, Sci::Position *length) {\r\n\tdelete[] _substituted;\r\n\t_substituted = (doc->CodePage() == SC_CP_UTF8)\r\n\t\t? _utf8.SubstituteByPosition(text, length)\r\n\t\t: _ansi.SubstituteByPosition(text, length);\r\n\treturn _substituted;\r\n}\r\n\r\ntemplate <class CharT, class CharacterIterator>\r\nchar *BoostRegexSearch::EncodingDependent<CharT, CharacterIterator>::SubstituteByPosition(const char *text, Sci::Position *length) {\r\n\tchar *substituted = stringToCharPtr(_match.format((const CharT*)CharTPtr(text), boost::format_all));\r\n\t*length = static_cast<int>(strlen(substituted));\r\n\treturn substituted;\r\n}\r\n\r\nwchar_t *BoostRegexSearch::utf8ToWchar(const char *utf8)\r\n{\r\n\tsize_t utf8Size = strlen(utf8);\r\n\tstd::string s(utf8, utf8Size);\r\n\tsize_t wcharSize = UTF16Length(utf8,utf8Size);\r\n\twchar_t *w = new wchar_t[wcharSize + 1];\r\n\tUTF16FromUTF8(utf8, utf8Size, w, wcharSize + 1);\r\n\tw[wcharSize] = 0;\r\n\treturn w;\r\n}\r\n\r\nchar *BoostRegexSearch::wcharToUtf8(const wchar_t *w)\r\n{\r\n\tint wcharSize = static_cast<int>(wcslen(w));\r\n\tstd::wstring ws(w);\r\n\tsize_t charSize = UTF8Length(w,wcharSize);\r\n\tchar *c = new char[charSize + 1];\r\n\tUTF8FromUTF16(w, wcharSize, c, charSize);\r\n\tc[charSize] = 0;\r\n\treturn c;\r\n}\r\n\r\nchar *BoostRegexSearch::stringToCharPtr(const std::string& str)\r\n{\r\n\tchar *charPtr = new char[str.length() + 1];\r\n\tstrcpy(charPtr, str.c_str());\r\n\treturn charPtr;\r\n}\r\nchar *BoostRegexSearch::stringToCharPtr(const std::wstring& str)\r\n{\r\n\treturn wcharToUtf8(str.c_str());\r\n}\r\n\r\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/UTF8DocumentIterator.cpp",
    "content": "﻿// This file is part of Notepad-- project\r\n// Copyright (C) 2023 Notepad-- authors.\r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// at your option any later version.\r\n//\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n// GNU General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n#include \"UTF8DocumentIterator.h\"\r\n#include <stdexcept>\r\n\r\n#include \"ILoader.h\"\r\n#include \"ILexer.h\"\r\n#include \"Scintilla.h\"\r\n#include \"Platform.h\"\r\n\r\n#include \"CharacterCategory.h\"\r\n#include \"Position.h\"\r\n#include \"SplitVector.h\"\r\n#include \"Partitioning.h\"\r\n#include \"RunStyles.h\"\r\n#include \"CellBuffer.h\"\r\n#include \"CharClassify.h\"\r\n#include \"Decoration.h\"\r\n#include \"CaseFolder.h\"\r\n#include \"Document.h\"\r\n\r\nusing namespace Scintilla;\r\n\r\nUTF8DocumentIterator::UTF8DocumentIterator(Document* doc, Sci::Position pos, Sci::Position end) :\r\n\t\t\t\tm_pos(pos),\r\n\t\t\t\tm_end(end),\r\n\t\t\t\tm_characterIndex(0),\r\n\t\t\t\tm_doc(doc)\r\n{\r\n\t\t// Check for debug builds\r\n\t\tPLATFORM_ASSERT(m_pos <= m_end);\r\n\r\n\t\t// Ensure for release.\r\n\t\tif (m_pos > m_end)\r\n\t\t{\r\n\t\t\t\tm_pos = m_end;\r\n\t\t}\r\n\t\treadCharacter();\r\n}\r\n\r\nUTF8DocumentIterator::UTF8DocumentIterator(const UTF8DocumentIterator& copy) :\r\n\t\tm_pos(copy.m_pos),\r\n\t\tm_end(copy.m_end),\r\n\t\tm_characterIndex(copy.m_characterIndex),\r\n\t\tm_utf8Length(copy.m_utf8Length),\r\n\t\tm_utf16Length(copy.m_utf16Length),\r\n\t\tm_doc(copy.m_doc)\r\n{\r\n\t\t// Check for debug builds\r\n\t\tPLATFORM_ASSERT(m_pos <= m_end);\r\n\t\tm_character[0] = copy.m_character[0];\r\n\t\tm_character[1] = copy.m_character[1];\r\n\r\n\t\t// Ensure for release.\r\n\t\tif (m_pos > m_end)\r\n\t\t{\r\n\t\t\t\tm_pos = m_end;\r\n\t\t}\r\n}\r\n\r\nUTF8DocumentIterator& UTF8DocumentIterator::operator ++ ()\r\n{\r\n\tPLATFORM_ASSERT(m_pos < m_end);\r\n\tif (m_utf16Length == 2 && m_characterIndex == 0)\r\n\t{\r\n\t\tm_characterIndex = 1;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tm_pos += m_utf8Length;\r\n\r\n\t\tif (m_pos > m_end)\r\n\t\t{\r\n\t\t\tm_pos = m_end;\r\n\t\t}\r\n\t\tm_characterIndex = 0;\r\n\t\treadCharacter();\r\n\t}\r\n\treturn *this;\r\n}\r\n\r\nUTF8DocumentIterator& UTF8DocumentIterator::operator -- ()\r\n{\r\n\tif (m_utf16Length == 2 && m_characterIndex == 1)\r\n\t{\r\n\t\tm_characterIndex = 0;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t--m_pos;\r\n\t\t// Skip past the UTF-8 extension bytes\r\n\t\twhile (0x80 == (m_doc->CharAt(m_pos) & 0xC0) && m_pos > 0)\r\n\t\t\t--m_pos;\r\n\r\n\t\treadCharacter();\r\n\t\tif (m_utf16Length == 2)\r\n\t\t{\r\n\t\t\tm_characterIndex = 1;\r\n\t\t}\r\n\t}\r\n\treturn *this;\r\n}\r\n\r\nvoid UTF8DocumentIterator::readCharacter()\r\n{\r\n\tunsigned char currentChar = m_doc->CharAt(m_pos);\r\n\tif (currentChar & 0x80)\r\n\t{\r\n\t\tint mask = 0x40;\r\n\t\tint nBytes = 1;\r\n\r\n\t\tdo\r\n\t\t{\r\n\t\t\tmask >>= 1;\r\n\t\t\t++nBytes;\r\n\t\t} while (currentChar & mask);\r\n\r\n\t\tint result = currentChar & m_firstByteMask[nBytes];\r\n\t\tSci::Position pos = m_pos;\r\n\t\tm_utf8Length = 1;\r\n\t\t// work out the unicode point, and count the actual bytes.\r\n\t\t// If a byte does not start with 10xxxxxx then it's not part of the\r\n\t\t// the code. Therefore invalid UTF-8 encodings are dealt with, simply by stopping when\r\n\t\t// the UTF8 extension bytes are no longer valid.\r\n\t\twhile ((--nBytes) && (pos < m_end) && (0x80 == ((currentChar = m_doc->CharAt(++pos)) & 0xC0)))\r\n\t\t{\r\n\t\t\tresult = (result << 6) | (currentChar & 0x3F);\r\n\t\t\t++m_utf8Length;\r\n\t\t}\r\n\r\n\t\tif (result >= 0x10000)\r\n\t\t{\r\n\t\t\tresult -= 0x10000;\r\n\t\t\tm_utf16Length = 2;\r\n\t\t\t// UTF-16 Pair\r\n\t\t\tm_character[0] = static_cast<wchar_t>(0xD800 + (result >> 10));\r\n\t\t\tm_character[1] = static_cast<wchar_t>(0xDC00 + (result & 0x3FF));\r\n\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tm_utf16Length = 1;\r\n\t\t\tm_character[0] = static_cast<wchar_t>(result);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tm_utf8Length = 1;\r\n\t\tm_utf16Length = 1;\r\n\t\tm_characterIndex = 0;\r\n\t\tm_character[0] = static_cast<wchar_t>(currentChar);\r\n\t}\r\n}\r\n\r\n\r\nconst unsigned char UTF8DocumentIterator::m_firstByteMask[7] = { 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01 };\r\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/UTF8DocumentIterator.h",
    "content": "﻿// This file is part of Notepad-- project\r\n// Copyright (C) 2023 Notepad-- authors. \r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// at your option any later version.\r\n//\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n// GNU General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n#ifndef UTF8DOCUMENTITERATOR_H_3452843291318441149\r\n#define UTF8DOCUMENTITERATOR_H_3452843291318441149\r\n\r\n#include <stdlib.h>\r\n#include <vector>\r\n#include <memory>\r\n#include \"Position.h\"\r\n\r\nnamespace Scintilla {\r\n\r\nclass Document;\r\n\r\nclass UTF8DocumentIterator\r\n{\r\npublic:\r\n\tusing iterator_category = std::bidirectional_iterator_tag;\r\n\tusing value_type = wchar_t;\r\n\tusing difference_type = ptrdiff_t;\r\n\tusing pointer = wchar_t*;\r\n\tusing reference = wchar_t&;\r\n\r\n\tUTF8DocumentIterator() {};\r\n\r\n\tUTF8DocumentIterator(Document* doc, Sci::Position pos, Sci::Position end);\r\n\tUTF8DocumentIterator(const UTF8DocumentIterator& copy);\r\n\r\n\tbool operator == (const UTF8DocumentIterator& other) const\r\n\t{\r\n\t\treturn (ended() == other.ended()) && (m_doc == other.m_doc) && (m_pos == other.m_pos);\r\n\t}\r\n\r\n\tbool operator != (const UTF8DocumentIterator& other) const\r\n\t{\r\n\t\treturn !(*this == other);\r\n\t}\r\n\r\n\twchar_t operator * () const\r\n\t{\r\n\t\treturn m_character[m_characterIndex];\r\n\t}\r\n\r\n\tUTF8DocumentIterator& operator = (Sci::Position other)\r\n\t{\r\n\t\tm_pos = other;\r\n\t\treturn *this;\r\n\t}\r\n\r\n\t\tUTF8DocumentIterator& operator ++ ();\r\n\t\tUTF8DocumentIterator& operator -- ();\r\n\r\n\tSci::Position pos() const\r\n\t{\r\n\t\treturn m_pos;\r\n\t}\r\n\r\nprivate:\r\n\tvoid readCharacter();\r\n\r\n\r\n\tbool ended() const\r\n\t{\r\n\t\treturn m_pos >= m_end;\r\n\t}\r\n\r\n\tSci::Position m_pos = 0;\r\n\twchar_t m_character[2];\r\n\tSci::Position m_end = 0;\r\n\tint m_characterIndex = 0;\r\n\tint m_utf8Length = 0;\r\n\tint m_utf16Length = 0;\r\n\tDocument* m_doc = nullptr;\r\n\tstatic const unsigned char m_firstByteMask[];\r\n};\r\n\r\n}\r\n\r\n#endif // UTF8DOCUMENTITERATOR_H_3452843291318441149\r\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/assert/source_location.hpp",
    "content": "#ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED\n#define BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED\n\n// http://www.boost.org/libs/assert\n//\n// Copyright 2019, 2021 Peter Dimov\n// Distributed under the Boost Software License, Version 1.0.\n// http://www.boost.org/LICENSE_1_0.txt\n\n#include <boost/current_function.hpp>\n#include <boost/config.hpp>\n#include <boost/cstdint.hpp>\n#include <iosfwd>\n#include <string>\n#include <cstdio>\n\nnamespace boost\n{\n\nstruct source_location\n{\nprivate:\n\n    char const * file_;\n    char const * function_;\n    boost::uint_least32_t line_;\n    boost::uint_least32_t column_;\n\npublic:\n\n    BOOST_CONSTEXPR source_location() BOOST_NOEXCEPT: file_( \"(unknown)\" ), function_( \"(unknown)\" ), line_( 0 ), column_( 0 )\n    {\n    }\n\n    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 )\n    {\n    }\n\n    BOOST_CONSTEXPR char const * file_name() const BOOST_NOEXCEPT\n    {\n        return file_;\n    }\n\n    BOOST_CONSTEXPR char const * function_name() const BOOST_NOEXCEPT\n    {\n        return function_;\n    }\n\n    BOOST_CONSTEXPR boost::uint_least32_t line() const BOOST_NOEXCEPT\n    {\n        return line_;\n    }\n\n    BOOST_CONSTEXPR boost::uint_least32_t column() const BOOST_NOEXCEPT\n    {\n        return column_;\n    }\n\n#if defined(BOOST_MSVC)\n# pragma warning( push )\n# pragma warning( disable: 4996 )\n#endif\n\n    std::string to_string() const\n    {\n        if( line() == 0 )\n        {\n            return \"(unknown source location)\";\n        }\n\n        std::string r = file_name();\n\n        char buffer[ 16 ];\n\n        std::sprintf( buffer, \":%ld\", static_cast<long>( line() ) );\n        r += buffer;\n\n        if( column() )\n        {\n            std::sprintf( buffer, \":%ld\", static_cast<long>( column() ) );\n            r += buffer;\n        }\n\n        r += \" in function '\";\n        r += function_name();\n        r += '\\'';\n\n        return r;\n    }\n\n#if defined(BOOST_MSVC)\n# pragma warning( pop )\n#endif\n\n};\n\ntemplate<class E, class T> std::basic_ostream<E, T> & operator<<( std::basic_ostream<E, T> & os, source_location const & loc )\n{\n    os << loc.to_string();\n    return os;\n}\n\n} // namespace boost\n\n#if defined( BOOST_DISABLE_CURRENT_LOCATION )\n\n#  define BOOST_CURRENT_LOCATION ::boost::source_location()\n\n#elif defined(__clang_analyzer__)\n\n// Cast to char const* to placate clang-tidy\n// https://bugs.llvm.org/show_bug.cgi?id=28480\n#  define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, static_cast<char const*>(BOOST_CURRENT_FUNCTION))\n\n#else\n\n#  define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, BOOST_CURRENT_FUNCTION)\n\n#endif\n\n#endif // #ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/abi/borland_prefix.hpp",
    "content": "//  (C) Copyright John Maddock 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  for C++ Builder the following options effect the ABI:\n//\n//  -b (on or off - effect emum sizes)\n//  -Vx  (on or off - empty members)\n//  -Ve (on or off - empty base classes)\n//  -aX (alignment - 5 options).\n//  -pX (Calling convention - 4 options)\n//  -VmX (member pointer size and layout - 5 options)\n//  -VC (on or off, changes name mangling)\n//  -Vl (on or off, changes struct layout).\n\n//  In addition the following warnings are sufficiently annoying (and\n//  unfixable) to have them turned off by default:\n//\n//  8027 - functions containing [for|while] loops are not expanded inline\n//  8026 - functions taking class by value arguments are not expanded inline\n\n#pragma nopushoptwarn\n#  pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/abi/borland_suffix.hpp",
    "content": "//  (C) Copyright John Maddock 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#  pragma option pop\n#pragma nopushoptwarn\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/abi/msvc_prefix.hpp",
    "content": "//  (C) Copyright John Maddock 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//\n// Boost binaries are built with the compiler's default ABI settings,\n// if the user changes their default alignment in the VS IDE then their\n// code will no longer be binary compatible with the bjam built binaries\n// unless this header is included to force Boost code into a consistent ABI.\n//\n// Note that inclusion of this header is only necessary for libraries with \n// separate source, header only libraries DO NOT need this as long as all\n// translation units are built with the same options.\n//\n#if defined(_M_X64)\n#  pragma pack(push,16)\n#else\n#  pragma pack(push,8)\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/abi/msvc_suffix.hpp",
    "content": "//  (C) Copyright John Maddock 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#pragma pack(pop)\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/abi_prefix.hpp",
    "content": "//  abi_prefix header  -------------------------------------------------------//\n\n// (c) Copyright John Maddock 2003\n   \n// Use, modification and distribution are subject to the Boost Software License,\n// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\n// http://www.boost.org/LICENSE_1_0.txt).\n\n#ifndef BOOST_CONFIG_ABI_PREFIX_HPP\n# define BOOST_CONFIG_ABI_PREFIX_HPP\n#else\n# error double inclusion of header boost/config/abi_prefix.hpp is an error\n#endif\n\n#include <boost/config.hpp>\n\n// this must occur after all other includes and before any code appears:\n#ifdef BOOST_HAS_ABI_HEADERS\n#  include BOOST_ABI_PREFIX\n#endif\n\n#if defined( BOOST_BORLANDC )\n#pragma nopushoptwarn\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/abi_suffix.hpp",
    "content": "//  abi_sufffix header  -------------------------------------------------------//\n\n// (c) Copyright John Maddock 2003\n   \n// Use, modification and distribution are subject to the Boost Software License,\n// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\n// http://www.boost.org/LICENSE_1_0.txt).\n\n// This header should be #included AFTER code that was preceded by a #include\n// <boost/config/abi_prefix.hpp>.\n\n#ifndef BOOST_CONFIG_ABI_PREFIX_HPP\n# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp\n#else\n# undef BOOST_CONFIG_ABI_PREFIX_HPP\n#endif\n\n// the suffix header occurs after all of our code:\n#ifdef BOOST_HAS_ABI_HEADERS\n#  include BOOST_ABI_SUFFIX\n#endif\n\n#if defined( BOOST_BORLANDC )\n#pragma nopushoptwarn\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/assert_cxx03.hpp",
    "content": "//  This file was automatically generated on Tue Aug 17 16:27:31 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-21.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#include <boost/config.hpp>\n\n#ifdef BOOST_NO_ADL_BARRIER\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_ADL_BARRIER.\"\n#endif\n#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP.\"\n#endif\n#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS.\"\n#endif\n#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION.\"\n#endif\n#ifdef BOOST_NO_CTYPE_FUNCTIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_CTYPE_FUNCTIONS.\"\n#endif\n#ifdef BOOST_NO_CV_SPECIALIZATIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_CV_SPECIALIZATIONS.\"\n#endif\n#ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_CV_VOID_SPECIALIZATIONS.\"\n#endif\n#ifdef BOOST_NO_CWCHAR\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_CWCHAR.\"\n#endif\n#ifdef BOOST_NO_CWCTYPE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_CWCTYPE.\"\n#endif\n#ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS.\"\n#endif\n#ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS.\"\n#endif\n#ifdef BOOST_NO_EXCEPTIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_EXCEPTIONS.\"\n#endif\n#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_EXCEPTION_STD_NAMESPACE.\"\n#endif\n#ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS.\"\n#endif\n#ifdef BOOST_NO_FENV_H\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_FENV_H.\"\n#endif\n#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING.\"\n#endif\n#ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS.\"\n#endif\n#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION.\"\n#endif\n#ifdef BOOST_NO_INTEGRAL_INT64_T\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_INTEGRAL_INT64_T.\"\n#endif\n#ifdef BOOST_NO_INTRINSIC_WCHAR_T\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_INTRINSIC_WCHAR_T.\"\n#endif\n#ifdef BOOST_NO_IOSFWD\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_IOSFWD.\"\n#endif\n#ifdef BOOST_NO_IOSTREAM\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_IOSTREAM.\"\n#endif\n#ifdef BOOST_NO_IS_ABSTRACT\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_IS_ABSTRACT.\"\n#endif\n#ifdef BOOST_NO_LIMITS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_LIMITS.\"\n#endif\n#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS.\"\n#endif\n#ifdef BOOST_NO_LONG_LONG\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_LONG_LONG.\"\n#endif\n#ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS.\"\n#endif\n#ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS.\"\n#endif\n#ifdef BOOST_NO_MEMBER_TEMPLATES\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_MEMBER_TEMPLATES.\"\n#endif\n#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS.\"\n#endif\n#ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD.\"\n#endif\n#ifdef BOOST_NO_NESTED_FRIENDSHIP\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_NESTED_FRIENDSHIP.\"\n#endif\n#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_OPERATORS_IN_NAMESPACE.\"\n#endif\n#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS.\"\n#endif\n#ifdef BOOST_NO_POINTER_TO_MEMBER_CONST\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_CONST.\"\n#endif\n#ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS.\"\n#endif\n#ifdef BOOST_NO_PRIVATE_IN_AGGREGATE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_PRIVATE_IN_AGGREGATE.\"\n#endif\n#ifdef BOOST_NO_RESTRICT_REFERENCES\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_RESTRICT_REFERENCES.\"\n#endif\n#ifdef BOOST_NO_RTTI\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_RTTI.\"\n#endif\n#ifdef BOOST_NO_SFINAE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_SFINAE.\"\n#endif\n#ifdef BOOST_NO_SFINAE_EXPR\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_SFINAE_EXPR.\"\n#endif\n#ifdef BOOST_NO_STDC_NAMESPACE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STDC_NAMESPACE.\"\n#endif\n#ifdef BOOST_NO_STD_ALLOCATOR\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_ALLOCATOR.\"\n#endif\n#ifdef BOOST_NO_STD_DISTANCE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_DISTANCE.\"\n#endif\n#ifdef BOOST_NO_STD_ITERATOR\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_ITERATOR.\"\n#endif\n#ifdef BOOST_NO_STD_ITERATOR_TRAITS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_ITERATOR_TRAITS.\"\n#endif\n#ifdef BOOST_NO_STD_LOCALE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_LOCALE.\"\n#endif\n#ifdef BOOST_NO_STD_MESSAGES\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_MESSAGES.\"\n#endif\n#ifdef BOOST_NO_STD_MIN_MAX\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_MIN_MAX.\"\n#endif\n#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN.\"\n#endif\n#ifdef BOOST_NO_STD_TYPEINFO\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_TYPEINFO.\"\n#endif\n#ifdef BOOST_NO_STD_USE_FACET\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_USE_FACET.\"\n#endif\n#ifdef BOOST_NO_STD_WSTREAMBUF\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_WSTREAMBUF.\"\n#endif\n#ifdef BOOST_NO_STD_WSTRING\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STD_WSTRING.\"\n#endif\n#ifdef BOOST_NO_STRINGSTREAM\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_STRINGSTREAM.\"\n#endif\n#ifdef BOOST_NO_TEMPLATED_IOSTREAMS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TEMPLATED_IOSTREAMS.\"\n#endif\n#ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS.\"\n#endif\n#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION.\"\n#endif\n#ifdef BOOST_NO_TEMPLATE_TEMPLATES\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TEMPLATE_TEMPLATES.\"\n#endif\n#ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TWO_PHASE_NAME_LOOKUP.\"\n#endif\n#ifdef BOOST_NO_TYPEID\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TYPEID.\"\n#endif\n#ifdef BOOST_NO_TYPENAME_WITH_CTOR\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_TYPENAME_WITH_CTOR.\"\n#endif\n#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_UNREACHABLE_RETURN_DETECTION.\"\n#endif\n#ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE.\"\n#endif\n#ifdef BOOST_NO_USING_TEMPLATE\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_USING_TEMPLATE.\"\n#endif\n#ifdef BOOST_NO_VOID_RETURNS\n#  error \"Your compiler appears not to be fully C++03 compliant.  Detected via defect macro BOOST_NO_VOID_RETURNS.\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/assert_cxx11.hpp",
    "content": "//  This file was automatically generated on Tue Aug 17 16:27:31 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-21.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#include <boost/config.hpp>\n#include <boost/config/assert_cxx03.hpp>\n\n#ifdef BOOST_NO_CXX11_ADDRESSOF\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_ADDRESSOF.\"\n#endif\n#ifdef BOOST_NO_CXX11_ALIGNAS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_ALIGNAS.\"\n#endif\n#ifdef BOOST_NO_CXX11_ALLOCATOR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_ALLOCATOR.\"\n#endif\n#ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_AUTO_DECLARATIONS.\"\n#endif\n#ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS.\"\n#endif\n#ifdef BOOST_NO_CXX11_CHAR16_T\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_CHAR16_T.\"\n#endif\n#ifdef BOOST_NO_CXX11_CHAR32_T\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_CHAR32_T.\"\n#endif\n#ifdef BOOST_NO_CXX11_CONSTEXPR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_CONSTEXPR.\"\n#endif\n#ifdef BOOST_NO_CXX11_DECLTYPE\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_DECLTYPE.\"\n#endif\n#ifdef BOOST_NO_CXX11_DECLTYPE_N3276\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_DECLTYPE_N3276.\"\n#endif\n#ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS.\"\n#endif\n#ifdef BOOST_NO_CXX11_DEFAULTED_MOVES\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_DEFAULTED_MOVES.\"\n#endif\n#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_DELETED_FUNCTIONS.\"\n#endif\n#ifdef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS.\"\n#endif\n#ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_EXTERN_TEMPLATE.\"\n#endif\n#ifdef BOOST_NO_CXX11_FINAL\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_FINAL.\"\n#endif\n#ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS.\"\n#endif\n#ifdef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_ARRAY\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_ARRAY.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_ATOMIC\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_ATOMIC.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_CHRONO\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_CHRONO.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_EXCEPTION\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_EXCEPTION.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_FORWARD_LIST.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_FUNCTIONAL.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_FUTURE\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_FUTURE.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_MUTEX\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_MUTEX.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_RANDOM\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_RANDOM.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_RATIO\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_RATIO.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_REGEX\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_REGEX.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_THREAD\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_THREAD.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_TUPLE\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_TUPLE.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_TYPEINDEX\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_TYPEINDEX.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_TYPE_TRAITS.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_MAP.\"\n#endif\n#ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_SET.\"\n#endif\n#ifdef BOOST_NO_CXX11_INLINE_NAMESPACES\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_INLINE_NAMESPACES.\"\n#endif\n#ifdef BOOST_NO_CXX11_LAMBDAS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_LAMBDAS.\"\n#endif\n#ifdef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS.\"\n#endif\n#ifdef BOOST_NO_CXX11_NOEXCEPT\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_NOEXCEPT.\"\n#endif\n#ifdef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS.\"\n#endif\n#ifdef BOOST_NO_CXX11_NULLPTR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_NULLPTR.\"\n#endif\n#ifdef BOOST_NO_CXX11_NUMERIC_LIMITS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_NUMERIC_LIMITS.\"\n#endif\n#ifdef BOOST_NO_CXX11_OVERRIDE\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_OVERRIDE.\"\n#endif\n#ifdef BOOST_NO_CXX11_POINTER_TRAITS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_POINTER_TRAITS.\"\n#endif\n#ifdef BOOST_NO_CXX11_RANGE_BASED_FOR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_RANGE_BASED_FOR.\"\n#endif\n#ifdef BOOST_NO_CXX11_RAW_LITERALS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_RAW_LITERALS.\"\n#endif\n#ifdef BOOST_NO_CXX11_REF_QUALIFIERS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_REF_QUALIFIERS.\"\n#endif\n#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_RVALUE_REFERENCES.\"\n#endif\n#ifdef BOOST_NO_CXX11_SCOPED_ENUMS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_SCOPED_ENUMS.\"\n#endif\n#ifdef BOOST_NO_CXX11_SFINAE_EXPR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_SFINAE_EXPR.\"\n#endif\n#ifdef BOOST_NO_CXX11_SMART_PTR\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_SMART_PTR.\"\n#endif\n#ifdef BOOST_NO_CXX11_STATIC_ASSERT\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_STATIC_ASSERT.\"\n#endif\n#ifdef BOOST_NO_CXX11_STD_ALIGN\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_STD_ALIGN.\"\n#endif\n#ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_TEMPLATE_ALIASES.\"\n#endif\n#ifdef BOOST_NO_CXX11_THREAD_LOCAL\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_THREAD_LOCAL.\"\n#endif\n#ifdef BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES.\"\n#endif\n#ifdef BOOST_NO_CXX11_UNICODE_LITERALS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_UNICODE_LITERALS.\"\n#endif\n#ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX.\"\n#endif\n#ifdef BOOST_NO_CXX11_UNRESTRICTED_UNION\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_UNRESTRICTED_UNION.\"\n#endif\n#ifdef BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_USER_DEFINED_LITERALS.\"\n#endif\n#ifdef BOOST_NO_CXX11_VARIADIC_MACROS\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_VARIADIC_MACROS.\"\n#endif\n#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#  error \"Your compiler appears not to be fully C++11 compliant.  Detected via defect macro BOOST_NO_CXX11_VARIADIC_TEMPLATES.\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/assert_cxx14.hpp",
    "content": "//  This file was automatically generated on Tue Aug 17 16:27:31 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-21.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#include <boost/config.hpp>\n#include <boost/config/assert_cxx11.hpp>\n\n#ifdef BOOST_NO_CXX14_AGGREGATE_NSDMI\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_AGGREGATE_NSDMI.\"\n#endif\n#ifdef BOOST_NO_CXX14_BINARY_LITERALS\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_BINARY_LITERALS.\"\n#endif\n#ifdef BOOST_NO_CXX14_CONSTEXPR\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_CONSTEXPR.\"\n#endif\n#ifdef BOOST_NO_CXX14_DECLTYPE_AUTO\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_DECLTYPE_AUTO.\"\n#endif\n#ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_DIGIT_SEPARATORS.\"\n#endif\n#ifdef BOOST_NO_CXX14_GENERIC_LAMBDAS\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_GENERIC_LAMBDAS.\"\n#endif\n#ifdef BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_HDR_SHARED_MUTEX.\"\n#endif\n#ifdef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES.\"\n#endif\n#ifdef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION.\"\n#endif\n#ifdef BOOST_NO_CXX14_STD_EXCHANGE\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_STD_EXCHANGE.\"\n#endif\n#ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#  error \"Your compiler appears not to be fully C++14 compliant.  Detected via defect macro BOOST_NO_CXX14_VARIABLE_TEMPLATES.\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/assert_cxx17.hpp",
    "content": "//  This file was automatically generated on Tue Aug 17 16:27:31 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-21.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#include <boost/config.hpp>\n#include <boost/config/assert_cxx14.hpp>\n\n#ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_ANY\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_ANY.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_CHARCONV\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_CHARCONV.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_EXECUTION\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_EXECUTION.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_FILESYSTEM\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_FILESYSTEM.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_MEMORY_RESOURCE.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_OPTIONAL\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_OPTIONAL.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_STRING_VIEW.\"\n#endif\n#ifdef BOOST_NO_CXX17_HDR_VARIANT\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_HDR_VARIANT.\"\n#endif\n#ifdef BOOST_NO_CXX17_IF_CONSTEXPR\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_IF_CONSTEXPR.\"\n#endif\n#ifdef BOOST_NO_CXX17_INLINE_VARIABLES\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_INLINE_VARIABLES.\"\n#endif\n#ifdef BOOST_NO_CXX17_ITERATOR_TRAITS\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_ITERATOR_TRAITS.\"\n#endif\n#ifdef BOOST_NO_CXX17_STD_APPLY\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_STD_APPLY.\"\n#endif\n#ifdef BOOST_NO_CXX17_STD_INVOKE\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_STD_INVOKE.\"\n#endif\n#ifdef BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#  error \"Your compiler appears not to be fully C++17 compliant.  Detected via defect macro BOOST_NO_CXX17_STRUCTURED_BINDINGS.\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/assert_cxx20.hpp",
    "content": "//  This file was automatically generated on Tue Aug 17 16:27:31 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-21.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#include <boost/config.hpp>\n#include <boost/config/assert_cxx17.hpp>\n\n#ifdef BOOST_NO_CXX20_HDR_BARRIER\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_BARRIER.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_BIT\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_BIT.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_COMPARE\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_COMPARE.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_CONCEPTS\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_CONCEPTS.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_COROUTINE\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_COROUTINE.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_FORMAT\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_FORMAT.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_LATCH\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_LATCH.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_NUMBERS\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_NUMBERS.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_RANGES\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_RANGES.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_SEMAPHORE\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_SEMAPHORE.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_SOURCE_LOCATION\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_SOURCE_LOCATION.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_SPAN\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_SPAN.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_STOP_TOKEN\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_STOP_TOKEN.\"\n#endif\n#ifdef BOOST_NO_CXX20_HDR_SYNCSTREAM\n#  error \"Your compiler appears not to be fully C++20 compliant.  Detected via defect macro BOOST_NO_CXX20_HDR_SYNCSTREAM.\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/assert_cxx98.hpp",
    "content": "//  This file was automatically generated on Wed Mar  3 08:46:11 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-4.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#include <boost/config.hpp>\n#include <boost/config/assert_cxx17.hpp>\n\n#ifdef BOOST_NO_CXX98_BINDERS\n#  error \"Your compiler appears not to be fully C++98 compliant.  Detected via defect macro BOOST_NO_CXX98_BINDERS.\"\n#endif\n#ifdef BOOST_NO_CXX98_FUNCTION_BASE\n#  error \"Your compiler appears not to be fully C++98 compliant.  Detected via defect macro BOOST_NO_CXX98_FUNCTION_BASE.\"\n#endif\n#ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE\n#  error \"Your compiler appears not to be fully C++98 compliant.  Detected via defect macro BOOST_NO_CXX98_RANDOM_SHUFFLE.\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/auto_link.hpp",
    "content": "//  (C) Copyright John Maddock 2003.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         auto_link.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.\n  */\n\n/*************************************************************************\n\nUSAGE:\n~~~~~~\n\nBefore including this header you must define one or more of define the following macros:\n\nBOOST_LIB_NAME:           Required: A string containing the basename of the library,\n                          for example boost_regex.\nBOOST_LIB_TOOLSET:        Optional: the base name of the toolset.\nBOOST_DYN_LINK:           Optional: when set link to dll rather than static library.\nBOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name\n                          of the library selected (useful for debugging).\nBOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,\n                          rather than a mangled-name version.\nBOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option.\n                          This is essentially the same as the default name-mangled version, but without\n                          the compiler name and version, or the Boost version.  Just the build options.\nBOOST_AUTO_LINK_SYSTEM:   Specifies that we link to libraries built with the --layout=system option.\n                          This is essentially the same as the non-name-mangled version, but with\n                          the prefix to differentiate static and dll builds\n\nThese macros will be undef'ed at the end of the header, further this header\nhas no include guards - so be sure to include it only once from your library!\n\nAlgorithm:\n~~~~~~~~~~\n\nLibraries for Borland and Microsoft compilers are automatically\nselected here, the name of the lib is selected according to the following\nformula:\n\nBOOST_LIB_PREFIX\n   + BOOST_LIB_NAME\n   + \"_\"\n   + BOOST_LIB_TOOLSET\n   + BOOST_LIB_THREAD_OPT\n   + BOOST_LIB_RT_OPT\n   + BOOST_LIB_ARCH_AND_MODEL_OPT\n   \"-\"\n   + BOOST_LIB_VERSION\n   + BOOST_LIB_SUFFIX\n\nThese are defined as:\n\nBOOST_LIB_PREFIX:     \"lib\" for static libraries otherwise \"\".\n\nBOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).\n\nBOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).\n\nBOOST_LIB_THREAD_OPT: \"-mt\" for multithread builds, otherwise nothing.\n\nBOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,\n                      contains one or more of the following letters after\n                      a hyphen:\n\n                      s      static runtime (dynamic if not present).\n                      g      debug/diagnostic runtime (release if not present).\n                      y      Python debug/diagnostic runtime (release if not present).\n                      d      debug build (release if not present).\n                      p      STLport build.\n                      n      STLport build without its IOStreams.\n\nBOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model\n                              (-x32 or -x64 for x86/32 and x86/64 respectively)\n\nBOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.\n\nBOOST_LIB_SUFFIX:     Static/import libraries extension (\".lib\", \".a\") for the compiler.\n\n***************************************************************************/\n\n#ifdef __cplusplus\n#  ifndef BOOST_CONFIG_HPP\n#     include <boost/config.hpp>\n#  endif\n#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)\n//\n// C language compatability (no, honestly)\n//\n#  define BOOST_MSVC _MSC_VER\n#  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)\n#  define BOOST_DO_STRINGIZE(X) #X\n#endif\n//\n// Only include what follows for known and supported compilers:\n//\n#if defined(BOOST_MSVC) \\\n    || defined(BOOST_EMBTC_WINDOWS) \\\n    || defined(BOOST_BORLANDC) \\\n    || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \\\n    || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \\\n    || (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4))\n\n#ifndef BOOST_VERSION_HPP\n#  include <boost/version.hpp>\n#endif\n\n#ifndef BOOST_LIB_NAME\n#  error \"Macro BOOST_LIB_NAME not set (internal error)\"\n#endif\n\n//\n// error check:\n//\n#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)\n#  pragma message(\"Using the /RTC option without specifying a debug runtime will lead to linker errors\")\n#  pragma message(\"Hint: go to the code generation options and switch to one of the debugging runtimes\")\n#  error \"Incompatible build options\"\n#endif\n//\n// select toolset if not defined already:\n//\n#ifndef BOOST_LIB_TOOLSET\n#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)\n    // Note: no compilers before 1200 are supported\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)\n\n#    ifdef UNDER_CE\n       // eVC4:\n#      define BOOST_LIB_TOOLSET \"evc4\"\n#    else\n       // vc6:\n#      define BOOST_LIB_TOOLSET \"vc6\"\n#    endif\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)\n\n     // vc7:\n#    define BOOST_LIB_TOOLSET \"vc7\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)\n\n     // vc71:\n#    define BOOST_LIB_TOOLSET \"vc71\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)\n\n     // vc80:\n#    define BOOST_LIB_TOOLSET \"vc80\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)\n\n     // vc90:\n#    define BOOST_LIB_TOOLSET \"vc90\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)\n\n     // vc10:\n#    define BOOST_LIB_TOOLSET \"vc100\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)\n\n     // vc11:\n#    define BOOST_LIB_TOOLSET \"vc110\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)\n\n     // vc12:\n#    define BOOST_LIB_TOOLSET \"vc120\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)\n\n     // vc14:\n#    define BOOST_LIB_TOOLSET \"vc140\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920)\n\n     // vc14.1:\n#    define BOOST_LIB_TOOLSET \"vc141\"\n\n#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1930)\n\n     // vc14.2:\n#    define BOOST_LIB_TOOLSET \"vc142\"\n\n#  elif defined(BOOST_MSVC)\n\n     // vc14.3:\n#    define BOOST_LIB_TOOLSET \"vc143\"\n\n#  elif defined(BOOST_EMBTC_WINDOWS)\n\n     // Embarcadero Clang based compilers:\n#    define BOOST_LIB_TOOLSET \"embtc\"\n\n#  elif defined(BOOST_BORLANDC)\n\n     // CBuilder 6:\n#    define BOOST_LIB_TOOLSET \"bcb\"\n\n#  elif defined(__ICL)\n\n     // Intel C++, no version number:\n#    define BOOST_LIB_TOOLSET \"iw\"\n\n#  elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )\n\n     // Metrowerks CodeWarrior 8.x\n#    define BOOST_LIB_TOOLSET \"cw8\"\n\n#  elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )\n\n     // Metrowerks CodeWarrior 9.x\n#    define BOOST_LIB_TOOLSET \"cw9\"\n\n#  elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)\n\n     // Clang on Windows\n#    define BOOST_LIB_TOOLSET \"clangw\" BOOST_STRINGIZE(__clang_major__)\n\n#  endif\n#endif // BOOST_LIB_TOOLSET\n\n//\n// select thread opt:\n//\n#if defined(_MT) || defined(__MT__)\n#  define BOOST_LIB_THREAD_OPT \"-mt\"\n#else\n#  define BOOST_LIB_THREAD_OPT\n#endif\n\n#if defined(_MSC_VER) || defined(__MWERKS__)\n\n#  ifdef _DLL\n\n#     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))\n\n#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-gydp\"\n#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\n#            define BOOST_LIB_RT_OPT \"-gdp\"\n#        elif defined(_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-gydp\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        elif defined(_DEBUG)\n#            define BOOST_LIB_RT_OPT \"-gdp\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        else\n#            define BOOST_LIB_RT_OPT \"-p\"\n#        endif\n\n#     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)\n\n#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-gydpn\"\n#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\n#            define BOOST_LIB_RT_OPT \"-gdpn\"\n#        elif defined(_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-gydpn\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        elif defined(_DEBUG)\n#            define BOOST_LIB_RT_OPT \"-gdpn\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        else\n#            define BOOST_LIB_RT_OPT \"-pn\"\n#        endif\n\n#     else\n\n#        if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-gyd\"\n#        elif defined(_DEBUG)\n#            define BOOST_LIB_RT_OPT \"-gd\"\n#        else\n#            define BOOST_LIB_RT_OPT\n#        endif\n\n#     endif\n\n#  else\n\n#     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))\n\n#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-sgydp\"\n#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\n#            define BOOST_LIB_RT_OPT \"-sgdp\"\n#        elif defined(_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#             define BOOST_LIB_RT_OPT \"-sgydp\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        elif defined(_DEBUG)\n#             define BOOST_LIB_RT_OPT \"-sgdp\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        else\n#            define BOOST_LIB_RT_OPT \"-sp\"\n#        endif\n\n#     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)\n\n#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#            define BOOST_LIB_RT_OPT \"-sgydpn\"\n#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\n#            define BOOST_LIB_RT_OPT \"-sgdpn\"\n#        elif defined(_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#             define BOOST_LIB_RT_OPT \"-sgydpn\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        elif defined(_DEBUG)\n#             define BOOST_LIB_RT_OPT \"-sgdpn\"\n#            pragma message(\"warning: STLport debug versions are built with /D_STLP_DEBUG=1\")\n#            error \"Build options aren't compatible with pre-built libraries\"\n#        else\n#            define BOOST_LIB_RT_OPT \"-spn\"\n#        endif\n\n#     else\n\n#        if defined(_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#             define BOOST_LIB_RT_OPT \"-sgyd\"\n#        elif defined(_DEBUG)\n#             define BOOST_LIB_RT_OPT \"-sgd\"\n#        else\n#            define BOOST_LIB_RT_OPT \"-s\"\n#        endif\n\n#     endif\n\n#  endif\n\n#elif defined(BOOST_EMBTC_WINDOWS)\n\n#  ifdef _RTLDLL\n\n#     if defined(_DEBUG)\n#         define BOOST_LIB_RT_OPT \"-d\"\n#     else\n#         define BOOST_LIB_RT_OPT\n#     endif\n\n#  else\n\n#     if defined(_DEBUG)\n#         define BOOST_LIB_RT_OPT \"-sd\"\n#     else\n#         define BOOST_LIB_RT_OPT \"-s\"\n#     endif\n\n#  endif\n\n#elif defined(BOOST_BORLANDC)\n\n//\n// figure out whether we want the debug builds or not:\n//\n#if BOOST_BORLANDC > 0x561\n#pragma defineonoption BOOST_BORLAND_DEBUG -v\n#endif\n//\n// sanity check:\n//\n#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)\n#error \"Pre-built versions of the Boost libraries are not provided in STLport-debug form\"\n#endif\n\n#  ifdef _RTLDLL\n\n#     if defined(BOOST_BORLAND_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#         define BOOST_LIB_RT_OPT \"-yd\"\n#     elif defined(BOOST_BORLAND_DEBUG)\n#         define BOOST_LIB_RT_OPT \"-d\"\n#     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#         define BOOST_LIB_RT_OPT \"-y\"\n#     else\n#         define BOOST_LIB_RT_OPT\n#     endif\n\n#  else\n\n#     if defined(BOOST_BORLAND_DEBUG)\\\n               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#         define BOOST_LIB_RT_OPT \"-syd\"\n#     elif defined(BOOST_BORLAND_DEBUG)\n#         define BOOST_LIB_RT_OPT \"-sd\"\n#     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)\n#         define BOOST_LIB_RT_OPT \"-sy\"\n#     else\n#         define BOOST_LIB_RT_OPT \"-s\"\n#     endif\n\n#  endif\n\n#endif\n\n//\n// BOOST_LIB_ARCH_AND_MODEL_OPT\n//\n\n#if defined( _M_IX86 )\n#  define BOOST_LIB_ARCH_AND_MODEL_OPT \"-x32\"\n#elif defined( _M_X64 )\n#  define BOOST_LIB_ARCH_AND_MODEL_OPT \"-x64\"\n#elif defined( _M_ARM )\n#  define BOOST_LIB_ARCH_AND_MODEL_OPT \"-a32\"\n#elif defined( _M_ARM64 )\n#  define BOOST_LIB_ARCH_AND_MODEL_OPT \"-a64\"\n#endif\n\n//\n// select linkage opt:\n//\n#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)\n#  define BOOST_LIB_PREFIX\n#elif defined(BOOST_DYN_LINK)\n#  error \"Mixing a dll boost library with a static runtime is a really bad idea...\"\n#else\n#  define BOOST_LIB_PREFIX \"lib\"\n#endif\n\n//\n// now include the lib:\n//\n#if defined(BOOST_LIB_NAME) \\\n      && defined(BOOST_LIB_PREFIX) \\\n      && defined(BOOST_LIB_TOOLSET) \\\n      && defined(BOOST_LIB_THREAD_OPT) \\\n      && defined(BOOST_LIB_RT_OPT) \\\n      && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \\\n      && defined(BOOST_LIB_VERSION)\n\n#if defined(BOOST_EMBTC_WIN64)\n#  define BOOST_LIB_SUFFIX \".a\"\n#else\n#  define BOOST_LIB_SUFFIX \".lib\"\n#endif\n\n#ifdef BOOST_AUTO_LINK_NOMANGLE\n#  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)\n#  ifdef BOOST_LIB_DIAGNOSTIC\n#     pragma message (\"Linking to lib file: \" BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)\n#  endif\n#elif defined(BOOST_AUTO_LINK_TAGGED)\n#  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)\n#  ifdef BOOST_LIB_DIAGNOSTIC\n#     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)\n#  endif\n#elif defined(BOOST_AUTO_LINK_SYSTEM)\n#  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)\n#  ifdef BOOST_LIB_DIAGNOSTIC\n#     pragma message (\"Linking to lib file: \" BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)\n#  endif\n#elif defined(BOOST_LIB_BUILDID)\n#  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)\n#  ifdef BOOST_LIB_DIAGNOSTIC\n#     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)\n#  endif\n#else\n#  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)\n#  ifdef BOOST_LIB_DIAGNOSTIC\n#     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)\n#  endif\n#endif\n\n#else\n#  error \"some required macros where not defined (internal logic error).\"\n#endif\n\n\n#endif // _MSC_VER || __BORLANDC__\n\n//\n// finally undef any macros we may have set:\n//\n#ifdef BOOST_LIB_PREFIX\n#  undef BOOST_LIB_PREFIX\n#endif\n#if defined(BOOST_LIB_NAME)\n#  undef BOOST_LIB_NAME\n#endif\n// Don't undef this one: it can be set by the user and should be the \n// same for all libraries:\n//#if defined(BOOST_LIB_TOOLSET)\n//#  undef BOOST_LIB_TOOLSET\n//#endif\n#if defined(BOOST_LIB_THREAD_OPT)\n#  undef BOOST_LIB_THREAD_OPT\n#endif\n#if defined(BOOST_LIB_RT_OPT)\n#  undef BOOST_LIB_RT_OPT\n#endif\n#if defined(BOOST_LIB_ARCH_AND_MODEL_OPT)\n#  undef BOOST_LIB_ARCH_AND_MODEL_OPT\n#endif\n#if defined(BOOST_LIB_LINK_OPT)\n#  undef BOOST_LIB_LINK_OPT\n#endif\n#if defined(BOOST_LIB_DEBUG_OPT)\n#  undef BOOST_LIB_DEBUG_OPT\n#endif\n#if defined(BOOST_DYN_LINK)\n#  undef BOOST_DYN_LINK\n#endif\n#if defined(BOOST_LIB_SUFFIX)\n#  undef BOOST_LIB_SUFFIX\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/borland.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright David Abrahams 2002 - 2003.\n//  (C) Copyright Aleksey Gurtovoy 2002.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Borland C++ compiler setup:\n\n//\n// versions check:\n// we don't support Borland prior to version 5.4:\n#if __BORLANDC__ < 0x540\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n\n// last known compiler version:\n#if (__BORLANDC__ > 0x613)\n//#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n//#  else\n//#     pragma message( \"boost: Unknown compiler version - please run the configure tests and report the results\")\n//#  endif\n#elif (__BORLANDC__ == 0x600)\n#  error \"CBuilderX preview compiler is no longer supported\"\n#endif\n\n//\n// Support macros to help with standard library detection\n#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)\n#  define BOOST_BCB_WITH_ROGUE_WAVE\n#elif __BORLANDC__ < 0x570\n#  define BOOST_BCB_WITH_STLPORT\n#else\n#  define BOOST_BCB_WITH_DINKUMWARE\n#endif\n\n//\n// Version 5.0 and below:\n#   if __BORLANDC__ <= 0x0550\n// Borland C++Builder 4 and 5:\n#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#     if __BORLANDC__ == 0x0550\n// Borland C++Builder 5, command-line compiler 5.5:\n#       define BOOST_NO_OPERATORS_IN_NAMESPACE\n#     endif\n// Variadic macros do not exist for C++ Builder versions 5 and below\n#define BOOST_NO_CXX11_VARIADIC_MACROS\n#   endif\n\n// Version 5.51 and below:\n#if (__BORLANDC__ <= 0x551)\n#  define BOOST_NO_CV_SPECIALIZATIONS\n#  define BOOST_NO_CV_VOID_SPECIALIZATIONS\n#  define BOOST_NO_DEDUCED_TYPENAME\n// workaround for missing WCHAR_MAX/WCHAR_MIN:\n#ifdef __cplusplus\n#include <climits>\n#include <cwchar>\n#else\n#include <limits.h>\n#include <wchar.h>\n#endif // __cplusplus\n#ifndef WCHAR_MAX\n#  define WCHAR_MAX 0xffff\n#endif\n#ifndef WCHAR_MIN\n#  define WCHAR_MIN 0\n#endif\n#endif\n\n// Borland C++ Builder 6 and below:\n#if (__BORLANDC__ <= 0x564)\n\n#  if defined(NDEBUG) && defined(__cplusplus)\n      // fix broken <cstring> so that Boost.test works:\n#     include <cstring>\n#     undef strcmp\n#  endif\n   // fix broken errno declaration:\n#  include <errno.h>\n#  ifndef errno\n#     define errno errno\n#  endif\n\n#endif\n\n//\n// new bug in 5.61:\n#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)\n   // this seems to be needed by the command line compiler, but not the IDE:\n#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\n#endif\n\n// Borland C++ Builder 2006 Update 2 and below:\n#if (__BORLANDC__ <= 0x582)\n#  define BOOST_NO_SFINAE\n#  define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG\n#  define BOOST_NO_TEMPLATE_TEMPLATES\n\n#  define BOOST_NO_PRIVATE_IN_AGGREGATE\n\n#  ifdef _WIN32\n#     define BOOST_NO_SWPRINTF\n#  elif defined(linux) || defined(__linux__) || defined(__linux)\n      // we should really be able to do without this\n      // but the wcs* functions aren't imported into std::\n#     define BOOST_NO_STDC_NAMESPACE\n      // _CPPUNWIND doesn't get automatically set for some reason:\n#     pragma defineonoption BOOST_CPPUNWIND -x\n#  endif\n#endif\n\n#if (__BORLANDC__ <= 0x613)  // Beman has asked Alisdair for more info\n   // we shouldn't really need this - but too many things choke\n   // without it, this needs more investigation:\n#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#  define BOOST_NO_IS_ABSTRACT\n#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS\n#  define BOOST_NO_USING_TEMPLATE\n#  define BOOST_SP_NO_SP_CONVERTIBLE\n\n// Temporary workaround\n#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\n#endif\n\n// Borland C++ Builder 2008 and below:\n#  define BOOST_NO_INTEGRAL_INT64_T\n#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\n#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\n#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\n#  define BOOST_NO_NESTED_FRIENDSHIP\n#  define BOOST_NO_TYPENAME_WITH_CTOR\n#if (__BORLANDC__ < 0x600)\n#  define BOOST_ILLEGAL_CV_REFERENCES\n#endif\n\n//\n//  Positive Feature detection\n//\n// Borland C++ Builder 2008 and below:\n#if (__BORLANDC__ >= 0x599)\n#  pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax\n#endif\n//\n// C++0x Macros:\n//\n#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#  define BOOST_NO_CXX11_DECLTYPE\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#  define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#else\n#  define BOOST_HAS_ALIGNOF\n#  define BOOST_HAS_CHAR16_T\n#  define BOOST_HAS_CHAR32_T\n#  define BOOST_HAS_DECLTYPE\n#  define BOOST_HAS_EXPLICIT_CONVERSION_OPS\n#  define BOOST_HAS_REF_QUALIFIER\n#  define BOOST_HAS_RVALUE_REFS\n#  define BOOST_HAS_STATIC_ASSERT\n#endif\n\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DEFAULTED_MOVES\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS    // UTF-8 still not supported\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n#if __BORLANDC__ >= 0x590\n#  define BOOST_HAS_TR1_HASH\n\n#  define BOOST_HAS_MACRO_USE_FACET\n#endif\n\n//\n// Post 0x561 we have long long and stdint.h:\n#if __BORLANDC__ >= 0x561\n#  ifndef __NO_LONG_LONG\n#     define BOOST_HAS_LONG_LONG\n#  else\n#     define BOOST_NO_LONG_LONG\n#  endif\n   // On non-Win32 platforms let the platform config figure this out:\n#  ifdef _WIN32\n#      define BOOST_HAS_STDINT_H\n#  endif\n#endif\n\n// Borland C++Builder 6 defaults to using STLPort.  If _USE_OLD_RW_STL is\n// defined, then we have 0x560 or greater with the Rogue Wave implementation\n// which presumably has the std::DBL_MAX bug.\n#if defined( BOOST_BCB_WITH_ROGUE_WAVE )\n// <climits> is partly broken, some macros define symbols that are really in\n// namespace std, so you end up having to use illegal constructs like\n// std::DBL_MAX, as a fix we'll just include float.h and have done with:\n#include <float.h>\n#endif\n//\n// __int64:\n//\n#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)\n#  define BOOST_HAS_MS_INT64\n#endif\n//\n// check for exception handling support:\n//\n#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n//\n// all versions have a <dirent.h>:\n//\n#ifndef __STRICT_ANSI__\n#  define BOOST_HAS_DIRENT_H\n#endif\n//\n// all versions support __declspec:\n//\n#if defined(__STRICT_ANSI__)\n// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined\n#  define BOOST_SYMBOL_EXPORT\n#endif\n//\n// ABI fixing headers:\n//\n#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet\n#ifndef BOOST_ABI_PREFIX\n#  define BOOST_ABI_PREFIX \"boost/config/abi/borland_prefix.hpp\"\n#endif\n#ifndef BOOST_ABI_SUFFIX\n#  define BOOST_ABI_SUFFIX \"boost/config/abi/borland_suffix.hpp\"\n#endif\n#endif\n//\n// Disable Win32 support in ANSI mode:\n//\n#if __BORLANDC__ < 0x600\n#  pragma defineonoption BOOST_DISABLE_WIN32 -A\n#elif defined(__STRICT_ANSI__)\n#  define BOOST_DISABLE_WIN32\n#endif\n//\n// MSVC compatibility mode does some nasty things:\n// TODO: look up if this doesn't apply to the whole 12xx range\n//\n#if defined(_MSC_VER) && (_MSC_VER <= 1200)\n#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\n#  define BOOST_NO_VOID_RETURNS\n#endif\n\n// Borland did not implement value-initialization completely, as I reported\n// in 2007, Borland Report 51854, \"Value-initialization: POD struct should be\n// zero-initialized\", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854\n// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues\n// (Niels Dekker, LKEB, April 2010)\n#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n\n#define BOOST_BORLANDC __BORLANDC__\n#define BOOST_COMPILER \"Classic Borland C++ version \" BOOST_STRINGIZE(__BORLANDC__)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/clang.hpp",
    "content": "// (C) Copyright Douglas Gregor 2010\n//\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n// Clang compiler setup.\n\n#define BOOST_HAS_PRAGMA_ONCE\n\n// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.\n#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))\n#   define BOOST_HAS_PRAGMA_DETECT_MISMATCH\n#endif\n\n// When compiling with clang before __has_extension was defined,\n// even if one writes 'defined(__has_extension) && __has_extension(xxx)',\n// clang reports a compiler error. So the only workaround found is:\n\n#ifndef __has_extension\n#define __has_extension __has_feature\n#endif\n\n#ifndef __has_attribute\n#define __has_attribute(x) 0\n#endif\n\n#ifndef __has_cpp_attribute\n#define __has_cpp_attribute(x) 0\n#endif\n\n#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n\n#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)\n#  define BOOST_NO_RTTI\n#endif\n\n#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)\n#  define BOOST_NO_TYPEID\n#endif\n\n#if !__has_feature(cxx_thread_local)\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n\n#ifdef __is_identifier\n#if !__is_identifier(__int64) && !defined(__GNUC__)\n#  define BOOST_HAS_MS_INT64\n#endif\n#endif\n\n#if __has_include(<stdint.h>)\n#  define BOOST_HAS_STDINT_H\n#endif\n\n#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)\n#if (__clang_major__ >= 4) && defined(__has_include)\n#if __has_include(<quadmath.h>)\n#  define BOOST_HAS_FLOAT128\n#endif\n#endif\n#endif\n\n\n#define BOOST_HAS_NRVO\n\n// Branch prediction hints\n#if !defined (__c2__) && defined(__has_builtin)\n#if __has_builtin(__builtin_expect)\n#define BOOST_LIKELY(x) __builtin_expect(x, 1)\n#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)\n#endif\n#endif\n\n// Clang supports \"long long\" in all compilation modes.\n#define BOOST_HAS_LONG_LONG\n\n//\n// We disable this if the compiler is really nvcc with C++03 as it\n// doesn't actually support __int128 as of CUDA_VERSION=7500\n// even though it defines __SIZEOF_INT128__.\n// See https://svn.boost.org/trac/boost/ticket/10418\n//     https://svn.boost.org/trac/boost/ticket/11852\n// Only re-enable this for nvcc if you're absolutely sure\n// of the circumstances under which it's supported.\n// Similarly __SIZEOF_INT128__ is defined when targetting msvc\n// compatibility even though the required support functions are absent.\n//\n#if defined(__CUDACC__)\n#  if defined(BOOST_GCC_CXX11)\n#    define BOOST_NVCC_CXX11\n#  else\n#    define BOOST_NVCC_CXX03\n#  endif\n#endif\n\n#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER)\n#  define BOOST_HAS_INT128\n#endif\n\n\n//\n// Dynamic shared object (DSO) and dynamic-link library (DLL) support\n//\n#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)\n#  define BOOST_HAS_DECLSPEC\n#  define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))\n#  define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))\n#else\n#  define BOOST_SYMBOL_EXPORT __attribute__((__visibility__(\"default\")))\n#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__(\"default\")))\n#  define BOOST_SYMBOL_IMPORT\n#endif\n\n//\n// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through\n// between switch labels.\n//\n#if __cplusplus >= 201103L && defined(__has_warning)\n#  if __has_feature(cxx_attributes) && __has_warning(\"-Wimplicit-fallthrough\")\n#    define BOOST_FALLTHROUGH [[clang::fallthrough]]\n#  endif\n#endif\n\n#if !__has_feature(cxx_auto_type)\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#endif\n\n//\n// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t\n//\n#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#endif\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__)\n#define BOOST_HAS_EXPM1\n#define BOOST_HAS_LOG1P\n#endif\n\n#if !__has_feature(cxx_constexpr)\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n\n#if !__has_feature(cxx_decltype)\n#  define BOOST_NO_CXX11_DECLTYPE\n#endif\n\n#if !__has_feature(cxx_decltype_incomplete_return_types)\n#  define BOOST_NO_CXX11_DECLTYPE_N3276\n#endif\n\n#if !__has_feature(cxx_defaulted_functions)\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#endif\n\n#if !__has_feature(cxx_deleted_functions)\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#endif\n\n#if !__has_feature(cxx_explicit_conversions)\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#endif\n\n#if !__has_feature(cxx_default_function_template_args)\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#endif\n\n#if !__has_feature(cxx_generalized_initializers)\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#endif\n\n#if !__has_feature(cxx_lambdas)\n#  define BOOST_NO_CXX11_LAMBDAS\n#endif\n\n#if !__has_feature(cxx_local_type_template_args)\n#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#endif\n\n#if !__has_feature(cxx_noexcept)\n#  define BOOST_NO_CXX11_NOEXCEPT\n#endif\n\n#if !__has_feature(cxx_nullptr)\n#  define BOOST_NO_CXX11_NULLPTR\n#endif\n\n#if !__has_feature(cxx_range_for)\n#  define BOOST_NO_CXX11_RANGE_BASED_FOR\n#endif\n\n#if !__has_feature(cxx_raw_string_literals)\n#  define BOOST_NO_CXX11_RAW_LITERALS\n#endif\n\n#if !__has_feature(cxx_reference_qualified_functions)\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#endif\n\n#if !__has_feature(cxx_generalized_initializers)\n#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#endif\n\n#if !__has_feature(cxx_rvalue_references)\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#endif\n\n#if !__has_feature(cxx_strong_enums)\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#endif\n\n#if !__has_feature(cxx_static_assert)\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#endif\n\n#if !__has_feature(cxx_alias_templates)\n#  define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#endif\n\n#if !__has_feature(cxx_unicode_literals)\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#endif\n\n#if !__has_feature(cxx_variadic_templates)\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n\n#if !__has_feature(cxx_user_literals)\n#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#endif\n\n#if !__has_feature(cxx_alignas)\n#  define BOOST_NO_CXX11_ALIGNAS\n#endif\n\n#if !__has_feature(cxx_trailing_return)\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#endif\n\n#if !__has_feature(cxx_inline_namespaces)\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#endif\n\n#if !__has_feature(cxx_override_control)\n#  define BOOST_NO_CXX11_FINAL\n#  define BOOST_NO_CXX11_OVERRIDE\n#endif\n\n#if !__has_feature(cxx_unrestricted_unions)\n#  define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#endif\n\n#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n\n#if !__has_feature(__cxx_decltype_auto__)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n\n#if !__has_feature(__cxx_aggregate_nsdmi__)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n\n#if !__has_feature(__cxx_init_captures__)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n\n#if !__has_feature(__cxx_generic_lambdas__)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n\n// clang < 3.5 has a defect with dependent type, like following.\n//\n//  template <class T>\n//  constexpr typename enable_if<pred<T> >::type foo(T &)\n//  { } // error: no return statement in constexpr function\n//\n// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.\n// Therefore we don't care such case.\n//\n// Note that we can't check Clang version directly as the numbering system changes depending who's\n// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)\n// so instead verify that we have a feature that was introduced at the same time as working C++14\n// constexpr (generic lambda's in this case):\n//\n#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n\n#if !__has_feature(__cxx_return_type_deduction__)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n\n#if !__has_feature(__cxx_variable_templates__)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n// Clang 3.9+ in c++1z\n#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n\n#if __cplusplus < 201103L\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#endif\n\n#if __cplusplus < 201400\n// All versions with __cplusplus above this value seem to support this:\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n//\n// __builtin_unreachable:\n#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)\n#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();\n#endif\n\n#if (__clang_major__ == 3) && (__clang_minor__ == 0)\n// Apparently a clang bug:\n#  define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#endif\n\n// Clang has supported the 'unused' attribute since the first release.\n#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))\n\n// Type aliasing hint.\n#if __has_attribute(__may_alias__)\n#  define BOOST_MAY_ALIAS __attribute__((__may_alias__))\n#endif\n\n#ifndef BOOST_COMPILER\n#  define BOOST_COMPILER \"Clang version \" __clang_version__\n#endif\n\n// Macro used to identify the Clang compiler.\n#define BOOST_CLANG 1\n\n// BOOST_CLANG_VERSION\n#include <boost/config/compiler/clang_version.hpp>\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/clang_version.hpp",
    "content": "// Copyright 2021 Peter Dimov\n// Distributed under the Boost Software License, Version 1.0.\n// https://www.boost.org/LICENSE_1_0.txt)\n\n#if !defined(__APPLE__)\n\n# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)\n\n#else\n# define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)\n\n// https://en.wikipedia.org/wiki/Xcode#Toolchain_versions\n\n# if BOOST_CLANG_REPORTED_VERSION >= 130000\n#   define BOOST_CLANG_VERSION 120000\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 120005\n#   define BOOST_CLANG_VERSION 110100\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 120000\n#   define BOOST_CLANG_VERSION 100000\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 110003\n#   define BOOST_CLANG_VERSION 90000\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 110000\n#   define BOOST_CLANG_VERSION 80000\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 100001\n#   define BOOST_CLANG_VERSION 70000\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 100000\n#   define BOOST_CLANG_VERSION 60001\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 90100\n#   define BOOST_CLANG_VERSION 50002\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 90000\n#   define BOOST_CLANG_VERSION 40000\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 80000\n#   define BOOST_CLANG_VERSION 30900\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 70300\n#   define BOOST_CLANG_VERSION 30800\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 70000\n#   define BOOST_CLANG_VERSION 30700\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 60100\n#   define BOOST_CLANG_VERSION 30600\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 60000\n#   define BOOST_CLANG_VERSION 30500\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 50100\n#   define BOOST_CLANG_VERSION 30400\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 50000\n#   define BOOST_CLANG_VERSION 30300\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 40200\n#   define BOOST_CLANG_VERSION 30200\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 30100\n#   define BOOST_CLANG_VERSION 30100\n\n# elif BOOST_CLANG_REPORTED_VERSION >= 20100\n#   define BOOST_CLANG_VERSION 30000\n\n# else\n#   define BOOST_CLANG_VERSION 20900\n\n# endif\n\n# undef BOOST_CLANG_REPORTED_VERSION\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/codegear.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright David Abrahams 2002 - 2003.\n//  (C) Copyright Aleksey Gurtovoy 2002.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  CodeGear C++ compiler setup:\n\n//\n// versions check:\n// last known and checked version is 0x740\n#if (__CODEGEARC__ > 0x740)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  else\n#     pragma message( \"boost: Unknown compiler version - please run the configure tests and report the results\")\n#  endif\n#endif\n\n#ifdef __clang__ // Clang enhanced Windows compiler\n\n#  include \"clang.hpp\"\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n\n// This bug has been reported to Embarcadero\n\n#if defined(BOOST_HAS_INT128)\n#undef BOOST_HAS_INT128\n#endif\n#if defined(BOOST_HAS_FLOAT128)\n#undef BOOST_HAS_FLOAT128\n#endif\n\n// The clang-based compilers can not do 128 atomic exchanges\n\n#define BOOST_ATOMIC_NO_CMPXCHG16B\n\n// 32 functions are missing from the current RTL in cwchar, so it really can not be used even if it exists\n\n#  define BOOST_NO_CWCHAR\n\n#  ifndef __MT__  /* If compiling in single-threaded mode, assume there is no CXX11_HDR_ATOMIC */\n#    define BOOST_NO_CXX11_HDR_ATOMIC\n#  endif\n\n/* temporarily disable this until we can link against fegetround fesetround feholdexcept */\n\n#define BOOST_NO_FENV_H\n\n/* Reported this bug to Embarcadero with the latest C++ Builder Rio release */\n\n#define BOOST_NO_CXX11_HDR_EXCEPTION\n\n//\n// check for exception handling support:\n//\n#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n\n/*\n\n// On non-Win32 platforms let the platform config figure this out:\n#ifdef _WIN32\n#  define BOOST_HAS_STDINT_H\n#endif\n\n//\n// __int64:\n//\n#if !defined(__STRICT_ANSI__)\n#  define BOOST_HAS_MS_INT64\n#endif\n//\n// all versions have a <dirent.h>:\n//\n#if !defined(__STRICT_ANSI__)\n#  define BOOST_HAS_DIRENT_H\n#endif\n//\n// Disable Win32 support in ANSI mode:\n//\n#  pragma defineonoption BOOST_DISABLE_WIN32 -A\n//\n// MSVC compatibility mode does some nasty things:\n// TODO: look up if this doesn't apply to the whole 12xx range\n//\n#if defined(_MSC_VER) && (_MSC_VER <= 1200)\n#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\n#  define BOOST_NO_VOID_RETURNS\n#endif\n//\n\n*/\n\n// Specific settings for Embarcadero drivers\n#  define BOOST_EMBTC          __CODEGEARC__\n#  define BOOST_EMBTC_FULL_VER ((__clang_major__      << 16) | \\\n                                (__clang_minor__      <<  8) | \\\n                                 __clang_patchlevel__         )\n\n// Detecting which Embarcadero driver is being used\n#if defined(BOOST_EMBTC)\n#  if defined(_WIN64)\n#    define BOOST_EMBTC_WIN64 1\n#    define BOOST_EMBTC_WINDOWS 1\n#    ifndef BOOST_USE_WINDOWS_H\n#      define BOOST_USE_WINDOWS_H\n#    endif\n#  elif defined(_WIN32)\n#    define BOOST_EMBTC_WIN32C 1\n#    define BOOST_EMBTC_WINDOWS 1\n#    ifndef BOOST_USE_WINDOWS_H\n#      define BOOST_USE_WINDOWS_H\n#    endif\n#  elif defined(__APPLE__) && defined(__arm__)\n#    define BOOST_EMBTC_IOSARM 1\n#    define BOOST_EMBTC_IOS 1\n#  elif defined(__APPLE__) && defined(__aarch64__)\n#    define BOOST_EMBTC_IOSARM64 1\n#    define BOOST_EMBTC_IOS 1\n#  elif defined(__ANDROID__) && defined(__arm__)\n#    define BOOST_EMBTC_AARM 1\n#    define BOOST_EMBTC_ANDROID 1\n#  elif\n#    if defined(BOOST_ASSERT_CONFIG)\n#       error \"Unknown Embarcadero driver\"\n#    else\n#       warning \"Unknown Embarcadero driver\"\n#    endif /* defined(BOOST_ASSERT_CONFIG) */\n#  endif\n#endif /* defined(BOOST_EMBTC) */\n\n#if defined(BOOST_EMBTC_WINDOWS)\n\n#if !defined(_chdir)\n#define _chdir(x) chdir(x)\n#endif\n\n#if !defined(_dup2)\n#define _dup2(x,y) dup2(x,y)\n#endif\n\n#endif\n\n#  undef BOOST_COMPILER\n#  define BOOST_COMPILER \"Embarcadero-Clang C++ version \" BOOST_STRINGIZE(__CODEGEARC__) \" clang: \" __clang_version__\n// #  define __CODEGEARC_CLANG__ __CODEGEARC__\n// #  define __EMBARCADERO_CLANG__ __CODEGEARC__\n// #  define __BORLANDC_CLANG__ __BORLANDC__\n\n#else // #if !defined(__clang__)\n\n# define BOOST_CODEGEARC  __CODEGEARC__\n# define BOOST_BORLANDC   __BORLANDC__\n\n#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )\n// these warnings occur frequently in optimized template code\n# pragma warn -8004 // var assigned value, but never used\n# pragma warn -8008 // condition always true/false\n# pragma warn -8066 // dead code can never execute\n# pragma warn -8104 // static members with ctors not threadsafe\n# pragma warn -8105 // reference member in class without ctors\n#endif\n\n// CodeGear C++ Builder 2009\n#if (__CODEGEARC__ <= 0x613)\n#  define BOOST_NO_INTEGRAL_INT64_T\n#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\n#  define BOOST_NO_PRIVATE_IN_AGGREGATE\n#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\n   // we shouldn't really need this - but too many things choke\n   // without it, this needs more investigation:\n#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#  define BOOST_SP_NO_SP_CONVERTIBLE\n#endif\n\n// CodeGear C++ Builder 2010\n#if (__CODEGEARC__ <= 0x621)\n#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type\n#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\n#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member\n#  define BOOST_NO_USING_TEMPLATE\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n// Temporary hack, until specific MPL preprocessed headers are generated\n#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS\n\n// CodeGear has not yet completely implemented value-initialization, for\n// example for array types, as I reported in 2010: Embarcadero Report 83751,\n// \"Value-initialization: arrays should have each element value-initialized\",\n// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751\n// Last checked version: Embarcadero C++ 6.21\n// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues\n// (Niels Dekker, LKEB, April 2010)\n#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n\n#  if defined(NDEBUG) && defined(__cplusplus)\n      // fix broken <cstring> so that Boost.test works:\n#     include <cstring>\n#     undef strcmp\n#  endif\n   // fix broken errno declaration:\n#  include <errno.h>\n#  ifndef errno\n#     define errno errno\n#  endif\n\n#endif\n\n// Reportedly, #pragma once is supported since C++ Builder 2010\n#if (__CODEGEARC__ >= 0x620)\n#  define BOOST_HAS_PRAGMA_ONCE\n#endif\n\n#define BOOST_NO_FENV_H\n\n//\n// C++0x macros:\n//\n#if (__CODEGEARC__ <= 0x620)\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#else\n#define BOOST_HAS_STATIC_ASSERT\n#endif\n#define BOOST_HAS_CHAR16_T\n#define BOOST_HAS_CHAR32_T\n#define BOOST_HAS_LONG_LONG\n// #define BOOST_HAS_ALIGNOF\n#define BOOST_HAS_DECLTYPE\n#define BOOST_HAS_EXPLICIT_CONVERSION_OPS\n// #define BOOST_HAS_RVALUE_REFS\n#define BOOST_HAS_SCOPED_ENUM\n// #define BOOST_HAS_STATIC_ASSERT\n#define BOOST_HAS_STD_TYPE_TRAITS\n\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n//\n// TR1 macros:\n//\n#define BOOST_HAS_TR1_HASH\n#define BOOST_HAS_TR1_TYPE_TRAITS\n#define BOOST_HAS_TR1_UNORDERED_MAP\n#define BOOST_HAS_TR1_UNORDERED_SET\n\n#define BOOST_HAS_MACRO_USE_FACET\n\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n\n// On non-Win32 platforms let the platform config figure this out:\n#ifdef _WIN32\n#  define BOOST_HAS_STDINT_H\n#endif\n\n//\n// __int64:\n//\n#if !defined(__STRICT_ANSI__)\n#  define BOOST_HAS_MS_INT64\n#endif\n//\n// check for exception handling support:\n//\n#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n//\n// all versions have a <dirent.h>:\n//\n#if !defined(__STRICT_ANSI__)\n#  define BOOST_HAS_DIRENT_H\n#endif\n//\n// all versions support __declspec:\n//\n#if defined(__STRICT_ANSI__)\n// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined\n#  define BOOST_SYMBOL_EXPORT\n#endif\n//\n// ABI fixing headers:\n//\n#ifndef BOOST_ABI_PREFIX\n#  define BOOST_ABI_PREFIX \"boost/config/abi/borland_prefix.hpp\"\n#endif\n#ifndef BOOST_ABI_SUFFIX\n#  define BOOST_ABI_SUFFIX \"boost/config/abi/borland_suffix.hpp\"\n#endif\n//\n// Disable Win32 support in ANSI mode:\n//\n#  pragma defineonoption BOOST_DISABLE_WIN32 -A\n//\n// MSVC compatibility mode does some nasty things:\n// TODO: look up if this doesn't apply to the whole 12xx range\n//\n#if defined(_MSC_VER) && (_MSC_VER <= 1200)\n#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\n#  define BOOST_NO_VOID_RETURNS\n#endif\n\n#define BOOST_COMPILER \"CodeGear C++ version \" BOOST_STRINGIZE(__CODEGEARC__)\n\n#endif // #if !defined(__clang__)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/comeau.hpp",
    "content": "//  (C) Copyright John Maddock 2001. \n//  (C) Copyright Douglas Gregor 2001. \n//  (C) Copyright Peter Dimov 2001. \n//  (C) Copyright Aleksey Gurtovoy 2003. \n//  (C) Copyright Beman Dawes 2003. \n//  (C) Copyright Jens Maurer 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Comeau C++ compiler setup:\n\n#include <boost/config/compiler/common_edg.hpp>\n\n#if (__COMO_VERSION__ <= 4245)\n\n#  if defined(_MSC_VER) && _MSC_VER <= 1300\n#     if _MSC_VER > 100\n         // only set this in non-strict mode:\n#        define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\n#     endif\n#  endif\n\n// Void returns don't work when emulating VC 6 (Peter Dimov)\n// TODO: look up if this doesn't apply to the whole 12xx range\n#  if defined(_MSC_VER) && (_MSC_VER < 1300)\n#     define BOOST_NO_VOID_RETURNS\n#  endif\n\n#endif  // version 4245\n\n//\n// enable __int64 support in VC emulation mode\n//\n#  if defined(_MSC_VER) && (_MSC_VER >= 1200)\n#     define BOOST_HAS_MS_INT64\n#  endif\n\n#define BOOST_COMPILER \"Comeau compiler version \" BOOST_STRINGIZE(__COMO_VERSION__)\n\n//\n// versions check:\n// we don't know Comeau prior to version 4245:\n#if __COMO_VERSION__ < 4245\n#  error \"Compiler not configured - please reconfigure\"\n#endif\n//\n// last known and checked version is 4245:\n#if (__COMO_VERSION__ > 4245)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/common_edg.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2002.\n//  (C) Copyright Jens Maurer 2001.\n//  (C) Copyright David Abrahams 2002.\n//  (C) Copyright Aleksey Gurtovoy 2002.\n//  (C) Copyright Markus Schoepflin 2005.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//\n// Options common to all edg based compilers.\n//\n// This is included from within the individual compiler mini-configs.\n\n#ifndef  __EDG_VERSION__\n#  error This file requires that __EDG_VERSION__ be defined.\n#endif\n\n#if (__EDG_VERSION__ <= 238)\n#   define BOOST_NO_INTEGRAL_INT64_T\n#   define BOOST_NO_SFINAE\n#endif\n\n#if (__EDG_VERSION__ <= 240)\n#   define BOOST_NO_VOID_RETURNS\n#endif\n\n#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\n#   define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\n#endif\n\n#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)\n#   define BOOST_NO_TEMPLATE_TEMPLATES\n#endif\n\n#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)\n#   define BOOST_NO_IS_ABSTRACT\n#endif\n\n#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)\n#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\n#endif\n\n// See also kai.hpp which checks a Kai-specific symbol for EH\n# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)\n#     define BOOST_NO_EXCEPTIONS\n# endif\n\n# if !defined(__NO_LONG_LONG)\n#     define BOOST_HAS_LONG_LONG\n# else\n#     define BOOST_NO_LONG_LONG\n# endif\n\n// Not sure what version was the first to support #pragma once, but\n// different EDG-based compilers (e.g. Intel) supported it for ages.\n// Add a proper version check if it causes problems.\n#define BOOST_HAS_PRAGMA_ONCE\n\n//\n// C++0x features\n//\n//   See above for BOOST_NO_LONG_LONG\n//\n#if (__EDG_VERSION__ < 310)\n#  define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#endif\n#if (__EDG_VERSION__ <= 310)\n// No support for initializer lists\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#endif\n#if (__EDG_VERSION__ < 400)\n#  define BOOST_NO_CXX11_VARIADIC_MACROS\n#endif\n\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n//__cpp_decltype 200707 possibly?\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n\n#if !defined(__cpp_unicode_characters) || (__cpp_unicode_characters < 200704)\n#   define BOOST_NO_CXX11_CHAR16_T\n#   define BOOST_NO_CXX11_CHAR32_T\n#endif\n#if !defined(__cpp_unicode_literals) || (__cpp_unicode_literals < 200710)\n#   define BOOST_NO_CXX11_UNICODE_LITERALS\n#endif\n#if !defined(__cpp_user_defined_literals) || (__cpp_user_defined_literals < 200809)\n#   define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#endif\n#if !defined(__cpp_variadic_templates) || (__cpp_variadic_templates < 200704)\n#   define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 200907)\n#   define BOOST_NO_CXX11_CONSTEXPR\n#endif\n#if !defined(__cpp_lambdas) || (__cpp_lambdas < 200907)\n#   define BOOST_NO_CXX11_LAMBDAS\n#endif\n#if !defined(__cpp_range_based_for) || (__cpp_range_based_for < 200710)\n#   define BOOST_NO_CXX11_RANGE_BASED_FOR\n#endif\n#if !defined(__cpp_raw_strings) || (__cpp_raw_strings < 200610)\n#   define BOOST_NO_CXX11_RAW_LITERALS\n#endif\n\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n#ifdef c_plusplus\n// EDG has \"long long\" in non-strict mode\n// However, some libraries have insufficient \"long long\" support\n// #define BOOST_HAS_LONG_LONG\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/compaq_cxx.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Tru64 C++ compiler setup (now HP):\n\n#define BOOST_COMPILER \"HP Tru64 C++ \" BOOST_STRINGIZE(__DECCXX_VER)\n\n#include <boost/config/compiler/common_edg.hpp>\n\n//\n// versions check:\n// Nothing to do here?\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/cray.hpp",
    "content": "//  Copyright 2011 John Maddock\n//  Copyright 2013, 2017-2018 Cray, Inc.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n// Cray C++ compiler setup.\n//\n// There are a few parameters that affect the macros defined in this file:\n//\n// - What version of CCE (Cray Compiling Environment) are we running? This\n//   comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and\n//   '_RELEASE_PATCHLEVEL' macros.\n// - What C++ standards conformance level are we using (e.g. '-h\n//   std=c++14')? This comes from the '__cplusplus' macro.\n// - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h\n//   gnu' then CCE emulates GCC, and the macros '__GNUC__',\n//   '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined.\n//\n// This file is organized as follows:\n//\n// - Verify that the combination of parameters listed above is supported.\n//   If we have an unsupported combination, we abort with '#error'.\n// - Establish baseline values for all Boost macros.\n// - Apply changes to the baseline macros based on compiler version. These\n//   changes are cummulative so each version section only describes the\n//   changes since the previous version.\n//   - Within each version section, we may also apply changes based on\n//     other parameters (i.e. C++ standards conformance level and GCC\n//     extensions).\n//\n// To test changes to this file:\n//\n// ```\n// module load cce/8.6.5 # Pick the version you want to test.\n// cd boost/libs/config/test/all\n// b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt\n// ```\n// Note: Using 'cxxstd-dialect=iso' is not supported at this time (the\n// tests run, but many tests fail).\n//\n// Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise\n// you get an 'undefined reference to clock_gettime' error.\n//\n// Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is\n// reported as a defect. However, this is not actually a defect. This is an\n// area where the test system is somewhat broken. Tests that are failing\n// because of this problem are noted in the comments.\n//\n// Pay attention to the macro definitions for the macros you wish to\n// modify. For example, only macros categorized as compiler macros should\n// appear in this file; platform macros should not appear in this file.\n// Also, some macros have to be defined to specific values; it is not\n// always enough to define or undefine a macro.\n//\n// Macro definitions are available in the source code at:\n//\n// `boost/libs/config/doc/html/boost_config/boost_macro_reference.html`\n//\n// Macro definitions are also available online at:\n//\n// http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html\n//\n// Typically, if you enable a feature, and the tests pass, then you have\n// nothing to worry about. However, it's sometimes hard to figure out if a\n// disabled feature needs to stay disabled. To get a list of disabled\n// features, run 'b2' in 'boost/libs/config/checks'. These are the macros\n// you should pay attention to (in addition to macros that cause test\n// failures).\n\n////\n//// Front matter\n////\n\n// In a developer build of the Cray compiler (i.e. a compiler built by a\n// Cray employee), the release patch level is reported as \"x\". This gives\n// versions that look like e.g. \"8.6.x\".\n//\n// To accomplish this, the the Cray compiler preprocessor inserts:\n//\n// #define _RELEASE_PATCHLEVEL x\n//\n// If we are using a developer build of the compiler, we want to use the\n// configuration macros for the most recent patch level of the release. To\n// accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99.\n//\n// However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must\n// consider that the x will be expanded if x is defined as a macro\n// elsewhere. For example, imagine if someone put \"-D x=3\" on the command\n// line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would\n// expand to 3, and we could not distinguish it from an actual\n// _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in\n// production builds, _RELEASE_PATCHLEVEL is always an integer.\n//\n// IMPORTANT: In developer builds, if x is defined as a macro, you will get\n// an incorrect configuration. The behavior in this case is undefined.\n//\n// Even if x is not defined, we have to use some trickery to detect if\n// _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary\n// magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the\n// expanded value of _RELEASE_PATCHLEVEL to the string \"BOOST_CRAY_\".\n//\n// - If _RELEASE_PATCHLEVEL is undefined, we get \"BOOST_CRAY_\".\n// - If _RELEASE_PATCHLEVEL is 5, we get \"BOOST_CRAY_5\".\n// - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get\n//   \"BOOST_CRAY_x\":\n//\n// Then we check if BOOST_CRAY_x is equal to the output of\n// BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is\n// treated as a macro name, and expanded again. If we can safely assume\n// that BOOST_CRAY_ is not a macro defined as our magic number, and\n// BOOST_CRAY_5 is not a macro defined as our magic number, then the only\n// way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x.\n//\n// So, that is how we detect if we are using a developer build of the Cray\n// compiler.\n\n#define BOOST_CRAY_x 9867657 // Arbitrary number\n#define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO)\n#define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO\n\n#if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)\n\n    // This is a developer build.\n    //\n    // - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro.\n\n    // Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the\n    // most recent patch level in this release.\n\n    #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99)\n\n#else\n\n    // This is a production build.\n    //\n    // _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro.\n\n    #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL)\n\n#endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)\n\n#undef BOOST_CRAY_APPEND_INTERNAL\n#undef BOOST_CRAY_APPEND\n#undef BOOST_CRAY_x\n\n\n#ifdef __GNUC__\n#   define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)\n#endif\n\n#ifndef BOOST_COMPILER\n#   define BOOST_COMPILER \"Cray C++ version \" BOOST_STRINGIZE(_RELEASE_MAJOR) \".\" BOOST_STRINGIZE(_RELEASE_MINOR) \".\" BOOST_STRINGIZE(_RELEASE_PATCHLEVEL)\n#endif\n\n// Since the Cray compiler defines '__GNUC__', we have to emulate some\n// additional GCC macros in order to make everything work.\n//\n// FIXME: Perhaps Cray should fix the compiler to define these additional\n// macros for GCC emulation?\n\n#if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)\n#   define __GXX_EXPERIMENTAL_CXX0X__ 1\n#endif\n\n////\n//// Parameter validation\n////\n\n// FIXME: Do we really need to support compilers before 8.5? Do they pass\n// the Boost.Config tests?\n\n#if BOOST_CRAY_VERSION < 80000\n#  error \"Boost is not configured for Cray compilers prior to version 8, please try the configure script.\"\n#endif\n\n// We only support recent EDG based compilers.\n\n#ifndef __EDG__\n#  error \"Unsupported Cray compiler, please try running the configure script.\"\n#endif\n\n////\n//// Baseline values\n////\n\n#include <boost/config/compiler/common_edg.hpp>\n\n#define BOOST_HAS_NRVO\n#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CHAR16_T\n#define BOOST_NO_CXX11_CHAR32_T\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_VARIADIC_MACROS\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n\n//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG\n#define BOOST_MATH_DISABLE_STD_FPCLASSIFY\n//#define BOOST_HAS_FPCLASSIFY\n\n#define BOOST_SP_USE_PTHREADS \n#define BOOST_AC_USE_PTHREADS \n\n//\n// Everything that follows is working around what are thought to be\n// compiler shortcomings. Revist all of these regularly.\n//\n\n//#define BOOST_USE_ENUM_STATIC_ASSERT\n//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define\n\n// These constants should be provided by the compiler.\n\n#ifndef __ATOMIC_RELAXED\n#define __ATOMIC_RELAXED 0\n#define __ATOMIC_CONSUME 1\n#define __ATOMIC_ACQUIRE 2\n#define __ATOMIC_RELEASE 3\n#define __ATOMIC_ACQ_REL 4\n#define __ATOMIC_SEQ_CST 5\n#endif\n\n////\n//// Version changes\n////\n\n//\n// 8.5.0\n//\n\n#if BOOST_CRAY_VERSION >= 80500\n\n#if __cplusplus >= 201103L\n\n#undef BOOST_HAS_NRVO\n#undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#undef BOOST_NO_CXX11_AUTO_DECLARATIONS\n#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#undef BOOST_NO_CXX11_CHAR16_T\n#undef BOOST_NO_CXX11_CHAR32_T\n#undef BOOST_NO_CXX11_CONSTEXPR\n#undef BOOST_NO_CXX11_DECLTYPE\n#undef BOOST_NO_CXX11_DECLTYPE_N3276\n#undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#undef BOOST_NO_CXX11_DELETED_FUNCTIONS\n#undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#undef BOOST_NO_CXX11_FINAL\n#undef BOOST_NO_CXX11_OVERRIDE\n#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#undef BOOST_NO_CXX11_LAMBDAS\n#undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#undef BOOST_NO_CXX11_NOEXCEPT\n#undef BOOST_NO_CXX11_NULLPTR\n#undef BOOST_NO_CXX11_RANGE_BASED_FOR\n#undef BOOST_NO_CXX11_RAW_LITERALS\n#undef BOOST_NO_CXX11_REF_QUALIFIERS\n#undef BOOST_NO_CXX11_RVALUE_REFERENCES\n#undef BOOST_NO_CXX11_SCOPED_ENUMS\n#undef BOOST_NO_CXX11_SFINAE_EXPR\n#undef BOOST_NO_CXX11_STATIC_ASSERT\n#undef BOOST_NO_CXX11_TEMPLATE_ALIASES\n#undef BOOST_NO_CXX11_THREAD_LOCAL\n#undef BOOST_NO_CXX11_UNICODE_LITERALS\n#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#undef BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#undef BOOST_NO_CXX11_VARIADIC_MACROS\n#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#undef BOOST_NO_CXX11_UNRESTRICTED_UNION\n#undef BOOST_NO_SFINAE_EXPR\n#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#undef BOOST_MATH_DISABLE_STD_FPCLASSIFY\n#undef BOOST_SP_USE_PTHREADS \n#undef BOOST_AC_USE_PTHREADS \n\n#define BOOST_HAS_VARIADIC_TMPL\n#define BOOST_HAS_UNISTD_H\n#define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG\n#define BOOST_HAS_TR1_COMPLEX_OVERLOADS\n#define BOOST_HAS_STDINT_H\n#define BOOST_HAS_STATIC_ASSERT\n#define BOOST_HAS_SIGACTION\n#define BOOST_HAS_SCHED_YIELD\n#define BOOST_HAS_RVALUE_REFS\n#define BOOST_HAS_PTHREADS\n#define BOOST_HAS_PTHREAD_YIELD\n#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#define BOOST_HAS_PARTIAL_STD_ALLOCATOR\n#define BOOST_HAS_NRVO\n#define BOOST_HAS_NL_TYPES_H\n#define BOOST_HAS_NANOSLEEP\n#define BOOST_NO_CXX11_SMART_PTR\n#define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#define BOOST_NO_CXX14_CONSTEXPR\n#define BOOST_HAS_LONG_LONG\n#define BOOST_HAS_FLOAT128\n\n#if __cplusplus < 201402L\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#endif // __cplusplus < 201402L\n\n#endif // __cplusplus >= 201103L\n\n#endif // BOOST_CRAY_VERSION >= 80500\n\n//\n// 8.6.4\n// (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL)\n//\n\n#if BOOST_CRAY_VERSION >= 80600\n\n#if __cplusplus >= 199711L\n#define BOOST_HAS_FLOAT128\n#define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results.\n#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run.\n#undef  BOOST_NO_CXX11_CHAR16_T\n#undef  BOOST_NO_CXX11_CHAR32_T\n#undef  BOOST_NO_CXX11_INLINE_NAMESPACES\n#undef  BOOST_NO_CXX11_FINAL\n#undef BOOST_NO_CXX11_OVERRIDE\n#undef  BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#undef  BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails.\n#undef  BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#undef  BOOST_NO_CXX11_VARIADIC_MACROS\n#undef  BOOST_NO_CXX11_VARIADIC_TEMPLATES\n// 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled /\n// disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However,\n// 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that\n// 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as\n// depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying\n// 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run.\n//\n// The 'no_ded_typename_pass.cpp' test should always compile and run\n// successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an\n// appropriate value (it's not just something that you turn on or off).\n// Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME',\n// you have to modify 'no_ded_typename_pass.cpp' to unconditionally include\n// 'boost_no_ded_typename.ipp'.\n#undef  BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken.\n#undef  BOOST_NO_SFINAE_EXPR\n#undef  BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif // __cplusplus >= 199711L\n\n#if __cplusplus >= 201103L\n#undef  BOOST_NO_CXX11_ALIGNAS\n#undef  BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_HDR_ATOMIC\n#undef  BOOST_NO_CXX11_HDR_FUNCTIONAL\n#define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run.\n#undef  BOOST_NO_CXX11_SFINAE_EXPR\n#undef  BOOST_NO_CXX11_SMART_PTR\n#undef  BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#endif // __cplusplus >= 201103L\n\n#if __cplusplus >= 201402L\n#undef  BOOST_NO_CXX14_CONSTEXPR\n#define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif // __cplusplus == 201402L\n\n#endif // BOOST_CRAY_VERSION >= 80600\n\n//\n// 8.6.5\n// (no change from 8.6.4)\n//\n\n//\n// 8.7.0\n//\n\n#if BOOST_CRAY_VERSION >= 80700\n\n#if __cplusplus >= 199711L\n#endif // __cplusplus >= 199711L\n\n#if __cplusplus >= 201103L\n#undef  BOOST_NO_CXX11_HDR_ATOMIC\n#undef  BOOST_NO_CXX11_HDR_REGEX\n#endif // __cplusplus >= 201103L\n\n#if __cplusplus >= 201402L\n#endif // __cplusplus == 201402L\n\n#endif // BOOST_CRAY_VERSION >= 80700\n\n//\n// Next release\n//\n\n#if BOOST_CRAY_VERSION > 80799\n\n#if __cplusplus >= 199711L\n#endif // __cplusplus >= 199711L\n\n#if __cplusplus >= 201103L\n#endif // __cplusplus >= 201103L\n\n#if __cplusplus >= 201402L\n#endif // __cplusplus == 201402L\n\n#endif // BOOST_CRAY_VERSION > 80799\n\n////\n//// Remove temporary macros\n////\n\n// I've commented out some '#undef' statements to signify that we purposely\n// want to keep certain macros.\n\n//#undef __GXX_EXPERIMENTAL_CXX0X__\n//#undef BOOST_COMPILER\n#undef BOOST_GCC_VERSION\n#undef BOOST_CRAY_VERSION\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/diab.hpp",
    "content": "//  (C) Copyright Brian Kuhl 2016.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n// Check this is a recent EDG based compiler, otherwise we don't support it here:\n\n\n#ifndef __EDG_VERSION__\n#     error \"Unknown Diab compiler version - please run the configure tests and report the results\"\n#endif\n\n#include \"boost/config/compiler/common_edg.hpp\"\n\n#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS\n\n#define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE\n#define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS\n#define BOOST_REGEX_NO_EXTERNAL_TEMPLATES\n\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_HDR_CODECVT\n#define BOOST_NO_CXX11_NUMERIC_LIMITS \n\n#define BOOST_COMPILER \"Wind River Diab \" BOOST_STRINGIZE(__VERSION_NUMBER__)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/digitalmars.hpp",
    "content": "//  Copyright (C) Christof Meerwald 2003\n//  Copyright (C) Dan Watkins 2003\n//\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  Digital Mars C++ compiler setup:\n#define BOOST_COMPILER __DMC_VERSION_STRING__\n\n#define BOOST_HAS_LONG_LONG\n#define BOOST_HAS_PRAGMA_ONCE\n\n#if !defined(BOOST_STRICT_CONFIG)\n#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#define BOOST_NO_OPERATORS_IN_NAMESPACE\n#define BOOST_NO_UNREACHABLE_RETURN_DETECTION\n#define BOOST_NO_SFINAE\n#define BOOST_NO_USING_TEMPLATE\n#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\n#endif\n\n//\n// has macros:\n#define BOOST_HAS_DIRENT_H\n#define BOOST_HAS_STDINT_H\n#define BOOST_HAS_WINTHREADS\n\n#if (__DMC__ >= 0x847)\n#define BOOST_HAS_EXPM1\n#define BOOST_HAS_LOG1P\n#endif\n\n//\n// Is this really the best way to detect whether the std lib is in namespace std?\n//\n#ifdef __cplusplus\n#include <cstddef>\n#endif\n#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)\n#  define BOOST_NO_STDC_NAMESPACE\n#endif\n\n\n// check for exception handling support:\n#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n\n//\n// C++0x features\n//\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CHAR16_T\n#define BOOST_NO_CXX11_CHAR32_T\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n#if (__DMC__ <= 0x840)\n#error \"Compiler not supported or configured - please reconfigure\"\n#endif\n//\n// last known and checked version is ...:\n#if (__DMC__ > 0x848)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/gcc.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright Darin Adler 2001 - 2002.\n//  (C) Copyright Jens Maurer 2001 - 2002.\n//  (C) Copyright Beman Dawes 2001 - 2003.\n//  (C) Copyright Douglas Gregor 2002.\n//  (C) Copyright David Abrahams 2002 - 2003.\n//  (C) Copyright Synge Todo 2003.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  GNU C++ compiler setup.\n\n//\n// Define BOOST_GCC so we know this is \"real\" GCC and not some pretender:\n//\n#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)\n#if !defined(__CUDACC__)\n#define BOOST_GCC BOOST_GCC_VERSION\n#endif\n\n#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)\n#  define BOOST_GCC_CXX11\n#endif\n\n#if __GNUC__ == 3\n#  if defined (__PATHSCALE__)\n#     define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#     define BOOST_NO_IS_ABSTRACT\n#  endif\n\n#  if __GNUC_MINOR__ < 4\n#     define BOOST_NO_IS_ABSTRACT\n#  endif\n#  define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#endif\n#if __GNUC__ < 4\n//\n// All problems to gcc-3.x and earlier here:\n//\n#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#  ifdef __OPEN64__\n#     define BOOST_NO_IS_ABSTRACT\n#  endif\n#endif\n\n// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links\n#if BOOST_GCC_VERSION >= 30400\n#define BOOST_HAS_PRAGMA_ONCE\n#endif\n\n#if BOOST_GCC_VERSION < 40400\n// Previous versions of GCC did not completely implement value-initialization:\n// GCC Bug 30111, \"Value-initialization of POD base class doesn't initialize\n// members\", reported by Jonathan Wakely in 2006,\n// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4)\n// GCC Bug 33916, \"Default constructor fails to initialize array members\",\n// reported by Michael Elizabeth Chastain in 2007,\n// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)\n// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues\n#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#endif\n\n#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)\n# define BOOST_NO_EXCEPTIONS\n#endif\n\n\n//\n// Threading support: Turn this on unconditionally here (except for\n// those platforms where we can know for sure). It will get turned off again\n// later if no threading API is detected.\n//\n#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)\n# define BOOST_HAS_THREADS\n#endif\n\n//\n// gcc has \"long long\"\n// Except on Darwin with standard compliance enabled (-pedantic)\n// Apple gcc helpfully defines this macro we can query\n//\n#if !defined(__DARWIN_NO_LONG_LONG)\n# define BOOST_HAS_LONG_LONG\n#endif\n\n//\n// gcc implements the named return value optimization since version 3.1\n//\n#define BOOST_HAS_NRVO\n\n// Branch prediction hints\n#define BOOST_LIKELY(x) __builtin_expect(x, 1)\n#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)\n\n//\n// Dynamic shared object (DSO) and dynamic-link library (DLL) support\n//\n#if __GNUC__ >= 4\n#  if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)\n     // All Win32 development environments, including 64-bit Windows and MinGW, define\n     // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,\n     // so does not define _WIN32 or its variants, but still supports dllexport/dllimport.\n#    define BOOST_HAS_DECLSPEC\n#    define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))\n#    define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))\n#  else\n#    define BOOST_SYMBOL_EXPORT __attribute__((__visibility__(\"default\")))\n#    define BOOST_SYMBOL_IMPORT\n#  endif\n#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__(\"default\")))\n#else\n// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined\n#  define BOOST_SYMBOL_EXPORT\n#endif\n\n//\n// RTTI and typeinfo detection is possible post gcc-4.3:\n//\n#if BOOST_GCC_VERSION > 40300\n#  ifndef __GXX_RTTI\n#     ifndef BOOST_NO_TYPEID\n#        define BOOST_NO_TYPEID\n#     endif\n#     ifndef BOOST_NO_RTTI\n#        define BOOST_NO_RTTI\n#     endif\n#  endif\n#endif\n\n//\n// Recent GCC versions have __int128 when in 64-bit mode.\n//\n// We disable this if the compiler is really nvcc with C++03 as it\n// doesn't actually support __int128 as of CUDA_VERSION=7500\n// even though it defines __SIZEOF_INT128__.\n// See https://svn.boost.org/trac/boost/ticket/8048\n//     https://svn.boost.org/trac/boost/ticket/11852\n// Only re-enable this for nvcc if you're absolutely sure\n// of the circumstances under which it's supported:\n//\n#if defined(__CUDACC__)\n#  if defined(BOOST_GCC_CXX11)\n#    define BOOST_NVCC_CXX11\n#  else\n#    define BOOST_NVCC_CXX03\n#  endif\n#endif\n\n#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03)\n#  define BOOST_HAS_INT128\n#endif\n//\n// Recent GCC versions have a __float128 native type, we need to\n// include a std lib header to detect this - not ideal, but we'll\n// be including <cstddef> later anyway when we select the std lib.\n//\n// Nevertheless, as of CUDA 7.5, using __float128 with the host\n// compiler in pre-C++11 mode is still not supported.\n// See https://svn.boost.org/trac/boost/ticket/11852\n//\n#ifdef __cplusplus\n#include <cstddef>\n#else\n#include <stddef.h>\n#endif\n#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03)\n# define BOOST_HAS_FLOAT128\n#endif\n\n// C++0x features in 4.3.n and later\n//\n#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11)\n// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are\n// passed on the command line, which in turn defines\n// __GXX_EXPERIMENTAL_CXX0X__.\n#  define BOOST_HAS_DECLTYPE\n#  define BOOST_HAS_RVALUE_REFS\n#  define BOOST_HAS_STATIC_ASSERT\n#  define BOOST_HAS_VARIADIC_TMPL\n#else\n#  define BOOST_NO_CXX11_DECLTYPE\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#endif\n\n// C++0x features in 4.4.n and later\n//\n#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11)\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n\n#if BOOST_GCC_VERSION < 40500\n#  define BOOST_NO_SFINAE_EXPR\n#endif\n\n// GCC 4.5 forbids declaration of defaulted functions in private or protected sections\n#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11)\n#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS\n#endif\n\n// C++0x features in 4.5.0 and later\n//\n#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11)\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#  define BOOST_NO_CXX11_LAMBDAS\n#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#  define BOOST_NO_CXX11_RAW_LITERALS\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#endif\n\n// C++0x features in 4.5.1 and later\n//\n#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11)\n// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1\n// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#endif\n\n// C++0x features in 4.6.n and later\n//\n#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11)\n#define BOOST_NO_CXX11_DEFAULTED_MOVES\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#endif\n\n// C++0x features in 4.7.n and later\n//\n#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11)\n// Note that while constexpr is partly supported in gcc-4.6 it's a \n// pre-std version with several bugs:\n#  define BOOST_NO_CXX11_CONSTEXPR\n#  define BOOST_NO_CXX11_FINAL\n#  define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#  define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#  define BOOST_NO_CXX11_OVERRIDE\n#endif\n\n// C++0x features in 4.8.n and later\n//\n#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#  define BOOST_NO_CXX11_SFINAE_EXPR\n#endif\n\n// C++0x features in 4.8.1 and later\n//\n#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11)\n#  define BOOST_NO_CXX11_DECLTYPE_N3276\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n\n// C++0x features in 4.9.n and later\n//\n#if (BOOST_GCC_VERSION < 40900) || !defined(BOOST_GCC_CXX11)\n// Although alignas support is added in gcc 4.8, it does not accept\n// dependent constant expressions as an argument until gcc 4.9.\n#  define BOOST_NO_CXX11_ALIGNAS\n#endif\n\n// C++0x features in 5.1 and later\n//\n#if (BOOST_GCC_VERSION < 50100) || !defined(BOOST_GCC_CXX11)\n#  define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#endif\n\n// C++14 features in 4.9.0 and later\n//\n#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#  if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11))\n#     define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#  endif\n#endif\n\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n#if __GNUC__ >= 7\n#  define BOOST_FALLTHROUGH __attribute__((fallthrough))\n#endif\n\n#if (__GNUC__ < 11) && defined(__MINGW32__) && !defined(__MINGW64__)\n// thread_local was broken on mingw for all 32bit compiler releases prior to 11.x, see\n// https://sourceforge.net/p/mingw-w64/bugs/527/\n// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562\n// Not setting this causes program termination on thread exit.\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n\n//\n// Unused attribute:\n#if __GNUC__ >= 4\n#  define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))\n#endif\n\n// Type aliasing hint. Supported since gcc 3.3.\n#define BOOST_MAY_ALIAS __attribute__((__may_alias__))\n\n//\n// __builtin_unreachable:\n#if BOOST_GCC_VERSION >= 40500\n#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();\n#endif\n\n#ifndef BOOST_COMPILER\n#  define BOOST_COMPILER \"GNU C++ version \" __VERSION__\n#endif\n\n// ConceptGCC compiler:\n//   http://www.generic-programming.org/software/ConceptGCC/\n#ifdef __GXX_CONCEPTS__\n#  define BOOST_HAS_CONCEPTS\n#  define BOOST_COMPILER \"ConceptGCC version \" __VERSION__\n#endif\n\n// versions check:\n// we don't know gcc prior to version 3.30:\n#if (BOOST_GCC_VERSION< 30300)\n#  error \"Compiler not configured - please reconfigure\"\n#endif\n//\n// last known and checked version is 8.1:\n#if (BOOST_GCC_VERSION > 80100)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"Boost.Config is older than your compiler - please check for an updated Boost release.\"\n#  else\n// we don't emit warnings here anymore since there are no defect macros defined for\n// gcc post 3.4, so any failures are gcc regressions...\n//#     warning \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/gcc_xml.hpp",
    "content": "//  (C) Copyright John Maddock 2006.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  GCC-XML C++ compiler setup:\n\n#  if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))\n#     define BOOST_NO_IS_ABSTRACT\n#  endif\n\n//\n// Threading support: Turn this on unconditionally here (except for\n// those platforms where we can know for sure). It will get turned off again\n// later if no threading API is detected.\n//\n#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)\n# define BOOST_HAS_THREADS\n#endif\n\n//\n// gcc has \"long long\"\n//\n#define BOOST_HAS_LONG_LONG\n\n// C++0x features:\n//\n#  define BOOST_NO_CXX11_CONSTEXPR\n#  define BOOST_NO_CXX11_NULLPTR\n#  define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#  define BOOST_NO_CXX11_DECLTYPE\n#  define BOOST_NO_CXX11_DECLTYPE_N3276\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#  define BOOST_NO_CXX11_VARIADIC_MACROS\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#  define BOOST_NO_SFINAE_EXPR\n#  define BOOST_NO_CXX11_SFINAE_EXPR\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#  define BOOST_NO_CXX11_LAMBDAS\n#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#  define BOOST_NO_CXX11_RANGE_BASED_FOR\n#  define BOOST_NO_CXX11_RAW_LITERALS\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#  define BOOST_NO_CXX11_NOEXCEPT\n#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#  define BOOST_NO_CXX11_ALIGNAS\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#  define BOOST_NO_CXX11_FINAL\n#  define BOOST_NO_CXX11_OVERRIDE\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#  define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n#define BOOST_COMPILER \"GCC-XML C++ version \" __GCCXML__\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/greenhills.hpp",
    "content": "//  (C) Copyright John Maddock 2001. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Greenhills C++ compiler setup:\n\n#define BOOST_COMPILER \"Greenhills C++ version \" BOOST_STRINGIZE(__ghs)\n\n#include <boost/config/compiler/common_edg.hpp>\n\n//\n// versions check:\n// we don't support Greenhills prior to version 0:\n#if __ghs < 0\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n//\n// last known and checked version is 0:\n#if (__ghs > 0)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/hp_acc.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright Jens Maurer 2001 - 2003.\n//  (C) Copyright Aleksey Gurtovoy 2002.\n//  (C) Copyright David Abrahams 2002 - 2003.\n//  (C) Copyright Toon Knapen 2003.\n//  (C) Copyright Boris Gubenko 2006 - 2007.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  HP aCC C++ compiler setup:\n\n#if defined(__EDG__)\n#include <boost/config/compiler/common_edg.hpp>\n#endif\n\n#if (__HP_aCC <= 33100)\n#    define BOOST_NO_INTEGRAL_INT64_T\n#    define BOOST_NO_OPERATORS_IN_NAMESPACE\n#  if !defined(_NAMESPACE_STD)\n#     define BOOST_NO_STD_LOCALE\n#     define BOOST_NO_STRINGSTREAM\n#  endif\n#endif\n\n#if (__HP_aCC <= 33300)\n// member templates are sufficiently broken that we disable them for now\n#    define BOOST_NO_MEMBER_TEMPLATES\n#    define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\n#    define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE\n#endif\n\n#if (__HP_aCC <= 38000)\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif\n\n#if (__HP_aCC > 50000) && (__HP_aCC < 60000)\n#    define BOOST_NO_UNREACHABLE_RETURN_DETECTION\n#    define BOOST_NO_TEMPLATE_TEMPLATES\n#    define BOOST_NO_SWPRINTF\n#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\n#    define BOOST_NO_IS_ABSTRACT\n#    define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#endif\n\n// optional features rather than defects:\n#if (__HP_aCC >= 33900)\n#    define BOOST_HAS_LONG_LONG\n#    define BOOST_HAS_PARTIAL_STD_ALLOCATOR\n#endif\n\n#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )\n#    define BOOST_NO_MEMBER_TEMPLATE_KEYWORD\n#endif\n\n// This macro should not be defined when compiling in strict ansi\n// mode, but, currently, we don't have the ability to determine\n// what standard mode we are compiling with. Some future version\n// of aCC6 compiler will provide predefined macros reflecting the\n// compilation options, including the standard mode.\n#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))\n#    define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif\n\n#define BOOST_COMPILER \"HP aCC version \" BOOST_STRINGIZE(__HP_aCC)\n\n//\n// versions check:\n// we don't support HP aCC prior to version 33000:\n#if __HP_aCC < 33000\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n\n//\n// Extended checks for supporting aCC on PA-RISC\n#if __HP_aCC > 30000 && __HP_aCC < 50000\n#  if __HP_aCC < 38000\n      // versions prior to version A.03.80 not supported\n#     error \"Compiler version not supported - version A.03.80 or higher is required\"\n#  elif !defined(__hpxstd98)\n      // must compile using the option +hpxstd98 with version A.03.80 and above\n#     error \"Compiler option '+hpxstd98' is required for proper support\"\n#  endif //PA-RISC\n#endif\n\n//\n// C++0x features\n//\n//   See boost\\config\\suffix.hpp for BOOST_NO_LONG_LONG\n//\n#if !defined(__EDG__)\n\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CHAR16_T\n#define BOOST_NO_CXX11_CHAR32_T\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n/*\n  See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and\n      https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436\n*/\n\n#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)\n  #define BOOST_NO_CXX11_VARIADIC_MACROS\n#endif\n\n#endif\n\n//\n// last known and checked version for HP-UX/ia64 is 61300\n// last known and checked version for PA-RISC is 38000\n#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/intel.hpp",
    "content": "//  (C) Copyright John Maddock 2001-8.\n//  (C) Copyright Peter Dimov 2001.\n//  (C) Copyright Jens Maurer 2001.\n//  (C) Copyright David Abrahams 2002 - 2003.\n//  (C) Copyright Aleksey Gurtovoy 2002 - 2003.\n//  (C) Copyright Guillaume Melquiond 2002 - 2003.\n//  (C) Copyright Beman Dawes 2003.\n//  (C) Copyright Martin Wille 2003.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Intel compiler setup:\n\n#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))\n\n#ifdef _MSC_VER\n\n#include <boost/config/compiler/visualc.hpp>\n\n#undef BOOST_MSVC\n#undef BOOST_MSVC_FULL_VER\n\n#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900)\n//\n// These appear to be supported, even though VC++ may not support them:\n//\n#define BOOST_HAS_EXPM1\n#define BOOST_HAS_LOG1P\n#undef BOOST_NO_CXX14_BINARY_LITERALS\n// This one may be a little risky to enable??\n#undef BOOST_NO_SFINAE_EXPR\n\n#endif\n\n#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n#else // defined(_MSC_VER)\n\n#include <boost/config/compiler/gcc.hpp>\n\n#undef BOOST_GCC_VERSION\n#undef BOOST_GCC_CXX11\n#undef BOOST_GCC\n#undef BOOST_FALLTHROUGH\n\n// Broken in all versions up to 17 (newer versions not tested)\n#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n\n#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703)\n#  define BOOST_FALLTHROUGH [[fallthrough]]\n#endif\n\n#endif // defined(_MSC_VER)\n\n#undef BOOST_COMPILER\n\n#if defined(__INTEL_COMPILER)\n#if __INTEL_COMPILER == 9999\n#  define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.\n#else\n#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER\n#endif\n#elif defined(__ICL)\n#  define BOOST_INTEL_CXX_VERSION __ICL\n#elif defined(__ICC)\n#  define BOOST_INTEL_CXX_VERSION __ICC\n#elif defined(__ECC)\n#  define BOOST_INTEL_CXX_VERSION __ECC\n#endif\n\n// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'\n#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)\n#  define BOOST_INTEL_STDCXX0X\n#endif\n#if defined(_MSC_VER) && (_MSC_VER >= 1600)\n#  define BOOST_INTEL_STDCXX0X\n#endif\n\n#ifdef __GNUC__\n#  define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)\n#endif\n\n#if !defined(BOOST_COMPILER)\n#  if defined(BOOST_INTEL_STDCXX0X)\n#    define BOOST_COMPILER \"Intel C++ C++0x mode version \" BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)\n#  else\n#    define BOOST_COMPILER \"Intel C++ version \" BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)\n#  endif\n#endif\n\n#define BOOST_INTEL BOOST_INTEL_CXX_VERSION\n\n#if defined(_WIN32) || defined(_WIN64)\n#  define BOOST_INTEL_WIN BOOST_INTEL\n#else\n#  define BOOST_INTEL_LINUX BOOST_INTEL\n#endif\n\n#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))\n\n#include <boost/config/compiler/common_edg.hpp>\n\n#if defined(__INTEL_COMPILER)\n#if __INTEL_COMPILER == 9999\n#  define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.\n#else\n#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER\n#endif\n#elif defined(__ICL)\n#  define BOOST_INTEL_CXX_VERSION __ICL\n#elif defined(__ICC)\n#  define BOOST_INTEL_CXX_VERSION __ICC\n#elif defined(__ECC)\n#  define BOOST_INTEL_CXX_VERSION __ECC\n#endif\n\n// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'\n#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)\n#  define BOOST_INTEL_STDCXX0X\n#endif\n#if defined(_MSC_VER) && (_MSC_VER >= 1600)\n#  define BOOST_INTEL_STDCXX0X\n#endif\n\n#ifdef __GNUC__\n#  define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)\n#endif\n\n#if !defined(BOOST_COMPILER)\n#  if defined(BOOST_INTEL_STDCXX0X)\n#    define BOOST_COMPILER \"Intel C++ C++0x mode version \" BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)\n#  else\n#    define BOOST_COMPILER \"Intel C++ version \" BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)\n#  endif\n#endif\n\n#define BOOST_INTEL BOOST_INTEL_CXX_VERSION\n\n#if defined(_WIN32) || defined(_WIN64)\n#  define BOOST_INTEL_WIN BOOST_INTEL\n#else\n#  define BOOST_INTEL_LINUX BOOST_INTEL\n#endif\n\n#if (BOOST_INTEL_CXX_VERSION <= 600)\n\n#  if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)\n\n// Boost libraries assume strong standard conformance unless otherwise\n// indicated by a config macro. As configured by Intel, the EDG front-end\n// requires certain compiler options be set to achieve that strong conformance.\n// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)\n// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for\n// details as they apply to particular versions of the compiler. When the\n// compiler does not predefine a macro indicating if an option has been set,\n// this config file simply assumes the option has been set.\n// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if\n// the compiler option is not enabled.\n\n#     define BOOST_NO_SWPRINTF\n#  endif\n\n// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)\n\n#  if defined(_MSC_VER) && (_MSC_VER <= 1200)\n#     define BOOST_NO_VOID_RETURNS\n#     define BOOST_NO_INTEGRAL_INT64_T\n#  endif\n\n#endif\n\n#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)\n#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS\n#endif\n\n// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864\n#if BOOST_INTEL_CXX_VERSION < 600\n#  define BOOST_NO_INTRINSIC_WCHAR_T\n#else\n// We should test the macro _WCHAR_T_DEFINED to check if the compiler\n// supports wchar_t natively. *BUT* there is a problem here: the standard\n// headers define this macro if they typedef wchar_t. Anyway, we're lucky\n// because they define it without a value, while Intel C++ defines it\n// to 1. So we can check its value to see if the macro was defined natively\n// or not.\n// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T\n// is used instead.\n#  if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)\n#    define BOOST_NO_INTRINSIC_WCHAR_T\n#  endif\n#endif\n\n#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)\n//\n// Figure out when Intel is emulating this gcc bug\n// (All Intel versions prior to 9.0.26, and versions\n// later than that if they are set up to emulate gcc 3.2\n// or earlier):\n//\n#  if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)\n#     define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\n#  endif\n#endif\n#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200)\n// GCC or VC emulation:\n#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif\n//\n// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T\n// set correctly, if we don't do this now, we will get errors later\n// in type_traits code among other things, getting this correct\n// for the Intel compiler is actually remarkably fragile and tricky:\n//\n#ifdef __cplusplus\n#if defined(BOOST_NO_INTRINSIC_WCHAR_T)\n#include <cwchar>\ntemplate< typename T > struct assert_no_intrinsic_wchar_t;\ntemplate<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };\n// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T\n// where it is defined above:\ntypedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;\n#else\ntemplate< typename T > struct assert_intrinsic_wchar_t;\ntemplate<> struct assert_intrinsic_wchar_t<wchar_t> {};\n// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:\ntemplate<> struct assert_intrinsic_wchar_t<unsigned short> {};\n#endif\n#endif\n\n#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)\n#  if _MSC_VER >= 1200\n#     define BOOST_HAS_MS_INT64\n#  endif\n#  define BOOST_NO_SWPRINTF\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#elif defined(_WIN32)\n#  define BOOST_DISABLE_WIN32\n#endif\n\n// I checked version 6.0 build 020312Z, it implements the NRVO.\n// Correct this as you find out which version of the compiler\n// implemented the NRVO first.  (Daniel Frey)\n#if (BOOST_INTEL_CXX_VERSION >= 600)\n#  define BOOST_HAS_NRVO\n#endif\n\n// Branch prediction hints\n// I'm not sure 8.0 was the first version to support these builtins,\n// update the condition if the version is not accurate. (Andrey Semashev)\n#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800\n#define BOOST_LIKELY(x) __builtin_expect(x, 1)\n#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)\n#endif\n\n// RTTI\n// __RTTI is the EDG macro\n// __INTEL_RTTI__ is the Intel macro\n// __GXX_RTTI is the g++ macro\n// _CPPRTTI is the MSVC++ macro\n#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI)\n\n#if !defined(BOOST_NO_RTTI)\n# define BOOST_NO_RTTI\n#endif\n\n// in MS mode, static typeid works even when RTTI is off\n#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID)\n# define BOOST_NO_TYPEID\n#endif\n\n#endif\n\n//\n// versions check:\n// we don't support Intel prior to version 6.0:\n#if BOOST_INTEL_CXX_VERSION < 600\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n\n// Intel on MacOS requires\n#if defined(__APPLE__) && defined(__INTEL_COMPILER)\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif\n\n// Intel on Altix Itanium\n#if defined(__itanium__) && defined(__INTEL_COMPILER)\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif\n\n//\n// An attempt to value-initialize a pointer-to-member may trigger an\n// internal error on Intel <= 11.1 (last checked version), as was\n// reported by John Maddock, Intel support issue 589832, May 2010.\n// Moreover, according to test results from Huang-Vista-x86_32_intel,\n// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some\n// cases when it should be value-initialized.\n// (Niels Dekker, LKEB, May 2010)\n// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).\n#if defined(__INTEL_COMPILER)\n#  if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600))\n#    define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#  endif\n#endif\n\n//\n// Dynamic shared object (DSO) and dynamic-link library (DLL) support\n//\n#if defined(__GNUC__) && (__GNUC__ >= 4)\n#  define BOOST_SYMBOL_EXPORT __attribute__((visibility(\"default\")))\n#  define BOOST_SYMBOL_IMPORT\n#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility(\"default\")))\n#endif\n\n// Type aliasing hint\n#if defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1300)\n#  define BOOST_MAY_ALIAS __attribute__((__may_alias__))\n#endif\n\n//\n// C++0x features\n// For each feature we need to check both the Intel compiler version, \n// and the version of MSVC or GCC that we are emulating.\n// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/\n// for a list of which features were implemented in which Intel releases.\n//\n#if defined(BOOST_INTEL_STDCXX0X)\n// BOOST_NO_CXX11_CONSTEXPR:\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER)\n// Available in earlier Intel versions, but fail our tests:\n#  undef BOOST_NO_CXX11_CONSTEXPR\n#endif\n// BOOST_NO_CXX11_NULLPTR:\n#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n#  undef BOOST_NO_CXX11_NULLPTR\n#endif\n// BOOST_NO_CXX11_TEMPLATE_ALIASES\n#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_TEMPLATE_ALIASES\n#endif\n\n// BOOST_NO_CXX11_DECLTYPE\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n#  undef BOOST_NO_CXX11_DECLTYPE\n#endif\n\n// BOOST_NO_CXX11_DECLTYPE_N3276\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_DECLTYPE_N3276\n#endif\n\n// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#endif\n\n// BOOST_NO_CXX11_RVALUE_REFERENCES\n#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n// This is available from earlier Intel versions, but breaks Filesystem and other libraries:\n#  undef BOOST_NO_CXX11_RVALUE_REFERENCES\n#endif\n\n// BOOST_NO_CXX11_STATIC_ASSERT\n#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n#  undef BOOST_NO_CXX11_STATIC_ASSERT\n#endif\n\n// BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n\n// BOOST_NO_CXX11_VARIADIC_MACROS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400))\n#  undef BOOST_NO_CXX11_VARIADIC_MACROS\n#endif\n\n// BOOST_NO_CXX11_AUTO_DECLARATIONS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n#  undef BOOST_NO_CXX11_AUTO_DECLARATIONS\n#endif\n\n// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n#  undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#endif\n\n// BOOST_NO_CXX11_CHAR16_T\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))\n#  undef BOOST_NO_CXX11_CHAR16_T\n#endif\n\n// BOOST_NO_CXX11_CHAR32_T\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))\n#  undef BOOST_NO_CXX11_CHAR32_T\n#endif\n\n// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#endif\n\n// BOOST_NO_CXX11_DELETED_FUNCTIONS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_DELETED_FUNCTIONS\n#endif\n\n// BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))\n#  undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#endif\n\n// BOOST_NO_CXX11_SCOPED_ENUMS\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))\n// This is available but broken in earlier Intel releases.\n#  undef BOOST_NO_CXX11_SCOPED_ENUMS\n#endif\n\n// BOOST_NO_SFINAE_EXPR\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))\n#  undef BOOST_NO_SFINAE_EXPR\n#endif\n\n// BOOST_NO_CXX11_SFINAE_EXPR\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER)\n#  undef BOOST_NO_CXX11_SFINAE_EXPR\n#endif\n\n// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n// This is available in earlier Intel releases, but breaks Multiprecision:\n#  undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#endif\n\n// BOOST_NO_CXX11_LAMBDAS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))\n#  undef BOOST_NO_CXX11_LAMBDAS\n#endif\n\n// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500))\n#  undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#endif\n\n// BOOST_NO_CXX11_RANGE_BASED_FOR\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))\n#  undef BOOST_NO_CXX11_RANGE_BASED_FOR\n#endif\n\n// BOOST_NO_CXX11_RAW_LITERALS\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_RAW_LITERALS\n#endif\n\n// BOOST_NO_CXX11_UNICODE_LITERALS\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))\n#  undef BOOST_NO_CXX11_UNICODE_LITERALS\n#endif\n\n// BOOST_NO_CXX11_NOEXCEPT\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))\n// Available in earlier Intel release, but generates errors when used with \n// conditional exception specifications, for example in multiprecision:\n#  undef BOOST_NO_CXX11_NOEXCEPT\n#endif\n\n// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))\n#  undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#endif\n\n// BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))\n#  undef BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#endif\n\n// BOOST_NO_CXX11_ALIGNAS\n#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))\n#  undef BOOST_NO_CXX11_ALIGNAS\n#endif\n\n// BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))\n#  undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#endif\n\n// BOOST_NO_CXX11_INLINE_NAMESPACES\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))\n#  undef BOOST_NO_CXX11_INLINE_NAMESPACES\n#endif\n\n// BOOST_NO_CXX11_REF_QUALIFIERS\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))\n#  undef BOOST_NO_CXX11_REF_QUALIFIERS\n#endif\n\n// BOOST_NO_CXX11_FINAL\n// BOOST_NO_CXX11_OVERRIDE\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))\n#  undef BOOST_NO_CXX11_FINAL\n#  undef BOOST_NO_CXX11_OVERRIDE\n#endif\n\n// BOOST_NO_CXX11_UNRESTRICTED_UNION\n#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 50100)) && (!defined(_MSC_VER))\n#  undef BOOST_NO_CXX11_UNRESTRICTED_UNION\n#endif\n\n#endif // defined(BOOST_INTEL_STDCXX0X)\n\n//\n// Broken in all versions up to 15:\n#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n\n#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#endif\n\n#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400)\n// A regression in Intel's compiler means that <tuple> seems to be broken in this release as well as <future> :\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#endif\n\n#if (BOOST_INTEL_CXX_VERSION < 1200)\n//\n// fenv.h appears not to work with Intel prior to 12.0:\n//\n#  define BOOST_NO_FENV_H\n#endif\n\n// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections,\n// producing the following errors:\n// error #453: protected function \"...\" (declared at ...\") is not accessible through a \"...\" pointer or object\n#if (BOOST_INTEL_CXX_VERSION <= 1310)\n#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS\n#endif\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1600)\n#  define BOOST_HAS_STDINT_H\n#endif\n\n#if defined(__CUDACC__)\n#  if defined(BOOST_GCC_CXX11)\n#    define BOOST_NVCC_CXX11\n#  else\n#    define BOOST_NVCC_CXX03\n#  endif\n#endif\n\n#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03)\n#  define BOOST_HAS_INT128\n#endif\n\n#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))\n//\n// last known and checked version:\n#if (BOOST_INTEL_CXX_VERSION > 1700)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"Boost.Config is older than your compiler - please check for an updated Boost release.\"\n#  elif defined(_MSC_VER)\n//\n//      We don't emit this warning any more, since we have so few\n//      defect macros set anyway (just the one).\n//\n//#     pragma message(\"boost: Unknown compiler version - please run the configure tests and report the results\")\n#  endif\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/kai.hpp",
    "content": "//  (C) Copyright John Maddock 2001. \n//  (C) Copyright David Abrahams 2002. \n//  (C) Copyright Aleksey Gurtovoy 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Kai C++ compiler setup:\n\n#include <boost/config/compiler/common_edg.hpp>\n\n#   if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)\n      // at least on Sun, the contents of <cwchar> is not in namespace std\n#     define BOOST_NO_STDC_NAMESPACE\n#   endif\n\n// see also common_edg.hpp which needs a special check for __KCC\n# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)\n#     define BOOST_NO_EXCEPTIONS\n# endif\n\n//\n// last known and checked version is 4001:\n#if (__KCC_VERSION > 4001)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/metrowerks.hpp",
    "content": "//  (C) Copyright John Maddock 2001.\n//  (C) Copyright Darin Adler 2001.\n//  (C) Copyright Peter Dimov 2001.\n//  (C) Copyright David Abrahams 2001 - 2002.\n//  (C) Copyright Beman Dawes 2001 - 2003.\n//  (C) Copyright Stefan Slapeta 2004.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Metrowerks C++ compiler setup:\n\n// locale support is disabled when linking with the dynamic runtime\n#   ifdef _MSL_NO_LOCALE\n#     define BOOST_NO_STD_LOCALE\n#   endif\n\n#   if __MWERKS__ <= 0x2301  // 5.3\n#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\n#     define BOOST_NO_POINTER_TO_MEMBER_CONST\n#     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\n#     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD\n#   endif\n\n#   if __MWERKS__ <= 0x2401  // 6.2\n//#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\n#   endif\n\n#   if(__MWERKS__ <= 0x2407)  // 7.x\n#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\n#     define BOOST_NO_UNREACHABLE_RETURN_DETECTION\n#   endif\n\n#   if(__MWERKS__ <= 0x3003)  // 8.x\n#     define BOOST_NO_SFINAE\n#    endif\n\n// the \"|| !defined(BOOST_STRICT_CONFIG)\" part should apply to the last\n// tested version *only*:\n#   if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6\n#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#     define BOOST_NO_IS_ABSTRACT\n#    endif\n\n#if !__option(wchar_type)\n#   define BOOST_NO_INTRINSIC_WCHAR_T\n#endif\n\n#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS)\n#   define BOOST_NO_EXCEPTIONS\n#endif\n\n#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)\n#   if __MWERKS__ == 0x3000\n#     define BOOST_COMPILER_VERSION 8.0\n#   elif __MWERKS__ == 0x3001\n#     define BOOST_COMPILER_VERSION 8.1\n#   elif __MWERKS__ == 0x3002\n#     define BOOST_COMPILER_VERSION 8.2\n#   elif __MWERKS__ == 0x3003\n#     define BOOST_COMPILER_VERSION 8.3\n#   elif __MWERKS__ == 0x3200\n#     define BOOST_COMPILER_VERSION 9.0\n#   elif __MWERKS__ == 0x3201\n#     define BOOST_COMPILER_VERSION 9.1\n#   elif __MWERKS__ == 0x3202\n#     define BOOST_COMPILER_VERSION 9.2\n#   elif __MWERKS__ == 0x3204\n#     define BOOST_COMPILER_VERSION 9.3\n#   elif __MWERKS__ == 0x3205\n#     define BOOST_COMPILER_VERSION 9.4\n#   elif __MWERKS__ == 0x3206\n#     define BOOST_COMPILER_VERSION 9.5\n#   elif __MWERKS__ == 0x3207\n#     define BOOST_COMPILER_VERSION 9.6\n#   else\n#     define BOOST_COMPILER_VERSION __MWERKS__\n#   endif\n#else\n#  define BOOST_COMPILER_VERSION __MWERKS__\n#endif\n\n//\n// C++0x features\n//\n//   See boost\\config\\suffix.hpp for BOOST_NO_LONG_LONG\n//\n#if __MWERKS__ > 0x3206 && __option(rvalue_refs)\n#  define BOOST_HAS_RVALUE_REFS\n#else\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#endif\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CHAR16_T\n#define BOOST_NO_CXX11_CHAR32_T\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_VARIADIC_MACROS\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n#define BOOST_COMPILER \"Metrowerks CodeWarrior C++ version \" BOOST_STRINGIZE(BOOST_COMPILER_VERSION)\n\n//\n// versions check:\n// we don't support Metrowerks prior to version 5.3:\n#if __MWERKS__ < 0x2301\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n//\n// last known and checked version:\n#if (__MWERKS__ > 0x3205)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/mpw.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2002.\n//  (C) Copyright Aleksey Gurtovoy 2002.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  MPW C++ compilers setup:\n\n#   if    defined(__SC__)\n#     define BOOST_COMPILER \"MPW SCpp version \" BOOST_STRINGIZE(__SC__)\n#   elif defined(__MRC__)\n#     define BOOST_COMPILER \"MPW MrCpp version \" BOOST_STRINGIZE(__MRC__)\n#   else\n#     error \"Using MPW compiler configuration by mistake.  Please update.\"\n#   endif\n\n//\n// MPW 8.90:\n//\n#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)\n#  define BOOST_NO_CV_SPECIALIZATIONS\n#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS\n#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS\n#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n#  define BOOST_NO_INTRINSIC_WCHAR_T\n#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\n#  define BOOST_NO_USING_TEMPLATE\n\n#  define BOOST_NO_CWCHAR\n#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n\n#  define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */\n\n#endif\n\n//\n// C++0x features\n//\n//   See boost\\config\\suffix.hpp for BOOST_NO_LONG_LONG\n//\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CHAR16_T\n#define BOOST_NO_CXX11_CHAR32_T\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_VARIADIC_MACROS\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n//\n// versions check:\n// we don't support MPW prior to version 8.9:\n#if MPW_CPLUS < 0x890\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n//\n// last known and checked version is 0x890:\n#if (MPW_CPLUS > 0x890)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/nvcc.hpp",
    "content": "//  (C) Copyright Eric Jourdanneau, Joel Falcou 2010\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  NVIDIA CUDA C++ compiler setup\n\n#ifndef BOOST_COMPILER\n#  define BOOST_COMPILER \"NVIDIA CUDA C++ Compiler\"\n#endif\n\n#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)\n#  define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__)\n#else\n// We don't really know what the CUDA version is, but it's definitely before 7.5:\n#  define BOOST_CUDA_VERSION 7000000\n#endif\n\n// NVIDIA Specific support\n// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device\n#define BOOST_GPU_ENABLED __host__ __device__\n\n#if !defined(__clang__) || defined(__NVCC__)\n// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions\n// https://svn.boost.org/trac/boost/ticket/11897\n// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance\n// check is enough to detect versions < 7.5\n#if BOOST_CUDA_VERSION < 7050000\n#   define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n// The same bug is back again in 8.0:\n#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000)\n#   define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n// CUDA (8.0) has no constexpr support in msvc mode:\n#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000)\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n\n#endif\n\n#ifdef __CUDACC__\n//\n// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc:\n//\n#if defined(_MSC_VER)\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#endif\n//\n// And this one effects the NVCC front end,\n// See https://svn.boost.org/trac/boost/ticket/13049\n//\n#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000)\n#  define BOOST_NO_CXX11_NOEXCEPT\n#endif\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/pathscale.hpp",
    "content": "//  (C) Copyright Bryce Lelbach 2011\n\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n// PathScale EKOPath C++ Compiler\n\n#ifndef BOOST_COMPILER\n#  define BOOST_COMPILER \"PathScale EKOPath C++ Compiler version \" __PATHSCALE__\n#endif\n\n#if __PATHCC__ >= 6 \n// PathCC is based on clang, and supports the __has_*() builtins used \n// to detect features in clang.hpp. Since the clang toolset is much \n// better maintained, it is more convenient to reuse its definitions. \n#  include \"boost/config/compiler/clang.hpp\"\n#elif __PATHCC__ >= 4 \n#  define BOOST_MSVC6_MEMBER_TEMPLATES\n#  define BOOST_HAS_UNISTD_H\n#  define BOOST_HAS_STDINT_H\n#  define BOOST_HAS_SIGACTION\n#  define BOOST_HAS_SCHED_YIELD\n#  define BOOST_HAS_THREADS\n#  define BOOST_HAS_PTHREADS\n#  define BOOST_HAS_PTHREAD_YIELD\n#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR\n#  define BOOST_HAS_NRVO\n#  define BOOST_HAS_NL_TYPES_H\n#  define BOOST_HAS_NANOSLEEP\n#  define BOOST_HAS_LONG_LONG\n#  define BOOST_HAS_LOG1P\n#  define BOOST_HAS_GETTIMEOFDAY\n#  define BOOST_HAS_EXPM1\n#  define BOOST_HAS_DIRENT_H\n#  define BOOST_HAS_CLOCK_GETTIME\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#  define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#  define BOOST_NO_SFINAE_EXPR\n#  define BOOST_NO_CXX11_SFINAE_EXPR\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#  define BOOST_NO_CXX11_RANGE_BASED_FOR\n#  define BOOST_NO_CXX11_RAW_LITERALS\n#  define BOOST_NO_CXX11_NULLPTR\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_NOEXCEPT\n#  define BOOST_NO_CXX11_LAMBDAS\n#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#  define BOOST_NO_CXX11_DECLTYPE\n#  define BOOST_NO_CXX11_DECLTYPE_N3276\n#  define BOOST_NO_CXX11_CONSTEXPR\n#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#  define BOOST_NO_CXX11_CHAR32_T\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#  define BOOST_NO_CXX11_ALIGNAS\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#  define BOOST_NO_CXX11_FINAL\n#  define BOOST_NO_CXX11_OVERRIDE\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#  define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/pgi.hpp",
    "content": "//  (C) Copyright Noel Belcourt 2007.\n//  Copyright 2017, NVIDIA CORPORATION.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  PGI C++ compiler setup:\n\n#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__\n#define BOOST_COMPILER \"PGI compiler version \" BOOST_STRINGIZE(BOOST_COMPILER_VERSION)\n\n// PGI is mostly GNU compatible.  So start with that.\n#include <boost/config/compiler/gcc.hpp>\n\n// Now adjust for things that are different.\n\n// __float128 is a typedef, not a distinct type.\n#undef BOOST_HAS_FLOAT128\n\n// __int128 is not supported.\n#undef BOOST_HAS_INT128\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/sgi_mipspro.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  SGI C++ compiler setup:\n\n#define BOOST_COMPILER \"SGI Irix compiler version \" BOOST_STRINGIZE(_COMPILER_VERSION)\n\n#include <boost/config/compiler/common_edg.hpp>\n\n//\n// Threading support:\n// Turn this on unconditionally here, it will get turned off again later\n// if no threading API is detected.\n//\n#define BOOST_HAS_THREADS\n#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n\n#undef BOOST_NO_SWPRINTF\n#undef BOOST_DEDUCED_TYPENAME\n\n//\n// version check:\n// probably nothing to do here?\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/sunpro_cc.hpp",
    "content": "//  (C) Copyright John Maddock 2001.\n//  (C) Copyright Jens Maurer 2001 - 2003.\n//  (C) Copyright Peter Dimov 2002.\n//  (C) Copyright Aleksey Gurtovoy 2002 - 2003.\n//  (C) Copyright David Abrahams 2002.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Sun C++ compiler setup:\n\n#    if __SUNPRO_CC <= 0x500\n#      define BOOST_NO_MEMBER_TEMPLATES\n#      define BOOST_NO_FUNCTION_TEMPLATE_ORDERING\n#    endif\n\n#    if (__SUNPRO_CC <= 0x520)\n       //\n       // Sunpro 5.2 and earler:\n       //\n       // although sunpro 5.2 supports the syntax for\n       // inline initialization it often gets the value\n       // wrong, especially where the value is computed\n       // from other constants (J Maddock 6th May 2001)\n#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n\n       // Although sunpro 5.2 supports the syntax for\n       // partial specialization, it often seems to\n       // bind to the wrong specialization.  Better\n       // to disable it until suppport becomes more stable\n       // (J Maddock 6th May 2001).\n#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\n#    endif\n\n#    if (__SUNPRO_CC <= 0x530)\n       // Requesting debug info (-g) with Boost.Python results\n       // in an internal compiler error for \"static const\"\n       // initialized in-class.\n       //    >> Assertion:   (../links/dbg_cstabs.cc, line 611)\n       //         while processing ../test.cpp at line 0.\n       // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)\n#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n\n       // SunPro 5.3 has better support for partial specialization,\n       // but breaks when compiling std::less<shared_ptr<T> >\n       // (Jens Maurer 4 Nov 2001).\n\n       // std::less specialization fixed as reported by George\n       // Heintzelman; partial specialization re-enabled\n       // (Peter Dimov 17 Jan 2002)\n\n//#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION\n\n       // integral constant expressions with 64 bit numbers fail\n#      define BOOST_NO_INTEGRAL_INT64_T\n#    endif\n\n#    if (__SUNPRO_CC < 0x570)\n#      define BOOST_NO_TEMPLATE_TEMPLATES\n       // see http://lists.boost.org/MailArchives/boost/msg47184.php\n       // and http://lists.boost.org/MailArchives/boost/msg47220.php\n#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n#      define BOOST_NO_SFINAE\n#      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\n#    endif\n#    if (__SUNPRO_CC <= 0x580)\n#      define BOOST_NO_IS_ABSTRACT\n#    endif\n\n#    if (__SUNPRO_CC <= 0x5100)\n       // Sun 5.10 may not correctly value-initialize objects of\n       // some user defined types, as was reported in April 2010\n       // (CR 6947016), and confirmed by Steve Clamage.\n       // (Niels Dekker, LKEB, May 2010).\n#      define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#    endif\n\n//\n// Dynamic shared object (DSO) and dynamic-link library (DLL) support\n//\n#if __SUNPRO_CC > 0x500\n#  define BOOST_SYMBOL_EXPORT __global\n#  define BOOST_SYMBOL_IMPORT __global\n#  define BOOST_SYMBOL_VISIBLE __global\n#endif\n\n#if (__SUNPRO_CC < 0x5130)\n// C++03 features in 12.4:\n#define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_ADL_BARRIER\n#define BOOST_NO_CXX11_VARIADIC_MACROS\n#endif\n\n#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100)\n// C++11 only featuires in 12.4:\n#define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#define BOOST_NO_CXX11_CHAR16_T\n#define BOOST_NO_CXX11_CHAR32_T\n#define BOOST_NO_CXX11_CONSTEXPR\n#define BOOST_NO_CXX11_DECLTYPE\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RVALUE_REFERENCES\n#define BOOST_NO_CXX11_SCOPED_ENUMS\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#endif\n\n#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)\n#define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n\n#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n//\n// C++0x features\n//\n#  define BOOST_HAS_LONG_LONG\n\n#define BOOST_NO_CXX11_SFINAE_EXPR\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n// Turn on threading support for Solaris 12.\n// Ticket #11972\n#if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS)\n# define BOOST_HAS_THREADS\n#endif\n\n//\n// Version\n//\n\n#define BOOST_COMPILER \"Sun compiler version \" BOOST_STRINGIZE(__SUNPRO_CC)\n\n//\n// versions check:\n// we don't support sunpro prior to version 4:\n#if __SUNPRO_CC < 0x400\n#error \"Compiler not supported or configured - please reconfigure\"\n#endif\n//\n// last known and checked version:\n#if (__SUNPRO_CC > 0x5150)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"Boost.Config is older than your compiler - please check for an updated Boost release.\"\n#  endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/vacpp.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright Toon Knapen 2001 - 2003.\n//  (C) Copyright Lie-Quan Lee 2001.\n//  (C) Copyright Markus Schoepflin 2002 - 2003.\n//  (C) Copyright Beman Dawes 2002 - 2003.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Visual Age (IBM) C++ compiler setup:\n\n#if __IBMCPP__ <= 501\n#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS\n#endif\n\n#if (__IBMCPP__ <= 502)\n// Actually the compiler supports inclass member initialization but it\n// requires a definition for the class member and it doesn't recognize\n// it as an integral constant expression when used as a template argument.\n#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n#  define BOOST_NO_INTEGRAL_INT64_T\n#  define BOOST_NO_MEMBER_TEMPLATE_KEYWORD\n#endif\n\n#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)\n#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS\n#endif\n\n#if (__IBMCPP__ <= 1110)\n// XL C++ V11.1 and earlier versions may not always value-initialize\n// a temporary object T(), when T is a non-POD aggregate class type.\n// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it\n// high priority. -- Niels Dekker (LKEB), May 2010.\n#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n#endif\n\n//\n// On AIX thread support seems to be indicated by _THREAD_SAFE:\n//\n#ifdef _THREAD_SAFE\n#  define BOOST_HAS_THREADS\n#endif\n\n#define BOOST_COMPILER \"IBM Visual Age version \" BOOST_STRINGIZE(__IBMCPP__)\n\n//\n// versions check:\n// we don't support Visual age prior to version 5:\n#if __IBMCPP__ < 500\n#error \"Compiler not supported or configured - please reconfigure\"\n#endif\n//\n// last known and checked version is 1210:\n#if (__IBMCPP__ > 1210)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"boost: Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n// Some versions of the compiler have issues with default arguments on partial specializations\n#if __IBMCPP__ <= 1010\n#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS\n#endif\n\n// Type aliasing hint. Supported since XL C++ 13.1\n#if (__IBMCPP__ >= 1310)\n#  define BOOST_MAY_ALIAS __attribute__((__may_alias__))\n#endif\n\n//\n// C++0x features\n//\n//   See boost\\config\\suffix.hpp for BOOST_NO_LONG_LONG\n//\n#if ! __IBMCPP_AUTO_TYPEDEDUCTION\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#endif\n#if ! __IBMCPP_UTF_LITERAL__\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#endif\n#if ! __IBMCPP_CONSTEXPR\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n#if ! __IBMCPP_DECLTYPE\n#  define BOOST_NO_CXX11_DECLTYPE\n#else\n#  define BOOST_HAS_DECLTYPE\n#endif\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#endif\n#if ! __IBMCPP_EXTERN_TEMPLATE\n#  define BOOST_NO_CXX11_EXTERN_TEMPLATE\n#endif\n#if ! __IBMCPP_VARIADIC_TEMPLATES\n// not enabled separately at this time\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#endif\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#if ! __IBMCPP_RVALUE_REFERENCES\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#endif\n#if ! __IBMCPP_SCOPED_ENUM\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#endif\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#if ! __IBMCPP_STATIC_ASSERT\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#endif\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#if ! __IBMCPP_VARIADIC_TEMPLATES\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n#if ! __C99_MACRO_WITH_VA_ARGS\n#  define BOOST_NO_CXX11_VARIADIC_MACROS\n#endif\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#define BOOST_NO_CXX11_INLINE_NAMESPACES\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n\n// C++ 14:\n#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n#if (__cplusplus < 201304) // There's no SD6 check for this....\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n// C++17\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#endif\n#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/visualc.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright Darin Adler 2001 - 2002.\n//  (C) Copyright Peter Dimov 2001.\n//  (C) Copyright Aleksey Gurtovoy 2002.\n//  (C) Copyright David Abrahams 2002 - 2003.\n//  (C) Copyright Beman Dawes 2002 - 2003.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n//\n//  Microsoft Visual C++ compiler setup:\n//\n//  We need to be careful with the checks in this file, as contrary\n//  to popular belief there are versions with _MSC_VER with the final\n//  digit non-zero (mainly the MIPS cross compiler).\n//\n//  So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.\n//  No other comparisons (==, >, or <=) are safe.\n//\n\n#define BOOST_MSVC _MSC_VER\n\n//\n// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:\n//\n#if _MSC_FULL_VER > 100000000\n#  define BOOST_MSVC_FULL_VER _MSC_FULL_VER\n#else\n#  define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)\n#endif\n\n// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):\n#pragma warning( disable : 4503 ) // warning: decorated name length exceeded\n\n#define BOOST_HAS_PRAGMA_ONCE\n\n//\n// versions check:\n// we don't support Visual C++ prior to version 7.1:\n#if _MSC_VER < 1310\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n\n// VS2005 (VC8) docs: __assume has been in Visual C++ for multiple releases\n#define BOOST_UNREACHABLE_RETURN(x) __assume(0);\n\n#if _MSC_FULL_VER < 180020827\n#  define BOOST_NO_FENV_H\n#endif\n\n#if _MSC_VER < 1400\n// although a conforming signature for swprint exists in VC7.1\n// it appears not to actually work:\n#  define BOOST_NO_SWPRINTF\n// Our extern template tests also fail for this compiler:\n#  define BOOST_NO_CXX11_EXTERN_TEMPLATE\n// Variadic macros do not exist for VC7.1 and lower\n#  define BOOST_NO_CXX11_VARIADIC_MACROS\n#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#endif\n\n#if _MSC_VER < 1500  // 140X == VC++ 8.0\n#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS\n#endif\n\n#if _MSC_VER < 1600  // 150X == VC++ 9.0\n   // A bug in VC9:\n#  define BOOST_NO_ADL_BARRIER\n#endif\n\n\n#ifndef _NATIVE_WCHAR_T_DEFINED\n#  define BOOST_NO_INTRINSIC_WCHAR_T\n#endif\n\n//\n// check for exception handling support:\n#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n\n//\n// __int64 support:\n//\n#define BOOST_HAS_MS_INT64\n#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)\n#   define BOOST_HAS_LONG_LONG\n#else\n#   define BOOST_NO_LONG_LONG\n#endif\n#if (_MSC_VER >= 1400) && !defined(_DEBUG)\n#   define BOOST_HAS_NRVO\n#endif\n#if _MSC_VER >= 1600  // 160X == VC++ 10.0\n#  define BOOST_HAS_PRAGMA_DETECT_MISMATCH\n#endif\n//\n// disable Win32 API's if compiler extensions are\n// turned off:\n//\n#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)\n#  define BOOST_DISABLE_WIN32\n#endif\n#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)\n#  define BOOST_NO_RTTI\n#endif\n\n//\n// TR1 features:\n//\n#if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0)\n// # define BOOST_HAS_TR1_HASH          // don't know if this is true yet.\n// # define BOOST_HAS_TR1_TYPE_TRAITS   // don't know if this is true yet.\n# define BOOST_HAS_TR1_UNORDERED_MAP\n# define BOOST_HAS_TR1_UNORDERED_SET\n#endif\n\n//\n// C++0x features\n//\n//   See above for BOOST_NO_LONG_LONG\n\n// C++ features supported by VC++ 10 (aka 2010)\n//\n#if _MSC_VER < 1600\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#  define BOOST_NO_CXX11_LAMBDAS\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#  define BOOST_NO_CXX11_NULLPTR\n#  define BOOST_NO_CXX11_DECLTYPE\n#endif // _MSC_VER < 1600\n\n#if _MSC_VER >= 1600\n#  define BOOST_HAS_STDINT_H\n#endif\n\n// C++11 features supported by VC++ 11 (aka 2012)\n//\n#if _MSC_VER < 1700\n#  define BOOST_NO_CXX11_FINAL\n#  define BOOST_NO_CXX11_RANGE_BASED_FOR\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#  define BOOST_NO_CXX11_OVERRIDE\n#endif // _MSC_VER < 1700\n\n// C++11 features supported by VC++ 12 (aka 2013).\n//\n#if _MSC_FULL_VER < 180020827\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#  define BOOST_NO_CXX11_RAW_LITERALS\n#  define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#  define BOOST_NO_CXX11_DECLTYPE_N3276\n#endif\n\n#if _MSC_FULL_VER >= 180020827\n#define BOOST_HAS_EXPM1\n#define BOOST_HAS_LOG1P\n#endif\n\n// C++11 features supported by VC++ 14 (aka 2015)\n//\n#if (_MSC_FULL_VER < 190023026)\n#  define BOOST_NO_CXX11_NOEXCEPT\n#  define BOOST_NO_CXX11_DEFAULTED_MOVES\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#  define BOOST_NO_CXX11_ALIGNAS\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#  define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#endif\n// C++11 features supported by VC++ 14 update 3 (aka 2015)\n//\n#if (_MSC_FULL_VER < 190024210)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#  define BOOST_NO_SFINAE_EXPR\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n\n// C++14 features supported by VC++ 14.1 (Visual Studio 2017)\n//\n#if (_MSC_VER < 1910)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n\n// C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3\n//\n#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n// Let the defaults handle these now:\n//#  define BOOST_NO_CXX17_HDR_OPTIONAL\n//#  define BOOST_NO_CXX17_HDR_STRING_VIEW\n#endif\n\n// MSVC including version 14 has not yet completely\n// implemented value-initialization, as is reported:\n// \"VC++ does not value-initialize members of derived classes without\n// user-declared constructor\", reported in 2009 by Sylvester Hesp:\n// https://connect.microsoft.com/VisualStudio/feedback/details/484295\n// \"Presence of copy constructor breaks member class initialization\",\n// reported in 2009 by Alex Vakulenko:\n// https://connect.microsoft.com/VisualStudio/feedback/details/499606\n// \"Value-initialization in new-expression\", reported in 2005 by\n// Pavel Kuznetsov (MetaCommunications Engineering):\n// https://connect.microsoft.com/VisualStudio/feedback/details/100744\n// Reported again by John Maddock in 2015 for VC14:\n// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly\n// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues\n// (Niels Dekker, LKEB, May 2010)\n// Still present in VC15.5, Dec 2017.\n#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION\n//\n// C++ 11:\n//\n// This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell\n// if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go\n// on defining it for now:\n//\n#if (_MSC_FULL_VER < 193030705)  || (_MSVC_LANG < 202004)\n#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP\n#endif\n\n#if (_MSC_VER < 1912) || (_MSVC_LANG < 201402)\n// Supported from msvc-15.5 onwards:\n#define BOOST_NO_CXX11_SFINAE_EXPR\n#endif\n#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)\n// C++ 14:\n// Still gives internal compiler error for msvc-15.5:\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n// C++ 17:\n#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)\n#define BOOST_NO_CXX17_INLINE_VARIABLES\n#define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n\n//\n// Things that don't work in clr mode:\n//\n#ifdef _M_CEE\n#ifndef BOOST_NO_CXX11_THREAD_LOCAL\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n#ifndef BOOST_NO_SFINAE_EXPR\n#  define BOOST_NO_SFINAE_EXPR\n#endif\n#ifndef BOOST_NO_CXX11_REF_QUALIFIERS\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#endif\n#endif\n#ifdef _M_CEE_PURE\n#ifndef BOOST_NO_CXX11_CONSTEXPR\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n#endif\n\n//\n// prefix and suffix headers:\n//\n#ifndef BOOST_ABI_PREFIX\n#  define BOOST_ABI_PREFIX \"boost/config/abi/msvc_prefix.hpp\"\n#endif\n#ifndef BOOST_ABI_SUFFIX\n#  define BOOST_ABI_SUFFIX \"boost/config/abi/msvc_suffix.hpp\"\n#endif\n\n//\n// Approximate compiler conformance version\n//\n#ifdef _MSVC_LANG\n#  define BOOST_CXX_VERSION _MSVC_LANG\n#elif defined(_HAS_CXX17)\n#  define BOOST_CXX_VERSION 201703L\n#elif BOOST_MSVC >= 1916\n#  define BOOST_CXX_VERSION 201402L\n#endif\n\n#ifndef BOOST_COMPILER\n// TODO:\n// these things are mostly bogus. 1200 means version 12.0 of the compiler. The\n// artificial versions assigned to them only refer to the versions of some IDE\n// these compilers have been shipped with, and even that is not all of it. Some\n// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.\n// IOW, you can't use these 'versions' in any sensible way. Sorry.\n# if defined(UNDER_CE)\n#   if _MSC_VER < 1400\n      // Note: I'm not aware of any CE compiler with version 13xx\n#      if defined(BOOST_ASSERT_CONFIG)\n#         error \"boost: Unknown EVC++ compiler version - please run the configure tests and report the results\"\n#      else\n#         pragma message(\"boost: Unknown EVC++ compiler version - please run the configure tests and report the results\")\n#      endif\n#   elif _MSC_VER < 1500\n#     define BOOST_COMPILER_VERSION evc8\n#   elif _MSC_VER < 1600\n#     define BOOST_COMPILER_VERSION evc9\n#   elif _MSC_VER < 1700\n#     define BOOST_COMPILER_VERSION evc10\n#   elif _MSC_VER < 1800 \n#     define BOOST_COMPILER_VERSION evc11 \n#   elif _MSC_VER < 1900 \n#     define BOOST_COMPILER_VERSION evc12\n#   elif _MSC_VER < 2000  \n#     define BOOST_COMPILER_VERSION evc14\n#   else\n#      if defined(BOOST_ASSERT_CONFIG)\n#         error \"boost: Unknown EVC++ compiler version - please run the configure tests and report the results\"\n#      else\n#         pragma message(\"boost: Unknown EVC++ compiler version - please run the configure tests and report the results\")\n#      endif\n#   endif\n# else\n#   if _MSC_VER < 1200\n      // Note: Versions up to 10.0 aren't supported.\n#     define BOOST_COMPILER_VERSION 5.0\n#   elif _MSC_VER < 1300\n#     define BOOST_COMPILER_VERSION 6.0\n#   elif _MSC_VER < 1310\n#     define BOOST_COMPILER_VERSION 7.0\n#   elif _MSC_VER < 1400\n#     define BOOST_COMPILER_VERSION 7.1\n#   elif _MSC_VER < 1500\n#     define BOOST_COMPILER_VERSION 8.0\n#   elif _MSC_VER < 1600\n#     define BOOST_COMPILER_VERSION 9.0\n#   elif _MSC_VER < 1700\n#     define BOOST_COMPILER_VERSION 10.0\n#   elif _MSC_VER < 1800 \n#     define BOOST_COMPILER_VERSION 11.0\n#   elif _MSC_VER < 1900\n#     define BOOST_COMPILER_VERSION 12.0\n#   elif _MSC_VER < 1910\n#     define BOOST_COMPILER_VERSION 14.0\n#   elif _MSC_VER < 1920\n#     define BOOST_COMPILER_VERSION 14.1\n#   elif _MSC_VER < 1930\n#     define BOOST_COMPILER_VERSION 14.2\n#   else\n#     define BOOST_COMPILER_VERSION _MSC_VER\n#   endif\n# endif\n\n#  define BOOST_COMPILER \"Microsoft Visual C++ version \" BOOST_STRINGIZE(BOOST_COMPILER_VERSION)\n#endif\n\n#include <boost/config/pragma_message.hpp>\n\n//\n// last known and checked version is 19.20.27508 (VC++ 2019 RC3):\n#if (_MSC_VER > 1920)\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"Boost.Config is older than your current compiler version.\"\n#  elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)\n      //\n      // Disabled as of March 2018 - the pace of VS releases is hard to keep up with\n      // and in any case, we have relatively few defect macros defined now.\n      // 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.\")\n#  endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/xlcpp.hpp",
    "content": "// (C) Copyright Douglas Gregor 2010\n//\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang.\n\n#define BOOST_HAS_PRAGMA_ONCE\n\n// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.\n#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))\n#   define BOOST_HAS_PRAGMA_DETECT_MISMATCH\n#endif\n\n// When compiling with clang before __has_extension was defined,\n// even if one writes 'defined(__has_extension) && __has_extension(xxx)',\n// clang reports a compiler error. So the only workaround found is:\n\n#ifndef __has_extension\n#define __has_extension __has_feature\n#endif\n\n#ifndef __has_cpp_attribute\n#define __has_cpp_attribute(x) 0\n#endif\n\n#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n\n#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)\n#  define BOOST_NO_RTTI\n#endif\n\n#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)\n#  define BOOST_NO_TYPEID\n#endif\n\n#if defined(__int64) && !defined(__GNUC__)\n#  define BOOST_HAS_MS_INT64\n#endif\n\n#define BOOST_HAS_NRVO\n\n// Branch prediction hints\n#if defined(__has_builtin)\n#if __has_builtin(__builtin_expect)\n#define BOOST_LIKELY(x) __builtin_expect(x, 1)\n#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)\n#endif\n#endif\n\n// Clang supports \"long long\" in all compilation modes.\n#define BOOST_HAS_LONG_LONG\n\n//\n// Dynamic shared object (DSO) and dynamic-link library (DLL) support\n//\n#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)\n#  define BOOST_SYMBOL_EXPORT __attribute__((__visibility__(\"default\")))\n#  define BOOST_SYMBOL_IMPORT\n#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__(\"default\")))\n#endif\n\n//\n// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through\n// between switch labels.\n//\n#if __cplusplus >= 201103L && defined(__has_warning)\n#  if __has_feature(cxx_attributes) && __has_warning(\"-Wimplicit-fallthrough\")\n#    define BOOST_FALLTHROUGH [[clang::fallthrough]]\n#  endif\n#endif\n\n#if !__has_feature(cxx_auto_type)\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#endif\n\n//\n// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t\n//\n#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)\n#  define BOOST_NO_CXX11_CHAR16_T\n#  define BOOST_NO_CXX11_CHAR32_T\n#endif\n\n#if !__has_feature(cxx_constexpr)\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n\n#if !__has_feature(cxx_decltype)\n#  define BOOST_NO_CXX11_DECLTYPE\n#endif\n\n#if !__has_feature(cxx_decltype_incomplete_return_types)\n#  define BOOST_NO_CXX11_DECLTYPE_N3276\n#endif\n\n#if !__has_feature(cxx_defaulted_functions)\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#endif\n\n#if !__has_feature(cxx_deleted_functions)\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#endif\n\n#if !__has_feature(cxx_explicit_conversions)\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#endif\n\n#if !__has_feature(cxx_default_function_template_args)\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#endif\n\n#if !__has_feature(cxx_generalized_initializers)\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#endif\n\n#if !__has_feature(cxx_lambdas)\n#  define BOOST_NO_CXX11_LAMBDAS\n#endif\n\n#if !__has_feature(cxx_local_type_template_args)\n#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#endif\n\n#if !__has_feature(cxx_noexcept)\n#  define BOOST_NO_CXX11_NOEXCEPT\n#endif\n\n#if !__has_feature(cxx_nullptr)\n#  define BOOST_NO_CXX11_NULLPTR\n#endif\n\n#if !__has_feature(cxx_range_for)\n#  define BOOST_NO_CXX11_RANGE_BASED_FOR\n#endif\n\n#if !__has_feature(cxx_raw_string_literals)\n#  define BOOST_NO_CXX11_RAW_LITERALS\n#endif\n\n#if !__has_feature(cxx_reference_qualified_functions)\n#  define BOOST_NO_CXX11_REF_QUALIFIERS\n#endif\n\n#if !__has_feature(cxx_generalized_initializers)\n#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#endif\n\n#if !__has_feature(cxx_rvalue_references)\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#endif\n\n#if !__has_feature(cxx_strong_enums)\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#endif\n\n#if !__has_feature(cxx_static_assert)\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#endif\n\n#if !__has_feature(cxx_alias_templates)\n#  define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#endif\n\n#if !__has_feature(cxx_unicode_literals)\n#  define BOOST_NO_CXX11_UNICODE_LITERALS\n#endif\n\n#if !__has_feature(cxx_variadic_templates)\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#endif\n\n#if !__has_feature(cxx_user_literals)\n#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#endif\n\n#if !__has_feature(cxx_alignas)\n#  define BOOST_NO_CXX11_ALIGNAS\n#endif\n\n#if !__has_feature(cxx_trailing_return)\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#endif\n\n#if !__has_feature(cxx_inline_namespaces)\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#endif\n\n#if !__has_feature(cxx_override_control)\n#  define BOOST_NO_CXX11_FINAL\n#  define BOOST_NO_CXX11_OVERRIDE\n#endif\n\n#if !__has_feature(cxx_unrestricted_unions)\n#  define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#endif\n\n#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))\n#  define BOOST_NO_CXX14_BINARY_LITERALS\n#endif\n\n#if !__has_feature(__cxx_decltype_auto__)\n#  define BOOST_NO_CXX14_DECLTYPE_AUTO\n#endif\n\n#if !__has_feature(__cxx_aggregate_nsdmi__)\n#  define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#endif\n\n#if !__has_feature(__cxx_init_captures__)\n#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#endif\n\n#if !__has_feature(__cxx_generic_lambdas__)\n#  define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#endif\n\n// clang < 3.5 has a defect with dependent type, like following.\n//\n//  template <class T>\n//  constexpr typename enable_if<pred<T> >::type foo(T &)\n//  { } // error: no return statement in constexpr function\n//\n// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.\n// Therefore we don't care such case.\n//\n// Note that we can't check Clang version directly as the numbering system changes depending who's\n// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)\n// so instead verify that we have a feature that was introduced at the same time as working C++14\n// constexpr (generic lambda's in this case):\n//\n#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)\n#  define BOOST_NO_CXX14_CONSTEXPR\n#endif\n\n#if !__has_feature(__cxx_return_type_deduction__)\n#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#endif\n\n#if !__has_feature(__cxx_variable_templates__)\n#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#endif\n\n#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)\n#  define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#endif\n\n#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)\n#  define BOOST_NO_CXX17_IF_CONSTEXPR\n#endif\n\n// Clang 3.9+ in c++1z\n#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L\n#  define BOOST_NO_CXX17_INLINE_VARIABLES\n#  define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#endif\n\n#if !__has_feature(cxx_thread_local)\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n\n#if __cplusplus < 201400\n// All versions with __cplusplus above this value seem to support this:\n#  define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#endif\n\n\n// Unused attribute:\n#if defined(__GNUC__) && (__GNUC__ >= 4)\n#  define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))\n#endif\n\n// Type aliasing hint.\n#if __has_attribute(__may_alias__)\n#  define BOOST_MAY_ALIAS __attribute__((__may_alias__))\n#endif\n\n#ifndef BOOST_COMPILER\n#  define BOOST_COMPILER \"Clang version \" __clang_version__\n#endif\n\n// Macro used to identify the Clang compiler.\n#define BOOST_CLANG 1\n\n#define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/compiler/xlcpp_zos.hpp",
    "content": "//  Copyright (c) 2017 Dynatrace\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n\n//  See http://www.boost.org for most recent version.\n\n//  Compiler setup for IBM z/OS XL C/C++ compiler.\n\n// Oldest compiler version currently supported is 2.1 (V2R1)\n#if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000\n#  error \"Compiler not supported or configured - please reconfigure\"\n#endif\n\n#if __COMPILER_VER__ > 0x42010000\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"Unknown compiler version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n#define BOOST_COMPILER \"IBM z/OS XL C/C++ version \" BOOST_STRINGIZE(__COMPILER_VER__)\n#define BOOST_XLCPP_ZOS __COMPILER_VER__\n\n// -------------------------------------\n\n#include <features.h> // For __UU, __C99, __TR1, ...\n\n#if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS)\n#  define BOOST_NO_CXX11_DELETED_FUNCTIONS\n#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS\n#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS\n#endif\n\n// -------------------------------------\n\n#if defined(__UU) || defined(__C99) || defined(__TR1)\n#  define BOOST_HAS_LOG1P\n#  define BOOST_HAS_EXPM1\n#endif\n\n#if defined(__C99) || defined(__TR1)\n#  define BOOST_HAS_STDINT_H\n#else\n#  define BOOST_NO_FENV_H\n#endif\n\n// -------------------------------------\n\n#define BOOST_HAS_NRVO\n\n#if !defined(__RTTI_ALL__)\n#  define BOOST_NO_RTTI\n#endif\n\n#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS)\n#  define BOOST_NO_EXCEPTIONS\n#endif\n\n#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL)\n#  define BOOST_HAS_LONG_LONG\n#else\n#  define BOOST_NO_LONG_LONG\n#endif\n\n#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64)\n#  define BOOST_HAS_MS_INT64\n#endif\n\n#define BOOST_NO_SFINAE_EXPR\n#define BOOST_NO_CXX11_SFINAE_EXPR\n\n#if defined(__IBMCPP_VARIADIC_TEMPLATES)\n#  define BOOST_HAS_VARIADIC_TMPL\n#else\n#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES\n#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#endif\n\n#if defined(__IBMCPP_STATIC_ASSERT)\n#  define BOOST_HAS_STATIC_ASSERT\n#else\n#  define BOOST_NO_CXX11_STATIC_ASSERT\n#endif\n\n#if defined(__IBMCPP_RVALUE_REFERENCES)\n#  define BOOST_HAS_RVALUE_REFS\n#else\n#  define BOOST_NO_CXX11_RVALUE_REFERENCES\n#endif\n\n#if !defined(__IBMCPP_SCOPED_ENUM)\n#  define BOOST_NO_CXX11_SCOPED_ENUMS\n#endif\n\n#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#define BOOST_NO_CXX11_TEMPLATE_ALIASES\n#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS\n\n#if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS)\n#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS\n#endif\n\n#if !defined(__IBMCPP_DECLTYPE)\n#  define BOOST_NO_CXX11_DECLTYPE\n#else\n#  define BOOST_HAS_DECLTYPE\n#endif\n#define BOOST_NO_CXX11_DECLTYPE_N3276\n\n#if !defined(__IBMCPP_INLINE_NAMESPACE)\n#  define BOOST_NO_CXX11_INLINE_NAMESPACES\n#endif\n\n#if !defined(__IBMCPP_AUTO_TYPEDEDUCTION)\n#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS\n#  define BOOST_NO_CXX11_AUTO_DECLARATIONS\n#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES\n#endif\n\n#if !defined(__IBM_CHAR32_T__)\n#  define BOOST_NO_CXX11_CHAR32_T\n#endif\n#if !defined(__IBM_CHAR16_T__)\n#  define BOOST_NO_CXX11_CHAR16_T\n#endif\n\n#if !defined(__IBMCPP_CONSTEXPR)\n#  define BOOST_NO_CXX11_CONSTEXPR\n#endif\n\n#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX\n#define BOOST_NO_CXX11_UNICODE_LITERALS\n#define BOOST_NO_CXX11_RAW_LITERALS\n#define BOOST_NO_CXX11_RANGE_BASED_FOR\n#define BOOST_NO_CXX11_NULLPTR\n#define BOOST_NO_CXX11_NOEXCEPT\n#define BOOST_NO_CXX11_LAMBDAS\n#define BOOST_NO_CXX11_USER_DEFINED_LITERALS\n#define BOOST_NO_CXX11_THREAD_LOCAL\n#define BOOST_NO_CXX11_REF_QUALIFIERS\n#define BOOST_NO_CXX11_FINAL\n#define BOOST_NO_CXX11_OVERRIDE\n#define BOOST_NO_CXX11_ALIGNAS\n#define BOOST_NO_CXX11_UNRESTRICTED_UNION\n#define BOOST_NO_CXX14_VARIABLE_TEMPLATES\n#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION\n#define BOOST_NO_CXX14_AGGREGATE_NSDMI\n#define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES\n#define BOOST_NO_CXX14_GENERIC_LAMBDAS\n#define BOOST_NO_CXX14_DIGIT_SEPARATORS\n#define BOOST_NO_CXX14_DECLTYPE_AUTO\n#define BOOST_NO_CXX14_CONSTEXPR\n#define BOOST_NO_CXX14_BINARY_LITERALS\n#define BOOST_NO_CXX17_STRUCTURED_BINDINGS\n#define BOOST_NO_CXX17_INLINE_VARIABLES\n#define BOOST_NO_CXX17_FOLD_EXPRESSIONS\n#define BOOST_NO_CXX17_IF_CONSTEXPR\n\n// -------------------------------------\n\n#if defined(__IBM_ATTRIBUTES)\n#  define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))\n#  define BOOST_NOINLINE __attribute__ ((__noinline__))\n#  define BOOST_MAY_ALIAS __attribute__((__may_alias__))\n// No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1).\n#endif\n\nextern \"builtin\" long __builtin_expect(long, long);\n\n#define BOOST_LIKELY(x) __builtin_expect((x) && true, 1)\n#define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/detail/cxx_composite.hpp",
    "content": "//  This file was automatically generated on Tue Aug 17 16:27:31 2021\n//  by libs/config/tools/generate.cpp\n//  Copyright John Maddock 2002-21.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for the most recent version.//\n//  Revision $Id$\n//\n\n#if defined(BOOST_NO_ADL_BARRIER)\\\n   || defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\\\n   || defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\\\n   || defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\\\n   || defined(BOOST_NO_CTYPE_FUNCTIONS)\\\n   || defined(BOOST_NO_CV_SPECIALIZATIONS)\\\n   || defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\\\n   || defined(BOOST_NO_CWCHAR)\\\n   || defined(BOOST_NO_CWCTYPE)\\\n   || defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\\\n   || defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\\\n   || defined(BOOST_NO_EXCEPTIONS)\\\n   || defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\\\n   || defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\\\n   || defined(BOOST_NO_FENV_H)\\\n   || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\\\n   || defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\\\n   || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\\\n   || defined(BOOST_NO_INTEGRAL_INT64_T)\\\n   || defined(BOOST_NO_INTRINSIC_WCHAR_T)\\\n   || defined(BOOST_NO_IOSFWD)\\\n   || defined(BOOST_NO_IOSTREAM)\\\n   || defined(BOOST_NO_IS_ABSTRACT)\\\n   || defined(BOOST_NO_LIMITS)\\\n   || defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\\\n   || defined(BOOST_NO_LONG_LONG)\\\n   || defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\\\n   || defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\\\n   || defined(BOOST_NO_MEMBER_TEMPLATES)\\\n   || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\\\n   || defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\\\n   || defined(BOOST_NO_NESTED_FRIENDSHIP)\\\n   || defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\\\n   || defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\\\n   || defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\\\n   || defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\\\n   || defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\\\n   || defined(BOOST_NO_RESTRICT_REFERENCES)\\\n   || defined(BOOST_NO_RTTI)\\\n   || defined(BOOST_NO_SFINAE)\\\n   || defined(BOOST_NO_SFINAE_EXPR)\\\n   || defined(BOOST_NO_STDC_NAMESPACE)\\\n   || defined(BOOST_NO_STD_ALLOCATOR)\\\n   || defined(BOOST_NO_STD_DISTANCE)\\\n   || defined(BOOST_NO_STD_ITERATOR)\\\n   || defined(BOOST_NO_STD_ITERATOR_TRAITS)\\\n   || defined(BOOST_NO_STD_LOCALE)\\\n   || defined(BOOST_NO_STD_MESSAGES)\\\n   || defined(BOOST_NO_STD_MIN_MAX)\\\n   || defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\\\n   || defined(BOOST_NO_STD_TYPEINFO)\\\n   || defined(BOOST_NO_STD_USE_FACET)\\\n   || defined(BOOST_NO_STD_WSTREAMBUF)\\\n   || defined(BOOST_NO_STD_WSTRING)\\\n   || defined(BOOST_NO_STRINGSTREAM)\\\n   || defined(BOOST_NO_TEMPLATED_IOSTREAMS)\\\n   || defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\\\n   || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\\\n   || defined(BOOST_NO_TEMPLATE_TEMPLATES)\\\n   || defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\\\n   || defined(BOOST_NO_TYPEID)\\\n   || defined(BOOST_NO_TYPENAME_WITH_CTOR)\\\n   || defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\\\n   || defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\\\n   || defined(BOOST_NO_USING_TEMPLATE)\\\n   || defined(BOOST_NO_VOID_RETURNS)\n#    define BOOST_NO_CXX03\n#endif\n\n#if defined(BOOST_NO_CXX03)\\\n   || defined(BOOST_NO_CXX11_ADDRESSOF)\\\n   || defined(BOOST_NO_CXX11_ALIGNAS)\\\n   || defined(BOOST_NO_CXX11_ALLOCATOR)\\\n   || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\\\n   || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\\\n   || defined(BOOST_NO_CXX11_CHAR16_T)\\\n   || defined(BOOST_NO_CXX11_CHAR32_T)\\\n   || defined(BOOST_NO_CXX11_CONSTEXPR)\\\n   || defined(BOOST_NO_CXX11_DECLTYPE)\\\n   || defined(BOOST_NO_CXX11_DECLTYPE_N3276)\\\n   || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\\\n   || defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\\\n   || defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\\\n   || defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\\\n   || defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\\\n   || defined(BOOST_NO_CXX11_FINAL)\\\n   || defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\\\n   || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\\\n   || defined(BOOST_NO_CXX11_HDR_ARRAY)\\\n   || defined(BOOST_NO_CXX11_HDR_ATOMIC)\\\n   || defined(BOOST_NO_CXX11_HDR_CHRONO)\\\n   || defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\\\n   || defined(BOOST_NO_CXX11_HDR_EXCEPTION)\\\n   || defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\\\n   || defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\\\n   || defined(BOOST_NO_CXX11_HDR_FUTURE)\\\n   || defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\\\n   || defined(BOOST_NO_CXX11_HDR_MUTEX)\\\n   || defined(BOOST_NO_CXX11_HDR_RANDOM)\\\n   || defined(BOOST_NO_CXX11_HDR_RATIO)\\\n   || defined(BOOST_NO_CXX11_HDR_REGEX)\\\n   || defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\\\n   || defined(BOOST_NO_CXX11_HDR_THREAD)\\\n   || defined(BOOST_NO_CXX11_HDR_TUPLE)\\\n   || defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\\\n   || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\\\n   || defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\\\n   || defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\\\n   || defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\\\n   || defined(BOOST_NO_CXX11_LAMBDAS)\\\n   || defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\\\n   || defined(BOOST_NO_CXX11_NOEXCEPT)\\\n   || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\\\n   || defined(BOOST_NO_CXX11_NULLPTR)\\\n   || defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\\\n   || defined(BOOST_NO_CXX11_OVERRIDE)\\\n   || defined(BOOST_NO_CXX11_POINTER_TRAITS)\\\n   || defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\\\n   || defined(BOOST_NO_CXX11_RAW_LITERALS)\\\n   || defined(BOOST_NO_CXX11_REF_QUALIFIERS)\\\n   || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\\\n   || defined(BOOST_NO_CXX11_SCOPED_ENUMS)\\\n   || defined(BOOST_NO_CXX11_SFINAE_EXPR)\\\n   || defined(BOOST_NO_CXX11_SMART_PTR)\\\n   || defined(BOOST_NO_CXX11_STATIC_ASSERT)\\\n   || defined(BOOST_NO_CXX11_STD_ALIGN)\\\n   || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\\\n   || defined(BOOST_NO_CXX11_THREAD_LOCAL)\\\n   || defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\\\n   || defined(BOOST_NO_CXX11_UNICODE_LITERALS)\\\n   || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\\\n   || defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\\\n   || defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\\\n   || defined(BOOST_NO_CXX11_VARIADIC_MACROS)\\\n   || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)\n#    define BOOST_NO_CXX11\n#endif\n\n#if defined(BOOST_NO_CXX11)\\\n   || defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\\\n   || defined(BOOST_NO_CXX14_BINARY_LITERALS)\\\n   || defined(BOOST_NO_CXX14_CONSTEXPR)\\\n   || defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\\\n   || defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\\\n   || defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\\\n   || defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\\\n   || defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\\\n   || defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\\\n   || defined(BOOST_NO_CXX14_STD_EXCHANGE)\\\n   || defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)\n#    define BOOST_NO_CXX14\n#endif\n\n#if defined(BOOST_NO_CXX14)\\\n   || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\\\n   || defined(BOOST_NO_CXX17_HDR_ANY)\\\n   || defined(BOOST_NO_CXX17_HDR_CHARCONV)\\\n   || defined(BOOST_NO_CXX17_HDR_EXECUTION)\\\n   || defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\\\n   || defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\\\n   || defined(BOOST_NO_CXX17_HDR_OPTIONAL)\\\n   || defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\\\n   || defined(BOOST_NO_CXX17_HDR_VARIANT)\\\n   || defined(BOOST_NO_CXX17_IF_CONSTEXPR)\\\n   || defined(BOOST_NO_CXX17_INLINE_VARIABLES)\\\n   || defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\\\n   || defined(BOOST_NO_CXX17_STD_APPLY)\\\n   || defined(BOOST_NO_CXX17_STD_INVOKE)\\\n   || defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS)\n#    define BOOST_NO_CXX17\n#endif\n\n#if defined(BOOST_NO_CXX17)\\\n   || defined(BOOST_NO_CXX20_HDR_BARRIER)\\\n   || defined(BOOST_NO_CXX20_HDR_BIT)\\\n   || defined(BOOST_NO_CXX20_HDR_COMPARE)\\\n   || defined(BOOST_NO_CXX20_HDR_CONCEPTS)\\\n   || defined(BOOST_NO_CXX20_HDR_COROUTINE)\\\n   || defined(BOOST_NO_CXX20_HDR_FORMAT)\\\n   || defined(BOOST_NO_CXX20_HDR_LATCH)\\\n   || defined(BOOST_NO_CXX20_HDR_NUMBERS)\\\n   || defined(BOOST_NO_CXX20_HDR_RANGES)\\\n   || defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\\\n   || defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\\\n   || defined(BOOST_NO_CXX20_HDR_SPAN)\\\n   || defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\\\n   || defined(BOOST_NO_CXX20_HDR_SYNCSTREAM)\n#    define BOOST_NO_CXX20\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/detail/posix_features.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n\n//  See http://www.boost.org for most recent version.\n\n// All POSIX feature tests go in this file,\n// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well\n// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's\n// may be present but none-functional unless _POSIX_C_SOURCE and\n// _XOPEN_SOURCE have been defined to the right value (it's up\n// to the user to do this *before* including any header, although\n// in most cases the compiler will do this for you).\n\n#  if defined(BOOST_HAS_UNISTD_H)\n#     include <unistd.h>\n\n      // XOpen has <nl_types.h>, but is this the correct version check?\n#     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)\n#        define BOOST_HAS_NL_TYPES_H\n#     endif\n\n      // POSIX version 6 requires <stdint.h>\n#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)\n#        define BOOST_HAS_STDINT_H\n#     endif\n\n      // POSIX version 2 requires <dirent.h>\n#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)\n#        define BOOST_HAS_DIRENT_H\n#     endif\n\n      // POSIX version 3 requires <signal.h> to have sigaction:\n#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)\n#        define BOOST_HAS_SIGACTION\n#     endif\n      // POSIX defines _POSIX_THREADS > 0 for pthread support,\n      // however some platforms define _POSIX_THREADS without\n      // a value, hence the (_POSIX_THREADS+0 >= 0) check.\n      // Strictly speaking this may catch platforms with a\n      // non-functioning stub <pthreads.h>, but such occurrences should\n      // occur very rarely if at all.\n#     if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)\n#        define BOOST_HAS_PTHREADS\n#     endif\n\n      // BOOST_HAS_NANOSLEEP:\n      // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:\n#     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \\\n             || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))\n#        define BOOST_HAS_NANOSLEEP\n#     endif\n\n      // BOOST_HAS_CLOCK_GETTIME:\n      // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME\n      // but at least one platform - linux - defines that flag without\n      // defining clock_gettime):\n#     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))\n#        define BOOST_HAS_CLOCK_GETTIME\n#     endif\n\n      // BOOST_HAS_SCHED_YIELD:\n      // This is predicated on _POSIX_PRIORITY_SCHEDULING or\n      // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.\n#     if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\\\n            || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\\\n            || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))\n#        define BOOST_HAS_SCHED_YIELD\n#     endif\n\n      // BOOST_HAS_GETTIMEOFDAY:\n      // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:\n      // These are predicated on _XOPEN_VERSION, and appears to be first released\n      // in issue 4, version 2 (_XOPEN_VERSION > 500).\n      // Likewise for the functions log1p and expm1.\n#     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)\n#        define BOOST_HAS_GETTIMEOFDAY\n#        if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)\n#           define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#        endif\n#        ifndef BOOST_HAS_LOG1P\n#           define BOOST_HAS_LOG1P\n#        endif\n#        ifndef BOOST_HAS_EXPM1\n#           define BOOST_HAS_EXPM1\n#        endif\n#     endif\n\n#  endif\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/detail/select_compiler_config.hpp",
    "content": "//  Boost compiler configuration selection header file\n\n//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Martin Wille 2003.\n//  (C) Copyright Guillaume Melquiond 2003.\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//  (See accompanying file LICENSE_1_0.txt or copy at\n//   http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/ for most recent version.\n\n// locate which compiler we are using and define\n// BOOST_COMPILER_CONFIG as needed: \n\n#if defined __CUDACC__\n//  NVIDIA CUDA C++ compiler for GPU\n#   include \"boost/config/compiler/nvcc.hpp\"\n\n#endif\n\n#if defined(__GCCXML__)\n// GCC-XML emulates other compilers, it has to appear first here!\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/gcc_xml.hpp\"\n\n#elif defined(_CRAYC)\n// EDG based Cray compiler:\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/cray.hpp\"\n\n#elif defined __COMO__\n//  Comeau C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/comeau.hpp\"\n\n#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)\n// PathScale EKOPath compiler (has to come before clang and gcc)\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/pathscale.hpp\"\n\n#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)\n//  Intel\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/intel.hpp\"\n\n#elif defined __clang__ && !defined(__ibmxl__) && !defined(__CODEGEARC__)\n//  Clang C++ emulates GCC, so it has to appear early.\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/clang.hpp\"\n\n#elif defined __DMC__\n//  Digital Mars C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/digitalmars.hpp\"\n\n#elif defined __DCC__\n//  Wind River Diab C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/diab.hpp\"\n\n#elif defined(__PGI)\n//  Portland Group Inc.\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/pgi.hpp\"\n\n# elif defined(__GNUC__) && !defined(__ibmxl__)\n//  GNU C++:\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/gcc.hpp\"\n\n#elif defined __KCC\n//  Kai C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/kai.hpp\"\n\n#elif defined __sgi\n//  SGI MIPSpro C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/sgi_mipspro.hpp\"\n\n#elif defined __DECCXX\n//  Compaq Tru64 Unix cxx\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/compaq_cxx.hpp\"\n\n#elif defined __ghs\n//  Greenhills C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/greenhills.hpp\"\n\n#elif defined __CODEGEARC__\n//  CodeGear - must be checked for before Borland\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/codegear.hpp\"\n\n#elif defined __BORLANDC__\n//  Borland\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/borland.hpp\"\n\n#elif defined  __MWERKS__\n//  Metrowerks CodeWarrior\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/metrowerks.hpp\"\n\n#elif defined  __SUNPRO_CC\n//  Sun Workshop Compiler C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/sunpro_cc.hpp\"\n\n#elif defined __HP_aCC\n//  HP aCC\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/hp_acc.hpp\"\n\n#elif defined(__MRC__) || defined(__SC__)\n//  MPW MrCpp or SCpp\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/mpw.hpp\"\n\n#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__)\n//  IBM z/OS XL C/C++\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/xlcpp_zos.hpp\"\n\n#elif defined(__ibmxl__)\n//  IBM XL C/C++ for Linux (Little Endian)\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/xlcpp.hpp\"\n\n#elif defined(__IBMCPP__)\n//  IBM Visual Age or IBM XL C/C++ for Linux (Big Endian)\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/vacpp.hpp\"\n\n#elif defined _MSC_VER\n//  Microsoft Visual C++\n//\n//  Must remain the last #elif since some other vendors (Metrowerks, for\n//  example) also #define _MSC_VER\n#   define BOOST_COMPILER_CONFIG \"boost/config/compiler/visualc.hpp\"\n\n#elif defined (BOOST_ASSERT_CONFIG)\n// this must come last - generate an error if we don't\n// recognise the compiler:\n#  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)\"\n\n#endif\n\n#if 0\n//\n// This section allows dependency scanners to find all the headers we *might* include:\n//\n#include <boost/config/compiler/gcc_xml.hpp>\n#include <boost/config/compiler/cray.hpp>\n#include <boost/config/compiler/comeau.hpp>\n#include <boost/config/compiler/pathscale.hpp>\n#include <boost/config/compiler/intel.hpp>\n#include <boost/config/compiler/clang.hpp>\n#include <boost/config/compiler/digitalmars.hpp>\n#include <boost/config/compiler/gcc.hpp>\n#include <boost/config/compiler/kai.hpp>\n#include <boost/config/compiler/sgi_mipspro.hpp>\n#include <boost/config/compiler/compaq_cxx.hpp>\n#include <boost/config/compiler/greenhills.hpp>\n#include <boost/config/compiler/codegear.hpp>\n#include <boost/config/compiler/borland.hpp>\n#include <boost/config/compiler/metrowerks.hpp>\n#include <boost/config/compiler/sunpro_cc.hpp>\n#include <boost/config/compiler/hp_acc.hpp>\n#include <boost/config/compiler/mpw.hpp>\n#include <boost/config/compiler/xlcpp_zos.hpp>\n#include <boost/config/compiler/xlcpp.hpp>\n#include <boost/config/compiler/vacpp.hpp>\n#include <boost/config/compiler/pgi.hpp>\n#include <boost/config/compiler/visualc.hpp>\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/detail/select_platform_config.hpp",
    "content": "//  Boost compiler configuration selection header file\n\n//  (C) Copyright John Maddock 2001 - 2002. \n//  (C) Copyright Jens Maurer 2001. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.\n// Note that we define the headers to include using \"header_name\" not\n// <header_name> in order to prevent macro expansion within the header\n// name (for example \"linux\" is a macro on linux systems).\n\n#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)\n// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/linux.hpp\"\n\n#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)\n// BSD:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/bsd.hpp\"\n\n#elif defined(sun) || defined(__sun)\n// solaris:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/solaris.hpp\"\n\n#elif defined(__sgi)\n// SGI Irix:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/irix.hpp\"\n\n#elif defined(__hpux)\n// hp unix:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/hpux.hpp\"\n\n#elif defined(__CYGWIN__)\n// cygwin is not win32:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/cygwin.hpp\"\n\n#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)\n// win32:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/win32.hpp\"\n\n#elif defined(__HAIKU__)\n// Haiku\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/haiku.hpp\"\n\n#elif defined(__BEOS__)\n// BeOS\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/beos.hpp\"\n\n#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)\n// MacOS\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/macos.hpp\"\n\n#elif defined(__TOS_MVS__)\n// IBM z/OS\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/zos.hpp\"\n\n#elif defined(__IBMCPP__) || defined(_AIX)\n// IBM AIX\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/aix.hpp\"\n\n#elif defined(__amigaos__)\n// AmigaOS\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/amigaos.hpp\"\n\n#elif defined(__QNXNTO__)\n// QNX:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/qnxnto.hpp\"\n\n#elif defined(__VXWORKS__)\n// vxWorks:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/vxworks.hpp\"\n\n#elif defined(__SYMBIAN32__) \n// Symbian: \n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/symbian.hpp\" \n\n#elif defined(_CRAYC)\n// Cray:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/cray.hpp\" \n\n#elif defined(__VMS) \n// VMS:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/vms.hpp\" \n\n#elif defined(__CloudABI__)\n// Nuxi CloudABI:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/cloudabi.hpp\"\n\n#elif defined (__wasm__)\n// Web assembly:\n#  define BOOST_PLATFORM_CONFIG \"boost/config/platform/wasm.hpp\"\n\n#else\n\n#  if defined(unix) \\\n      || defined(__unix) \\\n      || defined(_XOPEN_SOURCE) \\\n      || defined(_POSIX_SOURCE)\n\n   // generic unix platform:\n\n#  ifndef BOOST_HAS_UNISTD_H\n#     define BOOST_HAS_UNISTD_H\n#  endif\n\n#  include <boost/config/detail/posix_features.hpp>\n\n#  endif\n\n#  if defined (BOOST_ASSERT_CONFIG)\n      // this must come last - generate an error if we don't\n      // recognise the platform:\n#     error \"Unknown platform - please configure and report the results to boost.org\"\n#  endif\n\n#endif\n\n#if 0\n//\n// This section allows dependency scanners to find all the files we *might* include:\n//\n#  include \"boost/config/platform/linux.hpp\"\n#  include \"boost/config/platform/bsd.hpp\"\n#  include \"boost/config/platform/solaris.hpp\"\n#  include \"boost/config/platform/irix.hpp\"\n#  include \"boost/config/platform/hpux.hpp\"\n#  include \"boost/config/platform/cygwin.hpp\"\n#  include \"boost/config/platform/win32.hpp\"\n#  include \"boost/config/platform/beos.hpp\"\n#  include \"boost/config/platform/macos.hpp\"\n#  include \"boost/config/platform/zos.hpp\"\n#  include \"boost/config/platform/aix.hpp\"\n#  include \"boost/config/platform/amigaos.hpp\"\n#  include \"boost/config/platform/qnxnto.hpp\"\n#  include \"boost/config/platform/vxworks.hpp\"\n#  include \"boost/config/platform/symbian.hpp\" \n#  include \"boost/config/platform/cray.hpp\" \n#  include \"boost/config/platform/vms.hpp\" \n#  include <boost/config/detail/posix_features.hpp>\n\n\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/detail/select_stdlib_config.hpp",
    "content": "//  Boost compiler configuration selection header file\n\n//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2001 - 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n\n//  See http://www.boost.org for most recent version.\n\n// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:\n\n// First, check if __has_include is available and <version> include can be located,\n// otherwise include <cstddef> to determine if some version of STLport is in use as the std lib\n// (do not rely on this header being included since users can short-circuit this header \n//  if they know whose std lib they are using.)\n#if defined(__cplusplus) && defined(__has_include)\n#  if __has_include(<version>)\n// It should be safe to include `<version>` when it is present without checking\n// the actual C++ language version as it consists solely of macro definitions.\n// [version.syn] p1: The header <version> supplies implementation-dependent\n// information about the C++ standard library (e.g., version number and release date).\n#    include <version>\n#  else\n#    include <cstddef>\n#  endif\n#elif defined(__cplusplus)\n#  include <cstddef>\n#else\n#  include <stddef.h>\n#endif\n\n#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)\n// STLPort library; this _must_ come first, otherwise since\n// STLport typically sits on top of some other library, we\n// can end up detecting that first rather than STLport:\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/stlport.hpp\"\n\n#else\n\n// If our std lib was not some version of STLport, and has not otherwise\n// been detected, then include <utility> as it is about \n// the smallest of the std lib headers that includes real C++ stuff.\n// Some std libs do not include their C++-related macros in <cstddef> \n// so this additional include makes sure we get those definitions.\n// Note: do not rely on this header being included since users can short-circuit this \n// #include if they know whose std lib they are using.\n#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\\\n   && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\\\n   && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\\\n   && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER)\n#include <utility>\n#endif\n\n#if defined(__LIBCOMO__)\n// Comeau STL:\n#define BOOST_STDLIB_CONFIG \"boost/config/stdlib/libcomo.hpp\"\n\n#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)\n// Rogue Wave library:\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/roguewave.hpp\"\n\n#elif defined(_LIBCPP_VERSION)\n// libc++\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/libcpp.hpp\"\n\n#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)\n// GNU libstdc++ 3\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/libstdcpp3.hpp\"\n\n#elif defined(__STL_CONFIG_H)\n// generic SGI STL\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/sgi.hpp\"\n\n#elif defined(__MSL_CPP__)\n// MSL standard lib:\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/msl.hpp\"\n\n#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__)\n// IBM z/OS XL C/C++\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/xlcpp_zos.hpp\"\n\n#elif defined(__IBMCPP__)\n// take the default VACPP std lib\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/vacpp.hpp\"\n\n#elif defined(MSIPL_COMPILE_H)\n// Modena C++ standard library\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/modena.hpp\"\n\n#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)\n// Dinkumware Library (this has to appear after any possible replacement libraries):\n#  define BOOST_STDLIB_CONFIG \"boost/config/stdlib/dinkumware.hpp\"\n\n#elif defined (BOOST_ASSERT_CONFIG)\n// this must come last - generate an error if we don't\n// recognise the library:\n#  error \"Unknown standard library - please configure and report the results to boost.org\"\n\n#endif\n\n#endif\n\n#if 0\n//\n// This section allows dependency scanners to find all the files we *might* include:\n//\n#  include \"boost/config/stdlib/stlport.hpp\"\n#  include \"boost/config/stdlib/libcomo.hpp\"\n#  include \"boost/config/stdlib/roguewave.hpp\"\n#  include \"boost/config/stdlib/libcpp.hpp\"\n#  include \"boost/config/stdlib/libstdcpp3.hpp\"\n#  include \"boost/config/stdlib/sgi.hpp\"\n#  include \"boost/config/stdlib/msl.hpp\"\n#  include \"boost/config/stdlib/xlcpp_zos.hpp\"\n#  include \"boost/config/stdlib/vacpp.hpp\"\n#  include \"boost/config/stdlib/modena.hpp\"\n#  include \"boost/config/stdlib/dinkumware.hpp\"\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/detail/suffix.hpp",
    "content": "//  Boost config.hpp configuration header file  ------------------------------//\n//  boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file\n\n//  Copyright (c) 2001-2003 John Maddock\n//  Copyright (c) 2001 Darin Adler\n//  Copyright (c) 2001 Peter Dimov\n//  Copyright (c) 2002 Bill Kempf\n//  Copyright (c) 2002 Jens Maurer\n//  Copyright (c) 2002-2003 David Abrahams\n//  Copyright (c) 2003 Gennaro Prota\n//  Copyright (c) 2003 Eric Friedman\n//  Copyright (c) 2010 Eric Jourdanneau, Joel Falcou\n// Distributed under the Boost Software License, Version 1.0. (See\n// accompanying file LICENSE_1_0.txt or copy at\n// http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/ for most recent version.\n\n//  Boost config.hpp policy and rationale documentation has been moved to\n//  http://www.boost.org/libs/config/\n//\n//  This file is intended to be stable, and relatively unchanging.\n//  It should contain boilerplate code only - no compiler specific\n//  code unless it is unavoidable - no changes unless unavoidable.\n\n#ifndef BOOST_CONFIG_SUFFIX_HPP\n#define BOOST_CONFIG_SUFFIX_HPP\n\n#if defined(__GNUC__) && (__GNUC__ >= 4)\n//\n// Some GCC-4.x versions issue warnings even when __extension__ is used,\n// so use this as a workaround:\n//\n#pragma GCC system_header\n#endif\n\n//\n// ensure that visibility macros are always defined, thus simplifying use\n//\n#ifndef BOOST_SYMBOL_EXPORT\n# define BOOST_SYMBOL_EXPORT\n#endif\n#ifndef BOOST_SYMBOL_IMPORT\n# define BOOST_SYMBOL_IMPORT\n#endif\n#ifndef BOOST_SYMBOL_VISIBLE\n# define BOOST_SYMBOL_VISIBLE\n#endif\n\n//\n// look for long long by looking for the appropriate macros in <limits.h>.\n// Note that we use limits.h rather than climits for maximal portability,\n// remember that since these just declare a bunch of macros, there should be\n// no namespace issues from this.\n//\n#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG)                                              \\\n   && !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC)\n# include <limits.h>\n# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))\n#   define BOOST_HAS_LONG_LONG\n# else\n#   define BOOST_NO_LONG_LONG\n# endif\n#endif\n\n// GCC 3.x will clean up all of those nasty macro definitions that\n// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine\n// it under GCC 3.x.\n#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)\n#  undef BOOST_NO_CTYPE_FUNCTIONS\n#endif\n\n//\n// Assume any extensions are in namespace std:: unless stated otherwise:\n//\n#  ifndef BOOST_STD_EXTENSION_NAMESPACE\n#    define BOOST_STD_EXTENSION_NAMESPACE std\n#  endif\n\n//\n// If cv-qualified specializations are not allowed, then neither are cv-void ones:\n//\n#  if defined(BOOST_NO_CV_SPECIALIZATIONS) \\\n      && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\n#     define BOOST_NO_CV_VOID_SPECIALIZATIONS\n#  endif\n\n//\n// If there is no numeric_limits template, then it can't have any compile time\n// constants either!\n//\n#  if defined(BOOST_NO_LIMITS) \\\n      && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\n#     define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS\n#     define BOOST_NO_LONG_LONG_NUMERIC_LIMITS\n#  endif\n\n//\n// if there is no long long then there is no specialisation\n// for numeric_limits<long long> either:\n//\n#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\n#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS\n#endif\n\n//\n// if there is no __int64 then there is no specialisation\n// for numeric_limits<__int64> either:\n//\n#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)\n#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS\n#endif\n\n//\n// if member templates are supported then so is the\n// VC6 subset of member templates:\n//\n#  if !defined(BOOST_NO_MEMBER_TEMPLATES) \\\n       && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)\n#     define BOOST_MSVC6_MEMBER_TEMPLATES\n#  endif\n\n//\n// Without partial specialization, can't test for partial specialisation bugs:\n//\n#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\\n      && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)\n#     define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG\n#  endif\n\n//\n// Without partial specialization, we can't have array-type partial specialisations:\n//\n#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\\n      && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\n#     define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS\n#  endif\n\n//\n// Without partial specialization, std::iterator_traits can't work:\n//\n#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\\n      && !defined(BOOST_NO_STD_ITERATOR_TRAITS)\n#     define BOOST_NO_STD_ITERATOR_TRAITS\n#  endif\n\n//\n// Without partial specialization, partial\n// specialization with default args won't work either:\n//\n#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\\n      && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\n#     define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS\n#  endif\n\n//\n// Without member template support, we can't have template constructors\n// in the standard library either:\n//\n#  if defined(BOOST_NO_MEMBER_TEMPLATES) \\\n      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \\\n      && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\n#     define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\n#  endif\n\n//\n// Without member template support, we can't have a conforming\n// std::allocator template either:\n//\n#  if defined(BOOST_NO_MEMBER_TEMPLATES) \\\n      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \\\n      && !defined(BOOST_NO_STD_ALLOCATOR)\n#     define BOOST_NO_STD_ALLOCATOR\n#  endif\n\n//\n// without ADL support then using declarations will break ADL as well:\n//\n#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)\n#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL\n#endif\n\n//\n// Without typeid support we have no dynamic RTTI either:\n//\n#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)\n#  define BOOST_NO_RTTI\n#endif\n\n//\n// If we have a standard allocator, then we have a partial one as well:\n//\n#if !defined(BOOST_NO_STD_ALLOCATOR)\n#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR\n#endif\n\n//\n// We can't have a working std::use_facet if there is no std::locale:\n//\n#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET)\n#     define BOOST_NO_STD_USE_FACET\n#  endif\n\n//\n// We can't have a std::messages facet if there is no std::locale:\n//\n#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES)\n#     define BOOST_NO_STD_MESSAGES\n#  endif\n\n//\n// We can't have a working std::wstreambuf if there is no std::locale:\n//\n#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)\n#     define BOOST_NO_STD_WSTREAMBUF\n#  endif\n\n//\n// We can't have a <cwctype> if there is no <cwchar>:\n//\n#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)\n#     define BOOST_NO_CWCTYPE\n#  endif\n\n//\n// We can't have a swprintf if there is no <cwchar>:\n//\n#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF)\n#     define BOOST_NO_SWPRINTF\n#  endif\n\n//\n// If Win32 support is turned off, then we must turn off\n// threading support also, unless there is some other\n// thread API enabled:\n//\n#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \\\n   && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)\n#  define BOOST_DISABLE_THREADS\n#endif\n\n//\n// Turn on threading support if the compiler thinks that it's in\n// multithreaded mode.  We put this here because there are only a\n// limited number of macros that identify this (if there's any missing\n// from here then add to the appropriate compiler section):\n//\n#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \\\n    || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \\\n    && !defined(BOOST_HAS_THREADS)\n#  define BOOST_HAS_THREADS\n#endif\n\n//\n// Turn threading support off if BOOST_DISABLE_THREADS is defined:\n//\n#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS)\n#  undef BOOST_HAS_THREADS\n#endif\n\n//\n// Turn threading support off if we don't recognise the threading API:\n//\n#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\\\n      && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\\\n      && !defined(BOOST_HAS_MPTASKS)\n#  undef BOOST_HAS_THREADS\n#endif\n\n//\n// Turn threading detail macros off if we don't (want to) use threading\n//\n#ifndef BOOST_HAS_THREADS\n#  undef BOOST_HAS_PTHREADS\n#  undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#  undef BOOST_HAS_PTHREAD_YIELD\n#  undef BOOST_HAS_PTHREAD_DELAY_NP\n#  undef BOOST_HAS_WINTHREADS\n#  undef BOOST_HAS_BETHREADS\n#  undef BOOST_HAS_MPTASKS\n#endif\n\n//\n// If the compiler claims to be C99 conformant, then it had better\n// have a <stdint.h>:\n//\n#  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)\n#     define BOOST_HAS_STDINT_H\n#     ifndef BOOST_HAS_LOG1P\n#        define BOOST_HAS_LOG1P\n#     endif\n#     ifndef BOOST_HAS_EXPM1\n#        define BOOST_HAS_EXPM1\n#     endif\n#  endif\n\n//\n// Define BOOST_NO_SLIST and BOOST_NO_HASH if required.\n// Note that this is for backwards compatibility only.\n//\n#  if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)\n#     define BOOST_NO_SLIST\n#  endif\n\n#  if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)\n#     define BOOST_NO_HASH\n#  endif\n\n//\n// Set BOOST_SLIST_HEADER if not set already:\n//\n#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER)\n#  define BOOST_SLIST_HEADER <slist>\n#endif\n\n//\n// Set BOOST_HASH_SET_HEADER if not set already:\n//\n#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER)\n#  define BOOST_HASH_SET_HEADER <hash_set>\n#endif\n\n//\n// Set BOOST_HASH_MAP_HEADER if not set already:\n//\n#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER)\n#  define BOOST_HASH_MAP_HEADER <hash_map>\n#endif\n\n//  BOOST_HAS_ABI_HEADERS\n//  This macro gets set if we have headers that fix the ABI,\n//  and prevent ODR violations when linking to external libraries:\n#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)\n#  define BOOST_HAS_ABI_HEADERS\n#endif\n\n#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)\n#  undef BOOST_HAS_ABI_HEADERS\n#endif\n\n//  BOOST_NO_STDC_NAMESPACE workaround  --------------------------------------//\n//  Because std::size_t usage is so common, even in boost headers which do not\n//  otherwise use the C library, the <cstddef> workaround is included here so\n//  that ugly workaround code need not appear in many other boost headers.\n//  NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>\n//  must still be #included in the usual places so that <cstddef> inclusion\n//  works as expected with standard conforming compilers.  The resulting\n//  double inclusion of <cstddef> is harmless.\n\n# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)\n#   include <cstddef>\n    namespace std { using ::ptrdiff_t; using ::size_t; }\n# endif\n\n//  Workaround for the unfortunate min/max macros defined by some platform headers\n\n#define BOOST_PREVENT_MACRO_SUBSTITUTION\n\n#ifndef BOOST_USING_STD_MIN\n#  define BOOST_USING_STD_MIN() using std::min\n#endif\n\n#ifndef BOOST_USING_STD_MAX\n#  define BOOST_USING_STD_MAX() using std::max\n#endif\n\n//  BOOST_NO_STD_MIN_MAX workaround  -----------------------------------------//\n\n#  if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)\n\nnamespace std {\n  template <class _Tp>\n  inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {\n    return __b < __a ? __b : __a;\n  }\n  template <class _Tp>\n  inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {\n    return  __a < __b ? __b : __a;\n  }\n}\n\n#  endif\n\n// BOOST_STATIC_CONSTANT workaround --------------------------------------- //\n// On compilers which don't allow in-class initialization of static integral\n// constant members, we must use enums as a workaround if we want the constants\n// to be available at compile-time. This macro gives us a convenient way to\n// declare such constants.\n\n#  ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION\n#       define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment }\n#  else\n#     define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment\n#  endif\n\n// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//\n// When the standard library does not have a conforming std::use_facet there\n// are various workarounds available, but they differ from library to library.\n// The same problem occurs with has_facet.\n// These macros provide a consistent way to access a locale's facets.\n// Usage:\n//    replace\n//       std::use_facet<Type>(loc);\n//    with\n//       BOOST_USE_FACET(Type, loc);\n//    Note do not add a std:: prefix to the front of BOOST_USE_FACET!\n//  Use for BOOST_HAS_FACET is analogous.\n\n#if defined(BOOST_NO_STD_USE_FACET)\n#  ifdef BOOST_HAS_TWO_ARG_USE_FACET\n#     define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))\n#     define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))\n#  elif defined(BOOST_HAS_MACRO_USE_FACET)\n#     define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)\n#     define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)\n#  elif defined(BOOST_HAS_STLP_USE_FACET)\n#     define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))\n#     define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)\n#  endif\n#else\n#  define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)\n#  define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)\n#endif\n\n// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//\n// Member templates are supported by some compilers even though they can't use\n// the A::template member<U> syntax, as a workaround replace:\n//\n// typedef typename A::template rebind<U> binder;\n//\n// with:\n//\n// typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;\n\n#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD\n#  define BOOST_NESTED_TEMPLATE template\n#else\n#  define BOOST_NESTED_TEMPLATE\n#endif\n\n// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//\n// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION\n// is defined, in which case it evaluates to return x; Use when you have a return\n// statement that can never be reached.\n\n#ifndef BOOST_UNREACHABLE_RETURN\n#  ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION\n#     define BOOST_UNREACHABLE_RETURN(x) return x;\n#  else\n#     define BOOST_UNREACHABLE_RETURN(x)\n#  endif\n#endif\n\n// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//\n//\n// Some compilers don't support the use of `typename' for dependent\n// types in deduced contexts, e.g.\n//\n//     template <class T> void f(T, typename T::type);\n//                                  ^^^^^^^^\n// Replace these declarations with:\n//\n//     template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);\n\n#ifndef BOOST_NO_DEDUCED_TYPENAME\n#  define BOOST_DEDUCED_TYPENAME typename\n#else\n#  define BOOST_DEDUCED_TYPENAME\n#endif\n\n#ifndef BOOST_NO_TYPENAME_WITH_CTOR\n#  define BOOST_CTOR_TYPENAME typename\n#else\n#  define BOOST_CTOR_TYPENAME\n#endif\n\n//\n// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __int128 and __float128 support if present:\n//\n#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128)\n#  undef BOOST_HAS_FLOAT128\n#endif\n#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_INT128)\n#  undef BOOST_HAS_INT128\n#endif\n\n// long long workaround ------------------------------------------//\n// On gcc (and maybe other compilers?) long long is alway supported\n// but it's use may generate either warnings (with -ansi), or errors\n// (with -pedantic -ansi) unless it's use is prefixed by __extension__\n//\n#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus)\nnamespace boost{\n#  ifdef __GNUC__\n   __extension__ typedef long long long_long_type;\n   __extension__ typedef unsigned long long ulong_long_type;\n#  else\n   typedef long long long_long_type;\n   typedef unsigned long long ulong_long_type;\n#  endif\n}\n#endif\n// same again for __int128:\n#if defined(BOOST_HAS_INT128) && defined(__cplusplus)\nnamespace boost{\n#  ifdef __GNUC__\n   __extension__ typedef __int128 int128_type;\n   __extension__ typedef unsigned __int128 uint128_type;\n#  else\n   typedef __int128 int128_type;\n   typedef unsigned __int128 uint128_type;\n#  endif\n}\n#endif\n// same again for __float128:\n#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus)\nnamespace boost {\n#  ifdef __GNUC__\n   __extension__ typedef __float128 float128_type;\n#  else\n   typedef __float128 float128_type;\n#  endif\n}\n#endif\n\n// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//\n\n// These macros are obsolete. Port away and remove.\n\n#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)\n#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)\n#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)\n#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)\n\n#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)\n#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)\n#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)\n#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)\n\n// When BOOST_NO_STD_TYPEINFO is defined, we can just import\n// the global definition into std namespace, \n// see https://svn.boost.org/trac10/ticket/4115\n#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC)\n#include <typeinfo>\nnamespace std{ using ::type_info; }\n// Since we do now have typeinfo, undef the macro:\n#undef BOOST_NO_STD_TYPEINFO\n#endif\n\n// ---------------------------------------------------------------------------//\n\n// Helper macro BOOST_STRINGIZE:\n// Helper macro BOOST_JOIN:\n\n#include <boost/config/helper_macros.hpp>\n\n//\n// Set some default values for compiler/library/platform names.\n// These are for debugging config setup only:\n//\n#  ifndef BOOST_COMPILER\n#     define BOOST_COMPILER \"Unknown ISO C++ Compiler\"\n#  endif\n#  ifndef BOOST_STDLIB\n#     define BOOST_STDLIB \"Unknown ISO standard library\"\n#  endif\n#  ifndef BOOST_PLATFORM\n#     if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \\\n         || defined(_POSIX_SOURCE)\n#        define BOOST_PLATFORM \"Generic Unix\"\n#     else\n#        define BOOST_PLATFORM \"Unknown\"\n#     endif\n#  endif\n\n//\n// Set some default values GPU support\n//\n#  ifndef BOOST_GPU_ENABLED\n#  define BOOST_GPU_ENABLED\n#  endif\n\n// BOOST_RESTRICT ---------------------------------------------//\n// Macro to use in place of 'restrict' keyword variants\n#if !defined(BOOST_RESTRICT)\n#  if defined(_MSC_VER)\n#    define BOOST_RESTRICT __restrict\n#    if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026)\n#      define BOOST_NO_RESTRICT_REFERENCES\n#    endif\n#  elif defined(__GNUC__) && __GNUC__ > 3\n     // Clang also defines __GNUC__ (as 4)\n#    define BOOST_RESTRICT __restrict__\n#  else\n#    define BOOST_RESTRICT\n#    if !defined(BOOST_NO_RESTRICT_REFERENCES)\n#      define BOOST_NO_RESTRICT_REFERENCES\n#    endif\n#  endif\n#endif\n\n// BOOST_MAY_ALIAS -----------------------------------------------//\n// The macro expands to an attribute to mark a type that is allowed to alias other types.\n// The macro is defined in the compiler-specific headers.\n#if !defined(BOOST_MAY_ALIAS)\n#  define BOOST_NO_MAY_ALIAS\n#  define BOOST_MAY_ALIAS\n#endif\n\n// BOOST_FORCEINLINE ---------------------------------------------//\n// Macro to use in place of 'inline' to force a function to be inline\n#if !defined(BOOST_FORCEINLINE)\n#  if defined(_MSC_VER)\n#    define BOOST_FORCEINLINE __forceinline\n#  elif defined(__GNUC__) && __GNUC__ > 3\n     // Clang also defines __GNUC__ (as 4)\n#    define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))\n#  else\n#    define BOOST_FORCEINLINE inline\n#  endif\n#endif\n\n// BOOST_NOINLINE ---------------------------------------------//\n// Macro to use in place of 'inline' to prevent a function to be inlined\n#if !defined(BOOST_NOINLINE)\n#  if defined(_MSC_VER)\n#    define BOOST_NOINLINE __declspec(noinline)\n#  elif defined(__GNUC__) && __GNUC__ > 3\n     // Clang also defines __GNUC__ (as 4)\n#    if defined(__CUDACC__)\n       // nvcc doesn't always parse __noinline__,\n       // see: https://svn.boost.org/trac/boost/ticket/9392\n#      define BOOST_NOINLINE __attribute__ ((noinline))\n#    elif defined(HIP_VERSION)\n       // See https://github.com/boostorg/config/issues/392\n#      define BOOST_NOINLINE __attribute__ ((noinline))\n#    else\n#      define BOOST_NOINLINE __attribute__ ((__noinline__))\n#    endif\n#  else\n#    define BOOST_NOINLINE\n#  endif\n#endif\n\n// BOOST_NORETURN ---------------------------------------------//\n// Macro to use before a function declaration/definition to designate\n// the function as not returning normally (i.e. with a return statement\n// or by leaving the function scope, if the function return type is void).\n#if !defined(BOOST_NORETURN)\n#  if defined(_MSC_VER)\n#    define BOOST_NORETURN __declspec(noreturn)\n#  elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__)\n#    define BOOST_NORETURN __attribute__ ((__noreturn__))\n#  elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)\n#    if __has_attribute(noreturn)\n#      define BOOST_NORETURN [[noreturn]]\n#    endif\n#  elif defined(__has_cpp_attribute) \n#    if __has_cpp_attribute(noreturn)\n#      define BOOST_NORETURN [[noreturn]]\n#    endif\n#  endif\n#endif\n\n#if !defined(BOOST_NORETURN)\n#  define BOOST_NO_NORETURN\n#  define BOOST_NORETURN\n#endif\n\n// Branch prediction hints\n// These macros are intended to wrap conditional expressions that yield true or false\n//\n//  if (BOOST_LIKELY(var == 10))\n//  {\n//     // the most probable code here\n//  }\n//\n#if !defined(BOOST_LIKELY)\n#  define BOOST_LIKELY(x) x\n#endif\n#if !defined(BOOST_UNLIKELY)\n#  define BOOST_UNLIKELY(x) x\n#endif\n\n#if !defined(BOOST_NO_CXX11_OVERRIDE)\n#  define BOOST_OVERRIDE override\n#else\n#  define BOOST_OVERRIDE\n#endif\n\n// Type and data alignment specification\n//\n#if !defined(BOOST_ALIGNMENT)\n#  if !defined(BOOST_NO_CXX11_ALIGNAS)\n#    define BOOST_ALIGNMENT(x) alignas(x)\n#  elif defined(_MSC_VER)\n#    define BOOST_ALIGNMENT(x) __declspec(align(x))\n#  elif defined(__GNUC__)\n#    define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x)))\n#  else\n#    define BOOST_NO_ALIGNMENT\n#    define BOOST_ALIGNMENT(x)\n#  endif\n#endif\n\n// Lack of non-public defaulted functions is implied by the lack of any defaulted functions\n#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\n#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS\n#endif\n\n// Lack of defaulted moves is implied by the lack of either rvalue references or any defaulted functions\n#if !defined(BOOST_NO_CXX11_DEFAULTED_MOVES) && (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES))\n#  define BOOST_NO_CXX11_DEFAULTED_MOVES\n#endif\n\n// Defaulted and deleted function declaration helpers\n// These macros are intended to be inside a class definition.\n// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its\n// body, which will be used if the compiler doesn't support defaulted functions.\n// BOOST_DELETED_FUNCTION only accepts the function declaration. It\n// will expand to a private function declaration, if the compiler doesn't support\n// deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION\n// in the end of the class definition.\n//\n//  class my_class\n//  {\n//  public:\n//      // Default-constructible\n//      BOOST_DEFAULTED_FUNCTION(my_class(), {})\n//      // Copying prohibited\n//      BOOST_DELETED_FUNCTION(my_class(my_class const&))\n//      BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&))\n//  };\n//\n#if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS))\n#   define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default;\n#else\n#   define BOOST_DEFAULTED_FUNCTION(fun, body) fun body\n#endif\n\n#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\n#   define BOOST_DELETED_FUNCTION(fun) fun = delete;\n#else\n#   define BOOST_DELETED_FUNCTION(fun) private: fun;\n#endif\n\n//\n// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined\n//\n#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)\n#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE\n#endif\n\n//  -------------------- Deprecated macros for 1.50 ---------------------------\n//  These will go away in a future release\n\n//  Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP\n//           instead of BOOST_NO_STD_UNORDERED\n#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET)\n# ifndef BOOST_NO_CXX11_STD_UNORDERED\n#  define BOOST_NO_CXX11_STD_UNORDERED\n# endif\n#endif\n\n//  Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS\n#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)\n#  define BOOST_NO_INITIALIZER_LISTS\n#endif\n\n//  Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY\n#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY)\n#  define BOOST_NO_0X_HDR_ARRAY\n#endif\n//  Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO\n#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO)\n#  define BOOST_NO_0X_HDR_CHRONO\n#endif\n//  Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT\n#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT)\n#  define BOOST_NO_0X_HDR_CODECVT\n#endif\n//  Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE\n#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE)\n#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE\n#endif\n//  Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST\n#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST)\n#  define BOOST_NO_0X_HDR_FORWARD_LIST\n#endif\n//  Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE\n#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE)\n#  define BOOST_NO_0X_HDR_FUTURE\n#endif\n\n//  Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n//  instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS\n#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST\n#  define BOOST_NO_0X_HDR_INITIALIZER_LIST\n# endif\n# ifndef BOOST_NO_INITIALIZER_LISTS\n#  define BOOST_NO_INITIALIZER_LISTS\n# endif\n#endif\n\n//  Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX\n#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX)\n#  define BOOST_NO_0X_HDR_MUTEX\n#endif\n//  Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM\n#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM)\n#  define BOOST_NO_0X_HDR_RANDOM\n#endif\n//  Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO\n#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO)\n#  define BOOST_NO_0X_HDR_RATIO\n#endif\n//  Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX\n#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX)\n#  define BOOST_NO_0X_HDR_REGEX\n#endif\n//  Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR\n#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR)\n#  define BOOST_NO_0X_HDR_SYSTEM_ERROR\n#endif\n//  Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD\n#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD)\n#  define BOOST_NO_0X_HDR_THREAD\n#endif\n//  Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE\n#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE)\n#  define BOOST_NO_0X_HDR_TUPLE\n#endif\n//  Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS\n#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)\n#  define BOOST_NO_0X_HDR_TYPE_TRAITS\n#endif\n//  Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX\n#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX)\n#  define BOOST_NO_0X_HDR_TYPEINDEX\n#endif\n//  Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP\n#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP)\n#  define BOOST_NO_0X_HDR_UNORDERED_MAP\n#endif\n//  Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET\n#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET)\n#  define BOOST_NO_0X_HDR_UNORDERED_SET\n#endif\n\n//  ------------------ End of deprecated macros for 1.50 ---------------------------\n\n//  -------------------- Deprecated macros for 1.51 ---------------------------\n//  These will go away in a future release\n\n//  Use     BOOST_NO_CXX11_AUTO_DECLARATIONS instead of   BOOST_NO_AUTO_DECLARATIONS\n#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS)\n#  define BOOST_NO_AUTO_DECLARATIONS\n#endif\n//  Use     BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of   BOOST_NO_AUTO_MULTIDECLARATIONS\n#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS)\n#  define BOOST_NO_AUTO_MULTIDECLARATIONS\n#endif\n//  Use     BOOST_NO_CXX11_CHAR16_T instead of   BOOST_NO_CHAR16_T\n#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T)\n#  define BOOST_NO_CHAR16_T\n#endif\n//  Use     BOOST_NO_CXX11_CHAR32_T instead of   BOOST_NO_CHAR32_T\n#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T)\n#  define BOOST_NO_CHAR32_T\n#endif\n//  Use     BOOST_NO_CXX11_TEMPLATE_ALIASES instead of   BOOST_NO_TEMPLATE_ALIASES\n#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES)\n#  define BOOST_NO_TEMPLATE_ALIASES\n#endif\n//  Use     BOOST_NO_CXX11_CONSTEXPR instead of   BOOST_NO_CONSTEXPR\n#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR)\n#  define BOOST_NO_CONSTEXPR\n#endif\n//  Use     BOOST_NO_CXX11_DECLTYPE_N3276 instead of   BOOST_NO_DECLTYPE_N3276\n#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276)\n#  define BOOST_NO_DECLTYPE_N3276\n#endif\n//  Use     BOOST_NO_CXX11_DECLTYPE instead of   BOOST_NO_DECLTYPE\n#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE)\n#  define BOOST_NO_DECLTYPE\n#endif\n//  Use     BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of   BOOST_NO_DEFAULTED_FUNCTIONS\n#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS)\n#  define BOOST_NO_DEFAULTED_FUNCTIONS\n#endif\n//  Use     BOOST_NO_CXX11_DELETED_FUNCTIONS instead of   BOOST_NO_DELETED_FUNCTIONS\n#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS)\n#  define BOOST_NO_DELETED_FUNCTIONS\n#endif\n//  Use     BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of   BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\n#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS)\n#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS\n#endif\n//  Use     BOOST_NO_CXX11_EXTERN_TEMPLATE instead of   BOOST_NO_EXTERN_TEMPLATE\n#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE)\n#  define BOOST_NO_EXTERN_TEMPLATE\n#endif\n//  Use     BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of   BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)\n#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS\n#endif\n//  Use     BOOST_NO_CXX11_LAMBDAS instead of   BOOST_NO_LAMBDAS\n#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS)\n#  define BOOST_NO_LAMBDAS\n#endif\n//  Use     BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of   BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS)\n#  define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS\n#endif\n//  Use     BOOST_NO_CXX11_NOEXCEPT instead of   BOOST_NO_NOEXCEPT\n#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT)\n#  define BOOST_NO_NOEXCEPT\n#endif\n//  Use     BOOST_NO_CXX11_NULLPTR instead of   BOOST_NO_NULLPTR\n#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR)\n#  define BOOST_NO_NULLPTR\n#endif\n//  Use     BOOST_NO_CXX11_RAW_LITERALS instead of   BOOST_NO_RAW_LITERALS\n#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS)\n#  define BOOST_NO_RAW_LITERALS\n#endif\n//  Use     BOOST_NO_CXX11_RVALUE_REFERENCES instead of   BOOST_NO_RVALUE_REFERENCES\n#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES)\n#  define BOOST_NO_RVALUE_REFERENCES\n#endif\n//  Use     BOOST_NO_CXX11_SCOPED_ENUMS instead of   BOOST_NO_SCOPED_ENUMS\n#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS)\n#  define BOOST_NO_SCOPED_ENUMS\n#endif\n//  Use     BOOST_NO_CXX11_STATIC_ASSERT instead of   BOOST_NO_STATIC_ASSERT\n#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT)\n#  define BOOST_NO_STATIC_ASSERT\n#endif\n//  Use     BOOST_NO_CXX11_STD_UNORDERED instead of   BOOST_NO_STD_UNORDERED\n#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED)\n#  define BOOST_NO_STD_UNORDERED\n#endif\n//  Use     BOOST_NO_CXX11_UNICODE_LITERALS instead of   BOOST_NO_UNICODE_LITERALS\n#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS)\n#  define BOOST_NO_UNICODE_LITERALS\n#endif\n//  Use     BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of   BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX\n#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX)\n#  define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX\n#endif\n//  Use     BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of   BOOST_NO_VARIADIC_TEMPLATES\n#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES)\n#  define BOOST_NO_VARIADIC_TEMPLATES\n#endif\n//  Use     BOOST_NO_CXX11_VARIADIC_MACROS instead of   BOOST_NO_VARIADIC_MACROS\n#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS)\n#  define BOOST_NO_VARIADIC_MACROS\n#endif\n//  Use     BOOST_NO_CXX11_NUMERIC_LIMITS instead of   BOOST_NO_NUMERIC_LIMITS_LOWEST\n#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST)\n#  define BOOST_NO_NUMERIC_LIMITS_LOWEST\n#endif\n//  ------------------ End of deprecated macros for 1.51 ---------------------------\n\n\n//\n// Helper macro for marking types and methods final\n//\n#if !defined(BOOST_NO_CXX11_FINAL)\n#  define BOOST_FINAL final\n#else\n#  define BOOST_FINAL\n#endif\n\n//\n// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR\n// These aid the transition to C++11 while still supporting C++03 compilers\n//\n#ifdef BOOST_NO_CXX11_NOEXCEPT\n#  define BOOST_NOEXCEPT\n#  define BOOST_NOEXCEPT_OR_NOTHROW throw()\n#  define BOOST_NOEXCEPT_IF(Predicate)\n#  define BOOST_NOEXCEPT_EXPR(Expression) false\n#else\n#  define BOOST_NOEXCEPT noexcept\n#  define BOOST_NOEXCEPT_OR_NOTHROW noexcept\n#  define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))\n#  define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))\n#endif\n//\n// Helper macro BOOST_FALLTHROUGH\n// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended\n// fall-through between case labels in a switch statement. We use a definition\n// that requires a semicolon after it to avoid at least one type of misuse even\n// on unsupported compilers.\n//\n#ifndef BOOST_FALLTHROUGH\n#  define BOOST_FALLTHROUGH ((void)0)\n#endif\n\n//\n// constexpr workarounds\n//\n#if defined(BOOST_NO_CXX11_CONSTEXPR)\n#define BOOST_CONSTEXPR\n#define BOOST_CONSTEXPR_OR_CONST const\n#else\n#define BOOST_CONSTEXPR constexpr\n#define BOOST_CONSTEXPR_OR_CONST constexpr\n#endif\n#if defined(BOOST_NO_CXX14_CONSTEXPR)\n#define BOOST_CXX14_CONSTEXPR\n#else\n#define BOOST_CXX14_CONSTEXPR constexpr\n#endif\n\n//\n// C++17 inline variables\n//\n#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES)\n#define BOOST_INLINE_VARIABLE inline\n#else\n#define BOOST_INLINE_VARIABLE\n#endif\n//\n// C++17 if constexpr\n//\n#if !defined(BOOST_NO_CXX17_IF_CONSTEXPR)\n#  define BOOST_IF_CONSTEXPR if constexpr\n#else\n#  define BOOST_IF_CONSTEXPR if\n#endif\n\n#define BOOST_INLINE_CONSTEXPR  BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST\n\n//\n// Unused variable/typedef workarounds:\n//\n#ifndef BOOST_ATTRIBUTE_UNUSED\n#  define BOOST_ATTRIBUTE_UNUSED\n#endif\n//\n// [[nodiscard]]:\n//\n#if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)\n#if __has_attribute(nodiscard)\n# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]]\n#endif\n#if __has_attribute(no_unique_address)\n# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]]\n#endif\n#elif defined(__has_cpp_attribute)\n// clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic\n#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) && !(defined(__GNUC__) && (__cplusplus < 201100))\n# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]]\n#endif\n#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100))\n# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]]\n#endif\n#endif\n#ifndef BOOST_ATTRIBUTE_NODISCARD\n# define BOOST_ATTRIBUTE_NODISCARD\n#endif\n#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS\n# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS\n#endif\n\n#define BOOST_STATIC_CONSTEXPR  static BOOST_CONSTEXPR_OR_CONST\n\n//\n// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined\n//\n#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)\n#  define BOOST_HAS_STATIC_ASSERT\n#endif\n\n//\n// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined\n//\n#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)\n#define BOOST_HAS_RVALUE_REFS\n#endif\n\n//\n// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined\n//\n#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)\n#define BOOST_HAS_VARIADIC_TMPL\n#endif\n//\n// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when\n// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set:\n//\n#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\n#  define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS\n#endif\n\n// This is a catch all case for obsolete compilers / std libs:\n#if !defined(_YVALS) && !defined(_CPPLIB_VER)  // msvc std lib already configured\n#if (!defined(__has_include) || (__cplusplus < 201700))\n#  define BOOST_NO_CXX17_HDR_OPTIONAL\n#  define BOOST_NO_CXX17_HDR_STRING_VIEW\n#  define BOOST_NO_CXX17_HDR_VARIANT\n#  define BOOST_NO_CXX17_HDR_ANY\n#  define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE\n#  define BOOST_NO_CXX17_HDR_CHARCONV\n#  define BOOST_NO_CXX17_HDR_EXECUTION\n#  define BOOST_NO_CXX17_HDR_FILESYSTEM\n#else\n#if !__has_include(<optional>)\n#  define BOOST_NO_CXX17_HDR_OPTIONAL\n#endif\n#if !__has_include(<string_view>)\n#  define BOOST_NO_CXX17_HDR_STRING_VIEW\n#endif\n#if !__has_include(<variant>)\n#  define BOOST_NO_CXX17_HDR_VARIANT\n#endif\n#if !__has_include(<any>)\n#  define BOOST_NO_CXX17_HDR_ANY\n#endif\n#if !__has_include(<memory_resource>)\n#  define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE\n#endif\n#if !__has_include(<charconv>)\n#  define BOOST_NO_CXX17_HDR_CHARCONV\n#endif\n#if !__has_include(<execution>)\n#  define BOOST_NO_CXX17_HDR_EXECUTION\n#endif\n#if !__has_include(<filesystem>)\n#  define BOOST_NO_CXX17_HDR_FILESYSTEM\n#endif\n#endif\n#endif\n\n#if !defined(_YVALS) && !defined(_CPPLIB_VER)  // msvc std lib already configured\n#if (!defined(__has_include) || (__cplusplus < 201704))\n#  define BOOST_NO_CXX20_HDR_BARRIER\n#  define BOOST_NO_CXX20_HDR_FORMAT\n#  define BOOST_NO_CXX20_HDR_SOURCE_LOCATION\n#  define BOOST_NO_CXX20_HDR_BIT\n#  define BOOST_NO_CXX20_HDR_LATCH\n#  define BOOST_NO_CXX20_HDR_SPAN\n#  define BOOST_NO_CXX20_HDR_COMPARE\n#  define BOOST_NO_CXX20_HDR_NUMBERS\n#  define BOOST_NO_CXX20_HDR_STOP_TOKEN\n#  define BOOST_NO_CXX20_HDR_CONCEPTS\n#  define BOOST_NO_CXX20_HDR_RANGES\n#  define BOOST_NO_CXX20_HDR_SYNCSTREAM\n#  define BOOST_NO_CXX20_HDR_COROUTINE\n#  define BOOST_NO_CXX20_HDR_SEMAPHORE\n#else\n#if !__has_include(<barrier>)\n#  define BOOST_NO_CXX20_HDR_BARRIER\n#endif\n#if !__has_include(<format>)\n#  define BOOST_NO_CXX20_HDR_FORMAT\n#endif\n#if !__has_include(<source_Location>)\n#  define BOOST_NO_CXX20_HDR_SOURCE_LOCATION\n#endif\n#if !__has_include(<bit>)\n#  define BOOST_NO_CXX20_HDR_BIT\n#endif\n#if !__has_include(<latch>)\n#  define BOOST_NO_CXX20_HDR_LATCH\n#endif\n#if !__has_include(<span>)\n#  define BOOST_NO_CXX20_HDR_SPAN\n#endif\n#if !__has_include(<compare>)\n#  define BOOST_NO_CXX20_HDR_COMPARE\n#endif\n#if !__has_include(<numbers>)\n#  define BOOST_NO_CXX20_HDR_NUMBERS\n#endif\n#if !__has_include(<stop_token>)\n#  define BOOST_NO_CXX20_HDR_STOP_TOKEN\n#endif\n#if !__has_include(<concepts>)\n#  define BOOST_NO_CXX20_HDR_CONCEPTS\n#endif\n#if !__has_include(<ranges>)\n#  define BOOST_NO_CXX20_HDR_RANGES\n#endif\n#if !__has_include(<syncstream>)\n#  define BOOST_NO_CXX20_HDR_SYNCSTREAM\n#endif\n#if !__has_include(<coroutine>)\n#  define BOOST_NO_CXX20_HDR_COROUTINE\n#endif\n#if !__has_include(<semaphore>)\n#  define BOOST_NO_CXX20_HDR_SEMAPHORE\n#endif\n#endif\n#endif\n\n//\n// Define composite agregate macros:\n//\n#include <boost/config/detail/cxx_composite.hpp>\n\n//\n// Define the std level that the compiler claims to support:\n//\n#ifndef BOOST_CXX_VERSION\n#  define BOOST_CXX_VERSION __cplusplus\n#endif\n\n//\n// Define composite agregate macros:\n//\n#include <boost/config/detail/cxx_composite.hpp>\n\n//\n// Define the std level that the compiler claims to support:\n//\n#ifndef BOOST_CXX_VERSION\n#  define BOOST_CXX_VERSION __cplusplus\n#endif\n\n//\n// Finish off with checks for macros that are depricated / no longer supported,\n// if any of these are set then it's very likely that much of Boost will no\n// longer work.  So stop with a #error for now, but give the user a chance\n// to continue at their own risk if they really want to:\n//\n#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED)\n#  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!!!\"\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/header_deprecated.hpp",
    "content": "#ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED\n#define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED\n\n//  Copyright 2017 Peter Dimov.\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n//\n//  BOOST_HEADER_DEPRECATED(\"<alternative>\")\n//\n//  Expands to the equivalent of\n//    BOOST_PRAGMA_MESSAGE(\"This header is deprecated. Use <alternative> instead.\")\n//\n//  Note that this header is C compatible.\n\n#include <boost/config/pragma_message.hpp>\n\n#if defined(BOOST_ALLOW_DEPRECATED_HEADERS)\n# define BOOST_HEADER_DEPRECATED(a)\n#else\n# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE(\"This header is deprecated. Use \" a \" instead.\")\n#endif\n\n#endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/helper_macros.hpp",
    "content": "#ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED\n#define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED\n\n//  Copyright 2001 John Maddock.\n//  Copyright 2017 Peter Dimov.\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n//\n//  BOOST_STRINGIZE(X)\n//  BOOST_JOIN(X, Y)\n//\n//  Note that this header is C compatible.\n\n//\n// Helper macro BOOST_STRINGIZE:\n// Converts the parameter X to a string after macro replacement\n// on X has been performed.\n//\n#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)\n#define BOOST_DO_STRINGIZE(X) #X\n\n//\n// Helper macro BOOST_JOIN:\n// The following piece of macro magic joins the two\n// arguments together, even when one of the arguments is\n// itself a macro (see 16.3.1 in C++ standard).  The key\n// is that macro expansion of macro arguments does not\n// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.\n//\n#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)\n#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)\n#define BOOST_DO_JOIN2(X, Y) X##Y\n\n#endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/no_tr1/cmath.hpp",
    "content": "//  (C) Copyright John Maddock 2008.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n//\n// The aim of this header is just to include <cmath> but to do\n// so in a way that does not result in recursive inclusion of\n// the Boost TR1 components if boost/tr1/tr1/cmath is in the\n// include search path.  We have to do this to avoid circular\n// dependencies:\n//\n\n#ifndef BOOST_CONFIG_CMATH\n#  define BOOST_CONFIG_CMATH\n\n#  ifndef BOOST_TR1_NO_RECURSION\n#     define BOOST_TR1_NO_RECURSION\n#     define BOOST_CONFIG_NO_CMATH_RECURSION\n#  endif\n\n#  include <cmath>\n\n#  ifdef BOOST_CONFIG_NO_CMATH_RECURSION\n#     undef BOOST_TR1_NO_RECURSION\n#     undef BOOST_CONFIG_NO_CMATH_RECURSION\n#  endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/no_tr1/complex.hpp",
    "content": "//  (C) Copyright John Maddock 2005.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n//\n// The aim of this header is just to include <complex> but to do\n// so in a way that does not result in recursive inclusion of\n// the Boost TR1 components if boost/tr1/tr1/complex is in the\n// include search path.  We have to do this to avoid circular\n// dependencies:\n//\n\n#ifndef BOOST_CONFIG_COMPLEX\n#  define BOOST_CONFIG_COMPLEX\n\n#  ifndef BOOST_TR1_NO_RECURSION\n#     define BOOST_TR1_NO_RECURSION\n#     define BOOST_CONFIG_NO_COMPLEX_RECURSION\n#  endif\n\n#  include <complex>\n\n#  ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION\n#     undef BOOST_TR1_NO_RECURSION\n#     undef BOOST_CONFIG_NO_COMPLEX_RECURSION\n#  endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/no_tr1/functional.hpp",
    "content": "//  (C) Copyright John Maddock 2005.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n//\n// The aim of this header is just to include <functional> but to do\n// so in a way that does not result in recursive inclusion of\n// the Boost TR1 components if boost/tr1/tr1/functional is in the\n// include search path.  We have to do this to avoid circular\n// dependencies:\n//\n\n#ifndef BOOST_CONFIG_FUNCTIONAL\n#  define BOOST_CONFIG_FUNCTIONAL\n\n#  ifndef BOOST_TR1_NO_RECURSION\n#     define BOOST_TR1_NO_RECURSION\n#     define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION\n#  endif\n\n#  include <functional>\n\n#  ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION\n#     undef BOOST_TR1_NO_RECURSION\n#     undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION\n#  endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/no_tr1/memory.hpp",
    "content": "//  (C) Copyright John Maddock 2005.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n//\n// The aim of this header is just to include <memory> but to do\n// so in a way that does not result in recursive inclusion of\n// the Boost TR1 components if boost/tr1/tr1/memory is in the\n// include search path.  We have to do this to avoid circular\n// dependencies:\n//\n\n#ifndef BOOST_CONFIG_MEMORY\n#  define BOOST_CONFIG_MEMORY\n\n#  ifndef BOOST_TR1_NO_RECURSION\n#     define BOOST_TR1_NO_RECURSION\n#     define BOOST_CONFIG_NO_MEMORY_RECURSION\n#  endif\n\n#  include <memory>\n\n#  ifdef BOOST_CONFIG_NO_MEMORY_RECURSION\n#     undef BOOST_TR1_NO_RECURSION\n#     undef BOOST_CONFIG_NO_MEMORY_RECURSION\n#  endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/no_tr1/utility.hpp",
    "content": "//  (C) Copyright John Maddock 2005.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n//\n// The aim of this header is just to include <utility> but to do\n// so in a way that does not result in recursive inclusion of\n// the Boost TR1 components if boost/tr1/tr1/utility is in the\n// include search path.  We have to do this to avoid circular\n// dependencies:\n//\n\n#ifndef BOOST_CONFIG_UTILITY\n#  define BOOST_CONFIG_UTILITY\n\n#  ifndef BOOST_TR1_NO_RECURSION\n#     define BOOST_TR1_NO_RECURSION\n#     define BOOST_CONFIG_NO_UTILITY_RECURSION\n#  endif\n\n#  include <utility>\n\n#  ifdef BOOST_CONFIG_NO_UTILITY_RECURSION\n#     undef BOOST_TR1_NO_RECURSION\n#     undef BOOST_CONFIG_NO_UTILITY_RECURSION\n#  endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/aix.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  IBM/Aix specific config options:\n\n#define BOOST_PLATFORM \"IBM Aix\"\n\n#define BOOST_HAS_UNISTD_H\n#define BOOST_HAS_NL_TYPES_H\n#define BOOST_HAS_NANOSLEEP\n#define BOOST_HAS_CLOCK_GETTIME\n\n// This needs support in \"boost/cstdint.hpp\" exactly like FreeBSD.\n// This platform has header named <inttypes.h> which includes all\n// the things needed.\n#define BOOST_HAS_STDINT_H\n\n// Threading API's:\n#define BOOST_HAS_PTHREADS\n#define BOOST_HAS_PTHREAD_DELAY_NP\n#define BOOST_HAS_SCHED_YIELD\n//#define BOOST_HAS_PTHREAD_YIELD\n\n// boilerplate code:\n#include <boost/config/detail/posix_features.hpp>\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/amigaos.hpp",
    "content": "//  (C) Copyright John Maddock 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n#define BOOST_PLATFORM \"AmigaOS\"\n\n#define BOOST_DISABLE_THREADS\n#define BOOST_NO_CWCHAR\n#define BOOST_NO_STD_WSTRING\n#define BOOST_NO_INTRINSIC_WCHAR_T\n \n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/beos.hpp",
    "content": "//  (C) Copyright John Maddock 2001. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  BeOS specific config options:\n\n#define BOOST_PLATFORM \"BeOS\"\n\n#define BOOST_NO_CWCHAR\n#define BOOST_NO_CWCTYPE\n#define BOOST_HAS_UNISTD_H\n\n#define BOOST_HAS_BETHREADS\n\n#ifndef BOOST_DISABLE_THREADS\n#  define BOOST_HAS_THREADS\n#endif\n\n// boilerplate code:\n#include <boost/config/detail/posix_features.hpp>\n \n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/bsd.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Darin Adler 2001. \n//  (C) Copyright Douglas Gregor 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  generic BSD config options:\n\n#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)\n#error \"This platform is not BSD\"\n#endif\n\n#ifdef __FreeBSD__\n#define BOOST_PLATFORM \"FreeBSD \" BOOST_STRINGIZE(__FreeBSD__)\n#elif defined(__NetBSD__)\n#define BOOST_PLATFORM \"NetBSD \" BOOST_STRINGIZE(__NetBSD__)\n#elif defined(__OpenBSD__)\n#define BOOST_PLATFORM \"OpenBSD \" BOOST_STRINGIZE(__OpenBSD__)\n#elif defined(__DragonFly__)\n#define BOOST_PLATFORM \"DragonFly \" BOOST_STRINGIZE(__DragonFly__)\n#endif\n\n//\n// is this the correct version check?\n// FreeBSD has <nl_types.h> but does not\n// advertise the fact in <unistd.h>:\n//\n#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) \\\n   || defined(__OpenBSD__) || defined(__DragonFly__)\n#  define BOOST_HAS_NL_TYPES_H\n#endif\n\n//\n// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>\n// and not in <unistd.h>\n//\n#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\\\n   || defined(__OpenBSD__) || defined(__DragonFly__) \n#  define BOOST_HAS_PTHREADS\n#endif\n\n//\n// No wide character support in the BSD header files:\n//\n#if defined(__NetBSD__)\n#define __NetBSD_GCC__ (__GNUC__         * 1000000 \\\n                       + __GNUC_MINOR__ *    1000 \\\n                       + __GNUC_PATCHLEVEL__)\n// XXX - the following is required until c++config.h\n//       defines _GLIBCXX_HAVE_SWPRINTF and friends\n//       or the preprocessor conditionals are removed\n//       from the cwchar header.\n#define _GLIBCXX_HAVE_SWPRINTF 1\n#endif\n\n#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \\\n      || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) \\\n      || defined(__OpenBSD__) || defined(__DragonFly__))\n#  define BOOST_NO_CWCHAR\n#endif\n//\n// The BSD <ctype.h> has macros only, no functions:\n//\n#if !defined(__OpenBSD__) || defined(__DragonFly__)\n#  define BOOST_NO_CTYPE_FUNCTIONS\n#endif\n\n//\n// thread API's not auto detected:\n//\n#define BOOST_HAS_SCHED_YIELD\n#define BOOST_HAS_NANOSLEEP\n#define BOOST_HAS_GETTIMEOFDAY\n#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#define BOOST_HAS_SIGACTION\n#define BOOST_HAS_CLOCK_GETTIME\n\n// boilerplate code:\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/cloudabi.hpp",
    "content": "//       Copyright Nuxi, https://nuxi.nl/ 2015.\n// Distributed under the Boost Software License, Version 1.0.\n//    (See accompanying file LICENSE_1_0.txt or copy at\n//          http://www.boost.org/LICENSE_1_0.txt)\n\n#define BOOST_PLATFORM \"CloudABI\"\n\n#define BOOST_HAS_DIRENT_H\n#define BOOST_HAS_STDINT_H\n#define BOOST_HAS_UNISTD_H\n\n#define BOOST_HAS_CLOCK_GETTIME\n#define BOOST_HAS_EXPM1\n#define BOOST_HAS_GETTIMEOFDAY\n#define BOOST_HAS_LOG1P\n#define BOOST_HAS_NANOSLEEP\n#define BOOST_HAS_PTHREADS\n#define BOOST_HAS_SCHED_YIELD\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/cray.hpp",
    "content": "//  (C) Copyright John Maddock 2011.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n\n//  See http://www.boost.org for most recent version.\n\n//  SGI Irix specific config options:\n\n#define BOOST_PLATFORM \"Cray\"\n\n// boilerplate code:\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/cygwin.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  cygwin specific config options:\n\n#define BOOST_PLATFORM \"Cygwin\"\n#define BOOST_HAS_DIRENT_H\n#define BOOST_HAS_LOG1P\n#define BOOST_HAS_EXPM1\n\n//\n// Threading API:\n// See if we have POSIX threads, if we do use them, otherwise\n// revert to native Win threads.\n#define BOOST_HAS_UNISTD_H\n#include <unistd.h>\n#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)\n#  define BOOST_HAS_PTHREADS\n#  define BOOST_HAS_SCHED_YIELD\n#  define BOOST_HAS_GETTIMEOFDAY\n#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n//#  define BOOST_HAS_SIGACTION\n#else\n#  if !defined(BOOST_HAS_WINTHREADS)\n#     define BOOST_HAS_WINTHREADS\n#  endif\n#  define BOOST_HAS_FTIME\n#endif\n\n//\n// find out if we have a stdint.h, there should be a better way to do this:\n//\n#include <sys/types.h>\n#ifdef _STDINT_H\n#define BOOST_HAS_STDINT_H\n#endif\n#if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H)\n#   define BOOST_HAS_STDINT_H\n#endif\n\n#include <cygwin/version.h>\n#if (CYGWIN_VERSION_API_MAJOR == 0 && CYGWIN_VERSION_API_MINOR < 231)\n/// Cygwin has no fenv.h\n#define BOOST_NO_FENV_H\n#endif\n\n// Cygwin has it's own <pthread.h> which breaks <shared_mutex> unless the correct compiler flags are used:\n#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#include <pthread.h>\n#if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#endif\n\n// boilerplate code:\n#include <boost/config/detail/posix_features.hpp>\n\n//\n// Cygwin lies about XSI conformance, there is no nl_types.h:\n//\n#ifdef BOOST_HAS_NL_TYPES_H\n#  undef BOOST_HAS_NL_TYPES_H\n#endif\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/haiku.hpp",
    "content": "//  (C) Copyright Jessica Hamilton 2014.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Haiku specific config options:\n\n#define BOOST_PLATFORM \"Haiku\"\n\n#define BOOST_HAS_UNISTD_H\n#define BOOST_HAS_STDINT_H\n\n#ifndef BOOST_DISABLE_THREADS\n#  define BOOST_HAS_THREADS\n#endif\n\n#define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#define BOOST_NO_CXX11_STATIC_ASSERT\n#define BOOST_NO_CXX11_VARIADIC_MACROS\n\n//\n// thread API's not auto detected:\n//\n#define BOOST_HAS_SCHED_YIELD\n#define BOOST_HAS_GETTIMEOFDAY\n\n// boilerplate code:\n#include <boost/config/detail/posix_features.hpp>\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/hpux.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2001 - 2003. \n//  (C) Copyright David Abrahams 2002. \n//  (C) Copyright Toon Knapen 2003. \n//  (C) Copyright Boris Gubenko 2006 - 2007.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  hpux specific config options:\n\n#define BOOST_PLATFORM \"HP-UX\"\n\n// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>\n// However, it has the following problem:\n// Use of UINT32_C(0) results in \"0u l\" for the preprocessed source\n// (verifyable with gcc 2.95.3)\n#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)\n#  define BOOST_HAS_STDINT_H\n#endif\n\n#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))\n#  define BOOST_NO_SWPRINTF\n#endif\n#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)\n#  define BOOST_NO_CWCTYPE\n#endif\n\n#if defined(__GNUC__)\n#  if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))\n      // GNU C on HP-UX does not support threads (checked up to gcc 3.3)\n#     define BOOST_DISABLE_THREADS\n#  elif !defined(BOOST_DISABLE_THREADS)\n      // threads supported from gcc-3.3 onwards:\n#     define BOOST_HAS_THREADS\n#     define BOOST_HAS_PTHREADS\n#  endif\n#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)\n#  define BOOST_HAS_PTHREADS\n#endif\n\n// boilerplate code:\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n\n// the following are always available:\n#ifndef BOOST_HAS_GETTIMEOFDAY\n#  define BOOST_HAS_GETTIMEOFDAY\n#endif\n#ifndef BOOST_HAS_SCHED_YIELD\n#    define BOOST_HAS_SCHED_YIELD\n#endif\n#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#endif\n#ifndef BOOST_HAS_NL_TYPES_H\n#    define BOOST_HAS_NL_TYPES_H\n#endif\n#ifndef BOOST_HAS_NANOSLEEP\n#    define BOOST_HAS_NANOSLEEP\n#endif\n#ifndef BOOST_HAS_GETTIMEOFDAY\n#    define BOOST_HAS_GETTIMEOFDAY\n#endif\n#ifndef BOOST_HAS_DIRENT_H\n#    define BOOST_HAS_DIRENT_H\n#endif\n#ifndef BOOST_HAS_CLOCK_GETTIME\n#    define BOOST_HAS_CLOCK_GETTIME\n#endif\n#ifndef BOOST_HAS_SIGACTION\n#  define BOOST_HAS_SIGACTION\n#endif\n#ifndef BOOST_HAS_NRVO \n#  ifndef __parisc\n#    define BOOST_HAS_NRVO\n#  endif\n#endif\n#ifndef BOOST_HAS_LOG1P \n#  define BOOST_HAS_LOG1P\n#endif\n#ifndef BOOST_HAS_EXPM1\n#  define BOOST_HAS_EXPM1\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/irix.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n\n//  See http://www.boost.org for most recent version.\n\n//  SGI Irix specific config options:\n\n#define BOOST_PLATFORM \"SGI Irix\"\n\n#define BOOST_NO_SWPRINTF \n//\n// these are not auto detected by POSIX feature tests:\n//\n#define BOOST_HAS_GETTIMEOFDAY\n#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n\n#ifdef __GNUC__\n   // GNU C on IRIX does not support threads (checked up to gcc 3.3)\n#  define BOOST_DISABLE_THREADS\n#endif\n\n// boilerplate code:\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/linux.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2001 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  linux specific config options:\n\n#define BOOST_PLATFORM \"linux\"\n\n// make sure we have __GLIBC_PREREQ if available at all\n#ifdef __cplusplus\n#include <cstdlib>\n#else\n#include <stdlib.h>\n#endif\n\n//\n// <stdint.h> added to glibc 2.1.1\n// We can only test for 2.1 though:\n//\n#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))\n   // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines\n   // int64_t only if __GNUC__.  Thus, assume a fully usable <stdint.h>\n   // only when using GCC.  Update 2017: this appears not to be the case for\n   // recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045\n#  if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5)))\n#    define BOOST_HAS_STDINT_H\n#  endif\n#endif\n\n#if defined(__LIBCOMO__)\n   //\n   // como on linux doesn't have std:: c functions:\n   // NOTE: versions of libcomo prior to beta28 have octal version numbering,\n   // e.g. version 25 is 21 (dec)\n   //\n#  if __LIBCOMO_VERSION__ <= 20\n#    define BOOST_NO_STDC_NAMESPACE\n#  endif\n\n#  if __LIBCOMO_VERSION__ <= 21\n#    define BOOST_NO_SWPRINTF\n#  endif\n\n#endif\n\n//\n// If glibc is past version 2 then we definitely have\n// gettimeofday, earlier versions may or may not have it:\n//\n#if defined(__GLIBC__) && (__GLIBC__ >= 2)\n#  define BOOST_HAS_GETTIMEOFDAY\n#endif\n\n#ifdef __USE_POSIX199309\n#  define BOOST_HAS_NANOSLEEP\n#endif\n\n#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)\n// __GLIBC_PREREQ is available since 2.1.2\n\n   // swprintf is available since glibc 2.2.0\n#  if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))\n#    define BOOST_NO_SWPRINTF\n#  endif\n#else\n#  define BOOST_NO_SWPRINTF\n#endif\n\n// boilerplate code:\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n#if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID)\n#define BOOST_HAS_PTHREAD_YIELD\n#endif\n\n#ifndef __GNUC__\n//\n// if the compiler is not gcc we still need to be able to parse\n// the GNU system headers, some of which (mainly <stdint.h>)\n// use GNU specific extensions:\n//\n#  ifndef __extension__\n#     define __extension__\n#  endif\n#  ifndef __const__\n#     define __const__ const\n#  endif\n#  ifndef __volatile__\n#     define __volatile__ volatile\n#  endif\n#  ifndef __signed__\n#     define __signed__ signed\n#  endif\n#  ifndef __typeof__\n#     define __typeof__ typeof\n#  endif\n#  ifndef __inline__\n#     define __inline__ inline\n#  endif\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/macos.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Darin Adler 2001 - 2002. \n//  (C) Copyright Bill Kempf 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Mac OS specific config options:\n\n#define BOOST_PLATFORM \"Mac OS\"\n\n#if __MACH__ && !defined(_MSL_USING_MSL_C)\n\n// Using the Mac OS X system BSD-style C library.\n\n#  ifndef BOOST_HAS_UNISTD_H\n#    define BOOST_HAS_UNISTD_H\n#  endif\n//\n// Begin by including our boilerplate code for POSIX\n// feature detection, this is safe even when using\n// the MSL as Metrowerks supply their own <unistd.h>\n// to replace the platform-native BSD one. G++ users\n// should also always be able to do this on MaxOS X.\n//\n#  include <boost/config/detail/posix_features.hpp>\n#  ifndef BOOST_HAS_STDINT_H\n#     define BOOST_HAS_STDINT_H\n#  endif\n\n//\n// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,\n// of these only pthreads are advertised in <unistd.h>, so set the \n// other options explicitly:\n//\n#  define BOOST_HAS_SCHED_YIELD\n#  define BOOST_HAS_GETTIMEOFDAY\n#  define BOOST_HAS_SIGACTION\n\n#  if (__GNUC__ < 3) && !defined( __APPLE_CC__)\n\n// GCC strange \"ignore std\" mode works better if you pretend everything\n// is in the std namespace, for the most part.\n\n#    define BOOST_NO_STDC_NAMESPACE\n#  endif\n\n#  if (__GNUC__ >= 4)\n\n// Both gcc and intel require these.  \n#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#    define BOOST_HAS_NANOSLEEP\n\n#  endif\n\n#else\n\n// Using the MSL C library.\n\n// We will eventually support threads in non-Carbon builds, but we do\n// not support this yet.\n#  if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )\n\n#  if !defined(BOOST_HAS_PTHREADS)\n// MPTasks support is deprecated/removed from Boost:\n//#    define BOOST_HAS_MPTASKS\n#  elif ( __dest_os == __mac_os_x )\n// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the\n// gettimeofday and no posix.\n#  define BOOST_HAS_GETTIMEOFDAY\n#  endif\n\n#ifdef BOOST_HAS_PTHREADS\n#  define BOOST_HAS_THREADS\n#endif\n\n// The remote call manager depends on this.\n#    define BOOST_BIND_ENABLE_PASCAL\n\n#  endif\n\n#endif\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/qnxnto.hpp",
    "content": "//  (C) Copyright Jim Douglas 2005. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  QNX specific config options:\n\n#define BOOST_PLATFORM \"QNX\"\n\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n\n// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h\n// or log1p and expm1:\n#undef  BOOST_HAS_NL_TYPES_H\n#undef  BOOST_HAS_LOG1P\n#undef  BOOST_HAS_EXPM1\n\n#define BOOST_HAS_PTHREADS\n#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n\n#define BOOST_HAS_GETTIMEOFDAY\n#define BOOST_HAS_CLOCK_GETTIME\n#define BOOST_HAS_NANOSLEEP\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/solaris.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  sun specific config options:\n\n#define BOOST_PLATFORM \"Sun Solaris\"\n\n#define BOOST_HAS_GETTIMEOFDAY\n\n// boilerplate code:\n#define BOOST_HAS_UNISTD_H\n#include <boost/config/detail/posix_features.hpp>\n\n//\n// pthreads don't actually work with gcc unless _PTHREADS is defined:\n//\n#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)\n# undef BOOST_HAS_PTHREADS\n#endif\n\n#define BOOST_HAS_STDINT_H \n#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE \n#define BOOST_HAS_LOG1P \n#define BOOST_HAS_EXPM1\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/symbian.hpp",
    "content": "//  (C) Copyright Yuriy Krasnoschek 2009. \n//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2001 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  symbian specific config options:\n\n\n#define BOOST_PLATFORM \"Symbian\"\n#define BOOST_SYMBIAN 1\n\n\n#if defined(__S60_3X__)\n// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL\n#  define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK\n// make sure we have __GLIBC_PREREQ if available at all\n#ifdef __cplusplus\n#include <cstdlib>\n#else\n#include <stdlib.h>\n#endif// boilerplate code:\n#  define BOOST_HAS_UNISTD_H\n#  include <boost/config/detail/posix_features.hpp>\n// S60 SDK defines _POSIX_VERSION as POSIX.1\n#  ifndef BOOST_HAS_STDINT_H\n#    define BOOST_HAS_STDINT_H\n#  endif\n#  ifndef BOOST_HAS_GETTIMEOFDAY\n#    define BOOST_HAS_GETTIMEOFDAY\n#  endif\n#  ifndef BOOST_HAS_DIRENT_H\n#    define BOOST_HAS_DIRENT_H\n#  endif\n#  ifndef BOOST_HAS_SIGACTION\n#    define BOOST_HAS_SIGACTION\n#  endif\n#  ifndef BOOST_HAS_PTHREADS\n#    define BOOST_HAS_PTHREADS\n#  endif\n#  ifndef BOOST_HAS_NANOSLEEP\n#    define BOOST_HAS_NANOSLEEP\n#  endif\n#  ifndef BOOST_HAS_SCHED_YIELD\n#    define BOOST_HAS_SCHED_YIELD\n#  endif\n#  ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#  endif\n#  ifndef BOOST_HAS_LOG1P\n#    define BOOST_HAS_LOG1P\n#  endif\n#  ifndef BOOST_HAS_EXPM1\n#    define BOOST_HAS_EXPM1\n#  endif\n#  ifndef BOOST_POSIX_API\n#    define BOOST_POSIX_API\n#  endif\n// endianess support\n#  include <sys/endian.h>\n// Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER\n#  ifndef __LITTLE_ENDIAN\n#    ifdef _LITTLE_ENDIAN\n#      define __LITTLE_ENDIAN _LITTLE_ENDIAN\n#    else\n#      define __LITTLE_ENDIAN 1234\n#    endif\n#  endif\n#  ifndef __BIG_ENDIAN\n#    ifdef _BIG_ENDIAN\n#      define __BIG_ENDIAN _BIG_ENDIAN\n#    else\n#      define __BIG_ENDIAN 4321\n#    endif\n#  endif\n#  ifndef __BYTE_ORDER\n#    define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE\n#  endif\n// Known limitations\n#  define BOOST_ASIO_DISABLE_SERIAL_PORT\n#  define BOOST_DATE_TIME_NO_LOCALE\n#  define BOOST_NO_STD_WSTRING\n#  define BOOST_EXCEPTION_DISABLE\n#  define BOOST_NO_EXCEPTIONS\n\n#else // TODO: More platform support e.g. UIQ\n#  error \"Unsuppoted Symbian SDK\"\n#endif\n\n#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)\n#  define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/vms.hpp",
    "content": "//  (C) Copyright Artyom Beilis 2010.  \n//  Use, modification and distribution are subject to the  \n//  Boost Software License, Version 1.0. (See accompanying file  \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) \n\n#ifndef BOOST_CONFIG_PLATFORM_VMS_HPP \n#define BOOST_CONFIG_PLATFORM_VMS_HPP \n\n#define BOOST_PLATFORM \"OpenVMS\" \n\n#undef  BOOST_HAS_STDINT_H \n#define BOOST_HAS_UNISTD_H \n#define BOOST_HAS_NL_TYPES_H \n#define BOOST_HAS_GETTIMEOFDAY \n#define BOOST_HAS_DIRENT_H \n#define BOOST_HAS_PTHREADS \n#define BOOST_HAS_NANOSLEEP \n#define BOOST_HAS_CLOCK_GETTIME \n#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE \n#define BOOST_HAS_LOG1P \n#define BOOST_HAS_EXPM1 \n#define BOOST_HAS_THREADS \n#undef  BOOST_HAS_SCHED_YIELD \n\n#endif \n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/vxworks.hpp",
    "content": "//  (C) Copyright Dustin Spicuzza 2009.\n//      Adapted to vxWorks 6.9 by Peter Brockamp 2012.\n//      Updated for VxWorks 7 by Brian Kuhl 2016\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Old versions of vxWorks (namely everything below 6.x) are\n//  absolutely unable to use boost. Old STLs and compilers \n//  like (GCC 2.96) . Do not even think of getting this to work, \n//  a miserable failure will  be guaranteed!\n//\n//  VxWorks supports C++ linkage in the kernel with\n//  DKMs (Downloadable Kernel Modules). But, until recently \n//  the kernel used a C89 library with no\n//  wide character support and no guarantee of ANSI C. \n//  Regardless of the C library the same Dinkum \n//  STL library is used in both contexts. \n//\n//  Similarly the Dinkum abridged STL that supports the loosely specified \n//  embedded C++ standard has not been tested and is unlikely to work \n//  on anything but the simplest library.\n// ====================================================================\n//\n// Some important information regarding the usage of POSIX semaphores:\n// -------------------------------------------------------------------\n//\n// VxWorks as a real time operating system handles threads somewhat\n// different from what \"normal\" OSes do, regarding their scheduling!\n// This could lead to a scenario called \"priority inversion\" when using\n// semaphores, see http://en.wikipedia.org/wiki/Priority_inversion.\n//\n// Now, VxWorks POSIX-semaphores for DKM's default to the usage of\n// priority inverting semaphores, which is fine. On the other hand,\n// for RTP's it defaults to using non priority inverting semaphores,\n// which could easily pose a serious problem for a real time process.\n//\n// To change the default properties for POSIX-semaphores in VxWorks 7\n// enable core > CORE_USER Menu > DEFAULT_PTHREAD_PRIO_INHERIT \n//  \n// In VxWorks 6.x so as to integrate with boost. \n// - Edit the file \n//   installDir/vxworks-6.x/target/usr/src/posix/pthreadLib.c\n// - Around line 917 there should be the definition of the default\n//   mutex attributes:\n//\n//   LOCAL pthread_mutexattr_t defaultMutexAttr =\n//       {\n//       PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0,\n//       PTHREAD_MUTEX_DEFAULT\n//       };\n//\n//   Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.\n// - Around line 1236 there should be a definition for the function\n//   pthread_mutexattr_init(). A couple of lines below you should\n//   find a block of code like this:\n//\n//   pAttr->mutexAttrStatus      = PTHREAD_INITIALIZED_OBJ;\n//   pAttr->mutexAttrProtocol    = PTHREAD_PRIO_NONE;\n//   pAttr->mutexAttrPrioceiling = 0;\n//   pAttr->mutexAttrType        = PTHREAD_MUTEX_DEFAULT;\n//\n//   Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.\n// - Finally, rebuild your VSB. This will rebuild the libraries\n//   with the changed properties. That's it! Now, using boost should\n//   no longer cause any problems with task deadlocks!\n//\n//  ====================================================================\n\n// Block out all versions before vxWorks 6.x, as these don't work:\n// Include header with the vxWorks version information and query them\n#include <version.h>\n#if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6)\n#  error \"The vxWorks version you're using is so badly outdated,\\\n          it doesn't work at all with boost, sorry, no chance!\"\n#endif\n\n// Handle versions above 5.X but below 6.9\n#if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9)\n// TODO: Starting from what version does vxWorks work with boost?\n// We can't reasonably insert a #warning \"\" as a user hint here,\n// as this will show up with every file including some boost header,\n// badly bugging the user... So for the time being we just leave it.\n#endif\n\n// vxWorks specific config options:\n// --------------------------------\n#define BOOST_PLATFORM \"vxWorks\"\n\n\n// Generally available headers:\n#define BOOST_HAS_UNISTD_H\n#define BOOST_HAS_STDINT_H\n#define BOOST_HAS_DIRENT_H\n//#define BOOST_HAS_SLIST\n\n// vxWorks does not have installed an iconv-library by default,\n// so unfortunately no Unicode support from scratch is available!\n// Thus, instead it is suggested to switch to ICU, as this seems\n// to be the most complete and portable option...\n#ifndef BOOST_LOCALE_WITH_ICU\n   #define BOOST_LOCALE_WITH_ICU\n#endif\n\n// Generally available functionality:\n#define BOOST_HAS_THREADS\n#define BOOST_HAS_NANOSLEEP\n#define BOOST_HAS_GETTIMEOFDAY\n#define BOOST_HAS_CLOCK_GETTIME\n#define BOOST_HAS_MACRO_USE_FACET\n\n// Generally available threading API's:\n#define BOOST_HAS_PTHREADS\n#define BOOST_HAS_SCHED_YIELD\n#define BOOST_HAS_SIGACTION\n\n// Functionality available for RTPs only:\n#ifdef __RTP__\n#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#  define BOOST_HAS_LOG1P\n#  define BOOST_HAS_EXPM1\n#endif\n\n// Functionality available for DKMs only:\n#ifdef _WRS_KERNEL\n  // Luckily, at the moment there seems to be none!\n#endif\n\n// These #defines allow detail/posix_features to work, since vxWorks doesn't\n// #define them itself for DKMs (for RTPs on the contrary it does):\n#ifdef _WRS_KERNEL\n#  ifndef _POSIX_TIMERS\n#    define _POSIX_TIMERS  1\n#  endif\n#  ifndef _POSIX_THREADS\n#    define _POSIX_THREADS 1\n#  endif\n// no sysconf( _SC_PAGESIZE) in kernel\n#  define BOOST_THREAD_USES_GETPAGESIZE\n#endif\n\n#if (_WRS_VXWORKS_MAJOR < 7) \n// vxWorks-around: <time.h> #defines CLOCKS_PER_SEC as sysClkRateGet() but\n//                 miserably fails to #include the required <sysLib.h> to make\n//                 sysClkRateGet() available! So we manually include it here.\n#  ifdef __RTP__\n#    include <time.h>\n#    include <sysLib.h>\n#  endif\n\n// vxWorks-around: In <stdint.h> the macros INT32_C(), UINT32_C(), INT64_C() and\n//                 UINT64_C() are defined erroneously, yielding not a signed/\n//                 unsigned long/long long type, but a signed/unsigned int/long\n//                 type. Eventually this leads to compile errors in ratio_fwd.hpp,\n//                 when trying to define several constants which do not fit into a\n//                 long type! We correct them here by redefining.\n\n#  include <cstdint>\n\n// Special behaviour for DKMs:\n\n// Some macro-magic to do the job\n#  define VX_JOIN(X, Y)     VX_DO_JOIN(X, Y)\n#  define VX_DO_JOIN(X, Y)  VX_DO_JOIN2(X, Y)\n#  define VX_DO_JOIN2(X, Y) X##Y\n\n// Correctly setup the macros\n#  undef  INT32_C\n#  undef  UINT32_C\n#  undef  INT64_C\n#  undef  UINT64_C\n#  define INT32_C(x)  VX_JOIN(x, L)\n#  define UINT32_C(x) VX_JOIN(x, UL)\n#  define INT64_C(x)  VX_JOIN(x, LL)\n#  define UINT64_C(x) VX_JOIN(x, ULL)\n\n// #include Libraries required for the following function adaption\n#  include <sys/time.h>\n#endif  // _WRS_VXWORKS_MAJOR < 7\n\n#include <ioLib.h>\n#include <tickLib.h>\n\n#if defined(_WRS_KERNEL) && (_CPPLIB_VER < 700)\n  // recent kernels use Dinkum clib v7.00+\n  // with widechar but older kernels\n  // do not have the <cwchar>-header,\n  // but apparently they do have an intrinsic wchar_t meanwhile!\n#  define BOOST_NO_CWCHAR\n\n  // Lots of wide-functions and -headers are unavailable for DKMs as well:\n#  define BOOST_NO_CWCTYPE\n#  define BOOST_NO_SWPRINTF\n#  define BOOST_NO_STD_WSTRING\n#  define BOOST_NO_STD_WSTREAMBUF\n#endif\n\n\n// Use C-linkage for the following helper functions\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// vxWorks-around: The required functions getrlimit() and getrlimit() are missing.\n//                 But we have the similar functions getprlimit() and setprlimit(),\n//                 which may serve the purpose.\n//                 Problem: The vxWorks-documentation regarding these functions\n//                 doesn't deserve its name! It isn't documented what the first two\n//                 parameters idtype and id mean, so we must fall back to an educated\n//                 guess - null, argh... :-/\n\n// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason.\n//       Thus for DKMs there would have to be another implementation.\n#if defined ( __RTP__) &&  (_WRS_VXWORKS_MAJOR < 7)\n  inline int getrlimit(int resource, struct rlimit *rlp){\n    return getprlimit(0, 0, resource, rlp);\n  }\n\n  inline int setrlimit(int resource, const struct rlimit *rlp){\n    return setprlimit(0, 0, resource, const_cast<struct rlimit*>(rlp));\n  }\n#endif\n\n// vxWorks has ftruncate() only, so we do simulate truncate():\ninline int truncate(const char *p, off_t l){\n  int fd = open(p, O_WRONLY);\n  if (fd == -1){\n    errno = EACCES;\n    return -1;\n  }\n  if (ftruncate(fd, l) == -1){\n    close(fd);\n    errno = EACCES;\n    return -1;\n  }\n  return close(fd);\n}\n\n#ifdef __GNUC__\n#  define ___unused __attribute__((unused))\n#else\n#  define ___unused\n#endif\n\n// Fake symlink handling by dummy functions:\ninline int symlink(const char* path1 ___unused, const char* path2 ___unused){\n  // vxWorks has no symlinks -> always return an error!\n  errno = EACCES;\n  return -1;\n}\n\ninline ssize_t readlink(const char* path1 ___unused, char* path2 ___unused, size_t size ___unused){\n  // vxWorks has no symlinks -> always return an error!\n  errno = EACCES;\n  return -1;\n}\n\n#if (_WRS_VXWORKS_MAJOR < 7)\n\ninline int gettimeofday(struct timeval *tv, void * /*tzv*/) {\n  struct timespec ts;\n  clock_gettime(CLOCK_MONOTONIC, &ts);\n  tv->tv_sec  = ts.tv_sec;\n  tv->tv_usec = ts.tv_nsec / 1000;\n  return 0;\n}\n#endif\n\n#ifdef __cplusplus\n} // extern \"C\"\n#endif\n\n/* \n * moved to os/utils/unix/freind_h/times.h in VxWorks 7\n * to avoid conflict with MPL operator times\n */\n#if (_WRS_VXWORKS_MAJOR < 7) \n#  ifdef __cplusplus\n\n// vxWorks provides neither struct tms nor function times()!\n// We implement an empty dummy-function, simply setting the user\n// and system time to the half of thew actual system ticks-value\n// and the child user and system time to 0.\n// Rather ugly but at least it suppresses compiler errors...\n// Unfortunately, this of course *does* have an severe impact on\n// dependant libraries, actually this is chrono only! Here it will\n// not be possible to correctly use user and system times! But\n// as vxWorks is lacking the ability to calculate user and system\n// process times there seems to be no other possible solution.\nstruct tms{\n  clock_t tms_utime;  // User CPU time\n  clock_t tms_stime;  // System CPU time\n  clock_t tms_cutime; // User CPU time of terminated child processes\n  clock_t tms_cstime; // System CPU time of terminated child processes\n};\n\n\n inline clock_t times(struct tms *t){\n  struct timespec ts;\n  clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);\n  clock_t ticks(static_cast<clock_t>(static_cast<double>(ts.tv_sec)  * CLOCKS_PER_SEC +\n                                     static_cast<double>(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0));\n  t->tms_utime  = ticks/2U;\n  t->tms_stime  = ticks/2U;\n  t->tms_cutime = 0; // vxWorks is lacking the concept of a child process!\n  t->tms_cstime = 0; // -> Set the wait times for childs to 0\n  return ticks;\n}\n\n\nnamespace std {\n    using ::times;\n}\n#  endif // __cplusplus\n#endif // _WRS_VXWORKS_MAJOR < 7\n\n\n#ifdef __cplusplus\nextern \"C\" void   bzero     (void *, size_t);    // FD_ZERO uses bzero() but doesn't include strings.h\n\n// Put the selfmade functions into the std-namespace, just in case\nnamespace std {\n#  ifdef __RTP__\n    using ::getrlimit;\n    using ::setrlimit;\n#  endif\n  using ::truncate;\n  using ::symlink;\n  using ::readlink;\n#  if (_WRS_VXWORKS_MAJOR < 7)  \n    using ::gettimeofday;\n#  endif  \n}\n#endif // __cplusplus\n\n// Some more macro-magic:\n// vxWorks-around: Some functions are not present or broken in vxWorks\n//                 but may be patched to life via helper macros...\n\n// Include signal.h which might contain a typo to be corrected here\n#include <signal.h>\n\n#if (_WRS_VXWORKS_MAJOR < 7)\n#  define getpagesize()    sysconf(_SC_PAGESIZE)         // getpagesize is deprecated anyway!\ninline int lstat(p, b) { return stat(p, b); }  // lstat() == stat(), as vxWorks has no symlinks!\n#endif\n\n#ifndef S_ISSOCK\n#  define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket?\n#endif\n#ifndef FPE_FLTINV\n#  define FPE_FLTINV     (FPE_FLTSUB+1)                // vxWorks has no FPE_FLTINV, so define one as a dummy\n#endif\n#if !defined(BUS_ADRALN) && defined(BUS_ADRALNR)\n#  define BUS_ADRALN     BUS_ADRALNR                   // Correct a supposed typo in vxWorks' <signal.h>\n#endif\ntypedef int              locale_t;                     // locale_t is a POSIX-extension, currently not present in vxWorks!\n\n// #include boilerplate code:\n#include <boost/config/detail/posix_features.hpp>\n\n// vxWorks lies about XSI conformance, there is no nl_types.h:\n#undef BOOST_HAS_NL_TYPES_H\n\n// vxWorks 7 adds C++11 support \n// however it is optional, and does not match exactly the support determined\n// by examining the Dinkum STL version and GCC version (or ICC and DCC) \n#if !( defined( _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011) || defined(_WRS_CONFIG_LIBCPLUS_STD))\n#  define BOOST_NO_CXX11_ADDRESSOF      // C11 addressof operator on memory location\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS  // max_digits10 in test/../print_helper.hpp\n#  define BOOST_NO_CXX11_SMART_PTR \n#  define BOOST_NO_CXX11_STD_ALIGN\n\n\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST  //serialization/test/test_list.cpp\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL \n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM      //math/../test_data.hpp\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX \n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TUPLE \n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET \n#else\n#  ifndef  BOOST_SYSTEM_NO_DEPRECATED\n#    define BOOST_SYSTEM_NO_DEPRECATED  // workaround link error in spirit\n#  endif\n#endif\n\n\n// NONE is used in enums in lamda and other libraries\n#undef NONE\n// restrict is an iostreams class\n#undef restrict\n// affects some typeof tests\n#undef V7\n\n// use fake poll() from Unix layer in ASIO to get full functionality \n// most libraries will use select() but this define allows 'iostream' functionality\n// which is based on poll() only\n#if (_WRS_VXWORKS_MAJOR > 6)\n#  ifndef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR\n#    define BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR\n#  endif\n#else \n#  define BOOST_ASIO_DISABLE_SERIAL_PORT\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/wasm.hpp",
    "content": "//  (C) Copyright John Maddock 2020.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  WASM specific config options:\n\n#define BOOST_PLATFORM \"Wasm\"\n\n#ifdef __has_include\n#if __has_include(<unistd.h>)\n#  define BOOST_HAS_UNISTD_H\n#endif\n#endif\n\n// boilerplate code:\n#include <boost/config/detail/posix_features.hpp>\n//\n// fenv lacks the C++11 macros:\n//\n#define BOOST_NO_FENV_H\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/win32.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Bill Kempf 2001. \n//  (C) Copyright Aleksey Gurtovoy 2003. \n//  (C) Copyright Rene Rivera 2005.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Win32 specific config options:\n\n#define BOOST_PLATFORM \"Win32\"\n\n//  Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.\n#if defined(__MINGW32__)\n#  include <_mingw.h>\n#endif\n\n#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)\n#  define BOOST_NO_SWPRINTF\n#endif\n\n//  Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT\n//  If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),\n//  its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and\n//  BOOST_SYMBOL_IMPORT\n#ifndef BOOST_SYMBOL_EXPORT\n#  define BOOST_HAS_DECLSPEC\n#  define BOOST_SYMBOL_EXPORT __declspec(dllexport)\n#  define BOOST_SYMBOL_IMPORT __declspec(dllimport)\n#endif\n\n#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))\n#  define BOOST_HAS_STDINT_H\n#  ifndef __STDC_LIMIT_MACROS\n#     define __STDC_LIMIT_MACROS\n#  endif\n#  define BOOST_HAS_DIRENT_H\n#  define BOOST_HAS_UNISTD_H\n#endif\n\n#if defined(__MINGW32__) && (__GNUC__ >= 4)\n// Mingw has these functions but there are persistent problems\n// with calls to these crashing, so disable for now:\n//#  define BOOST_HAS_EXPM1\n//#  define BOOST_HAS_LOG1P\n#  define BOOST_HAS_GETTIMEOFDAY\n#endif\n//\n// Win32 will normally be using native Win32 threads,\n// but there is a pthread library avaliable as an option,\n// we used to disable this when BOOST_DISABLE_WIN32 was \n// defined but no longer - this should allow some\n// files to be compiled in strict mode - while maintaining\n// a consistent setting of BOOST_HAS_THREADS across\n// all translation units (needed for shared_ptr etc).\n//\n\n#ifndef BOOST_HAS_PTHREADS\n#  define BOOST_HAS_WINTHREADS\n#endif\n\n//\n// WinCE configuration:\n//\n#if defined(_WIN32_WCE) || defined(UNDER_CE)\n#  define BOOST_NO_ANSI_APIS\n// Windows CE does not have a conforming signature for swprintf\n#  define BOOST_NO_SWPRINTF\n#else\n#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME\n#  define BOOST_HAS_THREADEX\n#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME\n#endif\n\n//\n// Windows Runtime\n//\n#if defined(WINAPI_FAMILY) && \\\n  (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)\n#  define BOOST_NO_ANSI_APIS\n#endif\n\n#ifndef BOOST_DISABLE_WIN32\n// WEK: Added\n#define BOOST_HAS_FTIME\n#define BOOST_WINDOWS 1\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/platform/zos.hpp",
    "content": "//  Copyright (c) 2017 Dynatrace\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n\n//  See http://www.boost.org for most recent version.\n\n//  Platform setup for IBM z/OS.\n\n#define BOOST_PLATFORM \"IBM z/OS\"\n\n#include <features.h> // For __UU, __C99, __TR1, ...\n\n#if defined(__UU)\n#  define BOOST_HAS_GETTIMEOFDAY\n#endif\n\n#if defined(_OPEN_THREADS) || defined(__SUSV3_THR)\n#  define BOOST_HAS_PTHREADS\n#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE\n#  define BOOST_HAS_THREADS\n#endif\n\n#if defined(__SUSV3) || defined(__SUSV3_THR)\n#  define BOOST_HAS_SCHED_YIELD\n#endif\n\n#define BOOST_HAS_SIGACTION\n#define BOOST_HAS_UNISTD_H\n#define BOOST_HAS_DIRENT_H\n#define BOOST_HAS_NL_TYPES_H\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/pragma_message.hpp",
    "content": "#ifndef BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED\n#define BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED\n\n//  Copyright 2017 Peter Dimov.\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n//\n//  BOOST_PRAGMA_MESSAGE(\"message\")\n//\n//  Expands to the equivalent of #pragma message(\"message\")\n//\n//  Note that this header is C compatible.\n\n#include <boost/config/helper_macros.hpp>\n\n#if defined(BOOST_DISABLE_PRAGMA_MESSAGE)\n# define BOOST_PRAGMA_MESSAGE(x)\n#elif defined(__INTEL_COMPILER)\n# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ \"(\" BOOST_STRINGIZE(__LINE__) \"): note: \" x))\n#elif defined(__GNUC__)\n# define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))\n#elif defined(_MSC_VER)\n# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ \"(\" BOOST_STRINGIZE(__LINE__) \"): note: \" x))\n#else\n# define BOOST_PRAGMA_MESSAGE(x)\n#endif\n\n#endif // BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/requires_threads.hpp",
    "content": "//  (C) Copyright John Maddock 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n\n#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP\n#define BOOST_CONFIG_REQUIRES_THREADS_HPP\n\n#ifndef BOOST_CONFIG_HPP\n#  include <boost/config.hpp>\n#endif\n\n#if defined(BOOST_DISABLE_THREADS)\n\n//\n// special case to handle versions of gcc which don't currently support threads:\n//\n#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))\n//\n// this is checked up to gcc 3.3:\n//\n#if defined(__sgi) || defined(__hpux)\n#  error \"Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)\"\n#endif\n\n#endif\n\n#  error \"Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS\"\n\n#elif !defined(BOOST_HAS_THREADS)\n\n# if defined __COMO__\n//  Comeau C++\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)\"\n\n#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)\n//  Intel\n#ifdef _WIN32\n#  error \"Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd\"\n#else\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp\"\n#endif\n\n# elif defined __GNUC__\n//  GNU C++:\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)\"\n\n#elif defined __sgi\n//  SGI MIPSpro C++\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE\"\n\n#elif defined __DECCXX\n//  Compaq Tru64 Unix cxx\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread\"\n\n#elif defined BOOST_BORLANDC\n//  Borland\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM\"\n\n#elif defined  __MWERKS__\n//  Metrowerks CodeWarrior\n#   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\"\n\n#elif defined  __SUNPRO_CC\n//  Sun Workshop Compiler C++\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -mt\"\n\n#elif defined __HP_aCC\n//  HP aCC\n#   error \"Compiler threading support is not turned on. Please set the correct command line options for threading: -mt\"\n\n#elif defined(__IBMCPP__)\n//  IBM Visual Age\n#   error \"Compiler threading support is not turned on. Please compile the code with the xlC_r compiler\"\n\n#elif defined _MSC_VER\n//  Microsoft Visual C++\n//\n//  Must remain the last #elif since some other vendors (Metrowerks, for\n//  example) also #define _MSC_VER\n#  error \"Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd\"\n\n#else\n\n#  error \"Compiler threading support is not turned on.  Please consult your compiler's documentation for the appropriate options to use\"\n\n#endif // compilers\n\n#endif // BOOST_HAS_THREADS\n\n#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/dinkumware.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003.\n//  (C) Copyright Jens Maurer 2001.\n//  (C) Copyright Peter Dimov 2001.\n//  (C) Copyright David Abrahams 2002.\n//  (C) Copyright Guillaume Melquiond 2003.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Dinkumware standard library config:\n\n#if !defined(_YVALS) && !defined(_CPPLIB_VER)\n#include <boost/config/no_tr1/utility.hpp>\n#if !defined(_YVALS) && !defined(_CPPLIB_VER)\n#error This is not the Dinkumware lib!\n#endif\n#endif\n\n\n#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)\n   // full dinkumware 3.06 and above\n   // fully conforming provided the compiler supports it:\n#  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(BOOST_BORLANDC) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h\n#     define BOOST_NO_STDC_NAMESPACE\n#  endif\n#  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)\n#     define BOOST_NO_STD_ALLOCATOR\n#  endif\n#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR\n#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)\n      // if this lib version is set up for vc6 then there is no std::use_facet:\n#     define BOOST_NO_STD_USE_FACET\n#     define BOOST_HAS_TWO_ARG_USE_FACET\n      // C lib functions aren't in namespace std either:\n#     define BOOST_NO_STDC_NAMESPACE\n      // and nor is <exception>\n#     define BOOST_NO_EXCEPTION_STD_NAMESPACE\n#  endif\n// There's no numeric_limits<long long> support unless _LONGLONG is defined:\n#  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)\n#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS\n#  endif\n// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,\n// and no <slist> at all\n#else\n#  define BOOST_MSVC_STD_ITERATOR 1\n#  define BOOST_NO_STD_ITERATOR\n#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\n#  define BOOST_NO_STD_ALLOCATOR\n#  define BOOST_NO_STDC_NAMESPACE\n#  define BOOST_NO_STD_USE_FACET\n#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN\n#  define BOOST_HAS_MACRO_USE_FACET\n#  ifndef _CPPLIB_VER\n      // Updated Dinkum library defines this, and provides\n      // its own min and max definitions, as does MTA version.\n#     ifndef __MTA__ \n#        define BOOST_NO_STD_MIN_MAX\n#     endif\n#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS\n#  endif\n#endif\n\n//\n// std extension namespace is stdext for vc7.1 and later, \n// the same applies to other compilers that sit on top\n// of vc7.1 (Intel and Comeau):\n//\n#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(BOOST_BORLANDC)\n#  define BOOST_STD_EXTENSION_NAMESPACE stdext\n#endif\n\n\n#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(BOOST_BORLANDC)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)\n   // if we're using a dinkum lib that's\n   // been configured for VC6/7 then there is\n   // no iterator traits (true even for icl)\n#  define BOOST_NO_STD_ITERATOR_TRAITS\n#endif\n\n#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)\n// Intel C++ chokes over any non-trivial use of <locale>\n// this may be an overly restrictive define, but regex fails without it:\n#  define BOOST_NO_STD_LOCALE\n#endif\n\n#if ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) && (_MSC_VER < 1800)\n// Fix for VC++ 8.0 on up ( I do not have a previous version to test )\n// or clang-cl. If exceptions are off you must manually include the \n// <exception> header before including the <typeinfo> header. Admittedly \n// trying to use Boost libraries or the standard C++ libraries without \n// exception support is not suggested but currently clang-cl ( v 3.4 ) \n// does not support exceptions and must be compiled with exceptions off.\n#if !_HAS_EXCEPTIONS\n#include <exception>\n#endif\n#include <typeinfo>\n#if !_HAS_EXCEPTIONS\n#  define BOOST_NO_STD_TYPEINFO\n#endif  \n#endif\n#if defined(__ghs__) && !_HAS_NAMESPACE\n#  define BOOST_NO_STD_TYPEINFO\n#endif\n\n//  C++0x headers implemented in 520 (as shipped by Microsoft)\n//\n#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_SMART_PTR\n#endif\n\n#if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \\\n  && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610)\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#endif\n\n//  C++0x headers implemented in 540 (as shipped by Microsoft)\n//\n#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n#endif\n\n//  C++0x headers implemented in 610 (as shipped by Microsoft)\n//\n#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_ALLOCATOR\n// 540 has std::align but it is not a conforming implementation\n#  define BOOST_NO_CXX11_STD_ALIGN\n#endif\n\n// Before 650 std::pointer_traits has a broken rebind template\n#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#elif defined(BOOST_MSVC) && BOOST_MSVC < 1910\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#endif\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif (__cplusplus < 201402) && !defined(_MSC_VER)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n#endif\n\n// C++17 features\n#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1910) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n#  define BOOST_NO_CXX17_HDR_STRING_VIEW\n#  define BOOST_NO_CXX17_HDR_OPTIONAL\n#  define BOOST_NO_CXX17_HDR_VARIANT\n#  define BOOST_NO_CXX17_HDR_ANY\n#  define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE\n#  define BOOST_NO_CXX17_HDR_CHARCONV\n#  define BOOST_NO_CXX17_HDR_EXECUTION\n#  define BOOST_NO_CXX17_HDR_FILESYSTEM\n#endif\n#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709)\n#  define BOOST_NO_CXX17_STD_INVOKE\n#endif\n\n// C++20 features\n#if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202008L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0)\n#  define BOOST_NO_CXX20_HDR_BARRIER\n#  define BOOST_NO_CXX20_HDR_BIT\n#  define BOOST_NO_CXX20_HDR_LATCH\n#  define BOOST_NO_CXX20_HDR_SPAN\n#  define BOOST_NO_CXX20_HDR_COMPARE\n#  define BOOST_NO_CXX20_HDR_NUMBERS\n#  define BOOST_NO_CXX20_HDR_CONCEPTS\n#  define BOOST_NO_CXX20_HDR_COROUTINE\n#  define BOOST_NO_CXX20_HDR_SEMAPHORE\n#endif\n#if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202011L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0)\n#  define BOOST_NO_CXX20_HDR_STOP_TOKEN\n#endif\n// C++20 features not yet implemented:\n#  define BOOST_NO_CXX20_HDR_FORMAT\n#if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202108L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0)\n#  define BOOST_NO_CXX20_HDR_SOURCE_LOCATION\n#  define BOOST_NO_CXX20_HDR_SYNCSTREAM\n#endif\n// Incomplete:\n#  define BOOST_NO_CXX20_HDR_RANGES\n\n#if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0))\n// Deprecated std::iterator:\n#  define BOOST_NO_STD_ITERATOR\n#endif\n\n#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)\n// Intel's compiler can't handle this header yet:\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#endif\n\n\n//  520..610 have std::addressof, but it doesn't support functions\n//\n#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650\n#  define BOOST_NO_CXX11_ADDRESSOF\n#endif\n\n// Bug specific to VC14, \n// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t\n// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2\n#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650) && (!defined(_MSVC_STL_VERSION) || (_MSVC_STL_VERSION < 142))\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#endif\n\n#if (_MSVC_LANG > 201700) && !defined(BOOST_NO_CXX11_HDR_CODECVT)\n//\n// <codecvt> is deprected as of C++17, and by default MSVC emits hard errors\n// if you try to use it, so mark it as unavailable:\n//\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#endif\n\n#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650)\n// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr and std::random_shuffle are not available.\n// See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++\n// and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx\n#  if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0)\n#    define BOOST_NO_AUTO_PTR\n#    define BOOST_NO_CXX98_RANDOM_SHUFFLE\n#    define BOOST_NO_CXX98_FUNCTION_BASE\n#    define BOOST_NO_CXX98_BINDERS\n#  endif\n#endif\n//\n// Things deprecated in C++20:\n//\n#if defined(_HAS_CXX20)\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#endif\n\n\n//\n// Things not supported by the CLR:\n#ifdef _M_CEE\n#ifndef BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#endif\n#ifndef BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#endif\n#ifndef BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#endif\n#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#endif\n#ifndef BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_THREAD\n#endif\n#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#ifndef BOOST_NO_CXX14_STD_EXCHANGE\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n#endif\n#ifndef BOOST_NO_FENV_H\n#  define BOOST_NO_FENV_H\n#endif\n#endif\n\n#ifdef _CPPLIB_VER\n#  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER\n#else\n#  define BOOST_DINKUMWARE_STDLIB 1\n#endif\n\n#ifdef _CPPLIB_VER\n#  define BOOST_STDLIB \"Dinkumware standard library version \" BOOST_STRINGIZE(_CPPLIB_VER)\n#else\n#  define BOOST_STDLIB \"Dinkumware standard library version 1.x\"\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/libcomo.hpp",
    "content": "//  (C) Copyright John Maddock 2002 - 2003. \n//  (C) Copyright Jens Maurer 2002 - 2003. \n//  (C) Copyright Beman Dawes 2002 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Comeau STL:\n\n#if !defined(__LIBCOMO__)\n#  include <boost/config/no_tr1/utility.hpp>\n#  if !defined(__LIBCOMO__)\n#      error \"This is not the Comeau STL!\"\n#  endif\n#endif\n\n//\n// std::streambuf<wchar_t> is non-standard\n// NOTE: versions of libcomo prior to beta28 have octal version numbering,\n// e.g. version 25 is 21 (dec)\n#if __LIBCOMO_VERSION__ <= 22\n#  define BOOST_NO_STD_WSTREAMBUF\n#endif\n\n#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)\n#define BOOST_NO_SWPRINTF\n#endif\n\n#if __LIBCOMO_VERSION__ >= 31\n#  define BOOST_HAS_HASH\n#  define BOOST_HAS_SLIST\n#endif\n\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n\n//\n// Intrinsic type_traits support.\n// The SGI STL has it's own __type_traits class, which\n// has intrinsic compiler support with SGI's compilers.\n// Whatever map SGI style type traits to boost equivalents:\n//\n#define BOOST_HAS_SGI_TYPE_TRAITS\n\n#define BOOST_STDLIB \"Comeau standard library \" BOOST_STRINGIZE(__LIBCOMO_VERSION__)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/libcpp.hpp",
    "content": "//  (C) Copyright Christopher Jefferson 2011.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  config for libc++\n//  Might need more in here later.\n\n#if !defined(_LIBCPP_VERSION)\n#  include <ciso646>\n#  if !defined(_LIBCPP_VERSION)\n#      error \"This is not libc++!\"\n#  endif\n#endif\n\n#define BOOST_STDLIB \"libc++ version \" BOOST_STRINGIZE(_LIBCPP_VERSION)\n\n#define BOOST_HAS_THREADS\n\n#ifdef _LIBCPP_HAS_NO_VARIADICS\n#    define BOOST_NO_CXX11_HDR_TUPLE\n#endif\n\n// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11\n// allocator model. The C++11 allocator model requires a conforming\n// std::allocator_traits which is only possible with C++11 template\n// aliases since members rebind_alloc and rebind_traits require it.\n#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES)\n#    define BOOST_NO_CXX11_ALLOCATOR\n#    define BOOST_NO_CXX11_POINTER_TRAITS\n#endif\n\n#if __cplusplus < 201103\n//\n// These two appear to be somewhat useable in C++03 mode, there may be others...\n//\n//#  define BOOST_NO_CXX11_HDR_ARRAY\n//#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#elif _LIBCPP_VERSION < 3700\n//\n// These appear to be unusable/incomplete so far:\n//\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#endif\n\n\n#if _LIBCPP_VERSION < 3700\n// libc++ uses a non-standard messages_base\n#define BOOST_NO_STD_MESSAGES\n#endif\n\n// C++14 features\n#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n#endif\n\n// C++17 features\n#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_HDR_OPTIONAL\n#  define BOOST_NO_CXX17_HDR_STRING_VIEW\n#  define BOOST_NO_CXX17_HDR_VARIANT\n#endif\n#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)\n#  define BOOST_NO_AUTO_PTR\n#endif\n#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)\n#  define BOOST_NO_CXX98_RANDOM_SHUFFLE\n#endif\n#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS)\n#  define BOOST_NO_CXX98_BINDERS\n#endif\n\n#ifdef __has_include\n#if __has_include(<version>)\n#include <version>\n\n#if !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L)\n#  define BOOST_NO_CXX17_HDR_EXECUTION\n#endif\n#if !defined(__cpp_lib_invoke) || (__cpp_lib_invoke < 201411L)\n#define BOOST_NO_CXX17_STD_INVOKE\n#endif\n\n#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)\n#  define BOOST_NO_CXX20_HDR_BIT\n#endif\n#if !defined(__cpp_lib_three_way_comparison) || (__cpp_lib_three_way_comparison < 201907L)\n#  define BOOST_NO_CXX20_HDR_COMPARE\n#endif\n#if !defined(__cpp_lib_ranges) || (__cpp_lib_ranges < 201911L)\n#  define BOOST_NO_CXX20_HDR_RANGES\n#endif\n#if !defined(__cpp_lib_barrier) || (__cpp_lib_barrier < 201907L)\n#  define BOOST_NO_CXX20_HDR_BARRIER\n#endif\n#if !defined(__cpp_lib_format) || (__cpp_lib_format < 201907L)\n#  define BOOST_NO_CXX20_HDR_FORMAT\n#endif\n#if !defined(__cpp_lib_source_location) || (__cpp_lib_source_location < 201907L)\n#  define BOOST_NO_CXX20_HDR_SOURCE_LOCATION\n#endif\n#if !defined(__cpp_lib_latch) || (__cpp_lib_latch < 201907L)\n#  define BOOST_NO_CXX20_HDR_SOURCE_LATCH\n#endif\n#if !defined(__cpp_lib_span) || (__cpp_lib_span < 202002L)\n#  define BOOST_NO_CXX20_HDR_SOURCE_SPAN\n#endif\n#if !defined(__cpp_lib_math_constants) || (__cpp_lib_math_constants < 201907L)\n#  define BOOST_NO_CXX20_HDR_SOURCE_NUMBERS\n#endif\n#if !defined(__cpp_lib_jthread) || (__cpp_lib_jthread < 201911L)\n#  define BOOST_NO_CXX20_HDR_SOURCE_STOP_TOKEN\n#endif\n#if !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L)\n#  define BOOST_NO_CXX20_HDR_SOURCE_STOP_CONCEPTS\n#endif\n#if !defined(__cpp_lib_syncbuf) || (__cpp_lib_syncbuf < 201803L)\n#  define BOOST_NO_CXX20_HDR_SYNCSTREAM\n#endif\n#if !defined(__cpp_lib_coroutine) || (__cpp_lib_coroutine < 201902L)\n#  define BOOST_NO_CXX20_HDR_COROUTINE\n#endif\n#if !defined(__cpp_lib_semaphore) || (__cpp_lib_semaphore < 201907L)\n#  define BOOST_NO_CXX20_HDR_SEMAPHORE\n#endif\n#if !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L)\n#  define BOOST_NO_CXX20_HDR_CONCEPTS\n#endif\n\n#if(_LIBCPP_VERSION < 9000) && !defined(BOOST_NO_CXX20_HDR_SPAN)\n// as_writable_bytes is missing.\n#  define BOOST_NO_CXX20_HDR_SPAN\n#endif\n\n#else\n#define BOOST_NO_CXX17_STD_INVOKE      // Invoke support is incomplete (no invoke_result)\n#define BOOST_NO_CXX17_HDR_EXECUTION\n#endif\n#else\n#define BOOST_NO_CXX17_STD_INVOKE      // Invoke support is incomplete (no invoke_result)\n#define BOOST_NO_CXX17_HDR_EXECUTION\n#endif\n\n#if _LIBCPP_VERSION < 10000  // What's the correct version check here?\n#define BOOST_NO_CXX17_ITERATOR_TRAITS\n#endif\n\n#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)\n// This is a bit of a sledgehammer, because really it's just libc++abi that has no\n// support for thread_local, leading to linker errors such as\n// \"undefined reference to `__cxa_thread_atexit'\".  It is fixed in the\n// most recent releases of libc++abi though...\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n\n#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)\n// After libc++-dev is installed on Trusty, clang++-libc++ almost works,\n// except uses of `thread_local` fail with undefined reference to\n// `__cxa_thread_atexit`.\n//\n// clang's libc++abi provides an implementation by deferring to the glibc\n// implementation, which may or may not be available (it is not on Trusty).\n// clang 4's libc++abi will provide an implementation if one is not in glibc\n// though, so thread local support should work with clang 4 and above as long\n// as libc++abi is linked in.\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus <= 201103\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n//  --- end ---\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/libstdcpp3.hpp",
    "content": "//  (C) Copyright John Maddock 2001.\n//  (C) Copyright Jens Maurer 2001.\n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  config for libstdc++ v3\n//  not much to go in here:\n\n#define BOOST_GNU_STDLIB 1\n\n#ifdef __GLIBCXX__\n#define BOOST_STDLIB \"GNU libstdc++ version \" BOOST_STRINGIZE(__GLIBCXX__)\n#else\n#define BOOST_STDLIB \"GNU libstdc++ version \" BOOST_STRINGIZE(__GLIBCPP__)\n#endif\n\n#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)\n#  define BOOST_NO_CWCHAR\n#  define BOOST_NO_CWCTYPE\n#  define BOOST_NO_STD_WSTRING\n#  define BOOST_NO_STD_WSTREAMBUF\n#endif\n\n#if defined(__osf__) && !defined(_REENTRANT) \\\n  && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )\n// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header\n// file is included, therefore for consistency we define it here as well.\n#  define _REENTRANT\n#endif\n\n#ifdef __GLIBCXX__ // gcc 3.4 and greater:\n#  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \\\n        || defined(_GLIBCXX__PTHREADS) \\\n        || defined(_GLIBCXX_HAS_GTHREADS) \\\n        || defined(_WIN32) \\\n        || defined(_AIX) \\\n        || defined(__HAIKU__)\n      //\n      // If the std lib has thread support turned on, then turn it on in Boost\n      // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT\n      // while others do not...\n      //\n#     define BOOST_HAS_THREADS\n#  else\n#     define BOOST_DISABLE_THREADS\n#  endif\n#elif defined(__GLIBCPP__) \\\n        && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \\\n        && !defined(_GLIBCPP__PTHREADS)\n   // disable thread support if the std lib was built single threaded:\n#  define BOOST_DISABLE_THREADS\n#endif\n\n#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)\n// linux on arm apparently doesn't define _REENTRANT\n// so just turn on threading support whenever the std lib is thread safe:\n#  define BOOST_HAS_THREADS\n#endif\n\n#if !defined(_GLIBCPP_USE_LONG_LONG) \\\n    && !defined(_GLIBCXX_USE_LONG_LONG)\\\n    && defined(BOOST_HAS_LONG_LONG)\n// May have been set by compiler/*.hpp, but \"long long\" without library\n// support is useless.\n#  undef BOOST_HAS_LONG_LONG\n#endif\n\n// Apple doesn't seem to reliably defined a *unix* macro\n#if !defined(CYGWIN) && (  defined(__unix__)  \\\n                        || defined(__unix)    \\\n                        || defined(unix)      \\\n                        || defined(__APPLE__) \\\n                        || defined(__APPLE)   \\\n                        || defined(APPLE))\n#  include <unistd.h>\n#endif\n\n#ifndef __VXWORKS__ // VxWorks uses Dinkum, not GNU STL with GCC \n#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0\n#  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx\n#  define BOOST_HAS_SLIST\n#  define BOOST_HAS_HASH\n#  define BOOST_SLIST_HEADER <ext/slist>\n# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)\n#   define BOOST_HASH_SET_HEADER <ext/hash_set>\n#   define BOOST_HASH_MAP_HEADER <ext/hash_map>\n# else\n#   define BOOST_HASH_SET_HEADER <backward/hash_set>\n#   define BOOST_HASH_MAP_HEADER <backward/hash_map>\n# endif\n#endif\n#endif\n\n#if defined(__has_include)\n#if defined(BOOST_HAS_HASH)\n#if !__has_include(BOOST_HASH_SET_HEADER) || (__GNUC__ >= 10)\n#undef BOOST_HAS_HASH\n#undef BOOST_HAS_SET_HEADER\n#undef BOOST_HAS_MAP_HEADER\n#endif\n#if !__has_include(BOOST_SLIST_HEADER)\n#undef BOOST_HAS_SLIST\n#undef BOOST_HAS_SLIST_HEADER\n#endif\n#endif\n#endif\n\n//\n// Decide whether we have C++11 support turned on:\n//\n#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103)\n#  define BOOST_LIBSTDCXX11\n#endif\n\n//\n//  Decide which version of libstdc++ we have, normally\n//  libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly\n//  __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++\n//  developers. He also commented:\n//\n//       \"I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in\n//       GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305.\n//       Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support\n//       than any release in the 4.2 series.\"\n//\n//  Another resource for understanding libstdc++ features is:\n//  http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x\n//\n//  However, using the GCC version number fails when the compiler is clang since this\n//  only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473\n//  for a long discussion on this issue.  What we can do though is use clang's __has_include\n//  to detect the presence of a C++11 header that was introduced with a specific GCC release.\n//  We still have to be careful though as many such headers were buggy and/or incomplete when\n//  first introduced, so we only check for headers that were fully featured from day 1, and then\n//  use that to infer the underlying GCC version:\n//\n#ifdef __clang__\n\n#if __has_include(<compare>)\n#  define BOOST_LIBSTDCXX_VERSION 100100\n#elif __has_include(<memory_resource>)\n#  define BOOST_LIBSTDCXX_VERSION 90100\n#elif __has_include(<charconv>)\n#  define BOOST_LIBSTDCXX_VERSION 80100\n#elif __has_include(<variant>)\n#  define BOOST_LIBSTDCXX_VERSION 70100\n#elif __has_include(<experimental/memory_resource>)\n#  define BOOST_LIBSTDCXX_VERSION 60100\n#elif __has_include(<experimental/any>)\n#  define BOOST_LIBSTDCXX_VERSION 50100\n#elif __has_include(<shared_mutex>)\n#  define BOOST_LIBSTDCXX_VERSION 40900\n#elif __has_include(<ext/cmath>)\n#  define BOOST_LIBSTDCXX_VERSION 40800\n#elif __has_include(<scoped_allocator>)\n#  define BOOST_LIBSTDCXX_VERSION 40700\n#elif __has_include(<typeindex>)\n#  define BOOST_LIBSTDCXX_VERSION 40600\n#elif __has_include(<future>)\n#  define BOOST_LIBSTDCXX_VERSION 40500\n#elif  __has_include(<ratio>)\n#  define BOOST_LIBSTDCXX_VERSION 40400\n#elif __has_include(<array>)\n#  define BOOST_LIBSTDCXX_VERSION 40300\n#endif\n//\n// If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is\n// configured to support this type.  If not disable it:\n//\n#if defined(BOOST_HAS_FLOAT128) && !defined(_GLIBCXX_USE_FLOAT128)\n#  undef BOOST_HAS_FLOAT128\n#endif\n\n#if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH)\n//\n// hash_set/hash_map deprecated and have terminal bugs:\n//\n#undef BOOST_HAS_HASH\n#undef BOOST_HAS_SET_HEADER\n#undef BOOST_HAS_MAP_HEADER\n#endif\n\n\n#if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH)\n//\n// hash_set/hash_map deprecated and have terminal bugs:\n//\n#undef BOOST_HAS_HASH\n#undef BOOST_HAS_SET_HEADER\n#undef BOOST_HAS_MAP_HEADER\n#endif\n\n\n#if (BOOST_LIBSTDCXX_VERSION < 50100)\n// libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it,\n// defining it here is a terrible cludge, but should get things working:\nextern \"C\" char *gets (char *__s);\n#endif\n//\n// clang is unable to parse some GCC headers, add those workarounds here:\n//\n#if BOOST_LIBSTDCXX_VERSION < 50000\n#  define BOOST_NO_CXX11_HDR_REGEX\n#endif\n//\n// GCC 4.7.x has no __cxa_thread_atexit which\n// thread_local objects require for cleanup:\n//\n#if BOOST_LIBSTDCXX_VERSION < 40800\n#  define BOOST_NO_CXX11_THREAD_LOCAL\n#endif\n//\n// Early clang versions can handle <chrono>, not exactly sure which versions\n// but certainly up to clang-3.8 and gcc-4.6:\n//\n#if (__clang_major__ < 5)\n#  if BOOST_LIBSTDCXX_VERSION < 40800\n#     define BOOST_NO_CXX11_HDR_FUTURE\n#     define BOOST_NO_CXX11_HDR_MUTEX\n#     define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#     define BOOST_NO_CXX11_HDR_CHRONO\n#  endif\n#endif\n\n//\n//  GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively.\n//  However, we have no test for these as the headers were present but broken\n//  in early GCC versions.\n//\n#endif\n\n#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L)\n//\n// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't \n// set __GNUC__\n//\n#if __SUNPRO_CC >= 0x5140\n#define BOOST_LIBSTDCXX_VERSION 50100\n#else\n#define BOOST_LIBSTDCXX_VERSION 40800\n#endif\n#endif\n\n#if !defined(BOOST_LIBSTDCXX_VERSION)\n#  define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)\n#endif\n\n// std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier)\n// or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later).\n#if defined(BOOST_LIBSTDCXX11)\n#  if BOOST_LIBSTDCXX_VERSION < 40600\n#     if !_GLIBCXX_DEPRECATED\n#        define BOOST_NO_AUTO_PTR\n#     endif\n#  elif !_GLIBCXX_USE_DEPRECATED\n#     define BOOST_NO_AUTO_PTR\n#     define BOOST_NO_CXX98_BINDERS\n#  endif\n#endif\n\n//  C++0x headers in GCC 4.3.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11)\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#endif\n\n//  C++0x headers in GCC 4.4.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11)\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n#else\n#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG \n#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS \n#endif\n\n//  C++0x features in GCC 4.5.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11)\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#endif\n\n//  C++0x features in GCC 4.6.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11)\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n#endif\n\n//  C++0x features in GCC 4.7.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11)\n// Note that although <chrono> existed prior to 4.7, \"steady_clock\" is spelled \"monotonic_clock\"\n// so 4.7.0 is the first truly conforming one.\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#endif\n//  C++0x features in GCC 4.8.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11)\n// Note that although <atomic> existed prior to gcc 4.8 it was largely unimplemented for many types:\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_HDR_THREAD\n#endif\n//  C++0x features in GCC 4.9.0 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)\n// Although <regex> is present and compilable against, the actual implementation is not functional\n// even for the simplest patterns such as \"\\d\" or \"[0-9]\". This is the case at least in gcc up to 4.8, inclusively.\n#  define BOOST_NO_CXX11_HDR_REGEX\n#endif\n#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103)\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n#endif\n\n//\n//  C++0x features in GCC 5.1 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11)\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_STD_ALIGN\n#endif\n\n//\n//  C++17 features in GCC 7.1 and later\n//\n#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_HDR_OPTIONAL\n#  define BOOST_NO_CXX17_HDR_STRING_VIEW\n#  define BOOST_NO_CXX17_HDR_VARIANT\n#endif\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus <= 201103\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n//\n// <execution> has a dependency to Intel's thread building blocks:\n// unless these are installed seperately, including <execution> leads\n// to inscrutable errors inside libstdc++'s own headers.\n//\n#if (BOOST_LIBSTDCXX_VERSION < 100100)\n#if !__has_include(<tbb/tbb.h>)\n#define BOOST_NO_CXX17_HDR_EXECUTION\n#endif\n#endif\n#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n#if BOOST_LIBSTDCXX_VERSION < 100100\n//\n// The header may be present but is incomplete:\n//\n#  define BOOST_NO_CXX17_HDR_CHARCONV\n#endif\n\n#if BOOST_LIBSTDCXX_VERSION < 110000\n//\n// Header <bit> may be present but lacks std::bit_cast:\n//\n#define BOOST_NO_CXX20_HDR_BIT\n#endif\n\n#ifndef __cpp_impl_coroutine\n#  define BOOST_NO_CXX20_HDR_COROUTINE\n#endif\n\n//\n// These next defines are mostly for older clang versions with a newer libstdc++ :\n//\n#if !defined(__cpp_lib_concepts)\n#if !defined(BOOST_NO_CXX20_HDR_COMPARE)\n#  define BOOST_NO_CXX20_HDR_COMPARE\n#endif\n#if !defined(BOOST_NO_CXX20_HDR_CONCEPTS)\n#  define BOOST_NO_CXX20_HDR_CONCEPTS\n#endif\n#if !defined(BOOST_NO_CXX20_HDR_SPAN)\n#  define BOOST_NO_CXX20_HDR_SPAN\n#endif\n#if !defined(BOOST_NO_CXX20_HDR_RANGES)\n#  define BOOST_NO_CXX20_HDR_RANGES\n#endif\n#endif\n\n//\n// Headers not present on Solaris with the Oracle compiler:\n#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)\n#define BOOST_NO_CXX11_HDR_FUTURE\n#define BOOST_NO_CXX11_HDR_FORWARD_LIST \n#define BOOST_NO_CXX11_HDR_ATOMIC\n// shared_ptr is present, but is not convertible to bool\n// which causes all kinds of problems especially in Boost.Thread\n// but probably elsewhere as well.\n#define BOOST_NO_CXX11_SMART_PTR\n#endif\n\n#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1))\n   // Headers not always available:\n#  ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#     define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  endif\n#  ifndef BOOST_NO_CXX11_HDR_MUTEX\n#     define BOOST_NO_CXX11_HDR_MUTEX\n#  endif\n#  ifndef BOOST_NO_CXX11_HDR_THREAD\n#     define BOOST_NO_CXX11_HDR_THREAD\n#  endif\n#  ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#     define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#  endif\n#endif\n\n#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)\n// Timed mutexes are not always available:\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#endif\n\n//  --- end ---\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/modena.hpp",
    "content": "//  (C) Copyright Jens Maurer 2001. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Modena C++ standard library (comes with KAI C++)\n\n#if !defined(MSIPL_COMPILE_H)\n#  include <boost/config/no_tr1/utility.hpp>\n#  if !defined(__MSIPL_COMPILE_H)\n#      error \"This is not the Modena C++ library!\"\n#  endif\n#endif\n\n#ifndef MSIPL_NL_TYPES\n#define BOOST_NO_STD_MESSAGES\n#endif\n\n#ifndef MSIPL_WCHART\n#define BOOST_NO_STD_WSTRING\n#endif\n\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n\n#define BOOST_STDLIB \"Modena C++ standard library\"\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/msl.hpp",
    "content": "//  (C) Copyright John Maddock 2001. \n//  (C) Copyright Darin Adler 2001. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Metrowerks standard library:\n\n#ifndef __MSL_CPP__\n#  include <boost/config/no_tr1/utility.hpp>\n#  ifndef __MSL_CPP__\n#     error This is not the MSL standard library!\n#  endif\n#endif\n\n#if __MSL_CPP__ >= 0x6000  // Pro 6\n#  define BOOST_HAS_HASH\n#  define BOOST_STD_EXTENSION_NAMESPACE Metrowerks\n#endif\n#define BOOST_HAS_SLIST\n\n#if __MSL_CPP__ < 0x6209\n#  define BOOST_NO_STD_MESSAGES\n#endif\n\n// check C lib version for <stdint.h>\n#include <cstddef>\n\n#if defined(__MSL__) && (__MSL__ >= 0x5000)\n#  define BOOST_HAS_STDINT_H\n#  if !defined(__PALMOS_TRAPS__)\n#    define BOOST_HAS_UNISTD_H\n#  endif\n   // boilerplate code:\n#  include <boost/config/detail/posix_features.hpp>\n#endif\n\n#if defined(_MWMT) || _MSL_THREADSAFE\n#  define BOOST_HAS_THREADS\n#endif\n\n#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG\n#  define BOOST_NO_STD_USE_FACET\n#  define BOOST_HAS_TWO_ARG_USE_FACET\n#endif\n\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n\n#define BOOST_STDLIB \"Metrowerks Standard Library version \" BOOST_STRINGIZE(__MSL_CPP__)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/roguewave.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Jens Maurer 2001. \n//  (C) Copyright David Abrahams 2003. \n//  (C) Copyright Boris Gubenko 2007. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  Rogue Wave std lib:\n\n#define BOOST_RW_STDLIB 1 \n\n#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\n#  include <boost/config/no_tr1/utility.hpp>\n#  if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\n#     error This is not the Rogue Wave standard library\n#  endif\n#endif\n//\n// figure out a consistent version number:\n//\n#ifndef _RWSTD_VER\n#  define BOOST_RWSTD_VER 0x010000\n#elif _RWSTD_VER < 0x010000\n#  define BOOST_RWSTD_VER (_RWSTD_VER << 8)\n#else\n#  define BOOST_RWSTD_VER _RWSTD_VER\n#endif\n\n#ifndef _RWSTD_VER\n#  define BOOST_STDLIB \"Rogue Wave standard library version (Unknown version)\"\n#elif _RWSTD_VER < 0x04010200\n #  define BOOST_STDLIB \"Rogue Wave standard library version \" BOOST_STRINGIZE(_RWSTD_VER)\n#else\n#  ifdef _RWSTD_VER_STR\n#    define BOOST_STDLIB \"Apache STDCXX standard library version \" _RWSTD_VER_STR\n#  else\n#    define BOOST_STDLIB \"Apache STDCXX standard library version \" BOOST_STRINGIZE(_RWSTD_VER)\n#  endif\n#endif\n\n//\n// Prior to version 2.2.0 the primary template for std::numeric_limits\n// does not have compile time constants, even though specializations of that\n// template do:\n//\n#if BOOST_RWSTD_VER < 0x020200\n#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#endif\n\n// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the\n// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):\n#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))\n#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS\n# endif\n\n//\n// Borland version of numeric_limits lacks __int64 specialisation:\n//\n#ifdef BOOST_BORLANDC\n#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS\n#endif\n\n//\n// No std::iterator if it can't figure out default template args:\n//\n#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)\n#  define BOOST_NO_STD_ITERATOR\n#endif\n\n//\n// No iterator traits without partial specialization:\n//\n#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)\n#  define BOOST_NO_STD_ITERATOR_TRAITS\n#endif\n\n//\n// Prior to version 2.0, std::auto_ptr was buggy, and there were no\n// new-style iostreams, and no conformant std::allocator:\n//\n#if (BOOST_RWSTD_VER < 0x020000)\n#  define BOOST_NO_AUTO_PTR\n#  define BOOST_NO_STRINGSTREAM\n#  define BOOST_NO_STD_ALLOCATOR\n#  define BOOST_NO_STD_LOCALE\n#endif\n\n//\n// No template iterator constructors without member template support:\n//\n#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)\n#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\n#endif\n\n//\n// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use\n// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR\n// on HP aCC systems even though the allocator is in fact broken):\n//\n#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)\n#  define BOOST_NO_STD_ALLOCATOR\n#endif\n\n//\n// If we have a std::locale, we still may not have std::use_facet:\n//\n#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)\n#  define BOOST_NO_STD_USE_FACET\n#  define BOOST_HAS_TWO_ARG_USE_FACET\n#endif\n\n//\n// There's no std::distance prior to version 2, or without\n// partial specialization support:\n//\n#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)\n    #define BOOST_NO_STD_DISTANCE\n#endif\n\n//\n// Some versions of the rogue wave library don't have assignable\n// OutputIterators:\n//\n#if BOOST_RWSTD_VER < 0x020100\n#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN\n#endif\n\n//\n// Disable BOOST_HAS_LONG_LONG when the library has no support for it.\n//\n#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)\n#  undef BOOST_HAS_LONG_LONG\n#endif\n\n//\n// check that on HP-UX, the proper RW library is used\n//\n#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD)\n#  error \"Boost requires Standard RW library. Please compile and link with -AA\"\n#endif\n\n//\n// Define macros specific to RW V2.2 on HP-UX\n//\n#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)\n#  ifndef __HP_TC1_MAKE_PAIR\n#    define __HP_TC1_MAKE_PAIR\n#  endif\n#  ifndef _HP_INSTANTIATE_STD2_VL\n#    define _HP_INSTANTIATE_STD2_VL\n#  endif\n#endif\n\n#if _RWSTD_VER < 0x05000000\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#endif\n// type_traits header is incomplete:\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n//\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/sgi.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2003. \n//  (C) Copyright Darin Adler 2001. \n//  (C) Copyright Jens Maurer 2001 - 2003. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  generic SGI STL:\n\n#if !defined(__STL_CONFIG_H)\n#  include <boost/config/no_tr1/utility.hpp>\n#  if !defined(__STL_CONFIG_H)\n#      error \"This is not the SGI STL!\"\n#  endif\n#endif\n\n//\n// No std::iterator traits without partial specialisation:\n//\n#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)\n#  define BOOST_NO_STD_ITERATOR_TRAITS\n#endif\n\n//\n// No std::stringstream with gcc < 3\n//\n#if defined(__GNUC__) && (__GNUC__ < 3) && \\\n     ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \\\n     !defined(__STL_USE_NEW_IOSTREAMS) || \\\n   defined(__APPLE_CC__)\n   // Note that we only set this for GNU C++ prior to 2.95 since the\n   // latest patches for that release do contain a minimal <sstream>\n   // If you are running a 2.95 release prior to 2.95.3 then this will need\n   // setting, but there is no way to detect that automatically (other\n   // than by running the configure script).\n   // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't\n   // have <sstream>.\n#  define BOOST_NO_STRINGSTREAM\n#endif\n\n// Apple doesn't seem to reliably defined a *unix* macro\n#if !defined(CYGWIN) && (  defined(__unix__)  \\\n                        || defined(__unix)    \\\n                        || defined(unix)      \\\n                        || defined(__APPLE__) \\\n                        || defined(__APPLE)   \\\n                        || defined(APPLE))\n#  include <unistd.h>\n#endif\n\n\n//\n// Assume no std::locale without own iostreams (this may be an\n// incorrect assumption in some cases):\n//\n#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)\n#  define BOOST_NO_STD_LOCALE\n#endif\n\n//\n// Original native SGI streams have non-standard std::messages facet:\n//\n#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)\n#  define BOOST_NO_STD_LOCALE\n#endif\n\n//\n// SGI's new iostreams have missing \"const\" in messages<>::open\n//\n#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)\n#  define BOOST_NO_STD_MESSAGES\n#endif\n\n//\n// No template iterator constructors, or std::allocator\n// without member templates:\n//\n#if !defined(__STL_MEMBER_TEMPLATES)\n#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\n#  define BOOST_NO_STD_ALLOCATOR\n#endif\n\n//\n// We always have SGI style hash_set, hash_map, and slist:\n//\n#define BOOST_HAS_HASH\n#define BOOST_HAS_SLIST\n\n//\n// If this is GNU libstdc++2, then no <limits> and no std::wstring:\n//\n#if (defined(__GNUC__) && (__GNUC__ < 3))\n#  include <string>\n#  if defined(__BASTRING__)\n#     define BOOST_NO_LIMITS\n// Note: <boost/limits.hpp> will provide compile-time constants\n#     undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#     define BOOST_NO_STD_WSTRING\n#  endif\n#endif\n\n//\n// There is no standard iterator unless we have namespace support:\n//\n#if !defined(__STL_USE_NAMESPACES)\n#  define BOOST_NO_STD_ITERATOR\n#endif\n\n//\n// Intrinsic type_traits support.\n// The SGI STL has it's own __type_traits class, which\n// has intrinsic compiler support with SGI's compilers.\n// Whatever map SGI style type traits to boost equivalents:\n//\n#define BOOST_HAS_SGI_TYPE_TRAITS\n\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n\n#define BOOST_STDLIB \"SGI standard library\"\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/stlport.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2002. \n//  (C) Copyright Darin Adler 2001. \n//  (C) Copyright Jens Maurer 2001. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n//  STLPort standard library config:\n\n#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\n#  include <cstddef>\n#  if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\n#      error \"This is not STLPort!\"\n#  endif\n#endif\n\n// Apple doesn't seem to reliably defined a *unix* macro\n#if !defined(CYGWIN) && (  defined(__unix__)  \\\n                        || defined(__unix)    \\\n                        || defined(unix)      \\\n                        || defined(__APPLE__) \\\n                        || defined(__APPLE)   \\\n                        || defined(APPLE))\n#  include <unistd.h>\n#endif\n\n//\n// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n// for versions prior to 4.1(beta)\n//\n#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400)\n#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS\n#endif\n\n//\n// If STLport thinks that there is no partial specialisation, then there is no\n// std::iterator traits:\n//\n#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION))\n#  define BOOST_NO_STD_ITERATOR_TRAITS\n#endif\n\n//\n// No new style iostreams on GCC without STLport's iostreams enabled:\n//\n#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS))\n#  define BOOST_NO_STRINGSTREAM\n#endif\n\n//\n// No new iostreams implies no std::locale, and no std::stringstream:\n//\n#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS)\n#  define BOOST_NO_STD_LOCALE\n#  define BOOST_NO_STRINGSTREAM\n#endif\n\n//\n// If the streams are not native, and we have a \"using ::x\" compiler bug\n// then the io stream facets are not available in namespace std::\n//\n#ifdef _STLPORT_VERSION\n#  if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC)\n#     define BOOST_NO_STD_LOCALE\n#  endif\n#else\n#  if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC)\n#     define BOOST_NO_STD_LOCALE\n#  endif\n#endif\n\n#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520)\n#  define BOOST_HAS_TR1_UNORDERED_SET\n#  define BOOST_HAS_TR1_UNORDERED_MAP\n#endif\n//\n// Without member template support enabled, their are no template\n// iterate constructors, and no std::allocator:\n//\n#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES))\n#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS\n#  define BOOST_NO_STD_ALLOCATOR\n#endif\n//\n// however we always have at least a partial allocator:\n//\n#define BOOST_HAS_PARTIAL_STD_ALLOCATOR\n\n#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)\n#  define BOOST_NO_STD_ALLOCATOR\n#endif\n\n#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)\n#  define BOOST_NO_STD_ALLOCATOR\n#endif\n\n//\n// If STLport thinks there is no wchar_t at all, then we have to disable\n// the support for the relevant specilazations of std:: templates.\n//\n#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)\n#  ifndef  BOOST_NO_STD_WSTRING\n#     define BOOST_NO_STD_WSTRING\n#  endif\n#  ifndef  BOOST_NO_STD_WSTREAMBUF\n#     define BOOST_NO_STD_WSTREAMBUF\n#  endif\n#endif\n\n//\n// We always have SGI style hash_set, hash_map, and slist:\n//\n#ifndef _STLP_NO_EXTENSIONS\n#define BOOST_HAS_HASH\n#define BOOST_HAS_SLIST\n#endif\n\n//\n// STLport does a good job of importing names into namespace std::,\n// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our\n// workaround does not conflict with STLports:\n//\n//\n// Harold Howe says:\n// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with\n// BCB6 does cause problems. If we detect C++ Builder, then don't define \n// BOOST_NO_STDC_NAMESPACE\n//\n#if !defined(BOOST_BORLANDC) && !defined(__DMC__)\n//\n// If STLport is using it's own namespace, and the real names are in\n// the global namespace, then we duplicate STLport's using declarations\n// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't\n// necessarily import all the names we need into namespace std::\n// \n#  if (defined(__STL_IMPORT_VENDOR_CSTD) \\\n         || defined(__STL_USE_OWN_NAMESPACE) \\\n         || defined(_STLP_IMPORT_VENDOR_CSTD) \\\n         || defined(_STLP_USE_OWN_NAMESPACE)) \\\n      && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))\n#     define BOOST_NO_STDC_NAMESPACE\n#     define BOOST_NO_EXCEPTION_STD_NAMESPACE\n#  endif\n#elif defined(BOOST_BORLANDC) && BOOST_BORLANDC < 0x560\n// STLport doesn't import std::abs correctly:\n#include <stdlib.h>\nnamespace std { using ::abs; }\n// and strcmp/strcpy don't get imported either ('cos they are macros)\n#include <string.h>\n#ifdef strcpy\n#  undef strcpy\n#endif\n#ifdef strcmp\n#  undef strcmp\n#endif\n#ifdef _STLP_VENDOR_CSTD\nnamespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }\n#endif\n#endif\n\n//\n// std::use_facet may be non-standard, uses a class instead:\n//\n#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)\n#  define BOOST_NO_STD_USE_FACET\n#  define BOOST_HAS_STLP_USE_FACET\n#endif\n\n//\n// If STLport thinks there are no wide functions, <cwchar> etc. is not working; but\n// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import \n// into std:: ourselves).\n//\n#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)\n#  define BOOST_NO_CWCHAR\n#  define BOOST_NO_CWCTYPE\n#endif\n\n//\n// If STLport for some reason was configured so that it thinks that wchar_t\n// is not an intrinsic type, then we have to disable the support for it as\n// well (we would be missing required specializations otherwise).\n//\n#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)\n#  undef  BOOST_NO_INTRINSIC_WCHAR_T\n#  define BOOST_NO_INTRINSIC_WCHAR_T\n#endif\n\n//\n// Borland ships a version of STLport with C++ Builder 6 that lacks\n// hashtables and the like:\n//\n#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x560)\n#  undef BOOST_HAS_HASH\n#endif\n\n//\n// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max\n//\n#if defined(__GNUC__) && (__GNUC__ < 3)\n#  include <algorithm> // for std::min and std::max\n#  define BOOST_USING_STD_MIN() ((void)0)\n#  define BOOST_USING_STD_MAX() ((void)0)\nnamespace boost { using std::min; using std::max; }\n#endif\n\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n\n#define BOOST_STDLIB \"STLPort standard library version \" BOOST_STRINGIZE(__SGI_STL_PORT)\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/vacpp.hpp",
    "content": "//  (C) Copyright John Maddock 2001 - 2002. \n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org for most recent version.\n\n#if __IBMCPP__ <= 501\n#  define BOOST_NO_STD_ALLOCATOR\n#endif\n\n#define BOOST_HAS_MACRO_USE_FACET\n#define BOOST_NO_STD_MESSAGES\n\n// Apple doesn't seem to reliably defined a *unix* macro\n#if !defined(CYGWIN) && (  defined(__unix__)  \\\n                        || defined(__unix)    \\\n                        || defined(unix)      \\\n                        || defined(__APPLE__) \\\n                        || defined(__APPLE)   \\\n                        || defined(APPLE))\n#  include <unistd.h>\n#endif\n\n//  C++0x headers not yet implemented\n//\n#  define BOOST_NO_CXX11_HDR_ARRAY\n#  define BOOST_NO_CXX11_HDR_CHRONO\n#  define BOOST_NO_CXX11_HDR_CODECVT\n#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#  define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#  define BOOST_NO_CXX11_HDR_FUTURE\n#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n#  define BOOST_NO_CXX11_HDR_MUTEX\n#  define BOOST_NO_CXX11_HDR_RANDOM\n#  define BOOST_NO_CXX11_HDR_RATIO\n#  define BOOST_NO_CXX11_HDR_REGEX\n#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#  define BOOST_NO_CXX11_HDR_THREAD\n#  define BOOST_NO_CXX11_HDR_TUPLE\n#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#  define BOOST_NO_CXX11_HDR_TYPEINDEX\n#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#  define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#  define BOOST_NO_CXX11_NUMERIC_LIMITS\n#  define BOOST_NO_CXX11_ALLOCATOR\n#  define BOOST_NO_CXX11_POINTER_TRAITS\n#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#  define BOOST_NO_CXX11_SMART_PTR\n#  define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#  define BOOST_NO_CXX11_HDR_ATOMIC\n#  define BOOST_NO_CXX11_STD_ALIGN\n#  define BOOST_NO_CXX11_ADDRESSOF\n#  define BOOST_NO_CXX11_HDR_EXCEPTION\n\n#if defined(__has_include)\n#if !__has_include(<shared_mutex>)\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#elif __cplusplus < 201402\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n#else\n#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n#endif\n\n// C++14 features\n#  define BOOST_NO_CXX14_STD_EXCHANGE\n\n// C++17 features\n#  define BOOST_NO_CXX17_STD_APPLY\n#  define BOOST_NO_CXX17_STD_INVOKE\n#  define BOOST_NO_CXX17_ITERATOR_TRAITS\n\n#define BOOST_STDLIB \"Visual Age default standard library\"\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/stdlib/xlcpp_zos.hpp",
    "content": "//  Copyright (c) 2017 Dynatrace\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n\n//  See http://www.boost.org for most recent version.\n\n//  Standard library setup for IBM z/OS XL C/C++ compiler.\n\n// Oldest library version currently supported is 2.1 (V2R1)\n#if __TARGET_LIB__ < 0x42010000\n#  error \"Library version not supported or configured - please reconfigure\"\n#endif\n\n#if __TARGET_LIB__ > 0x42010000\n#  if defined(BOOST_ASSERT_CONFIG)\n#     error \"Unknown library version - please run the configure tests and report the results\"\n#  endif\n#endif\n\n#define BOOST_STDLIB \"IBM z/OS XL C/C++ standard library\"\n\n#define BOOST_HAS_MACRO_USE_FACET\n\n#define BOOST_NO_CXX11_HDR_TYPE_TRAITS\n#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST\n\n#define BOOST_NO_CXX11_ADDRESSOF\n#define BOOST_NO_CXX11_SMART_PTR\n#define BOOST_NO_CXX11_ATOMIC_SMART_PTR\n#define BOOST_NO_CXX11_NUMERIC_LIMITS\n#define BOOST_NO_CXX11_ALLOCATOR\n#define BOOST_NO_CXX11_POINTER_TRAITS\n#define BOOST_NO_CXX11_HDR_FUNCTIONAL\n#define BOOST_NO_CXX11_HDR_UNORDERED_SET\n#define BOOST_NO_CXX11_HDR_UNORDERED_MAP\n#define BOOST_NO_CXX11_HDR_TYPEINDEX\n#define BOOST_NO_CXX11_HDR_TUPLE\n#define BOOST_NO_CXX11_HDR_THREAD\n#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR\n#define BOOST_NO_CXX11_HDR_REGEX\n#define BOOST_NO_CXX11_HDR_RATIO\n#define BOOST_NO_CXX11_HDR_RANDOM\n#define BOOST_NO_CXX11_HDR_MUTEX\n#define BOOST_NO_CXX11_HDR_FUTURE\n#define BOOST_NO_CXX11_HDR_FORWARD_LIST\n#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE\n#define BOOST_NO_CXX11_HDR_CODECVT\n#define BOOST_NO_CXX11_HDR_CHRONO\n#define BOOST_NO_CXX11_HDR_ATOMIC\n#define BOOST_NO_CXX11_HDR_ARRAY\n#define BOOST_NO_CXX11_HDR_EXCEPTION\n#define BOOST_NO_CXX11_STD_ALIGN\n\n#define BOOST_NO_CXX14_STD_EXCHANGE\n#define BOOST_NO_CXX14_HDR_SHARED_MUTEX\n\n#define BOOST_NO_CXX17_STD_INVOKE\n#define BOOST_NO_CXX17_STD_APPLY\n#define BOOST_NO_CXX17_ITERATOR_TRAITS\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/user.hpp",
    "content": "//  boost/config/user.hpp  ---------------------------------------------------//\n\n//  (C) Copyright John Maddock 2001. \n//  Use, modification and distribution are subject to the\n//  Boost Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  Do not check in modified versions of this file,\n//  This file may be customized by the end user, but not by boost.\n\n//\n//  Use this file to define a site and compiler specific\n//  configuration policy:\n//\n\n// define this to locate a compiler config file:\n// #define BOOST_COMPILER_CONFIG <myheader>\n\n// define this to locate a stdlib config file:\n// #define BOOST_STDLIB_CONFIG   <myheader>\n\n// define this to locate a platform config file:\n// #define BOOST_PLATFORM_CONFIG <myheader>\n\n// define this to disable compiler config,\n// use if your compiler config has nothing to set:\n// #define BOOST_NO_COMPILER_CONFIG\n\n// define this to disable stdlib config,\n// use if your stdlib config has nothing to set:\n// #define BOOST_NO_STDLIB_CONFIG\n\n// define this to disable platform config,\n// use if your platform config has nothing to set:\n// #define BOOST_NO_PLATFORM_CONFIG\n\n// define this to disable all config options,\n// excluding the user config.  Use if your\n// setup is fully ISO compliant, and has no\n// useful extensions, or for autoconf generated\n// setups:\n// #define BOOST_NO_CONFIG\n\n// define this to make the config \"optimistic\"\n// about unknown compiler versions.  Normally\n// unknown compiler versions are assumed to have\n// all the defects of the last known version, however\n// setting this flag, causes the config to assume\n// that unknown compiler versions are fully conformant\n// with the standard:\n// #define BOOST_STRICT_CONFIG\n\n// define this to cause the config to halt compilation\n// with an #error if it encounters anything unknown --\n// either an unknown compiler version or an unknown\n// compiler/platform/library:\n// #define BOOST_ASSERT_CONFIG\n\n\n// define if you want to disable threading support, even\n// when available:\n// #define BOOST_DISABLE_THREADS\n\n// define when you want to disable Win32 specific features\n// even when available:\n// #define BOOST_DISABLE_WIN32\n\n// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any \n// prefix/suffix headers that normally control things like struct \n// packing and alignment. \n// #define BOOST_DISABLE_ABI_HEADERS\n\n// BOOST_ABI_PREFIX: A prefix header to include in place of whatever\n// boost.config would normally select, any replacement should set up \n// struct packing and alignment options as required. \n// #define BOOST_ABI_PREFIX my-header-name\n\n// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever \n// boost.config would normally select, any replacement should undo \n// the effects of the prefix header. \n// #define BOOST_ABI_SUFFIX my-header-name\n\n// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, \n// to be linked as dll's rather than static libraries on Microsoft Windows \n// (this macro is used to turn on __declspec(dllimport) modifiers, so that \n// the compiler knows which symbols to look for in a dll rather than in a \n// static library).  Note that there may be some libraries that can only \n// be linked in one way (statically or dynamically), in these cases this \n// macro has no effect.\n// #define BOOST_ALL_DYN_LINK\n \n// BOOST_WHATEVER_DYN_LINK: Forces library \"whatever\" to be linked as a dll \n// rather than a static library on Microsoft Windows: replace the WHATEVER \n// part of the macro name with the name of the library that you want to \n// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or \n// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) \n// modifiers, so that the compiler knows which symbols to look for in a dll \n// rather than in a static library).  \n// Note that there may be some libraries that can only \n// be linked in one way (statically or dynamically), \n// in these cases this macro is unsupported.\n// #define BOOST_WHATEVER_DYN_LINK\n \n// BOOST_ALL_NO_LIB: Tells the config system not to automatically select \n// which libraries to link against.  \n// Normally if a compiler supports #pragma lib, then the correct library \n// build variant will be automatically selected and linked against, \n// simply by the act of including one of that library's headers.  \n// This macro turns that feature off.\n// #define BOOST_ALL_NO_LIB\n \n// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically \n// select which library to link against for library \"whatever\", \n// replace WHATEVER in the macro name with the name of the library; \n// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.  \n// Normally if a compiler supports #pragma lib, then the correct library \n// build variant will be automatically selected and linked against, simply \n// by the act of including one of that library's headers.  This macro turns \n// that feature off.\n// #define BOOST_WHATEVER_NO_LIB\n \n// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's\n// --buildid command line option.  For example if you built using:\n//\n// bjam address-model=64 --buildid=amd64\n//\n// then compile your code with:\n//\n// -DBOOST_LIB_BUILDID = amd64\n//\n// to ensure the correct libraries are selected at link time.\n// #define BOOST_LIB_BUILDID amd64\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/warning_disable.hpp",
    "content": "//  Copyright John Maddock 2008\n//  Use, modification, and distribution is subject to the Boost Software\n//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt)\n//\n//  This file exists to turn off some overly-pedantic warning emitted\n//  by certain compilers.  You should include this header only in:\n//\n//  * A test case, before any other headers, or,\n//  * A library source file before any other headers.\n//\n//  IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER.\n//\n//  YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING.\n//\n//  The only warnings disabled here are those that are:\n//\n//  * Quite unreasonably pedantic.\n//  * Generally only emitted by a single compiler.\n//  * Can't easily be fixed: for example if the vendors own std lib \n//    code emits these warnings!\n//\n//  Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:\n//  not even std library ones!  Doing so may turn the warning\n//  off too late to be of any use.  For example the VC++ C4996\n//  warning can be emitted from <iosfwd> if that header is included\n//  before or by this one :-(\n//\n\n#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP\n#define BOOST_CONFIG_WARNING_DISABLE_HPP\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1400) \n   // Error 'function': was declared deprecated\n   // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx\n   // This error is emitted when you use some perfectly conforming\n   // std lib functions in a perfectly correct way, and also by\n   // some of Microsoft's own std lib code !\n#  pragma warning(disable:4996)\n#endif\n#if defined(__INTEL_COMPILER) || defined(__ICL)\n   // As above: gives warning when a \"deprecated\"\n   // std library function is encountered.\n#  pragma warning(disable:1786)\n#endif\n\n#endif // BOOST_CONFIG_WARNING_DISABLE_HPP\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config/workaround.hpp",
    "content": "// Copyright David Abrahams 2002.\n// Distributed under the Boost Software License, Version 1.0. (See\n// accompanying file LICENSE_1_0.txt or copy at\n// http://www.boost.org/LICENSE_1_0.txt)\n#ifndef BOOST_CONFIG_WORKAROUND_HPP\n#define BOOST_CONFIG_WORKAROUND_HPP\n\n// Compiler/library version workaround macro\n//\n// Usage:\n//\n//   #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)\n//      // workaround for eVC4 and VC6\n//      ... // workaround code here\n//   #endif\n//\n// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the\n// first argument must be undefined or expand to a numeric\n// value. The above expands to:\n//\n//   (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300\n//\n// When used for workarounds that apply to the latest known version\n// and all earlier versions of a compiler, the following convention\n// should be observed:\n//\n//   #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))\n//\n// The version number in this case corresponds to the last version in\n// which the workaround was known to have been required. When\n// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro\n// BOOST_TESTED_AT(x) expands to \"!= 0\", which effectively activates\n// the workaround for any version of the compiler. When\n// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or\n// error will be issued if the compiler version exceeds the argument\n// to BOOST_TESTED_AT().  This can be used to locate workarounds which\n// may be obsoleted by newer versions.\n\n#ifndef BOOST_STRICT_CONFIG\n\n#include <boost/config.hpp>\n\n#ifndef __BORLANDC__\n#define __BORLANDC___WORKAROUND_GUARD 1\n#else\n#define __BORLANDC___WORKAROUND_GUARD 0\n#endif\n#ifndef __CODEGEARC__\n#define __CODEGEARC___WORKAROUND_GUARD 1\n#else\n#define __CODEGEARC___WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_BORLANDC\n#define BOOST_BORLANDC_WORKAROUND_GUARD 1\n#else\n#define BOOST_BORLANDC_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_CODEGEARC\n#define BOOST_CODEGEARC_WORKAROUND_GUARD 1\n#else\n#define BOOST_CODEGEARC_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_EMBTC\n#define BOOST_EMBTC_WORKAROUND_GUARD 1\n#else\n#define BOOST_EMBTC_WORKAROUND_GUARD 0\n#endif\n#ifndef _MSC_VER\n#define _MSC_VER_WORKAROUND_GUARD 1\n#else\n#define _MSC_VER_WORKAROUND_GUARD 0\n#endif\n#ifndef _MSC_FULL_VER\n#define _MSC_FULL_VER_WORKAROUND_GUARD 1\n#else\n#define _MSC_FULL_VER_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_MSVC\n#define BOOST_MSVC_WORKAROUND_GUARD 1\n#else\n#define BOOST_MSVC_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_MSVC_FULL_VER\n#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1\n#else\n#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0\n#endif\n#ifndef __GNUC__\n#define __GNUC___WORKAROUND_GUARD 1\n#else\n#define __GNUC___WORKAROUND_GUARD 0\n#endif\n#ifndef __GNUC_MINOR__\n#define __GNUC_MINOR___WORKAROUND_GUARD 1\n#else\n#define __GNUC_MINOR___WORKAROUND_GUARD 0\n#endif\n#ifndef __GNUC_PATCHLEVEL__\n#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1\n#else\n#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_GCC\n#define BOOST_GCC_WORKAROUND_GUARD 1\n#define BOOST_GCC_VERSION_WORKAROUND_GUARD 1\n#else\n#define BOOST_GCC_WORKAROUND_GUARD 0\n#define BOOST_GCC_VERSION_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_XLCPP_ZOS\n#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1\n#else\n#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 0\n#endif\n#ifndef __IBMCPP__\n#define __IBMCPP___WORKAROUND_GUARD 1\n#else\n#define __IBMCPP___WORKAROUND_GUARD 0\n#endif\n#ifndef __SUNPRO_CC\n#define __SUNPRO_CC_WORKAROUND_GUARD 1\n#else\n#define __SUNPRO_CC_WORKAROUND_GUARD 0\n#endif\n#ifndef __DECCXX_VER\n#define __DECCXX_VER_WORKAROUND_GUARD 1\n#else\n#define __DECCXX_VER_WORKAROUND_GUARD 0\n#endif\n#ifndef __MWERKS__\n#define __MWERKS___WORKAROUND_GUARD 1\n#else\n#define __MWERKS___WORKAROUND_GUARD 0\n#endif\n#ifndef __EDG__\n#define __EDG___WORKAROUND_GUARD 1\n#else\n#define __EDG___WORKAROUND_GUARD 0\n#endif\n#ifndef __EDG_VERSION__\n#define __EDG_VERSION___WORKAROUND_GUARD 1\n#else\n#define __EDG_VERSION___WORKAROUND_GUARD 0\n#endif\n#ifndef __HP_aCC\n#define __HP_aCC_WORKAROUND_GUARD 1\n#else\n#define __HP_aCC_WORKAROUND_GUARD 0\n#endif\n#ifndef __hpxstd98\n#define __hpxstd98_WORKAROUND_GUARD 1\n#else\n#define __hpxstd98_WORKAROUND_GUARD 0\n#endif\n#ifndef _CRAYC\n#define _CRAYC_WORKAROUND_GUARD 1\n#else\n#define _CRAYC_WORKAROUND_GUARD 0\n#endif\n#ifndef __DMC__\n#define __DMC___WORKAROUND_GUARD 1\n#else\n#define __DMC___WORKAROUND_GUARD 0\n#endif\n#ifndef MPW_CPLUS\n#define MPW_CPLUS_WORKAROUND_GUARD 1\n#else\n#define MPW_CPLUS_WORKAROUND_GUARD 0\n#endif\n#ifndef __COMO__\n#define __COMO___WORKAROUND_GUARD 1\n#else\n#define __COMO___WORKAROUND_GUARD 0\n#endif\n#ifndef __COMO_VERSION__\n#define __COMO_VERSION___WORKAROUND_GUARD 1\n#else\n#define __COMO_VERSION___WORKAROUND_GUARD 0\n#endif\n#ifndef __INTEL_COMPILER\n#define __INTEL_COMPILER_WORKAROUND_GUARD 1\n#else\n#define __INTEL_COMPILER_WORKAROUND_GUARD 0\n#endif\n#ifndef __ICL\n#define __ICL_WORKAROUND_GUARD 1\n#else\n#define __ICL_WORKAROUND_GUARD 0\n#endif\n#ifndef _COMPILER_VERSION\n#define _COMPILER_VERSION_WORKAROUND_GUARD 1\n#else\n#define _COMPILER_VERSION_WORKAROUND_GUARD 0\n#endif\n#ifndef __clang_major__\n#define __clang_major___WORKAROUND_GUARD 1\n#else\n#define __clang_major___WORKAROUND_GUARD 0\n#endif\n\n#ifndef _RWSTD_VER\n#define _RWSTD_VER_WORKAROUND_GUARD 1\n#else\n#define _RWSTD_VER_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_RWSTD_VER\n#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1\n#else\n#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0\n#endif\n#ifndef __GLIBCPP__\n#define __GLIBCPP___WORKAROUND_GUARD 1\n#else\n#define __GLIBCPP___WORKAROUND_GUARD 0\n#endif\n#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC\n#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1\n#else\n#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0\n#endif\n#ifndef __SGI_STL_PORT\n#define __SGI_STL_PORT_WORKAROUND_GUARD 1\n#else\n#define __SGI_STL_PORT_WORKAROUND_GUARD 0\n#endif\n#ifndef _STLPORT_VERSION\n#define _STLPORT_VERSION_WORKAROUND_GUARD 1\n#else\n#define _STLPORT_VERSION_WORKAROUND_GUARD 0\n#endif\n#ifndef __LIBCOMO_VERSION__\n#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1\n#else\n#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0\n#endif\n#ifndef _CPPLIB_VER\n#define _CPPLIB_VER_WORKAROUND_GUARD 1\n#else\n#define _CPPLIB_VER_WORKAROUND_GUARD 0\n#endif\n\n#ifndef BOOST_INTEL_CXX_VERSION\n#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1\n#else\n#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_INTEL_WIN\n#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1\n#else\n#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_DINKUMWARE_STDLIB\n#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1\n#else\n#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_INTEL\n#define BOOST_INTEL_WORKAROUND_GUARD 1\n#else\n#define BOOST_INTEL_WORKAROUND_GUARD 0\n#endif\n#ifndef BOOST_CLANG_VERSION\n#define BOOST_CLANG_VERSION_WORKAROUND_GUARD 1\n#else\n#define BOOST_CLANG_VERSION_WORKAROUND_GUARD 0\n#endif\n\n// Always define to zero, if it's used it'll be defined my MPL:\n#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0\n\n#define BOOST_WORKAROUND(symbol, test)                \\\n       ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \\\n       (symbol != 0) && (1 % (( (symbol test) ) + 1)))\n//                              ^ ^           ^ ^\n// The extra level of parenthesis nesting above, along with the\n// BOOST_OPEN_PAREN indirection below, is required to satisfy the\n// broken preprocessor in MWCW 8.3 and earlier.\n//\n// The basic mechanism works as follows:\n//   (symbol test) + 1        =>   if (symbol test) then 2 else 1\n//   1 % ((symbol test) + 1)  =>   if (symbol test) then 1 else 0\n//\n// The complication with % is for cooperation with BOOST_TESTED_AT().\n// When \"test\" is BOOST_TESTED_AT(x) and\n// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,\n//\n//   symbol test              =>   if (symbol <= x) then 1 else -1\n//   (symbol test) + 1        =>   if (symbol <= x) then 2 else 0\n//   1 % ((symbol test) + 1)  =>   if (symbol <= x) then 1 else divide-by-zero\n//\n\n#ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS\n#  define BOOST_OPEN_PAREN (\n#  define BOOST_TESTED_AT(value)  > value) ?(-1): BOOST_OPEN_PAREN 1\n#else\n#  define BOOST_TESTED_AT(value) != ((value)-(value))\n#endif\n\n#else\n\n#define BOOST_WORKAROUND(symbol, test) 0\n\n#endif\n\n#endif // BOOST_CONFIG_WORKAROUND_HPP\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/config.hpp",
    "content": "//  Boost config.hpp configuration header file  ------------------------------//\n\n//  (C) Copyright John Maddock 2002.\n//  Use, modification and distribution are subject to the \n//  Boost Software License, Version 1.0. (See accompanying file \n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/config for most recent version.\n\n//  Boost config.hpp policy and rationale documentation has been moved to\n//  http://www.boost.org/libs/config\n//\n//  CAUTION: This file is intended to be completely stable -\n//           DO NOT MODIFY THIS FILE!\n//\n\n#ifndef BOOST_CONFIG_HPP\n#define BOOST_CONFIG_HPP\n\n// if we don't have a user config, then use the default location:\n#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)\n#  define BOOST_USER_CONFIG <boost/config/user.hpp>\n#if 0\n// For dependency trackers:\n#  include <boost/config/user.hpp>\n#endif\n#endif\n// include it first:\n#ifdef BOOST_USER_CONFIG\n#  include BOOST_USER_CONFIG\n#endif\n\n// if we don't have a compiler config set, try and find one:\n#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)\n#  include <boost/config/detail/select_compiler_config.hpp>\n#endif\n// if we have a compiler config, include it now:\n#ifdef BOOST_COMPILER_CONFIG\n#  include BOOST_COMPILER_CONFIG\n#endif\n\n// if we don't have a std library config set, try and find one:\n#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)\n#  include <boost/config/detail/select_stdlib_config.hpp>\n#endif\n// if we have a std library config, include it now:\n#ifdef BOOST_STDLIB_CONFIG\n#  include BOOST_STDLIB_CONFIG\n#endif\n\n// if we don't have a platform config set, try and find one:\n#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)\n#  include <boost/config/detail/select_platform_config.hpp>\n#endif\n// if we have a platform config, include it now:\n#ifdef BOOST_PLATFORM_CONFIG\n#  include BOOST_PLATFORM_CONFIG\n#endif\n\n// get config suffix code:\n#include <boost/config/detail/suffix.hpp>\n\n#ifdef BOOST_HAS_PRAGMA_ONCE\n#pragma once\n#endif\n\n#endif  // BOOST_CONFIG_HPP\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/cstdint.hpp",
    "content": "//  boost cstdint.hpp header file  ------------------------------------------//\n\n//  (C) Copyright Beman Dawes 1999.\n//  (C) Copyright Jens Mauer 2001\n//  (C) Copyright John Maddock 2001\n//  Distributed under the Boost\n//  Software License, Version 1.0. (See accompanying file\n//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n//  See http://www.boost.org/libs/integer for documentation.\n\n//  Revision History\n//   31 Oct 01  use BOOST_HAS_LONG_LONG to check for \"long long\" (Jens M.)\n//   16 Apr 01  check LONGLONG_MAX when looking for \"long long\" (Jens Maurer)\n//   23 Jan 01  prefer \"long\" over \"int\" for int32_t and intmax_t (Jens Maurer)\n//   12 Nov 00  Merged <boost/stdint.h> (Jens Maurer)\n//   23 Sep 00  Added INTXX_C macro support (John Maddock).\n//   22 Sep 00  Better 64-bit support (John Maddock)\n//   29 Jun 00  Reimplement to avoid including stdint.h within namespace boost\n//    8 Aug 99  Initial version (Beman Dawes)\n\n\n#ifndef BOOST_CSTDINT_HPP\n#define BOOST_CSTDINT_HPP\n\n//\n// Since we always define the INT#_C macros as per C++0x,\n// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right\n// thing if possible, and so that the user knows that the macros\n// are actually defined as per C99.\n//\n#ifndef __STDC_CONSTANT_MACROS\n#  define __STDC_CONSTANT_MACROS\n#endif\n\n#include <boost/config.hpp>\n//\n// For the following code we get several warnings along the lines of:\n//\n// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant\n//\n// So we declare this a system header to suppress these warnings.\n// See also https://github.com/boostorg/config/issues/190\n//\n#if defined(__GNUC__) && (__GNUC__ >= 4)\n#pragma GCC system_header\n#endif\n\n//\n// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not\n// depending upon what headers happen to have been included first...\n// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.\n// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990\n//\n#if defined(BOOST_HAS_STDINT_H)            \\\n  && (!defined(__GLIBC__)                  \\\n      || defined(__GLIBC_HAVE_LONG_LONG)   \\\n      || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))\n\n// The following #include is an implementation artifact; not part of interface.\n# ifdef __hpux\n// HP-UX has a vaguely nice <stdint.h> in a non-standard location\n#   include <inttypes.h>\n#   ifdef __STDC_32_MODE__\n      // this is triggered with GCC, because it defines __cplusplus < 199707L\n#     define BOOST_NO_INT64_T\n#   endif\n# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)\n#   include <inttypes.h>\n# else\n#   include <stdint.h>\n\n// There is a bug in Cygwin two _C macros\n#   if defined(INTMAX_C) && defined(__CYGWIN__)\n#     undef INTMAX_C\n#     undef UINTMAX_C\n#     define INTMAX_C(c) c##LL\n#     define UINTMAX_C(c) c##ULL\n#   endif\n\n# endif\n\n#if defined(__QNX__) && defined(__EXT_QNX) \n\n// QNX (Dinkumware stdlib) defines these as non-standard names.\n// Reflect to the standard names.\n\ntypedef ::intleast8_t int_least8_t;\ntypedef ::intfast8_t int_fast8_t;\ntypedef ::uintleast8_t uint_least8_t;\ntypedef ::uintfast8_t uint_fast8_t;\n\ntypedef ::intleast16_t int_least16_t;\ntypedef ::intfast16_t int_fast16_t;\ntypedef ::uintleast16_t uint_least16_t;\ntypedef ::uintfast16_t uint_fast16_t;\n\ntypedef ::intleast32_t int_least32_t;\ntypedef ::intfast32_t int_fast32_t;\ntypedef ::uintleast32_t uint_least32_t;\ntypedef ::uintfast32_t uint_fast32_t;\n\n# ifndef BOOST_NO_INT64_T\n\ntypedef ::intleast64_t int_least64_t;\ntypedef ::intfast64_t int_fast64_t;\ntypedef ::uintleast64_t uint_least64_t;\ntypedef ::uintfast64_t uint_fast64_t;\n\n# endif\n\n#endif\n\nnamespace boost\n{\n\n  using ::int8_t;\n  using ::int_least8_t;\n  using ::int_fast8_t;\n  using ::uint8_t;\n  using ::uint_least8_t;\n  using ::uint_fast8_t;\n\n  using ::int16_t;\n  using ::int_least16_t;\n  using ::int_fast16_t;\n  using ::uint16_t;\n  using ::uint_least16_t;\n  using ::uint_fast16_t;\n\n  using ::int32_t;\n  using ::int_least32_t;\n  using ::int_fast32_t;\n  using ::uint32_t;\n  using ::uint_least32_t;\n  using ::uint_fast32_t;\n\n# ifndef BOOST_NO_INT64_T\n\n  using ::int64_t;\n  using ::int_least64_t;\n  using ::int_fast64_t;\n  using ::uint64_t;\n  using ::uint_least64_t;\n  using ::uint_fast64_t;\n\n# endif\n\n  using ::intmax_t;\n  using ::uintmax_t;\n\n} // namespace boost\n\n#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__)\n// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.\n# include <inttypes.h>\n\nnamespace boost {\n\n  using ::int8_t;\n  typedef int8_t int_least8_t;\n  typedef int8_t int_fast8_t;\n  using ::uint8_t;\n  typedef uint8_t uint_least8_t;\n  typedef uint8_t uint_fast8_t;\n\n  using ::int16_t;\n  typedef int16_t int_least16_t;\n  typedef int16_t int_fast16_t;\n  using ::uint16_t;\n  typedef uint16_t uint_least16_t;\n  typedef uint16_t uint_fast16_t;\n\n  using ::int32_t;\n  typedef int32_t int_least32_t;\n  typedef int32_t int_fast32_t;\n  using ::uint32_t;\n  typedef uint32_t uint_least32_t;\n  typedef uint32_t uint_fast32_t;\n\n# ifndef BOOST_NO_INT64_T\n\n  using ::int64_t;\n  typedef int64_t int_least64_t;\n  typedef int64_t int_fast64_t;\n  using ::uint64_t;\n  typedef uint64_t uint_least64_t;\n  typedef uint64_t uint_fast64_t;\n\n  typedef int64_t intmax_t;\n  typedef uint64_t uintmax_t;\n\n# else\n\n  typedef int32_t intmax_t;\n  typedef uint32_t uintmax_t;\n\n# endif\n\n} // namespace boost\n\n#else  // BOOST_HAS_STDINT_H\n\n# include <boost/limits.hpp> // implementation artifact; not part of interface\n# include <limits.h>         // needed for limits macros\n\n\nnamespace boost\n{\n\n//  These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit\n//  platforms.  For other systems, they will have to be hand tailored.\n//\n//  Because the fast types are assumed to be the same as the undecorated types,\n//  it may be possible to hand tailor a more efficient implementation.  Such\n//  an optimization may be illusionary; on the Intel x86-family 386 on, for\n//  example, byte arithmetic and load/stores are as fast as \"int\" sized ones.\n\n//  8-bit types  ------------------------------------------------------------//\n\n# if UCHAR_MAX == 0xff\n     typedef signed char     int8_t;\n     typedef signed char     int_least8_t;\n     typedef signed char     int_fast8_t;\n     typedef unsigned char   uint8_t;\n     typedef unsigned char   uint_least8_t;\n     typedef unsigned char   uint_fast8_t;\n# else\n#    error defaults not correct; you must hand modify boost/cstdint.hpp\n# endif\n\n//  16-bit types  -----------------------------------------------------------//\n\n# if USHRT_MAX == 0xffff\n#  if defined(__crayx1)\n     // The Cray X1 has a 16-bit short, however it is not recommend\n     // for use in performance critical code.\n     typedef short           int16_t;\n     typedef short           int_least16_t;\n     typedef int             int_fast16_t;\n     typedef unsigned short  uint16_t;\n     typedef unsigned short  uint_least16_t;\n     typedef unsigned int    uint_fast16_t;\n#  else\n     typedef short           int16_t;\n     typedef short           int_least16_t;\n     typedef short           int_fast16_t;\n     typedef unsigned short  uint16_t;\n     typedef unsigned short  uint_least16_t;\n     typedef unsigned short  uint_fast16_t;\n#  endif\n# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)\n      // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified\n      // MTA / XMT does support the following non-standard integer types\n      typedef __short16           int16_t;\n      typedef __short16           int_least16_t;\n      typedef __short16           int_fast16_t;\n      typedef unsigned __short16  uint16_t;\n      typedef unsigned __short16  uint_least16_t;\n      typedef unsigned __short16  uint_fast16_t;\n# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)\n     // no 16-bit types on Cray:\n     typedef short           int_least16_t;\n     typedef short           int_fast16_t;\n     typedef unsigned short  uint_least16_t;\n     typedef unsigned short  uint_fast16_t;\n# else\n#    error defaults not correct; you must hand modify boost/cstdint.hpp\n# endif\n\n//  32-bit types  -----------------------------------------------------------//\n\n# if UINT_MAX == 0xffffffff\n     typedef int             int32_t;\n     typedef int             int_least32_t;\n     typedef int             int_fast32_t;\n     typedef unsigned int    uint32_t;\n     typedef unsigned int    uint_least32_t;\n     typedef unsigned int    uint_fast32_t;\n# elif (USHRT_MAX == 0xffffffff)\n     typedef short             int32_t;\n     typedef short             int_least32_t;\n     typedef short             int_fast32_t;\n     typedef unsigned short    uint32_t;\n     typedef unsigned short    uint_least32_t;\n     typedef unsigned short    uint_fast32_t;\n# elif ULONG_MAX == 0xffffffff\n     typedef long            int32_t;\n     typedef long            int_least32_t;\n     typedef long            int_fast32_t;\n     typedef unsigned long   uint32_t;\n     typedef unsigned long   uint_least32_t;\n     typedef unsigned long   uint_fast32_t;\n# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)\n      // Integers are 64 bits on the MTA / XMT\n      typedef __int32           int32_t;\n      typedef __int32           int_least32_t;\n      typedef __int32           int_fast32_t;\n      typedef unsigned __int32  uint32_t;\n      typedef unsigned __int32  uint_least32_t;\n      typedef unsigned __int32  uint_fast32_t;\n# else\n#    error defaults not correct; you must hand modify boost/cstdint.hpp\n# endif\n\n//  64-bit types + intmax_t and uintmax_t  ----------------------------------//\n\n# if defined(BOOST_HAS_LONG_LONG) && \\\n   !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) && \\\n   (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \\\n   (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))\n#    if defined(__hpux)\n     // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions\n#    elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)\n                                                                 // 2**64 - 1\n#    else\n#       error defaults not correct; you must hand modify boost/cstdint.hpp\n#    endif\n\n     typedef  ::boost::long_long_type            intmax_t;\n     typedef  ::boost::ulong_long_type   uintmax_t;\n     typedef  ::boost::long_long_type            int64_t;\n     typedef  ::boost::long_long_type            int_least64_t;\n     typedef  ::boost::long_long_type            int_fast64_t;\n     typedef  ::boost::ulong_long_type   uint64_t;\n     typedef  ::boost::ulong_long_type   uint_least64_t;\n     typedef  ::boost::ulong_long_type   uint_fast64_t;\n\n# elif ULONG_MAX != 0xffffffff\n\n#    if ULONG_MAX == 18446744073709551615 // 2**64 - 1\n     typedef long                 intmax_t;\n     typedef unsigned long        uintmax_t;\n     typedef long                 int64_t;\n     typedef long                 int_least64_t;\n     typedef long                 int_fast64_t;\n     typedef unsigned long        uint64_t;\n     typedef unsigned long        uint_least64_t;\n     typedef unsigned long        uint_fast64_t;\n#    else\n#       error defaults not correct; you must hand modify boost/cstdint.hpp\n#    endif\n# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)\n     __extension__ typedef long long            intmax_t;\n     __extension__ typedef unsigned long long   uintmax_t;\n     __extension__ typedef long long            int64_t;\n     __extension__ typedef long long            int_least64_t;\n     __extension__ typedef long long            int_fast64_t;\n     __extension__ typedef unsigned long long   uint64_t;\n     __extension__ typedef unsigned long long   uint_least64_t;\n     __extension__ typedef unsigned long long   uint_fast64_t;\n# elif defined(BOOST_HAS_MS_INT64)\n     //\n     // we have Borland/Intel/Microsoft __int64:\n     //\n     typedef __int64             intmax_t;\n     typedef unsigned __int64    uintmax_t;\n     typedef __int64             int64_t;\n     typedef __int64             int_least64_t;\n     typedef __int64             int_fast64_t;\n     typedef unsigned __int64    uint64_t;\n     typedef unsigned __int64    uint_least64_t;\n     typedef unsigned __int64    uint_fast64_t;\n# else // assume no 64-bit integers\n#  define BOOST_NO_INT64_T\n     typedef int32_t              intmax_t;\n     typedef uint32_t             uintmax_t;\n# endif\n\n} // namespace boost\n\n\n#endif // BOOST_HAS_STDINT_H\n\n// intptr_t/uintptr_t are defined separately because they are optional and not universally available\n#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)\n// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h\n#include <stddef.h>\n#endif\n\n#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \\\n    || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \\\n    || defined(__CYGWIN__) || defined(__VXWORKS__) \\\n    || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \\\n    || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX)\n\nnamespace boost {\n    using ::intptr_t;\n    using ::uintptr_t;\n}\n#define BOOST_HAS_INTPTR_T\n\n// Clang pretends to be GCC, so it'll match this condition\n#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)\n\nnamespace boost {\n    typedef __INTPTR_TYPE__ intptr_t;\n    typedef __UINTPTR_TYPE__ uintptr_t;\n}\n#define BOOST_HAS_INTPTR_T\n\n#endif\n\n#endif // BOOST_CSTDINT_HPP\n\n\n/****************************************************\n\nMacro definition section:\n\nAdded 23rd September 2000 (John Maddock).\nModified 11th September 2001 to be excluded when\nBOOST_HAS_STDINT_H is defined (John Maddock).\nModified 11th Dec 2009 to always define the\nINT#_C macros if they're not already defined (John Maddock).\n\n******************************************************/\n\n#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \\\n   (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))\n//\n// Undef the macros as a precaution, since we may get here if <stdint.h> has failed\n// to define them all, see https://svn.boost.org/trac/boost/ticket/12786\n//\n#undef INT8_C\n#undef INT16_C\n#undef INT32_C\n#undef INT64_C\n#undef INTMAX_C\n#undef UINT8_C\n#undef UINT16_C\n#undef UINT32_C\n#undef UINT64_C\n#undef UINTMAX_C\n\n#include <limits.h>\n# define BOOST__STDC_CONSTANT_MACROS_DEFINED\n# if defined(BOOST_HAS_MS_INT64)\n//\n// Borland/Intel/Microsoft compilers have width specific suffixes:\n//\n#ifndef INT8_C\n#  define INT8_C(value)     value##i8\n#endif\n#ifndef INT16_C\n#  define INT16_C(value)    value##i16\n#endif\n#ifndef INT32_C\n#  define INT32_C(value)    value##i32\n#endif\n#ifndef INT64_C\n#  define INT64_C(value)    value##i64\n#endif\n#  ifdef BOOST_BORLANDC\n    // Borland bug: appending ui8 makes the type a signed char\n#   define UINT8_C(value)    static_cast<unsigned char>(value##u)\n#  else\n#   define UINT8_C(value)    value##ui8\n#  endif\n#ifndef UINT16_C\n#  define UINT16_C(value)   value##ui16\n#endif\n#ifndef UINT32_C\n#  define UINT32_C(value)   value##ui32\n#endif\n#ifndef UINT64_C\n#  define UINT64_C(value)   value##ui64\n#endif\n#ifndef INTMAX_C\n#  define INTMAX_C(value)   value##i64\n#  define UINTMAX_C(value)  value##ui64\n#endif\n\n# else\n//  do it the old fashioned way:\n\n//  8-bit types  ------------------------------------------------------------//\n\n#  if (UCHAR_MAX == 0xff) && !defined(INT8_C)\n#   define INT8_C(value) static_cast<boost::int8_t>(value)\n#   define UINT8_C(value) static_cast<boost::uint8_t>(value##u)\n#  endif\n\n//  16-bit types  -----------------------------------------------------------//\n\n#  if (USHRT_MAX == 0xffff) && !defined(INT16_C)\n#   define INT16_C(value) static_cast<boost::int16_t>(value)\n#   define UINT16_C(value) static_cast<boost::uint16_t>(value##u)\n#  endif\n\n//  32-bit types  -----------------------------------------------------------//\n#ifndef INT32_C\n#  if (UINT_MAX == 0xffffffff)\n#   define INT32_C(value) value\n#   define UINT32_C(value) value##u\n#  elif ULONG_MAX == 0xffffffff\n#   define INT32_C(value) value##L\n#   define UINT32_C(value) value##uL\n#  endif\n#endif\n\n//  64-bit types + intmax_t and uintmax_t  ----------------------------------//\n#ifndef INT64_C\n#  if defined(BOOST_HAS_LONG_LONG) && \\\n    (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX))\n\n#    if defined(__hpux)\n        // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions\n#       define INT64_C(value) value##LL\n#       define UINT64_C(value) value##uLL\n#    elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) ||  \\\n        (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) ||  \\\n        (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \\\n        (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \\\n        (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL)\n\n#       define INT64_C(value) value##LL\n#       define UINT64_C(value) value##uLL\n#    else\n#       error defaults not correct; you must hand modify boost/cstdint.hpp\n#    endif\n#  elif ULONG_MAX != 0xffffffff\n\n#    if ULONG_MAX == 18446744073709551615U // 2**64 - 1\n#       define INT64_C(value) value##L\n#       define UINT64_C(value) value##uL\n#    else\n#       error defaults not correct; you must hand modify boost/cstdint.hpp\n#    endif\n#  elif defined(BOOST_HAS_LONG_LONG)\n     // Usual macros not defined, work things out for ourselves:\n#    if(~0uLL == 18446744073709551615ULL)\n#       define INT64_C(value) value##LL\n#       define UINT64_C(value) value##uLL\n#    else\n#       error defaults not correct; you must hand modify boost/cstdint.hpp\n#    endif\n#  else\n#    error defaults not correct; you must hand modify boost/cstdint.hpp\n#  endif\n\n#  ifdef BOOST_NO_INT64_T\n#   define INTMAX_C(value) INT32_C(value)\n#   define UINTMAX_C(value) UINT32_C(value)\n#  else\n#   define INTMAX_C(value) INT64_C(value)\n#   define UINTMAX_C(value) UINT64_C(value)\n#  endif\n#endif\n# endif // Borland/Microsoft specific width suffixes\n\n#endif // INT#_C macros.\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/current_function.hpp",
    "content": "#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED\n#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED\n\n// MS compatible compilers support #pragma once\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n# pragma once\n#endif\n\n//\n//  boost/current_function.hpp - BOOST_CURRENT_FUNCTION\n//\n//  Copyright 2002-2018 Peter Dimov\n//\n//  Distributed under the Boost Software License, Version 1.0.\n//  See accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt\n//\n//  http://www.boost.org/libs/assert\n//\n\nnamespace boost\n{\n\nnamespace detail\n{\n\ninline void current_function_helper()\n{\n\n#if defined( BOOST_DISABLE_CURRENT_FUNCTION )\n\n# define BOOST_CURRENT_FUNCTION \"(unknown)\"\n\n#elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__)\n\n# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__\n\n#elif defined(__DMC__) && (__DMC__ >= 0x810)\n\n# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__\n\n#elif defined(__FUNCSIG__)\n\n# define BOOST_CURRENT_FUNCTION __FUNCSIG__\n\n#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))\n\n# define BOOST_CURRENT_FUNCTION __FUNCTION__\n\n#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)\n\n# define BOOST_CURRENT_FUNCTION __FUNC__\n\n#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)\n\n# define BOOST_CURRENT_FUNCTION __func__\n\n#elif defined(__cplusplus) && (__cplusplus >= 201103)\n\n# define BOOST_CURRENT_FUNCTION __func__\n\n#else\n\n# define BOOST_CURRENT_FUNCTION \"(unknown)\"\n\n#endif\n\n}\n\n} // namespace detail\n\n} // namespace boost\n\n#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/all.hpp",
    "content": "//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_316FDA946C0D11DEA9CBAE5255D89593\n#define BOOST_EXCEPTION_316FDA946C0D11DEA9CBAE5255D89593\n\n#include <boost/config.hpp>\n#include <boost/exception/diagnostic_information.hpp>\n#include <boost/exception/error_info.hpp>\n#include <boost/exception/exception.hpp>\n#include <boost/exception/get_error_info.hpp>\n#include <boost/exception/info.hpp>\n#include <boost/exception/info_tuple.hpp>\n#include <boost/exception/errinfo_api_function.hpp>\n#include <boost/exception/errinfo_at_line.hpp>\n#include <boost/exception/errinfo_errno.hpp>\n#include <boost/exception/errinfo_file_handle.hpp>\n#include <boost/exception/errinfo_file_name.hpp>\n#include <boost/exception/errinfo_file_open_mode.hpp>\n#include <boost/exception/errinfo_type_info_name.hpp>\n#ifndef BOOST_NO_EXCEPTIONS\n#include <boost/exception/errinfo_nested_exception.hpp>\n#include <boost/exception_ptr.hpp>\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/current_exception_cast.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_7E83C166200811DE885E826156D89593\n#define BOOST_EXCEPTION_7E83C166200811DE885E826156D89593\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    template <class E>\n    inline\n    E *\n    current_exception_cast()\n        {\n        try\n            {\n            throw;\n            }\n        catch(\n        E & e )\n            {\n            return &e;\n            }\n        catch(\n        ...)\n            {\n            return 0;\n            }\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/clone_current_exception.hpp",
    "content": "//Copyright (c) 2006-2013 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085\n#define BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\n#ifdef BOOST_NO_EXCEPTIONS\n#    error This header requires exception handling to be enabled.\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        class clone_base;\n\n#ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR\n        int clone_current_exception_non_intrusive( clone_base const * & cloned );\n#endif\n\n        namespace\n        clone_current_exception_result\n            {\n            int const success=0;\n            int const bad_alloc=1;\n            int const bad_exception=2;\n            int const not_supported=3;\n            }\n\n        inline\n        int\n        clone_current_exception( clone_base const * & cloned )\n            {\n#ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR\n            return clone_current_exception_non_intrusive(cloned);\n#else\n            return clone_current_exception_result::not_supported;\n#endif\n            }\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/error_info_impl.hpp",
    "content": "//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_CE6983AC753411DDA764247956D89593\n#define BOOST_EXCEPTION_CE6983AC753411DDA764247956D89593\n\n#include <boost/config.hpp>\n#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES\n#include <boost/type_traits/is_nothrow_move_constructible.hpp>\n#endif\n#include <utility>\n#include <string>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        class\n        error_info_base\n            {\n            public:\n\n            virtual std::string name_value_string() const = 0;\n            virtual error_info_base * clone() const = 0;\n\n            virtual\n            ~error_info_base() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n            };\n        }\n\n    template <class Tag,class T>\n    class\n    error_info:\n        public exception_detail::error_info_base\n        {\n        exception_detail::error_info_base *\n        clone() const\n            {\n            return new error_info<Tag,T>(*this);\n            }\n        public:\n        typedef T value_type;\n        error_info( value_type const & v ):\n            v_(v)\n            {\n            }\n#if (__GNUC__*100+__GNUC_MINOR__!=406) //workaround for g++ bug\n#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES\n        error_info( error_info const & x ):\n            v_(x.v_)\n            {\n            }\n        error_info( T && v ) BOOST_NOEXCEPT_IF(boost::is_nothrow_move_constructible<T>::value):\n            v_(std::move(v))\n            {\n            }\n        error_info( error_info && x ) BOOST_NOEXCEPT_IF(boost::is_nothrow_move_constructible<T>::value):\n            v_(std::move(x.v_))\n            {\n            }\n#endif\n#endif\n        ~error_info() BOOST_NOEXCEPT_OR_NOTHROW\n            {\n            }\n        value_type const &\n        value() const\n            {\n            return v_;\n            }\n        value_type &\n        value()\n            {\n            return v_;\n            }\n        private:\n        error_info & operator=( error_info const & );\n#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES\n        error_info & operator=( error_info && x );\n#endif\n        std::string name_value_string() const;\n        value_type v_;\n        };\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/exception_ptr.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n//Copyright (c) 2019 Dario Menendez, Banco Santander\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593\n#define BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593\n\n#include <boost/config.hpp>\n#include <boost/exception/exception.hpp>\n#include <boost/exception/info.hpp>\n#include <boost/exception/diagnostic_information.hpp>\n#ifndef BOOST_NO_EXCEPTIONS\n#   include <boost/exception/detail/clone_current_exception.hpp>\n#endif\n#include <boost/exception/detail/type_info.hpp>\n#ifndef BOOST_NO_RTTI\n#include <boost/core/demangle.hpp>\n#endif\n#include <boost/shared_ptr.hpp>\n#include <boost/make_shared.hpp>\n#include <stdexcept>\n#include <new>\n#include <ios>\n#include <stdlib.h>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n#ifndef BOOST_NO_CXX11_HDR_EXCEPTION\n        struct\n        std_exception_ptr_wrapper:\n            std::exception\n            {\n            std::exception_ptr p;\n            explicit std_exception_ptr_wrapper( std::exception_ptr const & ptr ) BOOST_NOEXCEPT:\n                p(ptr)\n                {\n                }\n#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES\n            explicit std_exception_ptr_wrapper( std::exception_ptr && ptr ) BOOST_NOEXCEPT:\n                p(static_cast<std::exception_ptr &&>(ptr))\n                {\n                }\n#endif\n            };\n        shared_ptr<exception_detail::clone_base const>\n        inline\n        wrap_exception_ptr( std::exception_ptr const & e )\n            {\n            exception_detail::clone_base const & base =\n                boost::enable_current_exception(std_exception_ptr_wrapper(std::current_exception()));\n            return shared_ptr<exception_detail::clone_base const>(base.clone());\n            }\n#endif\n        }\n\n    class exception_ptr;\n    namespace exception_detail { void rethrow_exception_( exception_ptr const & ); }\n\n    class\n    exception_ptr\n        {\n        typedef boost::shared_ptr<exception_detail::clone_base const> impl;\n        impl ptr_;\n        friend void exception_detail::rethrow_exception_( exception_ptr const & );\n        typedef exception_detail::clone_base const * (impl::*unspecified_bool_type)() const;\n        public:\n        exception_ptr()\n            {\n            }\n#ifndef BOOST_NO_CXX11_HDR_EXCEPTION\n        exception_ptr( std::exception_ptr const & e ):\n            ptr_(exception_detail::wrap_exception_ptr(e))\n            {\n            }\n#endif\n        explicit\n        exception_ptr( impl const & ptr ):\n            ptr_(ptr)\n            {\n            }\n        bool\n        operator==( exception_ptr const & other ) const\n            {\n            return ptr_==other.ptr_;\n            }\n        bool\n        operator!=( exception_ptr const & other ) const\n            {\n            return ptr_!=other.ptr_;\n            }\n        operator unspecified_bool_type() const\n            {\n            return ptr_?&impl::get:0;\n            }\n        };\n\n    template <class E>\n    inline\n    exception_ptr\n    copy_exception( E const & e )\n        {\n        E cp = e;\n        exception_detail::copy_boost_exception(&cp, &e);\n        return exception_ptr(boost::make_shared<wrapexcept<E> >(cp));\n        }\n\n    template <class T>\n    inline\n    exception_ptr\n    make_exception_ptr( T const & e )\n        {\n        return boost::copy_exception(e);\n        }\n\n#ifndef BOOST_NO_RTTI\n    typedef error_info<struct tag_original_exception_type,std::type_info const *> original_exception_type;\n\n    inline\n    std::string\n    to_string( original_exception_type const & x )\n        {\n        return core::demangle(x.value()->name());\n        }\n#endif\n\n#ifndef BOOST_NO_EXCEPTIONS\n    namespace\n    exception_detail\n        {\n        struct\n        bad_alloc_:\n            boost::exception,\n            std::bad_alloc\n                {\n                ~bad_alloc_() BOOST_NOEXCEPT_OR_NOTHROW { }\n                };\n\n        struct\n        bad_exception_:\n            boost::exception,\n            std::bad_exception\n                {\n                ~bad_exception_() BOOST_NOEXCEPT_OR_NOTHROW { }\n                };\n\n        template <class Exception>\n        exception_ptr\n        get_static_exception_object()\n            {\n            Exception ba;\n            exception_detail::clone_impl<Exception> c(ba);\n#ifndef BOOST_EXCEPTION_DISABLE\n            c <<\n                throw_function(BOOST_CURRENT_FUNCTION) <<\n                throw_file(__FILE__) <<\n                throw_line(__LINE__);\n#endif\n            static exception_ptr ep(shared_ptr<exception_detail::clone_base const>(new exception_detail::clone_impl<Exception>(c)));\n            return ep;\n            }\n\n        template <class Exception>\n        struct\n        exception_ptr_static_exception_object\n            {\n            static exception_ptr const e;\n            };\n\n        template <class Exception>\n        exception_ptr const\n        exception_ptr_static_exception_object<Exception>::\n        e = get_static_exception_object<Exception>();\n        }\n\n#if defined(__GNUC__)\n# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)\n#  pragma GCC visibility push (default)\n# endif\n#endif\n    class\n    unknown_exception:\n        public boost::exception,\n        public std::exception\n        {\n        public:\n\n        unknown_exception()\n            {\n            }\n\n        explicit\n        unknown_exception( std::exception const & e )\n            {\n            add_original_type(e);\n            }\n\n        explicit\n        unknown_exception( boost::exception const & e ):\n            boost::exception(e)\n            {\n            add_original_type(e);\n            }\n\n        ~unknown_exception() BOOST_NOEXCEPT_OR_NOTHROW\n            {\n            }\n\n        private:\n\n        template <class E>\n        void\n        add_original_type( E const & e )\n            {\n#ifndef BOOST_NO_RTTI\n            (*this) << original_exception_type(&typeid(e));\n#endif\n            }\n        };\n#if defined(__GNUC__)\n# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)\n#  pragma GCC visibility pop\n# endif\n#endif\n\n    namespace\n    exception_detail\n        {\n        template <class T>\n        class\n        current_exception_std_exception_wrapper:\n            public T,\n            public boost::exception\n            {\n            public:\n\n            explicit\n            current_exception_std_exception_wrapper( T const & e1 ):\n                T(e1)\n                {\n                add_original_type(e1);\n                }\n\n            current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ):\n                T(e1),\n                boost::exception(e2)\n                {\n                add_original_type(e1);\n                }\n\n            ~current_exception_std_exception_wrapper() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n\n            private:\n\n            template <class E>\n            void\n            add_original_type( E const & e )\n                {\n#ifndef BOOST_NO_RTTI\n                (*this) << original_exception_type(&typeid(e));\n#endif\n                }\n            };\n\n#ifdef BOOST_NO_RTTI\n        template <class T>\n        boost::exception const *\n        get_boost_exception( T const * )\n            {\n            try\n                {\n                throw;\n                }\n            catch(\n            boost::exception & x )\n                {\n                return &x;\n                }\n            catch(...)\n                {\n                return 0;\n                }\n            }\n#else\n        template <class T>\n        boost::exception const *\n        get_boost_exception( T const * x )\n            {\n            return dynamic_cast<boost::exception const *>(x);\n            }\n#endif\n\n        template <class T>\n        inline\n        exception_ptr\n        current_exception_std_exception( T const & e1 )\n            {\n            if( boost::exception const * e2 = get_boost_exception(&e1) )\n                return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1,*e2));\n            else\n                return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1));\n            }\n\n        inline\n        exception_ptr\n        current_exception_unknown_exception()\n            {\n            return boost::copy_exception(unknown_exception());\n            }\n\n        inline\n        exception_ptr\n        current_exception_unknown_boost_exception( boost::exception const & e )\n            {\n            return boost::copy_exception(unknown_exception(e));\n            }\n\n        inline\n        exception_ptr\n        current_exception_unknown_std_exception( std::exception const & e )\n            {\n            if( boost::exception const * be = get_boost_exception(&e) )\n                return current_exception_unknown_boost_exception(*be);\n            else\n                return boost::copy_exception(unknown_exception(e));\n            }\n\n        inline\n        exception_ptr\n        current_exception_impl()\n            {\n            exception_detail::clone_base const * e=0;\n            switch(\n            exception_detail::clone_current_exception(e) )\n                {\n                case exception_detail::clone_current_exception_result::\n                success:\n                    {\n                    BOOST_ASSERT(e!=0);\n                    return exception_ptr(shared_ptr<exception_detail::clone_base const>(e));\n                    }\n                case exception_detail::clone_current_exception_result::\n                bad_alloc:\n                    {\n                    BOOST_ASSERT(!e);\n                    return exception_detail::exception_ptr_static_exception_object<bad_alloc_>::e;\n                    }\n                case exception_detail::clone_current_exception_result::\n                bad_exception:\n                    {\n                    BOOST_ASSERT(!e);\n                    return exception_detail::exception_ptr_static_exception_object<bad_exception_>::e;\n                    }\n                default:\n                    BOOST_ASSERT(0);\n                case exception_detail::clone_current_exception_result::\n                not_supported:\n                    {\n                    BOOST_ASSERT(!e);\n                    try\n                        {\n                        throw;\n                        }\n                    catch(\n                    exception_detail::clone_base & e )\n                        {\n                        return exception_ptr(shared_ptr<exception_detail::clone_base const>(e.clone()));\n                        }\n                    catch(\n                    std::domain_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::invalid_argument & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::length_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::out_of_range & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::logic_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::range_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::overflow_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::underflow_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::ios_base::failure & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::runtime_error & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::bad_alloc & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n        #ifndef BOOST_NO_TYPEID\n                    catch(\n                    std::bad_cast & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n                    catch(\n                    std::bad_typeid & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n        #endif\n                    catch(\n                    std::bad_exception & e )\n                        {\n                        return exception_detail::current_exception_std_exception(e);\n                        }\n#ifdef BOOST_NO_CXX11_HDR_EXCEPTION\n                    // this case can be handled losslesly with std::current_exception() (see below)\n                    catch(\n                    std::exception & e )\n                        {\n                        return exception_detail::current_exception_unknown_std_exception(e);\n                        }\n#endif\n                    catch(\n                    boost::exception & e )\n                        {\n                        return exception_detail::current_exception_unknown_boost_exception(e);\n                        }\n                    catch(\n                    ... )\n                        {\n#ifndef BOOST_NO_CXX11_HDR_EXCEPTION\n                        try\n                            {\n                            return exception_ptr(std::current_exception());\n                            }\n                        catch(\n                        ...)\n                            {\n                            return exception_detail::current_exception_unknown_exception();\n                            }\n#else\n                        return exception_detail::current_exception_unknown_exception();\n#endif\n                        }\n                    }\n                }\n            }\n        }\n\n    inline\n    exception_ptr\n    current_exception()\n        {\n        exception_ptr ret;\n        try\n            {\n            ret=exception_detail::current_exception_impl();\n            }\n        catch(\n        std::bad_alloc & )\n            {\n            ret=exception_detail::exception_ptr_static_exception_object<exception_detail::bad_alloc_>::e;\n            }\n        catch(\n        ... )\n            {\n            ret=exception_detail::exception_ptr_static_exception_object<exception_detail::bad_exception_>::e;\n            }\n        BOOST_ASSERT(ret);\n        return ret;\n        }\n#endif // ifndef BOOST_NO_EXCEPTIONS\n\n    namespace\n    exception_detail\n        {\n        inline\n        void\n        rethrow_exception_( exception_ptr const & p )\n            {\n            BOOST_ASSERT(p);\n#if defined( BOOST_NO_CXX11_HDR_EXCEPTION ) || defined( BOOST_NO_EXCEPTIONS )\n            p.ptr_->rethrow();\n#else\n            try\n                {\n                p.ptr_->rethrow();\n                }\n            catch(\n            std_exception_ptr_wrapper const & wrp)\n                {\n                // if an std::exception_ptr was wrapped above then rethrow it\n                std::rethrow_exception(wrp.p);\n                }\n#endif\n            }\n        }\n\n    BOOST_NORETURN\n    inline\n    void\n    rethrow_exception( exception_ptr const & p )\n        {\n        exception_detail::rethrow_exception_(p);\n        BOOST_ASSERT(0);\n#if defined(UNDER_CE)\n        // some CE platforms don't define ::abort()\n        exit(-1);\n#else\n        abort();\n#endif\n        }\n\n    inline\n    std::string\n    diagnostic_information( exception_ptr const & p, bool verbose=true )\n        {\n        if( p )\n#ifdef BOOST_NO_EXCEPTIONS\n            return \"<unavailable> due to BOOST_NO_EXCEPTIONS\";\n#else\n            try\n                {\n                rethrow_exception(p);\n                }\n            catch(\n            ... )\n                {\n                return current_exception_diagnostic_information(verbose);\n                }\n#endif\n        return \"<empty>\";\n        }\n\n    inline\n    std::string\n    to_string( exception_ptr const & p )\n        {\n        std::string s='\\n'+diagnostic_information(p);\n        std::string padding(\"  \");\n        std::string r;\n        bool f=false;\n        for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i )\n            {\n            if( f )\n                r+=padding;\n            char c=*i;\n            r+=c;\n            f=(c=='\\n');\n            }\n        return r;\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/is_output_streamable.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_898984B4076411DD973EDFA055D89593\n#define BOOST_EXCEPTION_898984B4076411DD973EDFA055D89593\n\n#include <ostream>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    to_string_detail\n        {\n        struct\n        partial_ordering_helper1\n            {\n            template <class CharT,class Traits>\n            partial_ordering_helper1( std::basic_ostream<CharT,Traits> & );\n            };\n\n        struct\n        partial_ordering_helper2\n            {\n            template <class T>\n            partial_ordering_helper2( T const & );\n            };\n\n        char operator<<( partial_ordering_helper1, partial_ordering_helper2 );\n\n        template <class T,class CharT,class Traits>\n        struct\n        is_output_streamable_impl\n            {\n            static std::basic_ostream<CharT,Traits> & f();\n            static T const & g();\n            enum e { value=1!=(sizeof(f()<<g())) };\n            };\n        }\n\n    template <class T, class CharT=char, class Traits=std::char_traits<CharT> >\n    struct\n    is_output_streamable\n        {\n        enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };\n        };\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/object_hex_dump.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_6F463AC838DF11DDA3E6909F56D89593\n#define BOOST_EXCEPTION_6F463AC838DF11DDA3E6909F56D89593\n\n#include <boost/exception/detail/type_info.hpp>\n#include <iomanip>\n#include <ios>\n#include <string>\n#include <sstream>\n#include <cstdlib>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        template <class T>\n        inline\n        std::string\n        object_hex_dump( T const & x, std::size_t max_size=16 )\n            {\n            std::ostringstream s;\n            s << \"type: \" << type_name<T>() << \", size: \" << sizeof(T) << \", dump: \";\n            std::size_t n=sizeof(T)>max_size?max_size:sizeof(T);\n            s.fill('0');\n            s.width(2);\n            unsigned char const * b=reinterpret_cast<unsigned char const *>(&x);\n            s << std::setw(2) << std::hex << (unsigned int)*b;\n            for( unsigned char const * e=b+n; ++b!=e; )\n                s << \" \" << std::setw(2) << std::hex << (unsigned int)*b;\n            return s.str();\n            }\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/shared_ptr.hpp",
    "content": "//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_837060E885AF11E68DA91D15E31AC075\n#define BOOST_EXCEPTION_837060E885AF11E68DA91D15E31AC075\n\n#ifdef BOOST_EXCEPTION_MINI_BOOST\n#include  <memory>\nnamespace boost { namespace exception_detail { using std::shared_ptr; } }\n#else\n#include <boost/shared_ptr.hpp>\nnamespace boost { namespace exception_detail { using boost::shared_ptr; } }\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/detail/type_info.hpp",
    "content": "//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_C3E1741C754311DDB2834CCA55D89593\n#define BOOST_EXCEPTION_C3E1741C754311DDB2834CCA55D89593\n\n#include <boost/config.hpp>\n#include <boost/core/typeinfo.hpp>\n#include <boost/core/demangle.hpp>\n#include <boost/current_function.hpp>\n#include <string>\n#include <string.h>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    template <class T>\n    inline\n    std::string\n    tag_type_name()\n        {\n#ifdef BOOST_NO_TYPEID\n        return BOOST_CURRENT_FUNCTION;\n#else\n        return core::demangle(typeid(T*).name());\n#endif\n        }\n\n    template <class T>\n    inline\n    std::string\n    type_name()\n        {\n#ifdef BOOST_NO_TYPEID\n        return BOOST_CURRENT_FUNCTION;\n#else\n        return core::demangle(typeid(T).name());\n#endif\n        }\n\n    namespace\n    exception_detail\n        {\n        struct\n        type_info_\n            {\n            core::typeinfo const * type_;\n\n            explicit\n            type_info_( core::typeinfo const & type ):\n                type_(&type)\n                {\n                }\n\n            friend\n            bool\n            operator<( type_info_ const & a, type_info_ const & b )\n                {\n                return a.type_!=b.type_ && strcmp(a.type_->name(), b.type_->name()) < 0;\n                }\n            };\n        }\n    }\n\n#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_CORE_TYPEID(T))\n\n#ifndef BOOST_NO_RTTI\n#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x))\n#endif\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/diagnostic_information.hpp",
    "content": "//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_0552D49838DD11DD90146B8956D89593\n#define BOOST_EXCEPTION_0552D49838DD11DD90146B8956D89593\n\n#include <boost/config.hpp>\n#include <boost/exception/get_error_info.hpp>\n#include <boost/exception/info.hpp>\n#include <boost/utility/enable_if.hpp>\n#ifndef BOOST_NO_RTTI\n#include <boost/core/demangle.hpp>\n#endif\n#include <exception>\n#include <sstream>\n#include <string>\n#ifndef BOOST_NO_EXCEPTIONS\n#include <boost/exception/current_exception_cast.hpp>\n#endif\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\n#ifndef BOOST_NO_EXCEPTIONS\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool );\n        }\n\n    inline\n    std::string\n    current_exception_diagnostic_information( bool verbose=true)\n        {\n        boost::exception const * be=current_exception_cast<boost::exception const>();\n        std::exception const * se=current_exception_cast<std::exception const>();\n        if( be || se )\n            return exception_detail::diagnostic_information_impl(be,se,true,verbose);\n#if defined(__GLIBCXX__) && __cplusplus >= 201103L && !defined(BOOST_NO_RTTI)\n        else if (auto* p=std::current_exception().__cxa_exception_type())\n            return \"Dynamic exception type: \"+boost::core::demangle(p->name());\n#endif\n        else\n            return \"No diagnostic information available.\";\n        }\n    }\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        inline\n        exception const *\n        get_boost_exception( exception const * e )\n            {\n            return e;\n            }\n\n        inline\n        exception const *\n        get_boost_exception( ... )\n            {\n            return 0;\n            }\n\n        inline\n        std::exception const *\n        get_std_exception( std::exception const * e )\n            {\n            return e;\n            }\n\n        inline\n        std::exception const *\n        get_std_exception( ... )\n            {\n            return 0;\n            }\n\n        inline\n        char const *\n        get_diagnostic_information( exception const & x, char const * header )\n            {\n#ifndef BOOST_NO_EXCEPTIONS\n            try\n                {\n#endif\n                error_info_container * c=x.data_.get();\n                if( !c )\n                    x.data_.adopt(c=new exception_detail::error_info_container_impl);\n                char const * di=c->diagnostic_information(header);\n                BOOST_ASSERT(di!=0);\n                return di;\n#ifndef BOOST_NO_EXCEPTIONS\n                }\n            catch(...)\n                {\n                return 0;\n                }\n#endif\n            }\n\n        inline\n        std::string\n        diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose )\n            {\n            if( !be && !se )\n                return \"Unknown exception.\";\n#ifndef BOOST_NO_RTTI\n            if( !be )\n                be=dynamic_cast<boost::exception const *>(se);\n            if( !se )\n                se=dynamic_cast<std::exception const *>(be);\n#endif\n            char const * wh=0;\n            if( with_what && se )\n                {\n                wh=se->what();\n                if( be && exception_detail::get_diagnostic_information(*be,0)==wh )\n                    return wh;\n                }\n            std::ostringstream tmp;\n            if( be && verbose )\n                {\n                char const * const * f=get_error_info<throw_file>(*be);\n                int const * l=get_error_info<throw_line>(*be);\n                char const * const * fn=get_error_info<throw_function>(*be);\n                if( !f && !l && !fn )\n                    tmp << \"Throw location unknown (consider using BOOST_THROW_EXCEPTION)\\n\";\n                else\n                    {\n                    if( f )\n                        {\n                        tmp << *f;\n                        if( int const * l=get_error_info<throw_line>(*be) )\n                            tmp << '(' << *l << \"): \";\n                        }\n                    tmp << \"Throw in function \";\n                    if( char const * const * fn=get_error_info<throw_function>(*be) )\n                        tmp << *fn;\n                    else\n                        tmp << \"(unknown)\";\n                    tmp << '\\n';\n                    }\n                }\n#ifndef BOOST_NO_RTTI\n            if ( verbose )\n                tmp << std::string(\"Dynamic exception type: \") <<\n                    core::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\\n';\n#endif\n            if( with_what && se && verbose )\n                tmp << \"std::exception::what: \" << (wh ? wh : \"(null)\") << '\\n';\n            if( be )\n                if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) )\n                    if( *s )\n                        return std::string(s);\n            return tmp.str();\n            }\n        }\n\n    template <class T>\n    std::string\n    diagnostic_information( T const & e, bool verbose=true )\n        {\n        return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose);\n        }\n\n    inline\n    char const *\n    diagnostic_information_what( exception const & e, bool verbose=true ) BOOST_NOEXCEPT_OR_NOTHROW\n        {\n        char const * w=0;\n#ifndef BOOST_NO_EXCEPTIONS\n        try\n            {\n#endif\n            (void) exception_detail::diagnostic_information_impl(&e,0,false,verbose);\n            if( char const * di=exception_detail::get_diagnostic_information(e,0) )\n                return di;\n            else\n                return \"Failed to produce boost::diagnostic_information_what()\";\n#ifndef BOOST_NO_EXCEPTIONS\n            }\n        catch(\n        ... )\n            {\n            }\n#endif\n        return w;\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/enable_current_exception.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_851700A4F7CF11E6B2EE06DD14915323\n#define BOOST_EXCEPTION_851700A4F7CF11E6B2EE06DD14915323\n\n#include <boost/exception/exception.hpp>\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/enable_error_info.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_A0F7404AF7CF11E6908227DD14915323\n#define BOOST_EXCEPTION_A0F7404AF7CF11E6908227DD14915323\n\n#include <boost/exception/exception.hpp>\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_api_function.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_DDFBB4546C1211DEA4659E9055D89593\n#define BOOST_EXCEPTION_DDFBB4546C1211DEA4659E9055D89593\n\n#include <boost/exception/error_info.hpp>\n\nnamespace\nboost\n    {\n    //Usage hint:\n    //if( api_function(....)!=0 )\n    //    BOOST_THROW_EXCEPTION(\n    //        failure() <<\n    //        errinfo_api_function(\"api_function\") );\n    typedef error_info<struct errinfo_api_function_,char const *> errinfo_api_function;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_at_line.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_E7255CE26C1211DE85800C9155D89593\n#define BOOST_EXCEPTION_E7255CE26C1211DE85800C9155D89593\n\nnamespace\nboost\n    {\n    template <class Tag,class T> class error_info;\n\n    //Use with parsing errors exceptions, for example in a XML file parser.\n    typedef error_info<struct errinfo_at_line_,int> errinfo_at_line;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_errno.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_F0EE17BE6C1211DE87FF459155D89593\n#define BOOST_EXCEPTION_F0EE17BE6C1211DE87FF459155D89593\n\n#include <boost/exception/info.hpp>\n#include <errno.h>\n#include <string.h>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#pragma warning(disable:4996)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    typedef error_info<struct errinfo_errno_,int> errinfo_errno;\n\n    //Usage hint:\n    //if( c_function(....)!=0 )\n    //    BOOST_THROW_EXCEPTION(\n    //        failure() <<\n    //        errinfo_errno(errno) <<\n    //        errinfo_api_function(\"c_function\") );\n    inline\n    std::string\n    to_string( errinfo_errno const & e )\n        {\n        std::ostringstream tmp;\n        int v=e.value();\n        tmp  << '[' << error_info_name(e) << \"] = \" << v << \", \\\"\" << strerror(v) << \"\\\"\\n\";\n        return tmp.str();\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_file_handle.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_F79E6EE26C1211DEB26E929155D89593\n#define BOOST_EXCEPTION_F79E6EE26C1211DEB26E929155D89593\n\n#include <stdio.h>\n\nnamespace\nboost\n    {\n    template <class> class weak_ptr;\n    template <class Tag,class T> class error_info;\n\n    typedef error_info<struct errinfo_file_handle_,weak_ptr<FILE> > errinfo_file_handle;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_file_name.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_FEE5120A6C1211DE94E8BC9155D89593\n#define BOOST_EXCEPTION_FEE5120A6C1211DE94E8BC9155D89593\n\n#include <string>\n\nnamespace\nboost\n    {\n    template <class Tag,class T> class error_info;\n\n    //Usage hint:\n    //FILE * f=fopen(name,mode);\n    //if( !f )\n    //    BOOST_THROW_EXCEPTION(\n    //        file_open_error() <<\n    //        errinfo_file_name(name) <<\n    //        errinfo_file_open_mode(mode) );\n    typedef error_info<struct errinfo_file_name_,std::string> errinfo_file_name;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_file_open_mode.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_056F1F266C1311DE8E74299255D89593\n#define BOOST_EXCEPTION_056F1F266C1311DE8E74299255D89593\n\n#include <string>\n\nnamespace\nboost\n    {\n    template <class Tag,class T> class error_info;\n\n    //Usage hint:\n    //FILE * f=fopen(name,mode);\n    //if( !f )\n    //    BOOST_THROW_EXCEPTION(\n    //        file_open_error() <<\n    //        errinfo_file_name(name) <<\n    //        errinfo_file_open_mode(mode) );\n    typedef error_info<struct errinfo_file_open_mode_,std::string> errinfo_file_open_mode;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_nested_exception.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_45CC9A82B77511DEB330FC4956D89593\n#define BOOST_EXCEPTION_45CC9A82B77511DEB330FC4956D89593\n\nnamespace\nboost\n    {\n    namespace exception_detail { class clone_base; }\n    template <class Tag,class T> class error_info;\n    class exception_ptr;\n    typedef error_info<struct errinfo_nested_exception_,exception_ptr> errinfo_nested_exception;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/errinfo_type_info_name.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_0E11109E6C1311DEB7EA649255D89593\n#define BOOST_EXCEPTION_0E11109E6C1311DEB7EA649255D89593\n\n#include <string>\n\nnamespace\nboost\n    {\n    template <class Tag,class T> class error_info;\n\n    //Usage hint:\n    //BOOST_THROW_EXCEPTION(\n    //    bad_type() <<\n    //    errinfo_type_info_name(typeid(x).name()) );\n    typedef error_info<struct errinfo_type_info_name_,std::string> errinfo_type_info_name;\n    }\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/error_info.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_EE7ECCA0433B11E1923E37064924019B\n#define BOOST_EXCEPTION_EE7ECCA0433B11E1923E37064924019B\nnamespace boost { template <class Tag,class T> class error_info; }\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/exception.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593\n#define BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593\n\n#include <boost/config.hpp>\n#include <exception>\n\n#ifdef BOOST_EXCEPTION_MINI_BOOST\n#include  <memory>\nnamespace boost { namespace exception_detail { using std::shared_ptr; } }\n#else\nnamespace boost { template <class T> class shared_ptr; }\nnamespace boost { namespace exception_detail { using boost::shared_ptr; } }\n#endif\n\n#if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#pragma warning(disable: 4265)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        template <class T>\n        class\n        refcount_ptr\n            {\n            public:\n\n            refcount_ptr():\n                px_(0)\n                {\n                }\n\n            ~refcount_ptr()\n                {\n                release();\n                }\n\n            refcount_ptr( refcount_ptr const & x ):\n                px_(x.px_)\n                {\n                add_ref();\n                }\n\n            refcount_ptr &\n            operator=( refcount_ptr const & x )\n                {\n                adopt(x.px_);\n                return *this;\n                }\n\n            void\n            adopt( T * px )\n                {\n                release();\n                px_=px;\n                add_ref();\n                }\n\n            T *\n            get() const\n                {\n                return px_;\n                }\n\n            private:\n\n            T * px_;\n\n            void\n            add_ref()\n                {\n                if( px_ )\n                    px_->add_ref();\n                }\n\n            void\n            release()\n                {\n                if( px_ && px_->release() )\n                    px_=0;\n                }\n            };\n        }\n\n    ////////////////////////////////////////////////////////////////////////\n\n    template <class Tag,class T>\n    class error_info;\n\n    typedef error_info<struct throw_function_,char const *> throw_function;\n    typedef error_info<struct throw_file_,char const *> throw_file;\n    typedef error_info<struct throw_line_,int> throw_line;\n\n    template <>\n    class\n    error_info<throw_function_,char const *>\n        {\n        public:\n        typedef char const * value_type;\n        value_type v_;\n        explicit\n        error_info( value_type v ):\n            v_(v)\n            {\n            }\n        };\n\n    template <>\n    class\n    error_info<throw_file_,char const *>\n        {\n        public:\n        typedef char const * value_type;\n        value_type v_;\n        explicit\n        error_info( value_type v ):\n            v_(v)\n            {\n            }\n        };\n\n    template <>\n    class\n    error_info<throw_line_,int>\n        {\n        public:\n        typedef int value_type;\n        value_type v_;\n        explicit\n        error_info( value_type v ):\n            v_(v)\n            {\n            }\n        };\n\n    class\n    BOOST_SYMBOL_VISIBLE\n    exception;\n\n    namespace\n    exception_detail\n        {\n        class error_info_base;\n        struct type_info_;\n\n        struct\n        error_info_container\n            {\n            virtual char const * diagnostic_information( char const * ) const = 0;\n            virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;\n            virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;\n            virtual void add_ref() const = 0;\n            virtual bool release() const = 0;\n            virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;\n\n            protected:\n\n            ~error_info_container() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n            };\n\n        template <class>\n        struct get_info;\n\n        template <>\n        struct get_info<throw_function>;\n\n        template <>\n        struct get_info<throw_file>;\n\n        template <>\n        struct get_info<throw_line>;\n\n        template <class>\n        struct set_info_rv;\n\n        template <>\n        struct set_info_rv<throw_function>;\n\n        template <>\n        struct set_info_rv<throw_file>;\n\n        template <>\n        struct set_info_rv<throw_line>;\n\n        char const * get_diagnostic_information( exception const &, char const * );\n\n        void copy_boost_exception( exception *, exception const * );\n\n        template <class E,class Tag,class T>\n        E const & set_info( E const &, error_info<Tag,T> const & );\n\n        template <class E>\n        E const & set_info( E const &, throw_function const & );\n\n        template <class E>\n        E const & set_info( E const &, throw_file const & );\n\n        template <class E>\n        E const & set_info( E const &, throw_line const & );\n        }\n\n    class\n    BOOST_SYMBOL_VISIBLE\n    exception\n        {\n        //<N3757>\n        public:\n        template <class Tag> void set( typename Tag::type const & );\n        template <class Tag> typename Tag::type const * get() const;\n        //</N3757>\n\n        protected:\n\n        exception():\n            throw_function_(0),\n            throw_file_(0),\n            throw_line_(-1)\n            {\n            }\n\n#ifdef __HP_aCC\n        //On HP aCC, this protected copy constructor prevents throwing boost::exception.\n        //On all other platforms, the same effect is achieved by the pure virtual destructor.\n        exception( exception const & x ) BOOST_NOEXCEPT_OR_NOTHROW:\n            data_(x.data_),\n            throw_function_(x.throw_function_),\n            throw_file_(x.throw_file_),\n            throw_line_(x.throw_line_)\n            {\n            }\n#endif\n\n        virtual ~exception() BOOST_NOEXCEPT_OR_NOTHROW\n#ifndef __HP_aCC\n            = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors.\n#endif\n            ;\n\n#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310)\n        public:\n#else\n        private:\n\n        template <class E>\n        friend E const & exception_detail::set_info( E const &, throw_function const & );\n\n        template <class E>\n        friend E const & exception_detail::set_info( E const &, throw_file const & );\n\n        template <class E>\n        friend E const & exception_detail::set_info( E const &, throw_line const & );\n\n        template <class E,class Tag,class T>\n        friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & );\n\n        friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );\n\n        template <class>\n        friend struct exception_detail::get_info;\n        friend struct exception_detail::get_info<throw_function>;\n        friend struct exception_detail::get_info<throw_file>;\n        friend struct exception_detail::get_info<throw_line>;\n        template <class>\n        friend struct exception_detail::set_info_rv;\n        friend struct exception_detail::set_info_rv<throw_function>;\n        friend struct exception_detail::set_info_rv<throw_file>;\n        friend struct exception_detail::set_info_rv<throw_line>;\n        friend void exception_detail::copy_boost_exception( exception *, exception const * );\n#endif\n        mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;\n        mutable char const * throw_function_;\n        mutable char const * throw_file_;\n        mutable int throw_line_;\n        };\n\n    inline\n    exception::\n    ~exception() BOOST_NOEXCEPT_OR_NOTHROW\n        {\n        }\n\n    namespace\n    exception_detail\n        {\n        template <class E>\n        E const &\n        set_info( E const & x, throw_function const & y )\n            {\n            x.throw_function_=y.v_;\n            return x;\n            }\n\n        template <class E>\n        E const &\n        set_info( E const & x, throw_file const & y )\n            {\n            x.throw_file_=y.v_;\n            return x;\n            }\n\n        template <class E>\n        E const &\n        set_info( E const & x, throw_line const & y )\n            {\n            x.throw_line_=y.v_;\n            return x;\n            }\n        }\n\n    ////////////////////////////////////////////////////////////////////////\n\n    namespace\n    exception_detail\n        {\n        template <class T>\n        struct\n        BOOST_SYMBOL_VISIBLE\n        error_info_injector:\n            public T,\n            public exception\n            {\n            explicit\n            error_info_injector( T const & x ):\n                T(x)\n                {\n                }\n\n            ~error_info_injector() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n            };\n\n        struct large_size { char c[256]; };\n        large_size dispatch_boost_exception( exception const * );\n\n        struct small_size { };\n        small_size dispatch_boost_exception( void const * );\n\n        template <class,int>\n        struct enable_error_info_helper;\n\n        template <class T>\n        struct\n        enable_error_info_helper<T,sizeof(large_size)>\n            {\n            typedef T type;\n            };\n\n        template <class T>\n        struct\n        enable_error_info_helper<T,sizeof(small_size)>\n            {\n            typedef error_info_injector<T> type;\n            };\n\n        template <class T>\n        struct\n        enable_error_info_return_type\n            {\n            typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception(static_cast<T *>(0)))>::type type;\n            };\n        }\n\n    template <class T>\n    inline\n    typename\n    exception_detail::enable_error_info_return_type<T>::type\n    enable_error_info( T const & x )\n        {\n        typedef typename exception_detail::enable_error_info_return_type<T>::type rt;\n        return rt(x);\n        }\n\n    ////////////////////////////////////////////////////////////////////////\n#if defined(BOOST_NO_EXCEPTIONS)\n    BOOST_NORETURN void throw_exception(std::exception const & e); // user defined\n#endif\n\n    namespace\n    exception_detail\n        {\n        class\n        BOOST_SYMBOL_VISIBLE\n        clone_base\n            {\n            public:\n\n            virtual clone_base const * clone() const = 0;\n            virtual void rethrow() const = 0;\n\n            virtual\n            ~clone_base() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n            };\n\n        inline\n        void\n        copy_boost_exception( exception * a, exception const * b )\n            {\n            refcount_ptr<error_info_container> data;\n            if( error_info_container * d=b->data_.get() )\n                data = d->clone();\n            a->throw_file_ = b->throw_file_;\n            a->throw_line_ = b->throw_line_;\n            a->throw_function_ = b->throw_function_;\n            a->data_ = data;\n            }\n\n        inline\n        void\n        copy_boost_exception( void *, void const * )\n            {\n            }\n\n        template <class T>\n        class\n        BOOST_SYMBOL_VISIBLE\n        clone_impl:\n            public T,\n            public virtual clone_base\n            {\n            struct clone_tag { };\n            clone_impl( clone_impl const & x, clone_tag ):\n                T(x)\n                {\n                copy_boost_exception(this,&x);\n                }\n\n            public:\n\n            explicit\n            clone_impl( T const & x ):\n                T(x)\n                {\n                copy_boost_exception(this,&x);\n                }\n\n            ~clone_impl() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n\n            private:\n\n            clone_base const *\n            clone() const\n                {\n                return new clone_impl(*this,clone_tag());\n                }\n\n            void\n            rethrow() const\n                {\n#if defined(BOOST_NO_EXCEPTIONS)\n                boost::throw_exception(*this);\n#else\n                throw*this;\n#endif\n                }\n            };\n        }\n\n    template <class T>\n    inline\n    exception_detail::clone_impl<T>\n    enable_current_exception( T const & x )\n        {\n        return exception_detail::clone_impl<T>(x);\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n\n#endif // #ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/get_error_info.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_1A590226753311DD9E4CCF6156D89593\n#define BOOST_EXCEPTION_1A590226753311DD9E4CCF6156D89593\n\n#include <boost/config.hpp>\n#include <boost/exception/exception.hpp>\n#include <boost/exception/detail/error_info_impl.hpp>\n#include <boost/exception/detail/type_info.hpp>\n#include <boost/exception/detail/shared_ptr.hpp>\n#include <boost/assert.hpp>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        template <class ErrorInfo>\n        struct\n        get_info\n            {\n            static\n            typename ErrorInfo::value_type *\n            get( exception const & x )\n                {\n                if( exception_detail::error_info_container * c=x.data_.get() )\n                    if( shared_ptr<exception_detail::error_info_base> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )\n                        {\n#ifndef BOOST_NO_RTTI\n                        BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo *>(eib.get()) );\n#endif\n                        ErrorInfo * w = static_cast<ErrorInfo *>(eib.get());\n                        return &w->value();\n                        }\n                return 0;\n                }\n            };\n\n        template <>\n        struct\n        get_info<throw_function>\n            {\n            static\n            char const * *\n            get( exception const & x )\n                {\n                return x.throw_function_ ? &x.throw_function_ : 0;\n                }\n            };\n\n        template <>\n        struct\n        get_info<throw_file>\n            {\n            static\n            char const * *\n            get( exception const & x )\n                {\n                return x.throw_file_ ? &x.throw_file_ : 0;\n                }\n            };\n\n        template <>\n        struct\n        get_info<throw_line>\n            {\n            static\n            int *\n            get( exception const & x )\n                {\n                return x.throw_line_!=-1 ? &x.throw_line_ : 0;\n                }\n            };\n\n        template <class T,class R>\n        struct\n        get_error_info_return_type\n            {\n            typedef R * type;\n            };\n\n        template <class T,class R>\n        struct\n        get_error_info_return_type<T const,R>\n            {\n            typedef R const * type;\n            };\n        }\n\n#ifdef BOOST_NO_RTTI\n    template <class ErrorInfo>\n    inline\n    typename ErrorInfo::value_type const *\n    get_error_info( boost::exception const & x )\n        {\n        return exception_detail::get_info<ErrorInfo>::get(x);\n        }\n    template <class ErrorInfo>\n    inline\n    typename ErrorInfo::value_type *\n    get_error_info( boost::exception & x )\n        {\n        return exception_detail::get_info<ErrorInfo>::get(x);\n        }\n#else\n    template <class ErrorInfo,class E>\n    inline\n    typename exception_detail::get_error_info_return_type<E,typename ErrorInfo::value_type>::type\n    get_error_info( E & some_exception )\n        {\n        if( exception const * x = dynamic_cast<exception const *>(&some_exception) )\n            return exception_detail::get_info<ErrorInfo>::get(*x);\n        else\n            return 0;\n        }\n#endif\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/info.hpp",
    "content": "//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_8D22C4CA9CC811DCAA9133D256D89593\n#define BOOST_EXCEPTION_8D22C4CA9CC811DCAA9133D256D89593\n\n#include <boost/config.hpp>\n#include <boost/exception/exception.hpp>\n#include <boost/exception/to_string_stub.hpp>\n#include <boost/exception/detail/error_info_impl.hpp>\n#include <boost/exception/detail/shared_ptr.hpp>\n#include <map>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    template <class Tag,class T>\n    inline\n    std::string\n    error_info_name( error_info<Tag,T> const & )\n        {\n        return tag_type_name<Tag>();\n        }\n\n    template <class Tag,class T>\n    inline\n    std::string\n    to_string( error_info<Tag,T> const & x )\n        {\n        return '[' + error_info_name(x) + \"] = \" + to_string_stub(x.value()) + '\\n';\n        }\n\n    template <class Tag,class T>\n    inline\n    std::string\n    error_info<Tag,T>::\n    name_value_string() const\n        {\n        return to_string_stub(*this);\n        }\n\n    namespace\n    exception_detail\n        {\n        class\n        error_info_container_impl BOOST_FINAL:\n            public error_info_container\n            {\n            public:\n\n            error_info_container_impl():\n                count_(0)\n                {\n                }\n\n            ~error_info_container_impl() BOOST_NOEXCEPT_OR_NOTHROW\n                {\n                }\n\n            void\n            set( shared_ptr<error_info_base> const & x, type_info_ const & typeid_ )\n                {\n                BOOST_ASSERT(x);\n                info_[typeid_] = x;\n                diagnostic_info_str_.clear();\n                }\n\n            shared_ptr<error_info_base>\n            get( type_info_ const & ti ) const\n                {\n                error_info_map::const_iterator i=info_.find(ti);\n                if( info_.end()!=i )\n                    {\n                    shared_ptr<error_info_base> const & p = i->second;\n                    return p;\n                    }\n                return shared_ptr<error_info_base>();\n                }\n\n            char const *\n            diagnostic_information( char const * header ) const\n                {\n                if( header )\n                    {\n                    std::ostringstream tmp;\n                    tmp << header;\n                    for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )\n                        {\n                        error_info_base const & x = *i->second;\n                        tmp << x.name_value_string();\n                        }\n                    tmp.str().swap(diagnostic_info_str_);\n                    }\n                return diagnostic_info_str_.c_str();\n                }\n\n            private:\n\n            friend class boost::exception;\n\n            typedef std::map< type_info_, shared_ptr<error_info_base> > error_info_map;\n            error_info_map info_;\n            mutable std::string diagnostic_info_str_;\n            mutable int count_;\n\n            error_info_container_impl( error_info_container_impl const & );\n            error_info_container_impl & operator=( error_info_container const & );\n\n            void\n            add_ref() const\n                {\n                ++count_;\n                }\n\n            bool\n            release() const\n                {\n                if( --count_ )\n                    return false;\n                else\n                    {\n                    delete this;\n                    return true;\n                    }\n                }\n\n            refcount_ptr<error_info_container>\n            clone() const\n                {\n                refcount_ptr<error_info_container> p;\n                error_info_container_impl * c=new error_info_container_impl;\n                p.adopt(c);\n                for( error_info_map::const_iterator i=info_.begin(),e=info_.end(); i!=e; ++i )\n                    {\n                    shared_ptr<error_info_base> cp(i->second->clone());\n                    c->info_.insert(std::make_pair(i->first,cp));\n                    }\n                return p;\n                }\n            };\n\n        template <class E,class Tag,class T>\n        inline\n        E const &\n        set_info( E const & x, error_info<Tag,T> const & v )\n            {\n            typedef error_info<Tag,T> error_info_tag_t;\n            shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );\n            exception_detail::error_info_container * c=x.data_.get();\n            if( !c )\n                x.data_.adopt(c=new exception_detail::error_info_container_impl);\n            c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));\n            return x;\n            }\n\n#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES\n        template <class E,class Tag,class T>\n        E const & set_info( E const &, error_info<Tag,T> && );\n        template <class T>\n        struct set_info_rv;\n        template <class Tag,class T>\n        struct\n        set_info_rv<error_info<Tag,T> >\n            {\n            template <class E,class Tag1,class T1>\n            friend E const & set_info( E const &, error_info<Tag1,T1> && );\n            template <class E>\n            static\n            E const &\n            set( E const & x, error_info<Tag,T> && v )\n                {\n                typedef error_info<Tag,T> error_info_tag_t;\n                shared_ptr<error_info_tag_t> p( new error_info_tag_t(std::move(v)) );\n                exception_detail::error_info_container * c=x.data_.get();\n                if( !c )\n                    x.data_.adopt(c=new exception_detail::error_info_container_impl);\n                c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));\n                return x;\n                }\n            };\n        template <>\n        struct\n        set_info_rv<throw_function>\n            {\n            template <class E,class Tag1,class T1>\n            friend E const & set_info( E const &, error_info<Tag1,T1> && );\n            template <class E>\n            static\n            E const &\n            set( E const & x, throw_function && y )\n                {\n                x.throw_function_=y.v_;\n                return x;\n                }\n            };\n        template <>\n        struct\n        set_info_rv<throw_file>\n            {\n            template <class E,class Tag1,class T1>\n            friend E const & set_info( E const &, error_info<Tag1,T1> && );\n            template <class E>\n            static\n            E const &\n            set( E const & x, throw_file && y )\n                {\n                x.throw_file_=y.v_;\n                return x;\n                }\n            };\n        template <>\n        struct\n        set_info_rv<throw_line>\n            {\n            template <class E,class Tag1,class T1>\n            friend E const & set_info( E const &, error_info<Tag1,T1> && );\n            template <class E>\n            static\n            E const &\n            set( E const & x, throw_line && y )\n                {\n                x.throw_line_=y.v_;\n                return x;\n                }\n            };\n        template <class E,class Tag,class T>\n        inline\n        E const &\n        set_info( E const & x, error_info<Tag,T> && v )\n            {\n            return set_info_rv<error_info<Tag,T> >::template set<E>(x,std::move(v));\n            }\n#endif\n\n        template <class T>\n        struct\n        derives_boost_exception\n            {\n            enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) };\n            };\n        }\n\n    template <class E,class Tag,class T>\n    inline\n    typename enable_if<exception_detail::derives_boost_exception<E>,E const &>::type\n    operator<<( E const & x, error_info<Tag,T> const & v )\n        {\n        return exception_detail::set_info(x,v);\n        }\n\n#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES\n    template <class E,class Tag,class T>\n    inline\n    typename enable_if<exception_detail::derives_boost_exception<E>,E const &>::type\n    operator<<( E const & x, error_info<Tag,T> && v )\n        {\n        return exception_detail::set_info(x,std::move(v));\n        }\n#endif\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/info_tuple.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_63EE924290FB11DC87BB856555D89593\n#define BOOST_EXCEPTION_63EE924290FB11DC87BB856555D89593\n\n#include <boost/exception/info.hpp>\n#include <boost/tuple/tuple.hpp>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    template <\n        class E >\n    inline\n    E const &\n    operator<<(\n        E const & x,\n        tuple< > const & v )\n        {\n        return x;\n        }\n\n    template <\n        class E,\n        class Tag1,class T1 >\n    inline\n    E const &\n    operator<<(\n        E const & x,\n        tuple<\n            error_info<Tag1,T1> > const & v )\n        {\n        return x << v.template get<0>();\n        }\n\n    template <\n        class E,\n        class Tag1,class T1,\n        class Tag2,class T2 >\n    inline\n    E const &\n    operator<<(\n        E const & x,\n        tuple<\n            error_info<Tag1,T1>,\n            error_info<Tag2,T2> > const & v )\n        {\n        return x << v.template get<0>() << v.template get<1>();\n        }\n\n    template <\n        class E,\n        class Tag1,class T1,\n        class Tag2,class T2,\n        class Tag3,class T3 >\n    inline\n    E const &\n    operator<<(\n        E const & x,\n        tuple<\n            error_info<Tag1,T1>,\n            error_info<Tag2,T2>,\n            error_info<Tag3,T3> > const & v )\n        {\n        return x << v.template get<0>() << v.template get<1>() << v.template get<2>();\n        }\n\n    template <\n        class E,\n        class Tag1,class T1,\n        class Tag2,class T2,\n        class Tag3,class T3,\n        class Tag4,class T4 >\n    inline\n    E const &\n    operator<<(\n        E const & x,\n        tuple<\n            error_info<Tag1,T1>,\n            error_info<Tag2,T2>,\n            error_info<Tag3,T3>,\n            error_info<Tag4,T4> > const & v )\n        {\n        return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>();\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/to_string.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593\n#define BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593\n\n#include <boost/utility/enable_if.hpp>\n#include <boost/exception/detail/is_output_streamable.hpp>\n#include <sstream>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    template <class T,class U>\n    std::string to_string( std::pair<T,U> const & );\n    std::string to_string( std::exception const & );\n\n    namespace\n    to_string_detail\n        {\n        template <class T>\n        typename disable_if<is_output_streamable<T>,char>::type to_string( T const & );\n        using boost::to_string;\n\n        template <class,bool IsOutputStreamable>\n        struct has_to_string_impl;\n\n        template <class T>\n        struct\n        has_to_string_impl<T,true>\n            {\n            enum e { value=1 };\n            };\n\n        template <class T>\n        struct\n        has_to_string_impl<T,false>\n            {\n            static T const & f();\n            enum e { value=1!=sizeof(to_string(f())) };\n            };\n        }\n\n    template <class T>\n    inline\n    typename enable_if<is_output_streamable<T>,std::string>::type\n    to_string( T const & x )\n        {\n        std::ostringstream out;\n        out << x;\n        return out.str();\n        }\n\n    template <class T>\n    struct\n    has_to_string\n        {\n        enum e { value=to_string_detail::has_to_string_impl<T,is_output_streamable<T>::value>::value };\n        };\n\n    template <class T,class U>\n    inline\n    std::string\n    to_string( std::pair<T,U> const & x )\n        {\n        return std::string(\"(\") + to_string(x.first) + ',' + to_string(x.second) + ')';\n        }\n\n    inline\n    std::string\n    to_string( std::exception const & x )\n        {\n        return x.what();\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/exception/to_string_stub.hpp",
    "content": "//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.\n\n//Distributed under the Boost Software License, Version 1.0. (See accompanying\n//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n#ifndef BOOST_EXCEPTION_E788439ED9F011DCB181F25B55D89593\n#define BOOST_EXCEPTION_E788439ED9F011DCB181F25B55D89593\n\n#include <boost/exception/to_string.hpp>\n#include <boost/exception/detail/object_hex_dump.hpp>\n#include <boost/assert.hpp>\n\n#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS\n#if __GNUC__*100+__GNUC_MINOR__>301\n#pragma GCC system_header\n#endif\n#ifdef __clang__\n#pragma clang system_header\n#endif\n#ifdef _MSC_VER\n#pragma warning(push,1)\n#endif\n#endif\n\nnamespace\nboost\n    {\n    namespace\n    exception_detail\n        {\n        template <bool ToStringAvailable>\n        struct\n        to_string_dispatcher\n            {\n            template <class T,class Stub>\n            static\n            std::string\n            convert( T const & x, Stub )\n                {\n                return to_string(x);\n                }\n            };\n\n        template <>\n        struct\n        to_string_dispatcher<false>\n            {\n            template <class T,class Stub>\n            static\n            std::string\n            convert( T const & x, Stub s )\n                {\n                return s(x);\n                }\n\n            template <class T>\n            static\n            std::string\n            convert( T const & x, std::string s )\n                {\n                return s;\n                }\n\n            template <class T>\n            static\n            std::string\n            convert( T const & x, char const * s )\n                {\n                BOOST_ASSERT(s!=0);\n                return s;\n                }\n            };\n\n        namespace\n        to_string_dispatch\n            {\n            template <class T,class Stub>\n            inline\n            std::string\n            dispatch( T const & x, Stub s )\n                {\n                return to_string_dispatcher<has_to_string<T>::value>::convert(x,s);\n                }\n            }\n\n        template <class T>\n        inline\n        std::string\n        string_stub_dump( T const & x )\n            {\n            return \"[ \" + exception_detail::object_hex_dump(x) + \" ]\";\n            }\n        }\n\n    template <class T>\n    inline\n    std::string\n    to_string_stub( T const & x )\n        {\n        return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump<T>);\n        }\n\n    template <class T,class Stub>\n    inline\n    std::string\n    to_string_stub( T const & x, Stub s )\n        {\n        return exception_detail::to_string_dispatch::dispatch(x,s);\n        }\n\n    template <class T,class U,class Stub>\n    inline\n    std::string\n    to_string_stub( std::pair<T,U> const & x, Stub s )\n        {\n        return std::string(\"(\") + to_string_stub(x.first,s) + ',' + to_string_stub(x.second,s) + ')';\n        }\n    }\n\n#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)\n#pragma warning(pop)\n#endif\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/concepts.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         concepts.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression concepts.\n  */\n\n#ifndef BOOST_REGEX_CONCEPTS_HPP_INCLUDED\n#define BOOST_REGEX_CONCEPTS_HPP_INCLUDED\n\n#include <boost/concept_archetype.hpp>\n#include <boost/concept_check.hpp>\n#include <boost/type_traits/is_enum.hpp>\n#include <boost/type_traits/is_base_and_derived.hpp>\n#include <boost/static_assert.hpp>\n#ifndef BOOST_TEST_TR1_REGEX\n#include <boost/regex.hpp>\n#endif\n#include <bitset>\n#include <vector>\n#include <ostream>\n\n#ifdef BOOST_REGEX_CXX03\n#define RW_NS boost\n#else\n#define RW_NS std\n#endif\n\nnamespace boost{\n\n//\n// bitmask_archetype:\n// this can be either an integer type, an enum, or a std::bitset,\n// we use the latter as the architype as it offers the \"strictest\"\n// of the possible interfaces:\n//\ntypedef std::bitset<512> bitmask_archetype;\n//\n// char_architype:\n// A strict model for the character type interface.\n//\nstruct char_architype\n{\n   // default constructable:\n   char_architype();\n   // copy constructable / assignable:\n   char_architype(const char_architype&);\n   char_architype& operator=(const char_architype&);\n   // constructable from an integral value:\n   char_architype(unsigned long val);\n   // comparable:\n   bool operator==(const char_architype&)const;\n   bool operator!=(const char_architype&)const;\n   bool operator<(const char_architype&)const;\n   bool operator<=(const char_architype&)const;\n   bool operator>=(const char_architype&)const;\n   bool operator>(const char_architype&)const;\n   // conversion to integral type:\n   operator long()const;\n};\ninline long hash_value(char_architype val)\n{  return val;  }\n//\n// char_architype can not be used with basic_string:\n//\n} // namespace boost\nnamespace std{\n   template<> struct char_traits<boost::char_architype>\n   {\n      // The intent is that this template is not instantiated,\n      // but this typedef gives us a chance of compilation in\n      // case it is:\n      typedef boost::char_architype char_type;\n   };\n}\n//\n// Allocator architype:\n//\ntemplate <class T>\nclass allocator_architype\n{\npublic:\n   typedef T* pointer;\n   typedef const T* const_pointer;\n   typedef T& reference;\n   typedef const T& const_reference;\n   typedef T value_type;\n   typedef unsigned size_type;\n   typedef int difference_type;\n\n   template <class U>\n   struct rebind\n   {\n      typedef allocator_architype<U> other;\n   };\n\n   pointer address(reference r){ return &r; }\n   const_pointer address(const_reference r) { return &r; }\n   pointer allocate(size_type n) { return static_cast<pointer>(std::malloc(n)); }\n   pointer allocate(size_type n, pointer) { return static_cast<pointer>(std::malloc(n)); }\n   void deallocate(pointer p, size_type) { std::free(p); }\n   size_type max_size()const { return UINT_MAX; }\n\n   allocator_architype(){}\n   allocator_architype(const allocator_architype&){}\n\n   template <class Other>\n   allocator_architype(const allocator_architype<Other>&){}\n\n   void construct(pointer p, const_reference r) { new (p)T(r); }\n   void destroy(pointer p) { p->~T(); }\n};\n\ntemplate <class T>\nbool operator == (const allocator_architype<T>&, const allocator_architype<T>&) {return true; }\ntemplate <class T>\nbool operator != (const allocator_architype<T>&, const allocator_architype<T>&) { return false; }\n\nnamespace boost{\n//\n// regex_traits_architype:\n// A strict interpretation of the regular expression traits class requirements.\n//\ntemplate <class charT>\nstruct regex_traits_architype\n{\npublic:\n   regex_traits_architype(){}\n   typedef charT char_type;\n   // typedef std::size_t size_type;\n   typedef std::vector<char_type> string_type;\n   typedef copy_constructible_archetype<assignable_archetype<> > locale_type;\n   typedef bitmask_archetype char_class_type;\n\n   static std::size_t length(const char_type* ) { return 0; }\n\n   charT translate(charT ) const { return charT(); }\n   charT translate_nocase(charT ) const { return static_object<charT>::get(); }\n\n   template <class ForwardIterator>\n   string_type transform(ForwardIterator , ForwardIterator ) const\n   { return static_object<string_type>::get(); }\n   template <class ForwardIterator>\n   string_type transform_primary(ForwardIterator , ForwardIterator ) const\n   { return static_object<string_type>::get(); }\n\n   template <class ForwardIterator>\n   char_class_type lookup_classname(ForwardIterator , ForwardIterator ) const\n   { return static_object<char_class_type>::get(); }\n   template <class ForwardIterator>\n   string_type lookup_collatename(ForwardIterator , ForwardIterator ) const\n   { return static_object<string_type>::get(); }\n\n   bool isctype(charT, char_class_type) const\n   { return false; }\n   int value(charT, int) const\n   { return 0; }\n\n   locale_type imbue(locale_type l)\n   { return l; }\n   locale_type getloc()const\n   { return static_object<locale_type>::get(); }\n\nprivate:\n   // this type is not copyable:\n   regex_traits_architype(const regex_traits_architype&){}\n   regex_traits_architype& operator=(const regex_traits_architype&){ return *this; }\n};\n\n//\n// alter this to std::tr1, to test a std implementation:\n//\n#ifndef BOOST_TEST_TR1_REGEX\nnamespace global_regex_namespace = ::boost;\n#else\nnamespace global_regex_namespace = ::std::tr1;\n#endif\n\ntemplate <class Bitmask>\nstruct BitmaskConcept\n{\n   void constraints() \n   {\n      function_requires<CopyConstructibleConcept<Bitmask> >();\n      function_requires<AssignableConcept<Bitmask> >();\n\n      m_mask1 = m_mask2 | m_mask3;\n      m_mask1 = m_mask2 & m_mask3;\n      m_mask1 = m_mask2 ^ m_mask3;\n\n      m_mask1 = ~m_mask2;\n\n      m_mask1 |= m_mask2;\n      m_mask1 &= m_mask2;\n      m_mask1 ^= m_mask2;\n   }\n   Bitmask m_mask1, m_mask2, m_mask3;\n};\n\ntemplate <class traits>\nstruct RegexTraitsConcept\n{\n   RegexTraitsConcept();\n   // required typedefs:\n   typedef typename traits::char_type char_type;\n   // typedef typename traits::size_type size_type;\n   typedef typename traits::string_type string_type;\n   typedef typename traits::locale_type locale_type;\n   typedef typename traits::char_class_type char_class_type;\n\n   void constraints() \n   {\n      //function_requires<UnsignedIntegerConcept<size_type> >();\n      function_requires<RandomAccessContainerConcept<string_type> >();\n      function_requires<DefaultConstructibleConcept<locale_type> >();\n      function_requires<CopyConstructibleConcept<locale_type> >();\n      function_requires<AssignableConcept<locale_type> >();\n      function_requires<BitmaskConcept<char_class_type> >();\n\n      std::size_t n = traits::length(m_pointer);\n      ignore_unused_variable_warning(n);\n\n      char_type c = m_ctraits.translate(m_char);\n      ignore_unused_variable_warning(c);\n      c = m_ctraits.translate_nocase(m_char);\n      \n      //string_type::foobar bar;\n      string_type s1 = m_ctraits.transform(m_pointer, m_pointer);\n      ignore_unused_variable_warning(s1);\n\n      string_type s2 = m_ctraits.transform_primary(m_pointer, m_pointer);\n      ignore_unused_variable_warning(s2);\n\n      char_class_type cc = m_ctraits.lookup_classname(m_pointer, m_pointer);\n      ignore_unused_variable_warning(cc);\n\n      string_type s3 = m_ctraits.lookup_collatename(m_pointer, m_pointer);\n      ignore_unused_variable_warning(s3);\n\n      bool b = m_ctraits.isctype(m_char, cc);\n      ignore_unused_variable_warning(b);\n\n      int v = m_ctraits.value(m_char, 16);\n      ignore_unused_variable_warning(v);\n\n      locale_type l(m_ctraits.getloc());\n      m_traits.imbue(l);\n      ignore_unused_variable_warning(l);\n   }\n   traits m_traits;\n   const traits m_ctraits;\n   const char_type* m_pointer;\n   char_type m_char;\nprivate:\n   RegexTraitsConcept& operator=(RegexTraitsConcept&);\n};\n\n//\n// helper class to compute what traits class a regular expression type is using:\n//\ntemplate <class Regex>\nstruct regex_traits_computer;\n\ntemplate <class charT, class traits>\nstruct regex_traits_computer< global_regex_namespace::basic_regex<charT, traits> >\n{\n   typedef traits type;\n};\n\n//\n// BaseRegexConcept does not test anything dependent on basic_string,\n// in case our charT does not have an associated char_traits:\n//\ntemplate <class Regex>\nstruct BaseRegexConcept\n{\n   typedef typename Regex::value_type value_type;\n   //typedef typename Regex::size_type size_type;\n   typedef typename Regex::flag_type flag_type;\n   typedef typename Regex::locale_type locale_type;\n   typedef input_iterator_archetype<value_type> input_iterator_type;\n\n   // derived test types:\n   typedef const value_type* pointer_type;\n   typedef bidirectional_iterator_archetype<value_type> BidiIterator;\n   typedef global_regex_namespace::sub_match<BidiIterator> sub_match_type;\n   typedef global_regex_namespace::match_results<BidiIterator, allocator_architype<sub_match_type> > match_results_type;\n   typedef global_regex_namespace::match_results<BidiIterator> match_results_default_type;\n   typedef output_iterator_archetype<value_type> OutIterator;\n   typedef typename regex_traits_computer<Regex>::type traits_type;\n   typedef global_regex_namespace::regex_iterator<BidiIterator, value_type, traits_type> regex_iterator_type;\n   typedef global_regex_namespace::regex_token_iterator<BidiIterator, value_type, traits_type> regex_token_iterator_type;\n\n   void global_constraints()\n   {\n      //\n      // test non-template components:\n      //\n      function_requires<BitmaskConcept<global_regex_namespace::regex_constants::syntax_option_type> >();\n      global_regex_namespace::regex_constants::syntax_option_type opts\n         = global_regex_namespace::regex_constants::icase\n         | global_regex_namespace::regex_constants::nosubs\n         | global_regex_namespace::regex_constants::optimize\n         | global_regex_namespace::regex_constants::collate\n         | global_regex_namespace::regex_constants::ECMAScript\n         | global_regex_namespace::regex_constants::basic\n         | global_regex_namespace::regex_constants::extended\n         | global_regex_namespace::regex_constants::awk\n         | global_regex_namespace::regex_constants::grep\n         | global_regex_namespace::regex_constants::egrep;\n      ignore_unused_variable_warning(opts);\n\n      function_requires<BitmaskConcept<global_regex_namespace::regex_constants::match_flag_type> >();\n      global_regex_namespace::regex_constants::match_flag_type mopts\n         = global_regex_namespace::regex_constants::match_default\n         | global_regex_namespace::regex_constants::match_not_bol\n         | global_regex_namespace::regex_constants::match_not_eol\n         | global_regex_namespace::regex_constants::match_not_bow\n         | global_regex_namespace::regex_constants::match_not_eow\n         | global_regex_namespace::regex_constants::match_any\n         | global_regex_namespace::regex_constants::match_not_null\n         | global_regex_namespace::regex_constants::match_continuous\n         | global_regex_namespace::regex_constants::match_prev_avail\n         | global_regex_namespace::regex_constants::format_default\n         | global_regex_namespace::regex_constants::format_sed\n         | global_regex_namespace::regex_constants::format_no_copy\n         | global_regex_namespace::regex_constants::format_first_only;\n      ignore_unused_variable_warning(mopts);\n\n      BOOST_STATIC_ASSERT((::boost::is_enum<global_regex_namespace::regex_constants::error_type>::value));\n      global_regex_namespace::regex_constants::error_type e1 = global_regex_namespace::regex_constants::error_collate;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_ctype;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_escape;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_backref;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_brack;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_paren;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_brace;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_badbrace;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_range;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_space;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_badrepeat;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_complexity;\n      ignore_unused_variable_warning(e1);\n      e1 = global_regex_namespace::regex_constants::error_stack;\n      ignore_unused_variable_warning(e1);\n\n      BOOST_STATIC_ASSERT((::boost::is_base_and_derived<std::runtime_error, global_regex_namespace::regex_error>::value  ));\n      const global_regex_namespace::regex_error except(e1);\n      e1 = except.code();\n\n      typedef typename Regex::value_type regex_value_type;\n      function_requires< RegexTraitsConcept<global_regex_namespace::regex_traits<char> > >();\n      function_requires< BaseRegexConcept<global_regex_namespace::basic_regex<char> > >();\n   }\n   void constraints() \n   {\n      global_constraints();\n\n      BOOST_STATIC_ASSERT((::boost::is_same< flag_type, global_regex_namespace::regex_constants::syntax_option_type>::value));\n      flag_type opts\n         = Regex::icase\n         | Regex::nosubs\n         | Regex::optimize\n         | Regex::collate\n         | Regex::ECMAScript\n         | Regex::basic\n         | Regex::extended\n         | Regex::awk\n         | Regex::grep\n         | Regex::egrep;\n      ignore_unused_variable_warning(opts);\n\n      function_requires<DefaultConstructibleConcept<Regex> >();\n      function_requires<CopyConstructibleConcept<Regex> >();\n\n      // Regex constructors:\n      Regex e1(m_pointer);\n      ignore_unused_variable_warning(e1);\n      Regex e2(m_pointer, m_flags);\n      ignore_unused_variable_warning(e2);\n      Regex e3(m_pointer, m_size, m_flags);\n      ignore_unused_variable_warning(e3);\n      Regex e4(in1, in2);\n      ignore_unused_variable_warning(e4);\n      Regex e5(in1, in2, m_flags);\n      ignore_unused_variable_warning(e5);\n\n      // assign etc:\n      Regex e;\n      e = m_pointer;\n      e = e1;\n      e.assign(e1);\n      e.assign(m_pointer);\n      e.assign(m_pointer, m_flags);\n      e.assign(m_pointer, m_size, m_flags);\n      e.assign(in1, in2);\n      e.assign(in1, in2, m_flags);\n\n      // access:\n      const Regex ce;\n      typename Regex::size_type i = ce.mark_count();\n      ignore_unused_variable_warning(i);\n      m_flags = ce.flags();\n      e.imbue(ce.getloc());\n      e.swap(e1);\n      \n      global_regex_namespace::swap(e, e1);\n\n      // sub_match:\n      BOOST_STATIC_ASSERT((::boost::is_base_and_derived<std::pair<BidiIterator, BidiIterator>, sub_match_type>::value));\n      typedef typename sub_match_type::value_type sub_value_type;\n      typedef typename sub_match_type::difference_type sub_diff_type;\n      typedef typename sub_match_type::iterator sub_iter_type;\n      BOOST_STATIC_ASSERT((::boost::is_same<sub_value_type, value_type>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<sub_iter_type, BidiIterator>::value));\n      bool b = m_sub.matched;\n      ignore_unused_variable_warning(b);\n      BidiIterator bi = m_sub.first;\n      ignore_unused_variable_warning(bi);\n      bi = m_sub.second;\n      ignore_unused_variable_warning(bi);\n      sub_diff_type diff = m_sub.length();\n      ignore_unused_variable_warning(diff);\n      // match_results tests - some typedefs are not used, however these\n      // guarante that they exist (some compilers may warn on non-usage)\n      typedef typename match_results_type::value_type mr_value_type;\n      typedef typename match_results_type::const_reference mr_const_reference;\n      typedef typename match_results_type::reference mr_reference;\n      typedef typename match_results_type::const_iterator mr_const_iterator;\n      typedef typename match_results_type::iterator mr_iterator;\n      typedef typename match_results_type::difference_type mr_difference_type;\n      typedef typename match_results_type::size_type mr_size_type;\n      typedef typename match_results_type::allocator_type mr_allocator_type;\n      typedef typename match_results_type::char_type mr_char_type;\n      typedef typename match_results_type::string_type mr_string_type;\n\n      match_results_type m1;\n      mr_allocator_type at;\n      match_results_type m2(at);\n      match_results_type m3(m1);\n      m1 = m2;\n\n      int ival = 0;\n\n      mr_size_type mrs = m_cresults.size();\n      ignore_unused_variable_warning(mrs);\n      mrs = m_cresults.max_size();\n      ignore_unused_variable_warning(mrs);\n      b = m_cresults.empty();\n      ignore_unused_variable_warning(b);\n      mr_difference_type mrd = m_cresults.length();\n      ignore_unused_variable_warning(mrd);\n      mrd = m_cresults.length(ival);\n      ignore_unused_variable_warning(mrd);\n      mrd = m_cresults.position();\n      ignore_unused_variable_warning(mrd);\n      mrd = m_cresults.position(mrs);\n      ignore_unused_variable_warning(mrd);\n\n      mr_const_reference mrcr = m_cresults[ival];\n      ignore_unused_variable_warning(mrcr);\n      mr_const_reference mrcr2 = m_cresults.prefix();\n      ignore_unused_variable_warning(mrcr2);\n      mr_const_reference mrcr3 = m_cresults.suffix();\n      ignore_unused_variable_warning(mrcr3);\n      mr_const_iterator mrci = m_cresults.begin();\n      ignore_unused_variable_warning(mrci);\n      mrci = m_cresults.end();\n      ignore_unused_variable_warning(mrci);\n\n      (void) m_cresults.get_allocator();\n      m_results.swap(m_results);\n      global_regex_namespace::swap(m_results, m_results);\n\n      // regex_match:\n      b = global_regex_namespace::regex_match(m_in, m_in, m_results, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_in, m_in, m_results, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_in, m_in, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_in, m_in, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_pointer, m_pmatch, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_pointer, m_pmatch, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_pointer, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_pointer, e, m_mft);\n      ignore_unused_variable_warning(b);\n      // regex_search:\n      b = global_regex_namespace::regex_search(m_in, m_in, m_results, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_in, m_in, m_results, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_in, m_in, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_in, m_in, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_pointer, m_pmatch, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_pointer, m_pmatch, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_pointer, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_pointer, e, m_mft);\n      ignore_unused_variable_warning(b);\n\n      // regex_iterator:\n      typedef typename regex_iterator_type::regex_type rit_regex_type;\n      typedef typename regex_iterator_type::value_type rit_value_type;\n      typedef typename regex_iterator_type::difference_type rit_difference_type;\n      typedef typename regex_iterator_type::pointer rit_pointer;\n      typedef typename regex_iterator_type::reference rit_reference;\n      typedef typename regex_iterator_type::iterator_category rit_iterator_category;\n      BOOST_STATIC_ASSERT((::boost::is_same<rit_regex_type, Regex>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rit_value_type, match_results_default_type>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rit_difference_type, std::ptrdiff_t>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rit_pointer, const match_results_default_type*>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rit_reference, const match_results_default_type&>::value));\n      BOOST_STATIC_ASSERT((::boost::is_convertible<rit_iterator_category*, std::forward_iterator_tag*>::value));\n      // this takes care of most of the checks needed:\n      function_requires<ForwardIteratorConcept<regex_iterator_type> >();\n      regex_iterator_type iter1(m_in, m_in, e);\n      ignore_unused_variable_warning(iter1);\n      regex_iterator_type iter2(m_in, m_in, e, m_mft);\n      ignore_unused_variable_warning(iter2);\n\n      // regex_token_iterator:\n      typedef typename regex_token_iterator_type::regex_type rtit_regex_type;\n      typedef typename regex_token_iterator_type::value_type rtit_value_type;\n      typedef typename regex_token_iterator_type::difference_type rtit_difference_type;\n      typedef typename regex_token_iterator_type::pointer rtit_pointer;\n      typedef typename regex_token_iterator_type::reference rtit_reference;\n      typedef typename regex_token_iterator_type::iterator_category rtit_iterator_category;\n      BOOST_STATIC_ASSERT((::boost::is_same<rtit_regex_type, Regex>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rtit_value_type, sub_match_type>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rtit_difference_type, std::ptrdiff_t>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rtit_pointer, const sub_match_type*>::value));\n      BOOST_STATIC_ASSERT((::boost::is_same<rtit_reference, const sub_match_type&>::value));\n      BOOST_STATIC_ASSERT((::boost::is_convertible<rtit_iterator_category*, std::forward_iterator_tag*>::value));\n      // this takes care of most of the checks needed:\n      function_requires<ForwardIteratorConcept<regex_token_iterator_type> >();\n      regex_token_iterator_type ti1(m_in, m_in, e);\n      ignore_unused_variable_warning(ti1);\n      regex_token_iterator_type ti2(m_in, m_in, e, 0);\n      ignore_unused_variable_warning(ti2);\n      regex_token_iterator_type ti3(m_in, m_in, e, 0, m_mft);\n      ignore_unused_variable_warning(ti3);\n      std::vector<int> subs;\n      regex_token_iterator_type ti4(m_in, m_in, e, subs);\n      ignore_unused_variable_warning(ti4);\n      regex_token_iterator_type ti5(m_in, m_in, e, subs, m_mft);\n      ignore_unused_variable_warning(ti5);\n      static const int i_array[3] = { 1, 2, 3, };\n      regex_token_iterator_type ti6(m_in, m_in, e, i_array);\n      ignore_unused_variable_warning(ti6);\n      regex_token_iterator_type ti7(m_in, m_in, e, i_array, m_mft);\n      ignore_unused_variable_warning(ti7);\n   }\n\n   pointer_type m_pointer;\n   flag_type m_flags;\n   std::size_t m_size;\n   input_iterator_type in1, in2;\n   const sub_match_type m_sub;\n   const value_type m_char;\n   match_results_type m_results;\n   const match_results_type m_cresults;\n   OutIterator m_out;\n   BidiIterator m_in;\n   global_regex_namespace::regex_constants::match_flag_type m_mft;\n   global_regex_namespace::match_results<\n      pointer_type, \n      allocator_architype<global_regex_namespace::sub_match<pointer_type> > > \n      m_pmatch;\n\n   BaseRegexConcept();\n   BaseRegexConcept(const BaseRegexConcept&);\n   BaseRegexConcept& operator=(const BaseRegexConcept&);\n};\n\n//\n// RegexConcept:\n// Test every interface in the std:\n//\ntemplate <class Regex>\nstruct RegexConcept\n{\n   typedef typename Regex::value_type value_type;\n   //typedef typename Regex::size_type size_type;\n   typedef typename Regex::flag_type flag_type;\n   typedef typename Regex::locale_type locale_type;\n\n   // derived test types:\n   typedef const value_type* pointer_type;\n   typedef std::basic_string<value_type> string_type;\n   typedef boost::bidirectional_iterator_archetype<value_type> BidiIterator;\n   typedef global_regex_namespace::sub_match<BidiIterator> sub_match_type;\n   typedef global_regex_namespace::match_results<BidiIterator, allocator_architype<sub_match_type> > match_results_type;\n   typedef output_iterator_archetype<value_type> OutIterator;\n\n\n   void constraints() \n   {\n      function_requires<BaseRegexConcept<Regex> >();\n      // string based construct:\n      Regex e1(m_string);\n      ignore_unused_variable_warning(e1);\n      Regex e2(m_string, m_flags);\n      ignore_unused_variable_warning(e2);\n\n      // assign etc:\n      Regex e;\n      e = m_string;\n      e.assign(m_string);\n      e.assign(m_string, m_flags);\n\n      // sub_match:\n      string_type s(m_sub);\n      ignore_unused_variable_warning(s);\n      s = m_sub.str();\n      ignore_unused_variable_warning(s);\n      int i = m_sub.compare(m_string);\n      ignore_unused_variable_warning(i);\n\n      int i2 = m_sub.compare(m_sub);\n      ignore_unused_variable_warning(i2);\n      i2 = m_sub.compare(m_pointer);\n      ignore_unused_variable_warning(i2);\n\n      bool b = m_sub == m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_sub != m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_sub > m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_sub >= m_sub;\n      ignore_unused_variable_warning(b);\n\n      b = m_sub == m_pointer;\n      ignore_unused_variable_warning(b);\n      b = m_sub != m_pointer;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_pointer;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_pointer;\n      ignore_unused_variable_warning(b);\n      b = m_sub > m_pointer;\n      ignore_unused_variable_warning(b);\n      b = m_sub >= m_pointer;\n      ignore_unused_variable_warning(b);\n\n      b = m_pointer == m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_pointer != m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_pointer <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_pointer <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_pointer > m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_pointer >= m_sub;\n      ignore_unused_variable_warning(b);\n\n      b = m_sub == m_char;\n      ignore_unused_variable_warning(b);\n      b = m_sub != m_char;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_char;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_char;\n      ignore_unused_variable_warning(b);\n      b = m_sub > m_char;\n      ignore_unused_variable_warning(b);\n      b = m_sub >= m_char;\n      ignore_unused_variable_warning(b);\n\n      b = m_char == m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_char != m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_char <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_char <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_char > m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_char >= m_sub;\n      ignore_unused_variable_warning(b);\n\n      b = m_sub == m_string;\n      ignore_unused_variable_warning(b);\n      b = m_sub != m_string;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_string;\n      ignore_unused_variable_warning(b);\n      b = m_sub <= m_string;\n      ignore_unused_variable_warning(b);\n      b = m_sub > m_string;\n      ignore_unused_variable_warning(b);\n      b = m_sub >= m_string;\n      ignore_unused_variable_warning(b);\n\n      b = m_string == m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_string != m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_string <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_string <= m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_string > m_sub;\n      ignore_unused_variable_warning(b);\n      b = m_string >= m_sub;\n      ignore_unused_variable_warning(b);\n\n      // match results:\n      m_string = m_results.str();\n      ignore_unused_variable_warning(m_string);\n      m_string = m_results.str(0);\n      ignore_unused_variable_warning(m_string);\n      m_out = m_cresults.format(m_out, m_string);\n      m_out = m_cresults.format(m_out, m_string, m_mft);\n      m_string = m_cresults.format(m_string);\n      ignore_unused_variable_warning(m_string);\n      m_string = m_cresults.format(m_string, m_mft);\n      ignore_unused_variable_warning(m_string);\n\n      // regex_match:\n      b = global_regex_namespace::regex_match(m_string, m_smatch, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_string, m_smatch, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_string, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_match(m_string, e, m_mft);\n      ignore_unused_variable_warning(b);\n\n      // regex_search:\n      b = global_regex_namespace::regex_search(m_string, m_smatch, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_string, m_smatch, e, m_mft);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_string, e);\n      ignore_unused_variable_warning(b);\n      b = global_regex_namespace::regex_search(m_string, e, m_mft);\n      ignore_unused_variable_warning(b);\n\n      // regex_replace:\n      m_out = global_regex_namespace::regex_replace(m_out, m_in, m_in, e, m_string, m_mft);\n      m_out = global_regex_namespace::regex_replace(m_out, m_in, m_in, e, m_string);\n      m_string = global_regex_namespace::regex_replace(m_string, e, m_string, m_mft);\n      ignore_unused_variable_warning(m_string);\n      m_string = global_regex_namespace::regex_replace(m_string, e, m_string);\n      ignore_unused_variable_warning(m_string);\n\n   }\n\n   flag_type m_flags;\n   string_type m_string;\n   const sub_match_type m_sub;\n   match_results_type m_results;\n   pointer_type m_pointer;\n   value_type m_char;\n   const match_results_type m_cresults;\n   OutIterator m_out;\n   BidiIterator m_in;\n   global_regex_namespace::regex_constants::match_flag_type m_mft;\n   global_regex_namespace::match_results<typename string_type::const_iterator, allocator_architype<global_regex_namespace::sub_match<typename string_type::const_iterator> > > m_smatch;\n\n   RegexConcept();\n   RegexConcept(const RegexConcept&);\n   RegexConcept& operator=(const RegexConcept&);\n};\n\n#ifndef BOOST_REGEX_TEST_STD\n\ntemplate <class M>\nstruct functor1\n{\n   typedef typename M::char_type char_type;\n   const char_type* operator()(const M&)const\n   {\n      static const char_type c = static_cast<char_type>(0);\n      return &c;\n   }\n};\ntemplate <class M>\nstruct functor1b\n{\n   typedef typename M::char_type char_type;\n   std::vector<char_type> operator()(const M&)const\n   {\n      static const std::vector<char_type> c;\n      return c;\n   }\n};\ntemplate <class M>\nstruct functor2\n{\n   template <class O>\n   O operator()(const M& /*m*/, O i)const\n   {\n      return i;\n   }\n};\ntemplate <class M>\nstruct functor3\n{\n   template <class O>\n   O operator()(const M& /*m*/, O i, regex_constants::match_flag_type)const\n   {\n      return i;\n   }\n};\n\n//\n// BoostRegexConcept:\n// Test every interface in the Boost implementation:\n//\ntemplate <class Regex>\nstruct BoostRegexConcept\n{\n   typedef typename Regex::value_type value_type;\n   typedef typename Regex::size_type size_type;\n   typedef typename Regex::flag_type flag_type;\n   typedef typename Regex::locale_type locale_type;\n\n   // derived test types:\n   typedef const value_type* pointer_type;\n   typedef std::basic_string<value_type> string_type;\n   typedef typename Regex::const_iterator const_iterator;\n   typedef bidirectional_iterator_archetype<value_type> BidiIterator;\n   typedef output_iterator_archetype<value_type> OutputIterator;\n   typedef global_regex_namespace::sub_match<BidiIterator> sub_match_type;\n   typedef global_regex_namespace::match_results<BidiIterator, allocator_architype<sub_match_type> > match_results_type;\n   typedef global_regex_namespace::match_results<BidiIterator> match_results_default_type;\n\n   void constraints() \n   {\n      global_regex_namespace::regex_constants::match_flag_type mopts\n         = global_regex_namespace::regex_constants::match_default\n         | global_regex_namespace::regex_constants::match_not_bol\n         | global_regex_namespace::regex_constants::match_not_eol\n         | global_regex_namespace::regex_constants::match_not_bow\n         | global_regex_namespace::regex_constants::match_not_eow\n         | global_regex_namespace::regex_constants::match_any\n         | global_regex_namespace::regex_constants::match_not_null\n         | global_regex_namespace::regex_constants::match_continuous\n         | global_regex_namespace::regex_constants::match_partial\n         | global_regex_namespace::regex_constants::match_prev_avail\n         | global_regex_namespace::regex_constants::format_default\n         | global_regex_namespace::regex_constants::format_sed\n         | global_regex_namespace::regex_constants::format_perl\n         | global_regex_namespace::regex_constants::format_no_copy\n         | global_regex_namespace::regex_constants::format_first_only;\n\n      (void)mopts;\n\n      function_requires<RegexConcept<Regex> >();\n      const global_regex_namespace::regex_error except(global_regex_namespace::regex_constants::error_collate);\n      std::ptrdiff_t pt = except.position();\n      ignore_unused_variable_warning(pt);\n      const Regex ce, ce2;\n#ifndef BOOST_NO_STD_LOCALE\n      m_stream << ce;\n#endif\n      unsigned i = ce.error_code();\n      ignore_unused_variable_warning(i);\n      pointer_type p = ce.expression();\n      ignore_unused_variable_warning(p);\n      int i2 = ce.compare(ce2);\n      ignore_unused_variable_warning(i2);\n      bool b = ce == ce2;\n      ignore_unused_variable_warning(b);\n      b = ce.empty();\n      ignore_unused_variable_warning(b);\n      b = ce != ce2;\n      ignore_unused_variable_warning(b);\n      b = ce < ce2;\n      ignore_unused_variable_warning(b);\n      b = ce > ce2;\n      ignore_unused_variable_warning(b);\n      b = ce <= ce2;\n      ignore_unused_variable_warning(b);\n      b = ce >= ce2;\n      ignore_unused_variable_warning(b);\n      i = ce.status();\n      ignore_unused_variable_warning(i);\n      size_type s = ce.max_size();\n      ignore_unused_variable_warning(s);\n      s = ce.size();\n      ignore_unused_variable_warning(s);\n      const_iterator pi = ce.begin();\n      ignore_unused_variable_warning(pi);\n      pi = ce.end();\n      ignore_unused_variable_warning(pi);\n      string_type s2 = ce.str();\n      ignore_unused_variable_warning(s2);\n\n      m_string = m_sub + m_sub;\n      ignore_unused_variable_warning(m_string);\n      m_string = m_sub + m_pointer;\n      ignore_unused_variable_warning(m_string);\n      m_string = m_pointer + m_sub;\n      ignore_unused_variable_warning(m_string);\n      m_string = m_sub + m_string;\n      ignore_unused_variable_warning(m_string);\n      m_string = m_string + m_sub;\n      ignore_unused_variable_warning(m_string);\n      m_string = m_sub + m_char;\n      ignore_unused_variable_warning(m_string);\n      m_string = m_char + m_sub;\n      ignore_unused_variable_warning(m_string);\n\n      // Named sub-expressions:\n      m_sub = m_cresults[&m_char];\n      ignore_unused_variable_warning(m_sub);\n      m_sub = m_cresults[m_string];\n      ignore_unused_variable_warning(m_sub);\n      m_sub = m_cresults[\"\"];\n      ignore_unused_variable_warning(m_sub);\n      m_sub = m_cresults[std::string(\"\")];\n      ignore_unused_variable_warning(m_sub);\n      m_string = m_cresults.str(&m_char);\n      ignore_unused_variable_warning(m_string);\n      m_string = m_cresults.str(m_string);\n      ignore_unused_variable_warning(m_string);\n      m_string = m_cresults.str(\"\");\n      ignore_unused_variable_warning(m_string);\n      m_string = m_cresults.str(std::string(\"\"));\n      ignore_unused_variable_warning(m_string);\n\n      typename match_results_type::difference_type diff;\n      diff = m_cresults.length(&m_char);\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.length(m_string);\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.length(\"\");\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.length(std::string(\"\"));\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.position(&m_char);\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.position(m_string);\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.position(\"\");\n      ignore_unused_variable_warning(diff);\n      diff = m_cresults.position(std::string(\"\"));\n      ignore_unused_variable_warning(diff);\n\n#ifndef BOOST_NO_STD_LOCALE\n      m_stream << m_sub;\n      m_stream << m_cresults;\n#endif\n      //\n      // Extended formatting with a functor:\n      //\n      regex_constants::match_flag_type f = regex_constants::match_default;\n      OutputIterator out = static_object<OutputIterator>::get();\n      \n      functor3<match_results_default_type> func3;\n      functor2<match_results_default_type> func2;\n      functor1<match_results_default_type> func1;\n      \n      functor3<match_results_type> func3b;\n      functor2<match_results_type> func2b;\n      functor1<match_results_type> func1b;\n\n      out = regex_format(out, m_cresults, func3b, f);\n      out = regex_format(out, m_cresults, func3b);\n      out = regex_format(out, m_cresults, func2b, f);\n      out = regex_format(out, m_cresults, func2b);\n      out = regex_format(out, m_cresults, func1b, f);\n      out = regex_format(out, m_cresults, func1b);\n      out = regex_format(out, m_cresults, RW_NS::ref(func3b), f);\n      out = regex_format(out, m_cresults, RW_NS::ref(func3b));\n      out = regex_format(out, m_cresults, RW_NS::ref(func2b), f);\n      out = regex_format(out, m_cresults, RW_NS::ref(func2b));\n      out = regex_format(out, m_cresults, RW_NS::ref(func1b), f);\n      out = regex_format(out, m_cresults, RW_NS::ref(func1b));\n      out = regex_format(out, m_cresults, RW_NS::cref(func3b), f);\n      out = regex_format(out, m_cresults, RW_NS::cref(func3b));\n      out = regex_format(out, m_cresults, RW_NS::cref(func2b), f);\n      out = regex_format(out, m_cresults, RW_NS::cref(func2b));\n      out = regex_format(out, m_cresults, RW_NS::cref(func1b), f);\n      out = regex_format(out, m_cresults, RW_NS::cref(func1b));\n      m_string += regex_format(m_cresults, func3b, f);\n      m_string += regex_format(m_cresults, func3b);\n      m_string += regex_format(m_cresults, func2b, f);\n      m_string += regex_format(m_cresults, func2b);\n      m_string += regex_format(m_cresults, func1b, f);\n      m_string += regex_format(m_cresults, func1b);\n      m_string += regex_format(m_cresults, RW_NS::ref(func3b), f);\n      m_string += regex_format(m_cresults, RW_NS::ref(func3b));\n      m_string += regex_format(m_cresults, RW_NS::ref(func2b), f);\n      m_string += regex_format(m_cresults, RW_NS::ref(func2b));\n      m_string += regex_format(m_cresults, RW_NS::ref(func1b), f);\n      m_string += regex_format(m_cresults, RW_NS::ref(func1b));\n      m_string += regex_format(m_cresults, RW_NS::cref(func3b), f);\n      m_string += regex_format(m_cresults, RW_NS::cref(func3b));\n      m_string += regex_format(m_cresults, RW_NS::cref(func2b), f);\n      m_string += regex_format(m_cresults, RW_NS::cref(func2b));\n      m_string += regex_format(m_cresults, RW_NS::cref(func1b), f);\n      m_string += regex_format(m_cresults, RW_NS::cref(func1b));\n\n      out = m_cresults.format(out, func3b, f);\n      out = m_cresults.format(out, func3b);\n      out = m_cresults.format(out, func2b, f);\n      out = m_cresults.format(out, func2b);\n      out = m_cresults.format(out, func1b, f);\n      out = m_cresults.format(out, func1b);\n      out = m_cresults.format(out, RW_NS::ref(func3b), f);\n      out = m_cresults.format(out, RW_NS::ref(func3b));\n      out = m_cresults.format(out, RW_NS::ref(func2b), f);\n      out = m_cresults.format(out, RW_NS::ref(func2b));\n      out = m_cresults.format(out, RW_NS::ref(func1b), f);\n      out = m_cresults.format(out, RW_NS::ref(func1b));\n      out = m_cresults.format(out, RW_NS::cref(func3b), f);\n      out = m_cresults.format(out, RW_NS::cref(func3b));\n      out = m_cresults.format(out, RW_NS::cref(func2b), f);\n      out = m_cresults.format(out, RW_NS::cref(func2b));\n      out = m_cresults.format(out, RW_NS::cref(func1b), f);\n      out = m_cresults.format(out, RW_NS::cref(func1b));\n\n      m_string += m_cresults.format(func3b, f);\n      m_string += m_cresults.format(func3b);\n      m_string += m_cresults.format(func2b, f);\n      m_string += m_cresults.format(func2b);\n      m_string += m_cresults.format(func1b, f);\n      m_string += m_cresults.format(func1b);\n      m_string += m_cresults.format(RW_NS::ref(func3b), f);\n      m_string += m_cresults.format(RW_NS::ref(func3b));\n      m_string += m_cresults.format(RW_NS::ref(func2b), f);\n      m_string += m_cresults.format(RW_NS::ref(func2b));\n      m_string += m_cresults.format(RW_NS::ref(func1b), f);\n      m_string += m_cresults.format(RW_NS::ref(func1b));\n      m_string += m_cresults.format(RW_NS::cref(func3b), f);\n      m_string += m_cresults.format(RW_NS::cref(func3b));\n      m_string += m_cresults.format(RW_NS::cref(func2b), f);\n      m_string += m_cresults.format(RW_NS::cref(func2b));\n      m_string += m_cresults.format(RW_NS::cref(func1b), f);\n      m_string += m_cresults.format(RW_NS::cref(func1b));\n\n      out = regex_replace(out, m_in, m_in, ce, func3, f);\n      out = regex_replace(out, m_in, m_in, ce, func3);\n      out = regex_replace(out, m_in, m_in, ce, func2, f);\n      out = regex_replace(out, m_in, m_in, ce, func2);\n      out = regex_replace(out, m_in, m_in, ce, func1, f);\n      out = regex_replace(out, m_in, m_in, ce, func1);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func3), f);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func3));\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func2), f);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func2));\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func1), f);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func1));\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func3), f);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func3));\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func2), f);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func2));\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func1), f);\n      out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func1));\n\n      functor3<match_results<typename string_type::const_iterator> > func3s;\n      functor2<match_results<typename string_type::const_iterator> > func2s;\n      functor1<match_results<typename string_type::const_iterator> > func1s;\n      m_string += regex_replace(m_string, ce, func3s, f);\n      m_string += regex_replace(m_string, ce, func3s);\n      m_string += regex_replace(m_string, ce, func2s, f);\n      m_string += regex_replace(m_string, ce, func2s);\n      m_string += regex_replace(m_string, ce, func1s, f);\n      m_string += regex_replace(m_string, ce, func1s);\n      m_string += regex_replace(m_string, ce, RW_NS::ref(func3s), f);\n      m_string += regex_replace(m_string, ce, RW_NS::ref(func3s));\n      m_string += regex_replace(m_string, ce, RW_NS::ref(func2s), f);\n      m_string += regex_replace(m_string, ce, RW_NS::ref(func2s));\n      m_string += regex_replace(m_string, ce, RW_NS::ref(func1s), f);\n      m_string += regex_replace(m_string, ce, RW_NS::ref(func1s));\n      m_string += regex_replace(m_string, ce, RW_NS::cref(func3s), f);\n      m_string += regex_replace(m_string, ce, RW_NS::cref(func3s));\n      m_string += regex_replace(m_string, ce, RW_NS::cref(func2s), f);\n      m_string += regex_replace(m_string, ce, RW_NS::cref(func2s));\n      m_string += regex_replace(m_string, ce, RW_NS::cref(func1s), f);\n      m_string += regex_replace(m_string, ce, RW_NS::cref(func1s));\n   }\n\n   std::basic_ostream<value_type> m_stream;\n   sub_match_type m_sub;\n   pointer_type m_pointer;\n   string_type m_string;\n   const value_type m_char;\n   match_results_type m_results;\n   const match_results_type m_cresults;\n   BidiIterator m_in;\n\n   BoostRegexConcept();\n   BoostRegexConcept(const BoostRegexConcept&);\n   BoostRegexConcept& operator=(const BoostRegexConcept&);\n};\n\n#endif // BOOST_REGEX_TEST_STD\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/config/borland.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         boost/regex/config/borland.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: regex borland-specific config setup.\n  */\n\n\n#if defined(__BORLANDC__) && !defined(__clang__)\n#  if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)\n      // problems with std::basic_string and dll RTL:\n#     if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE)\n#        ifdef BOOST_REGEX_BUILD_DLL\n#           error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL\n#        else\n#           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!!\")\n#        endif\n#     endif\n#     ifndef _RTLDLL\n         // this is harmless for a staic link:\n#        define _RWSTD_COMPILE_INSTANTIATE\n#     endif\n      // external templates cause problems for some reason:\n#     define BOOST_REGEX_NO_EXTERNAL_TEMPLATES\n#  endif\n#  if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL)\n      // C++ Builder 4 and earlier, we can't tell whether we should be using\n      // the VCL runtime or not, do a static link instead:\n#     define BOOST_REGEX_STATIC_LINK\n#  endif\n   //\n   // VCL support:\n   // if we're building a console app then there can't be any VCL (can there?)\n#  if !defined(__CONSOLE__) && !defined(_NO_VCL)\n#     define BOOST_REGEX_USE_VCL\n#  endif\n   //\n   // if this isn't Win32 then don't automatically select link\n   // libraries:\n   //\n#  ifndef _Windows\n#     ifndef BOOST_REGEX_NO_LIB\n#        define BOOST_REGEX_NO_LIB\n#     endif\n#     ifndef BOOST_REGEX_STATIC_LINK\n#        define BOOST_REGEX_STATIC_LINK\n#     endif\n#  endif\n\n#if __BORLANDC__ < 0x600\n//\n// string workarounds:\n//\n#include <cstring>\n#undef strcmp\n#undef strcpy\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/config/cwchar.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         boost/regex/config/cwchar.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: regex wide character string fixes.\n  */\n\n#ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP\n#define BOOST_REGEX_CONFIG_CWCHAR_HPP\n\n#include <cwchar>\n#include <cwctype>\n#include <boost/config.hpp>\n\n#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)\n// apparently this is required for the RW STL on Linux:\n#undef iswalnum\n#undef iswalpha\n#undef iswblank\n#undef iswcntrl\n#undef iswdigit\n#undef iswgraph\n#undef iswlower\n#undef iswprint\n#undef iswprint\n#undef iswpunct\n#undef iswspace\n#undef iswupper\n#undef iswxdigit\n#undef iswctype\n#undef towlower\n#undef towupper\n#undef towctrans\n#undef wctrans\n#undef wctype\n#endif\n\nnamespace std{\n\n#ifndef BOOST_NO_STDC_NAMESPACE\nextern \"C\"{\n#endif\n\n#ifdef iswalnum\ninline int (iswalnum)(wint_t i)\n{ return iswalnum(i); }\n#undef iswalnum\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswalnum;\n#endif\n\n#ifdef iswalpha\ninline int (iswalpha)(wint_t i)\n{ return iswalpha(i); }\n#undef iswalpha\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswalpha;\n#endif\n\n#ifdef iswcntrl\ninline int (iswcntrl)(wint_t i)\n{ return iswcntrl(i); }\n#undef iswcntrl\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswcntrl;\n#endif\n\n#ifdef iswdigit\ninline int (iswdigit)(wint_t i)\n{ return iswdigit(i); }\n#undef iswdigit\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswdigit;\n#endif\n\n#ifdef iswgraph\ninline int (iswgraph)(wint_t i)\n{ return iswgraph(i); }\n#undef iswgraph\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswgraph;\n#endif\n\n#ifdef iswlower\ninline int (iswlower)(wint_t i)\n{ return iswlower(i); }\n#undef iswlower\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswlower;\n#endif\n\n#ifdef iswprint\ninline int (iswprint)(wint_t i)\n{ return iswprint(i); }\n#undef iswprint\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswprint;\n#endif\n\n#ifdef iswpunct\ninline int (iswpunct)(wint_t i)\n{ return iswpunct(i); }\n#undef iswpunct\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswpunct;\n#endif\n\n#ifdef iswspace\ninline int (iswspace)(wint_t i)\n{ return iswspace(i); }\n#undef iswspace\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswspace;\n#endif\n\n#ifdef iswupper\ninline int (iswupper)(wint_t i)\n{ return iswupper(i); }\n#undef iswupper\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswupper;\n#endif\n\n#ifdef iswxdigit\ninline int (iswxdigit)(wint_t i)\n{ return iswxdigit(i); }\n#undef iswxdigit\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::iswxdigit;\n#endif\n\n#ifdef towlower\ninline wint_t (towlower)(wint_t i)\n{ return towlower(i); }\n#undef towlower\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::towlower;\n#endif\n\n#ifdef towupper\ninline wint_t (towupper)(wint_t i)\n{ return towupper(i); }\n#undef towupper\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing :: towupper;\n#endif\n\n#ifdef wcscmp\ninline int (wcscmp)(const wchar_t *p1, const wchar_t *p2)\n{ return wcscmp(p1,p2); }\n#undef wcscmp\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::wcscmp;\n#endif\n\n#ifdef wcscoll\ninline int (wcscoll)(const wchar_t *p1, const wchar_t *p2)\n{ return wcscoll(p1,p2); }\n#undef wcscoll\n#elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE)\nusing ::wcscoll;\n#endif\n\n#ifdef wcscpy\ninline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2)\n{ return wcscpy(p1,p2); }\n#undef wcscpy\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::wcscpy;\n#endif\n\n#ifdef wcslen\ninline size_t (wcslen)(const wchar_t *p)\n{ return wcslen(p); }\n#undef wcslen\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::wcslen;\n#endif\n\n#ifdef wcsxfrm\nsize_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s)\n{ return wcsxfrm(p1,p2,s); }\n#undef wcsxfrm\n#elif defined(BOOST_NO_STDC_NAMESPACE)\nusing ::wcsxfrm;\n#endif\n\n\n#ifndef BOOST_NO_STDC_NAMESPACE\n} // extern \"C\"\n#endif\n\n} // namespace std\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/config.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the\n * Boost Software License, Version 1.0. (See accompanying file\n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         config.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: regex extended config setup.\n  */\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#define BOOST_REGEX_CONFIG_HPP\n\n#if !((__cplusplus >= 201103L) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(BOOST_REGEX_CXX03))\n#  define BOOST_REGEX_CXX03\n#endif\n\n#if defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_CXX03)\n#  define BOOST_REGEX_CXX03\n#endif\n\n#if defined(__has_include)\n#if !defined(BOOST_REGEX_STANDALONE) && !__has_include(<boost/version.hpp>)\n#define BOOST_REGEX_STANDALONE\n#endif\n#endif\n\n/*\n * Borland C++ Fix/error check\n * this has to go *before* we include any std lib headers:\n */\n#if defined(__BORLANDC__) && !defined(__clang__)\n#  include <boost/regex/config/borland.hpp>\n#endif\n#ifndef BOOST_REGEX_STANDALONE\n#include <boost/version.hpp>\n#endif\n\n/*************************************************************************\n*\n* Asserts:\n*\n*************************************************************************/\n\n#ifdef BOOST_REGEX_STANDALONE\n#include <cassert>\n#  define BOOST_REGEX_ASSERT(x) assert(x)\n#else\n#include <boost/assert.hpp>\n#  define BOOST_REGEX_ASSERT(x) BOOST_ASSERT(x)\n#endif\n\n/*****************************************************************************\n *\n *  Include all the headers we need here:\n *\n ****************************************************************************/\n\n#ifdef __cplusplus\n\n#  ifndef BOOST_REGEX_USER_CONFIG\n#     define BOOST_REGEX_USER_CONFIG <boost/regex/user.hpp>\n#  endif\n\n#  include BOOST_REGEX_USER_CONFIG\n\n#ifndef BOOST_REGEX_STANDALONE\n#  include <boost/config.hpp>\n#  include <boost/predef.h>\n#endif\n\n#else\n   /*\n    * C build,\n    * don't include <boost/config.hpp> because that may\n    * do C++ specific things in future...\n    */\n#  include <stdlib.h>\n#  include <stddef.h>\n#  ifdef _MSC_VER\n#     define BOOST_MSVC _MSC_VER\n#  endif\n#endif\n\n\n/****************************************************************************\n*\n* Legacy support:\n*\n*******************************************************************************/\n\n#if defined(BOOST_NO_STD_LOCALE) || defined(BOOST_NO_CXX11_HDR_MUTEX) || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) \\\n   || defined(BOOST_NO_CXX11_HDR_ATOMIC) || defined(BOOST_NO_CXX11_ALLOCATOR) || defined(BOOST_NO_CXX11_SMART_PTR) \\\n   || defined(BOOST_NO_CXX11_STATIC_ASSERT) || defined(BOOST_NO_NOEXCEPT)\n#ifndef BOOST_REGEX_CXX03\n#  define BOOST_REGEX_CXX03\n#endif\n#endif\n\n/*****************************************************************************\n *\n *  Boilerplate regex config options:\n *\n ****************************************************************************/\n\n/* Obsolete macro, use BOOST_VERSION instead: */\n#define BOOST_RE_VERSION 500\n\n/* fix: */\n#if defined(_UNICODE) && !defined(UNICODE)\n#define UNICODE\n#endif\n\n#define BOOST_REGEX_JOIN(X, Y) BOOST_REGEX_DO_JOIN(X, Y)\n#define BOOST_REGEX_DO_JOIN(X, Y) BOOST_REGEX_DO_JOIN2(X,Y)\n#define BOOST_REGEX_DO_JOIN2(X, Y) X##Y\n\n#ifdef BOOST_FALLTHROUGH\n#  define BOOST_REGEX_FALLTHROUGH BOOST_FALLTHROUGH\n#else\n\n#if defined(__clang__) && (__cplusplus >= 201103L) && defined(__has_warning)\n#  if __has_feature(cxx_attributes) && __has_warning(\"-Wimplicit-fallthrough\")\n#    define BOOST_REGEX_FALLTHROUGH [[clang::fallthrough]]\n#  endif\n#endif\n#if !defined(BOOST_REGEX_FALLTHROUGH) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703)\n#  define BOOST_REGEX_FALLTHROUGH [[fallthrough]]\n#endif\n#if !defined(BOOST_REGEX_FALLTHROUGH) && defined(__GNUC__) && (__GNUC__ >= 7)\n#  define BOOST_REGEX_FALLTHROUGH __attribute__((fallthrough))\n#endif\n\n#if !defined(BOOST_REGEX_FALLTHROUGH)\n#  define BOOST_REGEX_FALLTHROUGH\n#endif\n#endif\n\n#ifdef BOOST_NORETURN\n#  define BOOST_REGEX_NORETURN BOOST_NORETURN\n#else\n#  define BOOST_REGEX_NORETURN\n#endif\n\n\n/*\n* Define a macro for the namespace that details are placed in, this includes the Boost\n* version number to avoid mismatched header and library versions:\n*/\n#define BOOST_REGEX_DETAIL_NS BOOST_REGEX_JOIN(re_detail_, BOOST_RE_VERSION)\n\n/*\n * Fix for gcc prior to 3.4: std::ctype<wchar_t> doesn't allow\n * masks to be combined, for example:\n * std::use_facet<std::ctype<wchar_t> >.is(std::ctype_base::lower|std::ctype_base::upper, L'a');\n * returns *false*.\n */\n#if defined(__GLIBCPP__) && defined(BOOST_REGEX_CXX03)\n#  define BOOST_REGEX_BUGGY_CTYPE_FACET\n#endif\n\n/*\n * If there isn't good enough wide character support then there will\n * be no wide character regular expressions:\n */\n#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING))\n#  if !defined(BOOST_NO_WREGEX)\n#     define BOOST_NO_WREGEX\n#  endif\n#else\n#  if defined(__sgi) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\n      /* STLPort on IRIX is misconfigured: <cwctype> does not compile\n       * as a temporary fix include <wctype.h> instead and prevent inclusion\n       * of STLPort version of <cwctype> */\n#     include <wctype.h>\n#     define __STLPORT_CWCTYPE\n#     define _STLP_CWCTYPE\n#  endif\n\n#if defined(__cplusplus) && defined(BOOST_REGEX_CXX03)\n#  include <boost/regex/config/cwchar.hpp>\n#endif\n\n#endif\n\n/*\n * If Win32 support has been disabled for boost in general, then\n * it is for regex in particular:\n */\n#if defined(BOOST_DISABLE_WIN32) && !defined(BOOST_REGEX_NO_W32)\n#  define BOOST_REGEX_NO_W32\n#endif\n\n/* disable our own file-iterators and mapfiles if we can't\n * support them: */\n#if defined(_WIN32)\n#  if defined(BOOST_REGEX_NO_W32) || BOOST_PLAT_WINDOWS_RUNTIME\n#    define BOOST_REGEX_NO_FILEITER\n#  endif\n#else /* defined(_WIN32) */\n#  if !defined(BOOST_HAS_DIRENT_H)\n#    define BOOST_REGEX_NO_FILEITER\n#  endif\n#endif\n\n/* backwards compatibitity: */\n#if defined(BOOST_RE_NO_LIB)\n#  define BOOST_REGEX_NO_LIB\n#endif\n\n#if defined(__GNUC__) && !defined(_MSC_VER) && (defined(_WIN32) || defined(__CYGWIN__))\n/* gcc on win32 has problems if you include <windows.h>\n   (sporadically generates bad code). */\n#  define BOOST_REGEX_NO_W32\n#endif\n#if defined(__COMO__) && !defined(BOOST_REGEX_NO_W32) && !defined(_MSC_EXTENSIONS)\n#  define BOOST_REGEX_NO_W32\n#endif\n\n#ifdef BOOST_REGEX_STANDALONE\n#  if defined(_MSC_VER) && !defined(__clang__) && !defined(__GNUC__)\n#     define BOOST_REGEX_MSVC _MSC_VER\n#endif\n#elif defined(BOOST_MSVC)\n#  define BOOST_REGEX_MSVC BOOST_MSVC\n#endif\n\n\n/*****************************************************************************\n *\n *  Set up dll import/export options:\n *\n ****************************************************************************/\n\n#if (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK) && defined(BOOST_SYMBOL_IMPORT)\n#  if defined(BOOST_REGEX_SOURCE)\n#     define BOOST_REGEX_BUILD_DLL\n#     define BOOST_REGEX_DECL BOOST_SYMBOL_EXPORT\n#  else\n#     define BOOST_REGEX_DECL BOOST_SYMBOL_IMPORT\n#  endif\n#else\n#  define BOOST_REGEX_DECL\n#endif\n\n#ifdef BOOST_REGEX_CXX03\n#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)\n#  define BOOST_LIB_NAME boost_regex\n#  if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)\n#     define BOOST_DYN_LINK\n#  endif\n#  ifdef BOOST_REGEX_DIAG\n#     define BOOST_LIB_DIAGNOSTIC\n#  endif\n#  include <boost/config/auto_link.hpp>\n#endif\n#endif\n\n/*****************************************************************************\n *\n *  Set up function call type:\n *\n ****************************************************************************/\n\n#if defined(_MSC_VER) && defined(_MSC_EXTENSIONS)\n#if defined(_DEBUG) || defined(__MSVC_RUNTIME_CHECKS) || defined(_MANAGED) || defined(BOOST_REGEX_NO_FASTCALL)\n#  define BOOST_REGEX_CALL __cdecl\n#else\n#  define BOOST_REGEX_CALL __fastcall\n#endif\n#  define BOOST_REGEX_CCALL __cdecl\n#endif\n\n#if defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)\n#if defined(__clang__)\n#  define BOOST_REGEX_CALL __cdecl\n#  define BOOST_REGEX_CCALL __cdecl\n#else\n#  define BOOST_REGEX_CALL __fastcall\n#  define BOOST_REGEX_CCALL __stdcall\n#endif\n#endif\n\n#ifndef BOOST_REGEX_CALL\n#  define BOOST_REGEX_CALL\n#endif\n#ifndef BOOST_REGEX_CCALL\n#define BOOST_REGEX_CCALL\n#endif\n\n/*****************************************************************************\n *\n *  Set up localisation model:\n *\n ****************************************************************************/\n\n/* backwards compatibility: */\n#ifdef BOOST_RE_LOCALE_C\n#  define BOOST_REGEX_USE_C_LOCALE\n#endif\n\n#ifdef BOOST_RE_LOCALE_CPP\n#  define BOOST_REGEX_USE_CPP_LOCALE\n#endif\n\n#if defined(__CYGWIN__)\n#  define BOOST_REGEX_USE_C_LOCALE\n#endif\n\n/* use C++ locale when targeting windows store */\n#if BOOST_PLAT_WINDOWS_RUNTIME\n#  define BOOST_REGEX_USE_CPP_LOCALE\n#  define BOOST_REGEX_NO_WIN32_LOCALE\n#endif\n\n/* Win32 defaults to native Win32 locale: */\n#if defined(_WIN32) && \\\n    !defined(BOOST_REGEX_USE_WIN32_LOCALE) && \\\n    !defined(BOOST_REGEX_USE_C_LOCALE) && \\\n    !defined(BOOST_REGEX_USE_CPP_LOCALE) && \\\n    !defined(BOOST_REGEX_NO_W32) && \\\n    !defined(BOOST_REGEX_NO_WIN32_LOCALE)\n#  define BOOST_REGEX_USE_WIN32_LOCALE\n#endif\n/* otherwise use C++ locale if supported: */\n#if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) && !defined(BOOST_NO_STD_LOCALE)\n#  define BOOST_REGEX_USE_CPP_LOCALE\n#endif\n/* otherwise use C locale: */\n#if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE)\n#  define BOOST_REGEX_USE_C_LOCALE\n#endif\n\n#ifndef BOOST_REGEX_MAX_STATE_COUNT\n#  define BOOST_REGEX_MAX_STATE_COUNT 100000000\n#endif\n\n\n/*****************************************************************************\n *\n *  Error Handling for exception free compilers:\n *\n ****************************************************************************/\n\n#ifdef BOOST_NO_EXCEPTIONS\n/*\n * If there are no exceptions then we must report critical-errors\n * the only way we know how; by terminating.\n */\n#include <stdexcept>\n#include <string>\n#include <boost/throw_exception.hpp>\n\n#  define BOOST_REGEX_NOEH_ASSERT(x)\\\nif(0 == (x))\\\n{\\\n   std::string s(\"Error: critical regex++ failure in: \");\\\n   s.append(#x);\\\n   std::runtime_error e(s);\\\n   boost::throw_exception(e);\\\n}\n#else\n/*\n * With exceptions then error handling is taken care of and\n * there is no need for these checks:\n */\n#  define BOOST_REGEX_NOEH_ASSERT(x)\n#endif\n\n\n/*****************************************************************************\n *\n *  Stack protection under MS Windows:\n *\n ****************************************************************************/\n\n#if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3)\n#  if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) \\\n        && !(defined(__GNUC__) || defined(__BORLANDC__) && defined(__clang__)) \\\n        && !(defined(__BORLANDC__) && (__BORLANDC__ >= 0x600)) \\\n        && !(defined(__MWERKS__) && (__MWERKS__ <= 0x3003))\n#     define BOOST_REGEX_HAS_MS_STACK_GUARD\n#  endif\n#elif defined(BOOST_REGEX_HAS_MS_STACK_GUARD)\n#  undef BOOST_REGEX_HAS_MS_STACK_GUARD\n#endif\n\n#if defined(__cplusplus) && defined(BOOST_REGEX_HAS_MS_STACK_GUARD)\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\nBOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page();\n\n}\n}\n\n#endif\n\n\n/*****************************************************************************\n *\n *  Algorithm selection and configuration.\n *  These options are now obsolete for C++11 and later (regex v5).\n *\n ****************************************************************************/\n\n#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE)\n#  if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && !defined(_STLP_DEBUG) && !defined(__STL_DEBUG) && !(defined(_MSC_VER) && (_MSC_VER >= 1400)) && defined(BOOST_REGEX_CXX03)\n#     define BOOST_REGEX_RECURSIVE\n#  else\n#     define BOOST_REGEX_NON_RECURSIVE\n#  endif\n#endif\n\n#ifdef BOOST_REGEX_NON_RECURSIVE\n#  ifdef BOOST_REGEX_RECURSIVE\n#     error \"Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE\"\n#  endif\n#  ifndef BOOST_REGEX_BLOCKSIZE\n#     define BOOST_REGEX_BLOCKSIZE 4096\n#  endif\n#  if BOOST_REGEX_BLOCKSIZE < 512\n#     error \"BOOST_REGEX_BLOCKSIZE must be at least 512\"\n#  endif\n#  ifndef BOOST_REGEX_MAX_BLOCKS\n#     define BOOST_REGEX_MAX_BLOCKS 1024\n#  endif\n#  ifdef BOOST_REGEX_HAS_MS_STACK_GUARD\n#     undef BOOST_REGEX_HAS_MS_STACK_GUARD\n#  endif\n#  ifndef BOOST_REGEX_MAX_CACHE_BLOCKS\n#     define BOOST_REGEX_MAX_CACHE_BLOCKS 16\n#  endif\n#endif\n\n\n/*****************************************************************************\n *\n *  Diagnostics:\n *\n ****************************************************************************/\n\n#ifdef BOOST_REGEX_CONFIG_INFO\nBOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info();\n#endif\n\n#if defined(BOOST_REGEX_DIAG)\n#  pragma message (\"BOOST_REGEX_DECL\" BOOST_STRINGIZE(=BOOST_REGEX_DECL))\n#  pragma message (\"BOOST_REGEX_CALL\" BOOST_STRINGIZE(=BOOST_REGEX_CALL))\n#  pragma message (\"BOOST_REGEX_CCALL\" BOOST_STRINGIZE(=BOOST_REGEX_CCALL))\n#ifdef BOOST_REGEX_USE_C_LOCALE\n#  pragma message (\"Using C locale in regex traits class\")\n#elif BOOST_REGEX_USE_CPP_LOCALE\n#  pragma message (\"Using C++ locale in regex traits class\")\n#else\n#  pragma message (\"Using Win32 locale in regex traits class\")\n#endif\n#if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)\n#  pragma message (\"Dynamic linking enabled\")\n#endif\n#if defined(BOOST_REGEX_NO_LIB) || defined(BOOST_ALL_NO_LIB)\n#  pragma message (\"Auto-linking disabled\")\n#endif\n#ifdef BOOST_REGEX_NO_EXTERNAL_TEMPLATES\n#  pragma message (\"Extern templates disabled\")\n#endif\n\n#endif\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/icu.hpp",
    "content": "/*\n *\n * Copyright (c) 2020\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         icu.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Unicode regular expressions on top of the ICU Library.\n  */\n\n#ifndef BOOST_REGEX_ICU_HPP\n#define BOOST_REGEX_ICU_HPP\n\n#include <boost/regex/config.hpp>\n\n#ifdef BOOST_REGEX_CXX03\n#include <boost/regex/v4/icu.hpp>\n#else\n#include <boost/regex/v5/icu.hpp>\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/mfc.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         mfc.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Overloads and helpers for using MFC/ATL string types with Boost.Regex.\n  */\n\n#ifndef BOOST_REGEX_MFC_HPP\n#define BOOST_REGEX_MFC_HPP\n\n#include <atlsimpstr.h>\n#include <boost/regex.hpp>\n\nnamespace boost{\n\n//\n// define the types used for TCHAR's:\ntypedef basic_regex<TCHAR> tregex;\ntypedef match_results<TCHAR const*> tmatch;\ntypedef regex_iterator<TCHAR const*> tregex_iterator;\ntypedef regex_token_iterator<TCHAR const*> tregex_token_iterator;\n\n// Obsolete. Remove\n#define SIMPLE_STRING_PARAM class B, bool b\n#define SIMPLE_STRING_ARG_LIST B, b\n\n//\n// define regex creation functions:\n//\ntemplate <class B, bool b>\ninline basic_regex<B> \nmake_regex(const ATL::CSimpleStringT<B, b>& s, ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal)\n{\n   basic_regex<B> result(s.GetString(), s.GetString() + s.GetLength(), f);\n   return result;\n}\n//\n// regex_match overloads:\n//\ntemplate <class B, bool b, class A, class T>\ninline bool regex_match(const ATL::CSimpleStringT<B, b>& s,\n                 match_results<const B*, A>& what,\n                 const basic_regex<B, T>& e,\n                 boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   return ::boost::regex_match(s.GetString(),\n                               s.GetString() + s.GetLength(),\n                               what,\n                               e,\n                               f);\n}\n\ntemplate <class B, bool b, class T>\ninline bool regex_match(const ATL::CSimpleStringT<B, b>& s,\n                 const basic_regex<B, T>& e,\n                 boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   return ::boost::regex_match(s.GetString(),\n                               s.GetString() + s.GetLength(),\n                               e,\n                               f);\n}\n//\n// regex_search overloads:\n//\ntemplate <class B, bool b, class A, class T>\ninline bool regex_search(const ATL::CSimpleStringT<B, b>& s,\n                 match_results<const B*, A>& what,\n                 const basic_regex<B, T>& e,\n                 boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   return ::boost::regex_search(s.GetString(),\n                               s.GetString() + s.GetLength(),\n                               what,\n                               e,\n                               f);\n}\n\ntemplate <class B, bool b, class T>\ninline bool regex_search(const ATL::CSimpleStringT<B, b>& s,\n                 const basic_regex<B, T>& e,\n                 boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   return ::boost::regex_search(s.GetString(),\n                               s.GetString() + s.GetLength(),\n                               e,\n                               f);\n}\n//\n// regex_iterator creation:\n//\ntemplate <class B, bool b>\ninline regex_iterator<B const*> \nmake_regex_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   regex_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, f);\n   return result;\n}\n\ntemplate <class B, bool b>\ninline regex_token_iterator<B const*> \n   make_regex_token_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, int sub = 0, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   regex_token_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, sub, f);\n   return result;\n}\n\ntemplate <class B, bool b>\ninline regex_token_iterator<B const*> \nmake_regex_token_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, const std::vector<int>& subs, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   regex_token_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, subs, f);\n   return result;\n}\n\ntemplate <class B, bool b, std::size_t N>\ninline regex_token_iterator<B const*> \nmake_regex_token_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, const int (& subs)[N], ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)\n{\n   regex_token_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, subs, f);\n   return result;\n}\n\ntemplate <class OutputIterator, class BidirectionalIterator, class traits,\n          class B, bool b>\nOutputIterator regex_replace(OutputIterator out,\n                           BidirectionalIterator first,\n                           BidirectionalIterator last,\n                           const basic_regex<B, traits>& e,\n                           const ATL::CSimpleStringT<B, b>& fmt,\n                           match_flag_type flags = match_default)\n{\n   return ::boost::regex_replace(out, first, last, e, fmt.GetString(), flags);\n}\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class B, bool b>\nclass mfc_string_out_iterator\n{\n   ATL::CSimpleStringT<B, b>* out;\npublic:\n   mfc_string_out_iterator(ATL::CSimpleStringT<B, b>& s) : out(&s) {}\n   mfc_string_out_iterator& operator++() { return *this; }\n   mfc_string_out_iterator& operator++(int) { return *this; }\n   mfc_string_out_iterator& operator*() { return *this; }\n   mfc_string_out_iterator& operator=(B v) \n   { \n      out->AppendChar(v); \n      return *this; \n   }\n   typedef std::ptrdiff_t difference_type;\n   typedef B value_type;\n   typedef value_type* pointer;\n   typedef value_type& reference;\n   typedef std::output_iterator_tag iterator_category;\n};\n\n}\n\ntemplate <class traits, class B, bool b>\nATL::CSimpleStringT<B, b> regex_replace(const ATL::CSimpleStringT<B, b>& s,\n                            const basic_regex<B, traits>& e,\n                            const ATL::CSimpleStringT<B, b>& fmt,\n                            match_flag_type flags = match_default)\n{\n   ATL::CSimpleStringT<B, b> result(s.GetManager());\n   BOOST_REGEX_DETAIL_NS::mfc_string_out_iterator<B, b> i(result);\n   regex_replace(i, s.GetString(), s.GetString() + s.GetLength(), e, fmt.GetString(), flags);\n   return result;\n}\n\n} // namespace boost.\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/pattern_except.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         pattern_except.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares pattern-matching exception classes.\n  */\n\n#ifndef BOOST_RE_PAT_EXCEPT_HPP\n#define BOOST_RE_PAT_EXCEPT_HPP\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n\n#ifdef BOOST_REGEX_CXX03\n#include <boost/regex/v4/pattern_except.hpp>\n#else\n#include <boost/regex/v5/pattern_except.hpp>\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/pending/object_cache.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         object_cache.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Implements a generic object cache.\n  */\n\n#ifndef BOOST_REGEX_OBJECT_CACHE_HPP\n#define BOOST_REGEX_OBJECT_CACHE_HPP\n\n#include <boost/regex/config.hpp>\n#ifdef BOOST_REGEX_CXX03\n#include <boost/regex/v4/object_cache.hpp>\n#else\n#include <boost/regex/v5/object_cache.hpp>\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/pending/static_mutex.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         static_mutex.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares static_mutex lock type, there are three different\n  *                implementations: POSIX pthreads, WIN32 threads, and portable,\n  *                these are described in more detail below.\n  */\n\n#ifndef BOOST_REGEX_STATIC_MUTEX_HPP\n#define BOOST_REGEX_STATIC_MUTEX_HPP\n\n#include <boost/config.hpp>\n#include <boost/regex/config.hpp> // dll import/export options.\n\n#ifdef BOOST_HAS_PTHREADS\n#include <pthread.h>\n#endif\n\n#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER)\n//\n// pthreads version:\n// simple wrap around a pthread_mutex_t initialized with\n// PTHREAD_MUTEX_INITIALIZER.\n//\nnamespace boost{\n\nclass static_mutex;\n\n#define BOOST_STATIC_MUTEX_INIT { PTHREAD_MUTEX_INITIALIZER, }\n\nclass BOOST_REGEX_DECL scoped_static_mutex_lock\n{\npublic:\n   scoped_static_mutex_lock(static_mutex& mut, bool lk = true);\n   ~scoped_static_mutex_lock();\n   inline bool locked()const\n   {\n      return m_have_lock;\n   }\n   inline operator void const*()const\n   {\n      return locked() ? this : 0;\n   }\n   void lock();\n   void unlock();\nprivate:\n   static_mutex& m_mutex;\n   bool m_have_lock;\n};\n\nclass static_mutex\n{\npublic:\n   typedef scoped_static_mutex_lock scoped_lock;\n   pthread_mutex_t m_mutex;\n};\n\n} // namespace boost\n#elif defined(BOOST_HAS_WINTHREADS)\n//\n// Win32 version:\n// Use a 32-bit int as a lock, along with a test-and-set\n// implementation using InterlockedCompareExchange.\n//\n\n#include <boost/cstdint.hpp>\n\nnamespace boost{\n\nclass BOOST_REGEX_DECL scoped_static_mutex_lock;\n\nclass static_mutex\n{\npublic:\n   typedef scoped_static_mutex_lock scoped_lock;\n   boost::int32_t m_mutex;\n};\n\n#define BOOST_STATIC_MUTEX_INIT { 0, }\n\nclass BOOST_REGEX_DECL scoped_static_mutex_lock\n{\npublic:\n   scoped_static_mutex_lock(static_mutex& mut, bool lk = true);\n   ~scoped_static_mutex_lock();\n   operator void const*()const\n   {\n      return locked() ? this : 0;\n   }\n   bool locked()const\n   {\n      return m_have_lock;\n   }\n   void lock();\n   void unlock();\nprivate:\n   static_mutex& m_mutex;\n   bool m_have_lock;\n   scoped_static_mutex_lock(const scoped_static_mutex_lock&);\n   scoped_static_mutex_lock& operator=(const scoped_static_mutex_lock&);\n};\n\n} // namespace\n\n#else\n//\n// Portable version of a static mutex based on Boost.Thread library:\n// This has to use a single mutex shared by all instances of static_mutex\n// because boost::call_once doesn't alow us to pass instance information\n// down to the initialisation proceedure.  In fact the initialisation routine\n// may need to be called more than once - but only once per instance.\n//\n// Since this preprocessor path is almost never taken, we hide these header\n// dependencies so that build tools don't find them.\n//\n#define BOOST_REGEX_H1 <boost/thread/once.hpp>\n#define BOOST_REGEX_H2 <boost/thread/recursive_mutex.hpp>\n#define BOOST_REGEX_H3 <boost/thread/lock_types.hpp>\n#include BOOST_REGEX_H1\n#include BOOST_REGEX_H2\n#include BOOST_REGEX_H3\n#undef BOOST_REGEX_H1\n#undef BOOST_REGEX_H2\n#undef BOOST_REGEX_H3\n\nnamespace boost{\n\nclass BOOST_REGEX_DECL scoped_static_mutex_lock;\nextern \"C\" BOOST_REGEX_DECL void boost_regex_free_static_mutex();\n\nclass BOOST_REGEX_DECL static_mutex\n{\npublic:\n   typedef scoped_static_mutex_lock scoped_lock;\n   static void init();\n   static boost::recursive_mutex* m_pmutex;\n   static boost::once_flag m_once;\n};\n\n#define BOOST_STATIC_MUTEX_INIT {  }\n\nclass BOOST_REGEX_DECL scoped_static_mutex_lock\n{\npublic:\n   scoped_static_mutex_lock(static_mutex& mut, bool lk = true);\n   ~scoped_static_mutex_lock();\n   operator void const*()const;\n   bool locked()const;\n   void lock();\n   void unlock();\nprivate:\n   boost::unique_lock<boost::recursive_mutex>* m_plock;\n   bool m_have_lock;\n};\n\ninline scoped_static_mutex_lock::operator void const*()const\n{\n   return locked() ? this : 0;\n}\n\ninline bool scoped_static_mutex_lock::locked()const\n{\n   return m_have_lock;\n}\n\n} // namespace\n\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/pending/unicode_iterator.hpp",
    "content": "/*\n *\n * Copyright (c) 2020\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         unicode_iterator.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Iterator adapters for converting between different Unicode encodings.\n  */\n\n#ifndef BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP\n#define BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP\n\n#include <boost/regex/config.hpp>\n\n#if defined(BOOST_REGEX_CXX03)\n#include <boost/regex/v4/unicode_iterator.hpp>\n#else\n#include <boost/regex/v5/unicode_iterator.hpp>\n#endif\n\n\n#endif // BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/regex_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_traits.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression traits classes.\n  */\n\n#ifndef BOOST_REGEX_TRAITS_HPP\n#define BOOST_REGEX_TRAITS_HPP\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#  include <boost/regex/config.hpp>\n#endif\n\n#  ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED\n#ifdef BOOST_REGEX_CXX03\n#     include <boost/regex/v4/regex_traits.hpp>\n#else\n#     include <boost/regex/v5/regex_traits.hpp>\n#endif\n#  endif\n\n#endif // include\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/user.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         user.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: User settable options.\n  */\n\n// define if you want the regex library to use the C locale\n// even on Win32:\n// #define BOOST_REGEX_USE_C_LOCALE\n\n// define this is you want the regex library to use the C++\n// locale:\n// #define BOOST_REGEX_USE_CPP_LOCALE\n\n// define this if the runtime library is a dll, and you\n// want BOOST_REGEX_DYN_LINK to set up dll exports/imports\n// with __declspec(dllexport)/__declspec(dllimport.)\n// #define BOOST_REGEX_HAS_DLL_RUNTIME\n\n// define this if you want to dynamically link to regex,\n// if the runtime library is also a dll (Probably Win32 specific,\n// and has no effect unless BOOST_REGEX_HAS_DLL_RUNTIME is set):\n// #define BOOST_REGEX_DYN_LINK\n\n// define this if you don't want the lib to automatically\n// select its link libraries:\n// #define BOOST_REGEX_NO_LIB\n\n// define this if templates with switch statements cause problems:\n// #define BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE\n \n// define this to disable Win32 support when available:\n// #define BOOST_REGEX_NO_W32\n\n// define this if bool is not a real type:\n// #define BOOST_REGEX_NO_BOOL\n\n// define this if no template instances are to be placed in\n// the library rather than users object files:\n// #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES\n\n// define this if the forward declarations in regex_fwd.hpp\n// cause more problems than they are worth:\n// #define BOOST_REGEX_NO_FWD\n\n// define this if your compiler supports MS Windows structured\n// exception handling.\n// #define BOOST_REGEX_HAS_MS_STACK_GUARD\n\n// define this if you want to use the recursive algorithm\n// even if BOOST_REGEX_HAS_MS_STACK_GUARD is not defined.\n// NOTE: OBSOLETE!!\n// #define BOOST_REGEX_RECURSIVE\n\n// define this if you want to use the non-recursive\n// algorithm, even if the recursive version would be the default.\n// NOTE: OBSOLETE!!\n// #define BOOST_REGEX_NON_RECURSIVE\n\n// define this if you want to set the size of the memory blocks\n// used by the non-recursive algorithm.\n// #define BOOST_REGEX_BLOCKSIZE 4096\n\n// define this if you want to set the maximum number of memory blocks\n// used by the non-recursive algorithm.\n// #define BOOST_REGEX_MAX_BLOCKS 1024\n\n// define this if you want to set the maximum number of memory blocks\n// cached by the non-recursive algorithm: Normally this is 16, but can be \n// higher if you have multiple threads all using boost.regex, or lower \n// if you don't want boost.regex to cache memory.\n// #define BOOST_REGEX_MAX_CACHE_BLOCKS 16\n\n// define this if you want to be able to access extended capture\n// information in your sub_match's (caution this will slow things\n// down quite a bit).\n// #define BOOST_REGEX_MATCH_EXTRA\n\n// define this if you want to enable support for Unicode via ICU.\n// #define BOOST_HAS_ICU\n\n// define this if you want regex to use __cdecl calling convensions, even when __fastcall is available:\n// #define BOOST_REGEX_NO_FASTCALL\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/basic_regex.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2004 John Maddock\n * Copyright 2011 Garmin Ltd. or its subsidiaries\n *\n * Distributed under the Boost Software License, Version 1.0.\n * (See accompanying file LICENSE_1_0.txt or copy at\n * http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org/ for most recent version.\n  *   FILE         basic_regex.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares template class basic_regex.\n  */\n\n#ifndef BOOST_REGEX_V5_BASIC_REGEX_HPP\n#define BOOST_REGEX_V5_BASIC_REGEX_HPP\n\n#include <vector>\n\nnamespace boost{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable : 4251)\n#if BOOST_REGEX_MSVC < 1700\n#     pragma warning(disable : 4231)\n#endif\n#if BOOST_REGEX_MSVC < 1600\n#pragma warning(disable : 4660)\n#endif\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\n//\n// forward declaration, we will need this one later:\n//\ntemplate <class charT, class traits>\nclass basic_regex_parser;\n\ntemplate <class I>\nvoid bubble_down_one(I first, I last)\n{\n   if(first != last)\n   {\n      I next = last - 1;\n      while((next != first) && (*next < *(next-1)))\n      {\n         (next-1)->swap(*next);\n         --next;\n      }\n   }\n}\n\nstatic const int hash_value_mask = 1 << (std::numeric_limits<int>::digits - 1);\n\ntemplate <class Iterator>\ninline int hash_value_from_capture_name(Iterator i, Iterator j)\n{\n   std::size_t r = 0;\n   while (i != j)\n   {\n      r ^= *i + 0x9e3779b9 + (r << 6) + (r >> 2);\n      ++i;\n   }\n   r %= ((std::numeric_limits<int>::max)());\n   return static_cast<int>(r) | hash_value_mask;\n}\n\nclass named_subexpressions\n{\npublic:\n   struct name\n   {\n      template <class charT>\n      name(const charT* i, const charT* j, int idx)\n         : index(idx) \n      { \n         hash = hash_value_from_capture_name(i, j); \n      }\n      name(int h, int idx)\n         : index(idx), hash(h)\n      { \n      }\n      int index;\n      int hash;\n      bool operator < (const name& other)const\n      {\n         return hash < other.hash;\n      }\n      bool operator == (const name& other)const\n      {\n         return hash == other.hash; \n      }\n      void swap(name& other)\n      {\n         std::swap(index, other.index);\n         std::swap(hash, other.hash);\n      }\n   };\n\n   typedef std::vector<name>::const_iterator const_iterator;\n   typedef std::pair<const_iterator, const_iterator> range_type;\n\n   named_subexpressions(){}\n\n   template <class charT>\n   void set_name(const charT* i, const charT* j, int index)\n   {\n      m_sub_names.push_back(name(i, j, index));\n      bubble_down_one(m_sub_names.begin(), m_sub_names.end());\n   }\n   template <class charT>\n   int get_id(const charT* i, const charT* j)const\n   {\n      name t(i, j, 0);\n      typename std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);\n      if((pos != m_sub_names.end()) && (*pos == t))\n      {\n         return pos->index;\n      }\n      return -1;\n   }\n   template <class charT>\n   range_type equal_range(const charT* i, const charT* j)const\n   {\n      name t(i, j, 0);\n      return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);\n   }\n   int get_id(int h)const\n   {\n      name t(h, 0);\n      std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);\n      if((pos != m_sub_names.end()) && (*pos == t))\n      {\n         return pos->index;\n      }\n      return -1;\n   }\n   range_type equal_range(int h)const\n   {\n      name t(h, 0);\n      return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);\n   }\nprivate:\n   std::vector<name> m_sub_names;\n};\n\n//\n// class regex_data:\n// represents the data we wish to expose to the matching algorithms.\n//\ntemplate <class charT, class traits>\nstruct regex_data : public named_subexpressions\n{\n   typedef regex_constants::syntax_option_type   flag_type;\n   typedef std::size_t                           size_type;  \n\n   regex_data(const ::std::shared_ptr<\n      ::boost::regex_traits_wrapper<traits> >& t) \n      : m_ptraits(t), m_flags(0), m_status(0), m_expression(0), m_expression_len(0),\n         m_mark_count(0), m_first_state(0), m_restart_type(0),\n         m_startmap{ 0 },\n         m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {}\n   regex_data() \n      : m_ptraits(new ::boost::regex_traits_wrapper<traits>()), m_flags(0), m_status(0), m_expression(0), m_expression_len(0), \n         m_mark_count(0), m_first_state(0), m_restart_type(0), \n      m_startmap{ 0 },\n         m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {}\n\n   ::std::shared_ptr<\n      ::boost::regex_traits_wrapper<traits>\n      >                        m_ptraits;                 // traits class instance\n   flag_type                   m_flags;                   // flags with which we were compiled\n   int                         m_status;                  // error code (0 implies OK).\n   const charT*                m_expression;              // the original expression\n   std::ptrdiff_t              m_expression_len;          // the length of the original expression\n   size_type                   m_mark_count;              // the number of marked sub-expressions\n   BOOST_REGEX_DETAIL_NS::re_syntax_base*  m_first_state;             // the first state of the machine\n   unsigned                    m_restart_type;            // search optimisation type\n   unsigned char               m_startmap[1 << CHAR_BIT]; // which characters can start a match\n   unsigned int                m_can_be_null;             // whether we can match a null string\n   BOOST_REGEX_DETAIL_NS::raw_storage      m_data;                    // the buffer in which our states are constructed\n   typename traits::char_class_type    m_word_mask;       // mask used to determine if a character is a word character\n   std::vector<\n      std::pair<\n      std::size_t, std::size_t> > m_subs;                 // Position of sub-expressions within the *string*.\n   bool                        m_has_recursions;          // whether we have recursive expressions;\n   bool                        m_disable_match_any;       // when set we need to disable the match_any flag as it causes different/buggy behaviour.\n};\n//\n// class basic_regex_implementation\n// pimpl implementation class for basic_regex.\n//\ntemplate <class charT, class traits>\nclass basic_regex_implementation\n   : public regex_data<charT, traits>\n{\npublic:\n   typedef regex_constants::syntax_option_type   flag_type;\n   typedef std::ptrdiff_t                        difference_type;\n   typedef std::size_t                           size_type; \n   typedef typename traits::locale_type          locale_type;\n   typedef const charT*                          const_iterator;\n\n   basic_regex_implementation(){}\n   basic_regex_implementation(const ::std::shared_ptr<\n      ::boost::regex_traits_wrapper<traits> >& t)\n      : regex_data<charT, traits>(t) {}\n   void assign(const charT* arg_first,\n                          const charT* arg_last,\n                          flag_type f)\n   {\n      regex_data<charT, traits>* pdat = this;\n      basic_regex_parser<charT, traits> parser(pdat);\n      parser.parse(arg_first, arg_last, f);\n   }\n\n   locale_type  imbue(locale_type l)\n   { \n      return this->m_ptraits->imbue(l); \n   }\n   locale_type  getloc()const\n   { \n      return this->m_ptraits->getloc(); \n   }\n   std::basic_string<charT>  str()const\n   {\n      std::basic_string<charT> result;\n      if(this->m_status == 0)\n         result = std::basic_string<charT>(this->m_expression, this->m_expression_len);\n      return result;\n   }\n   const_iterator  expression()const\n   {\n      return this->m_expression;\n   }\n   std::pair<const_iterator, const_iterator>  subexpression(std::size_t n)const\n   {\n      const std::pair<std::size_t, std::size_t>& pi = this->m_subs.at(n);\n      std::pair<const_iterator, const_iterator> p(expression() + pi.first, expression() + pi.second);\n      return p;\n   }\n   //\n   // begin, end:\n   const_iterator  begin()const\n   { \n      return (this->m_status ? 0 : this->m_expression); \n   }\n   const_iterator  end()const\n   { \n      return (this->m_status ? 0 : this->m_expression + this->m_expression_len); \n   }\n   flag_type  flags()const\n   {\n      return this->m_flags;\n   }\n   size_type  size()const\n   {\n      return this->m_expression_len;\n   }\n   int  status()const\n   {\n      return this->m_status;\n   }\n   size_type  mark_count()const\n   {\n      return this->m_mark_count - 1;\n   }\n   const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const\n   {\n      return this->m_first_state;\n   }\n   unsigned get_restart_type()const\n   {\n      return this->m_restart_type;\n   }\n   const unsigned char* get_map()const\n   {\n      return this->m_startmap;\n   }\n   const ::boost::regex_traits_wrapper<traits>& get_traits()const\n   {\n      return *(this->m_ptraits);\n   }\n   bool can_be_null()const\n   {\n      return this->m_can_be_null;\n   }\n   const regex_data<charT, traits>& get_data()const\n   {\n      basic_regex_implementation<charT, traits> const* p = this;\n      return *static_cast<const regex_data<charT, traits>*>(p);\n   }\n};\n\n} // namespace BOOST_REGEX_DETAIL_NS\n//\n// class basic_regex:\n// represents the compiled\n// regular expression:\n//\n\n#ifdef BOOST_REGEX_NO_FWD\ntemplate <class charT, class traits = regex_traits<charT> >\n#else\ntemplate <class charT, class traits >\n#endif\nclass basic_regex : public regbase\n{\npublic:\n   // typedefs:\n   typedef std::size_t                           traits_size_type;\n   typedef typename traits::string_type          traits_string_type;\n   typedef charT                                 char_type;\n   typedef traits                                traits_type;\n\n   typedef charT                                 value_type;\n   typedef charT&                                reference;\n   typedef const charT&                          const_reference;\n   typedef const charT*                          const_iterator;\n   typedef const_iterator                        iterator;\n   typedef std::ptrdiff_t                        difference_type;\n   typedef std::size_t                           size_type;   \n   typedef regex_constants::syntax_option_type   flag_type;\n   // locale_type\n   // placeholder for actual locale type used by the\n   // traits class to localise *this.\n   typedef typename traits::locale_type          locale_type;\n   \npublic:\n   explicit basic_regex(){}\n   explicit basic_regex(const charT* p, flag_type f = regex_constants::normal)\n   {\n      assign(p, f);\n   }\n   basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)\n   {\n      assign(p1, p2, f);\n   }\n   basic_regex(const charT* p, size_type len, flag_type f)\n   {\n      assign(p, len, f);\n   }\n   basic_regex(const basic_regex& that)\n      : m_pimpl(that.m_pimpl) {}\n   ~basic_regex(){}\n   basic_regex&  operator=(const basic_regex& that)\n   {\n      return assign(that);\n   }\n   basic_regex&  operator=(const charT* ptr)\n   {\n      return assign(ptr);\n   }\n\n   //\n   // assign:\n   basic_regex& assign(const basic_regex& that)\n   { \n      m_pimpl = that.m_pimpl;\n      return *this; \n   }\n   basic_regex& assign(const charT* p, flag_type f = regex_constants::normal)\n   {\n      return assign(p, p + traits::length(p), f);\n   }\n   basic_regex& assign(const charT* p, size_type len, flag_type f)\n   {\n      return assign(p, p + len, f);\n   }\nprivate:\n   basic_regex& do_assign(const charT* p1,\n                          const charT* p2,\n                          flag_type f);\npublic:\n   basic_regex& assign(const charT* p1,\n                          const charT* p2,\n                          flag_type f = regex_constants::normal)\n   {\n      return do_assign(p1, p2, f);\n   }\n\n   template <class ST, class SA>\n   unsigned int  set_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)\n   { \n      return set_expression(p.data(), p.data() + p.size(), f); \n   }\n\n   template <class ST, class SA>\n   explicit basic_regex(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)\n   { \n      assign(p, f); \n   }\n\n   template <class InputIterator>\n   basic_regex(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal)\n   {\n      typedef typename traits::string_type seq_type;\n      seq_type a(arg_first, arg_last);\n      if(!a.empty())\n         assign(static_cast<const charT*>(&*a.begin()), static_cast<const charT*>(&*a.begin() + a.size()), f);\n      else\n         assign(static_cast<const charT*>(0), static_cast<const charT*>(0), f);\n   }\n\n   template <class ST, class SA>\n   basic_regex&  operator=(const std::basic_string<charT, ST, SA>& p)\n   {\n      return assign(p.data(), p.data() + p.size(), regex_constants::normal);\n   }\n\n   template <class string_traits, class A>\n   basic_regex&  assign(\n       const std::basic_string<charT, string_traits, A>& s,\n       flag_type f = regex_constants::normal)\n   {\n      return assign(s.data(), s.data() + s.size(), f);\n   }\n\n   template <class InputIterator>\n   basic_regex&  assign(InputIterator arg_first,\n                          InputIterator arg_last,\n                          flag_type f = regex_constants::normal)\n   {\n      typedef typename traits::string_type seq_type;\n      seq_type a(arg_first, arg_last);\n      if(a.size())\n      {\n         const charT* p1 = &*a.begin();\n         const charT* p2 = &*a.begin() + a.size();\n         return assign(p1, p2, f);\n      }\n      return assign(static_cast<const charT*>(0), static_cast<const charT*>(0), f);\n   }\n\n   //\n   // locale:\n   locale_type  imbue(locale_type l);\n   locale_type  getloc()const\n   { \n      return m_pimpl.get() ? m_pimpl->getloc() : locale_type(); \n   }\n   //\n   // getflags:\n   // retained for backwards compatibility only, \"flags\"\n   // is now the preferred name:\n   flag_type  getflags()const\n   { \n      return flags();\n   }\n   flag_type  flags()const\n   { \n      return m_pimpl.get() ? m_pimpl->flags() : 0;\n   }\n   //\n   // str:\n   std::basic_string<charT>  str()const\n   {\n      return m_pimpl.get() ? m_pimpl->str() : std::basic_string<charT>();\n   }\n   //\n   // begin, end, subexpression:\n   std::pair<const_iterator, const_iterator>  subexpression(std::size_t n)const\n   {\n#ifdef BOOST_REGEX_STANDALONE\n      if (!m_pimpl.get())\n         throw std::logic_error(\"Can't access subexpressions in an invalid regex.\");\n#else\n      if(!m_pimpl.get())\n         boost::throw_exception(std::logic_error(\"Can't access subexpressions in an invalid regex.\"));\n#endif\n      return m_pimpl->subexpression(n);\n   }\n   const_iterator  begin()const\n   { \n      return (m_pimpl.get() ? m_pimpl->begin() : 0); \n   }\n   const_iterator  end()const\n   { \n      return (m_pimpl.get() ? m_pimpl->end() : 0); \n   }\n   //\n   // swap:\n   void  swap(basic_regex& that)throw()\n   {\n      m_pimpl.swap(that.m_pimpl);\n   }\n   //\n   // size:\n   size_type  size()const\n   { \n      return (m_pimpl.get() ? m_pimpl->size() : 0); \n   }\n   //\n   // max_size:\n   size_type  max_size()const\n   { \n      return UINT_MAX; \n   }\n   //\n   // empty:\n   bool  empty()const\n   { \n      return (m_pimpl.get() ? 0 != m_pimpl->status() : true); \n   }\n\n   size_type  mark_count()const \n   { \n      return (m_pimpl.get() ? m_pimpl->mark_count() : 0); \n   }\n\n   int status()const\n   {\n      return (m_pimpl.get() ? m_pimpl->status() : regex_constants::error_empty);\n   }\n\n   int  compare(const basic_regex& that) const\n   {\n      if(m_pimpl.get() == that.m_pimpl.get())\n         return 0;\n      if(!m_pimpl.get())\n         return -1;\n      if(!that.m_pimpl.get())\n         return 1;\n      if(status() != that.status())\n         return status() - that.status();\n      if(flags() != that.flags())\n         return flags() - that.flags();\n      return str().compare(that.str());\n   }\n   bool  operator==(const basic_regex& e)const\n   { \n      return compare(e) == 0; \n   }\n   bool  operator != (const basic_regex& e)const\n   { \n      return compare(e) != 0; \n   }\n   bool  operator<(const basic_regex& e)const\n   { \n      return compare(e) < 0; \n   }\n   bool  operator>(const basic_regex& e)const\n   { \n      return compare(e) > 0; \n   }\n   bool  operator<=(const basic_regex& e)const\n   { \n      return compare(e) <= 0; \n   }\n   bool  operator>=(const basic_regex& e)const\n   { \n      return compare(e) >= 0; \n   }\n\n   //\n   // The following are deprecated as public interfaces\n   // but are available for compatibility with earlier versions.\n   const charT*  expression()const \n   { \n      return (m_pimpl.get() && !m_pimpl->status() ? m_pimpl->expression() : 0); \n   }\n   unsigned int  set_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)\n   {\n      assign(p1, p2, f | regex_constants::no_except);\n      return status();\n   }\n   unsigned int  set_expression(const charT* p, flag_type f = regex_constants::normal) \n   { \n      assign(p, f | regex_constants::no_except); \n      return status();\n   }\n   unsigned int  error_code()const\n   {\n      return status();\n   }\n   //\n   // private access methods:\n   //\n   const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const\n   {\n      BOOST_REGEX_ASSERT(0 != m_pimpl.get());\n      return m_pimpl->get_first_state();\n   }\n   unsigned get_restart_type()const\n   {\n      BOOST_REGEX_ASSERT(0 != m_pimpl.get());\n      return m_pimpl->get_restart_type();\n   }\n   const unsigned char* get_map()const\n   {\n      BOOST_REGEX_ASSERT(0 != m_pimpl.get());\n      return m_pimpl->get_map();\n   }\n   const ::boost::regex_traits_wrapper<traits>& get_traits()const\n   {\n      BOOST_REGEX_ASSERT(0 != m_pimpl.get());\n      return m_pimpl->get_traits();\n   }\n   bool can_be_null()const\n   {\n      BOOST_REGEX_ASSERT(0 != m_pimpl.get());\n      return m_pimpl->can_be_null();\n   }\n   const BOOST_REGEX_DETAIL_NS::regex_data<charT, traits>& get_data()const\n   {\n      BOOST_REGEX_ASSERT(0 != m_pimpl.get());\n      return m_pimpl->get_data();\n   }\n   std::shared_ptr<BOOST_REGEX_DETAIL_NS::named_subexpressions > get_named_subs()const\n   {\n      return m_pimpl;\n   }\n\nprivate:\n   std::shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> > m_pimpl;\n};\n\n//\n// out of line members;\n// these are the only members that mutate the basic_regex object,\n// and are designed to provide the strong exception guarantee\n// (in the event of a throw, the state of the object remains unchanged).\n//\ntemplate <class charT, class traits>\nbasic_regex<charT, traits>& basic_regex<charT, traits>::do_assign(const charT* p1,\n                        const charT* p2,\n                        flag_type f)\n{\n   std::shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> > temp;\n   if(!m_pimpl.get())\n   {\n      temp = std::shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits>());\n   }\n   else\n   {\n      temp = std::shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits>(m_pimpl->m_ptraits));\n   }\n   temp->assign(p1, p2, f);\n   temp.swap(m_pimpl);\n   return *this;\n}\n\ntemplate <class charT, class traits>\ntypename basic_regex<charT, traits>::locale_type  basic_regex<charT, traits>::imbue(locale_type l)\n{ \n   std::shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> > temp(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits>());\n   locale_type result = temp->imbue(l);\n   temp.swap(m_pimpl);\n   return result;\n}\n\n//\n// non-members:\n//\ntemplate <class charT, class traits>\nvoid swap(basic_regex<charT, traits>& e1, basic_regex<charT, traits>& e2)\n{\n   e1.swap(e2);\n}\n\ntemplate <class charT, class traits, class traits2>\nstd::basic_ostream<charT, traits>& \n   operator << (std::basic_ostream<charT, traits>& os, \n                const basic_regex<charT, traits2>& e)\n{\n   return (os << e.str());\n}\n\n//\n// class reg_expression:\n// this is provided for backwards compatibility only,\n// it is deprecated, no not use!\n//\n#ifdef BOOST_REGEX_NO_FWD\ntemplate <class charT, class traits = regex_traits<charT> >\n#else\ntemplate <class charT, class traits >\n#endif\nclass reg_expression : public basic_regex<charT, traits>\n{\npublic:\n   typedef typename basic_regex<charT, traits>::flag_type flag_type;\n   typedef typename basic_regex<charT, traits>::size_type size_type;\n   explicit reg_expression(){}\n   explicit reg_expression(const charT* p, flag_type f = regex_constants::normal)\n      : basic_regex<charT, traits>(p, f){}\n   reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)\n      : basic_regex<charT, traits>(p1, p2, f){}\n   reg_expression(const charT* p, size_type len, flag_type f)\n      : basic_regex<charT, traits>(p, len, f){}\n   reg_expression(const reg_expression& that)\n      : basic_regex<charT, traits>(that) {}\n   ~reg_expression(){}\n   reg_expression&  operator=(const reg_expression& that)\n   {\n      return this->assign(that);\n   }\n\n   template <class ST, class SA>\n   explicit reg_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)\n   : basic_regex<charT, traits>(p, f)\n   { \n   }\n\n   template <class InputIterator>\n   reg_expression(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal)\n   : basic_regex<charT, traits>(arg_first, arg_last, f)\n   {\n   }\n\n   template <class ST, class SA>\n   reg_expression&  operator=(const std::basic_string<charT, ST, SA>& p)\n   {\n      this->assign(p);\n      return *this;\n   }\n\n};\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning (pop)\n#endif\n\n} // namespace boost\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/basic_regex_creator.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         basic_regex_creator.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares template class basic_regex_creator which fills in\n  *                the data members of a regex_data object.\n  */\n\n#ifndef BOOST_REGEX_V5_BASIC_REGEX_CREATOR_HPP\n#define BOOST_REGEX_V5_BASIC_REGEX_CREATOR_HPP\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#pragma warning(disable:4459)\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\n#include <set>\n\nnamespace boost{\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class charT>\nstruct digraph : public std::pair<charT, charT>\n{\n   digraph() : std::pair<charT, charT>(charT(0), charT(0)){}\n   digraph(charT c1) : std::pair<charT, charT>(c1, charT(0)){}\n   digraph(charT c1, charT c2) : std::pair<charT, charT>(c1, c2)\n   {}\n   digraph(const digraph<charT>& d) : std::pair<charT, charT>(d.first, d.second){}\n   digraph<charT>& operator=(const digraph<charT>&) = default;\n   template <class Seq>\n   digraph(const Seq& s) : std::pair<charT, charT>()\n   {\n      BOOST_REGEX_ASSERT(s.size() <= 2);\n      BOOST_REGEX_ASSERT(s.size());\n      this->first = s[0];\n      this->second = (s.size() > 1) ? s[1] : 0;\n   }\n};\n\ntemplate <class charT, class traits>\nclass basic_char_set\n{\npublic:\n   typedef digraph<charT>                   digraph_type;\n   typedef typename traits::string_type     string_type;\n   typedef typename traits::char_class_type m_type;\n\n   basic_char_set()\n   {\n      m_negate = false;\n      m_has_digraphs = false;\n      m_classes = 0;\n      m_negated_classes = 0;\n      m_empty = true;\n   }\n\n   void add_single(const digraph_type& s)\n   {\n      m_singles.insert(s);\n      if(s.second)\n         m_has_digraphs = true;\n      m_empty = false;\n   }\n   void add_range(const digraph_type& first, const digraph_type& end)\n   {\n      m_ranges.push_back(first);\n      m_ranges.push_back(end);\n      if(first.second)\n      {\n         m_has_digraphs = true;\n         add_single(first);\n      }\n      if(end.second)\n      {\n         m_has_digraphs = true;\n         add_single(end);\n      }\n      m_empty = false;\n   }\n   void add_class(m_type m)\n   {\n      m_classes |= m;\n      m_empty = false;\n   }\n   void add_negated_class(m_type m)\n   {\n      m_negated_classes |= m;\n      m_empty = false;\n   }\n   void add_equivalent(const digraph_type& s)\n   {\n      m_equivalents.insert(s);\n      if(s.second)\n      {\n         m_has_digraphs = true;\n         add_single(s);\n      }\n      m_empty = false;\n   }\n   void negate()\n   { \n      m_negate = true;\n      //m_empty = false;\n   }\n\n   //\n   // accessor functions:\n   //\n   bool has_digraphs()const\n   {\n      return m_has_digraphs;\n   }\n   bool is_negated()const\n   {\n      return m_negate;\n   }\n   typedef typename std::vector<digraph_type>::const_iterator  list_iterator;\n   typedef typename std::set<digraph_type>::const_iterator     set_iterator;\n   set_iterator singles_begin()const\n   {\n      return m_singles.begin();\n   }\n   set_iterator singles_end()const\n   {\n      return m_singles.end();\n   }\n   list_iterator ranges_begin()const\n   {\n      return m_ranges.begin();\n   }\n   list_iterator ranges_end()const\n   {\n      return m_ranges.end();\n   }\n   set_iterator equivalents_begin()const\n   {\n      return m_equivalents.begin();\n   }\n   set_iterator equivalents_end()const\n   {\n      return m_equivalents.end();\n   }\n   m_type classes()const\n   {\n      return m_classes;\n   }\n   m_type negated_classes()const\n   {\n      return m_negated_classes;\n   }\n   bool empty()const\n   {\n      return m_empty;\n   }\nprivate:\n   std::set<digraph_type>    m_singles;         // a list of single characters to match\n   std::vector<digraph_type> m_ranges;          // a list of end points of our ranges\n   bool                      m_negate;          // true if the set is to be negated\n   bool                      m_has_digraphs;    // true if we have digraphs present\n   m_type                    m_classes;         // character classes to match\n   m_type                    m_negated_classes; // negated character classes to match\n   bool                      m_empty;           // whether we've added anything yet\n   std::set<digraph_type>    m_equivalents;     // a list of equivalence classes\n};\n   \ntemplate <class charT, class traits>\nclass basic_regex_creator\n{\npublic:\n   basic_regex_creator(regex_data<charT, traits>* data);\n   std::ptrdiff_t getoffset(void* addr)\n   {\n      return getoffset(addr, m_pdata->m_data.data());\n   }\n   std::ptrdiff_t getoffset(const void* addr, const void* base)\n   {\n      return static_cast<const char*>(addr) - static_cast<const char*>(base);\n   }\n   re_syntax_base* getaddress(std::ptrdiff_t off)\n   {\n      return getaddress(off, m_pdata->m_data.data());\n   }\n   re_syntax_base* getaddress(std::ptrdiff_t off, void* base)\n   {\n      return static_cast<re_syntax_base*>(static_cast<void*>(static_cast<char*>(base) + off));\n   }\n   void init(unsigned l_flags)\n   {\n      m_pdata->m_flags = l_flags;\n      m_icase = l_flags & regex_constants::icase;\n   }\n   regbase::flag_type flags()\n   {\n      return m_pdata->m_flags;\n   }\n   void flags(regbase::flag_type f)\n   {\n      m_pdata->m_flags = f;\n      if(m_icase != static_cast<bool>(f & regbase::icase))\n      {\n         m_icase = static_cast<bool>(f & regbase::icase);\n      }\n   }\n   re_syntax_base* append_state(syntax_element_type t, std::size_t s = sizeof(re_syntax_base));\n   re_syntax_base* insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s = sizeof(re_syntax_base));\n   re_literal* append_literal(charT c);\n   re_syntax_base* append_set(const basic_char_set<charT, traits>& char_set);\n   re_syntax_base* append_set(const basic_char_set<charT, traits>& char_set, std::integral_constant<bool, false>*);\n   re_syntax_base* append_set(const basic_char_set<charT, traits>& char_set, std::integral_constant<bool, true>*);\n   void finalize(const charT* p1, const charT* p2);\nprotected:\n   regex_data<charT, traits>*    m_pdata;              // pointer to the basic_regex_data struct we are filling in\n   const ::boost::regex_traits_wrapper<traits>&  \n                                 m_traits;             // convenience reference to traits class\n   re_syntax_base*               m_last_state;         // the last state we added\n   bool                          m_icase;              // true for case insensitive matches\n   unsigned                      m_repeater_id;        // the state_id of the next repeater\n   bool                          m_has_backrefs;       // true if there are actually any backrefs\n   std::uintmax_t                m_bad_repeats;        // bitmask of repeats we can't deduce a startmap for;\n   bool                          m_has_recursions;     // set when we have recursive expressions to fixup\n   std::vector<unsigned char>    m_recursion_checks;   // notes which recursions we've followed while analysing this expression\n   typename traits::char_class_type m_word_mask;       // mask used to determine if a character is a word character\n   typename traits::char_class_type m_mask_space;      // mask used to determine if a character is a word character\n   typename traits::char_class_type m_lower_mask;       // mask used to determine if a character is a lowercase character\n   typename traits::char_class_type m_upper_mask;      // mask used to determine if a character is an uppercase character\n   typename traits::char_class_type m_alpha_mask;      // mask used to determine if a character is an alphabetic character\nprivate:\n   basic_regex_creator& operator=(const basic_regex_creator&);\n   basic_regex_creator(const basic_regex_creator&);\n\n   void fixup_pointers(re_syntax_base* state);\n   void fixup_recursions(re_syntax_base* state);\n   void create_startmaps(re_syntax_base* state);\n   int calculate_backstep(re_syntax_base* state);\n   void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask);\n   unsigned get_restart_type(re_syntax_base* state);\n   void set_all_masks(unsigned char* bits, unsigned char);\n   bool is_bad_repeat(re_syntax_base* pt);\n   void set_bad_repeat(re_syntax_base* pt);\n   syntax_element_type get_repeat_type(re_syntax_base* state);\n   void probe_leading_repeat(re_syntax_base* state);\n};\n\ntemplate <class charT, class traits>\nbasic_regex_creator<charT, traits>::basic_regex_creator(regex_data<charT, traits>* data)\n   : m_pdata(data), m_traits(*(data->m_ptraits)), m_last_state(0), m_icase(false), m_repeater_id(0), \n   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)\n{\n   m_pdata->m_data.clear();\n   m_pdata->m_status = ::boost::regex_constants::error_ok;\n   static const charT w = 'w';\n   static const charT s = 's';\n   static const charT l[5] = { 'l', 'o', 'w', 'e', 'r', };\n   static const charT u[5] = { 'u', 'p', 'p', 'e', 'r', };\n   static const charT a[5] = { 'a', 'l', 'p', 'h', 'a', };\n   m_word_mask = m_traits.lookup_classname(&w, &w +1);\n   m_mask_space = m_traits.lookup_classname(&s, &s +1);\n   m_lower_mask = m_traits.lookup_classname(l, l + 5);\n   m_upper_mask = m_traits.lookup_classname(u, u + 5);\n   m_alpha_mask = m_traits.lookup_classname(a, a + 5);\n   m_pdata->m_word_mask = m_word_mask;\n   BOOST_REGEX_ASSERT(m_word_mask != 0); \n   BOOST_REGEX_ASSERT(m_mask_space != 0); \n   BOOST_REGEX_ASSERT(m_lower_mask != 0); \n   BOOST_REGEX_ASSERT(m_upper_mask != 0); \n   BOOST_REGEX_ASSERT(m_alpha_mask != 0); \n}\n\ntemplate <class charT, class traits>\nre_syntax_base* basic_regex_creator<charT, traits>::append_state(syntax_element_type t, std::size_t s)\n{\n   // if the state is a backref then make a note of it:\n   if(t == syntax_element_backref)\n      this->m_has_backrefs = true;\n   // append a new state, start by aligning our last one:\n   m_pdata->m_data.align();\n   // set the offset to the next state in our last one:\n   if(m_last_state)\n      m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state);\n   // now actually extend our data:\n   m_last_state = static_cast<re_syntax_base*>(m_pdata->m_data.extend(s));\n   // fill in boilerplate options in the new state:\n   m_last_state->next.i = 0;\n   m_last_state->type = t;\n   return m_last_state;\n}\n\ntemplate <class charT, class traits>\nre_syntax_base* basic_regex_creator<charT, traits>::insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s)\n{\n   // append a new state, start by aligning our last one:\n   m_pdata->m_data.align();\n   // set the offset to the next state in our last one:\n   if(m_last_state)\n      m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state);\n   // remember the last state position:\n   std::ptrdiff_t off = getoffset(m_last_state) + s;\n   // now actually insert our data:\n   re_syntax_base* new_state = static_cast<re_syntax_base*>(m_pdata->m_data.insert(pos, s));\n   // fill in boilerplate options in the new state:\n   new_state->next.i = s;\n   new_state->type = t;\n   m_last_state = getaddress(off);\n   return new_state;\n}\n\ntemplate <class charT, class traits>\nre_literal* basic_regex_creator<charT, traits>::append_literal(charT c)\n{\n   re_literal* result;\n   // start by seeing if we have an existing re_literal we can extend:\n   if((0 == m_last_state) || (m_last_state->type != syntax_element_literal))\n   {\n      // no existing re_literal, create a new one:\n      result = static_cast<re_literal*>(append_state(syntax_element_literal, sizeof(re_literal) + sizeof(charT)));\n      result->length = 1;\n      *static_cast<charT*>(static_cast<void*>(result+1)) = m_traits.translate(c, m_icase);\n   }\n   else\n   {\n      // we have an existing re_literal, extend it:\n      std::ptrdiff_t off = getoffset(m_last_state);\n      m_pdata->m_data.extend(sizeof(charT));\n      m_last_state = result = static_cast<re_literal*>(getaddress(off));\n      charT* characters = static_cast<charT*>(static_cast<void*>(result+1));\n      characters[result->length] = m_traits.translate(c, m_icase);\n      result->length += 1;\n   }\n   return result;\n}\n\ntemplate <class charT, class traits>\ninline re_syntax_base* basic_regex_creator<charT, traits>::append_set(\n   const basic_char_set<charT, traits>& char_set)\n{\n   typedef std::integral_constant<bool, (sizeof(charT) == 1) > truth_type;\n   return char_set.has_digraphs() \n      ? append_set(char_set, static_cast<std::integral_constant<bool, false>*>(0))\n      : append_set(char_set, static_cast<truth_type*>(0));\n}\n\ntemplate <class charT, class traits>\nre_syntax_base* basic_regex_creator<charT, traits>::append_set(\n   const basic_char_set<charT, traits>& char_set, std::integral_constant<bool, false>*)\n{\n   typedef typename traits::string_type string_type;\n   typedef typename basic_char_set<charT, traits>::list_iterator item_iterator;\n   typedef typename basic_char_set<charT, traits>::set_iterator  set_iterator;\n   typedef typename traits::char_class_type m_type;\n   \n   re_set_long<m_type>* result = static_cast<re_set_long<m_type>*>(append_state(syntax_element_long_set, sizeof(re_set_long<m_type>)));\n   //\n   // fill in the basics:\n   //\n   result->csingles = static_cast<unsigned int>(std::distance(char_set.singles_begin(), char_set.singles_end()));\n   result->cranges = static_cast<unsigned int>(std::distance(char_set.ranges_begin(), char_set.ranges_end())) / 2;\n   result->cequivalents = static_cast<unsigned int>(std::distance(char_set.equivalents_begin(), char_set.equivalents_end()));\n   result->cclasses = char_set.classes();\n   result->cnclasses = char_set.negated_classes();\n   if(flags() & regbase::icase)\n   {\n      // adjust classes as needed:\n      if(((result->cclasses & m_lower_mask) == m_lower_mask) || ((result->cclasses & m_upper_mask) == m_upper_mask))\n         result->cclasses |= m_alpha_mask;\n      if(((result->cnclasses & m_lower_mask) == m_lower_mask) || ((result->cnclasses & m_upper_mask) == m_upper_mask))\n         result->cnclasses |= m_alpha_mask;\n   }\n\n   result->isnot = char_set.is_negated();\n   result->singleton = !char_set.has_digraphs();\n   //\n   // remember where the state is for later:\n   //\n   std::ptrdiff_t offset = getoffset(result);\n   //\n   // now extend with all the singles:\n   //\n   item_iterator first, last;\n   set_iterator sfirst, slast;\n   sfirst = char_set.singles_begin();\n   slast = char_set.singles_end();\n   while(sfirst != slast)\n   {\n      charT* p = static_cast<charT*>(this->m_pdata->m_data.extend(sizeof(charT) * (sfirst->first == static_cast<charT>(0) ? 1 : sfirst->second ? 3 : 2)));\n      p[0] = m_traits.translate(sfirst->first, m_icase);\n      if(sfirst->first == static_cast<charT>(0))\n      {\n         p[0] = 0;\n      }\n      else if(sfirst->second)\n      {\n         p[1] = m_traits.translate(sfirst->second, m_icase);\n         p[2] = 0;\n      }\n      else\n         p[1] = 0;\n      ++sfirst;\n   }\n   //\n   // now extend with all the ranges:\n   //\n   first = char_set.ranges_begin();\n   last = char_set.ranges_end();\n   while(first != last)\n   {\n      // first grab the endpoints of the range:\n      digraph<charT> c1 = *first;\n      c1.first = this->m_traits.translate(c1.first, this->m_icase);\n      c1.second = this->m_traits.translate(c1.second, this->m_icase);\n      ++first;\n      digraph<charT> c2 = *first;\n      c2.first = this->m_traits.translate(c2.first, this->m_icase);\n      c2.second = this->m_traits.translate(c2.second, this->m_icase);\n      ++first;\n      string_type s1, s2;\n      // different actions now depending upon whether collation is turned on:\n      if(flags() & regex_constants::collate)\n      {\n         // we need to transform our range into sort keys:\n         charT a1[3] = { c1.first, c1.second, charT(0), };\n         charT a2[3] = { c2.first, c2.second, charT(0), };\n         s1 = this->m_traits.transform(a1, (a1[1] ? a1+2 : a1+1));\n         s2 = this->m_traits.transform(a2, (a2[1] ? a2+2 : a2+1));\n         if(s1.empty())\n            s1 = string_type(1, charT(0));\n         if(s2.empty())\n            s2 = string_type(1, charT(0));\n      }\n      else\n      {\n         if(c1.second)\n         {\n            s1.insert(s1.end(), c1.first);\n            s1.insert(s1.end(), c1.second);\n         }\n         else\n            s1 = string_type(1, c1.first);\n         if(c2.second)\n         {\n            s2.insert(s2.end(), c2.first);\n            s2.insert(s2.end(), c2.second);\n         }\n         else\n            s2.insert(s2.end(), c2.first);\n      }\n      if(s1 > s2)\n      {\n         // Oops error:\n         return 0;\n      }\n      charT* p = static_cast<charT*>(this->m_pdata->m_data.extend(sizeof(charT) * (s1.size() + s2.size() + 2) ) );\n      BOOST_REGEX_DETAIL_NS::copy(s1.begin(), s1.end(), p);\n      p[s1.size()] = charT(0);\n      p += s1.size() + 1;\n      BOOST_REGEX_DETAIL_NS::copy(s2.begin(), s2.end(), p);\n      p[s2.size()] = charT(0);\n   }\n   //\n   // now process the equivalence classes:\n   //\n   sfirst = char_set.equivalents_begin();\n   slast = char_set.equivalents_end();\n   while(sfirst != slast)\n   {\n      string_type s;\n      if(sfirst->second)\n      {\n         charT cs[3] = { sfirst->first, sfirst->second, charT(0), };\n         s = m_traits.transform_primary(cs, cs+2);\n      }\n      else\n         s = m_traits.transform_primary(&sfirst->first, &sfirst->first+1);\n      if(s.empty())\n         return 0;  // invalid or unsupported equivalence class\n      charT* p = static_cast<charT*>(this->m_pdata->m_data.extend(sizeof(charT) * (s.size()+1) ) );\n      BOOST_REGEX_DETAIL_NS::copy(s.begin(), s.end(), p);\n      p[s.size()] = charT(0);\n      ++sfirst;\n   }\n   //\n   // finally reset the address of our last state:\n   //\n   m_last_state = result = static_cast<re_set_long<m_type>*>(getaddress(offset));\n   return result;\n}\n\ntemplate<class T>\ninline bool char_less(T t1, T t2)\n{\n   return t1 < t2;\n}\ninline bool char_less(char t1, char t2)\n{\n   return static_cast<unsigned char>(t1) < static_cast<unsigned char>(t2);\n}\ninline bool char_less(signed char t1, signed char t2)\n{\n   return static_cast<unsigned char>(t1) < static_cast<unsigned char>(t2);\n}\n\ntemplate <class charT, class traits>\nre_syntax_base* basic_regex_creator<charT, traits>::append_set(\n   const basic_char_set<charT, traits>& char_set, std::integral_constant<bool, true>*)\n{\n   typedef typename traits::string_type string_type;\n   typedef typename basic_char_set<charT, traits>::list_iterator item_iterator;\n   typedef typename basic_char_set<charT, traits>::set_iterator set_iterator;\n\n   re_set* result = static_cast<re_set*>(append_state(syntax_element_set, sizeof(re_set)));\n   bool negate = char_set.is_negated();\n   std::memset(result->_map, 0, sizeof(result->_map));\n   //\n   // handle singles first:\n   //\n   item_iterator first, last;\n   set_iterator sfirst, slast;\n   sfirst = char_set.singles_begin();\n   slast = char_set.singles_end();\n   while(sfirst != slast)\n   {\n      for(unsigned int i = 0; i < (1 << CHAR_BIT); ++i)\n      {\n         if(this->m_traits.translate(static_cast<charT>(i), this->m_icase)\n            == this->m_traits.translate(sfirst->first, this->m_icase))\n            result->_map[i] = true;\n      }\n      ++sfirst;\n   }\n   //\n   // OK now handle ranges:\n   //\n   first = char_set.ranges_begin();\n   last = char_set.ranges_end();\n   while(first != last)\n   {\n      // first grab the endpoints of the range:\n      charT c1 = this->m_traits.translate(first->first, this->m_icase);\n      ++first;\n      charT c2 = this->m_traits.translate(first->first, this->m_icase);\n      ++first;\n      // different actions now depending upon whether collation is turned on:\n      if(flags() & regex_constants::collate)\n      {\n         // we need to transform our range into sort keys:\n         charT c3[2] = { c1, charT(0), };\n         string_type s1 = this->m_traits.transform(c3, c3+1);\n         c3[0] = c2;\n         string_type s2 = this->m_traits.transform(c3, c3+1);\n         if(s1 > s2)\n         {\n            // Oops error:\n            return 0;\n         }\n         BOOST_REGEX_ASSERT(c3[1] == charT(0));\n         for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)\n         {\n            c3[0] = static_cast<charT>(i);\n            string_type s3 = this->m_traits.transform(c3, c3 +1);\n            if((s1 <= s3) && (s3 <= s2))\n               result->_map[i] = true;\n         }\n      }\n      else\n      {\n         if(char_less(c2, c1))\n         {\n            // Oops error:\n            return 0;\n         }\n         // everything in range matches:\n         std::memset(result->_map + static_cast<unsigned char>(c1), true, static_cast<unsigned char>(1u) + static_cast<unsigned char>(static_cast<unsigned char>(c2) - static_cast<unsigned char>(c1)));\n      }\n   }\n   //\n   // and now the classes:\n   //\n   typedef typename traits::char_class_type m_type;\n   m_type m = char_set.classes();\n   if(flags() & regbase::icase)\n   {\n      // adjust m as needed:\n      if(((m & m_lower_mask) == m_lower_mask) || ((m & m_upper_mask) == m_upper_mask))\n         m |= m_alpha_mask;\n   }\n   if(m != 0)\n   {\n      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)\n      {\n         if(this->m_traits.isctype(static_cast<charT>(i), m))\n            result->_map[i] = true;\n      }\n   }\n   //\n   // and now the negated classes:\n   //\n   m = char_set.negated_classes();\n   if(flags() & regbase::icase)\n   {\n      // adjust m as needed:\n      if(((m & m_lower_mask) == m_lower_mask) || ((m & m_upper_mask) == m_upper_mask))\n         m |= m_alpha_mask;\n   }\n   if(m != 0)\n   {\n      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)\n      {\n         if(0 == this->m_traits.isctype(static_cast<charT>(i), m))\n            result->_map[i] = true;\n      }\n   }\n   //\n   // now process the equivalence classes:\n   //\n   sfirst = char_set.equivalents_begin();\n   slast = char_set.equivalents_end();\n   while(sfirst != slast)\n   {\n      string_type s;\n      BOOST_REGEX_ASSERT(static_cast<charT>(0) == sfirst->second);\n      s = m_traits.transform_primary(&sfirst->first, &sfirst->first+1);\n      if(s.empty())\n         return 0;  // invalid or unsupported equivalence class\n      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)\n      {\n         charT c[2] = { (static_cast<charT>(i)), charT(0), };\n         string_type s2 = this->m_traits.transform_primary(c, c+1);\n         if(s == s2)\n            result->_map[i] = true;\n      }\n      ++sfirst;\n   }\n   if(negate)\n   {\n      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)\n      {\n         result->_map[i] = !(result->_map[i]);\n      }\n   }\n   return result;\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::finalize(const charT* p1, const charT* p2)\n{\n   if(this->m_pdata->m_status)\n      return;\n   // we've added all the states we need, now finish things off.\n   // start by adding a terminating state:\n   append_state(syntax_element_match);\n   // extend storage to store original expression:\n   std::ptrdiff_t len = p2 - p1;\n   m_pdata->m_expression_len = len;\n   charT* ps = static_cast<charT*>(m_pdata->m_data.extend(sizeof(charT) * (1 + (p2 - p1))));\n   m_pdata->m_expression = ps;\n   BOOST_REGEX_DETAIL_NS::copy(p1, p2, ps);\n   ps[p2 - p1] = 0;\n   // fill in our other data...\n   // successful parsing implies a zero status:\n   m_pdata->m_status = 0;\n   // get the first state of the machine:\n   m_pdata->m_first_state = static_cast<re_syntax_base*>(m_pdata->m_data.data());\n   // fixup pointers in the machine:\n   fixup_pointers(m_pdata->m_first_state);\n   if(m_has_recursions)\n   {\n      m_pdata->m_has_recursions = true;\n      fixup_recursions(m_pdata->m_first_state);\n      if(this->m_pdata->m_status)\n         return;\n   }\n   else\n      m_pdata->m_has_recursions = false;\n   // create nested startmaps:\n   create_startmaps(m_pdata->m_first_state);\n   // create main startmap:\n   std::memset(m_pdata->m_startmap, 0, sizeof(m_pdata->m_startmap));\n   m_pdata->m_can_be_null = 0;\n\n   m_bad_repeats = 0;\n   if(m_has_recursions)\n      m_recursion_checks.assign(1 + m_pdata->m_mark_count, 0u);\n   create_startmap(m_pdata->m_first_state, m_pdata->m_startmap, &(m_pdata->m_can_be_null), mask_all);\n   // get the restart type:\n   m_pdata->m_restart_type = get_restart_type(m_pdata->m_first_state);\n   // optimise a leading repeat if there is one:\n   probe_leading_repeat(m_pdata->m_first_state);\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::fixup_pointers(re_syntax_base* state)\n{\n   while(state)\n   {\n      switch(state->type)\n      {\n      case syntax_element_recurse:\n         m_has_recursions = true;\n         if(state->next.i)\n            state->next.p = getaddress(state->next.i, state);\n         else\n            state->next.p = 0;\n         break;\n      case syntax_element_rep:\n      case syntax_element_dot_rep:\n      case syntax_element_char_rep:\n      case syntax_element_short_set_rep:\n      case syntax_element_long_set_rep:\n         // set the state_id of this repeat:\n         static_cast<re_repeat*>(state)->state_id = m_repeater_id++;\n         BOOST_REGEX_FALLTHROUGH;\n      case syntax_element_alt:\n         std::memset(static_cast<re_alt*>(state)->_map, 0, sizeof(static_cast<re_alt*>(state)->_map));\n         static_cast<re_alt*>(state)->can_be_null = 0;\n         BOOST_REGEX_FALLTHROUGH;\n      case syntax_element_jump:\n         static_cast<re_jump*>(state)->alt.p = getaddress(static_cast<re_jump*>(state)->alt.i, state);\n         BOOST_REGEX_FALLTHROUGH;\n      default:\n         if(state->next.i)\n            state->next.p = getaddress(state->next.i, state);\n         else\n            state->next.p = 0;\n      }\n      state = state->next.p;\n   }\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::fixup_recursions(re_syntax_base* state)\n{\n   re_syntax_base* base = state;\n   while(state)\n   {\n      switch(state->type)\n      {\n      case syntax_element_assert_backref:\n         {\n            // just check that the index is valid:\n            int idx = static_cast<const re_brace*>(state)->index;\n            if(idx < 0)\n            {\n               idx = -idx-1;\n               if(idx >= hash_value_mask)\n               {\n                  idx = m_pdata->get_id(idx);\n                  if(idx <= 0)\n                  {\n                     // check of sub-expression that doesn't exist:\n                     if(0 == this->m_pdata->m_status) // update the error code if not already set\n                        this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;\n                     //\n                     // clear the expression, we should be empty:\n                     //\n                     this->m_pdata->m_expression = 0;\n                     this->m_pdata->m_expression_len = 0;\n                     //\n                     // and throw if required:\n                     //\n                     if(0 == (this->flags() & regex_constants::no_except))\n                     {\n                        std::string message = \"Encountered a forward reference to a marked sub-expression that does not exist.\";\n                        boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);\n                        e.raise();\n                     }\n                  }\n               }\n            }\n         }\n         break;\n      case syntax_element_recurse:\n         {\n            bool ok = false;\n            re_syntax_base* p = base;\n            std::ptrdiff_t idx = static_cast<re_jump*>(state)->alt.i;\n            if(idx >= hash_value_mask)\n            {\n               //\n               // There may be more than one capture group with this hash, just do what Perl\n               // does and recurse to the leftmost:\n               //\n               idx = m_pdata->get_id(static_cast<int>(idx));\n            }\n            if(idx < 0)\n            {\n               ok = false;\n            }\n            else\n            {\n               while(p)\n               {\n                  if((p->type == syntax_element_startmark) && (static_cast<re_brace*>(p)->index == idx))\n                  {\n                     //\n                     // We've found the target of the recursion, set the jump target:\n                     //\n                     static_cast<re_jump*>(state)->alt.p = p;\n                     ok = true;\n                     // \n                     // Now scan the target for nested repeats:\n                     //\n                     p = p->next.p;\n                     int next_rep_id = 0;\n                     while(p)\n                     {\n                        switch(p->type)\n                        {\n                        case syntax_element_rep:\n                        case syntax_element_dot_rep:\n                        case syntax_element_char_rep:\n                        case syntax_element_short_set_rep:\n                        case syntax_element_long_set_rep:\n                           next_rep_id = static_cast<re_repeat*>(p)->state_id;\n                           break;\n                        case syntax_element_endmark:\n                           if(static_cast<const re_brace*>(p)->index == idx)\n                              next_rep_id = -1;\n                           break;\n                        default:\n                           break;\n                        }\n                        if(next_rep_id)\n                           break;\n                        p = p->next.p;\n                     }\n                     if(next_rep_id > 0)\n                     {\n                        static_cast<re_recurse*>(state)->state_id = next_rep_id - 1;\n                     }\n\n                     break;\n                  }\n                  p = p->next.p;\n               }\n            }\n            if(!ok)\n            {\n               // recursion to sub-expression that doesn't exist:\n               if(0 == this->m_pdata->m_status) // update the error code if not already set\n                  this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;\n               //\n               // clear the expression, we should be empty:\n               //\n               this->m_pdata->m_expression = 0;\n               this->m_pdata->m_expression_len = 0;\n               //\n               // and throw if required:\n               //\n               if(0 == (this->flags() & regex_constants::no_except))\n               {\n                  std::string message = \"Encountered a forward reference to a recursive sub-expression that does not exist.\";\n                  boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);\n                  e.raise();\n               }\n            }\n         }\n         break;\n      default:\n         break;\n      }\n      state = state->next.p;\n   }\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::create_startmaps(re_syntax_base* state)\n{\n   // non-recursive implementation:\n   // create the last map in the machine first, so that earlier maps\n   // can make use of the result...\n   //\n   // This was originally a recursive implementation, but that caused stack\n   // overflows with complex expressions on small stacks (think COM+).\n\n   // start by saving the case setting:\n   bool l_icase = m_icase;\n   std::vector<std::pair<bool, re_syntax_base*> > v;\n\n   while(state)\n   {\n      switch(state->type)\n      {\n      case syntax_element_toggle_case:\n         // we need to track case changes here:\n         m_icase = static_cast<re_case*>(state)->icase;\n         state = state->next.p;\n         continue;\n      case syntax_element_alt:\n      case syntax_element_rep:\n      case syntax_element_dot_rep:\n      case syntax_element_char_rep:\n      case syntax_element_short_set_rep:\n      case syntax_element_long_set_rep:\n         // just push the state onto our stack for now:\n         v.push_back(std::pair<bool, re_syntax_base*>(m_icase, state));\n         state = state->next.p;\n         break;\n      case syntax_element_backstep:\n         // we need to calculate how big the backstep is:\n         static_cast<re_brace*>(state)->index\n            = this->calculate_backstep(state->next.p);\n         if(static_cast<re_brace*>(state)->index < 0)\n         {\n            // Oops error:\n            if(0 == this->m_pdata->m_status) // update the error code if not already set\n               this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;\n            //\n            // clear the expression, we should be empty:\n            //\n            this->m_pdata->m_expression = 0;\n            this->m_pdata->m_expression_len = 0;\n            //\n            // and throw if required:\n            //\n            if(0 == (this->flags() & regex_constants::no_except))\n            {\n               std::string message = \"Invalid lookbehind assertion encountered in the regular expression.\";\n               boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);\n               e.raise();\n            }\n         }\n         BOOST_REGEX_FALLTHROUGH;\n      default:\n         state = state->next.p;\n      }\n   }\n\n   // now work through our list, building all the maps as we go:\n   while(!v.empty())\n   {\n      // Initialize m_recursion_checks if we need it:\n      if(m_has_recursions)\n         m_recursion_checks.assign(1 + m_pdata->m_mark_count, 0u);\n\n      const std::pair<bool, re_syntax_base*>& p = v.back();\n      m_icase = p.first;\n      state = p.second;\n      v.pop_back();\n\n      // Build maps:\n      m_bad_repeats = 0;\n      create_startmap(state->next.p, static_cast<re_alt*>(state)->_map, &static_cast<re_alt*>(state)->can_be_null, mask_take);\n      m_bad_repeats = 0;\n\n      if(m_has_recursions)\n         m_recursion_checks.assign(1 + m_pdata->m_mark_count, 0u);\n      create_startmap(static_cast<re_alt*>(state)->alt.p, static_cast<re_alt*>(state)->_map, &static_cast<re_alt*>(state)->can_be_null, mask_skip);\n      // adjust the type of the state to allow for faster matching:\n      state->type = this->get_repeat_type(state);\n   }\n   // restore case sensitivity:\n   m_icase = l_icase;\n}\n\ntemplate <class charT, class traits>\nint basic_regex_creator<charT, traits>::calculate_backstep(re_syntax_base* state)\n{\n   typedef typename traits::char_class_type m_type;\n   int result = 0;\n   while(state)\n   {\n      switch(state->type)\n      {\n      case syntax_element_startmark:\n         if((static_cast<re_brace*>(state)->index == -1)\n            || (static_cast<re_brace*>(state)->index == -2))\n         {\n            state = static_cast<re_jump*>(state->next.p)->alt.p->next.p;\n            continue;\n         }\n         else if(static_cast<re_brace*>(state)->index == -3)\n         {\n            state = state->next.p->next.p;\n            continue;\n         }\n         break;\n      case syntax_element_endmark:\n         if((static_cast<re_brace*>(state)->index == -1)\n            || (static_cast<re_brace*>(state)->index == -2))\n            return result;\n         break;\n      case syntax_element_literal:\n         result += static_cast<re_literal*>(state)->length;\n         break;\n      case syntax_element_wild:\n      case syntax_element_set:\n         result += 1;\n         break;\n      case syntax_element_dot_rep:\n      case syntax_element_char_rep:\n      case syntax_element_short_set_rep:\n      case syntax_element_backref:\n      case syntax_element_rep:\n      case syntax_element_combining:\n      case syntax_element_long_set_rep:\n      case syntax_element_backstep:\n         {\n            re_repeat* rep = static_cast<re_repeat *>(state);\n            // adjust the type of the state to allow for faster matching:\n            state->type = this->get_repeat_type(state);\n            if((state->type == syntax_element_dot_rep) \n               || (state->type == syntax_element_char_rep)\n               || (state->type == syntax_element_short_set_rep))\n            {\n               if(rep->max != rep->min)\n                  return -1;\n               result += static_cast<int>(rep->min);\n               state = rep->alt.p;\n               continue;\n            }\n            else if(state->type == syntax_element_long_set_rep)\n            {\n               BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_long_set);\n               if(static_cast<re_set_long<m_type>*>(rep->next.p)->singleton == 0)\n                  return -1;\n               if(rep->max != rep->min)\n                  return -1;\n               result += static_cast<int>(rep->min);\n               state = rep->alt.p;\n               continue;\n            }\n         }\n         return -1;\n      case syntax_element_long_set:\n         if(static_cast<re_set_long<m_type>*>(state)->singleton == 0)\n            return -1;\n         result += 1;\n         break;\n      case syntax_element_jump:\n         state = static_cast<re_jump*>(state)->alt.p;\n         continue;\n      case syntax_element_alt:\n         {\n            int r1 = calculate_backstep(state->next.p);\n            int r2 = calculate_backstep(static_cast<re_alt*>(state)->alt.p);\n            if((r1 < 0) || (r1 != r2))\n               return -1;\n            return result + r1;\n         }\n      default:\n         break;\n      }\n      state = state->next.p;\n   }\n   return -1;\n}\n\nstruct recursion_saver\n{\n   std::vector<unsigned char> saved_state;\n   std::vector<unsigned char>* state;\n   recursion_saver(std::vector<unsigned char>* p) : saved_state(*p), state(p) {}\n   ~recursion_saver()\n   {\n      state->swap(saved_state);\n   }\n};\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask)\n{\n   recursion_saver saved_recursions(&m_recursion_checks);\n   int not_last_jump = 1;\n   re_syntax_base* recursion_start = 0;\n   int recursion_sub = 0;\n   re_syntax_base* recursion_restart = 0;\n\n   // track case sensitivity:\n   bool l_icase = m_icase;\n\n   while(state)\n   {\n      switch(state->type)\n      {\n      case syntax_element_toggle_case:\n         l_icase = static_cast<re_case*>(state)->icase;\n         state = state->next.p;\n         break;\n      case syntax_element_literal:\n      {\n         // don't set anything in *pnull, set each element in l_map\n         // that could match the first character in the literal:\n         if(l_map)\n         {\n            l_map[0] |= mask_init;\n            charT first_char = *static_cast<charT*>(static_cast<void*>(static_cast<re_literal*>(state) + 1));\n            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)\n            {\n               if(m_traits.translate(static_cast<charT>(i), l_icase) == first_char)\n                  l_map[i] |= mask;\n            }\n         }\n         return;\n      }\n      case syntax_element_end_line:\n      {\n         // next character must be a line separator (if there is one):\n         if(l_map)\n         {\n            l_map[0] |= mask_init;\n            l_map[static_cast<unsigned>('\\n')] |= mask;\n            l_map[static_cast<unsigned>('\\r')] |= mask;\n            l_map[static_cast<unsigned>('\\f')] |= mask;\n            l_map[0x85] |= mask;\n         }\n         // now figure out if we can match a NULL string at this point:\n         if(pnull)\n            create_startmap(state->next.p, 0, pnull, mask);\n         return;\n      }\n      case syntax_element_recurse:\n         {\n            BOOST_REGEX_ASSERT(static_cast<const re_jump*>(state)->alt.p->type == syntax_element_startmark);\n            recursion_sub = static_cast<re_brace*>(static_cast<const re_jump*>(state)->alt.p)->index;\n            if(m_recursion_checks[recursion_sub] & 1u)\n            {\n               // Infinite recursion!!\n               if(0 == this->m_pdata->m_status) // update the error code if not already set\n                  this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;\n               //\n               // clear the expression, we should be empty:\n               //\n               this->m_pdata->m_expression = 0;\n               this->m_pdata->m_expression_len = 0;\n               //\n               // and throw if required:\n               //\n               if(0 == (this->flags() & regex_constants::no_except))\n               {\n                  std::string message = \"Encountered an infinite recursion.\";\n                  boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);\n                  e.raise();\n               }\n            }\n            else if(recursion_start == 0)\n            {\n               recursion_start = state;\n               recursion_restart = state->next.p;\n               state = static_cast<re_jump*>(state)->alt.p;\n               m_recursion_checks[recursion_sub] |= 1u;\n               break;\n            }\n            m_recursion_checks[recursion_sub] |= 1u;\n            // can't handle nested recursion here...\n            BOOST_REGEX_FALLTHROUGH;\n         }\n      case syntax_element_backref:\n         // can be null, and any character can match:\n         if(pnull)\n            *pnull |= mask;\n         BOOST_REGEX_FALLTHROUGH;\n      case syntax_element_wild:\n      {\n         // can't be null, any character can match:\n         set_all_masks(l_map, mask);\n         return;\n      }\n      case syntax_element_accept:\n      case syntax_element_match:\n      {\n         // must be null, any character can match:\n         set_all_masks(l_map, mask);\n         if(pnull)\n            *pnull |= mask;\n         return;\n      }\n      case syntax_element_word_start:\n      {\n         // recurse, then AND with all the word characters:\n         create_startmap(state->next.p, l_map, pnull, mask);\n         if(l_map)\n         {\n            l_map[0] |= mask_init;\n            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)\n            {\n               if(!m_traits.isctype(static_cast<charT>(i), m_word_mask))\n                  l_map[i] &= static_cast<unsigned char>(~mask);\n            }\n         }\n         return;\n      }\n      case syntax_element_word_end:\n      {\n         // recurse, then AND with all the word characters:\n         create_startmap(state->next.p, l_map, pnull, mask);\n         if(l_map)\n         {\n            l_map[0] |= mask_init;\n            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)\n            {\n               if(m_traits.isctype(static_cast<charT>(i), m_word_mask))\n                  l_map[i] &= static_cast<unsigned char>(~mask);\n            }\n         }\n         return;\n      }\n      case syntax_element_buffer_end:\n      {\n         // we *must be null* :\n         if(pnull)\n            *pnull |= mask;\n         return;\n      }\n      case syntax_element_long_set:\n         if(l_map)\n         {\n            typedef typename traits::char_class_type m_type;\n            if(static_cast<re_set_long<m_type>*>(state)->singleton)\n            {\n               l_map[0] |= mask_init;\n               for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)\n               {\n                  charT c = static_cast<charT>(i);\n                  if(&c != re_is_set_member(&c, &c + 1, static_cast<re_set_long<m_type>*>(state), *m_pdata, l_icase))\n                     l_map[i] |= mask;\n               }\n            }\n            else\n               set_all_masks(l_map, mask);\n         }\n         return;\n      case syntax_element_set:\n         if(l_map)\n         {\n            l_map[0] |= mask_init;\n            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)\n            {\n               if(static_cast<re_set*>(state)->_map[\n                  static_cast<unsigned char>(m_traits.translate(static_cast<charT>(i), l_icase))])\n                  l_map[i] |= mask;\n            }\n         }\n         return;\n      case syntax_element_jump:\n         // take the jump:\n         state = static_cast<re_alt*>(state)->alt.p;\n         not_last_jump = -1;\n         break;\n      case syntax_element_alt:\n      case syntax_element_rep:\n      case syntax_element_dot_rep:\n      case syntax_element_char_rep:\n      case syntax_element_short_set_rep:\n      case syntax_element_long_set_rep:\n         {\n            re_alt* rep = static_cast<re_alt*>(state);\n            if(rep->_map[0] & mask_init)\n            {\n               if(l_map)\n               {\n                  // copy previous results:\n                  l_map[0] |= mask_init;\n                  for(unsigned int i = 0; i <= UCHAR_MAX; ++i)\n                  {\n                     if(rep->_map[i] & mask_any)\n                        l_map[i] |= mask;\n                  }\n               }\n               if(pnull)\n               {\n                  if(rep->can_be_null & mask_any)\n                     *pnull |= mask;\n               }\n            }\n            else\n            {\n               // we haven't created a startmap for this alternative yet\n               // so take the union of the two options:\n               if(is_bad_repeat(state))\n               {\n                  set_all_masks(l_map, mask);\n                  if(pnull)\n                     *pnull |= mask;\n                  return;\n               }\n               set_bad_repeat(state);\n               create_startmap(state->next.p, l_map, pnull, mask);\n               if((state->type == syntax_element_alt)\n                  || (static_cast<re_repeat*>(state)->min == 0)\n                  || (not_last_jump == 0))\n                  create_startmap(rep->alt.p, l_map, pnull, mask);\n            }\n         }\n         return;\n      case syntax_element_soft_buffer_end:\n         // match newline or null:\n         if(l_map)\n         {\n            l_map[0] |= mask_init;\n            l_map[static_cast<unsigned>('\\n')] |= mask;\n            l_map[static_cast<unsigned>('\\r')] |= mask;\n         }\n         if(pnull)\n            *pnull |= mask;\n         return;\n      case syntax_element_endmark:\n         // need to handle independent subs as a special case:\n         if(static_cast<re_brace*>(state)->index < 0)\n         {\n            // can be null, any character can match:\n            set_all_masks(l_map, mask);\n            if(pnull)\n               *pnull |= mask;\n            return;\n         }\n         else if(recursion_start && (recursion_sub != 0) && (recursion_sub == static_cast<re_brace*>(state)->index))\n         {\n            // recursion termination:\n            recursion_start = 0;\n            state = recursion_restart;\n            break;\n         }\n\n         //\n         // Normally we just go to the next state... but if this sub-expression is\n         // the target of a recursion, then we might be ending a recursion, in which\n         // case we should check whatever follows that recursion, as well as whatever\n         // follows this state:\n         //\n         if(m_pdata->m_has_recursions && static_cast<re_brace*>(state)->index)\n         {\n            bool ok = false;\n            re_syntax_base* p = m_pdata->m_first_state;\n            while(p)\n            {\n               if(p->type == syntax_element_recurse)\n               {\n                  re_brace* p2 = static_cast<re_brace*>(static_cast<re_jump*>(p)->alt.p);\n                  if((p2->type == syntax_element_startmark) && (p2->index == static_cast<re_brace*>(state)->index))\n                  {\n                     ok = true;\n                     break;\n                  }\n               }\n               p = p->next.p;\n            }\n            if(ok && ((m_recursion_checks[static_cast<re_brace*>(state)->index] & 2u) == 0))\n            {\n               m_recursion_checks[static_cast<re_brace*>(state)->index] |= 2u;\n               create_startmap(p->next.p, l_map, pnull, mask);\n            }\n         }\n         state = state->next.p;\n         break;\n\n      case syntax_element_commit:\n         set_all_masks(l_map, mask);\n         // Continue scanning so we can figure out whether we can be null:\n         state = state->next.p;\n         break;\n      case syntax_element_startmark:\n         // need to handle independent subs as a special case:\n         if(static_cast<re_brace*>(state)->index == -3)\n         {\n            state = state->next.p->next.p;\n            break;\n         }\n         BOOST_REGEX_FALLTHROUGH;\n      default:\n         state = state->next.p;\n      }\n      ++not_last_jump;\n   }\n}\n\ntemplate <class charT, class traits>\nunsigned basic_regex_creator<charT, traits>::get_restart_type(re_syntax_base* state)\n{\n   //\n   // find out how the machine starts, so we can optimise the search:\n   //\n   while(state)\n   {\n      switch(state->type)\n      {\n      case syntax_element_startmark:\n      case syntax_element_endmark:\n         state = state->next.p;\n         continue;\n      case syntax_element_start_line:\n         return regbase::restart_line;\n      case syntax_element_word_start:\n         return regbase::restart_word;\n      case syntax_element_buffer_start:\n         return regbase::restart_buf;\n      case syntax_element_restart_continue:\n         return regbase::restart_continue;\n      default:\n         state = 0;\n         continue;\n      }\n   }\n   return regbase::restart_any;\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::set_all_masks(unsigned char* bits, unsigned char mask)\n{\n   //\n   // set mask in all of bits elements, \n   // if bits[0] has mask_init not set then we can \n   // optimise this to a call to memset:\n   //\n   if(bits)\n   {\n      if(bits[0] == 0)\n         (std::memset)(bits, mask, 1u << CHAR_BIT);\n      else\n      {\n         for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)\n            bits[i] |= mask;\n      }\n      bits[0] |= mask_init;\n   }\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_creator<charT, traits>::is_bad_repeat(re_syntax_base* pt)\n{\n   switch(pt->type)\n   {\n   case syntax_element_rep:\n   case syntax_element_dot_rep:\n   case syntax_element_char_rep:\n   case syntax_element_short_set_rep:\n   case syntax_element_long_set_rep:\n      {\n         unsigned state_id = static_cast<re_repeat*>(pt)->state_id;\n         if(state_id >= sizeof(m_bad_repeats) * CHAR_BIT)\n            return true;  // run out of bits, assume we can't traverse this one.\n         static const std::uintmax_t one = 1uL;\n         return m_bad_repeats & (one << state_id);\n      }\n   default:\n      return false;\n   }\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::set_bad_repeat(re_syntax_base* pt)\n{\n   switch(pt->type)\n   {\n   case syntax_element_rep:\n   case syntax_element_dot_rep:\n   case syntax_element_char_rep:\n   case syntax_element_short_set_rep:\n   case syntax_element_long_set_rep:\n      {\n         unsigned state_id = static_cast<re_repeat*>(pt)->state_id;\n         static const std::uintmax_t one = 1uL;\n         if(state_id <= sizeof(m_bad_repeats) * CHAR_BIT)\n            m_bad_repeats |= (one << state_id);\n      }\n      break;\n   default:\n      break;\n   }\n}\n\ntemplate <class charT, class traits>\nsyntax_element_type basic_regex_creator<charT, traits>::get_repeat_type(re_syntax_base* state)\n{\n   typedef typename traits::char_class_type m_type;\n   if(state->type == syntax_element_rep)\n   {\n      // check to see if we are repeating a single state:\n      if(state->next.p->next.p->next.p == static_cast<re_alt*>(state)->alt.p)\n      {\n         switch(state->next.p->type)\n         {\n         case BOOST_REGEX_DETAIL_NS::syntax_element_wild:\n            return BOOST_REGEX_DETAIL_NS::syntax_element_dot_rep;\n         case BOOST_REGEX_DETAIL_NS::syntax_element_literal:\n            return BOOST_REGEX_DETAIL_NS::syntax_element_char_rep;\n         case BOOST_REGEX_DETAIL_NS::syntax_element_set:\n            return BOOST_REGEX_DETAIL_NS::syntax_element_short_set_rep;\n         case BOOST_REGEX_DETAIL_NS::syntax_element_long_set:\n            if(static_cast<BOOST_REGEX_DETAIL_NS::re_set_long<m_type>*>(state->next.p)->singleton)\n               return BOOST_REGEX_DETAIL_NS::syntax_element_long_set_rep;\n            break;\n         default:\n            break;\n         }\n      }\n   }\n   return state->type;\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_creator<charT, traits>::probe_leading_repeat(re_syntax_base* state)\n{\n   // enumerate our states, and see if we have a leading repeat \n   // for which failed search restarts can be optimized;\n   do\n   {\n      switch(state->type)\n      {\n      case syntax_element_startmark:\n         if(static_cast<re_brace*>(state)->index >= 0)\n         {\n            state = state->next.p;\n            continue;\n         }\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#pragma warning(disable:6011)\n#endif\n         if((static_cast<re_brace*>(state)->index == -1)\n            || (static_cast<re_brace*>(state)->index == -2))\n         {\n            // skip past the zero width assertion:\n            state = static_cast<const re_jump*>(state->next.p)->alt.p->next.p;\n            continue;\n         }\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n         if(static_cast<re_brace*>(state)->index == -3)\n         {\n            // Have to skip the leading jump state:\n            state = state->next.p->next.p;\n            continue;\n         }\n         return;\n      case syntax_element_endmark:\n      case syntax_element_start_line:\n      case syntax_element_end_line:\n      case syntax_element_word_boundary:\n      case syntax_element_within_word:\n      case syntax_element_word_start:\n      case syntax_element_word_end:\n      case syntax_element_buffer_start:\n      case syntax_element_buffer_end:\n      case syntax_element_restart_continue:\n         state = state->next.p;\n         break;\n      case syntax_element_dot_rep:\n      case syntax_element_char_rep:\n      case syntax_element_short_set_rep:\n      case syntax_element_long_set_rep:\n         if(this->m_has_backrefs == 0)\n            static_cast<re_repeat*>(state)->leading = true;\n         BOOST_REGEX_FALLTHROUGH;\n      default:\n         return;\n      }\n   }while(state);\n}\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\n} // namespace boost\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/basic_regex_parser.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         basic_regex_parser.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares template class basic_regex_parser.\n  */\n\n#ifndef BOOST_REGEX_V5_BASIC_REGEX_PARSER_HPP\n#define BOOST_REGEX_V5_BASIC_REGEX_PARSER_HPP\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4244 4459)\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\ninline std::intmax_t umax(std::integral_constant<bool, false> const&)\n{\n   // Get out clause here, just in case numeric_limits is unspecialized:\n   return std::numeric_limits<std::intmax_t>::is_specialized ? (std::numeric_limits<std::intmax_t>::max)() : INT_MAX;\n}\ninline std::intmax_t umax(std::integral_constant<bool, true> const&)\n{\n   return (std::numeric_limits<std::size_t>::max)();\n}\n\ninline std::intmax_t umax()\n{\n   return umax(std::integral_constant<bool, std::numeric_limits<std::intmax_t>::digits >= std::numeric_limits<std::size_t>::digits>());\n}\n\ntemplate <class charT, class traits>\nclass basic_regex_parser : public basic_regex_creator<charT, traits>\n{\npublic:\n   basic_regex_parser(regex_data<charT, traits>* data);\n   void parse(const charT* p1, const charT* p2, unsigned flags);\n   void fail(regex_constants::error_type error_code, std::ptrdiff_t position);\n   void fail(regex_constants::error_type error_code, std::ptrdiff_t position, std::string message, std::ptrdiff_t start_pos);\n   void fail(regex_constants::error_type error_code, std::ptrdiff_t position, const std::string& message)\n   {\n      fail(error_code, position, message, position);\n   }\n\n   bool parse_all();\n   bool parse_basic();\n   bool parse_extended();\n   bool parse_literal();\n   bool parse_open_paren();\n   bool parse_basic_escape();\n   bool parse_extended_escape();\n   bool parse_match_any();\n   bool parse_repeat(std::size_t low = 0, std::size_t high = (std::numeric_limits<std::size_t>::max)());\n   bool parse_repeat_range(bool isbasic);\n   bool parse_alt();\n   bool parse_set();\n   bool parse_backref();\n   void parse_set_literal(basic_char_set<charT, traits>& char_set);\n   bool parse_inner_set(basic_char_set<charT, traits>& char_set);\n   bool parse_QE();\n   bool parse_perl_extension();\n   bool parse_perl_verb();\n   bool match_verb(const char*);\n   bool add_emacs_code(bool negate);\n   bool unwind_alts(std::ptrdiff_t last_paren_start);\n   digraph<charT> get_next_set_literal(basic_char_set<charT, traits>& char_set);\n   charT unescape_character();\n   regex_constants::syntax_option_type parse_options();\n\nprivate:\n   typedef bool (basic_regex_parser::*parser_proc_type)();\n   typedef typename traits::string_type string_type;\n   typedef typename traits::char_class_type char_class_type;\n   parser_proc_type           m_parser_proc;    // the main parser to use\n   const charT*               m_base;           // the start of the string being parsed\n   const charT*               m_end;            // the end of the string being parsed\n   const charT*               m_position;       // our current parser position\n   unsigned                   m_mark_count;     // how many sub-expressions we have\n   int                        m_mark_reset;     // used to indicate that we're inside a (?|...) block.\n   unsigned                   m_max_mark;       // largest mark count seen inside a (?|...) block.\n   std::ptrdiff_t             m_paren_start;    // where the last seen ')' began (where repeats are inserted).\n   std::ptrdiff_t             m_alt_insert_point; // where to insert the next alternative\n   bool                       m_has_case_change; // true if somewhere in the current block the case has changed\n   unsigned                   m_recursion_count; // How many times we've called parse_all.\n   unsigned                   m_max_backref;     // Largest index of any backref.\n#if defined(BOOST_REGEX_MSVC) && defined(_M_IX86)\n   // This is an ugly warning suppression workaround (for warnings *inside* std::vector\n   // that can not otherwise be suppressed)...\n   static_assert(sizeof(long) >= sizeof(void*), \"Long isn't long enough!\");\n   std::vector<long>           m_alt_jumps;      // list of alternative in the current scope.\n#else\n   std::vector<std::ptrdiff_t> m_alt_jumps;      // list of alternative in the current scope.\n#endif\n\n   basic_regex_parser& operator=(const basic_regex_parser&);\n   basic_regex_parser(const basic_regex_parser&);\n};\n\ntemplate <class charT, class traits>\nbasic_regex_parser<charT, traits>::basic_regex_parser(regex_data<charT, traits>* data)\n   : basic_regex_creator<charT, traits>(data), m_parser_proc(), m_base(0), m_end(0), m_position(0), \n   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)\n{\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_parser<charT, traits>::parse(const charT* p1, const charT* p2, unsigned l_flags)\n{\n   // pass l_flags on to base class:\n   this->init(l_flags);\n   // set up pointers:\n   m_position = m_base = p1;\n   m_end = p2;\n   // empty strings are errors:\n   if((p1 == p2) && \n      (\n         ((l_flags & regbase::main_option_type) != regbase::perl_syntax_group)\n         || (l_flags & regbase::no_empty_expressions)\n      )\n     )\n   {\n      fail(regex_constants::error_empty, 0);\n      return;\n   }\n   // select which parser to use:\n   switch(l_flags & regbase::main_option_type)\n   {\n   case regbase::perl_syntax_group:\n      {\n         m_parser_proc = &basic_regex_parser<charT, traits>::parse_extended;\n         //\n         // Add a leading paren with index zero to give recursions a target:\n         //\n         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));\n         br->index = 0;\n         br->icase = this->flags() & regbase::icase;\n         break;\n      }\n   case regbase::basic_syntax_group:\n      m_parser_proc = &basic_regex_parser<charT, traits>::parse_basic;\n      break;\n   case regbase::literal:\n      m_parser_proc = &basic_regex_parser<charT, traits>::parse_literal;\n      break;\n   default:\n      // Oops, someone has managed to set more than one of the main option flags, \n      // so this must be an error:\n      fail(regex_constants::error_unknown, 0, \"An invalid combination of regular expression syntax flags was used.\");\n      return;\n   }\n\n   // parse all our characters:\n   bool result = parse_all();\n   //\n   // Unwind our alternatives:\n   //\n   unwind_alts(-1);\n   // reset l_flags as a global scope (?imsx) may have altered them:\n   this->flags(l_flags);\n   // if we haven't gobbled up all the characters then we must\n   // have had an unexpected ')' :\n   if(!result)\n   {\n      fail(regex_constants::error_paren, std::distance(m_base, m_position), \"Found a closing ) with no corresponding opening parenthesis.\");\n      return;\n   }\n   // if an error has been set then give up now:\n   if(this->m_pdata->m_status)\n      return;\n   // fill in our sub-expression count:\n   this->m_pdata->m_mark_count = 1u + (std::size_t)m_mark_count;\n   //\n   // Check we don't have backreferences to sub-expressions which don't exist:\n   //\n   if (m_max_backref > m_mark_count)\n   {\n      fail(regex_constants::error_backref, std::distance(m_base, m_position), \"Found a backreference to a non-existant sub-expression.\");\n   }\n   this->finalize(p1, p2);\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_parser<charT, traits>::fail(regex_constants::error_type error_code, std::ptrdiff_t position)\n{\n   // get the error message:\n   std::string message = this->m_pdata->m_ptraits->error_string(error_code);\n   fail(error_code, position, message);\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_parser<charT, traits>::fail(regex_constants::error_type error_code, std::ptrdiff_t position, std::string message, std::ptrdiff_t start_pos)\n{\n   if(0 == this->m_pdata->m_status) // update the error code if not already set\n      this->m_pdata->m_status = error_code;\n   m_position = m_end; // don't bother parsing anything else\n\n   //\n   // Augment error message with the regular expression text:\n   //\n   if(start_pos == position)\n      start_pos = (std::max)(static_cast<std::ptrdiff_t>(0), position - static_cast<std::ptrdiff_t>(10));\n   std::ptrdiff_t end_pos = (std::min)(position + static_cast<std::ptrdiff_t>(10), static_cast<std::ptrdiff_t>(m_end - m_base));\n   if(error_code != regex_constants::error_empty)\n   {\n      if((start_pos != 0) || (end_pos != (m_end - m_base)))\n         message += \"  The error occurred while parsing the regular expression fragment: '\";\n      else\n         message += \"  The error occurred while parsing the regular expression: '\";\n      if(start_pos != end_pos)\n      {\n         message += std::string(m_base + start_pos, m_base + position);\n         message += \">>>HERE>>>\";\n         message += std::string(m_base + position, m_base + end_pos);\n      }\n      message += \"'.\";\n   }\n\n#ifndef BOOST_NO_EXCEPTIONS\n   if(0 == (this->flags() & regex_constants::no_except))\n   {\n      boost::regex_error e(message, error_code, position);\n      e.raise();\n   }\n#else\n   (void)position; // suppress warnings.\n#endif\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_all()\n{\n   if (++m_recursion_count > 400)\n   {\n      // exceeded internal limits\n      fail(boost::regex_constants::error_complexity, m_position - m_base, \"Exceeded nested brace limit.\");\n   }\n   bool result = true;\n   while(result && (m_position != m_end))\n   {\n      result = (this->*m_parser_proc)();\n   }\n   --m_recursion_count;\n   return result;\n}\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4702)\n#endif\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_basic()\n{\n   switch(this->m_traits.syntax_type(*m_position))\n   {\n   case regex_constants::syntax_escape:\n      return parse_basic_escape();\n   case regex_constants::syntax_dot:\n      return parse_match_any();\n   case regex_constants::syntax_caret:\n      ++m_position;\n      this->append_state(syntax_element_start_line);\n      break;\n   case regex_constants::syntax_dollar:\n      ++m_position;\n      this->append_state(syntax_element_end_line);\n      break;\n   case regex_constants::syntax_star:\n      if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line))\n         return parse_literal();\n      else\n      {\n         ++m_position;\n         return parse_repeat();\n      }\n   case regex_constants::syntax_plus:\n      if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line) || !(this->flags() & regbase::emacs_ex))\n         return parse_literal();\n      else\n      {\n         ++m_position;\n         return parse_repeat(1);\n      }\n   case regex_constants::syntax_question:\n      if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line) || !(this->flags() & regbase::emacs_ex))\n         return parse_literal();\n      else\n      {\n         ++m_position;\n         return parse_repeat(0, 1);\n      }\n   case regex_constants::syntax_open_set:\n      return parse_set();\n   case regex_constants::syntax_newline:\n      if(this->flags() & regbase::newline_alt)\n         return parse_alt();\n      else\n         return parse_literal();\n   default:\n      return parse_literal();\n   }\n   return true;\n}\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#if BOOST_REGEX_MSVC >= 1800\n#pragma warning(disable:26812)\n#endif\n#endif\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_extended()\n{\n   bool result = true;\n   switch(this->m_traits.syntax_type(*m_position))\n   {\n   case regex_constants::syntax_open_mark:\n      return parse_open_paren();\n   case regex_constants::syntax_close_mark:\n      return false;\n   case regex_constants::syntax_escape:\n      return parse_extended_escape();\n   case regex_constants::syntax_dot:\n      return parse_match_any();\n   case regex_constants::syntax_caret:\n      ++m_position;\n      this->append_state(\n         (this->flags() & regex_constants::no_mod_m ? syntax_element_buffer_start : syntax_element_start_line));\n      break;\n   case regex_constants::syntax_dollar:\n      ++m_position;\n      this->append_state(\n         (this->flags() & regex_constants::no_mod_m ? syntax_element_buffer_end : syntax_element_end_line));\n      break;\n   case regex_constants::syntax_star:\n      if(m_position == this->m_base)\n      {\n         fail(regex_constants::error_badrepeat, 0, \"The repeat operator \\\"*\\\" cannot start a regular expression.\");\n         return false;\n      }\n      ++m_position;\n      return parse_repeat();\n   case regex_constants::syntax_question:\n      if(m_position == this->m_base)\n      {\n         fail(regex_constants::error_badrepeat, 0, \"The repeat operator \\\"?\\\" cannot start a regular expression.\");\n         return false;\n      }\n      ++m_position;\n      return parse_repeat(0,1);\n   case regex_constants::syntax_plus:\n      if(m_position == this->m_base)\n      {\n         fail(regex_constants::error_badrepeat, 0, \"The repeat operator \\\"+\\\" cannot start a regular expression.\");\n         return false;\n      }\n      ++m_position;\n      return parse_repeat(1);\n   case regex_constants::syntax_open_brace:\n      ++m_position;\n      return parse_repeat_range(false);\n   case regex_constants::syntax_close_brace:\n      if((this->flags() & regbase::no_perl_ex) == regbase::no_perl_ex)\n      {\n         fail(regex_constants::error_brace, this->m_position - this->m_base, \"Found a closing repetition operator } with no corresponding {.\");\n         return false;\n      }\n      result = parse_literal();\n      break;\n   case regex_constants::syntax_or:\n      return parse_alt();\n   case regex_constants::syntax_open_set:\n      return parse_set();\n   case regex_constants::syntax_newline:\n      if(this->flags() & regbase::newline_alt)\n         return parse_alt();\n      else\n         return parse_literal();\n   case regex_constants::syntax_hash:\n      //\n      // If we have a mod_x flag set, then skip until\n      // we get to a newline character:\n      //\n      if((this->flags() \n         & (regbase::no_perl_ex|regbase::mod_x))\n         == regbase::mod_x)\n      {\n         while((m_position != m_end) && !is_separator(*m_position++)){}\n         return true;\n      }\n      BOOST_REGEX_FALLTHROUGH;\n   default:\n      result = parse_literal();\n      break;\n   }\n   return result;\n}\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_literal()\n{\n   // append this as a literal provided it's not a space character\n   // or the perl option regbase::mod_x is not set:\n   if(\n      ((this->flags() \n         & (regbase::main_option_type|regbase::mod_x|regbase::no_perl_ex)) \n            != regbase::mod_x)\n      || !this->m_traits.isctype(*m_position, this->m_mask_space))\n         this->append_literal(*m_position);\n   ++m_position;\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_open_paren()\n{\n   //\n   // skip the '(' and error check:\n   //\n   if(++m_position == m_end)\n   {\n      fail(regex_constants::error_paren, m_position - m_base);\n      return false;\n   }\n   //\n   // begin by checking for a perl-style (?...) extension:\n   //\n   if(\n         ((this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) == 0)\n         || ((this->flags() & (regbase::main_option_type | regbase::emacs_ex)) == (regbase::basic_syntax_group|regbase::emacs_ex))\n     )\n   {\n      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_question)\n         return parse_perl_extension();\n      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_star)\n         return parse_perl_verb();\n   }\n   //\n   // update our mark count, and append the required state:\n   //\n   unsigned markid = 0;\n   if(0 == (this->flags() & regbase::nosubs))\n   {\n      markid = ++m_mark_count;\n      if(this->flags() & regbase::save_subexpression_location)\n         this->m_pdata->m_subs.push_back(std::pair<std::size_t, std::size_t>(std::distance(m_base, m_position) - 1, 0));\n   }\n   re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));\n   pb->index = markid;\n   pb->icase = this->flags() & regbase::icase;\n   std::ptrdiff_t last_paren_start = this->getoffset(pb);\n   // back up insertion point for alternations, and set new point:\n   std::ptrdiff_t last_alt_point = m_alt_insert_point;\n   this->m_pdata->m_data.align();\n   m_alt_insert_point = this->m_pdata->m_data.size();\n   //\n   // back up the current flags in case we have a nested (?imsx) group:\n   //\n   regex_constants::syntax_option_type opts = this->flags();\n   bool old_case_change = m_has_case_change;\n   m_has_case_change = false; // no changes to this scope as yet...\n   //\n   // Back up branch reset data in case we have a nested (?|...)\n   //\n   int mark_reset = m_mark_reset;\n   m_mark_reset = -1;\n   //\n   // now recursively add more states, this will terminate when we get to a\n   // matching ')' :\n   //\n   parse_all();\n   //\n   // Unwind pushed alternatives:\n   //\n   if(0 == unwind_alts(last_paren_start))\n      return false;\n   //\n   // restore flags:\n   //\n   if(m_has_case_change)\n   {\n      // the case has changed in one or more of the alternatives\n      // within the scoped (...) block: we have to add a state\n      // to reset the case sensitivity:\n      static_cast<re_case*>(\n         this->append_state(syntax_element_toggle_case, sizeof(re_case))\n         )->icase = opts & regbase::icase;\n   }\n   this->flags(opts);\n   m_has_case_change = old_case_change;\n   //\n   // restore branch reset:\n   //\n   m_mark_reset = mark_reset;\n   //\n   // we either have a ')' or we have run out of characters prematurely:\n   //\n   if(m_position == m_end)\n   {\n      this->fail(regex_constants::error_paren, std::distance(m_base, m_end));\n      return false;\n   }\n   if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)\n      return false;\n   if(markid && (this->flags() & regbase::save_subexpression_location))\n      this->m_pdata->m_subs.at(markid - 1).second = std::distance(m_base, m_position);\n   ++m_position;\n   //\n   // append closing parenthesis state:\n   //\n   pb = static_cast<re_brace*>(this->append_state(syntax_element_endmark, sizeof(re_brace)));\n   pb->index = markid;\n   pb->icase = this->flags() & regbase::icase;\n   this->m_paren_start = last_paren_start;\n   //\n   // restore the alternate insertion point:\n   //\n   this->m_alt_insert_point = last_alt_point;\n\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_basic_escape()\n{\n   if(++m_position == m_end)\n   {\n      fail(regex_constants::error_paren, m_position - m_base);\n      return false;\n   }\n   bool result = true;\n   switch(this->m_traits.escape_syntax_type(*m_position))\n   {\n   case regex_constants::syntax_open_mark:\n      return parse_open_paren();\n   case regex_constants::syntax_close_mark:\n      return false;\n   case regex_constants::syntax_plus:\n      if(this->flags() & regex_constants::bk_plus_qm)\n      {\n         ++m_position;\n         return parse_repeat(1);\n      }\n      else\n         return parse_literal();\n   case regex_constants::syntax_question:\n      if(this->flags() & regex_constants::bk_plus_qm)\n      {\n         ++m_position;\n         return parse_repeat(0, 1);\n      }\n      else\n         return parse_literal();\n   case regex_constants::syntax_open_brace:\n      if(this->flags() & regbase::no_intervals)\n         return parse_literal();\n      ++m_position;\n      return parse_repeat_range(true);\n   case regex_constants::syntax_close_brace:\n      if(this->flags() & regbase::no_intervals)\n         return parse_literal();\n      fail(regex_constants::error_brace, this->m_position - this->m_base, \"Found a closing repetition operator } with no corresponding {.\");\n      return false;\n   case regex_constants::syntax_or:\n      if(this->flags() & regbase::bk_vbar)\n         return parse_alt();\n      else\n         result = parse_literal();\n      break;\n   case regex_constants::syntax_digit:\n      return parse_backref();\n   case regex_constants::escape_type_start_buffer:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         ++m_position;\n         this->append_state(syntax_element_buffer_start);\n      }\n      else\n         result = parse_literal();\n      break;\n   case regex_constants::escape_type_end_buffer:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         ++m_position;\n         this->append_state(syntax_element_buffer_end);\n      }\n      else\n         result = parse_literal();\n      break;\n   case regex_constants::escape_type_word_assert:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         ++m_position;\n         this->append_state(syntax_element_word_boundary);\n      }\n      else\n         result = parse_literal();\n      break;\n   case regex_constants::escape_type_not_word_assert:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         ++m_position;\n         this->append_state(syntax_element_within_word);\n      }\n      else\n         result = parse_literal();\n      break;\n   case regex_constants::escape_type_left_word:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         ++m_position;\n         this->append_state(syntax_element_word_start);\n      }\n      else\n         result = parse_literal();\n      break;\n   case regex_constants::escape_type_right_word:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         ++m_position;\n         this->append_state(syntax_element_word_end);\n      }\n      else\n         result = parse_literal();\n      break;\n   default:\n      if(this->flags() & regbase::emacs_ex)\n      {\n         bool negate = true;\n         switch(*m_position)\n         {\n         case 'w':\n            negate = false;\n            BOOST_REGEX_FALLTHROUGH;\n         case 'W':\n            {\n            basic_char_set<charT, traits> char_set;\n            if(negate)\n               char_set.negate();\n            char_set.add_class(this->m_word_mask);\n            if(0 == this->append_set(char_set))\n            {\n               fail(regex_constants::error_ctype, m_position - m_base);\n               return false;\n            }\n            ++m_position;\n            return true;\n            }\n         case 's':\n            negate = false;\n            BOOST_REGEX_FALLTHROUGH;\n         case 'S':\n            return add_emacs_code(negate);\n         case 'c':\n         case 'C':\n            // not supported yet:\n            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.\");\n            return false;\n         default:\n            break;\n         }\n      }\n      result = parse_literal();\n      break;\n   }\n   return result;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_extended_escape()\n{\n   ++m_position;\n   if(m_position == m_end)\n   {\n      fail(regex_constants::error_escape, m_position - m_base, \"Incomplete escape sequence found.\");\n      return false;\n   }\n   bool negate = false; // in case this is a character class escape: \\w \\d etc\n   switch(this->m_traits.escape_syntax_type(*m_position))\n   {\n   case regex_constants::escape_type_not_class:\n      negate = true;\n      BOOST_REGEX_FALLTHROUGH;\n   case regex_constants::escape_type_class:\n      {\nescape_type_class_jump:\n         typedef typename traits::char_class_type m_type;\n         m_type m = this->m_traits.lookup_classname(m_position, m_position+1);\n         if(m != 0)\n         {\n            basic_char_set<charT, traits> char_set;\n            if(negate)\n               char_set.negate();\n            char_set.add_class(m);\n            if(0 == this->append_set(char_set))\n            {\n               fail(regex_constants::error_ctype, m_position - m_base);\n               return false;\n            }\n            ++m_position;\n            return true;\n         }\n         //\n         // not a class, just a regular unknown escape:\n         //\n         this->append_literal(unescape_character());\n         break;\n      }\n   case regex_constants::syntax_digit:\n      return parse_backref();\n   case regex_constants::escape_type_left_word:\n      ++m_position;\n      this->append_state(syntax_element_word_start);\n      break;\n   case regex_constants::escape_type_right_word:\n      ++m_position;\n      this->append_state(syntax_element_word_end);\n      break;\n   case regex_constants::escape_type_start_buffer:\n      ++m_position;\n      this->append_state(syntax_element_buffer_start);\n      break;\n   case regex_constants::escape_type_end_buffer:\n      ++m_position;\n      this->append_state(syntax_element_buffer_end);\n      break;\n   case regex_constants::escape_type_word_assert:\n      ++m_position;\n      this->append_state(syntax_element_word_boundary);\n      break;\n   case regex_constants::escape_type_not_word_assert:\n      ++m_position;\n      this->append_state(syntax_element_within_word);\n      break;\n   case regex_constants::escape_type_Z:\n      ++m_position;\n      this->append_state(syntax_element_soft_buffer_end);\n      break;\n   case regex_constants::escape_type_Q:\n      return parse_QE();\n   case regex_constants::escape_type_C:\n      return parse_match_any();\n   case regex_constants::escape_type_X:\n      ++m_position;\n      this->append_state(syntax_element_combining);\n      break;\n   case regex_constants::escape_type_G:\n      ++m_position;\n      this->append_state(syntax_element_restart_continue);\n      break;\n   case regex_constants::escape_type_not_property:\n      negate = true;\n      BOOST_REGEX_FALLTHROUGH;\n   case regex_constants::escape_type_property:\n      {\n         ++m_position;\n         char_class_type m;\n         if(m_position == m_end)\n         {\n            fail(regex_constants::error_escape, m_position - m_base, \"Incomplete property escape found.\");\n            return false;\n         }\n         // maybe have \\p{ddd}\n         if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace)\n         {\n            const charT* base = m_position;\n            // skip forward until we find enclosing brace:\n            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace))\n               ++m_position;\n            if(m_position == m_end)\n            {\n               fail(regex_constants::error_escape, m_position - m_base, \"Closing } missing from property escape sequence.\");\n               return false;\n            }\n            m = this->m_traits.lookup_classname(++base, m_position++);\n         }\n         else\n         {\n            m = this->m_traits.lookup_classname(m_position, m_position+1);\n            ++m_position;\n         }\n         if(m != 0)\n         {\n            basic_char_set<charT, traits> char_set;\n            if(negate)\n               char_set.negate();\n            char_set.add_class(m);\n            if(0 == this->append_set(char_set))\n            {\n               fail(regex_constants::error_ctype, m_position - m_base);\n               return false;\n            }\n            return true;\n         }\n         fail(regex_constants::error_ctype, m_position - m_base, \"Escape sequence was neither a valid property nor a valid character class name.\");\n         return false;\n      }\n   case regex_constants::escape_type_reset_start_mark:\n      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))\n      {\n         re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));\n         pb->index = -5;\n         pb->icase = this->flags() & regbase::icase;\n         this->m_pdata->m_data.align();\n         ++m_position;\n         return true;\n      }\n      goto escape_type_class_jump;\n   case regex_constants::escape_type_line_ending:\n      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))\n      {\n         const charT* e = get_escape_R_string<charT>();\n         const charT* old_position = m_position;\n         const charT* old_end = m_end;\n         const charT* old_base = m_base;\n         m_position = e;\n         m_base = e;\n         m_end = e + traits::length(e);\n         bool r = parse_all();\n         m_position = ++old_position;\n         m_end = old_end;\n         m_base = old_base;\n         return r;\n      }\n      goto escape_type_class_jump;\n   case regex_constants::escape_type_extended_backref:\n      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))\n      {\n         bool have_brace = false;\n         bool negative = false;\n         static const char incomplete_message[] = \"Incomplete \\\\g escape found.\";\n         if(++m_position == m_end)\n         {\n            fail(regex_constants::error_escape, m_position - m_base, incomplete_message);\n            return false;\n         }\n         // maybe have \\g{ddd}\n         regex_constants::syntax_type syn = this->m_traits.syntax_type(*m_position);\n         regex_constants::syntax_type syn_end = 0;\n         if((syn == regex_constants::syntax_open_brace) \n            || (syn == regex_constants::escape_type_left_word)\n            || (syn == regex_constants::escape_type_end_buffer))\n         {\n            if(++m_position == m_end)\n            {\n               fail(regex_constants::error_escape, m_position - m_base, incomplete_message);\n               return false;\n            }\n            have_brace = true;\n            switch(syn)\n            {\n            case regex_constants::syntax_open_brace:\n               syn_end = regex_constants::syntax_close_brace;\n               break;\n            case regex_constants::escape_type_left_word:\n               syn_end = regex_constants::escape_type_right_word;\n               break;\n            default:\n               syn_end = regex_constants::escape_type_end_buffer;\n               break;\n            }\n         }\n         negative = (*m_position == static_cast<charT>('-'));\n         if((negative) && (++m_position == m_end))\n         {\n            fail(regex_constants::error_escape, m_position - m_base, incomplete_message);\n            return false;\n         }\n         const charT* pc = m_position;\n         std::intmax_t i = this->m_traits.toi(pc, m_end, 10);\n         if((i < 0) && syn_end)\n         {\n            // Check for a named capture, get the leftmost one if there is more than one:\n            const charT* base = m_position;\n            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != syn_end))\n            {\n               ++m_position;\n            }\n            i = hash_value_from_capture_name(base, m_position);\n            pc = m_position;\n         }\n         if(negative)\n            i = 1 + (static_cast<std::intmax_t>(m_mark_count) - i);\n         if(((i < hash_value_mask) && (i > 0)) || ((i >= hash_value_mask) && (this->m_pdata->get_id((int)i) > 0)))\n         {\n            m_position = pc;\n            re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_backref, sizeof(re_brace)));\n            pb->index = (int)i;\n            pb->icase = this->flags() & regbase::icase;\n            if ((i > m_max_backref) && (i < hash_value_mask))\n               m_max_backref = i;\n         }\n         else\n         {\n            fail(regex_constants::error_backref, m_position - m_base);\n            return false;\n         }\n         m_position = pc;\n         if(have_brace)\n         {\n            if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != syn_end))\n            {\n               fail(regex_constants::error_escape, m_position - m_base, incomplete_message);\n               return false;\n            }\n            ++m_position;\n         }\n         return true;\n      }\n      goto escape_type_class_jump;\n   case regex_constants::escape_type_control_v:\n      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))\n         goto escape_type_class_jump;\n      BOOST_REGEX_FALLTHROUGH;\n   default:\n      this->append_literal(unescape_character());\n      break;\n   }\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_match_any()\n{\n   //\n   // we have a '.' that can match any character:\n   //\n   ++m_position;\n   static_cast<re_dot*>(\n      this->append_state(syntax_element_wild, sizeof(re_dot))\n      )->mask = static_cast<unsigned char>(this->flags() & regbase::no_mod_s \n      ? BOOST_REGEX_DETAIL_NS::force_not_newline \n         : this->flags() & regbase::mod_s ?\n            BOOST_REGEX_DETAIL_NS::force_newline : BOOST_REGEX_DETAIL_NS::dont_care);\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_repeat(std::size_t low, std::size_t high)\n{\n   bool greedy = true;\n   bool possessive = false;\n   std::size_t insert_point;\n   // \n   // when we get to here we may have a non-greedy ? mark still to come:\n   //\n   if((m_position != m_end) \n      && (\n            (0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))\n            || ((regbase::basic_syntax_group|regbase::emacs_ex) == (this->flags() & (regbase::main_option_type | regbase::emacs_ex)))\n         )\n      )\n   {\n      // OK we have a perl or emacs regex, check for a '?':\n      if ((this->flags() & (regbase::main_option_type | regbase::mod_x | regbase::no_perl_ex)) == regbase::mod_x)\n      {\n         // whitespace skip:\n         while ((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))\n            ++m_position;\n      }\n      if((m_position != m_end) && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_question))\n      {\n         greedy = false;\n         ++m_position;\n      }\n      // for perl regexes only check for possessive ++ repeats.\n      if((m_position != m_end)\n         && (0 == (this->flags() & regbase::main_option_type)) \n         && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_plus))\n      {\n         possessive = true;\n         ++m_position;\n      }\n   }\n   if(0 == this->m_last_state)\n   {\n      fail(regex_constants::error_badrepeat, std::distance(m_base, m_position), \"Nothing to repeat.\");\n      return false;\n   }\n   if(this->m_last_state->type == syntax_element_endmark)\n   {\n      // insert a repeat before the '(' matching the last ')':\n      insert_point = this->m_paren_start;\n   }\n   else if((this->m_last_state->type == syntax_element_literal) && (static_cast<re_literal*>(this->m_last_state)->length > 1))\n   {\n      // the last state was a literal with more than one character, split it in two:\n      re_literal* lit = static_cast<re_literal*>(this->m_last_state);\n      charT c = (static_cast<charT*>(static_cast<void*>(lit+1)))[lit->length - 1];\n      lit->length -= 1;\n      // now append new state:\n      lit = static_cast<re_literal*>(this->append_state(syntax_element_literal, sizeof(re_literal) + sizeof(charT)));\n      lit->length = 1;\n      (static_cast<charT*>(static_cast<void*>(lit+1)))[0] = c;\n      insert_point = this->getoffset(this->m_last_state);\n   }\n   else\n   {\n      // repeat the last state whatever it was, need to add some error checking here:\n      switch(this->m_last_state->type)\n      {\n      case syntax_element_start_line:\n      case syntax_element_end_line:\n      case syntax_element_word_boundary:\n      case syntax_element_within_word:\n      case syntax_element_word_start:\n      case syntax_element_word_end:\n      case syntax_element_buffer_start:\n      case syntax_element_buffer_end:\n      case syntax_element_alt:\n      case syntax_element_soft_buffer_end:\n      case syntax_element_restart_continue:\n      case syntax_element_jump:\n      case syntax_element_startmark:\n      case syntax_element_backstep:\n      case syntax_element_toggle_case:\n         // can't legally repeat any of the above:\n         fail(regex_constants::error_badrepeat, m_position - m_base);\n         return false;\n      default:\n         // do nothing...\n         break;\n      }\n      insert_point = this->getoffset(this->m_last_state);\n   }\n   //\n   // OK we now know what to repeat, so insert the repeat around it:\n   //\n   re_repeat* rep = static_cast<re_repeat*>(this->insert_state(insert_point, syntax_element_rep, re_repeater_size));\n   rep->min = low;\n   rep->max = high;\n   rep->greedy = greedy;\n   rep->leading = false;\n   // store our repeater position for later:\n   std::ptrdiff_t rep_off = this->getoffset(rep);\n   // and append a back jump to the repeat:\n   re_jump* jmp = static_cast<re_jump*>(this->append_state(syntax_element_jump, sizeof(re_jump)));\n   jmp->alt.i = rep_off - this->getoffset(jmp);\n   this->m_pdata->m_data.align();\n   // now fill in the alt jump for the repeat:\n   rep = static_cast<re_repeat*>(this->getaddress(rep_off));\n   rep->alt.i = this->m_pdata->m_data.size() - rep_off;\n   //\n   // If the repeat is possessive then bracket the repeat with a (?>...)\n   // independent sub-expression construct:\n   //\n   if(possessive)\n   {\n      if(m_position != m_end)\n      {\n         //\n         // Check for illegal following quantifier, we have to do this here, because\n         // the extra states we insert below circumvents our usual error checking :-(\n         //\n         bool contin = false;\n         do\n         {\n            if ((this->flags() & (regbase::main_option_type | regbase::mod_x | regbase::no_perl_ex)) == regbase::mod_x)\n            {\n               // whitespace skip:\n               while ((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))\n                  ++m_position;\n            }\n            if (m_position != m_end)\n            {\n               switch (this->m_traits.syntax_type(*m_position))\n               {\n               case regex_constants::syntax_star:\n               case regex_constants::syntax_plus:\n               case regex_constants::syntax_question:\n               case regex_constants::syntax_open_brace:\n                  fail(regex_constants::error_badrepeat, m_position - m_base);\n                  return false;\n               case regex_constants::syntax_open_mark:\n                  // Do we have a comment?  If so we need to skip it here...\n                  if ((m_position + 2 < m_end) && this->m_traits.syntax_type(*(m_position + 1)) == regex_constants::syntax_question\n                     && this->m_traits.syntax_type(*(m_position + 2)) == regex_constants::syntax_hash)\n                  {\n                     while ((m_position != m_end)\n                        && (this->m_traits.syntax_type(*m_position++) != regex_constants::syntax_close_mark)) {\n                     }\n                     contin = true;\n                  }\n                  else\n                     contin = false;\n                  break;\n               default:\n                  contin = false;\n               }\n            }\n            else\n               contin = false;\n         } while (contin);\n      }\n      re_brace* pb = static_cast<re_brace*>(this->insert_state(insert_point, syntax_element_startmark, sizeof(re_brace)));\n      pb->index = -3;\n      pb->icase = this->flags() & regbase::icase;\n      jmp = static_cast<re_jump*>(this->insert_state(insert_point + sizeof(re_brace), syntax_element_jump, sizeof(re_jump)));\n      this->m_pdata->m_data.align();\n      jmp->alt.i = this->m_pdata->m_data.size() - this->getoffset(jmp);\n      pb = static_cast<re_brace*>(this->append_state(syntax_element_endmark, sizeof(re_brace)));\n      pb->index = -3;\n      pb->icase = this->flags() & regbase::icase;\n   }\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_repeat_range(bool isbasic)\n{\n   static const char incomplete_message[] = \"Missing } in quantified repetition.\";\n   //\n   // parse a repeat-range:\n   //\n   std::size_t min, max;\n   std::intmax_t v;\n   // skip whitespace:\n   while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))\n      ++m_position;\n   if(this->m_position == this->m_end)\n   {\n      if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex))\n      {\n         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n         return false;\n      }\n      // Treat the opening '{' as a literal character, rewind to start of error:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position;\n      return parse_literal();\n   }\n   // get min:\n   v = this->m_traits.toi(m_position, m_end, 10);\n   // skip whitespace:\n   if((v < 0) || (v > umax()))\n   {\n      if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex))\n      {\n         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n         return false;\n      }\n      // Treat the opening '{' as a literal character, rewind to start of error:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position;\n      return parse_literal();\n   }\n   while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))\n      ++m_position;\n   if(this->m_position == this->m_end)\n   {\n      if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex))\n      {\n         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n         return false;\n      }\n      // Treat the opening '{' as a literal character, rewind to start of error:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position;\n      return parse_literal();\n   }\n   min = static_cast<std::size_t>(v);\n   // see if we have a comma:\n   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_comma)\n   {\n      // move on and error check:\n      ++m_position;\n      // skip whitespace:\n      while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))\n         ++m_position;\n      if(this->m_position == this->m_end)\n      {\n         if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex))\n         {\n            fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n            return false;\n         }\n         // Treat the opening '{' as a literal character, rewind to start of error:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position;\n         return parse_literal();\n      }\n      // get the value if any:\n      v = this->m_traits.toi(m_position, m_end, 10);\n      max = ((v >= 0) && (v < umax())) ? (std::size_t)v : (std::numeric_limits<std::size_t>::max)();\n   }\n   else\n   {\n      // no comma, max = min:\n      max = min;\n   }\n   // skip whitespace:\n   while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))\n      ++m_position;\n   // OK now check trailing }:\n   if(this->m_position == this->m_end)\n   {\n      if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex))\n      {\n         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n         return false;\n      }\n      // Treat the opening '{' as a literal character, rewind to start of error:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position;\n      return parse_literal();\n   }\n   if(isbasic)\n   {\n      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_escape)\n      {\n         ++m_position;\n         if(this->m_position == this->m_end)\n         {\n            fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n            return false;\n         }\n      }\n      else\n      {\n         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);\n         return false;\n      }\n   }\n   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_brace)\n      ++m_position;\n   else\n   {\n      // Treat the opening '{' as a literal character, rewind to start of error:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position;\n      return parse_literal();\n   }\n   //\n   // finally go and add the repeat, unless error:\n   //\n   if(min > max)\n   {\n      // Backtrack to error location:\n      m_position -= 2;\n      while(this->m_traits.isctype(*m_position, this->m_word_mask)) --m_position;\n         ++m_position;\n      fail(regex_constants::error_badbrace, m_position - m_base);\n      return false;\n   }\n   return parse_repeat(min, max);\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_alt()\n{\n   //\n   // error check: if there have been no previous states,\n   // or if the last state was a '(' then error:\n   //\n   if(\n      ((this->m_last_state == 0) || (this->m_last_state->type == syntax_element_startmark))\n      &&\n      !(\n         ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group)\n           &&\n         ((this->flags() & regbase::no_empty_expressions) == 0)\n        )\n      )\n   {\n      fail(regex_constants::error_empty, this->m_position - this->m_base, \"A regular expression cannot start with the alternation operator |.\");\n      return false;\n   }\n   //\n   // Reset mark count if required:\n   //\n   if(m_max_mark < m_mark_count)\n      m_max_mark = m_mark_count;\n   if(m_mark_reset >= 0)\n      m_mark_count = m_mark_reset;\n\n   ++m_position;\n   //\n   // we need to append a trailing jump: \n   //\n   re_syntax_base* pj = this->append_state(BOOST_REGEX_DETAIL_NS::syntax_element_jump, sizeof(re_jump));\n   std::ptrdiff_t jump_offset = this->getoffset(pj);\n   //\n   // now insert the alternative:\n   //\n   re_alt* palt = static_cast<re_alt*>(this->insert_state(this->m_alt_insert_point, syntax_element_alt, re_alt_size));\n   jump_offset += re_alt_size;\n   this->m_pdata->m_data.align();\n   palt->alt.i = this->m_pdata->m_data.size() - this->getoffset(palt);\n   //\n   // update m_alt_insert_point so that the next alternate gets\n   // inserted at the start of the second of the two we've just created:\n   //\n   this->m_alt_insert_point = this->m_pdata->m_data.size();\n   //\n   // the start of this alternative must have a case changes state\n   // if the current block has messed around with case changes:\n   //\n   if(m_has_case_change)\n   {\n      static_cast<re_case*>(\n         this->append_state(syntax_element_toggle_case, sizeof(re_case))\n         )->icase = this->m_icase;\n   }\n   //\n   // push the alternative onto our stack, a recursive\n   // implementation here is easier to understand (and faster\n   // as it happens), but causes all kinds of stack overflow problems\n   // on programs with small stacks (COM+).\n   //\n   m_alt_jumps.push_back(jump_offset);\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_set()\n{\n   static const char incomplete_message[] = \"Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content.\";\n   ++m_position;\n   if(m_position == m_end)\n   {\n      fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n      return false;\n   }\n   basic_char_set<charT, traits> char_set;\n\n   const charT* base = m_position;  // where the '[' was\n   const charT* item_base = m_position;  // where the '[' or '^' was\n\n   while(m_position != m_end)\n   {\n      switch(this->m_traits.syntax_type(*m_position))\n      {\n      case regex_constants::syntax_caret:\n         if(m_position == base)\n         {\n            char_set.negate();\n            ++m_position;\n            item_base = m_position;\n         }\n         else\n            parse_set_literal(char_set);\n         break;\n      case regex_constants::syntax_close_set:\n         if(m_position == item_base)\n         {\n            parse_set_literal(char_set);\n            break;\n         }\n         else\n         {\n            ++m_position;\n            if(0 == this->append_set(char_set))\n            {\n               fail(regex_constants::error_ctype, m_position - m_base);\n               return false;\n            }\n         }\n         return true;\n      case regex_constants::syntax_open_set:\n         if(parse_inner_set(char_set))\n            break;\n         return true;\n      case regex_constants::syntax_escape:\n         {\n            // \n            // look ahead and see if this is a character class shortcut\n            // \\d \\w \\s etc...\n            //\n            ++m_position;\n            if(this->m_traits.escape_syntax_type(*m_position)\n               == regex_constants::escape_type_class)\n            {\n               char_class_type m = this->m_traits.lookup_classname(m_position, m_position+1);\n               if(m != 0)\n               {\n                  char_set.add_class(m);\n                  ++m_position;\n                  break;\n               }\n            }\n            else if(this->m_traits.escape_syntax_type(*m_position)\n               == regex_constants::escape_type_not_class)\n            {\n               // negated character class:\n               char_class_type m = this->m_traits.lookup_classname(m_position, m_position+1);\n               if(m != 0)\n               {\n                  char_set.add_negated_class(m);\n                  ++m_position;\n                  break;\n               }\n            }\n            // not a character class, just a regular escape:\n            --m_position;\n            parse_set_literal(char_set);\n            break;\n         }\n      default:\n         parse_set_literal(char_set);\n         break;\n      }\n   }\n   return m_position != m_end;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_inner_set(basic_char_set<charT, traits>& char_set)\n{\n   static const char incomplete_message[] = \"Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content.\";\n   //\n   // we have either a character class [:name:]\n   // a collating element [.name.]\n   // or an equivalence class [=name=]\n   //\n   if(m_end == ++m_position)\n   {\n      fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n      return false;\n   }\n   switch(this->m_traits.syntax_type(*m_position))\n   {\n   case regex_constants::syntax_dot:\n      //\n      // a collating element is treated as a literal:\n      //\n      --m_position;\n      parse_set_literal(char_set);\n      return true;\n   case regex_constants::syntax_colon:\n      {\n      // check that character classes are actually enabled:\n      if((this->flags() & (regbase::main_option_type | regbase::no_char_classes)) \n         == (regbase::basic_syntax_group  | regbase::no_char_classes))\n      {\n         --m_position;\n         parse_set_literal(char_set);\n         return true;\n      }\n      // skip the ':'\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      const charT* name_first = m_position;\n      // skip at least one character, then find the matching ':]'\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      while((m_position != m_end) \n         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_colon)) \n         ++m_position;\n      const charT* name_last = m_position;\n      if(m_end == m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      if((m_end == ++m_position) \n         || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      //\n      // check for negated class:\n      //\n      bool negated = false;\n      if(this->m_traits.syntax_type(*name_first) == regex_constants::syntax_caret)\n      {\n         ++name_first;\n         negated = true;\n      }\n      typedef typename traits::char_class_type m_type;\n      m_type m = this->m_traits.lookup_classname(name_first, name_last);\n      if(m == 0)\n      {\n         if(char_set.empty() && (name_last - name_first == 1))\n         {\n            // maybe a special case:\n            ++m_position;\n            if( (m_position != m_end) \n               && (this->m_traits.syntax_type(*m_position) \n                  == regex_constants::syntax_close_set))\n            {\n               if(this->m_traits.escape_syntax_type(*name_first) \n                  == regex_constants::escape_type_left_word)\n               {\n                  ++m_position;\n                  this->append_state(syntax_element_word_start);\n                  return false;\n               }\n               if(this->m_traits.escape_syntax_type(*name_first) \n                  == regex_constants::escape_type_right_word)\n               {\n                  ++m_position;\n                  this->append_state(syntax_element_word_end);\n                  return false;\n               }\n            }\n         }\n         fail(regex_constants::error_ctype, name_first - m_base);\n         return false;\n      }\n      if(!negated)\n         char_set.add_class(m);\n      else\n         char_set.add_negated_class(m);\n      ++m_position;\n      break;\n   }\n   case regex_constants::syntax_equal:\n      {\n      // skip the '='\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      const charT* name_first = m_position;\n      // skip at least one character, then find the matching '=]'\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      while((m_position != m_end) \n         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)) \n         ++m_position;\n      const charT* name_last = m_position;\n      if(m_end == m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      if((m_end == ++m_position) \n         || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))\n      {\n         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);\n         return false;\n      }\n      string_type m = this->m_traits.lookup_collatename(name_first, name_last);\n      if(m.empty() || (m.size() > 2))\n      {\n         fail(regex_constants::error_collate, name_first - m_base);\n         return false;\n      }\n      digraph<charT> d;\n      d.first = m[0];\n      if(m.size() > 1)\n         d.second = m[1];\n      else\n         d.second = 0;\n      char_set.add_equivalent(d);\n      ++m_position;\n      break;\n   }\n   default:\n      --m_position;\n      parse_set_literal(char_set);\n      break;\n   }\n   return true;\n}\n\ntemplate <class charT, class traits>\nvoid basic_regex_parser<charT, traits>::parse_set_literal(basic_char_set<charT, traits>& char_set)\n{\n   digraph<charT> start_range(get_next_set_literal(char_set));\n   if(m_end == m_position)\n   {\n      fail(regex_constants::error_brack, m_position - m_base);\n      return;\n   }\n   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash)\n   {\n      // we have a range:\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_brack, m_position - m_base);\n         return;\n      }\n      if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set)\n      {\n         digraph<charT> end_range = get_next_set_literal(char_set);\n         char_set.add_range(start_range, end_range);\n         if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash)\n         {\n            if(m_end == ++m_position)\n            {\n               fail(regex_constants::error_brack, m_position - m_base);\n               return;\n            }\n            if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_set)\n            {\n               // trailing - :\n               --m_position;\n               return;\n            }\n            fail(regex_constants::error_range, m_position - m_base);\n            return;\n         }\n         return;\n      }\n      --m_position;\n   }\n   char_set.add_single(start_range);\n}\n\ntemplate <class charT, class traits>\ndigraph<charT> basic_regex_parser<charT, traits>::get_next_set_literal(basic_char_set<charT, traits>& char_set)\n{\n   digraph<charT> result;\n   switch(this->m_traits.syntax_type(*m_position))\n   {\n   case regex_constants::syntax_dash:\n      if(!char_set.empty())\n      {\n         // see if we are at the end of the set:\n         if((++m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))\n         {\n            fail(regex_constants::error_range, m_position - m_base);\n            return result;\n         }\n         --m_position;\n      }\n      result.first = *m_position++;\n      return result;\n   case regex_constants::syntax_escape:\n      // check to see if escapes are supported first:\n      if(this->flags() & regex_constants::no_escape_in_lists)\n      {\n         result = *m_position++;\n         break;\n      }\n      ++m_position;\n      result = unescape_character();\n      break;\n   case regex_constants::syntax_open_set:\n   {\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_collate, m_position - m_base);\n         return result;\n      }\n      if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_dot)\n      {\n         --m_position;\n         result.first = *m_position;\n         ++m_position;\n         return result;\n      }\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_collate, m_position - m_base);\n         return result;\n      }\n      const charT* name_first = m_position;\n      // skip at least one character, then find the matching ':]'\n      if(m_end == ++m_position)\n      {\n         fail(regex_constants::error_collate, name_first - m_base);\n         return result;\n      }\n      while((m_position != m_end) \n         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_dot)) \n         ++m_position;\n      const charT* name_last = m_position;\n      if(m_end == m_position)\n      {\n         fail(regex_constants::error_collate, name_first - m_base);\n         return result;\n      }\n      if((m_end == ++m_position) \n         || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))\n      {\n         fail(regex_constants::error_collate, name_first - m_base);\n         return result;\n      }\n      ++m_position;\n      string_type s = this->m_traits.lookup_collatename(name_first, name_last);\n      if(s.empty() || (s.size() > 2))\n      {\n         fail(regex_constants::error_collate, name_first - m_base);\n         return result;\n      }\n      result.first = s[0];\n      if(s.size() > 1)\n         result.second = s[1];\n      else\n         result.second = 0;\n      return result;\n   }\n   default:\n      result = *m_position++;\n   }\n   return result;\n}\n\n//\n// does a value fit in the specified charT type?\n//\ntemplate <class charT>\nbool valid_value(charT, std::intmax_t v, const std::integral_constant<bool, true>&)\n{\n   return (v >> (sizeof(charT) * CHAR_BIT)) == 0;\n}\ntemplate <class charT>\nbool valid_value(charT, std::intmax_t, const std::integral_constant<bool, false>&)\n{\n   return true; // v will alsways fit in a charT\n}\ntemplate <class charT>\nbool valid_value(charT c, std::intmax_t v)\n{\n   return valid_value(c, v, std::integral_constant<bool, (sizeof(charT) < sizeof(std::intmax_t))>());\n}\n\ntemplate <class charT, class traits>\ncharT basic_regex_parser<charT, traits>::unescape_character()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n   charT result(0);\n   if(m_position == m_end)\n   {\n      fail(regex_constants::error_escape, m_position - m_base, \"Escape sequence terminated prematurely.\");\n      return false;\n   }\n   switch(this->m_traits.escape_syntax_type(*m_position))\n   {\n   case regex_constants::escape_type_control_a:\n      result = charT('\\a');\n      break;\n   case regex_constants::escape_type_e:\n      result = charT(27);\n      break;\n   case regex_constants::escape_type_control_f:\n      result = charT('\\f');\n      break;\n   case regex_constants::escape_type_control_n:\n      result = charT('\\n');\n      break;\n   case regex_constants::escape_type_control_r:\n      result = charT('\\r');\n      break;\n   case regex_constants::escape_type_control_t:\n      result = charT('\\t');\n      break;\n   case regex_constants::escape_type_control_v:\n      result = charT('\\v');\n      break;\n   case regex_constants::escape_type_word_assert:\n      result = charT('\\b');\n      break;\n   case regex_constants::escape_type_ascii_control:\n      ++m_position;\n      if(m_position == m_end)\n      {\n         // Rewind to start of escape:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n         fail(regex_constants::error_escape, m_position - m_base, \"ASCII escape sequence terminated prematurely.\");\n         return result;\n      }\n      result = static_cast<charT>(*m_position % 32);\n      break;\n   case regex_constants::escape_type_hex:\n      ++m_position;\n      if(m_position == m_end)\n      {\n         // Rewind to start of escape:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n         fail(regex_constants::error_escape, m_position - m_base, \"Hexadecimal escape sequence terminated prematurely.\");\n         return result;\n      }\n      // maybe have \\x{ddd}\n      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace)\n      {\n         ++m_position;\n         if(m_position == m_end)\n         {\n            // Rewind to start of escape:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n            fail(regex_constants::error_escape, m_position - m_base, \"Missing } in hexadecimal escape sequence.\");\n            return result;\n         }\n         std::intmax_t i = this->m_traits.toi(m_position, m_end, 16);\n         if((m_position == m_end)\n            || (i < 0)\n            || ((std::numeric_limits<charT>::is_specialized) && (i > (std::intmax_t)(std::numeric_limits<charT>::max)()))\n            || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace))\n         {\n            // Rewind to start of escape:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n            fail(regex_constants::error_badbrace, m_position - m_base, \"Hexadecimal escape sequence was invalid.\");\n            return result;\n         }\n         ++m_position;\n         result = charT(i);\n      }\n      else\n      {\n         std::ptrdiff_t len = (std::min)(static_cast<std::ptrdiff_t>(2), static_cast<std::ptrdiff_t>(m_end - m_position));\n         std::intmax_t i = this->m_traits.toi(m_position, m_position + len, 16);\n         if((i < 0)\n            || !valid_value(charT(0), i))\n         {\n            // Rewind to start of escape:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n            fail(regex_constants::error_escape, m_position - m_base, \"Escape sequence did not encode a valid character.\");\n            return result;\n         }\n         result = charT(i);\n      }\n      return result;\n   case regex_constants::syntax_digit:\n      {\n      // an octal escape sequence, the first character must be a zero\n      // followed by up to 3 octal digits:\n      std::ptrdiff_t len = (std::min)(std::distance(m_position, m_end), static_cast<std::ptrdiff_t>(4));\n      const charT* bp = m_position;\n      std::intmax_t val = this->m_traits.toi(bp, bp + 1, 8);\n      if(val != 0)\n      {\n         // Rewind to start of escape:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n         // Oops not an octal escape after all:\n         fail(regex_constants::error_escape, m_position - m_base, \"Invalid octal escape sequence.\");\n         return result;\n      }\n      val = this->m_traits.toi(m_position, m_position + len, 8);\n      if((val < 0) || (val > (std::intmax_t)(std::numeric_limits<charT>::max)()))\n      {\n         // Rewind to start of escape:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n         fail(regex_constants::error_escape, m_position - m_base, \"Octal escape sequence is invalid.\");\n         return result;\n      }\n      return static_cast<charT>(val);\n      }\n   case regex_constants::escape_type_named_char:\n      {\n         ++m_position;\n         if(m_position == m_end)\n         {\n            // Rewind to start of escape:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n            fail(regex_constants::error_escape, m_position - m_base);\n            return false;\n         }\n         // maybe have \\N{name}\n         if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace)\n         {\n            const charT* base = m_position;\n            // skip forward until we find enclosing brace:\n            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace))\n               ++m_position;\n            if(m_position == m_end)\n            {\n               // Rewind to start of escape:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n               fail(regex_constants::error_escape, m_position - m_base);\n               return false;\n            }\n            string_type s = this->m_traits.lookup_collatename(++base, m_position++);\n            if(s.empty())\n            {\n               // Rewind to start of escape:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n               fail(regex_constants::error_collate, m_position - m_base);\n               return false;\n            }\n            if(s.size() == 1)\n            {\n               return s[0];\n            }\n         }\n         // fall through is a failure:\n         // Rewind to start of escape:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n         fail(regex_constants::error_escape, m_position - m_base);\n         return false;\n      }\n   default:\n      result = *m_position;\n      break;\n   }\n   ++m_position;\n   return result;\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_backref()\n{\n   BOOST_REGEX_ASSERT(m_position != m_end);\n   const charT* pc = m_position;\n   std::intmax_t i = this->m_traits.toi(pc, pc + 1, 10);\n   if((i == 0) || (((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) && (this->flags() & regbase::no_bk_refs)))\n   {\n      // not a backref at all but an octal escape sequence:\n      charT c = unescape_character();\n      this->append_literal(c);\n   }\n   else if((i > 0))\n   {\n      m_position = pc;\n      re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_backref, sizeof(re_brace)));\n      pb->index = (int)i;\n      pb->icase = this->flags() & regbase::icase;\n      if(i > m_max_backref)\n         m_max_backref = i;\n   }\n   else\n   {\n      // Rewind to start of escape:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n      fail(regex_constants::error_backref, m_position - m_base);\n      return false;\n   }\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_QE()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n   //\n   // parse a \\Q...\\E sequence:\n   //\n   ++m_position; // skip the Q\n   const charT* start = m_position;\n   const charT* end;\n   do\n   {\n      while((m_position != m_end) \n         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape))\n         ++m_position;\n      if(m_position == m_end)\n      {\n         //  a \\Q...\\E sequence may terminate with the end of the expression:\n         end = m_position;\n         break;  \n      }\n      if(++m_position == m_end) // skip the escape\n      {\n         fail(regex_constants::error_escape, m_position - m_base, \"Unterminated \\\\Q...\\\\E sequence.\");\n         return false;\n      }\n      // check to see if it's a \\E:\n      if(this->m_traits.escape_syntax_type(*m_position) == regex_constants::escape_type_E)\n      {\n         ++m_position;\n         end = m_position - 2;\n         break;\n      }\n      // otherwise go round again:\n   }while(true);\n   //\n   // now add all the character between the two escapes as literals:\n   //\n   while(start != end)\n   {\n      this->append_literal(*start);\n      ++start;\n   }\n   return true;\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_perl_extension()\n{\n   if(++m_position == m_end)\n   {\n      // Rewind to start of (? sequence:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n      fail(regex_constants::error_perl_extension, m_position - m_base);\n      return false;\n   }\n   //\n   // treat comments as a special case, as these\n   // are the only ones that don't start with a leading\n   // startmark state:\n   //\n   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_hash)\n   {\n      while((m_position != m_end) \n         && (this->m_traits.syntax_type(*m_position++) != regex_constants::syntax_close_mark))\n      {}\n      return true;\n   }\n   //\n   // backup some state, and prepare the way:\n   //\n   int markid = 0;\n   std::ptrdiff_t jump_offset = 0;\n   re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));\n   pb->icase = this->flags() & regbase::icase;\n   std::ptrdiff_t last_paren_start = this->getoffset(pb);\n   // back up insertion point for alternations, and set new point:\n   std::ptrdiff_t last_alt_point = m_alt_insert_point;\n   this->m_pdata->m_data.align();\n   m_alt_insert_point = this->m_pdata->m_data.size();\n   std::ptrdiff_t expected_alt_point = m_alt_insert_point;\n   bool restore_flags = true;\n   regex_constants::syntax_option_type old_flags = this->flags();\n   bool old_case_change = m_has_case_change;\n   m_has_case_change = false;\n   charT name_delim;\n   int mark_reset = m_mark_reset;\n   int max_mark = m_max_mark;\n   m_mark_reset = -1;\n   m_max_mark = m_mark_count;\n   std::intmax_t v;\n   //\n   // select the actual extension used:\n   //\n   switch(this->m_traits.syntax_type(*m_position))\n   {\n   case regex_constants::syntax_or:\n      m_mark_reset = m_mark_count;\n      BOOST_REGEX_FALLTHROUGH;\n   case regex_constants::syntax_colon:\n      //\n      // a non-capturing mark:\n      //\n      pb->index = markid = 0;\n      ++m_position;\n      break;\n   case regex_constants::syntax_digit:\n      {\n      //\n      // a recursive subexpression:\n      //\n      v = this->m_traits.toi(m_position, m_end, 10);\n      if((v < 0) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base, \"The recursive sub-expression refers to an invalid marking group, or is unterminated.\");\n         return false;\n      }\ninsert_recursion:\n      pb->index = markid = 0;\n      re_recurse* pr = static_cast<re_recurse*>(this->append_state(syntax_element_recurse, sizeof(re_recurse)));\n      pr->alt.i = (std::ptrdiff_t)v;\n      pr->state_id = 0;\n      static_cast<re_case*>(\n            this->append_state(syntax_element_toggle_case, sizeof(re_case))\n            )->icase = this->flags() & regbase::icase;\n      break;\n      }\n   case regex_constants::syntax_plus:\n      //\n      // A forward-relative recursive subexpression:\n      //\n      ++m_position;\n      v = this->m_traits.toi(m_position, m_end, 10);\n      if((v <= 0) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base, \"An invalid or unterminated recursive sub-expression.\");\n         return false;\n      }\n      if ((std::numeric_limits<std::intmax_t>::max)() - m_mark_count < v)\n      {\n         fail(regex_constants::error_perl_extension, m_position - m_base, \"An invalid or unterminated recursive sub-expression.\");\n         return false;\n      }\n      v += m_mark_count;\n      goto insert_recursion;\n   case regex_constants::syntax_dash:\n      //\n      // Possibly a backward-relative recursive subexpression:\n      //\n      ++m_position;\n      v = this->m_traits.toi(m_position, m_end, 10);\n      if(v <= 0)\n      {\n         --m_position;\n         // Oops not a relative recursion at all, but a (?-imsx) group:\n         goto option_group_jump;\n      }\n      v = static_cast<std::intmax_t>(m_mark_count) + 1 - v;\n      if(v <= 0)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base, \"An invalid or unterminated recursive sub-expression.\");\n         return false;\n      }\n      goto insert_recursion;\n   case regex_constants::syntax_equal:\n      pb->index = markid = -1;\n      ++m_position;\n      jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));\n      this->m_pdata->m_data.align();\n      m_alt_insert_point = this->m_pdata->m_data.size();\n      break;\n   case regex_constants::syntax_not:\n      pb->index = markid = -2;\n      ++m_position;\n      jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));\n      this->m_pdata->m_data.align();\n      m_alt_insert_point = this->m_pdata->m_data.size();\n      break;\n   case regex_constants::escape_type_left_word:\n      {\n         // a lookbehind assertion:\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         regex_constants::syntax_type t = this->m_traits.syntax_type(*m_position);\n         if(t == regex_constants::syntax_not)\n            pb->index = markid = -2;\n         else if(t == regex_constants::syntax_equal)\n            pb->index = markid = -1;\n         else\n         {\n            // Probably a named capture which also starts (?< :\n            name_delim = '>';\n            --m_position;\n            goto named_capture_jump;\n         }\n         ++m_position;\n         jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));\n         this->append_state(syntax_element_backstep, sizeof(re_brace));\n         this->m_pdata->m_data.align();\n         m_alt_insert_point = this->m_pdata->m_data.size();\n         break;\n      }\n   case regex_constants::escape_type_right_word:\n      //\n      // an independent sub-expression:\n      //\n      pb->index = markid = -3;\n      ++m_position;\n      jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));\n      this->m_pdata->m_data.align();\n      m_alt_insert_point = this->m_pdata->m_data.size();\n      break;\n   case regex_constants::syntax_open_mark:\n      {\n      // a conditional expression:\n      pb->index = markid = -4;\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      v = this->m_traits.toi(m_position, m_end, 10);\n      if(m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(*m_position == charT('R'))\n      {\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(*m_position == charT('&'))\n         {\n            const charT* base = ++m_position;\n            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n               ++m_position;\n            if(m_position == m_end)\n            {\n               // Rewind to start of (? sequence:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n               fail(regex_constants::error_perl_extension, m_position - m_base);\n               return false;\n            }\n            v = -static_cast<int>(hash_value_from_capture_name(base, m_position));\n         }\n         else\n         {\n            v = -this->m_traits.toi(m_position, m_end, 10);\n         }\n         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));\n         br->index = v < 0 ? (int)(v - 1) : 0;\n         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n      }\n      else if((*m_position == charT('\\'')) || (*m_position == charT('<')))\n      {\n         const charT* base = ++m_position;\n         while((m_position != m_end) && (*m_position != charT('>')) && (*m_position != charT('\\'')))\n            ++m_position;\n         if(m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         v = static_cast<int>(hash_value_from_capture_name(base, m_position));\n         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));\n         br->index = (int)v;\n         if(((*m_position != charT('>')) && (*m_position != charT('\\''))) || (++m_position == m_end))\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base, \"Unterminated named capture.\");\n            return false;\n         }\n         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n      }\n      else if(*m_position == charT('D'))\n      {\n         const char* def = \"DEFINE\";\n         while(*def && (m_position != m_end) && (*m_position == charT(*def)))\n            ++m_position, ++def;\n         if((m_position == m_end) || *def)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));\n         br->index = 9999; // special magic value!\n         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n      }\n      else if(v > 0)\n      {\n         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));\n         br->index = (int)v;\n         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n      }\n      else\n      {\n         // verify that we have a lookahead or lookbehind assert:\n         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_question)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(this->m_traits.syntax_type(*m_position) == regex_constants::escape_type_left_word)\n         {\n            if(++m_position == m_end)\n            {\n               // Rewind to start of (? sequence:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n               fail(regex_constants::error_perl_extension, m_position - m_base);\n               return false;\n            }\n            if((this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)\n               && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_not))\n            {\n               // Rewind to start of (? sequence:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n               fail(regex_constants::error_perl_extension, m_position - m_base);\n               return false;\n            }\n            m_position -= 3;\n         }\n         else\n         {\n            if((this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)\n               && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_not))\n            {\n               // Rewind to start of (? sequence:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n               fail(regex_constants::error_perl_extension, m_position - m_base);\n               return false;\n            }\n            m_position -= 2;\n         }\n      }\n      break;\n      }\n   case regex_constants::syntax_close_mark:\n      // Rewind to start of (? sequence:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n      fail(regex_constants::error_perl_extension, m_position - m_base);\n      return false;\n   case regex_constants::escape_type_end_buffer:\n      {\n      name_delim = *m_position;\nnamed_capture_jump:\n      markid = 0;\n      if(0 == (this->flags() & regbase::nosubs))\n      {\n         markid = ++m_mark_count;\n         if(this->flags() & regbase::save_subexpression_location)\n            this->m_pdata->m_subs.push_back(std::pair<std::size_t, std::size_t>(std::distance(m_base, m_position) - 2, 0));\n      }\n      pb->index = markid;\n      const charT* base = ++m_position;\n      if(m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      while((m_position != m_end) && (*m_position != name_delim))\n         ++m_position;\n      if(m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      this->m_pdata->set_name(base, m_position, markid);\n      ++m_position;\n      break;\n      }\n   default:\n      if(*m_position == charT('R'))\n      {\n         ++m_position;\n         v = 0;\n         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         goto insert_recursion;\n      }\n      if(*m_position == charT('&'))\n      {\n         ++m_position;\n         const charT* base = m_position;\n         while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n            ++m_position;\n         if(m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         v = static_cast<int>(hash_value_from_capture_name(base, m_position));\n         goto insert_recursion;\n      }\n      if(*m_position == charT('P'))\n      {\n         ++m_position;\n         if(m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         if(*m_position == charT('>'))\n         {\n            ++m_position;\n            const charT* base = m_position;\n            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n               ++m_position;\n            if(m_position == m_end)\n            {\n               // Rewind to start of (? sequence:\n               --m_position;\n               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n               fail(regex_constants::error_perl_extension, m_position - m_base);\n               return false;\n            }\n            v = static_cast<int>(hash_value_from_capture_name(base, m_position));\n            goto insert_recursion;\n         }\n      }\n      //\n      // lets assume that we have a (?imsx) group and try and parse it:\n      //\noption_group_jump:\n      regex_constants::syntax_option_type opts = parse_options();\n      if(m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      // make a note of whether we have a case change:\n      m_has_case_change = ((opts & regbase::icase) != (this->flags() & regbase::icase));\n      pb->index = markid = 0;\n      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark)\n      {\n         // update flags and carry on as normal:\n         this->flags(opts);\n         restore_flags = false;\n         old_case_change |= m_has_case_change; // defer end of scope by one ')'\n      }\n      else if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_colon)\n      {\n         // update flags and carry on until the matching ')' is found:\n         this->flags(opts);\n         ++m_position;\n      }\n      else\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n\n      // finally append a case change state if we need it:\n      if(m_has_case_change)\n      {\n         static_cast<re_case*>(\n            this->append_state(syntax_element_toggle_case, sizeof(re_case))\n            )->icase = opts & regbase::icase;\n      }\n\n   }\n   //\n   // now recursively add more states, this will terminate when we get to a\n   // matching ')' :\n   //\n   parse_all();\n   //\n   // Unwind alternatives:\n   //\n   if(0 == unwind_alts(last_paren_start))\n   {\n      // Rewind to start of (? sequence:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n      fail(regex_constants::error_perl_extension, m_position - m_base, \"Invalid alternation operators within (?...) block.\");\n      return false;\n   }\n   //\n   // we either have a ')' or we have run out of characters prematurely:\n   //\n   if(m_position == m_end)\n   {\n      // Rewind to start of (? sequence:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n      this->fail(regex_constants::error_paren, std::distance(m_base, m_end));\n      return false;\n   }\n   BOOST_REGEX_ASSERT(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark);\n   ++m_position;\n   //\n   // restore the flags:\n   //\n   if(restore_flags)\n   {\n      // append a case change state if we need it:\n      if(m_has_case_change)\n      {\n         static_cast<re_case*>(\n            this->append_state(syntax_element_toggle_case, sizeof(re_case))\n            )->icase = old_flags & regbase::icase;\n      }\n      this->flags(old_flags);\n   }\n   //\n   // set up the jump pointer if we have one:\n   //\n   if(jump_offset)\n   {\n      this->m_pdata->m_data.align();\n      re_jump* jmp = static_cast<re_jump*>(this->getaddress(jump_offset));\n      jmp->alt.i = this->m_pdata->m_data.size() - this->getoffset(jmp);\n      if((this->m_last_state == jmp) && (markid != -2))\n      {\n         // Oops... we didn't have anything inside the assertion.\n         // Note we don't get here for negated forward lookahead as (?!)\n         // does have some uses.\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base, \"Invalid or empty zero width assertion.\");\n         return false;\n      }\n   }\n   //\n   // verify that if this is conditional expression, that we do have\n   // an alternative, if not add one:\n   //\n   if(markid == -4)\n   {\n      re_syntax_base* b = this->getaddress(expected_alt_point);\n      // Make sure we have exactly one alternative following this state:\n      if(b->type != syntax_element_alt)\n      {\n         re_alt* alt = static_cast<re_alt*>(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt)));\n         alt->alt.i = this->m_pdata->m_data.size() - this->getoffset(alt);\n      }\n      else if(((std::ptrdiff_t)this->m_pdata->m_data.size() > (static_cast<re_alt*>(b)->alt.i + this->getoffset(b))) && (static_cast<re_alt*>(b)->alt.i > 0) && this->getaddress(static_cast<re_alt*>(b)->alt.i, b)->type == syntax_element_alt)\n      {\n         // Can't have seen more than one alternative:\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_bad_pattern, m_position - m_base, \"More than one alternation operator | was encountered inside a conditional expression.\");\n         return false;\n      }\n      else\n      {\n         // We must *not* have seen an alternative inside a (DEFINE) block:\n         b = this->getaddress(b->next.i, b);\n         if((b->type == syntax_element_assert_backref) && (static_cast<re_brace*>(b)->index == 9999))\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_bad_pattern, m_position - m_base, \"Alternation operators are not allowed inside a DEFINE block.\");\n            return false;\n         }\n      }\n      // check for invalid repetition of next state:\n      b = this->getaddress(expected_alt_point);\n      b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);\n      if((b->type != syntax_element_assert_backref)\n         && (b->type != syntax_element_startmark))\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_badrepeat, m_position - m_base, \"A repetition operator cannot be applied to a zero-width assertion.\");\n         return false;\n      }\n   }\n   //\n   // append closing parenthesis state:\n   //\n   pb = static_cast<re_brace*>(this->append_state(syntax_element_endmark, sizeof(re_brace)));\n   pb->index = markid;\n   pb->icase = this->flags() & regbase::icase;\n   this->m_paren_start = last_paren_start;\n   //\n   // restore the alternate insertion point:\n   //\n   this->m_alt_insert_point = last_alt_point;\n   //\n   // and the case change data:\n   //\n   m_has_case_change = old_case_change;\n   //\n   // And the mark_reset data:\n   //\n   if(m_max_mark > m_mark_count)\n   {\n      m_mark_count = m_max_mark;\n   }\n   m_mark_reset = mark_reset;\n   m_max_mark = max_mark;\n\n\n   if(markid > 0)\n   {\n      if(this->flags() & regbase::save_subexpression_location)\n         this->m_pdata->m_subs.at((std::size_t)markid - 1).second = std::distance(m_base, m_position) - 1;\n   }\n   return true;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::match_verb(const char* verb)\n{\n   while(*verb)\n   {\n      if(static_cast<charT>(*verb) != *m_position)\n      {\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(++m_position == m_end)\n      {\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      ++verb;\n   }\n   return true;\n}\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#if BOOST_REGEX_MSVC >= 1800\n#pragma warning(disable:26812)\n#endif\n#endif\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::parse_perl_verb()\n{\n   if(++m_position == m_end)\n   {\n      // Rewind to start of (* sequence:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n      fail(regex_constants::error_perl_extension, m_position - m_base);\n      return false;\n   }\n   switch(*m_position)\n   {\n   case 'F':\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (* sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if((this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark) || match_verb(\"AIL\"))\n      {\n         if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n         {\n            // Rewind to start of (* sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         ++m_position;\n         this->append_state(syntax_element_fail);\n         return true;\n      }\n      break;\n   case 'A':\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (* sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(match_verb(\"CCEPT\"))\n      {\n         if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n         {\n            // Rewind to start of (* sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         ++m_position;\n         this->append_state(syntax_element_accept);\n         return true;\n      }\n      break;\n   case 'C':\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (* sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(match_verb(\"OMMIT\"))\n      {\n         if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n         {\n            // Rewind to start of (* sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         ++m_position;\n         static_cast<re_commit*>(this->append_state(syntax_element_commit, sizeof(re_commit)))->action = commit_commit;\n         this->m_pdata->m_disable_match_any = true;\n         return true;\n      }\n      break;\n   case 'P':\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (* sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(match_verb(\"RUNE\"))\n      {\n         if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n         {\n            // Rewind to start of (* sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         ++m_position;\n         static_cast<re_commit*>(this->append_state(syntax_element_commit, sizeof(re_commit)))->action = commit_prune;\n         this->m_pdata->m_disable_match_any = true;\n         return true;\n      }\n      break;\n   case 'S':\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (* sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(match_verb(\"KIP\"))\n      {\n         if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n         {\n            // Rewind to start of (* sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         ++m_position;\n         static_cast<re_commit*>(this->append_state(syntax_element_commit, sizeof(re_commit)))->action = commit_skip;\n         this->m_pdata->m_disable_match_any = true;\n         return true;\n      }\n      break;\n   case 'T':\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (* sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_perl_extension, m_position - m_base);\n         return false;\n      }\n      if(match_verb(\"HEN\"))\n      {\n         if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))\n         {\n            // Rewind to start of (* sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_perl_extension, m_position - m_base);\n            return false;\n         }\n         ++m_position;\n         this->append_state(syntax_element_then);\n         this->m_pdata->m_disable_match_any = true;\n         return true;\n      }\n      break;\n   }\n   // Rewind to start of (* sequence:\n   --m_position;\n   while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n   fail(regex_constants::error_perl_extension, m_position - m_base);\n   return false;\n}\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::add_emacs_code(bool negate)\n{\n   //\n   // parses an emacs style \\sx or \\Sx construct.\n   //\n   if(++m_position == m_end)\n   {\n      // Rewind to start of sequence:\n      --m_position;\n      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;\n      fail(regex_constants::error_escape, m_position - m_base);\n      return false;\n   }\n   basic_char_set<charT, traits> char_set;\n   if(negate)\n      char_set.negate();\n\n   static const charT s_punct[5] = { 'p', 'u', 'n', 'c', 't', };\n\n   switch(*m_position)\n   {\n   case 's':\n   case ' ':\n      char_set.add_class(this->m_mask_space);\n      break;\n   case 'w':\n      char_set.add_class(this->m_word_mask);\n      break;\n   case '_':\n      char_set.add_single(digraph<charT>(charT('$'))); \n      char_set.add_single(digraph<charT>(charT('&'))); \n      char_set.add_single(digraph<charT>(charT('*'))); \n      char_set.add_single(digraph<charT>(charT('+'))); \n      char_set.add_single(digraph<charT>(charT('-'))); \n      char_set.add_single(digraph<charT>(charT('_'))); \n      char_set.add_single(digraph<charT>(charT('<'))); \n      char_set.add_single(digraph<charT>(charT('>'))); \n      break;\n   case '.':\n      char_set.add_class(this->m_traits.lookup_classname(s_punct, s_punct+5));\n      break;\n   case '(':\n      char_set.add_single(digraph<charT>(charT('('))); \n      char_set.add_single(digraph<charT>(charT('['))); \n      char_set.add_single(digraph<charT>(charT('{'))); \n      break;\n   case ')':\n      char_set.add_single(digraph<charT>(charT(')'))); \n      char_set.add_single(digraph<charT>(charT(']'))); \n      char_set.add_single(digraph<charT>(charT('}'))); \n      break;\n   case '\"':\n      char_set.add_single(digraph<charT>(charT('\"'))); \n      char_set.add_single(digraph<charT>(charT('\\''))); \n      char_set.add_single(digraph<charT>(charT('`'))); \n      break;\n   case '\\'':\n      char_set.add_single(digraph<charT>(charT('\\''))); \n      char_set.add_single(digraph<charT>(charT(','))); \n      char_set.add_single(digraph<charT>(charT('#'))); \n      break;\n   case '<':\n      char_set.add_single(digraph<charT>(charT(';'))); \n      break;\n   case '>':\n      char_set.add_single(digraph<charT>(charT('\\n'))); \n      char_set.add_single(digraph<charT>(charT('\\f'))); \n      break;\n   default:\n      fail(regex_constants::error_ctype, m_position - m_base);\n      return false;\n   }\n   if(0 == this->append_set(char_set))\n   {\n      fail(regex_constants::error_ctype, m_position - m_base);\n      return false;\n   }\n   ++m_position;\n   return true;\n}\n\ntemplate <class charT, class traits>\nregex_constants::syntax_option_type basic_regex_parser<charT, traits>::parse_options()\n{\n   // we have a (?imsx-imsx) group, convert it into a set of flags:\n   regex_constants::syntax_option_type f = this->flags();\n   bool breakout = false;\n   do\n   {\n      switch(*m_position)\n      {\n      case 's':\n         f |= regex_constants::mod_s;\n         f &= ~regex_constants::no_mod_s;\n         break;\n      case 'm':\n         f &= ~regex_constants::no_mod_m;\n         break;\n      case 'i':\n         f |= regex_constants::icase;\n         break;\n      case 'x':\n         f |= regex_constants::mod_x;\n         break;\n      default:\n         breakout = true;\n         continue;\n      }\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_paren, m_position - m_base);\n         return false;\n      }\n   }\n   while(!breakout);\n   \n   breakout = false;\n\n   if(*m_position == static_cast<charT>('-'))\n   {\n      if(++m_position == m_end)\n      {\n         // Rewind to start of (? sequence:\n         --m_position;\n         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n         fail(regex_constants::error_paren, m_position - m_base);\n         return false;\n      }\n      do\n      {\n         switch(*m_position)\n         {\n         case 's':\n            f &= ~regex_constants::mod_s;\n            f |= regex_constants::no_mod_s;\n            break;\n         case 'm':\n            f |= regex_constants::no_mod_m;\n            break;\n         case 'i':\n            f &= ~regex_constants::icase;\n            break;\n         case 'x':\n            f &= ~regex_constants::mod_x;\n            break;\n         default:\n            breakout = true;\n            continue;\n         }\n         if(++m_position == m_end)\n         {\n            // Rewind to start of (? sequence:\n            --m_position;\n            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;\n            fail(regex_constants::error_paren, m_position - m_base);\n            return false;\n         }\n      }\n      while(!breakout);\n   }\n   return f;\n}\n\ntemplate <class charT, class traits>\nbool basic_regex_parser<charT, traits>::unwind_alts(std::ptrdiff_t last_paren_start)\n{\n   //\n   // If we didn't actually add any states after the last \n   // alternative then that's an error:\n   //\n   if((this->m_alt_insert_point == static_cast<std::ptrdiff_t>(this->m_pdata->m_data.size()))\n      && (!m_alt_jumps.empty()) && (m_alt_jumps.back() > last_paren_start)\n      &&\n      !(\n         ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group)\n           &&\n         ((this->flags() & regbase::no_empty_expressions) == 0)\n        )\n      )\n   {\n      fail(regex_constants::error_empty, this->m_position - this->m_base, \"Can't terminate a sub-expression with an alternation operator |.\");\n      return false;\n   }\n   // \n   // Fix up our alternatives:\n   //\n   while((!m_alt_jumps.empty()) && (m_alt_jumps.back() > last_paren_start))\n   {\n      //\n      // fix up the jump to point to the end of the states\n      // that we've just added:\n      //\n      std::ptrdiff_t jump_offset = m_alt_jumps.back();\n      m_alt_jumps.pop_back();\n      this->m_pdata->m_data.align();\n      re_jump* jmp = static_cast<re_jump*>(this->getaddress(jump_offset));\n      if (jmp->type != syntax_element_jump)\n      {\n         // Something really bad happened, this used to be an assert, \n         // but we'll make it an error just in case we should ever get here.\n         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!\");\n         return false;\n      }\n      jmp->alt.i = this->m_pdata->m_data.size() - jump_offset;\n   }\n   return true;\n}\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\n} // namespace BOOST_REGEX_DETAIL_NS\n} // namespace boost\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/c_regex_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         c_regex_traits.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression traits class that wraps the global C locale.\n  */\n\n#ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED\n#define BOOST_C_REGEX_TRAITS_HPP_INCLUDED\n\n#include <boost/regex/config.hpp>\n#include <boost/regex/v5/regex_workaround.hpp>\n#include <cctype>\n\nnamespace boost{\n\n   namespace BOOST_REGEX_DETAIL_NS {\n\n      enum\n      {\n         char_class_space = 1 << 0,\n         char_class_print = 1 << 1,\n         char_class_cntrl = 1 << 2,\n         char_class_upper = 1 << 3,\n         char_class_lower = 1 << 4,\n         char_class_alpha = 1 << 5,\n         char_class_digit = 1 << 6,\n         char_class_punct = 1 << 7,\n         char_class_xdigit = 1 << 8,\n         char_class_alnum = char_class_alpha | char_class_digit,\n         char_class_graph = char_class_alnum | char_class_punct,\n         char_class_blank = 1 << 9,\n         char_class_word = 1 << 10,\n         char_class_unicode = 1 << 11,\n         char_class_horizontal = 1 << 12,\n         char_class_vertical = 1 << 13\n      };\n\n   }\n\ntemplate <class charT>\nstruct c_regex_traits;\n\ntemplate<>\nstruct c_regex_traits<char>\n{\n   c_regex_traits(){}\n   typedef char char_type;\n   typedef std::size_t size_type;\n   typedef std::string string_type;\n   struct locale_type{};\n   typedef std::uint32_t char_class_type;\n\n   static size_type length(const char_type* p) \n   { \n      return (std::strlen)(p); \n   }\n\n   char translate(char c) const \n   { \n      return c; \n   }\n   char translate_nocase(char c) const \n   { \n      return static_cast<char>((std::tolower)(static_cast<unsigned char>(c))); \n   }\n\n   static string_type  transform(const char* p1, const char* p2);\n   static string_type  transform_primary(const char* p1, const char* p2);\n\n   static char_class_type  lookup_classname(const char* p1, const char* p2);\n   static string_type  lookup_collatename(const char* p1, const char* p2);\n\n   static bool  isctype(char, char_class_type);\n   static int  value(char, int);\n\n   locale_type imbue(locale_type l)\n   { return l; }\n   locale_type getloc()const\n   { return locale_type(); }\n\nprivate:\n   // this type is not copyable:\n   c_regex_traits(const c_regex_traits&);\n   c_regex_traits& operator=(const c_regex_traits&);\n};\n\n#ifndef BOOST_NO_WREGEX\ntemplate<>\nstruct c_regex_traits<wchar_t>\n{\n   c_regex_traits(){}\n   typedef wchar_t char_type;\n   typedef std::size_t size_type;\n   typedef std::wstring string_type;\n   struct locale_type{};\n   typedef std::uint32_t char_class_type;\n\n   static size_type length(const char_type* p) \n   { \n      return (std::wcslen)(p); \n   }\n\n   wchar_t translate(wchar_t c) const \n   { \n      return c; \n   }\n   wchar_t translate_nocase(wchar_t c) const \n   { \n      return (std::towlower)(c); \n   }\n\n   static string_type  transform(const wchar_t* p1, const wchar_t* p2);\n   static string_type  transform_primary(const wchar_t* p1, const wchar_t* p2);\n\n   static char_class_type  lookup_classname(const wchar_t* p1, const wchar_t* p2);\n   static string_type  lookup_collatename(const wchar_t* p1, const wchar_t* p2);\n\n   static bool  isctype(wchar_t, char_class_type);\n   static int  value(wchar_t, int);\n\n   locale_type imbue(locale_type l)\n   { return l; }\n   locale_type getloc()const\n   { return locale_type(); }\n\nprivate:\n   // this type is not copyable:\n   c_regex_traits(const c_regex_traits&);\n   c_regex_traits& operator=(const c_regex_traits&);\n};\n\n#endif // BOOST_NO_WREGEX\n\ninline c_regex_traits<char>::string_type  c_regex_traits<char>::transform(const char* p1, const char* p2)\n{\n   std::string result(10, ' ');\n   std::size_t s = result.size();\n   std::size_t r;\n   std::string src(p1, p2);\n   while (s < (r = std::strxfrm(&*result.begin(), src.c_str(), s)))\n   {\n#if defined(_CPPLIB_VER)\n      //\n      // A bug in VC11 and 12 causes the program to hang if we pass a null-string\n      // to std::strxfrm, but only for certain locales :-(\n      // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware).\n      //\n      if (r == INT_MAX)\n      {\n         result.erase();\n         result.insert(result.begin(), static_cast<char>(0));\n         return result;\n      }\n#endif\n      result.append(r - s + 3, ' ');\n      s = result.size();\n   }\n   result.erase(r);\n   return result;\n}\n\ninline c_regex_traits<char>::string_type  c_regex_traits<char>::transform_primary(const char* p1, const char* p2)\n{\n   static char s_delim;\n   static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast<c_regex_traits<char>*>(0), &s_delim);\n   std::string result;\n   //\n   // What we do here depends upon the format of the sort key returned by\n   // sort key returned by this->transform:\n   //\n   switch (s_collate_type)\n   {\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_C:\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown:\n      // the best we can do is translate to lower case, then get a regular sort key:\n   {\n      result.assign(p1, p2);\n      for (std::string::size_type i = 0; i < result.size(); ++i)\n         result[i] = static_cast<char>((std::tolower)(static_cast<unsigned char>(result[i])));\n      result = transform(&*result.begin(), &*result.begin() + result.size());\n      break;\n   }\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed:\n   {\n      // get a regular sort key, and then truncate it:\n      result = transform(p1, p2);\n      result.erase(s_delim);\n      break;\n   }\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim:\n      // get a regular sort key, and then truncate everything after the delim:\n      result = transform(p1, p2);\n      if ((!result.empty()) && (result[0] == s_delim))\n         break;\n      std::size_t i;\n      for (i = 0; i < result.size(); ++i)\n      {\n         if (result[i] == s_delim)\n            break;\n      }\n      result.erase(i);\n      break;\n   }\n   if (result.empty())\n      result = std::string(1, char(0));\n   return result;\n}\n\ninline c_regex_traits<char>::char_class_type  c_regex_traits<char>::lookup_classname(const char* p1, const char* p2)\n{\n   using namespace BOOST_REGEX_DETAIL_NS;\n   static const char_class_type masks[] =\n   {\n      0,\n      char_class_alnum,\n      char_class_alpha,\n      char_class_blank,\n      char_class_cntrl,\n      char_class_digit,\n      char_class_digit,\n      char_class_graph,\n      char_class_horizontal,\n      char_class_lower,\n      char_class_lower,\n      char_class_print,\n      char_class_punct,\n      char_class_space,\n      char_class_space,\n      char_class_upper,\n      char_class_unicode,\n      char_class_upper,\n      char_class_vertical,\n      char_class_alnum | char_class_word,\n      char_class_alnum | char_class_word,\n      char_class_xdigit,\n   };\n\n   int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2);\n   if (idx < 0)\n   {\n      std::string s(p1, p2);\n      for (std::string::size_type i = 0; i < s.size(); ++i)\n         s[i] = static_cast<char>((std::tolower)(static_cast<unsigned char>(s[i])));\n      idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size());\n   }\n   BOOST_REGEX_ASSERT(std::size_t(idx) + 1u < sizeof(masks) / sizeof(masks[0]));\n   return masks[idx + 1];\n}\n\ninline bool  c_regex_traits<char>::isctype(char c, char_class_type mask)\n{\n   using namespace BOOST_REGEX_DETAIL_NS;\n   return\n      ((mask & char_class_space) && (std::isspace)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_print) && (std::isprint)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_cntrl) && (std::iscntrl)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_upper) && (std::isupper)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_lower) && (std::islower)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_alpha) && (std::isalpha)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_digit) && (std::isdigit)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_punct) && (std::ispunct)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_xdigit) && (std::isxdigit)(static_cast<unsigned char>(c)))\n      || ((mask & char_class_blank) && (std::isspace)(static_cast<unsigned char>(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c))\n      || ((mask & char_class_word) && (c == '_'))\n      || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\\v')))\n      || ((mask & char_class_horizontal) && (std::isspace)(static_cast<unsigned char>(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != '\\v'));\n}\n\ninline c_regex_traits<char>::string_type  c_regex_traits<char>::lookup_collatename(const char* p1, const char* p2)\n{\n   std::string s(p1, p2);\n   s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s);\n   if (s.empty() && (p2 - p1 == 1))\n      s.append(1, *p1);\n   return s;\n}\n\ninline int  c_regex_traits<char>::value(char c, int radix)\n{\n   char b[2] = { c, '\\0', };\n   char* ep;\n   int result = std::strtol(b, &ep, radix);\n   if (ep == b)\n      return -1;\n   return result;\n}\n\n#ifndef BOOST_NO_WREGEX\n\ninline c_regex_traits<wchar_t>::string_type  c_regex_traits<wchar_t>::transform(const wchar_t* p1, const wchar_t* p2)\n{\n   std::size_t r;\n   std::size_t s = 10;\n   std::wstring src(p1, p2);\n   std::wstring result(s, L' ');\n   while (s < (r = std::wcsxfrm(&*result.begin(), src.c_str(), s)))\n   {\n#if defined(_CPPLIB_VER)\n      //\n      // A bug in VC11 and 12 causes the program to hang if we pass a null-string\n      // to std::strxfrm, but only for certain locales :-(\n      // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware).\n      //\n      if (r == INT_MAX)\n      {\n         result.erase();\n         result.insert(result.begin(), static_cast<wchar_t>(0));\n         return result;\n      }\n#endif\n      result.append(r - s + 3, L' ');\n      s = result.size();\n   }\n   result.erase(r);\n   return result;\n}\n\ninline c_regex_traits<wchar_t>::string_type  c_regex_traits<wchar_t>::transform_primary(const wchar_t* p1, const wchar_t* p2)\n{\n   static wchar_t s_delim;\n   static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast<const c_regex_traits<wchar_t>*>(0), &s_delim);\n   std::wstring result;\n   //\n   // What we do here depends upon the format of the sort key returned by\n   // sort key returned by this->transform:\n   //\n   switch (s_collate_type)\n   {\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_C:\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown:\n      // the best we can do is translate to lower case, then get a regular sort key:\n   {\n      result.assign(p1, p2);\n      for (std::wstring::size_type i = 0; i < result.size(); ++i)\n         result[i] = (std::towlower)(result[i]);\n      result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());\n      break;\n   }\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed:\n   {\n      // get a regular sort key, and then truncate it:\n      result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());\n      result.erase(s_delim);\n      break;\n   }\n   case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim:\n      // get a regular sort key, and then truncate everything after the delim:\n      result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());\n      if ((!result.empty()) && (result[0] == s_delim))\n         break;\n      std::size_t i;\n      for (i = 0; i < result.size(); ++i)\n      {\n         if (result[i] == s_delim)\n            break;\n      }\n      result.erase(i);\n      break;\n   }\n   if (result.empty())\n      result = std::wstring(1, char(0));\n   return result;\n}\n\ninline c_regex_traits<wchar_t>::char_class_type  c_regex_traits<wchar_t>::lookup_classname(const wchar_t* p1, const wchar_t* p2)\n{\n   using namespace BOOST_REGEX_DETAIL_NS;\n   static const char_class_type masks[] =\n   {\n      0,\n      char_class_alnum,\n      char_class_alpha,\n      char_class_blank,\n      char_class_cntrl,\n      char_class_digit,\n      char_class_digit,\n      char_class_graph,\n      char_class_horizontal,\n      char_class_lower,\n      char_class_lower,\n      char_class_print,\n      char_class_punct,\n      char_class_space,\n      char_class_space,\n      char_class_upper,\n      char_class_unicode,\n      char_class_upper,\n      char_class_vertical,\n      char_class_alnum | char_class_word,\n      char_class_alnum | char_class_word,\n      char_class_xdigit,\n   };\n\n   int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2);\n   if (idx < 0)\n   {\n      std::wstring s(p1, p2);\n      for (std::wstring::size_type i = 0; i < s.size(); ++i)\n         s[i] = (std::towlower)(s[i]);\n      idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size());\n   }\n   BOOST_REGEX_ASSERT(idx + 1 < static_cast<int>(sizeof(masks) / sizeof(masks[0])));\n   return masks[idx + 1];\n}\n\ninline bool  c_regex_traits<wchar_t>::isctype(wchar_t c, char_class_type mask)\n{\n   using namespace BOOST_REGEX_DETAIL_NS;\n   return\n      ((mask & char_class_space) && (std::iswspace)(c))\n      || ((mask & char_class_print) && (std::iswprint)(c))\n      || ((mask & char_class_cntrl) && (std::iswcntrl)(c))\n      || ((mask & char_class_upper) && (std::iswupper)(c))\n      || ((mask & char_class_lower) && (std::iswlower)(c))\n      || ((mask & char_class_alpha) && (std::iswalpha)(c))\n      || ((mask & char_class_digit) && (std::iswdigit)(c))\n      || ((mask & char_class_punct) && (std::iswpunct)(c))\n      || ((mask & char_class_xdigit) && (std::iswxdigit)(c))\n      || ((mask & char_class_blank) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c))\n      || ((mask & char_class_word) && (c == '_'))\n      || ((mask & char_class_unicode) && (c & ~static_cast<wchar_t>(0xff)))\n      || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == L'\\v')))\n      || ((mask & char_class_horizontal) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != L'\\v'));\n}\n\ninline c_regex_traits<wchar_t>::string_type  c_regex_traits<wchar_t>::lookup_collatename(const wchar_t* p1, const wchar_t* p2)\n{\n   std::string name;\n   // Usual msvc warning suppression does not work here with std::string template constructor.... use a workaround instead:\n   for (const wchar_t* pos = p1; pos != p2; ++pos)\n      name.push_back((char)*pos);\n   name = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(name);\n   if (!name.empty())\n      return string_type(name.begin(), name.end());\n   if (p2 - p1 == 1)\n      return string_type(1, *p1);\n   return string_type();\n}\n\ninline int  c_regex_traits<wchar_t>::value(wchar_t c, int radix)\n{\n#ifdef BOOST_BORLANDC\n   // workaround for broken wcstol:\n   if ((std::iswxdigit)(c) == 0)\n      return -1;\n#endif\n   wchar_t b[2] = { c, '\\0', };\n   wchar_t* ep;\n   int result = std::wcstol(b, &ep, radix);\n   if (ep == b)\n      return -1;\n   return result;\n}\n\n#endif\n\n}\n\n#endif\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/char_regex_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the\n * Boost Software License, Version 1.0. (See accompanying file\n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         char_regex_traits.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares deprecated traits classes char_regex_traits<>.\n  */\n\n\n#ifndef BOOST_REGEX_V5_CHAR_REGEX_TRAITS_HPP\n#define BOOST_REGEX_V5_CHAR_REGEX_TRAITS_HPP\n\nnamespace boost{\n\nnamespace deprecated{\n//\n// class char_regex_traits_i\n// provides case insensitive traits classes (deprecated):\ntemplate <class charT>\nclass char_regex_traits_i : public regex_traits<charT> {};\n\ntemplate<>\nclass char_regex_traits_i<char> : public regex_traits<char>\n{\npublic:\n   typedef char char_type;\n   typedef unsigned char uchar_type;\n   typedef unsigned int size_type;\n   typedef regex_traits<char> base_type;\n\n};\n\n#ifndef BOOST_NO_WREGEX\ntemplate<>\nclass char_regex_traits_i<wchar_t> : public regex_traits<wchar_t>\n{\npublic:\n   typedef wchar_t char_type;\n   typedef unsigned short uchar_type;\n   typedef unsigned int size_type;\n   typedef regex_traits<wchar_t> base_type;\n\n};\n#endif\n} // namespace deprecated\n} // namespace boost\n\n#endif // include\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/cpp_regex_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 2004 John Maddock\n * Copyright 2011 Garmin Ltd. or its subsidiaries\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         cpp_regex_traits.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression traits class cpp_regex_traits.\n  */\n\n#ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED\n#define BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED\n\n#include <boost/regex/config.hpp>\n#include <cstdint>\n#include <locale>\n#include <type_traits>\n\n#include <boost/regex/pattern_except.hpp>\n#include <boost/regex/v5/regex_traits_defaults.hpp>\n\n#ifdef BOOST_HAS_THREADS\n#include <mutex>\n#endif\n#include <boost/regex/v5/primary_transform.hpp>\n#include <boost/regex/v5/object_cache.hpp>\n\n#include <climits>\n#include <ios>\n#include <istream>\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4786 4251)\n#endif\n\nnamespace boost{ \n\n//\n// forward declaration is needed by some compilers:\n//\ntemplate <class charT>\nclass cpp_regex_traits;\n   \nnamespace BOOST_REGEX_DETAIL_NS{\n\n//\n// class parser_buf:\n// acts as a stream buffer which wraps around a pair of pointers:\n//\ntemplate <class charT,\n          class traits = ::std::char_traits<charT> >\nclass parser_buf : public ::std::basic_streambuf<charT, traits>\n{\n   typedef ::std::basic_streambuf<charT, traits> base_type;\n   typedef typename base_type::int_type int_type;\n   typedef typename base_type::char_type char_type;\n   typedef typename base_type::pos_type pos_type;\n   typedef ::std::streamsize streamsize;\n   typedef typename base_type::off_type off_type;\npublic:\n   parser_buf() : base_type() { setbuf(0, 0); }\n   const charT* getnext() { return this->gptr(); }\nprotected:\n   std::basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n) override;\n   typename parser_buf<charT, traits>::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which) override;\n   typename parser_buf<charT, traits>::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) override;\nprivate:\n   parser_buf& operator=(const parser_buf&);\n   parser_buf(const parser_buf&);\n};\n\ntemplate<class charT, class traits>\nstd::basic_streambuf<charT, traits>*\nparser_buf<charT, traits>::setbuf(char_type* s, streamsize n)\n{\n   this->setg(s, s, s + n);\n   return this;\n}\n\ntemplate<class charT, class traits>\ntypename parser_buf<charT, traits>::pos_type\nparser_buf<charT, traits>::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which)\n{\n   if(which & ::std::ios_base::out)\n      return pos_type(off_type(-1));\n   std::ptrdiff_t size = this->egptr() - this->eback();\n   std::ptrdiff_t pos = this->gptr() - this->eback();\n   charT* g = this->eback();\n   switch(static_cast<std::intmax_t>(way))\n   {\n   case ::std::ios_base::beg:\n      if((off < 0) || (off > size))\n         return pos_type(off_type(-1));\n      else\n         this->setg(g, g + off, g + size);\n      break;\n   case ::std::ios_base::end:\n      if((off < 0) || (off > size))\n         return pos_type(off_type(-1));\n      else\n         this->setg(g, g + size - off, g + size);\n      break;\n   case ::std::ios_base::cur:\n   {\n      std::ptrdiff_t newpos = static_cast<std::ptrdiff_t>(pos + off);\n      if((newpos < 0) || (newpos > size))\n         return pos_type(off_type(-1));\n      else\n         this->setg(g, g + newpos, g + size);\n      break;\n   }\n   default: ;\n   }\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4244)\n#endif\n   return static_cast<pos_type>(this->gptr() - this->eback());\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate<class charT, class traits>\ntypename parser_buf<charT, traits>::pos_type\nparser_buf<charT, traits>::seekpos(pos_type sp, ::std::ios_base::openmode which)\n{\n   if(which & ::std::ios_base::out)\n      return pos_type(off_type(-1));\n   off_type size = static_cast<off_type>(this->egptr() - this->eback());\n   charT* g = this->eback();\n   if(off_type(sp) <= size)\n   {\n      this->setg(g, g + off_type(sp), g + size);\n   }\n   return pos_type(off_type(-1));\n}\n\n//\n// class cpp_regex_traits_base:\n// acts as a container for locale and the facets we are using.\n//\ntemplate <class charT>\nstruct cpp_regex_traits_base\n{\n   cpp_regex_traits_base(const std::locale& l)\n   { (void)imbue(l); }\n   std::locale imbue(const std::locale& l);\n\n   std::locale m_locale;\n   std::ctype<charT> const* m_pctype;\n   std::messages<charT> const* m_pmessages;\n   std::collate<charT> const* m_pcollate;\n\n   bool operator<(const cpp_regex_traits_base& b)const\n   {\n      if(m_pctype == b.m_pctype)\n      {\n         if(m_pmessages == b.m_pmessages)\n         {\n            return m_pcollate < b.m_pcollate;\n         }\n         return m_pmessages < b.m_pmessages;\n      }\n      return m_pctype < b.m_pctype;\n   }\n   bool operator==(const cpp_regex_traits_base& b)const\n   {\n      return (m_pctype == b.m_pctype) \n         && (m_pmessages == b.m_pmessages) \n         && (m_pcollate == b.m_pcollate);\n   }\n};\n\ntemplate <class charT>\nstd::locale cpp_regex_traits_base<charT>::imbue(const std::locale& l)\n{\n   std::locale result(m_locale);\n   m_locale = l;\n   m_pctype = &std::use_facet<std::ctype<charT>>(l);\n   m_pmessages = std::has_facet<std::messages<charT> >(l) ? &std::use_facet<std::messages<charT> >(l) : 0;\n   m_pcollate = &std::use_facet<std::collate<charT> >(l);\n   return result;\n}\n\n//\n// class cpp_regex_traits_char_layer:\n// implements methods that require specialization for narrow characters:\n//\ntemplate <class charT>\nclass cpp_regex_traits_char_layer : public cpp_regex_traits_base<charT>\n{\n   typedef std::basic_string<charT> string_type;\n   typedef std::map<charT, regex_constants::syntax_type> map_type;\n   typedef typename map_type::const_iterator map_iterator_type;\npublic:\n   cpp_regex_traits_char_layer(const std::locale& l)\n      : cpp_regex_traits_base<charT>(l)\n   {\n      init();\n   }\n   cpp_regex_traits_char_layer(const cpp_regex_traits_base<charT>& b)\n      : cpp_regex_traits_base<charT>(b)\n   {\n      init();\n   }\n   void init();\n\n   regex_constants::syntax_type syntax_type(charT c)const\n   {\n      map_iterator_type i = m_char_map.find(c);\n      return ((i == m_char_map.end()) ? 0 : i->second);\n   }\n   regex_constants::escape_syntax_type escape_syntax_type(charT c) const\n   {\n      map_iterator_type i = m_char_map.find(c);\n      if(i == m_char_map.end())\n      {\n         if(this->m_pctype->is(std::ctype_base::lower, c)) return regex_constants::escape_type_class;\n         if(this->m_pctype->is(std::ctype_base::upper, c)) return regex_constants::escape_type_not_class;\n         return 0;\n      }\n      return i->second;\n   }\n\nprivate:\n   string_type get_default_message(regex_constants::syntax_type);\n   // TODO: use a hash table when available!\n   map_type m_char_map;\n};\n\ntemplate <class charT>\nvoid cpp_regex_traits_char_layer<charT>::init()\n{\n   // we need to start by initialising our syntax map so we know which\n   // character is used for which purpose:\n#ifndef __IBMCPP__\n   typename std::messages<charT>::catalog cat = static_cast<std::messages<char>::catalog>(-1);\n#else\n   typename std::messages<charT>::catalog cat = reinterpret_cast<std::messages<char>::catalog>(-1);\n#endif\n   std::string cat_name(cpp_regex_traits<charT>::get_catalog_name());\n   if((!cat_name.empty()) && (this->m_pmessages != 0))\n   {\n      cat = this->m_pmessages->open(\n         cat_name, \n         this->m_locale);\n      if((int)cat < 0)\n      {\n         std::string m(\"Unable to open message catalog: \");\n         std::runtime_error err(m + cat_name);\n         boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err);\n      }\n   }\n   //\n   // if we have a valid catalog then load our messages:\n   //\n   if((int)cat >= 0)\n   {\n#ifndef BOOST_NO_EXCEPTIONS\n      try{\n#endif\n         for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n         {\n            string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i));\n            for(typename string_type::size_type j = 0; j < mss.size(); ++j)\n            {\n               m_char_map[mss[j]] = i;\n            }\n         }\n         this->m_pmessages->close(cat);\n#ifndef BOOST_NO_EXCEPTIONS\n      }\n      catch(...)\n      {\n         if(this->m_pmessages)\n            this->m_pmessages->close(cat);\n         throw;\n      }\n#endif\n   }\n   else\n   {\n      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n      {\n         const char* ptr = get_default_syntax(i);\n         while(ptr && *ptr)\n         {\n            m_char_map[this->m_pctype->widen(*ptr)] = i;\n            ++ptr;\n         }\n      }\n   }\n}\n\ntemplate <class charT>\ntypename cpp_regex_traits_char_layer<charT>::string_type \n   cpp_regex_traits_char_layer<charT>::get_default_message(regex_constants::syntax_type i)\n{\n   const char* ptr = get_default_syntax(i);\n   string_type result;\n   while(ptr && *ptr)\n   {\n      result.append(1, this->m_pctype->widen(*ptr));\n      ++ptr;\n   }\n   return result;\n}\n\n//\n// specialized version for narrow characters:\n//\ntemplate <>\nclass cpp_regex_traits_char_layer<char> : public cpp_regex_traits_base<char>\n{\n   typedef std::string string_type;\npublic:\n   cpp_regex_traits_char_layer(const std::locale& l)\n   : cpp_regex_traits_base<char>(l)\n   {\n      init();\n   }\n   cpp_regex_traits_char_layer(const cpp_regex_traits_base<char>& l)\n   : cpp_regex_traits_base<char>(l)\n   {\n      init();\n   }\n\n   regex_constants::syntax_type syntax_type(char c)const\n   {\n      return m_char_map[static_cast<unsigned char>(c)];\n   }\n   regex_constants::escape_syntax_type escape_syntax_type(char c) const\n   {\n      return m_char_map[static_cast<unsigned char>(c)];\n   }\n\nprivate:\n   regex_constants::syntax_type m_char_map[1u << CHAR_BIT];\n   void init();\n};\n\n//\n// class cpp_regex_traits_implementation:\n// provides pimpl implementation for cpp_regex_traits.\n//\ntemplate <class charT>\nclass cpp_regex_traits_implementation : public cpp_regex_traits_char_layer<charT>\n{\npublic:\n   typedef typename cpp_regex_traits<charT>::char_class_type      char_class_type;\n   typedef typename std::ctype<charT>::mask                       native_mask_type;\n   typedef typename std::make_unsigned<native_mask_type>::type    unsigned_native_mask_type;\n   static const char_class_type mask_blank = 1u << 24;\n   static const char_class_type mask_word = 1u << 25;\n   static const char_class_type mask_unicode = 1u << 26;\n   static const char_class_type mask_horizontal = 1u << 27;\n   static const char_class_type mask_vertical = 1u << 28;\n\n   typedef std::basic_string<charT> string_type;\n   typedef charT char_type;\n   //cpp_regex_traits_implementation();\n   cpp_regex_traits_implementation(const std::locale& l)\n      : cpp_regex_traits_char_layer<charT>(l)\n   {\n      init();\n   }\n   cpp_regex_traits_implementation(const cpp_regex_traits_base<charT>& l)\n      : cpp_regex_traits_char_layer<charT>(l)\n   {\n      init();\n   }\n   std::string error_string(regex_constants::error_type n) const\n   {\n      if(!m_error_strings.empty())\n      {\n         std::map<int, std::string>::const_iterator p = m_error_strings.find(n);\n         return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second;\n      }\n      return get_default_error_string(n);\n   }\n   char_class_type lookup_classname(const charT* p1, const charT* p2) const\n   {\n      char_class_type result = lookup_classname_imp(p1, p2);\n      if(result == 0)\n      {\n         string_type temp(p1, p2);\n         this->m_pctype->tolower(&*temp.begin(), &*temp.begin() + temp.size());\n         result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size());\n      }\n      return result;\n   }\n   string_type lookup_collatename(const charT* p1, const charT* p2) const;\n   string_type transform_primary(const charT* p1, const charT* p2) const;\n   string_type transform(const charT* p1, const charT* p2) const;\nprivate:\n   std::map<int, std::string>     m_error_strings;   // error messages indexed by numberic ID\n   std::map<string_type, char_class_type>  m_custom_class_names; // character class names\n   std::map<string_type, string_type>      m_custom_collate_names; // collating element names\n   unsigned                       m_collate_type;    // the form of the collation string\n   charT                          m_collate_delim;   // the collation group delimiter\n   //\n   // helpers:\n   //\n   char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const;\n   void init();\n};\n\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_blank;\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_word;\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_unicode;\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_vertical;\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_horizontal;\n\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::string_type \n   cpp_regex_traits_implementation<charT>::transform_primary(const charT* p1, const charT* p2) const\n{\n   //\n   // PRECONDITIONS:\n   //\n   // A bug in gcc 3.2 (and maybe other versions as well) treats\n   // p1 as a null terminated string, for efficiency reasons \n   // we work around this elsewhere, but just assert here that\n   // we adhere to gcc's (buggy) preconditions...\n   //\n   BOOST_REGEX_ASSERT(*p2 == 0);\n   string_type result;\n#if defined(_CPPLIB_VER)\n   //\n   // A bug in VC11 and 12 causes the program to hang if we pass a null-string\n   // to std::collate::transform, but only for certain locales :-(\n   // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware).\n   //\n   if(*p1 == 0)\n   {\n      return string_type(1, charT(0));\n   }\n#endif\n   //\n   // swallowing all exceptions here is a bad idea\n   // however at least one std lib will always throw\n   // std::bad_alloc for certain arguments...\n   //\n#ifndef BOOST_NO_EXCEPTIONS\n   try{\n#endif\n      //\n      // What we do here depends upon the format of the sort key returned by\n      // sort key returned by this->transform:\n      //\n      switch(m_collate_type)\n      {\n      case sort_C:\n      case sort_unknown:\n         // the best we can do is translate to lower case, then get a regular sort key:\n         {\n            result.assign(p1, p2);\n            this->m_pctype->tolower(&*result.begin(), &*result.begin() + result.size());\n            result = this->m_pcollate->transform(&*result.begin(), &*result.begin() + result.size());\n            break;\n         }\n      case sort_fixed:\n         {\n            // get a regular sort key, and then truncate it:\n            result.assign(this->m_pcollate->transform(p1, p2));\n            result.erase(this->m_collate_delim);\n            break;\n         }\n      case sort_delim:\n            // get a regular sort key, and then truncate everything after the delim:\n            result.assign(this->m_pcollate->transform(p1, p2));\n            std::size_t i;\n            for(i = 0; i < result.size(); ++i)\n            {\n               if(result[i] == m_collate_delim)\n                  break;\n            }\n            result.erase(i);\n            break;\n      }\n#ifndef BOOST_NO_EXCEPTIONS\n   }catch(...){}\n#endif\n   while((!result.empty()) && (charT(0) == *result.rbegin()))\n      result.erase(result.size() - 1);\n   if(result.empty())\n   {\n      // character is ignorable at the primary level:\n      result = string_type(1, charT(0));\n   }\n   return result;\n}\n\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::string_type \n   cpp_regex_traits_implementation<charT>::transform(const charT* p1, const charT* p2) const\n{\n   //\n   // PRECONDITIONS:\n   //\n   // A bug in gcc 3.2 (and maybe other versions as well) treats\n   // p1 as a null terminated string, for efficiency reasons \n   // we work around this elsewhere, but just assert here that\n   // we adhere to gcc's (buggy) preconditions...\n   //\n   BOOST_REGEX_ASSERT(*p2 == 0);\n   //\n   // swallowing all exceptions here is a bad idea\n   // however at least one std lib will always throw\n   // std::bad_alloc for certain arguments...\n   //\n   string_type result, result2;\n#if defined(_CPPLIB_VER)\n   //\n   // A bug in VC11 and 12 causes the program to hang if we pass a null-string\n   // to std::collate::transform, but only for certain locales :-(\n   // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware).\n   //\n   if(*p1 == 0)\n   {\n      return result;\n   }\n#endif\n#ifndef BOOST_NO_EXCEPTIONS\n   try{\n#endif\n      result = this->m_pcollate->transform(p1, p2);\n      //\n      // some implementations (Dinkumware) append unnecessary trailing \\0's:\n      while((!result.empty()) && (charT(0) == *result.rbegin()))\n         result.erase(result.size() - 1);\n      //\n      // We may have NULL's used as separators between sections of the collate string,\n      // an example would be Boost.Locale.  We have no way to detect this case via\n      // #defines since this can be used with any compiler/platform combination.\n      // Unfortunately our state machine (which was devised when all implementations\n      // used underlying C language API's) can't cope with that case.  One workaround\n      // is to replace each character with 2, fortunately this code isn't used that\n      // much as this is now slower than before :-(\n      //\n      typedef typename std::make_unsigned<charT>::type uchar_type;\n      result2.reserve(result.size() * 2 + 2);\n      for(unsigned i = 0; i < result.size(); ++i)\n      {\n         if(static_cast<uchar_type>(result[i]) == (std::numeric_limits<uchar_type>::max)())\n         {\n            result2.append(1, charT((std::numeric_limits<uchar_type>::max)())).append(1, charT('b'));\n         }\n         else\n         {\n            result2.append(1, static_cast<charT>(1 + static_cast<uchar_type>(result[i]))).append(1, charT('b') - 1);\n         }\n      }\n      BOOST_REGEX_ASSERT(std::find(result2.begin(), result2.end(), charT(0)) == result2.end());\n#ifndef BOOST_NO_EXCEPTIONS\n   }\n   catch(...)\n   {\n   }\n#endif\n   return result2;\n}\n\n\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::string_type \n   cpp_regex_traits_implementation<charT>::lookup_collatename(const charT* p1, const charT* p2) const\n{\n   typedef typename std::map<string_type, string_type>::const_iterator iter_type;\n   if(!m_custom_collate_names.empty())\n   {\n      iter_type pos = m_custom_collate_names.find(string_type(p1, p2));\n      if(pos != m_custom_collate_names.end())\n         return pos->second;\n   }\n   std::string name(p1, p2);\n   name = lookup_default_collate_name(name);\n   if(!name.empty())\n      return string_type(name.begin(), name.end());\n   if(p2 - p1 == 1)\n      return string_type(1, *p1);\n   return string_type();\n}\n\ntemplate <class charT>\nvoid cpp_regex_traits_implementation<charT>::init()\n{\n#ifndef __IBMCPP__\n   typename std::messages<charT>::catalog cat = static_cast<std::messages<char>::catalog>(-1);\n#else\n   typename std::messages<charT>::catalog cat = reinterpret_cast<std::messages<char>::catalog>(-1);\n#endif\n   std::string cat_name(cpp_regex_traits<charT>::get_catalog_name());\n   if((!cat_name.empty()) && (this->m_pmessages != 0))\n   {\n      cat = this->m_pmessages->open(\n         cat_name, \n         this->m_locale);\n      if((int)cat < 0)\n      {\n         std::string m(\"Unable to open message catalog: \");\n         std::runtime_error err(m + cat_name);\n         boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err);\n      }\n   }\n   //\n   // if we have a valid catalog then load our messages:\n   //\n   if((int)cat >= 0)\n   {\n      //\n      // Error messages:\n      //\n      for(boost::regex_constants::error_type i = static_cast<boost::regex_constants::error_type>(0); \n         i <= boost::regex_constants::error_unknown; \n         i = static_cast<boost::regex_constants::error_type>(i + 1))\n      {\n         const char* p = get_default_error_string(i);\n         string_type default_message;\n         while(*p)\n         {\n            default_message.append(1, this->m_pctype->widen(*p));\n            ++p;\n         }\n         string_type s = this->m_pmessages->get(cat, 0, i+200, default_message);\n         std::string result;\n         for(std::string::size_type j = 0; j < s.size(); ++j)\n         {\n            result.append(1, this->m_pctype->narrow(s[j], 0));\n         }\n         m_error_strings[i] = result;\n      }\n      //\n      // Custom class names:\n      //\n      static const char_class_type masks[16] = \n      {\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::alnum),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::alpha),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::cntrl),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::digit),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::graph),\n         cpp_regex_traits_implementation<charT>::mask_horizontal,\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::lower),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::print),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::punct),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::space),\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::upper),\n         cpp_regex_traits_implementation<charT>::mask_vertical,\n         static_cast<unsigned_native_mask_type>(std::ctype<charT>::xdigit),\n         cpp_regex_traits_implementation<charT>::mask_blank,\n         cpp_regex_traits_implementation<charT>::mask_word,\n         cpp_regex_traits_implementation<charT>::mask_unicode,\n      };\n      static const string_type null_string;\n      for(unsigned int j = 0; j <= 13; ++j)\n      {\n         string_type s(this->m_pmessages->get(cat, 0, j+300, null_string));\n         if(!s.empty())\n            this->m_custom_class_names[s] = masks[j];\n      }\n   }\n   //\n   // get the collation format used by m_pcollate:\n   //\n   m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim);\n}\n\ntemplate <class charT>\ntypename cpp_regex_traits_implementation<charT>::char_class_type \n   cpp_regex_traits_implementation<charT>::lookup_classname_imp(const charT* p1, const charT* p2) const\n{\n   static const char_class_type masks[22] = \n   {\n      0,\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::alnum),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::alpha),\n      cpp_regex_traits_implementation<charT>::mask_blank,\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::cntrl),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::digit),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::digit),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::graph),\n      cpp_regex_traits_implementation<charT>::mask_horizontal,\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::lower),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::lower),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::print),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::punct),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::space),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::space),\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::upper),\n      cpp_regex_traits_implementation<charT>::mask_unicode,\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::upper),\n      cpp_regex_traits_implementation<charT>::mask_vertical,\n      static_cast<unsigned_native_mask_type>(std::ctype<char>::alnum) | cpp_regex_traits_implementation<charT>::mask_word, \n      static_cast<unsigned_native_mask_type>(std::ctype<char>::alnum) | cpp_regex_traits_implementation<charT>::mask_word, \n      static_cast<unsigned_native_mask_type>(std::ctype<char>::xdigit),\n   };\n   if(!m_custom_class_names.empty())\n   {\n      typedef typename std::map<std::basic_string<charT>, char_class_type>::const_iterator map_iter;\n      map_iter pos = m_custom_class_names.find(string_type(p1, p2));\n      if(pos != m_custom_class_names.end())\n         return pos->second;\n   }\n   std::size_t state_id = 1 + BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2);\n   BOOST_REGEX_ASSERT(state_id < sizeof(masks) / sizeof(masks[0]));\n   return masks[state_id];\n}\n\ntemplate <class charT>\ninline std::shared_ptr<const cpp_regex_traits_implementation<charT> > create_cpp_regex_traits(const std::locale& l)\n{\n   cpp_regex_traits_base<charT> key(l);\n   return ::boost::object_cache<cpp_regex_traits_base<charT>, cpp_regex_traits_implementation<charT> >::get(key, 5);\n}\n\n} // BOOST_REGEX_DETAIL_NS\n\ntemplate <class charT>\nclass cpp_regex_traits\n{\nprivate:\n   typedef std::ctype<charT>            ctype_type;\npublic:\n   typedef charT                        char_type;\n   typedef std::size_t                  size_type;\n   typedef std::basic_string<char_type> string_type;\n   typedef std::locale                  locale_type;\n   typedef std::uint_least32_t          char_class_type;\n\n   struct boost_extensions_tag{};\n\n   cpp_regex_traits()\n      : m_pimpl(BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits<charT>(std::locale()))\n   { }\n   static size_type length(const char_type* p)\n   {\n      return std::char_traits<charT>::length(p);\n   }\n   regex_constants::syntax_type syntax_type(charT c)const\n   {\n      return m_pimpl->syntax_type(c);\n   }\n   regex_constants::escape_syntax_type escape_syntax_type(charT c) const\n   {\n      return m_pimpl->escape_syntax_type(c);\n   }\n   charT translate(charT c) const\n   {\n      return c;\n   }\n   charT translate_nocase(charT c) const\n   {\n      return m_pimpl->m_pctype->tolower(c);\n   }\n   charT translate(charT c, bool icase) const\n   {\n      return icase ? m_pimpl->m_pctype->tolower(c) : c;\n   }\n   charT tolower(charT c) const\n   {\n      return m_pimpl->m_pctype->tolower(c);\n   }\n   charT toupper(charT c) const\n   {\n      return m_pimpl->m_pctype->toupper(c);\n   }\n   string_type transform(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->transform(p1, p2);\n   }\n   string_type transform_primary(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->transform_primary(p1, p2);\n   }\n   char_class_type lookup_classname(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->lookup_classname(p1, p2);\n   }\n   string_type lookup_collatename(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->lookup_collatename(p1, p2);\n   }\n   bool isctype(charT c, char_class_type f) const\n   {\n      typedef typename std::ctype<charT>::mask ctype_mask;\n\n      static const ctype_mask mask_base = \n         static_cast<ctype_mask>(\n            std::ctype<charT>::alnum \n            | std::ctype<charT>::alpha\n            | std::ctype<charT>::cntrl\n            | std::ctype<charT>::digit\n            | std::ctype<charT>::graph\n            | std::ctype<charT>::lower\n            | std::ctype<charT>::print\n            | std::ctype<charT>::punct\n            | std::ctype<charT>::space\n            | std::ctype<charT>::upper\n            | std::ctype<charT>::xdigit);\n\n      if((f & mask_base) \n         && (m_pimpl->m_pctype->is(\n            static_cast<ctype_mask>(f & mask_base), c)))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT>::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT>::mask_word) && (c == '_'))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT>::mask_blank) \n         && m_pimpl->m_pctype->is(std::ctype<charT>::space, c)\n         && !BOOST_REGEX_DETAIL_NS::is_separator(c))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT>::mask_vertical) \n         && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\\v')))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT>::mask_horizontal) \n         && this->isctype(c, std::ctype<charT>::space) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT>::mask_vertical))\n         return true;\n#ifdef __CYGWIN__\n      //\n      // Cygwin has a buggy ctype facet, see https://www.cygwin.com/ml/cygwin/2012-08/msg00178.html:\n      //\n      else if((f & std::ctype<charT>::xdigit) == std::ctype<charT>::xdigit)\n      {\n         if((c >= 'a') && (c <= 'f'))\n            return true;\n         if((c >= 'A') && (c <= 'F'))\n            return true;\n      }\n#endif\n      return false;\n   }\n   std::intmax_t toi(const charT*& p1, const charT* p2, int radix)const;\n   int value(charT c, int radix)const\n   {\n      const charT* pc = &c;\n      return (int)toi(pc, pc + 1, radix);\n   }\n   locale_type imbue(locale_type l)\n   {\n      std::locale result(getloc());\n      m_pimpl = BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits<charT>(l);\n      return result;\n   }\n   locale_type getloc()const\n   {\n      return m_pimpl->m_locale;\n   }\n   std::string error_string(regex_constants::error_type n) const\n   {\n      return m_pimpl->error_string(n);\n   }\n\n   //\n   // extension:\n   // set the name of the message catalog in use (defaults to \"boost_regex\").\n   //\n   static std::string catalog_name(const std::string& name);\n   static std::string get_catalog_name();\n\nprivate:\n   std::shared_ptr<const BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation<charT> > m_pimpl;\n   //\n   // catalog name handler:\n   //\n   static std::string& get_catalog_name_inst();\n\n#ifdef BOOST_HAS_THREADS\n   static std::mutex& get_mutex_inst();\n#endif\n};\n\n\ntemplate <class charT>\nstd::intmax_t cpp_regex_traits<charT>::toi(const charT*& first, const charT* last, int radix)const\n{\n   BOOST_REGEX_DETAIL_NS::parser_buf<charT>   sbuf;            // buffer for parsing numbers.\n   std::basic_istream<charT>      is(&sbuf);       // stream for parsing numbers.\n\n   // we do NOT want to parse any thousands separators inside the stream:\n   last = std::find(first, last, std::use_facet<std::numpunct<charT>>(is.getloc()).thousands_sep());\n\n   sbuf.pubsetbuf(const_cast<charT*>(static_cast<const charT*>(first)), static_cast<std::streamsize>(last-first));\n   is.clear();\n   if(std::abs(radix) == 16) is >> std::hex;\n   else if(std::abs(radix) == 8) is >> std::oct;\n   else is >> std::dec;\n   std::intmax_t val;\n   if(is >> val)\n   {\n      first = first + ((last - first) - sbuf.in_avail());\n      return val;\n   }\n   else\n      return -1;\n}\n\ntemplate <class charT>\nstd::string cpp_regex_traits<charT>::catalog_name(const std::string& name)\n{\n#ifdef BOOST_HAS_THREADS\n   std::lock_guard<std::mutex> lk(get_mutex_inst());\n#endif\n   std::string result(get_catalog_name_inst());\n   get_catalog_name_inst() = name;\n   return result;\n}\n\ntemplate <class charT>\nstd::string& cpp_regex_traits<charT>::get_catalog_name_inst()\n{\n   static std::string s_name;\n   return s_name;\n}\n\ntemplate <class charT>\nstd::string cpp_regex_traits<charT>::get_catalog_name()\n{\n#ifdef BOOST_HAS_THREADS\n   std::lock_guard<std::mutex> lk(get_mutex_inst());\n#endif\n   std::string result(get_catalog_name_inst());\n   return result;\n}\n\n#ifdef BOOST_HAS_THREADS\ntemplate <class charT>\nstd::mutex& cpp_regex_traits<charT>::get_mutex_inst()\n{\n   static std::mutex s_mutex;\n   return s_mutex;\n}\n#endif\n\nnamespace BOOST_REGEX_DETAIL_NS {\n\n   inline void cpp_regex_traits_char_layer<char>::init()\n   {\n      // we need to start by initialising our syntax map so we know which\n      // character is used for which purpose:\n      std::memset(m_char_map, 0, sizeof(m_char_map));\n#ifndef __IBMCPP__\n      std::messages<char>::catalog cat = static_cast<std::messages<char>::catalog>(-1);\n#else\n      std::messages<char>::catalog cat = reinterpret_cast<std::messages<char>::catalog>(-1);\n#endif\n      std::string cat_name(cpp_regex_traits<char>::get_catalog_name());\n      if ((!cat_name.empty()) && (m_pmessages != 0))\n      {\n         cat = this->m_pmessages->open(\n            cat_name,\n            this->m_locale);\n         if ((int)cat < 0)\n         {\n            std::string m(\"Unable to open message catalog: \");\n            std::runtime_error err(m + cat_name);\n            boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err);\n         }\n      }\n      //\n      // if we have a valid catalog then load our messages:\n      //\n      if ((int)cat >= 0)\n      {\n#ifndef BOOST_NO_EXCEPTIONS\n         try {\n#endif\n            for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n            {\n               string_type mss = this->m_pmessages->get(cat, 0, i, get_default_syntax(i));\n               for (string_type::size_type j = 0; j < mss.size(); ++j)\n               {\n                  m_char_map[static_cast<unsigned char>(mss[j])] = i;\n               }\n            }\n            this->m_pmessages->close(cat);\n#ifndef BOOST_NO_EXCEPTIONS\n         }\n         catch (...)\n         {\n            this->m_pmessages->close(cat);\n            throw;\n         }\n#endif\n      }\n      else\n      {\n         for (regex_constants::syntax_type j = 1; j < regex_constants::syntax_max; ++j)\n         {\n            const char* ptr = get_default_syntax(j);\n            while (ptr && *ptr)\n            {\n               m_char_map[static_cast<unsigned char>(*ptr)] = j;\n               ++ptr;\n            }\n         }\n      }\n      //\n      // finish off by calculating our escape types:\n      //\n      unsigned char i = 'A';\n      do\n      {\n         if (m_char_map[i] == 0)\n         {\n            if (this->m_pctype->is(std::ctype_base::lower, i))\n               m_char_map[i] = regex_constants::escape_type_class;\n            else if (this->m_pctype->is(std::ctype_base::upper, i))\n               m_char_map[i] = regex_constants::escape_type_not_class;\n         }\n      } while (0xFF != i++);\n   }\n\n} // namespace detail\n\n\n} // boost\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/cregex.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the\n * Boost Software License, Version 1.0. (See accompanying file\n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         cregex.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares POSIX API functions\n  *                + boost::RegEx high level wrapper.\n  */\n\n#ifndef BOOST_RE_CREGEX_HPP_INCLUDED\n#define BOOST_RE_CREGEX_HPP_INCLUDED\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n#include <boost/regex/v5/match_flags.hpp>\n#include <boost/regex/v5/error_type.hpp>\n\n#ifndef BOOST_REGEX_STANDALONE\n#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)\n#  define BOOST_LIB_NAME boost_regex\n#  if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)\n#     define BOOST_DYN_LINK\n#  endif\n#  ifdef BOOST_REGEX_DIAG\n#     define BOOST_LIB_DIAGNOSTIC\n#  endif\n#  include <boost/config/auto_link.hpp>\n#endif\n#endif\n\n#ifdef __cplusplus\n#include <cstddef>\n#else\n#include <stddef.h>\n#endif\n\n/* include these defs only for POSIX compatablity */\n#ifdef __cplusplus\nnamespace boost{\nextern \"C\" {\n#endif\n\n#if defined(__cplusplus)\ntypedef std::ptrdiff_t regoff_t;\ntypedef std::size_t regsize_t;\n#else\ntypedef ptrdiff_t regoff_t;\ntypedef size_t regsize_t;\n#endif\n\ntypedef struct\n{\n   unsigned int re_magic;\n#ifdef __cplusplus\n   std::size_t  re_nsub;      /* number of parenthesized subexpressions */\n#else\n   size_t re_nsub; \n#endif\n   const char*  re_endp;       /* end pointer for REG_PEND */\n   void* guts;                /* none of your business :-) */\n   match_flag_type eflags;        /* none of your business :-) */\n} regex_tA;\n\n#ifndef BOOST_NO_WREGEX\ntypedef struct\n{\n   unsigned int re_magic;\n#ifdef __cplusplus\n   std::size_t  re_nsub;         /* number of parenthesized subexpressions */\n#else\n   size_t re_nsub;\n#endif\n   const wchar_t* re_endp;       /* end pointer for REG_PEND */\n   void* guts;                   /* none of your business :-) */\n   match_flag_type eflags;           /* none of your business :-) */\n} regex_tW;\n#endif\n\ntypedef struct\n{\n   regoff_t rm_so;      /* start of match */\n   regoff_t rm_eo;      /* end of match */\n} regmatch_t;\n\n/* regcomp() flags */\ntypedef enum{\n   REG_BASIC = 0000,\n   REG_EXTENDED = 0001,\n   REG_ICASE = 0002,\n   REG_NOSUB = 0004,\n   REG_NEWLINE = 0010,\n   REG_NOSPEC = 0020,\n   REG_PEND = 0040,\n   REG_DUMP = 0200,\n   REG_NOCOLLATE = 0400,\n   REG_ESCAPE_IN_LISTS = 01000,\n   REG_NEWLINE_ALT = 02000,\n   REG_PERLEX = 04000,\n\n   REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX,\n   REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS,\n   REG_GREP = REG_BASIC | REG_NEWLINE_ALT,\n   REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT,\n\n   REG_ASSERT = 15,\n   REG_INVARG = 16,\n   REG_ATOI = 255,   /* convert name to number (!) */\n   REG_ITOA = 0400   /* convert number to name (!) */\n} reg_comp_flags;\n\n/* regexec() flags */\ntypedef enum{\n   REG_NOTBOL =    00001,\n   REG_NOTEOL =    00002,\n   REG_STARTEND =  00004\n} reg_exec_flags;\n\n/*\n * POSIX error codes:\n */\ntypedef unsigned reg_error_t;\ntypedef reg_error_t reg_errcode_t;  /* backwards compatibility */\n\nstatic const reg_error_t REG_NOERROR = 0;   /* Success.  */\nstatic const reg_error_t REG_NOMATCH = 1;   /* Didn't find a match (for regexec).  */\n\n  /* POSIX regcomp return error codes.  (In the order listed in the\n     standard.)  */\nstatic const reg_error_t REG_BADPAT = 2;    /* Invalid pattern.  */\nstatic const reg_error_t REG_ECOLLATE = 3;  /* Undefined collating element.  */\nstatic const reg_error_t REG_ECTYPE = 4;    /* Invalid character class name.  */\nstatic const reg_error_t REG_EESCAPE = 5;   /* Trailing backslash.  */\nstatic const reg_error_t REG_ESUBREG = 6;   /* Invalid back reference.  */\nstatic const reg_error_t REG_EBRACK = 7;    /* Unmatched left bracket.  */\nstatic const reg_error_t REG_EPAREN = 8;    /* Parenthesis imbalance.  */\nstatic const reg_error_t REG_EBRACE = 9;    /* Unmatched \\{.  */\nstatic const reg_error_t REG_BADBR = 10;    /* Invalid contents of \\{\\}.  */\nstatic const reg_error_t REG_ERANGE = 11;   /* Invalid range end.  */\nstatic const reg_error_t REG_ESPACE = 12;   /* Ran out of memory.  */\nstatic const reg_error_t REG_BADRPT = 13;   /* No preceding re for repetition op.  */\nstatic const reg_error_t REG_EEND = 14;     /* unexpected end of expression */\nstatic const reg_error_t REG_ESIZE = 15;    /* expression too big */\nstatic const reg_error_t REG_ERPAREN = 8;   /* = REG_EPAREN : unmatched right parenthesis */\nstatic const reg_error_t REG_EMPTY = 17;    /* empty expression */\nstatic const reg_error_t REG_E_MEMORY = 15; /* = REG_ESIZE : out of memory */\nstatic const reg_error_t REG_ECOMPLEXITY = 18; /* complexity too high */\nstatic const reg_error_t REG_ESTACK = 19;   /* out of stack space */\nstatic const reg_error_t REG_E_PERL = 20;   /* Perl (?...) error */\nstatic const reg_error_t REG_E_UNKNOWN = 21; /* unknown error */\nstatic const reg_error_t REG_ENOSYS = 21;   /* = REG_E_UNKNOWN : Reserved. */\n\nBOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int);\nBOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t);\nBOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int);\nBOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*);\n\n#ifndef BOOST_NO_WREGEX\nBOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int);\nBOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t);\nBOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int);\nBOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*);\n#endif\n\n#ifdef UNICODE\n#define regcomp regcompW\n#define regerror regerrorW\n#define regexec regexecW\n#define regfree regfreeW\n#define regex_t regex_tW\n#else\n#define regcomp regcompA\n#define regerror regerrorA\n#define regexec regexecA\n#define regfree regfreeA\n#define regex_t regex_tA\n#endif\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n} /* namespace */\n#endif\n\n#endif /* include guard */\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/error_type.hpp",
    "content": "/*\n *\n * Copyright (c) 2003-2005\n * John Maddock\n *\n * Use, modification and distribution are subject to the\n * Boost Software License, Version 1.0. (See accompanying file\n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         error_type.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression error type enumerator.\n  */\n\n#ifndef BOOST_REGEX_ERROR_TYPE_HPP\n#define BOOST_REGEX_ERROR_TYPE_HPP\n\n#ifdef __cplusplus\nnamespace boost{\n#endif\n\n#ifdef __cplusplus\nnamespace regex_constants{\n\nenum error_type{\n\n   error_ok = 0,         /* not used */\n   error_no_match = 1,   /* not used */\n   error_bad_pattern = 2,\n   error_collate = 3,\n   error_ctype = 4,\n   error_escape = 5,\n   error_backref = 6,\n   error_brack = 7,\n   error_paren = 8,\n   error_brace = 9,\n   error_badbrace = 10,\n   error_range = 11,\n   error_space = 12,\n   error_badrepeat = 13,\n   error_end = 14,    /* not used */\n   error_size = 15,\n   error_right_paren = 16,  /* not used */\n   error_empty = 17,\n   error_complexity = 18,\n   error_stack = 19,\n   error_perl_extension = 20,\n   error_unknown = 21\n};\n\n}\n}\n#endif /* __cplusplus */\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/icu.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         icu.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Unicode regular expressions on top of the ICU Library.\n  */\n\n#ifndef BOOST_REGEX_ICU_V5_HPP\n#define BOOST_REGEX_ICU_V5_HPP\n\n#include <unicode/utypes.h>\n#include <unicode/uchar.h>\n#include <unicode/coll.h>\n#include <type_traits>\n#include <functional>\n#include <boost/regex.hpp>\n#include <boost/regex/v5/unicode_iterator.hpp>\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning (push)\n#pragma warning (disable: 4251)\n#endif\n\nnamespace boost{\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\n// \n// Implementation details:\n//\nclass icu_regex_traits_implementation\n{\n   typedef UChar32                      char_type;\n   typedef std::size_t                  size_type;\n   typedef std::vector<char_type>       string_type;\n   typedef U_NAMESPACE_QUALIFIER Locale locale_type;\n   typedef std::uint_least32_t          char_class_type;\npublic:\n   icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& l)\n      : m_locale(l)\n   {\n      UErrorCode success = U_ZERO_ERROR;\n      m_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success));\n      if(U_SUCCESS(success) == 0)\n         init_error();\n      m_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::IDENTICAL);\n      success = U_ZERO_ERROR;\n      m_primary_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success));\n      if(U_SUCCESS(success) == 0)\n         init_error();\n      m_primary_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::PRIMARY);\n   }\n   U_NAMESPACE_QUALIFIER Locale getloc()const\n   {\n      return m_locale;\n   }\n   string_type do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const\n   {\n      // TODO make thread safe!!!! :\n      typedef u32_to_u16_iterator<const char_type*, ::UChar> itt;\n      itt i(p1), j(p2);\n      std::vector< ::UChar> t(i, j);\n      std::uint8_t result[100];\n      std::int32_t len;\n      if (!t.empty())\n         len = pcoll->getSortKey(&*t.begin(), static_cast<std::int32_t>(t.size()), result, sizeof(result));\n      else\n         len = pcoll->getSortKey(static_cast<UChar const*>(0), static_cast<std::int32_t>(0), result, sizeof(result));\n      if (std::size_t(len) > sizeof(result))\n      {\n         std::unique_ptr< std::uint8_t[]> presult(new ::uint8_t[len + 1]);\n         if (!t.empty())\n            len = pcoll->getSortKey(&*t.begin(), static_cast<std::int32_t>(t.size()), presult.get(), len + 1);\n         else\n            len = pcoll->getSortKey(static_cast<UChar const*>(0), static_cast<std::int32_t>(0), presult.get(), len + 1);\n         if ((0 == presult[len - 1]) && (len > 1))\n            --len;\n         return string_type(presult.get(), presult.get() + len);\n      }\n      if ((0 == result[len - 1]) && (len > 1))\n         --len;\n      return string_type(result, result + len);\n   }\n   string_type transform(const char_type* p1, const char_type* p2) const\n   {\n      return do_transform(p1, p2, m_collator.get());\n   }\n   string_type transform_primary(const char_type* p1, const char_type* p2) const\n   {\n      return do_transform(p1, p2, m_primary_collator.get());\n   }\nprivate:\n   void init_error()\n   {\n      std::runtime_error e(\"Could not initialize ICU resources\");\n#ifndef BOOST_REGEX_STANDALONE\n      boost::throw_exception(e);\n#else\n      throw e;\n#endif\n   }\n   U_NAMESPACE_QUALIFIER Locale m_locale;                                  // The ICU locale that we're using\n   std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_collator;          // The full collation object\n   std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_primary_collator;  // The primary collation object\n};\ninline std::shared_ptr<icu_regex_traits_implementation> get_icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& loc)\n{\n   return std::shared_ptr<icu_regex_traits_implementation>(new icu_regex_traits_implementation(loc));\n}\n\n}\n\nclass icu_regex_traits\n{\npublic:\n   typedef UChar32                      char_type;\n   typedef std::size_t                  size_type;\n   typedef std::vector<char_type>       string_type;\n   typedef U_NAMESPACE_QUALIFIER Locale locale_type;\n   typedef std::uint64_t                char_class_type;\n\n   struct boost_extensions_tag{};\n\n   icu_regex_traits()\n      : m_pimpl(BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(U_NAMESPACE_QUALIFIER Locale()))\n   {\n   }\n   static size_type length(const char_type* p)\n   {\n      size_type result = 0;\n      while (*p)\n      {\n         ++p;\n         ++result;\n      }\n      return result;\n   }\n\n   ::boost::regex_constants::syntax_type syntax_type(char_type c)const\n   {\n      return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_syntax_type(static_cast<char>(c)) : regex_constants::syntax_char;\n   }\n   ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c) const\n   {\n      return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_escape_syntax_type(static_cast<char>(c)) : regex_constants::syntax_char;\n   }\n   char_type translate(char_type c) const\n   {\n      return c;\n   }\n   char_type translate_nocase(char_type c) const\n   {\n      return ::u_foldCase(c, U_FOLD_CASE_DEFAULT);\n   }\n   char_type translate(char_type c, bool icase) const\n   {\n      return icase ? translate_nocase(c) : translate(c);\n   }\n   char_type tolower(char_type c) const\n   {\n      return ::u_tolower(c);\n   }\n   char_type toupper(char_type c) const\n   {\n      return ::u_toupper(c);\n   }\n   string_type transform(const char_type* p1, const char_type* p2) const\n   {\n      return m_pimpl->transform(p1, p2);\n   }\n   string_type transform_primary(const char_type* p1, const char_type* p2) const\n   {\n      return m_pimpl->transform_primary(p1, p2);\n   }\n   char_class_type lookup_classname(const char_type* p1, const char_type* p2) const\n   {\n      constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;\n      constexpr char_class_type mask_space = char_class_type(1) << offset_space;\n      constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;\n      constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;\n      constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;\n      constexpr char_class_type mask_any = char_class_type(1) << offset_any;\n      constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;\n      constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;\n      constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;\n\n      static const char_class_type masks[] =\n      {\n         0,\n         U_GC_L_MASK | U_GC_ND_MASK,\n         U_GC_L_MASK,\n         mask_blank,\n         U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK,\n         U_GC_ND_MASK,\n         U_GC_ND_MASK,\n         (0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK),\n         mask_horizontal,\n         U_GC_LL_MASK,\n         U_GC_LL_MASK,\n         ~(U_GC_C_MASK),\n         U_GC_P_MASK,\n         char_class_type(U_GC_Z_MASK) | mask_space,\n         char_class_type(U_GC_Z_MASK) | mask_space,\n         U_GC_LU_MASK,\n         mask_unicode,\n         U_GC_LU_MASK,\n         mask_vertical,\n         char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore,\n         char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore,\n         char_class_type(U_GC_ND_MASK) | mask_xdigit,\n      };\n\n      int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2);\n      if (idx >= 0)\n         return masks[idx + 1];\n      char_class_type result = lookup_icu_mask(p1, p2);\n      if (result != 0)\n         return result;\n\n      if (idx < 0)\n      {\n         string_type s(p1, p2);\n         string_type::size_type i = 0;\n         while (i < s.size())\n         {\n            s[i] = static_cast<char>((::u_tolower)(s[i]));\n            if (::u_isspace(s[i]) || (s[i] == '-') || (s[i] == '_'))\n               s.erase(s.begin() + i, s.begin() + i + 1);\n            else\n            {\n               s[i] = static_cast<char>((::u_tolower)(s[i]));\n               ++i;\n            }\n         }\n         if (!s.empty())\n            idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size());\n         if (idx >= 0)\n            return masks[idx + 1];\n         if (!s.empty())\n            result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size());\n         if (result != 0)\n            return result;\n      }\n      BOOST_REGEX_ASSERT(std::size_t(idx + 1) < sizeof(masks) / sizeof(masks[0]));\n      return masks[idx + 1];\n   }\n   string_type lookup_collatename(const char_type* p1, const char_type* p2) const\n   {\n      string_type result;\n      if (std::find_if(p1, p2, std::bind(std::greater< ::UChar32>(), std::placeholders::_1, 0x7f)) == p2)\n      {\n         std::string s(p1, p2);\n         // Try Unicode name:\n         UErrorCode err = U_ZERO_ERROR;\n         UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, s.c_str(), &err);\n         if (U_SUCCESS(err))\n         {\n            result.push_back(c);\n            return result;\n         }\n         // Try Unicode-extended name:\n         err = U_ZERO_ERROR;\n         c = ::u_charFromName(U_EXTENDED_CHAR_NAME, s.c_str(), &err);\n         if (U_SUCCESS(err))\n         {\n            result.push_back(c);\n            return result;\n         }\n         // try POSIX name:\n         s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s);\n         result.assign(s.begin(), s.end());\n      }\n      if (result.empty() && (p2 - p1 == 1))\n         result.push_back(*p1);\n      return result;\n   }\n   bool isctype(char_type c, char_class_type f) const\n   {\n      constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;\n      constexpr char_class_type mask_space = char_class_type(1) << offset_space;\n      constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;\n      constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;\n      constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;\n      constexpr char_class_type mask_any = char_class_type(1) << offset_any;\n      constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;\n      constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;\n      constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;\n\n      // check for standard catagories first:\n      char_class_type m = char_class_type(static_cast<char_class_type>(1) << u_charType(c));\n      if ((m & f) != 0)\n         return true;\n      // now check for special cases:\n      if (((f & mask_blank) != 0) && u_isblank(c))\n         return true;\n      if (((f & mask_space) != 0) && u_isspace(c))\n         return true;\n      if (((f & mask_xdigit) != 0) && (u_digit(c, 16) >= 0))\n         return true;\n      if (((f & mask_unicode) != 0) && (c >= 0x100))\n         return true;\n      if (((f & mask_underscore) != 0) && (c == '_'))\n         return true;\n      if (((f & mask_any) != 0) && (c <= 0x10FFFF))\n         return true;\n      if (((f & mask_ascii) != 0) && (c <= 0x7F))\n         return true;\n      if (((f & mask_vertical) != 0) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == static_cast<char_type>('\\v')) || (m == U_GC_ZL_MASK) || (m == U_GC_ZP_MASK)))\n         return true;\n      if (((f & mask_horizontal) != 0) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && u_isspace(c) && (c != static_cast<char_type>('\\v')))\n         return true;\n      return false;\n   }\n   std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const\n   {\n      return BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this);\n   }\n   int value(char_type c, int radix)const\n   {\n      return u_digit(c, static_cast< std::int8_t>(radix));\n   }\n   locale_type imbue(locale_type l)\n   {\n      locale_type result(m_pimpl->getloc());\n      m_pimpl = BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(l);\n      return result;\n   }\n   locale_type getloc()const\n   {\n      return locale_type();\n   }\n   std::string error_string(::boost::regex_constants::error_type n) const\n   {\n      return BOOST_REGEX_DETAIL_NS::get_default_error_string(n);\n   }\nprivate:\n   icu_regex_traits(const icu_regex_traits&);\n   icu_regex_traits& operator=(const icu_regex_traits&);\n\n   //\n   // define the bitmasks offsets we need for additional character properties:\n   //\n   enum{\n      offset_blank = U_CHAR_CATEGORY_COUNT,\n      offset_space = U_CHAR_CATEGORY_COUNT+1,\n      offset_xdigit = U_CHAR_CATEGORY_COUNT+2,\n      offset_underscore = U_CHAR_CATEGORY_COUNT+3,\n      offset_unicode = U_CHAR_CATEGORY_COUNT+4,\n      offset_any = U_CHAR_CATEGORY_COUNT+5,\n      offset_ascii = U_CHAR_CATEGORY_COUNT+6,\n      offset_horizontal = U_CHAR_CATEGORY_COUNT+7,\n      offset_vertical = U_CHAR_CATEGORY_COUNT+8\n   };\n\n   static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2)\n   {\n      constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;\n      constexpr char_class_type mask_space = char_class_type(1) << offset_space;\n      constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;\n      constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;\n      constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;\n      constexpr char_class_type mask_any = char_class_type(1) << offset_any;\n      constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;\n      constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;\n      constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;\n\n      static const ::UChar32 prop_name_table[] = {\n         /* any */  'a', 'n', 'y',\n         /* ascii */  'a', 's', 'c', 'i', 'i',\n         /* assigned */  'a', 's', 's', 'i', 'g', 'n', 'e', 'd',\n         /* c* */  'c', '*',\n         /* cc */  'c', 'c',\n         /* cf */  'c', 'f',\n         /* closepunctuation */  'c', 'l', 'o', 's', 'e', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* cn */  'c', 'n',\n         /* co */  'c', 'o',\n         /* connectorpunctuation */  'c', 'o', 'n', 'n', 'e', 'c', 't', 'o', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* control */  'c', 'o', 'n', 't', 'r', 'o', 'l',\n         /* cs */  'c', 's',\n         /* currencysymbol */  'c', 'u', 'r', 'r', 'e', 'n', 'c', 'y', 's', 'y', 'm', 'b', 'o', 'l',\n         /* dashpunctuation */  'd', 'a', 's', 'h', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* decimaldigitnumber */  'd', 'e', 'c', 'i', 'm', 'a', 'l', 'd', 'i', 'g', 'i', 't', 'n', 'u', 'm', 'b', 'e', 'r',\n         /* enclosingmark */  'e', 'n', 'c', 'l', 'o', 's', 'i', 'n', 'g', 'm', 'a', 'r', 'k',\n         /* finalpunctuation */  'f', 'i', 'n', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* format */  'f', 'o', 'r', 'm', 'a', 't',\n         /* initialpunctuation */  'i', 'n', 'i', 't', 'i', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* l* */  'l', '*',\n         /* letter */  'l', 'e', 't', 't', 'e', 'r',\n         /* letternumber */  'l', 'e', 't', 't', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r',\n         /* lineseparator */  'l', 'i', 'n', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',\n         /* ll */  'l', 'l',\n         /* lm */  'l', 'm',\n         /* lo */  'l', 'o',\n         /* lowercaseletter */  'l', 'o', 'w', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r',\n         /* lt */  'l', 't',\n         /* lu */  'l', 'u',\n         /* m* */  'm', '*',\n         /* mark */  'm', 'a', 'r', 'k',\n         /* mathsymbol */  'm', 'a', 't', 'h', 's', 'y', 'm', 'b', 'o', 'l',\n         /* mc */  'm', 'c',\n         /* me */  'm', 'e',\n         /* mn */  'm', 'n',\n         /* modifierletter */  'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r',\n         /* modifiersymbol */  'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l',\n         /* n* */  'n', '*',\n         /* nd */  'n', 'd',\n         /* nl */  'n', 'l',\n         /* no */  'n', 'o',\n         /* nonspacingmark */  'n', 'o', 'n', 's', 'p', 'a', 'c', 'i', 'n', 'g', 'm', 'a', 'r', 'k',\n         /* notassigned */  'n', 'o', 't', 'a', 's', 's', 'i', 'g', 'n', 'e', 'd',\n         /* number */  'n', 'u', 'm', 'b', 'e', 'r',\n         /* openpunctuation */  'o', 'p', 'e', 'n', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* other */  'o', 't', 'h', 'e', 'r',\n         /* otherletter */  'o', 't', 'h', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r',\n         /* othernumber */  'o', 't', 'h', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r',\n         /* otherpunctuation */  'o', 't', 'h', 'e', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* othersymbol */  'o', 't', 'h', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l',\n         /* p* */  'p', '*',\n         /* paragraphseparator */  'p', 'a', 'r', 'a', 'g', 'r', 'a', 'p', 'h', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',\n         /* pc */  'p', 'c',\n         /* pd */  'p', 'd',\n         /* pe */  'p', 'e',\n         /* pf */  'p', 'f',\n         /* pi */  'p', 'i',\n         /* po */  'p', 'o',\n         /* privateuse */  'p', 'r', 'i', 'v', 'a', 't', 'e', 'u', 's', 'e',\n         /* ps */  'p', 's',\n         /* punctuation */  'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',\n         /* s* */  's', '*',\n         /* sc */  's', 'c',\n         /* separator */  's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',\n         /* sk */  's', 'k',\n         /* sm */  's', 'm',\n         /* so */  's', 'o',\n         /* spaceseparator */  's', 'p', 'a', 'c', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',\n         /* spacingcombiningmark */  's', 'p', 'a', 'c', 'i', 'n', 'g', 'c', 'o', 'm', 'b', 'i', 'n', 'i', 'n', 'g', 'm', 'a', 'r', 'k',\n         /* surrogate */  's', 'u', 'r', 'r', 'o', 'g', 'a', 't', 'e',\n         /* symbol */  's', 'y', 'm', 'b', 'o', 'l',\n         /* titlecase */  't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e',\n         /* titlecaseletter */  't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r',\n         /* uppercaseletter */  'u', 'p', 'p', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r',\n         /* z* */  'z', '*',\n         /* zl */  'z', 'l',\n         /* zp */  'z', 'p',\n         /* zs */  'z', 's',\n      };\n\n      static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> range_data[] = {\n         { prop_name_table + 0, prop_name_table + 3, }, // any\n         { prop_name_table + 3, prop_name_table + 8, }, // ascii\n         { prop_name_table + 8, prop_name_table + 16, }, // assigned\n         { prop_name_table + 16, prop_name_table + 18, }, // c*\n         { prop_name_table + 18, prop_name_table + 20, }, // cc\n         { prop_name_table + 20, prop_name_table + 22, }, // cf\n         { prop_name_table + 22, prop_name_table + 38, }, // closepunctuation\n         { prop_name_table + 38, prop_name_table + 40, }, // cn\n         { prop_name_table + 40, prop_name_table + 42, }, // co\n         { prop_name_table + 42, prop_name_table + 62, }, // connectorpunctuation\n         { prop_name_table + 62, prop_name_table + 69, }, // control\n         { prop_name_table + 69, prop_name_table + 71, }, // cs\n         { prop_name_table + 71, prop_name_table + 85, }, // currencysymbol\n         { prop_name_table + 85, prop_name_table + 100, }, // dashpunctuation\n         { prop_name_table + 100, prop_name_table + 118, }, // decimaldigitnumber\n         { prop_name_table + 118, prop_name_table + 131, }, // enclosingmark\n         { prop_name_table + 131, prop_name_table + 147, }, // finalpunctuation\n         { prop_name_table + 147, prop_name_table + 153, }, // format\n         { prop_name_table + 153, prop_name_table + 171, }, // initialpunctuation\n         { prop_name_table + 171, prop_name_table + 173, }, // l*\n         { prop_name_table + 173, prop_name_table + 179, }, // letter\n         { prop_name_table + 179, prop_name_table + 191, }, // letternumber\n         { prop_name_table + 191, prop_name_table + 204, }, // lineseparator\n         { prop_name_table + 204, prop_name_table + 206, }, // ll\n         { prop_name_table + 206, prop_name_table + 208, }, // lm\n         { prop_name_table + 208, prop_name_table + 210, }, // lo\n         { prop_name_table + 210, prop_name_table + 225, }, // lowercaseletter\n         { prop_name_table + 225, prop_name_table + 227, }, // lt\n         { prop_name_table + 227, prop_name_table + 229, }, // lu\n         { prop_name_table + 229, prop_name_table + 231, }, // m*\n         { prop_name_table + 231, prop_name_table + 235, }, // mark\n         { prop_name_table + 235, prop_name_table + 245, }, // mathsymbol\n         { prop_name_table + 245, prop_name_table + 247, }, // mc\n         { prop_name_table + 247, prop_name_table + 249, }, // me\n         { prop_name_table + 249, prop_name_table + 251, }, // mn\n         { prop_name_table + 251, prop_name_table + 265, }, // modifierletter\n         { prop_name_table + 265, prop_name_table + 279, }, // modifiersymbol\n         { prop_name_table + 279, prop_name_table + 281, }, // n*\n         { prop_name_table + 281, prop_name_table + 283, }, // nd\n         { prop_name_table + 283, prop_name_table + 285, }, // nl\n         { prop_name_table + 285, prop_name_table + 287, }, // no\n         { prop_name_table + 287, prop_name_table + 301, }, // nonspacingmark\n         { prop_name_table + 301, prop_name_table + 312, }, // notassigned\n         { prop_name_table + 312, prop_name_table + 318, }, // number\n         { prop_name_table + 318, prop_name_table + 333, }, // openpunctuation\n         { prop_name_table + 333, prop_name_table + 338, }, // other\n         { prop_name_table + 338, prop_name_table + 349, }, // otherletter\n         { prop_name_table + 349, prop_name_table + 360, }, // othernumber\n         { prop_name_table + 360, prop_name_table + 376, }, // otherpunctuation\n         { prop_name_table + 376, prop_name_table + 387, }, // othersymbol\n         { prop_name_table + 387, prop_name_table + 389, }, // p*\n         { prop_name_table + 389, prop_name_table + 407, }, // paragraphseparator\n         { prop_name_table + 407, prop_name_table + 409, }, // pc\n         { prop_name_table + 409, prop_name_table + 411, }, // pd\n         { prop_name_table + 411, prop_name_table + 413, }, // pe\n         { prop_name_table + 413, prop_name_table + 415, }, // pf\n         { prop_name_table + 415, prop_name_table + 417, }, // pi\n         { prop_name_table + 417, prop_name_table + 419, }, // po\n         { prop_name_table + 419, prop_name_table + 429, }, // privateuse\n         { prop_name_table + 429, prop_name_table + 431, }, // ps\n         { prop_name_table + 431, prop_name_table + 442, }, // punctuation\n         { prop_name_table + 442, prop_name_table + 444, }, // s*\n         { prop_name_table + 444, prop_name_table + 446, }, // sc\n         { prop_name_table + 446, prop_name_table + 455, }, // separator\n         { prop_name_table + 455, prop_name_table + 457, }, // sk\n         { prop_name_table + 457, prop_name_table + 459, }, // sm\n         { prop_name_table + 459, prop_name_table + 461, }, // so\n         { prop_name_table + 461, prop_name_table + 475, }, // spaceseparator\n         { prop_name_table + 475, prop_name_table + 495, }, // spacingcombiningmark\n         { prop_name_table + 495, prop_name_table + 504, }, // surrogate\n         { prop_name_table + 504, prop_name_table + 510, }, // symbol\n         { prop_name_table + 510, prop_name_table + 519, }, // titlecase\n         { prop_name_table + 519, prop_name_table + 534, }, // titlecaseletter\n         { prop_name_table + 534, prop_name_table + 549, }, // uppercaseletter\n         { prop_name_table + 549, prop_name_table + 551, }, // z*\n         { prop_name_table + 551, prop_name_table + 553, }, // zl\n         { prop_name_table + 553, prop_name_table + 555, }, // zp\n         { prop_name_table + 555, prop_name_table + 557, }, // zs\n      };\n\n      static const icu_regex_traits::char_class_type icu_class_map[] = {\n         mask_any, // any\n         mask_ascii, // ascii\n         (0x3FFFFFFFu) & ~(U_GC_CN_MASK), // assigned\n         U_GC_C_MASK, // c*\n         U_GC_CC_MASK, // cc\n         U_GC_CF_MASK, // cf\n         U_GC_PE_MASK, // closepunctuation\n         U_GC_CN_MASK, // cn\n         U_GC_CO_MASK, // co\n         U_GC_PC_MASK, // connectorpunctuation\n         U_GC_CC_MASK, // control\n         U_GC_CS_MASK, // cs\n         U_GC_SC_MASK, // currencysymbol\n         U_GC_PD_MASK, // dashpunctuation\n         U_GC_ND_MASK, // decimaldigitnumber\n         U_GC_ME_MASK, // enclosingmark\n         U_GC_PF_MASK, // finalpunctuation\n         U_GC_CF_MASK, // format\n         U_GC_PI_MASK, // initialpunctuation\n         U_GC_L_MASK, // l*\n         U_GC_L_MASK, // letter\n         U_GC_NL_MASK, // letternumber\n         U_GC_ZL_MASK, // lineseparator\n         U_GC_LL_MASK, // ll\n         U_GC_LM_MASK, // lm\n         U_GC_LO_MASK, // lo\n         U_GC_LL_MASK, // lowercaseletter\n         U_GC_LT_MASK, // lt\n         U_GC_LU_MASK, // lu\n         U_GC_M_MASK, // m*\n         U_GC_M_MASK, // mark\n         U_GC_SM_MASK, // mathsymbol\n         U_GC_MC_MASK, // mc\n         U_GC_ME_MASK, // me\n         U_GC_MN_MASK, // mn\n         U_GC_LM_MASK, // modifierletter\n         U_GC_SK_MASK, // modifiersymbol\n         U_GC_N_MASK, // n*\n         U_GC_ND_MASK, // nd\n         U_GC_NL_MASK, // nl\n         U_GC_NO_MASK, // no\n         U_GC_MN_MASK, // nonspacingmark\n         U_GC_CN_MASK, // notassigned\n         U_GC_N_MASK, // number\n         U_GC_PS_MASK, // openpunctuation\n         U_GC_C_MASK, // other\n         U_GC_LO_MASK, // otherletter\n         U_GC_NO_MASK, // othernumber\n         U_GC_PO_MASK, // otherpunctuation\n         U_GC_SO_MASK, // othersymbol\n         U_GC_P_MASK, // p*\n         U_GC_ZP_MASK, // paragraphseparator\n         U_GC_PC_MASK, // pc\n         U_GC_PD_MASK, // pd\n         U_GC_PE_MASK, // pe\n         U_GC_PF_MASK, // pf\n         U_GC_PI_MASK, // pi\n         U_GC_PO_MASK, // po\n         U_GC_CO_MASK, // privateuse\n         U_GC_PS_MASK, // ps\n         U_GC_P_MASK, // punctuation\n         U_GC_S_MASK, // s*\n         U_GC_SC_MASK, // sc\n         U_GC_Z_MASK, // separator\n         U_GC_SK_MASK, // sk\n         U_GC_SM_MASK, // sm\n         U_GC_SO_MASK, // so\n         U_GC_ZS_MASK, // spaceseparator\n         U_GC_MC_MASK, // spacingcombiningmark\n         U_GC_CS_MASK, // surrogate\n         U_GC_S_MASK, // symbol\n         U_GC_LT_MASK, // titlecase\n         U_GC_LT_MASK, // titlecaseletter\n         U_GC_LU_MASK, // uppercaseletter\n         U_GC_Z_MASK, // z*\n         U_GC_ZL_MASK, // zl\n         U_GC_ZP_MASK, // zp\n         U_GC_ZS_MASK, // zs\n      };\n\n\n      const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_begin = range_data;\n      const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_end = range_data + (sizeof(range_data) / sizeof(range_data[0]));\n\n      BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> t = { p1, p2, };\n      const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* p = std::lower_bound(ranges_begin, ranges_end, t);\n      if ((p != ranges_end) && (t == *p))\n         return icu_class_map[p - ranges_begin];\n      return 0;\n   }\n   std::shared_ptr< ::boost::BOOST_REGEX_DETAIL_NS::icu_regex_traits_implementation> m_pimpl;\n};\n\n} // namespace boost\n\nnamespace boost{\n\n// types:\ntypedef basic_regex< ::UChar32, icu_regex_traits> u32regex;\ntypedef match_results<const ::UChar32*> u32match;\ntypedef match_results<const ::UChar*> u16match;\n\n//\n// Construction of 32-bit regex types from UTF-8 and UTF-16 primitives:\n//\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class InputIterator>\ninline u32regex do_make_u32regex(InputIterator i, \n                              InputIterator j, \n                              boost::regex_constants::syntax_option_type opt, \n                              const std::integral_constant<int, 1>*)\n{\n   typedef boost::u8_to_u32_iterator<InputIterator, UChar32> conv_type;\n   return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);\n}\n\ntemplate <class InputIterator>\ninline u32regex do_make_u32regex(InputIterator i, \n                              InputIterator j, \n                              boost::regex_constants::syntax_option_type opt, \n                              const std::integral_constant<int, 2>*)\n{\n   typedef boost::u16_to_u32_iterator<InputIterator, UChar32> conv_type;\n   return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);\n}\n\ntemplate <class InputIterator>\ninline u32regex do_make_u32regex(InputIterator i, \n                              InputIterator j, \n                              boost::regex_constants::syntax_option_type opt, \n                              const std::integral_constant<int, 4>*)\n{\n   return u32regex(i, j, opt);\n}\n}\n\n// BOOST_REGEX_UCHAR_IS_WCHAR_T\n//\n// Source inspection of unicode/umachine.h in ICU version 59 indicates that:\n//\n// On version 59, UChar is always char16_t in C++ mode (and uint16_t in C mode)\n//\n// On earlier versions, the logic is\n//\n// #if U_SIZEOF_WCHAR_T==2\n//   typedef wchar_t OldUChar;\n// #elif defined(__CHAR16_TYPE__)\n//   typedef __CHAR16_TYPE__ OldUChar;\n// #else\n//   typedef uint16_t OldUChar;\n// #endif\n//\n// That is, UChar is wchar_t only on versions below 59, when U_SIZEOF_WCHAR_T==2\n//\n// Hence,\n\n#define BOOST_REGEX_UCHAR_IS_WCHAR_T (U_ICU_VERSION_MAJOR_NUM < 59 && U_SIZEOF_WCHAR_T == 2)\n\n#if BOOST_REGEX_UCHAR_IS_WCHAR_T\n  static_assert((std::is_same<UChar, wchar_t>::value), \"Configuration logic has failed!\");\n#else\n  static_assert(!(std::is_same<UChar, wchar_t>::value), \"Configuration logic has failed!\");\n#endif\n\n//\n// Construction from an iterator pair:\n//\ntemplate <class InputIterator>\ninline u32regex make_u32regex(InputIterator i, \n                              InputIterator j, \n                              boost::regex_constants::syntax_option_type opt)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(i, j, opt, static_cast<std::integral_constant<int, sizeof(*i)> const*>(0));\n}\n//\n// construction from UTF-8 nul-terminated strings:\n//\ninline u32regex make_u32regex(const char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(p), opt, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline u32regex make_u32regex(const unsigned char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(reinterpret_cast<const char*>(p)), opt, static_cast<std::integral_constant<int, 1> const*>(0));\n}\n//\n// construction from UTF-16 nul-terminated strings:\n//\n#ifndef BOOST_NO_WREGEX\ninline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\n#if !BOOST_REGEX_UCHAR_IS_WCHAR_T\ninline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + u_strlen(p), opt, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n#endif\n//\n// construction from basic_string class-template:\n//\ntemplate<class C, class T, class A>\ninline u32regex make_u32regex(const std::basic_string<C, T, A>& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.begin(), s.end(), opt, static_cast<std::integral_constant<int, sizeof(C)> const*>(0));\n}\n//\n// Construction from ICU string type:\n//\ninline u32regex make_u32regex(const U_NAMESPACE_QUALIFIER UnicodeString& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)\n{\n   return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.getBuffer(), s.getBuffer() + s.length(), opt, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n\n//\n// regex_match overloads that widen the character type as appropriate:\n//\nnamespace BOOST_REGEX_DETAIL_NS{\ntemplate<class MR1, class MR2, class NSubs>\nvoid copy_results(MR1& out, MR2 const& in, NSubs named_subs)\n{\n   // copy results from an adapted MR2 match_results:\n   out.set_size(in.size(), in.prefix().first.base(), in.suffix().second.base());\n   out.set_base(in.base().base());\n   out.set_named_subs(named_subs);\n   for(int i = 0; i < (int)in.size(); ++i)\n   {\n      if(in[i].matched || !i)\n      {\n         out.set_first(in[i].first.base(), i);\n         out.set_second(in[i].second.base(), i, in[i].matched);\n      }\n   }\n#ifdef BOOST_REGEX_MATCH_EXTRA\n   // Copy full capture info as well:\n   for(int i = 0; i < (int)in.size(); ++i)\n   {\n      if(in[i].captures().size())\n      {\n         out[i].get_captures().assign(in[i].captures().size(), typename MR1::value_type());\n         for(int j = 0; j < (int)out[i].captures().size(); ++j)\n         {\n            out[i].get_captures()[j].first = in[i].captures()[j].first.base();\n            out[i].get_captures()[j].second = in[i].captures()[j].second.base();\n            out[i].get_captures()[j].matched = in[i].captures()[j].matched;\n         }\n      }\n   }\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator>\ninline bool do_regex_match(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 std::integral_constant<int, 4> const*)\n{\n   return ::boost::regex_match(first, last, m, e, flags);\n}\ntemplate <class BidiIterator, class Allocator>\nbool do_regex_match(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 std::integral_constant<int, 2> const*)\n{\n   typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;\n   typedef match_results<conv_type>                   match_type;\n   //typedef typename match_type::allocator_type        alloc_type;\n   match_type what;\n   bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);\n   // copy results across to m:\n   if(result) copy_results(m, what, e.get_named_subs());\n   return result;\n}\ntemplate <class BidiIterator, class Allocator>\nbool do_regex_match(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 std::integral_constant<int, 1> const*)\n{\n   typedef u8_to_u32_iterator<BidiIterator, UChar32>  conv_type;\n   typedef match_results<conv_type>                   match_type;\n   //typedef typename match_type::allocator_type        alloc_type;\n   match_type what;\n   bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);\n   // copy results across to m:\n   if(result) copy_results(m, what, e.get_named_subs());\n   return result;\n}\n} // namespace BOOST_REGEX_DETAIL_NS\n\ntemplate <class BidiIterator, class Allocator>\ninline bool u32regex_match(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));\n}\ninline bool u32regex_match(const UChar* p, \n                 match_results<const UChar*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)\ninline bool u32regex_match(const wchar_t* p, \n                 match_results<const wchar_t*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_match(const char* p, \n                 match_results<const char*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_match(const unsigned char* p, \n                 match_results<const unsigned char*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_match(const std::string& s, \n                        match_results<std::string::const_iterator>& m, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));\n}\n#ifndef BOOST_NO_STD_WSTRING\ninline bool u32regex_match(const std::wstring& s, \n                        match_results<std::wstring::const_iterator>& m, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, \n                        match_results<const UChar*>& m, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n//\n// regex_match overloads that do not return what matched:\n//\ntemplate <class BidiIterator>\ninline bool u32regex_match(BidiIterator first, BidiIterator last, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<BidiIterator> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));\n}\ninline bool u32regex_match(const UChar* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const UChar*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)\ninline bool u32regex_match(const wchar_t* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const wchar_t*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_match(const char* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const char*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_match(const unsigned char* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const unsigned char*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_match(const std::string& s, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<std::string::const_iterator> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));\n}\n#ifndef BOOST_NO_STD_WSTRING\ninline bool u32regex_match(const std::wstring& s, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<std::wstring::const_iterator> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<const UChar*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n\n//\n// regex_search overloads that widen the character type as appropriate:\n//\nnamespace BOOST_REGEX_DETAIL_NS{\ntemplate <class BidiIterator, class Allocator>\ninline bool do_regex_search(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 BidiIterator base,\n                 std::integral_constant<int, 4> const*)\n{\n   return ::boost::regex_search(first, last, m, e, flags, base);\n}\ntemplate <class BidiIterator, class Allocator>\nbool do_regex_search(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 BidiIterator base,\n                 std::integral_constant<int, 2> const*)\n{\n   typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;\n   typedef match_results<conv_type>                   match_type;\n   //typedef typename match_type::allocator_type        alloc_type;\n   match_type what;\n   bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));\n   // copy results across to m:\n   if(result) copy_results(m, what, e.get_named_subs());\n   return result;\n}\ntemplate <class BidiIterator, class Allocator>\nbool do_regex_search(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 BidiIterator base,\n                 std::integral_constant<int, 1> const*)\n{\n   typedef u8_to_u32_iterator<BidiIterator, UChar32>  conv_type;\n   typedef match_results<conv_type>                   match_type;\n   //typedef typename match_type::allocator_type        alloc_type;\n   match_type what;\n   bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));\n   // copy results across to m:\n   if(result) copy_results(m, what, e.get_named_subs());\n   return result;\n}\n}\n\ntemplate <class BidiIterator, class Allocator>\ninline bool u32regex_search(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));\n}\ntemplate <class BidiIterator, class Allocator>\ninline bool u32regex_search(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const u32regex& e, \n                 match_flag_type flags,\n                 BidiIterator base)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, base, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));\n}\ninline bool u32regex_search(const UChar* p, \n                 match_results<const UChar*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)\ninline bool u32regex_search(const wchar_t* p, \n                 match_results<const wchar_t*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_search(const char* p, \n                 match_results<const char*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_search(const unsigned char* p, \n                 match_results<const unsigned char*>& m, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_search(const std::string& s, \n                        match_results<std::string::const_iterator>& m, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, 1> const*>(0));\n}\n#ifndef BOOST_NO_STD_WSTRING\ninline bool u32regex_search(const std::wstring& s, \n                        match_results<std::wstring::const_iterator>& m, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, \n                        match_results<const UChar*>& m, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast<std::integral_constant<int, 2> const*>(0));\n}\ntemplate <class BidiIterator>\ninline bool u32regex_search(BidiIterator first, BidiIterator last, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<BidiIterator> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));\n}\ninline bool u32regex_search(const UChar* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const UChar*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 2> const*>(0));\n}\n#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)\ninline bool u32regex_search(const wchar_t* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const wchar_t*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_search(const char* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const char*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_search(const unsigned char* p, \n                 const u32regex& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<const unsigned char*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));\n}\ninline bool u32regex_search(const std::string& s, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<std::string::const_iterator> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, 1> const*>(0));\n}\n#ifndef BOOST_NO_STD_WSTRING\ninline bool u32regex_search(const std::wstring& s, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<std::wstring::const_iterator> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));\n}\n#endif\ninline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, \n                        const u32regex& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<const UChar*> m;\n   return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast<std::integral_constant<int, 2> const*>(0));\n}\n\n//\n// overloads for regex_replace with utf-8 and utf-16 data types:\n//\nnamespace BOOST_REGEX_DETAIL_NS{\ntemplate <class I>\ninline std::pair< boost::u8_to_u32_iterator<I>, boost::u8_to_u32_iterator<I> >\n   make_utf32_seq(I i, I j, std::integral_constant<int, 1> const*)\n{\n   return std::pair< boost::u8_to_u32_iterator<I>, boost::u8_to_u32_iterator<I> >(boost::u8_to_u32_iterator<I>(i, i, j), boost::u8_to_u32_iterator<I>(j, i, j));\n}\ntemplate <class I>\ninline std::pair< boost::u16_to_u32_iterator<I>, boost::u16_to_u32_iterator<I> >\n   make_utf32_seq(I i, I j, std::integral_constant<int, 2> const*)\n{\n   return std::pair< boost::u16_to_u32_iterator<I>, boost::u16_to_u32_iterator<I> >(boost::u16_to_u32_iterator<I>(i, i, j), boost::u16_to_u32_iterator<I>(j, i, j));\n}\ntemplate <class I>\ninline std::pair< I, I >\n   make_utf32_seq(I i, I j, std::integral_constant<int, 4> const*)\n{\n   return std::pair< I, I >(i, j);\n}\ntemplate <class charT>\ninline std::pair< boost::u8_to_u32_iterator<const charT*>, boost::u8_to_u32_iterator<const charT*> >\n   make_utf32_seq(const charT* p, std::integral_constant<int, 1> const*)\n{\n   std::size_t len = std::strlen((const char*)p);\n   return std::pair< boost::u8_to_u32_iterator<const charT*>, boost::u8_to_u32_iterator<const charT*> >(boost::u8_to_u32_iterator<const charT*>(p, p, p+len), boost::u8_to_u32_iterator<const charT*>(p+len, p, p+len));\n}\ntemplate <class charT>\ninline std::pair< boost::u16_to_u32_iterator<const charT*>, boost::u16_to_u32_iterator<const charT*> >\n   make_utf32_seq(const charT* p, std::integral_constant<int, 2> const*)\n{\n   std::size_t len = u_strlen((const UChar*)p);\n   return std::pair< boost::u16_to_u32_iterator<const charT*>, boost::u16_to_u32_iterator<const charT*> >(boost::u16_to_u32_iterator<const charT*>(p, p, p + len), boost::u16_to_u32_iterator<const charT*>(p+len, p, p + len));\n}\ntemplate <class charT>\ninline std::pair< const charT*, const charT* >\n   make_utf32_seq(const charT* p, std::integral_constant<int, 4> const*)\n{\n   return std::pair< const charT*, const charT* >(p, p+icu_regex_traits::length((UChar32 const*)p));\n}\ntemplate <class OutputIterator>\ninline OutputIterator make_utf32_out(OutputIterator o, std::integral_constant<int, 4> const*)\n{\n   return o;\n}\ntemplate <class OutputIterator>\ninline utf16_output_iterator<OutputIterator> make_utf32_out(OutputIterator o, std::integral_constant<int, 2> const*)\n{\n   return o;\n}\ntemplate <class OutputIterator>\ninline utf8_output_iterator<OutputIterator> make_utf32_out(OutputIterator o, std::integral_constant<int, 1> const*)\n{\n   return o;\n}\n\ntemplate <class OutputIterator, class I1, class I2>\nOutputIterator do_regex_replace(OutputIterator out,\n                                 std::pair<I1, I1> const& in,\n                                 const u32regex& e, \n                                 const std::pair<I2, I2>& fmt, \n                                 match_flag_type flags\n                                 )\n{\n   // unfortunately we have to copy the format string in order to pass in onward:\n   std::vector<UChar32> f;\n   f.assign(fmt.first, fmt.second);\n   \n   regex_iterator<I1, UChar32, icu_regex_traits> i(in.first, in.second, e, flags);\n   regex_iterator<I1, UChar32, icu_regex_traits> j;\n   if(i == j)\n   {\n      if(!(flags & regex_constants::format_no_copy))\n         out = std::copy(in.first, in.second, out);\n   }\n   else\n   {\n      I1 last_m = in.first;\n      while(i != j)\n      {\n         if(!(flags & regex_constants::format_no_copy))\n            out = std::copy(i->prefix().first, i->prefix().second, out); \n         if(!f.empty())\n            out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, &*f.begin(), &*f.begin() + f.size(), flags, e.get_traits());\n         else\n            out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, static_cast<UChar32 const*>(0), static_cast<UChar32 const*>(0), flags, e.get_traits());\n         last_m = (*i)[0].second;\n         if(flags & regex_constants::format_first_only)\n            break;\n         ++i;\n      }\n      if(!(flags & regex_constants::format_no_copy))\n         out = std::copy(last_m, in.second, out);\n   }\n   return out;\n}\ntemplate <class BaseIterator>\ninline const BaseIterator& extract_output_base(const BaseIterator& b)\n{\n   return b;\n}\ntemplate <class BaseIterator>\ninline BaseIterator extract_output_base(const utf8_output_iterator<BaseIterator>& b)\n{\n   return b.base();\n}\ntemplate <class BaseIterator>\ninline BaseIterator extract_output_base(const utf16_output_iterator<BaseIterator>& b)\n{\n   return b.base();\n}\n}  // BOOST_REGEX_DETAIL_NS\n\ntemplate <class OutputIterator, class BidirectionalIterator, class charT>\ninline OutputIterator u32regex_replace(OutputIterator out,\n                         BidirectionalIterator first,\n                         BidirectionalIterator last,\n                         const u32regex& e, \n                         const charT* fmt, \n                         match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::extract_output_base\n    (\n      BOOST_REGEX_DETAIL_NS::do_regex_replace(\n         BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),\n         e,\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt, static_cast<std::integral_constant<int, sizeof(*fmt)> const*>(0)),\n         flags)\n      );\n}\n\ntemplate <class OutputIterator, class Iterator, class charT>\ninline OutputIterator u32regex_replace(OutputIterator out,\n                         Iterator first,\n                         Iterator last,\n                         const u32regex& e, \n                         const std::basic_string<charT>& fmt,\n                         match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::extract_output_base\n    (\n      BOOST_REGEX_DETAIL_NS::do_regex_replace(\n         BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),\n         e,\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.begin(), fmt.end(), static_cast<std::integral_constant<int, sizeof(charT)> const*>(0)),\n         flags)\n      );\n}\n\ntemplate <class OutputIterator, class Iterator>\ninline OutputIterator u32regex_replace(OutputIterator out,\n                         Iterator first,\n                         Iterator last,\n                         const u32regex& e, \n                         const U_NAMESPACE_QUALIFIER UnicodeString& fmt,\n                         match_flag_type flags = match_default)\n{\n   return BOOST_REGEX_DETAIL_NS::extract_output_base\n   (\n      BOOST_REGEX_DETAIL_NS::do_regex_replace(\n         BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),\n         e,\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast<std::integral_constant<int, 2> const*>(0)),\n         flags)\n      );\n}\n\ntemplate <class charT>\nstd::basic_string<charT> u32regex_replace(const std::basic_string<charT>& s,\n                         const u32regex& e, \n                         const charT* fmt,\n                         match_flag_type flags = match_default)\n{\n   std::basic_string<charT> result;\n   BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<charT> > i(result);\n   u32regex_replace(i, s.begin(), s.end(), e, fmt, flags);\n   return result;\n}\n\ntemplate <class charT>\nstd::basic_string<charT> u32regex_replace(const std::basic_string<charT>& s,\n                         const u32regex& e, \n                         const std::basic_string<charT>& fmt,\n                         match_flag_type flags = match_default)\n{\n   std::basic_string<charT> result;\n   BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<charT> > i(result);\n   u32regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags);\n   return result;\n}\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\nclass unicode_string_out_iterator\n{\n   U_NAMESPACE_QUALIFIER UnicodeString* out;\npublic:\n   unicode_string_out_iterator(U_NAMESPACE_QUALIFIER UnicodeString& s) : out(&s) {}\n   unicode_string_out_iterator& operator++() { return *this; }\n   unicode_string_out_iterator& operator++(int) { return *this; }\n   unicode_string_out_iterator& operator*() { return *this; }\n   unicode_string_out_iterator& operator=(UChar v) \n   { \n      *out += v; \n      return *this; \n   }\n   typedef std::ptrdiff_t difference_type;\n   typedef UChar value_type;\n   typedef value_type* pointer;\n   typedef value_type& reference;\n   typedef std::output_iterator_tag iterator_category;\n};\n\n}\n\ninline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s,\n                         const u32regex& e, \n                         const UChar* fmt,\n                         match_flag_type flags = match_default)\n{\n   U_NAMESPACE_QUALIFIER UnicodeString result;\n   BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result);\n   u32regex_replace(i, s.getBuffer(), s.getBuffer()+s.length(), e, fmt, flags);\n   return result;\n}\n\ninline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s,\n                         const u32regex& e, \n                         const U_NAMESPACE_QUALIFIER UnicodeString& fmt,\n                         match_flag_type flags = match_default)\n{\n   U_NAMESPACE_QUALIFIER UnicodeString result;\n   BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result);\n   BOOST_REGEX_DETAIL_NS::do_regex_replace(\n         BOOST_REGEX_DETAIL_NS::make_utf32_out(i, static_cast<std::integral_constant<int, 2> const*>(0)),\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(s.getBuffer(), s.getBuffer()+s.length(), static_cast<std::integral_constant<int, 2> const*>(0)),\n         e,\n         BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast<std::integral_constant<int, 2> const*>(0)),\n         flags);\n   return result;\n}\n\n} // namespace boost.\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning (pop)\n#endif\n\n#include <boost/regex/v5/u32regex_iterator.hpp>\n#include <boost/regex/v5/u32regex_token_iterator.hpp>\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/iterator_category.hpp",
    "content": "/*\n *\n * Copyright (c) 2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_match.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Iterator traits for selecting an iterator type as\n  *                an integral constant expression.\n  */\n\n\n#ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP\n#define BOOST_REGEX_ITERATOR_CATEGORY_HPP\n\n#include <iterator>\n#include <type_traits>\n\nnamespace boost{\nnamespace detail{\n\ntemplate <class I>\nstruct is_random_imp\n{\nprivate:\n   typedef typename std::iterator_traits<I>::iterator_category cat;\npublic:\n   static const bool value = (std::is_convertible<cat*, std::random_access_iterator_tag*>::value);\n};\n\ntemplate <class I>\nstruct is_random_pointer_imp\n{\n   static const bool value = true;\n};\n\ntemplate <bool is_pointer_type>\nstruct is_random_imp_selector\n{\n   template <class I>\n   struct rebind\n   {\n      typedef is_random_imp<I> type;\n   };\n};\n\ntemplate <>\nstruct is_random_imp_selector<true>\n{\n   template <class I>\n   struct rebind\n   {\n      typedef is_random_pointer_imp<I> type;\n   };\n};\n\n}\n\ntemplate <class I>\nstruct is_random_access_iterator\n{\nprivate:\n   typedef detail::is_random_imp_selector< std::is_pointer<I>::value> selector;\n   typedef typename selector::template rebind<I> bound_type;\n   typedef typename bound_type::type answer;\npublic:\n   static const bool value = answer::value;\n};\n\ntemplate <class I>\nconst bool is_random_access_iterator<I>::value;\n\n}\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/iterator_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         iterator_traits.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares iterator traits workarounds.\n  */\n\n#ifndef BOOST_REGEX_V5_ITERATOR_TRAITS_HPP\n#define BOOST_REGEX_V5_ITERATOR_TRAITS_HPP\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class T>\nstruct regex_iterator_traits : public std::iterator_traits<T> {};\n\n} // namespace BOOST_REGEX_DETAIL_NS\n} // namespace boost\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/match_flags.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         match_flags.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares match_flags type.\n  */\n\n#ifndef BOOST_REGEX_V5_MATCH_FLAGS\n#define BOOST_REGEX_V5_MATCH_FLAGS\n\n#ifdef __cplusplus\n#  include <cstdint>\n#endif\n\n#ifdef __cplusplus\nnamespace boost{\n   namespace regex_constants{\n#endif\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#if BOOST_REGEX_MSVC >= 1800\n#pragma warning(disable : 26812)\n#endif\n#endif\n\ntypedef enum _match_flags\n{\n   match_default = 0,\n   match_not_bol = 1,                                /* first is not start of line */\n   match_not_eol = match_not_bol << 1,               /* last is not end of line */\n   match_not_bob = match_not_eol << 1,               /* first is not start of buffer */\n   match_not_eob = match_not_bob << 1,               /* last is not end of buffer */\n   match_not_bow = match_not_eob << 1,               /* first is not start of word */\n   match_not_eow = match_not_bow << 1,               /* last is not end of word */\n   match_not_dot_newline = match_not_eow << 1,       /* \\n is not matched by '.' */\n   match_not_dot_null = match_not_dot_newline << 1,  /* '\\0' is not matched by '.' */\n   match_prev_avail = match_not_dot_null << 1,       /* *--first is a valid expression */\n   match_init = match_prev_avail << 1,               /* internal use */\n   match_any = match_init << 1,                      /* don't care what we match */\n   match_not_null = match_any << 1,                  /* string can't be null */\n   match_continuous = match_not_null << 1,           /* each grep match must continue from */\n                                                     /* uninterrupted from the previous one */\n   match_partial = match_continuous << 1,            /* find partial matches */\n   \n   match_stop = match_partial << 1,                  /* stop after first match (grep) V3 only */\n   match_not_initial_null = match_stop,              /* don't match initial null, V4 only */\n   match_all = match_stop << 1,                      /* must find the whole of input even if match_any is set */\n   match_perl = match_all << 1,                      /* Use perl matching rules */\n   match_posix = match_perl << 1,                    /* Use POSIX matching rules */\n   match_nosubs = match_posix << 1,                  /* don't trap marked subs */\n   match_extra = match_nosubs << 1,                  /* include full capture information for repeated captures */\n   match_single_line = match_extra << 1,             /* treat text as single line and ignore any \\n's when matching ^ and $. */\n   match_unused1 = match_single_line << 1,           /* unused */\n   match_unused2 = match_unused1 << 1,               /* unused */\n   match_unused3 = match_unused2 << 1,               /* unused */\n   match_max = match_unused3,\n\n   format_perl = 0,                                  /* perl style replacement */\n   format_default = 0,                               /* ditto. */\n   format_sed = match_max << 1,                      /* sed style replacement. */\n   format_all = format_sed << 1,                     /* enable all extensions to syntax. */\n   format_no_copy = format_all << 1,                 /* don't copy non-matching segments. */\n   format_first_only = format_no_copy << 1,          /* Only replace first occurrence. */\n   format_is_if = format_first_only << 1,            /* internal use only. */\n   format_literal = format_is_if << 1,               /* treat string as a literal */\n\n   match_not_any = match_not_bol | match_not_eol | match_not_bob \n      | match_not_eob | match_not_bow | match_not_eow | match_not_dot_newline \n      | match_not_dot_null | match_prev_avail | match_init | match_not_null\n      | match_continuous | match_partial | match_stop | match_not_initial_null \n      | match_stop | match_all | match_perl | match_posix | match_nosubs\n      | match_extra | match_single_line | match_unused1 | match_unused2 \n      | match_unused3 | match_max | format_perl | format_default | format_sed\n      | format_all | format_no_copy | format_first_only | format_is_if\n      | format_literal\n\n\n} match_flags;\n\ntypedef match_flags match_flag_type;\n\n#ifdef __cplusplus\ninline match_flags operator&(match_flags m1, match_flags m2)\n{ return static_cast<match_flags>(static_cast<std::int32_t>(m1) & static_cast<std::int32_t>(m2)); }\ninline match_flags operator|(match_flags m1, match_flags m2)\n{ return static_cast<match_flags>(static_cast<std::int32_t>(m1) | static_cast<std::int32_t>(m2)); }\ninline match_flags operator^(match_flags m1, match_flags m2)\n{ return static_cast<match_flags>(static_cast<std::int32_t>(m1) ^ static_cast<std::int32_t>(m2)); }\ninline match_flags operator~(match_flags m1)\n{ return static_cast<match_flags>(~static_cast<std::int32_t>(m1)); }\ninline match_flags& operator&=(match_flags& m1, match_flags m2)\n{ m1 = m1&m2; return m1; }\ninline match_flags& operator|=(match_flags& m1, match_flags m2)\n{ m1 = m1|m2; return m1; }\ninline match_flags& operator^=(match_flags& m1, match_flags m2)\n{ m1 = m1^m2; return m1; }\n#endif\n\n#ifdef __cplusplus\n} /* namespace regex_constants */\n/*\n * import names into boost for backwards compatibility:\n */\nusing regex_constants::match_flag_type;\nusing regex_constants::match_default;\nusing regex_constants::match_not_bol;\nusing regex_constants::match_not_eol;\nusing regex_constants::match_not_bob;\nusing regex_constants::match_not_eob;\nusing regex_constants::match_not_bow;\nusing regex_constants::match_not_eow;\nusing regex_constants::match_not_dot_newline;\nusing regex_constants::match_not_dot_null;\nusing regex_constants::match_prev_avail;\n/* using regex_constants::match_init; */\nusing regex_constants::match_any;\nusing regex_constants::match_not_null;\nusing regex_constants::match_continuous;\nusing regex_constants::match_partial;\n/*using regex_constants::match_stop; */\nusing regex_constants::match_all;\nusing regex_constants::match_perl;\nusing regex_constants::match_posix;\nusing regex_constants::match_nosubs;\nusing regex_constants::match_extra;\nusing regex_constants::match_single_line;\n/*using regex_constants::match_max; */\nusing regex_constants::format_all;\nusing regex_constants::format_sed;\nusing regex_constants::format_perl;\nusing regex_constants::format_default;\nusing regex_constants::format_no_copy;\nusing regex_constants::format_first_only;\n/*using regex_constants::format_is_if;*/\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\n\n} /* namespace boost */\n#endif /* __cplusplus */\n#endif /* include guard */\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/match_results.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2009\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         match_results.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares template class match_results.\n  */\n\n#ifndef BOOST_REGEX_V5_MATCH_RESULTS_HPP\n#define BOOST_REGEX_V5_MATCH_RESULTS_HPP\n\nnamespace boost{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable : 4251 4459)\n#if BOOST_REGEX_MSVC < 1700\n#     pragma warning(disable : 4231)\n#endif\n#  if BOOST_REGEX_MSVC < 1600\n#     pragma warning(disable : 4660)\n#  endif\n#endif\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\nclass named_subexpressions;\n\n}\n\ntemplate <class BidiIterator, class Allocator>\nclass match_results\n{ \nprivate:\n   typedef          std::vector<sub_match<BidiIterator>, Allocator> vector_type;\npublic: \n   typedef          sub_match<BidiIterator>                         value_type;\n   typedef typename std::allocator_traits<Allocator>::value_type const &    const_reference;\n   typedef          const_reference                                         reference;\n   typedef typename vector_type::const_iterator                             const_iterator;\n   typedef          const_iterator                                          iterator;\n   typedef typename std::iterator_traits<\n                                    BidiIterator>::difference_type          difference_type;\n   typedef typename std::allocator_traits<Allocator>::size_type             size_type;\n   typedef          Allocator                                               allocator_type;\n   typedef typename std::iterator_traits<\n                                    BidiIterator>::value_type               char_type;\n   typedef          std::basic_string<char_type>                            string_type;\n   typedef          BOOST_REGEX_DETAIL_NS::named_subexpressions             named_sub_type;\n\n   // construct/copy/destroy:\n   explicit match_results(const Allocator& a = Allocator())\n      : m_subs(a), m_base(), m_null(), m_last_closed_paren(0), m_is_singular(true) {}\n   //\n   // IMPORTANT: in the code below, the crazy looking checks around m_is_singular are\n   // all required because it is illegal to copy a singular iterator.\n   // See https://svn.boost.org/trac/boost/ticket/3632.\n   //\n   match_results(const match_results& m)\n      : 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)\n   {\n      if(!m_is_singular)\n      {\n         m_base = m.m_base;\n         m_null = m.m_null;\n      }\n   }\n   match_results& operator=(const match_results& m)\n   {\n      m_subs = m.m_subs;\n      m_named_subs = m.m_named_subs;\n      m_last_closed_paren = m.m_last_closed_paren;\n      m_is_singular = m.m_is_singular;\n      if(!m_is_singular)\n      {\n         m_base = m.m_base;\n         m_null = m.m_null;\n      }\n      return *this;\n   }\n   ~match_results(){}\n\n   // size:\n   size_type size() const\n   { return empty() ? 0 : m_subs.size() - 2; }\n   size_type max_size() const\n   { return m_subs.max_size(); }\n   bool empty() const\n   { return m_subs.size() < 2; }\n   // element access:\n   difference_type length(int sub = 0) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      sub += 2;\n      if((sub < (int)m_subs.size()) && (sub > 0))\n         return m_subs[sub].length();\n      return 0;\n   }\n   difference_type length(const char_type* sub) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      const char_type* sub_end = sub;\n      while(*sub_end) ++sub_end;\n      return length(named_subexpression_index(sub, sub_end));\n   }\n   template <class charT>\n   difference_type length(const charT* sub) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      const charT* sub_end = sub;\n      while(*sub_end) ++sub_end;\n      return length(named_subexpression_index(sub, sub_end));\n   }\n   template <class charT, class Traits, class A>\n   difference_type length(const std::basic_string<charT, Traits, A>& sub) const\n   {\n      return length(sub.c_str());\n   }\n   difference_type position(size_type sub = 0) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      sub += 2;\n      if(sub < m_subs.size())\n      {\n         const sub_match<BidiIterator>& s = m_subs[sub];\n         if(s.matched || (sub == 2))\n         {\n            return std::distance((BidiIterator)(m_base), (BidiIterator)(s.first));\n         }\n      }\n      return ~static_cast<difference_type>(0);\n   }\n   difference_type position(const char_type* sub) const\n   {\n      const char_type* sub_end = sub;\n      while(*sub_end) ++sub_end;\n      return position(named_subexpression_index(sub, sub_end));\n   }\n   template <class charT>\n   difference_type position(const charT* sub) const\n   {\n      const charT* sub_end = sub;\n      while(*sub_end) ++sub_end;\n      return position(named_subexpression_index(sub, sub_end));\n   }\n   template <class charT, class Traits, class A>\n   difference_type position(const std::basic_string<charT, Traits, A>& sub) const\n   {\n      return position(sub.c_str());\n   }\n   string_type str(int sub = 0) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      sub += 2;\n      string_type result;\n      if(sub < (int)m_subs.size() && (sub > 0))\n      {\n         const sub_match<BidiIterator>& s = m_subs[sub];\n         if(s.matched)\n         {\n            result = s.str();\n         }\n      }\n      return result;\n   }\n   string_type str(const char_type* sub) const\n   {\n      return (*this)[sub].str();\n   }\n   template <class Traits, class A>\n   string_type str(const std::basic_string<char_type, Traits, A>& sub) const\n   {\n      return (*this)[sub].str();\n   }\n   template <class charT>\n   string_type str(const charT* sub) const\n   {\n      return (*this)[sub].str();\n   }\n   template <class charT, class Traits, class A>\n   string_type str(const std::basic_string<charT, Traits, A>& sub) const\n   {\n      return (*this)[sub].str();\n   }\n   const_reference operator[](int sub) const\n   {\n      if(m_is_singular && m_subs.empty())\n         raise_logic_error();\n      sub += 2;\n      if(sub < (int)m_subs.size() && (sub >= 0))\n      {\n         return m_subs[sub];\n      }\n      return m_null;\n   }\n   //\n   // Named sub-expressions:\n   //\n   const_reference named_subexpression(const char_type* i, const char_type* j) const\n   {\n      //\n      // Scan for the leftmost *matched* subexpression with the specified named:\n      //\n      if(m_is_singular)\n         raise_logic_error();\n      BOOST_REGEX_DETAIL_NS::named_subexpressions::range_type r = m_named_subs->equal_range(i, j);\n      while((r.first != r.second) && ((*this)[r.first->index].matched == false))\n         ++r.first;\n      return r.first != r.second ? (*this)[r.first->index] : m_null;\n   }\n   template <class charT>\n   const_reference named_subexpression(const charT* i, const charT* j) const\n   {\n      static_assert(sizeof(charT) <= sizeof(char_type), \"Failed internal logic\");\n      if(i == j)\n         return m_null;\n      std::vector<char_type> s;\n      while(i != j)\n         s.insert(s.end(), *i++);\n      return named_subexpression(&*s.begin(), &*s.begin() + s.size());\n   }\n   int named_subexpression_index(const char_type* i, const char_type* j) const\n   {\n      //\n      // Scan for the leftmost *matched* subexpression with the specified named.\n      // If none found then return the leftmost expression with that name,\n      // otherwise an invalid index:\n      //\n      if(m_is_singular)\n         raise_logic_error();\n      BOOST_REGEX_DETAIL_NS::named_subexpressions::range_type s, r;\n      s = r = m_named_subs->equal_range(i, j);\n      while((r.first != r.second) && ((*this)[r.first->index].matched == false))\n         ++r.first;\n      if(r.first == r.second)\n         r = s;\n      return r.first != r.second ? r.first->index : -20;\n   }\n   template <class charT>\n   int named_subexpression_index(const charT* i, const charT* j) const\n   {\n      static_assert(sizeof(charT) <= sizeof(char_type), \"Failed internal logic\");\n      if(i == j)\n         return -20;\n      std::vector<char_type> s;\n      while(i != j)\n         s.insert(s.end(), *i++);\n      return named_subexpression_index(&*s.begin(), &*s.begin() + s.size());\n   }\n   template <class Traits, class A>\n   const_reference operator[](const std::basic_string<char_type, Traits, A>& s) const\n   {\n      return named_subexpression(s.c_str(), s.c_str() + s.size());\n   }\n   const_reference operator[](const char_type* p) const\n   {\n      const char_type* e = p;\n      while(*e) ++e;\n      return named_subexpression(p, e);\n   }\n\n   template <class charT>\n   const_reference operator[](const charT* p) const\n   {\n      static_assert(sizeof(charT) <= sizeof(char_type), \"Failed internal logic\");\n      if(*p == 0)\n         return m_null;\n      std::vector<char_type> s;\n      while(*p)\n         s.insert(s.end(), *p++);\n      return named_subexpression(&*s.begin(), &*s.begin() + s.size());\n   }\n   template <class charT, class Traits, class A>\n   const_reference operator[](const std::basic_string<charT, Traits, A>& ns) const\n   {\n      static_assert(sizeof(charT) <= sizeof(char_type), \"Failed internal logic\");\n      if(ns.empty())\n         return m_null;\n      std::vector<char_type> s;\n      for(unsigned i = 0; i < ns.size(); ++i)\n         s.insert(s.end(), ns[i]);\n      return named_subexpression(&*s.begin(), &*s.begin() + s.size());\n   }\n\n   const_reference prefix() const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      return (*this)[-1];\n   }\n\n   const_reference suffix() const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      return (*this)[-2];\n   }\n   const_iterator begin() const\n   {\n      return (m_subs.size() > 2) ? (m_subs.begin() + 2) : m_subs.end();\n   }\n   const_iterator end() const\n   {\n      return m_subs.end();\n   }\n   // format:\n   template <class OutputIterator, class Functor>\n   OutputIterator format(OutputIterator out,\n                         Functor fmt,\n                         match_flag_type flags = format_default) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, OutputIterator>::type F;\n      F func(fmt);\n      return func(*this, out, flags);\n   }\n   template <class Functor>\n   string_type format(Functor fmt, match_flag_type flags = format_default) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      std::basic_string<char_type> result;\n      BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> > i(result);\n\n      typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> > >::type F;\n      F func(fmt);\n\n      func(*this, i, flags);\n      return result;\n   }\n   // format with locale:\n   template <class OutputIterator, class Functor, class RegexT>\n   OutputIterator format(OutputIterator out,\n                         Functor fmt,\n                         match_flag_type flags,\n                         const RegexT& re) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      typedef ::boost::regex_traits_wrapper<typename RegexT::traits_type> traits_type;\n      typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, OutputIterator, traits_type>::type F;\n      F func(fmt);\n      return func(*this, out, flags, re.get_traits());\n   }\n   template <class RegexT, class Functor>\n   string_type format(Functor fmt,\n                      match_flag_type flags,\n                      const RegexT& re) const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      typedef ::boost::regex_traits_wrapper<typename RegexT::traits_type> traits_type;\n      std::basic_string<char_type> result;\n      BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> > i(result);\n\n      typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> >, traits_type >::type F;\n      F func(fmt);\n\n      func(*this, i, flags, re.get_traits());\n      return result;\n   }\n\n   const_reference get_last_closed_paren()const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      return m_last_closed_paren == 0 ? m_null : (*this)[m_last_closed_paren];\n   }\n\n   allocator_type get_allocator() const\n   {\n      return m_subs.get_allocator();\n   }\n   void swap(match_results& that)\n   {\n      std::swap(m_subs, that.m_subs);\n      std::swap(m_named_subs, that.m_named_subs);\n      std::swap(m_last_closed_paren, that.m_last_closed_paren);\n      if(m_is_singular)\n      {\n         if(!that.m_is_singular)\n         {\n            m_base = that.m_base;\n            m_null = that.m_null;\n         }\n      }\n      else if(that.m_is_singular)\n      {\n         that.m_base = m_base;\n         that.m_null = m_null;\n      }\n      else\n      {\n         std::swap(m_base, that.m_base);\n         std::swap(m_null, that.m_null);\n      }\n      std::swap(m_is_singular, that.m_is_singular);\n   }\n   bool operator==(const match_results& that)const\n   {\n      if(m_is_singular)\n      {\n         return that.m_is_singular;\n      }\n      else if(that.m_is_singular)\n      {\n         return false;\n      }\n      return (m_subs == that.m_subs) && (m_base == that.m_base) && (m_last_closed_paren == that.m_last_closed_paren);\n   }\n   bool operator!=(const match_results& that)const\n   { return !(*this == that); }\n\n#ifdef BOOST_REGEX_MATCH_EXTRA\n   typedef typename sub_match<BidiIterator>::capture_sequence_type capture_sequence_type;\n\n   const capture_sequence_type& captures(int i)const\n   {\n      if(m_is_singular)\n         raise_logic_error();\n      return (*this)[i].captures();\n   }\n#endif\n\n   //\n   // private access functions:\n   void  set_second(BidiIterator i)\n   {\n      BOOST_REGEX_ASSERT(m_subs.size() > 2);\n      m_subs[2].second = i;\n      m_subs[2].matched = true;\n      m_subs[0].first = i;\n      m_subs[0].matched = (m_subs[0].first != m_subs[0].second);\n      m_null.first = i;\n      m_null.second = i;\n      m_null.matched = false;\n      m_is_singular = false;\n   }\n\n   void  set_second(BidiIterator i, size_type pos, bool m = true, bool escape_k = false)\n   {\n      if(pos)\n         m_last_closed_paren = static_cast<int>(pos);\n      pos += 2;\n      BOOST_REGEX_ASSERT(m_subs.size() > pos);\n      m_subs[pos].second = i;\n      m_subs[pos].matched = m;\n      if((pos == 2) && !escape_k)\n      {\n         m_subs[0].first = i;\n         m_subs[0].matched = (m_subs[0].first != m_subs[0].second);\n         m_null.first = i;\n         m_null.second = i;\n         m_null.matched = false;\n         m_is_singular = false;\n      }\n   }\n   void  set_size(size_type n, BidiIterator i, BidiIterator j)\n   {\n      value_type v(j);\n      size_type len = m_subs.size();\n      if(len > n + 2)\n      {\n         m_subs.erase(m_subs.begin()+n+2, m_subs.end());\n         std::fill(m_subs.begin(), m_subs.end(), v);\n      }\n      else\n      {\n         std::fill(m_subs.begin(), m_subs.end(), v);\n         if(n+2 != len)\n            m_subs.insert(m_subs.end(), n+2-len, v);\n      }\n      m_subs[1].first = i;\n      m_last_closed_paren = 0;\n   }\n   void  set_base(BidiIterator pos)\n   {\n      m_base = pos;\n   }\n   BidiIterator base()const\n   {\n      return m_base;\n   }\n   void  set_first(BidiIterator i)\n   {\n      BOOST_REGEX_ASSERT(m_subs.size() > 2);\n      // set up prefix:\n      m_subs[1].second = i;\n      m_subs[1].matched = (m_subs[1].first != i);\n      // set up $0:\n      m_subs[2].first = i;\n      // zero out everything else:\n      for(size_type n = 3; n < m_subs.size(); ++n)\n      {\n         m_subs[n].first = m_subs[n].second = m_subs[0].second;\n         m_subs[n].matched = false;\n      }\n   }\n   void  set_first(BidiIterator i, size_type pos, bool escape_k = false)\n   {\n      BOOST_REGEX_ASSERT(pos+2 < m_subs.size());\n      if(pos || escape_k)\n      {\n         m_subs[pos+2].first = i;\n         if(escape_k)\n         {\n            m_subs[1].second = i;\n            m_subs[1].matched = (m_subs[1].first != m_subs[1].second);\n         }\n      }\n      else\n         set_first(i);\n   }\n   void  maybe_assign(const match_results<BidiIterator, Allocator>& m);\n\n   void  set_named_subs(std::shared_ptr<named_sub_type> subs)\n   {\n      m_named_subs = subs;\n   }\n\nprivate:\n   //\n   // Error handler called when an uninitialized match_results is accessed:\n   //\n   static void raise_logic_error()\n   {\n      std::logic_error e(\"Attempt to access an uninitialized boost::match_results<> class.\");\n#ifndef BOOST_REGEX_STANDALONE\n      boost::throw_exception(e);\n#else\n      throw e;\n#endif\n   }\n\n\n   vector_type            m_subs;                      // subexpressions\n   BidiIterator   m_base;                              // where the search started from\n   sub_match<BidiIterator> m_null;                     // a null match\n   std::shared_ptr<named_sub_type> m_named_subs;     // Shared copy of named subs in the regex object\n   int m_last_closed_paren;                            // Last ) to be seen - used for formatting\n   bool m_is_singular;                                 // True if our stored iterators are singular\n};\n\ntemplate <class BidiIterator, class Allocator>\nvoid  match_results<BidiIterator, Allocator>::maybe_assign(const match_results<BidiIterator, Allocator>& m)\n{\n   if(m_is_singular)\n   {\n      *this = m;\n      return;\n   }\n   const_iterator p1, p2;\n   p1 = begin();\n   p2 = m.begin();\n   //\n   // Distances are measured from the start of *this* match, unless this isn't\n   // a valid match in which case we use the start of the whole sequence.  Note that\n   // no subsequent match-candidate can ever be to the left of the first match found.\n   // This ensures that when we are using bidirectional iterators, that distances \n   // measured are as short as possible, and therefore as efficient as possible\n   // to compute.  Finally note that we don't use the \"matched\" data member to test\n   // whether a sub-expression is a valid match, because partial matches set this\n   // to false for sub-expression 0.\n   //\n   BidiIterator l_end = this->suffix().second;\n   BidiIterator l_base = (p1->first == l_end) ? this->prefix().first : (*this)[0].first;\n   difference_type len1 = 0;\n   difference_type len2 = 0;\n   difference_type base1 = 0;\n   difference_type base2 = 0;\n   std::size_t i;\n   for(i = 0; i < size(); ++i, ++p1, ++p2)\n   {\n      //\n      // Leftmost takes priority over longest; handle special cases\n      // where distances need not be computed first (an optimisation\n      // for bidirectional iterators: ensure that we don't accidently\n      // compute the length of the whole sequence, as this can be really\n      // expensive).\n      //\n      if(p1->first == l_end)\n      {\n         if(p2->first != l_end)\n         {\n            // p2 must be better than p1, and no need to calculate\n            // actual distances:\n            base1 = 1;\n            base2 = 0;\n            break;\n         }\n         else\n         {\n            // *p1 and *p2 are either unmatched or match end-of sequence,\n            // either way no need to calculate distances:\n            if((p1->matched == false) && (p2->matched == true))\n               break;\n            if((p1->matched == true) && (p2->matched == false))\n               return;\n            continue;\n         }\n      }\n      else if(p2->first == l_end)\n      {\n         // p1 better than p2, and no need to calculate distances:\n         return;\n      }\n      base1 = std::distance(l_base, p1->first);\n      base2 = std::distance(l_base, p2->first);\n      BOOST_REGEX_ASSERT(base1 >= 0);\n      BOOST_REGEX_ASSERT(base2 >= 0);\n      if(base1 < base2) return;\n      if(base2 < base1) break;\n\n      len1 = std::distance((BidiIterator)p1->first, (BidiIterator)p1->second);\n      len2 = std::distance((BidiIterator)p2->first, (BidiIterator)p2->second);\n      BOOST_REGEX_ASSERT(len1 >= 0);\n      BOOST_REGEX_ASSERT(len2 >= 0);\n      if((len1 != len2) || ((p1->matched == false) && (p2->matched == true)))\n         break;\n      if((p1->matched == true) && (p2->matched == false))\n         return;\n   }\n   if(i == size())\n      return;\n   if(base2 < base1)\n      *this = m;\n   else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) )\n      *this = m;\n}\n\ntemplate <class BidiIterator, class Allocator>\nvoid swap(match_results<BidiIterator, Allocator>& a, match_results<BidiIterator, Allocator>& b)\n{\n   a.swap(b);\n}\n\ntemplate <class charT, class traits, class BidiIterator, class Allocator>\nstd::basic_ostream<charT, traits>&\n   operator << (std::basic_ostream<charT, traits>& os,\n                const match_results<BidiIterator, Allocator>& s)\n{\n   return (os << s.str());\n}\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n} // namespace boost\n\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/mem_block_cache.hpp",
    "content": " /*\n * Copyright (c) 2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         mem_block_cache.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: memory block cache used by the non-recursive matcher.\n  */\n\n#ifndef BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP\n#define BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP\n\n#include <new>\n#ifdef BOOST_HAS_THREADS\n#include <mutex>\n#endif\n\n#ifndef BOOST_NO_CXX11_HDR_ATOMIC\n  #include <atomic>\n  #if ATOMIC_POINTER_LOCK_FREE == 2\n    #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE\n    #define BOOST_REGEX_ATOMIC_POINTER std::atomic\n  #endif\n#endif\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\n#ifdef BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE /* lock free implementation */\nstruct mem_block_cache\n{\n  std::atomic<void*> cache[BOOST_REGEX_MAX_CACHE_BLOCKS];\n\n   ~mem_block_cache()\n   {\n     for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) {\n       if (cache[i].load()) ::operator delete(cache[i].load());\n     }\n   }\n   void* get()\n   {\n     for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) {\n       void* p = cache[i].load();\n       if (p != NULL) {\n         if (cache[i].compare_exchange_strong(p, NULL)) return p;\n       }\n     }\n     return ::operator new(BOOST_REGEX_BLOCKSIZE);\n   }\n   void put(void* ptr)\n   {\n     for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) {\n       void* p = cache[i].load();\n       if (p == NULL) {\n         if (cache[i].compare_exchange_strong(p, ptr)) return;\n       }\n     }\n     ::operator delete(ptr);\n   }\n\n   static mem_block_cache& instance()\n   {\n      static mem_block_cache block_cache = { { {nullptr} } };\n      return block_cache;\n   }\n};\n\n\n#else /* lock-based implementation */\n\n\nstruct mem_block_node\n{\n   mem_block_node* next;\n};\n\nstruct mem_block_cache\n{\n   // this member has to be statically initialsed:\n   mem_block_node* next { nullptr };\n   unsigned cached_blocks { 0 };\n#ifdef BOOST_HAS_THREADS\n   std::mutex mut;\n#endif\n\n   ~mem_block_cache()\n   {\n      while(next)\n      {\n         mem_block_node* old = next;\n         next = next->next;\n         ::operator delete(old);\n      }\n   }\n   void* get()\n   {\n#ifdef BOOST_HAS_THREADS\n      std::lock_guard<std::mutex> g(mut);\n#endif\n     if(next)\n      {\n         mem_block_node* result = next;\n         next = next->next;\n         --cached_blocks;\n         return result;\n      }\n      return ::operator new(BOOST_REGEX_BLOCKSIZE);\n   }\n   void put(void* p)\n   {\n#ifdef BOOST_HAS_THREADS\n      std::lock_guard<std::mutex> g(mut);\n#endif\n      if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS)\n      {\n         ::operator delete(p);\n      }\n      else\n      {\n         mem_block_node* old = static_cast<mem_block_node*>(p);\n         old->next = next;\n         next = old;\n         ++cached_blocks;\n      }\n   }\n   static mem_block_cache& instance()\n   {\n      static mem_block_cache block_cache;\n      return block_cache;\n   }\n};\n#endif\n\n#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0\n\ninline void*  get_mem_block()\n{\n   return ::operator new(BOOST_REGEX_BLOCKSIZE);\n}\n\ninline void  put_mem_block(void* p)\n{\n   ::operator delete(p);\n}\n\n#else\n\ninline void*  get_mem_block()\n{\n   return mem_block_cache::instance().get();\n}\n\ninline void  put_mem_block(void* p)\n{\n   mem_block_cache::instance().put(p);\n}\n\n#endif\n}\n} // namespace boost\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/object_cache.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         object_cache.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Implements a generic object cache.\n  */\n\n#ifndef BOOST_REGEX_OBJECT_CACHE_HPP\n#define BOOST_REGEX_OBJECT_CACHE_HPP\n\n#include <boost/regex/config.hpp>\n#include <memory>\n#include <map>\n#include <list>\n#include <stdexcept>\n#include <string>\n#ifdef BOOST_HAS_THREADS\n#include <mutex>\n#endif\n\nnamespace boost{\n\ntemplate <class Key, class Object>\nclass object_cache\n{\npublic:\n   typedef std::pair< ::std::shared_ptr<Object const>, Key const*> value_type;\n   typedef std::list<value_type> list_type;\n   typedef typename list_type::iterator list_iterator;\n   typedef std::map<Key, list_iterator> map_type;\n   typedef typename map_type::iterator map_iterator;\n   typedef typename list_type::size_type size_type;\n   static std::shared_ptr<Object const> get(const Key& k, size_type l_max_cache_size);\n\nprivate:\n   static std::shared_ptr<Object const> do_get(const Key& k, size_type l_max_cache_size);\n\n   struct data\n   {\n      list_type   cont;\n      map_type    index;\n   };\n\n   // Needed by compilers not implementing the resolution to DR45. For reference,\n   // see http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#45.\n   friend struct data;\n};\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable: 4702)\n#endif\ntemplate <class Key, class Object>\nstd::shared_ptr<Object const> object_cache<Key, Object>::get(const Key& k, size_type l_max_cache_size)\n{\n#ifdef BOOST_HAS_THREADS\n   static std::mutex mut;\n   std::lock_guard<std::mutex> l(mut);\n   return do_get(k, l_max_cache_size);\n#else\n   return do_get(k, l_max_cache_size);\n#endif\n}\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\ntemplate <class Key, class Object>\nstd::shared_ptr<Object const> object_cache<Key, Object>::do_get(const Key& k, size_type l_max_cache_size)\n{\n   typedef typename object_cache<Key, Object>::data object_data;\n   typedef typename map_type::size_type map_size_type;\n   static object_data s_data;\n\n   //\n   // see if the object is already in the cache:\n   //\n   map_iterator mpos = s_data.index.find(k);\n   if(mpos != s_data.index.end())\n   {\n      //\n      // Eureka! \n      // We have a cached item, bump it up the list and return it:\n      //\n      if(--(s_data.cont.end()) != mpos->second)\n      {\n         // splice out the item we want to move:\n         list_type temp;\n         temp.splice(temp.end(), s_data.cont, mpos->second);\n         // and now place it at the end of the list:\n         s_data.cont.splice(s_data.cont.end(), temp, temp.begin());\n         BOOST_REGEX_ASSERT(*(s_data.cont.back().second) == k);\n         // update index with new position:\n         mpos->second = --(s_data.cont.end());\n         BOOST_REGEX_ASSERT(&(mpos->first) == mpos->second->second);\n         BOOST_REGEX_ASSERT(&(mpos->first) == s_data.cont.back().second);\n      }\n      return s_data.cont.back().first;\n   }\n   //\n   // if we get here then the item is not in the cache,\n   // so create it:\n   //\n   std::shared_ptr<Object const> result(new Object(k));\n   //\n   // Add it to the list, and index it:\n   //\n   s_data.cont.push_back(value_type(result, static_cast<Key const*>(0)));\n   s_data.index.insert(std::make_pair(k, --(s_data.cont.end())));\n   s_data.cont.back().second = &(s_data.index.find(k)->first);\n   map_size_type s = s_data.index.size();\n   BOOST_REGEX_ASSERT(s_data.index[k]->first.get() == result.get());\n   BOOST_REGEX_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second);\n   BOOST_REGEX_ASSERT(s_data.index.find(k)->first == k);\n   if(s > l_max_cache_size)\n   {\n      //\n      // We have too many items in the list, so we need to start\n      // popping them off the back of the list, but only if they're\n      // being held uniquely by us:\n      //\n      list_iterator pos = s_data.cont.begin();\n      list_iterator last = s_data.cont.end();\n      while((pos != last) && (s > l_max_cache_size))\n      {\n         if(pos->first.use_count() == 1)\n         {\n            list_iterator condemmed(pos);\n            ++pos;\n            // now remove the items from our containers, \n            // then order has to be as follows:\n            BOOST_REGEX_ASSERT(s_data.index.find(*(condemmed->second)) != s_data.index.end());\n            s_data.index.erase(*(condemmed->second));\n            s_data.cont.erase(condemmed); \n            --s;\n         }\n         else\n            ++pos;\n      }\n      BOOST_REGEX_ASSERT(s_data.index[k]->first.get() == result.get());\n      BOOST_REGEX_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second);\n      BOOST_REGEX_ASSERT(s_data.index.find(k)->first == k);\n   }\n   return result;\n}\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/pattern_except.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         pattern_except.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares pattern-matching exception classes.\n  */\n\n#ifndef BOOST_RE_V5_PAT_EXCEPT_HPP\n#define BOOST_RE_V5_PAT_EXCEPT_HPP\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n\n#include <cstddef>\n#include <stdexcept>\n#include <boost/regex/v5/error_type.hpp>\n#include <boost/regex/v5/regex_traits_defaults.hpp>\n\nnamespace boost{\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable : 4275)\n#if BOOST_REGEX_MSVC >= 1800\n#pragma warning(disable : 26812 4459)\n#endif\n#endif\nclass regex_error : public std::runtime_error\n{\npublic:\n   explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0)\n      : std::runtime_error(s)\n      , m_error_code(err)\n      , m_position(pos)\n   {\n   }\n   explicit regex_error(regex_constants::error_type err)\n      : std::runtime_error(::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(err))\n      , m_error_code(err)\n      , m_position(0)\n   {\n   }\n   ~regex_error() noexcept override {}\n   regex_constants::error_type code()const\n   { return m_error_code; }\n   std::ptrdiff_t position()const\n   { return m_position; }\n   void raise()const \n   {\n#ifndef BOOST_NO_EXCEPTIONS\n#ifndef BOOST_REGEX_STANDALONE\n      ::boost::throw_exception(*this);\n#else\n      throw* this;\n#endif\n#endif\n   }\nprivate:\n   regex_constants::error_type m_error_code;\n   std::ptrdiff_t m_position;\n};\n\ntypedef regex_error bad_pattern;\ntypedef regex_error bad_expression;\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class E>\ninline void raise_runtime_error(const E& ex)\n{\n#ifndef BOOST_REGEX_STANDALONE\n   ::boost::throw_exception(ex);\n#else\n   throw ex;\n#endif\n}\n\ntemplate <class traits>\nvoid raise_error(const traits& t, regex_constants::error_type code)\n{\n   (void)t;  // warning suppression\n   regex_error e(t.error_string(code), code, 0);\n   ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(e);\n}\n\n}\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\n} // namespace boost\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/perl_matcher.hpp",
    "content": "/*\n *\n * Copyright (c) 2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n#ifndef BOOST_REGEX_MATCHER_HPP\n#define BOOST_REGEX_MATCHER_HPP\n\n#include <boost/regex/v5/iterator_category.hpp>\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#pragma warning(disable : 4251 4459)\n#if BOOST_REGEX_MSVC < 1700\n#     pragma warning(disable : 4231)\n#endif\n#  if BOOST_REGEX_MSVC < 1600\n#     pragma warning(disable : 4660)\n#  endif\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\n//\n// error checking API:\n//\ninline void  verify_options(boost::regex_constants::syntax_option_type, match_flag_type mf)\n{\n   //\n   // can't mix match_extra with POSIX matching rules:\n   //\n   if ((mf & match_extra) && (mf & match_posix))\n   {\n      std::logic_error msg(\"Usage Error: Can't mix regular expression captures with POSIX matching rules\");\n#ifndef BOOST_REGEX_STANDALONE\n      throw_exception(msg);\n#else\n      throw msg;\n#endif\n   }\n}\n//\n// function can_start:\n//\ntemplate <class charT>\ninline bool can_start(charT c, const unsigned char* map, unsigned char mask)\n{\n   return ((c < static_cast<charT>(0)) ? true : ((c >= static_cast<charT>(1 << CHAR_BIT)) ? true : map[c] & mask));\n}\ninline bool can_start(char c, const unsigned char* map, unsigned char mask)\n{\n   return map[(unsigned char)c] & mask;\n}\ninline bool can_start(signed char c, const unsigned char* map, unsigned char mask)\n{\n   return map[(unsigned char)c] & mask;\n}\ninline bool can_start(unsigned char c, const unsigned char* map, unsigned char mask)\n{\n   return map[c] & mask;\n}\ninline bool can_start(unsigned short c, const unsigned char* map, unsigned char mask)\n{\n   return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask);\n}\n#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)\ninline bool can_start(wchar_t c, const unsigned char* map, unsigned char mask)\n{\n   return ((c >= static_cast<wchar_t>(1u << CHAR_BIT)) ? true : map[c] & mask);\n}\n#endif\n#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)\ninline bool can_start(unsigned int c, const unsigned char* map, unsigned char mask)\n{\n   return (((c >= static_cast<unsigned int>(1u << CHAR_BIT)) ? true : map[c] & mask));\n}\n#endif\n\ntemplate <class C, class T, class A>\ninline int string_compare(const std::basic_string<C,T,A>& s, const C* p)\n{ \n   if(0 == *p)\n   {\n      if(s.empty() || ((s.size() == 1) && (s[0] == 0)))\n         return 0;\n   }\n   return s.compare(p); \n}\ntemplate <class Seq, class C>\ninline int string_compare(const Seq& s, const C* p)\n{\n   std::size_t i = 0;\n   while((i < s.size()) && (p[i] == s[i]))\n   {\n      ++i;\n   }\n   return (i == s.size()) ? -(int)p[i] : (int)s[i] - (int)p[i];\n}\n# define STR_COMP(s,p) string_compare(s,p)\n\ntemplate<class charT>\ninline const charT* re_skip_past_null(const charT* p)\n{\n  while (*p != static_cast<charT>(0)) ++p;\n  return ++p;\n}\n\ntemplate <class iterator, class charT, class traits_type, class char_classT>\niterator  re_is_set_member(iterator next, \n                          iterator last, \n                          const re_set_long<char_classT>* set_, \n                          const regex_data<charT, traits_type>& e, bool icase)\n{   \n   const charT* p = reinterpret_cast<const charT*>(set_+1);\n   iterator ptr;\n   unsigned int i;\n   //bool icase = e.m_flags & regex_constants::icase;\n\n   if(next == last) return next;\n\n   typedef typename traits_type::string_type traits_string_type;\n   const ::boost::regex_traits_wrapper<traits_type>& traits_inst = *(e.m_ptraits);\n   \n   // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never\n   // referenced\n   (void)traits_inst;\n\n   // try and match a single character, could be a multi-character\n   // collating element...\n   for(i = 0; i < set_->csingles; ++i)\n   {\n      ptr = next;\n      if(*p == static_cast<charT>(0))\n      {\n         // treat null string as special case:\n         if(traits_inst.translate(*ptr, icase))\n         {\n            ++p;\n            continue;\n         }\n         return set_->isnot ? next : (ptr == next) ? ++next : ptr;\n      }\n      else\n      {\n         while(*p && (ptr != last))\n         {\n            if(traits_inst.translate(*ptr, icase) != *p)\n               break;\n            ++p;\n            ++ptr;\n         }\n\n         if(*p == static_cast<charT>(0)) // if null we've matched\n            return set_->isnot ? next : (ptr == next) ? ++next : ptr;\n\n         p = re_skip_past_null(p);     // skip null\n      }\n   }\n\n   charT col = traits_inst.translate(*next, icase);\n\n\n   if(set_->cranges || set_->cequivalents)\n   {\n      traits_string_type s1;\n      //\n      // try and match a range, NB only a single character can match\n      if(set_->cranges)\n      {\n         if((e.m_flags & regex_constants::collate) == 0)\n            s1.assign(1, col);\n         else\n         {\n            charT a[2] = { col, charT(0), };\n            s1 = traits_inst.transform(a, a + 1);\n         }\n         for(i = 0; i < set_->cranges; ++i)\n         {\n            if(STR_COMP(s1, p) >= 0)\n            {\n               do{ ++p; }while(*p);\n               ++p;\n               if(STR_COMP(s1, p) <= 0)\n                  return set_->isnot ? next : ++next;\n            }\n            else\n            {\n               // skip first string\n               do{ ++p; }while(*p);\n               ++p;\n            }\n            // skip second string\n            do{ ++p; }while(*p);\n            ++p;\n         }\n      }\n      //\n      // try and match an equivalence class, NB only a single character can match\n      if(set_->cequivalents)\n      {\n         charT a[2] = { col, charT(0), };\n         s1 = traits_inst.transform_primary(a, a +1);\n         for(i = 0; i < set_->cequivalents; ++i)\n         {\n            if(STR_COMP(s1, p) == 0)\n               return set_->isnot ? next : ++next;\n            // skip string\n            do{ ++p; }while(*p);\n            ++p;\n         }\n      }\n   }\n   if(traits_inst.isctype(col, set_->cclasses) == true)\n      return set_->isnot ? next : ++next;\n   if((set_->cnclasses != 0) && (traits_inst.isctype(col, set_->cnclasses) == false))\n      return set_->isnot ? next : ++next;\n   return set_->isnot ? ++next : next;\n}\n\ntemplate <class BidiIterator>\nclass repeater_count\n{\n   repeater_count** stack;\n   repeater_count* next;\n   int state_id;\n   std::size_t count;        // the number of iterations so far\n   BidiIterator start_pos;   // where the last repeat started\n\n   repeater_count* unwind_until(int n, repeater_count* p, int current_recursion_id)\n   { \n      while(p && (p->state_id != n))\n      {\n         if(-2 - current_recursion_id == p->state_id)\n            return 0;\n         p = p->next;\n         if(p && (p->state_id < 0))\n         {\n            p = unwind_until(p->state_id, p, current_recursion_id);\n            if(!p)\n               return p;\n            p = p->next;\n         }\n      }\n      return p;\n   }\npublic:\n   repeater_count(repeater_count** s) : stack(s), next(0), state_id(-1), count(0), start_pos() {}\n   \n   repeater_count(int i, repeater_count** s, BidiIterator start, int current_recursion_id)\n      : start_pos(start)\n   {\n      state_id = i;\n      stack = s;\n      next = *stack;\n      *stack = this;\n      if((state_id > next->state_id) && (next->state_id >= 0))\n         count = 0;\n      else\n      {\n         repeater_count* p = next;\n         p = unwind_until(state_id, p, current_recursion_id);\n         if(p)\n         {\n            count = p->count;\n            start_pos = p->start_pos;\n         }\n         else\n            count = 0;\n      }\n   }\n   ~repeater_count()\n   {\n      if(next)\n         *stack = next;\n   }\n   std::size_t get_count() { return count; }\n   int get_id() { return state_id; }\n   std::size_t operator++() { return ++count; }\n   bool check_null_repeat(const BidiIterator& pos, std::size_t max)\n   {\n      // this is called when we are about to start a new repeat,\n      // if the last one was NULL move our count to max,\n      // otherwise save the current position.\n      bool result = (count == 0) ? false : (pos == start_pos);\n      if(result)\n         count = max;\n      else\n         start_pos = pos;\n      return result;\n   }\n};\n\nstruct saved_state;\n\nenum saved_state_type\n{\n   saved_type_end = 0,\n   saved_type_paren = 1,\n   saved_type_recurse = 2,\n   saved_type_assertion = 3,\n   saved_state_alt = 4,\n   saved_state_repeater_count = 5,\n   saved_state_extra_block = 6,\n   saved_state_greedy_single_repeat = 7,\n   saved_state_rep_slow_dot = 8,\n   saved_state_rep_fast_dot = 9,\n   saved_state_rep_char = 10,\n   saved_state_rep_short_set = 11,\n   saved_state_rep_long_set = 12,\n   saved_state_non_greedy_long_repeat = 13, \n   saved_state_count = 14\n};\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#if BOOST_REGEX_MSVC >= 1800\n#pragma warning(disable:26495)\n#endif\n#endif\ntemplate <class Results>\nstruct recursion_info\n{\n   typedef typename Results::value_type value_type;\n   typedef typename value_type::iterator iterator;\n   int idx;\n   const re_syntax_base* preturn_address;\n   Results results;\n   repeater_count<iterator>* repeater_stack;\n   iterator location_of_start;\n};\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\ntemplate <class BidiIterator, class Allocator, class traits>\nclass perl_matcher\n{\npublic:\n   typedef typename traits::char_type char_type;\n   typedef perl_matcher<BidiIterator, Allocator, traits> self_type;\n   typedef bool (self_type::*matcher_proc_type)();\n   typedef std::size_t traits_size_type;\n   typedef typename is_byte<char_type>::width_type width_type;\n   typedef typename std::iterator_traits<BidiIterator>::difference_type difference_type;\n   typedef match_results<BidiIterator, Allocator> results_type;\n\n   perl_matcher(BidiIterator first, BidiIterator end, \n      match_results<BidiIterator, Allocator>& what, \n      const basic_regex<char_type, traits>& e,\n      match_flag_type f,\n      BidiIterator l_base)\n      :  m_result(what), base(first), last(end), \n         position(first), backstop(l_base), re(e), traits_inst(e.get_traits()), \n         m_independent(false), next_count(&rep_obj), rep_obj(&next_count)\n      , m_recursions(0)\n   {\n      construct_init(e, f);\n   }\n\n   bool match();\n   bool find();\n\n   void setf(match_flag_type f)\n   { m_match_flags |= f; }\n   void unsetf(match_flag_type f)\n   { m_match_flags &= ~f; }\n\nprivate:\n   void construct_init(const basic_regex<char_type, traits>& e, match_flag_type f);\n\n   bool find_imp();\n   bool match_imp();\n   void estimate_max_state_count(std::random_access_iterator_tag*);\n   void estimate_max_state_count(void*);\n   bool match_prefix();\n   bool match_all_states();\n\n   // match procs, stored in s_match_vtable:\n   bool match_startmark();\n   bool match_endmark();\n   bool match_literal();\n   bool match_start_line();\n   bool match_end_line();\n   bool match_wild();\n   bool match_match();\n   bool match_word_boundary();\n   bool match_within_word();\n   bool match_word_start();\n   bool match_word_end();\n   bool match_buffer_start();\n   bool match_buffer_end();\n   bool match_backref();\n   bool match_long_set();\n   bool match_set();\n   bool match_jump();\n   bool match_alt();\n   bool match_rep();\n   bool match_combining();\n   bool match_soft_buffer_end();\n   bool match_restart_continue();\n   bool match_long_set_repeat();\n   bool match_set_repeat();\n   bool match_char_repeat();\n   bool match_dot_repeat_fast();\n   bool match_dot_repeat_slow();\n   bool match_dot_repeat_dispatch()\n   {\n      return ::boost::is_random_access_iterator<BidiIterator>::value ? match_dot_repeat_fast() : match_dot_repeat_slow();\n   }\n   bool match_backstep();\n   bool match_assert_backref();\n   bool match_toggle_case();\n   bool match_recursion();\n   bool match_fail();\n   bool match_accept();\n   bool match_commit();\n   bool match_then();\n   bool skip_until_paren(int index, bool match = true);\n\n   // find procs stored in s_find_vtable:\n   bool find_restart_any();\n   bool find_restart_word();\n   bool find_restart_line();\n   bool find_restart_buf();\n   bool find_restart_lit();\n\nprivate:\n   // final result structure to be filled in:\n   match_results<BidiIterator, Allocator>& m_result;\n   // temporary result for POSIX matches:\n   std::unique_ptr<match_results<BidiIterator, Allocator> > m_temp_match;\n   // pointer to actual result structure to fill in:\n   match_results<BidiIterator, Allocator>* m_presult;\n   // start of sequence being searched:\n   BidiIterator base;\n   // end of sequence being searched:\n   BidiIterator last; \n   // current character being examined:\n   BidiIterator position;\n   // where to restart next search after failed match attempt:\n   BidiIterator restart;\n   // where the current search started from, acts as base for $` during grep:\n   BidiIterator search_base;\n   // how far we can go back when matching lookbehind:\n   BidiIterator backstop;\n   // the expression being examined:\n   const basic_regex<char_type, traits>& re;\n   // the expression's traits class:\n   const ::boost::regex_traits_wrapper<traits>& traits_inst;\n   // the next state in the machine being matched:\n   const re_syntax_base* pstate;\n   // matching flags in use:\n   match_flag_type m_match_flags;\n   // how many states we have examined so far:\n   std::ptrdiff_t state_count;\n   // max number of states to examine before giving up:\n   std::ptrdiff_t max_state_count;\n   // whether we should ignore case or not:\n   bool icase;\n   // set to true when (position == last), indicates that we may have a partial match:\n   bool m_has_partial_match;\n   // set to true whenever we get a match:\n   bool m_has_found_match;\n   // set to true whenever we're inside an independent sub-expression:\n   bool m_independent;\n   // the current repeat being examined:\n   repeater_count<BidiIterator>* next_count;\n   // the first repeat being examined (top of linked list):\n   repeater_count<BidiIterator> rep_obj;\n   // the mask to pass when matching word boundaries:\n   typename traits::char_class_type m_word_mask;\n   // the bitmask to use when determining whether a match_any matches a newline or not:\n   unsigned char match_any_mask;\n   // recursion information:\n   std::vector<recursion_info<results_type> > recursion_stack;\n   //\n   // additional members for non-recursive version:\n   //\n   typedef bool (self_type::*unwind_proc_type)(bool);\n\n   void extend_stack();\n   bool unwind(bool);\n   bool unwind_end(bool);\n   bool unwind_paren(bool);\n   bool unwind_recursion_stopper(bool);\n   bool unwind_assertion(bool);\n   bool unwind_alt(bool);\n   bool unwind_repeater_counter(bool);\n   bool unwind_extra_block(bool);\n   bool unwind_greedy_single_repeat(bool);\n   bool unwind_slow_dot_repeat(bool);\n   bool unwind_fast_dot_repeat(bool);\n   bool unwind_char_repeat(bool);\n   bool unwind_short_set_repeat(bool);\n   bool unwind_long_set_repeat(bool);\n   bool unwind_non_greedy_repeat(bool);\n   bool unwind_recursion(bool);\n   bool unwind_recursion_pop(bool);\n   bool unwind_commit(bool);\n   bool unwind_then(bool);\n   bool unwind_case(bool);\n   void destroy_single_repeat();\n   void push_matched_paren(int index, const sub_match<BidiIterator>& sub);\n   void push_recursion_stopper();\n   void push_assertion(const re_syntax_base* ps, bool positive);\n   void push_alt(const re_syntax_base* ps);\n   void push_repeater_count(int i, repeater_count<BidiIterator>** s);\n   void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id);\n   void push_non_greedy_repeat(const re_syntax_base* ps);\n   void push_recursion(int idx, const re_syntax_base* p, results_type* presults, results_type* presults2);\n   void push_recursion_pop();\n   void push_case_change(bool);\n\n   // pointer to base of stack:\n   saved_state* m_stack_base;\n   // pointer to current stack position:\n   saved_state* m_backup_state;\n   // how many memory blocks have we used up?:\n   unsigned used_block_count;\n   // determines what value to return when unwinding from recursion,\n   // allows for mixed recursive/non-recursive algorithm:\n   bool m_recursive_result;\n   // We have unwound to a lookahead/lookbehind, used by COMMIT/PRUNE/SKIP:\n   bool m_unwound_lookahead;\n   // We have unwound to an alternative, used by THEN:\n   bool m_unwound_alt;\n   // We are unwinding a commit - used by independent subs to determine whether to stop there or carry on unwinding:\n   //bool m_unwind_commit;\n   // Recursion limit:\n   unsigned m_recursions;\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#if BOOST_REGEX_MSVC >= 1800\n#pragma warning(disable:26495)\n#endif\n#endif\n   // these operations aren't allowed, so are declared private,\n   // bodies are provided to keep explicit-instantiation requests happy:\n   perl_matcher& operator=(const perl_matcher&)\n   {\n      return *this;\n   }\n   perl_matcher(const perl_matcher& that)\n      : m_result(that.m_result), re(that.re), traits_inst(that.traits_inst), rep_obj(0) {}\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n};\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\n} // namespace boost\n\n//\n// include the implementation of perl_matcher:\n//\n#include <boost/regex/v5/perl_matcher_non_recursive.hpp>\n// this one has to be last:\n#include <boost/regex/v5/perl_matcher_common.hpp>\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/perl_matcher_common.hpp",
    "content": "/*\n *\n * Copyright (c) 2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         perl_matcher_common.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Definitions of perl_matcher member functions that are \n  *                common to both the recursive and non-recursive versions.\n  */\n\n#ifndef BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP\n#define BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#pragma warning(disable:4459)\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#pragma warning(disable:26812)\n#endif\n   template <class BidiIterator, class Allocator, class traits>\nvoid perl_matcher<BidiIterator, Allocator, traits>::construct_init(const basic_regex<char_type, traits>& e, match_flag_type f)\n{ \n   typedef typename std::iterator_traits<BidiIterator>::iterator_category category;\n   typedef typename basic_regex<char_type, traits>::flag_type expression_flag_type;\n   \n   if(e.empty())\n   {\n      // precondition failure: e is not a valid regex.\n      std::invalid_argument ex(\"Invalid regular expression object\");\n#ifndef BOOST_REGEX_STANDALONE\n      boost::throw_exception(ex);\n#else\n      throw e;\n#endif\n   }\n   pstate = 0;\n   m_match_flags = f;\n   estimate_max_state_count(static_cast<category*>(0));\n   expression_flag_type re_f = re.flags();\n   icase = re_f & regex_constants::icase;\n   if(!(m_match_flags & (match_perl|match_posix)))\n   {\n      if((re_f & (regbase::main_option_type|regbase::no_perl_ex)) == 0)\n         m_match_flags |= match_perl;\n      else if((re_f & (regbase::main_option_type|regbase::emacs_ex)) == (regbase::basic_syntax_group|regbase::emacs_ex))\n         m_match_flags |= match_perl;\n      else if((re_f & (regbase::main_option_type|regbase::literal)) == (regbase::literal))\n         m_match_flags |= match_perl;\n      else\n         m_match_flags |= match_posix;\n   }\n   if(m_match_flags & match_posix)\n   {\n      m_temp_match.reset(new match_results<BidiIterator, Allocator>());\n      m_presult = m_temp_match.get();\n   }\n   else\n      m_presult = &m_result;\n   m_stack_base = 0;\n   m_backup_state = 0;\n   // find the value to use for matching word boundaries:\n   m_word_mask = re.get_data().m_word_mask; \n   // find bitmask to use for matching '.':\n   match_any_mask = static_cast<unsigned char>((f & match_not_dot_newline) ? BOOST_REGEX_DETAIL_NS::test_not_newline : BOOST_REGEX_DETAIL_NS::test_newline);\n   // Disable match_any if requested in the state machine:\n   if(e.get_data().m_disable_match_any)\n      m_match_flags &= regex_constants::match_not_any;\n}\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\ntemplate <class BidiIterator, class Allocator, class traits>\nvoid perl_matcher<BidiIterator, Allocator, traits>::estimate_max_state_count(std::random_access_iterator_tag*)\n{\n   //\n   // How many states should we allow our machine to visit before giving up?\n   // This is a heuristic: it takes the greater of O(N^2) and O(NS^2)\n   // where N is the length of the string, and S is the number of states\n   // in the machine.  It's tempting to up this to O(N^2S) or even O(N^2S^2)\n   // but these take unreasonably amounts of time to bale out in pathological\n   // cases.\n   //\n   // Calculate NS^2 first:\n   //\n   static const std::ptrdiff_t k = 100000;\n   std::ptrdiff_t dist = std::distance(base, last);\n   if(dist == 0)\n      dist = 1;\n   std::ptrdiff_t states = re.size();\n   if(states == 0)\n      states = 1;\n   if ((std::numeric_limits<std::ptrdiff_t>::max)() / states < states)\n   {\n      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);\n      return;\n   }\n   states *= states;\n   if((std::numeric_limits<std::ptrdiff_t>::max)() / dist < states)\n   {\n      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);\n      return;\n   }\n   states *= dist;\n   if((std::numeric_limits<std::ptrdiff_t>::max)() - k < states)\n   {\n      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);\n      return;\n   }\n   states += k;\n\n   max_state_count = states;\n\n   //\n   // Now calculate N^2:\n   //\n   states = dist;\n   if((std::numeric_limits<std::ptrdiff_t>::max)() / dist < states)\n   {\n      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);\n      return;\n   }\n   states *= dist;\n   if((std::numeric_limits<std::ptrdiff_t>::max)() - k < states)\n   {\n      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);\n      return;\n   }\n   states += k;\n   //\n   // N^2 can be a very large number indeed, to prevent things getting out\n   // of control, cap the max states:\n   //\n   if(states > BOOST_REGEX_MAX_STATE_COUNT)\n      states = BOOST_REGEX_MAX_STATE_COUNT;\n   //\n   // If (the possibly capped) N^2 is larger than our first estimate,\n   // use this instead:\n   //\n   if(states > max_state_count)\n      max_state_count = states;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::estimate_max_state_count(void*)\n{\n   // we don't know how long the sequence is:\n   max_state_count = BOOST_REGEX_MAX_STATE_COUNT;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline bool perl_matcher<BidiIterator, Allocator, traits>::match()\n{\n   return match_imp();\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_imp()\n{\n   // initialise our stack if we are non-recursive:\n   save_state_init init(&m_stack_base, &m_backup_state);\n   used_block_count = BOOST_REGEX_MAX_BLOCKS;\n#if !defined(BOOST_NO_EXCEPTIONS)\n   try{\n#endif\n\n   // reset our state machine:\n   position = base;\n   search_base = base;\n   state_count = 0;\n   m_match_flags |= regex_constants::match_all;\n   m_presult->set_size((m_match_flags & match_nosubs) ? 1u : static_cast<typename results_type::size_type>(1u + re.mark_count()), search_base, last);\n   m_presult->set_base(base);\n   m_presult->set_named_subs(this->re.get_named_subs());\n   if(m_match_flags & match_posix)\n      m_result = *m_presult;\n   verify_options(re.flags(), m_match_flags);\n   if(0 == match_prefix())\n      return false;\n   return (m_result[0].second == last) && (m_result[0].first == base);\n\n#if !defined(BOOST_NO_EXCEPTIONS)\n   }\n   catch(...)\n   {\n      // unwind all pushed states, apart from anything else this\n      // ensures that all the states are correctly destructed\n      // not just the memory freed.\n      while(unwind(true)){}\n      throw;\n   }\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline bool perl_matcher<BidiIterator, Allocator, traits>::find()\n{\n   return find_imp();\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::find_imp()\n{\n   static matcher_proc_type const s_find_vtable[7] = \n   {\n      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_any,\n      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_word,\n      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_line,\n      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_buf,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_prefix,\n      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_lit,\n      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_lit,\n   };\n\n   // initialise our stack if we are non-recursive:\n   save_state_init init(&m_stack_base, &m_backup_state);\n   used_block_count = BOOST_REGEX_MAX_BLOCKS;\n#if !defined(BOOST_NO_EXCEPTIONS)\n   try{\n#endif\n\n   state_count = 0;\n   if((m_match_flags & regex_constants::match_init) == 0)\n   {\n      // reset our state machine:\n      search_base = position = base;\n      pstate = re.get_first_state();\n      m_presult->set_size((m_match_flags & match_nosubs) ? 1u : static_cast<typename results_type::size_type>(1u + re.mark_count()), base, last);\n      m_presult->set_base(base);\n      m_presult->set_named_subs(this->re.get_named_subs());\n      m_match_flags |= regex_constants::match_init;\n   }\n   else\n   {\n      // start again:\n      search_base = position = m_result[0].second;\n      // If last match was null and match_not_null was not set then increment\n      // our start position, otherwise we go into an infinite loop:\n      if(((m_match_flags & match_not_null) == 0) && (m_result.length() == 0))\n      {\n         if(position == last)\n            return false;\n         else \n            ++position;\n      }\n      // reset $` start:\n      m_presult->set_size((m_match_flags & match_nosubs) ? 1u : static_cast<typename results_type::size_type>(1u + re.mark_count()), search_base, last);\n      //if((base != search_base) && (base == backstop))\n      //   m_match_flags |= match_prev_avail;\n   }\n   if(m_match_flags & match_posix)\n   {\n      m_result.set_size(static_cast<typename results_type::size_type>(1u + re.mark_count()), base, last);\n      m_result.set_base(base);\n   }\n\n   verify_options(re.flags(), m_match_flags);\n   // find out what kind of expression we have:\n   unsigned type = (m_match_flags & match_continuous) ? \n      static_cast<unsigned int>(regbase::restart_continue) \n         : static_cast<unsigned int>(re.get_restart_type());\n\n   // call the appropriate search routine:\n   matcher_proc_type proc = s_find_vtable[type];\n   return (this->*proc)();\n\n#if !defined(BOOST_NO_EXCEPTIONS)\n   }\n   catch(...)\n   {\n      // unwind all pushed states, apart from anything else this\n      // ensures that all the states are correctly destructed\n      // not just the memory freed.\n      while(unwind(true)){}\n      throw;\n   }\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_prefix()\n{\n   m_has_partial_match = false;\n   m_has_found_match = false;\n   pstate = re.get_first_state();\n   m_presult->set_first(position);\n   restart = position;\n   match_all_states();\n   if(!m_has_found_match && m_has_partial_match && (m_match_flags & match_partial))\n   {\n      m_has_found_match = true;\n      m_presult->set_second(last, 0, false);\n      position = last;\n      if((m_match_flags & match_posix) == match_posix)\n      {\n         m_result.maybe_assign(*m_presult);\n      }\n   }\n#ifdef BOOST_REGEX_MATCH_EXTRA\n   if(m_has_found_match && (match_extra & m_match_flags))\n   {\n      //\n      // we have a match, reverse the capture information:\n      //\n      for(unsigned i = 0; i < m_presult->size(); ++i)\n      {\n         typename sub_match<BidiIterator>::capture_sequence_type & seq = ((*m_presult)[i]).get_captures();\n         std::reverse(seq.begin(), seq.end());\n      }\n   }\n#endif\n   if(!m_has_found_match)\n      position = restart; // reset search postion\n   return m_has_found_match;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_literal()\n{\n   unsigned int len = static_cast<const re_literal*>(pstate)->length;\n   const char_type* what = reinterpret_cast<const char_type*>(static_cast<const re_literal*>(pstate) + 1);\n   //\n   // compare string with what we stored in\n   // our records:\n   for(unsigned int i = 0; i < len; ++i, ++position)\n   {\n      if((position == last) || (traits_inst.translate(*position, icase) != what[i]))\n         return false;\n   }\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_start_line()\n{\n   if(position == backstop)\n   {\n      if((m_match_flags & match_prev_avail) == 0)\n      {\n         if((m_match_flags & match_not_bol) == 0)\n         {\n            pstate = pstate->next.p;\n            return true;\n         }\n         return false;\n      }\n   }\n   else if(m_match_flags & match_single_line)\n      return false;\n\n   // check the previous value character:\n   BidiIterator t(position);\n   --t;\n   if(position != last)\n   {\n      if(is_separator(*t) && !((*t == static_cast<char_type>('\\r')) && (*position == static_cast<char_type>('\\n'))) )\n      {\n         pstate = pstate->next.p;\n         return true;\n      }\n   }\n   else if(is_separator(*t))\n   {\n      pstate = pstate->next.p;\n      return true;\n   }\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_end_line()\n{\n   if(position != last)\n   {\n      if(m_match_flags & match_single_line)\n         return false;\n      // we're not yet at the end so *first is always valid:\n      if(is_separator(*position))\n      {\n         if((position != backstop) || (m_match_flags & match_prev_avail))\n         {\n            // check that we're not in the middle of \\r\\n sequence\n            BidiIterator t(position);\n            --t;\n            if((*t == static_cast<char_type>('\\r')) && (*position == static_cast<char_type>('\\n')))\n            {\n               return false;\n            }\n         }\n         pstate = pstate->next.p;\n         return true;\n      }\n   }\n   else if((m_match_flags & match_not_eol) == 0)\n   {\n      pstate = pstate->next.p;\n      return true;\n   }\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_wild()\n{\n   if(position == last) \n      return false;\n   if(is_separator(*position) && ((match_any_mask & static_cast<const re_dot*>(pstate)->mask) == 0))\n      return false;\n   if((*position == char_type(0)) && (m_match_flags & match_not_dot_null))\n      return false;\n   pstate = pstate->next.p;\n   ++position;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary()\n{\n   bool b; // indcates whether next character is a word character\n   if(position != last)\n   {\n      // prev and this character must be opposites:\n      b = traits_inst.isctype(*position, m_word_mask);\n   }\n   else\n   {\n      if (m_match_flags & match_not_eow)\n         return false;\n      b = false;\n   }\n   if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))\n   {\n      if(m_match_flags & match_not_bow)\n         return false;\n      else\n         b ^= false;\n   }\n   else\n   {\n      --position;\n      b ^= traits_inst.isctype(*position, m_word_mask);\n      ++position;\n   }\n   if(b)\n   {\n      pstate = pstate->next.p;\n      return true;\n   }\n   return false; // no match if we get to here...\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_within_word()\n{\n   bool b = !match_word_boundary();\n   if(b)\n      pstate = pstate->next.p;\n   return b;\n   /*\n   if(position == last)\n      return false;\n   // both prev and this character must be m_word_mask:\n   bool prev = traits_inst.isctype(*position, m_word_mask);\n   {\n      bool b;\n      if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) \n         return false;\n      else\n      {\n         --position;\n         b = traits_inst.isctype(*position, m_word_mask);\n         ++position;\n      }\n      if(b == prev)\n      {\n         pstate = pstate->next.p;\n         return true;\n      }\n   }\n   return false;\n   */\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_word_start()\n{\n   if(position == last)\n      return false; // can't be starting a word if we're already at the end of input\n   if(!traits_inst.isctype(*position, m_word_mask))\n      return false; // next character isn't a word character\n   if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))\n   {\n      if(m_match_flags & match_not_bow)\n         return false; // no previous input\n   }\n   else\n   {\n      // otherwise inside buffer:\n      BidiIterator t(position);\n      --t;\n      if(traits_inst.isctype(*t, m_word_mask))\n         return false; // previous character not non-word\n   }\n   // OK we have a match:\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_word_end()\n{\n   if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))\n      return false;  // start of buffer can't be end of word\n   BidiIterator t(position);\n   --t;\n   if(traits_inst.isctype(*t, m_word_mask) == false)\n      return false;  // previous character wasn't a word character\n\n   if(position == last)\n   {\n      if(m_match_flags & match_not_eow)\n         return false; // end of buffer but not end of word\n   }\n   else\n   {\n      // otherwise inside buffer:\n      if(traits_inst.isctype(*position, m_word_mask))\n         return false; // next character is a word character\n   }\n   pstate = pstate->next.p;\n   return true;      // if we fall through to here then we've succeeded\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_buffer_start()\n{\n   if((position != backstop) || (m_match_flags & match_not_bob))\n      return false;\n   // OK match:\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_buffer_end()\n{\n   if((position != last) || (m_match_flags & match_not_eob))\n      return false;\n   // OK match:\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_backref()\n{\n   //\n   // Compare with what we previously matched.\n   // Note that this succeeds if the backref did not partisipate\n   // in the match, this is in line with ECMAScript, but not Perl\n   // or PCRE.\n   //\n   int index = static_cast<const re_brace*>(pstate)->index;\n   if(index >= hash_value_mask)\n   {\n      named_subexpressions::range_type r = re.get_data().equal_range(index);\n      BOOST_REGEX_ASSERT(r.first != r.second);\n      do\n      {\n         index = r.first->index;\n         ++r.first;\n      }while((r.first != r.second) && ((*m_presult)[index].matched != true));\n   }\n\n   if((m_match_flags & match_perl) && !(*m_presult)[index].matched)\n      return false;\n\n   BidiIterator i = (*m_presult)[index].first;\n   BidiIterator j = (*m_presult)[index].second;\n   while(i != j)\n   {\n      if((position == last) || (traits_inst.translate(*position, icase) != traits_inst.translate(*i, icase)))\n         return false;\n      ++i;\n      ++position;\n   }\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_long_set()\n{\n   typedef typename traits::char_class_type char_class_type;\n   // let the traits class do the work:\n   if(position == last)\n      return false;\n   BidiIterator t = re_is_set_member(position, last, static_cast<const re_set_long<char_class_type>*>(pstate), re.get_data(), icase);\n   if(t != position)\n   {\n      pstate = pstate->next.p;\n      position = t;\n      return true;\n   }\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_set()\n{\n   if(position == last)\n      return false;\n   if(static_cast<const re_set*>(pstate)->_map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])\n   {\n      pstate = pstate->next.p;\n      ++position;\n      return true;\n   }\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_jump()\n{\n   pstate = static_cast<const re_jump*>(pstate)->alt.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_combining()\n{\n   if(position == last)\n      return false;\n   if(is_combining(traits_inst.translate(*position, icase)))\n      return false;\n   ++position;\n   while((position != last) && is_combining(traits_inst.translate(*position, icase)))\n      ++position;\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_soft_buffer_end()\n{\n   if(m_match_flags & match_not_eob)\n      return false;\n   BidiIterator p(position);\n   while((p != last) && is_separator(traits_inst.translate(*p, icase)))++p;\n   if(p != last)\n      return false;\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_restart_continue()\n{\n   if(position == search_base)\n   {\n      pstate = pstate->next.p;\n      return true;\n   }\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_backstep()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n   if( ::boost::is_random_access_iterator<BidiIterator>::value)\n   {\n      std::ptrdiff_t maxlen = std::distance(backstop, position);\n      if(maxlen < static_cast<const re_brace*>(pstate)->index)\n         return false;\n      std::advance(position, -static_cast<const re_brace*>(pstate)->index);\n   }\n   else\n   {\n      int c = static_cast<const re_brace*>(pstate)->index;\n      while(c--)\n      {\n         if(position == backstop)\n            return false;\n         --position;\n      }\n   }\n   pstate = pstate->next.p;\n   return true;\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline bool perl_matcher<BidiIterator, Allocator, traits>::match_assert_backref()\n{\n   // return true if marked sub-expression N has been matched:\n   int index = static_cast<const re_brace*>(pstate)->index;\n   bool result = false;\n   if(index == 9999)\n   {\n      // Magic value for a (DEFINE) block:\n      return false;\n   }\n   else if(index > 0)\n   {\n      // Have we matched subexpression \"index\"?\n      // Check if index is a hash value:\n      if(index >= hash_value_mask)\n      {\n         named_subexpressions::range_type r = re.get_data().equal_range(index);\n         while(r.first != r.second)\n         {\n            if((*m_presult)[r.first->index].matched)\n            {\n               result = true;\n               break;\n            }\n            ++r.first;\n         }\n      }\n      else\n      {\n         result = (*m_presult)[index].matched;\n      }\n      pstate = pstate->next.p;\n   }\n   else\n   {\n      // Have we recursed into subexpression \"index\"?\n      // If index == 0 then check for any recursion at all, otherwise for recursion to -index-1.\n      int idx = -(index+1);\n      if(idx >= hash_value_mask)\n      {\n         named_subexpressions::range_type r = re.get_data().equal_range(idx);\n         int stack_index = recursion_stack.empty() ? -1 : recursion_stack.back().idx;\n         while(r.first != r.second)\n         {\n            result |= (stack_index == r.first->index);\n            if(result)break;\n            ++r.first;\n         }\n      }\n      else\n      {\n         result = !recursion_stack.empty() && ((recursion_stack.back().idx == idx) || (index == 0));\n      }\n      pstate = pstate->next.p;\n   }\n   return result;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_fail()\n{\n   // Just force a backtrack:\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_accept()\n{\n   if(!recursion_stack.empty())\n   {\n      return skip_until_paren(recursion_stack.back().idx);\n   }\n   else\n   {\n      return skip_until_paren(INT_MAX);\n   }\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::find_restart_any()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n   const unsigned char* _map = re.get_map();\n   while(true)\n   {\n      // skip everything we can't match:\n      while((position != last) && !can_start(*position, _map, (unsigned char)mask_any) )\n         ++position;\n      if(position == last)\n      {\n         // run out of characters, try a null match if possible:\n         if(re.can_be_null())\n            return match_prefix();\n         break;\n      }\n      // now try and obtain a match:\n      if(match_prefix())\n         return true;\n      if(position == last)\n         return false;\n      ++position;\n   }\n   return false;\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::find_restart_word()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n   // do search optimised for word starts:\n   const unsigned char* _map = re.get_map();\n   if((m_match_flags & match_prev_avail) || (position != base))\n      --position;\n   else if(match_prefix())\n      return true;\n   do\n   {\n      while((position != last) && traits_inst.isctype(*position, m_word_mask))\n         ++position;\n      while((position != last) && !traits_inst.isctype(*position, m_word_mask))\n         ++position;\n      if(position == last)\n         break;\n\n      if(can_start(*position, _map, (unsigned char)mask_any) )\n      {\n         if(match_prefix())\n            return true;\n      }\n      if(position == last)\n         break;\n   } while(true);\n   return false;\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::find_restart_line()\n{\n   // do search optimised for line starts:\n   const unsigned char* _map = re.get_map();\n   if(match_prefix())\n      return true;\n   while(position != last)\n   {\n      while((position != last) && !is_separator(*position))\n         ++position;\n      if(position == last)\n         return false;\n      ++position;\n      if(position == last)\n      {\n         if(re.can_be_null() && match_prefix())\n            return true;\n         return false;\n      }\n\n      if( can_start(*position, _map, (unsigned char)mask_any) )\n      {\n         if(match_prefix())\n            return true;\n      }\n      if(position == last)\n         return false;\n      //++position;\n   }\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::find_restart_buf()\n{\n   if((position == base) && ((m_match_flags & match_not_bob) == 0))\n      return match_prefix();\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::find_restart_lit()\n{\n   return false;\n}\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\n} // namespace boost\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/perl_matcher_non_recursive.hpp",
    "content": "/*\n *\n * Copyright (c) 2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         perl_matcher_common.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Definitions of perl_matcher member functions that are \n  *                specific to the non-recursive implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP\n#define BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP\n\n#include <boost/regex/v5/mem_block_cache.hpp>\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#  pragma warning(disable: 4706 4459)\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class T>\ninline void inplace_destroy(T* p)\n{\n   (void)p;  // warning suppression\n   p->~T();\n}\n\nstruct saved_state\n{\n   union{\n      unsigned int state_id;\n      // this padding ensures correct alignment on 64-bit platforms:\n      std::size_t padding1;\n      std::ptrdiff_t padding2;\n      void* padding3;\n   };\n   saved_state(unsigned i) : state_id(i) {}\n};\n\ntemplate <class BidiIterator>\nstruct saved_matched_paren : public saved_state\n{\n   int index;\n   sub_match<BidiIterator> sub;\n   saved_matched_paren(int i, const sub_match<BidiIterator>& s) : saved_state(1), index(i), sub(s){}\n};\n\ntemplate <class BidiIterator>\nstruct saved_position : public saved_state\n{\n   const re_syntax_base* pstate;\n   BidiIterator position;\n   saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){}\n};\n\ntemplate <class BidiIterator>\nstruct saved_assertion : public saved_position<BidiIterator>\n{\n   bool positive;\n   saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos) \n      : saved_position<BidiIterator>(ps, pos, saved_type_assertion), positive(p){}\n};\n\ntemplate <class BidiIterator>\nstruct saved_repeater : public saved_state\n{\n   repeater_count<BidiIterator> count;\n   saved_repeater(int i, repeater_count<BidiIterator>** s, BidiIterator start, int current_recursion_id)\n      : saved_state(saved_state_repeater_count), count(i, s, start, current_recursion_id){}\n};\n\nstruct saved_extra_block : public saved_state\n{\n   saved_state *base, *end;\n   saved_extra_block(saved_state* b, saved_state* e) \n      : saved_state(saved_state_extra_block), base(b), end(e) {}\n};\n\nstruct save_state_init\n{\n   saved_state** stack;\n   save_state_init(saved_state** base, saved_state** end)\n      : stack(base)\n   {\n      *base = static_cast<saved_state*>(get_mem_block());\n      *end = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(*base)+BOOST_REGEX_BLOCKSIZE);\n      --(*end);\n      (void) new (*end)saved_state(0);\n      BOOST_REGEX_ASSERT(*end > *base);\n   }\n   ~save_state_init()\n   {\n      put_mem_block(*stack);\n      *stack = 0;\n   }\n};\n\ntemplate <class BidiIterator>\nstruct saved_single_repeat : public saved_state\n{\n   std::size_t count;\n   const re_repeat* rep;\n   BidiIterator last_position;\n   saved_single_repeat(std::size_t c, const re_repeat* r, BidiIterator lp, int arg_id) \n      : saved_state(arg_id), count(c), rep(r), last_position(lp){}\n};\n\ntemplate <class Results>\nstruct saved_recursion : public saved_state\n{\n   saved_recursion(int idx, const re_syntax_base* p, Results* pr, Results* pr2) \n      : saved_state(14), recursion_id(idx), preturn_address(p), internal_results(*pr), prior_results(*pr2) {}\n   int recursion_id;\n   const re_syntax_base* preturn_address;\n   Results internal_results, prior_results;\n};\n\nstruct saved_change_case : public saved_state\n{\n   bool icase;\n   saved_change_case(bool c) : saved_state(18), icase(c) {}\n};\n\nstruct incrementer\n{\n   incrementer(unsigned* pu) : m_pu(pu) { ++*m_pu; }\n   ~incrementer() { --*m_pu; }\n   bool operator > (unsigned i) { return *m_pu > i; }\nprivate:\n   unsigned* m_pu;\n};\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_all_states()\n{\n   static matcher_proc_type const s_match_vtable[34] = \n   {\n      (&perl_matcher<BidiIterator, Allocator, traits>::match_startmark),\n      &perl_matcher<BidiIterator, Allocator, traits>::match_endmark,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_literal,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_start_line,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_end_line,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_wild,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_match,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_within_word,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_word_start,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_word_end,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_buffer_start,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_buffer_end,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_backref,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_long_set,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_set,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_jump,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_alt,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_rep,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_combining,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_soft_buffer_end,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_restart_continue,\n      // Although this next line *should* be evaluated at compile time, in practice\n      // some compilers (VC++) emit run-time initialisation which breaks thread\n      // safety, so use a dispatch function instead:\n      //(::boost::is_random_access_iterator<BidiIterator>::value ? &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast : &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow),\n      &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_dispatch,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_backstep,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_assert_backref,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_toggle_case,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_recursion,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_fail,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_accept,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_commit,\n      &perl_matcher<BidiIterator, Allocator, traits>::match_then,\n   };\n   incrementer inc(&m_recursions);\n   if(inc > 80)\n      raise_error(traits_inst, regex_constants::error_complexity);\n   push_recursion_stopper();\n   do{\n      while(pstate)\n      {\n         matcher_proc_type proc = s_match_vtable[pstate->type];\n         ++state_count;\n         if(!(this->*proc)())\n         {\n            if(state_count > max_state_count)\n               raise_error(traits_inst, regex_constants::error_complexity);\n            if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n               m_has_partial_match = true;\n            bool successful_unwind = unwind(false);\n            if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n               m_has_partial_match = true;\n            if(!successful_unwind)\n               return m_recursive_result;\n         }\n      }\n   }while(unwind(true));\n   return m_recursive_result;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nvoid perl_matcher<BidiIterator, Allocator, traits>::extend_stack()\n{\n   if(used_block_count)\n   {\n      --used_block_count;\n      saved_state* stack_base;\n      saved_state* backup_state;\n      stack_base = static_cast<saved_state*>(get_mem_block());\n      backup_state = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(stack_base)+BOOST_REGEX_BLOCKSIZE);\n      saved_extra_block* block = static_cast<saved_extra_block*>(backup_state);\n      --block;\n      (void) new (block) saved_extra_block(m_stack_base, m_backup_state);\n      m_stack_base = stack_base;\n      m_backup_state = block;\n   }\n   else\n      raise_error(traits_inst, regex_constants::error_stack);\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_matched_paren(int index, const sub_match<BidiIterator>& sub)\n{\n   //BOOST_REGEX_ASSERT(index);\n   saved_matched_paren<BidiIterator>* pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_matched_paren<BidiIterator>(index, sub);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_case_change(bool c)\n{\n   //BOOST_REGEX_ASSERT(index);\n   saved_change_case* pmp = static_cast<saved_change_case*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_change_case*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_change_case(c);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion_stopper()\n{\n   saved_state* pmp = m_backup_state;\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = m_backup_state;\n      --pmp;\n   }\n   (void) new (pmp)saved_state(saved_type_recurse);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_assertion(const re_syntax_base* ps, bool positive)\n{\n   saved_assertion<BidiIterator>* pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_assertion<BidiIterator>(positive, ps, position);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_alt(const re_syntax_base* ps)\n{\n   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_position<BidiIterator>(ps, position, saved_state_alt);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_non_greedy_repeat(const re_syntax_base* ps)\n{\n   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_position<BidiIterator>(ps, position, saved_state_non_greedy_long_repeat);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_repeater_count(int i, repeater_count<BidiIterator>** s)\n{\n   saved_repeater<BidiIterator>* pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_repeater<BidiIterator>(i, s, position, this->recursion_stack.empty() ? (INT_MIN + 3) : this->recursion_stack.back().idx);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id)\n{\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_single_repeat<BidiIterator>(c, r, last_position, state_id);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion(int idx, const re_syntax_base* p, results_type* presults, results_type* presults2)\n{\n   saved_recursion<results_type>* pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_recursion<results_type>(idx, p, presults, presults2);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_toggle_case()\n{\n   // change our case sensitivity:\n   push_case_change(this->icase);\n   this->icase = static_cast<const re_case*>(pstate)->icase;\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_startmark()\n{\n   int index = static_cast<const re_brace*>(pstate)->index;\n   icase = static_cast<const re_brace*>(pstate)->icase;\n   switch(index)\n   {\n   case 0:\n      pstate = pstate->next.p;\n      break;\n   case -1:\n   case -2:\n      {\n         // forward lookahead assert:\n         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;\n         pstate = pstate->next.p->next.p;\n         push_assertion(next_pstate, index == -1);\n         break;\n      }\n   case -3:\n      {\n         // independent sub-expression, currently this is always recursive:\n         bool old_independent = m_independent;\n         m_independent = true;\n         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;\n         pstate = pstate->next.p->next.p;\n         bool r = false;\n#if !defined(BOOST_NO_EXCEPTIONS)\n      try{\n#endif\n         r = match_all_states();\n         if(!r && !m_independent)\n         {\n            // Must be unwinding from a COMMIT/SKIP/PRUNE and the independent \n            // sub failed, need to unwind everything else:\n            while (m_backup_state->state_id)\n               unwind(false);\n            return false;\n         }\n#if !defined(BOOST_NO_EXCEPTIONS)\n      }\n      catch(...)\n      {\n         pstate = next_pstate;\n         // unwind all pushed states, apart from anything else this\n         // ensures that all the states are correctly destructed\n         // not just the memory freed.\n         while(unwind(true)) {}\n         throw;\n      }\n#endif\n      pstate = next_pstate;\n      m_independent = old_independent;\n#ifdef BOOST_REGEX_MATCH_EXTRA\n         if(r && (m_match_flags & match_extra))\n         {\n            //\n            // our captures have been stored in *m_presult\n            // we need to unpack them, and insert them\n            // back in the right order when we unwind the stack:\n            //\n            match_results<BidiIterator, Allocator> temp_match(*m_presult);\n            unsigned i;\n            for(i = 0; i < temp_match.size(); ++i)\n               (*m_presult)[i].get_captures().clear();\n            // match everything else:\n#if !defined(BOOST_NO_EXCEPTIONS)\n            try{\n#endif\n               r = match_all_states();\n#if !defined(BOOST_NO_EXCEPTIONS)\n            }\n            catch(...)\n            {\n               pstate = next_pstate;\n               // unwind all pushed states, apart from anything else this\n               // ensures that all the states are correctly destructed\n               // not just the memory freed.\n               while(unwind(true)) {}\n               throw;\n            }\n#endif\n         // now place the stored captures back:\n            for(i = 0; i < temp_match.size(); ++i)\n            {\n               typedef typename sub_match<BidiIterator>::capture_sequence_type seq;\n               seq& s1 = (*m_presult)[i].get_captures();\n               const seq& s2 = temp_match[i].captures();\n               s1.insert(\n                  s1.end(), \n                  s2.begin(), \n                  s2.end());\n            }\n         }\n#endif\n         return r;\n      }\n   case -4:\n      {\n      // conditional expression:\n      const re_alt* alt = static_cast<const re_alt*>(pstate->next.p);\n      BOOST_REGEX_ASSERT(alt->type == syntax_element_alt);\n      pstate = alt->next.p;\n      if(pstate->type == syntax_element_assert_backref)\n      {\n         if(!match_assert_backref())\n            pstate = alt->alt.p;\n         break;\n      }\n      else\n      {\n         // zero width assertion, have to match this recursively:\n         BOOST_REGEX_ASSERT(pstate->type == syntax_element_startmark);\n         bool negated = static_cast<const re_brace*>(pstate)->index == -2;\n         BidiIterator saved_position = position;\n         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;\n         pstate = pstate->next.p->next.p;\n#if !defined(BOOST_NO_EXCEPTIONS)\n         try{\n#endif\n            bool r = match_all_states();\n            position = saved_position;\n            if(negated)\n               r = !r;\n            if(r)\n               pstate = next_pstate;\n            else\n               pstate = alt->alt.p;\n#if !defined(BOOST_NO_EXCEPTIONS)\n         }\n         catch(...)\n         {\n            pstate = next_pstate;\n            // unwind all pushed states, apart from anything else this\n            // ensures that all the states are correctly destructed\n            // not just the memory freed.\n            while(unwind(true)){}\n            throw;\n         }\n#endif\n         break;\n      }\n      }\n   case -5:\n      {\n         push_matched_paren(0, (*m_presult)[0]);\n         m_presult->set_first(position, 0, true);\n         pstate = pstate->next.p;\n         break;\n      }\n   default:\n   {\n      BOOST_REGEX_ASSERT(index > 0);\n      if((m_match_flags & match_nosubs) == 0)\n      {\n         push_matched_paren(index, (*m_presult)[index]);\n         m_presult->set_first(position, index);\n      }\n      pstate = pstate->next.p;\n      break;\n   }\n   }\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_alt()\n{\n   bool take_first, take_second;\n   const re_alt* jmp = static_cast<const re_alt*>(pstate);\n\n   // find out which of these two alternatives we need to take:\n   if(position == last)\n   {\n      take_first = jmp->can_be_null & mask_take;\n      take_second = jmp->can_be_null & mask_skip;\n   }\n   else\n   {\n      take_first = can_start(*position, jmp->_map, (unsigned char)mask_take);\n      take_second = can_start(*position, jmp->_map, (unsigned char)mask_skip);\n  }\n\n   if(take_first)\n   {\n      // we can take the first alternative,\n      // see if we need to push next alternative:\n      if(take_second)\n      {\n         push_alt(jmp->alt.p);\n      }\n      pstate = pstate->next.p;\n      return true;\n   }\n   if(take_second)\n   {\n      pstate = jmp->alt.p;\n      return true;\n   }\n   return false;  // neither option is possible\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_rep()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127 4244)\n#endif\n#ifdef BOOST_BORLANDC\n#pragma option push -w-8008 -w-8066 -w-8004\n#endif\n   const re_repeat* rep = static_cast<const re_repeat*>(pstate);\n\n   // find out which of these two alternatives we need to take:\n   bool take_first, take_second;\n   if(position == last)\n   {\n      take_first = rep->can_be_null & mask_take;\n      take_second = rep->can_be_null & mask_skip;\n   }\n   else\n   {\n      take_first = can_start(*position, rep->_map, (unsigned char)mask_take);\n      take_second = can_start(*position, rep->_map, (unsigned char)mask_skip);\n   }\n\n   if((m_backup_state->state_id != saved_state_repeater_count) \n      || (static_cast<saved_repeater<BidiIterator>*>(m_backup_state)->count.get_id() != rep->state_id)\n      || (next_count->get_id() != rep->state_id))\n   {\n      // we're moving to a different repeat from the last\n      // one, so set up a counter object:\n      push_repeater_count(rep->state_id, &next_count);\n   }\n   //\n   // If we've had at least one repeat already, and the last one \n   // matched the NULL string then set the repeat count to\n   // maximum:\n   //\n   next_count->check_null_repeat(position, rep->max);\n\n   if(next_count->get_count() < rep->min)\n   {\n      // we must take the repeat:\n      if(take_first)\n      {\n         // increase the counter:\n         ++(*next_count);\n         pstate = rep->next.p;\n         return true;\n      }\n      return false;\n   }\n\n   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   \n   if(greedy)\n   {\n      // try and take the repeat if we can:\n      if((next_count->get_count() < rep->max) && take_first)\n      {\n         if(take_second)\n         {\n            // store position in case we fail:\n            push_alt(rep->alt.p);\n         }\n         // increase the counter:\n         ++(*next_count);\n         pstate = rep->next.p;\n         return true;\n      }\n      else if(take_second)\n      {\n         pstate = rep->alt.p;\n         return true;\n      }\n      return false; // can't take anything, fail...\n   }\n   else // non-greedy\n   {\n      // try and skip the repeat if we can:\n      if(take_second)\n      {\n         if((next_count->get_count() < rep->max) && take_first)\n         {\n            // store position in case we fail:\n            push_non_greedy_repeat(rep->next.p);\n         }\n         pstate = rep->alt.p;\n         return true;\n      }\n      if((next_count->get_count() < rep->max) && take_first)\n      {\n         // increase the counter:\n         ++(*next_count);\n         pstate = rep->next.p;\n         return true;\n      }\n   }\n   return false;\n#ifdef BOOST_BORLANDC\n#pragma option pop\n#endif\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow()\n{\n   std::size_t count = 0;\n   const re_repeat* rep = static_cast<const re_repeat*>(pstate);\n   re_syntax_base* psingle = rep->next.p;\n   // match compulsory repeats first:\n   while(count < rep->min)\n   {\n      pstate = psingle;\n      if(!match_wild())\n         return false;\n      ++count;\n   }\n   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   \n   if(greedy)\n   {\n      // repeat for as long as we can:\n      while(count < rep->max)\n      {\n         pstate = psingle;\n         if(!match_wild())\n            break;\n         ++count;\n      }\n      // remember where we got to if this is a leading repeat:\n      if((rep->leading) && (count < rep->max))\n         restart = position;\n      // push backtrack info if available:\n      if(count - rep->min)\n         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);\n      // jump to next state:\n      pstate = rep->alt.p;\n      return true;\n   }\n   else\n   {\n      // non-greedy, push state and return true if we can skip:\n      if(count < rep->max)\n         push_single_repeat(count, rep, position, saved_state_rep_slow_dot);\n      pstate = rep->alt.p;\n      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);\n   }\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast()\n{\n   if(m_match_flags & match_not_dot_null)\n      return match_dot_repeat_slow();\n   if((static_cast<const re_dot*>(pstate->next.p)->mask & match_any_mask) == 0)\n      return match_dot_repeat_slow();\n\n   const re_repeat* rep = static_cast<const re_repeat*>(pstate);\n   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   \n   std::size_t count = static_cast<std::size_t>((std::min)(static_cast<std::size_t>(std::distance(position, last)), greedy ? rep->max : rep->min));\n   if(rep->min > count)\n   {\n      position = last;\n      return false;  // not enough text left to match\n   }\n   std::advance(position, count);\n\n   if(greedy)\n   {\n      if((rep->leading) && (count < rep->max))\n         restart = position;\n      // push backtrack info if available:\n      if(count - rep->min)\n         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);\n      // jump to next state:\n      pstate = rep->alt.p;\n      return true;\n   }\n   else\n   {\n      // non-greedy, push state and return true if we can skip:\n      if(count < rep->max)\n         push_single_repeat(count, rep, position, saved_state_rep_fast_dot);\n      pstate = rep->alt.p;\n      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);\n   }\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n#ifdef BOOST_BORLANDC\n#pragma option push -w-8008 -w-8066 -w-8004\n#endif\n   const re_repeat* rep = static_cast<const re_repeat*>(pstate);\n   BOOST_REGEX_ASSERT(1 == static_cast<const re_literal*>(rep->next.p)->length);\n   const char_type what = *reinterpret_cast<const char_type*>(static_cast<const re_literal*>(rep->next.p) + 1);\n   std::size_t count = 0;\n   //\n   // start by working out how much we can skip:\n   //\n   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   \n   std::size_t desired = greedy ? rep->max : rep->min;\n   if(::boost::is_random_access_iterator<BidiIterator>::value)\n   {\n      BidiIterator end = position;\n      // Move end forward by \"desired\", preferably without using distance or advance if we can\n      // as these can be slow for some iterator types.\n      std::size_t len = (desired == (std::numeric_limits<std::size_t>::max)()) ? 0u : std::distance(position, last);\n      if(desired >= len)\n         end = last;\n      else\n         std::advance(end, desired);\n      BidiIterator origin(position);\n      while((position != end) && (traits_inst.translate(*position, icase) == what))\n      {\n         ++position;\n      }\n      count = (unsigned)std::distance(origin, position);\n   }\n   else\n   {\n      while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what))\n      {\n         ++position;\n         ++count;\n      }\n   }\n\n   if(count < rep->min)\n      return false;\n\n   if(greedy)\n   {\n      if((rep->leading) && (count < rep->max))\n         restart = position;\n      // push backtrack info if available:\n      if(count - rep->min)\n         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);\n      // jump to next state:\n      pstate = rep->alt.p;\n      return true;\n   }\n   else\n   {\n      // non-greedy, push state and return true if we can skip:\n      if(count < rep->max)\n         push_single_repeat(count, rep, position, saved_state_rep_char);\n      pstate = rep->alt.p;\n      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);\n   }\n#ifdef BOOST_BORLANDC\n#pragma option pop\n#endif\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n#ifdef BOOST_BORLANDC\n#pragma option push -w-8008 -w-8066 -w-8004\n#endif\n   const re_repeat* rep = static_cast<const re_repeat*>(pstate);\n   const unsigned char* map = static_cast<const re_set*>(rep->next.p)->_map;\n   std::size_t count = 0;\n   //\n   // start by working out how much we can skip:\n   //\n   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   \n   std::size_t desired = greedy ? rep->max : rep->min;\n   if(::boost::is_random_access_iterator<BidiIterator>::value)\n   {\n      BidiIterator end = position;\n      // Move end forward by \"desired\", preferably without using distance or advance if we can\n      // as these can be slow for some iterator types.\n      std::size_t len = (desired == (std::numeric_limits<std::size_t>::max)()) ? 0u : std::distance(position, last);\n      if(desired >= len)\n         end = last;\n      else\n         std::advance(end, desired);\n      BidiIterator origin(position);\n      while((position != end) && map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])\n      {\n         ++position;\n      }\n      count = (unsigned)std::distance(origin, position);\n   }\n   else\n   {\n      while((count < desired) && (position != last) && map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])\n      {\n         ++position;\n         ++count;\n      }\n   }\n\n   if(count < rep->min)\n      return false;\n\n   if(greedy)\n   {\n      if((rep->leading) && (count < rep->max))\n         restart = position;\n      // push backtrack info if available:\n      if(count - rep->min)\n         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);\n      // jump to next state:\n      pstate = rep->alt.p;\n      return true;\n   }\n   else\n   {\n      // non-greedy, push state and return true if we can skip:\n      if(count < rep->max)\n         push_single_repeat(count, rep, position, saved_state_rep_short_set);\n      pstate = rep->alt.p;\n      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);\n   }\n#ifdef BOOST_BORLANDC\n#pragma option pop\n#endif\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat()\n{\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4127)\n#endif\n#ifdef BOOST_BORLANDC\n#pragma option push -w-8008 -w-8066 -w-8004\n#endif\n   typedef typename traits::char_class_type m_type;\n   const re_repeat* rep = static_cast<const re_repeat*>(pstate);\n   const re_set_long<m_type>* set = static_cast<const re_set_long<m_type>*>(pstate->next.p);\n   std::size_t count = 0;\n   //\n   // start by working out how much we can skip:\n   //\n   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   \n   std::size_t desired = greedy ? rep->max : rep->min;\n   if(::boost::is_random_access_iterator<BidiIterator>::value)\n   {\n      BidiIterator end = position;\n      // Move end forward by \"desired\", preferably without using distance or advance if we can\n      // as these can be slow for some iterator types.\n      std::size_t len = (desired == (std::numeric_limits<std::size_t>::max)()) ? 0u : std::distance(position, last);\n      if(desired >= len)\n         end = last;\n      else\n         std::advance(end, desired);\n      BidiIterator origin(position);\n      while((position != end) && (position != re_is_set_member(position, last, set, re.get_data(), icase)))\n      {\n         ++position;\n      }\n      count = (unsigned)std::distance(origin, position);\n   }\n   else\n   {\n      while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re.get_data(), icase)))\n      {\n         ++position;\n         ++count;\n      }\n   }\n\n   if(count < rep->min)\n      return false;\n\n   if(greedy)\n   {\n      if((rep->leading) && (count < rep->max))\n         restart = position;\n      // push backtrack info if available:\n      if(count - rep->min)\n         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);\n      // jump to next state:\n      pstate = rep->alt.p;\n      return true;\n   }\n   else\n   {\n      // non-greedy, push state and return true if we can skip:\n      if(count < rep->max)\n         push_single_repeat(count, rep, position, saved_state_rep_long_set);\n      pstate = rep->alt.p;\n      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);\n   }\n#ifdef BOOST_BORLANDC\n#pragma option pop\n#endif\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_recursion()\n{\n   BOOST_REGEX_ASSERT(pstate->type == syntax_element_recurse);\n   //\n   // See if we've seen this recursion before at this location, if we have then\n   // we need to prevent infinite recursion:\n   //\n   for(typename std::vector<recursion_info<results_type> >::reverse_iterator i = recursion_stack.rbegin(); i != recursion_stack.rend(); ++i)\n   {\n      if(i->idx == static_cast<const re_brace*>(static_cast<const re_jump*>(pstate)->alt.p)->index)\n      {\n         if(i->location_of_start == position)\n            return false;\n         break;\n      }\n   }\n   //\n   // Backup call stack:\n   //\n   push_recursion_pop();\n   //\n   // Set new call stack:\n   //\n   if(recursion_stack.capacity() == 0)\n   {\n      recursion_stack.reserve(50);\n   }\n   recursion_stack.push_back(recursion_info<results_type>());\n   recursion_stack.back().preturn_address = pstate->next.p;\n   recursion_stack.back().results = *m_presult;\n   pstate = static_cast<const re_jump*>(pstate)->alt.p;\n   recursion_stack.back().idx = static_cast<const re_brace*>(pstate)->index;\n   recursion_stack.back().location_of_start = position;\n   //if(static_cast<const re_recurse*>(pstate)->state_id > 0)\n   {\n      push_repeater_count(-(2 + static_cast<const re_brace*>(pstate)->index), &next_count);\n   }\n\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_endmark()\n{\n   int index = static_cast<const re_brace*>(pstate)->index;\n   icase = static_cast<const re_brace*>(pstate)->icase;\n   if(index > 0)\n   {\n      if((m_match_flags & match_nosubs) == 0)\n      {\n         m_presult->set_second(position, index);\n      }\n      if(!recursion_stack.empty())\n      {\n         if(index == recursion_stack.back().idx)\n         {\n            pstate = recursion_stack.back().preturn_address;\n            *m_presult = recursion_stack.back().results;\n            push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, m_presult, &recursion_stack.back().results);\n            recursion_stack.pop_back();\n            push_repeater_count(-(2 + index), &next_count);\n         }\n      }\n   }\n   else if((index < 0) && (index != -4))\n   {\n      // matched forward lookahead:\n      pstate = 0;\n      return true;\n   }\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_match()\n{\n   if(!recursion_stack.empty())\n   {\n      BOOST_REGEX_ASSERT(0 == recursion_stack.back().idx);\n      pstate = recursion_stack.back().preturn_address;\n      push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, m_presult, &recursion_stack.back().results);\n      *m_presult = recursion_stack.back().results;\n      recursion_stack.pop_back();\n      return true;\n   }\n   if((m_match_flags & match_not_null) && (position == (*m_presult)[0].first))\n      return false;\n   if((m_match_flags & match_all) && (position != last))\n      return false;\n   if((m_match_flags & regex_constants::match_not_initial_null) && (position == search_base))\n      return false;\n   m_presult->set_second(position);\n   pstate = 0;\n   m_has_found_match = true;\n   if((m_match_flags & match_posix) == match_posix)\n   {\n      m_result.maybe_assign(*m_presult);\n      if((m_match_flags & match_any) == 0)\n         return false;\n   }\n#ifdef BOOST_REGEX_MATCH_EXTRA\n   if(match_extra & m_match_flags)\n   {\n      for(unsigned i = 0; i < m_presult->size(); ++i)\n         if((*m_presult)[i].matched)\n            ((*m_presult)[i]).get_captures().push_back((*m_presult)[i]);\n   }\n#endif\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_commit()\n{\n   // Ideally we would just junk all the states that are on the stack,\n   // however we might not unwind correctly in that case, so for now,\n   // just mark that we don't backtrack into whatever is left (or rather\n   // we'll unwind it unconditionally without pausing to try other matches).\n\n   switch(static_cast<const re_commit*>(pstate)->action)\n   {\n   case commit_commit:\n      restart = last;\n      break;\n   case commit_skip:\n      if(base != position)\n      {\n         restart = position;\n         // Have to decrement restart since it will get incremented again later:\n         --restart;\n      }\n      break;\n   case commit_prune:\n      break;\n   }\n\n   saved_state* pmp = m_backup_state;\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = m_backup_state;\n      --pmp;\n   }\n   (void) new (pmp)saved_state(16);\n   m_backup_state = pmp;\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::match_then()\n{\n   // Just leave a mark that we need to skip to next alternative:\n   saved_state* pmp = m_backup_state;\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = m_backup_state;\n      --pmp;\n   }\n   (void) new (pmp)saved_state(17);\n   m_backup_state = pmp;\n   pstate = pstate->next.p;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::skip_until_paren(int index, bool have_match)\n{\n   while(pstate)\n   {\n      if(pstate->type == syntax_element_endmark)\n      {\n         if(static_cast<const re_brace*>(pstate)->index == index)\n         {\n            if(have_match)\n               return this->match_endmark();\n            pstate = pstate->next.p;\n            return true;\n         }\n         else\n         {\n            // Unenclosed closing ), occurs when (*ACCEPT) is inside some other \n            // parenthesis which may or may not have other side effects associated with it.\n            const re_syntax_base* sp = pstate;\n            match_endmark();\n            if(!pstate)\n            {\n               unwind(true);\n               // unwind may leave pstate NULL if we've unwound a forward lookahead, in which\n               // case just move to the next state and keep looking...\n               if (!pstate)\n                  pstate = sp->next.p;\n            }\n         }\n         continue;\n      }\n      else if(pstate->type == syntax_element_match)\n         return true;\n      else if(pstate->type == syntax_element_startmark)\n      {\n         int idx = static_cast<const re_brace*>(pstate)->index;\n         pstate = pstate->next.p;\n         skip_until_paren(idx, false);\n         continue;\n      }\n      pstate = pstate->next.p;\n   }\n   return true;\n}\n\n/****************************************************************************\n\nUnwind and associated procedures follow, these perform what normal stack\nunwinding does in the recursive implementation.\n\n****************************************************************************/\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind(bool have_match)\n{\n   static unwind_proc_type const s_unwind_table[19] = \n   {\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_end,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_paren,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_stopper,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_assertion,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_alt,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_repeater_counter,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_extra_block,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_greedy_single_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_slow_dot_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_fast_dot_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_char_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_short_set_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_long_set_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_non_greedy_repeat,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_pop,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_commit,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_then,\n      &perl_matcher<BidiIterator, Allocator, traits>::unwind_case,\n   };\n\n   m_recursive_result = have_match;\n   m_unwound_lookahead = false;\n   m_unwound_alt = false;\n   unwind_proc_type unwinder;\n   bool cont;\n   //\n   // keep unwinding our stack until we have something to do:\n   //\n   do\n   {\n      unwinder = s_unwind_table[m_backup_state->state_id];\n      cont = (this->*unwinder)(m_recursive_result);\n   }while(cont);\n   //\n   // return true if we have more states to try:\n   //\n   return pstate ? true : false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_end(bool)\n{\n   pstate = 0;   // nothing left to search\n   return false; // end of stack nothing more to search\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_case(bool)\n{\n   saved_change_case* pmp = static_cast<saved_change_case*>(m_backup_state);\n   icase = pmp->icase;\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_paren(bool have_match)\n{\n   saved_matched_paren<BidiIterator>* pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);\n   // restore previous values if no match was found:\n   if(!have_match)\n   {\n      m_presult->set_first(pmp->sub.first, pmp->index, pmp->index == 0);\n      m_presult->set_second(pmp->sub.second, pmp->index, pmp->sub.matched, pmp->index == 0);\n   }\n#ifdef BOOST_REGEX_MATCH_EXTRA\n   //\n   // we have a match, push the capture information onto the stack:\n   //\n   else if(pmp->sub.matched && (match_extra & m_match_flags))\n      ((*m_presult)[pmp->index]).get_captures().push_back(pmp->sub);\n#endif\n   // unwind stack:\n   m_backup_state = pmp+1;\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp);\n   return true; // keep looking\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_stopper(bool)\n{\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++);\n   pstate = 0;   // nothing left to search\n   return false; // end of stack nothing more to search\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_assertion(bool r)\n{\n   saved_assertion<BidiIterator>* pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);\n   pstate = pmp->pstate;\n   position = pmp->position;\n   bool result = (r == pmp->positive);\n   m_recursive_result = pmp->positive ? r : !r;\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   m_unwound_lookahead = true;\n   return !result; // return false if the assertion was matched to stop search.\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_alt(bool r)\n{\n   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);\n   if(!r)\n   {\n      pstate = pmp->pstate;\n      position = pmp->position;\n   }\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   m_unwound_alt = !r;\n   return r; \n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_repeater_counter(bool)\n{\n   saved_repeater<BidiIterator>* pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   return true; // keep looking\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_extra_block(bool)\n{\n   ++used_block_count;\n   saved_extra_block* pmp = static_cast<saved_extra_block*>(m_backup_state);\n   void* condemmed = m_stack_base;\n   m_stack_base = pmp->base;\n   m_backup_state = pmp->end;\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp);\n   put_mem_block(condemmed);\n   return true; // keep looking\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\ninline void perl_matcher<BidiIterator, Allocator, traits>::destroy_single_repeat()\n{\n   saved_single_repeat<BidiIterator>* p = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(p++);\n   m_backup_state = p;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_greedy_single_repeat(bool r)\n{\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n\n   // if we have a match, just discard this state:\n   if(r) \n   {\n      destroy_single_repeat();\n      return true;\n   }\n\n   const re_repeat* rep = pmp->rep;\n   std::size_t count = pmp->count;\n   BOOST_REGEX_ASSERT(rep->next.p != 0);\n   BOOST_REGEX_ASSERT(rep->alt.p != 0);\n\n   count -= rep->min;\n   \n   if((m_match_flags & match_partial) && (position == last))\n      m_has_partial_match = true;\n\n   BOOST_REGEX_ASSERT(count);\n   position = pmp->last_position;\n\n   // backtrack till we can skip out:\n   do\n   {\n      --position;\n      --count;\n      ++state_count;\n   }while(count && !can_start(*position, rep->_map, mask_skip));\n\n   // if we've hit base, destroy this state:\n   if(count == 0)\n   {\n         destroy_single_repeat();\n         if(!can_start(*position, rep->_map, mask_skip))\n            return true;\n   }\n   else\n   {\n      pmp->count = count + rep->min;\n      pmp->last_position = position;\n   }\n   pstate = rep->alt.p;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_slow_dot_repeat(bool r)\n{\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n\n   // if we have a match, just discard this state:\n   if(r) \n   {\n      destroy_single_repeat();\n      return true;\n   }\n\n   const re_repeat* rep = pmp->rep;\n   std::size_t count = pmp->count;\n   BOOST_REGEX_ASSERT(rep->type == syntax_element_dot_rep);\n   BOOST_REGEX_ASSERT(rep->next.p != 0);\n   BOOST_REGEX_ASSERT(rep->alt.p != 0);\n   BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_wild);\n\n   BOOST_REGEX_ASSERT(count < rep->max);\n   pstate = rep->next.p;\n   position = pmp->last_position;\n\n   if(position != last)\n   {\n      // wind forward until we can skip out of the repeat:\n      do\n      {\n         if(!match_wild())\n         {\n            // failed repeat match, discard this state and look for another:\n            destroy_single_repeat();\n            return true;\n         }\n         ++count;\n         ++state_count;\n         pstate = rep->next.p;\n      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));\n   }   \n   if(position == last)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n         m_has_partial_match = true;\n      if(0 == (rep->can_be_null & mask_skip))\n         return true;\n   }\n   else if(count == rep->max)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if(!can_start(*position, rep->_map, mask_skip))\n         return true;\n   }\n   else\n   {\n      pmp->count = count;\n      pmp->last_position = position;\n   }\n   pstate = rep->alt.p;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_fast_dot_repeat(bool r)\n{\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n\n   // if we have a match, just discard this state:\n   if(r) \n   {\n      destroy_single_repeat();\n      return true;\n   }\n\n   const re_repeat* rep = pmp->rep;\n   std::size_t count = pmp->count;\n\n   BOOST_REGEX_ASSERT(count < rep->max);\n   position = pmp->last_position;\n   if(position != last)\n   {\n\n      // wind forward until we can skip out of the repeat:\n      do\n      {\n         ++position;\n         ++count;\n         ++state_count;\n      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));\n   }\n\n   // remember where we got to if this is a leading repeat:\n   if((rep->leading) && (count < rep->max))\n      restart = position;\n   if(position == last)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n         m_has_partial_match = true;\n      if(0 == (rep->can_be_null & mask_skip))\n         return true;\n   }\n   else if(count == rep->max)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if(!can_start(*position, rep->_map, mask_skip))\n         return true;\n   }\n   else\n   {\n      pmp->count = count;\n      pmp->last_position = position;\n   }\n   pstate = rep->alt.p;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_char_repeat(bool r)\n{\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n\n   // if we have a match, just discard this state:\n   if(r) \n   {\n      destroy_single_repeat();\n      return true;\n   }\n\n   const re_repeat* rep = pmp->rep;\n   std::size_t count = pmp->count;\n   pstate = rep->next.p;\n   const char_type what = *reinterpret_cast<const char_type*>(static_cast<const re_literal*>(pstate) + 1);\n   position = pmp->last_position;\n\n   BOOST_REGEX_ASSERT(rep->type == syntax_element_char_rep);\n   BOOST_REGEX_ASSERT(rep->next.p != 0);\n   BOOST_REGEX_ASSERT(rep->alt.p != 0);\n   BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_literal);\n   BOOST_REGEX_ASSERT(count < rep->max);\n\n   if(position != last)\n   {\n      // wind forward until we can skip out of the repeat:\n      do\n      {\n         if(traits_inst.translate(*position, icase) != what)\n         {\n            // failed repeat match, discard this state and look for another:\n            destroy_single_repeat();\n            return true;\n         }\n         ++count;\n         ++ position;\n         ++state_count;\n         pstate = rep->next.p;\n      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));\n   }   \n   // remember where we got to if this is a leading repeat:\n   if((rep->leading) && (count < rep->max))\n      restart = position;\n   if(position == last)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n         m_has_partial_match = true;\n      if(0 == (rep->can_be_null & mask_skip))\n         return true;\n   }\n   else if(count == rep->max)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if(!can_start(*position, rep->_map, mask_skip))\n         return true;\n   }\n   else\n   {\n      pmp->count = count;\n      pmp->last_position = position;\n   }\n   pstate = rep->alt.p;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_short_set_repeat(bool r)\n{\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n\n   // if we have a match, just discard this state:\n   if(r) \n   {\n      destroy_single_repeat();\n      return true;\n   }\n\n   const re_repeat* rep = pmp->rep;\n   std::size_t count = pmp->count;\n   pstate = rep->next.p;\n   const unsigned char* map = static_cast<const re_set*>(rep->next.p)->_map;\n   position = pmp->last_position;\n\n   BOOST_REGEX_ASSERT(rep->type == syntax_element_short_set_rep);\n   BOOST_REGEX_ASSERT(rep->next.p != 0);\n   BOOST_REGEX_ASSERT(rep->alt.p != 0);\n   BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_set);\n   BOOST_REGEX_ASSERT(count < rep->max);\n   \n   if(position != last)\n   {\n      // wind forward until we can skip out of the repeat:\n      do\n      {\n         if(!map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])\n         {\n            // failed repeat match, discard this state and look for another:\n            destroy_single_repeat();\n            return true;\n         }\n         ++count;\n         ++ position;\n         ++state_count;\n         pstate = rep->next.p;\n      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));\n   }   \n   // remember where we got to if this is a leading repeat:\n   if((rep->leading) && (count < rep->max))\n      restart = position;\n   if(position == last)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n         m_has_partial_match = true;\n      if(0 == (rep->can_be_null & mask_skip))\n         return true;\n   }\n   else if(count == rep->max)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if(!can_start(*position, rep->_map, mask_skip))\n         return true;\n   }\n   else\n   {\n      pmp->count = count;\n      pmp->last_position = position;\n   }\n   pstate = rep->alt.p;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_long_set_repeat(bool r)\n{\n   typedef typename traits::char_class_type m_type;\n   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);\n\n   // if we have a match, just discard this state:\n   if(r)\n   {\n      destroy_single_repeat();\n      return true;\n   }\n\n   const re_repeat* rep = pmp->rep;\n   std::size_t count = pmp->count;\n   pstate = rep->next.p;\n   const re_set_long<m_type>* set = static_cast<const re_set_long<m_type>*>(pstate);\n   position = pmp->last_position;\n\n   BOOST_REGEX_ASSERT(rep->type == syntax_element_long_set_rep);\n   BOOST_REGEX_ASSERT(rep->next.p != 0);\n   BOOST_REGEX_ASSERT(rep->alt.p != 0);\n   BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_long_set);\n   BOOST_REGEX_ASSERT(count < rep->max);\n\n   if(position != last)\n   {\n      // wind forward until we can skip out of the repeat:\n      do\n      {\n         if(position == re_is_set_member(position, last, set, re.get_data(), icase))\n         {\n            // failed repeat match, discard this state and look for another:\n            destroy_single_repeat();\n            return true;\n         }\n         ++position;\n         ++count;\n         ++state_count;\n         pstate = rep->next.p;\n      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));\n   }   \n   // remember where we got to if this is a leading repeat:\n   if((rep->leading) && (count < rep->max))\n      restart = position;\n   if(position == last)\n   {\n      // can't repeat any more, remove the pushed state:\n      destroy_single_repeat();\n      if((m_match_flags & match_partial) && (position == last) && (position != search_base))\n         m_has_partial_match = true;\n      if(0 == (rep->can_be_null & mask_skip))\n         return true;\n   }\n   else if(count == rep->max)\n   {\n      // can't repeat any more, remove the pushed state: \n      destroy_single_repeat();\n      if(!can_start(*position, rep->_map, mask_skip))\n         return true;\n   }\n   else\n   {\n      pmp->count = count;\n      pmp->last_position = position;\n   }\n   pstate = rep->alt.p;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_non_greedy_repeat(bool r)\n{\n   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);\n   if(!r)\n   {\n      position = pmp->position;\n      pstate = pmp->pstate;\n      ++(*next_count);\n   }\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   return r;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion(bool r)\n{\n   // We are backtracking back inside a recursion, need to push the info\n   // back onto the recursion stack, and do so unconditionally, otherwise\n   // we can get mismatched pushes and pops...\n   saved_recursion<results_type>* pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);\n   if (!r)\n   {\n      recursion_stack.push_back(recursion_info<results_type>());\n      recursion_stack.back().idx = pmp->recursion_id;\n      recursion_stack.back().preturn_address = pmp->preturn_address;\n      recursion_stack.back().results = pmp->prior_results;\n      recursion_stack.back().location_of_start = position;\n      *m_presult = pmp->internal_results;\n   }\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_pop(bool r)\n{\n   // Backtracking out of a recursion, we must pop state off the recursion\n   // stack unconditionally to ensure matched pushes and pops:\n   saved_state* pmp = static_cast<saved_state*>(m_backup_state);\n   if (!r && !recursion_stack.empty())\n   {\n      *m_presult = recursion_stack.back().results;\n      position = recursion_stack.back().location_of_start;\n      recursion_stack.pop_back();\n   }\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++);\n   m_backup_state = pmp;\n   return true;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nvoid perl_matcher<BidiIterator, Allocator, traits>::push_recursion_pop()\n{\n   saved_state* pmp = static_cast<saved_state*>(m_backup_state);\n   --pmp;\n   if(pmp < m_stack_base)\n   {\n      extend_stack();\n      pmp = static_cast<saved_state*>(m_backup_state);\n      --pmp;\n   }\n   (void) new (pmp)saved_state(15);\n   m_backup_state = pmp;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_commit(bool b)\n{\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++);\n   while(unwind(b) && !m_unwound_lookahead){}\n   if(m_unwound_lookahead && pstate)\n   {\n      //\n      // If we stop because we just unwound an assertion, put the\n      // commit state back on the stack again:\n      //\n      m_unwound_lookahead = false;\n      saved_state* pmp = m_backup_state;\n      --pmp;\n      if(pmp < m_stack_base)\n      {\n         extend_stack();\n         pmp = m_backup_state;\n         --pmp;\n      }\n      (void) new (pmp)saved_state(16);\n      m_backup_state = pmp;\n   }\n   // This prevents us from stopping when we exit from an independent sub-expression:\n   m_independent = false;\n   return false;\n}\n\ntemplate <class BidiIterator, class Allocator, class traits>\nbool perl_matcher<BidiIterator, Allocator, traits>::unwind_then(bool b)\n{\n   // Unwind everything till we hit an alternative:\n   boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++);\n   bool result = false;\n   result = unwind(b);\n   while(result && !m_unwound_alt)\n   {\n      result = unwind(b);\n   }\n   // We're now pointing at the next alternative, need one more backtrack \n   // since *all* the other alternatives must fail once we've reached a THEN clause:\n   if(result && m_unwound_alt)\n      unwind(b);\n   return false;\n}\n\n} // namespace BOOST_REGEX_DETAIL_NS\n} // namespace boost\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/primary_transform.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE:        primary_transform.hpp\n  *   VERSION:     see <boost/version.hpp>\n  *   DESCRIPTION: Heuristically determines the sort string format in use\n  *                by the current locale.\n  */\n\n#ifndef BOOST_REGEX_PRIMARY_TRANSFORM\n#define BOOST_REGEX_PRIMARY_TRANSFORM\n\nnamespace boost{\n   namespace BOOST_REGEX_DETAIL_NS{\n\n\nenum{\n   sort_C,\n   sort_fixed,\n   sort_delim,\n   sort_unknown\n};\n\ntemplate <class S, class charT>\nunsigned count_chars(const S& s, charT c)\n{\n   //\n   // Count how many occurrences of character c occur\n   // in string s: if c is a delimeter between collation\n   // fields, then this should be the same value for all\n   // sort keys:\n   //\n   unsigned int count = 0;\n   for(unsigned pos = 0; pos < s.size(); ++pos)\n   {\n      if(s[pos] == c) ++count;\n   }\n   return count;\n}\n\n\ntemplate <class traits, class charT>\nunsigned find_sort_syntax(const traits* pt, charT* delim)\n{\n   //\n   // compare 'a' with 'A' to see how similar they are,\n   // should really use a-accute but we can't portably do that,\n   //\n   typedef typename traits::string_type string_type;\n   typedef typename traits::char_type char_type;\n\n   // Suppress incorrect warning for MSVC\n   (void)pt;\n\n   char_type a[2] = {'a', '\\0', };\n   string_type sa(pt->transform(a, a+1));\n   if(sa == a)\n   {\n      *delim = 0;\n      return sort_C;\n   }\n   char_type A[2] = { 'A', '\\0', };\n   string_type sA(pt->transform(A, A+1));\n   char_type c[2] = { ';', '\\0', };\n   string_type sc(pt->transform(c, c+1));\n\n   int pos = 0;\n   while((pos <= static_cast<int>(sa.size())) && (pos <= static_cast<int>(sA.size())) && (sa[pos] == sA[pos])) ++pos;\n   --pos;\n   if(pos < 0)\n   {\n      *delim = 0;\n      return sort_unknown;\n   }\n   //\n   // at this point sa[pos] is either the end of a fixed width field\n   // or the character that acts as a delimiter:\n   //\n   charT maybe_delim = sa[pos];\n   if((pos != 0) && (count_chars(sa, maybe_delim) == count_chars(sA, maybe_delim)) && (count_chars(sa, maybe_delim) == count_chars(sc, maybe_delim)))\n   {\n      *delim = maybe_delim;\n      return sort_delim;\n   }\n   //\n   // OK doen't look like a delimiter, try for fixed width field:\n   //\n   if((sa.size() == sA.size()) && (sa.size() == sc.size()))\n   {\n      // note assumes that the fixed width field is less than\n      // (numeric_limits<charT>::max)(), should be true for all types\n      // I can't imagine 127 character fields...\n      *delim = static_cast<charT>(++pos);\n      return sort_fixed;\n   }\n   //\n   // don't know what it is:\n   //\n   *delim = 0;\n   return sort_unknown;\n}\n\n\n   } // namespace BOOST_REGEX_DETAIL_NS\n} // namespace boost\n\n#endif\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regbase.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regbase.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares class regbase.\n  */\n\n#ifndef BOOST_REGEX_V5_REGBASE_HPP\n#define BOOST_REGEX_V5_REGBASE_HPP\n\nnamespace boost{\n//\n// class regbase\n// handles error codes and flags\n//\nclass regbase\n{\npublic:\n   enum flag_type_\n   {\n      //\n      // Divide the flags up into logical groups:\n      // bits 0-7 indicate main synatx type.\n      // bits 8-15 indicate syntax subtype.\n      // bits 16-31 indicate options that are common to all\n      // regex syntaxes.\n      // In all cases the default is 0.\n      //\n      // Main synatx group:\n      //\n      perl_syntax_group = 0,                      // default\n      basic_syntax_group = 1,                     // POSIX basic\n      literal = 2,                                // all characters are literals\n      main_option_type = literal | basic_syntax_group | perl_syntax_group, // everything!\n      //\n      // options specific to perl group:\n      //\n      no_bk_refs = 1 << 8,                        // \\d not allowed\n      no_perl_ex = 1 << 9,                        // disable perl extensions\n      no_mod_m = 1 << 10,                         // disable Perl m modifier\n      mod_x = 1 << 11,                            // Perl x modifier\n      mod_s = 1 << 12,                            // force s modifier on (overrides match_not_dot_newline)\n      no_mod_s = 1 << 13,                         // force s modifier off (overrides match_not_dot_newline)\n\n      //\n      // options specific to basic group:\n      //\n      no_char_classes = 1 << 8,                   // [[:CLASS:]] not allowed\n      no_intervals = 1 << 9,                      // {x,y} not allowed\n      bk_plus_qm = 1 << 10,                       // uses \\+ and \\?\n      bk_vbar = 1 << 11,                          // use \\| for alternatives\n      emacs_ex = 1 << 12,                         // enables emacs extensions\n\n      //\n      // options common to all groups:\n      //\n      no_escape_in_lists = 1 << 16,                     // '\\' not special inside [...]\n      newline_alt = 1 << 17,                            // \\n is the same as |\n      no_except = 1 << 18,                              // no exception on error\n      failbit = 1 << 19,                                // error flag\n      icase = 1 << 20,                                  // characters are matched regardless of case\n      nocollate = 0,                                    // don't use locale specific collation (deprecated)\n      collate = 1 << 21,                                // use locale specific collation\n      nosubs = 1 << 22,                                 // don't mark sub-expressions\n      save_subexpression_location = 1 << 23,            // save subexpression locations\n      no_empty_expressions = 1 << 24,                   // no empty expressions allowed\n      optimize = 0,                                     // not really supported\n      \n\n\n      basic = basic_syntax_group | collate | no_escape_in_lists,\n      extended = no_bk_refs | collate | no_perl_ex | no_escape_in_lists,\n      normal = 0,\n      emacs = basic_syntax_group | collate | emacs_ex | bk_vbar,\n      awk = no_bk_refs | collate | no_perl_ex,\n      grep = basic | newline_alt,\n      egrep = extended | newline_alt,\n      sed = basic,\n      perl = normal,\n      ECMAScript = normal,\n      JavaScript = normal,\n      JScript = normal\n   };\n   typedef unsigned int flag_type;\n\n   enum restart_info\n   {\n      restart_any = 0,\n      restart_word = 1,\n      restart_line = 2,\n      restart_buf = 3,\n      restart_continue = 4,\n      restart_lit = 5,\n      restart_fixed_lit = 6, \n      restart_count = 7\n   };\n};\n\n//\n// provide std lib proposal compatible constants:\n//\nnamespace regex_constants{\n\n   enum flag_type_\n   {\n\n      no_except = ::boost::regbase::no_except,\n      failbit = ::boost::regbase::failbit,\n      literal = ::boost::regbase::literal,\n      icase = ::boost::regbase::icase,\n      nocollate = ::boost::regbase::nocollate,\n      collate = ::boost::regbase::collate,\n      nosubs = ::boost::regbase::nosubs,\n      optimize = ::boost::regbase::optimize,\n      bk_plus_qm = ::boost::regbase::bk_plus_qm,\n      bk_vbar = ::boost::regbase::bk_vbar,\n      no_intervals = ::boost::regbase::no_intervals,\n      no_char_classes = ::boost::regbase::no_char_classes,\n      no_escape_in_lists = ::boost::regbase::no_escape_in_lists,\n      no_mod_m = ::boost::regbase::no_mod_m,\n      mod_x = ::boost::regbase::mod_x,\n      mod_s = ::boost::regbase::mod_s,\n      no_mod_s = ::boost::regbase::no_mod_s,\n      save_subexpression_location = ::boost::regbase::save_subexpression_location,\n      no_empty_expressions = ::boost::regbase::no_empty_expressions,\n\n      basic = ::boost::regbase::basic,\n      extended = ::boost::regbase::extended,\n      normal = ::boost::regbase::normal,\n      emacs = ::boost::regbase::emacs,\n      awk = ::boost::regbase::awk,\n      grep = ::boost::regbase::grep,\n      egrep = ::boost::regbase::egrep,\n      sed = basic,\n      perl = normal,\n      ECMAScript = normal,\n      JavaScript = normal,\n      JScript = normal\n   };\n   typedef ::boost::regbase::flag_type syntax_option_type;\n\n} // namespace regex_constants\n\n} // namespace boost\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares boost::basic_regex<> and associated\n  *                functions and classes. This header is the main\n  *                entry point for the template regex code.\n  */\n\n#ifndef BOOST_RE_REGEX_HPP_INCLUDED\n#define BOOST_RE_REGEX_HPP_INCLUDED\n\n#ifdef __cplusplus\n\n// what follows is all C++ don't include in C builds!!\n\n#include <boost/regex/config.hpp>\n#include <boost/regex/v5/regex_workaround.hpp>\n#include <boost/regex_fwd.hpp>\n#include <boost/regex/regex_traits.hpp>\n#include <boost/regex/v5/error_type.hpp>\n#include <boost/regex/v5/match_flags.hpp>\n#include <boost/regex/v5/regex_raw_buffer.hpp>\n#include <boost/regex/pattern_except.hpp>\n#include <boost/regex/v5/char_regex_traits.hpp>\n#include <boost/regex/v5/states.hpp>\n#include <boost/regex/v5/regbase.hpp>\n#include <boost/regex/v5/basic_regex.hpp>\n#include <boost/regex/v5/basic_regex_creator.hpp>\n#include <boost/regex/v5/basic_regex_parser.hpp>\n#include <boost/regex/v5/sub_match.hpp>\n#include <boost/regex/v5/regex_format.hpp>\n#include <boost/regex/v5/match_results.hpp>\n#include <boost/regex/v5/perl_matcher.hpp>\n\nnamespace boost{\n#ifdef BOOST_REGEX_NO_FWD\ntypedef basic_regex<char, regex_traits<char> > regex;\n#ifndef BOOST_NO_WREGEX\ntypedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;\n#endif\n#endif\n\ntypedef match_results<const char*> cmatch;\ntypedef match_results<std::string::const_iterator> smatch;\n#ifndef BOOST_NO_WREGEX\ntypedef match_results<const wchar_t*> wcmatch;\ntypedef match_results<std::wstring::const_iterator> wsmatch;\n#endif\n\n} // namespace boost\n\n#include <boost/regex/v5/regex_match.hpp>\n#include <boost/regex/v5/regex_search.hpp>\n#include <boost/regex/v5/regex_iterator.hpp>\n#include <boost/regex/v5/regex_token_iterator.hpp>\n#include <boost/regex/v5/regex_grep.hpp>\n#include <boost/regex/v5/regex_replace.hpp>\n#include <boost/regex/v5/regex_merge.hpp>\n#include <boost/regex/v5/regex_split.hpp>\n\n#endif  // __cplusplus\n\n#endif  // include\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_format.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2009 John Maddock\n * Copyright 2008 Eric Niebler. \n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_format.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides formatting output routines for search and replace\n  *                operations.  Note this is an internal header file included\n  *                by regex.hpp, do not include on its own.\n  */\n\n#ifndef BOOST_REGEX_FORMAT_HPP\n#define BOOST_REGEX_FORMAT_HPP\n\n#include <type_traits>\n#include <functional>\n\nnamespace boost{\n\n//\n// Forward declaration:\n//\n   template <class BidiIterator, class Allocator = typename std::vector<sub_match<BidiIterator> >::allocator_type >\nclass match_results;\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\n//\n// struct trivial_format_traits:\n// defines minimum localisation support for formatting\n// in the case that the actual regex traits is unavailable.\n//\ntemplate <class charT>\nstruct trivial_format_traits\n{\n   typedef charT char_type;\n\n   static std::ptrdiff_t length(const charT* p)\n   {\n      return global_length(p);\n   }\n   static charT tolower(charT c)\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::global_lower(c);\n   }\n   static charT toupper(charT c)\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::global_upper(c);\n   }\n   static int value(const charT c, int radix)\n   {\n      int result = global_value(c);\n      return result >= radix ? -1 : result;\n   }\n   int toi(const charT*& p1, const charT* p2, int radix)const\n   {\n      return (int)global_toi(p1, p2, radix, *this);\n   }\n};\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#pragma warning(disable:26812)\n#endif\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nclass basic_regex_formatter\n{\npublic:\n   typedef typename traits::char_type char_type;\n   basic_regex_formatter(OutputIterator o, const Results& r, const traits& t)\n      : 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) {}\n   OutputIterator format(ForwardIter p1, ForwardIter p2, match_flag_type f);\n   OutputIterator format(ForwardIter p1, match_flag_type f)\n   {\n      return format(p1, p1 + m_traits.length(p1), f);\n   }\nprivate:\n   typedef typename Results::value_type sub_match_type;\n   enum output_state\n   {\n      output_copy,\n      output_next_lower,\n      output_next_upper,\n      output_lower,\n      output_upper,\n      output_none\n   };\n\n   void put(char_type c);\n   void put(const sub_match_type& sub);\n   void format_all();\n   void format_perl();\n   void format_escape();\n   void format_conditional();\n   void format_until_scope_end();\n   bool handle_perl_verb(bool have_brace);\n\n   inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant<bool, false>&)\n   {\n      std::vector<char_type> v(i, j);\n      return (i != j) ? this->m_results.named_subexpression(&v[0], &v[0] + v.size())\n         : this->m_results.named_subexpression(static_cast<const char_type*>(0), static_cast<const char_type*>(0));\n   }\n   inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant<bool, true>&)\n   {\n      return this->m_results.named_subexpression(i, j);\n   }\n   inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j)\n   {\n      typedef typename std::is_convertible<ForwardIter, const char_type*>::type tag_type;\n      return get_named_sub(i, j, tag_type());\n   }\n   inline int get_named_sub_index(ForwardIter i, ForwardIter j, const std::integral_constant<bool, false>&)\n   {\n      std::vector<char_type> v(i, j);\n      return (i != j) ? this->m_results.named_subexpression_index(&v[0], &v[0] + v.size())\n         : this->m_results.named_subexpression_index(static_cast<const char_type*>(0), static_cast<const char_type*>(0));\n   }\n   inline int get_named_sub_index(ForwardIter i, ForwardIter j, const std::integral_constant<bool, true>&)\n   {\n      return this->m_results.named_subexpression_index(i, j);\n   }\n   inline int get_named_sub_index(ForwardIter i, ForwardIter j)\n   {\n      typedef typename std::is_convertible<ForwardIter, const char_type*>::type tag_type;\n      return get_named_sub_index(i, j, tag_type());\n   }\n#ifdef BOOST_REGEX_MSVC\n   // msvc-8.0 issues a spurious warning on the call to std::advance here:\n#pragma warning(push)\n#pragma warning(disable:4244)\n#endif\n   inline int toi(ForwardIter& i, ForwardIter j, int base, const std::integral_constant<bool, false>&)\n   {\n      if(i != j)\n      {\n         std::vector<char_type> v(i, j);\n         const char_type* start = &v[0];\n         const char_type* pos = start;\n         int r = (int)m_traits.toi(pos, &v[0] + v.size(), base);\n         std::advance(i, pos - start);\n         return r;\n      }\n      return -1;\n   }\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n   inline int toi(ForwardIter& i, ForwardIter j, int base, const std::integral_constant<bool, true>&)\n   {\n      return m_traits.toi(i, j, base);\n   }\n   inline int toi(ForwardIter& i, ForwardIter j, int base)\n   {\n#if defined(_MSC_VER) && defined(__INTEL_COMPILER) && ((__INTEL_COMPILER == 9999) || (__INTEL_COMPILER == 1210))\n      // Workaround for Intel support issue #656654.\n      // See also https://svn.boost.org/trac/boost/ticket/6359\n      return toi(i, j, base, std::integral_constant<bool, false>());\n#else\n      typedef typename std::is_convertible<ForwardIter, const char_type*&>::type tag_type;\n      return toi(i, j, base, tag_type());\n#endif\n   }\n\n   const traits&    m_traits;       // the traits class for localised formatting operations\n   const Results&   m_results;     // the match_results being used.\n   OutputIterator   m_out;         // where to send output.\n   ForwardIter      m_position;  // format string, current position\n   ForwardIter      m_end;       // format string end\n   match_flag_type  m_flags;      // format flags to use\n   output_state     m_state;      // what to do with the next character\n   output_state     m_restore_state;  // what state to restore to.\n   bool             m_have_conditional; // we are parsing a conditional\nprivate:\n   basic_regex_formatter(const basic_regex_formatter&);\n   basic_regex_formatter& operator=(const basic_regex_formatter&);\n};\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nOutputIterator basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format(ForwardIter p1, ForwardIter p2, match_flag_type f)\n{\n   m_position = p1;\n   m_end = p2;\n   m_flags = f;\n   format_all();\n   return m_out;\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_all()\n{\n   // over and over:\n   while(m_position != m_end)\n   {\n      switch(*m_position)\n      {\n      case '&':\n         if(m_flags & ::boost::regex_constants::format_sed)\n         {\n            ++m_position;\n            put(m_results[0]);\n            break;\n         }\n         put(*m_position++);\n         break;\n      case '\\\\':\n         format_escape();\n         break;\n      case '(':\n         if(m_flags & boost::regex_constants::format_all)\n         {\n            ++m_position;\n            bool have_conditional = m_have_conditional;\n            m_have_conditional = false;\n            format_until_scope_end();\n            m_have_conditional = have_conditional;\n            if(m_position == m_end)\n               return;\n            BOOST_REGEX_ASSERT(*m_position == static_cast<char_type>(')'));\n            ++m_position;  // skip the closing ')'\n            break;\n         }\n         put(*m_position);\n         ++m_position;\n         break;\n      case ')':\n         if(m_flags & boost::regex_constants::format_all)\n         {\n            return;\n         }\n         put(*m_position);\n         ++m_position;\n         break;\n      case ':':\n         if((m_flags & boost::regex_constants::format_all) && m_have_conditional)\n         {\n            return;\n         }\n         put(*m_position);\n         ++m_position;\n         break;\n      case '?':\n         if(m_flags & boost::regex_constants::format_all)\n         {\n            ++m_position;\n            format_conditional();\n            break;\n         }\n         put(*m_position);\n         ++m_position;\n         break;\n      case '$':\n         if((m_flags & format_sed) == 0)\n         {\n            format_perl();\n            break;\n         }\n         // not a special character:\n         BOOST_REGEX_FALLTHROUGH;\n      default:\n         put(*m_position);\n         ++m_position;\n         break;\n      }\n   }\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_perl()\n{\n   //\n   // On entry *m_position points to a '$' character\n   // output the information that goes with it:\n   //\n   BOOST_REGEX_ASSERT(*m_position == '$');\n   //\n   // see if this is a trailing '$':\n   //\n   if(++m_position == m_end)\n   {\n      --m_position;\n      put(*m_position);\n      ++m_position;\n      return;\n   }\n   //\n   // OK find out what kind it is:\n   //\n   bool have_brace = false;\n   ForwardIter save_position = m_position;\n   switch(*m_position)\n   {\n   case '&':\n      ++m_position;\n      put(this->m_results[0]);\n      break;\n   case '`':\n      ++m_position;\n      put(this->m_results.prefix());\n      break;\n   case '\\'':\n      ++m_position;\n      put(this->m_results.suffix());\n      break;\n   case '$':\n      put(*m_position++);\n      break;\n   case '+':\n      if((++m_position != m_end) && (*m_position == '{'))\n      {\n         ForwardIter base = ++m_position;\n         while((m_position != m_end) && (*m_position != '}')) ++m_position;\n         if(m_position != m_end)\n         {\n            // Named sub-expression:\n            put(get_named_sub(base, m_position));\n            ++m_position;\n            break;\n         }\n         else\n         {\n            m_position = --base;\n         }\n      }\n      put((this->m_results)[this->m_results.size() > 1 ? static_cast<int>(this->m_results.size() - 1) : 1]);\n      break;\n   case '{':\n      have_brace = true;\n      ++m_position;\n      BOOST_REGEX_FALLTHROUGH;\n   default:\n      // see if we have a number:\n      {\n         std::ptrdiff_t len = std::distance(m_position, m_end);\n         //len = (std::min)(static_cast<std::ptrdiff_t>(2), len);\n         int v = this->toi(m_position, m_position + len, 10);\n         if((v < 0) || (have_brace && ((m_position == m_end) || (*m_position != '}'))))\n         {\n            // Look for a Perl-5.10 verb:\n            if(!handle_perl_verb(have_brace))\n            {\n               // leave the $ as is, and carry on:\n               m_position = --save_position;\n               put(*m_position);\n               ++m_position;\n            }\n            break;\n         }\n         // otherwise output sub v:\n         put(this->m_results[v]);\n         if(have_brace)\n            ++m_position;\n      }\n   }\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nbool basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::handle_perl_verb(bool have_brace)\n{\n   // \n   // We may have a capitalised string containing a Perl action:\n   //\n   static const char_type MATCH[] = { 'M', 'A', 'T', 'C', 'H' };\n   static const char_type PREMATCH[] = { 'P', 'R', 'E', 'M', 'A', 'T', 'C', 'H' };\n   static const char_type POSTMATCH[] = { 'P', 'O', 'S', 'T', 'M', 'A', 'T', 'C', 'H' };\n   static const char_type LAST_PAREN_MATCH[] = { 'L', 'A', 'S', 'T', '_', 'P', 'A', 'R', 'E', 'N', '_', 'M', 'A', 'T', 'C', 'H' };\n   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' };\n   static const char_type LAST_SUBMATCH_RESULT_ALT[] = { '^', 'N' };\n\n   if(m_position == m_end)\n      return false;\n   if(have_brace && (*m_position == '^'))\n      ++m_position;\n\n   std::ptrdiff_t max_len = m_end - m_position;\n\n   if((max_len >= 5) && std::equal(m_position, m_position + 5, MATCH))\n   {\n      m_position += 5;\n      if(have_brace)\n      {\n         if((m_position != m_end) && (*m_position == '}'))\n            ++m_position;\n         else\n         {\n            m_position -= 5;\n            return false;\n         }\n      }\n      put(this->m_results[0]);\n      return true;\n   }\n   if((max_len >= 8) && std::equal(m_position, m_position + 8, PREMATCH))\n   {\n      m_position += 8;\n      if(have_brace)\n      {\n         if((m_position != m_end) && (*m_position == '}'))\n            ++m_position;\n         else\n         {\n            m_position -= 8;\n            return false;\n         }\n      }\n      put(this->m_results.prefix());\n      return true;\n   }\n   if((max_len >= 9) && std::equal(m_position, m_position + 9, POSTMATCH))\n   {\n      m_position += 9;\n      if(have_brace)\n      {\n         if((m_position != m_end) && (*m_position == '}'))\n            ++m_position;\n         else\n         {\n            m_position -= 9;\n            return false;\n         }\n      }\n      put(this->m_results.suffix());\n      return true;\n   }\n   if((max_len >= 16) && std::equal(m_position, m_position + 16, LAST_PAREN_MATCH))\n   {\n      m_position += 16;\n      if(have_brace)\n      {\n         if((m_position != m_end) && (*m_position == '}'))\n            ++m_position;\n         else\n         {\n            m_position -= 16;\n            return false;\n         }\n      }\n      put((this->m_results)[this->m_results.size() > 1 ? static_cast<int>(this->m_results.size() - 1) : 1]);\n      return true;\n   }\n   if((max_len >= 20) && std::equal(m_position, m_position + 20, LAST_SUBMATCH_RESULT))\n   {\n      m_position += 20;\n      if(have_brace)\n      {\n         if((m_position != m_end) && (*m_position == '}'))\n            ++m_position;\n         else\n         {\n            m_position -= 20;\n            return false;\n         }\n      }\n      put(this->m_results.get_last_closed_paren());\n      return true;\n   }\n   if((max_len >= 2) && std::equal(m_position, m_position + 2, LAST_SUBMATCH_RESULT_ALT))\n   {\n      m_position += 2;\n      if(have_brace)\n      {\n         if((m_position != m_end) && (*m_position == '}'))\n            ++m_position;\n         else\n         {\n            m_position -= 2;\n            return false;\n         }\n      }\n      put(this->m_results.get_last_closed_paren());\n      return true;\n   }\n   return false;\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_escape()\n{\n   // skip the escape and check for trailing escape:\n   if(++m_position == m_end)\n   {\n      put(static_cast<char_type>('\\\\'));\n      return;\n   }\n   // now switch on the escape type:\n   switch(*m_position)\n   {\n   case 'a':\n      put(static_cast<char_type>('\\a'));\n      ++m_position;\n      break;\n   case 'f':\n      put(static_cast<char_type>('\\f'));\n      ++m_position;\n      break;\n   case 'n':\n      put(static_cast<char_type>('\\n'));\n      ++m_position;\n      break;\n   case 'r':\n      put(static_cast<char_type>('\\r'));\n      ++m_position;\n      break;\n   case 't':\n      put(static_cast<char_type>('\\t'));\n      ++m_position;\n      break;\n   case 'v':\n      put(static_cast<char_type>('\\v'));\n      ++m_position;\n      break;\n   case 'x':\n      if(++m_position == m_end)\n      {\n         put(static_cast<char_type>('x'));\n         return;\n      }\n      // maybe have \\x{ddd}\n      if(*m_position == static_cast<char_type>('{'))\n      {\n         ++m_position;\n         int val = this->toi(m_position, m_end, 16);\n         if(val < 0)\n         {\n            // invalid value treat everything as literals:\n            put(static_cast<char_type>('x'));\n            put(static_cast<char_type>('{'));\n            return;\n         }\n         if((m_position == m_end) || (*m_position != static_cast<char_type>('}')))\n         {\n            --m_position;\n            while(*m_position != static_cast<char_type>('\\\\'))\n               --m_position;\n            ++m_position;\n            put(*m_position++);\n            return;\n         }\n         ++m_position;\n         put(static_cast<char_type>(val));\n         return;\n      }\n      else\n      {\n         std::ptrdiff_t len = std::distance(m_position, m_end);\n         len = (std::min)(static_cast<std::ptrdiff_t>(2), len);\n         int val = this->toi(m_position, m_position + len, 16);\n         if(val < 0)\n         {\n            --m_position;\n            put(*m_position++);\n            return;\n         }\n         put(static_cast<char_type>(val));\n      }\n      break;\n   case 'c':\n      if(++m_position == m_end)\n      {\n         --m_position;\n         put(*m_position++);\n         return;\n      }\n      put(static_cast<char_type>(*m_position++ % 32));\n      break;\n   case 'e':\n      put(static_cast<char_type>(27));\n      ++m_position;\n      break;\n   default:\n      // see if we have a perl specific escape:\n      if((m_flags & boost::regex_constants::format_sed) == 0)\n      {\n         bool breakout = false;\n         switch(*m_position)\n         {\n         case 'l':\n            ++m_position;\n            m_restore_state = m_state;\n            m_state = output_next_lower;\n            breakout = true;\n            break;\n         case 'L':\n            ++m_position;\n            m_state = output_lower;\n            breakout = true;\n            break;\n         case 'u':\n            ++m_position;\n            m_restore_state = m_state;\n            m_state = output_next_upper;\n            breakout = true;\n            break;\n         case 'U':\n            ++m_position;\n            m_state = output_upper;\n            breakout = true;\n            break;\n         case 'E':\n            ++m_position;\n            m_state = output_copy;\n            breakout = true;\n            break;\n         }\n         if(breakout)\n            break;\n      }\n      // see if we have a \\n sed style backreference:\n      std::ptrdiff_t len = std::distance(m_position, m_end);\n      len = (std::min)(static_cast<std::ptrdiff_t>(1), len);\n      int v = this->toi(m_position, m_position+len, 10);\n      if((v > 0) || ((v == 0) && (m_flags & ::boost::regex_constants::format_sed)))\n      {\n         put(m_results[v]);\n         break;\n      }\n      else if(v == 0)\n      {\n         // octal ecape sequence:\n         --m_position;\n         len = std::distance(m_position, m_end);\n         len = (std::min)(static_cast<std::ptrdiff_t>(4), len);\n         v = this->toi(m_position, m_position + len, 8);\n         BOOST_REGEX_ASSERT(v >= 0);\n         put(static_cast<char_type>(v));\n         break;\n      }\n      // Otherwise output the character \"as is\":\n      put(*m_position++);\n      break;\n   }\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_conditional()\n{\n   if(m_position == m_end)\n   {\n      // oops trailing '?':\n      put(static_cast<char_type>('?'));\n      return;\n   }\n   int v;\n   if(*m_position == '{')\n   {\n      ForwardIter base = m_position;\n      ++m_position;\n      v = this->toi(m_position, m_end, 10);\n      if(v < 0)\n      {\n         // Try a named subexpression:\n         while((m_position != m_end) && (*m_position != '}'))\n            ++m_position;\n         v = this->get_named_sub_index(base + 1, m_position);\n      }\n      if((v < 0) || (*m_position != '}'))\n      {\n         m_position = base;\n         // oops trailing '?':\n         put(static_cast<char_type>('?'));\n         return;\n      }\n      // Skip trailing '}':\n      ++m_position;\n   }\n   else\n   {\n      std::ptrdiff_t len = std::distance(m_position, m_end);\n      len = (std::min)(static_cast<std::ptrdiff_t>(2), len);\n      v = this->toi(m_position, m_position + len, 10);\n   }\n   if(v < 0)\n   {\n      // oops not a number:\n      put(static_cast<char_type>('?'));\n      return;\n   }\n\n   // output varies depending upon whether sub-expression v matched or not:\n   if(m_results[v].matched)\n   {\n      m_have_conditional = true;\n      format_all();\n      m_have_conditional = false;\n      if((m_position != m_end) && (*m_position == static_cast<char_type>(':')))\n      {\n         // skip the ':':\n         ++m_position;\n         // save output state, then turn it off:\n         output_state saved_state = m_state;\n         m_state = output_none;\n         // format the rest of this scope:\n         format_until_scope_end();\n         // restore output state:\n         m_state = saved_state;\n      }\n   }\n   else\n   {\n      // save output state, then turn it off:\n      output_state saved_state = m_state;\n      m_state = output_none;\n      // format until ':' or ')':\n      m_have_conditional = true;\n      format_all();\n      m_have_conditional = false;\n      // restore state:\n      m_state = saved_state;\n      if((m_position != m_end) && (*m_position == static_cast<char_type>(':')))\n      {\n         // skip the ':':\n         ++m_position;\n         // format the rest of this scope:\n         format_until_scope_end();\n      }\n   }\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_until_scope_end()\n{\n   do\n   {\n      format_all();\n      if((m_position == m_end) || (*m_position == static_cast<char_type>(')')))\n         return;\n      put(*m_position++);\n   }while(m_position != m_end);\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::put(char_type c)\n{\n   // write a single character to output\n   // according to which case translation mode we are in:\n   switch(this->m_state)\n   {\n   case output_none:\n      return;\n   case output_next_lower:\n      c = m_traits.tolower(c);\n      this->m_state = m_restore_state;\n      break;\n   case output_next_upper:\n      c = m_traits.toupper(c);\n      this->m_state = m_restore_state;\n      break;\n   case output_lower:\n      c = m_traits.tolower(c);\n      break;\n   case output_upper:\n      c = m_traits.toupper(c);\n      break;\n   default:\n      break;\n   }\n   *m_out = c;\n   ++m_out;\n}\n\ntemplate <class OutputIterator, class Results, class traits, class ForwardIter>\nvoid basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::put(const sub_match_type& sub)\n{\n   typedef typename sub_match_type::iterator iterator_type;\n   iterator_type i = sub.first;\n   while(i != sub.second)\n   {\n      put(*i);\n      ++i;\n   }\n}\n\ntemplate <class S>\nclass string_out_iterator\n{\n   S* out;\npublic:\n   string_out_iterator(S& s) : out(&s) {}\n   string_out_iterator& operator++() { return *this; }\n   string_out_iterator& operator++(int) { return *this; }\n   string_out_iterator& operator*() { return *this; }\n   string_out_iterator& operator=(typename S::value_type v) \n   { \n      out->append(1, v); \n      return *this; \n   }\n\n   typedef std::ptrdiff_t difference_type;\n   typedef typename S::value_type value_type;\n   typedef value_type* pointer;\n   typedef value_type& reference;\n   typedef std::output_iterator_tag iterator_category;\n};\n\ntemplate <class OutputIterator, class Iterator, class Alloc, class ForwardIter, class traits>\nOutputIterator regex_format_imp(OutputIterator out,\n                          const match_results<Iterator, Alloc>& m,\n                          ForwardIter p1, ForwardIter p2,\n                          match_flag_type flags,\n                          const traits& t\n                         )\n{\n   if(flags & regex_constants::format_literal)\n   {\n      return BOOST_REGEX_DETAIL_NS::copy(p1, p2, out);\n   }\n\n   BOOST_REGEX_DETAIL_NS::basic_regex_formatter<\n      OutputIterator, \n      match_results<Iterator, Alloc>, \n      traits, ForwardIter> f(out, m, t);\n   return f.format(p1, p2, flags);\n}\n\ntemplate <class T>\nstruct has_const_iterator\n{\n   template <class U>\n   static typename U::const_iterator tester(U*);\n   static char tester(...);\n\n   static T* get();\n\n   static const bool value = sizeof(tester(get())) != sizeof(char);\n};\n\nstruct any_type \n{\n   template <class T>\n   any_type(const T&); \n   template <class T, class U>\n   any_type(const T&, const U&); \n   template <class T, class U, class V>\n   any_type(const T&, const U&, const V&); \n};\ntypedef char no_type;\ntypedef char (&unary_type)[2];\ntypedef char (&binary_type)[3];\ntypedef char (&ternary_type)[4];\n\nno_type check_is_formatter(unary_type, binary_type, ternary_type);\ntemplate<typename T>\nunary_type check_is_formatter(T const &, binary_type, ternary_type);\ntemplate<typename T>\nbinary_type check_is_formatter(unary_type, T const &, ternary_type);\ntemplate<typename T, typename U>\nbinary_type check_is_formatter(T const &, U const &, ternary_type);\ntemplate<typename T>\nternary_type check_is_formatter(unary_type, binary_type, T const &);\ntemplate<typename T, typename U>\nternary_type check_is_formatter(T const &, binary_type, U const &);\ntemplate<typename T, typename U>\nternary_type check_is_formatter(unary_type, T const &, U const &);\ntemplate<typename T, typename U, typename V>\nternary_type check_is_formatter(T const &, U const &, V const &);\n\nstruct unary_binary_ternary\n{\n    typedef unary_type (*unary_fun)(any_type);\n    typedef binary_type (*binary_fun)(any_type, any_type);\n    typedef ternary_type (*ternary_fun)(any_type, any_type, any_type);\n    operator unary_fun();\n    operator binary_fun();\n    operator ternary_fun();\n};\n\ntemplate<typename Formatter, bool IsFunction = std::is_function<Formatter>::value>\nstruct formatter_wrapper\n  : Formatter\n  , unary_binary_ternary\n{\n   formatter_wrapper(){}\n};\n\ntemplate<typename Formatter>\nstruct formatter_wrapper<Formatter, true>\n  : unary_binary_ternary\n{\n    operator Formatter *();\n};\n\ntemplate<typename Formatter>\nstruct formatter_wrapper<Formatter *, false>\n  : unary_binary_ternary\n{\n    operator Formatter *();\n};\n\ntemplate <class T>\nstruct do_unwrap_reference\n{\n   typedef T type;\n};\ntemplate <class T>\nstruct do_unwrap_reference<std::reference_wrapper<T> >\n{\n   typedef T type;\n};\n\ntemplate <class T>\nT& do_unwrap_ref(T& r) { return r; }\ntemplate <class T>\nT& do_unwrap_ref(std::reference_wrapper<T> const& r) { return r.get(); }\n\ntemplate <class F, class M, class O>\nstruct format_traits_imp\n{\nprivate:\n   //\n   // F must be a pointer, a function, or a class with a function call operator:\n   //\n   static_assert((::std::is_pointer<F>::value || ::std::is_function<F>::value || ::std::is_class<F>::value), \"The functor must be a pointer or a class with a function call operator\");\n   static formatter_wrapper<typename do_unwrap_reference<F>::type> f;\n   static M m;\n   static O out;\n   static boost::regex_constants::match_flag_type flags;\npublic:\n   static const int value = sizeof(check_is_formatter(f(m), f(m, out), f(m, out, flags)));\n};\n\ntemplate <class F, class M, class O>\nstruct format_traits\n{\npublic:\n   // \n   // Type is std::integral_constant<int, N> where N is one of:\n   //\n   // 0 : F is a pointer to a presumably null-terminated string.\n   // 1 : F is a character-container such as a std::string.\n   // 2 : F is a Unary Functor.\n   // 3 : F is a Binary Functor.\n   // 4 : F is a Ternary Functor.\n   //\n   typedef typename std::conditional<\n      std::is_pointer<F>::value && !std::is_function<typename std::remove_pointer<F>::type>::value,\n      std::integral_constant<int, 0>,\n      typename std::conditional<\n         has_const_iterator<F>::value,\n         std::integral_constant<int, 1>,\n         std::integral_constant<int, format_traits_imp<F, M, O>::value>\n      >::type\n   >::type type;\n   //\n   // This static assertion will fail if the functor passed does not accept\n   // the same type of arguments passed.\n   //\n   static_assert( std::is_class<F>::value && !has_const_iterator<F>::value ? (type::value > 1) : true, \"Argument mismatch in Functor type\");\n};\n\ntemplate <class Base, class Match>\nstruct format_functor3\n{\n   format_functor3(Base b) : func(b) {}\n   template <class OutputIter>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f)\n   {\n      return do_unwrap_ref(func)(m, i, f);\n   }\n   template <class OutputIter, class Traits>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&)\n   {\n      return (*this)(m, i, f);\n   }\nprivate:\n   Base func;\n   format_functor3(const format_functor3&);\n   format_functor3& operator=(const format_functor3&);\n};\n\ntemplate <class Base, class Match>\nstruct format_functor2\n{\n   format_functor2(Base b) : func(b) {}\n   template <class OutputIter>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/)\n   {\n      return do_unwrap_ref(func)(m, i);\n   }\n   template <class OutputIter, class Traits>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&)\n   {\n      return (*this)(m, i, f);\n   }\nprivate:\n   Base func;\n   format_functor2(const format_functor2&);\n   format_functor2& operator=(const format_functor2&);\n};\n\ntemplate <class Base, class Match>\nstruct format_functor1\n{\n   format_functor1(Base b) : func(b) {}\n\n   template <class S, class OutputIter>\n   OutputIter do_format_string(const S& s, OutputIter i)\n   {\n      return std::copy(s.begin(), s.end(), i);\n   }\n   template <class S, class OutputIter>\n   inline OutputIter do_format_string(const S* s, OutputIter i)\n   {\n      while(s && *s)\n      {\n         *i = *s;\n         ++i;\n         ++s;\n      }\n      return i;\n   }\n   template <class OutputIter>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/)\n   {\n      return do_format_string(do_unwrap_ref(func)(m), i);\n   }\n   template <class OutputIter, class Traits>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&)\n   {\n      return (*this)(m, i, f);\n   }\nprivate:\n   Base func;\n   format_functor1(const format_functor1&);\n   format_functor1& operator=(const format_functor1&);\n};\n\ntemplate <class charT, class Match, class Traits>\nstruct format_functor_c_string\n{\n   format_functor_c_string(const charT* ps) : func(ps) {}\n\n   template <class OutputIter>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits())\n   {\n      //typedef typename Match::char_type char_type;\n      const charT* end = func;\n      while(*end) ++end;\n      return regex_format_imp(i, m, func, end, f, t);\n   }\nprivate:\n   const charT* func;\n   format_functor_c_string(const format_functor_c_string&);\n   format_functor_c_string& operator=(const format_functor_c_string&);\n};\n\ntemplate <class Container, class Match, class Traits>\nstruct format_functor_container\n{\n   format_functor_container(const Container& c) : func(c) {}\n\n   template <class OutputIter>\n   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits())\n   {\n      //typedef typename Match::char_type char_type;\n      return BOOST_REGEX_DETAIL_NS::regex_format_imp(i, m, func.begin(), func.end(), f, t);\n   }\nprivate:\n   const Container& func;\n   format_functor_container(const format_functor_container&);\n   format_functor_container& operator=(const format_functor_container&);\n};\n\ntemplate <class Func, class Match, class OutputIterator, class Traits = BOOST_REGEX_DETAIL_NS::trivial_format_traits<typename Match::char_type> >\nstruct compute_functor_type\n{\n   typedef typename format_traits<Func, Match, OutputIterator>::type tag;\n   typedef typename std::remove_cv< typename std::remove_pointer<Func>::type>::type maybe_char_type;\n\n   typedef typename std::conditional<\n      tag::value == 0, format_functor_c_string<maybe_char_type, Match, Traits>,\n      typename std::conditional<\n         tag::value == 1, format_functor_container<Func, Match, Traits>,\n         typename std::conditional<\n            tag::value == 2, format_functor1<Func, Match>,\n            typename std::conditional<\n               tag::value == 3, format_functor2<Func, Match>,\n               format_functor3<Func, Match>\n            >::type\n         >::type\n      >::type\n   >::type type;\n};\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\ntemplate <class OutputIterator, class Iterator, class Allocator, class Functor>\ninline OutputIterator regex_format(OutputIterator out,\n                          const match_results<Iterator, Allocator>& m,\n                          Functor fmt,\n                          match_flag_type flags = format_all\n                         )\n{\n   return m.format(out, fmt, flags);\n}\n\ntemplate <class Iterator, class Allocator, class Functor>\ninline std::basic_string<typename match_results<Iterator, Allocator>::char_type> regex_format(const match_results<Iterator, Allocator>& m, \n                                      Functor fmt, \n                                      match_flag_type flags = format_all)\n{\n   return m.format(fmt, flags);\n}\n\n} // namespace boost\n\n#endif  // BOOST_REGEX_FORMAT_HPP\n\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_fwd.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_fwd.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Forward declares boost::basic_regex<> and\n  *                associated typedefs.\n  */\n\n#ifndef BOOST_REGEX_FWD_HPP_INCLUDED\n#define BOOST_REGEX_FWD_HPP_INCLUDED\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n\n//\n// define BOOST_REGEX_NO_FWD if this\n// header doesn't work!\n//\n#ifdef BOOST_REGEX_NO_FWD\n#  ifndef BOOST_RE_REGEX_HPP\n#     include <boost/regex.hpp>\n#  endif\n#else\n\nnamespace boost{\n\ntemplate <class charT>\nclass cpp_regex_traits;\ntemplate <class charT>\nstruct c_regex_traits;\ntemplate <class charT>\nclass w32_regex_traits;\n\n#ifdef BOOST_REGEX_USE_WIN32_LOCALE\ntemplate <class charT, class implementationT = w32_regex_traits<charT> >\nstruct regex_traits;\n#elif defined(BOOST_REGEX_USE_CPP_LOCALE)\ntemplate <class charT, class implementationT = cpp_regex_traits<charT> >\nstruct regex_traits;\n#else\ntemplate <class charT, class implementationT = c_regex_traits<charT> >\nstruct regex_traits;\n#endif\n\ntemplate <class charT, class traits = regex_traits<charT> >\nclass basic_regex;\n\ntypedef basic_regex<char, regex_traits<char> > regex;\n#ifndef BOOST_NO_WREGEX\ntypedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;\n#endif\n\n} // namespace boost\n\n#endif  // BOOST_REGEX_NO_FWD\n\n#endif\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_grep.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_grep.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides regex_grep implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_REGEX_GREP_HPP\n#define BOOST_REGEX_V5_REGEX_GREP_HPP\n\n\nnamespace boost{\n\n//\n// regex_grep:\n// find all non-overlapping matches within the sequence first last:\n//\ntemplate <class Predicate, class BidiIterator, class charT, class traits>\ninline unsigned int regex_grep(Predicate foo, \n                               BidiIterator first, \n                               BidiIterator last, \n                               const basic_regex<charT, traits>& e, \n                               match_flag_type flags = match_default)\n{\n   if(e.flags() & regex_constants::failbit)\n      return false;\n\n   typedef typename match_results<BidiIterator>::allocator_type match_allocator_type;\n\n   match_results<BidiIterator> m;\n   BOOST_REGEX_DETAIL_NS::perl_matcher<BidiIterator, match_allocator_type, traits> matcher(first, last, m, e, flags, first);\n   unsigned int count = 0;\n   while(matcher.find())\n   {\n      ++count;\n      if(0 == foo(m))\n         return count; // caller doesn't want to go on\n      if(m[0].second == last)\n         return count; // we've reached the end, don't try and find an extra null match.\n      if(m.length() == 0)\n      {\n         if(m[0].second == last)\n            return count;\n         // we found a NULL-match, now try to find\n         // a non-NULL one at the same position:\n         match_results<BidiIterator, match_allocator_type> m2(m);\n         matcher.setf(match_not_null | match_continuous);\n         if(matcher.find())\n         {\n            ++count;\n            if(0 == foo(m))\n               return count;\n         }\n         else\n         {\n            // reset match back to where it was:\n            m = m2;\n         }\n         matcher.unsetf((match_not_null | match_continuous) & ~flags);\n      }\n   }\n   return count;\n}\n\n//\n// regex_grep convenience interfaces:\n//\ntemplate <class Predicate, class charT, class traits>\ninline unsigned int regex_grep(Predicate foo, const charT* str, \n                        const basic_regex<charT, traits>& e, \n                        match_flag_type flags = match_default)\n{\n   return regex_grep(foo, str, str + traits::length(str), e, flags);\n}\n\ntemplate <class Predicate, class ST, class SA, class charT, class traits>\ninline unsigned int regex_grep(Predicate foo, const std::basic_string<charT, ST, SA>& s, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   return regex_grep(foo, s.begin(), s.end(), e, flags);\n}\n\n} // namespace boost\n\n#endif  // BOOST_REGEX_V5_REGEX_GREP_HPP\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_iterator.hpp",
    "content": "/*\n *\n * Copyright (c) 2003\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_iterator.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides regex_iterator implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_REGEX_ITERATOR_HPP\n#define BOOST_REGEX_V5_REGEX_ITERATOR_HPP\n\n#include <memory>\n\nnamespace boost{\n\ntemplate <class BidirectionalIterator, \n          class charT,\n          class traits>\nclass regex_iterator_implementation \n{\n   typedef basic_regex<charT, traits> regex_type;\n\n   match_results<BidirectionalIterator> what;  // current match\n   BidirectionalIterator                base;  // start of sequence\n   BidirectionalIterator                end;   // end of sequence\n   const regex_type                     re;   // the expression\n   match_flag_type                      flags; // flags for matching\n\npublic:\n   regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f)\n      : base(), end(last), re(*p), flags(f){}\n   regex_iterator_implementation(const regex_iterator_implementation& other)\n      :what(other.what), base(other.base), end(other.end), re(other.re), flags(other.flags){}\n   bool init(BidirectionalIterator first)\n   {\n      base = first;\n      return regex_search(first, end, what, re, flags);\n   }\n   bool compare(const regex_iterator_implementation& that)\n   {\n      if(this == &that) return true;\n      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);\n   }\n   const match_results<BidirectionalIterator>& get()\n   { return what; }\n   bool next()\n   {\n      //if(what.prefix().first != what[0].second)\n      //   flags |= match_prev_avail;\n      BidirectionalIterator next_start = what[0].second;\n      match_flag_type f(flags);\n      if(!what.length() || (f & regex_constants::match_posix))\n         f |= regex_constants::match_not_initial_null;\n      //if(base != next_start)\n      //   f |= regex_constants::match_not_bob;\n      bool result = regex_search(next_start, end, what, re, f, base);\n      if(result)\n         what.set_base(base);\n      return result;\n   }\nprivate:\n   regex_iterator_implementation& operator=(const regex_iterator_implementation&);\n};\n\ntemplate <class BidirectionalIterator, \n          class charT = typename std::iterator_traits<BidirectionalIterator>::value_type,\n          class traits = regex_traits<charT> >\nclass regex_iterator \n{\nprivate:\n   typedef regex_iterator_implementation<BidirectionalIterator, charT, traits> impl;\n   typedef std::shared_ptr<impl> pimpl;\npublic:\n   typedef          basic_regex<charT, traits>                   regex_type;\n   typedef          match_results<BidirectionalIterator>                    value_type;\n   typedef typename std::iterator_traits<BidirectionalIterator>::difference_type \n                                                                            difference_type;\n   typedef          const value_type*                                       pointer;\n   typedef          const value_type&                                       reference; \n   typedef          std::forward_iterator_tag                               iterator_category;\n   \n   regex_iterator(){}\n   regex_iterator(BidirectionalIterator a, BidirectionalIterator b, \n                  const regex_type& re, \n                  match_flag_type m = match_default)\n                  : pdata(new impl(&re, b, m))\n   {\n      if(!pdata->init(a))\n      {\n         pdata.reset();\n      }\n   }\n   regex_iterator(const regex_iterator& that)\n      : pdata(that.pdata) {}\n   regex_iterator& operator=(const regex_iterator& that)\n   {\n      pdata = that.pdata;\n      return *this;\n   }\n   bool operator==(const regex_iterator& that)const\n   { \n      if((pdata.get() == 0) || (that.pdata.get() == 0))\n         return pdata.get() == that.pdata.get();\n      return pdata->compare(*(that.pdata.get())); \n   }\n   bool operator!=(const regex_iterator& that)const\n   { return !(*this == that); }\n   const value_type& operator*()const\n   { return pdata->get(); }\n   const value_type* operator->()const\n   { return &(pdata->get()); }\n   regex_iterator& operator++()\n   {\n      cow();\n      if(0 == pdata->next())\n      {\n         pdata.reset();\n      }\n      return *this;\n   }\n   regex_iterator operator++(int)\n   {\n      regex_iterator result(*this);\n      ++(*this);\n      return result;\n   }\nprivate:\n\n   pimpl pdata;\n\n   void cow()\n   {\n      // copy-on-write\n      if(pdata.get() && (pdata.use_count() > 1))\n      {\n         pdata.reset(new impl(*(pdata.get())));\n      }\n   }\n};\n\ntypedef regex_iterator<const char*> cregex_iterator;\ntypedef regex_iterator<std::string::const_iterator> sregex_iterator;\n#ifndef BOOST_NO_WREGEX\ntypedef regex_iterator<const wchar_t*> wcregex_iterator;\ntypedef regex_iterator<std::wstring::const_iterator> wsregex_iterator;\n#endif\n\n// make_regex_iterator:\ntemplate <class charT, class traits>\ninline regex_iterator<const charT*, charT, traits> make_regex_iterator(const charT* p, const basic_regex<charT, traits>& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, m);\n}\ntemplate <class charT, class traits, class ST, class SA>\ninline regex_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, m);\n}\n\n} // namespace boost\n\n#endif // BOOST_REGEX_V5_REGEX_ITERATOR_HPP\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_match.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_match.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Regular expression matching algorithms.\n  *                Note this is an internal header file included\n  *                by regex.hpp, do not include on its own.\n  */\n\n\n#ifndef BOOST_REGEX_MATCH_HPP\n#define BOOST_REGEX_MATCH_HPP\n\nnamespace boost{\n\n//\n// proc regex_match\n// returns true if the specified regular expression matches\n// the whole of the input.  Fills in what matched in m.\n//\ntemplate <class BidiIterator, class Allocator, class charT, class traits>\nbool regex_match(BidiIterator first, BidiIterator last, \n                 match_results<BidiIterator, Allocator>& m, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   BOOST_REGEX_DETAIL_NS::perl_matcher<BidiIterator, Allocator, traits> matcher(first, last, m, e, flags, first);\n   return matcher.match();\n}\ntemplate <class iterator, class charT, class traits>\nbool regex_match(iterator first, iterator last, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   match_results<iterator> m;\n   return regex_match(first, last, m, e, flags | regex_constants::match_any);\n}\n//\n// query_match convenience interfaces:\n//\ntemplate <class charT, class Allocator, class traits>\ninline bool regex_match(const charT* str, \n                        match_results<const charT*, Allocator>& m, \n                        const basic_regex<charT, traits>& e, \n                        match_flag_type flags = match_default)\n{\n   return regex_match(str, str + traits::length(str), m, e, flags);\n}\n\ntemplate <class ST, class SA, class Allocator, class charT, class traits>\ninline bool regex_match(const std::basic_string<charT, ST, SA>& s, \n                 match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   return regex_match(s.begin(), s.end(), m, e, flags);\n}\ntemplate <class charT, class traits>\ninline bool regex_match(const charT* str, \n                        const basic_regex<charT, traits>& e, \n                        match_flag_type flags = match_default)\n{\n   match_results<const charT*> m;\n   return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any);\n}\n\ntemplate <class ST, class SA, class charT, class traits>\ninline bool regex_match(const std::basic_string<charT, ST, SA>& s, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   typedef typename std::basic_string<charT, ST, SA>::const_iterator iterator;\n   match_results<iterator> m;\n   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);\n}\n\n\n} // namespace boost\n\n#endif   // BOOST_REGEX_MATCH_HPP\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_merge.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_format.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides formatting output routines for search and replace\n  *                operations.  Note this is an internal header file included\n  *                by regex.hpp, do not include on its own.\n  */\n\n#ifndef BOOST_REGEX_V5_REGEX_MERGE_HPP\n#define BOOST_REGEX_V5_REGEX_MERGE_HPP\n\n\nnamespace boost{\n\ntemplate <class OutputIterator, class Iterator, class traits, class charT>\ninline OutputIterator regex_merge(OutputIterator out,\n                         Iterator first,\n                         Iterator last,\n                         const basic_regex<charT, traits>& e, \n                         const charT* fmt, \n                         match_flag_type flags = match_default)\n{\n   return regex_replace(out, first, last, e, fmt, flags);\n}\n\ntemplate <class OutputIterator, class Iterator, class traits, class charT>\ninline OutputIterator regex_merge(OutputIterator out,\n                         Iterator first,\n                         Iterator last,\n                         const basic_regex<charT, traits>& e, \n                         const std::basic_string<charT>& fmt,\n                         match_flag_type flags = match_default)\n{\n   return regex_merge(out, first, last, e, fmt.c_str(), flags);\n}\n\ntemplate <class traits, class charT>\ninline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,\n                         const basic_regex<charT, traits>& e, \n                         const charT* fmt,\n                         match_flag_type flags = match_default)\n{\n   return regex_replace(s, e, fmt, flags);\n}\n\ntemplate <class traits, class charT>\ninline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,\n                         const basic_regex<charT, traits>& e, \n                         const std::basic_string<charT>& fmt,\n                         match_flag_type flags = match_default)\n{\n   return regex_replace(s, e, fmt, flags);\n}\n\n} // namespace boost\n\n#endif  // BOOST_REGEX_V5_REGEX_MERGE_HPP\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_raw_buffer.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_raw_buffer.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Raw character buffer for regex code.\n  *                Note this is an internal header file included\n  *                by regex.hpp, do not include on its own.\n  */\n\n#ifndef BOOST_REGEX_RAW_BUFFER_HPP\n#define BOOST_REGEX_RAW_BUFFER_HPP\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n\n#include <algorithm>\n#include <cstddef>\n\nnamespace boost{\n   namespace BOOST_REGEX_DETAIL_NS{\n\nstruct empty_padding{};\n\nunion padding\n{\n   void* p;\n   unsigned int i;\n};\n\ntemplate <int N>\nstruct padding3\n{\n   enum{\n      padding_size = 8,\n      padding_mask = 7\n   };\n};\n\ntemplate<>\nstruct padding3<2>\n{\n   enum{\n      padding_size = 2,\n      padding_mask = 1\n   };\n};\n\ntemplate<>\nstruct padding3<4>\n{\n   enum{\n      padding_size = 4,\n      padding_mask = 3\n   };\n};\n\ntemplate<>\nstruct padding3<8>\n{\n   enum{\n      padding_size = 8,\n      padding_mask = 7\n   };\n};\n\ntemplate<>\nstruct padding3<16>\n{\n   enum{\n      padding_size = 16,\n      padding_mask = 15\n   };\n};\n\nenum{\n   padding_size = padding3<sizeof(padding)>::padding_size,\n   padding_mask = padding3<sizeof(padding)>::padding_mask\n};\n\n//\n// class raw_storage\n// basically this is a simplified vector<unsigned char>\n// this is used by basic_regex for expression storage\n//\n\nclass raw_storage\n{\npublic:\n   typedef std::size_t           size_type;\n   typedef unsigned char*        pointer;\nprivate:\n   pointer last, start, end;\npublic:\n\n   raw_storage();\n   raw_storage(size_type n);\n\n   ~raw_storage()\n   {\n      ::operator delete(start);\n   }\n\n   void  resize(size_type n)\n   {\n      size_type newsize = start ? last - start : 1024;\n      while (newsize < n)\n         newsize *= 2;\n      size_type datasize = end - start;\n      // extend newsize to WORD/DWORD boundary:\n      newsize = (newsize + padding_mask) & ~(padding_mask);\n\n      // allocate and copy data:\n      pointer ptr = static_cast<pointer>(::operator new(newsize));\n      BOOST_REGEX_NOEH_ASSERT(ptr)\n         if (start)\n            std::memcpy(ptr, start, datasize);\n\n      // get rid of old buffer:\n      ::operator delete(start);\n\n      // and set up pointers:\n      start = ptr;\n      end = ptr + datasize;\n      last = ptr + newsize;\n   }\n\n   void*  extend(size_type n)\n   {\n      if(size_type(last - end) < n)\n         resize(n + (end - start));\n      pointer result = end;\n      end += n;\n      return result;\n   }\n\n   void*  insert(size_type pos, size_type n)\n   {\n      BOOST_REGEX_ASSERT(pos <= size_type(end - start));\n      if (size_type(last - end) < n)\n         resize(n + (end - start));\n      void* result = start + pos;\n      std::memmove(start + pos + n, start + pos, (end - start) - pos);\n      end += n;\n      return result;\n   }\n\n   size_type  size()\n   {\n      return size_type(end - start);\n   }\n\n   size_type  capacity()\n   {\n      return size_type(last - start);\n   }\n\n   void*  data()const\n   {\n      return start;\n   }\n\n   size_type  index(void* ptr)\n   {\n      return size_type(static_cast<pointer>(ptr) - static_cast<pointer>(data()));\n   }\n\n   void  clear()\n   {\n      end = start;\n   }\n\n   void  align()\n   {\n      // move end up to a boundary:\n      end = start + (((end - start) + padding_mask) & ~padding_mask);\n   }\n   void swap(raw_storage& that)\n   {\n      std::swap(start, that.start);\n      std::swap(end, that.end);\n      std::swap(last, that.last);\n  }\n};\n\ninline raw_storage::raw_storage()\n{\n   last = start = end = 0;\n}\n\ninline raw_storage::raw_storage(size_type n)\n{\n   start = end = static_cast<pointer>(::operator new(n));\n   BOOST_REGEX_NOEH_ASSERT(start)\n   last = start + n;\n}\n\n} // namespace BOOST_REGEX_DETAIL_NS\n} // namespace boost\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_replace.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2009\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_format.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides formatting output routines for search and replace\n  *                operations.  Note this is an internal header file included\n  *                by regex.hpp, do not include on its own.\n  */\n\n#ifndef BOOST_REGEX_V5_REGEX_REPLACE_HPP\n#define BOOST_REGEX_V5_REGEX_REPLACE_HPP\n\n\nnamespace boost{\n\ntemplate <class OutputIterator, class BidirectionalIterator, class traits, class charT, class Formatter>\nOutputIterator regex_replace(OutputIterator out,\n                         BidirectionalIterator first,\n                         BidirectionalIterator last,\n                         const basic_regex<charT, traits>& e, \n                         Formatter fmt, \n                         match_flag_type flags = match_default)\n{\n   regex_iterator<BidirectionalIterator, charT, traits> i(first, last, e, flags);\n   regex_iterator<BidirectionalIterator, charT, traits> j;\n   if(i == j)\n   {\n      if(!(flags & regex_constants::format_no_copy))\n         out = BOOST_REGEX_DETAIL_NS::copy(first, last, out);\n   }\n   else\n   {\n      BidirectionalIterator last_m(first);\n      while(i != j)\n      {\n         if(!(flags & regex_constants::format_no_copy))\n            out = BOOST_REGEX_DETAIL_NS::copy(i->prefix().first, i->prefix().second, out);\n         out = i->format(out, fmt, flags, e);\n         last_m = (*i)[0].second;\n         if(flags & regex_constants::format_first_only)\n            break;\n         ++i;\n      }\n      if(!(flags & regex_constants::format_no_copy))\n         out = BOOST_REGEX_DETAIL_NS::copy(last_m, last, out);\n   }\n   return out;\n}\n\ntemplate <class traits, class charT, class Formatter>\nstd::basic_string<charT> regex_replace(const std::basic_string<charT>& s,\n                         const basic_regex<charT, traits>& e, \n                         Formatter fmt,\n                         match_flag_type flags = match_default)\n{\n   std::basic_string<charT> result;\n   BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<charT> > i(result);\n   regex_replace(i, s.begin(), s.end(), e, fmt, flags);\n   return result;\n}\n\n} // namespace boost\n\n#endif  // BOOST_REGEX_V5_REGEX_REPLACE_HPP\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_search.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_search.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides regex_search implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_REGEX_SEARCH_HPP\n#define BOOST_REGEX_V5_REGEX_SEARCH_HPP\n\n\nnamespace boost{\n\ntemplate <class BidiIterator, class Allocator, class charT, class traits>\nbool regex_search(BidiIterator first, BidiIterator last, \n                  match_results<BidiIterator, Allocator>& m, \n                  const basic_regex<charT, traits>& e, \n                  match_flag_type flags = match_default)\n{\n   return regex_search(first, last, m, e, flags, first);\n}\n\ntemplate <class BidiIterator, class Allocator, class charT, class traits>\nbool regex_search(BidiIterator first, BidiIterator last, \n                  match_results<BidiIterator, Allocator>& m, \n                  const basic_regex<charT, traits>& e, \n                  match_flag_type flags,\n                  BidiIterator base)\n{\n   if(e.flags() & regex_constants::failbit)\n      return false;\n\n   BOOST_REGEX_DETAIL_NS::perl_matcher<BidiIterator, Allocator, traits> matcher(first, last, m, e, flags, base);\n   return matcher.find();\n}\n\n//\n// regex_search convenience interfaces:\n//\ntemplate <class charT, class Allocator, class traits>\ninline bool regex_search(const charT* str, \n                        match_results<const charT*, Allocator>& m, \n                        const basic_regex<charT, traits>& e, \n                        match_flag_type flags = match_default)\n{\n   return regex_search(str, str + traits::length(str), m, e, flags);\n}\n\ntemplate <class ST, class SA, class Allocator, class charT, class traits>\ninline bool regex_search(const std::basic_string<charT, ST, SA>& s, \n                 match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   return regex_search(s.begin(), s.end(), m, e, flags);\n}\n\ntemplate <class BidiIterator, class charT, class traits>\nbool regex_search(BidiIterator first, BidiIterator last, \n                  const basic_regex<charT, traits>& e, \n                  match_flag_type flags = match_default)\n{\n   if(e.flags() & regex_constants::failbit)\n      return false;\n\n   match_results<BidiIterator> m;\n   typedef typename match_results<BidiIterator>::allocator_type match_alloc_type;\n   BOOST_REGEX_DETAIL_NS::perl_matcher<BidiIterator, match_alloc_type, traits> matcher(first, last, m, e, flags | regex_constants::match_any, first);\n   return matcher.find();\n}\n\ntemplate <class charT, class traits>\ninline bool regex_search(const charT* str, \n                        const basic_regex<charT, traits>& e, \n                        match_flag_type flags = match_default)\n{\n   return regex_search(str, str + traits::length(str), e, flags);\n}\n\ntemplate <class ST, class SA, class charT, class traits>\ninline bool regex_search(const std::basic_string<charT, ST, SA>& s, \n                 const basic_regex<charT, traits>& e, \n                 match_flag_type flags = match_default)\n{\n   return regex_search(s.begin(), s.end(), e, flags);\n}\n\n} // namespace boost\n\n#endif  // BOOST_REGEX_V5_REGEX_SEARCH_HPP\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_split.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_split.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Implements regex_split and associated functions.\n  *                Note this is an internal header file included\n  *                by regex.hpp, do not include on its own.\n  */\n\n#ifndef BOOST_REGEX_SPLIT_HPP\n#define BOOST_REGEX_SPLIT_HPP\n\nnamespace boost{\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\nnamespace BOOST_REGEX_DETAIL_NS{\n\ntemplate <class charT>\nconst basic_regex<charT>& get_default_expression(charT)\n{\n   static const charT expression_text[4] = { '\\\\', 's', '+', '\\00', };\n   static const basic_regex<charT> e(expression_text);\n   return e;\n}\n\ntemplate <class OutputIterator, class charT, class Traits1, class Alloc1>\nclass split_pred\n{\n   typedef std::basic_string<charT, Traits1, Alloc1> string_type;\n   typedef typename string_type::const_iterator iterator_type;\n   iterator_type* p_last;\n   OutputIterator* p_out;\n   std::size_t* p_max;\n   std::size_t initial_max;\npublic:\n   split_pred(iterator_type* a, OutputIterator* b, std::size_t* c)\n      : p_last(a), p_out(b), p_max(c), initial_max(*c) {}\n\n   bool operator()(const match_results<iterator_type>& what);\n};\n\ntemplate <class OutputIterator, class charT, class Traits1, class Alloc1>\nbool split_pred<OutputIterator, charT, Traits1, Alloc1>::operator()\n   (const match_results<iterator_type>& what)\n{\n   *p_last = what[0].second;\n   if(what.size() > 1)\n   {\n      // output sub-expressions only:\n      for(unsigned i = 1; i < what.size(); ++i)\n      {\n         *(*p_out) = what.str(i);\n         ++(*p_out);\n         if(0 == --*p_max) return false;\n      }\n      return *p_max != 0;\n   }\n   else\n   {\n      // output $` only if it's not-null or not at the start of the input:\n      const sub_match<iterator_type>& sub = what[-1];\n      if((sub.first != sub.second) || (*p_max != initial_max))\n      {\n         *(*p_out) = sub.str();\n         ++(*p_out);\n         return --*p_max;\n      }\n   }\n   //\n   // initial null, do nothing:\n   return true;\n}\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\ntemplate <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>\nstd::size_t regex_split(OutputIterator out,\n                   std::basic_string<charT, Traits1, Alloc1>& s, \n                   const basic_regex<charT, Traits2>& e,\n                   match_flag_type flags,\n                   std::size_t max_split)\n{\n   typedef typename std::basic_string<charT, Traits1, Alloc1>::const_iterator  ci_t;\n   //typedef typename match_results<ci_t>::allocator_type                        match_allocator;\n   ci_t last = s.begin();\n   std::size_t init_size = max_split;\n   BOOST_REGEX_DETAIL_NS::split_pred<OutputIterator, charT, Traits1, Alloc1> pred(&last, &out, &max_split);\n   ci_t i, j;\n   i = s.begin();\n   j = s.end();\n   regex_grep(pred, i, j, e, flags);\n   //\n   // if there is still input left, do a final push as long as max_split\n   // is not exhausted, and we're not splitting sub-expressions rather \n   // than whitespace:\n   if(max_split && (last != s.end()) && (e.mark_count() == 0))\n   {\n      *out = std::basic_string<charT, Traits1, Alloc1>((ci_t)last, (ci_t)s.end());\n      ++out;\n      last = s.end();\n      --max_split;\n   }\n   //\n   // delete from the string everything that has been processed so far:\n   s.erase(0, last - s.begin());\n   //\n   // return the number of new records pushed:\n   return init_size - max_split;\n}\n\ntemplate <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>\ninline std::size_t regex_split(OutputIterator out,\n                   std::basic_string<charT, Traits1, Alloc1>& s, \n                   const basic_regex<charT, Traits2>& e,\n                   match_flag_type flags = match_default)\n{\n   return regex_split(out, s, e, flags, UINT_MAX);\n}\n\ntemplate <class OutputIterator, class charT, class Traits1, class Alloc1>\ninline std::size_t regex_split(OutputIterator out,\n                   std::basic_string<charT, Traits1, Alloc1>& s)\n{\n   return regex_split(out, s, BOOST_REGEX_DETAIL_NS::get_default_expression(charT(0)), match_default, UINT_MAX);\n}\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\n} // namespace boost\n\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_token_iterator.hpp",
    "content": "/*\n *\n * Copyright (c) 2003\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_token_iterator.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides regex_token_iterator implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP\n#define BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP\n\n#include <memory>\n\nnamespace boost{\n\ntemplate <class BidirectionalIterator,\n          class charT,\n          class traits>\nclass regex_token_iterator_implementation \n{\n   typedef basic_regex<charT, traits> regex_type;\n   typedef sub_match<BidirectionalIterator>      value_type;\n\n   match_results<BidirectionalIterator> what;   // current match\n   BidirectionalIterator                base;    // start of search area\n   BidirectionalIterator                end;    // end of search area\n   const regex_type                     re;    // the expression\n   match_flag_type                      flags;  // match flags\n   value_type                           result; // the current string result\n   int                                  N;      // the current sub-expression being enumerated\n   std::vector<int>                     subs;   // the sub-expressions to enumerate\n\npublic:\n   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f)\n      : end(last), re(*p), flags(f), N(0){ subs.push_back(sub); }\n   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f)\n      : end(last), re(*p), flags(f), N(0), subs(v){}\n   template <std::size_t CN>\n   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f)\n      : end(last), re(*p), flags(f), N(0)\n   {\n      for(std::size_t i = 0; i < CN; ++i)\n      {\n         subs.push_back(submatches[i]);\n      }\n   }\n   regex_token_iterator_implementation(const regex_token_iterator_implementation& other) = default;\n   bool init(BidirectionalIterator first)\n   {\n      N = 0;\n      base = first;\n      if(regex_search(first, end, what, re, flags, base) == true)\n      {\n         N = 0;\n         result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]);\n         return true;\n      }\n      else if((subs[N] == -1) && (first != end))\n      {\n         result.first = first;\n         result.second = end;\n         result.matched = (first != end);\n         N = -1;\n         return true;\n      }\n      return false;\n   }\n   bool compare(const regex_token_iterator_implementation& that)\n   {\n      if(this == &that) return true;\n      return (&re.get_data() == &that.re.get_data()) \n         && (end == that.end) \n         && (flags == that.flags) \n         && (N == that.N) \n         && (what[0].first == that.what[0].first) \n         && (what[0].second == that.what[0].second);\n   }\n   const value_type& get()\n   { return result; }\n   bool next()\n   {\n      if(N == -1)\n         return false;\n      if(N+1 < (int)subs.size())\n      {\n         ++N;\n         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);\n         return true;\n      }\n      //if(what.prefix().first != what[0].second)\n      //   flags |= /*match_prev_avail |*/ regex_constants::match_not_bob;\n      BidirectionalIterator last_end(what[0].second);\n      if(regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base))\n      {\n         N =0;\n         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);\n         return true;\n      }\n      else if((last_end != end) && (subs[0] == -1))\n      {\n         N =-1;\n         result.first = last_end;\n         result.second = end;\n         result.matched = (last_end != end);\n         return true;\n      }\n      return false;\n   }\nprivate:\n   regex_token_iterator_implementation& operator=(const regex_token_iterator_implementation&);\n};\n\ntemplate <class BidirectionalIterator, \n          class charT = typename std::iterator_traits<BidirectionalIterator>::value_type,\n          class traits = regex_traits<charT> >\nclass regex_token_iterator \n{\nprivate:\n   typedef regex_token_iterator_implementation<BidirectionalIterator, charT, traits> impl;\n   typedef std::shared_ptr<impl> pimpl;\npublic:\n   typedef          basic_regex<charT, traits>                   regex_type;\n   typedef          sub_match<BidirectionalIterator>                        value_type;\n   typedef typename std::iterator_traits<BidirectionalIterator>::difference_type \n                                                                            difference_type;\n   typedef          const value_type*                                       pointer;\n   typedef          const value_type&                                       reference; \n   typedef          std::forward_iterator_tag                               iterator_category;\n   \n   regex_token_iterator(){}\n   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, \n                        int submatch = 0, match_flag_type m = match_default)\n                        : pdata(new impl(&re, b, submatch, m))\n   {\n      if(!pdata->init(a))\n         pdata.reset();\n   }\n   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, \n                        const std::vector<int>& submatches, match_flag_type m = match_default)\n                        : pdata(new impl(&re, b, submatches, m))\n   {\n      if(!pdata->init(a))\n         pdata.reset();\n   }\n   template <std::size_t N>\n   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,\n                        const int (&submatches)[N], match_flag_type m = match_default)\n                        : pdata(new impl(&re, b, submatches, m))\n   {\n      if(!pdata->init(a))\n         pdata.reset();\n   }\n   regex_token_iterator(const regex_token_iterator& that)\n      : pdata(that.pdata) {}\n   regex_token_iterator& operator=(const regex_token_iterator& that)\n   {\n      pdata = that.pdata;\n      return *this;\n   }\n   bool operator==(const regex_token_iterator& that)const\n   { \n      if((pdata.get() == 0) || (that.pdata.get() == 0))\n         return pdata.get() == that.pdata.get();\n      return pdata->compare(*(that.pdata.get())); \n   }\n   bool operator!=(const regex_token_iterator& that)const\n   { return !(*this == that); }\n   const value_type& operator*()const\n   { return pdata->get(); }\n   const value_type* operator->()const\n   { return &(pdata->get()); }\n   regex_token_iterator& operator++()\n   {\n      cow();\n      if(0 == pdata->next())\n      {\n         pdata.reset();\n      }\n      return *this;\n   }\n   regex_token_iterator operator++(int)\n   {\n      regex_token_iterator result(*this);\n      ++(*this);\n      return result;\n   }\nprivate:\n\n   pimpl pdata;\n\n   void cow()\n   {\n      // copy-on-write\n      if(pdata.get() && (pdata.use_count() > 1))\n      {\n         pdata.reset(new impl(*(pdata.get())));\n      }\n   }\n};\n\ntypedef regex_token_iterator<const char*> cregex_token_iterator;\ntypedef regex_token_iterator<std::string::const_iterator> sregex_token_iterator;\n#ifndef BOOST_NO_WREGEX\ntypedef regex_token_iterator<const wchar_t*> wcregex_token_iterator;\ntypedef regex_token_iterator<std::wstring::const_iterator> wsregex_token_iterator;\n#endif\n\ntemplate <class charT, class traits>\ninline regex_token_iterator<const charT*, charT, traits> make_regex_token_iterator(const charT* p, const basic_regex<charT, traits>& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_token_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, submatch, m);\n}\ntemplate <class charT, class traits, class ST, class SA>\ninline regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m);\n}\ntemplate <class charT, class traits, std::size_t N>\ninline regex_token_iterator<const charT*, charT, traits> make_regex_token_iterator(const charT* p, const basic_regex<charT, traits>& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_token_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, submatch, m);\n}\ntemplate <class charT, class traits, class ST, class SA, std::size_t N>\ninline regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m);\n}\ntemplate <class charT, class traits>\ninline regex_token_iterator<const charT*, charT, traits> make_regex_token_iterator(const charT* p, const basic_regex<charT, traits>& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_token_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, submatch, m);\n}\ntemplate <class charT, class traits, class ST, class SA>\ninline regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m);\n}\n\n} // namespace boost\n\n#endif // BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 2003\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_traits.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression traits classes.\n  */\n\n#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED\n#define BOOST_REGEX_TRAITS_HPP_INCLUDED\n\n#include <boost/regex/config.hpp>\n#include <boost/regex/v5/regex_workaround.hpp>\n#include <boost/regex/v5/syntax_type.hpp>\n#include <boost/regex/v5/error_type.hpp>\n#include <boost/regex/v5/regex_traits_defaults.hpp>\n#include <boost/regex/v5/cpp_regex_traits.hpp>\n#include <boost/regex/v5/c_regex_traits.hpp>\n#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)\n#     include <boost/regex/v5/w32_regex_traits.hpp>\n#endif\n#include <boost/regex_fwd.hpp>\n\nnamespace boost{\n\ntemplate <class charT, class implementationT >\nstruct regex_traits : public implementationT\n{\n   regex_traits() : implementationT() {}\n};\n\n//\n// class regex_traits_wrapper.\n// this is what our implementation will actually store;\n// it provides default implementations of the \"optional\"\n// interfaces that we support, in addition to the\n// required \"standard\" ones:\n//\nnamespace BOOST_REGEX_DETAIL_NS{\n\n   template <class T>\n   struct has_boost_extensions_tag\n   {\n      template <class U>\n      static double checker(U*, typename U::boost_extensions_tag* = nullptr);\n      static char   checker(...);\n      static T* get();\n\n      static const bool value = sizeof(checker(get())) > 1;\n   };\n   \n\ntemplate <class BaseT>\nstruct default_wrapper : public BaseT\n{\n   typedef typename BaseT::char_type char_type;\n   std::string error_string(::boost::regex_constants::error_type e)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(e);\n   }\n   ::boost::regex_constants::syntax_type syntax_type(char_type c)const\n   {\n      return (char_type(c & 0x7f) == c) ? get_default_syntax_type(static_cast<char>(c)) : ::boost::regex_constants::syntax_char;\n   }\n   ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c)const\n   {\n      return (char_type(c & 0x7f) == c) ? get_default_escape_syntax_type(static_cast<char>(c)) : ::boost::regex_constants::escape_type_identity;\n   }\n   std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this);\n   }\n   char_type translate(char_type c, bool icase)const\n   {\n      return (icase ? this->translate_nocase(c) : this->translate(c));\n   }\n   char_type translate(char_type c)const\n   {\n      return BaseT::translate(c);\n   }\n   char_type tolower(char_type c)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::global_lower(c);\n   }\n   char_type toupper(char_type c)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::global_upper(c);\n   }\n};\n\ntemplate <class BaseT, bool has_extensions>\nstruct compute_wrapper_base\n{\n   typedef BaseT type;\n};\ntemplate <class BaseT>\nstruct compute_wrapper_base<BaseT, false>\n{\n   typedef default_wrapper<BaseT> type;\n};\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\ntemplate <class BaseT>\nstruct regex_traits_wrapper \n   : public ::boost::BOOST_REGEX_DETAIL_NS::compute_wrapper_base<\n               BaseT, \n               ::boost::BOOST_REGEX_DETAIL_NS::has_boost_extensions_tag<BaseT>::value\n            >::type\n{\n   regex_traits_wrapper(){}\nprivate:\n   regex_traits_wrapper(const regex_traits_wrapper&);\n   regex_traits_wrapper& operator=(const regex_traits_wrapper&);\n};\n\n} // namespace boost\n\n#endif // include\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_traits_defaults.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the\n * Boost Software License, Version 1.0. (See accompanying file\n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_traits_defaults.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares API's for access to regex_traits default properties.\n  */\n\n#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED\n#define BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED\n\n#include <boost/regex/config.hpp>\n\n#include <boost/regex/v5/syntax_type.hpp>\n#include <boost/regex/v5/error_type.hpp>\n#include <boost/regex/v5/regex_workaround.hpp>\n#include <type_traits>\n#include <cstdint>\n#include <cctype>\n#include <locale>\n#include <cwctype>\n#include <limits>\n\nnamespace boost{ namespace BOOST_REGEX_DETAIL_NS{\n\n\n//\n// helpers to suppress warnings:\n//\ntemplate <class charT>\ninline bool is_extended(charT c)\n{\n   typedef typename std::make_unsigned<charT>::type unsigned_type; \n   return (sizeof(charT) > 1) && (static_cast<unsigned_type>(c) >= 256u); \n}\ninline bool is_extended(char)\n{ return false; }\n\ninline const char*  get_default_syntax(regex_constants::syntax_type n)\n{\n   // if the user hasn't supplied a message catalog, then this supplies\n   // default \"messages\" for us to load in the range 1-100.\n   const char* messages[] = {\n         \"\",\n         \"(\",\n         \")\",\n         \"$\",\n         \"^\",\n         \".\",\n         \"*\",\n         \"+\",\n         \"?\",\n         \"[\",\n         \"]\",\n         \"|\",\n         \"\\\\\",\n         \"#\",\n         \"-\",\n         \"{\",\n         \"}\",\n         \"0123456789\",\n         \"b\",\n         \"B\",\n         \"<\",\n         \">\",\n         \"\",\n         \"\",\n         \"A`\",\n         \"z'\",\n         \"\\n\",\n         \",\",\n         \"a\",\n         \"f\",\n         \"n\",\n         \"r\",\n         \"t\",\n         \"v\",\n         \"x\",\n         \"c\",\n         \":\",\n         \"=\",\n         \"e\",\n         \"\",\n         \"\",\n         \"\",\n         \"\",\n         \"\",\n         \"\",\n         \"\",\n         \"\",\n         \"E\",\n         \"Q\",\n         \"X\",\n         \"C\",\n         \"Z\",\n         \"G\",\n         \"!\",\n         \"p\",\n         \"P\",\n         \"N\",\n         \"gk\",\n         \"K\",\n         \"R\",\n   };\n\n   return ((n >= (sizeof(messages) / sizeof(messages[1]))) ? \"\" : messages[n]);\n}\n\ninline const char*  get_default_error_string(regex_constants::error_type n)\n{\n   static const char* const s_default_error_messages[] = {\n      \"Success\",                                                            /* REG_NOERROR 0 error_ok */\n      \"No match\",                                                           /* REG_NOMATCH 1 error_no_match */\n      \"Invalid regular expression.\",                                        /* REG_BADPAT 2 error_bad_pattern */\n      \"Invalid collation character.\",                                       /* REG_ECOLLATE 3 error_collate */\n      \"Invalid character class name, collating name, or character range.\",  /* REG_ECTYPE 4 error_ctype */\n      \"Invalid or unterminated escape sequence.\",                           /* REG_EESCAPE 5 error_escape */\n      \"Invalid back reference: specified capturing group does not exist.\",  /* REG_ESUBREG 6 error_backref */\n      \"Unmatched [ or [^ in character class declaration.\",                  /* REG_EBRACK 7 error_brack */\n      \"Unmatched marking parenthesis ( or \\\\(.\",                            /* REG_EPAREN 8 error_paren */\n      \"Unmatched quantified repeat operator { or \\\\{.\",                     /* REG_EBRACE 9 error_brace */\n      \"Invalid content of repeat range.\",                                   /* REG_BADBR 10 error_badbrace */\n      \"Invalid range end in character class\",                               /* REG_ERANGE 11 error_range */\n      \"Out of memory.\",                                                     /* REG_ESPACE 12 error_space NOT USED */\n      \"Invalid preceding regular expression prior to repetition operator.\", /* REG_BADRPT 13 error_badrepeat */\n      \"Premature end of regular expression\",                                /* REG_EEND 14 error_end NOT USED */\n      \"Regular expression is too large.\",                                   /* REG_ESIZE 15 error_size NOT USED */\n      \"Unmatched ) or \\\\)\",                                                 /* REG_ERPAREN 16 error_right_paren NOT USED */\n      \"Empty regular expression.\",                                          /* REG_EMPTY 17 error_empty */\n      \"The complexity of matching the regular expression exceeded predefined bounds.  \"\n      \"Try refactoring the regular expression to make each choice made by the state machine unambiguous.  \"\n      \"This exception is thrown to prevent \\\"eternal\\\" matches that take an \"\n      \"indefinite period time to locate.\",                                  /* REG_ECOMPLEXITY 18 error_complexity */\n      \"Ran out of stack space trying to match the regular expression.\",     /* REG_ESTACK 19 error_stack */\n      \"Invalid or unterminated Perl (?...) sequence.\",                      /* REG_E_PERL 20 error_perl */\n      \"Unknown error.\",                                                     /* REG_E_UNKNOWN 21 error_unknown */\n   };\n\n   return (n > ::boost::regex_constants::error_unknown) ? s_default_error_messages[::boost::regex_constants::error_unknown] : s_default_error_messages[n];\n}\n\ninline regex_constants::syntax_type  get_default_syntax_type(char c)\n{\n   //\n   // char_syntax determines how the compiler treats a given character\n   // in a regular expression.\n   //\n   static regex_constants::syntax_type char_syntax[] = {\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_newline,     /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /* */    // 32\n      regex_constants::syntax_not,        /*!*/\n      regex_constants::syntax_char,        /*\"*/\n      regex_constants::syntax_hash,        /*#*/\n      regex_constants::syntax_dollar,        /*$*/\n      regex_constants::syntax_char,        /*%*/\n      regex_constants::syntax_char,        /*&*/\n      regex_constants::escape_type_end_buffer,  /*'*/\n      regex_constants::syntax_open_mark,        /*(*/\n      regex_constants::syntax_close_mark,        /*)*/\n      regex_constants::syntax_star,        /***/\n      regex_constants::syntax_plus,        /*+*/\n      regex_constants::syntax_comma,        /*,*/\n      regex_constants::syntax_dash,        /*-*/\n      regex_constants::syntax_dot,        /*.*/\n      regex_constants::syntax_char,        /*/*/\n      regex_constants::syntax_digit,        /*0*/\n      regex_constants::syntax_digit,        /*1*/\n      regex_constants::syntax_digit,        /*2*/\n      regex_constants::syntax_digit,        /*3*/\n      regex_constants::syntax_digit,        /*4*/\n      regex_constants::syntax_digit,        /*5*/\n      regex_constants::syntax_digit,        /*6*/\n      regex_constants::syntax_digit,        /*7*/\n      regex_constants::syntax_digit,        /*8*/\n      regex_constants::syntax_digit,        /*9*/\n      regex_constants::syntax_colon,        /*:*/\n      regex_constants::syntax_char,        /*;*/\n      regex_constants::escape_type_left_word, /*<*/\n      regex_constants::syntax_equal,        /*=*/\n      regex_constants::escape_type_right_word, /*>*/\n      regex_constants::syntax_question,        /*?*/\n      regex_constants::syntax_char,        /*@*/\n      regex_constants::syntax_char,        /*A*/\n      regex_constants::syntax_char,        /*B*/\n      regex_constants::syntax_char,        /*C*/\n      regex_constants::syntax_char,        /*D*/\n      regex_constants::syntax_char,        /*E*/\n      regex_constants::syntax_char,        /*F*/\n      regex_constants::syntax_char,        /*G*/\n      regex_constants::syntax_char,        /*H*/\n      regex_constants::syntax_char,        /*I*/\n      regex_constants::syntax_char,        /*J*/\n      regex_constants::syntax_char,        /*K*/\n      regex_constants::syntax_char,        /*L*/\n      regex_constants::syntax_char,        /*M*/\n      regex_constants::syntax_char,        /*N*/\n      regex_constants::syntax_char,        /*O*/\n      regex_constants::syntax_char,        /*P*/\n      regex_constants::syntax_char,        /*Q*/\n      regex_constants::syntax_char,        /*R*/\n      regex_constants::syntax_char,        /*S*/\n      regex_constants::syntax_char,        /*T*/\n      regex_constants::syntax_char,        /*U*/\n      regex_constants::syntax_char,        /*V*/\n      regex_constants::syntax_char,        /*W*/\n      regex_constants::syntax_char,        /*X*/\n      regex_constants::syntax_char,        /*Y*/\n      regex_constants::syntax_char,        /*Z*/\n      regex_constants::syntax_open_set,        /*[*/\n      regex_constants::syntax_escape,        /*\\*/\n      regex_constants::syntax_close_set,        /*]*/\n      regex_constants::syntax_caret,        /*^*/\n      regex_constants::syntax_char,        /*_*/\n      regex_constants::syntax_char,        /*`*/\n      regex_constants::syntax_char,        /*a*/\n      regex_constants::syntax_char,        /*b*/\n      regex_constants::syntax_char,        /*c*/\n      regex_constants::syntax_char,        /*d*/\n      regex_constants::syntax_char,        /*e*/\n      regex_constants::syntax_char,        /*f*/\n      regex_constants::syntax_char,        /*g*/\n      regex_constants::syntax_char,        /*h*/\n      regex_constants::syntax_char,        /*i*/\n      regex_constants::syntax_char,        /*j*/\n      regex_constants::syntax_char,        /*k*/\n      regex_constants::syntax_char,        /*l*/\n      regex_constants::syntax_char,        /*m*/\n      regex_constants::syntax_char,        /*n*/\n      regex_constants::syntax_char,        /*o*/\n      regex_constants::syntax_char,        /*p*/\n      regex_constants::syntax_char,        /*q*/\n      regex_constants::syntax_char,        /*r*/\n      regex_constants::syntax_char,        /*s*/\n      regex_constants::syntax_char,        /*t*/\n      regex_constants::syntax_char,        /*u*/\n      regex_constants::syntax_char,        /*v*/\n      regex_constants::syntax_char,        /*w*/\n      regex_constants::syntax_char,        /*x*/\n      regex_constants::syntax_char,        /*y*/\n      regex_constants::syntax_char,        /*z*/\n      regex_constants::syntax_open_brace,        /*{*/\n      regex_constants::syntax_or,        /*|*/\n      regex_constants::syntax_close_brace,        /*}*/\n      regex_constants::syntax_char,        /*~*/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n      regex_constants::syntax_char,        /**/\n   };\n\n   return char_syntax[(unsigned char)c];\n}\n\ninline regex_constants::escape_syntax_type  get_default_escape_syntax_type(char c)\n{\n   //\n   // char_syntax determines how the compiler treats a given character\n   // in a regular expression.\n   //\n   static regex_constants::escape_syntax_type char_syntax[] = {\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,     /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /* */    // 32\n      regex_constants::escape_type_identity,        /*!*/\n      regex_constants::escape_type_identity,        /*\"*/\n      regex_constants::escape_type_identity,        /*#*/\n      regex_constants::escape_type_identity,        /*$*/\n      regex_constants::escape_type_identity,        /*%*/\n      regex_constants::escape_type_identity,        /*&*/\n      regex_constants::escape_type_end_buffer,        /*'*/\n      regex_constants::syntax_open_mark,        /*(*/\n      regex_constants::syntax_close_mark,        /*)*/\n      regex_constants::escape_type_identity,        /***/\n      regex_constants::syntax_plus,                 /*+*/\n      regex_constants::escape_type_identity,        /*,*/\n      regex_constants::escape_type_identity,        /*-*/\n      regex_constants::escape_type_identity,        /*.*/\n      regex_constants::escape_type_identity,        /*/*/\n      regex_constants::escape_type_decimal,        /*0*/\n      regex_constants::escape_type_backref,        /*1*/\n      regex_constants::escape_type_backref,        /*2*/\n      regex_constants::escape_type_backref,        /*3*/\n      regex_constants::escape_type_backref,        /*4*/\n      regex_constants::escape_type_backref,        /*5*/\n      regex_constants::escape_type_backref,        /*6*/\n      regex_constants::escape_type_backref,        /*7*/\n      regex_constants::escape_type_backref,        /*8*/\n      regex_constants::escape_type_backref,        /*9*/\n      regex_constants::escape_type_identity,        /*:*/\n      regex_constants::escape_type_identity,        /*;*/\n      regex_constants::escape_type_left_word,        /*<*/\n      regex_constants::escape_type_identity,        /*=*/\n      regex_constants::escape_type_right_word,        /*>*/\n      regex_constants::syntax_question,              /*?*/\n      regex_constants::escape_type_identity,         /*@*/\n      regex_constants::escape_type_start_buffer,     /*A*/\n      regex_constants::escape_type_not_word_assert,  /*B*/\n      regex_constants::escape_type_C,                /*C*/\n      regex_constants::escape_type_not_class,        /*D*/\n      regex_constants::escape_type_E,                /*E*/\n      regex_constants::escape_type_not_class,        /*F*/\n      regex_constants::escape_type_G,                /*G*/\n      regex_constants::escape_type_not_class,        /*H*/\n      regex_constants::escape_type_not_class,        /*I*/\n      regex_constants::escape_type_not_class,        /*J*/\n      regex_constants::escape_type_reset_start_mark, /*K*/\n      regex_constants::escape_type_not_class,        /*L*/\n      regex_constants::escape_type_not_class,        /*M*/\n      regex_constants::escape_type_named_char,       /*N*/\n      regex_constants::escape_type_not_class,        /*O*/\n      regex_constants::escape_type_not_property,     /*P*/\n      regex_constants::escape_type_Q,                /*Q*/\n      regex_constants::escape_type_line_ending,      /*R*/\n      regex_constants::escape_type_not_class,        /*S*/\n      regex_constants::escape_type_not_class,        /*T*/\n      regex_constants::escape_type_not_class,        /*U*/\n      regex_constants::escape_type_not_class,        /*V*/\n      regex_constants::escape_type_not_class,        /*W*/\n      regex_constants::escape_type_X,                /*X*/\n      regex_constants::escape_type_not_class,        /*Y*/\n      regex_constants::escape_type_Z,                /*Z*/\n      regex_constants::escape_type_identity,        /*[*/\n      regex_constants::escape_type_identity,        /*\\*/\n      regex_constants::escape_type_identity,        /*]*/\n      regex_constants::escape_type_identity,        /*^*/\n      regex_constants::escape_type_identity,        /*_*/\n      regex_constants::escape_type_start_buffer,        /*`*/\n      regex_constants::escape_type_control_a,        /*a*/\n      regex_constants::escape_type_word_assert,        /*b*/\n      regex_constants::escape_type_ascii_control,        /*c*/\n      regex_constants::escape_type_class,        /*d*/\n      regex_constants::escape_type_e,        /*e*/\n      regex_constants::escape_type_control_f,       /*f*/\n      regex_constants::escape_type_extended_backref,  /*g*/\n      regex_constants::escape_type_class,        /*h*/\n      regex_constants::escape_type_class,        /*i*/\n      regex_constants::escape_type_class,        /*j*/\n      regex_constants::escape_type_extended_backref, /*k*/\n      regex_constants::escape_type_class,        /*l*/\n      regex_constants::escape_type_class,        /*m*/\n      regex_constants::escape_type_control_n,       /*n*/\n      regex_constants::escape_type_class,           /*o*/\n      regex_constants::escape_type_property,        /*p*/\n      regex_constants::escape_type_class,           /*q*/\n      regex_constants::escape_type_control_r,       /*r*/\n      regex_constants::escape_type_class,           /*s*/\n      regex_constants::escape_type_control_t,       /*t*/\n      regex_constants::escape_type_class,         /*u*/\n      regex_constants::escape_type_control_v,       /*v*/\n      regex_constants::escape_type_class,           /*w*/\n      regex_constants::escape_type_hex,             /*x*/\n      regex_constants::escape_type_class,           /*y*/\n      regex_constants::escape_type_end_buffer,      /*z*/\n      regex_constants::syntax_open_brace,           /*{*/\n      regex_constants::syntax_or,                   /*|*/\n      regex_constants::syntax_close_brace,          /*}*/\n      regex_constants::escape_type_identity,        /*~*/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n      regex_constants::escape_type_identity,        /**/\n   };\n\n   return char_syntax[(unsigned char)c];\n}\n\n// is charT c a combining character?\ninline bool  is_combining_implementation(std::uint_least16_t c)\n{\n   const std::uint_least16_t combining_ranges[] = { 0x0300, 0x0361,\n                           0x0483, 0x0486,\n                           0x0903, 0x0903,\n                           0x093E, 0x0940,\n                           0x0949, 0x094C,\n                           0x0982, 0x0983,\n                           0x09BE, 0x09C0,\n                           0x09C7, 0x09CC,\n                           0x09D7, 0x09D7,\n                           0x0A3E, 0x0A40,\n                           0x0A83, 0x0A83,\n                           0x0ABE, 0x0AC0,\n                           0x0AC9, 0x0ACC,\n                           0x0B02, 0x0B03,\n                           0x0B3E, 0x0B3E,\n                           0x0B40, 0x0B40,\n                           0x0B47, 0x0B4C,\n                           0x0B57, 0x0B57,\n                           0x0B83, 0x0B83,\n                           0x0BBE, 0x0BBF,\n                           0x0BC1, 0x0BCC,\n                           0x0BD7, 0x0BD7,\n                           0x0C01, 0x0C03,\n                           0x0C41, 0x0C44,\n                           0x0C82, 0x0C83,\n                           0x0CBE, 0x0CBE,\n                           0x0CC0, 0x0CC4,\n                           0x0CC7, 0x0CCB,\n                           0x0CD5, 0x0CD6,\n                           0x0D02, 0x0D03,\n                           0x0D3E, 0x0D40,\n                           0x0D46, 0x0D4C,\n                           0x0D57, 0x0D57,\n                           0x0F7F, 0x0F7F,\n                           0x20D0, 0x20E1,\n                           0x3099, 0x309A,\n                           0xFE20, 0xFE23,\n                           0xffff, 0xffff, };\n\n   const std::uint_least16_t* p = combining_ranges + 1;\n   while (*p < c) p += 2;\n   --p;\n   if ((c >= *p) && (c <= *(p + 1)))\n      return true;\n   return false;\n}\n\ntemplate <class charT>\ninline bool is_combining(charT c)\n{\n   return (c <= static_cast<charT>(0)) ? false : ((c >= static_cast<charT>((std::numeric_limits<uint_least16_t>::max)())) ? false : is_combining_implementation(static_cast<unsigned short>(c)));\n}\ntemplate <>\ninline bool is_combining<char>(char)\n{\n   return false;\n}\ntemplate <>\ninline bool is_combining<signed char>(signed char)\n{\n   return false;\n}\ntemplate <>\ninline bool is_combining<unsigned char>(unsigned char)\n{\n   return false;\n}\n#ifdef _MSC_VER\ntemplate<>\ninline bool is_combining<wchar_t>(wchar_t c)\n{\n   return is_combining_implementation(static_cast<unsigned short>(c));\n}\n#elif !defined(__DECCXX) && !defined(__osf__) && !defined(__OSF__) && defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)\n#if defined(WCHAR_MAX) && (WCHAR_MAX <= USHRT_MAX)\ntemplate<>\ninline bool is_combining<wchar_t>(wchar_t c)\n{\n   return is_combining_implementation(static_cast<unsigned short>(c));\n}\n#else\ntemplate<>\ninline bool is_combining<wchar_t>(wchar_t c)\n{\n   return (c >= (std::numeric_limits<uint_least16_t>::max)()) ? false : is_combining_implementation(static_cast<unsigned short>(c));\n}\n#endif\n#endif\n\n//\n// is a charT c a line separator?\n//\ntemplate <class charT>\ninline bool is_separator(charT c)\n{\n   return BOOST_REGEX_MAKE_BOOL(\n      (c == static_cast<charT>('\\n'))\n      || (c == static_cast<charT>('\\r'))\n      || (c == static_cast<charT>('\\f'))\n      || (static_cast<std::uint16_t>(c) == 0x2028u)\n      || (static_cast<std::uint16_t>(c) == 0x2029u)\n      || (static_cast<std::uint16_t>(c) == 0x85u));\n}\ntemplate <>\ninline bool is_separator<char>(char c)\n{\n   return BOOST_REGEX_MAKE_BOOL((c == '\\n') || (c == '\\r') || (c == '\\f'));\n}\n\n//\n// get a default collating element:\n//\ninline std::string  lookup_default_collate_name(const std::string& name)\n{\n   //\n   // these are the POSIX collating names:\n   //\n   static const char* def_coll_names[] = {\n   \"NUL\", \"SOH\", \"STX\", \"ETX\", \"EOT\", \"ENQ\", \"ACK\", \"alert\", \"backspace\", \"tab\", \"newline\",\n   \"vertical-tab\", \"form-feed\", \"carriage-return\", \"SO\", \"SI\", \"DLE\", \"DC1\", \"DC2\", \"DC3\", \"DC4\", \"NAK\",\n   \"SYN\", \"ETB\", \"CAN\", \"EM\", \"SUB\", \"ESC\", \"IS4\", \"IS3\", \"IS2\", \"IS1\", \"space\", \"exclamation-mark\",\n   \"quotation-mark\", \"number-sign\", \"dollar-sign\", \"percent-sign\", \"ampersand\", \"apostrophe\",\n   \"left-parenthesis\", \"right-parenthesis\", \"asterisk\", \"plus-sign\", \"comma\", \"hyphen\",\n   \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\",\n   \"colon\", \"semicolon\", \"less-than-sign\", \"equals-sign\", \"greater-than-sign\",\n   \"question-mark\", \"commercial-at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\",\n   \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"left-square-bracket\", \"backslash\",\n   \"right-square-bracket\", \"circumflex\", \"underscore\", \"grave-accent\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\",\n   \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"left-curly-bracket\",\n   \"vertical-line\", \"right-curly-bracket\", \"tilde\", \"DEL\", \"\",\n   };\n\n   // these multi-character collating elements\n   // should keep most Western-European locales\n   // happy - we should really localise these a\n   // little more - but this will have to do for\n   // now:\n\n   static const char* def_multi_coll[] = {\n      \"ae\",\n      \"Ae\",\n      \"AE\",\n      \"ch\",\n      \"Ch\",\n      \"CH\",\n      \"ll\",\n      \"Ll\",\n      \"LL\",\n      \"ss\",\n      \"Ss\",\n      \"SS\",\n      \"nj\",\n      \"Nj\",\n      \"NJ\",\n      \"dz\",\n      \"Dz\",\n      \"DZ\",\n      \"lj\",\n      \"Lj\",\n      \"LJ\",\n      \"\",\n   };\n\n   unsigned int i = 0;\n   while (*def_coll_names[i])\n   {\n      if (def_coll_names[i] == name)\n      {\n         return std::string(1, char(i));\n      }\n      ++i;\n   }\n   i = 0;\n   while (*def_multi_coll[i])\n   {\n      if (def_multi_coll[i] == name)\n      {\n         return def_multi_coll[i];\n      }\n      ++i;\n   }\n   return std::string();\n}\n\n//\n// get the state_id of a character classification, the individual\n// traits classes then transform that state_id into a bitmask:\n//\ntemplate <class charT>\nstruct character_pointer_range\n{\n   const charT* p1;\n   const charT* p2;\n\n   bool operator < (const character_pointer_range& r)const\n   {\n      return std::lexicographical_compare(p1, p2, r.p1, r.p2);\n   }\n   bool operator == (const character_pointer_range& r)const\n   {\n      // Not only do we check that the ranges are of equal size before\n      // calling std::equal, but there is no other algorithm available:\n      // not even a non-standard MS one.  So forward to unchecked_equal\n      // in the MS case.\n#ifdef __cpp_lib_robust_nonmodifying_seq_ops\n      return std::equal(p1, p2, r.p1, r.p2);\n#elif defined(BOOST_REGEX_MSVC)\n      if (((p2 - p1) != (r.p2 - r.p1)))\n         return false;\n      const charT* with = r.p1;\n      const charT* pos = p1;\n      while (pos != p2)\n         if (*pos++ != *with++) return false;\n      return true;\n\n#else\n      return ((p2 - p1) == (r.p2 - r.p1)) && std::equal(p1, p2, r.p1);\n#endif\n   }\n};\ntemplate <class charT>\nint get_default_class_id(const charT* p1, const charT* p2)\n{\n   static const charT data[73] = {\n      'a', 'l', 'n', 'u', 'm',\n      'a', 'l', 'p', 'h', 'a',\n      'b', 'l', 'a', 'n', 'k',\n      'c', 'n', 't', 'r', 'l',\n      'd', 'i', 'g', 'i', 't',\n      'g', 'r', 'a', 'p', 'h',\n      'l', 'o', 'w', 'e', 'r',\n      'p', 'r', 'i', 'n', 't',\n      'p', 'u', 'n', 'c', 't',\n      's', 'p', 'a', 'c', 'e',\n      'u', 'n', 'i', 'c', 'o', 'd', 'e',\n      'u', 'p', 'p', 'e', 'r',\n      'v',\n      'w', 'o', 'r', 'd',\n      'x', 'd', 'i', 'g', 'i', 't',\n   };\n\n   static const character_pointer_range<charT> ranges[21] =\n   {\n      {data+0, data+5,}, // alnum\n      {data+5, data+10,}, // alpha\n      {data+10, data+15,}, // blank\n      {data+15, data+20,}, // cntrl\n      {data+20, data+21,}, // d\n      {data+20, data+25,}, // digit\n      {data+25, data+30,}, // graph\n      {data+29, data+30,}, // h\n      {data+30, data+31,}, // l\n      {data+30, data+35,}, // lower\n      {data+35, data+40,}, // print\n      {data+40, data+45,}, // punct\n      {data+45, data+46,}, // s\n      {data+45, data+50,}, // space\n      {data+57, data+58,}, // u\n      {data+50, data+57,}, // unicode\n      {data+57, data+62,}, // upper\n      {data+62, data+63,}, // v\n      {data+63, data+64,}, // w\n      {data+63, data+67,}, // word\n      {data+67, data+73,}, // xdigit\n   };\n   const character_pointer_range<charT>* ranges_begin = ranges;\n   const character_pointer_range<charT>* ranges_end = ranges + (sizeof(ranges)/sizeof(ranges[0]));\n\n   character_pointer_range<charT> t = { p1, p2, };\n   const character_pointer_range<charT>* p = std::lower_bound(ranges_begin, ranges_end, t);\n   if((p != ranges_end) && (t == *p))\n      return static_cast<int>(p - ranges);\n   return -1;\n}\n\n//\n// helper functions:\n//\ntemplate <class charT>\nstd::ptrdiff_t global_length(const charT* p)\n{\n   std::ptrdiff_t n = 0;\n   while(*p)\n   {\n      ++p;\n      ++n;\n   }\n   return n;\n}\ntemplate<>\ninline std::ptrdiff_t global_length<char>(const char* p)\n{\n   return (std::strlen)(p);\n}\n#ifndef BOOST_NO_WREGEX\ntemplate<>\ninline std::ptrdiff_t global_length<wchar_t>(const wchar_t* p)\n{\n   return (std::ptrdiff_t)(std::wcslen)(p);\n}\n#endif\ntemplate <class charT>\ninline charT  global_lower(charT c)\n{\n   return c;\n}\ntemplate <class charT>\ninline charT  global_upper(charT c)\n{\n   return c;\n}\n\ninline char  do_global_lower(char c)\n{\n   return static_cast<char>((std::tolower)((unsigned char)c));\n}\n\ninline char  do_global_upper(char c)\n{\n   return static_cast<char>((std::toupper)((unsigned char)c));\n}\n#ifndef BOOST_NO_WREGEX\ninline wchar_t  do_global_lower(wchar_t c)\n{\n   return (std::towlower)(c);\n}\n\ninline wchar_t  do_global_upper(wchar_t c)\n{\n   return (std::towupper)(c);\n}\n#endif\n//\n// This sucks: declare template specialisations of global_lower/global_upper\n// that just forward to the non-template implementation functions.  We do\n// this because there is one compiler (Compaq Tru64 C++) that doesn't seem\n// to differentiate between templates and non-template overloads....\n// what's more, the primary template, plus all overloads have to be\n// defined in the same translation unit (if one is inline they all must be)\n// otherwise the \"local template instantiation\" compiler option can pick\n// the wrong instantiation when linking:\n//\ntemplate<> inline char  global_lower<char>(char c) { return do_global_lower(c); }\ntemplate<> inline char  global_upper<char>(char c) { return do_global_upper(c); }\n#ifndef BOOST_NO_WREGEX\ntemplate<> inline wchar_t  global_lower<wchar_t>(wchar_t c) { return do_global_lower(c); }\ntemplate<> inline wchar_t  global_upper<wchar_t>(wchar_t c) { return do_global_upper(c); }\n#endif\n\ntemplate <class charT>\nint global_value(charT c)\n{\n   static const charT zero = '0';\n   static const charT nine = '9';\n   static const charT a = 'a';\n   static const charT f = 'f';\n   static const charT A = 'A';\n   static const charT F = 'F';\n\n   if(c > f) return -1;\n   if(c >= a) return 10 + (c - a);\n   if(c > F) return -1;\n   if(c >= A) return 10 + (c - A);\n   if(c > nine) return -1;\n   if(c >= zero) return c - zero;\n   return -1;\n}\ntemplate <class charT, class traits>\nstd::intmax_t global_toi(const charT*& p1, const charT* p2, int radix, const traits& t)\n{\n   (void)t; // warning suppression\n   std::intmax_t limit = (std::numeric_limits<std::intmax_t>::max)() / radix;\n   std::intmax_t next_value = t.value(*p1, radix);\n   if((p1 == p2) || (next_value < 0) || (next_value >= radix))\n      return -1;\n   std::intmax_t result = 0;\n   while(p1 != p2)\n   {\n      next_value = t.value(*p1, radix);\n      if((next_value < 0) || (next_value >= radix))\n         break;\n      result *= radix;\n      result += next_value;\n      ++p1;\n      if (result > limit)\n         return -1;\n   }\n   return result;\n}\n\ntemplate <class charT>\ninline typename std::enable_if<(sizeof(charT) > 1), const charT*>::type get_escape_R_string()\n{\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#  pragma warning(disable:4309 4245)\n#endif\n   static const charT e1[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\\x0D', '\\x0A', '?',\n      '|', '[', '\\x0A', '\\x0B', '\\x0C', static_cast<charT>(0x85), static_cast<charT>(0x2028),\n      static_cast<charT>(0x2029), ']', ')', ')', '\\0' };\n   static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\\x0D', '\\x0A', '?',\n      '|', '[', '\\x0A', '\\x0B', '\\x0C', static_cast<charT>(0x85), ']', ')', ')', '\\0' };\n\n   charT c = static_cast<charT>(0x2029u);\n   bool b = (static_cast<unsigned>(c) == 0x2029u);\n\n   return (b ? e1 : e2);\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n}\n\ntemplate <class charT>\ninline typename std::enable_if<(sizeof(charT) == 1), const charT*>::type get_escape_R_string()\n{\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#  pragma warning(disable:4309 4245)\n#endif\n   static const charT e2[] = { \n      static_cast<charT>('('), \n      static_cast<charT>('?'), \n      static_cast<charT>('-'), \n      static_cast<charT>('x'), \n      static_cast<charT>(':'), \n      static_cast<charT>('('), \n      static_cast<charT>('?'), \n      static_cast<charT>('>'), \n      static_cast<charT>('\\x0D'), \n      static_cast<charT>('\\x0A'), \n      static_cast<charT>('?'),\n      static_cast<charT>('|'), \n      static_cast<charT>('['), \n      static_cast<charT>('\\x0A'), \n      static_cast<charT>('\\x0B'), \n      static_cast<charT>('\\x0C'), \n      static_cast<charT>('\\x85'), \n      static_cast<charT>(']'), \n      static_cast<charT>(')'), \n      static_cast<charT>(')'), \n      static_cast<charT>('\\0') \n   };\n   return e2;\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n}\n\n} // BOOST_REGEX_DETAIL_NS\n} // boost\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/regex_workaround.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2005\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         regex_workarounds.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares Misc workarounds.\n  */\n\n#ifndef BOOST_REGEX_WORKAROUND_HPP\n#define BOOST_REGEX_WORKAROUND_HPP\n\n#include <boost/regex/config.hpp>\n#include <algorithm>\n#include <stdexcept>\n#include <cstring>\n\n#ifndef BOOST_REGEX_STANDALONE\n#include <boost/detail/workaround.hpp>\n#include <boost/throw_exception.hpp>\n#endif\n\n#ifdef BOOST_REGEX_NO_BOOL\n#  define BOOST_REGEX_MAKE_BOOL(x) static_cast<bool>((x) ? true : false)\n#else\n#  define BOOST_REGEX_MAKE_BOOL(x) static_cast<bool>(x)\n#endif\n\n/*****************************************************************************\n *\n *  helper functions pointer_construct/pointer_destroy:\n *\n ****************************************************************************/\n\n#ifdef __cplusplus\nnamespace boost{ namespace BOOST_REGEX_DETAIL_NS{\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning (push)\n#pragma warning (disable : 4100)\n#endif\n\ntemplate <class T>\ninline void pointer_destroy(T* p)\n{ p->~T(); (void)p; }\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning (pop)\n#endif\n\ntemplate <class T>\ninline void pointer_construct(T* p, const T& t)\n{ new (p) T(t); }\n\n}} // namespaces\n#endif\n\n/*****************************************************************************\n *\n *  helper function copy:\n *\n ****************************************************************************/\n\n#if defined(BOOST_WORKAROUND)\n#if BOOST_WORKAROUND(BOOST_REGEX_MSVC, >= 1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__\n#define BOOST_REGEX_HAS_STRCPY_S\n#endif\n#endif\n\n#ifdef __cplusplus\nnamespace boost{ namespace BOOST_REGEX_DETAIL_NS{\n\n#if defined(BOOST_REGEX_MSVC) && (BOOST_REGEX_MSVC < 1910)\n   //\n   // MSVC 10 will either emit warnings or else refuse to compile\n   // code that makes perfectly legitimate use of std::copy, when\n   // the OutputIterator type is a user-defined class (apparently all user \n   // defined iterators are \"unsafe\").  What's more Microsoft have removed their\n   // non-standard \"unchecked\" versions, even though they are still in the MS\n   // documentation!! Work around this as best we can: \n   //\n   template<class InputIterator, class OutputIterator>\n   inline OutputIterator copy(\n      InputIterator first,\n      InputIterator last,\n      OutputIterator dest\n   )\n   {\n      while (first != last)\n         *dest++ = *first++;\n      return dest;\n   }\n#else \n   using std::copy;\n#endif \n\n\n#if defined(BOOST_REGEX_HAS_STRCPY_S)\n\n   // use safe versions of strcpy etc:\n   using ::strcpy_s;\n   using ::strcat_s;\n#else\n   inline std::size_t strcpy_s(\n      char *strDestination,\n      std::size_t sizeInBytes,\n      const char *strSource \n   )\n   {\n\t  std::size_t lenSourceWithNull = std::strlen(strSource) + 1;\n\t  if (lenSourceWithNull > sizeInBytes)\n         return 1;\n\t  std::memcpy(strDestination, strSource, lenSourceWithNull);\n      return 0;\n   }\n   inline std::size_t strcat_s(\n      char *strDestination,\n      std::size_t sizeInBytes,\n      const char *strSource \n   )\n   {\n\t  std::size_t lenSourceWithNull = std::strlen(strSource) + 1;\n\t  std::size_t lenDestination = std::strlen(strDestination);\n\t  if (lenSourceWithNull + lenDestination > sizeInBytes)\n         return 1;\n\t  std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull);\n      return 0;\n   }\n\n#endif\n\n   inline void overflow_error_if_not_zero(std::size_t i)\n   {\n      if(i)\n      {\n         std::overflow_error e(\"String buffer too small\");\n#ifndef BOOST_REGEX_STANDALONE\n         boost::throw_exception(e);\n#else\n         throw e;\n#endif\n      }\n   }\n\n}} // namespaces\n\n#endif // __cplusplus\n\n#endif // include guard\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/states.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         states.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares internal state machine structures.\n  */\n\n#ifndef BOOST_REGEX_V5_STATES_HPP\n#define BOOST_REGEX_V5_STATES_HPP\n\nnamespace boost{\nnamespace BOOST_REGEX_DETAIL_NS{\n\n/*** mask_type *******************************************************\nWhenever we have a choice of two alternatives, we use an array of bytes\nto indicate which of the two alternatives it is possible to take for any\ngiven input character.  If mask_take is set, then we can take the next \nstate, and if mask_skip is set then we can take the alternative.\n***********************************************************************/\nenum mask_type\n{\n   mask_take = 1,\n   mask_skip = 2,\n   mask_init = 4,\n   mask_any = mask_skip | mask_take,\n   mask_all = mask_any\n};\n\n/*** helpers **********************************************************\nThese helpers let us use function overload resolution to detect whether\nwe have narrow or wide character strings:\n***********************************************************************/\nstruct _narrow_type{};\nstruct _wide_type{};\ntemplate <class charT> struct is_byte;\ntemplate<>             struct is_byte<char>         { typedef _narrow_type width_type; };\ntemplate<>             struct is_byte<unsigned char>{ typedef _narrow_type width_type; };\ntemplate<>             struct is_byte<signed char>  { typedef _narrow_type width_type; };\ntemplate <class charT> struct is_byte               { typedef _wide_type width_type; };\n\n/*** enum syntax_element_type ******************************************\nEvery record in the state machine falls into one of the following types:\n***********************************************************************/\nenum syntax_element_type\n{\n   // start of a marked sub-expression, or perl-style (?...) extension\n   syntax_element_startmark = 0,\n   // end of a marked sub-expression, or perl-style (?...) extension\n   syntax_element_endmark = syntax_element_startmark + 1,\n   // any sequence of literal characters\n   syntax_element_literal = syntax_element_endmark + 1,\n   // start of line assertion: ^\n   syntax_element_start_line = syntax_element_literal + 1,\n   // end of line assertion $\n   syntax_element_end_line = syntax_element_start_line + 1,\n   // match any character: .\n   syntax_element_wild = syntax_element_end_line + 1,\n   // end of expression: we have a match when we get here\n   syntax_element_match = syntax_element_wild + 1,\n   // perl style word boundary: \\b\n   syntax_element_word_boundary = syntax_element_match + 1,\n   // perl style within word boundary: \\B\n   syntax_element_within_word = syntax_element_word_boundary + 1,\n   // start of word assertion: \\<\n   syntax_element_word_start = syntax_element_within_word + 1,\n   // end of word assertion: \\>\n   syntax_element_word_end = syntax_element_word_start + 1,\n   // start of buffer assertion: \\`\n   syntax_element_buffer_start = syntax_element_word_end + 1,\n   // end of buffer assertion: \\'\n   syntax_element_buffer_end = syntax_element_buffer_start + 1,\n   // backreference to previously matched sub-expression\n   syntax_element_backref = syntax_element_buffer_end + 1,\n   // either a wide character set [..] or one with multicharacter collating elements:\n   syntax_element_long_set = syntax_element_backref + 1,\n   // narrow character set: [...]\n   syntax_element_set = syntax_element_long_set + 1,\n   // jump to a new state in the machine:\n   syntax_element_jump = syntax_element_set + 1,\n   // choose between two production states:\n   syntax_element_alt = syntax_element_jump + 1,\n   // a repeat\n   syntax_element_rep = syntax_element_alt + 1,\n   // match a combining character sequence\n   syntax_element_combining = syntax_element_rep + 1,\n   // perl style soft buffer end: \\z\n   syntax_element_soft_buffer_end = syntax_element_combining + 1,\n   // perl style continuation: \\G\n   syntax_element_restart_continue = syntax_element_soft_buffer_end + 1,\n   // single character repeats:\n   syntax_element_dot_rep = syntax_element_restart_continue + 1,\n   syntax_element_char_rep = syntax_element_dot_rep + 1,\n   syntax_element_short_set_rep = syntax_element_char_rep + 1,\n   syntax_element_long_set_rep = syntax_element_short_set_rep + 1,\n   // a backstep for lookbehind repeats:\n   syntax_element_backstep = syntax_element_long_set_rep + 1,\n   // an assertion that a mark was matched:\n   syntax_element_assert_backref = syntax_element_backstep + 1,\n   syntax_element_toggle_case = syntax_element_assert_backref + 1,\n   // a recursive expression:\n   syntax_element_recurse = syntax_element_toggle_case + 1,\n   // Verbs:\n   syntax_element_fail = syntax_element_recurse + 1,\n   syntax_element_accept = syntax_element_fail + 1,\n   syntax_element_commit = syntax_element_accept + 1,\n   syntax_element_then = syntax_element_commit + 1\n};\n\n#ifdef BOOST_REGEX_DEBUG\n// dwa 09/26/00 - This is needed to suppress warnings about an ambiguous conversion\nstd::ostream& operator<<(std::ostream&, syntax_element_type);\n#endif\n\nstruct re_syntax_base;\n\n/*** union offset_type ************************************************\nPoints to another state in the machine.  During machine construction\nwe use integral offsets, but these are converted to pointers before\nexecution of the machine.\n***********************************************************************/\nunion offset_type\n{\n   re_syntax_base*   p;\n   std::ptrdiff_t    i;\n};\n\n/*** struct re_syntax_base ********************************************\nBase class for all states in the machine.\n***********************************************************************/\nstruct re_syntax_base\n{\n   syntax_element_type   type;         // what kind of state this is\n   offset_type           next;         // next state in the machine\n};\n\n/*** struct re_brace **************************************************\nA marked parenthesis.\n***********************************************************************/\nstruct re_brace : public re_syntax_base\n{\n   // The index to match, can be zero (don't mark the sub-expression)\n   // or negative (for perl style (?...) extensions):\n   int index;\n   bool icase;\n};\n\n/*** struct re_dot **************************************************\nMatch anything.\n***********************************************************************/\nenum\n{\n   dont_care = 1,\n   force_not_newline = 0,\n   force_newline = 2,\n\n   test_not_newline = 2,\n   test_newline = 3\n};\nstruct re_dot : public re_syntax_base\n{\n   unsigned char mask;\n};\n\n/*** struct re_literal ************************************************\nA string of literals, following this structure will be an \narray of characters: charT[length]\n***********************************************************************/\nstruct re_literal : public re_syntax_base\n{\n   unsigned int length;\n};\n\n/*** struct re_case ************************************************\nIndicates whether we are moving to a case insensive block or not\n***********************************************************************/\nstruct re_case : public re_syntax_base\n{\n   bool icase;\n};\n\n/*** struct re_set_long ***********************************************\nA wide character set of characters, following this structure will be\nan array of type charT:\nFirst csingles null-terminated strings\nThen 2 * cranges NULL terminated strings\nThen cequivalents NULL terminated strings\n***********************************************************************/\ntemplate <class mask_type>\nstruct re_set_long : public re_syntax_base\n{\n   unsigned int            csingles, cranges, cequivalents;\n   mask_type               cclasses;\n   mask_type               cnclasses;\n   bool                    isnot;\n   bool                    singleton;\n};\n\n/*** struct re_set ****************************************************\nA set of narrow-characters, matches any of _map which is none-zero\n***********************************************************************/\nstruct re_set : public re_syntax_base\n{\n   unsigned char _map[1 << CHAR_BIT];\n};\n\n/*** struct re_jump ***************************************************\nJump to a new location in the machine (not next).\n***********************************************************************/\nstruct re_jump : public re_syntax_base\n{\n   offset_type     alt;                 // location to jump to\n};\n\n/*** struct re_alt ***************************************************\nJump to a new location in the machine (possibly next).\n***********************************************************************/\nstruct re_alt : public re_jump\n{\n   unsigned char   _map[1 << CHAR_BIT]; // which characters can take the jump\n   unsigned int    can_be_null;         // true if we match a NULL string\n};\n\n/*** struct re_repeat *************************************************\nRepeat a section of the machine\n***********************************************************************/\nstruct re_repeat : public re_alt\n{\n   std::size_t   min, max;  // min and max allowable repeats\n   int           state_id;        // Unique identifier for this repeat\n   bool          leading;   // True if this repeat is at the start of the machine (lets us optimize some searches)\n   bool          greedy;    // True if this is a greedy repeat\n};\n\n/*** struct re_recurse ************************************************\nRecurse to a particular subexpression.\n**********************************************************************/\nstruct re_recurse : public re_jump\n{\n   int state_id;             // identifier of first nested repeat within the recursion.\n};\n\n/*** struct re_commit *************************************************\nUsed for the PRUNE, SKIP and COMMIT verbs which basically differ only in what happens\nif no match is found and we start searching forward.\n**********************************************************************/\nenum commit_type\n{\n   commit_prune,\n   commit_skip,\n   commit_commit\n};\nstruct re_commit : public re_syntax_base\n{\n   commit_type action;\n};\n\n/*** enum re_jump_size_type *******************************************\nProvides compiled size of re_jump structure (allowing for trailing alignment).\nWe provide this so we know how manybytes to insert when constructing the machine\n(The value of padding_mask is defined in regex_raw_buffer.hpp).\n***********************************************************************/\nenum re_jump_size_type\n{\n   re_jump_size = (sizeof(re_jump) + padding_mask) & ~(padding_mask),\n   re_repeater_size = (sizeof(re_repeat) + padding_mask) & ~(padding_mask),\n   re_alt_size = (sizeof(re_alt) + padding_mask) & ~(padding_mask)\n};\n\n/*** proc re_is_set_member *********************************************\nForward declaration: we'll need this one later...\n***********************************************************************/\n\ntemplate<class charT, class traits>\nstruct regex_data;\n\ntemplate <class iterator, class charT, class traits_type, class char_classT>\niterator  re_is_set_member(iterator next, \n                          iterator last, \n                          const re_set_long<char_classT>* set_, \n                          const regex_data<charT, traits_type>& e, bool icase);\n\n} // namespace BOOST_REGEX_DETAIL_NS\n\n} // namespace boost\n\n#endif\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/sub_match.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         sub_match.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares template class sub_match.\n  */\n\n#ifndef BOOST_REGEX_V5_SUB_MATCH_HPP\n#define BOOST_REGEX_V5_SUB_MATCH_HPP\n\nnamespace boost{\n\ntemplate <class BidiIterator>\nstruct sub_match : public std::pair<BidiIterator, BidiIterator>\n{\n   typedef typename std::iterator_traits<BidiIterator>::value_type       value_type;\n   typedef typename std::iterator_traits<BidiIterator>::difference_type  difference_type;\n   typedef          BidiIterator                                                     iterator_type;\n   typedef          BidiIterator                                                     iterator;\n   typedef          BidiIterator                                                     const_iterator;\n\n   bool matched;\n\n   sub_match() : std::pair<BidiIterator, BidiIterator>(), matched(false) {}\n   sub_match(BidiIterator i) : std::pair<BidiIterator, BidiIterator>(i, i), matched(false) {}\n   template <class T, class A>\n   operator std::basic_string<value_type, T, A> ()const\n   {\n      return matched ? std::basic_string<value_type, T, A>(this->first, this->second) : std::basic_string<value_type, T, A>();\n   }\n   difference_type  length()const\n   {\n      difference_type n = matched ? std::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0;\n      return n;\n   }\n   std::basic_string<value_type> str()const\n   {\n      std::basic_string<value_type> result;\n      if(matched)\n      {\n         std::size_t len = std::distance((BidiIterator)this->first, (BidiIterator)this->second);\n         result.reserve(len);\n         BidiIterator i = this->first;\n         while(i != this->second)\n         {\n            result.append(1, *i);\n            ++i;\n         }\n      }\n      return result;\n   }\n   int compare(const sub_match& s)const\n   {\n      if(matched != s.matched)\n         return static_cast<int>(matched) - static_cast<int>(s.matched);\n      return str().compare(s.str());\n   }\n   int compare(const std::basic_string<value_type>& s)const\n   {\n      return str().compare(s);\n   }\n   int compare(const value_type* p)const\n   {\n      return str().compare(p);\n   }\n\n   bool operator==(const sub_match& that)const\n   { return compare(that) == 0; }\n   bool  operator !=(const sub_match& that)const\n   { return compare(that) != 0; }\n   bool operator<(const sub_match& that)const\n   { return compare(that) < 0; }\n   bool operator>(const sub_match& that)const\n   { return compare(that) > 0; }\n   bool operator<=(const sub_match& that)const\n   { return compare(that) <= 0; }\n   bool operator>=(const sub_match& that)const\n   { return compare(that) >= 0; }\n\n#ifdef BOOST_REGEX_MATCH_EXTRA\n   typedef std::vector<sub_match<BidiIterator> > capture_sequence_type;\n\n   const capture_sequence_type& captures()const\n   {\n      if(!m_captures) \n         m_captures.reset(new capture_sequence_type());\n      return *m_captures;\n   }\n   //\n   // Private implementation API: DO NOT USE!\n   //\n   capture_sequence_type& get_captures()const\n   {\n      if(!m_captures) \n         m_captures.reset(new capture_sequence_type());\n      return *m_captures;\n   }\n\nprivate:\n   mutable std::unique_ptr<capture_sequence_type> m_captures;\npublic:\n\n#endif\n   sub_match(const sub_match& that, bool \n#ifdef BOOST_REGEX_MATCH_EXTRA\n      deep_copy\n#endif\n      = true\n      ) \n      : std::pair<BidiIterator, BidiIterator>(that), \n        matched(that.matched) \n   {\n#ifdef BOOST_REGEX_MATCH_EXTRA\n      if(that.m_captures)\n         if(deep_copy)\n            m_captures.reset(new capture_sequence_type(*(that.m_captures)));\n#endif\n   }\n   sub_match& operator=(const sub_match& that)\n   {\n      this->first = that.first;\n      this->second = that.second;\n      matched = that.matched;\n#ifdef BOOST_REGEX_MATCH_EXTRA\n      if(that.m_captures)\n         get_captures() = *(that.m_captures);\n#endif\n      return *this;\n   }\n   //\n   // Make this type a range, for both Boost.Range, and C++11:\n   //\n   BidiIterator begin()const { return this->first; }\n   BidiIterator end()const { return this->second; }\n};\n\ntypedef sub_match<const char*> csub_match;\ntypedef sub_match<std::string::const_iterator> ssub_match;\n#ifndef BOOST_NO_WREGEX\ntypedef sub_match<const wchar_t*> wcsub_match;\ntypedef sub_match<std::wstring::const_iterator> wssub_match;\n#endif\n\n// comparison to std::basic_string<> part 1:\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator == (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return s.compare(m.str()) == 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator != (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return s.compare(m.str()) != 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator < (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                 const sub_match<RandomAccessIterator>& m)\n{ return s.compare(m.str()) < 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator <= (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return s.compare(m.str()) <= 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator >= (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return s.compare(m.str()) >= 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator > (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                 const sub_match<RandomAccessIterator>& m)\n{ return s.compare(m.str()) > 0; }\n// comparison to std::basic_string<> part 2:\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator == (const sub_match<RandomAccessIterator>& m,\n                  const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{ return m.str().compare(s) == 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator != (const sub_match<RandomAccessIterator>& m,\n                  const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{ return m.str().compare(s) != 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator < (const sub_match<RandomAccessIterator>& m,\n                  const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{ return m.str().compare(s) < 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator > (const sub_match<RandomAccessIterator>& m,\n                  const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{ return m.str().compare(s) > 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator <= (const sub_match<RandomAccessIterator>& m,\n                  const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{ return m.str().compare(s) <= 0; }\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline bool operator >= (const sub_match<RandomAccessIterator>& m,\n                  const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{ return m.str().compare(s) >= 0; }\n// comparison to const charT* part 1:\ntemplate <class RandomAccessIterator>\ninline bool operator == (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const* s)\n{ return m.str().compare(s) == 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator != (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const* s)\n{ return m.str().compare(s) != 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator > (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const* s)\n{ return m.str().compare(s) > 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator < (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const* s)\n{ return m.str().compare(s) < 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator >= (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const* s)\n{ return m.str().compare(s) >= 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator <= (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const* s)\n{ return m.str().compare(s) <= 0; }\n// comparison to const charT* part 2:\ntemplate <class RandomAccessIterator>\ninline bool operator == (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(s) == 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator != (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(s) != 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator < (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(s) > 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator > (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(s) < 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator <= (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(s) >= 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator >= (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(s) <= 0; }\n\n// comparison to const charT& part 1:\ntemplate <class RandomAccessIterator>\ninline bool operator == (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{ return m.str().compare(0, m.length(), &s, 1) == 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator != (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{ return m.str().compare(0, m.length(), &s, 1) != 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator > (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{ return m.str().compare(0, m.length(), &s, 1) > 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator < (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{ return m.str().compare(0, m.length(), &s, 1) < 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator >= (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{ return m.str().compare(0, m.length(), &s, 1) >= 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator <= (const sub_match<RandomAccessIterator>& m,\n                  typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{ return m.str().compare(0, m.length(), &s, 1) <= 0; }\n// comparison to const charT* part 2:\ntemplate <class RandomAccessIterator>\ninline bool operator == (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(0, m.length(), &s, 1) == 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator != (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(0, m.length(), &s, 1) != 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator < (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(0, m.length(), &s, 1) > 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator > (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(0, m.length(), &s, 1) < 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator <= (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(0, m.length(), &s, 1) >= 0; }\ntemplate <class RandomAccessIterator>\ninline bool operator >= (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{ return m.str().compare(0, m.length(), &s, 1) <= 0; }\n\n// addition operators:\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> \noperator + (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,\n                  const sub_match<RandomAccessIterator>& m)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;\n   result.reserve(s.size() + m.length() + 1);\n   return result.append(s).append(m.first, m.second);\n}\ntemplate <class RandomAccessIterator, class traits, class Allocator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> \noperator + (const sub_match<RandomAccessIterator>& m,\n            const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;\n   result.reserve(s.size() + m.length() + 1);\n   return result.append(m.first, m.second).append(s);\n}\ntemplate <class RandomAccessIterator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> \noperator + (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,\n                  const sub_match<RandomAccessIterator>& m)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;\n   result.reserve(std::char_traits<typename std::iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);\n   return result.append(s).append(m.first, m.second);\n}\ntemplate <class RandomAccessIterator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> \noperator + (const sub_match<RandomAccessIterator>& m,\n            typename std::iterator_traits<RandomAccessIterator>::value_type const * s)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;\n   result.reserve(std::char_traits<typename std::iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);\n   return result.append(m.first, m.second).append(s);\n}\ntemplate <class RandomAccessIterator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> \noperator + (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,\n                  const sub_match<RandomAccessIterator>& m)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;\n   result.reserve(m.length() + 2);\n   return result.append(1, s).append(m.first, m.second);\n}\ntemplate <class RandomAccessIterator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> \noperator + (const sub_match<RandomAccessIterator>& m,\n            typename std::iterator_traits<RandomAccessIterator>::value_type const& s)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;\n   result.reserve(m.length() + 2);\n   return result.append(m.first, m.second).append(1, s);\n}\ntemplate <class RandomAccessIterator>\ninline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> \noperator + (const sub_match<RandomAccessIterator>& m1,\n            const sub_match<RandomAccessIterator>& m2)\n{\n   std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;\n   result.reserve(m1.length() + m2.length() + 1);\n   return result.append(m1.first, m1.second).append(m2.first, m2.second);\n}\ntemplate <class charT, class traits, class RandomAccessIterator>\nstd::basic_ostream<charT, traits>&\n   operator << (std::basic_ostream<charT, traits>& os,\n                const sub_match<RandomAccessIterator>& s)\n{\n   return (os << s.str());\n}\n\n} // namespace boost\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/syntax_type.hpp",
    "content": "/*\n *\n * Copyright (c) 2003\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         syntax_type.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression synatx type enumerator.\n  */\n\n#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP\n#define BOOST_REGEX_SYNTAX_TYPE_HPP\n\nnamespace boost{\nnamespace regex_constants{\n\ntypedef unsigned char syntax_type;\n\n//\n// values chosen are binary compatible with previous version:\n//\nstatic const syntax_type syntax_char = 0;\nstatic const syntax_type syntax_open_mark = 1;\nstatic const syntax_type syntax_close_mark = 2;\nstatic const syntax_type syntax_dollar = 3;\nstatic const syntax_type syntax_caret = 4;\nstatic const syntax_type syntax_dot = 5;\nstatic const syntax_type syntax_star = 6;\nstatic const syntax_type syntax_plus = 7;\nstatic const syntax_type syntax_question = 8;\nstatic const syntax_type syntax_open_set = 9;\nstatic const syntax_type syntax_close_set = 10;\nstatic const syntax_type syntax_or = 11;\nstatic const syntax_type syntax_escape = 12;\nstatic const syntax_type syntax_dash = 14;\nstatic const syntax_type syntax_open_brace = 15;\nstatic const syntax_type syntax_close_brace = 16;\nstatic const syntax_type syntax_digit = 17;\nstatic const syntax_type syntax_comma = 27;\nstatic const syntax_type syntax_equal = 37;\nstatic const syntax_type syntax_colon = 36;\nstatic const syntax_type syntax_not = 53;\n\n// extensions:\n\nstatic const syntax_type syntax_hash = 13;\nstatic const syntax_type syntax_newline = 26;\n\n// escapes:\n\ntypedef syntax_type escape_syntax_type;\n\nstatic const escape_syntax_type escape_type_word_assert = 18;\nstatic const escape_syntax_type escape_type_not_word_assert = 19;\nstatic const escape_syntax_type escape_type_control_f = 29;\nstatic const escape_syntax_type escape_type_control_n = 30;\nstatic const escape_syntax_type escape_type_control_r = 31;\nstatic const escape_syntax_type escape_type_control_t = 32;\nstatic const escape_syntax_type escape_type_control_v = 33;\nstatic const escape_syntax_type escape_type_ascii_control = 35;\nstatic const escape_syntax_type escape_type_hex = 34;\nstatic const escape_syntax_type escape_type_unicode = 0; // not used\nstatic const escape_syntax_type escape_type_identity = 0; // not used\nstatic const escape_syntax_type escape_type_backref = syntax_digit;\nstatic const escape_syntax_type escape_type_decimal = syntax_digit; // not used\nstatic const escape_syntax_type escape_type_class = 22; \nstatic const escape_syntax_type escape_type_not_class = 23; \n\n// extensions:\n\nstatic const escape_syntax_type escape_type_left_word = 20;\nstatic const escape_syntax_type escape_type_right_word = 21;\nstatic const escape_syntax_type escape_type_start_buffer = 24;                 // for \\`\nstatic const escape_syntax_type escape_type_end_buffer = 25;                   // for \\'\nstatic const escape_syntax_type escape_type_control_a = 28;                    // for \\a\nstatic const escape_syntax_type escape_type_e = 38;                            // for \\e\nstatic const escape_syntax_type escape_type_E = 47;                            // for \\Q\\E\nstatic const escape_syntax_type escape_type_Q = 48;                            // for \\Q\\E\nstatic const escape_syntax_type escape_type_X = 49;                            // for \\X\nstatic const escape_syntax_type escape_type_C = 50;                            // for \\C\nstatic const escape_syntax_type escape_type_Z = 51;                            // for \\Z\nstatic const escape_syntax_type escape_type_G = 52;                            // for \\G\n\nstatic const escape_syntax_type escape_type_property = 54;                     // for \\p\nstatic const escape_syntax_type escape_type_not_property = 55;                 // for \\P\nstatic const escape_syntax_type escape_type_named_char = 56;                   // for \\N\nstatic const escape_syntax_type escape_type_extended_backref = 57;             // for \\g\nstatic const escape_syntax_type escape_type_reset_start_mark = 58;             // for \\K\nstatic const escape_syntax_type escape_type_line_ending = 59;                  // for \\R\n\nstatic const escape_syntax_type syntax_max = 60;\n\n}\n}\n\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/u32regex_iterator.hpp",
    "content": "/*\n *\n * Copyright (c) 2003\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         u32regex_iterator.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides u32regex_iterator implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_U32REGEX_ITERATOR_HPP\n#define BOOST_REGEX_V5_U32REGEX_ITERATOR_HPP\n\nnamespace boost{\n\ntemplate <class BidirectionalIterator>\nclass u32regex_iterator_implementation \n{\n   typedef u32regex regex_type;\n\n   match_results<BidirectionalIterator> what;  // current match\n   BidirectionalIterator                base;  // start of sequence\n   BidirectionalIterator                end;   // end of sequence\n   const regex_type                     re;   // the expression\n   match_flag_type                      flags; // flags for matching\n\npublic:\n   u32regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f)\n      : base(), end(last), re(*p), flags(f){}\n   bool init(BidirectionalIterator first)\n   {\n      base = first;\n      return u32regex_search(first, end, what, re, flags, base);\n   }\n   bool compare(const u32regex_iterator_implementation& that)\n   {\n      if(this == &that) return true;\n      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);\n   }\n   const match_results<BidirectionalIterator>& get()\n   { return what; }\n   bool next()\n   {\n      //if(what.prefix().first != what[0].second)\n      //   flags |= match_prev_avail;\n      BidirectionalIterator next_start = what[0].second;\n      match_flag_type f(flags);\n      if(!what.length())\n         f |= regex_constants::match_not_initial_null;\n      //if(base != next_start)\n      //   f |= regex_constants::match_not_bob;\n      bool result = u32regex_search(next_start, end, what, re, f, base);\n      if(result)\n         what.set_base(base);\n      return result;\n   }\nprivate:\n   u32regex_iterator_implementation& operator=(const u32regex_iterator_implementation&);\n};\n\ntemplate <class BidirectionalIterator>\nclass u32regex_iterator \n{\nprivate:\n   typedef u32regex_iterator_implementation<BidirectionalIterator> impl;\n   typedef std::shared_ptr<impl> pimpl;\npublic:\n   typedef          u32regex                                                regex_type;\n   typedef          match_results<BidirectionalIterator>                    value_type;\n   typedef typename std::iterator_traits<BidirectionalIterator>::difference_type \n                                                                            difference_type;\n   typedef          const value_type*                                       pointer;\n   typedef          const value_type&                                       reference; \n   typedef          std::forward_iterator_tag                               iterator_category;\n   \n   u32regex_iterator(){}\n   u32regex_iterator(BidirectionalIterator a, BidirectionalIterator b, \n                  const regex_type& re, \n                  match_flag_type m = match_default)\n                  : pdata(new impl(&re, b, m))\n   {\n      if(!pdata->init(a))\n      {\n         pdata.reset();\n      }\n   }\n   u32regex_iterator(const u32regex_iterator& that)\n      : pdata(that.pdata) {}\n   u32regex_iterator& operator=(const u32regex_iterator& that)\n   {\n      pdata = that.pdata;\n      return *this;\n   }\n   bool operator==(const u32regex_iterator& that)const\n   { \n      if((pdata.get() == 0) || (that.pdata.get() == 0))\n         return pdata.get() == that.pdata.get();\n      return pdata->compare(*(that.pdata.get())); \n   }\n   bool operator!=(const u32regex_iterator& that)const\n   { return !(*this == that); }\n   const value_type& operator*()const\n   { return pdata->get(); }\n   const value_type* operator->()const\n   { return &(pdata->get()); }\n   u32regex_iterator& operator++()\n   {\n      cow();\n      if(0 == pdata->next())\n      {\n         pdata.reset();\n      }\n      return *this;\n   }\n   u32regex_iterator operator++(int)\n   {\n      u32regex_iterator result(*this);\n      ++(*this);\n      return result;\n   }\nprivate:\n\n   pimpl pdata;\n\n   void cow()\n   {\n      // copy-on-write\n      if(pdata.get() && (pdata.use_count() > 1))\n      {\n         pdata.reset(new impl(*(pdata.get())));\n      }\n   }\n};\n\ntypedef u32regex_iterator<const char*> utf8regex_iterator;\ntypedef u32regex_iterator<const UChar*> utf16regex_iterator;\ntypedef u32regex_iterator<const UChar32*> utf32regex_iterator;\n\ninline u32regex_iterator<const char*> make_u32regex_iterator(const char* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_iterator<const char*>(p, p+std::strlen(p), e, m);\n}\n#ifndef BOOST_NO_WREGEX\ninline u32regex_iterator<const wchar_t*> make_u32regex_iterator(const wchar_t* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_iterator<const wchar_t*>(p, p+std::wcslen(p), e, m);\n}\n#endif\n#if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T)\ninline u32regex_iterator<const UChar*> make_u32regex_iterator(const UChar* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_iterator<const UChar*>(p, p+u_strlen(p), e, m);\n}\n#endif\ntemplate <class charT, class Traits, class Alloc>\ninline u32regex_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;\n   return u32regex_iterator<iter_type>(p.begin(), p.end(), e, m);\n}\ninline u32regex_iterator<const UChar*> make_u32regex_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, m);\n}\n\n} // namespace boost\n\n#endif // BOOST_REGEX_V5_REGEX_ITERATOR_HPP\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/u32regex_token_iterator.hpp",
    "content": "/*\n *\n * Copyright (c) 2003\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         u32regex_token_iterator.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Provides u32regex_token_iterator implementation.\n  */\n\n#ifndef BOOST_REGEX_V5_U32REGEX_TOKEN_ITERATOR_HPP\n#define BOOST_REGEX_V5_U32REGEX_TOKEN_ITERATOR_HPP\n\nnamespace boost{\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(push)\n#  pragma warning(disable:4700)\n#endif\n\ntemplate <class BidirectionalIterator>\nclass u32regex_token_iterator_implementation \n{\n   typedef u32regex                              regex_type;\n   typedef sub_match<BidirectionalIterator>      value_type;\n\n   match_results<BidirectionalIterator> what;   // current match\n   BidirectionalIterator                end;    // end of search area\n   BidirectionalIterator                base;   // start of search area\n   const regex_type                     re;     // the expression\n   match_flag_type                      flags;  // match flags\n   value_type                           result; // the current string result\n   int                                  N;      // the current sub-expression being enumerated\n   std::vector<int>                     subs;   // the sub-expressions to enumerate\n\npublic:\n   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f)\n      : end(last), re(*p), flags(f){ subs.push_back(sub); }\n   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f)\n      : end(last), re(*p), flags(f), subs(v){}\n   template <std::size_t CN>\n   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f)\n      : end(last), re(*p), flags(f)\n   {\n      for(std::size_t i = 0; i < CN; ++i)\n      {\n         subs.push_back(submatches[i]);\n      }\n   }\n\n   bool init(BidirectionalIterator first)\n   {\n      base = first;\n      N = 0;\n      if(u32regex_search(first, end, what, re, flags, base) == true)\n      {\n         N = 0;\n         result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]);\n         return true;\n      }\n      else if((subs[N] == -1) && (first != end))\n      {\n         result.first = first;\n         result.second = end;\n         result.matched = (first != end);\n         N = -1;\n         return true;\n      }\n      return false;\n   }\n   bool compare(const u32regex_token_iterator_implementation& that)\n   {\n      if(this == &that) return true;\n      return (&re.get_data() == &that.re.get_data()) \n         && (end == that.end) \n         && (flags == that.flags) \n         && (N == that.N) \n         && (what[0].first == that.what[0].first) \n         && (what[0].second == that.what[0].second);\n   }\n   const value_type& get()\n   { return result; }\n   bool next()\n   {\n      if(N == -1)\n         return false;\n      if(N+1 < (int)subs.size())\n      {\n         ++N;\n         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);\n         return true;\n      }\n      //if(what.prefix().first != what[0].second)\n      //   flags |= match_prev_avail | regex_constants::match_not_bob;\n      BidirectionalIterator last_end(what[0].second);\n      if(u32regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base))\n      {\n         N =0;\n         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);\n         return true;\n      }\n      else if((last_end != end) && (subs[0] == -1))\n      {\n         N =-1;\n         result.first = last_end;\n         result.second = end;\n         result.matched = (last_end != end);\n         return true;\n      }\n      return false;\n   }\nprivate:\n   u32regex_token_iterator_implementation& operator=(const u32regex_token_iterator_implementation&);\n};\n\ntemplate <class BidirectionalIterator>\nclass u32regex_token_iterator \n{\nprivate:\n   typedef u32regex_token_iterator_implementation<BidirectionalIterator> impl;\n   typedef std::shared_ptr<impl> pimpl;\npublic:\n   typedef          u32regex                                                regex_type;\n   typedef          sub_match<BidirectionalIterator>                        value_type;\n   typedef typename std::iterator_traits<BidirectionalIterator>::difference_type \n                                                                            difference_type;\n   typedef          const value_type*                                       pointer;\n   typedef          const value_type&                                       reference; \n   typedef          std::forward_iterator_tag                               iterator_category;\n   \n   u32regex_token_iterator(){}\n   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, \n                        int submatch = 0, match_flag_type m = match_default)\n                        : pdata(new impl(&re, b, submatch, m))\n   {\n      if(!pdata->init(a))\n         pdata.reset();\n   }\n   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, \n                        const std::vector<int>& submatches, match_flag_type m = match_default)\n                        : pdata(new impl(&re, b, submatches, m))\n   {\n      if(!pdata->init(a))\n         pdata.reset();\n   }\n   template <std::size_t N>\n   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,\n                        const int (&submatches)[N], match_flag_type m = match_default)\n                        : pdata(new impl(&re, b, submatches, m))\n   {\n      if(!pdata->init(a))\n         pdata.reset();\n   }\n   u32regex_token_iterator(const u32regex_token_iterator& that)\n      : pdata(that.pdata) {}\n   u32regex_token_iterator& operator=(const u32regex_token_iterator& that)\n   {\n      pdata = that.pdata;\n      return *this;\n   }\n   bool operator==(const u32regex_token_iterator& that)const\n   { \n      if((pdata.get() == 0) || (that.pdata.get() == 0))\n         return pdata.get() == that.pdata.get();\n      return pdata->compare(*(that.pdata.get())); \n   }\n   bool operator!=(const u32regex_token_iterator& that)const\n   { return !(*this == that); }\n   const value_type& operator*()const\n   { return pdata->get(); }\n   const value_type* operator->()const\n   { return &(pdata->get()); }\n   u32regex_token_iterator& operator++()\n   {\n      cow();\n      if(0 == pdata->next())\n      {\n         pdata.reset();\n      }\n      return *this;\n   }\n   u32regex_token_iterator operator++(int)\n   {\n      u32regex_token_iterator result(*this);\n      ++(*this);\n      return result;\n   }\nprivate:\n\n   pimpl pdata;\n\n   void cow()\n   {\n      // copy-on-write\n      if(pdata.get() && (pdata.use_count() > 1))\n      {\n         pdata.reset(new impl(*(pdata.get())));\n      }\n   }\n};\n\ntypedef u32regex_token_iterator<const char*> utf8regex_token_iterator;\ntypedef u32regex_token_iterator<const UChar*> utf16regex_token_iterator;\ntypedef u32regex_token_iterator<const UChar32*> utf32regex_token_iterator;\n\n// construction from an integral sub_match state_id:\ninline u32regex_token_iterator<const char*> make_u32regex_token_iterator(const char* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const char*>(p, p+std::strlen(p), e, submatch, m);\n}\n#ifndef BOOST_NO_WREGEX\ninline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);\n}\n#endif\n#if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T)\ninline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);\n}\n#endif\ntemplate <class charT, class Traits, class Alloc>\ninline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;\n   return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m);\n}\ninline u32regex_token_iterator<const UChar*> 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)\n{\n   return u32regex_token_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m);\n}\n\n// construction from a reference to an array:\ntemplate <std::size_t N>\ninline u32regex_token_iterator<const char*> make_u32regex_token_iterator(const char* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const char*>(p, p+std::strlen(p), e, submatch, m);\n}\n#ifndef BOOST_NO_WREGEX\ntemplate <std::size_t N>\ninline u32regex_token_iterator<const wchar_t*> 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)\n{\n   return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);\n}\n#endif\n#if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T)\ntemplate <std::size_t N>\ninline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);\n}\n#endif\ntemplate <class charT, class Traits, class Alloc, std::size_t N>\ninline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;\n   return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m);\n}\ntemplate <std::size_t N>\ninline u32regex_token_iterator<const UChar*> 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)\n{\n   return u32regex_token_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m);\n}\n\n// construction from a vector of sub_match state_id's:\ninline u32regex_token_iterator<const char*> make_u32regex_token_iterator(const char* p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const char*>(p, p+std::strlen(p), e, submatch, m);\n}\n#ifndef BOOST_NO_WREGEX\ninline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);\n}\n#endif\n#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)\ninline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);\n}\n#endif\ntemplate <class charT, class Traits, class Alloc>\ninline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;\n   return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m);\n}\ninline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)\n{\n   return u32regex_token_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m);\n}\n\n#ifdef BOOST_REGEX_MSVC\n#  pragma warning(pop)\n#endif\n\n} // namespace boost\n\n#endif // BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/unicode_iterator.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         unicode_iterator.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Iterator adapters for converting between different Unicode encodings.\n  */\n\n/****************************************************************************\n\nContents:\n~~~~~~~~~\n\n1) Read Only, Input Adapters:\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\ntemplate <class BaseIterator, class U8Type = std::uint8_t>\nclass u32_to_u8_iterator;\n\nAdapts sequence of UTF-32 code points to \"look like\" a sequence of UTF-8.\n\ntemplate <class BaseIterator, class U32Type = std::uint32_t>\nclass u8_to_u32_iterator;\n\nAdapts sequence of UTF-8 code points to \"look like\" a sequence of UTF-32.\n\ntemplate <class BaseIterator, class U16Type = std::uint16_t>\nclass u32_to_u16_iterator;\n\nAdapts sequence of UTF-32 code points to \"look like\" a sequence of UTF-16.\n\ntemplate <class BaseIterator, class U32Type = std::uint32_t>\nclass u16_to_u32_iterator;\n\nAdapts sequence of UTF-16 code points to \"look like\" a sequence of UTF-32.\n\n2) Single pass output iterator adapters:\n\ntemplate <class BaseIterator>\nclass utf8_output_iterator;\n\nAccepts UTF-32 code points and forwards them on as UTF-8 code points.\n\ntemplate <class BaseIterator>\nclass utf16_output_iterator;\n\nAccepts UTF-32 code points and forwards them on as UTF-16 code points.\n\n****************************************************************************/\n\n#ifndef BOOST_REGEX_UNICODE_ITERATOR_HPP\n#define BOOST_REGEX_UNICODE_ITERATOR_HPP\n#include <cstdint>\n#include <boost/regex/config.hpp>\n#include <stdexcept>\n#include <sstream>\n#include <ios>\n#include <limits.h> // CHAR_BIT\n\n#ifndef BOOST_REGEX_STANDALONE\n#include <boost/throw_exception.hpp>\n#endif\n\nnamespace boost{\n\nnamespace detail{\n\nstatic const std::uint16_t high_surrogate_base = 0xD7C0u;\nstatic const std::uint16_t low_surrogate_base = 0xDC00u;\nstatic const std::uint32_t ten_bit_mask = 0x3FFu;\n\ninline bool is_high_surrogate(std::uint16_t v)\n{\n   return (v & 0xFFFFFC00u) == 0xd800u;\n}\ninline bool is_low_surrogate(std::uint16_t v)\n{\n   return (v & 0xFFFFFC00u) == 0xdc00u;\n}\ntemplate <class T>\ninline bool is_surrogate(T v)\n{\n   return (v & 0xFFFFF800u) == 0xd800;\n}\n\ninline unsigned utf8_byte_count(std::uint8_t c)\n{\n   // if the most significant bit with a zero in it is in position\n   // 8-N then there are N bytes in this UTF-8 sequence:\n   std::uint8_t mask = 0x80u;\n   unsigned result = 0;\n   while(c & mask)\n   {\n      ++result;\n      mask >>= 1;\n   }\n   return (result == 0) ? 1 : ((result > 4) ? 4 : result);\n}\n\ninline unsigned utf8_trailing_byte_count(std::uint8_t c)\n{\n   return utf8_byte_count(c) - 1;\n}\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4100)\n#endif\n#ifndef BOOST_NO_EXCEPTIONS\nBOOST_REGEX_NORETURN\n#endif\ninline void invalid_utf32_code_point(std::uint32_t val)\n{\n   std::stringstream ss;\n   ss << \"Invalid UTF-32 code point U+\" << std::showbase << std::hex << val << \" encountered while trying to encode UTF-16 sequence\";\n   std::out_of_range e(ss.str());\n#ifndef BOOST_REGEX_STANDALONE\n   boost::throw_exception(e);\n#else\n   throw e;\n#endif\n}\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\n\n} // namespace detail\n\ntemplate <class BaseIterator, class U16Type = std::uint16_t>\nclass u32_to_u16_iterator\n{\n   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;\n\n   static_assert(sizeof(base_value_type)*CHAR_BIT == 32, \"Incorrectly sized template argument\");\n   static_assert(sizeof(U16Type)*CHAR_BIT == 16, \"Incorrectly sized template argument\");\n\npublic:\n   typedef std::ptrdiff_t     difference_type;\n   typedef U16Type            value_type;\n   typedef value_type const*  pointer;\n   typedef value_type const   reference;\n   typedef std::bidirectional_iterator_tag iterator_category;\n\n   reference operator*()const\n   {\n      if(m_current == 2)\n         extract_current();\n      return m_values[m_current];\n   }\n   bool operator==(const u32_to_u16_iterator& that)const\n   {\n      if(m_position == that.m_position)\n      {\n         // Both m_currents must be equal, or both even\n         // this is the same as saying their sum must be even:\n         return (m_current + that.m_current) & 1u ? false : true;\n      }\n      return false;\n   }\n   bool operator!=(const u32_to_u16_iterator& that)const\n   {\n      return !(*this == that);\n   }\n   u32_to_u16_iterator& operator++()\n   {\n      // if we have a pending read then read now, so that we know whether\n      // to skip a position, or move to a low-surrogate:\n      if(m_current == 2)\n      {\n         // pending read:\n         extract_current();\n      }\n      // move to the next surrogate position:\n      ++m_current;\n      // if we've reached the end skip a position:\n      if(m_values[m_current] == 0)\n      {\n         m_current = 2;\n         ++m_position;\n      }\n      return *this;\n   }\n   u32_to_u16_iterator operator++(int)\n   {\n      u32_to_u16_iterator r(*this);\n      ++(*this);\n      return r;\n   }\n   u32_to_u16_iterator& operator--()\n   {\n      if(m_current != 1)\n      {\n         // decrementing an iterator always leads to a valid position:\n         --m_position;\n         extract_current();\n         m_current = m_values[1] ? 1 : 0;\n      }\n      else\n      {\n         m_current = 0;\n      }\n      return *this;\n   }\n   u32_to_u16_iterator operator--(int)\n   {\n      u32_to_u16_iterator r(*this);\n      --(*this);\n      return r;\n   }\n   BaseIterator base()const\n   {\n      return m_position;\n   }\n   // construct:\n   u32_to_u16_iterator() : m_position(), m_current(0)\n   {\n      m_values[0] = 0;\n      m_values[1] = 0;\n      m_values[2] = 0;\n   }\n   u32_to_u16_iterator(BaseIterator b) : m_position(b), m_current(2)\n   {\n      m_values[0] = 0;\n      m_values[1] = 0;\n      m_values[2] = 0;\n   }\nprivate:\n\n   void extract_current()const\n   {\n      // begin by checking for a code point out of range:\n      std::uint32_t v = *m_position;\n      if(v >= 0x10000u)\n      {\n         if(v > 0x10FFFFu)\n            detail::invalid_utf32_code_point(*m_position);\n         // split into two surrogates:\n         m_values[0] = static_cast<U16Type>(v >> 10) + detail::high_surrogate_base;\n         m_values[1] = static_cast<U16Type>(v & detail::ten_bit_mask) + detail::low_surrogate_base;\n         m_current = 0;\n         BOOST_REGEX_ASSERT(detail::is_high_surrogate(m_values[0]));\n         BOOST_REGEX_ASSERT(detail::is_low_surrogate(m_values[1]));\n      }\n      else\n      {\n         // 16-bit code point:\n         m_values[0] = static_cast<U16Type>(*m_position);\n         m_values[1] = 0;\n         m_current = 0;\n         // value must not be a surrogate:\n         if(detail::is_surrogate(m_values[0]))\n            detail::invalid_utf32_code_point(*m_position);\n      }\n   }\n   BaseIterator m_position;\n   mutable U16Type m_values[3];\n   mutable unsigned m_current;\n};\n\ntemplate <class BaseIterator, class U32Type = std::uint32_t>\nclass u16_to_u32_iterator\n{\n   // special values for pending iterator reads:\n   static const U32Type pending_read = 0xffffffffu;\n\n   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;\n\n   static_assert(sizeof(base_value_type)*CHAR_BIT == 16, \"Incorrectly sized template argument\");\n   static_assert(sizeof(U32Type)*CHAR_BIT == 32, \"Incorrectly sized template argument\");\n\npublic:\n   typedef std::ptrdiff_t     difference_type;\n   typedef U32Type            value_type;\n   typedef value_type const*  pointer;\n   typedef value_type const   reference;\n   typedef std::bidirectional_iterator_tag iterator_category;\n\n   reference operator*()const\n   {\n      if(m_value == pending_read)\n         extract_current();\n      return m_value;\n   }\n   bool operator==(const u16_to_u32_iterator& that)const\n   {\n      return m_position == that.m_position;\n   }\n   bool operator!=(const u16_to_u32_iterator& that)const\n   {\n      return !(*this == that);\n   }\n   u16_to_u32_iterator& operator++()\n   {\n      // skip high surrogate first if there is one:\n      if(detail::is_high_surrogate(*m_position)) ++m_position;\n      ++m_position;\n      m_value = pending_read;\n      return *this;\n   }\n   u16_to_u32_iterator operator++(int)\n   {\n      u16_to_u32_iterator r(*this);\n      ++(*this);\n      return r;\n   }\n   u16_to_u32_iterator& operator--()\n   {\n      --m_position;\n      // if we have a low surrogate then go back one more:\n      if(detail::is_low_surrogate(*m_position)) \n         --m_position;\n      m_value = pending_read;\n      return *this;\n   }\n   u16_to_u32_iterator operator--(int)\n   {\n      u16_to_u32_iterator r(*this);\n      --(*this);\n      return r;\n   }\n   BaseIterator base()const\n   {\n      return m_position;\n   }\n   // construct:\n   u16_to_u32_iterator() : m_position()\n   {\n      m_value = pending_read;\n   }\n   u16_to_u32_iterator(BaseIterator b) : m_position(b)\n   {\n      m_value = pending_read;\n   }\n   //\n   // Range checked version:\n   //\n   u16_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b)\n   {\n      m_value = pending_read;\n      //\n      // The range must not start with a low surrogate, or end in a high surrogate,\n      // otherwise we run the risk of running outside the underlying input range.\n      // Likewise b must not be located at a low surrogate.\n      //\n      std::uint16_t val;\n      if(start != end)\n      {\n         if((b != start) && (b != end))\n         {\n            val = *b;\n            if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u))\n               invalid_code_point(val);\n         }\n         val = *start;\n         if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u))\n            invalid_code_point(val);\n         val = *--end;\n         if(detail::is_high_surrogate(val))\n            invalid_code_point(val);\n      }\n   }\nprivate:\n   static void invalid_code_point(std::uint16_t val)\n   {\n      std::stringstream ss;\n      ss << \"Misplaced UTF-16 surrogate U+\" << std::showbase << std::hex << val << \" encountered while trying to encode UTF-32 sequence\";\n      std::out_of_range e(ss.str());\n#ifndef BOOST_REGEX_STANDALONE\n      boost::throw_exception(e);\n#else\n      throw e;\n#endif\n   }\n   void extract_current()const\n   {\n      m_value = static_cast<U32Type>(static_cast< std::uint16_t>(*m_position));\n      // if the last value is a high surrogate then adjust m_position and m_value as needed:\n      if(detail::is_high_surrogate(*m_position))\n      {\n         // precondition; next value must have be a low-surrogate:\n         BaseIterator next(m_position);\n         std::uint16_t t = *++next;\n         if((t & 0xFC00u) != 0xDC00u)\n            invalid_code_point(t);\n         m_value = (m_value - detail::high_surrogate_base) << 10;\n         m_value |= (static_cast<U32Type>(static_cast< std::uint16_t>(t)) & detail::ten_bit_mask);\n      }\n      // postcondition; result must not be a surrogate:\n      if(detail::is_surrogate(m_value))\n         invalid_code_point(static_cast< std::uint16_t>(m_value));\n   }\n   BaseIterator m_position;\n   mutable U32Type m_value;\n};\n\ntemplate <class BaseIterator, class U8Type = std::uint8_t>\nclass u32_to_u8_iterator\n{\n   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;\n\n   static_assert(sizeof(base_value_type)*CHAR_BIT == 32, \"Incorrectly sized template argument\");\n   static_assert(sizeof(U8Type)*CHAR_BIT == 8, \"Incorrectly sized template argument\");\n\npublic:\n   typedef std::ptrdiff_t     difference_type;\n   typedef U8Type             value_type;\n   typedef value_type const*  pointer;\n   typedef value_type const   reference;\n   typedef std::bidirectional_iterator_tag iterator_category;\n\n   reference operator*()const\n   {\n      if(m_current == 4)\n         extract_current();\n      return m_values[m_current];\n   }\n   bool operator==(const u32_to_u8_iterator& that)const\n   {\n      if(m_position == that.m_position)\n      {\n         // either the m_current's must be equal, or one must be 0 and \n         // the other 4: which means neither must have bits 1 or 2 set:\n         return (m_current == that.m_current)\n            || (((m_current | that.m_current) & 3) == 0);\n      }\n      return false;\n   }\n   bool operator!=(const u32_to_u8_iterator& that)const\n   {\n      return !(*this == that);\n   }\n   u32_to_u8_iterator& operator++()\n   {\n      // if we have a pending read then read now, so that we know whether\n      // to skip a position, or move to a low-surrogate:\n      if(m_current == 4)\n      {\n         // pending read:\n         extract_current();\n      }\n      // move to the next surrogate position:\n      ++m_current;\n      // if we've reached the end skip a position:\n      if(m_values[m_current] == 0)\n      {\n         m_current = 4;\n         ++m_position;\n      }\n      return *this;\n   }\n   u32_to_u8_iterator operator++(int)\n   {\n      u32_to_u8_iterator r(*this);\n      ++(*this);\n      return r;\n   }\n   u32_to_u8_iterator& operator--()\n   {\n      if((m_current & 3) == 0)\n      {\n         --m_position;\n         extract_current();\n         m_current = 3;\n         while(m_current && (m_values[m_current] == 0))\n            --m_current;\n      }\n      else\n         --m_current;\n      return *this;\n   }\n   u32_to_u8_iterator operator--(int)\n   {\n      u32_to_u8_iterator r(*this);\n      --(*this);\n      return r;\n   }\n   BaseIterator base()const\n   {\n      return m_position;\n   }\n   // construct:\n   u32_to_u8_iterator() : m_position(), m_current(0)\n   {\n      m_values[0] = 0;\n      m_values[1] = 0;\n      m_values[2] = 0;\n      m_values[3] = 0;\n      m_values[4] = 0;\n   }\n   u32_to_u8_iterator(BaseIterator b) : m_position(b), m_current(4)\n   {\n      m_values[0] = 0;\n      m_values[1] = 0;\n      m_values[2] = 0;\n      m_values[3] = 0;\n      m_values[4] = 0;\n   }\nprivate:\n\n   void extract_current()const\n   {\n      std::uint32_t c = *m_position;\n      if(c > 0x10FFFFu)\n         detail::invalid_utf32_code_point(c);\n      if(c < 0x80u)\n      {\n         m_values[0] = static_cast<unsigned char>(c);\n         m_values[1] = static_cast<unsigned char>(0u);\n         m_values[2] = static_cast<unsigned char>(0u);\n         m_values[3] = static_cast<unsigned char>(0u);\n      }\n      else if(c < 0x800u)\n      {\n         m_values[0] = static_cast<unsigned char>(0xC0u + (c >> 6));\n         m_values[1] = static_cast<unsigned char>(0x80u + (c & 0x3Fu));\n         m_values[2] = static_cast<unsigned char>(0u);\n         m_values[3] = static_cast<unsigned char>(0u);\n      }\n      else if(c < 0x10000u)\n      {\n         m_values[0] = static_cast<unsigned char>(0xE0u + (c >> 12));\n         m_values[1] = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));\n         m_values[2] = static_cast<unsigned char>(0x80u + (c & 0x3Fu));\n         m_values[3] = static_cast<unsigned char>(0u);\n      }\n      else\n      {\n         m_values[0] = static_cast<unsigned char>(0xF0u + (c >> 18));\n         m_values[1] = static_cast<unsigned char>(0x80u + ((c >> 12) & 0x3Fu));\n         m_values[2] = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));\n         m_values[3] = static_cast<unsigned char>(0x80u + (c & 0x3Fu));\n      }\n      m_current= 0;\n   }\n   BaseIterator m_position;\n   mutable U8Type m_values[5];\n   mutable unsigned m_current;\n};\n\ntemplate <class BaseIterator, class U32Type = std::uint32_t>\nclass u8_to_u32_iterator\n{\n   // special values for pending iterator reads:\n   static const U32Type pending_read = 0xffffffffu;\n\n   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;\n\n   static_assert(sizeof(base_value_type)*CHAR_BIT == 8, \"Incorrectly sized template argument\");\n   static_assert(sizeof(U32Type)*CHAR_BIT == 32, \"Incorrectly sized template argument\");\n\npublic:\n   typedef std::ptrdiff_t     difference_type;\n   typedef U32Type            value_type;\n   typedef value_type const*  pointer;\n   typedef value_type const   reference;\n   typedef std::bidirectional_iterator_tag iterator_category;\n\n   reference operator*()const\n   {\n      if(m_value == pending_read)\n         extract_current();\n      return m_value;\n   }\n   bool operator==(const u8_to_u32_iterator& that)const\n   {\n      return m_position == that.m_position;\n   }\n   bool operator!=(const u8_to_u32_iterator& that)const\n   {\n      return !(*this == that);\n   }\n   u8_to_u32_iterator& operator++()\n   {\n      // We must not start with a continuation character:\n      if((static_cast<std::uint8_t>(*m_position) & 0xC0) == 0x80)\n         invalid_sequence();\n      // skip high surrogate first if there is one:\n      unsigned c = detail::utf8_byte_count(*m_position);\n      if(m_value == pending_read)\n      {\n         // Since we haven't read in a value, we need to validate the code points:\n         for(unsigned i = 0; i < c; ++i)\n         {\n            ++m_position;\n            // We must have a continuation byte:\n            if((i != c - 1) && ((static_cast<std::uint8_t>(*m_position) & 0xC0) != 0x80))\n               invalid_sequence();\n         }\n      }\n      else\n      {\n         std::advance(m_position, c);\n      }\n      m_value = pending_read;\n      return *this;\n   }\n   u8_to_u32_iterator operator++(int)\n   {\n      u8_to_u32_iterator r(*this);\n      ++(*this);\n      return r;\n   }\n   u8_to_u32_iterator& operator--()\n   {\n      // Keep backtracking until we don't have a trailing character:\n      unsigned count = 0;\n      while((*--m_position & 0xC0u) == 0x80u) ++count;\n      // now check that the sequence was valid:\n      if(count != detail::utf8_trailing_byte_count(*m_position))\n         invalid_sequence();\n      m_value = pending_read;\n      return *this;\n   }\n   u8_to_u32_iterator operator--(int)\n   {\n      u8_to_u32_iterator r(*this);\n      --(*this);\n      return r;\n   }\n   BaseIterator base()const\n   {\n      return m_position;\n   }\n   // construct:\n   u8_to_u32_iterator() : m_position()\n   {\n      m_value = pending_read;\n   }\n   u8_to_u32_iterator(BaseIterator b) : m_position(b)\n   {\n      m_value = pending_read;\n   }\n   //\n   // Checked constructor:\n   //\n   u8_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b)\n   {\n      m_value = pending_read;\n      //\n      // We must not start with a continuation character, or end with a \n      // truncated UTF-8 sequence otherwise we run the risk of going past\n      // the start/end of the underlying sequence:\n      //\n      if(start != end)\n      {\n         unsigned char v = *start;\n         if((v & 0xC0u) == 0x80u)\n            invalid_sequence();\n         if((b != start) && (b != end) && ((*b & 0xC0u) == 0x80u))\n            invalid_sequence();\n         BaseIterator pos = end;\n         do\n         {\n            v = *--pos;\n         }\n         while((start != pos) && ((v & 0xC0u) == 0x80u));\n         std::ptrdiff_t extra = detail::utf8_byte_count(v);\n         if(std::distance(pos, end) < extra)\n            invalid_sequence();\n      }\n   }\nprivate:\n   static void invalid_sequence()\n   {\n      std::out_of_range e(\"Invalid UTF-8 sequence encountered while trying to encode UTF-32 character\");\n#ifndef BOOST_REGEX_STANDALONE\n      boost::throw_exception(e);\n#else\n      throw e;\n#endif\n   }\n   void extract_current()const\n   {\n      m_value = static_cast<U32Type>(static_cast< std::uint8_t>(*m_position));\n      // we must not have a continuation character:\n      if((m_value & 0xC0u) == 0x80u)\n         invalid_sequence();\n      // see how many extra bytes we have:\n      unsigned extra = detail::utf8_trailing_byte_count(*m_position);\n      // extract the extra bits, 6 from each extra byte:\n      BaseIterator next(m_position);\n      for(unsigned c = 0; c < extra; ++c)\n      {\n         ++next;\n         m_value <<= 6;\n         // We must have a continuation byte:\n         if((static_cast<std::uint8_t>(*next) & 0xC0) != 0x80)\n            invalid_sequence();\n         m_value += static_cast<std::uint8_t>(*next) & 0x3Fu;\n      }\n      // we now need to remove a few of the leftmost bits, but how many depends\n      // upon how many extra bytes we've extracted:\n      static const std::uint32_t masks[4] = \n      {\n         0x7Fu,\n         0x7FFu,\n         0xFFFFu,\n         0x1FFFFFu,\n      };\n      m_value &= masks[extra];\n      // check the result is in range:\n      if(m_value > static_cast<U32Type>(0x10FFFFu))\n         invalid_sequence();\n      // The result must not be a surrogate:\n      if((m_value >= static_cast<U32Type>(0xD800)) && (m_value <= static_cast<U32Type>(0xDFFF)))\n         invalid_sequence();\n      // We should not have had an invalidly encoded UTF8 sequence:\n      if((extra > 0) && (m_value <= static_cast<U32Type>(masks[extra - 1])))\n         invalid_sequence();\n   }\n   BaseIterator m_position;\n   mutable U32Type m_value;\n};\n\ntemplate <class BaseIterator>\nclass utf16_output_iterator\n{\npublic:\n   typedef void                                   difference_type;\n   typedef void                                   value_type;\n   typedef std::uint32_t*                         pointer;\n   typedef std::uint32_t&                         reference;\n   typedef std::output_iterator_tag               iterator_category;\n\n   utf16_output_iterator(const BaseIterator& b)\n      : m_position(b){}\n   utf16_output_iterator(const utf16_output_iterator& that)\n      : m_position(that.m_position){}\n   utf16_output_iterator& operator=(const utf16_output_iterator& that)\n   {\n      m_position = that.m_position;\n      return *this;\n   }\n   const utf16_output_iterator& operator*()const\n   {\n      return *this;\n   }\n   void operator=(std::uint32_t val)const\n   {\n      push(val);\n   }\n   utf16_output_iterator& operator++()\n   {\n      return *this;\n   }\n   utf16_output_iterator& operator++(int)\n   {\n      return *this;\n   }\n   BaseIterator base()const\n   {\n      return m_position;\n   }\nprivate:\n   void push(std::uint32_t v)const\n   {\n      if(v >= 0x10000u)\n      {\n         // begin by checking for a code point out of range:\n         if(v > 0x10FFFFu)\n            detail::invalid_utf32_code_point(v);\n         // split into two surrogates:\n         *m_position++ = static_cast<std::uint16_t>(v >> 10) + detail::high_surrogate_base;\n         *m_position++ = static_cast<std::uint16_t>(v & detail::ten_bit_mask) + detail::low_surrogate_base;\n      }\n      else\n      {\n         // 16-bit code point:\n         // value must not be a surrogate:\n         if(detail::is_surrogate(v))\n            detail::invalid_utf32_code_point(v);\n         *m_position++ = static_cast<std::uint16_t>(v);\n      }\n   }\n   mutable BaseIterator m_position;\n};\n\ntemplate <class BaseIterator>\nclass utf8_output_iterator\n{\npublic:\n   typedef void                                   difference_type;\n   typedef void                                   value_type;\n   typedef std::uint32_t*                       pointer;\n   typedef std::uint32_t&                       reference;\n   typedef std::output_iterator_tag               iterator_category;\n\n   utf8_output_iterator(const BaseIterator& b)\n      : m_position(b){}\n   utf8_output_iterator(const utf8_output_iterator& that)\n      : m_position(that.m_position){}\n   utf8_output_iterator& operator=(const utf8_output_iterator& that)\n   {\n      m_position = that.m_position;\n      return *this;\n   }\n   const utf8_output_iterator& operator*()const\n   {\n      return *this;\n   }\n   void operator=(std::uint32_t val)const\n   {\n      push(val);\n   }\n   utf8_output_iterator& operator++()\n   {\n      return *this;\n   }\n   utf8_output_iterator& operator++(int)\n   {\n      return *this;\n   }\n   BaseIterator base()const\n   {\n      return m_position;\n   }\nprivate:\n   void push(std::uint32_t c)const\n   {\n      if(c > 0x10FFFFu)\n         detail::invalid_utf32_code_point(c);\n      if(c < 0x80u)\n      {\n         *m_position++ = static_cast<unsigned char>(c);\n      }\n      else if(c < 0x800u)\n      {\n         *m_position++ = static_cast<unsigned char>(0xC0u + (c >> 6));\n         *m_position++ = static_cast<unsigned char>(0x80u + (c & 0x3Fu));\n      }\n      else if(c < 0x10000u)\n      {\n         *m_position++ = static_cast<unsigned char>(0xE0u + (c >> 12));\n         *m_position++ = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));\n         *m_position++ = static_cast<unsigned char>(0x80u + (c & 0x3Fu));\n      }\n      else\n      {\n         *m_position++ = static_cast<unsigned char>(0xF0u + (c >> 18));\n         *m_position++ = static_cast<unsigned char>(0x80u + ((c >> 12) & 0x3Fu));\n         *m_position++ = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));\n         *m_position++ = static_cast<unsigned char>(0x80u + (c & 0x3Fu));\n      }\n   }\n   mutable BaseIterator m_position;\n};\n\n} // namespace boost\n\n#endif // BOOST_REGEX_UNICODE_ITERATOR_HPP\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex/v5/w32_regex_traits.hpp",
    "content": "/*\n *\n * Copyright (c) 2004\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n \n /*\n  *   LOCATION:    see http://www.boost.org for most recent version.\n  *   FILE         w32_regex_traits.hpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares regular expression traits class w32_regex_traits.\n  */\n\n#ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED\n#define BOOST_W32_REGEX_TRAITS_HPP_INCLUDED\n\n#ifndef BOOST_REGEX_NO_WIN32_LOCALE\n\n#include <boost/regex/pattern_except.hpp>\n#include <boost/regex/v5/regex_traits_defaults.hpp>\n#ifdef BOOST_HAS_THREADS\n#include <mutex>\n#endif\n#include <boost/regex/v5/primary_transform.hpp>\n#include <boost/regex/v5/object_cache.hpp>\n\n#if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE)\n#pragma comment(lib, \"user32.lib\")\n#endif\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(push)\n#pragma warning(disable:4786)\n#if BOOST_REGEX_MSVC < 1910\n#pragma warning(disable:4800)\n#endif\n#endif\n\n#ifndef BASETYPES\n//\n// windows.h not included, so lets forward declare what we need:\n//\n#ifndef NO_STRICT\n#ifndef STRICT\n#define STRICT 1\n#endif\n#endif\n\n#if defined(STRICT)\n#define BOOST_RE_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x\n#else\n#define BOOST_RE_DETAIL_DECLARE_HANDLE(x) typedef void* x\n#endif\n//\n// This must be in the global namespace:\n//\nextern \"C\" {\n\n   BOOST_RE_DETAIL_DECLARE_HANDLE(HINSTANCE);\n   typedef HINSTANCE HMODULE;\n}\n#endif\n\nnamespace boost{ \n\n//\n// forward declaration is needed by some compilers:\n//\ntemplate <class charT>\nclass w32_regex_traits;\n   \nnamespace BOOST_REGEX_DETAIL_NS{\n\n//\n// start by typedeffing the types we'll need:\n//\ntypedef unsigned long lcid_type;        // placeholder for LCID.\ntypedef std::shared_ptr<void> cat_type; // placeholder for dll HANDLE.\n\n//\n// then add wrappers around the actual Win32 API's (ie implementation hiding):\n//\nlcid_type  w32_get_default_locale();\nbool  w32_is_lower(char, lcid_type);\n#ifndef BOOST_NO_WREGEX\nbool  w32_is_lower(wchar_t, lcid_type);\n#endif\nbool  w32_is_upper(char, lcid_type);\n#ifndef BOOST_NO_WREGEX\nbool  w32_is_upper(wchar_t, lcid_type);\n#endif\ncat_type  w32_cat_open(const std::string& name);\nstd::string  w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def);\n#ifndef BOOST_NO_WREGEX\nstd::wstring  w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def);\n#endif\nstd::string  w32_transform(lcid_type state_id, const char* p1, const char* p2);\n#ifndef BOOST_NO_WREGEX\nstd::wstring  w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2);\n#endif\nchar  w32_tolower(char c, lcid_type);\n#ifndef BOOST_NO_WREGEX\nwchar_t  w32_tolower(wchar_t c, lcid_type);\n#endif\nchar  w32_toupper(char c, lcid_type);\n#ifndef BOOST_NO_WREGEX\nwchar_t  w32_toupper(wchar_t c, lcid_type);\n#endif\nbool  w32_is(lcid_type, std::uint32_t mask, char c);\n#ifndef BOOST_NO_WREGEX\nbool  w32_is(lcid_type, std::uint32_t mask, wchar_t c);\n#endif\n\n#ifndef BASETYPES\n//\n// Forward declarations of the small number of windows types and API's we use:\n//\n\n#if !defined(__LP64__)\nusing dword = unsigned long;\n#else\nusing DWORD = unsigned int;\n#endif\nusing word = unsigned short;\nusing lctype = dword;\n\nstatic constexpr dword ct_ctype1 = 0x00000001;\nstatic constexpr dword c1_upper = 0x0001;      // upper case\nstatic constexpr dword c1_lower = 0x0002;      // lower case\nstatic constexpr dword c1_digit = 0x0004;      // decimal digits\nstatic constexpr dword c1_space = 0x0008;      // spacing characters\nstatic constexpr dword c1_punct = 0x0010;      // punctuation characters\nstatic constexpr dword c1_cntrl = 0x0020;      // control characters\nstatic constexpr dword c1_blank = 0x0040;      // blank characters\nstatic constexpr dword c1_xdigit = 0x0080;      // other digits\nstatic constexpr dword c1_alpha = 0x0100;      // any linguistic character\nstatic constexpr dword c1_defined = 0x0200;      // defined character\nstatic constexpr unsigned int cp_acp = 0;\nstatic constexpr dword lcmap_lowercase = 0x00000100;\nstatic constexpr dword lcmap_uppercase = 0x00000200;\nstatic constexpr dword lcmap_sortkey = 0x00000400;  // WC sort key (normalize)\nstatic constexpr lctype locale_idefaultansicodepage = 0x00001004;\n\n# ifdef UNDER_CE\n#  ifndef WINAPI\n#   ifndef _WIN32_WCE_EMULATION\n#    define BOOST_RE_STDCALL __cdecl     // Note this doesn't match the desktop definition\n#   else\n#    define BOOST_RE_STDCALL __stdcall\n#   endif\n#  endif\n# else\n#  if defined(_M_IX86) || defined(__i386__)\n#   define BOOST_RE_STDCALL __stdcall\n#  else\n    // On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning.\n#   define BOOST_RE_STDCALL\n#  endif\n# endif\n\n#if defined (WIN32_PLATFORM_PSPC)\n#define BOOST_RE_IMPORT __declspec( dllimport )\n#elif defined (_WIN32_WCE)\n#define BOOST_RE_IMPORT\n#else\n#define BOOST_RE_IMPORT __declspec( dllimport )\n#endif\n\nextern \"C\" {\n\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL FreeLibrary(HMODULE hLibModule);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringA(lcid_type Locale, dword dwMapFlags, const char* lpSrcStr, int cchSrc, char* lpDestStr, int cchDest);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringW(lcid_type Locale, dword dwMapFlags, const wchar_t* lpSrcStr, int cchSrc, wchar_t* lpDestStr, int cchDest);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL MultiByteToWideChar(unsigned int CodePage, dword dwFlags, const char* lpMultiByteStr, int cbMultiByte, wchar_t* lpWideCharStr, int cchWideChar);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringW(lcid_type Locale, dword dwMapFlags, const wchar_t* lpSrcStr, int cchSrc, wchar_t* lpDestStr, int cchDest);\n   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);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExA(lcid_type Locale, dword dwInfoType, const char* lpSrcStr, int cchSrc, word* lpCharType);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExW(lcid_type Locale, dword dwInfoType, const wchar_t* lpSrcStr, int cchSrc, word* lpCharType);\n   BOOST_RE_IMPORT lcid_type BOOST_RE_STDCALL GetUserDefaultLCID();\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExA(lcid_type Locale, dword dwInfoType, const char* lpSrcStr, int cchSrc, word* lpCharType);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExW(lcid_type Locale, dword dwInfoType, const wchar_t* lpSrcStr, int cchSrc, word* lpCharType);\n   BOOST_RE_IMPORT HMODULE BOOST_RE_STDCALL LoadLibraryA(const char* lpLibFileName);\n   BOOST_RE_IMPORT HMODULE BOOST_RE_STDCALL LoadLibraryW(const wchar_t* lpLibFileName);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL LoadStringW(HINSTANCE hInstance, unsigned int uID, wchar_t* lpBuffer, int cchBufferMax);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL LoadStringA(HINSTANCE hInstance, unsigned int uID, char* lpBuffer, int cchBufferMax);\n   BOOST_RE_IMPORT int BOOST_RE_STDCALL GetLocaleInfoW(lcid_type Locale, lctype LCType, wchar_t* lpLCData, int cchData);\n}\n\n#else\n//\n// We have windows.h already included:\n//\nusing dword = DWORD;\nusing word = WORD;\nusing lctype = LCTYPE;\n\nstatic constexpr dword ct_ctype1 = 0x00000001;\nstatic constexpr dword c1_upper = 0x0001;      // upper case\nstatic constexpr dword c1_lower = 0x0002;      // lower case\nstatic constexpr dword c1_digit = 0x0004;      // decimal digits\nstatic constexpr dword c1_space = 0x0008;      // spacing characters\nstatic constexpr dword c1_punct = 0x0010;      // punctuation characters\nstatic constexpr dword c1_cntrl = 0x0020;      // control characters\nstatic constexpr dword c1_blank = 0x0040;      // blank characters\nstatic constexpr dword c1_xdigit = 0x0080;      // other digits\nstatic constexpr dword c1_alpha = 0x0100;      // any linguistic character\nstatic constexpr dword c1_defined = 0x0200;      // defined character\nstatic constexpr unsigned int cp_acp = 0;\nstatic constexpr dword lcmap_lowercase = 0x00000100;\nstatic constexpr dword lcmap_uppercase = 0x00000200;\nstatic constexpr dword lcmap_sortkey = 0x00000400;  // WC sort key (normalize)\nstatic constexpr lctype locale_idefaultansicodepage = 0x00001004;\n\nusing ::FreeLibrary;\nusing ::LCMapStringA;\nusing ::LCMapStringW;\nusing ::MultiByteToWideChar;\nusing ::LCMapStringW;\nusing ::WideCharToMultiByte;\nusing ::GetStringTypeExA;\nusing ::GetStringTypeExW;\nusing ::GetUserDefaultLCID;\nusing ::GetStringTypeExA;\nusing ::GetStringTypeExW;\nusing ::LoadLibraryA;\nusing ::LoadLibraryW;\nusing ::LoadStringW;\nusing ::LoadStringA;\nusing ::GetLocaleInfoW;\n\n#endif\n//\n// class w32_regex_traits_base:\n// acts as a container for locale and the facets we are using.\n//\ntemplate <class charT>\nstruct w32_regex_traits_base\n{\n   w32_regex_traits_base(lcid_type l)\n   { imbue(l); }\n   lcid_type imbue(lcid_type l);\n\n   lcid_type m_locale;\n};\n\ntemplate <class charT>\ninline lcid_type w32_regex_traits_base<charT>::imbue(lcid_type l)\n{\n   lcid_type result(m_locale);\n   m_locale = l;\n   return result;\n}\n\n//\n// class w32_regex_traits_char_layer:\n// implements methods that require specialisation for narrow characters:\n//\ntemplate <class charT>\nclass w32_regex_traits_char_layer : public w32_regex_traits_base<charT>\n{\n   typedef std::basic_string<charT> string_type;\n   typedef std::map<charT, regex_constants::syntax_type> map_type;\n   typedef typename map_type::const_iterator map_iterator_type;\npublic:\n   w32_regex_traits_char_layer(const lcid_type l);\n\n   regex_constants::syntax_type syntax_type(charT c)const\n   {\n      map_iterator_type i = m_char_map.find(c);\n      return ((i == m_char_map.end()) ? 0 : i->second);\n   }\n   regex_constants::escape_syntax_type escape_syntax_type(charT c) const\n   {\n      map_iterator_type i = m_char_map.find(c);\n      if(i == m_char_map.end())\n      {\n         if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_lower(c, this->m_locale)) return regex_constants::escape_type_class;\n         if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_upper(c, this->m_locale)) return regex_constants::escape_type_not_class;\n         return 0;\n      }\n      return i->second;\n   }\n   charT tolower(charT c)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::w32_tolower(c, this->m_locale);\n   }\n   bool isctype(std::uint32_t mask, charT c)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, mask, c);\n   }\n\nprivate:\n   string_type get_default_message(regex_constants::syntax_type);\n   // TODO: use a hash table when available!\n   map_type m_char_map;\n};\n\ntemplate <class charT>\nw32_regex_traits_char_layer<charT>::w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) \n   : w32_regex_traits_base<charT>(l)\n{\n   // we need to start by initialising our syntax map so we know which\n   // character is used for which purpose:\n   cat_type cat;\n   std::string cat_name(w32_regex_traits<charT>::get_catalog_name());\n   if(cat_name.size())\n   {\n      cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name);\n      if(!cat)\n      {\n         std::string m(\"Unable to open message catalog: \");\n         std::runtime_error err(m + cat_name);\n         boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err);\n      }\n   }\n   //\n   // if we have a valid catalog then load our messages:\n   //\n   if(cat)\n   {\n      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n      {\n         string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_message(i));\n         for(typename string_type::size_type j = 0; j < mss.size(); ++j)\n         {\n            this->m_char_map[mss[j]] = i;\n         }\n      }\n   }\n   else\n   {\n      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n      {\n         const char* ptr = get_default_syntax(i);\n         while(ptr && *ptr)\n         {\n            this->m_char_map[static_cast<charT>(*ptr)] = i;\n            ++ptr;\n         }\n      }\n   }\n}\n\ntemplate <class charT>\ntypename w32_regex_traits_char_layer<charT>::string_type \n   w32_regex_traits_char_layer<charT>::get_default_message(regex_constants::syntax_type i)\n{\n   const char* ptr = get_default_syntax(i);\n   string_type result;\n   while(ptr && *ptr)\n   {\n      result.append(1, static_cast<charT>(*ptr));\n      ++ptr;\n   }\n   return result;\n}\n\n//\n// specialised version for narrow characters:\n//\ntemplate <>\nclass w32_regex_traits_char_layer<char> : public w32_regex_traits_base<char>\n{\n   typedef std::string string_type;\npublic:\n   w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l)\n   : w32_regex_traits_base<char>(l)\n   {\n      init<char>();\n   }\n\n   regex_constants::syntax_type syntax_type(char c)const\n   {\n      return m_char_map[static_cast<unsigned char>(c)];\n   }\n   regex_constants::escape_syntax_type escape_syntax_type(char c) const\n   {\n      return m_char_map[static_cast<unsigned char>(c)];\n   }\n   char tolower(char c)const\n   {\n      return m_lower_map[static_cast<unsigned char>(c)];\n   }\n   bool isctype(std::uint32_t mask, char c)const\n   {\n      return m_type_map[static_cast<unsigned char>(c)] & mask;\n   }\n\nprivate:\n   regex_constants::syntax_type m_char_map[1u << CHAR_BIT];\n   char m_lower_map[1u << CHAR_BIT];\n   std::uint16_t m_type_map[1u << CHAR_BIT];\n   template <class U>\n   void init();\n};\n\n//\n// class w32_regex_traits_implementation:\n// provides pimpl implementation for w32_regex_traits.\n//\ntemplate <class charT>\nclass w32_regex_traits_implementation : public w32_regex_traits_char_layer<charT>\n{\npublic:\n   typedef typename w32_regex_traits<charT>::char_class_type char_class_type;\n   static const char_class_type mask_word = 0x0400; // must be C1_DEFINED << 1\n   static const char_class_type mask_unicode = 0x0800; // must be C1_DEFINED << 2\n   static const char_class_type mask_horizontal = 0x1000; // must be C1_DEFINED << 3\n   static const char_class_type mask_vertical = 0x2000; // must be C1_DEFINED << 4\n   static const char_class_type mask_base = 0x3ff;  // all the masks used by the CT_CTYPE1 group\n\n   typedef std::basic_string<charT> string_type;\n   typedef charT char_type;\n   w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l);\n   std::string error_string(regex_constants::error_type n) const\n   {\n      if(!m_error_strings.empty())\n      {\n         std::map<int, std::string>::const_iterator p = m_error_strings.find(n);\n         return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second;\n      }\n      return get_default_error_string(n);\n   }\n   char_class_type lookup_classname(const charT* p1, const charT* p2) const\n   {\n      char_class_type result = lookup_classname_imp(p1, p2);\n      if(result == 0)\n      {\n         typedef typename string_type::size_type size_type;\n         string_type temp(p1, p2);\n         for(size_type i = 0; i < temp.size(); ++i)\n            temp[i] = this->tolower(temp[i]);\n         result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size());\n      }\n      return result;\n   }\n   string_type lookup_collatename(const charT* p1, const charT* p2) const;\n   string_type transform_primary(const charT* p1, const charT* p2) const;\n   string_type transform(const charT* p1, const charT* p2) const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_locale, p1, p2);\n   }\nprivate:\n   std::map<int, std::string>     m_error_strings;   // error messages indexed by numberic ID\n   std::map<string_type, char_class_type>  m_custom_class_names; // character class names\n   std::map<string_type, string_type>      m_custom_collate_names; // collating element names\n   unsigned                       m_collate_type;    // the form of the collation string\n   charT                          m_collate_delim;   // the collation group delimiter\n   //\n   // helpers:\n   //\n   char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const;\n};\n\ntemplate <class charT>\ntypename w32_regex_traits_implementation<charT>::string_type \n   w32_regex_traits_implementation<charT>::transform_primary(const charT* p1, const charT* p2) const\n{\n   string_type result;\n   //\n   // What we do here depends upon the format of the sort key returned by\n   // sort key returned by this->transform:\n   //\n   switch(m_collate_type)\n   {\n   case sort_C:\n   case sort_unknown:\n      // the best we can do is translate to lower case, then get a regular sort key:\n      {\n         result.assign(p1, p2);\n         typedef typename string_type::size_type size_type;\n         for(size_type i = 0; i < result.size(); ++i)\n            result[i] = this->tolower(result[i]);\n         result = this->transform(&*result.begin(), &*result.begin() + result.size());\n         break;\n      }\n   case sort_fixed:\n      {\n         // get a regular sort key, and then truncate it:\n         result.assign(this->transform(p1, p2));\n         result.erase(this->m_collate_delim);\n         break;\n      }\n   case sort_delim:\n         // get a regular sort key, and then truncate everything after the delim:\n         result.assign(this->transform(p1, p2));\n         std::size_t i;\n         for(i = 0; i < result.size(); ++i)\n         {\n            if(result[i] == m_collate_delim)\n               break;\n         }\n         result.erase(i);\n         break;\n   }\n   if(result.empty())\n      result = string_type(1, charT(0));\n   return result;\n}\n\ntemplate <class charT>\ntypename w32_regex_traits_implementation<charT>::string_type \n   w32_regex_traits_implementation<charT>::lookup_collatename(const charT* p1, const charT* p2) const\n{\n   typedef typename std::map<string_type, string_type>::const_iterator iter_type;\n   if(m_custom_collate_names.size())\n   {\n      iter_type pos = m_custom_collate_names.find(string_type(p1, p2));\n      if(pos != m_custom_collate_names.end())\n         return pos->second;\n   }\n   std::string name(p1, p2);\n   name = lookup_default_collate_name(name);\n   if(name.size())\n      return string_type(name.begin(), name.end());\n   if(p2 - p1 == 1)\n      return string_type(1, *p1);\n   return string_type();\n}\n\ntemplate <class charT>\nw32_regex_traits_implementation<charT>::w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l)\n: w32_regex_traits_char_layer<charT>(l)\n{\n   cat_type cat;\n   std::string cat_name(w32_regex_traits<charT>::get_catalog_name());\n   if(cat_name.size())\n   {\n      cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name);\n      if(!cat)\n      {\n         std::string m(\"Unable to open message catalog: \");\n         std::runtime_error err(m + cat_name);\n         boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err);\n      }\n   }\n   //\n   // if we have a valid catalog then load our messages:\n   //\n   if(cat)\n   {\n      //\n      // Error messages:\n      //\n      for(boost::regex_constants::error_type i = static_cast<boost::regex_constants::error_type>(0); \n         i <= boost::regex_constants::error_unknown; \n         i = static_cast<boost::regex_constants::error_type>(i + 1))\n      {\n         const char* p = get_default_error_string(i);\n         string_type default_message;\n         while(*p)\n         {\n            default_message.append(1, static_cast<charT>(*p));\n            ++p;\n         }\n         string_type s = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i+200, default_message);\n         std::string result;\n         for(std::string::size_type j = 0; j < s.size(); ++j)\n         {\n            result.append(1, static_cast<char>(s[j]));\n         }\n         m_error_strings[i] = result;\n      }\n      //\n      // Custom class names:\n      //\n      static const char_class_type masks[14] = \n      {\n         0x0104u, // C1_ALPHA | C1_DIGIT\n         0x0100u, // C1_ALPHA\n         0x0020u, // C1_CNTRL\n         0x0004u, // C1_DIGIT\n         (~(0x0020u|0x0008u) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE\n         0x0002u, // C1_LOWER\n         (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL\n         0x0010u, // C1_PUNCT\n         0x0008u, // C1_SPACE\n         0x0001u, // C1_UPPER\n         0x0080u, // C1_XDIGIT\n         0x0040u, // C1_BLANK\n         w32_regex_traits_implementation<charT>::mask_word,\n         w32_regex_traits_implementation<charT>::mask_unicode,\n      };\n      static const string_type null_string;\n      for(unsigned int j = 0; j <= 13; ++j)\n      {\n         string_type s(::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, j+300, null_string));\n         if(s.size())\n            this->m_custom_class_names[s] = masks[j];\n      }\n   }\n   //\n   // get the collation format used by m_pcollate:\n   //\n   m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim);\n}\n\ntemplate <class charT>\ntypename w32_regex_traits_implementation<charT>::char_class_type \n   w32_regex_traits_implementation<charT>::lookup_classname_imp(const charT* p1, const charT* p2) const\n{\n   static const char_class_type masks[22] = \n   {\n      0,\n      0x0104u, // C1_ALPHA | C1_DIGIT\n      0x0100u, // C1_ALPHA\n      0x0040u, // C1_BLANK\n      0x0020u, // C1_CNTRL\n      0x0004u, // C1_DIGIT\n      0x0004u, // C1_DIGIT\n      (~(0x0020u|0x0008u|0x0040) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE or C1_BLANK\n      w32_regex_traits_implementation<charT>::mask_horizontal, \n      0x0002u, // C1_LOWER\n      0x0002u, // C1_LOWER\n      (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL\n      0x0010u, // C1_PUNCT\n      0x0008u, // C1_SPACE\n      0x0008u, // C1_SPACE\n      0x0001u, // C1_UPPER\n      w32_regex_traits_implementation<charT>::mask_unicode,\n      0x0001u, // C1_UPPER\n      w32_regex_traits_implementation<charT>::mask_vertical, \n      0x0104u | w32_regex_traits_implementation<charT>::mask_word, \n      0x0104u | w32_regex_traits_implementation<charT>::mask_word, \n      0x0080u, // C1_XDIGIT\n   };\n   if(m_custom_class_names.size())\n   {\n      typedef typename std::map<std::basic_string<charT>, char_class_type>::const_iterator map_iter;\n      map_iter pos = m_custom_class_names.find(string_type(p1, p2));\n      if(pos != m_custom_class_names.end())\n         return pos->second;\n   }\n   std::size_t state_id = 1u + (std::size_t)BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2);\n   if(state_id < sizeof(masks) / sizeof(masks[0]))\n      return masks[state_id];\n   return masks[0];\n}\n\n\ntemplate <class charT>\nstd::shared_ptr<const w32_regex_traits_implementation<charT> > create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l)\n{\n   // TODO: create a cache for previously constructed objects.\n   return boost::object_cache< ::boost::BOOST_REGEX_DETAIL_NS::lcid_type, w32_regex_traits_implementation<charT> >::get(l, 5);\n}\n\n} // BOOST_REGEX_DETAIL_NS\n\ntemplate <class charT>\nclass w32_regex_traits\n{\npublic:\n   typedef charT                         char_type;\n   typedef std::size_t                   size_type;\n   typedef std::basic_string<char_type>  string_type;\n   typedef ::boost::BOOST_REGEX_DETAIL_NS::lcid_type locale_type;\n   typedef std::uint_least32_t         char_class_type;\n\n   struct boost_extensions_tag{};\n\n   w32_regex_traits()\n      : m_pimpl(BOOST_REGEX_DETAIL_NS::create_w32_regex_traits<charT>(::boost::BOOST_REGEX_DETAIL_NS::w32_get_default_locale()))\n   { }\n   static size_type length(const char_type* p)\n   {\n      return std::char_traits<charT>::length(p);\n   }\n   regex_constants::syntax_type syntax_type(charT c)const\n   {\n      return m_pimpl->syntax_type(c);\n   }\n   regex_constants::escape_syntax_type escape_syntax_type(charT c) const\n   {\n      return m_pimpl->escape_syntax_type(c);\n   }\n   charT translate(charT c) const\n   {\n      return c;\n   }\n   charT translate_nocase(charT c) const\n   {\n      return this->m_pimpl->tolower(c);\n   }\n   charT translate(charT c, bool icase) const\n   {\n      return icase ? this->m_pimpl->tolower(c) : c;\n   }\n   charT tolower(charT c) const\n   {\n      return this->m_pimpl->tolower(c);\n   }\n   charT toupper(charT c) const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::w32_toupper(c, this->m_pimpl->m_locale);\n   }\n   string_type transform(const charT* p1, const charT* p2) const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_pimpl->m_locale, p1, p2);\n   }\n   string_type transform_primary(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->transform_primary(p1, p2);\n   }\n   char_class_type lookup_classname(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->lookup_classname(p1, p2);\n   }\n   string_type lookup_collatename(const charT* p1, const charT* p2) const\n   {\n      return m_pimpl->lookup_collatename(p1, p2);\n   }\n   bool isctype(charT c, char_class_type f) const\n   {\n      if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_base) \n         && (this->m_pimpl->isctype(f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_base, c)))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_word) && (c == '_'))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_vertical)\n         && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\\v')))\n         return true;\n      else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_horizontal) \n         && this->isctype(c, 0x0008u) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT>::mask_vertical))\n         return true;\n      return false;\n   }\n   std::intmax_t toi(const charT*& p1, const charT* p2, int radix)const\n   {\n      return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this);\n   }\n   int value(charT c, int radix)const\n   {\n      int result = (int)::boost::BOOST_REGEX_DETAIL_NS::global_value(c);\n      return result < radix ? result : -1;\n   }\n   locale_type imbue(locale_type l)\n   {\n      ::boost::BOOST_REGEX_DETAIL_NS::lcid_type result(getloc());\n      m_pimpl = BOOST_REGEX_DETAIL_NS::create_w32_regex_traits<charT>(l);\n      return result;\n   }\n   locale_type getloc()const\n   {\n      return m_pimpl->m_locale;\n   }\n   std::string error_string(regex_constants::error_type n) const\n   {\n      return m_pimpl->error_string(n);\n   }\n\n   //\n   // extension:\n   // set the name of the message catalog in use (defaults to \"boost_regex\").\n   //\n   static std::string catalog_name(const std::string& name);\n   static std::string get_catalog_name();\n\nprivate:\n   std::shared_ptr<const BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation<charT> > m_pimpl;\n   //\n   // catalog name handler:\n   //\n   static std::string& get_catalog_name_inst();\n\n#ifdef BOOST_HAS_THREADS\n   static std::mutex& get_mutex_inst();\n#endif\n};\n\ntemplate <class charT>\nstd::string w32_regex_traits<charT>::catalog_name(const std::string& name)\n{\n#ifdef BOOST_HAS_THREADS\n   std::lock_guard<std::mutex> lk(get_mutex_inst());\n#endif\n   std::string result(get_catalog_name_inst());\n   get_catalog_name_inst() = name;\n   return result;\n}\n\ntemplate <class charT>\nstd::string& w32_regex_traits<charT>::get_catalog_name_inst()\n{\n   static std::string s_name;\n   return s_name;\n}\n\ntemplate <class charT>\nstd::string w32_regex_traits<charT>::get_catalog_name()\n{\n#ifdef BOOST_HAS_THREADS\n   std::lock_guard<std::mutex> lk(get_mutex_inst());\n#endif\n   std::string result(get_catalog_name_inst());\n   return result;\n}\n\n#ifdef BOOST_HAS_THREADS\ntemplate <class charT>\nstd::mutex& w32_regex_traits<charT>::get_mutex_inst()\n{\n   static std::mutex s_mutex;\n   return s_mutex;\n}\n#endif\n\nnamespace BOOST_REGEX_DETAIL_NS {\n\n#ifdef BOOST_NO_ANSI_APIS\n   inline unsigned int get_code_page_for_locale_id(lcid_type idx)\n   {\n      wchar_t code_page_string[7];\n      if (boost::BOOST_REGEX_DETAIL_NS::GetLocaleInfoW(idx, locale_idefaultansicodepage, code_page_string, 7) == 0)\n         return 0;\n\n      return static_cast<unsigned int>(_wtol(code_page_string));\n}\n#endif\n\n   template <class U>\n   inline void w32_regex_traits_char_layer<char>::init()\n   {\n      // we need to start by initialising our syntax map so we know which\n      // character is used for which purpose:\n      std::memset(m_char_map, 0, sizeof(m_char_map));\n      cat_type cat;\n      std::string cat_name(w32_regex_traits<char>::get_catalog_name());\n      if (cat_name.size())\n      {\n         cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name);\n         if (!cat)\n         {\n            std::string m(\"Unable to open message catalog: \");\n            std::runtime_error err(m + cat_name);\n            ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err);\n         }\n      }\n      //\n      // if we have a valid catalog then load our messages:\n      //\n      if (cat)\n      {\n         for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n         {\n            string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_syntax(i));\n            for (string_type::size_type j = 0; j < mss.size(); ++j)\n            {\n               m_char_map[static_cast<unsigned char>(mss[j])] = i;\n            }\n         }\n      }\n      else\n      {\n         for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)\n         {\n            const char* ptr = get_default_syntax(i);\n            while (ptr && *ptr)\n            {\n               m_char_map[static_cast<unsigned char>(*ptr)] = i;\n               ++ptr;\n            }\n         }\n      }\n      //\n      // finish off by calculating our escape types:\n      //\n      unsigned char i = 'A';\n      do\n      {\n         if (m_char_map[i] == 0)\n         {\n            if (::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0002u, (char)i))\n               m_char_map[i] = regex_constants::escape_type_class;\n            else if (::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0001u, (char)i))\n               m_char_map[i] = regex_constants::escape_type_not_class;\n         }\n      } while (0xFF != i++);\n\n      //\n      // fill in lower case map:\n      //\n      char char_map[1 << CHAR_BIT];\n      for (int ii = 0; ii < (1 << CHAR_BIT); ++ii)\n         char_map[ii] = static_cast<char>(ii);\n#ifndef BOOST_NO_ANSI_APIS\n      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);\n      BOOST_REGEX_ASSERT(r != 0);\n#else\n      unsigned int code_page = get_code_page_for_locale_id(this->m_locale);\n      BOOST_REGEX_ASSERT(code_page != 0);\n\n      wchar_t wide_char_map[1 << CHAR_BIT];\n      int conv_r = boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, char_map, 1 << CHAR_BIT, wide_char_map, 1 << CHAR_BIT);\n      BOOST_REGEX_ASSERT(conv_r != 0);\n\n      wchar_t wide_lower_map[1 << CHAR_BIT];\n      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);\n      BOOST_REGEX_ASSERT(r != 0);\n\n      conv_r = boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, wide_lower_map, r, this->m_lower_map, 1 << CHAR_BIT, NULL, NULL);\n      BOOST_REGEX_ASSERT(conv_r != 0);\n#endif\n      if (r < (1 << CHAR_BIT))\n      {\n         // if we have multibyte characters then not all may have been given\n         // a lower case mapping:\n         for (int jj = r; jj < (1 << CHAR_BIT); ++jj)\n            this->m_lower_map[jj] = static_cast<char>(jj);\n      }\n\n#ifndef BOOST_NO_ANSI_APIS\n      r = boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(this->m_locale, ct_ctype1, char_map, 1 << CHAR_BIT, this->m_type_map);\n#else\n      r = boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(this->m_locale, ct_ctype1, wide_char_map, 1 << CHAR_BIT, this->m_type_map);\n#endif\n      BOOST_REGEX_ASSERT(0 != r);\n   }\n\n   inline lcid_type  w32_get_default_locale()\n   {\n      return boost::BOOST_REGEX_DETAIL_NS::GetUserDefaultLCID();\n   }\n\n   inline bool  w32_is_lower(char c, lcid_type idx)\n   {\n#ifndef BOOST_NO_ANSI_APIS\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_lower))\n         return true;\n      return false;\n#else\n      unsigned int code_page = get_code_page_for_locale_id(idx);\n      if (code_page == 0)\n         return false;\n\n      wchar_t wide_c;\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0)\n         return false;\n\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & c1_lower))\n         return true;\n      return false;\n#endif\n   }\n\n   inline bool  w32_is_lower(wchar_t c, lcid_type idx)\n   {\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_lower))\n         return true;\n      return false;\n   }\n\n   inline bool  w32_is_upper(char c, lcid_type idx)\n   {\n#ifndef BOOST_NO_ANSI_APIS\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_upper))\n         return true;\n      return false;\n#else\n      unsigned int code_page = get_code_page_for_locale_id(idx);\n      if (code_page == 0)\n         return false;\n\n      wchar_t wide_c;\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0)\n         return false;\n\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & c1_upper))\n         return true;\n      return false;\n#endif\n   }\n\n   inline bool  w32_is_upper(wchar_t c, lcid_type idx)\n   {\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_upper))\n         return true;\n      return false;\n   }\n\n   inline void free_module(void* mod)\n   {\n      boost::BOOST_REGEX_DETAIL_NS::FreeLibrary(static_cast<HMODULE>(mod));\n   }\n\n   inline cat_type  w32_cat_open(const std::string& name)\n   {\n#ifndef BOOST_NO_ANSI_APIS\n      cat_type result(boost::BOOST_REGEX_DETAIL_NS::LoadLibraryA(name.c_str()), &free_module);\n      return result;\n#else\n      wchar_t* wide_name = (wchar_t*)_alloca((name.size() + 1) * sizeof(wchar_t));\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(cp_acp, 0, name.c_str(), (int)name.size(), wide_name, (int)(name.size() + 1)) == 0)\n         return cat_type();\n\n      cat_type result(boost::BOOST_REGEX_DETAIL_NS::LoadLibraryW(wide_name), &free_module);\n      return result;\n#endif\n   }\n\n   inline std::string  w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def)\n   {\n#ifndef BOOST_NO_ANSI_APIS\n      char buf[256];\n      if (0 == boost::BOOST_REGEX_DETAIL_NS::LoadStringA(\n         static_cast<HMODULE>(cat.get()),\n         i,\n         buf,\n         256\n      ))\n      {\n         return def;\n      }\n#else\n      wchar_t wbuf[256];\n      int r = boost::BOOST_REGEX_DETAIL_NS::LoadStringW(\n         static_cast<HMODULE>(cat.get()),\n         i,\n         wbuf,\n         256\n      );\n      if (r == 0)\n         return def;\n\n\n      int buf_size = 1 + boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(cp_acp, 0, wbuf, r, NULL, 0, NULL, NULL);\n      char* buf = (char*)_alloca(buf_size);\n      if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(cp_acp, 0, wbuf, r, buf, buf_size, NULL, NULL) == 0)\n         return def; // failed conversion.\n#endif\n      return std::string(buf);\n   }\n\n#ifndef BOOST_NO_WREGEX\n   inline std::wstring  w32_cat_get(const cat_type& cat, lcid_type, int i, const std::wstring& def)\n   {\n      wchar_t buf[256];\n      if (0 == boost::BOOST_REGEX_DETAIL_NS::LoadStringW(static_cast<HMODULE>(cat.get()), i, buf, 256))\n      {\n         return def;\n      }\n      return std::wstring(buf);\n   }\n#endif\n   inline std::string  w32_transform(lcid_type idx, const char* p1, const char* p2)\n   {\n#ifndef BOOST_NO_ANSI_APIS\n      int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA(\n         idx,       // locale identifier\n         lcmap_sortkey,  // mapping transformation type\n         p1,  // source string\n         static_cast<int>(p2 - p1),        // number of characters in source string\n         0,  // destination buffer\n         0        // size of destination buffer\n      );\n      if (!bytes)\n         return std::string(p1, p2);\n      std::string result(++bytes, '\\0');\n      bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA(\n         idx,       // locale identifier\n         lcmap_sortkey,  // mapping transformation type\n         p1,  // source string\n         static_cast<int>(p2 - p1),        // number of characters in source string\n         &*result.begin(),  // destination buffer\n         bytes        // size of destination buffer\n      );\n#else\n      unsigned int code_page = get_code_page_for_locale_id(idx);\n      if (code_page == 0)\n         return std::string(p1, p2);\n\n      int src_len = static_cast<int>(p2 - p1);\n      wchar_t* wide_p1 = (wchar_t*)_alloca((src_len + 1) * 2);\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, p1, src_len, wide_p1, src_len + 1) == 0)\n         return std::string(p1, p2);\n\n      int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_sortkey,  // mapping transformation type\n         wide_p1,  // source string\n         src_len,        // number of characters in source string\n         0,  // destination buffer\n         0        // size of destination buffer\n      );\n      if (!bytes)\n         return std::string(p1, p2);\n      std::string result(++bytes, '\\0');\n      bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_sortkey,  // mapping transformation type\n         wide_p1,  // source string\n         src_len,        // number of characters in source string\n         (wchar_t*) & *result.begin(),  // destination buffer\n         bytes        // size of destination buffer\n      );\n#endif\n      if (bytes > static_cast<int>(result.size()))\n         return std::string(p1, p2);\n      while (result.size() && result[result.size() - 1] == '\\0')\n      {\n         result.erase(result.size() - 1);\n      }\n      return result;\n   }\n\n#ifndef BOOST_NO_WREGEX\n   inline std::wstring  w32_transform(lcid_type idx, const wchar_t* p1, const wchar_t* p2)\n   {\n      int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_sortkey,  // mapping transformation type\n         p1,  // source string\n         static_cast<int>(p2 - p1),        // number of characters in source string\n         0,  // destination buffer\n         0        // size of destination buffer\n      );\n      if (!bytes)\n         return std::wstring(p1, p2);\n      std::string result(++bytes, '\\0');\n      bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_sortkey,  // mapping transformation type\n         p1,  // source string\n         static_cast<int>(p2 - p1),        // number of characters in source string\n         reinterpret_cast<wchar_t*>(&*result.begin()),  // destination buffer *of bytes*\n         bytes        // size of destination buffer\n      );\n      if (bytes > static_cast<int>(result.size()))\n         return std::wstring(p1, p2);\n      while (result.size() && result[result.size() - 1] == L'\\0')\n      {\n         result.erase(result.size() - 1);\n      }\n      std::wstring r2;\n      for (std::string::size_type i = 0; i < result.size(); ++i)\n         r2.append(1, static_cast<wchar_t>(static_cast<unsigned char>(result[i])));\n      return r2;\n   }\n#endif\n   inline char  w32_tolower(char c, lcid_type idx)\n   {\n      char result[2];\n#ifndef BOOST_NO_ANSI_APIS\n      int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA(\n         idx,       // locale identifier\n         lcmap_lowercase,  // mapping transformation type\n         &c,  // source string\n         1,        // number of characters in source string\n         result,  // destination buffer\n         1);        // size of destination buffer\n      if (b == 0)\n         return c;\n#else\n      unsigned int code_page = get_code_page_for_locale_id(idx);\n      if (code_page == 0)\n         return c;\n\n      wchar_t wide_c;\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0)\n         return c;\n\n      wchar_t  wide_result;\n      int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_lowercase,  // mapping transformation type\n         &wide_c,  // source string\n         1,        // number of characters in source string\n         &wide_result,  // destination buffer\n         1);        // size of destination buffer\n      if (b == 0)\n         return c;\n\n      if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0)\n         return c;  // No single byte lower case equivalent available\n#endif\n      return result[0];\n   }\n\n#ifndef BOOST_NO_WREGEX\n   inline wchar_t  w32_tolower(wchar_t c, lcid_type idx)\n   {\n      wchar_t result[2];\n      int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_lowercase,  // mapping transformation type\n         &c,  // source string\n         1,        // number of characters in source string\n         result,  // destination buffer\n         1);        // size of destination buffer\n      if (b == 0)\n         return c;\n      return result[0];\n   }\n#endif\n   inline char  w32_toupper(char c, lcid_type idx)\n   {\n      char result[2];\n#ifndef BOOST_NO_ANSI_APIS\n      int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA(\n         idx,       // locale identifier\n         lcmap_uppercase,  // mapping transformation type\n         &c,  // source string\n         1,        // number of characters in source string\n         result,  // destination buffer\n         1);        // size of destination buffer\n      if (b == 0)\n         return c;\n#else\n      unsigned int code_page = get_code_page_for_locale_id(idx);\n      if (code_page == 0)\n         return c;\n\n      wchar_t wide_c;\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0)\n         return c;\n\n      wchar_t wide_result;\n      int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_uppercase,  // mapping transformation type\n         &wide_c,  // source string\n         1,        // number of characters in source string\n         &wide_result,  // destination buffer\n         1);        // size of destination buffer\n      if (b == 0)\n         return c;\n\n      if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0)\n         return c;  // No single byte upper case equivalent available.\n#endif\n      return result[0];\n   }\n\n#ifndef BOOST_NO_WREGEX\n   inline wchar_t  w32_toupper(wchar_t c, lcid_type idx)\n   {\n      wchar_t result[2];\n      int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(\n         idx,       // locale identifier\n         lcmap_uppercase,  // mapping transformation type\n         &c,  // source string\n         1,        // number of characters in source string\n         result,  // destination buffer\n         1);        // size of destination buffer\n      if (b == 0)\n         return c;\n      return result[0];\n   }\n#endif\n   inline bool  w32_is(lcid_type idx, std::uint32_t m, char c)\n   {\n      word mask;\n#ifndef BOOST_NO_ANSI_APIS\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base))\n         return true;\n#else\n      unsigned int code_page = get_code_page_for_locale_id(idx);\n      if (code_page == 0)\n         return false;\n\n      wchar_t wide_c;\n      if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0)\n         return false;\n\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base))\n         return true;\n#endif\n      if ((m & w32_regex_traits_implementation<char>::mask_word) && (c == '_'))\n         return true;\n      return false;\n   }\n\n#ifndef BOOST_NO_WREGEX\n   inline bool  w32_is(lcid_type idx, std::uint32_t m, wchar_t c)\n   {\n      word mask;\n      if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base))\n         return true;\n      if ((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_'))\n         return true;\n      if ((m & w32_regex_traits_implementation<wchar_t>::mask_unicode) && (c > 0xff))\n         return true;\n      return false;\n   }\n#endif\n\n} // BOOST_REGEX_DETAIL_NS\n\n\n} // boost\n\n#ifdef BOOST_REGEX_MSVC\n#pragma warning(pop)\n#endif\n\n#endif // BOOST_REGEX_NO_WIN32_LOCALE\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org/libs/regex for documentation.\n  *   FILE         regex.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Declares boost::basic_regex<> and associated\n  *                functions and classes. This header is the main\n  *                entry point for the template regex code.\n  */\n\n\n/* start with C compatibility API */\n\n#ifndef BOOST_RE_REGEX_HPP\n#define BOOST_RE_REGEX_HPP\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n\n#ifdef BOOST_REGEX_CXX03\n#include <boost/regex/v4/regex.hpp>\n#else\n#include <boost/regex/v5/regex.hpp>\n#endif\n\n#endif  // include\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/regex_fwd.hpp",
    "content": "/*\n *\n * Copyright (c) 1998-2002\n * John Maddock\n *\n * Use, modification and distribution are subject to the \n * Boost Software License, Version 1.0. (See accompanying file \n * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n *\n */\n\n /*\n  *   LOCATION:    see http://www.boost.org/libs/regex for documentation.\n  *   FILE         regex_fwd.cpp\n  *   VERSION      see <boost/version.hpp>\n  *   DESCRIPTION: Forward declares boost::basic_regex<> and\n  *                associated typedefs.\n  */\n\n#ifndef BOOST_REGEX_FWD_HPP\n#define BOOST_REGEX_FWD_HPP\n\n#ifndef BOOST_REGEX_CONFIG_HPP\n#include <boost/regex/config.hpp>\n#endif\n\n#ifdef BOOST_REGEX_CXX03\n#include <boost/regex/v4/regex_fwd.hpp>\n#else\n#include <boost/regex/v5/regex_fwd.hpp>\n#endif\n\n#endif\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/boostregex/boost/throw_exception.hpp",
    "content": "#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED\n#define BOOST_THROW_EXCEPTION_HPP_INCLUDED\n\n// MS compatible compilers support #pragma once\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n# pragma once\n#endif\n\n//\n//  boost/throw_exception.hpp\n//\n//  Copyright (c) 2002, 2018, 2019 Peter Dimov\n//  Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc.\n//\n//  Distributed under the Boost Software License, Version 1.0. (See\n//  accompanying file LICENSE_1_0.txt or copy at\n//  http://www.boost.org/LICENSE_1_0.txt)\n//\n//  http://www.boost.org/libs/throw_exception\n//\n\n#include <boost/exception/exception.hpp>\n#include <boost/assert/source_location.hpp>\n#include <boost/config.hpp>\n#include <boost/config/workaround.hpp>\n#include <exception>\n#include <cstddef>\n\n#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x593) )\n# define BOOST_EXCEPTION_DISABLE\n#endif\n\nnamespace boost\n{\n\n#if defined( BOOST_NO_EXCEPTIONS )\n\nBOOST_NORETURN void throw_exception( std::exception const & e ); // user defined\nBOOST_NORETURN void throw_exception( std::exception const & e, boost::source_location const & loc ); // user defined\n\n#endif\n\n// boost::wrapexcept<E>\n\nnamespace detail\n{\n\ntypedef char (&wrapexcept_s1)[ 1 ];\ntypedef char (&wrapexcept_s2)[ 2 ];\n\ntemplate<class T> wrapexcept_s1 wrapexcept_is_convertible( T* );\ntemplate<class T> wrapexcept_s2 wrapexcept_is_convertible( void* );\n\ntemplate<class E, class B, std::size_t I = sizeof( wrapexcept_is_convertible<B>( static_cast< E* >( 0 ) ) ) > struct wrapexcept_add_base;\n\ntemplate<class E, class B> struct wrapexcept_add_base<E, B, 1>\n{\n    struct type {};\n};\n\ntemplate<class E, class B> struct wrapexcept_add_base<E, B, 2>\n{\n    typedef B type;\n};\n\n} // namespace detail\n\ntemplate<class E> struct BOOST_SYMBOL_VISIBLE wrapexcept:\n    public detail::wrapexcept_add_base<E, boost::exception_detail::clone_base>::type,\n    public E,\n    public detail::wrapexcept_add_base<E, boost::exception>::type\n{\nprivate:\n\n    struct deleter\n    {\n        wrapexcept * p_;\n        ~deleter() { delete p_; }\n    };\n\nprivate:\n\n    void copy_from( void const* )\n    {\n    }\n\n    void copy_from( boost::exception const* p )\n    {\n        static_cast<boost::exception&>( *this ) = *p;\n    }\n\npublic:\n\n    explicit wrapexcept( E const & e ): E( e )\n    {\n        copy_from( &e );\n    }\n\n    explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e )\n    {\n        copy_from( &e );\n\n        set_info( *this, throw_file( loc.file_name() ) );\n        set_info( *this, throw_line( loc.line() ) );\n        set_info( *this, throw_function( loc.function_name() ) );\n    }\n\n    virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE\n    {\n        wrapexcept * p = new wrapexcept( *this );\n        deleter del = { p };\n\n        boost::exception_detail::copy_boost_exception( p, this );\n\n        del.p_ = 0;\n        return p;\n    }\n\n    virtual void rethrow() const BOOST_OVERRIDE\n    {\n#if defined( BOOST_NO_EXCEPTIONS )\n\n        boost::throw_exception( *this );\n\n#else\n\n        throw *this;\n\n#endif\n    }\n};\n\n// All boost exceptions are required to derive from std::exception,\n// to ensure compatibility with BOOST_NO_EXCEPTIONS.\n\ninline void throw_exception_assert_compatibility( std::exception const & ) {}\n\n// boost::throw_exception\n\n#if !defined( BOOST_NO_EXCEPTIONS )\n\n#if defined( BOOST_EXCEPTION_DISABLE )\n\ntemplate<class E> BOOST_NORETURN void throw_exception( E const & e )\n{\n    throw_exception_assert_compatibility( e );\n    throw e;\n}\n\ntemplate<class E> BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & )\n{\n    throw_exception_assert_compatibility( e );\n    throw e;\n}\n\n#else // defined( BOOST_EXCEPTION_DISABLE )\n\ntemplate<class E> BOOST_NORETURN void throw_exception( E const & e )\n{\n    throw_exception_assert_compatibility( e );\n    throw wrapexcept<E>( e );\n}\n\ntemplate<class E> BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & loc )\n{\n    throw_exception_assert_compatibility( e );\n    throw wrapexcept<E>( e, loc );\n}\n\n#endif // defined( BOOST_EXCEPTION_DISABLE )\n\n#endif // !defined( BOOST_NO_EXCEPTIONS )\n\n} // namespace boost\n\n// BOOST_THROW_EXCEPTION\n\n#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION)\n\n#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED\n"
  },
  {
    "path": "src/qscint/scintilla/include/BoostRegexSearch.h",
    "content": "#ifndef BOOSTREGEXSEARCH_H\r\n#define BOOSTREGEXSEARCH_H\r\n\r\n#define SCFIND_REGEXP_DOTMATCHESNL\t\t\t   0x10000000\r\n#define SCFIND_REGEXP_EMPTYMATCH_MASK          0xE0000000\r\n#define SCFIND_REGEXP_EMPTYMATCH_NONE          0x00000000\r\n#define SCFIND_REGEXP_EMPTYMATCH_NOTAFTERMATCH 0x20000000\r\n#define SCFIND_REGEXP_EMPTYMATCH_ALL           0x40000000\r\n#define SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART  0x80000000\r\n#define SCFIND_REGEXP_SKIPCRLFASONE\t\t\t   0x08000000\r\n\r\n#ifdef SCI_OWNREGEX\r\nextern std::string g_exceptionMessage;\r\n#endif\r\n\r\n#endif"
  },
  {
    "path": "src/qscint/scintilla/include/ILexer.h",
    "content": "// Scintilla source code edit control\n/** @file ILexer.h\n ** Interface between Scintilla and lexers.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef ILEXER_H\n#define ILEXER_H\n\n#include \"Sci_Position.h\"\n\nnamespace Scintilla {\n\nenum { dvOriginal=0, dvLineEnd=1 };\n\nclass IDocument {\npublic:\n\tvirtual int SCI_METHOD Version() const = 0;\n\tvirtual void SCI_METHOD SetErrorStatus(int status) = 0;\n\tvirtual Sci_Position SCI_METHOD Length() const = 0;\n\tvirtual void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const = 0;\n\tvirtual char SCI_METHOD StyleAt(Sci_Position position) const = 0;\n\tvirtual Sci_Position SCI_METHOD LineFromPosition(Sci_Position position) const = 0;\n\tvirtual Sci_Position SCI_METHOD LineStart(Sci_Position line) const = 0;\n\tvirtual int SCI_METHOD GetLevel(Sci_Position line) const = 0;\n\tvirtual int SCI_METHOD SetLevel(Sci_Position line, int level) = 0;\n\tvirtual int SCI_METHOD GetLineState(Sci_Position line) const = 0;\n\tvirtual int SCI_METHOD SetLineState(Sci_Position line, int state) = 0;\n\tvirtual void SCI_METHOD StartStyling(Sci_Position position, char mask) = 0;\n\tvirtual bool SCI_METHOD SetStyleFor(Sci_Position length, char style) = 0;\n\tvirtual bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) = 0;\n\tvirtual void SCI_METHOD DecorationSetCurrentIndicator(int indicator) = 0;\n\tvirtual void SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) = 0;\n\tvirtual void SCI_METHOD ChangeLexerState(Sci_Position start, Sci_Position end) = 0;\n\tvirtual int SCI_METHOD CodePage() const = 0;\n\tvirtual bool SCI_METHOD IsDBCSLeadByte(char ch) const = 0;\n\tvirtual const char * SCI_METHOD BufferPointer() = 0;\n\tvirtual int SCI_METHOD GetLineIndentation(Sci_Position line) = 0;\n};\n\nclass IDocumentWithLineEnd : public IDocument {\npublic:\n\tvirtual Sci_Position SCI_METHOD LineEnd(Sci_Position line) const = 0;\n\tvirtual Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const = 0;\n\tvirtual int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const = 0;\n};\n\nenum { lvOriginal=0, lvSubStyles=1, lvMetaData=2 };\n\nclass ILexer {\npublic:\n\tvirtual int SCI_METHOD Version() const = 0;\n\tvirtual void SCI_METHOD Release() = 0;\n\tvirtual const char * SCI_METHOD PropertyNames() = 0;\n\tvirtual int SCI_METHOD PropertyType(const char *name) = 0;\n\tvirtual const char * SCI_METHOD DescribeProperty(const char *name) = 0;\n\tvirtual Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) = 0;\n\tvirtual const char * SCI_METHOD DescribeWordListSets() = 0;\n\tvirtual Sci_Position SCI_METHOD WordListSet(int n, const char *wl) = 0;\n\tvirtual void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;\n\tvirtual void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;\n\tvirtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0;\n};\n\nclass ILexerWithSubStyles : public ILexer {\npublic:\n\tvirtual int SCI_METHOD LineEndTypesSupported() = 0;\n\tvirtual int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) = 0;\n\tvirtual int SCI_METHOD SubStylesStart(int styleBase) = 0;\n\tvirtual int SCI_METHOD SubStylesLength(int styleBase) = 0;\n\tvirtual int SCI_METHOD StyleFromSubStyle(int subStyle) = 0;\n\tvirtual int SCI_METHOD PrimaryStyleFromStyle(int style) = 0;\n\tvirtual void SCI_METHOD FreeSubStyles() = 0;\n\tvirtual void SCI_METHOD SetIdentifiers(int style, const char *identifiers) = 0;\n\tvirtual int SCI_METHOD DistanceToSecondaryStyles() = 0;\n\tvirtual const char * SCI_METHOD GetSubStyleBases() = 0;\n};\n\nclass ILexerWithMetaData : public ILexerWithSubStyles {\npublic:\n\tvirtual int SCI_METHOD NamedStyles() = 0;\n\tvirtual const char * SCI_METHOD NameOfStyle(int style) = 0;\n\tvirtual const char * SCI_METHOD TagsOfStyle(int style) = 0;\n\tvirtual const char * SCI_METHOD DescriptionOfStyle(int style) = 0;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/include/ILoader.h",
    "content": "// Scintilla source code edit control\n/** @file ILoader.h\n ** Interface for loading into a Scintilla document from a background thread.\n **/\n// Copyright 1998-2017 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef ILOADER_H\n#define ILOADER_H\n\n#include \"Sci_Position.h\"\n\nclass ILoader {\npublic:\n\tvirtual int SCI_METHOD Release() = 0;\n\t// Returns a status code from SC_STATUS_*\n\tvirtual int SCI_METHOD AddData(const char *data, Sci_Position length) = 0;\n\tvirtual void * SCI_METHOD ConvertToDocument() = 0;\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/include/License.txt",
    "content": "License for Scintilla and SciTE\n\nCopyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n\nAll Rights Reserved\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation.\n\nNEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\nSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY\nSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE\nOR PERFORMANCE OF THIS SOFTWARE."
  },
  {
    "path": "src/qscint/scintilla/include/Platform.h",
    "content": "// Scintilla source code edit control\n/** @file Platform.h\n ** Interface to platform facilities. Also includes some basic utilities.\n ** Implemented in PlatGTK.cxx for GTK+/Linux, PlatWin.cxx for Windows, and PlatWX.cxx for wxWindows.\n **/\n// Copyright 1998-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef PLATFORM_H\n#define PLATFORM_H\n\n// PLAT_GTK = GTK+ on Linux or Win32\n// PLAT_GTK_WIN32 is defined additionally when running PLAT_GTK under Win32\n// PLAT_WIN = Win32 API on Win32 OS\n// PLAT_WX is wxWindows on any supported platform\n// PLAT_TK = Tcl/TK on Linux or Win32\n\n#define PLAT_GTK 0\n#define PLAT_GTK_WIN32 0\n#define PLAT_GTK_MACOSX 0\n#define PLAT_MACOSX 0\n#define PLAT_WIN 0\n#define PLAT_WX  0\n#define PLAT_QT 0\n#define PLAT_FOX 0\n#define PLAT_CURSES 0\n#define PLAT_TK 0\n#define PLAT_HAIKU 0\n\n#if defined(FOX)\n#undef PLAT_FOX\n#define PLAT_FOX 1\n\n#elif defined(__WX__)\n#undef PLAT_WX\n#define PLAT_WX  1\n\n#elif defined(CURSES)\n#undef PLAT_CURSES\n#define PLAT_CURSES 1\n\n#elif defined(__HAIKU__)\n#undef PLAT_HAIKU\n#define PLAT_HAIKU 1\n\n#elif defined(SCINTILLA_QT)\n#undef PLAT_QT\n#define PLAT_QT 1\n\n#include <Qsci/qsciglobal.h>\nQT_BEGIN_NAMESPACE\nclass QPainter;\nQT_END_NAMESPACE\n\n// This is needed to work around an HP-UX bug with Qt4.\n#include <qnamespace.h>\n\n#elif defined(TK)\n#undef PLAT_TK\n#define PLAT_TK 1\n\n#elif defined(GTK)\n#undef PLAT_GTK\n#define PLAT_GTK 1\n\n#if defined(__WIN32__) || defined(_MSC_VER)\n#undef PLAT_GTK_WIN32\n#define PLAT_GTK_WIN32 1\n#endif\n\n#if defined(__APPLE__)\n#undef PLAT_GTK_MACOSX\n#define PLAT_GTK_MACOSX 1\n#endif\n\n#elif defined(__APPLE__)\n\n#undef PLAT_MACOSX\n#define PLAT_MACOSX 1\n\n#else\n#undef PLAT_WIN\n#define PLAT_WIN 1\n\n#endif\n\n#include <QImage>\n\nnamespace Scintilla {\n\ntypedef float XYPOSITION;\ntypedef double XYACCUMULATOR;\n\n// Underlying the implementation of the platform classes are platform specific types.\n// Sometimes these need to be passed around by client code so they are defined here\n\ntypedef void *FontID;\ntypedef void *SurfaceID;\ntypedef void *WindowID;\ntypedef void *MenuID;\ntypedef void *TickerID;\ntypedef void *Function;\ntypedef void *IdlerID;\n\n/**\n * A geometric point class.\n * Point is similar to the Win32 POINT and GTK+ GdkPoint types.\n */\nclass Point {\npublic:\n\tXYPOSITION x;\n\tXYPOSITION y;\n\n\tconstexpr explicit Point(XYPOSITION x_=0, XYPOSITION y_=0) noexcept : x(x_), y(y_) {\n\t}\n\n\tstatic Point FromInts(int x_, int y_) noexcept {\n\t\treturn Point(static_cast<XYPOSITION>(x_), static_cast<XYPOSITION>(y_));\n\t}\n\n\t// Other automatically defined methods (assignment, copy constructor, destructor) are fine\n};\n\n/**\n * A geometric rectangle class.\n * PRectangle is similar to Win32 RECT.\n * PRectangles contain their top and left sides, but not their right and bottom sides.\n */\nclass PRectangle {\npublic:\n\tXYPOSITION left;\n\tXYPOSITION top;\n\tXYPOSITION right;\n\tXYPOSITION bottom;\n\n\tconstexpr explicit PRectangle(XYPOSITION left_=0, XYPOSITION top_=0, XYPOSITION right_=0, XYPOSITION bottom_ = 0) noexcept :\n\t\tleft(left_), top(top_), right(right_), bottom(bottom_) {\n\t}\n\n\tstatic PRectangle FromInts(int left_, int top_, int right_, int bottom_) noexcept {\n\t\treturn PRectangle(static_cast<XYPOSITION>(left_), static_cast<XYPOSITION>(top_),\n\t\t\tstatic_cast<XYPOSITION>(right_), static_cast<XYPOSITION>(bottom_));\n\t}\n\n\t// Other automatically defined methods (assignment, copy constructor, destructor) are fine\n\n\tbool operator==(const PRectangle &rc) const noexcept {\n\t\treturn (rc.left == left) && (rc.right == right) &&\n\t\t\t(rc.top == top) && (rc.bottom == bottom);\n\t}\n\tbool Contains(Point pt) const noexcept {\n\t\treturn (pt.x >= left) && (pt.x <= right) &&\n\t\t\t(pt.y >= top) && (pt.y <= bottom);\n\t}\n\tbool ContainsWholePixel(Point pt) const noexcept {\n\t\t// Does the rectangle contain all of the pixel to left/below the point\n\t\treturn (pt.x >= left) && ((pt.x+1) <= right) &&\n\t\t\t(pt.y >= top) && ((pt.y+1) <= bottom);\n\t}\n\tbool Contains(PRectangle rc) const noexcept {\n\t\treturn (rc.left >= left) && (rc.right <= right) &&\n\t\t\t(rc.top >= top) && (rc.bottom <= bottom);\n\t}\n\tbool Intersects(PRectangle other) const noexcept {\n\t\treturn (right > other.left) && (left < other.right) &&\n\t\t\t(bottom > other.top) && (top < other.bottom);\n\t}\n\tvoid Move(XYPOSITION xDelta, XYPOSITION yDelta) noexcept {\n\t\tleft += xDelta;\n\t\ttop += yDelta;\n\t\tright += xDelta;\n\t\tbottom += yDelta;\n\t}\n\tXYPOSITION Width() const noexcept { return right - left; }\n\tXYPOSITION Height() const noexcept { return bottom - top; }\n\tbool Empty() const noexcept {\n\t\treturn (Height() <= 0) || (Width() <= 0);\n\t}\n};\n\n/**\n * Holds an RGB colour with 8 bits for each component.\n */\nconstexpr const float componentMaximum = 255.0f;\nclass ColourDesired {\n\tint co;\npublic:\n\texplicit ColourDesired(int co_=0) noexcept : co(co_) {\n\t}\n\n\tColourDesired(unsigned int red, unsigned int green, unsigned int blue) noexcept :\n\t\tco(red | (green << 8) | (blue << 16)) {\n\t}\n\n\tbool operator==(const ColourDesired &other) const noexcept {\n\t\treturn co == other.co;\n\t}\n\n\tint AsInteger() const noexcept {\n\t\treturn co;\n\t}\n\n\t// Red, green and blue values as bytes 0..255\n\tunsigned char GetRed() const noexcept {\n\t\treturn co & 0xff;\n\t}\n\tunsigned char GetGreen() const noexcept {\n\t\treturn (co >> 8) & 0xff;\n\t}\n\tunsigned char GetBlue() const noexcept {\n\t\treturn (co >> 16) & 0xff;\n\t}\n\n\t// Red, green and blue values as float 0..1.0\n\tfloat GetRedComponent() const noexcept {\n\t\treturn GetRed() / componentMaximum;\n\t}\n\tfloat GetGreenComponent() const noexcept {\n\t\treturn GetGreen() / componentMaximum;\n\t}\n\tfloat GetBlueComponent() const noexcept {\n\t\treturn GetBlue() / componentMaximum;\n\t}\n};\n\n/**\n* Holds an RGBA colour.\n*/\nclass ColourAlpha : public ColourDesired {\npublic:\n\texplicit ColourAlpha(int co_ = 0) noexcept : ColourDesired(co_) {\n\t}\n\n\tColourAlpha(unsigned int red, unsigned int green, unsigned int blue) noexcept :\n\t\tColourDesired(red | (green << 8) | (blue << 16)) {\n\t}\n\n\tColourAlpha(unsigned int red, unsigned int green, unsigned int blue, unsigned int alpha) noexcept :\n\t\tColourDesired(red | (green << 8) | (blue << 16) | (alpha << 24)) {\n\t}\n\n\tColourAlpha(ColourDesired cd, unsigned int alpha) noexcept :\n\t\tColourDesired(cd.AsInteger() | (alpha << 24)) {\n\t}\n\n\tColourDesired GetColour() const noexcept {\n\t\treturn ColourDesired(AsInteger() & 0xffffff);\n\t}\n\n\tunsigned char GetAlpha() const noexcept {\n\t\treturn (AsInteger() >> 24) & 0xff;\n\t}\n\n\tfloat GetAlphaComponent() const noexcept {\n\t\treturn GetAlpha() / componentMaximum;\n\t}\n\n\tColourAlpha MixedWith(ColourAlpha other) const noexcept {\n\t\tconst unsigned int red = (GetRed() + other.GetRed()) / 2;\n\t\tconst unsigned int green = (GetGreen() + other.GetGreen()) / 2;\n\t\tconst unsigned int blue = (GetBlue() + other.GetBlue()) / 2;\n\t\tconst unsigned int alpha = (GetAlpha() + other.GetAlpha()) / 2;\n\t\treturn ColourAlpha(red, green, blue, alpha);\n\t}\n};\n\n/**\n* Holds an element of a gradient with an RGBA colour and a relative position.\n*/\nclass ColourStop {\npublic:\n\tfloat position;\n\tColourAlpha colour;\n\tColourStop(float position_, ColourAlpha colour_) noexcept :\n\t\tposition(position_), colour(colour_) {\n\t}\n};\n\n/**\n * Font management.\n */\n\nstruct FontParameters {\n\tconst char *faceName;\n\tfloat size;\n\tint weight;\n\tbool italic;\n\tint extraFontFlag;\n\tint technology;\n\tint characterSet;\n\n\tFontParameters(\n\t\tconst char *faceName_,\n\t\tfloat size_=10,\n\t\tint weight_=400,\n\t\tbool italic_=false,\n\t\tint extraFontFlag_=0,\n\t\tint technology_=0,\n\t\tint characterSet_=0) noexcept :\n\n\t\tfaceName(faceName_),\n\t\tsize(size_),\n\t\tweight(weight_),\n\t\titalic(italic_),\n\t\textraFontFlag(extraFontFlag_),\n\t\ttechnology(technology_),\n\t\tcharacterSet(characterSet_)\n\t{\n\t}\n\n};\n\nclass Font {\nprotected:\n\tFontID fid;\npublic:\n\tFont() noexcept;\n\t// Deleted so Font objects can not be copied\n\tFont(const Font &) = delete;\n\tFont(Font &&) = delete;\n\tFont &operator=(const Font &) = delete;\n\tFont &operator=(Font &&) = delete;\n\tvirtual ~Font();\n\n\tvirtual void Create(const FontParameters &fp);\n\tvirtual void Release();\n\n\tFontID GetID() const noexcept { return fid; }\n\t// Alias another font - caller guarantees not to Release\n\tvoid SetID(FontID fid_) noexcept { fid = fid_; }\n\tfriend class Surface;\n\tfriend class SurfaceImpl;\n};\n\n/**\n * A surface abstracts a place to draw.\n */\n#if defined(PLAT_QT)\nclass XPM;\n#endif\nclass Surface {\npublic:\n\tSurface() noexcept = default;\n\tSurface(const Surface &) = delete;\n\tSurface(Surface &&) = delete;\n\tSurface &operator=(const Surface &) = delete;\n\tSurface &operator=(Surface &&) = delete;\n\tvirtual ~Surface() {}\n\tstatic Surface *Allocate(int technology);\n\n\tvirtual void Init(WindowID wid)=0;\n\tvirtual void Init(SurfaceID sid, WindowID wid)=0;\n\tvirtual void InitPixMap(int width, int height, Surface *surface_, WindowID wid)=0;\n\n\tvirtual void Release()=0;\n\tvirtual bool Initialised()=0;\n\tvirtual void PenColour(ColourDesired fore)=0;\n\tvirtual int LogPixelsY()=0;\n\tvirtual int DeviceHeightFont(int points)=0;\n\tvirtual void MoveTo(int x_, int y_)=0;\n\tvirtual void LineTo(int x_, int y_)=0;\n\tvirtual void Polygon(Point *pts, size_t npts, ColourDesired fore, ColourDesired back)=0;\n\tvirtual void RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back)=0;\n\tvirtual void FillRectangle(PRectangle rc, ColourDesired back)=0;\n\tvirtual void FillRectangle(PRectangle rc, Surface &surfacePattern)=0;\n\tvirtual void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back)=0;\n\tvirtual void AlphaRectangle(PRectangle rc, int cornerSize, int style) = 0;\n\tvirtual void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill,\n\t\tColourDesired outline, int alphaOutline, int flags)=0;\n\tenum class GradientOptions { leftToRight, topToBottom };\n\tvirtual void GradientRectangle(PRectangle rc, const std::vector<ColourStop> &stops, GradientOptions options)=0;\n\tvirtual void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage) = 0;\n\tvirtual void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back)=0;\n\tvirtual void Copy(PRectangle rc, Point from, Surface &surfaceSource)=0;\n\n\tvirtual void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back)=0;\n\tvirtual void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back)=0;\n\tvirtual void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore)=0;\n\tvirtual void MeasureWidths(Font &font_, const char *s, int len, XYPOSITION *positions)=0;\n\tvirtual XYPOSITION WidthText(Font &font_, const char *s, int len)=0;\n\tvirtual XYPOSITION Ascent(Font &font_)=0;\n\tvirtual XYPOSITION Descent(Font &font_)=0;\n\tvirtual XYPOSITION InternalLeading(Font &font_)=0;\n\tvirtual XYPOSITION Height(Font &font_)=0;\n\tvirtual XYPOSITION AverageCharWidth(Font &font_)=0;\n\n\tvirtual void SetClip(PRectangle rc)=0;\n\tvirtual void FlushCachedState()=0;\n\n\tvirtual void SetUnicodeMode(bool unicodeMode_)=0;\n\tvirtual void SetDBCSMode(int codePage)=0;\n\n#if defined(PLAT_QT)\n    virtual void Init(QPainter *p)=0;\n    virtual void DrawXPM(PRectangle rc, const XPM *xpm)=0;\n#endif\n};\n\n/**\n * Class to hide the details of window manipulation.\n * Does not own the window which will normally have a longer life than this object.\n */\nclass Window {\nprotected:\n\tWindowID wid;\npublic:\n\tWindow() noexcept : wid(nullptr), cursorLast(cursorInvalid) {\n\t}\n\tWindow(const Window &source) = delete;\n\tWindow(Window &&) = delete;\n\tWindow &operator=(WindowID wid_) noexcept {\n\t\twid = wid_;\n\t\tcursorLast = cursorInvalid;\n\t\treturn *this;\n\t}\n\tWindow &operator=(const Window &) = delete;\n\tWindow &operator=(Window &&) = delete;\n\tvirtual ~Window();\n\tWindowID GetID() const noexcept { return wid; }\n\tbool Created() const noexcept { return wid != nullptr; }\n\tvoid Destroy();\n\tPRectangle GetPosition() const;\n\tvoid SetPosition(PRectangle rc);\n\tvoid SetPositionRelative(PRectangle rc, const Window *relativeTo);\n\tPRectangle GetClientPosition() const;\n\tvoid Show(bool show=true);\n\tvoid InvalidateAll();\n\tvoid InvalidateRectangle(PRectangle rc);\n\tvirtual void SetFont(Font &font);\n\tenum Cursor { cursorInvalid, cursorText, cursorArrow, cursorUp, cursorWait, cursorHoriz, cursorVert, cursorReverseArrow, cursorHand };\n\tvoid SetCursor(Cursor curs);\n\tPRectangle GetMonitorRect(Point pt);\nprivate:\n\tCursor cursorLast;\n};\n\n/**\n * Listbox management.\n */\n\n// ScintillaBase implements IListBoxDelegate to receive ListBoxEvents from a ListBox\n\nstruct ListBoxEvent {\n\tenum class EventType { selectionChange, doubleClick } event;\n\tListBoxEvent(EventType event_) noexcept : event(event_) {\n\t}\n};\n\nclass IListBoxDelegate {\npublic:\n\tvirtual void ListNotify(ListBoxEvent *plbe)=0;\n};\n\nclass ListBox : public Window {\npublic:\n\tListBox() noexcept;\n\t~ListBox() override;\n\tstatic ListBox *Allocate();\n\n\tvoid SetFont(Font &font) override =0;\n\tvirtual void Create(Window &parent, int ctrlID, Point location, int lineHeight_, bool unicodeMode_, int technology_)=0;\n\tvirtual void SetAverageCharWidth(int width)=0;\n\tvirtual void SetVisibleRows(int rows)=0;\n\tvirtual int GetVisibleRows() const=0;\n\tvirtual PRectangle GetDesiredRect()=0;\n\tvirtual int CaretFromEdge()=0;\n\tvirtual void Clear()=0;\n\tvirtual void Append(char *s, int type = -1)=0;\n\tvirtual int Length()=0;\n\tvirtual void Select(int n)=0;\n\tvirtual int GetSelection()=0;\n\tvirtual int Find(const char *prefix)=0;\n\tvirtual void GetValue(int n, char *value, int len)=0;\n\tvirtual void RegisterImage(int type, const char *xpm_data)=0;\n\tvirtual void RegisterRGBAImage(int type, int width, int height, const unsigned char *pixelsImage) = 0;\n\tvirtual void ClearRegisteredImages()=0;\n\tvirtual void SetDelegate(IListBoxDelegate *lbDelegate)=0;\n\tvirtual void SetList(const char* list, char separator, char typesep)=0;\n};\n\n/**\n * Menu management.\n */\nclass Menu {\n\tMenuID mid;\npublic:\n\tMenu() noexcept;\n\tMenuID GetID() const noexcept { return mid; }\n\tvoid CreatePopUp();\n\tvoid Destroy();\n\tvoid Show(Point pt, Window &w);\n};\n\n/**\n * Dynamic Library (DLL/SO/...) loading\n */\nclass DynamicLibrary {\npublic:\n\tvirtual ~DynamicLibrary() = default;\n\n\t/// @return Pointer to function \"name\", or NULL on failure.\n\tvirtual Function FindFunction(const char *name) = 0;\n\n\t/// @return true if the library was loaded successfully.\n\tvirtual bool IsValid() = 0;\n\n\t/// @return An instance of a DynamicLibrary subclass with \"modulePath\" loaded.\n\tstatic DynamicLibrary *Load(const char *modulePath);\n};\n\n#if defined(__clang__)\n# if __has_feature(attribute_analyzer_noreturn)\n#  define CLANG_ANALYZER_NORETURN __attribute__((analyzer_noreturn))\n# else\n#  define CLANG_ANALYZER_NORETURN\n# endif\n#else\n# define CLANG_ANALYZER_NORETURN\n#endif\n\n/**\n * Platform class used to retrieve system wide parameters such as double click speed\n * and chrome colour. Not a creatable object, more of a module with several functions.\n */\nclass Platform {\npublic:\n\tPlatform() = default;\n\tPlatform(const Platform &) = delete;\n\tPlatform(Platform &&) = delete;\n\tPlatform &operator=(const Platform &) = delete;\n\tPlatform &operator=(Platform &&) = delete;\n\t~Platform() = default;\n\tstatic ColourDesired Chrome();\n\tstatic ColourDesired ChromeHighlight();\n\tstatic const char *DefaultFont();\n\tstatic int DefaultFontSize();\n\tstatic unsigned int DoubleClickTime();\n\tstatic void DebugDisplay(const char *s);\n\tstatic constexpr long LongFromTwoShorts(short a,short b) noexcept {\n\t\treturn (a) | ((b) << 16);\n\t}\n\n\tstatic void DebugPrintf(const char *format, ...);\n\tstatic bool ShowAssertionPopUps(bool assertionPopUps_);\n\tstatic void Assert(const char *c, const char *file, int line) CLANG_ANALYZER_NORETURN;\n};\n\n#ifdef  NDEBUG\n#define PLATFORM_ASSERT(c) ((void)0)\n#else\n#define PLATFORM_ASSERT(c) ((c) ? (void)(0) : Scintilla::Platform::Assert(#c, __FILE__, __LINE__))\n#endif\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/include/SciLexer.h",
    "content": "﻿/* Scintilla source code edit control */\n/** @file SciLexer.h\n ** Interface to the added lexer functions in the SciLexer version of the edit control.\n **/\n/* Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n * The License.txt file describes the conditions under which this software may be distributed. */\n\n/* Most of this file is automatically generated from the Scintilla.iface interface definition\n * file which contains any comments about the definitions. HFacer.py does the generation. */\n\n#ifndef SCILEXER_H\n#define SCILEXER_H\n\n/* SciLexer features - not in standard Scintilla */\n\n/* ++Autogenerated -- start of section automatically generated from Scintilla.iface */\n#define SCLEX_CONTAINER 0\n#define SCLEX_NULL 1\n#define SCLEX_PYTHON 2\n#define SCLEX_CPP 3\n#define SCLEX_HTML 4\n#define SCLEX_XML 5\n#define SCLEX_PERL 6\n#define SCLEX_SQL 7\n#define SCLEX_VB 8\n#define SCLEX_PROPERTIES 9\n#define SCLEX_ERRORLIST 10\n#define SCLEX_MAKEFILE 11\n#define SCLEX_BATCH 12\n#define SCLEX_XCODE 13\n#define SCLEX_LATEX 14\n#define SCLEX_LUA 15\n#define SCLEX_DIFF 16\n#define SCLEX_CONF 17\n#define SCLEX_PASCAL 18\n#define SCLEX_AVE 19\n#define SCLEX_ADA 20\n#define SCLEX_LISP 21\n#define SCLEX_RUBY 22\n#define SCLEX_EIFFEL 23\n#define SCLEX_EIFFELKW 24\n#define SCLEX_TCL 25\n#define SCLEX_NNCRONTAB 26\n#define SCLEX_BULLANT 27\n#define SCLEX_VBSCRIPT 28\n#define SCLEX_BAAN 31\n#define SCLEX_MATLAB 32\n#define SCLEX_SCRIPTOL 33\n#define SCLEX_ASM 34\n#define SCLEX_CPPNOCASE 35\n#define SCLEX_FORTRAN 36\n#define SCLEX_F77 37\n#define SCLEX_CSS 38\n#define SCLEX_POV 39\n#define SCLEX_LOUT 40\n#define SCLEX_ESCRIPT 41\n#define SCLEX_PS 42\n#define SCLEX_NSIS 43\n#define SCLEX_MMIXAL 44\n#define SCLEX_CLW 45\n#define SCLEX_CLWNOCASE 46\n#define SCLEX_LOT 47\n#define SCLEX_YAML 48\n#define SCLEX_TEX 49\n#define SCLEX_METAPOST 50\n#define SCLEX_POWERBASIC 51\n#define SCLEX_FORTH 52\n#define SCLEX_ERLANG 53\n#define SCLEX_OCTAVE 54\n#define SCLEX_MSSQL 55\n#define SCLEX_VERILOG 56\n#define SCLEX_KIX 57\n#define SCLEX_GUI4CLI 58\n#define SCLEX_SPECMAN 59\n#define SCLEX_AU3 60\n#define SCLEX_APDL 61\n#define SCLEX_BASH 62\n#define SCLEX_ASN1 63\n#define SCLEX_VHDL 64\n#define SCLEX_CAML 65\n#define SCLEX_BLITZBASIC 66\n#define SCLEX_PUREBASIC 67\n#define SCLEX_HASKELL 68\n#define SCLEX_PHPSCRIPT 69\n#define SCLEX_TADS3 70\n#define SCLEX_REBOL 71\n#define SCLEX_SMALLTALK 72\n#define SCLEX_FLAGSHIP 73\n#define SCLEX_CSOUND 74\n#define SCLEX_FREEBASIC 75\n#define SCLEX_INNOSETUP 76\n#define SCLEX_OPAL 77\n#define SCLEX_SPICE 78\n#define SCLEX_D 79\n#define SCLEX_CMAKE 80\n#define SCLEX_GAP 81\n#define SCLEX_PLM 82\n#define SCLEX_PROGRESS 83\n#define SCLEX_ABAQUS 84\n#define SCLEX_ASYMPTOTE 85\n#define SCLEX_R 86\n#define SCLEX_MAGIK 87\n#define SCLEX_POWERSHELL 88\n#define SCLEX_MYSQL 89\n#define SCLEX_PO 90\n#define SCLEX_TAL 91\n#define SCLEX_COBOL 92\n#define SCLEX_TACL 93\n#define SCLEX_SORCUS 94\n#define SCLEX_POWERPRO 95\n#define SCLEX_NIMROD 96\n#define SCLEX_SML 97\n#define SCLEX_MARKDOWN 98\n#define SCLEX_TXT2TAGS 99\n#define SCLEX_A68K 100\n#define SCLEX_MODULA 101\n#define SCLEX_COFFEESCRIPT 102\n#define SCLEX_TCMD 103\n#define SCLEX_AVS 104\n#define SCLEX_ECL 105\n#define SCLEX_OSCRIPT 106\n#define SCLEX_VISUALPROLOG 107\n#define SCLEX_LITERATEHASKELL 108\n#define SCLEX_STTXT 109\n#define SCLEX_KVIRC 110\n#define SCLEX_RUST 111\n#define SCLEX_DMAP 112\n#define SCLEX_AS 113\n#define SCLEX_DMIS 114\n#define SCLEX_REGISTRY 115\n#define SCLEX_BIBTEX 116\n#define SCLEX_SREC 117\n#define SCLEX_IHEX 118\n#define SCLEX_TEHEX 119\n#define SCLEX_JSON 120\n#define SCLEX_EDIFACT 121\n#define SCLEX_INDENT 122\n#define SCLEX_MAXIMA 123\n#define SCLEX_STATA 124\n#define SCLEX_SAS 125\r\n#define SCLEX_NIM 126\n#define SCLEX_LPEG 999\n#define SCLEX_CIL 127\r\n#define SCLEX_X12 128\r\n#define SCLEX_DATAFLEX 129\r\n#define SCLEX_HOLLYWOOD 130\r\n#define SCLEX_RAKU 131\r\n#define SCLEX_SEARCHRESULT 150\r\n#define SCLEX_OBJC 151\r\n#define SCLEX_USER 152\r\n#define SCLEX__EDIFACT 153\r\n#define SCLEX_IDL 154\r\n#define SCLEX_GO 155\r\n#define SCLEX_TXT 156\n\r\n#define SCLEX_AUTOMATIC 1000\n\n\n\n//For All lexer\n#define SCE_UNIVERSAL_FOUND_STYLE 31\n#define SCE_UNIVERSAL_FOUND_STYLE_SMART 29\n#define SCE_UNIVERSAL_FOUND_STYLE_INC 28\n#define SCE_UNIVERSAL_TAGMATCH 27\n#define SCE_UNIVERSAL_TAGATTR 26\n#define SCE_UNIVERSAL_FOUND_STYLE_EXT1 25\n#define SCE_UNIVERSAL_FOUND_STYLE_EXT2 24\n#define SCE_UNIVERSAL_FOUND_STYLE_EXT3 23\n#define SCE_UNIVERSAL_FOUND_STYLE_EXT4 22\n#define SCE_UNIVERSAL_FOUND_STYLE_EXT5 21\n\n#define SCE_UDL_VERSION_MAJOR       2\n#define SCE_UDL_VERSION_MINOR       1\n#define SCE_UDL_VERSION_BUILD       0\n#define SCE_UDL_VERSION_REVISION    12\n\n#define SCE_USER_KWLIST_COMMENTS                    0\n#define SCE_USER_KWLIST_NUMBER_PREFIX1              1\n#define SCE_USER_KWLIST_NUMBER_PREFIX2              2\n#define SCE_USER_KWLIST_NUMBER_EXTRAS1              3\n#define SCE_USER_KWLIST_NUMBER_EXTRAS2              4\n#define SCE_USER_KWLIST_NUMBER_SUFFIX1              5\n#define SCE_USER_KWLIST_NUMBER_SUFFIX2              6\n#define SCE_USER_KWLIST_NUMBER_RANGE                7\n#define SCE_USER_KWLIST_OPERATORS1                  8\n#define SCE_USER_KWLIST_OPERATORS2                  9\n#define SCE_USER_KWLIST_FOLDERS_IN_CODE1_OPEN       10\n#define SCE_USER_KWLIST_FOLDERS_IN_CODE1_MIDDLE     11\n#define SCE_USER_KWLIST_FOLDERS_IN_CODE1_CLOSE      12\n#define SCE_USER_KWLIST_FOLDERS_IN_CODE2_OPEN       13\n#define SCE_USER_KWLIST_FOLDERS_IN_CODE2_MIDDLE     14\n#define SCE_USER_KWLIST_FOLDERS_IN_CODE2_CLOSE      15\n#define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_OPEN     16\n#define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_MIDDLE   17\n#define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_CLOSE    18\n#define SCE_USER_KWLIST_KEYWORDS1                   19\n#define SCE_USER_KWLIST_KEYWORDS2                   20\n#define SCE_USER_KWLIST_KEYWORDS3                   21\n#define SCE_USER_KWLIST_KEYWORDS4                   22\n#define SCE_USER_KWLIST_KEYWORDS5                   23\n#define SCE_USER_KWLIST_KEYWORDS6                   24\n#define SCE_USER_KWLIST_KEYWORDS7                   25\n#define SCE_USER_KWLIST_KEYWORDS8                   26\n#define SCE_USER_KWLIST_DELIMITERS                  27\n#define SCE_USER_KWLIST_TOTAL                       28  // must always be <= KEYWORDSET_MAX\n\n#define SCE_USER_TOTAL_DELIMITERS           8\n#define SCE_USER_TOTAL_KEYWORD_GROUPS       8\n#define SCE_USER_TOTAL_FOLDERS              6\n\n#define SCE_USER_STYLE_DEFAULT              0\n#define SCE_USER_STYLE_COMMENT              1\n#define SCE_USER_STYLE_COMMENTLINE          2\n#define SCE_USER_STYLE_NUMBER               3\n#define SCE_USER_STYLE_KEYWORD1             4\n#define SCE_USER_STYLE_KEYWORD2             5\n#define SCE_USER_STYLE_KEYWORD3             6\n#define SCE_USER_STYLE_KEYWORD4             7\n#define SCE_USER_STYLE_KEYWORD5             8\n#define SCE_USER_STYLE_KEYWORD6             9\n#define SCE_USER_STYLE_KEYWORD7             10\n#define SCE_USER_STYLE_KEYWORD8             11\n#define SCE_USER_STYLE_OPERATOR             12\n#define SCE_USER_STYLE_FOLDER_IN_CODE1      13\n#define SCE_USER_STYLE_FOLDER_IN_CODE2      14\n#define SCE_USER_STYLE_FOLDER_IN_COMMENT    15\n#define SCE_USER_STYLE_DELIMITER1           16\n#define SCE_USER_STYLE_DELIMITER2           17\n#define SCE_USER_STYLE_DELIMITER3           18\n#define SCE_USER_STYLE_DELIMITER4           19\n#define SCE_USER_STYLE_DELIMITER5           20\n#define SCE_USER_STYLE_DELIMITER6           21\n#define SCE_USER_STYLE_DELIMITER7           22\n#define SCE_USER_STYLE_DELIMITER8           23\n#define SCE_USER_STYLE_IDENTIFIER           24\n#define SCE_USER_STYLE_TOTAL_STYLES         SCE_USER_STYLE_IDENTIFIER\n#define SCE_USER_STYLE_MAPPER_TOTAL         17\n\n#define SCE_USER_MASK_NESTING_NONE                          0\n#define SCE_USER_MASK_NESTING_DELIMITER1                    0x1\n#define SCE_USER_MASK_NESTING_DELIMITER2                    0x2\n#define SCE_USER_MASK_NESTING_DELIMITER3                    0x4\n#define SCE_USER_MASK_NESTING_DELIMITER4                    0x8\n#define SCE_USER_MASK_NESTING_DELIMITER5                    0x10\n#define SCE_USER_MASK_NESTING_DELIMITER6                    0x20\n#define SCE_USER_MASK_NESTING_DELIMITER7                    0x40\n#define SCE_USER_MASK_NESTING_DELIMITER8                    0x80\n#define SCE_USER_MASK_NESTING_COMMENT                       0x100\n#define SCE_USER_MASK_NESTING_COMMENT_LINE                  0x200\n#define SCE_USER_MASK_NESTING_KEYWORD1                      0x400\n#define SCE_USER_MASK_NESTING_KEYWORD2                      0x800\n#define SCE_USER_MASK_NESTING_KEYWORD3                      0x1000\n#define SCE_USER_MASK_NESTING_KEYWORD4                      0x2000\n#define SCE_USER_MASK_NESTING_KEYWORD5                      0x4000\n#define SCE_USER_MASK_NESTING_KEYWORD6                      0x8000\n#define SCE_USER_MASK_NESTING_KEYWORD7                      0x10000\n#define SCE_USER_MASK_NESTING_KEYWORD8                      0x20000\n#define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_OPEN         0x40000\n#define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_MIDDLE       0x80000\n#define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_CLOSE        0x100000\n#define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_OPEN       0x200000\n#define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_MIDDLE     0x400000\n#define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_CLOSE      0x800000\n#define SCE_USER_MASK_NESTING_OPERATORS1                    0x1000000\n#define SCE_USER_MASK_NESTING_OPERATORS2                    0x2000000\n#define SCE_USER_MASK_NESTING_NUMBERS                       0x4000000\n\n#define SCE_TXT_DEFAULT 0\n#define SCE_TXT_ASCII 1\n#define SCE_TXT_KEYWORD 2\n#define SCE_TXT_IDENTIFIER 4\n\n#define SCE_P_DEFAULT 0\n#define SCE_P_COMMENTLINE 1\n#define SCE_P_NUMBER 2\n#define SCE_P_STRING 3\n#define SCE_P_CHARACTER 4\n#define SCE_P_WORD 5\n#define SCE_P_TRIPLE 6\n#define SCE_P_TRIPLEDOUBLE 7\n#define SCE_P_CLASSNAME 8\n#define SCE_P_DEFNAME 9\n#define SCE_P_OPERATOR 10\n#define SCE_P_IDENTIFIER 11\n#define SCE_P_COMMENTBLOCK 12\n#define SCE_P_STRINGEOL 13\n#define SCE_P_WORD2 14\n#define SCE_P_DECORATOR 15\n#define SCE_P_FSTRING 16\n#define SCE_P_FCHARACTER 17\n#define SCE_P_FTRIPLE 18\n#define SCE_P_FTRIPLEDOUBLE 19\n#define SCE_C_DEFAULT 0\n#define SCE_C_COMMENT 1\n#define SCE_C_COMMENTLINE 2\n#define SCE_C_COMMENTDOC 3\n#define SCE_C_NUMBER 4\n#define SCE_C_WORD 5\n#define SCE_C_STRING 6\n#define SCE_C_CHARACTER 7\n#define SCE_C_UUID 8\n#define SCE_C_PREPROCESSOR 9\n#define SCE_C_OPERATOR 10\n#define SCE_C_IDENTIFIER 11\n#define SCE_C_STRINGEOL 12\n#define SCE_C_VERBATIM 13\n#define SCE_C_REGEX 14\n#define SCE_C_COMMENTLINEDOC 15\n#define SCE_C_WORD2 16\n#define SCE_C_COMMENTDOCKEYWORD 17\n#define SCE_C_COMMENTDOCKEYWORDERROR 18\n#define SCE_C_GLOBALCLASS 19\n#define SCE_C_STRINGRAW 20\n#define SCE_C_TRIPLEVERBATIM 21\n#define SCE_C_HASHQUOTEDSTRING 22\n#define SCE_C_PREPROCESSORCOMMENT 23\n#define SCE_C_PREPROCESSORCOMMENTDOC 24\n#define SCE_C_USERLITERAL 25\n#define SCE_C_TASKMARKER 26\n#define SCE_C_ESCAPESEQUENCE 27\n#define SCE_D_DEFAULT 0\n#define SCE_D_COMMENT 1\n#define SCE_D_COMMENTLINE 2\n#define SCE_D_COMMENTDOC 3\n#define SCE_D_COMMENTNESTED 4\n#define SCE_D_NUMBER 5\n#define SCE_D_WORD 6\n#define SCE_D_WORD2 7\n#define SCE_D_WORD3 8\n#define SCE_D_TYPEDEF 9\n#define SCE_D_STRING 10\n#define SCE_D_STRINGEOL 11\n#define SCE_D_CHARACTER 12\n#define SCE_D_OPERATOR 13\n#define SCE_D_IDENTIFIER 14\n#define SCE_D_COMMENTLINEDOC 15\n#define SCE_D_COMMENTDOCKEYWORD 16\n#define SCE_D_COMMENTDOCKEYWORDERROR 17\n#define SCE_D_STRINGB 18\n#define SCE_D_STRINGR 19\n#define SCE_D_WORD5 20\n#define SCE_D_WORD6 21\n#define SCE_D_WORD7 22\n\n#define SCE_SEARCHRESULT_DEFAULT 0\n#define SCE_SEARCHRESULT_SEARCH_HEADER 1\n#define SCE_SEARCHRESULT_FILE_HEADER 2\n#define SCE_SEARCHRESULT_LINE_NUMBER 3\n#define SCE_SEARCHRESULT_WORD2SEARCH 4\n//#define SCE_SEARCHRESULT_HIGHLIGHT_LINE 5 // (no use anymore)\n#define SCE_SEARCHRESULT_CURRENT_LINE 6\n#define SCE_OBJC_DIRECTIVE 20\n#define SCE_OBJC_QUALIFIER 21\n\n#define SCE_TCL_DEFAULT 0\n#define SCE_TCL_COMMENT 1\n#define SCE_TCL_COMMENTLINE 2\n#define SCE_TCL_NUMBER 3\n#define SCE_TCL_WORD_IN_QUOTE 4\n#define SCE_TCL_IN_QUOTE 5\n#define SCE_TCL_OPERATOR 6\n#define SCE_TCL_IDENTIFIER 7\n#define SCE_TCL_SUBSTITUTION 8\n#define SCE_TCL_SUB_BRACE 9\n#define SCE_TCL_MODIFIER 10\n#define SCE_TCL_EXPAND 11\n#define SCE_TCL_WORD 12\n#define SCE_TCL_WORD2 13\n#define SCE_TCL_WORD3 14\n#define SCE_TCL_WORD4 15\n#define SCE_TCL_WORD5 16\n#define SCE_TCL_WORD6 17\n#define SCE_TCL_WORD7 18\n#define SCE_TCL_WORD8 19\n#define SCE_TCL_COMMENT_BOX 20\n#define SCE_TCL_BLOCK_COMMENT 21\n#define SCE_H_DEFAULT 0\n#define SCE_H_TAG 1\n#define SCE_H_TAGUNKNOWN 2\n#define SCE_H_ATTRIBUTE 3\n#define SCE_H_ATTRIBUTEUNKNOWN 4\n#define SCE_H_NUMBER 5\n#define SCE_H_DOUBLESTRING 6\n#define SCE_H_SINGLESTRING 7\n#define SCE_H_OTHER 8\n#define SCE_H_COMMENT 9\n#define SCE_H_ENTITY 10\n#define SCE_H_TAGEND 11\n#define SCE_H_XMLSTART 12\n#define SCE_H_XMLEND 13\n#define SCE_H_SCRIPT 14\n#define SCE_H_ASP 15\n#define SCE_H_ASPAT 16\n#define SCE_H_CDATA 17\n#define SCE_H_QUESTION 18\n#define SCE_H_VALUE 19\n#define SCE_H_XCCOMMENT 20\n#define SCE_H_SGML_DEFAULT 21\n#define SCE_H_SGML_COMMAND 22\n#define SCE_H_SGML_1ST_PARAM 23\n#define SCE_H_SGML_DOUBLESTRING 24\n#define SCE_H_SGML_SIMPLESTRING 25\n#define SCE_H_SGML_ERROR 26\n#define SCE_H_SGML_SPECIAL 27\n#define SCE_H_SGML_ENTITY 28\n#define SCE_H_SGML_COMMENT 29\n#define SCE_H_SGML_1ST_PARAM_COMMENT 30\n#define SCE_H_SGML_BLOCK_DEFAULT 31\n#define SCE_HJ_START 40\n#define SCE_HJ_DEFAULT 41\n#define SCE_HJ_COMMENT 42\n#define SCE_HJ_COMMENTLINE 43\n#define SCE_HJ_COMMENTDOC 44\n#define SCE_HJ_NUMBER 45\n#define SCE_HJ_WORD 46\n#define SCE_HJ_KEYWORD 47\n#define SCE_HJ_DOUBLESTRING 48\n#define SCE_HJ_SINGLESTRING 49\n#define SCE_HJ_SYMBOLS 50\n#define SCE_HJ_STRINGEOL 51\n#define SCE_HJ_REGEX 52\n#define SCE_HJA_START 55\n#define SCE_HJA_DEFAULT 56\n#define SCE_HJA_COMMENT 57\n#define SCE_HJA_COMMENTLINE 58\n#define SCE_HJA_COMMENTDOC 59\n#define SCE_HJA_NUMBER 60\n#define SCE_HJA_WORD 61\n#define SCE_HJA_KEYWORD 62\n#define SCE_HJA_DOUBLESTRING 63\n#define SCE_HJA_SINGLESTRING 64\n#define SCE_HJA_SYMBOLS 65\n#define SCE_HJA_STRINGEOL 66\n#define SCE_HJA_REGEX 67\n#define SCE_HB_START 70\n#define SCE_HB_DEFAULT 71\n#define SCE_HB_COMMENTLINE 72\n#define SCE_HB_NUMBER 73\n#define SCE_HB_WORD 74\n#define SCE_HB_STRING 75\n#define SCE_HB_IDENTIFIER 76\n#define SCE_HB_STRINGEOL 77\n#define SCE_HBA_START 80\n#define SCE_HBA_DEFAULT 81\n#define SCE_HBA_COMMENTLINE 82\n#define SCE_HBA_NUMBER 83\n#define SCE_HBA_WORD 84\n#define SCE_HBA_STRING 85\n#define SCE_HBA_IDENTIFIER 86\n#define SCE_HBA_STRINGEOL 87\n#define SCE_HP_START 90\n#define SCE_HP_DEFAULT 91\n#define SCE_HP_COMMENTLINE 92\n#define SCE_HP_NUMBER 93\n#define SCE_HP_STRING 94\n#define SCE_HP_CHARACTER 95\n#define SCE_HP_WORD 96\n#define SCE_HP_TRIPLE 97\n#define SCE_HP_TRIPLEDOUBLE 98\n#define SCE_HP_CLASSNAME 99\n#define SCE_HP_DEFNAME 100\n#define SCE_HP_OPERATOR 101\n#define SCE_HP_IDENTIFIER 102\n#define SCE_HPHP_COMPLEX_VARIABLE 104\n#define SCE_HPA_START 105\n#define SCE_HPA_DEFAULT 106\n#define SCE_HPA_COMMENTLINE 107\n#define SCE_HPA_NUMBER 108\n#define SCE_HPA_STRING 109\n#define SCE_HPA_CHARACTER 110\n#define SCE_HPA_WORD 111\n#define SCE_HPA_TRIPLE 112\n#define SCE_HPA_TRIPLEDOUBLE 113\n#define SCE_HPA_CLASSNAME 114\n#define SCE_HPA_DEFNAME 115\n#define SCE_HPA_OPERATOR 116\n#define SCE_HPA_IDENTIFIER 117\n#define SCE_HPHP_DEFAULT 118\n#define SCE_HPHP_HSTRING 119\n#define SCE_HPHP_SIMPLESTRING 120\n#define SCE_HPHP_WORD 121\n#define SCE_HPHP_NUMBER 122\n#define SCE_HPHP_VARIABLE 123\n#define SCE_HPHP_COMMENT 124\n#define SCE_HPHP_COMMENTLINE 125\n#define SCE_HPHP_HSTRING_VARIABLE 126\n#define SCE_HPHP_OPERATOR 127\n#define SCE_PL_DEFAULT 0\n#define SCE_PL_ERROR 1\n#define SCE_PL_COMMENTLINE 2\n#define SCE_PL_POD 3\n#define SCE_PL_NUMBER 4\n#define SCE_PL_WORD 5\n#define SCE_PL_STRING 6\n#define SCE_PL_CHARACTER 7\n#define SCE_PL_PUNCTUATION 8\n#define SCE_PL_PREPROCESSOR 9\n#define SCE_PL_OPERATOR 10\n#define SCE_PL_IDENTIFIER 11\n#define SCE_PL_SCALAR 12\n#define SCE_PL_ARRAY 13\n#define SCE_PL_HASH 14\n#define SCE_PL_SYMBOLTABLE 15\n#define SCE_PL_VARIABLE_INDEXER 16\n#define SCE_PL_REGEX 17\n#define SCE_PL_REGSUBST 18\n#define SCE_PL_LONGQUOTE 19\n#define SCE_PL_BACKTICKS 20\n#define SCE_PL_DATASECTION 21\n#define SCE_PL_HERE_DELIM 22\n#define SCE_PL_HERE_Q 23\n#define SCE_PL_HERE_QQ 24\n#define SCE_PL_HERE_QX 25\n#define SCE_PL_STRING_Q 26\n#define SCE_PL_STRING_QQ 27\n#define SCE_PL_STRING_QX 28\n#define SCE_PL_STRING_QR 29\n#define SCE_PL_STRING_QW 30\n#define SCE_PL_POD_VERB 31\n#define SCE_PL_SUB_PROTOTYPE 40\n#define SCE_PL_FORMAT_IDENT 41\n#define SCE_PL_FORMAT 42\n#define SCE_PL_STRING_VAR 43\n#define SCE_PL_XLAT 44\n#define SCE_PL_REGEX_VAR 54\n#define SCE_PL_REGSUBST_VAR 55\n#define SCE_PL_BACKTICKS_VAR 57\n#define SCE_PL_HERE_QQ_VAR 61\n#define SCE_PL_HERE_QX_VAR 62\n#define SCE_PL_STRING_QQ_VAR 64\n#define SCE_PL_STRING_QX_VAR 65\n#define SCE_PL_STRING_QR_VAR 66\n#define SCE_RB_DEFAULT 0\n#define SCE_RB_ERROR 1\n#define SCE_RB_COMMENTLINE 2\n#define SCE_RB_POD 3\n#define SCE_RB_NUMBER 4\n#define SCE_RB_WORD 5\n#define SCE_RB_STRING 6\n#define SCE_RB_CHARACTER 7\n#define SCE_RB_CLASSNAME 8\n#define SCE_RB_DEFNAME 9\n#define SCE_RB_OPERATOR 10\n#define SCE_RB_IDENTIFIER 11\n#define SCE_RB_REGEX 12\n#define SCE_RB_GLOBAL 13\n#define SCE_RB_SYMBOL 14\n#define SCE_RB_MODULE_NAME 15\n#define SCE_RB_INSTANCE_VAR 16\n#define SCE_RB_CLASS_VAR 17\n#define SCE_RB_BACKTICKS 18\n#define SCE_RB_DATASECTION 19\n#define SCE_RB_HERE_DELIM 20\n#define SCE_RB_HERE_Q 21\n#define SCE_RB_HERE_QQ 22\n#define SCE_RB_HERE_QX 23\n#define SCE_RB_STRING_Q 24\n#define SCE_RB_STRING_QQ 25\n#define SCE_RB_STRING_QX 26\n#define SCE_RB_STRING_QR 27\n#define SCE_RB_STRING_QW 28\n#define SCE_RB_WORD_DEMOTED 29\n#define SCE_RB_STDIN 30\n#define SCE_RB_STDOUT 31\n#define SCE_RB_STDERR 40\n#define SCE_RB_UPPER_BOUND 41\n#define SCE_B_DEFAULT 0\n#define SCE_B_COMMENT 1\n#define SCE_B_NUMBER 2\n#define SCE_B_KEYWORD 3\n#define SCE_B_STRING 4\n#define SCE_B_PREPROCESSOR 5\n#define SCE_B_OPERATOR 6\n#define SCE_B_IDENTIFIER 7\n#define SCE_B_DATE 8\n#define SCE_B_STRINGEOL 9\n#define SCE_B_KEYWORD2 10\n#define SCE_B_KEYWORD3 11\n#define SCE_B_KEYWORD4 12\n#define SCE_B_CONSTANT 13\n#define SCE_B_ASM 14\n#define SCE_B_LABEL 15\n#define SCE_B_ERROR 16\n#define SCE_B_HEXNUMBER 17\n#define SCE_B_BINNUMBER 18\n#define SCE_B_COMMENTBLOCK 19\n#define SCE_B_DOCLINE 20\n#define SCE_B_DOCBLOCK 21\n#define SCE_B_DOCKEYWORD 22\n#define SCE_PROPS_DEFAULT 0\n#define SCE_PROPS_COMMENT 1\n#define SCE_PROPS_SECTION 2\n#define SCE_PROPS_ASSIGNMENT 3\n#define SCE_PROPS_DEFVAL 4\n#define SCE_PROPS_KEY 5\n#define SCE_L_DEFAULT 0\n#define SCE_L_COMMAND 1\n#define SCE_L_TAG 2\n#define SCE_L_MATH 3\n#define SCE_L_COMMENT 4\n#define SCE_L_TAG2 5\n#define SCE_L_MATH2 6\n#define SCE_L_COMMENT2 7\n#define SCE_L_VERBATIM 8\n#define SCE_L_SHORTCMD 9\n#define SCE_L_SPECIAL 10\n#define SCE_L_CMDOPT 11\n#define SCE_L_ERROR 12\n#define SCE_LUA_DEFAULT 0\n#define SCE_LUA_COMMENT 1\n#define SCE_LUA_COMMENTLINE 2\n#define SCE_LUA_COMMENTDOC 3\n#define SCE_LUA_NUMBER 4\n#define SCE_LUA_WORD 5\n#define SCE_LUA_STRING 6\n#define SCE_LUA_CHARACTER 7\n#define SCE_LUA_LITERALSTRING 8\n#define SCE_LUA_PREPROCESSOR 9\n#define SCE_LUA_OPERATOR 10\n#define SCE_LUA_IDENTIFIER 11\n#define SCE_LUA_STRINGEOL 12\n#define SCE_LUA_WORD2 13\n#define SCE_LUA_WORD3 14\n#define SCE_LUA_WORD4 15\n#define SCE_LUA_WORD5 16\n#define SCE_LUA_WORD6 17\n#define SCE_LUA_WORD7 18\n#define SCE_LUA_WORD8 19\n#define SCE_LUA_LABEL 20\n#define SCE_ERR_DEFAULT 0\n#define SCE_ERR_PYTHON 1\n#define SCE_ERR_GCC 2\n#define SCE_ERR_MS 3\n#define SCE_ERR_CMD 4\n#define SCE_ERR_BORLAND 5\n#define SCE_ERR_PERL 6\n#define SCE_ERR_NET 7\n#define SCE_ERR_LUA 8\n#define SCE_ERR_CTAG 9\n#define SCE_ERR_DIFF_CHANGED 10\n#define SCE_ERR_DIFF_ADDITION 11\n#define SCE_ERR_DIFF_DELETION 12\n#define SCE_ERR_DIFF_MESSAGE 13\n#define SCE_ERR_PHP 14\n#define SCE_ERR_ELF 15\n#define SCE_ERR_IFC 16\n#define SCE_ERR_IFORT 17\n#define SCE_ERR_ABSF 18\n#define SCE_ERR_TIDY 19\n#define SCE_ERR_JAVA_STACK 20\n#define SCE_ERR_VALUE 21\n#define SCE_ERR_GCC_INCLUDED_FROM 22\n#define SCE_ERR_ESCSEQ 23\n#define SCE_ERR_ESCSEQ_UNKNOWN 24\n#define SCE_ERR_GCC_EXCERPT 25\n#define SCE_ERR_ES_BLACK 40\n#define SCE_ERR_ES_RED 41\n#define SCE_ERR_ES_GREEN 42\n#define SCE_ERR_ES_BROWN 43\n#define SCE_ERR_ES_BLUE 44\n#define SCE_ERR_ES_MAGENTA 45\n#define SCE_ERR_ES_CYAN 46\n#define SCE_ERR_ES_GRAY 47\n#define SCE_ERR_ES_DARK_GRAY 48\n#define SCE_ERR_ES_BRIGHT_RED 49\n#define SCE_ERR_ES_BRIGHT_GREEN 50\n#define SCE_ERR_ES_YELLOW 51\n#define SCE_ERR_ES_BRIGHT_BLUE 52\n#define SCE_ERR_ES_BRIGHT_MAGENTA 53\n#define SCE_ERR_ES_BRIGHT_CYAN 54\n#define SCE_ERR_ES_WHITE 55\n#define SCE_BAT_DEFAULT 0\n#define SCE_BAT_COMMENT 1\n#define SCE_BAT_WORD 2\n#define SCE_BAT_LABEL 3\n#define SCE_BAT_HIDE 4\n#define SCE_BAT_COMMAND 5\n#define SCE_BAT_IDENTIFIER 6\n#define SCE_BAT_OPERATOR 7\n#define SCE_TCMD_DEFAULT 0\n#define SCE_TCMD_COMMENT 1\n#define SCE_TCMD_WORD 2\n#define SCE_TCMD_LABEL 3\n#define SCE_TCMD_HIDE 4\n#define SCE_TCMD_COMMAND 5\n#define SCE_TCMD_IDENTIFIER 6\n#define SCE_TCMD_OPERATOR 7\n#define SCE_TCMD_ENVIRONMENT 8\n#define SCE_TCMD_EXPANSION 9\n#define SCE_TCMD_CLABEL 10\n#define SCE_MAKE_DEFAULT 0\n#define SCE_MAKE_COMMENT 1\n#define SCE_MAKE_PREPROCESSOR 2\n#define SCE_MAKE_IDENTIFIER 3\n#define SCE_MAKE_OPERATOR 4\n#define SCE_MAKE_TARGET 5\n#define SCE_MAKE_IDEOL 9\n#define SCE_DIFF_DEFAULT 0\n#define SCE_DIFF_COMMENT 1\n#define SCE_DIFF_COMMAND 2\n#define SCE_DIFF_HEADER 3\n#define SCE_DIFF_POSITION 4\n#define SCE_DIFF_DELETED 5\n#define SCE_DIFF_ADDED 6\n#define SCE_DIFF_CHANGED 7\n#define SCE_DIFF_PATCH_ADD 8\n#define SCE_DIFF_PATCH_DELETE 9\n#define SCE_DIFF_REMOVED_PATCH_ADD 10\n#define SCE_DIFF_REMOVED_PATCH_DELETE 11\n#define SCE_CONF_DEFAULT 0\n#define SCE_CONF_COMMENT 1\n#define SCE_CONF_NUMBER 2\n#define SCE_CONF_IDENTIFIER 3\n#define SCE_CONF_EXTENSION 4\n#define SCE_CONF_PARAMETER 5\n#define SCE_CONF_STRING 6\n#define SCE_CONF_OPERATOR 7\n#define SCE_CONF_IP 8\n#define SCE_CONF_DIRECTIVE 9\n#define SCE_AVE_DEFAULT 0\n#define SCE_AVE_COMMENT 1\n#define SCE_AVE_NUMBER 2\n#define SCE_AVE_WORD 3\n#define SCE_AVE_STRING 6\n#define SCE_AVE_ENUM 7\n#define SCE_AVE_STRINGEOL 8\n#define SCE_AVE_IDENTIFIER 9\n#define SCE_AVE_OPERATOR 10\n#define SCE_AVE_WORD1 11\n#define SCE_AVE_WORD2 12\n#define SCE_AVE_WORD3 13\n#define SCE_AVE_WORD4 14\n#define SCE_AVE_WORD5 15\n#define SCE_AVE_WORD6 16\n#define SCE_ADA_DEFAULT 0\n#define SCE_ADA_WORD 1\n#define SCE_ADA_IDENTIFIER 2\n#define SCE_ADA_NUMBER 3\n#define SCE_ADA_DELIMITER 4\n#define SCE_ADA_CHARACTER 5\n#define SCE_ADA_CHARACTEREOL 6\n#define SCE_ADA_STRING 7\n#define SCE_ADA_STRINGEOL 8\n#define SCE_ADA_LABEL 9\n#define SCE_ADA_COMMENTLINE 10\n#define SCE_ADA_ILLEGAL 11\n#define SCE_BAAN_DEFAULT 0\n#define SCE_BAAN_COMMENT 1\n#define SCE_BAAN_COMMENTDOC 2\n#define SCE_BAAN_NUMBER 3\n#define SCE_BAAN_WORD 4\n#define SCE_BAAN_STRING 5\n#define SCE_BAAN_PREPROCESSOR 6\n#define SCE_BAAN_OPERATOR 7\n#define SCE_BAAN_IDENTIFIER 8\n#define SCE_BAAN_STRINGEOL 9\n#define SCE_BAAN_WORD2 10\n#define SCE_BAAN_WORD3 11\n#define SCE_BAAN_WORD4 12\n#define SCE_BAAN_WORD5 13\n#define SCE_BAAN_WORD6 14\n#define SCE_BAAN_WORD7 15\n#define SCE_BAAN_WORD8 16\n#define SCE_BAAN_WORD9 17\n#define SCE_BAAN_TABLEDEF 18\n#define SCE_BAAN_TABLESQL 19\n#define SCE_BAAN_FUNCTION 20\n#define SCE_BAAN_DOMDEF 21\n#define SCE_BAAN_FUNCDEF 22\n#define SCE_BAAN_OBJECTDEF 23\n#define SCE_BAAN_DEFINEDEF 24\n#define SCE_LISP_DEFAULT 0\n#define SCE_LISP_COMMENT 1\n#define SCE_LISP_NUMBER 2\n#define SCE_LISP_KEYWORD 3\n#define SCE_LISP_KEYWORD_KW 4\n#define SCE_LISP_SYMBOL 5\n#define SCE_LISP_STRING 6\n#define SCE_LISP_STRINGEOL 8\n#define SCE_LISP_IDENTIFIER 9\n#define SCE_LISP_OPERATOR 10\n#define SCE_LISP_SPECIAL 11\n#define SCE_LISP_MULTI_COMMENT 12\n#define SCE_EIFFEL_DEFAULT 0\n#define SCE_EIFFEL_COMMENTLINE 1\n#define SCE_EIFFEL_NUMBER 2\n#define SCE_EIFFEL_WORD 3\n#define SCE_EIFFEL_STRING 4\n#define SCE_EIFFEL_CHARACTER 5\n#define SCE_EIFFEL_OPERATOR 6\n#define SCE_EIFFEL_IDENTIFIER 7\n#define SCE_EIFFEL_STRINGEOL 8\n#define SCE_NNCRONTAB_DEFAULT 0\n#define SCE_NNCRONTAB_COMMENT 1\n#define SCE_NNCRONTAB_TASK 2\n#define SCE_NNCRONTAB_SECTION 3\n#define SCE_NNCRONTAB_KEYWORD 4\n#define SCE_NNCRONTAB_MODIFIER 5\n#define SCE_NNCRONTAB_ASTERISK 6\n#define SCE_NNCRONTAB_NUMBER 7\n#define SCE_NNCRONTAB_STRING 8\n#define SCE_NNCRONTAB_ENVIRONMENT 9\n#define SCE_NNCRONTAB_IDENTIFIER 10\n#define SCE_FORTH_DEFAULT 0\n#define SCE_FORTH_COMMENT 1\n#define SCE_FORTH_COMMENT_ML 2\n#define SCE_FORTH_IDENTIFIER 3\n#define SCE_FORTH_CONTROL 4\n#define SCE_FORTH_KEYWORD 5\n#define SCE_FORTH_DEFWORD 6\n#define SCE_FORTH_PREWORD1 7\n#define SCE_FORTH_PREWORD2 8\n#define SCE_FORTH_NUMBER 9\n#define SCE_FORTH_STRING 10\n#define SCE_FORTH_LOCALE 11\n#define SCE_MATLAB_DEFAULT 0\n#define SCE_MATLAB_COMMENT 1\n#define SCE_MATLAB_COMMAND 2\n#define SCE_MATLAB_NUMBER 3\n#define SCE_MATLAB_KEYWORD 4\n#define SCE_MATLAB_STRING 5\n#define SCE_MATLAB_OPERATOR 6\n#define SCE_MATLAB_IDENTIFIER 7\n#define SCE_MATLAB_DOUBLEQUOTESTRING 8\n#define SCE_MAXIMA_OPERATOR 0\n#define SCE_MAXIMA_COMMANDENDING 1\n#define SCE_MAXIMA_COMMENT 2\n#define SCE_MAXIMA_NUMBER 3\n#define SCE_MAXIMA_STRING 4\n#define SCE_MAXIMA_COMMAND 5\n#define SCE_MAXIMA_VARIABLE 6\n#define SCE_MAXIMA_UNKNOWN 7\n#define SCE_SCRIPTOL_DEFAULT 0\n#define SCE_SCRIPTOL_WHITE 1\n#define SCE_SCRIPTOL_COMMENTLINE 2\n#define SCE_SCRIPTOL_PERSISTENT 3\n#define SCE_SCRIPTOL_CSTYLE 4\n#define SCE_SCRIPTOL_COMMENTBLOCK 5\n#define SCE_SCRIPTOL_NUMBER 6\n#define SCE_SCRIPTOL_STRING 7\n#define SCE_SCRIPTOL_CHARACTER 8\n#define SCE_SCRIPTOL_STRINGEOL 9\n#define SCE_SCRIPTOL_KEYWORD 10\n#define SCE_SCRIPTOL_OPERATOR 11\n#define SCE_SCRIPTOL_IDENTIFIER 12\n#define SCE_SCRIPTOL_TRIPLE 13\n#define SCE_SCRIPTOL_CLASSNAME 14\n#define SCE_SCRIPTOL_PREPROCESSOR 15\n#define SCE_ASM_DEFAULT 0\n#define SCE_ASM_COMMENT 1\n#define SCE_ASM_NUMBER 2\n#define SCE_ASM_STRING 3\n#define SCE_ASM_OPERATOR 4\n#define SCE_ASM_IDENTIFIER 5\n#define SCE_ASM_CPUINSTRUCTION 6\n#define SCE_ASM_MATHINSTRUCTION 7\n#define SCE_ASM_REGISTER 8\n#define SCE_ASM_DIRECTIVE 9\n#define SCE_ASM_DIRECTIVEOPERAND 10\n#define SCE_ASM_COMMENTBLOCK 11\n#define SCE_ASM_CHARACTER 12\n#define SCE_ASM_STRINGEOL 13\n#define SCE_ASM_EXTINSTRUCTION 14\n#define SCE_ASM_COMMENTDIRECTIVE 15\n#define SCE_F_DEFAULT 0\n#define SCE_F_COMMENT 1\n#define SCE_F_NUMBER 2\n#define SCE_F_STRING1 3\n#define SCE_F_STRING2 4\n#define SCE_F_STRINGEOL 5\n#define SCE_F_OPERATOR 6\n#define SCE_F_IDENTIFIER 7\n#define SCE_F_WORD 8\n#define SCE_F_WORD2 9\n#define SCE_F_WORD3 10\n#define SCE_F_PREPROCESSOR 11\n#define SCE_F_OPERATOR2 12\n#define SCE_F_LABEL 13\n#define SCE_F_CONTINUATION 14\n#define SCE_CSS_DEFAULT 0\n#define SCE_CSS_TAG 1\n#define SCE_CSS_CLASS 2\n#define SCE_CSS_PSEUDOCLASS 3\n#define SCE_CSS_UNKNOWN_PSEUDOCLASS 4\n#define SCE_CSS_OPERATOR 5\n#define SCE_CSS_IDENTIFIER 6\n#define SCE_CSS_UNKNOWN_IDENTIFIER 7\n#define SCE_CSS_VALUE 8\n#define SCE_CSS_COMMENT 9\n#define SCE_CSS_ID 10\n#define SCE_CSS_IMPORTANT 11\n#define SCE_CSS_DIRECTIVE 12\n#define SCE_CSS_DOUBLESTRING 13\n#define SCE_CSS_SINGLESTRING 14\n#define SCE_CSS_IDENTIFIER2 15\n#define SCE_CSS_ATTRIBUTE 16\n#define SCE_CSS_IDENTIFIER3 17\n#define SCE_CSS_PSEUDOELEMENT 18\n#define SCE_CSS_EXTENDED_IDENTIFIER 19\n#define SCE_CSS_EXTENDED_PSEUDOCLASS 20\n#define SCE_CSS_EXTENDED_PSEUDOELEMENT 21\n#define SCE_CSS_MEDIA 22\n#define SCE_CSS_VARIABLE 23\n#define SCE_POV_DEFAULT 0\n#define SCE_POV_COMMENT 1\n#define SCE_POV_COMMENTLINE 2\n#define SCE_POV_NUMBER 3\n#define SCE_POV_OPERATOR 4\n#define SCE_POV_IDENTIFIER 5\n#define SCE_POV_STRING 6\n#define SCE_POV_STRINGEOL 7\n#define SCE_POV_DIRECTIVE 8\n#define SCE_POV_BADDIRECTIVE 9\n#define SCE_POV_WORD2 10\n#define SCE_POV_WORD3 11\n#define SCE_POV_WORD4 12\n#define SCE_POV_WORD5 13\n#define SCE_POV_WORD6 14\n#define SCE_POV_WORD7 15\n#define SCE_POV_WORD8 16\n#define SCE_LOUT_DEFAULT 0\n#define SCE_LOUT_COMMENT 1\n#define SCE_LOUT_NUMBER 2\n#define SCE_LOUT_WORD 3\n#define SCE_LOUT_WORD2 4\n#define SCE_LOUT_WORD3 5\n#define SCE_LOUT_WORD4 6\n#define SCE_LOUT_STRING 7\n#define SCE_LOUT_OPERATOR 8\n#define SCE_LOUT_IDENTIFIER 9\n#define SCE_LOUT_STRINGEOL 10\n#define SCE_ESCRIPT_DEFAULT 0\n#define SCE_ESCRIPT_COMMENT 1\n#define SCE_ESCRIPT_COMMENTLINE 2\n#define SCE_ESCRIPT_COMMENTDOC 3\n#define SCE_ESCRIPT_NUMBER 4\n#define SCE_ESCRIPT_WORD 5\n#define SCE_ESCRIPT_STRING 6\n#define SCE_ESCRIPT_OPERATOR 7\n#define SCE_ESCRIPT_IDENTIFIER 8\n#define SCE_ESCRIPT_BRACE 9\n#define SCE_ESCRIPT_WORD2 10\n#define SCE_ESCRIPT_WORD3 11\n#define SCE_PS_DEFAULT 0\n#define SCE_PS_COMMENT 1\n#define SCE_PS_DSC_COMMENT 2\n#define SCE_PS_DSC_VALUE 3\n#define SCE_PS_NUMBER 4\n#define SCE_PS_NAME 5\n#define SCE_PS_KEYWORD 6\n#define SCE_PS_LITERAL 7\n#define SCE_PS_IMMEVAL 8\n#define SCE_PS_PAREN_ARRAY 9\n#define SCE_PS_PAREN_DICT 10\n#define SCE_PS_PAREN_PROC 11\n#define SCE_PS_TEXT 12\n#define SCE_PS_HEXSTRING 13\n#define SCE_PS_BASE85STRING 14\n#define SCE_PS_BADSTRINGCHAR 15\n#define SCE_NSIS_DEFAULT 0\n#define SCE_NSIS_COMMENT 1\n#define SCE_NSIS_STRINGDQ 2\n#define SCE_NSIS_STRINGLQ 3\n#define SCE_NSIS_STRINGRQ 4\n#define SCE_NSIS_FUNCTION 5\n#define SCE_NSIS_VARIABLE 6\n#define SCE_NSIS_LABEL 7\n#define SCE_NSIS_USERDEFINED 8\n#define SCE_NSIS_SECTIONDEF 9\n#define SCE_NSIS_SUBSECTIONDEF 10\n#define SCE_NSIS_IFDEFINEDEF 11\n#define SCE_NSIS_MACRODEF 12\n#define SCE_NSIS_STRINGVAR 13\n#define SCE_NSIS_NUMBER 14\n#define SCE_NSIS_SECTIONGROUP 15\n#define SCE_NSIS_PAGEEX 16\n#define SCE_NSIS_FUNCTIONDEF 17\n#define SCE_NSIS_COMMENTBOX 18\n#define SCE_MMIXAL_LEADWS 0\n#define SCE_MMIXAL_COMMENT 1\n#define SCE_MMIXAL_LABEL 2\n#define SCE_MMIXAL_OPCODE 3\n#define SCE_MMIXAL_OPCODE_PRE 4\n#define SCE_MMIXAL_OPCODE_VALID 5\n#define SCE_MMIXAL_OPCODE_UNKNOWN 6\n#define SCE_MMIXAL_OPCODE_POST 7\n#define SCE_MMIXAL_OPERANDS 8\n#define SCE_MMIXAL_NUMBER 9\n#define SCE_MMIXAL_REF 10\n#define SCE_MMIXAL_CHAR 11\n#define SCE_MMIXAL_STRING 12\n#define SCE_MMIXAL_REGISTER 13\n#define SCE_MMIXAL_HEX 14\n#define SCE_MMIXAL_OPERATOR 15\n#define SCE_MMIXAL_SYMBOL 16\n#define SCE_MMIXAL_INCLUDE 17\n#define SCE_CLW_DEFAULT 0\n#define SCE_CLW_LABEL 1\n#define SCE_CLW_COMMENT 2\n#define SCE_CLW_STRING 3\n#define SCE_CLW_USER_IDENTIFIER 4\n#define SCE_CLW_INTEGER_CONSTANT 5\n#define SCE_CLW_REAL_CONSTANT 6\n#define SCE_CLW_PICTURE_STRING 7\n#define SCE_CLW_KEYWORD 8\n#define SCE_CLW_COMPILER_DIRECTIVE 9\n#define SCE_CLW_RUNTIME_EXPRESSIONS 10\n#define SCE_CLW_BUILTIN_PROCEDURES_FUNCTION 11\n#define SCE_CLW_STRUCTURE_DATA_TYPE 12\n#define SCE_CLW_ATTRIBUTE 13\n#define SCE_CLW_STANDARD_EQUATE 14\n#define SCE_CLW_ERROR 15\n#define SCE_CLW_DEPRECATED 16\n#define SCE_LOT_DEFAULT 0\n#define SCE_LOT_HEADER 1\n#define SCE_LOT_BREAK 2\n#define SCE_LOT_SET 3\n#define SCE_LOT_PASS 4\n#define SCE_LOT_FAIL 5\n#define SCE_LOT_ABORT 6\n#define SCE_YAML_DEFAULT 0\n#define SCE_YAML_COMMENT 1\n#define SCE_YAML_IDENTIFIER 2\n#define SCE_YAML_KEYWORD 3\n#define SCE_YAML_NUMBER 4\n#define SCE_YAML_REFERENCE 5\n#define SCE_YAML_DOCUMENT 6\n#define SCE_YAML_TEXT 7\n#define SCE_YAML_ERROR 8\n#define SCE_YAML_OPERATOR 9\n#define SCE_TEX_DEFAULT 0\n#define SCE_TEX_SPECIAL 1\n#define SCE_TEX_GROUP 2\n#define SCE_TEX_SYMBOL 3\n#define SCE_TEX_COMMAND 4\n#define SCE_TEX_TEXT 5\n#define SCE_METAPOST_DEFAULT 0\n#define SCE_METAPOST_SPECIAL 1\n#define SCE_METAPOST_GROUP 2\n#define SCE_METAPOST_SYMBOL 3\n#define SCE_METAPOST_COMMAND 4\n#define SCE_METAPOST_TEXT 5\n#define SCE_METAPOST_EXTRA 6\n#define SCE_ERLANG_DEFAULT 0\n#define SCE_ERLANG_COMMENT 1\n#define SCE_ERLANG_VARIABLE 2\n#define SCE_ERLANG_NUMBER 3\n#define SCE_ERLANG_KEYWORD 4\n#define SCE_ERLANG_STRING 5\n#define SCE_ERLANG_OPERATOR 6\n#define SCE_ERLANG_ATOM 7\n#define SCE_ERLANG_FUNCTION_NAME 8\n#define SCE_ERLANG_CHARACTER 9\n#define SCE_ERLANG_MACRO 10\n#define SCE_ERLANG_RECORD 11\n#define SCE_ERLANG_PREPROC 12\n#define SCE_ERLANG_NODE_NAME 13\n#define SCE_ERLANG_COMMENT_FUNCTION 14\n#define SCE_ERLANG_COMMENT_MODULE 15\n#define SCE_ERLANG_COMMENT_DOC 16\n#define SCE_ERLANG_COMMENT_DOC_MACRO 17\n#define SCE_ERLANG_ATOM_QUOTED 18\n#define SCE_ERLANG_MACRO_QUOTED 19\n#define SCE_ERLANG_RECORD_QUOTED 20\n#define SCE_ERLANG_NODE_NAME_QUOTED 21\n#define SCE_ERLANG_BIFS 22\n#define SCE_ERLANG_MODULES 23\n#define SCE_ERLANG_MODULES_ATT 24\n#define SCE_ERLANG_UNKNOWN 31\n#define SCE_MSSQL_DEFAULT 0\n#define SCE_MSSQL_COMMENT 1\n#define SCE_MSSQL_LINE_COMMENT 2\n#define SCE_MSSQL_NUMBER 3\n#define SCE_MSSQL_STRING 4\n#define SCE_MSSQL_OPERATOR 5\n#define SCE_MSSQL_IDENTIFIER 6\n#define SCE_MSSQL_VARIABLE 7\n#define SCE_MSSQL_COLUMN_NAME 8\n#define SCE_MSSQL_STATEMENT 9\n#define SCE_MSSQL_DATATYPE 10\n#define SCE_MSSQL_SYSTABLE 11\n#define SCE_MSSQL_GLOBAL_VARIABLE 12\n#define SCE_MSSQL_FUNCTION 13\n#define SCE_MSSQL_STORED_PROCEDURE 14\n#define SCE_MSSQL_DEFAULT_PREF_DATATYPE 15\n#define SCE_MSSQL_COLUMN_NAME_2 16\n#define SCE_V_DEFAULT 0\n#define SCE_V_COMMENT 1\n#define SCE_V_COMMENTLINE 2\n#define SCE_V_COMMENTLINEBANG 3\n#define SCE_V_NUMBER 4\n#define SCE_V_WORD 5\n#define SCE_V_STRING 6\n#define SCE_V_WORD2 7\n#define SCE_V_WORD3 8\n#define SCE_V_PREPROCESSOR 9\n#define SCE_V_OPERATOR 10\n#define SCE_V_IDENTIFIER 11\n#define SCE_V_STRINGEOL 12\n#define SCE_V_USER 19\n#define SCE_V_COMMENT_WORD 20\n#define SCE_V_INPUT 21\n#define SCE_V_OUTPUT 22\n#define SCE_V_INOUT 23\n#define SCE_V_PORT_CONNECT 24\n#define SCE_KIX_DEFAULT 0\n#define SCE_KIX_COMMENT 1\n#define SCE_KIX_STRING1 2\n#define SCE_KIX_STRING2 3\n#define SCE_KIX_NUMBER 4\n#define SCE_KIX_VAR 5\n#define SCE_KIX_MACRO 6\n#define SCE_KIX_KEYWORD 7\n#define SCE_KIX_FUNCTIONS 8\n#define SCE_KIX_OPERATOR 9\n#define SCE_KIX_COMMENTSTREAM 10\n#define SCE_KIX_IDENTIFIER 31\n#define SCE_GC_DEFAULT 0\n#define SCE_GC_COMMENTLINE 1\n#define SCE_GC_COMMENTBLOCK 2\n#define SCE_GC_GLOBAL 3\n#define SCE_GC_EVENT 4\n#define SCE_GC_ATTRIBUTE 5\n#define SCE_GC_CONTROL 6\n#define SCE_GC_COMMAND 7\n#define SCE_GC_STRING 8\n#define SCE_GC_OPERATOR 9\n#define SCE_SN_DEFAULT 0\n#define SCE_SN_CODE 1\n#define SCE_SN_COMMENTLINE 2\n#define SCE_SN_COMMENTLINEBANG 3\n#define SCE_SN_NUMBER 4\n#define SCE_SN_WORD 5\n#define SCE_SN_STRING 6\n#define SCE_SN_WORD2 7\n#define SCE_SN_WORD3 8\n#define SCE_SN_PREPROCESSOR 9\n#define SCE_SN_OPERATOR 10\n#define SCE_SN_IDENTIFIER 11\n#define SCE_SN_STRINGEOL 12\n#define SCE_SN_REGEXTAG 13\n#define SCE_SN_SIGNAL 14\n#define SCE_SN_USER 19\n#define SCE_AU3_DEFAULT 0\n#define SCE_AU3_COMMENT 1\n#define SCE_AU3_COMMENTBLOCK 2\n#define SCE_AU3_NUMBER 3\n#define SCE_AU3_FUNCTION 4\n#define SCE_AU3_KEYWORD 5\n#define SCE_AU3_MACRO 6\n#define SCE_AU3_STRING 7\n#define SCE_AU3_OPERATOR 8\n#define SCE_AU3_VARIABLE 9\n#define SCE_AU3_SENT 10\n#define SCE_AU3_PREPROCESSOR 11\n#define SCE_AU3_SPECIAL 12\n#define SCE_AU3_EXPAND 13\n#define SCE_AU3_COMOBJ 14\n#define SCE_AU3_UDF 15\n#define SCE_APDL_DEFAULT 0\n#define SCE_APDL_COMMENT 1\n#define SCE_APDL_COMMENTBLOCK 2\n#define SCE_APDL_NUMBER 3\n#define SCE_APDL_STRING 4\n#define SCE_APDL_OPERATOR 5\n#define SCE_APDL_WORD 6\n#define SCE_APDL_PROCESSOR 7\n#define SCE_APDL_COMMAND 8\n#define SCE_APDL_SLASHCOMMAND 9\n#define SCE_APDL_STARCOMMAND 10\n#define SCE_APDL_ARGUMENT 11\n#define SCE_APDL_FUNCTION 12\n#define SCE_SH_DEFAULT 0\n#define SCE_SH_ERROR 1\n#define SCE_SH_COMMENTLINE 2\n#define SCE_SH_NUMBER 3\n#define SCE_SH_WORD 4\n#define SCE_SH_STRING 5\n#define SCE_SH_CHARACTER 6\n#define SCE_SH_OPERATOR 7\n#define SCE_SH_IDENTIFIER 8\n#define SCE_SH_SCALAR 9\n#define SCE_SH_PARAM 10\n#define SCE_SH_BACKTICKS 11\n#define SCE_SH_HERE_DELIM 12\n#define SCE_SH_HERE_Q 13\n#define SCE_ASN1_DEFAULT 0\n#define SCE_ASN1_COMMENT 1\n#define SCE_ASN1_IDENTIFIER 2\n#define SCE_ASN1_STRING 3\n#define SCE_ASN1_OID 4\n#define SCE_ASN1_SCALAR 5\n#define SCE_ASN1_KEYWORD 6\n#define SCE_ASN1_ATTRIBUTE 7\n#define SCE_ASN1_DESCRIPTOR 8\n#define SCE_ASN1_TYPE 9\n#define SCE_ASN1_OPERATOR 10\n#define SCE_VHDL_DEFAULT 0\n#define SCE_VHDL_COMMENT 1\n#define SCE_VHDL_COMMENTLINEBANG 2\n#define SCE_VHDL_NUMBER 3\n#define SCE_VHDL_STRING 4\n#define SCE_VHDL_OPERATOR 5\n#define SCE_VHDL_IDENTIFIER 6\n#define SCE_VHDL_STRINGEOL 7\n#define SCE_VHDL_KEYWORD 8\n#define SCE_VHDL_STDOPERATOR 9\n#define SCE_VHDL_ATTRIBUTE 10\n#define SCE_VHDL_STDFUNCTION 11\n#define SCE_VHDL_STDPACKAGE 12\n#define SCE_VHDL_STDTYPE 13\n#define SCE_VHDL_USERWORD 14\n#define SCE_VHDL_BLOCK_COMMENT 15\n#define SCE_CAML_DEFAULT 0\n#define SCE_CAML_IDENTIFIER 1\n#define SCE_CAML_TAGNAME 2\n#define SCE_CAML_KEYWORD 3\n#define SCE_CAML_KEYWORD2 4\n#define SCE_CAML_KEYWORD3 5\n#define SCE_CAML_LINENUM 6\n#define SCE_CAML_OPERATOR 7\n#define SCE_CAML_NUMBER 8\n#define SCE_CAML_CHAR 9\n#define SCE_CAML_WHITE 10\n#define SCE_CAML_STRING 11\n#define SCE_CAML_COMMENT 12\n#define SCE_CAML_COMMENT1 13\n#define SCE_CAML_COMMENT2 14\n#define SCE_CAML_COMMENT3 15\n#define SCE_HA_DEFAULT 0\n#define SCE_HA_IDENTIFIER 1\n#define SCE_HA_KEYWORD 2\n#define SCE_HA_NUMBER 3\n#define SCE_HA_STRING 4\n#define SCE_HA_CHARACTER 5\n#define SCE_HA_CLASS 6\n#define SCE_HA_MODULE 7\n#define SCE_HA_CAPITAL 8\n#define SCE_HA_DATA 9\n#define SCE_HA_IMPORT 10\n#define SCE_HA_OPERATOR 11\n#define SCE_HA_INSTANCE 12\n#define SCE_HA_COMMENTLINE 13\n#define SCE_HA_COMMENTBLOCK 14\n#define SCE_HA_COMMENTBLOCK2 15\n#define SCE_HA_COMMENTBLOCK3 16\n#define SCE_HA_PRAGMA 17\n#define SCE_HA_PREPROCESSOR 18\n#define SCE_HA_STRINGEOL 19\n#define SCE_HA_RESERVED_OPERATOR 20\n#define SCE_HA_LITERATE_COMMENT 21\n#define SCE_HA_LITERATE_CODEDELIM 22\n#define SCE_T3_DEFAULT 0\n#define SCE_T3_X_DEFAULT 1\n#define SCE_T3_PREPROCESSOR 2\n#define SCE_T3_BLOCK_COMMENT 3\n#define SCE_T3_LINE_COMMENT 4\n#define SCE_T3_OPERATOR 5\n#define SCE_T3_KEYWORD 6\n#define SCE_T3_NUMBER 7\n#define SCE_T3_IDENTIFIER 8\n#define SCE_T3_S_STRING 9\n#define SCE_T3_D_STRING 10\n#define SCE_T3_X_STRING 11\n#define SCE_T3_LIB_DIRECTIVE 12\n#define SCE_T3_MSG_PARAM 13\n#define SCE_T3_HTML_TAG 14\n#define SCE_T3_HTML_DEFAULT 15\n#define SCE_T3_HTML_STRING 16\n#define SCE_T3_USER1 17\n#define SCE_T3_USER2 18\n#define SCE_T3_USER3 19\n#define SCE_T3_BRACE 20\n#define SCE_REBOL_DEFAULT 0\n#define SCE_REBOL_COMMENTLINE 1\n#define SCE_REBOL_COMMENTBLOCK 2\n#define SCE_REBOL_PREFACE 3\n#define SCE_REBOL_OPERATOR 4\n#define SCE_REBOL_CHARACTER 5\n#define SCE_REBOL_QUOTEDSTRING 6\n#define SCE_REBOL_BRACEDSTRING 7\n#define SCE_REBOL_NUMBER 8\n#define SCE_REBOL_PAIR 9\n#define SCE_REBOL_TUPLE 10\n#define SCE_REBOL_BINARY 11\n#define SCE_REBOL_MONEY 12\n#define SCE_REBOL_ISSUE 13\n#define SCE_REBOL_TAG 14\n#define SCE_REBOL_FILE 15\n#define SCE_REBOL_EMAIL 16\n#define SCE_REBOL_URL 17\n#define SCE_REBOL_DATE 18\n#define SCE_REBOL_TIME 19\n#define SCE_REBOL_IDENTIFIER 20\n#define SCE_REBOL_WORD 21\n#define SCE_REBOL_WORD2 22\n#define SCE_REBOL_WORD3 23\n#define SCE_REBOL_WORD4 24\n#define SCE_REBOL_WORD5 25\n#define SCE_REBOL_WORD6 26\n#define SCE_REBOL_WORD7 27\n#define SCE_REBOL_WORD8 28\n#define SCE_SQL_DEFAULT 0\n#define SCE_SQL_COMMENT 1\n#define SCE_SQL_COMMENTLINE 2\n#define SCE_SQL_COMMENTDOC 3\n#define SCE_SQL_NUMBER 4\n#define SCE_SQL_WORD 5\n#define SCE_SQL_STRING 6\n#define SCE_SQL_CHARACTER 7\n#define SCE_SQL_SQLPLUS 8\n#define SCE_SQL_SQLPLUS_PROMPT 9\n#define SCE_SQL_OPERATOR 10\n#define SCE_SQL_IDENTIFIER 11\n#define SCE_SQL_SQLPLUS_COMMENT 13\n#define SCE_SQL_COMMENTLINEDOC 15\n#define SCE_SQL_WORD2 16\n#define SCE_SQL_COMMENTDOCKEYWORD 17\n#define SCE_SQL_COMMENTDOCKEYWORDERROR 18\n#define SCE_SQL_USER1 19\n#define SCE_SQL_USER2 20\n#define SCE_SQL_USER3 21\n#define SCE_SQL_USER4 22\n#define SCE_SQL_QUOTEDIDENTIFIER 23\n#define SCE_SQL_QOPERATOR 24\n#define SCE_ST_DEFAULT 0\n#define SCE_ST_STRING 1\n#define SCE_ST_NUMBER 2\n#define SCE_ST_COMMENT 3\n#define SCE_ST_SYMBOL 4\n#define SCE_ST_BINARY 5\n#define SCE_ST_BOOL 6\n#define SCE_ST_SELF 7\n#define SCE_ST_SUPER 8\n#define SCE_ST_NIL 9\n#define SCE_ST_GLOBAL 10\n#define SCE_ST_RETURN 11\n#define SCE_ST_SPECIAL 12\n#define SCE_ST_KWSEND 13\n#define SCE_ST_ASSIGN 14\n#define SCE_ST_CHARACTER 15\n#define SCE_ST_SPEC_SEL 16\n#define SCE_FS_DEFAULT 0\n#define SCE_FS_COMMENT 1\n#define SCE_FS_COMMENTLINE 2\n#define SCE_FS_COMMENTDOC 3\n#define SCE_FS_COMMENTLINEDOC 4\n#define SCE_FS_COMMENTDOCKEYWORD 5\n#define SCE_FS_COMMENTDOCKEYWORDERROR 6\n#define SCE_FS_KEYWORD 7\n#define SCE_FS_KEYWORD2 8\n#define SCE_FS_KEYWORD3 9\n#define SCE_FS_KEYWORD4 10\n#define SCE_FS_NUMBER 11\n#define SCE_FS_STRING 12\n#define SCE_FS_PREPROCESSOR 13\n#define SCE_FS_OPERATOR 14\n#define SCE_FS_IDENTIFIER 15\n#define SCE_FS_DATE 16\n#define SCE_FS_STRINGEOL 17\n#define SCE_FS_CONSTANT 18\n#define SCE_FS_WORDOPERATOR 19\n#define SCE_FS_DISABLEDCODE 20\n#define SCE_FS_DEFAULT_C 21\n#define SCE_FS_COMMENTDOC_C 22\n#define SCE_FS_COMMENTLINEDOC_C 23\n#define SCE_FS_KEYWORD_C 24\n#define SCE_FS_KEYWORD2_C 25\n#define SCE_FS_NUMBER_C 26\n#define SCE_FS_STRING_C 27\n#define SCE_FS_PREPROCESSOR_C 28\n#define SCE_FS_OPERATOR_C 29\n#define SCE_FS_IDENTIFIER_C 30\n#define SCE_FS_STRINGEOL_C 31\n#define SCE_CSOUND_DEFAULT 0\n#define SCE_CSOUND_COMMENT 1\n#define SCE_CSOUND_NUMBER 2\n#define SCE_CSOUND_OPERATOR 3\n#define SCE_CSOUND_INSTR 4\n#define SCE_CSOUND_IDENTIFIER 5\n#define SCE_CSOUND_OPCODE 6\n#define SCE_CSOUND_HEADERSTMT 7\n#define SCE_CSOUND_USERKEYWORD 8\n#define SCE_CSOUND_COMMENTBLOCK 9\n#define SCE_CSOUND_PARAM 10\n#define SCE_CSOUND_ARATE_VAR 11\n#define SCE_CSOUND_KRATE_VAR 12\n#define SCE_CSOUND_IRATE_VAR 13\n#define SCE_CSOUND_GLOBAL_VAR 14\n#define SCE_CSOUND_STRINGEOL 15\n#define SCE_INNO_DEFAULT 0\n#define SCE_INNO_COMMENT 1\n#define SCE_INNO_KEYWORD 2\n#define SCE_INNO_PARAMETER 3\n#define SCE_INNO_SECTION 4\n#define SCE_INNO_PREPROC 5\n#define SCE_INNO_INLINE_EXPANSION 6\n#define SCE_INNO_COMMENT_PASCAL 7\n#define SCE_INNO_KEYWORD_PASCAL 8\n#define SCE_INNO_KEYWORD_USER 9\n#define SCE_INNO_STRING_DOUBLE 10\n#define SCE_INNO_STRING_SINGLE 11\n#define SCE_INNO_IDENTIFIER 12\n#define SCE_OPAL_SPACE 0\n#define SCE_OPAL_COMMENT_BLOCK 1\n#define SCE_OPAL_COMMENT_LINE 2\n#define SCE_OPAL_INTEGER 3\n#define SCE_OPAL_KEYWORD 4\n#define SCE_OPAL_SORT 5\n#define SCE_OPAL_STRING 6\n#define SCE_OPAL_PAR 7\n#define SCE_OPAL_BOOL_CONST 8\n#define SCE_OPAL_DEFAULT 32\n#define SCE_SPICE_DEFAULT 0\n#define SCE_SPICE_IDENTIFIER 1\n#define SCE_SPICE_KEYWORD 2\n#define SCE_SPICE_KEYWORD2 3\n#define SCE_SPICE_KEYWORD3 4\n#define SCE_SPICE_NUMBER 5\n#define SCE_SPICE_DELIMITER 6\n#define SCE_SPICE_VALUE 7\n#define SCE_SPICE_COMMENTLINE 8\n#define SCE_CMAKE_DEFAULT 0\n#define SCE_CMAKE_COMMENT 1\n#define SCE_CMAKE_STRINGDQ 2\n#define SCE_CMAKE_STRINGLQ 3\n#define SCE_CMAKE_STRINGRQ 4\n#define SCE_CMAKE_COMMANDS 5\n#define SCE_CMAKE_PARAMETERS 6\n#define SCE_CMAKE_VARIABLE 7\n#define SCE_CMAKE_USERDEFINED 8\n#define SCE_CMAKE_WHILEDEF 9\n#define SCE_CMAKE_FOREACHDEF 10\n#define SCE_CMAKE_IFDEFINEDEF 11\n#define SCE_CMAKE_MACRODEF 12\n#define SCE_CMAKE_STRINGVAR 13\n#define SCE_CMAKE_NUMBER 14\n#define SCE_GAP_DEFAULT 0\n#define SCE_GAP_IDENTIFIER 1\n#define SCE_GAP_KEYWORD 2\n#define SCE_GAP_KEYWORD2 3\n#define SCE_GAP_KEYWORD3 4\n#define SCE_GAP_KEYWORD4 5\n#define SCE_GAP_STRING 6\n#define SCE_GAP_CHAR 7\n#define SCE_GAP_OPERATOR 8\n#define SCE_GAP_COMMENT 9\n#define SCE_GAP_NUMBER 10\n#define SCE_GAP_STRINGEOL 11\n#define SCE_PLM_DEFAULT 0\n#define SCE_PLM_COMMENT 1\n#define SCE_PLM_STRING 2\n#define SCE_PLM_NUMBER 3\n#define SCE_PLM_IDENTIFIER 4\n#define SCE_PLM_OPERATOR 5\n#define SCE_PLM_CONTROL 6\n#define SCE_PLM_KEYWORD 7\n#define SCE_ABL_DEFAULT 0\n#define SCE_ABL_NUMBER 1\n#define SCE_ABL_WORD 2\n#define SCE_ABL_STRING 3\n#define SCE_ABL_CHARACTER 4\n#define SCE_ABL_PREPROCESSOR 5\n#define SCE_ABL_OPERATOR 6\n#define SCE_ABL_IDENTIFIER 7\n#define SCE_ABL_BLOCK 8\n#define SCE_ABL_END 9\n#define SCE_ABL_COMMENT 10\n#define SCE_ABL_TASKMARKER 11\n#define SCE_ABL_LINECOMMENT 12\n#define SCE_ABAQUS_DEFAULT 0\n#define SCE_ABAQUS_COMMENT 1\n#define SCE_ABAQUS_COMMENTBLOCK 2\n#define SCE_ABAQUS_NUMBER 3\n#define SCE_ABAQUS_STRING 4\n#define SCE_ABAQUS_OPERATOR 5\n#define SCE_ABAQUS_WORD 6\n#define SCE_ABAQUS_PROCESSOR 7\n#define SCE_ABAQUS_COMMAND 8\n#define SCE_ABAQUS_SLASHCOMMAND 9\n#define SCE_ABAQUS_STARCOMMAND 10\n#define SCE_ABAQUS_ARGUMENT 11\n#define SCE_ABAQUS_FUNCTION 12\n#define SCE_ASY_DEFAULT 0\n#define SCE_ASY_COMMENT 1\n#define SCE_ASY_COMMENTLINE 2\n#define SCE_ASY_NUMBER 3\n#define SCE_ASY_WORD 4\n#define SCE_ASY_STRING 5\n#define SCE_ASY_CHARACTER 6\n#define SCE_ASY_OPERATOR 7\n#define SCE_ASY_IDENTIFIER 8\n#define SCE_ASY_STRINGEOL 9\n#define SCE_ASY_COMMENTLINEDOC 10\n#define SCE_ASY_WORD2 11\n#define SCE_R_DEFAULT 0\n#define SCE_R_COMMENT 1\n#define SCE_R_KWORD 2\n#define SCE_R_BASEKWORD 3\n#define SCE_R_OTHERKWORD 4\n#define SCE_R_NUMBER 5\n#define SCE_R_STRING 6\n#define SCE_R_STRING2 7\n#define SCE_R_OPERATOR 8\n#define SCE_R_IDENTIFIER 9\n#define SCE_R_INFIX 10\n#define SCE_R_INFIXEOL 11\n#define SCE_MAGIK_DEFAULT 0\n#define SCE_MAGIK_COMMENT 1\n#define SCE_MAGIK_HYPER_COMMENT 16\n#define SCE_MAGIK_STRING 2\n#define SCE_MAGIK_CHARACTER 3\n#define SCE_MAGIK_NUMBER 4\n#define SCE_MAGIK_IDENTIFIER 5\n#define SCE_MAGIK_OPERATOR 6\n#define SCE_MAGIK_FLOW 7\n#define SCE_MAGIK_CONTAINER 8\n#define SCE_MAGIK_BRACKET_BLOCK 9\n#define SCE_MAGIK_BRACE_BLOCK 10\n#define SCE_MAGIK_SQBRACKET_BLOCK 11\n#define SCE_MAGIK_UNKNOWN_KEYWORD 12\n#define SCE_MAGIK_KEYWORD 13\n#define SCE_MAGIK_PRAGMA 14\n#define SCE_MAGIK_SYMBOL 15\n#define SCE_POWERSHELL_DEFAULT 0\n#define SCE_POWERSHELL_COMMENT 1\n#define SCE_POWERSHELL_STRING 2\n#define SCE_POWERSHELL_CHARACTER 3\n#define SCE_POWERSHELL_NUMBER 4\n#define SCE_POWERSHELL_VARIABLE 5\n#define SCE_POWERSHELL_OPERATOR 6\n#define SCE_POWERSHELL_IDENTIFIER 7\n#define SCE_POWERSHELL_KEYWORD 8\n#define SCE_POWERSHELL_CMDLET 9\n#define SCE_POWERSHELL_ALIAS 10\n#define SCE_POWERSHELL_FUNCTION 11\n#define SCE_POWERSHELL_USER1 12\n#define SCE_POWERSHELL_COMMENTSTREAM 13\n#define SCE_POWERSHELL_HERE_STRING 14\n#define SCE_POWERSHELL_HERE_CHARACTER 15\n#define SCE_POWERSHELL_COMMENTDOCKEYWORD 16\n#define SCE_MYSQL_DEFAULT 0\n#define SCE_MYSQL_COMMENT 1\n#define SCE_MYSQL_COMMENTLINE 2\n#define SCE_MYSQL_VARIABLE 3\n#define SCE_MYSQL_SYSTEMVARIABLE 4\n#define SCE_MYSQL_KNOWNSYSTEMVARIABLE 5\n#define SCE_MYSQL_NUMBER 6\n#define SCE_MYSQL_MAJORKEYWORD 7\n#define SCE_MYSQL_KEYWORD 8\n#define SCE_MYSQL_DATABASEOBJECT 9\n#define SCE_MYSQL_PROCEDUREKEYWORD 10\n#define SCE_MYSQL_STRING 11\n#define SCE_MYSQL_SQSTRING 12\n#define SCE_MYSQL_DQSTRING 13\n#define SCE_MYSQL_OPERATOR 14\n#define SCE_MYSQL_FUNCTION 15\n#define SCE_MYSQL_IDENTIFIER 16\n#define SCE_MYSQL_QUOTEDIDENTIFIER 17\n#define SCE_MYSQL_USER1 18\n#define SCE_MYSQL_USER2 19\n#define SCE_MYSQL_USER3 20\n#define SCE_MYSQL_HIDDENCOMMAND 21\n#define SCE_MYSQL_PLACEHOLDER 22\n#define SCE_PO_DEFAULT 0\n#define SCE_PO_COMMENT 1\n#define SCE_PO_MSGID 2\n#define SCE_PO_MSGID_TEXT 3\n#define SCE_PO_MSGSTR 4\n#define SCE_PO_MSGSTR_TEXT 5\n#define SCE_PO_MSGCTXT 6\n#define SCE_PO_MSGCTXT_TEXT 7\n#define SCE_PO_FUZZY 8\n#define SCE_PO_PROGRAMMER_COMMENT 9\n#define SCE_PO_REFERENCE 10\n#define SCE_PO_FLAGS 11\n#define SCE_PO_MSGID_TEXT_EOL 12\n#define SCE_PO_MSGSTR_TEXT_EOL 13\n#define SCE_PO_MSGCTXT_TEXT_EOL 14\n#define SCE_PO_ERROR 15\n#define SCE_PAS_DEFAULT 0\n#define SCE_PAS_IDENTIFIER 1\n#define SCE_PAS_COMMENT 2\n#define SCE_PAS_COMMENT2 3\n#define SCE_PAS_COMMENTLINE 4\n#define SCE_PAS_PREPROCESSOR 5\n#define SCE_PAS_PREPROCESSOR2 6\n#define SCE_PAS_NUMBER 7\n#define SCE_PAS_HEXNUMBER 8\n#define SCE_PAS_WORD 9\n#define SCE_PAS_STRING 10\n#define SCE_PAS_STRINGEOL 11\n#define SCE_PAS_CHARACTER 12\n#define SCE_PAS_OPERATOR 13\n#define SCE_PAS_ASM 14\n#define SCE_SORCUS_DEFAULT 0\n#define SCE_SORCUS_COMMAND 1\n#define SCE_SORCUS_PARAMETER 2\n#define SCE_SORCUS_COMMENTLINE 3\n#define SCE_SORCUS_STRING 4\n#define SCE_SORCUS_STRINGEOL 5\n#define SCE_SORCUS_IDENTIFIER 6\n#define SCE_SORCUS_OPERATOR 7\n#define SCE_SORCUS_NUMBER 8\n#define SCE_SORCUS_CONSTANT 9\n#define SCE_POWERPRO_DEFAULT 0\n#define SCE_POWERPRO_COMMENTBLOCK 1\n#define SCE_POWERPRO_COMMENTLINE 2\n#define SCE_POWERPRO_NUMBER 3\n#define SCE_POWERPRO_WORD 4\n#define SCE_POWERPRO_WORD2 5\n#define SCE_POWERPRO_WORD3 6\n#define SCE_POWERPRO_WORD4 7\n#define SCE_POWERPRO_DOUBLEQUOTEDSTRING 8\n#define SCE_POWERPRO_SINGLEQUOTEDSTRING 9\n#define SCE_POWERPRO_LINECONTINUE 10\n#define SCE_POWERPRO_OPERATOR 11\n#define SCE_POWERPRO_IDENTIFIER 12\n#define SCE_POWERPRO_STRINGEOL 13\n#define SCE_POWERPRO_VERBATIM 14\n#define SCE_POWERPRO_ALTQUOTE 15\n#define SCE_POWERPRO_FUNCTION 16\n#define SCE_SML_DEFAULT 0\n#define SCE_SML_IDENTIFIER 1\n#define SCE_SML_TAGNAME 2\n#define SCE_SML_KEYWORD 3\n#define SCE_SML_KEYWORD2 4\n#define SCE_SML_KEYWORD3 5\n#define SCE_SML_LINENUM 6\n#define SCE_SML_OPERATOR 7\n#define SCE_SML_NUMBER 8\n#define SCE_SML_CHAR 9\n#define SCE_SML_STRING 11\n#define SCE_SML_COMMENT 12\n#define SCE_SML_COMMENT1 13\n#define SCE_SML_COMMENT2 14\n#define SCE_SML_COMMENT3 15\n#define SCE_MARKDOWN_DEFAULT 0\n#define SCE_MARKDOWN_LINE_BEGIN 1\n#define SCE_MARKDOWN_STRONG1 2\n#define SCE_MARKDOWN_STRONG2 3\n#define SCE_MARKDOWN_EM1 4\n#define SCE_MARKDOWN_EM2 5\n#define SCE_MARKDOWN_HEADER1 6\n#define SCE_MARKDOWN_HEADER2 7\n#define SCE_MARKDOWN_HEADER3 8\n#define SCE_MARKDOWN_HEADER4 9\n#define SCE_MARKDOWN_HEADER5 10\n#define SCE_MARKDOWN_HEADER6 11\n#define SCE_MARKDOWN_PRECHAR 12\n#define SCE_MARKDOWN_ULIST_ITEM 13\n#define SCE_MARKDOWN_OLIST_ITEM 14\n#define SCE_MARKDOWN_BLOCKQUOTE 15\n#define SCE_MARKDOWN_STRIKEOUT 16\n#define SCE_MARKDOWN_HRULE 17\n#define SCE_MARKDOWN_LINK 18\n#define SCE_MARKDOWN_CODE 19\n#define SCE_MARKDOWN_CODE2 20\n#define SCE_MARKDOWN_CODEBK 21\n#define SCE_TXT2TAGS_DEFAULT 0\n#define SCE_TXT2TAGS_LINE_BEGIN 1\n#define SCE_TXT2TAGS_STRONG1 2\n#define SCE_TXT2TAGS_STRONG2 3\n#define SCE_TXT2TAGS_EM1 4\n#define SCE_TXT2TAGS_EM2 5\n#define SCE_TXT2TAGS_HEADER1 6\n#define SCE_TXT2TAGS_HEADER2 7\n#define SCE_TXT2TAGS_HEADER3 8\n#define SCE_TXT2TAGS_HEADER4 9\n#define SCE_TXT2TAGS_HEADER5 10\n#define SCE_TXT2TAGS_HEADER6 11\n#define SCE_TXT2TAGS_PRECHAR 12\n#define SCE_TXT2TAGS_ULIST_ITEM 13\n#define SCE_TXT2TAGS_OLIST_ITEM 14\n#define SCE_TXT2TAGS_BLOCKQUOTE 15\n#define SCE_TXT2TAGS_STRIKEOUT 16\n#define SCE_TXT2TAGS_HRULE 17\n#define SCE_TXT2TAGS_LINK 18\n#define SCE_TXT2TAGS_CODE 19\n#define SCE_TXT2TAGS_CODE2 20\n#define SCE_TXT2TAGS_CODEBK 21\n#define SCE_TXT2TAGS_COMMENT 22\n#define SCE_TXT2TAGS_OPTION 23\n#define SCE_TXT2TAGS_PREPROC 24\n#define SCE_TXT2TAGS_POSTPROC 25\n#define SCE_A68K_DEFAULT 0\n#define SCE_A68K_COMMENT 1\n#define SCE_A68K_NUMBER_DEC 2\n#define SCE_A68K_NUMBER_BIN 3\n#define SCE_A68K_NUMBER_HEX 4\n#define SCE_A68K_STRING1 5\n#define SCE_A68K_OPERATOR 6\n#define SCE_A68K_CPUINSTRUCTION 7\n#define SCE_A68K_EXTINSTRUCTION 8\n#define SCE_A68K_REGISTER 9\n#define SCE_A68K_DIRECTIVE 10\n#define SCE_A68K_MACRO_ARG 11\n#define SCE_A68K_LABEL 12\n#define SCE_A68K_STRING2 13\n#define SCE_A68K_IDENTIFIER 14\n#define SCE_A68K_MACRO_DECLARATION 15\n#define SCE_A68K_COMMENT_WORD 16\n#define SCE_A68K_COMMENT_SPECIAL 17\n#define SCE_A68K_COMMENT_DOXYGEN 18\n#define SCE_MODULA_DEFAULT 0\n#define SCE_MODULA_COMMENT 1\n#define SCE_MODULA_DOXYCOMM 2\n#define SCE_MODULA_DOXYKEY 3\n#define SCE_MODULA_KEYWORD 4\n#define SCE_MODULA_RESERVED 5\n#define SCE_MODULA_NUMBER 6\n#define SCE_MODULA_BASENUM 7\n#define SCE_MODULA_FLOAT 8\n#define SCE_MODULA_STRING 9\n#define SCE_MODULA_STRSPEC 10\n#define SCE_MODULA_CHAR 11\n#define SCE_MODULA_CHARSPEC 12\n#define SCE_MODULA_PROC 13\n#define SCE_MODULA_PRAGMA 14\n#define SCE_MODULA_PRGKEY 15\n#define SCE_MODULA_OPERATOR 16\n#define SCE_MODULA_BADSTR 17\n#define SCE_COFFEESCRIPT_DEFAULT 0\n#define SCE_COFFEESCRIPT_COMMENT 1\n#define SCE_COFFEESCRIPT_COMMENTLINE 2\n#define SCE_COFFEESCRIPT_COMMENTDOC 3\n#define SCE_COFFEESCRIPT_NUMBER 4\n#define SCE_COFFEESCRIPT_WORD 5\n#define SCE_COFFEESCRIPT_STRING 6\n#define SCE_COFFEESCRIPT_CHARACTER 7\n#define SCE_COFFEESCRIPT_UUID 8\n#define SCE_COFFEESCRIPT_PREPROCESSOR 9\n#define SCE_COFFEESCRIPT_OPERATOR 10\n#define SCE_COFFEESCRIPT_IDENTIFIER 11\n#define SCE_COFFEESCRIPT_STRINGEOL 12\n#define SCE_COFFEESCRIPT_VERBATIM 13\n#define SCE_COFFEESCRIPT_REGEX 14\n#define SCE_COFFEESCRIPT_COMMENTLINEDOC 15\n#define SCE_COFFEESCRIPT_WORD2 16\n#define SCE_COFFEESCRIPT_COMMENTDOCKEYWORD 17\n#define SCE_COFFEESCRIPT_COMMENTDOCKEYWORDERROR 18\n#define SCE_COFFEESCRIPT_GLOBALCLASS 19\n#define SCE_COFFEESCRIPT_STRINGRAW 20\n#define SCE_COFFEESCRIPT_TRIPLEVERBATIM 21\n#define SCE_COFFEESCRIPT_COMMENTBLOCK 22\n#define SCE_COFFEESCRIPT_VERBOSE_REGEX 23\n#define SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT 24\n#define SCE_COFFEESCRIPT_INSTANCEPROPERTY 25\n#define SCE_AVS_DEFAULT 0\n#define SCE_AVS_COMMENTBLOCK 1\n#define SCE_AVS_COMMENTBLOCKN 2\n#define SCE_AVS_COMMENTLINE 3\n#define SCE_AVS_NUMBER 4\n#define SCE_AVS_OPERATOR 5\n#define SCE_AVS_IDENTIFIER 6\n#define SCE_AVS_STRING 7\n#define SCE_AVS_TRIPLESTRING 8\n#define SCE_AVS_KEYWORD 9\n#define SCE_AVS_FILTER 10\n#define SCE_AVS_PLUGIN 11\n#define SCE_AVS_FUNCTION 12\n#define SCE_AVS_CLIPPROP 13\n#define SCE_AVS_USERDFN 14\n#define SCE_ECL_DEFAULT 0\n#define SCE_ECL_COMMENT 1\n#define SCE_ECL_COMMENTLINE 2\n#define SCE_ECL_NUMBER 3\n#define SCE_ECL_STRING 4\n#define SCE_ECL_WORD0 5\n#define SCE_ECL_OPERATOR 6\n#define SCE_ECL_CHARACTER 7\n#define SCE_ECL_UUID 8\n#define SCE_ECL_PREPROCESSOR 9\n#define SCE_ECL_UNKNOWN 10\n#define SCE_ECL_IDENTIFIER 11\n#define SCE_ECL_STRINGEOL 12\n#define SCE_ECL_VERBATIM 13\n#define SCE_ECL_REGEX 14\n#define SCE_ECL_COMMENTLINEDOC 15\n#define SCE_ECL_WORD1 16\n#define SCE_ECL_COMMENTDOCKEYWORD 17\n#define SCE_ECL_COMMENTDOCKEYWORDERROR 18\n#define SCE_ECL_WORD2 19\n#define SCE_ECL_WORD3 20\n#define SCE_ECL_WORD4 21\n#define SCE_ECL_WORD5 22\n#define SCE_ECL_COMMENTDOC 23\n#define SCE_ECL_ADDED 24\n#define SCE_ECL_DELETED 25\n#define SCE_ECL_CHANGED 26\n#define SCE_ECL_MOVED 27\n#define SCE_OSCRIPT_DEFAULT 0\n#define SCE_OSCRIPT_LINE_COMMENT 1\n#define SCE_OSCRIPT_BLOCK_COMMENT 2\n#define SCE_OSCRIPT_DOC_COMMENT 3\n#define SCE_OSCRIPT_PREPROCESSOR 4\n#define SCE_OSCRIPT_NUMBER 5\n#define SCE_OSCRIPT_SINGLEQUOTE_STRING 6\n#define SCE_OSCRIPT_DOUBLEQUOTE_STRING 7\n#define SCE_OSCRIPT_CONSTANT 8\n#define SCE_OSCRIPT_IDENTIFIER 9\n#define SCE_OSCRIPT_GLOBAL 10\n#define SCE_OSCRIPT_KEYWORD 11\n#define SCE_OSCRIPT_OPERATOR 12\n#define SCE_OSCRIPT_LABEL 13\n#define SCE_OSCRIPT_TYPE 14\n#define SCE_OSCRIPT_FUNCTION 15\n#define SCE_OSCRIPT_OBJECT 16\n#define SCE_OSCRIPT_PROPERTY 17\n#define SCE_OSCRIPT_METHOD 18\n#define SCE_VISUALPROLOG_DEFAULT 0\n#define SCE_VISUALPROLOG_KEY_MAJOR 1\n#define SCE_VISUALPROLOG_KEY_MINOR 2\n#define SCE_VISUALPROLOG_KEY_DIRECTIVE 3\n#define SCE_VISUALPROLOG_COMMENT_BLOCK 4\n#define SCE_VISUALPROLOG_COMMENT_LINE 5\n#define SCE_VISUALPROLOG_COMMENT_KEY 6\n#define SCE_VISUALPROLOG_COMMENT_KEY_ERROR 7\n#define SCE_VISUALPROLOG_IDENTIFIER 8\n#define SCE_VISUALPROLOG_VARIABLE 9\n#define SCE_VISUALPROLOG_ANONYMOUS 10\n#define SCE_VISUALPROLOG_NUMBER 11\n#define SCE_VISUALPROLOG_OPERATOR 12\n#define SCE_VISUALPROLOG_CHARACTER 13\n#define SCE_VISUALPROLOG_CHARACTER_TOO_MANY 14\n#define SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR 15\n#define SCE_VISUALPROLOG_STRING 16\n#define SCE_VISUALPROLOG_STRING_ESCAPE 17\n#define SCE_VISUALPROLOG_STRING_ESCAPE_ERROR 18\n#define SCE_VISUALPROLOG_STRING_EOL_OPEN 19\n#define SCE_VISUALPROLOG_STRING_VERBATIM 20\n#define SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL 21\n#define SCE_VISUALPROLOG_STRING_VERBATIM_EOL 22\n#define SCE_STTXT_DEFAULT 0\n#define SCE_STTXT_COMMENT 1\n#define SCE_STTXT_COMMENTLINE 2\n#define SCE_STTXT_KEYWORD 3\n#define SCE_STTXT_TYPE 4\n#define SCE_STTXT_FUNCTION 5\n#define SCE_STTXT_FB 6\n#define SCE_STTXT_NUMBER 7\n#define SCE_STTXT_HEXNUMBER 8\n#define SCE_STTXT_PRAGMA 9\n#define SCE_STTXT_OPERATOR 10\n#define SCE_STTXT_CHARACTER 11\n#define SCE_STTXT_STRING1 12\n#define SCE_STTXT_STRING2 13\n#define SCE_STTXT_STRINGEOL 14\n#define SCE_STTXT_IDENTIFIER 15\n#define SCE_STTXT_DATETIME 16\n#define SCE_STTXT_VARS 17\n#define SCE_STTXT_PRAGMAS 18\n#define SCE_KVIRC_DEFAULT 0\n#define SCE_KVIRC_COMMENT 1\n#define SCE_KVIRC_COMMENTBLOCK 2\n#define SCE_KVIRC_STRING 3\n#define SCE_KVIRC_WORD 4\n#define SCE_KVIRC_KEYWORD 5\n#define SCE_KVIRC_FUNCTION_KEYWORD 6\n#define SCE_KVIRC_FUNCTION 7\n#define SCE_KVIRC_VARIABLE 8\n#define SCE_KVIRC_NUMBER 9\n#define SCE_KVIRC_OPERATOR 10\n#define SCE_KVIRC_STRING_FUNCTION 11\n#define SCE_KVIRC_STRING_VARIABLE 12\n#define SCE_RUST_DEFAULT 0\n#define SCE_RUST_COMMENTBLOCK 1\n#define SCE_RUST_COMMENTLINE 2\n#define SCE_RUST_COMMENTBLOCKDOC 3\n#define SCE_RUST_COMMENTLINEDOC 4\n#define SCE_RUST_NUMBER 5\n#define SCE_RUST_WORD 6\n#define SCE_RUST_WORD2 7\n#define SCE_RUST_WORD3 8\n#define SCE_RUST_WORD4 9\n#define SCE_RUST_WORD5 10\n#define SCE_RUST_WORD6 11\n#define SCE_RUST_WORD7 12\n#define SCE_RUST_STRING 13\n#define SCE_RUST_STRINGR 14\n#define SCE_RUST_CHARACTER 15\n#define SCE_RUST_OPERATOR 16\n#define SCE_RUST_IDENTIFIER 17\n#define SCE_RUST_LIFETIME 18\n#define SCE_RUST_MACRO 19\n#define SCE_RUST_LEXERROR 20\n#define SCE_RUST_BYTESTRING 21\n#define SCE_RUST_BYTESTRINGR 22\n#define SCE_RUST_BYTECHARACTER 23\n#define SCE_DMAP_DEFAULT 0\n#define SCE_DMAP_COMMENT 1\n#define SCE_DMAP_NUMBER 2\n#define SCE_DMAP_STRING1 3\n#define SCE_DMAP_STRING2 4\n#define SCE_DMAP_STRINGEOL 5\n#define SCE_DMAP_OPERATOR 6\n#define SCE_DMAP_IDENTIFIER 7\n#define SCE_DMAP_WORD 8\n#define SCE_DMAP_WORD2 9\n#define SCE_DMAP_WORD3 10\n#define SCE_DMIS_DEFAULT 0\n#define SCE_DMIS_COMMENT 1\n#define SCE_DMIS_STRING 2\n#define SCE_DMIS_NUMBER 3\n#define SCE_DMIS_KEYWORD 4\n#define SCE_DMIS_MAJORWORD 5\n#define SCE_DMIS_MINORWORD 6\n#define SCE_DMIS_UNSUPPORTED_MAJOR 7\n#define SCE_DMIS_UNSUPPORTED_MINOR 8\n#define SCE_DMIS_LABEL 9\n#define SCE_REG_DEFAULT 0\n#define SCE_REG_COMMENT 1\n#define SCE_REG_VALUENAME 2\n#define SCE_REG_STRING 3\n#define SCE_REG_HEXDIGIT 4\n#define SCE_REG_VALUETYPE 5\n#define SCE_REG_ADDEDKEY 6\n#define SCE_REG_DELETEDKEY 7\n#define SCE_REG_ESCAPED 8\n#define SCE_REG_KEYPATH_GUID 9\n#define SCE_REG_STRING_GUID 10\n#define SCE_REG_PARAMETER 11\n#define SCE_REG_OPERATOR 12\n#define SCE_BIBTEX_DEFAULT 0\n#define SCE_BIBTEX_ENTRY 1\n#define SCE_BIBTEX_UNKNOWN_ENTRY 2\n#define SCE_BIBTEX_KEY 3\n#define SCE_BIBTEX_PARAMETER 4\n#define SCE_BIBTEX_VALUE 5\n#define SCE_BIBTEX_COMMENT 6\n#define SCE_HEX_DEFAULT 0\n#define SCE_HEX_RECSTART 1\n#define SCE_HEX_RECTYPE 2\n#define SCE_HEX_RECTYPE_UNKNOWN 3\n#define SCE_HEX_BYTECOUNT 4\n#define SCE_HEX_BYTECOUNT_WRONG 5\n#define SCE_HEX_NOADDRESS 6\n#define SCE_HEX_DATAADDRESS 7\n#define SCE_HEX_RECCOUNT 8\n#define SCE_HEX_STARTADDRESS 9\n#define SCE_HEX_ADDRESSFIELD_UNKNOWN 10\n#define SCE_HEX_EXTENDEDADDRESS 11\n#define SCE_HEX_DATA_ODD 12\n#define SCE_HEX_DATA_EVEN 13\n#define SCE_HEX_DATA_UNKNOWN 14\n#define SCE_HEX_DATA_EMPTY 15\n#define SCE_HEX_CHECKSUM 16\n#define SCE_HEX_CHECKSUM_WRONG 17\n#define SCE_HEX_GARBAGE 18\n#define SCE_JSON_DEFAULT 0\n#define SCE_JSON_NUMBER 1\n#define SCE_JSON_STRING 2\n#define SCE_JSON_STRINGEOL 3\n#define SCE_JSON_PROPERTYNAME 4\n#define SCE_JSON_ESCAPESEQUENCE 5\n#define SCE_JSON_LINECOMMENT 6\n#define SCE_JSON_BLOCKCOMMENT 7\n#define SCE_JSON_OPERATOR 8\n#define SCE_JSON_URI 9\n#define SCE_JSON_COMPACTIRI 10\n#define SCE_JSON_KEYWORD 11\n#define SCE_JSON_LDKEYWORD 12\n#define SCE_JSON_ERROR 13\n#define SCE_EDI_DEFAULT 0\n#define SCE_EDI_SEGMENTSTART 1\n#define SCE_EDI_SEGMENTEND 2\n#define SCE_EDI_SEP_ELEMENT 3\n#define SCE_EDI_SEP_COMPOSITE 4\n#define SCE_EDI_SEP_RELEASE 5\n#define SCE_EDI_UNA 6\n#define SCE_EDI_UNH 7\n#define SCE_EDI_BADSEGMENT 8\n#define SCE_STATA_DEFAULT 0\n#define SCE_STATA_COMMENT 1\n#define SCE_STATA_COMMENTLINE 2\n#define SCE_STATA_COMMENTBLOCK 3\n#define SCE_STATA_NUMBER 4\n#define SCE_STATA_OPERATOR 5\n#define SCE_STATA_IDENTIFIER 6\n#define SCE_STATA_STRING 7\n#define SCE_STATA_TYPE 8\n#define SCE_STATA_WORD 9\n#define SCE_STATA_GLOBAL_MACRO 10\n#define SCE_STATA_MACRO 11\n#define SCE_SAS_DEFAULT 0\n#define SCE_SAS_COMMENT 1\n#define SCE_SAS_COMMENTLINE 2\n#define SCE_SAS_COMMENTBLOCK 3\n#define SCE_SAS_NUMBER 4\n#define SCE_SAS_OPERATOR 5\n#define SCE_SAS_IDENTIFIER 6\n#define SCE_SAS_STRING 7\n#define SCE_SAS_TYPE 8\n#define SCE_SAS_WORD 9\n#define SCE_SAS_GLOBAL_MACRO 10\n#define SCE_SAS_MACRO 11\n#define SCE_SAS_MACRO_KEYWORD 12\n#define SCE_SAS_BLOCK_KEYWORD 13\n#define SCE_SAS_MACRO_FUNCTION 14\n#define SCE_SAS_STATEMENT 15\n#define SCE_NIM_DEFAULT 0\n#define SCE_NIM_COMMENT 1\n#define SCE_NIM_COMMENTDOC 2\n#define SCE_NIM_COMMENTLINE 3\n#define SCE_NIM_COMMENTLINEDOC 4\n#define SCE_NIM_NUMBER 5\n#define SCE_NIM_STRING 6\n#define SCE_NIM_CHARACTER 7\n#define SCE_NIM_WORD 8\n#define SCE_NIM_TRIPLE 9\n#define SCE_NIM_TRIPLEDOUBLE 10\n#define SCE_NIM_BACKTICKS 11\n#define SCE_NIM_FUNCNAME 12\n#define SCE_NIM_STRINGEOL 13\n#define SCE_NIM_NUMERROR 14\n#define SCE_NIM_OPERATOR 15\n#define SCE_NIM_IDENTIFIER 16\n#define SCE_CIL_DEFAULT 0\n#define SCE_CIL_COMMENT 1\n#define SCE_CIL_COMMENTLINE 2\n#define SCE_CIL_WORD 3\n#define SCE_CIL_WORD2 4\n#define SCE_CIL_WORD3 5\n#define SCE_CIL_STRING 6\n#define SCE_CIL_LABEL 7\n#define SCE_CIL_OPERATOR 8\n#define SCE_CIL_IDENTIFIER 9\n#define SCE_CIL_STRINGEOL 10\n#define SCE_X12_DEFAULT 0\n#define SCE_X12_BAD 1\n#define SCE_X12_ENVELOPE 2\n#define SCE_X12_FUNCTIONGROUP 3\n#define SCE_X12_TRANSACTIONSET 4\n#define SCE_X12_SEGMENTHEADER 5\n#define SCE_X12_SEGMENTEND 6\n#define SCE_X12_SEP_ELEMENT 7\n#define SCE_X12_SEP_SUBELEMENT 8\n#define SCE_DF_DEFAULT 0\n#define SCE_DF_IDENTIFIER 1\n#define SCE_DF_METATAG 2\n#define SCE_DF_IMAGE 3\n#define SCE_DF_COMMENTLINE 4\n#define SCE_DF_PREPROCESSOR 5\n#define SCE_DF_PREPROCESSOR2 6\n#define SCE_DF_NUMBER 7\n#define SCE_DF_HEXNUMBER 8\n#define SCE_DF_WORD 9\n#define SCE_DF_STRING 10\n#define SCE_DF_STRINGEOL 11\n#define SCE_DF_SCOPEWORD 12\n#define SCE_DF_OPERATOR 13\n#define SCE_DF_ICODE 14\n#define SCE_HOLLYWOOD_DEFAULT 0\n#define SCE_HOLLYWOOD_COMMENT 1\n#define SCE_HOLLYWOOD_COMMENTBLOCK 2\n#define SCE_HOLLYWOOD_NUMBER 3\n#define SCE_HOLLYWOOD_KEYWORD 4\n#define SCE_HOLLYWOOD_STDAPI 5\n#define SCE_HOLLYWOOD_PLUGINAPI 6\n#define SCE_HOLLYWOOD_PLUGINMETHOD 7\n#define SCE_HOLLYWOOD_STRING 8\n#define SCE_HOLLYWOOD_STRINGBLOCK 9\n#define SCE_HOLLYWOOD_PREPROCESSOR 10\n#define SCE_HOLLYWOOD_OPERATOR 11\n#define SCE_HOLLYWOOD_IDENTIFIER 12\n#define SCE_HOLLYWOOD_CONSTANT 13\n#define SCE_HOLLYWOOD_HEXNUMBER 14\n#define SCE_RAKU_DEFAULT 0\n#define SCE_RAKU_ERROR 1\n#define SCE_RAKU_COMMENTLINE 2\n#define SCE_RAKU_COMMENTEMBED 3\n#define SCE_RAKU_POD 4\n#define SCE_RAKU_CHARACTER 5\n#define SCE_RAKU_HEREDOC_Q 6\n#define SCE_RAKU_HEREDOC_QQ 7\n#define SCE_RAKU_STRING 8\n#define SCE_RAKU_STRING_Q 9\n#define SCE_RAKU_STRING_QQ 10\n#define SCE_RAKU_STRING_Q_LANG 11\n#define SCE_RAKU_STRING_VAR 12\n#define SCE_RAKU_REGEX 13\n#define SCE_RAKU_REGEX_VAR 14\n#define SCE_RAKU_ADVERB 15\n#define SCE_RAKU_NUMBER 16\n#define SCE_RAKU_PREPROCESSOR 17\n#define SCE_RAKU_OPERATOR 18\n#define SCE_RAKU_WORD 19\n#define SCE_RAKU_FUNCTION 20\n#define SCE_RAKU_IDENTIFIER 21\n#define SCE_RAKU_TYPEDEF 22\n#define SCE_RAKU_MU 23\n#define SCE_RAKU_POSITIONAL 24\n#define SCE_RAKU_ASSOCIATIVE 25\n#define SCE_RAKU_CALLABLE 26\n#define SCE_RAKU_GRAMMAR 27\n#define SCE_RAKU_CLASS 28\n/* --Autogenerated -- end of section automatically generated from Scintilla.iface */\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/include/Sci_Position.h",
    "content": "// Scintilla source code edit control\n/** @file Sci_Position.h\n ** Define the Sci_Position type used in Scintilla's external interfaces.\n ** These need to be available to clients written in C so are not in a C++ namespace.\n **/\n// Copyright 2015 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SCI_POSITION_H\n#define SCI_POSITION_H\n\n#include <stddef.h>\n\n// Basic signed type used throughout interface\ntypedef ptrdiff_t Sci_Position;\n\n// Unsigned variant used for ILexer::Lex and ILexer::Fold\ntypedef size_t Sci_PositionU;\n\n// For Sci_CharacterRange  which is defined as long to be compatible with Win32 CHARRANGE\ntypedef long Sci_PositionCR;\n\n#ifdef _WIN32\n\t#define SCI_METHOD __stdcall\n#else\n\t#define SCI_METHOD\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/include/Scintilla.h",
    "content": "/* Scintilla source code edit control */\n/** @file Scintilla.h\n ** Interface to the edit control.\n **/\n/* Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n * The License.txt file describes the conditions under which this software may be distributed. */\n\n/* Most of this file is automatically generated from the Scintilla.iface interface definition\n * file which contains any comments about the definitions. HFacer.py does the generation. */\n\n#ifndef SCINTILLA_H\n#define SCINTILLA_H\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#if defined(_WIN32)\n/* Return false on failure: */\nint Scintilla_RegisterClasses(void *hInstance);\nint Scintilla_ReleaseResources(void);\n#endif\nint Scintilla_LinkLexers(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n// Include header that defines basic numeric types.\n#include <stdint.h>\n\n// Define uptr_t, an unsigned integer type large enough to hold a pointer.\ntypedef uintptr_t uptr_t;\n// Define sptr_t, a signed integer large enough to hold a pointer.\ntypedef intptr_t sptr_t;\n\n#include \"Sci_Position.h\"\n\ntypedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\n/* ++Autogenerated -- start of section automatically generated from Scintilla.iface */\n#define INVALID_POSITION -1\n#define SCI_START 2000\n#define SCI_OPTIONAL_START 3000\n#define SCI_LEXER_START 4000\n#define SCI_ADDTEXT 2001\n#define SCI_ADDSTYLEDTEXT 2002\n#define SCI_INSERTTEXT 2003\n#define SCI_CHANGEINSERTION 2672\n#define SCI_CLEARALL 2004\n#define SCI_DELETERANGE 2645\n#define SCI_CLEARDOCUMENTSTYLE 2005\n#define SCI_GETLENGTH 2006\n#define SCI_GETCHARAT 2007\n#define SCI_GETCURRENTPOS 2008\n#define SCI_GETANCHOR 2009\n#define SCI_GETSTYLEAT 2010\n#define SCI_REDO 2011\n#define SCI_SETUNDOCOLLECTION 2012\n#define SCI_SELECTALL 2013\n#define SCI_SETSAVEPOINT 2014\n#define SCI_GETSTYLEDTEXT 2015\n#define SCI_CANREDO 2016\n#define SCI_MARKERLINEFROMHANDLE 2017\n#define SCI_MARKERDELETEHANDLE 2018\n#define SCI_GETUNDOCOLLECTION 2019\n#define SCWS_INVISIBLE 0\n#define SCWS_VISIBLEALWAYS 1\n#define SCWS_VISIBLEAFTERINDENT 2\n#define SCWS_VISIBLEONLYININDENT 3\n#define SCI_GETVIEWWS 2020\n#define SCI_SETVIEWWS 2021\n#define SCTD_LONGARROW 0\n#define SCTD_STRIKEOUT 1\n#define SCI_GETTABDRAWMODE 2698\n#define SCI_SETTABDRAWMODE 2699\n#define SCI_POSITIONFROMPOINT 2022\n#define SCI_POSITIONFROMPOINTCLOSE 2023\n#define SCI_GOTOLINE 2024\n#define SCI_GOTOPOS 2025\n#define SCI_SETANCHOR 2026\n#define SCI_GETCURLINE 2027\n#define SCI_GETENDSTYLED 2028\n#define SC_EOL_CRLF 0\n#define SC_EOL_CR 1\n#define SC_EOL_LF 2\n#define SCI_CONVERTEOLS 2029\n#define SCI_GETEOLMODE 2030\n#define SCI_SETEOLMODE 2031\n#define SCI_STARTSTYLING 2032\n#define SCI_SETSTYLING 2033\n#define SCI_GETBUFFEREDDRAW 2034\n#define SCI_SETBUFFEREDDRAW 2035\n#define SCI_SETTABWIDTH 2036\n#define SCI_GETTABWIDTH 2121\n#define SCI_CLEARTABSTOPS 2675\n#define SCI_ADDTABSTOP 2676\n#define SCI_GETNEXTTABSTOP 2677\n#define SC_CP_UTF8 65001\n#define SCI_SETCODEPAGE 2037\n#define SC_IME_WINDOWED 0\n#define SC_IME_INLINE 1\n#define SCI_GETIMEINTERACTION 2678\n#define SCI_SETIMEINTERACTION 2679\n#define MARKER_MAX 31\n#define SC_MARK_CIRCLE 0\n#define SC_MARK_ROUNDRECT 1\n#define SC_MARK_ARROW 2\n#define SC_MARK_SMALLRECT 3\n#define SC_MARK_SHORTARROW 4\n#define SC_MARK_EMPTY 5\n#define SC_MARK_ARROWDOWN 6\n#define SC_MARK_MINUS 7\n#define SC_MARK_PLUS 8\n#define SC_MARK_VLINE 9\n#define SC_MARK_LCORNER 10\n#define SC_MARK_TCORNER 11\n#define SC_MARK_BOXPLUS 12\n#define SC_MARK_BOXPLUSCONNECTED 13\n#define SC_MARK_BOXMINUS 14\n#define SC_MARK_BOXMINUSCONNECTED 15\n#define SC_MARK_LCORNERCURVE 16\n#define SC_MARK_TCORNERCURVE 17\n#define SC_MARK_CIRCLEPLUS 18\n#define SC_MARK_CIRCLEPLUSCONNECTED 19\n#define SC_MARK_CIRCLEMINUS 20\n#define SC_MARK_CIRCLEMINUSCONNECTED 21\n#define SC_MARK_BACKGROUND 22\n#define SC_MARK_DOTDOTDOT 23\n#define SC_MARK_ARROWS 24\n#define SC_MARK_PIXMAP 25\n#define SC_MARK_FULLRECT 26\n#define SC_MARK_LEFTRECT 27\n#define SC_MARK_AVAILABLE 28\n#define SC_MARK_UNDERLINE 29\n#define SC_MARK_RGBAIMAGE 30\n#define SC_MARK_BOOKMARK 31\n#define SC_MARK_CHARACTER 10000\n#define SC_MARKNUM_FOLDEREND 25\n#define SC_MARKNUM_FOLDEROPENMID 26\n#define SC_MARKNUM_FOLDERMIDTAIL 27\n#define SC_MARKNUM_FOLDERTAIL 28\n#define SC_MARKNUM_FOLDERSUB 29\n#define SC_MARKNUM_FOLDER 30\n#define SC_MARKNUM_FOLDEROPEN 31\n#define SC_MASK_FOLDERS 0xFE000000\n#define SCI_MARKERDEFINE 2040\n#define SCI_MARKERSETFORE 2041\n#define SCI_MARKERSETBACK 2042\n#define SCI_MARKERSETBACKSELECTED 2292\n#define SCI_MARKERENABLEHIGHLIGHT 2293\n#define SCI_MARKERADD 2043\n#define SCI_MARKERDELETE 2044\n#define SCI_LINE_MARKERDELETE_ALL 6000\n#define SCI_MARKERDELETEALL 2045\n#define SCI_MARKERGET 2046\n#define SCI_MARKERNEXT 2047\n#define SCI_MARKERPREVIOUS 2048\n#define SCI_MARKERDEFINEPIXMAP 2049\n#define SCI_MARKERDEFINEPIXMAP_USER 2999\n#define SCI_MARKERADDSET 2466\n#define SCI_MARKERSETALPHA 2476\n#define SC_MAX_MARGIN 4\n#define SC_MARGIN_SYMBOL 0\n#define SC_MARGIN_NUMBER 1\n#define SC_MARGIN_BACK 2\n#define SC_MARGIN_FORE 3\n#define SC_MARGIN_TEXT 4\n#define SC_MARGIN_RTEXT 5\n#define SC_MARGIN_COLOUR 6\n#define SCI_SETMARGINTYPEN 2240\n#define SCI_GETMARGINTYPEN 2241\n#define SCI_SETMARGINWIDTHN 2242\n#define SCI_GETMARGINWIDTHN 2243\n#define SCI_SETMARGINMASKN 2244\n#define SCI_GETMARGINMASKN 2245\n#define SCI_SETMARGINSENSITIVEN 2246\n#define SCI_GETMARGINSENSITIVEN 2247\n#define SCI_SETMARGINCURSORN 2248\n#define SCI_GETMARGINCURSORN 2249\n#define SCI_SETMARGINBACKN 2250\n#define SCI_GETMARGINBACKN 2251\n#define SCI_SETMARGINS 2252\n#define SCI_GETMARGINS 2253\n#define STYLE_DEFAULT 32\n#define STYLE_LINENUMBER 33\n#define STYLE_BRACELIGHT 34\n#define STYLE_BRACEBAD 35\n#define STYLE_CONTROLCHAR 36\n#define STYLE_INDENTGUIDE 37\n#define STYLE_CALLTIP 38\n#define STYLE_FOLDDISPLAYTEXT 39\n#define STYLE_LASTPREDEFINED 39\n#define STYLE_MAX 255\n#define SC_CHARSET_ANSI 0\n#define SC_CHARSET_DEFAULT 1\n#define SC_CHARSET_BALTIC 186\n#define SC_CHARSET_CHINESEBIG5 136\n#define SC_CHARSET_EASTEUROPE 238\n#define SC_CHARSET_GB2312 134\n#define SC_CHARSET_GREEK 161\n#define SC_CHARSET_HANGUL 129\n#define SC_CHARSET_MAC 77\n#define SC_CHARSET_OEM 255\n#define SC_CHARSET_RUSSIAN 204\n#define SC_CHARSET_OEM866 866\n#define SC_CHARSET_CYRILLIC 1251\n#define SC_CHARSET_SHIFTJIS 128\n#define SC_CHARSET_SYMBOL 2\n#define SC_CHARSET_TURKISH 162\n#define SC_CHARSET_JOHAB 130\n#define SC_CHARSET_HEBREW 177\n#define SC_CHARSET_ARABIC 178\n#define SC_CHARSET_VIETNAMESE 163\n#define SC_CHARSET_THAI 222\n#define SC_CHARSET_8859_15 1000\n#define SCI_STYLECLEARALL 2050\n#define SCI_STYLESETFORE 2051\n#define SCI_STYLESETBACK 2052\n#define SCI_STYLESETBOLD 2053\n#define SCI_STYLESETITALIC 2054\n#define SCI_STYLESETSIZE 2055\n#define SCI_STYLESETFONT 2056\n#define SCI_STYLESETEOLFILLED 2057\n#define SCI_STYLERESETDEFAULT 2058\n#define SCI_STYLESETUNDERLINE 2059\n#define SC_CASE_MIXED 0\n#define SC_CASE_UPPER 1\n#define SC_CASE_LOWER 2\n#define SC_CASE_CAMEL 3\n#define SCI_STYLEGETFORE 2481\n#define SCI_STYLEGETBACK 2482\n#define SCI_STYLEGETBOLD 2483\n#define SCI_STYLEGETITALIC 2484\n#define SCI_STYLEGETSIZE 2485\n#define SCI_STYLEGETFONT 2486\n#define SCI_STYLEGETEOLFILLED 2487\n#define SCI_STYLEGETUNDERLINE 2488\n#define SCI_STYLEGETCASE 2489\n#define SCI_STYLEGETCHARACTERSET 2490\n#define SCI_STYLEGETVISIBLE 2491\n#define SCI_STYLEGETCHANGEABLE 2492\n#define SCI_STYLEGETHOTSPOT 2493\n#define SCI_STYLESETCASE 2060\n#define SC_FONT_SIZE_MULTIPLIER 100\n#define SCI_STYLESETSIZEFRACTIONAL 2061\n#define SCI_STYLEGETSIZEFRACTIONAL 2062\n#define SC_WEIGHT_NORMAL 400\n#define SC_WEIGHT_SEMIBOLD 600\n#define SC_WEIGHT_BOLD 700\n#define SCI_STYLESETWEIGHT 2063\n#define SCI_STYLEGETWEIGHT 2064\n#define SCI_STYLESETCHARACTERSET 2066\n#define SCI_STYLESETHOTSPOT 2409\n#define SCI_SETSELFORE 2067\n#define SCI_SETSELBACK 2068\n#define SCI_GETSELALPHA 2477\n#define SCI_SETSELALPHA 2478\n#define SCI_GETSELEOLFILLED 2479\n#define SCI_SETSELEOLFILLED 2480\n#define SCI_SETCARETFORE 2069\n#define SCI_ASSIGNCMDKEY 2070\n#define SCI_CLEARCMDKEY 2071\n#define SCI_CLEARALLCMDKEYS 2072\n#define SCI_SETSTYLINGEX 2073\n#define SCI_STYLESETVISIBLE 2074\n#define SCI_GETCARETPERIOD 2075\n#define SCI_SETCARETPERIOD 2076\n#define SCI_SETWORDCHARS 2077\n#define SCI_GETWORDCHARS 2646\n#define SCI_BEGINUNDOACTION 2078\n#define SCI_ENDUNDOACTION 2079\n#define INDIC_PLAIN 0\n#define INDIC_SQUIGGLE 1\n#define INDIC_TT 2\n#define INDIC_DIAGONAL 3\n#define INDIC_STRIKE 4\n#define INDIC_HIDDEN 5\n#define INDIC_BOX 6\n#define INDIC_ROUNDBOX 7\n#define INDIC_STRAIGHTBOX 8\n#define INDIC_DASH 9\n#define INDIC_DOTS 10\n#define INDIC_SQUIGGLELOW 11\n#define INDIC_DOTBOX 12\n#define INDIC_SQUIGGLEPIXMAP 13\n#define INDIC_COMPOSITIONTHICK 14\n#define INDIC_COMPOSITIONTHIN 15\n#define INDIC_FULLBOX 16\n#define INDIC_TEXTFORE 17\n#define INDIC_POINT 18\n#define INDIC_POINTCHARACTER 19\n#define INDIC_GRADIENT 20\n#define INDIC_GRADIENTCENTRE 21\n#define INDIC_IME 32\n#define INDIC_IME_MAX 35\n#define INDIC_MAX 35\n#define INDIC_CONTAINER 8\n#define INDIC0_MASK 0x20\n#define INDIC1_MASK 0x40\n#define INDIC2_MASK 0x80\n#define INDICS_MASK 0xE0\n#define SCI_INDICSETSTYLE 2080\n#define SCI_INDICGETSTYLE 2081\n#define SCI_INDICSETFORE 2082\n#define SCI_INDICGETFORE 2083\n#define SCI_INDICSETUNDER 2510\n#define SCI_INDICGETUNDER 2511\n#define SCI_INDICSETHOVERSTYLE 2680\n#define SCI_INDICGETHOVERSTYLE 2681\n#define SCI_INDICSETHOVERFORE 2682\n#define SCI_INDICGETHOVERFORE 2683\n#define SC_INDICVALUEBIT 0x1000000\n#define SC_INDICVALUEMASK 0xFFFFFF\n#define SC_INDICFLAG_VALUEFORE 1\n#define SCI_INDICSETFLAGS 2684\n#define SCI_INDICGETFLAGS 2685\n#define SCI_SETWHITESPACEFORE 2084\n#define SCI_SETWHITESPACEBACK 2085\n#define SCI_SETWHITESPACESIZE 2086\n#define SCI_GETWHITESPACESIZE 2087\n#define SCI_SETLINESTATE 2092\n#define SCI_GETLINESTATE 2093\n#define SCI_GETMAXLINESTATE 2094\n#define SCI_GETCARETLINEVISIBLE 2095\n#define SCI_SETCARETLINEVISIBLE 2096\n#define SCI_GETCARETLINEBACK 2097\n#define SCI_SETCARETLINEBACK 2098\n#define SCI_GETCARETLINEFRAME 2704\n#define SCI_SETCARETLINEFRAME 2705\n#define SCI_STYLESETCHANGEABLE 2099\n#define SCI_AUTOCSHOW 2100\n#define SCI_AUTOCCANCEL 2101\n#define SCI_AUTOCACTIVE 2102\n#define SCI_AUTOCPOSSTART 2103\n#define SCI_AUTOCCOMPLETE 2104\n#define SCI_AUTOCSTOPS 2105\n#define SCI_AUTOCSETSEPARATOR 2106\n#define SCI_AUTOCGETSEPARATOR 2107\n#define SCI_AUTOCSELECT 2108\n#define SCI_AUTOCSETCANCELATSTART 2110\n#define SCI_AUTOCGETCANCELATSTART 2111\n#define SCI_AUTOCSETFILLUPS 2112\n#define SCI_AUTOCSETCHOOSESINGLE 2113\n#define SCI_AUTOCGETCHOOSESINGLE 2114\n#define SCI_AUTOCSETIGNORECASE 2115\n#define SCI_AUTOCGETIGNORECASE 2116\n#define SCI_USERLISTSHOW 2117\n#define SCI_AUTOCSETAUTOHIDE 2118\n#define SCI_AUTOCGETAUTOHIDE 2119\n#define SCI_AUTOCSETDROPRESTOFWORD 2270\n#define SCI_AUTOCGETDROPRESTOFWORD 2271\n#define SCI_REGISTERIMAGE 2405\n#define SCI_CLEARREGISTEREDIMAGES 2408\n#define SCI_AUTOCGETTYPESEPARATOR 2285\n#define SCI_AUTOCSETTYPESEPARATOR 2286\n#define SCI_AUTOCSETMAXWIDTH 2208\n#define SCI_AUTOCGETMAXWIDTH 2209\n#define SCI_AUTOCSETMAXHEIGHT 2210\n#define SCI_AUTOCGETMAXHEIGHT 2211\n#define SCI_SETINDENT 2122\n#define SCI_GETINDENT 2123\n#define SCI_SETUSETABS 2124\n#define SCI_GETUSETABS 2125\n#define SCI_SETLINEINDENTATION 2126\n#define SCI_GETLINEINDENTATION 2127\n#define SCI_GETLINEINDENTPOSITION 2128\n#define SCI_GETCOLUMN 2129\n#define SCI_COUNTCHARACTERS 2633\n#define SCI_COUNTCODEUNITS 2715\n#define SCI_SETHSCROLLBAR 2130\n#define SCI_GETHSCROLLBAR 2131\n#define SC_IV_NONE 0\n#define SC_IV_REAL 1\n#define SC_IV_LOOKFORWARD 2\n#define SC_IV_LOOKBOTH 3\n#define SCI_SETINDENTATIONGUIDES 2132\n#define SCI_GETINDENTATIONGUIDES 2133\n#define SCI_SETHIGHLIGHTGUIDE 2134\n#define SCI_GETHIGHLIGHTGUIDE 2135\n#define SCI_GETLINEENDPOSITION 2136\n#define SCI_GETCODEPAGE 2137\n#define SCI_GETCARETFORE 2138\n#define SCI_GETREADONLY 2140\n#define SCI_SETCURRENTPOS 2141\n#define SCI_SETSELECTIONSTART 2142\n#define SCI_GETSELECTIONSTART 2143\n#define SCI_SETSELECTIONEND 2144\n#define SCI_GETSELECTIONEND 2145\n#define SCI_SETEMPTYSELECTION 2556\n#define SCI_SETPRINTMAGNIFICATION 2146\n#define SCI_GETPRINTMAGNIFICATION 2147\n#define SC_PRINT_NORMAL 0\n#define SC_PRINT_INVERTLIGHT 1\n#define SC_PRINT_BLACKONWHITE 2\n#define SC_PRINT_COLOURONWHITE 3\n#define SC_PRINT_COLOURONWHITEDEFAULTBG 4\n#define SC_PRINT_SCREENCOLOURS 5\n#define SCI_SETPRINTCOLOURMODE 2148\n#define SCI_GETPRINTCOLOURMODE 2149\n#define SCFIND_WHOLEWORD 0x2\n#define SCFIND_MATCHCASE 0x4\n#define SCFIND_WORDSTART 0x00100000\n#define SCFIND_REGEXP 0x00200000\n#define SCFIND_POSIX 0x00400000\n#define SCFIND_CXX11REGEX 0x00800000\n#define SCFIND_REGEXP_SKIPCRLFASONE\t\t\t   0x08000000\n#define SCI_FINDTEXT 2150\n#define SCI_FORMATRANGE 2151\n#define SCI_GETFIRSTVISIBLELINE 2152\n#define SCI_GETLINE 2153\n#define SCI_GETLINECOUNT 2154\n#define SCI_SETMARGINLEFT 2155\n#define SCI_GETMARGINLEFT 2156\n#define SCI_SETMARGINRIGHT 2157\n#define SCI_GETMARGINRIGHT 2158\n#define SCI_GETMODIFY 2159\n#define SCI_SETSEL 2160\n#define SCI_GETSELTEXT 2161\n#define SCI_GETTEXTRANGE 2162\n#define SCI_HIDESELECTION 2163\n#define SCI_POINTXFROMPOSITION 2164\n#define SCI_POINTYFROMPOSITION 2165\n#define SCI_LINEFROMPOSITION 2166\n#define SCI_POSITIONFROMLINE 2167\n#define SCI_LINESCROLL 2168\n#define SCI_SCROLLCARET 2169\n#define SCI_SCROLLRANGE 2569\n#define SCI_REPLACESEL 2170\n#define SCI_SETREADONLY 2171\n#define SCI_NULL 2172\n#define SCI_CANPASTE 2173\n#define SCI_CANUNDO 2174\n#define SCI_EMPTYUNDOBUFFER 2175\n#define SCI_UNDO 2176\n#define SCI_CUT 2177\n#define SCI_COPY 2178\n#define SCI_PASTE 2179\n#define SCI_CLEAR 2180\n#define SCI_SETTEXT 2181\n#define SCI_SET_UTF8_TEXT 6001\n#define SCI_GETTEXT 2182\n#define SCI_GETTEXTLENGTH 2183\n#define SCI_GETDIRECTFUNCTION 2184\n#define SCI_GETDIRECTPOINTER 2185\n#define SCI_SETOVERTYPE 2186\n#define SCI_GETOVERTYPE 2187\n#define SCI_SETCARETWIDTH 2188\n#define SCI_GETCARETWIDTH 2189\n#define SCI_SETTARGETSTART 2190\n#define SCI_GETTARGETSTART 2191\n#define SCI_SETTARGETEND 2192\n#define SCI_GETTARGETEND 2193\n#define SCI_SETTARGETRANGE 2686\n#define SCI_GETTARGETTEXT 2687\n#define SCI_TARGETFROMSELECTION 2287\n#define SCI_TARGETWHOLEDOCUMENT 2690\n#define SCI_REPLACETARGET 2194\n#define SCI_REPLACETARGETRE 2195\n#define SCI_SEARCHINTARGET 2197\n#define SCI_SETSEARCHFLAGS 2198\n#define SCI_GETSEARCHFLAGS 2199\n#define SCI_CALLTIPSHOW 2200\n#define SCI_CALLTIPCANCEL 2201\n#define SCI_CALLTIPACTIVE 2202\n#define SCI_CALLTIPPOSSTART 2203\n#define SCI_CALLTIPSETPOSSTART 2214\n#define SCI_CALLTIPSETHLT 2204\n#define SCI_CALLTIPSETBACK 2205\n#define SCI_CALLTIPSETFORE 2206\n#define SCI_CALLTIPSETFOREHLT 2207\n#define SCI_CALLTIPUSESTYLE 2212\n#define SCI_CALLTIPSETPOSITION 2213\n#define SCI_VISIBLEFROMDOCLINE 2220\n#define SCI_DOCLINEFROMVISIBLE 2221\n#define SCI_WRAPCOUNT 2235\n#define SC_FOLDLEVELBASE 0x400\n#define SC_FOLDLEVELWHITEFLAG 0x1000\n#define SC_FOLDLEVELHEADERFLAG 0x2000\n#define SC_FOLDLEVELNUMBERMASK 0x0FFF\n#define SCI_SETFOLDLEVEL 2222\n#define SCI_GETFOLDLEVEL 2223\n#define SCI_GETLASTCHILD 2224\n#define SCI_GETFOLDPARENT 2225\n#define SCI_SHOWLINES 2226\n#define SCI_HIDELINES 2227\n#define SCI_GETLINEVISIBLE 2228\n#define SCI_GETALLLINESVISIBLE 2236\n#define SCI_SETFOLDEXPANDED 2229\n#define SCI_GETFOLDEXPANDED 2230\n#define SCI_TOGGLEFOLD 2231\n#define SCI_TOGGLEFOLDSHOWTEXT 2700\n#define SC_FOLDDISPLAYTEXT_HIDDEN 0\n#define SC_FOLDDISPLAYTEXT_STANDARD 1\n#define SC_FOLDDISPLAYTEXT_BOXED 2\n#define SCI_FOLDDISPLAYTEXTSETSTYLE 2701\n#define SC_FOLDACTION_CONTRACT 0\n#define SC_FOLDACTION_EXPAND 1\n#define SC_FOLDACTION_TOGGLE 2\n#define SCI_FOLDLINE 2237\n#define SCI_FOLDCHILDREN 2238\n#define SCI_EXPANDCHILDREN 2239\n#define SCI_FOLDALL 2662\n#define SCI_ENSUREVISIBLE 2232\n#define SC_AUTOMATICFOLD_SHOW 0x0001\n#define SC_AUTOMATICFOLD_CLICK 0x0002\n#define SC_AUTOMATICFOLD_CHANGE 0x0004\n#define SCI_SETAUTOMATICFOLD 2663\n#define SCI_GETAUTOMATICFOLD 2664\n#define SC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002\n#define SC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004\n#define SC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008\n#define SC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010\n#define SC_FOLDFLAG_LEVELNUMBERS 0x0040\n#define SC_FOLDFLAG_LINESTATE 0x0080\n#define SCI_SETFOLDFLAGS 2233\n#define SCI_ENSUREVISIBLEENFORCEPOLICY 2234\n#define SCI_SETTABINDENTS 2260\n#define SCI_GETTABINDENTS 2261\n#define SCI_SETBACKSPACEUNINDENTS 2262\n#define SCI_GETBACKSPACEUNINDENTS 2263\n#define SC_TIME_FOREVER 10000000\n#define SCI_SETMOUSEDWELLTIME 2264\n#define SCI_GETMOUSEDWELLTIME 2265\n#define SCI_WORDSTARTPOSITION 2266\n#define SCI_WORDENDPOSITION 2267\n#define SCI_ISRANGEWORD 2691\n#define SC_IDLESTYLING_NONE 0\n#define SC_IDLESTYLING_TOVISIBLE 1\n#define SC_IDLESTYLING_AFTERVISIBLE 2\n#define SC_IDLESTYLING_ALL 3\n#define SCI_SETIDLESTYLING 2692\n#define SCI_GETIDLESTYLING 2693\n#define SC_WRAP_NONE 0\n#define SC_WRAP_WORD 1\n#define SC_WRAP_CHAR 2\n#define SC_WRAP_WHITESPACE 3\n#define SCI_SETWRAPMODE 2268\n#define SCI_GETWRAPMODE 2269\n#define SC_WRAPVISUALFLAG_NONE 0x0000\n#define SC_WRAPVISUALFLAG_END 0x0001\n#define SC_WRAPVISUALFLAG_START 0x0002\n#define SC_WRAPVISUALFLAG_MARGIN 0x0004\n#define SCI_SETWRAPVISUALFLAGS 2460\n#define SCI_GETWRAPVISUALFLAGS 2461\n#define SC_WRAPVISUALFLAGLOC_DEFAULT 0x0000\n#define SC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001\n#define SC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002\n#define SCI_SETWRAPVISUALFLAGSLOCATION 2462\n#define SCI_GETWRAPVISUALFLAGSLOCATION 2463\n#define SCI_SETWRAPSTARTINDENT 2464\n#define SCI_GETWRAPSTARTINDENT 2465\n#define SC_WRAPINDENT_FIXED 0\n#define SC_WRAPINDENT_SAME 1\n#define SC_WRAPINDENT_INDENT 2\n#define SC_WRAPINDENT_DEEPINDENT 3\n#define SCI_SETWRAPINDENTMODE 2472\n#define SCI_GETWRAPINDENTMODE 2473\n#define SC_CACHE_NONE 0\n#define SC_CACHE_CARET 1\n#define SC_CACHE_PAGE 2\n#define SC_CACHE_DOCUMENT 3\n#define SCI_SETLAYOUTCACHE 2272\n#define SCI_GETLAYOUTCACHE 2273\n#define SCI_SETSCROLLWIDTH 2274\n#define SCI_GETSCROLLWIDTH 2275\n#define SCI_SETSCROLLWIDTHTRACKING 2516\n#define SCI_GETSCROLLWIDTHTRACKING 2517\n#define SCI_TEXTWIDTH 2276\n#define SCI_SETENDATLASTLINE 2277\n#define SCI_GETENDATLASTLINE 2278\n#define SCI_TEXTHEIGHT 2279\n#define SCI_SETVSCROLLBAR 2280\n#define SCI_GETVSCROLLBAR 2281\n#define SCI_APPENDTEXT 2282\n#define SCI_GETTWOPHASEDRAW 2283\n#define SCI_SETTWOPHASEDRAW 2284\n#define SC_PHASES_ONE 0\n#define SC_PHASES_TWO 1\n#define SC_PHASES_MULTIPLE 2\n#define SCI_GETPHASESDRAW 2673\n#define SCI_SETPHASESDRAW 2674\n#define SC_EFF_QUALITY_MASK 0xF\n#define SC_EFF_QUALITY_DEFAULT 0\n#define SC_EFF_QUALITY_NON_ANTIALIASED 1\n#define SC_EFF_QUALITY_ANTIALIASED 2\n#define SC_EFF_QUALITY_LCD_OPTIMIZED 3\n#define SCI_SETFONTQUALITY 2611\n#define SCI_GETFONTQUALITY 2612\n#define SCI_SETFIRSTVISIBLELINE 2613\n#define SC_MULTIPASTE_ONCE 0\n#define SC_MULTIPASTE_EACH 1\n#define SCI_SETMULTIPASTE 2614\n#define SCI_GETMULTIPASTE 2615\n#define SCI_GETTAG 2616\n#define SCI_LINESJOIN 2288\n#define SCI_LINESSPLIT 2289\n#define SCI_SETFOLDMARGINCOLOUR 2290\n#define SCI_SETFOLDMARGINHICOLOUR 2291\n#define SC_ACCESSIBILITY_DISABLED 0\n#define SC_ACCESSIBILITY_ENABLED 1\n#define SCI_SETACCESSIBILITY 2702\n#define SCI_GETACCESSIBILITY 2703\n#define SCI_LINEDOWN 2300\n#define SCI_LINEDOWNEXTEND 2301\n#define SCI_LINEUP 2302\n#define SCI_LINEUPEXTEND 2303\n#define SCI_CHARLEFT 2304\n#define SCI_CHARLEFTEXTEND 2305\n#define SCI_CHARRIGHT 2306\n#define SCI_CHARRIGHTEXTEND 2307\n#define SCI_WORDLEFT 2308\n#define SCI_WORDLEFTEXTEND 2309\n#define SCI_WORDRIGHT 2310\n#define SCI_WORDRIGHTEXTEND 2311\n#define SCI_HOME 2312\n#define SCI_HOMEEXTEND 2313\n#define SCI_LINEEND 2314\n#define SCI_LINEENDEXTEND 2315\n#define SCI_DOCUMENTSTART 2316\n#define SCI_DOCUMENTSTARTEXTEND 2317\n#define SCI_DOCUMENTEND 2318\n#define SCI_DOCUMENTENDEXTEND 2319\n#define SCI_PAGEUP 2320\n#define SCI_PAGEUPEXTEND 2321\n#define SCI_PAGEDOWN 2322\n#define SCI_PAGEDOWNEXTEND 2323\n#define SCI_EDITTOGGLEOVERTYPE 2324\n#define SCI_CANCEL 2325\n#define SCI_DELETEBACK 2326\n#define SCI_TAB 2327\n#define SCI_BACKTAB 2328\n#define SCI_NEWLINE 2329\n#define SCI_FORMFEED 2330\n#define SCI_VCHOME 2331\n#define SCI_VCHOMEEXTEND 2332\n#define SCI_ZOOMIN 2333\n#define SCI_ZOOMOUT 2334\n#define SCI_DELWORDLEFT 2335\n#define SCI_DELWORDRIGHT 2336\n#define SCI_DELWORDRIGHTEND 2518\n#define SCI_LINECUT 2337\n#define SCI_LINEDELETE 2338\n#define SCI_LINETRANSPOSE 2339\n#define SCI_LINEREVERSE 2354\n#define SCI_LINEDUPLICATE 2404\n#define SCI_LOWERCASE 2340\n#define SCI_UPPERCASE 2341\n#define SCI_LINESCROLLDOWN 2342\n#define SCI_LINESCROLLUP 2343\n#define SCI_DELETEBACKNOTLINE 2344\n#define SCI_HOMEDISPLAY 2345\n#define SCI_HOMEDISPLAYEXTEND 2346\n#define SCI_LINEENDDISPLAY 2347\n#define SCI_LINEENDDISPLAYEXTEND 2348\n#define SCI_HOMEWRAP 2349\n#define SCI_HOMEWRAPEXTEND 2450\n#define SCI_LINEENDWRAP 2451\n#define SCI_LINEENDWRAPEXTEND 2452\n#define SCI_VCHOMEWRAP 2453\n#define SCI_VCHOMEWRAPEXTEND 2454\n#define SCI_LINECOPY 2455\n#define SCI_MOVECARETINSIDEVIEW 2401\n#define SCI_LINELENGTH 2350\n#define SCI_BRACEHIGHLIGHT 2351\n#define SCI_BRACEHIGHLIGHTINDICATOR 2498\n#define SCI_BRACEBADLIGHT 2352\n#define SCI_BRACEBADLIGHTINDICATOR 2499\n#define SCI_BRACEMATCH 2353\n#define SCI_GETVIEWEOL 2355\n#define SCI_SETVIEWEOL 2356\n#define SCI_GETDOCPOINTER 2357\n#define SCI_SETDOCPOINTER 2358\n#define SCI_SETMODEVENTMASK 2359\n#define EDGE_NONE 0\n#define EDGE_LINE 1\n#define EDGE_BACKGROUND 2\n#define EDGE_MULTILINE 3\n#define SCI_GETEDGECOLUMN 2360\n#define SCI_SETEDGECOLUMN 2361\n#define SCI_GETEDGEMODE 2362\n#define SCI_SETEDGEMODE 2363\n#define SCI_GETEDGECOLOUR 2364\n#define SCI_SETEDGECOLOUR 2365\n#define SCI_MULTIEDGEADDLINE 2694\n#define SCI_MULTIEDGECLEARALL 2695\n#define SCI_SEARCHANCHOR 2366\n#define SCI_SEARCHNEXT 2367\n#define SCI_SEARCHPREV 2368\n#define SCI_LINESONSCREEN 2370\n#define SC_POPUP_NEVER 0\n#define SC_POPUP_ALL 1\n#define SC_POPUP_TEXT 2\n#define SCI_USEPOPUP 2371\n#define SCI_SELECTIONISRECTANGLE 2372\n#define SCI_SETZOOM 2373\n#define SCI_GETZOOM 2374\n#define SC_DOCUMENTOPTION_DEFAULT 0\n#define SC_DOCUMENTOPTION_STYLES_NONE 0x1\n#define SC_DOCUMENTOPTION_TEXT_LARGE 0x100\n#define SCI_CREATEDOCUMENT 2375\n#define SCI_ADDREFDOCUMENT 2376\n#define SCI_RELEASEDOCUMENT 2377\n#define SCI_GETDOCUMENTOPTIONS 2379\n#define SCI_GETMODEVENTMASK 2378\n#define SCI_SETCOMMANDEVENTS 2717\n#define SCI_GETCOMMANDEVENTS 2718\n#define SCI_SETFOCUS 2380\n#define SCI_GETFOCUS 2381\n#define SC_STATUS_OK 0\n#define SC_STATUS_FAILURE 1\n#define SC_STATUS_BADALLOC 2\n#define SC_STATUS_WARN_START 1000\n#define SC_STATUS_WARN_REGEX 1001\n#define SCI_SETSTATUS 2382\n#define SCI_GETSTATUS 2383\n#define SCI_SETMOUSEDOWNCAPTURES 2384\n#define SCI_GETMOUSEDOWNCAPTURES 2385\n#define SCI_SETMOUSEWHEELCAPTURES 2696\n#define SCI_GETMOUSEWHEELCAPTURES 2697\n#define SC_CURSORNORMAL -1\n#define SC_CURSORARROW 2\n#define SC_CURSORWAIT 4\n#define SC_CURSORREVERSEARROW 7\n#define SCI_SETCURSOR 2386\n#define SCI_GETCURSOR 2387\n#define SCI_SETCONTROLCHARSYMBOL 2388\n#define SCI_GETCONTROLCHARSYMBOL 2389\n#define SCI_WORDPARTLEFT 2390\n#define SCI_WORDPARTLEFTEXTEND 2391\n#define SCI_WORDPARTRIGHT 2392\n#define SCI_WORDPARTRIGHTEXTEND 2393\n#define VISIBLE_SLOP 0x01\n#define VISIBLE_STRICT 0x04\n#define SCI_SETVISIBLEPOLICY 2394\n#define SCI_DELLINELEFT 2395\n#define SCI_DELLINERIGHT 2396\n#define SCI_SETXOFFSET 2397\n#define SCI_GETXOFFSET 2398\n#define SCI_CHOOSECARETX 2399\n#define SCI_GRABFOCUS 2400\n#define CARET_SLOP 0x01\n#define CARET_STRICT 0x04\n#define CARET_JUMPS 0x10\n#define CARET_EVEN 0x08\n#define SCI_SETXCARETPOLICY 2402\n#define SCI_SETYCARETPOLICY 2403\n#define SCI_SETPRINTWRAPMODE 2406\n#define SCI_GETPRINTWRAPMODE 2407\n#define SCI_SETHOTSPOTACTIVEFORE 2410\n#define SCI_GETHOTSPOTACTIVEFORE 2494\n#define SCI_SETHOTSPOTACTIVEBACK 2411\n#define SCI_GETHOTSPOTACTIVEBACK 2495\n#define SCI_SETHOTSPOTACTIVEUNDERLINE 2412\n#define SCI_GETHOTSPOTACTIVEUNDERLINE 2496\n#define SCI_SETHOTSPOTSINGLELINE 2421\n#define SCI_GETHOTSPOTSINGLELINE 2497\n#define SCI_PARADOWN 2413\n#define SCI_PARADOWNEXTEND 2414\n#define SCI_PARAUP 2415\n#define SCI_PARAUPEXTEND 2416\n#define SCI_POSITIONBEFORE 2417\n#define SCI_POSITIONAFTER 2418\n#define SCI_POSITIONRELATIVE 2670\n#define SCI_POSITIONRELATIVECODEUNITS 2716\n#define SCI_COPYRANGE 2419\n#define SCI_COPYTEXT 2420\n#define SC_SEL_STREAM 0\n#define SC_SEL_RECTANGLE 1\n#define SC_SEL_LINES 2\n#define SC_SEL_THIN 3\n#define SCI_SETSELECTIONMODE 2422\n#define SCI_GETSELECTIONMODE 2423\n#define SCI_GETMOVEEXTENDSSELECTION 2706\n#define SCI_GETLINESELSTARTPOSITION 2424\n#define SCI_GETLINESELENDPOSITION 2425\n#define SCI_LINEDOWNRECTEXTEND 2426\n#define SCI_LINEUPRECTEXTEND 2427\n#define SCI_CHARLEFTRECTEXTEND 2428\n#define SCI_CHARRIGHTRECTEXTEND 2429\n#define SCI_HOMERECTEXTEND 2430\n#define SCI_VCHOMERECTEXTEND 2431\n#define SCI_LINEENDRECTEXTEND 2432\n#define SCI_PAGEUPRECTEXTEND 2433\n#define SCI_PAGEDOWNRECTEXTEND 2434\n#define SCI_STUTTEREDPAGEUP 2435\n#define SCI_STUTTEREDPAGEUPEXTEND 2436\n#define SCI_STUTTEREDPAGEDOWN 2437\n#define SCI_STUTTEREDPAGEDOWNEXTEND 2438\n#define SCI_WORDLEFTEND 2439\n#define SCI_WORDLEFTENDEXTEND 2440\n#define SCI_WORDRIGHTEND 2441\n#define SCI_WORDRIGHTENDEXTEND 2442\n#define SCI_SETWHITESPACECHARS 2443\n#define SCI_GETWHITESPACECHARS 2647\n#define SCI_SETPUNCTUATIONCHARS 2648\n#define SCI_GETPUNCTUATIONCHARS 2649\n#define SCI_SETCHARSDEFAULT 2444\n#define SCI_AUTOCGETCURRENT 2445\n#define SCI_AUTOCGETCURRENTTEXT 2610\n#define SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0\n#define SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1\n#define SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR 2634\n#define SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR 2635\n#define SC_MULTIAUTOC_ONCE 0\n#define SC_MULTIAUTOC_EACH 1\n#define SCI_AUTOCSETMULTI 2636\n#define SCI_AUTOCGETMULTI 2637\n#define SC_ORDER_PRESORTED 0\n#define SC_ORDER_PERFORMSORT 1\n#define SC_ORDER_CUSTOM 2\n#define SCI_AUTOCSETORDER 2660\n#define SCI_AUTOCGETORDER 2661\n#define SCI_ALLOCATE 2446\n#define SCI_TARGETASUTF8 2447\n#define SCI_SETLENGTHFORENCODE 2448\n#define SCI_ENCODEDFROMUTF8 2449\n#define SCI_FINDCOLUMN 2456\n#define SCI_GETCARETSTICKY 2457\n#define SCI_SETCARETSTICKY 2458\n#define SC_CARETSTICKY_OFF 0\n#define SC_CARETSTICKY_ON 1\n#define SC_CARETSTICKY_WHITESPACE 2\n#define SCI_TOGGLECARETSTICKY 2459\n#define SCI_SETPASTECONVERTENDINGS 2467\n#define SCI_GETPASTECONVERTENDINGS 2468\n#define SCI_SELECTIONDUPLICATE 2469\n#define SC_ALPHA_TRANSPARENT 0\n#define SC_ALPHA_OPAQUE 255\n#define SC_ALPHA_NOALPHA 256\n#define SCI_SETCARETLINEBACKALPHA 2470\n#define SCI_GETCARETLINEBACKALPHA 2471\n#define CARETSTYLE_INVISIBLE 0\n#define CARETSTYLE_LINE 1\n#define CARETSTYLE_BLOCK 2\n#define SCI_SETCARETSTYLE 2512\n#define SCI_GETCARETSTYLE 2513\n#define SCI_SETINDICATORCURRENT 2500\n#define SCI_GETINDICATORCURRENT 2501\n#define SCI_SETINDICATORVALUE 2502\n#define SCI_GETINDICATORVALUE 2503\n#define SCI_INDICATORFILLRANGE 2504\n#define SCI_INDICATORCLEARRANGE 2505\n#define SCI_INDICATORALLONFOR 2506\n#define SCI_INDICATORVALUEAT 2507\n#define SCI_INDICATORSTART 2508\n#define SCI_INDICATOREND 2509\n#define SCI_SETPOSITIONCACHE 2514\n#define SCI_GETPOSITIONCACHE 2515\n#define SCI_COPYALLOWLINE 2519\n#define SCI_GETCHARACTERPOINTER 2520\n#define SCI_GETRANGEPOINTER 2643\n#define SCI_GETGAPPOSITION 2644\n#define SCI_INDICSETALPHA 2523\n#define SCI_INDICGETALPHA 2524\n#define SCI_INDICSETOUTLINEALPHA 2558\n#define SCI_INDICGETOUTLINEALPHA 2559\n#define SCI_SETEXTRAASCENT 2525\n#define SCI_GETEXTRAASCENT 2526\n#define SCI_SETEXTRADESCENT 2527\n#define SCI_GETEXTRADESCENT 2528\n#define SCI_MARKERSYMBOLDEFINED 2529\n#define SCI_MARGINSETTEXT 2530\n#define SCI_MARGINGETTEXT 2531\n#define SCI_MARGINSETSTYLE 2532\n#define SCI_MARGINGETSTYLE 2533\n#define SCI_MARGINSETSTYLES 2534\n#define SCI_MARGINGETSTYLES 2535\n#define SCI_MARGINTEXTCLEARALL 2536\n#define SCI_MARGINSETSTYLEOFFSET 2537\n#define SCI_MARGINGETSTYLEOFFSET 2538\n#define SC_MARGINOPTION_NONE 0\n#define SC_MARGINOPTION_SUBLINESELECT 1\n#define SCI_SETMARGINOPTIONS 2539\n#define SCI_GETMARGINOPTIONS 2557\n#define SCI_ANNOTATIONSETTEXT 2540\n#define SCI_ANNOTATIONGETTEXT 2541\n#define SCI_ANNOTATIONSETSTYLE 2542\n#define SCI_ANNOTATIONGETSTYLE 2543\n#define SCI_ANNOTATIONSETSTYLES 2544\n#define SCI_ANNOTATIONGETSTYLES 2545\n#define SCI_ANNOTATIONGETLINES 2546\n#define SCI_ANNOTATIONCLEARALL 2547\n#define ANNOTATION_HIDDEN 0\n#define ANNOTATION_STANDARD 1\n#define ANNOTATION_BOXED 2\n#define ANNOTATION_INDENTED 3\n#define SCI_ANNOTATIONSETVISIBLE 2548\n#define SCI_ANNOTATIONGETVISIBLE 2549\n#define SCI_ANNOTATIONSETSTYLEOFFSET 2550\n#define SCI_ANNOTATIONGETSTYLEOFFSET 2551\n#define SCI_RELEASEALLEXTENDEDSTYLES 2552\n#define SCI_ALLOCATEEXTENDEDSTYLES 2553\n#define UNDO_MAY_COALESCE 1\n#define SCI_ADDUNDOACTION 2560\n#define SCI_CHARPOSITIONFROMPOINT 2561\n#define SCI_CHARPOSITIONFROMPOINTCLOSE 2562\n#define SCI_SETMOUSESELECTIONRECTANGULARSWITCH 2668\n#define SCI_GETMOUSESELECTIONRECTANGULARSWITCH 2669\n#define SCI_SETMULTIPLESELECTION 2563\n#define SCI_GETMULTIPLESELECTION 2564\n#define SCI_SETADDITIONALSELECTIONTYPING 2565\n#define SCI_GETADDITIONALSELECTIONTYPING 2566\n#define SCI_SETADDITIONALCARETSBLINK 2567\n#define SCI_GETADDITIONALCARETSBLINK 2568\n#define SCI_SETADDITIONALCARETSVISIBLE 2608\n#define SCI_GETADDITIONALCARETSVISIBLE 2609\n#define SCI_GETSELECTIONS 2570\n#define SCI_GETSELECTIONEMPTY 2650\n#define SCI_CLEARSELECTIONS 2571\n#define SCI_SETSELECTION 2572\n#define SCI_ADDSELECTION 2573\n#define SCI_DROPSELECTIONN 2671\n#define SCI_SETMAINSELECTION 2574\n#define SCI_GETMAINSELECTION 2575\n#define SCI_SETSELECTIONNCARET 2576\n#define SCI_GETSELECTIONNCARET 2577\n#define SCI_SETSELECTIONNANCHOR 2578\n#define SCI_GETSELECTIONNANCHOR 2579\n#define SCI_SETSELECTIONNCARETVIRTUALSPACE 2580\n#define SCI_GETSELECTIONNCARETVIRTUALSPACE 2581\n#define SCI_SETSELECTIONNANCHORVIRTUALSPACE 2582\n#define SCI_GETSELECTIONNANCHORVIRTUALSPACE 2583\n#define SCI_SETSELECTIONNSTART 2584\n#define SCI_GETSELECTIONNSTART 2585\n#define SCI_SETSELECTIONNEND 2586\n#define SCI_GETSELECTIONNEND 2587\n#define SCI_SETRECTANGULARSELECTIONCARET 2588\n#define SCI_GETRECTANGULARSELECTIONCARET 2589\n#define SCI_SETRECTANGULARSELECTIONANCHOR 2590\n#define SCI_GETRECTANGULARSELECTIONANCHOR 2591\n#define SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE 2592\n#define SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE 2593\n#define SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2594\n#define SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2595\n#define SCVS_NONE 0\n#define SCVS_RECTANGULARSELECTION 1\n#define SCVS_USERACCESSIBLE 2\n#define SCVS_NOWRAPLINESTART 4\n#define SCI_SETVIRTUALSPACEOPTIONS 2596\n#define SCI_GETVIRTUALSPACEOPTIONS 2597\n#define SCI_SETRECTANGULARSELECTIONMODIFIER 2598\n#define SCI_GETRECTANGULARSELECTIONMODIFIER 2599\n#define SCI_SETADDITIONALSELFORE 2600\n#define SCI_SETADDITIONALSELBACK 2601\n#define SCI_SETADDITIONALSELALPHA 2602\n#define SCI_GETADDITIONALSELALPHA 2603\n#define SCI_SETADDITIONALCARETFORE 2604\n#define SCI_GETADDITIONALCARETFORE 2605\n#define SCI_ROTATESELECTION 2606\n#define SCI_SWAPMAINANCHORCARET 2607\n#define SCI_MULTIPLESELECTADDNEXT 2688\n#define SCI_MULTIPLESELECTADDEACH 2689\n#define SCI_CHANGELEXERSTATE 2617\n#define SCI_CONTRACTEDFOLDNEXT 2618\n#define SCI_VERTICALCENTRECARET 2619\n#define SCI_MOVESELECTEDLINESUP 2620\n#define SCI_MOVESELECTEDLINESDOWN 2621\n#define SCI_SETIDENTIFIER 2622\n#define SCI_GETIDENTIFIER 2623\n#define SCI_RGBAIMAGESETWIDTH 2624\n#define SCI_RGBAIMAGESETHEIGHT 2625\n#define SCI_RGBAIMAGESETSCALE 2651\n#define SCI_MARKERDEFINERGBAIMAGE 2626\n#define SCI_REGISTERRGBAIMAGE 2627\n#define SCI_SCROLLTOSTART 2628\n#define SCI_SCROLLTOEND 2629\n#define SC_TECHNOLOGY_DEFAULT 0\n#define SC_TECHNOLOGY_DIRECTWRITE 1\n#define SC_TECHNOLOGY_DIRECTWRITERETAIN 2\n#define SC_TECHNOLOGY_DIRECTWRITEDC 3\n#define SCI_SETTECHNOLOGY 2630\n#define SCI_GETTECHNOLOGY 2631\n#define SCI_CREATELOADER 2632\n#define SCI_FINDINDICATORSHOW 2640\n#define SCI_FINDINDICATORFLASH 2641\n#define SCI_FINDINDICATORHIDE 2642\n#define SCI_VCHOMEDISPLAY 2652\n#define SCI_VCHOMEDISPLAYEXTEND 2653\n#define SCI_GETCARETLINEVISIBLEALWAYS 2654\n#define SCI_SETCARETLINEVISIBLEALWAYS 2655\n#define SC_LINE_END_TYPE_DEFAULT 0\n#define SC_LINE_END_TYPE_UNICODE 1\n#define SCI_SETLINEENDTYPESALLOWED 2656\n#define SCI_GETLINEENDTYPESALLOWED 2657\n#define SCI_GETLINEENDTYPESACTIVE 2658\n#define SCI_SETREPRESENTATION 2665\n#define SCI_GETREPRESENTATION 2666\n#define SCI_CLEARREPRESENTATION 2667\n#define SCI_STARTRECORD 3001\n#define SCI_STOPRECORD 3002\n#define SCI_SETLEXER 4001\n#define SCI_GETLEXER 4002\n#define SCI_COLOURISE 4003\n#define SCI_SETPROPERTY 4004\n#define KEYWORDSET_MAX 8\n#define SCI_SETKEYWORDS 4005\n#define SCI_SETLEXERLANGUAGE 4006\n#define SCI_LOADLEXERLIBRARY 4007\n#define SCI_GETPROPERTY 4008\n#define SCI_GETPROPERTYEXPANDED 4009\n#define SCI_GETPROPERTYINT 4010\n#define SCI_GETLEXERLANGUAGE 4012\n#define SCI_PRIVATELEXERCALL 4013\n#define SCI_PROPERTYNAMES 4014\n#define SC_TYPE_BOOLEAN 0\n#define SC_TYPE_INTEGER 1\n#define SC_TYPE_STRING 2\n#define SCI_PROPERTYTYPE 4015\n#define SCI_DESCRIBEPROPERTY 4016\n#define SCI_DESCRIBEKEYWORDSETS 4017\n#define SCI_GETLINEENDTYPESSUPPORTED 4018\n#define SCI_ALLOCATESUBSTYLES 4020\n#define SCI_GETSUBSTYLESSTART 4021\n#define SCI_GETSUBSTYLESLENGTH 4022\n#define SCI_GETSTYLEFROMSUBSTYLE 4027\n#define SCI_GETPRIMARYSTYLEFROMSTYLE 4028\n#define SCI_FREESUBSTYLES 4023\n#define SCI_SETIDENTIFIERS 4024\n#define SCI_DISTANCETOSECONDARYSTYLES 4025\n#define SCI_GETSUBSTYLEBASES 4026\n#define SCI_GETNAMEDSTYLES 4029\n#define SCI_NAMEOFSTYLE 4030\n#define SCI_TAGSOFSTYLE 4031\n#define SCI_DESCRIPTIONOFSTYLE 4032\n#define SC_MOD_INSERTTEXT 0x1\n#define SC_MOD_DELETETEXT 0x2\n#define SC_MOD_CHANGESTYLE 0x4\n#define SC_MOD_CHANGEFOLD 0x8\n#define SC_PERFORMED_USER 0x10\n#define SC_PERFORMED_UNDO 0x20\n#define SC_PERFORMED_REDO 0x40\n#define SC_MULTISTEPUNDOREDO 0x80\n#define SC_LASTSTEPINUNDOREDO 0x100\n#define SC_MOD_CHANGEMARKER 0x200\n#define SC_MOD_BEFOREINSERT 0x400\n#define SC_MOD_BEFOREDELETE 0x800\n#define SC_MULTILINEUNDOREDO 0x1000\n#define SC_STARTACTION 0x2000\n#define SC_MOD_CHANGEINDICATOR 0x4000\n#define SC_MOD_CHANGELINESTATE 0x8000\n#define SC_MOD_CHANGEMARGIN 0x10000\n#define SC_MOD_CHANGEANNOTATION 0x20000\n#define SC_MOD_CONTAINER 0x40000\n#define SC_MOD_LEXERSTATE 0x80000\n#define SC_MOD_INSERTCHECK 0x100000\n#define SC_MOD_CHANGETABSTOPS 0x200000\n#define SC_MODEVENTMASKALL 0x3FFFFF\n#define SC_UPDATE_CONTENT 0x1\n#define SC_UPDATE_SELECTION 0x2\n#define SC_UPDATE_V_SCROLL 0x4\n#define SC_UPDATE_H_SCROLL 0x8\n#define SCEN_CHANGE 768\n#define SCEN_SETFOCUS 512\n#define SCEN_KILLFOCUS 256\n#define SCK_DOWN 300\n#define SCK_UP 301\n#define SCK_LEFT 302\n#define SCK_RIGHT 303\n#define SCK_HOME 304\n#define SCK_END 305\n#define SCK_PRIOR 306\n#define SCK_NEXT 307\n#define SCK_DELETE 308\n#define SCK_INSERT 309\n#define SCK_ESCAPE 7\n#define SCK_BACK 8\n#define SCK_TAB 9\n#define SCK_RETURN 13\n#define SCK_ADD 310\n#define SCK_SUBTRACT 311\n#define SCK_DIVIDE 312\n#define SCK_WIN 313\n#define SCK_RWIN 314\n#define SCK_MENU 315\n#define SCMOD_NORM 0\n#define SCMOD_SHIFT 1\n#define SCMOD_CTRL 2\n#define SCMOD_ALT 4\n#define SCMOD_SUPER 8\n#define SCMOD_META 16\n#define SC_AC_FILLUP 1\n#define SC_AC_DOUBLECLICK 2\n#define SC_AC_TAB 3\n#define SC_AC_NEWLINE 4\n#define SC_AC_COMMAND 5\n#define SCN_STYLENEEDED 2000\n#define SCN_CHARADDED 2001\n#define SCN_SAVEPOINTREACHED 2002\n#define SCN_SAVEPOINTLEFT 2003\n#define SCN_MODIFYATTEMPTRO 2004\n#define SCN_KEY 2005\n#define SCN_DOUBLECLICK 2006\n#define SCN_UPDATEUI 2007\n#define SCN_MODIFIED 2008\n#define SCN_MACRORECORD 2009\n#define SCN_MARGINCLICK 2010\n#define SCN_NEEDSHOWN 2011\n#define SCN_PAINTED 2013\n#define SCN_USERLISTSELECTION 2014\n#define SCN_URIDROPPED 2015\n#define SCN_DWELLSTART 2016\n#define SCN_DWELLEND 2017\n#define SCN_ZOOM_CODE 2018\n#define SCN_HOTSPOTCLICK 2019\n#define SCN_HOTSPOTDOUBLECLICK 2020\n#define SCN_CALLTIPCLICK 2021\n#define SCN_AUTOCSELECTION 2022\n#define SCN_INDICATORCLICK 2023\n#define SCN_INDICATORRELEASE 2024\n#define SCN_AUTOCCANCELLED 2025\n#define SCN_AUTOCCHARDELETED 2026\n#define SCN_HOTSPOTRELEASECLICK 2027\n#define SCN_FOCUSIN 2028\n#define SCN_FOCUSOUT 2029\n#define SCN_AUTOCCOMPLETED 2030\n#define SCN_MARGINRIGHTCLICK 2031\n#define SCN_AUTOCSELECTIONCHANGE 2032\n#ifndef SCI_DISABLE_PROVISIONAL\n#define SC_LINECHARACTERINDEX_NONE 0\n#define SC_LINECHARACTERINDEX_UTF32 1\n#define SC_LINECHARACTERINDEX_UTF16 2\n#define SCI_GETLINECHARACTERINDEX 2710\n#define SCI_ALLOCATELINECHARACTERINDEX 2711\n#define SCI_RELEASELINECHARACTERINDEX 2712\n#define SCI_LINEFROMINDEXPOSITION 2713\n#define SCI_INDEXPOSITIONFROMLINE 2714\n#endif\n/* --Autogenerated -- end of section automatically generated from Scintilla.iface */\n\n/* These structures are defined to be exactly the same shape as the Win32\n * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.\n * So older code that treats Scintilla as a RichEdit will work. */\n\nstruct Sci_CharacterRange {\n\tSci_PositionCR cpMin;\n\tSci_PositionCR cpMax;\n};\n\nstruct Sci_TextRange {\n\tstruct Sci_CharacterRange chrg;\n\tchar *lpstrText;\n};\n\nstruct Sci_TextToFind {\n\tstruct Sci_CharacterRange chrg;\n\tconst char *lpstrText;\n\tstruct Sci_CharacterRange chrgText;\n};\n\ntypedef void *Sci_SurfaceID;\n\nstruct Sci_Rectangle {\n\tint left;\n\tint top;\n\tint right;\n\tint bottom;\n};\n\n/* This structure is used in printing and requires some of the graphics types\n * from Platform.h.  Not needed by most client code. */\n\nstruct Sci_RangeToFormat {\n\tSci_SurfaceID hdc;\n\tSci_SurfaceID hdcTarget;\n\tstruct Sci_Rectangle rc;\n\tstruct Sci_Rectangle rcPage;\n\tstruct Sci_CharacterRange chrg;\n};\n\n#ifndef __cplusplus\n/* For the GTK+ platform, g-ir-scanner needs to have these typedefs. This\n * is not required in C++ code and actually seems to break ScintillaEditPy */\ntypedef struct Sci_NotifyHeader Sci_NotifyHeader;\ntypedef struct SCNotification SCNotification;\n#endif\n\nstruct Sci_NotifyHeader {\n\t/* Compatible with Windows NMHDR.\n\t * hwndFrom is really an environment specific window handle or pointer\n\t * but most clients of Scintilla.h do not have this type visible. */\n\tvoid *hwndFrom;\n\tuptr_t idFrom;\n\tunsigned int code;\n};\n\nstruct SCNotification {\n\tSci_NotifyHeader nmhdr;\n\tSci_Position position;\n\t/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */\n\t/* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */\n\t/* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */\n\t/* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */\n\t/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */\n\n\tint ch;\n\t/* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */\n\t/* SCN_USERLISTSELECTION */\n\tint modifiers;\n\t/* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */\n\t/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */\n\n\tint modificationType;\t/* SCN_MODIFIED */\n\tconst char *text;\n\t/* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */\n\n\tSci_Position length;\t\t/* SCN_MODIFIED */\n\tSci_Position linesAdded;\t/* SCN_MODIFIED */\n\tint message;\t/* SCN_MACRORECORD */\n\tuptr_t wParam;\t/* SCN_MACRORECORD */\n\tsptr_t lParam;\t/* SCN_MACRORECORD */\n\tSci_Position line;\t\t/* SCN_MODIFIED */\n\tint foldLevelNow;\t/* SCN_MODIFIED */\n\tint foldLevelPrev;\t/* SCN_MODIFIED */\n\tint margin;\t\t/* SCN_MARGINCLICK */\n\tint listType;\t/* SCN_USERLISTSELECTION */\n\tint x;\t\t\t/* SCN_DWELLSTART, SCN_DWELLEND */\n\tint y;\t\t/* SCN_DWELLSTART, SCN_DWELLEND */\n\tint token;\t\t/* SCN_MODIFIED with SC_MOD_CONTAINER */\n\tSci_Position annotationLinesAdded;\t/* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */\n\tint updated;\t/* SCN_UPDATEUI */\n\tint listCompletionMethod;\n\t/* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */\n};\n\n#ifdef INCLUDE_DEPRECATED_FEATURES\n\n#define SCI_SETKEYSUNICODE 2521\n#define SCI_GETKEYSUNICODE 2522\n\n#define CharacterRange Sci_CharacterRange\n#define TextRange Sci_TextRange\n#define TextToFind Sci_TextToFind\n#define RangeToFormat Sci_RangeToFormat\n#define NotifyHeader Sci_NotifyHeader\n\n#define SCI_SETSTYLEBITS 2090\n#define SCI_GETSTYLEBITS 2091\n#define SCI_GETSTYLEBITSNEEDED 4011\n\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/include/Scintilla.iface",
    "content": "## First line may be used for shbang\n\n## This file defines the interface to Scintilla\n\n## Copyright 2000-2003 by Neil Hodgson <neilh@scintilla.org>\n## The License.txt file describes the conditions under which this software may be distributed.\n\n## A line starting with ## is a pure comment and should be stripped by readers.\n## A line starting with #! is for future shbang use\n## A line starting with # followed by a space is a documentation comment and refers\n## to the next feature definition.\n\n## Each feature is defined by a line starting with fun, get, set, val or evt.\n##     cat -> start a category\n##     fun -> a function\n##     get -> a property get function\n##     set -> a property set function\n##     val -> definition of a constant\n##     evt -> an event\n##     enu -> associate an enumeration with a set of vals with a prefix\n##     lex -> associate a lexer with the lexical classes it produces\n##\n## All other feature names should be ignored. They may be defined in the future.\n## A property may have a set function, a get function or both. Each will have\n## \"Get\" or \"Set\" in their names and the corresponding name will have the obvious switch.\n## A property may be subscripted, in which case the first parameter is the subscript.\n## fun, get, and set features have a strict syntax:\n## <featureType><ws><returnType><ws><name>[=<number](<param>,<param>)\n## where <ws> stands for white space.\n## param may be empty (null value) or is <paramType><ws><paramName>[=<value>]\n## Additional white space is allowed between elements.\n## The syntax for evt is <featureType><ws><returnType><ws><name>[=<number]([<param>[,<param>]*])\n## Feature names that contain an underscore are defined by Windows, so in these\n## cases, using the Windows definition is preferred where available.\n## The feature numbers are stable so features will not be renumbered.\n## Features may be removed but they will go through a period of deprecation\n## before removal which is signalled by moving them into the Deprecated category.\n##\n## enu has the syntax enu<ws><enumeration>=<prefix>[<ws><prefix>]* where all the val\n## features in this file starting with a given <prefix> are considered part of the\n## enumeration.\n##\n## lex has the syntax lex<ws><name>=<lexerVal><ws><prefix>[<ws><prefix>]*\n## where name is a reasonably capitalised (Python, XML) identifier or UI name,\n## lexerVal is the val used to specify the lexer, and the list of prefixes is similar\n## to enu. The name may not be the same as that used within the lexer so the lexerVal\n## should be used to tie these entities together.\n\n## Types:\n##     void\n##     int\n##     bool -> integer, 1=true, 0=false\n##     position -> integer position in a document\n##     colour -> colour integer containing red, green and blue bytes.\n##     string -> pointer to const character\n##     stringresult -> pointer to character, NULL-> return size of result\n##     cells -> pointer to array of cells, each cell containing a style byte and character byte\n##     textrange -> range of a min and a max position with an output string\n##     findtext -> searchrange, text -> foundposition\n##     keymod -> integer containing key in low half and modifiers in high half\n##     formatrange\n## Types no longer used:\n##     findtextex -> searchrange\n##     charrange -> range of a min and a max position\n##     charrangeresult -> like charrange, but output param\n##     countedstring\n##     point -> x,y\n##     pointresult  -> like point, but output param\n##     rectangle -> left,top,right,bottom\n## Client code should ignore definitions containing types it does not understand, except\n## for possibly #defining the constants\n\n## Line numbers and positions start at 0.\n## String arguments may contain NUL ('\\0') characters where the calls provide a length\n## argument and retrieve NUL characters. APIs marked as NUL-terminated also have a\n## NUL appended but client code should calculate the size that will be returned rather\n## than relying upon the NUL whenever possible. Allow for the extra NUL character when\n## allocating buffers. The size to allocate for a stringresult (not including NUL) can be\n## determined by calling with a NULL (0) pointer.\n\ncat Basics\n\n################################################\n## For Scintilla.h\nval INVALID_POSITION=-1\n# Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages\n# as many EM_ messages can be used although that use is deprecated.\nval SCI_START=2000\nval SCI_OPTIONAL_START=3000\nval SCI_LEXER_START=4000\n\n# Add text to the document at current position.\nfun void AddText=2001(int length, string text)\n\n# Add array of cells to document.\nfun void AddStyledText=2002(int length, cells c)\n\n# Insert string at a position.\nfun void InsertText=2003(position pos, string text)\n\n# Change the text that is being inserted in response to SC_MOD_INSERTCHECK\nfun void ChangeInsertion=2672(int length, string text)\n\n# Delete all text in the document.\nfun void ClearAll=2004(,)\n\n# Delete a range of text in the document.\nfun void DeleteRange=2645(position start, int lengthDelete)\n\n# Set all style bytes to 0, remove all folding information.\nfun void ClearDocumentStyle=2005(,)\n\n# Returns the number of bytes in the document.\nget int GetLength=2006(,)\n\n# Returns the character byte at the position.\nget int GetCharAt=2007(position pos,)\n\n# Returns the position of the caret.\nget position GetCurrentPos=2008(,)\n\n# Returns the position of the opposite end of the selection to the caret.\nget position GetAnchor=2009(,)\n\n# Returns the style byte at the position.\nget int GetStyleAt=2010(position pos,)\n\n# Redoes the next action on the undo history.\nfun void Redo=2011(,)\n\n# Choose between collecting actions into the undo\n# history and discarding them.\nset void SetUndoCollection=2012(bool collectUndo,)\n\n# Select all the text in the document.\nfun void SelectAll=2013(,)\n\n# Remember the current position in the undo history as the position\n# at which the document was saved.\nfun void SetSavePoint=2014(,)\n\n# Retrieve a buffer of cells.\n# Returns the number of bytes in the buffer not including terminating NULs.\nfun int GetStyledText=2015(, textrange tr)\n\n# Are there any redoable actions in the undo history?\nfun bool CanRedo=2016(,)\n\n# Retrieve the line number at which a particular marker is located.\nfun int MarkerLineFromHandle=2017(int markerHandle,)\n\n# Delete a marker.\nfun void MarkerDeleteHandle=2018(int markerHandle,)\n\n# Is undo history being collected?\nget bool GetUndoCollection=2019(,)\n\nenu WhiteSpace=SCWS_\nval SCWS_INVISIBLE=0\nval SCWS_VISIBLEALWAYS=1\nval SCWS_VISIBLEAFTERINDENT=2\nval SCWS_VISIBLEONLYININDENT=3\n\n# Are white space characters currently visible?\n# Returns one of SCWS_* constants.\nget int GetViewWS=2020(,)\n\n# Make white space characters invisible, always visible or visible outside indentation.\nset void SetViewWS=2021(int viewWS,)\n\nenu TabDrawMode=SCTD_\nval SCTD_LONGARROW=0\nval SCTD_STRIKEOUT=1\n\n# Retrieve the current tab draw mode.\n# Returns one of SCTD_* constants.\nget int GetTabDrawMode=2698(,)\n\n# Set how tabs are drawn when visible.\nset void SetTabDrawMode=2699(int tabDrawMode,)\n\n# Find the position from a point within the window.\nfun position PositionFromPoint=2022(int x, int y)\n\n# Find the position from a point within the window but return\n# INVALID_POSITION if not close to text.\nfun position PositionFromPointClose=2023(int x, int y)\n\n# Set caret to start of a line and ensure it is visible.\nfun void GotoLine=2024(int line,)\n\n# Set caret to a position and ensure it is visible.\nfun void GotoPos=2025(position caret,)\n\n# Set the selection anchor to a position. The anchor is the opposite\n# end of the selection from the caret.\nset void SetAnchor=2026(position anchor,)\n\n# Retrieve the text of the line containing the caret.\n# Returns the index of the caret on the line.\n# Result is NUL-terminated.\nfun int GetCurLine=2027(int length, stringresult text)\n\n# Retrieve the position of the last correctly styled character.\nget position GetEndStyled=2028(,)\n\nenu EndOfLine=SC_EOL_\nval SC_EOL_CRLF=0\nval SC_EOL_CR=1\nval SC_EOL_LF=2\n\n# Convert all line endings in the document to one mode.\nfun void ConvertEOLs=2029(int eolMode,)\n\n# Retrieve the current end of line mode - one of CRLF, CR, or LF.\nget int GetEOLMode=2030(,)\n\n# Set the current end of line mode.\nset void SetEOLMode=2031(int eolMode,)\n\n# Set the current styling position to start.\n# The unused parameter is no longer used and should be set to 0.\nfun void StartStyling=2032(position start, int unused)\n\n# Change style from current styling position for length characters to a style\n# and move the current styling position to after this newly styled segment.\nfun void SetStyling=2033(int length, int style)\n\n# Is drawing done first into a buffer or direct to the screen?\nget bool GetBufferedDraw=2034(,)\n\n# If drawing is buffered then each line of text is drawn into a bitmap buffer\n# before drawing it to the screen to avoid flicker.\nset void SetBufferedDraw=2035(bool buffered,)\n\n# Change the visible size of a tab to be a multiple of the width of a space character.\nset void SetTabWidth=2036(int tabWidth,)\n\n# Retrieve the visible size of a tab.\nget int GetTabWidth=2121(,)\n\n# Clear explicit tabstops on a line.\nfun void ClearTabStops=2675(int line,)\n\n# Add an explicit tab stop for a line.\nfun void AddTabStop=2676(int line, int x)\n\n# Find the next explicit tab stop position on a line after a position.\nfun int GetNextTabStop=2677(int line, int x)\n\n# The SC_CP_UTF8 value can be used to enter Unicode mode.\n# This is the same value as CP_UTF8 in Windows\nval SC_CP_UTF8=65001\n\n# Set the code page used to interpret the bytes of the document as characters.\n# The SC_CP_UTF8 value can be used to enter Unicode mode.\nset void SetCodePage=2037(int codePage,)\n\nenu IMEInteraction=SC_IME_\nval SC_IME_WINDOWED=0\nval SC_IME_INLINE=1\n\n# Is the IME displayed in a window or inline?\nget int GetIMEInteraction=2678(,)\n\n# Choose to display the the IME in a winow or inline.\nset void SetIMEInteraction=2679(int imeInteraction,)\n\nenu MarkerSymbol=SC_MARK_\nval MARKER_MAX=31\nval SC_MARK_CIRCLE=0\nval SC_MARK_ROUNDRECT=1\nval SC_MARK_ARROW=2\nval SC_MARK_SMALLRECT=3\nval SC_MARK_SHORTARROW=4\nval SC_MARK_EMPTY=5\nval SC_MARK_ARROWDOWN=6\nval SC_MARK_MINUS=7\nval SC_MARK_PLUS=8\n\n# Shapes used for outlining column.\nval SC_MARK_VLINE=9\nval SC_MARK_LCORNER=10\nval SC_MARK_TCORNER=11\nval SC_MARK_BOXPLUS=12\nval SC_MARK_BOXPLUSCONNECTED=13\nval SC_MARK_BOXMINUS=14\nval SC_MARK_BOXMINUSCONNECTED=15\nval SC_MARK_LCORNERCURVE=16\nval SC_MARK_TCORNERCURVE=17\nval SC_MARK_CIRCLEPLUS=18\nval SC_MARK_CIRCLEPLUSCONNECTED=19\nval SC_MARK_CIRCLEMINUS=20\nval SC_MARK_CIRCLEMINUSCONNECTED=21\n\n# Invisible mark that only sets the line background colour.\nval SC_MARK_BACKGROUND=22\nval SC_MARK_DOTDOTDOT=23\nval SC_MARK_ARROWS=24\nval SC_MARK_PIXMAP=25\nval SC_MARK_FULLRECT=26\nval SC_MARK_LEFTRECT=27\nval SC_MARK_AVAILABLE=28\nval SC_MARK_UNDERLINE=29\nval SC_MARK_RGBAIMAGE=30\nval SC_MARK_BOOKMARK=31\n\nval SC_MARK_CHARACTER=10000\n\nenu MarkerOutline=SC_MARKNUM_\n# Markers used for outlining column.\nval SC_MARKNUM_FOLDEREND=25\nval SC_MARKNUM_FOLDEROPENMID=26\nval SC_MARKNUM_FOLDERMIDTAIL=27\nval SC_MARKNUM_FOLDERTAIL=28\nval SC_MARKNUM_FOLDERSUB=29\nval SC_MARKNUM_FOLDER=30\nval SC_MARKNUM_FOLDEROPEN=31\n\nval SC_MASK_FOLDERS=0xFE000000\n\n# Set the symbol used for a particular marker number.\nfun void MarkerDefine=2040(int markerNumber, int markerSymbol)\n\n# Set the foreground colour used for a particular marker number.\nset void MarkerSetFore=2041(int markerNumber, colour fore)\n\n# Set the background colour used for a particular marker number.\nset void MarkerSetBack=2042(int markerNumber, colour back)\n\n# Set the background colour used for a particular marker number when its folding block is selected.\nset void MarkerSetBackSelected=2292(int markerNumber, colour back)\n\n# Enable/disable highlight for current folding bloc (smallest one that contains the caret)\nfun void MarkerEnableHighlight=2293(bool enabled,)\n\n# Add a marker to a line, returning an ID which can be used to find or delete the marker.\nfun int MarkerAdd=2043(int line, int markerNumber)\n\n# Delete a marker from a line.\nfun void MarkerDelete=2044(int line, int markerNumber)\n\n# Delete all markers with a particular number from all lines.\nfun void MarkerDeleteAll=2045(int markerNumber,)\n\n# Get a bit mask of all the markers set on a line.\nfun int MarkerGet=2046(int line,)\n\n# Find the next line at or after lineStart that includes a marker in mask.\n# Return -1 when no more lines.\nfun int MarkerNext=2047(int lineStart, int markerMask)\n\n# Find the previous line before lineStart that includes a marker in mask.\nfun int MarkerPrevious=2048(int lineStart, int markerMask)\n\n# Define a marker from a pixmap.\nfun void MarkerDefinePixmap=2049(int markerNumber, string pixmap)\n\n# Add a set of markers to a line.\nfun void MarkerAddSet=2466(int line, int markerSet)\n\n# Set the alpha used for a marker that is drawn in the text area, not the margin.\nset void MarkerSetAlpha=2476(int markerNumber, int alpha)\n\nval SC_MAX_MARGIN=4\n\nenu MarginType=SC_MARGIN_\nval SC_MARGIN_SYMBOL=0\nval SC_MARGIN_NUMBER=1\nval SC_MARGIN_BACK=2\nval SC_MARGIN_FORE=3\nval SC_MARGIN_TEXT=4\nval SC_MARGIN_RTEXT=5\nval SC_MARGIN_COLOUR=6\n\n# Set a margin to be either numeric or symbolic.\nset void SetMarginTypeN=2240(int margin, int marginType)\n\n# Retrieve the type of a margin.\nget int GetMarginTypeN=2241(int margin,)\n\n# Set the width of a margin to a width expressed in pixels.\nset void SetMarginWidthN=2242(int margin, int pixelWidth)\n\n# Retrieve the width of a margin in pixels.\nget int GetMarginWidthN=2243(int margin,)\n\n# Set a mask that determines which markers are displayed in a margin.\nset void SetMarginMaskN=2244(int margin, int mask)\n\n# Retrieve the marker mask of a margin.\nget int GetMarginMaskN=2245(int margin,)\n\n# Make a margin sensitive or insensitive to mouse clicks.\nset void SetMarginSensitiveN=2246(int margin, bool sensitive)\n\n# Retrieve the mouse click sensitivity of a margin.\nget bool GetMarginSensitiveN=2247(int margin,)\n\n# Set the cursor shown when the mouse is inside a margin.\nset void SetMarginCursorN=2248(int margin, int cursor)\n\n# Retrieve the cursor shown in a margin.\nget int GetMarginCursorN=2249(int margin,)\n\n# Set the background colour of a margin. Only visible for SC_MARGIN_COLOUR.\nset void SetMarginBackN=2250(int margin, colour back)\n\n# Retrieve the background colour of a margin\nget colour GetMarginBackN=2251(int margin,)\n\n# Allocate a non-standard number of margins.\nset void SetMargins=2252(int margins,)\n\n# How many margins are there?.\nget int GetMargins=2253(,)\n\n# Styles in range 32..39 are predefined for parts of the UI and are not used as normal styles.\nenu StylesCommon=STYLE_\nval STYLE_DEFAULT=32\nval STYLE_LINENUMBER=33\nval STYLE_BRACELIGHT=34\nval STYLE_BRACEBAD=35\nval STYLE_CONTROLCHAR=36\nval STYLE_INDENTGUIDE=37\nval STYLE_CALLTIP=38\nval STYLE_FOLDDISPLAYTEXT=39\nval STYLE_LASTPREDEFINED=39\nval STYLE_MAX=255\n\n# Character set identifiers are used in StyleSetCharacterSet.\n# The values are the same as the Windows *_CHARSET values.\nenu CharacterSet=SC_CHARSET_\nval SC_CHARSET_ANSI=0\nval SC_CHARSET_DEFAULT=1\nval SC_CHARSET_BALTIC=186\nval SC_CHARSET_CHINESEBIG5=136\nval SC_CHARSET_EASTEUROPE=238\nval SC_CHARSET_GB2312=134\nval SC_CHARSET_GREEK=161\nval SC_CHARSET_HANGUL=129\nval SC_CHARSET_MAC=77\nval SC_CHARSET_OEM=255\nval SC_CHARSET_RUSSIAN=204\nval SC_CHARSET_OEM866=866\nval SC_CHARSET_CYRILLIC=1251\nval SC_CHARSET_SHIFTJIS=128\nval SC_CHARSET_SYMBOL=2\nval SC_CHARSET_TURKISH=162\nval SC_CHARSET_JOHAB=130\nval SC_CHARSET_HEBREW=177\nval SC_CHARSET_ARABIC=178\nval SC_CHARSET_VIETNAMESE=163\nval SC_CHARSET_THAI=222\nval SC_CHARSET_8859_15=1000\n\n# Clear all the styles and make equivalent to the global default style.\nfun void StyleClearAll=2050(,)\n\n# Set the foreground colour of a style.\nset void StyleSetFore=2051(int style, colour fore)\n\n# Set the background colour of a style.\nset void StyleSetBack=2052(int style, colour back)\n\n# Set a style to be bold or not.\nset void StyleSetBold=2053(int style, bool bold)\n\n# Set a style to be italic or not.\nset void StyleSetItalic=2054(int style, bool italic)\n\n# Set the size of characters of a style.\nset void StyleSetSize=2055(int style, int sizePoints)\n\n# Set the font of a style.\nset void StyleSetFont=2056(int style, string fontName)\n\n# Set a style to have its end of line filled or not.\nset void StyleSetEOLFilled=2057(int style, bool eolFilled)\n\n# Reset the default style to its state at startup\nfun void StyleResetDefault=2058(,)\n\n# Set a style to be underlined or not.\nset void StyleSetUnderline=2059(int style, bool underline)\n\nenu CaseVisible=SC_CASE_\nval SC_CASE_MIXED=0\nval SC_CASE_UPPER=1\nval SC_CASE_LOWER=2\nval SC_CASE_CAMEL=3\n\n# Get the foreground colour of a style.\nget colour StyleGetFore=2481(int style,)\n\n# Get the background colour of a style.\nget colour StyleGetBack=2482(int style,)\n\n# Get is a style bold or not.\nget bool StyleGetBold=2483(int style,)\n\n# Get is a style italic or not.\nget bool StyleGetItalic=2484(int style,)\n\n# Get the size of characters of a style.\nget int StyleGetSize=2485(int style,)\n\n# Get the font of a style.\n# Returns the length of the fontName\n# Result is NUL-terminated.\nget int StyleGetFont=2486(int style, stringresult fontName)\n\n# Get is a style to have its end of line filled or not.\nget bool StyleGetEOLFilled=2487(int style,)\n\n# Get is a style underlined or not.\nget bool StyleGetUnderline=2488(int style,)\n\n# Get is a style mixed case, or to force upper or lower case.\nget int StyleGetCase=2489(int style,)\n\n# Get the character get of the font in a style.\nget int StyleGetCharacterSet=2490(int style,)\n\n# Get is a style visible or not.\nget bool StyleGetVisible=2491(int style,)\n\n# Get is a style changeable or not (read only).\n# Experimental feature, currently buggy.\nget bool StyleGetChangeable=2492(int style,)\n\n# Get is a style a hotspot or not.\nget bool StyleGetHotSpot=2493(int style,)\n\n# Set a style to be mixed case, or to force upper or lower case.\nset void StyleSetCase=2060(int style, int caseVisible)\n\nval SC_FONT_SIZE_MULTIPLIER=100\n\n# Set the size of characters of a style. Size is in points multiplied by 100.\nset void StyleSetSizeFractional=2061(int style, int sizeHundredthPoints)\n\n# Get the size of characters of a style in points multiplied by 100\nget int StyleGetSizeFractional=2062(int style,)\n\nenu FontWeight=SC_WEIGHT_\nval SC_WEIGHT_NORMAL=400\nval SC_WEIGHT_SEMIBOLD=600\nval SC_WEIGHT_BOLD=700\n\n# Set the weight of characters of a style.\nset void StyleSetWeight=2063(int style, int weight)\n\n# Get the weight of characters of a style.\nget int StyleGetWeight=2064(int style,)\n\n# Set the character set of the font in a style.\nset void StyleSetCharacterSet=2066(int style, int characterSet)\n\n# Set a style to be a hotspot or not.\nset void StyleSetHotSpot=2409(int style, bool hotspot)\n\n# Set the foreground colour of the main and additional selections and whether to use this setting.\nfun void SetSelFore=2067(bool useSetting, colour fore)\n\n# Set the background colour of the main and additional selections and whether to use this setting.\nfun void SetSelBack=2068(bool useSetting, colour back)\n\n# Get the alpha of the selection.\nget int GetSelAlpha=2477(,)\n\n# Set the alpha of the selection.\nset void SetSelAlpha=2478(int alpha,)\n\n# Is the selection end of line filled?\nget bool GetSelEOLFilled=2479(,)\n\n# Set the selection to have its end of line filled or not.\nset void SetSelEOLFilled=2480(bool filled,)\n\n# Set the foreground colour of the caret.\nset void SetCaretFore=2069(colour fore,)\n\n# When key+modifier combination keyDefinition is pressed perform sciCommand.\nfun void AssignCmdKey=2070(keymod keyDefinition, int sciCommand)\n\n# When key+modifier combination keyDefinition is pressed do nothing.\nfun void ClearCmdKey=2071(keymod keyDefinition,)\n\n# Drop all key mappings.\nfun void ClearAllCmdKeys=2072(,)\n\n# Set the styles for a segment of the document.\nfun void SetStylingEx=2073(int length, string styles)\n\n# Set a style to be visible or not.\nset void StyleSetVisible=2074(int style, bool visible)\n\n# Get the time in milliseconds that the caret is on and off.\nget int GetCaretPeriod=2075(,)\n\n# Get the time in milliseconds that the caret is on and off. 0 = steady on.\nset void SetCaretPeriod=2076(int periodMilliseconds,)\n\n# Set the set of characters making up words for when moving or selecting by word.\n# First sets defaults like SetCharsDefault.\nset void SetWordChars=2077(, string characters)\n\n# Get the set of characters making up words for when moving or selecting by word.\n# Returns the number of characters\nget int GetWordChars=2646(, stringresult characters)\n\n# Start a sequence of actions that is undone and redone as a unit.\n# May be nested.\nfun void BeginUndoAction=2078(,)\n\n# End a sequence of actions that is undone and redone as a unit.\nfun void EndUndoAction=2079(,)\n\n# Indicator style enumeration and some constants\nenu IndicatorStyle=INDIC_\nval INDIC_PLAIN=0\nval INDIC_SQUIGGLE=1\nval INDIC_TT=2\nval INDIC_DIAGONAL=3\nval INDIC_STRIKE=4\nval INDIC_HIDDEN=5\nval INDIC_BOX=6\nval INDIC_ROUNDBOX=7\nval INDIC_STRAIGHTBOX=8\nval INDIC_DASH=9\nval INDIC_DOTS=10\nval INDIC_SQUIGGLELOW=11\nval INDIC_DOTBOX=12\nval INDIC_SQUIGGLEPIXMAP=13\nval INDIC_COMPOSITIONTHICK=14\nval INDIC_COMPOSITIONTHIN=15\nval INDIC_FULLBOX=16\nval INDIC_TEXTFORE=17\nval INDIC_POINT=18\nval INDIC_POINTCHARACTER=19\nval INDIC_GRADIENT=20\nval INDIC_GRADIENTCENTRE=21\nval INDIC_IME=32\nval INDIC_IME_MAX=35\nval INDIC_MAX=35\nval INDIC_CONTAINER=8\nval INDIC0_MASK=0x20\nval INDIC1_MASK=0x40\nval INDIC2_MASK=0x80\nval INDICS_MASK=0xE0\n\n# Set an indicator to plain, squiggle or TT.\nset void IndicSetStyle=2080(int indicator, int indicatorStyle)\n\n# Retrieve the style of an indicator.\nget int IndicGetStyle=2081(int indicator,)\n\n# Set the foreground colour of an indicator.\nset void IndicSetFore=2082(int indicator, colour fore)\n\n# Retrieve the foreground colour of an indicator.\nget colour IndicGetFore=2083(int indicator,)\n\n# Set an indicator to draw under text or over(default).\nset void IndicSetUnder=2510(int indicator, bool under)\n\n# Retrieve whether indicator drawn under or over text.\nget bool IndicGetUnder=2511(int indicator,)\n\n# Set a hover indicator to plain, squiggle or TT.\nset void IndicSetHoverStyle=2680(int indicator, int indicatorStyle)\n\n# Retrieve the hover style of an indicator.\nget int IndicGetHoverStyle=2681(int indicator,)\n\n# Set the foreground hover colour of an indicator.\nset void IndicSetHoverFore=2682(int indicator, colour fore)\n\n# Retrieve the foreground hover colour of an indicator.\nget colour IndicGetHoverFore=2683(int indicator,)\n\nval SC_INDICVALUEBIT=0x1000000\nval SC_INDICVALUEMASK=0xFFFFFF\n\nenu IndicFlag=SC_INDICFLAG_\nval SC_INDICFLAG_VALUEFORE=1\n\n# Set the attributes of an indicator.\nset void IndicSetFlags=2684(int indicator, int flags)\n\n# Retrieve the attributes of an indicator.\nget int IndicGetFlags=2685(int indicator,)\n\n# Set the foreground colour of all whitespace and whether to use this setting.\nfun void SetWhitespaceFore=2084(bool useSetting, colour fore)\n\n# Set the background colour of all whitespace and whether to use this setting.\nfun void SetWhitespaceBack=2085(bool useSetting, colour back)\n\n# Set the size of the dots used to mark space characters.\nset void SetWhitespaceSize=2086(int size,)\n\n# Get the size of the dots used to mark space characters.\nget int GetWhitespaceSize=2087(,)\n\n# Used to hold extra styling information for each line.\nset void SetLineState=2092(int line, int state)\n\n# Retrieve the extra styling information for a line.\nget int GetLineState=2093(int line,)\n\n# Retrieve the last line number that has line state.\nget int GetMaxLineState=2094(,)\n\n# Is the background of the line containing the caret in a different colour?\nget bool GetCaretLineVisible=2095(,)\n\n# Display the background of the line containing the caret in a different colour.\nset void SetCaretLineVisible=2096(bool show,)\n\n# Get the colour of the background of the line containing the caret.\nget colour GetCaretLineBack=2097(,)\n\n# Set the colour of the background of the line containing the caret.\nset void SetCaretLineBack=2098(colour back,)\n\n# Retrieve the caret line frame width.\n# Width = 0 means this option is disabled.\nget int GetCaretLineFrame=2704(,)\n\n# Display the caret line framed.\n# Set width != 0 to enable this option and width = 0 to disable it.\nset void SetCaretLineFrame=2705(int width,)\n\n# Set a style to be changeable or not (read only).\n# Experimental feature, currently buggy.\nset void StyleSetChangeable=2099(int style, bool changeable)\n\n# Display a auto-completion list.\n# The lengthEntered parameter indicates how many characters before\n# the caret should be used to provide context.\nfun void AutoCShow=2100(int lengthEntered, string itemList)\n\n# Remove the auto-completion list from the screen.\nfun void AutoCCancel=2101(,)\n\n# Is there an auto-completion list visible?\nfun bool AutoCActive=2102(,)\n\n# Retrieve the position of the caret when the auto-completion list was displayed.\nfun position AutoCPosStart=2103(,)\n\n# User has selected an item so remove the list and insert the selection.\nfun void AutoCComplete=2104(,)\n\n# Define a set of character that when typed cancel the auto-completion list.\nfun void AutoCStops=2105(, string characterSet)\n\n# Change the separator character in the string setting up an auto-completion list.\n# Default is space but can be changed if items contain space.\nset void AutoCSetSeparator=2106(int separatorCharacter,)\n\n# Retrieve the auto-completion list separator character.\nget int AutoCGetSeparator=2107(,)\n\n# Select the item in the auto-completion list that starts with a string.\nfun void AutoCSelect=2108(, string select)\n\n# Should the auto-completion list be cancelled if the user backspaces to a\n# position before where the box was created.\nset void AutoCSetCancelAtStart=2110(bool cancel,)\n\n# Retrieve whether auto-completion cancelled by backspacing before start.\nget bool AutoCGetCancelAtStart=2111(,)\n\n# Define a set of characters that when typed will cause the autocompletion to\n# choose the selected item.\nset void AutoCSetFillUps=2112(, string characterSet)\n\n# Should a single item auto-completion list automatically choose the item.\nset void AutoCSetChooseSingle=2113(bool chooseSingle,)\n\n# Retrieve whether a single item auto-completion list automatically choose the item.\nget bool AutoCGetChooseSingle=2114(,)\n\n# Set whether case is significant when performing auto-completion searches.\nset void AutoCSetIgnoreCase=2115(bool ignoreCase,)\n\n# Retrieve state of ignore case flag.\nget bool AutoCGetIgnoreCase=2116(,)\n\n# Display a list of strings and send notification when user chooses one.\nfun void UserListShow=2117(int listType, string itemList)\n\n# Set whether or not autocompletion is hidden automatically when nothing matches.\nset void AutoCSetAutoHide=2118(bool autoHide,)\n\n# Retrieve whether or not autocompletion is hidden automatically when nothing matches.\nget bool AutoCGetAutoHide=2119(,)\n\n# Set whether or not autocompletion deletes any word characters\n# after the inserted text upon completion.\nset void AutoCSetDropRestOfWord=2270(bool dropRestOfWord,)\n\n# Retrieve whether or not autocompletion deletes any word characters\n# after the inserted text upon completion.\nget bool AutoCGetDropRestOfWord=2271(,)\n\n# Register an XPM image for use in autocompletion lists.\nfun void RegisterImage=2405(int type, string xpmData)\n\n# Clear all the registered XPM images.\nfun void ClearRegisteredImages=2408(,)\n\n# Retrieve the auto-completion list type-separator character.\nget int AutoCGetTypeSeparator=2285(,)\n\n# Change the type-separator character in the string setting up an auto-completion list.\n# Default is '?' but can be changed if items contain '?'.\nset void AutoCSetTypeSeparator=2286(int separatorCharacter,)\n\n# Set the maximum width, in characters, of auto-completion and user lists.\n# Set to 0 to autosize to fit longest item, which is the default.\nset void AutoCSetMaxWidth=2208(int characterCount,)\n\n# Get the maximum width, in characters, of auto-completion and user lists.\nget int AutoCGetMaxWidth=2209(,)\n\n# Set the maximum height, in rows, of auto-completion and user lists.\n# The default is 5 rows.\nset void AutoCSetMaxHeight=2210(int rowCount,)\n\n# Set the maximum height, in rows, of auto-completion and user lists.\nget int AutoCGetMaxHeight=2211(,)\n\n# Set the number of spaces used for one level of indentation.\nset void SetIndent=2122(int indentSize,)\n\n# Retrieve indentation size.\nget int GetIndent=2123(,)\n\n# Indentation will only use space characters if useTabs is false, otherwise\n# it will use a combination of tabs and spaces.\nset void SetUseTabs=2124(bool useTabs,)\n\n# Retrieve whether tabs will be used in indentation.\nget bool GetUseTabs=2125(,)\n\n# Change the indentation of a line to a number of columns.\nset void SetLineIndentation=2126(int line, int indentation)\n\n# Retrieve the number of columns that a line is indented.\nget int GetLineIndentation=2127(int line,)\n\n# Retrieve the position before the first non indentation character on a line.\nget position GetLineIndentPosition=2128(int line,)\n\n# Retrieve the column number of a position, taking tab width into account.\nget int GetColumn=2129(position pos,)\n\n# Count characters between two positions.\nfun int CountCharacters=2633(position start, position end)\n\n# Count code units between two positions.\nfun int CountCodeUnits=2715(position start, position end)\n\n# Show or hide the horizontal scroll bar.\nset void SetHScrollBar=2130(bool visible,)\n# Is the horizontal scroll bar visible?\nget bool GetHScrollBar=2131(,)\n\nenu IndentView=SC_IV_\nval SC_IV_NONE=0\nval SC_IV_REAL=1\nval SC_IV_LOOKFORWARD=2\nval SC_IV_LOOKBOTH=3\n\n# Show or hide indentation guides.\nset void SetIndentationGuides=2132(int indentView,)\n\n# Are the indentation guides visible?\nget int GetIndentationGuides=2133(,)\n\n# Set the highlighted indentation guide column.\n# 0 = no highlighted guide.\nset void SetHighlightGuide=2134(int column,)\n\n# Get the highlighted indentation guide column.\nget int GetHighlightGuide=2135(,)\n\n# Get the position after the last visible characters on a line.\nget position GetLineEndPosition=2136(int line,)\n\n# Get the code page used to interpret the bytes of the document as characters.\nget int GetCodePage=2137(,)\n\n# Get the foreground colour of the caret.\nget colour GetCaretFore=2138(,)\n\n# In read-only mode?\nget bool GetReadOnly=2140(,)\n\n# Sets the position of the caret.\nset void SetCurrentPos=2141(position caret,)\n\n# Sets the position that starts the selection - this becomes the anchor.\nset void SetSelectionStart=2142(position anchor,)\n\n# Returns the position at the start of the selection.\nget position GetSelectionStart=2143(,)\n\n# Sets the position that ends the selection - this becomes the caret.\nset void SetSelectionEnd=2144(position caret,)\n\n# Returns the position at the end of the selection.\nget position GetSelectionEnd=2145(,)\n\n# Set caret to a position, while removing any existing selection.\nfun void SetEmptySelection=2556(position caret,)\n\n# Sets the print magnification added to the point size of each style for printing.\nset void SetPrintMagnification=2146(int magnification,)\n\n# Returns the print magnification.\nget int GetPrintMagnification=2147(,)\n\nenu PrintOption=SC_PRINT_\n# PrintColourMode - use same colours as screen.\n# with the exception of line number margins, which use a white background\nval SC_PRINT_NORMAL=0\n# PrintColourMode - invert the light value of each style for printing.\nval SC_PRINT_INVERTLIGHT=1\n# PrintColourMode - force black text on white background for printing.\nval SC_PRINT_BLACKONWHITE=2\n# PrintColourMode - text stays coloured, but all background is forced to be white for printing.\nval SC_PRINT_COLOURONWHITE=3\n# PrintColourMode - only the default-background is forced to be white for printing.\nval SC_PRINT_COLOURONWHITEDEFAULTBG=4\n# PrintColourMode - use same colours as screen, including line number margins.\nval SC_PRINT_SCREENCOLOURS=5\n\n# Modify colours when printing for clearer printed text.\nset void SetPrintColourMode=2148(int mode,)\n\n# Returns the print colour mode.\nget int GetPrintColourMode=2149(,)\n\nenu FindOption=SCFIND_\nval SCFIND_WHOLEWORD=0x2\nval SCFIND_MATCHCASE=0x4\nval SCFIND_WORDSTART=0x00100000\nval SCFIND_REGEXP=0x00200000\nval SCFIND_POSIX=0x00400000\nval SCFIND_CXX11REGEX=0x00800000\n\n# Find some text in the document.\nfun position FindText=2150(int searchFlags, findtext ft)\n\n# On Windows, will draw the document into a display context such as a printer.\nfun position FormatRange=2151(bool draw, formatrange fr)\n\n# Retrieve the display line at the top of the display.\nget int GetFirstVisibleLine=2152(,)\n\n# Retrieve the contents of a line.\n# Returns the length of the line.\nfun int GetLine=2153(int line, stringresult text)\n\n# Returns the number of lines in the document. There is always at least one.\nget int GetLineCount=2154(,)\n\n# Sets the size in pixels of the left margin.\nset void SetMarginLeft=2155(, int pixelWidth)\n\n# Returns the size in pixels of the left margin.\nget int GetMarginLeft=2156(,)\n\n# Sets the size in pixels of the right margin.\nset void SetMarginRight=2157(, int pixelWidth)\n\n# Returns the size in pixels of the right margin.\nget int GetMarginRight=2158(,)\n\n# Is the document different from when it was last saved?\nget bool GetModify=2159(,)\n\n# Select a range of text.\nfun void SetSel=2160(position anchor, position caret)\n\n# Retrieve the selected text.\n# Return the length of the text.\n# Result is NUL-terminated.\nfun int GetSelText=2161(, stringresult text)\n\n# Retrieve a range of text.\n# Return the length of the text.\nfun int GetTextRange=2162(, textrange tr)\n\n# Draw the selection either highlighted or in normal (non-highlighted) style.\nfun void HideSelection=2163(bool hide,)\n\n# Retrieve the x value of the point in the window where a position is displayed.\nfun int PointXFromPosition=2164(, position pos)\n\n# Retrieve the y value of the point in the window where a position is displayed.\nfun int PointYFromPosition=2165(, position pos)\n\n# Retrieve the line containing a position.\nfun int LineFromPosition=2166(position pos,)\n\n# Retrieve the position at the start of a line.\nfun position PositionFromLine=2167(int line,)\n\n# Scroll horizontally and vertically.\nfun void LineScroll=2168(int columns, int lines)\n\n# Ensure the caret is visible.\nfun void ScrollCaret=2169(,)\n\n# Scroll the argument positions and the range between them into view giving\n# priority to the primary position then the secondary position.\n# This may be used to make a search match visible.\nfun void ScrollRange=2569(position secondary, position primary)\n\n# Replace the selected text with the argument text.\nfun void ReplaceSel=2170(, string text)\n\n# Set to read only or read write.\nset void SetReadOnly=2171(bool readOnly,)\n\n# Null operation.\nfun void Null=2172(,)\n\n# Will a paste succeed?\nfun bool CanPaste=2173(,)\n\n# Are there any undoable actions in the undo history?\nfun bool CanUndo=2174(,)\n\n# Delete the undo history.\nfun void EmptyUndoBuffer=2175(,)\n\n# Undo one action in the undo history.\nfun void Undo=2176(,)\n\n# Cut the selection to the clipboard.\nfun void Cut=2177(,)\n\n# Copy the selection to the clipboard.\nfun void Copy=2178(,)\n\n# Paste the contents of the clipboard into the document replacing the selection.\nfun void Paste=2179(,)\n\n# Clear the selection.\nfun void Clear=2180(,)\n\n# Replace the contents of the document with the argument text.\nfun void SetText=2181(, string text)\n\n# Retrieve all the text in the document.\n# Returns number of characters retrieved.\n# Result is NUL-terminated.\nfun int GetText=2182(int length, stringresult text)\n\n# Retrieve the number of characters in the document.\nget int GetTextLength=2183(,)\n\n# Retrieve a pointer to a function that processes messages for this Scintilla.\nget int GetDirectFunction=2184(,)\n\n# Retrieve a pointer value to use as the first argument when calling\n# the function returned by GetDirectFunction.\nget int GetDirectPointer=2185(,)\n\n# Set to overtype (true) or insert mode.\nset void SetOvertype=2186(bool overType,)\n\n# Returns true if overtype mode is active otherwise false is returned.\nget bool GetOvertype=2187(,)\n\n# Set the width of the insert mode caret.\nset void SetCaretWidth=2188(int pixelWidth,)\n\n# Returns the width of the insert mode caret.\nget int GetCaretWidth=2189(,)\n\n# Sets the position that starts the target which is used for updating the\n# document without affecting the scroll position.\nset void SetTargetStart=2190(position start,)\n\n# Get the position that starts the target.\nget position GetTargetStart=2191(,)\n\n# Sets the position that ends the target which is used for updating the\n# document without affecting the scroll position.\nset void SetTargetEnd=2192(position end,)\n\n# Get the position that ends the target.\nget position GetTargetEnd=2193(,)\n\n# Sets both the start and end of the target in one call.\nfun void SetTargetRange=2686(position start, position end)\n\n# Retrieve the text in the target.\nget int GetTargetText=2687(, stringresult text)\n\n# Make the target range start and end be the same as the selection range start and end.\nfun void TargetFromSelection=2287(,)\n\n# Sets the target to the whole document.\nfun void TargetWholeDocument=2690(,)\n\n# Replace the target text with the argument text.\n# Text is counted so it can contain NULs.\n# Returns the length of the replacement text.\nfun int ReplaceTarget=2194(int length, string text)\n\n# Replace the target text with the argument text after \\d processing.\n# Text is counted so it can contain NULs.\n# Looks for \\d where d is between 1 and 9 and replaces these with the strings\n# matched in the last search operation which were surrounded by \\( and \\).\n# Returns the length of the replacement text including any change\n# caused by processing the \\d patterns.\nfun int ReplaceTargetRE=2195(int length, string text)\n\n# Search for a counted string in the target and set the target to the found\n# range. Text is counted so it can contain NULs.\n# Returns length of range or -1 for failure in which case target is not moved.\nfun int SearchInTarget=2197(int length, string text)\n\n# Set the search flags used by SearchInTarget.\nset void SetSearchFlags=2198(int searchFlags,)\n\n# Get the search flags used by SearchInTarget.\nget int GetSearchFlags=2199(,)\n\n# Show a call tip containing a definition near position pos.\nfun void CallTipShow=2200(position pos, string definition)\n\n# Remove the call tip from the screen.\nfun void CallTipCancel=2201(,)\n\n# Is there an active call tip?\nfun bool CallTipActive=2202(,)\n\n# Retrieve the position where the caret was before displaying the call tip.\nfun position CallTipPosStart=2203(,)\n\n# Set the start position in order to change when backspacing removes the calltip.\nset void CallTipSetPosStart=2214(int posStart,)\n\n# Highlight a segment of the definition.\nfun void CallTipSetHlt=2204(int highlightStart, int highlightEnd)\n\n# Set the background colour for the call tip.\nset void CallTipSetBack=2205(colour back,)\n\n# Set the foreground colour for the call tip.\nset void CallTipSetFore=2206(colour fore,)\n\n# Set the foreground colour for the highlighted part of the call tip.\nset void CallTipSetForeHlt=2207(colour fore,)\n\n# Enable use of STYLE_CALLTIP and set call tip tab size in pixels.\nset void CallTipUseStyle=2212(int tabSize,)\n\n# Set position of calltip, above or below text.\nset void CallTipSetPosition=2213(bool above,)\n\n# Find the display line of a document line taking hidden lines into account.\nfun int VisibleFromDocLine=2220(int docLine,)\n\n# Find the document line of a display line taking hidden lines into account.\nfun int DocLineFromVisible=2221(int displayLine,)\n\n# The number of display lines needed to wrap a document line\nfun int WrapCount=2235(int docLine,)\n\nenu FoldLevel=SC_FOLDLEVEL\nval SC_FOLDLEVELBASE=0x400\nval SC_FOLDLEVELWHITEFLAG=0x1000\nval SC_FOLDLEVELHEADERFLAG=0x2000\nval SC_FOLDLEVELNUMBERMASK=0x0FFF\n\n# Set the fold level of a line.\n# This encodes an integer level along with flags indicating whether the\n# line is a header and whether it is effectively white space.\nset void SetFoldLevel=2222(int line, int level)\n\n# Retrieve the fold level of a line.\nget int GetFoldLevel=2223(int line,)\n\n# Find the last child line of a header line.\nget int GetLastChild=2224(int line, int level)\n\n# Find the parent line of a child line.\nget int GetFoldParent=2225(int line,)\n\n# Make a range of lines visible.\nfun void ShowLines=2226(int lineStart, int lineEnd)\n\n# Make a range of lines invisible.\nfun void HideLines=2227(int lineStart, int lineEnd)\n\n# Is a line visible?\nget bool GetLineVisible=2228(int line,)\n\n# Are all lines visible?\nget bool GetAllLinesVisible=2236(,)\n\n# Show the children of a header line.\nset void SetFoldExpanded=2229(int line, bool expanded)\n\n# Is a header line expanded?\nget bool GetFoldExpanded=2230(int line,)\n\n# Switch a header line between expanded and contracted.\nfun void ToggleFold=2231(int line,)\n\n# Switch a header line between expanded and contracted and show some text after the line.\nfun void ToggleFoldShowText=2700(int line, string text)\n\nenu FoldDisplayTextStyle=SC_FOLDDISPLAYTEXT_\nval SC_FOLDDISPLAYTEXT_HIDDEN=0\nval SC_FOLDDISPLAYTEXT_STANDARD=1\nval SC_FOLDDISPLAYTEXT_BOXED=2\n\n# Set the style of fold display text\nset void FoldDisplayTextSetStyle=2701(int style,)\n\nenu FoldAction=SC_FOLDACTION_\nval SC_FOLDACTION_CONTRACT=0\nval SC_FOLDACTION_EXPAND=1\nval SC_FOLDACTION_TOGGLE=2\n\n# Expand or contract a fold header.\nfun void FoldLine=2237(int line, int action)\n\n# Expand or contract a fold header and its children.\nfun void FoldChildren=2238(int line, int action)\n\n# Expand a fold header and all children. Use the level argument instead of the line's current level.\nfun void ExpandChildren=2239(int line, int level)\n\n# Expand or contract all fold headers.\nfun void FoldAll=2662(int action,)\n\n# Ensure a particular line is visible by expanding any header line hiding it.\nfun void EnsureVisible=2232(int line,)\n\nenu AutomaticFold=SC_AUTOMATICFOLD_\nval SC_AUTOMATICFOLD_SHOW=0x0001\nval SC_AUTOMATICFOLD_CLICK=0x0002\nval SC_AUTOMATICFOLD_CHANGE=0x0004\n\n# Set automatic folding behaviours.\nset void SetAutomaticFold=2663(int automaticFold,)\n\n# Get automatic folding behaviours.\nget int GetAutomaticFold=2664(,)\n\nenu FoldFlag=SC_FOLDFLAG_\nval SC_FOLDFLAG_LINEBEFORE_EXPANDED=0x0002\nval SC_FOLDFLAG_LINEBEFORE_CONTRACTED=0x0004\nval SC_FOLDFLAG_LINEAFTER_EXPANDED=0x0008\nval SC_FOLDFLAG_LINEAFTER_CONTRACTED=0x0010\nval SC_FOLDFLAG_LEVELNUMBERS=0x0040\nval SC_FOLDFLAG_LINESTATE=0x0080\n\n# Set some style options for folding.\nset void SetFoldFlags=2233(int flags,)\n\n# Ensure a particular line is visible by expanding any header line hiding it.\n# Use the currently set visibility policy to determine which range to display.\nfun void EnsureVisibleEnforcePolicy=2234(int line,)\n\n# Sets whether a tab pressed when caret is within indentation indents.\nset void SetTabIndents=2260(bool tabIndents,)\n\n# Does a tab pressed when caret is within indentation indent?\nget bool GetTabIndents=2261(,)\n\n# Sets whether a backspace pressed when caret is within indentation unindents.\nset void SetBackSpaceUnIndents=2262(bool bsUnIndents,)\n\n# Does a backspace pressed when caret is within indentation unindent?\nget bool GetBackSpaceUnIndents=2263(,)\n\nval SC_TIME_FOREVER=10000000\n\n# Sets the time the mouse must sit still to generate a mouse dwell event.\nset void SetMouseDwellTime=2264(int periodMilliseconds,)\n\n# Retrieve the time the mouse must sit still to generate a mouse dwell event.\nget int GetMouseDwellTime=2265(,)\n\n# Get position of start of word.\nfun int WordStartPosition=2266(position pos, bool onlyWordCharacters)\n\n# Get position of end of word.\nfun int WordEndPosition=2267(position pos, bool onlyWordCharacters)\n\n# Is the range start..end considered a word?\nfun bool IsRangeWord=2691(position start, position end)\n\nenu IdleStyling=SC_IDLESTYLING_\nval SC_IDLESTYLING_NONE=0\nval SC_IDLESTYLING_TOVISIBLE=1\nval SC_IDLESTYLING_AFTERVISIBLE=2\nval SC_IDLESTYLING_ALL=3\n\n# Sets limits to idle styling.\nset void SetIdleStyling=2692(int idleStyling,)\n\n# Retrieve the limits to idle styling.\nget int GetIdleStyling=2693(,)\n\nenu Wrap=SC_WRAP_\nval SC_WRAP_NONE=0\nval SC_WRAP_WORD=1\nval SC_WRAP_CHAR=2\nval SC_WRAP_WHITESPACE=3\n\n# Sets whether text is word wrapped.\nset void SetWrapMode=2268(int wrapMode,)\n\n# Retrieve whether text is word wrapped.\nget int GetWrapMode=2269(,)\n\nenu WrapVisualFlag=SC_WRAPVISUALFLAG_\nval SC_WRAPVISUALFLAG_NONE=0x0000\nval SC_WRAPVISUALFLAG_END=0x0001\nval SC_WRAPVISUALFLAG_START=0x0002\nval SC_WRAPVISUALFLAG_MARGIN=0x0004\n\n# Set the display mode of visual flags for wrapped lines.\nset void SetWrapVisualFlags=2460(int wrapVisualFlags,)\n\n# Retrive the display mode of visual flags for wrapped lines.\nget int GetWrapVisualFlags=2461(,)\n\nenu WrapVisualLocation=SC_WRAPVISUALFLAGLOC_\nval SC_WRAPVISUALFLAGLOC_DEFAULT=0x0000\nval SC_WRAPVISUALFLAGLOC_END_BY_TEXT=0x0001\nval SC_WRAPVISUALFLAGLOC_START_BY_TEXT=0x0002\n\n# Set the location of visual flags for wrapped lines.\nset void SetWrapVisualFlagsLocation=2462(int wrapVisualFlagsLocation,)\n\n# Retrive the location of visual flags for wrapped lines.\nget int GetWrapVisualFlagsLocation=2463(,)\n\n# Set the start indent for wrapped lines.\nset void SetWrapStartIndent=2464(int indent,)\n\n# Retrive the start indent for wrapped lines.\nget int GetWrapStartIndent=2465(,)\n\nenu WrapIndentMode=SC_WRAPINDENT_\nval SC_WRAPINDENT_FIXED=0\nval SC_WRAPINDENT_SAME=1\nval SC_WRAPINDENT_INDENT=2\nval SC_WRAPINDENT_DEEPINDENT=3\n\n# Sets how wrapped sublines are placed. Default is fixed.\nset void SetWrapIndentMode=2472(int wrapIndentMode,)\n\n# Retrieve how wrapped sublines are placed. Default is fixed.\nget int GetWrapIndentMode=2473(,)\n\nenu LineCache=SC_CACHE_\nval SC_CACHE_NONE=0\nval SC_CACHE_CARET=1\nval SC_CACHE_PAGE=2\nval SC_CACHE_DOCUMENT=3\n\n# Sets the degree of caching of layout information.\nset void SetLayoutCache=2272(int cacheMode,)\n\n# Retrieve the degree of caching of layout information.\nget int GetLayoutCache=2273(,)\n\n# Sets the document width assumed for scrolling.\nset void SetScrollWidth=2274(int pixelWidth,)\n\n# Retrieve the document width assumed for scrolling.\nget int GetScrollWidth=2275(,)\n\n# Sets whether the maximum width line displayed is used to set scroll width.\nset void SetScrollWidthTracking=2516(bool tracking,)\n\n# Retrieve whether the scroll width tracks wide lines.\nget bool GetScrollWidthTracking=2517(,)\n\n# Measure the pixel width of some text in a particular style.\n# NUL terminated text argument.\n# Does not handle tab or control characters.\nfun int TextWidth=2276(int style, string text)\n\n# Sets the scroll range so that maximum scroll position has\n# the last line at the bottom of the view (default).\n# Setting this to false allows scrolling one page below the last line.\nset void SetEndAtLastLine=2277(bool endAtLastLine,)\n\n# Retrieve whether the maximum scroll position has the last\n# line at the bottom of the view.\nget bool GetEndAtLastLine=2278(,)\n\n# Retrieve the height of a particular line of text in pixels.\nfun int TextHeight=2279(int line,)\n\n# Show or hide the vertical scroll bar.\nset void SetVScrollBar=2280(bool visible,)\n\n# Is the vertical scroll bar visible?\nget bool GetVScrollBar=2281(,)\n\n# Append a string to the end of the document without changing the selection.\nfun void AppendText=2282(int length, string text)\n\n# Is drawing done in two phases with backgrounds drawn before foregrounds?\nget bool GetTwoPhaseDraw=2283(,)\n\n# In twoPhaseDraw mode, drawing is performed in two phases, first the background\n# and then the foreground. This avoids chopping off characters that overlap the next run.\nset void SetTwoPhaseDraw=2284(bool twoPhase,)\n\nenu PhasesDraw=SC_PHASES_\nval SC_PHASES_ONE=0\nval SC_PHASES_TWO=1\nval SC_PHASES_MULTIPLE=2\n\n# How many phases is drawing done in?\nget int GetPhasesDraw=2673(,)\n\n# In one phase draw, text is drawn in a series of rectangular blocks with no overlap.\n# In two phase draw, text is drawn in a series of lines allowing runs to overlap horizontally.\n# In multiple phase draw, each element is drawn over the whole drawing area, allowing text\n# to overlap from one line to the next.\nset void SetPhasesDraw=2674(int phases,)\n\n# Control font anti-aliasing.\n\nenu FontQuality=SC_EFF_\nval SC_EFF_QUALITY_MASK=0xF\nval SC_EFF_QUALITY_DEFAULT=0\nval SC_EFF_QUALITY_NON_ANTIALIASED=1\nval SC_EFF_QUALITY_ANTIALIASED=2\nval SC_EFF_QUALITY_LCD_OPTIMIZED=3\n\n# Choose the quality level for text from the FontQuality enumeration.\nset void SetFontQuality=2611(int fontQuality,)\n\n# Retrieve the quality level for text.\nget int GetFontQuality=2612(,)\n\n# Scroll so that a display line is at the top of the display.\nset void SetFirstVisibleLine=2613(int displayLine,)\n\nenu MultiPaste=SC_MULTIPASTE_\nval SC_MULTIPASTE_ONCE=0\nval SC_MULTIPASTE_EACH=1\n\n# Change the effect of pasting when there are multiple selections.\nset void SetMultiPaste=2614(int multiPaste,)\n\n# Retrieve the effect of pasting when there are multiple selections.\nget int GetMultiPaste=2615(,)\n\n# Retrieve the value of a tag from a regular expression search.\n# Result is NUL-terminated.\nget int GetTag=2616(int tagNumber, stringresult tagValue)\n\n# Join the lines in the target.\nfun void LinesJoin=2288(,)\n\n# Split the lines in the target into lines that are less wide than pixelWidth\n# where possible.\nfun void LinesSplit=2289(int pixelWidth,)\n\n# Set one of the colours used as a chequerboard pattern in the fold margin\nfun void SetFoldMarginColour=2290(bool useSetting, colour back)\n# Set the other colour used as a chequerboard pattern in the fold margin\nfun void SetFoldMarginHiColour=2291(bool useSetting, colour fore)\n\nenu Accessibility=SC_ACCESSIBILITY_\nval SC_ACCESSIBILITY_DISABLED=0\nval SC_ACCESSIBILITY_ENABLED=1\n\n# Enable or disable accessibility.\nset void SetAccessibility=2702(int accessibility,)\n\n# Report accessibility status.\nget int GetAccessibility=2703(,)\n\n## New messages go here\n\n## Start of key messages\n# Move caret down one line.\nfun void LineDown=2300(,)\n\n# Move caret down one line extending selection to new caret position.\nfun void LineDownExtend=2301(,)\n\n# Move caret up one line.\nfun void LineUp=2302(,)\n\n# Move caret up one line extending selection to new caret position.\nfun void LineUpExtend=2303(,)\n\n# Move caret left one character.\nfun void CharLeft=2304(,)\n\n# Move caret left one character extending selection to new caret position.\nfun void CharLeftExtend=2305(,)\n\n# Move caret right one character.\nfun void CharRight=2306(,)\n\n# Move caret right one character extending selection to new caret position.\nfun void CharRightExtend=2307(,)\n\n# Move caret left one word.\nfun void WordLeft=2308(,)\n\n# Move caret left one word extending selection to new caret position.\nfun void WordLeftExtend=2309(,)\n\n# Move caret right one word.\nfun void WordRight=2310(,)\n\n# Move caret right one word extending selection to new caret position.\nfun void WordRightExtend=2311(,)\n\n# Move caret to first position on line.\nfun void Home=2312(,)\n\n# Move caret to first position on line extending selection to new caret position.\nfun void HomeExtend=2313(,)\n\n# Move caret to last position on line.\nfun void LineEnd=2314(,)\n\n# Move caret to last position on line extending selection to new caret position.\nfun void LineEndExtend=2315(,)\n\n# Move caret to first position in document.\nfun void DocumentStart=2316(,)\n\n# Move caret to first position in document extending selection to new caret position.\nfun void DocumentStartExtend=2317(,)\n\n# Move caret to last position in document.\nfun void DocumentEnd=2318(,)\n\n# Move caret to last position in document extending selection to new caret position.\nfun void DocumentEndExtend=2319(,)\n\n# Move caret one page up.\nfun void PageUp=2320(,)\n\n# Move caret one page up extending selection to new caret position.\nfun void PageUpExtend=2321(,)\n\n# Move caret one page down.\nfun void PageDown=2322(,)\n\n# Move caret one page down extending selection to new caret position.\nfun void PageDownExtend=2323(,)\n\n# Switch from insert to overtype mode or the reverse.\nfun void EditToggleOvertype=2324(,)\n\n# Cancel any modes such as call tip or auto-completion list display.\nfun void Cancel=2325(,)\n\n# Delete the selection or if no selection, the character before the caret.\nfun void DeleteBack=2326(,)\n\n# If selection is empty or all on one line replace the selection with a tab character.\n# If more than one line selected, indent the lines.\nfun void Tab=2327(,)\n\n# Dedent the selected lines.\nfun void BackTab=2328(,)\n\n# Insert a new line, may use a CRLF, CR or LF depending on EOL mode.\nfun void NewLine=2329(,)\n\n# Insert a Form Feed character.\nfun void FormFeed=2330(,)\n\n# Move caret to before first visible character on line.\n# If already there move to first character on line.\nfun void VCHome=2331(,)\n\n# Like VCHome but extending selection to new caret position.\nfun void VCHomeExtend=2332(,)\n\n# Magnify the displayed text by increasing the sizes by 1 point.\nfun void ZoomIn=2333(,)\n\n# Make the displayed text smaller by decreasing the sizes by 1 point.\nfun void ZoomOut=2334(,)\n\n# Delete the word to the left of the caret.\nfun void DelWordLeft=2335(,)\n\n# Delete the word to the right of the caret.\nfun void DelWordRight=2336(,)\n\n# Delete the word to the right of the caret, but not the trailing non-word characters.\nfun void DelWordRightEnd=2518(,)\n\n# Cut the line containing the caret.\nfun void LineCut=2337(,)\n\n# Delete the line containing the caret.\nfun void LineDelete=2338(,)\n\n# Switch the current line with the previous.\nfun void LineTranspose=2339(,)\n\n# Reverse order of selected lines.\nfun void LineReverse=2354(,)\n\n# Duplicate the current line.\nfun void LineDuplicate=2404(,)\n\n# Transform the selection to lower case.\nfun void LowerCase=2340(,)\n\n# Transform the selection to upper case.\nfun void UpperCase=2341(,)\n\n# Scroll the document down, keeping the caret visible.\nfun void LineScrollDown=2342(,)\n\n# Scroll the document up, keeping the caret visible.\nfun void LineScrollUp=2343(,)\n\n# Delete the selection or if no selection, the character before the caret.\n# Will not delete the character before at the start of a line.\nfun void DeleteBackNotLine=2344(,)\n\n# Move caret to first position on display line.\nfun void HomeDisplay=2345(,)\n\n# Move caret to first position on display line extending selection to\n# new caret position.\nfun void HomeDisplayExtend=2346(,)\n\n# Move caret to last position on display line.\nfun void LineEndDisplay=2347(,)\n\n# Move caret to last position on display line extending selection to new\n# caret position.\nfun void LineEndDisplayExtend=2348(,)\n\n# Like Home but when word-wrap is enabled goes first to start of display line\n# HomeDisplay, then to start of document line Home.\nfun void HomeWrap=2349(,)\n\n# Like HomeExtend but when word-wrap is enabled extends first to start of display line\n# HomeDisplayExtend, then to start of document line HomeExtend.\nfun void HomeWrapExtend=2450(,)\n\n# Like LineEnd but when word-wrap is enabled goes first to end of display line\n# LineEndDisplay, then to start of document line LineEnd.\nfun void LineEndWrap=2451(,)\n\n# Like LineEndExtend but when word-wrap is enabled extends first to end of display line\n# LineEndDisplayExtend, then to start of document line LineEndExtend.\nfun void LineEndWrapExtend=2452(,)\n\n# Like VCHome but when word-wrap is enabled goes first to start of display line\n# VCHomeDisplay, then behaves like VCHome.\nfun void VCHomeWrap=2453(,)\n\n# Like VCHomeExtend but when word-wrap is enabled extends first to start of display line\n# VCHomeDisplayExtend, then behaves like VCHomeExtend.\nfun void VCHomeWrapExtend=2454(,)\n\n# Copy the line containing the caret.\nfun void LineCopy=2455(,)\n\n# Move the caret inside current view if it's not there already.\nfun void MoveCaretInsideView=2401(,)\n\n# How many characters are on a line, including end of line characters?\nfun int LineLength=2350(int line,)\n\n# Highlight the characters at two positions.\nfun void BraceHighlight=2351(position posA, position posB)\n\n# Use specified indicator to highlight matching braces instead of changing their style.\nfun void BraceHighlightIndicator=2498(bool useSetting, int indicator)\n\n# Highlight the character at a position indicating there is no matching brace.\nfun void BraceBadLight=2352(position pos,)\n\n# Use specified indicator to highlight non matching brace instead of changing its style.\nfun void BraceBadLightIndicator=2499(bool useSetting, int indicator)\n\n# Find the position of a matching brace or INVALID_POSITION if no match.\n# The maxReStyle must be 0 for now. It may be defined in a future release.\nfun position BraceMatch=2353(position pos, int maxReStyle)\n\n# Are the end of line characters visible?\nget bool GetViewEOL=2355(,)\n\n# Make the end of line characters visible or invisible.\nset void SetViewEOL=2356(bool visible,)\n\n# Retrieve a pointer to the document object.\nget int GetDocPointer=2357(,)\n\n# Change the document object used.\nset void SetDocPointer=2358(, int doc)\n\n# Set which document modification events are sent to the container.\nset void SetModEventMask=2359(int eventMask,)\n\nenu EdgeVisualStyle=EDGE_\nval EDGE_NONE=0\nval EDGE_LINE=1\nval EDGE_BACKGROUND=2\nval EDGE_MULTILINE=3\n\n# Retrieve the column number which text should be kept within.\nget int GetEdgeColumn=2360(,)\n\n# Set the column number of the edge.\n# If text goes past the edge then it is highlighted.\nset void SetEdgeColumn=2361(int column,)\n\n# Retrieve the edge highlight mode.\nget int GetEdgeMode=2362(,)\n\n# The edge may be displayed by a line (EDGE_LINE/EDGE_MULTILINE) or by highlighting text that\n# goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE).\nset void SetEdgeMode=2363(int edgeMode,)\n\n# Retrieve the colour used in edge indication.\nget colour GetEdgeColour=2364(,)\n\n# Change the colour used in edge indication.\nset void SetEdgeColour=2365(colour edgeColour,)\n\n# Add a new vertical edge to the view.\nfun void MultiEdgeAddLine=2694(int column, colour edgeColour)\n\n# Clear all vertical edges.\nfun void MultiEdgeClearAll=2695(,)\n\n# Sets the current caret position to be the search anchor.\nfun void SearchAnchor=2366(,)\n\n# Find some text starting at the search anchor.\n# Does not ensure the selection is visible.\nfun int SearchNext=2367(int searchFlags, string text)\n\n# Find some text starting at the search anchor and moving backwards.\n# Does not ensure the selection is visible.\nfun int SearchPrev=2368(int searchFlags, string text)\n\n# Retrieves the number of lines completely visible.\nget int LinesOnScreen=2370(,)\n\nenu PopUp=SC_POPUP_\nval SC_POPUP_NEVER=0\nval SC_POPUP_ALL=1\nval SC_POPUP_TEXT=2\n\n# Set whether a pop up menu is displayed automatically when the user presses\n# the wrong mouse button on certain areas.\nfun void UsePopUp=2371(int popUpMode,)\n\n# Is the selection rectangular? The alternative is the more common stream selection.\nget bool SelectionIsRectangle=2372(,)\n\n# Set the zoom level. This number of points is added to the size of all fonts.\n# It may be positive to magnify or negative to reduce.\nset void SetZoom=2373(int zoomInPoints,)\n# Retrieve the zoom level.\nget int GetZoom=2374(,)\n\nenu DocumentOption=SC_DOCUMENTOPTION_\nval SC_DOCUMENTOPTION_DEFAULT=0\nval SC_DOCUMENTOPTION_STYLES_NONE=0x1\nval SC_DOCUMENTOPTION_TEXT_LARGE=0x100\n\n# Create a new document object.\n# Starts with reference count of 1 and not selected into editor.\nfun int CreateDocument=2375(int bytes, int documentOptions)\n# Extend life of document.\nfun void AddRefDocument=2376(, int doc)\n# Release a reference to the document, deleting document if it fades to black.\nfun void ReleaseDocument=2377(, int doc)\n\n# Get which document options are set.\nget int GetDocumentOptions=2379(,)\n\n# Get which document modification events are sent to the container.\nget int GetModEventMask=2378(,)\n\n# Set whether command events are sent to the container.\nset void SetCommandEvents=2717(bool commandEvents,)\n\n# Get whether command events are sent to the container.\nget bool GetCommandEvents=2718(,)\n\n# Change internal focus flag.\nset void SetFocus=2380(bool focus,)\n# Get internal focus flag.\nget bool GetFocus=2381(,)\n\nenu Status=SC_STATUS_\nval SC_STATUS_OK=0\nval SC_STATUS_FAILURE=1\nval SC_STATUS_BADALLOC=2\nval SC_STATUS_WARN_START=1000\nval SC_STATUS_WARN_REGEX=1001\n\n# Change error status - 0 = OK.\nset void SetStatus=2382(int status,)\n# Get error status.\nget int GetStatus=2383(,)\n\n# Set whether the mouse is captured when its button is pressed.\nset void SetMouseDownCaptures=2384(bool captures,)\n# Get whether mouse gets captured.\nget bool GetMouseDownCaptures=2385(,)\n\n# Set whether the mouse wheel can be active outside the window.\nset void SetMouseWheelCaptures=2696(bool captures,)\n# Get whether mouse wheel can be active outside the window.\nget bool GetMouseWheelCaptures=2697(,)\n\nenu CursorShape=SC_CURSOR\nval SC_CURSORNORMAL=-1\nval SC_CURSORARROW=2\nval SC_CURSORWAIT=4\nval SC_CURSORREVERSEARROW=7\n# Sets the cursor to one of the SC_CURSOR* values.\nset void SetCursor=2386(int cursorType,)\n# Get cursor type.\nget int GetCursor=2387(,)\n\n# Change the way control characters are displayed:\n# If symbol is < 32, keep the drawn way, else, use the given character.\nset void SetControlCharSymbol=2388(int symbol,)\n# Get the way control characters are displayed.\nget int GetControlCharSymbol=2389(,)\n\n# Move to the previous change in capitalisation.\nfun void WordPartLeft=2390(,)\n# Move to the previous change in capitalisation extending selection\n# to new caret position.\nfun void WordPartLeftExtend=2391(,)\n# Move to the change next in capitalisation.\nfun void WordPartRight=2392(,)\n# Move to the next change in capitalisation extending selection\n# to new caret position.\nfun void WordPartRightExtend=2393(,)\n\n# Constants for use with SetVisiblePolicy, similar to SetCaretPolicy.\nenu VisiblePolicy=VISIBLE_\nval VISIBLE_SLOP=0x01\nval VISIBLE_STRICT=0x04\n# Set the way the display area is determined when a particular line\n# is to be moved to by Find, FindNext, GotoLine, etc.\nfun void SetVisiblePolicy=2394(int visiblePolicy, int visibleSlop)\n\n# Delete back from the current position to the start of the line.\nfun void DelLineLeft=2395(,)\n\n# Delete forwards from the current position to the end of the line.\nfun void DelLineRight=2396(,)\n\n# Set the xOffset (ie, horizontal scroll position).\nset void SetXOffset=2397(int xOffset,)\n\n# Get the xOffset (ie, horizontal scroll position).\nget int GetXOffset=2398(,)\n\n# Set the last x chosen value to be the caret x position.\nfun void ChooseCaretX=2399(,)\n\n# Set the focus to this Scintilla widget.\nfun void GrabFocus=2400(,)\n\nenu CaretPolicy=CARET_\n# Caret policy, used by SetXCaretPolicy and SetYCaretPolicy.\n# If CARET_SLOP is set, we can define a slop value: caretSlop.\n# This value defines an unwanted zone (UZ) where the caret is... unwanted.\n# This zone is defined as a number of pixels near the vertical margins,\n# and as a number of lines near the horizontal margins.\n# By keeping the caret away from the edges, it is seen within its context,\n# so it is likely that the identifier that the caret is on can be completely seen,\n# and that the current line is seen with some of the lines following it which are\n# often dependent on that line.\nval CARET_SLOP=0x01\n# If CARET_STRICT is set, the policy is enforced... strictly.\n# The caret is centred on the display if slop is not set,\n# and cannot go in the UZ if slop is set.\nval CARET_STRICT=0x04\n# If CARET_JUMPS is set, the display is moved more energetically\n# so the caret can move in the same direction longer before the policy is applied again.\nval CARET_JUMPS=0x10\n# If CARET_EVEN is not set, instead of having symmetrical UZs,\n# the left and bottom UZs are extended up to right and top UZs respectively.\n# This way, we favour the displaying of useful information: the beginning of lines,\n# where most code reside, and the lines after the caret, eg. the body of a function.\nval CARET_EVEN=0x08\n\n# Set the way the caret is kept visible when going sideways.\n# The exclusion zone is given in pixels.\nfun void SetXCaretPolicy=2402(int caretPolicy, int caretSlop)\n\n# Set the way the line the caret is on is kept visible.\n# The exclusion zone is given in lines.\nfun void SetYCaretPolicy=2403(int caretPolicy, int caretSlop)\n\n# Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE).\nset void SetPrintWrapMode=2406(int wrapMode,)\n\n# Is printing line wrapped?\nget int GetPrintWrapMode=2407(,)\n\n# Set a fore colour for active hotspots.\nset void SetHotspotActiveFore=2410(bool useSetting, colour fore)\n\n# Get the fore colour for active hotspots.\nget colour GetHotspotActiveFore=2494(,)\n\n# Set a back colour for active hotspots.\nset void SetHotspotActiveBack=2411(bool useSetting, colour back)\n\n# Get the back colour for active hotspots.\nget colour GetHotspotActiveBack=2495(,)\n\n# Enable / Disable underlining active hotspots.\nset void SetHotspotActiveUnderline=2412(bool underline,)\n\n# Get whether underlining for active hotspots.\nget bool GetHotspotActiveUnderline=2496(,)\n\n# Limit hotspots to single line so hotspots on two lines don't merge.\nset void SetHotspotSingleLine=2421(bool singleLine,)\n\n# Get the HotspotSingleLine property\nget bool GetHotspotSingleLine=2497(,)\n\n# Move caret down one paragraph (delimited by empty lines).\nfun void ParaDown=2413(,)\n# Extend selection down one paragraph (delimited by empty lines).\nfun void ParaDownExtend=2414(,)\n# Move caret up one paragraph (delimited by empty lines).\nfun void ParaUp=2415(,)\n# Extend selection up one paragraph (delimited by empty lines).\nfun void ParaUpExtend=2416(,)\n\n# Given a valid document position, return the previous position taking code\n# page into account. Returns 0 if passed 0.\nfun position PositionBefore=2417(position pos,)\n\n# Given a valid document position, return the next position taking code\n# page into account. Maximum value returned is the last position in the document.\nfun position PositionAfter=2418(position pos,)\n\n# Given a valid document position, return a position that differs in a number\n# of characters. Returned value is always between 0 and last position in document.\nfun position PositionRelative=2670(position pos, int relative)\n\n# Given a valid document position, return a position that differs in a number\n# of UTF-16 code units. Returned value is always between 0 and last position in document.\n# The result may point half way (2 bytes) inside a non-BMP character.\nfun position PositionRelativeCodeUnits=2716(position pos, int relative)\n\n# Copy a range of text to the clipboard. Positions are clipped into the document.\nfun void CopyRange=2419(position start, position end)\n\n# Copy argument text to the clipboard.\nfun void CopyText=2420(int length, string text)\n\nenu SelectionMode=SC_SEL_\nval SC_SEL_STREAM=0\nval SC_SEL_RECTANGLE=1\nval SC_SEL_LINES=2\nval SC_SEL_THIN=3\n\n# Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or\n# by lines (SC_SEL_LINES).\nset void SetSelectionMode=2422(int selectionMode,)\n\n# Get the mode of the current selection.\nget int GetSelectionMode=2423(,)\n\n# Get whether or not regular caret moves will extend or reduce the selection.\nget bool GetMoveExtendsSelection=2706(,)\n\n# Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).\nfun position GetLineSelStartPosition=2424(int line,)\n\n# Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line).\nfun position GetLineSelEndPosition=2425(int line,)\n\n## RectExtended rectangular selection moves\n# Move caret down one line, extending rectangular selection to new caret position.\nfun void LineDownRectExtend=2426(,)\n\n# Move caret up one line, extending rectangular selection to new caret position.\nfun void LineUpRectExtend=2427(,)\n\n# Move caret left one character, extending rectangular selection to new caret position.\nfun void CharLeftRectExtend=2428(,)\n\n# Move caret right one character, extending rectangular selection to new caret position.\nfun void CharRightRectExtend=2429(,)\n\n# Move caret to first position on line, extending rectangular selection to new caret position.\nfun void HomeRectExtend=2430(,)\n\n# Move caret to before first visible character on line.\n# If already there move to first character on line.\n# In either case, extend rectangular selection to new caret position.\nfun void VCHomeRectExtend=2431(,)\n\n# Move caret to last position on line, extending rectangular selection to new caret position.\nfun void LineEndRectExtend=2432(,)\n\n# Move caret one page up, extending rectangular selection to new caret position.\nfun void PageUpRectExtend=2433(,)\n\n# Move caret one page down, extending rectangular selection to new caret position.\nfun void PageDownRectExtend=2434(,)\n\n\n# Move caret to top of page, or one page up if already at top of page.\nfun void StutteredPageUp=2435(,)\n\n# Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.\nfun void StutteredPageUpExtend=2436(,)\n\n# Move caret to bottom of page, or one page down if already at bottom of page.\nfun void StutteredPageDown=2437(,)\n\n# Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.\nfun void StutteredPageDownExtend=2438(,)\n\n\n# Move caret left one word, position cursor at end of word.\nfun void WordLeftEnd=2439(,)\n\n# Move caret left one word, position cursor at end of word, extending selection to new caret position.\nfun void WordLeftEndExtend=2440(,)\n\n# Move caret right one word, position cursor at end of word.\nfun void WordRightEnd=2441(,)\n\n# Move caret right one word, position cursor at end of word, extending selection to new caret position.\nfun void WordRightEndExtend=2442(,)\n\n# Set the set of characters making up whitespace for when moving or selecting by word.\n# Should be called after SetWordChars.\nset void SetWhitespaceChars=2443(, string characters)\n\n# Get the set of characters making up whitespace for when moving or selecting by word.\nget int GetWhitespaceChars=2647(, stringresult characters)\n\n# Set the set of characters making up punctuation characters\n# Should be called after SetWordChars.\nset void SetPunctuationChars=2648(, string characters)\n\n# Get the set of characters making up punctuation characters\nget int GetPunctuationChars=2649(, stringresult characters)\n\n# Reset the set of characters for whitespace and word characters to the defaults.\nfun void SetCharsDefault=2444(,)\n\n# Get currently selected item position in the auto-completion list\nget int AutoCGetCurrent=2445(,)\n\n# Get currently selected item text in the auto-completion list\n# Returns the length of the item text\n# Result is NUL-terminated.\nget int AutoCGetCurrentText=2610(, stringresult text)\n\nenu CaseInsensitiveBehaviour=SC_CASEINSENSITIVEBEHAVIOUR_\nval SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE=0\nval SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE=1\n\n# Set auto-completion case insensitive behaviour to either prefer case-sensitive matches or have no preference.\nset void AutoCSetCaseInsensitiveBehaviour=2634(int behaviour,)\n\n# Get auto-completion case insensitive behaviour.\nget int AutoCGetCaseInsensitiveBehaviour=2635(,)\n\nenu MultiAutoComplete=SC_MULTIAUTOC_\nval SC_MULTIAUTOC_ONCE=0\nval SC_MULTIAUTOC_EACH=1\n\n# Change the effect of autocompleting when there are multiple selections.\nset void AutoCSetMulti=2636(int multi,)\n\n# Retrieve the effect of autocompleting when there are multiple selections.\nget int AutoCGetMulti=2637(,)\n\nenu Ordering=SC_ORDER_\nval SC_ORDER_PRESORTED=0\nval SC_ORDER_PERFORMSORT=1\nval SC_ORDER_CUSTOM=2\n\n# Set the way autocompletion lists are ordered.\nset void AutoCSetOrder=2660(int order,)\n\n# Get the way autocompletion lists are ordered.\nget int AutoCGetOrder=2661(,)\n\n# Enlarge the document to a particular size of text bytes.\nfun void Allocate=2446(int bytes,)\n\n# Returns the target converted to UTF8.\n# Return the length in bytes.\nfun int TargetAsUTF8=2447(, stringresult s)\n\n# Set the length of the utf8 argument for calling EncodedFromUTF8.\n# Set to -1 and the string will be measured to the first nul.\nfun void SetLengthForEncode=2448(int bytes,)\n\n# Translates a UTF8 string into the document encoding.\n# Return the length of the result in bytes.\n# On error return 0.\nfun int EncodedFromUTF8=2449(string utf8, stringresult encoded)\n\n# Find the position of a column on a line taking into account tabs and\n# multi-byte characters. If beyond end of line, return line end position.\nfun int FindColumn=2456(int line, int column)\n\n# Can the caret preferred x position only be changed by explicit movement commands?\nget int GetCaretSticky=2457(,)\n\n# Stop the caret preferred x position changing when the user types.\nset void SetCaretSticky=2458(int useCaretStickyBehaviour,)\n\nenu CaretSticky=SC_CARETSTICKY_\nval SC_CARETSTICKY_OFF=0\nval SC_CARETSTICKY_ON=1\nval SC_CARETSTICKY_WHITESPACE=2\n\n# Switch between sticky and non-sticky: meant to be bound to a key.\nfun void ToggleCaretSticky=2459(,)\n\n# Enable/Disable convert-on-paste for line endings\nset void SetPasteConvertEndings=2467(bool convert,)\n\n# Get convert-on-paste setting\nget bool GetPasteConvertEndings=2468(,)\n\n# Duplicate the selection. If selection empty duplicate the line containing the caret.\nfun void SelectionDuplicate=2469(,)\n\nenu Alpha=SC_ALPHA_\nval SC_ALPHA_TRANSPARENT=0\nval SC_ALPHA_OPAQUE=255\nval SC_ALPHA_NOALPHA=256\n\n# Set background alpha of the caret line.\nset void SetCaretLineBackAlpha=2470(int alpha,)\n\n# Get the background alpha of the caret line.\nget int GetCaretLineBackAlpha=2471(,)\n\nenu CaretStyle=CARETSTYLE_\nval CARETSTYLE_INVISIBLE=0\nval CARETSTYLE_LINE=1\nval CARETSTYLE_BLOCK=2\n\n# Set the style of the caret to be drawn.\nset void SetCaretStyle=2512(int caretStyle,)\n\n# Returns the current style of the caret.\nget int GetCaretStyle=2513(,)\n\n# Set the indicator used for IndicatorFillRange and IndicatorClearRange\nset void SetIndicatorCurrent=2500(int indicator,)\n\n# Get the current indicator\nget int GetIndicatorCurrent=2501(,)\n\n# Set the value used for IndicatorFillRange\nset void SetIndicatorValue=2502(int value,)\n\n# Get the current indicator value\nget int GetIndicatorValue=2503(,)\n\n# Turn a indicator on over a range.\nfun void IndicatorFillRange=2504(position start, int lengthFill)\n\n# Turn a indicator off over a range.\nfun void IndicatorClearRange=2505(position start, int lengthClear)\n\n# Are any indicators present at pos?\nfun int IndicatorAllOnFor=2506(position pos,)\n\n# What value does a particular indicator have at a position?\nfun int IndicatorValueAt=2507(int indicator, position pos)\n\n# Where does a particular indicator start?\nfun int IndicatorStart=2508(int indicator, position pos)\n\n# Where does a particular indicator end?\nfun int IndicatorEnd=2509(int indicator, position pos)\n\n# Set number of entries in position cache\nset void SetPositionCache=2514(int size,)\n\n# How many entries are allocated to the position cache?\nget int GetPositionCache=2515(,)\n\n# Copy the selection, if selection empty copy the line with the caret\nfun void CopyAllowLine=2519(,)\n\n# Compact the document buffer and return a read-only pointer to the\n# characters in the document.\nget int GetCharacterPointer=2520(,)\n\n# Return a read-only pointer to a range of characters in the document.\n# May move the gap so that the range is contiguous, but will only move up\n# to lengthRange bytes.\nget int GetRangePointer=2643(position start, int lengthRange)\n\n# Return a position which, to avoid performance costs, should not be within\n# the range of a call to GetRangePointer.\nget position GetGapPosition=2644(,)\n\n# Set the alpha fill colour of the given indicator.\nset void IndicSetAlpha=2523(int indicator, int alpha)\n\n# Get the alpha fill colour of the given indicator.\nget int IndicGetAlpha=2524(int indicator,)\n\n# Set the alpha outline colour of the given indicator.\nset void IndicSetOutlineAlpha=2558(int indicator, int alpha)\n\n# Get the alpha outline colour of the given indicator.\nget int IndicGetOutlineAlpha=2559(int indicator,)\n\n# Set extra ascent for each line\nset void SetExtraAscent=2525(int extraAscent,)\n\n# Get extra ascent for each line\nget int GetExtraAscent=2526(,)\n\n# Set extra descent for each line\nset void SetExtraDescent=2527(int extraDescent,)\n\n# Get extra descent for each line\nget int GetExtraDescent=2528(,)\n\n# Which symbol was defined for markerNumber with MarkerDefine\nfun int MarkerSymbolDefined=2529(int markerNumber,)\n\n# Set the text in the text margin for a line\nset void MarginSetText=2530(int line, string text)\n\n# Get the text in the text margin for a line\nget int MarginGetText=2531(int line, stringresult text)\n\n# Set the style number for the text margin for a line\nset void MarginSetStyle=2532(int line, int style)\n\n# Get the style number for the text margin for a line\nget int MarginGetStyle=2533(int line,)\n\n# Set the style in the text margin for a line\nset void MarginSetStyles=2534(int line, string styles)\n\n# Get the styles in the text margin for a line\nget int MarginGetStyles=2535(int line, stringresult styles)\n\n# Clear the margin text on all lines\nfun void MarginTextClearAll=2536(,)\n\n# Get the start of the range of style numbers used for margin text\nset void MarginSetStyleOffset=2537(int style,)\n\n# Get the start of the range of style numbers used for margin text\nget int MarginGetStyleOffset=2538(,)\n\nenu MarginOption=SC_MARGINOPTION_\nval SC_MARGINOPTION_NONE=0\nval SC_MARGINOPTION_SUBLINESELECT=1\n\n# Set the margin options.\nset void SetMarginOptions=2539(int marginOptions,)\n\n# Get the margin options.\nget int GetMarginOptions=2557(,)\n\n# Set the annotation text for a line\nset void AnnotationSetText=2540(int line, string text)\n\n# Get the annotation text for a line\nget int AnnotationGetText=2541(int line, stringresult text)\n\n# Set the style number for the annotations for a line\nset void AnnotationSetStyle=2542(int line, int style)\n\n# Get the style number for the annotations for a line\nget int AnnotationGetStyle=2543(int line,)\n\n# Set the annotation styles for a line\nset void AnnotationSetStyles=2544(int line, string styles)\n\n# Get the annotation styles for a line\nget int AnnotationGetStyles=2545(int line, stringresult styles)\n\n# Get the number of annotation lines for a line\nget int AnnotationGetLines=2546(int line,)\n\n# Clear the annotations from all lines\nfun void AnnotationClearAll=2547(,)\n\nenu AnnotationVisible=ANNOTATION_\nval ANNOTATION_HIDDEN=0\nval ANNOTATION_STANDARD=1\nval ANNOTATION_BOXED=2\nval ANNOTATION_INDENTED=3\n\n# Set the visibility for the annotations for a view\nset void AnnotationSetVisible=2548(int visible,)\n\n# Get the visibility for the annotations for a view\nget int AnnotationGetVisible=2549(,)\n\n# Get the start of the range of style numbers used for annotations\nset void AnnotationSetStyleOffset=2550(int style,)\n\n# Get the start of the range of style numbers used for annotations\nget int AnnotationGetStyleOffset=2551(,)\n\n# Release all extended (>255) style numbers\nfun void ReleaseAllExtendedStyles=2552(,)\n\n# Allocate some extended (>255) style numbers and return the start of the range\nfun int AllocateExtendedStyles=2553(int numberStyles,)\n\nval UNDO_MAY_COALESCE=1\n\n# Add a container action to the undo stack\nfun void AddUndoAction=2560(int token, int flags)\n\n# Find the position of a character from a point within the window.\nfun position CharPositionFromPoint=2561(int x, int y)\n\n# Find the position of a character from a point within the window.\n# Return INVALID_POSITION if not close to text.\nfun position CharPositionFromPointClose=2562(int x, int y)\n\n# Set whether switching to rectangular mode while selecting with the mouse is allowed.\nset void SetMouseSelectionRectangularSwitch=2668(bool mouseSelectionRectangularSwitch,)\n\n# Whether switching to rectangular mode while selecting with the mouse is allowed.\nget bool GetMouseSelectionRectangularSwitch=2669(,)\n\n# Set whether multiple selections can be made\nset void SetMultipleSelection=2563(bool multipleSelection,)\n\n# Whether multiple selections can be made\nget bool GetMultipleSelection=2564(,)\n\n# Set whether typing can be performed into multiple selections\nset void SetAdditionalSelectionTyping=2565(bool additionalSelectionTyping,)\n\n# Whether typing can be performed into multiple selections\nget bool GetAdditionalSelectionTyping=2566(,)\n\n# Set whether additional carets will blink\nset void SetAdditionalCaretsBlink=2567(bool additionalCaretsBlink,)\n\n# Whether additional carets will blink\nget bool GetAdditionalCaretsBlink=2568(,)\n\n# Set whether additional carets are visible\nset void SetAdditionalCaretsVisible=2608(bool additionalCaretsVisible,)\n\n# Whether additional carets are visible\nget bool GetAdditionalCaretsVisible=2609(,)\n\n# How many selections are there?\nget int GetSelections=2570(,)\n\n# Is every selected range empty?\nget bool GetSelectionEmpty=2650(,)\n\n# Clear selections to a single empty stream selection\nfun void ClearSelections=2571(,)\n\n# Set a simple selection\nfun void SetSelection=2572(position caret, position anchor)\n\n# Add a selection\nfun void AddSelection=2573(position caret, position anchor)\n\n# Drop one selection\nfun void DropSelectionN=2671(int selection,)\n\n# Set the main selection\nset void SetMainSelection=2574(int selection,)\n\n# Which selection is the main selection\nget int GetMainSelection=2575(,)\n\n# Set the caret position of the nth selection.\nset void SetSelectionNCaret=2576(int selection, position caret)\n# Return the caret position of the nth selection.\nget position GetSelectionNCaret=2577(int selection,)\n# Set the anchor position of the nth selection.\nset void SetSelectionNAnchor=2578(int selection, position anchor)\n# Return the anchor position of the nth selection.\nget position GetSelectionNAnchor=2579(int selection,)\n# Set the virtual space of the caret of the nth selection.\nset void SetSelectionNCaretVirtualSpace=2580(int selection, int space)\n# Return the virtual space of the caret of the nth selection.\nget int GetSelectionNCaretVirtualSpace=2581(int selection,)\n# Set the virtual space of the anchor of the nth selection.\nset void SetSelectionNAnchorVirtualSpace=2582(int selection, int space)\n# Return the virtual space of the anchor of the nth selection.\nget int GetSelectionNAnchorVirtualSpace=2583(int selection,)\n\n# Sets the position that starts the selection - this becomes the anchor.\nset void SetSelectionNStart=2584(int selection, position anchor)\n\n# Returns the position at the start of the selection.\nget position GetSelectionNStart=2585(int selection,)\n\n# Sets the position that ends the selection - this becomes the currentPosition.\nset void SetSelectionNEnd=2586(int selection, position caret)\n\n# Returns the position at the end of the selection.\nget position GetSelectionNEnd=2587(int selection,)\n\n# Set the caret position of the rectangular selection.\nset void SetRectangularSelectionCaret=2588(position caret,)\n# Return the caret position of the rectangular selection.\nget position GetRectangularSelectionCaret=2589(,)\n# Set the anchor position of the rectangular selection.\nset void SetRectangularSelectionAnchor=2590(position anchor,)\n# Return the anchor position of the rectangular selection.\nget position GetRectangularSelectionAnchor=2591(,)\n# Set the virtual space of the caret of the rectangular selection.\nset void SetRectangularSelectionCaretVirtualSpace=2592(int space,)\n# Return the virtual space of the caret of the rectangular selection.\nget int GetRectangularSelectionCaretVirtualSpace=2593(,)\n# Set the virtual space of the anchor of the rectangular selection.\nset void SetRectangularSelectionAnchorVirtualSpace=2594(int space,)\n# Return the virtual space of the anchor of the rectangular selection.\nget int GetRectangularSelectionAnchorVirtualSpace=2595(,)\n\nenu VirtualSpace=SCVS_\nval SCVS_NONE=0\nval SCVS_RECTANGULARSELECTION=1\nval SCVS_USERACCESSIBLE=2\nval SCVS_NOWRAPLINESTART=4\n\n# Set options for virtual space behaviour.\nset void SetVirtualSpaceOptions=2596(int virtualSpaceOptions,)\n# Return options for virtual space behaviour.\nget int GetVirtualSpaceOptions=2597(,)\n\n# On GTK+, allow selecting the modifier key to use for mouse-based\n# rectangular selection. Often the window manager requires Alt+Mouse Drag\n# for moving windows.\n# Valid values are SCMOD_CTRL(default), SCMOD_ALT, or SCMOD_SUPER.\n\nset void SetRectangularSelectionModifier=2598(int modifier,)\n\n# Get the modifier key used for rectangular selection.\nget int GetRectangularSelectionModifier=2599(,)\n\n# Set the foreground colour of additional selections.\n# Must have previously called SetSelFore with non-zero first argument for this to have an effect.\nset void SetAdditionalSelFore=2600(colour fore,)\n\n# Set the background colour of additional selections.\n# Must have previously called SetSelBack with non-zero first argument for this to have an effect.\nset void SetAdditionalSelBack=2601(colour back,)\n\n# Set the alpha of the selection.\nset void SetAdditionalSelAlpha=2602(int alpha,)\n\n# Get the alpha of the selection.\nget int GetAdditionalSelAlpha=2603(,)\n\n# Set the foreground colour of additional carets.\nset void SetAdditionalCaretFore=2604(colour fore,)\n\n# Get the foreground colour of additional carets.\nget colour GetAdditionalCaretFore=2605(,)\n\n# Set the main selection to the next selection.\nfun void RotateSelection=2606(,)\n\n# Swap that caret and anchor of the main selection.\nfun void SwapMainAnchorCaret=2607(,)\n\n# Add the next occurrence of the main selection to the set of selections as main.\n# If the current selection is empty then select word around caret.\nfun void MultipleSelectAddNext=2688(,)\n\n# Add each occurrence of the main selection in the target to the set of selections.\n# If the current selection is empty then select word around caret.\nfun void MultipleSelectAddEach=2689(,)\n\n# Indicate that the internal state of a lexer has changed over a range and therefore\n# there may be a need to redraw.\nfun int ChangeLexerState=2617(position start, position end)\n\n# Find the next line at or after lineStart that is a contracted fold header line.\n# Return -1 when no more lines.\nfun int ContractedFoldNext=2618(int lineStart,)\n\n# Centre current line in window.\nfun void VerticalCentreCaret=2619(,)\n\n# Move the selected lines up one line, shifting the line above after the selection\nfun void MoveSelectedLinesUp=2620(,)\n\n# Move the selected lines down one line, shifting the line below before the selection\nfun void MoveSelectedLinesDown=2621(,)\n\n# Set the identifier reported as idFrom in notification messages.\nset void SetIdentifier=2622(int identifier,)\n\n# Get the identifier.\nget int GetIdentifier=2623(,)\n\n# Set the width for future RGBA image data.\nset void RGBAImageSetWidth=2624(int width,)\n\n# Set the height for future RGBA image data.\nset void RGBAImageSetHeight=2625(int height,)\n\n# Set the scale factor in percent for future RGBA image data.\nset void RGBAImageSetScale=2651(int scalePercent,)\n\n# Define a marker from RGBA data.\n# It has the width and height from RGBAImageSetWidth/Height\nfun void MarkerDefineRGBAImage=2626(int markerNumber, string pixels)\n\n# Register an RGBA image for use in autocompletion lists.\n# It has the width and height from RGBAImageSetWidth/Height\nfun void RegisterRGBAImage=2627(int type, string pixels)\n\n# Scroll to start of document.\nfun void ScrollToStart=2628(,)\n\n# Scroll to end of document.\nfun void ScrollToEnd=2629(,)\n\nenu Technology=SC_TECHNOLOGY_\nval SC_TECHNOLOGY_DEFAULT=0\nval SC_TECHNOLOGY_DIRECTWRITE=1\nval SC_TECHNOLOGY_DIRECTWRITERETAIN=2\nval SC_TECHNOLOGY_DIRECTWRITEDC=3\n\n# Set the technology used.\nset void SetTechnology=2630(int technology,)\n\n# Get the tech.\nget int GetTechnology=2631(,)\n\n# Create an ILoader*.\nfun int CreateLoader=2632(int bytes, int documentOptions)\n\n# On OS X, show a find indicator.\nfun void FindIndicatorShow=2640(position start, position end)\n\n# On OS X, flash a find indicator, then fade out.\nfun void FindIndicatorFlash=2641(position start, position end)\n\n# On OS X, hide the find indicator.\nfun void FindIndicatorHide=2642(,)\n\n# Move caret to before first visible character on display line.\n# If already there move to first character on display line.\nfun void VCHomeDisplay=2652(,)\n\n# Like VCHomeDisplay but extending selection to new caret position.\nfun void VCHomeDisplayExtend=2653(,)\n\n# Is the caret line always visible?\nget bool GetCaretLineVisibleAlways=2654(,)\n\n# Sets the caret line to always visible.\nset void SetCaretLineVisibleAlways=2655(bool alwaysVisible,)\n\n# Line end types which may be used in addition to LF, CR, and CRLF\n# SC_LINE_END_TYPE_UNICODE includes U+2028 Line Separator,\n# U+2029 Paragraph Separator, and U+0085 Next Line\nenu LineEndType=SC_LINE_END_TYPE_\nval SC_LINE_END_TYPE_DEFAULT=0\nval SC_LINE_END_TYPE_UNICODE=1\n\n# Set the line end types that the application wants to use. May not be used if incompatible with lexer or encoding.\nset void SetLineEndTypesAllowed=2656(int lineEndBitSet,)\n\n# Get the line end types currently allowed.\nget int GetLineEndTypesAllowed=2657(,)\n\n# Get the line end types currently recognised. May be a subset of the allowed types due to lexer limitation.\nget int GetLineEndTypesActive=2658(,)\n\n# Set the way a character is drawn.\nset void SetRepresentation=2665(string encodedCharacter, string representation)\n\n# Set the way a character is drawn.\n# Result is NUL-terminated.\nget int GetRepresentation=2666(string encodedCharacter, stringresult representation)\n\n# Remove a character representation.\nfun void ClearRepresentation=2667(string encodedCharacter,)\n\n# Start notifying the container of all key presses and commands.\nfun void StartRecord=3001(,)\n\n# Stop notifying the container of all key presses and commands.\nfun void StopRecord=3002(,)\n\n# Set the lexing language of the document.\nset void SetLexer=4001(int lexer,)\n\n# Retrieve the lexing language of the document.\nget int GetLexer=4002(,)\n\n# Colourise a segment of the document using the current lexing language.\nfun void Colourise=4003(position start, position end)\n\n# Set up a value that may be used by a lexer for some optional feature.\nset void SetProperty=4004(string key, string value)\n\n# Maximum value of keywordSet parameter of SetKeyWords.\nval KEYWORDSET_MAX=8\n\n# Set up the key words used by the lexer.\nset void SetKeyWords=4005(int keyWordSet, string keyWords)\n\n# Set the lexing language of the document based on string name.\nset void SetLexerLanguage=4006(, string language)\n\n# Load a lexer library (dll / so).\nfun void LoadLexerLibrary=4007(, string path)\n\n# Retrieve a \"property\" value previously set with SetProperty.\n# Result is NUL-terminated.\nget int GetProperty=4008(string key, stringresult value)\n\n# Retrieve a \"property\" value previously set with SetProperty,\n# with \"$()\" variable replacement on returned buffer.\n# Result is NUL-terminated.\nget int GetPropertyExpanded=4009(string key, stringresult value)\n\n# Retrieve a \"property\" value previously set with SetProperty,\n# interpreted as an int AFTER any \"$()\" variable replacement.\nget int GetPropertyInt=4010(string key, int defaultValue)\n\n# Retrieve the name of the lexer.\n# Return the length of the text.\n# Result is NUL-terminated.\nget int GetLexerLanguage=4012(, stringresult language)\n\n# For private communication between an application and a known lexer.\nfun int PrivateLexerCall=4013(int operation, int pointer)\n\n# Retrieve a '\\n' separated list of properties understood by the current lexer.\n# Result is NUL-terminated.\nfun int PropertyNames=4014(, stringresult names)\n\nenu TypeProperty=SC_TYPE_\nval SC_TYPE_BOOLEAN=0\nval SC_TYPE_INTEGER=1\nval SC_TYPE_STRING=2\n\n# Retrieve the type of a property.\nfun int PropertyType=4015(string name,)\n\n# Describe a property.\n# Result is NUL-terminated.\nfun int DescribeProperty=4016(string name, stringresult description)\n\n# Retrieve a '\\n' separated list of descriptions of the keyword sets understood by the current lexer.\n# Result is NUL-terminated.\nfun int DescribeKeyWordSets=4017(, stringresult descriptions)\n\n# Bit set of LineEndType enumertion for which line ends beyond the standard\n# LF, CR, and CRLF are supported by the lexer.\nget int GetLineEndTypesSupported=4018(,)\n\n# Allocate a set of sub styles for a particular base style, returning start of range\nfun int AllocateSubStyles=4020(int styleBase, int numberStyles)\n\n# The starting style number for the sub styles associated with a base style\nget int GetSubStylesStart=4021(int styleBase,)\n\n# The number of sub styles associated with a base style\nget int GetSubStylesLength=4022(int styleBase,)\n\n# For a sub style, return the base style, else return the argument.\nget int GetStyleFromSubStyle=4027(int subStyle,)\n\n# For a secondary style, return the primary style, else return the argument.\nget int GetPrimaryStyleFromStyle=4028(int style,)\n\n# Free allocated sub styles\nfun void FreeSubStyles=4023(,)\n\n# Set the identifiers that are shown in a particular style\nset void SetIdentifiers=4024(int style, string identifiers)\n\n# Where styles are duplicated by a feature such as active/inactive code\n# return the distance between the two types.\nget int DistanceToSecondaryStyles=4025(,)\n\n# Get the set of base styles that can be extended with sub styles\n# Result is NUL-terminated.\nget int GetSubStyleBases=4026(, stringresult styles)\n\n# Retrieve the number of named styles for the lexer.\nget int GetNamedStyles=4029(,)\n\n# Retrieve the name of a style.\n# Result is NUL-terminated.\nfun int NameOfStyle=4030(int style, stringresult name)\n\n# Retrieve a ' ' separated list of style tags like \"literal quoted string\".\n# Result is NUL-terminated.\nfun int TagsOfStyle=4031(int style, stringresult tags)\n\n# Retrieve a description of a style.\n# Result is NUL-terminated.\nfun int DescriptionOfStyle=4032(int style, stringresult description)\n\n# Notifications\n# Type of modification and the action which caused the modification.\n# These are defined as a bit mask to make it easy to specify which notifications are wanted.\n# One bit is set from each of SC_MOD_* and SC_PERFORMED_*.\nenu ModificationFlags=SC_MOD_ SC_PERFORMED_ SC_MULTISTEPUNDOREDO SC_LASTSTEPINUNDOREDO SC_MULTILINEUNDOREDO SC_STARTACTION SC_MODEVENTMASKALL\nval SC_MOD_INSERTTEXT=0x1\nval SC_MOD_DELETETEXT=0x2\nval SC_MOD_CHANGESTYLE=0x4\nval SC_MOD_CHANGEFOLD=0x8\nval SC_PERFORMED_USER=0x10\nval SC_PERFORMED_UNDO=0x20\nval SC_PERFORMED_REDO=0x40\nval SC_MULTISTEPUNDOREDO=0x80\nval SC_LASTSTEPINUNDOREDO=0x100\nval SC_MOD_CHANGEMARKER=0x200\nval SC_MOD_BEFOREINSERT=0x400\nval SC_MOD_BEFOREDELETE=0x800\nval SC_MULTILINEUNDOREDO=0x1000\nval SC_STARTACTION=0x2000\nval SC_MOD_CHANGEINDICATOR=0x4000\nval SC_MOD_CHANGELINESTATE=0x8000\nval SC_MOD_CHANGEMARGIN=0x10000\nval SC_MOD_CHANGEANNOTATION=0x20000\nval SC_MOD_CONTAINER=0x40000\nval SC_MOD_LEXERSTATE=0x80000\nval SC_MOD_INSERTCHECK=0x100000\nval SC_MOD_CHANGETABSTOPS=0x200000\nval SC_MODEVENTMASKALL=0x3FFFFF\n\nenu Update=SC_UPDATE_\nval SC_UPDATE_CONTENT=0x1\nval SC_UPDATE_SELECTION=0x2\nval SC_UPDATE_V_SCROLL=0x4\nval SC_UPDATE_H_SCROLL=0x8\n\n# For compatibility, these go through the COMMAND notification rather than NOTIFY\n# and should have had exactly the same values as the EN_* constants.\n# Unfortunately the SETFOCUS and KILLFOCUS are flipped over from EN_*\n# As clients depend on these constants, this will not be changed.\nval SCEN_CHANGE=768\nval SCEN_SETFOCUS=512\nval SCEN_KILLFOCUS=256\n\n# Symbolic key codes and modifier flags.\n# ASCII and other printable characters below 256.\n# Extended keys above 300.\n\nenu Keys=SCK_\nval SCK_DOWN=300\nval SCK_UP=301\nval SCK_LEFT=302\nval SCK_RIGHT=303\nval SCK_HOME=304\nval SCK_END=305\nval SCK_PRIOR=306\nval SCK_NEXT=307\nval SCK_DELETE=308\nval SCK_INSERT=309\nval SCK_ESCAPE=7\nval SCK_BACK=8\nval SCK_TAB=9\nval SCK_RETURN=13\nval SCK_ADD=310\nval SCK_SUBTRACT=311\nval SCK_DIVIDE=312\nval SCK_WIN=313\nval SCK_RWIN=314\nval SCK_MENU=315\n\nenu KeyMod=SCMOD_\nval SCMOD_NORM=0\nval SCMOD_SHIFT=1\nval SCMOD_CTRL=2\nval SCMOD_ALT=4\nval SCMOD_SUPER=8\nval SCMOD_META=16\n\nenu CompletionMethods=SC_AC_\nval SC_AC_FILLUP=1\nval SC_AC_DOUBLECLICK=2\nval SC_AC_TAB=3\nval SC_AC_NEWLINE=4\nval SC_AC_COMMAND=5\n\n################################################\n# For SciLexer.h\nenu Lexer=SCLEX_\nval SCLEX_CONTAINER=0\nval SCLEX_NULL=1\nval SCLEX_PYTHON=2\nval SCLEX_CPP=3\nval SCLEX_HTML=4\nval SCLEX_XML=5\nval SCLEX_PERL=6\nval SCLEX_SQL=7\nval SCLEX_VB=8\nval SCLEX_PROPERTIES=9\nval SCLEX_ERRORLIST=10\nval SCLEX_MAKEFILE=11\nval SCLEX_BATCH=12\nval SCLEX_XCODE=13\nval SCLEX_LATEX=14\nval SCLEX_LUA=15\nval SCLEX_DIFF=16\nval SCLEX_CONF=17\nval SCLEX_PASCAL=18\nval SCLEX_AVE=19\nval SCLEX_ADA=20\nval SCLEX_LISP=21\nval SCLEX_RUBY=22\nval SCLEX_EIFFEL=23\nval SCLEX_EIFFELKW=24\nval SCLEX_TCL=25\nval SCLEX_NNCRONTAB=26\nval SCLEX_BULLANT=27\nval SCLEX_VBSCRIPT=28\nval SCLEX_BAAN=31\nval SCLEX_MATLAB=32\nval SCLEX_SCRIPTOL=33\nval SCLEX_ASM=34\nval SCLEX_CPPNOCASE=35\nval SCLEX_FORTRAN=36\nval SCLEX_F77=37\nval SCLEX_CSS=38\nval SCLEX_POV=39\nval SCLEX_LOUT=40\nval SCLEX_ESCRIPT=41\nval SCLEX_PS=42\nval SCLEX_NSIS=43\nval SCLEX_MMIXAL=44\nval SCLEX_CLW=45\nval SCLEX_CLWNOCASE=46\nval SCLEX_LOT=47\nval SCLEX_YAML=48\nval SCLEX_TEX=49\nval SCLEX_METAPOST=50\nval SCLEX_POWERBASIC=51\nval SCLEX_FORTH=52\nval SCLEX_ERLANG=53\nval SCLEX_OCTAVE=54\nval SCLEX_MSSQL=55\nval SCLEX_VERILOG=56\nval SCLEX_KIX=57\nval SCLEX_GUI4CLI=58\nval SCLEX_SPECMAN=59\nval SCLEX_AU3=60\nval SCLEX_APDL=61\nval SCLEX_BASH=62\nval SCLEX_ASN1=63\nval SCLEX_VHDL=64\nval SCLEX_CAML=65\nval SCLEX_BLITZBASIC=66\nval SCLEX_PUREBASIC=67\nval SCLEX_HASKELL=68\nval SCLEX_PHPSCRIPT=69\nval SCLEX_TADS3=70\nval SCLEX_REBOL=71\nval SCLEX_SMALLTALK=72\nval SCLEX_FLAGSHIP=73\nval SCLEX_CSOUND=74\nval SCLEX_FREEBASIC=75\nval SCLEX_INNOSETUP=76\nval SCLEX_OPAL=77\nval SCLEX_SPICE=78\nval SCLEX_D=79\nval SCLEX_CMAKE=80\nval SCLEX_GAP=81\nval SCLEX_PLM=82\nval SCLEX_PROGRESS=83\nval SCLEX_ABAQUS=84\nval SCLEX_ASYMPTOTE=85\nval SCLEX_R=86\nval SCLEX_MAGIK=87\nval SCLEX_POWERSHELL=88\nval SCLEX_MYSQL=89\nval SCLEX_PO=90\nval SCLEX_TAL=91\nval SCLEX_COBOL=92\nval SCLEX_TACL=93\nval SCLEX_SORCUS=94\nval SCLEX_POWERPRO=95\nval SCLEX_NIMROD=96\nval SCLEX_SML=97\nval SCLEX_MARKDOWN=98\nval SCLEX_TXT2TAGS=99\nval SCLEX_A68K=100\nval SCLEX_MODULA=101\nval SCLEX_COFFEESCRIPT=102\nval SCLEX_TCMD=103\nval SCLEX_AVS=104\nval SCLEX_ECL=105\nval SCLEX_OSCRIPT=106\nval SCLEX_VISUALPROLOG=107\nval SCLEX_LITERATEHASKELL=108\nval SCLEX_STTXT=109\nval SCLEX_KVIRC=110\nval SCLEX_RUST=111\nval SCLEX_DMAP=112\nval SCLEX_AS=113\nval SCLEX_DMIS=114\nval SCLEX_REGISTRY=115\nval SCLEX_BIBTEX=116\nval SCLEX_SREC=117\nval SCLEX_IHEX=118\nval SCLEX_TEHEX=119\nval SCLEX_JSON=120\nval SCLEX_EDIFACT=121\nval SCLEX_INDENT=122\nval SCLEX_MAXIMA=123\nval SCLEX_STATA=124\nval SCLEX_SAS=125\nval SCLEX_LPEG=999\n\n# When a lexer specifies its language as SCLEX_AUTOMATIC it receives a\n# value assigned in sequence from SCLEX_AUTOMATIC+1.\nval SCLEX_AUTOMATIC=1000\n# Lexical states for SCLEX_PYTHON\nlex Python=SCLEX_PYTHON SCE_P_\nlex Nimrod=SCLEX_NIMROD SCE_P_\nval SCE_P_DEFAULT=0\nval SCE_P_COMMENTLINE=1\nval SCE_P_NUMBER=2\nval SCE_P_STRING=3\nval SCE_P_CHARACTER=4\nval SCE_P_WORD=5\nval SCE_P_TRIPLE=6\nval SCE_P_TRIPLEDOUBLE=7\nval SCE_P_CLASSNAME=8\nval SCE_P_DEFNAME=9\nval SCE_P_OPERATOR=10\nval SCE_P_IDENTIFIER=11\nval SCE_P_COMMENTBLOCK=12\nval SCE_P_STRINGEOL=13\nval SCE_P_WORD2=14\nval SCE_P_DECORATOR=15\nval SCE_P_FSTRING=16\nval SCE_P_FCHARACTER=17\nval SCE_P_FTRIPLE=18\nval SCE_P_FTRIPLEDOUBLE=19\n# Lexical states for SCLEX_CPP\n# Lexical states for SCLEX_BULLANT\n# Lexical states for SCLEX_COBOL\n# Lexical states for SCLEX_TACL\n# Lexical states for SCLEX_TAL\nlex Cpp=SCLEX_CPP SCE_C_\nlex BullAnt=SCLEX_BULLANT SCE_C_\nlex COBOL=SCLEX_COBOL SCE_C_\nlex TACL=SCLEX_TACL SCE_C_\nlex TAL=SCLEX_TAL SCE_C_\nval SCE_C_DEFAULT=0\nval SCE_C_COMMENT=1\nval SCE_C_COMMENTLINE=2\nval SCE_C_COMMENTDOC=3\nval SCE_C_NUMBER=4\nval SCE_C_WORD=5\nval SCE_C_STRING=6\nval SCE_C_CHARACTER=7\nval SCE_C_UUID=8\nval SCE_C_PREPROCESSOR=9\nval SCE_C_OPERATOR=10\nval SCE_C_IDENTIFIER=11\nval SCE_C_STRINGEOL=12\nval SCE_C_VERBATIM=13\nval SCE_C_REGEX=14\nval SCE_C_COMMENTLINEDOC=15\nval SCE_C_WORD2=16\nval SCE_C_COMMENTDOCKEYWORD=17\nval SCE_C_COMMENTDOCKEYWORDERROR=18\nval SCE_C_GLOBALCLASS=19\nval SCE_C_STRINGRAW=20\nval SCE_C_TRIPLEVERBATIM=21\nval SCE_C_HASHQUOTEDSTRING=22\nval SCE_C_PREPROCESSORCOMMENT=23\nval SCE_C_PREPROCESSORCOMMENTDOC=24\nval SCE_C_USERLITERAL=25\nval SCE_C_TASKMARKER=26\nval SCE_C_ESCAPESEQUENCE=27\n# Lexical states for SCLEX_D\nlex D=SCLEX_D SCE_D_\nval SCE_D_DEFAULT=0\nval SCE_D_COMMENT=1\nval SCE_D_COMMENTLINE=2\nval SCE_D_COMMENTDOC=3\nval SCE_D_COMMENTNESTED=4\nval SCE_D_NUMBER=5\nval SCE_D_WORD=6\nval SCE_D_WORD2=7\nval SCE_D_WORD3=8\nval SCE_D_TYPEDEF=9\nval SCE_D_STRING=10\nval SCE_D_STRINGEOL=11\nval SCE_D_CHARACTER=12\nval SCE_D_OPERATOR=13\nval SCE_D_IDENTIFIER=14\nval SCE_D_COMMENTLINEDOC=15\nval SCE_D_COMMENTDOCKEYWORD=16\nval SCE_D_COMMENTDOCKEYWORDERROR=17\nval SCE_D_STRINGB=18\nval SCE_D_STRINGR=19\nval SCE_D_WORD5=20\nval SCE_D_WORD6=21\nval SCE_D_WORD7=22\n# Lexical states for SCLEX_TCL\nlex TCL=SCLEX_TCL SCE_TCL_\nval SCE_TCL_DEFAULT=0\nval SCE_TCL_COMMENT=1\nval SCE_TCL_COMMENTLINE=2\nval SCE_TCL_NUMBER=3\nval SCE_TCL_WORD_IN_QUOTE=4\nval SCE_TCL_IN_QUOTE=5\nval SCE_TCL_OPERATOR=6\nval SCE_TCL_IDENTIFIER=7\nval SCE_TCL_SUBSTITUTION=8\nval SCE_TCL_SUB_BRACE=9\nval SCE_TCL_MODIFIER=10\nval SCE_TCL_EXPAND=11\nval SCE_TCL_WORD=12\nval SCE_TCL_WORD2=13\nval SCE_TCL_WORD3=14\nval SCE_TCL_WORD4=15\nval SCE_TCL_WORD5=16\nval SCE_TCL_WORD6=17\nval SCE_TCL_WORD7=18\nval SCE_TCL_WORD8=19\nval SCE_TCL_COMMENT_BOX=20\nval SCE_TCL_BLOCK_COMMENT=21\n# Lexical states for SCLEX_HTML, SCLEX_XML\nlex HTML=SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_\nlex XML=SCLEX_XML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_\nval SCE_H_DEFAULT=0\nval SCE_H_TAG=1\nval SCE_H_TAGUNKNOWN=2\nval SCE_H_ATTRIBUTE=3\nval SCE_H_ATTRIBUTEUNKNOWN=4\nval SCE_H_NUMBER=5\nval SCE_H_DOUBLESTRING=6\nval SCE_H_SINGLESTRING=7\nval SCE_H_OTHER=8\nval SCE_H_COMMENT=9\nval SCE_H_ENTITY=10\n# XML and ASP\nval SCE_H_TAGEND=11\nval SCE_H_XMLSTART=12\nval SCE_H_XMLEND=13\nval SCE_H_SCRIPT=14\nval SCE_H_ASP=15\nval SCE_H_ASPAT=16\nval SCE_H_CDATA=17\nval SCE_H_QUESTION=18\n# More HTML\nval SCE_H_VALUE=19\n# X-Code\nval SCE_H_XCCOMMENT=20\n# SGML\nval SCE_H_SGML_DEFAULT=21\nval SCE_H_SGML_COMMAND=22\nval SCE_H_SGML_1ST_PARAM=23\nval SCE_H_SGML_DOUBLESTRING=24\nval SCE_H_SGML_SIMPLESTRING=25\nval SCE_H_SGML_ERROR=26\nval SCE_H_SGML_SPECIAL=27\nval SCE_H_SGML_ENTITY=28\nval SCE_H_SGML_COMMENT=29\nval SCE_H_SGML_1ST_PARAM_COMMENT=30\nval SCE_H_SGML_BLOCK_DEFAULT=31\n# Embedded Javascript\nval SCE_HJ_START=40\nval SCE_HJ_DEFAULT=41\nval SCE_HJ_COMMENT=42\nval SCE_HJ_COMMENTLINE=43\nval SCE_HJ_COMMENTDOC=44\nval SCE_HJ_NUMBER=45\nval SCE_HJ_WORD=46\nval SCE_HJ_KEYWORD=47\nval SCE_HJ_DOUBLESTRING=48\nval SCE_HJ_SINGLESTRING=49\nval SCE_HJ_SYMBOLS=50\nval SCE_HJ_STRINGEOL=51\nval SCE_HJ_REGEX=52\n# ASP Javascript\nval SCE_HJA_START=55\nval SCE_HJA_DEFAULT=56\nval SCE_HJA_COMMENT=57\nval SCE_HJA_COMMENTLINE=58\nval SCE_HJA_COMMENTDOC=59\nval SCE_HJA_NUMBER=60\nval SCE_HJA_WORD=61\nval SCE_HJA_KEYWORD=62\nval SCE_HJA_DOUBLESTRING=63\nval SCE_HJA_SINGLESTRING=64\nval SCE_HJA_SYMBOLS=65\nval SCE_HJA_STRINGEOL=66\nval SCE_HJA_REGEX=67\n# Embedded VBScript\nval SCE_HB_START=70\nval SCE_HB_DEFAULT=71\nval SCE_HB_COMMENTLINE=72\nval SCE_HB_NUMBER=73\nval SCE_HB_WORD=74\nval SCE_HB_STRING=75\nval SCE_HB_IDENTIFIER=76\nval SCE_HB_STRINGEOL=77\n# ASP VBScript\nval SCE_HBA_START=80\nval SCE_HBA_DEFAULT=81\nval SCE_HBA_COMMENTLINE=82\nval SCE_HBA_NUMBER=83\nval SCE_HBA_WORD=84\nval SCE_HBA_STRING=85\nval SCE_HBA_IDENTIFIER=86\nval SCE_HBA_STRINGEOL=87\n# Embedded Python\nval SCE_HP_START=90\nval SCE_HP_DEFAULT=91\nval SCE_HP_COMMENTLINE=92\nval SCE_HP_NUMBER=93\nval SCE_HP_STRING=94\nval SCE_HP_CHARACTER=95\nval SCE_HP_WORD=96\nval SCE_HP_TRIPLE=97\nval SCE_HP_TRIPLEDOUBLE=98\nval SCE_HP_CLASSNAME=99\nval SCE_HP_DEFNAME=100\nval SCE_HP_OPERATOR=101\nval SCE_HP_IDENTIFIER=102\n# PHP\nval SCE_HPHP_COMPLEX_VARIABLE=104\n# ASP Python\nval SCE_HPA_START=105\nval SCE_HPA_DEFAULT=106\nval SCE_HPA_COMMENTLINE=107\nval SCE_HPA_NUMBER=108\nval SCE_HPA_STRING=109\nval SCE_HPA_CHARACTER=110\nval SCE_HPA_WORD=111\nval SCE_HPA_TRIPLE=112\nval SCE_HPA_TRIPLEDOUBLE=113\nval SCE_HPA_CLASSNAME=114\nval SCE_HPA_DEFNAME=115\nval SCE_HPA_OPERATOR=116\nval SCE_HPA_IDENTIFIER=117\n# PHP\nval SCE_HPHP_DEFAULT=118\nval SCE_HPHP_HSTRING=119\nval SCE_HPHP_SIMPLESTRING=120\nval SCE_HPHP_WORD=121\nval SCE_HPHP_NUMBER=122\nval SCE_HPHP_VARIABLE=123\nval SCE_HPHP_COMMENT=124\nval SCE_HPHP_COMMENTLINE=125\nval SCE_HPHP_HSTRING_VARIABLE=126\nval SCE_HPHP_OPERATOR=127\n# Lexical states for SCLEX_PERL\nlex Perl=SCLEX_PERL SCE_PL_\nval SCE_PL_DEFAULT=0\nval SCE_PL_ERROR=1\nval SCE_PL_COMMENTLINE=2\nval SCE_PL_POD=3\nval SCE_PL_NUMBER=4\nval SCE_PL_WORD=5\nval SCE_PL_STRING=6\nval SCE_PL_CHARACTER=7\nval SCE_PL_PUNCTUATION=8\nval SCE_PL_PREPROCESSOR=9\nval SCE_PL_OPERATOR=10\nval SCE_PL_IDENTIFIER=11\nval SCE_PL_SCALAR=12\nval SCE_PL_ARRAY=13\nval SCE_PL_HASH=14\nval SCE_PL_SYMBOLTABLE=15\nval SCE_PL_VARIABLE_INDEXER=16\nval SCE_PL_REGEX=17\nval SCE_PL_REGSUBST=18\nval SCE_PL_LONGQUOTE=19\nval SCE_PL_BACKTICKS=20\nval SCE_PL_DATASECTION=21\nval SCE_PL_HERE_DELIM=22\nval SCE_PL_HERE_Q=23\nval SCE_PL_HERE_QQ=24\nval SCE_PL_HERE_QX=25\nval SCE_PL_STRING_Q=26\nval SCE_PL_STRING_QQ=27\nval SCE_PL_STRING_QX=28\nval SCE_PL_STRING_QR=29\nval SCE_PL_STRING_QW=30\nval SCE_PL_POD_VERB=31\nval SCE_PL_SUB_PROTOTYPE=40\nval SCE_PL_FORMAT_IDENT=41\nval SCE_PL_FORMAT=42\nval SCE_PL_STRING_VAR=43\nval SCE_PL_XLAT=44\nval SCE_PL_REGEX_VAR=54\nval SCE_PL_REGSUBST_VAR=55\nval SCE_PL_BACKTICKS_VAR=57\nval SCE_PL_HERE_QQ_VAR=61\nval SCE_PL_HERE_QX_VAR=62\nval SCE_PL_STRING_QQ_VAR=64\nval SCE_PL_STRING_QX_VAR=65\nval SCE_PL_STRING_QR_VAR=66\n# Lexical states for SCLEX_RUBY\nlex Ruby=SCLEX_RUBY SCE_RB_\nval SCE_RB_DEFAULT=0\nval SCE_RB_ERROR=1\nval SCE_RB_COMMENTLINE=2\nval SCE_RB_POD=3\nval SCE_RB_NUMBER=4\nval SCE_RB_WORD=5\nval SCE_RB_STRING=6\nval SCE_RB_CHARACTER=7\nval SCE_RB_CLASSNAME=8\nval SCE_RB_DEFNAME=9\nval SCE_RB_OPERATOR=10\nval SCE_RB_IDENTIFIER=11\nval SCE_RB_REGEX=12\nval SCE_RB_GLOBAL=13\nval SCE_RB_SYMBOL=14\nval SCE_RB_MODULE_NAME=15\nval SCE_RB_INSTANCE_VAR=16\nval SCE_RB_CLASS_VAR=17\nval SCE_RB_BACKTICKS=18\nval SCE_RB_DATASECTION=19\nval SCE_RB_HERE_DELIM=20\nval SCE_RB_HERE_Q=21\nval SCE_RB_HERE_QQ=22\nval SCE_RB_HERE_QX=23\nval SCE_RB_STRING_Q=24\nval SCE_RB_STRING_QQ=25\nval SCE_RB_STRING_QX=26\nval SCE_RB_STRING_QR=27\nval SCE_RB_STRING_QW=28\nval SCE_RB_WORD_DEMOTED=29\nval SCE_RB_STDIN=30\nval SCE_RB_STDOUT=31\nval SCE_RB_STDERR=40\nval SCE_RB_UPPER_BOUND=41\n# Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC, SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC\nlex VB=SCLEX_VB SCE_B_\nlex VBScript=SCLEX_VBSCRIPT SCE_B_\nlex PowerBasic=SCLEX_POWERBASIC SCE_B_\nlex BlitzBasic=SCLEX_BLITZBASIC SCE_B_\nlex PureBasic=SCLEX_PUREBASIC SCE_B_\nlex FreeBasic=SCLEX_FREEBASIC SCE_B_\nval SCE_B_DEFAULT=0\nval SCE_B_COMMENT=1\nval SCE_B_NUMBER=2\nval SCE_B_KEYWORD=3\nval SCE_B_STRING=4\nval SCE_B_PREPROCESSOR=5\nval SCE_B_OPERATOR=6\nval SCE_B_IDENTIFIER=7\nval SCE_B_DATE=8\nval SCE_B_STRINGEOL=9\nval SCE_B_KEYWORD2=10\nval SCE_B_KEYWORD3=11\nval SCE_B_KEYWORD4=12\nval SCE_B_CONSTANT=13\nval SCE_B_ASM=14\nval SCE_B_LABEL=15\nval SCE_B_ERROR=16\nval SCE_B_HEXNUMBER=17\nval SCE_B_BINNUMBER=18\nval SCE_B_COMMENTBLOCK=19\nval SCE_B_DOCLINE=20\nval SCE_B_DOCBLOCK=21\nval SCE_B_DOCKEYWORD=22\n# Lexical states for SCLEX_PROPERTIES\nlex Properties=SCLEX_PROPERTIES SCE_PROPS_\nval SCE_PROPS_DEFAULT=0\nval SCE_PROPS_COMMENT=1\nval SCE_PROPS_SECTION=2\nval SCE_PROPS_ASSIGNMENT=3\nval SCE_PROPS_DEFVAL=4\nval SCE_PROPS_KEY=5\n# Lexical states for SCLEX_LATEX\nlex LaTeX=SCLEX_LATEX SCE_L_\nval SCE_L_DEFAULT=0\nval SCE_L_COMMAND=1\nval SCE_L_TAG=2\nval SCE_L_MATH=3\nval SCE_L_COMMENT=4\nval SCE_L_TAG2=5\nval SCE_L_MATH2=6\nval SCE_L_COMMENT2=7\nval SCE_L_VERBATIM=8\nval SCE_L_SHORTCMD=9\nval SCE_L_SPECIAL=10\nval SCE_L_CMDOPT=11\nval SCE_L_ERROR=12\n# Lexical states for SCLEX_LUA\nlex Lua=SCLEX_LUA SCE_LUA_\nval SCE_LUA_DEFAULT=0\nval SCE_LUA_COMMENT=1\nval SCE_LUA_COMMENTLINE=2\nval SCE_LUA_COMMENTDOC=3\nval SCE_LUA_NUMBER=4\nval SCE_LUA_WORD=5\nval SCE_LUA_STRING=6\nval SCE_LUA_CHARACTER=7\nval SCE_LUA_LITERALSTRING=8\nval SCE_LUA_PREPROCESSOR=9\nval SCE_LUA_OPERATOR=10\nval SCE_LUA_IDENTIFIER=11\nval SCE_LUA_STRINGEOL=12\nval SCE_LUA_WORD2=13\nval SCE_LUA_WORD3=14\nval SCE_LUA_WORD4=15\nval SCE_LUA_WORD5=16\nval SCE_LUA_WORD6=17\nval SCE_LUA_WORD7=18\nval SCE_LUA_WORD8=19\nval SCE_LUA_LABEL=20\n# Lexical states for SCLEX_ERRORLIST\nlex ErrorList=SCLEX_ERRORLIST SCE_ERR_\nval SCE_ERR_DEFAULT=0\nval SCE_ERR_PYTHON=1\nval SCE_ERR_GCC=2\nval SCE_ERR_MS=3\nval SCE_ERR_CMD=4\nval SCE_ERR_BORLAND=5\nval SCE_ERR_PERL=6\nval SCE_ERR_NET=7\nval SCE_ERR_LUA=8\nval SCE_ERR_CTAG=9\nval SCE_ERR_DIFF_CHANGED=10\nval SCE_ERR_DIFF_ADDITION=11\nval SCE_ERR_DIFF_DELETION=12\nval SCE_ERR_DIFF_MESSAGE=13\nval SCE_ERR_PHP=14\nval SCE_ERR_ELF=15\nval SCE_ERR_IFC=16\nval SCE_ERR_IFORT=17\nval SCE_ERR_ABSF=18\nval SCE_ERR_TIDY=19\nval SCE_ERR_JAVA_STACK=20\nval SCE_ERR_VALUE=21\nval SCE_ERR_GCC_INCLUDED_FROM=22\nval SCE_ERR_ESCSEQ=23\nval SCE_ERR_ESCSEQ_UNKNOWN=24\nval SCE_ERR_ES_BLACK=40\nval SCE_ERR_ES_RED=41\nval SCE_ERR_ES_GREEN=42\nval SCE_ERR_ES_BROWN=43\nval SCE_ERR_ES_BLUE=44\nval SCE_ERR_ES_MAGENTA=45\nval SCE_ERR_ES_CYAN=46\nval SCE_ERR_ES_GRAY=47\nval SCE_ERR_ES_DARK_GRAY=48\nval SCE_ERR_ES_BRIGHT_RED=49\nval SCE_ERR_ES_BRIGHT_GREEN=50\nval SCE_ERR_ES_YELLOW=51\nval SCE_ERR_ES_BRIGHT_BLUE=52\nval SCE_ERR_ES_BRIGHT_MAGENTA=53\nval SCE_ERR_ES_BRIGHT_CYAN=54\nval SCE_ERR_ES_WHITE=55\n# Lexical states for SCLEX_BATCH\nlex Batch=SCLEX_BATCH SCE_BAT_\nval SCE_BAT_DEFAULT=0\nval SCE_BAT_COMMENT=1\nval SCE_BAT_WORD=2\nval SCE_BAT_LABEL=3\nval SCE_BAT_HIDE=4\nval SCE_BAT_COMMAND=5\nval SCE_BAT_IDENTIFIER=6\nval SCE_BAT_OPERATOR=7\n# Lexical states for SCLEX_TCMD\nlex TCMD=SCLEX_TCMD SCE_TCMD_\nval SCE_TCMD_DEFAULT=0\nval SCE_TCMD_COMMENT=1\nval SCE_TCMD_WORD=2\nval SCE_TCMD_LABEL=3\nval SCE_TCMD_HIDE=4\nval SCE_TCMD_COMMAND=5\nval SCE_TCMD_IDENTIFIER=6\nval SCE_TCMD_OPERATOR=7\nval SCE_TCMD_ENVIRONMENT=8\nval SCE_TCMD_EXPANSION=9\nval SCE_TCMD_CLABEL=10\n# Lexical states for SCLEX_MAKEFILE\nlex MakeFile=SCLEX_MAKEFILE SCE_MAKE_\nval SCE_MAKE_DEFAULT=0\nval SCE_MAKE_COMMENT=1\nval SCE_MAKE_PREPROCESSOR=2\nval SCE_MAKE_IDENTIFIER=3\nval SCE_MAKE_OPERATOR=4\nval SCE_MAKE_TARGET=5\nval SCE_MAKE_IDEOL=9\n# Lexical states for SCLEX_DIFF\nlex Diff=SCLEX_DIFF SCE_DIFF_\nval SCE_DIFF_DEFAULT=0\nval SCE_DIFF_COMMENT=1\nval SCE_DIFF_COMMAND=2\nval SCE_DIFF_HEADER=3\nval SCE_DIFF_POSITION=4\nval SCE_DIFF_DELETED=5\nval SCE_DIFF_ADDED=6\nval SCE_DIFF_CHANGED=7\nval SCE_DIFF_PATCH_ADD=8\nval SCE_DIFF_PATCH_DELETE=9\nval SCE_DIFF_REMOVED_PATCH_ADD=10\nval SCE_DIFF_REMOVED_PATCH_DELETE=11\n# Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)\nlex Conf=SCLEX_CONF SCE_CONF_\nval SCE_CONF_DEFAULT=0\nval SCE_CONF_COMMENT=1\nval SCE_CONF_NUMBER=2\nval SCE_CONF_IDENTIFIER=3\nval SCE_CONF_EXTENSION=4\nval SCE_CONF_PARAMETER=5\nval SCE_CONF_STRING=6\nval SCE_CONF_OPERATOR=7\nval SCE_CONF_IP=8\nval SCE_CONF_DIRECTIVE=9\n# Lexical states for SCLEX_AVE, Avenue\nlex Avenue=SCLEX_AVE SCE_AVE_\nval SCE_AVE_DEFAULT=0\nval SCE_AVE_COMMENT=1\nval SCE_AVE_NUMBER=2\nval SCE_AVE_WORD=3\nval SCE_AVE_STRING=6\nval SCE_AVE_ENUM=7\nval SCE_AVE_STRINGEOL=8\nval SCE_AVE_IDENTIFIER=9\nval SCE_AVE_OPERATOR=10\nval SCE_AVE_WORD1=11\nval SCE_AVE_WORD2=12\nval SCE_AVE_WORD3=13\nval SCE_AVE_WORD4=14\nval SCE_AVE_WORD5=15\nval SCE_AVE_WORD6=16\n# Lexical states for SCLEX_ADA\nlex Ada=SCLEX_ADA SCE_ADA_\nval SCE_ADA_DEFAULT=0\nval SCE_ADA_WORD=1\nval SCE_ADA_IDENTIFIER=2\nval SCE_ADA_NUMBER=3\nval SCE_ADA_DELIMITER=4\nval SCE_ADA_CHARACTER=5\nval SCE_ADA_CHARACTEREOL=6\nval SCE_ADA_STRING=7\nval SCE_ADA_STRINGEOL=8\nval SCE_ADA_LABEL=9\nval SCE_ADA_COMMENTLINE=10\nval SCE_ADA_ILLEGAL=11\n# Lexical states for SCLEX_BAAN\nlex Baan=SCLEX_BAAN SCE_BAAN_\nval SCE_BAAN_DEFAULT=0\nval SCE_BAAN_COMMENT=1\nval SCE_BAAN_COMMENTDOC=2\nval SCE_BAAN_NUMBER=3\nval SCE_BAAN_WORD=4\nval SCE_BAAN_STRING=5\nval SCE_BAAN_PREPROCESSOR=6\nval SCE_BAAN_OPERATOR=7\nval SCE_BAAN_IDENTIFIER=8\nval SCE_BAAN_STRINGEOL=9\nval SCE_BAAN_WORD2=10\nval SCE_BAAN_WORD3=11\nval SCE_BAAN_WORD4=12\nval SCE_BAAN_WORD5=13\nval SCE_BAAN_WORD6=14\nval SCE_BAAN_WORD7=15\nval SCE_BAAN_WORD8=16\nval SCE_BAAN_WORD9=17\nval SCE_BAAN_TABLEDEF=18\nval SCE_BAAN_TABLESQL=19\nval SCE_BAAN_FUNCTION=20\nval SCE_BAAN_DOMDEF=21\nval SCE_BAAN_FUNCDEF=22\nval SCE_BAAN_OBJECTDEF=23\nval SCE_BAAN_DEFINEDEF=24\n# Lexical states for SCLEX_LISP\nlex Lisp=SCLEX_LISP SCE_LISP_\nval SCE_LISP_DEFAULT=0\nval SCE_LISP_COMMENT=1\nval SCE_LISP_NUMBER=2\nval SCE_LISP_KEYWORD=3\nval SCE_LISP_KEYWORD_KW=4\nval SCE_LISP_SYMBOL=5\nval SCE_LISP_STRING=6\nval SCE_LISP_STRINGEOL=8\nval SCE_LISP_IDENTIFIER=9\nval SCE_LISP_OPERATOR=10\nval SCE_LISP_SPECIAL=11\nval SCE_LISP_MULTI_COMMENT=12\n# Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW\nlex Eiffel=SCLEX_EIFFEL SCE_EIFFEL_\nlex EiffelKW=SCLEX_EIFFELKW SCE_EIFFEL_\nval SCE_EIFFEL_DEFAULT=0\nval SCE_EIFFEL_COMMENTLINE=1\nval SCE_EIFFEL_NUMBER=2\nval SCE_EIFFEL_WORD=3\nval SCE_EIFFEL_STRING=4\nval SCE_EIFFEL_CHARACTER=5\nval SCE_EIFFEL_OPERATOR=6\nval SCE_EIFFEL_IDENTIFIER=7\nval SCE_EIFFEL_STRINGEOL=8\n# Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer)\nlex NNCronTab=SCLEX_NNCRONTAB SCE_NNCRONTAB_\nval SCE_NNCRONTAB_DEFAULT=0\nval SCE_NNCRONTAB_COMMENT=1\nval SCE_NNCRONTAB_TASK=2\nval SCE_NNCRONTAB_SECTION=3\nval SCE_NNCRONTAB_KEYWORD=4\nval SCE_NNCRONTAB_MODIFIER=5\nval SCE_NNCRONTAB_ASTERISK=6\nval SCE_NNCRONTAB_NUMBER=7\nval SCE_NNCRONTAB_STRING=8\nval SCE_NNCRONTAB_ENVIRONMENT=9\nval SCE_NNCRONTAB_IDENTIFIER=10\n# Lexical states for SCLEX_FORTH (Forth Lexer)\nlex Forth=SCLEX_FORTH SCE_FORTH_\nval SCE_FORTH_DEFAULT=0\nval SCE_FORTH_COMMENT=1\nval SCE_FORTH_COMMENT_ML=2\nval SCE_FORTH_IDENTIFIER=3\nval SCE_FORTH_CONTROL=4\nval SCE_FORTH_KEYWORD=5\nval SCE_FORTH_DEFWORD=6\nval SCE_FORTH_PREWORD1=7\nval SCE_FORTH_PREWORD2=8\nval SCE_FORTH_NUMBER=9\nval SCE_FORTH_STRING=10\nval SCE_FORTH_LOCALE=11\n# Lexical states for SCLEX_MATLAB\nlex MatLab=SCLEX_MATLAB SCE_MATLAB_\nval SCE_MATLAB_DEFAULT=0\nval SCE_MATLAB_COMMENT=1\nval SCE_MATLAB_COMMAND=2\nval SCE_MATLAB_NUMBER=3\nval SCE_MATLAB_KEYWORD=4\n# single quoted string\nval SCE_MATLAB_STRING=5\nval SCE_MATLAB_OPERATOR=6\nval SCE_MATLAB_IDENTIFIER=7\nval SCE_MATLAB_DOUBLEQUOTESTRING=8\n# Lexical states for SCLEX_MAXIMA\nlex Maxima=SCLEX_MAXIMA SCE_MAXIMA_\nval SCE_MAXIMA_OPERATOR=0\nval SCE_MAXIMA_COMMANDENDING=1\nval SCE_MAXIMA_COMMENT=2\nval SCE_MAXIMA_NUMBER=3\nval SCE_MAXIMA_STRING=4\nval SCE_MAXIMA_COMMAND=5\nval SCE_MAXIMA_VARIABLE=6\nval SCE_MAXIMA_UNKNOWN=7\n# Lexical states for SCLEX_SCRIPTOL\nlex Sol=SCLEX_SCRIPTOL SCE_SCRIPTOL_\nval SCE_SCRIPTOL_DEFAULT=0\nval SCE_SCRIPTOL_WHITE=1\nval SCE_SCRIPTOL_COMMENTLINE=2\nval SCE_SCRIPTOL_PERSISTENT=3\nval SCE_SCRIPTOL_CSTYLE=4\nval SCE_SCRIPTOL_COMMENTBLOCK=5\nval SCE_SCRIPTOL_NUMBER=6\nval SCE_SCRIPTOL_STRING=7\nval SCE_SCRIPTOL_CHARACTER=8\nval SCE_SCRIPTOL_STRINGEOL=9\nval SCE_SCRIPTOL_KEYWORD=10\nval SCE_SCRIPTOL_OPERATOR=11\nval SCE_SCRIPTOL_IDENTIFIER=12\nval SCE_SCRIPTOL_TRIPLE=13\nval SCE_SCRIPTOL_CLASSNAME=14\nval SCE_SCRIPTOL_PREPROCESSOR=15\n# Lexical states for SCLEX_ASM, SCLEX_AS\nlex Asm=SCLEX_ASM SCE_ASM_\nlex As=SCLEX_AS SCE_ASM_\nval SCE_ASM_DEFAULT=0\nval SCE_ASM_COMMENT=1\nval SCE_ASM_NUMBER=2\nval SCE_ASM_STRING=3\nval SCE_ASM_OPERATOR=4\nval SCE_ASM_IDENTIFIER=5\nval SCE_ASM_CPUINSTRUCTION=6\nval SCE_ASM_MATHINSTRUCTION=7\nval SCE_ASM_REGISTER=8\nval SCE_ASM_DIRECTIVE=9\nval SCE_ASM_DIRECTIVEOPERAND=10\nval SCE_ASM_COMMENTBLOCK=11\nval SCE_ASM_CHARACTER=12\nval SCE_ASM_STRINGEOL=13\nval SCE_ASM_EXTINSTRUCTION=14\nval SCE_ASM_COMMENTDIRECTIVE=15\n# Lexical states for SCLEX_FORTRAN\nlex Fortran=SCLEX_FORTRAN SCE_F_\nlex F77=SCLEX_F77 SCE_F_\nval SCE_F_DEFAULT=0\nval SCE_F_COMMENT=1\nval SCE_F_NUMBER=2\nval SCE_F_STRING1=3\nval SCE_F_STRING2=4\nval SCE_F_STRINGEOL=5\nval SCE_F_OPERATOR=6\nval SCE_F_IDENTIFIER=7\nval SCE_F_WORD=8\nval SCE_F_WORD2=9\nval SCE_F_WORD3=10\nval SCE_F_PREPROCESSOR=11\nval SCE_F_OPERATOR2=12\nval SCE_F_LABEL=13\nval SCE_F_CONTINUATION=14\n# Lexical states for SCLEX_CSS\nlex CSS=SCLEX_CSS SCE_CSS_\nval SCE_CSS_DEFAULT=0\nval SCE_CSS_TAG=1\nval SCE_CSS_CLASS=2\nval SCE_CSS_PSEUDOCLASS=3\nval SCE_CSS_UNKNOWN_PSEUDOCLASS=4\nval SCE_CSS_OPERATOR=5\nval SCE_CSS_IDENTIFIER=6\nval SCE_CSS_UNKNOWN_IDENTIFIER=7\nval SCE_CSS_VALUE=8\nval SCE_CSS_COMMENT=9\nval SCE_CSS_ID=10\nval SCE_CSS_IMPORTANT=11\nval SCE_CSS_DIRECTIVE=12\nval SCE_CSS_DOUBLESTRING=13\nval SCE_CSS_SINGLESTRING=14\nval SCE_CSS_IDENTIFIER2=15\nval SCE_CSS_ATTRIBUTE=16\nval SCE_CSS_IDENTIFIER3=17\nval SCE_CSS_PSEUDOELEMENT=18\nval SCE_CSS_EXTENDED_IDENTIFIER=19\nval SCE_CSS_EXTENDED_PSEUDOCLASS=20\nval SCE_CSS_EXTENDED_PSEUDOELEMENT=21\nval SCE_CSS_MEDIA=22\nval SCE_CSS_VARIABLE=23\n# Lexical states for SCLEX_POV\nlex POV=SCLEX_POV SCE_POV_\nval SCE_POV_DEFAULT=0\nval SCE_POV_COMMENT=1\nval SCE_POV_COMMENTLINE=2\nval SCE_POV_NUMBER=3\nval SCE_POV_OPERATOR=4\nval SCE_POV_IDENTIFIER=5\nval SCE_POV_STRING=6\nval SCE_POV_STRINGEOL=7\nval SCE_POV_DIRECTIVE=8\nval SCE_POV_BADDIRECTIVE=9\nval SCE_POV_WORD2=10\nval SCE_POV_WORD3=11\nval SCE_POV_WORD4=12\nval SCE_POV_WORD5=13\nval SCE_POV_WORD6=14\nval SCE_POV_WORD7=15\nval SCE_POV_WORD8=16\n# Lexical states for SCLEX_LOUT\nlex LOUT=SCLEX_LOUT SCE_LOUT_\nval SCE_LOUT_DEFAULT=0\nval SCE_LOUT_COMMENT=1\nval SCE_LOUT_NUMBER=2\nval SCE_LOUT_WORD=3\nval SCE_LOUT_WORD2=4\nval SCE_LOUT_WORD3=5\nval SCE_LOUT_WORD4=6\nval SCE_LOUT_STRING=7\nval SCE_LOUT_OPERATOR=8\nval SCE_LOUT_IDENTIFIER=9\nval SCE_LOUT_STRINGEOL=10\n# Lexical states for SCLEX_ESCRIPT\nlex ESCRIPT=SCLEX_ESCRIPT SCE_ESCRIPT_\nval SCE_ESCRIPT_DEFAULT=0\nval SCE_ESCRIPT_COMMENT=1\nval SCE_ESCRIPT_COMMENTLINE=2\nval SCE_ESCRIPT_COMMENTDOC=3\nval SCE_ESCRIPT_NUMBER=4\nval SCE_ESCRIPT_WORD=5\nval SCE_ESCRIPT_STRING=6\nval SCE_ESCRIPT_OPERATOR=7\nval SCE_ESCRIPT_IDENTIFIER=8\nval SCE_ESCRIPT_BRACE=9\nval SCE_ESCRIPT_WORD2=10\nval SCE_ESCRIPT_WORD3=11\n# Lexical states for SCLEX_PS\nlex PS=SCLEX_PS SCE_PS_\nval SCE_PS_DEFAULT=0\nval SCE_PS_COMMENT=1\nval SCE_PS_DSC_COMMENT=2\nval SCE_PS_DSC_VALUE=3\nval SCE_PS_NUMBER=4\nval SCE_PS_NAME=5\nval SCE_PS_KEYWORD=6\nval SCE_PS_LITERAL=7\nval SCE_PS_IMMEVAL=8\nval SCE_PS_PAREN_ARRAY=9\nval SCE_PS_PAREN_DICT=10\nval SCE_PS_PAREN_PROC=11\nval SCE_PS_TEXT=12\nval SCE_PS_HEXSTRING=13\nval SCE_PS_BASE85STRING=14\nval SCE_PS_BADSTRINGCHAR=15\n# Lexical states for SCLEX_NSIS\nlex NSIS=SCLEX_NSIS SCE_NSIS_\nval SCE_NSIS_DEFAULT=0\nval SCE_NSIS_COMMENT=1\nval SCE_NSIS_STRINGDQ=2\nval SCE_NSIS_STRINGLQ=3\nval SCE_NSIS_STRINGRQ=4\nval SCE_NSIS_FUNCTION=5\nval SCE_NSIS_VARIABLE=6\nval SCE_NSIS_LABEL=7\nval SCE_NSIS_USERDEFINED=8\nval SCE_NSIS_SECTIONDEF=9\nval SCE_NSIS_SUBSECTIONDEF=10\nval SCE_NSIS_IFDEFINEDEF=11\nval SCE_NSIS_MACRODEF=12\nval SCE_NSIS_STRINGVAR=13\nval SCE_NSIS_NUMBER=14\nval SCE_NSIS_SECTIONGROUP=15\nval SCE_NSIS_PAGEEX=16\nval SCE_NSIS_FUNCTIONDEF=17\nval SCE_NSIS_COMMENTBOX=18\n# Lexical states for SCLEX_MMIXAL\nlex MMIXAL=SCLEX_MMIXAL SCE_MMIXAL_\nval SCE_MMIXAL_LEADWS=0\nval SCE_MMIXAL_COMMENT=1\nval SCE_MMIXAL_LABEL=2\nval SCE_MMIXAL_OPCODE=3\nval SCE_MMIXAL_OPCODE_PRE=4\nval SCE_MMIXAL_OPCODE_VALID=5\nval SCE_MMIXAL_OPCODE_UNKNOWN=6\nval SCE_MMIXAL_OPCODE_POST=7\nval SCE_MMIXAL_OPERANDS=8\nval SCE_MMIXAL_NUMBER=9\nval SCE_MMIXAL_REF=10\nval SCE_MMIXAL_CHAR=11\nval SCE_MMIXAL_STRING=12\nval SCE_MMIXAL_REGISTER=13\nval SCE_MMIXAL_HEX=14\nval SCE_MMIXAL_OPERATOR=15\nval SCE_MMIXAL_SYMBOL=16\nval SCE_MMIXAL_INCLUDE=17\n# Lexical states for SCLEX_CLW\nlex Clarion=SCLEX_CLW SCE_CLW_\nval SCE_CLW_DEFAULT=0\nval SCE_CLW_LABEL=1\nval SCE_CLW_COMMENT=2\nval SCE_CLW_STRING=3\nval SCE_CLW_USER_IDENTIFIER=4\nval SCE_CLW_INTEGER_CONSTANT=5\nval SCE_CLW_REAL_CONSTANT=6\nval SCE_CLW_PICTURE_STRING=7\nval SCE_CLW_KEYWORD=8\nval SCE_CLW_COMPILER_DIRECTIVE=9\nval SCE_CLW_RUNTIME_EXPRESSIONS=10\nval SCE_CLW_BUILTIN_PROCEDURES_FUNCTION=11\nval SCE_CLW_STRUCTURE_DATA_TYPE=12\nval SCE_CLW_ATTRIBUTE=13\nval SCE_CLW_STANDARD_EQUATE=14\nval SCE_CLW_ERROR=15\nval SCE_CLW_DEPRECATED=16\n# Lexical states for SCLEX_LOT\nlex LOT=SCLEX_LOT SCE_LOT_\nval SCE_LOT_DEFAULT=0\nval SCE_LOT_HEADER=1\nval SCE_LOT_BREAK=2\nval SCE_LOT_SET=3\nval SCE_LOT_PASS=4\nval SCE_LOT_FAIL=5\nval SCE_LOT_ABORT=6\n# Lexical states for SCLEX_YAML\nlex YAML=SCLEX_YAML SCE_YAML_\nval SCE_YAML_DEFAULT=0\nval SCE_YAML_COMMENT=1\nval SCE_YAML_IDENTIFIER=2\nval SCE_YAML_KEYWORD=3\nval SCE_YAML_NUMBER=4\nval SCE_YAML_REFERENCE=5\nval SCE_YAML_DOCUMENT=6\nval SCE_YAML_TEXT=7\nval SCE_YAML_ERROR=8\nval SCE_YAML_OPERATOR=9\n# Lexical states for SCLEX_TEX\nlex TeX=SCLEX_TEX SCE_TEX_\nval SCE_TEX_DEFAULT=0\nval SCE_TEX_SPECIAL=1\nval SCE_TEX_GROUP=2\nval SCE_TEX_SYMBOL=3\nval SCE_TEX_COMMAND=4\nval SCE_TEX_TEXT=5\nlex Metapost=SCLEX_METAPOST SCE_METAPOST_\nval SCE_METAPOST_DEFAULT=0\nval SCE_METAPOST_SPECIAL=1\nval SCE_METAPOST_GROUP=2\nval SCE_METAPOST_SYMBOL=3\nval SCE_METAPOST_COMMAND=4\nval SCE_METAPOST_TEXT=5\nval SCE_METAPOST_EXTRA=6\n# Lexical states for SCLEX_ERLANG\nlex Erlang=SCLEX_ERLANG SCE_ERLANG_\nval SCE_ERLANG_DEFAULT=0\nval SCE_ERLANG_COMMENT=1\nval SCE_ERLANG_VARIABLE=2\nval SCE_ERLANG_NUMBER=3\nval SCE_ERLANG_KEYWORD=4\nval SCE_ERLANG_STRING=5\nval SCE_ERLANG_OPERATOR=6\nval SCE_ERLANG_ATOM=7\nval SCE_ERLANG_FUNCTION_NAME=8\nval SCE_ERLANG_CHARACTER=9\nval SCE_ERLANG_MACRO=10\nval SCE_ERLANG_RECORD=11\nval SCE_ERLANG_PREPROC=12\nval SCE_ERLANG_NODE_NAME=13\nval SCE_ERLANG_COMMENT_FUNCTION=14\nval SCE_ERLANG_COMMENT_MODULE=15\nval SCE_ERLANG_COMMENT_DOC=16\nval SCE_ERLANG_COMMENT_DOC_MACRO=17\nval SCE_ERLANG_ATOM_QUOTED=18\nval SCE_ERLANG_MACRO_QUOTED=19\nval SCE_ERLANG_RECORD_QUOTED=20\nval SCE_ERLANG_NODE_NAME_QUOTED=21\nval SCE_ERLANG_BIFS=22\nval SCE_ERLANG_MODULES=23\nval SCE_ERLANG_MODULES_ATT=24\nval SCE_ERLANG_UNKNOWN=31\n# Lexical states for SCLEX_OCTAVE are identical to MatLab\nlex Octave=SCLEX_OCTAVE SCE_MATLAB_\n# Lexical states for SCLEX_MSSQL\nlex MSSQL=SCLEX_MSSQL SCE_MSSQL_\nval SCE_MSSQL_DEFAULT=0\nval SCE_MSSQL_COMMENT=1\nval SCE_MSSQL_LINE_COMMENT=2\nval SCE_MSSQL_NUMBER=3\nval SCE_MSSQL_STRING=4\nval SCE_MSSQL_OPERATOR=5\nval SCE_MSSQL_IDENTIFIER=6\nval SCE_MSSQL_VARIABLE=7\nval SCE_MSSQL_COLUMN_NAME=8\nval SCE_MSSQL_STATEMENT=9\nval SCE_MSSQL_DATATYPE=10\nval SCE_MSSQL_SYSTABLE=11\nval SCE_MSSQL_GLOBAL_VARIABLE=12\nval SCE_MSSQL_FUNCTION=13\nval SCE_MSSQL_STORED_PROCEDURE=14\nval SCE_MSSQL_DEFAULT_PREF_DATATYPE=15\nval SCE_MSSQL_COLUMN_NAME_2=16\n# Lexical states for SCLEX_VERILOG\nlex Verilog=SCLEX_VERILOG SCE_V_\nval SCE_V_DEFAULT=0\nval SCE_V_COMMENT=1\nval SCE_V_COMMENTLINE=2\nval SCE_V_COMMENTLINEBANG=3\nval SCE_V_NUMBER=4\nval SCE_V_WORD=5\nval SCE_V_STRING=6\nval SCE_V_WORD2=7\nval SCE_V_WORD3=8\nval SCE_V_PREPROCESSOR=9\nval SCE_V_OPERATOR=10\nval SCE_V_IDENTIFIER=11\nval SCE_V_STRINGEOL=12\nval SCE_V_USER=19\nval SCE_V_COMMENT_WORD=20\nval SCE_V_INPUT=21\nval SCE_V_OUTPUT=22\nval SCE_V_INOUT=23\nval SCE_V_PORT_CONNECT=24\n# Lexical states for SCLEX_KIX\nlex Kix=SCLEX_KIX SCE_KIX_\nval SCE_KIX_DEFAULT=0\nval SCE_KIX_COMMENT=1\nval SCE_KIX_STRING1=2\nval SCE_KIX_STRING2=3\nval SCE_KIX_NUMBER=4\nval SCE_KIX_VAR=5\nval SCE_KIX_MACRO=6\nval SCE_KIX_KEYWORD=7\nval SCE_KIX_FUNCTIONS=8\nval SCE_KIX_OPERATOR=9\nval SCE_KIX_COMMENTSTREAM=10\nval SCE_KIX_IDENTIFIER=31\n# Lexical states for SCLEX_GUI4CLI\nlex Gui4Cli=SCLEX_GUI4CLI SCE_GC_\nval SCE_GC_DEFAULT=0\nval SCE_GC_COMMENTLINE=1\nval SCE_GC_COMMENTBLOCK=2\nval SCE_GC_GLOBAL=3\nval SCE_GC_EVENT=4\nval SCE_GC_ATTRIBUTE=5\nval SCE_GC_CONTROL=6\nval SCE_GC_COMMAND=7\nval SCE_GC_STRING=8\nval SCE_GC_OPERATOR=9\n# Lexical states for SCLEX_SPECMAN\nlex Specman=SCLEX_SPECMAN SCE_SN_\nval SCE_SN_DEFAULT=0\nval SCE_SN_CODE=1\nval SCE_SN_COMMENTLINE=2\nval SCE_SN_COMMENTLINEBANG=3\nval SCE_SN_NUMBER=4\nval SCE_SN_WORD=5\nval SCE_SN_STRING=6\nval SCE_SN_WORD2=7\nval SCE_SN_WORD3=8\nval SCE_SN_PREPROCESSOR=9\nval SCE_SN_OPERATOR=10\nval SCE_SN_IDENTIFIER=11\nval SCE_SN_STRINGEOL=12\nval SCE_SN_REGEXTAG=13\nval SCE_SN_SIGNAL=14\nval SCE_SN_USER=19\n# Lexical states for SCLEX_AU3\nlex Au3=SCLEX_AU3 SCE_AU3_\nval SCE_AU3_DEFAULT=0\nval SCE_AU3_COMMENT=1\nval SCE_AU3_COMMENTBLOCK=2\nval SCE_AU3_NUMBER=3\nval SCE_AU3_FUNCTION=4\nval SCE_AU3_KEYWORD=5\nval SCE_AU3_MACRO=6\nval SCE_AU3_STRING=7\nval SCE_AU3_OPERATOR=8\nval SCE_AU3_VARIABLE=9\nval SCE_AU3_SENT=10\nval SCE_AU3_PREPROCESSOR=11\nval SCE_AU3_SPECIAL=12\nval SCE_AU3_EXPAND=13\nval SCE_AU3_COMOBJ=14\nval SCE_AU3_UDF=15\n# Lexical states for SCLEX_APDL\nlex APDL=SCLEX_APDL SCE_APDL_\nval SCE_APDL_DEFAULT=0\nval SCE_APDL_COMMENT=1\nval SCE_APDL_COMMENTBLOCK=2\nval SCE_APDL_NUMBER=3\nval SCE_APDL_STRING=4\nval SCE_APDL_OPERATOR=5\nval SCE_APDL_WORD=6\nval SCE_APDL_PROCESSOR=7\nval SCE_APDL_COMMAND=8\nval SCE_APDL_SLASHCOMMAND=9\nval SCE_APDL_STARCOMMAND=10\nval SCE_APDL_ARGUMENT=11\nval SCE_APDL_FUNCTION=12\n# Lexical states for SCLEX_BASH\nlex Bash=SCLEX_BASH SCE_SH_\nval SCE_SH_DEFAULT=0\nval SCE_SH_ERROR=1\nval SCE_SH_COMMENTLINE=2\nval SCE_SH_NUMBER=3\nval SCE_SH_WORD=4\nval SCE_SH_STRING=5\nval SCE_SH_CHARACTER=6\nval SCE_SH_OPERATOR=7\nval SCE_SH_IDENTIFIER=8\nval SCE_SH_SCALAR=9\nval SCE_SH_PARAM=10\nval SCE_SH_BACKTICKS=11\nval SCE_SH_HERE_DELIM=12\nval SCE_SH_HERE_Q=13\n# Lexical states for SCLEX_ASN1\nlex Asn1=SCLEX_ASN1 SCE_ASN1_\nval SCE_ASN1_DEFAULT=0\nval SCE_ASN1_COMMENT=1\nval SCE_ASN1_IDENTIFIER=2\nval SCE_ASN1_STRING=3\nval SCE_ASN1_OID=4\nval SCE_ASN1_SCALAR=5\nval SCE_ASN1_KEYWORD=6\nval SCE_ASN1_ATTRIBUTE=7\nval SCE_ASN1_DESCRIPTOR=8\nval SCE_ASN1_TYPE=9\nval SCE_ASN1_OPERATOR=10\n# Lexical states for SCLEX_VHDL\nlex VHDL=SCLEX_VHDL SCE_VHDL_\nval SCE_VHDL_DEFAULT=0\nval SCE_VHDL_COMMENT=1\nval SCE_VHDL_COMMENTLINEBANG=2\nval SCE_VHDL_NUMBER=3\nval SCE_VHDL_STRING=4\nval SCE_VHDL_OPERATOR=5\nval SCE_VHDL_IDENTIFIER=6\nval SCE_VHDL_STRINGEOL=7\nval SCE_VHDL_KEYWORD=8\nval SCE_VHDL_STDOPERATOR=9\nval SCE_VHDL_ATTRIBUTE=10\nval SCE_VHDL_STDFUNCTION=11\nval SCE_VHDL_STDPACKAGE=12\nval SCE_VHDL_STDTYPE=13\nval SCE_VHDL_USERWORD=14\nval SCE_VHDL_BLOCK_COMMENT=15\n# Lexical states for SCLEX_CAML\nlex Caml=SCLEX_CAML SCE_CAML_\nval SCE_CAML_DEFAULT=0\nval SCE_CAML_IDENTIFIER=1\nval SCE_CAML_TAGNAME=2\nval SCE_CAML_KEYWORD=3\nval SCE_CAML_KEYWORD2=4\nval SCE_CAML_KEYWORD3=5\nval SCE_CAML_LINENUM=6\nval SCE_CAML_OPERATOR=7\nval SCE_CAML_NUMBER=8\nval SCE_CAML_CHAR=9\nval SCE_CAML_WHITE=10\nval SCE_CAML_STRING=11\nval SCE_CAML_COMMENT=12\nval SCE_CAML_COMMENT1=13\nval SCE_CAML_COMMENT2=14\nval SCE_CAML_COMMENT3=15\n# Lexical states for SCLEX_HASKELL\nlex Haskell=SCLEX_HASKELL SCE_HA_\nval SCE_HA_DEFAULT=0\nval SCE_HA_IDENTIFIER=1\nval SCE_HA_KEYWORD=2\nval SCE_HA_NUMBER=3\nval SCE_HA_STRING=4\nval SCE_HA_CHARACTER=5\nval SCE_HA_CLASS=6\nval SCE_HA_MODULE=7\nval SCE_HA_CAPITAL=8\nval SCE_HA_DATA=9\nval SCE_HA_IMPORT=10\nval SCE_HA_OPERATOR=11\nval SCE_HA_INSTANCE=12\nval SCE_HA_COMMENTLINE=13\nval SCE_HA_COMMENTBLOCK=14\nval SCE_HA_COMMENTBLOCK2=15\nval SCE_HA_COMMENTBLOCK3=16\nval SCE_HA_PRAGMA=17\nval SCE_HA_PREPROCESSOR=18\nval SCE_HA_STRINGEOL=19\nval SCE_HA_RESERVED_OPERATOR=20\nval SCE_HA_LITERATE_COMMENT=21\nval SCE_HA_LITERATE_CODEDELIM=22\n# Lexical states of SCLEX_TADS3\nlex TADS3=SCLEX_TADS3 SCE_T3_\nval SCE_T3_DEFAULT=0\nval SCE_T3_X_DEFAULT=1\nval SCE_T3_PREPROCESSOR=2\nval SCE_T3_BLOCK_COMMENT=3\nval SCE_T3_LINE_COMMENT=4\nval SCE_T3_OPERATOR=5\nval SCE_T3_KEYWORD=6\nval SCE_T3_NUMBER=7\nval SCE_T3_IDENTIFIER=8\nval SCE_T3_S_STRING=9\nval SCE_T3_D_STRING=10\nval SCE_T3_X_STRING=11\nval SCE_T3_LIB_DIRECTIVE=12\nval SCE_T3_MSG_PARAM=13\nval SCE_T3_HTML_TAG=14\nval SCE_T3_HTML_DEFAULT=15\nval SCE_T3_HTML_STRING=16\nval SCE_T3_USER1=17\nval SCE_T3_USER2=18\nval SCE_T3_USER3=19\nval SCE_T3_BRACE=20\n# Lexical states for SCLEX_REBOL\nlex Rebol=SCLEX_REBOL SCE_REBOL_\nval SCE_REBOL_DEFAULT=0\nval SCE_REBOL_COMMENTLINE=1\nval SCE_REBOL_COMMENTBLOCK=2\nval SCE_REBOL_PREFACE=3\nval SCE_REBOL_OPERATOR=4\nval SCE_REBOL_CHARACTER=5\nval SCE_REBOL_QUOTEDSTRING=6\nval SCE_REBOL_BRACEDSTRING=7\nval SCE_REBOL_NUMBER=8\nval SCE_REBOL_PAIR=9\nval SCE_REBOL_TUPLE=10\nval SCE_REBOL_BINARY=11\nval SCE_REBOL_MONEY=12\nval SCE_REBOL_ISSUE=13\nval SCE_REBOL_TAG=14\nval SCE_REBOL_FILE=15\nval SCE_REBOL_EMAIL=16\nval SCE_REBOL_URL=17\nval SCE_REBOL_DATE=18\nval SCE_REBOL_TIME=19\nval SCE_REBOL_IDENTIFIER=20\nval SCE_REBOL_WORD=21\nval SCE_REBOL_WORD2=22\nval SCE_REBOL_WORD3=23\nval SCE_REBOL_WORD4=24\nval SCE_REBOL_WORD5=25\nval SCE_REBOL_WORD6=26\nval SCE_REBOL_WORD7=27\nval SCE_REBOL_WORD8=28\n# Lexical states for SCLEX_SQL\nlex SQL=SCLEX_SQL SCE_SQL_\nval SCE_SQL_DEFAULT=0\nval SCE_SQL_COMMENT=1\nval SCE_SQL_COMMENTLINE=2\nval SCE_SQL_COMMENTDOC=3\nval SCE_SQL_NUMBER=4\nval SCE_SQL_WORD=5\nval SCE_SQL_STRING=6\nval SCE_SQL_CHARACTER=7\nval SCE_SQL_SQLPLUS=8\nval SCE_SQL_SQLPLUS_PROMPT=9\nval SCE_SQL_OPERATOR=10\nval SCE_SQL_IDENTIFIER=11\nval SCE_SQL_SQLPLUS_COMMENT=13\nval SCE_SQL_COMMENTLINEDOC=15\nval SCE_SQL_WORD2=16\nval SCE_SQL_COMMENTDOCKEYWORD=17\nval SCE_SQL_COMMENTDOCKEYWORDERROR=18\nval SCE_SQL_USER1=19\nval SCE_SQL_USER2=20\nval SCE_SQL_USER3=21\nval SCE_SQL_USER4=22\nval SCE_SQL_QUOTEDIDENTIFIER=23\nval SCE_SQL_QOPERATOR=24\n# Lexical states for SCLEX_SMALLTALK\nlex Smalltalk=SCLEX_SMALLTALK SCE_ST_\nval SCE_ST_DEFAULT=0\nval SCE_ST_STRING=1\nval SCE_ST_NUMBER=2\nval SCE_ST_COMMENT=3\nval SCE_ST_SYMBOL=4\nval SCE_ST_BINARY=5\nval SCE_ST_BOOL=6\nval SCE_ST_SELF=7\nval SCE_ST_SUPER=8\nval SCE_ST_NIL=9\nval SCE_ST_GLOBAL=10\nval SCE_ST_RETURN=11\nval SCE_ST_SPECIAL=12\nval SCE_ST_KWSEND=13\nval SCE_ST_ASSIGN=14\nval SCE_ST_CHARACTER=15\nval SCE_ST_SPEC_SEL=16\n# Lexical states for SCLEX_FLAGSHIP (clipper)\nlex FlagShip=SCLEX_FLAGSHIP SCE_FS_\nval SCE_FS_DEFAULT=0\nval SCE_FS_COMMENT=1\nval SCE_FS_COMMENTLINE=2\nval SCE_FS_COMMENTDOC=3\nval SCE_FS_COMMENTLINEDOC=4\nval SCE_FS_COMMENTDOCKEYWORD=5\nval SCE_FS_COMMENTDOCKEYWORDERROR=6\nval SCE_FS_KEYWORD=7\nval SCE_FS_KEYWORD2=8\nval SCE_FS_KEYWORD3=9\nval SCE_FS_KEYWORD4=10\nval SCE_FS_NUMBER=11\nval SCE_FS_STRING=12\nval SCE_FS_PREPROCESSOR=13\nval SCE_FS_OPERATOR=14\nval SCE_FS_IDENTIFIER=15\nval SCE_FS_DATE=16\nval SCE_FS_STRINGEOL=17\nval SCE_FS_CONSTANT=18\nval SCE_FS_WORDOPERATOR=19\nval SCE_FS_DISABLEDCODE=20\nval SCE_FS_DEFAULT_C=21\nval SCE_FS_COMMENTDOC_C=22\nval SCE_FS_COMMENTLINEDOC_C=23\nval SCE_FS_KEYWORD_C=24\nval SCE_FS_KEYWORD2_C=25\nval SCE_FS_NUMBER_C=26\nval SCE_FS_STRING_C=27\nval SCE_FS_PREPROCESSOR_C=28\nval SCE_FS_OPERATOR_C=29\nval SCE_FS_IDENTIFIER_C=30\nval SCE_FS_STRINGEOL_C=31\n# Lexical states for SCLEX_CSOUND\nlex Csound=SCLEX_CSOUND SCE_CSOUND_\nval SCE_CSOUND_DEFAULT=0\nval SCE_CSOUND_COMMENT=1\nval SCE_CSOUND_NUMBER=2\nval SCE_CSOUND_OPERATOR=3\nval SCE_CSOUND_INSTR=4\nval SCE_CSOUND_IDENTIFIER=5\nval SCE_CSOUND_OPCODE=6\nval SCE_CSOUND_HEADERSTMT=7\nval SCE_CSOUND_USERKEYWORD=8\nval SCE_CSOUND_COMMENTBLOCK=9\nval SCE_CSOUND_PARAM=10\nval SCE_CSOUND_ARATE_VAR=11\nval SCE_CSOUND_KRATE_VAR=12\nval SCE_CSOUND_IRATE_VAR=13\nval SCE_CSOUND_GLOBAL_VAR=14\nval SCE_CSOUND_STRINGEOL=15\n# Lexical states for SCLEX_INNOSETUP\nlex Inno=SCLEX_INNOSETUP SCE_INNO_\nval SCE_INNO_DEFAULT=0\nval SCE_INNO_COMMENT=1\nval SCE_INNO_KEYWORD=2\nval SCE_INNO_PARAMETER=3\nval SCE_INNO_SECTION=4\nval SCE_INNO_PREPROC=5\nval SCE_INNO_INLINE_EXPANSION=6\nval SCE_INNO_COMMENT_PASCAL=7\nval SCE_INNO_KEYWORD_PASCAL=8\nval SCE_INNO_KEYWORD_USER=9\nval SCE_INNO_STRING_DOUBLE=10\nval SCE_INNO_STRING_SINGLE=11\nval SCE_INNO_IDENTIFIER=12\n# Lexical states for SCLEX_OPAL\nlex Opal=SCLEX_OPAL SCE_OPAL_\nval SCE_OPAL_SPACE=0\nval SCE_OPAL_COMMENT_BLOCK=1\nval SCE_OPAL_COMMENT_LINE=2\nval SCE_OPAL_INTEGER=3\nval SCE_OPAL_KEYWORD=4\nval SCE_OPAL_SORT=5\nval SCE_OPAL_STRING=6\nval SCE_OPAL_PAR=7\nval SCE_OPAL_BOOL_CONST=8\nval SCE_OPAL_DEFAULT=32\n# Lexical states for SCLEX_SPICE\nlex Spice=SCLEX_SPICE SCE_SPICE_\nval SCE_SPICE_DEFAULT=0\nval SCE_SPICE_IDENTIFIER=1\nval SCE_SPICE_KEYWORD=2\nval SCE_SPICE_KEYWORD2=3\nval SCE_SPICE_KEYWORD3=4\nval SCE_SPICE_NUMBER=5\nval SCE_SPICE_DELIMITER=6\nval SCE_SPICE_VALUE=7\nval SCE_SPICE_COMMENTLINE=8\n# Lexical states for SCLEX_CMAKE\nlex CMAKE=SCLEX_CMAKE SCE_CMAKE_\nval SCE_CMAKE_DEFAULT=0\nval SCE_CMAKE_COMMENT=1\nval SCE_CMAKE_STRINGDQ=2\nval SCE_CMAKE_STRINGLQ=3\nval SCE_CMAKE_STRINGRQ=4\nval SCE_CMAKE_COMMANDS=5\nval SCE_CMAKE_PARAMETERS=6\nval SCE_CMAKE_VARIABLE=7\nval SCE_CMAKE_USERDEFINED=8\nval SCE_CMAKE_WHILEDEF=9\nval SCE_CMAKE_FOREACHDEF=10\nval SCE_CMAKE_IFDEFINEDEF=11\nval SCE_CMAKE_MACRODEF=12\nval SCE_CMAKE_STRINGVAR=13\nval SCE_CMAKE_NUMBER=14\n# Lexical states for SCLEX_GAP\nlex Gap=SCLEX_GAP SCE_GAP_\nval SCE_GAP_DEFAULT=0\nval SCE_GAP_IDENTIFIER=1\nval SCE_GAP_KEYWORD=2\nval SCE_GAP_KEYWORD2=3\nval SCE_GAP_KEYWORD3=4\nval SCE_GAP_KEYWORD4=5\nval SCE_GAP_STRING=6\nval SCE_GAP_CHAR=7\nval SCE_GAP_OPERATOR=8\nval SCE_GAP_COMMENT=9\nval SCE_GAP_NUMBER=10\nval SCE_GAP_STRINGEOL=11\n# Lexical state for SCLEX_PLM\nlex PLM=SCLEX_PLM SCE_PLM_\nval SCE_PLM_DEFAULT=0\nval SCE_PLM_COMMENT=1\nval SCE_PLM_STRING=2\nval SCE_PLM_NUMBER=3\nval SCE_PLM_IDENTIFIER=4\nval SCE_PLM_OPERATOR=5\nval SCE_PLM_CONTROL=6\nval SCE_PLM_KEYWORD=7\n# Lexical state for SCLEX_PROGRESS\nlex Progress=SCLEX_PROGRESS SCE_ABL_\nval SCE_ABL_DEFAULT=0\nval SCE_ABL_NUMBER=1\nval SCE_ABL_WORD=2\nval SCE_ABL_STRING=3\nval SCE_ABL_CHARACTER=4\nval SCE_ABL_PREPROCESSOR=5\nval SCE_ABL_OPERATOR=6\nval SCE_ABL_IDENTIFIER=7\nval SCE_ABL_BLOCK=8\nval SCE_ABL_END=9\nval SCE_ABL_COMMENT=10\nval SCE_ABL_TASKMARKER=11\nval SCE_ABL_LINECOMMENT=12\n# Lexical states for SCLEX_ABAQUS\nlex ABAQUS=SCLEX_ABAQUS SCE_ABAQUS_\nval SCE_ABAQUS_DEFAULT=0\nval SCE_ABAQUS_COMMENT=1\nval SCE_ABAQUS_COMMENTBLOCK=2\nval SCE_ABAQUS_NUMBER=3\nval SCE_ABAQUS_STRING=4\nval SCE_ABAQUS_OPERATOR=5\nval SCE_ABAQUS_WORD=6\nval SCE_ABAQUS_PROCESSOR=7\nval SCE_ABAQUS_COMMAND=8\nval SCE_ABAQUS_SLASHCOMMAND=9\nval SCE_ABAQUS_STARCOMMAND=10\nval SCE_ABAQUS_ARGUMENT=11\nval SCE_ABAQUS_FUNCTION=12\n# Lexical states for SCLEX_ASYMPTOTE\nlex Asymptote=SCLEX_ASYMPTOTE SCE_ASY_\nval SCE_ASY_DEFAULT=0\nval SCE_ASY_COMMENT=1\nval SCE_ASY_COMMENTLINE=2\nval SCE_ASY_NUMBER=3\nval SCE_ASY_WORD=4\nval SCE_ASY_STRING=5\nval SCE_ASY_CHARACTER=6\nval SCE_ASY_OPERATOR=7\nval SCE_ASY_IDENTIFIER=8\nval SCE_ASY_STRINGEOL=9\nval SCE_ASY_COMMENTLINEDOC=10\nval SCE_ASY_WORD2=11\n# Lexical states for SCLEX_R\nlex R=SCLEX_R SCE_R_\nval SCE_R_DEFAULT=0\nval SCE_R_COMMENT=1\nval SCE_R_KWORD=2\nval SCE_R_BASEKWORD=3\nval SCE_R_OTHERKWORD=4\nval SCE_R_NUMBER=5\nval SCE_R_STRING=6\nval SCE_R_STRING2=7\nval SCE_R_OPERATOR=8\nval SCE_R_IDENTIFIER=9\nval SCE_R_INFIX=10\nval SCE_R_INFIXEOL=11\n# Lexical state for SCLEX_MAGIK\nlex MagikSF=SCLEX_MAGIK SCE_MAGIK_\nval SCE_MAGIK_DEFAULT=0\nval SCE_MAGIK_COMMENT=1\nval SCE_MAGIK_HYPER_COMMENT=16\nval SCE_MAGIK_STRING=2\nval SCE_MAGIK_CHARACTER=3\nval SCE_MAGIK_NUMBER=4\nval SCE_MAGIK_IDENTIFIER=5\nval SCE_MAGIK_OPERATOR=6\nval SCE_MAGIK_FLOW=7\nval SCE_MAGIK_CONTAINER=8\nval SCE_MAGIK_BRACKET_BLOCK=9\nval SCE_MAGIK_BRACE_BLOCK=10\nval SCE_MAGIK_SQBRACKET_BLOCK=11\nval SCE_MAGIK_UNKNOWN_KEYWORD=12\nval SCE_MAGIK_KEYWORD=13\nval SCE_MAGIK_PRAGMA=14\nval SCE_MAGIK_SYMBOL=15\n# Lexical state for SCLEX_POWERSHELL\nlex PowerShell=SCLEX_POWERSHELL SCE_POWERSHELL_\nval SCE_POWERSHELL_DEFAULT=0\nval SCE_POWERSHELL_COMMENT=1\nval SCE_POWERSHELL_STRING=2\nval SCE_POWERSHELL_CHARACTER=3\nval SCE_POWERSHELL_NUMBER=4\nval SCE_POWERSHELL_VARIABLE=5\nval SCE_POWERSHELL_OPERATOR=6\nval SCE_POWERSHELL_IDENTIFIER=7\nval SCE_POWERSHELL_KEYWORD=8\nval SCE_POWERSHELL_CMDLET=9\nval SCE_POWERSHELL_ALIAS=10\nval SCE_POWERSHELL_FUNCTION=11\nval SCE_POWERSHELL_USER1=12\nval SCE_POWERSHELL_COMMENTSTREAM=13\nval SCE_POWERSHELL_HERE_STRING=14\nval SCE_POWERSHELL_HERE_CHARACTER=15\nval SCE_POWERSHELL_COMMENTDOCKEYWORD=16\n# Lexical state for SCLEX_MYSQL\nlex MySQL=SCLEX_MYSQL SCE_MYSQL_\nval SCE_MYSQL_DEFAULT=0\nval SCE_MYSQL_COMMENT=1\nval SCE_MYSQL_COMMENTLINE=2\nval SCE_MYSQL_VARIABLE=3\nval SCE_MYSQL_SYSTEMVARIABLE=4\nval SCE_MYSQL_KNOWNSYSTEMVARIABLE=5\nval SCE_MYSQL_NUMBER=6\nval SCE_MYSQL_MAJORKEYWORD=7\nval SCE_MYSQL_KEYWORD=8\nval SCE_MYSQL_DATABASEOBJECT=9\nval SCE_MYSQL_PROCEDUREKEYWORD=10\nval SCE_MYSQL_STRING=11\nval SCE_MYSQL_SQSTRING=12\nval SCE_MYSQL_DQSTRING=13\nval SCE_MYSQL_OPERATOR=14\nval SCE_MYSQL_FUNCTION=15\nval SCE_MYSQL_IDENTIFIER=16\nval SCE_MYSQL_QUOTEDIDENTIFIER=17\nval SCE_MYSQL_USER1=18\nval SCE_MYSQL_USER2=19\nval SCE_MYSQL_USER3=20\nval SCE_MYSQL_HIDDENCOMMAND=21\nval SCE_MYSQL_PLACEHOLDER=22\n# Lexical state for SCLEX_PO\nlex Po=SCLEX_PO SCE_PO_\nval SCE_PO_DEFAULT=0\nval SCE_PO_COMMENT=1\nval SCE_PO_MSGID=2\nval SCE_PO_MSGID_TEXT=3\nval SCE_PO_MSGSTR=4\nval SCE_PO_MSGSTR_TEXT=5\nval SCE_PO_MSGCTXT=6\nval SCE_PO_MSGCTXT_TEXT=7\nval SCE_PO_FUZZY=8\nval SCE_PO_PROGRAMMER_COMMENT=9\nval SCE_PO_REFERENCE=10\nval SCE_PO_FLAGS=11\nval SCE_PO_MSGID_TEXT_EOL=12\nval SCE_PO_MSGSTR_TEXT_EOL=13\nval SCE_PO_MSGCTXT_TEXT_EOL=14\nval SCE_PO_ERROR=15\n# Lexical states for SCLEX_PASCAL\nlex Pascal=SCLEX_PASCAL SCE_PAS_\nval SCE_PAS_DEFAULT=0\nval SCE_PAS_IDENTIFIER=1\nval SCE_PAS_COMMENT=2\nval SCE_PAS_COMMENT2=3\nval SCE_PAS_COMMENTLINE=4\nval SCE_PAS_PREPROCESSOR=5\nval SCE_PAS_PREPROCESSOR2=6\nval SCE_PAS_NUMBER=7\nval SCE_PAS_HEXNUMBER=8\nval SCE_PAS_WORD=9\nval SCE_PAS_STRING=10\nval SCE_PAS_STRINGEOL=11\nval SCE_PAS_CHARACTER=12\nval SCE_PAS_OPERATOR=13\nval SCE_PAS_ASM=14\n# Lexical state for SCLEX_SORCUS\nlex SORCUS=SCLEX_SORCUS SCE_SORCUS_\nval SCE_SORCUS_DEFAULT=0\nval SCE_SORCUS_COMMAND=1\nval SCE_SORCUS_PARAMETER=2\nval SCE_SORCUS_COMMENTLINE=3\nval SCE_SORCUS_STRING=4\nval SCE_SORCUS_STRINGEOL=5\nval SCE_SORCUS_IDENTIFIER=6\nval SCE_SORCUS_OPERATOR=7\nval SCE_SORCUS_NUMBER=8\nval SCE_SORCUS_CONSTANT=9\n# Lexical state for SCLEX_POWERPRO\nlex PowerPro=SCLEX_POWERPRO SCE_POWERPRO_\nval SCE_POWERPRO_DEFAULT=0\nval SCE_POWERPRO_COMMENTBLOCK=1\nval SCE_POWERPRO_COMMENTLINE=2\nval SCE_POWERPRO_NUMBER=3\nval SCE_POWERPRO_WORD=4\nval SCE_POWERPRO_WORD2=5\nval SCE_POWERPRO_WORD3=6\nval SCE_POWERPRO_WORD4=7\nval SCE_POWERPRO_DOUBLEQUOTEDSTRING=8\nval SCE_POWERPRO_SINGLEQUOTEDSTRING=9\nval SCE_POWERPRO_LINECONTINUE=10\nval SCE_POWERPRO_OPERATOR=11\nval SCE_POWERPRO_IDENTIFIER=12\nval SCE_POWERPRO_STRINGEOL=13\nval SCE_POWERPRO_VERBATIM=14\nval SCE_POWERPRO_ALTQUOTE=15\nval SCE_POWERPRO_FUNCTION=16\n# Lexical states for SCLEX_SML\nlex SML=SCLEX_SML SCE_SML_\nval SCE_SML_DEFAULT=0\nval SCE_SML_IDENTIFIER=1\nval SCE_SML_TAGNAME=2\nval SCE_SML_KEYWORD=3\nval SCE_SML_KEYWORD2=4\nval SCE_SML_KEYWORD3=5\nval SCE_SML_LINENUM=6\nval SCE_SML_OPERATOR=7\nval SCE_SML_NUMBER=8\nval SCE_SML_CHAR=9\nval SCE_SML_STRING=11\nval SCE_SML_COMMENT=12\nval SCE_SML_COMMENT1=13\nval SCE_SML_COMMENT2=14\nval SCE_SML_COMMENT3=15\n# Lexical state for SCLEX_MARKDOWN\nlex Markdown=SCLEX_MARKDOWN SCE_MARKDOWN_\nval SCE_MARKDOWN_DEFAULT=0\nval SCE_MARKDOWN_LINE_BEGIN=1\nval SCE_MARKDOWN_STRONG1=2\nval SCE_MARKDOWN_STRONG2=3\nval SCE_MARKDOWN_EM1=4\nval SCE_MARKDOWN_EM2=5\nval SCE_MARKDOWN_HEADER1=6\nval SCE_MARKDOWN_HEADER2=7\nval SCE_MARKDOWN_HEADER3=8\nval SCE_MARKDOWN_HEADER4=9\nval SCE_MARKDOWN_HEADER5=10\nval SCE_MARKDOWN_HEADER6=11\nval SCE_MARKDOWN_PRECHAR=12\nval SCE_MARKDOWN_ULIST_ITEM=13\nval SCE_MARKDOWN_OLIST_ITEM=14\nval SCE_MARKDOWN_BLOCKQUOTE=15\nval SCE_MARKDOWN_STRIKEOUT=16\nval SCE_MARKDOWN_HRULE=17\nval SCE_MARKDOWN_LINK=18\nval SCE_MARKDOWN_CODE=19\nval SCE_MARKDOWN_CODE2=20\nval SCE_MARKDOWN_CODEBK=21\n# Lexical state for SCLEX_TXT2TAGS\nlex Txt2tags=SCLEX_TXT2TAGS SCE_TXT2TAGS_\nval SCE_TXT2TAGS_DEFAULT=0\nval SCE_TXT2TAGS_LINE_BEGIN=1\nval SCE_TXT2TAGS_STRONG1=2\nval SCE_TXT2TAGS_STRONG2=3\nval SCE_TXT2TAGS_EM1=4\nval SCE_TXT2TAGS_EM2=5\nval SCE_TXT2TAGS_HEADER1=6\nval SCE_TXT2TAGS_HEADER2=7\nval SCE_TXT2TAGS_HEADER3=8\nval SCE_TXT2TAGS_HEADER4=9\nval SCE_TXT2TAGS_HEADER5=10\nval SCE_TXT2TAGS_HEADER6=11\nval SCE_TXT2TAGS_PRECHAR=12\nval SCE_TXT2TAGS_ULIST_ITEM=13\nval SCE_TXT2TAGS_OLIST_ITEM=14\nval SCE_TXT2TAGS_BLOCKQUOTE=15\nval SCE_TXT2TAGS_STRIKEOUT=16\nval SCE_TXT2TAGS_HRULE=17\nval SCE_TXT2TAGS_LINK=18\nval SCE_TXT2TAGS_CODE=19\nval SCE_TXT2TAGS_CODE2=20\nval SCE_TXT2TAGS_CODEBK=21\nval SCE_TXT2TAGS_COMMENT=22\nval SCE_TXT2TAGS_OPTION=23\nval SCE_TXT2TAGS_PREPROC=24\nval SCE_TXT2TAGS_POSTPROC=25\n# Lexical states for SCLEX_A68K\nlex A68k=SCLEX_A68K SCE_A68K_\nval SCE_A68K_DEFAULT=0\nval SCE_A68K_COMMENT=1\nval SCE_A68K_NUMBER_DEC=2\nval SCE_A68K_NUMBER_BIN=3\nval SCE_A68K_NUMBER_HEX=4\nval SCE_A68K_STRING1=5\nval SCE_A68K_OPERATOR=6\nval SCE_A68K_CPUINSTRUCTION=7\nval SCE_A68K_EXTINSTRUCTION=8\nval SCE_A68K_REGISTER=9\nval SCE_A68K_DIRECTIVE=10\nval SCE_A68K_MACRO_ARG=11\nval SCE_A68K_LABEL=12\nval SCE_A68K_STRING2=13\nval SCE_A68K_IDENTIFIER=14\nval SCE_A68K_MACRO_DECLARATION=15\nval SCE_A68K_COMMENT_WORD=16\nval SCE_A68K_COMMENT_SPECIAL=17\nval SCE_A68K_COMMENT_DOXYGEN=18\n# Lexical states for SCLEX_MODULA\nlex Modula=SCLEX_MODULA SCE_MODULA_\nval SCE_MODULA_DEFAULT=0\nval SCE_MODULA_COMMENT=1\nval SCE_MODULA_DOXYCOMM=2\nval SCE_MODULA_DOXYKEY=3\nval SCE_MODULA_KEYWORD=4\nval SCE_MODULA_RESERVED=5\nval SCE_MODULA_NUMBER=6\nval SCE_MODULA_BASENUM=7\nval SCE_MODULA_FLOAT=8\nval SCE_MODULA_STRING=9\nval SCE_MODULA_STRSPEC=10\nval SCE_MODULA_CHAR=11\nval SCE_MODULA_CHARSPEC=12\nval SCE_MODULA_PROC=13\nval SCE_MODULA_PRAGMA=14\nval SCE_MODULA_PRGKEY=15\nval SCE_MODULA_OPERATOR=16\nval SCE_MODULA_BADSTR=17\n# Lexical states for SCLEX_COFFEESCRIPT\nlex CoffeeScript=SCLEX_COFFEESCRIPT SCE_COFFEESCRIPT_\nval SCE_COFFEESCRIPT_DEFAULT=0\nval SCE_COFFEESCRIPT_COMMENT=1\nval SCE_COFFEESCRIPT_COMMENTLINE=2\nval SCE_COFFEESCRIPT_COMMENTDOC=3\nval SCE_COFFEESCRIPT_NUMBER=4\nval SCE_COFFEESCRIPT_WORD=5\nval SCE_COFFEESCRIPT_STRING=6\nval SCE_COFFEESCRIPT_CHARACTER=7\nval SCE_COFFEESCRIPT_UUID=8\nval SCE_COFFEESCRIPT_PREPROCESSOR=9\nval SCE_COFFEESCRIPT_OPERATOR=10\nval SCE_COFFEESCRIPT_IDENTIFIER=11\nval SCE_COFFEESCRIPT_STRINGEOL=12\nval SCE_COFFEESCRIPT_VERBATIM=13\nval SCE_COFFEESCRIPT_REGEX=14\nval SCE_COFFEESCRIPT_COMMENTLINEDOC=15\nval SCE_COFFEESCRIPT_WORD2=16\nval SCE_COFFEESCRIPT_COMMENTDOCKEYWORD=17\nval SCE_COFFEESCRIPT_COMMENTDOCKEYWORDERROR=18\nval SCE_COFFEESCRIPT_GLOBALCLASS=19\nval SCE_COFFEESCRIPT_STRINGRAW=20\nval SCE_COFFEESCRIPT_TRIPLEVERBATIM=21\nval SCE_COFFEESCRIPT_COMMENTBLOCK=22\nval SCE_COFFEESCRIPT_VERBOSE_REGEX=23\nval SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT=24\nval SCE_COFFEESCRIPT_INSTANCEPROPERTY=25\n# Lexical states for SCLEX_AVS\nlex AVS=SCLEX_AVS SCE_AVS_\nval SCE_AVS_DEFAULT=0\nval SCE_AVS_COMMENTBLOCK=1\nval SCE_AVS_COMMENTBLOCKN=2\nval SCE_AVS_COMMENTLINE=3\nval SCE_AVS_NUMBER=4\nval SCE_AVS_OPERATOR=5\nval SCE_AVS_IDENTIFIER=6\nval SCE_AVS_STRING=7\nval SCE_AVS_TRIPLESTRING=8\nval SCE_AVS_KEYWORD=9\nval SCE_AVS_FILTER=10\nval SCE_AVS_PLUGIN=11\nval SCE_AVS_FUNCTION=12\nval SCE_AVS_CLIPPROP=13\nval SCE_AVS_USERDFN=14\n# Lexical states for SCLEX_ECL\nlex ECL=SCLEX_ECL SCE_ECL_\nval SCE_ECL_DEFAULT=0\nval SCE_ECL_COMMENT=1\nval SCE_ECL_COMMENTLINE=2\nval SCE_ECL_NUMBER=3\nval SCE_ECL_STRING=4\nval SCE_ECL_WORD0=5\nval SCE_ECL_OPERATOR=6\nval SCE_ECL_CHARACTER=7\nval SCE_ECL_UUID=8\nval SCE_ECL_PREPROCESSOR=9\nval SCE_ECL_UNKNOWN=10\nval SCE_ECL_IDENTIFIER=11\nval SCE_ECL_STRINGEOL=12\nval SCE_ECL_VERBATIM=13\nval SCE_ECL_REGEX=14\nval SCE_ECL_COMMENTLINEDOC=15\nval SCE_ECL_WORD1=16\nval SCE_ECL_COMMENTDOCKEYWORD=17\nval SCE_ECL_COMMENTDOCKEYWORDERROR=18\nval SCE_ECL_WORD2=19\nval SCE_ECL_WORD3=20\nval SCE_ECL_WORD4=21\nval SCE_ECL_WORD5=22\nval SCE_ECL_COMMENTDOC=23\nval SCE_ECL_ADDED=24\nval SCE_ECL_DELETED=25\nval SCE_ECL_CHANGED=26\nval SCE_ECL_MOVED=27\n# Lexical states for SCLEX_OSCRIPT\nlex OScript=SCLEX_OSCRIPT SCE_OSCRIPT_\nval SCE_OSCRIPT_DEFAULT=0\nval SCE_OSCRIPT_LINE_COMMENT=1\nval SCE_OSCRIPT_BLOCK_COMMENT=2\nval SCE_OSCRIPT_DOC_COMMENT=3\nval SCE_OSCRIPT_PREPROCESSOR=4\nval SCE_OSCRIPT_NUMBER=5\nval SCE_OSCRIPT_SINGLEQUOTE_STRING=6\nval SCE_OSCRIPT_DOUBLEQUOTE_STRING=7\nval SCE_OSCRIPT_CONSTANT=8\nval SCE_OSCRIPT_IDENTIFIER=9\nval SCE_OSCRIPT_GLOBAL=10\nval SCE_OSCRIPT_KEYWORD=11\nval SCE_OSCRIPT_OPERATOR=12\nval SCE_OSCRIPT_LABEL=13\nval SCE_OSCRIPT_TYPE=14\nval SCE_OSCRIPT_FUNCTION=15\nval SCE_OSCRIPT_OBJECT=16\nval SCE_OSCRIPT_PROPERTY=17\nval SCE_OSCRIPT_METHOD=18\n# Lexical states for SCLEX_VISUALPROLOG\nlex VisualProlog=SCLEX_VISUALPROLOG SCE_VISUALPROLOG_\nval SCE_VISUALPROLOG_DEFAULT=0\nval SCE_VISUALPROLOG_KEY_MAJOR=1\nval SCE_VISUALPROLOG_KEY_MINOR=2\nval SCE_VISUALPROLOG_KEY_DIRECTIVE=3\nval SCE_VISUALPROLOG_COMMENT_BLOCK=4\nval SCE_VISUALPROLOG_COMMENT_LINE=5\nval SCE_VISUALPROLOG_COMMENT_KEY=6\nval SCE_VISUALPROLOG_COMMENT_KEY_ERROR=7\nval SCE_VISUALPROLOG_IDENTIFIER=8\nval SCE_VISUALPROLOG_VARIABLE=9\nval SCE_VISUALPROLOG_ANONYMOUS=10\nval SCE_VISUALPROLOG_NUMBER=11\nval SCE_VISUALPROLOG_OPERATOR=12\nval SCE_VISUALPROLOG_CHARACTER=13\nval SCE_VISUALPROLOG_CHARACTER_TOO_MANY=14\nval SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR=15\nval SCE_VISUALPROLOG_STRING=16\nval SCE_VISUALPROLOG_STRING_ESCAPE=17\nval SCE_VISUALPROLOG_STRING_ESCAPE_ERROR=18\nval SCE_VISUALPROLOG_STRING_EOL_OPEN=19\nval SCE_VISUALPROLOG_STRING_VERBATIM=20\nval SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL=21\nval SCE_VISUALPROLOG_STRING_VERBATIM_EOL=22\n# Lexical states for SCLEX_STTXT\nlex StructuredText=SCLEX_STTXT SCE_STTXT_\nval SCE_STTXT_DEFAULT=0\nval SCE_STTXT_COMMENT=1\nval SCE_STTXT_COMMENTLINE=2\nval SCE_STTXT_KEYWORD=3\nval SCE_STTXT_TYPE=4\nval SCE_STTXT_FUNCTION=5\nval SCE_STTXT_FB=6\nval SCE_STTXT_NUMBER=7\nval SCE_STTXT_HEXNUMBER=8\nval SCE_STTXT_PRAGMA=9\nval SCE_STTXT_OPERATOR=10\nval SCE_STTXT_CHARACTER=11\nval SCE_STTXT_STRING1=12\nval SCE_STTXT_STRING2=13\nval SCE_STTXT_STRINGEOL=14\nval SCE_STTXT_IDENTIFIER=15\nval SCE_STTXT_DATETIME=16\nval SCE_STTXT_VARS=17\nval SCE_STTXT_PRAGMAS=18\n# Lexical states for SCLEX_KVIRC\nlex KVIrc=SCLEX_KVIRC SCE_KVIRC_\nval SCE_KVIRC_DEFAULT=0\nval SCE_KVIRC_COMMENT=1\nval SCE_KVIRC_COMMENTBLOCK=2\nval SCE_KVIRC_STRING=3\nval SCE_KVIRC_WORD=4\nval SCE_KVIRC_KEYWORD=5\nval SCE_KVIRC_FUNCTION_KEYWORD=6\nval SCE_KVIRC_FUNCTION=7\nval SCE_KVIRC_VARIABLE=8\nval SCE_KVIRC_NUMBER=9\nval SCE_KVIRC_OPERATOR=10\nval SCE_KVIRC_STRING_FUNCTION=11\nval SCE_KVIRC_STRING_VARIABLE=12\n# Lexical states for SCLEX_RUST\nlex Rust=SCLEX_RUST SCE_RUST_\nval SCE_RUST_DEFAULT=0\nval SCE_RUST_COMMENTBLOCK=1\nval SCE_RUST_COMMENTLINE=2\nval SCE_RUST_COMMENTBLOCKDOC=3\nval SCE_RUST_COMMENTLINEDOC=4\nval SCE_RUST_NUMBER=5\nval SCE_RUST_WORD=6\nval SCE_RUST_WORD2=7\nval SCE_RUST_WORD3=8\nval SCE_RUST_WORD4=9\nval SCE_RUST_WORD5=10\nval SCE_RUST_WORD6=11\nval SCE_RUST_WORD7=12\nval SCE_RUST_STRING=13\nval SCE_RUST_STRINGR=14\nval SCE_RUST_CHARACTER=15\nval SCE_RUST_OPERATOR=16\nval SCE_RUST_IDENTIFIER=17\nval SCE_RUST_LIFETIME=18\nval SCE_RUST_MACRO=19\nval SCE_RUST_LEXERROR=20\nval SCE_RUST_BYTESTRING=21\nval SCE_RUST_BYTESTRINGR=22\nval SCE_RUST_BYTECHARACTER=23\n# Lexical states for SCLEX_DMAP\nlex DMAP=SCLEX_DMAP SCE_DMAP_\nval SCE_DMAP_DEFAULT=0\nval SCE_DMAP_COMMENT=1\nval SCE_DMAP_NUMBER=2\nval SCE_DMAP_STRING1=3\nval SCE_DMAP_STRING2=4\nval SCE_DMAP_STRINGEOL=5\nval SCE_DMAP_OPERATOR=6\nval SCE_DMAP_IDENTIFIER=7\nval SCE_DMAP_WORD=8\nval SCE_DMAP_WORD2=9\nval SCE_DMAP_WORD3=10\n# Lexical states for SCLEX_DMIS\nlex DMIS=SCLEX_DMIS SCE_DMIS_\nval SCE_DMIS_DEFAULT=0\nval SCE_DMIS_COMMENT=1\nval SCE_DMIS_STRING=2\nval SCE_DMIS_NUMBER=3\nval SCE_DMIS_KEYWORD=4\nval SCE_DMIS_MAJORWORD=5\nval SCE_DMIS_MINORWORD=6\nval SCE_DMIS_UNSUPPORTED_MAJOR=7\nval SCE_DMIS_UNSUPPORTED_MINOR=8\nval SCE_DMIS_LABEL=9\n# Lexical states for SCLEX_REGISTRY\nlex REG=SCLEX_REGISTRY SCE_REG_\nval SCE_REG_DEFAULT=0\nval SCE_REG_COMMENT=1\nval SCE_REG_VALUENAME=2\nval SCE_REG_STRING=3\nval SCE_REG_HEXDIGIT=4\nval SCE_REG_VALUETYPE=5\nval SCE_REG_ADDEDKEY=6\nval SCE_REG_DELETEDKEY=7\nval SCE_REG_ESCAPED=8\nval SCE_REG_KEYPATH_GUID=9\nval SCE_REG_STRING_GUID=10\nval SCE_REG_PARAMETER=11\nval SCE_REG_OPERATOR=12\n# Lexical state for SCLEX_BIBTEX\nlex BibTeX=SCLEX_BIBTEX SCE_BIBTEX_\nval SCE_BIBTEX_DEFAULT=0\nval SCE_BIBTEX_ENTRY=1\nval SCE_BIBTEX_UNKNOWN_ENTRY=2\nval SCE_BIBTEX_KEY=3\nval SCE_BIBTEX_PARAMETER=4\nval SCE_BIBTEX_VALUE=5\nval SCE_BIBTEX_COMMENT=6\n# Lexical state for SCLEX_SREC\nlex Srec=SCLEX_SREC SCE_HEX_\nval SCE_HEX_DEFAULT=0\nval SCE_HEX_RECSTART=1\nval SCE_HEX_RECTYPE=2\nval SCE_HEX_RECTYPE_UNKNOWN=3\nval SCE_HEX_BYTECOUNT=4\nval SCE_HEX_BYTECOUNT_WRONG=5\nval SCE_HEX_NOADDRESS=6\nval SCE_HEX_DATAADDRESS=7\nval SCE_HEX_RECCOUNT=8\nval SCE_HEX_STARTADDRESS=9\nval SCE_HEX_ADDRESSFIELD_UNKNOWN=10\nval SCE_HEX_EXTENDEDADDRESS=11\nval SCE_HEX_DATA_ODD=12\nval SCE_HEX_DATA_EVEN=13\nval SCE_HEX_DATA_UNKNOWN=14\nval SCE_HEX_DATA_EMPTY=15\nval SCE_HEX_CHECKSUM=16\nval SCE_HEX_CHECKSUM_WRONG=17\nval SCE_HEX_GARBAGE=18\n# Lexical state for SCLEX_IHEX (shared with Srec)\nlex IHex=SCLEX_IHEX SCE_HEX_\n# Lexical state for SCLEX_TEHEX (shared with Srec)\nlex TEHex=SCLEX_TEHEX SCE_HEX_\n# Lexical states for SCLEX_JSON\nlex JSON=SCLEX_JSON SCE_JSON_\nval SCE_JSON_DEFAULT=0\nval SCE_JSON_NUMBER=1\nval SCE_JSON_STRING=2\nval SCE_JSON_STRINGEOL=3\nval SCE_JSON_PROPERTYNAME=4\nval SCE_JSON_ESCAPESEQUENCE=5\nval SCE_JSON_LINECOMMENT=6\nval SCE_JSON_BLOCKCOMMENT=7\nval SCE_JSON_OPERATOR=8\nval SCE_JSON_URI=9\nval SCE_JSON_COMPACTIRI=10\nval SCE_JSON_KEYWORD=11\nval SCE_JSON_LDKEYWORD=12\nval SCE_JSON_ERROR=13\nlex EDIFACT=SCLEX_EDIFACT SCE_EDI_\nval SCE_EDI_DEFAULT=0\nval SCE_EDI_SEGMENTSTART=1\nval SCE_EDI_SEGMENTEND=2\nval SCE_EDI_SEP_ELEMENT=3\nval SCE_EDI_SEP_COMPOSITE=4\nval SCE_EDI_SEP_RELEASE=5\nval SCE_EDI_UNA=6\nval SCE_EDI_UNH=7\nval SCE_EDI_BADSEGMENT=8\n# Lexical states for SCLEX_STATA\nlex STATA=SCLEX_STATA SCE_STATA_\nval SCE_STATA_DEFAULT=0\nval SCE_STATA_COMMENT=1\nval SCE_STATA_COMMENTLINE=2\nval SCE_STATA_COMMENTBLOCK=3\nval SCE_STATA_NUMBER=4\nval SCE_STATA_OPERATOR=5\nval SCE_STATA_IDENTIFIER=6\nval SCE_STATA_STRING=7\nval SCE_STATA_TYPE=8\nval SCE_STATA_WORD=9\nval SCE_STATA_GLOBAL_MACRO=10\nval SCE_STATA_MACRO=11\n# Lexical states for SCLEX_SAS\nlex SAS=SCLEX_SAS SCE_SAS_\nval SCE_SAS_DEFAULT=0\nval SCE_SAS_COMMENT=1\nval SCE_SAS_COMMENTLINE=2\nval SCE_SAS_COMMENTBLOCK=3\nval SCE_SAS_NUMBER=4\nval SCE_SAS_OPERATOR=5\nval SCE_SAS_IDENTIFIER=6\nval SCE_SAS_STRING=7\nval SCE_SAS_TYPE=8\nval SCE_SAS_WORD=9\nval SCE_SAS_GLOBAL_MACRO=10\nval SCE_SAS_MACRO=11\nval SCE_SAS_MACRO_KEYWORD=12\nval SCE_SAS_BLOCK_KEYWORD=13\nval SCE_SAS_MACRO_FUNCTION=14\nval SCE_SAS_STATEMENT=15\n\n# Events\n\nevt void StyleNeeded=2000(int position)\nevt void CharAdded=2001(int ch)\nevt void SavePointReached=2002(void)\nevt void SavePointLeft=2003(void)\nevt void ModifyAttemptRO=2004(void)\n# GTK+ Specific to work around focus and accelerator problems:\nevt void Key=2005(int ch, int modifiers)\nevt void DoubleClick=2006(int modifiers, int position, int line)\nevt void UpdateUI=2007(int updated)\nevt void Modified=2008(int position, int modificationType, string text, int length, int linesAdded, int line, int foldLevelNow, int foldLevelPrev, int token, int annotationLinesAdded)\nevt void MacroRecord=2009(int message, int wParam, int lParam)\nevt void MarginClick=2010(int modifiers, int position, int margin)\nevt void NeedShown=2011(int position, int length)\nevt void Painted=2013(void)\nevt void UserListSelection=2014(int listType, string text, int position, int ch, CompletionMethods listCompletionMethod)\nevt void URIDropped=2015(string text)\nevt void DwellStart=2016(int position, int x, int y)\nevt void DwellEnd=2017(int position, int x, int y)\nevt void Zoom=2018(void)\nevt void HotSpotClick=2019(int modifiers, int position)\nevt void HotSpotDoubleClick=2020(int modifiers, int position)\nevt void CallTipClick=2021(int position)\nevt void AutoCSelection=2022(string text, int position, int ch, CompletionMethods listCompletionMethod)\nevt void IndicatorClick=2023(int modifiers, int position)\nevt void IndicatorRelease=2024(int modifiers, int position)\nevt void AutoCCancelled=2025(void)\nevt void AutoCCharDeleted=2026(void)\nevt void HotSpotReleaseClick=2027(int modifiers, int position)\nevt void FocusIn=2028(void)\nevt void FocusOut=2029(void)\nevt void AutoCCompleted=2030(string text, int position, int ch, CompletionMethods listCompletionMethod)\nevt void MarginRightClick=2031(int modifiers, int position, int margin)\nevt void AutoCSelectionChange=2032(int listType, string text, int position)\n\ncat Provisional\n\nenu LineCharacterIndexType=SC_LINECHARACTERINDEX_\nval SC_LINECHARACTERINDEX_NONE=0\nval SC_LINECHARACTERINDEX_UTF32=1\nval SC_LINECHARACTERINDEX_UTF16=2\n\n# Retrieve line character index state.\nget int GetLineCharacterIndex=2710(,)\n\n# Request line character index be created or its use count increased.\nfun void AllocateLineCharacterIndex=2711(int lineCharacterIndex,)\n\n# Decrease use count of line character index and remove if 0.\nfun void ReleaseLineCharacterIndex=2712(int lineCharacterIndex,)\n\n# Retrieve the document line containing a position measured in index units.\nfun int LineFromIndexPosition=2713(position pos, int lineCharacterIndex)\n\n# Retrieve the position measured in index units at the start of a document line.\nfun position IndexPositionFromLine=2714(int line, int lineCharacterIndex)\n\ncat Deprecated\n\n# Divide each styling byte into lexical class bits (default: 5) and indicator\n# bits (default: 3). If a lexer requires more than 32 lexical states, then this\n# is used to expand the possible states.\nset void SetStyleBits=2090(int bits,)\n\n# Retrieve number of bits in style bytes used to hold the lexical state.\nget int GetStyleBits=2091(,)\n\n# Retrieve the number of bits the current lexer needs for styling.\nget int GetStyleBitsNeeded=4011(,)\n\n# Deprecated in 3.5.5\n\n# Always interpret keyboard input as Unicode\nset void SetKeysUnicode=2521(bool keysUnicode,)\n\n# Are keys always interpreted as Unicode?\nget bool GetKeysUnicode=2522(,)\n"
  },
  {
    "path": "src/qscint/scintilla/include/ScintillaWidget.h",
    "content": "/* Scintilla source code edit control */\n/* @file ScintillaWidget.h\n * Definition of Scintilla widget for GTK+.\n * Only needed by GTK+ code but is harmless on other platforms.\n * This comment is not a doc-comment as that causes warnings from g-ir-scanner.\n */\n/* Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n * The License.txt file describes the conditions under which this software may be distributed. */\n\n#ifndef SCINTILLAWIDGET_H\n#define SCINTILLAWIDGET_H\n\n#if defined(GTK)\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define SCINTILLA(obj)          G_TYPE_CHECK_INSTANCE_CAST (obj, scintilla_get_type (), ScintillaObject)\n#define SCINTILLA_CLASS(klass)  G_TYPE_CHECK_CLASS_CAST (klass, scintilla_get_type (), ScintillaClass)\n#define IS_SCINTILLA(obj)       G_TYPE_CHECK_INSTANCE_TYPE (obj, scintilla_get_type ())\n\n#define SCINTILLA_TYPE_OBJECT             (scintilla_object_get_type())\n#define SCINTILLA_OBJECT(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), SCINTILLA_TYPE_OBJECT, ScintillaObject))\n#define SCINTILLA_IS_OBJECT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCINTILLA_TYPE_OBJECT))\n#define SCINTILLA_OBJECT_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass))\n#define SCINTILLA_IS_OBJECT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), SCINTILLA_TYPE_OBJECT))\n#define SCINTILLA_OBJECT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass))\n\ntypedef struct _ScintillaObject ScintillaObject;\ntypedef struct _ScintillaClass  ScintillaObjectClass;\n\nstruct _ScintillaObject {\n\tGtkContainer cont;\n\tvoid *pscin;\n};\n\nstruct _ScintillaClass {\n\tGtkContainerClass parent_class;\n\n\tvoid (* command) (ScintillaObject *sci, int cmd, GtkWidget *window);\n\tvoid (* notify) (ScintillaObject *sci, int id, SCNotification *scn);\n};\n\nGType\t\tscintilla_object_get_type\t\t(void);\nGtkWidget*\tscintilla_object_new\t\t\t(void);\ngintptr\t\tscintilla_object_send_message\t(ScintillaObject *sci, unsigned int iMessage, guintptr wParam, gintptr lParam);\n\n\nGType\t\tscnotification_get_type\t\t\t(void);\n#define SCINTILLA_TYPE_NOTIFICATION        (scnotification_get_type())\n\n#ifndef G_IR_SCANNING\n/* The legacy names confuse the g-ir-scanner program */\ntypedef struct _ScintillaClass  ScintillaClass;\n\nGType\t\tscintilla_get_type\t(void);\nGtkWidget*\tscintilla_new\t\t(void);\nvoid\t\tscintilla_set_id\t(ScintillaObject *sci, uptr_t id);\nsptr_t\t\tscintilla_send_message\t(ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam);\nvoid\t\tscintilla_release_resources(void);\n#endif\n\n#define SCINTILLA_NOTIFY \"sci-notify\"\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexA68k.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexA68k.cxx\n ** Lexer for Assembler, just for the MASM syntax\n ** Written by Martial Demolins AKA Folco\n **/\n// Copyright 2010 Martial Demolins <mdemolins(a)gmail.com>\n// The License.txt file describes the conditions under which this software\n// may be distributed.\n\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\n// Return values for GetOperatorType\n#define NO_OPERATOR     0\n#define OPERATOR_1CHAR  1\n#define OPERATOR_2CHAR  2\n\n\n/**\n *  IsIdentifierStart\n *\n *  Return true if the given char is a valid identifier first char\n */\n\nstatic inline bool IsIdentifierStart (const int ch)\n{\n    return (isalpha(ch) || (ch == '_') || (ch == '\\\\'));\n}\n\n\n/**\n *  IsIdentifierChar\n *\n *  Return true if the given char is a valid identifier char\n */\n\nstatic inline bool IsIdentifierChar (const int ch)\n{\n    return (isalnum(ch) || (ch == '_') || (ch == '@') || (ch == ':') || (ch == '.'));\n}\n\n\n/**\n *  GetOperatorType\n *\n *  Return:\n *  NO_OPERATOR     if char is not an operator\n *  OPERATOR_1CHAR  if the operator is one char long\n *  OPERATOR_2CHAR  if the operator is two chars long\n */\n\nstatic inline int GetOperatorType (const int ch1, const int ch2)\n{\n    int OpType = NO_OPERATOR;\n\n    if ((ch1 == '+') || (ch1 == '-') || (ch1 == '*') || (ch1 == '/') || (ch1 == '#') ||\n        (ch1 == '(') || (ch1 == ')') || (ch1 == '~') || (ch1 == '&') || (ch1 == '|') || (ch1 == ','))\n        OpType = OPERATOR_1CHAR;\n\n    else if ((ch1 == ch2) && (ch1 == '<' || ch1 == '>'))\n        OpType = OPERATOR_2CHAR;\n\n    return OpType;\n}\n\n\n/**\n *  IsBin\n *\n *  Return true if the given char is 0 or 1\n */\n\nstatic inline bool IsBin (const int ch)\n{\n    return (ch == '0') || (ch == '1');\n}\n\n\n/**\n *  IsDoxygenChar\n *\n *  Return true if the char may be part of a Doxygen keyword\n */\n\nstatic inline bool IsDoxygenChar (const int ch)\n{\n    return isalpha(ch) || (ch == '$') || (ch == '[') || (ch == ']') || (ch == '{') || (ch == '}');\n}\n\n\n/**\n *  ColouriseA68kDoc\n *\n *  Main function, which colourises a 68k source\n */\n\nstatic void ColouriseA68kDoc (Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler)\n{\n    // Used to buffer a string, to be able to compare it using built-in functions\n    char Buffer[100];\n\n\n    // Used to know the length of an operator\n    int OpType;\n\n\n    // Get references to keywords lists\n    WordList &cpuInstruction = *keywordlists[0];\n    WordList &registers = *keywordlists[1];\n    WordList &directive = *keywordlists[2];\n    WordList &extInstruction = *keywordlists[3];\n    WordList &alert          = *keywordlists[4];\n    WordList &doxygenKeyword = *keywordlists[5];\n\n\n    // Instanciate a context for our source\n    StyleContext sc(startPos, length, initStyle, styler);\n\n\n    /************************************************************\n    *\n    *   Parse the source\n    *\n    ************************************************************/\n\n    for ( ; sc.More(); sc.Forward())\n    {\n        /************************************************************\n        *\n        *   A style always terminates at the end of a line, even for\n        *   comments (no multi-lines comments)\n        *\n        ************************************************************/\n        if (sc.atLineStart) {\n            sc.SetState(SCE_A68K_DEFAULT);\n        }\n\n\n        /************************************************************\n        *\n        *   If we are not in \"default style\", check if the style continues\n        *   In this case, we just have to loop\n        *\n        ************************************************************/\n\n        if (sc.state != SCE_A68K_DEFAULT)\n        {\n            if (   ((sc.state == SCE_A68K_NUMBER_DEC)        && isdigit(sc.ch))                      // Decimal number\n                || ((sc.state == SCE_A68K_NUMBER_BIN) && IsBin(sc.ch))                                      // Binary number\n                || ((sc.state == SCE_A68K_NUMBER_HEX) && isxdigit(sc.ch))                                   // Hexa number\n                || ((sc.state == SCE_A68K_MACRO_ARG)         && isdigit(sc.ch))                      // Macro argument\n                || ((sc.state == SCE_A68K_STRING1)    && (sc.ch != '\\''))                                   // String single-quoted\n                || ((sc.state == SCE_A68K_STRING2)    && (sc.ch != '\\\"'))                                   // String double-quoted\n                || ((sc.state == SCE_A68K_MACRO_DECLARATION) && IsIdentifierChar(sc.ch))             // Macro declaration (or global label, we don't know at this point)\n                || ((sc.state == SCE_A68K_IDENTIFIER)        && IsIdentifierChar(sc.ch))             // Identifier\n                || ((sc.state == SCE_A68K_LABEL)             && IsIdentifierChar(sc.ch))             // Label (local)\n                || ((sc.state == SCE_A68K_COMMENT_DOXYGEN)   && IsDoxygenChar(sc.ch))                // Doxygen keyword\n                || ((sc.state == SCE_A68K_COMMENT_SPECIAL)   && isalpha(sc.ch))                      // Alert\n                || ((sc.state == SCE_A68K_COMMENT)           && !isalpha(sc.ch) && (sc.ch != '\\\\'))) // Normal comment\n            {\n                continue;\n            }\n\n        /************************************************************\n        *\n        *   Check if current state terminates\n        *\n        ************************************************************/\n\n            // Strings: include terminal ' or \" in the current string by skipping it\n            if ((sc.state == SCE_A68K_STRING1) || (sc.state == SCE_A68K_STRING2)) {\n                sc.Forward();\n                }\n\n\n            // If a macro declaration was terminated with ':', it was a label\n            else if ((sc.state == SCE_A68K_MACRO_DECLARATION) && (sc.chPrev == ':')) {\n                sc.ChangeState(SCE_A68K_LABEL);\n            }\n\n\n            // If it wasn't a Doxygen keyword, change it to normal comment\n            else if (sc.state == SCE_A68K_COMMENT_DOXYGEN) {\n                sc.GetCurrent(Buffer, sizeof(Buffer));\n                if (!doxygenKeyword.InList(Buffer)) {\n                    sc.ChangeState(SCE_A68K_COMMENT);\n                }\n                sc.SetState(SCE_A68K_COMMENT);\n                continue;\n            }\n\n\n            // If it wasn't an Alert, change it to normal comment\n            else if (sc.state == SCE_A68K_COMMENT_SPECIAL) {\n                sc.GetCurrent(Buffer, sizeof(Buffer));\n                if (!alert.InList(Buffer)) {\n                    sc.ChangeState(SCE_A68K_COMMENT);\n                }\n                // Reset style to normal comment, or to Doxygen keyword if it begins with '\\'\n                if (sc.ch == '\\\\') {\n                    sc.SetState(SCE_A68K_COMMENT_DOXYGEN);\n                }\n                else {\n                sc.SetState(SCE_A68K_COMMENT);\n                }\n                continue;\n            }\n\n\n            // If we are in a comment, it's a Doxygen keyword or an Alert\n            else if (sc.state == SCE_A68K_COMMENT) {\n                if (sc.ch == '\\\\') {\n                    sc.SetState(SCE_A68K_COMMENT_DOXYGEN);\n                }\n                else {\n                    sc.SetState(SCE_A68K_COMMENT_SPECIAL);\n                }\n                continue;\n            }\n\n\n            // Check if we are at the end of an identifier\n            // In this case, colourise it if was a keyword.\n            else if ((sc.state == SCE_A68K_IDENTIFIER) && !IsIdentifierChar(sc.ch)) {\n                sc.GetCurrentLowered(Buffer, sizeof(Buffer));                           // Buffer the string of the current context\n                if (cpuInstruction.InList(Buffer)) {                                    // And check if it belongs to a keyword list\n                    sc.ChangeState(SCE_A68K_CPUINSTRUCTION);\n                }\n                else if (extInstruction.InList(Buffer)) {\n                    sc.ChangeState(SCE_A68K_EXTINSTRUCTION);\n                }\n                else if (registers.InList(Buffer)) {\n                    sc.ChangeState(SCE_A68K_REGISTER);\n                }\n                else if (directive.InList(Buffer)) {\n                    sc.ChangeState(SCE_A68K_DIRECTIVE);\n                }\n            }\n\n            // All special contexts are now handled.Come back to default style\n            sc.SetState(SCE_A68K_DEFAULT);\n        }\n\n\n        /************************************************************\n        *\n        *   Check if we must enter a new state\n        *\n        ************************************************************/\n\n        // Something which begins at the beginning of a line, and with\n        // - '\\' + an identifier start char, or\n        // - '\\\\@' + an identifier start char\n        // 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\n        if (sc.atLineStart && (sc.ch < 0x80) && IsIdentifierStart(sc.chNext) && (sc.ch == '\\\\')) {\n            sc.SetState(SCE_A68K_LABEL);\n        }\n\n        if (sc.atLineStart && (sc.ch < 0x80) && (sc.ch == '\\\\') && (sc.chNext == '\\\\')) {\n            sc.Forward(2);\n            if ((sc.ch == '@') && IsIdentifierStart(sc.chNext)) {\n                sc.ChangeState(SCE_A68K_LABEL);\n                sc.SetState(SCE_A68K_LABEL);\n            }\n        }\n\n        // Label and macro identifiers start at the beginning of a line\n        // We set both as a macro id, but if it wasn't one (':' at the end),\n        // it will be changed as a label.\n        if (sc.atLineStart && (sc.ch < 0x80) && IsIdentifierStart(sc.ch)) {\n            sc.SetState(SCE_A68K_MACRO_DECLARATION);\n        }\n        else if ((sc.ch < 0x80) && (sc.ch == ';')) {                            // Default: alert in a comment. If it doesn't match\n            sc.SetState(SCE_A68K_COMMENT);                                      // with an alert, it will be toggle to a normal comment\n        }\n        else if ((sc.ch < 0x80) && isdigit(sc.ch)) {                            // Decimal numbers haven't prefix\n            sc.SetState(SCE_A68K_NUMBER_DEC);\n        }\n        else if ((sc.ch < 0x80) && (sc.ch == '%')) {                            // Binary numbers are prefixed with '%'\n            sc.SetState(SCE_A68K_NUMBER_BIN);\n        }\n        else if ((sc.ch < 0x80) && (sc.ch == '$')) {                            // Hexadecimal numbers are prefixed with '$'\n            sc.SetState(SCE_A68K_NUMBER_HEX);\n        }\n        else if ((sc.ch < 0x80) && (sc.ch == '\\'')) {                           // String (single-quoted)\n            sc.SetState(SCE_A68K_STRING1);\n        }\n        else if ((sc.ch < 0x80) && (sc.ch == '\\\"')) {                           // String (double-quoted)\n            sc.SetState(SCE_A68K_STRING2);\n        }\n        else if ((sc.ch < 0x80) && (sc.ch == '\\\\') && (isdigit(sc.chNext))) {   // Replacement symbols in macro are prefixed with '\\'\n            sc.SetState(SCE_A68K_MACRO_ARG);\n        }\n        else if ((sc.ch < 0x80) && IsIdentifierStart(sc.ch)) {                  // An identifier: constant, label, etc...\n            sc.SetState(SCE_A68K_IDENTIFIER);\n        }\n        else {\n            if (sc.ch < 0x80) {\n                OpType = GetOperatorType(sc.ch, sc.chNext);                     // Check if current char is an operator\n                if (OpType != NO_OPERATOR) {\n                    sc.SetState(SCE_A68K_OPERATOR);\n                    if (OpType == OPERATOR_2CHAR) {                             // Check if the operator is 2 bytes long\n                        sc.ForwardSetState(SCE_A68K_OPERATOR);                  // (>> or <<)\n                    }\n                }\n            }\n        }\n    }                                                                           // End of for()\n    sc.Complete();\n}\n\n\n// Names of the keyword lists\n\nstatic const char * const a68kWordListDesc[] =\n{\n    \"CPU instructions\",\n    \"Registers\",\n    \"Directives\",\n    \"Extended instructions\",\n    \"Comment special words\",\n    \"Doxygen keywords\",\n    0\n};\n\nLexerModule lmA68k(SCLEX_A68K, ColouriseA68kDoc, \"a68k\", 0, a68kWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAPDL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexAPDL.cxx\n ** Lexer for APDL. Based on the lexer for Assembler by The Black Horus.\n ** By Hadar Raz.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80 && (isalnum(ch) || ch == '_'));\n}\n\nstatic inline bool IsAnOperator(char ch) {\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '*' || ch == '/' || ch == '-' || ch == '+' ||\n\t\tch == '(' || ch == ')' || ch == '=' || ch == '^' ||\n\t\tch == '[' || ch == ']' || ch == '<' || ch == '&' ||\n\t\tch == '>' || ch == ',' || ch == '|' || ch == '~' ||\n\t\tch == '$' || ch == ':' || ch == '%')\n\t\treturn true;\n\treturn false;\n}\n\nstatic void ColouriseAPDLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tint stringStart = ' ';\n\n\tWordList &processors = *keywordlists[0];\n\tWordList &commands = *keywordlists[1];\n\tWordList &slashcommands = *keywordlists[2];\n\tWordList &starcommands = *keywordlists[3];\n\tWordList &arguments = *keywordlists[4];\n\tWordList &functions = *keywordlists[5];\n\n\t// Do not leak onto next line\n\tinitStyle = SCE_APDL_DEFAULT;\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_APDL_NUMBER) {\n\t\t\tif (!(IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') ||\n\t\t\t\t((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) {\n\t\t\t\tsc.SetState(SCE_APDL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_APDL_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_APDL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_APDL_COMMENTBLOCK) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tif (sc.ch == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.ForwardSetState(SCE_APDL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_APDL_STRING) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_APDL_DEFAULT);\n\t\t\t} else if ((sc.ch == '\\'' && stringStart == '\\'') || (sc.ch == '\\\"' && stringStart == '\\\"')) {\n\t\t\t\tsc.ForwardSetState(SCE_APDL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_APDL_WORD) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (processors.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_APDL_PROCESSOR);\n\t\t\t\t} else if (slashcommands.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_APDL_SLASHCOMMAND);\n\t\t\t\t} else if (starcommands.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_APDL_STARCOMMAND);\n\t\t\t\t} else if (commands.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_APDL_COMMAND);\n\t\t\t\t} else if (arguments.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_APDL_ARGUMENT);\n\t\t\t\t} else if (functions.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_APDL_FUNCTION);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_APDL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_APDL_OPERATOR) {\n\t\t\tif (!IsAnOperator(static_cast<char>(sc.ch))) {\n\t\t\t    sc.SetState(SCE_APDL_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_APDL_DEFAULT) {\n\t\t\tif (sc.ch == '!' && sc.chNext == '!') {\n\t\t\t\tsc.SetState(SCE_APDL_COMMENTBLOCK);\n\t\t\t} else if (sc.ch == '!') {\n\t\t\t\tsc.SetState(SCE_APDL_COMMENT);\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_APDL_NUMBER);\n\t\t\t} else if (sc.ch == '\\'' || sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_APDL_STRING);\n\t\t\t\tstringStart = sc.ch;\n\t\t\t} else if (IsAWordChar(sc.ch) || ((sc.ch == '*' || sc.ch == '/') && !isgraph(sc.chPrev))) {\n\t\t\t\tsc.SetState(SCE_APDL_WORD);\n\t\t\t} else if (IsAnOperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_APDL_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n//------------------------------------------------------------------------------\n// 06-27-07 Sergio Lucato\n// - Included code folding for Ansys APDL lexer\n// - Copyied from LexBasic.cxx and modified for APDL\n//------------------------------------------------------------------------------\n\n/* Bits:\n * 1  - whitespace\n * 2  - operator\n * 4  - identifier\n * 8  - decimal digit\n * 16 - hex digit\n * 32 - bin digit\n */\nstatic int character_classification[128] =\n{\n    0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,\n    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n    1,  2,  0,  2,  2,  2,  2,  2,  2,  2,  6,  2,  2,  2,  10, 6,\n    60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2,  2,  2,  2,  2,  2,\n    2,  20, 20, 20, 20, 20, 20, 4,  4,  4,  4,  4,  4,  4,  4,  4,\n    4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2,  2,  2,  4,\n    2,  20, 20, 20, 20, 20, 20, 4,  4,  4,  4,  4,  4,  4,  4,  4,\n    4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2,  2,  2,  0\n};\n\nstatic bool IsSpace(int c) {\n\treturn c < 128 && (character_classification[c] & 1);\n}\n\nstatic bool IsIdentifier(int c) {\n\treturn c < 128 && (character_classification[c] & 4);\n}\n\nstatic int LowerCase(int c)\n{\n\tif (c >= 'A' && c <= 'Z')\n\t\treturn 'a' + c - 'A';\n\treturn c;\n}\n\nstatic int CheckAPDLFoldPoint(char const *token, int &level) {\n\tif (!strcmp(token, \"*if\") ||\n\t\t!strcmp(token, \"*do\") ||\n\t\t!strcmp(token, \"*dowhile\") ) {\n\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\treturn 1;\n\t}\n\tif (!strcmp(token, \"*endif\") ||\n\t\t!strcmp(token, \"*enddo\") ) {\n\t\treturn -1;\n\t}\n\treturn 0;\n}\n\nstatic void FoldAPDLDoc(Sci_PositionU startPos, Sci_Position length, int,\n\tWordList *[], Accessor &styler) {\n\n\tSci_Position line = styler.GetLine(startPos);\n\tint level = styler.LevelAt(line);\n\tint go = 0, done = 0;\n\tSci_Position endPos = startPos + length;\n\tchar word[256];\n\tint wordlen = 0;\n\tSci_Position i;\n    bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\t// Scan for tokens at the start of the line (they may include\n\t// whitespace, for tokens like \"End Function\"\n\tfor (i = startPos; i < endPos; i++) {\n\t\tint c = styler.SafeGetCharAt(i);\n\t\tif (!done && !go) {\n\t\t\tif (wordlen) { // are we scanning a token already?\n\t\t\t\tword[wordlen] = static_cast<char>(LowerCase(c));\n\t\t\t\tif (!IsIdentifier(c)) { // done with token\n\t\t\t\t\tword[wordlen] = '\\0';\n\t\t\t\t\tgo = CheckAPDLFoldPoint(word, level);\n\t\t\t\t\tif (!go) {\n\t\t\t\t\t\t// Treat any whitespace as single blank, for\n\t\t\t\t\t\t// things like \"End   Function\".\n\t\t\t\t\t\tif (IsSpace(c) && IsIdentifier(word[wordlen - 1])) {\n\t\t\t\t\t\t\tword[wordlen] = ' ';\n\t\t\t\t\t\t\tif (wordlen < 255)\n\t\t\t\t\t\t\t\twordlen++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse // done with this line\n\t\t\t\t\t\t\tdone = 1;\n\t\t\t\t\t}\n\t\t\t\t} else if (wordlen < 255) {\n\t\t\t\t\twordlen++;\n\t\t\t\t}\n\t\t\t} else { // start scanning at first non-whitespace character\n\t\t\t\tif (!IsSpace(c)) {\n\t\t\t\t\tif (IsIdentifier(c)) {\n\t\t\t\t\t\tword[0] = static_cast<char>(LowerCase(c));\n\t\t\t\t\t\twordlen = 1;\n\t\t\t\t\t} else // done with this line\n\t\t\t\t\t\tdone = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (c == '\\n') { // line end\n\t\t\tif (!done && wordlen == 0 && foldCompact) // line was only space\n\t\t\t\tlevel |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (level != styler.LevelAt(line))\n\t\t\t\tstyler.SetLevel(line, level);\n\t\t\tlevel += go;\n\t\t\tline++;\n\t\t\t// reset state\n\t\t\twordlen = 0;\n\t\t\tlevel &= ~SC_FOLDLEVELHEADERFLAG;\n\t\t\tlevel &= ~SC_FOLDLEVELWHITEFLAG;\n\t\t\tgo = 0;\n\t\t\tdone = 0;\n\t\t}\n\t}\n}\n\nstatic const char * const apdlWordListDesc[] = {\n    \"processors\",\n    \"commands\",\n    \"slashommands\",\n    \"starcommands\",\n    \"arguments\",\n    \"functions\",\n    0\n};\n\nLexerModule lmAPDL(SCLEX_APDL, ColouriseAPDLDoc, \"apdl\", FoldAPDLDoc, apdlWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexASY.cpp",
    "content": "// Scintilla source code edit control\n//Author: instanton (email: soft_share<at>126<dot>com)\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseAsyDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\tWordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\n\tint visibleChars = 0;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart) {\n\t\t\tif (sc.state == SCE_ASY_STRING) {\n\t\t\t\tsc.SetState(SCE_ASY_STRING);\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n//\t\t\t\tcontinuationLine = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_ASY_OPERATOR:\n\t\t\t\tsc.SetState(SCE_ASY_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_ASY_NUMBER:\n\t\t\t\tif (!setWord.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ASY_IDENTIFIER:\n\t\t\t\tif (!setWord.Contains(sc.ch) || (sc.ch == '.')) {\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ASY_WORD);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ASY_WORD2);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ASY_COMMENT:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ASY_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ASY_STRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_ASY_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ASY_CHARACTER:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_ASY_STRINGEOL);\n\t\t\t\t} else \tif (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_ASY_DEFAULT) {\n\t\t\tif (setWordStart.Contains(sc.ch) || (sc.ch == '@')) {\n\t\t\t\tsc.SetState(SCE_ASY_IDENTIFIER);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tsc.SetState(SCE_ASY_COMMENT);\n\t\t\t\tsc.Forward();\t//\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(SCE_ASY_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_ASY_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_ASY_CHARACTER);\n\t\t\t} else if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_ASY_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_ASY_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t}\n\tsc.Complete();\n}\n\nstatic bool IsAsyCommentStyle(int style) {\n\treturn style == SCE_ASY_COMMENT;\n}\n\n\nstatic inline bool isASYidentifier(int ch) {\n\treturn\n      ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) ;\n}\n\nstatic int ParseASYWord(Sci_PositionU pos, Accessor &styler, char *word)\n{\n  int length=0;\n  char ch=styler.SafeGetCharAt(pos);\n  *word=0;\n\n  while(isASYidentifier(ch) && length<100){\n          word[length]=ch;\n          length++;\n          ch=styler.SafeGetCharAt(pos+length);\n  }\n  word[length]=0;\n  return length;\n}\n\nstatic bool IsASYDrawingLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\n\tSci_Position startpos = pos;\n\tchar buffer[100]=\"\";\n\n\twhile (startpos<eol_pos){\n\t\tchar ch = styler[startpos];\n\t\tParseASYWord(startpos,styler,buffer);\n\t\tbool drawcommands = strncmp(buffer,\"draw\",4)==0||\n\t\t\tstrncmp(buffer,\"pair\",4)==0||strncmp(buffer,\"label\",5)==0;\n\t\tif (!drawcommands && ch!=' ') return false;\n\t\telse if (drawcommands) return true;\n\t\tstartpos++;\n\t}\n\treturn false;\n}\n\nstatic void FoldAsyDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t   WordList *[], Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tbool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (foldComment && IsAsyCommentStyle(style)) {\n\t\t\tif (!IsAsyCommentStyle(stylePrev) && (stylePrev != SCE_ASY_COMMENTLINEDOC)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsAsyCommentStyle(styleNext) && (styleNext != SCE_ASY_COMMENTLINEDOC) && !atEOL) {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_ASY_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL && IsASYDrawingLine(lineCurrent, styler)){\n\t\t\tif (lineCurrent==0 && IsASYDrawingLine(lineCurrent + 1, styler))\n\t\t\t\tlevelNext++;\n\t\t\telse if (lineCurrent!=0 && !IsASYDrawingLine(lineCurrent - 1, styler)\n\t\t\t\t&& IsASYDrawingLine(lineCurrent + 1, styler)\n\t\t\t\t)\n\t\t\t\tlevelNext++;\n\t\t\telse if (lineCurrent!=0 && IsASYDrawingLine(lineCurrent - 1, styler) &&\n\t\t\t\t!IsASYDrawingLine(lineCurrent+1, styler))\n\t\t\t\tlevelNext--;\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t}\n}\n\nstatic const char * const asyWordLists[] = {\n            \"Primary keywords and identifiers\",\n            \"Secondary keywords and identifiers\",\n            0,\n        };\n\nLexerModule lmASY(SCLEX_ASYMPTOTE, ColouriseAsyDoc, \"asy\", FoldAsyDoc, asyWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAU3.cpp",
    "content": "// Scintilla source code edit control\n// @file LexAU3.cxx\n// Lexer for AutoIt3  http://www.hiddensoft.com/autoit3\n// by Jos van der Zande, jvdzande@yahoo.com\n//\n// Changes:\n// March 28, 2004 - Added the standard Folding code\n// April 21, 2004 - Added Preprosessor Table + Syntax Highlighting\n//                  Fixed Number highlighting\n//                  Changed default isoperator to IsAOperator to have a better match to AutoIt3\n//                  Fixed \"#comments_start\" -> \"#comments-start\"\n//                  Fixed \"#comments_end\" -> \"#comments-end\"\n//                  Fixed Sendkeys in Strings when not terminated with }\n//                  Added support for Sendkey strings that have second parameter e.g. {UP 5} or {a down}\n// April 26, 2004 - Fixed # pre-processor statement inside of comment block would invalidly change the color.\n//                  Added logic for #include <xyz.au3> to treat the <> as string\n//                  Added underscore to IsAOperator.\n// May 17, 2004   - Changed the folding logic from indent to keyword folding.\n//                  Added Folding logic for blocks of single-commentlines or commentblock.\n//                        triggered by: fold.comment=1\n//                  Added Folding logic for preprocessor blocks triggered by fold.preprocessor=1\n//                  Added Special for #region - #endregion syntax highlight and folding.\n// May 30, 2004   - Fixed issue with continuation lines on If statements.\n// June 5, 2004   - Added comma to Operators for better readability.\n//                  Added fold.compact support set with fold.compact=1\n//                  Changed folding inside of #cs-#ce. Default is no keyword folding inside comment blocks when fold.comment=1\n//                        it will now only happen when fold.comment=2.\n// Sep 5, 2004    - Added logic to handle colourizing words on the last line.\n//                        Typed Characters now show as \"default\" till they match any table.\n// Oct 10, 2004   - Added logic to show Comments in \"Special\" directives.\n// Nov  1, 2004   - Added better testing for Numbers supporting x and e notation.\n// Nov 28, 2004   - Added logic to handle continuation lines for syntax highlighting.\n// Jan 10, 2005   - Added Abbreviations Keyword used for expansion\n// Mar 24, 2005   - Updated Abbreviations Keywords to fix when followed by Operator.\n// Apr 18, 2005   - Updated #CE/#Comment-End logic to take a linecomment \";\" into account\n//                - Added folding support for With...EndWith\n//                - Added support for a DOT in variable names\n//                - Fixed Underscore in CommentBlock\n// May 23, 2005   - Fixed the SentKey lexing in case of a missing }\n// Aug 11, 2005   - Fixed possible bug with s_save length > 100.\n// Aug 23, 2005   - Added Switch/endswitch support to the folding logic.\n// Sep 27, 2005   - Fixed the SentKey lexing logic in case of multiple sentkeys.\n// Mar 12, 2006   - Fixed issue with <> coloring as String in stead of Operator in rare occasions.\n// Apr  8, 2006   - Added support for AutoIt3 Standard UDF library (SCE_AU3_UDF)\n// Mar  9, 2007   - Fixed bug with + following a String getting the wrong Color.\n// Jun 20, 2007   - Fixed Commentblock issue when LF's are used as EOL.\n// Jul 26, 2007   - Fixed #endregion undetected bug.\n//\n// Copyright for Scintilla: 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n// Scintilla source code edit control\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsTypeCharacter(const int ch)\n{\n    return ch == '$';\n}\nstatic inline bool IsAWordChar(const int ch)\n{\n    return (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic inline bool IsAWordStart(const int ch)\n{\n    return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '@' || ch == '#' || ch == '$' || ch == '.');\n}\n\nstatic inline bool IsAOperator(char ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\tif (ch == '+' || ch == '-' || ch == '*' || ch == '/' ||\n\t    ch == '&' || ch == '^' || ch == '=' || ch == '<' || ch == '>' ||\n\t    ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == ',' )\n\t\treturn true;\n\treturn false;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// GetSendKey() filters the portion before and after a/multiple space(s)\n// and return the first portion to be looked-up in the table\n// also check if the second portion is valid... (up,down.on.off,toggle or a number)\n///////////////////////////////////////////////////////////////////////////////\n\nstatic int GetSendKey(const char *szLine, char *szKey)\n{\n\tint\t\tnFlag\t= 0;\n\tint\t\tnStartFound\t= 0;\n\tint\t\tnKeyPos\t= 0;\n\tint\t\tnSpecPos= 0;\n\tint\t\tnSpecNum= 1;\n\tint\t\tnPos\t= 0;\n\tchar\tcTemp;\n\tchar\tszSpecial[100];\n\n\t// split the portion of the sendkey in the part before and after the spaces\n\twhile ( ( (cTemp = szLine[nPos]) != '\\0'))\n\t{\n\t\t// skip leading Ctrl/Shift/Alt state\n\t\tif (cTemp == '{') {\n\t\t\tnStartFound = 1;\n\t\t}\n\t\t//\n\t\tif (nStartFound == 1) {\n\t\t\tif ((cTemp == ' ') && (nFlag == 0) ) // get the stuff till first space\n\t\t\t{\n\t\t\t\tnFlag = 1;\n\t\t\t\t// Add } to the end of the first bit for table lookup later.\n\t\t\t\tszKey[nKeyPos++] = '}';\n\t\t\t}\n\t\t\telse if (cTemp == ' ')\n\t\t\t{\n\t\t\t\t// skip other spaces\n\t\t\t}\n\t\t\telse if (nFlag == 0)\n\t\t\t{\n\t\t\t\t// save first portion into var till space or } is hit\n\t\t\t\tszKey[nKeyPos++] = cTemp;\n\t\t\t}\n\t\t\telse if ((nFlag == 1) && (cTemp != '}'))\n\t\t\t{\n\t\t\t\t// Save second portion into var...\n\t\t\t\tszSpecial[nSpecPos++] = cTemp;\n\t\t\t\t// check if Second portion is all numbers for repeat fuction\n\t\t\t\tif (isdigit(cTemp) == false) {nSpecNum = 0;}\n\t\t\t}\n\t\t}\n\t\tnPos++;\t\t\t\t\t\t\t\t\t// skip to next char\n\n\t} // End While\n\n\n\t// Check if the second portion is either a number or one of these keywords\n\tszKey[nKeyPos] = '\\0';\n\tszSpecial[nSpecPos] = '\\0';\n\tif (strcmp(szSpecial,\"down\")== 0    || strcmp(szSpecial,\"up\")== 0  ||\n\t\tstrcmp(szSpecial,\"on\")== 0      || strcmp(szSpecial,\"off\")== 0 ||\n\t\tstrcmp(szSpecial,\"toggle\")== 0  || nSpecNum == 1 )\n\t{\n\t\tnFlag = 0;\n\t}\n\telse\n\t{\n\t\tnFlag = 1;\n\t}\n\treturn nFlag;  // 1 is bad, 0 is good\n\n} // GetSendKey()\n\n//\n// Routine to check the last \"none comment\" character on a line to see if its a continuation\n//\nstatic bool IsContinuationLine(Sci_PositionU szLine, Accessor &styler)\n{\n\tSci_Position nsPos = styler.LineStart(szLine);\n\tSci_Position nePos = styler.LineStart(szLine+1) - 2;\n\t//int stylech = styler.StyleAt(nsPos);\n\twhile (nsPos < nePos)\n\t{\n\t\t//stylech = styler.StyleAt(nePos);\n\t\tint stylech = styler.StyleAt(nsPos);\n\t\tif (!(stylech == SCE_AU3_COMMENT)) {\n\t\t\tchar ch = styler.SafeGetCharAt(nePos);\n\t\t\tif (!isspacechar(ch)) {\n\t\t\t\tif (ch == '_')\n\t\t\t\t\treturn true;\n\t\t\t\telse\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tnePos--; // skip to next char\n\t} // End While\n\treturn false;\n} // IsContinuationLine()\n\n//\n// syntax highlighting logic\nstatic void ColouriseAU3Doc(Sci_PositionU startPos,\n\t\t\t\t\t\t\tSci_Position length, int initStyle,\n\t\t\t\t\t\t\tWordList *keywordlists[],\n\t\t\t\t\t\t\tAccessor &styler) {\n\n    WordList &keywords = *keywordlists[0];\n    WordList &keywords2 = *keywordlists[1];\n    WordList &keywords3 = *keywordlists[2];\n    WordList &keywords4 = *keywordlists[3];\n    WordList &keywords5 = *keywordlists[4];\n    WordList &keywords6 = *keywordlists[5];\n    WordList &keywords7 = *keywordlists[6];\n    WordList &keywords8 = *keywordlists[7];\n\t// find the first previous line without continuation character at the end\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tSci_Position s_startPos = startPos;\n\t// When not inside a Block comment: find First line without _\n\tif (!(initStyle==SCE_AU3_COMMENTBLOCK)) {\n\t\twhile ((lineCurrent > 0 && IsContinuationLine(lineCurrent,styler)) ||\n\t\t\t   (lineCurrent > 1 && IsContinuationLine(lineCurrent-1,styler))) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent); // get start position\n\t\t\tinitStyle =  0;                           // reset the start style to 0\n\t\t}\n\t}\n\t// Set the new length to include it from the start and set the start position\n\tlength = length + s_startPos - startPos;      // correct the total length to process\n    styler.StartAt(startPos);\n\n    StyleContext sc(startPos, length, initStyle, styler);\n\tchar si;     // string indicator \"=1 '=2\n\tchar ni;     // Numeric indicator error=9 normal=0 normal+dec=1 hex=2 Enot=3\n\tchar ci;     // comment indicator 0=not linecomment(;)\n\tchar s_save[100] = \"\";\n\tsi=0;\n\tni=0;\n\tci=0;\n\t//$$$\n    for (; sc.More(); sc.Forward()) {\n\t\tchar s[100];\n\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t// **********************************************\n\t\t// save the total current word for eof processing\n\t\tif (IsAWordChar(sc.ch) || sc.ch == '}')\n\t\t{\n\t\t\tstrcpy(s_save,s);\n\t\t\tint tp = static_cast<int>(strlen(s_save));\n\t\t\tif (tp < 99) {\n\t\t\t\ts_save[tp] = static_cast<char>(tolower(sc.ch));\n\t\t\t\ts_save[tp+1] = '\\0';\n\t\t\t}\n\t\t}\n\t\t// **********************************************\n\t\t//\n\t\tswitch (sc.state)\n        {\n            case SCE_AU3_COMMENTBLOCK:\n            {\n\t\t\t\t//Reset at line end\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tci=0;\n\t\t\t\t\tif (strcmp(s, \"#ce\")== 0 || strcmp(s, \"#comments-end\")== 0) {\n\t\t\t\t\t\tif (sc.atLineEnd)\n\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_COMMENTBLOCK);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t//skip rest of line when a ; is encountered\n\t\t\t\tif (sc.chPrev == ';') {\n\t\t\t\t\tci=2;\n\t\t\t\t\tsc.SetState(SCE_AU3_COMMENTBLOCK);\n\t\t\t\t}\n\t\t\t\t// skip rest of the line\n\t\t\t\tif (ci==2)\n\t\t\t\t\tbreak;\n\t\t\t\t// check when first character is detected on the line\n\t\t\t\tif (ci==0) {\n\t\t\t\t\tif (IsAWordStart(static_cast<char>(sc.ch)) || IsAOperator(static_cast<char>(sc.ch))) {\n\t\t\t\t\t\tci=1;\n\t\t\t\t\t\tsc.SetState(SCE_AU3_COMMENTBLOCK);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!(IsAWordChar(sc.ch) || (sc.ch == '-' && strcmp(s, \"#comments\") == 0))) {\n\t\t\t\t\tif ((strcmp(s, \"#ce\")== 0 || strcmp(s, \"#comments-end\")== 0))\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_COMMENT);  // set to comment line for the rest of the line\n\t\t\t\t\telse\n\t\t\t\t\t\tci=2;  // line doesn't begin with #CE so skip the rest of the line\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n            case SCE_AU3_COMMENT:\n            {\n                if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);}\n                break;\n            }\n            case SCE_AU3_OPERATOR:\n            {\n                // check if its a COMobject\n\t\t\t\tif (sc.chPrev == '.' && IsAWordChar(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_AU3_COMOBJ);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t}\n                break;\n            }\n            case SCE_AU3_SPECIAL:\n            {\n                if (sc.ch == ';') {sc.SetState(SCE_AU3_COMMENT);}\n\t\t\t\tif (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);}\n                break;\n            }\n            case SCE_AU3_KEYWORD:\n            {\n                if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && (strcmp(s, \"#comments\") == 0 || strcmp(s, \"#include\") == 0))))\n                {\n                    if (!IsTypeCharacter(sc.ch))\n                    {\n\t\t\t\t\t\tif (strcmp(s, \"#cs\")== 0 || strcmp(s, \"#comments-start\")== 0 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_COMMENTBLOCK);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_COMMENTBLOCK);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (keywords.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_KEYWORD);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (keywords2.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_FUNCTION);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (keywords3.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_MACRO);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (keywords5.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_PREPROCESSOR);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t\tif (strcmp(s, \"#include\")== 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsi = 3;   // use to determine string start for #inlude <>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (keywords6.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_SPECIAL);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_SPECIAL);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if ((keywords7.InList(s)) && (!IsAOperator(static_cast<char>(sc.ch)))) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_EXPAND);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (keywords8.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_UDF);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (strcmp(s, \"_\") == 0) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_OPERATOR);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (!IsAWordChar(sc.ch)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n                if (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);}\n                break;\n            }\n\t\t\tcase SCE_AU3_NUMBER:\n            {\n\t\t\t\t// Numeric indicator error=9 normal=0 normal+dec=1 hex=2 E-not=3\n\t\t\t\t//\n\t\t\t\t// test for Hex notation\n\t\t\t\tif (strcmp(s, \"0\") == 0 && (sc.ch == 'x' || sc.ch == 'X') && ni == 0)\n\t\t\t\t{\n\t\t\t\t\tni = 2;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// test for E notation\n\t\t\t\tif (IsADigit(sc.chPrev) && (sc.ch == 'e' || sc.ch == 'E') && ni <= 1)\n\t\t\t\t{\n\t\t\t\t\tni = 3;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t//  Allow Hex characters inside hex numeric strings\n\t\t\t\tif ((ni == 2) &&\n\t\t\t\t\t(sc.ch == 'a' || sc.ch == 'b' || sc.ch == 'c' || sc.ch == 'd' || sc.ch == 'e' || sc.ch == 'f' ||\n\t\t\t\t\t sc.ch == 'A' || sc.ch == 'B' || sc.ch == 'C' || sc.ch == 'D' || sc.ch == 'E' || sc.ch == 'F' ))\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// test for 1 dec point only\n\t\t\t\tif (sc.ch == '.')\n\t\t\t\t{\n\t\t\t\t\tif (ni==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tni=1;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tni=9;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// end of numeric string ?\n\t\t\t\tif (!(IsADigit(sc.ch)))\n\t\t\t\t{\n\t\t\t\t\tif (ni==9)\n\t\t\t\t\t{\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_AU3_VARIABLE:\n\t\t\t{\n\t\t\t\t// Check if its a COMObject\n\t\t\t\tif (sc.ch == '.' && !IsADigit(sc.chNext)) {\n\t\t\t\t\tsc.SetState(SCE_AU3_OPERATOR);\n\t\t\t\t}\n\t\t\t\telse if (!IsAWordChar(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n            }\n\t\t\tcase SCE_AU3_COMOBJ:\n\t\t\t{\n\t\t\t\tif (!(IsAWordChar(sc.ch))) {\n\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n            }\n            case SCE_AU3_STRING:\n            {\n\t\t\t\t// check for \" to end a double qouted string or\n\t\t\t\t// check for ' to end a single qouted string\n\t            if ((si == 1 && sc.ch == '\\\"') || (si == 2 && sc.ch == '\\'') || (si == 3 && sc.ch == '>'))\n\t\t\t\t{\n\t\t\t\t\tsc.ForwardSetState(SCE_AU3_DEFAULT);\n\t\t\t\t\tsi=0;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n                if (sc.atLineEnd)\n\t\t\t\t{\n\t\t\t\t\tsi=0;\n\t\t\t\t\t// at line end and not found a continuation char then reset to default\n\t\t\t\t\tSci_Position lineCurrent = styler.GetLine(sc.currentPos);\n\t\t\t\t\tif (!IsContinuationLine(lineCurrent,styler))\n\t\t\t\t\t{\n\t\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// find Sendkeys in a STRING\n\t\t\t\tif (sc.ch == '{' || sc.ch == '+' || sc.ch == '!' || sc.ch == '^' || sc.ch == '#' ) {\n\t\t\t\t\tsc.SetState(SCE_AU3_SENT);}\n\t\t\t\tbreak;\n            }\n\n            case SCE_AU3_SENT:\n            {\n\t\t\t\t// Send key string ended\n\t\t\t\tif (sc.chPrev == '}' && sc.ch != '}')\n\t\t\t\t{\n\t\t\t\t\t// set color to SENDKEY when valid sendkey .. else set back to regular string\n\t\t\t\t\tchar sk[100];\n\t\t\t\t\t// split {111 222} and return {111} and check if 222 is valid.\n\t\t\t\t\t// if return code = 1 then invalid 222 so must be string\n\t\t\t\t\tif (GetSendKey(s,sk))\n\t\t\t\t\t{\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t\t\t}\n\t\t\t\t\t// if single char between {?} then its ok as sendkey for a single character\n\t\t\t\t\telse if (strlen(sk) == 3)\n\t\t\t\t\t{\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_SENT);\n\t\t\t\t\t}\n\t\t\t\t\t// if sendkey {111} is in table then ok as sendkey\n\t\t\t\t\telse if (keywords4.InList(sk))\n\t\t\t\t\t{\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_SENT);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_AU3_STRING);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// check if the start is a valid SendKey start\n\t\t\t\t\tSci_Position\t\tnPos\t= 0;\n\t\t\t\t\tint\t\tnState\t= 1;\n\t\t\t\t\tchar\tcTemp;\n\t\t\t\t\twhile (!(nState == 2) && ((cTemp = s[nPos]) != '\\0'))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (cTemp == '{' && nState == 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnState = 2;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (nState == 1 && !(cTemp == '+' || cTemp == '!' || cTemp == '^' || cTemp == '#' ))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnState = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnPos++;\n\t\t\t\t\t}\n\t\t\t\t\t//Verify characters infront of { ... if not assume  regular string\n\t\t\t\t\tif (nState == 1 && (!(sc.ch == '{' || sc.ch == '+' || sc.ch == '!' || sc.ch == '^' || sc.ch == '#' ))) {\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t\t\t\tsc.SetState(SCE_AU3_STRING);\n\t\t\t\t\t}\n\t\t\t\t\t// If invalid character found then assume its a regular string\n\t\t\t\t\tif (nState == 0) {\n\t\t\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t\t\t\tsc.SetState(SCE_AU3_STRING);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// check if next portion is again a sendkey\n\t\t\t\tif (sc.atLineEnd)\n\t\t\t\t{\n\t\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t\t\t\tsi = 0;  // reset string indicator\n\t\t\t\t}\n\t\t\t\t//* check in next characters following a sentkey are again a sent key\n\t\t\t\t// Need this test incase of 2 sentkeys like {F1}{ENTER} but not detect {{}\n\t\t\t\tif (sc.state == SCE_AU3_STRING && (sc.ch == '{' || sc.ch == '+' || sc.ch == '!' || sc.ch == '^' || sc.ch == '#' )) {\n\t\t\t\t\tsc.SetState(SCE_AU3_SENT);}\n\t\t\t\t// check to see if the string ended...\n\t\t\t\t// Sendkey string isn't complete but the string ended....\n\t\t\t\tif ((si == 1 && sc.ch == '\\\"') || (si == 2 && sc.ch == '\\''))\n\t\t\t\t{\n\t\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t\t\tsc.ForwardSetState(SCE_AU3_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n            }\n        }  //switch (sc.state)\n\n        // Determine if a new state should be entered:\n\n\t\tif (sc.state == SCE_AU3_DEFAULT)\n        {\n            if (sc.ch == ';') {sc.SetState(SCE_AU3_COMMENT);}\n            else if (sc.ch == '#') {sc.SetState(SCE_AU3_KEYWORD);}\n            else if (sc.ch == '$') {sc.SetState(SCE_AU3_VARIABLE);}\n            else if (sc.ch == '.' && !IsADigit(sc.chNext)) {sc.SetState(SCE_AU3_OPERATOR);}\n            else if (sc.ch == '@') {sc.SetState(SCE_AU3_KEYWORD);}\n            //else if (sc.ch == '_') {sc.SetState(SCE_AU3_KEYWORD);}\n            else if (sc.ch == '<' && si==3) {sc.SetState(SCE_AU3_STRING);}  // string after #include\n            else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_AU3_STRING);\n\t\t\t\tsi = 1;\t}\n            else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_AU3_STRING);\n\t\t\t\tsi = 2;\t}\n            else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext)))\n\t\t\t{\n\t\t\t\tsc.SetState(SCE_AU3_NUMBER);\n\t\t\t\tni = 0;\n\t\t\t}\n            else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_AU3_KEYWORD);}\n            else if (IsAOperator(static_cast<char>(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);}\n\t\t\telse if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);}\n        }\n    }      //for (; sc.More(); sc.Forward())\n\n\t//*************************************\n\t// Colourize the last word correctly\n\t//*************************************\n\tif (sc.state == SCE_AU3_KEYWORD)\n\t\t{\n\t\tif (strcmp(s_save, \"#cs\")== 0 || strcmp(s_save, \"#comments-start\")== 0 )\n\t\t{\n\t\t\tsc.ChangeState(SCE_AU3_COMMENTBLOCK);\n\t\t\tsc.SetState(SCE_AU3_COMMENTBLOCK);\n\t\t}\n\t\telse if (keywords.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_AU3_KEYWORD);\n\t\t\tsc.SetState(SCE_AU3_KEYWORD);\n\t\t}\n\t\telse if (keywords2.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_AU3_FUNCTION);\n\t\t\tsc.SetState(SCE_AU3_FUNCTION);\n\t\t}\n\t\telse if (keywords3.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_AU3_MACRO);\n\t\t\tsc.SetState(SCE_AU3_MACRO);\n\t\t}\n\t\telse if (keywords5.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_AU3_PREPROCESSOR);\n\t\t\tsc.SetState(SCE_AU3_PREPROCESSOR);\n\t\t}\n\t\telse if (keywords6.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_AU3_SPECIAL);\n\t\t\tsc.SetState(SCE_AU3_SPECIAL);\n\t\t}\n\t\telse if (keywords7.InList(s_save) && sc.atLineEnd) {\n\t\t\tsc.ChangeState(SCE_AU3_EXPAND);\n\t\t\tsc.SetState(SCE_AU3_EXPAND);\n\t\t}\n\t\telse if (keywords8.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_AU3_UDF);\n\t\t\tsc.SetState(SCE_AU3_UDF);\n\t\t}\n\t\telse {\n\t\t\tsc.ChangeState(SCE_AU3_DEFAULT);\n\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t}\n\t}\n\tif (sc.state == SCE_AU3_SENT)\n    {\n\t\t// Send key string ended\n\t\tif (sc.chPrev == '}' && sc.ch != '}')\n\t\t{\n\t\t\t// set color to SENDKEY when valid sendkey .. else set back to regular string\n\t\t\tchar sk[100];\n\t\t\t// split {111 222} and return {111} and check if 222 is valid.\n\t\t\t// if return code = 1 then invalid 222 so must be string\n\t\t\tif (GetSendKey(s_save,sk))\n\t\t\t{\n\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t}\n\t\t\t// if single char between {?} then its ok as sendkey for a single character\n\t\t\telse if (strlen(sk) == 3)\n\t\t\t{\n\t\t\t\tsc.ChangeState(SCE_AU3_SENT);\n\t\t\t}\n\t\t\t// if sendkey {111} is in table then ok as sendkey\n\t\t\telse if (keywords4.InList(sk))\n\t\t\t{\n\t\t\t\tsc.ChangeState(SCE_AU3_SENT);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\t}\n\t\t\tsc.SetState(SCE_AU3_STRING);\n\t\t}\n\t\t// check if next portion is again a sendkey\n\t\tif (sc.atLineEnd)\n\t\t{\n\t\t\tsc.ChangeState(SCE_AU3_STRING);\n\t\t\tsc.SetState(SCE_AU3_DEFAULT);\n\t\t}\n    }\n\t//*************************************\n\tsc.Complete();\n}\n\n//\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_AU3_COMMENT || style == SCE_AU3_COMMENTBLOCK;\n}\n\n//\n// Routine to find first none space on the current line and return its Style\n// needed for comment lines not starting on pos 1\nstatic int GetStyleFirstWord(Sci_PositionU szLine, Accessor &styler)\n{\n\tSci_Position nsPos = styler.LineStart(szLine);\n\tSci_Position nePos = styler.LineStart(szLine+1) - 1;\n\twhile (isspacechar(styler.SafeGetCharAt(nsPos)) && nsPos < nePos)\n\t{\n\t\tnsPos++; // skip to next char\n\n\t} // End While\n\treturn styler.StyleAt(nsPos);\n\n} // GetStyleFirstWord()\n\n\n//\nstatic void FoldAU3Doc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n\tSci_Position endPos = startPos + length;\n\t// get settings from the config files for folding comments and preprocessor lines\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldInComment = styler.GetPropertyInt(\"fold.comment\") == 2;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tbool foldpreprocessor = styler.GetPropertyInt(\"fold.preprocessor\") != 0;\n\t// Backtrack to previous line in case need to fix its fold status\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0) {\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t}\n\t// vars for style of previous/current/next lines\n\tint style = GetStyleFirstWord(lineCurrent,styler);\n\tint stylePrev = 0;\n\t// find the first previous line without continuation character at the end\n\twhile ((lineCurrent > 0 && IsContinuationLine(lineCurrent,styler)) ||\n\t       (lineCurrent > 1 && IsContinuationLine(lineCurrent-1,styler))) {\n\t\tlineCurrent--;\n\t\tstartPos = styler.LineStart(lineCurrent);\n\t}\n\tif (lineCurrent > 0) {\n\t\tstylePrev = GetStyleFirstWord(lineCurrent-1,styler);\n\t}\n\t// vars for getting first word to check for keywords\n\tbool FirstWordStart = false;\n\tbool FirstWordEnd = false;\n\tchar szKeyword[11]=\"\";\n\tint\t szKeywordlen = 0;\n\tchar szThen[5]=\"\";\n\tint\t szThenlen = 0;\n\tbool ThenFoundLast = false;\n\t// var for indentlevel\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelNext = levelCurrent;\n\t//\n\tint\tvisibleChars = 0;\n\tchar chNext = styler.SafeGetCharAt(startPos);\n\tchar chPrev = ' ';\n\t//\n\tfor (Sci_Position i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tif (IsAWordChar(ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t\t// get the syle for the current character neede to check in comment\n\t\tint stylech = styler.StyleAt(i);\n\t\t// get first word for the line for indent check max 9 characters\n\t\tif (FirstWordStart && (!(FirstWordEnd))) {\n\t\t\tif (!IsAWordChar(ch)) {\n\t\t\t\tFirstWordEnd = true;\n\t\t\t\tszKeyword[szKeywordlen] = '\\0';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (szKeywordlen < 10) {\n\t\t\t\tszKeyword[szKeywordlen++] = static_cast<char>(tolower(ch));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// start the capture of the first word\n\t\tif (!(FirstWordStart)) {\n\t\t\tif (IsAWordChar(ch) || IsAWordStart(ch) || ch == ';') {\n\t\t\t\tFirstWordStart = true;\n\t\t\t\tszKeyword[szKeywordlen++] = static_cast<char>(tolower(ch));\n\t\t\t}\n\t\t}\n\t\t// only process this logic when not in comment section\n\t\tif (!(stylech == SCE_AU3_COMMENT)) {\n\t\t\tif (ThenFoundLast) {\n\t\t\t\tif (IsAWordChar(ch)) {\n\t\t\t\t\tThenFoundLast = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// find out if the word \"then\" is the last on a \"if\" line\n\t\t\tif (FirstWordEnd && strcmp(szKeyword,\"if\") == 0) {\n\t\t\t\tif (szThenlen == 4) {\n\t\t\t\t\tszThen[0] = szThen[1];\n\t\t\t\t\tszThen[1] = szThen[2];\n\t\t\t\t\tszThen[2] = szThen[3];\n\t\t\t\t\tszThen[3] = static_cast<char>(tolower(ch));\n\t\t\t\t\tif (strcmp(szThen,\"then\") == 0 ) {\n\t\t\t\t\t\tThenFoundLast = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tszThen[szThenlen++] = static_cast<char>(tolower(ch));\n\t\t\t\t\tif (szThenlen == 5) {\n\t\t\t\t\t\tszThen[4] = '\\0';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// End of Line found so process the information\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n') || (i == endPos)) {\n\t\t\t// **************************\n\t\t\t// Folding logic for Keywords\n\t\t\t// **************************\n\t\t\t// if a keyword is found on the current line and the line doesn't end with _ (continuation)\n\t\t\t//    and we are not inside a commentblock.\n\t\t\tif (szKeywordlen > 0 && (!(chPrev == '_')) &&\n\t\t\t\t((!(IsStreamCommentStyle(style)) || foldInComment)) ) {\n\t\t\t\tszKeyword[szKeywordlen] = '\\0';\n\t\t\t\t// only fold \"if\" last keyword is \"then\"  (else its a one line if)\n\t\t\t\tif (strcmp(szKeyword,\"if\") == 0  && ThenFoundLast) {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t}\n\t\t\t\t// create new fold for these words\n\t\t\t\tif (strcmp(szKeyword,\"do\") == 0   || strcmp(szKeyword,\"for\") == 0 ||\n\t\t\t\t\tstrcmp(szKeyword,\"func\") == 0 || strcmp(szKeyword,\"while\") == 0||\n\t\t\t\t\tstrcmp(szKeyword,\"with\") == 0 || strcmp(szKeyword,\"#region\") == 0 ) {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t}\n\t\t\t\t// create double Fold for select&switch because Case will subtract one of the current level\n\t\t\t\tif (strcmp(szKeyword,\"select\") == 0 || strcmp(szKeyword,\"switch\") == 0) {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t}\n\t\t\t\t// end the fold for these words before the current line\n\t\t\t\tif (strcmp(szKeyword,\"endfunc\") == 0 || strcmp(szKeyword,\"endif\") == 0 ||\n\t\t\t\t\tstrcmp(szKeyword,\"next\") == 0    || strcmp(szKeyword,\"until\") == 0 ||\n\t\t\t\t\tstrcmp(szKeyword,\"endwith\") == 0 ||strcmp(szKeyword,\"wend\") == 0){\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t\t// end the fold for these words before the current line and Start new fold\n\t\t\t\tif (strcmp(szKeyword,\"case\") == 0      || strcmp(szKeyword,\"else\") == 0 ||\n\t\t\t\t\tstrcmp(szKeyword,\"elseif\") == 0 ) {\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t\t// end the double fold for this word before the current line\n\t\t\t\tif (strcmp(szKeyword,\"endselect\") == 0 || strcmp(szKeyword,\"endswitch\") == 0 ) {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t\t// end the fold for these words on the current line\n\t\t\t\tif (strcmp(szKeyword,\"#endregion\") == 0 ) {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Preprocessor and Comment folding\n\t\t\tint styleNext = GetStyleFirstWord(lineCurrent + 1,styler);\n\t\t\t// *************************************\n\t\t\t// Folding logic for preprocessor blocks\n\t\t\t// *************************************\n\t\t\t// process preprosessor line\n\t\t\tif (foldpreprocessor && style == SCE_AU3_PREPROCESSOR) {\n\t\t\t\tif (!(stylePrev == SCE_AU3_PREPROCESSOR) && (styleNext == SCE_AU3_PREPROCESSOR)) {\n\t\t\t\t    levelNext++;\n\t\t\t\t}\n\t\t\t\t// fold till the last line for normal comment lines\n\t\t\t\telse if (stylePrev == SCE_AU3_PREPROCESSOR && !(styleNext == SCE_AU3_PREPROCESSOR)) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// *********************************\n\t\t\t// Folding logic for Comment blocks\n\t\t\t// *********************************\n\t\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\t\t\t\t// Start of a comment block\n\t\t\t\tif (!(stylePrev==style) && IsStreamCommentStyle(styleNext) && styleNext==style) {\n\t\t\t\t    levelNext++;\n\t\t\t\t}\n\t\t\t\t// fold till the last line for normal comment lines\n\t\t\t\telse if (IsStreamCommentStyle(stylePrev)\n\t\t\t\t\t\t&& !(styleNext == SCE_AU3_COMMENT)\n\t\t\t\t\t\t&& stylePrev == SCE_AU3_COMMENT\n\t\t\t\t\t\t&& style == SCE_AU3_COMMENT) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t\t// fold till the one but last line for Blockcomment lines\n\t\t\t\telse if (IsStreamCommentStyle(stylePrev)\n\t\t\t\t\t\t&& !(styleNext == SCE_AU3_COMMENTBLOCK)\n\t\t\t\t\t\t&& style == SCE_AU3_COMMENTBLOCK) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tint levelUse = levelCurrent;\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext) {\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\t// reset values for the next line\n\t\t\tlineCurrent++;\n\t\t\tstylePrev = style;\n\t\t\tstyle = styleNext;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tvisibleChars = 0;\n\t\t\t// if the last character is an Underscore then don't reset since the line continues on the next line.\n\t\t\tif (!(chPrev == '_')) {\n\t\t\t\tszKeywordlen = 0;\n\t\t\t\tszThenlen = 0;\n\t\t\t\tFirstWordStart = false;\n\t\t\t\tFirstWordEnd = false;\n\t\t\t\tThenFoundLast = false;\n\t\t\t}\n\t\t}\n\t\t// save the last processed character\n\t\tif (!isspacechar(ch)) {\n\t\t\tchPrev = ch;\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n}\n\n\n//\n\nstatic const char * const AU3WordLists[] = {\n    \"#autoit keywords\",\n    \"#autoit functions\",\n    \"#autoit macros\",\n    \"#autoit Sent keys\",\n    \"#autoit Pre-processors\",\n    \"#autoit Special\",\n    \"#autoit Expand\",\n    \"#autoit UDF\",\n    0\n};\nLexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, \"au3\", FoldAU3Doc , AU3WordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAVE.cpp",
    "content": "// SciTE - Scintilla based Text Editor\n/** @file LexAVE.cxx\n ** Lexer for Avenue.\n **\n  ** Written by Alexey Yutkin <yutkin@geol.msu.ru>.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_');\n}\nstatic inline bool IsEnumChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch)|| ch == '_');\n}\nstatic inline bool IsANumberChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' );\n}\n\ninline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\ninline bool isAveOperator(char ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '*' || ch == '/' || ch == '-' || ch == '+' ||\n\t\tch == '(' || ch == ')' || ch == '=' ||\n\t\tch == '{' || ch == '}' ||\n\t\tch == '[' || ch == ']' || ch == ';' ||\n\t\tch == '<' || ch == '>' || ch == ',' ||\n\t\tch == '.'  )\n\t\treturn true;\n\treturn false;\n}\n\nstatic void ColouriseAveDoc(\n\tSci_PositionU startPos,\n\tSci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\tWordList &keywords5 = *keywordlists[4];\n\tWordList &keywords6 = *keywordlists[5];\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_AVE_STRINGEOL) {\n\t\tinitStyle = SCE_AVE_DEFAULT;\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tSci_Position currentLine = styler.GetLine(sc.currentPos);\n\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t}\n\t\tif (sc.atLineStart && (sc.state == SCE_AVE_STRING)) {\n\t\t\t// Prevent SCE_AVE_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_AVE_STRING);\n\t\t}\n\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_AVE_OPERATOR) {\n\t\t\tsc.SetState(SCE_AVE_DEFAULT);\n\t\t} else if (sc.state == SCE_AVE_NUMBER) {\n\t\t\tif (!IsANumberChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_AVE_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVE_ENUM) {\n\t\t\tif (!IsEnumChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_AVE_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVE_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch) || (sc.ch == '.')) {\n\t\t\t\tchar s[100];\n\t\t\t\t//sc.GetCurrent(s, sizeof(s));\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVE_WORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVE_WORD2);\n\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVE_WORD3);\n\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVE_WORD4);\n\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVE_WORD5);\n\t\t\t\t} else if (keywords6.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVE_WORD6);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_AVE_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVE_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_AVE_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVE_STRING) {\n\t\t\t if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_AVE_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_AVE_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_AVE_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_AVE_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_AVE_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_AVE_IDENTIFIER);\n\t\t\t} else if (sc.Match('\\\"')) {\n\t\t\t\tsc.SetState(SCE_AVE_STRING);\n\t\t\t} else if (sc.Match('\\'')) {\n\t\t\t\tsc.SetState(SCE_AVE_COMMENT);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (isAveOperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_AVE_OPERATOR);\n\t\t\t} else if (sc.Match('#')) {\n\t\t\t\tsc.SetState(SCE_AVE_ENUM);\n\t\t\t\tsc.Forward();\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldAveDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],\n                       Accessor &styler) {\n\tSci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = static_cast<char>(tolower(styler[startPos]));\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tint styleNext = styler.StyleAt(startPos);\n\tchar s[10] = \"\";\n\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = static_cast<char>(tolower(chNext));\n\t\tchNext = static_cast<char>(tolower(styler.SafeGetCharAt(i + 1)));\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (style == SCE_AVE_WORD) {\n\t\t\tif (ch == 't' || ch == 'f' || ch == 'w' || ch == 'e') {\n\t\t\t\tfor (unsigned int j = 0; j < 6; j++) {\n\t\t\t\t\tif (!iswordchar(styler[i + j])) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ts[j] = static_cast<char>(tolower(styler[i + j]));\n\t\t\t\t\ts[j + 1] = '\\0';\n\t\t\t\t}\n\n\t\t\t\tif ((strcmp(s, \"then\") == 0) || (strcmp(s, \"for\") == 0) || (strcmp(s, \"while\") == 0)) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t}\n\t\t\t\tif ((strcmp(s, \"end\") == 0) || (strcmp(s, \"elseif\") == 0)) {\n\t\t\t\t\t// Normally \"elseif\" and \"then\" will be on the same line and will cancel\n\t\t\t\t\t// each other out.  // As implemented, this does not support fold.at.else.\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (style == SCE_AVE_OPERATOR) {\n\t\t\tif (ch == '{' || ch == '(') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}' || ch == ')') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact) {\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t}\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0)) {\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nLexerModule lmAVE(SCLEX_AVE, ColouriseAveDoc, \"ave\", FoldAveDoc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAVS.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexAVS.cxx\n ** Lexer for AviSynth.\n **/\n// Copyright 2012 by Bruno Barbieri <brunorex@gmail.com>\n// Heavily based on LexPOV by Neil Hodgson\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn isalpha(ch) || (ch != ' ' && ch != '\\n' && ch != '(' && ch != '.' && ch != ',');\n}\n\nstatic inline bool IsANumberChar(int ch) {\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases.\n\treturn (ch < 0x80) &&\n\t\t\t(isdigit(ch) || ch == '.' || ch == '-' || ch == '+');\n}\n\nstatic void ColouriseAvsDoc(\n\tSci_PositionU startPos,\n\tSci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &filters = *keywordlists[1];\n\tWordList &plugins = *keywordlists[2];\n\tWordList &functions = *keywordlists[3];\n\tWordList &clipProperties = *keywordlists[4];\n\tWordList &userDefined = *keywordlists[5];\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\t// Initialize the block comment nesting level, if we are inside such a comment.\n\tint blockCommentLevel = 0;\n\tif (initStyle == SCE_AVS_COMMENTBLOCK || initStyle == SCE_AVS_COMMENTBLOCKN) {\n\t\tblockCommentLevel = styler.GetLineState(currentLine - 1);\n\t}\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_AVS_COMMENTLINE) {\n\t\tinitStyle = SCE_AVS_DEFAULT;\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tcurrentLine = styler.GetLine(sc.currentPos);\n\t\t\tif (sc.state == SCE_AVS_COMMENTBLOCK || sc.state == SCE_AVS_COMMENTBLOCKN) {\n\t\t\t\t// Inside a block comment, we set the line state\n\t\t\t\tstyler.SetLineState(currentLine, blockCommentLevel);\n\t\t\t} else {\n\t\t\t\t// Reset the line state\n\t\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_AVS_OPERATOR) {\n\t\t\tsc.SetState(SCE_AVS_DEFAULT);\n\t\t} else if (sc.state == SCE_AVS_NUMBER) {\n\t\t\t// We stop the number definition on non-numerical non-dot non-sign char\n\t\t\tif (!IsANumberChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_AVS_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVS_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVS_KEYWORD);\n\t\t\t\t} else if (filters.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVS_FILTER);\n\t\t\t\t} else if (plugins.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVS_PLUGIN);\n\t\t\t\t} else if (functions.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVS_FUNCTION);\n\t\t\t\t} else if (clipProperties.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVS_CLIPPROP);\n\t\t\t\t} else if (userDefined.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_AVS_USERDFN);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_AVS_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVS_COMMENTBLOCK) {\n\t\t\tif (sc.Match('/', '*')) {\n\t\t\t\tblockCommentLevel++;\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('*', '/') && blockCommentLevel > 0) {\n\t\t\t\tblockCommentLevel--;\n\t\t\t\tsc.Forward();\n\t\t\t\tif (blockCommentLevel == 0) {\n\t\t\t\t\tsc.ForwardSetState(SCE_AVS_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVS_COMMENTBLOCKN) {\n\t\t\tif (sc.Match('[', '*')) {\n\t\t\t\tblockCommentLevel++;\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('*', ']') && blockCommentLevel > 0) {\n\t\t\t\tblockCommentLevel--;\n\t\t\t\tsc.Forward();\n\t\t\t\tif (blockCommentLevel == 0) {\n\t\t\t\t\tsc.ForwardSetState(SCE_AVS_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVS_COMMENTLINE) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_AVS_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVS_STRING) {\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_AVS_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_AVS_TRIPLESTRING) {\n\t\t\tif (sc.Match(\"\\\"\\\"\\\"\")) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_AVS_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_AVS_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_AVS_NUMBER);\n\t\t\t} else \tif (IsADigit(sc.ch) || (sc.ch == ',' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState(SCE_AVS_NUMBER);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tblockCommentLevel = 1;\n\t\t\t\tsc.SetState(SCE_AVS_COMMENTBLOCK);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('[', '*')) {\n\t\t\t\tblockCommentLevel = 1;\n\t\t\t\tsc.SetState(SCE_AVS_COMMENTBLOCKN);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_AVS_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tif (sc.Match(\"\\\"\\\"\\\"\")) {\n\t\t\t\t\tsc.SetState(SCE_AVS_TRIPLESTRING);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_AVS_STRING);\n\t\t\t\t}\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_AVS_OPERATOR);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_AVS_IDENTIFIER);\n\t\t\t}\n\t\t}\n\t}\n\n\t// End of file: complete any pending changeState\n\tif (sc.state == SCE_AVS_IDENTIFIER) {\n\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\tchar s[100];\n\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\t\tif (keywords.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_AVS_KEYWORD);\n\t\t\t} else if (filters.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_AVS_FILTER);\n\t\t\t} else if (plugins.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_AVS_PLUGIN);\n\t\t\t} else if (functions.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_AVS_FUNCTION);\n\t\t\t} else if (clipProperties.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_AVS_CLIPPROP);\n\t\t\t} else if (userDefined.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_AVS_USERDFN);\n\t\t\t}\n\t\t\tsc.SetState(SCE_AVS_DEFAULT);\n\t\t}\n\t}\n\n\tsc.Complete();\n}\n\nstatic void FoldAvsDoc(\n\tSci_PositionU startPos,\n\tSci_Position length,\n\tint initStyle,\n\tWordList *[],\n\tAccessor &styler) {\n\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (foldComment && style == SCE_AVS_COMMENTBLOCK) {\n\t\t\tif (stylePrev != SCE_AVS_COMMENTBLOCK) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if ((styleNext != SCE_AVS_COMMENTBLOCK) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (foldComment && style == SCE_AVS_COMMENTBLOCKN) {\n\t\t\tif (stylePrev != SCE_AVS_COMMENTBLOCKN) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if ((styleNext != SCE_AVS_COMMENTBLOCKN) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (style == SCE_AVS_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const avsWordLists[] = {\n\t\"Keywords\",\n\t\"Filters\",\n\t\"Plugins\",\n\t\"Functions\",\n\t\"Clip properties\",\n\t\"User defined functions\",\n\t0,\n};\n\n//LexerModule lmAVS(SCLEX_AVS, ColouriseAvsDoc, \"avs\", FoldAvsDoc, avsWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAbaqus.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexABAQUS.cxx\n ** Lexer for ABAQUS. Based on the lexer for APDL by Hadar Raz.\n ** By Sergio Lucato.\n ** Sort of completely rewritten by Gertjan Kloosterman\n **/\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// Code folding copyied and modified from LexBasic.cxx\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAKeywordChar(const int ch) {\n\treturn (ch < 0x80 && (isalnum(ch) || (ch == '_') || (ch == ' ')));\n}\n\nstatic inline bool IsASetChar(const int ch) {\n\treturn (ch < 0x80 && (isalnum(ch) || (ch == '_') || (ch == '.') || (ch == '-')));\n}\n\nstatic void ColouriseABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList*[] /* *keywordlists[] */,\n                            Accessor &styler) {\n\tenum localState { KW_LINE_KW, KW_LINE_COMMA, KW_LINE_PAR, KW_LINE_EQ, KW_LINE_VAL, \\\n\t\t\t\t\t  DAT_LINE_VAL, DAT_LINE_COMMA,\\\n\t\t\t\t\t  COMMENT_LINE,\\\n\t\t\t\t\t  ST_ERROR, LINE_END } state ;\n\n\t// Do not leak onto next line\n\tstate = LINE_END ;\n\tinitStyle = SCE_ABAQUS_DEFAULT;\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\t// Things are actually quite simple\n\t// we have commentlines\n\t// keywordlines and datalines\n\t// On a data line there will only be colouring of numbers\n\t// a keyword line is constructed as\n\t// *word,[ paramname[=paramvalue]]*\n\t// if the line ends with a , the keyword line continues onto the new line\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tswitch ( state ) {\n        case KW_LINE_KW :\n            if ( sc.atLineEnd ) {\n                // finished the line in keyword state, switch to LINE_END\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            } else if ( IsAKeywordChar(sc.ch) ) {\n                // nothing changes\n                state = KW_LINE_KW ;\n            } else if ( sc.ch == ',' ) {\n                // Well well we say a comma, arguments *MUST* follow\n                sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                state = KW_LINE_COMMA ;\n            } else {\n                // Flag an error\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            // Done with processing\n            break ;\n        case KW_LINE_COMMA :\n            // acomma on a keywordline was seen\n            if ( IsAKeywordChar(sc.ch)) {\n                sc.SetState(SCE_ABAQUS_ARGUMENT) ;\n                state = KW_LINE_PAR ;\n            } else if ( sc.atLineEnd || (sc.ch == ',') ) {\n                // we remain in keyword mode\n                state = KW_LINE_COMMA ;\n            } else if ( sc.ch == ' ' ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = KW_LINE_COMMA ;\n            } else {\n                // Anything else constitutes an error\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            break ;\n        case KW_LINE_PAR :\n            if ( sc.atLineEnd ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            } else if ( IsAKeywordChar(sc.ch) || (sc.ch == '-') ) {\n                // remain in this state\n                state = KW_LINE_PAR ;\n            } else if ( sc.ch == ',' ) {\n                sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                state = KW_LINE_COMMA ;\n            } else if ( sc.ch == '=' ) {\n                sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                state = KW_LINE_EQ ;\n            } else {\n                // Anything else constitutes an error\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            break ;\n        case KW_LINE_EQ :\n            if ( sc.ch == ' ' ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                // remain in this state\n                state = KW_LINE_EQ ;\n            } else if ( IsADigit(sc.ch) || (sc.ch == '-') || (sc.ch == '.' && IsADigit(sc.chNext)) ) {\n                sc.SetState(SCE_ABAQUS_NUMBER) ;\n                state = KW_LINE_VAL ;\n            } else if ( IsAKeywordChar(sc.ch) ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = KW_LINE_VAL ;\n            } else if ( (sc.ch == '\\'') || (sc.ch == '\\\"') ) {\n                sc.SetState(SCE_ABAQUS_STRING) ;\n                state = KW_LINE_VAL ;\n            } else {\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            break ;\n        case KW_LINE_VAL :\n            if ( sc.atLineEnd ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            } else if ( IsASetChar(sc.ch) && (sc.state == SCE_ABAQUS_DEFAULT) ) {\n                // nothing changes\n                state = KW_LINE_VAL ;\n            } else if (( (IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') ||\n                    ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) &&\n                    (sc.state == SCE_ABAQUS_NUMBER)) {\n                // remain in number mode\n                state = KW_LINE_VAL ;\n            } else if (sc.state == SCE_ABAQUS_STRING) {\n                // accept everything until a closing quote\n                if ( sc.ch == '\\'' || sc.ch == '\\\"' ) {\n                    sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                    state = KW_LINE_VAL ;\n                }\n            } else if ( sc.ch == ',' ) {\n                sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                state = KW_LINE_COMMA ;\n            } else {\n                // anything else is an error\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            break ;\n        case DAT_LINE_VAL :\n            if ( sc.atLineEnd ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            } else if ( IsASetChar(sc.ch) && (sc.state == SCE_ABAQUS_DEFAULT) ) {\n                // nothing changes\n                state = DAT_LINE_VAL ;\n            } else if (( (IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') ||\n                    ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) &&\n                    (sc.state == SCE_ABAQUS_NUMBER)) {\n                // remain in number mode\n                state = DAT_LINE_VAL ;\n            } else if (sc.state == SCE_ABAQUS_STRING) {\n                // accept everything until a closing quote\n                if ( sc.ch == '\\'' || sc.ch == '\\\"' ) {\n                    sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                    state = DAT_LINE_VAL ;\n                }\n            } else if ( sc.ch == ',' ) {\n                sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                state = DAT_LINE_COMMA ;\n            } else {\n                // anything else is an error\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            break ;\n        case DAT_LINE_COMMA :\n            // a comma on a data line was seen\n            if ( sc.atLineEnd ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            } else if ( sc.ch == ' ' ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = DAT_LINE_COMMA ;\n            } else if (sc.ch == ',')  {\n                sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                state = DAT_LINE_COMMA ;\n            } else if ( IsADigit(sc.ch) || (sc.ch == '-')|| (sc.ch == '.' && IsADigit(sc.chNext)) ) {\n                sc.SetState(SCE_ABAQUS_NUMBER) ;\n                state = DAT_LINE_VAL ;\n            } else if ( IsAKeywordChar(sc.ch) ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = DAT_LINE_VAL ;\n            } else if ( (sc.ch == '\\'') || (sc.ch == '\\\"') ) {\n                sc.SetState(SCE_ABAQUS_STRING) ;\n                state = DAT_LINE_VAL ;\n            } else {\n                sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                state = ST_ERROR ;\n            }\n            break ;\n        case COMMENT_LINE :\n            if ( sc.atLineEnd ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            }\n            break ;\n        case ST_ERROR :\n            if ( sc.atLineEnd ) {\n                sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                state = LINE_END ;\n            }\n            break ;\n        case LINE_END :\n            if ( sc.atLineEnd || sc.ch == ' ' ) {\n                // nothing changes\n                state = LINE_END ;\n            } else if ( sc.ch == '*' ) {\n                if ( sc.chNext == '*' ) {\n                    state = COMMENT_LINE ;\n                    sc.SetState(SCE_ABAQUS_COMMENT) ;\n                } else {\n                    state = KW_LINE_KW ;\n                    sc.SetState(SCE_ABAQUS_STARCOMMAND) ;\n                }\n            } else {\n                // it must be a data line, things are as if we are in DAT_LINE_COMMA\n                if ( sc.ch == ',' ) {\n                    sc.SetState(SCE_ABAQUS_OPERATOR) ;\n                    state = DAT_LINE_COMMA ;\n                } else if ( IsADigit(sc.ch) || (sc.ch == '-')|| (sc.ch == '.' && IsADigit(sc.chNext)) ) {\n                    sc.SetState(SCE_ABAQUS_NUMBER) ;\n                    state = DAT_LINE_VAL ;\n                } else if ( IsAKeywordChar(sc.ch) ) {\n                    sc.SetState(SCE_ABAQUS_DEFAULT) ;\n                    state = DAT_LINE_VAL ;\n                } else if ( (sc.ch == '\\'') || (sc.ch == '\\\"') ) {\n                    sc.SetState(SCE_ABAQUS_STRING) ;\n                    state = DAT_LINE_VAL ;\n                } else {\n                    sc.SetState(SCE_ABAQUS_PROCESSOR) ;\n                    state = ST_ERROR ;\n                }\n            }\n            break ;\n\t\t  }\n   }\n   sc.Complete();\n}\n\n//------------------------------------------------------------------------------\n// This copyied and modified from LexBasic.cxx\n//------------------------------------------------------------------------------\n\n/* Bits:\n * 1  - whitespace\n * 2  - operator\n * 4  - identifier\n * 8  - decimal digit\n * 16 - hex digit\n * 32 - bin digit\n */\nstatic int character_classification[128] =\n{\n    0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,\n    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n    1,  2,  0,  2,  2,  2,  2,  2,  2,  2,  6,  2,  2,  2,  10, 6,\n    60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2,  2,  2,  2,  2,  2,\n    2,  20, 20, 20, 20, 20, 20, 4,  4,  4,  4,  4,  4,  4,  4,  4,\n    4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2,  2,  2,  4,\n    2,  20, 20, 20, 20, 20, 20, 4,  4,  4,  4,  4,  4,  4,  4,  4,\n    4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  2,  2,  2,  2,  0\n};\n\nstatic bool IsSpace(int c) {\n\treturn c < 128 && (character_classification[c] & 1);\n}\n\nstatic bool IsIdentifier(int c) {\n\treturn c < 128 && (character_classification[c] & 4);\n}\n\nstatic int LowerCase(int c)\n{\n\tif (c >= 'A' && c <= 'Z')\n\t\treturn 'a' + c - 'A';\n\treturn c;\n}\n\nstatic Sci_Position LineEnd(Sci_Position line, Accessor &styler)\n{\n    const Sci_Position docLines = styler.GetLine(styler.Length() - 1);  // Available last line\n    Sci_Position eol_pos ;\n    // if the line is the last line, the eol_pos is styler.Length()\n    // eol will contain a new line, or a virtual new line\n    if ( docLines == line )\n        eol_pos = styler.Length() ;\n    else\n        eol_pos = styler.LineStart(line + 1) - 1;\n    return eol_pos ;\n}\n\nstatic Sci_Position LineStart(Sci_Position line, Accessor &styler)\n{\n    return styler.LineStart(line) ;\n}\n\n// LineType\n//\n// bits determines the line type\n// 1  : data line\n// 2  : only whitespace\n// 3  : data line with only whitespace\n// 4  : keyword line\n// 5  : block open keyword line\n// 6  : block close keyword line\n// 7  : keyword line in error\n// 8  : comment line\nstatic int LineType(Sci_Position line, Accessor &styler) {\n    Sci_Position pos = LineStart(line, styler) ;\n    Sci_Position eol_pos = LineEnd(line, styler) ;\n\n    int c ;\n    char ch = ' ';\n\n    Sci_Position i = pos ;\n    while ( i < eol_pos ) {\n        c = styler.SafeGetCharAt(i);\n        ch = static_cast<char>(LowerCase(c));\n        // We can say something as soon as no whitespace\n        // was encountered\n        if ( !IsSpace(c) )\n            break ;\n        i++ ;\n    }\n\n    if ( i >= eol_pos ) {\n        // This is a whitespace line, currently\n        // classifies as data line\n        return 3 ;\n    }\n\n    if ( ch != '*' ) {\n        // This is a data line\n        return 1 ;\n    }\n\n    if ( i == eol_pos - 1 ) {\n        // Only a single *, error but make keyword line\n        return 4+3 ;\n    }\n\n    // This means we can have a second character\n    // if that is also a * this means a comment\n    // otherwise it is a keyword.\n    c = styler.SafeGetCharAt(i+1);\n    ch = static_cast<char>(LowerCase(c));\n    if ( ch == '*' ) {\n        return 8 ;\n    }\n\n    // At this point we know this is a keyword line\n    // the character at position i is a *\n    // it is not a comment line\n    char word[256] ;\n    int  wlen = 0;\n\n    word[wlen] = '*' ;\n\twlen++ ;\n\n    i++ ;\n    while ( (i < eol_pos) && (wlen < 255) ) {\n        c = styler.SafeGetCharAt(i);\n        ch = static_cast<char>(LowerCase(c));\n\n        if ( (!IsSpace(c)) && (!IsIdentifier(c)) )\n            break ;\n\n        if ( IsIdentifier(c) ) {\n            word[wlen] = ch ;\n\t\t\twlen++ ;\n\t\t}\n\n        i++ ;\n    }\n\n    word[wlen] = 0 ;\n\n    // Make a comparison\n\tif ( !strcmp(word, \"*step\") ||\n         !strcmp(word, \"*part\") ||\n         !strcmp(word, \"*instance\") ||\n         !strcmp(word, \"*assembly\")) {\n       return 4+1 ;\n    }\n\n\tif ( !strcmp(word, \"*endstep\") ||\n         !strcmp(word, \"*endpart\") ||\n         !strcmp(word, \"*endinstance\") ||\n         !strcmp(word, \"*endassembly\")) {\n       return 4+2 ;\n    }\n\n    return 4 ;\n}\n\nstatic void SafeSetLevel(Sci_Position line, int level, Accessor &styler)\n{\n    if ( line < 0 )\n        return ;\n\n    int mask = ((~SC_FOLDLEVELHEADERFLAG) | (~SC_FOLDLEVELWHITEFLAG));\n\n    if ( (level & mask) < 0 )\n        return ;\n\n    if ( styler.LevelAt(line) != level )\n        styler.SetLevel(line, level) ;\n}\n\nstatic void FoldABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int,\nWordList *[], Accessor &styler) {\n    Sci_Position startLine = styler.GetLine(startPos) ;\n    Sci_Position endLine   = styler.GetLine(startPos+length-1) ;\n\n    // bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    // We want to deal with all the cases\n    // To know the correct indentlevel, we need to look back to the\n    // previous command line indentation level\n\t// order of formatting keyline datalines commentlines\n    Sci_Position beginData    = -1 ;\n    Sci_Position beginComment = -1 ;\n    Sci_Position prvKeyLine   = startLine ;\n    Sci_Position prvKeyLineTp =  0 ;\n\n    // Scan until we find the previous keyword line\n    // this will give us the level reference that we need\n    while ( prvKeyLine > 0 ) {\n        prvKeyLine-- ;\n        prvKeyLineTp = LineType(prvKeyLine, styler) ;\n        if ( prvKeyLineTp & 4 )\n            break ;\n    }\n\n    // Determine the base line level of all lines following\n    // the previous keyword\n    // new keyword lines are placed on this level\n    //if ( prvKeyLineTp & 4 ) {\n    int level = styler.LevelAt(prvKeyLine) & ~SC_FOLDLEVELHEADERFLAG ;\n    //}\n\n    // uncomment line below if weird behaviour continues\n    prvKeyLine = -1 ;\n\n    // Now start scanning over the lines.\n    for ( Sci_Position line = startLine; line <= endLine; line++ ) {\n        int lineType = LineType(line, styler) ;\n\n        // Check for comment line\n        if ( lineType == 8 ) {\n            if ( beginComment < 0 ) {\n                beginComment = line ;\n\t\t\t}\n        }\n\n        // Check for data line\n        if ( (lineType == 1) || (lineType == 3) ) {\n            if ( beginData < 0 ) {\n                if ( beginComment >= 0 ) {\n                    beginData = beginComment ;\n                } else {\n                    beginData = line ;\n                }\n            }\n\t\t\tbeginComment = -1 ;\n\t\t}\n\n        // Check for keywordline.\n        // As soon as a keyword line is encountered, we can set the\n        // levels of everything from the previous keyword line to this one\n        if ( lineType & 4 ) {\n            // this is a keyword, we can now place the previous keyword\n            // all its data lines and the remainder\n\n            // Write comments and data line\n            if ( beginComment < 0 ) {\n                beginComment = line ;\n\t\t\t}\n\n            if ( beginData < 0 ) {\n                beginData = beginComment ;\n\t\t\t\tif ( prvKeyLineTp != 5 )\n\t\t\t\t\tSafeSetLevel(prvKeyLine, level, styler) ;\n\t\t\t\telse\n\t\t\t\t\tSafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;\n            } else {\n                SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;\n            }\n\n            int datLevel = level + 1 ;\n\t\t\tif ( !(prvKeyLineTp & 4) ) {\n\t\t\t\tdatLevel = level ;\n\t\t\t}\n\n            for ( Sci_Position ll = beginData; ll < beginComment; ll++ )\n                SafeSetLevel(ll, datLevel, styler) ;\n\n            // The keyword we just found is going to be written at another level\n            // if we have a type 5 and type 6\n            if ( prvKeyLineTp == 5 ) {\n                level += 1 ;\n\t\t\t}\n\n            if ( prvKeyLineTp == 6 ) {\n                level -= 1 ;\n\t\t\t\tif ( level < 0 ) {\n\t\t\t\t\tlevel = 0 ;\n\t\t\t\t}\n            }\n\n            for ( Sci_Position lll = beginComment; lll < line; lll++ )\n                SafeSetLevel(lll, level, styler) ;\n\n            // wrap and reset\n            beginComment = -1 ;\n            beginData    = -1 ;\n            prvKeyLine   = line ;\n            prvKeyLineTp = lineType ;\n        }\n\n    }\n\n    if ( beginComment < 0 ) {\n        beginComment = endLine + 1 ;\n    } else {\n        // We need to find out whether this comment block is followed by\n        // a data line or a keyword line\n        const Sci_Position docLines = styler.GetLine(styler.Length() - 1);\n\n        for ( Sci_Position line = endLine + 1; line <= docLines; line++ ) {\n            Sci_Position lineType = LineType(line, styler) ;\n\n            if ( lineType != 8 ) {\n\t\t\t\tif ( !(lineType & 4) )  {\n\t\t\t\t\tbeginComment = endLine + 1 ;\n\t\t\t\t}\n                break ;\n\t\t\t}\n        }\n    }\n\n    if ( beginData < 0 ) {\n        beginData = beginComment ;\n\t\tif ( prvKeyLineTp != 5 )\n\t\t\tSafeSetLevel(prvKeyLine, level, styler) ;\n\t\telse\n\t\t\tSafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;\n    } else {\n        SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;\n    }\n\n    int datLevel = level + 1 ;\n\tif ( !(prvKeyLineTp & 4) ) {\n\t\tdatLevel = level ;\n\t}\n\n    for ( Sci_Position ll = beginData; ll < beginComment; ll++ )\n        SafeSetLevel(ll, datLevel, styler) ;\n\n    if ( prvKeyLineTp == 5 ) {\n        level += 1 ;\n    }\n\n    if ( prvKeyLineTp == 6 ) {\n        level -= 1 ;\n    }\n    for ( Sci_Position m = beginComment; m <= endLine; m++ )\n        SafeSetLevel(m, level, styler) ;\n}\n\nstatic const char * const abaqusWordListDesc[] = {\n    \"processors\",\n    \"commands\",\n    \"slashommands\",\n    \"starcommands\",\n    \"arguments\",\n    \"functions\",\n    0\n};\n\nLexerModule lmAbaqus(SCLEX_ABAQUS, ColouriseABAQUSDoc, \"abaqus\", FoldABAQUSDoc, abaqusWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAda.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexAda.cxx\n ** Lexer for Ada 95\n **/\n// Copyright 2002 by Sergey Koshcheyev <sergey.k@seznam.cz>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n/*\n * Interface\n */\n\nstatic void ColouriseDocument(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int initStyle,\n    WordList *keywordlists[],\n    Accessor &styler);\n\nstatic const char * const adaWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmAda(SCLEX_ADA, ColouriseDocument, \"ada\", NULL, adaWordListDesc);\n\n/*\n * Implementation\n */\n\n// Functions that have apostropheStartsAttribute as a parameter set it according to whether\n// an apostrophe encountered after processing the current token will start an attribute or\n// a character literal.\nstatic void ColouriseCharacter(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseComment(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseContext(StyleContext& sc, char chEnd, int stateEOL);\nstatic void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseLabel(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute);\nstatic void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseString(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseWhiteSpace(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseWord(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute);\n\nstatic inline bool IsDelimiterCharacter(int ch);\nstatic inline bool IsSeparatorOrDelimiterCharacter(int ch);\nstatic bool IsValidIdentifier(const std::string& identifier);\nstatic bool IsValidNumber(const std::string& number);\nstatic inline bool IsWordStartCharacter(int ch);\nstatic inline bool IsWordCharacter(int ch);\n\nstatic void ColouriseCharacter(StyleContext& sc, bool& apostropheStartsAttribute) {\n\tapostropheStartsAttribute = true;\n\n\tsc.SetState(SCE_ADA_CHARACTER);\n\n\t// Skip the apostrophe and one more character (so that '' is shown as non-terminated and '''\n\t// is handled correctly)\n\tsc.Forward();\n\tsc.Forward();\n\n\tColouriseContext(sc, '\\'', SCE_ADA_CHARACTEREOL);\n}\n\nstatic void ColouriseContext(StyleContext& sc, char chEnd, int stateEOL) {\n\twhile (!sc.atLineEnd && !sc.Match(chEnd)) {\n\t\tsc.Forward();\n\t}\n\n\tif (!sc.atLineEnd) {\n\t\tsc.ForwardSetState(SCE_ADA_DEFAULT);\n\t} else {\n\t\tsc.ChangeState(stateEOL);\n\t}\n}\n\nstatic void ColouriseComment(StyleContext& sc, bool& /*apostropheStartsAttribute*/) {\n\t// Apostrophe meaning is not changed, but the parameter is present for uniformity\n\n\tsc.SetState(SCE_ADA_COMMENTLINE);\n\n\twhile (!sc.atLineEnd) {\n\t\tsc.Forward();\n\t}\n}\n\nstatic void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsAttribute) {\n\tapostropheStartsAttribute = sc.Match (')');\n\tsc.SetState(SCE_ADA_DELIMITER);\n\tsc.ForwardSetState(SCE_ADA_DEFAULT);\n}\n\nstatic void ColouriseLabel(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute) {\n\tapostropheStartsAttribute = false;\n\n\tsc.SetState(SCE_ADA_LABEL);\n\n\t// Skip \"<<\"\n\tsc.Forward();\n\tsc.Forward();\n\n\tstd::string identifier;\n\n\twhile (!sc.atLineEnd && !IsSeparatorOrDelimiterCharacter(sc.ch)) {\n\t\tidentifier += static_cast<char>(tolower(sc.ch));\n\t\tsc.Forward();\n\t}\n\n\t// Skip \">>\"\n\tif (sc.Match('>', '>')) {\n\t\tsc.Forward();\n\t\tsc.Forward();\n\t} else {\n\t\tsc.ChangeState(SCE_ADA_ILLEGAL);\n\t}\n\n\t// If the name is an invalid identifier or a keyword, then make it invalid label\n\tif (!IsValidIdentifier(identifier) || keywords.InList(identifier.c_str())) {\n\t\tsc.ChangeState(SCE_ADA_ILLEGAL);\n\t}\n\n\tsc.SetState(SCE_ADA_DEFAULT);\n\n}\n\nstatic void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttribute) {\n\tapostropheStartsAttribute = true;\n\n\tstd::string number;\n\tsc.SetState(SCE_ADA_NUMBER);\n\n\t// Get all characters up to a delimiter or a separator, including points, but excluding\n\t// double points (ranges).\n\twhile (!IsSeparatorOrDelimiterCharacter(sc.ch) || (sc.ch == '.' && sc.chNext != '.')) {\n\t\tnumber += static_cast<char>(sc.ch);\n\t\tsc.Forward();\n\t}\n\n\t// Special case: exponent with sign\n\tif ((sc.chPrev == 'e' || sc.chPrev == 'E') &&\n\t        (sc.ch == '+' || sc.ch == '-')) {\n\t\tnumber += static_cast<char>(sc.ch);\n\t\tsc.Forward ();\n\n\t\twhile (!IsSeparatorOrDelimiterCharacter(sc.ch)) {\n\t\t\tnumber += static_cast<char>(sc.ch);\n\t\t\tsc.Forward();\n\t\t}\n\t}\n\n\tif (!IsValidNumber(number)) {\n\t\tsc.ChangeState(SCE_ADA_ILLEGAL);\n\t}\n\n\tsc.SetState(SCE_ADA_DEFAULT);\n}\n\nstatic void ColouriseString(StyleContext& sc, bool& apostropheStartsAttribute) {\n\tapostropheStartsAttribute = true;\n\n\tsc.SetState(SCE_ADA_STRING);\n\tsc.Forward();\n\n\tColouriseContext(sc, '\"', SCE_ADA_STRINGEOL);\n}\n\nstatic void ColouriseWhiteSpace(StyleContext& sc, bool& /*apostropheStartsAttribute*/) {\n\t// Apostrophe meaning is not changed, but the parameter is present for uniformity\n\tsc.SetState(SCE_ADA_DEFAULT);\n\tsc.ForwardSetState(SCE_ADA_DEFAULT);\n}\n\nstatic void ColouriseWord(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute) {\n\tapostropheStartsAttribute = true;\n\tsc.SetState(SCE_ADA_IDENTIFIER);\n\n\tstd::string word;\n\n\twhile (!sc.atLineEnd && !IsSeparatorOrDelimiterCharacter(sc.ch)) {\n\t\tword += static_cast<char>(tolower(sc.ch));\n\t\tsc.Forward();\n\t}\n\n\tif (!IsValidIdentifier(word)) {\n\t\tsc.ChangeState(SCE_ADA_ILLEGAL);\n\n\t} else if (keywords.InList(word.c_str())) {\n\t\tsc.ChangeState(SCE_ADA_WORD);\n\n\t\tif (word != \"all\") {\n\t\t\tapostropheStartsAttribute = false;\n\t\t}\n\t}\n\n\tsc.SetState(SCE_ADA_DEFAULT);\n}\n\n//\n// ColouriseDocument\n//\n\nstatic void ColouriseDocument(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int initStyle,\n    WordList *keywordlists[],\n    Accessor &styler) {\n\tWordList &keywords = *keywordlists[0];\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tbool apostropheStartsAttribute = (styler.GetLineState(lineCurrent) & 1) != 0;\n\n\twhile (sc.More()) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// Go to the next line\n\t\t\tsc.Forward();\n\t\t\tlineCurrent++;\n\n\t\t\t// Remember the line state for future incremental lexing\n\t\t\tstyler.SetLineState(lineCurrent, apostropheStartsAttribute);\n\n\t\t\t// Don't continue any styles on the next line\n\t\t\tsc.SetState(SCE_ADA_DEFAULT);\n\t\t}\n\n\t\t// Comments\n\t\tif (sc.Match('-', '-')) {\n\t\t\tColouriseComment(sc, apostropheStartsAttribute);\n\n\t\t// Strings\n\t\t} else if (sc.Match('\"')) {\n\t\t\tColouriseString(sc, apostropheStartsAttribute);\n\n\t\t// Characters\n\t\t} else if (sc.Match('\\'') && !apostropheStartsAttribute) {\n\t\t\tColouriseCharacter(sc, apostropheStartsAttribute);\n\n\t\t// Labels\n\t\t} else if (sc.Match('<', '<')) {\n\t\t\tColouriseLabel(sc, keywords, apostropheStartsAttribute);\n\n\t\t// Whitespace\n\t\t} else if (IsASpace(sc.ch)) {\n\t\t\tColouriseWhiteSpace(sc, apostropheStartsAttribute);\n\n\t\t// Delimiters\n\t\t} else if (IsDelimiterCharacter(sc.ch)) {\n\t\t\tColouriseDelimiter(sc, apostropheStartsAttribute);\n\n\t\t// Numbers\n\t\t} else if (IsADigit(sc.ch) || sc.ch == '#') {\n\t\t\tColouriseNumber(sc, apostropheStartsAttribute);\n\n\t\t// Keywords or identifiers\n\t\t} else {\n\t\t\tColouriseWord(sc, keywords, apostropheStartsAttribute);\n\t\t}\n\t}\n\n\tsc.Complete();\n}\n\nstatic inline bool IsDelimiterCharacter(int ch) {\n\tswitch (ch) {\n\tcase '&':\n\tcase '\\'':\n\tcase '(':\n\tcase ')':\n\tcase '*':\n\tcase '+':\n\tcase ',':\n\tcase '-':\n\tcase '.':\n\tcase '/':\n\tcase ':':\n\tcase ';':\n\tcase '<':\n\tcase '=':\n\tcase '>':\n\tcase '|':\n\t\treturn true;\n\tdefault:\n\t\treturn false;\n\t}\n}\n\nstatic inline bool IsSeparatorOrDelimiterCharacter(int ch) {\n\treturn IsASpace(ch) || IsDelimiterCharacter(ch);\n}\n\nstatic bool IsValidIdentifier(const std::string& identifier) {\n\t// First character can't be '_', so initialize the flag to true\n\tbool lastWasUnderscore = true;\n\n\tsize_t length = identifier.length();\n\n\t// Zero-length identifiers are not valid (these can occur inside labels)\n\tif (length == 0) {\n\t\treturn false;\n\t}\n\n\t// Check for valid character at the start\n\tif (!IsWordStartCharacter(identifier[0])) {\n\t\treturn false;\n\t}\n\n\t// Check for only valid characters and no double underscores\n\tfor (size_t i = 0; i < length; i++) {\n\t\tif (!IsWordCharacter(identifier[i]) ||\n\t\t        (identifier[i] == '_' && lastWasUnderscore)) {\n\t\t\treturn false;\n\t\t}\n\t\tlastWasUnderscore = identifier[i] == '_';\n\t}\n\n\t// Check for underscore at the end\n\tif (lastWasUnderscore == true) {\n\t\treturn false;\n\t}\n\n\t// All checks passed\n\treturn true;\n}\n\nstatic bool IsValidNumber(const std::string& number) {\n\tsize_t hashPos = number.find(\"#\");\n\tbool seenDot = false;\n\n\tsize_t i = 0;\n\tsize_t length = number.length();\n\n\tif (length == 0)\n\t\treturn false; // Just in case\n\n\t// Decimal number\n\tif (hashPos == std::string::npos) {\n\t\tbool canBeSpecial = false;\n\n\t\tfor (; i < length; i++) {\n\t\t\tif (number[i] == '_') {\n\t\t\t\tif (!canBeSpecial) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = false;\n\t\t\t} else if (number[i] == '.') {\n\t\t\t\tif (!canBeSpecial || seenDot) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = false;\n\t\t\t\tseenDot = true;\n\t\t\t} else if (IsADigit(number[i])) {\n\t\t\t\tcanBeSpecial = true;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!canBeSpecial)\n\t\t\treturn false;\n\t} else {\n\t\t// Based number\n\t\tbool canBeSpecial = false;\n\t\tint base = 0;\n\n\t\t// Parse base\n\t\tfor (; i < length; i++) {\n\t\t\tint ch = number[i];\n\t\t\tif (ch == '_') {\n\t\t\t\tif (!canBeSpecial)\n\t\t\t\t\treturn false;\n\t\t\t\tcanBeSpecial = false;\n\t\t\t} else if (IsADigit(ch)) {\n\t\t\t\tbase = base * 10 + (ch - '0');\n\t\t\t\tif (base > 16)\n\t\t\t\t\treturn false;\n\t\t\t\tcanBeSpecial = true;\n\t\t\t} else if (ch == '#' && canBeSpecial) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tif (base < 2)\n\t\t\treturn false;\n\t\tif (i == length)\n\t\t\treturn false;\n\n\t\ti++; // Skip over '#'\n\n\t\t// Parse number\n\t\tcanBeSpecial = false;\n\n\t\tfor (; i < length; i++) {\n\t\t\tint ch = tolower(number[i]);\n\n\t\t\tif (ch == '_') {\n\t\t\t\tif (!canBeSpecial) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = false;\n\n\t\t\t} else if (ch == '.') {\n\t\t\t\tif (!canBeSpecial || seenDot) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = false;\n\t\t\t\tseenDot = true;\n\n\t\t\t} else if (IsADigit(ch)) {\n\t\t\t\tif (ch - '0' >= base) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = true;\n\n\t\t\t} else if (ch >= 'a' && ch <= 'f') {\n\t\t\t\tif (ch - 'a' + 10 >= base) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = true;\n\n\t\t\t} else if (ch == '#' && canBeSpecial) {\n\t\t\t\tbreak;\n\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tif (i == length) {\n\t\t\treturn false;\n\t\t}\n\n\t\ti++;\n\t}\n\n\t// Exponent (optional)\n\tif (i < length) {\n\t\tif (number[i] != 'e' && number[i] != 'E')\n\t\t\treturn false;\n\n\t\ti++; // Move past 'E'\n\n\t\tif (i == length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (number[i] == '+')\n\t\t\ti++;\n\t\telse if (number[i] == '-') {\n\t\t\tif (seenDot) {\n\t\t\t\ti++;\n\t\t\t} else {\n\t\t\t\treturn false; // Integer literals should not have negative exponents\n\t\t\t}\n\t\t}\n\n\t\tif (i == length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tbool canBeSpecial = false;\n\n\t\tfor (; i < length; i++) {\n\t\t\tif (number[i] == '_') {\n\t\t\t\tif (!canBeSpecial) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcanBeSpecial = false;\n\t\t\t} else if (IsADigit(number[i])) {\n\t\t\t\tcanBeSpecial = true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tif (!canBeSpecial)\n\t\t\treturn false;\n\t}\n\n\t// if i == length, number was parsed successfully.\n\treturn i == length;\n}\n\nstatic inline bool IsWordCharacter(int ch) {\n\treturn IsWordStartCharacter(ch) || IsADigit(ch);\n}\n\nstatic inline bool IsWordStartCharacter(int ch) {\n\treturn (IsASCII(ch) && isalpha(ch)) || ch == '_';\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAsm.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexAsm.cxx\n ** Lexer for Assembler, just for the MASM syntax\n ** Written by The Black Horus\n ** Enhancements and NASM stuff by Kein-Hong Man, 2003-10\n ** SCE_ASM_COMMENTBLOCK and SCE_ASM_CHARACTER are for future GNU as colouring\n ** Converted to lexer object and added further folding features/properties by \"Udo Lechner\" <dlchnr(at)gmx(dot)net>\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <map>\n#include <set>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' ||\n\t\tch == '_' || ch == '?');\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.' ||\n\t\tch == '%' || ch == '@' || ch == '$' || ch == '?');\n}\n\nstatic inline bool IsAsmOperator(const int ch) {\n\tif ((ch < 0x80) && (isalnum(ch)))\n\t\treturn false;\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '*' || ch == '/' || ch == '-' || ch == '+' ||\n\t\tch == '(' || ch == ')' || ch == '=' || ch == '^' ||\n\t\tch == '[' || ch == ']' || ch == '<' || ch == '&' ||\n\t\tch == '>' || ch == ',' || ch == '|' || ch == '~' ||\n\t\tch == '%' || ch == ':')\n\t\treturn true;\n\treturn false;\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_ASM_COMMENTDIRECTIVE || style == SCE_ASM_COMMENTBLOCK;\n}\n\nstatic inline int LowerCase(int c) {\n\tif (c >= 'A' && c <= 'Z')\n\t\treturn 'a' + c - 'A';\n\treturn c;\n}\n\n// An individual named option for use in an OptionSet\n\n// Options used for LexerAsm\nstruct OptionsAsm {\n\tstd::string delimiter;\n\tbool fold;\n\tbool foldSyntaxBased;\n\tbool foldCommentMultiline;\n\tbool foldCommentExplicit;\n\tstd::string foldExplicitStart;\n\tstd::string foldExplicitEnd;\n\tbool foldExplicitAnywhere;\n\tbool foldCompact;\n\tOptionsAsm() {\n\t\tdelimiter = \"\";\n\t\tfold = false;\n\t\tfoldSyntaxBased = true;\n\t\tfoldCommentMultiline = false;\n\t\tfoldCommentExplicit = false;\n\t\tfoldExplicitStart = \"\";\n\t\tfoldExplicitEnd   = \"\";\n\t\tfoldExplicitAnywhere = false;\n\t\tfoldCompact = true;\n\t}\n};\n\nstatic const char * const asmWordListDesc[] = {\n\t\"CPU instructions\",\n\t\"FPU instructions\",\n\t\"Registers\",\n\t\"Directives\",\n\t\"Directive operands\",\n\t\"Extended instructions\",\n\t\"Directives4Foldstart\",\n\t\"Directives4Foldend\",\n\t0\n};\n\nstruct OptionSetAsm : public OptionSet<OptionsAsm> {\n\tOptionSetAsm() {\n\t\tDefineProperty(\"lexer.asm.comment.delimiter\", &OptionsAsm::delimiter,\n\t\t\t\"Character used for COMMENT directive's delimiter, replacing the standard \\\"~\\\".\");\n\n\t\tDefineProperty(\"fold\", &OptionsAsm::fold);\n\n\t\tDefineProperty(\"fold.asm.syntax.based\", &OptionsAsm::foldSyntaxBased,\n\t\t\t\"Set this property to 0 to disable syntax based folding.\");\n\n\t\tDefineProperty(\"fold.asm.comment.multiline\", &OptionsAsm::foldCommentMultiline,\n\t\t\t\"Set this property to 1 to enable folding multi-line comments.\");\n\n\t\tDefineProperty(\"fold.asm.comment.explicit\", &OptionsAsm::foldCommentExplicit,\n\t\t\t\"This option enables folding explicit fold points when using the Asm lexer. \"\n\t\t\t\"Explicit fold points allows adding extra folding by placing a ;{ comment at the start and a ;} \"\n\t\t\t\"at the end of a section that should fold.\");\n\n\t\tDefineProperty(\"fold.asm.explicit.start\", &OptionsAsm::foldExplicitStart,\n\t\t\t\"The string to use for explicit fold start points, replacing the standard ;{.\");\n\n\t\tDefineProperty(\"fold.asm.explicit.end\", &OptionsAsm::foldExplicitEnd,\n\t\t\t\"The string to use for explicit fold end points, replacing the standard ;}.\");\n\n\t\tDefineProperty(\"fold.asm.explicit.anywhere\", &OptionsAsm::foldExplicitAnywhere,\n\t\t\t\"Set this property to 1 to enable explicit fold points anywhere, not just in line comments.\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsAsm::foldCompact);\n\n\t\tDefineWordListSets(asmWordListDesc);\n\t}\n};\n\nclass LexerAsm : public DefaultLexer {\n\tWordList cpuInstruction;\n\tWordList mathInstruction;\n\tWordList registers;\n\tWordList directive;\n\tWordList directiveOperand;\n\tWordList extInstruction;\n\tWordList directives4foldstart;\n\tWordList directives4foldend;\n\tOptionsAsm options;\n\tOptionSetAsm osAsm;\n\tint commentChar;\npublic:\n\tLexerAsm(int commentChar_) {\n\t\tcommentChar = commentChar_;\n\t}\n\tvirtual ~LexerAsm() {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osAsm.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osAsm.PropertyType(name);\n\t}\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osAsm.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osAsm.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\n\tstatic ILexer *LexerFactoryAsm() {\n\t\treturn new LexerAsm(';');\n\t}\n\n\tstatic ILexer *LexerFactoryAs() {\n\t\treturn new LexerAsm('#');\n\t}\n};\n\nSci_Position SCI_METHOD LexerAsm::PropertySet(const char *key, const char *val) {\n\tif (osAsm.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerAsm::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &cpuInstruction;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &mathInstruction;\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &registers;\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &directive;\n\t\tbreak;\n\tcase 4:\n\t\twordListN = &directiveOperand;\n\t\tbreak;\n\tcase 5:\n\t\twordListN = &extInstruction;\n\t\tbreak;\n\tcase 6:\n\t\twordListN = &directives4foldstart;\n\t\tbreak;\n\tcase 7:\n\t\twordListN = &directives4foldend;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerAsm::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_ASM_STRINGEOL)\n\t\tinitStyle = SCE_ASM_DEFAULT;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward())\n\t{\n\n\t\t// Prevent SCE_ASM_STRINGEOL from leaking back to previous line\n\t\tif (sc.atLineStart && (sc.state == SCE_ASM_STRING)) {\n\t\t\tsc.SetState(SCE_ASM_STRING);\n\t\t} else if (sc.atLineStart && (sc.state == SCE_ASM_CHARACTER)) {\n\t\t\tsc.SetState(SCE_ASM_CHARACTER);\n\t\t}\n\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_ASM_OPERATOR) {\n\t\t\tif (!IsAsmOperator(sc.ch)) {\n\t\t\t    sc.SetState(SCE_ASM_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ASM_NUMBER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_ASM_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ASM_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch) ) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tbool IsDirective = false;\n\n\t\t\t\tif (cpuInstruction.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ASM_CPUINSTRUCTION);\n\t\t\t\t} else if (mathInstruction.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ASM_MATHINSTRUCTION);\n\t\t\t\t} else if (registers.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ASM_REGISTER);\n\t\t\t\t}  else if (directive.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ASM_DIRECTIVE);\n\t\t\t\t\tIsDirective = true;\n\t\t\t\t} else if (directiveOperand.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ASM_DIRECTIVEOPERAND);\n\t\t\t\t} else if (extInstruction.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ASM_EXTINSTRUCTION);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_ASM_DEFAULT);\n\t\t\t\tif (IsDirective && !strcmp(s, \"comment\")) {\n\t\t\t\t\tchar delimiter = options.delimiter.empty() ? '~' : options.delimiter.c_str()[0];\n\t\t\t\t\twhile (IsASpaceOrTab(sc.ch) && !sc.atLineEnd) {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ASM_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\tif (sc.ch == delimiter) {\n\t\t\t\t\t\tsc.SetState(SCE_ASM_COMMENTDIRECTIVE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_ASM_COMMENTDIRECTIVE) {\n\t\t\tchar delimiter = options.delimiter.empty() ? '~' : options.delimiter.c_str()[0];\n\t\t\tif (sc.ch == delimiter) {\n\t\t\t\twhile (!sc.atLineEnd) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_ASM_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ASM_COMMENT ) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_ASM_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ASM_STRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_ASM_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_ASM_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_ASM_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ASM_CHARACTER) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_ASM_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_ASM_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_ASM_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_ASM_DEFAULT) {\n\t\t\tif (sc.ch == commentChar){\n\t\t\t\tsc.SetState(SCE_ASM_COMMENT);\n\t\t\t} else if (IsASCII(sc.ch) && (isdigit(sc.ch) || (sc.ch == '.' && IsASCII(sc.chNext) && isdigit(sc.chNext)))) {\n\t\t\t\tsc.SetState(SCE_ASM_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_ASM_IDENTIFIER);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_ASM_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_ASM_CHARACTER);\n\t\t\t} else if (IsAsmOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_ASM_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t}\n\tsc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"else\".\n\nvoid SCI_METHOD LexerAsm::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n\tif (!options.fold)\n\t\treturn;\n\n\tLexAccessor styler(pAccess);\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tchar word[100];\n\tint wordlen = 0;\n\tconst bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty();\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (options.foldCommentMultiline && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (options.foldCommentExplicit && ((style == SCE_ASM_COMMENT) || options.foldExplicitAnywhere)) {\n\t\t\tif (userDefinedFoldMarkers) {\n\t\t\t\tif (styler.Match(i, options.foldExplicitStart.c_str())) {\n \t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(i, options.foldExplicitEnd.c_str())) {\n \t\t\t\t\tlevelNext--;\n \t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (ch == ';') {\n\t\t\t\t\tif (chNext == '{') {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t} else if (chNext == '}') {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t}\n\t\t\t\t}\n \t\t\t}\n \t\t}\n\t\tif (options.foldSyntaxBased && (style == SCE_ASM_DIRECTIVE)) {\n\t\t\tword[wordlen++] = static_cast<char>(LowerCase(ch));\n\t\t\tif (wordlen == 100) {                   // prevent overflow\n\t\t\t\tword[0] = '\\0';\n\t\t\t\twordlen = 1;\n\t\t\t}\n\t\t\tif (styleNext != SCE_ASM_DIRECTIVE) {   // reading directive ready\n\t\t\t\tword[wordlen] = '\\0';\n\t\t\t\twordlen = 0;\n\t\t\t\tif (directives4foldstart.InList(word)) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (directives4foldend.InList(word)){\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tif (atEOL && (i == static_cast<Sci_PositionU>(styler.Length() - 1))) {\n\t\t\t\t// There is an empty line at end of file so give it same level and empty\n\t\t\t\tstyler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t}\n\t}\n}\n\nLexerModule lmAsm(SCLEX_ASM, LexerAsm::LexerFactoryAsm, \"asm\", asmWordListDesc);\nLexerModule lmAs(SCLEX_AS, LexerAsm::LexerFactoryAs, \"as\", asmWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexAsn1.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexAsn1.cxx\n ** Lexer for ASN.1\n **/\n// Copyright 2004 by Herr Pfarrer rpfarrer <at> yahoo <dot> de\n// Last Updated: 20/07/2004\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Some char test functions\nstatic bool isAsn1Number(int ch)\n{\n\treturn (ch >= '0' && ch <= '9');\n}\n\nstatic bool isAsn1Letter(int ch)\n{\n\treturn (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z');\n}\n\nstatic bool isAsn1Char(int ch)\n{\n\treturn (ch == '-' ) || isAsn1Number(ch) || isAsn1Letter (ch);\n}\n\n//\n//\tFunction determining the color of a given code portion\n//\tBased on a \"state\"\n//\nstatic void ColouriseAsn1Doc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordLists[], Accessor &styler)\n{\n\t// The keywords\n\tWordList &Keywords = *keywordLists[0];\n\tWordList &Attributes = *keywordLists[1];\n\tWordList &Descriptors = *keywordLists[2];\n\tWordList &Types = *keywordLists[3];\n\n\t// Parse the whole buffer character by character using StyleContext\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tfor (; sc.More(); sc.Forward())\n\t{\n\t\t// The state engine\n\t\tswitch (sc.state)\n\t\t{\n\t\tcase SCE_ASN1_DEFAULT:\t\t// Plain characters\nasn1_default:\n\t\t\tif (sc.ch == '-' && sc.chNext == '-')\n\t\t\t\t// A comment begins here\n\t\t\t\tsc.SetState(SCE_ASN1_COMMENT);\n\t\t\telse if (sc.ch == '\"')\n\t\t\t\t// A string begins here\n\t\t\t\tsc.SetState(SCE_ASN1_STRING);\n\t\t\telse if (isAsn1Number (sc.ch))\n\t\t\t\t// A number starts here (identifier should start with a letter in ASN.1)\n\t\t\t\tsc.SetState(SCE_ASN1_SCALAR);\n\t\t\telse if (isAsn1Char (sc.ch))\n\t\t\t\t// An identifier starts here (identifier always start with a letter)\n\t\t\t\tsc.SetState(SCE_ASN1_IDENTIFIER);\n\t\t\telse if (sc.ch == ':')\n\t\t\t\t// A ::= operator starts here\n\t\t\t\tsc.SetState(SCE_ASN1_OPERATOR);\n\t\t\tbreak;\n\t\tcase SCE_ASN1_COMMENT:\t\t// A comment\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n')\n\t\t\t\t// A comment ends here\n\t\t\t\tsc.SetState(SCE_ASN1_DEFAULT);\n\t\t\tbreak;\n\t\tcase SCE_ASN1_IDENTIFIER:\t// An identifier (keyword, attribute, descriptor or type)\n\t\t\tif (!isAsn1Char (sc.ch))\n\t\t\t{\n\t\t\t\t// The end of identifier is here: we can look for it in lists by now and change its state\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tif (Keywords.InList(s))\n\t\t\t\t\t// It's a keyword, change its state\n\t\t\t\t\tsc.ChangeState(SCE_ASN1_KEYWORD);\n\t\t\t\telse if (Attributes.InList(s))\n\t\t\t\t\t// It's an attribute, change its state\n\t\t\t\t\tsc.ChangeState(SCE_ASN1_ATTRIBUTE);\n\t\t\t\telse if (Descriptors.InList(s))\n\t\t\t\t\t// It's a descriptor, change its state\n\t\t\t\t\tsc.ChangeState(SCE_ASN1_DESCRIPTOR);\n\t\t\t\telse if (Types.InList(s))\n\t\t\t\t\t// It's a type, change its state\n\t\t\t\t\tsc.ChangeState(SCE_ASN1_TYPE);\n\n\t\t\t\t// Set to default now\n\t\t\t\tsc.SetState(SCE_ASN1_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_ASN1_STRING:\t\t// A string delimited by \"\"\n\t\t\tif (sc.ch == '\"')\n\t\t\t{\n\t\t\t\t// A string ends here\n\t\t\t\tsc.ForwardSetState(SCE_ASN1_DEFAULT);\n\n\t\t\t\t// To correctly manage a char sticking to the string quote\n\t\t\t\tgoto asn1_default;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_ASN1_SCALAR:\t\t// A plain number\n\t\t\tif (!isAsn1Number (sc.ch))\n\t\t\t\t// A number ends here\n\t\t\t\tsc.SetState(SCE_ASN1_DEFAULT);\n\t\t\tbreak;\n\t\tcase SCE_ASN1_OPERATOR:\t\t// The affectation operator ::= and wath follows (eg: ::= { org 6 } OID or ::= 12 trap)\n\t\t\tif (sc.ch == '{')\n\t\t\t{\n\t\t\t\t// An OID definition starts here: enter the sub loop\n\t\t\t\tfor (; sc.More(); sc.Forward())\n\t\t\t\t{\n\t\t\t\t\tif (isAsn1Number (sc.ch) && (!isAsn1Char (sc.chPrev) || isAsn1Number (sc.chPrev)))\n\t\t\t\t\t\t// The OID number is highlighted\n\t\t\t\t\t\tsc.SetState(SCE_ASN1_OID);\n\t\t\t\t\telse if (isAsn1Char (sc.ch))\n\t\t\t\t\t\t// The OID parent identifier is plain\n\t\t\t\t\t\tsc.SetState(SCE_ASN1_IDENTIFIER);\n\t\t\t\t\telse\n\t\t\t\t\t\tsc.SetState(SCE_ASN1_DEFAULT);\n\n\t\t\t\t\tif (sc.ch == '}')\n\t\t\t\t\t\t// Here ends the OID and the operator sub loop: go back to main loop\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (isAsn1Number (sc.ch))\n\t\t\t{\n\t\t\t\t// A trap number definition starts here: enter the sub loop\n\t\t\t\tfor (; sc.More(); sc.Forward())\n\t\t\t\t{\n\t\t\t\t\tif (isAsn1Number (sc.ch))\n\t\t\t\t\t\t// The trap number is highlighted\n\t\t\t\t\t\tsc.SetState(SCE_ASN1_OID);\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// The number ends here: go back to main loop\n\t\t\t\t\t\tsc.SetState(SCE_ASN1_DEFAULT);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (sc.ch != ':' && sc.ch != '=' && sc.ch != ' ')\n\t\t\t\t// The operator doesn't imply an OID definition nor a trap, back to main loop\n\t\t\t\tgoto asn1_default; // To be sure to handle actually the state change\n\t\t\tbreak;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldAsn1Doc(Sci_PositionU, Sci_Position, int, WordList *[], Accessor &styler)\n{\n\t// No folding enabled, no reason to continue...\n\tif( styler.GetPropertyInt(\"fold\") == 0 )\n\t\treturn;\n\n\t// No folding implemented: doesn't make sense for ASN.1\n}\n\nstatic const char * const asn1WordLists[] = {\n\t\"Keywords\",\n\t\"Attributes\",\n\t\"Descriptors\",\n\t\"Types\",\n\t0, };\n\n\nLexerModule lmAsn1(SCLEX_ASN1, ColouriseAsn1Doc, \"asn1\", FoldAsn1Doc, asn1WordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexBaan.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexBaan.cxx\n** Lexer for Baan.\n** Based heavily on LexCPP.cxx\n**/\n// Copyright 2001- by Vamsi Potluru <vamsi@who.net> & Praveen Ambekar <ambekarpraveen@yahoo.com>\n// Maintainer Email: oirfeodent@yahoo.co.in\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// C standard library\n#include <stdlib.h>\n#include <string.h>\n\n// C++ wrappers of C standard library\n#include <cassert>\n\n// C++ standard library\n#include <string>\n#include <map>\n\n// Scintilla headers\n\n// Non-platform-specific headers\n\n// include\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n// lexlib\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n// Use an unnamed namespace to protect the functions and classes from name conflicts\n\n// Options used for LexerBaan\nstruct OptionsBaan {\n\tbool fold;\n\tbool foldComment;\n\tbool foldPreprocessor;\n\tbool foldCompact;\n\tbool baanFoldSyntaxBased;\n\tbool baanFoldKeywordsBased;\n\tbool baanFoldSections;\n\tbool baanFoldInnerLevel;\n\tbool baanStylingWithinPreprocessor;\n\tOptionsBaan() {\n\t\tfold = false;\n\t\tfoldComment = false;\n\t\tfoldPreprocessor = false;\n\t\tfoldCompact = false;\n\t\tbaanFoldSyntaxBased = false;\n\t\tbaanFoldKeywordsBased = false;\n\t\tbaanFoldSections = false;\n\t\tbaanFoldInnerLevel = false;\n\t\tbaanStylingWithinPreprocessor = false;\n\t}\n};\n\nconst char *const baanWordLists[] = {\n\t\"Baan & BaanSQL Reserved Keywords \",\n\t\"Baan Standard functions\",\n\t\"Baan Functions Abridged\",\n\t\"Baan Main Sections \",\n\t\"Baan Sub Sections\",\n\t\"PreDefined Variables\",\n\t\"PreDefined Attributes\",\n\t\"Enumerates\",\n\t0,\n};\n\nstruct OptionSetBaan : public OptionSet<OptionsBaan> {\n\tOptionSetBaan() {\n\t\tDefineProperty(\"fold\", &OptionsBaan::fold);\n\n\t\tDefineProperty(\"fold.comment\", &OptionsBaan::foldComment);\n\n\t\tDefineProperty(\"fold.preprocessor\", &OptionsBaan::foldPreprocessor);\n\n\t\tDefineProperty(\"fold.compact\", &OptionsBaan::foldCompact);\n\n\t\tDefineProperty(\"fold.baan.syntax.based\", &OptionsBaan::baanFoldSyntaxBased,\n\t\t\t\"Set this property to 0 to disable syntax based folding, which is folding based on '{' & '('.\");\n\n\t\tDefineProperty(\"fold.baan.keywords.based\", &OptionsBaan::baanFoldKeywordsBased,\n\t\t\t\"Set this property to 0 to disable keywords based folding, which is folding based on \"\n\t\t\t\" for, if, on (case), repeat, select, while and fold ends based on endfor, endif, endcase, until, endselect, endwhile respectively.\"\n\t\t\t\"Also folds declarations which are grouped together.\");\n\n\t\tDefineProperty(\"fold.baan.sections\", &OptionsBaan::baanFoldSections,\n\t\t\t\"Set this property to 0 to disable folding of Main Sections as well as Sub Sections.\");\n\n\t\tDefineProperty(\"fold.baan.inner.level\", &OptionsBaan::baanFoldInnerLevel,\n\t\t\t\"Set this property to 1 to enable folding of inner levels of select statements.\"\n\t\t\t\"Disabled by default. case and if statements are also eligible\" );\n\n\t\tDefineProperty(\"lexer.baan.styling.within.preprocessor\", &OptionsBaan::baanStylingWithinPreprocessor,\n\t\t\t\"For Baan code, determines whether all preprocessor code is styled in the \"\n\t\t\t\"preprocessor style (0, the default) or only from the initial # to the end \"\n\t\t\t\"of the command word(1).\");\n\n\t\tDefineWordListSets(baanWordLists);\n\t}\n};\n\nstatic inline bool IsAWordChar(const int  ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch == '$');\n}\n\nstatic inline bool IsAnOperator(int ch) {\n\tif (IsAlphaNumeric(ch))\n\t\treturn false;\n\tif (ch == '#' || ch == '^' || ch == '&' || ch == '*' ||\n\t\tch == '(' || ch == ')' || ch == '-' || ch == '+' ||\n\t\tch == '=' || ch == '|' || ch == '{' || ch == '}' ||\n\t\tch == '[' || ch == ']' || ch == ':' || ch == ';' ||\n\t\tch == '<' || ch == '>' || ch == ',' || ch == '/' ||\n\t\tch == '?' || ch == '!' || ch == '\"' || ch == '~' ||\n\t\tch == '\\\\')\n\t\treturn true;\n\treturn false;\n}\n\nstatic inline int IsAnyOtherIdentifier(char *s, Sci_Position sLength) {\n\n\t/*\tIsAnyOtherIdentifier uses standard templates used in baan.\n\tThe matching template is shown as comments just above the return condition.\n\t^ - refers to any character [a-z].\n\t# - refers to any number [0-9].\n\tOther characters shown are compared as is.\n\tTried implementing with Regex... it was too complicated for me.\n\tAny other implementation suggestion welcome.\n\t*/\n\tswitch (sLength) {\n\tcase 8:\n\t\tif (isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) {\n\t\t\t//^^^^^###\n\t\t\treturn(SCE_BAAN_TABLEDEF);\n\t\t}\n\t\tbreak;\n\tcase 9:\n\t\tif (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])) {\n\t\t\t//t^^^^^###\n\t\t\treturn(SCE_BAAN_TABLEDEF);\n\t\t}\n\t\telse 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])) {\n\t\t\t//^^^^^###.\n\t\t\treturn(SCE_BAAN_TABLESQL);\n\t\t}\n\t\tbreak;\n\tcase 13:\n\t\tif (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])) {\n\t\t\t//^^^^^###.****\n\t\t\treturn(SCE_BAAN_TABLESQL);\n\t\t}\n\t\telse 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])) {\n\t\t\t//rcd.t^^^^^###\n\t\t\treturn(SCE_BAAN_TABLEDEF);\n\t\t}\n\t\tbreak;\n\tcase 14:\n\tcase 15:\n\t\tif (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])) {\n\t\t\tif (s[13] != ':') {\n\t\t\t\t//^^^^^###.******\n\t\t\t\treturn(SCE_BAAN_TABLESQL);\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 16:\n\tcase 17:\n\t\tif (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])) {\n\t\t\t//^^^^^###._index##\n\t\t\treturn(SCE_BAAN_TABLEDEF);\n\t\t}\n\t\telse 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])) {\n\t\t\t//^^^^^###._compnr\n\t\t\treturn(SCE_BAAN_TABLEDEF);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\tif (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])) {\n\t\t//^^^^^.dll####.\n\t\treturn(SCE_BAAN_FUNCTION);\n\t}\n\telse 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])) {\n\t\t//^^int.dll^^^^^.\n\t\treturn(SCE_BAAN_FUNCTION);\n\t}\n\telse 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])) {\n\t\t//i^^^^^####.\n\t\treturn(SCE_BAAN_FUNCTION);\n\t}\n\n\treturn(SCE_BAAN_DEFAULT);\n}\n\nstatic bool IsCommentLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\t\tif (ch == '|' && style == SCE_BAAN_COMMENT)\n\t\t\treturn true;\n\t\telse if (!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic bool IsPreProcLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\t\tif (ch == '#' && style == SCE_BAAN_PREPROCESSOR) {\n\t\t\tif (styler.Match(i, \"#elif\") || styler.Match(i, \"#else\") || styler.Match(i, \"#endif\")\n\t\t\t\t|| styler.Match(i, \"#if\") || styler.Match(i, \"#ifdef\") || styler.Match(i, \"#ifndef\"))\n\t\t\t\t// Above PreProcessors has a seperate fold mechanism.\n\t\t\t\treturn false;\n\t\t\telse\n\t\t\t\treturn true;\n\t\t}\n\t\telse if (ch == '^')\n\t\t\treturn true;\n\t\telse if (!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic int mainOrSubSectionLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\t\tif (style == SCE_BAAN_WORD5 || style == SCE_BAAN_WORD4)\n\t\t\treturn style;\n\t\telse if (IsASpaceOrTab(ch))\n\t\t\tcontinue;\n\t\telse\n\t\t\tbreak;\n\t}\n\treturn 0;\n}\n\nstatic bool priorSectionIsSubSection(Sci_Position line, LexAccessor &styler){\n\twhile (line > 0) {\n\t\tSci_Position pos = styler.LineStart(line);\n\t\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\t\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\t\tchar ch = styler[i];\n\t\t\tint style = styler.StyleAt(i);\n\t\t\tif (style == SCE_BAAN_WORD4)\n\t\t\t\treturn true;\n\t\t\telse if (style == SCE_BAAN_WORD5)\n\t\t\t\treturn false;\n\t\t\telse if (IsASpaceOrTab(ch))\n\t\t\t\tcontinue;\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t\tline--;\n\t}\n\treturn false;\n}\n\nstatic bool nextSectionIsSubSection(Sci_Position line, LexAccessor &styler) {\n\twhile (line > 0) {\n\t\tSci_Position pos = styler.LineStart(line);\n\t\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\t\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\t\tchar ch = styler[i];\n\t\t\tint style = styler.StyleAt(i);\n\t\t\tif (style == SCE_BAAN_WORD4)\n\t\t\t\treturn true;\n\t\t\telse if (style == SCE_BAAN_WORD5)\n\t\t\t\treturn false;\n\t\t\telse if (IsASpaceOrTab(ch))\n\t\t\t\tcontinue;\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t\tline++;\n\t}\n\treturn false;\n}\n\nstatic bool IsDeclarationLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\t\tif (style == SCE_BAAN_WORD) {\n\t\t\tif (styler.Match(i, \"table\") || styler.Match(i, \"extern\") || styler.Match(i, \"long\")\n\t\t\t\t|| styler.Match(i, \"double\") || styler.Match(i, \"boolean\") || styler.Match(i, \"string\")\n\t\t\t\t|| styler.Match(i, \"domain\")) {\n\t\t\t\tfor (Sci_Position j = eol_pos; j > pos; j--) {\n\t\t\t\t\tint styleFromEnd = styler.StyleAt(j);\n\t\t\t\t\tif (styleFromEnd == SCE_BAAN_COMMENT)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\telse if (IsASpace(styler[j]))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\telse if (styler[j] != ',')\n\t\t\t\t\t\t//Above conditions ensures, Declaration is not part of any function parameters.\n\t\t\t\t\t\treturn true;\n\t\t\t\t\telse\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn false;\n\t\t}\n\t\telse if (!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic bool IsInnerLevelFold(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\t\tif (style == SCE_BAAN_WORD && (styler.Match(i, \"else\" ) || styler.Match(i, \"case\")\n\t\t\t|| styler.Match(i, \"default\") || styler.Match(i, \"selectdo\") || styler.Match(i, \"selecteos\")\n\t\t\t|| styler.Match(i, \"selectempty\") || styler.Match(i, \"selecterror\")))\n\t\t\treturn true;\n\t\telse if (IsASpaceOrTab(ch))\n\t\t\tcontinue;\n\t\telse\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic inline bool wordInArray(const std::string& value, std::string *array, int length)\n{\n\tfor (int i = 0; i < length; i++)\n\t{\n\t\tif (value == array[i])\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nclass WordListAbridged : public WordList {\npublic:\n\tWordListAbridged() {\n\t\tkwAbridged = false;\n\t\tkwHasSection = false;\n\t};\n\t~WordListAbridged() {\n\t\tClear();\n\t};\n\tbool kwAbridged;\n\tbool kwHasSection;\n\tbool Contains(const char *s) {\n\t\treturn kwAbridged ? InListAbridged(s, '~') : InList(s);\n\t};\n};\n\n}\n\nclass LexerBaan : public DefaultLexer {\n\tWordListAbridged keywords;\n\tWordListAbridged keywords2;\n\tWordListAbridged keywords3;\n\tWordListAbridged keywords4;\n\tWordListAbridged keywords5;\n\tWordListAbridged keywords6;\n\tWordListAbridged keywords7;\n\tWordListAbridged keywords8;\n\tWordListAbridged keywords9;\n\tOptionsBaan options;\n\tOptionSetBaan osBaan;\npublic:\n\tLexerBaan() {\n\t}\n\n\tvirtual ~LexerBaan() {\n\t}\n\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osBaan.PropertyNames();\n\t}\n\n\tint SCI_METHOD PropertyType(const char * name) override {\n\t\treturn osBaan.PropertyType(name);\n\t}\n\n\tconst char * SCI_METHOD DescribeProperty(const char * name) override {\n\t\treturn osBaan.DescribeProperty(name);\n\t}\n\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osBaan.DescribeWordListSets();\n\t}\n\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn NULL;\n\t}\n\n\tstatic ILexer * LexerFactoryBaan() {\n\t\treturn new LexerBaan();\n\t}\n};\n\nSci_Position SCI_METHOD LexerBaan::PropertySet(const char *key, const char *val) {\n\tif (osBaan.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerBaan::WordListSet(int n, const char *wl) {\n\tWordListAbridged *WordListAbridgedN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\tWordListAbridgedN = &keywords;\n\t\tbreak;\n\tcase 1:\n\t\tWordListAbridgedN = &keywords2;\n\t\tbreak;\n\tcase 2:\n\t\tWordListAbridgedN = &keywords3;\n\t\tbreak;\n\tcase 3:\n\t\tWordListAbridgedN = &keywords4;\n\t\tbreak;\n\tcase 4:\n\t\tWordListAbridgedN = &keywords5;\n\t\tbreak;\n\tcase 5:\n\t\tWordListAbridgedN = &keywords6;\n\t\tbreak;\n\tcase 6:\n\t\tWordListAbridgedN = &keywords7;\n\t\tbreak;\n\tcase 7:\n\t\tWordListAbridgedN = &keywords8;\n\t\tbreak;\n\tcase 8:\n\t\tWordListAbridgedN = &keywords9;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (WordListAbridgedN) {\n\t\tWordListAbridged wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*WordListAbridgedN != wlNew) {\n\t\t\tWordListAbridgedN->Set(wl);\n\t\t\tWordListAbridgedN->kwAbridged = strchr(wl, '~') != NULL;\n\t\t\tWordListAbridgedN->kwHasSection = strchr(wl, ':') != NULL;\n\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerBaan::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n\tif (initStyle == SCE_BAAN_STRINGEOL)\t// Does not leak onto next line\n\t\tinitStyle = SCE_BAAN_DEFAULT;\n\n\tint visibleChars = 0;\n\tbool lineHasDomain = false;\n\tbool lineHasFunction = false;\n\tbool lineHasPreProc = false;\n\tbool lineIgnoreString = false;\n\tbool lineHasDefines = false;\n\tbool numberIsHex = false;\n\tchar word[1000];\n\tint wordlen = 0;\n\n\tstd::string preProcessorTags[13] = { \"#context_off\", \"#context_on\",\n\t\t\"#define\", \"#elif\", \"#else\", \"#endif\",\n\t\t\"#ident\", \"#if\", \"#ifdef\", \"#ifndef\",\n\t\t\"#include\", \"#pragma\", \"#undef\" };\n\tLexAccessor styler(pAccess);\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\tcase SCE_BAAN_OPERATOR:\n\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\tbreak;\n\t\tcase SCE_BAAN_NUMBER:\n\t\t\tif (IsASpaceOrTab(sc.ch) || sc.ch == '\\r' || sc.ch == '\\n' || IsAnOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\telse if ((numberIsHex && !(MakeLowerCase(sc.ch) == 'x' || MakeLowerCase(sc.ch) == 'e' ||\n\t\t\t\tIsADigit(sc.ch, 16) || sc.ch == '.' || sc.ch == '-' || sc.ch == '+')) ||\n\t\t\t\t(!numberIsHex && !(MakeLowerCase(sc.ch) == 'e' || IsADigit(sc.ch)\n\t\t\t\t|| sc.ch == '.' || sc.ch == '-' || sc.ch == '+'))) {\n\t\t\t\t\t// check '-' for possible -10e-5. Add '+' as well.\n\t\t\t\t\tnumberIsHex = false;\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_IDENTIFIER);\n\t\t\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_BAAN_IDENTIFIER:\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[1000];\n\t\t\t\tchar s1[1000];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (sc.ch == ':') {\n\t\t\t\t\tmemcpy(s1, s, sizeof(s));\n\t\t\t\t\ts1[sc.LengthCurrent()] = sc.ch;\n\t\t\t\t\ts1[sc.LengthCurrent() + 1] = '\\0';\n\t\t\t\t}\n\t\t\t\tif ((keywords.kwHasSection && (sc.ch == ':')) ? keywords.Contains(s1) : keywords.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD);\n\t\t\t\t\tif (0 == strcmp(s, \"domain\")) {\n\t\t\t\t\t\tlineHasDomain = true;\n\t\t\t\t\t}\n\t\t\t\t\telse if (0 == strcmp(s, \"function\")) {\n\t\t\t\t\t\tlineHasFunction = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (lineHasDomain) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_DOMDEF);\n\t\t\t\t\tlineHasDomain = false;\n\t\t\t\t}\n\t\t\t\telse if (lineHasFunction) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_FUNCDEF);\n\t\t\t\t\tlineHasFunction = false;\n\t\t\t\t}\n\t\t\t\telse if ((keywords2.kwHasSection && (sc.ch == ':')) ? keywords2.Contains(s1) : keywords2.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD2);\n\t\t\t\t}\n\t\t\t\telse if ((keywords3.kwHasSection && (sc.ch == ':')) ? keywords3.Contains(s1) : keywords3.Contains(s)) {\n\t\t\t\t\tif (sc.ch == '(')\n\t\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD3);\n\t\t\t\t\telse\n\t\t\t\t\t\tsc.ChangeState(SCE_BAAN_IDENTIFIER);\n\t\t\t\t}\n\t\t\t\telse if ((keywords4.kwHasSection && (sc.ch == ':')) ? keywords4.Contains(s1) : keywords4.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD4);\n\t\t\t\t}\n\t\t\t\telse if ((keywords5.kwHasSection && (sc.ch == ':')) ? keywords5.Contains(s1) : keywords5.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD5);\n\t\t\t\t}\n\t\t\t\telse if ((keywords6.kwHasSection && (sc.ch == ':')) ? keywords6.Contains(s1) : keywords6.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD6);\n\t\t\t\t}\n\t\t\t\telse if ((keywords7.kwHasSection && (sc.ch == ':')) ? keywords7.Contains(s1) : keywords7.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD7);\n\t\t\t\t}\n\t\t\t\telse if ((keywords8.kwHasSection && (sc.ch == ':')) ? keywords8.Contains(s1) : keywords8.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD8);\n\t\t\t\t}\n\t\t\t\telse if ((keywords9.kwHasSection && (sc.ch == ':')) ? keywords9.Contains(s1) : keywords9.Contains(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_WORD9);\n\t\t\t\t}\n\t\t\t\telse if (lineHasPreProc) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_OBJECTDEF);\n\t\t\t\t\tlineHasPreProc = false;\n\t\t\t\t}\n\t\t\t\telse if (lineHasDefines) {\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_DEFINEDEF);\n\t\t\t\t\tlineHasDefines = false;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tint state = IsAnyOtherIdentifier(s, sc.LengthCurrent());\n\t\t\t\t\tif (state > 0) {\n\t\t\t\t\t\tsc.ChangeState(state);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_BAAN_PREPROCESSOR:\n\t\t\tif (options.baanStylingWithinPreprocessor) {\n\t\t\t\tif (IsASpace(sc.ch) || IsAnOperator(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (sc.atLineEnd && (sc.chNext != '^')) {\n\t\t\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_BAAN_COMMENT:\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\tsc.SetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_BAAN_COMMENTDOC:\n\t\t\tif (sc.MatchIgnoreCase(\"enddllusage\")) {\n\t\t\t\tfor (unsigned int i = 0; i < 10; i++) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.ForwardSetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\telse if (sc.MatchIgnoreCase(\"endfunctionusage\")) {\n\t\t\t\tfor (unsigned int i = 0; i < 15; i++) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.ForwardSetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_BAAN_STRING:\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_BAAN_DEFAULT);\n\t\t\t}\n\t\t\telse if ((sc.atLineEnd) && (sc.chNext != '^')) {\n\t\t\t\tsc.ChangeState(SCE_BAAN_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_BAAN_DEFAULT);\n\t\t\t\tvisibleChars = 0;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_BAAN_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))\n\t\t\t\t|| ((sc.ch == '-' || sc.ch == '+') && (IsADigit(sc.chNext) || sc.chNext == '.'))\n\t\t\t\t|| (MakeLowerCase(sc.ch) == 'e' && (IsADigit(sc.chNext) || sc.chNext == '+' || sc.chNext == '-'))) {\n\t\t\t\tif ((sc.ch == '0' && MakeLowerCase(sc.chNext) == 'x') ||\n\t\t\t\t\t((sc.ch == '-' || sc.ch == '+') && sc.chNext == '0' && MakeLowerCase(sc.GetRelativeCharacter(2)) == 'x')){\n\t\t\t\t\tnumberIsHex = true;\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_BAAN_NUMBER);\n\t\t\t}\n\t\t\telse if (sc.MatchIgnoreCase(\"dllusage\") || sc.MatchIgnoreCase(\"functionusage\")) {\n\t\t\t\tsc.SetState(SCE_BAAN_COMMENTDOC);\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((!sc.atLineEnd) && sc.More());\n\t\t\t}\n\t\t\telse if (iswordstart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_BAAN_IDENTIFIER);\n\t\t\t}\n\t\t\telse if (sc.Match('|')) {\n\t\t\t\tsc.SetState(SCE_BAAN_COMMENT);\n\t\t\t}\n\t\t\telse if (sc.ch == '\\\"' && !(lineIgnoreString)) {\n\t\t\t\tsc.SetState(SCE_BAAN_STRING);\n\t\t\t}\n\t\t\telse if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\t// Preprocessor commands are alone on their line\n\t\t\t\tsc.SetState(SCE_BAAN_PREPROCESSOR);\n\t\t\t\tword[0] = '\\0';\n\t\t\t\twordlen = 0;\n\t\t\t\twhile (sc.More() && !(IsASpace(sc.chNext) || IsAnOperator(sc.chNext))) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\twordlen++;\n\t\t\t\t}\n\t\t\t\tsc.GetCurrentLowered(word, sizeof(word));\n\t\t\t\tif (!sc.atLineEnd) {\n\t\t\t\t\tword[wordlen++] = sc.ch;\n\t\t\t\t\tword[wordlen++] = '\\0';\n\t\t\t\t}\n\t\t\t\tif (!wordInArray(word, preProcessorTags, 13))\n\t\t\t\t\t// Colorise only preprocessor built in Baan.\n\t\t\t\t\tsc.ChangeState(SCE_BAAN_IDENTIFIER);\n\t\t\t\tif (strcmp(word, \"#pragma\") == 0 || strcmp(word, \"#include\") == 0) {\n\t\t\t\t\tlineHasPreProc = true;\n\t\t\t\t\tlineIgnoreString = true;\n\t\t\t\t}\n\t\t\t\telse if (strcmp(word, \"#define\") == 0 || strcmp(word, \"#undef\") == 0 ||\n\t\t\t\t\tstrcmp(word, \"#ifdef\") == 0 || strcmp(word, \"#if\") == 0 || strcmp(word, \"#ifndef\") == 0) {\n\t\t\t\t\tlineHasDefines = true;\n\t\t\t\t\tlineIgnoreString = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (IsAnOperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_BAAN_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\t// Reset states to begining of colourise so no surprises\n\t\t\t// if different sets of lines lexed.\n\t\t\tvisibleChars = 0;\n\t\t\tlineHasDomain = false;\n\t\t\tlineHasFunction = false;\n\t\t\tlineHasPreProc = false;\n\t\t\tlineIgnoreString = false;\n\t\t\tlineHasDefines = false;\n\t\t\tnumberIsHex = false;\n\t\t}\n\t\tif (!IsASpace(sc.ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nvoid SCI_METHOD LexerBaan::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tif (!options.fold)\n\t\treturn;\n\n\tchar word[100];\n\tint wordlen = 0;\n\tbool foldStart = true;\n\tbool foldNextSelect = true;\n\tbool afterFunctionSection = false;\n\tbool beforeDeclarationSection = false;\n\tint currLineStyle = 0;\n\tint nextLineStyle = 0;\n\n\tstd::string startTags[6] = { \"for\", \"if\", \"on\", \"repeat\", \"select\", \"while\" };\n\tstd::string endTags[6] = { \"endcase\", \"endfor\", \"endif\", \"endselect\", \"endwhile\", \"until\" };\n\tstd::string selectCloseTags[5] = { \"selectdo\", \"selecteos\", \"selectempty\", \"selecterror\", \"endselect\" };\n\n\tLexAccessor styler(pAccess);\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\n\t// Backtrack to previous line in case need to fix its fold status\n\tif (startPos > 0) {\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t}\n\n\tint levelPrev = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelPrev = styler.LevelAt(lineCurrent - 1) >> 16;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint style = initStyle;\n\tint styleNext = styler.StyleAt(startPos);\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tint stylePrev = (i) ? styler.StyleAt(i - 1) : SCE_BAAN_DEFAULT;\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\t// Comment folding\n\t\tif (options.foldComment && style == SCE_BAAN_COMMENTDOC) {\n\t\t\tif (style != stylePrev) {\n\t\t\t\tlevelCurrent++;\n\t\t\t}\n\t\t\telse if (style != styleNext) {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (options.foldComment && atEOL && IsCommentLine(lineCurrent, styler)) {\n\t\t\tif (!IsCommentLine(lineCurrent - 1, styler)\n\t\t\t\t&& IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (IsCommentLine(lineCurrent - 1, styler)\n\t\t\t\t&& !IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\t// PreProcessor Folding\n\t\tif (options.foldPreprocessor) {\n\t\t\tif (atEOL && IsPreProcLine(lineCurrent, styler)) {\n\t\t\t\tif (!IsPreProcLine(lineCurrent - 1, styler)\n\t\t\t\t\t&& IsPreProcLine(lineCurrent + 1, styler))\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\telse if (IsPreProcLine(lineCurrent - 1, styler)\n\t\t\t\t\t&& !IsPreProcLine(lineCurrent + 1, styler))\n\t\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t\telse if (style == SCE_BAAN_PREPROCESSOR) {\n\t\t\t\t// folds #ifdef/#if/#ifndef - they are not part of the IsPreProcLine folding.\n\t\t\t\tif (ch == '#') {\n\t\t\t\t\tif (styler.Match(i, \"#ifdef\") || styler.Match(i, \"#if\") || styler.Match(i, \"#ifndef\")\n\t\t\t\t\t\t|| styler.Match(i, \"#context_on\"))\n\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\telse if (styler.Match(i, \"#endif\") || styler.Match(i, \"#context_off\"))\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//Syntax Folding\n\t\tif (options.baanFoldSyntaxBased && (style == SCE_BAAN_OPERATOR)) {\n\t\t\tif (ch == '{' || ch == '(') {\n\t\t\t\tlevelCurrent++;\n\t\t\t}\n\t\t\telse if (ch == '}' || ch == ')') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\t//Keywords Folding\n\t\tif (options.baanFoldKeywordsBased) {\n\t\t\tif (atEOL && IsDeclarationLine(lineCurrent, styler)) {\n\t\t\t\tif (!IsDeclarationLine(lineCurrent - 1, styler)\n\t\t\t\t\t&& IsDeclarationLine(lineCurrent + 1, styler))\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\telse if (IsDeclarationLine(lineCurrent - 1, styler)\n\t\t\t\t\t&& !IsDeclarationLine(lineCurrent + 1, styler))\n\t\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t\telse if (style == SCE_BAAN_WORD) {\n\t\t\t\tword[wordlen++] = static_cast<char>(MakeLowerCase(ch));\n\t\t\t\tif (wordlen == 100) {                   // prevent overflow\n\t\t\t\t\tword[0] = '\\0';\n\t\t\t\t\twordlen = 1;\n\t\t\t\t}\n\t\t\t\tif (styleNext != SCE_BAAN_WORD) {\n\t\t\t\t\tword[wordlen] = '\\0';\n\t\t\t\t\twordlen = 0;\n\t\t\t\t\tif (strcmp(word, \"for\") == 0) {\n\t\t\t\t\t\tSci_PositionU j = i + 1;\n\t\t\t\t\t\twhile ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\t\t\tj++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (styler.Match(j, \"update\")) {\n\t\t\t\t\t\t\t// Means this is a \"for update\" used by Select which is already folded.\n\t\t\t\t\t\t\tfoldStart = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (strcmp(word, \"on\") == 0) {\n\t\t\t\t\t\tSci_PositionU j = i + 1;\n\t\t\t\t\t\twhile ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\t\t\tj++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!styler.Match(j, \"case\")) {\n\t\t\t\t\t\t\t// Means this is not a \"on Case\" statement... could be \"on\" used by index.\n\t\t\t\t\t\t\tfoldStart = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (strcmp(word, \"select\") == 0) {\n\t\t\t\t\t\tif (foldNextSelect) {\n\t\t\t\t\t\t\t// Next Selects are sub-clause till reach of selectCloseTags[] array.\n\t\t\t\t\t\t\tfoldNextSelect = false;\n\t\t\t\t\t\t\tfoldStart = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfoldNextSelect = false;\n\t\t\t\t\t\t\tfoldStart = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (wordInArray(word, selectCloseTags, 5)) {\n\t\t\t\t\t\t// select clause ends, next select clause can be folded.\n\t\t\t\t\t\tfoldNextSelect = true;\n\t\t\t\t\t\tfoldStart = true;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tfoldStart = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (foldStart) {\n\t\t\t\t\t\tif (wordInArray(word, startTags, 6)) {\n\t\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (wordInArray(word, endTags, 6)) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Fold inner level of if/select/case statements\n\t\tif (options.baanFoldInnerLevel && atEOL) {\n\t\t\tbool currLineInnerLevel = IsInnerLevelFold(lineCurrent, styler);\n\t\t\tbool nextLineInnerLevel = IsInnerLevelFold(lineCurrent + 1, styler);\n\t\t\tif (currLineInnerLevel && currLineInnerLevel != nextLineInnerLevel) {\n\t\t\t\tlevelCurrent++;\n\t\t\t}\n\t\t\telse if (nextLineInnerLevel && nextLineInnerLevel != currLineInnerLevel) {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\t// Section Foldings.\n\t\t// One way of implementing Section Foldings, as there is no END markings of sections.\n\t\t// first section ends on the previous line of next section.\n\t\t// Re-written whole folding to accomodate this.\n\t\tif (options.baanFoldSections && atEOL) {\n\t\t\tcurrLineStyle = mainOrSubSectionLine(lineCurrent, styler);\n\t\t\tnextLineStyle = mainOrSubSectionLine(lineCurrent + 1, styler);\n\t\t\tif (currLineStyle != 0 && currLineStyle != nextLineStyle) {\n\t\t\t\tif (levelCurrent < levelPrev)\n\t\t\t\t\t--levelPrev;\n\t\t\t\tfor (Sci_Position j = styler.LineStart(lineCurrent); j < styler.LineStart(lineCurrent + 1) - 1; j++) {\n\t\t\t\t\tif (IsASpaceOrTab(styler[j]))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\telse if (styler.StyleAt(j) == SCE_BAAN_WORD5) {\n\t\t\t\t\t\tif (styler.Match(j, \"functions:\")) {\n\t\t\t\t\t\t\t// Means functions: is the end of MainSections.\n\t\t\t\t\t\t\t// Nothing to fold after this.\n\t\t\t\t\t\t\tafterFunctionSection = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tafterFunctionSection = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tafterFunctionSection = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!afterFunctionSection)\n\t\t\t\t\tlevelCurrent++;\n\t\t\t}\n\t\t\telse if (nextLineStyle != 0 && currLineStyle != nextLineStyle\n\t\t\t\t&& (priorSectionIsSubSection(lineCurrent -1 ,styler)\n\t\t\t\t\t|| !nextSectionIsSubSection(lineCurrent + 1, styler))) {\n\t\t\t\tfor (Sci_Position j = styler.LineStart(lineCurrent + 1); j < styler.LineStart(lineCurrent + 1 + 1) - 1; j++) {\n\t\t\t\t\tif (IsASpaceOrTab(styler[j]))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\telse if (styler.StyleAt(j) == SCE_BAAN_WORD5) {\n\t\t\t\t\t\tif (styler.Match(j, \"declaration:\")) {\n\t\t\t\t\t\t\t// Means declaration: is the start of MainSections.\n\t\t\t\t\t\t\t// Nothing to fold before this.\n\t\t\t\t\t\t\tbeforeDeclarationSection = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tbeforeDeclarationSection = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tbeforeDeclarationSection = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!beforeDeclarationSection) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\tif (nextLineStyle == SCE_BAAN_WORD5 && priorSectionIsSubSection(lineCurrent-1, styler))\n\t\t\t\t\t\t// next levelCurrent--; is to unfold previous subsection fold.\n\t\t\t\t\t\t// On reaching the next main section, the previous main as well sub section ends.\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tlev |= levelCurrent << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nLexerModule lmBaan(SCLEX_BAAN, LexerBaan::LexerFactoryBaan, \"baan\", baanWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexBash.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexBash.cxx\n ** Lexer for Bash.\n **/\n// Copyright 2004-2012 by Neil Hodgson <neilh@scintilla.org>\n// Adapted from LexPerl by Kein-Hong Man 2004\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n#define HERE_DELIM_MAX\t\t\t256\n\n// define this if you want 'invalid octals' to be marked as errors\n// usually, this is not a good idea, permissive lexing is better\n#undef PEDANTIC_OCTAL\n\n#define BASH_BASE_ERROR\t\t\t65\n#define BASH_BASE_DECIMAL\t\t66\n#define BASH_BASE_HEX\t\t\t67\n#ifdef PEDANTIC_OCTAL\n#define BASH_BASE_OCTAL\t\t\t68\n#define\tBASH_BASE_OCTAL_ERROR\t69\n#endif\n\n// state constants for parts of a bash command segment\n#define\tBASH_CMD_BODY\t\t\t0\n#define BASH_CMD_START\t\t\t1\n#define BASH_CMD_WORD\t\t\t2\n#define BASH_CMD_TEST\t\t\t3\n#define BASH_CMD_ARITH\t\t\t4\n#define BASH_CMD_DELIM\t\t\t5\n\n// state constants for nested delimiter pairs, used by\n// SCE_SH_STRING and SCE_SH_BACKTICKS processing\n#define BASH_DELIM_LITERAL\t\t0\n#define BASH_DELIM_STRING\t\t1\n#define BASH_DELIM_CSTRING\t\t2\n#define BASH_DELIM_LSTRING\t\t3\n#define BASH_DELIM_COMMAND\t\t4\n#define BASH_DELIM_BACKTICK\t\t5\n\n#define BASH_DELIM_STACK_MAX\t7\n\nstatic inline int translateBashDigit(int ch) {\n\tif (ch >= '0' && ch <= '9') {\n\t\treturn ch - '0';\n\t} else if (ch >= 'a' && ch <= 'z') {\n\t\treturn ch - 'a' + 10;\n\t} else if (ch >= 'A' && ch <= 'Z') {\n\t\treturn ch - 'A' + 36;\n\t} else if (ch == '@') {\n\t\treturn 62;\n\t} else if (ch == '_') {\n\t\treturn 63;\n\t}\n\treturn BASH_BASE_ERROR;\n}\n\nstatic inline int getBashNumberBase(char *s) {\n\tint i = 0;\n\tint base = 0;\n\twhile (*s) {\n\t\tbase = base * 10 + (*s++ - '0');\n\t\ti++;\n\t}\n\tif (base > 64 || i > 2) {\n\t\treturn BASH_BASE_ERROR;\n\t}\n\treturn base;\n}\n\nstatic int opposite(int ch) {\n\tif (ch == '(') return ')';\n\tif (ch == '[') return ']';\n\tif (ch == '{') return '}';\n\tif (ch == '<') return '>';\n\treturn ch;\n}\n\nstatic int GlobScan(StyleContext &sc) {\n\t// forward scan for zsh globs, disambiguate versus bash arrays\n\t// complex expressions may still fail, e.g. unbalanced () '' \"\" etc\n\tint c, sLen = 0;\n\tint pCount = 0;\n\tint hash = 0;\n\twhile ((c = sc.GetRelativeCharacter(++sLen)) != 0) {\n\t\tif (IsASpace(c)) {\n\t\t\treturn 0;\n\t\t} else if (c == '\\'' || c == '\\\"') {\n\t\t\tif (hash != 2) return 0;\n\t\t} else if (c == '#' && hash == 0) {\n\t\t\thash = (sLen == 1) ? 2:1;\n\t\t} else if (c == '(') {\n\t\t\tpCount++;\n\t\t} else if (c == ')') {\n\t\t\tif (pCount == 0) {\n\t\t\t\tif (hash) return sLen;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tpCount--;\n\t\t}\n\t}\n\treturn 0;\n}\n\nstatic void ColouriseBashDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t\t\t WordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList cmdDelimiter, bashStruct, bashStruct_in;\n\tcmdDelimiter.Set(\"| || |& & && ; ;; ( ) { }\");\n\tbashStruct.Set(\"if elif fi while until else then do done esac eval\");\n\tbashStruct_in.Set(\"for case select\");\n\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\");\n\t// note that [+-] are often parts of identifiers in shell scripts\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"._+-\");\n\tCharacterSet setMetaCharacter(CharacterSet::setNone, \"|&;()<> \\t\\r\\n\");\n\tsetMetaCharacter.Add(0);\n\tCharacterSet setBashOperator(CharacterSet::setNone, \"^&%()-+=|{}[]:;>,*/<?!.~@\");\n\tCharacterSet setSingleCharOp(CharacterSet::setNone, \"rwxoRWXOezsfdlpSbctugkTBMACahGLNn\");\n\tCharacterSet setParam(CharacterSet::setAlphaNum, \"$_\");\n\tCharacterSet setHereDoc(CharacterSet::setAlpha, \"_\\\\-+!%*,./:?@[]^`{}~\");\n\tCharacterSet setHereDoc2(CharacterSet::setAlphaNum, \"_-+!%*,./:=?@[]^`{}~\");\n\tCharacterSet setLeftShift(CharacterSet::setDigits, \"$\");\n\n\tclass HereDocCls {\t// Class to manage HERE document elements\n\tpublic:\n\t\tint State;\t\t// 0: '<<' encountered\n\t\t// 1: collect the delimiter\n\t\t// 2: here doc text (lines after the delimiter)\n\t\tint Quote;\t\t// the char after '<<'\n\t\tbool Quoted;\t\t// true if Quote in ('\\'','\"','`')\n\t\tbool Indent;\t\t// indented delimiter (for <<-)\n\t\tint DelimiterLength;\t// strlen(Delimiter)\n\t\tchar Delimiter[HERE_DELIM_MAX];\t// the Delimiter\n\t\tHereDocCls() {\n\t\t\tState = 0;\n\t\t\tQuote = 0;\n\t\t\tQuoted = false;\n\t\t\tIndent = 0;\n\t\t\tDelimiterLength = 0;\n\t\t\tDelimiter[0] = '\\0';\n\t\t}\n\t\tvoid Append(int ch) {\n\t\t\tDelimiter[DelimiterLength++] = static_cast<char>(ch);\n\t\t\tDelimiter[DelimiterLength] = '\\0';\n\t\t}\n\t\t~HereDocCls() {\n\t\t}\n\t};\n\tHereDocCls HereDoc;\n\n\tclass QuoteCls {\t// Class to manage quote pairs (simplified vs LexPerl)\n\t\tpublic:\n\t\tint Count;\n\t\tint Up, Down;\n\t\tQuoteCls() {\n\t\t\tCount = 0;\n\t\t\tUp    = '\\0';\n\t\t\tDown  = '\\0';\n\t\t}\n\t\tvoid Open(int u) {\n\t\t\tCount++;\n\t\t\tUp    = u;\n\t\t\tDown  = opposite(Up);\n\t\t}\n\t\tvoid Start(int u) {\n\t\t\tCount = 0;\n\t\t\tOpen(u);\n\t\t}\n\t};\n\tQuoteCls Quote;\n\n\tclass QuoteStackCls {\t// Class to manage quote pairs that nest\n\t\tpublic:\n\t\tint Count;\n\t\tint Up, Down;\n\t\tint Style;\n\t\tint Depth;\t\t\t// levels pushed\n\t\tint CountStack[BASH_DELIM_STACK_MAX];\n\t\tint UpStack   [BASH_DELIM_STACK_MAX];\n\t\tint StyleStack[BASH_DELIM_STACK_MAX];\n\t\tQuoteStackCls() {\n\t\t\tCount = 0;\n\t\t\tUp    = '\\0';\n\t\t\tDown  = '\\0';\n\t\t\tStyle = 0;\n\t\t\tDepth = 0;\n\t\t}\n\t\tvoid Start(int u, int s) {\n\t\t\tCount = 1;\n\t\t\tUp    = u;\n\t\t\tDown  = opposite(Up);\n\t\t\tStyle = s;\n\t\t}\n\t\tvoid Push(int u, int s) {\n\t\t\tif (Depth >= BASH_DELIM_STACK_MAX)\n\t\t\t\treturn;\n\t\t\tCountStack[Depth] = Count;\n\t\t\tUpStack   [Depth] = Up;\n\t\t\tStyleStack[Depth] = Style;\n\t\t\tDepth++;\n\t\t\tCount = 1;\n\t\t\tUp    = u;\n\t\t\tDown  = opposite(Up);\n\t\t\tStyle = s;\n\t\t}\n\t\tvoid Pop(void) {\n\t\t\tif (Depth <= 0)\n\t\t\t\treturn;\n\t\t\tDepth--;\n\t\t\tCount = CountStack[Depth];\n\t\t\tUp    = UpStack   [Depth];\n\t\t\tStyle = StyleStack[Depth];\n\t\t\tDown  = opposite(Up);\n\t\t}\n\t\t~QuoteStackCls() {\n\t\t}\n\t};\n\tQuoteStackCls QuoteStack;\n\n\tint numBase = 0;\n\tint digit;\n\tSci_PositionU endPos = startPos + length;\n\tint cmdState = BASH_CMD_START;\n\tint testExprType = 0;\n\n\t// Always backtracks to the start of a line that is not a continuation\n\t// of the previous line (i.e. start of a bash command segment)\n\tSci_Position ln = styler.GetLine(startPos);\n\tif (ln > 0 && startPos == static_cast<Sci_PositionU>(styler.LineStart(ln)))\n\t\tln--;\n\tfor (;;) {\n\t\tstartPos = styler.LineStart(ln);\n\t\tif (ln == 0 || styler.GetLineState(ln) == BASH_CMD_START)\n\t\t\tbreak;\n\t\tln--;\n\t}\n\tinitStyle = SCE_SH_DEFAULT;\n\n\tStyleContext sc(startPos, endPos - startPos, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t// handle line continuation, updates per-line stored state\n\t\tif (sc.atLineStart) {\n\t\t\tln = styler.GetLine(sc.currentPos);\n\t\t\tif (sc.state == SCE_SH_STRING\n\t\t\t || sc.state == SCE_SH_BACKTICKS\n\t\t\t || sc.state == SCE_SH_CHARACTER\n\t\t\t || sc.state == SCE_SH_HERE_Q\n\t\t\t || sc.state == SCE_SH_COMMENTLINE\n\t\t\t || sc.state == SCE_SH_PARAM) {\n\t\t\t\t// force backtrack while retaining cmdState\n\t\t\t\tstyler.SetLineState(ln, BASH_CMD_BODY);\n\t\t\t} else {\n\t\t\t\tif (ln > 0) {\n\t\t\t\t\tif ((sc.GetRelative(-3) == '\\\\' && sc.GetRelative(-2) == '\\r' && sc.chPrev == '\\n')\n\t\t\t\t\t || sc.GetRelative(-2) == '\\\\') {\t// handle '\\' line continuation\n\t\t\t\t\t\t// retain last line's state\n\t\t\t\t\t} else\n\t\t\t\t\t\tcmdState = BASH_CMD_START;\n\t\t\t\t}\n\t\t\t\tstyler.SetLineState(ln, cmdState);\n\t\t\t}\n\t\t}\n\n\t\t// controls change of cmdState at the end of a non-whitespace element\n\t\t// states BODY|TEST|ARITH persist until the end of a command segment\n\t\t// state WORD persist, but ends with 'in' or 'do' construct keywords\n\t\tint cmdStateNew = BASH_CMD_BODY;\n\t\tif (cmdState == BASH_CMD_TEST || cmdState == BASH_CMD_ARITH || cmdState == BASH_CMD_WORD)\n\t\t\tcmdStateNew = cmdState;\n\t\tint stylePrev = sc.state;\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_SH_OPERATOR:\n\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\tif (cmdState == BASH_CMD_DELIM)\t\t// if command delimiter, start new command\n\t\t\t\t\tcmdStateNew = BASH_CMD_START;\n\t\t\t\telse if (sc.chPrev == '\\\\')\t\t\t// propagate command state if line continued\n\t\t\t\t\tcmdStateNew = cmdState;\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_WORD:\n\t\t\t\t// \".\" never used in Bash variable names but used in file names\n\t\t\t\tif (!setWord.Contains(sc.ch)) {\n\t\t\t\t\tchar s[500];\n\t\t\t\t\tchar s2[10];\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t// allow keywords ending in a whitespace or command delimiter\n\t\t\t\t\ts2[0] = static_cast<char>(sc.ch);\n\t\t\t\t\ts2[1] = '\\0';\n\t\t\t\t\tbool keywordEnds = IsASpace(sc.ch) || cmdDelimiter.InList(s2);\n\t\t\t\t\t// 'in' or 'do' may be construct keywords\n\t\t\t\t\tif (cmdState == BASH_CMD_WORD) {\n\t\t\t\t\t\tif (strcmp(s, \"in\") == 0 && keywordEnds)\n\t\t\t\t\t\t\tcmdStateNew = BASH_CMD_BODY;\n\t\t\t\t\t\telse if (strcmp(s, \"do\") == 0 && keywordEnds)\n\t\t\t\t\t\t\tcmdStateNew = BASH_CMD_START;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tsc.ChangeState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t// a 'test' keyword starts a test expression\n\t\t\t\t\tif (strcmp(s, \"test\") == 0) {\n\t\t\t\t\t\tif (cmdState == BASH_CMD_START && keywordEnds) {\n\t\t\t\t\t\t\tcmdStateNew = BASH_CMD_TEST;\n\t\t\t\t\t\t\ttestExprType = 0;\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tsc.ChangeState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t\t// detect bash construct keywords\n\t\t\t\t\telse if (bashStruct.InList(s)) {\n\t\t\t\t\t\tif (cmdState == BASH_CMD_START && keywordEnds)\n\t\t\t\t\t\t\tcmdStateNew = BASH_CMD_START;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tsc.ChangeState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t\t// 'for'|'case'|'select' needs 'in'|'do' to be highlighted later\n\t\t\t\t\telse if (bashStruct_in.InList(s)) {\n\t\t\t\t\t\tif (cmdState == BASH_CMD_START && keywordEnds)\n\t\t\t\t\t\t\tcmdStateNew = BASH_CMD_WORD;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tsc.ChangeState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t\t// disambiguate option items and file test operators\n\t\t\t\t\telse if (s[0] == '-') {\n\t\t\t\t\t\tif (cmdState != BASH_CMD_TEST)\n\t\t\t\t\t\t\tsc.ChangeState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t\t// disambiguate keywords and identifiers\n\t\t\t\t\telse if (cmdState != BASH_CMD_START\n\t\t\t\t\t\t  || !(keywords.InList(s) && keywordEnds)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_IDENTIFIER:\n\t\t\t\tif (sc.chPrev == '\\\\') {\t// for escaped chars\n\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t} else if (!setWord.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t} else if (cmdState == BASH_CMD_ARITH && !setWordStart.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_NUMBER:\n\t\t\t\tdigit = translateBashDigit(sc.ch);\n\t\t\t\tif (numBase == BASH_BASE_DECIMAL) {\n\t\t\t\t\tif (sc.ch == '#') {\n\t\t\t\t\t\tchar s[10];\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t\tnumBase = getBashNumberBase(s);\n\t\t\t\t\t\tif (numBase != BASH_BASE_ERROR)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (IsADigit(sc.ch))\n\t\t\t\t\t\tbreak;\n\t\t\t\t} else if (numBase == BASH_BASE_HEX) {\n\t\t\t\t\tif (IsADigit(sc.ch, 16))\n\t\t\t\t\t\tbreak;\n#ifdef PEDANTIC_OCTAL\n\t\t\t\t} else if (numBase == BASH_BASE_OCTAL ||\n\t\t\t\t\t\t   numBase == BASH_BASE_OCTAL_ERROR) {\n\t\t\t\t\tif (digit <= 7)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tif (digit <= 9) {\n\t\t\t\t\t\tnumBase = BASH_BASE_OCTAL_ERROR;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n#endif\n\t\t\t\t} else if (numBase == BASH_BASE_ERROR) {\n\t\t\t\t\tif (digit <= 9)\n\t\t\t\t\t\tbreak;\n\t\t\t\t} else {\t// DD#DDDD number style handling\n\t\t\t\t\tif (digit != BASH_BASE_ERROR) {\n\t\t\t\t\t\tif (numBase <= 36) {\n\t\t\t\t\t\t\t// case-insensitive if base<=36\n\t\t\t\t\t\t\tif (digit >= 36) digit -= 26;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (digit < numBase)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tif (digit <= 9) {\n\t\t\t\t\t\t\tnumBase = BASH_BASE_ERROR;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// fallthrough when number is at an end or error\n\t\t\t\tif (numBase == BASH_BASE_ERROR\n#ifdef PEDANTIC_OCTAL\n\t\t\t\t\t|| numBase == BASH_BASE_OCTAL_ERROR\n#endif\n\t\t\t\t) {\n\t\t\t\t\tsc.ChangeState(SCE_SH_ERROR);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_COMMENTLINE:\n\t\t\t\tif (sc.atLineEnd && sc.chPrev != '\\\\') {\n\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_HERE_DELIM:\n\t\t\t\t// From Bash info:\n\t\t\t\t// ---------------\n\t\t\t\t// Specifier format is: <<[-]WORD\n\t\t\t\t// Optional '-' is for removal of leading tabs from here-doc.\n\t\t\t\t// Whitespace acceptable after <<[-] operator\n\t\t\t\t//\n\t\t\t\tif (HereDoc.State == 0) { // '<<' encountered\n\t\t\t\t\tHereDoc.Quote = sc.chNext;\n\t\t\t\t\tHereDoc.Quoted = false;\n\t\t\t\t\tHereDoc.DelimiterLength = 0;\n\t\t\t\t\tHereDoc.Delimiter[HereDoc.DelimiterLength] = '\\0';\n\t\t\t\t\tif (sc.chNext == '\\'' || sc.chNext == '\\\"') {\t// a quoted here-doc delimiter (' or \")\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\tHereDoc.Quoted = true;\n\t\t\t\t\t\tHereDoc.State = 1;\n\t\t\t\t\t} else if (setHereDoc.Contains(sc.chNext) ||\n\t\t\t\t\t           (sc.chNext == '=' && cmdState != BASH_CMD_ARITH)) {\n\t\t\t\t\t\t// an unquoted here-doc delimiter, no special handling\n\t\t\t\t\t\tHereDoc.State = 1;\n\t\t\t\t\t} else if (sc.chNext == '<') {\t// HERE string <<<\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t} else if (IsASpace(sc.chNext)) {\n\t\t\t\t\t\t// eat whitespace\n\t\t\t\t\t} else if (setLeftShift.Contains(sc.chNext) ||\n\t\t\t\t\t           (sc.chNext == '=' && cmdState == BASH_CMD_ARITH)) {\n\t\t\t\t\t\t// left shift <<$var or <<= cases\n\t\t\t\t\t\tsc.ChangeState(SCE_SH_OPERATOR);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// symbols terminates; deprecated zero-length delimiter\n\t\t\t\t\t\tHereDoc.State = 1;\n\t\t\t\t\t}\n\t\t\t\t} else if (HereDoc.State == 1) { // collect the delimiter\n\t\t\t\t\t// * if single quoted, there's no escape\n\t\t\t\t\t// * if double quoted, there are \\\\ and \\\" escapes\n\t\t\t\t\tif ((HereDoc.Quote == '\\'' && sc.ch != HereDoc.Quote) ||\n\t\t\t\t\t    (HereDoc.Quoted && sc.ch != HereDoc.Quote && sc.ch != '\\\\') ||\n\t\t\t\t\t    (HereDoc.Quote != '\\'' && sc.chPrev == '\\\\') ||\n\t\t\t\t\t    (setHereDoc2.Contains(sc.ch))) {\n\t\t\t\t\t\tHereDoc.Append(sc.ch);\n\t\t\t\t\t} else if (HereDoc.Quoted && sc.ch == HereDoc.Quote) {\t// closing quote => end of delimiter\n\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\t\tif (HereDoc.Quoted && sc.chNext != HereDoc.Quote && sc.chNext != '\\\\') {\n\t\t\t\t\t\t\t// in quoted prefixes only \\ and the quote eat the escape\n\t\t\t\t\t\t\tHereDoc.Append(sc.ch);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// skip escape prefix\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (!HereDoc.Quoted) {\n\t\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\tif (HereDoc.DelimiterLength >= HERE_DELIM_MAX - 1) {\t// force blowup\n\t\t\t\t\t\tsc.SetState(SCE_SH_ERROR);\n\t\t\t\t\t\tHereDoc.State = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_HERE_Q:\n\t\t\t\t// HereDoc.State == 2\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_SH_HERE_Q);\n\t\t\t\t\tint prefixws = 0;\n\t\t\t\t\twhile (sc.ch == '\\t' && !sc.atLineEnd) {\t// tabulation prefix\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\tprefixws++;\n\t\t\t\t\t}\n\t\t\t\t\tif (prefixws > 0)\n\t\t\t\t\t\tsc.SetState(SCE_SH_HERE_Q);\n\t\t\t\t\twhile (!sc.atLineEnd) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tchar s[HERE_DELIM_MAX];\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\tif (sc.LengthCurrent() == 0) {  // '' or \"\" delimiters\n\t\t\t\t\t\tif ((prefixws == 0 || HereDoc.Indent) &&\n\t\t\t\t\t\t\tHereDoc.Quoted && HereDoc.DelimiterLength == 0)\n\t\t\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (s[strlen(s) - 1] == '\\r')\n\t\t\t\t\t\ts[strlen(s) - 1] = '\\0';\n\t\t\t\t\tif (strcmp(HereDoc.Delimiter, s) == 0) {\n\t\t\t\t\t\tif ((prefixws == 0) ||\t// indentation rule\n\t\t\t\t\t\t\t(prefixws > 0 && HereDoc.Indent)) {\n\t\t\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_SCALAR:\t// variable names\n\t\t\t\tif (!setParam.Contains(sc.ch)) {\n\t\t\t\t\tif (sc.LengthCurrent() == 1) {\n\t\t\t\t\t\t// Special variable: $(, $_ etc.\n\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_STRING:\t// delimited styles, can nest\n\t\t\tcase SCE_SH_BACKTICKS:\n\t\t\t\tif (sc.ch == '\\\\' && QuoteStack.Up != '\\\\') {\n\t\t\t\t\tif (QuoteStack.Style != BASH_DELIM_LITERAL)\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (sc.ch == QuoteStack.Down) {\n\t\t\t\t\tQuoteStack.Count--;\n\t\t\t\t\tif (QuoteStack.Count == 0) {\n\t\t\t\t\t\tif (QuoteStack.Depth > 0) {\n\t\t\t\t\t\t\tQuoteStack.Pop();\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == QuoteStack.Up) {\n\t\t\t\t\tQuoteStack.Count++;\n\t\t\t\t} else {\n\t\t\t\t\tif (QuoteStack.Style == BASH_DELIM_STRING ||\n\t\t\t\t\t\tQuoteStack.Style == BASH_DELIM_LSTRING\n\t\t\t\t\t) {\t// do nesting for \"string\", $\"locale-string\"\n\t\t\t\t\t\tif (sc.ch == '`') {\n\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_BACKTICK);\n\t\t\t\t\t\t} else if (sc.ch == '$' && sc.chNext == '(') {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_COMMAND);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (QuoteStack.Style == BASH_DELIM_COMMAND ||\n\t\t\t\t\t\t\t   QuoteStack.Style == BASH_DELIM_BACKTICK\n\t\t\t\t\t) {\t// do nesting for $(command), `command`\n\t\t\t\t\t\tif (sc.ch == '\\'') {\n\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_LITERAL);\n\t\t\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_STRING);\n\t\t\t\t\t\t} else if (sc.ch == '`') {\n\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_BACKTICK);\n\t\t\t\t\t\t} else if (sc.ch == '$') {\n\t\t\t\t\t\t\tif (sc.chNext == '\\'') {\n\t\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_CSTRING);\n\t\t\t\t\t\t\t} else if (sc.chNext == '\\\"') {\n\t\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_LSTRING);\n\t\t\t\t\t\t\t} else if (sc.chNext == '(') {\n\t\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\t\tQuoteStack.Push(sc.ch, BASH_DELIM_COMMAND);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_PARAM: // ${parameter}\n\t\t\t\tif (sc.ch == '\\\\' && Quote.Up != '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (sc.ch == Quote.Down) {\n\t\t\t\t\tQuote.Count--;\n\t\t\t\t\tif (Quote.Count == 0) {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == Quote.Up) {\n\t\t\t\t\tQuote.Count++;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_SH_CHARACTER: // singly-quoted strings\n\t\t\t\tif (sc.ch == Quote.Down) {\n\t\t\t\t\tQuote.Count--;\n\t\t\t\t\tif (Quote.Count == 0) {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_SH_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Must check end of HereDoc state 1 before default state is handled\n\t\tif (HereDoc.State == 1 && sc.atLineEnd) {\n\t\t\t// Begin of here-doc (the line after the here-doc delimiter):\n\t\t\t// Lexically, the here-doc starts from the next line after the >>, but the\n\t\t\t// first line of here-doc seem to follow the style of the last EOL sequence\n\t\t\tHereDoc.State = 2;\n\t\t\tif (HereDoc.Quoted) {\n\t\t\t\tif (sc.state == SCE_SH_HERE_DELIM) {\n\t\t\t\t\t// Missing quote at end of string! Syntax error in bash 4.3\n\t\t\t\t\t// Mark this bit as an error, do not colour any here-doc\n\t\t\t\t\tsc.ChangeState(SCE_SH_ERROR);\n\t\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\t// HereDoc.Quote always == '\\''\n\t\t\t\t\tsc.SetState(SCE_SH_HERE_Q);\n\t\t\t\t}\n\t\t\t} else if (HereDoc.DelimiterLength == 0) {\n\t\t\t\t// no delimiter, illegal (but '' and \"\" are legal)\n\t\t\t\tsc.ChangeState(SCE_SH_ERROR);\n\t\t\t\tsc.SetState(SCE_SH_DEFAULT);\n\t\t\t} else {\n\t\t\t\tsc.SetState(SCE_SH_HERE_Q);\n\t\t\t}\n\t\t}\n\n\t\t// update cmdState about the current command segment\n\t\tif (stylePrev != SCE_SH_DEFAULT && sc.state == SCE_SH_DEFAULT) {\n\t\t\tcmdState = cmdStateNew;\n\t\t}\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_SH_DEFAULT) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t// Bash can escape any non-newline as a literal\n\t\t\t\tsc.SetState(SCE_SH_IDENTIFIER);\n\t\t\t\tif (sc.chNext == '\\r' || sc.chNext == '\\n')\n\t\t\t\t\tsc.SetState(SCE_SH_OPERATOR);\n\t\t\t} else if (IsADigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_SH_NUMBER);\n\t\t\t\tnumBase = BASH_BASE_DECIMAL;\n\t\t\t\tif (sc.ch == '0') {\t// hex,octal\n\t\t\t\t\tif (sc.chNext == 'x' || sc.chNext == 'X') {\n\t\t\t\t\t\tnumBase = BASH_BASE_HEX;\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else if (IsADigit(sc.chNext)) {\n#ifdef PEDANTIC_OCTAL\n\t\t\t\t\t\tnumBase = BASH_BASE_OCTAL;\n#else\n\t\t\t\t\t\tnumBase = BASH_BASE_HEX;\n#endif\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (setWordStart.Contains(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_SH_WORD);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tif (stylePrev != SCE_SH_WORD && stylePrev != SCE_SH_IDENTIFIER &&\n\t\t\t\t\t(sc.currentPos == 0 || setMetaCharacter.Contains(sc.chPrev))) {\n\t\t\t\t\tsc.SetState(SCE_SH_COMMENTLINE);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_SH_WORD);\n\t\t\t\t}\n\t\t\t\t// handle some zsh features within arithmetic expressions only\n\t\t\t\tif (cmdState == BASH_CMD_ARITH) {\n\t\t\t\t\tif (sc.chPrev == '[') {\t// [#8] [##8] output digit setting\n\t\t\t\t\t\tsc.SetState(SCE_SH_WORD);\n\t\t\t\t\t\tif (sc.chNext == '#') {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (sc.Match(\"##^\") && IsUpperCase(sc.GetRelative(3))) {\t// ##^A\n\t\t\t\t\t\tsc.SetState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t\tsc.Forward(3);\n\t\t\t\t\t} else if (sc.chNext == '#' && !IsASpace(sc.GetRelative(2))) {\t// ##a\n\t\t\t\t\t\tsc.SetState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t\tsc.Forward(2);\n\t\t\t\t\t} else if (setWordStart.Contains(sc.chNext)) {\t// #name\n\t\t\t\t\t\tsc.SetState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_SH_STRING);\n\t\t\t\tQuoteStack.Start(sc.ch, BASH_DELIM_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_SH_CHARACTER);\n\t\t\t\tQuote.Start(sc.ch);\n\t\t\t} else if (sc.ch == '`') {\n\t\t\t\tsc.SetState(SCE_SH_BACKTICKS);\n\t\t\t\tQuoteStack.Start(sc.ch, BASH_DELIM_BACKTICK);\n\t\t\t} else if (sc.ch == '$') {\n\t\t\t\tif (sc.Match(\"$((\")) {\n\t\t\t\t\tsc.SetState(SCE_SH_OPERATOR);\t// handle '((' later\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_SH_SCALAR);\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '{') {\n\t\t\t\t\tsc.ChangeState(SCE_SH_PARAM);\n\t\t\t\t\tQuote.Start(sc.ch);\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ChangeState(SCE_SH_STRING);\n\t\t\t\t\tQuoteStack.Start(sc.ch, BASH_DELIM_CSTRING);\n\t\t\t\t} else if (sc.ch == '\"') {\n\t\t\t\t\tsc.ChangeState(SCE_SH_STRING);\n\t\t\t\t\tQuoteStack.Start(sc.ch, BASH_DELIM_LSTRING);\n\t\t\t\t} else if (sc.ch == '(') {\n\t\t\t\t\tsc.ChangeState(SCE_SH_BACKTICKS);\n\t\t\t\t\tQuoteStack.Start(sc.ch, BASH_DELIM_COMMAND);\n\t\t\t\t} else if (sc.ch == '`') {\t// $` seen in a configure script, valid?\n\t\t\t\t\tsc.ChangeState(SCE_SH_BACKTICKS);\n\t\t\t\t\tQuoteStack.Start(sc.ch, BASH_DELIM_BACKTICK);\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\t// scalar has no delimiter pair\n\t\t\t\t}\n\t\t\t} else if (sc.Match('<', '<')) {\n\t\t\t\tsc.SetState(SCE_SH_HERE_DELIM);\n\t\t\t\tHereDoc.State = 0;\n\t\t\t\tif (sc.GetRelative(2) == '-') {\t// <<- indent case\n\t\t\t\t\tHereDoc.Indent = true;\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tHereDoc.Indent = false;\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '-'\t&&\t// one-char file test operators\n\t\t\t\t\t   setSingleCharOp.Contains(sc.chNext) &&\n\t\t\t\t\t   !setWord.Contains(sc.GetRelative(2)) &&\n\t\t\t\t\t   IsASpace(sc.chPrev)) {\n\t\t\t\tsc.SetState(SCE_SH_WORD);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (setBashOperator.Contains(sc.ch)) {\n\t\t\t\tchar s[10];\n\t\t\t\tbool isCmdDelim = false;\n\t\t\t\tsc.SetState(SCE_SH_OPERATOR);\n\t\t\t\t// globs have no whitespace, do not appear in arithmetic expressions\n\t\t\t\tif (cmdState != BASH_CMD_ARITH && sc.ch == '(' && sc.chNext != '(') {\n\t\t\t\t\tint i = GlobScan(sc);\n\t\t\t\t\tif (i > 1) {\n\t\t\t\t\t\tsc.SetState(SCE_SH_IDENTIFIER);\n\t\t\t\t\t\tsc.Forward(i);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// handle opening delimiters for test/arithmetic expressions - ((,[[,[\n\t\t\t\tif (cmdState == BASH_CMD_START\n\t\t\t\t || cmdState == BASH_CMD_BODY) {\n\t\t\t\t\tif (sc.Match('(', '(')) {\n\t\t\t\t\t\tcmdState = BASH_CMD_ARITH;\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else if (sc.Match('[', '[') && IsASpace(sc.GetRelative(2))) {\n\t\t\t\t\t\tcmdState = BASH_CMD_TEST;\n\t\t\t\t\t\ttestExprType = 1;\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else if (sc.ch == '[' && IsASpace(sc.chNext)) {\n\t\t\t\t\t\tcmdState = BASH_CMD_TEST;\n\t\t\t\t\t\ttestExprType = 2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// special state -- for ((x;y;z)) in ... looping\n\t\t\t\tif (cmdState == BASH_CMD_WORD && sc.Match('(', '(')) {\n\t\t\t\t\tcmdState = BASH_CMD_ARITH;\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// handle command delimiters in command START|BODY|WORD state, also TEST if 'test'\n\t\t\t\tif (cmdState == BASH_CMD_START\n\t\t\t\t || cmdState == BASH_CMD_BODY\n\t\t\t\t || cmdState == BASH_CMD_WORD\n\t\t\t\t || (cmdState == BASH_CMD_TEST && testExprType == 0)) {\n\t\t\t\t\ts[0] = static_cast<char>(sc.ch);\n\t\t\t\t\tif (setBashOperator.Contains(sc.chNext)) {\n\t\t\t\t\t\ts[1] = static_cast<char>(sc.chNext);\n\t\t\t\t\t\ts[2] = '\\0';\n\t\t\t\t\t\tisCmdDelim = cmdDelimiter.InList(s);\n\t\t\t\t\t\tif (isCmdDelim)\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tif (!isCmdDelim) {\n\t\t\t\t\t\ts[1] = '\\0';\n\t\t\t\t\t\tisCmdDelim = cmdDelimiter.InList(s);\n\t\t\t\t\t}\n\t\t\t\t\tif (isCmdDelim) {\n\t\t\t\t\t\tcmdState = BASH_CMD_DELIM;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// handle closing delimiters for test/arithmetic expressions - )),]],]\n\t\t\t\tif (cmdState == BASH_CMD_ARITH && sc.Match(')', ')')) {\n\t\t\t\t\tcmdState = BASH_CMD_BODY;\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (cmdState == BASH_CMD_TEST && IsASpace(sc.chPrev)) {\n\t\t\t\t\tif (sc.Match(']', ']') && testExprType == 1) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\tcmdState = BASH_CMD_BODY;\n\t\t\t\t\t} else if (sc.ch == ']' && testExprType == 2) {\n\t\t\t\t\t\tcmdState = BASH_CMD_BODY;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}// sc.state\n\t}\n\tsc.Complete();\n\tif (sc.state == SCE_SH_HERE_Q) {\n\t\tstyler.ChangeLexerState(sc.currentPos, styler.Length());\n\t}\n\tsc.Complete();\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tif (ch == '#')\n\t\t\treturn true;\n\t\telse if (ch != ' ' && ch != '\\t')\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic void FoldBashDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n\t\t\t\t\t\tAccessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tint skipHereCh = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tchar word[8] = { '\\0' }; // we're not interested in long words anyway\n\tunsigned int wordlen = 0;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\t// Comment folding\n\t\tif (foldComment && atEOL && IsCommentLine(lineCurrent, styler))\n\t\t{\n\t\t\tif (!IsCommentLine(lineCurrent - 1, styler)\n\t\t\t\t&& IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (IsCommentLine(lineCurrent - 1, styler)\n\t\t\t\t\t && !IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\tif (style == SCE_SH_WORD) {\n\t\t\tif ((wordlen + 1) < sizeof(word))\n\t\t\t\tword[wordlen++] = ch;\n\t\t\tif (styleNext != style) {\n\t\t\t\tword[wordlen] = '\\0';\n\t\t\t\twordlen = 0;\n\t\t\t\tif (strcmp(word, \"if\") == 0 || strcmp(word, \"case\") == 0 || strcmp(word, \"do\") == 0) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (strcmp(word, \"fi\") == 0 || strcmp(word, \"esac\") == 0 || strcmp(word, \"done\") == 0) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_SH_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\t// Here Document folding\n\t\tif (style == SCE_SH_HERE_DELIM) {\n\t\t\tif (ch == '<' && chNext == '<') {\n\t\t\t\tif (styler.SafeGetCharAt(i + 2) == '<') {\n\t\t\t\t\tskipHereCh = 1;\n\t\t\t\t} else {\n\t\t\t\t\tif (skipHereCh == 0) {\n\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tskipHereCh = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (style == SCE_SH_HERE_Q && styler.StyleAt(i+1) == SCE_SH_DEFAULT) {\n\t\t\tlevelCurrent--;\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const bashWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmBash(SCLEX_BASH, ColouriseBashDoc, \"bash\", FoldBashDoc, bashWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexBasic.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexBasic.cxx\n ** Lexer for BlitzBasic and PureBasic.\n ** Converted to lexer object and added further folding features/properties by \"Udo Lechner\" <dlchnr(at)gmx(dot)net>\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// This tries to be a unified Lexer/Folder for all the BlitzBasic/BlitzMax/PurBasic basics\n// and derivatives. Once they diverge enough, might want to split it into multiple\n// lexers for more code clearity.\n//\n// Mail me (elias <at> users <dot> sf <dot> net) for any bugs.\n\n// Folding only works for simple things like functions or types.\n\n// You may want to have a look at my ctags lexer as well, if you additionally to coloring\n// and folding need to extract things like label tags in your editor.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\n/* Bits:\n * 1  - whitespace\n * 2  - operator\n * 4  - identifier\n * 8  - decimal digit\n * 16 - hex digit\n * 32 - bin digit\n * 64 - letter\n */\nstatic int character_classification[128] =\n{\n\t\t0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  1,  0,  0,\n\t\t0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n\t\t1,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  10, 2,\n\t 60, 60, 28, 28, 28, 28, 28, 28, 28, 28,  2,  2,  2,  2,  2,  2,\n\t\t2, 84, 84, 84, 84, 84, 84, 68, 68, 68, 68, 68, 68, 68, 68, 68,\n\t 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,  2,  2,  2,  2, 68,\n\t\t2, 84, 84, 84, 84, 84, 84, 68, 68, 68, 68, 68, 68, 68, 68, 68,\n\t 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,  2,  2,  2,  2,  0\n};\n\nstatic bool IsSpace(int c) {\n\treturn c < 128 && (character_classification[c] & 1);\n}\n\nstatic bool IsOperator(int c) {\n\treturn c < 128 && (character_classification[c] & 2);\n}\n\nstatic bool IsIdentifier(int c) {\n\treturn c < 128 && (character_classification[c] & 4);\n}\n\nstatic bool IsDigit(int c) {\n\treturn c < 128 && (character_classification[c] & 8);\n}\n\nstatic bool IsHexDigit(int c) {\n\treturn c < 128 && (character_classification[c] & 16);\n}\n\nstatic bool IsBinDigit(int c) {\n\treturn c < 128 && (character_classification[c] & 32);\n}\n\nstatic bool IsLetter(int c) {\n\treturn c < 128 && (character_classification[c] & 64);\n}\n\nstatic int LowerCase(int c)\n{\n\tif (c >= 'A' && c <= 'Z')\n\t\treturn 'a' + c - 'A';\n\treturn c;\n}\n\nstatic int CheckBlitzFoldPoint(char const *token, int &level) {\n\tif (!strcmp(token, \"function\") ||\n\t\t!strcmp(token, \"type\")) {\n\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\treturn 1;\n\t}\n\tif (!strcmp(token, \"end function\") ||\n\t\t!strcmp(token, \"end type\")) {\n\t\treturn -1;\n\t}\n\treturn 0;\n}\n\nstatic int CheckPureFoldPoint(char const *token, int &level) {\n\tif (!strcmp(token, \"procedure\") ||\n\t\t!strcmp(token, \"enumeration\") ||\n\t\t!strcmp(token, \"interface\") ||\n\t\t!strcmp(token, \"structure\")) {\n\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\treturn 1;\n\t}\n\tif (!strcmp(token, \"endprocedure\") ||\n\t\t!strcmp(token, \"endenumeration\") ||\n\t\t!strcmp(token, \"endinterface\") ||\n\t\t!strcmp(token, \"endstructure\")) {\n\t\treturn -1;\n\t}\n\treturn 0;\n}\n\nstatic int CheckFreeFoldPoint(char const *token, int &level) {\n\tif (!strcmp(token, \"function\") ||\n\t\t!strcmp(token, \"sub\") ||\n\t\t!strcmp(token, \"enum\") ||\n\t\t!strcmp(token, \"type\") ||\n\t\t!strcmp(token, \"union\") ||\n\t\t!strcmp(token, \"property\") ||\n\t\t!strcmp(token, \"destructor\") ||\n\t\t!strcmp(token, \"constructor\")) {\n\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\treturn 1;\n\t}\n\tif (!strcmp(token, \"end function\") ||\n\t\t!strcmp(token, \"end sub\") ||\n\t\t!strcmp(token, \"end enum\") ||\n\t\t!strcmp(token, \"end type\") ||\n\t\t!strcmp(token, \"end union\") ||\n\t\t!strcmp(token, \"end property\") ||\n\t\t!strcmp(token, \"end destructor\") ||\n\t\t!strcmp(token, \"end constructor\")) {\n\t\treturn -1;\n\t}\n\treturn 0;\n}\n\n// An individual named option for use in an OptionSet\n\n// Options used for LexerBasic\nstruct OptionsBasic {\n\tbool fold;\n\tbool foldSyntaxBased;\n\tbool foldCommentExplicit;\n\tstd::string foldExplicitStart;\n\tstd::string foldExplicitEnd;\n\tbool foldExplicitAnywhere;\n\tbool foldCompact;\n\tOptionsBasic() {\n\t\tfold = false;\n\t\tfoldSyntaxBased = true;\n\t\tfoldCommentExplicit = false;\n\t\tfoldExplicitStart = \"\";\n\t\tfoldExplicitEnd   = \"\";\n\t\tfoldExplicitAnywhere = false;\n\t\tfoldCompact = true;\n\t}\n};\n\nstatic const char * const blitzbasicWordListDesc[] = {\n\t\"BlitzBasic Keywords\",\n\t\"user1\",\n\t\"user2\",\n\t\"user3\",\n\t0\n};\n\nstatic const char * const purebasicWordListDesc[] = {\n\t\"PureBasic Keywords\",\n\t\"PureBasic PreProcessor Keywords\",\n\t\"user defined 1\",\n\t\"user defined 2\",\n\t0\n};\n\nstatic const char * const freebasicWordListDesc[] = {\n\t\"FreeBasic Keywords\",\n\t\"FreeBasic PreProcessor Keywords\",\n\t\"user defined 1\",\n\t\"user defined 2\",\n\t0\n};\n\nstruct OptionSetBasic : public OptionSet<OptionsBasic> {\n\tOptionSetBasic(const char * const wordListDescriptions[]) {\n\t\tDefineProperty(\"fold\", &OptionsBasic::fold);\n\n\t\tDefineProperty(\"fold.basic.syntax.based\", &OptionsBasic::foldSyntaxBased,\n\t\t\t\"Set this property to 0 to disable syntax based folding.\");\n\n\t\tDefineProperty(\"fold.basic.comment.explicit\", &OptionsBasic::foldCommentExplicit,\n\t\t\t\"This option enables folding explicit fold points when using the Basic lexer. \"\n\t\t\t\"Explicit fold points allows adding extra folding by placing a ;{ (BB/PB) or '{ (FB) comment at the start \"\n\t\t\t\"and a ;} (BB/PB) or '} (FB) at the end of a section that should be folded.\");\n\n\t\tDefineProperty(\"fold.basic.explicit.start\", &OptionsBasic::foldExplicitStart,\n\t\t\t\"The string to use for explicit fold start points, replacing the standard ;{ (BB/PB) or '{ (FB).\");\n\n\t\tDefineProperty(\"fold.basic.explicit.end\", &OptionsBasic::foldExplicitEnd,\n\t\t\t\"The string to use for explicit fold end points, replacing the standard ;} (BB/PB) or '} (FB).\");\n\n\t\tDefineProperty(\"fold.basic.explicit.anywhere\", &OptionsBasic::foldExplicitAnywhere,\n\t\t\t\"Set this property to 1 to enable explicit fold points anywhere, not just in line comments.\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsBasic::foldCompact);\n\n\t\tDefineWordListSets(wordListDescriptions);\n\t}\n};\n\nclass LexerBasic : public DefaultLexer {\n\tchar comment_char;\n\tint (*CheckFoldPoint)(char const *, int &);\n\tWordList keywordlists[4];\n\tOptionsBasic options;\n\tOptionSetBasic osBasic;\npublic:\n\tLexerBasic(char comment_char_, int (*CheckFoldPoint_)(char const *, int &), const char * const wordListDescriptions[]) :\n\t\t\t\t\t\t comment_char(comment_char_),\n\t\t\t\t\t\t CheckFoldPoint(CheckFoldPoint_),\n\t\t\t\t\t\t osBasic(wordListDescriptions) {\n\t}\n\tvirtual ~LexerBasic() {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osBasic.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osBasic.PropertyType(name);\n\t}\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osBasic.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osBasic.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\tstatic ILexer *LexerFactoryBlitzBasic() {\n\t\treturn new LexerBasic(';', CheckBlitzFoldPoint, blitzbasicWordListDesc);\n\t}\n\tstatic ILexer *LexerFactoryPureBasic() {\n\t\treturn new LexerBasic(';', CheckPureFoldPoint, purebasicWordListDesc);\n\t}\n\tstatic ILexer *LexerFactoryFreeBasic() {\n\t\treturn new LexerBasic('\\'', CheckFreeFoldPoint, freebasicWordListDesc );\n\t}\n};\n\nSci_Position SCI_METHOD LexerBasic::PropertySet(const char *key, const char *val) {\n\tif (osBasic.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerBasic::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywordlists[0];\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywordlists[1];\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &keywordlists[2];\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &keywordlists[3];\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerBasic::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\n\tbool wasfirst = true, isfirst = true; // true if first token in a line\n\tstyler.StartAt(startPos);\n\tint styleBeforeKeyword = SCE_B_DEFAULT;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\t// Can't use sc.More() here else we miss the last character\n\tfor (; ; sc.Forward()) {\n\t\tif (sc.state == SCE_B_IDENTIFIER) {\n\t\t\tif (!IsIdentifier(sc.ch)) {\n\t\t\t\t// Labels\n\t\t\t\tif (wasfirst && sc.Match(':')) {\n\t\t\t\t\tsc.ChangeState(SCE_B_LABEL);\n\t\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\tchar s[100];\n\t\t\t\t\tint kstates[4] = {\n\t\t\t\t\t\tSCE_B_KEYWORD,\n\t\t\t\t\t\tSCE_B_KEYWORD2,\n\t\t\t\t\t\tSCE_B_KEYWORD3,\n\t\t\t\t\t\tSCE_B_KEYWORD4,\n\t\t\t\t\t};\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\tfor (int i = 0; i < 4; i++) {\n\t\t\t\t\t\tif (keywordlists[i].InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(kstates[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Types, must set them as operator else they will be\n\t\t\t\t\t// matched as number/constant\n\t\t\t\t\tif (sc.Match('.') || sc.Match('$') || sc.Match('%') ||\n\t\t\t\t\t\tsc.Match('#')) {\n\t\t\t\t\t\tsc.SetState(SCE_B_OPERATOR);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_OPERATOR) {\n\t\t\tif (!IsOperator(sc.ch) || sc.Match('#'))\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_LABEL) {\n\t\t\tif (!IsIdentifier(sc.ch))\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_CONSTANT) {\n\t\t\tif (!IsIdentifier(sc.ch))\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_NUMBER) {\n\t\t\tif (!IsDigit(sc.ch))\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_HEXNUMBER) {\n\t\t\tif (!IsHexDigit(sc.ch))\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_BINNUMBER) {\n\t\t\tif (!IsBinDigit(sc.ch))\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_STRING) {\n\t\t\tif (sc.ch == '\"') {\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_B_ERROR);\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_COMMENT || sc.state == SCE_B_PREPROCESSOR) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_DOCLINE) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t} else if (sc.ch == '\\\\' || sc.ch == '@') {\n\t\t\t\tif (IsLetter(sc.chNext) && sc.chPrev != '\\\\') {\n\t\t\t\t\tstyleBeforeKeyword = sc.state;\n\t\t\t\t\tsc.SetState(SCE_B_DOCKEYWORD);\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_DOCKEYWORD) {\n\t\t\tif (IsSpace(sc.ch)) {\n\t\t\t\tsc.SetState(styleBeforeKeyword);\n\t\t\t}\telse if (sc.atLineEnd && styleBeforeKeyword == SCE_B_DOCLINE) {\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_COMMENTBLOCK) {\n\t\t\tif (sc.Match(\"\\'/\")) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_DOCBLOCK) {\n\t\t\tif (sc.Match(\"\\'/\")) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t} else if (sc.ch == '\\\\' || sc.ch == '@') {\n\t\t\t\tif (IsLetter(sc.chNext) && sc.chPrev != '\\\\') {\n\t\t\t\t\tstyleBeforeKeyword = sc.state;\n\t\t\t\t\tsc.SetState(SCE_B_DOCKEYWORD);\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineStart)\n\t\t\tisfirst = true;\n\n\t\tif (sc.state == SCE_B_DEFAULT || sc.state == SCE_B_ERROR) {\n\t\t\tif (isfirst && sc.Match('.') && comment_char != '\\'') {\n\t\t\t\t\tsc.SetState(SCE_B_LABEL);\n\t\t\t} else if (isfirst && sc.Match('#')) {\n\t\t\t\twasfirst = isfirst;\n\t\t\t\tsc.SetState(SCE_B_IDENTIFIER);\n\t\t\t} else if (sc.Match(comment_char)) {\n\t\t\t\t// Hack to make deprecated QBASIC '$Include show\n\t\t\t\t// up in freebasic with SCE_B_PREPROCESSOR.\n\t\t\t\tif (comment_char == '\\'' && sc.Match(comment_char, '$'))\n\t\t\t\t\tsc.SetState(SCE_B_PREPROCESSOR);\n\t\t\t\telse if (sc.Match(\"\\'*\") || sc.Match(\"\\'!\")) {\n\t\t\t\t\tsc.SetState(SCE_B_DOCLINE);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_B_COMMENT);\n\t\t\t\t}\n\t\t\t} else if (sc.Match(\"/\\'\")) {\n\t\t\t\tif (sc.Match(\"/\\'*\") || sc.Match(\"/\\'!\")) {\t// Support of gtk-doc/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_B_DOCBLOCK);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_B_COMMENTBLOCK);\n\t\t\t\t}\n\t\t\t\tsc.Forward();\t// Eat the ' so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('\"')) {\n\t\t\t\tsc.SetState(SCE_B_STRING);\n\t\t\t} else if (IsDigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_B_NUMBER);\n\t\t\t} else if (sc.Match('$') || sc.Match(\"&h\") || sc.Match(\"&H\") || sc.Match(\"&o\") || sc.Match(\"&O\")) {\n\t\t\t\tsc.SetState(SCE_B_HEXNUMBER);\n\t\t\t} else if (sc.Match('%') || sc.Match(\"&b\") || sc.Match(\"&B\")) {\n\t\t\t\tsc.SetState(SCE_B_BINNUMBER);\n\t\t\t} else if (sc.Match('#')) {\n\t\t\t\tsc.SetState(SCE_B_CONSTANT);\n\t\t\t} else if (IsOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_B_OPERATOR);\n\t\t\t} else if (IsIdentifier(sc.ch)) {\n\t\t\t\twasfirst = isfirst;\n\t\t\t\tsc.SetState(SCE_B_IDENTIFIER);\n\t\t\t} else if (!IsSpace(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_B_ERROR);\n\t\t\t}\n\t\t}\n\n\t\tif (!IsSpace(sc.ch))\n\t\t\tisfirst = false;\n\n\t\tif (!sc.More())\n\t\t\tbreak;\n\t}\n\tsc.Complete();\n}\n\n\nvoid SCI_METHOD LexerBasic::Fold(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, IDocument *pAccess) {\n\n\tif (!options.fold)\n\t\treturn;\n\n\tLexAccessor styler(pAccess);\n\n\tSci_Position line = styler.GetLine(startPos);\n\tint level = styler.LevelAt(line);\n\tint go = 0, done = 0;\n\tSci_Position endPos = startPos + length;\n\tchar word[256];\n\tint wordlen = 0;\n\tconst bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty();\n\tint cNext = styler[startPos];\n\n\t// Scan for tokens at the start of the line (they may include\n\t// whitespace, for tokens like \"End Function\"\n\tfor (Sci_Position i = startPos; i < endPos; i++) {\n\t\tint c = cNext;\n\t\tcNext = styler.SafeGetCharAt(i + 1);\n\t\tbool atEOL = (c == '\\r' && cNext != '\\n') || (c == '\\n');\n\t\tif (options.foldSyntaxBased && !done && !go) {\n\t\t\tif (wordlen) { // are we scanning a token already?\n\t\t\t\tword[wordlen] = static_cast<char>(LowerCase(c));\n\t\t\t\tif (!IsIdentifier(c)) { // done with token\n\t\t\t\t\tword[wordlen] = '\\0';\n\t\t\t\t\tgo = CheckFoldPoint(word, level);\n\t\t\t\t\tif (!go) {\n\t\t\t\t\t\t// Treat any whitespace as single blank, for\n\t\t\t\t\t\t// things like \"End   Function\".\n\t\t\t\t\t\tif (IsSpace(c) && IsIdentifier(word[wordlen - 1])) {\n\t\t\t\t\t\t\tword[wordlen] = ' ';\n\t\t\t\t\t\t\tif (wordlen < 255)\n\t\t\t\t\t\t\t\twordlen++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse // done with this line\n\t\t\t\t\t\t\tdone = 1;\n\t\t\t\t\t}\n\t\t\t\t} else if (wordlen < 255) {\n\t\t\t\t\twordlen++;\n\t\t\t\t}\n\t\t\t} else { // start scanning at first non-whitespace character\n\t\t\t\tif (!IsSpace(c)) {\n\t\t\t\t\tif (IsIdentifier(c)) {\n\t\t\t\t\t\tword[0] = static_cast<char>(LowerCase(c));\n\t\t\t\t\t\twordlen = 1;\n\t\t\t\t\t} else // done with this line\n\t\t\t\t\t\tdone = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (options.foldCommentExplicit && ((styler.StyleAt(i) == SCE_B_COMMENT) || options.foldExplicitAnywhere)) {\n\t\t\tif (userDefinedFoldMarkers) {\n\t\t\t\tif (styler.Match(i, options.foldExplicitStart.c_str())) {\n \t\t\t\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t\tgo = 1;\n\t\t\t\t} else if (styler.Match(i, options.foldExplicitEnd.c_str())) {\n \t\t\t\t\tgo = -1;\n \t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (c == comment_char) {\n\t\t\t\t\tif (cNext == '{') {\n\t\t\t\t\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t\t\tgo = 1;\n\t\t\t\t\t} else if (cNext == '}') {\n\t\t\t\t\t\tgo = -1;\n\t\t\t\t\t}\n\t\t\t\t}\n \t\t\t}\n \t\t}\n\t\tif (atEOL) { // line end\n\t\t\tif (!done && wordlen == 0 && options.foldCompact) // line was only space\n\t\t\t\tlevel |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (level != styler.LevelAt(line))\n\t\t\t\tstyler.SetLevel(line, level);\n\t\t\tlevel += go;\n\t\t\tline++;\n\t\t\t// reset state\n\t\t\twordlen = 0;\n\t\t\tlevel &= ~SC_FOLDLEVELHEADERFLAG;\n\t\t\tlevel &= ~SC_FOLDLEVELWHITEFLAG;\n\t\t\tgo = 0;\n\t\t\tdone = 0;\n\t\t}\n\t}\n}\n\nLexerModule lmBlitzBasic(SCLEX_BLITZBASIC, LexerBasic::LexerFactoryBlitzBasic, \"blitzbasic\", blitzbasicWordListDesc);\n\nLexerModule lmPureBasic(SCLEX_PUREBASIC, LexerBasic::LexerFactoryPureBasic, \"purebasic\", purebasicWordListDesc);\n\nLexerModule lmFreeBasic(SCLEX_FREEBASIC, LexerBasic::LexerFactoryFreeBasic, \"freebasic\", freebasicWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexBatch.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexBatch.cxx\n ** Lexer for batch files.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic bool Is0To9(char ch) {\n\treturn (ch >= '0') && (ch <= '9');\n}\n\nstatic bool IsAlphabetic(int ch) {\n\treturn IsASCII(ch) && isalpha(ch);\n}\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') ||\n\t       ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\n// Tests for BATCH Operators\nstatic bool IsBOperator(char ch) {\n\treturn (ch == '=') || (ch == '+') || (ch == '>') || (ch == '<') ||\n\t\t(ch == '|') || (ch == '?') || (ch == '*');\n}\n\n// Tests for BATCH Separators\nstatic bool IsBSeparator(char ch) {\n\treturn (ch == '\\\\') || (ch == '.') || (ch == ';') ||\n\t\t(ch == '\\\"') || (ch == '\\'') || (ch == '/');\n}\n\nstatic void ColouriseBatchLine(\n    char *lineBuffer,\n    Sci_PositionU lengthLine,\n    Sci_PositionU startLine,\n    Sci_PositionU endPos,\n    WordList *keywordlists[],\n    Accessor &styler) {\n\n\tSci_PositionU offset = 0;\t// Line Buffer Offset\n\tSci_PositionU cmdLoc;\t\t// External Command / Program Location\n\tchar wordBuffer[81];\t\t// Word Buffer - large to catch long paths\n\tSci_PositionU wbl;\t\t// Word Buffer Length\n\tSci_PositionU wbo;\t\t// Word Buffer Offset - also Special Keyword Buffer Length\n\tWordList &keywords = *keywordlists[0];      // Internal Commands\n\tWordList &keywords2 = *keywordlists[1];     // External Commands (optional)\n\n\t// CHOICE, ECHO, GOTO, PROMPT and SET have Default Text that may contain Regular Keywords\n\t//   Toggling Regular Keyword Checking off improves readability\n\t// Other Regular Keywords and External Commands / Programs might also benefit from toggling\n\t//   Need a more robust algorithm to properly toggle Regular Keyword Checking\n\tbool continueProcessing = true;\t// Used to toggle Regular Keyword Checking\n\t// Special Keywords are those that allow certain characters without whitespace after the command\n\t// Examples are: cd. cd\\ md. rd. dir| dir> echo: echo. path=\n\t// Special Keyword Buffer used to determine if the first n characters is a Keyword\n\tchar sKeywordBuffer[10];\t// Special Keyword Buffer\n\tbool sKeywordFound;\t\t// Exit Special Keyword for-loop if found\n\n\t// Skip initial spaces\n\twhile ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {\n\t\toffset++;\n\t}\n\t// Colorize Default Text\n\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);\n\t// Set External Command / Program Location\n\tcmdLoc = offset;\n\n\t// Check for Fake Label (Comment) or Real Label - return if found\n\tif (lineBuffer[offset] == ':') {\n\t\tif (lineBuffer[offset + 1] == ':') {\n\t\t\t// Colorize Fake Label (Comment) - :: is similar to REM, see http://content.techweb.com/winmag/columns/explorer/2000/21.htm\n\t\t\tstyler.ColourTo(endPos, SCE_BAT_COMMENT);\n\t\t} else {\n\t\t\t// Colorize Real Label\n\t\t\tstyler.ColourTo(endPos, SCE_BAT_LABEL);\n\t\t}\n\t\treturn;\n\t// Check for Drive Change (Drive Change is internal command) - return if found\n\t} else if ((IsAlphabetic(lineBuffer[offset])) &&\n\t\t(lineBuffer[offset + 1] == ':') &&\n\t\t((isspacechar(lineBuffer[offset + 2])) ||\n\t\t(((lineBuffer[offset + 2] == '\\\\')) &&\n\t\t(isspacechar(lineBuffer[offset + 3]))))) {\n\t\t// Colorize Regular Keyword\n\t\tstyler.ColourTo(endPos, SCE_BAT_WORD);\n\t\treturn;\n\t}\n\n\t// Check for Hide Command (@ECHO OFF/ON)\n\tif (lineBuffer[offset] == '@') {\n\t\tstyler.ColourTo(startLine + offset, SCE_BAT_HIDE);\n\t\toffset++;\n\t}\n\t// Skip next spaces\n\twhile ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {\n\t\toffset++;\n\t}\n\n\t// Read remainder of line word-at-a-time or remainder-of-word-at-a-time\n\twhile (offset < lengthLine) {\n\t\tif (offset > startLine) {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);\n\t\t}\n\t\t// Copy word from Line Buffer into Word Buffer\n\t\twbl = 0;\n\t\tfor (; offset < lengthLine && wbl < 80 &&\n\t\t        !isspacechar(lineBuffer[offset]); wbl++, offset++) {\n\t\t\twordBuffer[wbl] = static_cast<char>(tolower(lineBuffer[offset]));\n\t\t}\n\t\twordBuffer[wbl] = '\\0';\n\t\twbo = 0;\n\n\t\t// Check for Comment - return if found\n\t\tif (CompareCaseInsensitive(wordBuffer, \"rem\") == 0) {\n\t\t\tstyler.ColourTo(endPos, SCE_BAT_COMMENT);\n\t\t\treturn;\n\t\t}\n\t\t// Check for Separator\n\t\tif (IsBSeparator(wordBuffer[0])) {\n\t\t\t// Check for External Command / Program\n\t\t\tif ((cmdLoc == offset - wbl) &&\n\t\t\t\t((wordBuffer[0] == ':') ||\n\t\t\t\t(wordBuffer[0] == '\\\\') ||\n\t\t\t\t(wordBuffer[0] == '.'))) {\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t\t// Colorize External Command / Program\n\t\t\t\tif (!keywords2) {\n\t\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND);\n\t\t\t\t} else if (keywords2.InList(wordBuffer)) {\n\t\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND);\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);\n\t\t\t\t}\n\t\t\t\t// Reset External Command / Program Location\n\t\t\t\tcmdLoc = offset;\n\t\t\t} else {\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t\t// Colorize Default Text\n\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);\n\t\t\t}\n\t\t// Check for Regular Keyword in list\n\t\t} else if ((keywords.InList(wordBuffer)) &&\n\t\t\t(continueProcessing)) {\n\t\t\t// ECHO, GOTO, PROMPT and SET require no further Regular Keyword Checking\n\t\t\tif ((CompareCaseInsensitive(wordBuffer, \"echo\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"goto\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"prompt\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"set\") == 0)) {\n\t\t\t\tcontinueProcessing = false;\n\t\t\t}\n\t\t\t// Identify External Command / Program Location for ERRORLEVEL, and EXIST\n\t\t\tif ((CompareCaseInsensitive(wordBuffer, \"errorlevel\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"exist\") == 0)) {\n\t\t\t\t// Reset External Command / Program Location\n\t\t\t\tcmdLoc = offset;\n\t\t\t\t// Skip next spaces\n\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\tcmdLoc++;\n\t\t\t\t}\n\t\t\t\t// Skip comparison\n\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t(!isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\tcmdLoc++;\n\t\t\t\t}\n\t\t\t\t// Skip next spaces\n\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\tcmdLoc++;\n\t\t\t\t}\n\t\t\t// Identify External Command / Program Location for CALL, DO, LOADHIGH and LH\n\t\t\t} else if ((CompareCaseInsensitive(wordBuffer, \"call\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"do\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"loadhigh\") == 0) ||\n\t\t\t\t(CompareCaseInsensitive(wordBuffer, \"lh\") == 0)) {\n\t\t\t\t// Reset External Command / Program Location\n\t\t\t\tcmdLoc = offset;\n\t\t\t\t// Skip next spaces\n\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\tcmdLoc++;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Colorize Regular keyword\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_WORD);\n\t\t\t// No need to Reset Offset\n\t\t// Check for Special Keyword in list, External Command / Program, or Default Text\n\t\t} else if ((wordBuffer[0] != '%') &&\n\t\t\t\t   (wordBuffer[0] != '!') &&\n\t\t\t(!IsBOperator(wordBuffer[0])) &&\n\t\t\t(continueProcessing)) {\n\t\t\t// Check for Special Keyword\n\t\t\t//     Affected Commands are in Length range 2-6\n\t\t\t//     Good that ERRORLEVEL, EXIST, CALL, DO, LOADHIGH, and LH are unaffected\n\t\t\tsKeywordFound = false;\n\t\t\tfor (Sci_PositionU keywordLength = 2; keywordLength < wbl && keywordLength < 7 && !sKeywordFound; keywordLength++) {\n\t\t\t\twbo = 0;\n\t\t\t\t// Copy Keyword Length from Word Buffer into Special Keyword Buffer\n\t\t\t\tfor (; wbo < keywordLength; wbo++) {\n\t\t\t\t\tsKeywordBuffer[wbo] = static_cast<char>(wordBuffer[wbo]);\n\t\t\t\t}\n\t\t\t\tsKeywordBuffer[wbo] = '\\0';\n\t\t\t\t// Check for Special Keyword in list\n\t\t\t\tif ((keywords.InList(sKeywordBuffer)) &&\n\t\t\t\t\t((IsBOperator(wordBuffer[wbo])) ||\n\t\t\t\t\t(IsBSeparator(wordBuffer[wbo])))) {\n\t\t\t\t\tsKeywordFound = true;\n\t\t\t\t\t// ECHO requires no further Regular Keyword Checking\n\t\t\t\t\tif (CompareCaseInsensitive(sKeywordBuffer, \"echo\") == 0) {\n\t\t\t\t\t\tcontinueProcessing = false;\n\t\t\t\t\t}\n\t\t\t\t\t// Colorize Special Keyword as Regular Keyword\n\t\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_WORD);\n\t\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\t\toffset -= (wbl - wbo);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check for External Command / Program or Default Text\n\t\t\tif (!sKeywordFound) {\n\t\t\t\twbo = 0;\n\t\t\t\t// Check for External Command / Program\n\t\t\t\tif (cmdLoc == offset - wbl) {\n\t\t\t\t\t// Read up to %, Operator or Separator\n\t\t\t\t\twhile ((wbo < wbl) &&\n\t\t\t\t\t\t(wordBuffer[wbo] != '%') &&\n\t\t\t\t\t\t(wordBuffer[wbo] != '!') &&\n\t\t\t\t\t\t(!IsBOperator(wordBuffer[wbo])) &&\n\t\t\t\t\t\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\t\t\twbo++;\n\t\t\t\t\t}\n\t\t\t\t\t// Reset External Command / Program Location\n\t\t\t\t\tcmdLoc = offset - (wbl - wbo);\n\t\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\t\toffset -= (wbl - wbo);\n\t\t\t\t\t// CHOICE requires no further Regular Keyword Checking\n\t\t\t\t\tif (CompareCaseInsensitive(wordBuffer, \"choice\") == 0) {\n\t\t\t\t\t\tcontinueProcessing = false;\n\t\t\t\t\t}\n\t\t\t\t\t// Check for START (and its switches) - What follows is External Command \\ Program\n\t\t\t\t\tif (CompareCaseInsensitive(wordBuffer, \"start\") == 0) {\n\t\t\t\t\t\t// Reset External Command / Program Location\n\t\t\t\t\t\tcmdLoc = offset;\n\t\t\t\t\t\t// Skip next spaces\n\t\t\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\t\t\tcmdLoc++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Reset External Command / Program Location if command switch detected\n\t\t\t\t\t\tif (lineBuffer[cmdLoc] == '/') {\n\t\t\t\t\t\t\t// Skip command switch\n\t\t\t\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t\t\t\t(!isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\t\t\t\tcmdLoc++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Skip next spaces\n\t\t\t\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\t\t\t\tcmdLoc++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Colorize External Command / Program\n\t\t\t\t\tif (!keywords2) {\n\t\t\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND);\n\t\t\t\t\t} else if (keywords2.InList(wordBuffer)) {\n\t\t\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\t// No need to Reset Offset\n\t\t\t\t// Check for Default Text\n\t\t\t\t} else {\n\t\t\t\t\t// Read up to %, Operator or Separator\n\t\t\t\t\twhile ((wbo < wbl) &&\n\t\t\t\t\t\t(wordBuffer[wbo] != '%') &&\n\t\t\t\t\t\t(wordBuffer[wbo] != '!') &&\n\t\t\t\t\t\t(!IsBOperator(wordBuffer[wbo])) &&\n\t\t\t\t\t\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\t\t\twbo++;\n\t\t\t\t\t}\n\t\t\t\t\t// Colorize Default Text\n\t\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_DEFAULT);\n\t\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\t\toffset -= (wbl - wbo);\n\t\t\t\t}\n\t\t\t}\n\t\t// Check for Argument  (%n), Environment Variable (%x...%) or Local Variable (%%a)\n\t\t} else if (wordBuffer[0] == '%') {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_BAT_DEFAULT);\n\t\t\twbo++;\n\t\t\t// Search to end of word for second % (can be a long path)\n\t\t\twhile ((wbo < wbl) &&\n\t\t\t\t(wordBuffer[wbo] != '%') &&\n\t\t\t\t(!IsBOperator(wordBuffer[wbo])) &&\n\t\t\t\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\twbo++;\n\t\t\t}\n\t\t\t// Check for Argument (%n) or (%*)\n\t\t\tif (((Is0To9(wordBuffer[1])) || (wordBuffer[1] == '*')) &&\n\t\t\t\t(wordBuffer[wbo] != '%')) {\n\t\t\t\t// Check for External Command / Program\n\t\t\t\tif (cmdLoc == offset - wbl) {\n\t\t\t\t\tcmdLoc = offset - (wbl - 2);\n\t\t\t\t}\n\t\t\t\t// Colorize Argument\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 2), SCE_BAT_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 2);\n\t\t\t// Check for Expanded Argument (%~...) / Variable (%%~...)\n\t\t\t} else if (((wbl > 1) && (wordBuffer[1] == '~')) ||\n\t\t\t\t((wbl > 2) && (wordBuffer[1] == '%') && (wordBuffer[2] == '~'))) {\n\t\t\t\t// Check for External Command / Program\n\t\t\t\tif (cmdLoc == offset - wbl) {\n\t\t\t\t\tcmdLoc = offset - (wbl - wbo);\n\t\t\t\t}\n\t\t\t\t// Colorize Expanded Argument / Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - wbo);\n\t\t\t// Check for Environment Variable (%x...%)\n\t\t\t} else if ((wordBuffer[1] != '%') &&\n\t\t\t\t(wordBuffer[wbo] == '%')) {\n\t\t\t\twbo++;\n\t\t\t\t// Check for External Command / Program\n\t\t\t\tif (cmdLoc == offset - wbl) {\n\t\t\t\t\tcmdLoc = offset - (wbl - wbo);\n\t\t\t\t}\n\t\t\t\t// Colorize Environment Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - wbo);\n\t\t\t// Check for Local Variable (%%a)\n\t\t\t} else if (\n\t\t\t\t(wbl > 2) &&\n\t\t\t\t(wordBuffer[1] == '%') &&\n\t\t\t\t(wordBuffer[2] != '%') &&\n\t\t\t\t(!IsBOperator(wordBuffer[2])) &&\n\t\t\t\t(!IsBSeparator(wordBuffer[2]))) {\n\t\t\t\t// Check for External Command / Program\n\t\t\t\tif (cmdLoc == offset - wbl) {\n\t\t\t\t\tcmdLoc = offset - (wbl - 3);\n\t\t\t\t}\n\t\t\t\t// Colorize Local Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 3), SCE_BAT_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 3);\n\t\t\t}\n\t\t// Check for Environment Variable (!x...!)\n\t\t} else if (wordBuffer[0] == '!') {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_BAT_DEFAULT);\n\t\t\twbo++;\n\t\t\t// Search to end of word for second ! (can be a long path)\n\t\t\twhile ((wbo < wbl) &&\n\t\t\t\t(wordBuffer[wbo] != '!') &&\n\t\t\t\t(!IsBOperator(wordBuffer[wbo])) &&\n\t\t\t\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\twbo++;\n\t\t\t}\n\t\t\tif (wordBuffer[wbo] == '!') {\n\t\t\t\twbo++;\n\t\t\t\t// Check for External Command / Program\n\t\t\t\tif (cmdLoc == offset - wbl) {\n\t\t\t\t\tcmdLoc = offset - (wbl - wbo);\n\t\t\t\t}\n\t\t\t\t// Colorize Environment Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - wbo);\n\t\t\t}\n\t\t// Check for Operator\n\t\t} else if (IsBOperator(wordBuffer[0])) {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_BAT_DEFAULT);\n\t\t\t// Check for Comparison Operator\n\t\t\tif ((wordBuffer[0] == '=') && (wordBuffer[1] == '=')) {\n\t\t\t\t// Identify External Command / Program Location for IF\n\t\t\t\tcmdLoc = offset;\n\t\t\t\t// Skip next spaces\n\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\tcmdLoc++;\n\t\t\t\t}\n\t\t\t\t// Colorize Comparison Operator\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 2), SCE_BAT_OPERATOR);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 2);\n\t\t\t// Check for Pipe Operator\n\t\t\t} else if (wordBuffer[0] == '|') {\n\t\t\t\t// Reset External Command / Program Location\n\t\t\t\tcmdLoc = offset - wbl + 1;\n\t\t\t\t// Skip next spaces\n\t\t\t\twhile ((cmdLoc < lengthLine) &&\n\t\t\t\t\t(isspacechar(lineBuffer[cmdLoc]))) {\n\t\t\t\t\tcmdLoc++;\n\t\t\t\t}\n\t\t\t\t// Colorize Pipe Operator\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_BAT_OPERATOR);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t// Check for Other Operator\n\t\t\t} else {\n\t\t\t\t// Check for > Operator\n\t\t\t\tif (wordBuffer[0] == '>') {\n\t\t\t\t\t// Turn Keyword and External Command / Program checking back on\n\t\t\t\t\tcontinueProcessing = true;\n\t\t\t\t}\n\t\t\t\t// Colorize Other Operator\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_BAT_OPERATOR);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t}\n\t\t// Check for Default Text\n\t\t} else {\n\t\t\t// Read up to %, Operator or Separator\n\t\t\twhile ((wbo < wbl) &&\n\t\t\t\t(wordBuffer[wbo] != '%') &&\n\t\t\t\t(wordBuffer[wbo] != '!') &&\n\t\t\t\t(!IsBOperator(wordBuffer[wbo])) &&\n\t\t\t\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\twbo++;\n\t\t\t}\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_DEFAULT);\n\t\t\t// Reset Offset to re-process remainder of word\n\t\t\toffset -= (wbl - wbo);\n\t\t}\n\t\t// Skip next spaces - nothing happens if Offset was Reset\n\t\twhile ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {\n\t\t\toffset++;\n\t\t}\n\t}\n\t// Colorize Default Text for remainder of line - currently not lexed\n\tstyler.ColourTo(endPos, SCE_BAT_DEFAULT);\n}\n\nstatic void ColouriseBatchDoc(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int /*initStyle*/,\n    WordList *keywordlists[],\n    Accessor &styler) {\n\n\tchar lineBuffer[1024];\n\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\tSci_PositionU startLine = startPos;\n\tfor (Sci_PositionU i = startPos; i < startPos + length; i++) {\n\t\tlineBuffer[linePos++] = styler[i];\n\t\tif (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n\t\t\t// End of line (or of line buffer) met, colourise it\n\t\t\tlineBuffer[linePos] = '\\0';\n\t\t\tColouriseBatchLine(lineBuffer, linePos, startLine, i, keywordlists, styler);\n\t\t\tlinePos = 0;\n\t\t\tstartLine = i + 1;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tlineBuffer[linePos] = '\\0';\n\t\tColouriseBatchLine(lineBuffer, linePos, startLine, startPos + length - 1,\n\t\t                   keywordlists, styler);\n\t}\n}\n\nstatic const char *const batchWordListDesc[] = {\n\t\"Internal Commands\",\n\t\"External Commands\",\n\t0\n};\n\nLexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, \"batch\", 0, batchWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexBibTeX.cpp",
    "content": "// Copyright 2008-2010 Sergiu Dotenco. The License.txt file describes the\n// conditions under which this software may be distributed.\n\n/**\n * @file LexBibTeX.cxx\n * @brief General BibTeX coloring scheme.\n * @author Sergiu Dotenco\n * @date April 18, 2009\n */\n\n#include <stdlib.h>\n#include <string.h>\n\n#include <cassert>\n#include <cctype>\n\n#include <string>\n#include <algorithm>\n#include <functional>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\tbool IsAlphabetic(unsigned int ch)\n\t{\n\t\treturn IsASCII(ch) && std::isalpha(ch) != 0;\n\t}\n\tbool IsAlphaNumeric(char ch)\n\t{\n\t    return IsASCII(ch) && std::isalnum(ch);\n\t}\n\n\tbool EqualCaseInsensitive(const char* a, const char* b)\n\t{\n\t\treturn CompareCaseInsensitive(a, b) == 0;\n\t}\n\n\tbool EntryWithoutKey(const char* name)\n\t{\n\t\treturn EqualCaseInsensitive(name,\"string\");\n\t}\n\n\tchar GetClosingBrace(char openbrace)\n\t{\n\t\tchar result = openbrace;\n\n\t\tswitch (openbrace) {\n\t\t\tcase '(': result = ')'; break;\n\t\t\tcase '{': result = '}'; break;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tbool IsEntryStart(char prev, char ch)\n\t{\n\t\treturn prev != '\\\\' && ch == '@';\n\t}\n\n\tbool IsEntryStart(const StyleContext& sc)\n\t{\n\t\treturn IsEntryStart(sc.chPrev, sc.ch);\n\t}\n\n\tvoid ColorizeBibTeX(Sci_PositionU start_pos, Sci_Position length, int /*init_style*/, WordList* keywordlists[], Accessor& styler)\n\t{\n\t    WordList &EntryNames = *keywordlists[0];\n\t\tbool fold_compact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\n\t\tstd::string buffer;\n\t\tbuffer.reserve(25);\n\n\t\t// We always colorize a section from the beginning, so let's\n\t\t// search for the @ character which isn't escaped, i.e. \\@\n\t\twhile (start_pos > 0 && !IsEntryStart(styler.SafeGetCharAt(start_pos - 1),\n\t\t\tstyler.SafeGetCharAt(start_pos))) {\n\t\t\t--start_pos; ++length;\n\t\t}\n\n\t\tstyler.StartAt(start_pos);\n\t\tstyler.StartSegment(start_pos);\n\n\t\tSci_Position current_line = styler.GetLine(start_pos);\n\t\tint prev_level = styler.LevelAt(current_line) & SC_FOLDLEVELNUMBERMASK;\n\t\tint current_level = prev_level;\n\t\tint visible_chars = 0;\n\n\t\tbool in_comment = false ;\n\t\tStyleContext sc(start_pos, length, SCE_BIBTEX_DEFAULT, styler);\n\n\t\tbool going = sc.More(); // needed because of a fuzzy end of file state\n\t\tchar closing_brace = 0;\n\t\tbool collect_entry_name = false;\n\n\t\tfor (; going; sc.Forward()) {\n\t\t\tif (!sc.More())\n\t\t\t\tgoing = false; // we need to go one behind the end of text\n\n\t\t\tif (in_comment) {\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_DEFAULT);\n\t\t\t\t\tin_comment = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Found @entry\n\t\t\t\tif (IsEntryStart(sc)) {\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_UNKNOWN_ENTRY);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\t++current_level;\n\n\t\t\t\t\tbuffer.clear();\n\t\t\t\t\tcollect_entry_name = true;\n\t\t\t\t}\n\t\t\t\telse if ((sc.state == SCE_BIBTEX_ENTRY || sc.state == SCE_BIBTEX_UNKNOWN_ENTRY)\n\t\t\t\t\t&& (sc.ch == '{' || sc.ch == '(')) {\n\t\t\t\t\t// Entry name colorization done\n\t\t\t\t\t// Found either a { or a ( after entry's name, e.g. @entry(...) @entry{...}\n\t\t\t\t\t// Closing counterpart needs to be stored.\n\t\t\t\t\tclosing_brace = GetClosingBrace(sc.ch);\n\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_DEFAULT); // Don't colorize { (\n\n\t\t\t\t\t// @string doesn't have any key\n\t\t\t\t\tif (EntryWithoutKey(buffer.c_str()))\n\t\t\t\t\t\tsc.ForwardSetState(SCE_BIBTEX_PARAMETER);\n\t\t\t\t\telse\n\t\t\t\t\t\tsc.ForwardSetState(SCE_BIBTEX_KEY); // Key/label colorization\n\t\t\t\t}\n\n\t\t\t\t// Need to handle the case where entry's key is empty\n\t\t\t\t// e.g. @book{,...}\n\t\t\t\tif (sc.state == SCE_BIBTEX_KEY && sc.ch == ',') {\n\t\t\t\t\t// Key/label colorization done\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_DEFAULT); // Don't colorize the ,\n\t\t\t\t\tsc.ForwardSetState(SCE_BIBTEX_PARAMETER); // Parameter colorization\n\t\t\t\t}\n\t\t\t\telse if (sc.state == SCE_BIBTEX_PARAMETER && sc.ch == '=') {\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_DEFAULT); // Don't colorize the =\n\t\t\t\t\tsc.ForwardSetState(SCE_BIBTEX_VALUE); // Parameter value colorization\n\n\t\t\t\t\tSci_Position start = sc.currentPos;\n\n\t\t\t\t\t// We need to handle multiple situations:\n\t\t\t\t\t// 1. name\"one two {three}\"\n\t\t\t\t\t// 2. name={one {one two {two}} three}\n\t\t\t\t\t// 3. year=2005\n\n\t\t\t\t\t// Skip \", { until we encounter the first alphanumerical character\n\t\t\t\t\twhile (sc.More() && !(IsAlphaNumeric(sc.ch) || sc.ch == '\"' || sc.ch == '{'))\n\t\t\t\t\t\tsc.Forward();\n\n\t\t\t\t\tif (sc.More()) {\n\t\t\t\t\t\t// Store \" or {\n\t\t\t\t\t\tchar ch = sc.ch;\n\n\t\t\t\t\t\t// Not interested in alphanumerical characters\n\t\t\t\t\t\tif (IsAlphaNumeric(ch))\n\t\t\t\t\t\t\tch = 0;\n\n\t\t\t\t\t\tint skipped = 0;\n\n\t\t\t\t\t\tif (ch) {\n\t\t\t\t\t\t\t// Skip preceding \" or { such as in name={{test}}.\n\t\t\t\t\t\t\t// Remember how many characters have been skipped\n\t\t\t\t\t\t\t// Make sure that empty values, i.e. \"\" are also handled correctly\n\t\t\t\t\t\t\twhile (sc.More() && (sc.ch == ch && (ch != '\"' || skipped < 1))) {\n\t\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\t\t++skipped;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Closing counterpart for \" is the same character\n\t\t\t\t\t\tif (ch == '{')\n\t\t\t\t\t\t\tch = '}';\n\n\t\t\t\t\t\t// We have reached the parameter value\n\t\t\t\t\t\t// In case the open character was a alnum char, skip until , is found\n\t\t\t\t\t\t// otherwise until skipped == 0\n\t\t\t\t\t\twhile (sc.More() && (skipped > 0 || (!ch && !(sc.ch == ',' || sc.ch == closing_brace)))) {\n\t\t\t\t\t\t\t// Make sure the character isn't escaped\n\t\t\t\t\t\t\tif (sc.chPrev != '\\\\') {\n\t\t\t\t\t\t\t\t// Parameter value contains a { which is the 2nd case described above\n\t\t\t\t\t\t\t\tif (sc.ch == '{')\n\t\t\t\t\t\t\t\t\t++skipped; // Remember it\n\t\t\t\t\t\t\t\telse if (sc.ch == '}')\n\t\t\t\t\t\t\t\t\t--skipped;\n\t\t\t\t\t\t\t\telse if (skipped == 1 && sc.ch == ch && ch == '\"') // Don't ignore cases like {\"o}\n\t\t\t\t\t\t\t\t\tskipped = 0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Don't colorize the ,\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_DEFAULT);\n\n\t\t\t\t\t// Skip until the , or entry's closing closing_brace is found\n\t\t\t\t\t// since this parameter might be the last one\n\t\t\t\t\twhile (sc.More() && !(sc.ch == ',' || sc.ch == closing_brace))\n\t\t\t\t\t\tsc.Forward();\n\n\t\t\t\t\tint state = SCE_BIBTEX_PARAMETER; // The might be more parameters\n\n\t\t\t\t\t// We've reached the closing closing_brace for the bib entry\n\t\t\t\t\t// in case no \" or {} has been used to enclose the value,\n\t\t\t\t\t// as in 3rd case described above\n\t\t\t\t\tif (sc.ch == closing_brace) {\n\t\t\t\t\t\t--current_level;\n\t\t\t\t\t\t// Make sure the text between entries is not colored\n\t\t\t\t\t\t// using parameter's style\n\t\t\t\t\t\tstate = SCE_BIBTEX_DEFAULT;\n\t\t\t\t\t}\n\n\t\t\t\t\tSci_Position end = sc.currentPos;\n\t\t\t\t\tcurrent_line = styler.GetLine(end);\n\n\t\t\t\t\t// We have possibly skipped some lines, so the folding levels\n\t\t\t\t\t// have to be adjusted separately\n\t\t\t\t\tfor (Sci_Position i = styler.GetLine(start); i <= styler.GetLine(end); ++i)\n\t\t\t\t\t\tstyler.SetLevel(i, prev_level);\n\n\t\t\t\t\tsc.ForwardSetState(state);\n\t\t\t\t}\n\n\t\t\t\tif (sc.state == SCE_BIBTEX_PARAMETER && sc.ch == closing_brace) {\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_DEFAULT);\n\t\t\t\t\t--current_level;\n\t\t\t\t}\n\n\t\t\t\t// Non escaped % found which represents a comment until the end of the line\n\t\t\t\tif (sc.chPrev != '\\\\' && sc.ch == '%') {\n\t\t\t\t\tin_comment = true;\n\t\t\t\t\tsc.SetState(SCE_BIBTEX_COMMENT);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sc.state == SCE_BIBTEX_UNKNOWN_ENTRY || sc.state == SCE_BIBTEX_ENTRY) {\n\t\t\t\tif (!IsAlphabetic(sc.ch) && collect_entry_name)\n\t\t\t\t\tcollect_entry_name = false;\n\n\t\t\t\tif (collect_entry_name) {\n\t\t\t\t\tbuffer += static_cast<char>(tolower(sc.ch));\n                    if (EntryNames.InList(buffer.c_str()))\n                        sc.ChangeState(SCE_BIBTEX_ENTRY);\n                    else\n                        sc.ChangeState(SCE_BIBTEX_UNKNOWN_ENTRY);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tint level = prev_level;\n\n\t\t\t\tif (visible_chars == 0 && fold_compact)\n\t\t\t\t\tlevel |= SC_FOLDLEVELWHITEFLAG;\n\n\t\t\t\tif ((current_level > prev_level))\n\t\t\t\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t// else if (current_level < prev_level)\n\t\t\t\t//\tlevel |= SC_FOLDLEVELBOXFOOTERFLAG; // Deprecated\n\n\t\t\t\tif (level != styler.LevelAt(current_line)) {\n\t\t\t\t\tstyler.SetLevel(current_line, level);\n\t\t\t\t}\n\n\t\t\t\t++current_line;\n\t\t\t\tprev_level = current_level;\n\t\t\t\tvisible_chars = 0;\n\t\t\t}\n\n\t\t\tif (!isspacechar(sc.ch))\n\t\t\t\t++visible_chars;\n\t\t}\n\n\t\tsc.Complete();\n\n\t\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\t\tint flagsNext = styler.LevelAt(current_line) & ~SC_FOLDLEVELNUMBERMASK;\n\t\tstyler.SetLevel(current_line, prev_level | flagsNext);\n\t}\n}\nstatic const char * const BibTeXWordLists[] = {\n            \"Entry Names\",\n            0,\n};\n\n\nLexerModule lmBibTeX(SCLEX_BIBTEX, ColorizeBibTeX, \"bib\", 0, BibTeXWordLists);\n\n// Entry Names\n//    article, book, booklet, conference, inbook,\n//    incollection, inproceedings, manual, mastersthesis,\n//    misc, phdthesis, proceedings, techreport, unpublished,\n//    string, url\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexBullant.cpp",
    "content": "// SciTE - Scintilla based Text Editor\n// LexBullant.cxx - lexer for Bullant\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic int classifyWordBullant(Sci_PositionU start, Sci_PositionU end, WordList &keywords, Accessor &styler) {\n\tchar s[100];\n\ts[0] = '\\0';\n\tfor (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ts[i + 1] = '\\0';\n\t}\n\tint lev= 0;\n\tchar chAttr = SCE_C_IDENTIFIER;\n\tif (isdigit(s[0]) || (s[0] == '.')){\n\t\tchAttr = SCE_C_NUMBER;\n\t}\n\telse {\n\t\tif (keywords.InList(s)) {\n\t\t\tchAttr = SCE_C_WORD;\n\t\t\tif (strcmp(s, \"end\") == 0)\n\t\t\t\tlev = -1;\n\t\t\telse if (strcmp(s, \"method\") == 0 ||\n\t\t\t\tstrcmp(s, \"case\") == 0 ||\n\t\t\t\tstrcmp(s, \"class\") == 0 ||\n\t\t\t\tstrcmp(s, \"debug\") == 0 ||\n\t\t\t\tstrcmp(s, \"test\") == 0 ||\n\t\t\t\tstrcmp(s, \"if\") == 0 ||\n\t\t\t\tstrcmp(s, \"lock\") == 0 ||\n\t\t\t\tstrcmp(s, \"transaction\") == 0 ||\n\t\t\t\tstrcmp(s, \"trap\") == 0 ||\n\t\t\t\tstrcmp(s, \"until\") == 0 ||\n\t\t\t\tstrcmp(s, \"while\") == 0)\n\t\t\t\tlev = 1;\n\t\t}\n\t}\n\tstyler.ColourTo(end, chAttr);\n\treturn lev;\n}\n\nstatic void ColouriseBullantDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n\tAccessor &styler) {\n\tWordList &keywords = *keywordlists[0];\n\n\tstyler.StartAt(startPos);\n\n\tbool fold = styler.GetPropertyInt(\"fold\") != 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\n\tint state = initStyle;\n\tif (state == SCE_C_STRINGEOL)\t// Does not leak onto next line\n\t\tstate = SCE_C_DEFAULT;\n\tchar chPrev = ' ';\n\tchar chNext = styler[startPos];\n\tSci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tstyler.StartSegment(startPos);\n\tint endFoundThisLine = 0;\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n\t\t\t// Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix)\n\t\t\t// Avoid triggering two times on Dos/Win\n\t\t\t// End of line\n\t\t\tendFoundThisLine = 0;\n\t\t\tif (state == SCE_C_STRINGEOL) {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t}\n\t\t\tif (fold) {\n\t\t\t\tint lev = levelPrev;\n\t\t\t\tif (visibleChars == 0)\n\t\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t\tlineCurrent++;\n\t\t\t\tlevelPrev = levelCurrent;\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\n/*\t\t\tint indentBlock = GetLineIndentation(lineCurrent);\n\t\t\tif (blockChange==1){\n\t\t\t\tlineCurrent++;\n\t\t\t\tint pos=SetLineIndentation(lineCurrent, indentBlock + indentSize);\n\t\t\t} else if (blockChange==-1) {\n\t\t\t\tindentBlock -= indentSize;\n\t\t\t\tif (indentBlock < 0)\n\t\t\t\t\tindentBlock = 0;\n\t\t\t\tSetLineIndentation(lineCurrent, indentBlock);\n\t\t\t\tlineCurrent++;\n\t\t\t}\n\t\t\tblockChange=0;\n*/\t\t}\n\t\tif (!(IsASCII(ch) && isspace(ch)))\n\t\t\tvisibleChars++;\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\tchPrev = ' ';\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (state == SCE_C_DEFAULT) {\n\t\t\tif (iswordstart(ch)) {\n\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\t\tstate = SCE_C_IDENTIFIER;\n\t\t\t} else if (ch == '@' && chNext == 'o') {\n\t\t\t\tif ((styler.SafeGetCharAt(i+2) =='f') && (styler.SafeGetCharAt(i+3) == 'f')) {\n\t\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\t\tstate = SCE_C_COMMENT;\n\t\t\t\t}\n\t\t\t} else if (ch == '#') {\n\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\tstate = SCE_C_COMMENTLINE;\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\tstate = SCE_C_STRING;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\tstate = SCE_C_CHARACTER;\n\t\t\t} else if (isoperator(ch)) {\n\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\tstyler.ColourTo(i, SCE_C_OPERATOR);\n\t\t\t}\n\t\t} else if (state == SCE_C_IDENTIFIER) {\n\t\t\tif (!iswordchar(ch)) {\n\t\t\t\tint levelChange = classifyWordBullant(styler.GetStartSegment(), i - 1, keywords, styler);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\tif (ch == '#') {\n\t\t\t\t\tstate = SCE_C_COMMENTLINE;\n\t\t\t\t} else if (ch == '\\\"') {\n\t\t\t\t\tstate = SCE_C_STRING;\n\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\tstate = SCE_C_CHARACTER;\n\t\t\t\t} else if (isoperator(ch)) {\n\t\t\t\t\tstyler.ColourTo(i, SCE_C_OPERATOR);\n\t\t\t\t}\n\t\t\t\tif (endFoundThisLine == 0)\n\t\t\t\t\tlevelCurrent+=levelChange;\n\t\t\t\tif (levelChange == -1)\n\t\t\t\t\tendFoundThisLine=1;\n\t\t\t}\n\t\t} else if (state == SCE_C_COMMENT) {\n\t\t\tif (ch == '@' && chNext == 'o') {\n\t\t\t\tif (styler.SafeGetCharAt(i+2) == 'n') {\n\t\t\t\t\tstyler.ColourTo(i+2, state);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t\ti+=2;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (state == SCE_C_COMMENTLINE) {\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tendFoundThisLine = 0;\n\t\t\t\tstyler.ColourTo(i-1, state);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_C_STRING) {\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t}\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t} else if (chNext == '\\r' || chNext == '\\n') {\n\t\t\t\tendFoundThisLine = 0;\n\t\t\t\tstyler.ColourTo(i-1, SCE_C_STRINGEOL);\n\t\t\t\tstate = SCE_C_STRINGEOL;\n\t\t\t}\n\t\t} else if (state == SCE_C_CHARACTER) {\n\t\t\tif ((ch == '\\r' || ch == '\\n') && (chPrev != '\\\\')) {\n\t\t\t\tendFoundThisLine = 0;\n\t\t\t\tstyler.ColourTo(i-1, SCE_C_STRINGEOL);\n\t\t\t\tstate = SCE_C_STRINGEOL;\n\t\t\t} else if (ch == '\\\\') {\n\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t}\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t}\n\t\t}\n\t\tchPrev = ch;\n\t}\n\tstyler.ColourTo(lengthDoc - 1, state);\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tif (fold) {\n\t\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\t\t//styler.SetLevel(lineCurrent, levelCurrent | flagsNext);\n\t\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n\n\t}\n}\n\nstatic const char * const bullantWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmBullant(SCLEX_BULLANT, ColouriseBullantDoc, \"bullant\", 0, bullantWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCLW.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexClw.cxx\n ** Lexer for Clarion.\n ** 2004/12/17 Updated Lexer\n **/\n// Copyright 2003-2004 by Ron Schofield <ron@schofieldcomputer.com>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Is an end of line character\ninline bool IsEOL(const int ch) {\n\n\treturn(ch == '\\n');\n}\n\n// Convert character to uppercase\nstatic char CharacterUpper(char chChar) {\n\n\tif (chChar < 'a' || chChar > 'z') {\n\t\treturn(chChar);\n\t}\n\telse {\n\t\treturn(static_cast<char>(chChar - 'a' + 'A'));\n\t}\n}\n\n// Convert string to uppercase\nstatic void StringUpper(char *szString) {\n\n\twhile (*szString) {\n\t\t*szString = CharacterUpper(*szString);\n\t\tszString++;\n\t}\n}\n\n// Is a label start character\ninline bool IsALabelStart(const int iChar) {\n\n\treturn(isalpha(iChar) || iChar == '_');\n}\n\n// Is a label character\ninline bool IsALabelCharacter(const int iChar) {\n\n\treturn(isalnum(iChar) || iChar == '_' || iChar == ':');\n}\n\n// Is the character is a ! and the the next character is not a !\ninline bool IsACommentStart(const int iChar) {\n\n\treturn(iChar == '!');\n}\n\n// Is the character a Clarion hex character (ABCDEF)\ninline bool IsAHexCharacter(const int iChar, bool bCaseSensitive) {\n\n\t// Case insensitive.\n\tif (!bCaseSensitive) {\n\t\tif (strchr(\"ABCDEFabcdef\", iChar) != NULL) {\n\t\t\treturn(true);\n\t\t}\n\t}\n\t// Case sensitive\n\telse {\n\t\tif (strchr(\"ABCDEF\", iChar) != NULL) {\n\t\t\treturn(true);\n\t\t}\n\t}\n\treturn(false);\n}\n\n// Is the character a Clarion base character (B=Binary, O=Octal, H=Hex)\ninline bool IsANumericBaseCharacter(const int iChar, bool bCaseSensitive) {\n\n\t// Case insensitive.\n\tif (!bCaseSensitive) {\n\t\t// If character is a numeric base character\n\t\tif (strchr(\"BOHboh\", iChar) != NULL) {\n\t\t\treturn(true);\n\t\t}\n\t}\n\t// Case sensitive\n\telse {\n\t\t// If character is a numeric base character\n\t\tif (strchr(\"BOH\", iChar) != NULL) {\n\t\t\treturn(true);\n\t\t}\n\t}\n\treturn(false);\n}\n\n// Set the correct numeric constant state\ninline bool SetNumericConstantState(StyleContext &scDoc) {\n\n\tint iPoints = 0;\t\t\t// Point counter\n\tchar cNumericString[512];\t// Numeric string buffer\n\n\t// Buffer the current numberic string\n\tscDoc.GetCurrent(cNumericString, sizeof(cNumericString));\n\t// Loop through the string until end of string (NULL termination)\n\tfor (int iIndex = 0; cNumericString[iIndex] != '\\0'; iIndex++) {\n\t\t// Depending on the character\n\t\tswitch (cNumericString[iIndex]) {\n\t\t\t// Is a . (point)\n\t\t\tcase '.' :\n\t\t\t\t// Increment point counter\n\t\t\t\tiPoints++;\n\t\t\t\tbreak;\n\t\t\tdefault :\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// If points found (can be more than one for improper formatted number\n\tif (iPoints > 0) {\n\t\treturn(true);\n\t}\n\t// Else no points found\n\telse {\n\t\treturn(false);\n\t}\n}\n\n// Get the next word in uppercase from the current position (keyword lookahead)\ninline bool GetNextWordUpper(Accessor &styler, Sci_PositionU uiStartPos, Sci_Position iLength, char *cWord) {\n\n\tSci_PositionU iIndex = 0;\t\t// Buffer Index\n\n\t// Loop through the remaining string from the current position\n\tfor (Sci_Position iOffset = uiStartPos; iOffset < iLength; iOffset++) {\n\t\t// Get the character from the buffer using the offset\n\t\tchar cCharacter = styler[iOffset];\n\t\tif (IsEOL(cCharacter)) {\n\t\t\tbreak;\n\t\t}\n\t\t// If the character is alphabet character\n\t\tif (isalpha(cCharacter)) {\n\t\t\t// Add UPPERCASE character to the word buffer\n\t\t\tcWord[iIndex++] = CharacterUpper(cCharacter);\n\t\t}\n\t}\n\t// Add null termination\n\tcWord[iIndex] = '\\0';\n\t// If no word was found\n\tif (iIndex == 0) {\n\t\t// Return failure\n\t\treturn(false);\n\t}\n\t// Else word was found\n\telse {\n\t\t// Return success\n\t\treturn(true);\n\t}\n}\n\n// Clarion Language Colouring Procedure\nstatic void ColouriseClarionDoc(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *wlKeywords[], Accessor &accStyler, bool bCaseSensitive) {\n\n\tint iParenthesesLevel = 0;\t\t// Parenthese Level\n\tint iColumn1Label = false;\t\t// Label starts in Column 1\n\n\tWordList &wlClarionKeywords = *wlKeywords[0];\t\t\t// Clarion Keywords\n\tWordList &wlCompilerDirectives = *wlKeywords[1];\t\t// Compiler Directives\n\tWordList &wlRuntimeExpressions = *wlKeywords[2];\t\t// Runtime Expressions\n\tWordList &wlBuiltInProcsFuncs = *wlKeywords[3];\t\t\t// Builtin Procedures and Functions\n\tWordList &wlStructsDataTypes = *wlKeywords[4];\t\t\t// Structures and Data Types\n\tWordList &wlAttributes = *wlKeywords[5];\t\t\t\t// Procedure Attributes\n\tWordList &wlStandardEquates = *wlKeywords[6];\t\t\t// Standard Equates\n\tWordList &wlLabelReservedWords = *wlKeywords[7];\t\t// Clarion Reserved Keywords (Labels)\n\tWordList &wlProcLabelReservedWords = *wlKeywords[8];\t// Clarion Reserved Keywords (Procedure Labels)\n\n\tconst char wlProcReservedKeywordList[] =\n\t\"PROCEDURE FUNCTION\";\n\tWordList wlProcReservedKeywords;\n\twlProcReservedKeywords.Set(wlProcReservedKeywordList);\n\n\tconst char wlCompilerKeywordList[] =\n\t\"COMPILE OMIT\";\n\tWordList wlCompilerKeywords;\n\twlCompilerKeywords.Set(wlCompilerKeywordList);\n\n\tconst char wlLegacyStatementsList[] =\n\t\"BOF EOF FUNCTION POINTER SHARE\";\n\tWordList wlLegacyStatements;\n\twlLegacyStatements.Set(wlLegacyStatementsList);\n\n\tStyleContext scDoc(uiStartPos, iLength, iInitStyle, accStyler);\n\n\t// lex source code\n    for (; scDoc.More(); scDoc.Forward())\n\t{\n\t\t//\n\t\t// Determine if the current state should terminate.\n\t\t//\n\n\t\t// Label State Handling\n\t\tif (scDoc.state == SCE_CLW_LABEL) {\n\t\t\t// If the character is not a valid label\n\t\t\tif (!IsALabelCharacter(scDoc.ch)) {\n\t\t\t\t// If the character is a . (dot syntax)\n\t\t\t\tif (scDoc.ch == '.') {\n\t\t\t\t\t// Turn off column 1 label flag as label now cannot be reserved work\n\t\t\t\t\tiColumn1Label = false;\n\t\t\t\t\t// Uncolour the . (dot) to default state, move forward one character,\n\t\t\t\t\t// and change back to the label state.\n\t\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t\t\tscDoc.Forward();\n\t\t\t\t\tscDoc.SetState(SCE_CLW_LABEL);\n\t\t\t\t}\n\t\t\t\t// Else check label\n\t\t\t\telse {\n\t\t\t\t\tchar cLabel[512];\t\t// Label buffer\n\t\t\t\t\t// Buffer the current label string\n\t\t\t\t\tscDoc.GetCurrent(cLabel,sizeof(cLabel));\n\t\t\t\t\t// If case insensitive, convert string to UPPERCASE to match passed keywords.\n\t\t\t\t\tif (!bCaseSensitive) {\n\t\t\t\t\t\tStringUpper(cLabel);\n\t\t\t\t\t}\n\t\t\t\t\t// Else if UPPERCASE label string is in the Clarion compiler keyword list\n\t\t\t\t\tif (wlCompilerKeywords.InList(cLabel) && iColumn1Label){\n\t\t\t\t\t\t// change the label to error state\n\t\t\t\t\t\tscDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE);\n\t\t\t\t\t}\n\t\t\t\t\t// Else if UPPERCASE label string is in the Clarion reserved keyword list\n\t\t\t\t\telse if (wlLabelReservedWords.InList(cLabel) && iColumn1Label){\n\t\t\t\t\t\t// change the label to error state\n\t\t\t\t\t\tscDoc.ChangeState(SCE_CLW_ERROR);\n\t\t\t\t\t}\n\t\t\t\t\t// Else if UPPERCASE label string is\n\t\t\t\t\telse if (wlProcLabelReservedWords.InList(cLabel) && iColumn1Label) {\n\t\t\t\t\t\tchar cWord[512];\t// Word buffer\n\t\t\t\t\t\t// Get the next word from the current position\n\t\t\t\t\t\tif (GetNextWordUpper(accStyler,scDoc.currentPos,uiStartPos+iLength,cWord)) {\n\t\t\t\t\t\t\t// If the next word is a procedure reserved word\n\t\t\t\t\t\t\tif (wlProcReservedKeywords.InList(cWord)) {\n\t\t\t\t\t\t\t\t// Change the label to error state\n\t\t\t\t\t\t\t\tscDoc.ChangeState(SCE_CLW_ERROR);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Else if label string is in the compiler directive keyword list\n\t\t\t\t\telse if (wlCompilerDirectives.InList(cLabel)) {\n\t\t\t\t\t\t// change the state to compiler directive state\n\t\t\t\t\t\tscDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE);\n\t\t\t\t\t}\n\t\t\t\t\t// Terminate the label state and set to default state\n\t\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Keyword State Handling\n\t\telse if (scDoc.state == SCE_CLW_KEYWORD) {\n\t\t\t// If character is : (colon)\n\t\t\tif (scDoc.ch == ':') {\n\t\t\t\tchar cEquate[512];\t\t// Equate buffer\n\t\t\t\t// Move forward to include : (colon) in buffer\n\t\t\t\tscDoc.Forward();\n\t\t\t\t// Buffer the equate string\n\t\t\t\tscDoc.GetCurrent(cEquate,sizeof(cEquate));\n\t\t\t\t// If case insensitive, convert string to UPPERCASE to match passed keywords.\n\t\t\t\tif (!bCaseSensitive) {\n\t\t\t\t\tStringUpper(cEquate);\n\t\t\t\t}\n\t\t\t\t// If statement string is in the equate list\n\t\t\t\tif (wlStandardEquates.InList(cEquate)) {\n\t\t\t\t\t// Change to equate state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_STANDARD_EQUATE);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If the character is not a valid label character\n\t\t\telse if (!IsALabelCharacter(scDoc.ch)) {\n\t\t\t\tchar cStatement[512];\t\t// Statement buffer\n\t\t\t\t// Buffer the statement string\n\t\t\t\tscDoc.GetCurrent(cStatement,sizeof(cStatement));\n\t\t\t\t// If case insensitive, convert string to UPPERCASE to match passed keywords.\n\t\t\t\tif (!bCaseSensitive) {\n\t\t\t\t\tStringUpper(cStatement);\n\t\t\t\t}\n\t\t\t\t// If statement string is in the Clarion keyword list\n\t\t\t\tif (wlClarionKeywords.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the Clarion keyword state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_KEYWORD);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the compiler directive keyword list\n\t\t\t\telse if (wlCompilerDirectives.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the compiler directive state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the runtime expressions keyword list\n\t\t\t\telse if (wlRuntimeExpressions.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the runtime expressions state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_RUNTIME_EXPRESSIONS);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the builtin procedures and functions keyword list\n\t\t\t\telse if (wlBuiltInProcsFuncs.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the builtin procedures and functions state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_BUILTIN_PROCEDURES_FUNCTION);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the tructures and data types keyword list\n\t\t\t\telse if (wlStructsDataTypes.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the structures and data types state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_STRUCTURE_DATA_TYPE);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the procedure attribute keyword list\n\t\t\t\telse if (wlAttributes.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the procedure attribute state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_ATTRIBUTE);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the standard equate keyword list\n\t\t\t\telse if (wlStandardEquates.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the standard equate state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_STANDARD_EQUATE);\n\t\t\t\t}\n\t\t\t\t// Else if statement string is in the deprecated or legacy keyword list\n\t\t\t\telse if (wlLegacyStatements.InList(cStatement)) {\n\t\t\t\t\t// Change the statement string to the standard equate state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_DEPRECATED);\n\t\t\t\t}\n\t\t\t\t// Else the statement string doesn't match any work list\n\t\t\t\telse {\n\t\t\t\t\t// Change the statement string to the default state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_DEFAULT);\n\t\t\t\t}\n\t\t\t\t// Terminate the keyword state and set to default state\n\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t}\n\t\t}\n\t\t// String State Handling\n\t\telse if (scDoc.state == SCE_CLW_STRING) {\n\t\t\t// If the character is an ' (single quote)\n\t\t\tif (scDoc.ch == '\\'') {\n\t\t\t\t// Set the state to default and move forward colouring\n\t\t\t\t// the ' (single quote) as default state\n\t\t\t\t// terminating the string state\n\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t\tscDoc.Forward();\n\t\t\t}\n\t\t\t// If the next character is an ' (single quote)\n\t\t\tif (scDoc.chNext == '\\'') {\n\t\t\t\t// Move forward one character and set to default state\n\t\t\t\t// colouring the next ' (single quote) as default state\n\t\t\t\t// terminating the string state\n\t\t\t\tscDoc.ForwardSetState(SCE_CLW_DEFAULT);\n\t\t\t\tscDoc.Forward();\n\t\t\t}\n\t\t}\n\t\t// Picture String State Handling\n\t\telse if (scDoc.state == SCE_CLW_PICTURE_STRING) {\n\t\t\t// If the character is an ( (open parenthese)\n\t\t\tif (scDoc.ch == '(') {\n\t\t\t\t// Increment the parenthese level\n\t\t\t\tiParenthesesLevel++;\n\t\t\t}\n\t\t\t// Else if the character is a ) (close parenthese)\n\t\t\telse if (scDoc.ch == ')') {\n\t\t\t\t// If the parenthese level is set to zero\n\t\t\t\t// parentheses matched\n\t\t\t\tif (!iParenthesesLevel) {\n\t\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t\t}\n\t\t\t\t// Else parenthese level is greater than zero\n\t\t\t\t// still looking for matching parentheses\n\t\t\t\telse {\n\t\t\t\t\t// Decrement the parenthese level\n\t\t\t\t\tiParenthesesLevel--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Standard Equate State Handling\n\t\telse if (scDoc.state == SCE_CLW_STANDARD_EQUATE) {\n\t\t\tif (!isalnum(scDoc.ch)) {\n\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t}\n\t\t}\n\t\t// Integer Constant State Handling\n\t\telse if (scDoc.state == SCE_CLW_INTEGER_CONSTANT) {\n\t\t\t// If the character is not a digit (0-9)\n\t\t\t// or character is not a hexidecimal character (A-F)\n\t\t\t// or character is not a . (point)\n\t\t\t// or character is not a numberic base character (B,O,H)\n\t\t\tif (!(isdigit(scDoc.ch)\n\t\t\t|| IsAHexCharacter(scDoc.ch, bCaseSensitive)\n\t\t\t|| scDoc.ch == '.'\n\t\t\t|| IsANumericBaseCharacter(scDoc.ch, bCaseSensitive))) {\n\t\t\t\t// If the number was a real\n\t\t\t\tif (SetNumericConstantState(scDoc)) {\n\t\t\t\t\t// Colour the matched string to the real constant state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_REAL_CONSTANT);\n\t\t\t\t}\n\t\t\t\t// Else the number was an integer\n\t\t\t\telse {\n\t\t\t\t\t// Colour the matched string to an integer constant state\n\t\t\t\t\tscDoc.ChangeState(SCE_CLW_INTEGER_CONSTANT);\n\t\t\t\t}\n\t\t\t\t// Terminate the integer constant state and set to default state\n\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Determine if a new state should be entered.\n\t\t//\n\n\t\t// Beginning of Line Handling\n\t\tif (scDoc.atLineStart) {\n\t\t\t// Reset the column 1 label flag\n\t\t\tiColumn1Label = false;\n\t\t\t// If column 1 character is a label start character\n\t\t\tif (IsALabelStart(scDoc.ch)) {\n\t\t\t\t// Label character is found in column 1\n\t\t\t\t// so set column 1 label flag and clear last column 1 label\n\t\t\t\tiColumn1Label = true;\n\t\t\t\t// Set the state to label\n\t\t\t\tscDoc.SetState(SCE_CLW_LABEL);\n\t\t\t}\n\t\t\t// else if character is a space or tab\n\t\t\telse if (IsASpace(scDoc.ch)){\n\t\t\t\t// Set to default state\n\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t}\n\t\t\t// else if comment start (!) or is an * (asterisk)\n\t\t\telse if (IsACommentStart(scDoc.ch) || scDoc.ch == '*' ) {\n\t\t\t\t// then set the state to comment.\n\t\t\t\tscDoc.SetState(SCE_CLW_COMMENT);\n\t\t\t}\n\t\t\t// else the character is a ? (question mark)\n\t\t\telse if (scDoc.ch == '?') {\n\t\t\t\t// Change to the compiler directive state, move forward,\n\t\t\t\t// colouring the ? (question mark), change back to default state.\n\t\t\t\tscDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE);\n\t\t\t\tscDoc.Forward();\n\t\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t\t}\n\t\t\t// else an invalid character in column 1\n\t\t\telse {\n\t\t\t\t// Set to error state\n\t\t\t\tscDoc.SetState(SCE_CLW_ERROR);\n\t\t\t}\n\t\t}\n\t\t// End of Line Handling\n\t\telse if (scDoc.atLineEnd) {\n\t\t\t// Reset to the default state at the end of each line.\n\t\t\tscDoc.SetState(SCE_CLW_DEFAULT);\n\t\t}\n\t\t// Default Handling\n\t\telse {\n\t\t\t// If in default state\n\t\t\tif (scDoc.state == SCE_CLW_DEFAULT) {\n\t\t\t\t// If is a letter could be a possible statement\n\t\t\t\tif (isalpha(scDoc.ch)) {\n\t\t\t\t\t// Set the state to Clarion Keyword and verify later\n\t\t\t\t\tscDoc.SetState(SCE_CLW_KEYWORD);\n\t\t\t\t}\n\t\t\t\t// else is a number\n\t\t\t\telse if (isdigit(scDoc.ch)) {\n\t\t\t\t\t// Set the state to Integer Constant and verify later\n\t\t\t\t\tscDoc.SetState(SCE_CLW_INTEGER_CONSTANT);\n\t\t\t\t}\n\t\t\t\t// else if the start of a comment or a | (line continuation)\n\t\t\t\telse if (IsACommentStart(scDoc.ch) || scDoc.ch == '|') {\n\t\t\t\t\t// then set the state to comment.\n\t\t\t\t\tscDoc.SetState(SCE_CLW_COMMENT);\n\t\t\t\t}\n\t\t\t\t// else if the character is a ' (single quote)\n\t\t\t\telse if (scDoc.ch == '\\'') {\n\t\t\t\t\t// If the character is also a ' (single quote)\n\t\t\t\t\t// Embedded Apostrophe\n\t\t\t\t\tif (scDoc.chNext == '\\'') {\n\t\t\t\t\t\t// Move forward colouring it as default state\n\t\t\t\t\t\tscDoc.ForwardSetState(SCE_CLW_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// move to the next character and then set the state to comment.\n\t\t\t\t\t\tscDoc.ForwardSetState(SCE_CLW_STRING);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// else the character is an @ (ampersand)\n\t\t\t\telse if (scDoc.ch == '@') {\n\t\t\t\t\t// Case insensitive.\n\t\t\t\t\tif (!bCaseSensitive) {\n\t\t\t\t\t\t// If character is a valid picture token character\n\t\t\t\t\t\tif (strchr(\"DEKNPSTdeknpst\", scDoc.chNext) != NULL) {\n\t\t\t\t\t\t\t// Set to the picture string state\n\t\t\t\t\t\t\tscDoc.SetState(SCE_CLW_PICTURE_STRING);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Case sensitive\n\t\t\t\t\telse {\n\t\t\t\t\t\t// If character is a valid picture token character\n\t\t\t\t\t\tif (strchr(\"DEKNPST\", scDoc.chNext) != NULL) {\n\t\t\t\t\t\t\t// Set the picture string state\n\t\t\t\t\t\t\tscDoc.SetState(SCE_CLW_PICTURE_STRING);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// lexing complete\n\tscDoc.Complete();\n}\n\n// Clarion Language Case Sensitive Colouring Procedure\nstatic void ColouriseClarionDocSensitive(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *wlKeywords[], Accessor &accStyler) {\n\n\tColouriseClarionDoc(uiStartPos, iLength, iInitStyle, wlKeywords, accStyler, true);\n}\n\n// Clarion Language Case Insensitive Colouring Procedure\nstatic void ColouriseClarionDocInsensitive(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *wlKeywords[], Accessor &accStyler) {\n\n\tColouriseClarionDoc(uiStartPos, iLength, iInitStyle, wlKeywords, accStyler, false);\n}\n\n// Fill Buffer\n\nstatic void FillBuffer(Sci_PositionU uiStart, Sci_PositionU uiEnd, Accessor &accStyler, char *szBuffer, Sci_PositionU uiLength) {\n\n\tSci_PositionU uiPos = 0;\n\n\twhile ((uiPos < uiEnd - uiStart + 1) && (uiPos < uiLength-1)) {\n\t\tszBuffer[uiPos] = static_cast<char>(toupper(accStyler[uiStart + uiPos]));\n\t\tuiPos++;\n\t}\n\tszBuffer[uiPos] = '\\0';\n}\n\n// Classify Clarion Fold Point\n\nstatic int ClassifyClarionFoldPoint(int iLevel, const char* szString) {\n\n\tif (!(isdigit(szString[0]) || (szString[0] == '.'))) {\n\t\tif (strcmp(szString, \"PROCEDURE\") == 0) {\n\t//\t\tiLevel = SC_FOLDLEVELBASE + 1;\n\t\t}\n\t\telse if (strcmp(szString, \"MAP\") == 0 ||\n\t\t\tstrcmp(szString,\"ACCEPT\") == 0 ||\n\t\t\tstrcmp(szString,\"BEGIN\") == 0 ||\n\t\t\tstrcmp(szString,\"CASE\") == 0 ||\n\t\t\tstrcmp(szString,\"EXECUTE\") == 0 ||\n\t\t\tstrcmp(szString,\"IF\") == 0 ||\n\t\t\tstrcmp(szString,\"ITEMIZE\") == 0 ||\n\t\t\tstrcmp(szString,\"INTERFACE\") == 0 ||\n\t\t\tstrcmp(szString,\"JOIN\") == 0 ||\n\t\t\tstrcmp(szString,\"LOOP\") == 0 ||\n\t\t\tstrcmp(szString,\"MODULE\") == 0 ||\n\t\t\tstrcmp(szString,\"RECORD\") == 0) {\n\t\t\tiLevel++;\n\t\t}\n\t\telse if (strcmp(szString, \"APPLICATION\") == 0 ||\n\t\t\tstrcmp(szString, \"CLASS\") == 0 ||\n\t\t\tstrcmp(szString, \"DETAIL\") == 0 ||\n\t\t\tstrcmp(szString, \"FILE\") == 0 ||\n\t\t\tstrcmp(szString, \"FOOTER\") == 0 ||\n\t\t\tstrcmp(szString, \"FORM\") == 0 ||\n\t\t\tstrcmp(szString, \"GROUP\") == 0 ||\n\t\t\tstrcmp(szString, \"HEADER\") == 0 ||\n\t\t\tstrcmp(szString, \"INTERFACE\") == 0 ||\n\t\t\tstrcmp(szString, \"MENU\") == 0 ||\n\t\t\tstrcmp(szString, \"MENUBAR\") == 0 ||\n\t\t\tstrcmp(szString, \"OLE\") == 0 ||\n\t\t\tstrcmp(szString, \"OPTION\") == 0 ||\n\t\t\tstrcmp(szString, \"QUEUE\") == 0 ||\n\t\t\tstrcmp(szString, \"REPORT\") == 0 ||\n\t\t\tstrcmp(szString, \"SHEET\") == 0 ||\n\t\t\tstrcmp(szString, \"TAB\") == 0 ||\n\t\t\tstrcmp(szString, \"TOOLBAR\") == 0 ||\n\t\t\tstrcmp(szString, \"VIEW\") == 0 ||\n\t\t\tstrcmp(szString, \"WINDOW\") == 0) {\n\t\t\tiLevel++;\n\t\t}\n\t\telse if (strcmp(szString, \"END\") == 0 ||\n\t\t\tstrcmp(szString, \"UNTIL\") == 0 ||\n\t\t\tstrcmp(szString, \"WHILE\") == 0) {\n\t\t\tiLevel--;\n\t\t}\n\t}\n\treturn(iLevel);\n}\n\n// Clarion Language Folding Procedure\nstatic void FoldClarionDoc(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *[], Accessor &accStyler) {\n\n\tSci_PositionU uiEndPos = uiStartPos + iLength;\n\tSci_Position iLineCurrent = accStyler.GetLine(uiStartPos);\n\tint iLevelPrev = accStyler.LevelAt(iLineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint iLevelCurrent = iLevelPrev;\n\tchar chNext = accStyler[uiStartPos];\n\tint iStyle = iInitStyle;\n\tint iStyleNext = accStyler.StyleAt(uiStartPos);\n\tint iVisibleChars = 0;\n\tSci_Position iLastStart = 0;\n\n\tfor (Sci_PositionU uiPos = uiStartPos; uiPos < uiEndPos; uiPos++) {\n\n\t\tchar chChar = chNext;\n\t\tchNext = accStyler.SafeGetCharAt(uiPos + 1);\n\t\tint iStylePrev = iStyle;\n\t\tiStyle = iStyleNext;\n\t\tiStyleNext = accStyler.StyleAt(uiPos + 1);\n\t\tbool bEOL = (chChar == '\\r' && chNext != '\\n') || (chChar == '\\n');\n\n\t\tif (iStylePrev == SCE_CLW_DEFAULT) {\n\t\t\tif (iStyle == SCE_CLW_KEYWORD || iStyle == SCE_CLW_STRUCTURE_DATA_TYPE) {\n\t\t\t\t// Store last word start point.\n\t\t\t\tiLastStart = uiPos;\n\t\t\t}\n\t\t}\n\n\t\tif (iStylePrev == SCE_CLW_KEYWORD || iStylePrev == SCE_CLW_STRUCTURE_DATA_TYPE) {\n\t\t\tif(iswordchar(chChar) && !iswordchar(chNext)) {\n\t\t\t\tchar chBuffer[100];\n\t\t\t\tFillBuffer(iLastStart, uiPos, accStyler, chBuffer, sizeof(chBuffer));\n\t\t\t\tiLevelCurrent = ClassifyClarionFoldPoint(iLevelCurrent,chBuffer);\n\t\t\t//\tif ((iLevelCurrent == SC_FOLDLEVELBASE + 1) && iLineCurrent > 1) {\n\t\t\t//\t\taccStyler.SetLevel(iLineCurrent-1,SC_FOLDLEVELBASE);\n\t\t\t//\t\tiLevelPrev = SC_FOLDLEVELBASE;\n\t\t\t//\t}\n\t\t\t}\n\t\t}\n\n\t\tif (bEOL) {\n\t\t\tint iLevel = iLevelPrev;\n\t\t\tif ((iLevelCurrent > iLevelPrev) && (iVisibleChars > 0))\n\t\t\t\tiLevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (iLevel != accStyler.LevelAt(iLineCurrent)) {\n\t\t\t\taccStyler.SetLevel(iLineCurrent,iLevel);\n\t\t\t}\n\t\t\tiLineCurrent++;\n\t\t\tiLevelPrev = iLevelCurrent;\n\t\t\tiVisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(chChar))\n\t\t\tiVisibleChars++;\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags\n\t// as they will be filled in later.\n\tint iFlagsNext = accStyler.LevelAt(iLineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\taccStyler.SetLevel(iLineCurrent, iLevelPrev | iFlagsNext);\n}\n\n// Word List Descriptions\nstatic const char * const rgWordListDescriptions[] = {\n\t\"Clarion Keywords\",\n\t\"Compiler Directives\",\n\t\"Built-in Procedures and Functions\",\n\t\"Runtime Expressions\",\n\t\"Structure and Data Types\",\n\t\"Attributes\",\n\t\"Standard Equates\",\n\t\"Reserved Words (Labels)\",\n\t\"Reserved Words (Procedure Labels)\",\n\t0,\n};\n\n// Case Sensitive Clarion Language Lexer\nLexerModule lmClw(SCLEX_CLW, ColouriseClarionDocSensitive, \"clarion\", FoldClarionDoc, rgWordListDescriptions);\n\n// Case Insensitive Clarion Language Lexer\nLexerModule lmClwNoCase(SCLEX_CLWNOCASE, ColouriseClarionDocInsensitive, \"clarionnocase\", FoldClarionDoc, rgWordListDescriptions);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCOBOL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCOBOL.cxx\n ** Lexer for COBOL\n ** Based on LexPascal.cxx\n ** Written by Laurent le Tynevez\n ** Updated by Simon Steele <s.steele@pnotepad.org> September 2002\n ** Updated by Mathias Rauen <scite@madshi.net> May 2003 (Delphi adjustments)\n ** Updated by Rod Falck, Aug 2006 Converted to COBOL\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n#define IN_DIVISION 0x01\n#define IN_DECLARATIVES 0x02\n#define IN_SECTION 0x04\n#define IN_PARAGRAPH 0x08\n#define IN_FLAGS 0xF\n#define NOT_HEADER 0x10\n\ninline bool isCOBOLoperator(char ch)\n    {\n    return isoperator(ch);\n    }\n\ninline bool isCOBOLwordchar(char ch)\n    {\n    return IsASCII(ch) && (isalnum(ch) || ch == '-');\n\n    }\n\ninline bool isCOBOLwordstart(char ch)\n    {\n    return IsASCII(ch) && isalnum(ch);\n    }\n\nstatic int CountBits(int nBits)\n\t{\n\tint count = 0;\n\tfor (int i = 0; i < 32; ++i)\n\t\t{\n\t\tcount += nBits & 1;\n\t\tnBits >>= 1;\n\t\t}\n\treturn count;\n\t}\n\nstatic void getRange(Sci_PositionU start,\n        Sci_PositionU end,\n        Accessor &styler,\n        char *s,\n        Sci_PositionU len) {\n    Sci_PositionU i = 0;\n    while ((i < end - start + 1) && (i < len-1)) {\n        s[i] = static_cast<char>(tolower(styler[start + i]));\n        i++;\n    }\n    s[i] = '\\0';\n}\n\nstatic void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int attr) {\n    styler.ColourTo(end, attr);\n}\n\n\nstatic int classifyWordCOBOL(Sci_PositionU start, Sci_PositionU end, /*WordList &keywords*/WordList *keywordlists[], Accessor &styler, int nContainment, bool *bAarea) {\n    int ret = 0;\n\n    WordList& a_keywords = *keywordlists[0];\n    WordList& b_keywords = *keywordlists[1];\n    WordList& c_keywords = *keywordlists[2];\n\n    char s[100];\n    s[0] = '\\0';\n    s[1] = '\\0';\n    getRange(start, end, styler, s, sizeof(s));\n\n    char chAttr = SCE_C_IDENTIFIER;\n    if (isdigit(s[0]) || (s[0] == '.') || (s[0] == 'v')) {\n        chAttr = SCE_C_NUMBER;\n\t\tchar *p = s + 1;\n\t\twhile (*p) {\n\t\t\tif ((!isdigit(*p) && (*p) != 'v') && isCOBOLwordchar(*p)) {\n\t\t\t\tchAttr = SCE_C_IDENTIFIER;\n\t\t\t    break;\n\t\t\t}\n\t\t\t++p;\n\t\t}\n    }\n    else {\n        if (a_keywords.InList(s)) {\n            chAttr = SCE_C_WORD;\n        }\n        else if (b_keywords.InList(s)) {\n            chAttr = SCE_C_WORD2;\n        }\n        else if (c_keywords.InList(s)) {\n            chAttr = SCE_C_UUID;\n        }\n    }\n    if (*bAarea) {\n        if (strcmp(s, \"division\") == 0) {\n            ret = IN_DIVISION;\n\t\t\t// we've determined the containment, anything else is just ignored for those purposes\n\t\t\t*bAarea = false;\n\t\t} else if (strcmp(s, \"declaratives\") == 0) {\n            ret = IN_DIVISION | IN_DECLARATIVES;\n\t\t\tif (nContainment & IN_DECLARATIVES)\n\t\t\t\tret |= NOT_HEADER | IN_SECTION;\n\t\t\t// we've determined the containment, anything else is just ignored for those purposes\n\t\t\t*bAarea = false;\n\t\t} else if (strcmp(s, \"section\") == 0) {\n            ret = (nContainment &~ IN_PARAGRAPH) | IN_SECTION;\n\t\t\t// we've determined the containment, anything else is just ignored for those purposes\n\t\t\t*bAarea = false;\n\t\t} else if (strcmp(s, \"end\") == 0 && (nContainment & IN_DECLARATIVES)) {\n            ret = IN_DIVISION | IN_DECLARATIVES | IN_SECTION | NOT_HEADER;\n\t\t} else {\n\t\t\tret = nContainment | IN_PARAGRAPH;\n        }\n    }\n    ColourTo(styler, end, chAttr);\n    return ret;\n}\n\nstatic void ColouriseCOBOLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n    Accessor &styler) {\n\n    styler.StartAt(startPos);\n\n    int state = initStyle;\n    if (state == SCE_C_CHARACTER)   // Does not leak onto next line\n        state = SCE_C_DEFAULT;\n    char chPrev = ' ';\n    char chNext = styler[startPos];\n    Sci_PositionU lengthDoc = startPos + length;\n\n    int nContainment;\n\n    Sci_Position currentLine = styler.GetLine(startPos);\n    if (currentLine > 0) {\n        styler.SetLineState(currentLine, styler.GetLineState(currentLine-1));\n        nContainment = styler.GetLineState(currentLine);\n\t\tnContainment &= ~NOT_HEADER;\n    } else {\n        styler.SetLineState(currentLine, 0);\n        nContainment = 0;\n    }\n\n    styler.StartSegment(startPos);\n    bool bNewLine = true;\n    bool bAarea = !isspacechar(chNext);\n\tint column = 0;\n    for (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n        char ch = chNext;\n\n        chNext = styler.SafeGetCharAt(i + 1);\n\n\t\t++column;\n\n        if (bNewLine) {\n\t\t\tcolumn = 0;\n        }\n\t\tif (column <= 1 && !bAarea) {\n\t\t\tbAarea = !isspacechar(ch);\n\t\t\t}\n        bool bSetNewLine = false;\n        if ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n            // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix)\n            // Avoid triggering two times on Dos/Win\n            // End of line\n            if (state == SCE_C_CHARACTER) {\n                ColourTo(styler, i, state);\n                state = SCE_C_DEFAULT;\n            }\n            styler.SetLineState(currentLine, nContainment);\n            currentLine++;\n            bSetNewLine = true;\n\t\t\tif (nContainment & NOT_HEADER)\n\t\t\t\tnContainment &= ~(NOT_HEADER | IN_DECLARATIVES | IN_SECTION);\n        }\n\n        if (styler.IsLeadByte(ch)) {\n            chNext = styler.SafeGetCharAt(i + 2);\n            chPrev = ' ';\n            i += 1;\n            continue;\n        }\n\n        if (state == SCE_C_DEFAULT) {\n            if (isCOBOLwordstart(ch) || (ch == '$' && IsASCII(chNext) && isalpha(chNext))) {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_IDENTIFIER;\n            } else if (column == 6 && ch == '*') {\n            // Cobol comment line: asterisk in column 7.\n                ColourTo(styler, i-1, state);\n                state = SCE_C_COMMENTLINE;\n            } else if (ch == '*' && chNext == '>') {\n            // Cobol inline comment: asterisk, followed by greater than.\n                ColourTo(styler, i-1, state);\n                state = SCE_C_COMMENTLINE;\n            } else if (column == 0 && ch == '*' && chNext != '*') {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_COMMENTLINE;\n            } else if (column == 0 && ch == '/' && chNext != '*') {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_COMMENTLINE;\n            } else if (column == 0 && ch == '*' && chNext == '*') {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_COMMENTDOC;\n            } else if (column == 0 && ch == '/' && chNext == '*') {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_COMMENTDOC;\n            } else if (ch == '\"') {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_STRING;\n            } else if (ch == '\\'') {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_CHARACTER;\n            } else if (ch == '?' && column == 0) {\n                ColourTo(styler, i-1, state);\n                state = SCE_C_PREPROCESSOR;\n            } else if (isCOBOLoperator(ch)) {\n                ColourTo(styler, i-1, state);\n                ColourTo(styler, i, SCE_C_OPERATOR);\n            }\n        } else if (state == SCE_C_IDENTIFIER) {\n            if (!isCOBOLwordchar(ch)) {\n                int lStateChange = classifyWordCOBOL(styler.GetStartSegment(), i - 1, keywordlists, styler, nContainment, &bAarea);\n\n                if(lStateChange != 0) {\n                    styler.SetLineState(currentLine, lStateChange);\n                    nContainment = lStateChange;\n                }\n\n                state = SCE_C_DEFAULT;\n                chNext = styler.SafeGetCharAt(i + 1);\n                if (ch == '\"') {\n                    state = SCE_C_STRING;\n                } else if (ch == '\\'') {\n                    state = SCE_C_CHARACTER;\n                } else if (isCOBOLoperator(ch)) {\n                    ColourTo(styler, i, SCE_C_OPERATOR);\n                }\n            }\n        } else {\n            if (state == SCE_C_PREPROCESSOR) {\n                if ((ch == '\\r' || ch == '\\n') && !(chPrev == '\\\\' || chPrev == '\\r')) {\n                    ColourTo(styler, i-1, state);\n                    state = SCE_C_DEFAULT;\n                }\n            } else if (state == SCE_C_COMMENT) {\n                if (ch == '\\r' || ch == '\\n') {\n                    ColourTo(styler, i, state);\n                    state = SCE_C_DEFAULT;\n                }\n            } else if (state == SCE_C_COMMENTDOC) {\n                if (ch == '\\r' || ch == '\\n') {\n                    if (((i > styler.GetStartSegment() + 2) || (\n                        (initStyle == SCE_C_COMMENTDOC) &&\n                        (styler.GetStartSegment() == static_cast<Sci_PositionU>(startPos))))) {\n                            ColourTo(styler, i, state);\n                            state = SCE_C_DEFAULT;\n                    }\n                }\n            } else if (state == SCE_C_COMMENTLINE) {\n                if (ch == '\\r' || ch == '\\n') {\n                    ColourTo(styler, i-1, state);\n                    state = SCE_C_DEFAULT;\n                }\n            } else if (state == SCE_C_STRING) {\n                if (ch == '\"') {\n                    ColourTo(styler, i, state);\n                    state = SCE_C_DEFAULT;\n                }\n            } else if (state == SCE_C_CHARACTER) {\n                if (ch == '\\'') {\n                    ColourTo(styler, i, state);\n                    state = SCE_C_DEFAULT;\n                }\n            }\n        }\n        chPrev = ch;\n        bNewLine = bSetNewLine;\n\t\tif (bNewLine)\n\t\t\t{\n\t\t\tbAarea = false;\n\t\t\t}\n    }\n    ColourTo(styler, lengthDoc - 1, state);\n}\n\nstatic void FoldCOBOLDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n                            Accessor &styler) {\n    bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelPrev = lineCurrent > 0 ? styler.LevelAt(lineCurrent - 1) & SC_FOLDLEVELNUMBERMASK : 0xFFF;\n    char chNext = styler[startPos];\n\n    bool bNewLine = true;\n    bool bAarea = !isspacechar(chNext);\n\tint column = 0;\n\tbool bComment = false;\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n\t\t++column;\n\n        if (bNewLine) {\n\t\t\tcolumn = 0;\n\t\t\tbComment = (ch == '*' || ch == '/' || ch == '?');\n        }\n\t\tif (column <= 1 && !bAarea) {\n\t\t\tbAarea = !isspacechar(ch);\n\t\t\t}\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n        if (atEOL) {\n\t\t\tint nContainment = styler.GetLineState(lineCurrent);\n            int lev = CountBits(nContainment & IN_FLAGS) | SC_FOLDLEVELBASE;\n\t\t\tif (bAarea && !bComment)\n\t\t\t\t--lev;\n            if (visibleChars == 0 && foldCompact)\n                lev |= SC_FOLDLEVELWHITEFLAG;\n            if ((bAarea) && (visibleChars > 0) && !(nContainment & NOT_HEADER) && !bComment)\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(lineCurrent)) {\n                styler.SetLevel(lineCurrent, lev);\n            }\n\t\t\tif ((lev & SC_FOLDLEVELNUMBERMASK) <= (levelPrev & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t// this level is at the same level or less than the previous line\n\t\t\t\t// therefore these is nothing for the previous header to collapse, so remove the header\n\t\t\t\tstyler.SetLevel(lineCurrent - 1, levelPrev & ~SC_FOLDLEVELHEADERFLAG);\n\t\t\t}\n            levelPrev = lev;\n            visibleChars = 0;\n\t\t\tbAarea = false;\n            bNewLine = true;\n            lineCurrent++;\n        } else {\n            bNewLine = false;\n        }\n\n\n        if (!isspacechar(ch))\n            visibleChars++;\n    }\n\n    // Fill in the real level of the next line, keeping the current flags as they will be filled in later\n    int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n    styler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const COBOLWordListDesc[] = {\n    \"A Keywords\",\n    \"B Keywords\",\n    \"Extended Keywords\",\n    0\n};\n\nLexerModule lmCOBOL(SCLEX_COBOL, ColouriseCOBOLDoc, \"COBOL\", FoldCOBOLDoc, COBOLWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCPP.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCPP.cxx\n ** Lexer for C++, C, Java, and JavaScript.\n ** Further folding features and configuration properties added by \"Udo Lechner\" <dlchnr(at)gmx(dot)net>\n **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <utility>\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"StringCopy.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"SparseState.h\"\n#include \"SubStyles.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\t// Use an unnamed namespace to protect the functions and classes from name conflicts\n\nbool IsSpaceEquiv(int state) noexcept {\n\treturn (state <= SCE_C_COMMENTDOC) ||\n\t\t// including SCE_C_DEFAULT, SCE_C_COMMENT, SCE_C_COMMENTLINE\n\t\t(state == SCE_C_COMMENTLINEDOC) || (state == SCE_C_COMMENTDOCKEYWORD) ||\n\t\t(state == SCE_C_COMMENTDOCKEYWORDERROR);\n}\n\n// Preconditions: sc.currentPos points to a character after '+' or '-'.\n// The test for pos reaching 0 should be redundant,\n// and is in only for safety measures.\n// Limitation: this code will give the incorrect answer for code like\n// a = b+++/ptn/...\n// Putting a space between the '++' post-inc operator and the '+' binary op\n// fixes this, and is highly recommended for readability anyway.\nbool FollowsPostfixOperator(const StyleContext &sc, LexAccessor &styler) {\n\tSci_Position pos = sc.currentPos;\n\twhile (--pos > 0) {\n\t\tconst char ch = styler[pos];\n\t\tif (ch == '+' || ch == '-') {\n\t\t\treturn styler[pos - 1] == ch;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool followsReturnKeyword(const StyleContext &sc, LexAccessor &styler) {\n\t// Don't look at styles, so no need to flush.\n\tSci_Position pos = sc.currentPos;\n\tconst Sci_Position currentLine = styler.GetLine(pos);\n\tconst Sci_Position lineStartPos = styler.LineStart(currentLine);\n\twhile (--pos > lineStartPos) {\n\t\tconst char ch = styler.SafeGetCharAt(pos);\n\t\tif (ch != ' ' && ch != '\\t') {\n\t\t\tbreak;\n\t\t}\n\t}\n\tconst char *retBack = \"nruter\";\n\tconst char *s = retBack;\n\twhile (*s\n\t\t&& pos >= lineStartPos\n\t\t&& styler.SafeGetCharAt(pos) == *s) {\n\t\ts++;\n\t\tpos--;\n\t}\n\treturn !*s;\n}\n\nbool IsSpaceOrTab(int ch) noexcept {\n\treturn ch == ' ' || ch == '\\t';\n}\n\nbool OnlySpaceOrTab(const std::string &s) noexcept {\n\tfor (const char ch : s) {\n\t\tif (!IsSpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nstd::vector<std::string> StringSplit(const std::string &text, int separator) {\n\tstd::vector<std::string> vs(text.empty() ? 0 : 1);\n\tfor (const char ch : text) {\n\t\tif (ch == separator) {\n\t\t\tvs.emplace_back();\n\t\t} else {\n\t\t\tvs.back() += ch;\n\t\t}\n\t}\n\treturn vs;\n}\n\nstruct BracketPair {\n\tstd::vector<std::string>::iterator itBracket;\n\tstd::vector<std::string>::iterator itEndBracket;\n};\n\nBracketPair FindBracketPair(std::vector<std::string> &tokens) {\n\tBracketPair bp;\n\tstd::vector<std::string>::iterator itTok = std::find(tokens.begin(), tokens.end(), \"(\");\n\tbp.itBracket = tokens.end();\n\tbp.itEndBracket = tokens.end();\n\tif (itTok != tokens.end()) {\n\t\tbp.itBracket = itTok;\n\t\tsize_t nest = 0;\n\t\twhile (itTok != tokens.end()) {\n\t\t\tif (*itTok == \"(\") {\n\t\t\t\tnest++;\n\t\t\t} else if (*itTok == \")\") {\n\t\t\t\tnest--;\n\t\t\t\tif (nest == 0) {\n\t\t\t\t\tbp.itEndBracket = itTok;\n\t\t\t\t\treturn bp;\n\t\t\t\t}\n\t\t\t}\n\t\t\t++itTok;\n\t\t}\n\t}\n\tbp.itBracket = tokens.end();\n\treturn bp;\n}\n\nvoid highlightTaskMarker(StyleContext &sc, LexAccessor &styler,\n\t\tint activity, const WordList &markerList, bool caseSensitive){\n\tif ((isoperator(sc.chPrev) || IsASpace(sc.chPrev)) && markerList.Length()) {\n\t\tconst int lengthMarker = 50;\n\t\tchar marker[lengthMarker+1] = \"\";\n\t\tconst Sci_Position currPos = static_cast<Sci_Position>(sc.currentPos);\n\t\tint i = 0;\n\t\twhile (i < lengthMarker) {\n\t\t\tconst char ch = styler.SafeGetCharAt(currPos + i);\n\t\t\tif (IsASpace(ch) || isoperator(ch)) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (caseSensitive)\n\t\t\t\tmarker[i] = ch;\n\t\t\telse\n\t\t\t\tmarker[i] = MakeLowerCase(ch);\n\t\t\ti++;\n\t\t}\n\t\tmarker[i] = '\\0';\n\t\tif (markerList.InList(marker)) {\n\t\t\tsc.SetState(SCE_C_TASKMARKER|activity);\n\t\t}\n\t}\n}\n\nstruct EscapeSequence {\n\tint digitsLeft;\n\tCharacterSet setHexDigits;\n\tCharacterSet setOctDigits;\n\tCharacterSet setNoneNumeric;\n\tCharacterSet *escapeSetValid;\n\tEscapeSequence() {\n\t\tdigitsLeft = 0;\n\t\tescapeSetValid = 0;\n\t\tsetHexDigits = CharacterSet(CharacterSet::setDigits, \"ABCDEFabcdef\");\n\t\tsetOctDigits = CharacterSet(CharacterSet::setNone, \"01234567\");\n\t}\n\tvoid resetEscapeState(int nextChar) {\n\t\tdigitsLeft = 0;\n\t\tescapeSetValid = &setNoneNumeric;\n\t\tif (nextChar == 'U') {\n\t\t\tdigitsLeft = 9;\n\t\t\tescapeSetValid = &setHexDigits;\n\t\t} else if (nextChar == 'u') {\n\t\t\tdigitsLeft = 5;\n\t\t\tescapeSetValid = &setHexDigits;\n\t\t} else if (nextChar == 'x') {\n\t\t\tdigitsLeft = 5;\n\t\t\tescapeSetValid = &setHexDigits;\n\t\t} else if (setOctDigits.Contains(nextChar)) {\n\t\t\tdigitsLeft = 3;\n\t\t\tescapeSetValid = &setOctDigits;\n\t\t}\n\t}\n\tbool atEscapeEnd(int currChar) const {\n\t\treturn (digitsLeft <= 0) || !escapeSetValid->Contains(currChar);\n\t}\n};\n\nstd::string GetRestOfLine(LexAccessor &styler, Sci_Position start, bool allowSpace) {\n\tstd::string restOfLine;\n\tSci_Position i =0;\n\tchar ch = styler.SafeGetCharAt(start, '\\n');\n\tconst Sci_Position endLine = styler.LineEnd(styler.GetLine(start));\n\twhile (((start+i) < endLine) && (ch != '\\r')) {\n\t\tconst char chNext = styler.SafeGetCharAt(start + i + 1, '\\n');\n\t\tif (ch == '/' && (chNext == '/' || chNext == '*'))\n\t\t\tbreak;\n\t\tif (allowSpace || (ch != ' '))\n\t\t\trestOfLine += ch;\n\t\ti++;\n\t\tch = chNext;\n\t}\n\treturn restOfLine;\n}\n\nbool IsStreamCommentStyle(int style) noexcept {\n\treturn style == SCE_C_COMMENT ||\n\t\tstyle == SCE_C_COMMENTDOC ||\n\t\tstyle == SCE_C_COMMENTDOCKEYWORD ||\n\t\tstyle == SCE_C_COMMENTDOCKEYWORDERROR;\n}\n\nstruct PPDefinition {\n\tSci_Position line;\n\tstd::string key;\n\tstd::string value;\n\tbool isUndef;\n\tstd::string arguments;\n\tPPDefinition(Sci_Position line_, const std::string &key_, const std::string &value_, bool isUndef_ = false, const std::string &arguments_=\"\") :\n\t\tline(line_), key(key_), value(value_), isUndef(isUndef_), arguments(arguments_) {\n\t}\n};\n\nclass LinePPState {\n\tint state;\n\tint ifTaken;\n\tint level;\n\tbool ValidLevel() const noexcept {\n\t\treturn level >= 0 && level < 32;\n\t}\n\tint maskLevel() const noexcept {\n\t\tif (level >= 0) {\n\t\t\treturn 1 << level;\n\t\t} else {\n\t\t\treturn 1;\n\t\t}\n\t}\npublic:\n\tLinePPState() : state(0), ifTaken(0), level(-1) {\n\t}\n\tbool IsInactive() const noexcept {\n\t\treturn state != 0;\n\t}\n\tbool CurrentIfTaken() const noexcept {\n\t\treturn (ifTaken & maskLevel()) != 0;\n\t}\n\tvoid StartSection(bool on) noexcept {\n\t\tlevel++;\n\t\tif (ValidLevel()) {\n\t\t\tif (on) {\n\t\t\t\tstate &= ~maskLevel();\n\t\t\t\tifTaken |= maskLevel();\n\t\t\t} else {\n\t\t\t\tstate |= maskLevel();\n\t\t\t\tifTaken &= ~maskLevel();\n\t\t\t}\n\t\t}\n\t}\n\tvoid EndSection() noexcept {\n\t\tif (ValidLevel()) {\n\t\t\tstate &= ~maskLevel();\n\t\t\tifTaken &= ~maskLevel();\n\t\t}\n\t\tlevel--;\n\t}\n\tvoid InvertCurrentLevel() noexcept {\n\t\tif (ValidLevel()) {\n\t\t\tstate ^= maskLevel();\n\t\t\tifTaken |= maskLevel();\n\t\t}\n\t}\n};\n\n// Hold the preprocessor state for each line seen.\n// Currently one entry per line but could become sparse with just one entry per preprocessor line.\nclass PPStates {\n\tstd::vector<LinePPState> vlls;\npublic:\n\tLinePPState ForLine(Sci_Position line) const {\n\t\tif ((line > 0) && (vlls.size() > static_cast<size_t>(line))) {\n\t\t\treturn vlls[line];\n\t\t} else {\n\t\t\treturn LinePPState();\n\t\t}\n\t}\n\tvoid Add(Sci_Position line, LinePPState lls) {\n\t\tvlls.resize(line+1);\n\t\tvlls[line] = lls;\n\t}\n};\n\n// An individual named option for use in an OptionSet\n\n// Options used for LexerCPP\nstruct OptionsCPP {\n\tbool stylingWithinPreprocessor;\n\tbool identifiersAllowDollars;\n\tbool trackPreprocessor;\n\tbool updatePreprocessor;\n\tbool verbatimStringsAllowEscapes;\n\tbool triplequotedStrings;\n\tbool hashquotedStrings;\n\tbool backQuotedStrings;\n\tbool escapeSequence;\n\tbool fold;\n\tbool foldSyntaxBased;\n\tbool foldComment;\n\tbool foldCommentMultiline;\n\tbool foldCommentExplicit;\n\tstd::string foldExplicitStart;\n\tstd::string foldExplicitEnd;\n\tbool foldExplicitAnywhere;\n\tbool foldPreprocessor;\n\tbool foldPreprocessorAtElse;\n\tbool foldCompact;\n\tbool foldAtElse;\n\tOptionsCPP() {\n\t\tstylingWithinPreprocessor = false;\n\t\tidentifiersAllowDollars = true;\n\t\ttrackPreprocessor = true;\n\t\tupdatePreprocessor = true;\n\t\tverbatimStringsAllowEscapes = false;\n\t\ttriplequotedStrings = false;\n\t\thashquotedStrings = false;\n\t\tbackQuotedStrings = false;\n\t\tescapeSequence = false;\n\t\tfold = false;\n\t\tfoldSyntaxBased = true;\n\t\tfoldComment = false;\n\t\tfoldCommentMultiline = true;\n\t\tfoldCommentExplicit = true;\n\t\tfoldExplicitStart = \"\";\n\t\tfoldExplicitEnd = \"\";\n\t\tfoldExplicitAnywhere = false;\n\t\tfoldPreprocessor = false;\n\t\tfoldPreprocessorAtElse = false;\n\t\tfoldCompact = false;\n\t\tfoldAtElse = false;\n\t}\n};\n\nconst char *const cppWordLists[] = {\n            \"Primary keywords and identifiers\",\n            \"Secondary keywords and identifiers\",\n            \"Documentation comment keywords\",\n            \"Global classes and typedefs\",\n            \"Preprocessor definitions\",\n            \"Task marker and error marker keywords\",\n            0,\n};\n\nstruct OptionSetCPP : public OptionSet<OptionsCPP> {\n\tOptionSetCPP() {\n\t\tDefineProperty(\"styling.within.preprocessor\", &OptionsCPP::stylingWithinPreprocessor,\n\t\t\t\"For C++ code, determines whether all preprocessor code is styled in the \"\n\t\t\t\"preprocessor style (0, the default) or only from the initial # to the end \"\n\t\t\t\"of the command word(1).\");\n\n\t\tDefineProperty(\"lexer.cpp.allow.dollars\", &OptionsCPP::identifiersAllowDollars,\n\t\t\t\"Set to 0 to disallow the '$' character in identifiers with the cpp lexer.\");\n\n\t\tDefineProperty(\"lexer.cpp.track.preprocessor\", &OptionsCPP::trackPreprocessor,\n\t\t\t\"Set to 1 to interpret #if/#else/#endif to grey out code that is not active.\");\n\n\t\tDefineProperty(\"lexer.cpp.update.preprocessor\", &OptionsCPP::updatePreprocessor,\n\t\t\t\"Set to 1 to update preprocessor definitions when #define found.\");\n\n\t\tDefineProperty(\"lexer.cpp.verbatim.strings.allow.escapes\", &OptionsCPP::verbatimStringsAllowEscapes,\n\t\t\t\"Set to 1 to allow verbatim strings to contain escape sequences.\");\n\n\t\tDefineProperty(\"lexer.cpp.triplequoted.strings\", &OptionsCPP::triplequotedStrings,\n\t\t\t\"Set to 1 to enable highlighting of triple-quoted strings.\");\n\n\t\tDefineProperty(\"lexer.cpp.hashquoted.strings\", &OptionsCPP::hashquotedStrings,\n\t\t\t\"Set to 1 to enable highlighting of hash-quoted strings.\");\n\n\t\tDefineProperty(\"lexer.cpp.backquoted.strings\", &OptionsCPP::backQuotedStrings,\n\t\t\t\"Set to 1 to enable highlighting of back-quoted raw strings .\");\n\n\t\tDefineProperty(\"lexer.cpp.escape.sequence\", &OptionsCPP::escapeSequence,\n\t\t\t\"Set to 1 to enable highlighting of escape sequences in strings\");\n\n\t\tDefineProperty(\"fold\", &OptionsCPP::fold);\n\n\t\tDefineProperty(\"fold.cpp.syntax.based\", &OptionsCPP::foldSyntaxBased,\n\t\t\t\"Set this property to 0 to disable syntax based folding.\");\n\n\t\tDefineProperty(\"fold.comment\", &OptionsCPP::foldComment,\n\t\t\t\"This option enables folding multi-line comments and explicit fold points when using the C++ lexer. \"\n\t\t\t\"Explicit fold points allows adding extra folding by placing a //{ comment at the start and a //} \"\n\t\t\t\"at the end of a section that should fold.\");\n\n\t\tDefineProperty(\"fold.cpp.comment.multiline\", &OptionsCPP::foldCommentMultiline,\n\t\t\t\"Set this property to 0 to disable folding multi-line comments when fold.comment=1.\");\n\n\t\tDefineProperty(\"fold.cpp.comment.explicit\", &OptionsCPP::foldCommentExplicit,\n\t\t\t\"Set this property to 0 to disable folding explicit fold points when fold.comment=1.\");\n\n\t\tDefineProperty(\"fold.cpp.explicit.start\", &OptionsCPP::foldExplicitStart,\n\t\t\t\"The string to use for explicit fold start points, replacing the standard //{.\");\n\n\t\tDefineProperty(\"fold.cpp.explicit.end\", &OptionsCPP::foldExplicitEnd,\n\t\t\t\"The string to use for explicit fold end points, replacing the standard //}.\");\n\n\t\tDefineProperty(\"fold.cpp.explicit.anywhere\", &OptionsCPP::foldExplicitAnywhere,\n\t\t\t\"Set this property to 1 to enable explicit fold points anywhere, not just in line comments.\");\n\n\t\tDefineProperty(\"fold.cpp.preprocessor.at.else\", &OptionsCPP::foldPreprocessorAtElse,\n\t\t\t\"This option enables folding on a preprocessor #else or #endif line of an #if statement.\");\n\n\t\tDefineProperty(\"fold.preprocessor\", &OptionsCPP::foldPreprocessor,\n\t\t\t\"This option enables folding preprocessor directives when using the C++ lexer. \"\n\t\t\t\"Includes C#'s explicit #region and #endregion folding directives.\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsCPP::foldCompact);\n\n\t\tDefineProperty(\"fold.at.else\", &OptionsCPP::foldAtElse,\n\t\t\t\"This option enables C++ folding on a \\\"} else {\\\" line of an if statement.\");\n\n\t\tDefineWordListSets(cppWordLists);\n\t}\n};\n\nconst char styleSubable[] = {SCE_C_IDENTIFIER, SCE_C_COMMENTDOCKEYWORD, 0};\n\nLexicalClass lexicalClasses[] = {\n\t// Lexer Cpp SCLEX_CPP SCE_C_:\n\t0, \"SCE_C_DEFAULT\", \"default\", \"White space\",\n\t1, \"SCE_C_COMMENT\", \"comment\", \"Comment: /* */.\",\n\t2, \"SCE_C_COMMENTLINE\", \"comment line\", \"Line Comment: //.\",\n\t3, \"SCE_C_COMMENTDOC\", \"comment documentation\", \"Doc comment: block comments beginning with /** or /*!\",\n\t4, \"SCE_C_NUMBER\", \"literal numeric\", \"Number\",\n\t5, \"SCE_C_WORD\", \"keyword\", \"Keyword\",\n\t6, \"SCE_C_STRING\", \"literal string\", \"Double quoted string\",\n\t7, \"SCE_C_CHARACTER\", \"literal string character\", \"Single quoted string\",\n\t8, \"SCE_C_UUID\", \"literal uuid\", \"UUIDs (only in IDL)\",\n\t9, \"SCE_C_PREPROCESSOR\", \"preprocessor\", \"Preprocessor\",\n\t10, \"SCE_C_OPERATOR\", \"operator\", \"Operators\",\n\t11, \"SCE_C_IDENTIFIER\", \"identifier\", \"Identifiers\",\n\t12, \"SCE_C_STRINGEOL\", \"error literal string\", \"End of line where string is not closed\",\n\t13, \"SCE_C_VERBATIM\", \"literal string multiline raw\", \"Verbatim strings for C#\",\n\t14, \"SCE_C_REGEX\", \"literal regex\", \"Regular expressions for JavaScript\",\n\t15, \"SCE_C_COMMENTLINEDOC\", \"comment documentation line\", \"Doc Comment Line: line comments beginning with /// or //!.\",\n\t16, \"SCE_C_WORD2\", \"identifier\", \"Keywords2\",\n\t17, \"SCE_C_COMMENTDOCKEYWORD\", \"comment documentation keyword\", \"Comment keyword\",\n\t18, \"SCE_C_COMMENTDOCKEYWORDERROR\", \"error comment documentation keyword\", \"Comment keyword error\",\n\t19, \"SCE_C_GLOBALCLASS\", \"identifier\", \"Global class\",\n\t20, \"SCE_C_STRINGRAW\", \"literal string multiline raw\", \"Raw strings for C++0x\",\n\t21, \"SCE_C_TRIPLEVERBATIM\", \"literal string multiline raw\", \"Triple-quoted strings for Vala\",\n\t22, \"SCE_C_HASHQUOTEDSTRING\", \"literal string\", \"Hash-quoted strings for Pike\",\n\t23, \"SCE_C_PREPROCESSORCOMMENT\", \"comment preprocessor\", \"Preprocessor stream comment\",\n\t24, \"SCE_C_PREPROCESSORCOMMENTDOC\", \"comment preprocessor documentation\", \"Preprocessor stream doc comment\",\n\t25, \"SCE_C_USERLITERAL\", \"literal\", \"User defined literals\",\n\t26, \"SCE_C_TASKMARKER\", \"comment taskmarker\", \"Task Marker\",\n\t27, \"SCE_C_ESCAPESEQUENCE\", \"literal string escapesequence\", \"Escape sequence\",\n};\n\n}\n\nclass LexerCPP : public ILexerWithMetaData {\n\tbool caseSensitive;\n\tCharacterSet setWord;\n\tCharacterSet setNegationOp;\n\tCharacterSet setArithmethicOp;\n\tCharacterSet setRelOp;\n\tCharacterSet setLogicalOp;\n\tCharacterSet setWordStart;\n\tPPStates vlls;\n\tstd::vector<PPDefinition> ppDefineHistory;\n\tWordList keywords;\n\tWordList keywords2;\n\tWordList keywords3;\n\tWordList keywords4;\n\tWordList ppDefinitions;\n\tWordList markerList;\n\tstruct SymbolValue {\n\t\tstd::string value;\n\t\tstd::string arguments;\n\t\tSymbolValue(const std::string &value_=\"\", const std::string &arguments_=\"\") : value(value_), arguments(arguments_) {\n\t\t}\n\t\tSymbolValue &operator = (const std::string &value_) {\n\t\t\tvalue = value_;\n\t\t\targuments.clear();\n\t\t\treturn *this;\n\t\t}\n\t\tbool IsMacro() const noexcept {\n\t\t\treturn !arguments.empty();\n\t\t}\n\t};\n\ttypedef std::map<std::string, SymbolValue> SymbolTable;\n\tSymbolTable preprocessorDefinitionsStart;\n\tOptionsCPP options;\n\tOptionSetCPP osCPP;\n\tEscapeSequence escapeSeq;\n\tSparseState<std::string> rawStringTerminators;\n\tenum { activeFlag = 0x40 };\n\tenum { ssIdentifier, ssDocKeyword };\n\tSubStyles subStyles;\n\tstd::string returnBuffer;\npublic:\n\texplicit LexerCPP(bool caseSensitive_) :\n\t\tcaseSensitive(caseSensitive_),\n\t\tsetWord(CharacterSet::setAlphaNum, \"._\", 0x80, true),\n\t\tsetNegationOp(CharacterSet::setNone, \"!\"),\n\t\tsetArithmethicOp(CharacterSet::setNone, \"+-/*%\"),\n\t\tsetRelOp(CharacterSet::setNone, \"=!<>\"),\n\t\tsetLogicalOp(CharacterSet::setNone, \"|&\"),\n\t\tsubStyles(styleSubable, 0x80, 0x40, activeFlag) {\n\t}\n\tvirtual ~LexerCPP() {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvMetaData;\n\t}\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osCPP.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osCPP.PropertyType(name);\n\t}\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osCPP.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osCPP.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\n\tint SCI_METHOD LineEndTypesSupported() override {\n\t\treturn SC_LINE_END_TYPE_UNICODE;\n\t}\n\n\tint SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override {\n\t\treturn subStyles.Allocate(styleBase, numberStyles);\n\t}\n\tint SCI_METHOD SubStylesStart(int styleBase) override {\n\t\treturn subStyles.Start(styleBase);\n\t}\n\tint SCI_METHOD SubStylesLength(int styleBase) override {\n\t\treturn subStyles.Length(styleBase);\n\t}\n\tint SCI_METHOD StyleFromSubStyle(int subStyle) override {\n\t\tconst int styleBase = subStyles.BaseStyle(MaskActive(subStyle));\n\t\tconst int active = subStyle & activeFlag;\n\t\treturn styleBase | active;\n\t}\n\tint SCI_METHOD PrimaryStyleFromStyle(int style) override {\n\t\treturn MaskActive(style);\n\t}\n\tvoid SCI_METHOD FreeSubStyles() override {\n\t\tsubStyles.Free();\n\t}\n\tvoid SCI_METHOD SetIdentifiers(int style, const char *identifiers) override {\n\t\tsubStyles.SetIdentifiers(style, identifiers);\n\t}\n\tint SCI_METHOD DistanceToSecondaryStyles() override {\n\t\treturn activeFlag;\n\t}\n\tconst char * SCI_METHOD GetSubStyleBases() override {\n\t\treturn styleSubable;\n\t}\n\tint SCI_METHOD NamedStyles() override {\n\t\treturn std::max(subStyles.LastAllocated() + 1,\n\t\t\tstatic_cast<int>(ELEMENTS(lexicalClasses))) +\n\t\t\tactiveFlag;\n\t}\n\tconst char * SCI_METHOD NameOfStyle(int style) override {\n\t\tif (style >= NamedStyles())\n\t\t\treturn \"\";\n\t\tif (style < static_cast<int>(ELEMENTS(lexicalClasses)))\n\t\t\treturn lexicalClasses[style].name;\n\t\t// TODO: inactive and substyles\n\t\treturn \"\";\n\t}\n\tconst char * SCI_METHOD TagsOfStyle(int style) override {\n\t\tif (style >= NamedStyles())\n\t\t\treturn \"Excess\";\n\t\treturnBuffer.clear();\n\t\tconst int firstSubStyle = subStyles.FirstAllocated();\n\t\tif (firstSubStyle >= 0) {\n\t\t\tconst int lastSubStyle = subStyles.LastAllocated();\n\t\t\tif (((style >= firstSubStyle) && (style <= (lastSubStyle))) ||\n\t\t\t\t((style >= firstSubStyle + activeFlag) && (style <= (lastSubStyle + activeFlag)))) {\n\t\t\t\tint styleActive = style;\n\t\t\t\tif (style > lastSubStyle) {\n\t\t\t\t\treturnBuffer = \"inactive \";\n\t\t\t\t\tstyleActive -= activeFlag;\n\t\t\t\t}\n\t\t\t\tconst int styleMain = StyleFromSubStyle(styleActive);\n\t\t\t\treturnBuffer += lexicalClasses[styleMain].tags;\n\t\t\t\treturn returnBuffer.c_str();\n\t\t\t}\n\t\t}\n\t\tif (style < static_cast<int>(ELEMENTS(lexicalClasses)))\n\t\t\treturn lexicalClasses[style].tags;\n\t\tif (style >= activeFlag) {\n\t\t\treturnBuffer = \"inactive \";\n\t\t\tconst int styleActive = style - activeFlag;\n\t\t\tif (styleActive < static_cast<int>(ELEMENTS(lexicalClasses)))\n\t\t\t\treturnBuffer += lexicalClasses[styleActive].tags;\n\t\t\telse\n\t\t\t\treturnBuffer = \"\";\n\t\t\treturn returnBuffer.c_str();\n\t\t}\n\t\treturn \"\";\n\t}\n\tconst char * SCI_METHOD DescriptionOfStyle(int style) override {\n\t\tif (style >= NamedStyles())\n\t\t\treturn \"\";\n\t\tif (style < static_cast<int>(ELEMENTS(lexicalClasses)))\n\t\t\treturn lexicalClasses[style].description;\n\t\t// TODO: inactive and substyles\n\t\treturn \"\";\n\t}\n\n\tstatic ILexer *LexerFactoryCPP() {\n\t\treturn new LexerCPP(true);\n\t}\n\tstatic ILexer *LexerFactoryCPPInsensitive() {\n\t\treturn new LexerCPP(false);\n\t}\n\tstatic int MaskActive(int style) noexcept {\n\t\treturn style & ~activeFlag;\n\t}\n\tvoid EvaluateTokens(std::vector<std::string> &tokens, const SymbolTable &preprocessorDefinitions);\n\tstd::vector<std::string> Tokenize(const std::string &expr) const;\n\tbool EvaluateExpression(const std::string &expr, const SymbolTable &preprocessorDefinitions);\n};\n\nSci_Position SCI_METHOD LexerCPP::PropertySet(const char *key, const char *val) {\n\tif (osCPP.PropertySet(&options, key, val)) {\n\t\tif (strcmp(key, \"lexer.cpp.allow.dollars\") == 0) {\n\t\t\tsetWord = CharacterSet(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\t\t\tif (options.identifiersAllowDollars) {\n\t\t\t\tsetWord.Add('$');\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerCPP::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywords2;\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &keywords3;\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &keywords4;\n\t\tbreak;\n\tcase 4:\n\t\twordListN = &ppDefinitions;\n\t\tbreak;\n\tcase 5:\n\t\twordListN = &markerList;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t\tif (n == 4) {\n\t\t\t\t// Rebuild preprocessorDefinitions\n\t\t\t\tpreprocessorDefinitionsStart.clear();\n\t\t\t\tfor (int nDefinition = 0; nDefinition < ppDefinitions.Length(); nDefinition++) {\n\t\t\t\t\tconst char *cpDefinition = ppDefinitions.WordAt(nDefinition);\n\t\t\t\t\tconst char *cpEquals = strchr(cpDefinition, '=');\n\t\t\t\t\tif (cpEquals) {\n\t\t\t\t\t\tstd::string name(cpDefinition, cpEquals - cpDefinition);\n\t\t\t\t\t\tstd::string val(cpEquals+1);\n\t\t\t\t\t\tconst size_t bracket = name.find('(');\n\t\t\t\t\t\tconst size_t bracketEnd = name.find(')');\n\t\t\t\t\t\tif ((bracket != std::string::npos) && (bracketEnd != std::string::npos)) {\n\t\t\t\t\t\t\t// Macro\n\t\t\t\t\t\t\tstd::string args = name.substr(bracket + 1, bracketEnd - bracket - 1);\n\t\t\t\t\t\t\tname = name.substr(0, bracket);\n\t\t\t\t\t\t\tpreprocessorDefinitionsStart[name] = SymbolValue(val, args);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpreprocessorDefinitionsStart[name] = val;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstd::string name(cpDefinition);\n\t\t\t\t\t\tstd::string val(\"1\");\n\t\t\t\t\t\tpreprocessorDefinitionsStart[name] = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerCPP::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\n\tCharacterSet setOKBeforeRE(CharacterSet::setNone, \"([{=,:;!%^&*|?~+-\");\n\tCharacterSet setCouldBePostOp(CharacterSet::setNone, \"+-\");\n\n\tCharacterSet setDoxygen(CharacterSet::setAlpha, \"$@\\\\&<>#{}[]\");\n\n\tsetWordStart = CharacterSet(CharacterSet::setAlpha, \"_\", 0x80, true);\n\n\tCharacterSet setInvalidRawFirst(CharacterSet::setNone, \" )\\\\\\t\\v\\f\\n\");\n\n\tif (options.identifiersAllowDollars) {\n\t\tsetWordStart.Add('$');\n\t}\n\n\tint chPrevNonWhite = ' ';\n\tint visibleChars = 0;\n\tbool lastWordWasUUID = false;\n\tint styleBeforeDCKeyword = SCE_C_DEFAULT;\n\tint styleBeforeTaskMarker = SCE_C_DEFAULT;\n\tbool continuationLine = false;\n\tbool isIncludePreprocessor = false;\n\tbool isStringInPreprocessor = false;\n\tbool inRERange = false;\n\tbool seenDocKeyBrace = false;\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif ((MaskActive(initStyle) == SCE_C_PREPROCESSOR) ||\n      (MaskActive(initStyle) == SCE_C_COMMENTLINE) ||\n      (MaskActive(initStyle) == SCE_C_COMMENTLINEDOC)) {\n\t\t// Set continuationLine if last character of previous line is '\\'\n\t\tif (lineCurrent > 0) {\n\t\t\tconst Sci_Position endLinePrevious = styler.LineEnd(lineCurrent - 1);\n\t\t\tif (endLinePrevious > 0) {\n\t\t\t\tcontinuationLine = styler.SafeGetCharAt(endLinePrevious-1) == '\\\\';\n\t\t\t}\n\t\t}\n\t}\n\n\t// look back to set chPrevNonWhite properly for better regex colouring\n\tif (startPos > 0) {\n\t\tSci_Position back = startPos;\n\t\twhile (--back && IsSpaceEquiv(MaskActive(styler.StyleAt(back))))\n\t\t\t;\n\t\tif (MaskActive(styler.StyleAt(back)) == SCE_C_OPERATOR) {\n\t\t\tchPrevNonWhite = styler.SafeGetCharAt(back);\n\t\t}\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tLinePPState preproc = vlls.ForLine(lineCurrent);\n\n\tbool definitionsChanged = false;\n\n\t// Truncate ppDefineHistory before current line\n\n\tif (!options.updatePreprocessor)\n\t\tppDefineHistory.clear();\n\n\tstd::vector<PPDefinition>::iterator itInvalid = std::find_if(ppDefineHistory.begin(), ppDefineHistory.end(),\n\t\t[lineCurrent](const PPDefinition &p) { return p.line >= lineCurrent; });\n\tif (itInvalid != ppDefineHistory.end()) {\n\t\tppDefineHistory.erase(itInvalid, ppDefineHistory.end());\n\t\tdefinitionsChanged = true;\n\t}\n\n\tSymbolTable preprocessorDefinitions = preprocessorDefinitionsStart;\n\tfor (const PPDefinition &ppDef : ppDefineHistory) {\n\t\tif (ppDef.isUndef)\n\t\t\tpreprocessorDefinitions.erase(ppDef.key);\n\t\telse\n\t\t\tpreprocessorDefinitions[ppDef.key] = SymbolValue(ppDef.value, ppDef.arguments);\n\t}\n\n\tstd::string rawStringTerminator = rawStringTerminators.ValueAt(lineCurrent-1);\n\tSparseState<std::string> rawSTNew(lineCurrent);\n\n\tint activitySet = preproc.IsInactive() ? activeFlag : 0;\n\n\tconst WordClassifier &classifierIdentifiers = subStyles.Classifier(SCE_C_IDENTIFIER);\n\tconst WordClassifier &classifierDocKeyWords = subStyles.Classifier(SCE_C_COMMENTDOCKEYWORD);\n\n\tSci_Position lineEndNext = styler.LineEnd(lineCurrent);\n\n\tfor (; sc.More();) {\n\n\t\tif (sc.atLineStart) {\n\t\t\t// Using MaskActive() is not needed in the following statement.\n\t\t\t// Inside inactive preprocessor declaration, state will be reset anyway at the end of this block.\n\t\t\tif ((sc.state == SCE_C_STRING) || (sc.state == SCE_C_CHARACTER)) {\n\t\t\t\t// Prevent SCE_C_STRINGEOL from leaking back to previous line which\n\t\t\t\t// ends with a line continuation by locking in the state up to this position.\n\t\t\t\tsc.SetState(sc.state);\n\t\t\t}\n\t\t\tif ((MaskActive(sc.state) == SCE_C_PREPROCESSOR) && (!continuationLine)) {\n\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t}\n\t\t\t// Reset states to beginning of colourise so no surprises\n\t\t\t// if different sets of lines lexed.\n\t\t\tvisibleChars = 0;\n\t\t\tlastWordWasUUID = false;\n\t\t\tisIncludePreprocessor = false;\n\t\t\tinRERange = false;\n\t\t\tif (preproc.IsInactive()) {\n\t\t\t\tactivitySet = activeFlag;\n\t\t\t\tsc.SetState(sc.state | activitySet);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\tlineCurrent++;\n\t\t\tlineEndNext = styler.LineEnd(lineCurrent);\n\t\t\tvlls.Add(lineCurrent, preproc);\n\t\t\tif (rawStringTerminator != \"\") {\n\t\t\t\trawSTNew.Set(lineCurrent-1, rawStringTerminator);\n\t\t\t}\n\t\t}\n\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (static_cast<Sci_Position>((sc.currentPos+1)) >= lineEndNext) {\n\t\t\t\tlineCurrent++;\n\t\t\t\tlineEndNext = styler.LineEnd(lineCurrent);\n\t\t\t\tvlls.Add(lineCurrent, preproc);\n\t\t\t\tif (rawStringTerminator != \"\") {\n\t\t\t\t\trawSTNew.Set(lineCurrent-1, rawStringTerminator);\n\t\t\t\t}\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\t// Even in UTF-8, \\r and \\n are separate\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinuationLine = true;\n\t\t\t\tsc.Forward();\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tconst bool atLineEndBeforeSwitch = sc.atLineEnd;\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (MaskActive(sc.state)) {\n\t\t\tcase SCE_C_OPERATOR:\n\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_NUMBER:\n\t\t\t\t// We accept almost anything because of hex. and number suffixes\n\t\t\t\tif (sc.ch == '_') {\n\t\t\t\t\tsc.ChangeState(SCE_C_USERLITERAL|activitySet);\n\t\t\t\t} else if (!(setWord.Contains(sc.ch)\n\t\t\t\t   || (sc.ch == '\\'')\n\t\t\t\t   || ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E' ||\n\t\t\t\t                                          sc.chPrev == 'p' || sc.chPrev == 'P')))) {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_USERLITERAL:\n\t\t\t\tif (!(setWord.Contains(sc.ch)))\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_IDENTIFIER:\n\t\t\t\tif (sc.atLineStart || sc.atLineEnd || !setWord.Contains(sc.ch) || (sc.ch == '.')) {\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tif (caseSensitive) {\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\t}\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tlastWordWasUUID = strcmp(s, \"uuid\") == 0;\n\t\t\t\t\t\tsc.ChangeState(SCE_C_WORD|activitySet);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_C_WORD2|activitySet);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_C_GLOBALCLASS|activitySet);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tint subStyle = classifierIdentifiers.ValueFor(s);\n\t\t\t\t\t\tif (subStyle >= 0) {\n\t\t\t\t\t\t\tsc.ChangeState(subStyle|activitySet);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst bool literalString = sc.ch == '\\\"';\n\t\t\t\t\tif (literalString || sc.ch == '\\'') {\n\t\t\t\t\t\tsize_t lenS = strlen(s);\n\t\t\t\t\t\tconst bool raw = literalString && sc.chPrev == 'R' && !setInvalidRawFirst.Contains(sc.chNext);\n\t\t\t\t\t\tif (raw)\n\t\t\t\t\t\t\ts[lenS--] = '\\0';\n\t\t\t\t\t\tconst bool valid =\n\t\t\t\t\t\t\t(lenS == 0) ||\n\t\t\t\t\t\t\t((lenS == 1) && ((s[0] == 'L') || (s[0] == 'u') || (s[0] == 'U'))) ||\n\t\t\t\t\t\t\t((lenS == 2) && literalString && (s[0] == 'u') && (s[1] == '8'));\n\t\t\t\t\t\tif (valid) {\n\t\t\t\t\t\t\tif (literalString) {\n\t\t\t\t\t\t\t\tif (raw) {\n\t\t\t\t\t\t\t\t\t// Set the style of the string prefix to SCE_C_STRINGRAW but then change to\n\t\t\t\t\t\t\t\t\t// SCE_C_DEFAULT as that allows the raw string start code to run.\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_STRINGRAW|activitySet);\n\t\t\t\t\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_STRING|activitySet);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_CHARACTER|activitySet);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_C_DEFAULT | activitySet);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_PREPROCESSOR:\n\t\t\t\tif (options.stylingWithinPreprocessor) {\n\t\t\t\t\tif (IsASpace(sc.ch)) {\n\t\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t}\n\t\t\t\t} else if (isStringInPreprocessor && (sc.Match('>') || sc.Match('\\\"') || sc.atLineEnd)) {\n\t\t\t\t\tisStringInPreprocessor = false;\n\t\t\t\t} else if (!isStringInPreprocessor) {\n\t\t\t\t\tif ((isIncludePreprocessor && sc.Match('<')) || sc.Match('\\\"')) {\n\t\t\t\t\t\tisStringInPreprocessor = true;\n\t\t\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\t\t\tif (sc.Match(\"/**\") || sc.Match(\"/*!\")) {\n\t\t\t\t\t\t\tsc.SetState(SCE_C_PREPROCESSORCOMMENTDOC|activitySet);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_C_PREPROCESSORCOMMENT|activitySet);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsc.Forward();\t// Eat the *\n\t\t\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_PREPROCESSORCOMMENT:\n\t\t\tcase SCE_C_PREPROCESSORCOMMENTDOC:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t\tcontinue;\t// Without advancing in case of '\\'.\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_COMMENT:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else {\n\t\t\t\t\tstyleBeforeTaskMarker = SCE_C_COMMENT;\n\t\t\t\t\thighlightTaskMarker(sc, styler, activitySet, markerList, caseSensitive);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_COMMENTDOC:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = SCE_C_COMMENTDOC;\n\t\t\t\t\t\tsc.SetState(SCE_C_COMMENTDOCKEYWORD|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart && !continuationLine) {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else {\n\t\t\t\t\tstyleBeforeTaskMarker = SCE_C_COMMENTLINE;\n\t\t\t\t\thighlightTaskMarker(sc, styler, activitySet, markerList, caseSensitive);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_COMMENTLINEDOC:\n\t\t\t\tif (sc.atLineStart && !continuationLine) {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = SCE_C_COMMENTLINEDOC;\n\t\t\t\t\t\tsc.SetState(SCE_C_COMMENTDOCKEYWORD|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_COMMENTDOCKEYWORD:\n\t\t\t\tif ((styleBeforeDCKeyword == SCE_C_COMMENTDOC) && sc.Match('*', '/')) {\n\t\t\t\t\tsc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\tseenDocKeyBrace = false;\n\t\t\t\t} else if (sc.ch == '[' || sc.ch == '{') {\n\t\t\t\t\tseenDocKeyBrace = true;\n\t\t\t\t} else if (!setDoxygen.Contains(sc.ch)\n\t\t\t\t           && !(seenDocKeyBrace && (sc.ch == ',' || sc.ch == '.'))) {\n\t\t\t\t\tchar s[100];\n\t\t\t\t\tif (caseSensitive) {\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\t}\n\t\t\t\t\tif (!(IsASpace(sc.ch) || (sc.ch == 0))) {\n\t\t\t\t\t\tsc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR|activitySet);\n\t\t\t\t\t} else if (!keywords3.InList(s + 1)) {\n\t\t\t\t\t\tint subStyleCDKW = classifierDocKeyWords.ValueFor(s+1);\n\t\t\t\t\t\tif (subStyleCDKW >= 0) {\n\t\t\t\t\t\t\tsc.ChangeState(subStyleCDKW|activitySet);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR|activitySet);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(styleBeforeDCKeyword|activitySet);\n\t\t\t\t\tseenDocKeyBrace = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_STRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_C_STRINGEOL|activitySet);\n\t\t\t\t} else if (isIncludePreprocessor) {\n\t\t\t\t\tif (sc.ch == '>') {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t\tisIncludePreprocessor = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (options.escapeSequence) {\n\t\t\t\t\t\tsc.SetState(SCE_C_ESCAPESEQUENCE|activitySet);\n\t\t\t\t\t\tescapeSeq.resetEscapeState(sc.chNext);\n\t\t\t\t\t}\n\t\t\t\t\tsc.Forward(); // Skip all characters after the backslash\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tif (sc.chNext == '_') {\n\t\t\t\t\t\tsc.ChangeState(SCE_C_USERLITERAL|activitySet);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_ESCAPESEQUENCE:\n\t\t\t\tescapeSeq.digitsLeft--;\n\t\t\t\tif (!escapeSeq.atEscapeEnd(sc.ch)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (sc.ch == '\"') {\n\t\t\t\t\tsc.SetState(SCE_C_STRING|activitySet);\n\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tescapeSeq.resetEscapeState(sc.chNext);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_C_STRING|activitySet);\n\t\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\t\tsc.ChangeState(SCE_C_STRINGEOL|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_HASHQUOTEDSTRING:\n\t\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_STRINGRAW:\n\t\t\t\tif (sc.Match(rawStringTerminator.c_str())) {\n\t\t\t\t\tfor (size_t termPos=rawStringTerminator.size(); termPos; termPos--)\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\trawStringTerminator = \"\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_CHARACTER:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_C_STRINGEOL|activitySet);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tif (sc.chNext == '_') {\n\t\t\t\t\t\tsc.ChangeState(SCE_C_USERLITERAL|activitySet);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_REGEX:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else if (! inRERange && sc.ch == '/') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\twhile ((sc.ch < 0x80) && islower(sc.ch))\n\t\t\t\t\t\tsc.Forward();    // gobble regex flags\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else if (sc.ch == '\\\\' && (static_cast<Sci_Position>(sc.currentPos+1) < lineEndNext)) {\n\t\t\t\t\t// Gobble up the escaped character\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (sc.ch == '[') {\n\t\t\t\t\tinRERange = true;\n\t\t\t\t} else if (sc.ch == ']') {\n\t\t\t\t\tinRERange = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_VERBATIM:\n\t\t\t\tif (options.verbatimStringsAllowEscapes && (sc.ch == '\\\\')) {\n\t\t\t\t\tsc.Forward(); // Skip all characters after the backslash\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_TRIPLEVERBATIM:\n\t\t\t\tif (sc.Match(R\"(\"\"\")\")) {\n\t\t\t\t\twhile (sc.Match('\"')) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_UUID:\n\t\t\t\tif (sc.atLineEnd || sc.ch == ')') {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_C_TASKMARKER:\n\t\t\t\tif (isoperator(sc.ch) || IsASpace(sc.ch)) {\n\t\t\t\t\tsc.SetState(styleBeforeTaskMarker|activitySet);\n\t\t\t\t\tstyleBeforeTaskMarker = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd && !atLineEndBeforeSwitch) {\n\t\t\t// State exit processing consumed characters up to end of line.\n\t\t\tlineCurrent++;\n\t\t\tlineEndNext = styler.LineEnd(lineCurrent);\n\t\t\tvlls.Add(lineCurrent, preproc);\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (MaskActive(sc.state) == SCE_C_DEFAULT) {\n\t\t\tif (sc.Match('@', '\\\"')) {\n\t\t\t\tsc.SetState(SCE_C_VERBATIM|activitySet);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (options.triplequotedStrings && sc.Match(R\"(\"\"\")\")) {\n\t\t\t\tsc.SetState(SCE_C_TRIPLEVERBATIM|activitySet);\n\t\t\t\tsc.Forward(2);\n\t\t\t} else if (options.hashquotedStrings && sc.Match('#', '\\\"')) {\n\t\t\t\tsc.SetState(SCE_C_HASHQUOTEDSTRING|activitySet);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (options.backQuotedStrings && sc.Match('`')) {\n\t\t\t\tsc.SetState(SCE_C_STRINGRAW|activitySet);\n\t\t\t\trawStringTerminator = \"`\";\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tif (lastWordWasUUID) {\n\t\t\t\t\tsc.SetState(SCE_C_UUID|activitySet);\n\t\t\t\t\tlastWordWasUUID = false;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_C_NUMBER|activitySet);\n\t\t\t\t}\n\t\t\t} else if (!sc.atLineEnd && (setWordStart.Contains(sc.ch) || (sc.ch == '@'))) {\n\t\t\t\tif (lastWordWasUUID) {\n\t\t\t\t\tsc.SetState(SCE_C_UUID|activitySet);\n\t\t\t\t\tlastWordWasUUID = false;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_C_IDENTIFIER|activitySet);\n\t\t\t\t}\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tif (sc.Match(\"/**\") || sc.Match(\"/*!\")) {\t// Support of Qt/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_C_COMMENTDOC|activitySet);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_C_COMMENT|activitySet);\n\t\t\t\t}\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tif ((sc.Match(\"///\") && !sc.Match(\"////\")) || sc.Match(\"//!\"))\n\t\t\t\t\t// Support of Qt/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_C_COMMENTLINEDOC|activitySet);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_C_COMMENTLINE|activitySet);\n\t\t\t} else if (sc.ch == '/'\n\t\t\t\t   && (setOKBeforeRE.Contains(chPrevNonWhite)\n\t\t\t\t       || followsReturnKeyword(sc, styler))\n\t\t\t\t   && (!setCouldBePostOp.Contains(chPrevNonWhite)\n\t\t\t\t       || !FollowsPostfixOperator(sc, styler))) {\n\t\t\t\tsc.SetState(SCE_C_REGEX|activitySet);\t// JavaScript's RegEx\n\t\t\t\tinRERange = false;\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tif (sc.chPrev == 'R') {\n\t\t\t\t\tstyler.Flush();\n\t\t\t\t\tif (MaskActive(styler.StyleAt(sc.currentPos - 1)) == SCE_C_STRINGRAW) {\n\t\t\t\t\t\tsc.SetState(SCE_C_STRINGRAW|activitySet);\n\t\t\t\t\t\trawStringTerminator = \")\";\n\t\t\t\t\t\tfor (Sci_Position termPos = sc.currentPos + 1;; termPos++) {\n\t\t\t\t\t\t\tconst char chTerminator = styler.SafeGetCharAt(termPos, '(');\n\t\t\t\t\t\t\tif (chTerminator == '(')\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\trawStringTerminator += chTerminator;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trawStringTerminator += '\\\"';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_C_STRING|activitySet);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_C_STRING|activitySet);\n\t\t\t\t}\n\t\t\t\tisIncludePreprocessor = false;\t// ensure that '>' won't end the string\n\t\t\t} else if (isIncludePreprocessor && sc.ch == '<') {\n\t\t\t\tsc.SetState(SCE_C_STRING|activitySet);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_C_CHARACTER|activitySet);\n\t\t\t} else if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\t// Preprocessor commands are alone on their line\n\t\t\t\tsc.SetState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t// Skip whitespace between # and preprocessor word\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_C_DEFAULT|activitySet);\n\t\t\t\t} else if (sc.Match(\"include\")) {\n\t\t\t\t\tisIncludePreprocessor = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (options.trackPreprocessor) {\n\t\t\t\t\t\tif (sc.Match(\"ifdef\") || sc.Match(\"ifndef\")) {\n\t\t\t\t\t\t\tconst bool isIfDef = sc.Match(\"ifdef\");\n\t\t\t\t\t\t\tconst int startRest = isIfDef ? 5 : 6;\n\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + startRest + 1, false);\n\t\t\t\t\t\t\tbool foundDef = preprocessorDefinitions.find(restOfLine) != preprocessorDefinitions.end();\n\t\t\t\t\t\t\tpreproc.StartSection(isIfDef == foundDef);\n\t\t\t\t\t\t} else if (sc.Match(\"if\")) {\n\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + 2, true);\n\t\t\t\t\t\t\tconst bool ifGood = EvaluateExpression(restOfLine, preprocessorDefinitions);\n\t\t\t\t\t\t\tpreproc.StartSection(ifGood);\n\t\t\t\t\t\t} else if (sc.Match(\"else\")) {\n\t\t\t\t\t\t\tif (!preproc.CurrentIfTaken()) {\n\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\tif (!activitySet)\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t} else if (!preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\tif (!activitySet)\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"elif\")) {\n\t\t\t\t\t\t\t// Ensure only one chosen out of #if .. #elif .. #elif .. #else .. #endif\n\t\t\t\t\t\t\tif (!preproc.CurrentIfTaken()) {\n\t\t\t\t\t\t\t\t// Similar to #if\n\t\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + 4, true);\n\t\t\t\t\t\t\t\tconst bool ifGood = EvaluateExpression(restOfLine, preprocessorDefinitions);\n\t\t\t\t\t\t\t\tif (ifGood) {\n\t\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\t\tif (!activitySet)\n\t\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\tif (!activitySet)\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"endif\")) {\n\t\t\t\t\t\t\tpreproc.EndSection();\n\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\tsc.ChangeState(SCE_C_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t} else if (sc.Match(\"define\")) {\n\t\t\t\t\t\t\tif (options.updatePreprocessor && !preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + 6, true);\n\t\t\t\t\t\t\t\tsize_t startName = 0;\n\t\t\t\t\t\t\t\twhile ((startName < restOfLine.length()) && IsSpaceOrTab(restOfLine[startName]))\n\t\t\t\t\t\t\t\t\tstartName++;\n\t\t\t\t\t\t\t\tsize_t endName = startName;\n\t\t\t\t\t\t\t\twhile ((endName < restOfLine.length()) && setWord.Contains(static_cast<unsigned char>(restOfLine[endName])))\n\t\t\t\t\t\t\t\t\tendName++;\n\t\t\t\t\t\t\t\tstd::string key = restOfLine.substr(startName, endName-startName);\n\t\t\t\t\t\t\t\tif ((endName < restOfLine.length()) && (restOfLine.at(endName) == '(')) {\n\t\t\t\t\t\t\t\t\t// Macro\n\t\t\t\t\t\t\t\t\tsize_t endArgs = endName;\n\t\t\t\t\t\t\t\t\twhile ((endArgs < restOfLine.length()) && (restOfLine[endArgs] != ')'))\n\t\t\t\t\t\t\t\t\t\tendArgs++;\n\t\t\t\t\t\t\t\t\tstd::string args = restOfLine.substr(endName + 1, endArgs - endName - 1);\n\t\t\t\t\t\t\t\t\tsize_t startValue = endArgs+1;\n\t\t\t\t\t\t\t\t\twhile ((startValue < restOfLine.length()) && IsSpaceOrTab(restOfLine[startValue]))\n\t\t\t\t\t\t\t\t\t\tstartValue++;\n\t\t\t\t\t\t\t\t\tstd::string value;\n\t\t\t\t\t\t\t\t\tif (startValue < restOfLine.length())\n\t\t\t\t\t\t\t\t\t\tvalue = restOfLine.substr(startValue);\n\t\t\t\t\t\t\t\t\tpreprocessorDefinitions[key] = SymbolValue(value, args);\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(lineCurrent, key, value, false, args));\n\t\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Value\n\t\t\t\t\t\t\t\t\tsize_t startValue = endName;\n\t\t\t\t\t\t\t\t\twhile ((startValue < restOfLine.length()) && IsSpaceOrTab(restOfLine[startValue]))\n\t\t\t\t\t\t\t\t\t\tstartValue++;\n\t\t\t\t\t\t\t\t\tstd::string value = restOfLine.substr(startValue);\n\t\t\t\t\t\t\t\t\tif (OnlySpaceOrTab(value))\n\t\t\t\t\t\t\t\t\t\tvalue = \"1\";\t// No value defaults to 1\n\t\t\t\t\t\t\t\t\tpreprocessorDefinitions[key] = value;\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(lineCurrent, key, value));\n\t\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"undef\")) {\n\t\t\t\t\t\t\tif (options.updatePreprocessor && !preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tconst std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 5, false);\n\t\t\t\t\t\t\t\tstd::vector<std::string> tokens = Tokenize(restOfLine);\n\t\t\t\t\t\t\t\tif (tokens.size() >= 1) {\n\t\t\t\t\t\t\t\t\tconst std::string key = tokens[0];\n\t\t\t\t\t\t\t\t\tpreprocessorDefinitions.erase(key);\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(lineCurrent, key, \"\", true));\n\t\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (isoperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_C_OPERATOR|activitySet);\n\t\t\t}\n\t\t}\n\n\t\tif (!IsASpace(sc.ch) && !IsSpaceEquiv(MaskActive(sc.state))) {\n\t\t\tchPrevNonWhite = sc.ch;\n\t\t\tvisibleChars++;\n\t\t}\n\t\tcontinuationLine = false;\n\t\tsc.Forward();\n\t}\n\tconst bool rawStringsChanged = rawStringTerminators.Merge(rawSTNew, lineCurrent);\n\tif (definitionsChanged || rawStringsChanged)\n\t\tstyler.ChangeLexerState(startPos, startPos + length);\n\tsc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\n\nvoid SCI_METHOD LexerCPP::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n\tif (!options.fold)\n\t\treturn;\n\n\tLexAccessor styler(pAccess);\n\n\tconst Sci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tbool inLineComment = false;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tSci_PositionU lineStartNext = styler.LineStart(lineCurrent+1);\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = MaskActive(styler.StyleAt(startPos));\n\tint style = MaskActive(initStyle);\n\tconst bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty();\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tconst char ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tconst int stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = MaskActive(styler.StyleAt(i + 1));\n\t\tconst bool atEOL = i == (lineStartNext-1);\n\t\tif ((style == SCE_C_COMMENTLINE) || (style == SCE_C_COMMENTLINEDOC))\n\t\t\tinLineComment = true;\n\t\tif (options.foldComment && options.foldCommentMultiline && IsStreamCommentStyle(style) && !inLineComment) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (options.foldComment && options.foldCommentExplicit && ((style == SCE_C_COMMENTLINE) || options.foldExplicitAnywhere)) {\n\t\t\tif (userDefinedFoldMarkers) {\n\t\t\t\tif (styler.Match(i, options.foldExplicitStart.c_str())) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(i, options.foldExplicitEnd.c_str())) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\t\tconst char chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (options.foldPreprocessor && (style == SCE_C_PREPROCESSOR)) {\n\t\t\tif (ch == '#') {\n\t\t\t\tSci_PositionU j = i + 1;\n\t\t\t\twhile ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\tif (styler.Match(j, \"region\") || styler.Match(j, \"if\")) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(j, \"end\")) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\n\t\t\t\tif (options.foldPreprocessorAtElse && (styler.Match(j, \"else\") || styler.Match(j, \"elif\"))) {\n\t\t\t\t\tlevelMinCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (options.foldSyntaxBased && (style == SCE_C_OPERATOR)) {\n\t\t\tif (ch == '{' || ch == '[' || ch == '(') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (options.foldAtElse && levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}' || ch == ']' || ch == ')') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif ((options.foldSyntaxBased && options.foldAtElse) ||\n\t\t\t\t(options.foldPreprocessor && options.foldPreprocessorAtElse)\n\t\t\t) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlineStartNext = styler.LineStart(lineCurrent+1);\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tif (atEOL && (i == static_cast<Sci_PositionU>(styler.Length()-1))) {\n\t\t\t\t// There is an empty line at end of file so give it same level and empty\n\t\t\t\tstyler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t\tinLineComment = false;\n\t\t}\n\t}\n}\n\nvoid LexerCPP::EvaluateTokens(std::vector<std::string> &tokens, const SymbolTable &preprocessorDefinitions) {\n\n\t// Remove whitespace tokens\n\ttokens.erase(std::remove_if(tokens.begin(), tokens.end(), OnlySpaceOrTab), tokens.end());\n\n\t// Evaluate defined statements to either 0 or 1\n\tfor (size_t i=0; (i+1)<tokens.size();) {\n\t\tif (tokens[i] == \"defined\") {\n\t\t\tconst char *val = \"0\";\n\t\t\tif (tokens[i+1] == \"(\") {\n\t\t\t\tif (((i + 2)<tokens.size()) && (tokens[i + 2] == \")\")) {\n\t\t\t\t\t// defined()\n\t\t\t\t\ttokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 3);\n\t\t\t\t} else if (((i+3)<tokens.size()) && (tokens[i+3] == \")\")) {\n\t\t\t\t\t// defined(<identifier>)\n\t\t\t\t\tSymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i+2]);\n\t\t\t\t\tif (it != preprocessorDefinitions.end()) {\n\t\t\t\t\t\tval = \"1\";\n\t\t\t\t\t}\n\t\t\t\t\ttokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 4);\n\t\t\t\t} else {\n\t\t\t\t\t// Spurious '(' so erase as more likely to result in false\n\t\t\t\t\ttokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 2);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// defined <identifier>\n\t\t\t\tSymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i+1]);\n\t\t\t\tif (it != preprocessorDefinitions.end()) {\n\t\t\t\t\tval = \"1\";\n\t\t\t\t}\n\t\t\t\ttokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 2);\n\t\t\t}\n\t\t\ttokens[i] = val;\n\t\t} else {\n\t\t\ti++;\n\t\t}\n\t}\n\n\t// Evaluate identifiers\n\tconst size_t maxIterations = 100;\n\tsize_t iterations = 0;\t// Limit number of iterations in case there is a recursive macro.\n\tfor (size_t i = 0; (i<tokens.size()) && (iterations < maxIterations);) {\n\t\titerations++;\n\t\tif (setWordStart.Contains(static_cast<unsigned char>(tokens[i][0]))) {\n\t\t\tSymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i]);\n\t\t\tif (it != preprocessorDefinitions.end()) {\n\t\t\t\t// Tokenize value\n\t\t\t\tstd::vector<std::string> macroTokens = Tokenize(it->second.value);\n\t\t\t\tif (it->second.IsMacro()) {\n\t\t\t\t\tif ((i + 1 < tokens.size()) && (tokens.at(i + 1) == \"(\")) {\n\t\t\t\t\t\t// Create map of argument name to value\n\t\t\t\t\t\tstd::vector<std::string> argumentNames = StringSplit(it->second.arguments, ',');\n\t\t\t\t\t\tstd::map<std::string, std::string> arguments;\n\t\t\t\t\t\tsize_t arg = 0;\n\t\t\t\t\t\tsize_t tok = i+2;\n\t\t\t\t\t\twhile ((tok < tokens.size()) && (arg < argumentNames.size()) && (tokens.at(tok) != \")\")) {\n\t\t\t\t\t\t\tif (tokens.at(tok) != \",\") {\n\t\t\t\t\t\t\t\targuments[argumentNames.at(arg)] = tokens.at(tok);\n\t\t\t\t\t\t\t\targ++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttok++;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Remove invocation\n\t\t\t\t\t\ttokens.erase(tokens.begin() + i, tokens.begin() + tok + 1);\n\n\t\t\t\t\t\t// Substitute values into macro\n\t\t\t\t\t\tmacroTokens.erase(std::remove_if(macroTokens.begin(), macroTokens.end(), OnlySpaceOrTab), macroTokens.end());\n\n\t\t\t\t\t\tfor (size_t iMacro = 0; iMacro < macroTokens.size();) {\n\t\t\t\t\t\t\tif (setWordStart.Contains(static_cast<unsigned char>(macroTokens[iMacro][0]))) {\n\t\t\t\t\t\t\t\tstd::map<std::string, std::string>::const_iterator itFind = arguments.find(macroTokens[iMacro]);\n\t\t\t\t\t\t\t\tif (itFind != arguments.end()) {\n\t\t\t\t\t\t\t\t\t// TODO: Possible that value will be expression so should insert tokenized form\n\t\t\t\t\t\t\t\t\tmacroTokens[iMacro] = itFind->second;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tiMacro++;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Insert results back into tokens\n\t\t\t\t\t\ttokens.insert(tokens.begin() + i, macroTokens.begin(), macroTokens.end());\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\ti++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Remove invocation\n\t\t\t\t\ttokens.erase(tokens.begin() + i);\n\t\t\t\t\t// Insert results back into tokens\n\t\t\t\t\ttokens.insert(tokens.begin() + i, macroTokens.begin(), macroTokens.end());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Identifier not found and value defaults to zero\n\t\t\t\ttokens[i] = \"0\";\n\t\t\t}\n\t\t} else {\n\t\t\ti++;\n\t\t}\n\t}\n\n\t// Find bracketed subexpressions and recurse on them\n\tBracketPair bracketPair = FindBracketPair(tokens);\n\twhile (bracketPair.itBracket != tokens.end()) {\n\t\tstd::vector<std::string> inBracket(bracketPair.itBracket + 1, bracketPair.itEndBracket);\n\t\tEvaluateTokens(inBracket, preprocessorDefinitions);\n\n\t\t// The insertion is done before the removal because there were failures with the opposite approach\n\t\ttokens.insert(bracketPair.itBracket, inBracket.begin(), inBracket.end());\n\n\t\tbracketPair = FindBracketPair(tokens);\n\t\ttokens.erase(bracketPair.itBracket, bracketPair.itEndBracket + 1);\n\n\t\tbracketPair = FindBracketPair(tokens);\n\t}\n\n\t// Evaluate logical negations\n\tfor (size_t j=0; (j+1)<tokens.size();) {\n\t\tif (setNegationOp.Contains(tokens[j][0])) {\n\t\t\tint isTrue = atoi(tokens[j+1].c_str());\n\t\t\tif (tokens[j] == \"!\")\n\t\t\t\tisTrue = !isTrue;\n\t\t\tstd::vector<std::string>::iterator itInsert =\n\t\t\t\ttokens.erase(tokens.begin() + j, tokens.begin() + j + 2);\n\t\t\ttokens.insert(itInsert, isTrue ? \"1\" : \"0\");\n\t\t} else {\n\t\t\tj++;\n\t\t}\n\t}\n\n\t// Evaluate expressions in precedence order\n\tenum precedence { precArithmetic, precRelative, precLogical };\n\tfor (int prec=precArithmetic; prec <= precLogical; prec++) {\n\t\t// Looking at 3 tokens at a time so end at 2 before end\n\t\tfor (size_t k=0; (k+2)<tokens.size();) {\n\t\t\tconst char chOp = tokens[k+1][0];\n\t\t\tif (\n\t\t\t\t((prec==precArithmetic) && setArithmethicOp.Contains(chOp)) ||\n\t\t\t\t((prec==precRelative) && setRelOp.Contains(chOp)) ||\n\t\t\t\t((prec==precLogical) && setLogicalOp.Contains(chOp))\n\t\t\t\t) {\n\t\t\t\tconst int valA = atoi(tokens[k].c_str());\n\t\t\t\tconst int valB = atoi(tokens[k+2].c_str());\n\t\t\t\tint result = 0;\n\t\t\t\tif (tokens[k+1] == \"+\")\n\t\t\t\t\tresult = valA + valB;\n\t\t\t\telse if (tokens[k+1] == \"-\")\n\t\t\t\t\tresult = valA - valB;\n\t\t\t\telse if (tokens[k+1] == \"*\")\n\t\t\t\t\tresult = valA * valB;\n\t\t\t\telse if (tokens[k+1] == \"/\")\n\t\t\t\t\tresult = valA / (valB ? valB : 1);\n\t\t\t\telse if (tokens[k+1] == \"%\")\n\t\t\t\t\tresult = valA % (valB ? valB : 1);\n\t\t\t\telse if (tokens[k+1] == \"<\")\n\t\t\t\t\tresult = valA < valB;\n\t\t\t\telse if (tokens[k+1] == \"<=\")\n\t\t\t\t\tresult = valA <= valB;\n\t\t\t\telse if (tokens[k+1] == \">\")\n\t\t\t\t\tresult = valA > valB;\n\t\t\t\telse if (tokens[k+1] == \">=\")\n\t\t\t\t\tresult = valA >= valB;\n\t\t\t\telse if (tokens[k+1] == \"==\")\n\t\t\t\t\tresult = valA == valB;\n\t\t\t\telse if (tokens[k+1] == \"!=\")\n\t\t\t\t\tresult = valA != valB;\n\t\t\t\telse if (tokens[k+1] == \"||\")\n\t\t\t\t\tresult = valA || valB;\n\t\t\t\telse if (tokens[k+1] == \"&&\")\n\t\t\t\t\tresult = valA && valB;\n\t\t\t\tchar sResult[30];\n\t\t\t\tsprintf(sResult, \"%d\", result);\n\t\t\t\tstd::vector<std::string>::iterator itInsert =\n\t\t\t\t\ttokens.erase(tokens.begin() + k, tokens.begin() + k + 3);\n\t\t\t\ttokens.insert(itInsert, sResult);\n\t\t\t} else {\n\t\t\t\tk++;\n\t\t\t}\n\t\t}\n\t}\n}\n\nstd::vector<std::string> LexerCPP::Tokenize(const std::string &expr) const {\n\t// Break into tokens\n\tstd::vector<std::string> tokens;\n\tconst char *cp = expr.c_str();\n\twhile (*cp) {\n\t\tstd::string word;\n\t\tif (setWord.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\t// Identifiers and numbers\n\t\t\twhile (setWord.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\t\tword += *cp;\n\t\t\t\tcp++;\n\t\t\t}\n\t\t} else if (IsSpaceOrTab(*cp)) {\n\t\t\twhile (IsSpaceOrTab(*cp)) {\n\t\t\t\tword += *cp;\n\t\t\t\tcp++;\n\t\t\t}\n\t\t} else if (setRelOp.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\tword += *cp;\n\t\t\tcp++;\n\t\t\tif (setRelOp.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\t\tword += *cp;\n\t\t\t\tcp++;\n\t\t\t}\n\t\t} else if (setLogicalOp.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\tword += *cp;\n\t\t\tcp++;\n\t\t\tif (setLogicalOp.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\t\tword += *cp;\n\t\t\t\tcp++;\n\t\t\t}\n\t\t} else {\n\t\t\t// Should handle strings, characters, and comments here\n\t\t\tword += *cp;\n\t\t\tcp++;\n\t\t}\n\t\ttokens.push_back(word);\n\t}\n\treturn tokens;\n}\n\nbool LexerCPP::EvaluateExpression(const std::string &expr, const SymbolTable &preprocessorDefinitions) {\n\tstd::vector<std::string> tokens = Tokenize(expr);\n\n\tEvaluateTokens(tokens, preprocessorDefinitions);\n\n\t// \"0\" or \"\" -> false else true\n\tconst bool isFalse = tokens.empty() ||\n\t\t((tokens.size() == 1) && ((tokens[0] == \"\") || tokens[0] == \"0\"));\n\treturn !isFalse;\n}\n\nLexerModule lmCPP(SCLEX_CPP, LexerCPP::LexerFactoryCPP, \"cpp\", cppWordLists);\nLexerModule lmCPPNoCase(SCLEX_CPPNOCASE, LexerCPP::LexerFactoryCPPInsensitive, \"cppnocase\", cppWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCSS.cpp",
    "content": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexCSS.cxx\n ** Lexer for Cascading Style Sheets\n ** Written by Jakub Vrána\n ** Improved by Philippe Lhoste (CSS2)\n ** Improved by Ross McKay (SCSS mode; see http://sass-lang.com/ )\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// TODO: handle SCSS nested properties like font: { weight: bold; size: 1em; }\n// TODO: handle SCSS interpolation: #{}\n// TODO: add features for Less if somebody feels like contributing; http://lesscss.org/\n// TODO: refactor this monster so that the next poor slob can read it!\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\nstatic inline bool IsAWordChar(const unsigned int ch) {\n\t/* FIXME:\n\t * The CSS spec allows \"ISO 10646 characters U+00A1 and higher\" to be treated as word chars.\n\t * Unfortunately, we are only getting string bytes here, and not full unicode characters. We cannot guarantee\n\t * that our byte is between U+0080 - U+00A0 (to return false), so we have to allow all characters U+0080 and higher\n\t */\n\treturn ch >= 0x80 || isalnum(ch) || ch == '-' || ch == '_';\n}\n\ninline bool IsCssOperator(const int ch) {\n\tif (!((ch < 0x80) && isalnum(ch)) &&\n\t\t(ch == '{' || ch == '}' || ch == ':' || ch == ',' || ch == ';' ||\n\t\t ch == '.' || ch == '#' || ch == '!' || ch == '@' ||\n\t\t /* CSS2 */\n\t\t ch == '*' || ch == '>' || ch == '+' || ch == '=' || ch == '~' || ch == '|' ||\n\t\t ch == '[' || ch == ']' || ch == '(' || ch == ')')) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n// look behind (from start of document to our start position) to determine current nesting level\ninline int NestingLevelLookBehind(Sci_PositionU startPos, Accessor &styler) {\n\tint ch;\n\tint nestingLevel = 0;\n\n\tfor (Sci_PositionU i = 0; i < startPos; i++) {\n\t\tch = styler.SafeGetCharAt(i);\n\t\tif (ch == '{')\n\t\t\tnestingLevel++;\n\t\telse if (ch == '}')\n\t\t\tnestingLevel--;\n\t}\n\n\treturn nestingLevel;\n}\n\nstatic void ColouriseCssDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) {\n\tWordList &css1Props = *keywordlists[0];\n\tWordList &pseudoClasses = *keywordlists[1];\n\tWordList &css2Props = *keywordlists[2];\n\tWordList &css3Props = *keywordlists[3];\n\tWordList &pseudoElements = *keywordlists[4];\n\tWordList &exProps = *keywordlists[5];\n\tWordList &exPseudoClasses = *keywordlists[6];\n\tWordList &exPseudoElements = *keywordlists[7];\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tint lastState = -1; // before operator\n\tint lastStateC = -1; // before comment\n\tint lastStateS = -1; // before single-quoted/double-quoted string\n\tint lastStateVar = -1; // before variable (SCSS)\n\tint lastStateVal = -1; // before value (SCSS)\n\tint op = ' '; // last operator\n\tint opPrev = ' '; // last operator\n\tbool insideParentheses = false; // true if currently in a CSS url() or similar construct\n\n\t// property lexer.css.scss.language\n\t//\tSet to 1 for Sassy CSS (.scss)\n\tbool isScssDocument = styler.GetPropertyInt(\"lexer.css.scss.language\") != 0;\n\n\t// property lexer.css.less.language\n\t// Set to 1 for Less CSS (.less)\n\tbool isLessDocument = styler.GetPropertyInt(\"lexer.css.less.language\") != 0;\n\n\t// property lexer.css.hss.language\n\t// Set to 1 for HSS (.hss)\n\tbool isHssDocument = styler.GetPropertyInt(\"lexer.css.hss.language\") != 0;\n\n\t// SCSS/LESS/HSS have the concept of variable\n\tbool hasVariables = isScssDocument || isLessDocument || isHssDocument;\n\tchar varPrefix = 0;\n\tif (hasVariables)\n\t\tvarPrefix = isLessDocument ? '@' : '$';\n\n\t// SCSS/LESS/HSS support single-line comments\n\ttypedef enum _CommentModes { eCommentBlock = 0, eCommentLine = 1} CommentMode;\n\tCommentMode comment_mode = eCommentBlock;\n\tbool hasSingleLineComments = isScssDocument || isLessDocument || isHssDocument;\n\n\t// must keep track of nesting level in document types that support it (SCSS/LESS/HSS)\n\tbool hasNesting = false;\n\tint nestingLevel = 0;\n\tif (isScssDocument || isLessDocument || isHssDocument) {\n\t\thasNesting = true;\n\t\tnestingLevel = NestingLevelLookBehind(startPos, styler);\n\t}\n\n\t// \"the loop\"\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.state == SCE_CSS_COMMENT && ((comment_mode == eCommentBlock && sc.Match('*', '/')) || (comment_mode == eCommentLine && sc.atLineEnd))) {\n\t\t\tif (lastStateC == -1) {\n\t\t\t\t// backtrack to get last state:\n\t\t\t\t// comments are like whitespace, so we must return to the previous state\n\t\t\t\tSci_PositionU i = startPos;\n\t\t\t\tfor (; i > 0; i--) {\n\t\t\t\t\tif ((lastStateC = styler.StyleAt(i-1)) != SCE_CSS_COMMENT) {\n\t\t\t\t\t\tif (lastStateC == SCE_CSS_OPERATOR) {\n\t\t\t\t\t\t\top = styler.SafeGetCharAt(i-1);\n\t\t\t\t\t\t\topPrev = styler.SafeGetCharAt(i-2);\n\t\t\t\t\t\t\twhile (--i) {\n\t\t\t\t\t\t\t\tlastState = styler.StyleAt(i-1);\n\t\t\t\t\t\t\t\tif (lastState != SCE_CSS_OPERATOR && lastState != SCE_CSS_COMMENT)\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (i == 0)\n\t\t\t\t\t\t\t\tlastState = SCE_CSS_DEFAULT;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (i == 0)\n\t\t\t\t\tlastStateC = SCE_CSS_DEFAULT;\n\t\t\t}\n\t\t\tif (comment_mode == eCommentBlock) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(lastStateC);\n\t\t\t} else /* eCommentLine */ {\n\t\t\t\tsc.SetState(lastStateC);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.state == SCE_CSS_COMMENT)\n\t\t\tcontinue;\n\n\t\tif (sc.state == SCE_CSS_DOUBLESTRING || sc.state == SCE_CSS_SINGLESTRING) {\n\t\t\tif (sc.ch != (sc.state == SCE_CSS_DOUBLESTRING ? '\\\"' : '\\''))\n\t\t\t\tcontinue;\n\t\t\tSci_PositionU i = sc.currentPos;\n\t\t\twhile (i && styler[i-1] == '\\\\')\n\t\t\t\ti--;\n\t\t\tif ((sc.currentPos - i) % 2 == 1)\n\t\t\t\tcontinue;\n\t\t\tsc.ForwardSetState(lastStateS);\n\t\t}\n\n\t\tif (sc.state == SCE_CSS_OPERATOR) {\n\t\t\tif (op == ' ') {\n\t\t\t\tSci_PositionU i = startPos;\n\t\t\t\top = styler.SafeGetCharAt(i-1);\n\t\t\t\topPrev = styler.SafeGetCharAt(i-2);\n\t\t\t\twhile (--i) {\n\t\t\t\t\tlastState = styler.StyleAt(i-1);\n\t\t\t\t\tif (lastState != SCE_CSS_OPERATOR && lastState != SCE_CSS_COMMENT)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tswitch (op) {\n\t\t\tcase '@':\n\t\t\t\tif (lastState == SCE_CSS_DEFAULT || hasNesting)\n\t\t\t\t\tsc.SetState(SCE_CSS_DIRECTIVE);\n\t\t\t\tbreak;\n\t\t\tcase '>':\n\t\t\tcase '+':\n\t\t\t\tif (lastState == SCE_CSS_TAG || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID ||\n\t\t\t\t\tlastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS)\n\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase '[':\n\t\t\t\tif (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID ||\n\t\t\t\t\tlastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS)\n\t\t\t\t\tsc.SetState(SCE_CSS_ATTRIBUTE);\n\t\t\t\tbreak;\n\t\t\tcase ']':\n\t\t\t\tif (lastState == SCE_CSS_ATTRIBUTE)\n\t\t\t\t\tsc.SetState(SCE_CSS_TAG);\n\t\t\t\tbreak;\n\t\t\tcase '{':\n\t\t\t\tnestingLevel++;\n\t\t\t\tswitch (lastState) {\n\t\t\t\tcase SCE_CSS_MEDIA:\n\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SCE_CSS_TAG:\n\t\t\t\tcase SCE_CSS_DIRECTIVE:\n\t\t\t\t\tsc.SetState(SCE_CSS_IDENTIFIER);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '}':\n\t\t\t\tif (--nestingLevel < 0)\n\t\t\t\t\tnestingLevel = 0;\n\t\t\t\tswitch (lastState) {\n\t\t\t\tcase SCE_CSS_DEFAULT:\n\t\t\t\tcase SCE_CSS_VALUE:\n\t\t\t\tcase SCE_CSS_IMPORTANT:\n\t\t\t\tcase SCE_CSS_IDENTIFIER:\n\t\t\t\tcase SCE_CSS_IDENTIFIER2:\n\t\t\t\tcase SCE_CSS_IDENTIFIER3:\n\t\t\t\t\tif (hasNesting)\n\t\t\t\t\t\tsc.SetState(nestingLevel > 0 ? SCE_CSS_IDENTIFIER : SCE_CSS_DEFAULT);\n\t\t\t\t\telse\n\t\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '(':\n\t\t\t\tif (lastState == SCE_CSS_PSEUDOCLASS)\n\t\t\t\t\tsc.SetState(SCE_CSS_TAG);\n\t\t\t\telse if (lastState == SCE_CSS_EXTENDED_PSEUDOCLASS)\n\t\t\t\t\tsc.SetState(SCE_CSS_EXTENDED_PSEUDOCLASS);\n\t\t\t\tbreak;\n\t\t\tcase ')':\n\t\t\t\tif (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID ||\n\t\t\t\t\tlastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS ||\n\t\t\t\t\tlastState == SCE_CSS_PSEUDOELEMENT || lastState == SCE_CSS_EXTENDED_PSEUDOELEMENT)\n\t\t\t\t\tsc.SetState(SCE_CSS_TAG);\n\t\t\t\tbreak;\n\t\t\tcase ':':\n\t\t\t\tswitch (lastState) {\n\t\t\t\tcase SCE_CSS_TAG:\n\t\t\t\tcase SCE_CSS_DEFAULT:\n\t\t\t\tcase SCE_CSS_CLASS:\n\t\t\t\tcase SCE_CSS_ID:\n\t\t\t\tcase SCE_CSS_PSEUDOCLASS:\n\t\t\t\tcase SCE_CSS_EXTENDED_PSEUDOCLASS:\n\t\t\t\tcase SCE_CSS_UNKNOWN_PSEUDOCLASS:\n\t\t\t\tcase SCE_CSS_PSEUDOELEMENT:\n\t\t\t\tcase SCE_CSS_EXTENDED_PSEUDOELEMENT:\n\t\t\t\t\tsc.SetState(SCE_CSS_PSEUDOCLASS);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SCE_CSS_IDENTIFIER:\n\t\t\t\tcase SCE_CSS_IDENTIFIER2:\n\t\t\t\tcase SCE_CSS_IDENTIFIER3:\n\t\t\t\tcase SCE_CSS_EXTENDED_IDENTIFIER:\n\t\t\t\tcase SCE_CSS_UNKNOWN_IDENTIFIER:\n\t\t\t\tcase SCE_CSS_VARIABLE:\n\t\t\t\t\tsc.SetState(SCE_CSS_VALUE);\n\t\t\t\t\tlastStateVal = lastState;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\tif (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID ||\n\t\t\t\t\tlastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS)\n\t\t\t\t\tsc.SetState(SCE_CSS_CLASS);\n\t\t\t\tbreak;\n\t\t\tcase '#':\n\t\t\t\tif (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID ||\n\t\t\t\t\tlastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS)\n\t\t\t\t\tsc.SetState(SCE_CSS_ID);\n\t\t\t\tbreak;\n\t\t\tcase ',':\n\t\t\tcase '|':\n\t\t\tcase '~':\n\t\t\t\tif (lastState == SCE_CSS_TAG)\n\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase ';':\n\t\t\t\tswitch (lastState) {\n\t\t\t\tcase SCE_CSS_DIRECTIVE:\n\t\t\t\t\tif (hasNesting) {\n\t\t\t\t\t\tsc.SetState(nestingLevel > 0 ? SCE_CSS_IDENTIFIER : SCE_CSS_DEFAULT);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase SCE_CSS_VALUE:\n\t\t\t\tcase SCE_CSS_IMPORTANT:\n\t\t\t\t\t// data URLs can have semicolons; simplistically check for wrapping parentheses and move along\n\t\t\t\t\tif (insideParentheses) {\n\t\t\t\t\t\tsc.SetState(lastState);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (lastStateVal == SCE_CSS_VARIABLE) {\n\t\t\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_CSS_IDENTIFIER);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase SCE_CSS_VARIABLE:\n\t\t\t\t\tif (lastStateVar == SCE_CSS_VALUE) {\n\t\t\t\t\t\t// data URLs can have semicolons; simplistically check for wrapping parentheses and move along\n\t\t\t\t\t\tif (insideParentheses) {\n\t\t\t\t\t\t\tsc.SetState(SCE_CSS_VALUE);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_CSS_IDENTIFIER);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '!':\n\t\t\t\tif (lastState == SCE_CSS_VALUE)\n\t\t\t\t\tsc.SetState(SCE_CSS_IMPORTANT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (sc.ch == '*' && sc.state == SCE_CSS_DEFAULT) {\n\t\t\tsc.SetState(SCE_CSS_TAG);\n\t\t\tcontinue;\n\t\t}\n\n\t\t// check for inside parentheses (whether part of an \"operator\" or not)\n\t\tif (sc.ch == '(')\n\t\t\tinsideParentheses = true;\n\t\telse if (sc.ch == ')')\n\t\t\tinsideParentheses = false;\n\n\t\t// SCSS special modes\n\t\tif (hasVariables) {\n\t\t\t// variable name\n\t\t\tif (sc.ch == varPrefix) {\n\t\t\t\tswitch (sc.state) {\n\t\t\t\tcase SCE_CSS_DEFAULT:\n\t\t\t\t\tif (isLessDocument) // give priority to pseudo elements\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t// Falls through.\n\t\t\t\tcase SCE_CSS_VALUE:\n\t\t\t\t\tlastStateVar = sc.state;\n\t\t\t\t\tsc.SetState(SCE_CSS_VARIABLE);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (sc.state == SCE_CSS_VARIABLE) {\n\t\t\t\tif (IsAWordChar(sc.ch)) {\n\t\t\t\t\t// still looking at the variable name\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (lastStateVar == SCE_CSS_VALUE) {\n\t\t\t\t\t// not looking at the variable name any more, and it was part of a value\n\t\t\t\t\tsc.SetState(SCE_CSS_VALUE);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// nested rule parent selector\n\t\t\tif (sc.ch == '&') {\n\t\t\t\tswitch (sc.state) {\n\t\t\t\tcase SCE_CSS_DEFAULT:\n\t\t\t\tcase SCE_CSS_IDENTIFIER:\n\t\t\t\t\tsc.SetState(SCE_CSS_TAG);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// nesting rules that apply to SCSS and Less\n\t\tif (hasNesting) {\n\t\t\t// check for nested rule selector\n\t\t\tif (sc.state == SCE_CSS_IDENTIFIER && (IsAWordChar(sc.ch) || sc.ch == ':' || sc.ch == '.' || sc.ch == '#')) {\n\t\t\t\t// look ahead to see whether { comes before next ; and }\n\t\t\t\tSci_PositionU endPos = startPos + length;\n\t\t\t\tint ch;\n\n\t\t\t\tfor (Sci_PositionU i = sc.currentPos; i < endPos; i++) {\n\t\t\t\t\tch = styler.SafeGetCharAt(i);\n\t\t\t\t\tif (ch == ';' || ch == '}')\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tif (ch == '{') {\n\t\t\t\t\t\tsc.SetState(SCE_CSS_DEFAULT);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif (IsAWordChar(sc.ch)) {\n\t\t\tif (sc.state == SCE_CSS_DEFAULT)\n\t\t\t\tsc.SetState(SCE_CSS_TAG);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (IsAWordChar(sc.chPrev) && (\n\t\t\tsc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_IDENTIFIER2 ||\n\t\t\tsc.state == SCE_CSS_IDENTIFIER3 || sc.state == SCE_CSS_EXTENDED_IDENTIFIER ||\n\t\t\tsc.state == SCE_CSS_UNKNOWN_IDENTIFIER ||\n\t\t\tsc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_PSEUDOELEMENT ||\n\t\t\tsc.state == SCE_CSS_EXTENDED_PSEUDOCLASS || sc.state == SCE_CSS_EXTENDED_PSEUDOELEMENT ||\n\t\t\tsc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS ||\n\t\t\tsc.state == SCE_CSS_IMPORTANT ||\n\t\t\tsc.state == SCE_CSS_DIRECTIVE\n\t\t)) {\n\t\t\tchar s[100];\n\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\tchar *s2 = s;\n\t\t\twhile (*s2 && !IsAWordChar(*s2))\n\t\t\t\ts2++;\n\t\t\tswitch (sc.state) {\n\t\t\tcase SCE_CSS_IDENTIFIER:\n\t\t\tcase SCE_CSS_IDENTIFIER2:\n\t\t\tcase SCE_CSS_IDENTIFIER3:\n\t\t\tcase SCE_CSS_EXTENDED_IDENTIFIER:\n\t\t\tcase SCE_CSS_UNKNOWN_IDENTIFIER:\n\t\t\t\tif (css1Props.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_IDENTIFIER);\n\t\t\t\telse if (css2Props.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_IDENTIFIER2);\n\t\t\t\telse if (css3Props.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_IDENTIFIER3);\n\t\t\t\telse if (exProps.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_EXTENDED_IDENTIFIER);\n\t\t\t\telse\n\t\t\t\t\tsc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER);\n\t\t\t\tbreak;\n\t\t\tcase SCE_CSS_PSEUDOCLASS:\n\t\t\tcase SCE_CSS_PSEUDOELEMENT:\n\t\t\tcase SCE_CSS_EXTENDED_PSEUDOCLASS:\n\t\t\tcase SCE_CSS_EXTENDED_PSEUDOELEMENT:\n\t\t\tcase SCE_CSS_UNKNOWN_PSEUDOCLASS:\n\t\t\t\tif (op == ':' && opPrev != ':' && pseudoClasses.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_PSEUDOCLASS);\n\t\t\t\telse if (opPrev == ':' && pseudoElements.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_PSEUDOELEMENT);\n\t\t\t\telse if ((op == ':' || (op == '(' && lastState == SCE_CSS_EXTENDED_PSEUDOCLASS)) && opPrev != ':' && exPseudoClasses.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_EXTENDED_PSEUDOCLASS);\n\t\t\t\telse if (opPrev == ':' && exPseudoElements.InList(s2))\n\t\t\t\t\tsc.ChangeState(SCE_CSS_EXTENDED_PSEUDOELEMENT);\n\t\t\t\telse\n\t\t\t\t\tsc.ChangeState(SCE_CSS_UNKNOWN_PSEUDOCLASS);\n\t\t\t\tbreak;\n\t\t\tcase SCE_CSS_IMPORTANT:\n\t\t\t\tif (strcmp(s2, \"important\") != 0)\n\t\t\t\t\tsc.ChangeState(SCE_CSS_VALUE);\n\t\t\t\tbreak;\n\t\t\tcase SCE_CSS_DIRECTIVE:\n\t\t\t\tif (op == '@' && strcmp(s2, \"media\") == 0)\n\t\t\t\t\tsc.ChangeState(SCE_CSS_MEDIA);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (sc.ch != '.' && sc.ch != ':' && sc.ch != '#' && (\n\t\t\tsc.state == SCE_CSS_CLASS || sc.state == SCE_CSS_ID ||\n\t\t\t(sc.ch != '(' && sc.ch != ')' && ( /* This line of the condition makes it possible to extend pseudo-classes with parentheses */\n\t\t\t\tsc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_PSEUDOELEMENT ||\n\t\t\t\tsc.state == SCE_CSS_EXTENDED_PSEUDOCLASS || sc.state == SCE_CSS_EXTENDED_PSEUDOELEMENT ||\n\t\t\t\tsc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS\n\t\t\t))\n\t\t))\n\t\t\tsc.SetState(SCE_CSS_TAG);\n\n\t\tif (sc.Match('/', '*')) {\n\t\t\tlastStateC = sc.state;\n\t\t\tcomment_mode = eCommentBlock;\n\t\t\tsc.SetState(SCE_CSS_COMMENT);\n\t\t\tsc.Forward();\n\t\t} else if (hasSingleLineComments && sc.Match('/', '/') && !insideParentheses) {\n\t\t\t// 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)\n\t\t\tlastStateC = sc.state;\n\t\t\tcomment_mode = eCommentLine;\n\t\t\tsc.SetState(SCE_CSS_COMMENT);\n\t\t\tsc.Forward();\n\t\t} else if ((sc.state == SCE_CSS_VALUE || sc.state == SCE_CSS_ATTRIBUTE)\n\t\t\t&& (sc.ch == '\\\"' || sc.ch == '\\'')) {\n\t\t\tlastStateS = sc.state;\n\t\t\tsc.SetState((sc.ch == '\\\"' ? SCE_CSS_DOUBLESTRING : SCE_CSS_SINGLESTRING));\n\t\t} else if (IsCssOperator(sc.ch)\n\t\t\t&& (sc.state != SCE_CSS_ATTRIBUTE || sc.ch == ']')\n\t\t\t&& (sc.state != SCE_CSS_VALUE || sc.ch == ';' || sc.ch == '}' || sc.ch == '!')\n\t\t\t&& ((sc.state != SCE_CSS_DIRECTIVE && sc.state != SCE_CSS_MEDIA) || sc.ch == ';' || sc.ch == '{')\n\t\t) {\n\t\t\tif (sc.state != SCE_CSS_OPERATOR)\n\t\t\t\tlastState = sc.state;\n\t\t\tsc.SetState(SCE_CSS_OPERATOR);\n\t\t\top = sc.ch;\n\t\t\topPrev = sc.chPrev;\n\t\t}\n\t}\n\n\tsc.Complete();\n}\n\nstatic void FoldCSSDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tbool inComment = (styler.StyleAt(startPos-1) == SCE_CSS_COMMENT);\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (foldComment) {\n\t\t\tif (!inComment && (style == SCE_CSS_COMMENT))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (inComment && (style != SCE_CSS_COMMENT))\n\t\t\t\tlevelCurrent--;\n\t\t\tinComment = (style == SCE_CSS_COMMENT);\n\t\t}\n\t\tif (style == SCE_CSS_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const cssWordListDesc[] = {\n\t\"CSS1 Properties\",\n\t\"Pseudo-classes\",\n\t\"CSS2 Properties\",\n\t\"CSS3 Properties\",\n\t\"Pseudo-elements\",\n\t\"Browser-Specific CSS Properties\",\n\t\"Browser-Specific Pseudo-classes\",\n\t\"Browser-Specific Pseudo-elements\",\n\t0\n};\n\nLexerModule lmCss(SCLEX_CSS, ColouriseCssDoc, \"css\", FoldCSSDoc, cssWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCaml.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCaml.cxx\n ** Lexer for Objective Caml.\n **/\n// Copyright 2005-2009 by Robert Roessler <robertr@rftp.com>\n// The License.txt file describes the conditions under which this software may be distributed.\n/*\tRelease History\n\t20050204 Initial release.\n\t20050205 Quick compiler standards/\"cleanliness\" adjustment.\n\t20050206 Added cast for IsLeadByte().\n\t20050209 Changes to \"external\" build support.\n\t20050306 Fix for 1st-char-in-doc \"corner\" case.\n\t20050502 Fix for [harmless] one-past-the-end coloring.\n\t20050515 Refined numeric token recognition logic.\n\t20051125 Added 2nd \"optional\" keywords class.\n\t20051129 Support \"magic\" (read-only) comments for RCaml.\n\t20051204 Swtich to using StyleContext infrastructure.\n\t20090629 Add full Standard ML '97 support.\n*/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\n#if defined(__clang__)\n#pragma clang diagnostic ignored \"-Wcomma\"\n#endif\n\n//\tSince the Microsoft __iscsym[f] funcs are not ANSI...\ninline int  iscaml(int c) {return isalnum(c) || c == '_';}\ninline int iscamlf(int c) {return isalpha(c) || c == '_';}\n\nstatic const int baseT[24] = {\n\t0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\t/* A - L */\n\t0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,16\t/* M - X */\n};\n\nusing namespace Scintilla;\n\n#ifdef BUILD_AS_EXTERNAL_LEXER\n/*\n\t(actually seems to work!)\n*/\n#include <string>\n#include \"WindowAccessor.h\"\n#include \"ExternalLexer.h\"\n\n#undef EXT_LEXER_DECL\n#define EXT_LEXER_DECL __declspec( dllexport ) __stdcall\n\n#if PLAT_WIN\n#include <windows.h>\n#endif\n\nstatic void ColouriseCamlDoc(\n\tSci_PositionU startPos, Sci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler);\n\nstatic void FoldCamlDoc(\n\tSci_PositionU startPos, Sci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler);\n\nstatic void InternalLexOrFold(int lexOrFold, Sci_PositionU startPos, Sci_Position length,\n\tint initStyle, char *words[], WindowID window, char *props);\n\nstatic const char* LexerName = \"caml\";\n\n#ifdef TRACE\nvoid Platform::DebugPrintf(const char *format, ...) {\n\tchar buffer[2000];\n\tva_list pArguments;\n\tva_start(pArguments, format);\n\tvsprintf(buffer,format,pArguments);\n\tva_end(pArguments);\n\tPlatform::DebugDisplay(buffer);\n}\n#else\nvoid Platform::DebugPrintf(const char *, ...) {\n}\n#endif\n\nbool Platform::IsDBCSLeadByte(int codePage, char ch) {\n\treturn ::IsDBCSLeadByteEx(codePage, ch) != 0;\n}\n\nlong Platform::SendScintilla(WindowID w, unsigned int msg, unsigned long wParam, long lParam) {\n\treturn ::SendMessage(reinterpret_cast<HWND>(w), msg, wParam, lParam);\n}\n\nlong Platform::SendScintillaPointer(WindowID w, unsigned int msg, unsigned long wParam, void *lParam) {\n\treturn ::SendMessage(reinterpret_cast<HWND>(w), msg, wParam,\n\t\treinterpret_cast<LPARAM>(lParam));\n}\n\nvoid EXT_LEXER_DECL Fold(unsigned int lexer, Sci_PositionU startPos, Sci_Position length,\n\tint initStyle, char *words[], WindowID window, char *props)\n{\n\t// below useless evaluation(s) to supress \"not used\" warnings\n\tlexer;\n\t// build expected data structures and do the Fold\n\tInternalLexOrFold(1, startPos, length, initStyle, words, window, props);\n\n}\n\nint EXT_LEXER_DECL GetLexerCount()\n{\n\treturn 1;\t// just us [Objective] Caml lexers here!\n}\n\nvoid EXT_LEXER_DECL GetLexerName(unsigned int Index, char *name, int buflength)\n{\n\t// below useless evaluation(s) to supress \"not used\" warnings\n\tIndex;\n\t// return as much of our lexer name as will fit (what's up with Index?)\n\tif (buflength > 0) {\n\t\tbuflength--;\n\t\tint n = strlen(LexerName);\n\t\tif (n > buflength)\n\t\t\tn = buflength;\n\t\tmemcpy(name, LexerName, n), name[n] = '\\0';\n\t}\n}\n\nvoid EXT_LEXER_DECL Lex(unsigned int lexer, Sci_PositionU startPos, Sci_Position length,\n\tint initStyle, char *words[], WindowID window, char *props)\n{\n\t// below useless evaluation(s) to supress \"not used\" warnings\n\tlexer;\n\t// build expected data structures and do the Lex\n\tInternalLexOrFold(0, startPos, length, initStyle, words, window, props);\n}\n\nstatic void InternalLexOrFold(int foldOrLex, Sci_PositionU startPos, Sci_Position length,\n\tint initStyle, char *words[], WindowID window, char *props)\n{\n\t// create and initialize a WindowAccessor (including contained PropSet)\n\tPropSetSimple ps;\n\tps.SetMultiple(props);\n\tWindowAccessor wa(window, ps);\n\t// create and initialize WordList(s)\n\tint nWL = 0;\n\tfor (; words[nWL]; nWL++) ;\t// count # of WordList PTRs needed\n\tWordList** wl = new WordList* [nWL + 1];// alloc WordList PTRs\n\tint i = 0;\n\tfor (; i < nWL; i++) {\n\t\twl[i] = new WordList();\t// (works or THROWS bad_alloc EXCEPTION)\n\t\twl[i]->Set(words[i]);\n\t}\n\twl[i] = 0;\n\t// call our \"internal\" folder/lexer (... then do Flush!)\n\tif (foldOrLex)\n\t\tFoldCamlDoc(startPos, length, initStyle, wl, wa);\n\telse\n\t\tColouriseCamlDoc(startPos, length, initStyle, wl, wa);\n\twa.Flush();\n\t// clean up before leaving\n\tfor (i = nWL - 1; i >= 0; i--)\n\t\tdelete wl[i];\n\tdelete [] wl;\n}\n\nstatic\n#endif\t/* BUILD_AS_EXTERNAL_LEXER */\n\nvoid ColouriseCamlDoc(\n\tSci_PositionU startPos, Sci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler)\n{\n\t// initialize styler\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tSci_PositionU chToken = 0;\n\tint chBase = 0, chLit = 0;\n\tWordList& keywords  = *keywordlists[0];\n\tWordList& keywords2 = *keywordlists[1];\n\tWordList& keywords3 = *keywordlists[2];\n\tconst bool isSML = keywords.InList(\"andalso\");\n\tconst int useMagic = styler.GetPropertyInt(\"lexer.caml.magic\", 0);\n\n\t// set up [initial] state info (terminating states that shouldn't \"bleed\")\n\tconst int state_ = sc.state & 0x0f;\n\tif (state_ <= SCE_CAML_CHAR\n\t\t|| (isSML && state_ == SCE_CAML_STRING))\n\t\tsc.state = SCE_CAML_DEFAULT;\n\tint nesting = (state_ >= SCE_CAML_COMMENT)? (state_ - SCE_CAML_COMMENT): 0;\n\n\t// foreach char in range...\n\twhile (sc.More()) {\n\t\t// set up [per-char] state info\n\t\tint state2 = -1;\t\t\t\t// (ASSUME no state change)\n\t\tSci_Position chColor = sc.currentPos - 1;// (ASSUME standard coloring range)\n\t\tbool advance = true;\t\t\t// (ASSUME scanner \"eats\" 1 char)\n\n\t\t// step state machine\n\t\tswitch (sc.state & 0x0f) {\n\t\tcase SCE_CAML_DEFAULT:\n\t\t\tchToken = sc.currentPos;\t// save [possible] token start (JIC)\n\t\t\t// it's wide open; what do we have?\n\t\t\tif (iscamlf(sc.ch))\n\t\t\t\tstate2 = SCE_CAML_IDENTIFIER;\n\t\t\telse if (!isSML && sc.Match('`') && iscamlf(sc.chNext))\n\t\t\t\tstate2 = SCE_CAML_TAGNAME;\n\t\t\telse if (!isSML && sc.Match('#') && isdigit(sc.chNext))\n\t\t\t\tstate2 = SCE_CAML_LINENUM;\n\t\t\telse if (isdigit(sc.ch)) {\n\t\t\t\t// it's a number, assume base 10\n\t\t\t\tstate2 = SCE_CAML_NUMBER, chBase = 10;\n\t\t\t\tif (sc.Match('0')) {\n\t\t\t\t\t// there MAY be a base specified...\n\t\t\t\t\tconst char* baseC = \"bBoOxX\";\n\t\t\t\t\tif (isSML) {\n\t\t\t\t\t\tif (sc.chNext == 'w')\n\t\t\t\t\t\t\tsc.Forward();\t// (consume SML \"word\" indicator)\n\t\t\t\t\t\tbaseC = \"x\";\n\t\t\t\t\t}\n\t\t\t\t\t// ... change to specified base AS REQUIRED\n\t\t\t\t\tif (strchr(baseC, sc.chNext))\n\t\t\t\t\t\tchBase = baseT[tolower(sc.chNext) - 'a'], sc.Forward();\n\t\t\t\t}\n\t\t\t} else if (!isSML && sc.Match('\\''))\t// (Caml char literal?)\n\t\t\t\tstate2 = SCE_CAML_CHAR, chLit = 0;\n\t\t\telse if (isSML && sc.Match('#', '\"'))\t// (SML char literal?)\n\t\t\t\tstate2 = SCE_CAML_CHAR, sc.Forward();\n\t\t\telse if (sc.Match('\"'))\n\t\t\t\tstate2 = SCE_CAML_STRING;\n\t\t\telse if (sc.Match('(', '*'))\n\t\t\t\tstate2 = SCE_CAML_COMMENT, sc.Forward(), sc.ch = ' '; // (*)...\n\t\t\telse if (strchr(\"!?~\"\t\t\t/* Caml \"prefix-symbol\" */\n\t\t\t\t\t\"=<>@^|&+-*/$%\"\t\t\t/* Caml \"infix-symbol\" */\n\t\t\t\t\t\"()[]{};,:.#\", sc.ch)\t// Caml \"bracket\" or ;,:.#\n\t\t\t\t\t\t\t\t\t\t\t// SML \"extra\" ident chars\n\t\t\t\t|| (isSML && (sc.Match('\\\\') || sc.Match('`'))))\n\t\t\t\tstate2 = SCE_CAML_OPERATOR;\n\t\t\tbreak;\n\n\t\tcase SCE_CAML_IDENTIFIER:\n\t\t\t// [try to] interpret as [additional] identifier char\n\t\t\tif (!(iscaml(sc.ch) || sc.Match('\\''))) {\n\t\t\t\tconst Sci_Position n = sc.currentPos - chToken;\n\t\t\t\tif (n < 24) {\n\t\t\t\t\t// length is believable as keyword, [re-]construct token\n\t\t\t\t\tchar t[24];\n\t\t\t\t\tfor (Sci_Position i = -n; i < 0; i++)\n\t\t\t\t\t\tt[n + i] = static_cast<char>(sc.GetRelative(i));\n\t\t\t\t\tt[n] = '\\0';\n\t\t\t\t\t// special-case \"_\" token as KEYWORD\n\t\t\t\t\tif ((n == 1 && sc.chPrev == '_') || keywords.InList(t))\n\t\t\t\t\t\tsc.ChangeState(SCE_CAML_KEYWORD);\n\t\t\t\t\telse if (keywords2.InList(t))\n\t\t\t\t\t\tsc.ChangeState(SCE_CAML_KEYWORD2);\n\t\t\t\t\telse if (keywords3.InList(t))\n\t\t\t\t\t\tsc.ChangeState(SCE_CAML_KEYWORD3);\n\t\t\t\t}\n\t\t\t\tstate2 = SCE_CAML_DEFAULT, advance = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_CAML_TAGNAME:\n\t\t\t// [try to] interpret as [additional] tagname char\n\t\t\tif (!(iscaml(sc.ch) || sc.Match('\\'')))\n\t\t\t\tstate2 = SCE_CAML_DEFAULT, advance = false;\n\t\t\tbreak;\n\n\t\t/*case SCE_CAML_KEYWORD:\n\t\tcase SCE_CAML_KEYWORD2:\n\t\tcase SCE_CAML_KEYWORD3:\n\t\t\t// [try to] interpret as [additional] keyword char\n\t\t\tif (!iscaml(ch))\n\t\t\t\tstate2 = SCE_CAML_DEFAULT, advance = false;\n\t\t\tbreak;*/\n\n\t\tcase SCE_CAML_LINENUM:\n\t\t\t// [try to] interpret as [additional] linenum directive char\n\t\t\tif (!isdigit(sc.ch))\n\t\t\t\tstate2 = SCE_CAML_DEFAULT, advance = false;\n\t\t\tbreak;\n\n\t\tcase SCE_CAML_OPERATOR: {\n\t\t\t// [try to] interpret as [additional] operator char\n\t\t\tconst char* o = 0;\n\t\t\tif (iscaml(sc.ch) || isspace(sc.ch)\t\t\t// ident or whitespace\n\t\t\t\t|| (o = strchr(\")]};,\\'\\\"#\", sc.ch),o)\t// \"termination\" chars\n\t\t\t\t|| (!isSML && sc.Match('`'))\t\t\t// Caml extra term char\n\t\t\t\t|| (!strchr(\"!$%&*+-./:<=>?@^|~\", sc.ch)// \"operator\" chars\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// SML extra ident chars\n\t\t\t\t\t&& !(isSML && (sc.Match('\\\\') || sc.Match('`'))))) {\n\t\t\t\t// check for INCLUSIVE termination\n\t\t\t\tif (o && strchr(\")]};,\", sc.ch)) {\n\t\t\t\t\tif ((sc.Match(')') && sc.chPrev == '(')\n\t\t\t\t\t\t|| (sc.Match(']') && sc.chPrev == '['))\n\t\t\t\t\t\t// special-case \"()\" and \"[]\" tokens as KEYWORDS\n\t\t\t\t\t\tsc.ChangeState(SCE_CAML_KEYWORD);\n\t\t\t\t\tchColor++;\n\t\t\t\t} else\n\t\t\t\t\tadvance = false;\n\t\t\t\tstate2 = SCE_CAML_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\tcase SCE_CAML_NUMBER:\n\t\t\t// [try to] interpret as [additional] numeric literal char\n\t\t\tif ((!isSML && sc.Match('_')) || IsADigit(sc.ch, chBase))\n\t\t\t\tbreak;\n\t\t\t// how about an integer suffix?\n\t\t\tif (!isSML && (sc.Match('l') || sc.Match('L') || sc.Match('n'))\n\t\t\t\t&& (sc.chPrev == '_' || IsADigit(sc.chPrev, chBase)))\n\t\t\t\tbreak;\n\t\t\t// or a floating-point literal?\n\t\t\tif (chBase == 10) {\n\t\t\t\t// with a decimal point?\n\t\t\t\tif (sc.Match('.')\n\t\t\t\t\t&& ((!isSML && sc.chPrev == '_')\n\t\t\t\t\t\t|| IsADigit(sc.chPrev, chBase)))\n\t\t\t\t\tbreak;\n\t\t\t\t// with an exponent? (I)\n\t\t\t\tif ((sc.Match('e') || sc.Match('E'))\n\t\t\t\t\t&& ((!isSML && (sc.chPrev == '.' || sc.chPrev == '_'))\n\t\t\t\t\t\t|| IsADigit(sc.chPrev, chBase)))\n\t\t\t\t\tbreak;\n\t\t\t\t// with an exponent? (II)\n\t\t\t\tif (((!isSML && (sc.Match('+') || sc.Match('-')))\n\t\t\t\t\t\t|| (isSML && sc.Match('~')))\n\t\t\t\t\t&& (sc.chPrev == 'e' || sc.chPrev == 'E'))\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// it looks like we have run out of number\n\t\t\tstate2 = SCE_CAML_DEFAULT, advance = false;\n\t\t\tbreak;\n\n\t\tcase SCE_CAML_CHAR:\n\t\t\tif (!isSML) {\n\t\t\t\t// [try to] interpret as [additional] char literal char\n\t\t\t\tif (sc.Match('\\\\')) {\n\t\t\t\t\tchLit = 1;\t// (definitely IS a char literal)\n\t\t\t\t\tif (sc.chPrev == '\\\\')\n\t\t\t\t\t\tsc.ch = ' ';\t// (...\\\\')\n\t\t\t\t// should we be terminating - one way or another?\n\t\t\t\t} else if ((sc.Match('\\'') && sc.chPrev != '\\\\')\n\t\t\t\t\t|| sc.atLineEnd) {\n\t\t\t\t\tstate2 = SCE_CAML_DEFAULT;\n\t\t\t\t\tif (sc.Match('\\''))\n\t\t\t\t\t\tchColor++;\n\t\t\t\t\telse\n\t\t\t\t\t\tsc.ChangeState(SCE_CAML_IDENTIFIER);\n\t\t\t\t// ... maybe a char literal, maybe not\n\t\t\t\t} else if (chLit < 1 && sc.currentPos - chToken >= 2)\n\t\t\t\t\tsc.ChangeState(SCE_CAML_IDENTIFIER), advance = false;\n\t\t\t\tbreak;\n\t\t\t}/* else\n\t\t\t\t// fall through for SML char literal (handle like string) */\n\t\t\t// Falls through.\n\n\t\tcase SCE_CAML_STRING:\n\t\t\t// [try to] interpret as [additional] [SML char/] string literal char\n\t\t\tif (isSML && sc.Match('\\\\') && sc.chPrev != '\\\\' && isspace(sc.chNext))\n\t\t\t\tstate2 = SCE_CAML_WHITE;\n\t\t\telse if (sc.Match('\\\\') && sc.chPrev == '\\\\')\n\t\t\t\tsc.ch = ' ';\t// (...\\\\\")\n\t\t\t// should we be terminating - one way or another?\n\t\t\telse if ((sc.Match('\"') && sc.chPrev != '\\\\')\n\t\t\t\t|| (isSML && sc.atLineEnd)) {\n\t\t\t\tstate2 = SCE_CAML_DEFAULT;\n\t\t\t\tif (sc.Match('\"'))\n\t\t\t\t\tchColor++;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_CAML_WHITE:\n\t\t\t// [try to] interpret as [additional] SML embedded whitespace char\n\t\t\tif (sc.Match('\\\\')) {\n\t\t\t\t// style this puppy NOW...\n\t\t\t\tstate2 = SCE_CAML_STRING, sc.ch = ' ' /* (...\\\") */, chColor++,\n\t\t\t\t\tstyler.ColourTo(chColor, SCE_CAML_WHITE), styler.Flush();\n\t\t\t\t// ... then backtrack to determine original SML literal type\n\t\t\t\tSci_Position p = chColor - 2;\n\t\t\t\tfor (; p >= 0 && styler.StyleAt(p) == SCE_CAML_WHITE; p--) ;\n\t\t\t\tif (p >= 0)\n\t\t\t\t\tstate2 = static_cast<int>(styler.StyleAt(p));\n\t\t\t\t// take care of state change NOW\n\t\t\t\tsc.ChangeState(state2), state2 = -1;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_CAML_COMMENT:\n\t\tcase SCE_CAML_COMMENT1:\n\t\tcase SCE_CAML_COMMENT2:\n\t\tcase SCE_CAML_COMMENT3:\n\t\t\t// we're IN a comment - does this start a NESTED comment?\n\t\t\tif (sc.Match('(', '*'))\n\t\t\t\tstate2 = sc.state + 1, chToken = sc.currentPos,\n\t\t\t\t\tsc.Forward(), sc.ch = ' ' /* (*)... */, nesting++;\n\t\t\t// [try to] interpret as [additional] comment char\n\t\t\telse if (sc.Match(')') && sc.chPrev == '*') {\n\t\t\t\tif (nesting)\n\t\t\t\t\tstate2 = (sc.state & 0x0f) - 1, chToken = 0, nesting--;\n\t\t\t\telse\n\t\t\t\t\tstate2 = SCE_CAML_DEFAULT;\n\t\t\t\tchColor++;\n\t\t\t// enable \"magic\" (read-only) comment AS REQUIRED\n\t\t\t} else if (useMagic && sc.currentPos - chToken == 4\n\t\t\t\t&& sc.Match('c') && sc.chPrev == 'r' && sc.GetRelative(-2) == '@')\n\t\t\t\tsc.state |= 0x10;\t// (switch to read-only comment style)\n\t\t\tbreak;\n\t\t}\n\n\t\t// handle state change and char coloring AS REQUIRED\n\t\tif (state2 >= 0)\n\t\t\tstyler.ColourTo(chColor, sc.state), sc.ChangeState(state2);\n\t\t// move to next char UNLESS re-scanning current char\n\t\tif (advance)\n\t\t\tsc.Forward();\n\t}\n\n\t// do any required terminal char coloring (JIC)\n\tsc.Complete();\n}\n\n#ifdef BUILD_AS_EXTERNAL_LEXER\nstatic\n#endif\t/* BUILD_AS_EXTERNAL_LEXER */\nvoid FoldCamlDoc(\n\tSci_PositionU, Sci_Position,\n\tint,\n\tWordList *[],\n\tAccessor &)\n{\n}\n\nstatic const char * const camlWordListDesc[] = {\n\t\"Keywords\",\t\t// primary Objective Caml keywords\n\t\"Keywords2\",\t// \"optional\" keywords (typically from Pervasives)\n\t\"Keywords3\",\t// \"optional\" keywords (typically typenames)\n\t0\n};\n\n#ifndef BUILD_AS_EXTERNAL_LEXER\nLexerModule lmCaml(SCLEX_CAML, ColouriseCamlDoc, \"caml\", FoldCamlDoc, camlWordListDesc);\n#endif\t/* BUILD_AS_EXTERNAL_LEXER */\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCmake.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCmake.cxx\n ** Lexer for Cmake\n **/\n// Copyright 2007 by Cristian Adam <cristian [dot] adam [at] gmx [dot] net>\n// based on the NSIS lexer\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic bool isCmakeNumber(char ch)\n{\n    return(ch >= '0' && ch <= '9');\n}\n\nstatic bool isCmakeChar(char ch)\n{\n    return(ch == '.' ) || (ch == '_' ) || isCmakeNumber(ch) || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z');\n}\n\nstatic bool isCmakeLetter(char ch)\n{\n    return(ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z');\n}\n\nstatic bool CmakeNextLineHasElse(Sci_PositionU start, Sci_PositionU end, Accessor &styler)\n{\n    Sci_Position nNextLine = -1;\n    for ( Sci_PositionU i = start; i < end; i++ ) {\n        char cNext = styler.SafeGetCharAt( i );\n        if ( cNext == '\\n' ) {\n            nNextLine = i+1;\n            break;\n        }\n    }\n\n    if ( nNextLine == -1 ) // We never foudn the next line...\n        return false;\n\n    for ( Sci_PositionU firstChar = nNextLine; firstChar < end; firstChar++ ) {\n        char cNext = styler.SafeGetCharAt( firstChar );\n        if ( cNext == ' ' )\n            continue;\n        if ( cNext == '\\t' )\n            continue;\n        if ( styler.Match(firstChar, \"ELSE\")  || styler.Match(firstChar, \"else\"))\n            return true;\n        break;\n    }\n\n    return false;\n}\n\nstatic int calculateFoldCmake(Sci_PositionU start, Sci_PositionU end, int foldlevel, Accessor &styler, bool bElse)\n{\n    // If the word is too long, it is not what we are looking for\n    if ( end - start > 20 )\n        return foldlevel;\n\n    int newFoldlevel = foldlevel;\n\n    char s[20]; // The key word we are looking for has atmost 13 characters\n    for (unsigned int i = 0; i < end - start + 1 && i < 19; i++) {\n        s[i] = static_cast<char>( styler[ start + i ] );\n        s[i + 1] = '\\0';\n    }\n\n    if ( CompareCaseInsensitive(s, \"IF\") == 0 || CompareCaseInsensitive(s, \"WHILE\") == 0\n         || CompareCaseInsensitive(s, \"MACRO\") == 0 || CompareCaseInsensitive(s, \"FOREACH\") == 0\n         || CompareCaseInsensitive(s, \"ELSEIF\") == 0 )\n        newFoldlevel++;\n    else if ( CompareCaseInsensitive(s, \"ENDIF\") == 0 || CompareCaseInsensitive(s, \"ENDWHILE\") == 0\n              || CompareCaseInsensitive(s, \"ENDMACRO\") == 0 || CompareCaseInsensitive(s, \"ENDFOREACH\") == 0)\n        newFoldlevel--;\n    else if ( bElse && CompareCaseInsensitive(s, \"ELSEIF\") == 0 )\n        newFoldlevel++;\n    else if ( bElse && CompareCaseInsensitive(s, \"ELSE\") == 0 )\n        newFoldlevel++;\n\n    return newFoldlevel;\n}\n\nstatic int classifyWordCmake(Sci_PositionU start, Sci_PositionU end, WordList *keywordLists[], Accessor &styler )\n{\n    char word[100] = {0};\n    char lowercaseWord[100] = {0};\n\n    WordList &Commands = *keywordLists[0];\n    WordList &Parameters = *keywordLists[1];\n    WordList &UserDefined = *keywordLists[2];\n\n    for (Sci_PositionU i = 0; i < end - start + 1 && i < 99; i++) {\n        word[i] = static_cast<char>( styler[ start + i ] );\n        lowercaseWord[i] = static_cast<char>(tolower(word[i]));\n    }\n\n    // Check for special words...\n    if ( CompareCaseInsensitive(word, \"MACRO\") == 0 || CompareCaseInsensitive(word, \"ENDMACRO\") == 0 )\n        return SCE_CMAKE_MACRODEF;\n\n    if ( CompareCaseInsensitive(word, \"IF\") == 0 ||  CompareCaseInsensitive(word, \"ENDIF\") == 0 )\n        return SCE_CMAKE_IFDEFINEDEF;\n\n    if ( CompareCaseInsensitive(word, \"ELSEIF\") == 0  || CompareCaseInsensitive(word, \"ELSE\") == 0 )\n        return SCE_CMAKE_IFDEFINEDEF;\n\n    if ( CompareCaseInsensitive(word, \"WHILE\") == 0 || CompareCaseInsensitive(word, \"ENDWHILE\") == 0)\n        return SCE_CMAKE_WHILEDEF;\n\n    if ( CompareCaseInsensitive(word, \"FOREACH\") == 0 || CompareCaseInsensitive(word, \"ENDFOREACH\") == 0)\n        return SCE_CMAKE_FOREACHDEF;\n\n    if ( Commands.InList(lowercaseWord) )\n        return SCE_CMAKE_COMMANDS;\n\n    if ( Parameters.InList(word) )\n        return SCE_CMAKE_PARAMETERS;\n\n\n    if ( UserDefined.InList(word) )\n        return SCE_CMAKE_USERDEFINED;\n\n    if ( strlen(word) > 3 ) {\n        if ( word[1] == '{' && word[strlen(word)-1] == '}' )\n            return SCE_CMAKE_VARIABLE;\n    }\n\n    // To check for numbers\n    if ( isCmakeNumber( word[0] ) ) {\n        bool bHasSimpleCmakeNumber = true;\n        for (unsigned int j = 1; j < end - start + 1 && j < 99; j++) {\n            if ( !isCmakeNumber( word[j] ) ) {\n                bHasSimpleCmakeNumber = false;\n                break;\n            }\n        }\n\n        if ( bHasSimpleCmakeNumber )\n            return SCE_CMAKE_NUMBER;\n    }\n\n    return SCE_CMAKE_DEFAULT;\n}\n\nstatic void ColouriseCmakeDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler)\n{\n    int state = SCE_CMAKE_DEFAULT;\n    if ( startPos > 0 )\n        state = styler.StyleAt(startPos-1); // Use the style from the previous line, usually default, but could be commentbox\n\n    styler.StartAt( startPos );\n    styler.GetLine( startPos );\n\n    Sci_PositionU nLengthDoc = startPos + length;\n    styler.StartSegment( startPos );\n\n    char cCurrChar;\n    bool bVarInString = false;\n    bool bClassicVarInString = false;\n\n    Sci_PositionU i;\n    for ( i = startPos; i < nLengthDoc; i++ ) {\n        cCurrChar = styler.SafeGetCharAt( i );\n        char cNextChar = styler.SafeGetCharAt(i+1);\n\n        switch (state) {\n        case SCE_CMAKE_DEFAULT:\n            if ( cCurrChar == '#' ) { // we have a comment line\n                styler.ColourTo(i-1, state );\n                state = SCE_CMAKE_COMMENT;\n                break;\n            }\n            if ( cCurrChar == '\"' ) {\n                styler.ColourTo(i-1, state );\n                state = SCE_CMAKE_STRINGDQ;\n                bVarInString = false;\n                bClassicVarInString = false;\n                break;\n            }\n            if ( cCurrChar == '\\'' ) {\n                styler.ColourTo(i-1, state );\n                state = SCE_CMAKE_STRINGRQ;\n                bVarInString = false;\n                bClassicVarInString = false;\n                break;\n            }\n            if ( cCurrChar == '`' ) {\n                styler.ColourTo(i-1, state );\n                state = SCE_CMAKE_STRINGLQ;\n                bVarInString = false;\n                bClassicVarInString = false;\n                break;\n            }\n\n            // CMake Variable\n            if ( cCurrChar == '$' || isCmakeChar(cCurrChar)) {\n                styler.ColourTo(i-1,state);\n                state = SCE_CMAKE_VARIABLE;\n\n                // If it is a number, we must check and set style here first...\n                if ( isCmakeNumber(cCurrChar) && (cNextChar == '\\t' || cNextChar == ' ' || cNextChar == '\\r' || cNextChar == '\\n' ) )\n                    styler.ColourTo( i, SCE_CMAKE_NUMBER);\n\n                break;\n            }\n\n            break;\n        case SCE_CMAKE_COMMENT:\n            if ( cCurrChar == '\\n' || cCurrChar == '\\r' ) {\n                if ( styler.SafeGetCharAt(i-1) == '\\\\' ) {\n                    styler.ColourTo(i-2,state);\n                    styler.ColourTo(i-1,SCE_CMAKE_DEFAULT);\n                }\n                else {\n                    styler.ColourTo(i-1,state);\n                    state = SCE_CMAKE_DEFAULT;\n                }\n            }\n            break;\n        case SCE_CMAKE_STRINGDQ:\n        case SCE_CMAKE_STRINGLQ:\n        case SCE_CMAKE_STRINGRQ:\n\n            if ( styler.SafeGetCharAt(i-1) == '\\\\' && styler.SafeGetCharAt(i-2) == '$' )\n                break; // Ignore the next character, even if it is a quote of some sort\n\n            if ( cCurrChar == '\"' && state == SCE_CMAKE_STRINGDQ ) {\n                styler.ColourTo(i,state);\n                state = SCE_CMAKE_DEFAULT;\n                break;\n            }\n\n            if ( cCurrChar == '`' && state == SCE_CMAKE_STRINGLQ ) {\n                styler.ColourTo(i,state);\n                state = SCE_CMAKE_DEFAULT;\n                break;\n            }\n\n            if ( cCurrChar == '\\'' && state == SCE_CMAKE_STRINGRQ ) {\n                styler.ColourTo(i,state);\n                state = SCE_CMAKE_DEFAULT;\n                break;\n            }\n\n            if ( cNextChar == '\\r' || cNextChar == '\\n' ) {\n                Sci_Position nCurLine = styler.GetLine(i+1);\n                Sci_Position nBack = i;\n                // We need to check if the previous line has a \\ in it...\n                bool bNextLine = false;\n\n                while ( nBack > 0 ) {\n                    if ( styler.GetLine(nBack) != nCurLine )\n                        break;\n\n                    char cTemp = styler.SafeGetCharAt(nBack, 'a'); // Letter 'a' is safe here\n\n                    if ( cTemp == '\\\\' ) {\n                        bNextLine = true;\n                        break;\n                    }\n                    if ( cTemp != '\\r' && cTemp != '\\n' && cTemp != '\\t' && cTemp != ' ' )\n                        break;\n\n                    nBack--;\n                }\n\n                if ( bNextLine ) {\n                    styler.ColourTo(i+1,state);\n                }\n                if ( bNextLine == false ) {\n                    styler.ColourTo(i,state);\n                    state = SCE_CMAKE_DEFAULT;\n                }\n            }\n            break;\n\n        case SCE_CMAKE_VARIABLE:\n\n            // CMake Variable:\n            if ( cCurrChar == '$' )\n                state = SCE_CMAKE_DEFAULT;\n            else if ( cCurrChar == '\\\\' && (cNextChar == 'n' || cNextChar == 'r' || cNextChar == 't' ) )\n                state = SCE_CMAKE_DEFAULT;\n            else if ( (isCmakeChar(cCurrChar) && !isCmakeChar( cNextChar) && cNextChar != '}') || cCurrChar == '}' ) {\n                state = classifyWordCmake( styler.GetStartSegment(), i, keywordLists, styler );\n                styler.ColourTo( i, state);\n                state = SCE_CMAKE_DEFAULT;\n            }\n            else if ( !isCmakeChar( cCurrChar ) && cCurrChar != '{' && cCurrChar != '}' ) {\n                if ( classifyWordCmake( styler.GetStartSegment(), i-1, keywordLists, styler) == SCE_CMAKE_NUMBER )\n                    styler.ColourTo( i-1, SCE_CMAKE_NUMBER );\n\n                state = SCE_CMAKE_DEFAULT;\n\n                if ( cCurrChar == '\"' ) {\n                    state = SCE_CMAKE_STRINGDQ;\n                    bVarInString = false;\n                    bClassicVarInString = false;\n                }\n                else if ( cCurrChar == '`' ) {\n                    state = SCE_CMAKE_STRINGLQ;\n                    bVarInString = false;\n                    bClassicVarInString = false;\n                }\n                else if ( cCurrChar == '\\'' ) {\n                    state = SCE_CMAKE_STRINGRQ;\n                    bVarInString = false;\n                    bClassicVarInString = false;\n                }\n                else if ( cCurrChar == '#' ) {\n                    state = SCE_CMAKE_COMMENT;\n                }\n            }\n            break;\n        }\n\n        if ( state == SCE_CMAKE_STRINGDQ || state == SCE_CMAKE_STRINGLQ || state == SCE_CMAKE_STRINGRQ ) {\n            bool bIngoreNextDollarSign = false;\n\n            if ( bVarInString && cCurrChar == '$' ) {\n                bVarInString = false;\n                bIngoreNextDollarSign = true;\n            }\n            else if ( bVarInString && cCurrChar == '\\\\' && (cNextChar == 'n' || cNextChar == 'r' || cNextChar == 't' || cNextChar == '\"' || cNextChar == '`' || cNextChar == '\\'' ) ) {\n                styler.ColourTo( i+1, SCE_CMAKE_STRINGVAR);\n                bVarInString = false;\n                bIngoreNextDollarSign = false;\n            }\n\n            else if ( bVarInString && !isCmakeChar(cNextChar) ) {\n                int nWordState = classifyWordCmake( styler.GetStartSegment(), i, keywordLists, styler);\n                if ( nWordState == SCE_CMAKE_VARIABLE )\n                    styler.ColourTo( i, SCE_CMAKE_STRINGVAR);\n                bVarInString = false;\n            }\n            // Covers \"${TEST}...\"\n            else if ( bClassicVarInString && cNextChar == '}' ) {\n                styler.ColourTo( i+1, SCE_CMAKE_STRINGVAR);\n                bClassicVarInString = false;\n            }\n\n            // Start of var in string\n            if ( !bIngoreNextDollarSign && cCurrChar == '$' && cNextChar == '{' ) {\n                styler.ColourTo( i-1, state);\n                bClassicVarInString = true;\n                bVarInString = false;\n            }\n            else if ( !bIngoreNextDollarSign && cCurrChar == '$' ) {\n                styler.ColourTo( i-1, state);\n                bVarInString = true;\n                bClassicVarInString = false;\n            }\n        }\n    }\n\n    // Colourise remaining document\n    styler.ColourTo(nLengthDoc-1,state);\n}\n\nstatic void FoldCmakeDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n    // No folding enabled, no reason to continue...\n    if ( styler.GetPropertyInt(\"fold\") == 0 )\n        return;\n\n    bool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) == 1;\n\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    Sci_PositionU safeStartPos = styler.LineStart( lineCurrent );\n\n    bool bArg1 = true;\n    Sci_Position nWordStart = -1;\n\n    int levelCurrent = SC_FOLDLEVELBASE;\n    if (lineCurrent > 0)\n        levelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n    int levelNext = levelCurrent;\n\n    for (Sci_PositionU i = safeStartPos; i < startPos + length; i++) {\n        char chCurr = styler.SafeGetCharAt(i);\n\n        if ( bArg1 ) {\n            if ( nWordStart == -1 && (isCmakeLetter(chCurr)) ) {\n                nWordStart = i;\n            }\n            else if ( isCmakeLetter(chCurr) == false && nWordStart > -1 ) {\n                int newLevel = calculateFoldCmake( nWordStart, i-1, levelNext, styler, foldAtElse);\n\n                if ( newLevel == levelNext ) {\n                    if ( foldAtElse ) {\n                        if ( CmakeNextLineHasElse(i, startPos + length, styler) )\n                            levelNext--;\n                    }\n                }\n                else\n                    levelNext = newLevel;\n                bArg1 = false;\n            }\n        }\n\n        if ( chCurr == '\\n' ) {\n            if ( bArg1 && foldAtElse) {\n                if ( CmakeNextLineHasElse(i, startPos + length, styler) )\n                    levelNext--;\n            }\n\n            // If we are on a new line...\n            int levelUse = levelCurrent;\n            int lev = levelUse | levelNext << 16;\n            if (levelUse < levelNext )\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(lineCurrent))\n                styler.SetLevel(lineCurrent, lev);\n\n            lineCurrent++;\n            levelCurrent = levelNext;\n            bArg1 = true; // New line, lets look at first argument again\n            nWordStart = -1;\n        }\n    }\n\n    int levelUse = levelCurrent;\n    int lev = levelUse | levelNext << 16;\n    if (levelUse < levelNext)\n        lev |= SC_FOLDLEVELHEADERFLAG;\n    if (lev != styler.LevelAt(lineCurrent))\n        styler.SetLevel(lineCurrent, lev);\n}\n\nstatic const char * const cmakeWordLists[] = {\n    \"Commands\",\n    \"Parameters\",\n    \"UserDefined\",\n    0,\n    0,};\n\nLexerModule lmCmake(SCLEX_CMAKE, ColouriseCmakeDoc, \"cmake\", FoldCmakeDoc, cmakeWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCoffeeScript.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCoffeeScript.cxx\n ** Lexer for CoffeeScript.\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// Based on the Scintilla C++ Lexer\n// Written by Eric Promislow <ericp@activestate.com> in 2011 for the Komodo IDE\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic bool IsSpaceEquiv(int state) {\n\treturn (state == SCE_COFFEESCRIPT_DEFAULT\n\t    || state == SCE_COFFEESCRIPT_COMMENTLINE\n\t    || state == SCE_COFFEESCRIPT_COMMENTBLOCK\n\t    || state == SCE_COFFEESCRIPT_VERBOSE_REGEX\n\t    || state == SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT\n\t    || state == SCE_COFFEESCRIPT_WORD\n\t    || state == SCE_COFFEESCRIPT_REGEX);\n}\n\n// Store the current lexer state and brace count prior to starting a new\n// `#{}` interpolation level.\n// Based on LexRuby.cxx.\nstatic void enterInnerExpression(int  *p_inner_string_types,\n                                 int  *p_inner_expn_brace_counts,\n                                 int&  inner_string_count,\n                                 int   state,\n                                 int&  brace_counts\n                                 ) {\n\tp_inner_string_types[inner_string_count] = state;\n\tp_inner_expn_brace_counts[inner_string_count] = brace_counts;\n\tbrace_counts = 0;\n\t++inner_string_count;\n}\n\n// Restore the lexer state and brace count for the previous `#{}` interpolation\n// level upon returning to it.\n// Note the previous lexer state is the return value and needs to be restored\n// manually by the StyleContext.\n// Based on LexRuby.cxx.\nstatic int exitInnerExpression(int  *p_inner_string_types,\n                               int  *p_inner_expn_brace_counts,\n                               int&  inner_string_count,\n                               int&  brace_counts\n                              ) {\n\t--inner_string_count;\n\tbrace_counts = p_inner_expn_brace_counts[inner_string_count];\n\treturn p_inner_string_types[inner_string_count];\n}\n\n// Preconditions: sc.currentPos points to a character after '+' or '-'.\n// The test for pos reaching 0 should be redundant,\n// and is in only for safety measures.\n// Limitation: this code will give the incorrect answer for code like\n// a = b+++/ptn/...\n// Putting a space between the '++' post-inc operator and the '+' binary op\n// fixes this, and is highly recommended for readability anyway.\nstatic bool FollowsPostfixOperator(StyleContext &sc, Accessor &styler) {\n\tSci_Position pos = (Sci_Position) sc.currentPos;\n\twhile (--pos > 0) {\n\t\tchar ch = styler[pos];\n\t\tif (ch == '+' || ch == '-') {\n\t\t\treturn styler[pos - 1] == ch;\n\t\t}\n\t}\n\treturn false;\n}\n\nstatic bool followsKeyword(StyleContext &sc, Accessor &styler) {\n\tSci_Position pos = (Sci_Position) sc.currentPos;\n\tSci_Position currentLine = styler.GetLine(pos);\n\tSci_Position lineStartPos = styler.LineStart(currentLine);\n\twhile (--pos > lineStartPos) {\n\t\tchar ch = styler.SafeGetCharAt(pos);\n\t\tif (ch != ' ' && ch != '\\t') {\n\t\t\tbreak;\n\t\t}\n\t}\n\tstyler.Flush();\n\treturn styler.StyleAt(pos) == SCE_COFFEESCRIPT_WORD;\n}\n\nstatic void ColouriseCoffeeScriptDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords4 = *keywordlists[3];\n\n\tCharacterSet setOKBeforeRE(CharacterSet::setNone, \"([{=,:;!%^&*|?~+-\");\n\tCharacterSet setCouldBePostOp(CharacterSet::setNone, \"+-\");\n\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_$@\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"._$\", 0x80, true);\n\n\tint chPrevNonWhite = ' ';\n\tint visibleChars = 0;\n\n\t// String/Regex interpolation variables, based on LexRuby.cxx.\n\t// In most cases a value of 2 should be ample for the code the user is\n\t// likely to enter. For example,\n\t//   \"Filling the #{container} with #{liquid}...\"\n\t// from the CoffeeScript homepage nests to a level of 2\n\t// If the user actually hits a 6th occurrence of '#{' in a double-quoted\n\t// string (including regexes), it will stay as a string.  The problem with\n\t// this is that quotes might flip, a 7th '#{' will look like a comment,\n\t// and code-folding might be wrong.\n#define INNER_STRINGS_MAX_COUNT 5\n\t// These vars track our instances of \"...#{,,,'..#{,,,}...',,,}...\"\n\tint inner_string_types[INNER_STRINGS_MAX_COUNT];\n\t// Track # braces when we push a new #{ thing\n\tint inner_expn_brace_counts[INNER_STRINGS_MAX_COUNT];\n\tint inner_string_count = 0;\n\tint brace_counts = 0;   // Number of #{ ... } things within an expression\n\tfor (int i = 0; i < INNER_STRINGS_MAX_COUNT; i++) {\n\t\tinner_string_types[i] = 0;\n\t\tinner_expn_brace_counts[i] = 0;\n\t}\n\n\t// look back to set chPrevNonWhite properly for better regex colouring\n\tSci_Position endPos = startPos + length;\n        if (startPos > 0 && IsSpaceEquiv(initStyle)) {\n\t\tSci_PositionU back = startPos;\n\t\tstyler.Flush();\n\t\twhile (back > 0 && IsSpaceEquiv(styler.StyleAt(--back)))\n\t\t\t;\n\t\tif (styler.StyleAt(back) == SCE_COFFEESCRIPT_OPERATOR) {\n\t\t\tchPrevNonWhite = styler.SafeGetCharAt(back);\n\t\t}\n\t\tif (startPos != back) {\n\t\t\tinitStyle = styler.StyleAt(back);\n\t\t\tif (IsSpaceEquiv(initStyle)) {\n\t\t\t\tinitStyle = SCE_COFFEESCRIPT_DEFAULT;\n\t\t\t}\n\t\t}\n\t\tstartPos = back;\n\t}\n\n\tStyleContext sc(startPos, endPos - startPos, initStyle, styler);\n\n\tfor (; sc.More();) {\n\n\t\tif (sc.atLineStart) {\n\t\t\t// Reset states to beginning of colourise so no surprises\n\t\t\t// if different sets of lines lexed.\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_COFFEESCRIPT_OPERATOR:\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_NUMBER:\n\t\t\t\t// We accept almost anything because of hex. and number suffixes\n\t\t\t\tif (!setWord.Contains(sc.ch) || sc.Match('.', '.')) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_IDENTIFIER:\n\t\t\t\tif (!setWord.Contains(sc.ch) || (sc.ch == '.') || (sc.ch == '$')) {\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_COFFEESCRIPT_WORD);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_COFFEESCRIPT_WORD2);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_COFFEESCRIPT_GLOBALCLASS);\n\t\t\t\t\t} else if (sc.LengthCurrent() > 0 && s[0] == '@') {\n\t\t\t\t\t\tsc.ChangeState(SCE_COFFEESCRIPT_INSTANCEPROPERTY);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_WORD:\n\t\t\tcase SCE_COFFEESCRIPT_WORD2:\n\t\t\tcase SCE_COFFEESCRIPT_GLOBALCLASS:\n\t\t\tcase SCE_COFFEESCRIPT_INSTANCEPROPERTY:\n\t\t\t\tif (!setWord.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_STRING:\n\t\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t} else if (sc.ch == '#' && sc.chNext == '{' && inner_string_count < INNER_STRINGS_MAX_COUNT) {\n\t\t\t\t\t// process interpolated code #{ ... }\n\t\t\t\t\tenterInnerExpression(inner_string_types,\n\t\t\t\t\t                     inner_expn_brace_counts,\n\t\t\t\t\t                     inner_string_count,\n\t\t\t\t\t                     sc.state,\n\t\t\t\t\t                     brace_counts);\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_OPERATOR);\n\t\t\t\t\tsc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_CHARACTER:\n\t\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_REGEX:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t} else if (sc.ch == '/') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\twhile ((sc.ch < 0x80) && islower(sc.ch))\n\t\t\t\t\t\tsc.Forward();    // gobble regex flags\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\t// Gobble up the quoted character\n\t\t\t\t\tif (sc.chNext == '\\\\' || sc.chNext == '/') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_COMMENTBLOCK:\n\t\t\t\tif (sc.Match(\"###\")) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_VERBOSE_REGEX:\n\t\t\t\tif (sc.Match(\"///\")) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT);\n\t\t\t\t} else if (sc.Match('#')) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_VERBOSE_REGEX);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_COFFEESCRIPT_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_NUMBER);\n\t\t\t} else if (setWordStart.Contains(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_IDENTIFIER);\n\t\t\t} else if (sc.Match(\"///\")) {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_VERBOSE_REGEX);\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '/'\n\t\t\t\t   && (setOKBeforeRE.Contains(chPrevNonWhite)\n\t\t\t\t       || followsKeyword(sc, styler))\n\t\t\t\t   && (!setCouldBePostOp.Contains(chPrevNonWhite)\n\t\t\t\t       || !FollowsPostfixOperator(sc, styler))) {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_REGEX);\t// JavaScript's RegEx\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_CHARACTER);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tif (sc.Match(\"###\")) {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_COMMENTBLOCK);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_COMMENTLINE);\n\t\t\t\t}\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_COFFEESCRIPT_OPERATOR);\n\t\t\t\t// Handle '..' and '...' operators correctly.\n\t\t\t\tif (sc.ch == '.') {\n\t\t\t\t\tfor (int i = 0; i < 2 && sc.chNext == '.'; i++, sc.Forward()) ;\n\t\t\t\t} else if (sc.ch == '{') {\n\t\t\t\t\t++brace_counts;\n\t\t\t\t} else if (sc.ch == '}' && --brace_counts <= 0 && inner_string_count > 0) {\n\t\t\t\t\t// Return to previous state before #{ ... }\n\t\t\t\t\tsc.ForwardSetState(exitInnerExpression(inner_string_types,\n\t\t\t\t\t                                       inner_expn_brace_counts,\n\t\t\t\t\t                                       inner_string_count,\n\t\t\t\t\t                                       brace_counts));\n\t\t\t\t\tcontinue; // skip sc.Forward() at loop end\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!IsASpace(sc.ch) && !IsSpaceEquiv(sc.state)) {\n\t\t\tchPrevNonWhite = sc.ch;\n\t\t\tvisibleChars++;\n\t\t}\n\t\tsc.Forward();\n\t}\n\tsc.Complete();\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tif (ch == '#')\n\t\t\treturn true;\n\t\telse if (ch != ' ' && ch != '\\t')\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic void FoldCoffeeScriptDoc(Sci_PositionU startPos, Sci_Position length, int,\n\t\t\t\tWordList *[], Accessor &styler) {\n\t// A simplified version of FoldPyDoc\n\tconst Sci_Position maxPos = startPos + length;\n\tconst Sci_Position maxLines = styler.GetLine(maxPos - 1);             // Requested last line\n\tconst Sci_Position docLines = styler.GetLine(styler.Length() - 1);  // Available last line\n\n\t// property fold.coffeescript.comment\n\tconst bool foldComment = styler.GetPropertyInt(\"fold.coffeescript.comment\") != 0;\n\n\tconst bool foldCompact = styler.GetPropertyInt(\"fold.compact\") != 0;\n\n\t// Backtrack to previous non-blank line so we can determine indent level\n\t// for any white space lines\n\t// and so we can fix any preceding fold level (which is why we go back\n\t// at least one line in all cases)\n\tint spaceFlags = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\twhile (lineCurrent > 0) {\n\t\tlineCurrent--;\n\t\tindentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)\n\t\t    && !IsCommentLine(lineCurrent, styler))\n\t\t\tbreak;\n\t}\n\tint indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\n\t// Set up initial loop state\n\tint prevComment = 0;\n\tif (lineCurrent >= 1)\n\t\tprevComment = foldComment && IsCommentLine(lineCurrent - 1, styler);\n\n\t// Process all characters to end of requested range\n\t// or comment that hangs over the end of the range.  Cap processing in all cases\n\t// to end of document (in case of comment at end).\n\twhile ((lineCurrent <= docLines) && ((lineCurrent <= maxLines) || prevComment)) {\n\n\t\t// Gather info\n\t\tint lev = indentCurrent;\n\t\tSci_Position lineNext = lineCurrent + 1;\n\t\tint indentNext = indentCurrent;\n\t\tif (lineNext <= docLines) {\n\t\t\t// Information about next line is only available if not at end of document\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t}\n\t\tconst int comment = foldComment && IsCommentLine(lineCurrent, styler);\n\t\tconst int comment_start = (comment && !prevComment && (lineNext <= docLines) &&\n\t\t                           IsCommentLine(lineNext, styler) && (lev > SC_FOLDLEVELBASE));\n\t\tconst int comment_continue = (comment && prevComment);\n\t\tif (!comment)\n\t\t\tindentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\t\tif (indentNext & SC_FOLDLEVELWHITEFLAG)\n\t\t\tindentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel;\n\n\t\tif (comment_start) {\n\t\t\t// Place fold point at start of a block of comments\n\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t} else if (comment_continue) {\n\t\t\t// Add level to rest of lines in the block\n\t\t\tlev = lev + 1;\n\t\t}\n\n\t\t// Skip past any blank lines for next indent level info; we skip also\n\t\t// comments (all comments, not just those starting in column 0)\n\t\t// which effectively folds them into surrounding code rather\n\t\t// than screwing up folding.\n\n\t\twhile ((lineNext < docLines) &&\n\t\t        ((indentNext & SC_FOLDLEVELWHITEFLAG) ||\n\t\t         (lineNext <= docLines && IsCommentLine(lineNext, styler)))) {\n\n\t\t\tlineNext++;\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t}\n\n\t\tconst int levelAfterComments = indentNext & SC_FOLDLEVELNUMBERMASK;\n\t\tconst int levelBeforeComments = std::max(indentCurrentLevel,levelAfterComments);\n\n\t\t// Now set all the indent levels on the lines we skipped\n\t\t// Do this from end to start.  Once we encounter one line\n\t\t// which is indented more than the line after the end of\n\t\t// the comment-block, use the level of the block before\n\n\t\tSci_Position skipLine = lineNext;\n\t\tint skipLevel = levelAfterComments;\n\n\t\twhile (--skipLine > lineCurrent) {\n\t\t\tint skipLineIndent = styler.IndentAmount(skipLine, &spaceFlags, NULL);\n\n\t\t\tif (foldCompact) {\n\t\t\t\tif ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments)\n\t\t\t\t\tskipLevel = levelBeforeComments;\n\n\t\t\t\tint whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG;\n\n\t\t\t\tstyler.SetLevel(skipLine, skipLevel | whiteFlag);\n\t\t\t} else {\n\t\t\t\tif ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments &&\n\t\t\t\t\t!(skipLineIndent & SC_FOLDLEVELWHITEFLAG) &&\n\t\t\t\t\t!IsCommentLine(skipLine, styler))\n\t\t\t\t\tskipLevel = levelBeforeComments;\n\n\t\t\t\tstyler.SetLevel(skipLine, skipLevel);\n\t\t\t}\n\t\t}\n\n\t\t// Set fold header on non-comment line\n\t\tif (!comment && !(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t}\n\n\t\t// Keep track of block comment state of previous line\n\t\tprevComment = comment_start || comment_continue;\n\n\t\t// Set fold level for this line and move to next line\n\t\tstyler.SetLevel(lineCurrent, lev);\n\t\tindentCurrent = indentNext;\n\t\tlineCurrent = lineNext;\n\t}\n}\n\nstatic const char *const csWordLists[] = {\n            \"Keywords\",\n            \"Secondary keywords\",\n            \"Unused\",\n            \"Global classes\",\n            0,\n};\n\nLexerModule lmCoffeeScript(SCLEX_COFFEESCRIPT, ColouriseCoffeeScriptDoc, \"coffeescript\", FoldCoffeeScriptDoc, csWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexConf.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexConf.cxx\n ** Lexer for Apache Configuration Files.\n **\n ** First working version contributed by Ahmad Zawawi <ahmad.zawawi@gmail.com> on October 28, 2000.\n ** i created this lexer because i needed something pretty when dealing\n ** when Apache Configuration files...\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseConfDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler)\n{\n\tint state = SCE_CONF_DEFAULT;\n\tchar chNext = styler[startPos];\n\tSci_Position lengthDoc = startPos + length;\n\t// create a buffer large enough to take the largest chunk...\n\tchar *buffer = new char[length+1];\n\tSci_Position bufferCount = 0;\n\n\t// this assumes that we have 2 keyword list in conf.properties\n\tWordList &directives = *keywordLists[0];\n\tWordList &params = *keywordLists[1];\n\n\t// go through all provided text segment\n\t// using the hand-written state machine shown below\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\t\tswitch(state) {\n\t\t\tcase SCE_CONF_DEFAULT:\n\t\t\t\tif( ch == '\\n' || ch == '\\r' || ch == '\\t' || ch == ' ') {\n\t\t\t\t\t// whitespace is simply ignored here...\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_DEFAULT);\n\t\t\t\t\tbreak;\n\t\t\t\t} else if( ch == '#' ) {\n\t\t\t\t\t// signals the start of a comment...\n\t\t\t\t\tstate = SCE_CONF_COMMENT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_COMMENT);\n\t\t\t\t} else if( ch == '.' /*|| ch == '/'*/) {\n\t\t\t\t\t// signals the start of a file...\n\t\t\t\t\tstate = SCE_CONF_EXTENSION;\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_EXTENSION);\n\t\t\t\t} else if( ch == '\"') {\n\t\t\t\t\tstate = SCE_CONF_STRING;\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_STRING);\n\t\t\t\t} else if( IsASCII(ch) && ispunct(ch) ) {\n\t\t\t\t\t// signals an operator...\n\t\t\t\t\t// no state jump necessary for this\n\t\t\t\t\t// simple case...\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_OPERATOR);\n\t\t\t\t} else if( IsASCII(ch) && isalpha(ch) ) {\n\t\t\t\t\t// signals the start of an identifier\n\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tbuffer[bufferCount++] = static_cast<char>(tolower(ch));\n\t\t\t\t\tstate = SCE_CONF_IDENTIFIER;\n\t\t\t\t} else if( IsASCII(ch) && isdigit(ch) ) {\n\t\t\t\t\t// signals the start of a number\n\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tbuffer[bufferCount++] = ch;\n\t\t\t\t\t//styler.ColourTo(i,SCE_CONF_NUMBER);\n\t\t\t\t\tstate = SCE_CONF_NUMBER;\n\t\t\t\t} else {\n\t\t\t\t\t// style it the default style..\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_CONF_COMMENT:\n\t\t\t\t// if we find a newline here,\n\t\t\t\t// we simply go to default state\n\t\t\t\t// else continue to work on it...\n\t\t\t\tif( ch == '\\n' || ch == '\\r' ) {\n\t\t\t\t\tstate = SCE_CONF_DEFAULT;\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_COMMENT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_CONF_EXTENSION:\n\t\t\t\t// if we find a non-alphanumeric char,\n\t\t\t\t// we simply go to default state\n\t\t\t\t// else we're still dealing with an extension...\n\t\t\t\tif( (IsASCII(ch) && isalnum(ch)) || (ch == '_') ||\n\t\t\t\t\t(ch == '-') || (ch == '$') ||\n\t\t\t\t\t(ch == '/') || (ch == '.') || (ch == '*') )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i,SCE_CONF_EXTENSION);\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_CONF_DEFAULT;\n\t\t\t\t\tchNext = styler[i--];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_CONF_STRING:\n\t\t\t\t// if we find the end of a string char, we simply go to default state\n\t\t\t\t// else we're still dealing with an string...\n\t\t\t\tif( (ch == '\"' && styler.SafeGetCharAt(i-1)!='\\\\') || (ch == '\\n') || (ch == '\\r') ) {\n\t\t\t\t\tstate = SCE_CONF_DEFAULT;\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i,SCE_CONF_STRING);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_CONF_IDENTIFIER:\n\t\t\t\t// stay  in CONF_IDENTIFIER state until we find a non-alphanumeric\n\t\t\t\tif( (IsASCII(ch) && isalnum(ch)) || (ch == '_') || (ch == '-') || (ch == '/') || (ch == '$') || (ch == '.') || (ch == '*')) {\n\t\t\t\t\tbuffer[bufferCount++] = static_cast<char>(tolower(ch));\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_CONF_DEFAULT;\n\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\n\t\t\t\t\t// check if the buffer contains a keyword, and highlight it if it is a keyword...\n\t\t\t\t\tif(directives.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_CONF_DIRECTIVE );\n\t\t\t\t\t} else if(params.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_CONF_PARAMETER );\n\t\t\t\t\t} else if(strchr(buffer,'/') || strchr(buffer,'.')) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_CONF_EXTENSION);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_CONF_DEFAULT);\n\t\t\t\t\t}\n\n\t\t\t\t\t// push back the faulty character\n\t\t\t\t\tchNext = styler[i--];\n\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_CONF_NUMBER:\n\t\t\t\t// stay  in CONF_NUMBER state until we find a non-numeric\n\t\t\t\tif( (IsASCII(ch) && isdigit(ch)) || ch == '.') {\n\t\t\t\t\tbuffer[bufferCount++] = ch;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_CONF_DEFAULT;\n\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\n\t\t\t\t\t// Colourize here...\n\t\t\t\t\tif( strchr(buffer,'.') ) {\n\t\t\t\t\t\t// it is an IP address...\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_CONF_IP);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// normal number\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_CONF_NUMBER);\n\t\t\t\t\t}\n\n\t\t\t\t\t// push back a character\n\t\t\t\t\tchNext = styler[i--];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t}\n\t}\n\tdelete []buffer;\n}\n\nstatic const char * const confWordListDesc[] = {\n\t\"Directives\",\n\t\"Parameters\",\n\t0\n};\n\nLexerModule lmConf(SCLEX_CONF, ColouriseConfDoc, \"conf\", 0, confWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCrontab.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCrontab.cxx\n ** Lexer to use with extended crontab files used by a powerful\n ** Windows scheduler/event monitor/automation manager nnCron.\n ** (http://nemtsev.eserv.ru/)\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseNncrontabDoc(Sci_PositionU startPos, Sci_Position length, int, WordList\n*keywordLists[], Accessor &styler)\n{\n\tint state = SCE_NNCRONTAB_DEFAULT;\n\tchar chNext = styler[startPos];\n\tSci_Position lengthDoc = startPos + length;\n\t// create a buffer large enough to take the largest chunk...\n\tchar *buffer = new char[length+1];\n\tSci_Position bufferCount = 0;\n\t// used when highliting environment variables inside quoted string:\n\tbool insideString = false;\n\n\t// this assumes that we have 3 keyword list in conf.properties\n\tWordList &section = *keywordLists[0];\n\tWordList &keyword = *keywordLists[1];\n\tWordList &modifier = *keywordLists[2];\n\n\t// go through all provided text segment\n\t// using the hand-written state machine shown below\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\t\tswitch(state) {\n\t\t\tcase SCE_NNCRONTAB_DEFAULT:\n\t\t\t\tif( ch == '\\n' || ch == '\\r' || ch == '\\t' || ch == ' ') {\n\t\t\t\t\t// whitespace is simply ignored here...\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_DEFAULT);\n\t\t\t\t\tbreak;\n\t\t\t\t} else if( ch == '#' && styler.SafeGetCharAt(i+1) == '(') {\n\t\t\t\t\t// signals the start of a task...\n\t\t\t\t\tstate = SCE_NNCRONTAB_TASK;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_TASK);\n\t\t\t\t}\n\t\t\t\t  else if( ch == '\\\\' && (styler.SafeGetCharAt(i+1) == ' ' ||\n\t\t\t\t\t\t\t\t\t\t styler.SafeGetCharAt(i+1) == '\\t')) {\n\t\t\t\t\t// signals the start of an extended comment...\n\t\t\t\t\tstate = SCE_NNCRONTAB_COMMENT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_COMMENT);\n\t\t\t\t} else if( ch == '#' ) {\n\t\t\t\t\t// signals the start of a plain comment...\n\t\t\t\t\tstate = SCE_NNCRONTAB_COMMENT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_COMMENT);\n\t\t\t\t} else if( ch == ')' && styler.SafeGetCharAt(i+1) == '#') {\n\t\t\t\t\t// signals the end of a task...\n\t\t\t\t\tstate = SCE_NNCRONTAB_TASK;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_TASK);\n\t\t\t\t} else if( ch == '\"') {\n\t\t\t\t\tstate = SCE_NNCRONTAB_STRING;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_STRING);\n\t\t\t\t} else if( ch == '%') {\n\t\t\t\t\t// signals environment variables\n\t\t\t\t\tstate = SCE_NNCRONTAB_ENVIRONMENT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_ENVIRONMENT);\n\t\t\t\t} else if( ch == '<' && styler.SafeGetCharAt(i+1) == '%') {\n\t\t\t\t\t// signals environment variables\n\t\t\t\t\tstate = SCE_NNCRONTAB_ENVIRONMENT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_ENVIRONMENT);\n\t\t\t\t} else if( ch == '*' ) {\n\t\t\t\t\t// signals an asterisk\n\t\t\t\t\t// no state jump necessary for this simple case...\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_ASTERISK);\n\t\t\t\t} else if( (IsASCII(ch) && isalpha(ch)) || ch == '<' ) {\n\t\t\t\t\t// signals the start of an identifier\n\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tbuffer[bufferCount++] = ch;\n\t\t\t\t\tstate = SCE_NNCRONTAB_IDENTIFIER;\n\t\t\t\t} else if( IsASCII(ch) && isdigit(ch) ) {\n\t\t\t\t\t// signals the start of a number\n\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tbuffer[bufferCount++] = ch;\n\t\t\t\t\tstate = SCE_NNCRONTAB_NUMBER;\n\t\t\t\t} else {\n\t\t\t\t\t// style it the default style..\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NNCRONTAB_COMMENT:\n\t\t\t\t// if we find a newline here,\n\t\t\t\t// we simply go to default state\n\t\t\t\t// else continue to work on it...\n\t\t\t\tif( ch == '\\n' || ch == '\\r' ) {\n\t\t\t\t\tstate = SCE_NNCRONTAB_DEFAULT;\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_COMMENT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NNCRONTAB_TASK:\n\t\t\t\t// if we find a newline here,\n\t\t\t\t// we simply go to default state\n\t\t\t\t// else continue to work on it...\n\t\t\t\tif( ch == '\\n' || ch == '\\r' ) {\n\t\t\t\t\tstate = SCE_NNCRONTAB_DEFAULT;\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_TASK);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NNCRONTAB_STRING:\n\t\t\t\tif( ch == '%' ) {\n\t\t\t\t\tstate = SCE_NNCRONTAB_ENVIRONMENT;\n\t\t\t\t\tinsideString = true;\n\t\t\t\t\tstyler.ColourTo(i-1,SCE_NNCRONTAB_STRING);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// if we find the end of a string char, we simply go to default state\n\t\t\t\t// else we're still dealing with an string...\n\t\t\t\tif( (ch == '\"' && styler.SafeGetCharAt(i-1)!='\\\\') ||\n\t\t\t\t\t(ch == '\\n') || (ch == '\\r') ) {\n\t\t\t\t\tstate = SCE_NNCRONTAB_DEFAULT;\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_STRING);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NNCRONTAB_ENVIRONMENT:\n\t\t\t\t// if we find the end of a string char, we simply go to default state\n\t\t\t\t// else we're still dealing with an string...\n\t\t\t\tif( ch == '%' && insideString ) {\n\t\t\t\t\tstate = SCE_NNCRONTAB_STRING;\n\t\t\t\t\tinsideString = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif( (ch == '%' && styler.SafeGetCharAt(i-1)!='\\\\')\n\t\t\t\t\t|| (ch == '\\n') || (ch == '\\r') || (ch == '>') ) {\n\t\t\t\t\tstate = SCE_NNCRONTAB_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_ENVIRONMENT);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i+1,SCE_NNCRONTAB_ENVIRONMENT);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NNCRONTAB_IDENTIFIER:\n\t\t\t\t// stay  in CONF_IDENTIFIER state until we find a non-alphanumeric\n\t\t\t\tif( (IsASCII(ch) && isalnum(ch)) || (ch == '_') || (ch == '-') || (ch == '/') ||\n\t\t\t\t\t(ch == '$') || (ch == '.') || (ch == '<') || (ch == '>') ||\n\t\t\t\t\t(ch == '@') ) {\n\t\t\t\t\tbuffer[bufferCount++] = ch;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_NNCRONTAB_DEFAULT;\n\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\n\t\t\t\t\t// check if the buffer contains a keyword,\n\t\t\t\t\t// and highlight it if it is a keyword...\n\t\t\t\t\tif(section.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i,SCE_NNCRONTAB_SECTION );\n\t\t\t\t\t} else if(keyword.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_NNCRONTAB_KEYWORD );\n\t\t\t\t\t} // else if(strchr(buffer,'/') || strchr(buffer,'.')) {\n\t\t\t\t\t//\tstyler.ColourTo(i-1,SCE_NNCRONTAB_EXTENSION);\n\t\t\t\t\t// }\n\t\t\t\t\t  else if(modifier.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_NNCRONTAB_MODIFIER );\n\t\t\t\t\t  }\telse {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_NNCRONTAB_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\t// push back the faulty character\n\t\t\t\t\tchNext = styler[i--];\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NNCRONTAB_NUMBER:\n\t\t\t\t// stay  in CONF_NUMBER state until we find a non-numeric\n\t\t\t\tif( IsASCII(ch) && isdigit(ch) /* || ch == '.' */ ) {\n\t\t\t\t\tbuffer[bufferCount++] = ch;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_NNCRONTAB_DEFAULT;\n\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\t\t\t\t\t// Colourize here... (normal number)\n\t\t\t\t\tstyler.ColourTo(i-1,SCE_NNCRONTAB_NUMBER);\n\t\t\t\t\t// push back a character\n\t\t\t\t\tchNext = styler[i--];\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tdelete []buffer;\n}\n\nstatic const char * const cronWordListDesc[] = {\n\t\"Section keywords and Forth words\",\n\t\"nnCrontab keywords\",\n\t\"Modifiers\",\n\t0\n};\n\nLexerModule lmNncrontab(SCLEX_NNCRONTAB, ColouriseNncrontabDoc, \"nncrontab\", 0, cronWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexCsound.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexCsound.cxx\n ** Lexer for Csound (Orchestra & Score)\n ** Written by Georg Ritter - <ritterfuture A T gmail D O T com>\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' ||\n\t\tch == '_' || ch == '?');\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.' ||\n\t\tch == '%' || ch == '@' || ch == '$' || ch == '?');\n}\n\nstatic inline bool IsCsoundOperator(char ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '*' || ch == '/' || ch == '-' || ch == '+' ||\n\t\tch == '(' || ch == ')' || ch == '=' || ch == '^' ||\n\t\tch == '[' || ch == ']' || ch == '<' || ch == '&' ||\n\t\tch == '>' || ch == ',' || ch == '|' || ch == '~' ||\n\t\tch == '%' || ch == ':')\n\t\treturn true;\n\treturn false;\n}\n\nstatic void ColouriseCsoundDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n\t\t\t\tAccessor &styler) {\n\n\tWordList &opcode = *keywordlists[0];\n\tWordList &headerStmt = *keywordlists[1];\n\tWordList &otherKeyword = *keywordlists[2];\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_CSOUND_STRINGEOL)\n\t\tinitStyle = SCE_CSOUND_DEFAULT;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward())\n\t{\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_CSOUND_OPERATOR) {\n\t\t\tif (!IsCsoundOperator(static_cast<char>(sc.ch))) {\n\t\t\t    sc.SetState(SCE_CSOUND_DEFAULT);\n\t\t\t}\n\t\t}else if (sc.state == SCE_CSOUND_NUMBER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_CSOUND_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_CSOUND_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch) ) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\n\t\t\t\tif (opcode.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_OPCODE);\n\t\t\t\t} else if (headerStmt.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_HEADERSTMT);\n\t\t\t\t} else if (otherKeyword.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_USERKEYWORD);\n\t\t\t\t} else if (s[0] == 'p') {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_PARAM);\n\t\t\t\t} else if (s[0] == 'a') {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_ARATE_VAR);\n\t\t\t\t} else if (s[0] == 'k') {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_KRATE_VAR);\n\t\t\t\t} else if (s[0] == 'i') { // covers both i-rate variables and i-statements\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_IRATE_VAR);\n\t\t\t\t} else if (s[0] == 'g') {\n\t\t\t\t\tsc.ChangeState(SCE_CSOUND_GLOBAL_VAR);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_CSOUND_DEFAULT);\n\t\t\t}\n\t\t}\n\t\telse if (sc.state == SCE_CSOUND_COMMENT ) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_CSOUND_DEFAULT);\n\t\t\t}\n\t\t}\n\t\telse if ((sc.state == SCE_CSOUND_ARATE_VAR) ||\n\t\t\t(sc.state == SCE_CSOUND_KRATE_VAR) ||\n\t\t(sc.state == SCE_CSOUND_IRATE_VAR)) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_CSOUND_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_CSOUND_DEFAULT) {\n\t\t\tif (sc.ch == ';'){\n\t\t\t\tsc.SetState(SCE_CSOUND_COMMENT);\n\t\t\t} else if (isdigit(sc.ch) || (sc.ch == '.' && isdigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_CSOUND_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_CSOUND_IDENTIFIER);\n\t\t\t} else if (IsCsoundOperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_CSOUND_OPERATOR);\n\t\t\t} else if (sc.ch == 'p') {\n\t\t\t\tsc.SetState(SCE_CSOUND_PARAM);\n\t\t\t} else if (sc.ch == 'a') {\n\t\t\t\tsc.SetState(SCE_CSOUND_ARATE_VAR);\n\t\t\t} else if (sc.ch == 'k') {\n\t\t\t\tsc.SetState(SCE_CSOUND_KRATE_VAR);\n\t\t\t} else if (sc.ch == 'i') { // covers both i-rate variables and i-statements\n\t\t\t\tsc.SetState(SCE_CSOUND_IRATE_VAR);\n\t\t\t} else if (sc.ch == 'g') {\n\t\t\t\tsc.SetState(SCE_CSOUND_GLOBAL_VAR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldCsoundInstruments(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],\n\t\tAccessor &styler) {\n\tSci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint stylePrev = 0;\n\tint styleNext = styler.StyleAt(startPos);\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif ((stylePrev != SCE_CSOUND_OPCODE) && (style == SCE_CSOUND_OPCODE)) {\n\t\t\tchar s[20];\n\t\t\tunsigned int j = 0;\n\t\t\twhile ((j < (sizeof(s) - 1)) && (iswordchar(styler[i + j]))) {\n\t\t\t\ts[j] = styler[i + j];\n\t\t\t\tj++;\n\t\t\t}\n\t\t\ts[j] = '\\0';\n\n\t\t\tif (strcmp(s, \"instr\") == 0)\n\t\t\t\tlevelCurrent++;\n\t\t\tif (strcmp(s, \"endin\") == 0)\n\t\t\t\tlevelCurrent--;\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t\tstylePrev = style;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\n\nstatic const char * const csoundWordListDesc[] = {\n\t\"Opcodes\",\n\t\"Header Statements\",\n\t\"User keywords\",\n\t0\n};\n\nLexerModule lmCsound(SCLEX_CSOUND, ColouriseCsoundDoc, \"csound\", FoldCsoundInstruments, csoundWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexD.cpp",
    "content": "/** @file LexD.cxx\n ** Lexer for D.\n **\n ** Copyright (c) 2006 by Waldemar Augustyn <waldemar@wdmsys.com>\n ** Converted to lexer object and added further folding features/properties by \"Udo Lechner\" <dlchnr(at)gmx(dot)net>\n **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\n/* Nested comments require keeping the value of the nesting level for every\n   position in the document.  But since scintilla always styles line by line,\n   we only need to store one value per line. The non-negative number indicates\n   nesting level at the end of the line.\n*/\n\n// Underscore, letter, digit and universal alphas from C99 Appendix D.\n\nstatic bool IsWordStart(int ch) {\n\treturn (IsASCII(ch) && (isalpha(ch) || ch == '_')) || !IsASCII(ch);\n}\n\nstatic bool IsWord(int ch) {\n\treturn (IsASCII(ch) && (isalnum(ch) || ch == '_')) || !IsASCII(ch);\n}\n\nstatic bool IsDoxygen(int ch) {\n\tif (IsASCII(ch) && islower(ch))\n\t\treturn true;\n\tif (ch == '$' || ch == '@' || ch == '\\\\' ||\n\t\tch == '&' || ch == '#' || ch == '<' || ch == '>' ||\n\t\tch == '{' || ch == '}' || ch == '[' || ch == ']')\n\t\treturn true;\n\treturn false;\n}\n\nstatic bool IsStringSuffix(int ch) {\n\treturn ch == 'c' || ch == 'w' || ch == 'd';\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_D_COMMENT ||\n\t\tstyle == SCE_D_COMMENTDOC ||\n\t\tstyle == SCE_D_COMMENTDOCKEYWORD ||\n\t\tstyle == SCE_D_COMMENTDOCKEYWORDERROR;\n}\n\n// An individual named option for use in an OptionSet\n\n// Options used for LexerD\nstruct OptionsD {\n\tbool fold;\n\tbool foldSyntaxBased;\n\tbool foldComment;\n\tbool foldCommentMultiline;\n\tbool foldCommentExplicit;\n\tstd::string foldExplicitStart;\n\tstd::string foldExplicitEnd;\n\tbool foldExplicitAnywhere;\n\tbool foldCompact;\n\tint  foldAtElseInt;\n\tbool foldAtElse;\n\tOptionsD() {\n\t\tfold = false;\n\t\tfoldSyntaxBased = true;\n\t\tfoldComment = false;\n\t\tfoldCommentMultiline = true;\n\t\tfoldCommentExplicit = true;\n\t\tfoldExplicitStart = \"\";\n\t\tfoldExplicitEnd   = \"\";\n\t\tfoldExplicitAnywhere = false;\n\t\tfoldCompact = true;\n\t\tfoldAtElseInt = -1;\n\t\tfoldAtElse = false;\n\t}\n};\n\nstatic const char * const dWordLists[] = {\n\t\t\t\"Primary keywords and identifiers\",\n\t\t\t\"Secondary keywords and identifiers\",\n\t\t\t\"Documentation comment keywords\",\n\t\t\t\"Type definitions and aliases\",\n\t\t\t\"Keywords 5\",\n\t\t\t\"Keywords 6\",\n\t\t\t\"Keywords 7\",\n\t\t\t0,\n\t\t};\n\nstruct OptionSetD : public OptionSet<OptionsD> {\n\tOptionSetD() {\n\t\tDefineProperty(\"fold\", &OptionsD::fold);\n\n\t\tDefineProperty(\"fold.d.syntax.based\", &OptionsD::foldSyntaxBased,\n\t\t\t\"Set this property to 0 to disable syntax based folding.\");\n\n\t\tDefineProperty(\"fold.comment\", &OptionsD::foldComment);\n\n\t\tDefineProperty(\"fold.d.comment.multiline\", &OptionsD::foldCommentMultiline,\n\t\t\t\"Set this property to 0 to disable folding multi-line comments when fold.comment=1.\");\n\n\t\tDefineProperty(\"fold.d.comment.explicit\", &OptionsD::foldCommentExplicit,\n\t\t\t\"Set this property to 0 to disable folding explicit fold points when fold.comment=1.\");\n\n\t\tDefineProperty(\"fold.d.explicit.start\", &OptionsD::foldExplicitStart,\n\t\t\t\"The string to use for explicit fold start points, replacing the standard //{.\");\n\n\t\tDefineProperty(\"fold.d.explicit.end\", &OptionsD::foldExplicitEnd,\n\t\t\t\"The string to use for explicit fold end points, replacing the standard //}.\");\n\n\t\tDefineProperty(\"fold.d.explicit.anywhere\", &OptionsD::foldExplicitAnywhere,\n\t\t\t\"Set this property to 1 to enable explicit fold points anywhere, not just in line comments.\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsD::foldCompact);\n\n\t\tDefineProperty(\"lexer.d.fold.at.else\", &OptionsD::foldAtElseInt,\n\t\t\t\"This option enables D folding on a \\\"} else {\\\" line of an if statement.\");\n\n\t\tDefineProperty(\"fold.at.else\", &OptionsD::foldAtElse);\n\n\t\tDefineWordListSets(dWordLists);\n\t}\n};\n\nclass LexerD : public DefaultLexer {\n\tbool caseSensitive;\n\tWordList keywords;\n\tWordList keywords2;\n\tWordList keywords3;\n\tWordList keywords4;\n\tWordList keywords5;\n\tWordList keywords6;\n\tWordList keywords7;\n\tOptionsD options;\n\tOptionSetD osD;\npublic:\n\tLexerD(bool caseSensitive_) :\n\t\tcaseSensitive(caseSensitive_) {\n\t}\n\tvirtual ~LexerD() {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osD.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osD.PropertyType(name);\n\t}\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osD.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osD.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\n\tstatic ILexer *LexerFactoryD() {\n\t\treturn new LexerD(true);\n\t}\n\tstatic ILexer *LexerFactoryDInsensitive() {\n\t\treturn new LexerD(false);\n\t}\n};\n\nSci_Position SCI_METHOD LexerD::PropertySet(const char *key, const char *val) {\n\tif (osD.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerD::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywords2;\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &keywords3;\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &keywords4;\n\t\tbreak;\n\tcase 4:\n\t\twordListN = &keywords5;\n\t\tbreak;\n\tcase 5:\n\t\twordListN = &keywords6;\n\t\tbreak;\n\tcase 6:\n\t\twordListN = &keywords7;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerD::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\n\tint styleBeforeDCKeyword = SCE_D_DEFAULT;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tSci_Position curLine = styler.GetLine(startPos);\n\tint curNcLevel = curLine > 0? styler.GetLineState(curLine-1): 0;\n\tbool numFloat = false; // Float literals have '+' and '-' signs\n\tbool numHex = false;\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart) {\n\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\tstyler.SetLineState(curLine, curNcLevel);\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_D_OPERATOR:\n\t\t\t\tsc.SetState(SCE_D_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_NUMBER:\n\t\t\t\t// We accept almost anything because of hex. and number suffixes\n\t\t\t\tif (IsASCII(sc.ch) && (isalnum(sc.ch) || sc.ch == '_')) {\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if (sc.ch == '.' && sc.chNext != '.' && !numFloat) {\n\t\t\t\t\t// Don't parse 0..2 as number.\n\t\t\t\t\tnumFloat=true;\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if ( ( sc.ch == '-' || sc.ch == '+' ) && (\t\t/*sign and*/\n\t\t\t\t\t( !numHex && ( sc.chPrev == 'e' || sc.chPrev == 'E' ) ) || /*decimal or*/\n\t\t\t\t\t( sc.chPrev == 'p' || sc.chPrev == 'P' ) ) ) {\t\t/*hex*/\n\t\t\t\t\t// Parse exponent sign in float literals: 2e+10 0x2e+10\n\t\t\t\t\tcontinue;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_IDENTIFIER:\n\t\t\t\tif (!IsWord(sc.ch)) {\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tif (caseSensitive) {\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\t}\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_WORD);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_WORD2);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_TYPEDEF);\n\t\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_WORD5);\n\t\t\t\t\t} else if (keywords6.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_WORD6);\n\t\t\t\t\t} else if (keywords7.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_WORD7);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_COMMENT:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_COMMENTDOC:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = SCE_D_COMMENTDOC;\n\t\t\t\t\t\tsc.SetState(SCE_D_COMMENTDOCKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_COMMENTLINEDOC:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_D_DEFAULT);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = SCE_D_COMMENTLINEDOC;\n\t\t\t\t\t\tsc.SetState(SCE_D_COMMENTDOCKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_COMMENTDOCKEYWORD:\n\t\t\t\tif ((styleBeforeDCKeyword == SCE_D_COMMENTDOC) && sc.Match('*', '/')) {\n\t\t\t\t\tsc.ChangeState(SCE_D_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t} else if (!IsDoxygen(sc.ch)) {\n\t\t\t\t\tchar s[100];\n\t\t\t\t\tif (caseSensitive) {\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\t}\n\t\t\t\t\tif (!IsASpace(sc.ch) || !keywords3.InList(s + 1)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_D_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(styleBeforeDCKeyword);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_COMMENTNESTED:\n\t\t\t\tif (sc.Match('+', '/')) {\n\t\t\t\t\tif (curNcLevel > 0)\n\t\t\t\t\t\tcurNcLevel -= 1;\n\t\t\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\t\t\tstyler.SetLineState(curLine, curNcLevel);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tif (curNcLevel == 0) {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.Match('/','+')) {\n\t\t\t\t\tcurNcLevel += 1;\n\t\t\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\t\t\tstyler.SetLineState(curLine, curNcLevel);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_STRING:\n\t\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\"' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\"') {\n\t\t\t\t\tif(IsStringSuffix(sc.chNext))\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_CHARACTER:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_D_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\t// Char has no suffixes\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_STRINGB:\n\t\t\t\tif (sc.ch == '`') {\n\t\t\t\t\tif(IsStringSuffix(sc.chNext))\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_D_STRINGR:\n\t\t\t\tif (sc.ch == '\"') {\n\t\t\t\t\tif(IsStringSuffix(sc.chNext))\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_D_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_D_NUMBER);\n\t\t\t\tnumFloat = sc.ch == '.';\n\t\t\t\t// Remember hex literal\n\t\t\t\tnumHex = sc.ch == '0' && ( sc.chNext == 'x' || sc.chNext == 'X' );\n\t\t\t} else if ( (sc.ch == 'r' || sc.ch == 'x' || sc.ch == 'q')\n\t\t\t\t&& sc.chNext == '\"' ) {\n\t\t\t\t// Limited support for hex and delimited strings: parse as r\"\"\n\t\t\t\tsc.SetState(SCE_D_STRINGR);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (IsWordStart(sc.ch) || sc.ch == '$') {\n\t\t\t\tsc.SetState(SCE_D_IDENTIFIER);\n\t\t\t} else if (sc.Match('/','+')) {\n\t\t\t\tcurNcLevel += 1;\n\t\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\t\tstyler.SetLineState(curLine, curNcLevel);\n\t\t\t\tsc.SetState(SCE_D_COMMENTNESTED);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tif (sc.Match(\"/**\") || sc.Match(\"/*!\")) {   // Support of Qt/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_D_COMMENTDOC);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_D_COMMENT);\n\t\t\t\t}\n\t\t\t\tsc.Forward();   // Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tif ((sc.Match(\"///\") && !sc.Match(\"////\")) || sc.Match(\"//!\"))\n\t\t\t\t\t// Support of Qt/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_D_COMMENTLINEDOC);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_D_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\"') {\n\t\t\t\tsc.SetState(SCE_D_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_D_CHARACTER);\n\t\t\t} else if (sc.ch == '`') {\n\t\t\t\tsc.SetState(SCE_D_STRINGB);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_D_OPERATOR);\n\t\t\t\tif (sc.ch == '.' && sc.chNext == '.') sc.Forward(); // Range operator\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\n\nvoid SCI_METHOD LexerD::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n\tif (!options.fold)\n\t\treturn;\n\n\tLexAccessor styler(pAccess);\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tbool foldAtElse = options.foldAtElseInt >= 0 ? options.foldAtElseInt != 0 : options.foldAtElse;\n\tconst bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty();\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (options.foldComment && options.foldCommentMultiline && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (options.foldComment && options.foldCommentExplicit && ((style == SCE_D_COMMENTLINE) || options.foldExplicitAnywhere)) {\n\t\t\tif (userDefinedFoldMarkers) {\n\t\t\t\tif (styler.Match(i, options.foldExplicitStart.c_str())) {\n \t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(i, options.foldExplicitEnd.c_str())) {\n \t\t\t\t\tlevelNext--;\n \t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t}\n\t\t\t\t}\n \t\t\t}\n \t\t}\n\t\tif (options.foldSyntaxBased && (style == SCE_D_OPERATOR)) {\n\t\t\tif (ch == '{') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tif (options.foldComment && options.foldCommentMultiline) {  // Handle nested comments\n\t\t\t\tint nc;\n\t\t\t\tnc =  styler.GetLineState(lineCurrent);\n\t\t\t\tnc -= lineCurrent>0? styler.GetLineState(lineCurrent-1): 0;\n\t\t\t\tlevelNext += nc;\n\t\t\t}\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (options.foldSyntaxBased && foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t}\n}\n\nLexerModule lmD(SCLEX_D, LexerD::LexerFactoryD, \"d\", dWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexDMAP.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexDMAP.cxx\n ** Lexer for MSC Nastran DMAP.\n ** Written by Mark Robinson, based on the Fortran lexer by Chuan-jian Shen, Last changed Aug. 2013\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n/***************************************/\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n/***************************************/\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n/***************************************/\n\nusing namespace Scintilla;\n\n/***********************************************/\nstatic inline bool IsAWordChar(const int ch) {\n    return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '%');\n}\n/**********************************************/\nstatic inline bool IsAWordStart(const int ch) {\n    return (ch < 0x80) && (isalnum(ch));\n}\n/***************************************/\nstatic void ColouriseDMAPDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n            WordList *keywordlists[], Accessor &styler) {\n    WordList &keywords = *keywordlists[0];\n    WordList &keywords2 = *keywordlists[1];\n    WordList &keywords3 = *keywordlists[2];\n    /***************************************/\n    Sci_Position posLineStart = 0, numNonBlank = 0;\n    Sci_Position endPos = startPos + length;\n    /***************************************/\n    // backtrack to the nearest keyword\n    while ((startPos > 1) && (styler.StyleAt(startPos) != SCE_DMAP_WORD)) {\n        startPos--;\n    }\n    startPos = styler.LineStart(styler.GetLine(startPos));\n    initStyle = styler.StyleAt(startPos - 1);\n    StyleContext sc(startPos, endPos-startPos, initStyle, styler);\n    /***************************************/\n    for (; sc.More(); sc.Forward()) {\n        // remember the start position of the line\n        if (sc.atLineStart) {\n            posLineStart = sc.currentPos;\n            numNonBlank = 0;\n            sc.SetState(SCE_DMAP_DEFAULT);\n        }\n        if (!IsASpaceOrTab(sc.ch)) numNonBlank ++;\n        /***********************************************/\n        // Handle data appearing after column 72; it is ignored\n        Sci_Position toLineStart = sc.currentPos - posLineStart;\n        if (toLineStart >= 72 || sc.ch == '$') {\n            sc.SetState(SCE_DMAP_COMMENT);\n            while (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end\n            continue;\n        }\n        /***************************************/\n        // Determine if the current state should terminate.\n        if (sc.state == SCE_DMAP_OPERATOR) {\n            sc.SetState(SCE_DMAP_DEFAULT);\n        } else if (sc.state == SCE_DMAP_NUMBER) {\n            if (!(IsAWordChar(sc.ch) || sc.ch=='\\'' || sc.ch=='\\\"' || sc.ch=='.')) {\n                sc.SetState(SCE_DMAP_DEFAULT);\n            }\n        } else if (sc.state == SCE_DMAP_IDENTIFIER) {\n            if (!IsAWordChar(sc.ch) || (sc.ch == '%')) {\n                char s[100];\n                sc.GetCurrentLowered(s, sizeof(s));\n                if (keywords.InList(s)) {\n                    sc.ChangeState(SCE_DMAP_WORD);\n                } else if (keywords2.InList(s)) {\n                    sc.ChangeState(SCE_DMAP_WORD2);\n                } else if (keywords3.InList(s)) {\n                    sc.ChangeState(SCE_DMAP_WORD3);\n                }\n                sc.SetState(SCE_DMAP_DEFAULT);\n            }\n        } else if (sc.state == SCE_DMAP_COMMENT) {\n            if (sc.ch == '\\r' || sc.ch == '\\n') {\n                sc.SetState(SCE_DMAP_DEFAULT);\n            }\n        } else if (sc.state == SCE_DMAP_STRING1) {\n            if (sc.ch == '\\'') {\n                if (sc.chNext == '\\'') {\n                    sc.Forward();\n                } else {\n                    sc.ForwardSetState(SCE_DMAP_DEFAULT);\n                }\n            } else if (sc.atLineEnd) {\n                sc.ChangeState(SCE_DMAP_STRINGEOL);\n                sc.ForwardSetState(SCE_DMAP_DEFAULT);\n            }\n        } else if (sc.state == SCE_DMAP_STRING2) {\n            if (sc.atLineEnd) {\n                sc.ChangeState(SCE_DMAP_STRINGEOL);\n                sc.ForwardSetState(SCE_DMAP_DEFAULT);\n            } else if (sc.ch == '\\\"') {\n                if (sc.chNext == '\\\"') {\n                    sc.Forward();\n                } else {\n                    sc.ForwardSetState(SCE_DMAP_DEFAULT);\n                }\n            }\n        }\n        /***************************************/\n        // Determine if a new state should be entered.\n        if (sc.state == SCE_DMAP_DEFAULT) {\n            if (sc.ch == '$') {\n                sc.SetState(SCE_DMAP_COMMENT);\n            } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext)) || (sc.ch == '-' && IsADigit(sc.chNext))) {\n                sc.SetState(SCE_F_NUMBER);\n            } else if (IsAWordStart(sc.ch)) {\n                sc.SetState(SCE_DMAP_IDENTIFIER);\n            } else if (sc.ch == '\\\"') {\n                sc.SetState(SCE_DMAP_STRING2);\n            } else if (sc.ch == '\\'') {\n                sc.SetState(SCE_DMAP_STRING1);\n            } else if (isoperator(static_cast<char>(sc.ch))) {\n                sc.SetState(SCE_DMAP_OPERATOR);\n            }\n        }\n    }\n    sc.Complete();\n}\n/***************************************/\n// To determine the folding level depending on keywords\nstatic int classifyFoldPointDMAP(const char* s, const char* prevWord) {\n    int lev = 0;\n    if ((strcmp(prevWord, \"else\") == 0 && strcmp(s, \"if\") == 0) || strcmp(s, \"enddo\") == 0 || strcmp(s, \"endif\") == 0) {\n        lev = -1;\n    } else if ((strcmp(prevWord, \"do\") == 0 && strcmp(s, \"while\") == 0) || strcmp(s, \"then\") == 0) {\n        lev = 1;\n    }\n    return lev;\n}\n// Folding the code\nstatic void FoldDMAPDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *[], Accessor &styler) {\n    //\n    // bool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n    // Do not know how to fold the comment at the moment.\n    //\n    bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n    int levelCurrent = levelPrev;\n    char chNext = styler[startPos];\n    int styleNext = styler.StyleAt(startPos);\n    int style = initStyle;\n    /***************************************/\n    Sci_Position lastStart = 0;\n    char prevWord[32] = \"\";\n    /***************************************/\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        int stylePrev = style;\n        style = styleNext;\n        styleNext = styler.StyleAt(i + 1);\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n        //\n        if ((stylePrev == SCE_DMAP_DEFAULT || stylePrev == SCE_DMAP_OPERATOR || stylePrev == SCE_DMAP_COMMENT) && (style == SCE_DMAP_WORD)) {\n            // Store last word and label start point.\n            lastStart = i;\n        }\n        /***************************************/\n        if (style == SCE_DMAP_WORD) {\n            if(iswordchar(ch) && !iswordchar(chNext)) {\n                char s[32];\n                Sci_PositionU k;\n                for(k=0; (k<31 ) && (k<i-lastStart+1 ); k++) {\n                    s[k] = static_cast<char>(tolower(styler[lastStart+k]));\n                }\n                s[k] = '\\0';\n                levelCurrent += classifyFoldPointDMAP(s, prevWord);\n                strcpy(prevWord, s);\n            }\n        }\n        if (atEOL) {\n            int lev = levelPrev;\n            if (visibleChars == 0 && foldCompact)\n                lev |= SC_FOLDLEVELWHITEFLAG;\n            if ((levelCurrent > levelPrev) && (visibleChars > 0))\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(lineCurrent)) {\n                styler.SetLevel(lineCurrent, lev);\n            }\n            lineCurrent++;\n            levelPrev = levelCurrent;\n            visibleChars = 0;\n            strcpy(prevWord, \"\");\n        }\n        /***************************************/\n        if (!isspacechar(ch)) visibleChars++;\n    }\n    /***************************************/\n    // Fill in the real level of the next line, keeping the current flags as they will be filled in later\n    int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n    styler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n/***************************************/\nstatic const char * const DMAPWordLists[] = {\n    \"Primary keywords and identifiers\",\n    \"Intrinsic functions\",\n    \"Extended and user defined functions\",\n    0,\n};\n/***************************************/\nLexerModule lmDMAP(SCLEX_DMAP, ColouriseDMAPDoc, \"DMAP\", FoldDMAPDoc, DMAPWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexDMIS.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexDMIS.cxx\n ** Lexer for DMIS.\n  **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// Copyright 2013-2014 by Andreas Tscharner <andy@vis.ethz.ch>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cctype>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\n\nstatic const char *const DMISWordListDesc[] = {\n\t\"DMIS Major Words\",\n\t\"DMIS Minor Words\",\n\t\"Unsupported DMIS Major Words\",\n\t\"Unsupported DMIS Minor Words\",\n\t\"Keywords for code folding start\",\n\t\"Corresponding keywords for code folding end\",\n\t0\n};\n\n\nclass LexerDMIS : public DefaultLexer\n{\n\tprivate:\n\t\tchar *m_wordListSets;\n\t\tWordList m_majorWords;\n\t\tWordList m_minorWords;\n\t\tWordList m_unsupportedMajor;\n\t\tWordList m_unsupportedMinor;\n\t\tWordList m_codeFoldingStart;\n\t\tWordList m_codeFoldingEnd;\n\n\t\tchar * SCI_METHOD UpperCase(char *item);\n\t\tvoid SCI_METHOD InitWordListSets(void);\n\n\tpublic:\n\t\tLexerDMIS(void);\n\t\tvirtual ~LexerDMIS(void);\n\n\t\tint SCI_METHOD Version() const override {\n\t\t\treturn lvOriginal;\n\t\t}\n\n\t\tvoid SCI_METHOD Release() override {\n\t\t\tdelete this;\n\t\t}\n\n\t\tconst char * SCI_METHOD PropertyNames() override {\n\t\t\treturn NULL;\n\t\t}\n\n\t\tint SCI_METHOD PropertyType(const char *) override {\n\t\t\treturn -1;\n\t\t}\n\n\t\tconst char * SCI_METHOD DescribeProperty(const char *) override {\n\t\t\treturn NULL;\n\t\t}\n\n\t\tSci_Position SCI_METHOD PropertySet(const char *, const char *) override {\n\t\t\treturn -1;\n\t\t}\n\n\t\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\n\t\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\t\treturn NULL;\n\t\t}\n\n\t\tstatic ILexer *LexerFactoryDMIS() {\n\t\t\treturn new LexerDMIS;\n\t\t}\n\n\t\tconst char * SCI_METHOD DescribeWordListSets() override;\n\t\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\t\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n};\n\n\nchar * SCI_METHOD LexerDMIS::UpperCase(char *item)\n{\n\tchar *itemStart;\n\n\n\titemStart = item;\n\twhile (item && *item) {\n\t\t*item = toupper(*item);\n\t\titem++;\n\t};\n\treturn itemStart;\n}\n\nvoid SCI_METHOD LexerDMIS::InitWordListSets(void)\n{\n\tsize_t totalLen = 0;\n\n\n\tfor (int i=0; DMISWordListDesc[i]; i++) {\n\t\ttotalLen += strlen(DMISWordListDesc[i]);\n\t\ttotalLen++;\n\t};\n\n\ttotalLen++;\n\tthis->m_wordListSets = new char[totalLen];\n\tmemset(this->m_wordListSets, 0, totalLen);\n\n\tfor (int i=0; DMISWordListDesc[i]; i++) {\n\t\tstrcat(this->m_wordListSets, DMISWordListDesc[i]);\n\t\tstrcat(this->m_wordListSets, \"\\n\");\n\t};\n}\n\n\nLexerDMIS::LexerDMIS(void) {\n\tthis->InitWordListSets();\n\n\tthis->m_majorWords.Clear();\n\tthis->m_minorWords.Clear();\n\tthis->m_unsupportedMajor.Clear();\n\tthis->m_unsupportedMinor.Clear();\n\tthis->m_codeFoldingStart.Clear();\n\tthis->m_codeFoldingEnd.Clear();\n}\n\nLexerDMIS::~LexerDMIS(void) {\n\tdelete[] this->m_wordListSets;\n}\n\nSci_Position SCI_METHOD LexerDMIS::WordListSet(int n, const char *wl)\n{\n\tswitch (n) {\n\t\tcase 0:\n\t\t\tthis->m_majorWords.Clear();\n\t\t\tthis->m_majorWords.Set(wl);\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\tthis->m_minorWords.Clear();\n\t\t\tthis->m_minorWords.Set(wl);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tthis->m_unsupportedMajor.Clear();\n\t\t\tthis->m_unsupportedMajor.Set(wl);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tthis->m_unsupportedMinor.Clear();\n\t\t\tthis->m_unsupportedMinor.Set(wl);\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tthis->m_codeFoldingStart.Clear();\n\t\t\tthis->m_codeFoldingStart.Set(wl);\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tthis->m_codeFoldingEnd.Clear();\n\t\t\tthis->m_codeFoldingEnd.Set(wl);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn -1;\n\t\t\tbreak;\n\t}\n\n\treturn 0;\n}\n\nconst char * SCI_METHOD LexerDMIS::DescribeWordListSets()\n{\n\treturn this->m_wordListSets;\n}\n\nvoid SCI_METHOD LexerDMIS::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess)\n{\n\tconst Sci_PositionU MAX_STR_LEN = 100;\n\n\tLexAccessor styler(pAccess);\n\tStyleContext scCTX(startPos, lengthDoc, initStyle, styler);\n\tCharacterSet setDMISNumber(CharacterSet::setDigits, \".-+eE\");\n\tCharacterSet setDMISWordStart(CharacterSet::setAlpha, \"-234\", 0x80, true);\n\tCharacterSet setDMISWord(CharacterSet::setAlpha);\n\n\n\tbool isIFLine = false;\n\n\tfor (; scCTX.More(); scCTX.Forward()) {\n\t\tif (scCTX.atLineEnd) {\n\t\t\tisIFLine = false;\n\t\t};\n\n\t\tswitch (scCTX.state) {\n\t\t\tcase SCE_DMIS_DEFAULT:\n\t\t\t\tif (scCTX.Match('$', '$')) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_COMMENT);\n\t\t\t\t\tscCTX.Forward();\n\t\t\t\t};\n\t\t\t\tif (scCTX.Match('\\'')) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_STRING);\n\t\t\t\t};\n\t\t\t\tif (IsADigit(scCTX.ch) || ((scCTX.Match('-') || scCTX.Match('+')) && IsADigit(scCTX.chNext))) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_NUMBER);\n\t\t\t\t\tbreak;\n\t\t\t\t};\n\t\t\t\tif (setDMISWordStart.Contains(scCTX.ch)) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_KEYWORD);\n\t\t\t\t};\n\t\t\t\tif (scCTX.Match('(') && (!isIFLine)) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_LABEL);\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_DMIS_COMMENT:\n\t\t\t\tif (scCTX.atLineEnd) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_DEFAULT);\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_DMIS_STRING:\n\t\t\t\tif (scCTX.Match('\\'')) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_DEFAULT);\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_DMIS_NUMBER:\n\t\t\t\tif (!setDMISNumber.Contains(scCTX.ch)) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_DEFAULT);\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_DMIS_KEYWORD:\n\t\t\t\tif (!setDMISWord.Contains(scCTX.ch)) {\n\t\t\t\t\tchar tmpStr[MAX_STR_LEN];\n\t\t\t\t\tmemset(tmpStr, 0, MAX_STR_LEN*sizeof(char));\n\t\t\t\t\tscCTX.GetCurrent(tmpStr, (MAX_STR_LEN-1));\n\t\t\t\t\tstrncpy(tmpStr, this->UpperCase(tmpStr), (MAX_STR_LEN-1));\n\n\t\t\t\t\tif (this->m_minorWords.InList(tmpStr)) {\n\t\t\t\t\t\tscCTX.ChangeState(SCE_DMIS_MINORWORD);\n\t\t\t\t\t};\n\t\t\t\t\tif (this->m_majorWords.InList(tmpStr)) {\n\t\t\t\t\t\tisIFLine = (strcmp(tmpStr, \"IF\") == 0);\n\t\t\t\t\t\tscCTX.ChangeState(SCE_DMIS_MAJORWORD);\n\t\t\t\t\t};\n\t\t\t\t\tif (this->m_unsupportedMajor.InList(tmpStr)) {\n\t\t\t\t\t\tscCTX.ChangeState(SCE_DMIS_UNSUPPORTED_MAJOR);\n\t\t\t\t\t};\n\t\t\t\t\tif (this->m_unsupportedMinor.InList(tmpStr)) {\n\t\t\t\t\t\tscCTX.ChangeState(SCE_DMIS_UNSUPPORTED_MINOR);\n\t\t\t\t\t};\n\n\t\t\t\t\tif (scCTX.Match('(') && (!isIFLine)) {\n\t\t\t\t\t\tscCTX.SetState(SCE_DMIS_LABEL);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscCTX.SetState(SCE_DMIS_DEFAULT);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_DMIS_LABEL:\n\t\t\t\tif (scCTX.Match(')')) {\n\t\t\t\t\tscCTX.SetState(SCE_DMIS_DEFAULT);\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t};\n\t};\n\tscCTX.Complete();\n}\n\nvoid SCI_METHOD LexerDMIS::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *pAccess)\n{\n\tconst int MAX_STR_LEN = 100;\n\n\tLexAccessor styler(pAccess);\n\tSci_PositionU endPos = startPos + lengthDoc;\n\tchar chNext = styler[startPos];\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tint strPos = 0;\n\tbool foldWordPossible = false;\n\tCharacterSet setDMISFoldWord(CharacterSet::setAlpha);\n\tchar *tmpStr;\n\n\n\ttmpStr = new char[MAX_STR_LEN];\n\tmemset(tmpStr, 0, MAX_STR_LEN*sizeof(char));\n\n\tfor (Sci_PositionU i=startPos; i<endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i+1);\n\n\t\tbool atEOL = ((ch == '\\r' && chNext != '\\n') || (ch == '\\n'));\n\n\t\tif (strPos >= (MAX_STR_LEN-1)) {\n\t\t\tstrPos = MAX_STR_LEN-1;\n\t\t};\n\n\t\tint style = styler.StyleAt(i);\n\t\tbool noFoldPos = ((style == SCE_DMIS_COMMENT) || (style == SCE_DMIS_STRING));\n\n\t\tif (foldWordPossible) {\n\t\t\tif (setDMISFoldWord.Contains(ch)) {\n\t\t\t\ttmpStr[strPos++] = ch;\n\t\t\t} else {\n\t\t\t\ttmpStr = this->UpperCase(tmpStr);\n\t\t\t\tif (this->m_codeFoldingStart.InList(tmpStr) && (!noFoldPos)) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t};\n\t\t\t\tif (this->m_codeFoldingEnd.InList(tmpStr) && (!noFoldPos)) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t};\n\t\t\t\tmemset(tmpStr, 0, MAX_STR_LEN*sizeof(char));\n\t\t\t\tstrPos = 0;\n\t\t\t\tfoldWordPossible = false;\n\t\t\t};\n\t\t} else {\n\t\t\tif (setDMISFoldWord.Contains(ch)) {\n\t\t\t\ttmpStr[strPos++] = ch;\n\t\t\t\tfoldWordPossible = true;\n\t\t\t};\n\t\t};\n\n\t\tif (atEOL || (i == (endPos-1))) {\n\t\t\tint lev = levelPrev;\n\n\t\t\tif (levelCurrent > levelPrev) {\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t};\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t};\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t};\n\t};\n\tdelete[] tmpStr;\n}\n\n\nLexerModule lmDMIS(SCLEX_DMIS, LexerDMIS::LexerFactoryDMIS, \"DMIS\", DMISWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexDiff.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexDiff.cxx\n ** Lexer for diff results.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') ||\n\t       ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\n#define DIFF_BUFFER_START_SIZE 16\n// Note that ColouriseDiffLine analyzes only the first DIFF_BUFFER_START_SIZE\n// characters of each line to classify the line.\n\nstatic void ColouriseDiffLine(char *lineBuffer, Sci_Position endLine, Accessor &styler) {\n\t// It is needed to remember the current state to recognize starting\n\t// comment lines before the first \"diff \" or \"--- \". If a real\n\t// difference starts then each line starting with ' ' is a whitespace\n\t// otherwise it is considered a comment (Only in..., Binary file...)\n\tif (0 == strncmp(lineBuffer, \"diff \", 5)) {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_COMMAND);\n\t} else if (0 == strncmp(lineBuffer, \"Index: \", 7)) {  // For subversion's diff\n\t\tstyler.ColourTo(endLine, SCE_DIFF_COMMAND);\n\t} else if (0 == strncmp(lineBuffer, \"---\", 3) && lineBuffer[3] != '-') {\n\t\t// In a context diff, --- appears in both the header and the position markers\n\t\tif (lineBuffer[3] == ' ' && atoi(lineBuffer + 4) && !strchr(lineBuffer, '/'))\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t\telse if (lineBuffer[3] == '\\r' || lineBuffer[3] == '\\n')\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t\telse if (lineBuffer[3] == ' ')\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_HEADER);\n\t\telse\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_DELETED);\n\t} else if (0 == strncmp(lineBuffer, \"+++ \", 4)) {\n\t\t// I don't know of any diff where \"+++ \" is a position marker, but for\n\t\t// consistency, do the same as with \"--- \" and \"*** \".\n\t\tif (atoi(lineBuffer+4) && !strchr(lineBuffer, '/'))\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t\telse\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_HEADER);\n\t} else if (0 == strncmp(lineBuffer, \"====\", 4)) {  // For p4's diff\n\t\tstyler.ColourTo(endLine, SCE_DIFF_HEADER);\n\t} else if (0 == strncmp(lineBuffer, \"***\", 3)) {\n\t\t// In a context diff, *** appears in both the header and the position markers.\n\t\t// Also ******** is a chunk header, but here it's treated as part of the\n\t\t// position marker since there is no separate style for a chunk header.\n\t\tif (lineBuffer[3] == ' ' && atoi(lineBuffer+4) && !strchr(lineBuffer, '/'))\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t\telse if (lineBuffer[3] == '*')\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t\telse\n\t\t\tstyler.ColourTo(endLine, SCE_DIFF_HEADER);\n\t} else if (0 == strncmp(lineBuffer, \"? \", 2)) {    // For difflib\n\t\tstyler.ColourTo(endLine, SCE_DIFF_HEADER);\n\t} else if (lineBuffer[0] == '@') {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t} else if (lineBuffer[0] >= '0' && lineBuffer[0] <= '9') {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_POSITION);\n\t} else if (0 == strncmp(lineBuffer, \"++\", 2)) {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_PATCH_ADD);\n\t} else if (0 == strncmp(lineBuffer, \"+-\", 2)) {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_PATCH_DELETE);\n\t} else if (0 == strncmp(lineBuffer, \"-+\", 2)) {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_REMOVED_PATCH_ADD);\n\t} else if (0 == strncmp(lineBuffer, \"--\", 2)) {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_REMOVED_PATCH_DELETE);\n\t} else if (lineBuffer[0] == '-' || lineBuffer[0] == '<') {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_DELETED);\n\t} else if (lineBuffer[0] == '+' || lineBuffer[0] == '>') {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_ADDED);\n\t} else if (lineBuffer[0] == '!') {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_CHANGED);\n\t} else if (lineBuffer[0] != ' ') {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_COMMENT);\n\t} else {\n\t\tstyler.ColourTo(endLine, SCE_DIFF_DEFAULT);\n\t}\n}\n\nstatic void ColouriseDiffDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tchar lineBuffer[DIFF_BUFFER_START_SIZE] = \"\";\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\tfor (Sci_PositionU i = startPos; i < startPos + length; i++) {\n\t\tif (AtEOL(styler, i)) {\n\t\t\tif (linePos < DIFF_BUFFER_START_SIZE) {\n\t\t\t\tlineBuffer[linePos] = 0;\n\t\t\t}\n\t\t\tColouriseDiffLine(lineBuffer, i, styler);\n\t\t\tlinePos = 0;\n\t\t} else if (linePos < DIFF_BUFFER_START_SIZE - 1) {\n\t\t\tlineBuffer[linePos++] = styler[i];\n\t\t} else if (linePos == DIFF_BUFFER_START_SIZE - 1) {\n\t\t\tlineBuffer[linePos++] = 0;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tif (linePos < DIFF_BUFFER_START_SIZE) {\n\t\t\tlineBuffer[linePos] = 0;\n\t\t}\n\t\tColouriseDiffLine(lineBuffer, startPos + length - 1, styler);\n\t}\n}\n\nstatic void FoldDiffDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tSci_Position curLine = styler.GetLine(startPos);\n\tSci_Position curLineStart = styler.LineStart(curLine);\n\tint prevLevel = curLine > 0 ? styler.LevelAt(curLine - 1) : SC_FOLDLEVELBASE;\n\tint nextLevel;\n\n\tdo {\n\t\tconst int lineType = styler.StyleAt(curLineStart);\n\t\tif (lineType == SCE_DIFF_COMMAND)\n\t\t\tnextLevel = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\telse if (lineType == SCE_DIFF_HEADER)\n\t\t\tnextLevel = (SC_FOLDLEVELBASE + 1) | SC_FOLDLEVELHEADERFLAG;\n\t\telse if (lineType == SCE_DIFF_POSITION && styler[curLineStart] != '-')\n\t\t\tnextLevel = (SC_FOLDLEVELBASE + 2) | SC_FOLDLEVELHEADERFLAG;\n\t\telse if (prevLevel & SC_FOLDLEVELHEADERFLAG)\n\t\t\tnextLevel = (prevLevel & SC_FOLDLEVELNUMBERMASK) + 1;\n\t\telse\n\t\t\tnextLevel = prevLevel;\n\n\t\tif ((nextLevel & SC_FOLDLEVELHEADERFLAG) && (nextLevel == prevLevel))\n\t\t\tstyler.SetLevel(curLine-1, prevLevel & ~SC_FOLDLEVELHEADERFLAG);\n\n\t\tstyler.SetLevel(curLine, nextLevel);\n\t\tprevLevel = nextLevel;\n\n\t\tcurLineStart = styler.LineStart(++curLine);\n\t} while (static_cast<Sci_Position>(startPos)+length > curLineStart);\n}\n\nstatic const char *const emptyWordListDesc[] = {\n\t0\n};\n\nLexerModule lmDiff(SCLEX_DIFF, ColouriseDiffDoc, \"diff\", FoldDiffDoc, emptyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexECL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexECL.cxx\n ** Lexer for ECL.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#ifdef _MSC_VER\n#pragma warning(disable: 4786)\n#endif\n#ifdef __BORLANDC__\n// Borland C++ displays warnings in vector header without this\n#pragma option -w-ccc -w-rch\n#endif\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n\n#define SET_LOWER \"abcdefghijklmnopqrstuvwxyz\"\n#define SET_UPPER \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n#define SET_DIGITS \"0123456789\"\n\nusing namespace Scintilla;\n\nstatic bool IsSpaceEquiv(int state) {\n\tswitch (state) {\n\tcase SCE_ECL_DEFAULT:\n\tcase SCE_ECL_COMMENT:\n\tcase SCE_ECL_COMMENTLINE:\n\tcase SCE_ECL_COMMENTLINEDOC:\n\tcase SCE_ECL_COMMENTDOCKEYWORD:\n\tcase SCE_ECL_COMMENTDOCKEYWORDERROR:\n\tcase SCE_ECL_COMMENTDOC:\n\t\treturn true;\n\n\tdefault:\n\t\treturn false;\n\t}\n}\n\nstatic void ColouriseEclDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\tWordList &keywords0 = *keywordlists[0];\n\tWordList &keywords1 = *keywordlists[1];\n\tWordList &keywords2 = *keywordlists[2];\n\tWordList &keywords3 = *keywordlists[3]; //Value Types\n\tWordList &keywords4 = *keywordlists[4];\n\tWordList &keywords5 = *keywordlists[5];\n\tWordList &keywords6 = *keywordlists[6];\t//Javadoc Tags\n\tWordList cplusplus;\n\tcplusplus.Set(\"beginc endc\");\n\n\tbool stylingWithinPreprocessor = false;\n\n\tCharacterSet setOKBeforeRE(CharacterSet::setNone, \"(=,\");\n\tCharacterSet setDoxygen(CharacterSet::setLower, \"$@\\\\&<>#{}[]\");\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\tCharacterSet setQualified(CharacterSet::setNone, \"uUxX\");\n\n\tint chPrevNonWhite = ' ';\n\tint visibleChars = 0;\n\tbool lastWordWasUUID = false;\n\tint styleBeforeDCKeyword = SCE_ECL_DEFAULT;\n\tbool continuationLine = false;\n\n\tif (initStyle == SCE_ECL_PREPROCESSOR) {\n\t\t// Set continuationLine if last character of previous line is '\\'\n\t\tSci_Position lineCurrent = styler.GetLine(startPos);\n\t\tif (lineCurrent > 0) {\n\t\t\tint chBack = styler.SafeGetCharAt(startPos-1, 0);\n\t\t\tint chBack2 = styler.SafeGetCharAt(startPos-2, 0);\n\t\t\tint lineEndChar = '!';\n\t\t\tif (chBack2 == '\\r' && chBack == '\\n') {\n\t\t\t\tlineEndChar = styler.SafeGetCharAt(startPos-3, 0);\n\t\t\t} else if (chBack == '\\n' || chBack == '\\r') {\n\t\t\t\tlineEndChar = chBack2;\n\t\t\t}\n\t\t\tcontinuationLine = lineEndChar == '\\\\';\n\t\t}\n\t}\n\n\t// look back to set chPrevNonWhite properly for better regex colouring\n\tif (startPos > 0) {\n\t\tSci_Position back = startPos;\n\t\twhile (--back && IsSpaceEquiv(styler.StyleAt(back)))\n\t\t\t;\n\t\tif (styler.StyleAt(back) == SCE_ECL_OPERATOR) {\n\t\t\tchPrevNonWhite = styler.SafeGetCharAt(back);\n\t\t}\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineStart) {\n\t\t\tif (sc.state == SCE_ECL_STRING) {\n\t\t\t\t// Prevent SCE_ECL_STRINGEOL from leaking back to previous line which\n\t\t\t\t// ends with a line continuation by locking in the state upto this position.\n\t\t\t\tsc.SetState(SCE_ECL_STRING);\n\t\t\t}\n\t\t\t// Reset states to begining of colourise so no surprises\n\t\t\t// if different sets of lines lexed.\n\t\t\tvisibleChars = 0;\n\t\t\tlastWordWasUUID = false;\n\t\t}\n\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinuationLine = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_ECL_ADDED:\n\t\t\tcase SCE_ECL_DELETED:\n\t\t\tcase SCE_ECL_CHANGED:\n\t\t\tcase SCE_ECL_MOVED:\n\t\t\tif (sc.atLineStart)\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_OPERATOR:\n\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_NUMBER:\n\t\t\t\t// We accept almost anything because of hex. and number suffixes\n\t\t\t\tif (!setWord.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_IDENTIFIER:\n\t\t\t\tif (!setWord.Contains(sc.ch) || (sc.ch == '.')) {\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\tif (keywords0.InList(s)) {\n\t\t\t\t\t\tlastWordWasUUID = strcmp(s, \"uuid\") == 0;\n\t\t\t\t\t\tsc.ChangeState(SCE_ECL_WORD0);\n\t\t\t\t\t} else if (keywords1.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ECL_WORD1);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ECL_WORD2);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ECL_WORD4);\n\t\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ECL_WORD5);\n\t\t\t\t\t}\n\t\t\t\t\telse\t//Data types are of from KEYWORD##\n\t\t\t\t\t{\n\t\t\t\t\t\tint i = static_cast<int>(strlen(s)) - 1;\n\t\t\t\t\t\twhile(i >= 0 && (isdigit(s[i]) || s[i] == '_'))\n\t\t\t\t\t\t\t--i;\n\n\t\t\t\t\t\tchar s2[1000];\n\t\t\t\t\t\tstrncpy(s2, s, i + 1);\n\t\t\t\t\t\ts2[i + 1] = 0;\n\t\t\t\t\t\tif (keywords3.InList(s2)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_ECL_WORD3);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_PREPROCESSOR:\n\t\t\t\tif (sc.atLineStart && !continuationLine) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t} else if (stylingWithinPreprocessor) {\n\t\t\t\t\tif (IsASpace(sc.ch)) {\n\t\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (sc.Match('/', '*') || sc.Match('/', '/')) {\n\t\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_COMMENT:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_COMMENTDOC:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_ECL_DEFAULT);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = SCE_ECL_COMMENTDOC;\n\t\t\t\t\t\tsc.SetState(SCE_ECL_COMMENTDOCKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_COMMENTLINEDOC:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = SCE_ECL_COMMENTLINEDOC;\n\t\t\t\t\t\tsc.SetState(SCE_ECL_COMMENTDOCKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_COMMENTDOCKEYWORD:\n\t\t\t\tif ((styleBeforeDCKeyword == SCE_ECL_COMMENTDOC) && sc.Match('*', '/')) {\n\t\t\t\t\tsc.ChangeState(SCE_ECL_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_ECL_DEFAULT);\n\t\t\t\t} else if (!setDoxygen.Contains(sc.ch)) {\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\tif (!IsASpace(sc.ch) || !keywords6.InList(s+1)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ECL_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(styleBeforeDCKeyword);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_STRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_ECL_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_CHARACTER:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_ECL_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_REGEX:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t} else if (sc.ch == '/') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\twhile ((sc.ch < 0x80) && islower(sc.ch))\n\t\t\t\t\t\tsc.Forward();    // gobble regex flags\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\t// Gobble up the quoted character\n\t\t\t\t\tif (sc.chNext == '\\\\' || sc.chNext == '/') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_VERBATIM:\n\t\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ECL_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_ECL_UUID:\n\t\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n' || sc.ch == ')') {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tSci_Position lineCurrent = styler.GetLine(sc.currentPos);\n\t\tint lineState = styler.GetLineState(lineCurrent);\n\t\tif (sc.state == SCE_ECL_DEFAULT) {\n\t\t\tif (lineState) {\n\t\t\t\tsc.SetState(lineState);\n\t\t\t}\n\t\t\telse if (sc.Match('@', '\\\"')) {\n\t\t\t\tsc.SetState(SCE_ECL_VERBATIM);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (setQualified.Contains(sc.ch) && sc.chNext == '\\'') {\n\t\t\t\tsc.SetState(SCE_ECL_CHARACTER);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tif (lastWordWasUUID) {\n\t\t\t\t\tsc.SetState(SCE_ECL_UUID);\n\t\t\t\t\tlastWordWasUUID = false;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_ECL_NUMBER);\n\t\t\t\t}\n\t\t\t} else if (setWordStart.Contains(sc.ch) || (sc.ch == '@')) {\n\t\t\t\tif (lastWordWasUUID) {\n\t\t\t\t\tsc.SetState(SCE_ECL_UUID);\n\t\t\t\t\tlastWordWasUUID = false;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_ECL_IDENTIFIER);\n\t\t\t\t}\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tif (sc.Match(\"/**\") || sc.Match(\"/*!\")) {\t// Support of Qt/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_ECL_COMMENTDOC);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_ECL_COMMENT);\n\t\t\t\t}\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tif ((sc.Match(\"///\") && !sc.Match(\"////\")) || sc.Match(\"//!\"))\n\t\t\t\t\t// Support of Qt/Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_ECL_COMMENTLINEDOC);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_ECL_COMMENTLINE);\n\t\t\t} else if (sc.ch == '/' && setOKBeforeRE.Contains(chPrevNonWhite)) {\n\t\t\t\tsc.SetState(SCE_ECL_REGEX);\t// JavaScript's RegEx\n//\t\t\t} else if (sc.ch == '\\\"') {\n//\t\t\t\tsc.SetState(SCE_ECL_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_ECL_CHARACTER);\n\t\t\t} else if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\t// Preprocessor commands are alone on their line\n\t\t\t\tsc.SetState(SCE_ECL_PREPROCESSOR);\n\t\t\t\t// Skip whitespace between # and preprocessor word\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_ECL_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_ECL_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\tif (!IsASpace(sc.ch) && !IsSpaceEquiv(sc.state)) {\n\t\t\tchPrevNonWhite = sc.ch;\n\t\t\tvisibleChars++;\n\t\t}\n\t\tcontinuationLine = false;\n\t}\n\tsc.Complete();\n\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_ECL_COMMENT ||\n\t\tstyle == SCE_ECL_COMMENTDOC ||\n\t\tstyle == SCE_ECL_COMMENTDOCKEYWORD ||\n\t\tstyle == SCE_ECL_COMMENTDOCKEYWORDERROR;\n}\n\nstatic bool MatchNoCase(Accessor & styler, Sci_PositionU & pos, const char *s) {\n\tSci_Position i=0;\n\tfor (; *s; i++) {\n\t\tchar compare_char = tolower(*s);\n\t\tchar styler_char = tolower(styler.SafeGetCharAt(pos+i));\n\t\tif (compare_char != styler_char)\n\t\t\treturn false;\n\t\ts++;\n\t}\n\tpos+=i-1;\n\treturn true;\n}\n\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nstatic void FoldEclDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t   WordList *[], Accessor &styler) {\n\tbool foldComment = true;\n\tbool foldPreprocessor = true;\n\tbool foldCompact = true;\n\tbool foldAtElse = true;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev) && (stylePrev != SCE_ECL_COMMENTLINEDOC)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && (styleNext != SCE_ECL_COMMENTLINEDOC) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (foldComment && (style == SCE_ECL_COMMENTLINE)) {\n\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (foldPreprocessor && (style == SCE_ECL_PREPROCESSOR)) {\n\t\t\tif (ch == '#') {\n\t\t\t\tSci_PositionU j = i + 1;\n\t\t\t\twhile ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\tif (MatchNoCase(styler, j, \"region\") || MatchNoCase(styler, j, \"if\")) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (MatchNoCase(styler, j, \"endregion\") || MatchNoCase(styler, j, \"end\")) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_ECL_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_ECL_WORD2) {\n\t\t\tif (MatchNoCase(styler, i, \"record\") || MatchNoCase(styler, i, \"transform\") || MatchNoCase(styler, i, \"type\") || MatchNoCase(styler, i, \"function\") ||\n\t\t\t\tMatchNoCase(styler, i, \"module\") || MatchNoCase(styler, i, \"service\") || MatchNoCase(styler, i, \"interface\") || MatchNoCase(styler, i, \"ifblock\") ||\n\t\t\t\tMatchNoCase(styler, i, \"macro\") || MatchNoCase(styler, i, \"beginc++\")) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (MatchNoCase(styler, i, \"endmacro\") || MatchNoCase(styler, i, \"endc++\") || MatchNoCase(styler, i, \"end\")) {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tif (atEOL && (i == static_cast<Sci_PositionU>(styler.Length()-1))) {\n\t\t\t\t// There is an empty line at end of file so give it same level and empty\n\t\t\t\tstyler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t}\n}\n\nstatic const char * const EclWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmECL(\n   SCLEX_ECL,\n   ColouriseEclDoc,\n   \"ecl\",\n   FoldEclDoc,\n   EclWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexEDIFACT.cpp",
    "content": "// Scintilla Lexer for EDIFACT\n// Written by Iain Clarke, IMCSoft & Inobiz AB.\n// EDIFACT documented here: https://www.unece.org/cefact/edifact/welcome.html\n// and more readably here: https://en.wikipedia.org/wiki/EDIFACT\n// This code is subject to the same license terms as the rest of the scintilla project:\n// The License.txt file describes the conditions under which this software may be distributed.\n//\n\n// Header order must match order in scripts/HeaderOrder.txt\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cctype>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"LexAccessor.h\"\n#include \"LexerModule.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nclass LexerEDIFACT : public DefaultLexer\n{\npublic:\n\tLexerEDIFACT();\n\tvirtual ~LexerEDIFACT() {} // virtual destructor, as we inherit from ILexer\n\n\tstatic ILexer *Factory() {\n\t\treturn new LexerEDIFACT;\n\t}\n\n\tint SCI_METHOD Version() const override\n\t{\n\t\treturn lvOriginal;\n\t}\n\tvoid SCI_METHOD Release() override\n\t{\n\t\tdelete this;\n\t}\n\n\tconst char * SCI_METHOD PropertyNames() override\n\t{\n\t\treturn \"fold\\nlexer.edifact.highlight.un.all\";\n\t}\n\tint SCI_METHOD PropertyType(const char *) override\n\t{\n\t\treturn SC_TYPE_BOOLEAN; // Only one property!\n\t}\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override\n\t{\n\t\tif (!strcmp(name, \"fold\"))\n\t\t\treturn \"Whether to apply folding to document or not\";\n\t\tif (!strcmp(name, \"lexer.edifact.highlight.un.all\"))\n\t\t\treturn \"Whether to apply UN* highlighting to all UN segments, or just to UNH\";\n\t\treturn NULL;\n\t}\n\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override\n\t{\n\t\tif (!strcmp(key, \"fold\"))\n\t\t{\n\t\t\tm_bFold = strcmp(val, \"0\") ? true : false;\n\t\t\treturn 0;\n\t\t}\n\t\tif (!strcmp(key, \"lexer.edifact.highlight.un.all\"))\t// GetProperty\n\t\t{\n\t\t\tm_bHighlightAllUN = strcmp(val, \"0\") ? true : false;\n\t\t\treturn 0;\n\t\t}\n\t\treturn -1;\n\t}\n\tconst char * SCI_METHOD DescribeWordListSets() override\n\t{\n\t\treturn NULL;\n\t}\n\tSci_Position SCI_METHOD WordListSet(int, const char *) override\n\t{\n\t\treturn -1;\n\t}\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\tvoid * SCI_METHOD PrivateCall(int, void *) override\n\t{\n\t\treturn NULL;\n\t}\n\nprotected:\n\tSci_Position InitialiseFromUNA(IDocument *pAccess, Sci_PositionU MaxLength);\n\tSci_Position FindPreviousEnd(IDocument *pAccess, Sci_Position startPos) const;\n\tSci_Position ForwardPastWhitespace(IDocument *pAccess, Sci_Position startPos, Sci_Position MaxLength) const;\n\tint DetectSegmentHeader(char SegmentHeader[3]) const;\n\n\tbool m_bFold;\n\n\t// property lexer.edifact.highlight.un.all\n\t//\tSet to 0 to highlight only UNA segments, or 1 to highlight all UNx segments.\n\tbool m_bHighlightAllUN;\n\n\tchar m_chComponent;\n\tchar m_chData;\n\tchar m_chDecimal;\n\tchar m_chRelease;\n\tchar m_chSegment;\n};\n\nLexerModule lmEDIFACT(SCLEX_EDIFACT, LexerEDIFACT::Factory, \"edifact\");\n\n///////////////////////////////////////////////////////////////////////////////\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n\nLexerEDIFACT::LexerEDIFACT()\n{\n\tm_bFold = false;\n\tm_bHighlightAllUN = false;\n\tm_chComponent = ':';\n\tm_chData = '+';\n\tm_chDecimal = '.';\n\tm_chRelease = '?';\n\tm_chSegment = '\\'';\n}\n\nvoid LexerEDIFACT::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *pAccess)\n{\n\tSci_PositionU posFinish = startPos + lengthDoc;\n\tInitialiseFromUNA(pAccess, posFinish);\n\n\t// Look backwards for a ' or a document beginning\n\tSci_PositionU posCurrent = FindPreviousEnd(pAccess, startPos);\n\t// And jump past the ' if this was not the beginning of the document\n\tif (posCurrent != 0)\n\t\tposCurrent++;\n\n\t// Style buffer, so we're not issuing loads of notifications\n\tLexAccessor styler (pAccess);\n\tpAccess->StartStyling(posCurrent, '\\377');\n\tstyler.StartSegment(posCurrent);\n\tSci_Position posSegmentStart = -1;\n\n\twhile ((posCurrent < posFinish) && (posSegmentStart == -1))\n\t{\n\t\tposCurrent = ForwardPastWhitespace(pAccess, posCurrent, posFinish);\n\t\t// Mark whitespace as default\n\t\tstyler.ColourTo(posCurrent - 1, SCE_EDI_DEFAULT);\n\t\tif (posCurrent >= posFinish)\n\t\t\tbreak;\n\n\t\t// Does is start with 3 charaters? ie, UNH\n\t\tchar SegmentHeader[4] = { 0 };\n\t\tpAccess->GetCharRange(SegmentHeader, posCurrent, 3);\n\n\t\tint SegmentStyle = DetectSegmentHeader(SegmentHeader);\n\t\tif (SegmentStyle == SCE_EDI_BADSEGMENT)\n\t\t\tbreak;\n\t\tif (SegmentStyle == SCE_EDI_UNA)\n\t\t{\n\t\t\tposCurrent += 9;\n\t\t\tstyler.ColourTo(posCurrent - 1, SCE_EDI_UNA); // UNA\n\t\t\tcontinue;\n\t\t}\n\t\tposSegmentStart = posCurrent;\n\t\tposCurrent += 3;\n\n\t\tstyler.ColourTo(posCurrent - 1, SegmentStyle); // UNH etc\n\n\t\t// Colour in the rest of the segment\n\t\tfor (char c; posCurrent < posFinish; posCurrent++)\n\t\t{\n\t\t\tpAccess->GetCharRange(&c, posCurrent, 1);\n\n\t\t\tif (c == m_chRelease) // ? escape character, check first, in case of ?'\n\t\t\t\tposCurrent++;\n\t\t\telse if (c == m_chSegment) // '\n\t\t\t{\n\t\t\t\t// 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.\n\t\t\t\tSci_Position lineSegmentStart = pAccess->LineFromPosition(posSegmentStart);\n\t\t\t\tSci_Position lineSegmentEnd = pAccess->LineFromPosition(posCurrent);\n\t\t\t\tif (lineSegmentStart == lineSegmentEnd)\n\t\t\t\t\tstyler.ColourTo(posCurrent, SCE_EDI_SEGMENTEND);\n\t\t\t\telse\n\t\t\t\t\tstyler.ColourTo(posCurrent, SCE_EDI_BADSEGMENT);\n\t\t\t\tposSegmentStart = -1;\n\t\t\t\tposCurrent++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse if (c == m_chComponent) // :\n\t\t\t\tstyler.ColourTo(posCurrent, SCE_EDI_SEP_COMPOSITE);\n\t\t\telse if (c == m_chData) // +\n\t\t\t\tstyler.ColourTo(posCurrent, SCE_EDI_SEP_ELEMENT);\n\t\t\telse\n\t\t\t\tstyler.ColourTo(posCurrent, SCE_EDI_DEFAULT);\n\t\t}\n\t}\n\tstyler.Flush();\n\n\tif (posSegmentStart == -1)\n\t\treturn;\n\n\tpAccess->StartStyling(posSegmentStart, -1);\n\tpAccess->SetStyleFor(posFinish - posSegmentStart, SCE_EDI_BADSEGMENT);\n}\n\nvoid LexerEDIFACT::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *pAccess)\n{\n\tif (!m_bFold)\n\t\treturn;\n\n\t// Fold at UNx lines. ie, UNx segments = 0, other segments = 1.\n\t// There's no sub folding, so we can be quite simple.\n\tSci_Position endPos = startPos + lengthDoc;\n\tchar SegmentHeader[4] = { 0 };\n\n\tint iIndentPrevious = 0;\n\tSci_Position lineLast = pAccess->LineFromPosition(endPos);\n\n\tfor (Sci_Position lineCurrent = pAccess->LineFromPosition(startPos); lineCurrent <= lineLast; lineCurrent++)\n\t{\n\t\tSci_Position posLineStart = pAccess->LineStart(lineCurrent);\n\t\tposLineStart = ForwardPastWhitespace(pAccess, posLineStart, endPos);\n\t\tSci_Position lineDataStart = pAccess->LineFromPosition(posLineStart);\n\t\t// Fill in whitespace lines?\n\t\tfor (; lineCurrent < lineDataStart; lineCurrent++)\n\t\t\tpAccess->SetLevel(lineCurrent, SC_FOLDLEVELBASE | SC_FOLDLEVELWHITEFLAG | iIndentPrevious);\n\t\tpAccess->GetCharRange(SegmentHeader, posLineStart, 3);\n\t\t//if (DetectSegmentHeader(SegmentHeader) == SCE_EDI_BADSEGMENT) // Abort if this is not a proper segment header\n\n\t\tint level = 0;\n\t\tif (memcmp(SegmentHeader, \"UNH\", 3) == 0) // UNH starts blocks\n\t\t\tlevel = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t// Check for UNA,B and Z. All others are inside messages\n\t\telse if (!memcmp(SegmentHeader, \"UNA\", 3) || !memcmp(SegmentHeader, \"UNB\", 3) || !memcmp(SegmentHeader, \"UNZ\", 3))\n\t\t\tlevel = SC_FOLDLEVELBASE;\n\t\telse\n\t\t\tlevel = SC_FOLDLEVELBASE | 1;\n\t\tpAccess->SetLevel(lineCurrent, level);\n\t\tiIndentPrevious = level & SC_FOLDLEVELNUMBERMASK;\n\t}\n}\n\nSci_Position LexerEDIFACT::InitialiseFromUNA(IDocument *pAccess, Sci_PositionU MaxLength)\n{\n\tMaxLength -= 9; // drop 9 chars, to give us room for UNA:+.? '\n\n\tSci_PositionU startPos = 0;\n\tstartPos += ForwardPastWhitespace(pAccess, 0, MaxLength);\n\tif (startPos < MaxLength)\n\t{\n\t\tchar bufUNA[9];\n\t\tpAccess->GetCharRange(bufUNA, startPos, 9);\n\n\t\t// Check it's UNA segment\n\t\tif (!memcmp(bufUNA, \"UNA\", 3))\n\t\t{\n\t\t\tm_chComponent = bufUNA[3];\n\t\t\tm_chData = bufUNA[4];\n\t\t\tm_chDecimal = bufUNA[5];\n\t\t\tm_chRelease = bufUNA[6];\n\t\t\t// bufUNA [7] should be space - reserved.\n\t\t\tm_chSegment = bufUNA[8];\n\n\t\t\treturn 0; // success!\n\t\t}\n\t}\n\n\t// We failed to find a UNA, so drop to defaults\n\tm_chComponent = ':';\n\tm_chData = '+';\n\tm_chDecimal = '.';\n\tm_chRelease = '?';\n\tm_chSegment = '\\'';\n\n\treturn -1;\n}\n\nSci_Position LexerEDIFACT::ForwardPastWhitespace(IDocument *pAccess, Sci_Position startPos, Sci_Position MaxLength) const\n{\n\tchar c;\n\n\twhile (startPos < MaxLength)\n\t{\n\t\tpAccess->GetCharRange(&c, startPos, 1);\n\t\tswitch (c)\n\t\t{\n\t\tcase '\\t':\n\t\tcase '\\r':\n\t\tcase '\\n':\n\t\tcase ' ':\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn startPos;\n\t\t}\n\n\t\tstartPos++;\n\t}\n\n\treturn MaxLength;\n}\n\nint LexerEDIFACT::DetectSegmentHeader(char SegmentHeader[3]) const\n{\n\tif (\n\t\tSegmentHeader[0] < 'A' || SegmentHeader[0] > 'Z' ||\n\t\tSegmentHeader[1] < 'A' || SegmentHeader[1] > 'Z' ||\n\t\tSegmentHeader[2] < 'A' || SegmentHeader[2] > 'Z')\n\t\treturn SCE_EDI_BADSEGMENT;\n\n\tif (!memcmp(SegmentHeader, \"UNA\", 3))\n\t\treturn SCE_EDI_UNA;\n\n\tif (m_bHighlightAllUN && !memcmp(SegmentHeader, \"UN\", 2))\n\t\treturn SCE_EDI_UNH;\n\telse if (memcmp(SegmentHeader, \"UNH\", 3) == 0)\n\t\treturn SCE_EDI_UNH;\n\n\treturn SCE_EDI_SEGMENTSTART;\n}\n\n// Look backwards for a ' or a document beginning\nSci_Position LexerEDIFACT::FindPreviousEnd(IDocument *pAccess, Sci_Position startPos) const\n{\n\tfor (char c; startPos > 0; startPos--)\n\t{\n\t\tpAccess->GetCharRange(&c, startPos, 1);\n\t\tif (c == m_chSegment)\n\t\t\treturn startPos;\n\t}\n\t// We didn't find a ', so just go with the beginning\n\treturn 0;\n}\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexEScript.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexESCRIPT.cxx\n ** Lexer for ESCRIPT\n **/\n// Copyright 2003 by Patrizio Bekerle (patrizio@bekerle.com)\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_');\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\n\n\nstatic void ColouriseESCRIPTDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\n\t// Do not leak onto next line\n\t/*if (initStyle == SCE_ESCRIPT_STRINGEOL)\n\t\tinitStyle = SCE_ESCRIPT_DEFAULT;*/\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tbool caseSensitive = styler.GetPropertyInt(\"escript.case.sensitive\", 0) != 0;\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t/*if (sc.atLineStart && (sc.state == SCE_ESCRIPT_STRING)) {\n\t\t\t// Prevent SCE_ESCRIPT_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_ESCRIPT_STRING);\n\t\t}*/\n\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_ESCRIPT_OPERATOR || sc.state == SCE_ESCRIPT_BRACE) {\n\t\t\tsc.SetState(SCE_ESCRIPT_DEFAULT);\n\t\t} else if (sc.state == SCE_ESCRIPT_NUMBER) {\n\t\t\tif (!IsADigit(sc.ch) || sc.ch != '.') {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ESCRIPT_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch) || (sc.ch == '.')) {\n\t\t\t\tchar s[100];\n\t\t\t\tif (caseSensitive) {\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t} else {\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t}\n\n//\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n                                if (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ESCRIPT_WORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ESCRIPT_WORD2);\n\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_ESCRIPT_WORD3);\n                                        // sc.state = SCE_ESCRIPT_IDENTIFIER;\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_ESCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ESCRIPT_COMMENT) {\n\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_ESCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ESCRIPT_COMMENTDOC) {\n\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_ESCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ESCRIPT_COMMENTLINE) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_ESCRIPT_STRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_ESCRIPT_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_ESCRIPT_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch) || (sc.ch == '#')) {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_IDENTIFIER);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_COMMENT);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_STRING);\n\t\t\t\t//} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t} 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 == ':') {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_OPERATOR);\n\t\t\t} else if (sc.ch == '{' || sc.ch == '}') {\n\t\t\t\tsc.SetState(SCE_ESCRIPT_BRACE);\n\t\t\t}\n\t\t}\n\n\t}\n\tsc.Complete();\n}\n\n\nstatic int classifyFoldPointESCRIPT(const char* s, const char* prevWord) {\n\tint lev = 0;\n\tif (strcmp(prevWord, \"end\") == 0) return lev;\n\tif ((strcmp(prevWord, \"else\") == 0 && strcmp(s, \"if\") == 0) || strcmp(s, \"elseif\") == 0)\n\t\treturn -1;\n\n        if (strcmp(s, \"for\") == 0 || strcmp(s, \"foreach\") == 0\n\t    || strcmp(s, \"program\") == 0 || strcmp(s, \"function\") == 0\n\t    || strcmp(s, \"while\") == 0 || strcmp(s, \"case\") == 0\n\t    || strcmp(s, \"if\") == 0 ) {\n\t\tlev = 1;\n\t} else if ( strcmp(s, \"endfor\") == 0 || strcmp(s, \"endforeach\") == 0\n\t    || strcmp(s, \"endprogram\") == 0 || strcmp(s, \"endfunction\") == 0\n\t    || strcmp(s, \"endwhile\") == 0 || strcmp(s, \"endcase\") == 0\n\t    || strcmp(s, \"endif\") == 0 ) {\n\t\tlev = -1;\n\t}\n\n\treturn lev;\n}\n\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_ESCRIPT_COMMENT ||\n\t       style == SCE_ESCRIPT_COMMENTDOC ||\n\t       style == SCE_ESCRIPT_COMMENTLINE;\n}\n\nstatic void FoldESCRIPTDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) {\n\t//~ bool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\t// Do not know how to fold the comment at the moment.\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n        bool foldComment = true;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\n\tSci_Position lastStart = 0;\n\tchar prevWord[32] = \"\";\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\n\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (foldComment && (style == SCE_ESCRIPT_COMMENTLINE)) {\n\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (stylePrev == SCE_ESCRIPT_DEFAULT && style == SCE_ESCRIPT_WORD3)\n\t\t{\n\t\t\t// Store last word start point.\n\t\t\tlastStart = i;\n\t\t}\n\n\t\tif (style == SCE_ESCRIPT_WORD3) {\n\t\t\tif(iswordchar(ch) && !iswordchar(chNext)) {\n\t\t\t\tchar s[32];\n\t\t\t\tSci_PositionU j;\n\t\t\t\tfor(j = 0; ( j < 31 ) && ( j < i-lastStart+1 ); j++) {\n\t\t\t\t\ts[j] = static_cast<char>(tolower(styler[lastStart + j]));\n\t\t\t\t}\n\t\t\t\ts[j] = '\\0';\n\t\t\t\tlevelCurrent += classifyFoldPointESCRIPT(s, prevWord);\n\t\t\t\tstrcpy(prevWord, s);\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t\tstrcpy(prevWord, \"\");\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\n\n\nstatic const char * const ESCRIPTWordLists[] = {\n\t\"Primary keywords and identifiers\",\n\t\"Intrinsic functions\",\n\t\"Extended and user defined functions\",\n\t0,\n};\n\nLexerModule lmESCRIPT(SCLEX_ESCRIPT, ColouriseESCRIPTDoc, \"escript\", FoldESCRIPTDoc, ESCRIPTWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexEiffel.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexEiffel.cxx\n ** Lexer for Eiffel.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool isEiffelOperator(unsigned int ch) {\n\t// '.' left out as it is used to make up numbers\n\treturn ch == '*' || ch == '/' || ch == '\\\\' || ch == '-' || ch == '+' ||\n\t        ch == '(' || ch == ')' || ch == '=' ||\n\t        ch == '{' || ch == '}' || ch == '~' ||\n\t        ch == '[' || ch == ']' || ch == ';' ||\n\t        ch == '<' || ch == '>' || ch == ',' ||\n\t        ch == '.' || ch == '^' || ch == '%' || ch == ':' ||\n\t\tch == '!' || ch == '@' || ch == '?';\n}\n\nstatic inline bool IsAWordChar(unsigned int  ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic inline bool IsAWordStart(unsigned int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic void ColouriseEiffelDoc(Sci_PositionU startPos,\n                            Sci_Position length,\n                            int initStyle,\n                            WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.state == SCE_EIFFEL_STRINGEOL) {\n\t\t\tif (sc.ch != '\\r' && sc.ch != '\\n') {\n\t\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_EIFFEL_OPERATOR) {\n\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t} else if (sc.state == SCE_EIFFEL_WORD) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (!keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_EIFFEL_IDENTIFIER);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_EIFFEL_NUMBER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_EIFFEL_COMMENTLINE) {\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_EIFFEL_STRING) {\n\t\t\tif (sc.ch == '%') {\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_EIFFEL_CHARACTER) {\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\tsc.SetState(SCE_EIFFEL_STRINGEOL);\n\t\t\t} else if (sc.ch == '%') {\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState(SCE_EIFFEL_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.state == SCE_EIFFEL_DEFAULT) {\n\t\t\tif (sc.ch == '-' && sc.chNext == '-') {\n\t\t\t\tsc.SetState(SCE_EIFFEL_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_EIFFEL_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_EIFFEL_CHARACTER);\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.')) {\n\t\t\t\tsc.SetState(SCE_EIFFEL_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_EIFFEL_WORD);\n\t\t\t} else if (isEiffelOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_EIFFEL_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic bool IsEiffelComment(Accessor &styler, Sci_Position pos, Sci_Position len) {\n\treturn len>1 && styler[pos]=='-' && styler[pos+1]=='-';\n}\n\nstatic void FoldEiffelDocIndent(Sci_PositionU startPos, Sci_Position length, int,\n\t\t\t\t\t\t   WordList *[], Accessor &styler) {\n\tSci_Position lengthDoc = startPos + length;\n\n\t// Backtrack to previous line in case need to fix its fold status\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0) {\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t}\n\tint spaceFlags = 0;\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsEiffelComment);\n\tchar chNext = styler[startPos];\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n') || (i == lengthDoc)) {\n\t\t\tint lev = indentCurrent;\n\t\t\tint indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsEiffelComment);\n\t\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\t\t// Only non whitespace lines can be headers\n\t\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t} else if (indentNext & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\t// Line after is blank so check the next - maybe should continue further?\n\t\t\t\t\tint spaceFlags2 = 0;\n\t\t\t\t\tint indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsEiffelComment);\n\t\t\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tindentCurrent = indentNext;\n\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\tlineCurrent++;\n\t\t}\n\t}\n}\n\nstatic void FoldEiffelDocKeyWords(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],\n                       Accessor &styler) {\n\tSci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint stylePrev = 0;\n\tint styleNext = styler.StyleAt(startPos);\n\t// lastDeferred should be determined by looking back to last keyword in case\n\t// the \"deferred\" is on a line before \"class\"\n\tbool lastDeferred = false;\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif ((stylePrev != SCE_EIFFEL_WORD) && (style == SCE_EIFFEL_WORD)) {\n\t\t\tchar s[20];\n\t\t\tSci_PositionU j = 0;\n\t\t\twhile ((j < (sizeof(s) - 1)) && (iswordchar(styler[i + j]))) {\n\t\t\t\ts[j] = styler[i + j];\n\t\t\t\tj++;\n\t\t\t}\n\t\t\ts[j] = '\\0';\n\n\t\t\tif (\n\t\t\t\t(strcmp(s, \"check\") == 0) ||\n\t\t\t\t(strcmp(s, \"debug\") == 0) ||\n\t\t\t\t(strcmp(s, \"deferred\") == 0) ||\n\t\t\t\t(strcmp(s, \"do\") == 0) ||\n\t\t\t\t(strcmp(s, \"from\") == 0) ||\n\t\t\t\t(strcmp(s, \"if\") == 0) ||\n\t\t\t\t(strcmp(s, \"inspect\") == 0) ||\n\t\t\t\t(strcmp(s, \"once\") == 0)\n\t\t\t)\n\t\t\t\tlevelCurrent++;\n\t\t\tif (!lastDeferred && (strcmp(s, \"class\") == 0))\n\t\t\t\tlevelCurrent++;\n\t\t\tif (strcmp(s, \"end\") == 0)\n\t\t\t\tlevelCurrent--;\n\t\t\tlastDeferred = strcmp(s, \"deferred\") == 0;\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t\tstylePrev = style;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const eiffelWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmEiffel(SCLEX_EIFFEL, ColouriseEiffelDoc, \"eiffel\", FoldEiffelDocIndent, eiffelWordListDesc);\nLexerModule lmEiffelkw(SCLEX_EIFFELKW, ColouriseEiffelDoc, \"eiffelkw\", FoldEiffelDocKeyWords, eiffelWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexErlang.cpp",
    "content": "// Scintilla source code edit control\n// Encoding: UTF-8\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n/** @file LexErlang.cxx\n ** Lexer for Erlang.\n ** Enhanced by Etienne 'Lenain' Girondel (lenaing@gmail.com)\n ** Originally wrote by Peter-Henry Mander,\n ** based on Matlab lexer by José Fonseca.\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic int is_radix(int radix, int ch) {\n\tint digit;\n\n\tif (36 < radix || 2 > radix)\n\t\treturn 0;\n\n\tif (isdigit(ch)) {\n\t\tdigit = ch - '0';\n\t} else if (isalnum(ch)) {\n\t\tdigit = toupper(ch) - 'A' + 10;\n\t} else {\n\t\treturn 0;\n\t}\n\n\treturn (digit < radix);\n}\n\ntypedef enum {\n\tSTATE_NULL,\n\tCOMMENT,\n\tCOMMENT_FUNCTION,\n\tCOMMENT_MODULE,\n\tCOMMENT_DOC,\n\tCOMMENT_DOC_MACRO,\n\tATOM_UNQUOTED,\n\tATOM_QUOTED,\n\tNODE_NAME_UNQUOTED,\n\tNODE_NAME_QUOTED,\n\tMACRO_START,\n\tMACRO_UNQUOTED,\n\tMACRO_QUOTED,\n\tRECORD_START,\n\tRECORD_UNQUOTED,\n\tRECORD_QUOTED,\n\tNUMERAL_START,\n\tNUMERAL_BASE_VALUE,\n\tNUMERAL_FLOAT,\n\tNUMERAL_EXPONENT,\n\tPREPROCESSOR\n} atom_parse_state_t;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (ch != ' ') && (isalnum(ch) || ch == '_');\n}\n\nstatic void ColouriseErlangDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t\t\t\tWordList *keywordlists[], Accessor &styler) {\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tWordList &reservedWords = *keywordlists[0];\n\tWordList &erlangBIFs = *keywordlists[1];\n\tWordList &erlangPreproc = *keywordlists[2];\n\tWordList &erlangModulesAtt = *keywordlists[3];\n\tWordList &erlangDoc = *keywordlists[4];\n\tWordList &erlangDocMacro = *keywordlists[5];\n\tint radix_digits = 0;\n\tint exponent_digits = 0;\n\tatom_parse_state_t parse_state = STATE_NULL;\n\tatom_parse_state_t old_parse_state = STATE_NULL;\n\tbool to_late_to_comment = false;\n\tchar cur[100];\n\tint old_style = SCE_ERLANG_DEFAULT;\n\n\tstyler.StartAt(startPos);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tint style = SCE_ERLANG_DEFAULT;\n\t\tif (STATE_NULL != parse_state) {\n\n\t\t\tswitch (parse_state) {\n\n\t\t\t\tcase STATE_NULL : sc.SetState(SCE_ERLANG_DEFAULT); break;\n\n\t\t\t/* COMMENTS ------------------------------------------------------*/\n\t\t\t\tcase COMMENT : {\n\t\t\t\t\tif (sc.ch != '%') {\n\t\t\t\t\t\tto_late_to_comment = true;\n\t\t\t\t\t} else if (!to_late_to_comment && sc.ch == '%') {\n\t\t\t\t\t\t// Switch to comment level 2 (Function)\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_COMMENT_FUNCTION);\n\t\t\t\t\t\told_style = SCE_ERLANG_COMMENT_FUNCTION;\n\t\t\t\t\t\tparse_state = COMMENT_FUNCTION;\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// V--- Falling through!\n\t\t\t\t// Falls through.\n\t\t\t\tcase COMMENT_FUNCTION : {\n\t\t\t\t\tif (sc.ch != '%') {\n\t\t\t\t\t\tto_late_to_comment = true;\n\t\t\t\t\t} else if (!to_late_to_comment && sc.ch == '%') {\n\t\t\t\t\t\t// Switch to comment level 3 (Module)\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_COMMENT_MODULE);\n\t\t\t\t\t\told_style = SCE_ERLANG_COMMENT_MODULE;\n\t\t\t\t\t\tparse_state = COMMENT_MODULE;\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// V--- Falling through!\n\t\t\t\t// Falls through.\n\t\t\t\tcase COMMENT_MODULE : {\n\t\t\t\t\tif (parse_state != COMMENT) {\n\t\t\t\t\t\t// Search for comment documentation\n\t\t\t\t\t\tif (sc.chNext == '@') {\n\t\t\t\t\t\t\told_parse_state = parse_state;\n\t\t\t\t\t\t\tparse_state = ('{' == sc.ch)\n\t\t\t\t\t\t\t\t\t\t\t? COMMENT_DOC_MACRO\n\t\t\t\t\t\t\t\t\t\t\t: COMMENT_DOC;\n\t\t\t\t\t\t\tsc.ForwardSetState(sc.state);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// All comments types fall here.\n\t\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\t\tto_late_to_comment = false;\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase COMMENT_DOC :\n\t\t\t\t// V--- Falling through!\n\t\t\t\tcase COMMENT_DOC_MACRO : {\n\n\t\t\t\t\tif (!isalnum(sc.ch)) {\n\t\t\t\t\t\t// Try to match documentation comment\n\t\t\t\t\t\tsc.GetCurrent(cur, sizeof(cur));\n\n\t\t\t\t\t\tif (parse_state == COMMENT_DOC_MACRO\n\t\t\t\t\t\t\t&& erlangDocMacro.InList(cur)) {\n\t\t\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_COMMENT_DOC_MACRO);\n\t\t\t\t\t\t\t\twhile (sc.ch != '}' && !sc.atLineEnd)\n\t\t\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t} else if (erlangDoc.InList(cur)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_COMMENT_DOC);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.ChangeState(old_style);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Switch back to old state\n\t\t\t\t\t\tsc.SetState(old_style);\n\t\t\t\t\t\tparse_state = old_parse_state;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\t\tto_late_to_comment = false;\n\t\t\t\t\t\tsc.ChangeState(old_style);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* -------------------------------------------------------------- */\n\t\t\t/* Atoms ---------------------------------------------------------*/\n\t\t\t\tcase ATOM_UNQUOTED : {\n\t\t\t\t\tif ('@' == sc.ch){\n\t\t\t\t\t\tparse_state = NODE_NAME_UNQUOTED;\n\t\t\t\t\t} else if (sc.ch == ':') {\n\t\t\t\t\t\t// Searching for module name\n\t\t\t\t\t\tif (sc.chNext == ' ') {\n\t\t\t\t\t\t\t// error\n\t\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\tif (isalnum(sc.ch))  {\n\t\t\t\t\t\t\t\tsc.GetCurrent(cur, sizeof(cur));\n\t\t\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_MODULES);\n\t\t\t\t\t\t\t\tsc.SetState(SCE_ERLANG_MODULES);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (!IsAWordChar(sc.ch)) {\n\n\t\t\t\t\t\tsc.GetCurrent(cur, sizeof(cur));\n\t\t\t\t\t\tif (reservedWords.InList(cur)) {\n\t\t\t\t\t\t\tstyle = SCE_ERLANG_KEYWORD;\n\t\t\t\t\t\t} else if (erlangBIFs.InList(cur)\n\t\t\t\t\t\t\t\t\t&& strcmp(cur,\"erlang:\")){\n\t\t\t\t\t\t\tstyle = SCE_ERLANG_BIFS;\n\t\t\t\t\t\t} else if (sc.ch == '(' || '/' == sc.ch){\n\t\t\t\t\t\t\tstyle = SCE_ERLANG_FUNCTION_NAME;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstyle = SCE_ERLANG_ATOM;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsc.ChangeState(style);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\n\t\t\t\t} break;\n\n\t\t\t\tcase ATOM_QUOTED : {\n\t\t\t\t\tif ( '@' == sc.ch ){\n\t\t\t\t\t\tparse_state = NODE_NAME_QUOTED;\n\t\t\t\t\t} else if ('\\'' == sc.ch && '\\\\' != sc.chPrev) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_ATOM);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* -------------------------------------------------------------- */\n\t\t\t/* Node names ----------------------------------------------------*/\n\t\t\t\tcase NODE_NAME_UNQUOTED : {\n\t\t\t\t\tif ('@' == sc.ch) {\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t} else if (!IsAWordChar(sc.ch)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_NODE_NAME);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase NODE_NAME_QUOTED : {\n\t\t\t\t\tif ('@' == sc.ch) {\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t} else if ('\\'' == sc.ch && '\\\\' != sc.chPrev) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_NODE_NAME_QUOTED);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* -------------------------------------------------------------- */\n\t\t\t/* Records -------------------------------------------------------*/\n\t\t\t\tcase RECORD_START : {\n\t\t\t\t\tif ('\\'' == sc.ch) {\n\t\t\t\t\t\tparse_state = RECORD_QUOTED;\n\t\t\t\t\t} else if (isalpha(sc.ch) && islower(sc.ch)) {\n\t\t\t\t\t\tparse_state = RECORD_UNQUOTED;\n\t\t\t\t\t} else { // error\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase RECORD_UNQUOTED : {\n\t\t\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_RECORD);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase RECORD_QUOTED : {\n\t\t\t\t\tif ('\\'' == sc.ch && '\\\\' != sc.chPrev) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_RECORD_QUOTED);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* -------------------------------------------------------------- */\n\t\t\t/* Macros --------------------------------------------------------*/\n\t\t\t\tcase MACRO_START : {\n\t\t\t\t\tif ('\\'' == sc.ch) {\n\t\t\t\t\t\tparse_state = MACRO_QUOTED;\n\t\t\t\t\t} else if (isalpha(sc.ch)) {\n\t\t\t\t\t\tparse_state = MACRO_UNQUOTED;\n\t\t\t\t\t} else { // error\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase MACRO_UNQUOTED : {\n\t\t\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_MACRO);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase MACRO_QUOTED : {\n\t\t\t\t\tif ('\\'' == sc.ch && '\\\\' != sc.chPrev) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_MACRO_QUOTED);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* -------------------------------------------------------------- */\n\t\t\t/* Numerics ------------------------------------------------------*/\n\t\t\t/* Simple integer */\n\t\t\t\tcase NUMERAL_START : {\n\t\t\t\t\tif (isdigit(sc.ch)) {\n\t\t\t\t\t\tradix_digits *= 10;\n\t\t\t\t\t\tradix_digits += sc.ch - '0'; // Assuming ASCII here!\n\t\t\t\t\t} else if ('#' == sc.ch) {\n\t\t\t\t\t\tif (2 > radix_digits || 36 < radix_digits) {\n\t\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tparse_state = NUMERAL_BASE_VALUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ('.' == sc.ch && isdigit(sc.chNext)) {\n\t\t\t\t\t\tradix_digits = 0;\n\t\t\t\t\t\tparse_state = NUMERAL_FLOAT;\n\t\t\t\t\t} else if ('e' == sc.ch || 'E' == sc.ch) {\n\t\t\t\t\t\texponent_digits = 0;\n\t\t\t\t\t\tparse_state = NUMERAL_EXPONENT;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tradix_digits = 0;\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_NUMBER);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* Integer in other base than 10 (x#yyy) */\n\t\t\t\tcase NUMERAL_BASE_VALUE : {\n\t\t\t\t\tif (!is_radix(radix_digits,sc.ch)) {\n\t\t\t\t\t\tradix_digits = 0;\n\n\t\t\t\t\t\tif (!isalnum(sc.ch))\n\t\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_NUMBER);\n\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* Float (x.yyy) */\n\t\t\t\tcase NUMERAL_FLOAT : {\n\t\t\t\t\tif ('e' == sc.ch || 'E' == sc.ch) {\n\t\t\t\t\t\texponent_digits = 0;\n\t\t\t\t\t\tparse_state = NUMERAL_EXPONENT;\n\t\t\t\t\t} else if (!isdigit(sc.ch)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_NUMBER);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* Exponent, either integer or float (xEyy, x.yyEzzz) */\n\t\t\t\tcase NUMERAL_EXPONENT : {\n\t\t\t\t\tif (('-' == sc.ch || '+' == sc.ch)\n\t\t\t\t\t\t\t&& (isdigit(sc.chNext))) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else if (!isdigit(sc.ch)) {\n\t\t\t\t\t\tif (0 < exponent_digits)\n\t\t\t\t\t\t\tsc.ChangeState(SCE_ERLANG_NUMBER);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t++exponent_digits;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t/* -------------------------------------------------------------- */\n\t\t\t/* Preprocessor --------------------------------------------------*/\n\t\t\t\tcase PREPROCESSOR : {\n\t\t\t\t\tif (!IsAWordChar(sc.ch)) {\n\n\t\t\t\t\t\tsc.GetCurrent(cur, sizeof(cur));\n\t\t\t\t\t\tif (erlangPreproc.InList(cur)) {\n\t\t\t\t\t\t\tstyle = SCE_ERLANG_PREPROC;\n\t\t\t\t\t\t} else if (erlangModulesAtt.InList(cur)) {\n\t\t\t\t\t\t\tstyle = SCE_ERLANG_MODULES_ATT;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsc.ChangeState(style);\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\tparse_state = STATE_NULL;\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t}\n\n\t\t} /* End of : STATE_NULL != parse_state */\n\t\telse\n\t\t{\n\t\t\tswitch (sc.state) {\n\t\t\t\tcase SCE_ERLANG_VARIABLE : {\n\t\t\t\t\tif (!IsAWordChar(sc.ch))\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t} break;\n\t\t\t\tcase SCE_ERLANG_STRING : {\n\t\t\t\t\t if (sc.ch == '\\\"' && sc.chPrev != '\\\\')\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t} break;\n\t\t\t\tcase SCE_ERLANG_COMMENT : {\n\t\t\t\t\t if (sc.atLineEnd)\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t} break;\n\t\t\t\tcase SCE_ERLANG_CHARACTER : {\n\t\t\t\t\tif (sc.chPrev == '\\\\') {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t} else if (sc.ch != '\\\\') {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase SCE_ERLANG_OPERATOR : {\n\t\t\t\t\tif (sc.chPrev == '.') {\n\t\t\t\t\t\tif (sc.ch == '*' || sc.ch == '/' || sc.ch == '\\\\'\n\t\t\t\t\t\t\t|| sc.ch == '^') {\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t}\n\t\t}\n\n\t\tif (sc.state == SCE_ERLANG_DEFAULT) {\n\t\t\tbool no_new_state = false;\n\n\t\t\tswitch (sc.ch) {\n\t\t\t\tcase '\\\"' : sc.SetState(SCE_ERLANG_STRING); break;\n\t\t\t\tcase '$' : sc.SetState(SCE_ERLANG_CHARACTER); break;\n\t\t\t\tcase '%' : {\n\t\t\t\t\tparse_state = COMMENT;\n\t\t\t\t\tsc.SetState(SCE_ERLANG_COMMENT);\n\t\t\t\t} break;\n\t\t\t\tcase '#' : {\n\t\t\t\t\tparse_state = RECORD_START;\n\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t} break;\n\t\t\t\tcase '?' : {\n\t\t\t\t\tparse_state = MACRO_START;\n\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t} break;\n\t\t\t\tcase '\\'' : {\n\t\t\t\t\tparse_state = ATOM_QUOTED;\n\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t} break;\n\t\t\t\tcase '+' :\n\t\t\t\tcase '-' : {\n\t\t\t\t\tif (IsADigit(sc.chNext)) {\n\t\t\t\t\t\tparse_state = NUMERAL_START;\n\t\t\t\t\t\tradix_digits = 0;\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t\t} else if (sc.ch != '+') {\n\t\t\t\t\t\tparse_state = PREPROCESSOR;\n\t\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tdefault : no_new_state = true;\n\t\t\t}\n\n\t\t\tif (no_new_state) {\n\t\t\t\tif (isdigit(sc.ch)) {\n\t\t\t\t\tparse_state = NUMERAL_START;\n\t\t\t\t\tradix_digits = sc.ch - '0';\n\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t} else if (isupper(sc.ch) || '_' == sc.ch) {\n\t\t\t\t\tsc.SetState(SCE_ERLANG_VARIABLE);\n\t\t\t\t} else if (isalpha(sc.ch)) {\n\t\t\t\t\tparse_state = ATOM_UNQUOTED;\n\t\t\t\t\tsc.SetState(SCE_ERLANG_UNKNOWN);\n\t\t\t\t} else if (isoperator(static_cast<char>(sc.ch))\n\t\t\t\t\t\t\t|| sc.ch == '\\\\') {\n\t\t\t\t\tsc.SetState(SCE_ERLANG_OPERATOR);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\tsc.Complete();\n}\n\nstatic int ClassifyErlangFoldPoint(\n\tAccessor &styler,\n\tint styleNext,\n\tSci_Position keyword_start\n) {\n\tint lev = 0;\n\tif (styler.Match(keyword_start,\"case\")\n\t\t|| (\n\t\t\tstyler.Match(keyword_start,\"fun\")\n\t\t\t&& (SCE_ERLANG_FUNCTION_NAME != styleNext)\n\t\t\t)\n\t\t|| styler.Match(keyword_start,\"if\")\n\t\t|| styler.Match(keyword_start,\"query\")\n\t\t|| styler.Match(keyword_start,\"receive\")\n\t) {\n\t\t++lev;\n\t} else if (styler.Match(keyword_start,\"end\")) {\n\t\t--lev;\n\t}\n\n\treturn lev;\n}\n\nstatic void FoldErlangDoc(\n\tSci_PositionU startPos, Sci_Position length, int initStyle,\n\tWordList** /*keywordlists*/, Accessor &styler\n) {\n\tSci_PositionU endPos = startPos + length;\n\tSci_Position currentLine = styler.GetLine(startPos);\n\tint lev;\n\tint previousLevel = styler.LevelAt(currentLine) & SC_FOLDLEVELNUMBERMASK;\n\tint currentLevel = previousLevel;\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tint stylePrev;\n\tSci_Position keyword_start = 0;\n\tchar ch;\n\tchar chNext = styler.SafeGetCharAt(startPos);\n\tbool atEOL;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\t// Get styles\n\t\tstylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tatEOL = ((ch == '\\r') && (chNext != '\\n')) || (ch == '\\n');\n\n\t\tif (stylePrev != SCE_ERLANG_KEYWORD\n\t\t\t&& style == SCE_ERLANG_KEYWORD) {\n\t\t\tkeyword_start = i;\n\t\t}\n\n\t\t// Fold on keywords\n\t\tif (stylePrev == SCE_ERLANG_KEYWORD\n\t\t\t&& style != SCE_ERLANG_KEYWORD\n\t\t\t&& style != SCE_ERLANG_ATOM\n\t\t) {\n\t\t\tcurrentLevel += ClassifyErlangFoldPoint(styler,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyleNext,\n\t\t\t\t\t\t\t\t\t\t\t\t\tkeyword_start);\n\t\t}\n\n\t\t// Fold on comments\n\t\tif (style == SCE_ERLANG_COMMENT\n\t\t\t|| style == SCE_ERLANG_COMMENT_MODULE\n\t\t\t|| style == SCE_ERLANG_COMMENT_FUNCTION) {\n\n\t\t\tif (ch == '%' && chNext == '{') {\n\t\t\t\tcurrentLevel++;\n\t\t\t} else if (ch == '%' && chNext == '}') {\n\t\t\t\tcurrentLevel--;\n\t\t\t}\n\t\t}\n\n\t\t// Fold on braces\n\t\tif (style == SCE_ERLANG_OPERATOR) {\n\t\t\tif (ch == '{' || ch == '(' || ch == '[') {\n\t\t\t\tcurrentLevel++;\n\t\t\t} else if (ch == '}' || ch == ')' || ch == ']') {\n\t\t\t\tcurrentLevel--;\n\t\t\t}\n\t\t}\n\n\n\t\tif (atEOL) {\n\t\t\tlev = previousLevel;\n\n\t\t\tif (currentLevel > previousLevel)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\n\t\t\tif (lev != styler.LevelAt(currentLine))\n\t\t\t\tstyler.SetLevel(currentLine, lev);\n\n\t\t\tcurrentLine++;\n\t\t\tpreviousLevel = currentLevel;\n\t\t}\n\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tstyler.SetLevel(currentLine,\n\t\t\t\t\tpreviousLevel\n\t\t\t\t\t| (styler.LevelAt(currentLine) & ~SC_FOLDLEVELNUMBERMASK));\n}\n\nstatic const char * const erlangWordListDesc[] = {\n\t\"Erlang Reserved words\",\n\t\"Erlang BIFs\",\n\t\"Erlang Preprocessor\",\n\t\"Erlang Module Attributes\",\n\t\"Erlang Documentation\",\n\t\"Erlang Documentation Macro\",\n\t0\n};\n\nLexerModule lmErlang(\n\tSCLEX_ERLANG,\n\tColouriseErlangDoc,\n\t\"erlang\",\n\tFoldErlangDoc,\n\terlangWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexErrorList.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexErrorList.cxx\n ** Lexer for error lists. Used for the output pane in SciTE.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic bool strstart(const char *haystack, const char *needle) {\n\treturn strncmp(haystack, needle, strlen(needle)) == 0;\n}\n\nstatic bool Is0To9(char ch) {\n\treturn (ch >= '0') && (ch <= '9');\n}\n\nstatic bool Is1To9(char ch) {\n\treturn (ch >= '1') && (ch <= '9');\n}\n\nstatic bool IsAlphabetic(int ch) {\n\treturn IsASCII(ch) && isalpha(ch);\n}\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') ||\n\t       ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\nstatic int RecogniseErrorListLine(const char *lineBuffer, Sci_PositionU lengthLine, Sci_Position &startValue) {\n\tif (lineBuffer[0] == '>') {\n\t\t// Command or return status\n\t\treturn SCE_ERR_CMD;\n\t} else if (lineBuffer[0] == '<') {\n\t\t// Diff removal.\n\t\treturn SCE_ERR_DIFF_DELETION;\n\t} else if (lineBuffer[0] == '!') {\n\t\treturn SCE_ERR_DIFF_CHANGED;\n\t} else if (lineBuffer[0] == '+') {\n\t\tif (strstart(lineBuffer, \"+++ \")) {\n\t\t\treturn SCE_ERR_DIFF_MESSAGE;\n\t\t} else {\n\t\t\treturn SCE_ERR_DIFF_ADDITION;\n\t\t}\n\t} else if (lineBuffer[0] == '-') {\n\t\tif (strstart(lineBuffer, \"--- \")) {\n\t\t\treturn SCE_ERR_DIFF_MESSAGE;\n\t\t} else {\n\t\t\treturn SCE_ERR_DIFF_DELETION;\n\t\t}\n\t} else if (strstart(lineBuffer, \"cf90-\")) {\n\t\t// Absoft Pro Fortran 90/95 v8.2 error and/or warning message\n\t\treturn SCE_ERR_ABSF;\n\t} else if (strstart(lineBuffer, \"fortcom:\")) {\n\t\t// Intel Fortran Compiler v8.0 error/warning message\n\t\treturn SCE_ERR_IFORT;\n\t} else if (strstr(lineBuffer, \"File \\\"\") && strstr(lineBuffer, \", line \")) {\n\t\treturn SCE_ERR_PYTHON;\n\t} else if (strstr(lineBuffer, \" in \") && strstr(lineBuffer, \" on line \")) {\n\t\treturn SCE_ERR_PHP;\n\t} else if ((strstart(lineBuffer, \"Error \") ||\n\t            strstart(lineBuffer, \"Warning \")) &&\n\t           strstr(lineBuffer, \" at (\") &&\n\t           strstr(lineBuffer, \") : \") &&\n\t           (strstr(lineBuffer, \" at (\") < strstr(lineBuffer, \") : \"))) {\n\t\t// Intel Fortran Compiler error/warning message\n\t\treturn SCE_ERR_IFC;\n\t} else if (strstart(lineBuffer, \"Error \")) {\n\t\t// Borland error message\n\t\treturn SCE_ERR_BORLAND;\n\t} else if (strstart(lineBuffer, \"Warning \")) {\n\t\t// Borland warning message\n\t\treturn SCE_ERR_BORLAND;\n\t} else if (strstr(lineBuffer, \"at line \") &&\n\t        (strstr(lineBuffer, \"at line \") < (lineBuffer + lengthLine)) &&\n\t           strstr(lineBuffer, \"file \") &&\n\t           (strstr(lineBuffer, \"file \") < (lineBuffer + lengthLine))) {\n\t\t// Lua 4 error message\n\t\treturn SCE_ERR_LUA;\n\t} else if (strstr(lineBuffer, \" at \") &&\n\t        (strstr(lineBuffer, \" at \") < (lineBuffer + lengthLine)) &&\n\t           strstr(lineBuffer, \" line \") &&\n\t           (strstr(lineBuffer, \" line \") < (lineBuffer + lengthLine)) &&\n\t        (strstr(lineBuffer, \" at \") + 4 < (strstr(lineBuffer, \" line \")))) {\n\t\t// perl error message:\n\t\t// <message> at <file> line <line>\n\t\treturn SCE_ERR_PERL;\n\t} else if ((lengthLine >= 6) &&\n\t           (memcmp(lineBuffer, \"   at \", 6) == 0) &&\n\t           strstr(lineBuffer, \":line \")) {\n\t\t// A .NET traceback\n\t\treturn SCE_ERR_NET;\n\t} else if (strstart(lineBuffer, \"Line \") &&\n\t           strstr(lineBuffer, \", file \")) {\n\t\t// Essential Lahey Fortran error message\n\t\treturn SCE_ERR_ELF;\n\t} else if (strstart(lineBuffer, \"line \") &&\n\t           strstr(lineBuffer, \" column \")) {\n\t\t// HTML tidy style: line 42 column 1\n\t\treturn SCE_ERR_TIDY;\n\t} else if (strstart(lineBuffer, \"\\tat \") &&\n\t           strstr(lineBuffer, \"(\") &&\n\t           strstr(lineBuffer, \".java:\")) {\n\t\t// Java stack back trace\n\t\treturn SCE_ERR_JAVA_STACK;\n\t} else if (strstart(lineBuffer, \"In file included from \") ||\n\t           strstart(lineBuffer, \"                 from \")) {\n\t\t// GCC showing include path to following error\n\t\treturn SCE_ERR_GCC_INCLUDED_FROM;\n\t} else if (strstr(lineBuffer, \"warning LNK\")) {\n\t\t// Microsoft linker warning:\n\t\t// {<object> : } warning LNK9999\n\t\treturn SCE_ERR_MS;\n\t} else {\n\t\t// Look for one of the following formats:\n\t\t// GCC: <filename>:<line>:<message>\n\t\t// Microsoft: <filename>(<line>) :<message>\n\t\t// Common: <filename>(<line>): warning|error|note|remark|catastrophic|fatal\n\t\t// Common: <filename>(<line>) warning|error|note|remark|catastrophic|fatal\n\t\t// Microsoft: <filename>(<line>,<column>)<message>\n\t\t// CTags: <identifier>\\t<filename>\\t<message>\n\t\t// Lua 5 traceback: \\t<filename>:<line>:<message>\n\t\t// Lua 5.1: <exe>: <filename>:<line>:<message>\n\t\tconst bool initialTab = (lineBuffer[0] == '\\t');\n\t\tbool initialColonPart = false;\n\t\tbool canBeCtags = !initialTab;\t// For ctags must have an identifier with no spaces then a tab\n\t\tenum { stInitial,\n\t\t\tstGccStart, stGccDigit, stGccColumn, stGcc,\n\t\t\tstMsStart, stMsDigit, stMsBracket, stMsVc, stMsDigitComma, stMsDotNet,\n\t\t\tstCtagsStart, stCtagsFile, stCtagsStartString, stCtagsStringDollar, stCtags,\n\t\t\tstUnrecognized\n\t\t} state = stInitial;\n\t\tfor (Sci_PositionU i = 0; i < lengthLine; i++) {\n\t\t\tconst char ch = lineBuffer[i];\n\t\t\tchar chNext = ' ';\n\t\t\tif ((i + 1) < lengthLine)\n\t\t\t\tchNext = lineBuffer[i + 1];\n\t\t\tif (state == stInitial) {\n\t\t\t\tif (ch == ':') {\n\t\t\t\t\t// May be GCC, or might be Lua 5 (Lua traceback same but with tab prefix)\n\t\t\t\t\tif ((chNext != '\\\\') && (chNext != '/') && (chNext != ' ')) {\n\t\t\t\t\t\t// This check is not completely accurate as may be on\n\t\t\t\t\t\t// GTK+ with a file name that includes ':'.\n\t\t\t\t\t\tstate = stGccStart;\n\t\t\t\t\t} else if (chNext == ' ') { // indicates a Lua 5.1 error message\n\t\t\t\t\t\tinitialColonPart = true;\n\t\t\t\t\t}\n\t\t\t\t} else if ((ch == '(') && Is1To9(chNext) && (!initialTab)) {\n\t\t\t\t\t// May be Microsoft\n\t\t\t\t\t// Check against '0' often removes phone numbers\n\t\t\t\t\tstate = stMsStart;\n\t\t\t\t} else if ((ch == '\\t') && canBeCtags) {\n\t\t\t\t\t// May be CTags\n\t\t\t\t\tstate = stCtagsStart;\n\t\t\t\t} else if (ch == ' ') {\n\t\t\t\t\tcanBeCtags = false;\n\t\t\t\t}\n\t\t\t} else if (state == stGccStart) {\t// <filename>:\n\t\t\t\tstate = Is0To9(ch) ? stGccDigit : stUnrecognized;\n\t\t\t} else if (state == stGccDigit) {\t// <filename>:<line>\n\t\t\t\tif (ch == ':') {\n\t\t\t\t\tstate = stGccColumn;\t// :9.*: is GCC\n\t\t\t\t\tstartValue = i + 1;\n\t\t\t\t} else if (!Is0To9(ch)) {\n\t\t\t\t\tstate = stUnrecognized;\n\t\t\t\t}\n\t\t\t} else if (state == stGccColumn) {\t// <filename>:<line>:<column>\n\t\t\t\tif (!Is0To9(ch)) {\n\t\t\t\t\tstate = stGcc;\n\t\t\t\t\tif (ch == ':')\n\t\t\t\t\t\tstartValue = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (state == stMsStart) {\t// <filename>(\n\t\t\t\tstate = Is0To9(ch) ? stMsDigit : stUnrecognized;\n\t\t\t} else if (state == stMsDigit) {\t// <filename>(<line>\n\t\t\t\tif (ch == ',') {\n\t\t\t\t\tstate = stMsDigitComma;\n\t\t\t\t} else if (ch == ')') {\n\t\t\t\t\tstate = stMsBracket;\n\t\t\t\t} else if ((ch != ' ') && !Is0To9(ch)) {\n\t\t\t\t\tstate = stUnrecognized;\n\t\t\t\t}\n\t\t\t} else if (state == stMsBracket) {\t// <filename>(<line>)\n\t\t\t\tif ((ch == ' ') && (chNext == ':')) {\n\t\t\t\t\tstate = stMsVc;\n\t\t\t\t} else if ((ch == ':' && chNext == ' ') || (ch == ' ')) {\n\t\t\t\t\t// Possibly Delphi.. don't test against chNext as it's one of the strings below.\n\t\t\t\t\tchar word[512];\n\t\t\t\t\tSci_PositionU j, chPos;\n\t\t\t\t\tunsigned numstep;\n\t\t\t\t\tchPos = 0;\n\t\t\t\t\tif (ch == ' ')\n\t\t\t\t\t\tnumstep = 1; // ch was ' ', handle as if it's a delphi errorline, only add 1 to i.\n\t\t\t\t\telse\n\t\t\t\t\t\tnumstep = 2; // otherwise add 2.\n\t\t\t\t\tfor (j = i + numstep; j < lengthLine && IsAlphabetic(lineBuffer[j]) && chPos < sizeof(word) - 1; j++)\n\t\t\t\t\t\tword[chPos++] = lineBuffer[j];\n\t\t\t\t\tword[chPos] = 0;\n\t\t\t\t\tif (!CompareCaseInsensitive(word, \"error\") || !CompareCaseInsensitive(word, \"warning\") ||\n\t\t\t\t\t\t!CompareCaseInsensitive(word, \"fatal\") || !CompareCaseInsensitive(word, \"catastrophic\") ||\n\t\t\t\t\t\t!CompareCaseInsensitive(word, \"note\") || !CompareCaseInsensitive(word, \"remark\")) {\n\t\t\t\t\t\tstate = stMsVc;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = stUnrecognized;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tstate = stUnrecognized;\n\t\t\t\t}\n\t\t\t} else if (state == stMsDigitComma) {\t// <filename>(<line>,\n\t\t\t\tif (ch == ')') {\n\t\t\t\t\tstate = stMsDotNet;\n\t\t\t\t\tbreak;\n\t\t\t\t} else if ((ch != ' ') && !Is0To9(ch)) {\n\t\t\t\t\tstate = stUnrecognized;\n\t\t\t\t}\n\t\t\t} else if (state == stCtagsStart) {\n\t\t\t\tif (ch == '\\t') {\n\t\t\t\t\tstate = stCtagsFile;\n\t\t\t\t}\n\t\t\t} else if (state == stCtagsFile) {\n\t\t\t\tif ((lineBuffer[i - 1] == '\\t') &&\n\t\t\t\t        ((ch == '/' && chNext == '^') || Is0To9(ch))) {\n\t\t\t\t\tstate = stCtags;\n\t\t\t\t\tbreak;\n\t\t\t\t} else if ((ch == '/') && (chNext == '^')) {\n\t\t\t\t\tstate = stCtagsStartString;\n\t\t\t\t}\n\t\t\t} else if ((state == stCtagsStartString) && ((lineBuffer[i] == '$') && (lineBuffer[i + 1] == '/'))) {\n\t\t\t\tstate = stCtagsStringDollar;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (state == stGcc) {\n\t\t\treturn initialColonPart ? SCE_ERR_LUA : SCE_ERR_GCC;\n\t\t} else if ((state == stMsVc) || (state == stMsDotNet)) {\n\t\t\treturn SCE_ERR_MS;\n\t\t} else if ((state == stCtagsStringDollar) || (state == stCtags)) {\n\t\t\treturn SCE_ERR_CTAG;\n\t\t} else if (initialColonPart && strstr(lineBuffer, \": warning C\")) {\n\t\t\t// Microsoft warning without line number\n\t\t\t// <filename>: warning C9999\n\t\t\treturn SCE_ERR_MS;\n\t\t} else {\n\t\t\treturn SCE_ERR_DEFAULT;\n\t\t}\n\t}\n}\n\n#define CSI \"\\033[\"\n\nnamespace {\n\nbool SequenceEnd(int ch) {\n\treturn (ch == 0) || ((ch >= '@') && (ch <= '~'));\n}\n\nint StyleFromSequence(const char *seq) {\n\tint bold = 0;\n\tint colour = 0;\n\twhile (!SequenceEnd(*seq)) {\n\t\tif (Is0To9(*seq)) {\n\t\t\tint base = *seq - '0';\n\t\t\tif (Is0To9(seq[1])) {\n\t\t\t\tbase = base * 10;\n\t\t\t\tbase += seq[1] - '0';\n\t\t\t\tseq++;\n\t\t\t}\n\t\t\tif (base == 0) {\n\t\t\t\tcolour = 0;\n\t\t\t\tbold = 0;\n\t\t\t}\n\t\t\telse if (base == 1) {\n\t\t\t\tbold = 1;\n\t\t\t}\n\t\t\telse if (base >= 30 && base <= 37) {\n\t\t\t\tcolour = base - 30;\n\t\t\t}\n\t\t}\n\t\tseq++;\n\t}\n\treturn SCE_ERR_ES_BLACK + bold * 8 + colour;\n}\n\n}\n\nstatic void ColouriseErrorListLine(\n    char *lineBuffer,\n    Sci_PositionU lengthLine,\n    Sci_PositionU endPos,\n    Accessor &styler,\n\tbool valueSeparate,\n\tbool escapeSequences) {\n\tSci_Position startValue = -1;\n\tint style = RecogniseErrorListLine(lineBuffer, lengthLine, startValue);\n\tif (escapeSequences && strstr(lineBuffer, CSI)) {\n\t\tconst Sci_Position startPos = endPos - lengthLine;\n\t\tconst char *linePortion = lineBuffer;\n\t\tSci_Position startPortion = startPos;\n\t\tint portionStyle = style;\n\t\twhile (const char *startSeq = strstr(linePortion, CSI)) {\n\t\t\tif (startSeq > linePortion) {\n\t\t\t\tstyler.ColourTo(startPortion + static_cast<int>(startSeq - linePortion), portionStyle);\n\t\t\t}\n\t\t\tconst char *endSeq = startSeq + 2;\n\t\t\twhile (!SequenceEnd(*endSeq))\n\t\t\t\tendSeq++;\n\t\t\tconst Sci_Position endSeqPosition = startPortion + static_cast<Sci_Position>(endSeq - linePortion) + 1;\n\t\t\tswitch (*endSeq) {\n\t\t\tcase 0:\n\t\t\t\tstyler.ColourTo(endPos, SCE_ERR_ESCSEQ_UNKNOWN);\n\t\t\t\treturn;\n\t\t\tcase 'm':\t// Colour command\n\t\t\t\tstyler.ColourTo(endSeqPosition, SCE_ERR_ESCSEQ);\n\t\t\t\tportionStyle = StyleFromSequence(startSeq+2);\n\t\t\t\tbreak;\n\t\t\tcase 'K':\t// Erase to end of line -> ignore\n\t\t\t\tstyler.ColourTo(endSeqPosition, SCE_ERR_ESCSEQ);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstyler.ColourTo(endSeqPosition, SCE_ERR_ESCSEQ_UNKNOWN);\n\t\t\t\tportionStyle = style;\n\t\t\t}\n\t\t\tstartPortion = endSeqPosition;\n\t\t\tlinePortion = endSeq + 1;\n\t\t}\n\t\tstyler.ColourTo(endPos, portionStyle);\n\t} else {\n\t\tif (valueSeparate && (startValue >= 0)) {\n\t\t\tstyler.ColourTo(endPos - (lengthLine - startValue), style);\n\t\t\tstyler.ColourTo(endPos, SCE_ERR_VALUE);\n\t\t} else {\n\t\t\tstyler.ColourTo(endPos, style);\n\t\t}\n\t}\n}\n\nstatic void ColouriseErrorListDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tchar lineBuffer[10000];\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\n\t// property lexer.errorlist.value.separate\n\t//\tFor lines in the output pane that are matches from Find in Files or GCC-style\n\t//\tdiagnostics, style the path and line number separately from the rest of the\n\t//\tline with style 21 used for the rest of the line.\n\t//\tThis allows matched text to be more easily distinguished from its location.\n\tconst bool valueSeparate = styler.GetPropertyInt(\"lexer.errorlist.value.separate\", 0) != 0;\n\n\t// property lexer.errorlist.escape.sequences\n\t//\tSet to 1 to interpret escape sequences.\n\tconst bool escapeSequences = styler.GetPropertyInt(\"lexer.errorlist.escape.sequences\") != 0;\n\n\tfor (Sci_PositionU i = startPos; i < startPos + length; i++) {\n\t\tlineBuffer[linePos++] = styler[i];\n\t\tif (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n\t\t\t// End of line (or of line buffer) met, colourise it\n\t\t\tlineBuffer[linePos] = '\\0';\n\t\t\tColouriseErrorListLine(lineBuffer, linePos, i, styler, valueSeparate, escapeSequences);\n\t\t\tlinePos = 0;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tlineBuffer[linePos] = '\\0';\n\t\tColouriseErrorListLine(lineBuffer, linePos, startPos + length - 1, styler, valueSeparate, escapeSequences);\n\t}\n}\n\nstatic const char *const emptyWordListDesc[] = {\n\t0\n};\n\nLexerModule lmErrorList(SCLEX_ERRORLIST, ColouriseErrorListDoc, \"errorlist\", 0, emptyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexFlagship.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexFlagShip.cxx\n ** Lexer for Harbour and FlagShip.\n ** (Syntactically compatible to other xBase dialects, like Clipper, dBase, Clip, FoxPro etc.)\n **/\n// Copyright 2005 by Randy Butler\n// Copyright 2010 by Xavi <jarabal/at/gmail.com> (Harbour)\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Extended to accept accented characters\nstatic inline bool IsAWordChar(int ch)\n{\n\treturn ch >= 0x80 ||\n\t\t\t\t(isalnum(ch) || ch == '_');\n}\n\nstatic void ColouriseFlagShipDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                                 WordList *keywordlists[], Accessor &styler)\n{\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\tWordList &keywords5 = *keywordlists[4];\n\n\t// property lexer.flagship.styling.within.preprocessor\n\t//\tFor Harbour code, determines whether all preprocessor code is styled in the preprocessor style (0) or only from the\n\t//\tinitial # to the end of the command word(1, the default). It also determines how to present text, dump, and disabled code.\n\tbool stylingWithinPreprocessor = styler.GetPropertyInt(\"lexer.flagship.styling.within.preprocessor\", 1) != 0;\n\n\tCharacterSet setDoxygen(CharacterSet::setAlpha, \"$@\\\\&<>#{}[]\");\n\n\tint visibleChars = 0;\n\tint closeStringChar = 0;\n\tint styleBeforeDCKeyword = SCE_FS_DEFAULT;\n\tbool bEnableCode = initStyle < SCE_FS_DISABLEDCODE;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_FS_OPERATOR:\n\t\t\tcase SCE_FS_OPERATOR_C:\n\t\t\tcase SCE_FS_WORDOPERATOR:\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_IDENTIFIER:\n\t\t\tcase SCE_FS_IDENTIFIER_C:\n\t\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\t\tchar s[64];\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(bEnableCode ? SCE_FS_KEYWORD : SCE_FS_KEYWORD_C);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(bEnableCode ? SCE_FS_KEYWORD2 : SCE_FS_KEYWORD2_C);\n\t\t\t\t\t} else if (bEnableCode && keywords3.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_FS_KEYWORD3);\n\t\t\t\t\t} else if (bEnableCode && keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_FS_KEYWORD4);\n\t\t\t\t\t}// Else, it is really an identifier...\n\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_NUMBER:\n\t\t\t\tif (!IsAWordChar(sc.ch) && !(sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\t\tsc.SetState(SCE_FS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_NUMBER_C:\n\t\t\t\tif (!IsAWordChar(sc.ch) && sc.ch != '.') {\n\t\t\t\t\tsc.SetState(SCE_FS_DEFAULT_C);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_CONSTANT:\n\t\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_FS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_STRING:\n\t\t\tcase SCE_FS_STRING_C:\n\t\t\t\tif (sc.ch == closeStringChar) {\n\t\t\t\t\tsc.ForwardSetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(bEnableCode ? SCE_FS_STRINGEOL : SCE_FS_STRINGEOL_C);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_STRINGEOL:\n\t\t\tcase SCE_FS_STRINGEOL_C:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_COMMENTDOC:\n\t\t\tcase SCE_FS_COMMENTDOC_C:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = bEnableCode ? SCE_FS_COMMENTDOC : SCE_FS_COMMENTDOC_C;\n\t\t\t\t\t\tsc.SetState(SCE_FS_COMMENTDOCKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_COMMENT:\n\t\t\tcase SCE_FS_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_FS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_COMMENTLINEDOC:\n\t\t\tcase SCE_FS_COMMENTLINEDOC_C:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // JavaDoc and Doxygen support\n\t\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\t\tstyleBeforeDCKeyword = bEnableCode ? SCE_FS_COMMENTLINEDOC : SCE_FS_COMMENTLINEDOC_C;\n\t\t\t\t\t\tsc.SetState(SCE_FS_COMMENTDOCKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_COMMENTDOCKEYWORD:\n\t\t\t\tif ((styleBeforeDCKeyword == SCE_FS_COMMENTDOC || styleBeforeDCKeyword == SCE_FS_COMMENTDOC_C) &&\n\t\t\t\t\t\tsc.Match('*', '/')) {\n\t\t\t\t\tsc.ChangeState(SCE_FS_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t} else if (!setDoxygen.Contains(sc.ch)) {\n\t\t\t\t\tchar s[64];\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\tif (!IsASpace(sc.ch) || !keywords5.InList(s + 1)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_FS_COMMENTDOCKEYWORDERROR);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(styleBeforeDCKeyword);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_PREPROCESSOR:\n\t\t\tcase SCE_FS_PREPROCESSOR_C:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tif (!(sc.chPrev == ';' || sc.GetRelative(-2) == ';')) {\n\t\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t\t}\n\t\t\t\t} else if (stylingWithinPreprocessor) {\n\t\t\t\t\tif (IsASpaceOrTab(sc.ch)) {\n\t\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.Match('/', '*') || sc.Match('/', '/') || sc.Match('&', '&')) {\n\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_DISABLEDCODE:\n\t\t\t\tif (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_PREPROCESSOR : SCE_FS_PREPROCESSOR_C);\n\t\t\t\t\tdo {\t// Skip whitespace between # and preprocessor word\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} while (IsASpaceOrTab(sc.ch) && sc.More());\n\t\t\t\t\tif (sc.MatchIgnoreCase(\"pragma\")) {\n\t\t\t\t\t\tsc.Forward(6);\n\t\t\t\t\t\tdo {\t// Skip more whitespace until keyword\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t} while (IsASpaceOrTab(sc.ch) && sc.More());\n\t\t\t\t\t\tif (sc.MatchIgnoreCase(\"enddump\") || sc.MatchIgnoreCase(\"__endtext\")) {\n\t\t\t\t\t\t\tbEnableCode = true;\n\t\t\t\t\t\t\tsc.SetState(SCE_FS_DISABLEDCODE);\n\t\t\t\t\t\t\tsc.Forward(sc.ch == '_' ? 8 : 6);\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_FS_DEFAULT);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_FS_DISABLEDCODE);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ChangeState(SCE_FS_DISABLEDCODE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_FS_DATE:\n\t\t\t\tif (sc.ch == '}') {\n\t\t\t\t\tsc.ForwardSetState(SCE_FS_DEFAULT);\n\t\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_FS_STRINGEOL);\n\t\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_FS_DEFAULT || sc.state == SCE_FS_DEFAULT_C) {\n\t\t\tif (bEnableCode &&\n\t\t\t\t\t(sc.MatchIgnoreCase(\".and.\") || sc.MatchIgnoreCase(\".not.\"))) {\n\t\t\t\tsc.SetState(SCE_FS_WORDOPERATOR);\n\t\t\t\tsc.Forward(4);\n\t\t\t} else if (bEnableCode && sc.MatchIgnoreCase(\".or.\")) {\n\t\t\t\tsc.SetState(SCE_FS_WORDOPERATOR);\n\t\t\t\tsc.Forward(3);\n\t\t\t} else if (bEnableCode &&\n\t\t\t\t\t(sc.MatchIgnoreCase(\".t.\") || sc.MatchIgnoreCase(\".f.\") ||\n\t\t\t\t\t(!IsAWordChar(sc.GetRelative(3)) && sc.MatchIgnoreCase(\"nil\")))) {\n\t\t\t\tsc.SetState(SCE_FS_CONSTANT);\n\t\t\t\tsc.Forward(2);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_COMMENTDOC : SCE_FS_COMMENTDOC_C);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (bEnableCode && sc.Match('&', '&')) {\n\t\t\t\tsc.SetState(SCE_FS_COMMENTLINE);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_COMMENTLINEDOC : SCE_FS_COMMENTLINEDOC_C);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (bEnableCode && sc.ch == '*' && visibleChars == 0) {\n\t\t\t\tsc.SetState(SCE_FS_COMMENT);\n\t\t\t} else if (sc.ch == '\\\"' || sc.ch == '\\'') {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_STRING : SCE_FS_STRING_C);\n\t\t\t\tcloseStringChar = sc.ch;\n\t\t\t} else if (closeStringChar == '>' && sc.ch == '<') {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_STRING : SCE_FS_STRING_C);\n\t\t\t} else if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_PREPROCESSOR : SCE_FS_PREPROCESSOR_C);\n\t\t\t\tdo {\t// Skip whitespace between # and preprocessor word\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while (IsASpaceOrTab(sc.ch) && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C);\n\t\t\t\t} else if (sc.MatchIgnoreCase(\"include\")) {\n\t\t\t\t\tif (stylingWithinPreprocessor) {\n\t\t\t\t\t\tcloseStringChar = '>';\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.MatchIgnoreCase(\"pragma\")) {\n\t\t\t\t\tsc.Forward(6);\n\t\t\t\t\tdo {\t// Skip more whitespace until keyword\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} while (IsASpaceOrTab(sc.ch) && sc.More());\n\t\t\t\t\tif (sc.MatchIgnoreCase(\"begindump\") || sc.MatchIgnoreCase(\"__cstream\")) {\n\t\t\t\t\t\tbEnableCode = false;\n\t\t\t\t\t\tif (stylingWithinPreprocessor) {\n\t\t\t\t\t\t\tsc.SetState(SCE_FS_DISABLEDCODE);\n\t\t\t\t\t\t\tsc.Forward(8);\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_FS_DEFAULT_C);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_FS_DISABLEDCODE);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (sc.MatchIgnoreCase(\"enddump\") || sc.MatchIgnoreCase(\"__endtext\")) {\n\t\t\t\t\t\tbEnableCode = true;\n\t\t\t\t\t\tsc.SetState(SCE_FS_DISABLEDCODE);\n\t\t\t\t\t\tsc.Forward(sc.ch == '_' ? 8 : 6);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_FS_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (bEnableCode && sc.ch == '{') {\n\t\t\t\tSci_Position p = 0;\n\t\t\t\tint chSeek;\n\t\t\t\tSci_PositionU endPos(startPos + length);\n\t\t\t\tdo {\t// Skip whitespace\n\t\t\t\t\tchSeek = sc.GetRelative(++p);\n\t\t\t\t} while (IsASpaceOrTab(chSeek) && (sc.currentPos + p < endPos));\n\t\t\t\tif (chSeek == '^') {\n\t\t\t\t\tsc.SetState(SCE_FS_DATE);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_FS_OPERATOR);\n\t\t\t\t}\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_NUMBER : SCE_FS_NUMBER_C);\n\t\t\t} else if (IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_IDENTIFIER : SCE_FS_IDENTIFIER_C);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch)) || (bEnableCode && sc.ch == '@')) {\n\t\t\t\tsc.SetState(bEnableCode ? SCE_FS_OPERATOR : SCE_FS_OPERATOR_C);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\tvisibleChars = 0;\n\t\t\tcloseStringChar = 0;\n\t\t}\n\t\tif (!IsASpace(sc.ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldFlagShipDoc(Sci_PositionU startPos, Sci_Position length, int,\n\t\t\t\t\t\t\t\t\tWordList *[], Accessor &styler)\n{\n\n\tSci_Position endPos = startPos + length;\n\n\t// Backtrack to previous line in case need to fix its fold status\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0 && lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t}\n\tint spaceFlags = 0;\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags);\n\tchar chNext = styler[startPos];\n\tfor (Sci_Position i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n') || (i == endPos-1)) {\n\t\t\tint lev = indentCurrent;\n\t\t\tint indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags);\n\t\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t} else if (indentNext & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\tint spaceFlags2 = 0;\n\t\t\t\t\tint indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2);\n\t\t\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tindentCurrent = indentNext;\n\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\tlineCurrent++;\n\t\t}\n\t}\n}\n\nstatic const char * const FSWordListDesc[] = {\n\t\"Keywords Commands\",\n\t\"Std Library Functions\",\n\t\"Procedure, return, exit\",\n\t\"Class (oop)\",\n\t\"Doxygen keywords\",\n\t0\n};\n\nLexerModule lmFlagShip(SCLEX_FLAGSHIP, ColouriseFlagShipDoc, \"flagship\", FoldFlagShipDoc, FSWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexForth.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexForth.cxx\n ** Lexer for FORTH\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.');\n}\n\nstatic inline bool IsANumChar(int ch) {\n\treturn (ch < 0x80) && (isxdigit(ch) || ch == '.' || ch == 'e' || ch == 'E' );\n}\n\nstatic inline bool IsASpaceChar(int ch) {\n\treturn (ch < 0x80) && isspace(ch);\n}\n\nstatic void ColouriseForthDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordLists[],\n                            Accessor &styler) {\n\n    WordList &control = *keywordLists[0];\n    WordList &keyword = *keywordLists[1];\n    WordList &defword = *keywordLists[2];\n    WordList &preword1 = *keywordLists[3];\n    WordList &preword2 = *keywordLists[4];\n    WordList &strings = *keywordLists[5];\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward())\n\t{\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_FORTH_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_FORTH_DEFAULT);\n\t\t\t}\n\t\t}else if (sc.state == SCE_FORTH_COMMENT_ML) {\n\t\t\tif (sc.ch == ')') {\n\t\t\t\tsc.ForwardSetState(SCE_FORTH_DEFAULT);\n\t\t\t}\n\t\t}else if (sc.state == SCE_FORTH_IDENTIFIER || sc.state == SCE_FORTH_NUMBER) {\n\t\t\t// handle numbers here too, because what we thought was a number might\n\t\t\t// turn out to be a keyword e.g. 2DUP\n\t\t\tif (IsASpaceChar(sc.ch) ) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tint newState = sc.state == SCE_FORTH_NUMBER ? SCE_FORTH_NUMBER : SCE_FORTH_DEFAULT;\n\t\t\t\tif (control.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_CONTROL);\n\t\t\t\t} else if (keyword.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_KEYWORD);\n\t\t\t\t} else if (defword.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_DEFWORD);\n\t\t\t\t}  else if (preword1.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_PREWORD1);\n\t\t\t\t} else if (preword2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_PREWORD2);\n\t\t\t\t} else if (strings.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_STRING);\n\t\t\t\t\tnewState = SCE_FORTH_STRING;\n\t\t\t\t}\n\t\t\t\tsc.SetState(newState);\n\t\t\t}\n\t\t\tif (sc.state == SCE_FORTH_NUMBER) {\n\t\t\t\tif (IsASpaceChar(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_FORTH_DEFAULT);\n\t\t\t\t} else if (!IsANumChar(sc.ch)) {\n\t\t\t\t\tsc.ChangeState(SCE_FORTH_IDENTIFIER);\n\t\t\t\t}\n\t\t\t}\n\t\t}else if (sc.state == SCE_FORTH_STRING) {\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_FORTH_DEFAULT);\n\t\t\t}\n\t\t}else if (sc.state == SCE_FORTH_LOCALE) {\n\t\t\tif (sc.ch == '}') {\n\t\t\t\tsc.ForwardSetState(SCE_FORTH_DEFAULT);\n\t\t\t}\n\t\t}else if (sc.state == SCE_FORTH_DEFWORD) {\n\t\t\tif (IsASpaceChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_FORTH_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_FORTH_DEFAULT) {\n\t\t\tif (sc.ch == '\\\\'){\n\t\t\t\tsc.SetState(SCE_FORTH_COMMENT);\n\t\t\t} else if (sc.ch == '(' &&\n\t\t\t\t\t(sc.atLineStart || IsASpaceChar(sc.chPrev)) &&\n\t\t\t\t\t(sc.atLineEnd   || IsASpaceChar(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_FORTH_COMMENT_ML);\n\t\t\t} else if (\t(sc.ch == '$' && (IsASCII(sc.chNext) && isxdigit(sc.chNext))) ) {\n\t\t\t\t// number starting with $ is a hex number\n\t\t\t\tsc.SetState(SCE_FORTH_NUMBER);\n\t\t\t\twhile(sc.More() && IsASCII(sc.chNext) && isxdigit(sc.chNext))\n\t\t\t\t\tsc.Forward();\n\t\t\t} else if ( (sc.ch == '%' && (IsASCII(sc.chNext) && (sc.chNext == '0' || sc.chNext == '1'))) ) {\n\t\t\t\t// number starting with % is binary\n\t\t\t\tsc.SetState(SCE_FORTH_NUMBER);\n\t\t\t\twhile(sc.More() && IsASCII(sc.chNext) && (sc.chNext == '0' || sc.chNext == '1'))\n\t\t\t\t\tsc.Forward();\n\t\t\t} else if (\tIsASCII(sc.ch) &&\n\t\t\t\t\t\t(isxdigit(sc.ch) || ((sc.ch == '.' || sc.ch == '-') && IsASCII(sc.chNext) && isxdigit(sc.chNext)) )\n\t\t\t\t\t){\n\t\t\t\tsc.SetState(SCE_FORTH_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_FORTH_IDENTIFIER);\n\t\t\t} else if (sc.ch == '{') {\n\t\t\t\tsc.SetState(SCE_FORTH_LOCALE);\n\t\t\t} else if (sc.ch == ':' && IsASCII(sc.chNext) && isspace(sc.chNext)) {\n\t\t\t\t// highlight word definitions e.g.  : GCD ( n n -- n ) ..... ;\n\t\t\t\t//                                  ^ ^^^\n\t\t\t\tsc.SetState(SCE_FORTH_DEFWORD);\n\t\t\t\twhile(sc.More() && IsASCII(sc.chNext) && isspace(sc.chNext))\n\t\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == ';' &&\n\t\t\t\t\t(sc.atLineStart || IsASpaceChar(sc.chPrev)) &&\n\t\t\t\t\t(sc.atLineEnd   || IsASpaceChar(sc.chNext))\t) {\n\t\t\t\t// mark the ';' that ends a word\n\t\t\t\tsc.SetState(SCE_FORTH_DEFWORD);\n\t\t\t\tsc.ForwardSetState(SCE_FORTH_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldForthDoc(Sci_PositionU, Sci_Position, int, WordList *[],\n\t\t\t\t\t\tAccessor &) {\n}\n\nstatic const char * const forthWordLists[] = {\n\t\t\t\"control keywords\",\n\t\t\t\"keywords\",\n\t\t\t\"definition words\",\n\t\t\t\"prewords with one argument\",\n\t\t\t\"prewords with two arguments\",\n\t\t\t\"string definition keywords\",\n\t\t\t0,\n\t\t};\n\nLexerModule lmForth(SCLEX_FORTH, ColouriseForthDoc, \"forth\", FoldForthDoc, forthWordLists);\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexFortran.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexFortran.cxx\n ** Lexer for Fortran.\n ** Written by Chuan-jian Shen, Last changed Sep. 2003\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n/***************************************/\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n/***************************************/\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n/***************************************/\n\nusing namespace Scintilla;\n\n/***********************************************/\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '%');\n}\n/**********************************************/\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch));\n}\n/***************************************/\nstatic inline bool IsABlank(unsigned int ch) {\n\treturn (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ;\n}\n/***************************************/\nstatic inline bool IsALineEnd(char ch) {\n\treturn ((ch == '\\n') || (ch == '\\r')) ;\n}\n/***************************************/\nstatic Sci_PositionU GetContinuedPos(Sci_PositionU pos, Accessor &styler) {\n\twhile (!IsALineEnd(styler.SafeGetCharAt(pos++))) continue;\n\tif (styler.SafeGetCharAt(pos) == '\\n') pos++;\n\twhile (IsABlank(styler.SafeGetCharAt(pos++))) continue;\n\tchar chCur = styler.SafeGetCharAt(pos);\n\tif (chCur == '&') {\n\t\twhile (IsABlank(styler.SafeGetCharAt(++pos))) continue;\n\t\treturn pos;\n\t} else {\n\t\treturn pos;\n\t}\n}\n/***************************************/\nstatic void ColouriseFortranDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n        WordList *keywordlists[], Accessor &styler, bool isFixFormat) {\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\t/***************************************/\n\tSci_Position posLineStart = 0;\n\tint numNonBlank = 0, prevState = 0;\n\tSci_Position endPos = startPos + length;\n\t/***************************************/\n\t// backtrack to the nearest keyword\n\twhile ((startPos > 1) && (styler.StyleAt(startPos) != SCE_F_WORD)) {\n\t\tstartPos--;\n\t}\n\tstartPos = styler.LineStart(styler.GetLine(startPos));\n\tinitStyle = styler.StyleAt(startPos - 1);\n\tStyleContext sc(startPos, endPos-startPos, initStyle, styler);\n\t/***************************************/\n\tfor (; sc.More(); sc.Forward()) {\n\t\t// remember the start position of the line\n\t\tif (sc.atLineStart) {\n\t\t\tposLineStart = sc.currentPos;\n\t\t\tnumNonBlank = 0;\n\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t}\n\t\tif (!IsASpaceOrTab(sc.ch)) numNonBlank ++;\n\t\t/***********************************************/\n\t\t// Handle the fix format generically\n\t\tSci_Position toLineStart = sc.currentPos - posLineStart;\n\t\tif (isFixFormat && (toLineStart < 6 || toLineStart >= 72)) {\n\t\t\tif ((toLineStart == 0 && (tolower(sc.ch) == 'c' || sc.ch == '*')) || sc.ch == '!') {\n\t\t\t\tif (sc.MatchIgnoreCase(\"cdec$\") || sc.MatchIgnoreCase(\"*dec$\") || sc.MatchIgnoreCase(\"!dec$\") ||\n\t\t\t\t        sc.MatchIgnoreCase(\"cdir$\") || sc.MatchIgnoreCase(\"*dir$\") || sc.MatchIgnoreCase(\"!dir$\") ||\n\t\t\t\t        sc.MatchIgnoreCase(\"cms$\")  || sc.MatchIgnoreCase(\"*ms$\")  || sc.MatchIgnoreCase(\"!ms$\")  ||\n\t\t\t\t        sc.chNext == '$') {\n\t\t\t\t\tsc.SetState(SCE_F_PREPROCESSOR);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_F_COMMENT);\n\t\t\t\t}\n\n\t\t\t\twhile (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end\n\t\t\t} else if (toLineStart >= 72) {\n\t\t\t\tsc.SetState(SCE_F_COMMENT);\n\t\t\t\twhile (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end\n\t\t\t} else if (toLineStart < 5) {\n\t\t\t\tif (IsADigit(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_F_LABEL);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t} else if (toLineStart == 5) {\n\t\t\t\t//if (!IsASpace(sc.ch) && sc.ch != '0') {\n\t\t\t\tif (sc.ch != '\\r' && sc.ch != '\\n') {\n\t\t\t\t\tsc.SetState(SCE_F_CONTINUATION);\n\t\t\t\t\tif (!IsASpace(sc.ch) && sc.ch != '0')\n\t\t\t\t\t\tsc.ForwardSetState(prevState);\n\t\t\t\t} else\n\t\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\t/***************************************/\n\t\t// Handle line continuation generically.\n\t\tif (!isFixFormat && sc.ch == '&' && sc.state != SCE_F_COMMENT) {\n\t\t\tchar chTemp = ' ';\n\t\t\tSci_Position j = 1;\n\t\t\twhile (IsABlank(chTemp) && j<132) {\n\t\t\t\tchTemp = static_cast<char>(sc.GetRelative(j));\n\t\t\t\tj++;\n\t\t\t}\n\t\t\tif (chTemp == '!') {\n\t\t\t\tsc.SetState(SCE_F_CONTINUATION);\n\t\t\t\tif (sc.chNext == '!') sc.ForwardSetState(SCE_F_COMMENT);\n\t\t\t} else if (chTemp == '\\r' || chTemp == '\\n') {\n\t\t\t\tint currentState = sc.state;\n\t\t\t\tsc.SetState(SCE_F_CONTINUATION);\n\t\t\t\tsc.ForwardSetState(SCE_F_DEFAULT);\n\t\t\t\twhile (IsASpace(sc.ch) && sc.More()) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tif (sc.atLineStart) numNonBlank = 0;\n\t\t\t\t\tif (!IsASpaceOrTab(sc.ch)) numNonBlank ++;\n\t\t\t\t}\n\t\t\t\tif (sc.ch == '&') {\n\t\t\t\t\tsc.SetState(SCE_F_CONTINUATION);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.SetState(currentState);\n\t\t\t}\n\t\t}\n\t\t/***************************************/\n\t\t// Hanndle preprocessor directives\n\t\tif (sc.ch == '#' && numNonBlank == 1)\n\t\t{\n\t\t\tsc.SetState(SCE_F_PREPROCESSOR);\n\t\t\twhile (!sc.atLineEnd && sc.More())\n\t\t\t\tsc.Forward(); // Until line end\n\t\t}\n\t\t/***************************************/\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_F_OPERATOR) {\n\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t} else if (sc.state == SCE_F_NUMBER) {\n\t\t\tif (!(IsAWordChar(sc.ch) || sc.ch=='\\'' || sc.ch=='\\\"' || sc.ch=='.')) {\n\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_F_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch) || (sc.ch == '%')) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_F_WORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_F_WORD2);\n\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_F_WORD3);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_F_COMMENT || sc.state == SCE_F_PREPROCESSOR) {\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_F_STRING1) {\n\t\t\tprevState = sc.state;\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\tif (sc.chNext == '\\'') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_F_DEFAULT);\n\t\t\t\t\tprevState = SCE_F_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_F_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_F_STRING2) {\n\t\t\tprevState = sc.state;\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_F_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_F_DEFAULT);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_F_DEFAULT);\n\t\t\t\t\tprevState = SCE_F_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_F_OPERATOR2) {\n\t\t\tif (sc.ch == '.') {\n\t\t\t\tsc.ForwardSetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_F_CONTINUATION) {\n\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t} else if (sc.state == SCE_F_LABEL) {\n\t\t\tif (!IsADigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t} else {\n\t\t\t\tif (isFixFormat && sc.currentPos-posLineStart > 4)\n\t\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t\telse if (numNonBlank > 5)\n\t\t\t\t\tsc.SetState(SCE_F_DEFAULT);\n\t\t\t}\n\t\t}\n\t\t/***************************************/\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_F_DEFAULT) {\n\t\t\tif (sc.ch == '!') {\n\t\t\t\tif (sc.MatchIgnoreCase(\"!dec$\") || sc.MatchIgnoreCase(\"!dir$\") ||\n\t\t\t\t\tsc.MatchIgnoreCase(\"!ms$\") || sc.chNext == '$') {\n\t\t\t\t\tsc.SetState(SCE_F_PREPROCESSOR);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_F_COMMENT);\n\t\t\t\t}\n\t\t\t} else if ((!isFixFormat) && IsADigit(sc.ch) && numNonBlank == 1) {\n\t\t\t\tsc.SetState(SCE_F_LABEL);\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_F_NUMBER);\n\t\t\t} else if ((tolower(sc.ch) == 'b' || tolower(sc.ch) == 'o' ||\n\t\t\t\ttolower(sc.ch) == 'z') && (sc.chNext == '\\\"' || sc.chNext == '\\'')) {\n\t\t\t\tsc.SetState(SCE_F_NUMBER);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '.' && isalpha(sc.chNext)) {\n\t\t\t\tsc.SetState(SCE_F_OPERATOR2);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_F_IDENTIFIER);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_F_STRING2);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_F_STRING1);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_F_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n/***************************************/\nstatic void CheckLevelCommentLine(const unsigned int nComL,\n\t\t\t\t  Sci_Position nComColB[], Sci_Position nComColF[], Sci_Position &nComCur,\n\t\t\t\t  bool comLineB[], bool comLineF[], bool &comLineCur,\n\t\t\t\t  int &levelDeltaNext) {\n\tlevelDeltaNext = 0;\n\tif (!comLineCur) {\n\t\treturn;\n\t}\n\n\tif (!comLineF[0] || nComColF[0] != nComCur) {\n\t\tunsigned int i=0;\n\t\tfor (; i<nComL; i++) {\n\t\t\tif (!comLineB[i] || nComColB[i] != nComCur) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (i == nComL) {\n\t\t\tlevelDeltaNext = -1;\n\t\t}\n\t}\n\telse if (!comLineB[0] || nComColB[0] != nComCur) {\n\t\tunsigned int i=0;\n\t\tfor (; i<nComL; i++) {\n\t\t\tif (!comLineF[i] || nComColF[i] != nComCur) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (i == nComL) {\n\t\t\tlevelDeltaNext = 1;\n\t\t}\n\t}\n}\n/***************************************/\nstatic void GetIfLineComment(Accessor &styler, bool isFixFormat, const Sci_Position line, bool &isComLine, Sci_Position &comCol) {\n\tSci_Position col = 0;\n\tisComLine = false;\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position len = styler.Length();\n\twhile(pos<len) {\n\t\tchar ch = styler.SafeGetCharAt(pos);\n\t\tif (ch == '!' || (isFixFormat && col == 0 && (tolower(ch) == 'c' || ch == '*'))) {\n\t\t\tisComLine = true;\n\t\t\tcomCol = col;\n\t\t\tbreak;\n\t\t}\n\t\telse if (!IsABlank(ch) || IsALineEnd(ch)) {\n\t\t\tbreak;\n\t\t}\n\t\tpos++;\n\t\tcol++;\n\t}\n}\n/***************************************/\nstatic void StepCommentLine(Accessor &styler, bool isFixFormat, Sci_Position lineCurrent, const unsigned int nComL,\n\t\t\t\t  Sci_Position nComColB[], Sci_Position nComColF[], Sci_Position &nComCur,\n\t\t\t\t  bool comLineB[], bool comLineF[], bool &comLineCur) {\n\tSci_Position nLineTotal = styler.GetLine(styler.Length()-1) + 1;\n\tif (lineCurrent >= nLineTotal) {\n\t\treturn;\n\t}\n\n\tfor (int i=nComL-2; i>=0; i--) {\n\t\tnComColB[i+1] = nComColB[i];\n\t\tcomLineB[i+1] = comLineB[i];\n\t}\n\tnComColB[0] = nComCur;\n\tcomLineB[0] = comLineCur;\n\tnComCur = nComColF[0];\n\tcomLineCur = comLineF[0];\n\tfor (unsigned int i=0; i+1<nComL; i++) {\n\t\tnComColF[i] = nComColF[i+1];\n\t\tcomLineF[i] = comLineF[i+1];\n\t}\n\tSci_Position chL = lineCurrent + nComL;\n\tif (chL < nLineTotal) {\n\t\tGetIfLineComment(styler, isFixFormat, chL, comLineF[nComL-1], nComColF[nComL-1]);\n\t}\n\telse {\n\t\tcomLineF[nComL-1] = false;\n\t}\n}\n/***************************************/\nstatic void CheckBackComLines(Accessor &styler, bool isFixFormat, Sci_Position lineCurrent, const unsigned int nComL,\n\t\t\t\t  Sci_Position nComColB[], Sci_Position nComColF[], Sci_Position nComCur,\n\t\t\t\t  bool comLineB[], bool comLineF[], bool &comLineCur) {\n\tunsigned int nLines = nComL + nComL + 1;\n\tbool* comL = new bool[nLines];\n\tSci_Position* nComCol = new Sci_Position[nLines];\n\tbool comL0;\n\tSci_Position nComCol0;\n\tGetIfLineComment(styler, isFixFormat, lineCurrent-nComL-1, comL0, nComCol0);\n\tfor (unsigned int i=0; i<nComL; i++) {\n\t\tunsigned copyTo = nComL - i - 1;\n\t\tcomL[copyTo]    = comLineB[i];\n\t\tnComCol[copyTo] = nComColB[i];\n\t}\n\tassert(nComL < nLines);\n\tcomL[nComL] = comLineCur;\n\tnComCol[nComL] = nComCur;\n\tfor (unsigned int i=0; i<nComL; i++) {\n\t\tunsigned copyTo = i + nComL + 1;\n\t\tcomL[copyTo]    = comLineF[i];\n\t\tnComCol[copyTo] = nComColF[i];\n\t}\n\t\n\tSci_Position lineC = lineCurrent - nComL + 1;\n\tSci_PositionU iStart;\n\tif (lineC <= 0) {\n\t\tlineC = 0;\n\t\tiStart = nComL - lineCurrent;\n\t}\n\telse {\n\t\tiStart = 1;\n\t}\n\tbool levChanged = false;\n\tint lev = styler.LevelAt(lineC) & SC_FOLDLEVELNUMBERMASK;\n\t\n\tfor (Sci_PositionU i=iStart; i<=nComL; i++) {\n\t\tif (comL[i] && (!comL[i-1] || nComCol[i] != nComCol[i-1])) {\n\t\t\tbool increase = true;\n\t\t\tSci_PositionU until = i + nComL;\n\t\t\tfor (Sci_PositionU j=i+1; j<=until; j++) {\n\t\t\t\tif (!comL[j] || nComCol[j] != nComCol[i]) {\n\t\t\t\t\tincrease = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlev = styler.LevelAt(lineC) & SC_FOLDLEVELNUMBERMASK;\n\t\t\tif (increase) {\n\t\t\t\tint levH = lev | SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tlev += 1;\n\t\t\t\tif (levH != styler.LevelAt(lineC)) {\n\t\t\t\t\tstyler.SetLevel(lineC, levH);\n\t\t\t\t}\n\t\t\t\tfor (Sci_Position j=lineC+1; j<=lineCurrent; j++) {\n\t\t\t\t\tif (lev != styler.LevelAt(j)) {\n\t\t\t\t\t\tstyler.SetLevel(j, lev);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (lev != styler.LevelAt(lineC)) {\n\t\t\t\t\tstyler.SetLevel(lineC, lev);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlevChanged = true;\n\t\t}\n\t\telse if (levChanged && comL[i]) {\n\t\t\tif (lev != styler.LevelAt(lineC)) {\n\t\t\t\tstyler.SetLevel(lineC, lev);\n\t\t\t}\n\t\t}\n\t\tlineC++;\n\t}\n\tdelete[] comL;\n\tdelete[] nComCol;\n}\n/***************************************/\n// To determine the folding level depending on keywords\nstatic int classifyFoldPointFortran(const char* s, const char* prevWord, const char chNextNonBlank) {\n\tint lev = 0;\n\n\tif ((strcmp(prevWord, \"module\") == 0 && strcmp(s, \"subroutine\") == 0)\n\t\t|| (strcmp(prevWord, \"module\") == 0 && strcmp(s, \"function\") == 0)) {\n\t\tlev = 0;\n\t} else if (strcmp(s, \"associate\") == 0 || strcmp(s, \"block\") == 0\n\t        || strcmp(s, \"blockdata\") == 0 || strcmp(s, \"select\") == 0\n\t        || strcmp(s, \"selecttype\") == 0 || strcmp(s, \"selectcase\") == 0\n\t        || strcmp(s, \"do\") == 0 || strcmp(s, \"enum\") ==0\n\t        || strcmp(s, \"function\") == 0 || strcmp(s, \"interface\") == 0\n\t        || strcmp(s, \"module\") == 0 || strcmp(s, \"program\") == 0\n\t        || strcmp(s, \"subroutine\") == 0 || strcmp(s, \"then\") == 0\n\t        || (strcmp(s, \"type\") == 0 && chNextNonBlank != '(')\n\t\t|| strcmp(s, \"critical\") == 0 || strcmp(s, \"submodule\") == 0){\n\t\tif (strcmp(prevWord, \"end\") == 0)\n\t\t\tlev = 0;\n\t\telse\n\t\t\tlev = 1;\n\t} else if ((strcmp(s, \"end\") == 0 && chNextNonBlank != '=')\n\t        || strcmp(s, \"endassociate\") == 0 || strcmp(s, \"endblock\") == 0\n\t        || strcmp(s, \"endblockdata\") == 0 || strcmp(s, \"endselect\") == 0\n\t        || strcmp(s, \"enddo\") == 0 || strcmp(s, \"endenum\") ==0\n\t        || strcmp(s, \"endif\") == 0 || strcmp(s, \"endforall\") == 0\n\t        || strcmp(s, \"endfunction\") == 0 || strcmp(s, \"endinterface\") == 0\n\t        || strcmp(s, \"endmodule\") == 0 || strcmp(s, \"endprogram\") == 0\n\t        || strcmp(s, \"endsubroutine\") == 0 || strcmp(s, \"endtype\") == 0\n\t        || strcmp(s, \"endwhere\") == 0 || strcmp(s, \"endcritical\") == 0\n\t\t|| (strcmp(prevWord, \"module\") == 0 && strcmp(s, \"procedure\") == 0)  // Take care of the \"module procedure\" statement\n\t\t|| strcmp(s, \"endsubmodule\") == 0 || strcmp(s, \"endteam\") == 0) {\n\t\tlev = -1;\n\t} else if (strcmp(prevWord, \"end\") == 0 && strcmp(s, \"if\") == 0){ // end if\n\t\tlev = 0;\n\t} else if (strcmp(prevWord, \"type\") == 0 && strcmp(s, \"is\") == 0){ // type is\n\t\tlev = -1;\n\t} else if ((strcmp(prevWord, \"end\") == 0 && strcmp(s, \"procedure\") == 0)\n\t\t\t   || strcmp(s, \"endprocedure\") == 0) {\n\t\t\tlev = 1; // level back to 0, because no folding support for \"module procedure\" in submodule\n\t} else if (strcmp(prevWord, \"change\") == 0 && strcmp(s, \"team\") == 0){ // change team\n\t\tlev = 1;\n\t}\n\treturn lev;\n}\n/***************************************/\n// Folding the code\nstatic void FoldFortranDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n        Accessor &styler, bool isFixFormat) {\n\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\", 1) != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tbool isPrevLine;\n\tif (lineCurrent > 0) {\n\t\tlineCurrent--;\n\t\tstartPos = styler.LineStart(lineCurrent);\n\t\tisPrevLine = true;\n\t} else {\n\t\tisPrevLine = false;\n\t}\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tint levelDeltaNext = 0;\n\n\tconst unsigned int nComL = 3; // defines how many comment lines should be before they are folded\n\tSci_Position nComColB[nComL] = {};\n\tSci_Position nComColF[nComL] = {};\n\tSci_Position nComCur = 0;\n\tbool comLineB[nComL] = {};\n\tbool comLineF[nComL] = {};\n\tbool comLineCur;\n\tSci_Position nLineTotal = styler.GetLine(styler.Length()-1) + 1;\n\tif (foldComment) {\n\t\tfor (unsigned int i=0; i<nComL; i++) {\n\t\t\tSci_Position chL = lineCurrent-(i+1);\n\t\t\tif (chL < 0) {\n\t\t\t\tcomLineB[i] = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tGetIfLineComment(styler, isFixFormat, chL, comLineB[i], nComColB[i]);\n\t\t\tif (!comLineB[i]) {\n\t\t\t\tfor (unsigned int j=i+1; j<nComL; j++) {\n\t\t\t\t\tcomLineB[j] = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tfor (unsigned int i=0; i<nComL; i++) {\n\t\t\tSci_Position chL = lineCurrent+i+1;\n\t\t\tif (chL >= nLineTotal) {\n\t\t\t\tcomLineF[i] = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tGetIfLineComment(styler, isFixFormat, chL, comLineF[i], nComColF[i]);\n\t\t}\n\t\tGetIfLineComment(styler, isFixFormat, lineCurrent, comLineCur, nComCur);\n\t\tCheckBackComLines(styler, isFixFormat, lineCurrent, nComL, nComColB, nComColF, nComCur, \n\t\t\t\tcomLineB, comLineF, comLineCur);\n\t}\n\tint levelCurrent = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\n\t/***************************************/\n\tSci_Position lastStart = 0;\n\tchar prevWord[32] = \"\";\n\t/***************************************/\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tchar chNextNonBlank = chNext;\n\t\tbool nextEOL = false;\n\t\tif (IsALineEnd(chNextNonBlank)) {\n\t\t\tnextEOL = true;\n\t\t}\n\t\tSci_PositionU j=i+1;\n\t\twhile(IsABlank(chNextNonBlank) && j<endPos) {\n\t\t\tj ++ ;\n\t\t\tchNextNonBlank = styler.SafeGetCharAt(j);\n\t\t\tif (IsALineEnd(chNextNonBlank)) {\n\t\t\t\tnextEOL = true;\n\t\t\t}\n\t\t}\n\t\tif (!nextEOL && j == endPos) {\n\t\t\tnextEOL = true;\n\t\t}\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\t//\n\t\tif (((isFixFormat && stylePrev == SCE_F_CONTINUATION) || stylePrev == SCE_F_DEFAULT\n\t\t\t|| stylePrev == SCE_F_OPERATOR) && (style == SCE_F_WORD || style == SCE_F_LABEL)) {\n\t\t\t// Store last word and label start point.\n\t\t\tlastStart = i;\n\t\t}\n\t\t/***************************************/\n\t\tif (style == SCE_F_WORD) {\n\t\t\tif(iswordchar(ch) && !iswordchar(chNext)) {\n\t\t\t\tchar s[32];\n\t\t\t\tSci_PositionU k;\n\t\t\t\tfor(k=0; (k<31 ) && (k<i-lastStart+1 ); k++) {\n\t\t\t\t\ts[k] = static_cast<char>(tolower(styler[lastStart+k]));\n\t\t\t\t}\n\t\t\t\ts[k] = '\\0';\n\t\t\t\t// Handle the forall and where statement and structure.\n\t\t\t\tif (strcmp(s, \"forall\") == 0 || (strcmp(s, \"where\") == 0 && strcmp(prevWord, \"else\") != 0)) {\n\t\t\t\t\tif (strcmp(prevWord, \"end\") != 0) {\n\t\t\t\t\t\tj = i + 1;\n\t\t\t\t\t\tchar chBrace = '(', chSeek = ')', ch1 = styler.SafeGetCharAt(j);\n\t\t\t\t\t\t// Find the position of the first (\n\t\t\t\t\t\twhile (ch1 != chBrace && j<endPos) {\n\t\t\t\t\t\t\tj++;\n\t\t\t\t\t\t\tch1 = styler.SafeGetCharAt(j);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchar styBrace = styler.StyleAt(j);\n\t\t\t\t\t\tint depth = 1;\n\t\t\t\t\t\tchar chAtPos;\n\t\t\t\t\t\tchar styAtPos;\n\t\t\t\t\t\twhile (j<endPos) {\n\t\t\t\t\t\t\tj++;\n\t\t\t\t\t\t\tchAtPos = styler.SafeGetCharAt(j);\n\t\t\t\t\t\t\tstyAtPos = styler.StyleAt(j);\n\t\t\t\t\t\t\tif (styAtPos == styBrace) {\n\t\t\t\t\t\t\t\tif (chAtPos == chBrace) depth++;\n\t\t\t\t\t\t\t\tif (chAtPos == chSeek) depth--;\n\t\t\t\t\t\t\t\tif (depth == 0) break;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tSci_Position tmpLineCurrent = lineCurrent;\n\t\t\t\t\t\twhile (j<endPos) {\n\t\t\t\t\t\t\tj++;\n\t\t\t\t\t\t\tchAtPos = styler.SafeGetCharAt(j);\n\t\t\t\t\t\t\tstyAtPos = styler.StyleAt(j);\n\t\t\t\t\t\t\tif (!IsALineEnd(chAtPos) && (styAtPos == SCE_F_COMMENT || IsABlank(chAtPos))) continue;\n\t\t\t\t\t\t\tif (isFixFormat) {\n\t\t\t\t\t\t\t\tif (!IsALineEnd(chAtPos)) {\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (tmpLineCurrent < styler.GetLine(styler.Length()-1)) {\n\t\t\t\t\t\t\t\t\t\ttmpLineCurrent++;\n\t\t\t\t\t\t\t\t\t\tj = styler.LineStart(tmpLineCurrent);\n\t\t\t\t\t\t\t\t\t\tif (styler.StyleAt(j+5) == SCE_F_CONTINUATION\n\t\t\t\t\t\t\t\t\t\t\t&& !IsABlank(styler.SafeGetCharAt(j+5)) && styler.SafeGetCharAt(j+5) != '0') {\n\t\t\t\t\t\t\t\t\t\t\tj += 5;\n\t\t\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tlevelDeltaNext++;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (chAtPos == '&' && styler.StyleAt(j) == SCE_F_CONTINUATION) {\n\t\t\t\t\t\t\t\t\tj = GetContinuedPos(j+1, styler);\n\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t} else if (IsALineEnd(chAtPos)) {\n\t\t\t\t\t\t\t\t\tlevelDeltaNext++;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tint wordLevelDelta = classifyFoldPointFortran(s, prevWord, chNextNonBlank);\n\t\t\t\t\tlevelDeltaNext += wordLevelDelta;\n\t\t\t\t\tif (((strcmp(s, \"else\") == 0) && (nextEOL || chNextNonBlank == '!')) ||\n\t\t\t\t\t\t(strcmp(prevWord, \"else\") == 0 && strcmp(s, \"where\") == 0) || strcmp(s, \"elsewhere\") == 0) {\n\t\t\t\t\t\tif (!isPrevLine) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlevelDeltaNext++;\n\t\t\t\t\t} else if ((strcmp(prevWord, \"else\") == 0 && strcmp(s, \"if\") == 0) || strcmp(s, \"elseif\") == 0) {\n\t\t\t\t\t\tif (!isPrevLine) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ((strcmp(prevWord, \"select\") == 0 && strcmp(s, \"case\") == 0) || strcmp(s, \"selectcase\") == 0 ||\n\t\t\t\t\t\t\t   (strcmp(prevWord, \"select\") == 0 && strcmp(s, \"type\") == 0) || strcmp(s, \"selecttype\") == 0) {\n\t\t\t\t\t\tlevelDeltaNext += 2;\n\t\t\t\t\t} else if ((strcmp(s, \"case\") == 0 && chNextNonBlank == '(') || (strcmp(prevWord, \"case\") == 0 && strcmp(s, \"default\") == 0) ||\n\t\t\t\t\t\t\t   (strcmp(prevWord, \"type\") == 0 && strcmp(s, \"is\") == 0) ||\n\t\t\t\t\t\t\t   (strcmp(prevWord, \"class\") == 0 && strcmp(s, \"is\") == 0) ||\n\t\t\t\t\t\t\t   (strcmp(prevWord, \"class\") == 0 && strcmp(s, \"default\") == 0) ) {\n\t\t\t\t\t\tif (!isPrevLine) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlevelDeltaNext++;\n\t\t\t\t\t} else if ((strcmp(prevWord, \"end\") == 0 && strcmp(s, \"select\") == 0) || strcmp(s, \"endselect\") == 0) {\n\t\t\t\t\t\tlevelDeltaNext -= 2;\n\t\t\t\t\t}\n\n\t\t\t\t\t// There are multiple forms of \"do\" loop. The older form with a label \"do 100 i=1,10\" would require matching\n\t\t\t\t\t// labels to ensure the folding level does not decrease too far when labels are used for other purposes.\n\t\t\t\t\t// Since this is difficult, do-label constructs are not folded.\n\t\t\t\t\tif (strcmp(s, \"do\") == 0 && IsADigit(chNextNonBlank)) {\n\t\t\t\t\t\t// Remove delta for do-label\n\t\t\t\t\t\tlevelDeltaNext -= wordLevelDelta;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstrcpy(prevWord, s);\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tif (foldComment) {\n\t\t\t\tint ldNext;\n\t\t\t\tCheckLevelCommentLine(nComL, nComColB, nComColF, nComCur, comLineB, comLineF, comLineCur, ldNext);\n\t\t\t\tlevelDeltaNext += ldNext;\n\t\t\t}\n\t\t\tint lev = levelCurrent;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelDeltaNext > 0) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent))\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent += levelDeltaNext;\n\t\t\tlevelDeltaNext = 0;\n\t\t\tvisibleChars = 0;\n\t\t\tstrcpy(prevWord, \"\");\n\t\t\tisPrevLine = false;\n\n\t\t\tif (foldComment) {\n\t\t\t\tStepCommentLine(styler, isFixFormat, lineCurrent, nComL, nComColB, nComColF, nComCur,\n\t\t\t\t\t\tcomLineB, comLineF, comLineCur);\n\t\t\t}\n\t\t}\n\t\t/***************************************/\n\t\tif (!isspacechar(ch)) visibleChars++;\n\t}\n\t/***************************************/\n}\n/***************************************/\nstatic const char * const FortranWordLists[] = {\n\t\"Primary keywords and identifiers\",\n\t\"Intrinsic functions\",\n\t\"Extended and user defined functions\",\n\t0,\n};\n/***************************************/\nstatic void ColouriseFortranDocFreeFormat(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n        Accessor &styler) {\n\tColouriseFortranDoc(startPos, length, initStyle, keywordlists, styler, false);\n}\n/***************************************/\nstatic void ColouriseFortranDocFixFormat(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n        Accessor &styler) {\n\tColouriseFortranDoc(startPos, length, initStyle, keywordlists, styler, true);\n}\n/***************************************/\nstatic void FoldFortranDocFreeFormat(Sci_PositionU startPos, Sci_Position length, int initStyle,\n        WordList *[], Accessor &styler) {\n\tFoldFortranDoc(startPos, length, initStyle,styler, false);\n}\n/***************************************/\nstatic void FoldFortranDocFixFormat(Sci_PositionU startPos, Sci_Position length, int initStyle,\n        WordList *[], Accessor &styler) {\n\tFoldFortranDoc(startPos, length, initStyle,styler, true);\n}\n/***************************************/\nLexerModule lmFortran(SCLEX_FORTRAN, ColouriseFortranDocFreeFormat, \"fortran\", FoldFortranDocFreeFormat, FortranWordLists);\nLexerModule lmF77(SCLEX_F77, ColouriseFortranDocFixFormat, \"f77\", FoldFortranDocFixFormat, FortranWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexGAP.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexGAP.cxx\n ** Lexer for the GAP language. (The GAP System for Computational Discrete Algebra)\n ** http://www.gap-system.org\n **/\n// Copyright 2007 by Istvan Szollosi ( szteven <at> gmail <dot> com )\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsGAPOperator(char ch) {\n\tif (IsASCII(ch) && isalnum(ch)) return false;\n\tif (ch == '+' || ch == '-' || ch == '*' || ch == '/' ||\n\t\tch == '^' || ch == ',' || ch == '!' || ch == '.' ||\n\t\tch == '=' || ch == '<' || ch == '>' || ch == '(' ||\n\t\tch == ')' || ch == ';' || ch == '[' || ch == ']' ||\n\t\tch == '{' || ch == '}' || ch == ':' )\n\t\treturn true;\n\treturn false;\n}\n\nstatic void GetRange(Sci_PositionU start, Sci_PositionU end, Accessor &styler, char *s, Sci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = static_cast<char>(styler[start + i]);\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic void ColouriseGAPDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords1 = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_GAP_STRINGEOL) initStyle = SCE_GAP_DEFAULT;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t// Prevent SCE_GAP_STRINGEOL from leaking back to previous line\n\t\tif ( sc.atLineStart ) {\n\t\t\tif (sc.state == SCE_GAP_STRING) sc.SetState(SCE_GAP_STRING);\n\t\t\tif (sc.state == SCE_GAP_CHAR) sc.SetState(SCE_GAP_CHAR);\n\t\t}\n\n\t\t// Handle line continuation generically\n\t\tif (sc.ch == '\\\\' ) {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_GAP_OPERATOR :\n\t\t\t\tsc.SetState(SCE_GAP_DEFAULT);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_GAP_NUMBER :\n\t\t\t\tif (!IsADigit(sc.ch)) {\n\t\t\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t\t\tif (!sc.atLineEnd) {\n\t\t\t\t\t\t\tif (!IsADigit(sc.chNext)) {\n\t\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t\t\tsc.ChangeState(SCE_GAP_IDENTIFIER);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (isalpha(sc.ch) || sc.ch == '_') {\n\t\t\t\t\t\tsc.ChangeState(SCE_GAP_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t\telse sc.SetState(SCE_GAP_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_GAP_IDENTIFIER :\n\t\t\t\tif (!(iswordstart(static_cast<char>(sc.ch)) || sc.ch == '$')) {\n\t\t\t\t\tif (sc.ch == '\\\\') sc.Forward();\n\t\t\t\t\telse {\n\t\t\t\t\t\tchar s[1000];\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t\tif (keywords1.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_GAP_KEYWORD);\n\t\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_GAP_KEYWORD2);\n\t\t\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_GAP_KEYWORD3);\n\t\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_GAP_KEYWORD4);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsc.SetState(SCE_GAP_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_GAP_COMMENT :\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_GAP_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_GAP_STRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_GAP_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_GAP_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_GAP_CHAR:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_GAP_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_GAP_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_GAP_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_GAP_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered\n\t\tif (sc.state == SCE_GAP_DEFAULT) {\n\t\t\tif (IsGAPOperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_GAP_OPERATOR);\n\t\t\t}\n\t\t\telse if (IsADigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_GAP_NUMBER);\n\t\t\t} else if (isalpha(sc.ch) || sc.ch == '_' || sc.ch == '\\\\' || sc.ch == '$' || sc.ch == '~') {\n\t\t\t\tsc.SetState(SCE_GAP_IDENTIFIER);\n\t\t\t\tif (sc.ch == '\\\\') sc.Forward();\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_GAP_COMMENT);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_GAP_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_GAP_CHAR);\n\t\t\t}\n\t\t}\n\n\t}\n\tsc.Complete();\n}\n\nstatic int ClassifyFoldPointGAP(const char* s) {\n\tint level = 0;\n\tif (strcmp(s, \"function\") == 0 ||\n\t\tstrcmp(s, \"do\") == 0 ||\n\t\tstrcmp(s, \"if\") == 0 ||\n\t\tstrcmp(s, \"repeat\") == 0 ) {\n\t\tlevel = 1;\n\t} else if (strcmp(s, \"end\") == 0 ||\n\t\t\tstrcmp(s, \"od\") == 0 ||\n\t\t\tstrcmp(s, \"fi\") == 0 ||\n\t\t\tstrcmp(s, \"until\") == 0 ) {\n\t\tlevel = -1;\n\t}\n\treturn level;\n}\n\nstatic void FoldGAPDoc( Sci_PositionU startPos, Sci_Position length, int initStyle,   WordList** , Accessor &styler) {\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\n\tSci_Position lastStart = 0;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (stylePrev != SCE_GAP_KEYWORD && style == SCE_GAP_KEYWORD) {\n\t\t\t// Store last word start point.\n\t\t\tlastStart = i;\n\t\t}\n\n\t\tif (stylePrev == SCE_GAP_KEYWORD) {\n\t\t\tif(iswordchar(ch) && !iswordchar(chNext)) {\n\t\t\t\tchar s[100];\n\t\t\t\tGetRange(lastStart, i, styler, s, sizeof(s));\n\t\t\t\tlevelCurrent += ClassifyFoldPointGAP(s);\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const GAPWordListDesc[] = {\n\t\"Keywords 1\",\n\t\"Keywords 2\",\n\t\"Keywords 3 (unused)\",\n\t\"Keywords 4 (unused)\",\n\t0\n};\n\nLexerModule lmGAP(\n   SCLEX_GAP,\n   ColouriseGAPDoc,\n   \"gap\",\n   FoldGAPDoc,\n   GAPWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexGui4Cli.cpp",
    "content": "// Scintilla source code edit control\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n/*\nThis is the Lexer for Gui4Cli, included in SciLexer.dll\n- by d. Keletsekis, 2/10/2003\n\nTo add to SciLexer.dll:\n1. Add the values below to INCLUDE\\Scintilla.iface\n2. Run the scripts/HFacer.py script\n3. Run the scripts/LexGen.py script\n\nval SCE_GC_DEFAULT=0\nval SCE_GC_COMMENTLINE=1\nval SCE_GC_COMMENTBLOCK=2\nval SCE_GC_GLOBAL=3\nval SCE_GC_EVENT=4\nval SCE_GC_ATTRIBUTE=5\nval SCE_GC_CONTROL=6\nval SCE_GC_COMMAND=7\nval SCE_GC_STRING=8\nval SCE_GC_OPERATOR=9\n*/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n#define debug Platform::DebugPrintf\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch =='\\\\');\n}\n\ninline bool isGCOperator(int ch)\n{\tif (isalnum(ch))\n\t\treturn false;\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '*' || ch == '/' || ch == '-' || ch == '+' ||\n\t\t ch == '(' || ch == ')' || ch == '=' || ch == '%' ||\n\t\t ch == '[' || ch == ']' || ch == '<' || ch == '>' ||\n\t\t ch == ',' || ch == ';' || ch == ':')\n\t\treturn true;\n\treturn false;\n}\n\n#define isSpace(x)\t\t((x)==' ' || (x)=='\\t')\n#define isNL(x)\t\t\t((x)=='\\n' || (x)=='\\r')\n#define isSpaceOrNL(x)  (isSpace(x) || isNL(x))\n#define BUFFSIZE 500\n#define isFoldPoint(x)  ((styler.LevelAt(x) & SC_FOLDLEVELNUMBERMASK) == 1024)\n\nstatic void colorFirstWord(WordList *keywordlists[], Accessor &styler,\n\t\t\t\t\t\t\t\t\tStyleContext *sc, char *buff, Sci_Position length, Sci_Position)\n{\n\tSci_Position c = 0;\n\twhile (sc->More() && isSpaceOrNL(sc->ch))\n\t{\tsc->Forward();\n\t}\n\tstyler.ColourTo(sc->currentPos - 1, sc->state);\n\n\tif (!IsAWordChar(sc->ch)) // comment, marker, etc..\n\t\treturn;\n\n\twhile (sc->More() && !isSpaceOrNL(sc->ch) && (c < length-1) && !isGCOperator(sc->ch))\n\t{\tbuff[c] = static_cast<char>(sc->ch);\n\t\t++c; sc->Forward();\n\t}\n\tbuff[c] = '\\0';\n\tchar *p = buff;\n\twhile (*p)\t// capitalize..\n\t{\tif (islower(*p)) *p = static_cast<char>(toupper(*p));\n\t\t++p;\n\t}\n\n\tWordList &kGlobal\t\t= *keywordlists[0];\t// keyword lists set by the user\n\tWordList &kEvent\t\t= *keywordlists[1];\n\tWordList &kAttribute\t= *keywordlists[2];\n\tWordList &kControl\t= *keywordlists[3];\n\tWordList &kCommand\t= *keywordlists[4];\n\n\tint state = 0;\n\t// int level = styler.LevelAt(line) & SC_FOLDLEVELNUMBERMASK;\n\t// debug (\"line = %d, level = %d\", line, level);\n\n\tif\t     (kGlobal.InList(buff))\t\tstate = SCE_GC_GLOBAL;\n\telse if (kAttribute.InList(buff))\tstate = SCE_GC_ATTRIBUTE;\n\telse if (kControl.InList(buff))\t\tstate = SCE_GC_CONTROL;\n\telse if (kCommand.InList(buff))\t\tstate = SCE_GC_COMMAND;\n\telse if (kEvent.InList(buff))\t\t\tstate = SCE_GC_EVENT;\n\n\tif (state)\n\t{\tsc->ChangeState(state);\n\t\tstyler.ColourTo(sc->currentPos - 1, sc->state);\n\t\tsc->ChangeState(SCE_GC_DEFAULT);\n\t}\n\telse\n\t{\tsc->ChangeState(SCE_GC_DEFAULT);\n\t\tstyler.ColourTo(sc->currentPos - 1, sc->state);\n\t}\n}\n\n// Main colorizing function called by Scintilla\nstatic void\nColouriseGui4CliDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                    WordList *keywordlists[], Accessor &styler)\n{\n\tstyler.StartAt(startPos);\n\n\tSci_Position currentline = styler.GetLine(startPos);\n\tint quotestart = 0, oldstate;\n\tstyler.StartSegment(startPos);\n\tbool noforward;\n\tchar buff[BUFFSIZE+1];\t// buffer for command name\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tbuff[0] = '\\0'; // cbuff = 0;\n\n\tif (sc.state != SCE_GC_COMMENTBLOCK) // colorize 1st word..\n\t\tcolorFirstWord(keywordlists, styler, &sc, buff, BUFFSIZE, currentline);\n\n\twhile (sc.More())\n\t{\tnoforward = 0;\n\n\t\tswitch (sc.ch)\n\t\t{\n\t\t\tcase '/':\n\t\t\t\tif (sc.state == SCE_GC_COMMENTBLOCK || sc.state == SCE_GC_STRING)\n\t\t\t\t\tbreak;\n\t\t\t\tif (sc.chNext == '/')\t// line comment\n\t\t\t\t{\tsc.SetState (SCE_GC_COMMENTLINE);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\t}\n\t\t\t\telse if (sc.chNext == '*')\t// block comment\n\t\t\t\t{\tsc.SetState(SCE_GC_COMMENTBLOCK);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\tbreak;\n\n\t\t\tcase '*':\t// end of comment block, or operator..\n\t\t\t\tif (sc.state == SCE_GC_STRING)\n\t\t\t\t\tbreak;\n\t\t\t\tif (sc.state == SCE_GC_COMMENTBLOCK && sc.chNext == '/')\n\t\t\t\t{\tsc.Forward();\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\t\tsc.ChangeState (SCE_GC_DEFAULT);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\tbreak;\n\n\t\t\tcase '\\'':\tcase '\\\"': // strings..\n\t\t\t\tif (sc.state == SCE_GC_COMMENTBLOCK || sc.state == SCE_GC_COMMENTLINE)\n\t\t\t\t\tbreak;\n\t\t\t\tif (sc.state == SCE_GC_STRING)\n\t\t\t\t{\tif (sc.ch == quotestart)\t// match same quote char..\n\t\t\t\t\t{\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\t\t\tsc.ChangeState(SCE_GC_DEFAULT);\n\t\t\t\t\t\tquotestart = 0;\n\t\t\t\t}\t}\n\t\t\t\telse\n\t\t\t\t{\tstyler.ColourTo(sc.currentPos - 1, sc.state);\n\t\t\t\t\tsc.ChangeState(SCE_GC_STRING);\n\t\t\t\t\tquotestart = sc.ch;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase ';':\t// end of commandline character\n\t\t\t\tif (sc.state != SCE_GC_COMMENTBLOCK && sc.state != SCE_GC_COMMENTLINE &&\n\t\t\t\t\t sc.state != SCE_GC_STRING)\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(sc.currentPos - 1, sc.state);\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, SCE_GC_OPERATOR);\n\t\t\t\t\tsc.ChangeState(SCE_GC_DEFAULT);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tcolorFirstWord(keywordlists, styler, &sc, buff, BUFFSIZE, currentline);\n\t\t\t\t\tnoforward = 1; // don't move forward - already positioned at next char..\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase '+': case '-': case '=':\tcase '!':\t// operators..\n\t\t\tcase '<': case '>': case '&': case '|': case '$':\n\t\t\t\tif (sc.state != SCE_GC_COMMENTBLOCK && sc.state != SCE_GC_COMMENTLINE &&\n\t\t\t\t\t sc.state != SCE_GC_STRING)\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(sc.currentPos - 1, sc.state);\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, SCE_GC_OPERATOR);\n\t\t\t\t\tsc.ChangeState(SCE_GC_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase '\\\\':\t// escape - same as operator, but also mark in strings..\n\t\t\t\tif (sc.state != SCE_GC_COMMENTBLOCK && sc.state != SCE_GC_COMMENTLINE)\n\t\t\t\t{\n\t\t\t\t\toldstate = sc.state;\n\t\t\t\t\tstyler.ColourTo(sc.currentPos - 1, sc.state);\n\t\t\t\t\tsc.Forward(); // mark also the next char..\n\t\t\t\t\tstyler.ColourTo(sc.currentPos, SCE_GC_OPERATOR);\n\t\t\t\t\tsc.ChangeState(oldstate);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase '\\n': case '\\r':\n\t\t\t\t++currentline;\n\t\t\t\tif (sc.state == SCE_GC_COMMENTLINE)\n\t\t\t\t{\tstyler.ColourTo(sc.currentPos, sc.state);\n\t\t\t\t\tsc.ChangeState (SCE_GC_DEFAULT);\n\t\t\t\t}\n\t\t\t\telse if (sc.state != SCE_GC_COMMENTBLOCK)\n\t\t\t\t{\tcolorFirstWord(keywordlists, styler, &sc, buff, BUFFSIZE, currentline);\n\t\t\t\t\tnoforward = 1; // don't move forward - already positioned at next char..\n\t\t\t\t}\n\t\t\t\tbreak;\n\n//\t\t\tcase ' ': case '\\t':\n//\t\t\tdefault :\n\t\t}\n\n\t\tif (!noforward) sc.Forward();\n\n\t}\n\tsc.Complete();\n}\n\n// Main folding function called by Scintilla - (based on props (.ini) files function)\nstatic void FoldGui4Cli(Sci_PositionU startPos, Sci_Position length, int,\n\t\t\t\t\t\t\t\tWordList *[], Accessor &styler)\n{\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tbool headerPoint = false;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++)\n\t{\n\t\tchar ch = chNext;\n\t\tchNext = styler[i+1];\n\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (style == SCE_GC_EVENT || style == SCE_GC_GLOBAL)\n\t\t{\theaderPoint = true; // fold at events and globals\n\t\t}\n\n\t\tif (atEOL)\n\t\t{\tint lev = SC_FOLDLEVELBASE+1;\n\n\t\t\tif (headerPoint)\n\t\t\t\tlev = SC_FOLDLEVELBASE;\n\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\n\t\t\tif (headerPoint)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) // set level, if not already correct\n\t\t\t{\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\n\t\t\tlineCurrent++;\t\t// re-initialize our flags\n\t\t\tvisibleChars = 0;\n\t\t\theaderPoint = false;\n\t\t}\n\n\t\tif (!(isspacechar(ch))) // || (style == SCE_GC_COMMENTLINE) || (style != SCE_GC_COMMENTBLOCK)))\n\t\t\tvisibleChars++;\n\t}\n\n\tint lev = headerPoint ? SC_FOLDLEVELBASE : SC_FOLDLEVELBASE+1;\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, lev | flagsNext);\n}\n\n// I have no idea what these are for.. probably accessible by some message.\nstatic const char * const gui4cliWordListDesc[] = {\n\t\"Globals\", \"Events\", \"Attributes\", \"Control\", \"Commands\",\n\t0\n};\n\n// Declare language & pass our function pointers to Scintilla\nLexerModule lmGui4Cli(SCLEX_GUI4CLI, ColouriseGui4CliDoc, \"gui4cli\", FoldGui4Cli, gui4cliWordListDesc);\n\n#undef debug\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexHTML.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexHTML.cxx\n ** Lexer for HTML.\n **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n#include <string>\n#include <map>\n#include <set>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n#include \"StringCopy.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\n#define SCE_HA_JS (SCE_HJA_START - SCE_HJ_START)\n#define SCE_HA_VBS (SCE_HBA_START - SCE_HB_START)\n#define SCE_HA_PYTHON (SCE_HPA_START - SCE_HP_START)\n\nenum script_type { eScriptNone = 0, eScriptJS, eScriptVBS, eScriptPython, eScriptPHP, eScriptXML, eScriptSGML, eScriptSGMLblock, eScriptComment };\nenum script_mode { eHtml = 0, eNonHtmlScript, eNonHtmlPreProc, eNonHtmlScriptPreProc };\n\ninline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_');\n}\n\ninline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\ninline bool IsOperator(int ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '%' || ch == '^' || ch == '&' || ch == '*' ||\n\t        ch == '(' || ch == ')' || ch == '-' || ch == '+' ||\n\t        ch == '=' || ch == '|' || ch == '{' || ch == '}' ||\n\t        ch == '[' || ch == ']' || ch == ':' || ch == ';' ||\n\t        ch == '<' || ch == '>' || ch == ',' || ch == '/' ||\n\t        ch == '?' || ch == '!' || ch == '.' || ch == '~')\n\t\treturn true;\n\treturn false;\n}\n\nvoid GetTextSegment(Accessor &styler, Sci_PositionU start, Sci_PositionU end, char *s, size_t len) {\n\tSci_PositionU i = 0;\n\tfor (; (i < end - start + 1) && (i < len-1); i++) {\n\t\ts[i] = MakeLowerCase(styler[start + i]);\n\t}\n\ts[i] = '\\0';\n}\n\nstd::string GetStringSegment(Accessor &styler, Sci_PositionU start, Sci_PositionU end) {\n\tstd::string s;\n\tSci_PositionU i = 0;\n\tfor (; (i < end - start + 1); i++) {\n\t\ts.push_back(MakeLowerCase(styler[start + i]));\n\t}\n\treturn s;\n}\n\nstd::string GetNextWord(Accessor &styler, Sci_PositionU start) {\n\tstd::string ret;\n\tSci_PositionU i = 0;\n\tfor (; i < 200; i++) {\t// Put an upper limit to bound time taken for unexpected text.\n\t\tconst char ch = styler.SafeGetCharAt(start + i);\n\t\tif ((i == 0) && !IsAWordStart(ch))\n\t\t\tbreak;\n\t\tif ((i > 0) && !IsAWordChar(ch))\n\t\t\tbreak;\n\t\tret.push_back(ch);\n\t}\n\treturn ret;\n}\n\nscript_type segIsScriptingIndicator(Accessor &styler, Sci_PositionU start, Sci_PositionU end, script_type prevValue) {\n\tchar s[100];\n\tGetTextSegment(styler, start, end, s, sizeof(s));\n\t//Platform::DebugPrintf(\"Scripting indicator [%s]\\n\", s);\n\tif (strstr(s, \"src\"))\t// External script\n\t\treturn eScriptNone;\n\tif (strstr(s, \"vbs\"))\n\t\treturn eScriptVBS;\n\tif (strstr(s, \"pyth\"))\n\t\treturn eScriptPython;\n\tif (strstr(s, \"javas\"))\n\t\treturn eScriptJS;\n\tif (strstr(s, \"jscr\"))\n\t\treturn eScriptJS;\n\tif (strstr(s, \"php\"))\n\t\treturn eScriptPHP;\n\tif (strstr(s, \"xml\")) {\n\t\tconst char *xml = strstr(s, \"xml\");\n\t\tfor (const char *t=s; t<xml; t++) {\n\t\t\tif (!IsASpace(*t)) {\n\t\t\t\treturn prevValue;\n\t\t\t}\n\t\t}\n\t\treturn eScriptXML;\n\t}\n\n\treturn prevValue;\n}\n\nint PrintScriptingIndicatorOffset(Accessor &styler, Sci_PositionU start, Sci_PositionU end) {\n\tint iResult = 0;\n\tstd::string s = GetStringSegment(styler, start, end);\n\tif (0 == strncmp(s.c_str(), \"php\", 3)) {\n\t\tiResult = 3;\n\t}\n\treturn iResult;\n}\n\nscript_type ScriptOfState(int state) {\n\tif ((state >= SCE_HP_START) && (state <= SCE_HP_IDENTIFIER)) {\n\t\treturn eScriptPython;\n\t} else if ((state >= SCE_HB_START) && (state <= SCE_HB_STRINGEOL)) {\n\t\treturn eScriptVBS;\n\t} else if ((state >= SCE_HJ_START) && (state <= SCE_HJ_REGEX)) {\n\t\treturn eScriptJS;\n\t} else if ((state >= SCE_HPHP_DEFAULT) && (state <= SCE_HPHP_COMMENTLINE)) {\n\t\treturn eScriptPHP;\n\t} else if ((state >= SCE_H_SGML_DEFAULT) && (state < SCE_H_SGML_BLOCK_DEFAULT)) {\n\t\treturn eScriptSGML;\n\t} else if (state == SCE_H_SGML_BLOCK_DEFAULT) {\n\t\treturn eScriptSGMLblock;\n\t} else {\n\t\treturn eScriptNone;\n\t}\n}\n\nint statePrintForState(int state, script_mode inScriptType) {\n\tint StateToPrint = state;\n\n\tif (state >= SCE_HJ_START) {\n\t\tif ((state >= SCE_HP_START) && (state <= SCE_HP_IDENTIFIER)) {\n\t\t\tStateToPrint = state + ((inScriptType == eNonHtmlScript) ? 0 : SCE_HA_PYTHON);\n\t\t} else if ((state >= SCE_HB_START) && (state <= SCE_HB_STRINGEOL)) {\n\t\t\tStateToPrint = state + ((inScriptType == eNonHtmlScript) ? 0 : SCE_HA_VBS);\n\t\t} else if ((state >= SCE_HJ_START) && (state <= SCE_HJ_REGEX)) {\n\t\t\tStateToPrint = state + ((inScriptType == eNonHtmlScript) ? 0 : SCE_HA_JS);\n\t\t}\n\t}\n\n\treturn StateToPrint;\n}\n\nint stateForPrintState(int StateToPrint) {\n\tint state;\n\n\tif ((StateToPrint >= SCE_HPA_START) && (StateToPrint <= SCE_HPA_IDENTIFIER)) {\n\t\tstate = StateToPrint - SCE_HA_PYTHON;\n\t} else if ((StateToPrint >= SCE_HBA_START) && (StateToPrint <= SCE_HBA_STRINGEOL)) {\n\t\tstate = StateToPrint - SCE_HA_VBS;\n\t} else if ((StateToPrint >= SCE_HJA_START) && (StateToPrint <= SCE_HJA_REGEX)) {\n\t\tstate = StateToPrint - SCE_HA_JS;\n\t} else {\n\t\tstate = StateToPrint;\n\t}\n\n\treturn state;\n}\n\ninline bool IsNumber(Sci_PositionU start, Accessor &styler) {\n\treturn IsADigit(styler[start]) || (styler[start] == '.') ||\n\t       (styler[start] == '-') || (styler[start] == '#');\n}\n\ninline bool isStringState(int state) {\n\tbool bResult;\n\n\tswitch (state) {\n\tcase SCE_HJ_DOUBLESTRING:\n\tcase SCE_HJ_SINGLESTRING:\n\tcase SCE_HJA_DOUBLESTRING:\n\tcase SCE_HJA_SINGLESTRING:\n\tcase SCE_HB_STRING:\n\tcase SCE_HBA_STRING:\n\tcase SCE_HP_STRING:\n\tcase SCE_HP_CHARACTER:\n\tcase SCE_HP_TRIPLE:\n\tcase SCE_HP_TRIPLEDOUBLE:\n\tcase SCE_HPA_STRING:\n\tcase SCE_HPA_CHARACTER:\n\tcase SCE_HPA_TRIPLE:\n\tcase SCE_HPA_TRIPLEDOUBLE:\n\tcase SCE_HPHP_HSTRING:\n\tcase SCE_HPHP_SIMPLESTRING:\n\tcase SCE_HPHP_HSTRING_VARIABLE:\n\tcase SCE_HPHP_COMPLEX_VARIABLE:\n\t\tbResult = true;\n\t\tbreak;\n\tdefault :\n\t\tbResult = false;\n\t\tbreak;\n\t}\n\treturn bResult;\n}\n\ninline bool stateAllowsTermination(int state) {\n\tbool allowTermination = !isStringState(state);\n\tif (allowTermination) {\n\t\tswitch (state) {\n\t\tcase SCE_HB_COMMENTLINE:\n\t\tcase SCE_HPHP_COMMENT:\n\t\tcase SCE_HP_COMMENTLINE:\n\t\tcase SCE_HPA_COMMENTLINE:\n\t\t\tallowTermination = false;\n\t\t}\n\t}\n\treturn allowTermination;\n}\n\n// not really well done, since it's only comments that should lex the %> and <%\ninline bool isCommentASPState(int state) {\n\tbool bResult;\n\n\tswitch (state) {\n\tcase SCE_HJ_COMMENT:\n\tcase SCE_HJ_COMMENTLINE:\n\tcase SCE_HJ_COMMENTDOC:\n\tcase SCE_HB_COMMENTLINE:\n\tcase SCE_HP_COMMENTLINE:\n\tcase SCE_HPHP_COMMENT:\n\tcase SCE_HPHP_COMMENTLINE:\n\t\tbResult = true;\n\t\tbreak;\n\tdefault :\n\t\tbResult = false;\n\t\tbreak;\n\t}\n\treturn bResult;\n}\n\nconstexpr bool IsLowerCase(int ch) noexcept {\n\treturn (ch >= 'a') && (ch <= 'z');\n}\n\nconstexpr bool IsUpperCase(int ch) noexcept {\n\treturn (ch >= 'A') && (ch <= 'Z');\n}\n\nconstexpr bool IsUpperOrLowerCase(int ch) noexcept {\n\treturn IsUpperCase(ch) || IsLowerCase(ch);\n}\n\nvoid classifyAttribHTML(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler) {\n\tconst bool wordIsNumber = IsNumber(start, styler);\n\tchar chAttr = SCE_H_ATTRIBUTEUNKNOWN;\n\tif (wordIsNumber) {\n\t\tchAttr = SCE_H_NUMBER;\n\t} else {\n\t\tstd::string s = GetStringSegment(styler, start, end);\n\t\tif (keywords.InList(s.c_str()))\n\t\t\tchAttr = SCE_H_ATTRIBUTE;\n\t}\n\tif ((chAttr == SCE_H_ATTRIBUTEUNKNOWN) && !keywords)\n\t\t// No keywords -> all are known\n\t\tchAttr = SCE_H_ATTRIBUTE;\n\tstyler.ColourTo(end, chAttr);\n}\n\n// https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-core-concepts\nbool isHTMLCustomElement(const std::string &tag) {\n\t// check valid HTML custom element name: starts with an ASCII lower alpha and contains hyphen.\n\t// IsUpperOrLowerCase() is used for `html.tags.case.sensitive=1`.\n\tif (tag.length() < 2 || !IsUpperOrLowerCase(tag[0])) {\n\t\treturn false;\n\t}\n\tif (tag.find('-') == std::string::npos) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nint classifyTagHTML(Sci_PositionU start, Sci_PositionU end,\n                           const WordList &keywords, Accessor &styler, bool &tagDontFold,\n                    bool caseSensitive, bool isXml, bool allowScripts,\n                    const std::set<std::string> &nonFoldingTags) {\n\tstd::string tag;\n\t// Copy after the '<' and stop before ' '\n\tfor (Sci_PositionU cPos = start; cPos <= end; cPos++) {\n\t\tconst char ch = styler[cPos];\n\t\tif (IsASpace(ch)) {\n\t\t\tbreak;\n\t\t}\n\t\tif ((ch != '<') && (ch != '/')) {\n\t\t\ttag.push_back(caseSensitive ? ch : MakeLowerCase(ch));\n\t\t}\n\t}\n\t// if the current language is XML, I can fold any tag\n\t// if the current language is HTML, I don't want to fold certain tags (input, meta, etc.)\n\t//...to find it in the list of no-container-tags\n\ttagDontFold = (!isXml) && (nonFoldingTags.count(tag) > 0);\n\t// No keywords -> all are known\n\tchar chAttr = SCE_H_TAGUNKNOWN;\n\tif (!tag.empty() && (tag[0] == '!')) {\n\t\tchAttr = SCE_H_SGML_DEFAULT;\n\t} else if (!keywords || keywords.InList(tag.c_str())) {\n\t\tchAttr = SCE_H_TAG;\n\t} else if (!isXml && isHTMLCustomElement(tag)) {\n\t\tchAttr = SCE_H_TAG;\n\t}\n\tif (chAttr != SCE_H_TAGUNKNOWN) {\n\tstyler.ColourTo(end, chAttr);\n\t}\n\tif (chAttr == SCE_H_TAG) {\n\t\tif (allowScripts && (tag == \"script\")) {\n\t\t\t// check to see if this is a self-closing tag by sniffing ahead\n\t\t\tbool isSelfClose = false;\n\t\t\tfor (Sci_PositionU cPos = end; cPos <= end + 200; cPos++) {\n\t\t\t\tconst char ch = styler.SafeGetCharAt(cPos, '\\0');\n\t\t\t\tif (ch == '\\0' || ch == '>')\n\t\t\t\t\tbreak;\n\t\t\t\telse if (ch == '/' && styler.SafeGetCharAt(cPos + 1, '\\0') == '>') {\n\t\t\t\t\tisSelfClose = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// do not enter a script state if the tag self-closed\n\t\t\tif (!isSelfClose)\n\t\t\t\tchAttr = SCE_H_SCRIPT;\n\t\t} else if (!isXml && (tag == \"comment\")) {\n\t\t\tchAttr = SCE_H_COMMENT;\n\t\t}\n\t}\n\treturn chAttr;\n}\n\nvoid classifyWordHTJS(Sci_PositionU start, Sci_PositionU end,\n                             const WordList &keywords, Accessor &styler, script_mode inScriptType) {\n\tchar s[30 + 1];\n\tSci_PositionU i = 0;\n\tfor (; i < end - start + 1 && i < 30; i++) {\n\t\ts[i] = styler[start + i];\n\t}\n\ts[i] = '\\0';\n\n\tchar chAttr = SCE_HJ_WORD;\n\tconst bool wordIsNumber = IsADigit(s[0]) || ((s[0] == '.') && IsADigit(s[1]));\n\tif (wordIsNumber) {\n\t\tchAttr = SCE_HJ_NUMBER;\n\t} else if (keywords.InList(s)) {\n\t\tchAttr = SCE_HJ_KEYWORD;\n\t}\n\tstyler.ColourTo(end, statePrintForState(chAttr, inScriptType));\n}\n\nint classifyWordHTVB(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler, script_mode inScriptType) {\n\tchar chAttr = SCE_HB_IDENTIFIER;\n\tconst bool wordIsNumber = IsADigit(styler[start]) || (styler[start] == '.');\n\tif (wordIsNumber) {\n\t\tchAttr = SCE_HB_NUMBER;\n\t} else {\n\t\tstd::string s = GetStringSegment(styler, start, end);\n\t\tif (keywords.InList(s.c_str())) {\n\t\t\tchAttr = SCE_HB_WORD;\n\t\t\tif (s == \"rem\")\n\t\t\t\tchAttr = SCE_HB_COMMENTLINE;\n\t\t}\n\t}\n\tstyler.ColourTo(end, statePrintForState(chAttr, inScriptType));\n\tif (chAttr == SCE_HB_COMMENTLINE)\n\t\treturn SCE_HB_COMMENTLINE;\n\telse\n\t\treturn SCE_HB_DEFAULT;\n}\n\nvoid classifyWordHTPy(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler, std::string &prevWord, script_mode inScriptType, bool isMako) {\n\tconst bool wordIsNumber = IsADigit(styler[start]);\n\tstd::string s;\n\tfor (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) {\n\t\ts.push_back(styler[start + i]);\n\t}\n\tchar chAttr = SCE_HP_IDENTIFIER;\n\tif (prevWord == \"class\")\n\t\tchAttr = SCE_HP_CLASSNAME;\n\telse if (prevWord == \"def\")\n\t\tchAttr = SCE_HP_DEFNAME;\n\telse if (wordIsNumber)\n\t\tchAttr = SCE_HP_NUMBER;\n\telse if (keywords.InList(s.c_str()))\n\t\tchAttr = SCE_HP_WORD;\n\telse if (isMako && (s == \"block\"))\n\t\tchAttr = SCE_HP_WORD;\n\tstyler.ColourTo(end, statePrintForState(chAttr, inScriptType));\n\tprevWord = s;\n}\n\n// Update the word colour to default or keyword\n// Called when in a PHP word\nvoid classifyWordHTPHP(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler) {\n\tchar chAttr = SCE_HPHP_DEFAULT;\n\tconst bool wordIsNumber = IsADigit(styler[start]) || (styler[start] == '.' && start+1 <= end && IsADigit(styler[start+1]));\n\tif (wordIsNumber) {\n\t\tchAttr = SCE_HPHP_NUMBER;\n\t} else {\n\t\tstd::string s = GetStringSegment(styler, start, end);\n\t\tif (keywords.InList(s.c_str()))\n\t\t\tchAttr = SCE_HPHP_WORD;\n\t}\n\tstyler.ColourTo(end, chAttr);\n}\n\nbool isWordHSGML(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler) {\n\tstd::string s;\n\tfor (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) {\n\t\ts.push_back(styler[start + i]);\n\t}\n\treturn keywords.InList(s.c_str());\n}\n\nbool isWordCdata(Sci_PositionU start, Sci_PositionU end, Accessor &styler) {\n\tstd::string s;\n\tfor (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) {\n\t\ts.push_back(styler[start + i]);\n\t}\n\treturn s == \"[CDATA[\";\n}\n\n// Return the first state to reach when entering a scripting language\nint StateForScript(script_type scriptLanguage) {\n\tint Result;\n\tswitch (scriptLanguage) {\n\tcase eScriptVBS:\n\t\tResult = SCE_HB_START;\n\t\tbreak;\n\tcase eScriptPython:\n\t\tResult = SCE_HP_START;\n\t\tbreak;\n\tcase eScriptPHP:\n\t\tResult = SCE_HPHP_DEFAULT;\n\t\tbreak;\n\tcase eScriptXML:\n\t\tResult = SCE_H_TAGUNKNOWN;\n\t\tbreak;\n\tcase eScriptSGML:\n\t\tResult = SCE_H_SGML_DEFAULT;\n\t\tbreak;\n\tcase eScriptComment:\n\t\tResult = SCE_H_COMMENT;\n\t\tbreak;\n\tdefault :\n\t\tResult = SCE_HJ_START;\n\t\tbreak;\n\t}\n\treturn Result;\n}\n\ninline bool issgmlwordchar(int ch) {\n\treturn !IsASCII(ch) ||\n\t\t(isalnum(ch) || ch == '.' || ch == '_' || ch == ':' || ch == '!' || ch == '#' || ch == '[');\n}\n\ninline bool IsPhpWordStart(int ch) {\n\treturn (IsASCII(ch) && (isalpha(ch) || (ch == '_'))) || (ch >= 0x7f);\n}\n\ninline bool IsPhpWordChar(int ch) {\n\treturn IsADigit(ch) || IsPhpWordStart(ch);\n}\n\nbool InTagState(int state) {\n\treturn state == SCE_H_TAG || state == SCE_H_TAGUNKNOWN ||\n\t       state == SCE_H_SCRIPT ||\n\t       state == SCE_H_ATTRIBUTE || state == SCE_H_ATTRIBUTEUNKNOWN ||\n\t       state == SCE_H_NUMBER || state == SCE_H_OTHER ||\n\t       state == SCE_H_DOUBLESTRING || state == SCE_H_SINGLESTRING;\n}\n\nbool IsCommentState(const int state) {\n\treturn state == SCE_H_COMMENT || state == SCE_H_SGML_COMMENT;\n}\n\nbool IsScriptCommentState(const int state) {\n\treturn state == SCE_HJ_COMMENT || state == SCE_HJ_COMMENTLINE || state == SCE_HJA_COMMENT ||\n\t\t   state == SCE_HJA_COMMENTLINE || state == SCE_HB_COMMENTLINE || state == SCE_HBA_COMMENTLINE;\n}\n\nbool isLineEnd(int ch) {\n\treturn ch == '\\r' || ch == '\\n';\n}\n\nbool isMakoBlockEnd(const int ch, const int chNext, const std::string &blockType) {\n\tif (blockType.empty()) {\n\t\treturn ((ch == '%') && (chNext == '>'));\n\t} else if ((blockType == \"inherit\") ||\n\t\t\t   (blockType == \"namespace\") ||\n\t\t\t   (blockType == \"include\") ||\n\t\t\t   (blockType == \"page\")) {\n\t\treturn ((ch == '/') && (chNext == '>'));\n\t} else if (blockType == \"%\") {\n\t\tif (ch == '/' && isLineEnd(chNext))\n\t\t\treturn true;\n\t\telse\n\t\t\treturn isLineEnd(ch);\n\t} else if (blockType == \"{\") {\n\t\treturn ch == '}';\n\t} else {\n\t\treturn (ch == '>');\n\t}\n}\n\nbool isDjangoBlockEnd(const int ch, const int chNext, const std::string &blockType) {\n\tif (blockType.empty()) {\n\t\treturn false;\n\t} else if (blockType == \"%\") {\n\t\treturn ((ch == '%') && (chNext == '}'));\n\t} else if (blockType == \"{\") {\n\t\treturn ((ch == '}') && (chNext == '}'));\n\t} else {\n\t\treturn false;\n\t}\n}\n\nbool isPHPStringState(int state) {\n\treturn\n\t    (state == SCE_HPHP_HSTRING) ||\n\t    (state == SCE_HPHP_SIMPLESTRING) ||\n\t    (state == SCE_HPHP_HSTRING_VARIABLE) ||\n\t    (state == SCE_HPHP_COMPLEX_VARIABLE);\n}\n\nSci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci_Position i, const Sci_Position lengthDoc, Accessor &styler, bool &isSimpleString) {\n\tSci_Position j;\n\tconst Sci_Position beginning = i - 1;\n\tbool isValidSimpleString = false;\n\n\twhile (i < lengthDoc && (styler[i] == ' ' || styler[i] == '\\t'))\n\t\ti++;\n\tchar ch = styler.SafeGetCharAt(i);\n\tconst char chNext = styler.SafeGetCharAt(i + 1);\n\tphpStringDelimiter.clear();\n\tif (!IsPhpWordStart(ch)) {\n\t\tif (ch == '\\'' && IsPhpWordStart(chNext)) {\n\t\t\ti++;\n\t\t\tch = chNext;\n\t\t\tisSimpleString = true;\n\t\t} else {\n\t\t\treturn beginning;\n\t\t}\n\t}\n\tphpStringDelimiter.push_back(ch);\n\ti++;\n\tfor (j = i; j < lengthDoc && !isLineEnd(styler[j]); j++) {\n\t\tif (!IsPhpWordChar(styler[j])) {\n\t\t\tif (isSimpleString && (styler[j] == '\\'') && isLineEnd(styler.SafeGetCharAt(j + 1))) {\n\t\t\t\tisValidSimpleString = true;\n\t\t\t\tj++;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tphpStringDelimiter.clear();\n\t\t\t\treturn beginning;\n\t\t\t}\n\t\t}\n\t\tphpStringDelimiter.push_back(styler[j]);\n\t}\n\tif (isSimpleString && !isValidSimpleString) {\n\t\tphpStringDelimiter.clear();\n\t\treturn beginning;\n\t}\n\treturn j - 1;\n}\n\n// Options used for LexerHTML\nstruct OptionsHTML {\n\tint aspDefaultLanguage = eScriptJS;\n\tbool caseSensitive = false;\n\tbool allowScripts = true;\n\tbool isMako = false;\n\tbool isDjango = false;\n\tbool fold = false;\n\tbool foldHTML = false;\n\tbool foldHTMLPreprocessor = true;\n\tbool foldCompact = true;\n\tbool foldComment = false;\n\tbool foldHeredoc = false;\n\tbool foldXmlAtTagOpen = false;\n\tOptionsHTML() noexcept {\n\t}\n};\n\nconst char * const htmlWordListDesc[] = {\n\t\"HTML elements and attributes\",\n\t\"JavaScript keywords\",\n\t\"VBScript keywords\",\n\t\"Python keywords\",\n\t\"PHP keywords\",\n\t\"SGML and DTD keywords\",\n\t0,\n};\n\nconst char * const phpscriptWordListDesc[] = {\n\t\"\", //Unused\n\t\"\", //Unused\n\t\"\", //Unused\n\t\"\", //Unused\n\t\"PHP keywords\",\n\t\"\", //Unused\n\t0,\n};\n\nstruct OptionSetHTML : public OptionSet<OptionsHTML> {\n\tOptionSetHTML(bool isPHPScript_) {\n\n\t\tDefineProperty(\"asp.default.language\", &OptionsHTML::aspDefaultLanguage,\n\t\t\t\"Script in ASP code is initially assumed to be in JavaScript. \"\n\t\t\t\"To change this to VBScript set asp.default.language to 2. Python is 3.\");\n\n\t\tDefineProperty(\"html.tags.case.sensitive\", &OptionsHTML::caseSensitive,\n\t\t\t\"For XML and HTML, setting this property to 1 will make tags match in a case \"\n\t\t\t\"sensitive way which is the expected behaviour for XML and XHTML.\");\n\n\t\tDefineProperty(\"lexer.xml.allow.scripts\", &OptionsHTML::allowScripts,\n\t\t\t\"Set to 0 to disable scripts in XML.\");\n\n\t\tDefineProperty(\"lexer.html.mako\", &OptionsHTML::isMako,\n\t\t\t\"Set to 1 to enable the mako template language.\");\n\n\t\tDefineProperty(\"lexer.html.django\", &OptionsHTML::isDjango,\n\t\t\t\"Set to 1 to enable the django template language.\");\n\n\t\tDefineProperty(\"fold\", &OptionsHTML::fold);\n\n\t\tDefineProperty(\"fold.html\", &OptionsHTML::foldHTML,\n\t\t\t\"Folding is turned on or off for HTML and XML files with this option. \"\n\t\t\t\"The fold option must also be on for folding to occur.\");\n\n\t\tDefineProperty(\"fold.html.preprocessor\", &OptionsHTML::foldHTMLPreprocessor,\n\t\t\t\"Folding is turned on or off for scripts embedded in HTML files with this option. \"\n\t\t\t\"The default is on.\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsHTML::foldCompact);\n\n\t\tDefineProperty(\"fold.hypertext.comment\", &OptionsHTML::foldComment,\n\t\t\t\"Allow folding for comments in scripts embedded in HTML. \"\n\t\t\t\"The default is off.\");\n\n\t\tDefineProperty(\"fold.hypertext.heredoc\", &OptionsHTML::foldHeredoc,\n\t\t\t\"Allow folding for heredocs in scripts embedded in HTML. \"\n\t\t\t\"The default is off.\");\n\n\t\tDefineProperty(\"fold.xml.at.tag.open\", &OptionsHTML::foldXmlAtTagOpen,\n\t\t\t\"Enable folding for XML at the start of open tag. \"\n\t\t\t\"The default is off.\");\n\n\t\tDefineWordListSets(isPHPScript_ ? phpscriptWordListDesc : htmlWordListDesc);\n\t}\n};\n\nLexicalClass lexicalClassesHTML[] = {\n\t// Lexer HTML SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_:\n\t0, \"SCE_H_DEFAULT\", \"default\", \"Text\",\n\t1, \"SCE_H_TAG\", \"tag\", \"Tags\",\n\t2, \"SCE_H_ERRORTAGUNKNOWN\", \"error tag\", \"Unknown Tags\",\n\t3, \"SCE_H_ATTRIBUTE\", \"attribute\", \"Attributes\",\n\t4, \"SCE_H_ATTRIBUTEUNKNOWN\", \"error attribute\", \"Unknown Attributes\",\n\t5, \"SCE_H_NUMBER\", \"literal numeric\", \"Numbers\",\n\t6, \"SCE_H_DOUBLESTRING\", \"literal string\", \"Double quoted strings\",\n\t7, \"SCE_H_SINGLESTRING\", \"literal string\", \"Single quoted strings\",\n\t8, \"SCE_H_OTHER\", \"tag operator\", \"Other inside tag, including space and '='\",\n\t9, \"SCE_H_COMMENT\", \"comment\", \"Comment\",\n\t10, \"SCE_H_ENTITY\", \"literal\", \"Entities\",\n\t11, \"SCE_H_TAGEND\", \"tag\", \"XML style tag ends '/>'\",\n\t12, \"SCE_H_XMLSTART\", \"identifier\", \"XML identifier start '<?'\",\n\t13, \"SCE_H_XMLEND\", \"identifier\", \"XML identifier end '?>'\",\n\t14, \"SCE_H_SCRIPT\", \"error\", \"Internal state which should never be visible\",\n\t15, \"SCE_H_ASP\", \"preprocessor\", \"ASP <% ... %>\",\n\t16, \"SCE_H_ASPAT\", \"preprocessor\", \"ASP <% ... %>\",\n\t17, \"SCE_H_CDATA\", \"literal\", \"CDATA\",\n\t18, \"SCE_H_QUESTION\", \"preprocessor\", \"PHP\",\n\t19, \"SCE_H_VALUE\", \"literal string\", \"Unquoted values\",\n\t20, \"SCE_H_XCCOMMENT\", \"comment\", \"JSP Comment <%-- ... --%>\",\n\t21, \"SCE_H_SGML_DEFAULT\", \"default\", \"SGML tags <! ... >\",\n\t22, \"SCE_H_SGML_COMMAND\", \"preprocessor\", \"SGML command\",\n\t23, \"SCE_H_SGML_1ST_PARAM\", \"preprocessor\", \"SGML 1st param\",\n\t24, \"SCE_H_SGML_DOUBLESTRING\", \"literal string\", \"SGML double string\",\n\t25, \"SCE_H_SGML_SIMPLESTRING\", \"literal string\", \"SGML single string\",\n\t26, \"SCE_H_SGML_ERROR\", \"error\", \"SGML error\",\n\t27, \"SCE_H_SGML_SPECIAL\", \"literal\", \"SGML special (#XXXX type)\",\n\t28, \"SCE_H_SGML_ENTITY\", \"literal\", \"SGML entity\",\n\t29, \"SCE_H_SGML_COMMENT\", \"comment\", \"SGML comment\",\n\t30, \"SCE_H_SGML_1ST_PARAM_COMMENT\", \"error comment\", \"SGML first parameter - lexer internal. It is an error if any text is in this style.\",\n\t31, \"SCE_H_SGML_BLOCK_DEFAULT\", \"default\", \"SGML block\",\n\t32, \"\", \"predefined\", \"\",\n\t33, \"\", \"predefined\", \"\",\n\t34, \"\", \"predefined\", \"\",\n\t35, \"\", \"predefined\", \"\",\n\t36, \"\", \"predefined\", \"\",\n\t37, \"\", \"predefined\", \"\",\n\t38, \"\", \"predefined\", \"\",\n\t39, \"\", \"predefined\", \"\",\n\t40, \"SCE_HJ_START\", \"client javascript default\", \"JS Start - allows eol filled background to not start on same line as SCRIPT tag\",\n\t41, \"SCE_HJ_DEFAULT\", \"client javascript default\", \"JS Default\",\n\t42, \"SCE_HJ_COMMENT\", \"client javascript comment\", \"JS Comment\",\n\t43, \"SCE_HJ_COMMENTLINE\", \"client javascript comment line\", \"JS Line Comment\",\n\t44, \"SCE_HJ_COMMENTDOC\", \"client javascript comment documentation\", \"JS Doc comment\",\n\t45, \"SCE_HJ_NUMBER\", \"client javascript literal numeric\", \"JS Number\",\n\t46, \"SCE_HJ_WORD\", \"client javascript identifier\", \"JS Word\",\n\t47, \"SCE_HJ_KEYWORD\", \"client javascript keyword\", \"JS Keyword\",\n\t48, \"SCE_HJ_DOUBLESTRING\", \"client javascript literal string\", \"JS Double quoted string\",\n\t49, \"SCE_HJ_SINGLESTRING\", \"client javascript literal string\", \"JS Single quoted string\",\n\t50, \"SCE_HJ_SYMBOLS\", \"client javascript operator\", \"JS Symbols\",\n\t51, \"SCE_HJ_STRINGEOL\", \"client javascript error literal string\", \"JavaScript EOL\",\n\t52, \"SCE_HJ_REGEX\", \"client javascript literal regex\", \"JavaScript RegEx\",\n\t53, \"\", \"unused\", \"\",\n\t54, \"\", \"unused\", \"\",\n\t55, \"SCE_HJA_START\", \"server javascript default\", \"JS Start - allows eol filled background to not start on same line as SCRIPT tag\",\n\t56, \"SCE_HJA_DEFAULT\", \"server javascript default\", \"JS Default\",\n\t57, \"SCE_HJA_COMMENT\", \"server javascript comment\", \"JS Comment\",\n\t58, \"SCE_HJA_COMMENTLINE\", \"server javascript comment line\", \"JS Line Comment\",\n\t59, \"SCE_HJA_COMMENTDOC\", \"server javascript comment documentation\", \"JS Doc comment\",\n\t60, \"SCE_HJA_NUMBER\", \"server javascript literal numeric\", \"JS Number\",\n\t61, \"SCE_HJA_WORD\", \"server javascript identifier\", \"JS Word\",\n\t62, \"SCE_HJA_KEYWORD\", \"server javascript keyword\", \"JS Keyword\",\n\t63, \"SCE_HJA_DOUBLESTRING\", \"server javascript literal string\", \"JS Double quoted string\",\n\t64, \"SCE_HJA_SINGLESTRING\", \"server javascript literal string\", \"JS Single quoted string\",\n\t65, \"SCE_HJA_SYMBOLS\", \"server javascript operator\", \"JS Symbols\",\n\t66, \"SCE_HJA_STRINGEOL\", \"server javascript error literal string\", \"JavaScript EOL\",\n\t67, \"SCE_HJA_REGEX\", \"server javascript literal regex\", \"JavaScript RegEx\",\n\t68, \"\", \"unused\", \"\",\n\t69, \"\", \"unused\", \"\",\n\t70, \"SCE_HB_START\", \"client basic default\", \"Start\",\n\t71, \"SCE_HB_DEFAULT\", \"client basic default\", \"Default\",\n\t72, \"SCE_HB_COMMENTLINE\", \"client basic comment line\", \"Comment\",\n\t73, \"SCE_HB_NUMBER\", \"client basic literal numeric\", \"Number\",\n\t74, \"SCE_HB_WORD\", \"client basic keyword\", \"KeyWord\",\n\t75, \"SCE_HB_STRING\", \"client basic literal string\", \"String\",\n\t76, \"SCE_HB_IDENTIFIER\", \"client basic identifier\", \"Identifier\",\n\t77, \"SCE_HB_STRINGEOL\", \"client basic literal string\", \"Unterminated string\",\n\t78, \"\", \"unused\", \"\",\n\t79, \"\", \"unused\", \"\",\n\t80, \"SCE_HBA_START\", \"server basic default\", \"Start\",\n\t81, \"SCE_HBA_DEFAULT\", \"server basic default\", \"Default\",\n\t82, \"SCE_HBA_COMMENTLINE\", \"server basic comment line\", \"Comment\",\n\t83, \"SCE_HBA_NUMBER\", \"server basic literal numeric\", \"Number\",\n\t84, \"SCE_HBA_WORD\", \"server basic keyword\", \"KeyWord\",\n\t85, \"SCE_HBA_STRING\", \"server basic literal string\", \"String\",\n\t86, \"SCE_HBA_IDENTIFIER\", \"server basic identifier\", \"Identifier\",\n\t87, \"SCE_HBA_STRINGEOL\", \"server basic literal string\", \"Unterminated string\",\n\t88, \"\", \"unused\", \"\",\n\t89, \"\", \"unused\", \"\",\n\t90, \"SCE_HP_START\", \"client python default\", \"Embedded Python\",\n\t91, \"SCE_HP_DEFAULT\", \"client python default\", \"Embedded Python\",\n\t92, \"SCE_HP_COMMENTLINE\", \"client python comment line\", \"Comment\",\n\t93, \"SCE_HP_NUMBER\", \"client python literal numeric\", \"Number\",\n\t94, \"SCE_HP_STRING\", \"client python literal string\", \"String\",\n\t95, \"SCE_HP_CHARACTER\", \"client python literal string character\", \"Single quoted string\",\n\t96, \"SCE_HP_WORD\", \"client python keyword\", \"Keyword\",\n\t97, \"SCE_HP_TRIPLE\", \"client python literal string\", \"Triple quotes\",\n\t98, \"SCE_HP_TRIPLEDOUBLE\", \"client python literal string\", \"Triple double quotes\",\n\t99, \"SCE_HP_CLASSNAME\", \"client python identifier\", \"Class name definition\",\n\t100, \"SCE_HP_DEFNAME\", \"client python identifier\", \"Function or method name definition\",\n\t101, \"SCE_HP_OPERATOR\", \"client python operator\", \"Operators\",\n\t102, \"SCE_HP_IDENTIFIER\", \"client python identifier\", \"Identifiers\",\n\t103, \"\", \"unused\", \"\",\n\t104, \"SCE_HPHP_COMPLEX_VARIABLE\", \"server php identifier\", \"PHP complex variable\",\n\t105, \"SCE_HPA_START\", \"server python default\", \"ASP Python\",\n\t106, \"SCE_HPA_DEFAULT\", \"server python default\", \"ASP Python\",\n\t107, \"SCE_HPA_COMMENTLINE\", \"server python comment line\", \"Comment\",\n\t108, \"SCE_HPA_NUMBER\", \"server python literal numeric\", \"Number\",\n\t109, \"SCE_HPA_STRING\", \"server python literal string\", \"String\",\n\t110, \"SCE_HPA_CHARACTER\", \"server python literal string character\", \"Single quoted string\",\n\t111, \"SCE_HPA_WORD\", \"server python keyword\", \"Keyword\",\n\t112, \"SCE_HPA_TRIPLE\", \"server python literal string\", \"Triple quotes\",\n\t113, \"SCE_HPA_TRIPLEDOUBLE\", \"server python literal string\", \"Triple double quotes\",\n\t114, \"SCE_HPA_CLASSNAME\", \"server python identifier\", \"Class name definition\",\n\t115, \"SCE_HPA_DEFNAME\", \"server python identifier\", \"Function or method name definition\",\n\t116, \"SCE_HPA_OPERATOR\", \"server python operator\", \"Operators\",\n\t117, \"SCE_HPA_IDENTIFIER\", \"server python identifier\", \"Identifiers\",\n\t118, \"SCE_HPHP_DEFAULT\", \"server php default\", \"Default\",\n\t119, \"SCE_HPHP_HSTRING\", \"server php literal string\", \"Double quoted String\",\n\t120, \"SCE_HPHP_SIMPLESTRING\", \"server php literal string\", \"Single quoted string\",\n\t121, \"SCE_HPHP_WORD\", \"server php keyword\", \"Keyword\",\n\t122, \"SCE_HPHP_NUMBER\", \"server php literal numeric\", \"Number\",\n\t123, \"SCE_HPHP_VARIABLE\", \"server php identifier\", \"Variable\",\n\t124, \"SCE_HPHP_COMMENT\", \"server php comment\", \"Comment\",\n\t125, \"SCE_HPHP_COMMENTLINE\", \"server php comment line\", \"One line comment\",\n\t126, \"SCE_HPHP_HSTRING_VARIABLE\", \"server php literal string identifier\", \"PHP variable in double quoted string\",\n\t127, \"SCE_HPHP_OPERATOR\", \"server php operator\", \"PHP operator\",\n};\n\nLexicalClass lexicalClassesXML[] = {\n\t// Lexer.Secondary XML SCLEX_XML SCE_H_:\n\t0, \"SCE_H_DEFAULT\", \"default\", \"Default\",\n\t1, \"SCE_H_TAG\", \"tag\", \"Tags\",\n\t2, \"SCE_H_TAGUNKNOWN\", \"error tag\", \"Unknown Tags\",\n\t3, \"SCE_H_ATTRIBUTE\", \"attribute\", \"Attributes\",\n\t4, \"SCE_H_ERRORATTRIBUTEUNKNOWN\", \"error attribute\", \"Unknown Attributes\",\n\t5, \"SCE_H_NUMBER\", \"literal numeric\", \"Numbers\",\n\t6, \"SCE_H_DOUBLESTRING\", \"literal string\", \"Double quoted strings\",\n\t7, \"SCE_H_SINGLESTRING\", \"literal string\", \"Single quoted strings\",\n\t8, \"SCE_H_OTHER\", \"tag operator\", \"Other inside tag, including space and '='\",\n\t9, \"SCE_H_COMMENT\", \"comment\", \"Comment\",\n\t10, \"SCE_H_ENTITY\", \"literal\", \"Entities\",\n\t11, \"SCE_H_TAGEND\", \"tag\", \"XML style tag ends '/>'\",\n\t12, \"SCE_H_XMLSTART\", \"identifier\", \"XML identifier start '<?'\",\n\t13, \"SCE_H_XMLEND\", \"identifier\", \"XML identifier end '?>'\",\n\t14, \"\", \"unused\", \"\",\n\t15, \"\", \"unused\", \"\",\n\t16, \"\", \"unused\", \"\",\n\t17, \"SCE_H_CDATA\", \"literal\", \"CDATA\",\n\t18, \"SCE_H_QUESTION\", \"preprocessor\", \"Question\",\n\t19, \"SCE_H_VALUE\", \"literal string\", \"Unquoted Value\",\n\t20, \"\", \"unused\", \"\",\n\t21, \"SCE_H_SGML_DEFAULT\", \"default\", \"SGML tags <! ... >\",\n\t22, \"SCE_H_SGML_COMMAND\", \"preprocessor\", \"SGML command\",\n\t23, \"SCE_H_SGML_1ST_PARAM\", \"preprocessor\", \"SGML 1st param\",\n\t24, \"SCE_H_SGML_DOUBLESTRING\", \"literal string\", \"SGML double string\",\n\t25, \"SCE_H_SGML_SIMPLESTRING\", \"literal string\", \"SGML single string\",\n\t26, \"SCE_H_SGML_ERROR\", \"error\", \"SGML error\",\n\t27, \"SCE_H_SGML_SPECIAL\", \"literal\", \"SGML special (#XXXX type)\",\n\t28, \"SCE_H_SGML_ENTITY\", \"literal\", \"SGML entity\",\n\t29, \"SCE_H_SGML_COMMENT\", \"comment\", \"SGML comment\",\n\t30, \"\", \"unused\", \"\",\n\t31, \"SCE_H_SGML_BLOCK_DEFAULT\", \"default\", \"SGML block\",\n};\n\nconst char *tagsThatDoNotFold[] = {\n\t\"area\",\n\t\"base\",\n\t\"basefont\",\n\t\"br\",\n\t\"col\",\n\t\"command\",\n\t\"embed\",\n\t\"frame\",\n\t\"hr\",\n\t\"img\",\n\t\"input\",\n\t\"isindex\",\n\t\"keygen\",\n\t\"link\",\n\t\"meta\",\n\t\"param\",\n\t\"source\",\n\t\"track\",\n\t\"wbr\"\n};\n\n}\nclass LexerHTML : public DefaultLexer {\n\tbool isXml;\n\tbool isPHPScript;\n\tWordList keywords;\n\tWordList keywords2;\n\tWordList keywords3;\n\tWordList keywords4;\n\tWordList keywords5;\n\tWordList keywords6; // SGML (DTD) keywords\n\tOptionsHTML options;\n\tOptionSetHTML osHTML;\n\tstd::set<std::string> nonFoldingTags;\npublic:\n\texplicit LexerHTML(bool isXml_, bool isPHPScript_) :\n\t\tDefaultLexer(isXml_ ? lexicalClassesHTML : lexicalClassesXML,\n\t\t\tisXml_ ? ELEMENTS(lexicalClassesHTML) : ELEMENTS(lexicalClassesXML)),\n\t\tisXml(isXml_),\n\t\tisPHPScript(isPHPScript_),\n\t\tosHTML(isPHPScript_),\n\t\tnonFoldingTags(std::begin(tagsThatDoNotFold), std::end(tagsThatDoNotFold)) {\n\t}\n\t~LexerHTML() override {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tconst char *SCI_METHOD PropertyNames() override {\n\t\treturn osHTML.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osHTML.PropertyType(name);\n\t}\n\tconst char *SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osHTML.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\n\tconst char *SCI_METHOD DescribeWordListSets() override {\n\t\treturn osHTML.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\t// No Fold as all folding performs in Lex.\n\n\tstatic ILexer *LexerFactoryHTML() {\n\t\treturn new LexerHTML(false, false);\n\t}\n\tstatic ILexer *LexerFactoryXML() {\n\t\treturn new LexerHTML(true, false);\n\t}\n\tstatic ILexer *LexerFactoryPHPScript() {\n\t\treturn new LexerHTML(false, true);\n\t}\n};\n\nSci_Position SCI_METHOD LexerHTML::PropertySet(const char *key, const char *val) {\n\tif (osHTML.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerHTML::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywords2;\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &keywords3;\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &keywords4;\n\t\tbreak;\n\tcase 4:\n\t\twordListN = &keywords5;\n\t\tbreak;\n\tcase 5:\n\t\twordListN = &keywords6;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tAccessor styler(pAccess, nullptr);\n\tif (isPHPScript && (startPos == 0)) {\n\t\tinitStyle = SCE_HPHP_DEFAULT;\n\t}\n\tstyler.StartAt(startPos);\n\tstd::string prevWord;\n\tstd::string phpStringDelimiter;\n\tint StateToPrint = initStyle;\n\tint state = stateForPrintState(StateToPrint);\n\tstd::string makoBlockType;\n\tint makoComment = 0;\n\tstd::string djangoBlockType;\n\t// 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\n\tif (InTagState(state)) {\n\t\twhile ((startPos > 0) && (InTagState(styler.StyleAt(startPos - 1)))) {\n\t\t\tconst Sci_Position backLineStart = styler.LineStart(styler.GetLine(startPos-1));\n\t\t\tlength += startPos - backLineStart;\n\t\t\tstartPos = backLineStart;\n\t\t}\n\t\tstate = SCE_H_DEFAULT;\n\t}\n\t// String can be heredoc, must find a delimiter first. Reread from beginning of line containing the string, to get the correct lineState\n\tif (isPHPStringState(state)) {\n\t\twhile (startPos > 0 && (isPHPStringState(state) || !isLineEnd(styler[startPos - 1]))) {\n\t\t\tstartPos--;\n\t\t\tlength++;\n\t\t\tstate = styler.StyleAt(startPos);\n\t\t}\n\t\tif (startPos == 0)\n\t\t\tstate = SCE_H_DEFAULT;\n\t}\n\tstyler.StartAt(startPos);\n\n\t/* Nothing handles getting out of these, so we need not start in any of them.\n\t * As we're at line start and they can't span lines, we'll re-detect them anyway */\n\tswitch (state) {\n\t\tcase SCE_H_QUESTION:\n\t\tcase SCE_H_XMLSTART:\n\t\tcase SCE_H_XMLEND:\n\t\tcase SCE_H_ASP:\n\t\t\tstate = SCE_H_DEFAULT;\n\t\t\tbreak;\n\t}\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint lineState;\n\tif (lineCurrent > 0) {\n\t\tlineState = styler.GetLineState(lineCurrent-1);\n\t} else {\n\t\t// Default client and ASP scripting language is JavaScript\n\t\tlineState = eScriptJS << 8;\n\t\tlineState |= options.aspDefaultLanguage << 4;\n\t}\n\tscript_mode inScriptType = static_cast<script_mode>((lineState >> 0) & 0x03); // 2 bits of scripting mode\n\n\tbool tagOpened = (lineState >> 2) & 0x01; // 1 bit to know if we are in an opened tag\n\tbool tagClosing = (lineState >> 3) & 0x01; // 1 bit to know if we are in a closing tag\n\tbool tagDontFold = false; //some HTML tags should not be folded\n\tscript_type aspScript = static_cast<script_type>((lineState >> 4) & 0x0F); // 4 bits of script name\n\tscript_type clientScript = static_cast<script_type>((lineState >> 8) & 0x0F); // 4 bits of script name\n\tint beforePreProc = (lineState >> 12) & 0xFF; // 8 bits of state\n\n\tscript_type scriptLanguage = ScriptOfState(state);\n\t// If eNonHtmlScript coincides with SCE_H_COMMENT, assume eScriptComment\n\tif (inScriptType == eNonHtmlScript && state == SCE_H_COMMENT) {\n\t\tscriptLanguage = eScriptComment;\n\t}\n\tscript_type beforeLanguage = ScriptOfState(beforePreProc);\n\tconst bool foldHTML = options.foldHTML;\n\tconst bool fold = foldHTML && options.fold;\n\tconst bool foldHTMLPreprocessor = foldHTML && options.foldHTMLPreprocessor;\n\tconst bool foldCompact = options.foldCompact;\n\tconst bool foldComment = fold && options.foldComment;\n\tconst bool foldHeredoc = fold && options.foldHeredoc;\n\tconst bool foldXmlAtTagOpen = isXml && fold && options.foldXmlAtTagOpen;\n\tconst bool caseSensitive = options.caseSensitive;\n\tconst bool allowScripts = options.allowScripts;\n\tconst bool isMako = options.isMako;\n\tconst bool isDjango = options.isDjango;\n\tconst CharacterSet setHTMLWord(CharacterSet::setAlphaNum, \".-_:!#\", 0x80, true);\n\tconst CharacterSet setTagContinue(CharacterSet::setAlphaNum, \".-_:!#[\", 0x80, true);\n\tconst CharacterSet setAttributeContinue(CharacterSet::setAlphaNum, \".-_:!#/\", 0x80, true);\n\t// TODO: also handle + and - (except if they're part of ++ or --) and return keywords\n\tconst CharacterSet setOKBeforeJSRE(CharacterSet::setNone, \"([{=,:;!%^&*|?~\");\n\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tint visibleChars = 0;\n\tint lineStartVisibleChars = 0;\n\n\tint chPrev = ' ';\n\tint ch = ' ';\n\tint chPrevNonWhite = ' ';\n\t// look back to set chPrevNonWhite properly for better regex colouring\n\tif (scriptLanguage == eScriptJS && startPos > 0) {\n\t\tSci_Position back = startPos;\n\t\tint style = 0;\n\t\twhile (--back) {\n\t\t\tstyle = styler.StyleAt(back);\n\t\t\tif (style < SCE_HJ_DEFAULT || style > SCE_HJ_COMMENTDOC)\n\t\t\t\t// includes SCE_HJ_COMMENT & SCE_HJ_COMMENTLINE\n\t\t\t\tbreak;\n\t\t}\n\t\tif (style == SCE_HJ_SYMBOLS) {\n\t\t\tchPrevNonWhite = static_cast<unsigned char>(styler.SafeGetCharAt(back));\n\t\t}\n\t}\n\n\tstyler.StartSegment(startPos);\n\tconst Sci_Position lengthDoc = startPos + length;\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++) {\n\t\tconst int chPrev2 = chPrev;\n\t\tchPrev = ch;\n\t\tif (!IsASpace(ch) && state != SCE_HJ_COMMENT &&\n\t\t\tstate != SCE_HJ_COMMENTLINE && state != SCE_HJ_COMMENTDOC)\n\t\t\tchPrevNonWhite = ch;\n\t\tch = static_cast<unsigned char>(styler[i]);\n\t\tint chNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\tconst int chNext2 = static_cast<unsigned char>(styler.SafeGetCharAt(i + 2));\n\n\t\t// Handle DBCS codepages\n\t\tif (styler.IsLeadByte(static_cast<char>(ch))) {\n\t\t\tchPrev = ' ';\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ((!IsASpace(ch) || !foldCompact) && fold)\n\t\t\tvisibleChars++;\n\t\tif (!IsASpace(ch))\n\t\t\tlineStartVisibleChars++;\n\n\t\t// decide what is the current state to print (depending of the script tag)\n\t\tStateToPrint = statePrintForState(state, inScriptType);\n\n\t\t// handle script folding\n\t\tif (fold) {\n\t\t\tswitch (scriptLanguage) {\n\t\t\tcase eScriptJS:\n\t\t\tcase eScriptPHP:\n\t\t\t\t//not currently supported\t\t\t\tcase eScriptVBS:\n\n\t\t\t\tif ((state != SCE_HPHP_COMMENT) && (state != SCE_HPHP_COMMENTLINE) && (state != SCE_HJ_COMMENT) && (state != SCE_HJ_COMMENTLINE) && (state != SCE_HJ_COMMENTDOC) && (!isStringState(state))) {\n\t\t\t\t//Platform::DebugPrintf(\"state=%d, StateToPrint=%d, initStyle=%d\\n\", state, StateToPrint, initStyle);\n\t\t\t\t//if ((state == SCE_HPHP_OPERATOR) || (state == SCE_HPHP_DEFAULT) || (state == SCE_HJ_SYMBOLS) || (state == SCE_HJ_START) || (state == SCE_HJ_DEFAULT)) {\n\t\t\t\t\tif (ch == '#') {\n\t\t\t\t\t\tSci_Position j = i + 1;\n\t\t\t\t\t\twhile ((j < lengthDoc) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\t\t\tj++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (styler.Match(j, \"region\") || styler.Match(j, \"if\")) {\n\t\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t\t} else if (styler.Match(j, \"end\")) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ((ch == '{') || (ch == '}') || (foldComment && (ch == '/') && (chNext == '*'))) {\n\t\t\t\t\t\tlevelCurrent += (((ch == '{') || (ch == '/')) ? 1 : -1);\n\t\t\t\t\t}\n\t\t\t\t} else if (((state == SCE_HPHP_COMMENT) || (state == SCE_HJ_COMMENT)) && foldComment && (ch == '*') && (chNext == '/')) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase eScriptPython:\n\t\t\t\tif (state != SCE_HP_COMMENTLINE && !isMako) {\n\t\t\t\t\tif ((ch == ':') && ((chNext == '\\n') || (chNext == '\\r' && chNext2 == '\\n'))) {\n\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t} else if ((ch == '\\n') && !((chNext == '\\r') && (chNext2 == '\\n')) && (chNext != '\\n')) {\n\t\t\t\t\t\t// check if the number of tabs is lower than the level\n\t\t\t\t\t\tint Findlevel = (levelCurrent & ~SC_FOLDLEVELBASE) * 8;\n\t\t\t\t\t\tfor (Sci_Position j = 0; Findlevel > 0; j++) {\n\t\t\t\t\t\t\tconst char chTmp = styler.SafeGetCharAt(i + j + 1);\n\t\t\t\t\t\t\tif (chTmp == '\\t') {\n\t\t\t\t\t\t\t\tFindlevel -= 8;\n\t\t\t\t\t\t\t} else if (chTmp == ' ') {\n\t\t\t\t\t\t\t\tFindlevel--;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Findlevel > 0) {\n\t\t\t\t\t\t\tlevelCurrent -= Findlevel / 8;\n\t\t\t\t\t\t\tif (Findlevel % 8)\n\t\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n\t\t\t// Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix)\n\t\t\t// Avoid triggering two times on Dos/Win\n\t\t\t// New line -> record any line state onto /next/ line\n\t\t\tif (fold) {\n\t\t\t\tint lev = levelPrev;\n\t\t\t\tif (visibleChars == 0)\n\t\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t\tvisibleChars = 0;\n\t\t\t\tlevelPrev = levelCurrent;\n\t\t\t}\n\t\t\tstyler.SetLineState(lineCurrent,\n\t\t\t                    ((inScriptType & 0x03) << 0) |\n\t\t\t                    ((tagOpened ? 1 : 0) << 2) |\n\t\t\t                    ((tagClosing ? 1 : 0) << 3) |\n\t\t\t                    ((aspScript & 0x0F) << 4) |\n\t\t\t                    ((clientScript & 0x0F) << 8) |\n\t\t\t                    ((beforePreProc & 0xFF) << 12));\n\t\t\tlineCurrent++;\n\t\t\tlineStartVisibleChars = 0;\n\t\t}\n\n\t\t// handle start of Mako comment line\n\t\tif (isMako && ch == '#' && chNext == '#') {\n\t\t\tmakoComment = 1;\n\t\t\tstate = SCE_HP_COMMENTLINE;\n\t\t}\n\n\t\t// handle end of Mako comment line\n\t\telse if (isMako && makoComment && (ch == '\\r' || ch == '\\n')) {\n\t\t\tmakoComment = 0;\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tif (scriptLanguage == eScriptPython) {\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t} else {\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t}\n\t\t}\n\t\t// Allow falling through to mako handling code if newline is going to end a block\n\t\tif (((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) &&\n\t\t\t(!isMako || (makoBlockType != \"%\"))) {\n\t\t}\n\t\t// Ignore everything in mako comment until the line ends\n\t\telse if (isMako && makoComment) {\n\t\t}\n\n\t\t// generic end of script processing\n\t\telse if ((inScriptType == eNonHtmlScript) && (ch == '<') && (chNext == '/')) {\n\t\t\t// Check if it's the end of the script tag (or any other HTML tag)\n\t\t\tswitch (state) {\n\t\t\t\t// in these cases, you can embed HTML tags (to confirm !!!!!!!!!!!!!!!!!!!!!!)\n\t\t\tcase SCE_H_DOUBLESTRING:\n\t\t\tcase SCE_H_SINGLESTRING:\n\t\t\tcase SCE_HJ_COMMENT:\n\t\t\tcase SCE_HJ_COMMENTDOC:\n\t\t\t//case SCE_HJ_COMMENTLINE: // removed as this is a common thing done to hide\n\t\t\t// the end of script marker from some JS interpreters.\n\t\t\tcase SCE_HB_COMMENTLINE:\n\t\t\tcase SCE_HBA_COMMENTLINE:\n\t\t\tcase SCE_HJ_DOUBLESTRING:\n\t\t\tcase SCE_HJ_SINGLESTRING:\n\t\t\tcase SCE_HJ_REGEX:\n\t\t\tcase SCE_HB_STRING:\n\t\t\tcase SCE_HBA_STRING:\n\t\t\tcase SCE_HP_STRING:\n\t\t\tcase SCE_HP_TRIPLE:\n\t\t\tcase SCE_HP_TRIPLEDOUBLE:\n\t\t\tcase SCE_HPHP_HSTRING:\n\t\t\tcase SCE_HPHP_SIMPLESTRING:\n\t\t\tcase SCE_HPHP_COMMENT:\n\t\t\tcase SCE_HPHP_COMMENTLINE:\n\t\t\t\tbreak;\n\t\t\tdefault :\n\t\t\t\t// check if the closing tag is a script tag\n\t\t\t\tif (const char *tag =\n\t\t\t\t\t\tstate == SCE_HJ_COMMENTLINE || isXml ? \"script\" :\n\t\t\t\t\t\tstate == SCE_H_COMMENT ? \"comment\" : 0) {\n\t\t\t\t\tSci_Position j = i + 2;\n\t\t\t\t\tint chr;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tchr = static_cast<int>(*tag++);\n\t\t\t\t\t} while (chr != 0 && chr == MakeLowerCase(styler.SafeGetCharAt(j++)));\n\t\t\t\t\tif (chr != 0) break;\n\t\t\t\t}\n\t\t\t\t// closing tag of the script (it's a closing HTML tag anyway)\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_TAGUNKNOWN;\n\t\t\t\tinScriptType = eHtml;\n\t\t\t\tscriptLanguage = eScriptNone;\n\t\t\t\tclientScript = eScriptJS;\n\t\t\t\ti += 2;\n\t\t\t\tvisibleChars += 2;\n\t\t\t\ttagClosing = true;\n\t\t\t\tif (foldXmlAtTagOpen) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t/////////////////////////////////////\n\t\t// handle the start of PHP pre-processor = Non-HTML\n\t\telse if ((state != SCE_H_ASPAT) &&\n\t\t         !isStringState(state) &&\n\t\t         (state != SCE_HPHP_COMMENT) &&\n\t\t         (state != SCE_HPHP_COMMENTLINE) &&\n\t\t         (ch == '<') &&\n\t\t         (chNext == '?') &&\n\t\t\t\t !IsScriptCommentState(state)) {\n \t\t\tbeforeLanguage = scriptLanguage;\n\t\t\tscriptLanguage = segIsScriptingIndicator(styler, i + 2, i + 6, isXml ? eScriptXML : eScriptPHP);\n\t\t\tif ((scriptLanguage != eScriptPHP) && (isStringState(state) || (state==SCE_H_COMMENT))) continue;\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tbeforePreProc = state;\n\t\t\ti++;\n\t\t\tvisibleChars++;\n\t\t\ti += PrintScriptingIndicatorOffset(styler, styler.GetStartSegment() + 2, i + 6);\n\t\t\tif (scriptLanguage == eScriptXML)\n\t\t\t\tstyler.ColourTo(i, SCE_H_XMLSTART);\n\t\t\telse\n\t\t\t\tstyler.ColourTo(i, SCE_H_QUESTION);\n\t\t\tstate = StateForScript(scriptLanguage);\n\t\t\tif (inScriptType == eNonHtmlScript)\n\t\t\t\tinScriptType = eNonHtmlScriptPreProc;\n\t\t\telse\n\t\t\t\tinScriptType = eNonHtmlPreProc;\n\t\t\t// Fold whole script, but not if the XML first tag (all XML-like tags in this case)\n\t\t\tif (foldHTMLPreprocessor && (scriptLanguage != eScriptXML)) {\n\t\t\t\tlevelCurrent++;\n\t\t\t}\n\t\t\t// should be better\n\t\t\tch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the start Mako template Python code\n\t\telse if (isMako && scriptLanguage == eScriptNone && ((ch == '<' && chNext == '%') ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (lineStartVisibleChars == 1 && ch == '%') ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (lineStartVisibleChars == 1 && ch == '/' && chNext == '%') ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (ch == '$' && chNext == '{') ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (ch == '<' && chNext == '/' && chNext2 == '%'))) {\n\t\t\tif (ch == '%' || ch == '/')\n\t\t\t\tmakoBlockType = \"%\";\n\t\t\telse if (ch == '$')\n\t\t\t\tmakoBlockType = \"{\";\n\t\t\telse if (chNext == '/')\n\t\t\t\tmakoBlockType = GetNextWord(styler, i+3);\n\t\t\telse\n\t\t\t\tmakoBlockType = GetNextWord(styler, i+2);\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tbeforePreProc = state;\n\t\t\tif (inScriptType == eNonHtmlScript)\n\t\t\t\tinScriptType = eNonHtmlScriptPreProc;\n\t\t\telse\n\t\t\t\tinScriptType = eNonHtmlPreProc;\n\n\t\t\tif (chNext == '/') {\n\t\t\t\ti += 2;\n\t\t\t\tvisibleChars += 2;\n\t\t\t} else if (ch != '%') {\n\t\t\t\ti++;\n\t\t\t\tvisibleChars++;\n\t\t\t}\n\t\t\tstate = SCE_HP_START;\n\t\t\tscriptLanguage = eScriptPython;\n\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\tif (ch != '%' && ch != '$' && ch != '/') {\n\t\t\t\ti += makoBlockType.length();\n\t\t\t\tvisibleChars += static_cast<int>(makoBlockType.length());\n\t\t\t\tif (keywords4.InList(makoBlockType.c_str()))\n\t\t\t\t\tstyler.ColourTo(i, SCE_HP_WORD);\n\t\t\t\telse\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_TAGUNKNOWN);\n\t\t\t}\n\n\t\t\tch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the start/end of Django comment\n\t\telse if (isDjango && state != SCE_H_COMMENT && (ch == '{' && chNext == '#')) {\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tbeforePreProc = state;\n\t\t\tbeforeLanguage = scriptLanguage;\n\t\t\tif (inScriptType == eNonHtmlScript)\n\t\t\t\tinScriptType = eNonHtmlScriptPreProc;\n\t\t\telse\n\t\t\t\tinScriptType = eNonHtmlPreProc;\n\t\t\ti += 1;\n\t\t\tvisibleChars += 1;\n\t\t\tscriptLanguage = eScriptComment;\n\t\t\tstate = SCE_H_COMMENT;\n\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\tch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\tcontinue;\n\t\t} else if (isDjango && state == SCE_H_COMMENT && (ch == '#' && chNext == '}')) {\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\ti += 1;\n\t\t\tvisibleChars += 1;\n\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\tstate = beforePreProc;\n\t\t\tif (inScriptType == eNonHtmlScriptPreProc)\n\t\t\t\tinScriptType = eNonHtmlScript;\n\t\t\telse\n\t\t\t\tinScriptType = eHtml;\n\t\t\tscriptLanguage = beforeLanguage;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the start Django template code\n\t\telse if (isDjango && scriptLanguage != eScriptPython && scriptLanguage != eScriptComment && (ch == '{' && (chNext == '%' ||  chNext == '{'))) {\n\t\t\tif (chNext == '%')\n\t\t\t\tdjangoBlockType = \"%\";\n\t\t\telse\n\t\t\t\tdjangoBlockType = \"{\";\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tbeforePreProc = state;\n\t\t\tif (inScriptType == eNonHtmlScript)\n\t\t\t\tinScriptType = eNonHtmlScriptPreProc;\n\t\t\telse\n\t\t\t\tinScriptType = eNonHtmlPreProc;\n\n\t\t\ti += 1;\n\t\t\tvisibleChars += 1;\n\t\t\tstate = SCE_HP_START;\n\t\t\tbeforeLanguage = scriptLanguage;\n\t\t\tscriptLanguage = eScriptPython;\n\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\n\t\t\tch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the start of ASP pre-processor = Non-HTML\n\t\telse if (!isMako && !isDjango && !isCommentASPState(state) && (ch == '<') && (chNext == '%') && !isPHPStringState(state)) {\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tbeforePreProc = state;\n\t\t\tif (inScriptType == eNonHtmlScript)\n\t\t\t\tinScriptType = eNonHtmlScriptPreProc;\n\t\t\telse\n\t\t\t\tinScriptType = eNonHtmlPreProc;\n\n\t\t\tif (chNext2 == '@') {\n\t\t\t\ti += 2; // place as if it was the second next char treated\n\t\t\t\tvisibleChars += 2;\n\t\t\t\tstate = SCE_H_ASPAT;\n\t\t\t} else if ((chNext2 == '-') && (styler.SafeGetCharAt(i + 3) == '-')) {\n\t\t\t\tstyler.ColourTo(i + 3, SCE_H_ASP);\n\t\t\t\tstate = SCE_H_XCCOMMENT;\n\t\t\t\tscriptLanguage = eScriptVBS;\n\t\t\t\tcontinue;\n\t\t\t} else {\n\t\t\t\tif (chNext2 == '=') {\n\t\t\t\t\ti += 2; // place as if it was the second next char treated\n\t\t\t\t\tvisibleChars += 2;\n\t\t\t\t} else {\n\t\t\t\t\ti++; // place as if it was the next char treated\n\t\t\t\t\tvisibleChars++;\n\t\t\t\t}\n\n\t\t\t\tstate = StateForScript(aspScript);\n\t\t\t}\n\t\t\tscriptLanguage = eScriptVBS;\n\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\t// fold whole script\n\t\t\tif (foldHTMLPreprocessor)\n\t\t\t\tlevelCurrent++;\n\t\t\t// should be better\n\t\t\tch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\tcontinue;\n\t\t}\n\n\t\t/////////////////////////////////////\n\t\t// handle the start of SGML language (DTD)\n\t\telse if (((scriptLanguage == eScriptNone) || (scriptLanguage == eScriptXML)) &&\n\t\t\t\t (chPrev == '<') &&\n\t\t\t\t (ch == '!') &&\n\t\t\t\t (StateToPrint != SCE_H_CDATA) &&\n\t\t\t\t (!IsCommentState(StateToPrint)) &&\n\t\t\t\t (!IsScriptCommentState(StateToPrint))) {\n\t\t\tbeforePreProc = state;\n\t\t\tstyler.ColourTo(i - 2, StateToPrint);\n\t\t\tif ((chNext == '-') && (chNext2 == '-')) {\n\t\t\t\tstate = SCE_H_COMMENT; // wait for a pending command\n\t\t\t\tstyler.ColourTo(i + 2, SCE_H_COMMENT);\n\t\t\t\ti += 2; // follow styling after the --\n\t\t\t} else if (isWordCdata(i + 1, i + 7, styler)) {\n\t\t\t\tstate = SCE_H_CDATA;\n\t\t\t} else {\n\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_DEFAULT); // <! is default\n\t\t\t\tscriptLanguage = eScriptSGML;\n\t\t\t\tstate = SCE_H_SGML_COMMAND; // wait for a pending command\n\t\t\t}\n\t\t\t// fold whole tag (-- when closing the tag)\n\t\t\tif (foldHTMLPreprocessor || state == SCE_H_COMMENT || state == SCE_H_CDATA)\n\t\t\t\tlevelCurrent++;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the end of Mako Python code\n\t\telse if (isMako &&\n\t\t\t     ((inScriptType == eNonHtmlPreProc) || (inScriptType == eNonHtmlScriptPreProc)) &&\n\t\t\t\t (scriptLanguage != eScriptNone) && stateAllowsTermination(state) &&\n\t\t\t\t isMakoBlockEnd(ch, chNext, makoBlockType)) {\n\t\t\tif (state == SCE_H_ASPAT) {\n\t\t\t\taspScript = segIsScriptingIndicator(styler,\n\t\t\t\t                                    styler.GetStartSegment(), i - 1, aspScript);\n\t\t\t}\n\t\t\tif (state == SCE_HP_WORD) {\n\t\t\t\tclassifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako);\n\t\t\t} else {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t}\n\t\t\tif ((makoBlockType != \"%\") && (makoBlockType != \"{\") && ch != '>') {\n\t\t\t\ti++;\n\t\t\t\tvisibleChars++;\n\t\t    }\n\t\t\telse if ((makoBlockType == \"%\") && ch == '/') {\n\t\t\t\ti++;\n\t\t\t\tvisibleChars++;\n\t\t\t}\n\t\t\tif ((makoBlockType != \"%\") || ch == '/') {\n\t\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\t}\n\t\t\tstate = beforePreProc;\n\t\t\tif (inScriptType == eNonHtmlScriptPreProc)\n\t\t\t\tinScriptType = eNonHtmlScript;\n\t\t\telse\n\t\t\t\tinScriptType = eHtml;\n\t\t\tscriptLanguage = eScriptNone;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the end of Django template code\n\t\telse if (isDjango &&\n\t\t\t     ((inScriptType == eNonHtmlPreProc) || (inScriptType == eNonHtmlScriptPreProc)) &&\n\t\t\t\t (scriptLanguage != eScriptNone) && stateAllowsTermination(state) &&\n\t\t\t\t isDjangoBlockEnd(ch, chNext, djangoBlockType)) {\n\t\t\tif (state == SCE_H_ASPAT) {\n\t\t\t\taspScript = segIsScriptingIndicator(styler,\n\t\t\t\t                                    styler.GetStartSegment(), i - 1, aspScript);\n\t\t\t}\n\t\t\tif (state == SCE_HP_WORD) {\n\t\t\t\tclassifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako);\n\t\t\t} else {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t}\n\t\t\ti += 1;\n\t\t\tvisibleChars += 1;\n\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\tstate = beforePreProc;\n\t\t\tif (inScriptType == eNonHtmlScriptPreProc)\n\t\t\t\tinScriptType = eNonHtmlScript;\n\t\t\telse\n\t\t\t\tinScriptType = eHtml;\n\t\t\tscriptLanguage = beforeLanguage;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// handle the end of a pre-processor = Non-HTML\n\t\telse if ((!isMako && !isDjango && ((inScriptType == eNonHtmlPreProc) || (inScriptType == eNonHtmlScriptPreProc)) &&\n\t\t\t\t  (((scriptLanguage != eScriptNone) && stateAllowsTermination(state))) &&\n\t\t\t\t  (((ch == '%') || (ch == '?')) && (chNext == '>'))) ||\n\t\t         ((scriptLanguage == eScriptSGML) && (ch == '>') && (state != SCE_H_SGML_COMMENT))) {\n\t\t\tif (state == SCE_H_ASPAT) {\n\t\t\t\taspScript = segIsScriptingIndicator(styler,\n\t\t\t\t                                    styler.GetStartSegment(), i - 1, aspScript);\n\t\t\t}\n\t\t\t// Bounce out of any ASP mode\n\t\t\tswitch (state) {\n\t\t\tcase SCE_HJ_WORD:\n\t\t\t\tclassifyWordHTJS(styler.GetStartSegment(), i - 1, keywords2, styler, inScriptType);\n\t\t\t\tbreak;\n\t\t\tcase SCE_HB_WORD:\n\t\t\t\tclassifyWordHTVB(styler.GetStartSegment(), i - 1, keywords3, styler, inScriptType);\n\t\t\t\tbreak;\n\t\t\tcase SCE_HP_WORD:\n\t\t\t\tclassifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako);\n\t\t\t\tbreak;\n\t\t\tcase SCE_HPHP_WORD:\n\t\t\t\tclassifyWordHTPHP(styler.GetStartSegment(), i - 1, keywords5, styler);\n\t\t\t\tbreak;\n\t\t\tcase SCE_H_XCCOMMENT:\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tbreak;\n\t\t\tdefault :\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (scriptLanguage != eScriptSGML) {\n\t\t\t\ti++;\n\t\t\t\tvisibleChars++;\n\t\t\t}\n\t\t\tif (ch == '%')\n\t\t\t\tstyler.ColourTo(i, SCE_H_ASP);\n\t\t\telse if (scriptLanguage == eScriptXML)\n\t\t\t\tstyler.ColourTo(i, SCE_H_XMLEND);\n\t\t\telse if (scriptLanguage == eScriptSGML)\n\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_DEFAULT);\n\t\t\telse\n\t\t\t\tstyler.ColourTo(i, SCE_H_QUESTION);\n\t\t\tstate = beforePreProc;\n\t\t\tif (inScriptType == eNonHtmlScriptPreProc)\n\t\t\t\tinScriptType = eNonHtmlScript;\n\t\t\telse\n\t\t\t\tinScriptType = eHtml;\n\t\t\t// Unfold all scripting languages, except for XML tag\n\t\t\tif (foldHTMLPreprocessor && (scriptLanguage != eScriptXML)) {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t\tscriptLanguage = beforeLanguage;\n\t\t\tcontinue;\n\t\t}\n\t\t/////////////////////////////////////\n\n\t\tswitch (state) {\n\t\tcase SCE_H_DEFAULT:\n\t\t\tif (ch == '<') {\n\t\t\t\t// in HTML, fold on tag open and unfold on tag close\n\t\t\t\ttagOpened = true;\n\t\t\t\ttagClosing = (chNext == '/');\n\t\t\t\tif (foldXmlAtTagOpen && !(chNext == '/' || chNext == '?' || chNext == '!' || chNext == '-' || chNext == '%')) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t}\n\t\t\t\tif (foldXmlAtTagOpen && chNext == '/') {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tif (chNext != '!')\n\t\t\t\t\tstate = SCE_H_TAGUNKNOWN;\n\t\t\t} else if (ch == '&') {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_H_DEFAULT);\n\t\t\t\tstate = SCE_H_ENTITY;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_DEFAULT:\n\t\tcase SCE_H_SGML_BLOCK_DEFAULT:\n//\t\t\tif (scriptLanguage == eScriptSGMLblock)\n//\t\t\t\tStateToPrint = SCE_H_SGML_BLOCK_DEFAULT;\n\n\t\t\tif (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_DOUBLESTRING;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_SIMPLESTRING;\n\t\t\t} else if ((ch == '-') && (chPrev == '-')) {\n\t\t\t\tif (static_cast<Sci_Position>(styler.GetStartSegment()) <= (i - 2)) {\n\t\t\t\t\tstyler.ColourTo(i - 2, StateToPrint);\n\t\t\t\t}\n\t\t\t\tstate = SCE_H_SGML_COMMENT;\n\t\t\t} else if (IsASCII(ch) && isalpha(ch) && (chPrev == '%')) {\n\t\t\t\tstyler.ColourTo(i - 2, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_ENTITY;\n\t\t\t} else if (ch == '#') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_SPECIAL;\n\t\t\t} else if (ch == '[') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tscriptLanguage = eScriptSGMLblock;\n\t\t\t\tstate = SCE_H_SGML_BLOCK_DEFAULT;\n\t\t\t} else if (ch == ']') {\n\t\t\t\tif (scriptLanguage == eScriptSGMLblock) {\n\t\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\t\tscriptLanguage = eScriptSGML;\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_ERROR);\n\t\t\t\t}\n\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t} else if (scriptLanguage == eScriptSGMLblock) {\n\t\t\t\tif ((ch == '!') && (chPrev == '<')) {\n\t\t\t\t\tstyler.ColourTo(i - 2, StateToPrint);\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_DEFAULT);\n\t\t\t\t\tstate = SCE_H_SGML_COMMAND;\n\t\t\t\t} else if (ch == '>') {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_COMMAND:\n\t\t\tif ((ch == '-') && (chPrev == '-')) {\n\t\t\t\tstyler.ColourTo(i - 2, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_COMMENT;\n\t\t\t} else if (!issgmlwordchar(ch)) {\n\t\t\t\tif (isWordHSGML(styler.GetStartSegment(), i - 1, keywords6, styler)) {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstate = SCE_H_SGML_1ST_PARAM;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_H_SGML_ERROR;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_1ST_PARAM:\n\t\t\t// wait for the beginning of the word\n\t\t\tif ((ch == '-') && (chPrev == '-')) {\n\t\t\t\tif (scriptLanguage == eScriptSGMLblock) {\n\t\t\t\t\tstyler.ColourTo(i - 2, SCE_H_SGML_BLOCK_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i - 2, SCE_H_SGML_DEFAULT);\n\t\t\t\t}\n\t\t\t\tstate = SCE_H_SGML_1ST_PARAM_COMMENT;\n\t\t\t} else if (issgmlwordchar(ch)) {\n\t\t\t\tif (scriptLanguage == eScriptSGMLblock) {\n\t\t\t\t\tstyler.ColourTo(i - 1, SCE_H_SGML_BLOCK_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i - 1, SCE_H_SGML_DEFAULT);\n\t\t\t\t}\n\t\t\t\t// find the length of the word\n\t\t\t\tint size = 1;\n\t\t\t\twhile (setHTMLWord.Contains(static_cast<unsigned char>(styler.SafeGetCharAt(i + size))))\n\t\t\t\t\tsize++;\n\t\t\t\tstyler.ColourTo(i + size - 1, StateToPrint);\n\t\t\t\ti += size - 1;\n\t\t\t\tvisibleChars += size - 1;\n\t\t\t\tch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\t\tif (scriptLanguage == eScriptSGMLblock) {\n\t\t\t\t\tstate = SCE_H_SGML_BLOCK_DEFAULT;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_ERROR:\n\t\t\tif ((ch == '-') && (chPrev == '-')) {\n\t\t\t\tstyler.ColourTo(i - 2, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_COMMENT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_DOUBLESTRING:\n\t\t\tif (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_SIMPLESTRING:\n\t\t\tif (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_COMMENT:\n\t\t\tif ((ch == '-') && (chPrev == '-')) {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_CDATA:\n\t\t\tif ((chPrev2 == ']') && (chPrev == ']') && (ch == '>')) {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_COMMENT:\n\t\t\tif ((scriptLanguage != eScriptComment) && (chPrev2 == '-') && (chPrev == '-') && (ch == '>')) {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_1ST_PARAM_COMMENT:\n\t\t\tif ((ch == '-') && (chPrev == '-')) {\n\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_COMMENT);\n\t\t\t\tstate = SCE_H_SGML_1ST_PARAM;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_SPECIAL:\n\t\t\tif (!(IsASCII(ch) && isupper(ch))) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tif (isalnum(ch)) {\n\t\t\t\t\tstate = SCE_H_SGML_ERROR;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SGML_ENTITY:\n\t\t\tif (ch == ';') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t} else if (!(IsASCII(ch) && isalnum(ch)) && ch != '-' && ch != '.') {\n\t\t\t\tstyler.ColourTo(i, SCE_H_SGML_ERROR);\n\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_ENTITY:\n\t\t\tif (ch == ';') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t}\n\t\t\tif (ch != '#' && !(IsASCII(ch) && isalnum(ch))\t// Should check that '#' follows '&', but it is unlikely anyway...\n\t\t\t\t&& ch != '.' && ch != '-' && ch != '_' && ch != ':') { // valid in XML\n\t\t\t\tif (!IsASCII(ch))\t// Possibly start of a multibyte character so don't allow this byte to be in entity style\n\t\t\t\t\tstyler.ColourTo(i-1, SCE_H_TAGUNKNOWN);\n\t\t\t\telse\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_TAGUNKNOWN);\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_TAGUNKNOWN:\n\t\t\tif (!setTagContinue.Contains(ch) && !((ch == '/') && (chPrev == '<'))) {\n\t\t\t\tint eClass = classifyTagHTML(styler.GetStartSegment(),\n\t\t\t\t\ti - 1, keywords, styler, tagDontFold, caseSensitive, isXml, allowScripts, nonFoldingTags);\n\t\t\t\tif (eClass == SCE_H_SCRIPT || eClass == SCE_H_COMMENT) {\n\t\t\t\t\tif (!tagClosing) {\n\t\t\t\t\t\tinScriptType = eNonHtmlScript;\n\t\t\t\t\t\tscriptLanguage = eClass == SCE_H_SCRIPT ? clientScript : eScriptComment;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscriptLanguage = eScriptNone;\n\t\t\t\t\t}\n\t\t\t\t\teClass = SCE_H_TAG;\n\t\t\t\t}\n\t\t\t\tif (ch == '>') {\n\t\t\t\t\tstyler.ColourTo(i, eClass);\n\t\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\t\tstate = StateForScript(scriptLanguage);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t\ttagOpened = false;\n\t\t\t\t\tif (!(foldXmlAtTagOpen || tagDontFold)) {\n\t\t\t\t\t\tif (tagClosing) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ttagClosing = false;\n\t\t\t\t} else if (ch == '/' && chNext == '>') {\n\t\t\t\t\tif (eClass == SCE_H_TAGUNKNOWN) {\n\t\t\t\t\t\tstyler.ColourTo(i + 1, SCE_H_TAGUNKNOWN);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\t\tstyler.ColourTo(i + 1, SCE_H_TAGEND);\n\t\t\t\t\t}\n\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\t\ttagOpened = false;\n\t\t\t\t\tif (foldXmlAtTagOpen) {\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (eClass != SCE_H_TAGUNKNOWN) {\n\t\t\t\t\t\tif (eClass == SCE_H_SGML_DEFAULT) {\n\t\t\t\t\t\t\tstate = SCE_H_SGML_DEFAULT;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate = SCE_H_OTHER;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_ATTRIBUTE:\n\t\t\tif (!setAttributeContinue.Contains(ch)) {\n\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\tconst int scriptLanguagePrev = scriptLanguage;\n\t\t\t\t\tclientScript = segIsScriptingIndicator(styler, styler.GetStartSegment(), i - 1, scriptLanguage);\n\t\t\t\t\tscriptLanguage = clientScript;\n\t\t\t\t\tif ((scriptLanguagePrev != scriptLanguage) && (scriptLanguage == eScriptNone))\n\t\t\t\t\t\tinScriptType = eHtml;\n\t\t\t\t}\n\t\t\t\tclassifyAttribHTML(styler.GetStartSegment(), i - 1, keywords, styler);\n\t\t\t\tif (ch == '>') {\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_TAG);\n\t\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\t\tstate = StateForScript(scriptLanguage);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t\ttagOpened = false;\n\t\t\t\t\tif (!(foldXmlAtTagOpen || tagDontFold)) {\n\t\t\t\t\t\tif (tagClosing) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ttagClosing = false;\n\t\t\t\t} else if (ch == '=') {\n\t\t\t\t\tstyler.ColourTo(i, SCE_H_OTHER);\n\t\t\t\t\tstate = SCE_H_VALUE;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_H_OTHER;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_OTHER:\n\t\t\tif (ch == '>') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstyler.ColourTo(i, SCE_H_TAG);\n\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\tstate = StateForScript(scriptLanguage);\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\t}\n\t\t\t\ttagOpened = false;\n\t\t\t\tif (!(foldXmlAtTagOpen || tagDontFold)) {\n\t\t\t\t\tif (tagClosing) {\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttagClosing = false;\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_DOUBLESTRING;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_SINGLESTRING;\n\t\t\t} else if (ch == '=') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_H_VALUE;\n\t\t\t} else if (ch == '/' && chNext == '>') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstyler.ColourTo(i + 1, SCE_H_TAGEND);\n\t\t\t\ti++;\n\t\t\t\tch = chNext;\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\ttagOpened = false;\n\t\t\t\tif (foldXmlAtTagOpen) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t} else if (ch == '?' && chNext == '>') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstyler.ColourTo(i + 1, SCE_H_XMLEND);\n\t\t\t\ti++;\n\t\t\t\tch = chNext;\n\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t} else if (setHTMLWord.Contains(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_H_ATTRIBUTE;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_DOUBLESTRING:\n\t\t\tif (ch == '\\\"') {\n\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\tscriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment(), i, scriptLanguage);\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i, SCE_H_DOUBLESTRING);\n\t\t\t\tstate = SCE_H_OTHER;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_SINGLESTRING:\n\t\t\tif (ch == '\\'') {\n\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\tscriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment(), i, scriptLanguage);\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i, SCE_H_SINGLESTRING);\n\t\t\t\tstate = SCE_H_OTHER;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_H_VALUE:\n\t\t\tif (!setHTMLWord.Contains(ch)) {\n\t\t\t\tif (ch == '\\\"' && chPrev == '=') {\n\t\t\t\t\t// Should really test for being first character\n\t\t\t\t\tstate = SCE_H_DOUBLESTRING;\n\t\t\t\t} else if (ch == '\\'' && chPrev == '=') {\n\t\t\t\t\tstate = SCE_H_SINGLESTRING;\n\t\t\t\t} else {\n\t\t\t\t\tif (IsNumber(styler.GetStartSegment(), styler)) {\n\t\t\t\t\t\tstyler.ColourTo(i - 1, SCE_H_NUMBER);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\t}\n\t\t\t\t\tif (ch == '>') {\n\t\t\t\t\t\tstyler.ColourTo(i, SCE_H_TAG);\n\t\t\t\t\t\tif (inScriptType == eNonHtmlScript) {\n\t\t\t\t\t\t\tstate = StateForScript(scriptLanguage);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate = SCE_H_DEFAULT;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagOpened = false;\n\t\t\t\t\t\tif (!tagDontFold) {\n\t\t\t\t\t\t\tif (tagClosing) {\n\t\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagClosing = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = SCE_H_OTHER;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_DEFAULT:\n\t\tcase SCE_HJ_START:\n\t\tcase SCE_HJ_SYMBOLS:\n\t\t\tif (IsAWordStart(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_WORD;\n\t\t\t} else if (ch == '/' && chNext == '*') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tif (chNext2 == '*')\n\t\t\t\t\tstate = SCE_HJ_COMMENTDOC;\n\t\t\t\telse\n\t\t\t\t\tstate = SCE_HJ_COMMENT;\n\t\t\t\tif (chNext2 == '/') {\n\t\t\t\t\t// Eat the * so it isn't used for the end of the comment\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t} else if (ch == '/' && chNext == '/') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t} else if (ch == '/' && setOKBeforeJSRE.Contains(chPrevNonWhite)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_REGEX;\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_DOUBLESTRING;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_SINGLESTRING;\n\t\t\t} else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') &&\n\t\t\t           styler.SafeGetCharAt(i + 3) == '-') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t} else if ((ch == '-') && (chNext == '-') && (chNext2 == '>')) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t\ti += 2;\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType));\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t} else if ((ch == ' ') || (ch == '\\t')) {\n\t\t\t\tif (state == SCE_HJ_START) {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_WORD:\n\t\t\tif (!IsAWordChar(ch)) {\n\t\t\t\tclassifyWordHTJS(styler.GetStartSegment(), i - 1, keywords2, styler, inScriptType);\n\t\t\t\t//styler.ColourTo(i - 1, eHTJSKeyword);\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t\tif (ch == '/' && chNext == '*') {\n\t\t\t\t\tif (chNext2 == '*')\n\t\t\t\t\t\tstate = SCE_HJ_COMMENTDOC;\n\t\t\t\t\telse\n\t\t\t\t\t\tstate = SCE_HJ_COMMENT;\n\t\t\t\t} else if (ch == '/' && chNext == '/') {\n\t\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t\t} else if (ch == '\\\"') {\n\t\t\t\t\tstate = SCE_HJ_DOUBLESTRING;\n\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\tstate = SCE_HJ_SINGLESTRING;\n\t\t\t\t} else if ((ch == '-') && (chNext == '-') && (chNext2 == '>')) {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t\t\ti += 2;\n\t\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType));\n\t\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_COMMENT:\n\t\tcase SCE_HJ_COMMENTDOC:\n\t\t\tif (ch == '/' && chPrev == '*') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t\tch = ' ';\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_COMMENTLINE:\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, statePrintForState(SCE_HJ_COMMENTLINE, inScriptType));\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t\tch = ' ';\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_DOUBLESTRING:\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HJ_DOUBLESTRING, inScriptType));\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t} else if ((inScriptType == eNonHtmlScript) && (ch == '-') && (chNext == '-') && (chNext2 == '>')) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t\ti += 2;\n\t\t\t} else if (isLineEnd(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_STRINGEOL;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_SINGLESTRING:\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HJ_SINGLESTRING, inScriptType));\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t} else if ((inScriptType == eNonHtmlScript) && (ch == '-') && (chNext == '-') && (chNext2 == '>')) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t\ti += 2;\n\t\t\t} else if (isLineEnd(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tif (chPrev != '\\\\' && (chPrev2 != '\\\\' || chPrev != '\\r' || ch != '\\n')) {\n\t\t\t\t\tstate = SCE_HJ_STRINGEOL;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_STRINGEOL:\n\t\t\tif (!isLineEnd(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t} else if (!isLineEnd(chNext)) {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HJ_REGEX:\n\t\t\tif (ch == '\\r' || ch == '\\n' || ch == '/') {\n\t\t\t\tif (ch == '/') {\n\t\t\t\t\twhile (IsASCII(chNext) && islower(chNext)) {   // gobble regex flags\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\tch = chNext;\n\t\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HJ_DEFAULT;\n\t\t\t} else if (ch == '\\\\') {\n\t\t\t\t// Gobble up the quoted character\n\t\t\t\tif (chNext == '\\\\' || chNext == '/') {\n\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HB_DEFAULT:\n\t\tcase SCE_HB_START:\n\t\t\tif (IsAWordStart(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_WORD;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_COMMENTLINE;\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_STRING;\n\t\t\t} else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') &&\n\t\t\t           styler.SafeGetCharAt(i + 3) == '-') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_COMMENTLINE;\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HB_DEFAULT, inScriptType));\n\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t} else if ((ch == ' ') || (ch == '\\t')) {\n\t\t\t\tif (state == SCE_HB_START) {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HB_WORD:\n\t\t\tif (!IsAWordChar(ch)) {\n\t\t\t\tstate = classifyWordHTVB(styler.GetStartSegment(), i - 1, keywords3, styler, inScriptType);\n\t\t\t\tif (state == SCE_HB_DEFAULT) {\n\t\t\t\t\tif (ch == '\\\"') {\n\t\t\t\t\t\tstate = SCE_HB_STRING;\n\t\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\t\tstate = SCE_HB_COMMENTLINE;\n\t\t\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HB_DEFAULT, inScriptType));\n\t\t\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HB_STRING:\n\t\t\tif (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t} else if (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_STRINGEOL;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HB_COMMENTLINE:\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HB_STRINGEOL:\n\t\t\tif (!isLineEnd(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t} else if (!isLineEnd(chNext)) {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HB_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_DEFAULT:\n\t\tcase SCE_HP_START:\n\t\t\tif (IsAWordStart(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HP_WORD;\n\t\t\t} else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') &&\n\t\t\t           styler.SafeGetCharAt(i + 3) == '-') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HP_COMMENTLINE;\n\t\t\t} else if (ch == '#') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HP_COMMENTLINE;\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tif (chNext == '\\\"' && chNext2 == '\\\"') {\n\t\t\t\t\ti += 2;\n\t\t\t\t\tstate = SCE_HP_TRIPLEDOUBLE;\n\t\t\t\t\tch = ' ';\n\t\t\t\t\tchPrev = ' ';\n\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t} else {\n\t\t\t\t\t//\t\t\t\t\tstate = statePrintForState(SCE_HP_STRING,inScriptType);\n\t\t\t\t\tstate = SCE_HP_STRING;\n\t\t\t\t}\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tif (chNext == '\\'' && chNext2 == '\\'') {\n\t\t\t\t\ti += 2;\n\t\t\t\t\tstate = SCE_HP_TRIPLE;\n\t\t\t\t\tch = ' ';\n\t\t\t\t\tchPrev = ' ';\n\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_HP_CHARACTER;\n\t\t\t\t}\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HP_OPERATOR, inScriptType));\n\t\t\t} else if ((ch == ' ') || (ch == '\\t')) {\n\t\t\t\tif (state == SCE_HP_START) {\n\t\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_WORD:\n\t\t\tif (!IsAWordChar(ch)) {\n\t\t\t\tclassifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako);\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t\tif (ch == '#') {\n\t\t\t\t\tstate = SCE_HP_COMMENTLINE;\n\t\t\t\t} else if (ch == '\\\"') {\n\t\t\t\t\tif (chNext == '\\\"' && chNext2 == '\\\"') {\n\t\t\t\t\t\ti += 2;\n\t\t\t\t\t\tstate = SCE_HP_TRIPLEDOUBLE;\n\t\t\t\t\t\tch = ' ';\n\t\t\t\t\t\tchPrev = ' ';\n\t\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = SCE_HP_STRING;\n\t\t\t\t\t}\n\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\tif (chNext == '\\'' && chNext2 == '\\'') {\n\t\t\t\t\t\ti += 2;\n\t\t\t\t\t\tstate = SCE_HP_TRIPLE;\n\t\t\t\t\t\tch = ' ';\n\t\t\t\t\t\tchPrev = ' ';\n\t\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = SCE_HP_CHARACTER;\n\t\t\t\t\t}\n\t\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HP_OPERATOR, inScriptType));\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_COMMENTLINE:\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_STRING:\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t}\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_CHARACTER:\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(i + 1));\n\t\t\t\t}\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_TRIPLE:\n\t\t\tif (ch == '\\'' && chPrev == '\\'' && chPrev2 == '\\'') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HP_TRIPLEDOUBLE:\n\t\t\tif (ch == '\\\"' && chPrev == '\\\"' && chPrev2 == '\\\"') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\t\t///////////// start - PHP state handling\n\t\tcase SCE_HPHP_WORD:\n\t\t\tif (!IsAWordChar(ch)) {\n\t\t\t\tclassifyWordHTPHP(styler.GetStartSegment(), i - 1, keywords5, styler);\n\t\t\t\tif (ch == '/' && chNext == '*') {\n\t\t\t\t\ti++;\n\t\t\t\t\tstate = SCE_HPHP_COMMENT;\n\t\t\t\t} else if (ch == '/' && chNext == '/') {\n\t\t\t\t\ti++;\n\t\t\t\t\tstate = SCE_HPHP_COMMENTLINE;\n\t\t\t\t} else if (ch == '#') {\n\t\t\t\t\tstate = SCE_HPHP_COMMENTLINE;\n\t\t\t\t} else if (ch == '\\\"') {\n\t\t\t\t\tstate = SCE_HPHP_HSTRING;\n\t\t\t\t\tphpStringDelimiter = \"\\\"\";\n\t\t\t\t} else if (styler.Match(i, \"<<<\")) {\n\t\t\t\t\tbool isSimpleString = false;\n\t\t\t\t\ti = FindPhpStringDelimiter(phpStringDelimiter, i + 3, lengthDoc, styler, isSimpleString);\n\t\t\t\t\tif (!phpStringDelimiter.empty()) {\n\t\t\t\t\t\tstate = (isSimpleString ? SCE_HPHP_SIMPLESTRING : SCE_HPHP_HSTRING);\n\t\t\t\t\t\tif (foldHeredoc) levelCurrent++;\n\t\t\t\t\t}\n\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\tstate = SCE_HPHP_SIMPLESTRING;\n\t\t\t\t\tphpStringDelimiter = \"\\'\";\n\t\t\t\t} else if (ch == '$' && IsPhpWordStart(chNext)) {\n\t\t\t\t\tstate = SCE_HPHP_VARIABLE;\n\t\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\t\tstate = SCE_HPHP_OPERATOR;\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_NUMBER:\n\t\t\t// recognize bases 8,10 or 16 integers OR floating-point numbers\n\t\t\tif (!IsADigit(ch)\n\t\t\t\t&& strchr(\".xXabcdefABCDEF\", ch) == NULL\n\t\t\t\t&& ((ch != '-' && ch != '+') || (chPrev != 'e' && chPrev != 'E'))) {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_HPHP_NUMBER);\n\t\t\t\tif (IsOperator(ch))\n\t\t\t\t\tstate = SCE_HPHP_OPERATOR;\n\t\t\t\telse\n\t\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_VARIABLE:\n\t\t\tif (!IsPhpWordChar(chNext)) {\n\t\t\t\tstyler.ColourTo(i, SCE_HPHP_VARIABLE);\n\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_COMMENT:\n\t\t\tif (ch == '/' && chPrev == '*') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_COMMENTLINE:\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_HSTRING:\n\t\t\tif (ch == '\\\\' && ((phpStringDelimiter == \"\\\"\") || chNext == '$' || chNext == '{')) {\n\t\t\t\t// skip the next char\n\t\t\t\ti++;\n\t\t\t} else if (((ch == '{' && chNext == '$') || (ch == '$' && chNext == '{'))\n\t\t\t\t&& IsPhpWordStart(chNext2)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HPHP_COMPLEX_VARIABLE;\n\t\t\t} else if (ch == '$' && IsPhpWordStart(chNext)) {\n\t\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\t\tstate = SCE_HPHP_HSTRING_VARIABLE;\n\t\t\t} else if (styler.Match(i, phpStringDelimiter.c_str())) {\n\t\t\t\tif (phpStringDelimiter == \"\\\"\") {\n\t\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t\t} else if (isLineEnd(chPrev)) {\n\t\t\t\t\tconst int psdLength = static_cast<int>(phpStringDelimiter.length());\n\t\t\t\t\tconst char chAfterPsd = styler.SafeGetCharAt(i + psdLength);\n\t\t\t\t\tconst char chAfterPsd2 = styler.SafeGetCharAt(i + psdLength + 1);\n\t\t\t\t\tif (isLineEnd(chAfterPsd) ||\n\t\t\t\t\t\t(chAfterPsd == ';' && isLineEnd(chAfterPsd2))) {\n\t\t\t\t\t\t\ti += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1;\n\t\t\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t\t\t\tif (foldHeredoc) levelCurrent--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_SIMPLESTRING:\n\t\t\tif (phpStringDelimiter == \"\\'\") {\n\t\t\t\tif (ch == '\\\\') {\n\t\t\t\t\t// skip the next char\n\t\t\t\t\ti++;\n\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (isLineEnd(chPrev) && styler.Match(i, phpStringDelimiter.c_str())) {\n\t\t\t\tconst int psdLength = static_cast<int>(phpStringDelimiter.length());\n\t\t\t\tconst char chAfterPsd = styler.SafeGetCharAt(i + psdLength);\n\t\t\t\tconst char chAfterPsd2 = styler.SafeGetCharAt(i + psdLength + 1);\n\t\t\t\tif (isLineEnd(chAfterPsd) ||\n\t\t\t\t(chAfterPsd == ';' && isLineEnd(chAfterPsd2))) {\n\t\t\t\t\ti += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1;\n\t\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t\t\tif (foldHeredoc) levelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_HSTRING_VARIABLE:\n\t\t\tif (!IsPhpWordChar(chNext)) {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HPHP_HSTRING;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_COMPLEX_VARIABLE:\n\t\t\tif (ch == '}') {\n\t\t\t\tstyler.ColourTo(i, StateToPrint);\n\t\t\t\tstate = SCE_HPHP_HSTRING;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_HPHP_OPERATOR:\n\t\tcase SCE_HPHP_DEFAULT:\n\t\t\tstyler.ColourTo(i - 1, StateToPrint);\n\t\t\tif (IsADigit(ch) || (ch == '.' && IsADigit(chNext))) {\n\t\t\t\tstate = SCE_HPHP_NUMBER;\n\t\t\t} else if (IsAWordStart(ch)) {\n\t\t\t\tstate = SCE_HPHP_WORD;\n\t\t\t} else if (ch == '/' && chNext == '*') {\n\t\t\t\ti++;\n\t\t\t\tstate = SCE_HPHP_COMMENT;\n\t\t\t} else if (ch == '/' && chNext == '/') {\n\t\t\t\ti++;\n\t\t\t\tstate = SCE_HPHP_COMMENTLINE;\n\t\t\t} else if (ch == '#') {\n\t\t\t\tstate = SCE_HPHP_COMMENTLINE;\n\t\t\t} else if (ch == '\\\"') {\n\t\t\t\tstate = SCE_HPHP_HSTRING;\n\t\t\t\tphpStringDelimiter = \"\\\"\";\n\t\t\t} else if (styler.Match(i, \"<<<\")) {\n\t\t\t\tbool isSimpleString = false;\n\t\t\t\ti = FindPhpStringDelimiter(phpStringDelimiter, i + 3, lengthDoc, styler, isSimpleString);\n\t\t\t\tif (!phpStringDelimiter.empty()) {\n\t\t\t\t\tstate = (isSimpleString ? SCE_HPHP_SIMPLESTRING : SCE_HPHP_HSTRING);\n\t\t\t\t\tif (foldHeredoc) levelCurrent++;\n\t\t\t\t}\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstate = SCE_HPHP_SIMPLESTRING;\n\t\t\t\tphpStringDelimiter = \"\\'\";\n\t\t\t} else if (ch == '$' && IsPhpWordStart(chNext)) {\n\t\t\t\tstate = SCE_HPHP_VARIABLE;\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstate = SCE_HPHP_OPERATOR;\n\t\t\t} else if ((state == SCE_HPHP_OPERATOR) && (IsASpace(ch))) {\n\t\t\t\tstate = SCE_HPHP_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\t\t///////////// end - PHP state handling\n\t\t}\n\n\t\t// Some of the above terminated their lexeme but since the same character starts\n\t\t// the same class again, only reenter if non empty segment.\n\n\t\tconst bool nonEmptySegment = i >= static_cast<Sci_Position>(styler.GetStartSegment());\n\t\tif (state == SCE_HB_DEFAULT) {    // One of the above succeeded\n\t\t\tif ((ch == '\\\"') && (nonEmptySegment)) {\n\t\t\t\tstate = SCE_HB_STRING;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstate = SCE_HB_COMMENTLINE;\n\t\t\t} else if (IsAWordStart(ch)) {\n\t\t\t\tstate = SCE_HB_WORD;\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstyler.ColourTo(i, SCE_HB_DEFAULT);\n\t\t\t}\n\t\t} else if (state == SCE_HBA_DEFAULT) {    // One of the above succeeded\n\t\t\tif ((ch == '\\\"') && (nonEmptySegment)) {\n\t\t\t\tstate = SCE_HBA_STRING;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstate = SCE_HBA_COMMENTLINE;\n\t\t\t} else if (IsAWordStart(ch)) {\n\t\t\t\tstate = SCE_HBA_WORD;\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstyler.ColourTo(i, SCE_HBA_DEFAULT);\n\t\t\t}\n\t\t} else if (state == SCE_HJ_DEFAULT) {    // One of the above succeeded\n\t\t\tif (ch == '/' && chNext == '*') {\n\t\t\t\tif (styler.SafeGetCharAt(i + 2) == '*')\n\t\t\t\t\tstate = SCE_HJ_COMMENTDOC;\n\t\t\t\telse\n\t\t\t\t\tstate = SCE_HJ_COMMENT;\n\t\t\t} else if (ch == '/' && chNext == '/') {\n\t\t\t\tstate = SCE_HJ_COMMENTLINE;\n\t\t\t} else if ((ch == '\\\"') && (nonEmptySegment)) {\n\t\t\t\tstate = SCE_HJ_DOUBLESTRING;\n\t\t\t} else if ((ch == '\\'') && (nonEmptySegment)) {\n\t\t\t\tstate = SCE_HJ_SINGLESTRING;\n\t\t\t} else if (IsAWordStart(ch)) {\n\t\t\t\tstate = SCE_HJ_WORD;\n\t\t\t} else if (IsOperator(ch)) {\n\t\t\t\tstyler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType));\n\t\t\t}\n\t\t}\n\t}\n\n\tswitch (state) {\n\tcase SCE_HJ_WORD:\n\t\tclassifyWordHTJS(styler.GetStartSegment(), lengthDoc - 1, keywords2, styler, inScriptType);\n\t\tbreak;\n\tcase SCE_HB_WORD:\n\t\tclassifyWordHTVB(styler.GetStartSegment(), lengthDoc - 1, keywords3, styler, inScriptType);\n\t\tbreak;\n\tcase SCE_HP_WORD:\n\t\tclassifyWordHTPy(styler.GetStartSegment(), lengthDoc - 1, keywords4, styler, prevWord, inScriptType, isMako);\n\t\tbreak;\n\tcase SCE_HPHP_WORD:\n\t\tclassifyWordHTPHP(styler.GetStartSegment(), lengthDoc - 1, keywords5, styler);\n\t\tbreak;\n\tdefault:\n\t\tStateToPrint = statePrintForState(state, inScriptType);\n\t\tif (static_cast<Sci_Position>(styler.GetStartSegment()) < lengthDoc)\n\t\t\tstyler.ColourTo(lengthDoc - 1, StateToPrint);\n\t\tbreak;\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tif (fold) {\n\t\tconst int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\t\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n\t}\n\tstyler.Flush();\n}\n\nLexerModule lmHTML(SCLEX_HTML, LexerHTML::LexerFactoryHTML, \"hypertext\", htmlWordListDesc);\nLexerModule lmXML(SCLEX_XML, LexerHTML::LexerFactoryXML, \"xml\", htmlWordListDesc);\nLexerModule lmPHPSCRIPT(SCLEX_PHPSCRIPT, LexerHTML::LexerFactoryPHPScript, \"phpscript\", phpscriptWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexHaskell.cpp",
    "content": "/******************************************************************\n *    LexHaskell.cxx\n *\n *    A haskell lexer for the scintilla code control.\n *    Some stuff \"lended\" from LexPython.cxx and LexCPP.cxx.\n *    External lexer stuff inspired from the caml external lexer.\n *    Folder copied from Python's.\n *\n *    Written by Tobias Engvall - tumm at dtek dot chalmers dot se\n *\n *    Several bug fixes by Krasimir Angelov - kr.angelov at gmail.com\n *\n *    Improved by kudah <kudahkukarek@gmail.com>\n *\n *    TODO:\n *    * A proper lexical folder to fold group declarations, comments, pragmas,\n *      #ifdefs, explicit layout, lists, tuples, quasi-quotes, splces, etc, etc,\n *      etc.\n *\n *****************************************************************/\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"CharacterCategory.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\n// See https://github.com/ghc/ghc/blob/master/compiler/parser/Lexer.x#L1682\n// Note, letter modifiers are prohibited.\n\nstatic int u_iswupper (int ch) {\n   CharacterCategory c = CategoriseCharacter(ch);\n   return c == ccLu || c == ccLt;\n}\n\nstatic int u_iswalpha (int ch) {\n   CharacterCategory c = CategoriseCharacter(ch);\n   return c == ccLl || c == ccLu || c == ccLt || c == ccLo;\n}\n\nstatic int u_iswalnum (int ch) {\n   CharacterCategory c = CategoriseCharacter(ch);\n   return c == ccLl || c == ccLu || c == ccLt || c == ccLo\n       || c == ccNd || c == ccNo;\n}\n\nstatic int u_IsHaskellSymbol(int ch) {\n   CharacterCategory c = CategoriseCharacter(ch);\n   return c == ccPc || c == ccPd || c == ccPo\n       || c == ccSm || c == ccSc || c == ccSk || c == ccSo;\n}\n\nstatic inline bool IsHaskellLetter(const int ch) {\n   if (IsASCII(ch)) {\n      return (ch >= 'a' && ch <= 'z')\n          || (ch >= 'A' && ch <= 'Z');\n   } else {\n      return u_iswalpha(ch) != 0;\n   }\n}\n\nstatic inline bool IsHaskellAlphaNumeric(const int ch) {\n   if (IsASCII(ch)) {\n      return IsAlphaNumeric(ch);\n   } else {\n      return u_iswalnum(ch) != 0;\n   }\n}\n\nstatic inline bool IsHaskellUpperCase(const int ch) {\n   if (IsASCII(ch)) {\n      return ch >= 'A' && ch <= 'Z';\n   } else {\n      return u_iswupper(ch) != 0;\n   }\n}\n\nstatic inline bool IsAnHaskellOperatorChar(const int ch) {\n   if (IsASCII(ch)) {\n      return\n         (  ch == '!' || ch == '#' || ch == '$' || ch == '%'\n         || ch == '&' || ch == '*' || ch == '+' || ch == '-'\n         || ch == '.' || ch == '/' || ch == ':' || ch == '<'\n         || ch == '=' || ch == '>' || ch == '?' || ch == '@'\n         || ch == '^' || ch == '|' || ch == '~' || ch == '\\\\');\n   } else {\n      return u_IsHaskellSymbol(ch) != 0;\n   }\n}\n\nstatic inline bool IsAHaskellWordStart(const int ch) {\n   return IsHaskellLetter(ch) || ch == '_';\n}\n\nstatic inline bool IsAHaskellWordChar(const int ch) {\n   return (  IsHaskellAlphaNumeric(ch)\n          || ch == '_'\n          || ch == '\\'');\n}\n\nstatic inline bool IsCommentBlockStyle(int style) {\n   return (style >= SCE_HA_COMMENTBLOCK && style <= SCE_HA_COMMENTBLOCK3);\n}\n\nstatic inline bool IsCommentStyle(int style) {\n   return (style >= SCE_HA_COMMENTLINE && style <= SCE_HA_COMMENTBLOCK3)\n       || ( style == SCE_HA_LITERATE_COMMENT\n         || style == SCE_HA_LITERATE_CODEDELIM);\n}\n\n// styles which do not belong to Haskell, but to external tools\nstatic inline bool IsExternalStyle(int style) {\n   return ( style == SCE_HA_PREPROCESSOR\n         || style == SCE_HA_LITERATE_COMMENT\n         || style == SCE_HA_LITERATE_CODEDELIM);\n}\n\nstatic inline int CommentBlockStyleFromNestLevel(const unsigned int nestLevel) {\n   return SCE_HA_COMMENTBLOCK + (nestLevel % 3);\n}\n\n// Mangled version of lexlib/Accessor.cxx IndentAmount.\n// Modified to treat comment blocks as whitespace\n// plus special case for commentline/preprocessor.\nstatic int HaskellIndentAmount(Accessor &styler, const Sci_Position line) {\n\n   // Determines the indentation level of the current line\n   // Comment blocks are treated as whitespace\n\n   Sci_Position pos = styler.LineStart(line);\n   Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\n   char ch = styler[pos];\n   int style = styler.StyleAt(pos);\n\n   int indent = 0;\n   bool inPrevPrefix = line > 0;\n\n   Sci_Position posPrev = inPrevPrefix ? styler.LineStart(line-1) : 0;\n\n   while ((  ch == ' ' || ch == '\\t'\n          || IsCommentBlockStyle(style)\n          || style == SCE_HA_LITERATE_CODEDELIM)\n         && (pos < eol_pos)) {\n      if (inPrevPrefix) {\n         char chPrev = styler[posPrev++];\n         if (chPrev != ' ' && chPrev != '\\t') {\n            inPrevPrefix = false;\n         }\n      }\n      if (ch == '\\t') {\n         indent = (indent / 8 + 1) * 8;\n      } else { // Space or comment block\n         indent++;\n      }\n      pos++;\n      ch = styler[pos];\n      style = styler.StyleAt(pos);\n   }\n\n   indent += SC_FOLDLEVELBASE;\n   // if completely empty line or the start of a comment or preprocessor...\n   if (  styler.LineStart(line) == styler.Length()\n      || ch == ' '\n      || ch == '\\t'\n      || ch == '\\n'\n      || ch == '\\r'\n      || IsCommentStyle(style)\n      || style == SCE_HA_PREPROCESSOR)\n      return indent | SC_FOLDLEVELWHITEFLAG;\n   else\n      return indent;\n}\n\nstruct OptionsHaskell {\n   bool magicHash;\n   bool allowQuotes;\n   bool implicitParams;\n   bool highlightSafe;\n   bool cpp;\n   bool stylingWithinPreprocessor;\n   bool fold;\n   bool foldComment;\n   bool foldCompact;\n   bool foldImports;\n   OptionsHaskell() {\n      magicHash = true;       // Widespread use, enabled by default.\n      allowQuotes = true;     // Widespread use, enabled by default.\n      implicitParams = false; // Fell out of favor, seldom used, disabled.\n      highlightSafe = true;   // Moderately used, doesn't hurt to enable.\n      cpp = true;             // Widespread use, enabled by default;\n      stylingWithinPreprocessor = false;\n      fold = false;\n      foldComment = false;\n      foldCompact = false;\n      foldImports = false;\n   }\n};\n\nstatic const char * const haskellWordListDesc[] = {\n   \"Keywords\",\n   \"FFI\",\n   \"Reserved operators\",\n   0\n};\n\nstruct OptionSetHaskell : public OptionSet<OptionsHaskell> {\n   OptionSetHaskell() {\n      DefineProperty(\"lexer.haskell.allow.hash\", &OptionsHaskell::magicHash,\n         \"Set to 0 to disallow the '#' character at the end of identifiers and \"\n         \"literals with the haskell lexer \"\n         \"(GHC -XMagicHash extension)\");\n\n      DefineProperty(\"lexer.haskell.allow.quotes\", &OptionsHaskell::allowQuotes,\n         \"Set to 0 to disable highlighting of Template Haskell name quotations \"\n         \"and promoted constructors \"\n         \"(GHC -XTemplateHaskell and -XDataKinds extensions)\");\n\n      DefineProperty(\"lexer.haskell.allow.questionmark\", &OptionsHaskell::implicitParams,\n         \"Set to 1 to allow the '?' character at the start of identifiers \"\n         \"with the haskell lexer \"\n         \"(GHC & Hugs -XImplicitParams extension)\");\n\n      DefineProperty(\"lexer.haskell.import.safe\", &OptionsHaskell::highlightSafe,\n         \"Set to 0 to disallow \\\"safe\\\" keyword in imports \"\n         \"(GHC -XSafe, -XTrustworthy, -XUnsafe extensions)\");\n\n      DefineProperty(\"lexer.haskell.cpp\", &OptionsHaskell::cpp,\n         \"Set to 0 to disable C-preprocessor highlighting \"\n         \"(-XCPP extension)\");\n\n      DefineProperty(\"styling.within.preprocessor\", &OptionsHaskell::stylingWithinPreprocessor,\n         \"For Haskell code, determines whether all preprocessor code is styled in the \"\n         \"preprocessor style (0, the default) or only from the initial # to the end \"\n         \"of the command word(1).\"\n         );\n\n      DefineProperty(\"fold\", &OptionsHaskell::fold);\n\n      DefineProperty(\"fold.comment\", &OptionsHaskell::foldComment);\n\n      DefineProperty(\"fold.compact\", &OptionsHaskell::foldCompact);\n\n      DefineProperty(\"fold.haskell.imports\", &OptionsHaskell::foldImports,\n         \"Set to 1 to enable folding of import declarations\");\n\n      DefineWordListSets(haskellWordListDesc);\n   }\n};\n\nclass LexerHaskell : public DefaultLexer {\n   bool literate;\n   Sci_Position firstImportLine;\n   int firstImportIndent;\n   WordList keywords;\n   WordList ffi;\n   WordList reserved_operators;\n   OptionsHaskell options;\n   OptionSetHaskell osHaskell;\n\n   enum HashCount {\n       oneHash\n      ,twoHashes\n      ,unlimitedHashes\n   };\n\n   enum KeywordMode {\n       HA_MODE_DEFAULT = 0\n      ,HA_MODE_IMPORT1 = 1 // after \"import\", before \"qualified\" or \"safe\" or package name or module name.\n      ,HA_MODE_IMPORT2 = 2 // after module name, before \"as\" or \"hiding\".\n      ,HA_MODE_IMPORT3 = 3 // after \"as\", before \"hiding\"\n      ,HA_MODE_MODULE  = 4 // after \"module\", before module name.\n      ,HA_MODE_FFI     = 5 // after \"foreign\", before FFI keywords\n      ,HA_MODE_TYPE    = 6 // after \"type\" or \"data\", before \"family\"\n   };\n\n   enum LiterateMode {\n       LITERATE_BIRD  = 0 // if '>' is the first character on the line,\n                          //   color '>' as a codedelim and the rest of\n                          //   the line as code.\n                          // else if \"\\begin{code}\" is the only word on the\n                          //    line except whitespace, switch to LITERATE_BLOCK\n                          // otherwise color the line as a literate comment.\n      ,LITERATE_BLOCK = 1 // if the string \"\\end{code}\" is encountered at column\n                          //   0 ignoring all later characters, color the line\n                          //   as a codedelim and switch to LITERATE_BIRD\n                          // otherwise color the line as code.\n   };\n\n   struct HaskellLineInfo {\n      unsigned int nestLevel; // 22 bits ought to be enough for anybody\n      unsigned int nonexternalStyle; // 5 bits, widen if number of styles goes\n                                     // beyond 31.\n      bool pragma;\n      LiterateMode lmode;\n      KeywordMode mode;\n\n      HaskellLineInfo(int state) :\n         nestLevel (state >> 10)\n       , nonexternalStyle ((state >> 5) & 0x1F)\n       , pragma ((state >> 4) & 0x1)\n       , lmode (static_cast<LiterateMode>((state >> 3) & 0x1))\n       , mode (static_cast<KeywordMode>(state & 0x7))\n         {}\n\n      int ToLineState() {\n         return\n              (nestLevel << 10)\n            | (nonexternalStyle << 5)\n            | (pragma << 4)\n            | (lmode << 3)\n            | mode;\n      }\n   };\n\n   inline void skipMagicHash(StyleContext &sc, const HashCount hashes) const {\n      if (options.magicHash && sc.ch == '#') {\n         sc.Forward();\n         if (hashes == twoHashes && sc.ch == '#') {\n            sc.Forward();\n         } else if (hashes == unlimitedHashes) {\n            while (sc.ch == '#') {\n               sc.Forward();\n            }\n         }\n      }\n   }\n\n   bool LineContainsImport(const Sci_Position line, Accessor &styler) const {\n      if (options.foldImports) {\n         Sci_Position currentPos = styler.LineStart(line);\n         int style = styler.StyleAt(currentPos);\n\n         Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\n         while (currentPos < eol_pos) {\n            int ch = styler[currentPos];\n            style = styler.StyleAt(currentPos);\n\n            if (ch == ' ' || ch == '\\t'\n             || IsCommentBlockStyle(style)\n             || style == SCE_HA_LITERATE_CODEDELIM) {\n               currentPos++;\n            } else {\n               break;\n            }\n         }\n\n         return (style == SCE_HA_KEYWORD\n              && styler.Match(currentPos, \"import\"));\n      } else {\n         return false;\n      }\n   }\n\n   inline int IndentAmountWithOffset(Accessor &styler, const Sci_Position line) const {\n      const int indent = HaskellIndentAmount(styler, line);\n      const int indentLevel = indent & SC_FOLDLEVELNUMBERMASK;\n      return indentLevel <= ((firstImportIndent - 1) + SC_FOLDLEVELBASE)\n               ? indent\n               : (indentLevel + firstImportIndent) | (indent & ~SC_FOLDLEVELNUMBERMASK);\n   }\n\n   inline int IndentLevelRemoveIndentOffset(const int indentLevel) const {\n      return indentLevel <= ((firstImportIndent - 1) + SC_FOLDLEVELBASE)\n            ? indentLevel\n            : indentLevel - firstImportIndent;\n   }\n\npublic:\n   LexerHaskell(bool literate_)\n      : literate(literate_)\n      , firstImportLine(-1)\n      , firstImportIndent(0)\n      {}\n   virtual ~LexerHaskell() {}\n\n   void SCI_METHOD Release() override {\n      delete this;\n   }\n\n   int SCI_METHOD Version() const override {\n      return lvOriginal;\n   }\n\n   const char * SCI_METHOD PropertyNames() override {\n      return osHaskell.PropertyNames();\n   }\n\n   int SCI_METHOD PropertyType(const char *name) override {\n      return osHaskell.PropertyType(name);\n   }\n\n   const char * SCI_METHOD DescribeProperty(const char *name) override {\n      return osHaskell.DescribeProperty(name);\n   }\n\n   Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\n   const char * SCI_METHOD DescribeWordListSets() override {\n      return osHaskell.DescribeWordListSets();\n   }\n\n   Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\n   void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n   void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n   void * SCI_METHOD PrivateCall(int, void *) override {\n      return 0;\n   }\n\n   static ILexer *LexerFactoryHaskell() {\n      return new LexerHaskell(false);\n   }\n\n   static ILexer *LexerFactoryLiterateHaskell() {\n      return new LexerHaskell(true);\n   }\n};\n\nSci_Position SCI_METHOD LexerHaskell::PropertySet(const char *key, const char *val) {\n   if (osHaskell.PropertySet(&options, key, val)) {\n      return 0;\n   }\n   return -1;\n}\n\nSci_Position SCI_METHOD LexerHaskell::WordListSet(int n, const char *wl) {\n   WordList *wordListN = 0;\n   switch (n) {\n   case 0:\n      wordListN = &keywords;\n      break;\n   case 1:\n      wordListN = &ffi;\n      break;\n   case 2:\n      wordListN = &reserved_operators;\n      break;\n   }\n   Sci_Position firstModification = -1;\n   if (wordListN) {\n      WordList wlNew;\n      wlNew.Set(wl);\n      if (*wordListN != wlNew) {\n         wordListN->Set(wl);\n         firstModification = 0;\n      }\n   }\n   return firstModification;\n}\n\nvoid SCI_METHOD LexerHaskell::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle\n                                 ,IDocument *pAccess) {\n   LexAccessor styler(pAccess);\n\n   Sci_Position lineCurrent = styler.GetLine(startPos);\n\n   HaskellLineInfo hs = HaskellLineInfo(lineCurrent ? styler.GetLineState(lineCurrent-1) : 0);\n\n   // Do not leak onto next line\n   if (initStyle == SCE_HA_STRINGEOL)\n      initStyle = SCE_HA_DEFAULT;\n   else if (initStyle == SCE_HA_LITERATE_CODEDELIM)\n      initStyle = hs.nonexternalStyle;\n\n   StyleContext sc(startPos, length, initStyle, styler);\n\n   int base = 10;\n   bool dot = false;\n\n   bool inDashes = false;\n   bool alreadyInTheMiddleOfOperator = false;\n\n   assert(!(IsCommentBlockStyle(initStyle) && hs.nestLevel == 0));\n\n   while (sc.More()) {\n      // Check for state end\n\n      if (!IsExternalStyle(sc.state)) {\n         hs.nonexternalStyle = sc.state;\n      }\n\n      // For lexer to work, states should unconditionally forward at least one\n      // character.\n      // If they don't, they should still check if they are at line end and\n      // forward if so.\n      // If a state forwards more than one character, it should check every time\n      // that it is not a line end and cease forwarding otherwise.\n      if (sc.atLineEnd) {\n         // Remember the line state for future incremental lexing\n         styler.SetLineState(lineCurrent, hs.ToLineState());\n         lineCurrent++;\n      }\n\n      // Handle line continuation generically.\n      if (sc.ch == '\\\\' && (sc.chNext == '\\n' || sc.chNext == '\\r')\n         && (  sc.state == SCE_HA_STRING\n            || sc.state == SCE_HA_PREPROCESSOR)) {\n         // Remember the line state for future incremental lexing\n         styler.SetLineState(lineCurrent, hs.ToLineState());\n         lineCurrent++;\n\n         sc.Forward();\n         if (sc.ch == '\\r' && sc.chNext == '\\n') {\n            sc.Forward();\n         }\n         sc.Forward();\n\n         continue;\n      }\n\n      if (sc.atLineStart) {\n\n         if (sc.state == SCE_HA_STRING || sc.state == SCE_HA_CHARACTER) {\n            // Prevent SCE_HA_STRINGEOL from leaking back to previous line\n            sc.SetState(sc.state);\n         }\n\n         if (literate && hs.lmode == LITERATE_BIRD) {\n            if (!IsExternalStyle(sc.state)) {\n               sc.SetState(SCE_HA_LITERATE_COMMENT);\n            }\n         }\n      }\n\n      // External\n         // Literate\n      if (  literate && hs.lmode == LITERATE_BIRD && sc.atLineStart\n         && sc.ch == '>') {\n            sc.SetState(SCE_HA_LITERATE_CODEDELIM);\n            sc.ForwardSetState(hs.nonexternalStyle);\n      }\n      else if (literate && hs.lmode == LITERATE_BIRD && sc.atLineStart\n            && (  sc.ch == ' ' || sc.ch == '\\t'\n               || sc.Match(\"\\\\begin{code}\"))) {\n         sc.SetState(sc.state);\n\n         while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More())\n            sc.Forward();\n\n         if (sc.Match(\"\\\\begin{code}\")) {\n            sc.Forward(static_cast<int>(strlen(\"\\\\begin{code}\")));\n\n            bool correct = true;\n\n            while (!sc.atLineEnd && sc.More()) {\n               if (sc.ch != ' ' && sc.ch != '\\t') {\n                  correct = false;\n               }\n               sc.Forward();\n            }\n\n            if (correct) {\n               sc.ChangeState(SCE_HA_LITERATE_CODEDELIM); // color the line end\n               hs.lmode = LITERATE_BLOCK;\n            }\n         }\n      }\n      else if (literate && hs.lmode == LITERATE_BLOCK && sc.atLineStart\n            && sc.Match(\"\\\\end{code}\")) {\n         sc.SetState(SCE_HA_LITERATE_CODEDELIM);\n\n         sc.Forward(static_cast<int>(strlen(\"\\\\end{code}\")));\n\n         while (!sc.atLineEnd && sc.More()) {\n            sc.Forward();\n         }\n\n         sc.SetState(SCE_HA_LITERATE_COMMENT);\n         hs.lmode = LITERATE_BIRD;\n      }\n         // Preprocessor\n      else if (sc.atLineStart && sc.ch == '#' && options.cpp\n            && (!options.stylingWithinPreprocessor || sc.state == SCE_HA_DEFAULT)) {\n         sc.SetState(SCE_HA_PREPROCESSOR);\n         sc.Forward();\n      }\n            // Literate\n      else if (sc.state == SCE_HA_LITERATE_COMMENT) {\n         sc.Forward();\n      }\n      else if (sc.state == SCE_HA_LITERATE_CODEDELIM) {\n         sc.ForwardSetState(hs.nonexternalStyle);\n      }\n            // Preprocessor\n      else if (sc.state == SCE_HA_PREPROCESSOR) {\n         if (sc.atLineEnd) {\n            sc.SetState(options.stylingWithinPreprocessor\n                        ? SCE_HA_DEFAULT\n                        : hs.nonexternalStyle);\n            sc.Forward(); // prevent double counting a line\n         } else if (options.stylingWithinPreprocessor && !IsHaskellLetter(sc.ch)) {\n            sc.SetState(SCE_HA_DEFAULT);\n         } else {\n            sc.Forward();\n         }\n      }\n      // Haskell\n         // Operator\n      else if (sc.state == SCE_HA_OPERATOR) {\n         int style = SCE_HA_OPERATOR;\n\n         if ( sc.ch == ':'\n            && !alreadyInTheMiddleOfOperator\n            // except \"::\"\n            && !( sc.chNext == ':'\n               && !IsAnHaskellOperatorChar(sc.GetRelative(2)))) {\n            style = SCE_HA_CAPITAL;\n         }\n\n         alreadyInTheMiddleOfOperator = false;\n\n         while (IsAnHaskellOperatorChar(sc.ch))\n               sc.Forward();\n\n         char s[100];\n         sc.GetCurrent(s, sizeof(s));\n\n         if (reserved_operators.InList(s))\n            style = SCE_HA_RESERVED_OPERATOR;\n\n         sc.ChangeState(style);\n         sc.SetState(SCE_HA_DEFAULT);\n      }\n         // String\n      else if (sc.state == SCE_HA_STRING) {\n         if (sc.atLineEnd) {\n            sc.ChangeState(SCE_HA_STRINGEOL);\n            sc.ForwardSetState(SCE_HA_DEFAULT);\n         } else if (sc.ch == '\\\"') {\n            sc.Forward();\n            skipMagicHash(sc, oneHash);\n            sc.SetState(SCE_HA_DEFAULT);\n         } else if (sc.ch == '\\\\') {\n            sc.Forward(2);\n         } else {\n            sc.Forward();\n         }\n      }\n         // Char\n      else if (sc.state == SCE_HA_CHARACTER) {\n         if (sc.atLineEnd) {\n            sc.ChangeState(SCE_HA_STRINGEOL);\n            sc.ForwardSetState(SCE_HA_DEFAULT);\n         } else if (sc.ch == '\\'') {\n            sc.Forward();\n            skipMagicHash(sc, oneHash);\n            sc.SetState(SCE_HA_DEFAULT);\n         } else if (sc.ch == '\\\\') {\n            sc.Forward(2);\n         } else {\n            sc.Forward();\n         }\n      }\n         // Number\n      else if (sc.state == SCE_HA_NUMBER) {\n         if (sc.atLineEnd) {\n            sc.SetState(SCE_HA_DEFAULT);\n            sc.Forward(); // prevent double counting a line\n         } else if (IsADigit(sc.ch, base)) {\n            sc.Forward();\n         } else if (sc.ch=='.' && dot && IsADigit(sc.chNext, base)) {\n            sc.Forward(2);\n            dot = false;\n         } else if ((base == 10) &&\n                    (sc.ch == 'e' || sc.ch == 'E') &&\n                    (IsADigit(sc.chNext) || sc.chNext == '+' || sc.chNext == '-')) {\n            sc.Forward();\n            if (sc.ch == '+' || sc.ch == '-')\n                sc.Forward();\n         } else {\n            skipMagicHash(sc, twoHashes);\n            sc.SetState(SCE_HA_DEFAULT);\n         }\n      }\n         // Keyword or Identifier\n      else if (sc.state == SCE_HA_IDENTIFIER) {\n         int style = IsHaskellUpperCase(sc.ch) ? SCE_HA_CAPITAL : SCE_HA_IDENTIFIER;\n\n         assert(IsAHaskellWordStart(sc.ch));\n\n         sc.Forward();\n\n         while (sc.More()) {\n            if (IsAHaskellWordChar(sc.ch)) {\n               sc.Forward();\n            } else if (sc.ch == '.' && style == SCE_HA_CAPITAL) {\n               if (IsHaskellUpperCase(sc.chNext)) {\n                  sc.Forward();\n                  style = SCE_HA_CAPITAL;\n               } else if (IsAHaskellWordStart(sc.chNext)) {\n                  sc.Forward();\n                  style = SCE_HA_IDENTIFIER;\n               } else if (IsAnHaskellOperatorChar(sc.chNext)) {\n                  sc.Forward();\n                  style = sc.ch == ':' ? SCE_HA_CAPITAL : SCE_HA_OPERATOR;\n                  while (IsAnHaskellOperatorChar(sc.ch))\n                     sc.Forward();\n                  break;\n               } else {\n                  break;\n               }\n            } else {\n               break;\n            }\n         }\n\n         skipMagicHash(sc, unlimitedHashes);\n\n         char s[100];\n         sc.GetCurrent(s, sizeof(s));\n\n         KeywordMode new_mode = HA_MODE_DEFAULT;\n\n         if (keywords.InList(s)) {\n            style = SCE_HA_KEYWORD;\n         } else if (style == SCE_HA_CAPITAL) {\n            if (hs.mode == HA_MODE_IMPORT1 || hs.mode == HA_MODE_IMPORT3) {\n               style    = SCE_HA_MODULE;\n               new_mode = HA_MODE_IMPORT2;\n            } else if (hs.mode == HA_MODE_MODULE) {\n               style = SCE_HA_MODULE;\n            }\n         } else if (hs.mode == HA_MODE_IMPORT1 &&\n                    strcmp(s,\"qualified\") == 0) {\n             style    = SCE_HA_KEYWORD;\n             new_mode = HA_MODE_IMPORT1;\n         } else if (options.highlightSafe &&\n                    hs.mode == HA_MODE_IMPORT1 &&\n                    strcmp(s,\"safe\") == 0) {\n             style    = SCE_HA_KEYWORD;\n             new_mode = HA_MODE_IMPORT1;\n         } else if (hs.mode == HA_MODE_IMPORT2) {\n             if (strcmp(s,\"as\") == 0) {\n                style    = SCE_HA_KEYWORD;\n                new_mode = HA_MODE_IMPORT3;\n            } else if (strcmp(s,\"hiding\") == 0) {\n                style     = SCE_HA_KEYWORD;\n            }\n         } else if (hs.mode == HA_MODE_TYPE) {\n            if (strcmp(s,\"family\") == 0)\n               style    = SCE_HA_KEYWORD;\n         }\n\n         if (hs.mode == HA_MODE_FFI) {\n            if (ffi.InList(s)) {\n               style = SCE_HA_KEYWORD;\n               new_mode = HA_MODE_FFI;\n            }\n         }\n\n         sc.ChangeState(style);\n         sc.SetState(SCE_HA_DEFAULT);\n\n         if (strcmp(s,\"import\") == 0 && hs.mode != HA_MODE_FFI)\n            new_mode = HA_MODE_IMPORT1;\n         else if (strcmp(s,\"module\") == 0)\n            new_mode = HA_MODE_MODULE;\n         else if (strcmp(s,\"foreign\") == 0)\n            new_mode = HA_MODE_FFI;\n         else if (strcmp(s,\"type\") == 0\n               || strcmp(s,\"data\") == 0)\n            new_mode = HA_MODE_TYPE;\n\n         hs.mode = new_mode;\n      }\n\n         // Comments\n            // Oneliner\n      else if (sc.state == SCE_HA_COMMENTLINE) {\n         if (sc.atLineEnd) {\n            sc.SetState(hs.pragma ? SCE_HA_PRAGMA : SCE_HA_DEFAULT);\n            sc.Forward(); // prevent double counting a line\n         } else if (inDashes && sc.ch != '-' && !hs.pragma) {\n            inDashes = false;\n            if (IsAnHaskellOperatorChar(sc.ch)) {\n               alreadyInTheMiddleOfOperator = true;\n               sc.ChangeState(SCE_HA_OPERATOR);\n            }\n         } else {\n            sc.Forward();\n         }\n      }\n            // Nested\n      else if (IsCommentBlockStyle(sc.state)) {\n         if (sc.Match('{','-')) {\n            sc.SetState(CommentBlockStyleFromNestLevel(hs.nestLevel));\n            sc.Forward(2);\n            hs.nestLevel++;\n         } else if (sc.Match('-','}')) {\n            sc.Forward(2);\n            assert(hs.nestLevel > 0);\n            if (hs.nestLevel > 0)\n               hs.nestLevel--;\n            sc.SetState(\n               hs.nestLevel == 0\n                  ? (hs.pragma ? SCE_HA_PRAGMA : SCE_HA_DEFAULT)\n                  : CommentBlockStyleFromNestLevel(hs.nestLevel - 1));\n         } else {\n            sc.Forward();\n         }\n      }\n            // Pragma\n      else if (sc.state == SCE_HA_PRAGMA) {\n         if (sc.Match(\"#-}\")) {\n            hs.pragma = false;\n            sc.Forward(3);\n            sc.SetState(SCE_HA_DEFAULT);\n         } else if (sc.Match('-','-')) {\n            sc.SetState(SCE_HA_COMMENTLINE);\n            sc.Forward(2);\n            inDashes = false;\n         } else if (sc.Match('{','-')) {\n            sc.SetState(CommentBlockStyleFromNestLevel(hs.nestLevel));\n            sc.Forward(2);\n            hs.nestLevel = 1;\n         } else {\n            sc.Forward();\n         }\n      }\n            // New state?\n      else if (sc.state == SCE_HA_DEFAULT) {\n         // Digit\n         if (IsADigit(sc.ch)) {\n            hs.mode = HA_MODE_DEFAULT;\n\n            sc.SetState(SCE_HA_NUMBER);\n            if (sc.ch == '0' && (sc.chNext == 'X' || sc.chNext == 'x')) {\n               // Match anything starting with \"0x\" or \"0X\", too\n               sc.Forward(2);\n               base = 16;\n               dot = false;\n            } else if (sc.ch == '0' && (sc.chNext == 'O' || sc.chNext == 'o')) {\n               // Match anything starting with \"0o\" or \"0O\", too\n               sc.Forward(2);\n               base = 8;\n               dot = false;\n            } else {\n               sc.Forward();\n               base = 10;\n               dot = true;\n            }\n         }\n         // Pragma\n         else if (sc.Match(\"{-#\")) {\n            hs.pragma = true;\n            sc.SetState(SCE_HA_PRAGMA);\n            sc.Forward(3);\n         }\n         // Comment line\n         else if (sc.Match('-','-')) {\n            sc.SetState(SCE_HA_COMMENTLINE);\n            sc.Forward(2);\n            inDashes = true;\n         }\n         // Comment block\n         else if (sc.Match('{','-')) {\n            sc.SetState(CommentBlockStyleFromNestLevel(hs.nestLevel));\n            sc.Forward(2);\n            hs.nestLevel = 1;\n         }\n         // String\n         else if (sc.ch == '\\\"') {\n            sc.SetState(SCE_HA_STRING);\n            sc.Forward();\n         }\n         // Character or quoted name or promoted term\n         else if (sc.ch == '\\'') {\n            hs.mode = HA_MODE_DEFAULT;\n\n            sc.SetState(SCE_HA_CHARACTER);\n            sc.Forward();\n\n            if (options.allowQuotes) {\n               // Quoted type ''T\n               if (sc.ch=='\\'' && IsAHaskellWordStart(sc.chNext)) {\n                  sc.Forward();\n                  sc.ChangeState(SCE_HA_IDENTIFIER);\n               } else if (sc.chNext != '\\'') {\n                  // Quoted name 'n or promoted constructor 'N\n                  if (IsAHaskellWordStart(sc.ch)) {\n                     sc.ChangeState(SCE_HA_IDENTIFIER);\n                  // Promoted constructor operator ':~>\n                  } else if (sc.ch == ':') {\n                     alreadyInTheMiddleOfOperator = false;\n                     sc.ChangeState(SCE_HA_OPERATOR);\n                  // Promoted list or tuple '[T]\n                  } else if (sc.ch == '[' || sc.ch== '(') {\n                     sc.ChangeState(SCE_HA_OPERATOR);\n                     sc.ForwardSetState(SCE_HA_DEFAULT);\n                  }\n               }\n            }\n         }\n         // Operator starting with '?' or an implicit parameter\n         else if (sc.ch == '?') {\n            hs.mode = HA_MODE_DEFAULT;\n\n            alreadyInTheMiddleOfOperator = false;\n            sc.SetState(SCE_HA_OPERATOR);\n\n            if (  options.implicitParams\n               && IsAHaskellWordStart(sc.chNext)\n               && !IsHaskellUpperCase(sc.chNext)) {\n               sc.Forward();\n               sc.ChangeState(SCE_HA_IDENTIFIER);\n            }\n         }\n         // Operator\n         else if (IsAnHaskellOperatorChar(sc.ch)) {\n            hs.mode = HA_MODE_DEFAULT;\n\n            sc.SetState(SCE_HA_OPERATOR);\n         }\n         // Braces and punctuation\n         else if (sc.ch == ',' || sc.ch == ';'\n               || sc.ch == '(' || sc.ch == ')'\n               || sc.ch == '[' || sc.ch == ']'\n               || sc.ch == '{' || sc.ch == '}') {\n            sc.SetState(SCE_HA_OPERATOR);\n            sc.ForwardSetState(SCE_HA_DEFAULT);\n         }\n         // Keyword or Identifier\n         else if (IsAHaskellWordStart(sc.ch)) {\n            sc.SetState(SCE_HA_IDENTIFIER);\n         // Something we don't care about\n         } else {\n            sc.Forward();\n         }\n      }\n            // This branch should never be reached.\n      else {\n         assert(false);\n         sc.Forward();\n      }\n   }\n   sc.Complete();\n}\n\nvoid SCI_METHOD LexerHaskell::Fold(Sci_PositionU startPos, Sci_Position length, int // initStyle\n                                  ,IDocument *pAccess) {\n   if (!options.fold)\n      return;\n\n   Accessor styler(pAccess, NULL);\n\n   Sci_Position lineCurrent = styler.GetLine(startPos);\n\n   if (lineCurrent <= firstImportLine) {\n      firstImportLine = -1; // readjust first import position\n      firstImportIndent = 0;\n   }\n\n   const Sci_Position maxPos = startPos + length;\n   const Sci_Position maxLines =\n      maxPos == styler.Length()\n         ? styler.GetLine(maxPos)\n         : styler.GetLine(maxPos - 1);  // Requested last line\n   const Sci_Position docLines = styler.GetLine(styler.Length()); // Available last line\n\n   // Backtrack to previous non-blank line so we can determine indent level\n   // for any white space lines\n   // and so we can fix any preceding fold level (which is why we go back\n   // at least one line in all cases)\n   bool importHere = LineContainsImport(lineCurrent, styler);\n   int indentCurrent = IndentAmountWithOffset(styler, lineCurrent);\n\n   while (lineCurrent > 0) {\n      lineCurrent--;\n      importHere = LineContainsImport(lineCurrent, styler);\n      indentCurrent = IndentAmountWithOffset(styler, lineCurrent);\n      if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG))\n         break;\n   }\n\n   int indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\n   if (importHere) {\n      indentCurrentLevel = IndentLevelRemoveIndentOffset(indentCurrentLevel);\n      if (firstImportLine == -1) {\n         firstImportLine = lineCurrent;\n         firstImportIndent = (1 + indentCurrentLevel) - SC_FOLDLEVELBASE;\n      }\n      if (firstImportLine != lineCurrent) {\n         indentCurrentLevel++;\n      }\n   }\n\n   indentCurrent = indentCurrentLevel | (indentCurrent & ~SC_FOLDLEVELNUMBERMASK);\n\n   // Process all characters to end of requested range\n   //that hangs over the end of the range.  Cap processing in all cases\n   // to end of document.\n   while (lineCurrent <= docLines && lineCurrent <= maxLines) {\n\n      // Gather info\n      Sci_Position lineNext = lineCurrent + 1;\n      importHere = false;\n      int indentNext = indentCurrent;\n\n      if (lineNext <= docLines) {\n         // Information about next line is only available if not at end of document\n         importHere = LineContainsImport(lineNext, styler);\n         indentNext = IndentAmountWithOffset(styler, lineNext);\n      }\n      if (indentNext & SC_FOLDLEVELWHITEFLAG)\n         indentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel;\n\n      // Skip past any blank lines for next indent level info; we skip also\n      // comments (all comments, not just those starting in column 0)\n      // which effectively folds them into surrounding code rather\n      // than screwing up folding.\n\n      while (lineNext < docLines && (indentNext & SC_FOLDLEVELWHITEFLAG)) {\n         lineNext++;\n         importHere = LineContainsImport(lineNext, styler);\n         indentNext = IndentAmountWithOffset(styler, lineNext);\n      }\n\n      int indentNextLevel = indentNext & SC_FOLDLEVELNUMBERMASK;\n\n      if (importHere) {\n         indentNextLevel = IndentLevelRemoveIndentOffset(indentNextLevel);\n         if (firstImportLine == -1) {\n            firstImportLine = lineNext;\n            firstImportIndent = (1 + indentNextLevel) - SC_FOLDLEVELBASE;\n         }\n         if (firstImportLine != lineNext) {\n            indentNextLevel++;\n         }\n      }\n\n      indentNext = indentNextLevel | (indentNext & ~SC_FOLDLEVELNUMBERMASK);\n\n      const int levelBeforeComments = Maximum(indentCurrentLevel,indentNextLevel);\n\n      // Now set all the indent levels on the lines we skipped\n      // Do this from end to start.  Once we encounter one line\n      // which is indented more than the line after the end of\n      // the comment-block, use the level of the block before\n\n      Sci_Position skipLine = lineNext;\n      int skipLevel = indentNextLevel;\n\n      while (--skipLine > lineCurrent) {\n         int skipLineIndent = IndentAmountWithOffset(styler, skipLine);\n\n         if (options.foldCompact) {\n            if ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > indentNextLevel) {\n               skipLevel = levelBeforeComments;\n            }\n\n            int whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG;\n\n            styler.SetLevel(skipLine, skipLevel | whiteFlag);\n         } else {\n            if (  (skipLineIndent & SC_FOLDLEVELNUMBERMASK) > indentNextLevel\n               && !(skipLineIndent & SC_FOLDLEVELWHITEFLAG)) {\n               skipLevel = levelBeforeComments;\n            }\n\n            styler.SetLevel(skipLine, skipLevel);\n         }\n      }\n\n      int lev = indentCurrent;\n\n      if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n         if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK))\n            lev |= SC_FOLDLEVELHEADERFLAG;\n      }\n\n      // Set fold level for this line and move to next line\n      styler.SetLevel(lineCurrent, options.foldCompact ? lev : lev & ~SC_FOLDLEVELWHITEFLAG);\n\n      indentCurrent = indentNext;\n      indentCurrentLevel = indentNextLevel;\n      lineCurrent = lineNext;\n   }\n\n   // NOTE: Cannot set level of last line here because indentCurrent doesn't have\n   // header flag set; the loop above is crafted to take care of this case!\n   //styler.SetLevel(lineCurrent, indentCurrent);\n}\n\nLexerModule lmHaskell(SCLEX_HASKELL, LexerHaskell::LexerFactoryHaskell, \"haskell\", haskellWordListDesc);\nLexerModule lmLiterateHaskell(SCLEX_LITERATEHASKELL, LexerHaskell::LexerFactoryLiterateHaskell, \"literatehaskell\", haskellWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexHex.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexHex.cxx\n ** Lexers for Motorola S-Record, Intel HEX and Tektronix extended HEX.\n **\n ** Written by Markus Heidelberg\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n/*\n *  Motorola S-Record\n * ===============================\n *\n * Each record (line) is built as follows:\n *\n *    field       digits          states\n *\n *  +----------+\n *  | start    |  1 ('S')         SCE_HEX_RECSTART\n *  +----------+\n *  | type     |  1               SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN)\n *  +----------+\n *  | count    |  2               SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG\n *  +----------+\n *  | address  |  4/6/8           SCE_HEX_NOADDRESS, SCE_HEX_DATAADDRESS, SCE_HEX_RECCOUNT, SCE_HEX_STARTADDRESS, (SCE_HEX_ADDRESSFIELD_UNKNOWN)\n *  +----------+\n *  | data     |  0..504/502/500  SCE_HEX_DATA_ODD, SCE_HEX_DATA_EVEN, SCE_HEX_DATA_EMPTY, (SCE_HEX_DATA_UNKNOWN)\n *  +----------+\n *  | checksum |  2               SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG\n *  +----------+\n *\n *\n *  Intel HEX\n * ===============================\n *\n * Each record (line) is built as follows:\n *\n *    field       digits          states\n *\n *  +----------+\n *  | start    |  1 (':')         SCE_HEX_RECSTART\n *  +----------+\n *  | count    |  2               SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG\n *  +----------+\n *  | address  |  4               SCE_HEX_NOADDRESS, SCE_HEX_DATAADDRESS, (SCE_HEX_ADDRESSFIELD_UNKNOWN)\n *  +----------+\n *  | type     |  2               SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN)\n *  +----------+\n *  | 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)\n *  +----------+\n *  | checksum |  2               SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG\n *  +----------+\n *\n *\n * Folding:\n *\n *   Data records (type 0x00), which follow an extended address record (type\n *   0x02 or 0x04), can be folded. The extended address record is the fold\n *   point at fold level 0, the corresponding data records are set to level 1.\n *\n *   Any record, which is not a data record, sets the fold level back to 0.\n *   Any line, which is not a record (blank lines and lines starting with a\n *   character other than ':'), leaves the fold level unchanged.\n *\n *\n *  Tektronix extended HEX\n * ===============================\n *\n * Each record (line) is built as follows:\n *\n *    field       digits          states\n *\n *  +----------+\n *  | start    |  1 ('%')         SCE_HEX_RECSTART\n *  +----------+\n *  | length   |  2               SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG\n *  +----------+\n *  | type     |  1               SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN)\n *  +----------+\n *  | checksum |  2               SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG\n *  +----------+\n *  | address  |  9               SCE_HEX_DATAADDRESS, SCE_HEX_STARTADDRESS, (SCE_HEX_ADDRESSFIELD_UNKNOWN)\n *  +----------+\n *  | data     |  0..241          SCE_HEX_DATA_ODD, SCE_HEX_DATA_EVEN\n *  +----------+\n *\n *\n *  General notes for all lexers\n * ===============================\n *\n * - Depending on where the helper functions are invoked, some of them have to\n *   read beyond the current position. In case of malformed data (record too\n *   short), it has to be ensured that this either does not have bad influence\n *   or will be captured deliberately.\n *\n * - States in parentheses in the upper format descriptions indicate that they\n *   should not appear in a valid hex file.\n *\n * - State SCE_HEX_GARBAGE means garbage data after the intended end of the\n *   record, the line is too long then. This state is used in all lexers.\n */\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// prototypes for general helper functions\nstatic inline bool IsNewline(const int ch);\nstatic int GetHexaNibble(char hd);\nstatic int GetHexaChar(char hd1, char hd2);\nstatic int GetHexaChar(Sci_PositionU pos, Accessor &styler);\nstatic bool ForwardWithinLine(StyleContext &sc, Sci_Position nb = 1);\nstatic bool PosInSameRecord(Sci_PositionU pos1, Sci_PositionU pos2, Accessor &styler);\nstatic Sci_Position CountByteCount(Sci_PositionU startPos, Sci_Position uncountedDigits, Accessor &styler);\nstatic int CalcChecksum(Sci_PositionU startPos, Sci_Position cnt, bool twosCompl, Accessor &styler);\n\n// prototypes for file format specific helper functions\nstatic Sci_PositionU GetSrecRecStartPosition(Sci_PositionU pos, Accessor &styler);\nstatic int GetSrecByteCount(Sci_PositionU recStartPos, Accessor &styler);\nstatic Sci_Position CountSrecByteCount(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetSrecAddressFieldSize(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetSrecAddressFieldType(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetSrecDataFieldType(Sci_PositionU recStartPos, Accessor &styler);\nstatic Sci_Position GetSrecRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetSrecChecksum(Sci_PositionU recStartPos, Accessor &styler);\nstatic int CalcSrecChecksum(Sci_PositionU recStartPos, Accessor &styler);\n\nstatic Sci_PositionU GetIHexRecStartPosition(Sci_PositionU pos, Accessor &styler);\nstatic int GetIHexByteCount(Sci_PositionU recStartPos, Accessor &styler);\nstatic Sci_Position CountIHexByteCount(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetIHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetIHexDataFieldType(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetIHexRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetIHexChecksum(Sci_PositionU recStartPos, Accessor &styler);\nstatic int CalcIHexChecksum(Sci_PositionU recStartPos, Accessor &styler);\n\nstatic int GetTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler);\nstatic Sci_Position CountTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetTEHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler);\nstatic int GetTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler);\nstatic int CalcTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler);\n\nstatic inline bool IsNewline(const int ch)\n{\n    return (ch == '\\n' || ch == '\\r');\n}\n\nstatic int GetHexaNibble(char hd)\n{\n\tint hexValue = 0;\n\n\tif (hd >= '0' && hd <= '9') {\n\t\thexValue += hd - '0';\n\t} else if (hd >= 'A' && hd <= 'F') {\n\t\thexValue += hd - 'A' + 10;\n\t} else if (hd >= 'a' && hd <= 'f') {\n\t\thexValue += hd - 'a' + 10;\n\t} else {\n\t\treturn -1;\n\t}\n\n\treturn hexValue;\n}\n\nstatic int GetHexaChar(char hd1, char hd2)\n{\n\tint hexValue = 0;\n\n\tif (hd1 >= '0' && hd1 <= '9') {\n\t\thexValue += 16 * (hd1 - '0');\n\t} else if (hd1 >= 'A' && hd1 <= 'F') {\n\t\thexValue += 16 * (hd1 - 'A' + 10);\n\t} else if (hd1 >= 'a' && hd1 <= 'f') {\n\t\thexValue += 16 * (hd1 - 'a' + 10);\n\t} else {\n\t\treturn -1;\n\t}\n\n\tif (hd2 >= '0' && hd2 <= '9') {\n\t\thexValue += hd2 - '0';\n\t} else if (hd2 >= 'A' && hd2 <= 'F') {\n\t\thexValue += hd2 - 'A' + 10;\n\t} else if (hd2 >= 'a' && hd2 <= 'f') {\n\t\thexValue += hd2 - 'a' + 10;\n\t} else {\n\t\treturn -1;\n\t}\n\n\treturn hexValue;\n}\n\nstatic int GetHexaChar(Sci_PositionU pos, Accessor &styler)\n{\n\tchar highNibble, lowNibble;\n\n\thighNibble = styler.SafeGetCharAt(pos);\n\tlowNibble = styler.SafeGetCharAt(pos + 1);\n\n\treturn GetHexaChar(highNibble, lowNibble);\n}\n\n// Forward <nb> characters, but abort (and return false) if hitting the line\n// end. Return true if forwarding within the line was possible.\n// Avoids influence on highlighting of the subsequent line if the current line\n// is malformed (too short).\nstatic bool ForwardWithinLine(StyleContext &sc, Sci_Position nb)\n{\n\tfor (Sci_Position i = 0; i < nb; i++) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// line is too short\n\t\t\tsc.SetState(SCE_HEX_DEFAULT);\n\t\t\tsc.Forward();\n\t\t\treturn false;\n\t\t} else {\n\t\t\tsc.Forward();\n\t\t}\n\t}\n\n\treturn true;\n}\n\n// Checks whether the given positions are in the same record.\nstatic bool PosInSameRecord(Sci_PositionU pos1, Sci_PositionU pos2, Accessor &styler)\n{\n\treturn styler.GetLine(pos1) == styler.GetLine(pos2);\n}\n\n// Count the number of digit pairs from <startPos> till end of record, ignoring\n// <uncountedDigits> digits.\n// If the record is too short, a negative count may be returned.\nstatic Sci_Position CountByteCount(Sci_PositionU startPos, Sci_Position uncountedDigits, Accessor &styler)\n{\n\tSci_Position cnt;\n\tSci_PositionU pos;\n\n\tpos = startPos;\n\n\twhile (!IsNewline(styler.SafeGetCharAt(pos, '\\n'))) {\n\t\tpos++;\n\t}\n\n\t// number of digits in this line minus number of digits of uncounted fields\n\tcnt = static_cast<Sci_Position>(pos - startPos) - uncountedDigits;\n\n\t// Prepare round up if odd (digit pair incomplete), this way the byte\n\t// count is considered to be valid if the checksum is incomplete.\n\tif (cnt >= 0) {\n\t\tcnt++;\n\t}\n\n\t// digit pairs\n\tcnt /= 2;\n\n\treturn cnt;\n}\n\n// Calculate the checksum of the record.\n// <startPos> is the position of the first character of the starting digit\n// pair, <cnt> is the number of digit pairs.\nstatic int CalcChecksum(Sci_PositionU startPos, Sci_Position cnt, bool twosCompl, Accessor &styler)\n{\n\tint cs = 0;\n\n\tfor (Sci_PositionU pos = startPos; pos < startPos + cnt; pos += 2) {\n\t\tint val = GetHexaChar(pos, styler);\n\n\t\tif (val < 0) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// overflow does not matter\n\t\tcs += val;\n\t}\n\n\tif (twosCompl) {\n\t\t// low byte of two's complement\n\t\treturn -cs & 0xFF;\n\t} else {\n\t\t// low byte of one's complement\n\t\treturn ~cs & 0xFF;\n\t}\n}\n\n// Get the position of the record \"start\" field (first character in line) in\n// the record around position <pos>.\nstatic Sci_PositionU GetSrecRecStartPosition(Sci_PositionU pos, Accessor &styler)\n{\n\twhile (styler.SafeGetCharAt(pos) != 'S') {\n\t\tpos--;\n\t}\n\n\treturn pos;\n}\n\n// Get the value of the \"byte count\" field, it counts the number of bytes in\n// the subsequent fields (\"address\", \"data\" and \"checksum\" fields).\nstatic int GetSrecByteCount(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tint val;\n\n\tval = GetHexaChar(recStartPos + 2, styler);\n\tif (val < 0) {\n\t       val = 0;\n\t}\n\n\treturn val;\n}\n\n// Count the number of digit pairs for the \"address\", \"data\" and \"checksum\"\n// fields in this record. Has to be equal to the \"byte count\" field value.\n// If the record is too short, a negative count may be returned.\nstatic Sci_Position CountSrecByteCount(Sci_PositionU recStartPos, Accessor &styler)\n{\n\treturn CountByteCount(recStartPos, 4, styler);\n}\n\n// Get the size of the \"address\" field.\nstatic int GetSrecAddressFieldSize(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (styler.SafeGetCharAt(recStartPos + 1)) {\n\t\tcase '0':\n\t\tcase '1':\n\t\tcase '5':\n\t\tcase '9':\n\t\t\treturn 2; // 16 bit\n\n\t\tcase '2':\n\t\tcase '6':\n\t\tcase '8':\n\t\t\treturn 3; // 24 bit\n\n\t\tcase '3':\n\t\tcase '7':\n\t\t\treturn 4; // 32 bit\n\n\t\tdefault:\n\t\t\treturn 0;\n\t}\n}\n\n// Get the type of the \"address\" field content.\nstatic int GetSrecAddressFieldType(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (styler.SafeGetCharAt(recStartPos + 1)) {\n\t\tcase '0':\n\t\t\treturn SCE_HEX_NOADDRESS;\n\n\t\tcase '1':\n\t\tcase '2':\n\t\tcase '3':\n\t\t\treturn SCE_HEX_DATAADDRESS;\n\n\t\tcase '5':\n\t\tcase '6':\n\t\t\treturn SCE_HEX_RECCOUNT;\n\n\t\tcase '7':\n\t\tcase '8':\n\t\tcase '9':\n\t\t\treturn SCE_HEX_STARTADDRESS;\n\n\t\tdefault: // handle possible format extension in the future\n\t\t\treturn SCE_HEX_ADDRESSFIELD_UNKNOWN;\n\t}\n}\n\n// Get the type of the \"data\" field content.\nstatic int GetSrecDataFieldType(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (styler.SafeGetCharAt(recStartPos + 1)) {\n\t\tcase '0':\n\t\tcase '1':\n\t\tcase '2':\n\t\tcase '3':\n\t\t\treturn SCE_HEX_DATA_ODD;\n\n\t\tcase '5':\n\t\tcase '6':\n\t\tcase '7':\n\t\tcase '8':\n\t\tcase '9':\n\t\t\treturn SCE_HEX_DATA_EMPTY;\n\n\t\tdefault: // handle possible format extension in the future\n\t\t\treturn SCE_HEX_DATA_UNKNOWN;\n\t}\n}\n\n// Get the required size of the \"data\" field. Useless for block header and\n// ordinary data records (type S0, S1, S2, S3), return the value calculated\n// from the \"byte count\" and \"address field\" size in this case.\nstatic Sci_Position GetSrecRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (styler.SafeGetCharAt(recStartPos + 1)) {\n\t\tcase '5':\n\t\tcase '6':\n\t\tcase '7':\n\t\tcase '8':\n\t\tcase '9':\n\t\t\treturn 0;\n\n\t\tdefault:\n\t\t\treturn GetSrecByteCount(recStartPos, styler)\n\t\t\t\t- GetSrecAddressFieldSize(recStartPos, styler)\n\t\t\t\t- 1; // -1 for checksum field\n\t}\n}\n\n// Get the value of the \"checksum\" field.\nstatic int GetSrecChecksum(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tint byteCount;\n\n\tbyteCount = GetSrecByteCount(recStartPos, styler);\n\n\treturn GetHexaChar(recStartPos + 2 + byteCount * 2, styler);\n}\n\n// Calculate the checksum of the record.\nstatic int CalcSrecChecksum(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tSci_Position byteCount;\n\n\tbyteCount = GetSrecByteCount(recStartPos, styler);\n\n\t// sum over \"byte count\", \"address\" and \"data\" fields (6..510 digits)\n\treturn CalcChecksum(recStartPos + 2, byteCount * 2, false, styler);\n}\n\n// Get the position of the record \"start\" field (first character in line) in\n// the record around position <pos>.\nstatic Sci_PositionU GetIHexRecStartPosition(Sci_PositionU pos, Accessor &styler)\n{\n\twhile (styler.SafeGetCharAt(pos) != ':') {\n\t\tpos--;\n\t}\n\n\treturn pos;\n}\n\n// Get the value of the \"byte count\" field, it counts the number of bytes in\n// the \"data\" field.\nstatic int GetIHexByteCount(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tint val;\n\n\tval = GetHexaChar(recStartPos + 1, styler);\n\tif (val < 0) {\n\t       val = 0;\n\t}\n\n\treturn val;\n}\n\n// Count the number of digit pairs for the \"data\" field in this record. Has to\n// be equal to the \"byte count\" field value.\n// If the record is too short, a negative count may be returned.\nstatic Sci_Position CountIHexByteCount(Sci_PositionU recStartPos, Accessor &styler)\n{\n\treturn CountByteCount(recStartPos, 11, styler);\n}\n\n// Get the type of the \"address\" field content.\nstatic int GetIHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tif (!PosInSameRecord(recStartPos, recStartPos + 7, styler)) {\n\t\t// malformed (record too short)\n\t\t// type cannot be determined\n\t\treturn SCE_HEX_ADDRESSFIELD_UNKNOWN;\n\t}\n\n\tswitch (GetHexaChar(recStartPos + 7, styler)) {\n\t\tcase 0x00:\n\t\t\treturn SCE_HEX_DATAADDRESS;\n\n\t\tcase 0x01:\n\t\tcase 0x02:\n\t\tcase 0x03:\n\t\tcase 0x04:\n\t\tcase 0x05:\n\t\t\treturn SCE_HEX_NOADDRESS;\n\n\t\tdefault: // handle possible format extension in the future\n\t\t\treturn SCE_HEX_ADDRESSFIELD_UNKNOWN;\n\t}\n}\n\n// Get the type of the \"data\" field content.\nstatic int GetIHexDataFieldType(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (GetHexaChar(recStartPos + 7, styler)) {\n\t\tcase 0x00:\n\t\t\treturn SCE_HEX_DATA_ODD;\n\n\t\tcase 0x01:\n\t\t\treturn SCE_HEX_DATA_EMPTY;\n\n\t\tcase 0x02:\n\t\tcase 0x04:\n\t\t\treturn SCE_HEX_EXTENDEDADDRESS;\n\n\t\tcase 0x03:\n\t\tcase 0x05:\n\t\t\treturn SCE_HEX_STARTADDRESS;\n\n\t\tdefault: // handle possible format extension in the future\n\t\t\treturn SCE_HEX_DATA_UNKNOWN;\n\t}\n}\n\n// Get the required size of the \"data\" field. Useless for an ordinary data\n// record (type 00), return the \"byte count\" in this case.\nstatic int GetIHexRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (GetHexaChar(recStartPos + 7, styler)) {\n\t\tcase 0x01:\n\t\t\treturn 0;\n\n\t\tcase 0x02:\n\t\tcase 0x04:\n\t\t\treturn 2;\n\n\t\tcase 0x03:\n\t\tcase 0x05:\n\t\t\treturn 4;\n\n\t\tdefault:\n\t\t\treturn GetIHexByteCount(recStartPos, styler);\n\t}\n}\n\n// Get the value of the \"checksum\" field.\nstatic int GetIHexChecksum(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tint byteCount;\n\n\tbyteCount = GetIHexByteCount(recStartPos, styler);\n\n\treturn GetHexaChar(recStartPos + 9 + byteCount * 2, styler);\n}\n\n// Calculate the checksum of the record.\nstatic int CalcIHexChecksum(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tint byteCount;\n\n\tbyteCount = GetIHexByteCount(recStartPos, styler);\n\n\t// sum over \"byte count\", \"address\", \"type\" and \"data\" fields (8..518 digits)\n\treturn CalcChecksum(recStartPos + 1, 8 + byteCount * 2, true, styler);\n}\n\n\n// Get the value of the \"record length\" field, it counts the number of digits in\n// the record excluding the percent.\nstatic int GetTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tint val = GetHexaChar(recStartPos + 1, styler);\n\tif (val < 0)\n\t       val = 0;\n\n\treturn val;\n}\n\n// Count the number of digits in this record. Has to\n// be equal to the \"record length\" field value.\nstatic Sci_Position CountTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tSci_PositionU pos;\n\n\tpos = recStartPos+1;\n\n\twhile (!IsNewline(styler.SafeGetCharAt(pos, '\\n'))) {\n\t\tpos++;\n\t}\n\n\treturn static_cast<Sci_Position>(pos - (recStartPos+1));\n}\n\n// Get the type of the \"address\" field content.\nstatic int GetTEHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tswitch (styler.SafeGetCharAt(recStartPos + 3)) {\n\t\tcase '6':\n\t\t\treturn SCE_HEX_DATAADDRESS;\n\n\t\tcase '8':\n\t\t\treturn SCE_HEX_STARTADDRESS;\n\n\t\tdefault: // handle possible format extension in the future\n\t\t\treturn SCE_HEX_ADDRESSFIELD_UNKNOWN;\n\t}\n}\n\n// Get the value of the \"checksum\" field.\nstatic int GetTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler)\n{\n\treturn GetHexaChar(recStartPos+4, styler);\n}\n\n// Calculate the checksum of the record (excluding the checksum field).\nstatic int CalcTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler)\n{\n\tSci_PositionU pos = recStartPos +1;\n\tSci_PositionU length = GetTEHexDigitCount(recStartPos, styler);\n\n\tint cs = GetHexaNibble(styler.SafeGetCharAt(pos++));//length\n\tcs += GetHexaNibble(styler.SafeGetCharAt(pos++));//length\n\n\tcs += GetHexaNibble(styler.SafeGetCharAt(pos++));//type\n\n\tpos += 2;// jump over CS field\n\n\tfor (; pos <= recStartPos + length; ++pos) {\n\t\tint val = GetHexaNibble(styler.SafeGetCharAt(pos));\n\n\t\tif (val < 0) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// overflow does not matter\n\t\tcs += val;\n\t}\n\n\t// low byte\n\treturn cs & 0xFF;\n\n}\n\nstatic void ColouriseSrecDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler)\n{\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\twhile (sc.More()) {\n\t\tSci_PositionU recStartPos;\n\t\tSci_Position reqByteCount;\n\t\tSci_Position dataFieldSize;\n\t\tint byteCount, addrFieldSize, addrFieldType, dataFieldType;\n\t\tint cs1, cs2;\n\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_HEX_DEFAULT:\n\t\t\t\tif (sc.atLineStart && sc.Match('S')) {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECSTART);\n\t\t\t\t}\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_RECSTART:\n\t\t\t\trecStartPos = sc.currentPos - 1;\n\t\t\t\taddrFieldType = GetSrecAddressFieldType(recStartPos, styler);\n\n\t\t\t\tif (addrFieldType == SCE_HEX_ADDRESSFIELD_UNKNOWN) {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECTYPE_UNKNOWN);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECTYPE);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_RECTYPE:\n\t\t\tcase SCE_HEX_RECTYPE_UNKNOWN:\n\t\t\t\trecStartPos = sc.currentPos - 2;\n\t\t\t\tbyteCount = GetSrecByteCount(recStartPos, styler);\n\t\t\t\treqByteCount = GetSrecAddressFieldSize(recStartPos, styler)\n\t\t\t\t\t\t+ GetSrecRequiredDataFieldSize(recStartPos, styler)\n\t\t\t\t\t\t+ 1; // +1 for checksum field\n\n\t\t\t\tif (byteCount == CountSrecByteCount(recStartPos, styler)\n\t\t\t\t\t\t&& byteCount == reqByteCount) {\n\t\t\t\t\tsc.SetState(SCE_HEX_BYTECOUNT);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_BYTECOUNT_WRONG);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_BYTECOUNT:\n\t\t\tcase SCE_HEX_BYTECOUNT_WRONG:\n\t\t\t\trecStartPos = sc.currentPos - 4;\n\t\t\t\taddrFieldSize = GetSrecAddressFieldSize(recStartPos, styler);\n\t\t\t\taddrFieldType = GetSrecAddressFieldType(recStartPos, styler);\n\n\t\t\t\tsc.SetState(addrFieldType);\n\t\t\t\tForwardWithinLine(sc, addrFieldSize * 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_NOADDRESS:\n\t\t\tcase SCE_HEX_DATAADDRESS:\n\t\t\tcase SCE_HEX_RECCOUNT:\n\t\t\tcase SCE_HEX_STARTADDRESS:\n\t\t\tcase SCE_HEX_ADDRESSFIELD_UNKNOWN:\n\t\t\t\trecStartPos = GetSrecRecStartPosition(sc.currentPos, styler);\n\t\t\t\tdataFieldType = GetSrecDataFieldType(recStartPos, styler);\n\n\t\t\t\t// Using the required size here if possible has the effect that the\n\t\t\t\t// checksum is highlighted at a fixed position after this field for\n\t\t\t\t// specific record types, independent on the \"byte count\" value.\n\t\t\t\tdataFieldSize = GetSrecRequiredDataFieldSize(recStartPos, styler);\n\n\t\t\t\tsc.SetState(dataFieldType);\n\n\t\t\t\tif (dataFieldType == SCE_HEX_DATA_ODD) {\n\t\t\t\t\tfor (int i = 0; i < dataFieldSize * 2; i++) {\n\t\t\t\t\t\tif ((i & 0x3) == 0) {\n\t\t\t\t\t\t\tsc.SetState(SCE_HEX_DATA_ODD);\n\t\t\t\t\t\t} else if ((i & 0x3) == 2) {\n\t\t\t\t\t\t\tsc.SetState(SCE_HEX_DATA_EVEN);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!ForwardWithinLine(sc)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tForwardWithinLine(sc, dataFieldSize * 2);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_DATA_ODD:\n\t\t\tcase SCE_HEX_DATA_EVEN:\n\t\t\tcase SCE_HEX_DATA_EMPTY:\n\t\t\tcase SCE_HEX_DATA_UNKNOWN:\n\t\t\t\trecStartPos = GetSrecRecStartPosition(sc.currentPos, styler);\n\t\t\t\tcs1 = CalcSrecChecksum(recStartPos, styler);\n\t\t\t\tcs2 = GetSrecChecksum(recStartPos, styler);\n\n\t\t\t\tif (cs1 != cs2 || cs1 < 0 || cs2 < 0) {\n\t\t\t\t\tsc.SetState(SCE_HEX_CHECKSUM_WRONG);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_CHECKSUM);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_CHECKSUM:\n\t\t\tcase SCE_HEX_CHECKSUM_WRONG:\n\t\t\tcase SCE_HEX_GARBAGE:\n\t\t\t\t// record finished or line too long\n\t\t\t\tsc.SetState(SCE_HEX_GARBAGE);\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t// prevent endless loop in faulty state\n\t\t\t\tsc.SetState(SCE_HEX_DEFAULT);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void ColouriseIHexDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler)\n{\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\twhile (sc.More()) {\n\t\tSci_PositionU recStartPos;\n\t\tint byteCount, addrFieldType, dataFieldSize, dataFieldType;\n\t\tint cs1, cs2;\n\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_HEX_DEFAULT:\n\t\t\t\tif (sc.atLineStart && sc.Match(':')) {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECSTART);\n\t\t\t\t}\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_RECSTART:\n\t\t\t\trecStartPos = sc.currentPos - 1;\n\t\t\t\tbyteCount = GetIHexByteCount(recStartPos, styler);\n\t\t\t\tdataFieldSize = GetIHexRequiredDataFieldSize(recStartPos, styler);\n\n\t\t\t\tif (byteCount == CountIHexByteCount(recStartPos, styler)\n\t\t\t\t\t\t&& byteCount == dataFieldSize) {\n\t\t\t\t\tsc.SetState(SCE_HEX_BYTECOUNT);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_BYTECOUNT_WRONG);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_BYTECOUNT:\n\t\t\tcase SCE_HEX_BYTECOUNT_WRONG:\n\t\t\t\trecStartPos = sc.currentPos - 3;\n\t\t\t\taddrFieldType = GetIHexAddressFieldType(recStartPos, styler);\n\n\t\t\t\tsc.SetState(addrFieldType);\n\t\t\t\tForwardWithinLine(sc, 4);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_NOADDRESS:\n\t\t\tcase SCE_HEX_DATAADDRESS:\n\t\t\tcase SCE_HEX_ADDRESSFIELD_UNKNOWN:\n\t\t\t\trecStartPos = sc.currentPos - 7;\n\t\t\t\taddrFieldType = GetIHexAddressFieldType(recStartPos, styler);\n\n\t\t\t\tif (addrFieldType == SCE_HEX_ADDRESSFIELD_UNKNOWN) {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECTYPE_UNKNOWN);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECTYPE);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_RECTYPE:\n\t\t\tcase SCE_HEX_RECTYPE_UNKNOWN:\n\t\t\t\trecStartPos = sc.currentPos - 9;\n\t\t\t\tdataFieldType = GetIHexDataFieldType(recStartPos, styler);\n\n\t\t\t\t// Using the required size here if possible has the effect that the\n\t\t\t\t// checksum is highlighted at a fixed position after this field for\n\t\t\t\t// specific record types, independent on the \"byte count\" value.\n\t\t\t\tdataFieldSize = GetIHexRequiredDataFieldSize(recStartPos, styler);\n\n\t\t\t\tsc.SetState(dataFieldType);\n\n\t\t\t\tif (dataFieldType == SCE_HEX_DATA_ODD) {\n\t\t\t\t\tfor (int i = 0; i < dataFieldSize * 2; i++) {\n\t\t\t\t\t\tif ((i & 0x3) == 0) {\n\t\t\t\t\t\t\tsc.SetState(SCE_HEX_DATA_ODD);\n\t\t\t\t\t\t} else if ((i & 0x3) == 2) {\n\t\t\t\t\t\t\tsc.SetState(SCE_HEX_DATA_EVEN);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!ForwardWithinLine(sc)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tForwardWithinLine(sc, dataFieldSize * 2);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_DATA_ODD:\n\t\t\tcase SCE_HEX_DATA_EVEN:\n\t\t\tcase SCE_HEX_DATA_EMPTY:\n\t\t\tcase SCE_HEX_EXTENDEDADDRESS:\n\t\t\tcase SCE_HEX_STARTADDRESS:\n\t\t\tcase SCE_HEX_DATA_UNKNOWN:\n\t\t\t\trecStartPos = GetIHexRecStartPosition(sc.currentPos, styler);\n\t\t\t\tcs1 = CalcIHexChecksum(recStartPos, styler);\n\t\t\t\tcs2 = GetIHexChecksum(recStartPos, styler);\n\n\t\t\t\tif (cs1 != cs2 || cs1 < 0 || cs2 < 0) {\n\t\t\t\t\tsc.SetState(SCE_HEX_CHECKSUM_WRONG);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_CHECKSUM);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_CHECKSUM:\n\t\t\tcase SCE_HEX_CHECKSUM_WRONG:\n\t\t\tcase SCE_HEX_GARBAGE:\n\t\t\t\t// record finished or line too long\n\t\t\t\tsc.SetState(SCE_HEX_GARBAGE);\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t// prevent endless loop in faulty state\n\t\t\t\tsc.SetState(SCE_HEX_DEFAULT);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldIHexDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n\tSci_PositionU endPos = startPos + length;\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent - 1);\n\n\tSci_PositionU lineStartNext = styler.LineStart(lineCurrent + 1);\n\tint levelNext = SC_FOLDLEVELBASE; // default if no specific line found\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tbool atEOL = i == (lineStartNext - 1);\n\t\tint style = styler.StyleAt(i);\n\n\t\t// search for specific lines\n\t\tif (style == SCE_HEX_EXTENDEDADDRESS) {\n\t\t\t// extended addres record\n\t\t\tlevelNext = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t} else if (style == SCE_HEX_DATAADDRESS\n\t\t\t|| (style == SCE_HEX_DEFAULT\n\t\t\t\t&& i == (Sci_PositionU)styler.LineStart(lineCurrent))) {\n\t\t\t// data record or no record start code at all\n\t\t\tif (levelCurrent & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\tlevelNext = SC_FOLDLEVELBASE + 1;\n\t\t\t} else {\n\t\t\t\t// continue level 0 or 1, no fold point\n\t\t\t\tlevelNext = levelCurrent;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL || (i == endPos - 1)) {\n\t\t\tstyler.SetLevel(lineCurrent, levelNext);\n\n\t\t\tlineCurrent++;\n\t\t\tlineStartNext = styler.LineStart(lineCurrent + 1);\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelNext = SC_FOLDLEVELBASE;\n\t\t}\n\t}\n}\n\nstatic void ColouriseTEHexDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler)\n{\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\twhile (sc.More()) {\n\t\tSci_PositionU recStartPos;\n\t\tint digitCount, addrFieldType;\n\t\tint cs1, cs2;\n\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_HEX_DEFAULT:\n\t\t\t\tif (sc.atLineStart && sc.Match('%')) {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECSTART);\n\t\t\t\t}\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_RECSTART:\n\n\t\t\t\trecStartPos = sc.currentPos - 1;\n\n\t\t\t\tif (GetTEHexDigitCount(recStartPos, styler) == CountTEHexDigitCount(recStartPos, styler)) {\n\t\t\t\t\tsc.SetState(SCE_HEX_BYTECOUNT);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_BYTECOUNT_WRONG);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_BYTECOUNT:\n\t\t\tcase SCE_HEX_BYTECOUNT_WRONG:\n\t\t\t\trecStartPos = sc.currentPos - 3;\n\t\t\t\taddrFieldType = GetTEHexAddressFieldType(recStartPos, styler);\n\n\t\t\t\tif (addrFieldType == SCE_HEX_ADDRESSFIELD_UNKNOWN) {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECTYPE_UNKNOWN);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_RECTYPE);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_RECTYPE:\n\t\t\tcase SCE_HEX_RECTYPE_UNKNOWN:\n\t\t\t\trecStartPos = sc.currentPos - 4;\n\t\t\t\tcs1 = CalcTEHexChecksum(recStartPos, styler);\n\t\t\t\tcs2 = GetTEHexChecksum(recStartPos, styler);\n\n\t\t\t\tif (cs1 != cs2 || cs1 < 0 || cs2 < 0) {\n\t\t\t\t\tsc.SetState(SCE_HEX_CHECKSUM_WRONG);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_HEX_CHECKSUM);\n\t\t\t\t}\n\n\t\t\t\tForwardWithinLine(sc, 2);\n\t\t\t\tbreak;\n\n\n\t\t\tcase SCE_HEX_CHECKSUM:\n\t\t\tcase SCE_HEX_CHECKSUM_WRONG:\n\t\t\t\trecStartPos = sc.currentPos - 6;\n\t\t\t\taddrFieldType = GetTEHexAddressFieldType(recStartPos, styler);\n\n\t\t\t\tsc.SetState(addrFieldType);\n\t\t\t\tForwardWithinLine(sc, 9);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_DATAADDRESS:\n\t\t\tcase SCE_HEX_STARTADDRESS:\n\t\t\tcase SCE_HEX_ADDRESSFIELD_UNKNOWN:\n\t\t\t\trecStartPos = sc.currentPos - 15;\n\t\t\t\tdigitCount = GetTEHexDigitCount(recStartPos, styler) - 14;\n\n\t\t\t\tsc.SetState(SCE_HEX_DATA_ODD);\n\n\t\t\t\tfor (int i = 0; i < digitCount; i++) {\n\t\t\t\t\tif ((i & 0x3) == 0) {\n\t\t\t\t\t\tsc.SetState(SCE_HEX_DATA_ODD);\n\t\t\t\t\t} else if ((i & 0x3) == 2) {\n\t\t\t\t\t\tsc.SetState(SCE_HEX_DATA_EVEN);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ForwardWithinLine(sc)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_HEX_DATA_ODD:\n\t\t\tcase SCE_HEX_DATA_EVEN:\n\t\t\tcase SCE_HEX_GARBAGE:\n\t\t\t\t// record finished or line too long\n\t\t\t\tsc.SetState(SCE_HEX_GARBAGE);\n\t\t\t\tForwardWithinLine(sc);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t// prevent endless loop in faulty state\n\t\t\t\tsc.SetState(SCE_HEX_DEFAULT);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nLexerModule lmSrec(SCLEX_SREC, ColouriseSrecDoc, \"srec\", 0, NULL);\nLexerModule lmIHex(SCLEX_IHEX, ColouriseIHexDoc, \"ihex\", FoldIHexDoc, NULL);\nLexerModule lmTEHex(SCLEX_TEHEX, ColouriseTEHexDoc, \"tehex\", 0, NULL);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexIndent.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexIndent.cxx\n ** Lexer for no language. Used for indentation-based folding of files.\n **/\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseIndentDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n                            Accessor &styler) {\n\t// Indent language means all style bytes are 0 so just mark the end - no need to fill in.\n\tif (length > 0) {\n\t\tstyler.StartAt(startPos + length - 1);\n\t\tstyler.StartSegment(startPos + length - 1);\n\t\tstyler.ColourTo(startPos + length - 1, 0);\n\t}\n}\n\nstatic void FoldIndentDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[], Accessor &styler) {\n\tint visibleCharsCurrent, visibleCharsNext;\n\tint levelCurrent, levelNext;\n\tSci_PositionU i, lineEnd;\n\tSci_PositionU lengthDoc   = startPos + length;\n\tSci_Position  lineCurrent = styler.GetLine(startPos);\n\n\ti       = styler.LineStart(lineCurrent  );\n\tlineEnd = styler.LineStart(lineCurrent+1)-1;\n\tif(lineEnd>=lengthDoc) lineEnd = lengthDoc-1;\n\twhile(styler[lineEnd]=='\\n' || styler[lineEnd]=='\\r') lineEnd--;\n\tfor(visibleCharsCurrent=0, levelCurrent=SC_FOLDLEVELBASE; !visibleCharsCurrent && i<=lineEnd; i++){\n\t\tif(isspacechar(styler[i])) levelCurrent++;\n\t\telse                       visibleCharsCurrent=1;\n\t}\n\n\tfor(; i<lengthDoc; lineCurrent++) {\n\t\ti       = styler.LineStart(lineCurrent+1);\n\t\tlineEnd = styler.LineStart(lineCurrent+2)-1;\n\t\tif(lineEnd>=lengthDoc) lineEnd = lengthDoc-1;\n\t\twhile(styler[lineEnd]=='\\n' || styler[lineEnd]=='\\r') lineEnd--;\n\t\tfor(visibleCharsNext=0, levelNext=SC_FOLDLEVELBASE; !visibleCharsNext && i<=lineEnd; i++){\n\t\t\tif(isspacechar(styler[i])) levelNext++;\n\t\t\telse                       visibleCharsNext=1;\n\t\t}\n\t\tint lev = levelCurrent;\n\t\tif(!visibleCharsCurrent) lev |= SC_FOLDLEVELWHITEFLAG;\n\t\telse if(levelNext > levelCurrent) lev |= SC_FOLDLEVELHEADERFLAG;\n\t\tstyler.SetLevel(lineCurrent, lev);\n\t\tlevelCurrent = levelNext;\n\t\tvisibleCharsCurrent = visibleCharsNext;\n\t}\n}\n\nLexerModule lmIndent(SCLEX_INDENT, ColouriseIndentDoc, \"indent\", FoldIndentDoc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexInno.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexInno.cxx\n ** Lexer for Inno Setup scripts.\n **/\n// Written by Friedrich Vedder <fvedd@t-online.de>, using code from LexOthers.cxx.\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseInnoDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler) {\n\tint state = SCE_INNO_DEFAULT;\n\tchar chPrev;\n\tchar ch = 0;\n\tchar chNext = styler[startPos];\n\tSci_Position lengthDoc = startPos + length;\n\tchar *buffer = new char[length+1];\n\tSci_Position bufferCount = 0;\n\tbool isBOL, isEOL, isWS, isBOLWS = 0;\n\tbool isCStyleComment = false;\n\n\tWordList &sectionKeywords = *keywordLists[0];\n\tWordList &standardKeywords = *keywordLists[1];\n\tWordList &parameterKeywords = *keywordLists[2];\n\tWordList &preprocessorKeywords = *keywordLists[3];\n\tWordList &pascalKeywords = *keywordLists[4];\n\tWordList &userKeywords = *keywordLists[5];\n\n\tSci_Position curLine = styler.GetLine(startPos);\n\tint curLineState = curLine > 0 ? styler.GetLineState(curLine - 1) : 0;\n\tbool isCode = (curLineState == 1);\n\n\t// Go through all provided text segment\n\t// using the hand-written state machine shown below\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++) {\n\t\tchPrev = ch;\n\t\tch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tisBOL = (chPrev == 0) || (chPrev == '\\n') || (chPrev == '\\r' && ch != '\\n');\n\t\tisBOLWS = (isBOL) ? 1 : (isBOLWS && (chPrev == ' ' || chPrev == '\\t'));\n\t\tisEOL = (ch == '\\n' || ch == '\\r');\n\t\tisWS = (ch == ' ' || ch == '\\t');\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n\t\t\t// Remember the line state for future incremental lexing\n\t\t\tcurLine = styler.GetLine(i);\n\t\t\tstyler.SetLineState(curLine, (isCode ? 1 : 0));\n\t\t}\n\n\t\tswitch(state) {\n\t\t\tcase SCE_INNO_DEFAULT:\n\t\t\t\tif (!isCode && ch == ';' && isBOLWS) {\n\t\t\t\t\t// Start of a comment\n\t\t\t\t\tstate = SCE_INNO_COMMENT;\n\t\t\t\t} else if (ch == '[' && isBOLWS) {\n\t\t\t\t\t// Start of a section name\n\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tstate = SCE_INNO_SECTION;\n\t\t\t\t} else if (ch == '#' && isBOLWS) {\n\t\t\t\t\t// Start of a preprocessor directive\n\t\t\t\t\tstate = SCE_INNO_PREPROC;\n\t\t\t\t} else if (!isCode && ch == '{' && chNext != '{' && chPrev != '{') {\n\t\t\t\t\t// Start of an inline expansion\n\t\t\t\t\tstate = SCE_INNO_INLINE_EXPANSION;\n\t\t\t\t} else if (isCode && (ch == '{' || (ch == '(' && chNext == '*'))) {\n\t\t\t\t\t// Start of a Pascal comment\n\t\t\t\t\tstate = SCE_INNO_COMMENT_PASCAL;\n\t\t\t\t\tisCStyleComment = false;\n\t\t\t\t} else if (isCode && ch == '/' && chNext == '/') {\n\t\t\t\t\t// Apparently, C-style comments are legal, too\n\t\t\t\t\tstate = SCE_INNO_COMMENT_PASCAL;\n\t\t\t\t\tisCStyleComment = true;\n\t\t\t\t} else if (ch == '\"') {\n\t\t\t\t\t// Start of a double-quote string\n\t\t\t\t\tstate = SCE_INNO_STRING_DOUBLE;\n\t\t\t\t} else if (ch == '\\'') {\n\t\t\t\t\t// Start of a single-quote string\n\t\t\t\t\tstate = SCE_INNO_STRING_SINGLE;\n\t\t\t\t} else if (IsASCII(ch) && (isalpha(ch) || (ch == '_'))) {\n\t\t\t\t\t// Start of an identifier\n\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tbuffer[bufferCount++] = static_cast<char>(tolower(ch));\n\t\t\t\t\tstate = SCE_INNO_IDENTIFIER;\n\t\t\t\t} else {\n\t\t\t\t\t// Style it the default style\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_COMMENT:\n\t\t\t\tif (isEOL) {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_COMMENT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_IDENTIFIER:\n\t\t\t\tif (IsASCII(ch) && (isalnum(ch) || (ch == '_'))) {\n\t\t\t\t\tbuffer[bufferCount++] = static_cast<char>(tolower(ch));\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\n\t\t\t\t\t// Check if the buffer contains a keyword\n\t\t\t\t\tif (!isCode && standardKeywords.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_KEYWORD);\n\t\t\t\t\t} else if (!isCode && parameterKeywords.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_PARAMETER);\n\t\t\t\t\t} else if (isCode && pascalKeywords.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_KEYWORD_PASCAL);\n\t\t\t\t\t} else if (!isCode && userKeywords.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_KEYWORD_USER);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_DEFAULT);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Push back the faulty character\n\t\t\t\t\tchNext = styler[i--];\n\t\t\t\t\tch = chPrev;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_SECTION:\n\t\t\t\tif (ch == ']') {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\n\t\t\t\t\t// Check if the buffer contains a section name\n\t\t\t\t\tif (sectionKeywords.InList(buffer)) {\n\t\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_SECTION);\n\t\t\t\t\t\tisCode = !CompareCaseInsensitive(buffer, \"code\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else if (IsASCII(ch) && (isalnum(ch) || (ch == '_'))) {\n\t\t\t\t\tbuffer[bufferCount++] = static_cast<char>(tolower(ch));\n\t\t\t\t} else {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_PREPROC:\n\t\t\t\tif (isWS || isEOL) {\n\t\t\t\t\tif (IsASCII(chPrev) && isalpha(chPrev)) {\n\t\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\t\tbuffer[bufferCount] = '\\0';\n\n\t\t\t\t\t\t// Check if the buffer contains a preprocessor directive\n\t\t\t\t\t\tif (preprocessorKeywords.InList(buffer)) {\n\t\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_PREPROC);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstyler.ColourTo(i-1,SCE_INNO_DEFAULT);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Push back the faulty character\n\t\t\t\t\t\tchNext = styler[i--];\n\t\t\t\t\t\tch = chPrev;\n\t\t\t\t\t}\n\t\t\t\t} else if (IsASCII(ch) && isalpha(ch)) {\n\t\t\t\t\tif (chPrev == '#' || chPrev == ' ' || chPrev == '\\t')\n\t\t\t\t\t\tbufferCount = 0;\n\t\t\t\t\tbuffer[bufferCount++] = static_cast<char>(tolower(ch));\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_STRING_DOUBLE:\n\t\t\t\tif (ch == '\"' || isEOL) {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_STRING_DOUBLE);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_STRING_SINGLE:\n\t\t\t\tif (ch == '\\'' || isEOL) {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_STRING_SINGLE);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_INLINE_EXPANSION:\n\t\t\t\tif (ch == '}') {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_INLINE_EXPANSION);\n\t\t\t\t} else if (isEOL) {\n\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_INNO_COMMENT_PASCAL:\n\t\t\t\tif (isCStyleComment) {\n\t\t\t\t\tif (isEOL) {\n\t\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_COMMENT_PASCAL);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (ch == '}' || (ch == ')' && chPrev == '*')) {\n\t\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_COMMENT_PASCAL);\n\t\t\t\t\t} else if (isEOL) {\n\t\t\t\t\t\tstate = SCE_INNO_DEFAULT;\n\t\t\t\t\t\tstyler.ColourTo(i,SCE_INNO_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t}\n\t}\n\tdelete []buffer;\n}\n\nstatic const char * const innoWordListDesc[] = {\n\t\"Sections\",\n\t\"Keywords\",\n\t\"Parameters\",\n\t\"Preprocessor directives\",\n\t\"Pascal keywords\",\n\t\"User defined keywords\",\n\t0\n};\n\nstatic void FoldInnoDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tSci_PositionU endPos = startPos + length;\n\tchar chNext = styler[startPos];\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\n\tbool sectionFlag = false;\n\tint levelPrev = lineCurrent > 0 ? styler.LevelAt(lineCurrent - 1) : SC_FOLDLEVELBASE;\n\tint level;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler[i+1];\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tint style = styler.StyleAt(i);\n\n\t\tif (style == SCE_INNO_SECTION)\n\t\t\tsectionFlag = true;\n\n\t\tif (atEOL || i == endPos - 1) {\n\t\t\tif (sectionFlag) {\n\t\t\t\tlevel = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tif (level == levelPrev)\n\t\t\t\t\tstyler.SetLevel(lineCurrent - 1, levelPrev & ~SC_FOLDLEVELHEADERFLAG);\n\t\t\t} else {\n\t\t\t\tlevel = levelPrev & SC_FOLDLEVELNUMBERMASK;\n\t\t\t\tif (levelPrev & SC_FOLDLEVELHEADERFLAG)\n\t\t\t\t\tlevel++;\n\t\t\t}\n\n\t\t\tstyler.SetLevel(lineCurrent, level);\n\n\t\t\tlevelPrev = level;\n\t\t\tlineCurrent++;\n\t\t\tsectionFlag = false;\n\t\t}\n\t}\n}\n\nLexerModule lmInno(SCLEX_INNOSETUP, ColouriseInnoDoc, \"inno\", FoldInnoDoc, innoWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexJSON.cpp",
    "content": "// Scintilla source code edit control\n/**\n * @file LexJSON.cxx\n * @date February 19, 2016\n * @brief Lexer for JSON and JSON-LD formats\n * @author nkmathew\n *\n * The License.txt file describes the conditions under which this software may\n * be distributed.\n *\n */\n\n#include <cstdlib>\n#include <cassert>\n#include <cctype>\n#include <cstdio>\n#include <string>\n#include <vector>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nstatic const char *const JSONWordListDesc[] = {\n\t\"JSON Keywords\",\n\t\"JSON-LD Keywords\",\n\t0\n};\n\n/**\n * Used to detect compact IRI/URLs in JSON-LD without first looking ahead for the\n * colon separating the prefix and suffix\n *\n * https://www.w3.org/TR/json-ld/#dfn-compact-iri\n */\nstruct CompactIRI {\n\tint colonCount;\n\tbool foundInvalidChar;\n\tCharacterSet setCompactIRI;\n\tCompactIRI() {\n\t\tcolonCount = 0;\n\t\tfoundInvalidChar = false;\n\t\tsetCompactIRI = CharacterSet(CharacterSet::setAlpha, \"$_-\");\n\t}\n\tvoid resetState() {\n\t\tcolonCount = 0;\n\t\tfoundInvalidChar = false;\n\t}\n\tvoid checkChar(int ch) {\n\t\tif (ch == ':') {\n\t\t\tcolonCount++;\n\t\t} else {\n\t\t\tfoundInvalidChar |= !setCompactIRI.Contains(ch);\n\t\t}\n\t}\n\tbool shouldHighlight() const {\n\t\treturn !foundInvalidChar && colonCount == 1;\n\t}\n};\n\n/**\n * Keeps track of escaped characters in strings as per:\n *\n * https://tools.ietf.org/html/rfc7159#section-7\n */\nstruct EscapeSequence {\n\tint digitsLeft;\n\tCharacterSet setHexDigits;\n\tCharacterSet setEscapeChars;\n\tEscapeSequence() {\n\t\tdigitsLeft = 0;\n\t\tsetHexDigits = CharacterSet(CharacterSet::setDigits, \"ABCDEFabcdef\");\n\t\tsetEscapeChars = CharacterSet(CharacterSet::setNone, \"\\\\\\\"tnbfru/\");\n\t}\n\t// Returns true if the following character is a valid escaped character\n\tbool newSequence(int nextChar) {\n\t\tdigitsLeft = 0;\n\t\tif (nextChar == 'u') {\n\t\t\tdigitsLeft = 5;\n\t\t} else if (!setEscapeChars.Contains(nextChar)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\tbool atEscapeEnd() const {\n\t\treturn digitsLeft <= 0;\n\t}\n\tbool isInvalidChar(int currChar) const {\n\t\treturn !setHexDigits.Contains(currChar);\n\t}\n};\n\nstruct OptionsJSON {\n\tbool foldCompact;\n\tbool fold;\n\tbool allowComments;\n\tbool escapeSequence;\n\tOptionsJSON() {\n\t\tfoldCompact = false;\n\t\tfold = false;\n\t\tallowComments = false;\n\t\tescapeSequence = false;\n\t}\n};\n\nstruct OptionSetJSON : public OptionSet<OptionsJSON> {\n\tOptionSetJSON() {\n\t\tDefineProperty(\"lexer.json.escape.sequence\", &OptionsJSON::escapeSequence,\n\t\t\t\t\t   \"Set to 1 to enable highlighting of escape sequences in strings\");\n\n\t\tDefineProperty(\"lexer.json.allow.comments\", &OptionsJSON::allowComments,\n\t\t\t\t\t   \"Set to 1 to enable highlighting of line/block comments in JSON\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsJSON::foldCompact);\n\t\tDefineProperty(\"fold\", &OptionsJSON::fold);\n\t\tDefineWordListSets(JSONWordListDesc);\n\t}\n};\n\nclass LexerJSON : public DefaultLexer {\n\tOptionsJSON options;\n\tOptionSetJSON optSetJSON;\n\tEscapeSequence escapeSeq;\n\tWordList keywordsJSON;\n\tWordList keywordsJSONLD;\n\tCharacterSet setOperators;\n\tCharacterSet setURL;\n\tCharacterSet setKeywordJSONLD;\n\tCharacterSet setKeywordJSON;\n\tCompactIRI compactIRI;\n\n\tstatic bool IsNextNonWhitespace(LexAccessor &styler, Sci_Position start, char ch) {\n\t\tSci_Position i = 0;\n\t\twhile (i < 50) {\n\t\t\ti++;\n\t\t\tchar curr = styler.SafeGetCharAt(start+i, '\\0');\n\t\t\tchar next = styler.SafeGetCharAt(start+i+1, '\\0');\n\t\t\tbool atEOL = (curr == '\\r' && next != '\\n') || (curr == '\\n');\n\t\t\tif (curr == ch) {\n\t\t\t\treturn true;\n\t\t\t} else if (!isspacechar(curr) || atEOL) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Looks for the colon following the end quote\n\t *\n\t * Assumes property names of lengths no longer than a 100 characters.\n\t * The colon is also expected to be less than 50 spaces after the end\n\t * quote for the string to be considered a property name\n\t */\n\tstatic bool AtPropertyName(LexAccessor &styler, Sci_Position start) {\n\t\tSci_Position i = 0;\n\t\tbool escaped = false;\n\t\twhile (i < 100) {\n\t\t\ti++;\n\t\t\tchar curr = styler.SafeGetCharAt(start+i, '\\0');\n\t\t\tif (escaped) {\n\t\t\t\tescaped = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tescaped = curr == '\\\\';\n\t\t\tif (curr == '\"') {\n\t\t\t\treturn IsNextNonWhitespace(styler, start+i, ':');\n\t\t\t} else if (!curr) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic bool IsNextWordInList(WordList &keywordList, CharacterSet wordSet,\n\t\t\t\t\t\t\t\t StyleContext &context, LexAccessor &styler) {\n\t\tchar word[51];\n\t\tSci_Position currPos = (Sci_Position) context.currentPos;\n\t\tint i = 0;\n\t\twhile (i < 50) {\n\t\t\tchar ch = styler.SafeGetCharAt(currPos + i);\n\t\t\tif (!wordSet.Contains(ch)) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tword[i] = ch;\n\t\t\ti++;\n\t\t}\n\t\tword[i] = '\\0';\n\t\treturn keywordList.InList(word);\n\t}\n\n\tpublic:\n\tLexerJSON() :\n\t\tsetOperators(CharacterSet::setNone, \"[{}]:,\"),\n\t\tsetURL(CharacterSet::setAlphaNum, \"-._~:/?#[]@!$&'()*+,),=\"),\n\t\tsetKeywordJSONLD(CharacterSet::setAlpha, \":@\"),\n\t\tsetKeywordJSON(CharacterSet::setAlpha, \"$_\") {\n\t}\n\tvirtual ~LexerJSON() {}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tconst char *SCI_METHOD PropertyNames() override {\n\t\treturn optSetJSON.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn optSetJSON.PropertyType(name);\n\t}\n\tconst char *SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn optSetJSON.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override {\n\t\tif (optSetJSON.PropertySet(&options, key, val)) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn -1;\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override {\n\t\tWordList *wordListN = 0;\n\t\tswitch (n) {\n\t\t\tcase 0:\n\t\t\t\twordListN = &keywordsJSON;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\twordListN = &keywordsJSONLD;\n\t\t\t\tbreak;\n\t\t}\n\t\tSci_Position firstModification = -1;\n\t\tif (wordListN) {\n\t\t\tWordList wlNew;\n\t\t\twlNew.Set(wl);\n\t\t\tif (*wordListN != wlNew) {\n\t\t\t\twordListN->Set(wl);\n\t\t\t\tfirstModification = 0;\n\t\t\t}\n\t\t}\n\t\treturn firstModification;\n\t}\n\tvoid *SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\tstatic ILexer *LexerFactoryJSON() {\n\t\treturn new LexerJSON;\n\t}\n\tconst char *SCI_METHOD DescribeWordListSets() override {\n\t\treturn optSetJSON.DescribeWordListSets();\n\t}\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\tSci_Position length,\n\t\t\t\t\t\t\t\tint initStyle,\n\t\t\t\t\t\t\t\tIDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\t Sci_Position length,\n\t\t\t\t\t\t\t\t int initStyle,\n\t\t\t\t\t\t\t\t IDocument *pAccess) override;\n};\n\nvoid SCI_METHOD LexerJSON::Lex(Sci_PositionU startPos,\n\t\t\t\t\t\t\t   Sci_Position length,\n\t\t\t\t\t\t\t   int initStyle,\n\t\t\t\t\t\t\t   IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\tStyleContext context(startPos, length, initStyle, styler);\n\tint stringStyleBefore = SCE_JSON_STRING;\n\twhile (context.More()) {\n\t\tswitch (context.state) {\n\t\t\tcase SCE_JSON_BLOCKCOMMENT:\n\t\t\t\tif (context.Match(\"*/\")) {\n\t\t\t\t\tcontext.Forward();\n\t\t\t\t\tcontext.ForwardSetState(SCE_JSON_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_LINECOMMENT:\n\t\t\t\tif (context.atLineEnd) {\n\t\t\t\t\tcontext.SetState(SCE_JSON_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_STRINGEOL:\n\t\t\t\tif (context.atLineStart) {\n\t\t\t\t\tcontext.SetState(SCE_JSON_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_ESCAPESEQUENCE:\n\t\t\t\tescapeSeq.digitsLeft--;\n\t\t\t\tif (!escapeSeq.atEscapeEnd()) {\n\t\t\t\t\tif (escapeSeq.isInvalidChar(context.ch)) {\n\t\t\t\t\t\tcontext.SetState(SCE_JSON_ERROR);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (context.ch == '\"') {\n\t\t\t\t\tcontext.SetState(stringStyleBefore);\n\t\t\t\t\tcontext.ForwardSetState(SCE_C_DEFAULT);\n\t\t\t\t} else if (context.ch == '\\\\') {\n\t\t\t\t\tif (!escapeSeq.newSequence(context.chNext)) {\n\t\t\t\t\t\tcontext.SetState(SCE_JSON_ERROR);\n\t\t\t\t\t}\n\t\t\t\t\tcontext.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tcontext.SetState(stringStyleBefore);\n\t\t\t\t\tif (context.atLineEnd) {\n\t\t\t\t\t\tcontext.ChangeState(SCE_JSON_STRINGEOL);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_PROPERTYNAME:\n\t\t\tcase SCE_JSON_STRING:\n\t\t\t\tif (context.ch == '\"') {\n\t\t\t\t\tif (compactIRI.shouldHighlight()) {\n\t\t\t\t\t\tcontext.ChangeState(SCE_JSON_COMPACTIRI);\n\t\t\t\t\t\tcontext.ForwardSetState(SCE_JSON_DEFAULT);\n\t\t\t\t\t\tcompactIRI.resetState();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.ForwardSetState(SCE_JSON_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else if (context.atLineEnd) {\n\t\t\t\t\tcontext.ChangeState(SCE_JSON_STRINGEOL);\n\t\t\t\t} else if (context.ch == '\\\\') {\n\t\t\t\t\tstringStyleBefore = context.state;\n\t\t\t\t\tif (options.escapeSequence) {\n\t\t\t\t\t\tcontext.SetState(SCE_JSON_ESCAPESEQUENCE);\n\t\t\t\t\t\tif (!escapeSeq.newSequence(context.chNext)) {\n\t\t\t\t\t\t\tcontext.SetState(SCE_JSON_ERROR);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcontext.Forward();\n\t\t\t\t} else if (context.Match(\"https://\") ||\n\t\t\t\t\t\t   context.Match(\"http://\") ||\n\t\t\t\t\t\t   context.Match(\"ssh://\") ||\n\t\t\t\t\t\t   context.Match(\"git://\") ||\n\t\t\t\t\t\t   context.Match(\"svn://\") ||\n\t\t\t\t\t\t   context.Match(\"ftp://\") ||\n\t\t\t\t\t\t   context.Match(\"mailto:\")) {\n\t\t\t\t\t// Handle most common URI schemes only\n\t\t\t\t\tstringStyleBefore = context.state;\n\t\t\t\t\tcontext.SetState(SCE_JSON_URI);\n\t\t\t\t} else if (context.ch == '@') {\n\t\t\t\t\t// https://www.w3.org/TR/json-ld/#dfn-keyword\n\t\t\t\t\tif (IsNextWordInList(keywordsJSONLD, setKeywordJSONLD, context, styler)) {\n\t\t\t\t\t\tstringStyleBefore = context.state;\n\t\t\t\t\t\tcontext.SetState(SCE_JSON_LDKEYWORD);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcompactIRI.checkChar(context.ch);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_LDKEYWORD:\n\t\t\tcase SCE_JSON_URI:\n\t\t\t\tif ((!setKeywordJSONLD.Contains(context.ch) &&\n\t\t\t\t\t (context.state == SCE_JSON_LDKEYWORD)) ||\n\t\t\t\t\t(!setURL.Contains(context.ch))) {\n\t\t\t\t\tcontext.SetState(stringStyleBefore);\n\t\t\t\t}\n\t\t\t\tif (context.ch == '\"') {\n\t\t\t\t\tcontext.ForwardSetState(SCE_JSON_DEFAULT);\n\t\t\t\t} else if (context.atLineEnd) {\n\t\t\t\t\tcontext.ChangeState(SCE_JSON_STRINGEOL);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_OPERATOR:\n\t\t\tcase SCE_JSON_NUMBER:\n\t\t\t\tcontext.SetState(SCE_JSON_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_ERROR:\n\t\t\t\tif (context.atLineEnd) {\n\t\t\t\t\tcontext.SetState(SCE_JSON_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_JSON_KEYWORD:\n\t\t\t\tif (!setKeywordJSON.Contains(context.ch)) {\n\t\t\t\t\tcontext.SetState(SCE_JSON_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\tif (context.state == SCE_JSON_DEFAULT) {\n\t\t\tif (context.ch == '\"') {\n\t\t\t\tcompactIRI.resetState();\n\t\t\t\tcontext.SetState(SCE_JSON_STRING);\n\t\t\t\tSci_Position currPos = static_cast<Sci_Position>(context.currentPos);\n\t\t\t\tif (AtPropertyName(styler, currPos)) {\n\t\t\t\t\tcontext.SetState(SCE_JSON_PROPERTYNAME);\n\t\t\t\t}\n\t\t\t} else if (setOperators.Contains(context.ch)) {\n\t\t\t\tcontext.SetState(SCE_JSON_OPERATOR);\n\t\t\t} else if (options.allowComments && context.Match(\"/*\")) {\n\t\t\t\tcontext.SetState(SCE_JSON_BLOCKCOMMENT);\n\t\t\t\tcontext.Forward();\n\t\t\t} else if (options.allowComments && context.Match(\"//\")) {\n\t\t\t\tcontext.SetState(SCE_JSON_LINECOMMENT);\n\t\t\t} else if (setKeywordJSON.Contains(context.ch)) {\n\t\t\t\tif (IsNextWordInList(keywordsJSON, setKeywordJSON, context, styler)) {\n\t\t\t\t\tcontext.SetState(SCE_JSON_KEYWORD);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbool numberStart =\n\t\t\t\tIsADigit(context.ch) && (context.chPrev == '+'||\n\t\t\t\t\t\t\t\t\t\t context.chPrev == '-' ||\n\t\t\t\t\t\t\t\t\t\t context.atLineStart ||\n\t\t\t\t\t\t\t\t\t\t IsASpace(context.chPrev) ||\n\t\t\t\t\t\t\t\t\t\t setOperators.Contains(context.chPrev));\n\t\t\tbool exponentPart =\n\t\t\t\ttolower(context.ch) == 'e' &&\n\t\t\t\tIsADigit(context.chPrev) &&\n\t\t\t\t(IsADigit(context.chNext) ||\n\t\t\t\t context.chNext == '+' ||\n\t\t\t\t context.chNext == '-');\n\t\t\tbool signPart =\n\t\t\t\t(context.ch == '-' || context.ch == '+') &&\n\t\t\t\t((tolower(context.chPrev) == 'e' && IsADigit(context.chNext)) ||\n\t\t\t\t ((IsASpace(context.chPrev) || setOperators.Contains(context.chPrev))\n\t\t\t\t  && IsADigit(context.chNext)));\n\t\t\tbool adjacentDigit =\n\t\t\t\tIsADigit(context.ch) && IsADigit(context.chPrev);\n\t\t\tbool afterExponent = IsADigit(context.ch) && tolower(context.chPrev) == 'e';\n\t\t\tbool dotPart = context.ch == '.' &&\n\t\t\t\tIsADigit(context.chPrev) &&\n\t\t\t\tIsADigit(context.chNext);\n\t\t\tbool afterDot = IsADigit(context.ch) && context.chPrev == '.';\n\t\t\tif (numberStart ||\n\t\t\t\texponentPart ||\n\t\t\t\tsignPart ||\n\t\t\t\tadjacentDigit ||\n\t\t\t\tdotPart ||\n\t\t\t\tafterExponent ||\n\t\t\t\tafterDot) {\n\t\t\t\tcontext.SetState(SCE_JSON_NUMBER);\n\t\t\t} else if (context.state == SCE_JSON_DEFAULT && !IsASpace(context.ch)) {\n\t\t\t\tcontext.SetState(SCE_JSON_ERROR);\n\t\t\t}\n\t\t}\n\t\tcontext.Forward();\n\t}\n\tcontext.Complete();\n}\n\nvoid SCI_METHOD LexerJSON::Fold(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\tSci_Position length,\n\t\t\t\t\t\t\t\tint,\n\t\t\t\t\t\t\t\tIDocument *pAccess) {\n\tif (!options.fold) {\n\t\treturn;\n\t}\n\tLexAccessor styler(pAccess);\n\tSci_PositionU currLine = styler.GetLine(startPos);\n\tSci_PositionU endPos = startPos + length;\n\tint currLevel = SC_FOLDLEVELBASE;\n\tif (currLine > 0)\n\t\tcurrLevel = styler.LevelAt(currLine - 1) >> 16;\n\tint nextLevel = currLevel;\n\tint visibleChars = 0;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar curr = styler.SafeGetCharAt(i);\n\t\tchar next = styler.SafeGetCharAt(i+1);\n\t\tbool atEOL = (curr == '\\r' && next != '\\n') || (curr == '\\n');\n\t\tif (styler.StyleAt(i) == SCE_JSON_OPERATOR) {\n\t\t\tif (curr == '{' || curr == '[') {\n\t\t\t\tnextLevel++;\n\t\t\t} else if (curr == '}' || curr == ']') {\n\t\t\t\tnextLevel--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL || i == (endPos-1)) {\n\t\t\tint level = currLevel | nextLevel << 16;\n\t\t\tif (!visibleChars && options.foldCompact) {\n\t\t\t\tlevel |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t} else if (nextLevel > currLevel) {\n\t\t\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (level != styler.LevelAt(currLine)) {\n\t\t\t\tstyler.SetLevel(currLine, level);\n\t\t\t}\n\t\t\tcurrLine++;\n\t\t\tcurrLevel = nextLevel;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(curr)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n}\n\nLexerModule lmJSON(SCLEX_JSON,\n\t\t\t\t   LexerJSON::LexerFactoryJSON,\n\t\t\t\t   \"json\",\n\t\t\t\t   JSONWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexKVIrc.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexKVIrc.cxx\n ** Lexer for KVIrc script.\n **/\n// Copyright 2013 by OmegaPhil <OmegaPhil+scintilla@gmail.com>, based in\n// part from LexPython Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// and LexCmake Copyright 2007 by Cristian Adam <cristian [dot] adam [at] gmx [dot] net>\n\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\n/* KVIrc Script syntactic rules: http://www.kvirc.net/doc/doc_syntactic_rules.html */\n\n/* Utility functions */\nstatic inline bool IsAWordChar(int ch) {\n\n    /* Keyword list includes modules, i.e. words including '.', and\n     * alias namespaces include ':' */\n    return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.'\n            || ch == ':');\n}\nstatic inline bool IsAWordStart(int ch) {\n\n    /* Functions (start with '$') are treated separately to keywords */\n    return (ch < 0x80) && (isalnum(ch) || ch == '_' );\n}\n\n/* Interface function called by Scintilla to request some text to be\n syntax highlighted */\nstatic void ColouriseKVIrcDoc(Sci_PositionU startPos, Sci_Position length,\n                              int initStyle, WordList *keywordlists[],\n                              Accessor &styler)\n{\n    /* Fetching style context */\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    /* Accessing keywords and function-marking keywords */\n    WordList &keywords = *keywordlists[0];\n    WordList &functionKeywords = *keywordlists[1];\n\n    /* Looping for all characters - only automatically moving forward\n     * when asked for (transitions leaving strings and keywords do this\n     * already) */\n    bool next = true;\n    for( ; sc.More(); next ? sc.Forward() : (void)0 )\n    {\n        /* Resetting next */\n        next = true;\n\n        /* Dealing with different states */\n        switch (sc.state)\n        {\n            case SCE_KVIRC_DEFAULT:\n\n                /* Detecting single-line comments\n                 * Unfortunately KVIrc script allows raw '#<channel\n                 * name>' to be used, and appending # to an array returns\n                 * its length...\n                 * Going for a compromise where single line comments not\n                 * starting on a newline are allowed in all cases except\n                 * when they are preceeded with an opening bracket or comma\n                 * (this will probably be the most common style a valid\n                 * string-less channel name will be used with), with the\n                 * array length case included\n                 */\n                if (\n                    (sc.ch == '#' && sc.atLineStart) ||\n                    (sc.ch == '#' && (\n                        sc.chPrev != '(' && sc.chPrev != ',' &&\n                        sc.chPrev != ']')\n                    )\n                )\n                {\n                    sc.SetState(SCE_KVIRC_COMMENT);\n                    break;\n                }\n\n                /* Detecting multi-line comments */\n                if (sc.Match('/', '*'))\n                {\n                    sc.SetState(SCE_KVIRC_COMMENTBLOCK);\n                    break;\n                }\n\n                /* Detecting strings */\n                if (sc.ch == '\"')\n                {\n                    sc.SetState(SCE_KVIRC_STRING);\n                    break;\n                }\n\n                /* Detecting functions */\n                if (sc.ch == '$')\n                {\n                    sc.SetState(SCE_KVIRC_FUNCTION);\n                    break;\n                }\n\n                /* Detecting variables */\n                if (sc.ch == '%')\n                {\n                    sc.SetState(SCE_KVIRC_VARIABLE);\n                    break;\n                }\n\n                /* Detecting numbers - isdigit is unsafe as it does not\n                 * validate, use CharacterSet.h functions */\n                if (IsADigit(sc.ch))\n                {\n                    sc.SetState(SCE_KVIRC_NUMBER);\n                    break;\n                }\n\n                /* Detecting words */\n                if (IsAWordStart(sc.ch) && IsAWordChar(sc.chNext))\n                {\n                    sc.SetState(SCE_KVIRC_WORD);\n                    sc.Forward();\n                    break;\n                }\n\n                /* Detecting operators */\n                if (isoperator(sc.ch))\n                {\n                    sc.SetState(SCE_KVIRC_OPERATOR);\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_COMMENT:\n\n                /* Breaking out of single line comment when a newline\n                 * is introduced */\n                if (sc.ch == '\\r' || sc.ch == '\\n')\n                {\n                    sc.SetState(SCE_KVIRC_DEFAULT);\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_COMMENTBLOCK:\n\n                /* Detecting end of multi-line comment */\n                if (sc.Match('*', '/'))\n                {\n                    // Moving the current position forward two characters\n                    // so that '*/' is included in the comment\n                    sc.Forward(2);\n                    sc.SetState(SCE_KVIRC_DEFAULT);\n\n                    /* Comment has been exited and the current position\n                     * moved forward, yet the new current character\n                     * has yet to be defined - loop without moving\n                     * forward again */\n                    next = false;\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_STRING:\n\n                /* Detecting end of string - closing speechmarks */\n                if (sc.ch == '\"')\n                {\n                    /* Allowing escaped speechmarks to pass */\n                    if (sc.chPrev == '\\\\')\n                        break;\n\n                    /* Moving the current position forward to capture the\n                     * terminating speechmarks, and ending string */\n                    sc.ForwardSetState(SCE_KVIRC_DEFAULT);\n\n                    /* String has been exited and the current position\n                     * moved forward, yet the new current character\n                     * has yet to be defined - loop without moving\n                     * forward again */\n                    next = false;\n                    break;\n                }\n\n                /* Functions and variables are now highlighted in strings\n                 * Detecting functions */\n                if (sc.ch == '$')\n                {\n                    /* Allowing escaped functions to pass */\n                    if (sc.chPrev == '\\\\')\n                        break;\n\n                    sc.SetState(SCE_KVIRC_STRING_FUNCTION);\n                    break;\n                }\n\n                /* Detecting variables */\n                if (sc.ch == '%')\n                {\n                    /* Allowing escaped variables to pass */\n                    if (sc.chPrev == '\\\\')\n                        break;\n\n                    sc.SetState(SCE_KVIRC_STRING_VARIABLE);\n                    break;\n                }\n\n                /* Breaking out of a string when a newline is introduced */\n                if (sc.ch == '\\r' || sc.ch == '\\n')\n                {\n                    /* Allowing escaped newlines */\n                    if (sc.chPrev == '\\\\')\n                        break;\n\n                    sc.SetState(SCE_KVIRC_DEFAULT);\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_FUNCTION:\n            case SCE_KVIRC_VARIABLE:\n\n                /* Detecting the end of a function/variable (word) */\n                if (!IsAWordChar(sc.ch))\n                {\n                    sc.SetState(SCE_KVIRC_DEFAULT);\n\n                    /* Word has been exited yet the current character\n                     * has yet to be defined - loop without moving\n                     * forward again */\n                    next = false;\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_STRING_FUNCTION:\n            case SCE_KVIRC_STRING_VARIABLE:\n\n                /* A function or variable in a string\n                 * Detecting the end of a function/variable (word) */\n                if (!IsAWordChar(sc.ch))\n                {\n                    sc.SetState(SCE_KVIRC_STRING);\n\n                    /* Word has been exited yet the current character\n                     * has yet to be defined - loop without moving\n                     * forward again */\n                    next = false;\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_NUMBER:\n\n                /* Detecting the end of a number */\n                if (!IsADigit(sc.ch))\n                {\n                    sc.SetState(SCE_KVIRC_DEFAULT);\n\n                    /* Number has been exited yet the current character\n                     * has yet to be defined - loop without moving\n                     * forward */\n                    next = false;\n                    break;\n                }\n\n                break;\n\n            case SCE_KVIRC_OPERATOR:\n\n                /* Because '%' is an operator but is also the marker for\n                 * a variable, I need to always treat operators as single\n                 * character strings and therefore redo their detection\n                 * after every character */\n                sc.SetState(SCE_KVIRC_DEFAULT);\n\n                /* Operator has been exited yet the current character\n                 * has yet to be defined - loop without moving\n                 * forward */\n                next = false;\n                break;\n\n            case SCE_KVIRC_WORD:\n\n                /* Detecting the end of a word */\n                if (!IsAWordChar(sc.ch))\n                {\n                    /* Checking if the word was actually a keyword -\n                     * fetching the current word, NULL-terminated like\n                     * the keyword list */\n                    char s[100];\n                    Sci_Position wordLen = sc.currentPos - styler.GetStartSegment();\n                    if (wordLen > 99)\n                        wordLen = 99;  /* Include '\\0' in buffer */\n                    Sci_Position i;\n                    for( i = 0; i < wordLen; ++i )\n                    {\n                        s[i] = styler.SafeGetCharAt( styler.GetStartSegment() + i );\n                    }\n                    s[wordLen] = '\\0';\n\n                    /* Actually detecting keywords and fixing the state */\n                    if (keywords.InList(s))\n                    {\n                        /* The SetState call actually commits the\n                         * previous keyword state */\n                        sc.ChangeState(SCE_KVIRC_KEYWORD);\n                    }\n                    else if (functionKeywords.InList(s))\n                    {\n                        // Detecting function keywords and fixing the state\n                        sc.ChangeState(SCE_KVIRC_FUNCTION_KEYWORD);\n                    }\n\n                    /* Transitioning to default and committing the previous\n                     * word state */\n                    sc.SetState(SCE_KVIRC_DEFAULT);\n\n                    /* Word has been exited yet the current character\n                     * has yet to be defined - loop without moving\n                     * forward again */\n                    next = false;\n                    break;\n                }\n\n                break;\n        }\n    }\n\n    /* Indicating processing is complete */\n    sc.Complete();\n}\n\nstatic void FoldKVIrcDoc(Sci_PositionU startPos, Sci_Position length, int /*initStyle - unused*/,\n                      WordList *[], Accessor &styler)\n{\n    /* Based on CMake's folder */\n\n    /* Exiting if folding isnt enabled */\n    if ( styler.GetPropertyInt(\"fold\") == 0 )\n        return;\n\n    /* Obtaining current line number*/\n    Sci_Position currentLine = styler.GetLine(startPos);\n\n    /* Obtaining starting character - indentation is done on a line basis,\n     * not character */\n    Sci_PositionU safeStartPos = styler.LineStart( currentLine );\n\n    /* Initialising current level - this is defined as indentation level\n     * in the low 12 bits, with flag bits in the upper four bits.\n     * It looks like two indentation states are maintained in the returned\n     * 32bit value - 'nextLevel' in the most-significant bits, 'currentLevel'\n     * in the least-significant bits. Since the next level is the most\n     * up to date, this must refer to the current state of indentation.\n     * So the code bitshifts the old current level out of existence to\n     * get at the actual current state of indentation\n     * Based on the LexerCPP.cxx line 958 comment */\n    int currentLevel = SC_FOLDLEVELBASE;\n    if (currentLine > 0)\n        currentLevel = styler.LevelAt(currentLine - 1) >> 16;\n    int nextLevel = currentLevel;\n\n    // Looping for characters in range\n    for (Sci_PositionU i = safeStartPos; i < startPos + length; ++i)\n    {\n        /* Folding occurs after syntax highlighting, meaning Scintilla\n         * already knows where the comments are\n         * Fetching the current state */\n        int state = styler.StyleAt(i) & 31;\n\n        switch( styler.SafeGetCharAt(i) )\n        {\n            case '{':\n\n                /* Indenting only when the braces are not contained in\n                 * a comment */\n                if (state != SCE_KVIRC_COMMENT &&\n                    state != SCE_KVIRC_COMMENTBLOCK)\n                    ++nextLevel;\n                break;\n\n            case '}':\n\n                /* Outdenting only when the braces are not contained in\n                 * a comment */\n                if (state != SCE_KVIRC_COMMENT &&\n                    state != SCE_KVIRC_COMMENTBLOCK)\n                    --nextLevel;\n                break;\n\n            case '\\n':\n            case '\\r':\n\n                /* Preparing indentation information to return - combining\n                 * current and next level data */\n                int lev = currentLevel | nextLevel << 16;\n\n                /* If the next level increases the indent level, mark the\n                 * current line as a fold point - current level data is\n                 * in the least significant bits */\n                if (nextLevel > currentLevel )\n                    lev |= SC_FOLDLEVELHEADERFLAG;\n\n                /* Updating indentation level if needed */\n                if (lev != styler.LevelAt(currentLine))\n                    styler.SetLevel(currentLine, lev);\n\n                /* Updating variables */\n                ++currentLine;\n                currentLevel = nextLevel;\n\n                /* Dealing with problematic Windows newlines -\n                 * incrementing to avoid the extra newline breaking the\n                 * fold point */\n                if (styler.SafeGetCharAt(i) == '\\r' &&\n                    styler.SafeGetCharAt(i + 1) == '\\n')\n                    ++i;\n                break;\n        }\n    }\n\n    /* At this point the data has ended, so presumably the end of the line?\n     * Preparing indentation information to return - combining current\n     * and next level data */\n    int lev = currentLevel | nextLevel << 16;\n\n    /* If the next level increases the indent level, mark the current\n     * line as a fold point - current level data is in the least\n     * significant bits */\n    if (nextLevel > currentLevel )\n        lev |= SC_FOLDLEVELHEADERFLAG;\n\n    /* Updating indentation level if needed */\n    if (lev != styler.LevelAt(currentLine))\n        styler.SetLevel(currentLine, lev);\n}\n\n/* Registering wordlists */\nstatic const char *const kvircWordListDesc[] = {\n\t\"primary\",\n\t\"function_keywords\",\n\t0\n};\n\n\n/* Registering functions and wordlists */\nLexerModule lmKVIrc(SCLEX_KVIRC, ColouriseKVIrcDoc, \"kvirc\", FoldKVIrcDoc,\n                    kvircWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexKix.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexKix.cxx\n ** Lexer for KIX-Scripts.\n **/\n// Copyright 2004 by Manfred Becker <manfred@becker-trdf.de>\n// The License.txt file describes the conditions under which this software may be distributed.\n// Edited by Lee Wilmott (24-Jun-2014) added support for block comments\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Extended to accept accented characters\nstatic inline bool IsAWordChar(int ch) {\n\treturn ch >= 0x80 || isalnum(ch) || ch == '_';\n}\n\nstatic inline bool IsOperator(const int ch) {\n\treturn (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '&' || ch == '|' || ch == '<' || ch == '>' || ch == '=');\n}\n\nstatic void ColouriseKixDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n//\tWordList &keywords4 = *keywordlists[3];\n\n\tstyler.StartAt(startPos);\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.state == SCE_KIX_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_COMMENTSTREAM) {\n\t\t\tif (sc.ch == '/' && sc.chPrev == '*') {\n\t\t\t\tsc.ForwardSetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_STRING1) {\n\t\t\t// This is a doubles quotes string\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_STRING2) {\n\t\t\t// This is a single quote string\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_NUMBER) {\n\t\t\tif (!IsADigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_VAR) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_MACRO) {\n\t\t\tif (!IsAWordChar(sc.ch) && !IsADigit(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\t\t\tif (!keywords3.InList(&s[1])) {\n\t\t\t\t\tsc.ChangeState(SCE_KIX_DEFAULT);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_OPERATOR) {\n\t\t\tif (!IsOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_KIX_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_KIX_KEYWORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_KIX_FUNCTIONS);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_KIX_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_KIX_DEFAULT) {\n\t\t\tif (sc.ch == ';') {\n\t\t\t\tsc.SetState(SCE_KIX_COMMENT);\n\t\t\t} else if (sc.ch == '/' && sc.chNext == '*') {\n\t\t\t\tsc.SetState(SCE_KIX_COMMENTSTREAM);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_KIX_STRING1);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_KIX_STRING2);\n\t\t\t} else if (sc.ch == '$') {\n\t\t\t\tsc.SetState(SCE_KIX_VAR);\n\t\t\t} else if (sc.ch == '@') {\n\t\t\t\tsc.SetState(SCE_KIX_MACRO);\n\t\t\t} else if (IsADigit(sc.ch) || ((sc.ch == '.' || sc.ch == '&') && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_KIX_NUMBER);\n\t\t\t} else if (IsOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_KIX_OPERATOR);\n\t\t\t} else if (IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_KIX_IDENTIFIER);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n\nLexerModule lmKix(SCLEX_KIX, ColouriseKixDoc, \"kix\");\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexLPeg.cpp",
    "content": "/**\n * Copyright 2006-2018 Mitchell mitchell.att.foicica.com. See License.txt.\n *\n * Lua-powered dynamic language lexer for Scintilla.\n *\n * For documentation on writing lexers, see *../doc/LPegLexer.html*.\n */\n\n#if LPEG_LEXER\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <assert.h>\n#include <ctype.h>\n#if CURSES\n#include <curses.h>\n#endif\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"LexAccessor.h\"\n#include \"LexerModule.h\"\n\nextern \"C\" {\n#include \"lua.h\"\n#include \"lualib.h\"\n#include \"lauxlib.h\"\nLUALIB_API int luaopen_lpeg(lua_State *L);\n}\n\n#if _WIN32\n#define strcasecmp _stricmp\n#endif\n#define streq(s1, s2) (strcasecmp((s1), (s2)) == 0)\n\nusing namespace Scintilla;\n\n#define l_setmetatable(l, k, mtf) \\\n\tif (luaL_newmetatable(l, k)) { \\\n\t\tlua_pushcfunction(l, mtf), lua_setfield(l, -2, \"__index\"); \\\n\t\tlua_pushcfunction(l, mtf), lua_setfield(l, -2, \"__newindex\"); \\\n\t} \\\n\tlua_setmetatable(l, -2);\n#define l_pushlexerp(l, mtf) do { \\\n\tlua_newtable(l); \\\n\tlua_pushvalue(l, 2), lua_setfield(l, -2, \"property\"); \\\n\tl_setmetatable(l, \"sci_lexerp\", mtf); \\\n} while(0)\n#define l_getlexerobj(l) \\\n\tlua_getfield(l, LUA_REGISTRYINDEX, \"sci_lexers\"); \\\n\tlua_pushlightuserdata(l, reinterpret_cast<void *>(this)); \\\n\tlua_gettable(l, -2), lua_replace(l, -2);\n#define l_getlexerfield(l, k) \\\n\tl_getlexerobj(l); \\\n\tlua_getfield(l, -1, k), lua_replace(l, -2);\n#if LUA_VERSION_NUM < 502\n#define l_openlib(f, s) \\\n\t(lua_pushcfunction(L, f), lua_pushstring(L, s), lua_call(L, 1, 0))\n#define LUA_BASELIBNAME \"\"\n#define lua_rawlen lua_objlen\n#define LUA_OK 0\n#define lua_compare(l, a, b, _) lua_equal(l, a, b)\n#define LUA_OPEQ 0\n#else\n#define l_openlib(f, s) (luaL_requiref(L, s, f, 1), lua_pop(L, 1))\n#define LUA_BASELIBNAME \"_G\"\n#endif\n#define l_setfunction(l, f, k) (lua_pushcfunction(l, f), lua_setfield(l, -2, k))\n#define l_setconstant(l, c, k) (lua_pushinteger(l, c), lua_setfield(l, -2, k))\n\n#if CURSES\n#define A_COLORCHAR (A_COLOR | A_CHARTEXT)\n#endif\n\n/** The LPeg Scintilla lexer. */\nclass LexerLPeg : public ILexer {\n\t/**\n\t * The lexer's Lua state.\n\t * It is cleared each time the lexer language changes unless `own_lua` is\n\t * `true`.\n\t */\n\tlua_State *L;\n\t/**\n\t * The flag indicating whether or not an existing Lua state was supplied as\n\t * the lexer's Lua state.\n\t */\n\tbool own_lua;\n\t/**\n\t * The set of properties for the lexer.\n\t * The `lexer.name`, `lexer.lpeg.home`, and `lexer.lpeg.color.theme`\n\t * properties must be defined before running the lexer.\n\t */\n\tPropSetSimple props;\n\t/** The function to send Scintilla messages with. */\n\tSciFnDirect SS;\n\t/** The Scintilla object the lexer belongs to. */\n\tsptr_t sci;\n\t/**\n\t * The flag indicating whether or not the lexer needs to be re-initialized.\n\t * Re-initialization is required after the lexer language changes.\n\t */\n\tbool reinit;\n\t/**\n\t * The flag indicating whether or not the lexer language has embedded lexers.\n\t */\n\tbool multilang;\n\t/**\n\t * The list of style numbers considered to be whitespace styles.\n\t * This is used in multi-language lexers when backtracking to whitespace to\n\t * determine which lexer grammar to use.\n\t */\n\tbool ws[STYLE_MAX + 1];\n\n\t/**\n\t * Logs the given error message or a Lua error message, prints it, and clears\n\t * the stack.\n\t * Error messages are logged to the \"lexer.lpeg.error\" property.\n\t * @param str The error message to log and print. If `NULL`, logs and prints\n\t *   the Lua error message at the top of the stack.\n\t */\n\tstatic void l_error(lua_State *L, const char *str=NULL) {\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_props\");\n\t\tPropSetSimple *props = static_cast<PropSetSimple *>(lua_touserdata(L, -1));\n\t\tlua_pop(L, 1); // props\n\t\tconst char *key = \"lexer.lpeg.error\";\n\t\tconst char *value = str ? str : lua_tostring(L, -1);\n\t\tprops->Set(key, value, strlen(key), strlen(value));\n\t\tfprintf(stderr, \"Lua Error: %s.\\n\", str ? str : lua_tostring(L, -1));\n\t\tlua_settop(L, 0);\n\t}\n\n\t/** The lexer's `line_from_position` Lua function. */\n\tstatic int l_line_from_position(lua_State *L) {\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_buffer\");\n\t\tIDocument *buffer = static_cast<IDocument *>(lua_touserdata(L, -1));\n\t\tlua_pushinteger(L, buffer->LineFromPosition(luaL_checkinteger(L, 1) - 1));\n\t\treturn 1;\n\t}\n\n\t/** The lexer's `__index` Lua metatable. */\n\tstatic int llexer_property(lua_State *L) {\n\t\tint newindex = (lua_gettop(L) == 3);\n\t\tluaL_getmetatable(L, \"sci_lexer\");\n\t\tlua_getmetatable(L, 1); // metatable can be either sci_lexer or sci_lexerp\n\t\tint is_lexer = lua_compare(L, -1, -2, LUA_OPEQ);\n\t\tlua_pop(L, 2); // metatable, metatable\n\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_buffer\");\n\t\tIDocument *buffer = static_cast<IDocument *>(lua_touserdata(L, -1));\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_props\");\n\t\tPropSetSimple *props = static_cast<PropSetSimple *>(lua_touserdata(L, -1));\n\t\tlua_pop(L, 2); // sci_props and sci_buffer\n\n\t\tif (is_lexer)\n\t\t\tlua_pushvalue(L, 2); // key is given\n\t\telse\n\t\t\tlua_getfield(L, 1, \"property\"); // indexible property\n\t\tconst char *key = lua_tostring(L, -1);\n\t\tif (strcmp(key, \"fold_level\") == 0) {\n\t\t\tluaL_argcheck(L, !newindex, 3, \"read-only property\");\n\t\t\tif (is_lexer)\n\t\t\t\tl_pushlexerp(L, llexer_property);\n\t\t\telse\n\t\t\t\tlua_pushinteger(L, buffer->GetLevel(luaL_checkinteger(L, 2)));\n\t\t} else if (strcmp(key, \"indent_amount\") == 0) {\n\t\t\tluaL_argcheck(L, !newindex, 3, \"read-only property\");\n\t\t\tif (is_lexer)\n\t\t\t\tl_pushlexerp(L, llexer_property);\n\t\t\telse\n\t\t\t\tlua_pushinteger(L, buffer->GetLineIndentation(luaL_checkinteger(L, 2)));\n\t\t} else if (strcmp(key, \"property\") == 0) {\n\t\t\tluaL_argcheck(L, !is_lexer || !newindex, 3, \"read-only property\");\n\t\t\tif (is_lexer)\n\t\t\t\tl_pushlexerp(L, llexer_property);\n\t\t\telse if (!newindex)\n\t\t\t\tlua_pushstring(L, props->Get(luaL_checkstring(L, 2)));\n\t\t\telse\n\t\t\t\tprops->Set(luaL_checkstring(L, 2), luaL_checkstring(L, 3),\n\t\t\t\t           lua_rawlen(L, 2), lua_rawlen(L, 3));\n\t\t} else if (strcmp(key, \"property_int\") == 0) {\n\t\t\tluaL_argcheck(L, !newindex, 3, \"read-only property\");\n\t\t\tif (is_lexer)\n\t\t\t\tl_pushlexerp(L, llexer_property);\n\t\t\telse {\n\t\t\t\tlua_pushstring(L, props->Get(luaL_checkstring(L, 2)));\n\t\t\t\tlua_pushinteger(L, lua_tointeger(L, -1));\n\t\t\t}\n\t\t} else if (strcmp(key, \"style_at\") == 0) {\n\t\t\tluaL_argcheck(L, !newindex, 3, \"read-only property\");\n\t\t\tif (is_lexer)\n\t\t\t\tl_pushlexerp(L, llexer_property);\n\t\t\telse {\n\t\t\t\tint style = buffer->StyleAt(luaL_checkinteger(L, 2) - 1);\n\t\t\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_lexer_obj\");\n\t\t\t\tlua_getfield(L, -1, \"_TOKENSTYLES\"), lua_replace(L, -2);\n\t\t\t\tlua_pushnil(L);\n\t\t\t\twhile (lua_next(L, -2)) {\n\t\t\t\t\tif (luaL_checkinteger(L, -1) == style) break;\n\t\t\t\t\tlua_pop(L, 1); // value\n\t\t\t\t}\n\t\t\t\tlua_pop(L, 1); // style_num\n\t\t\t}\n\t\t} else if (strcmp(key, \"line_state\") == 0) {\n\t\t\tluaL_argcheck(L, !is_lexer || !newindex, 3, \"read-only property\");\n\t\t\tif (is_lexer)\n\t\t\t\tl_pushlexerp(L, llexer_property);\n\t\t\telse if (!newindex)\n\t\t\t\tlua_pushinteger(L, buffer->GetLineState(luaL_checkinteger(L, 2)));\n\t\t\telse\n\t\t\t\tbuffer->SetLineState(luaL_checkinteger(L, 2),\n\t\t\t\t                     luaL_checkinteger(L, 3));\n\t\t} else return !newindex ? (lua_rawget(L, 1), 1) : (lua_rawset(L, 1), 0);\n\t\treturn 1;\n\t}\n\n\t/**\n\t * Expands value of the string property key at index *index* and pushes the\n\t * result onto the stack.\n\t * @param L The Lua State.\n\t * @param index The index the string property key.\n\t */\n\tvoid lL_getexpanded(lua_State *L, int index) {\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"_LOADED\"), lua_getfield(L, -1, \"lexer\");\n\t\tlua_getfield(L, -1, \"property_expanded\");\n\t\tlua_pushvalue(L, (index > 0) ? index : index - 3), lua_gettable(L, -2);\n\t\tlua_replace(L, -4), lua_pop(L, 2); // property_expanded and lexer module\n\t}\n\n\t/**\n\t * Parses the given style string to set the properties for the given style\n\t * number.\n\t * @param num The style number to set properties for.\n\t * @param style The style string containing properties to set.\n\t */\n\tvoid SetStyle(int num, const char *style) {\n\t\tchar *style_copy = static_cast<char *>(malloc(strlen(style) + 1));\n\t\tchar *option = strcpy(style_copy, style), *next = NULL, *p = NULL;\n\t\twhile (option) {\n\t\t\tif ((next = strchr(option, ','))) *next++ = '\\0';\n\t\t\tif ((p = strchr(option, ':'))) *p++ = '\\0';\n\t\t\tif (streq(option, \"font\") && p)\n\t\t\t\tSS(sci, SCI_STYLESETFONT, num, reinterpret_cast<sptr_t>(p));\n\t\t\telse if (streq(option, \"size\") && p)\n\t\t\t\tSS(sci, SCI_STYLESETSIZE, num, static_cast<int>(atoi(p)));\n\t\t\telse if (streq(option, \"bold\") || streq(option, \"notbold\") ||\n\t\t\t         streq(option, \"weight\")) {\n#if !CURSES\n\t\t\t\tint weight = SC_WEIGHT_NORMAL;\n\t\t\t\tif (*option == 'b')\n\t\t\t\t\tweight = SC_WEIGHT_BOLD;\n\t\t\t\telse if (*option == 'w' && p)\n\t\t\t\t\tweight = atoi(p);\n\t\t\t\tSS(sci, SCI_STYLESETWEIGHT, num, weight);\n#else\n\t\t\t\t// Scintilla curses requires font attributes to be stored in the \"font\n\t\t\t\t// weight\" style attribute.\n\t\t\t\t// First, clear any existing SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD, or\n\t\t\t\t// SC_WEIGHT_BOLD values stored in the lower 16 bits. Then set the\n\t\t\t\t// appropriate curses attr.\n\t\t\t\tsptr_t weight = SS(sci, SCI_STYLEGETWEIGHT, num, 0) & ~A_COLORCHAR;\n\t\t\t\tint bold = *option == 'b' ||\n\t\t\t\t           (*option == 'w' && p && atoi(p) > SC_WEIGHT_NORMAL);\n\t\t\t\tSS(sci, SCI_STYLESETWEIGHT, num,\n\t\t\t\t   bold ? weight | A_BOLD : weight & ~A_BOLD);\n#endif\n\t\t\t} else if (streq(option, \"italics\") || streq(option, \"notitalics\"))\n\t\t\t\tSS(sci, SCI_STYLESETITALIC, num, *option == 'i');\n\t\t\telse if (streq(option, \"underlined\") || streq(option, \"notunderlined\")) {\n#if !CURSES\n\t\t\t\tSS(sci, SCI_STYLESETUNDERLINE, num, *option == 'u');\n#else\n\t\t\t\t// Scintilla curses requires font attributes to be stored in the \"font\n\t\t\t\t// weight\" style attribute.\n\t\t\t\t// First, clear any existing SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD, or\n\t\t\t\t// SC_WEIGHT_BOLD values stored in the lower 16 bits. Then set the\n\t\t\t\t// appropriate curses attr.\n\t\t\t\tsptr_t weight = SS(sci, SCI_STYLEGETWEIGHT, num, 0) & ~A_COLORCHAR;\n\t\t\t\tSS(sci, SCI_STYLESETWEIGHT, num,\n\t\t\t\t   (*option == 'u') ? weight | A_UNDERLINE : weight & ~A_UNDERLINE);\n#endif\n\t\t\t} else if ((streq(option, \"fore\") || streq(option, \"back\")) && p) {\n\t\t\t\tint msg = (*option == 'f') ? SCI_STYLESETFORE : SCI_STYLESETBACK;\n\t\t\t\tint color = static_cast<int>(strtol(p, NULL, 0));\n\t\t\t\tif (*p == '#') { // #RRGGBB format; Scintilla format is 0xBBGGRR\n\t\t\t\t\tcolor = static_cast<int>(strtol(p + 1, NULL, 16));\n\t\t\t\t\tcolor = ((color & 0xFF0000) >> 16) | (color & 0xFF00) |\n\t\t\t\t\t        ((color & 0xFF) << 16); // convert to 0xBBGGRR\n\t\t\t\t}\n\t\t\t\tSS(sci, msg, num, color);\n\t\t\t} else if (streq(option, \"eolfilled\") || streq(option, \"noteolfilled\"))\n\t\t\t\tSS(sci, SCI_STYLESETEOLFILLED, num, *option == 'e');\n\t\t\telse if (streq(option, \"characterset\") && p)\n\t\t\t\tSS(sci, SCI_STYLESETCHARACTERSET, num, static_cast<int>(atoi(p)));\n\t\t\telse if (streq(option, \"case\") && p) {\n\t\t\t\tif (*p == 'u')\n\t\t\t\t\tSS(sci, SCI_STYLESETCASE, num, SC_CASE_UPPER);\n\t\t\t\telse if (*p == 'l')\n\t\t\t\t\tSS(sci, SCI_STYLESETCASE, num, SC_CASE_LOWER);\n\t\t\t} else if (streq(option, \"visible\") || streq(option, \"notvisible\"))\n\t\t\t\tSS(sci, SCI_STYLESETVISIBLE, num, *option == 'v');\n\t\t\telse if (streq(option, \"changeable\") || streq(option, \"notchangeable\"))\n\t\t\t\tSS(sci, SCI_STYLESETCHANGEABLE, num, *option == 'c');\n\t\t\telse if (streq(option, \"hotspot\") || streq(option, \"nothotspot\"))\n\t\t\t\tSS(sci, SCI_STYLESETHOTSPOT, num, *option == 'h');\n\t\t\toption = next;\n\t\t}\n\t\tfree(style_copy);\n\t}\n\n\t/**\n\t * Iterates through the lexer's `_TOKENSTYLES`, setting the style properties\n\t * for all defined styles.\n\t */\n\tbool SetStyles() {\n\t\t// If the lexer defines additional styles, set their properties first (if\n\t\t// the user has not already defined them).\n\t\tl_getlexerfield(L, \"_EXTRASTYLES\");\n\t\tlua_pushnil(L);\n\t\twhile (lua_next(L, -2)) {\n\t\t\tif (lua_isstring(L, -2) && lua_isstring(L, -1)) {\n\t\t\t\tlua_pushstring(L, \"style.\"), lua_pushvalue(L, -3), lua_concat(L, 2);\n\t\t\t\tif (!*props.Get(lua_tostring(L, -1)))\n\t\t\t\t\tprops.Set(lua_tostring(L, -1), lua_tostring(L, -2), lua_rawlen(L, -1),\n\t\t\t\t\t          lua_rawlen(L, -2));\n\t\t\t\tlua_pop(L, 1); // style name\n\t\t\t}\n\t\t\tlua_pop(L, 1); // value\n\t\t}\n\t\tlua_pop(L, 1); // _EXTRASTYLES\n\n\t\tl_getlexerfield(L, \"_TOKENSTYLES\");\n\t\tif (!SS || !sci) {\n\t\t\tlua_pop(L, 1); // _TOKENSTYLES\n\t\t\t// Skip, but do not report an error since `reinit` would remain `false`\n\t\t\t// and subsequent calls to `Lex()` and `Fold()` would repeatedly call this\n\t\t\t// function and error.\n\t\t\treturn true;\n\t\t}\n\t\tlua_pushstring(L, \"style.default\"), lL_getexpanded(L, -1);\n\t\tSetStyle(STYLE_DEFAULT, lua_tostring(L, -1));\n\t\tlua_pop(L, 2); // style and \"style.default\"\n\t\tSS(sci, SCI_STYLECLEARALL, 0, 0); // set default styles\n\t\tlua_pushnil(L);\n\t\twhile (lua_next(L, -2)) {\n\t\t\tif (lua_isstring(L, -2) && lua_isnumber(L, -1) &&\n\t\t\t    lua_tointeger(L, -1) != STYLE_DEFAULT) {\n\t\t\t\tlua_pushstring(L, \"style.\"), lua_pushvalue(L, -3), lua_concat(L, 2);\n\t\t\t\tlL_getexpanded(L, -1), lua_replace(L, -2);\n\t\t\t\tSetStyle(lua_tointeger(L, -2), lua_tostring(L, -1));\n\t\t\t\tlua_pop(L, 1); // style\n\t\t\t}\n\t\t\tlua_pop(L, 1); // value\n\t\t}\n\t\tlua_pop(L, 1); // _TOKENSTYLES\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns the style name for the given style number.\n\t * @param style The style number to get the style name for.\n\t * @return style name or NULL\n\t */\n\tconst char *GetStyleName(int style) {\n\t\tif (!L) return NULL;\n\t\tconst char *name = NULL;\n\t\tl_getlexerfield(L, \"_TOKENSTYLES\");\n\t\tlua_pushnil(L);\n\t\twhile (lua_next(L, -2))\n\t\t\tif (lua_tointeger(L, -1) == style) {\n\t\t\t\tname = lua_tostring(L, -2);\n\t\t\t\tlua_pop(L, 2); // value and key\n\t\t\t\tbreak;\n\t\t\t} else lua_pop(L, 1); // value\n\t\tlua_pop(L, 1); // _TOKENSTYLES\n\t\treturn name;\n\t}\n\n\t/**\n\t * Initializes the lexer once the `lexer.lpeg.home` and `lexer.name`\n\t * properties are set.\n\t */\n\tbool Init() {\n\t\tchar home[FILENAME_MAX], lexer[50], theme[FILENAME_MAX];\n\t\tprops.GetExpanded(\"lexer.lpeg.home\", home);\n\t\tprops.GetExpanded(\"lexer.name\", lexer);\n\t\tprops.GetExpanded(\"lexer.lpeg.color.theme\", theme);\n\t\tif (!*home || !*lexer || !L) return false;\n\n\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(&props));\n\t\tlua_setfield(L, LUA_REGISTRYINDEX, \"sci_props\");\n\n\t\t// If necessary, load the lexer module and theme.\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"_LOADED\"), lua_getfield(L, -1, \"lexer\");\n\t\tif (lua_isnil(L, -1)) {\n\t\t\tlua_pop(L, 2); // nil and _LOADED\n\n\t\t\t// Modify `package.path` to find lexers.\n\t\t\tlua_getglobal(L, \"package\"), lua_getfield(L, -1, \"path\");\n\t\t\tint orig_path = luaL_ref(L, LUA_REGISTRYINDEX); // restore later\n\t\t\tlua_pushstring(L, home), lua_pushstring(L, \"/?.lua\"), lua_concat(L, 2);\n\t\t\tlua_setfield(L, -2, \"path\"), lua_pop(L, 1); // package\n\n\t\t\t// Load the lexer module.\n\t\t\tlua_getglobal(L, \"require\");\n\t\t\tlua_pushstring(L, \"lexer\");\n\t\t\tif (lua_pcall(L, 1, 1, 0) != LUA_OK) return (l_error(L), false);\n\t\t\tl_setfunction(L, l_line_from_position, \"line_from_position\");\n\t\t\tl_setconstant(L, SC_FOLDLEVELBASE, \"FOLD_BASE\");\n\t\t\tl_setconstant(L, SC_FOLDLEVELWHITEFLAG, \"FOLD_BLANK\");\n\t\t\tl_setconstant(L, SC_FOLDLEVELHEADERFLAG, \"FOLD_HEADER\");\n\t\t\tl_setmetatable(L, \"sci_lexer\", llexer_property);\n\t\t\tif (*theme) {\n\t\t\t\t// Load the theme.\n\t\t\t\tif (!(strstr(theme, \"/\") || strstr(theme, \"\\\\\"))) { // theme name\n\t\t\t\t\tlua_pushstring(L, home);\n\t\t\t\t\tlua_pushstring(L, \"/themes/\");\n\t\t\t\t\tlua_pushstring(L, theme);\n\t\t\t\t\tlua_pushstring(L, \".lua\");\n\t\t\t\t\tlua_concat(L, 4);\n\t\t\t\t} else lua_pushstring(L, theme); // path to theme\n\t\t\t\tif (luaL_loadfile(L, lua_tostring(L, -1)) != LUA_OK ||\n\t\t\t\t    lua_pcall(L, 0, 0, 0) != LUA_OK) return (l_error(L), false);\n\t\t\t\tlua_pop(L, 1); // theme\n\t\t\t}\n\n\t\t\t// Restore `package.path`.\n\t\t\tlua_getglobal(L, \"package\");\n\t\t\tlua_getfield(L, -1, \"path\"), lua_setfield(L, -3, \"path\"); // lexer.path =\n\t\t\tlua_rawgeti(L, LUA_REGISTRYINDEX, orig_path), lua_setfield(L, -2, \"path\");\n\t\t\tluaL_unref(L, LUA_REGISTRYINDEX, orig_path), lua_pop(L, 1); // package\n\t\t} else lua_remove(L, -2); // _LOADED\n\n\t\t// Load the language lexer.\n\t\tlua_getfield(L, -1, \"load\");\n\t\tif (lua_isfunction(L, -1)) {\n\t\t\tlua_pushstring(L, lexer), lua_pushnil(L), lua_pushboolean(L, 1);\n\t\t\tif (lua_pcall(L, 3, 1, 0) != LUA_OK) return (l_error(L), false);\n\t\t} else return (l_error(L, \"'lexer.load' function not found\"), false);\n\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_lexers\");\n\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(this));\n\t\tlua_pushvalue(L, -3), lua_settable(L, -3), lua_pop(L, 1); // sci_lexers\n\t\tlua_pushvalue(L, -1), lua_setfield(L, LUA_REGISTRYINDEX, \"sci_lexer_obj\");\n\t\tlua_remove(L, -2); // lexer module\n\t\tif (!SetStyles()) return false;\n\n\t\t// If the lexer is a parent, it will have children in its _CHILDREN table.\n\t\tlua_getfield(L, -1, \"_CHILDREN\");\n\t\tif (lua_istable(L, -1)) {\n\t\t\tmultilang = true;\n\t\t\t// Determine which styles are language whitespace styles\n\t\t\t// ([lang]_whitespace). This is necessary for determining which language\n\t\t\t// to start lexing with.\n\t\t\tchar style_name[50];\n\t\t\tfor (int i = 0; i <= STYLE_MAX; i++) {\n\t\t\t\tPrivateCall(i, reinterpret_cast<void *>(style_name));\n\t\t\t\tws[i] = strstr(style_name, \"whitespace\") ? true : false;\n\t\t\t}\n\t\t}\n\t\tlua_pop(L, 2); // _CHILDREN and lexer object\n\n\t\treinit = false;\n\t\tprops.Set(\"lexer.lpeg.error\", \"\", strlen(\"lexer.lpeg.error\"), 0);\n\t\treturn true;\n\t}\n\n\t/**\n\t * When *lparam* is `0`, returns the size of the buffer needed to store the\n\t * given string *str* in; otherwise copies *str* into the buffer *lparam* and\n\t * returns the number of bytes copied.\n\t * @param lparam `0` to get the number of bytes needed to store *str* or a\n\t *   pointer to a buffer large enough to copy *str* into.\n\t * @param str The string to copy.\n\t * @return number of bytes needed to hold *str*\n\t */\n\tvoid *StringResult(long lparam, const char *str) {\n\t\tif (lparam) strcpy(reinterpret_cast<char *>(lparam), str);\n\t\treturn reinterpret_cast<void *>(strlen(str));\n\t}\n\npublic:\n\t/** Constructor. */\n\tLexerLPeg() : own_lua(true), reinit(true), multilang(false) {\n\t\t// Initialize the Lua state, load libraries, and set platform variables.\n\t\tif ((L = luaL_newstate())) {\n\t\t\tl_openlib(luaopen_base, LUA_BASELIBNAME);\n\t\t\tl_openlib(luaopen_table, LUA_TABLIBNAME);\n\t\t\tl_openlib(luaopen_string, LUA_STRLIBNAME);\n#if LUA_VERSION_NUM < 502\n\t\t\tl_openlib(luaopen_io, LUA_IOLIBNAME); // for `package.searchpath()`\n#endif\n\t\t\tl_openlib(luaopen_package, LUA_LOADLIBNAME);\n\t\t\tl_openlib(luaopen_lpeg, \"lpeg\");\n#if _WIN32\n\t\t\tlua_pushboolean(L, 1), lua_setglobal(L, \"WIN32\");\n#endif\n#if __APPLE__\n\t\t\tlua_pushboolean(L, 1), lua_setglobal(L, \"OSX\");\n#endif\n#if GTK\n\t\t\tlua_pushboolean(L, 1), lua_setglobal(L, \"GTK\");\n#endif\n#if CURSES\n\t\t\tlua_pushboolean(L, 1), lua_setglobal(L, \"CURSES\");\n#endif\n\t\t\tlua_newtable(L), lua_setfield(L, LUA_REGISTRYINDEX, \"sci_lexers\");\n\t\t} else fprintf(stderr, \"Lua failed to initialize.\\n\");\n\t\tSS = NULL, sci = 0;\n\t}\n\n\t/** Destructor. */\n\tvirtual ~LexerLPeg() {}\n\n\t/** Destroys the lexer object. */\n\tvirtual void SCI_METHOD Release() {\n\t\tif (own_lua && L)\n\t\t\tlua_close(L);\n\t\telse if (!own_lua) {\n\t\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_lexers\");\n\t\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(this));\n\t\t\tlua_pushnil(L), lua_settable(L, -3), lua_pop(L, 1); // sci_lexers\n\t\t}\n\t\tL = NULL;\n\t\tdelete this;\n\t}\n\n\t/**\n\t * Lexes the Scintilla document.\n\t * @param startPos The position in the document to start lexing at.\n\t * @param lengthDoc The number of bytes in the document to lex.\n\t * @param initStyle The initial style at position *startPos* in the document.\n\t * @param buffer The document interface.\n\t */\n\tvirtual void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc,\n\t                            int initStyle, IDocument *buffer) {\n\t\tLexAccessor styler(buffer);\n\t\tif ((reinit && !Init()) || !L) {\n\t\t\t// Style everything in the default style.\n\t\t\tstyler.StartAt(startPos);\n\t\t\tstyler.StartSegment(startPos);\n\t\t\tstyler.ColourTo(startPos + lengthDoc - 1, STYLE_DEFAULT);\n\t\t\tstyler.Flush();\n\t\t\treturn;\n\t\t}\n\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(&props));\n\t\tlua_setfield(L, LUA_REGISTRYINDEX, \"sci_props\");\n\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(buffer));\n\t\tlua_setfield(L, LUA_REGISTRYINDEX, \"sci_buffer\");\n\n\t\t// Ensure the lexer has a grammar.\n\t\t// This could be done in the lexer module's `lex()`, but for large files,\n\t\t// passing string arguments from C to Lua is expensive.\n\t\tl_getlexerfield(L, \"_GRAMMAR\");\n\t\tint has_grammar = !lua_isnil(L, -1);\n\t\tlua_pop(L, 1); // _GRAMMAR\n\t\tif (!has_grammar) {\n\t\t\t// Style everything in the default style.\n\t\t\tstyler.StartAt(startPos);\n\t\t\tstyler.StartSegment(startPos);\n\t\t\tstyler.ColourTo(startPos + lengthDoc - 1, STYLE_DEFAULT);\n\t\t\tstyler.Flush();\n\t\t\treturn;\n\t\t}\n\n\t\t// Start from the beginning of the current style so LPeg matches it.\n\t\t// For multilang lexers, start at whitespace since embedded languages have\n\t\t// [lang]_whitespace styles. This is so LPeg can start matching child\n\t\t// languages instead of parent ones if necessary.\n\t\tif (startPos > 0) {\n\t\t\tSci_PositionU i = startPos;\n\t\t\twhile (i > 0 && styler.StyleAt(i - 1) == initStyle) i--;\n\t\t\tif (multilang)\n\t\t\t\twhile (i > 0 && !ws[static_cast<size_t>(styler.StyleAt(i))]) i--;\n\t\t\tlengthDoc += startPos - i, startPos = i;\n\t\t}\n\n\t\tSci_PositionU startSeg = startPos, endSeg = startPos + lengthDoc;\n\t\tint style = 0;\n\t\tl_getlexerfield(L, \"lex\")\n\t\tif (lua_isfunction(L, -1)) {\n\t\t\tl_getlexerobj(L);\n\t\t\tlua_pushlstring(L, buffer->BufferPointer() + startPos, lengthDoc);\n\t\t\tlua_pushinteger(L, styler.StyleAt(startPos));\n\t\t\tif (lua_pcall(L, 3, 1, 0) != LUA_OK) l_error(L);\n\t\t\t// Style the text from the token table returned.\n\t\t\tif (lua_istable(L, -1)) {\n\t\t\t\tint len = lua_rawlen(L, -1);\n\t\t\t\tif (len > 0) {\n\t\t\t\t\tstyler.StartAt(startPos);\n\t\t\t\t\tstyler.StartSegment(startPos);\n\t\t\t\t\tl_getlexerfield(L, \"_TOKENSTYLES\");\n\t\t\t\t\t// Loop through token-position pairs.\n\t\t\t\t\tfor (int i = 1; i < len; i += 2) {\n\t\t\t\t\t\tstyle = STYLE_DEFAULT;\n\t\t\t\t\t\tlua_rawgeti(L, -2, i), lua_rawget(L, -2); // _TOKENSTYLES[token]\n\t\t\t\t\t\tif (!lua_isnil(L, -1)) style = lua_tointeger(L, -1);\n\t\t\t\t\t\tlua_pop(L, 1); // _TOKENSTYLES[token]\n\t\t\t\t\t\tlua_rawgeti(L, -2, i + 1); // pos\n\t\t\t\t\t\tunsigned int position = lua_tointeger(L, -1) - 1;\n\t\t\t\t\t\tlua_pop(L, 1); // pos\n\t\t\t\t\t\tif (style >= 0 && style <= STYLE_MAX)\n\t\t\t\t\t\t\tstyler.ColourTo(startSeg + position - 1, style);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tl_error(L, \"Bad style number\");\n\t\t\t\t\t\tif (position > endSeg) break;\n\t\t\t\t\t}\n\t\t\t\t\tlua_pop(L, 2); // _TOKENSTYLES and token table returned\n\t\t\t\t\tstyler.ColourTo(endSeg - 1, style);\n\t\t\t\t\tstyler.Flush();\n\t\t\t\t}\n\t\t\t} else l_error(L, \"Table of tokens expected from 'lexer.lex'\");\n\t\t} else l_error(L, \"'lexer.lex' function not found\");\n\t}\n\n\t/**\n\t * Folds the Scintilla document.\n\t * @param startPos The position in the document to start folding at.\n\t * @param lengthDoc The number of bytes in the document to fold.\n\t * @param initStyle The initial style at position *startPos* in the document.\n\t * @param buffer The document interface.\n\t */\n\tvirtual void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc,\n\t                             int, IDocument *buffer) {\n\t\tif ((reinit && !Init()) || !L) return;\n\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(&props));\n\t\tlua_setfield(L, LUA_REGISTRYINDEX, \"sci_props\");\n\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(buffer));\n\t\tlua_setfield(L, LUA_REGISTRYINDEX, \"sci_buffer\");\n\t\tLexAccessor styler(buffer);\n\n\t\tl_getlexerfield(L, \"fold\");\n\t\tif (lua_isfunction(L, -1)) {\n\t\t\tl_getlexerobj(L);\n\t\t\tSci_Position currentLine = styler.GetLine(startPos);\n\t\t\tlua_pushlstring(L, buffer->BufferPointer() + startPos, lengthDoc);\n\t\t\tlua_pushinteger(L, startPos);\n\t\t\tlua_pushinteger(L, currentLine);\n\t\t\tlua_pushinteger(L, styler.LevelAt(currentLine) & SC_FOLDLEVELNUMBERMASK);\n\t\t\tif (lua_pcall(L, 5, 1, 0) != LUA_OK) l_error(L);\n\t\t\t// Fold the text from the fold table returned.\n\t\t\tif (lua_istable(L, -1)) {\n\t\t\t\tlua_pushnil(L);\n\t\t\t\twhile (lua_next(L, -2)) { // line = level\n\t\t\t\t\tstyler.SetLevel(lua_tointeger(L, -2), lua_tointeger(L, -1));\n\t\t\t\t\tlua_pop(L, 1); // level\n\t\t\t\t}\n\t\t\t\tlua_pop(L, 1); // fold table returned\n\t\t\t} else l_error(L, \"Table of folds expected from 'lexer.fold'\");\n\t\t} else l_error(L, \"'lexer.fold' function not found\");\n\t}\n\n\t/** This lexer implements the original lexer interface. */\n\tvirtual int SCI_METHOD Version() const { return lvOriginal; }\n\t/** Returning property names is not implemented. */\n\tvirtual const char * SCI_METHOD PropertyNames() { return \"\"; }\n\t/** Returning property types is not implemented. */\n\tvirtual int SCI_METHOD PropertyType(const char *) { return 0; }\n\t/** Returning property descriptions is not implemented. */\n\tvirtual const char * SCI_METHOD DescribeProperty(const char *) {\n\t\treturn \"\";\n\t}\n\n\t/**\n\t * Sets the *key* lexer property to *value*.\n\t * If *key* starts with \"style.\", also set the style for the token.\n\t * @param key The string keyword.\n\t * @param val The string value.\n\t */\n\tvirtual Sci_Position SCI_METHOD PropertySet(const char *key,\n\t                                            const char *value) {\n\t\tprops.Set(key, value, strlen(key), strlen(value));\n\t\tif (reinit)\n\t\t\tInit();\n\t\telse if (L && SS && sci && strncmp(key, \"style.\", 6) == 0) {\n\t\t\tlua_pushlightuserdata(L, reinterpret_cast<void *>(&props));\n\t\t\tlua_setfield(L, LUA_REGISTRYINDEX, \"sci_props\");\n\t\t\tl_getlexerfield(L, \"_TOKENSTYLES\");\n\t\t\tlua_pushstring(L, key + 6), lua_rawget(L, -2);\n\t\t\tlua_pushstring(L, key), lL_getexpanded(L, -1), lua_replace(L, -2);\n\t\t\tif (lua_isnumber(L, -2)) {\n\t\t\t\tint style_num = lua_tointeger(L, -2);\n\t\t\t\tSetStyle(style_num, lua_tostring(L, -1));\n\t\t\t\tif (style_num == STYLE_DEFAULT)\n\t\t\t\t\t// Assume a theme change, with the default style being set first.\n\t\t\t\t\t// Subsequent style settings will be based on the default.\n\t\t\t\t\tSS(sci, SCI_STYLECLEARALL, 0, 0);\n\t\t\t}\n\t\t\tlua_pop(L, 3); // style, style number, _TOKENSTYLES\n\t\t}\n\t\treturn -1; // no need to re-lex\n\t}\n\n\t/** Returning keyword list descriptions is not implemented. */\n\tvirtual const char * SCI_METHOD DescribeWordListSets() { return \"\"; }\n\t/** Setting keyword lists is not applicable. */\n\tvirtual Sci_Position SCI_METHOD WordListSet(int, const char *) {\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Allows for direct communication between the application and the lexer.\n\t * The application uses this to set `SS`, `sci`, `L`, and lexer properties,\n\t * and to retrieve style names.\n\t * @param code The communication code.\n\t * @param arg The argument.\n\t * @return void *data\n\t */\n\tvirtual void * SCI_METHOD PrivateCall(int code, void *arg) {\n\t\tsptr_t lParam = reinterpret_cast<sptr_t>(arg);\n\t\tconst char *val = NULL;\n\t\tswitch(code) {\n\t\tcase SCI_GETDIRECTFUNCTION:\n\t\t\tSS = reinterpret_cast<SciFnDirect>(lParam);\n\t\t\treturn NULL;\n\t\tcase SCI_SETDOCPOINTER:\n\t\t\tsci = lParam;\n\t\t\treturn NULL;\n\t\tcase SCI_CHANGELEXERSTATE:\n\t\t\tif (own_lua) lua_close(L);\n\t\t\tL = reinterpret_cast<lua_State *>(lParam);\n\t\t\tlua_getfield(L, LUA_REGISTRYINDEX, \"sci_lexers\");\n\t\t\tif (lua_isnil(L, -1))\n\t\t\t\tlua_newtable(L), lua_setfield(L, LUA_REGISTRYINDEX, \"sci_lexers\");\n\t\t\tlua_pop(L, 1); // sci_lexers or nil\n\t\t\town_lua = false;\n\t\t\treturn NULL;\n\t\tcase SCI_SETLEXERLANGUAGE:\n\t\t\tchar lexer_name[50];\n\t\t\tprops.GetExpanded(\"lexer.name\", lexer_name);\n\t\t\tif (strcmp(lexer_name, reinterpret_cast<const char *>(arg)) != 0) {\n\t\t\t\treinit = true;\n\t\t\t\tprops.Set(\"lexer.lpeg.error\", \"\", strlen(\"lexer.lpeg.error\"), 0);\n\t\t\t\tPropertySet(\"lexer.name\", reinterpret_cast<const char *>(arg));\n\t\t\t} else if (L)\n\t\t\t\town_lua ? SetStyles() : Init();\n\t\t\treturn NULL;\n\t\tcase SCI_GETLEXERLANGUAGE:\n\t\t\tif (L) {\n\t\t\t\tl_getlexerfield(L, \"_NAME\");\n\t\t\t\tif (SS && sci && multilang) {\n\t\t\t\t\tint pos = SS(sci, SCI_GETCURRENTPOS, 0, 0);\n\t\t\t\t\twhile (pos >= 0 && !ws[SS(sci, SCI_GETSTYLEAT, pos, 0)]) pos--;\n\t\t\t\t\tconst char *name = NULL, *p = NULL;\n\t\t\t\t\tif (pos >= 0) {\n\t\t\t\t\t\tname = GetStyleName(SS(sci, SCI_GETSTYLEAT, pos, 0));\n\t\t\t\t\t\tif (name) p = strstr(name, \"_whitespace\");\n\t\t\t\t\t}\n\t\t\t\t\tif (!name) name = lua_tostring(L, -1); // \"lexer:lexer\" fallback\n\t\t\t\t\tif (!p) p = name + strlen(name); // \"lexer:lexer\" fallback\n\t\t\t\t\tlua_pushstring(L, \"/\");\n\t\t\t\t\tlua_pushlstring(L, name, p - name);\n\t\t\t\t\tlua_concat(L, 3);\n\t\t\t\t}\n\t\t\t\tval = lua_tostring(L, -1);\n\t\t\t\tlua_pop(L, 1); // lexer_name or lexer language string\n\t\t\t}\n\t\t\treturn StringResult(lParam, val ? val : \"null\");\n\t\tcase SCI_GETSTATUS:\n\t\t\treturn StringResult(lParam, props.Get(\"lexer.lpeg.error\"));\n\t\tdefault: // style-related\n\t\t\tif (code >= 0 && code <= STYLE_MAX) { // retrieve style names\n\t\t\t\tval = GetStyleName(code);\n\t\t\t\treturn StringResult(lParam, val ? val : \"Not Available\");\n\t\t\t} else return NULL;\n\t\t}\n\t}\n\n\t/** Constructs a new instance of the lexer. */\n\tstatic ILexer *LexerFactoryLPeg() { return new LexerLPeg(); }\n};\n\nLexerModule lmLPeg(SCLEX_LPEG, LexerLPeg::LexerFactoryLPeg, \"lpeg\");\n\n#else\n\n#include <stdlib.h>\n#include <assert.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void LPegLex(Sci_PositionU, Sci_Position, int, WordList*[], Accessor&) {\n\treturn;\n}\n\nLexerModule lmLPeg(SCLEX_LPEG, LPegLex, \"lpeg\");\n\n#endif // LPEG_LEXER\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexLaTeX.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexLaTeX.cxx\n ** Lexer for LaTeX2e.\n  **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// Modified by G. HU in 2013. Added folding, syntax highting inside math environments, and changed some minor behaviors.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n#include <vector>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"LexerBase.h\"\n\nusing namespace Scintilla;\n\nusing namespace std;\n\nstruct latexFoldSave {\n\tlatexFoldSave() : structLev(0) {\n\t\tfor (int i = 0; i < 8; ++i) openBegins[i] = 0;\n\t}\n\tlatexFoldSave(const latexFoldSave &save) : structLev(save.structLev) {\n\t\tfor (int i = 0; i < 8; ++i) openBegins[i] = save.openBegins[i];\n\t}\n\tint openBegins[8];\n\tSci_Position structLev;\n};\n\nclass LexerLaTeX : public LexerBase {\nprivate:\n\tvector<int> modes;\n\tvoid setMode(Sci_Position line, int mode) {\n\t\tif (line >= static_cast<Sci_Position>(modes.size())) modes.resize(line + 1, 0);\n\t\tmodes[line] = mode;\n\t}\n\tint getMode(Sci_Position line) {\n\t\tif (line >= 0 && line < static_cast<Sci_Position>(modes.size())) return modes[line];\n\t\treturn 0;\n\t}\n\tvoid truncModes(Sci_Position numLines) {\n\t\tif (static_cast<Sci_Position>(modes.size()) > numLines * 2 + 256)\n\t\t\tmodes.resize(numLines + 128);\n\t}\n\n\tvector<latexFoldSave> saves;\n\tvoid setSave(Sci_Position line, const latexFoldSave &save) {\n\t\tif (line >= static_cast<Sci_Position>(saves.size())) saves.resize(line + 1);\n\t\tsaves[line] = save;\n\t}\n\tvoid getSave(Sci_Position line, latexFoldSave &save) {\n\t\tif (line >= 0 && line < static_cast<Sci_Position>(saves.size())) save = saves[line];\n\t\telse {\n\t\t\tsave.structLev = 0;\n\t\t\tfor (int i = 0; i < 8; ++i) save.openBegins[i] = 0;\n\t\t}\n\t}\n\tvoid truncSaves(Sci_Position numLines) {\n\t\tif (static_cast<Sci_Position>(saves.size()) > numLines * 2 + 256)\n\t\t\tsaves.resize(numLines + 128);\n\t}\npublic:\n\tstatic ILexer *LexerFactoryLaTeX() {\n\t\treturn new LexerLaTeX();\n\t}\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n};\n\nstatic bool latexIsSpecial(int ch) {\n\treturn (ch == '#') || (ch == '$') || (ch == '%') || (ch == '&') || (ch == '_') ||\n\t\t   (ch == '{') || (ch == '}') || (ch == ' ');\n}\n\nstatic bool latexIsBlank(int ch) {\n\treturn (ch == ' ') || (ch == '\\t');\n}\n\nstatic bool latexIsBlankAndNL(int ch) {\n\treturn (ch == ' ') || (ch == '\\t') || (ch == '\\r') || (ch == '\\n');\n}\n\nstatic bool latexIsLetter(int ch) {\n\treturn IsASCII(ch) && isalpha(ch);\n}\n\nstatic bool latexIsTagValid(Sci_Position &i, Sci_Position l, Accessor &styler) {\n\twhile (i < l) {\n\t\tif (styler.SafeGetCharAt(i) == '{') {\n\t\t\twhile (i < l) {\n\t\t\t\ti++;\n\t\t\t\tif (styler.SafeGetCharAt(i) == '}') {\n\t\t\t\t\treturn true;\n\t\t\t\t}\telse if (!latexIsLetter(styler.SafeGetCharAt(i)) &&\n                   styler.SafeGetCharAt(i)!='*') {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!latexIsBlank(styler.SafeGetCharAt(i))) {\n\t\t\treturn false;\n\t\t}\n\t\ti++;\n\t}\n\treturn false;\n}\n\nstatic bool latexNextNotBlankIs(Sci_Position i, Accessor &styler, char needle) {\n  char ch;\n\twhile (i < styler.Length()) {\n    ch = styler.SafeGetCharAt(i);\n\t\tif (!latexIsBlankAndNL(ch) && ch != '*') {\n      if (ch == needle)\n        return true;\n      else\n        return false;\n\t\t}\n\t\ti++;\n\t}\n\treturn false;\n}\n\nstatic bool latexLastWordIs(Sci_Position start, Accessor &styler, const char *needle) {\n\tSci_PositionU i = 0;\n\tSci_PositionU l = static_cast<Sci_PositionU>(strlen(needle));\n\tSci_Position ini = start-l+1;\n\tchar s[32];\n\n\twhile (i < l && i < 31) {\n\t\ts[i] = styler.SafeGetCharAt(ini + i);\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n\n\treturn (strcmp(s, needle) == 0);\n}\n\nstatic bool latexLastWordIsMathEnv(Sci_Position pos, Accessor &styler) {\n\tSci_Position i, j;\n\tchar s[32];\n\tconst char *mathEnvs[] = { \"align\", \"alignat\", \"flalign\", \"gather\",\n\t\t\"multiline\", \"displaymath\", \"eqnarray\", \"equation\" };\n\tif (styler.SafeGetCharAt(pos) != '}') return false;\n\tfor (i = pos - 1; i >= 0; --i) {\n\t\tif (styler.SafeGetCharAt(i) == '{') break;\n\t\tif (pos - i >= 20) return false;\n\t}\n\tif (i < 0 || i == pos - 1) return false;\n\t++i;\n\tfor (j = 0; i + j < pos; ++j)\n\t\ts[j] = styler.SafeGetCharAt(i + j);\n\ts[j] = '\\0';\n\tif (j == 0) return false;\n\tif (s[j - 1] == '*') s[--j] = '\\0';\n\tfor (i = 0; i < static_cast<int>(sizeof(mathEnvs) / sizeof(const char *)); ++i)\n\t\tif (strcmp(s, mathEnvs[i]) == 0) return true;\n\treturn false;\n}\n\nstatic inline void latexStateReset(int &mode, int &state) {\n\tswitch (mode) {\n\tcase 1:     state = SCE_L_MATH; break;\n\tcase 2:     state = SCE_L_MATH2; break;\n\tdefault:    state = SCE_L_DEFAULT; break;\n\t}\n}\n\n// There are cases not handled correctly, like $abcd\\textrm{what is $x+y$}z+w$.\n// But I think it's already good enough.\nvoid SCI_METHOD LexerLaTeX::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\t// startPos is assumed to be the first character of a line\n\tAccessor styler(pAccess, &props);\n\tstyler.StartAt(startPos);\n\tint mode = getMode(styler.GetLine(startPos) - 1);\n\tint state = initStyle;\n\tif (state == SCE_L_ERROR || state == SCE_L_SHORTCMD || state == SCE_L_SPECIAL)   // should not happen\n\t\tlatexStateReset(mode, state);\n\n\tchar chNext = styler.SafeGetCharAt(startPos);\n\tchar chVerbatimDelim = '\\0';\n\tstyler.StartSegment(startPos);\n\tSci_Position lengthDoc = startPos + length;\n\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\ti++;\n\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (ch == '\\r' || ch == '\\n')\n\t\t\tsetMode(styler.GetLine(i), mode);\n\n\t\tswitch (state) {\n\t\tcase SCE_L_DEFAULT :\n\t\t\tswitch (ch) {\n\t\t\tcase '\\\\' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tif (latexIsLetter(chNext)) {\n\t\t\t\t\tstate = SCE_L_COMMAND;\n\t\t\t\t} else if (latexIsSpecial(chNext)) {\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SPECIAL);\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t} else if (chNext == '\\r' || chNext == '\\n') {\n\t\t\t\t\tstyler.ColourTo(i, SCE_L_ERROR);\n\t\t\t\t} else if (IsASCII(chNext)) {\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SHORTCMD);\n\t\t\t\t\tif (chNext == '(') {\n\t\t\t\t\t\tmode = 1;\n\t\t\t\t\t\tstate = SCE_L_MATH;\n\t\t\t\t\t} else if (chNext == '[') {\n\t\t\t\t\t\tmode = 2;\n\t\t\t\t\t\tstate = SCE_L_MATH2;\n\t\t\t\t\t}\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '$' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tif (chNext == '$') {\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SHORTCMD);\n\t\t\t\t\tmode = 2;\n\t\t\t\t\tstate = SCE_L_MATH2;\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i, SCE_L_SHORTCMD);\n\t\t\t\t\tmode = 1;\n\t\t\t\t\tstate = SCE_L_MATH;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '%' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_L_COMMENT;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t// These 3 will never be reached.\n\t\tcase SCE_L_ERROR:\n\t\tcase SCE_L_SPECIAL:\n\t\tcase SCE_L_SHORTCMD:\n\t\t\tbreak;\n\t\tcase SCE_L_COMMAND :\n\t\t\tif (!latexIsLetter(chNext)) {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tif (latexNextNotBlankIs(i + 1, styler, '[' )) {\n\t\t\t\t\tstate = SCE_L_CMDOPT;\n\t\t\t\t} else if (latexLastWordIs(i, styler, \"\\\\begin\")) {\n\t\t\t\t\tstate = SCE_L_TAG;\n\t\t\t\t} else if (latexLastWordIs(i, styler, \"\\\\end\")) {\n\t\t\t\t\tstate = SCE_L_TAG2;\n\t\t\t\t} else if (latexLastWordIs(i, styler, \"\\\\verb\") && chNext != '*' && chNext != ' ') {\n\t\t\t\t\tchVerbatimDelim = chNext;\n\t\t\t\t\tstate = SCE_L_VERBATIM;\n\t\t\t\t} else {\n\t\t\t\t\tlatexStateReset(mode, state);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_L_CMDOPT :\n\t\t\tif (ch == ']') {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_L_TAG :\n\t\t\tif (latexIsTagValid(i, lengthDoc, styler)) {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t\tif (latexLastWordIs(i, styler, \"{verbatim}\")) {\n\t\t\t\t\tstate = SCE_L_VERBATIM;\n\t\t\t\t} else if (latexLastWordIs(i, styler, \"{comment}\")) {\n\t\t\t\t\tstate = SCE_L_COMMENT2;\n\t\t\t\t} else if (latexLastWordIs(i, styler, \"{math}\") && mode == 0) {\n\t\t\t\t\tmode = 1;\n\t\t\t\t\tstate = SCE_L_MATH;\n\t\t\t\t} else if (latexLastWordIsMathEnv(i, styler) && mode == 0) {\n\t\t\t\t\tmode = 2;\n\t\t\t\t\tstate = SCE_L_MATH2;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstyler.ColourTo(i, SCE_L_ERROR);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t\tch = styler.SafeGetCharAt(i);\n\t\t\t\tif (ch == '\\r' || ch == '\\n') setMode(styler.GetLine(i), mode);\n\t\t\t}\n\t\t\tchNext = styler.SafeGetCharAt(i+1);\n\t\t\tbreak;\n\t\tcase SCE_L_TAG2 :\n\t\t\tif (latexIsTagValid(i, lengthDoc, styler)) {\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t} else {\n\t\t\t\tstyler.ColourTo(i, SCE_L_ERROR);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t\tch = styler.SafeGetCharAt(i);\n\t\t\t\tif (ch == '\\r' || ch == '\\n') setMode(styler.GetLine(i), mode);\n\t\t\t}\n\t\t\tchNext = styler.SafeGetCharAt(i+1);\n\t\t\tbreak;\n\t\tcase SCE_L_MATH :\n\t\t\tswitch (ch) {\n\t\t\tcase '\\\\' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tif (latexIsLetter(chNext)) {\n\t\t\t\t\tSci_Position match = i + 3;\n\t\t\t\t\tif (latexLastWordIs(match, styler, \"\\\\end\")) {\n\t\t\t\t\t\tmatch++;\n\t\t\t\t\t\tif (latexIsTagValid(match, lengthDoc, styler)) {\n\t\t\t\t\t\t\tif (latexLastWordIs(match, styler, \"{math}\"))\n\t\t\t\t\t\t\t\tmode = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tstate = SCE_L_COMMAND;\n\t\t\t\t} else if (latexIsSpecial(chNext)) {\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SPECIAL);\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t} else if (chNext == '\\r' || chNext == '\\n') {\n\t\t\t\t\tstyler.ColourTo(i, SCE_L_ERROR);\n\t\t\t\t} else if (IsASCII(chNext)) {\n\t\t\t\t\tif (chNext == ')') {\n\t\t\t\t\t\tmode = 0;\n\t\t\t\t\t\tstate = SCE_L_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SHORTCMD);\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '$' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstyler.ColourTo(i, SCE_L_SHORTCMD);\n\t\t\t\tmode = 0;\n\t\t\t\tstate = SCE_L_DEFAULT;\n\t\t\t\tbreak;\n\t\t\tcase '%' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_L_COMMENT;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_L_MATH2 :\n\t\t\tswitch (ch) {\n\t\t\tcase '\\\\' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tif (latexIsLetter(chNext)) {\n\t\t\t\t\tSci_Position match = i + 3;\n\t\t\t\t\tif (latexLastWordIs(match, styler, \"\\\\end\")) {\n\t\t\t\t\t\tmatch++;\n\t\t\t\t\t\tif (latexIsTagValid(match, lengthDoc, styler)) {\n\t\t\t\t\t\t\tif (latexLastWordIsMathEnv(match, styler))\n\t\t\t\t\t\t\t\tmode = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tstate = SCE_L_COMMAND;\n\t\t\t\t} else if (latexIsSpecial(chNext)) {\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SPECIAL);\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t} else if (chNext == '\\r' || chNext == '\\n') {\n\t\t\t\t\tstyler.ColourTo(i, SCE_L_ERROR);\n\t\t\t\t} else if (IsASCII(chNext)) {\n\t\t\t\t\tif (chNext == ']') {\n\t\t\t\t\t\tmode = 0;\n\t\t\t\t\t\tstate = SCE_L_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SHORTCMD);\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '$' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tif (chNext == '$') {\n\t\t\t\t\tstyler.ColourTo(i + 1, SCE_L_SHORTCMD);\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t\tmode = 0;\n\t\t\t\t\tstate = SCE_L_DEFAULT;\n\t\t\t\t} else { // This may not be an error, e.g. \\begin{equation}\\text{$a$}\\end{equation}\n\t\t\t\t\tstyler.ColourTo(i, SCE_L_SHORTCMD);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '%' :\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_L_COMMENT;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_L_COMMENT :\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_L_COMMENT2 :\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tSci_Position match = i + 3;\n\t\t\t\tif (latexLastWordIs(match, styler, \"\\\\end\")) {\n\t\t\t\t\tmatch++;\n\t\t\t\t\tif (latexIsTagValid(match, lengthDoc, styler)) {\n\t\t\t\t\t\tif (latexLastWordIs(match, styler, \"{comment}\")) {\n\t\t\t\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\t\t\t\tstate = SCE_L_COMMAND;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_L_VERBATIM :\n\t\t\tif (ch == '\\\\') {\n\t\t\t\tSci_Position match = i + 3;\n\t\t\t\tif (latexLastWordIs(match, styler, \"\\\\end\")) {\n\t\t\t\t\tmatch++;\n\t\t\t\t\tif (latexIsTagValid(match, lengthDoc, styler)) {\n\t\t\t\t\t\tif (latexLastWordIs(match, styler, \"{verbatim}\")) {\n\t\t\t\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\t\t\t\tstate = SCE_L_COMMAND;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (chNext == chVerbatimDelim) {\n\t\t\t\tstyler.ColourTo(i + 1, state);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t\tchVerbatimDelim = '\\0';\n\t\t\t\ti++;\n\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t} else if (chVerbatimDelim != '\\0' && (ch == '\\n' || ch == '\\r')) {\n\t\t\t\tstyler.ColourTo(i, SCE_L_ERROR);\n\t\t\t\tlatexStateReset(mode, state);\n\t\t\t\tchVerbatimDelim = '\\0';\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (lengthDoc == styler.Length()) truncModes(styler.GetLine(lengthDoc - 1));\n\tstyler.ColourTo(lengthDoc - 1, state);\n\tstyler.Flush();\n}\n\nstatic int latexFoldSaveToInt(const latexFoldSave &save) {\n\tint sum = 0;\n\tfor (int i = 0; i <= save.structLev; ++i)\n\t\tsum += save.openBegins[i];\n\treturn ((sum + save.structLev + SC_FOLDLEVELBASE) & SC_FOLDLEVELNUMBERMASK);\n}\n\n// Change folding state while processing a line\n// Return the level before the first relevant command\nvoid SCI_METHOD LexerLaTeX::Fold(Sci_PositionU startPos, Sci_Position length, int, IDocument *pAccess) {\n\tconst char *structWords[7] = {\"part\", \"chapter\", \"section\", \"subsection\",\n\t\t\"subsubsection\", \"paragraph\", \"subparagraph\"};\n\tAccessor styler(pAccess, &props);\n\tSci_PositionU endPos = startPos + length;\n\tSci_Position curLine = styler.GetLine(startPos);\n\tlatexFoldSave save;\n\tgetSave(curLine - 1, save);\n\tdo {\n\t\tchar ch, buf[16];\n\t\tSci_Position i, j;\n\t\tint lev = -1;\n\t\tbool needFold = false;\n\t\tfor (i = static_cast<Sci_Position>(startPos); i < static_cast<Sci_Position>(endPos); ++i) {\n\t\t\tch = styler.SafeGetCharAt(i);\n\t\t\tif (ch == '\\r' || ch == '\\n') break;\n\t\t\tif (ch != '\\\\' || styler.StyleAt(i) != SCE_L_COMMAND) continue;\n\t\t\tfor (j = 0; j < 15 && i + 1 < static_cast<Sci_Position>(endPos); ++j, ++i) {\n\t\t\t\tbuf[j] = styler.SafeGetCharAt(i + 1);\n\t\t\t\tif (!latexIsLetter(buf[j])) break;\n\t\t\t}\n\t\t\tbuf[j] = '\\0';\n\t\t\tif (strcmp(buf, \"begin\") == 0) {\n\t\t\t\tif (lev < 0) lev = latexFoldSaveToInt(save);\n\t\t\t\t++save.openBegins[save.structLev];\n\t\t\t\tneedFold = true;\n\t\t\t}\n\t\t\telse if (strcmp(buf, \"end\") == 0) {\n\t\t\t\twhile (save.structLev > 0 && save.openBegins[save.structLev] == 0)\n\t\t\t\t\t--save.structLev;\n\t\t\t\tif (lev < 0) lev = latexFoldSaveToInt(save);\n\t\t\t\tif (save.openBegins[save.structLev] > 0) --save.openBegins[save.structLev];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tfor (j = 0; j < 7; ++j)\n\t\t\t\t\tif (strcmp(buf, structWords[j]) == 0) break;\n\t\t\t\tif (j >= 7) continue;\n\t\t\t\tsave.structLev = j;   // level before the command\n\t\t\t\tfor (j = save.structLev + 1; j < 8; ++j) {\n\t\t\t\t\tsave.openBegins[save.structLev] += save.openBegins[j];\n\t\t\t\t\tsave.openBegins[j] = 0;\n\t\t\t\t}\n\t\t\t\tif (lev < 0) lev = latexFoldSaveToInt(save);\n\t\t\t\t++save.structLev;   // level after the command\n\t\t\t\tneedFold = true;\n\t\t\t}\n\t\t}\n\t\tif (lev < 0) lev = latexFoldSaveToInt(save);\n\t\tif (needFold) lev |= SC_FOLDLEVELHEADERFLAG;\n\t\tstyler.SetLevel(curLine, lev);\n\t\tsetSave(curLine, save);\n\t\t++curLine;\n\t\tstartPos = styler.LineStart(curLine);\n\t\tif (static_cast<Sci_Position>(startPos) == styler.Length()) {\n\t\t\tlev = latexFoldSaveToInt(save);\n\t\t\tstyler.SetLevel(curLine, lev);\n\t\t\tsetSave(curLine, save);\n\t\t\ttruncSaves(curLine);\n\t\t}\n\t} while (startPos < endPos);\n\tstyler.Flush();\n}\n\nstatic const char *const emptyWordListDesc[] = {\n\t0\n};\n\nLexerModule lmLatex(SCLEX_LATEX, LexerLaTeX::LexerFactoryLaTeX, \"latex\", emptyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexLisp.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexLisp.cxx\n ** Lexer for Lisp.\n ** Written by Alexey Yutkin.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n#define SCE_LISP_CHARACTER 29\n#define SCE_LISP_MACRO 30\n#define SCE_LISP_MACRO_DISPATCH 31\n\nstatic inline bool isLispoperator(char ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\tif (ch == '\\'' || ch == '`' || ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == '{' || ch == '}')\n\t\treturn true;\n\treturn false;\n}\n\nstatic inline bool isLispwordstart(char ch) {\n\treturn IsASCII(ch) && ch != ';'  && !isspacechar(ch) && !isLispoperator(ch) &&\n\t\tch != '\\n' && ch != '\\r' &&  ch != '\\\"';\n}\n\n\nstatic void classifyWordLisp(Sci_PositionU start, Sci_PositionU end, WordList &keywords, WordList &keywords_kw, Accessor &styler) {\n\tassert(end >= start);\n\tchar s[100];\n\tSci_PositionU i;\n\tbool digit_flag = true;\n\tfor (i = 0; (i < end - start + 1) && (i < 99); i++) {\n\t\ts[i] = styler[start + i];\n\t\ts[i + 1] = '\\0';\n\t\tif (!isdigit(s[i]) && (s[i] != '.')) digit_flag = false;\n\t}\n\tchar chAttr = SCE_LISP_IDENTIFIER;\n\n\tif(digit_flag) chAttr = SCE_LISP_NUMBER;\n\telse {\n\t\tif (keywords.InList(s)) {\n\t\t\tchAttr = SCE_LISP_KEYWORD;\n\t\t} else if (keywords_kw.InList(s)) {\n\t\t\tchAttr = SCE_LISP_KEYWORD_KW;\n\t\t} else if ((s[0] == '*' && s[i-1] == '*') ||\n\t\t\t   (s[0] == '+' && s[i-1] == '+')) {\n\t\t\tchAttr = SCE_LISP_SPECIAL;\n\t\t}\n\t}\n\tstyler.ColourTo(end, chAttr);\n\treturn;\n}\n\n\nstatic void ColouriseLispDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords_kw = *keywordlists[1];\n\n\tstyler.StartAt(startPos);\n\n\tint state = initStyle, radix = -1;\n\tchar chNext = styler[startPos];\n\tSci_PositionU lengthDoc = startPos + length;\n\tstyler.StartSegment(startPos);\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (state == SCE_LISP_DEFAULT) {\n\t\t\tif (ch == '#') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tradix = -1;\n\t\t\t\tstate = SCE_LISP_MACRO_DISPATCH;\n\t\t\t} else if (ch == ':' && isLispwordstart(chNext)) {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_LISP_SYMBOL;\n\t\t\t} else if (isLispwordstart(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_LISP_IDENTIFIER;\n\t\t\t}\n\t\t\telse if (ch == ';') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_LISP_COMMENT;\n\t\t\t}\n\t\t\telse if (isLispoperator(ch) || ch=='\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstyler.ColourTo(i, SCE_LISP_OPERATOR);\n\t\t\t\tif (ch=='\\'' && isLispwordstart(chNext)) {\n\t\t\t\t\tstate = SCE_LISP_SYMBOL;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (ch == '\\\"') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_LISP_STRING;\n\t\t\t}\n\t\t} else if (state == SCE_LISP_IDENTIFIER || state == SCE_LISP_SYMBOL) {\n\t\t\tif (!isLispwordstart(ch)) {\n\t\t\t\tif (state == SCE_LISP_IDENTIFIER) {\n\t\t\t\t\tclassifyWordLisp(styler.GetStartSegment(), i - 1, keywords, keywords_kw, styler);\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\t}\n\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t} /*else*/\n\t\t\tif (isLispoperator(ch) || ch=='\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstyler.ColourTo(i, SCE_LISP_OPERATOR);\n\t\t\t\tif (ch=='\\'' && isLispwordstart(chNext)) {\n\t\t\t\t\tstate = SCE_LISP_SYMBOL;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (state == SCE_LISP_MACRO_DISPATCH) {\n\t\t\tif (!(IsASCII(ch) && isdigit(ch))) {\n\t\t\t\tif (ch != 'r' && ch != 'R' && (i - styler.GetStartSegment()) > 1) {\n\t\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t\t} else {\n\t\t\t\t\tswitch (ch) {\n\t\t\t\t\t\tcase '|': state = SCE_LISP_MULTI_COMMENT; break;\n\t\t\t\t\t\tcase 'o':\n\t\t\t\t\t\tcase 'O': radix = 8; state = SCE_LISP_MACRO; break;\n\t\t\t\t\t\tcase 'x':\n\t\t\t\t\t\tcase 'X': radix = 16; state = SCE_LISP_MACRO; break;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\tcase 'B': radix = 2; state = SCE_LISP_MACRO; break;\n\t\t\t\t\t\tcase '\\\\': state = SCE_LISP_CHARACTER; break;\n\t\t\t\t\t\tcase ':':\n\t\t\t\t\t\tcase '-':\n\t\t\t\t\t\tcase '+': state = SCE_LISP_MACRO; break;\n\t\t\t\t\t\tcase '\\'': if (isLispwordstart(chNext)) {\n\t\t\t\t\t\t\t\t   state = SCE_LISP_SPECIAL;\n\t\t\t\t\t\t\t   } else {\n\t\t\t\t\t\t\t\t   styler.ColourTo(i - 1, SCE_LISP_DEFAULT);\n\t\t\t\t\t\t\t\t   styler.ColourTo(i, SCE_LISP_OPERATOR);\n\t\t\t\t\t\t\t\t   state = SCE_LISP_DEFAULT;\n\t\t\t\t\t\t\t   }\n\t\t\t\t\t\t\t   break;\n\t\t\t\t\t\tdefault: if (isLispoperator(ch)) {\n\t\t\t\t\t\t\t\t styler.ColourTo(i - 1, SCE_LISP_DEFAULT);\n\t\t\t\t\t\t\t\t styler.ColourTo(i, SCE_LISP_OPERATOR);\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t state = SCE_LISP_DEFAULT;\n\t\t\t\t\t\t\t break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (state == SCE_LISP_MACRO) {\n\t\t\tif (isLispwordstart(ch) && (radix == -1 || IsADigit(ch, radix))) {\n\t\t\t\tstate = SCE_LISP_SPECIAL;\n\t\t\t} else {\n\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_LISP_CHARACTER) {\n\t\t\tif (isLispoperator(ch)) {\n\t\t\t\tstyler.ColourTo(i, SCE_LISP_SPECIAL);\n\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t} else if (isLispwordstart(ch)) {\n\t\t\t\tstyler.ColourTo(i, SCE_LISP_SPECIAL);\n\t\t\t\tstate = SCE_LISP_SPECIAL;\n\t\t\t} else {\n\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_LISP_SPECIAL) {\n\t\t\tif (!isLispwordstart(ch) || (radix != -1 && !IsADigit(ch, radix))) {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t}\n\t\t\tif (isLispoperator(ch) || ch=='\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstyler.ColourTo(i, SCE_LISP_OPERATOR);\n\t\t\t\tif (ch=='\\'' && isLispwordstart(chNext)) {\n\t\t\t\t\tstate = SCE_LISP_SYMBOL;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (state == SCE_LISP_COMMENT) {\n\t\t\t\tif (atEOL) {\n\t\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_LISP_MULTI_COMMENT) {\n\t\t\t\tif (ch == '|' && chNext == '#') {\n\t\t\t\t\ti++;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_LISP_STRING) {\n\t\t\t\tif (ch == '\\\\') {\n\t\t\t\t\tif (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\') {\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t\t}\n\t\t\t\t} else if (ch == '\\\"') {\n\t\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\t\tstate = SCE_LISP_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\tstyler.ColourTo(lengthDoc - 1, state);\n}\n\nstatic void FoldLispDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],\n                            Accessor &styler) {\n\tSci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (style == SCE_LISP_OPERATOR) {\n\t\t\tif (ch == '(' || ch == '[' || ch == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == ')' || ch == ']' || ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const lispWordListDesc[] = {\n\t\"Functions and special operators\",\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmLISP(SCLEX_LISP, ColouriseLispDoc, \"lisp\", FoldLispDoc, lispWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexLout.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexLout.cxx\n ** Lexer for the Basser Lout (>= version 3) typesetting language\n **/\n// Copyright 2003 by Kein-Hong Man <mkh@pl.jaring.my>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalpha(ch) || ch == '@' || ch == '_');\n}\n\nstatic inline bool IsAnOther(const int ch) {\n\treturn (ch < 0x80) && (ch == '{' || ch == '}' ||\n\tch == '!' || ch == '$' || ch == '%' || ch == '&' || ch == '\\'' ||\n\tch == '(' || ch == ')' || ch == '*' || ch == '+' || ch == ',' ||\n\tch == '-' || ch == '.' || ch == '/' || ch == ':' || ch == ';' ||\n\tch == '<' || ch == '=' || ch == '>' || ch == '?' || ch == '[' ||\n\tch == ']' || ch == '^' || ch == '`' || ch == '|' || ch == '~');\n}\n\nstatic void ColouriseLoutDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t     WordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\n\tint visibleChars = 0;\n\tint firstWordInLine = 0;\n\tint leadingAtSign = 0;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart && (sc.state == SCE_LOUT_STRING)) {\n\t\t\t// Prevent SCE_LOUT_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_LOUT_STRING);\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_LOUT_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_LOUT_DEFAULT);\n\t\t\t\tvisibleChars = 0;\n\t\t\t}\n\t\t} else if (sc.state == SCE_LOUT_NUMBER) {\n\t\t\tif (!IsADigit(sc.ch) && sc.ch != '.') {\n\t\t\t\tsc.SetState(SCE_LOUT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LOUT_STRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_LOUT_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_LOUT_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_LOUT_DEFAULT);\n\t\t\t\tvisibleChars = 0;\n\t\t\t}\n\t\t} else if (sc.state == SCE_LOUT_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\n\t\t\t\tif (leadingAtSign) {\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_LOUT_WORD);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ChangeState(SCE_LOUT_WORD4);\n\t\t\t\t\t}\n\t\t\t\t} else if (firstWordInLine && keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_LOUT_WORD3);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_LOUT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LOUT_OPERATOR) {\n\t\t\tif (!IsAnOther(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\n\t\t\t\tif (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_LOUT_WORD2);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_LOUT_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_LOUT_DEFAULT) {\n\t\t\tif (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_LOUT_COMMENT);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_LOUT_STRING);\n\t\t\t} else if (IsADigit(sc.ch) ||\n\t\t\t\t  (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_LOUT_NUMBER);\n\t\t\t} else if (IsAWordChar(sc.ch)) {\n\t\t\t\tfirstWordInLine = (visibleChars == 0);\n\t\t\t\tleadingAtSign = (sc.ch == '@');\n\t\t\t\tsc.SetState(SCE_LOUT_IDENTIFIER);\n\t\t\t} else if (IsAnOther(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_LOUT_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\t// Reset states to begining of colourise so no surprises\n\t\t\t// if different sets of lines lexed.\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!IsASpace(sc.ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldLoutDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n                        Accessor &styler) {\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tint styleNext = styler.StyleAt(startPos);\n\tchar s[10] = \"\";\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (style == SCE_LOUT_WORD) {\n\t\t\tif (ch == '@') {\n\t\t\t\tfor (Sci_PositionU j = 0; j < 8; j++) {\n\t\t\t\t\tif (!IsAWordChar(styler[i + j])) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ts[j] = styler[i + j];\n\t\t\t\t\ts[j + 1] = '\\0';\n\t\t\t\t}\n\t\t\t\tif (strcmp(s, \"@Begin\") == 0) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (strcmp(s, \"@End\") == 0) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (style == SCE_LOUT_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact) {\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t}\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0)) {\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const loutWordLists[] = {\n            \"Predefined identifiers\",\n            \"Predefined delimiters\",\n            \"Predefined keywords\",\n            0,\n        };\n\nLexerModule lmLout(SCLEX_LOUT, ColouriseLoutDoc, \"lout\", FoldLoutDoc, loutWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexLua.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexLua.cxx\n ** Lexer for Lua language.\n **\n ** Written by Paul Winwood.\n ** Folder by Alexey Yutkin.\n ** Modified by Marcos E. Wurzius & Philippe Lhoste\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"StringCopy.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Test for [=[ ... ]=] delimiters, returns 0 if it's only a [ or ],\n// return 1 for [[ or ]], returns >=2 for [=[ or ]=] and so on.\n// The maximum number of '=' characters allowed is 254.\nstatic int LongDelimCheck(StyleContext &sc) {\n\tint sep = 1;\n\twhile (sc.GetRelative(sep) == '=' && sep < 0xFF)\n\t\tsep++;\n\tif (sc.GetRelative(sep) == sc.ch)\n\t\treturn sep;\n\treturn 0;\n}\n\nstatic void ColouriseLuaDoc(\n\tSci_PositionU startPos,\n\tSci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler) {\n\n\tconst WordList &keywords = *keywordlists[0];\n\tconst WordList &keywords2 = *keywordlists[1];\n\tconst WordList &keywords3 = *keywordlists[2];\n\tconst WordList &keywords4 = *keywordlists[3];\n\tconst WordList &keywords5 = *keywordlists[4];\n\tconst WordList &keywords6 = *keywordlists[5];\n\tconst WordList &keywords7 = *keywordlists[6];\n\tconst WordList &keywords8 = *keywordlists[7];\n\n\t// Accepts accented characters\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\", 0x80, true);\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases. [pP] is for hex floats.\n\tCharacterSet setNumber(CharacterSet::setDigits, \".-+abcdefpABCDEFP\");\n\tCharacterSet setExponent(CharacterSet::setNone, \"eEpP\");\n\tCharacterSet setLuaOperator(CharacterSet::setNone, \"*/-+()={}~[];<>,.^%:#&|\");\n\tCharacterSet setEscapeSkip(CharacterSet::setNone, \"\\\"'\\\\\");\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\t// Initialize long string [[ ... ]] or block comment --[[ ... ]] nesting level,\n\t// if we are inside such a string. Block comment was introduced in Lua 5.0,\n\t// blocks with separators [=[ ... ]=] in Lua 5.1.\n\t// Continuation of a string (\\z whitespace escaping) is controlled by stringWs.\n\tint nestLevel = 0;\n\tint sepCount = 0;\n\tint stringWs = 0;\n\tif (initStyle == SCE_LUA_LITERALSTRING || initStyle == SCE_LUA_COMMENT ||\n\t\tinitStyle == SCE_LUA_STRING || initStyle == SCE_LUA_CHARACTER) {\n\t\tconst int lineState = styler.GetLineState(currentLine - 1);\n\t\tnestLevel = lineState >> 9;\n\t\tsepCount = lineState & 0xFF;\n\t\tstringWs = lineState & 0x100;\n\t}\n\n\t// results of identifier/keyword matching\n\tSci_Position idenPos = 0;\n\tSci_Position idenWordPos = 0;\n\tint idenStyle = SCE_LUA_IDENTIFIER;\n\tbool foundGoto = false;\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_LUA_STRINGEOL || initStyle == SCE_LUA_COMMENTLINE || initStyle == SCE_LUA_PREPROCESSOR) {\n\t\tinitStyle = SCE_LUA_DEFAULT;\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tif (startPos == 0 && sc.ch == '#' && sc.chNext == '!') {\n\t\t// shbang line: \"#!\" is a comment only if located at the start of the script\n\t\tsc.SetState(SCE_LUA_COMMENTLINE);\n\t}\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tcurrentLine = styler.GetLine(sc.currentPos);\n\t\t\tswitch (sc.state) {\n\t\t\tcase SCE_LUA_LITERALSTRING:\n\t\t\tcase SCE_LUA_COMMENT:\n\t\t\tcase SCE_LUA_STRING:\n\t\t\tcase SCE_LUA_CHARACTER:\n\t\t\t\t// Inside a literal string, block comment or string, we set the line state\n\t\t\t\tstyler.SetLineState(currentLine, (nestLevel << 9) | stringWs | sepCount);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Reset the line state\n\t\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (sc.atLineStart && (sc.state == SCE_LUA_STRING)) {\n\t\t\t// Prevent SCE_LUA_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_LUA_STRING);\n\t\t}\n\n\t\t// Handle string line continuation\n\t\tif ((sc.state == SCE_LUA_STRING || sc.state == SCE_LUA_CHARACTER) &&\n\t\t\t\tsc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_LUA_OPERATOR) {\n\t\t\tif (sc.ch == ':' && sc.chPrev == ':') {\t// :: <label> :: forward scan\n\t\t\t\tsc.Forward();\n\t\t\t\tSci_Position ln = 0;\n\t\t\t\twhile (IsASpaceOrTab(sc.GetRelative(ln)))\t// skip over spaces/tabs\n\t\t\t\t\tln++;\n\t\t\t\tSci_Position ws1 = ln;\n\t\t\t\tif (setWordStart.Contains(sc.GetRelative(ln))) {\n\t\t\t\t\tint c, i = 0;\n\t\t\t\t\tchar s[100];\n\t\t\t\t\twhile (setWord.Contains(c = sc.GetRelative(ln))) {\t// get potential label\n\t\t\t\t\t\tif (i < 90)\n\t\t\t\t\t\t\ts[i++] = static_cast<char>(c);\n\t\t\t\t\t\tln++;\n\t\t\t\t\t}\n\t\t\t\t\ts[i] = '\\0'; Sci_Position lbl = ln;\n\t\t\t\t\tif (!keywords.InList(s)) {\n\t\t\t\t\t\twhile (IsASpaceOrTab(sc.GetRelative(ln)))\t// skip over spaces/tabs\n\t\t\t\t\t\t\tln++;\n\t\t\t\t\t\tSci_Position ws2 = ln - lbl;\n\t\t\t\t\t\tif (sc.GetRelative(ln) == ':' && sc.GetRelative(ln + 1) == ':') {\n\t\t\t\t\t\t\t// final :: found, complete valid label construct\n\t\t\t\t\t\t\tsc.ChangeState(SCE_LUA_LABEL);\n\t\t\t\t\t\t\tif (ws1) {\n\t\t\t\t\t\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t\t\t\t\t\t\tsc.ForwardBytes(ws1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsc.SetState(SCE_LUA_LABEL);\n\t\t\t\t\t\t\tsc.ForwardBytes(lbl - ws1);\n\t\t\t\t\t\t\tif (ws2) {\n\t\t\t\t\t\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t\t\t\t\t\t\tsc.ForwardBytes(ws2);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsc.SetState(SCE_LUA_LABEL);\n\t\t\t\t\t\t\tsc.ForwardBytes(2);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t} else if (sc.state == SCE_LUA_NUMBER) {\n\t\t\t// We stop the number definition on non-numerical non-dot non-eEpP non-sign non-hexdigit char\n\t\t\tif (!setNumber.Contains(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t\t} else if (sc.ch == '-' || sc.ch == '+') {\n\t\t\t\tif (!setExponent.Contains(sc.chPrev))\n\t\t\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LUA_IDENTIFIER) {\n\t\t\tidenPos--;\t\t\t// commit already-scanned identitier/word parts\n\t\t\tif (idenWordPos > 0) {\n\t\t\t\tidenWordPos--;\n\t\t\t\tsc.ChangeState(idenStyle);\n\t\t\t\tsc.ForwardBytes(idenWordPos);\n\t\t\t\tidenPos -= idenWordPos;\n\t\t\t\tif (idenPos > 0) {\n\t\t\t\t\tsc.SetState(SCE_LUA_IDENTIFIER);\n\t\t\t\t\tsc.ForwardBytes(idenPos);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsc.ForwardBytes(idenPos);\n\t\t\t}\n\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t\tif (foundGoto) {\t\t\t\t\t// goto <label> forward scan\n\t\t\t\twhile (IsASpaceOrTab(sc.ch) && !sc.atLineEnd)\n\t\t\t\t\tsc.Forward();\n\t\t\t\tif (setWordStart.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_LUA_LABEL);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\twhile (setWord.Contains(sc.ch))\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\tchar s[100];\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\tif (keywords.InList(s))\t\t// labels cannot be keywords\n\t\t\t\t\t\tsc.ChangeState(SCE_LUA_WORD);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_LUA_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LUA_COMMENTLINE || sc.state == SCE_LUA_PREPROCESSOR) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LUA_STRING) {\n\t\t\tif (stringWs) {\n\t\t\t\tif (!IsASpace(sc.ch))\n\t\t\t\t\tstringWs = 0;\n\t\t\t}\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (setEscapeSkip.Contains(sc.chNext)) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (sc.chNext == 'z') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tstringWs = 0x100;\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t} else if (stringWs == 0 && sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_LUA_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LUA_CHARACTER) {\n\t\t\tif (stringWs) {\n\t\t\t\tif (!IsASpace(sc.ch))\n\t\t\t\t\tstringWs = 0;\n\t\t\t}\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (setEscapeSkip.Contains(sc.chNext)) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (sc.chNext == 'z') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tstringWs = 0x100;\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t} else if (stringWs == 0 && sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_LUA_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_LUA_LITERALSTRING || sc.state == SCE_LUA_COMMENT) {\n\t\t\tif (sc.ch == '[') {\n\t\t\t\tconst int sep = LongDelimCheck(sc);\n\t\t\t\tif (sep == 1 && sepCount == 1) {    // [[-only allowed to nest\n\t\t\t\t\tnestLevel++;\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == ']') {\n\t\t\t\tint sep = LongDelimCheck(sc);\n\t\t\t\tif (sep == 1 && sepCount == 1) {    // un-nest with ]]-only\n\t\t\t\t\tnestLevel--;\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tif (nestLevel == 0) {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t} else if (sep > 1 && sep == sepCount) {   // ]=]-style delim\n\t\t\t\t\tsc.Forward(sep);\n\t\t\t\t\tsc.ForwardSetState(SCE_LUA_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_LUA_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_LUA_NUMBER);\n\t\t\t\tif (sc.ch == '0' && toupper(sc.chNext) == 'X') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (setWordStart.Contains(sc.ch)) {\n\t\t\t\t// For matching various identifiers with dots and colons, multiple\n\t\t\t\t// matches are done as identifier segments are added. Longest match is\n\t\t\t\t// set to a word style. The non-matched part is in identifier style.\n\t\t\t\tstd::string ident;\n\t\t\t\tidenPos = 0;\n\t\t\t\tidenWordPos = 0;\n\t\t\t\tidenStyle = SCE_LUA_IDENTIFIER;\n\t\t\t\tfoundGoto = false;\n\t\t\t\tint cNext;\n\t\t\t\tdo {\n\t\t\t\t\tint c;\n\t\t\t\t\tconst Sci_Position idenPosOld = idenPos;\n\t\t\t\t\tstd::string identSeg;\n\t\t\t\t\tidentSeg += static_cast<char>(sc.GetRelative(idenPos++));\n\t\t\t\t\twhile (setWord.Contains(c = sc.GetRelative(idenPos))) {\n\t\t\t\t\t\tidentSeg += static_cast<char>(c);\n\t\t\t\t\t\tidenPos++;\n\t\t\t\t\t}\n\t\t\t\t\tif (keywords.InList(identSeg.c_str()) && (idenPosOld > 0)) {\n\t\t\t\t\t\tidenPos = idenPosOld - 1;\t// keywords cannot mix\n\t\t\t\t\t\tident.pop_back();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tident += identSeg;\n\t\t\t\t\tconst char* s = ident.c_str();\n\t\t\t\t\tint newStyle = SCE_LUA_IDENTIFIER;\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD;\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD2;\n\t\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD3;\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD4;\n\t\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD5;\n\t\t\t\t\t} else if (keywords6.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD6;\n\t\t\t\t\t} else if (keywords7.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD7;\n\t\t\t\t\t} else if (keywords8.InList(s)) {\n\t\t\t\t\t\tnewStyle = SCE_LUA_WORD8;\n\t\t\t\t\t}\n\t\t\t\t\tif (newStyle != SCE_LUA_IDENTIFIER) {\n\t\t\t\t\t\tidenStyle = newStyle;\n\t\t\t\t\t\tidenWordPos = idenPos;\n\t\t\t\t\t}\n\t\t\t\t\tif (idenStyle == SCE_LUA_WORD)\t// keywords cannot mix\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcNext = sc.GetRelative(idenPos + 1);\n\t\t\t\t\tif ((c == '.' || c == ':') && setWordStart.Contains(cNext)) {\n\t\t\t\t\t\tident += static_cast<char>(c);\n\t\t\t\t\t\tidenPos++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcNext = 0;\n\t\t\t\t\t}\n\t\t\t\t} while (cNext);\n\t\t\t\tif ((idenStyle == SCE_LUA_WORD) && (ident.compare(\"goto\") == 0)) {\n\t\t\t\t\tfoundGoto = true;\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_LUA_IDENTIFIER);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_LUA_STRING);\n\t\t\t\tstringWs = 0;\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_LUA_CHARACTER);\n\t\t\t\tstringWs = 0;\n\t\t\t} else if (sc.ch == '[') {\n\t\t\t\tsepCount = LongDelimCheck(sc);\n\t\t\t\tif (sepCount == 0) {\n\t\t\t\t\tsc.SetState(SCE_LUA_OPERATOR);\n\t\t\t\t} else {\n\t\t\t\t\tnestLevel = 1;\n\t\t\t\t\tsc.SetState(SCE_LUA_LITERALSTRING);\n\t\t\t\t\tsc.Forward(sepCount);\n\t\t\t\t}\n\t\t\t} else if (sc.Match('-', '-')) {\n\t\t\t\tsc.SetState(SCE_LUA_COMMENTLINE);\n\t\t\t\tif (sc.Match(\"--[\")) {\n\t\t\t\t\tsc.Forward(2);\n\t\t\t\t\tsepCount = LongDelimCheck(sc);\n\t\t\t\t\tif (sepCount > 0) {\n\t\t\t\t\t\tnestLevel = 1;\n\t\t\t\t\t\tsc.ChangeState(SCE_LUA_COMMENT);\n\t\t\t\t\t\tsc.Forward(sepCount);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.atLineStart && sc.Match('$')) {\n\t\t\t\tsc.SetState(SCE_LUA_PREPROCESSOR);\t// Obsolete since Lua 4.0, but still in old code\n\t\t\t} else if (setLuaOperator.Contains(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_LUA_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\n\tsc.Complete();\n}\n\nstatic void FoldLuaDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],\n                       Accessor &styler) {\n\tconst Sci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tconst bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tint styleNext = styler.StyleAt(startPos);\n\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tconst char ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tconst int style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tconst bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (style == SCE_LUA_WORD) {\n\t\t\tif (ch == 'i' || ch == 'd' || ch == 'f' || ch == 'e' || ch == 'r' || ch == 'u') {\n\t\t\t\tchar s[10] = \"\";\n\t\t\t\tfor (Sci_PositionU j = 0; j < 8; j++) {\n\t\t\t\t\tif (!iswordchar(styler[i + j])) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ts[j] = styler[i + j];\n\t\t\t\t\ts[j + 1] = '\\0';\n\t\t\t\t}\n\n\t\t\t\tif ((strcmp(s, \"if\") == 0) || (strcmp(s, \"do\") == 0) || (strcmp(s, \"function\") == 0) || (strcmp(s, \"repeat\") == 0)) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t}\n\t\t\t\tif ((strcmp(s, \"end\") == 0) || (strcmp(s, \"elseif\") == 0) || (strcmp(s, \"until\") == 0)) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (style == SCE_LUA_OPERATOR) {\n\t\t\tif (ch == '{' || ch == '(') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}' || ch == ')') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t} else if (style == SCE_LUA_LITERALSTRING || style == SCE_LUA_COMMENT) {\n\t\t\tif (ch == '[') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == ']') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact) {\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t}\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0)) {\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const luaWordListDesc[] = {\n\t\"Keywords\",\n\t\"Basic functions\",\n\t\"String, (table) & math functions\",\n\t\"(coroutines), I/O & system facilities\",\n\t\"user1\",\n\t\"user2\",\n\t\"user3\",\n\t\"user4\",\n\t0\n};\n\nnamespace {\n\nLexicalClass lexicalClasses[] = {\n\t// Lexer Lua SCLEX_LUA SCE_LUA_:\n\t0, \"SCE_LUA_DEFAULT\", \"default\", \"White space: Visible only in View Whitespace mode (or if it has a back colour)\",\n\t1, \"SCE_LUA_COMMENT\", \"comment\", \"Block comment (Lua 5.0)\",\n\t2, \"SCE_LUA_COMMENTLINE\", \"comment line\", \"Line comment\",\n\t3, \"SCE_LUA_COMMENTDOC\", \"comment documentation\", \"Doc comment -- Not used in Lua (yet?)\",\n\t4, \"SCE_LUA_NUMBER\", \"literal numeric\", \"Number\",\n\t5, \"SCE_LUA_WORD\", \"keyword\", \"Keyword\",\n\t6, \"SCE_LUA_STRING\", \"literal string\", \"(Double quoted) String\",\n\t7, \"SCE_LUA_CHARACTER\", \"literal string character\", \"Character (Single quoted string)\",\n\t8, \"SCE_LUA_LITERALSTRING\", \"literal string\", \"Literal string\",\n\t9, \"SCE_LUA_PREPROCESSOR\", \"preprocessor\", \"Preprocessor (obsolete in Lua 4.0 and up)\",\n\t10, \"SCE_LUA_OPERATOR\", \"operator\", \"Operators\",\n\t11, \"SCE_LUA_IDENTIFIER\", \"identifier\", \"Identifier (everything else...)\",\n\t12, \"SCE_LUA_STRINGEOL\", \"error literal string\", \"End of line where string is not closed\",\n\t13, \"SCE_LUA_WORD2\", \"identifier\", \"Other keywords\",\n\t14, \"SCE_LUA_WORD3\", \"identifier\", \"Other keywords\",\n\t15, \"SCE_LUA_WORD4\", \"identifier\", \"Other keywords\",\n\t16, \"SCE_LUA_WORD5\", \"identifier\", \"Other keywords\",\n\t17, \"SCE_LUA_WORD6\", \"identifier\", \"Other keywords\",\n\t18, \"SCE_LUA_WORD7\", \"identifier\", \"Other keywords\",\n\t19, \"SCE_LUA_WORD8\", \"identifier\", \"Other keywords\",\n\t20, \"SCE_LUA_LABEL\", \"label\", \"Labels\",\n};\n\n}\n\nLexerModule lmLua(SCLEX_LUA, ColouriseLuaDoc, \"lua\", FoldLuaDoc, luaWordListDesc, lexicalClasses, ELEMENTS(lexicalClasses));\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMMIXAL.cpp",
    "content": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexMMIXAL.cxx\n ** Lexer for MMIX Assembler Language.\n ** Written by Christoph Hösler <christoph.hoesler@student.uni-tuebingen.de>\n ** For information about MMIX visit http://www-cs-faculty.stanford.edu/~knuth/mmix.html\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == ':' || ch == '_');\n}\n\ninline bool isMMIXALOperator(char ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\tif (ch == '+' || ch == '-' || ch == '|' || ch == '^' ||\n\t\tch == '*' || ch == '/' ||\n\t\tch == '%' || ch == '<' || ch == '>' || ch == '&' ||\n\t\tch == '~' || ch == '$' ||\n\t\tch == ',' || ch == '(' || ch == ')' ||\n\t\tch == '[' || ch == ']')\n\t\treturn true;\n\treturn false;\n}\n\nstatic void ColouriseMMIXALDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tWordList &opcodes = *keywordlists[0];\n\tWordList &special_register = *keywordlists[1];\n\tWordList &predef_symbols = *keywordlists[2];\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward())\n\t{\n\t\t// No EOL continuation\n\t\tif (sc.atLineStart) {\n\t\t\tif (sc.ch ==  '@' && sc.chNext == 'i') {\n\t\t\t\tsc.SetState(SCE_MMIXAL_INCLUDE);\n\t\t\t} else {\n\t\t\t\tsc.SetState(SCE_MMIXAL_LEADWS);\n\t\t\t}\n\t\t}\n\n\t\t// Check if first non whitespace character in line is alphanumeric\n\t\tif (sc.state == SCE_MMIXAL_LEADWS && !isspace(sc.ch)) {\t// LEADWS\n\t\t\tif(!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_COMMENT);\n\t\t\t} else {\n\t\t\t\tif(sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_MMIXAL_LABEL);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_MMIXAL_OPCODE_PRE);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_MMIXAL_OPERATOR) {\t\t\t// OPERATOR\n\t\t\tsc.SetState(SCE_MMIXAL_OPERANDS);\n\t\t} else if (sc.state == SCE_MMIXAL_NUMBER) {\t\t// NUMBER\n\t\t\tif (!isdigit(sc.ch)) {\n\t\t\t\tif (IsAWordChar(sc.ch)) {\n\t\t\t\t\tchar s[100];\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\tsc.ChangeState(SCE_MMIXAL_REF);\n\t\t\t\t\tsc.SetState(SCE_MMIXAL_REF);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_MMIXAL_OPERANDS);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_LABEL) {\t\t\t// LABEL\n\t\t\tif (!IsAWordChar(sc.ch) ) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_OPCODE_PRE);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_REF) {\t\t\t// REF\n\t\t\tif (!IsAWordChar(sc.ch) ) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tif (*s == ':') {\t// ignore base prefix for match\n\t\t\t\t\tfor (size_t i = 0; i != sizeof(s); ++i) {\n\t\t\t\t\t\t*(s+i) = *(s+i+1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (special_register.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_MMIXAL_REGISTER);\n\t\t\t\t} else if (predef_symbols.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_MMIXAL_SYMBOL);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_MMIXAL_OPERANDS);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_OPCODE_PRE) {\t// OPCODE_PRE\n\t\t\t\tif (!isspace(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_MMIXAL_OPCODE);\n\t\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_OPCODE) {\t\t// OPCODE\n\t\t\tif (!IsAWordChar(sc.ch) ) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tif (opcodes.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_MMIXAL_OPCODE_VALID);\n\t\t\t\t} else {\n\t\t\t\t\tsc.ChangeState(SCE_MMIXAL_OPCODE_UNKNOWN);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_MMIXAL_OPCODE_POST);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_STRING) {\t\t// STRING\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_MMIXAL_OPERANDS);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_MMIXAL_OPERANDS);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_CHAR) {\t\t\t// CHAR\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_MMIXAL_OPERANDS);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_MMIXAL_OPERANDS);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_REGISTER) {\t\t// REGISTER\n\t\t\tif (!isdigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_OPERANDS);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MMIXAL_HEX) {\t\t\t// HEX\n\t\t\tif (!isxdigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_OPERANDS);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_MMIXAL_OPCODE_POST ||\t\t// OPCODE_POST\n\t\t\tsc.state == SCE_MMIXAL_OPERANDS) {\t\t\t// OPERANDS\n\t\t\tif (sc.state == SCE_MMIXAL_OPERANDS && isspace(sc.ch)) {\n\t\t\t\tif (!sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_MMIXAL_COMMENT);\n\t\t\t\t}\n\t\t\t} else if (isdigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_NUMBER);\n\t\t\t} else if (IsAWordChar(sc.ch) || sc.Match('@')) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_REF);\n\t\t\t} else if (sc.Match('\\\"')) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_STRING);\n\t\t\t} else if (sc.Match('\\'')) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_CHAR);\n\t\t\t} else if (sc.Match('$')) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_REGISTER);\n\t\t\t} else if (sc.Match('#')) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_HEX);\n\t\t\t} else if (isMMIXALOperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_MMIXAL_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic const char * const MMIXALWordListDesc[] = {\n\t\"Operation Codes\",\n\t\"Special Register\",\n\t\"Predefined Symbols\",\n\t0\n};\n\nLexerModule lmMMIXAL(SCLEX_MMIXAL, ColouriseMMIXALDoc, \"mmixal\", 0, MMIXALWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMPT.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexMPT.cxx\n ** Lexer for MPT specific files. Based on LexOthers.cxx\n ** LOT = the text log file created by the MPT application while running a test program\n ** Other MPT specific files to be added later.\n **/\n// Copyright 2003 by Marius Gheorghe <mgheorghe@cabletest.com>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic int GetLotLineState(std::string &line) {\n\tif (line.length()) {\n\t\t// Most of the time the first non-blank character in line determines that line's type\n\t\t// Now finds the first non-blank character\n\t\tunsigned i; // Declares counter here to make it persistent after the for loop\n\t\tfor (i = 0; i < line.length(); ++i) {\n\t\t\tif (!(IsASCII(line[i]) && isspace(line[i])))\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Checks if it was a blank line\n\t\tif (i == line.length())\n\t\t\treturn SCE_LOT_DEFAULT;\n\n\t\tswitch (line[i]) {\n\t\tcase '*': // Fail measurement\n\t\t\treturn SCE_LOT_FAIL;\n\n\t\tcase '+': // Header\n\t\tcase '|': // Header\n\t\t\treturn SCE_LOT_HEADER;\n\n\t\tcase ':': // Set test limits\n\t\t\treturn SCE_LOT_SET;\n\n\t\tcase '-': // Section break\n\t\t\treturn SCE_LOT_BREAK;\n\n\t\tdefault:  // Any other line\n\t\t\t// Checks for message at the end of lot file\n\t\t\tif (line.find(\"PASSED\") != std::string::npos) {\n\t\t\t\treturn SCE_LOT_PASS;\n\t\t\t}\n\t\t\telse if (line.find(\"FAILED\") != std::string::npos) {\n\t\t\t\treturn SCE_LOT_FAIL;\n\t\t\t}\n\t\t\telse if (line.find(\"ABORTED\") != std::string::npos) {\n\t\t\t\treturn SCE_LOT_ABORT;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn i ? SCE_LOT_PASS : SCE_LOT_DEFAULT;\n\t\t\t}\n\t\t}\n\t}\n\telse {\n\t\treturn SCE_LOT_DEFAULT;\n\t}\n}\n\nstatic void ColourizeLotDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tbool atLineStart = true;// Arms the 'at line start' flag\n\tchar chNext = styler.SafeGetCharAt(startPos);\n\tstd::string line(\"\");\n\tline.reserve(256);\t// Lot lines are less than 256 chars long most of the time. This should avoid reallocations\n\n\t// Styles LOT document\n\tSci_PositionU i;\t\t\t// Declared here because it's used after the for loop\n\tfor (i = startPos; i < startPos + length; ++i) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tline += ch;\n\t\tatLineStart = false;\n\n\t\t// LOT files are only used on the Win32 platform, thus EOL == CR+LF\n\t\t// Searches for the end of line\n\t\tif (ch == '\\r' && chNext == '\\n') {\n\t\t\tline += chNext; // Gets the '\\n'\n\t\t\t++i; // Advances past the '\\n'\n\t\t\tchNext = styler.SafeGetCharAt(i + 1); // Gets character of next line\n\t\t\tstyler.ColourTo(i, GetLotLineState(line));\n\t\t\tline = \"\";\n\t\t\tatLineStart = true; // Arms flag for next line\n\t\t}\n\t}\n\n\t// Last line may not have a line ending\n\tif (!atLineStart) {\n\t\tstyler.ColourTo(i - 1, GetLotLineState(line));\n\t}\n}\n\n// Folds an MPT LOT file: the blocks that can be folded are:\n// sections (headed by a set line)\n// passes (contiguous pass results within a section)\n// fails (contiguous fail results within a section)\nstatic void FoldLotDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 0) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\n\tchar chNext = styler.SafeGetCharAt(startPos);\n\tint style = SCE_LOT_DEFAULT;\n\tint styleNext = styler.StyleAt(startPos);\n\tint lev = SC_FOLDLEVELBASE;\n\n\t// Gets style of previous line if not at the beginning of the document\n\tif (startPos > 1)\n\t\tstyle = styler.StyleAt(startPos - 2);\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif (ch == '\\r' && chNext == '\\n') {\n\t\t\t// TO DO:\n\t\t\t// Should really get the state of the previous line from the styler\n\t\t\tint stylePrev = style;\n\t\t\tstyle = styleNext;\n\t\t\tstyleNext = styler.StyleAt(i + 2);\n\n\t\t\tswitch (style) {\n/*\n\t\t\tcase SCE_LOT_SET:\n\t\t\t\tlev = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tbreak;\n*/\n\t\t\tcase SCE_LOT_FAIL:\n/*\n\t\t\t\tif (stylePrev != SCE_LOT_FAIL)\n\t\t\t\t\tlev = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t\t\telse\n\t\t\t\t\tlev = SC_FOLDLEVELBASE + 1;\n*/\n\t\t\t\tlev = SC_FOLDLEVELBASE;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tif (lineCurrent == 0 || stylePrev == SCE_LOT_FAIL)\n\t\t\t\t\tlev = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t\t\telse\n\t\t\t\t\tlev = SC_FOLDLEVELBASE + 1;\n\n\t\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (lev != styler.LevelAt(lineCurrent))\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\n\t\t\tlineCurrent++;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, lev | flagsNext);\n}\n\nstatic const char * const emptyWordListDesc[] = {\n\t0\n};\n\nLexerModule lmLot(SCLEX_LOT, ColourizeLotDoc, \"lot\", FoldLotDoc, emptyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMSSQL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexMSSQL.cxx\n ** Lexer for MSSQL.\n **/\n// By Filip Yaghob <fyaghob@gmail.com>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n#define KW_MSSQL_STATEMENTS         0\n#define KW_MSSQL_DATA_TYPES         1\n#define KW_MSSQL_SYSTEM_TABLES      2\n#define KW_MSSQL_GLOBAL_VARIABLES   3\n#define KW_MSSQL_FUNCTIONS          4\n#define KW_MSSQL_STORED_PROCEDURES  5\n#define KW_MSSQL_OPERATORS          6\n\nstatic char classifyWordSQL(Sci_PositionU start,\n                            Sci_PositionU end,\n                            WordList *keywordlists[],\n                            Accessor &styler,\n                            unsigned int actualState,\n\t\t\t\t\t\t\tunsigned int prevState) {\n\tchar s[256];\n\tbool wordIsNumber = isdigit(styler[start]) || (styler[start] == '.');\n\n\tWordList &kwStatements          = *keywordlists[KW_MSSQL_STATEMENTS];\n    WordList &kwDataTypes           = *keywordlists[KW_MSSQL_DATA_TYPES];\n    WordList &kwSystemTables        = *keywordlists[KW_MSSQL_SYSTEM_TABLES];\n    WordList &kwGlobalVariables     = *keywordlists[KW_MSSQL_GLOBAL_VARIABLES];\n    WordList &kwFunctions           = *keywordlists[KW_MSSQL_FUNCTIONS];\n    WordList &kwStoredProcedures    = *keywordlists[KW_MSSQL_STORED_PROCEDURES];\n    WordList &kwOperators           = *keywordlists[KW_MSSQL_OPERATORS];\n\n\tfor (Sci_PositionU i = 0; i < end - start + 1 && i < 128; i++) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ts[i + 1] = '\\0';\n\t}\n\tchar chAttr = SCE_MSSQL_IDENTIFIER;\n\n\tif (actualState == SCE_MSSQL_GLOBAL_VARIABLE) {\n\n        if (kwGlobalVariables.InList(&s[2]))\n            chAttr = SCE_MSSQL_GLOBAL_VARIABLE;\n\n\t} else if (wordIsNumber) {\n\t\tchAttr = SCE_MSSQL_NUMBER;\n\n\t} else if (prevState == SCE_MSSQL_DEFAULT_PREF_DATATYPE) {\n\t\t// Look first in datatypes\n        if (kwDataTypes.InList(s))\n            chAttr = SCE_MSSQL_DATATYPE;\n\t\telse if (kwOperators.InList(s))\n\t\t\tchAttr = SCE_MSSQL_OPERATOR;\n\t\telse if (kwStatements.InList(s))\n\t\t\tchAttr = SCE_MSSQL_STATEMENT;\n\t\telse if (kwSystemTables.InList(s))\n\t\t\tchAttr = SCE_MSSQL_SYSTABLE;\n\t\telse if (kwFunctions.InList(s))\n            chAttr = SCE_MSSQL_FUNCTION;\n\t\telse if (kwStoredProcedures.InList(s))\n\t\t\tchAttr = SCE_MSSQL_STORED_PROCEDURE;\n\n\t} else {\n\t\tif (kwOperators.InList(s))\n\t\t\tchAttr = SCE_MSSQL_OPERATOR;\n\t\telse if (kwStatements.InList(s))\n\t\t\tchAttr = SCE_MSSQL_STATEMENT;\n\t\telse if (kwSystemTables.InList(s))\n\t\t\tchAttr = SCE_MSSQL_SYSTABLE;\n\t\telse if (kwFunctions.InList(s))\n\t\t\tchAttr = SCE_MSSQL_FUNCTION;\n\t\telse if (kwStoredProcedures.InList(s))\n\t\t\tchAttr = SCE_MSSQL_STORED_PROCEDURE;\n\t\telse if (kwDataTypes.InList(s))\n\t\t\tchAttr = SCE_MSSQL_DATATYPE;\n\t}\n\n\tstyler.ColourTo(end, chAttr);\n\n\treturn chAttr;\n}\n\nstatic void ColouriseMSSQLDoc(Sci_PositionU startPos, Sci_Position length,\n                              int initStyle, WordList *keywordlists[], Accessor &styler) {\n\n\n\tstyler.StartAt(startPos);\n\n\tbool fold = styler.GetPropertyInt(\"fold\") != 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint spaceFlags = 0;\n\n\tint state = initStyle;\n\tint prevState = initStyle;\n\tchar chPrev = ' ';\n\tchar chNext = styler[startPos];\n\tstyler.StartSegment(startPos);\n\tSci_PositionU lengthDoc = startPos + length;\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n\t\t\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags);\n\t\t\tint lev = indentCurrent;\n\t\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\t\t// Only non whitespace lines can be headers\n\t\t\t\tint indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags);\n\t\t\t\tif (indentCurrent < (indentNext & ~SC_FOLDLEVELWHITEFLAG)) {\n\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (fold) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t}\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\tchPrev = ' ';\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// When the last char isn't part of the state (have to deal with it too)...\n\t\tif ( (state == SCE_MSSQL_IDENTIFIER) ||\n                    (state == SCE_MSSQL_STORED_PROCEDURE) ||\n                    (state == SCE_MSSQL_DATATYPE) ||\n                    //~ (state == SCE_MSSQL_COLUMN_NAME) ||\n                    (state == SCE_MSSQL_FUNCTION) ||\n                    //~ (state == SCE_MSSQL_GLOBAL_VARIABLE) ||\n                    (state == SCE_MSSQL_VARIABLE)) {\n\t\t\tif (!iswordchar(ch)) {\n\t\t\t\tint stateTmp;\n\n                if ((state == SCE_MSSQL_VARIABLE) || (state == SCE_MSSQL_COLUMN_NAME)) {\n                    styler.ColourTo(i - 1, state);\n\t\t\t\t\tstateTmp = state;\n                } else\n                    stateTmp = classifyWordSQL(styler.GetStartSegment(), i - 1, keywordlists, styler, state, prevState);\n\n\t\t\t\tprevState = state;\n\n\t\t\t\tif (stateTmp == SCE_MSSQL_IDENTIFIER || stateTmp == SCE_MSSQL_VARIABLE)\n\t\t\t\t\tstate = SCE_MSSQL_DEFAULT_PREF_DATATYPE;\n\t\t\t\telse\n\t\t\t\t\tstate = SCE_MSSQL_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_MSSQL_LINE_COMMENT) {\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_MSSQL_GLOBAL_VARIABLE) {\n\t\t\tif ((ch != '@') && !iswordchar(ch)) {\n\t\t\t\tclassifyWordSQL(styler.GetStartSegment(), i - 1, keywordlists, styler, state, prevState);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_DEFAULT;\n\t\t\t}\n\t\t}\n\n\t\t// If is the default or one of the above succeeded\n\t\tif (state == SCE_MSSQL_DEFAULT || state == SCE_MSSQL_DEFAULT_PREF_DATATYPE) {\n\t\t\tif (iswordstart(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_IDENTIFIER;\n\t\t\t} else if (ch == '/' && chNext == '*') {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_COMMENT;\n\t\t\t} else if (ch == '-' && chNext == '-') {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_LINE_COMMENT;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_STRING;\n\t\t\t} else if (ch == '\"') {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_COLUMN_NAME;\n\t\t\t} else if (ch == '[') {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_COLUMN_NAME_2;\n\t\t\t} else if (isoperator(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tstyler.ColourTo(i, SCE_MSSQL_OPERATOR);\n                //~ style = SCE_MSSQL_DEFAULT;\n\t\t\t\tprevState = state;\n\t\t\t\tstate = SCE_MSSQL_DEFAULT;\n\t\t\t} else if (ch == '@') {\n                styler.ColourTo(i - 1, SCE_MSSQL_DEFAULT);\n\t\t\t\tprevState = state;\n                if (chNext == '@') {\n                    state = SCE_MSSQL_GLOBAL_VARIABLE;\n//                    i += 2;\n                } else\n                    state = SCE_MSSQL_VARIABLE;\n            }\n\n\n\t\t// When the last char is part of the state...\n\t\t} else if (state == SCE_MSSQL_COMMENT) {\n\t\t\t\tif (ch == '/' && chPrev == '*') {\n\t\t\t\t\tif (((i > (styler.GetStartSegment() + 2)) || ((initStyle == SCE_MSSQL_COMMENT) &&\n\t\t\t\t\t    (styler.GetStartSegment() == startPos)))) {\n\t\t\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\t\t\t//~ state = SCE_MSSQL_COMMENT;\n\t\t\t\t\tprevState = state;\n                        state = SCE_MSSQL_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (state == SCE_MSSQL_STRING) {\n\t\t\t\tif (ch == '\\'') {\n\t\t\t\t\tif ( chNext == '\\'' ) {\n\t\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\t\tprevState = state;\n\t\t\t\t\t\tstate = SCE_MSSQL_DEFAULT;\n\t\t\t\t\t//i++;\n\t\t\t\t\t}\n\t\t\t\t//ch = chNext;\n\t\t\t\t//chNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t}\n\t\t\t} else if (state == SCE_MSSQL_COLUMN_NAME) {\n\t\t\t\tif (ch == '\"') {\n\t\t\t\t\tif (chNext == '\"') {\n\t\t\t\t\t\ti++;\n\t\t\t\t\tch = chNext;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t} else {\n                    styler.ColourTo(i, state);\n\t\t\t\t\tprevState = state;\n\t\t\t\t\tstate = SCE_MSSQL_DEFAULT_PREF_DATATYPE;\n\t\t\t\t\t//i++;\n                }\n                }\n\t\t} else if (state == SCE_MSSQL_COLUMN_NAME_2) {\n\t\t\tif (ch == ']') {\n                styler.ColourTo(i, state);\n\t\t\t\tprevState = state;\n                state = SCE_MSSQL_DEFAULT_PREF_DATATYPE;\n                //i++;\n\t\t\t}\n\t\t}\n\n\t\tchPrev = ch;\n\t}\n\tstyler.ColourTo(lengthDoc - 1, state);\n}\n\nstatic void FoldMSSQLDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tbool inComment = (styler.StyleAt(startPos-1) == SCE_MSSQL_COMMENT);\n    char s[10] = \"\";\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n        // Comment folding\n\t\tif (foldComment) {\n\t\t\tif (!inComment && (style == SCE_MSSQL_COMMENT))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (inComment && (style != SCE_MSSQL_COMMENT))\n\t\t\t\tlevelCurrent--;\n\t\t\tinComment = (style == SCE_MSSQL_COMMENT);\n\t\t}\n        if (style == SCE_MSSQL_STATEMENT) {\n            // Folding between begin or case and end\n            if (ch == 'b' || ch == 'B' || ch == 'c' || ch == 'C' || ch == 'e' || ch == 'E') {\n                for (Sci_PositionU j = 0; j < 5; j++) {\n\t\t\t\t\tif (!iswordchar(styler[i + j])) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ts[j] = static_cast<char>(tolower(styler[i + j]));\n\t\t\t\t\ts[j + 1] = '\\0';\n                }\n\t\t\t\tif ((strcmp(s, \"begin\") == 0) || (strcmp(s, \"case\") == 0)) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t}\n\t\t\t\tif (strcmp(s, \"end\") == 0) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n            }\n        }\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const sqlWordListDesc[] = {\n\t\"Statements\",\n    \"Data Types\",\n    \"System tables\",\n    \"Global variables\",\n    \"Functions\",\n    \"System Stored Procedures\",\n    \"Operators\",\n\t0,\n};\n\nLexerModule lmMSSQL(SCLEX_MSSQL, ColouriseMSSQLDoc, \"mssql\", FoldMSSQLDoc, sqlWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMagik.cpp",
    "content": "// Scintilla source code edit control\n/**\n * @file LexMagik.cxx\n * Lexer for GE(r) Smallworld(tm) MagikSF\n */\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n/**\n * Is it a core character (C isalpha(), exclamation and question mark)\n *\n * \\param  ch The character\n * \\return True if ch is a character, False otherwise\n */\nstatic inline bool IsAlphaCore(int ch) {\n    return (isalpha(ch) || ch == '!' || ch == '?');\n}\n\n/**\n * Is it a character (IsAlphaCore() and underscore)\n *\n * \\param  ch The character\n * \\return True if ch is a character, False otherwise\n */\nstatic inline bool IsAlpha(int ch) {\n    return (IsAlphaCore(ch) || ch == '_');\n}\n\n/**\n * Is it a symbolic character (IsAlpha() and colon)\n *\n * \\param  ch The character\n * \\return True if ch is a character, False otherwise\n */\nstatic inline bool IsAlphaSym(int ch) {\n    return (IsAlpha(ch) || ch == ':');\n}\n\n/**\n * Is it a numerical character (IsAlpha() and 0 - 9)\n *\n * \\param  ch The character\n * \\return True if ch is a character, False otherwise\n */\nstatic inline bool IsAlNum(int ch) {\n    return ((ch >= '0' && ch <= '9') || IsAlpha(ch));\n}\n\n/**\n * Is it a symbolic numerical character (IsAlNum() and colon)\n *\n * \\param  ch The character\n * \\return True if ch is a character, False otherwise\n */\nstatic inline bool IsAlNumSym(int ch) {\n    return (IsAlNum(ch) || ch == ':');\n}\n\n/**\n * The lexer function\n *\n * \\param  startPos Where to start scanning\n * \\param  length Where to scan to\n * \\param  initStyle The style at the initial point, not used in this folder\n * \\param  keywordslists The keywordslists, currently, number 5 is used\n * \\param  styler The styler\n */\nstatic void ColouriseMagikDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *keywordlists[], Accessor &styler) {\n    styler.StartAt(startPos);\n\n    WordList &keywords = *keywordlists[0];\n    WordList &pragmatics = *keywordlists[1];\n    WordList &containers = *keywordlists[2];\n    WordList &flow = *keywordlists[3];\n    WordList &characters = *keywordlists[4];\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\n\tfor (; sc.More(); sc.Forward()) {\n\n    repeat:\n\n        if(sc.ch == '#') {\n            if (sc.chNext == '#') sc.SetState(SCE_MAGIK_HYPER_COMMENT);\n            else sc.SetState(SCE_MAGIK_COMMENT);\n            for(; sc.More() && !(sc.atLineEnd); sc.Forward());\n            sc.SetState(SCE_MAGIK_DEFAULT);\n            goto repeat;\n        }\n\n        if(sc.ch == '\"') {\n            sc.SetState(SCE_MAGIK_STRING);\n\n            if(sc.More())\n            {\n                sc.Forward();\n                for(; sc.More() && sc.ch != '\"'; sc.Forward());\n            }\n\n            sc.ForwardSetState(SCE_MAGIK_DEFAULT);\n            goto repeat;\n        }\n\n\t    // The default state\n\t    if(sc.state == SCE_MAGIK_DEFAULT) {\n\n\t        // A certain keyword has been detected\n\t        if (sc.ch == '_' && (\n                    sc.currentPos == 0 || !IsAlNum(sc.chPrev))) {\n\t            char keyword[50];\n\t            memset(keyword, '\\0', 50);\n\n\t            for(\n                    int scanPosition = 0;\n                    scanPosition < 50;\n                    scanPosition++) {\n\t                char keywordChar = static_cast<char>(\n                        tolower(styler.SafeGetCharAt(\n                            scanPosition +\n                                static_cast<Sci_Position>(sc.currentPos+1), ' ')));\n                    if(IsAlpha(keywordChar)) {\n                        keyword[scanPosition] = keywordChar;\n                    } else {\n                        break;\n                    }\n\t            }\n\n                // It is a pragma\n\t            if(pragmatics.InList(keyword)) {\n\t                sc.SetState(SCE_MAGIK_PRAGMA);\n\t            }\n\n\t            // it is a normal keyword like _local, _self, etc.\n\t            else if(keywords.InList(keyword)) {\n\t                sc.SetState(SCE_MAGIK_KEYWORD);\n\t            }\n\n                // It is a container keyword, such as _method, _proc, etc.\n\t            else if(containers.InList(keyword)) {\n\t                sc.SetState(SCE_MAGIK_CONTAINER);\n\t            }\n\n\t            // It is a flow keyword, such as _for, _if, _try, etc.\n\t            else if(flow.InList(keyword)) {\n\t                sc.SetState(SCE_MAGIK_FLOW);\n\t            }\n\n\t            // Interpret as unknown keyword\n\t            else {\n\t                sc.SetState(SCE_MAGIK_UNKNOWN_KEYWORD);\n\t            }\n\t        }\n\n            // Symbolic expression\n\t        else if(sc.ch == ':' && !IsAlNum(sc.chPrev)) {\n\t            sc.SetState(SCE_MAGIK_SYMBOL);\n\t            bool firstTrip = true;\n\t            for(sc.Forward(); sc.More(); sc.Forward()) {\n\t                if(firstTrip && IsAlphaSym(sc.ch));\n\t                else if(!firstTrip && IsAlNumSym(sc.ch));\n\t                else if(sc.ch == '|') {\n\t                    for(sc.Forward();\n                            sc.More() && sc.ch != '|';\n                            sc.Forward());\n\t                }\n\t                else break;\n\n\t                firstTrip = false;\n\t            }\n\t            sc.SetState(SCE_MAGIK_DEFAULT);\n\t            goto repeat;\n\t        }\n\n            // Identifier (label) expression\n\t        else if(sc.ch == '@') {\n\t            sc.SetState(SCE_MAGIK_IDENTIFIER);\n\t            bool firstTrip = true;\n\t            for(sc.Forward(); sc.More(); sc.Forward()) {\n\t                if(firstTrip && IsAlphaCore(sc.ch)) {\n\t                    firstTrip = false;\n\t                }\n\t                else if(!firstTrip && IsAlpha(sc.ch));\n\t                else break;\n\t            }\n\t            sc.SetState(SCE_MAGIK_DEFAULT);\n\t            goto repeat;\n\t        }\n\n\t        // Start of a character\n            else if(sc.ch == '%') {\n                sc.SetState(SCE_MAGIK_CHARACTER);\n                sc.Forward();\n                char keyword[50];\n\t            memset(keyword, '\\0', 50);\n\n\t            for(\n                    int scanPosition = 0;\n                    scanPosition < 50;\n                    scanPosition++) {\n\t                char keywordChar = static_cast<char>(\n                        tolower(styler.SafeGetCharAt(\n                            scanPosition +\n                                static_cast<int>(sc.currentPos), ' ')));\n                    if(IsAlpha(keywordChar)) {\n                        keyword[scanPosition] = keywordChar;\n                    } else {\n                        break;\n                    }\n\t            }\n\n\t            if(characters.InList(keyword)) {\n\t                sc.Forward(static_cast<int>(strlen(keyword)));\n\t            } else {\n\t                sc.Forward();\n\t            }\n\n                sc.SetState(SCE_MAGIK_DEFAULT);\n                goto repeat;\n            }\n\n            // Operators\n\t        else if(\n                sc.ch == '>' ||\n                sc.ch == '<' ||\n                sc.ch == '.' ||\n                sc.ch == ',' ||\n                sc.ch == '+' ||\n                sc.ch == '-' ||\n                sc.ch == '/' ||\n                sc.ch == '*' ||\n                sc.ch == '~' ||\n                sc.ch == '$' ||\n                sc.ch == '=') {\n                sc.SetState(SCE_MAGIK_OPERATOR);\n            }\n\n            // Braces\n            else if(sc.ch == '(' || sc.ch == ')') {\n                sc.SetState(SCE_MAGIK_BRACE_BLOCK);\n            }\n\n            // Brackets\n            else if(sc.ch == '{' || sc.ch == '}') {\n                sc.SetState(SCE_MAGIK_BRACKET_BLOCK);\n            }\n\n            // Square Brackets\n            else if(sc.ch == '[' || sc.ch == ']') {\n                sc.SetState(SCE_MAGIK_SQBRACKET_BLOCK);\n            }\n\n\n\t    }\n\n\t    // It is an operator\n\t    else if(\n            sc.state == SCE_MAGIK_OPERATOR ||\n            sc.state == SCE_MAGIK_BRACE_BLOCK ||\n            sc.state == SCE_MAGIK_BRACKET_BLOCK ||\n            sc.state == SCE_MAGIK_SQBRACKET_BLOCK) {\n\t        sc.SetState(SCE_MAGIK_DEFAULT);\n\t        goto repeat;\n\t    }\n\n\t    // It is the pragma state\n\t    else if(sc.state == SCE_MAGIK_PRAGMA) {\n\t        if(!IsAlpha(sc.ch)) {\n\t            sc.SetState(SCE_MAGIK_DEFAULT);\n                goto repeat;\n\t        }\n\t    }\n\n\t    // It is the keyword state\n\t    else if(\n            sc.state == SCE_MAGIK_KEYWORD ||\n            sc.state == SCE_MAGIK_CONTAINER ||\n            sc.state == SCE_MAGIK_FLOW ||\n            sc.state == SCE_MAGIK_UNKNOWN_KEYWORD) {\n\t        if(!IsAlpha(sc.ch)) {\n\t            sc.SetState(SCE_MAGIK_DEFAULT);\n\t            goto repeat;\n\t        }\n\t    }\n\t}\n\n\tsc.Complete();\n}\n\n/**\n * The word list description\n */\nstatic const char * const magikWordListDesc[] = {\n    \"Accessors (local, global, self, super, thisthread)\",\n    \"Pragmatic (pragma, private)\",\n    \"Containers (method, block, proc)\",\n    \"Flow (if, then, elif, else)\",\n    \"Characters (space, tab, newline, return)\",\n    \"Fold Containers (method, proc, block, if, loop)\",\n    0};\n\n/**\n * This function detects keywords which are able to have a body. Note that it\n * uses the Fold Containers word description, not the containers description. It\n * only works when the style at that particular position is set on Containers\n * or Flow (number 3 or 4).\n *\n * \\param  keywordslist The list of keywords that are scanned, they should only\n *         contain the start keywords, not the end keywords\n * \\param  The actual keyword\n * \\return 1 if it is a folding start-keyword, -1 if it is a folding end-keyword\n *         0 otherwise\n */\nstatic inline int IsFoldingContainer(WordList &keywordslist, char * keyword) {\n    if(\n        strlen(keyword) > 3 &&\n        keyword[0] == 'e' && keyword[1] == 'n' && keyword[2] == 'd') {\n        if (keywordslist.InList(keyword + 3)) {\n            return -1;\n        }\n\n    } else {\n        if(keywordslist.InList(keyword)) {\n            return 1;\n        }\n    }\n\n    return 0;\n}\n\n/**\n * The folding function\n *\n * \\param  startPos Where to start scanning\n * \\param  length Where to scan to\n * \\param  keywordslists The keywordslists, currently, number 5 is used\n * \\param  styler The styler\n */\nstatic void FoldMagikDoc(Sci_PositionU startPos, Sci_Position length, int,\n    WordList *keywordslists[], Accessor &styler) {\n\n    bool compact = styler.GetPropertyInt(\"fold.compact\") != 0;\n\n    WordList &foldingElements = *keywordslists[5];\n    Sci_Position endPos = startPos + length;\n    Sci_Position line = styler.GetLine(startPos);\n    int level = styler.LevelAt(line) & SC_FOLDLEVELNUMBERMASK;\n    int flags = styler.LevelAt(line) & ~SC_FOLDLEVELNUMBERMASK;\n\n    for(\n        Sci_Position currentPos = startPos;\n        currentPos < endPos;\n        currentPos++) {\n            char currentState = styler.StyleAt(currentPos);\n            char c = styler.SafeGetCharAt(currentPos, ' ');\n            Sci_Position prevLine = styler.GetLine(currentPos - 1);\n            line = styler.GetLine(currentPos);\n\n            // Default situation\n            if(prevLine < line) {\n                styler.SetLevel(line, (level|flags) & ~SC_FOLDLEVELHEADERFLAG);\n                flags = styler.LevelAt(line) & ~SC_FOLDLEVELNUMBERMASK;\n            }\n\n            if(\n                (\n                    currentState == SCE_MAGIK_CONTAINER ||\n                    currentState == SCE_MAGIK_FLOW\n                ) &&\n                c == '_') {\n\n                char keyword[50];\n                memset(keyword, '\\0', 50);\n\n                for(\n                    int scanPosition = 0;\n                    scanPosition < 50;\n                    scanPosition++) {\n                    char keywordChar = static_cast<char>(\n                        tolower(styler.SafeGetCharAt(\n                            scanPosition +\n                                currentPos + 1, ' ')));\n                    if(IsAlpha(keywordChar)) {\n                        keyword[scanPosition] = keywordChar;\n                    } else {\n                        break;\n                    }\n                }\n\n                if(IsFoldingContainer(foldingElements, keyword) > 0) {\n                    styler.SetLevel(\n                        line,\n                        styler.LevelAt(line) | SC_FOLDLEVELHEADERFLAG);\n                    level++;\n                } else if(IsFoldingContainer(foldingElements, keyword) < 0) {\n                    styler.SetLevel(line, styler.LevelAt(line));\n                    level--;\n                }\n            }\n\n            if(\n                compact && (\n                    currentState == SCE_MAGIK_BRACE_BLOCK ||\n                    currentState == SCE_MAGIK_BRACKET_BLOCK ||\n                    currentState == SCE_MAGIK_SQBRACKET_BLOCK)) {\n                if(c == '{' || c == '[' || c == '(') {\n                    styler.SetLevel(\n                        line,\n                        styler.LevelAt(line) | SC_FOLDLEVELHEADERFLAG);\n                    level++;\n                } else if(c == '}' || c == ']' || c == ')') {\n                    styler.SetLevel(line, styler.LevelAt(line));\n                    level--;\n                }\n            }\n        }\n\n}\n\n/**\n * Injecting the module\n */\nLexerModule lmMagikSF(\n    SCLEX_MAGIK, ColouriseMagikDoc, \"magiksf\", FoldMagikDoc, magikWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMake.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexMake.cxx\n ** Lexer for make files.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') ||\n\t       ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\nstatic void ColouriseMakeLine(\n    char *lineBuffer,\n    Sci_PositionU lengthLine,\n    Sci_PositionU startLine,\n    Sci_PositionU endPos,\n    Accessor &styler) {\n\n\tSci_PositionU i = 0;\n\tSci_Position lastNonSpace = -1;\n\tunsigned int state = SCE_MAKE_DEFAULT;\n\tbool bSpecial = false;\n\n\t// check for a tab character in column 0 indicating a command\n\tbool bCommand = false;\n\tif ((lengthLine > 0) && (lineBuffer[0] == '\\t'))\n\t\tbCommand = true;\n\n\t// Skip initial spaces\n\twhile ((i < lengthLine) && isspacechar(lineBuffer[i])) {\n\t\ti++;\n\t}\n\tif (i < lengthLine) {\n\t\tif (lineBuffer[i] == '#') {\t// Comment\n\t\t\tstyler.ColourTo(endPos, SCE_MAKE_COMMENT);\n\t\t\treturn;\n\t\t}\n\t\tif (lineBuffer[i] == '!') {\t// Special directive\n\t\t\tstyler.ColourTo(endPos, SCE_MAKE_PREPROCESSOR);\n\t\t\treturn;\n\t\t}\n\t}\n\tint varCount = 0;\n\twhile (i < lengthLine) {\n\t\tif (((i + 1) < lengthLine) && (lineBuffer[i] == '$' && lineBuffer[i + 1] == '(')) {\n\t\t\tstyler.ColourTo(startLine + i - 1, state);\n\t\t\tstate = SCE_MAKE_IDENTIFIER;\n\t\t\tvarCount++;\n\t\t} else if (state == SCE_MAKE_IDENTIFIER && lineBuffer[i] == ')') {\n\t\t\tif (--varCount == 0) {\n\t\t\t\tstyler.ColourTo(startLine + i, state);\n\t\t\t\tstate = SCE_MAKE_DEFAULT;\n\t\t\t}\n\t\t}\n\n\t\t// skip identifier and target styling if this is a command line\n\t\tif (!bSpecial && !bCommand) {\n\t\t\tif (lineBuffer[i] == ':') {\n\t\t\t\tif (((i + 1) < lengthLine) && (lineBuffer[i + 1] == '=')) {\n\t\t\t\t\t// it's a ':=', so style as an identifier\n\t\t\t\t\tif (lastNonSpace >= 0)\n\t\t\t\t\t\tstyler.ColourTo(startLine + lastNonSpace, SCE_MAKE_IDENTIFIER);\n\t\t\t\t\tstyler.ColourTo(startLine + i - 1, SCE_MAKE_DEFAULT);\n\t\t\t\t\tstyler.ColourTo(startLine + i + 1, SCE_MAKE_OPERATOR);\n\t\t\t\t} else {\n\t\t\t\t\t// We should check that no colouring was made since the beginning of the line,\n\t\t\t\t\t// to avoid colouring stuff like /OUT:file\n\t\t\t\t\tif (lastNonSpace >= 0)\n\t\t\t\t\t\tstyler.ColourTo(startLine + lastNonSpace, SCE_MAKE_TARGET);\n\t\t\t\t\tstyler.ColourTo(startLine + i - 1, SCE_MAKE_DEFAULT);\n\t\t\t\t\tstyler.ColourTo(startLine + i, SCE_MAKE_OPERATOR);\n\t\t\t\t}\n\t\t\t\tbSpecial = true;\t// Only react to the first ':' of the line\n\t\t\t\tstate = SCE_MAKE_DEFAULT;\n\t\t\t} else if (lineBuffer[i] == '=') {\n\t\t\t\tif (lastNonSpace >= 0)\n\t\t\t\t\tstyler.ColourTo(startLine + lastNonSpace, SCE_MAKE_IDENTIFIER);\n\t\t\t\tstyler.ColourTo(startLine + i - 1, SCE_MAKE_DEFAULT);\n\t\t\t\tstyler.ColourTo(startLine + i, SCE_MAKE_OPERATOR);\n\t\t\t\tbSpecial = true;\t// Only react to the first '=' of the line\n\t\t\t\tstate = SCE_MAKE_DEFAULT;\n\t\t\t}\n\t\t}\n\t\tif (!isspacechar(lineBuffer[i])) {\n\t\t\tlastNonSpace = i;\n\t\t}\n\t\ti++;\n\t}\n\tif (state == SCE_MAKE_IDENTIFIER) {\n\t\tstyler.ColourTo(endPos, SCE_MAKE_IDEOL);\t// Error, variable reference not ended\n\t} else {\n\t\tstyler.ColourTo(endPos, SCE_MAKE_DEFAULT);\n\t}\n}\n\nstatic void ColouriseMakeDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tchar lineBuffer[1024];\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\tSci_PositionU startLine = startPos;\n\tfor (Sci_PositionU i = startPos; i < startPos + length; i++) {\n\t\tlineBuffer[linePos++] = styler[i];\n\t\tif (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n\t\t\t// End of line (or of line buffer) met, colourise it\n\t\t\tlineBuffer[linePos] = '\\0';\n\t\t\tColouriseMakeLine(lineBuffer, linePos, startLine, i, styler);\n\t\t\tlinePos = 0;\n\t\t\tstartLine = i + 1;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tColouriseMakeLine(lineBuffer, linePos, startLine, startPos + length - 1, styler);\n\t}\n}\n\nstatic const char *const emptyWordListDesc[] = {\n\t0\n};\n\nLexerModule lmMake(SCLEX_MAKEFILE, ColouriseMakeDoc, \"makefile\", 0, emptyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMarkdown.cpp",
    "content": "/******************************************************************\n *  LexMarkdown.cxx\n *\n *  A simple Markdown lexer for scintilla.\n *\n *  Includes highlighting for some extra features from the\n *  Pandoc implementation; strikeout, using '#.' as a default\n *  ordered list item marker, and delimited code blocks.\n *\n *  Limitations:\n *\n *  Standard indented code blocks are not highlighted at all,\n *  as it would conflict with other indentation schemes. Use\n *  delimited code blocks for blanket highlighting of an\n *  entire code block.  Embedded HTML is not highlighted either.\n *  Blanket HTML highlighting has issues, because some Markdown\n *  implementations allow Markdown markup inside of the HTML. Also,\n *  there is a following blank line issue that can't be ignored,\n *  explained in the next paragraph. Embedded HTML and code\n *  blocks would be better supported with language specific\n *  highlighting.\n *\n *  The highlighting aims to accurately reflect correct syntax,\n *  but a few restrictions are relaxed. Delimited code blocks are\n *  highlighted, even if the line following the code block is not blank.\n *  Requiring a blank line after a block, breaks the highlighting\n *  in certain cases, because of the way Scintilla ends up calling\n *  the lexer.\n *\n *  Written by Jon Strait - jstrait@moonloop.net\n *\n *  The License.txt file describes the conditions under which this\n *  software may be distributed.\n *\n *****************************************************************/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsNewline(const int ch) {\n    return (ch == '\\n' || ch == '\\r');\n}\n\n// True if can follow ch down to the end with possibly trailing whitespace\nstatic bool FollowToLineEnd(const int ch, const int state, const Sci_PositionU endPos, StyleContext &sc) {\n    Sci_PositionU i = 0;\n    while (sc.GetRelative(++i) == ch)\n        ;\n    // Skip over whitespace\n    while (IsASpaceOrTab(sc.GetRelative(i)) && sc.currentPos + i < endPos)\n        ++i;\n    if (IsNewline(sc.GetRelative(i)) || sc.currentPos + i == endPos) {\n        sc.Forward(i);\n        sc.ChangeState(state);\n        sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n        return true;\n    }\n    else return false;\n}\n\n// Set the state on text section from current to length characters,\n// then set the rest until the newline to default, except for any characters matching token\nstatic void SetStateAndZoom(const int state, const Sci_Position length, const int token, StyleContext &sc) {\n    sc.SetState(state);\n    sc.Forward(length);\n    sc.SetState(SCE_MARKDOWN_DEFAULT);\n    sc.Forward();\n    bool started = false;\n    while (sc.More() && !IsNewline(sc.ch)) {\n        if (sc.ch == token && !started) {\n            sc.SetState(state);\n            started = true;\n        }\n        else if (sc.ch != token) {\n            sc.SetState(SCE_MARKDOWN_DEFAULT);\n            started = false;\n        }\n        sc.Forward();\n    }\n    sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n}\n\n// Does the previous line have more than spaces and tabs?\nstatic bool HasPrevLineContent(StyleContext &sc) {\n    Sci_Position i = 0;\n    // Go back to the previous newline\n    while ((--i + (Sci_Position)sc.currentPos) >= 0 && !IsNewline(sc.GetRelative(i)))\n        ;\n    while ((--i + (Sci_Position)sc.currentPos) >= 0) {\n        if (IsNewline(sc.GetRelative(i)))\n            break;\n        if (!IsASpaceOrTab(sc.GetRelative(i)))\n            return true;\n    }\n    return false;\n}\n\nstatic bool AtTermStart(StyleContext &sc) {\n    return sc.currentPos == 0 || sc.chPrev == 0 || isspacechar(sc.chPrev);\n}\n\nstatic bool IsValidHrule(const Sci_PositionU endPos, StyleContext &sc) {\n    int count = 1;\n    Sci_PositionU i = 0;\n    for (;;) {\n        ++i;\n        int c = sc.GetRelative(i);\n        if (c == sc.ch)\n            ++count;\n        // hit a terminating character\n        else if (!IsASpaceOrTab(c) || sc.currentPos + i == endPos) {\n            // Are we a valid HRULE\n            if ((IsNewline(c) || sc.currentPos + i == endPos) &&\n                    count >= 3 && !HasPrevLineContent(sc)) {\n                sc.SetState(SCE_MARKDOWN_HRULE);\n                sc.Forward(i);\n                sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n                return true;\n            }\n            else {\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n\t\treturn false;\n            }\n        }\n    }\n}\n\nstatic void ColorizeMarkdownDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                               WordList **, Accessor &styler) {\n    Sci_PositionU endPos = startPos + length;\n    int precharCount = 0;\n    bool isLinkNameDetecting = false;\n    // Don't advance on a new loop iteration and retry at the same position.\n    // Useful in the corner case of having to start at the beginning file position\n    // in the default state.\n    bool freezeCursor = false;\n\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    while (sc.More()) {\n        // Skip past escaped characters\n        if (sc.ch == '\\\\') {\n            sc.Forward();\n            continue;\n        }\n\n        // A blockquotes resets the line semantics\n        if (sc.state == SCE_MARKDOWN_BLOCKQUOTE)\n            sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n\n        // Conditional state-based actions\n        if (sc.state == SCE_MARKDOWN_CODE2) {\n            if (sc.Match(\"``\") && sc.GetRelative(-2) != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_MARKDOWN_CODE) {\n            if (sc.ch == '`' && sc.chPrev != ' ')\n                sc.ForwardSetState(SCE_MARKDOWN_DEFAULT);\n        }\n        /* De-activated because it gets in the way of other valid indentation\n         * schemes, for example multiple paragraphs inside a list item.\n        // Code block\n        else if (sc.state == SCE_MARKDOWN_CODEBK) {\n            bool d = true;\n            if (IsNewline(sc.ch)) {\n                if (sc.chNext != '\\t') {\n                    for (int c = 1; c < 5; ++c) {\n                        if (sc.GetRelative(c) != ' ')\n                            d = false;\n                    }\n                }\n            }\n            else if (sc.atLineStart) {\n                if (sc.ch != '\\t' ) {\n                    for (int i = 0; i < 4; ++i) {\n                        if (sc.GetRelative(i) != ' ')\n                            d = false;\n                    }\n                }\n            }\n            if (!d)\n                sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n        }\n        */\n        // Strong\n        else if (sc.state == SCE_MARKDOWN_STRONG1) {\n            if (sc.Match(\"**\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_MARKDOWN_STRONG2) {\n            if (sc.Match(\"__\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n        }\n        // Emphasis\n        else if (sc.state == SCE_MARKDOWN_EM1) {\n            if (sc.ch == '*' && sc.chPrev != ' ')\n                sc.ForwardSetState(SCE_MARKDOWN_DEFAULT);\n        }\n        else if (sc.state == SCE_MARKDOWN_EM2) {\n            if (sc.ch == '_' && sc.chPrev != ' ')\n                sc.ForwardSetState(SCE_MARKDOWN_DEFAULT);\n        }\n        else if (sc.state == SCE_MARKDOWN_CODEBK) {\n            if (sc.atLineStart && sc.Match(\"~~~\")) {\n                Sci_Position i = 1;\n                while (!IsNewline(sc.GetRelative(i)) && sc.currentPos + i < endPos)\n                    i++;\n                sc.Forward(i);\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_MARKDOWN_STRIKEOUT) {\n            if (sc.Match(\"~~\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_MARKDOWN_LINE_BEGIN) {\n            // Header\n            if (sc.Match(\"######\"))\n                SetStateAndZoom(SCE_MARKDOWN_HEADER6, 6, '#', sc);\n            else if (sc.Match(\"#####\"))\n                SetStateAndZoom(SCE_MARKDOWN_HEADER5, 5, '#', sc);\n            else if (sc.Match(\"####\"))\n                SetStateAndZoom(SCE_MARKDOWN_HEADER4, 4, '#', sc);\n            else if (sc.Match(\"###\"))\n                SetStateAndZoom(SCE_MARKDOWN_HEADER3, 3, '#', sc);\n            else if (sc.Match(\"##\"))\n                SetStateAndZoom(SCE_MARKDOWN_HEADER2, 2, '#', sc);\n            else if (sc.Match(\"#\")) {\n                // Catch the special case of an unordered list\n                if (sc.chNext == '.' && IsASpaceOrTab(sc.GetRelative(2))) {\n                    precharCount = 0;\n                    sc.SetState(SCE_MARKDOWN_PRECHAR);\n                }\n                else\n                    SetStateAndZoom(SCE_MARKDOWN_HEADER1, 1, '#', sc);\n            }\n            // Code block\n            else if (sc.Match(\"~~~\")) {\n                if (!HasPrevLineContent(sc))\n                    sc.SetState(SCE_MARKDOWN_CODEBK);\n                else\n                    sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n            else if (sc.ch == '=') {\n                if (HasPrevLineContent(sc) && FollowToLineEnd('=', SCE_MARKDOWN_HEADER1, endPos, sc))\n                    ;\n                else\n                    sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n            else if (sc.ch == '-') {\n                if (HasPrevLineContent(sc) && FollowToLineEnd('-', SCE_MARKDOWN_HEADER2, endPos, sc))\n                    ;\n                else {\n                    precharCount = 0;\n                    sc.SetState(SCE_MARKDOWN_PRECHAR);\n                }\n            }\n            else if (IsNewline(sc.ch))\n                sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n            else {\n                precharCount = 0;\n                sc.SetState(SCE_MARKDOWN_PRECHAR);\n            }\n        }\n\n        // The header lasts until the newline\n        else if (sc.state == SCE_MARKDOWN_HEADER1 || sc.state == SCE_MARKDOWN_HEADER2 ||\n                sc.state == SCE_MARKDOWN_HEADER3 || sc.state == SCE_MARKDOWN_HEADER4 ||\n                sc.state == SCE_MARKDOWN_HEADER5 || sc.state == SCE_MARKDOWN_HEADER6) {\n            if (IsNewline(sc.ch))\n                sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n        }\n\n        // New state only within the initial whitespace\n        if (sc.state == SCE_MARKDOWN_PRECHAR) {\n            // Blockquote\n            if (sc.ch == '>' && precharCount < 5)\n                sc.SetState(SCE_MARKDOWN_BLOCKQUOTE);\n            /*\n            // Begin of code block\n            else if (!HasPrevLineContent(sc) && (sc.chPrev == '\\t' || precharCount >= 4))\n                sc.SetState(SCE_MARKDOWN_CODEBK);\n            */\n            // HRule - Total of three or more hyphens, asterisks, or underscores\n            // on a line by themselves\n            else if ((sc.ch == '-' || sc.ch == '*' || sc.ch == '_') && IsValidHrule(endPos, sc))\n                ;\n            // Unordered list\n            else if ((sc.ch == '-' || sc.ch == '*' || sc.ch == '+') && IsASpaceOrTab(sc.chNext)) {\n                sc.SetState(SCE_MARKDOWN_ULIST_ITEM);\n                sc.ForwardSetState(SCE_MARKDOWN_DEFAULT);\n            }\n            // Ordered list\n            else if (IsADigit(sc.ch)) {\n                int digitCount = 0;\n                while (IsADigit(sc.GetRelative(++digitCount)))\n                    ;\n                if (sc.GetRelative(digitCount) == '.' &&\n                        IsASpaceOrTab(sc.GetRelative(digitCount + 1))) {\n                    sc.SetState(SCE_MARKDOWN_OLIST_ITEM);\n                    sc.Forward(digitCount + 1);\n                    sc.SetState(SCE_MARKDOWN_DEFAULT);\n                }\n            }\n            // Alternate Ordered list\n            else if (sc.ch == '#' && sc.chNext == '.' && IsASpaceOrTab(sc.GetRelative(2))) {\n                sc.SetState(SCE_MARKDOWN_OLIST_ITEM);\n                sc.Forward(2);\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n            else if (sc.ch != ' ' || precharCount > 2)\n                sc.SetState(SCE_MARKDOWN_DEFAULT);\n            else\n                ++precharCount;\n        }\n\n        // Any link\n        if (sc.state == SCE_MARKDOWN_LINK) {\n            if (sc.Match(\"](\") && sc.GetRelative(-1) != '\\\\') {\n              sc.Forward(2);\n              isLinkNameDetecting = true;\n            }\n            else if (sc.Match(\"]:\") && sc.GetRelative(-1) != '\\\\') {\n              sc.Forward(2);\n              sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n            else if (!isLinkNameDetecting && sc.ch == ']' && sc.GetRelative(-1) != '\\\\') {\n              sc.Forward();\n              sc.SetState(SCE_MARKDOWN_DEFAULT);\n            }\n            else if (isLinkNameDetecting && sc.ch == ')' && sc.GetRelative(-1) != '\\\\') {\n              sc.Forward();\n              sc.SetState(SCE_MARKDOWN_DEFAULT);\n              isLinkNameDetecting = false;\n            }\n        }\n\n        // New state anywhere in doc\n        if (sc.state == SCE_MARKDOWN_DEFAULT) {\n            if (sc.atLineStart && sc.ch == '#') {\n                sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n                freezeCursor = true;\n            }\n            // Links and Images\n            if (sc.Match(\"![\")) {\n              sc.SetState(SCE_MARKDOWN_LINK);\n              sc.Forward(2);\n            }\n            else if (sc.ch == '[' && sc.GetRelative(-1) != '\\\\') {\n              sc.SetState(SCE_MARKDOWN_LINK);\n              sc.Forward();\n            }\n            // Code - also a special case for alternate inside spacing\n            else if (sc.Match(\"``\") && sc.GetRelative(3) != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_CODE2);\n                sc.Forward();\n            }\n            else if (sc.ch == '`' && sc.chNext != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_CODE);\n            }\n            // Strong\n            else if (sc.Match(\"**\") && sc.GetRelative(2) != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_STRONG1);\n                sc.Forward();\n           }\n            else if (sc.Match(\"__\") && sc.GetRelative(2) != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_STRONG2);\n                sc.Forward();\n            }\n            // Emphasis\n            else if (sc.ch == '*' && sc.chNext != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_EM1);\n            }\n            else if (sc.ch == '_' && sc.chNext != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_EM2);\n            }\n            // Strikeout\n            else if (sc.Match(\"~~\") && sc.GetRelative(2) != ' ' && AtTermStart(sc)) {\n                sc.SetState(SCE_MARKDOWN_STRIKEOUT);\n                sc.Forward();\n            }\n            // Beginning of line\n            else if (IsNewline(sc.ch)) {\n                sc.SetState(SCE_MARKDOWN_LINE_BEGIN);\n            }\n        }\n        // Advance if not holding back the cursor for this iteration.\n        if (!freezeCursor)\n            sc.Forward();\n        freezeCursor = false;\n    }\n    sc.Complete();\n}\n\nLexerModule lmMarkdown(SCLEX_MARKDOWN, ColorizeMarkdownDoc, \"markdown\");\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMatlab.cpp",
    "content": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file LexMatlab.cxx\n ** Lexer for Matlab.\n ** Written by José Fonseca\n **\n ** Changes by Christoph Dalitz 2003/12/04:\n **   - added support for Octave\n **   - Strings can now be included both in single or double quotes\n **\n ** Changes by John Donoghue 2012/04/02\n **   - added block comment (and nested block comments)\n **   - added ... displayed as a comment\n **   - removed unused IsAWord functions\n **   - added some comments\n **\n ** Changes by John Donoghue 2014/08/01\n **   - fix allowed transpose ' after {} operator\n **\n ** Changes by John Donoghue 2016/11/15\n **   - update matlab code folding\n **\n ** Changes by John Donoghue 2017/01/18\n **   - update matlab block comment detection\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic bool IsMatlabCommentChar(int c) {\n\treturn (c == '%') ;\n}\n\nstatic bool IsOctaveCommentChar(int c) {\n\treturn (c == '%' || c == '#') ;\n}\n\nstatic inline int LowerCase(int c) {\n\tif (c >= 'A' && c <= 'Z')\n\t\treturn 'a' + c - 'A';\n\treturn c;\n}\n\nstatic int CheckKeywordFoldPoint(char *str) {\n\tif (strcmp (\"if\", str) == 0 ||\n\t\tstrcmp (\"for\", str) == 0 ||\n\t\tstrcmp (\"switch\", str) == 0 ||\n\t\tstrcmp (\"while\", str) == 0 ||\n\t\tstrcmp (\"try\", str) == 0 ||\n\t\tstrcmp (\"do\", str) == 0 ||\n\t\tstrcmp (\"parfor\", str) == 0 ||\n\t\tstrcmp (\"function\", str) == 0)\n\t\treturn 1;\n\tif (strncmp(\"end\", str, 3) == 0 ||\n\t\tstrcmp(\"until\", str) == 0)\n\t\treturn -1;\n\treturn 0;\n}\n\nstatic bool IsSpaceToEOL(Sci_Position startPos, Accessor &styler) {\n\tSci_Position line = styler.GetLine(startPos);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = startPos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tif(!IsASpace(ch)) return false;\n\t}\n\treturn true;\n}\n\nstatic void ColouriseMatlabOctaveDoc(\n            Sci_PositionU startPos, Sci_Position length, int initStyle,\n            WordList *keywordlists[], Accessor &styler,\n            bool (*IsCommentChar)(int),\n            bool ismatlab) {\n\n\tWordList &keywords = *keywordlists[0];\n\n\tstyler.StartAt(startPos);\n\n\t// boolean for when the ' is allowed to be transpose vs the start/end\n\t// of a string\n\tbool transpose = false;\n\n\t// count of brackets as boolean for when end could be an operator not a keyword\n\tint allow_end_op = 0;\n\n\t// approximate position of first non space character in a line\n\tint nonSpaceColumn = -1;\n\t// approximate column position of the current character in a line\n\tint column = 0;\n\n        // use the line state of each line to store the block comment depth\n\tSci_Position curLine = styler.GetLine(startPos);\n        int commentDepth = curLine > 0 ? styler.GetLineState(curLine-1) : 0;\n\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward(), column++) {\n\n               \tif(sc.atLineStart) {\n\t\t\t// set the line state to the current commentDepth\n\t\t\tcurLine = styler.GetLine(sc.currentPos);\n                        styler.SetLineState(curLine, commentDepth);\n\n\t\t\t// reset the column to 0, nonSpace to -1 (not set)\n\t\t\tcolumn = 0;\n\t\t\tnonSpaceColumn = -1;\n\t\t}\n\n\t\t// save the column position of first non space character in a line\n\t\tif((nonSpaceColumn == -1) && (! IsASpace(sc.ch)))\n\t\t{\n\t\t\tnonSpaceColumn = column;\n\t\t}\n\n\t\t// check for end of states\n\t\tif (sc.state == SCE_MATLAB_OPERATOR) {\n\t\t\tif (sc.chPrev == '.') {\n\t\t\t\tif (sc.ch == '*' || sc.ch == '/' || sc.ch == '\\\\' || sc.ch == '^') {\n\t\t\t\t\tsc.ForwardSetState(SCE_MATLAB_DEFAULT);\n\t\t\t\t\ttranspose = false;\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_MATLAB_DEFAULT);\n\t\t\t\t\ttranspose = true;\n                                } else if(sc.ch == '.' && sc.chNext == '.') {\n                                        // we werent an operator, but a '...'\n                                        sc.ChangeState(SCE_MATLAB_COMMENT);\n                                        transpose = false;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MATLAB_KEYWORD) {\n\t\t\tif (!isalnum(sc.ch) && sc.ch != '_') {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tif (strcmp (\"end\", s) == 0 && allow_end_op) {\n\t\t\t\t\t\tsc.ChangeState(SCE_MATLAB_NUMBER);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t\t\ttranspose = false;\n\t\t\t\t} else {\n\t\t\t\t\tsc.ChangeState(SCE_MATLAB_IDENTIFIER);\n\t\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t\t\ttranspose = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_MATLAB_NUMBER) {\n\t\t\tif (!isdigit(sc.ch) && sc.ch != '.'\n\t\t\t        && !(sc.ch == 'e' || sc.ch == 'E')\n\t\t\t        && !((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E'))) {\n\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t\ttranspose = true;\n\t\t\t}\n\t\t} else if (sc.state == SCE_MATLAB_STRING) {\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\tif (sc.chNext == '\\'') {\n \t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_MATLAB_DEFAULT);\n \t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_MATLAB_DOUBLEQUOTESTRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_MATLAB_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_MATLAB_COMMAND) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t\ttranspose = false;\n\t\t\t}\n\t\t} else if (sc.state == SCE_MATLAB_COMMENT) {\n\t\t\t// end or start of a nested a block comment?\n\t\t\tif( IsCommentChar(sc.ch) && sc.chNext == '}' && nonSpaceColumn == column && IsSpaceToEOL(sc.currentPos+2, styler)) {\n                           \tif(commentDepth > 0) commentDepth --;\n\n\t\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\t\tstyler.SetLineState(curLine, commentDepth);\n\t\t\t\tsc.Forward();\n\n\t\t\t\tif (commentDepth == 0) {\n\t\t\t\t\tsc.ForwardSetState(SCE_D_DEFAULT);\n\t\t\t\t\ttranspose = false;\n\t\t\t\t}\n                        }\n                        else if( IsCommentChar(sc.ch) && sc.chNext == '{' && nonSpaceColumn == column && IsSpaceToEOL(sc.currentPos+2, styler))\n                        {\n \t\t\t\tcommentDepth ++;\n\n\t\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\t\tstyler.SetLineState(curLine, commentDepth);\n\t\t\t\tsc.Forward();\n\t\t\t\ttranspose = false;\n\n                        } else if(commentDepth == 0) {\n\t\t\t\t// single line comment\n\t\t\t\tif (sc.atLineEnd || sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\t\tsc.SetState(SCE_MATLAB_DEFAULT);\n\t\t\t\t\ttranspose = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// check start of a new state\n\t\tif (sc.state == SCE_MATLAB_DEFAULT) {\n\t\t\tif (IsCommentChar(sc.ch)) {\n\t\t\t\t// ncrement depth if we are a block comment\n\t\t\t\tif(sc.chNext == '{' && nonSpaceColumn == column) {\n\t\t\t\t\tif(IsSpaceToEOL(sc.currentPos+2, styler)) {\n\t\t\t\t\t\tcommentDepth ++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\t\tstyler.SetLineState(curLine, commentDepth);\n\t\t\t\tsc.SetState(SCE_MATLAB_COMMENT);\n\t\t\t} else if (sc.ch == '!' && sc.chNext != '=' ) {\n\t\t\t\tif(ismatlab) {\n\t\t\t\t\tsc.SetState(SCE_MATLAB_COMMAND);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_MATLAB_OPERATOR);\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tif (transpose) {\n\t\t\t\t\tsc.SetState(SCE_MATLAB_OPERATOR);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_MATLAB_STRING);\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\"') {\n\t\t\t\tsc.SetState(SCE_MATLAB_DOUBLEQUOTESTRING);\n\t\t\t} else if (isdigit(sc.ch) || (sc.ch == '.' && isdigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_MATLAB_NUMBER);\n\t\t\t} else if (isalpha(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_MATLAB_KEYWORD);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch)) || sc.ch == '@' || sc.ch == '\\\\') {\n\t\t\t\tif (sc.ch == '(' || sc.ch == '[' || sc.ch == '{') {\n\t\t\t\t\tallow_end_op ++;\n\t\t\t\t} else if ((sc.ch == ')' || sc.ch == ']' || sc.ch == '}') && (allow_end_op > 0)) {\n\t\t\t\t\tallow_end_op --;\n\t\t\t\t}\n\n\t\t\t\tif (sc.ch == ')' || sc.ch == ']' || sc.ch == '}') {\n\t\t\t\t\ttranspose = true;\n\t\t\t\t} else {\n\t\t\t\t\ttranspose = false;\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_MATLAB_OPERATOR);\n\t\t\t} else {\n\t\t\t\ttranspose = false;\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void ColouriseMatlabDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                               WordList *keywordlists[], Accessor &styler) {\n\tColouriseMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsMatlabCommentChar, true);\n}\n\nstatic void ColouriseOctaveDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                               WordList *keywordlists[], Accessor &styler) {\n\tColouriseMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsOctaveCommentChar, false);\n}\n\nstatic void FoldMatlabOctaveDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                                WordList *[], Accessor &styler,\n                                bool (*IsComment)(int ch)) {\n\n\tif (styler.GetPropertyInt(\"fold\") == 0)\n\t\treturn;\n\n\tconst bool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tconst bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tchar word[100];\n\tint wordlen = 0;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\t// a line that starts with a comment\n\t\tif (foldComment && style == SCE_MATLAB_COMMENT && IsComment(ch) && visibleChars == 0) {\n\t\t\t// start/end of block comment\n\t\t\tif (chNext == '{' && IsSpaceToEOL(i+2, styler))\n\t\t\t\tlevelNext ++;\n\t\t\tif (chNext == '}' && IsSpaceToEOL(i+2, styler))\n\t\t\t\tlevelNext --;\n\t\t}\n\t\t// keyword\n\t\tif(style == SCE_MATLAB_KEYWORD) {\n\t\t\tword[wordlen++] = static_cast<char>(LowerCase(ch));\n\t\t\tif (wordlen == 100) {  // prevent overflow\n\t\t\t\tword[0] = '\\0';\n\t\t\t\twordlen = 1;\n\t\t\t}\n\t\t\tif (styleNext !=  SCE_MATLAB_KEYWORD) {\n\t\t\t\tword[wordlen] = '\\0';\n\t\t\t\twordlen = 0;\n\n\t\t\t\tlevelNext += CheckKeywordFoldPoint(word);\n \t\t\t}\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tif (atEOL && (i == static_cast<Sci_PositionU>(styler.Length() - 1))) {\n\t\t\t\t// There is an empty line at end of file so give it same level and empty\n\t\t\t\tstyler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t}\n\t}\n}\n\nstatic void FoldMatlabDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                          WordList *keywordlists[], Accessor &styler) {\n\tFoldMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsMatlabCommentChar);\n}\n\nstatic void FoldOctaveDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                          WordList *keywordlists[], Accessor &styler) {\n\tFoldMatlabOctaveDoc(startPos, length, initStyle, keywordlists, styler, IsOctaveCommentChar);\n}\n\nstatic const char * const matlabWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nstatic const char * const octaveWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmMatlab(SCLEX_MATLAB, ColouriseMatlabDoc, \"matlab\", FoldMatlabDoc, matlabWordListDesc);\n\nLexerModule lmOctave(SCLEX_OCTAVE, ColouriseOctaveDoc, \"octave\", FoldOctaveDoc, octaveWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMaxima.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexMaxima.cxx\n ** Lexer for Maxima (http://maxima.sourceforge.net).\n ** Written by Gunter Königsmann based on the lisp lexer by Alexey Yutkin and Neil Hodgson .\n **/\n// Copyright 2018 by Gunter Königsmann <wxMaxima@physikbuch.de>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\nusing namespace Scintilla;\n\nstatic inline bool isMaximaoperator(char ch) {\n  return (ch == '\\'' || ch == '`' || ch == '(' ||\n\t  ch == ')'  || ch == '[' || ch == ']' ||\n\t  ch == '{'  || ch == '}' || ch == '!' ||\n\t  ch == '*'  || ch == '/' || ch == '^' ||\n\t  ch == ','  || ch == ':' || ch == '+' ||\n\t  ch == '-');\n}\n\nstatic void ColouriseMaximaDoc(Sci_PositionU startPos, Sci_Position length, int lastStyle,\n\t\t\t       WordList *[],\n\t\t\t       Accessor &styler) {\n\n  styler.StartAt(startPos);\n\n  Sci_PositionU lengthDoc = startPos + length;\n  styler.StartSegment(startPos);\n\n  Sci_PositionU i = startPos;\n\n  // If we are in the middle of a comment we go back to its start before highlighting\n  if(lastStyle == SCE_MAXIMA_COMMENT)\n    {\n      while((i>0) &&\n\t    !((styler.SafeGetCharAt(i+1) == '*') && (styler.SafeGetCharAt(i) == '/')))\n\ti--;\n    }\n\n  for (; i < lengthDoc; i++) {\n    char ch = styler.SafeGetCharAt(i);\n    char chNext = styler.SafeGetCharAt(i + 1);\n\n    if (styler.IsLeadByte(ch))\n      continue;\n\n    // Handle comments.\n    // Comments start with /* and end with */\n    if((ch == '/') && (chNext == '*'))\n      {\n\ti++;i++;\n\n\tchNext = styler.SafeGetCharAt(i);\n\tfor (; i < lengthDoc; i++)\n\t  {\n\t    ch = chNext;\n\t    chNext = styler.SafeGetCharAt(i + 1);\n\t    if((ch == '*') && (chNext == '/'))\n\t      {\n\t\ti++;\n\t\ti++;\n\t\tbreak;\n\t      }\n\t  }\n\tif(i > lengthDoc)\n\t  i = lengthDoc;\n\ti--;\n\tstyler.ColourTo(i, SCE_MAXIMA_COMMENT);\n\tcontinue;\n      }\n\n    // Handle Operators\n    if(isMaximaoperator(ch))\n      {\n\tstyler.ColourTo(i, SCE_MAXIMA_OPERATOR);\n\tcontinue;\n      }\n\n    // Handle command endings.\n    if((ch == '$') || (ch == ';'))\n      {\n\tstyler.ColourTo(i, SCE_MAXIMA_COMMANDENDING);\n\tcontinue;\n      }\n\n    // Handle numbers. Numbers always begin with a digit.\n    if(IsASCII(ch) && isdigit(ch))\n      {\n\ti++;\n\tfor (; i < lengthDoc; i++)\n\t  {\n\t    ch = chNext;\n\t    chNext = styler.SafeGetCharAt(i + 1);\n\n\t    if(ch == '.')\n\t      continue;\n\n\t    // A \"e\" or similar can be followed by a \"+\" or a \"-\"\n\t    if(((ch == 'e') || (ch == 'b') || (ch == 'g') || (ch == 'f')) &&\n\t       ((chNext == '+') || (chNext == '-')))\n\t      {\n\t\ti++;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tcontinue;\n\t      }\n\n\t    if(!IsASCII(ch) || !(isdigit(ch) || islower(ch) || isupper(ch)))\n\t      {\n\t\ti--;\n\t\tbreak;\n\t      }\n\t  }\n\tstyler.ColourTo(i, SCE_MAXIMA_NUMBER);\n\tcontinue;\n      }\n\n    // Handle strings\n    if(ch == '\\\"')\n      {\n\ti++;\n\tfor (; i < lengthDoc; i++)\n\t  {\n\t    ch = chNext;\n\t    chNext = styler.SafeGetCharAt(i + 1);\n\t    if(ch == '\\\\')\n\t      i++;\n\t    else\n\t      {\n\t\tif(ch == '\\\"')\n\t\t  break;\n\t      }\n\t  }\n\tstyler.ColourTo(i, SCE_MAXIMA_STRING);\n\tcontinue;\n      }\n\n    // Handle keywords. Maxima treats Non-ASCII chars as ordinary letters.\n    if(((!IsASCII(ch))) || isalpha(ch) || (ch == '_'))\n      {\n\tchar cmd[100];\n\tint cmdidx = 0;\n\tmemset(cmd,0,100);\n\tcmd[cmdidx++] = ch;\n\ti++;\n\tfor (; i < lengthDoc; i++)\n\t  {\n\t    ch = chNext;\n\t    chNext = styler.SafeGetCharAt(i + 1);\n\t    if(ch == '\\\\')\n\t      {\n\t\tif(cmdidx < 99)\n\t\t  cmd[cmdidx++] = ch;\n\t\ti++;\n\t\tif(cmdidx < 99)\n\t\t  cmd[cmdidx++] = ch;\n\t\tcontinue;\n\t      }\n\t    if(isMaximaoperator(ch) || ((IsASCII(ch) && !isalpha(ch) && !isdigit(ch) && (ch != '_'))))\n\t      {\n\t\ti--;\n\t\tbreak;\n\t      }\n\t    if(cmdidx < 99)\n\t      cmd[cmdidx++] = ch;\n\t  }\n\n\t// A few known keywords\n\tif(\n\t   (strncmp(cmd,\"if\",99) == 0) ||\n\t   (strncmp(cmd,\"then\",99) == 0) ||\n\t   (strncmp(cmd,\"else\",99) == 0) ||\n\t   (strncmp(cmd,\"thru\",99) == 0) ||\n\t   (strncmp(cmd,\"for\",99) == 0) ||\n\t   (strncmp(cmd,\"while\",99) == 0) ||\n\t   (strncmp(cmd,\"do\",99) == 0)\n\t   )\n\t  {\n\t    styler.ColourTo(i, SCE_MAXIMA_COMMAND);\n\t    continue;\n\t  }\n\n\t// All other keywords are functions if they are followed\n\t// by an opening parenthesis\n\tchar nextNonwhitespace = ' ';\n\tfor (Sci_PositionU o = i + 1; o < lengthDoc; o++)\n\t  {\n\t    nextNonwhitespace = styler.SafeGetCharAt(o);\n\t    if(!IsASCII(nextNonwhitespace) || !isspacechar(nextNonwhitespace))\n\t      break;\n\t  }\n\tif(nextNonwhitespace == '(')\n\t  {\n\t    styler.ColourTo(i, SCE_MAXIMA_COMMAND);\n\t  }\n\telse\n\t  {\n\t    styler.ColourTo(i, SCE_MAXIMA_VARIABLE);\n\t  }\n\tcontinue;\n      }\n\n    styler.ColourTo(i-1, SCE_MAXIMA_UNKNOWN);\n  }\n}\n\nLexerModule lmMaxima(SCLEX_MAXIMA, ColouriseMaximaDoc, \"maxima\", 0, 0);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMetapost.cpp",
    "content": "// Scintilla source code edit control\n\n// File: LexMetapost.cxx - general context conformant metapost coloring scheme\n// Author: Hans Hagen - PRAGMA ADE - Hasselt NL - www.pragma-ade.com\n// Version: September 28, 2003\n// Modified by instanton: July 10, 2007\n// Folding based on keywordlists[]\n\n// Copyright: 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// This lexer is derived from the one written for the texwork environment (1999++) which in\n// turn is inspired on texedit (1991++) which finds its roots in wdt (1986).\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// val SCE_METAPOST_DEFAULT = 0\n// val SCE_METAPOST_SPECIAL = 1\n// val SCE_METAPOST_GROUP = 2\n// val SCE_METAPOST_SYMBOL = 3\n// val SCE_METAPOST_COMMAND = 4\n// val SCE_METAPOST_TEXT = 5\n\n// Definitions in SciTEGlobal.properties:\n//\n// Metapost Highlighting\n//\n// # Default\n// style.metapost.0=fore:#7F7F00\n// # Special\n// style.metapost.1=fore:#007F7F\n// # Group\n// style.metapost.2=fore:#880000\n// # Symbol\n// style.metapost.3=fore:#7F7F00\n// # Command\n// style.metapost.4=fore:#008800\n// # Text\n// style.metapost.5=fore:#000000\n\n// lexer.tex.comment.process=0\n\n// Auxiliary functions:\n\nstatic inline bool endOfLine(Accessor &styler, Sci_PositionU i) {\n\treturn\n      (styler[i] == '\\n') || ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n')) ;\n}\n\nstatic inline bool isMETAPOSTcomment(int ch) {\n\treturn\n      (ch == '%') ;\n}\n\nstatic inline bool isMETAPOSTone(int ch) {\n\treturn\n      (ch == '[') || (ch == ']') || (ch == '(') || (ch == ')') ||\n      (ch == ':') || (ch == '=') || (ch == '<') || (ch == '>') ||\n      (ch == '{') || (ch == '}') || (ch == '\\'') || (ch == '\\\"') ;\n}\n\nstatic inline bool isMETAPOSTtwo(int ch) {\n\treturn\n      (ch == ';') || (ch == '$') || (ch == '@') || (ch == '#');\n}\n\nstatic inline bool isMETAPOSTthree(int ch) {\n\treturn\n      (ch == '.') || (ch == '-') || (ch == '+') || (ch == '/') ||\n      (ch == '*') || (ch == ',') || (ch == '|') || (ch == '`') ||\n      (ch == '!') || (ch == '?') || (ch == '^') || (ch == '&') ||\n      (ch == '%') ;\n}\n\nstatic inline bool isMETAPOSTidentifier(int ch) {\n\treturn\n      ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) ||\n      (ch == '_') ;\n}\n\nstatic inline bool isMETAPOSTnumber(int ch) {\n\treturn\n      (ch >= '0') && (ch <= '9') ;\n}\n\nstatic inline bool isMETAPOSTstring(int ch) {\n\treturn\n      (ch == '\\\"') ;\n}\n\nstatic inline bool isMETAPOSTcolon(int ch) {\n\treturn\n\t\t(ch == ':') ;\n}\n\nstatic inline bool isMETAPOSTequal(int ch) {\n\treturn\n\t\t(ch == '=') ;\n}\n\nstatic int CheckMETAPOSTInterface(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    Accessor &styler,\n\tint defaultInterface) {\n\n    char lineBuffer[1024] ;\n\tSci_PositionU linePos = 0 ;\n\n\t// some day we can make something lexer.metapost.mapping=(none,0)(metapost,1)(mp,1)(metafun,2)...\n\n    if (styler.SafeGetCharAt(0) == '%') {\n        for (Sci_PositionU i = 0; i < startPos + length; i++) {\n            lineBuffer[linePos++] = styler.SafeGetCharAt(i) ;\n            if (endOfLine(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n                lineBuffer[linePos] = '\\0';\n\t\t\t\tif (strstr(lineBuffer, \"interface=none\")) {\n                    return 0 ;\n\t\t\t\t} else if (strstr(lineBuffer, \"interface=metapost\") || strstr(lineBuffer, \"interface=mp\")) {\n                    return 1 ;\n\t\t\t\t} else if (strstr(lineBuffer, \"interface=metafun\")) {\n                    return 2 ;\n\t\t\t\t} else if (styler.SafeGetCharAt(1) == 'D' && strstr(lineBuffer, \"%D \\\\module\")) {\n\t\t\t\t\t// better would be to limit the search to just one line\n\t\t\t\t\treturn 2 ;\n                } else {\n                    return defaultInterface ;\n                }\n            }\n\t\t}\n    }\n\n    return defaultInterface ;\n}\n\nstatic void ColouriseMETAPOSTDoc(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int,\n    WordList *keywordlists[],\n    Accessor &styler) {\n\n\tstyler.StartAt(startPos) ;\n\tstyler.StartSegment(startPos) ;\n\n\tbool processComment   = styler.GetPropertyInt(\"lexer.metapost.comment.process\",   0) == 1 ;\n    int  defaultInterface = styler.GetPropertyInt(\"lexer.metapost.interface.default\", 1) ;\n\n\tint currentInterface = CheckMETAPOSTInterface(startPos,length,styler,defaultInterface) ;\n\n\t// 0  no keyword highlighting\n\t// 1  metapost keyword hightlighting\n\t// 2+ metafun keyword hightlighting\n\n\tint extraInterface = 0 ;\n\n\tif (currentInterface != 0) {\n\t\textraInterface = currentInterface ;\n\t}\n\telse {\n\t\textraInterface = 1;\n\t}\n\n\tWordList &keywords  = *keywordlists[0] ;\n\tWordList &keywords2 = *keywordlists[extraInterface-1] ;\n\n\tStyleContext sc(startPos, length, SCE_METAPOST_TEXT, styler) ;\n\n\tchar key[100] ;\n\n    bool inTeX     = false ;\n\tbool inComment = false ;\n\tbool inString  = false ;\n\tbool inClause  = false ;\n\n\tbool going = sc.More() ; // needed because of a fuzzy end of file state\n\n\tfor (; going; sc.Forward()) {\n\n\t\tif (! sc.More()) { going = false ; } // we need to go one behind the end of text\n\n\t\tif (inClause) {\n\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\tinClause = false ;\n\t\t}\n\n\t\tif (inComment) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\tinTeX = false ;\n\t\t\t\tinComment = false ;\n\t\t\t\tinClause = false ;\n\t\t\t\tinString = false ; // not correct but we want to stimulate one-lines\n\t\t\t}\n\t\t} else if (inString) {\n\t\t\tif (isMETAPOSTstring(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_METAPOST_SPECIAL) ;\n\t\t\t\tsc.ForwardSetState(SCE_METAPOST_TEXT) ;\n\t\t\t\tinString = false ;\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\tinTeX = false ;\n\t\t\t\tinComment = false ;\n\t\t\t\tinClause = false ;\n\t\t\t\tinString = false ; // not correct but we want to stimulate one-lines\n\t\t\t}\n\t\t} else {\n\t\t\tif ((! isMETAPOSTidentifier(sc.ch)) && (sc.LengthCurrent() > 0)) {\n\t\t\t\tif (sc.state == SCE_METAPOST_COMMAND) {\n\t\t\t\t\tsc.GetCurrent(key, sizeof(key)) ;\n\t\t\t\t\tif ((strcmp(key,\"btex\") == 0) || (strcmp(key,\"verbatimtex\") == 0)) {\n    \t\t\t\t\tsc.ChangeState(SCE_METAPOST_GROUP) ;\n\t\t\t\t\t\tinTeX = true ;\n\t\t\t\t\t} else if (inTeX) {\n\t\t\t\t\t\tif (strcmp(key,\"etex\") == 0) {\n\t    \t\t\t\t\tsc.ChangeState(SCE_METAPOST_GROUP) ;\n\t\t\t\t\t\t\tinTeX = false ;\n\t\t\t\t\t\t} else {\n\t    \t\t\t\t\tsc.ChangeState(SCE_METAPOST_TEXT) ;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (keywords && keywords.InList(key)) {\n    \t\t\t\t\t\tsc.ChangeState(SCE_METAPOST_COMMAND) ;\n\t\t\t\t\t\t} else if (keywords2 && keywords2.InList(key)) {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_METAPOST_EXTRA) ;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_METAPOST_TEXT) ;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMETAPOSTcomment(sc.ch)) {\n\t\t\t\tif (! inTeX) {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_SYMBOL) ;\n\t\t\t\t\tsc.ForwardSetState(SCE_METAPOST_DEFAULT) ;\n\t\t\t\t\tinComment = ! processComment ;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTstring(sc.ch)) {\n\t\t\t\tif (! inTeX) {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_SPECIAL) ;\n\t\t\t\t\tif (! isMETAPOSTstring(sc.chNext)) {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t\t}\n\t\t\t\t\tinString = true ;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTcolon(sc.ch)) {\n\t\t\t\tif (! inTeX) {\n\t\t\t\t\tif (! isMETAPOSTequal(sc.chNext)) {\n\t\t\t\t\t\tsc.SetState(SCE_METAPOST_COMMAND) ;\n\t\t\t\t\t\tinClause = true ;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_METAPOST_SPECIAL) ;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTone(sc.ch)) {\n\t\t\t\tif (! inTeX) {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_SPECIAL) ;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTtwo(sc.ch)) {\n\t\t\t\tif (! inTeX) {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_GROUP) ;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTthree(sc.ch)) {\n\t\t\t\tif (! inTeX) {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_SYMBOL) ;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTidentifier(sc.ch)) {\n\t\t\t\tif (sc.state != SCE_METAPOST_COMMAND) {\n\t\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\t\tsc.ChangeState(SCE_METAPOST_COMMAND) ;\n\t\t\t\t}\n\t\t\t} else if (isMETAPOSTnumber(sc.ch)) {\n\t\t\t\t// rather redundant since for the moment we don't handle numbers\n\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t\tinTeX = false ;\n\t\t\t\tinComment = false ;\n\t\t\t\tinClause = false ;\n\t\t\t\tinString = false ;\n\t\t\t} else {\n\t\t\t\tsc.SetState(SCE_METAPOST_TEXT) ;\n\t\t\t}\n\t\t}\n\n\t}\n\n\tsc.Complete();\n\n}\n\n// Hooks info the system:\n\nstatic const char * const metapostWordListDesc[] = {\n\t\"MetaPost\",\n\t\"MetaFun\",\n\t0\n} ;\n\nstatic int classifyFoldPointMetapost(const char* s,WordList *keywordlists[]) {\n\tWordList& keywordsStart=*keywordlists[3];\n\tWordList& keywordsStop1=*keywordlists[4];\n\n\tif (keywordsStart.InList(s)) {return 1;}\n\telse if (keywordsStop1.InList(s)) {return -1;}\n\treturn 0;\n\n}\n\nstatic int ParseMetapostWord(Sci_PositionU pos, Accessor &styler, char *word)\n{\n  int length=0;\n  char ch=styler.SafeGetCharAt(pos);\n  *word=0;\n\n  while(isMETAPOSTidentifier(ch) && isalpha(ch) && length<100){\n          word[length]=ch;\n          length++;\n          ch=styler.SafeGetCharAt(pos+length);\n  }\n  word[length]=0;\n  return length;\n}\n\nstatic void FoldMetapostDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordlists[], Accessor &styler)\n{\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos+length;\n\tint visibleChars=0;\n\tSci_Position lineCurrent=styler.GetLine(startPos);\n\tint levelPrev=styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent=levelPrev;\n\tchar chNext=styler[startPos];\n\n\tchar buffer[100]=\"\";\n\n\tfor (Sci_PositionU i=startPos; i < endPos; i++) {\n\t\tchar ch=chNext;\n\t\tchNext=styler.SafeGetCharAt(i+1);\n\t\tchar chPrev=styler.SafeGetCharAt(i-1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif(i==0 || chPrev == '\\r' || chPrev=='\\n'|| chPrev==' '|| chPrev=='(' || chPrev=='$')\n\t\t{\n            ParseMetapostWord(i, styler, buffer);\n\t\t\tlevelCurrent += classifyFoldPointMetapost(buffer,keywordlists);\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n\n}\n\n\nLexerModule lmMETAPOST(SCLEX_METAPOST, ColouriseMETAPOSTDoc, \"metapost\", FoldMetapostDoc, metapostWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexModula.cpp",
    "content": "//\t-*- coding: utf-8 -*-\n//\tScintilla source code edit control\n/**\n *\t@file LexModula.cxx\n *\t@author Dariusz \"DKnoto\" Knociński\n *\t@date 2011/02/03\n *\t@brief Lexer for Modula-2/3 documents.\n */\n//\tThe License.txt file describes the conditions under which this software may\n//\tbe distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n#ifdef DEBUG_LEX_MODULA\n#define DEBUG_STATE( p, c )\\\n\t\tfprintf( stderr, \"Unknown state: currentPos = %u, char = '%c'\\n\", static_cast<unsigned int>(p), c );\n#else\n#define DEBUG_STATE( p, c )\n#endif\n\nstatic inline bool IsDigitOfBase( unsigned ch, unsigned base ) {\n\tif( ch < '0' || ch > 'f' ) return false;\n\tif( base <= 10 ) {\n\t\tif( ch >= ( '0' + base ) ) return false;\n\t} else {\n\t\tif( ch > '9' ) {\n\t\t\tunsigned nb = base - 10;\n\t\t\tif( ( ch < 'A' ) || ( ch >= ( 'A' + nb ) ) ) {\n\t\t\t\tif( ( ch < 'a' ) || ( ch >= ( 'a' + nb ) ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nstatic inline unsigned IsOperator( StyleContext & sc, WordList & op ) {\n\tint i;\n\tchar s[3];\n\n\ts[0] = sc.ch;\n\ts[1] = sc.chNext;\n\ts[2] = 0;\n\tfor( i = 0; i < op.Length(); i++ ) {\n\t\tif( ( strlen( op.WordAt(i) ) == 2 ) &&\n\t\t\t( s[0] == op.WordAt(i)[0] && s[1] == op.WordAt(i)[1] ) ) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\ts[1] = 0;\n\tfor( i = 0; i < op.Length(); i++ ) {\n\t\tif( ( strlen( op.WordAt(i) ) == 1 ) &&\n\t\t\t( s[0] == op.WordAt(i)[0] ) ) {\n\t\t\treturn 1;\n\t\t}\n\t}\n\treturn 0;\n}\n\nstatic inline bool IsEOL( Accessor &styler, Sci_PositionU curPos ) {\n\tunsigned ch = styler.SafeGetCharAt( curPos );\n\tif( ( ch == '\\r' && styler.SafeGetCharAt( curPos + 1 ) == '\\n' ) ||\n\t\t( ch == '\\n' ) ) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nstatic inline bool checkStatement(\n\tAccessor &styler,\n\tSci_Position &curPos,\n\tconst char *stt, bool spaceAfter = true ) {\n\tint len = static_cast<int>(strlen( stt ));\n\tint i;\n\tfor( i = 0; i < len; i++ ) {\n\t\tif( styler.SafeGetCharAt( curPos + i ) != stt[i] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif( spaceAfter ) {\n\t\tif( ! isspace( styler.SafeGetCharAt( curPos + i ) ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tcurPos += ( len - 1 );\n\treturn true;\n}\n\nstatic inline bool checkEndSemicolon(\n\tAccessor &styler,\n\tSci_Position &curPos, Sci_Position endPos )\n{\n\tconst char *stt = \"END\";\n\tint len = static_cast<int>(strlen( stt ));\n\tint i;\n\tfor( i = 0; i < len; i++ ) {\n\t\tif( styler.SafeGetCharAt( curPos + i ) != stt[i] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\twhile( isspace( styler.SafeGetCharAt( curPos + i ) ) ) {\n\t\ti++;\n\t\tif( ( curPos + i ) >= endPos ) return false;\n\t}\n\tif( styler.SafeGetCharAt( curPos + i ) != ';' ) {\n\t\treturn false;\n\t}\n\tcurPos += ( i - 1 );\n\treturn true;\n}\n\nstatic inline bool checkKeyIdentOper(\n\n\tAccessor &styler,\n\tSci_Position &curPos, Sci_Position endPos,\n\tconst char *stt, const char etk ) {\n\tSci_Position newPos = curPos;\n\tif( ! checkStatement( styler, newPos, stt ) )\n\t\treturn false;\n\tnewPos++;\n\tif( newPos >= endPos )\n\t\treturn false;\n\tif( ! isspace( styler.SafeGetCharAt( newPos ) ) )\n\t\treturn false;\n\tnewPos++;\n\tif( newPos >= endPos )\n\t\treturn false;\n\twhile( isspace( styler.SafeGetCharAt( newPos ) ) ) {\n\t\tnewPos++;\n\t\tif( newPos >= endPos )\n\t\t\treturn false;\n\t}\n\tif( ! isalpha( styler.SafeGetCharAt( newPos ) ) )\n\t\treturn false;\n\tnewPos++;\n\tif( newPos >= endPos )\n\t\treturn false;\n\tchar ch;\n\tch = styler.SafeGetCharAt( newPos );\n\twhile( isalpha( ch ) || isdigit( ch ) || ch == '_' ) {\n\t\tnewPos++;\n\t\tif( newPos >= endPos ) return false;\n\t\tch = styler.SafeGetCharAt( newPos );\n\t}\n\twhile( isspace( styler.SafeGetCharAt( newPos ) ) ) {\n\t\tnewPos++;\n\t\tif( newPos >= endPos ) return false;\n\t}\n\tif( styler.SafeGetCharAt( newPos ) != etk )\n\t\treturn false;\n\tcurPos = newPos;\n\treturn true;\n}\n\nstatic void FoldModulaDoc( Sci_PositionU startPos,\n\t\t\t\t\t\t Sci_Position length,\n\t\t\t\t\t\t int , WordList *[],\n\t\t\t\t\t\t Accessor &styler)\n{\n\tSci_Position curLine = styler.GetLine(startPos);\n\tint curLevel = SC_FOLDLEVELBASE;\n\tSci_Position endPos = startPos + length;\n\tif( curLine > 0 )\n\t\tcurLevel = styler.LevelAt( curLine - 1 ) >> 16;\n\tSci_Position curPos = startPos;\n\tint style = styler.StyleAt( curPos );\n\tint visChars = 0;\n\tint nextLevel = curLevel;\n\n\twhile( curPos < endPos ) {\n\t\tif( ! isspace( styler.SafeGetCharAt( curPos ) ) ) visChars++;\n\n\t\tswitch( style ) {\n\t\tcase SCE_MODULA_COMMENT:\n\t\t\tif( checkStatement( styler, curPos, \"(*\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"*)\" ) )\n\t\t\t\tnextLevel--;\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_DOXYCOMM:\n\t\t\tif( checkStatement( styler, curPos, \"(**\", false ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"*)\" ) )\n\t\t\t\tnextLevel--;\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_KEYWORD:\n\t\t\tif( checkStatement( styler, curPos, \"IF\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"BEGIN\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"TRY\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"LOOP\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"FOR\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"WHILE\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"REPEAT\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"UNTIL\" ) )\n\t\t\t\tnextLevel--;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"WITH\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"CASE\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"TYPECASE\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkStatement( styler, curPos, \"LOCK\" ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkKeyIdentOper( styler, curPos, endPos, \"PROCEDURE\", '(' ) )\n\t\t\t\tnextLevel++;\n\t\t\telse\n\t\t\tif( checkKeyIdentOper( styler, curPos, endPos, \"END\", ';' ) ) {\n\t\t\t\tSci_Position cln = curLine;\n\t\t\t\tint clv_old = curLevel;\n\t\t\t\tSci_Position pos;\n\t\t\t\tchar ch;\n\t\t\t\tint clv_new;\n\t\t\t\twhile( cln > 0 ) {\n\t\t\t\t\tclv_new = styler.LevelAt( cln - 1 ) >> 16;\n\t\t\t\t\tif( clv_new < clv_old ) {\n\t\t\t\t\t\tnextLevel--;\n\t\t\t\t\t\tpos = styler.LineStart( cln );\n\t\t\t\t\t\twhile( ( ch = styler.SafeGetCharAt( pos ) ) != '\\n' ) {\n\t\t\t\t\t\t\tif( ch == 'P' ) {\n\t\t\t\t\t\t\t\tif( styler.StyleAt(pos) == SCE_MODULA_KEYWORD )\t{\n\t\t\t\t\t\t\t\t\tif( checkKeyIdentOper( styler, pos, endPos,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"PROCEDURE\", '(' ) ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpos++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclv_old = clv_new;\n\t\t\t\t\t}\n\t\t\t\t\tcln--;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\tif( checkKeyIdentOper( styler, curPos, endPos, \"END\", '.' ) )\n\t\t\t\tnextLevel--;\n\t\t\telse\n\t\t\tif( checkEndSemicolon( styler, curPos, endPos ) )\n\t\t\t\tnextLevel--;\n\t\t\telse {\n\t\t\t\twhile( styler.StyleAt( curPos + 1 ) == SCE_MODULA_KEYWORD )\n\t\t\t\t\tcurPos++;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\n\t\tif( IsEOL( styler, curPos ) || ( curPos == endPos - 1 ) ) {\n\t\t\tint efectiveLevel = curLevel | nextLevel << 16;\n\t\t\tif( visChars == 0 )\n\t\t\t\tefectiveLevel |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif( curLevel < nextLevel )\n\t\t\t\tefectiveLevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif( efectiveLevel != styler.LevelAt(curLine) ) {\n\t\t\t\tstyler.SetLevel(curLine, efectiveLevel );\n\t\t\t}\n\t\t\tcurLine++;\n\t\t\tcurLevel = nextLevel;\n\t\t\tif( IsEOL( styler, curPos ) && ( curPos == endPos - 1 ) ) {\n\t\t\t\tstyler.SetLevel( curLine, ( curLevel | curLevel << 16)\n\t\t\t\t\t\t\t\t| SC_FOLDLEVELWHITEFLAG);\n\t\t\t}\n\t\t\tvisChars = 0;\n\t\t}\n\t\tcurPos++;\n\t\tstyle = styler.StyleAt( curPos );\n\t}\n}\n\nstatic inline bool skipWhiteSpaces( StyleContext & sc ) {\n\twhile( isspace( sc.ch ) ) {\n\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\tif( sc.More() )\n\t\t\tsc.Forward();\n\t\telse\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nstatic void ColouriseModulaDoc(\tSci_PositionU startPos,\n\t\t\t\t\t\t\t\t\tSci_Position length,\n\t\t\t\t\t\t\t\t\tint initStyle,\n\t\t\t\t\t\t\t\t\tWordList *wl[],\n\t\t\t\t\t\t\t\t\tAccessor &styler ) {\n\tWordList& keyWords\t\t= *wl[0];\n\tWordList& reservedWords\t= *wl[1];\n\tWordList& operators \t= *wl[2];\n\tWordList& pragmaWords \t= *wl[3];\n\tWordList& escapeCodes\t= *wl[4];\n\tWordList& doxyKeys\t\t= *wl[5];\n\n\tconst int BUFLEN = 128;\n\n\tchar\tbuf[BUFLEN];\n\tint\t\ti, kl;\n\n\tSci_Position  charPos = 0;\n\n\tStyleContext sc( startPos, length, initStyle, styler );\n\n\twhile( sc.More() ) \t{\n\t\tswitch( sc.state )\t{\n\t\tcase SCE_MODULA_DEFAULT:\n\t\t\tif( ! skipWhiteSpaces( sc ) ) break;\n\n\t\t\tif( sc.ch == '(' && sc.chNext == '*' ) {\n\t\t\t\tif( sc.GetRelative(2) == '*' ) {\n\t\t\t\t\tsc.SetState( SCE_MODULA_DOXYCOMM );\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState( SCE_MODULA_COMMENT );\n\t\t\t\t}\n\t\t\t\tsc.Forward();\n\t\t\t}\n\t\t\telse\n\t\t\tif( isalpha( sc.ch ) ) {\n\t\t\t\tif( isupper( sc.ch ) && isupper( sc.chNext ) ) {\n\t\t\t\t\tfor( i = 0; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\t\tbuf[i] = sc.GetRelative(i);\n\t\t\t\t\t\tif( !isalpha( buf[i] ) && !(buf[i] == '_') )\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tkl = i;\n\t\t\t\t\tbuf[kl] = 0;\n\n\t\t\t\t\tif( keyWords.InList( buf ) ) {\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_KEYWORD );\n\t\t\t\t\t\tsc.Forward( kl );\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\tif( reservedWords.InList( buf ) ) {\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_RESERVED );\n\t\t\t\t\t\tsc.Forward( kl );\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t/** check procedure identifier */\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor( i = 0; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\t\tbuf[i] = sc.GetRelative(i);\n\t\t\t\t\t\tif( !isalpha( buf[i] ) &&\n\t\t\t\t\t\t\t!isdigit( buf[i] ) &&\n\t\t\t\t\t\t\t!(buf[i] == '_') )\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tkl = i;\n\t\t\t\t\tbuf[kl] = 0;\n\n\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\tsc.Forward( kl );\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\tif( isdigit( sc.ch ) ) {\n\t\t\t\tsc.SetState( SCE_MODULA_NUMBER );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse\n\t\t\tif( sc.ch == '\\\"' ) {\n\t\t\t\tsc.SetState( SCE_MODULA_STRING );\n\t\t\t}\n\t\t\telse\n\t\t\tif( sc.ch == '\\'' ) {\n\t\t\t\tcharPos = sc.currentPos;\n\t\t\t\tsc.SetState( SCE_MODULA_CHAR );\n\t\t\t}\n\t\t\telse\n\t\t\tif( sc.ch == '<' && sc.chNext == '*' ) {\n\t\t\t\tsc.SetState( SCE_MODULA_PRAGMA );\n\t\t\t\tsc.Forward();\n\t\t\t} else {\n\t\t\t\tunsigned len = IsOperator( sc, operators );\n\t\t\t\tif( len > 0 ) {\n\t\t\t\t\tsc.SetState( SCE_MODULA_OPERATOR );\n\t\t\t\t\tsc.Forward( len );\n\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\tcontinue;\n\t\t\t\t} else {\n\t\t\t\t\tDEBUG_STATE( sc.currentPos, sc.ch );\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_COMMENT:\n\t\t\tif( sc.ch == '*' && sc.chNext == ')' ) {\n\t\t\t\tsc.Forward( 2 );\n\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_DOXYCOMM:\n\t\t\tswitch( sc.ch ) {\n\t\t\tcase '*':\n\t\t\t\tif( sc.chNext == ')' ) {\n\t\t\t\t\tsc.Forward( 2 );\n\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase '@':\n\t\t\t\tif( islower( sc.chNext ) ) {\n\t\t\t\t\tfor( i = 0; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\t\tbuf[i] = sc.GetRelative(i+1);\n\t\t\t\t\t\tif( isspace( buf[i] ) ) break;\n\t\t\t\t\t}\n\t\t\t\t\tbuf[i] = 0;\n\t\t\t\t\tkl = i;\n\n\t\t\t\t\tif( doxyKeys.InList( buf ) ) {\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_DOXYKEY );\n\t\t\t\t\t\tsc.Forward( kl + 1 );\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_DOXYCOMM );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_NUMBER:\n\t\t\t{\n\t\t\t\tbuf[0] = sc.ch;\n\t\t\t\tfor( i = 1; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\tbuf[i] = sc.GetRelative(i);\n\t\t\t\t\tif( ! isdigit( buf[i] ) )\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tkl = i;\n\t\t\t\tbuf[kl] = 0;\n\n\t\t\t\tswitch( sc.GetRelative(kl) ) {\n\t\t\t\tcase '_':\n\t\t\t\t\t{\n\t\t\t\t\t\tint base = atoi( buf );\n\t\t\t\t\t\tif( base < 2 || base > 16 ) {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tint imax;\n\n\t\t\t\t\t\t\tkl++;\n\t\t\t\t\t\t\tfor( i = 0; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\t\t\t\tbuf[i] = sc.GetRelative(kl+i);\n\t\t\t\t\t\t\t\tif( ! IsDigitOfBase( buf[i], 16 ) ) {\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\timax = i;\n\t\t\t\t\t\t\tfor( i = 0; i < imax; i++ ) {\n\t\t\t\t\t\t\t\tif( ! IsDigitOfBase( buf[i], base ) ) {\n\t\t\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkl += imax;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_BASENUM );\n\t\t\t\t\t\tfor( i = 0; i < kl; i++ ) {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase '.':\n\t\t\t\t\tif( sc.GetRelative(kl+1) == '.' ) {\n\t\t\t\t\t\tkl--;\n\t\t\t\t\t\tfor( i = 0; i < kl; i++ ) {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbool doNext = false;\n\n\t\t\t\t\t\tkl++;\n\n\t\t\t\t\t\tbuf[0] = sc.GetRelative(kl);\n\t\t\t\t\t\tif( isdigit( buf[0] ) ) {\n\t\t\t\t\t\t\tfor( i = 0;; i++ ) {\n\t\t\t\t\t\t\t\tif( !isdigit(sc.GetRelative(kl+i)) )\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkl += i;\n\t\t\t\t\t\t\tbuf[0] = sc.GetRelative(kl);\n\n\t\t\t\t\t\t\tswitch( buf[0] )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcase 'E':\n\t\t\t\t\t\t\tcase 'e':\n\t\t\t\t\t\t\tcase 'D':\n\t\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tcase 'X':\n\t\t\t\t\t\t\tcase 'x':\n\t\t\t\t\t\t\t\tkl++;\n\t\t\t\t\t\t\t\tbuf[0] = sc.GetRelative(kl);\n\t\t\t\t\t\t\t\tif( buf[0] == '-' || buf[0] == '+' ) {\n\t\t\t\t\t\t\t\t\tkl++;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbuf[0] = sc.GetRelative(kl);\n\t\t\t\t\t\t\t\tif( isdigit( buf[0] ) ) {\n\t\t\t\t\t\t\t\t\tfor( i = 0;; i++ ) {\n\t\t\t\t\t\t\t\t\t\tif( !isdigit(sc.GetRelative(kl+i)) ) {\n\t\t\t\t\t\t\t\t\t\t\tbuf[0] = sc.GetRelative(kl+i);\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tkl += i;\n\t\t\t\t\t\t\t\t\tdoNext = true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tdoNext = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif( doNext ) {\n\t\t\t\t\t\t\tif( ! isspace( buf[0] ) &&\n\t\t\t\t\t\t\t\tbuf[0] != ')' &&\n\t\t\t\t\t\t\t\tbuf[0] != '>' &&\n\t\t\t\t\t\t\t\tbuf[0] != '<' &&\n\t\t\t\t\t\t\t\tbuf[0] != '=' &&\n\t\t\t\t\t\t\t\tbuf[0] != '#' &&\n\t\t\t\t\t\t\t\tbuf[0] != '+' &&\n\t\t\t\t\t\t\t\tbuf[0] != '-' &&\n\t\t\t\t\t\t\t\tbuf[0] != '*' &&\n\t\t\t\t\t\t\t\tbuf[0] != '/' &&\n\t\t\t\t\t\t\t\tbuf[0] != ',' &&\n\t\t\t\t\t\t\t\tbuf[0] != ';'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tkl--;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState( SCE_MODULA_FLOAT );\n\t\t\t\t\tfor( i = 0; i < kl; i++ ) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\t\tcontinue;\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tfor( i = 0; i < kl; i++ ) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_STRING:\n\t\t\tif( sc.ch == '\\\"' ) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\tcontinue;\n\t\t\t} else {\n\t\t\t\tif( sc.ch == '\\\\' ) {\n\t\t\t\t\ti = 1;\n\t\t\t\t\tif( IsDigitOfBase( sc.chNext, 8 ) ) {\n\t\t\t\t\t\tfor( i = 1; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\t\t\tif( ! IsDigitOfBase(sc.GetRelative(i+1), 8 ) )\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( i == 3 ) {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_STRSPEC );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbuf[0] = sc.chNext;\n\t\t\t\t\t\tbuf[1] = 0;\n\n\t\t\t\t\t\tif( escapeCodes.InList( buf ) ) {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_STRSPEC );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsc.Forward(i+1);\n\t\t\t\t\tsc.SetState( SCE_MODULA_STRING );\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_CHAR:\n\t\t\tif( sc.ch == '\\'' ) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse\n\t\t\tif( ( sc.currentPos - charPos ) == 1 ) {\n\t\t\t\tif( sc.ch == '\\\\' ) {\n\t\t\t\t\ti = 1;\n\t\t\t\t\tif( IsDigitOfBase( sc.chNext, 8 ) ) {\n\t\t\t\t\t\tfor( i = 1; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\t\t\tif( ! IsDigitOfBase(sc.GetRelative(i+1), 8 ) )\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( i == 3 ) {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_CHARSPEC );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbuf[0] = sc.chNext;\n\t\t\t\t\t\tbuf[1] = 0;\n\n\t\t\t\t\t\tif( escapeCodes.InList( buf ) ) {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_CHARSPEC );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsc.Forward(i+1);\n\t\t\t\t\tsc.SetState( SCE_MODULA_CHAR );\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsc.SetState( SCE_MODULA_BADSTR );\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState( SCE_MODULA_CHAR );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_MODULA_PRAGMA:\n\t\t\tif( sc.ch == '*' && sc.chNext == '>' ) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState( SCE_MODULA_DEFAULT );\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse\n\t\t\tif( isupper( sc.ch ) && isupper( sc.chNext ) ) {\n\t\t\t\tbuf[0] = sc.ch;\n\t\t\t\tbuf[1] = sc.chNext;\n\t\t\t\tfor( i = 2; i < BUFLEN - 1; i++ ) {\n\t\t\t\t\tbuf[i] = sc.GetRelative(i);\n\t\t\t\t\tif( !isupper( buf[i] ) )\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tkl = i;\n\t\t\t\tbuf[kl] = 0;\n\t\t\t\tif( pragmaWords.InList( buf ) ) {\n\t\t\t\t\tsc.SetState( SCE_MODULA_PRGKEY );\n\t\t\t\t\tsc.Forward( kl );\n\t\t\t\t\tsc.SetState( SCE_MODULA_PRAGMA );\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t\tsc.Forward();\n\t}\n\tsc.Complete();\n}\n\nstatic const char *const modulaWordListDesc[] =\n{\n\t\"Keywords\",\n\t\"ReservedKeywords\",\n\t\"Operators\",\n\t\"PragmaKeyswords\",\n\t\"EscapeCodes\",\n\t\"DoxygeneKeywords\",\n\t0\n};\n\nLexerModule lmModula( SCLEX_MODULA, ColouriseModulaDoc, \"modula\", FoldModulaDoc,\n\t\t\t\t\t  modulaWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexMySQL.cpp",
    "content": "/**\n * Scintilla source code edit control\n * @file LexMySQL.cxx\n * Lexer for MySQL\n *\n * Improved by Mike Lischke <mike.lischke@oracle.com>\n * Adopted from LexSQL.cxx by Anders Karlsson <anders@mysql.com>\n * Original work by Neil Hodgson <neilh@scintilla.org>\n * Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n * The License.txt file describes the conditions under which this software may be distributed.\n */\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn (ch < 0x80) && (isalpha(ch) || ch == '_');\n}\n\nstatic inline bool IsANumberChar(int ch) {\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases.\n\treturn (ch < 0x80) &&\n\t        (isdigit(ch) || toupper(ch) == 'E' ||\n             ch == '.' || ch == '-' || ch == '+');\n}\n\n//--------------------------------------------------------------------------------------------------\n\n/**\n * Check if the current content context represent a keyword and set the context state if so.\n */\nstatic void CheckForKeyword(StyleContext& sc, WordList* keywordlists[], int activeState)\n{\n  Sci_Position length = sc.LengthCurrent() + 1; // +1 for the next char\n  char* s = new char[length];\n  sc.GetCurrentLowered(s, length);\n  if (keywordlists[0]->InList(s))\n    sc.ChangeState(SCE_MYSQL_MAJORKEYWORD | activeState);\n  else\n    if (keywordlists[1]->InList(s))\n      sc.ChangeState(SCE_MYSQL_KEYWORD | activeState);\n    else\n      if (keywordlists[2]->InList(s))\n        sc.ChangeState(SCE_MYSQL_DATABASEOBJECT | activeState);\n      else\n        if (keywordlists[3]->InList(s))\n          sc.ChangeState(SCE_MYSQL_FUNCTION | activeState);\n        else\n          if (keywordlists[5]->InList(s))\n            sc.ChangeState(SCE_MYSQL_PROCEDUREKEYWORD | activeState);\n          else\n            if (keywordlists[6]->InList(s))\n              sc.ChangeState(SCE_MYSQL_USER1 | activeState);\n            else\n              if (keywordlists[7]->InList(s))\n                sc.ChangeState(SCE_MYSQL_USER2 | activeState);\n              else\n                if (keywordlists[8]->InList(s))\n                  sc.ChangeState(SCE_MYSQL_USER3 | activeState);\n  delete [] s;\n}\n\n//--------------------------------------------------------------------------------------------------\n\n#define HIDDENCOMMAND_STATE 0x40 // Offset for states within a hidden command.\n#define MASKACTIVE(style) (style & ~HIDDENCOMMAND_STATE)\n\nstatic void SetDefaultState(StyleContext& sc, int activeState)\n{\n  if (activeState == 0)\n    sc.SetState(SCE_MYSQL_DEFAULT);\n  else\n    sc.SetState(SCE_MYSQL_HIDDENCOMMAND);\n}\n\nstatic void ForwardDefaultState(StyleContext& sc, int activeState)\n{\n  if (activeState == 0)\n    sc.ForwardSetState(SCE_MYSQL_DEFAULT);\n  else\n    sc.ForwardSetState(SCE_MYSQL_HIDDENCOMMAND);\n}\n\nstatic void ColouriseMySQLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler)\n{\n\tStyleContext sc(startPos, length, initStyle, styler, 127);\n  int activeState = (initStyle == SCE_MYSQL_HIDDENCOMMAND) ? HIDDENCOMMAND_STATE : initStyle & HIDDENCOMMAND_STATE;\n\n\tfor (; sc.More(); sc.Forward())\n  {\n\t\t// Determine if the current state should terminate.\n\t\tswitch (MASKACTIVE(sc.state))\n    {\n      case SCE_MYSQL_OPERATOR:\n        SetDefaultState(sc, activeState);\n        break;\n      case SCE_MYSQL_NUMBER:\n        // We stop the number definition on non-numerical non-dot non-eE non-sign char.\n        if (!IsANumberChar(sc.ch))\n          SetDefaultState(sc, activeState);\n        break;\n      case SCE_MYSQL_IDENTIFIER:\n        // Switch from identifier to keyword state and open a new state for the new char.\n        if (!IsAWordChar(sc.ch))\n        {\n          CheckForKeyword(sc, keywordlists, activeState);\n\n          // Additional check for function keywords needed.\n          // A function name must be followed by an opening parenthesis.\n          if (MASKACTIVE(sc.state) == SCE_MYSQL_FUNCTION && sc.ch != '(')\n          {\n            if (activeState > 0)\n              sc.ChangeState(SCE_MYSQL_HIDDENCOMMAND);\n            else\n              sc.ChangeState(SCE_MYSQL_DEFAULT);\n          }\n\n          SetDefaultState(sc, activeState);\n        }\n        break;\n      case SCE_MYSQL_VARIABLE:\n        if (!IsAWordChar(sc.ch))\n          SetDefaultState(sc, activeState);\n        break;\n      case SCE_MYSQL_SYSTEMVARIABLE:\n        if (!IsAWordChar(sc.ch))\n        {\n          Sci_Position length = sc.LengthCurrent() + 1;\n          char* s = new char[length];\n          sc.GetCurrentLowered(s, length);\n\n          // Check for known system variables here.\n          if (keywordlists[4]->InList(&s[2]))\n            sc.ChangeState(SCE_MYSQL_KNOWNSYSTEMVARIABLE | activeState);\n          delete [] s;\n\n          SetDefaultState(sc, activeState);\n        }\n        break;\n      case SCE_MYSQL_QUOTEDIDENTIFIER:\n        if (sc.ch == '`')\n        {\n          if (sc.chNext == '`')\n            sc.Forward();\t// Ignore it\n          else\n            ForwardDefaultState(sc, activeState);\n\t\t\t\t}\n  \t\t\tbreak;\n      case SCE_MYSQL_COMMENT:\n        if (sc.Match('*', '/'))\n        {\n          sc.Forward();\n          ForwardDefaultState(sc, activeState);\n        }\n        break;\n      case SCE_MYSQL_COMMENTLINE:\n        if (sc.atLineStart)\n          SetDefaultState(sc, activeState);\n        break;\n      case SCE_MYSQL_SQSTRING:\n        if (sc.ch == '\\\\')\n          sc.Forward(); // Escape sequence\n        else\n          if (sc.ch == '\\'')\n          {\n            // End of single quoted string reached?\n            if (sc.chNext == '\\'')\n              sc.Forward();\n            else\n              ForwardDefaultState(sc, activeState);\n          }\n        break;\n      case SCE_MYSQL_DQSTRING:\n        if (sc.ch == '\\\\')\n          sc.Forward(); // Escape sequence\n        else\n          if (sc.ch == '\\\"')\n          {\n            // End of single quoted string reached?\n            if (sc.chNext == '\\\"')\n              sc.Forward();\n            else\n              ForwardDefaultState(sc, activeState);\n          }\n        break;\n      case SCE_MYSQL_PLACEHOLDER:\n        if (sc.Match('}', '>'))\n        {\n          sc.Forward();\n          ForwardDefaultState(sc, activeState);\n        }\n        break;\n    }\n\n    if (sc.state == SCE_MYSQL_HIDDENCOMMAND && sc.Match('*', '/'))\n    {\n      activeState = 0;\n      sc.Forward();\n      ForwardDefaultState(sc, activeState);\n    }\n\n    // Determine if a new state should be entered.\n    if (sc.state == SCE_MYSQL_DEFAULT || sc.state == SCE_MYSQL_HIDDENCOMMAND)\n    {\n      switch (sc.ch)\n      {\n        case '@':\n          if (sc.chNext == '@')\n          {\n            sc.SetState(SCE_MYSQL_SYSTEMVARIABLE | activeState);\n            sc.Forward(2); // Skip past @@.\n          }\n          else\n            if (IsAWordStart(sc.ch))\n            {\n              sc.SetState(SCE_MYSQL_VARIABLE | activeState);\n              sc.Forward(); // Skip past @.\n            }\n            else\n              sc.SetState(SCE_MYSQL_OPERATOR | activeState);\n          break;\n        case '`':\n          sc.SetState(SCE_MYSQL_QUOTEDIDENTIFIER | activeState);\n          break;\n        case '#':\n          sc.SetState(SCE_MYSQL_COMMENTLINE | activeState);\n          break;\n        case '\\'':\n          sc.SetState(SCE_MYSQL_SQSTRING | activeState);\n          break;\n        case '\\\"':\n          sc.SetState(SCE_MYSQL_DQSTRING | activeState);\n          break;\n        default:\n          if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext)))\n            sc.SetState(SCE_MYSQL_NUMBER | activeState);\n          else\n            if (IsAWordStart(sc.ch))\n              sc.SetState(SCE_MYSQL_IDENTIFIER | activeState);\n            else\n              if (sc.Match('/', '*'))\n              {\n                sc.SetState(SCE_MYSQL_COMMENT | activeState);\n\n                // Skip first char of comment introducer and check for hidden command.\n                // The second char is skipped by the outer loop.\n                sc.Forward();\n                if (sc.GetRelativeCharacter(1) == '!')\n                {\n                  // Version comment found. Skip * now.\n                  sc.Forward();\n                  activeState = HIDDENCOMMAND_STATE;\n                  sc.ChangeState(SCE_MYSQL_HIDDENCOMMAND);\n                }\n              }\n              else if (sc.Match('<', '{'))\n              {\n                sc.SetState(SCE_MYSQL_PLACEHOLDER | activeState);\n              }\n              else\n                if (sc.Match(\"--\"))\n                {\n                  // Special MySQL single line comment.\n                  sc.SetState(SCE_MYSQL_COMMENTLINE | activeState);\n                  sc.Forward(2);\n\n                  // Check the third character too. It must be a space or EOL.\n                  if (sc.ch != ' ' && sc.ch != '\\n' && sc.ch != '\\r')\n                    sc.ChangeState(SCE_MYSQL_OPERATOR | activeState);\n                }\n                else\n                  if (isoperator(static_cast<char>(sc.ch)))\n                    sc.SetState(SCE_MYSQL_OPERATOR | activeState);\n      }\n    }\n  }\n\n  // Do a final check for keywords if we currently have an identifier, to highlight them\n  // also at the end of a line.\n  if (sc.state == SCE_MYSQL_IDENTIFIER)\n  {\n    CheckForKeyword(sc, keywordlists, activeState);\n\n    // Additional check for function keywords needed.\n    // A function name must be followed by an opening parenthesis.\n    if (sc.state == SCE_MYSQL_FUNCTION && sc.ch != '(')\n      SetDefaultState(sc, activeState);\n  }\n\n  sc.Complete();\n}\n\n//--------------------------------------------------------------------------------------------------\n\n/**\n * Helper function to determine if we have a foldable comment currently.\n */\nstatic bool IsStreamCommentStyle(int style)\n{\n\treturn MASKACTIVE(style) == SCE_MYSQL_COMMENT;\n}\n\n//--------------------------------------------------------------------------------------------------\n\n/**\n * Code copied from StyleContext and modified to work here. Should go into Accessor as a\n * companion to Match()...\n */\nstatic bool MatchIgnoreCase(Accessor &styler, Sci_Position currentPos, const char *s)\n{\n  for (Sci_Position n = 0; *s; n++)\n  {\n    if (*s != tolower(styler.SafeGetCharAt(currentPos + n)))\n      return false;\n    s++;\n  }\n  return true;\n}\n\n//--------------------------------------------------------------------------------------------------\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment.\nstatic void FoldMySQLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler)\n{\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tbool foldOnlyBegin = styler.GetPropertyInt(\"fold.sql.only.begin\", 0) != 0;\n\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent - 1) >> 16;\n\tint levelNext = levelCurrent;\n\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n  int activeState = (style == SCE_MYSQL_HIDDENCOMMAND) ? HIDDENCOMMAND_STATE : style & HIDDENCOMMAND_STATE;\n\n  bool endPending = false;\n\tbool whenPending = false;\n\tbool elseIfPending = false;\n\n  char nextChar = styler.SafeGetCharAt(startPos);\n  for (Sci_PositionU i = startPos; length > 0; i++, length--)\n  {\n\t\tint stylePrev = style;\n    int lastActiveState = activeState;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n    activeState = (style == SCE_MYSQL_HIDDENCOMMAND) ? HIDDENCOMMAND_STATE : style & HIDDENCOMMAND_STATE;\n\n    char currentChar = nextChar;\n    nextChar = styler.SafeGetCharAt(i + 1);\n\t\tbool atEOL = (currentChar == '\\r' && nextChar != '\\n') || (currentChar == '\\n');\n\n    switch (MASKACTIVE(style))\n    {\n      case SCE_MYSQL_COMMENT:\n        if (foldComment)\n        {\n          // Multiline comment style /* .. */ just started or is still in progress.\n          if (IsStreamCommentStyle(style) && !IsStreamCommentStyle(stylePrev))\n            levelNext++;\n        }\n        break;\n      case SCE_MYSQL_COMMENTLINE:\n        if (foldComment)\n        {\n          // Not really a standard, but we add support for single line comments\n          // with special curly braces syntax as foldable comments too.\n          // MySQL needs -- comments to be followed by space or control char\n          if (styler.Match(i, \"--\"))\n          {\n            char chNext2 = styler.SafeGetCharAt(i + 2);\n            char chNext3 = styler.SafeGetCharAt(i + 3);\n            if (chNext2 == '{' || chNext3 == '{')\n              levelNext++;\n            else\n              if (chNext2 == '}' || chNext3 == '}')\n                levelNext--;\n          }\n        }\n        break;\n      case SCE_MYSQL_HIDDENCOMMAND:\n        /*\n        if (endPending)\n        {\n          // A conditional command is not a white space so it should end the current block\n          // before opening a new one.\n          endPending = false;\n          levelNext--;\n          if (levelNext < SC_FOLDLEVELBASE)\n            levelNext = SC_FOLDLEVELBASE;\n        }\n        }*/\n        if (activeState != lastActiveState)\n          levelNext++;\n        break;\n      case SCE_MYSQL_OPERATOR:\n        if (endPending)\n        {\n          endPending = false;\n          levelNext--;\n          if (levelNext < SC_FOLDLEVELBASE)\n            levelNext = SC_FOLDLEVELBASE;\n        }\n        if (currentChar == '(')\n          levelNext++;\n        else\n          if (currentChar == ')')\n          {\n            levelNext--;\n            if (levelNext < SC_FOLDLEVELBASE)\n              levelNext = SC_FOLDLEVELBASE;\n          }\n        break;\n      case SCE_MYSQL_MAJORKEYWORD:\n      case SCE_MYSQL_KEYWORD:\n      case SCE_MYSQL_FUNCTION:\n      case SCE_MYSQL_PROCEDUREKEYWORD:\n        // Reserved and other keywords.\n        if (style != stylePrev)\n        {\n          // END decreases the folding level, regardless which keyword follows.\n          bool endFound = MatchIgnoreCase(styler, i, \"end\");\n          if (endPending)\n          {\n            levelNext--;\n            if (levelNext < SC_FOLDLEVELBASE)\n              levelNext = SC_FOLDLEVELBASE;\n          }\n          else\n            if (!endFound)\n            {\n              if (MatchIgnoreCase(styler, i, \"begin\"))\n                levelNext++;\n              else\n              {\n                if (!foldOnlyBegin)\n                {\n                  bool whileFound = MatchIgnoreCase(styler, i, \"while\");\n                  bool loopFound = MatchIgnoreCase(styler, i, \"loop\");\n                  bool repeatFound = MatchIgnoreCase(styler, i, \"repeat\");\n                  bool caseFound = MatchIgnoreCase(styler, i, \"case\");\n\n                  if (whileFound || loopFound || repeatFound || caseFound)\n                    levelNext++;\n                  else\n                  {\n                    // IF alone does not increase the fold level as it is also used in non-block'ed\n                    // code like DROP PROCEDURE blah IF EXISTS.\n                    // Instead THEN opens the new level (if not part of an ELSEIF or WHEN (case) branch).\n                    if (MatchIgnoreCase(styler, i, \"then\"))\n                    {\n                      if (!elseIfPending && !whenPending)\n                        levelNext++;\n                      else\n                      {\n                        elseIfPending = false;\n                        whenPending = false;\n                      }\n                    }\n                    else\n                    {\n                      // Neither of if/then/while/loop/repeat/case, so check for\n                      // sub parts of IF and CASE.\n                      if (MatchIgnoreCase(styler, i, \"elseif\"))\n                        elseIfPending = true;\n                      if (MatchIgnoreCase(styler, i, \"when\"))\n                        whenPending = true;\n                    }\n                  }\n                }\n              }\n            }\n\n          // Keep the current end state for the next round.\n          endPending = endFound;\n        }\n        break;\n\n      default:\n        if (!isspacechar(currentChar) && endPending)\n        {\n          // END followed by a non-whitespace character (not covered by other cases like identifiers)\n          // also should end a folding block. Typical case: END followed by self defined delimiter.\n          levelNext--;\n          if (levelNext < SC_FOLDLEVELBASE)\n            levelNext = SC_FOLDLEVELBASE;\n        }\n        break;\n    }\n\n    // Go up one level if we just ended a multi line comment.\n    if (IsStreamCommentStyle(stylePrev) && !IsStreamCommentStyle(style))\n    {\n      levelNext--;\n      if (levelNext < SC_FOLDLEVELBASE)\n        levelNext = SC_FOLDLEVELBASE;\n    }\n\n    if (activeState == 0 && lastActiveState != 0)\n    {\n      // Decrease fold level when we left a hidden command.\n      levelNext--;\n      if (levelNext < SC_FOLDLEVELBASE)\n        levelNext = SC_FOLDLEVELBASE;\n    }\n\n    if (atEOL)\n    {\n      // Apply the new folding level to this line.\n      // Leave pending states as they are otherwise a line break will de-sync\n      // code folding and valid syntax.\n      int levelUse = levelCurrent;\n      int lev = levelUse | levelNext << 16;\n      if (visibleChars == 0 && foldCompact)\n        lev |= SC_FOLDLEVELWHITEFLAG;\n      if (levelUse < levelNext)\n        lev |= SC_FOLDLEVELHEADERFLAG;\n      if (lev != styler.LevelAt(lineCurrent))\n        styler.SetLevel(lineCurrent, lev);\n\n      lineCurrent++;\n      levelCurrent = levelNext;\n      visibleChars = 0;\n    }\n\n\t\tif (!isspacechar(currentChar))\n      visibleChars++;\n  }\n}\n\n//--------------------------------------------------------------------------------------------------\n\nstatic const char * const mysqlWordListDesc[] = {\n\t\"Major Keywords\",\n\t\"Keywords\",\n\t\"Database Objects\",\n\t\"Functions\",\n\t\"System Variables\",\n\t\"Procedure keywords\",\n\t\"User Keywords 1\",\n\t\"User Keywords 2\",\n\t\"User Keywords 3\",\n\t0\n};\n\nLexerModule lmMySQL(SCLEX_MYSQL, ColouriseMySQLDoc, \"mysql\", FoldMySQLDoc, mysqlWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexNimrod.cpp",
    "content": "// Scintilla source code edit control\n// Nimrod lexer\n// (c) 2009 Andreas Rumpf\n/** @file LexNimrod.cxx\n ** Lexer for Nimrod.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(int ch) {\n\treturn (ch >= 0x80) || isalnum(ch) || ch == '_';\n}\n\nstatic Sci_Position tillEndOfTripleQuote(Accessor &styler, Sci_Position pos, Sci_Position max) {\n  /* search for \"\"\" */\n  for (;;) {\n    if (styler.SafeGetCharAt(pos, '\\0') == '\\0') return pos;\n    if (pos >= max) return pos;\n    if (styler.Match(pos, \"\\\"\\\"\\\"\")) {\n      return pos + 2;\n    }\n    pos++;\n  }\n}\n\n#define CR 13 /* use both because Scite allows changing the line ending */\n#define LF 10\n\nstatic bool inline isNewLine(int ch) {\n  return ch == CR || ch == LF;\n}\n\nstatic Sci_Position scanString(Accessor &styler, Sci_Position pos, Sci_Position max, bool rawMode) {\n  for (;;) {\n    if (pos >= max) return pos;\n    char ch = styler.SafeGetCharAt(pos, '\\0');\n    if (ch == CR || ch == LF || ch == '\\0') return pos;\n    if (ch == '\"') return pos;\n    if (ch == '\\\\' && !rawMode) {\n      pos += 2;\n    } else {\n      pos++;\n    }\n  }\n}\n\nstatic Sci_Position scanChar(Accessor &styler, Sci_Position pos, Sci_Position max) {\n  for (;;) {\n    if (pos >= max) return pos;\n    char ch = styler.SafeGetCharAt(pos, '\\0');\n    if (ch == CR || ch == LF || ch == '\\0') return pos;\n    if (ch == '\\'' && !isalnum(styler.SafeGetCharAt(pos+1, '\\0')) )\n      return pos;\n    if (ch == '\\\\') {\n      pos += 2;\n    } else {\n      pos++;\n    }\n  }\n}\n\nstatic Sci_Position scanIdent(Accessor &styler, Sci_Position pos, WordList &keywords) {\n  char buf[100]; /* copy to lowercase and ignore underscores */\n  Sci_Position i = 0;\n\n  for (;;) {\n    char ch = styler.SafeGetCharAt(pos, '\\0');\n    if (!IsAWordChar(ch)) break;\n    if (ch != '_' && i < ((int)sizeof(buf))-1) {\n      buf[i] = static_cast<char>(tolower(ch));\n      i++;\n    }\n    pos++;\n  }\n  buf[i] = '\\0';\n  /* look for keyword */\n  if (keywords.InList(buf)) {\n    styler.ColourTo(pos-1, SCE_P_WORD);\n  } else {\n    styler.ColourTo(pos-1, SCE_P_IDENTIFIER);\n  }\n  return pos;\n}\n\nstatic Sci_Position scanNumber(Accessor &styler, Sci_Position pos) {\n  char ch, ch2;\n  ch = styler.SafeGetCharAt(pos, '\\0');\n  ch2 = styler.SafeGetCharAt(pos+1, '\\0');\n  if (ch == '0' && (ch2 == 'b' || ch2 == 'B')) {\n    /* binary number: */\n    pos += 2;\n    for (;;) {\n      ch = styler.SafeGetCharAt(pos, '\\0');\n      if (ch == '_' || (ch >= '0' && ch <= '1')) ++pos;\n      else break;\n    }\n  } else if (ch == '0' &&\n            (ch2 == 'o' || ch2 == 'O' || ch2 == 'c' || ch2 == 'C')) {\n    /* octal number: */\n    pos += 2;\n    for (;;) {\n      ch = styler.SafeGetCharAt(pos, '\\0');\n      if (ch == '_' || (ch >= '0' && ch <= '7')) ++pos;\n      else break;\n    }\n  } else if (ch == '0' && (ch2 == 'x' || ch2 == 'X')) {\n    /* hexadecimal number: */\n    pos += 2;\n    for (;;) {\n      ch = styler.SafeGetCharAt(pos, '\\0');\n      if (ch == '_' || (ch >= '0' && ch <= '9')\n          || (ch >= 'a' && ch <= 'f')\n          || (ch >= 'A' && ch <= 'F')) ++pos;\n      else break;\n    }\n  } else {\n    // skip decimal part:\n    for (;;) {\n      ch = styler.SafeGetCharAt(pos, '\\0');\n      if (ch == '_' || (ch >= '0' && ch <= '9')) ++pos;\n      else break;\n    }\n    ch2 = styler.SafeGetCharAt(pos+1, '\\0');\n    if (ch == '.' && ch2 >= '0' && ch2 <= '9') {\n      ++pos; // skip '.'\n      for (;;) {\n        ch = styler.SafeGetCharAt(pos, '\\0');\n        if (ch == '_' || (ch >= '0' && ch <= '9')) ++pos;\n        else break;\n      }\n    }\n    if (ch == 'e' || ch == 'E') {\n      ++pos;\n      ch = styler.SafeGetCharAt(pos, '\\0');\n      if (ch == '-' || ch == '+') ++pos;\n      for (;;) {\n        ch = styler.SafeGetCharAt(pos, '\\0');\n        if (ch == '_' || (ch >= '0' && ch <= '9')) ++pos;\n        else break;\n      }\n    }\n  }\n  if (ch == '\\'') {\n    /* a type suffix: */\n    pos++;\n    for (;;) {\n      ch = styler.SafeGetCharAt(pos);\n      if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z')\n         || (ch >= 'a' && ch <= 'z') || ch == '_') ++pos;\n      else break;\n    }\n  }\n  styler.ColourTo(pos-1, SCE_P_NUMBER);\n  return pos;\n}\n\n/* rewritten from scratch, because I couldn't get rid of the bugs...\n   (A character based approach sucks!)\n*/\nstatic void ColouriseNimrodDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                                WordList *keywordlists[], Accessor &styler) {\n  Sci_Position pos = startPos;\n  Sci_Position max = startPos + length;\n  char ch;\n  WordList &keywords = *keywordlists[0];\n\n  styler.StartAt(startPos);\n  styler.StartSegment(startPos);\n\n  switch (initStyle) {\n    /* check where we are: */\n    case SCE_P_TRIPLEDOUBLE:\n      pos = tillEndOfTripleQuote(styler, pos, max);\n      styler.ColourTo(pos, SCE_P_TRIPLEDOUBLE);\n      pos++;\n    break;\n    default: /* nothing to do: */\n    break;\n  }\n  while (pos < max) {\n    ch = styler.SafeGetCharAt(pos, '\\0');\n    switch (ch) {\n      case '\\0': return;\n      case '#': {\n        bool doccomment = (styler.SafeGetCharAt(pos+1) == '#');\n        while (pos < max && !isNewLine(styler.SafeGetCharAt(pos, LF))) pos++;\n        if (doccomment)\n          styler.ColourTo(pos, SCE_C_COMMENTLINEDOC);\n        else\n          styler.ColourTo(pos, SCE_P_COMMENTLINE);\n      } break;\n      case 'r': case 'R': {\n        if (styler.SafeGetCharAt(pos+1) == '\"') {\n          pos = scanString(styler, pos+2, max, true);\n          styler.ColourTo(pos, SCE_P_STRING);\n          pos++;\n        } else {\n          pos = scanIdent(styler, pos, keywords);\n        }\n      } break;\n      case '\"':\n        if (styler.Match(pos+1, \"\\\"\\\"\")) {\n          pos = tillEndOfTripleQuote(styler, pos+3, max);\n          styler.ColourTo(pos, SCE_P_TRIPLEDOUBLE);\n        } else {\n          pos = scanString(styler, pos+1, max, false);\n          styler.ColourTo(pos, SCE_P_STRING);\n        }\n        pos++;\n      break;\n      case '\\'':\n        pos = scanChar(styler, pos+1, max);\n        styler.ColourTo(pos, SCE_P_CHARACTER);\n        pos++;\n      break;\n      default: // identifers, numbers, operators, whitespace\n        if (ch >= '0' && ch <= '9') {\n          pos = scanNumber(styler, pos);\n        } else if (IsAWordChar(ch)) {\n          pos = scanIdent(styler, pos, keywords);\n        } else if (ch == '`') {\n          pos++;\n          while (pos < max) {\n            ch = styler.SafeGetCharAt(pos, LF);\n            if (ch == '`') {\n              ++pos;\n              break;\n            }\n            if (ch == CR || ch == LF) break;\n            ++pos;\n          }\n          styler.ColourTo(pos, SCE_P_IDENTIFIER);\n        } else if (strchr(\"()[]{}:=;-\\\\/&%$!+<>|^?,.*~@\", ch)) {\n          styler.ColourTo(pos, SCE_P_OPERATOR);\n          pos++;\n        } else {\n          styler.ColourTo(pos, SCE_P_DEFAULT);\n          pos++;\n        }\n      break;\n    }\n  }\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tif (ch == '#')\n\t\t\treturn true;\n\t\telse if (ch != ' ' && ch != '\\t')\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic bool IsQuoteLine(Sci_Position line, Accessor &styler) {\n\tint style = styler.StyleAt(styler.LineStart(line)) & 31;\n\treturn ((style == SCE_P_TRIPLE) || (style == SCE_P_TRIPLEDOUBLE));\n}\n\n\nstatic void FoldNimrodDoc(Sci_PositionU startPos, Sci_Position length,\n                          int /*initStyle - unused*/,\n                          WordList *[], Accessor &styler) {\n\tconst Sci_Position maxPos = startPos + length;\n\tconst Sci_Position maxLines = styler.GetLine(maxPos - 1); // Requested last line\n\tconst Sci_Position docLines = styler.GetLine(styler.Length() - 1); // Available last line\n\tconst bool foldComment = styler.GetPropertyInt(\"fold.comment.nimrod\") != 0;\n\tconst bool foldQuotes = styler.GetPropertyInt(\"fold.quotes.nimrod\") != 0;\n\n\t// Backtrack to previous non-blank line so we can determine indent level\n\t// for any white space lines (needed esp. within triple quoted strings)\n\t// and so we can fix any preceding fold level (which is why we go back\n\t// at least one line in all cases)\n\tint spaceFlags = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\twhile (lineCurrent > 0) {\n\t\tlineCurrent--;\n\t\tindentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG) &&\n\t\t        (!IsCommentLine(lineCurrent, styler)) &&\n\t\t        (!IsQuoteLine(lineCurrent, styler)))\n\t\t\tbreak;\n\t}\n\tint indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\n\t// Set up initial loop state\n\tstartPos = styler.LineStart(lineCurrent);\n\tint prev_state = SCE_P_DEFAULT & 31;\n\tif (lineCurrent >= 1)\n\t\tprev_state = styler.StyleAt(startPos - 1) & 31;\n\tint prevQuote = foldQuotes && ((prev_state == SCE_P_TRIPLE) ||\n\t                               (prev_state == SCE_P_TRIPLEDOUBLE));\n\tint prevComment = 0;\n\tif (lineCurrent >= 1)\n\t\tprevComment = foldComment && IsCommentLine(lineCurrent - 1, styler);\n\n\t// Process all characters to end of requested range or end of any triple quote\n\t// or comment that hangs over the end of the range.  Cap processing in all cases\n\t// to end of document (in case of unclosed quote or comment at end).\n\twhile ((lineCurrent <= docLines) && ((lineCurrent <= maxLines) ||\n\t                                      prevQuote || prevComment)) {\n\n\t\t// Gather info\n\t\tint lev = indentCurrent;\n\t\tSci_Position lineNext = lineCurrent + 1;\n\t\tint indentNext = indentCurrent;\n\t\tint quote = false;\n\t\tif (lineNext <= docLines) {\n\t\t\t// Information about next line is only available if not at end of document\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t\tint style = styler.StyleAt(styler.LineStart(lineNext)) & 31;\n\t\t\tquote = foldQuotes && ((style == SCE_P_TRIPLE) || (style == SCE_P_TRIPLEDOUBLE));\n\t\t}\n\t\tconst int quote_start = (quote && !prevQuote);\n\t\tconst int quote_continue = (quote && prevQuote);\n\t\tconst int comment = foldComment && IsCommentLine(lineCurrent, styler);\n\t\tconst int comment_start = (comment && !prevComment && (lineNext <= docLines) &&\n\t\t                           IsCommentLine(lineNext, styler) &&\n\t\t                           (lev > SC_FOLDLEVELBASE));\n\t\tconst int comment_continue = (comment && prevComment);\n\t\tif ((!quote || !prevQuote) && !comment)\n\t\t\tindentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\t\tif (quote)\n\t\t\tindentNext = indentCurrentLevel;\n\t\tif (indentNext & SC_FOLDLEVELWHITEFLAG)\n\t\t\tindentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel;\n\n\t\tif (quote_start) {\n\t\t\t// Place fold point at start of triple quoted string\n\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t} else if (quote_continue || prevQuote) {\n\t\t\t// Add level to rest of lines in the string\n\t\t\tlev = lev + 1;\n\t\t} else if (comment_start) {\n\t\t\t// Place fold point at start of a block of comments\n\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t} else if (comment_continue) {\n\t\t\t// Add level to rest of lines in the block\n\t\t\tlev = lev + 1;\n\t\t}\n\n\t\t// Skip past any blank lines for next indent level info; we skip also\n\t\t// comments (all comments, not just those starting in column 0)\n\t\t// which effectively folds them into surrounding code rather\n\t\t// than screwing up folding.\n\n\t\twhile (!quote &&\n\t\t        (lineNext < docLines) &&\n\t\t        ((indentNext & SC_FOLDLEVELWHITEFLAG) ||\n\t\t         (lineNext <= docLines && IsCommentLine(lineNext, styler)))) {\n\n\t\t\tlineNext++;\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t}\n\n\t\tconst int levelAfterComments = indentNext & SC_FOLDLEVELNUMBERMASK;\n\t\tconst int levelBeforeComments =\n\t\t    Maximum(indentCurrentLevel,levelAfterComments);\n\n\t\t// Now set all the indent levels on the lines we skipped\n\t\t// Do this from end to start.  Once we encounter one line\n\t\t// which is indented more than the line after the end of\n\t\t// the comment-block, use the level of the block before\n\n\t\tSci_Position skipLine = lineNext;\n\t\tint skipLevel = levelAfterComments;\n\n\t\twhile (--skipLine > lineCurrent) {\n\t\t\tint skipLineIndent = styler.IndentAmount(skipLine, &spaceFlags, NULL);\n\n\t\t\tif ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments)\n\t\t\t\tskipLevel = levelBeforeComments;\n\n\t\t\tint whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG;\n\n\t\t\tstyler.SetLevel(skipLine, skipLevel | whiteFlag);\n\t\t}\n\n\t\t// Set fold header on non-quote/non-comment line\n\t\tif (!quote && !comment && !(indentCurrent & SC_FOLDLEVELWHITEFLAG) ) {\n\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) <\n\t\t\t     (indentNext & SC_FOLDLEVELNUMBERMASK))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t}\n\n\t\t// Keep track of triple quote and block comment state of previous line\n\t\tprevQuote = quote;\n\t\tprevComment = comment_start || comment_continue;\n\n\t\t// Set fold level for this line and move to next line\n\t\tstyler.SetLevel(lineCurrent, lev);\n\t\tindentCurrent = indentNext;\n\t\tlineCurrent = lineNext;\n\t}\n\n\t// NOTE: Cannot set level of last line here because indentCurrent doesn't have\n\t// header flag set; the loop above is crafted to take care of this case!\n\t//styler.SetLevel(lineCurrent, indentCurrent);\n}\n\nstatic const char * const nimrodWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmNimrod(SCLEX_NIMROD, ColouriseNimrodDoc, \"nimrod\", FoldNimrodDoc,\n\t\t\t\t     nimrodWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexNsis.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexNsis.cxx\n ** Lexer for NSIS\n **/\n// Copyright 2003 - 2005 by Angelo Mandato <angelo [at] spaceblue [dot] com>\n// Last Updated: 03/13/2005\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n/*\n// located in SciLexer.h\n#define SCLEX_NSIS 43\n\n#define SCE_NSIS_DEFAULT 0\n#define SCE_NSIS_COMMENT 1\n#define SCE_NSIS_STRINGDQ 2\n#define SCE_NSIS_STRINGLQ 3\n#define SCE_NSIS_STRINGRQ 4\n#define SCE_NSIS_FUNCTION 5\n#define SCE_NSIS_VARIABLE 6\n#define SCE_NSIS_LABEL 7\n#define SCE_NSIS_USERDEFINED 8\n#define SCE_NSIS_SECTIONDEF 9\n#define SCE_NSIS_SUBSECTIONDEF 10\n#define SCE_NSIS_IFDEFINEDEF 11\n#define SCE_NSIS_MACRODEF 12\n#define SCE_NSIS_STRINGVAR 13\n#define SCE_NSIS_NUMBER 14\n// ADDED for Scintilla v1.63\n#define SCE_NSIS_SECTIONGROUP 15\n#define SCE_NSIS_PAGEEX 16\n#define SCE_NSIS_FUNCTIONDEF 17\n#define SCE_NSIS_COMMENTBOX 18\n*/\n\nstatic bool isNsisNumber(char ch)\n{\n  return (ch >= '0' && ch <= '9');\n}\n\nstatic bool isNsisChar(char ch)\n{\n  return (ch == '.' ) || (ch == '_' ) || isNsisNumber(ch) || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z');\n}\n\nstatic bool isNsisLetter(char ch)\n{\n  return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z');\n}\n\nstatic bool NsisNextLineHasElse(Sci_PositionU start, Sci_PositionU end, Accessor &styler)\n{\n  Sci_Position nNextLine = -1;\n  for( Sci_PositionU i = start; i < end; i++ )\n  {\n    char cNext = styler.SafeGetCharAt( i );\n    if( cNext == '\\n' )\n    {\n      nNextLine = i+1;\n      break;\n    }\n  }\n\n  if( nNextLine == -1 ) // We never found the next line...\n    return false;\n\n  for( Sci_PositionU firstChar = nNextLine; firstChar < end; firstChar++ )\n  {\n    char cNext = styler.SafeGetCharAt( firstChar );\n    if( cNext == ' ' )\n      continue;\n    if( cNext == '\\t' )\n      continue;\n    if( cNext == '!' )\n    {\n      if( styler.Match(firstChar, \"!else\") )\n        return true;\n    }\n    break;\n  }\n\n  return false;\n}\n\nstatic int NsisCmp( const char *s1, const char *s2, bool bIgnoreCase )\n{\n  if( bIgnoreCase )\n     return CompareCaseInsensitive( s1, s2);\n\n  return strcmp( s1, s2 );\n}\n\nstatic int calculateFoldNsis(Sci_PositionU start, Sci_PositionU end, int foldlevel, Accessor &styler, bool bElse, bool foldUtilityCmd )\n{\n  int style = styler.StyleAt(end);\n\n  // If the word is too long, it is not what we are looking for\n  if( end - start > 20 )\n    return foldlevel;\n\n  if( foldUtilityCmd )\n  {\n    // Check the style at this point, if it is not valid, then return zero\n    if( style != SCE_NSIS_FUNCTIONDEF && style != SCE_NSIS_SECTIONDEF &&\n        style != SCE_NSIS_SUBSECTIONDEF && style != SCE_NSIS_IFDEFINEDEF &&\n        style != SCE_NSIS_MACRODEF && style != SCE_NSIS_SECTIONGROUP &&\n        style != SCE_NSIS_PAGEEX )\n          return foldlevel;\n  }\n  else\n  {\n    if( style != SCE_NSIS_FUNCTIONDEF && style != SCE_NSIS_SECTIONDEF &&\n        style != SCE_NSIS_SUBSECTIONDEF && style != SCE_NSIS_SECTIONGROUP &&\n        style != SCE_NSIS_PAGEEX )\n          return foldlevel;\n  }\n\n  int newFoldlevel = foldlevel;\n  bool bIgnoreCase = false;\n  if( styler.GetPropertyInt(\"nsis.ignorecase\") == 1 )\n    bIgnoreCase = true;\n\n  char s[20]; // The key word we are looking for has atmost 13 characters\n  s[0] = '\\0';\n  for (Sci_PositionU i = 0; i < end - start + 1 && i < 19; i++)\n\t{\n\t\ts[i] = static_cast<char>( styler[ start + i ] );\n\t\ts[i + 1] = '\\0';\n\t}\n\n  if( s[0] == '!' )\n  {\n    if( NsisCmp(s, \"!ifndef\", bIgnoreCase) == 0 || NsisCmp(s, \"!ifdef\", bIgnoreCase ) == 0 || NsisCmp(s, \"!ifmacrodef\", bIgnoreCase ) == 0 || NsisCmp(s, \"!ifmacrondef\", bIgnoreCase ) == 0 || NsisCmp(s, \"!if\", bIgnoreCase ) == 0 || NsisCmp(s, \"!macro\", bIgnoreCase ) == 0 )\n      newFoldlevel++;\n    else if( NsisCmp(s, \"!endif\", bIgnoreCase) == 0 || NsisCmp(s, \"!macroend\", bIgnoreCase ) == 0 )\n      newFoldlevel--;\n    else if( bElse && NsisCmp(s, \"!else\", bIgnoreCase) == 0 )\n      newFoldlevel++;\n  }\n  else\n  {\n    if( NsisCmp(s, \"Section\", bIgnoreCase ) == 0 || NsisCmp(s, \"SectionGroup\", bIgnoreCase ) == 0 || NsisCmp(s, \"Function\", bIgnoreCase) == 0 || NsisCmp(s, \"SubSection\", bIgnoreCase ) == 0 || NsisCmp(s, \"PageEx\", bIgnoreCase ) == 0 )\n      newFoldlevel++;\n    else if( NsisCmp(s, \"SectionGroupEnd\", bIgnoreCase ) == 0 || NsisCmp(s, \"SubSectionEnd\", bIgnoreCase ) == 0 || NsisCmp(s, \"FunctionEnd\", bIgnoreCase) == 0 || NsisCmp(s, \"SectionEnd\", bIgnoreCase ) == 0 || NsisCmp(s, \"PageExEnd\", bIgnoreCase ) == 0 )\n      newFoldlevel--;\n  }\n\n  return newFoldlevel;\n}\n\nstatic int classifyWordNsis(Sci_PositionU start, Sci_PositionU end, WordList *keywordLists[], Accessor &styler )\n{\n  bool bIgnoreCase = false;\n  if( styler.GetPropertyInt(\"nsis.ignorecase\") == 1 )\n    bIgnoreCase = true;\n\n  bool bUserVars = false;\n  if( styler.GetPropertyInt(\"nsis.uservars\") == 1 )\n    bUserVars = true;\n\n\tchar s[100];\n\ts[0] = '\\0';\n\ts[1] = '\\0';\n\n\tWordList &Functions = *keywordLists[0];\n\tWordList &Variables = *keywordLists[1];\n\tWordList &Lables = *keywordLists[2];\n\tWordList &UserDefined = *keywordLists[3];\n\n\tfor (Sci_PositionU i = 0; i < end - start + 1 && i < 99; i++)\n\t{\n    if( bIgnoreCase )\n      s[i] = static_cast<char>( tolower(styler[ start + i ] ) );\n    else\n\t\t  s[i] = static_cast<char>( styler[ start + i ] );\n\t\ts[i + 1] = '\\0';\n\t}\n\n\t// Check for special words...\n\tif( NsisCmp(s, \"!macro\", bIgnoreCase ) == 0 || NsisCmp(s, \"!macroend\", bIgnoreCase) == 0 ) // Covers !macro and !macroend\n\t\treturn SCE_NSIS_MACRODEF;\n\n\tif( NsisCmp(s, \"!ifdef\", bIgnoreCase ) == 0 ||  NsisCmp(s, \"!ifndef\", bIgnoreCase) == 0 ||  NsisCmp(s, \"!endif\", bIgnoreCase) == 0 ) // Covers !ifdef, !ifndef and !endif\n\t\treturn SCE_NSIS_IFDEFINEDEF;\n\n\tif( NsisCmp(s, \"!if\", bIgnoreCase ) == 0 || NsisCmp(s, \"!else\", bIgnoreCase )  == 0 ) // Covers !if and else\n\t\treturn SCE_NSIS_IFDEFINEDEF;\n\n\tif (NsisCmp(s, \"!ifmacrodef\", bIgnoreCase ) == 0 || NsisCmp(s, \"!ifmacrondef\", bIgnoreCase )  == 0 ) // Covers !ifmacrodef and !ifnmacrodef\n\t\treturn SCE_NSIS_IFDEFINEDEF;\n\n  if( NsisCmp(s, \"SectionGroup\", bIgnoreCase) == 0 || NsisCmp(s, \"SectionGroupEnd\", bIgnoreCase) == 0 ) // Covers SectionGroup and SectionGroupEnd\n    return SCE_NSIS_SECTIONGROUP;\n\n\tif( NsisCmp(s, \"Section\", bIgnoreCase ) == 0 || NsisCmp(s, \"SectionEnd\", bIgnoreCase) == 0 ) // Covers Section and SectionEnd\n\t\treturn SCE_NSIS_SECTIONDEF;\n\n\tif( NsisCmp(s, \"SubSection\", bIgnoreCase) == 0 || NsisCmp(s, \"SubSectionEnd\", bIgnoreCase) == 0 ) // Covers SubSection and SubSectionEnd\n\t\treturn SCE_NSIS_SUBSECTIONDEF;\n\n  if( NsisCmp(s, \"PageEx\", bIgnoreCase) == 0 || NsisCmp(s, \"PageExEnd\", bIgnoreCase) == 0 ) // Covers PageEx and PageExEnd\n    return SCE_NSIS_PAGEEX;\n\n\tif( NsisCmp(s, \"Function\", bIgnoreCase) == 0 || NsisCmp(s, \"FunctionEnd\", bIgnoreCase) == 0 ) // Covers Function and FunctionEnd\n\t\treturn SCE_NSIS_FUNCTIONDEF;\n\n\tif ( Functions.InList(s) )\n\t\treturn SCE_NSIS_FUNCTION;\n\n\tif ( Variables.InList(s) )\n\t\treturn SCE_NSIS_VARIABLE;\n\n\tif ( Lables.InList(s) )\n\t\treturn SCE_NSIS_LABEL;\n\n\tif( UserDefined.InList(s) )\n\t\treturn SCE_NSIS_USERDEFINED;\n\n\tif( strlen(s) > 3 )\n\t{\n\t\tif( s[1] == '{' && s[strlen(s)-1] == '}' )\n\t\t\treturn SCE_NSIS_VARIABLE;\n\t}\n\n  // See if the variable is a user defined variable\n  if( s[0] == '$' && bUserVars )\n  {\n    bool bHasSimpleNsisChars = true;\n    for (Sci_PositionU j = 1; j < end - start + 1 && j < 99; j++)\n\t  {\n      if( !isNsisChar( s[j] ) )\n      {\n        bHasSimpleNsisChars = false;\n        break;\n      }\n\t  }\n\n    if( bHasSimpleNsisChars )\n      return SCE_NSIS_VARIABLE;\n  }\n\n  // To check for numbers\n  if( isNsisNumber( s[0] ) )\n  {\n    bool bHasSimpleNsisNumber = true;\n    for (Sci_PositionU j = 1; j < end - start + 1 && j < 99; j++)\n\t  {\n      if( !isNsisNumber( s[j] ) )\n      {\n        bHasSimpleNsisNumber = false;\n        break;\n      }\n\t  }\n\n    if( bHasSimpleNsisNumber )\n      return SCE_NSIS_NUMBER;\n  }\n\n\treturn SCE_NSIS_DEFAULT;\n}\n\nstatic void ColouriseNsisDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler)\n{\n\tint state = SCE_NSIS_DEFAULT;\n  if( startPos > 0 )\n    state = styler.StyleAt(startPos-1); // Use the style from the previous line, usually default, but could be commentbox\n\n\tstyler.StartAt( startPos );\n\tstyler.GetLine( startPos );\n\n\tSci_PositionU nLengthDoc = startPos + length;\n\tstyler.StartSegment( startPos );\n\n\tchar cCurrChar;\n\tbool bVarInString = false;\n  bool bClassicVarInString = false;\n\n\tSci_PositionU i;\n\tfor( i = startPos; i < nLengthDoc; i++ )\n\t{\n\t\tcCurrChar = styler.SafeGetCharAt( i );\n\t\tchar cNextChar = styler.SafeGetCharAt(i+1);\n\n\t\tswitch(state)\n\t\t{\n\t\t\tcase SCE_NSIS_DEFAULT:\n\t\t\t\tif( cCurrChar == ';' || cCurrChar == '#' ) // we have a comment line\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i-1, state );\n\t\t\t\t\tstate = SCE_NSIS_COMMENT;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif( cCurrChar == '\"' )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i-1, state );\n\t\t\t\t\tstate = SCE_NSIS_STRINGDQ;\n\t\t\t\t\tbVarInString = false;\n          bClassicVarInString = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif( cCurrChar == '\\'' )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i-1, state );\n\t\t\t\t\tstate = SCE_NSIS_STRINGRQ;\n\t\t\t\t\tbVarInString = false;\n          bClassicVarInString = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif( cCurrChar == '`' )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i-1, state );\n\t\t\t\t\tstate = SCE_NSIS_STRINGLQ;\n\t\t\t\t\tbVarInString = false;\n          bClassicVarInString = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// NSIS KeyWord,Function, Variable, UserDefined:\n\t\t\t\tif( cCurrChar == '$' || isNsisChar(cCurrChar) || cCurrChar == '!' )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i-1,state);\n\t\t\t\t  state = SCE_NSIS_FUNCTION;\n\n          // If it is a number, we must check and set style here first...\n          if( isNsisNumber(cCurrChar) && (cNextChar == '\\t' || cNextChar == ' ' || cNextChar == '\\r' || cNextChar == '\\n' ) )\n              styler.ColourTo( i, SCE_NSIS_NUMBER);\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n        if( cCurrChar == '/' && cNextChar == '*' )\n        {\n          styler.ColourTo(i-1,state);\n          state = SCE_NSIS_COMMENTBOX;\n          break;\n        }\n\n\t\t\t\tbreak;\n\t\t\tcase SCE_NSIS_COMMENT:\n\t\t\t\tif( cNextChar == '\\n' || cNextChar == '\\r' )\n        {\n          // Special case:\n          if( cCurrChar == '\\\\' )\n          {\n            styler.ColourTo(i-2,state);\n            styler.ColourTo(i,SCE_NSIS_DEFAULT);\n          }\n          else\n          {\n\t\t\t\t    styler.ColourTo(i,state);\n            state = SCE_NSIS_DEFAULT;\n          }\n        }\n\t\t\t\tbreak;\n\t\t\tcase SCE_NSIS_STRINGDQ:\n      case SCE_NSIS_STRINGLQ:\n      case SCE_NSIS_STRINGRQ:\n\n        if( styler.SafeGetCharAt(i-1) == '\\\\' && styler.SafeGetCharAt(i-2) == '$' )\n          break; // Ignore the next character, even if it is a quote of some sort\n\n        if( cCurrChar == '\"' && state == SCE_NSIS_STRINGDQ )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i,state);\n\t\t\t\t  state = SCE_NSIS_DEFAULT;\n          break;\n\t\t\t\t}\n\n        if( cCurrChar == '`' && state == SCE_NSIS_STRINGLQ )\n        {\n\t\t\t\t\tstyler.ColourTo(i,state);\n\t\t\t\t  state = SCE_NSIS_DEFAULT;\n          break;\n\t\t\t\t}\n\n        if( cCurrChar == '\\'' && state == SCE_NSIS_STRINGRQ )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo(i,state);\n\t\t\t\t  state = SCE_NSIS_DEFAULT;\n          break;\n\t\t\t\t}\n\n        if( cNextChar == '\\r' || cNextChar == '\\n' )\n        {\n          Sci_Position nCurLine = styler.GetLine(i+1);\n          Sci_Position nBack = i;\n          // We need to check if the previous line has a \\ in it...\n          bool bNextLine = false;\n\n          while( nBack > 0 )\n          {\n            if( styler.GetLine(nBack) != nCurLine )\n              break;\n\n            char cTemp = styler.SafeGetCharAt(nBack, 'a'); // Letter 'a' is safe here\n\n            if( cTemp == '\\\\' )\n            {\n              bNextLine = true;\n              break;\n            }\n            if( cTemp != '\\r' && cTemp != '\\n' && cTemp != '\\t' && cTemp != ' ' )\n              break;\n\n            nBack--;\n          }\n\n          if( bNextLine )\n          {\n            styler.ColourTo(i+1,state);\n          }\n          if( bNextLine == false )\n          {\n            styler.ColourTo(i,state);\n\t\t\t\t    state = SCE_NSIS_DEFAULT;\n          }\n        }\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_NSIS_FUNCTION:\n\n\t\t\t\t// NSIS KeyWord:\n        if( cCurrChar == '$' )\n          state = SCE_NSIS_DEFAULT;\n        else if( cCurrChar == '\\\\' && (cNextChar == 'n' || cNextChar == 'r' || cNextChar == 't' ) )\n          state = SCE_NSIS_DEFAULT;\n\t\t\t\telse if( (isNsisChar(cCurrChar) && !isNsisChar( cNextChar) && cNextChar != '}') || cCurrChar == '}' )\n\t\t\t\t{\n\t\t\t\t\tstate = classifyWordNsis( styler.GetStartSegment(), i, keywordLists, styler );\n\t\t\t\t\tstyler.ColourTo( i, state);\n\t\t\t\t\tstate = SCE_NSIS_DEFAULT;\n\t\t\t\t}\n\t\t\t\telse if( !isNsisChar( cCurrChar ) && cCurrChar != '{' && cCurrChar != '}' )\n\t\t\t\t{\n          if( classifyWordNsis( styler.GetStartSegment(), i-1, keywordLists, styler) == SCE_NSIS_NUMBER )\n             styler.ColourTo( i-1, SCE_NSIS_NUMBER );\n\n\t\t\t\t\tstate = SCE_NSIS_DEFAULT;\n\n\t\t\t\t\tif( cCurrChar == '\"' )\n\t\t\t\t\t{\n\t\t\t\t\t\tstate = SCE_NSIS_STRINGDQ;\n\t\t\t\t\t\tbVarInString = false;\n            bClassicVarInString = false;\n\t\t\t\t\t}\n\t\t\t\t\telse if( cCurrChar == '`' )\n\t\t\t\t\t{\n\t\t\t\t\t\tstate = SCE_NSIS_STRINGLQ;\n\t\t\t\t\t\tbVarInString = false;\n            bClassicVarInString = false;\n\t\t\t\t\t}\n\t\t\t\t\telse if( cCurrChar == '\\'' )\n\t\t\t\t\t{\n\t\t\t\t\t\tstate = SCE_NSIS_STRINGRQ;\n\t\t\t\t\t\tbVarInString = false;\n            bClassicVarInString = false;\n\t\t\t\t\t}\n\t\t\t\t\telse if( cCurrChar == '#' || cCurrChar == ';' )\n          {\n\t\t\t\t\t\tstate = SCE_NSIS_COMMENT;\n          }\n\t\t\t\t}\n\t\t\t\tbreak;\n      case SCE_NSIS_COMMENTBOX:\n\n        if( styler.SafeGetCharAt(i-1) == '*' && cCurrChar == '/' )\n        {\n          styler.ColourTo(i,state);\n          state = SCE_NSIS_DEFAULT;\n        }\n        break;\n\t\t}\n\n\t\tif( state == SCE_NSIS_COMMENT || state == SCE_NSIS_COMMENTBOX )\n\t\t{\n\t\t\tstyler.ColourTo(i,state);\n\t\t}\n\t\telse if( state == SCE_NSIS_STRINGDQ || state == SCE_NSIS_STRINGLQ || state == SCE_NSIS_STRINGRQ )\n\t\t{\n      bool bIngoreNextDollarSign = false;\n      bool bUserVars = false;\n      if( styler.GetPropertyInt(\"nsis.uservars\") == 1 )\n        bUserVars = true;\n\n      if( bVarInString && cCurrChar == '$' )\n      {\n        bVarInString = false;\n        bIngoreNextDollarSign = true;\n      }\n      else if( bVarInString && cCurrChar == '\\\\' && (cNextChar == 'n' || cNextChar == 'r' || cNextChar == 't' || cNextChar == '\"' || cNextChar == '`' || cNextChar == '\\'' ) )\n      {\n        styler.ColourTo( i+1, SCE_NSIS_STRINGVAR);\n        bVarInString = false;\n        bIngoreNextDollarSign = false;\n      }\n\n      // Covers \"$INSTDIR and user vars like $MYVAR\"\n      else if( bVarInString && !isNsisChar(cNextChar) )\n      {\n        int nWordState = classifyWordNsis( styler.GetStartSegment(), i, keywordLists, styler);\n\t\t\t\tif( nWordState == SCE_NSIS_VARIABLE )\n\t\t\t\t\tstyler.ColourTo( i, SCE_NSIS_STRINGVAR);\n        else if( bUserVars )\n          styler.ColourTo( i, SCE_NSIS_STRINGVAR);\n        bVarInString = false;\n      }\n      // Covers \"${TEST}...\"\n      else if( bClassicVarInString && cNextChar == '}' )\n      {\n        styler.ColourTo( i+1, SCE_NSIS_STRINGVAR);\n\t\t\t\tbClassicVarInString = false;\n      }\n\n      // Start of var in string\n\t\t\tif( !bIngoreNextDollarSign && cCurrChar == '$' && cNextChar == '{' )\n\t\t\t{\n\t\t\t\tstyler.ColourTo( i-1, state);\n\t\t\t\tbClassicVarInString = true;\n        bVarInString = false;\n\t\t\t}\n      else if( !bIngoreNextDollarSign && cCurrChar == '$' )\n      {\n        styler.ColourTo( i-1, state);\n        bVarInString = true;\n        bClassicVarInString = false;\n      }\n\t\t}\n\t}\n\n  // Colourise remaining document\n\tstyler.ColourTo(nLengthDoc-1,state);\n}\n\nstatic void FoldNsisDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n\t// No folding enabled, no reason to continue...\n\tif( styler.GetPropertyInt(\"fold\") == 0 )\n\t\treturn;\n\n  bool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) == 1;\n  bool foldUtilityCmd = styler.GetPropertyInt(\"nsis.foldutilcmd\", 1) == 1;\n  bool blockComment = false;\n\n  Sci_Position lineCurrent = styler.GetLine(startPos);\n  Sci_PositionU safeStartPos = styler.LineStart( lineCurrent );\n\n  bool bArg1 = true;\n  Sci_Position nWordStart = -1;\n\n  int levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelNext = levelCurrent;\n  int style = styler.StyleAt(safeStartPos);\n  if( style == SCE_NSIS_COMMENTBOX )\n  {\n    if( styler.SafeGetCharAt(safeStartPos) == '/' && styler.SafeGetCharAt(safeStartPos+1) == '*' )\n      levelNext++;\n    blockComment = true;\n  }\n\n  for (Sci_PositionU i = safeStartPos; i < startPos + length; i++)\n\t{\n    char chCurr = styler.SafeGetCharAt(i);\n    style = styler.StyleAt(i);\n    if( blockComment && style != SCE_NSIS_COMMENTBOX )\n    {\n      levelNext--;\n      blockComment = false;\n    }\n    else if( !blockComment && style == SCE_NSIS_COMMENTBOX )\n    {\n      levelNext++;\n      blockComment = true;\n    }\n\n    if( bArg1 && !blockComment)\n    {\n      if( nWordStart == -1 && (isNsisLetter(chCurr) || chCurr == '!') )\n      {\n        nWordStart = i;\n      }\n      else if( isNsisLetter(chCurr) == false && nWordStart > -1 )\n      {\n        int newLevel = calculateFoldNsis( nWordStart, i-1, levelNext, styler, foldAtElse, foldUtilityCmd );\n\n        if( newLevel == levelNext )\n        {\n          if( foldAtElse && foldUtilityCmd )\n          {\n            if( NsisNextLineHasElse(i, startPos + length, styler) )\n              levelNext--;\n          }\n        }\n        else\n          levelNext = newLevel;\n        bArg1 = false;\n      }\n    }\n\n    if( chCurr == '\\n' )\n    {\n      if( bArg1 && foldAtElse && foldUtilityCmd && !blockComment )\n      {\n        if( NsisNextLineHasElse(i, startPos + length, styler) )\n          levelNext--;\n      }\n\n      // If we are on a new line...\n      int levelUse = levelCurrent;\n\t\t\tint lev = levelUse | levelNext << 16;\n      if (levelUse < levelNext )\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent))\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n      bArg1 = true; // New line, lets look at first argument again\n      nWordStart = -1;\n    }\n  }\n\n\tint levelUse = levelCurrent;\n\tint lev = levelUse | levelNext << 16;\n\tif (levelUse < levelNext)\n\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\tif (lev != styler.LevelAt(lineCurrent))\n\t\tstyler.SetLevel(lineCurrent, lev);\n}\n\nstatic const char * const nsisWordLists[] = {\n\t\"Functions\",\n\t\"Variables\",\n\t\"Lables\",\n\t\"UserDefined\",\n\t0, };\n\n\nLexerModule lmNsis(SCLEX_NSIS, ColouriseNsisDoc, \"nsis\", FoldNsisDoc, nsisWordLists);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexNull.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexNull.cxx\n ** Lexer for no language. Used for plain text and unrecognized files.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseNullDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n                            Accessor &styler) {\n\t// Null language means all style bytes are 0 so just mark the end - no need to fill in.\n\tif (length > 0) {\n\t\tstyler.StartAt(startPos + length - 1);\n\t\tstyler.StartSegment(startPos + length - 1);\n\t\tstyler.ColourTo(startPos + length - 1, 0);\n\t}\n}\n\nLexerModule lmNull(SCLEX_NULL, ColouriseNullDoc, \"null\");\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexOScript.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexOScript.cxx\n ** Lexer for OScript sources; ocx files and/or OSpace dumps.\n ** OScript is a programming language used to develop applications for the\n ** Livelink server platform.\n **/\n// Written by Ferdinand Prantl <prantlf@gmail.com>, inspired by the code from\n// LexVB.cxx and LexPascal.cxx. The License.txt file describes the conditions\n// under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// -----------------------------------------\n// Functions classifying a single character.\n\n// This function is generic and should be probably moved to CharSet.h where\n// IsAlphaNumeric the others reside.\ninline bool IsAlpha(int ch) {\n\treturn (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');\n}\n\nstatic inline bool IsIdentifierChar(int ch) {\n\t// Identifiers cannot contain non-ASCII letters; a word with non-English\n\t// language-specific characters cannot be an identifier.\n\treturn IsAlphaNumeric(ch) || ch == '_';\n}\n\nstatic inline bool IsIdentifierStart(int ch) {\n\t// Identifiers cannot contain non-ASCII letters; a word with non-English\n\t// language-specific characters cannot be an identifier.\n\treturn IsAlpha(ch) || ch == '_';\n}\n\nstatic inline bool IsNumberChar(int ch, int chNext) {\n\t// Numeric constructs are not checked for lexical correctness. They are\n\t// expected to look like +1.23-E9 but actually any bunch of the following\n\t// characters will be styled as number.\n\t// KNOWN PROBLEM: if you put + or - operators immediately after a number\n\t// and the next operand starts with the letter E, the operator will not be\n\t// recognized and it will be styled together with the preceding number.\n\t// This should not occur; at least not often. The coding style recommends\n\t// putting spaces around operators.\n\treturn IsADigit(ch) || toupper(ch) == 'E' || ch == '.' ||\n\t\t   ((ch == '-' || ch == '+') && toupper(chNext) == 'E');\n}\n\n// This function checks for the start or a natural number without any symbols\n// or operators as a prefix; the IsPrefixedNumberStart should be called\n// immediately after this one to cover all possible numeric constructs.\nstatic inline bool IsNaturalNumberStart(int ch) {\n\treturn IsADigit(ch) != 0;\n}\n\nstatic inline bool IsPrefixedNumberStart(int ch, int chNext) {\n\t// KNOWN PROBLEM: if you put + or - operators immediately before a number\n\t// the operator will not be recognized and it will be styled together with\n\t// the succeeding number. This should not occur; at least not often. The\n\t// coding style recommends putting spaces around operators.\n\treturn (ch == '.' || ch == '-' || ch == '+') && IsADigit(chNext);\n}\n\nstatic inline bool IsOperator(int ch) {\n\treturn strchr(\"%^&*()-+={}[]:;<>,/?!.~|\\\\\", ch) != NULL;\n}\n\n// ---------------------------------------------------------------\n// Functions classifying a token currently processed in the lexer.\n\n// Checks if the current line starts with the preprocessor directive used\n// usually to introduce documentation comments: #ifdef DOC. This method is\n// supposed to be called if the line has been recognized as a preprocessor\n// directive already.\nstatic bool IsDocCommentStart(StyleContext &sc) {\n\t// Check the line back to its start only if the end looks promising.\n\tif (sc.LengthCurrent() == 10 && !IsAlphaNumeric(sc.ch)) {\n\t\tchar s[11];\n\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\treturn strcmp(s, \"#ifdef doc\") == 0;\n\t}\n\treturn false;\n}\n\n// Checks if the current line starts with the preprocessor directive that\n// is complementary to the #ifdef DOC start: #endif. This method is supposed\n// to be called if the current state point to the documentation comment.\n// QUESTIONAL ASSUMPTION: The complete #endif directive is not checked; just\n// the starting #e. However, there is no other preprocessor directive with\n// the same starting letter and thus this optimization should always work.\nstatic bool IsDocCommentEnd(StyleContext &sc) {\n\treturn sc.ch == '#' && sc.chNext == 'e';\n}\n\nclass IdentifierClassifier {\n\tWordList &keywords;  // Passed from keywords property.\n\tWordList &constants; // Passed from keywords2 property.\n\tWordList &operators; // Passed from keywords3 property.\n\tWordList &types;     // Passed from keywords4 property.\n\tWordList &functions; // Passed from keywords5 property.\n\tWordList &objects;   // Passed from keywords6 property.\n\n\tIdentifierClassifier(IdentifierClassifier const&);\n\tIdentifierClassifier& operator=(IdentifierClassifier const&);\n\npublic:\n\tIdentifierClassifier(WordList *keywordlists[]) :\n\t\tkeywords(*keywordlists[0]), constants(*keywordlists[1]),\n\t\toperators(*keywordlists[2]), types(*keywordlists[3]),\n\t\tfunctions(*keywordlists[4]), objects(*keywordlists[5])\n\t{}\n\n\tvoid ClassifyIdentifier(StyleContext &sc) {\n\t\t// Opening parenthesis following an identifier makes it a possible\n\t\t// function call.\n\t\t// KNOWN PROBLEM: If some whitespace is inserted between the\n\t\t// identifier and the parenthesis they will not be able to be\n\t\t// recognized as a function call. This should not occur; at\n\t\t// least not often. Such coding style would be weird.\n\t\tif (sc.Match('(')) {\n\t\t\tchar s[100];\n\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t// Before an opening brace can be control statements and\n\t\t\t// operators too; function call is the last option.\n\t\t\tif (keywords.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_OSCRIPT_KEYWORD);\n\t\t\t} else if (operators.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_OSCRIPT_OPERATOR);\n\t\t\t} else if (functions.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_OSCRIPT_FUNCTION);\n\t\t\t} else {\n\t\t\t\tsc.ChangeState(SCE_OSCRIPT_METHOD);\n\t\t\t}\n\t\t\tsc.SetState(SCE_OSCRIPT_OPERATOR);\n\t\t} else {\n\t\t\tchar s[100];\n\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t// A dot following an identifier means an access to an object\n\t\t\t// member. The related object identifier can be special.\n\t\t\t// KNOWN PROBLEM: If there is whitespace between the identifier\n\t\t\t// and the following dot, the identifier will not be recognized\n\t\t\t// as an object in an object member access. If it is one of the\n\t\t\t// listed static objects it will not be styled.\n\t\t\tif (sc.Match('.') && objects.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_OSCRIPT_OBJECT);\n\t\t\t\tsc.SetState(SCE_OSCRIPT_OPERATOR);\n\t\t\t} else {\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_KEYWORD);\n\t\t\t\t} else if (constants.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_CONSTANT);\n\t\t\t\t} else if (operators.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_OPERATOR);\n\t\t\t\t} else if (types.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_TYPE);\n\t\t\t\t} else if (functions.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_FUNCTION);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t}\n\t}\n};\n\n// ------------------------------------------------\n// Function colourising an excerpt of OScript code.\n\nstatic void ColouriseOScriptDoc(Sci_PositionU startPos, Sci_Position length,\n\t\t\t\t\t\t\t\tint initStyle, WordList *keywordlists[],\n\t\t\t\t\t\t\t\tAccessor &styler) {\n\t// I wonder how whole-line styles ended by EOLN can escape the resetting\n\t// code in the loop below and overflow to the next line. Let us make sure\n\t// that a new line does not start with them carried from the previous one.\n\t// NOTE: An overflowing string is intentionally not checked; it reminds\n\t// the developer that the string must be ended on the same line.\n\tif (initStyle == SCE_OSCRIPT_LINE_COMMENT ||\n\t\t\tinitStyle == SCE_OSCRIPT_PREPROCESSOR) {\n\t\tinitStyle = SCE_OSCRIPT_DEFAULT;\n\t}\n\n\tstyler.StartAt(startPos);\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tIdentifierClassifier identifierClassifier(keywordlists);\n\n\t// It starts with true at the beginning of a line and changes to false as\n\t// soon as the first non-whitespace character has been processed.\n\tbool isFirstToken = true;\n\t// It starts with true at the beginning of a line and changes to false as\n\t// soon as the first identifier on the line is passed by.\n\tbool isFirstIdentifier = true;\n\t// It becomes false when #ifdef DOC (the preprocessor directive often\n\t// used to start a documentation comment) is encountered and remain false\n\t// until the end of the documentation block is not detected. This is done\n\t// by checking for the complementary #endif preprocessor directive.\n\tbool endDocComment = false;\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart) {\n\t\t\tisFirstToken = true;\n\t\t\tisFirstIdentifier = true;\n\t\t// Detect the current state is neither whitespace nor identifier. It\n\t\t// means that no next identifier can be the first token on the line.\n\t\t} else if (isFirstIdentifier && sc.state != SCE_OSCRIPT_DEFAULT &&\n\t\t\t\t   sc.state != SCE_OSCRIPT_IDENTIFIER) {\n\t\t\tisFirstIdentifier = false;\n\t\t}\n\n\t\t// Check if the current state should be changed.\n\t\tif (sc.state == SCE_OSCRIPT_OPERATOR) {\n\t\t\t// Multiple-symbol operators are marked by single characters.\n\t\t\tsc.SetState(SCE_OSCRIPT_DEFAULT);\n\t\t} else if (sc.state == SCE_OSCRIPT_IDENTIFIER) {\n\t\t\tif (!IsIdentifierChar(sc.ch)) {\n\t\t\t\t// Colon after an identifier makes it a label if it is the\n\t\t\t\t// first token on the line.\n\t\t\t\t// KNOWN PROBLEM: If some whitespace is inserted between the\n\t\t\t\t// identifier and the colon they will not be recognized as a\n\t\t\t\t// label. This should not occur; at least not often. It would\n\t\t\t\t// make the code structure less legible and examples in the\n\t\t\t\t// Livelink documentation do not show it.\n\t\t\t\tif (sc.Match(':') && isFirstIdentifier) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_LABEL);\n\t\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\tidentifierClassifier.ClassifyIdentifier(sc);\n\t\t\t\t}\n\t\t\t\t// Avoid a sequence of two words be mistaken for a label. A\n\t\t\t\t// switch case would be an example.\n\t\t\t\tisFirstIdentifier = false;\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_GLOBAL) {\n\t\t\tif (!IsIdentifierChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_PROPERTY) {\n\t\t\tif (!IsIdentifierChar(sc.ch)) {\n\t\t\t\t// Any member access introduced by the dot operator is\n\t\t\t\t// initially marked as a property access. If an opening\n\t\t\t\t// parenthesis is detected later it is changed to method call.\n\t\t\t\t// KNOWN PROBLEM: The same as at the function call recognition\n\t\t\t\t// for SCE_OSCRIPT_IDENTIFIER above.\n\t\t\t\tif (sc.Match('(')) {\n\t\t\t\t\tsc.ChangeState(SCE_OSCRIPT_METHOD);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_NUMBER) {\n\t\t\tif (!IsNumberChar(sc.ch, sc.chNext)) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_SINGLEQUOTE_STRING) {\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\t// Two consequential apostrophes convert to a single one.\n\t\t\t\tif (sc.chNext == '\\'') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_DOUBLEQUOTE_STRING) {\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\t// Two consequential quotation marks convert to a single one.\n\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_BLOCK_COMMENT) {\n\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_LINE_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_PREPROCESSOR) {\n\t\t\tif (IsDocCommentStart(sc)) {\n\t\t\t\tsc.ChangeState(SCE_OSCRIPT_DOC_COMMENT);\n\t\t\t\tendDocComment = false;\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_OSCRIPT_DOC_COMMENT) {\n\t\t\t// KNOWN PROBLEM: The first line detected that would close a\n\t\t\t// conditional preprocessor block (#endif) the documentation\n\t\t\t// comment block will end. (Nested #if-#endif blocks are not\n\t\t\t// supported. Hopefully it will not occur often that a line\n\t\t\t// within the text block would stat with #endif.\n\t\t\tif (isFirstToken && IsDocCommentEnd(sc)) {\n\t\t\t\tendDocComment = true;\n\t\t\t} else if (sc.atLineEnd && endDocComment) {\n\t\t\t\tsc.ForwardSetState(SCE_OSCRIPT_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Check what state starts with the current character.\n\t\tif (sc.state == SCE_OSCRIPT_DEFAULT) {\n\t\t\tif (sc.Match('\\'')) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_SINGLEQUOTE_STRING);\n\t\t\t} else if (sc.Match('\\\"')) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_DOUBLEQUOTE_STRING);\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_LINE_COMMENT);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_BLOCK_COMMENT);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (isFirstToken && sc.Match('#')) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_PREPROCESSOR);\n\t\t\t} else if (sc.Match('$')) {\n\t\t\t\t// Both process-global ($xxx) and thread-global ($$xxx)\n\t\t\t\t// variables are handled as one global.\n\t\t\t\tsc.SetState(SCE_OSCRIPT_GLOBAL);\n\t\t\t} else if (IsNaturalNumberStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_NUMBER);\n\t\t\t} else if (IsPrefixedNumberStart(sc.ch, sc.chNext)) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_NUMBER);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('.') && IsIdentifierStart(sc.chNext)) {\n\t\t\t\t// Every object member access is marked as a property access\n\t\t\t\t// initially. The decision between property and method is made\n\t\t\t\t// after parsing the identifier and looking what comes then.\n\t\t\t\t// KNOWN PROBLEM: If there is whitespace between the following\n\t\t\t\t// identifier and the dot, the dot will not be recognized\n\t\t\t\t// as a member accessing operator. In turn, the identifier\n\t\t\t\t// will not be recognizable as a property or a method too.\n\t\t\t\tsc.SetState(SCE_OSCRIPT_OPERATOR);\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState(SCE_OSCRIPT_PROPERTY);\n\t\t\t} else if (IsIdentifierStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_IDENTIFIER);\n\t\t\t} else if (IsOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_OSCRIPT_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\tif (isFirstToken && !IsASpaceOrTab(sc.ch)) {\n\t\t\tisFirstToken = false;\n\t\t}\n\t}\n\n\tsc.Complete();\n}\n\n// ------------------------------------------\n// Functions supporting OScript code folding.\n\nstatic inline bool IsBlockComment(int style) {\n\treturn style == SCE_OSCRIPT_BLOCK_COMMENT;\n}\n\nstatic bool IsLineComment(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eolPos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eolPos; i++) {\n\t\tchar ch = styler[i];\n\t\tchar chNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i);\n\t\tif (ch == '/' && chNext == '/' && style == SCE_OSCRIPT_LINE_COMMENT) {\n\t\t\treturn true;\n\t\t} else if (!IsASpaceOrTab(ch)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n}\n\nstatic inline bool IsPreprocessor(int style) {\n\treturn style == SCE_OSCRIPT_PREPROCESSOR ||\n\t\t   style == SCE_OSCRIPT_DOC_COMMENT;\n}\n\nstatic void GetRangeLowered(Sci_PositionU start, Sci_PositionU end,\n\t\t\t\t\t\t\tAccessor &styler, char *s, Sci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile (i < end - start + 1 && i < len - 1) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic void GetForwardWordLowered(Sci_PositionU start, Accessor &styler,\n\t\t\t\t\t\t\t\t  char *s, Sci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile (i < len - 1 && IsAlpha(styler.SafeGetCharAt(start + i))) {\n\t\ts[i] = static_cast<char>(tolower(styler.SafeGetCharAt(start + i)));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic void UpdatePreprocessorFoldLevel(int &levelCurrent,\n\t\tSci_PositionU startPos, Accessor &styler) {\n\tchar s[7]; // Size of the longest possible keyword + null.\n\tGetForwardWordLowered(startPos, styler, s, sizeof(s));\n\n\tif (strcmp(s, \"ifdef\") == 0 ||\n\t\tstrcmp(s, \"ifndef\") == 0) {\n\t\tlevelCurrent++;\n\t} else if (strcmp(s, \"endif\") == 0) {\n\t\tlevelCurrent--;\n\t\tif (levelCurrent < SC_FOLDLEVELBASE) {\n\t\t\tlevelCurrent = SC_FOLDLEVELBASE;\n\t\t}\n\t}\n}\n\nstatic void UpdateKeywordFoldLevel(int &levelCurrent, Sci_PositionU lastStart,\n\t\tSci_PositionU currentPos, Accessor &styler) {\n\tchar s[9];\n\tGetRangeLowered(lastStart, currentPos, styler, s, sizeof(s));\n\n\tif (strcmp(s, \"if\") == 0 || strcmp(s, \"for\") == 0 ||\n\t\tstrcmp(s, \"switch\") == 0 || strcmp(s, \"function\") == 0 ||\n\t\tstrcmp(s, \"while\") == 0 || strcmp(s, \"repeat\") == 0) {\n\t\tlevelCurrent++;\n\t} else if (strcmp(s, \"end\") == 0 || strcmp(s, \"until\") == 0) {\n\t\tlevelCurrent--;\n\t\tif (levelCurrent < SC_FOLDLEVELBASE) {\n\t\t\tlevelCurrent = SC_FOLDLEVELBASE;\n\t\t}\n\t}\n}\n\n// ------------------------------\n// Function folding OScript code.\n\nstatic void FoldOScriptDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t\t   WordList *[], Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldPreprocessor = styler.GetPropertyInt(\"fold.preprocessor\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_Position endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tSci_Position lastStart = 0;\n\n\tfor (Sci_Position i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atLineEnd = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (foldComment && IsBlockComment(style)) {\n\t\t\tif (!IsBlockComment(stylePrev)) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (!IsBlockComment(styleNext) && !atLineEnd) {\n\t\t\t\t// Comments do not end at end of line and the next character\n\t\t\t\t// may not be styled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (foldComment && atLineEnd && IsLineComment(lineCurrent, styler)) {\n\t\t\tif (!IsLineComment(lineCurrent - 1, styler) &&\n\t\t\t\tIsLineComment(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (IsLineComment(lineCurrent - 1, styler) &&\n\t\t\t\t\t !IsLineComment(lineCurrent+1, styler))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\tif (foldPreprocessor) {\n\t\t\tif (ch == '#' && IsPreprocessor(style)) {\n\t\t\t\tUpdatePreprocessorFoldLevel(levelCurrent, i + 1, styler);\n\t\t\t}\n\t\t}\n\n\t\tif (stylePrev != SCE_OSCRIPT_KEYWORD && style == SCE_OSCRIPT_KEYWORD) {\n\t\t\tlastStart = i;\n\t\t}\n\t\tif (stylePrev == SCE_OSCRIPT_KEYWORD) {\n\t\t\tif(IsIdentifierChar(ch) && !IsIdentifierChar(chNext)) {\n\t\t\t\tUpdateKeywordFoldLevel(levelCurrent, lastStart, i, styler);\n\t\t\t}\n\t\t}\n\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\n\t\tif (atLineEnd) {\n\t\t\tint level = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlevel |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (level != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, level);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t}\n\n\t// If we did not reach EOLN in the previous loop, store the line level and\n\t// whitespace information. The rest will be filled in later.\n\tint lev = levelPrev;\n\tif (visibleChars == 0 && foldCompact)\n\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\tstyler.SetLevel(lineCurrent, lev);\n}\n\n// --------------------------------------------\n// Declaration of the OScript lexer descriptor.\n\nstatic const char * const oscriptWordListDesc[] = {\n\t\"Keywords and reserved words\",\n\t\"Literal constants\",\n\t\"Literal operators\",\n\t\"Built-in value and reference types\",\n\t\"Built-in global functions\",\n\t\"Built-in static objects\",\n\t0\n};\n\nLexerModule lmOScript(SCLEX_OSCRIPT, ColouriseOScriptDoc, \"oscript\", FoldOScriptDoc, oscriptWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexOpal.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexOpal.cxx\n ** Lexer for OPAL (functional language similar to Haskell)\n ** Written by Sebastian Pipping <webmaster@hartwork.org>\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\ninline static void getRange( Sci_PositionU start, Sci_PositionU end, Accessor & styler, char * s, Sci_PositionU len )\n{\n\tSci_PositionU i = 0;\n\twhile( ( i < end - start + 1 ) && ( i < len - 1 ) )\n\t{\n\t\ts[i] = static_cast<char>( styler[ start + i ] );\n\t\ti++;\n\t}\n\ts[ i ] = '\\0';\n}\n\ninline bool HandleString( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler )\n{\n\tchar ch;\n\n\t// Wait for string to close\n\tbool even_backslash_count = true; // Without gaps in between\n\tcur++; // Skip initial quote\n\tfor( ; ; )\n\t{\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_STRING );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( ( ch == '\\015' ) || ( ch == '\\012' ) ) // Deny multi-line strings\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_STRING );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif( even_backslash_count )\n\t\t\t{\n\t\t\t\tif( ch == '\"' )\n\t\t\t\t{\n\t\t\t\t\tstyler.ColourTo( cur, SCE_OPAL_STRING );\n\t\t\t\t\tcur++;\n\t\t\t\t\tif( cur >= one_too_much )\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false; // STOP\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstyler.StartSegment( cur );\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if( ch == '\\\\' )\n\t\t\t\t{\n\t\t\t\t\teven_backslash_count = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\teven_backslash_count = true;\n\t\t\t}\n\t\t}\n\n\t\tcur++;\n\t}\n}\n\ninline bool HandleCommentBlock( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler, bool could_fail )\n{\n\tchar ch;\n\n\tif( could_fail )\n\t{\n\t\tcur++;\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( ch != '*' )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Wait for comment close\n\tcur++;\n\tbool star_found = false;\n\tfor( ; ; )\n\t{\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_COMMENT_BLOCK );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( star_found )\n\t\t{\n\t\t\tif( ch == '/' )\n\t\t\t{\n\t\t\t\tstyler.ColourTo( cur, SCE_OPAL_COMMENT_BLOCK );\n\t\t\t\tcur++;\n\t\t\t\tif( cur >= one_too_much )\n\t\t\t\t{\n\t\t\t\t\treturn false; // STOP\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstyler.StartSegment( cur );\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if( ch != '*' )\n\t\t\t{\n\t\t\t\tstar_found = false;\n\t\t\t}\n\t\t}\n\t\telse if( ch == '*' )\n\t\t{\n\t\t\tstar_found = true;\n\t\t}\n\t\tcur++;\n\t}\n}\n\ninline bool HandleCommentLine( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler, bool could_fail )\n{\n\tchar ch;\n\n\tif( could_fail )\n\t{\n\t\tcur++;\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( ch != '-' )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\n\t\tcur++;\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( ( ch != ' ' ) && ( ch != '\\t' ) )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Wait for end of line\n\tbool fifteen_found = false;\n\n\tfor( ; ; )\n\t{\n\t\tcur++;\n\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_COMMENT_LINE );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( fifteen_found )\n\t\t{\n/*\n\t\t\tif( ch == '\\012' )\n\t\t\t{\n\t\t\t\t// One newline on Windows (015, 012)\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// One newline on MAC (015) and another char\n\t\t\t}\n*/\n\t\t\tcur--;\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_COMMENT_LINE );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif( ch == '\\015' )\n\t\t\t{\n\t\t\t\tfifteen_found = true;\n\t\t\t}\n\t\t\telse if( ch == '\\012' )\n\t\t\t{\n\t\t\t\t// One newline on Linux (012)\n\t\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_COMMENT_LINE );\n\t\t\t\tstyler.StartSegment( cur );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n}\n\ninline bool HandlePar( Sci_PositionU & cur, Accessor & styler )\n{\n\tstyler.ColourTo( cur, SCE_OPAL_PAR );\n\n\tcur++;\n\n\tstyler.StartSegment( cur );\n\treturn true;\n}\n\ninline bool HandleSpace( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler )\n{\n\tchar ch;\n\n\tcur++;\n\tfor( ; ; )\n\t{\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_SPACE );\n\t\t\treturn false;\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tswitch( ch )\n\t\t{\n\t\tcase ' ':\n\t\tcase '\\t':\n\t\tcase '\\015':\n\t\tcase '\\012':\n\t\t\tcur++;\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_SPACE );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n}\n\ninline bool HandleInteger( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler )\n{\n\tchar ch;\n\n\tfor( ; ; )\n\t{\n\t\tcur++;\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_INTEGER );\n\t\t\treturn false; // STOP\n\t\t}\n\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( !( IsASCII( ch ) && isdigit( ch ) ) )\n\t\t{\n\t\t\tstyler.ColourTo( cur - 1, SCE_OPAL_INTEGER );\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n}\n\ninline bool HandleWord( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler, WordList * keywordlists[] )\n{\n\tchar ch;\n\tconst Sci_PositionU beg = cur;\n\n\tcur++;\n\tfor( ; ; )\n\t{\n\t\tch = styler.SafeGetCharAt( cur );\n\t\tif( ( ch != '_' ) && ( ch != '-' ) &&\n\t\t\t!( IsASCII( ch ) && ( islower( ch ) || isupper( ch ) || isdigit( ch ) ) ) ) break;\n\n\t\tcur++;\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst Sci_Position ide_len = cur - beg + 1;\n\tchar * ide = new char[ ide_len ];\n\tgetRange( beg, cur, styler, ide, ide_len );\n\n\tWordList & keywords    = *keywordlists[ 0 ];\n\tWordList & classwords  = *keywordlists[ 1 ];\n\n\tif( keywords.InList( ide ) ) // Keyword\n\t{\n\t\tdelete [] ide;\n\n\t\tstyler.ColourTo( cur - 1, SCE_OPAL_KEYWORD );\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\treturn false; // STOP\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n\telse if( classwords.InList( ide ) ) // Sort\n\t{\n\t\tdelete [] ide;\n\n\t\tstyler.ColourTo( cur - 1, SCE_OPAL_SORT );\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\treturn false; // STOP\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n\telse if( !strcmp( ide, \"true\" ) || !strcmp( ide, \"false\" ) ) // Bool const\n\t{\n\t\tdelete [] ide;\n\n\t\tstyler.ColourTo( cur - 1, SCE_OPAL_BOOL_CONST );\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\treturn false; // STOP\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n\telse // Unknown keyword\n\t{\n\t\tdelete [] ide;\n\n\t\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\t\tif( cur >= one_too_much )\n\t\t{\n\t\t\treturn false; // STOP\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstyler.StartSegment( cur );\n\t\t\treturn true;\n\t\t}\n\t}\n\n}\n\ninline bool HandleSkip( Sci_PositionU & cur, Sci_PositionU one_too_much, Accessor & styler )\n{\n\tcur++;\n\tstyler.ColourTo( cur - 1, SCE_OPAL_DEFAULT );\n\tif( cur >= one_too_much )\n\t{\n\t\treturn false; // STOP\n\t}\n\telse\n\t{\n\t\tstyler.StartSegment( cur );\n\t\treturn true;\n\t}\n}\n\nstatic void ColouriseOpalDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor & styler )\n{\n\tstyler.StartAt( startPos );\n\tstyler.StartSegment( startPos );\n\n\tSci_PositionU & cur = startPos;\n\tconst Sci_PositionU one_too_much = startPos + length;\n\n\tint state = initStyle;\n\n\tfor( ; ; )\n\t{\n\t\tswitch( state )\n\t\t{\n\t\tcase SCE_OPAL_KEYWORD:\n\t\tcase SCE_OPAL_SORT:\n\t\t\tif( !HandleWord( cur, one_too_much, styler, keywordlists ) ) return;\n\t\t\tstate = SCE_OPAL_DEFAULT;\n\t\t\tbreak;\n\n\t\tcase SCE_OPAL_INTEGER:\n\t\t\tif( !HandleInteger( cur, one_too_much, styler ) ) return;\n\t\t\tstate = SCE_OPAL_DEFAULT;\n\t\t\tbreak;\n\n\t\tcase SCE_OPAL_COMMENT_BLOCK:\n\t\t\tif( !HandleCommentBlock( cur, one_too_much, styler, false ) ) return;\n\t\t\tstate = SCE_OPAL_DEFAULT;\n\t\t\tbreak;\n\n\t\tcase SCE_OPAL_COMMENT_LINE:\n\t\t\tif( !HandleCommentLine( cur, one_too_much, styler, false ) ) return;\n\t\t\tstate = SCE_OPAL_DEFAULT;\n\t\t\tbreak;\n\n\t\tcase SCE_OPAL_STRING:\n\t\t\tif( !HandleString( cur, one_too_much, styler ) ) return;\n\t\t\tstate = SCE_OPAL_DEFAULT;\n\t\t\tbreak;\n\n\t\tdefault: // SCE_OPAL_DEFAULT:\n\t\t\t{\n\t\t\t\tchar ch = styler.SafeGetCharAt( cur );\n\n\t\t\t\tswitch( ch )\n\t\t\t\t{\n\t\t\t\t// String\n\t\t\t\tcase '\"':\n\t\t\t\t\tif( !HandleString( cur, one_too_much, styler ) ) return;\n\t\t\t\t\tbreak;\n\n\t\t\t\t// Comment block\n\t\t\t\tcase '/':\n\t\t\t\t\tif( !HandleCommentBlock( cur, one_too_much, styler, true ) ) return;\n\t\t\t\t\tbreak;\n\n\t\t\t\t// Comment line\n\t\t\t\tcase '-':\n\t\t\t\t\tif( !HandleCommentLine( cur, one_too_much, styler, true ) ) return;\n\t\t\t\t\tbreak;\n\n\t\t\t\t// Par\n\t\t\t\tcase '(':\n\t\t\t\tcase ')':\n\t\t\t\tcase '[':\n\t\t\t\tcase ']':\n\t\t\t\tcase '{':\n\t\t\t\tcase '}':\n\t\t\t\t\tif( !HandlePar( cur, styler ) ) return;\n\t\t\t\t\tbreak;\n\n\t\t\t\t// Whitespace\n\t\t\t\tcase ' ':\n\t\t\t\tcase '\\t':\n\t\t\t\tcase '\\015':\n\t\t\t\tcase '\\012':\n\t\t\t\t\tif( !HandleSpace( cur, one_too_much, styler ) ) return;\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\t{\n\t\t\t\t\t\t// Integer\n\t\t\t\t\t\tif( IsASCII( ch ) && isdigit( ch ) )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( !HandleInteger( cur, one_too_much, styler ) ) return;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Keyword\n\t\t\t\t\t\telse if( IsASCII( ch ) && ( islower( ch ) || isupper( ch ) ) )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( !HandleWord( cur, one_too_much, styler, keywordlists ) ) return;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Skip\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( !HandleSkip( cur, one_too_much, styler ) ) return;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n\nstatic const char * const opalWordListDesc[] = {\n\t\"Keywords\",\n\t\"Sorts\",\n\t0\n};\n\nLexerModule lmOpal(SCLEX_OPAL, ColouriseOpalDoc, \"opal\", NULL, opalWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPB.cpp",
    "content": "// Scintilla source code edit control\n// @file LexPB.cxx\n// Lexer for PowerBasic by Roland Walter, roland@rowalt.de (for PowerBasic see www.powerbasic.com)\n//\n// Changes:\n// 17.10.2003: Toggling of subs/functions now until next sub/function - this gives better results\n// 29.10.2003: 1. Bug: Toggling didn't work for subs/functions added in editor\n//             2. Own colors for PB constants and Inline Assembler SCE_B_CONSTANT and SCE_B_ASM\n//             3. Several smaller syntax coloring improvements and speed optimizations\n// 12.07.2004: 1. Toggling for macros added\n//             2. Further folding speed optimitations (for people dealing with very large listings)\n//\n// Necessary changes for the PB lexer in Scintilla project:\n//  - In SciLexer.h and Scintilla.iface:\n//\n//    #define SCLEX_POWERBASIC 51       //ID for PowerBasic lexer\n//    (...)\n//    #define SCE_B_DEFAULT 0           //in both VB and PB lexer\n//    #define SCE_B_COMMENT 1           //in both VB and PB lexer\n//    #define SCE_B_NUMBER 2            //in both VB and PB lexer\n//    #define SCE_B_KEYWORD 3           //in both VB and PB lexer\n//    #define SCE_B_STRING 4            //in both VB and PB lexer\n//    #define SCE_B_PREPROCESSOR 5      //VB lexer only, not in PB lexer\n//    #define SCE_B_OPERATOR 6          //in both VB and PB lexer\n//    #define SCE_B_IDENTIFIER 7        //in both VB and PB lexer\n//    #define SCE_B_DATE 8              //VB lexer only, not in PB lexer\n//    #define SCE_B_CONSTANT 13         //PB lexer only, not in VB lexer\n//    #define SCE_B_ASM 14              //PB lexer only, not in VB lexer\n\n//  - Statement added to KeyWords.cxx:      'LINK_LEXER(lmPB);'\n//  - Statement added to scintilla_vc6.mak: '$(DIR_O)\\LexPB.obj: ...\\src\\LexPB.cxx $(LEX_HEADERS)'\n//\n// Copyright for Scintilla: 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsTypeCharacter(const int ch)\n{\n    return ch == '%' || ch == '&' || ch == '@' || ch == '!' || ch == '#' || ch == '$' || ch == '?';\n}\n\nstatic inline bool IsAWordChar(const int ch)\n{\n    return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_');\n}\n\nstatic inline bool IsAWordStart(const int ch)\n{\n    return (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic bool MatchUpperCase(Accessor &styler, Sci_Position pos, const char *s)   //Same as styler.Match() but uppercase comparison (a-z,A-Z and space only)\n{\n    char ch;\n    for (Sci_Position i=0; *s; i++)\n    {\n        ch=styler.SafeGetCharAt(pos+i);\n        if (ch > 0x60) ch -= '\\x20';\n        if (*s != ch) return false;\n        s++;\n    }\n    return true;\n}\n\nstatic void ColourisePBDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,WordList *keywordlists[],Accessor &styler) {\n\n    WordList &keywords = *keywordlists[0];\n\n    styler.StartAt(startPos);\n\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    for (; sc.More(); sc.Forward()) {\n        switch (sc.state)\n        {\n            case SCE_B_OPERATOR:\n            {\n                sc.SetState(SCE_B_DEFAULT);\n                break;\n            }\n            case SCE_B_KEYWORD:\n            {\n                if (!IsAWordChar(sc.ch))\n                {\n                    if (!IsTypeCharacter(sc.ch))\n                    {\n                        char s[100];\n                        sc.GetCurrentLowered(s, sizeof(s));\n                        if (keywords.InList(s))\n                        {\n                            if (strcmp(s, \"rem\") == 0)\n                            {\n                                sc.ChangeState(SCE_B_COMMENT);\n                                if (sc.atLineEnd) {sc.SetState(SCE_B_DEFAULT);}\n                            }\n                            else if (strcmp(s, \"asm\") == 0)\n                            {\n                                sc.ChangeState(SCE_B_ASM);\n                                if (sc.atLineEnd) {sc.SetState(SCE_B_DEFAULT);}\n                            }\n                            else\n                            {\n                                sc.SetState(SCE_B_DEFAULT);\n                            }\n                        }\n                        else\n                        {\n                            sc.ChangeState(SCE_B_IDENTIFIER);\n                            sc.SetState(SCE_B_DEFAULT);\n                        }\n                    }\n                }\n                break;\n            }\n            case SCE_B_NUMBER:\n            {\n                if (!IsAWordChar(sc.ch)) {sc.SetState(SCE_B_DEFAULT);}\n                break;\n            }\n            case SCE_B_STRING:\n            {\n                if (sc.ch == '\\\"'){sc.ForwardSetState(SCE_B_DEFAULT);}\n                break;\n            }\n            case SCE_B_CONSTANT:\n            {\n                if (!IsAWordChar(sc.ch)) {sc.SetState(SCE_B_DEFAULT);}\n                break;\n            }\n            case SCE_B_COMMENT:\n            {\n                if (sc.atLineEnd) {sc.SetState(SCE_B_DEFAULT);}\n                break;\n            }\n            case SCE_B_ASM:\n            {\n                if (sc.atLineEnd) {sc.SetState(SCE_B_DEFAULT);}\n                break;\n            }\n        }  //switch (sc.state)\n\n        // Determine if a new state should be entered:\n        if (sc.state == SCE_B_DEFAULT)\n        {\n            if (sc.ch == '\\'') {sc.SetState(SCE_B_COMMENT);}\n            else if (sc.ch == '\\\"') {sc.SetState(SCE_B_STRING);}\n            else if (sc.ch == '&' && tolower(sc.chNext) == 'h') {sc.SetState(SCE_B_NUMBER);}\n            else if (sc.ch == '&' && tolower(sc.chNext) == 'b') {sc.SetState(SCE_B_NUMBER);}\n            else if (sc.ch == '&' && tolower(sc.chNext) == 'o') {sc.SetState(SCE_B_NUMBER);}\n            else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {sc.SetState(SCE_B_NUMBER);}\n            else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_B_KEYWORD);}\n            else if (sc.ch == '%') {sc.SetState(SCE_B_CONSTANT);}\n            else if (sc.ch == '$') {sc.SetState(SCE_B_CONSTANT);}\n            else if (sc.ch == '#') {sc.SetState(SCE_B_KEYWORD);}\n            else if (sc.ch == '!') {sc.SetState(SCE_B_ASM);}\n            else if (isoperator(static_cast<char>(sc.ch)) || (sc.ch == '\\\\')) {sc.SetState(SCE_B_OPERATOR);}\n        }\n    }      //for (; sc.More(); sc.Forward())\n    sc.Complete();\n}\n\n//The folding routine for PowerBasic toggles SUBs and FUNCTIONs only. This was exactly what I wanted,\n//nothing more. I had worked with this kind of toggling for several years when I used the great good old\n//GFA Basic which is dead now. After testing the feature of toggling FOR-NEXT loops, WHILE-WEND loops\n//and so on too I found this is more disturbing then helping (for me). So if You think in another way\n//you can (or must) write Your own toggling routine ;-)\nstatic void FoldPBDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n    // No folding enabled, no reason to continue...\n    if( styler.GetPropertyInt(\"fold\") == 0 )\n        return;\n\n    Sci_PositionU endPos = startPos + length;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelCurrent = SC_FOLDLEVELBASE;\n    if (lineCurrent > 0)\n        levelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n    int levelNext = levelCurrent;\n    char chNext = styler[startPos];\n\n    bool fNewLine=true;\n    bool fMightBeMultiLineMacro=false;\n    bool fBeginOfCommentFound=false;\n    for (Sci_PositionU i = startPos; i < endPos; i++)\n    {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n\n        if (fNewLine)            //Begin of a new line (The Sub/Function/Macro keywords may occur at begin of line only)\n        {\n            fNewLine=false;\n            fBeginOfCommentFound=false;\n            switch (ch)\n            {\n            case ' ':      //Most lines start with space - so check this first, the code is the same as for 'default:'\n            case '\\t':     //Handle tab too\n                {\n                    int levelUse = levelCurrent;\n                    int lev = levelUse | levelNext << 16;\n                    styler.SetLevel(lineCurrent, lev);\n                    break;\n                }\n            case 'F':\n            case 'f':\n                {\n\t\t\t\t\tswitch (chNext)\n\t\t\t\t\t{\n                    case 'U':\n                    case 'u':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( MatchUpperCase(styler,i,\"FUNCTION\") )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstyler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG);\n\t\t\t\t\t\t\t\tlevelNext=SC_FOLDLEVELBASE+1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n                break;\n                }\n            case 'S':\n            case 's':\n                {\n\t\t\t\t\tswitch (chNext)\n\t\t\t\t\t{\n                    case 'U':\n                    case 'u':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( MatchUpperCase(styler,i,\"SUB\") )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstyler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG);\n\t\t\t\t\t\t\t\tlevelNext=SC_FOLDLEVELBASE+1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n                    case 'T':\n                    case 't':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( MatchUpperCase(styler,i,\"STATIC FUNCTION\") )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstyler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG);\n\t\t\t\t\t\t\t\tlevelNext=SC_FOLDLEVELBASE+1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if( MatchUpperCase(styler,i,\"STATIC SUB\") )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstyler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG);\n\t\t\t\t\t\t\t\tlevelNext=SC_FOLDLEVELBASE+1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n                break;\n                }\n            case 'C':\n            case 'c':\n                {\n\t\t\t\t\tswitch (chNext)\n\t\t\t\t\t{\n                    case 'A':\n                    case 'a':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( MatchUpperCase(styler,i,\"CALLBACK FUNCTION\") )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstyler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG);\n\t\t\t\t\t\t\t\tlevelNext=SC_FOLDLEVELBASE+1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n                break;\n                }\n            case 'M':\n            case 'm':\n                {\n\t\t\t\t\tswitch (chNext)\n\t\t\t\t\t{\n                    case 'A':\n                    case 'a':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif( MatchUpperCase(styler,i,\"MACRO\") )\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfMightBeMultiLineMacro=true;  //Set folder level at end of line, we have to check for single line macro\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n                break;\n                }\n            default:\n                {\n                    int levelUse = levelCurrent;\n                    int lev = levelUse | levelNext << 16;\n                    styler.SetLevel(lineCurrent, lev);\n                    break;\n                }\n            }  //switch (ch)\n        }  //if( fNewLine )\n\n        switch (ch)\n        {\n            case '=':                              //To test single line macros\n            {\n                if (fBeginOfCommentFound==false)\n                    fMightBeMultiLineMacro=false;  //The found macro is a single line macro only;\n                break;\n            }\n            case '\\'':                             //A comment starts\n            {\n                fBeginOfCommentFound=true;\n                break;\n            }\n            case '\\n':\n            {\n                if (fMightBeMultiLineMacro)        //The current line is the begin of a multi line macro\n                {\n                    fMightBeMultiLineMacro=false;\n                    styler.SetLevel(lineCurrent, (SC_FOLDLEVELBASE << 16) | SC_FOLDLEVELHEADERFLAG);\n                    levelNext=SC_FOLDLEVELBASE+1;\n                }\n                lineCurrent++;\n                levelCurrent = levelNext;\n                fNewLine=true;\n                break;\n            }\n            case '\\r':\n            {\n                if (chNext != '\\n')\n                {\n                    lineCurrent++;\n                    levelCurrent = levelNext;\n                    fNewLine=true;\n                }\n                break;\n            }\n        }  //switch (ch)\n    }  //for (Sci_PositionU i = startPos; i < endPos; i++)\n}\n\nstatic const char * const pbWordListDesc[] = {\n    \"Keywords\",\n    0\n};\n\nLexerModule lmPB(SCLEX_POWERBASIC, ColourisePBDoc, \"powerbasic\", FoldPBDoc, pbWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPLM.cpp",
    "content": "// Copyright (c) 1990-2007, Scientific Toolworks, Inc.\n// Author: Jason Haslam\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void GetRange(Sci_PositionU start,\n                     Sci_PositionU end,\n                     Accessor &styler,\n                     char *s,\n                     Sci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic void ColourisePlmDoc(Sci_PositionU startPos,\n                            Sci_Position length,\n                            int initStyle,\n                            WordList *keywordlists[],\n                            Accessor &styler)\n{\n\tSci_PositionU endPos = startPos + length;\n\tint state = initStyle;\n\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = styler.SafeGetCharAt(i);\n\t\tchar chNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif (state == SCE_PLM_DEFAULT) {\n\t\t\tif (ch == '/' && chNext == '*') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_COMMENT;\n\t\t\t} else if (ch == '\\'') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_STRING;\n\t\t\t} else if (isdigit(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_NUMBER;\n\t\t\t} else if (isalpha(ch)) {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_IDENTIFIER;\n\t\t\t} else if (ch == '+' || ch == '-' || ch == '*' || ch == '/' ||\n\t\t\t           ch == '=' || ch == '<' || ch == '>' || ch == ':') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_OPERATOR;\n\t\t\t} else if (ch == '$') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_CONTROL;\n\t\t\t}\n\t\t} else if (state == SCE_PLM_COMMENT) {\n\t\t\tif (ch == '*' && chNext == '/') {\n\t\t\t\ti++;\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_PLM_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_PLM_STRING) {\n\t\t\tif (ch == '\\'') {\n\t\t\t\tif (chNext == '\\'') {\n\t\t\t\t\ti++;\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\t\tstate = SCE_PLM_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (state == SCE_PLM_NUMBER) {\n\t\t\tif (!isdigit(ch) && !isalpha(ch) && ch != '$') {\n\t\t\t\ti--;\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_PLM_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_PLM_IDENTIFIER) {\n\t\t\tif (!isdigit(ch) && !isalpha(ch) && ch != '$') {\n\t\t\t\t// Get the entire identifier.\n\t\t\t\tchar word[1024];\n\t\t\t\tSci_Position segmentStart = styler.GetStartSegment();\n\t\t\t\tGetRange(segmentStart, i - 1, styler, word, sizeof(word));\n\n\t\t\t\ti--;\n\t\t\t\tif (keywordlists[0]->InList(word))\n\t\t\t\t\tstyler.ColourTo(i, SCE_PLM_KEYWORD);\n\t\t\t\telse\n\t\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_PLM_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_PLM_OPERATOR) {\n\t\t\tif (ch != '=' && ch != '>') {\n\t\t\t\ti--;\n\t\t\t\tstyler.ColourTo(i, state);\n\t\t\t\tstate = SCE_PLM_DEFAULT;\n\t\t\t}\n\t\t} else if (state == SCE_PLM_CONTROL) {\n\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\tstyler.ColourTo(i - 1, state);\n\t\t\t\tstate = SCE_PLM_DEFAULT;\n\t\t\t}\n\t\t}\n\t}\n\tstyler.ColourTo(endPos - 1, state);\n}\n\nstatic void FoldPlmDoc(Sci_PositionU startPos,\n                       Sci_Position length,\n                       int initStyle,\n                       WordList *[],\n                       Accessor &styler)\n{\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tSci_Position startKeyword = 0;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (stylePrev != SCE_PLM_KEYWORD && style == SCE_PLM_KEYWORD)\n\t\t\tstartKeyword = i;\n\n\t\tif (style == SCE_PLM_KEYWORD && styleNext != SCE_PLM_KEYWORD) {\n\t\t\tchar word[1024];\n\t\t\tGetRange(startKeyword, i, styler, word, sizeof(word));\n\n\t\t\tif (strcmp(word, \"procedure\") == 0 || strcmp(word, \"do\") == 0)\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (strcmp(word, \"end\") == 0)\n\t\t\t\tlevelCurrent--;\n\t\t}\n\n\t\tif (foldComment) {\n\t\t\tif (stylePrev != SCE_PLM_COMMENT && style == SCE_PLM_COMMENT)\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (stylePrev == SCE_PLM_COMMENT && style != SCE_PLM_COMMENT)\n\t\t\t\tlevelCurrent--;\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char *const plmWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmPLM(SCLEX_PLM, ColourisePlmDoc, \"PL/M\", FoldPlmDoc, plmWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPO.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPO.cxx\n ** Lexer for GetText Translation (PO) files.\n **/\n// Copyright 2012 by Colomban Wendling <ban@herbesfolles.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// see https://www.gnu.org/software/gettext/manual/gettext.html#PO-Files for the syntax reference\n// some details are taken from the GNU msgfmt behavior (like that indent is allows in front of lines)\n\n// TODO:\n// * add keywords for flags (fuzzy, c-format, ...)\n// * highlight formats inside c-format strings (%s, %d, etc.)\n// * style for previous untranslated string? (\"#|\" comment)\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColourisePODoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) {\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tbool escaped = false;\n\tSci_Position curLine = styler.GetLine(startPos);\n\t// the line state holds the last state on or before the line that isn't the default style\n\tint curLineState = curLine > 0 ? styler.GetLineState(curLine - 1) : SCE_PO_DEFAULT;\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\t// whether we should leave a state\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_PO_COMMENT:\n\t\t\tcase SCE_PO_PROGRAMMER_COMMENT:\n\t\t\tcase SCE_PO_REFERENCE:\n\t\t\tcase SCE_PO_FLAGS:\n\t\t\tcase SCE_PO_FUZZY:\n\t\t\t\tif (sc.atLineEnd)\n\t\t\t\t\tsc.SetState(SCE_PO_DEFAULT);\n\t\t\t\telse if (sc.state == SCE_PO_FLAGS && sc.Match(\"fuzzy\"))\n\t\t\t\t\t// here we behave like the previous parser, but this should probably be highlighted\n\t\t\t\t\t// on its own like a keyword rather than changing the whole flags style\n\t\t\t\t\tsc.ChangeState(SCE_PO_FUZZY);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_PO_MSGCTXT:\n\t\t\tcase SCE_PO_MSGID:\n\t\t\tcase SCE_PO_MSGSTR:\n\t\t\t\tif (isspacechar(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_PO_DEFAULT);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_PO_ERROR:\n\t\t\t\tif (sc.atLineEnd)\n\t\t\t\t\tsc.SetState(SCE_PO_DEFAULT);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_PO_MSGCTXT_TEXT:\n\t\t\tcase SCE_PO_MSGID_TEXT:\n\t\t\tcase SCE_PO_MSGSTR_TEXT:\n\t\t\t\tif (sc.atLineEnd) { // invalid inside a string\n\t\t\t\t\tif (sc.state == SCE_PO_MSGCTXT_TEXT)\n\t\t\t\t\t\tsc.ChangeState(SCE_PO_MSGCTXT_TEXT_EOL);\n\t\t\t\t\telse if (sc.state == SCE_PO_MSGID_TEXT)\n\t\t\t\t\t\tsc.ChangeState(SCE_PO_MSGID_TEXT_EOL);\n\t\t\t\t\telse if (sc.state == SCE_PO_MSGSTR_TEXT)\n\t\t\t\t\t\tsc.ChangeState(SCE_PO_MSGSTR_TEXT_EOL);\n\t\t\t\t\tsc.SetState(SCE_PO_DEFAULT);\n\t\t\t\t\tescaped = false;\n\t\t\t\t} else {\n\t\t\t\t\tif (escaped)\n\t\t\t\t\t\tescaped = false;\n\t\t\t\t\telse if (sc.ch == '\\\\')\n\t\t\t\t\t\tescaped = true;\n\t\t\t\t\telse if (sc.ch == '\"')\n\t\t\t\t\t\tsc.ForwardSetState(SCE_PO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// whether we should enter a new state\n\t\tif (sc.state == SCE_PO_DEFAULT) {\n\t\t\t// forward to the first non-white character on the line\n\t\t\tbool atLineStart = sc.atLineStart;\n\t\t\tif (atLineStart) {\n\t\t\t\t// reset line state if it is set to comment state so empty lines don't get\n\t\t\t\t// comment line state, and the folding code folds comments separately,\n\t\t\t\t// and anyway the styling don't use line state for comments\n\t\t\t\tif (curLineState == SCE_PO_COMMENT)\n\t\t\t\t\tcurLineState = SCE_PO_DEFAULT;\n\n\t\t\t\twhile (sc.More() && ! sc.atLineEnd && isspacechar(sc.ch))\n\t\t\t\t\tsc.Forward();\n\t\t\t}\n\n\t\t\tif (atLineStart && sc.ch == '#') {\n\t\t\t\tif (sc.chNext == '.')\n\t\t\t\t\tsc.SetState(SCE_PO_PROGRAMMER_COMMENT);\n\t\t\t\telse if (sc.chNext == ':')\n\t\t\t\t\tsc.SetState(SCE_PO_REFERENCE);\n\t\t\t\telse if (sc.chNext == ',')\n\t\t\t\t\tsc.SetState(SCE_PO_FLAGS);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_PO_COMMENT);\n\t\t\t} else if (atLineStart && sc.Match(\"msgid\")) { // includes msgid_plural\n\t\t\t\tsc.SetState(SCE_PO_MSGID);\n\t\t\t} else if (atLineStart && sc.Match(\"msgstr\")) { // includes [] suffixes\n\t\t\t\tsc.SetState(SCE_PO_MSGSTR);\n\t\t\t} else if (atLineStart && sc.Match(\"msgctxt\")) {\n\t\t\t\tsc.SetState(SCE_PO_MSGCTXT);\n\t\t\t} else if (sc.ch == '\"') {\n\t\t\t\tif (curLineState == SCE_PO_MSGCTXT || curLineState == SCE_PO_MSGCTXT_TEXT)\n\t\t\t\t\tsc.SetState(SCE_PO_MSGCTXT_TEXT);\n\t\t\t\telse if (curLineState == SCE_PO_MSGID || curLineState == SCE_PO_MSGID_TEXT)\n\t\t\t\t\tsc.SetState(SCE_PO_MSGID_TEXT);\n\t\t\t\telse if (curLineState == SCE_PO_MSGSTR || curLineState == SCE_PO_MSGSTR_TEXT)\n\t\t\t\t\tsc.SetState(SCE_PO_MSGSTR_TEXT);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_PO_ERROR);\n\t\t\t} else if (! isspacechar(sc.ch))\n\t\t\t\tsc.SetState(SCE_PO_ERROR);\n\n\t\t\tif (sc.state != SCE_PO_DEFAULT)\n\t\t\t\tcurLineState = sc.state;\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\tstyler.SetLineState(curLine, curLineState);\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic int FindNextNonEmptyLineState(Sci_PositionU startPos, Accessor &styler) {\n\tSci_PositionU length = styler.Length();\n\tfor (Sci_PositionU i = startPos; i < length; i++) {\n\t\tif (! isspacechar(styler[i])) {\n\t\t\treturn styler.GetLineState(styler.GetLine(i));\n\t\t}\n\t}\n\treturn 0;\n}\n\nstatic void FoldPODoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tif (! styler.GetPropertyInt(\"fold\"))\n\t\treturn;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\") != 0;\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\n\tSci_PositionU endPos = startPos + length;\n\tSci_Position curLine = styler.GetLine(startPos);\n\tint lineState = styler.GetLineState(curLine);\n\tint nextLineState;\n\tint level = styler.LevelAt(curLine) & SC_FOLDLEVELNUMBERMASK;\n\tint nextLevel;\n\tint visible = 0;\n\tint chNext = styler[startPos];\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tint ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i+1);\n\n\t\tif (! isspacechar(ch)) {\n\t\t\tvisible++;\n\t\t} else if ((ch == '\\r' && chNext != '\\n') || ch == '\\n' || i+1 >= endPos) {\n\t\t\tint lvl = level;\n\t\t\tSci_Position nextLine = curLine + 1;\n\n\t\t\tnextLineState = styler.GetLineState(nextLine);\n\t\t\tif ((lineState != SCE_PO_COMMENT || foldComment) &&\n\t\t\t\t\tnextLineState == lineState &&\n\t\t\t\t\tFindNextNonEmptyLineState(i, styler) == lineState)\n\t\t\t\tnextLevel = SC_FOLDLEVELBASE + 1;\n\t\t\telse\n\t\t\t\tnextLevel = SC_FOLDLEVELBASE;\n\n\t\t\tif (nextLevel > level)\n\t\t\t\tlvl |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (visible == 0 && foldCompact)\n\t\t\t\tlvl |= SC_FOLDLEVELWHITEFLAG;\n\n\t\t\tstyler.SetLevel(curLine, lvl);\n\n\t\t\tlineState = nextLineState;\n\t\t\tcurLine = nextLine;\n\t\t\tlevel = nextLevel;\n\t\t\tvisible = 0;\n\t\t}\n\t}\n}\n\nstatic const char *const poWordListDesc[] = {\n\t0\n};\n\nLexerModule lmPO(SCLEX_PO, ColourisePODoc, \"po\", FoldPODoc, poWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPOV.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPOV.cxx\n ** Lexer for POV-Ray SDL (Persistance of Vision Raytracer, Scene Description Language).\n ** Written by Philippe Lhoste but this is mostly a derivative of LexCPP...\n **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// Some points that distinguish from a simple C lexer:\n// Identifiers start only by a character.\n// No line continuation character.\n// Strings are limited to 256 characters.\n// Directives are similar to preprocessor commands,\n// but we match directive keywords and colorize incorrect ones.\n// Block comments can be nested (code stolen from my code in LexLua).\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(int ch) {\n\treturn ch < 0x80 && (isalnum(ch) || ch == '_');\n}\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn ch < 0x80 && isalpha(ch);\n}\n\nstatic inline bool IsANumberChar(int ch) {\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases.\n\treturn (ch < 0x80) &&\n\t        (isdigit(ch) || toupper(ch) == 'E' ||\n             ch == '.' || ch == '-' || ch == '+');\n}\n\nstatic void ColourisePovDoc(\n\tSci_PositionU startPos,\n\tSci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n    Accessor &styler) {\n\n\tWordList &keywords1 = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\tWordList &keywords5 = *keywordlists[4];\n\tWordList &keywords6 = *keywordlists[5];\n\tWordList &keywords7 = *keywordlists[6];\n\tWordList &keywords8 = *keywordlists[7];\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\t// Initialize the block comment /* */ nesting level, if we are inside such a comment.\n\tint blockCommentLevel = 0;\n\tif (initStyle == SCE_POV_COMMENT) {\n\t\tblockCommentLevel = styler.GetLineState(currentLine - 1);\n\t}\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_POV_STRINGEOL || initStyle == SCE_POV_COMMENTLINE) {\n\t\tinitStyle = SCE_POV_DEFAULT;\n\t}\n\n\tshort stringLen = 0;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tcurrentLine = styler.GetLine(sc.currentPos);\n\t\t\tif (sc.state == SCE_POV_COMMENT) {\n\t\t\t\t// Inside a block comment, we set the line state\n\t\t\t\tstyler.SetLineState(currentLine, blockCommentLevel);\n\t\t\t} else {\n\t\t\t\t// Reset the line state\n\t\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineStart && (sc.state == SCE_POV_STRING)) {\n\t\t\t// Prevent SCE_POV_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_POV_STRING);\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_POV_OPERATOR) {\n\t\t\tsc.SetState(SCE_POV_DEFAULT);\n\t\t} else if (sc.state == SCE_POV_NUMBER) {\n\t\t\t// We stop the number definition on non-numerical non-dot non-eE non-sign char\n\t\t\tif (!IsANumberChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_POV_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POV_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tif (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD2);\n\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD3);\n\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD4);\n\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD5);\n\t\t\t\t} else if (keywords6.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD6);\n\t\t\t\t} else if (keywords7.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD7);\n\t\t\t\t} else if (keywords8.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_WORD8);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_POV_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POV_DIRECTIVE) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tchar *p;\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tp = s;\n\t\t\t\t// Skip # and whitespace between # and directive word\n\t\t\t\tdo {\n\t\t\t\t\tp++;\n\t\t\t\t} while ((*p == ' ' || *p == '\\t') && *p != '\\0');\n\t\t\t\tif (!keywords1.InList(p)) {\n\t\t\t\t\tsc.ChangeState(SCE_POV_BADDIRECTIVE);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_POV_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POV_COMMENT) {\n\t\t\tif (sc.Match('/', '*')) {\n\t\t\t\tblockCommentLevel++;\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match('*', '/') && blockCommentLevel > 0) {\n\t\t\t\tblockCommentLevel--;\n\t\t\t\tsc.Forward();\n\t\t\t\tif (blockCommentLevel == 0) {\n\t\t\t\t\tsc.ForwardSetState(SCE_POV_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_POV_COMMENTLINE) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_POV_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POV_STRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tstringLen++;\n\t\t\t\tif (strchr(\"abfnrtuv0'\\\"\", sc.chNext)) {\n\t\t\t\t\t// Compound characters are counted as one.\n\t\t\t\t\t// Note: for Unicode chars \\u, we shouldn't count the next 4 digits...\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_POV_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_POV_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_POV_DEFAULT);\n\t\t\t} else {\n\t\t\t\tstringLen++;\n\t\t\t}\n\t\t\tif (stringLen > 256) {\n\t\t\t\t// Strings are limited to 256 chars\n\t\t\t\tsc.SetState(SCE_POV_STRINGEOL);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POV_STRINGEOL) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_C_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ForwardSetState(SCE_POV_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_POV_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_POV_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_POV_IDENTIFIER);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tblockCommentLevel = 1;\n\t\t\t\tsc.SetState(SCE_POV_COMMENT);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(SCE_POV_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_POV_STRING);\n\t\t\t\tstringLen = 0;\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_POV_DIRECTIVE);\n\t\t\t\t// Skip whitespace between # and directive word\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_POV_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_POV_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldPovDoc(\n\tSci_PositionU startPos,\n\tSci_Position length,\n\tint initStyle,\n\tWordList *[],\n\tAccessor &styler) {\n\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldDirective = styler.GetPropertyInt(\"fold.directive\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (foldComment && (style == SCE_POV_COMMENT)) {\n\t\t\tif (stylePrev != SCE_POV_COMMENT) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if ((styleNext != SCE_POV_COMMENT) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (foldComment && (style == SCE_POV_COMMENTLINE)) {\n\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (foldDirective && (style == SCE_POV_DIRECTIVE)) {\n\t\t\tif (ch == '#') {\n\t\t\t\tSci_PositionU j=i+1;\n\t\t\t\twhile ((j<endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_POV_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const povWordLists[] = {\n\t\"Language directives\",\n\t\"Objects & CSG & Appearance\",\n\t\"Types & Modifiers & Items\",\n\t\"Predefined Identifiers\",\n\t\"Predefined Functions\",\n\t\"User defined 1\",\n\t\"User defined 2\",\n\t\"User defined 3\",\n\t0,\n};\n\nLexerModule lmPOV(SCLEX_POV, ColourisePovDoc, \"pov\", FoldPovDoc, povWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPS.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPS.cxx\n ** Lexer for PostScript\n **\n ** Written by Nigel Hathaway <nigel@bprj.co.uk>.\n ** The License.txt file describes the conditions under which this software may be distributed.\n **/\n\n// Previous releases of this lexer included support for marking token starts with\n// a style byte indicator. This was used by the wxGhostscript IDE/debugger.\n// Style byte indicators were removed in version 3.4.3.\n// Anyone wanting to restore this functionality for wxGhostscript using 'modern'\n// indicators can examine the earlier source in the Mercurial repository.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsASelfDelimitingChar(const int ch) {\n    return (ch == '[' || ch == ']' || ch == '{' || ch == '}' ||\n            ch == '/' || ch == '<' || ch == '>' ||\n            ch == '(' || ch == ')' || ch == '%');\n}\n\nstatic inline bool IsAWhitespaceChar(const int ch) {\n    return (ch == ' '  || ch == '\\t' || ch == '\\r' ||\n            ch == '\\n' || ch == '\\f' || ch == '\\0');\n}\n\nstatic bool IsABaseNDigit(const int ch, const int base) {\n    int maxdig = '9';\n    int letterext = -1;\n\n    if (base <= 10)\n        maxdig = '0' + base - 1;\n    else\n        letterext = base - 11;\n\n    return ((ch >= '0' && ch <= maxdig) ||\n            (ch >= 'A' && ch <= ('A' + letterext)) ||\n            (ch >= 'a' && ch <= ('a' + letterext)));\n}\n\nstatic inline bool IsABase85Char(const int ch) {\n    return ((ch >= '!' && ch <= 'u') || ch == 'z');\n}\n\nstatic void ColourisePSDoc(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int initStyle,\n    WordList *keywordlists[],\n    Accessor &styler) {\n\n    WordList &keywords1 = *keywordlists[0];\n    WordList &keywords2 = *keywordlists[1];\n    WordList &keywords3 = *keywordlists[2];\n    WordList &keywords4 = *keywordlists[3];\n    WordList &keywords5 = *keywordlists[4];\n\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    int pslevel = styler.GetPropertyInt(\"ps.level\", 3);\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int nestTextCurrent = 0;\n    if (lineCurrent > 0 && initStyle == SCE_PS_TEXT)\n        nestTextCurrent = styler.GetLineState(lineCurrent - 1);\n    int numRadix = 0;\n    bool numHasPoint = false;\n    bool numHasExponent = false;\n    bool numHasSign = false;\n\n    for (; sc.More(); sc.Forward()) {\n        if (sc.atLineStart)\n            lineCurrent = styler.GetLine(sc.currentPos);\n\n        // Determine if the current state should terminate.\n        if (sc.state == SCE_PS_COMMENT || sc.state == SCE_PS_DSC_VALUE) {\n            if (sc.atLineEnd) {\n                sc.SetState(SCE_C_DEFAULT);\n            }\n        } else if (sc.state == SCE_PS_DSC_COMMENT) {\n            if (sc.ch == ':') {\n                sc.Forward();\n                if (!sc.atLineEnd)\n                    sc.SetState(SCE_PS_DSC_VALUE);\n                else\n                    sc.SetState(SCE_C_DEFAULT);\n            } else if (sc.atLineEnd) {\n                sc.SetState(SCE_C_DEFAULT);\n            } else if (IsAWhitespaceChar(sc.ch) && sc.ch != '\\r') {\n                sc.ChangeState(SCE_PS_COMMENT);\n            }\n        } else if (sc.state == SCE_PS_NUMBER) {\n            if (IsASelfDelimitingChar(sc.ch) || IsAWhitespaceChar(sc.ch)) {\n                if ((sc.chPrev == '+' || sc.chPrev == '-' ||\n                     sc.chPrev == 'E' || sc.chPrev == 'e') && numRadix == 0)\n                    sc.ChangeState(SCE_PS_NAME);\n                sc.SetState(SCE_C_DEFAULT);\n            } else if (sc.ch == '#') {\n                if (numHasPoint || numHasExponent || numHasSign || numRadix != 0) {\n                    sc.ChangeState(SCE_PS_NAME);\n                } else {\n                    char szradix[5];\n                    sc.GetCurrent(szradix, 4);\n                    numRadix = atoi(szradix);\n                    if (numRadix < 2 || numRadix > 36)\n                        sc.ChangeState(SCE_PS_NAME);\n                }\n            } else if ((sc.ch == 'E' || sc.ch == 'e') && numRadix == 0) {\n                if (numHasExponent) {\n                    sc.ChangeState(SCE_PS_NAME);\n                } else {\n                    numHasExponent = true;\n                    if (sc.chNext == '+' || sc.chNext == '-')\n                        sc.Forward();\n                }\n            } else if (sc.ch == '.') {\n                if (numHasPoint || numHasExponent || numRadix != 0) {\n                    sc.ChangeState(SCE_PS_NAME);\n                } else {\n                    numHasPoint = true;\n                }\n            } else if (numRadix == 0) {\n                if (!IsABaseNDigit(sc.ch, 10))\n                    sc.ChangeState(SCE_PS_NAME);\n            } else {\n                if (!IsABaseNDigit(sc.ch, numRadix))\n                    sc.ChangeState(SCE_PS_NAME);\n            }\n        } else if (sc.state == SCE_PS_NAME || sc.state == SCE_PS_KEYWORD) {\n            if (IsASelfDelimitingChar(sc.ch) || IsAWhitespaceChar(sc.ch)) {\n                char s[100];\n                sc.GetCurrent(s, sizeof(s));\n                if ((pslevel >= 1 && keywords1.InList(s)) ||\n                    (pslevel >= 2 && keywords2.InList(s)) ||\n                    (pslevel >= 3 && keywords3.InList(s)) ||\n                    keywords4.InList(s) || keywords5.InList(s)) {\n                    sc.ChangeState(SCE_PS_KEYWORD);\n                }\n                sc.SetState(SCE_C_DEFAULT);\n            }\n        } else if (sc.state == SCE_PS_LITERAL || sc.state == SCE_PS_IMMEVAL) {\n            if (IsASelfDelimitingChar(sc.ch) || IsAWhitespaceChar(sc.ch))\n                sc.SetState(SCE_C_DEFAULT);\n        } else if (sc.state == SCE_PS_PAREN_ARRAY || sc.state == SCE_PS_PAREN_DICT ||\n                   sc.state == SCE_PS_PAREN_PROC) {\n            sc.SetState(SCE_C_DEFAULT);\n        } else if (sc.state == SCE_PS_TEXT) {\n            if (sc.ch == '(') {\n                nestTextCurrent++;\n            } else if (sc.ch == ')') {\n                if (--nestTextCurrent == 0)\n                   sc.ForwardSetState(SCE_PS_DEFAULT);\n            } else if (sc.ch == '\\\\') {\n                sc.Forward();\n            }\n        } else if (sc.state == SCE_PS_HEXSTRING) {\n            if (sc.ch == '>') {\n                sc.ForwardSetState(SCE_PS_DEFAULT);\n            } else if (!IsABaseNDigit(sc.ch, 16) && !IsAWhitespaceChar(sc.ch)) {\n                sc.SetState(SCE_PS_HEXSTRING);\n                styler.ColourTo(sc.currentPos, SCE_PS_BADSTRINGCHAR);\n            }\n        } else if (sc.state == SCE_PS_BASE85STRING) {\n            if (sc.Match('~', '>')) {\n                sc.Forward();\n                sc.ForwardSetState(SCE_PS_DEFAULT);\n            } else if (!IsABase85Char(sc.ch) && !IsAWhitespaceChar(sc.ch)) {\n                sc.SetState(SCE_PS_BASE85STRING);\n                styler.ColourTo(sc.currentPos, SCE_PS_BADSTRINGCHAR);\n            }\n        }\n\n        // Determine if a new state should be entered.\n        if (sc.state == SCE_C_DEFAULT) {\n\n            if (sc.ch == '[' || sc.ch == ']') {\n                sc.SetState(SCE_PS_PAREN_ARRAY);\n            } else if (sc.ch == '{' || sc.ch == '}') {\n                sc.SetState(SCE_PS_PAREN_PROC);\n            } else if (sc.ch == '/') {\n                if (sc.chNext == '/') {\n                    sc.SetState(SCE_PS_IMMEVAL);\n                    sc.Forward();\n                } else {\n                    sc.SetState(SCE_PS_LITERAL);\n                }\n            } else if (sc.ch == '<') {\n                if (sc.chNext == '<') {\n                    sc.SetState(SCE_PS_PAREN_DICT);\n                    sc.Forward();\n                } else if (sc.chNext == '~') {\n                    sc.SetState(SCE_PS_BASE85STRING);\n                    sc.Forward();\n                } else {\n                    sc.SetState(SCE_PS_HEXSTRING);\n                }\n            } else if (sc.ch == '>' && sc.chNext == '>') {\n                    sc.SetState(SCE_PS_PAREN_DICT);\n                    sc.Forward();\n            } else if (sc.ch == '>' || sc.ch == ')') {\n                sc.SetState(SCE_C_DEFAULT);\n                styler.ColourTo(sc.currentPos, SCE_PS_BADSTRINGCHAR);\n            } else if (sc.ch == '(') {\n                sc.SetState(SCE_PS_TEXT);\n                nestTextCurrent = 1;\n            } else if (sc.ch == '%') {\n                if (sc.chNext == '%' && sc.atLineStart) {\n                    sc.SetState(SCE_PS_DSC_COMMENT);\n                    sc.Forward();\n                    if (sc.chNext == '+') {\n                        sc.Forward();\n                        sc.ForwardSetState(SCE_PS_DSC_VALUE);\n                    }\n                } else {\n                    sc.SetState(SCE_PS_COMMENT);\n                }\n            } else if ((sc.ch == '+' || sc.ch == '-' || sc.ch == '.') &&\n                       IsABaseNDigit(sc.chNext, 10)) {\n                sc.SetState(SCE_PS_NUMBER);\n                numRadix = 0;\n                numHasPoint = (sc.ch == '.');\n                numHasExponent = false;\n                numHasSign = (sc.ch == '+' || sc.ch == '-');\n            } else if ((sc.ch == '+' || sc.ch == '-') && sc.chNext == '.' &&\n                       IsABaseNDigit(sc.GetRelative(2), 10)) {\n                sc.SetState(SCE_PS_NUMBER);\n                numRadix = 0;\n                numHasPoint = false;\n                numHasExponent = false;\n                numHasSign = true;\n            } else if (IsABaseNDigit(sc.ch, 10)) {\n                sc.SetState(SCE_PS_NUMBER);\n                numRadix = 0;\n                numHasPoint = false;\n                numHasExponent = false;\n                numHasSign = false;\n            } else if (!IsAWhitespaceChar(sc.ch)) {\n                sc.SetState(SCE_PS_NAME);\n            }\n        }\n\n        if (sc.atLineEnd)\n            styler.SetLineState(lineCurrent, nestTextCurrent);\n    }\n\n    sc.Complete();\n}\n\nstatic void FoldPSDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n                       Accessor &styler) {\n    bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    bool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelCurrent = SC_FOLDLEVELBASE;\n    if (lineCurrent > 0)\n        levelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n    int levelMinCurrent = levelCurrent;\n    int levelNext = levelCurrent;\n    char chNext = styler[startPos];\n    int styleNext = styler.StyleAt(startPos);\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        int style = styleNext;\n        styleNext = styler.StyleAt(i + 1);\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');  //mac??\n        if ((style & 31) == SCE_PS_PAREN_PROC) {\n            if (ch == '{') {\n                // Measure the minimum before a '{' to allow\n                // folding on \"} {\"\n                if (levelMinCurrent > levelNext) {\n                    levelMinCurrent = levelNext;\n                }\n                levelNext++;\n            } else if (ch == '}') {\n                levelNext--;\n            }\n        }\n        if (atEOL) {\n            int levelUse = levelCurrent;\n            if (foldAtElse) {\n                levelUse = levelMinCurrent;\n            }\n            int lev = levelUse | levelNext << 16;\n            if (visibleChars == 0 && foldCompact)\n                lev |= SC_FOLDLEVELWHITEFLAG;\n            if (levelUse < levelNext)\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(lineCurrent)) {\n                styler.SetLevel(lineCurrent, lev);\n            }\n            lineCurrent++;\n            levelCurrent = levelNext;\n            levelMinCurrent = levelCurrent;\n            visibleChars = 0;\n        }\n        if (!isspacechar(ch))\n            visibleChars++;\n    }\n}\n\nstatic const char * const psWordListDesc[] = {\n    \"PS Level 1 operators\",\n    \"PS Level 2 operators\",\n    \"PS Level 3 operators\",\n    \"RIP-specific operators\",\n    \"User-defined operators\",\n    0\n};\n\nLexerModule lmPS(SCLEX_PS, ColourisePSDoc, \"ps\", FoldPSDoc, psWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPascal.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPascal.cxx\n ** Lexer for Pascal.\n ** Written by Laurent le Tynevez\n ** Updated by Simon Steele <s.steele@pnotepad.org> September 2002\n ** Updated by Mathias Rauen <scite@madshi.net> May 2003 (Delphi adjustments)\n ** Completely rewritten by Marko Njezic <sf@maxempire.com> October 2008\n **/\n\n/*\n\nA few words about features of the new completely rewritten LexPascal...\n\nGenerally speaking LexPascal tries to support all available Delphi features (up\nto Delphi XE4 at this time).\n\n~ HIGHLIGHTING:\n\nIf you enable \"lexer.pascal.smart.highlighting\" property, some keywords will\nonly be highlighted in appropriate context. As implemented those are keywords\nrelated to property and DLL exports declarations (similar to how Delphi IDE\nworks).\n\nFor example, keywords \"read\" and \"write\" will only be highlighted if they are in\nproperty declaration:\n\nproperty MyProperty: boolean read FMyProperty write FMyProperty;\n\n~ FOLDING:\n\nFolding is supported in the following cases:\n\n- Folding of stream-like comments\n- Folding of groups of consecutive line comments\n- Folding of preprocessor blocks (the following preprocessor blocks are\nsupported: IF / IFEND; IFDEF, IFNDEF, IFOPT / ENDIF and REGION / ENDREGION\nblocks), including nesting of preprocessor blocks up to 255 levels\n- Folding of code blocks on appropriate keywords (the following code blocks are\nsupported: \"begin, asm, record, try, case / end\" blocks, class & object\ndeclarations and interface declarations)\n\nRemarks:\n\n- Folding of code blocks tries to handle all special cases in which folding\nshould not occur. As implemented those are:\n\n1. Structure \"record case / end\" (there's only one \"end\" statement and \"case\" is\nignored as fold point)\n2. Forward class declarations (\"type TMyClass = class;\") and object method\ndeclarations (\"TNotifyEvent = procedure(Sender: TObject) of object;\") are\nignored as fold points\n3. Simplified complete class declarations (\"type TMyClass = class(TObject);\")\nare ignored as fold points\n4. Every other situation when class keyword doesn't actually start class\ndeclaration (\"class procedure\", \"class function\", \"class of\", \"class var\",\n\"class property\" and \"class operator\")\n5. Forward (disp)interface declarations (\"type IMyInterface = interface;\") are\nignored as fold points\n\n- Folding of code blocks inside preprocessor blocks is disabled (any comments\ninside them will be folded fine) because there is no guarantee that complete\ncode block will be contained inside folded preprocessor block in which case\nfolded code block could end prematurely at the end of preprocessor block if\nthere is no closing statement inside. This was done in order to properly process\ndocument that may contain something like this:\n\ntype\n{$IFDEF UNICODE}\n  TMyClass = class(UnicodeAncestor)\n{$ELSE}\n  TMyClass = class(AnsiAncestor)\n{$ENDIF}\n  private\n  ...\n  public\n  ...\n  published\n  ...\nend;\n\nIf class declarations were folded, then the second class declaration would end\nat \"$ENDIF\" statement, first class statement would end at \"end;\" statement and\npreprocessor \"$IFDEF\" block would go all the way to the end of document.\nHowever, having in mind all this, if you want to enable folding of code blocks\ninside preprocessor blocks, you can disable folding of preprocessor blocks by\nchanging \"fold.preprocessor\" property, in which case everything inside them\nwould be folded.\n\n~ KEYWORDS:\n\nThe list of keywords that can be used in pascal.properties file (up to Delphi\nXE4):\n\n- Keywords: absolute abstract and array as asm assembler automated begin case\ncdecl class const constructor delayed deprecated destructor dispid dispinterface\ndiv do downto dynamic else end except experimental export exports external far\nfile final finalization finally for forward function goto helper if\nimplementation in inherited initialization inline interface is label library\nmessage mod near nil not object of on operator or out overload override packed\npascal platform private procedure program property protected public published\nraise record reference register reintroduce repeat resourcestring safecall\nsealed set shl shr static stdcall strict string then threadvar to try type unit\nunsafe until uses var varargs virtual while winapi with xor\n\n- Keywords related to the \"smart highlithing\" feature: add default implements\nindex name nodefault read readonly remove stored write writeonly\n\n- Keywords related to Delphi packages (in addition to all above): package\ncontains requires\n\n*/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void GetRangeLowered(Sci_PositionU start,\n\t\tSci_PositionU end,\n\t\tAccessor &styler,\n\t\tchar *s,\n\t\tSci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic void GetForwardRangeLowered(Sci_PositionU start,\n\t\tCharacterSet &charSet,\n\t\tAccessor &styler,\n\t\tchar *s,\n\t\tSci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < len-1) && charSet.Contains(styler.SafeGetCharAt(start + i))) {\n\t\ts[i] = static_cast<char>(tolower(styler.SafeGetCharAt(start + i)));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n\n}\n\nenum {\n\tstateInAsm = 0x1000,\n\tstateInProperty = 0x2000,\n\tstateInExport = 0x4000,\n\tstateFoldInPreprocessor = 0x0100,\n\tstateFoldInRecord = 0x0200,\n\tstateFoldInPreprocessorLevelMask = 0x00FF,\n\tstateFoldMaskAll = 0x0FFF\n};\n\nstatic void ClassifyPascalWord(WordList *keywordlists[], StyleContext &sc, int &curLineState, bool bSmartHighlighting) {\n\tWordList& keywords = *keywordlists[0];\n\n\tchar s[100];\n\tsc.GetCurrentLowered(s, sizeof(s));\n\tif (keywords.InList(s)) {\n\t\tif (curLineState & stateInAsm) {\n\t\t\tif (strcmp(s, \"end\") == 0 && sc.GetRelative(-4) != '@') {\n\t\t\t\tcurLineState &= ~stateInAsm;\n\t\t\t\tsc.ChangeState(SCE_PAS_WORD);\n\t\t\t} else {\n\t\t\t\tsc.ChangeState(SCE_PAS_ASM);\n\t\t\t}\n\t\t} else {\n\t\t\tbool ignoreKeyword = false;\n\t\t\tif (strcmp(s, \"asm\") == 0) {\n\t\t\t\tcurLineState |= stateInAsm;\n\t\t\t} else if (bSmartHighlighting) {\n\t\t\t\tif (strcmp(s, \"property\") == 0) {\n\t\t\t\t\tcurLineState |= stateInProperty;\n\t\t\t\t} else if (strcmp(s, \"exports\") == 0) {\n\t\t\t\t\tcurLineState |= stateInExport;\n\t\t\t\t} else if (!(curLineState & (stateInProperty | stateInExport)) && strcmp(s, \"index\") == 0) {\n\t\t\t\t\tignoreKeyword = true;\n\t\t\t\t} else if (!(curLineState & stateInExport) && strcmp(s, \"name\") == 0) {\n\t\t\t\t\tignoreKeyword = true;\n\t\t\t\t} else if (!(curLineState & stateInProperty) &&\n\t\t\t\t\t(strcmp(s, \"read\") == 0 || strcmp(s, \"write\") == 0 ||\n\t\t\t\t\t strcmp(s, \"default\") == 0 || strcmp(s, \"nodefault\") == 0 ||\n\t\t\t\t\t strcmp(s, \"stored\") == 0 || strcmp(s, \"implements\") == 0 ||\n\t\t\t\t\t strcmp(s, \"readonly\") == 0 || strcmp(s, \"writeonly\") == 0 ||\n\t\t\t\t\t strcmp(s, \"add\") == 0 || strcmp(s, \"remove\") == 0)) {\n\t\t\t\t\tignoreKeyword = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!ignoreKeyword) {\n\t\t\t\tsc.ChangeState(SCE_PAS_WORD);\n\t\t\t}\n\t\t}\n\t} else if (curLineState & stateInAsm) {\n\t\tsc.ChangeState(SCE_PAS_ASM);\n\t}\n\tsc.SetState(SCE_PAS_DEFAULT);\n}\n\nstatic void ColourisePascalDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n\t\tAccessor &styler) {\n\tbool bSmartHighlighting = styler.GetPropertyInt(\"lexer.pascal.smart.highlighting\", 1) != 0;\n\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\", 0x80, true);\n\tCharacterSet setNumber(CharacterSet::setDigits, \".-+eE\");\n\tCharacterSet setHexNumber(CharacterSet::setDigits, \"abcdefABCDEF\");\n\tCharacterSet setOperator(CharacterSet::setNone, \"#$&'()*+,-./:;<=>@[]^{}\");\n\n\tSci_Position curLine = styler.GetLine(startPos);\n\tint curLineState = curLine > 0 ? styler.GetLineState(curLine - 1) : 0;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineEnd) {\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tcurLine = styler.GetLine(sc.currentPos);\n\t\t\tstyler.SetLineState(curLine, curLineState);\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_PAS_NUMBER:\n\t\t\t\tif (!setNumber.Contains(sc.ch) || (sc.ch == '.' && sc.chNext == '.')) {\n\t\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\t} else if (sc.ch == '-' || sc.ch == '+') {\n\t\t\t\t\tif (sc.chPrev != 'E' && sc.chPrev != 'e') {\n\t\t\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_IDENTIFIER:\n\t\t\t\tif (!setWord.Contains(sc.ch)) {\n\t\t\t\t\tClassifyPascalWord(keywordlists, sc, curLineState, bSmartHighlighting);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_HEXNUMBER:\n\t\t\t\tif (!setHexNumber.Contains(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_COMMENT:\n\t\t\tcase SCE_PAS_PREPROCESSOR:\n\t\t\t\tif (sc.ch == '}') {\n\t\t\t\t\tsc.ForwardSetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_COMMENT2:\n\t\t\tcase SCE_PAS_PREPROCESSOR2:\n\t\t\t\tif (sc.Match('*', ')')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_STRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_PAS_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\'' && sc.chNext == '\\'') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_CHARACTER:\n\t\t\t\tif (!setHexNumber.Contains(sc.ch) && sc.ch != '$') {\n\t\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_OPERATOR:\n\t\t\t\tif (bSmartHighlighting && sc.chPrev == ';') {\n\t\t\t\t\tcurLineState &= ~(stateInProperty | stateInExport);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_PAS_ASM:\n\t\t\t\tsc.SetState(SCE_PAS_DEFAULT);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_PAS_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) && !(curLineState & stateInAsm)) {\n\t\t\t\tsc.SetState(SCE_PAS_NUMBER);\n\t\t\t} else if (setWordStart.Contains(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_PAS_IDENTIFIER);\n\t\t\t} else if (sc.ch == '$' && !(curLineState & stateInAsm)) {\n\t\t\t\tsc.SetState(SCE_PAS_HEXNUMBER);\n\t\t\t} else if (sc.Match('{', '$')) {\n\t\t\t\tsc.SetState(SCE_PAS_PREPROCESSOR);\n\t\t\t} else if (sc.ch == '{') {\n\t\t\t\tsc.SetState(SCE_PAS_COMMENT);\n\t\t\t} else if (sc.Match(\"(*$\")) {\n\t\t\t\tsc.SetState(SCE_PAS_PREPROCESSOR2);\n\t\t\t} else if (sc.Match('(', '*')) {\n\t\t\t\tsc.SetState(SCE_PAS_COMMENT2);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(SCE_PAS_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_PAS_STRING);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_PAS_CHARACTER);\n\t\t\t} else if (setOperator.Contains(sc.ch) && !(curLineState & stateInAsm)) {\n\t\t\t\tsc.SetState(SCE_PAS_OPERATOR);\n\t\t\t} else if (curLineState & stateInAsm) {\n\t\t\t\tsc.SetState(SCE_PAS_ASM);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (sc.state == SCE_PAS_IDENTIFIER && setWord.Contains(sc.chPrev)) {\n\t\tClassifyPascalWord(keywordlists, sc, curLineState, bSmartHighlighting);\n\t}\n\n\tsc.Complete();\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_PAS_COMMENT || style == SCE_PAS_COMMENT2;\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eolPos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eolPos; i++) {\n\t\tchar ch = styler[i];\n\t\tchar chNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i);\n\t\tif (ch == '/' && chNext == '/' && style == SCE_PAS_COMMENTLINE) {\n\t\t\treturn true;\n\t\t} else if (!IsASpaceOrTab(ch)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n}\n\nstatic unsigned int GetFoldInPreprocessorLevelFlag(int lineFoldStateCurrent) {\n\treturn lineFoldStateCurrent & stateFoldInPreprocessorLevelMask;\n}\n\nstatic void SetFoldInPreprocessorLevelFlag(int &lineFoldStateCurrent, unsigned int nestLevel) {\n\tlineFoldStateCurrent &= ~stateFoldInPreprocessorLevelMask;\n\tlineFoldStateCurrent |= nestLevel & stateFoldInPreprocessorLevelMask;\n}\n\nstatic void ClassifyPascalPreprocessorFoldPoint(int &levelCurrent, int &lineFoldStateCurrent,\n\t\tSci_PositionU startPos, Accessor &styler) {\n\tCharacterSet setWord(CharacterSet::setAlpha);\n\n\tchar s[11];\t// Size of the longest possible keyword + one additional character + null\n\tGetForwardRangeLowered(startPos, setWord, styler, s, sizeof(s));\n\n\tunsigned int nestLevel = GetFoldInPreprocessorLevelFlag(lineFoldStateCurrent);\n\n\tif (strcmp(s, \"if\") == 0 ||\n\t\tstrcmp(s, \"ifdef\") == 0 ||\n\t\tstrcmp(s, \"ifndef\") == 0 ||\n\t\tstrcmp(s, \"ifopt\") == 0 ||\n\t\tstrcmp(s, \"region\") == 0) {\n\t\tnestLevel++;\n\t\tSetFoldInPreprocessorLevelFlag(lineFoldStateCurrent, nestLevel);\n\t\tlineFoldStateCurrent |= stateFoldInPreprocessor;\n\t\tlevelCurrent++;\n\t} else if (strcmp(s, \"endif\") == 0 ||\n\t\tstrcmp(s, \"ifend\") == 0 ||\n\t\tstrcmp(s, \"endregion\") == 0) {\n\t\tnestLevel--;\n\t\tSetFoldInPreprocessorLevelFlag(lineFoldStateCurrent, nestLevel);\n\t\tif (nestLevel == 0) {\n\t\t\tlineFoldStateCurrent &= ~stateFoldInPreprocessor;\n\t\t}\n\t\tlevelCurrent--;\n\t\tif (levelCurrent < SC_FOLDLEVELBASE) {\n\t\t\tlevelCurrent = SC_FOLDLEVELBASE;\n\t\t}\n\t}\n}\n\nstatic Sci_PositionU SkipWhiteSpace(Sci_PositionU currentPos, Sci_PositionU endPos,\n\t\tAccessor &styler, bool includeChars = false) {\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\");\n\tSci_PositionU j = currentPos + 1;\n\tchar ch = styler.SafeGetCharAt(j);\n\twhile ((j < endPos) && (IsASpaceOrTab(ch) || ch == '\\r' || ch == '\\n' ||\n\t\tIsStreamCommentStyle(styler.StyleAt(j)) || (includeChars && setWord.Contains(ch)))) {\n\t\tj++;\n\t\tch = styler.SafeGetCharAt(j);\n\t}\n\treturn j;\n}\n\nstatic void ClassifyPascalWordFoldPoint(int &levelCurrent, int &lineFoldStateCurrent,\n\t\tSci_Position startPos, Sci_PositionU endPos,\n\t\tSci_PositionU lastStart, Sci_PositionU currentPos, Accessor &styler) {\n\tchar s[100];\n\tGetRangeLowered(lastStart, currentPos, styler, s, sizeof(s));\n\n\tif (strcmp(s, \"record\") == 0) {\n\t\tlineFoldStateCurrent |= stateFoldInRecord;\n\t\tlevelCurrent++;\n\t} else if (strcmp(s, \"begin\") == 0 ||\n\t\tstrcmp(s, \"asm\") == 0 ||\n\t\tstrcmp(s, \"try\") == 0 ||\n\t\t(strcmp(s, \"case\") == 0 && !(lineFoldStateCurrent & stateFoldInRecord))) {\n\t\tlevelCurrent++;\n\t} else if (strcmp(s, \"class\") == 0 || strcmp(s, \"object\") == 0) {\n\t\t// \"class\" & \"object\" keywords require special handling...\n\t\tbool ignoreKeyword = false;\n\t\tSci_PositionU j = SkipWhiteSpace(currentPos, endPos, styler);\n\t\tif (j < endPos) {\n\t\t\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\");\n\t\t\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\");\n\n\t\t\tif (styler.SafeGetCharAt(j) == ';') {\n\t\t\t\t// Handle forward class declarations (\"type TMyClass = class;\")\n\t\t\t\t// and object method declarations (\"TNotifyEvent = procedure(Sender: TObject) of object;\")\n\t\t\t\tignoreKeyword = true;\n\t\t\t} else if (strcmp(s, \"class\") == 0) {\n\t\t\t\t// \"class\" keyword has a few more special cases...\n\t\t\t\tif (styler.SafeGetCharAt(j) == '(') {\n\t\t\t\t\t// Handle simplified complete class declarations (\"type TMyClass = class(TObject);\")\n\t\t\t\t\tj = SkipWhiteSpace(j, endPos, styler, true);\n\t\t\t\t\tif (j < endPos && styler.SafeGetCharAt(j) == ')') {\n\t\t\t\t\t\tj = SkipWhiteSpace(j, endPos, styler);\n\t\t\t\t\t\tif (j < endPos && styler.SafeGetCharAt(j) == ';') {\n\t\t\t\t\t\t\tignoreKeyword = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (setWordStart.Contains(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tchar s2[11];\t// Size of the longest possible keyword + one additional character + null\n\t\t\t\t\tGetForwardRangeLowered(j, setWord, styler, s2, sizeof(s2));\n\n\t\t\t\t\tif (strcmp(s2, \"procedure\") == 0 ||\n\t\t\t\t\t\tstrcmp(s2, \"function\") == 0 ||\n\t\t\t\t\t\tstrcmp(s2, \"of\") == 0 ||\n\t\t\t\t\t\tstrcmp(s2, \"var\") == 0 ||\n\t\t\t\t\t\tstrcmp(s2, \"property\") == 0 ||\n\t\t\t\t\t\tstrcmp(s2, \"operator\") == 0) {\n\t\t\t\t\t\tignoreKeyword = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!ignoreKeyword) {\n\t\t\tlevelCurrent++;\n\t\t}\n\t} else if (strcmp(s, \"interface\") == 0) {\n\t\t// \"interface\" keyword requires special handling...\n\t\tbool ignoreKeyword = true;\n\t\tSci_Position j = lastStart - 1;\n\t\tchar ch = styler.SafeGetCharAt(j);\n\t\twhile ((j >= startPos) && (IsASpaceOrTab(ch) || ch == '\\r' || ch == '\\n' ||\n\t\t\tIsStreamCommentStyle(styler.StyleAt(j)))) {\n\t\t\tj--;\n\t\t\tch = styler.SafeGetCharAt(j);\n\t\t}\n\t\tif (j >= startPos && styler.SafeGetCharAt(j) == '=') {\n\t\t\tignoreKeyword = false;\n\t\t}\n\t\tif (!ignoreKeyword) {\n\t\t\tSci_PositionU k = SkipWhiteSpace(currentPos, endPos, styler);\n\t\t\tif (k < endPos && styler.SafeGetCharAt(k) == ';') {\n\t\t\t\t// Handle forward interface declarations (\"type IMyInterface = interface;\")\n\t\t\t\tignoreKeyword = true;\n\t\t\t}\n\t\t}\n\t\tif (!ignoreKeyword) {\n\t\t\tlevelCurrent++;\n\t\t}\n\t} else if (strcmp(s, \"dispinterface\") == 0) {\n\t\t// \"dispinterface\" keyword requires special handling...\n\t\tbool ignoreKeyword = false;\n\t\tSci_PositionU j = SkipWhiteSpace(currentPos, endPos, styler);\n\t\tif (j < endPos && styler.SafeGetCharAt(j) == ';') {\n\t\t\t// Handle forward dispinterface declarations (\"type IMyInterface = dispinterface;\")\n\t\t\tignoreKeyword = true;\n\t\t}\n\t\tif (!ignoreKeyword) {\n\t\t\tlevelCurrent++;\n\t\t}\n\t} else if (strcmp(s, \"end\") == 0) {\n\t\tlineFoldStateCurrent &= ~stateFoldInRecord;\n\t\tlevelCurrent--;\n\t\tif (levelCurrent < SC_FOLDLEVELBASE) {\n\t\t\tlevelCurrent = SC_FOLDLEVELBASE;\n\t\t}\n\t}\n}\n\nstatic void FoldPascalDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[],\n\t\tAccessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldPreprocessor = styler.GetPropertyInt(\"fold.preprocessor\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tint lineFoldStateCurrent = lineCurrent > 0 ? styler.GetLineState(lineCurrent - 1) & stateFoldMaskAll : 0;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\n\tSci_Position lastStart = 0;\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\", 0x80, true);\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (foldComment && atEOL && IsCommentLine(lineCurrent, styler))\n\t\t{\n\t\t\tif (!IsCommentLine(lineCurrent - 1, styler)\n\t\t\t    && IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (IsCommentLine(lineCurrent - 1, styler)\n\t\t\t         && !IsCommentLine(lineCurrent+1, styler))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\tif (foldPreprocessor) {\n\t\t\tif (style == SCE_PAS_PREPROCESSOR && ch == '{' && chNext == '$') {\n\t\t\t\tClassifyPascalPreprocessorFoldPoint(levelCurrent, lineFoldStateCurrent, i + 2, styler);\n\t\t\t} else if (style == SCE_PAS_PREPROCESSOR2 && ch == '(' && chNext == '*'\n\t\t\t           && styler.SafeGetCharAt(i + 2) == '$') {\n\t\t\t\tClassifyPascalPreprocessorFoldPoint(levelCurrent, lineFoldStateCurrent, i + 3, styler);\n\t\t\t}\n\t\t}\n\n\t\tif (stylePrev != SCE_PAS_WORD && style == SCE_PAS_WORD)\n\t\t{\n\t\t\t// Store last word start point.\n\t\t\tlastStart = i;\n\t\t}\n\t\tif (stylePrev == SCE_PAS_WORD && !(lineFoldStateCurrent & stateFoldInPreprocessor)) {\n\t\t\tif(setWord.Contains(ch) && !setWord.Contains(chNext)) {\n\t\t\t\tClassifyPascalWordFoldPoint(levelCurrent, lineFoldStateCurrent, startPos, endPos, lastStart, i, styler);\n\t\t\t}\n\t\t}\n\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tint newLineState = (styler.GetLineState(lineCurrent) & ~stateFoldMaskAll) | lineFoldStateCurrent;\n\t\t\tstyler.SetLineState(lineCurrent, newLineState);\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t}\n\n\t// If we didn't reach the EOL in previous loop, store line level and whitespace information.\n\t// The rest will be filled in later...\n\tint lev = levelPrev;\n\tif (visibleChars == 0 && foldCompact)\n\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\tstyler.SetLevel(lineCurrent, lev);\n}\n\nstatic const char * const pascalWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmPascal(SCLEX_PASCAL, ColourisePascalDoc, \"pascal\", FoldPascalDoc, pascalWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPerl.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPerl.cxx\n ** Lexer for Perl.\n ** Converted to lexer object by \"Udo Lechner\" <dlchnr(at)gmx(dot)net>\n **/\n// Copyright 1998-2008 by Neil Hodgson <neilh@scintilla.org>\n// Lexical analysis fixes by Kein-Hong Man <mkh@pl.jaring.my>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\n// Info for HERE document handling from perldata.pod (reformatted):\n// ----------------------------------------------------------------\n// A line-oriented form of quoting is based on the shell ``here-doc'' syntax.\n// Following a << you specify a string to terminate the quoted material, and\n// all lines following the current line down to the terminating string are\n// the value of the item.\n// * The terminating string may be either an identifier (a word), or some\n//   quoted text.\n// * If quoted, the type of quotes you use determines the treatment of the\n//   text, just as in regular quoting.\n// * An unquoted identifier works like double quotes.\n// * There must be no space between the << and the identifier.\n//   (If you put a space it will be treated as a null identifier,\n//    which is valid, and matches the first empty line.)\n//   (This is deprecated, -w warns of this syntax)\n// * The terminating string must appear by itself (unquoted and\n//   with no surrounding whitespace) on the terminating line.\n\n#define HERE_DELIM_MAX 256\t\t// maximum length of HERE doc delimiter\n\n#define PERLNUM_BINARY\t\t1\t// order is significant: 1-3 cannot have a dot\n#define PERLNUM_OCTAL\t\t2\n#define PERLNUM_FLOAT_EXP\t3\t// exponent part only\n#define PERLNUM_HEX\t\t\t4\t// may be a hex float\n#define PERLNUM_DECIMAL\t\t5\t// 1-5 are numbers; 6-7 are strings\n#define PERLNUM_VECTOR\t\t6\n#define PERLNUM_V_VECTOR\t7\n#define PERLNUM_BAD\t\t\t8\n\n#define BACK_NONE\t\t0\t// lookback state for bareword disambiguation:\n#define BACK_OPERATOR\t1\t// whitespace/comments are insignificant\n#define BACK_KEYWORD\t2\t// operators/keywords are needed for disambiguation\n\n#define SUB_BEGIN\t\t0\t// states for subroutine prototype scan:\n#define SUB_HAS_PROTO\t1\t// only 'prototype' attribute allows prototypes\n#define SUB_HAS_ATTRIB\t2\t// other attributes can exist leftward\n#define SUB_HAS_MODULE\t3\t// sub name can have a ::identifier part\n#define SUB_HAS_SUB\t\t4\t// 'sub' keyword\n\n// all interpolated styles are different from their parent styles by a constant difference\n// we also assume SCE_PL_STRING_VAR is the interpolated style with the smallest value\n#define\tINTERPOLATE_SHIFT\t(SCE_PL_STRING_VAR - SCE_PL_STRING)\n\nstatic bool isPerlKeyword(Sci_PositionU start, Sci_PositionU end, WordList &keywords, LexAccessor &styler) {\n\t// old-style keyword matcher; needed because GetCurrent() needs\n\t// current segment to be committed, but we may abandon early...\n\tchar s[100];\n\tSci_PositionU i, len = end - start;\n\tif (len > 30) { len = 30; }\n\tfor (i = 0; i < len; i++, start++) s[i] = styler[start];\n\ts[i] = '\\0';\n\treturn keywords.InList(s);\n}\n\nstatic int disambiguateBareword(LexAccessor &styler, Sci_PositionU bk, Sci_PositionU fw,\n        int backFlag, Sci_PositionU backPos, Sci_PositionU endPos) {\n\t// identifiers are recognized by Perl as barewords under some\n\t// conditions, the following attempts to do the disambiguation\n\t// by looking backward and forward; result in 2 LSB\n\tint result = 0;\n\tbool moreback = false;\t\t// true if passed newline/comments\n\tbool brace = false;\t\t\t// true if opening brace found\n\t// if BACK_NONE, neither operator nor keyword, so skip test\n\tif (backFlag == BACK_NONE)\n\t\treturn result;\n\t// first look backwards past whitespace/comments to set EOL flag\n\t// (some disambiguation patterns must be on a single line)\n\tif (backPos <= static_cast<Sci_PositionU>(styler.LineStart(styler.GetLine(bk))))\n\t\tmoreback = true;\n\t// look backwards at last significant lexed item for disambiguation\n\tbk = backPos - 1;\n\tint ch = static_cast<unsigned char>(styler.SafeGetCharAt(bk));\n\tif (ch == '{' && !moreback) {\n\t\t// {bareword: possible variable spec\n\t\tbrace = true;\n\t} else if ((ch == '&' && styler.SafeGetCharAt(bk - 1) != '&')\n\t        // &bareword: subroutine call\n\t        || styler.Match(bk - 1, \"->\")\n\t        // ->bareword: part of variable spec\n\t        || styler.Match(bk - 1, \"::\")\n\t        // ::bareword: part of module spec\n\t        || styler.Match(bk - 2, \"sub\")) {\n\t        // sub bareword: subroutine declaration\n\t        // (implied BACK_KEYWORD, no keywords end in 'sub'!)\n\t\tresult |= 1;\n\t}\n\t// next, scan forward after word past tab/spaces only;\n\t// if ch isn't one of '[{(,' we can skip the test\n\tif ((ch == '{' || ch == '(' || ch == '['|| ch == ',')\n\t        && fw < endPos) {\n\t\twhile (IsASpaceOrTab(ch = static_cast<unsigned char>(styler.SafeGetCharAt(fw)))\n\t\t        && fw < endPos) {\n\t\t\tfw++;\n\t\t}\n\t\tif ((ch == '}' && brace)\n\t\t        // {bareword}: variable spec\n\t\t        || styler.Match(fw, \"=>\")) {\n\t\t        // [{(, bareword=>: hash literal\n\t\t\tresult |= 2;\n\t\t}\n\t}\n\treturn result;\n}\n\nstatic void skipWhitespaceComment(LexAccessor &styler, Sci_PositionU &p) {\n\t// when backtracking, we need to skip whitespace and comments\n\twhile (p > 0) {\n\t\tconst int style = styler.StyleAt(p);\n\t\tif (style != SCE_PL_DEFAULT && style != SCE_PL_COMMENTLINE)\n\t\t\tbreak;\n\t\tp--;\n\t}\n}\n\nstatic int findPrevLexeme(LexAccessor &styler, Sci_PositionU &bk, int &style) {\n\t// scan backward past whitespace and comments to find a lexeme\n\tskipWhitespaceComment(styler, bk);\n\tif (bk == 0)\n\t\treturn 0;\n\tint sz = 1;\n\tstyle = styler.StyleAt(bk);\n\twhile (bk > 0) {\t// find extent of lexeme\n\t\tif (styler.StyleAt(bk - 1) == style) {\n\t\t\tbk--; sz++;\n\t\t} else\n\t\t\tbreak;\n\t}\n\treturn sz;\n}\n\nstatic int styleBeforeBracePair(LexAccessor &styler, Sci_PositionU bk) {\n\t// backtrack to find open '{' corresponding to a '}', balanced\n\t// return significant style to be tested for '/' disambiguation\n\tint braceCount = 1;\n\tif (bk == 0)\n\t\treturn SCE_PL_DEFAULT;\n\twhile (--bk > 0) {\n\t\tif (styler.StyleAt(bk) == SCE_PL_OPERATOR) {\n\t\t\tint bkch = static_cast<unsigned char>(styler.SafeGetCharAt(bk));\n\t\t\tif (bkch == ';') {\t// early out\n\t\t\t\tbreak;\n\t\t\t} else if (bkch == '}') {\n\t\t\t\tbraceCount++;\n\t\t\t} else if (bkch == '{') {\n\t\t\t\tif (--braceCount == 0) break;\n\t\t\t}\n\t\t}\n\t}\n\tif (bk > 0 && braceCount == 0) {\n\t\t// balanced { found, bk > 0, skip more whitespace/comments\n\t\tbk--;\n\t\tskipWhitespaceComment(styler, bk);\n\t\treturn styler.StyleAt(bk);\n\t}\n\treturn SCE_PL_DEFAULT;\n}\n\nstatic int styleCheckIdentifier(LexAccessor &styler, Sci_PositionU bk) {\n\t// backtrack to classify sub-styles of identifier under test\n\t// return sub-style to be tested for '/' disambiguation\n\tif (styler.SafeGetCharAt(bk) == '>')\t// inputsymbol, like <foo>\n\t\treturn 1;\n\t// backtrack to check for possible \"->\" or \"::\" before identifier\n\twhile (bk > 0 && styler.StyleAt(bk) == SCE_PL_IDENTIFIER) {\n\t\tbk--;\n\t}\n\twhile (bk > 0) {\n\t\tint bkstyle = styler.StyleAt(bk);\n\t\tif (bkstyle == SCE_PL_DEFAULT\n\t\t        || bkstyle == SCE_PL_COMMENTLINE) {\n\t\t\t// skip whitespace, comments\n\t\t} else if (bkstyle == SCE_PL_OPERATOR) {\n\t\t\t// test for \"->\" and \"::\"\n\t\t\tif (styler.Match(bk - 1, \"->\") || styler.Match(bk - 1, \"::\"))\n\t\t\t\treturn 2;\n\t\t} else\n\t\t\treturn 3;\t// bare identifier\n\t\tbk--;\n\t}\n\treturn 0;\n}\n\nstatic int podLineScan(LexAccessor &styler, Sci_PositionU &pos, Sci_PositionU endPos) {\n\t// forward scan the current line to classify line for POD style\n\tint state = -1;\n\twhile (pos < endPos) {\n\t\tint ch = static_cast<unsigned char>(styler.SafeGetCharAt(pos));\n\t\tif (ch == '\\n' || ch == '\\r') {\n\t\t\tif (ch == '\\r' && styler.SafeGetCharAt(pos + 1) == '\\n') pos++;\n\t\t\tbreak;\n\t\t}\n\t\tif (IsASpaceOrTab(ch)) {\t// whitespace, take note\n\t\t\tif (state == -1)\n\t\t\t\tstate = SCE_PL_DEFAULT;\n\t\t} else if (state == SCE_PL_DEFAULT) {\t// verbatim POD line\n\t\t\tstate = SCE_PL_POD_VERB;\n\t\t} else if (state != SCE_PL_POD_VERB) {\t// regular POD line\n\t\t\tstate = SCE_PL_POD;\n\t\t}\n\t\tpos++;\n\t}\n\tif (state == -1)\n\t\tstate = SCE_PL_DEFAULT;\n\treturn state;\n}\n\nstatic bool styleCheckSubPrototype(LexAccessor &styler, Sci_PositionU bk) {\n\t// backtrack to identify if we're starting a subroutine prototype\n\t// we also need to ignore whitespace/comments, format is like:\n\t//     sub abc::pqr :const :prototype(...)\n\t// lexemes are tested in pairs, e.g. '::'+'pqr', ':'+'const', etc.\n\t// and a state machine generates legal subroutine syntax matches\n\tstyler.Flush();\n\tint state = SUB_BEGIN;\n\tdo {\n\t\t// find two lexemes, lexeme 2 follows lexeme 1\n\t\tint style2 = SCE_PL_DEFAULT;\n\t\tSci_PositionU pos2 = bk;\n\t\tint len2 = findPrevLexeme(styler, pos2, style2);\n\t\tint style1 = SCE_PL_DEFAULT;\n\t\tSci_PositionU pos1 = pos2;\n\t\tif (pos1 > 0) pos1--;\n\t\tint len1 = findPrevLexeme(styler, pos1, style1);\n\t\tif (len1 == 0 || len2 == 0)\t\t// lexeme pair must exist\n\t\t\tbreak;\n\n\t\t// match parts of syntax, if invalid subroutine syntax, break off\n\t\tif (style1 == SCE_PL_OPERATOR && len1 == 1 &&\n\t\t    styler.SafeGetCharAt(pos1) == ':') {\t// ':'\n\t\t\tif (style2 == SCE_PL_IDENTIFIER || style2 == SCE_PL_WORD) {\n\t\t\t\tif (len2 == 9 && styler.Match(pos2, \"prototype\")) {\t// ':' 'prototype'\n\t\t\t\t\tif (state == SUB_BEGIN) {\n\t\t\t\t\t\tstate = SUB_HAS_PROTO;\n\t\t\t\t\t} else\n\t\t\t\t\t\tbreak;\n\t\t\t\t} else {\t// ':' <attribute>\n\t\t\t\t\tif (state == SUB_HAS_PROTO || state == SUB_HAS_ATTRIB) {\n\t\t\t\t\t\tstate = SUB_HAS_ATTRIB;\n\t\t\t\t\t} else\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else\n\t\t\t\tbreak;\n\t\t} else if (style1 == SCE_PL_OPERATOR && len1 == 2 &&\n\t\t           styler.Match(pos1, \"::\")) {\t// '::'\n\t\t\tif (style2 == SCE_PL_IDENTIFIER) {\t// '::' <identifier>\n\t\t\t\tstate = SUB_HAS_MODULE;\n\t\t\t} else\n\t\t\t\tbreak;\n\t\t} else if (style1 == SCE_PL_WORD && len1 == 3 &&\n\t\t           styler.Match(pos1, \"sub\")) {\t// 'sub'\n\t\t\tif (style2 == SCE_PL_IDENTIFIER) {\t// 'sub' <identifier>\n\t\t\t\tstate = SUB_HAS_SUB;\n\t\t\t} else\n\t\t\t\tbreak;\n\t\t} else\n\t\t\tbreak;\n\t\tbk = pos1;\t\t\t// set position for finding next lexeme pair\n\t\tif (bk > 0) bk--;\n\t} while (state != SUB_HAS_SUB);\n\treturn (state == SUB_HAS_SUB);\n}\n\nstatic int actualNumStyle(int numberStyle) {\n\tif (numberStyle == PERLNUM_VECTOR || numberStyle == PERLNUM_V_VECTOR) {\n\t\treturn SCE_PL_STRING;\n\t} else if (numberStyle == PERLNUM_BAD) {\n\t\treturn SCE_PL_ERROR;\n\t}\n\treturn SCE_PL_NUMBER;\n}\n\nstatic int opposite(int ch) {\n\tif (ch == '(') return ')';\n\tif (ch == '[') return ']';\n\tif (ch == '{') return '}';\n\tif (ch == '<') return '>';\n\treturn ch;\n}\n\nstatic bool IsCommentLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\t\tif (ch == '#' && style == SCE_PL_COMMENTLINE)\n\t\t\treturn true;\n\t\telse if (!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic bool IsPackageLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tint style = styler.StyleAt(pos);\n\tif (style == SCE_PL_WORD && styler.Match(pos, \"package\")) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nstatic int PodHeadingLevel(Sci_Position pos, LexAccessor &styler) {\n\tint lvl = static_cast<unsigned char>(styler.SafeGetCharAt(pos + 5));\n\tif (lvl >= '1' && lvl <= '4') {\n\t\treturn lvl - '0';\n\t}\n\treturn 0;\n}\n\n// An individual named option for use in an OptionSet\n\n// Options used for LexerPerl\nstruct OptionsPerl {\n\tbool fold;\n\tbool foldComment;\n\tbool foldCompact;\n\t// Custom folding of POD and packages\n\tbool foldPOD;            // fold.perl.pod\n\t// Enable folding Pod blocks when using the Perl lexer.\n\tbool foldPackage;        // fold.perl.package\n\t// Enable folding packages when using the Perl lexer.\n\n\tbool foldCommentExplicit;\n\n\tbool foldAtElse;\n\n\tOptionsPerl() {\n\t\tfold = false;\n\t\tfoldComment = false;\n\t\tfoldCompact = true;\n\t\tfoldPOD = true;\n\t\tfoldPackage = true;\n\t\tfoldCommentExplicit = true;\n\t\tfoldAtElse = false;\n\t}\n};\n\nstatic const char *const perlWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nstruct OptionSetPerl : public OptionSet<OptionsPerl> {\n\tOptionSetPerl() {\n\t\tDefineProperty(\"fold\", &OptionsPerl::fold);\n\n\t\tDefineProperty(\"fold.comment\", &OptionsPerl::foldComment);\n\n\t\tDefineProperty(\"fold.compact\", &OptionsPerl::foldCompact);\n\n\t\tDefineProperty(\"fold.perl.pod\", &OptionsPerl::foldPOD,\n\t\t        \"Set to 0 to disable folding Pod blocks when using the Perl lexer.\");\n\n\t\tDefineProperty(\"fold.perl.package\", &OptionsPerl::foldPackage,\n\t\t        \"Set to 0 to disable folding packages when using the Perl lexer.\");\n\n\t\tDefineProperty(\"fold.perl.comment.explicit\", &OptionsPerl::foldCommentExplicit,\n\t\t        \"Set to 0 to disable explicit folding.\");\n\n\t\tDefineProperty(\"fold.perl.at.else\", &OptionsPerl::foldAtElse,\n\t\t               \"This option enables Perl folding on a \\\"} else {\\\" line of an if statement.\");\n\n\t\tDefineWordListSets(perlWordListDesc);\n\t}\n};\n\nclass LexerPerl : public DefaultLexer {\n\tCharacterSet setWordStart;\n\tCharacterSet setWord;\n\tCharacterSet setSpecialVar;\n\tCharacterSet setControlVar;\n\tWordList keywords;\n\tOptionsPerl options;\n\tOptionSetPerl osPerl;\npublic:\n\tLexerPerl() :\n\t\tsetWordStart(CharacterSet::setAlpha, \"_\", 0x80, true),\n\t\tsetWord(CharacterSet::setAlphaNum, \"_\", 0x80, true),\n\t\tsetSpecialVar(CharacterSet::setNone, \"\\\"$;<>&`'+,./\\\\%:=~!?@[]\"),\n\t\tsetControlVar(CharacterSet::setNone, \"ACDEFHILMNOPRSTVWX\") {\n\t}\n\tvirtual ~LexerPerl() {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tconst char *SCI_METHOD PropertyNames() override {\n\t\treturn osPerl.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osPerl.PropertyType(name);\n\t}\n\tconst char *SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osPerl.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char *SCI_METHOD DescribeWordListSets() override {\n\t\treturn osPerl.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid *SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\n\tstatic ILexer *LexerFactoryPerl() {\n\t\treturn new LexerPerl();\n\t}\n\tint InputSymbolScan(StyleContext &sc);\n\tvoid InterpolateSegment(StyleContext &sc, int maxSeg, bool isPattern=false);\n};\n\nSci_Position SCI_METHOD LexerPerl::PropertySet(const char *key, const char *val) {\n\tif (osPerl.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerPerl::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nint LexerPerl::InputSymbolScan(StyleContext &sc) {\n\t// forward scan for matching > on same line; file handles\n\tint c, sLen = 0;\n\twhile ((c = sc.GetRelativeCharacter(++sLen)) != 0) {\n\t\tif (c == '\\r' || c == '\\n') {\n\t\t\treturn 0;\n\t\t} else if (c == '>') {\n\t\t\tif (sc.Match(\"<=>\"))\t// '<=>' case\n\t\t\t\treturn 0;\n\t\t\treturn sLen;\n\t\t}\n\t}\n\treturn 0;\n}\n\nvoid LexerPerl::InterpolateSegment(StyleContext &sc, int maxSeg, bool isPattern) {\n\t// interpolate a segment (with no active backslashes or delimiters within)\n\t// switch in or out of an interpolation style or continue current style\n\t// commit variable patterns if found, trim segment, repeat until done\n\twhile (maxSeg > 0) {\n\t\tbool isVar = false;\n\t\tint sLen = 0;\n\t\tif ((maxSeg > 1) && (sc.ch == '$' || sc.ch == '@')) {\n\t\t\t// $#[$]*word [$@][$]*word (where word or {word} is always present)\n\t\t\tbool braces = false;\n\t\t\tsLen = 1;\n\t\t\tif (sc.ch == '$' && sc.chNext == '#') {\t// starts with $#\n\t\t\t\tsLen++;\n\t\t\t}\n\t\t\twhile ((maxSeg > sLen) && (sc.GetRelativeCharacter(sLen) == '$'))\t// >0 $ dereference within\n\t\t\t\tsLen++;\n\t\t\tif ((maxSeg > sLen) && (sc.GetRelativeCharacter(sLen) == '{')) {\t// { start for {word}\n\t\t\t\tsLen++;\n\t\t\t\tbraces = true;\n\t\t\t}\n\t\t\tif (maxSeg > sLen) {\n\t\t\t\tint c = sc.GetRelativeCharacter(sLen);\n\t\t\t\tif (setWordStart.Contains(c)) {\t// word (various)\n\t\t\t\t\tsLen++;\n\t\t\t\t\tisVar = true;\n\t\t\t\t\twhile (maxSeg > sLen) {\n\t\t\t\t\t\tif (!setWord.Contains(sc.GetRelativeCharacter(sLen)))\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tsLen++;\n\t\t\t\t\t}\n\t\t\t\t} else if (braces && IsADigit(c) && (sLen == 2)) {\t// digit for ${digit}\n\t\t\t\t\tsLen++;\n\t\t\t\t\tisVar = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (braces) {\n\t\t\t\tif ((maxSeg > sLen) && (sc.GetRelativeCharacter(sLen) == '}')) {\t// } end for {word}\n\t\t\t\t\tsLen++;\n\t\t\t\t} else\n\t\t\t\t\tisVar = false;\n\t\t\t}\n\t\t}\n\t\tif (!isVar && (maxSeg > 1)) {\t// $- or @-specific variable patterns\n\t\t\tint c = sc.chNext;\n\t\t\tif (sc.ch == '$') {\n\t\t\t\tsLen = 1;\n\t\t\t\tif (IsADigit(c)) {\t// $[0-9] and slurp trailing digits\n\t\t\t\t\tsLen++;\n\t\t\t\t\tisVar = true;\n\t\t\t\t\twhile ((maxSeg > sLen) && IsADigit(sc.GetRelativeCharacter(sLen)))\n\t\t\t\t\t\tsLen++;\n\t\t\t\t} else if (setSpecialVar.Contains(c)) {\t// $ special variables\n\t\t\t\t\tsLen++;\n\t\t\t\t\tisVar = true;\n\t\t\t\t} else if (!isPattern && ((c == '(') || (c == ')') || (c == '|'))) {\t// $ additional\n\t\t\t\t\tsLen++;\n\t\t\t\t\tisVar = true;\n\t\t\t\t} else if (c == '^') {\t// $^A control-char style\n\t\t\t\t\tsLen++;\n\t\t\t\t\tif ((maxSeg > sLen) && setControlVar.Contains(sc.GetRelativeCharacter(sLen))) {\n\t\t\t\t\t\tsLen++;\n\t\t\t\t\t\tisVar = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '@') {\n\t\t\t\tsLen = 1;\n\t\t\t\tif (!isPattern && ((c == '+') || (c == '-'))) {\t// @ specials non-pattern\n\t\t\t\t\tsLen++;\n\t\t\t\t\tisVar = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (isVar) {\t// commit as interpolated variable or normal character\n\t\t\tif (sc.state < SCE_PL_STRING_VAR)\n\t\t\t\tsc.SetState(sc.state + INTERPOLATE_SHIFT);\n\t\t\tsc.Forward(sLen);\n\t\t\tmaxSeg -= sLen;\n\t\t} else {\n\t\t\tif (sc.state >= SCE_PL_STRING_VAR)\n\t\t\t\tsc.SetState(sc.state - INTERPOLATE_SHIFT);\n\t\t\tsc.Forward();\n\t\t\tmaxSeg--;\n\t\t}\n\t}\n\tif (sc.state >= SCE_PL_STRING_VAR)\n\t\tsc.SetState(sc.state - INTERPOLATE_SHIFT);\n}\n\nvoid SCI_METHOD LexerPerl::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\n\t// keywords that forces /PATTERN/ at all times; should track vim's behaviour\n\tWordList reWords;\n\treWords.Set(\"elsif if split while\");\n\n\t// charset classes\n\tCharacterSet setSingleCharOp(CharacterSet::setNone, \"rwxoRWXOezsfdlpSbctugkTBMAC\");\n\t// lexing of \"%*</\" operators is non-trivial; these are missing in the set below\n\tCharacterSet setPerlOperator(CharacterSet::setNone, \"^&\\\\()-+=|{}[]:;>,?!.~\");\n\tCharacterSet setQDelim(CharacterSet::setNone, \"qrwx\");\n\tCharacterSet setModifiers(CharacterSet::setAlpha);\n\tCharacterSet setPreferRE(CharacterSet::setNone, \"*/<%\");\n\t// setArray and setHash also accepts chars for special vars like $_,\n\t// which are then truncated when the next char does not match setVar\n\tCharacterSet setVar(CharacterSet::setAlphaNum, \"#$_'\", 0x80, true);\n\tCharacterSet setArray(CharacterSet::setAlpha, \"#$_+-\", 0x80, true);\n\tCharacterSet setHash(CharacterSet::setAlpha, \"#$_!^+-\", 0x80, true);\n\tCharacterSet &setPOD = setModifiers;\n\tCharacterSet setNonHereDoc(CharacterSet::setDigits, \"=$@\");\n\tCharacterSet setHereDocDelim(CharacterSet::setAlphaNum, \"_\");\n\tCharacterSet setSubPrototype(CharacterSet::setNone, \"\\\\[$@%&*+];_ \\t\");\n\tCharacterSet setRepetition(CharacterSet::setDigits, \")\\\"'\");\n\t// for format identifiers\n\tCharacterSet setFormatStart(CharacterSet::setAlpha, \"_=\");\n\tCharacterSet &setFormat = setHereDocDelim;\n\n\t// Lexer for perl often has to backtrack to start of current style to determine\n\t// which characters are being used as quotes, how deeply nested is the\n\t// start position and what the termination string is for HERE documents.\n\n\tclass HereDocCls {\t// Class to manage HERE doc sequence\n\tpublic:\n\t\tint State;\n\t\t// 0: '<<' encountered\n\t\t// 1: collect the delimiter\n\t\t// 2: here doc text (lines after the delimiter)\n\t\tint Quote;\t\t// the char after '<<'\n\t\tbool Quoted;\t\t// true if Quote in ('\\'','\"','`')\n\t\tint DelimiterLength;\t// strlen(Delimiter)\n\t\tchar Delimiter[HERE_DELIM_MAX];\t// the Delimiter\n\t\tHereDocCls() {\n\t\t\tState = 0;\n\t\t\tQuote = 0;\n\t\t\tQuoted = false;\n\t\t\tDelimiterLength = 0;\n\t\t\tDelimiter[0] = '\\0';\n\t\t}\n\t\tvoid Append(int ch) {\n\t\t\tDelimiter[DelimiterLength++] = static_cast<char>(ch);\n\t\t\tDelimiter[DelimiterLength] = '\\0';\n\t\t}\n\t\t~HereDocCls() {\n\t\t}\n\t};\n\tHereDocCls HereDoc;\t\t// TODO: FIFO for stacked here-docs\n\n\tclass QuoteCls {\t// Class to manage quote pairs\n\tpublic:\n\t\tint Rep;\n\t\tint Count;\n\t\tint Up, Down;\n\t\tQuoteCls() {\n\t\t\tNew(1);\n\t\t}\n\t\tvoid New(int r = 1) {\n\t\t\tRep   = r;\n\t\t\tCount = 0;\n\t\t\tUp    = '\\0';\n\t\t\tDown  = '\\0';\n\t\t}\n\t\tvoid Open(int u) {\n\t\t\tCount++;\n\t\t\tUp    = u;\n\t\t\tDown  = opposite(Up);\n\t\t}\n\t};\n\tQuoteCls Quote;\n\n\t// additional state for number lexing\n\tint numState = PERLNUM_DECIMAL;\n\tint dotCount = 0;\n\n\tSci_PositionU endPos = startPos + length;\n\n\t// Backtrack to beginning of style if required...\n\t// If in a long distance lexical state, backtrack to find quote characters.\n\t// Includes strings (may be multi-line), numbers (additional state), format\n\t// bodies, as well as POD sections.\n\tif (initStyle == SCE_PL_HERE_Q\n\t    || initStyle == SCE_PL_HERE_QQ\n\t    || initStyle == SCE_PL_HERE_QX\n\t    || initStyle == SCE_PL_FORMAT\n\t    || initStyle == SCE_PL_HERE_QQ_VAR\n\t    || initStyle == SCE_PL_HERE_QX_VAR\n\t   ) {\n\t\t// backtrack through multiple styles to reach the delimiter start\n\t\tint delim = (initStyle == SCE_PL_FORMAT) ? SCE_PL_FORMAT_IDENT:SCE_PL_HERE_DELIM;\n\t\twhile ((startPos > 1) && (styler.StyleAt(startPos) != delim)) {\n\t\t\tstartPos--;\n\t\t}\n\t\tstartPos = styler.LineStart(styler.GetLine(startPos));\n\t\tinitStyle = styler.StyleAt(startPos - 1);\n\t}\n\tif (initStyle == SCE_PL_STRING\n\t    || initStyle == SCE_PL_STRING_QQ\n\t    || initStyle == SCE_PL_BACKTICKS\n\t    || initStyle == SCE_PL_STRING_QX\n\t    || initStyle == SCE_PL_REGEX\n\t    || initStyle == SCE_PL_STRING_QR\n\t    || initStyle == SCE_PL_REGSUBST\n\t    || initStyle == SCE_PL_STRING_VAR\n\t    || initStyle == SCE_PL_STRING_QQ_VAR\n\t    || initStyle == SCE_PL_BACKTICKS_VAR\n\t    || initStyle == SCE_PL_STRING_QX_VAR\n\t    || initStyle == SCE_PL_REGEX_VAR\n\t    || initStyle == SCE_PL_STRING_QR_VAR\n\t    || initStyle == SCE_PL_REGSUBST_VAR\n\t   ) {\n\t\t// for interpolation, must backtrack through a mix of two different styles\n\t\tint otherStyle = (initStyle >= SCE_PL_STRING_VAR) ?\n\t\t\tinitStyle - INTERPOLATE_SHIFT : initStyle + INTERPOLATE_SHIFT;\n\t\twhile (startPos > 1) {\n\t\t\tint st = styler.StyleAt(startPos - 1);\n\t\t\tif ((st != initStyle) && (st != otherStyle))\n\t\t\t\tbreak;\n\t\t\tstartPos--;\n\t\t}\n\t\tinitStyle = SCE_PL_DEFAULT;\n\t} else if (initStyle == SCE_PL_STRING_Q\n\t        || initStyle == SCE_PL_STRING_QW\n\t        || initStyle == SCE_PL_XLAT\n\t        || initStyle == SCE_PL_CHARACTER\n\t        || initStyle == SCE_PL_NUMBER\n\t        || initStyle == SCE_PL_IDENTIFIER\n\t        || initStyle == SCE_PL_ERROR\n\t        || initStyle == SCE_PL_SUB_PROTOTYPE\n\t   ) {\n\t\twhile ((startPos > 1) && (styler.StyleAt(startPos - 1) == initStyle)) {\n\t\t\tstartPos--;\n\t\t}\n\t\tinitStyle = SCE_PL_DEFAULT;\n\t} else if (initStyle == SCE_PL_POD\n\t        || initStyle == SCE_PL_POD_VERB\n\t          ) {\n\t\t// POD backtracking finds preceding blank lines and goes back past them\n\t\tSci_Position ln = styler.GetLine(startPos);\n\t\tif (ln > 0) {\n\t\t\tinitStyle = styler.StyleAt(styler.LineStart(--ln));\n\t\t\tif (initStyle == SCE_PL_POD || initStyle == SCE_PL_POD_VERB) {\n\t\t\t\twhile (ln > 0 && styler.GetLineState(ln) == SCE_PL_DEFAULT)\n\t\t\t\t\tln--;\n\t\t\t}\n\t\t\tstartPos = styler.LineStart(++ln);\n\t\t\tinitStyle = styler.StyleAt(startPos - 1);\n\t\t} else {\n\t\t\tstartPos = 0;\n\t\t\tinitStyle = SCE_PL_DEFAULT;\n\t\t}\n\t}\n\n\t// backFlag, backPos are additional state to aid identifier corner cases.\n\t// Look backwards past whitespace and comments in order to detect either\n\t// operator or keyword. Later updated as we go along.\n\tint backFlag = BACK_NONE;\n\tSci_PositionU backPos = startPos;\n\tif (backPos > 0) {\n\t\tbackPos--;\n\t\tskipWhitespaceComment(styler, backPos);\n\t\tif (styler.StyleAt(backPos) == SCE_PL_OPERATOR)\n\t\t\tbackFlag = BACK_OPERATOR;\n\t\telse if (styler.StyleAt(backPos) == SCE_PL_WORD)\n\t\t\tbackFlag = BACK_KEYWORD;\n\t\tbackPos++;\n\t}\n\n\tStyleContext sc(startPos, endPos - startPos, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\tcase SCE_PL_OPERATOR:\n\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\tbackFlag = BACK_OPERATOR;\n\t\t\tbackPos = sc.currentPos;\n\t\t\tbreak;\n\t\tcase SCE_PL_IDENTIFIER:\t\t// identifier, bareword, inputsymbol\n\t\t\tif ((!setWord.Contains(sc.ch) && sc.ch != '\\'')\n\t\t\t        || sc.Match('.', '.')\n\t\t\t        || sc.chPrev == '>') {\t// end of inputsymbol\n\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_WORD:\t\t// keyword, plus special cases\n\t\t\tif (!setWord.Contains(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tif ((strcmp(s, \"__DATA__\") == 0) || (strcmp(s, \"__END__\") == 0)) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_DATASECTION);\n\t\t\t\t} else {\n\t\t\t\t\tif ((strcmp(s, \"format\") == 0)) {\n\t\t\t\t\t\tsc.SetState(SCE_PL_FORMAT_IDENT);\n\t\t\t\t\t\tHereDoc.State = 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t\tbackFlag = BACK_KEYWORD;\n\t\t\t\t\tbackPos = sc.currentPos;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_SCALAR:\n\t\tcase SCE_PL_ARRAY:\n\t\tcase SCE_PL_HASH:\n\t\tcase SCE_PL_SYMBOLTABLE:\n\t\t\tif (sc.Match(':', ':')) {\t// skip ::\n\t\t\t\tsc.Forward();\n\t\t\t} else if (!setVar.Contains(sc.ch)) {\n\t\t\t\tif (sc.LengthCurrent() == 1) {\n\t\t\t\t\t// Special variable: $(, $_ etc.\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_NUMBER:\n\t\t\t// if no early break, number style is terminated at \"(go through)\"\n\t\t\tif (sc.ch == '.') {\n\t\t\t\tif (sc.chNext == '.') {\n\t\t\t\t\t// double dot is always an operator (go through)\n\t\t\t\t} else if (numState <= PERLNUM_FLOAT_EXP) {\n\t\t\t\t\t// non-decimal number or float exponent, consume next dot\n\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\t// decimal or vectors allows dots\n\t\t\t\t\tdotCount++;\n\t\t\t\t\tif (numState == PERLNUM_DECIMAL) {\n\t\t\t\t\t\tif (dotCount <= 1)\t// number with one dot in it\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tif (IsADigit(sc.chNext)) {\t// really a vector\n\t\t\t\t\t\t\tnumState = PERLNUM_VECTOR;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// number then dot (go through)\n\t\t\t\t\t} else if (numState == PERLNUM_HEX) {\n\t\t\t\t\t\tif (dotCount <= 1 && IsADigit(sc.chNext, 16)) {\n\t\t\t\t\t\t\tbreak;\t// hex with one dot is a hex float\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// hex then dot (go through)\n\t\t\t\t\t} else if (IsADigit(sc.chNext))\t// vectors\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t// vector then dot (go through)\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '_') {\n\t\t\t\t// permissive underscoring for number and vector literals\n\t\t\t\tbreak;\n\t\t\t} else if (numState == PERLNUM_DECIMAL) {\n\t\t\t\tif (sc.ch == 'E' || sc.ch == 'e') {\t// exponent, sign\n\t\t\t\t\tnumState = PERLNUM_FLOAT_EXP;\n\t\t\t\t\tif (sc.chNext == '+' || sc.chNext == '-') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (IsADigit(sc.ch))\n\t\t\t\t\tbreak;\n\t\t\t\t// number then word (go through)\n\t\t\t} else if (numState == PERLNUM_HEX) {\n\t\t\t\tif (sc.ch == 'P' || sc.ch == 'p') {\t// hex float exponent, sign\n\t\t\t\t\tnumState = PERLNUM_FLOAT_EXP;\n\t\t\t\t\tif (sc.chNext == '+' || sc.chNext == '-') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (IsADigit(sc.ch, 16))\n\t\t\t\t\tbreak;\n\t\t\t\t// hex or hex float then word (go through)\n\t\t\t} else if (numState == PERLNUM_VECTOR || numState == PERLNUM_V_VECTOR) {\n\t\t\t\tif (IsADigit(sc.ch))\t// vector\n\t\t\t\t\tbreak;\n\t\t\t\tif (setWord.Contains(sc.ch) && dotCount == 0) {\t// change to word\n\t\t\t\t\tsc.ChangeState(SCE_PL_IDENTIFIER);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t// vector then word (go through)\n\t\t\t} else if (IsADigit(sc.ch)) {\n\t\t\t\tif (numState == PERLNUM_FLOAT_EXP) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (numState == PERLNUM_OCTAL) {\n\t\t\t\t\tif (sc.ch <= '7') break;\n\t\t\t\t} else if (numState == PERLNUM_BINARY) {\n\t\t\t\t\tif (sc.ch <= '1') break;\n\t\t\t\t}\n\t\t\t\t// mark invalid octal, binary numbers (go through)\n\t\t\t\tnumState = PERLNUM_BAD;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// complete current number or vector\n\t\t\tsc.ChangeState(actualNumStyle(numState));\n\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\tbreak;\n\t\tcase SCE_PL_COMMENTLINE:\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_HERE_DELIM:\n\t\t\tif (HereDoc.State == 0) { // '<<' encountered\n\t\t\t\tint delim_ch = sc.chNext;\n\t\t\t\tSci_Position ws_skip = 0;\n\t\t\t\tHereDoc.State = 1;\t// pre-init HERE doc class\n\t\t\t\tHereDoc.Quote = sc.chNext;\n\t\t\t\tHereDoc.Quoted = false;\n\t\t\t\tHereDoc.DelimiterLength = 0;\n\t\t\t\tHereDoc.Delimiter[HereDoc.DelimiterLength] = '\\0';\n\t\t\t\tif (IsASpaceOrTab(delim_ch)) {\n\t\t\t\t\t// skip whitespace; legal only for quoted delimiters\n\t\t\t\t\tSci_PositionU i = sc.currentPos + 1;\n\t\t\t\t\twhile ((i < endPos) && IsASpaceOrTab(delim_ch)) {\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\tdelim_ch = static_cast<unsigned char>(styler.SafeGetCharAt(i));\n\t\t\t\t\t}\n\t\t\t\t\tws_skip = i - sc.currentPos - 1;\n\t\t\t\t}\n\t\t\t\tif (delim_ch == '\\'' || delim_ch == '\"' || delim_ch == '`') {\n\t\t\t\t\t// a quoted here-doc delimiter; skip any whitespace\n\t\t\t\t\tsc.Forward(ws_skip + 1);\n\t\t\t\t\tHereDoc.Quote = delim_ch;\n\t\t\t\t\tHereDoc.Quoted = true;\n\t\t\t\t} else if ((ws_skip == 0 && setNonHereDoc.Contains(sc.chNext))\n\t\t\t\t        || ws_skip > 0) {\n\t\t\t\t\t// left shift << or <<= operator cases\n\t\t\t\t\t// restore position if operator\n\t\t\t\t\tsc.ChangeState(SCE_PL_OPERATOR);\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_DEFAULT);\n\t\t\t\t\tbackFlag = BACK_OPERATOR;\n\t\t\t\t\tbackPos = sc.currentPos;\n\t\t\t\t\tHereDoc.State = 0;\n\t\t\t\t} else {\n\t\t\t\t\t// specially handle initial '\\' for identifier\n\t\t\t\t\tif (ws_skip == 0 && HereDoc.Quote == '\\\\')\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t// an unquoted here-doc delimiter, no special handling\n\t\t\t\t\t// (cannot be prefixed by spaces/tabs), or\n\t\t\t\t\t// symbols terminates; deprecated zero-length delimiter\n\t\t\t\t}\n\t\t\t} else if (HereDoc.State == 1) { // collect the delimiter\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t\tif (HereDoc.Quoted) { // a quoted here-doc delimiter\n\t\t\t\t\tif (sc.ch == HereDoc.Quote) { // closing quote => end of delimiter\n\t\t\t\t\t\tsc.ForwardSetState(SCE_PL_DEFAULT);\n\t\t\t\t\t} else if (!sc.atLineEnd) {\n\t\t\t\t\t\tif (sc.Match('\\\\', static_cast<char>(HereDoc.Quote))) { // escaped quote\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (sc.ch != '\\r') {\t// skip CR if CRLF\n\t\t\t\t\t\t\tint i = 0;\t\t\t// else append char, possibly an extended char\n\t\t\t\t\t\t\twhile (i < sc.width) {\n\t\t\t\t\t\t\t\tHereDoc.Append(static_cast<unsigned char>(styler.SafeGetCharAt(sc.currentPos + i)));\n\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else { // an unquoted here-doc delimiter, no extended charsets\n\t\t\t\t\tif (setHereDocDelim.Contains(sc.ch)) {\n\t\t\t\t\t\tHereDoc.Append(sc.ch);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (HereDoc.DelimiterLength >= HERE_DELIM_MAX - 1) {\n\t\t\t\t\tsc.SetState(SCE_PL_ERROR);\n\t\t\t\t\tHereDoc.State = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_HERE_Q:\n\t\tcase SCE_PL_HERE_QQ:\n\t\tcase SCE_PL_HERE_QX:\n\t\t\t// also implies HereDoc.State == 2\n\t\t\tsc.Complete();\n\t\t\tif (HereDoc.DelimiterLength == 0 || sc.Match(HereDoc.Delimiter)) {\n\t\t\t\tint c = sc.GetRelative(HereDoc.DelimiterLength);\n\t\t\t\tif (c == '\\r' || c == '\\n') {\t// peek first, do not consume match\n\t\t\t\t\tsc.ForwardBytes(HereDoc.DelimiterLength);\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t\t\tHereDoc.State = 0;\n\t\t\t\t\tif (!sc.atLineEnd)\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (sc.state == SCE_PL_HERE_Q) {\t// \\EOF and 'EOF' non-interpolated\n\t\t\t\twhile (!sc.atLineEnd)\n\t\t\t\t\tsc.Forward();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\twhile (!sc.atLineEnd) {\t\t// \"EOF\" and `EOF` interpolated\n\t\t\t\tint c, sLen = 0, endType = 0;\n\t\t\t\twhile ((c = sc.GetRelativeCharacter(sLen)) != 0) {\n\t\t\t\t\t// scan to break string into segments\n\t\t\t\t\tif (c == '\\\\') {\n\t\t\t\t\t\tendType = 1; break;\n\t\t\t\t\t} else if (c == '\\r' || c == '\\n') {\n\t\t\t\t\t\tendType = 2; break;\n\t\t\t\t\t}\n\t\t\t\t\tsLen++;\n\t\t\t\t}\n\t\t\t\tif (sLen > 0)\t// process non-empty segments\n\t\t\t\t\tInterpolateSegment(sc, sLen);\n\t\t\t\tif (endType == 1) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\t// \\ at end-of-line does not appear to have any effect, skip\n\t\t\t\t\tif (sc.ch != '\\r' && sc.ch != '\\n')\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (endType == 2) {\n\t\t\t\t\tif (!sc.atLineEnd)\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_POD:\n\t\tcase SCE_PL_POD_VERB: {\n\t\t\t\tSci_PositionU fw = sc.currentPos;\n\t\t\t\tSci_Position ln = styler.GetLine(fw);\n\t\t\t\tif (sc.atLineStart && sc.Match(\"=cut\")) {\t// end of POD\n\t\t\t\t\tsc.SetState(SCE_PL_POD);\n\t\t\t\t\tsc.Forward(4);\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t\tstyler.SetLineState(ln, SCE_PL_POD);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tint pod = podLineScan(styler, fw, endPos);\t// classify POD line\n\t\t\t\tstyler.SetLineState(ln, pod);\n\t\t\t\tif (pod == SCE_PL_DEFAULT) {\n\t\t\t\t\tif (sc.state == SCE_PL_POD_VERB) {\n\t\t\t\t\t\tSci_PositionU fw2 = fw;\n\t\t\t\t\t\twhile (fw2 < (endPos - 1) && pod == SCE_PL_DEFAULT) {\n\t\t\t\t\t\t\tfw = fw2++;\t// penultimate line (last blank line)\n\t\t\t\t\t\t\tpod = podLineScan(styler, fw2, endPos);\n\t\t\t\t\t\t\tstyler.SetLineState(styler.GetLine(fw2), pod);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (pod == SCE_PL_POD) {\t// truncate verbatim POD early\n\t\t\t\t\t\t\tsc.SetState(SCE_PL_POD);\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tfw = fw2;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (pod == SCE_PL_POD_VERB\t// still part of current paragraph\n\t\t\t\t\t        && (styler.GetLineState(ln - 1) == SCE_PL_POD)) {\n\t\t\t\t\t\tpod = SCE_PL_POD;\n\t\t\t\t\t\tstyler.SetLineState(ln, pod);\n\t\t\t\t\t} else if (pod == SCE_PL_POD\n\t\t\t\t\t        && (styler.GetLineState(ln - 1) == SCE_PL_POD_VERB)) {\n\t\t\t\t\t\tpod = SCE_PL_POD_VERB;\n\t\t\t\t\t\tstyler.SetLineState(ln, pod);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(pod);\n\t\t\t\t}\n\t\t\t\tsc.ForwardBytes(fw - sc.currentPos);\t// commit style\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_REGEX:\n\t\tcase SCE_PL_STRING_QR:\n\t\t\tif (Quote.Rep <= 0) {\n\t\t\t\tif (!setModifiers.Contains(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t} else if (!Quote.Up && !IsASpace(sc.ch)) {\n\t\t\t\tQuote.Open(sc.ch);\n\t\t\t} else {\n\t\t\t\tint c, sLen = 0, endType = 0;\n\t\t\t\twhile ((c = sc.GetRelativeCharacter(sLen)) != 0) {\n\t\t\t\t\t// scan to break string into segments\n\t\t\t\t\tif (IsASpace(c)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (c == '\\\\' && Quote.Up != '\\\\') {\n\t\t\t\t\t\tendType = 1; break;\n\t\t\t\t\t} else if (c == Quote.Down) {\n\t\t\t\t\t\tQuote.Count--;\n\t\t\t\t\t\tif (Quote.Count == 0) {\n\t\t\t\t\t\t\tQuote.Rep--;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (c == Quote.Up)\n\t\t\t\t\t\tQuote.Count++;\n\t\t\t\t\tsLen++;\n\t\t\t\t}\n\t\t\t\tif (sLen > 0) {\t// process non-empty segments\n\t\t\t\t\tif (Quote.Up != '\\'') {\n\t\t\t\t\t\tInterpolateSegment(sc, sLen, true);\n\t\t\t\t\t} else\t\t// non-interpolated path\n\t\t\t\t\t\tsc.Forward(sLen);\n\t\t\t\t}\n\t\t\t\tif (endType == 1)\n\t\t\t\t\tsc.Forward();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_REGSUBST:\n\t\tcase SCE_PL_XLAT:\n\t\t\tif (Quote.Rep <= 0) {\n\t\t\t\tif (!setModifiers.Contains(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t} else if (!Quote.Up && !IsASpace(sc.ch)) {\n\t\t\t\tQuote.Open(sc.ch);\n\t\t\t} else {\n\t\t\t\tint c, sLen = 0, endType = 0;\n\t\t\t\tbool isPattern = (Quote.Rep == 2);\n\t\t\t\twhile ((c = sc.GetRelativeCharacter(sLen)) != 0) {\n\t\t\t\t\t// scan to break string into segments\n\t\t\t\t\tif (c == '\\\\' && Quote.Up != '\\\\') {\n\t\t\t\t\t\tendType = 2; break;\n\t\t\t\t\t} else if (Quote.Count == 0 && Quote.Rep == 1) {\n\t\t\t\t\t\t// We matched something like s(...) or tr{...}, Perl 5.10\n\t\t\t\t\t\t// appears to allow almost any character for use as the\n\t\t\t\t\t\t// next delimiters. Whitespace and comments are accepted in\n\t\t\t\t\t\t// between, but we'll limit to whitespace here.\n\t\t\t\t\t\t// For '#', if no whitespace in between, it's a delimiter.\n\t\t\t\t\t\tif (IsASpace(c)) {\n\t\t\t\t\t\t\t// Keep going\n\t\t\t\t\t\t} else if (c == '#' && IsASpaceOrTab(sc.GetRelativeCharacter(sLen - 1))) {\n\t\t\t\t\t\t\tendType = 3;\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tQuote.Open(c);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (c == Quote.Down) {\n\t\t\t\t\t\tQuote.Count--;\n\t\t\t\t\t\tif (Quote.Count == 0) {\n\t\t\t\t\t\t\tQuote.Rep--;\n\t\t\t\t\t\t\tendType = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (Quote.Up == Quote.Down)\n\t\t\t\t\t\t\tQuote.Count++;\n\t\t\t\t\t\tif (endType == 1)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (c == Quote.Up) {\n\t\t\t\t\t\tQuote.Count++;\n\t\t\t\t\t} else if (IsASpace(c))\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tsLen++;\n\t\t\t\t}\n\t\t\t\tif (sLen > 0) {\t// process non-empty segments\n\t\t\t\t\tif (sc.state == SCE_PL_REGSUBST && Quote.Up != '\\'') {\n\t\t\t\t\t\tInterpolateSegment(sc, sLen, isPattern);\n\t\t\t\t\t} else\t\t// non-interpolated path\n\t\t\t\t\t\tsc.Forward(sLen);\n\t\t\t\t}\n\t\t\t\tif (endType == 2) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (endType == 3)\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_STRING_Q:\n\t\tcase SCE_PL_STRING_QQ:\n\t\tcase SCE_PL_STRING_QX:\n\t\tcase SCE_PL_STRING_QW:\n\t\tcase SCE_PL_STRING:\n\t\tcase SCE_PL_CHARACTER:\n\t\tcase SCE_PL_BACKTICKS:\n\t\t\tif (!Quote.Down && !IsASpace(sc.ch)) {\n\t\t\t\tQuote.Open(sc.ch);\n\t\t\t} else {\n\t\t\t\tint c, sLen = 0, endType = 0;\n\t\t\t\twhile ((c = sc.GetRelativeCharacter(sLen)) != 0) {\n\t\t\t\t\t// scan to break string into segments\n\t\t\t\t\tif (IsASpace(c)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (c == '\\\\' && Quote.Up != '\\\\') {\n\t\t\t\t\t\tendType = 2; break;\n\t\t\t\t\t} else if (c == Quote.Down) {\n\t\t\t\t\t\tQuote.Count--;\n\t\t\t\t\t\tif (Quote.Count == 0) {\n\t\t\t\t\t\t\tendType = 3; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (c == Quote.Up)\n\t\t\t\t\t\tQuote.Count++;\n\t\t\t\t\tsLen++;\n\t\t\t\t}\n\t\t\t\tif (sLen > 0) {\t// process non-empty segments\n\t\t\t\t\tswitch (sc.state) {\n\t\t\t\t\tcase SCE_PL_STRING:\n\t\t\t\t\tcase SCE_PL_STRING_QQ:\n\t\t\t\t\tcase SCE_PL_BACKTICKS:\n\t\t\t\t\t\tInterpolateSegment(sc, sLen);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SCE_PL_STRING_QX:\n\t\t\t\t\t\tif (Quote.Up != '\\'') {\n\t\t\t\t\t\t\tInterpolateSegment(sc, sLen);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// (continued for ' delim)\n\t\t\t\t\t\t// Falls through.\n\t\t\t\t\tdefault:\t// non-interpolated path\n\t\t\t\t\t\tsc.Forward(sLen);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (endType == 2) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else if (endType == 3)\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_SUB_PROTOTYPE: {\n\t\t\t\tint i = 0;\n\t\t\t\t// forward scan; must all be valid proto characters\n\t\t\t\twhile (setSubPrototype.Contains(sc.GetRelative(i)))\n\t\t\t\t\ti++;\n\t\t\t\tif (sc.GetRelative(i) == ')') {\t// valid sub prototype\n\t\t\t\t\tsc.ForwardBytes(i);\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\t// abandon prototype, restart from '('\n\t\t\t\t\tsc.ChangeState(SCE_PL_OPERATOR);\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_FORMAT: {\n\t\t\t\tsc.Complete();\n\t\t\t\tif (sc.Match('.')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tif (sc.atLineEnd || ((sc.ch == '\\r' && sc.chNext == '\\n')))\n\t\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t}\n\t\t\t\twhile (!sc.atLineEnd)\n\t\t\t\t\tsc.Forward();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_PL_ERROR:\n\t\t\tbreak;\n\t\t}\n\t\t// Needed for specific continuation styles (one follows the other)\n\t\tswitch (sc.state) {\n\t\t\t// continued from SCE_PL_WORD\n\t\tcase SCE_PL_FORMAT_IDENT:\n\t\t\t// occupies HereDoc state 3 to avoid clashing with HERE docs\n\t\t\tif (IsASpaceOrTab(sc.ch)) {\t\t// skip whitespace\n\t\t\t\tsc.ChangeState(SCE_PL_DEFAULT);\n\t\t\t\twhile (IsASpaceOrTab(sc.ch) && !sc.atLineEnd)\n\t\t\t\t\tsc.Forward();\n\t\t\t\tsc.SetState(SCE_PL_FORMAT_IDENT);\n\t\t\t}\n\t\t\tif (setFormatStart.Contains(sc.ch)) {\t// identifier or '='\n\t\t\t\tif (sc.ch != '=') {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} while (setFormat.Contains(sc.ch));\n\t\t\t\t}\n\t\t\t\twhile (IsASpaceOrTab(sc.ch) && !sc.atLineEnd)\n\t\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '=') {\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_DEFAULT);\n\t\t\t\t\tHereDoc.State = 3;\n\t\t\t\t} else {\n\t\t\t\t\t// invalid identifier; inexact fallback, but hey\n\t\t\t\t\tsc.ChangeState(SCE_PL_IDENTIFIER);\n\t\t\t\t\tsc.SetState(SCE_PL_DEFAULT);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsc.ChangeState(SCE_PL_DEFAULT);\t// invalid identifier\n\t\t\t}\n\t\t\tbackFlag = BACK_NONE;\n\t\t\tbreak;\n\t\t}\n\n\t\t// Must check end of HereDoc states here before default state is handled\n\t\tif (HereDoc.State == 1 && sc.atLineEnd) {\n\t\t\t// Begin of here-doc (the line after the here-doc delimiter):\n\t\t\t// Lexically, the here-doc starts from the next line after the >>, but the\n\t\t\t// first line of here-doc seem to follow the style of the last EOL sequence\n\t\t\tint st_new = SCE_PL_HERE_QQ;\n\t\t\tHereDoc.State = 2;\n\t\t\tif (HereDoc.Quoted) {\n\t\t\t\tif (sc.state == SCE_PL_HERE_DELIM) {\n\t\t\t\t\t// Missing quote at end of string! We are stricter than perl.\n\t\t\t\t\t// Colour here-doc anyway while marking this bit as an error.\n\t\t\t\t\tsc.ChangeState(SCE_PL_ERROR);\n\t\t\t\t}\n\t\t\t\tswitch (HereDoc.Quote) {\n\t\t\t\tcase '\\'':\n\t\t\t\t\tst_new = SCE_PL_HERE_Q;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '\"' :\n\t\t\t\t\tst_new = SCE_PL_HERE_QQ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '`' :\n\t\t\t\t\tst_new = SCE_PL_HERE_QX;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (HereDoc.Quote == '\\\\')\n\t\t\t\t\tst_new = SCE_PL_HERE_Q;\n\t\t\t}\n\t\t\tsc.SetState(st_new);\n\t\t}\n\t\tif (HereDoc.State == 3 && sc.atLineEnd) {\n\t\t\t// Start of format body.\n\t\t\tHereDoc.State = 0;\n\t\t\tsc.SetState(SCE_PL_FORMAT);\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_PL_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) ||\n\t\t\t        (IsADigit(sc.chNext) && (sc.ch == '.' || sc.ch == 'v'))) {\n\t\t\t\tsc.SetState(SCE_PL_NUMBER);\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t\tnumState = PERLNUM_DECIMAL;\n\t\t\t\tdotCount = 0;\n\t\t\t\tif (sc.ch == '0') {\t\t// hex,bin,octal\n\t\t\t\t\tif (sc.chNext == 'x' || sc.chNext == 'X') {\n\t\t\t\t\t\tnumState = PERLNUM_HEX;\n\t\t\t\t\t} else if (sc.chNext == 'b' || sc.chNext == 'B') {\n\t\t\t\t\t\tnumState = PERLNUM_BINARY;\n\t\t\t\t\t} else if (IsADigit(sc.chNext)) {\n\t\t\t\t\t\tnumState = PERLNUM_OCTAL;\n\t\t\t\t\t}\n\t\t\t\t\tif (numState != PERLNUM_DECIMAL) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == 'v') {\t\t// vector\n\t\t\t\t\tnumState = PERLNUM_V_VECTOR;\n\t\t\t\t}\n\t\t\t} else if (setWord.Contains(sc.ch)) {\n\t\t\t\t// if immediately prefixed by '::', always a bareword\n\t\t\t\tsc.SetState(SCE_PL_WORD);\n\t\t\t\tif (sc.chPrev == ':' && sc.GetRelative(-2) == ':') {\n\t\t\t\t\tsc.ChangeState(SCE_PL_IDENTIFIER);\n\t\t\t\t}\n\t\t\t\tSci_PositionU bk = sc.currentPos;\n\t\t\t\tSci_PositionU fw = sc.currentPos + 1;\n\t\t\t\t// first check for possible quote-like delimiter\n\t\t\t\tif (sc.ch == 's' && !setWord.Contains(sc.chNext)) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_REGSUBST);\n\t\t\t\t\tQuote.New(2);\n\t\t\t\t} else if (sc.ch == 'm' && !setWord.Contains(sc.chNext)) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_REGEX);\n\t\t\t\t\tQuote.New();\n\t\t\t\t} else if (sc.ch == 'q' && !setWord.Contains(sc.chNext)) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_STRING_Q);\n\t\t\t\t\tQuote.New();\n\t\t\t\t} else if (sc.ch == 'y' && !setWord.Contains(sc.chNext)) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_XLAT);\n\t\t\t\t\tQuote.New(2);\n\t\t\t\t} else if (sc.Match('t', 'r') && !setWord.Contains(sc.GetRelative(2))) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_XLAT);\n\t\t\t\t\tQuote.New(2);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tfw++;\n\t\t\t\t} else if (sc.ch == 'q' && setQDelim.Contains(sc.chNext)\n\t\t\t\t        && !setWord.Contains(sc.GetRelative(2))) {\n\t\t\t\t\tif (sc.chNext == 'q') sc.ChangeState(SCE_PL_STRING_QQ);\n\t\t\t\t\telse if (sc.chNext == 'x') sc.ChangeState(SCE_PL_STRING_QX);\n\t\t\t\t\telse if (sc.chNext == 'r') sc.ChangeState(SCE_PL_STRING_QR);\n\t\t\t\t\telse sc.ChangeState(SCE_PL_STRING_QW);\t// sc.chNext == 'w'\n\t\t\t\t\tQuote.New();\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tfw++;\n\t\t\t\t} else if (sc.ch == 'x' && (sc.chNext == '=' ||\t// repetition\n\t\t\t\t        !setWord.Contains(sc.chNext) ||\n\t\t\t\t        (setRepetition.Contains(sc.chPrev) && IsADigit(sc.chNext)))) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_OPERATOR);\n\t\t\t\t}\n\t\t\t\t// if potentially a keyword, scan forward and grab word, then check\n\t\t\t\t// if it's really one; if yes, disambiguation test is performed\n\t\t\t\t// otherwise it is always a bareword and we skip a lot of scanning\n\t\t\t\tif (sc.state == SCE_PL_WORD) {\n\t\t\t\t\twhile (setWord.Contains(static_cast<unsigned char>(styler.SafeGetCharAt(fw))))\n\t\t\t\t\t\tfw++;\n\t\t\t\t\tif (!isPerlKeyword(styler.GetStartSegment(), fw, keywords, styler)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_PL_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// if already SCE_PL_IDENTIFIER, then no ambiguity, skip this\n\t\t\t\t// for quote-like delimiters/keywords, attempt to disambiguate\n\t\t\t\t// to select for bareword, change state -> SCE_PL_IDENTIFIER\n\t\t\t\tif (sc.state != SCE_PL_IDENTIFIER && bk > 0) {\n\t\t\t\t\tif (disambiguateBareword(styler, bk, fw, backFlag, backPos, endPos))\n\t\t\t\t\t\tsc.ChangeState(SCE_PL_IDENTIFIER);\n\t\t\t\t}\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_PL_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_PL_STRING);\n\t\t\t\tQuote.New();\n\t\t\t\tQuote.Open(sc.ch);\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tif (sc.chPrev == '&' && setWordStart.Contains(sc.chNext)) {\n\t\t\t\t\t// Archaic call\n\t\t\t\t\tsc.SetState(SCE_PL_IDENTIFIER);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_PL_CHARACTER);\n\t\t\t\t\tQuote.New();\n\t\t\t\t\tQuote.Open(sc.ch);\n\t\t\t\t}\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '`') {\n\t\t\t\tsc.SetState(SCE_PL_BACKTICKS);\n\t\t\t\tQuote.New();\n\t\t\t\tQuote.Open(sc.ch);\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '$') {\n\t\t\t\tsc.SetState(SCE_PL_SCALAR);\n\t\t\t\tif (sc.chNext == '{') {\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_OPERATOR);\n\t\t\t\t} else if (IsASpace(sc.chNext)) {\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_DEFAULT);\n\t\t\t\t} else {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tif (sc.Match('`', '`') || sc.Match(':', ':')) {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '@') {\n\t\t\t\tsc.SetState(SCE_PL_ARRAY);\n\t\t\t\tif (setArray.Contains(sc.chNext)) {\n\t\t\t\t\t// no special treatment\n\t\t\t\t} else if (sc.chNext == ':' && sc.GetRelative(2) == ':') {\n\t\t\t\t\tsc.ForwardBytes(2);\n\t\t\t\t} else if (sc.chNext == '{' || sc.chNext == '[') {\n\t\t\t\t\tsc.ForwardSetState(SCE_PL_OPERATOR);\n\t\t\t\t} else {\n\t\t\t\t\tsc.ChangeState(SCE_PL_OPERATOR);\n\t\t\t\t}\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (setPreferRE.Contains(sc.ch)) {\n\t\t\t\t// Explicit backward peeking to set a consistent preferRE for\n\t\t\t\t// any slash found, so no longer need to track preferRE state.\n\t\t\t\t// Find first previous significant lexed element and interpret.\n\t\t\t\t// A few symbols shares this code for disambiguation.\n\t\t\t\tbool preferRE = false;\n\t\t\t\tbool isHereDoc = sc.Match('<', '<');\n\t\t\t\tbool hereDocSpace = false;\t\t// for: SCALAR [whitespace] '<<'\n\t\t\t\tSci_PositionU bk = (sc.currentPos > 0) ? sc.currentPos - 1: 0;\n\t\t\t\tsc.Complete();\n\t\t\t\tstyler.Flush();\n\t\t\t\tif (styler.StyleAt(bk) == SCE_PL_DEFAULT)\n\t\t\t\t\thereDocSpace = true;\n\t\t\t\tskipWhitespaceComment(styler, bk);\n\t\t\t\tif (bk == 0) {\n\t\t\t\t\t// avoid backward scanning breakage\n\t\t\t\t\tpreferRE = true;\n\t\t\t\t} else {\n\t\t\t\t\tint bkstyle = styler.StyleAt(bk);\n\t\t\t\t\tint bkch = static_cast<unsigned char>(styler.SafeGetCharAt(bk));\n\t\t\t\t\tswitch (bkstyle) {\n\t\t\t\t\tcase SCE_PL_OPERATOR:\n\t\t\t\t\t\tpreferRE = true;\n\t\t\t\t\t\tif (bkch == ')' || bkch == ']') {\n\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t} else if (bkch == '}') {\n\t\t\t\t\t\t\t// backtrack by counting balanced brace pairs\n\t\t\t\t\t\t\t// needed to test for variables like ${}, @{} etc.\n\t\t\t\t\t\t\tbkstyle = styleBeforeBracePair(styler, bk);\n\t\t\t\t\t\t\tif (bkstyle == SCE_PL_SCALAR\n\t\t\t\t\t\t\t        || bkstyle == SCE_PL_ARRAY\n\t\t\t\t\t\t\t        || bkstyle == SCE_PL_HASH\n\t\t\t\t\t\t\t        || bkstyle == SCE_PL_SYMBOLTABLE\n\t\t\t\t\t\t\t        || bkstyle == SCE_PL_OPERATOR) {\n\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (bkch == '+' || bkch == '-') {\n\t\t\t\t\t\t\tif (bkch == static_cast<unsigned char>(styler.SafeGetCharAt(bk - 1))\n\t\t\t\t\t\t\t        && bkch != static_cast<unsigned char>(styler.SafeGetCharAt(bk - 2)))\n\t\t\t\t\t\t\t\t// exceptions for operators: unary suffixes ++, --\n\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SCE_PL_IDENTIFIER:\n\t\t\t\t\t\tpreferRE = true;\n\t\t\t\t\t\tbkstyle = styleCheckIdentifier(styler, bk);\n\t\t\t\t\t\tif ((bkstyle == 1) || (bkstyle == 2)) {\n\t\t\t\t\t\t\t// inputsymbol or var with \"->\" or \"::\" before identifier\n\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t} else if (bkstyle == 3) {\n\t\t\t\t\t\t\t// bare identifier, test cases follows:\n\t\t\t\t\t\t\tif (sc.ch == '/') {\n\t\t\t\t\t\t\t\t// if '/', /PATTERN/ unless digit/space immediately after '/'\n\t\t\t\t\t\t\t\t// if '//', always expect defined-or operator to follow identifier\n\t\t\t\t\t\t\t\tif (IsASpace(sc.chNext) || IsADigit(sc.chNext) || sc.chNext == '/')\n\t\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t\t} else if (sc.ch == '*' || sc.ch == '%') {\n\t\t\t\t\t\t\t\tif (IsASpace(sc.chNext) || IsADigit(sc.chNext) || sc.Match('*', '*'))\n\t\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t\t} else if (sc.ch == '<') {\n\t\t\t\t\t\t\t\tif (IsASpace(sc.chNext) || sc.chNext == '=')\n\t\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SCE_PL_SCALAR:\t\t// for $var<< case:\n\t\t\t\t\t\tif (isHereDoc && hereDocSpace)\t// if SCALAR whitespace '<<', *always* a HERE doc\n\t\t\t\t\t\t\tpreferRE = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SCE_PL_WORD:\n\t\t\t\t\t\tpreferRE = true;\n\t\t\t\t\t\t// for HERE docs, always true\n\t\t\t\t\t\tif (sc.ch == '/') {\n\t\t\t\t\t\t\t// adopt heuristics similar to vim-style rules:\n\t\t\t\t\t\t\t// keywords always forced as /PATTERN/: split, if, elsif, while\n\t\t\t\t\t\t\t// everything else /PATTERN/ unless digit/space immediately after '/'\n\t\t\t\t\t\t\t// for '//', defined-or favoured unless special keywords\n\t\t\t\t\t\t\tSci_PositionU bkend = bk + 1;\n\t\t\t\t\t\t\twhile (bk > 0 && styler.StyleAt(bk - 1) == SCE_PL_WORD) {\n\t\t\t\t\t\t\t\tbk--;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (isPerlKeyword(bk, bkend, reWords, styler))\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tif (IsASpace(sc.chNext) || IsADigit(sc.chNext) || sc.chNext == '/')\n\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t} else if (sc.ch == '*' || sc.ch == '%') {\n\t\t\t\t\t\t\tif (IsASpace(sc.chNext) || IsADigit(sc.chNext) || sc.Match('*', '*'))\n\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t} else if (sc.ch == '<') {\n\t\t\t\t\t\t\tif (IsASpace(sc.chNext) || sc.chNext == '=')\n\t\t\t\t\t\t\t\tpreferRE = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t// other styles uses the default, preferRE=false\n\t\t\t\t\tcase SCE_PL_POD:\n\t\t\t\t\tcase SCE_PL_HERE_Q:\n\t\t\t\t\tcase SCE_PL_HERE_QQ:\n\t\t\t\t\tcase SCE_PL_HERE_QX:\n\t\t\t\t\t\tpreferRE = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t\tif (isHereDoc) {\t// handle '<<', HERE doc\n\t\t\t\t\tif (sc.Match(\"<<>>\")) {\t\t// double-diamond operator (5.22)\n\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\tsc.Forward(3);\n\t\t\t\t\t} else if (preferRE) {\n\t\t\t\t\t\tsc.SetState(SCE_PL_HERE_DELIM);\n\t\t\t\t\t\tHereDoc.State = 0;\n\t\t\t\t\t} else {\t\t// << operator\n\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '*') {\t// handle '*', typeglob\n\t\t\t\t\tif (preferRE) {\n\t\t\t\t\t\tsc.SetState(SCE_PL_SYMBOLTABLE);\n\t\t\t\t\t\tif (sc.chNext == ':' && sc.GetRelative(2) == ':') {\n\t\t\t\t\t\t\tsc.ForwardBytes(2);\n\t\t\t\t\t\t} else if (sc.chNext == '{') {\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\tif (sc.chNext == '*') \t// exponentiation\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '%') {\t// handle '%', hash\n\t\t\t\t\tif (preferRE) {\n\t\t\t\t\t\tsc.SetState(SCE_PL_HASH);\n\t\t\t\t\t\tif (setHash.Contains(sc.chNext)) {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t} else if (sc.chNext == ':' && sc.GetRelative(2) == ':') {\n\t\t\t\t\t\t\tsc.ForwardBytes(2);\n\t\t\t\t\t\t} else if (sc.chNext == '{') {\n\t\t\t\t\t\t\tsc.ForwardSetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_PL_OPERATOR);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '<') {\t// handle '<', inputsymbol\n\t\t\t\t\tif (preferRE) {\n\t\t\t\t\t\t// forward scan\n\t\t\t\t\t\tint i = InputSymbolScan(sc);\n\t\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\t\tsc.SetState(SCE_PL_IDENTIFIER);\n\t\t\t\t\t\t\tsc.Forward(i);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t}\n\t\t\t\t} else {\t\t\t// handle '/', regexp\n\t\t\t\t\tif (preferRE) {\n\t\t\t\t\t\tsc.SetState(SCE_PL_REGEX);\n\t\t\t\t\t\tQuote.New();\n\t\t\t\t\t\tQuote.Open(sc.ch);\n\t\t\t\t\t} else {\t\t// / and // operators\n\t\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t\t\tif (sc.chNext == '/') {\n\t\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '='\t\t// POD\n\t\t\t        && setPOD.Contains(sc.chNext)\n\t\t\t        && sc.atLineStart) {\n\t\t\t\tsc.SetState(SCE_PL_POD);\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '-' && setWordStart.Contains(sc.chNext)) {\t// extended '-' cases\n\t\t\t\tSci_PositionU bk = sc.currentPos;\n\t\t\t\tSci_PositionU fw = 2;\n\t\t\t\tif (setSingleCharOp.Contains(sc.chNext) &&\t// file test operators\n\t\t\t\t        !setWord.Contains(sc.GetRelative(2))) {\n\t\t\t\t\tsc.SetState(SCE_PL_WORD);\n\t\t\t\t} else {\n\t\t\t\t\t// nominally a minus and bareword; find extent of bareword\n\t\t\t\t\twhile (setWord.Contains(sc.GetRelative(fw)))\n\t\t\t\t\t\tfw++;\n\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t}\n\t\t\t\t// force to bareword for hash key => or {variable literal} cases\n\t\t\t\tif (disambiguateBareword(styler, bk, bk + fw, backFlag, backPos, endPos) & 2) {\n\t\t\t\t\tsc.ChangeState(SCE_PL_IDENTIFIER);\n\t\t\t\t}\n\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t} else if (sc.ch == '(' && sc.currentPos > 0) {\t// '(' or subroutine prototype\n\t\t\t\tsc.Complete();\n\t\t\t\tif (styleCheckSubPrototype(styler, sc.currentPos - 1)) {\n\t\t\t\t\tsc.SetState(SCE_PL_SUB_PROTOTYPE);\n\t\t\t\t\tbackFlag = BACK_NONE;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\t}\n\t\t\t} else if (setPerlOperator.Contains(sc.ch)) {\t// operators\n\t\t\t\tsc.SetState(SCE_PL_OPERATOR);\n\t\t\t\tif (sc.Match('.', '.')) {\t// .. and ...\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tif (sc.chNext == '.') sc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == 4 || sc.ch == 26) {\t\t// ^D and ^Z ends valid perl source\n\t\t\t\tsc.SetState(SCE_PL_DATASECTION);\n\t\t\t} else {\n\t\t\t\t// keep colouring defaults\n\t\t\t\tsc.Complete();\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n\tif (sc.state == SCE_PL_HERE_Q\n\t        || sc.state == SCE_PL_HERE_QQ\n\t        || sc.state == SCE_PL_HERE_QX\n\t        || sc.state == SCE_PL_FORMAT) {\n\t\tstyler.ChangeLexerState(sc.currentPos, styler.Length());\n\t}\n\tsc.Complete();\n}\n\n#define PERL_HEADFOLD_SHIFT\t\t4\n#define PERL_HEADFOLD_MASK\t\t0xF0\n\nvoid SCI_METHOD LexerPerl::Fold(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, IDocument *pAccess) {\n\n\tif (!options.fold)\n\t\treturn;\n\n\tLexAccessor styler(pAccess);\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\n\t// Backtrack to previous line in case need to fix its fold status\n\tif (startPos > 0) {\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t}\n\n\tint levelPrev = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelPrev = styler.LevelAt(lineCurrent - 1) >> 16;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tchar chPrev = styler.SafeGetCharAt(startPos - 1);\n\tint styleNext = styler.StyleAt(startPos);\n\t// Used at end of line to determine if the line was a package definition\n\tbool isPackageLine = false;\n\tint podHeading = 0;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tint stylePrevCh = (i) ? styler.StyleAt(i - 1):SCE_PL_DEFAULT;\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tbool atLineStart = ((chPrev == '\\r') || (chPrev == '\\n')) || i == 0;\n\t\t// Comment folding\n\t\tif (options.foldComment && atEOL && IsCommentLine(lineCurrent, styler)) {\n\t\t\tif (!IsCommentLine(lineCurrent - 1, styler)\n\t\t\t        && IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if (IsCommentLine(lineCurrent - 1, styler)\n\t\t\t        && !IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\t// {} [] block folding\n\t\tif (style == SCE_PL_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\tif (options.foldAtElse && levelCurrent < levelPrev)\n\t\t\t\t\t--levelPrev;\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t\tif (ch == '[') {\n\t\t\t\tif (options.foldAtElse && levelCurrent < levelPrev)\n\t\t\t\t\t--levelPrev;\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == ']') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\t// POD folding\n\t\tif (options.foldPOD && atLineStart) {\n\t\t\tif (style == SCE_PL_POD) {\n\t\t\t\tif (stylePrevCh != SCE_PL_POD && stylePrevCh != SCE_PL_POD_VERB)\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\telse if (styler.Match(i, \"=cut\"))\n\t\t\t\t\tlevelCurrent = (levelCurrent & ~PERL_HEADFOLD_MASK) - 1;\n\t\t\t\telse if (styler.Match(i, \"=head\"))\n\t\t\t\t\tpodHeading = PodHeadingLevel(i, styler);\n\t\t\t} else if (style == SCE_PL_DATASECTION) {\n\t\t\t\tif (ch == '=' && IsASCII(chNext) && isalpha(chNext) && levelCurrent == SC_FOLDLEVELBASE)\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\telse if (styler.Match(i, \"=cut\") && levelCurrent > SC_FOLDLEVELBASE)\n\t\t\t\t\tlevelCurrent = (levelCurrent & ~PERL_HEADFOLD_MASK) - 1;\n\t\t\t\telse if (styler.Match(i, \"=head\"))\n\t\t\t\t\tpodHeading = PodHeadingLevel(i, styler);\n\t\t\t\t// if package used or unclosed brace, level > SC_FOLDLEVELBASE!\n\t\t\t\t// reset needed as level test is vs. SC_FOLDLEVELBASE\n\t\t\t\telse if (stylePrevCh != SCE_PL_DATASECTION)\n\t\t\t\t\tlevelCurrent = SC_FOLDLEVELBASE;\n\t\t\t}\n\t\t}\n\t\t// package folding\n\t\tif (options.foldPackage && atLineStart) {\n\t\t\tif (IsPackageLine(lineCurrent, styler)\n\t\t\t        && !IsPackageLine(lineCurrent + 1, styler))\n\t\t\t\tisPackageLine = true;\n\t\t}\n\n\t\t//heredoc folding\n\t\tswitch (style) {\n\t\tcase SCE_PL_HERE_QQ :\n\t\tcase SCE_PL_HERE_Q :\n\t\tcase SCE_PL_HERE_QX :\n\t\t\tswitch (stylePrevCh) {\n\t\t\tcase SCE_PL_HERE_QQ :\n\t\t\tcase SCE_PL_HERE_Q :\n\t\t\tcase SCE_PL_HERE_QX :\n\t\t\t\t//do nothing;\n\t\t\t\tbreak;\n\t\t\tdefault :\n\t\t\t\tlevelCurrent++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tswitch (stylePrevCh) {\n\t\t\tcase SCE_PL_HERE_QQ :\n\t\t\tcase SCE_PL_HERE_Q :\n\t\t\tcase SCE_PL_HERE_QX :\n\t\t\t\tlevelCurrent--;\n\t\t\t\tbreak;\n\t\t\tdefault :\n\t\t\t\t//do nothing;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t//explicit folding\n\t\tif (options.foldCommentExplicit && style == SCE_PL_COMMENTLINE && ch == '#') {\n\t\t\tif (chNext == '{') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (levelCurrent > SC_FOLDLEVELBASE  && chNext == '}') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\t// POD headings occupy bits 7-4, leaving some breathing room for\n\t\t\t// non-standard practice -- POD sections stuck in blocks, etc.\n\t\t\tif (podHeading > 0) {\n\t\t\t\tlevelCurrent = (lev & ~PERL_HEADFOLD_MASK) | (podHeading << PERL_HEADFOLD_SHIFT);\n\t\t\t\tlev = levelCurrent - 1;\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tpodHeading = 0;\n\t\t\t}\n\t\t\t// Check if line was a package declaration\n\t\t\t// because packages need \"special\" treatment\n\t\t\tif (isPackageLine) {\n\t\t\t\tlev = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tlevelCurrent = SC_FOLDLEVELBASE + 1;\n\t\t\t\tisPackageLine = false;\n\t\t\t}\n\t\t\tlev |= levelCurrent << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t\tchPrev = ch;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nLexerModule lmPerl(SCLEX_PERL, LexerPerl::LexerFactoryPerl, \"perl\", perlWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPowerPro.cpp",
    "content": "// Scintilla source code edit control\n// @file LexPowerPro.cxx\n// PowerPro utility, written by Bruce Switzer, is available from http://powerpro.webeddie.com\n// PowerPro lexer is written by Christopher Bean (cbean@cb-software.net)\n//\n// Lexer code heavily borrowed from:\n//\tLexAU3.cxx by Jos van der Zande\n//\tLexCPP.cxx by Neil Hodgson\n//\tLexVB.cxx by Neil Hodgson\n//\n// Changes:\n// \t2008-10-25 - Initial release\n//\t2008-10-26 - Changed how <name> is hilighted in  'function <name>' so that\n//\t\t\t\t local isFunction = \"\" and local functions = \"\" don't get falsely highlighted\n//\t2008-12-14 - Added bounds checking for szFirstWord and szDo\n//\t\t\t   - Replaced SetOfCharacters with CharacterSet\n//\t\t\t   - Made sure that CharacterSet::Contains is passed only positive values\n//\t\t\t   - Made sure that the return value of Accessor::SafeGetCharAt is positive before\n//\t\t\t\t passing to functions that require positive values like isspacechar()\n//\t\t\t   - Removed unused visibleChars processing from ColourisePowerProDoc()\n//\t\t\t   - Fixed bug with folding logic where line continuations didn't end where\n//\t\t\t\t they were supposed to\n//\t\t\t   - Moved all helper functions to the top of the file\n//\t2010-06-03 - Added onlySpaces variable to allow the @function and ;comment styles to be indented\n//\t\t\t   - Modified HasFunction function to be a bit more robust\n//\t\t\t   - Renamed HasFunction function to IsFunction\n//\t\t\t   - Cleanup\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <string.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_POWERPRO_COMMENTBLOCK;\n}\n\nstatic inline bool IsLineEndChar(unsigned char ch) {\n\treturn \tch == 0x0a \t\t//LF\n\t\t\t|| ch == 0x0c\t//FF\n\t\t\t|| ch == 0x0d;\t//CR\n}\n\nstatic bool IsContinuationLine(Sci_PositionU szLine, Accessor &styler)\n{\n\tSci_Position startPos = styler.LineStart(szLine);\n\tSci_Position endPos = styler.LineStart(szLine + 1) - 2;\n\twhile (startPos < endPos)\n\t{\n\t\tchar stylech = styler.StyleAt(startPos);\n\t\tif (!(stylech == SCE_POWERPRO_COMMENTBLOCK)) {\n\t\t\tchar ch = styler.SafeGetCharAt(endPos);\n\t\t\tchar chPrev = styler.SafeGetCharAt(endPos - 1);\n\t\t\tchar chPrevPrev = styler.SafeGetCharAt(endPos - 2);\n\t\t\tif (ch > 0 && chPrev > 0 && chPrevPrev > 0 && !isspacechar(ch) && !isspacechar(chPrev) && !isspacechar(chPrevPrev) )\n\t\t\t\treturn (chPrevPrev == ';' && chPrev == ';' && ch == '+');\n\t\t\t}\n\t\tendPos--; // skip to next char\n\t}\n\treturn false;\n}\n\n// Routine to find first none space on the current line and return its Style\n// needed for comment lines not starting on pos 1\nstatic int GetStyleFirstWord(Sci_Position szLine, Accessor &styler)\n{\n\tSci_Position startPos = styler.LineStart(szLine);\n\tSci_Position endPos = styler.LineStart(szLine + 1) - 1;\n\tchar ch = styler.SafeGetCharAt(startPos);\n\n\twhile (ch > 0 && isspacechar(ch) && startPos < endPos)\n\t{\n\t\tstartPos++; // skip to next char\n\t\tch = styler.SafeGetCharAt(startPos);\n\t}\n\treturn styler.StyleAt(startPos);\n}\n\n//returns true if there is a function to highlight\n//used to highlight <name> in 'function <name>'\n//note:\n//\t\tsample line (without quotes): \"\\tfunction asdf()\n//\t\tcurrentPos will be the position of 'a'\nstatic bool IsFunction(Accessor &styler, Sci_PositionU currentPos) {\n\n\tconst char function[10] = \"function \"; //10 includes \\0\n\tunsigned int numberOfCharacters = sizeof(function) - 1;\n\tSci_PositionU position = currentPos - numberOfCharacters;\n\n\t//compare each character with the letters in the function array\n\t//return false if ALL don't match\n\tfor (Sci_PositionU i = 0; i < numberOfCharacters; i++) {\n\t\tchar c = styler.SafeGetCharAt(position++);\n\t\tif (c != function[i])\n\t\t\treturn false;\n\t}\n\n\t//make sure that there are only spaces (or tabs) between the beginning\n\t//of the line and the function declaration\n\tposition = currentPos - numberOfCharacters - 1; \t\t//-1 to move to char before 'function'\n\tfor (Sci_PositionU j = 0; j < 16; j++) {\t\t\t\t\t//check up to 16 preceeding characters\n\t\tchar c = styler.SafeGetCharAt(position--, '\\0');\t//if can't read char, return NUL (past beginning of document)\n\t\tif (c <= 0)\t//reached beginning of document\n\t\t\treturn true;\n\t\tif (c > 0 && IsLineEndChar(c))\n\t\t\treturn true;\n\t\telse if (c > 0 && !IsASpaceOrTab(c))\n\t\t\treturn false;\n\t}\n\n\t//fall-through\n\treturn false;\n}\n\nstatic void ColourisePowerProDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler, bool caseSensitive) {\n\n\tWordList &keywords  = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\n\t//define the character sets\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_@\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tchar s_save[100]; //for last line highlighting\n\n\t//are there only spaces between the first letter of the line and the beginning of the line\n\tbool onlySpaces = true;\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t// save the total current word for eof processing\n\t\tchar s[100];\n\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\tif ((sc.ch > 0) && setWord.Contains(sc.ch))\n\t\t{\n\t\t\tstrcpy(s_save,s);\n\t\t\tint tp = static_cast<int>(strlen(s_save));\n\t\t\tif (tp < 99) {\n\t\t\t\ts_save[tp] = static_cast<char>(tolower(sc.ch));\n\t\t\t\ts_save[tp+1] = '\\0';\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineStart) {\n\t\t\tif (sc.state == SCE_POWERPRO_DOUBLEQUOTEDSTRING) {\n\t\t\t\t// Prevent SCE_POWERPRO_STRINGEOL from leaking back to previous line which\n\t\t\t\t// ends with a line continuation by locking in the state upto this position.\n\t\t\t\tsc.SetState(SCE_POWERPRO_DOUBLEQUOTEDSTRING);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\t\tcase SCE_POWERPRO_OPERATOR:\n\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_NUMBER:\n\n\t\t\t\tif (!IsADigit(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_IDENTIFIER:\n\t\t\t\t//if ((sc.ch > 0) && !setWord.Contains(sc.ch) || (sc.ch == '.')) { // use this line if don't want to match keywords with . in them. ie: win.debug will match both win and debug so win debug will also be colorized\n\t\t\t\tif ((sc.ch > 0) && !setWord.Contains(sc.ch)){  // || (sc.ch == '.')) { // use this line if you want to match keywords with a . ie: win.debug will only match win.debug neither win nor debug will be colorized separately\n\t\t\t\t\tchar s[1000];\n\t\t\t\t\tif (caseSensitive) {\n\t\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_POWERPRO_WORD);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_POWERPRO_WORD2);\n\t\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_POWERPRO_WORD3);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_POWERPRO_WORD4);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_LINECONTINUE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t} else if (sc.Match('/', '*') || sc.Match('/', '/')) {\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_COMMENTBLOCK:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_COMMENTLINE:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_DOUBLEQUOTEDSTRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERPRO_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_SINGLEQUOTEDSTRING:\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERPRO_STRINGEOL);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\t\tsc.ForwardSetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_STRINGEOL:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_VERBATIM:\n\t\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_ALTQUOTE:\n\t\t\t\tif (sc.ch == '#') {\n\t\t\t\t\tif (sc.chNext == '#') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCE_POWERPRO_FUNCTION:\n\t\t\t\tif (isspacechar(sc.ch) || sc.ch == '(') {\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_POWERPRO_DEFAULT) {\n\t\t\tif (sc.Match('?', '\\\"')) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_VERBATIM);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_NUMBER);\n\t\t\t}else if (sc.Match('?','#')) {\n\t\t\t\tif (sc.ch == '?' && sc.chNext == '#') {\n\t\t\t\t\tsc.SetState(SCE_POWERPRO_ALTQUOTE);\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (IsFunction(styler, sc.currentPos)) {\t//highlight <name> in 'function <name>'\n\t\t\t\tsc.SetState(SCE_POWERPRO_FUNCTION);\n\t\t\t} else if (onlySpaces && sc.ch == '@') { \t\t//alternate function definition [label]\n\t\t\t\tsc.SetState(SCE_POWERPRO_FUNCTION);\n\t\t\t} else if ((sc.ch > 0) && (setWordStart.Contains(sc.ch) || (sc.ch == '?'))) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_IDENTIFIER);\n\t\t\t} else if (sc.Match(\";;+\")) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_LINECONTINUE);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_COMMENTBLOCK);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_COMMENTLINE);\n\t\t\t} else if (onlySpaces && sc.ch == ';') {\t\t//legacy comment that can only have blank space in front of it\n\t\t\t\tsc.SetState(SCE_POWERPRO_COMMENTLINE);\n\t\t\t} else if (sc.Match(\";;\")) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_POWERPRO_DOUBLEQUOTEDSTRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_POWERPRO_SINGLEQUOTEDSTRING);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_POWERPRO_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\t//maintain a record of whether or not all the preceding characters on\n\t\t//a line are space characters\n\t\tif (onlySpaces && !IsASpaceOrTab(sc.ch))\n\t\t\tonlySpaces = false;\n\n\t\t//reset when starting a new line\n\t\tif (sc.atLineEnd)\n\t\t\tonlySpaces = true;\n\t}\n\n\t//*************************************\n\t// Colourize the last word correctly\n\t//*************************************\n\tif (sc.state == SCE_POWERPRO_IDENTIFIER)\n\t{\n\t\tif (keywords.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_POWERPRO_WORD);\n\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t}\n\t\telse if (keywords2.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_POWERPRO_WORD2);\n\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t}\n\t\telse if (keywords3.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_POWERPRO_WORD3);\n\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t}\n\t\telse if (keywords4.InList(s_save)) {\n\t\t\tsc.ChangeState(SCE_POWERPRO_WORD4);\n\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t}\n\t\telse {\n\t\t\tsc.SetState(SCE_POWERPRO_DEFAULT);\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic void FoldPowerProDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n\t//define the character sets\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_@\", 0x80, true);\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\n\t//used to tell if we're recursively folding the whole document, or just a small piece (ie: if statement or 1 function)\n\tbool isFoldingAll = true;\n\n\tSci_Position endPos = startPos + length;\n\tSci_Position lastLine = styler.GetLine(styler.Length()); //used to help fold the last line correctly\n\n\t// get settings from the config files for folding comments and preprocessor lines\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldInComment = styler.GetPropertyInt(\"fold.comment\") == 2;\n\tbool foldCompact = true;\n\n\t// Backtrack to previous line in case need to fix its fold status\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0) {\n\t\tisFoldingAll = false;\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t}\n\t// vars for style of previous/current/next lines\n\tint style = GetStyleFirstWord(lineCurrent,styler);\n\tint stylePrev = 0;\n\n\t// find the first previous line without continuation character at the end\n\twhile ((lineCurrent > 0 && IsContinuationLine(lineCurrent, styler))\n\t       || (lineCurrent > 1 && IsContinuationLine(lineCurrent - 1, styler))) {\n\t\tlineCurrent--;\n\t\tstartPos = styler.LineStart(lineCurrent);\n\t}\n\n\tif (lineCurrent > 0) {\n\t\tstylePrev = GetStyleFirstWord(lineCurrent-1,styler);\n\t}\n\n\t// vars for getting first word to check for keywords\n\tbool isFirstWordStarted = false;\n\tbool isFirstWordEnded = false;\n\n\tconst unsigned int FIRST_WORD_MAX_LEN = 10;\n\tchar szFirstWord[FIRST_WORD_MAX_LEN] = \"\";\n\tunsigned int firstWordLen = 0;\n\n\tchar szDo[3]=\"\";\n\tint\t szDolen = 0;\n\tbool isDoLastWord = false;\n\n\t// var for indentlevel\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelNext = levelCurrent;\n\n\tint\tvisibleChars = 0;\n\tint functionCount = 0;\n\n\tchar chNext = styler.SafeGetCharAt(startPos);\n\tchar chPrev = '\\0';\n\tchar chPrevPrev = '\\0';\n\tchar chPrevPrevPrev = '\\0';\n\n\tfor (Sci_Position i = startPos; i < endPos; i++) {\n\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch > 0) && setWord.Contains(ch))\n\t\t\tvisibleChars++;\n\n\t\t// get the syle for the current character neede to check in comment\n\t\tint stylech = styler.StyleAt(i);\n\n\t\t// start the capture of the first word\n\t\tif (!isFirstWordStarted && (ch > 0)) {\n\t\t\tif (setWord.Contains(ch) || setWordStart.Contains(ch) || ch == ';' || ch == '/') {\n\t\t\t\tisFirstWordStarted = true;\n\t\t\t\tif (firstWordLen < FIRST_WORD_MAX_LEN - 1) {\n\t\t\t\t\tszFirstWord[firstWordLen++] = static_cast<char>(tolower(ch));\n\t\t\t\t\tszFirstWord[firstWordLen] = '\\0';\n\t\t\t\t}\n\t\t\t}\n\t\t} // continue capture of the first word on the line\n\t\telse if (isFirstWordStarted && !isFirstWordEnded && (ch > 0)) {\n\t\t\tif (!setWord.Contains(ch)) {\n\t\t\t\tisFirstWordEnded = true;\n\t\t\t}\n\t\t\telse if (firstWordLen < (FIRST_WORD_MAX_LEN - 1)) {\n\t\t\t\tszFirstWord[firstWordLen++] = static_cast<char>(tolower(ch));\n\t\t\t\tszFirstWord[firstWordLen] = '\\0';\n\t\t\t}\n\t\t}\n\n\t\tif (stylech != SCE_POWERPRO_COMMENTLINE) {\n\n\t\t\t//reset isDoLastWord if we find a character(ignoring spaces) after 'do'\n\t\t\tif (isDoLastWord && (ch > 0) && setWord.Contains(ch))\n\t\t\t\tisDoLastWord = false;\n\n\t\t\t// --find out if the word \"do\" is the last on a \"if\" line--\n\t\t\t// collect each letter and put it into a buffer 2 chars long\n\t\t\t// if we end up with \"do\" in the buffer when we reach the end of\n\t\t\t// the line, \"do\" was the last word on the line\n\t\t\tif ((ch > 0) && isFirstWordEnded && strcmp(szFirstWord, \"if\") == 0) {\n\t\t\t\tif (szDolen == 2) {\n\t\t\t\t\tszDo[0] = szDo[1];\n\t\t\t\t\tszDo[1] = static_cast<char>(tolower(ch));\n\t\t\t\t\tszDo[2] = '\\0';\n\n\t\t\t\t\tif (strcmp(szDo, \"do\") == 0)\n\t\t\t\t\t\tisDoLastWord = true;\n\n\t\t\t\t} else if (szDolen < 2) {\n\t\t\t\t\tszDo[szDolen++] = static_cast<char>(tolower(ch));\n\t\t\t\t\tszDo[szDolen] = '\\0';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// End of Line found so process the information\n\t\t if ((ch == '\\r' && chNext != '\\n') // \\r\\n\n\t\t\t|| ch == '\\n' \t\t\t\t\t// \\n\n\t\t\t|| i == endPos) {\t\t\t\t// end of selection\n\n\t\t\t// **************************\n\t\t\t// Folding logic for Keywords\n\t\t\t// **************************\n\n\t\t\t// if a keyword is found on the current line and the line doesn't end with ;;+ (continuation)\n\t\t\t//    and we are not inside a commentblock.\n\t\t\tif (firstWordLen > 0\n\t\t\t\t&& chPrev != '+' && chPrevPrev != ';' && chPrevPrevPrev !=';'\n\t\t\t\t&& (!IsStreamCommentStyle(style) || foldInComment) ) {\n\n\t\t\t\t// only fold \"if\" last keyword is \"then\"  (else its a one line if)\n\t\t\t\tif (strcmp(szFirstWord, \"if\") == 0  && isDoLastWord)\n\t\t\t\t\t\tlevelNext++;\n\n\t\t\t\t// create new fold for these words\n\t\t\t\tif (strcmp(szFirstWord, \"for\") == 0)\n\t\t\t\t\tlevelNext++;\n\n\t\t\t\t//handle folding for functions/labels\n\t\t\t\t//Note: Functions and labels don't have an explicit end like [end function]\n\t\t\t\t//\t1. functions/labels end at the start of another function\n\t\t\t\t//\t2. functions/labels end at the end of the file\n\t\t\t\tif ((strcmp(szFirstWord, \"function\") == 0) || (firstWordLen > 0 && szFirstWord[0] == '@')) {\n\t\t\t\t\tif (isFoldingAll) { //if we're folding the whole document (recursivly by lua script)\n\n\t\t\t\t\t\tif (functionCount > 0) {\n\t\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfunctionCount++;\n\n\t\t\t\t\t} else { //if just folding a small piece (by clicking on the minus sign next to the word)\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// end the fold for these words before the current line\n\t\t\t\tif (strcmp(szFirstWord, \"endif\") == 0 || strcmp(szFirstWord, \"endfor\") == 0) {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\n\t\t\t\t// end the fold for these words before the current line and Start new fold\n\t\t\t\tif (strcmp(szFirstWord, \"else\") == 0 || strcmp(szFirstWord, \"elseif\") == 0 )\n\t\t\t\t\t\tlevelCurrent--;\n\n\t\t\t}\n\t\t\t// Preprocessor and Comment folding\n\t\t\tint styleNext = GetStyleFirstWord(lineCurrent + 1,styler);\n\n\t\t\t// *********************************\n\t\t\t// Folding logic for Comment blocks\n\t\t\t// *********************************\n\t\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\n\t\t\t\t// Start of a comment block\n\t\t\t\tif (stylePrev != style && IsStreamCommentStyle(styleNext) && styleNext == style) {\n\t\t\t\t    levelNext++;\n\t\t\t\t} // fold till the last line for normal comment lines\n\t\t\t\telse if (IsStreamCommentStyle(stylePrev)\n\t\t\t\t\t\t&& styleNext != SCE_POWERPRO_COMMENTLINE\n\t\t\t\t\t\t&& stylePrev == SCE_POWERPRO_COMMENTLINE\n\t\t\t\t\t\t&& style == SCE_POWERPRO_COMMENTLINE) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t} // fold till the one but last line for Blockcomment lines\n\t\t\t\telse if (IsStreamCommentStyle(stylePrev)\n\t\t\t\t\t\t&& styleNext != SCE_POWERPRO_COMMENTBLOCK\n\t\t\t\t\t\t&& style == SCE_POWERPRO_COMMENTBLOCK) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tint levelUse = levelCurrent;\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent))\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\n\t\t\t// reset values for the next line\n\t\t\tlineCurrent++;\n\t\t\tstylePrev = style;\n\t\t\tstyle = styleNext;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tvisibleChars = 0;\n\n\t\t\t// if the last characters are ;;+ then don't reset since the line continues on the next line.\n\t\t\tif (chPrev != '+' && chPrevPrev != ';' && chPrevPrevPrev != ';') {\n\t\t\t\tfirstWordLen = 0;\n\t\t\t\tszDolen = 0;\n\t\t\t\tisFirstWordStarted = false;\n\t\t\t\tisFirstWordEnded = false;\n\t\t\t\tisDoLastWord = false;\n\n\t\t\t\t//blank out first word\n\t\t\t\tfor (unsigned int i = 0; i < FIRST_WORD_MAX_LEN; i++)\n\t\t\t\t\tszFirstWord[i] = '\\0';\n\t\t\t}\n\t\t}\n\n\t\t// save the last processed characters\n\t\tif ((ch > 0) && !isspacechar(ch)) {\n\t\t\tchPrevPrevPrev = chPrevPrev;\n\t\t\tchPrevPrev = chPrev;\n\t\t\tchPrev = ch;\n\t\t}\n\t}\n\n\t//close folds on the last line - without this a 'phantom'\n\t//fold can appear when an open fold is on the last line\n\t//this can occur because functions and labels don't have an explicit end\n\tif (lineCurrent >= lastLine) {\n\t\tint lev = 0;\n\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\tstyler.SetLevel(lineCurrent, lev);\n\t}\n\n}\n\nstatic const char * const powerProWordLists[] = {\n            \"Keyword list 1\",\n            \"Keyword list 2\",\n            \"Keyword list 3\",\n            \"Keyword list 4\",\n            0,\n        };\n\nstatic void ColourisePowerProDocWrapper(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                                       Accessor &styler) {\n\tColourisePowerProDoc(startPos, length, initStyle, keywordlists, styler, false);\n}\n\nLexerModule lmPowerPro(SCLEX_POWERPRO, ColourisePowerProDocWrapper, \"powerpro\", FoldPowerProDoc, powerProWordLists);\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPowerShell.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPowerShell.cxx\n ** Lexer for PowerShell scripts.\n **/\n// Copyright 2008 by Tim Gerundt <tim@gerundt.de>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Extended to accept accented characters\nstatic inline bool IsAWordChar(int ch) {\n\treturn ch >= 0x80 || isalnum(ch) || ch == '-' || ch == '_';\n}\n\nstatic void ColourisePowerShellDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t   WordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\tWordList &keywords5 = *keywordlists[4];\n\tWordList &keywords6 = *keywordlists[5];\n\n\tstyler.StartAt(startPos);\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.state == SCE_POWERSHELL_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_COMMENTSTREAM) {\n\t\t\tif (sc.atLineStart) {\n\t\t\t\twhile (IsASpaceOrTab(sc.ch)) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tif (sc.ch == '.' && IsAWordChar(sc.chNext)) {\n\t\t\t\t\tsc.SetState(SCE_POWERSHELL_COMMENTDOCKEYWORD);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (sc.ch == '>' && sc.chPrev == '#') {\n\t\t\t\tsc.ForwardSetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_COMMENTDOCKEYWORD) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (!keywords6.InList(s + 1)) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERSHELL_COMMENTSTREAM);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_POWERSHELL_COMMENTSTREAM);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_STRING) {\n\t\t\t// This is a doubles quotes string\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t} else if (sc.ch == '`') {\n\t\t\t\tsc.Forward(); // skip next escaped character\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_CHARACTER) {\n\t\t\t// This is a single quote string\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t} else if (sc.ch == '`') {\n\t\t\t\tsc.Forward(); // skip next escaped character\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_HERE_STRING) {\n\t\t\t// This is a doubles quotes here-string\n\t\t\tif (sc.atLineStart && sc.ch == '\\\"' && sc.chNext == '@') {\n\t\t\t\tsc.Forward(2);\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_HERE_CHARACTER) {\n\t\t\t// This is a single quote here-string\n\t\t\tif (sc.atLineStart && sc.ch == '\\'' && sc.chNext == '@') {\n\t\t\t\tsc.Forward(2);\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_NUMBER) {\n\t\t\tif (!IsADigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_VARIABLE) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_OPERATOR) {\n\t\t\tif (!isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_POWERSHELL_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERSHELL_KEYWORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERSHELL_CMDLET);\n\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERSHELL_ALIAS);\n\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERSHELL_FUNCTION);\n\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_POWERSHELL_USER1);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_POWERSHELL_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_POWERSHELL_DEFAULT) {\n\t\t\tif (sc.ch == '#') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_COMMENT);\n\t\t\t} else if (sc.ch == '<' && sc.chNext == '#') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_COMMENTSTREAM);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_CHARACTER);\n\t\t\t} else if (sc.ch == '@' && sc.chNext == '\\\"') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_HERE_STRING);\n\t\t\t} else if (sc.ch == '@' && sc.chNext == '\\'') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_HERE_CHARACTER);\n\t\t\t} else if (sc.ch == '$') {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_VARIABLE);\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_NUMBER);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_OPERATOR);\n\t\t\t} else if (IsAWordChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_POWERSHELL_IDENTIFIER);\n\t\t\t} else if (sc.ch == '`') {\n\t\t\t\tsc.Forward(); // skip next escaped character\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nstatic void FoldPowerShellDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t      WordList *[], Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tbool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (style == SCE_POWERSHELL_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t} else if (foldComment && style == SCE_POWERSHELL_COMMENTSTREAM) {\n\t\t\tif (stylePrev != SCE_POWERSHELL_COMMENTSTREAM && stylePrev != SCE_POWERSHELL_COMMENTDOCKEYWORD) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (styleNext != SCE_POWERSHELL_COMMENTSTREAM && styleNext != SCE_POWERSHELL_COMMENTDOCKEYWORD) {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t} else if (foldComment && style == SCE_POWERSHELL_COMMENT) {\n\t\t\tif (ch == '#') {\n\t\t\t\tSci_PositionU j = i + 1;\n\t\t\t\twhile ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\tif (styler.Match(j, \"region\")) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(j, \"endregion\")) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t}\n}\n\nstatic const char *const powershellWordLists[] = {\n\t\"Commands\",\n\t\"Cmdlets\",\n\t\"Aliases\",\n\t\"Functions\",\n\t\"User1\",\n\t\"DocComment\",\n\t0\n};\n\nLexerModule lmPowerShell(SCLEX_POWERSHELL, ColourisePowerShellDoc, \"powershell\", FoldPowerShellDoc, powershellWordLists);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexProgress.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexProgress.cxx\n **  Lexer for Progress 4GL.\n ** Based on LexCPP.cxx of Neil Hodgson <neilh@scintilla.org>\n  **/\n// Copyright 2006-2016 by Yuval Papish <Yuval@YuvCom.com>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n/** TODO:\n\nSpeedScript support in html lexer\nDifferentiate between labels and variables\n  Option 1: By symbols table\n  Option 2: As a single unidentified symbol in a sytactical line\n\n**/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"SparseState.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n   // Use an unnamed namespace to protect the functions and classes from name conflicts\n\n   bool IsSpaceEquiv(int state) {\n      return (state == SCE_ABL_COMMENT ||\n              state == SCE_ABL_LINECOMMENT ||\n              state == SCE_ABL_DEFAULT);\n   }\n\n   void highlightTaskMarker(StyleContext &sc, LexAccessor &styler, WordList &markerList){\n      if ((isoperator(sc.chPrev) || IsASpace(sc.chPrev)) && markerList.Length()) {\n         const int lengthMarker = 50;\n         char marker[lengthMarker+1];\n         Sci_Position currPos = (Sci_Position) sc.currentPos;\n         Sci_Position i = 0;\n         while (i < lengthMarker) {\n            char ch = styler.SafeGetCharAt(currPos + i);\n            if (IsASpace(ch) || isoperator(ch)) {\n               break;\n            }\n            marker[i] = ch;\n            i++;\n         }\n         marker[i] = '\\0';\n         if (markerList.InListAbbreviated (marker,'(')) {\n            sc.SetState(SCE_ABL_TASKMARKER);\n         }\n      }\n   }\n\n   bool IsStreamCommentStyle(int style) {\n      return style == SCE_ABL_COMMENT;\n             // style == SCE_ABL_LINECOMMENT;  Only block comments are used for folding\n   }\n\n   // Options used for LexerABL\n   struct OptionsABL {\n      bool fold;\n      bool foldSyntaxBased;\n      bool foldComment;\n      bool foldCommentMultiline;\n      bool foldCompact;\n      OptionsABL() {\n         fold = false;\n         foldSyntaxBased = true;\n         foldComment = true;\n         foldCommentMultiline = true;\n         foldCompact = false;\n      }\n   };\n\n   const char *const ablWordLists[] = {\n               \"Primary keywords and identifiers\",\n               \"Keywords that opens a block, only when used to begin a syntactic line\",\n               \"Keywords that opens a block anywhere in a syntactic line\",\n               \"Task Marker\", /* \"END MODIFY START TODO\" */\n               0,\n   };\n\n   struct OptionSetABL : public OptionSet<OptionsABL> {\n      OptionSetABL() {\n         DefineProperty(\"fold\", &OptionsABL::fold);\n\n         DefineProperty(\"fold.abl.syntax.based\", &OptionsABL::foldSyntaxBased,\n            \"Set this property to 0 to disable syntax based folding.\");\n\n         DefineProperty(\"fold.comment\", &OptionsABL::foldComment,\n            \"This option enables folding multi-line comments and explicit fold points when using the ABL lexer. \");\n\n         DefineProperty(\"fold.abl.comment.multiline\", &OptionsABL::foldCommentMultiline,\n            \"Set this property to 0 to disable folding multi-line comments when fold.comment=1.\");\n\n         DefineProperty(\"fold.compact\", &OptionsABL::foldCompact);\n\n         DefineWordListSets(ablWordLists);\n      }\n   };\n}\n\nclass LexerABL : public DefaultLexer {\n   CharacterSet setWord;\n   CharacterSet setNegationOp;\n   CharacterSet setArithmethicOp;\n   CharacterSet setRelOp;\n   CharacterSet setLogicalOp;\n   CharacterSet setWordStart;\n   WordList keywords1;      // regular keywords\n   WordList keywords2;      // block opening keywords, only when isSentenceStart\n   WordList keywords3;      // block opening keywords\n   WordList keywords4;      // Task Marker\n   OptionsABL options;\n   OptionSetABL osABL;\npublic:\n   LexerABL() :\n      setWord(CharacterSet::setAlphaNum, \"_\", 0x80, true),\n      setNegationOp(CharacterSet::setNone, \"!\"),\n      setArithmethicOp(CharacterSet::setNone, \"+-/*%\"),\n      setRelOp(CharacterSet::setNone, \"=!<>\"),\n      setLogicalOp(CharacterSet::setNone, \"|&\"){\n   }\n   virtual ~LexerABL() {\n   }\n   void SCI_METHOD Release() override {\n      delete this;\n   }\n   int SCI_METHOD Version() const override {\n      return lvOriginal;\n   }\n   const char * SCI_METHOD PropertyNames() override {\n      return osABL.PropertyNames();\n   }\n   int SCI_METHOD PropertyType(const char *name) override {\n      return osABL.PropertyType(name);\n   }\n   const char * SCI_METHOD DescribeProperty(const char *name) override {\n      return osABL.DescribeProperty(name);\n   }\n   Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override ;\n\n   const char * SCI_METHOD DescribeWordListSets() override {\n      return osABL.DescribeWordListSets();\n   }\n   Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n   void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n   void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n   void * SCI_METHOD PrivateCall(int, void *) override {\n      return 0;\n   }\n   int SCI_METHOD LineEndTypesSupported() override {\n      return SC_LINE_END_TYPE_DEFAULT;\n   }\n   static ILexer *LexerFactoryABL() {\n      return new LexerABL();\n   }\n};\n\nSci_Position SCI_METHOD LexerABL::PropertySet(const char *key, const char *val) {\n   if (osABL.PropertySet(&options, key, val)) {\n      return 0;\n   }\n   return -1;\n}\n\nSci_Position SCI_METHOD LexerABL::WordListSet(int n, const char *wl) {\n   WordList *wordListN = 0;\n   switch (n) {\n   case 0:\n      wordListN = &keywords1;\n      break;\n   case 1:\n      wordListN = &keywords2;\n      break;\n   case 2:\n      wordListN = &keywords3;\n      break;\n   case 3:\n      wordListN = &keywords4;\n      break;\n   }\n   Sci_Position firstModification = -1;\n   if (wordListN) {\n      WordList wlNew;\n      wlNew.Set(wl);\n      if (*wordListN != wlNew) {\n         wordListN->Set(wl);\n         firstModification = 0;\n      }\n   }\n   return firstModification;\n}\n\nvoid SCI_METHOD LexerABL::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n   LexAccessor styler(pAccess);\n\n   setWordStart = CharacterSet(CharacterSet::setAlpha, \"_\", 0x80, true);\n\n   int visibleChars = 0;\n   int visibleChars1 = 0;\n   int styleBeforeTaskMarker = SCE_ABL_DEFAULT;\n   bool continuationLine = false;\n   int commentNestingLevel = 0;\n   bool isSentenceStart = true;\n   bool possibleOOLChange = false;\n\n   Sci_Position lineCurrent = styler.GetLine(startPos);\n   if (initStyle == SCE_ABL_PREPROCESSOR) {\n      // Set continuationLine if last character of previous line is '~'\n      if (lineCurrent > 0) {\n         Sci_Position endLinePrevious = styler.LineEnd(lineCurrent-1);\n         if (endLinePrevious > 0) {\n            continuationLine = styler.SafeGetCharAt(endLinePrevious-1) == '~';\n         }\n      }\n   }\n\n    // Look back to set variables that are actually invisible secondary states. The reason to avoid formal states is to cut down on state's bits\n   if (startPos > 0) {\n      Sci_Position back = startPos;\n      bool checkCommentNestingLevel = (initStyle == SCE_ABL_COMMENT);\n      bool checkIsSentenceStart = (initStyle == SCE_ABL_DEFAULT || initStyle == SCE_ABL_IDENTIFIER);\n      char ch;\n      char st;\n      char chPrev;\n      char chPrev_1;\n      char chPrev_2;\n      char chPrev_3;\n\n      while (back >= 0 && (checkCommentNestingLevel || checkIsSentenceStart)) {\n         ch = styler.SafeGetCharAt(back);\n         styler.Flush();  // looking at styles so need to flush\n         st = styler.StyleAt(back);\n\n         chPrev = styler.SafeGetCharAt(back-1);\n         // isSentenceStart is a non-visible state, used to identify where statements and preprocessor declerations can start\n         if (checkIsSentenceStart && st != SCE_ABL_COMMENT && st != SCE_ABL_LINECOMMENT && st != SCE_ABL_CHARACTER  && st != SCE_ABL_STRING ) {\n            chPrev_1 = styler.SafeGetCharAt(back-2);\n            chPrev_2 = styler.SafeGetCharAt(back-3);\n            chPrev_3 = styler.SafeGetCharAt(back-4);\n            if ((chPrev == '.' || chPrev == ':' || chPrev == '}' ||\n               (chPrev_3 == 'e' && chPrev_2 == 'l' && chPrev_1 == 's' &&  chPrev == 'e') ||\n               (chPrev_3 == 't' && chPrev_2 == 'h' && chPrev_1 == 'e' &&  chPrev == 'n')) &&\n               (IsASpace(ch) || (ch == '/' && styler.SafeGetCharAt(back+1) == '*'))\n               ) {\n                  checkIsSentenceStart = false;\n                  isSentenceStart = true;\n            }\n            else if (IsASpace(chPrev) && ch == '{') {\n               checkIsSentenceStart = false;\n               isSentenceStart = false;\n            }\n         }\n\n         // commentNestingLevel is a non-visible state, used to identify the nesting level of a comment\n         if (checkCommentNestingLevel) {\n            if (chPrev == '/' && ch == '*') {\n               commentNestingLevel++;\n               // eat the '/' so we don't miscount a */ if we see /*/*\n               --back;\n            }\n            if (chPrev == '*' && ch == '/') {\n               commentNestingLevel--;\n               // eat the '*' so we don't miscount a /* if we see */*/\n               --back;\n            }\n         }\n         --back;\n      }\n   }\n\n   StyleContext sc(startPos, length, initStyle, styler, static_cast<unsigned char>(0xff));\n   Sci_Position lineEndNext = styler.LineEnd(lineCurrent);\n\n   for (; sc.More();) {\n      if (sc.atLineStart) {\n         visibleChars = 0;\n         visibleChars1 = 0;\n      }\n      if (sc.atLineEnd) {\n         lineCurrent++;\n         lineEndNext = styler.LineEnd(lineCurrent);\n      }\n      // Handle line continuation generically.\n      if (sc.ch == '~') {\n         if (static_cast<Sci_Position>((sc.currentPos+1)) >= lineEndNext) {\n            lineCurrent++;\n            lineEndNext = styler.LineEnd(lineCurrent);\n            sc.Forward();\n            if (sc.ch == '\\r' && sc.chNext == '\\n') {\n               sc.Forward();\n            }\n            continuationLine = true;\n            sc.Forward();\n            continue;\n         }\n      }\n\n      const bool atLineEndBeforeSwitch = sc.atLineEnd;\n      // Determine if the current state should terminate.\n      switch (sc.state) {\n         case SCE_ABL_OPERATOR:\n            sc.SetState(SCE_ABL_DEFAULT);\n            break;\n         case SCE_ABL_NUMBER:\n            // We accept almost anything because of hex. and maybe number suffixes and scientific notations in the future\n            if (!(setWord.Contains(sc.ch)\n\t\t\t\t   || ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E' ||\n\t\t\t\t                                          sc.chPrev == 'p' || sc.chPrev == 'P')))) {\n               sc.SetState(SCE_ABL_DEFAULT);\n            }\n            break;\n         case SCE_ABL_IDENTIFIER:\n            if (sc.atLineStart || sc.atLineEnd || (!setWord.Contains(sc.ch) && sc.ch != '-')) {\n               char s[1000];\n               sc.GetCurrentLowered(s, sizeof(s));\n               bool isLastWordEnd = (s[0] == 'e' && s[1] =='n' && s[2] == 'd' && !IsAlphaNumeric(s[3]) && s[3] != '-');  // helps to identify \"end trigger\" phrase\n               if ((isSentenceStart && keywords2.InListAbbreviated (s,'(')) || (!isLastWordEnd && keywords3.InListAbbreviated (s,'('))) {\n                  sc.ChangeState(SCE_ABL_BLOCK);\n                  isSentenceStart = false;\n               }\n               else if (keywords1.InListAbbreviated (s,'(')) {\n                  if (isLastWordEnd ||\n                     (s[0] == 'f' && s[1] =='o' && s[2] == 'r' && s[3] == 'w' && s[4] =='a' && s[5] == 'r' && s[6] == 'd'&& !IsAlphaNumeric(s[7]))) {\n                     sc.ChangeState(SCE_ABL_END);\n                     isSentenceStart = false;\n                  }\n                  else if ((s[0] == 'e' && s[1] =='l' && s[2] == 's' && s[3] == 'e') ||\n                         (s[0] == 't' && s[1] =='h' && s[2] == 'e' && s[3] == 'n')) {\n                     sc.ChangeState(SCE_ABL_WORD);\n                     isSentenceStart = true;\n                  }\n                  else {\n                     sc.ChangeState(SCE_ABL_WORD);\n                     isSentenceStart = false;\n                  }\n               }\n               sc.SetState(SCE_ABL_DEFAULT);\n            }\n            break;\n         case SCE_ABL_PREPROCESSOR:\n            if (sc.atLineStart && !continuationLine) {\n               sc.SetState(SCE_ABL_DEFAULT);\n               // Force Scintilla to acknowledge changed stated even though this change might happen outside of the current line\n               possibleOOLChange = true;\n               isSentenceStart = true;\n            }\n            break;\n         case SCE_ABL_LINECOMMENT:\n            if (sc.atLineStart && !continuationLine) {\n               sc.SetState(SCE_ABL_DEFAULT);\n               isSentenceStart = true;\n            } else {\n               styleBeforeTaskMarker = SCE_ABL_LINECOMMENT;\n               highlightTaskMarker(sc, styler, keywords4);\n            }\n            break;\n         case SCE_ABL_TASKMARKER:\n            if (isoperator(sc.ch) || IsASpace(sc.ch)) {\n               sc.SetState(styleBeforeTaskMarker);\n               styleBeforeTaskMarker = SCE_ABL_DEFAULT;\n            }\n            // fall through\n         case SCE_ABL_COMMENT:\n            if (sc.Match('*', '/')) {\n               sc.Forward();\n               commentNestingLevel--;\n               if (commentNestingLevel == 0) {\n                  sc.ForwardSetState(SCE_ABL_DEFAULT);\n                  possibleOOLChange = true;\n               }\n            } else if (sc.Match('/', '*')) {\n               commentNestingLevel++;\n               sc.Forward();\n            }\n            if (commentNestingLevel > 0) {\n               styleBeforeTaskMarker = SCE_ABL_COMMENT;\n               possibleOOLChange = true;\n               highlightTaskMarker(sc, styler, keywords4);\n            }\n            break;\n         case SCE_ABL_STRING:\n            if (sc.ch == '~') {\n               sc.Forward(); // Skip a character after a tilde\n            } else if (sc.ch == '\\\"') {\n                  sc.ForwardSetState(SCE_ABL_DEFAULT);\n            }\n            break;\n         case SCE_ABL_CHARACTER:\n            if (sc.ch == '~') {\n               sc.Forward(); // Skip a character after a tilde\n            } else if (sc.ch == '\\'') {\n                  sc.ForwardSetState(SCE_ABL_DEFAULT);\n            }\n            break;\n      }\n\n      if (sc.atLineEnd && !atLineEndBeforeSwitch) {\n         // State exit processing consumed characters up to end of line.\n         lineCurrent++;\n         lineEndNext = styler.LineEnd(lineCurrent);\n      }\n\n      // Determine if a new state should be entered.\n      if (sc.state == SCE_ABL_DEFAULT) {\n         if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n               sc.SetState(SCE_ABL_NUMBER);\n               isSentenceStart = false;\n         } else if (!sc.atLineEnd && (setWordStart.Contains(sc.ch)) && sc.chPrev != '&') {\n               sc.SetState(SCE_ABL_IDENTIFIER);\n         } else if (sc.Match('/', '*')) {\n            if (sc.chPrev == '.' || sc.chPrev == ':' || sc.chPrev == '}') {\n               isSentenceStart = true;\n            }\n            sc.SetState(SCE_ABL_COMMENT);\n            possibleOOLChange = true;\n            commentNestingLevel++;\n            sc.Forward();   // Eat the * so it isn't used for the end of the comment\n         } else if (sc.ch == '\\\"') {\n               sc.SetState(SCE_ABL_STRING);\n               isSentenceStart = false;\n         } else if (sc.ch == '\\'') {\n            sc.SetState(SCE_ABL_CHARACTER);\n            isSentenceStart = false;\n         } else if (sc.ch == '&' && visibleChars1 == 0 && isSentenceStart) {\n            // Preprocessor commands are alone on their line\n            sc.SetState(SCE_ABL_PREPROCESSOR);\n            // Force Scintilla to acknowledge changed stated even though this change might happen outside of the current line\n            possibleOOLChange = true;\n            // Skip whitespace between & and preprocessor word\n            do {\n               sc.Forward();\n            } while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n            if (sc.atLineEnd) {\n               sc.SetState(SCE_ABL_DEFAULT);\n            }\n         } else if (sc.Match('/','/') && (IsASpace(sc.chPrev) || isSentenceStart)) {\n            // Line comments are valid after a white space or EOL\n            sc.SetState(SCE_ABL_LINECOMMENT);\n            // Skip whitespace between // and preprocessor word\n            do {\n               sc.Forward();\n            } while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n            if (sc.atLineEnd) {\n               sc.SetState(SCE_ABL_DEFAULT);\n            }\n         } else if (isoperator(sc.ch)) {\n            sc.SetState(SCE_ABL_OPERATOR);\n            /*    This code allows highlight of handles. Alas, it would cause the phrase \"last-event:function\"\n               to be recognized as a BlockBegin */\n               isSentenceStart = false;\n         }\n         else if ((sc.chPrev == '.' || sc.chPrev == ':' || sc.chPrev == '}') && (IsASpace(sc.ch))) {\n            isSentenceStart = true;\n         }\n      }\n      if (!IsASpace(sc.ch)) {\n         visibleChars1++;\n      }\n      if (!IsASpace(sc.ch) && !IsSpaceEquiv(sc.state)) {\n         visibleChars++;\n      }\n      continuationLine = false;\n      sc.Forward();\n   }\n\tif (possibleOOLChange)\n\t\tstyler.ChangeLexerState(startPos, startPos + length);\n   sc.Complete();\n}\n\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\n\nvoid SCI_METHOD LexerABL::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n   if (!options.fold)\n      return;\n\n   LexAccessor styler(pAccess);\n\n   Sci_PositionU endPos = startPos + length;\n   int visibleChars = 0;\n   Sci_Position lineCurrent = styler.GetLine(startPos);\n   int levelCurrent = SC_FOLDLEVELBASE;\n   if (lineCurrent > 0)\n      levelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n   Sci_PositionU lineStartNext = styler.LineStart(lineCurrent+1);\n   int levelNext = levelCurrent;\n   char chNext = styler[startPos];\n   int styleNext = styler.StyleAt(startPos);\n   int style = initStyle;\n   for (Sci_PositionU i = startPos; i < endPos; i++) {\n      chNext = static_cast<char>(tolower(chNext));  // check tolower\n      char ch = chNext;\n      chNext = styler.SafeGetCharAt(i+1);\n      int stylePrev = style;\n      style = styleNext;\n      styleNext = styler.StyleAt(i+1);\n      bool atEOL = i == (lineStartNext-1);\n      if (options.foldComment && options.foldCommentMultiline && IsStreamCommentStyle(style)) {\n         if (!IsStreamCommentStyle(stylePrev)) {\n            levelNext++;\n         } else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n            // Comments don't end at end of line and the next character may be unstyled.\n            levelNext--;\n         }\n      }\n      if (options.foldSyntaxBased) {\n         if (style == SCE_ABL_BLOCK && !IsAlphaNumeric(chNext)) {\n            levelNext++;\n         }\n         else if (style == SCE_ABL_END  && (ch == 'e' || ch == 'f')) {\n            levelNext--;\n         }\n      }\n      if (!IsASpace(ch))\n         visibleChars++;\n      if (atEOL || (i == endPos-1)) {\n         int lev = levelCurrent | levelNext << 16;\n         if (visibleChars == 0 && options.foldCompact)\n            lev |= SC_FOLDLEVELWHITEFLAG;\n         if (levelCurrent < levelNext)\n            lev |= SC_FOLDLEVELHEADERFLAG;\n         if (lev != styler.LevelAt(lineCurrent)) {\n            styler.SetLevel(lineCurrent, lev);\n         }\n         lineCurrent++;\n         lineStartNext = styler.LineStart(lineCurrent+1);\n         levelCurrent = levelNext;\n         if (atEOL && (i == static_cast<Sci_PositionU>(styler.Length()-1))) {\n            // There is an empty line at end of file so give it same level and empty\n            styler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n         }\n         visibleChars = 0;\n      }\n   }\n}\n\nLexerModule lmProgress(SCLEX_PROGRESS, LexerABL::LexerFactoryABL, \"abl\", ablWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexProps.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexProps.cxx\n ** Lexer for properties files.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') ||\n\t       ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\nstatic inline bool isassignchar(unsigned char ch) {\n\treturn (ch == '=') || (ch == ':');\n}\n\nstatic void ColourisePropsLine(\n\tconst char *lineBuffer,\n    Sci_PositionU lengthLine,\n    Sci_PositionU startLine,\n    Sci_PositionU endPos,\n    Accessor &styler,\n    bool allowInitialSpaces) {\n\n\tSci_PositionU i = 0;\n\tif (allowInitialSpaces) {\n\t\twhile ((i < lengthLine) && isspacechar(lineBuffer[i]))\t// Skip initial spaces\n\t\t\ti++;\n\t} else {\n\t\tif (isspacechar(lineBuffer[i])) // don't allow initial spaces\n\t\t\ti = lengthLine;\n\t}\n\n\tif (i < lengthLine) {\n\t\tif (lineBuffer[i] == '#' || lineBuffer[i] == '!' || lineBuffer[i] == ';') {\n\t\t\tstyler.ColourTo(endPos, SCE_PROPS_COMMENT);\n\t\t} else if (lineBuffer[i] == '[') {\n\t\t\tstyler.ColourTo(endPos, SCE_PROPS_SECTION);\n\t\t} else if (lineBuffer[i] == '@') {\n\t\t\tstyler.ColourTo(startLine + i, SCE_PROPS_DEFVAL);\n\t\t\tif (isassignchar(lineBuffer[i++]))\n\t\t\t\tstyler.ColourTo(startLine + i, SCE_PROPS_ASSIGNMENT);\n\t\t\tstyler.ColourTo(endPos, SCE_PROPS_DEFAULT);\n\t\t} else {\n\t\t\t// Search for the '=' character\n\t\t\twhile ((i < lengthLine) && !isassignchar(lineBuffer[i]))\n\t\t\t\ti++;\n\t\t\tif ((i < lengthLine) && isassignchar(lineBuffer[i])) {\n\t\t\t\tstyler.ColourTo(startLine + i - 1, SCE_PROPS_KEY);\n\t\t\t\tstyler.ColourTo(startLine + i, SCE_PROPS_ASSIGNMENT);\n\t\t\t\tstyler.ColourTo(endPos, SCE_PROPS_DEFAULT);\n\t\t\t} else {\n\t\t\t\tstyler.ColourTo(endPos, SCE_PROPS_DEFAULT);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tstyler.ColourTo(endPos, SCE_PROPS_DEFAULT);\n\t}\n}\n\nstatic void ColourisePropsDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tchar lineBuffer[1024];\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\tSci_PositionU startLine = startPos;\n\n\t// property lexer.props.allow.initial.spaces\n\t//\tFor properties files, set to 0 to style all lines that start with whitespace in the default style.\n\t//\tThis is not suitable for SciTE .properties files which use indentation for flow control but\n\t//\tcan be used for RFC2822 text where indentation is used for continuation lines.\n\tconst bool allowInitialSpaces = styler.GetPropertyInt(\"lexer.props.allow.initial.spaces\", 1) != 0;\n\n\tfor (Sci_PositionU i = startPos; i < startPos + length; i++) {\n\t\tlineBuffer[linePos++] = styler[i];\n\t\tif (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n\t\t\t// End of line (or of line buffer) met, colourise it\n\t\t\tlineBuffer[linePos] = '\\0';\n\t\t\tColourisePropsLine(lineBuffer, linePos, startLine, i, styler, allowInitialSpaces);\n\t\t\tlinePos = 0;\n\t\t\tstartLine = i + 1;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tColourisePropsLine(lineBuffer, linePos, startLine, startPos + length - 1, styler, allowInitialSpaces);\n\t}\n}\n\n// adaption by ksc, using the \"} else {\" trick of 1.53\n// 030721\nstatic void FoldPropsDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) {\n\tconst bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\n\tconst Sci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tbool headerPoint = false;\n\tint lev;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tconst char ch = chNext;\n\t\tchNext = styler[i+1];\n\n\t\tconst int style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tconst bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (style == SCE_PROPS_SECTION) {\n\t\t\theaderPoint = true;\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tlev = SC_FOLDLEVELBASE;\n\n\t\t\tif (lineCurrent > 0) {\n\t\t\t\tconst int levelPrevious = styler.LevelAt(lineCurrent - 1);\n\n\t\t\t\tif (levelPrevious & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\t\tlev = SC_FOLDLEVELBASE + 1;\n\t\t\t\t} else {\n\t\t\t\t\tlev = levelPrevious & SC_FOLDLEVELNUMBERMASK;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (headerPoint) {\n\t\t\t\tlev = SC_FOLDLEVELBASE;\n\t\t\t}\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\n\t\t\tif (headerPoint) {\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\n\t\t\tlineCurrent++;\n\t\t\tvisibleChars = 0;\n\t\t\theaderPoint = false;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\tif (lineCurrent > 0) {\n\t\tconst int levelPrevious = styler.LevelAt(lineCurrent - 1);\n\t\tif (levelPrevious & SC_FOLDLEVELHEADERFLAG) {\n\t\t\tlev = SC_FOLDLEVELBASE + 1;\n\t\t} else {\n\t\t\tlev = levelPrevious & SC_FOLDLEVELNUMBERMASK;\n\t\t}\n\t} else {\n\t\tlev = SC_FOLDLEVELBASE;\n\t}\n\tint flagsNext = styler.LevelAt(lineCurrent);\n\tstyler.SetLevel(lineCurrent, lev | (flagsNext & ~SC_FOLDLEVELNUMBERMASK));\n}\n\nstatic const char *const emptyWordListDesc[] = {\n\t0\n};\n\nLexerModule lmProps(SCLEX_PROPERTIES, ColourisePropsDoc, \"props\", FoldPropsDoc, emptyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexPython.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexPython.cxx\n ** Lexer for Python.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"StringCopy.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"CharacterCategory.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"SubStyles.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n// Use an unnamed namespace to protect the functions and classes from name conflicts\n\n/* Notes on f-strings: f-strings are strings prefixed with f (e.g. f'') that may\n   have arbitrary expressions in {}.  The tokens in the expressions are lexed as if\n   they were outside of any string.  Expressions may contain { and } characters as\n   long as there is a closing } for every {, may be 2+ lines in a triple quoted\n   string, and may have a formatting specifier following a ! or :, but both !\n   and : are valid inside of a bracketed expression and != is a valid\n   expression token even outside of a bracketed expression.\n\n   When in an f-string expression, the lexer keeps track of the state value of\n   the f-string and the nesting count for the expression (# of [, (, { seen - # of\n   }, ), ] seen).  f-strings may be nested (e.g. f'{ a + f\"{1+2}\"') so a stack of\n   states and nesting counts is kept.  If a f-string expression continues beyond\n   the end of a line, this stack is saved in a std::map that maps a line number to\n   the stack at the end of that line.  std::vector is used for the stack.\n\n   The PEP for f-strings is at https://www.python.org/dev/peps/pep-0498/\n*/\nstruct SingleFStringExpState {\n\tint state;\n\tint nestingCount;\n};\n\n/* kwCDef, kwCTypeName only used for Cython */\nenum kwType { kwOther, kwClass, kwDef, kwImport, kwCDef, kwCTypeName, kwCPDef };\n\nenum literalsAllowed { litNone = 0, litU = 1, litB = 2, litF = 4 };\n\nconst int indicatorWhitespace = 1;\n\nbool IsPyComment(Accessor &styler, Sci_Position pos, Sci_Position len) {\n\treturn len > 0 && styler[pos] == '#';\n}\n\nbool IsPyStringTypeChar(int ch, literalsAllowed allowed) {\n\treturn\n\t\t((allowed & litB) && (ch == 'b' || ch == 'B')) ||\n\t\t((allowed & litU) && (ch == 'u' || ch == 'U')) ||\n\t\t((allowed & litF) && (ch == 'f' || ch == 'F'));\n}\n\nbool IsPyStringStart(int ch, int chNext, int chNext2, literalsAllowed allowed) {\n\tif (ch == '\\'' || ch == '\"')\n\t\treturn true;\n\tif (IsPyStringTypeChar(ch, allowed)) {\n\t\tif (chNext == '\"' || chNext == '\\'')\n\t\t\treturn true;\n\t\tif ((chNext == 'r' || chNext == 'R') && (chNext2 == '\"' || chNext2 == '\\''))\n\t\t\treturn true;\n\t}\n\tif ((ch == 'r' || ch == 'R') && (chNext == '\"' || chNext == '\\''))\n\t\treturn true;\n\n\treturn false;\n}\n\nbool IsPyFStringState(int st) {\n\treturn ((st == SCE_P_FCHARACTER) || (st == SCE_P_FSTRING) ||\n\t\t(st == SCE_P_FTRIPLE) || (st == SCE_P_FTRIPLEDOUBLE));\n}\n\nbool IsPySingleQuoteStringState(int st) {\n\treturn ((st == SCE_P_CHARACTER) || (st == SCE_P_STRING) ||\n\t\t(st == SCE_P_FCHARACTER) || (st == SCE_P_FSTRING));\n}\n\nbool IsPyTripleQuoteStringState(int st) {\n\treturn ((st == SCE_P_TRIPLE) || (st == SCE_P_TRIPLEDOUBLE) ||\n\t\t(st == SCE_P_FTRIPLE) || (st == SCE_P_FTRIPLEDOUBLE));\n}\n\nchar GetPyStringQuoteChar(int st) {\n\tif ((st == SCE_P_CHARACTER) || (st == SCE_P_FCHARACTER) ||\n\t\t\t(st == SCE_P_TRIPLE) || (st == SCE_P_FTRIPLE))\n\t\treturn '\\'';\n\tif ((st == SCE_P_STRING) || (st == SCE_P_FSTRING) ||\n\t\t\t(st == SCE_P_TRIPLEDOUBLE) || (st == SCE_P_FTRIPLEDOUBLE))\n\t\treturn '\"';\n\n\treturn '\\0';\n}\n\nvoid PushStateToStack(int state, std::vector<SingleFStringExpState> &stack, SingleFStringExpState *&currentFStringExp) {\n\tSingleFStringExpState single = {state, 0};\n\tstack.push_back(single);\n\n\tcurrentFStringExp = &stack.back();\n}\n\nint PopFromStateStack(std::vector<SingleFStringExpState> &stack, SingleFStringExpState *&currentFStringExp) {\n\tint state = 0;\n\n\tif (!stack.empty()) {\n\t\tstate = stack.back().state;\n\t\tstack.pop_back();\n\t}\n\n\tif (stack.empty()) {\n\t\tcurrentFStringExp = NULL;\n\t} else {\n\t\tcurrentFStringExp = &stack.back();\n\t}\n\n\treturn state;\n}\n\n/* Return the state to use for the string starting at i; *nextIndex will be set to the first index following the quote(s) */\nint GetPyStringState(Accessor &styler, Sci_Position i, Sci_PositionU *nextIndex, literalsAllowed allowed) {\n\tchar ch = styler.SafeGetCharAt(i);\n\tchar chNext = styler.SafeGetCharAt(i + 1);\n\tconst int firstIsF = (ch == 'f' || ch == 'F');\n\n\t// Advance beyond r, u, or ur prefix (or r, b, or br in Python 2.7+ and r, f, or fr in Python 3.6+), but bail if there are any unexpected chars\n\tif (ch == 'r' || ch == 'R') {\n\t\ti++;\n\t\tch = styler.SafeGetCharAt(i);\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t} else if (IsPyStringTypeChar(ch, allowed)) {\n\t\tif (chNext == 'r' || chNext == 'R')\n\t\t\ti += 2;\n\t\telse\n\t\t\ti += 1;\n\t\tch = styler.SafeGetCharAt(i);\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t}\n\n\tif (ch != '\"' && ch != '\\'') {\n\t\t*nextIndex = i + 1;\n\t\treturn SCE_P_DEFAULT;\n\t}\n\n\tif (ch == chNext && ch == styler.SafeGetCharAt(i + 2)) {\n\t\t*nextIndex = i + 3;\n\n\t\tif (ch == '\"')\n\t\t\treturn (firstIsF ? SCE_P_FTRIPLEDOUBLE : SCE_P_TRIPLEDOUBLE);\n\t\telse\n\t\t\treturn (firstIsF ? SCE_P_FTRIPLE : SCE_P_TRIPLE);\n\t} else {\n\t\t*nextIndex = i + 1;\n\n\t\tif (ch == '\"')\n\t\t\treturn (firstIsF ? SCE_P_FSTRING : SCE_P_STRING);\n\t\telse\n\t\t\treturn (firstIsF ? SCE_P_FCHARACTER : SCE_P_CHARACTER);\n\t}\n}\n\ninline bool IsAWordChar(int ch, bool unicodeIdentifiers) {\n\tif (ch < 0x80)\n\t\treturn (isalnum(ch) || ch == '.' || ch == '_');\n\n\tif (!unicodeIdentifiers)\n\t\treturn false;\n\n\t// Python uses the XID_Continue set from unicode data\n\treturn IsXidContinue(ch);\n}\n\ninline bool IsAWordStart(int ch, bool unicodeIdentifiers) {\n\tif (ch < 0x80)\n\t\treturn (isalpha(ch) || ch == '_');\n\n\tif (!unicodeIdentifiers)\n\t\treturn false;\n\n\t// Python uses the XID_Start set from unicode data\n\treturn IsXidStart(ch);\n}\n\nstatic bool IsFirstNonWhitespace(Sci_Position pos, Accessor &styler) {\n\tSci_Position line = styler.GetLine(pos);\n\tSci_Position start_pos = styler.LineStart(line);\n\tfor (Sci_Position i = start_pos; i < pos; i++) {\n\t\tconst char ch = styler[i];\n\t\tif (!(ch == ' ' || ch == '\\t'))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\n// Options used for LexerPython\nstruct OptionsPython {\n\tint whingeLevel;\n\tbool base2or8Literals;\n\tbool stringsU;\n\tbool stringsB;\n\tbool stringsF;\n\tbool stringsOverNewline;\n\tbool keywords2NoSubIdentifiers;\n\tbool fold;\n\tbool foldQuotes;\n\tbool foldCompact;\n\tbool unicodeIdentifiers;\n\n\tOptionsPython() {\n\t\twhingeLevel = 0;\n\t\tbase2or8Literals = true;\n\t\tstringsU = true;\n\t\tstringsB = true;\n\t\tstringsF = true;\n\t\tstringsOverNewline = false;\n\t\tkeywords2NoSubIdentifiers = false;\n\t\tfold = false;\n\t\tfoldQuotes = false;\n\t\tfoldCompact = false;\n\t\tunicodeIdentifiers = true;\n\t}\n\n\tliteralsAllowed AllowedLiterals() const {\n\t\tliteralsAllowed allowedLiterals = stringsU ? litU : litNone;\n\t\tif (stringsB)\n\t\t\tallowedLiterals = static_cast<literalsAllowed>(allowedLiterals | litB);\n\t\tif (stringsF)\n\t\t\tallowedLiterals = static_cast<literalsAllowed>(allowedLiterals | litF);\n\t\treturn allowedLiterals;\n\t}\n};\n\nstatic const char *const pythonWordListDesc[] = {\n\t\"Keywords\",\n\t\"Highlighted identifiers\",\n\t0\n};\n\nstruct OptionSetPython : public OptionSet<OptionsPython> {\n\tOptionSetPython() {\n\t\tDefineProperty(\"tab.timmy.whinge.level\", &OptionsPython::whingeLevel,\n\t\t\t       \"For Python code, checks whether indenting is consistent. \"\n\t\t\t       \"The default, 0 turns off indentation checking, \"\n\t\t\t       \"1 checks whether each line is potentially inconsistent with the previous line, \"\n\t\t\t       \"2 checks whether any space characters occur before a tab character in the indentation, \"\n\t\t\t       \"3 checks whether any spaces are in the indentation, and \"\n\t\t\t       \"4 checks for any tab characters in the indentation. \"\n\t\t\t       \"1 is a good level to use.\");\n\n\t\tDefineProperty(\"lexer.python.literals.binary\", &OptionsPython::base2or8Literals,\n\t\t\t       \"Set to 0 to not recognise Python 3 binary and octal literals: 0b1011 0o712.\");\n\n\t\tDefineProperty(\"lexer.python.strings.u\", &OptionsPython::stringsU,\n\t\t\t       \"Set to 0 to not recognise Python Unicode literals u\\\"x\\\" as used before Python 3.\");\n\n\t\tDefineProperty(\"lexer.python.strings.b\", &OptionsPython::stringsB,\n\t\t\t       \"Set to 0 to not recognise Python 3 bytes literals b\\\"x\\\".\");\n\n\t\tDefineProperty(\"lexer.python.strings.f\", &OptionsPython::stringsF,\n\t\t\t       \"Set to 0 to not recognise Python 3.6 f-string literals f\\\"var={var}\\\".\");\n\n\t\tDefineProperty(\"lexer.python.strings.over.newline\", &OptionsPython::stringsOverNewline,\n\t\t\t       \"Set to 1 to allow strings to span newline characters.\");\n\n\t\tDefineProperty(\"lexer.python.keywords2.no.sub.identifiers\", &OptionsPython::keywords2NoSubIdentifiers,\n\t\t\t       \"When enabled, it will not style keywords2 items that are used as a sub-identifier. \"\n\t\t\t       \"Example: when set, will not highlight \\\"foo.open\\\" when \\\"open\\\" is a keywords2 item.\");\n\n\t\tDefineProperty(\"fold\", &OptionsPython::fold);\n\n\t\tDefineProperty(\"fold.quotes.python\", &OptionsPython::foldQuotes,\n\t\t\t       \"This option enables folding multi-line quoted strings when using the Python lexer.\");\n\n\t\tDefineProperty(\"fold.compact\", &OptionsPython::foldCompact);\n\n\t\tDefineProperty(\"lexer.python.unicode.identifiers\", &OptionsPython::unicodeIdentifiers,\n\t\t\t       \"Set to 0 to not recognise Python 3 unicode identifiers.\");\n\n\t\tDefineWordListSets(pythonWordListDesc);\n\t}\n};\n\nconst char styleSubable[] = { SCE_P_IDENTIFIER, 0 };\n\nLexicalClass lexicalClasses[] = {\n\t// Lexer Python SCLEX_PYTHON SCE_P_:\n\t0, \"SCE_P_DEFAULT\", \"default\", \"White space\",\n\t1, \"SCE_P_COMMENTLINE\", \"comment line\", \"Comment\",\n\t2, \"SCE_P_NUMBER\", \"literal numeric\", \"Number\",\n\t3, \"SCE_P_STRING\", \"literal string\", \"String\",\n\t4, \"SCE_P_CHARACTER\", \"literal string\", \"Single quoted string\",\n\t5, \"SCE_P_WORD\", \"keyword\", \"Keyword\",\n\t6, \"SCE_P_TRIPLE\", \"literal string\", \"Triple quotes\",\n\t7, \"SCE_P_TRIPLEDOUBLE\", \"literal string\", \"Triple double quotes\",\n\t8, \"SCE_P_CLASSNAME\", \"identifier\", \"Class name definition\",\n\t9, \"SCE_P_DEFNAME\", \"identifier\", \"Function or method name definition\",\n\t10, \"SCE_P_OPERATOR\", \"operator\", \"Operators\",\n\t11, \"SCE_P_IDENTIFIER\", \"identifier\", \"Identifiers\",\n\t12, \"SCE_P_COMMENTBLOCK\", \"comment\", \"Comment-blocks\",\n\t13, \"SCE_P_STRINGEOL\", \"error literal string\", \"End of line where string is not closed\",\n\t14, \"SCE_P_WORD2\", \"identifier\", \"Highlighted identifiers\",\n\t15, \"SCE_P_DECORATOR\", \"preprocessor\", \"Decorators\",\n\t16, \"SCE_P_FSTRING\", \"literal string interpolated\", \"F-String\",\n\t17, \"SCE_P_FCHARACTER\", \"literal string interpolated\", \"Single quoted f-string\",\n\t18, \"SCE_P_FTRIPLE\", \"literal string interpolated\", \"Triple quoted f-string\",\n\t19, \"SCE_P_FTRIPLEDOUBLE\", \"literal string interpolated\", \"Triple double quoted f-string\",\n};\n\n}\n\nclass LexerPython : public DefaultLexer {\n\tWordList keywords;\n\tWordList keywords2;\n\tOptionsPython options;\n\tOptionSetPython osPython;\n\tenum { ssIdentifier };\n\tSubStyles subStyles;\n\tstd::map<Sci_Position, std::vector<SingleFStringExpState> > ftripleStateAtEol;\npublic:\n\texplicit LexerPython() :\n\t\tDefaultLexer(lexicalClasses, ELEMENTS(lexicalClasses)),\n\t\tsubStyles(styleSubable, 0x80, 0x40, 0) {\n\t}\n\t~LexerPython() override {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvSubStyles;\n\t}\n\tconst char *SCI_METHOD PropertyNames() override {\n\t\treturn osPython.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osPython.PropertyType(name);\n\t}\n\tconst char *SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osPython.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char *SCI_METHOD DescribeWordListSets() override {\n\t\treturn osPython.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n\tvoid *SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\n\tint SCI_METHOD LineEndTypesSupported() override {\n\t\treturn SC_LINE_END_TYPE_UNICODE;\n\t}\n\n\tint SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override {\n\t\treturn subStyles.Allocate(styleBase, numberStyles);\n\t}\n\tint SCI_METHOD SubStylesStart(int styleBase) override {\n\t\treturn subStyles.Start(styleBase);\n\t}\n\tint SCI_METHOD SubStylesLength(int styleBase) override {\n\t\treturn subStyles.Length(styleBase);\n\t}\n\tint SCI_METHOD StyleFromSubStyle(int subStyle) override {\n\t\tconst int styleBase = subStyles.BaseStyle(subStyle);\n\t\treturn styleBase;\n\t}\n\tint SCI_METHOD PrimaryStyleFromStyle(int style) override {\n\t\treturn style;\n\t}\n\tvoid SCI_METHOD FreeSubStyles() override {\n\t\tsubStyles.Free();\n\t}\n\tvoid SCI_METHOD SetIdentifiers(int style, const char *identifiers) override {\n\t\tsubStyles.SetIdentifiers(style, identifiers);\n\t}\n\tint SCI_METHOD DistanceToSecondaryStyles() override {\n\t\treturn 0;\n\t}\n\tconst char *SCI_METHOD GetSubStyleBases() override {\n\t\treturn styleSubable;\n\t}\n\n\tstatic ILexer *LexerFactoryPython() {\n\t\treturn new LexerPython();\n\t}\n\nprivate:\n\tvoid ProcessLineEnd(StyleContext &sc, std::vector<SingleFStringExpState> &fstringStateStack, SingleFStringExpState *&currentFStringExp, bool &inContinuedString);\n};\n\nSci_Position SCI_METHOD LexerPython::PropertySet(const char *key, const char *val) {\n\tif (osPython.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerPython::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywords2;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid LexerPython::ProcessLineEnd(StyleContext &sc, std::vector<SingleFStringExpState> &fstringStateStack, SingleFStringExpState *&currentFStringExp, bool &inContinuedString) {\n\tlong deepestSingleStateIndex = -1;\n\tunsigned long i;\n\n\t// Find the deepest single quote state because that string will end; no \\ continuation in f-string\n\tfor (i = 0; i < fstringStateStack.size(); i++) {\n\t\tif (IsPySingleQuoteStringState(fstringStateStack[i].state)) {\n\t\t\tdeepestSingleStateIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (deepestSingleStateIndex != -1) {\n\t\tsc.SetState(fstringStateStack[deepestSingleStateIndex].state);\n\t\twhile (fstringStateStack.size() > static_cast<unsigned long>(deepestSingleStateIndex)) {\n\t\t\tPopFromStateStack(fstringStateStack, currentFStringExp);\n\t\t}\n\t}\n\tif (!fstringStateStack.empty()) {\n\t\tstd::pair<Sci_Position, std::vector<SingleFStringExpState> > val;\n\t\tval.first = sc.currentLine;\n\t\tval.second = fstringStateStack;\n\n\t\tftripleStateAtEol.insert(val);\n\t}\n\n\tif ((sc.state == SCE_P_DEFAULT)\n\t\t\t|| IsPyTripleQuoteStringState(sc.state)) {\n\t\t// Perform colourisation of white space and triple quoted strings at end of each line to allow\n\t\t// tab marking to work inside white space and triple quoted strings\n\t\tsc.SetState(sc.state);\n\t}\n\tif (IsPySingleQuoteStringState(sc.state)) {\n\t\tif (inContinuedString || options.stringsOverNewline) {\n\t\t\tinContinuedString = false;\n\t\t} else {\n\t\t\tsc.ChangeState(SCE_P_STRINGEOL);\n\t\t\tsc.ForwardSetState(SCE_P_DEFAULT);\n\t\t}\n\t}\n}\n\nvoid SCI_METHOD LexerPython::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tAccessor styler(pAccess, NULL);\n\n\t// Track whether in f-string expression; vector is used for a stack to\n\t// handle nested f-strings such as f\"\"\"{f'''{f\"{f'{1}'}\"}'''}\"\"\"\n\tstd::vector<SingleFStringExpState> fstringStateStack;\n\tSingleFStringExpState *currentFStringExp = NULL;\n\n\tconst Sci_Position endPos = startPos + length;\n\n\t// Backtrack to previous line in case need to fix its tab whinging\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0) {\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\t// Look for backslash-continued lines\n\t\t\twhile (lineCurrent > 0) {\n\t\t\t\tSci_Position eolPos = styler.LineStart(lineCurrent) - 1;\n\t\t\t\tconst int eolStyle = styler.StyleAt(eolPos);\n\t\t\t\tif (eolStyle == SCE_P_STRING\n\t\t\t\t\t\t|| eolStyle == SCE_P_CHARACTER\n\t\t\t\t\t\t|| eolStyle == SCE_P_STRINGEOL) {\n\t\t\t\t\tlineCurrent -= 1;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t\tinitStyle = startPos == 0 ? SCE_P_DEFAULT : styler.StyleAt(startPos - 1);\n\t}\n\n\tconst literalsAllowed allowedLiterals = options.AllowedLiterals();\n\n\tinitStyle = initStyle & 31;\n\tif (initStyle == SCE_P_STRINGEOL) {\n\t\tinitStyle = SCE_P_DEFAULT;\n\t}\n\n\t// Set up fstate stack from last line and remove any subsequent ftriple at eol states\n\tstd::map<Sci_Position, std::vector<SingleFStringExpState> >::iterator it;\n\tit = ftripleStateAtEol.find(lineCurrent - 1);\n\tif (it != ftripleStateAtEol.end() && !it->second.empty()) {\n\t\tfstringStateStack = it->second;\n\t\tcurrentFStringExp = &fstringStateStack.back();\n\t}\n\tit = ftripleStateAtEol.lower_bound(lineCurrent);\n\tif (it != ftripleStateAtEol.end()) {\n\t\tftripleStateAtEol.erase(it, ftripleStateAtEol.end());\n\t}\n\n\tkwType kwLast = kwOther;\n\tint spaceFlags = 0;\n\tstyler.IndentAmount(lineCurrent, &spaceFlags, IsPyComment);\n\tbool base_n_number = false;\n\n\tconst WordClassifier &classifierIdentifiers = subStyles.Classifier(SCE_P_IDENTIFIER);\n\n\tStyleContext sc(startPos, endPos - startPos, initStyle, styler);\n\n\tbool indentGood = true;\n\tSci_Position startIndicator = sc.currentPos;\n\tbool inContinuedString = false;\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart) {\n\t\t\tstyler.IndentAmount(lineCurrent, &spaceFlags, IsPyComment);\n\t\t\tindentGood = true;\n\t\t\tif (options.whingeLevel == 1) {\n\t\t\t\tindentGood = (spaceFlags & wsInconsistent) == 0;\n\t\t\t} else if (options.whingeLevel == 2) {\n\t\t\t\tindentGood = (spaceFlags & wsSpaceTab) == 0;\n\t\t\t} else if (options.whingeLevel == 3) {\n\t\t\t\tindentGood = (spaceFlags & wsSpace) == 0;\n\t\t\t} else if (options.whingeLevel == 4) {\n\t\t\t\tindentGood = (spaceFlags & wsTab) == 0;\n\t\t\t}\n\t\t\tif (!indentGood) {\n\t\t\t\tstyler.IndicatorFill(startIndicator, sc.currentPos, indicatorWhitespace, 0);\n\t\t\t\tstartIndicator = sc.currentPos;\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\tProcessLineEnd(sc, fstringStateStack, currentFStringExp, inContinuedString);\n\t\t\tlineCurrent++;\n\t\t\tif (!sc.More())\n\t\t\t\tbreak;\n\t\t}\n\n\t\tbool needEOLCheck = false;\n\n\n\t\tif (sc.state == SCE_P_OPERATOR) {\n\t\t\tkwLast = kwOther;\n\t\t\tsc.SetState(SCE_P_DEFAULT);\n\t\t} else if (sc.state == SCE_P_NUMBER) {\n\t\t\tif (!IsAWordChar(sc.ch, false) &&\n\t\t\t\t\t!(!base_n_number && ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) {\n\t\t\t\tsc.SetState(SCE_P_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_P_IDENTIFIER) {\n\t\t\tif ((sc.ch == '.') || (!IsAWordChar(sc.ch, options.unicodeIdentifiers))) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tint style = SCE_P_IDENTIFIER;\n\t\t\t\tif ((kwLast == kwImport) && (strcmp(s, \"as\") == 0)) {\n\t\t\t\t\tstyle = SCE_P_WORD;\n\t\t\t\t} else if (keywords.InList(s)) {\n\t\t\t\t\tstyle = SCE_P_WORD;\n\t\t\t\t} else if (kwLast == kwClass) {\n\t\t\t\t\tstyle = SCE_P_CLASSNAME;\n\t\t\t\t} else if (kwLast == kwDef) {\n\t\t\t\t\tstyle = SCE_P_DEFNAME;\n\t\t\t\t} else if (kwLast == kwCDef || kwLast == kwCPDef) {\n\t\t\t\t\tSci_Position pos = sc.currentPos;\n\t\t\t\t\tunsigned char ch = styler.SafeGetCharAt(pos, '\\0');\n\t\t\t\t\twhile (ch != '\\0') {\n\t\t\t\t\t\tif (ch == '(') {\n\t\t\t\t\t\t\tstyle = SCE_P_DEFNAME;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else if (ch == ':') {\n\t\t\t\t\t\t\tstyle = SCE_P_CLASSNAME;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else if (ch == ' ' || ch == '\\t' || ch == '\\n' || ch == '\\r') {\n\t\t\t\t\t\t\tpos++;\n\t\t\t\t\t\t\tch = styler.SafeGetCharAt(pos, '\\0');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tif (options.keywords2NoSubIdentifiers) {\n\t\t\t\t\t\t// We don't want to highlight keywords2\n\t\t\t\t\t\t// that are used as a sub-identifier,\n\t\t\t\t\t\t// i.e. not open in \"foo.open\".\n\t\t\t\t\t\tSci_Position pos = styler.GetStartSegment() - 1;\n\t\t\t\t\t\tif (pos < 0 || (styler.SafeGetCharAt(pos, '\\0') != '.'))\n\t\t\t\t\t\t\tstyle = SCE_P_WORD2;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstyle = SCE_P_WORD2;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tint subStyle = classifierIdentifiers.ValueFor(s);\n\t\t\t\t\tif (subStyle >= 0) {\n\t\t\t\t\t\tstyle = subStyle;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsc.ChangeState(style);\n\t\t\t\tsc.SetState(SCE_P_DEFAULT);\n\t\t\t\tif (style == SCE_P_WORD) {\n\t\t\t\t\tif (0 == strcmp(s, \"class\"))\n\t\t\t\t\t\tkwLast = kwClass;\n\t\t\t\t\telse if (0 == strcmp(s, \"def\"))\n\t\t\t\t\t\tkwLast = kwDef;\n\t\t\t\t\telse if (0 == strcmp(s, \"import\"))\n\t\t\t\t\t\tkwLast = kwImport;\n\t\t\t\t\telse if (0 == strcmp(s, \"cdef\"))\n\t\t\t\t\t\tkwLast = kwCDef;\n\t\t\t\t\telse if (0 == strcmp(s, \"cpdef\"))\n\t\t\t\t\t\tkwLast = kwCPDef;\n\t\t\t\t\telse if (0 == strcmp(s, \"cimport\"))\n\t\t\t\t\t\tkwLast = kwImport;\n\t\t\t\t\telse if (kwLast != kwCDef && kwLast != kwCPDef)\n\t\t\t\t\t\tkwLast = kwOther;\n\t\t\t\t} else if (kwLast != kwCDef && kwLast != kwCPDef) {\n\t\t\t\t\tkwLast = kwOther;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ((sc.state == SCE_P_COMMENTLINE) || (sc.state == SCE_P_COMMENTBLOCK)) {\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\tsc.SetState(SCE_P_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_P_DECORATOR) {\n\t\t\tif (!IsAWordStart(sc.ch, options.unicodeIdentifiers)) {\n\t\t\t\tsc.SetState(SCE_P_DEFAULT);\n\t\t\t}\n\t\t} else if (IsPySingleQuoteStringState(sc.state)) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif ((sc.chNext == '\\r') && (sc.GetRelative(2) == '\\n')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\t\tinContinuedString = true;\n\t\t\t\t} else {\n\t\t\t\t\t// Don't roll over the newline.\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == GetPyStringQuoteChar(sc.state)) {\n\t\t\t\tsc.ForwardSetState(SCE_P_DEFAULT);\n\t\t\t\tneedEOLCheck = true;\n\t\t\t}\n\t\t} else if ((sc.state == SCE_P_TRIPLE) || (sc.state == SCE_P_FTRIPLE)) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match(R\"(''')\")) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_P_DEFAULT);\n\t\t\t\tneedEOLCheck = true;\n\t\t\t}\n\t\t} else if ((sc.state == SCE_P_TRIPLEDOUBLE) || (sc.state == SCE_P_FTRIPLEDOUBLE)) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.Match(R\"(\"\"\")\")) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_P_DEFAULT);\n\t\t\t\tneedEOLCheck = true;\n\t\t\t}\n\t\t}\n\n\t\t// Note if used and not if else because string states also match\n\t\t// some of the above clauses\n\t\tif (IsPyFStringState(sc.state) && sc.ch == '{') {\n\t\t\tif (sc.chNext == '{') {\n\t\t\t\tsc.Forward();\n\t\t\t} else {\n\t\t\t\tPushStateToStack(sc.state, fstringStateStack, currentFStringExp);\n\t\t\t\tsc.ForwardSetState(SCE_P_DEFAULT);\n\t\t\t}\n\t\t\tneedEOLCheck = true;\n\t\t}\n\n\t\t// If in an f-string expression, check for the ending quote(s)\n\t\t// and end f-string to handle syntactically incorrect cases like\n\t\t// f'{' and f\"\"\"{\"\"\"\n\t\tif (!fstringStateStack.empty() && (sc.ch == '\\'' || sc.ch == '\"')) {\n\t\t\tlong matching_stack_i = -1;\n\t\t\tfor (unsigned long stack_i = 0; stack_i < fstringStateStack.size() && matching_stack_i == -1; stack_i++) {\n\t\t\t\tconst int stack_state = fstringStateStack[stack_i].state;\n\t\t\t\tconst char quote = GetPyStringQuoteChar(stack_state);\n\t\t\t\tif (sc.ch == quote) {\n\t\t\t\t\tif (IsPySingleQuoteStringState(stack_state)) {\n\t\t\t\t\t\tmatching_stack_i = stack_i;\n\t\t\t\t\t} else if (quote == '\"' ? sc.Match(R\"(\"\"\")\") : sc.Match(\"'''\")) {\n\t\t\t\t\t\tmatching_stack_i = stack_i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (matching_stack_i != -1) {\n\t\t\t\tsc.SetState(fstringStateStack[matching_stack_i].state);\n\t\t\t\tif (IsPyTripleQuoteStringState(fstringStateStack[matching_stack_i].state)) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tsc.ForwardSetState(SCE_P_DEFAULT);\n\t\t\t\tneedEOLCheck = true;\n\n\t\t\t\twhile (fstringStateStack.size() > static_cast<unsigned long>(matching_stack_i)) {\n\t\t\t\t\tPopFromStateStack(fstringStateStack, currentFStringExp);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// End of code to find the end of a state\n\n\t\tif (!indentGood && !IsASpaceOrTab(sc.ch)) {\n\t\t\tstyler.IndicatorFill(startIndicator, sc.currentPos, indicatorWhitespace, 1);\n\t\t\tstartIndicator = sc.currentPos;\n\t\t\tindentGood = true;\n\t\t}\n\n\t\t// One cdef or cpdef line, clear kwLast only at end of line\n\t\tif ((kwLast == kwCDef || kwLast == kwCPDef) && sc.atLineEnd) {\n\t\t\tkwLast = kwOther;\n\t\t}\n\n\t\t// State exit code may have moved on to end of line\n\t\tif (needEOLCheck && sc.atLineEnd) {\n\t\t\tProcessLineEnd(sc, fstringStateStack, currentFStringExp, inContinuedString);\n\t\t\tlineCurrent++;\n\t\t\tstyler.IndentAmount(lineCurrent, &spaceFlags, IsPyComment);\n\t\t\tif (!sc.More())\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// If in f-string expression, check for }, :, ! to resume f-string state or update nesting count\n\t\tif (currentFStringExp != NULL && !IsPySingleQuoteStringState(sc.state) && !IsPyTripleQuoteStringState(sc.state)) {\n\t\t\tif (currentFStringExp->nestingCount == 0 && (sc.ch == '}' || sc.ch == ':' || (sc.ch == '!' && sc.chNext != '='))) {\n\t\t\t\tsc.SetState(PopFromStateStack(fstringStateStack, currentFStringExp));\n\t\t\t} else {\n\t\t\t\tif (sc.ch == '{' || sc.ch == '[' || sc.ch == '(') {\n\t\t\t\t\tcurrentFStringExp->nestingCount++;\n\t\t\t\t} else if (sc.ch == '}' || sc.ch == ']' || sc.ch == ')') {\n\t\t\t\t\tcurrentFStringExp->nestingCount--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check for a new state starting character\n\t\tif (sc.state == SCE_P_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tif (sc.ch == '0' && (sc.chNext == 'x' || sc.chNext == 'X')) {\n\t\t\t\t\tbase_n_number = true;\n\t\t\t\t\tsc.SetState(SCE_P_NUMBER);\n\t\t\t\t} else if (sc.ch == '0' &&\n\t\t\t\t\t\t(sc.chNext == 'o' || sc.chNext == 'O' || sc.chNext == 'b' || sc.chNext == 'B')) {\n\t\t\t\t\tif (options.base2or8Literals) {\n\t\t\t\t\t\tbase_n_number = true;\n\t\t\t\t\t\tsc.SetState(SCE_P_NUMBER);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_P_NUMBER);\n\t\t\t\t\t\tsc.ForwardSetState(SCE_P_IDENTIFIER);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbase_n_number = false;\n\t\t\t\t\tsc.SetState(SCE_P_NUMBER);\n\t\t\t\t}\n\t\t\t} else if ((IsASCII(sc.ch) && isoperator(static_cast<char>(sc.ch))) || sc.ch == '`') {\n\t\t\t\tsc.SetState(SCE_P_OPERATOR);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.SetState(sc.chNext == '#' ? SCE_P_COMMENTBLOCK : SCE_P_COMMENTLINE);\n\t\t\t} else if (sc.ch == '@') {\n\t\t\t\tif (IsFirstNonWhitespace(sc.currentPos, styler))\n\t\t\t\t\tsc.SetState(SCE_P_DECORATOR);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_P_OPERATOR);\n\t\t\t} else if (IsPyStringStart(sc.ch, sc.chNext, sc.GetRelative(2), allowedLiterals)) {\n\t\t\t\tSci_PositionU nextIndex = 0;\n\t\t\t\tsc.SetState(GetPyStringState(styler, sc.currentPos, &nextIndex, allowedLiterals));\n\t\t\t\twhile (nextIndex > (sc.currentPos + 1) && sc.More()) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (IsAWordStart(sc.ch, options.unicodeIdentifiers)) {\n\t\t\t\tsc.SetState(SCE_P_IDENTIFIER);\n\t\t\t}\n\t\t}\n\t}\n\tstyler.IndicatorFill(startIndicator, sc.currentPos, indicatorWhitespace, 0);\n\tsc.Complete();\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tconst Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\n\t\tconst char ch = styler[i];\n\t\tif (ch == '#')\n\t\t\treturn true;\n\t\telse if (ch != ' ' && ch != '\\t')\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic bool IsQuoteLine(Sci_Position line, const Accessor &styler) {\n\tconst int style = styler.StyleAt(styler.LineStart(line)) & 31;\n\treturn IsPyTripleQuoteStringState(style);\n}\n\n\nvoid SCI_METHOD LexerPython::Fold(Sci_PositionU startPos, Sci_Position length, int /*initStyle - unused*/, IDocument *pAccess) {\n\tif (!options.fold)\n\t\treturn;\n\n\tAccessor styler(pAccess, NULL);\n\n\tconst Sci_Position maxPos = startPos + length;\n\tconst Sci_Position maxLines = (maxPos == styler.Length()) ? styler.GetLine(maxPos) : styler.GetLine(maxPos - 1);\t// Requested last line\n\tconst Sci_Position docLines = styler.GetLine(styler.Length());\t// Available last line\n\n\t// Backtrack to previous non-blank line so we can determine indent level\n\t// for any white space lines (needed esp. within triple quoted strings)\n\t// and so we can fix any preceding fold level (which is why we go back\n\t// at least one line in all cases)\n\tint spaceFlags = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\twhile (lineCurrent > 0) {\n\t\tlineCurrent--;\n\t\tindentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG) &&\n\t\t\t\t(!IsCommentLine(lineCurrent, styler)) &&\n\t\t\t\t(!IsQuoteLine(lineCurrent, styler)))\n\t\t\tbreak;\n\t}\n\tint indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\n\t// Set up initial loop state\n\tstartPos = styler.LineStart(lineCurrent);\n\tint prev_state = SCE_P_DEFAULT & 31;\n\tif (lineCurrent >= 1)\n\t\tprev_state = styler.StyleAt(startPos - 1) & 31;\n\tint prevQuote = options.foldQuotes && IsPyTripleQuoteStringState(prev_state);\n\n\t// Process all characters to end of requested range or end of any triple quote\n\t//that hangs over the end of the range.  Cap processing in all cases\n\t// to end of document (in case of unclosed quote at end).\n\twhile ((lineCurrent <= docLines) && ((lineCurrent <= maxLines) || prevQuote)) {\n\n\t\t// Gather info\n\t\tint lev = indentCurrent;\n\t\tSci_Position lineNext = lineCurrent + 1;\n\t\tint indentNext = indentCurrent;\n\t\tint quote = false;\n\t\tif (lineNext <= docLines) {\n\t\t\t// Information about next line is only available if not at end of document\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t\tSci_Position lookAtPos = (styler.LineStart(lineNext) == styler.Length()) ? styler.Length() - 1 : styler.LineStart(lineNext);\n\t\t\tconst int style = styler.StyleAt(lookAtPos) & 31;\n\t\t\tquote = options.foldQuotes && IsPyTripleQuoteStringState(style);\n\t\t}\n\t\tconst int quote_start = (quote && !prevQuote);\n\t\tconst int quote_continue = (quote && prevQuote);\n\t\tif (!quote || !prevQuote)\n\t\t\tindentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\t\tif (quote)\n\t\t\tindentNext = indentCurrentLevel;\n\t\tif (indentNext & SC_FOLDLEVELWHITEFLAG)\n\t\t\tindentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel;\n\n\t\tif (quote_start) {\n\t\t\t// Place fold point at start of triple quoted string\n\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t} else if (quote_continue || prevQuote) {\n\t\t\t// Add level to rest of lines in the string\n\t\t\tlev = lev + 1;\n\t\t}\n\n\t\t// Skip past any blank lines for next indent level info; we skip also\n\t\t// comments (all comments, not just those starting in column 0)\n\t\t// which effectively folds them into surrounding code rather\n\t\t// than screwing up folding.  If comments end file, use the min\n\t\t// comment indent as the level after\n\n\t\tint minCommentLevel = indentCurrentLevel;\n\t\twhile (!quote &&\n\t\t\t\t(lineNext < docLines) &&\n\t\t\t\t((indentNext & SC_FOLDLEVELWHITEFLAG) ||\n\t\t\t\t (lineNext <= docLines && IsCommentLine(lineNext, styler)))) {\n\n\t\t\tif (IsCommentLine(lineNext, styler) && indentNext < minCommentLevel) {\n\t\t\t\tminCommentLevel = indentNext;\n\t\t\t}\n\n\t\t\tlineNext++;\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t}\n\n\t\tconst int levelAfterComments = ((lineNext < docLines) ? indentNext & SC_FOLDLEVELNUMBERMASK : minCommentLevel);\n\t\tconst int levelBeforeComments = std::max(indentCurrentLevel, levelAfterComments);\n\n\t\t// Now set all the indent levels on the lines we skipped\n\t\t// Do this from end to start.  Once we encounter one line\n\t\t// which is indented more than the line after the end of\n\t\t// the comment-block, use the level of the block before\n\n\t\tSci_Position skipLine = lineNext;\n\t\tint skipLevel = levelAfterComments;\n\n\t\twhile (--skipLine > lineCurrent) {\n\t\t\tconst int skipLineIndent = styler.IndentAmount(skipLine, &spaceFlags, NULL);\n\n\t\t\tif (options.foldCompact) {\n\t\t\t\tif ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments)\n\t\t\t\t\tskipLevel = levelBeforeComments;\n\n\t\t\t\tint whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG;\n\n\t\t\t\tstyler.SetLevel(skipLine, skipLevel | whiteFlag);\n\t\t\t} else {\n\t\t\t\tif ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments &&\n\t\t\t\t\t\t!(skipLineIndent & SC_FOLDLEVELWHITEFLAG) &&\n\t\t\t\t\t\t!IsCommentLine(skipLine, styler))\n\t\t\t\t\tskipLevel = levelBeforeComments;\n\n\t\t\t\tstyler.SetLevel(skipLine, skipLevel);\n\t\t\t}\n\t\t}\n\n\t\t// Set fold header on non-quote line\n\t\tif (!quote && !(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t}\n\n\t\t// Keep track of triple quote state of previous line\n\t\tprevQuote = quote;\n\n\t\t// Set fold level for this line and move to next line\n\t\tstyler.SetLevel(lineCurrent, options.foldCompact ? lev : lev & ~SC_FOLDLEVELWHITEFLAG);\n\t\tindentCurrent = indentNext;\n\t\tlineCurrent = lineNext;\n\t}\n\n\t// NOTE: Cannot set level of last line here because indentCurrent doesn't have\n\t// header flag set; the loop above is crafted to take care of this case!\n\t//styler.SetLevel(lineCurrent, indentCurrent);\n}\n\nLexerModule lmPython(SCLEX_PYTHON, LexerPython::LexerFactoryPython, \"python\",\n\t\t     pythonWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexR.cpp",
    "content": "// Scintilla source code edit control\n/** @file Lexr.cxx\n ** Lexer for R, S, SPlus Statistics Program (Heavily derived from CPP Lexer).\n **\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_');\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\nstatic inline bool IsAnOperator(const int ch) {\n\tif (IsASCII(ch) && isalnum(ch))\n\t\treturn false;\n\t// '.' left out as it is used to make up numbers\n\tif (ch == '-' || ch == '+' || ch == '!' || ch == '~' ||\n\t        ch == '?' || ch == ':' || ch == '*' || ch == '/' ||\n\t        ch == '^' || ch == '<' || ch == '>' || ch == '=' ||\n\t        ch == '&' || ch == '|' || ch == '$' || ch == '(' ||\n\t        ch == ')' || ch == '}' || ch == '{' || ch == '[' ||\n\t\tch == ']')\n\t\treturn true;\n\treturn false;\n}\n\nstatic void ColouriseRDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler) {\n\n\tWordList &keywords   = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_R_INFIXEOL)\n\t\tinitStyle = SCE_R_DEFAULT;\n\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart && (sc.state == SCE_R_STRING)) {\n\t\t\t// Prevent SCE_R_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_R_STRING);\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_R_OPERATOR) {\n\t\t\tsc.SetState(SCE_R_DEFAULT);\n\t\t} else if (sc.state == SCE_R_NUMBER) {\n\t\t\tif (!IsADigit(sc.ch) && !(sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_R_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_R_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_R_KWORD);\n\t\t\t\t} else if  (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_R_BASEKWORD);\n\t\t\t\t} else if  (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_R_OTHERKWORD);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_R_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_R_COMMENT) {\n\t\t\tif (sc.ch == '\\r' || sc.ch == '\\n') {\n\t\t\t\tsc.SetState(SCE_R_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_R_STRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_R_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_R_INFIX) {\n\t\t\tif (sc.ch == '%') {\n\t\t\t\tsc.ForwardSetState(SCE_R_DEFAULT);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_R_INFIXEOL);\n\t\t\t\tsc.ForwardSetState(SCE_R_DEFAULT);\n\t\t\t}\n\t\t}else if (sc.state == SCE_R_STRING2) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_R_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_R_DEFAULT) {\n\t\t\tif (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_R_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch) ) {\n\t\t\t\tsc.SetState(SCE_R_IDENTIFIER);\n\t\t\t} else if (sc.Match('#')) {\n\t\t\t\t\tsc.SetState(SCE_R_COMMENT);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_R_STRING);\n\t\t\t} else if (sc.ch == '%') {\n\t\t\t\tsc.SetState(SCE_R_INFIX);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_R_STRING2);\n\t\t\t} else if (IsAnOperator(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_R_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nstatic void FoldRDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n                       Accessor &styler) {\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tbool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (style == SCE_R_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n}\n\n\nstatic const char * const RWordLists[] = {\n            \"Language Keywords\",\n            \"Base / Default package function\",\n            \"Other Package Functions\",\n            \"Unused\",\n            \"Unused\",\n            0,\n        };\n\n\n\nLexerModule lmR(SCLEX_R, ColouriseRDoc, \"r\", FoldRDoc, RWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexRebol.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexRebol.cxx\n ** Lexer for REBOL.\n ** Written by Pascal Hurni, inspired from LexLua by Paul Winwood & Marcos E. Wurzius & Philippe Lhoste\n **\n ** History:\n **\t\t2005-04-07\tFirst release.\n **\t\t2005-04-10\tClosing parens and brackets go now in default style\n **\t\t\t\t\tString and comment nesting should be more safe\n **/\n// Copyright 2005 by Pascal Hurni <pascal_hurni@fastmail.fm>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (isalnum(ch) || ch == '?' || ch == '!' || ch == '.' || ch == '\\'' || ch == '+' || ch == '-' || ch == '*' || ch == '&' || ch == '|' || ch == '=' || ch == '_' || ch == '~');\n}\n\nstatic inline bool IsAWordStart(const int ch, const int ch2) {\n\treturn ((ch == '+' || ch == '-' || ch == '.') && !isdigit(ch2)) ||\n\t\t(isalpha(ch) || ch == '?' || ch == '!' || ch == '\\'' || ch == '*' || ch == '&' || ch == '|' || ch == '=' || ch == '_' || ch == '~');\n}\n\nstatic inline bool IsAnOperator(const int ch, const int ch2, const int ch3) {\n\t// One char operators\n\tif (IsASpaceOrTab(ch2)) {\n\t\treturn ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '<' || ch == '>' || ch == '=' || ch == '?';\n\t}\n\n\t// Two char operators\n\tif (IsASpaceOrTab(ch3)) {\n\t\treturn (ch == '*' && ch2 == '*') ||\n\t\t\t   (ch == '/' && ch2 == '/') ||\n\t\t\t   (ch == '<' && (ch2 == '=' || ch2 == '>')) ||\n\t\t\t   (ch == '>' && ch2 == '=') ||\n\t\t\t   (ch == '=' && (ch2 == '=' || ch2 == '?')) ||\n\t\t\t   (ch == '?' && ch2 == '?');\n\t}\n\n\treturn false;\n}\n\nstatic inline bool IsBinaryStart(const int ch, const int ch2, const int ch3, const int ch4) {\n\treturn (ch == '#' && ch2 == '{') ||\n\t\t   (IsADigit(ch) && ch2 == '#' && ch3 == '{' ) ||\n\t\t   (IsADigit(ch) && IsADigit(ch2) && ch3 == '#' && ch4 == '{' );\n}\n\n\nstatic void ColouriseRebolDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\tWordList &keywords5 = *keywordlists[4];\n\tWordList &keywords6 = *keywordlists[5];\n\tWordList &keywords7 = *keywordlists[6];\n\tWordList &keywords8 = *keywordlists[7];\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\t// Initialize the braced string {.. { ... } ..} nesting level, if we are inside such a string.\n\tint stringLevel = 0;\n\tif (initStyle == SCE_REBOL_BRACEDSTRING || initStyle == SCE_REBOL_COMMENTBLOCK) {\n\t\tstringLevel = styler.GetLineState(currentLine - 1);\n\t}\n\n\tbool blockComment = initStyle == SCE_REBOL_COMMENTBLOCK;\n\tint dotCount = 0;\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_REBOL_COMMENTLINE) {\n\t\tinitStyle = SCE_REBOL_DEFAULT;\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tif (startPos == 0) {\n\t\tsc.SetState(SCE_REBOL_PREFACE);\n\t}\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\t//--- What to do at line end ?\n\t\tif (sc.atLineEnd) {\n\t\t\t// Can be either inside a {} string or simply at eol\n\t\t\tif (sc.state != SCE_REBOL_BRACEDSTRING && sc.state != SCE_REBOL_COMMENTBLOCK &&\n\t\t\t\tsc.state != SCE_REBOL_BINARY && sc.state != SCE_REBOL_PREFACE)\n\t\t\t\tsc.SetState(SCE_REBOL_DEFAULT);\n\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tcurrentLine = styler.GetLine(sc.currentPos);\n\t\t\tswitch (sc.state) {\n\t\t\tcase SCE_REBOL_BRACEDSTRING:\n\t\t\tcase SCE_REBOL_COMMENTBLOCK:\n\t\t\t\t// Inside a braced string, we set the line state\n\t\t\t\tstyler.SetLineState(currentLine, stringLevel);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Reset the line state\n\t\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// continue with next char\n\t\t\tcontinue;\n\t\t}\n\n\t\t//--- What to do on white-space ?\n\t\tif (IsASpaceOrTab(sc.ch))\n\t\t{\n\t\t\t// Return to default if any of these states\n\t\t\tif (sc.state == SCE_REBOL_OPERATOR || sc.state == SCE_REBOL_CHARACTER ||\n\t\t\t\tsc.state == SCE_REBOL_NUMBER || sc.state == SCE_REBOL_PAIR ||\n\t\t\t\tsc.state == SCE_REBOL_TUPLE || sc.state == SCE_REBOL_FILE ||\n\t\t\t\tsc.state == SCE_REBOL_DATE || sc.state == SCE_REBOL_TIME ||\n\t\t\t\tsc.state == SCE_REBOL_MONEY || sc.state == SCE_REBOL_ISSUE ||\n\t\t\t\tsc.state == SCE_REBOL_URL || sc.state == SCE_REBOL_EMAIL) {\n\t\t\t\tsc.SetState(SCE_REBOL_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t//--- Specialize state ?\n\t\t// URL, Email look like identifier\n\t\tif (sc.state == SCE_REBOL_IDENTIFIER)\n\t\t{\n\t\t\tif (sc.ch == ':' && !IsASpace(sc.chNext)) {\n\t\t\t\tsc.ChangeState(SCE_REBOL_URL);\n\t\t\t} else if (sc.ch == '@') {\n\t\t\t\tsc.ChangeState(SCE_REBOL_EMAIL);\n\t\t\t} else if (sc.ch == '$') {\n\t\t\t\tsc.ChangeState(SCE_REBOL_MONEY);\n\t\t\t}\n\t\t}\n\t\t// Words look like identifiers\n\t\tif (sc.state == SCE_REBOL_IDENTIFIER || (sc.state >= SCE_REBOL_WORD && sc.state <= SCE_REBOL_WORD8)) {\n\t\t\t// Keywords ?\n\t\t\tif (!IsAWordChar(sc.ch) || sc.Match('/')) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tblockComment = strcmp(s, \"comment\") == 0;\n\t\t\t\tif (keywords8.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD8);\n\t\t\t\t} else if (keywords7.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD7);\n\t\t\t\t} else if (keywords6.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD6);\n\t\t\t\t} else if (keywords5.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD5);\n\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD4);\n\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD3);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD2);\n\t\t\t\t} else if (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_REBOL_WORD);\n\t\t\t\t}\n\t\t\t\t// Keep same style if there are refinements\n\t\t\t\tif (!sc.Match('/')) {\n\t\t\t\t\tsc.SetState(SCE_REBOL_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t// special numbers\n\t\t} else if (sc.state == SCE_REBOL_NUMBER) {\n\t\t\tswitch (sc.ch) {\n\t\t\tcase 'x':\tsc.ChangeState(SCE_REBOL_PAIR);\n\t\t\t\t\t\tbreak;\n\t\t\tcase ':':\tsc.ChangeState(SCE_REBOL_TIME);\n\t\t\t\t\t\tbreak;\n\t\t\tcase '-':\n\t\t\tcase '/':\tsc.ChangeState(SCE_REBOL_DATE);\n\t\t\t\t\t\tbreak;\n\t\t\tcase '.':\tif (++dotCount >= 2) sc.ChangeState(SCE_REBOL_TUPLE);\n\t\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t//--- Determine if the current state should terminate\n\t\tif (sc.state == SCE_REBOL_QUOTEDSTRING || sc.state == SCE_REBOL_CHARACTER) {\n\t\t\tif (sc.ch == '^' && sc.chNext == '\\\"') {\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_REBOL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_REBOL_BRACEDSTRING || sc.state == SCE_REBOL_COMMENTBLOCK) {\n\t\t\tif (sc.ch == '}') {\n\t\t\t\tif (--stringLevel == 0) {\n\t\t\t\t\tsc.ForwardSetState(SCE_REBOL_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '{') {\n\t\t\t\tstringLevel++;\n\t\t\t}\n\t\t} else if (sc.state == SCE_REBOL_BINARY) {\n\t\t\tif (sc.ch == '}') {\n\t\t\t\tsc.ForwardSetState(SCE_REBOL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_REBOL_TAG) {\n\t\t\tif (sc.ch == '>') {\n\t\t\t\tsc.ForwardSetState(SCE_REBOL_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_REBOL_PREFACE) {\n\t\t\tif (sc.MatchIgnoreCase(\"rebol\"))\n\t\t\t{\n\t\t\t\tint i;\n\t\t\t\tfor (i=5; IsASpaceOrTab(styler.SafeGetCharAt(sc.currentPos+i, 0)); i++);\n\t\t\t\tif (sc.GetRelative(i) == '[')\n\t\t\t\t\tsc.SetState(SCE_REBOL_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t//--- Parens and bracket changes to default style when the current is a number\n\t\tif (sc.state == SCE_REBOL_NUMBER || sc.state == SCE_REBOL_PAIR || sc.state == SCE_REBOL_TUPLE ||\n\t\t\tsc.state == SCE_REBOL_MONEY || sc.state == SCE_REBOL_ISSUE || sc.state == SCE_REBOL_EMAIL ||\n\t\t\tsc.state == SCE_REBOL_URL || sc.state == SCE_REBOL_DATE || sc.state == SCE_REBOL_TIME) {\n\t\t\tif (sc.ch == '(' || sc.ch == '[' || sc.ch == ')' || sc.ch == ']') {\n\t\t\t\tsc.SetState(SCE_REBOL_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\t//--- Determine if a new state should be entered.\n\t\tif (sc.state == SCE_REBOL_DEFAULT) {\n\t\t\tif (IsAnOperator(sc.ch, sc.chNext, sc.GetRelative(2))) {\n\t\t\t\tsc.SetState(SCE_REBOL_OPERATOR);\n\t\t\t} else if (IsBinaryStart(sc.ch, sc.chNext, sc.GetRelative(2), sc.GetRelative(3))) {\n\t\t\t\tsc.SetState(SCE_REBOL_BINARY);\n\t\t\t} else if (IsAWordStart(sc.ch, sc.chNext)) {\n\t\t\t\tsc.SetState(SCE_REBOL_IDENTIFIER);\n\t\t\t} else if (IsADigit(sc.ch) || sc.ch == '+' || sc.ch == '-' || /*Decimal*/ sc.ch == '.' || sc.ch == ',') {\n\t\t\t\tdotCount = 0;\n\t\t\t\tsc.SetState(SCE_REBOL_NUMBER);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_REBOL_QUOTEDSTRING);\n\t\t\t} else if (sc.ch == '{') {\n\t\t\t\tsc.SetState(blockComment ? SCE_REBOL_COMMENTBLOCK : SCE_REBOL_BRACEDSTRING);\n\t\t\t\t++stringLevel;\n\t\t\t} else if (sc.ch == ';') {\n\t\t\t\tsc.SetState(SCE_REBOL_COMMENTLINE);\n\t\t\t} else if (sc.ch == '$') {\n\t\t\t\tsc.SetState(SCE_REBOL_MONEY);\n\t\t\t} else if (sc.ch == '%') {\n\t\t\t\tsc.SetState(SCE_REBOL_FILE);\n\t\t\t} else if (sc.ch == '<') {\n\t\t\t\tsc.SetState(SCE_REBOL_TAG);\n\t\t\t} else if (sc.ch == '#' && sc.chNext == '\"') {\n\t\t\t\tsc.SetState(SCE_REBOL_CHARACTER);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '#' && sc.chNext != '\"' && sc.chNext != '{' ) {\n\t\t\t\tsc.SetState(SCE_REBOL_ISSUE);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n\nstatic void FoldRebolDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],\n                            Accessor &styler) {\n\tSci_PositionU lengthDoc = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (style == SCE_REBOL_DEFAULT) {\n\t\t\tif (ch == '[') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == ']') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const rebolWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nLexerModule lmREBOL(SCLEX_REBOL, ColouriseRebolDoc, \"rebol\", FoldRebolDoc, rebolWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexRegistry.cpp",
    "content": "// Scintilla source code edit control\n/**\n * @file LexRegistry.cxx\n * @date July 26 2014\n * @brief Lexer for Windows registration files(.reg)\n * @author nkmathew\n *\n * The License.txt file describes the conditions under which this software may be\n * distributed.\n *\n */\n\n#include <cstdlib>\n#include <cassert>\n#include <cctype>\n#include <cstdio>\n#include <string>\n#include <vector>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nstatic const char *const RegistryWordListDesc[] = {\n\t0\n};\n\nstruct OptionsRegistry {\n\tbool foldCompact;\n\tbool fold;\n\tOptionsRegistry() {\n\t\tfoldCompact = false;\n\t\tfold = false;\n\t}\n};\n\nstruct OptionSetRegistry : public OptionSet<OptionsRegistry> {\n\tOptionSetRegistry() {\n\t\tDefineProperty(\"fold.compact\", &OptionsRegistry::foldCompact);\n\t\tDefineProperty(\"fold\", &OptionsRegistry::fold);\n\t\tDefineWordListSets(RegistryWordListDesc);\n\t}\n};\n\nclass LexerRegistry : public DefaultLexer {\n\tOptionsRegistry options;\n\tOptionSetRegistry optSetRegistry;\n\n\tstatic bool IsStringState(int state) {\n\t\treturn (state == SCE_REG_VALUENAME || state == SCE_REG_STRING);\n\t}\n\n\tstatic bool IsKeyPathState(int state) {\n\t\treturn (state == SCE_REG_ADDEDKEY || state == SCE_REG_DELETEDKEY);\n\t}\n\n\tstatic bool AtValueType(LexAccessor &styler, Sci_Position start) {\n\t\tSci_Position i = 0;\n\t\twhile (i < 10) {\n\t\t\ti++;\n\t\t\tchar curr = styler.SafeGetCharAt(start+i, '\\0');\n\t\t\tif (curr == ':') {\n\t\t\t\treturn true;\n\t\t\t} else if (!curr) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic bool IsNextNonWhitespace(LexAccessor &styler, Sci_Position start, char ch) {\n\t\tSci_Position i = 0;\n\t\twhile (i < 100) {\n\t\t\ti++;\n\t\t\tchar curr = styler.SafeGetCharAt(start+i, '\\0');\n\t\t\tchar next = styler.SafeGetCharAt(start+i+1, '\\0');\n\t\t\tbool atEOL = (curr == '\\r' && next != '\\n') || (curr == '\\n');\n\t\t\tif (curr == ch) {\n\t\t\t\treturn true;\n\t\t\t} else if (!isspacechar(curr) || atEOL) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t// Looks for the equal sign at the end of the string\n\tstatic bool AtValueName(LexAccessor &styler, Sci_Position start) {\n\t\tbool atEOL = false;\n\t\tSci_Position i = 0;\n\t\tbool escaped = false;\n\t\twhile (!atEOL) {\n\t\t\ti++;\n\t\t\tchar curr = styler.SafeGetCharAt(start+i, '\\0');\n\t\t\tchar next = styler.SafeGetCharAt(start+i+1, '\\0');\n\t\t\tatEOL = (curr == '\\r' && next != '\\n') || (curr == '\\n');\n\t\t\tif (escaped) {\n\t\t\t\tescaped = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tescaped = curr == '\\\\';\n\t\t\tif (curr == '\"') {\n\t\t\t\treturn IsNextNonWhitespace(styler, start+i, '=');\n\t\t\t} else if (!curr) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic bool AtKeyPathEnd(LexAccessor &styler, Sci_Position start) {\n\t\tbool atEOL = false;\n\t\tSci_Position i = 0;\n\t\twhile (!atEOL) {\n\t\t\ti++;\n\t\t\tchar curr = styler.SafeGetCharAt(start+i, '\\0');\n\t\t\tchar next = styler.SafeGetCharAt(start+i+1, '\\0');\n\t\t\tatEOL = (curr == '\\r' && next != '\\n') || (curr == '\\n');\n\t\t\tif (curr == ']' || !curr) {\n\t\t\t\t// There's still at least one or more square brackets ahead\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tstatic bool AtGUID(LexAccessor &styler, Sci_Position start) {\n\t\tint count = 8;\n\t\tint portion = 0;\n\t\tint offset = 1;\n\t\tchar digit = '\\0';\n\t\twhile (portion < 5) {\n\t\t\tint i = 0;\n\t\t\twhile (i < count) {\n\t\t\t\tdigit = styler.SafeGetCharAt(start+offset);\n\t\t\t\tif (!(isxdigit(digit) || digit == '-')) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\toffset++;\n\t\t\t\ti++;\n\t\t\t}\n\t\t\tportion++;\n\t\t\tcount = (portion == 4) ? 13 : 5;\n\t\t}\n\t\tdigit = styler.SafeGetCharAt(start+offset);\n\t\tif (digit == '}') {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\npublic:\n\tLexerRegistry() {}\n\tvirtual ~LexerRegistry() {}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tconst char *SCI_METHOD PropertyNames() override {\n\t\treturn optSetRegistry.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn optSetRegistry.PropertyType(name);\n\t}\n\tconst char *SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn optSetRegistry.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override {\n\t\tif (optSetRegistry.PropertySet(&options, key, val)) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn -1;\n\t}\n\tSci_Position SCI_METHOD WordListSet(int, const char *) override {\n\t\treturn -1;\n\t}\n\tvoid *SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\tstatic ILexer *LexerFactoryRegistry() {\n\t\treturn new LexerRegistry;\n\t}\n\tconst char *SCI_METHOD DescribeWordListSets() override {\n\t\treturn optSetRegistry.DescribeWordListSets();\n\t}\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\tSci_Position length,\n\t\t\t\t\t\t\t\tint initStyle,\n\t\t\t\t\t\t\t\tIDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\t Sci_Position length,\n\t\t\t\t\t\t\t\t int initStyle,\n\t\t\t\t\t\t\t\t IDocument *pAccess) override;\n};\n\nvoid SCI_METHOD LexerRegistry::Lex(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\t   Sci_Position length,\n\t\t\t\t\t\t\t\t   int initStyle,\n\t\t\t\t\t\t\t\t   IDocument *pAccess) {\n\tint beforeGUID = SCE_REG_DEFAULT;\n\tint beforeEscape = SCE_REG_DEFAULT;\n\tCharacterSet setOperators = CharacterSet(CharacterSet::setNone, \"-,.=:\\\\@()\");\n\tLexAccessor styler(pAccess);\n\tStyleContext context(startPos, length, initStyle, styler);\n\tbool highlight = true;\n\tbool afterEqualSign = false;\n\twhile (context.More()) {\n\t\tif (context.atLineStart) {\n\t\t\tSci_Position currPos = static_cast<Sci_Position>(context.currentPos);\n\t\t\tbool continued = styler[currPos-3] == '\\\\';\n\t\t\thighlight = continued ? true : false;\n\t\t}\n\t\tswitch (context.state) {\n\t\t\tcase SCE_REG_COMMENT:\n\t\t\t\tif (context.atLineEnd) {\n\t\t\t\t\tcontext.SetState(SCE_REG_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_VALUENAME:\n\t\t\tcase SCE_REG_STRING: {\n\t\t\t\t\tSci_Position currPos = static_cast<Sci_Position>(context.currentPos);\n\t\t\t\t\tif (context.ch == '\"') {\n\t\t\t\t\t\tcontext.ForwardSetState(SCE_REG_DEFAULT);\n\t\t\t\t\t} else if (context.ch == '\\\\') {\n\t\t\t\t\t\tbeforeEscape = context.state;\n\t\t\t\t\t\tcontext.SetState(SCE_REG_ESCAPED);\n\t\t\t\t\t\tcontext.Forward();\n\t\t\t\t\t} else if (context.ch == '{') {\n\t\t\t\t\t\tif (AtGUID(styler, currPos)) {\n\t\t\t\t\t\t\tbeforeGUID = context.state;\n\t\t\t\t\t\t\tcontext.SetState(SCE_REG_STRING_GUID);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (context.state == SCE_REG_STRING &&\n\t\t\t\t\t\tcontext.ch == '%' &&\n\t\t\t\t\t\t(isdigit(context.chNext) || context.chNext == '*')) {\n\t\t\t\t\t\tcontext.SetState(SCE_REG_PARAMETER);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_PARAMETER:\n\t\t\t\tcontext.ForwardSetState(SCE_REG_STRING);\n\t\t\t\tif (context.ch == '\"') {\n\t\t\t\t\tcontext.ForwardSetState(SCE_REG_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_VALUETYPE:\n\t\t\t\tif (context.ch == ':') {\n\t\t\t\t\tcontext.SetState(SCE_REG_DEFAULT);\n\t\t\t\t\tafterEqualSign = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_HEXDIGIT:\n\t\t\tcase SCE_REG_OPERATOR:\n\t\t\t\tcontext.SetState(SCE_REG_DEFAULT);\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_DELETEDKEY:\n\t\t\tcase SCE_REG_ADDEDKEY: {\n\t\t\t\t\tSci_Position currPos = static_cast<Sci_Position>(context.currentPos);\n\t\t\t\t\tif (context.ch == ']' && AtKeyPathEnd(styler, currPos)) {\n\t\t\t\t\t\tcontext.ForwardSetState(SCE_REG_DEFAULT);\n\t\t\t\t\t} else if (context.ch == '{') {\n\t\t\t\t\t\tif (AtGUID(styler, currPos)) {\n\t\t\t\t\t\t\tbeforeGUID = context.state;\n\t\t\t\t\t\t\tcontext.SetState(SCE_REG_KEYPATH_GUID);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_ESCAPED:\n\t\t\t\tif (context.ch == '\"') {\n\t\t\t\t\tcontext.SetState(beforeEscape);\n\t\t\t\t\tcontext.ForwardSetState(SCE_REG_DEFAULT);\n\t\t\t\t} else if (context.ch == '\\\\') {\n\t\t\t\t\tcontext.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tcontext.SetState(beforeEscape);\n\t\t\t\t\tbeforeEscape = SCE_REG_DEFAULT;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_REG_STRING_GUID:\n\t\t\tcase SCE_REG_KEYPATH_GUID: {\n\t\t\t\t\tif (context.ch == '}') {\n\t\t\t\t\t\tcontext.ForwardSetState(beforeGUID);\n\t\t\t\t\t\tbeforeGUID = SCE_REG_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t\tSci_Position currPos = static_cast<Sci_Position>(context.currentPos);\n\t\t\t\t\tif (context.ch == '\"' && IsStringState(context.state)) {\n\t\t\t\t\t\tcontext.ForwardSetState(SCE_REG_DEFAULT);\n\t\t\t\t\t} else if (context.ch == ']' &&\n\t\t\t\t\t\t\t   AtKeyPathEnd(styler, currPos) &&\n\t\t\t\t\t\t\t   IsKeyPathState(context.state)) {\n\t\t\t\t\t\tcontext.ForwardSetState(SCE_REG_DEFAULT);\n\t\t\t\t\t} else if (context.ch == '\\\\' && IsStringState(context.state)) {\n\t\t\t\t\t\tbeforeEscape = context.state;\n\t\t\t\t\t\tcontext.SetState(SCE_REG_ESCAPED);\n\t\t\t\t\t\tcontext.Forward();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t// Determine if a new state should be entered.\n\t\tif (context.state == SCE_REG_DEFAULT) {\n\t\t\tSci_Position currPos = static_cast<Sci_Position>(context.currentPos);\n\t\t\tif (context.ch == ';') {\n\t\t\t\tcontext.SetState(SCE_REG_COMMENT);\n\t\t\t} else if (context.ch == '\"') {\n\t\t\t\tif (AtValueName(styler, currPos)) {\n\t\t\t\t\tcontext.SetState(SCE_REG_VALUENAME);\n\t\t\t\t} else {\n\t\t\t\t\tcontext.SetState(SCE_REG_STRING);\n\t\t\t\t}\n\t\t\t} else if (context.ch == '[') {\n\t\t\t\tif (IsNextNonWhitespace(styler, currPos, '-')) {\n\t\t\t\t\tcontext.SetState(SCE_REG_DELETEDKEY);\n\t\t\t\t} else {\n\t\t\t\t\tcontext.SetState(SCE_REG_ADDEDKEY);\n\t\t\t\t}\n\t\t\t} else if (context.ch == '=') {\n\t\t\t\tafterEqualSign = true;\n\t\t\t\thighlight = true;\n\t\t\t} else if (afterEqualSign) {\n\t\t\t\tbool wordStart = isalpha(context.ch) && !isalpha(context.chPrev);\n\t\t\t\tif (wordStart && AtValueType(styler, currPos)) {\n\t\t\t\t\tcontext.SetState(SCE_REG_VALUETYPE);\n\t\t\t\t}\n\t\t\t} else if (isxdigit(context.ch) && highlight) {\n\t\t\t\tcontext.SetState(SCE_REG_HEXDIGIT);\n\t\t\t}\n\t\t\thighlight = (context.ch == '@') ? true : highlight;\n\t\t\tif (setOperators.Contains(context.ch) && highlight) {\n\t\t\t\tcontext.SetState(SCE_REG_OPERATOR);\n\t\t\t}\n\t\t}\n\t\tcontext.Forward();\n\t}\n\tcontext.Complete();\n}\n\n// Folding similar to that of FoldPropsDoc in LexOthers\nvoid SCI_METHOD LexerRegistry::Fold(Sci_PositionU startPos,\n\t\t\t\t\t\t\t\t\tSci_Position length,\n\t\t\t\t\t\t\t\t\tint,\n\t\t\t\t\t\t\t\t\tIDocument *pAccess) {\n\tif (!options.fold) {\n\t\treturn;\n\t}\n\tLexAccessor styler(pAccess);\n\tSci_Position currLine = styler.GetLine(startPos);\n\tint visibleChars = 0;\n\tSci_PositionU endPos = startPos + length;\n\tbool atKeyPath = false;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tatKeyPath = IsKeyPathState(styler.StyleAt(i)) ? true : atKeyPath;\n\t\tchar curr = styler.SafeGetCharAt(i);\n\t\tchar next = styler.SafeGetCharAt(i+1);\n\t\tbool atEOL = (curr == '\\r' && next != '\\n') || (curr == '\\n');\n\t\tif (atEOL || i == (endPos-1)) {\n\t\t\tint level = SC_FOLDLEVELBASE;\n\t\t\tif (currLine > 0) {\n\t\t\t\tint prevLevel = styler.LevelAt(currLine-1);\n\t\t\t\tif (prevLevel & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\t\tlevel += 1;\n\t\t\t\t} else {\n\t\t\t\t\tlevel = prevLevel;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!visibleChars && options.foldCompact) {\n\t\t\t\tlevel |= SC_FOLDLEVELWHITEFLAG;\n\t\t\t} else if (atKeyPath) {\n\t\t\t\tlevel = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG;\n\t\t\t}\n\t\t\tif (level != styler.LevelAt(currLine)) {\n\t\t\t\tstyler.SetLevel(currLine, level);\n\t\t\t}\n\t\t\tcurrLine++;\n\t\t\tvisibleChars = 0;\n\t\t\tatKeyPath = false;\n\t\t}\n\t\tif (!isspacechar(curr)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\n\t// Make the folding reach the last line in the file\n\tint level = SC_FOLDLEVELBASE;\n\tif (currLine > 0) {\n\t\tint prevLevel = styler.LevelAt(currLine-1);\n\t\tif (prevLevel & SC_FOLDLEVELHEADERFLAG) {\n\t\t\tlevel += 1;\n\t\t} else {\n\t\t\tlevel = prevLevel;\n\t\t}\n\t}\n\tstyler.SetLevel(currLine, level);\n}\n\nLexerModule lmRegistry(SCLEX_REGISTRY,\n\t\t\t\t\t   LexerRegistry::LexerFactoryRegistry,\n\t\t\t\t\t   \"registry\",\n\t\t\t\t\t   RegistryWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexRuby.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexRuby.cxx\n ** Lexer for Ruby.\n **/\n// Copyright 2001- by Clemens Wyss <wys@helbling.ch>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n//XXX Identical to Perl, put in common area\nstatic inline bool isEOLChar(char ch) {\n    return (ch == '\\r') || (ch == '\\n');\n}\n\n#define isSafeASCII(ch) ((unsigned int)(ch) <= 127)\n// This one's redundant, but makes for more readable code\n#define isHighBitChar(ch) ((unsigned int)(ch) > 127)\n\nstatic inline bool isSafeAlpha(char ch) {\n    return (isSafeASCII(ch) && isalpha(ch)) || ch == '_';\n}\n\nstatic inline bool isSafeAlnum(char ch) {\n    return (isSafeASCII(ch) && isalnum(ch)) || ch == '_';\n}\n\nstatic inline bool isSafeAlnumOrHigh(char ch) {\n    return isHighBitChar(ch) || isalnum(ch) || ch == '_';\n}\n\nstatic inline bool isSafeDigit(char ch) {\n    return isSafeASCII(ch) && isdigit(ch);\n}\n\nstatic inline bool isSafeWordcharOrHigh(char ch) {\n    // Error: scintilla's KeyWords.h includes '.' as a word-char\n    // we want to separate things that can take methods from the\n    // methods.\n    return isHighBitChar(ch) || isalnum(ch) || ch == '_';\n}\n\nstatic bool inline iswhitespace(char ch) {\n    return ch == ' ' || ch == '\\t';\n}\n\n#define MAX_KEYWORD_LENGTH 200\n\n#define STYLE_MASK 63\n#define actual_style(style) (style & STYLE_MASK)\n\nstatic bool followsDot(Sci_PositionU pos, Accessor &styler) {\n    styler.Flush();\n    for (; pos >= 1; --pos) {\n        int style = actual_style(styler.StyleAt(pos));\n        char ch;\n        switch (style) {\n        case SCE_RB_DEFAULT:\n            ch = styler[pos];\n            if (ch == ' ' || ch == '\\t') {\n                //continue\n            } else {\n                return false;\n            }\n            break;\n\n        case SCE_RB_OPERATOR:\n            return styler[pos] == '.';\n\n        default:\n            return false;\n        }\n    }\n    return false;\n}\n\n// Forward declarations\nstatic bool keywordIsAmbiguous(const char *prevWord);\nstatic bool keywordDoStartsLoop(Sci_Position pos,\n                                Accessor &styler);\nstatic bool keywordIsModifier(const char *word,\n                              Sci_Position pos,\n                              Accessor &styler);\n\nstatic int ClassifyWordRb(Sci_PositionU start, Sci_PositionU end, WordList &keywords, Accessor &styler, char *prevWord) {\n    char s[MAX_KEYWORD_LENGTH];\n    Sci_PositionU i, j;\n    Sci_PositionU lim = end - start + 1; // num chars to copy\n    if (lim >= MAX_KEYWORD_LENGTH) {\n        lim = MAX_KEYWORD_LENGTH - 1;\n    }\n    for (i = start, j = 0; j < lim; i++, j++) {\n        s[j] = styler[i];\n    }\n    s[j] = '\\0';\n    int chAttr;\n    if (0 == strcmp(prevWord, \"class\"))\n        chAttr = SCE_RB_CLASSNAME;\n    else if (0 == strcmp(prevWord, \"module\"))\n        chAttr = SCE_RB_MODULE_NAME;\n    else if (0 == strcmp(prevWord, \"def\"))\n        chAttr = SCE_RB_DEFNAME;\n    else if (keywords.InList(s) && ((start == 0) || !followsDot(start - 1, styler))) {\n        if (keywordIsAmbiguous(s)\n                && keywordIsModifier(s, start, styler)) {\n\n            // Demoted keywords are colored as keywords,\n            // but do not affect changes in indentation.\n            //\n            // Consider the word 'if':\n            // 1. <<if test ...>> : normal\n            // 2. <<stmt if test>> : demoted\n            // 3. <<lhs = if ...>> : normal: start a new indent level\n            // 4. <<obj.if = 10>> : color as identifer, since it follows '.'\n\n            chAttr = SCE_RB_WORD_DEMOTED;\n        } else {\n            chAttr = SCE_RB_WORD;\n        }\n    } else\n        chAttr = SCE_RB_IDENTIFIER;\n    styler.ColourTo(end, chAttr);\n    if (chAttr == SCE_RB_WORD) {\n        strcpy(prevWord, s);\n    } else {\n        prevWord[0] = 0;\n    }\n    return chAttr;\n}\n\n\n//XXX Identical to Perl, put in common area\nstatic bool isMatch(Accessor &styler, Sci_Position lengthDoc, Sci_Position pos, const char *val) {\n    if ((pos + static_cast<int>(strlen(val))) >= lengthDoc) {\n        return false;\n    }\n    while (*val) {\n        if (*val != styler[pos++]) {\n            return false;\n        }\n        val++;\n    }\n    return true;\n}\n\n// Do Ruby better -- find the end of the line, work back,\n// and then check for leading white space\n\n// Precondition: the here-doc target can be indented\nstatic bool lookingAtHereDocDelim(Accessor   \t&styler,\n                                  Sci_Position \tpos,\n                                  Sci_Position \tlengthDoc,\n                                  const char   *HereDocDelim)\n{\n    if (!isMatch(styler, lengthDoc, pos, HereDocDelim)) {\n        return false;\n    }\n    while (--pos > 0) {\n        char ch = styler[pos];\n        if (isEOLChar(ch)) {\n            return true;\n        } else if (ch != ' ' && ch != '\\t') {\n            return false;\n        }\n    }\n    return false;\n}\n\n//XXX Identical to Perl, put in common area\nstatic char opposite(char ch) {\n    if (ch == '(')\n        return ')';\n    if (ch == '[')\n        return ']';\n    if (ch == '{')\n        return '}';\n    if (ch == '<')\n        return '>';\n    return ch;\n}\n\n// Null transitions when we see we've reached the end\n// and need to relex the curr char.\n\nstatic void redo_char(Sci_Position &i, char &ch, char &chNext, char &chNext2,\n                      int &state) {\n    i--;\n    chNext2 = chNext;\n    chNext = ch;\n    state = SCE_RB_DEFAULT;\n}\n\nstatic void advance_char(Sci_Position &i, char &ch, char &chNext, char &chNext2) {\n    i++;\n    ch = chNext;\n    chNext = chNext2;\n}\n\n// precondition: startPos points to one after the EOL char\nstatic bool currLineContainsHereDelims(Sci_Position &startPos,\n                                       Accessor &styler) {\n    if (startPos <= 1)\n        return false;\n\n    Sci_Position pos;\n    for (pos = startPos - 1; pos > 0; pos--) {\n        char ch = styler.SafeGetCharAt(pos);\n        if (isEOLChar(ch)) {\n            // Leave the pointers where they are -- there are no\n            // here doc delims on the current line, even if\n            // the EOL isn't default style\n\n            return false;\n        } else {\n            styler.Flush();\n            if (actual_style(styler.StyleAt(pos)) == SCE_RB_HERE_DELIM) {\n                break;\n            }\n        }\n    }\n    if (pos == 0) {\n        return false;\n    }\n    // Update the pointers so we don't have to re-analyze the string\n    startPos = pos;\n    return true;\n}\n\n// This class is used by the enter and exit methods, so it needs\n// to be hoisted out of the function.\n\nclass QuoteCls {\npublic:\n    int  Count;\n    char Up;\n    char Down;\n    QuoteCls() {\n        New();\n    }\n    void New() {\n        Count = 0;\n        Up    = '\\0';\n        Down  = '\\0';\n    }\n    void Open(char u) {\n        Count++;\n        Up    = u;\n        Down  = opposite(Up);\n    }\n    QuoteCls(const QuoteCls &q) {\n        // copy constructor -- use this for copying in\n        Count = q.Count;\n        Up    = q.Up;\n        Down  = q.Down;\n    }\n    QuoteCls &operator=(const QuoteCls &q) { // assignment constructor\n        if (this != &q) {\n            Count = q.Count;\n            Up    = q.Up;\n            Down  = q.Down;\n        }\n        return *this;\n    }\n\n};\n\n\nstatic void enterInnerExpression(int  *p_inner_string_types,\n                                 int  *p_inner_expn_brace_counts,\n                                 QuoteCls *p_inner_quotes,\n                                 int  &inner_string_count,\n                                 int  &state,\n                                 int  &brace_counts,\n                                 QuoteCls curr_quote\n                                ) {\n    p_inner_string_types[inner_string_count] = state;\n    state = SCE_RB_DEFAULT;\n    p_inner_expn_brace_counts[inner_string_count] = brace_counts;\n    brace_counts = 0;\n    p_inner_quotes[inner_string_count] = curr_quote;\n    ++inner_string_count;\n}\n\nstatic void exitInnerExpression(int *p_inner_string_types,\n                                int *p_inner_expn_brace_counts,\n                                QuoteCls *p_inner_quotes,\n                                int &inner_string_count,\n                                int &state,\n                                int  &brace_counts,\n                                QuoteCls &curr_quote\n                               ) {\n    --inner_string_count;\n    state = p_inner_string_types[inner_string_count];\n    brace_counts = p_inner_expn_brace_counts[inner_string_count];\n    curr_quote = p_inner_quotes[inner_string_count];\n}\n\nstatic bool isEmptyLine(Sci_Position pos,\n                        Accessor &styler) {\n    int spaceFlags = 0;\n    Sci_Position lineCurrent = styler.GetLine(pos);\n    int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n    return (indentCurrent & SC_FOLDLEVELWHITEFLAG) != 0;\n}\n\nstatic bool RE_CanFollowKeyword(const char *keyword) {\n    if (!strcmp(keyword, \"and\")\n            || !strcmp(keyword, \"begin\")\n            || !strcmp(keyword, \"break\")\n            || !strcmp(keyword, \"case\")\n            || !strcmp(keyword, \"do\")\n            || !strcmp(keyword, \"else\")\n            || !strcmp(keyword, \"elsif\")\n            || !strcmp(keyword, \"if\")\n            || !strcmp(keyword, \"next\")\n            || !strcmp(keyword, \"return\")\n            || !strcmp(keyword, \"when\")\n            || !strcmp(keyword, \"unless\")\n            || !strcmp(keyword, \"until\")\n            || !strcmp(keyword, \"not\")\n            || !strcmp(keyword, \"or\")) {\n        return true;\n    }\n    return false;\n}\n\n// Look at chars up to but not including endPos\n// Don't look at styles in case we're looking forward\n\nstatic Sci_Position skipWhitespace(Sci_Position startPos,\n                          Sci_Position endPos,\n                          Accessor &styler) {\n    for (Sci_Position i = startPos; i < endPos; i++) {\n        if (!iswhitespace(styler[i])) {\n            return i;\n        }\n    }\n    return endPos;\n}\n\n// This routine looks for false positives like\n// undef foo, <<\n// There aren't too many.\n//\n// iPrev points to the start of <<\n\nstatic bool sureThisIsHeredoc(Sci_Position iPrev,\n                              Accessor &styler,\n                              char *prevWord) {\n\n    // Not so fast, since Ruby's so dynamic.  Check the context\n    // to make sure we're OK.\n    int prevStyle;\n    Sci_Position lineStart = styler.GetLine(iPrev);\n    Sci_Position lineStartPosn = styler.LineStart(lineStart);\n    styler.Flush();\n\n    // Find the first word after some whitespace\n    Sci_Position firstWordPosn = skipWhitespace(lineStartPosn, iPrev, styler);\n    if (firstWordPosn >= iPrev) {\n        // Have something like {^     <<}\n        //XXX Look at the first previous non-comment non-white line\n        // to establish the context.  Not too likely though.\n        return true;\n    } else {\n        switch (prevStyle = styler.StyleAt(firstWordPosn)) {\n        case SCE_RB_WORD:\n        case SCE_RB_WORD_DEMOTED:\n        case SCE_RB_IDENTIFIER:\n            break;\n        default:\n            return true;\n        }\n    }\n    Sci_Position firstWordEndPosn = firstWordPosn;\n    char *dst = prevWord;\n    for (;;) {\n        if (firstWordEndPosn >= iPrev ||\n                styler.StyleAt(firstWordEndPosn) != prevStyle) {\n            *dst = 0;\n            break;\n        }\n        *dst++ = styler[firstWordEndPosn];\n        firstWordEndPosn += 1;\n    }\n    //XXX Write a style-aware thing to regex scintilla buffer objects\n    if (!strcmp(prevWord, \"undef\")\n            || !strcmp(prevWord, \"def\")\n            || !strcmp(prevWord, \"alias\")) {\n        // These keywords are what we were looking for\n        return false;\n    }\n    return true;\n}\n\n// Routine that saves us from allocating a buffer for the here-doc target\n// targetEndPos points one past the end of the current target\nstatic bool haveTargetMatch(Sci_Position currPos,\n                            Sci_Position lengthDoc,\n                            Sci_Position targetStartPos,\n                            Sci_Position targetEndPos,\n                            Accessor &styler) {\n    if (lengthDoc - currPos < targetEndPos - targetStartPos) {\n        return false;\n    }\n    Sci_Position i, j;\n    for (i = targetStartPos, j = currPos;\n            i < targetEndPos && j < lengthDoc;\n            i++, j++) {\n        if (styler[i] != styler[j]) {\n            return false;\n        }\n    }\n    return true;\n}\n\n// Finds the start position of the expression containing @p pos\n// @p min_pos should be a known expression start, e.g. the start of the line\nstatic Sci_Position findExpressionStart(Sci_Position pos,\n                                        Sci_Position min_pos,\n                                        Accessor &styler) {\n    int depth = 0;\n    for (; pos > min_pos; pos -= 1) {\n        int style = styler.StyleAt(pos - 1);\n        if (style == SCE_RB_OPERATOR) {\n            int ch = styler[pos - 1];\n            if (ch == '}' || ch == ')' || ch == ']') {\n                depth += 1;\n            } else if (ch == '{' || ch == '(' || ch == '[') {\n                if (depth == 0) {\n                    break;\n                } else {\n                    depth -= 1;\n                }\n            } else if (ch == ';' && depth == 0) {\n                break;\n            }\n        }\n    }\n    return pos;\n}\n\n// We need a check because the form\n// [identifier] <<[target]\n// is ambiguous.  The Ruby lexer/parser resolves it by\n// looking to see if [identifier] names a variable or a\n// function.  If it's the first, it's the start of a here-doc.\n// If it's a var, it's an operator.  This lexer doesn't\n// maintain a symbol table, so it looks ahead to see what's\n// going on, in cases where we have\n// ^[white-space]*[identifier([.|::]identifier)*][white-space]*<<[target]\n//\n// If there's no occurrence of [target] on a line, assume we don't.\n\n// return true == yes, we have no heredocs\n\nstatic bool sureThisIsNotHeredoc(Sci_Position lt2StartPos,\n                                 Accessor &styler) {\n    int prevStyle;\n    // Use full document, not just part we're styling\n    Sci_Position lengthDoc = styler.Length();\n    Sci_Position lineStart = styler.GetLine(lt2StartPos);\n    Sci_Position lineStartPosn = styler.LineStart(lineStart);\n    styler.Flush();\n    const bool definitely_not_a_here_doc = true;\n    const bool looks_like_a_here_doc = false;\n\n    // find the expression start rather than the line start\n    Sci_Position exprStartPosn = findExpressionStart(lt2StartPos, lineStartPosn, styler);\n\n    // Find the first word after some whitespace\n    Sci_Position firstWordPosn = skipWhitespace(exprStartPosn, lt2StartPos, styler);\n    if (firstWordPosn >= lt2StartPos) {\n        return definitely_not_a_here_doc;\n    }\n    prevStyle = styler.StyleAt(firstWordPosn);\n    // If we have '<<' following a keyword, it's not a heredoc\n    if (prevStyle != SCE_RB_IDENTIFIER\n            && prevStyle != SCE_RB_SYMBOL\n            && prevStyle != SCE_RB_INSTANCE_VAR\n            && prevStyle != SCE_RB_CLASS_VAR) {\n        return definitely_not_a_here_doc;\n    }\n    int newStyle = prevStyle;\n    // Some compilers incorrectly warn about uninit newStyle\n    for (firstWordPosn += 1; firstWordPosn <= lt2StartPos; firstWordPosn += 1) {\n        // Inner loop looks at the name\n        for (; firstWordPosn <= lt2StartPos; firstWordPosn += 1) {\n            newStyle = styler.StyleAt(firstWordPosn);\n            if (newStyle != prevStyle) {\n                break;\n            }\n        }\n        // Do we have '::' or '.'?\n        if (firstWordPosn < lt2StartPos && newStyle == SCE_RB_OPERATOR) {\n            char ch = styler[firstWordPosn];\n            if (ch == '.') {\n                // yes\n            } else if (ch == ':') {\n                if (styler.StyleAt(++firstWordPosn) != SCE_RB_OPERATOR) {\n                    return definitely_not_a_here_doc;\n                } else if (styler[firstWordPosn] != ':') {\n                    return definitely_not_a_here_doc;\n                }\n            } else {\n                break;\n            }\n        } else {\n            break;\n        }\n        // on second and next passes, only identifiers may appear since\n        // class and instance variable are private\n        prevStyle = SCE_RB_IDENTIFIER;\n    }\n    // Skip next batch of white-space\n    firstWordPosn = skipWhitespace(firstWordPosn, lt2StartPos, styler);\n    // possible symbol for an implicit hash argument\n    if (firstWordPosn < lt2StartPos && styler.StyleAt(firstWordPosn) == SCE_RB_SYMBOL) {\n        for (; firstWordPosn <= lt2StartPos; firstWordPosn += 1) {\n            if (styler.StyleAt(firstWordPosn) != SCE_RB_SYMBOL) {\n                break;\n            }\n        }\n        // Skip next batch of white-space\n        firstWordPosn = skipWhitespace(firstWordPosn, lt2StartPos, styler);\n    }\n    if (firstWordPosn != lt2StartPos) {\n        // Have [[^ws[identifier]ws[*something_else*]ws<<\n        return definitely_not_a_here_doc;\n    }\n    // OK, now 'j' will point to the current spot moving ahead\n    Sci_Position j = firstWordPosn + 1;\n    if (styler.StyleAt(j) != SCE_RB_OPERATOR || styler[j] != '<') {\n        // This shouldn't happen\n        return definitely_not_a_here_doc;\n    }\n    Sci_Position nextLineStartPosn = styler.LineStart(lineStart + 1);\n    if (nextLineStartPosn >= lengthDoc) {\n        return definitely_not_a_here_doc;\n    }\n    j = skipWhitespace(j + 1, nextLineStartPosn, styler);\n    if (j >= lengthDoc) {\n        return definitely_not_a_here_doc;\n    }\n    bool allow_indent;\n    Sci_Position target_start, target_end;\n    // From this point on no more styling, since we're looking ahead\n    if (styler[j] == '-') {\n        allow_indent = true;\n        j++;\n    } else {\n        allow_indent = false;\n    }\n\n    // Allow for quoted targets.\n    char target_quote = 0;\n    switch (styler[j]) {\n    case '\\'':\n    case '\"':\n    case '`':\n        target_quote = styler[j];\n        j += 1;\n    }\n\n    if (isSafeAlnum(styler[j])) {\n        // Init target_end because some compilers think it won't\n        // be initialized by the time it's used\n        target_start = target_end = j;\n        j++;\n    } else {\n        return definitely_not_a_here_doc;\n    }\n    for (; j < lengthDoc; j++) {\n        if (!isSafeAlnum(styler[j])) {\n            if (target_quote && styler[j] != target_quote) {\n                // unquoted end\n                return definitely_not_a_here_doc;\n            }\n\n            // And for now make sure that it's a newline\n            // don't handle arbitrary expressions yet\n\n            target_end = j;\n            if (target_quote) {\n                // Now we can move to the character after the string delimiter.\n                j += 1;\n            }\n            j = skipWhitespace(j, lengthDoc, styler);\n            if (j >= lengthDoc) {\n                return definitely_not_a_here_doc;\n            } else {\n                char ch = styler[j];\n                if (ch == '#' || isEOLChar(ch)) {\n                    // This is OK, so break and continue;\n                    break;\n                } else {\n                    return definitely_not_a_here_doc;\n                }\n            }\n        }\n    }\n\n    // Just look at the start of each line\n    Sci_Position last_line = styler.GetLine(lengthDoc - 1);\n    // But don't go too far\n    if (last_line > lineStart + 50) {\n        last_line = lineStart + 50;\n    }\n    for (Sci_Position line_num = lineStart + 1; line_num <= last_line; line_num++) {\n        if (allow_indent) {\n            j = skipWhitespace(styler.LineStart(line_num), lengthDoc, styler);\n        } else {\n            j = styler.LineStart(line_num);\n        }\n        // target_end is one past the end\n        if (haveTargetMatch(j, lengthDoc, target_start, target_end, styler)) {\n            // We got it\n            return looks_like_a_here_doc;\n        }\n    }\n    return definitely_not_a_here_doc;\n}\n\n//todo: if we aren't looking at a stdio character,\n// move to the start of the first line that is not in a\n// multi-line construct\n\nstatic void synchronizeDocStart(Sci_PositionU &startPos,\n                                Sci_Position &length,\n                                int &initStyle,\n                                Accessor &styler,\n                                bool skipWhiteSpace=false) {\n\n    styler.Flush();\n    int style = actual_style(styler.StyleAt(startPos));\n    switch (style) {\n    case SCE_RB_STDIN:\n    case SCE_RB_STDOUT:\n    case SCE_RB_STDERR:\n        // Don't do anything else with these.\n        return;\n    }\n\n    Sci_Position pos = startPos;\n    // Quick way to characterize each line\n    Sci_Position lineStart;\n    for (lineStart = styler.GetLine(pos); lineStart > 0; lineStart--) {\n        // Now look at the style before the previous line's EOL\n        pos = styler.LineStart(lineStart) - 1;\n        if (pos <= 10) {\n            lineStart = 0;\n            break;\n        }\n        char ch = styler.SafeGetCharAt(pos);\n        char chPrev = styler.SafeGetCharAt(pos - 1);\n        if (ch == '\\n' && chPrev == '\\r') {\n            pos--;\n        }\n        if (styler.SafeGetCharAt(pos - 1) == '\\\\') {\n            // Continuation line -- keep going\n        } else if (actual_style(styler.StyleAt(pos)) != SCE_RB_DEFAULT) {\n            // Part of multi-line construct -- keep going\n        } else if (currLineContainsHereDelims(pos, styler)) {\n            // Keep going, with pos and length now pointing\n            // at the end of the here-doc delimiter\n        } else if (skipWhiteSpace && isEmptyLine(pos, styler)) {\n            // Keep going\n        } else {\n            break;\n        }\n    }\n    pos = styler.LineStart(lineStart);\n    length += (startPos - pos);\n    startPos = pos;\n    initStyle = SCE_RB_DEFAULT;\n}\n\nstatic void ColouriseRbDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *keywordlists[], Accessor &styler) {\n\n    // Lexer for Ruby often has to backtrack to start of current style to determine\n    // which characters are being used as quotes, how deeply nested is the\n    // start position and what the termination string is for here documents\n\n    WordList &keywords = *keywordlists[0];\n\n    class HereDocCls {\n    public:\n        int State;\n        // States\n        // 0: '<<' encountered\n        // 1: collect the delimiter\n        // 1b: text between the end of the delimiter and the EOL\n        // 2: here doc text (lines after the delimiter)\n        char Quote;\t\t// the char after '<<'\n        bool Quoted;\t\t// true if Quote in ('\\'','\"','`')\n        int DelimiterLength;\t// strlen(Delimiter)\n        char Delimiter[256];\t// the Delimiter, limit of 256: from Perl\n        bool CanBeIndented;\n        HereDocCls() {\n            State = 0;\n            DelimiterLength = 0;\n            Delimiter[0] = '\\0';\n            CanBeIndented = false;\n        }\n    };\n    HereDocCls HereDoc;\n\n    QuoteCls Quote;\n\n    int numDots = 0;  // For numbers --\n    // Don't start lexing in the middle of a num\n\n    synchronizeDocStart(startPos, length, initStyle, styler, // ref args\n                        false);\n\n    bool preferRE = true;\n    int state = initStyle;\n    Sci_Position lengthDoc = startPos + length;\n\n    char prevWord[MAX_KEYWORD_LENGTH + 1]; // 1 byte for zero\n    prevWord[0] = '\\0';\n    if (length == 0)\n        return;\n\n    char chPrev = styler.SafeGetCharAt(startPos - 1);\n    char chNext = styler.SafeGetCharAt(startPos);\n    bool is_real_number = true;   // Differentiate between constants and ?-sequences.\n    styler.StartAt(startPos);\n    styler.StartSegment(startPos);\n\n    static int q_states[] = {SCE_RB_STRING_Q,\n                             SCE_RB_STRING_QQ,\n                             SCE_RB_STRING_QR,\n                             SCE_RB_STRING_QW,\n                             SCE_RB_STRING_QW,\n                             SCE_RB_STRING_QX\n                            };\n    static const char *q_chars = \"qQrwWx\";\n\n    // In most cases a value of 2 should be ample for the code in the\n    // Ruby library, and the code the user is likely to enter.\n    // For example,\n    // fu_output_message \"mkdir #{options[:mode] ? ('-m %03o ' % options[:mode]) : ''}#{list.join ' '}\"\n    //     if options[:verbose]\n    // from fileutils.rb nests to a level of 2\n    // If the user actually hits a 6th occurrence of '#{' in a double-quoted\n    // string (including regex'es, %Q, %<sym>, %w, and other strings\n    // that interpolate), it will stay as a string.  The problem with this\n    // is that quotes might flip, a 7th '#{' will look like a comment,\n    // and code-folding might be wrong.\n\n    // If anyone runs into this problem, I recommend raising this\n    // value slightly higher to replacing the fixed array with a linked\n    // list.  Keep in mind this code will be called every time the lexer\n    // is invoked.\n\n#define INNER_STRINGS_MAX_COUNT 5\n    // These vars track our instances of \"...#{,,,%Q<..#{,,,}...>,,,}...\"\n    int inner_string_types[INNER_STRINGS_MAX_COUNT];\n    // Track # braces when we push a new #{ thing\n    int inner_expn_brace_counts[INNER_STRINGS_MAX_COUNT];\n    QuoteCls inner_quotes[INNER_STRINGS_MAX_COUNT];\n    int inner_string_count = 0;\n    int brace_counts = 0;   // Number of #{ ... } things within an expression\n\n    Sci_Position i;\n    for (i = 0; i < INNER_STRINGS_MAX_COUNT; i++) {\n        inner_string_types[i] = 0;\n        inner_expn_brace_counts[i] = 0;\n    }\n    for (i = startPos; i < lengthDoc; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        char chNext2 = styler.SafeGetCharAt(i + 2);\n\n        if (styler.IsLeadByte(ch)) {\n            chNext = chNext2;\n            chPrev = ' ';\n            i += 1;\n            continue;\n        }\n\n        // skip on DOS/Windows\n        //No, don't, because some things will get tagged on,\n        // so we won't recognize keywords, for example\n#if 0\n        if (ch == '\\r' && chNext == '\\n') {\n            continue;\n        }\n#endif\n\n        if (HereDoc.State == 1 && isEOLChar(ch)) {\n            // Begin of here-doc (the line after the here-doc delimiter):\n            HereDoc.State = 2;\n            styler.ColourTo(i-1, state);\n            // Don't check for a missing quote, just jump into\n            // the here-doc state\n            state = SCE_RB_HERE_Q;\n        }\n\n        // Regular transitions\n        if (state == SCE_RB_DEFAULT) {\n            if (isSafeDigit(ch)) {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_NUMBER;\n                is_real_number = true;\n                numDots = 0;\n            } else if (isHighBitChar(ch) || iswordstart(ch)) {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_WORD;\n            } else if (ch == '#') {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_COMMENTLINE;\n            } else if (ch == '=') {\n                // =begin indicates the start of a comment (doc) block\n                if ((i == 0 || isEOLChar(chPrev))\n                        && chNext == 'b'\n                        && styler.SafeGetCharAt(i + 2) == 'e'\n                        && styler.SafeGetCharAt(i + 3) == 'g'\n                        && styler.SafeGetCharAt(i + 4) == 'i'\n                        && styler.SafeGetCharAt(i + 5) == 'n'\n                        && !isSafeWordcharOrHigh(styler.SafeGetCharAt(i + 6))) {\n                    styler.ColourTo(i - 1, state);\n                    state = SCE_RB_POD;\n                } else {\n                    styler.ColourTo(i - 1, state);\n                    styler.ColourTo(i, SCE_RB_OPERATOR);\n                    preferRE = true;\n                }\n            } else if (ch == '\"') {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_STRING;\n                Quote.New();\n                Quote.Open(ch);\n            } else if (ch == '\\'') {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_CHARACTER;\n                Quote.New();\n                Quote.Open(ch);\n            } else if (ch == '`') {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_BACKTICKS;\n                Quote.New();\n                Quote.Open(ch);\n            } else if (ch == '@') {\n                // Instance or class var\n                styler.ColourTo(i - 1, state);\n                if (chNext == '@') {\n                    state = SCE_RB_CLASS_VAR;\n                    advance_char(i, ch, chNext, chNext2); // pass by ref\n                } else {\n                    state = SCE_RB_INSTANCE_VAR;\n                }\n            } else if (ch == '$') {\n                // Check for a builtin global\n                styler.ColourTo(i - 1, state);\n                // Recognize it bit by bit\n                state = SCE_RB_GLOBAL;\n            } else if (ch == '/' && preferRE) {\n                // Ambigous operator\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_REGEX;\n                Quote.New();\n                Quote.Open(ch);\n            } else if (ch == '<' && chNext == '<' && chNext2 != '=') {\n\n                // Recognise the '<<' symbol - either a here document or a binary op\n                styler.ColourTo(i - 1, state);\n                i++;\n                chNext = chNext2;\n                styler.ColourTo(i, SCE_RB_OPERATOR);\n\n                if (!(strchr(\"\\\"\\'`_-\", chNext2) || isSafeAlpha(chNext2))) {\n                    // It's definitely not a here-doc,\n                    // based on Ruby's lexer/parser in the\n                    // heredoc_identifier routine.\n                    // Nothing else to do.\n                } else if (preferRE) {\n                    if (sureThisIsHeredoc(i - 1, styler, prevWord)) {\n                        state = SCE_RB_HERE_DELIM;\n                        HereDoc.State = 0;\n                    }\n                    // else leave it in default state\n                } else {\n                    if (sureThisIsNotHeredoc(i - 1, styler)) {\n                        // leave state as default\n                        // We don't have all the heuristics Perl has for indications\n                        // of a here-doc, because '<<' is overloadable and used\n                        // for so many other classes.\n                    } else {\n                        state = SCE_RB_HERE_DELIM;\n                        HereDoc.State = 0;\n                    }\n                }\n                preferRE = (state != SCE_RB_HERE_DELIM);\n            } else if (ch == ':') {\n                styler.ColourTo(i - 1, state);\n                if (chNext == ':') {\n                    // Mark \"::\" as an operator, not symbol start\n                    styler.ColourTo(i + 1, SCE_RB_OPERATOR);\n                    advance_char(i, ch, chNext, chNext2); // pass by ref\n                    state = SCE_RB_DEFAULT;\n                    preferRE = false;\n                } else if (isSafeWordcharOrHigh(chNext)) {\n                    state = SCE_RB_SYMBOL;\n                } else if ((chNext == '@' || chNext == '$') &&\n                           isSafeWordcharOrHigh(chNext2)) {\n                    // instance and global variable followed by an identifier\n                    advance_char(i, ch, chNext, chNext2);\n                    state = SCE_RB_SYMBOL;\n                } else if (((chNext == '@' && chNext2 == '@')  ||\n                            (chNext == '$' && chNext2 == '-')) &&\n                           isSafeWordcharOrHigh(styler.SafeGetCharAt(i+3))) {\n                    // class variables and special global variable \"$-IDENTCHAR\"\n                    state = SCE_RB_SYMBOL;\n                    // $-IDENTCHAR doesn't continue past the IDENTCHAR\n                    if (chNext == '$') {\n                        styler.ColourTo(i+3, SCE_RB_SYMBOL);\n                        state = SCE_RB_DEFAULT;\n                    }\n                    i += 3;\n                    ch = styler.SafeGetCharAt(i);\n                    chNext = styler.SafeGetCharAt(i+1);\n                } else if (chNext == '$' && strchr(\"_~*$?!@/\\\\;,.=:<>\\\"&`'+\", chNext2)) {\n                    // single-character special global variables\n                    i += 2;\n                    ch = chNext2;\n                    chNext = styler.SafeGetCharAt(i+1);\n                    styler.ColourTo(i, SCE_RB_SYMBOL);\n                    state = SCE_RB_DEFAULT;\n                } else if (strchr(\"[*!~+-*/%=<>&^|\", chNext)) {\n                    // Do the operator analysis in-line, looking ahead\n                    // Based on the table in pickaxe 2nd ed., page 339\n                    bool doColoring = true;\n                    switch (chNext) {\n                    case '[':\n                        if (chNext2 == ']') {\n                            char ch_tmp = styler.SafeGetCharAt(i + 3);\n                            if (ch_tmp == '=') {\n                                i += 3;\n                                ch = ch_tmp;\n                                chNext = styler.SafeGetCharAt(i + 1);\n                            } else {\n                                i += 2;\n                                ch = chNext2;\n                                chNext = ch_tmp;\n                            }\n                        } else {\n                            doColoring = false;\n                        }\n                        break;\n\n                    case '*':\n                        if (chNext2 == '*') {\n                            i += 2;\n                            ch = chNext2;\n                            chNext = styler.SafeGetCharAt(i + 1);\n                        } else {\n                            advance_char(i, ch, chNext, chNext2);\n                        }\n                        break;\n\n                    case '!':\n                        if (chNext2 == '=' || chNext2 == '~') {\n                            i += 2;\n                            ch = chNext2;\n                            chNext = styler.SafeGetCharAt(i + 1);\n                        } else {\n                            advance_char(i, ch, chNext, chNext2);\n                        }\n                        break;\n\n                    case '<':\n                        if (chNext2 == '<') {\n                            i += 2;\n                            ch = chNext2;\n                            chNext = styler.SafeGetCharAt(i + 1);\n                        } else if (chNext2 == '=') {\n                            char ch_tmp = styler.SafeGetCharAt(i + 3);\n                            if (ch_tmp == '>') {  // <=> operator\n                                i += 3;\n                                ch = ch_tmp;\n                                chNext = styler.SafeGetCharAt(i + 1);\n                            } else {\n                                i += 2;\n                                ch = chNext2;\n                                chNext = ch_tmp;\n                            }\n                        } else {\n                            advance_char(i, ch, chNext, chNext2);\n                        }\n                        break;\n\n                    default:\n                        // Simple one-character operators\n                        advance_char(i, ch, chNext, chNext2);\n                        break;\n                    }\n                    if (doColoring) {\n                        styler.ColourTo(i, SCE_RB_SYMBOL);\n                        state = SCE_RB_DEFAULT;\n                    }\n                } else if (!preferRE) {\n                    // Don't color symbol strings (yet)\n                    // Just color the \":\" and color rest as string\n                    styler.ColourTo(i, SCE_RB_SYMBOL);\n                    state = SCE_RB_DEFAULT;\n                } else {\n                    styler.ColourTo(i, SCE_RB_OPERATOR);\n                    state = SCE_RB_DEFAULT;\n                    preferRE = true;\n                }\n            } else if (ch == '%') {\n                styler.ColourTo(i - 1, state);\n                bool have_string = false;\n                if (strchr(q_chars, chNext) && !isSafeWordcharOrHigh(chNext2)) {\n                    Quote.New();\n                    const char *hit = strchr(q_chars, chNext);\n                    if (hit != NULL) {\n                        state = q_states[hit - q_chars];\n                        Quote.Open(chNext2);\n                        i += 2;\n                        ch = chNext2;\n                        chNext = styler.SafeGetCharAt(i + 1);\n                        have_string = true;\n                    }\n                } else if (preferRE && !isSafeWordcharOrHigh(chNext)) {\n                    // Ruby doesn't allow high bit chars here,\n                    // but the editor host might\n                    Quote.New();\n                    state = SCE_RB_STRING_QQ;\n                    Quote.Open(chNext);\n                    advance_char(i, ch, chNext, chNext2); // pass by ref\n                    have_string = true;\n                } else if (!isSafeWordcharOrHigh(chNext) && !iswhitespace(chNext) && !isEOLChar(chNext)) {\n                    // Ruby doesn't allow high bit chars here,\n                    // but the editor host might\n                    Quote.New();\n                    state = SCE_RB_STRING_QQ;\n                    Quote.Open(chNext);\n                    advance_char(i, ch, chNext, chNext2); // pass by ref\n                    have_string = true;\n                }\n                if (!have_string) {\n                    styler.ColourTo(i, SCE_RB_OPERATOR);\n                    // stay in default\n                    preferRE = true;\n                }\n            } else if (ch == '?') {\n                styler.ColourTo(i - 1, state);\n                if (iswhitespace(chNext) || chNext == '\\n' || chNext == '\\r') {\n                    styler.ColourTo(i, SCE_RB_OPERATOR);\n                } else {\n                    // It's the start of a character code escape sequence\n                    // Color it as a number.\n                    state = SCE_RB_NUMBER;\n                    is_real_number = false;\n                }\n            } else if (isoperator(ch) || ch == '.') {\n                styler.ColourTo(i - 1, state);\n                styler.ColourTo(i, SCE_RB_OPERATOR);\n                // If we're ending an expression or block,\n                // assume it ends an object, and the ambivalent\n                // constructs are binary operators\n                //\n                // So if we don't have one of these chars,\n                // we aren't ending an object exp'n, and ops\n                // like : << / are unary operators.\n\n                if (ch == '{') {\n                    ++brace_counts;\n                    preferRE = true;\n                } else if (ch == '}' && --brace_counts < 0\n                           && inner_string_count > 0) {\n                    styler.ColourTo(i, SCE_RB_OPERATOR);\n                    exitInnerExpression(inner_string_types,\n                                        inner_expn_brace_counts,\n                                        inner_quotes,\n                                        inner_string_count,\n                                        state, brace_counts, Quote);\n                } else {\n                    preferRE = (strchr(\")}].\", ch) == NULL);\n                }\n                // Stay in default state\n            } else if (isEOLChar(ch)) {\n                // Make sure it's a true line-end, with no backslash\n                if ((ch == '\\r' || (ch == '\\n' && chPrev != '\\r'))\n                        && chPrev != '\\\\') {\n                    // Assume we've hit the end of the statement.\n                    preferRE = true;\n                }\n            }\n        } else if (state == SCE_RB_WORD) {\n            if (ch == '.' || !isSafeWordcharOrHigh(ch)) {\n                // Words include x? in all contexts,\n                // and <letters>= after either 'def' or a dot\n                // Move along until a complete word is on our left\n\n                // Default accessor treats '.' as word-chars,\n                // but we don't for now.\n\n                if (ch == '='\n                        && isSafeWordcharOrHigh(chPrev)\n                        && (chNext == '('\n                            || strchr(\" \\t\\n\\r\", chNext) != NULL)\n                        && (!strcmp(prevWord, \"def\")\n                            || followsDot(styler.GetStartSegment(), styler))) {\n                    // <name>= is a name only when being def'd -- Get it the next time\n                    // This means that <name>=<name> is always lexed as\n                    // <name>, (op, =), <name>\n                } else if (ch == ':'\n                           && isSafeWordcharOrHigh(chPrev)\n                           && strchr(\" \\t\\n\\r\", chNext) != NULL) {\n                    state = SCE_RB_SYMBOL;\n                } else if ((ch == '?' || ch == '!')\n                           && isSafeWordcharOrHigh(chPrev)\n                           && !isSafeWordcharOrHigh(chNext)) {\n                    // <name>? is a name -- Get it the next time\n                    // But <name>?<name> is always lexed as\n                    // <name>, (op, ?), <name>\n                    // Same with <name>! to indicate a method that\n                    // modifies its target\n                } else if (isEOLChar(ch)\n                           && isMatch(styler, lengthDoc, i - 7, \"__END__\")) {\n                    styler.ColourTo(i, SCE_RB_DATASECTION);\n                    state = SCE_RB_DATASECTION;\n                    // No need to handle this state -- we'll just move to the end\n                    preferRE = false;\n                } else {\n                    Sci_Position wordStartPos = styler.GetStartSegment();\n                    int word_style = ClassifyWordRb(wordStartPos, i - 1, keywords, styler, prevWord);\n                    switch (word_style) {\n                    case SCE_RB_WORD:\n                        preferRE = RE_CanFollowKeyword(prevWord);\n                        break;\n\n                    case SCE_RB_WORD_DEMOTED:\n                        preferRE = true;\n                        break;\n\n                    case SCE_RB_IDENTIFIER:\n                        if (isMatch(styler, lengthDoc, wordStartPos, \"print\")) {\n                            preferRE = true;\n                        } else if (isEOLChar(ch)) {\n                            preferRE = true;\n                        } else {\n                            preferRE = false;\n                        }\n                        break;\n                    default:\n                        preferRE = false;\n                    }\n                    if (ch == '.') {\n                        // We might be redefining an operator-method\n                        preferRE = false;\n                    }\n                    // And if it's the first\n                    redo_char(i, ch, chNext, chNext2, state); // pass by ref\n                }\n            }\n        } else if (state == SCE_RB_NUMBER) {\n            if (!is_real_number) {\n                if (ch != '\\\\') {\n                    styler.ColourTo(i, state);\n                    state = SCE_RB_DEFAULT;\n                    preferRE = false;\n                } else if (strchr(\"\\\\ntrfvaebs\", chNext)) {\n                    // Terminal escape sequence -- handle it next time\n                    // Nothing more to do this time through the loop\n                } else if (chNext == 'C' || chNext == 'M') {\n                    if (chNext2 != '-') {\n                        // \\C or \\M ends the sequence -- handle it next time\n                    } else {\n                        // Move from abc?\\C-x\n                        //               ^\n                        // to\n                        //                 ^\n                        i += 2;\n                        ch = chNext2;\n                        chNext = styler.SafeGetCharAt(i + 1);\n                    }\n                } else if (chNext == 'c') {\n                    // Stay here, \\c is a combining sequence\n                    advance_char(i, ch, chNext, chNext2); // pass by ref\n                } else {\n                    // ?\\x, including ?\\\\ is final.\n                    styler.ColourTo(i + 1, state);\n                    state = SCE_RB_DEFAULT;\n                    preferRE = false;\n                    advance_char(i, ch, chNext, chNext2);\n                }\n            } else if (isSafeAlnumOrHigh(ch) || ch == '_') {\n                // Keep going\n            } else if (ch == '.' && chNext == '.') {\n                ++numDots;\n                styler.ColourTo(i - 1, state);\n                redo_char(i, ch, chNext, chNext2, state); // pass by ref\n            } else if (ch == '.' && ++numDots == 1) {\n                // Keep going\n            } else {\n                styler.ColourTo(i - 1, state);\n                redo_char(i, ch, chNext, chNext2, state); // pass by ref\n                preferRE = false;\n            }\n        } else if (state == SCE_RB_COMMENTLINE) {\n            if (isEOLChar(ch)) {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_DEFAULT;\n                // Use whatever setting we had going into the comment\n            }\n        } else if (state == SCE_RB_HERE_DELIM) {\n            // See the comment for SCE_RB_HERE_DELIM in LexPerl.cxx\n            // Slightly different: if we find an immediate '-',\n            // the target can appear indented.\n\n            if (HereDoc.State == 0) { // '<<' encountered\n                HereDoc.State = 1;\n                HereDoc.DelimiterLength = 0;\n                if (ch == '-') {\n                    HereDoc.CanBeIndented = true;\n                    advance_char(i, ch, chNext, chNext2); // pass by ref\n                } else {\n                    HereDoc.CanBeIndented = false;\n                }\n                if (isEOLChar(ch)) {\n                    // Bail out of doing a here doc if there's no target\n                    state = SCE_RB_DEFAULT;\n                    preferRE = false;\n                } else {\n                    HereDoc.Quote = ch;\n\n                    if (ch == '\\'' || ch == '\"' || ch == '`') {\n                        HereDoc.Quoted = true;\n                        HereDoc.Delimiter[0] = '\\0';\n                    } else {\n                        HereDoc.Quoted = false;\n                        HereDoc.Delimiter[0] = ch;\n                        HereDoc.Delimiter[1] = '\\0';\n                        HereDoc.DelimiterLength = 1;\n                    }\n                }\n            } else if (HereDoc.State == 1) { // collect the delimiter\n                if (isEOLChar(ch)) {\n                    // End the quote now, and go back for more\n                    styler.ColourTo(i - 1, state);\n                    state = SCE_RB_DEFAULT;\n                    i--;\n                    chNext = ch;\n                    preferRE = false;\n                } else if (HereDoc.Quoted) {\n                    if (ch == HereDoc.Quote) { // closing quote => end of delimiter\n                        styler.ColourTo(i, state);\n                        state = SCE_RB_DEFAULT;\n                        preferRE = false;\n                    } else {\n                        if (ch == '\\\\' && !isEOLChar(chNext)) {\n                            advance_char(i, ch, chNext, chNext2);\n                        }\n                        HereDoc.Delimiter[HereDoc.DelimiterLength++] = ch;\n                        HereDoc.Delimiter[HereDoc.DelimiterLength] = '\\0';\n                    }\n                } else { // an unquoted here-doc delimiter\n                    if (isSafeAlnumOrHigh(ch) || ch == '_') {\n                        HereDoc.Delimiter[HereDoc.DelimiterLength++] = ch;\n                        HereDoc.Delimiter[HereDoc.DelimiterLength] = '\\0';\n                    } else {\n                        styler.ColourTo(i - 1, state);\n                        redo_char(i, ch, chNext, chNext2, state);\n                        preferRE = false;\n                    }\n                }\n                if (HereDoc.DelimiterLength >= static_cast<int>(sizeof(HereDoc.Delimiter)) - 1) {\n                    styler.ColourTo(i - 1, state);\n                    state = SCE_RB_ERROR;\n                    preferRE = false;\n                }\n            }\n        } else if (state == SCE_RB_HERE_Q) {\n            // Not needed: HereDoc.State == 2\n            // Indentable here docs: look backwards\n            // Non-indentable: look forwards, like in Perl\n            //\n            // Why: so we can quickly resolve things like <<-\" abc\"\n\n            if (!HereDoc.CanBeIndented) {\n                if (isEOLChar(chPrev)\n                        && isMatch(styler, lengthDoc, i, HereDoc.Delimiter)) {\n                    styler.ColourTo(i - 1, state);\n                    i += HereDoc.DelimiterLength - 1;\n                    chNext = styler.SafeGetCharAt(i + 1);\n                    if (isEOLChar(chNext)) {\n                        styler.ColourTo(i, SCE_RB_HERE_DELIM);\n                        state = SCE_RB_DEFAULT;\n                        HereDoc.State = 0;\n                        preferRE = false;\n                    }\n                    // Otherwise we skipped through the here doc faster.\n                }\n            } else if (isEOLChar(chNext)\n                       && lookingAtHereDocDelim(styler,\n                                                i - HereDoc.DelimiterLength + 1,\n                                                lengthDoc,\n                                                HereDoc.Delimiter)) {\n                styler.ColourTo(i - 1 - HereDoc.DelimiterLength, state);\n                styler.ColourTo(i, SCE_RB_HERE_DELIM);\n                state = SCE_RB_DEFAULT;\n                preferRE = false;\n                HereDoc.State = 0;\n            }\n        } else if (state == SCE_RB_CLASS_VAR\n                   || state == SCE_RB_INSTANCE_VAR\n                   || state == SCE_RB_SYMBOL) {\n            if (state == SCE_RB_SYMBOL &&\n                    // FIDs suffices '?' and '!'\n                    (((ch == '!' || ch == '?') && chNext != '=') ||\n                     // identifier suffix '='\n                     (ch == '=' && (chNext != '~' && chNext != '>' &&\n                                    (chNext != '=' || chNext2 == '>'))))) {\n                styler.ColourTo(i, state);\n                state = SCE_RB_DEFAULT;\n                preferRE = false;\n            } else if (!isSafeWordcharOrHigh(ch)) {\n                styler.ColourTo(i - 1, state);\n                redo_char(i, ch, chNext, chNext2, state); // pass by ref\n                preferRE = false;\n            }\n        } else if (state == SCE_RB_GLOBAL) {\n            if (!isSafeWordcharOrHigh(ch)) {\n                // handle special globals here as well\n                if (chPrev == '$') {\n                    if (ch == '-') {\n                        // Include the next char, like $-a\n                        advance_char(i, ch, chNext, chNext2);\n                    }\n                    styler.ColourTo(i, state);\n                    state = SCE_RB_DEFAULT;\n                } else {\n                    styler.ColourTo(i - 1, state);\n                    redo_char(i, ch, chNext, chNext2, state); // pass by ref\n                }\n                preferRE = false;\n            }\n        } else if (state == SCE_RB_POD) {\n            // PODs end with ^=end\\s, -- any whitespace can follow =end\n            if (strchr(\" \\t\\n\\r\", ch) != NULL\n                    && i > 5\n                    && isEOLChar(styler[i - 5])\n                    && isMatch(styler, lengthDoc, i - 4, \"=end\")) {\n                styler.ColourTo(i - 1, state);\n                state = SCE_RB_DEFAULT;\n                preferRE = false;\n            }\n        } else if (state == SCE_RB_REGEX || state == SCE_RB_STRING_QR) {\n            if (ch == '\\\\' && Quote.Up != '\\\\') {\n                // Skip one\n                advance_char(i, ch, chNext, chNext2);\n            } else if (ch == Quote.Down) {\n                Quote.Count--;\n                if (Quote.Count == 0) {\n                    // Include the options\n                    while (isSafeAlpha(chNext)) {\n                        i++;\n                        ch = chNext;\n                        chNext = styler.SafeGetCharAt(i + 1);\n                    }\n                    styler.ColourTo(i, state);\n                    state = SCE_RB_DEFAULT;\n                    preferRE = false;\n                }\n            } else if (ch == Quote.Up) {\n                // Only if close quoter != open quoter\n                Quote.Count++;\n\n            } else if (ch == '#') {\n                if (chNext == '{'\n                        && inner_string_count < INNER_STRINGS_MAX_COUNT) {\n                    // process #{ ... }\n                    styler.ColourTo(i - 1, state);\n                    styler.ColourTo(i + 1, SCE_RB_OPERATOR);\n                    enterInnerExpression(inner_string_types,\n                                         inner_expn_brace_counts,\n                                         inner_quotes,\n                                         inner_string_count,\n                                         state,\n                                         brace_counts,\n                                         Quote);\n                    preferRE = true;\n                    // Skip one\n                    advance_char(i, ch, chNext, chNext2);\n                } else {\n                    //todo: distinguish comments from pound chars\n                    // for now, handle as comment\n                    styler.ColourTo(i - 1, state);\n                    bool inEscape = false;\n                    while (++i < lengthDoc) {\n                        ch = styler.SafeGetCharAt(i);\n                        if (ch == '\\\\') {\n                            inEscape = true;\n                        } else if (isEOLChar(ch)) {\n                            // Comment inside a regex\n                            styler.ColourTo(i - 1, SCE_RB_COMMENTLINE);\n                            break;\n                        } else if (inEscape) {\n                            inEscape = false;  // don't look at char\n                        } else if (ch == Quote.Down) {\n                            // Have the regular handler deal with this\n                            // to get trailing modifiers.\n                            i--;\n                            ch = styler[i];\n                            break;\n                        }\n                    }\n                    chNext = styler.SafeGetCharAt(i + 1);\n                }\n            }\n            // Quotes of all kinds...\n        } else if (state == SCE_RB_STRING_Q || state == SCE_RB_STRING_QQ ||\n                   state == SCE_RB_STRING_QX || state == SCE_RB_STRING_QW ||\n                   state == SCE_RB_STRING || state == SCE_RB_CHARACTER ||\n                   state == SCE_RB_BACKTICKS) {\n            if (!Quote.Down && !isspacechar(ch)) {\n                Quote.Open(ch);\n            } else if (ch == '\\\\' && Quote.Up != '\\\\') {\n                //Riddle me this: Is it safe to skip *every* escaped char?\n                advance_char(i, ch, chNext, chNext2);\n            } else if (ch == Quote.Down) {\n                Quote.Count--;\n                if (Quote.Count == 0) {\n                    styler.ColourTo(i, state);\n                    state = SCE_RB_DEFAULT;\n                    preferRE = false;\n                }\n            } else if (ch == Quote.Up) {\n                Quote.Count++;\n            } else if (ch == '#' && chNext == '{'\n                       && inner_string_count < INNER_STRINGS_MAX_COUNT\n                       && state != SCE_RB_CHARACTER\n                       && state != SCE_RB_STRING_Q) {\n                // process #{ ... }\n                styler.ColourTo(i - 1, state);\n                styler.ColourTo(i + 1, SCE_RB_OPERATOR);\n                enterInnerExpression(inner_string_types,\n                                     inner_expn_brace_counts,\n                                     inner_quotes,\n                                     inner_string_count,\n                                     state,\n                                     brace_counts,\n                                     Quote);\n                preferRE = true;\n                // Skip one\n                advance_char(i, ch, chNext, chNext2);\n            }\n        }\n\n        if (state == SCE_RB_ERROR) {\n            break;\n        }\n        chPrev = ch;\n    }\n    if (state == SCE_RB_WORD) {\n        // We've ended on a word, possibly at EOF, and need to\n        // classify it.\n        (void) ClassifyWordRb(styler.GetStartSegment(), lengthDoc - 1, keywords, styler, prevWord);\n    } else {\n        styler.ColourTo(lengthDoc - 1, state);\n    }\n}\n\n// Helper functions for folding, disambiguation keywords\n// Assert that there are no high-bit chars\n\nstatic void getPrevWord(Sci_Position pos,\n                        char *prevWord,\n                        Accessor &styler,\n                        int word_state)\n{\n    Sci_Position i;\n    styler.Flush();\n    for (i = pos - 1; i > 0; i--) {\n        if (actual_style(styler.StyleAt(i)) != word_state) {\n            i++;\n            break;\n        }\n    }\n    if (i < pos - MAX_KEYWORD_LENGTH) // overflow\n        i = pos - MAX_KEYWORD_LENGTH;\n    char *dst = prevWord;\n    for (; i <= pos; i++) {\n        *dst++ = styler[i];\n    }\n    *dst = 0;\n}\n\nstatic bool keywordIsAmbiguous(const char *prevWord)\n{\n    // Order from most likely used to least likely\n    // Lots of ways to do a loop in Ruby besides 'while/until'\n    if (!strcmp(prevWord, \"if\")\n            || !strcmp(prevWord, \"do\")\n            || !strcmp(prevWord, \"while\")\n            || !strcmp(prevWord, \"unless\")\n            || !strcmp(prevWord, \"until\")\n            || !strcmp(prevWord, \"for\")) {\n        return true;\n    } else {\n        return false;\n    }\n}\n\n// Demote keywords in the following conditions:\n// if, while, unless, until modify a statement\n// do after a while or until, as a noise word (like then after if)\n\nstatic bool keywordIsModifier(const char *word,\n                              Sci_Position pos,\n                              Accessor &styler)\n{\n    if (word[0] == 'd' && word[1] == 'o' && !word[2]) {\n        return keywordDoStartsLoop(pos, styler);\n    }\n    char ch, chPrev, chPrev2;\n    int style = SCE_RB_DEFAULT;\n    Sci_Position lineStart = styler.GetLine(pos);\n    Sci_Position lineStartPosn = styler.LineStart(lineStart);\n    // We want to step backwards until we don't care about the current\n    // position. But first move lineStartPosn back behind any\n    // continuations immediately above word.\n    while (lineStartPosn > 0) {\n        ch = styler[lineStartPosn-1];\n        if (ch == '\\n' || ch == '\\r') {\n            chPrev  = styler.SafeGetCharAt(lineStartPosn-2);\n            chPrev2 = styler.SafeGetCharAt(lineStartPosn-3);\n            lineStart = styler.GetLine(lineStartPosn-1);\n            // If we find a continuation line, include it in our analysis.\n            if (chPrev == '\\\\') {\n                lineStartPosn = styler.LineStart(lineStart);\n            } else if (ch == '\\n' && chPrev == '\\r' && chPrev2 == '\\\\') {\n                lineStartPosn = styler.LineStart(lineStart);\n            } else {\n                break;\n            }\n        } else {\n            break;\n        }\n    }\n\n    styler.Flush();\n    while (--pos >= lineStartPosn) {\n        style = actual_style(styler.StyleAt(pos));\n        if (style == SCE_RB_DEFAULT) {\n            if (iswhitespace(ch = styler[pos])) {\n                //continue\n            } else if (ch == '\\r' || ch == '\\n') {\n                // Scintilla's LineStart() and GetLine() routines aren't\n                // platform-independent, so if we have text prepared with\n                // a different system we can't rely on it.\n\n                // Also, lineStartPosn may have been moved to more than one\n                // line above word's line while pushing past continuations.\n                chPrev = styler.SafeGetCharAt(pos - 1);\n                chPrev2 = styler.SafeGetCharAt(pos - 2);\n                if (chPrev == '\\\\') {\n                    pos-=1;  // gloss over the \"\\\\\"\n                    //continue\n                } else if (ch == '\\n' && chPrev == '\\r' && chPrev2 == '\\\\') {\n                    pos-=2;  // gloss over the \"\\\\\\r\"\n                    //continue\n                } else {\n                    return false;\n                }\n            }\n        } else {\n            break;\n        }\n    }\n    if (pos < lineStartPosn) {\n        return false;\n    }\n    // First things where the action is unambiguous\n    switch (style) {\n    case SCE_RB_DEFAULT:\n    case SCE_RB_COMMENTLINE:\n    case SCE_RB_POD:\n    case SCE_RB_CLASSNAME:\n    case SCE_RB_DEFNAME:\n    case SCE_RB_MODULE_NAME:\n        return false;\n    case SCE_RB_OPERATOR:\n        break;\n    case SCE_RB_WORD:\n        // Watch out for uses of 'else if'\n        //XXX: Make a list of other keywords where 'if' isn't a modifier\n        //     and can appear legitimately\n        // Formulate this to avoid warnings from most compilers\n        if (strcmp(word, \"if\") == 0) {\n            char prevWord[MAX_KEYWORD_LENGTH + 1];\n            getPrevWord(pos, prevWord, styler, SCE_RB_WORD);\n            return strcmp(prevWord, \"else\") != 0;\n        }\n        return true;\n    default:\n        return true;\n    }\n    // Assume that if the keyword follows an operator,\n    // usually it's a block assignment, like\n    // a << if x then y else z\n\n    ch = styler[pos];\n    switch (ch) {\n    case ')':\n    case ']':\n    case '}':\n        return true;\n    default:\n        return false;\n    }\n}\n\n#define WHILE_BACKWARDS \"elihw\"\n#define UNTIL_BACKWARDS \"litnu\"\n#define FOR_BACKWARDS \"rof\"\n\n// Nothing fancy -- look to see if we follow a while/until somewhere\n// on the current line\n\nstatic bool keywordDoStartsLoop(Sci_Position pos,\n                                Accessor &styler)\n{\n    char ch;\n    int style;\n    Sci_Position lineStart = styler.GetLine(pos);\n    Sci_Position lineStartPosn = styler.LineStart(lineStart);\n    styler.Flush();\n    while (--pos >= lineStartPosn) {\n        style = actual_style(styler.StyleAt(pos));\n        if (style == SCE_RB_DEFAULT) {\n            if ((ch = styler[pos]) == '\\r' || ch == '\\n') {\n                // Scintilla's LineStart() and GetLine() routines aren't\n                // platform-independent, so if we have text prepared with\n                // a different system we can't rely on it.\n                return false;\n            }\n        } else if (style == SCE_RB_WORD) {\n            // Check for while or until, but write the word in backwards\n            char prevWord[MAX_KEYWORD_LENGTH + 1]; // 1 byte for zero\n            char *dst = prevWord;\n            int wordLen = 0;\n            Sci_Position start_word;\n            for (start_word = pos;\n                    start_word >= lineStartPosn && actual_style(styler.StyleAt(start_word)) == SCE_RB_WORD;\n                    start_word--) {\n                if (++wordLen < MAX_KEYWORD_LENGTH) {\n                    *dst++ = styler[start_word];\n                }\n            }\n            *dst = 0;\n            // Did we see our keyword?\n            if (!strcmp(prevWord, WHILE_BACKWARDS)\n                    || !strcmp(prevWord, UNTIL_BACKWARDS)\n                    || !strcmp(prevWord, FOR_BACKWARDS)) {\n                return true;\n            }\n            // We can move pos to the beginning of the keyword, and then\n            // accept another decrement, as we can never have two contiguous\n            // keywords:\n            // word1 word2\n            //           ^\n            //        <-  move to start_word\n            //      ^\n            //      <- loop decrement\n            //     ^  # pointing to end of word1 is fine\n            pos = start_word;\n        }\n    }\n    return false;\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n    Sci_Position pos = styler.LineStart(line);\n    Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n    for (Sci_Position i = pos; i < eol_pos; i++) {\n        char ch = styler[i];\n        if (ch == '#')\n            return true;\n        else if (ch != ' ' && ch != '\\t')\n            return false;\n    }\n    return false;\n}\n\n/*\n *  Folding Ruby\n *\n *  The language is quite complex to analyze without a full parse.\n *  For example, this line shouldn't affect fold level:\n *\n *   print \"hello\" if feeling_friendly?\n *\n *  Neither should this:\n *\n *   print \"hello\" \\\n *      if feeling_friendly?\n *\n *\n *  But this should:\n *\n *   if feeling_friendly?  #++\n *     print \"hello\" \\\n *     print \"goodbye\"\n *   end                   #--\n *\n *  So we cheat, by actually looking at the existing indentation\n *  levels for each line, and just echoing it back.  Like Python.\n *  Then if we get better at it, we'll take braces into consideration,\n *  which always affect folding levels.\n\n *  How the keywords should work:\n *  No effect:\n *  __FILE__ __LINE__ BEGIN END alias and\n *  defined? false in nil not or self super then\n *  true undef\n\n *  Always increment:\n *  begin  class def do for module when {\n *\n *  Always decrement:\n *  end }\n *\n *  Increment if these start a statement\n *  if unless until while -- do nothing if they're modifiers\n\n *  These end a block if there's no modifier, but don't bother\n *  break next redo retry return yield\n *\n *  These temporarily de-indent, but re-indent\n *  case else elsif ensure rescue\n *\n *  This means that the folder reflects indentation rather\n *  than setting it.  The language-service updates indentation\n *  when users type return and finishes entering de-denters.\n *\n *  Later offer to fold POD, here-docs, strings, and blocks of comments\n */\n\nstatic void FoldRbDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                      WordList *[], Accessor &styler) {\n    const bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    bool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\n    synchronizeDocStart(startPos, length, initStyle, styler, // ref args\n                        false);\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelPrev = startPos == 0 ? 0 : (styler.LevelAt(lineCurrent)\n                                         & SC_FOLDLEVELNUMBERMASK\n                                         & ~SC_FOLDLEVELBASE);\n    int levelCurrent = levelPrev;\n    char chNext = styler[startPos];\n    int styleNext = styler.StyleAt(startPos);\n    int stylePrev = startPos <= 1 ? SCE_RB_DEFAULT : styler.StyleAt(startPos - 1);\n    bool buffer_ends_with_eol = false;\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        int style = styleNext;\n        styleNext = styler.StyleAt(i + 1);\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n        /*Mutiline comment patch*/\n        if (foldComment && atEOL && IsCommentLine(lineCurrent, styler)) {\n            if (!IsCommentLine(lineCurrent - 1, styler)\n                    && IsCommentLine(lineCurrent + 1, styler))\n                levelCurrent++;\n            else if (IsCommentLine(lineCurrent - 1, styler)\n                     && !IsCommentLine(lineCurrent + 1, styler))\n                levelCurrent--;\n        }\n\n        if (style == SCE_RB_COMMENTLINE) {\n            if (foldComment && stylePrev != SCE_RB_COMMENTLINE) {\n                if (chNext == '{') {\n                    levelCurrent++;\n                } else if (chNext == '}' && levelCurrent > 0) {\n                    levelCurrent--;\n                }\n            }\n        } else if (style == SCE_RB_OPERATOR) {\n            if (strchr(\"[{(\", ch)) {\n                levelCurrent++;\n            } else if (strchr(\")}]\", ch)) {\n                // Don't decrement below 0\n                if (levelCurrent > 0)\n                    levelCurrent--;\n            }\n        } else if (style == SCE_RB_WORD && styleNext != SCE_RB_WORD) {\n            // Look at the keyword on the left and decide what to do\n            char prevWord[MAX_KEYWORD_LENGTH + 1]; // 1 byte for zero\n            prevWord[0] = 0;\n            getPrevWord(i, prevWord, styler, SCE_RB_WORD);\n            if (!strcmp(prevWord, \"end\")) {\n                // Don't decrement below 0\n                if (levelCurrent > 0)\n                    levelCurrent--;\n            } else if (!strcmp(prevWord, \"if\")\n                       || !strcmp(prevWord, \"def\")\n                       || !strcmp(prevWord, \"class\")\n                       || !strcmp(prevWord, \"module\")\n                       || !strcmp(prevWord, \"begin\")\n                       || !strcmp(prevWord, \"case\")\n                       || !strcmp(prevWord, \"do\")\n                       || !strcmp(prevWord, \"while\")\n                       || !strcmp(prevWord, \"unless\")\n                       || !strcmp(prevWord, \"until\")\n                       || !strcmp(prevWord, \"for\")\n                      ) {\n                levelCurrent++;\n            }\n        } else if (style == SCE_RB_HERE_DELIM) {\n            if (styler.SafeGetCharAt(i-2) == '<' && styler.SafeGetCharAt(i-1) == '<') {\n                levelCurrent++;\n            } else if (styleNext == SCE_RB_DEFAULT) {\n                levelCurrent--;\n            }\n        }\n        if (atEOL) {\n            int lev = levelPrev;\n            if (visibleChars == 0 && foldCompact)\n                lev |= SC_FOLDLEVELWHITEFLAG;\n            if ((levelCurrent > levelPrev) && (visibleChars > 0))\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            styler.SetLevel(lineCurrent, lev|SC_FOLDLEVELBASE);\n            lineCurrent++;\n            levelPrev = levelCurrent;\n            visibleChars = 0;\n            buffer_ends_with_eol = true;\n        } else if (!isspacechar(ch)) {\n            visibleChars++;\n            buffer_ends_with_eol = false;\n        }\n        stylePrev = style;\n    }\n    // Fill in the real level of the next line, keeping the current flags as they will be filled in later\n    if (!buffer_ends_with_eol) {\n        lineCurrent++;\n        int new_lev = levelCurrent;\n        if (visibleChars == 0 && foldCompact)\n            new_lev |= SC_FOLDLEVELWHITEFLAG;\n        if ((levelCurrent > levelPrev) && (visibleChars > 0))\n            new_lev |= SC_FOLDLEVELHEADERFLAG;\n        levelCurrent = new_lev;\n    }\n    styler.SetLevel(lineCurrent, levelCurrent|SC_FOLDLEVELBASE);\n}\n\nstatic const char *const rubyWordListDesc[] = {\n    \"Keywords\",\n    0\n};\n\nLexerModule lmRuby(SCLEX_RUBY, ColouriseRbDoc, \"ruby\", FoldRbDoc, rubyWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexRust.cpp",
    "content": "/** @file LexRust.cxx\n ** Lexer for Rust.\n **\n ** Copyright (c) 2013 by SiegeLord <slabode@aim.com>\n ** Converted to lexer object and added further folding features/properties by \"Udo Lechner\" <dlchnr(at)gmx(dot)net>\n **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <map>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nstatic const int NUM_RUST_KEYWORD_LISTS = 7;\nstatic const int MAX_RUST_IDENT_CHARS = 1023;\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_RUST_COMMENTBLOCK ||\n\t\t   style == SCE_RUST_COMMENTBLOCKDOC;\n}\n\n// Options used for LexerRust\nstruct OptionsRust {\n\tbool fold;\n\tbool foldSyntaxBased;\n\tbool foldComment;\n\tbool foldCommentMultiline;\n\tbool foldCommentExplicit;\n\tstd::string foldExplicitStart;\n\tstd::string foldExplicitEnd;\n\tbool foldExplicitAnywhere;\n\tbool foldCompact;\n\tint  foldAtElseInt;\n\tbool foldAtElse;\n\tOptionsRust() {\n\t\tfold = false;\n\t\tfoldSyntaxBased = true;\n\t\tfoldComment = false;\n\t\tfoldCommentMultiline = true;\n\t\tfoldCommentExplicit = true;\n\t\tfoldExplicitStart = \"\";\n\t\tfoldExplicitEnd   = \"\";\n\t\tfoldExplicitAnywhere = false;\n\t\tfoldCompact = true;\n\t\tfoldAtElseInt = -1;\n\t\tfoldAtElse = false;\n\t}\n};\n\nstatic const char * const rustWordLists[NUM_RUST_KEYWORD_LISTS + 1] = {\n\t\t\t\"Primary keywords and identifiers\",\n\t\t\t\"Built in types\",\n\t\t\t\"Other keywords\",\n\t\t\t\"Keywords 4\",\n\t\t\t\"Keywords 5\",\n\t\t\t\"Keywords 6\",\n\t\t\t\"Keywords 7\",\n\t\t\t0,\n\t\t};\n\nstruct OptionSetRust : public OptionSet<OptionsRust> {\n\tOptionSetRust() {\n\t\tDefineProperty(\"fold\", &OptionsRust::fold);\n\n\t\tDefineProperty(\"fold.comment\", &OptionsRust::foldComment);\n\n\t\tDefineProperty(\"fold.compact\", &OptionsRust::foldCompact);\n\n\t\tDefineProperty(\"fold.at.else\", &OptionsRust::foldAtElse);\n\n\t\tDefineProperty(\"fold.rust.syntax.based\", &OptionsRust::foldSyntaxBased,\n\t\t\t\"Set this property to 0 to disable syntax based folding.\");\n\n\t\tDefineProperty(\"fold.rust.comment.multiline\", &OptionsRust::foldCommentMultiline,\n\t\t\t\"Set this property to 0 to disable folding multi-line comments when fold.comment=1.\");\n\n\t\tDefineProperty(\"fold.rust.comment.explicit\", &OptionsRust::foldCommentExplicit,\n\t\t\t\"Set this property to 0 to disable folding explicit fold points when fold.comment=1.\");\n\n\t\tDefineProperty(\"fold.rust.explicit.start\", &OptionsRust::foldExplicitStart,\n\t\t\t\"The string to use for explicit fold start points, replacing the standard //{.\");\n\n\t\tDefineProperty(\"fold.rust.explicit.end\", &OptionsRust::foldExplicitEnd,\n\t\t\t\"The string to use for explicit fold end points, replacing the standard //}.\");\n\n\t\tDefineProperty(\"fold.rust.explicit.anywhere\", &OptionsRust::foldExplicitAnywhere,\n\t\t\t\"Set this property to 1 to enable explicit fold points anywhere, not just in line comments.\");\n\n\t\tDefineProperty(\"lexer.rust.fold.at.else\", &OptionsRust::foldAtElseInt,\n\t\t\t\"This option enables Rust folding on a \\\"} else {\\\" line of an if statement.\");\n\n\t\tDefineWordListSets(rustWordLists);\n\t}\n};\n\nclass LexerRust : public DefaultLexer {\n\tWordList keywords[NUM_RUST_KEYWORD_LISTS];\n\tOptionsRust options;\n\tOptionSetRust osRust;\npublic:\n\tvirtual ~LexerRust() {\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvOriginal;\n\t}\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osRust.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osRust.PropertyType(name);\n\t}\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osRust.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osRust.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\tstatic ILexer *LexerFactoryRust() {\n\t\treturn new LexerRust();\n\t}\n};\n\nSci_Position SCI_METHOD LexerRust::PropertySet(const char *key, const char *val) {\n\tif (osRust.PropertySet(&options, key, val)) {\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerRust::WordListSet(int n, const char *wl) {\n\tSci_Position firstModification = -1;\n\tif (n < NUM_RUST_KEYWORD_LISTS) {\n\t\tWordList *wordListN = &keywords[n];\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nstatic bool IsWhitespace(int c) {\n    return c == ' ' || c == '\\t' || c == '\\r' || c == '\\n';\n}\n\n/* This isn't quite right for Unicode identifiers */\nstatic bool IsIdentifierStart(int ch) {\n\treturn (IsASCII(ch) && (isalpha(ch) || ch == '_')) || !IsASCII(ch);\n}\n\n/* This isn't quite right for Unicode identifiers */\nstatic bool IsIdentifierContinue(int ch) {\n\treturn (IsASCII(ch) && (isalnum(ch) || ch == '_')) || !IsASCII(ch);\n}\n\nstatic void ScanWhitespace(Accessor& styler, Sci_Position& pos, Sci_Position max) {\n\twhile (IsWhitespace(styler.SafeGetCharAt(pos, '\\0')) && pos < max) {\n\t\tif (pos == styler.LineEnd(styler.GetLine(pos)))\n\t\t\tstyler.SetLineState(styler.GetLine(pos), 0);\n\t\tpos++;\n\t}\n\tstyler.ColourTo(pos-1, SCE_RUST_DEFAULT);\n}\n\nstatic void GrabString(char* s, Accessor& styler, Sci_Position start, Sci_Position len) {\n\tfor (Sci_Position ii = 0; ii < len; ii++)\n\t\ts[ii] = styler[ii + start];\n\ts[len] = '\\0';\n}\n\nstatic void ScanIdentifier(Accessor& styler, Sci_Position& pos, WordList *keywords) {\n\tSci_Position start = pos;\n\twhile (IsIdentifierContinue(styler.SafeGetCharAt(pos, '\\0')))\n\t\tpos++;\n\n\tif (styler.SafeGetCharAt(pos, '\\0') == '!') {\n\t\tpos++;\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_MACRO);\n\t} else {\n\t\tchar s[MAX_RUST_IDENT_CHARS + 1];\n\t\tSci_Position len = pos - start;\n\t\tlen = len > MAX_RUST_IDENT_CHARS ? MAX_RUST_IDENT_CHARS : len;\n\t\tGrabString(s, styler, start, len);\n\t\tbool keyword = false;\n\t\tfor (int ii = 0; ii < NUM_RUST_KEYWORD_LISTS; ii++) {\n\t\t\tif (keywords[ii].InList(s)) {\n\t\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_WORD + ii);\n\t\t\t\tkeyword = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!keyword) {\n\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_IDENTIFIER);\n\t\t}\n\t}\n}\n\n/* Scans a sequence of digits, returning true if it found any. */\nstatic bool ScanDigits(Accessor& styler, Sci_Position& pos, int base) {\n\tSci_Position old_pos = pos;\n\tfor (;;) {\n\t\tint c = styler.SafeGetCharAt(pos, '\\0');\n\t\tif (IsADigit(c, base) || c == '_')\n\t\t\tpos++;\n\t\telse\n\t\t\tbreak;\n\t}\n\treturn old_pos != pos;\n}\n\n/* Scans an integer and floating point literals. */\nstatic void ScanNumber(Accessor& styler, Sci_Position& pos) {\n\tint base = 10;\n\tint c = styler.SafeGetCharAt(pos, '\\0');\n\tint n = styler.SafeGetCharAt(pos + 1, '\\0');\n\tbool error = false;\n\t/* Scan the prefix, thus determining the base.\n\t * 10 is default if there's no prefix. */\n\tif (c == '0' && n == 'x') {\n\t\tpos += 2;\n\t\tbase = 16;\n\t} else if (c == '0' && n == 'b') {\n\t\tpos += 2;\n\t\tbase = 2;\n\t} else if (c == '0' && n == 'o') {\n\t\tpos += 2;\n\t\tbase = 8;\n\t}\n\n\t/* Scan initial digits. The literal is malformed if there are none. */\n\terror |= !ScanDigits(styler, pos, base);\n\t/* See if there's an integer suffix. We mimic the Rust's lexer\n\t * and munch it even if there was an error above. */\n\tc = styler.SafeGetCharAt(pos, '\\0');\n\tif (c == 'u' || c == 'i') {\n\t\tpos++;\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\tn = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\tif (c == '8') {\n\t\t\tpos++;\n\t\t} else if (c == '1' && n == '6') {\n\t\t\tpos += 2;\n\t\t} else if (c == '3' && n == '2') {\n\t\t\tpos += 2;\n\t\t} else if (c == '6' && n == '4') {\n\t\t\tpos += 2;\n\t\t} else if (styler.Match(pos, \"size\")) {\n\t\t\tpos += 4;\n\t\t} else {\n\t\t\terror = true;\n\t\t}\n\t/* See if it's a floating point literal. These literals have to be base 10.\n\t */\n\t} else if (!error) {\n\t\t/* If there's a period, it's a floating point literal unless it's\n\t\t * followed by an identifier (meaning this is a method call, e.g.\n\t\t * `1.foo()`) or another period, in which case it's a range (e.g. 1..2)\n\t\t */\n\t\tn = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\tif (c == '.' && !(IsIdentifierStart(n) || n == '.')) {\n\t\t\terror |= base != 10;\n\t\t\tpos++;\n\t\t\t/* It's ok to have no digits after the period. */\n\t\t\tScanDigits(styler, pos, 10);\n\t\t}\n\n\t\t/* Look for the exponentiation. */\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\tif (c == 'e' || c == 'E') {\n\t\t\terror |= base != 10;\n\t\t\tpos++;\n\t\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\t\tif (c == '-' || c == '+')\n\t\t\t\tpos++;\n\t\t\t/* It is invalid to have no digits in the exponent. */\n\t\t\terror |= !ScanDigits(styler, pos, 10);\n\t\t}\n\n\t\t/* Scan the floating point suffix. */\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\tif (c == 'f') {\n\t\t\terror |= base != 10;\n\t\t\tpos++;\n\t\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\t\tn = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\t\tif (c == '3' && n == '2') {\n\t\t\t\tpos += 2;\n\t\t\t} else if (c == '6' && n == '4') {\n\t\t\t\tpos += 2;\n\t\t\t} else {\n\t\t\t\terror = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (error)\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_LEXERROR);\n\telse\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_NUMBER);\n}\n\nstatic bool IsOneCharOperator(int c) {\n\treturn c == ';' || c == ',' || c == '(' || c == ')'\n\t    || c == '{' || c == '}' || c == '[' || c == ']'\n\t    || c == '@' || c == '#' || c == '~' || c == '+'\n\t    || c == '*' || c == '/' || c == '^' || c == '%'\n\t    || c == '.' || c == ':' || c == '!' || c == '<'\n\t    || c == '>' || c == '=' || c == '-' || c == '&'\n\t    || c == '|' || c == '$' || c == '?';\n}\n\nstatic bool IsTwoCharOperator(int c, int n) {\n\treturn (c == '.' && n == '.') || (c == ':' && n == ':')\n\t    || (c == '!' && n == '=') || (c == '<' && n == '<')\n\t    || (c == '<' && n == '=') || (c == '>' && n == '>')\n\t    || (c == '>' && n == '=') || (c == '=' && n == '=')\n\t    || (c == '=' && n == '>') || (c == '-' && n == '>')\n\t    || (c == '&' && n == '&') || (c == '|' && n == '|')\n\t    || (c == '-' && n == '=') || (c == '&' && n == '=')\n\t    || (c == '|' && n == '=') || (c == '+' && n == '=')\n\t    || (c == '*' && n == '=') || (c == '/' && n == '=')\n\t    || (c == '^' && n == '=') || (c == '%' && n == '=');\n}\n\nstatic bool IsThreeCharOperator(int c, int n, int n2) {\n\treturn (c == '<' && n == '<' && n2 == '=')\n\t    || (c == '>' && n == '>' && n2 == '=');\n}\n\nstatic bool IsValidCharacterEscape(int c) {\n\treturn c == 'n'  || c == 'r' || c == 't' || c == '\\\\'\n\t    || c == '\\'' || c == '\"' || c == '0';\n}\n\nstatic bool IsValidStringEscape(int c) {\n\treturn IsValidCharacterEscape(c) || c == '\\n' || c == '\\r';\n}\n\nstatic bool ScanNumericEscape(Accessor &styler, Sci_Position& pos, Sci_Position num_digits, bool stop_asap) {\n\tfor (;;) {\n\t\tint c = styler.SafeGetCharAt(pos, '\\0');\n\t\tif (!IsADigit(c, 16))\n\t\t\tbreak;\n\t\tnum_digits--;\n\t\tpos++;\n\t\tif (num_digits == 0 && stop_asap)\n\t\t\treturn true;\n\t}\n\tif (num_digits == 0) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\n/* This is overly permissive for character literals in order to accept UTF-8 encoded\n * character literals. */\nstatic void ScanCharacterLiteralOrLifetime(Accessor &styler, Sci_Position& pos, bool ascii_only) {\n\tpos++;\n\tint c = styler.SafeGetCharAt(pos, '\\0');\n\tint n = styler.SafeGetCharAt(pos + 1, '\\0');\n\tbool done = false;\n\tbool valid_lifetime = !ascii_only && IsIdentifierStart(c);\n\tbool valid_char = true;\n\tbool first = true;\n\twhile (!done) {\n\t\tswitch (c) {\n\t\t\tcase '\\\\':\n\t\t\t\tdone = true;\n\t\t\t\tif (IsValidCharacterEscape(n)) {\n\t\t\t\t\tpos += 2;\n\t\t\t\t} else if (n == 'x') {\n\t\t\t\t\tpos += 2;\n\t\t\t\t\tvalid_char = ScanNumericEscape(styler, pos, 2, false);\n\t\t\t\t} else if (n == 'u' && !ascii_only) {\n\t\t\t\t\tpos += 2;\n\t\t\t\t\tif (styler.SafeGetCharAt(pos, '\\0') != '{') {\n\t\t\t\t\t\t// old-style\n\t\t\t\t\t\tvalid_char = ScanNumericEscape(styler, pos, 4, false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tint n_digits = 0;\n\t\t\t\t\t\twhile (IsADigit(styler.SafeGetCharAt(++pos, '\\0'), 16) && n_digits++ < 6) {\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n_digits > 0 && styler.SafeGetCharAt(pos, '\\0') == '}')\n\t\t\t\t\t\t\tpos++;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tvalid_char = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (n == 'U' && !ascii_only) {\n\t\t\t\t\tpos += 2;\n\t\t\t\t\tvalid_char = ScanNumericEscape(styler, pos, 8, false);\n\t\t\t\t} else {\n\t\t\t\t\tvalid_char = false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '\\'':\n\t\t\t\tvalid_char = !first;\n\t\t\t\tdone = true;\n\t\t\t\tbreak;\n\t\t\tcase '\\t':\n\t\t\tcase '\\n':\n\t\t\tcase '\\r':\n\t\t\tcase '\\0':\n\t\t\t\tvalid_char = false;\n\t\t\t\tdone = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif (ascii_only && !IsASCII((char)c)) {\n\t\t\t\t\tdone = true;\n\t\t\t\t\tvalid_char = false;\n\t\t\t\t} else if (!IsIdentifierContinue(c) && !first) {\n\t\t\t\t\tdone = true;\n\t\t\t\t} else {\n\t\t\t\t\tpos++;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\tn = styler.SafeGetCharAt(pos + 1, '\\0');\n\n\t\tfirst = false;\n\t}\n\tif (styler.SafeGetCharAt(pos, '\\0') == '\\'') {\n\t\tvalid_lifetime = false;\n\t} else {\n\t\tvalid_char = false;\n\t}\n\tif (valid_lifetime) {\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_LIFETIME);\n\t} else if (valid_char) {\n\t\tpos++;\n\t\tstyler.ColourTo(pos - 1, ascii_only ? SCE_RUST_BYTECHARACTER : SCE_RUST_CHARACTER);\n\t} else {\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_LEXERROR);\n\t}\n}\n\nenum CommentState {\n\tUnknownComment,\n\tDocComment,\n\tNotDocComment\n};\n\n/*\n * The rule for block-doc comments is as follows: /xxN and /x! (where x is an asterisk, N is a non-asterisk) start doc comments.\n * Otherwise it's a regular comment.\n */\nstatic void ResumeBlockComment(Accessor &styler, Sci_Position& pos, Sci_Position max, CommentState state, int level) {\n\tint c = styler.SafeGetCharAt(pos, '\\0');\n\tbool maybe_doc_comment = false;\n\tif (c == '*') {\n\t\tint n = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\tif (n != '*' && n != '/') {\n\t\t\tmaybe_doc_comment = true;\n\t\t}\n\t} else if (c == '!') {\n\t\tmaybe_doc_comment = true;\n\t}\n\n\tfor (;;) {\n\t\tint n = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\tif (pos == styler.LineEnd(styler.GetLine(pos)))\n\t\t\tstyler.SetLineState(styler.GetLine(pos), level);\n\t\tif (c == '*') {\n\t\t\tpos++;\n\t\t\tif (n == '/') {\n\t\t\t\tpos++;\n\t\t\t\tlevel--;\n\t\t\t\tif (level == 0) {\n\t\t\t\t\tstyler.SetLineState(styler.GetLine(pos), 0);\n\t\t\t\t\tif (state == DocComment || (state == UnknownComment && maybe_doc_comment))\n\t\t\t\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_COMMENTBLOCKDOC);\n\t\t\t\t\telse\n\t\t\t\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_COMMENTBLOCK);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (c == '/') {\n\t\t\tpos++;\n\t\t\tif (n == '*') {\n\t\t\t\tpos++;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tpos++;\n\t\t}\n\t\tif (pos >= max) {\n\t\t\tif (state == DocComment || (state == UnknownComment && maybe_doc_comment))\n\t\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_COMMENTBLOCKDOC);\n\t\t\telse\n\t\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_COMMENTBLOCK);\n\t\t\tbreak;\n\t\t}\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t}\n}\n\n/*\n * The rule for line-doc comments is as follows... ///N and //! (where N is a non slash) start doc comments.\n * Otherwise it's a normal line comment.\n */\nstatic void ResumeLineComment(Accessor &styler, Sci_Position& pos, Sci_Position max, CommentState state) {\n\tbool maybe_doc_comment = false;\n\tint c = styler.SafeGetCharAt(pos, '\\0');\n\tif (c == '/') {\n\t\tif (pos < max) {\n\t\t\tpos++;\n\t\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t\t\tif (c != '/') {\n\t\t\t\tmaybe_doc_comment = true;\n\t\t\t}\n\t\t}\n\t} else if (c == '!') {\n\t\tmaybe_doc_comment = true;\n\t}\n\n\twhile (pos < max && c != '\\n') {\n\t\tif (pos == styler.LineEnd(styler.GetLine(pos)))\n\t\t\tstyler.SetLineState(styler.GetLine(pos), 0);\n\t\tpos++;\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t}\n\n\tif (state == DocComment || (state == UnknownComment && maybe_doc_comment))\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_COMMENTLINEDOC);\n\telse\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_COMMENTLINE);\n}\n\nstatic void ScanComments(Accessor &styler, Sci_Position& pos, Sci_Position max) {\n\tpos++;\n\tint c = styler.SafeGetCharAt(pos, '\\0');\n\tpos++;\n\tif (c == '/')\n\t\tResumeLineComment(styler, pos, max, UnknownComment);\n\telse if (c == '*')\n\t\tResumeBlockComment(styler, pos, max, UnknownComment, 1);\n}\n\nstatic void ResumeString(Accessor &styler, Sci_Position& pos, Sci_Position max, bool ascii_only) {\n\tint c = styler.SafeGetCharAt(pos, '\\0');\n\tbool error = false;\n\twhile (c != '\"' && !error) {\n\t\tif (pos >= max) {\n\t\t\terror = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (pos == styler.LineEnd(styler.GetLine(pos)))\n\t\t\tstyler.SetLineState(styler.GetLine(pos), 0);\n\t\tif (c == '\\\\') {\n\t\t\tint n = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\t\tif (IsValidStringEscape(n)) {\n\t\t\t\tpos += 2;\n\t\t\t} else if (n == 'x') {\n\t\t\t\tpos += 2;\n\t\t\t\terror = !ScanNumericEscape(styler, pos, 2, true);\n\t\t\t} else if (n == 'u' && !ascii_only) {\n\t\t\t\tpos += 2;\n\t\t\t\tif (styler.SafeGetCharAt(pos, '\\0') != '{') {\n\t\t\t\t\t// old-style\n\t\t\t\t\terror = !ScanNumericEscape(styler, pos, 4, true);\n\t\t\t\t} else {\n\t\t\t\t\tint n_digits = 0;\n\t\t\t\t\twhile (IsADigit(styler.SafeGetCharAt(++pos, '\\0'), 16) && n_digits++ < 6) {\n\t\t\t\t\t}\n\t\t\t\t\tif (n_digits > 0 && styler.SafeGetCharAt(pos, '\\0') == '}')\n\t\t\t\t\t\tpos++;\n\t\t\t\t\telse\n\t\t\t\t\t\terror = true;\n\t\t\t\t}\n\t\t\t} else if (n == 'U' && !ascii_only) {\n\t\t\t\tpos += 2;\n\t\t\t\terror = !ScanNumericEscape(styler, pos, 8, true);\n\t\t\t} else {\n\t\t\t\tpos += 1;\n\t\t\t\terror = true;\n\t\t\t}\n\t\t} else {\n\t\t\tif (ascii_only && !IsASCII((char)c))\n\t\t\t\terror = true;\n\t\t\telse\n\t\t\t\tpos++;\n\t\t}\n\t\tc = styler.SafeGetCharAt(pos, '\\0');\n\t}\n\tif (!error)\n\t\tpos++;\n\tstyler.ColourTo(pos - 1, ascii_only ? SCE_RUST_BYTESTRING : SCE_RUST_STRING);\n}\n\nstatic void ResumeRawString(Accessor &styler, Sci_Position& pos, Sci_Position max, int num_hashes, bool ascii_only) {\n\tfor (;;) {\n\t\tif (pos == styler.LineEnd(styler.GetLine(pos)))\n\t\t\tstyler.SetLineState(styler.GetLine(pos), num_hashes);\n\n\t\tint c = styler.SafeGetCharAt(pos, '\\0');\n\t\tif (c == '\"') {\n\t\t\tpos++;\n\t\t\tint trailing_num_hashes = 0;\n\t\t\twhile (styler.SafeGetCharAt(pos, '\\0') == '#' && trailing_num_hashes < num_hashes) {\n\t\t\t\ttrailing_num_hashes++;\n\t\t\t\tpos++;\n\t\t\t}\n\t\t\tif (trailing_num_hashes == num_hashes) {\n\t\t\t\tstyler.SetLineState(styler.GetLine(pos), 0);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} else if (pos >= max) {\n\t\t\tbreak;\n\t\t} else {\n\t\t\tif (ascii_only && !IsASCII((char)c))\n\t\t\t\tbreak;\n\t\t\tpos++;\n\t\t}\n\t}\n\tstyler.ColourTo(pos - 1, ascii_only ? SCE_RUST_BYTESTRINGR : SCE_RUST_STRINGR);\n}\n\nstatic void ScanRawString(Accessor &styler, Sci_Position& pos, Sci_Position max, bool ascii_only) {\n\tpos++;\n\tint num_hashes = 0;\n\twhile (styler.SafeGetCharAt(pos, '\\0') == '#') {\n\t\tnum_hashes++;\n\t\tpos++;\n\t}\n\tif (styler.SafeGetCharAt(pos, '\\0') != '\"') {\n\t\tstyler.ColourTo(pos - 1, SCE_RUST_LEXERROR);\n\t} else {\n\t\tpos++;\n\t\tResumeRawString(styler, pos, max, num_hashes, ascii_only);\n\t}\n}\n\nvoid SCI_METHOD LexerRust::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tPropSetSimple props;\n\tAccessor styler(pAccess, &props);\n\tSci_Position pos = startPos;\n\tSci_Position max = pos + length;\n\n\tstyler.StartAt(pos);\n\tstyler.StartSegment(pos);\n\n\tif (initStyle == SCE_RUST_COMMENTBLOCK || initStyle == SCE_RUST_COMMENTBLOCKDOC) {\n\t\tResumeBlockComment(styler, pos, max, initStyle == SCE_RUST_COMMENTBLOCKDOC ? DocComment : NotDocComment, styler.GetLineState(styler.GetLine(pos) - 1));\n\t} else if (initStyle == SCE_RUST_COMMENTLINE || initStyle == SCE_RUST_COMMENTLINEDOC) {\n\t\tResumeLineComment(styler, pos, max, initStyle == SCE_RUST_COMMENTLINEDOC ? DocComment : NotDocComment);\n\t} else if (initStyle == SCE_RUST_STRING) {\n\t\tResumeString(styler, pos, max, false);\n\t} else if (initStyle == SCE_RUST_BYTESTRING) {\n\t\tResumeString(styler, pos, max, true);\n\t} else if (initStyle == SCE_RUST_STRINGR) {\n\t\tResumeRawString(styler, pos, max, styler.GetLineState(styler.GetLine(pos) - 1), false);\n\t} else if (initStyle == SCE_RUST_BYTESTRINGR) {\n\t\tResumeRawString(styler, pos, max, styler.GetLineState(styler.GetLine(pos) - 1), true);\n\t}\n\n\twhile (pos < max) {\n\t\tint c = styler.SafeGetCharAt(pos, '\\0');\n\t\tint n = styler.SafeGetCharAt(pos + 1, '\\0');\n\t\tint n2 = styler.SafeGetCharAt(pos + 2, '\\0');\n\n\t\tif (pos == 0 && c == '#' && n == '!' && n2 != '[') {\n\t\t\tpos += 2;\n\t\t\tResumeLineComment(styler, pos, max, NotDocComment);\n\t\t} else if (IsWhitespace(c)) {\n\t\t\tScanWhitespace(styler, pos, max);\n\t\t} else if (c == '/' && (n == '/' || n == '*')) {\n\t\t\tScanComments(styler, pos, max);\n\t\t} else if (c == 'r' && (n == '#' || n == '\"')) {\n\t\t\tScanRawString(styler, pos, max, false);\n\t\t} else if (c == 'b' && n == 'r' && (n2 == '#' || n2 == '\"')) {\n\t\t\tpos++;\n\t\t\tScanRawString(styler, pos, max, true);\n\t\t} else if (c == 'b' && n == '\"') {\n\t\t\tpos += 2;\n\t\t\tResumeString(styler, pos, max, true);\n\t\t} else if (c == 'b' && n == '\\'') {\n\t\t\tpos++;\n\t\t\tScanCharacterLiteralOrLifetime(styler, pos, true);\n\t\t} else if (IsIdentifierStart(c)) {\n\t\t\tScanIdentifier(styler, pos, keywords);\n\t\t} else if (IsADigit(c)) {\n\t\t\tScanNumber(styler, pos);\n\t\t} else if (IsThreeCharOperator(c, n, n2)) {\n\t\t\tpos += 3;\n\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_OPERATOR);\n\t\t} else if (IsTwoCharOperator(c, n)) {\n\t\t\tpos += 2;\n\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_OPERATOR);\n\t\t} else if (IsOneCharOperator(c)) {\n\t\t\tpos++;\n\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_OPERATOR);\n\t\t} else if (c == '\\'') {\n\t\t\tScanCharacterLiteralOrLifetime(styler, pos, false);\n\t\t} else if (c == '\"') {\n\t\t\tpos++;\n\t\t\tResumeString(styler, pos, max, false);\n\t\t} else {\n\t\t\tpos++;\n\t\t\tstyler.ColourTo(pos - 1, SCE_RUST_LEXERROR);\n\t\t}\n\t}\n\tstyler.ColourTo(pos - 1, SCE_RUST_DEFAULT);\n\tstyler.Flush();\n}\n\nvoid SCI_METHOD LexerRust::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n\tif (!options.fold)\n\t\treturn;\n\n\tLexAccessor styler(pAccess);\n\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tbool inLineComment = false;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tSci_PositionU lineStartNext = styler.LineStart(lineCurrent+1);\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tconst bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty();\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = i == (lineStartNext-1);\n\t\tif ((style == SCE_RUST_COMMENTLINE) || (style == SCE_RUST_COMMENTLINEDOC))\n\t\t\tinLineComment = true;\n\t\tif (options.foldComment && options.foldCommentMultiline && IsStreamCommentStyle(style) && !inLineComment) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (options.foldComment && options.foldCommentExplicit && ((style == SCE_RUST_COMMENTLINE) || options.foldExplicitAnywhere)) {\n\t\t\tif (userDefinedFoldMarkers) {\n\t\t\t\tif (styler.Match(i, options.foldExplicitStart.c_str())) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(i, options.foldExplicitEnd.c_str())) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (options.foldSyntaxBased && (style == SCE_RUST_OPERATOR)) {\n\t\t\tif (ch == '{') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (!IsASpace(ch))\n\t\t\tvisibleChars++;\n\t\tif (atEOL || (i == endPos-1)) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (options.foldSyntaxBased && options.foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlineStartNext = styler.LineStart(lineCurrent+1);\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tif (atEOL && (i == static_cast<Sci_PositionU>(styler.Length()-1))) {\n\t\t\t\t// There is an empty line at end of file so give it same level and empty\n\t\t\t\tstyler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t\tinLineComment = false;\n\t\t}\n\t}\n}\n\nLexerModule lmRust(SCLEX_RUST, LexerRust::LexerFactoryRust, \"rust\", rustWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSAS.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSAS.cxx\n ** Lexer for SAS\n **/\n// Author: Luke Rasmussen (luke.rasmussen@gmail.com)\n//\n// The License.txt file describes the conditions under which this software may\n// be distributed.\n//\n// Developed as part of the StatTag project at Northwestern University Feinberg\n// School of Medicine with funding from Northwestern University Clinical and\n// Translational Sciences Institute through CTSA grant UL1TR001422.  This work\n// has not been reviewed or endorsed by NCATS or the NIH.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseSASDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n    Accessor &styler) {\n\n    WordList &keywords = *keywordlists[0];\n    WordList &blockKeywords = *keywordlists[1];\n    WordList &functionKeywords = *keywordlists[2];\n    WordList &statements = *keywordlists[3];\n\n    CharacterSet setCouldBePostOp(CharacterSet::setNone, \"+-\");\n    CharacterSet setMacroStart(CharacterSet::setNone, \"%\");\n    CharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n    CharacterSet setWord(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\n    StyleContext sc(startPos, length, initStyle, styler);\n    bool lineHasNonCommentChar = false;\n    for (; sc.More(); sc.Forward()) {\n        if (sc.atLineStart) {\n            lineHasNonCommentChar = false;\n        }\n\n        // Determine if the current state should terminate.\n        switch (sc.state) {\n            case SCE_SAS_OPERATOR:\n                sc.SetState(SCE_SAS_DEFAULT);\n                break;\n            case SCE_SAS_NUMBER:\n                // We accept almost anything because of hex. and number suffixes\n                if (!setWord.Contains(sc.ch)) {\n                    sc.SetState(SCE_SAS_DEFAULT);\n                }\n                break;\n            case SCE_SAS_MACRO:\n              if (!setWord.Contains(sc.ch) || (sc.ch == '.')) {\n                char s[1000];\n                sc.GetCurrentLowered(s, sizeof(s));\n                if (keywords.InList(s)) {\n                  sc.ChangeState(SCE_SAS_MACRO_KEYWORD);\n                }\n                else if (blockKeywords.InList(s)) {\n                  sc.ChangeState(SCE_SAS_BLOCK_KEYWORD);\n                }\n                else if (functionKeywords.InList(s)) {\n                  sc.ChangeState(SCE_SAS_MACRO_FUNCTION);\n                }\n                sc.SetState(SCE_SAS_DEFAULT);\n              }\n              break;\n            case SCE_SAS_IDENTIFIER:\n                if (!setWord.Contains(sc.ch) || (sc.ch == '.')) {\n                    char s[1000];\n                    sc.GetCurrentLowered(s, sizeof(s));\n                    if (statements.InList(s)) {\n                      sc.ChangeState(SCE_SAS_STATEMENT);\n                    }\n                    else if(blockKeywords.InList(s)) {\n                      sc.ChangeState(SCE_SAS_BLOCK_KEYWORD);\n                    }\n                    sc.SetState(SCE_SAS_DEFAULT);\n                }\n                break;\n            case SCE_SAS_COMMENTBLOCK:\n                if (sc.Match('*', '/')) {\n                    sc.Forward();\n                    sc.ForwardSetState(SCE_SAS_DEFAULT);\n                }\n                break;\n            case SCE_SAS_COMMENT:\n            case SCE_SAS_COMMENTLINE:\n                if (sc.Match(';')) {\n                    sc.Forward();\n                    sc.SetState(SCE_SAS_DEFAULT);\n                }\n                break;\n            case SCE_SAS_STRING:\n                if (sc.ch == '\\\"') {\n                    sc.ForwardSetState(SCE_SAS_DEFAULT);\n                }\n                break;\n        }\n\n        // Determine if a new state should be entered.\n        if (sc.state == SCE_SAS_DEFAULT) {\n            if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_SAS_NUMBER);\n            }\n            else if (setWordStart.Contains(sc.ch)) {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_SAS_IDENTIFIER);\n            }\n            else if (sc.Match('*') && !lineHasNonCommentChar) {\n                sc.SetState(SCE_SAS_COMMENT);\n            }\n            else if (sc.Match('/', '*')) {\n                sc.SetState(SCE_SAS_COMMENTBLOCK);\n                sc.Forward();\t// Eat the * so it isn't used for the end of the comment\n            }\n            else if (sc.Match('/', '/')) {\n                sc.SetState(SCE_SAS_COMMENTLINE);\n            }\n            else if (sc.ch == '\\\"') {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_SAS_STRING);\n            }\n            else if (setMacroStart.Contains(sc.ch)) {\n              lineHasNonCommentChar = true;\n              sc.SetState(SCE_SAS_MACRO);\n            }\n            else if (isoperator(static_cast<char>(sc.ch))) {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_SAS_OPERATOR);\n            }\n        }\n    }\n\n    sc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nstatic void FoldSASDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n    Accessor &styler) {\n    bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    bool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelCurrent = SC_FOLDLEVELBASE;\n    if (lineCurrent > 0)\n        levelCurrent = styler.LevelAt(lineCurrent - 1) >> 16;\n    int levelMinCurrent = levelCurrent;\n    int levelNext = levelCurrent;\n    char chNext = styler[startPos];\n    int styleNext = styler.StyleAt(startPos);\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        int style = styleNext;\n        styleNext = styler.StyleAt(i + 1);\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n        if (style == SCE_R_OPERATOR) {\n            if (ch == '{') {\n                // Measure the minimum before a '{' to allow\n                // folding on \"} else {\"\n                if (levelMinCurrent > levelNext) {\n                    levelMinCurrent = levelNext;\n                }\n                levelNext++;\n            }\n            else if (ch == '}') {\n                levelNext--;\n            }\n        }\n        if (atEOL) {\n            int levelUse = levelCurrent;\n            if (foldAtElse) {\n                levelUse = levelMinCurrent;\n            }\n            int lev = levelUse | levelNext << 16;\n            if (visibleChars == 0 && foldCompact)\n                lev |= SC_FOLDLEVELWHITEFLAG;\n            if (levelUse < levelNext)\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(lineCurrent)) {\n                styler.SetLevel(lineCurrent, lev);\n            }\n            lineCurrent++;\n            levelCurrent = levelNext;\n            levelMinCurrent = levelCurrent;\n            visibleChars = 0;\n        }\n        if (!isspacechar(ch))\n            visibleChars++;\n    }\n}\n\n\nstatic const char * const SASWordLists[] = {\n    \"Language Keywords\",\n\t  \"Macro Keywords\",\n    \"Types\",\n    0,\n};\n\nLexerModule lmSAS(SCLEX_SAS, ColouriseSASDoc, \"sas\", FoldSASDoc, SASWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSML.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSML.cxx\n ** Lexer for SML.\n **/\n// Copyright 2009 by James Moffatt and Yuzhou Xin\n// Modified from LexCaml.cxx by Robert Roessler <robertr@rftp.com> Copyright 2005\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\n#if defined(__clang__)\n#pragma clang diagnostic ignored \"-Wcomma\"\n#endif\n\ninline int  issml(int c) {return isalnum(c) || c == '_';}\ninline int issmlf(int c) {return isalpha(c) || c == '_';}\ninline int issmld(int c) {return isdigit(c) || c == '_';}\n\n\nusing namespace Scintilla;\n\nstatic void ColouriseSMLDoc(\n\tSci_PositionU startPos, Sci_Position length,\n\tint initStyle,\n\tWordList *keywordlists[],\n\tAccessor &styler)\n{\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tint nesting = 0;\n\tif (sc.state < SCE_SML_STRING)\n\t\tsc.state = SCE_SML_DEFAULT;\n\tif (sc.state >= SCE_SML_COMMENT)\n\t\tnesting = (sc.state & 0x0f) - SCE_SML_COMMENT;\n\n\tSci_PositionU chToken = 0;\n\tint chBase = 0, chLit = 0;\n\tWordList& keywords  = *keywordlists[0];\n\tWordList& keywords2 = *keywordlists[1];\n\tWordList& keywords3 = *keywordlists[2];\n\tconst int useMagic = styler.GetPropertyInt(\"lexer.caml.magic\", 0);\n\n\twhile (sc.More()) {\n\t\tint state2 = -1;\n\t\tSci_Position chColor = sc.currentPos - 1;\n\t\tbool advance = true;\n\n\t\tswitch (sc.state & 0x0f) {\n\t\tcase SCE_SML_DEFAULT:\n\t\t\tchToken = sc.currentPos;\n\t\t\tif (issmlf(sc.ch))\n\t\t\t\tstate2 = SCE_SML_IDENTIFIER;\n\t\t\telse if (sc.Match('`') && issmlf(sc.chNext))\n\t\t\t\tstate2 = SCE_SML_TAGNAME;\n\t\t\telse if (sc.Match('#')&&isdigit(sc.chNext))\n\t\t\t\t\tstate2 = SCE_SML_LINENUM;\n\t\t\telse if (sc.Match('#','\\\"')){\n\t\t\t\t\tstate2 = SCE_SML_CHAR,chLit = 0;\n\t\t\t\t\tsc.Forward();\n\n\t\t\t\t}\n\t\t\telse if (isdigit(sc.ch)) {\n\t\t\t\tstate2 = SCE_SML_NUMBER, chBase = 10;\n\t\t\t\tif (sc.Match('0') && strchr(\"xX\", sc.chNext))\n\t\t\t\t\tchBase = 16, sc.Forward();}\n\t\t\telse if (sc.Match('\\\"')&&sc.chPrev!='#')\n\t\t\t\tstate2 = SCE_SML_STRING;\n\t\t\telse if (sc.Match('(', '*')){\n\t\t\t\tstate2 = SCE_SML_COMMENT,\n\t\t\t\t\tsc.ch = ' ',\n\t\t\t\t\tsc.Forward();}\n\t\t\telse if (strchr(\"!~\"\n\t\t\t\t\t\"=<>@^+-*/\"\n\t\t\t\t\t\"()[];,:.#\", sc.ch))\n\t\t\t\tstate2 = SCE_SML_OPERATOR;\n\t\t\tbreak;\n\n\t\tcase SCE_SML_IDENTIFIER:\n\t\t\tif (!(issml(sc.ch) || sc.Match('\\''))) {\n\t\t\t\tconst Sci_Position n = sc.currentPos - chToken;\n\t\t\t\tif (n < 24) {\n\t\t\t\t\tchar t[24];\n\t\t\t\t\tfor (Sci_Position i = -n; i < 0; i++)\n\t\t\t\t\t\tt[n + i] = static_cast<char>(sc.GetRelative(i));\n\t\t\t\t\tt[n] = '\\0';\n\t\t\t\t\tif ((n == 1 && sc.chPrev == '_') || keywords.InList(t))\n\t\t\t\t\t\tsc.ChangeState(SCE_SML_KEYWORD);\n\t\t\t\t\telse if (keywords2.InList(t))\n\t\t\t\t\t\tsc.ChangeState(SCE_SML_KEYWORD2);\n\t\t\t\t\telse if (keywords3.InList(t))\n\t\t\t\t\t\tsc.ChangeState(SCE_SML_KEYWORD3);\n\t\t\t\t}\n\t\t\t\tstate2 = SCE_SML_DEFAULT, advance = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase SCE_SML_TAGNAME:\n\t\t\tif (!(issml(sc.ch) || sc.Match('\\'')))\n\t\t\t\tstate2 = SCE_SML_DEFAULT, advance = false;\n\t\t\tbreak;\n\n\t\tcase SCE_SML_LINENUM:\n\t\t\tif (!isdigit(sc.ch))\n\t\t\t\tstate2 = SCE_SML_DEFAULT, advance = false;\n\t\t\tbreak;\n\n\t\tcase SCE_SML_OPERATOR: {\n\t\t\tconst char* o = 0;\n\t\t\tif (issml(sc.ch) || isspace(sc.ch)\n\t\t\t\t|| (o = strchr(\")]};,\\'\\\"`#\", sc.ch),o)\n\t\t\t\t|| !strchr(\"!$%&*+-./:<=>?@^|~\", sc.ch)) {\n\t\t\t\tif (o && strchr(\")]};,\", sc.ch)) {\n\t\t\t\t\tif ((sc.Match(')') && sc.chPrev == '(')\n\t\t\t\t\t\t|| (sc.Match(']') && sc.chPrev == '['))\n\t\t\t\t\t\tsc.ChangeState(SCE_SML_KEYWORD);\n\t\t\t\t\tchColor++;\n\t\t\t\t} else\n\t\t\t\t\tadvance = false;\n\t\t\t\tstate2 = SCE_SML_DEFAULT;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\tcase SCE_SML_NUMBER:\n\t\t\tif (issmld(sc.ch) || IsADigit(sc.ch, chBase))\n\t\t\t\tbreak;\n\t\t\tif ((sc.Match('l') || sc.Match('L') || sc.Match('n'))\n\t\t\t\t&& (issmld(sc.chPrev) || IsADigit(sc.chPrev, chBase)))\n\t\t\t\tbreak;\n\t\t\tif (chBase == 10) {\n\t\t\t\tif (sc.Match('.') && issmld(sc.chPrev))\n\t\t\t\t\tbreak;\n\t\t\t\tif ((sc.Match('e') || sc.Match('E'))\n\t\t\t\t\t&& (issmld(sc.chPrev) || sc.chPrev == '.'))\n\t\t\t\t\tbreak;\n\t\t\t\tif ((sc.Match('+') || sc.Match('-'))\n\t\t\t\t\t&& (sc.chPrev == 'e' || sc.chPrev == 'E'))\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstate2 = SCE_SML_DEFAULT, advance = false;\n\t\t\tbreak;\n\n\t\tcase SCE_SML_CHAR:\n\t\t\tif (sc.Match('\\\\')) {\n\t\t\t\tchLit = 1;\n\t\t\t\tif (sc.chPrev == '\\\\')\n\t\t\t\t\tsc.ch = ' ';\n\t\t\t} else if ((sc.Match('\\\"') && sc.chPrev != '\\\\') || sc.atLineEnd) {\n\t\t\t\tstate2 = SCE_SML_DEFAULT;\n\t\t\t\tchLit = 1;\n\t\t\t\tif (sc.Match('\\\"'))\n\t\t\t\t\tchColor++;\n\t\t\t\telse\n\t\t\t\t\tsc.ChangeState(SCE_SML_IDENTIFIER);\n\t\t\t} else if (chLit < 1 && sc.currentPos - chToken >= 3)\n\t\t\t\tsc.ChangeState(SCE_SML_IDENTIFIER), advance = false;\n\t\t\tbreak;\n\n\t\tcase SCE_SML_STRING:\n\t\t\tif (sc.Match('\\\\') && sc.chPrev == '\\\\')\n\t\t\t\tsc.ch = ' ';\n\t\t\telse if (sc.Match('\\\"') && sc.chPrev != '\\\\')\n\t\t\t\tstate2 = SCE_SML_DEFAULT, chColor++;\n\t\t\tbreak;\n\n\t\tcase SCE_SML_COMMENT:\n\t\tcase SCE_SML_COMMENT1:\n\t\tcase SCE_SML_COMMENT2:\n\t\tcase SCE_SML_COMMENT3:\n\t\t\tif (sc.Match('(', '*'))\n\t\t\t\tstate2 = sc.state + 1, chToken = sc.currentPos,\n\t\t\t\t\tsc.ch = ' ',\n\t\t\t\t\tsc.Forward(), nesting++;\n\t\t\telse if (sc.Match(')') && sc.chPrev == '*') {\n\t\t\t\tif (nesting)\n\t\t\t\t\tstate2 = (sc.state & 0x0f) - 1, chToken = 0, nesting--;\n\t\t\t\telse\n\t\t\t\t\tstate2 = SCE_SML_DEFAULT;\n\t\t\t\tchColor++;\n\t\t\t} else if (useMagic && sc.currentPos - chToken == 4\n\t\t\t\t&& sc.Match('c') && sc.chPrev == 'r' && sc.GetRelative(-2) == '@')\n\t\t\t\tsc.state |= 0x10;\n\t\t\tbreak;\n\t\t}\n\n\t\tif (state2 >= 0)\n\t\t\tstyler.ColourTo(chColor, sc.state), sc.ChangeState(state2);\n\t\tif (advance)\n\t\t\tsc.Forward();\n\t}\n\n\tsc.Complete();\n}\n\nstatic void FoldSMLDoc(\n\tSci_PositionU, Sci_Position,\n\tint,\n\tWordList *[],\n\tAccessor &)\n{\n}\n\nstatic const char * const SMLWordListDesc[] = {\n\t\"Keywords\",\n\t\"Keywords2\",\n\t\"Keywords3\",\n\t0\n};\n\nLexerModule lmSML(SCLEX_SML, ColouriseSMLDoc, \"SML\", FoldSMLDoc, SMLWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSQL.cpp",
    "content": "//-*- coding: utf-8 -*-\n// Scintilla source code edit control\n/** @file LexSQL.cxx\n ** Lexer for SQL, including PL/SQL and SQL*Plus.\n ** Improved by Jérôme LAFORGE <jerome.laforge_AT_gmail_DOT_com> from 2010 to 2012.\n **/\n// Copyright 1998-2012 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"SparseState.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(int ch, bool sqlAllowDottedWord) {\n\tif (!sqlAllowDottedWord)\n\t\treturn (ch < 0x80) && (isalnum(ch) || ch == '_');\n\telse\n\t\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.');\n}\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn (ch < 0x80) && (isalpha(ch) || ch == '_');\n}\n\nstatic inline bool IsADoxygenChar(int ch) {\n\treturn (islower(ch) || ch == '$' || ch == '@' ||\n\t        ch == '\\\\' || ch == '&' || ch == '<' ||\n\t        ch == '>' || ch == '#' || ch == '{' ||\n\t        ch == '}' || ch == '[' || ch == ']');\n}\n\nstatic inline bool IsANumberChar(int ch, int chPrev) {\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases.\n\treturn (ch < 0x80) &&\n\t       (isdigit(ch) || toupper(ch) == 'E' ||\n\t        ch == '.' || ((ch == '-' || ch == '+') && chPrev < 0x80 && toupper(chPrev) == 'E'));\n}\n\ntypedef unsigned int sql_state_t;\n\nclass SQLStates {\npublic :\n\tvoid Set(Sci_Position lineNumber, unsigned short int sqlStatesLine) {\n\t\tsqlStatement.Set(lineNumber, sqlStatesLine);\n\t}\n\n\tsql_state_t IgnoreWhen (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_IGNORE_WHEN;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_IGNORE_WHEN;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoCondition (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_INTO_CONDITION;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_CONDITION;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoExceptionBlock (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_INTO_EXCEPTION;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_EXCEPTION;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoDeclareBlock (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_INTO_DECLARE;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_DECLARE;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoMergeStatement (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_MERGE_STATEMENT;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_MERGE_STATEMENT;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t CaseMergeWithoutWhenFound (sql_state_t sqlStatesLine, bool found) {\n\t\tif (found)\n\t\t\tsqlStatesLine |= MASK_CASE_MERGE_WITHOUT_WHEN_FOUND;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_CASE_MERGE_WITHOUT_WHEN_FOUND;\n\n\t\treturn sqlStatesLine;\n\t}\n\tsql_state_t IntoSelectStatementOrAssignment (sql_state_t sqlStatesLine, bool found) {\n\t\tif (found)\n\t\t\tsqlStatesLine |= MASK_INTO_SELECT_STATEMENT_OR_ASSIGNEMENT;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_SELECT_STATEMENT_OR_ASSIGNEMENT;\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t BeginCaseBlock (sql_state_t sqlStatesLine) {\n\t\tif ((sqlStatesLine & MASK_NESTED_CASES) < MASK_NESTED_CASES) {\n\t\t\tsqlStatesLine++;\n\t\t}\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t EndCaseBlock (sql_state_t sqlStatesLine) {\n\t\tif ((sqlStatesLine & MASK_NESTED_CASES) > 0) {\n\t\t\tsqlStatesLine--;\n\t\t}\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoCreateStatement (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_INTO_CREATE;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_CREATE;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoCreateViewStatement (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_INTO_CREATE_VIEW;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_CREATE_VIEW;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tsql_state_t IntoCreateViewAsStatement (sql_state_t sqlStatesLine, bool enable) {\n\t\tif (enable)\n\t\t\tsqlStatesLine |= MASK_INTO_CREATE_VIEW_AS_STATEMENT;\n\t\telse\n\t\t\tsqlStatesLine &= ~MASK_INTO_CREATE_VIEW_AS_STATEMENT;\n\n\t\treturn sqlStatesLine;\n\t}\n\n\tbool IsIgnoreWhen (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_IGNORE_WHEN) != 0;\n\t}\n\n\tbool IsIntoCondition (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_CONDITION) != 0;\n\t}\n\n\tbool IsIntoCaseBlock (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_NESTED_CASES) != 0;\n\t}\n\n\tbool IsIntoExceptionBlock (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_EXCEPTION) != 0;\n\t}\n\tbool IsIntoSelectStatementOrAssignment (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_SELECT_STATEMENT_OR_ASSIGNEMENT) != 0;\n\t}\n\tbool IsCaseMergeWithoutWhenFound (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_CASE_MERGE_WITHOUT_WHEN_FOUND) != 0;\n\t}\n\n\tbool IsIntoDeclareBlock (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_DECLARE) != 0;\n\t}\n\n\tbool IsIntoMergeStatement (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_MERGE_STATEMENT) != 0;\n\t}\n\n\tbool IsIntoCreateStatement (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_CREATE) != 0;\n\t}\n\n\tbool IsIntoCreateViewStatement (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_CREATE_VIEW) != 0;\n\t}\n\n\tbool IsIntoCreateViewAsStatement (sql_state_t sqlStatesLine) {\n\t\treturn (sqlStatesLine & MASK_INTO_CREATE_VIEW_AS_STATEMENT) != 0;\n\t}\n\n\tsql_state_t ForLine(Sci_Position lineNumber) {\n\t\treturn sqlStatement.ValueAt(lineNumber);\n\t}\n\n\tSQLStates() {}\n\nprivate :\n\tSparseState <sql_state_t> sqlStatement;\n\tenum {\n\t\tMASK_NESTED_CASES                         = 0x0001FF,\n\t\tMASK_INTO_SELECT_STATEMENT_OR_ASSIGNEMENT = 0x000200,\n\t\tMASK_CASE_MERGE_WITHOUT_WHEN_FOUND        = 0x000400,\n\t\tMASK_MERGE_STATEMENT                      = 0x000800,\n\t\tMASK_INTO_DECLARE                         = 0x001000,\n\t\tMASK_INTO_EXCEPTION                       = 0x002000,\n\t\tMASK_INTO_CONDITION                       = 0x004000,\n\t\tMASK_IGNORE_WHEN                          = 0x008000,\n\t\tMASK_INTO_CREATE                          = 0x010000,\n\t\tMASK_INTO_CREATE_VIEW                     = 0x020000,\n\t\tMASK_INTO_CREATE_VIEW_AS_STATEMENT        = 0x040000\n\t};\n};\n\n// Options used for LexerSQL\nstruct OptionsSQL {\n\tbool fold;\n\tbool foldAtElse;\n\tbool foldComment;\n\tbool foldCompact;\n\tbool foldOnlyBegin;\n\tbool sqlBackticksIdentifier;\n\tbool sqlNumbersignComment;\n\tbool sqlBackslashEscapes;\n\tbool sqlAllowDottedWord;\n\tOptionsSQL() {\n\t\tfold = false;\n\t\tfoldAtElse = false;\n\t\tfoldComment = false;\n\t\tfoldCompact = false;\n\t\tfoldOnlyBegin = false;\n\t\tsqlBackticksIdentifier = false;\n\t\tsqlNumbersignComment = false;\n\t\tsqlBackslashEscapes = false;\n\t\tsqlAllowDottedWord = false;\n\t}\n};\n\nstatic const char * const sqlWordListDesc[] = {\n\t\"Keywords\",\n\t\"Database Objects\",\n\t\"PLDoc\",\n\t\"SQL*Plus\",\n\t\"User Keywords 1\",\n\t\"User Keywords 2\",\n\t\"User Keywords 3\",\n\t\"User Keywords 4\",\n\t0\n};\n\nstruct OptionSetSQL : public OptionSet<OptionsSQL> {\n\tOptionSetSQL() {\n\t\tDefineProperty(\"fold\", &OptionsSQL::fold);\n\n\t\tDefineProperty(\"fold.sql.at.else\", &OptionsSQL::foldAtElse,\n\t\t               \"This option enables SQL folding on a \\\"ELSE\\\" and \\\"ELSIF\\\" line of an IF statement.\");\n\n\t\tDefineProperty(\"fold.comment\", &OptionsSQL::foldComment);\n\n\t\tDefineProperty(\"fold.compact\", &OptionsSQL::foldCompact);\n\n\t\tDefineProperty(\"fold.sql.only.begin\", &OptionsSQL::foldOnlyBegin);\n\n\t\tDefineProperty(\"lexer.sql.backticks.identifier\", &OptionsSQL::sqlBackticksIdentifier);\n\n\t\tDefineProperty(\"lexer.sql.numbersign.comment\", &OptionsSQL::sqlNumbersignComment,\n\t\t               \"If \\\"lexer.sql.numbersign.comment\\\" property is set to 0 a line beginning with '#' will not be a comment.\");\n\n\t\tDefineProperty(\"sql.backslash.escapes\", &OptionsSQL::sqlBackslashEscapes,\n\t\t               \"Enables backslash as an escape character in SQL.\");\n\n\t\tDefineProperty(\"lexer.sql.allow.dotted.word\", &OptionsSQL::sqlAllowDottedWord,\n\t\t               \"Set to 1 to colourise recognized words with dots \"\n\t\t               \"(recommended for Oracle PL/SQL objects).\");\n\n\t\tDefineWordListSets(sqlWordListDesc);\n\t}\n};\n\nclass LexerSQL : public DefaultLexer {\npublic :\n\tLexerSQL() {}\n\n\tvirtual ~LexerSQL() {}\n\n\tint SCI_METHOD Version () const override {\n\t\treturn lvOriginal;\n\t}\n\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\n\tconst char * SCI_METHOD PropertyNames() override {\n\t\treturn osSQL.PropertyNames();\n\t}\n\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osSQL.PropertyType(name);\n\t}\n\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osSQL.DescribeProperty(name);\n\t}\n\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override {\n\t\tif (osSQL.PropertySet(&options, key, val)) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn -1;\n\t}\n\n\tconst char * SCI_METHOD DescribeWordListSets() override {\n\t\treturn osSQL.DescribeWordListSets();\n\t}\n\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\n\tvoid * SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\n\n\tstatic ILexer *LexerFactorySQL() {\n\t\treturn new LexerSQL();\n\t}\nprivate:\n\tbool IsStreamCommentStyle(int style) {\n\t\treturn style == SCE_SQL_COMMENT ||\n\t\t       style == SCE_SQL_COMMENTDOC ||\n\t\t       style == SCE_SQL_COMMENTDOCKEYWORD ||\n\t\t       style == SCE_SQL_COMMENTDOCKEYWORDERROR;\n\t}\n\n\tbool IsCommentStyle (int style) {\n\t\tswitch (style) {\n\t\tcase SCE_SQL_COMMENT :\n\t\tcase SCE_SQL_COMMENTDOC :\n\t\tcase SCE_SQL_COMMENTLINE :\n\t\tcase SCE_SQL_COMMENTLINEDOC :\n\t\tcase SCE_SQL_COMMENTDOCKEYWORD :\n\t\tcase SCE_SQL_COMMENTDOCKEYWORDERROR :\n\t\t\treturn true;\n\t\tdefault :\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tbool IsCommentLine (Sci_Position line, LexAccessor &styler) {\n\t\tSci_Position pos = styler.LineStart(line);\n\t\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\t\tfor (Sci_Position i = pos; i + 1 < eol_pos; i++) {\n\t\t\tint style = styler.StyleAt(i);\n\t\t\t// MySQL needs -- comments to be followed by space or control char\n\t\t\tif (style == SCE_SQL_COMMENTLINE && styler.Match(i, \"--\"))\n\t\t\t\treturn true;\n\t\t\telse if (!IsASpaceOrTab(styler[i]))\n\t\t\t\treturn false;\n\t\t}\n\t\treturn false;\n\t}\n\n\tOptionsSQL options;\n\tOptionSetSQL osSQL;\n\tSQLStates sqlStates;\n\n\tWordList keywords1;\n\tWordList keywords2;\n\tWordList kw_pldoc;\n\tWordList kw_sqlplus;\n\tWordList kw_user1;\n\tWordList kw_user2;\n\tWordList kw_user3;\n\tWordList kw_user4;\n};\n\nSci_Position SCI_METHOD LexerSQL::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords1;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywords2;\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &kw_pldoc;\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &kw_sqlplus;\n\t\tbreak;\n\tcase 4:\n\t\twordListN = &kw_user1;\n\t\tbreak;\n\tcase 5:\n\t\twordListN = &kw_user2;\n\t\tbreak;\n\tcase 6:\n\t\twordListN = &kw_user3;\n\t\tbreak;\n\tcase 7:\n\t\twordListN = &kw_user4;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nvoid SCI_METHOD LexerSQL::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tLexAccessor styler(pAccess);\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tint styleBeforeDCKeyword = SCE_SQL_DEFAULT;\n\tSci_Position offset = 0;\n\n\tfor (; sc.More(); sc.Forward(), offset++) {\n\t\t// Determine if the current state should terminate.\n\t\tswitch (sc.state) {\n\t\tcase SCE_SQL_OPERATOR:\n\t\t\tsc.SetState(SCE_SQL_DEFAULT);\n\t\t\tbreak;\n\t\tcase SCE_SQL_NUMBER:\n\t\t\t// We stop the number definition on non-numerical non-dot non-eE non-sign char\n\t\t\tif (!IsANumberChar(sc.ch, sc.chPrev)) {\n\t\t\t\tsc.SetState(SCE_SQL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_IDENTIFIER:\n\t\t\tif (!IsAWordChar(sc.ch, options.sqlAllowDottedWord)) {\n\t\t\t\tint nextState = SCE_SQL_DEFAULT;\n\t\t\t\tchar s[1000];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (keywords1.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_WORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_WORD2);\n\t\t\t\t} else if (kw_sqlplus.InListAbbreviated(s, '~')) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_SQLPLUS);\n\t\t\t\t\tif (strncmp(s, \"rem\", 3) == 0) {\n\t\t\t\t\t\tnextState = SCE_SQL_SQLPLUS_COMMENT;\n\t\t\t\t\t} else if (strncmp(s, \"pro\", 3) == 0) {\n\t\t\t\t\t\tnextState = SCE_SQL_SQLPLUS_PROMPT;\n\t\t\t\t\t}\n\t\t\t\t} else if (kw_user1.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_USER1);\n\t\t\t\t} else if (kw_user2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_USER2);\n\t\t\t\t} else if (kw_user3.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_USER3);\n\t\t\t\t} else if (kw_user4.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_USER4);\n\t\t\t\t}\n\t\t\t\tsc.SetState(nextState);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_QUOTEDIDENTIFIER:\n\t\t\tif (sc.ch == 0x60) {\n\t\t\t\tif (sc.chNext == 0x60) {\n\t\t\t\t\tsc.Forward();\t// Ignore it\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_COMMENT:\n\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_COMMENTDOC:\n\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t} else if (sc.ch == '@' || sc.ch == '\\\\') { // Doxygen support\n\t\t\t\t// Verify that we have the conditions to mark a comment-doc-keyword\n\t\t\t\tif ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) {\n\t\t\t\t\tstyleBeforeDCKeyword = SCE_SQL_COMMENTDOC;\n\t\t\t\t\tsc.SetState(SCE_SQL_COMMENTDOCKEYWORD);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_COMMENTLINE:\n\t\tcase SCE_SQL_COMMENTLINEDOC:\n\t\tcase SCE_SQL_SQLPLUS_COMMENT:\n\t\tcase SCE_SQL_SQLPLUS_PROMPT:\n\t\t\tif (sc.atLineStart) {\n\t\t\t\tsc.SetState(SCE_SQL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_COMMENTDOCKEYWORD:\n\t\t\tif ((styleBeforeDCKeyword == SCE_SQL_COMMENTDOC) && sc.Match('*', '/')) {\n\t\t\t\tsc.ChangeState(SCE_SQL_COMMENTDOCKEYWORDERROR);\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t} else if (!IsADoxygenChar(sc.ch)) {\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (!isspace(sc.ch) || !kw_pldoc.InList(s + 1)) {\n\t\t\t\t\tsc.ChangeState(SCE_SQL_COMMENTDOCKEYWORDERROR);\n\t\t\t\t}\n\t\t\t\tsc.SetState(styleBeforeDCKeyword);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_CHARACTER:\n\t\t\tif (options.sqlBackslashEscapes && sc.ch == '\\\\') {\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_STRING:\n\t\t\tif (options.sqlBackslashEscapes && sc.ch == '\\\\') {\n\t\t\t\t// Escape sequence\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCE_SQL_QOPERATOR:\n\t\t\t// Locate the unique Q operator character\n\t\t\tsc.Complete();\n\t\t\tchar qOperator = 0x00;\n\t\t\tfor (Sci_Position styleStartPos = sc.currentPos; styleStartPos > 0; --styleStartPos) {\n\t\t\t\tif (styler.StyleAt(styleStartPos - 1) != SCE_SQL_QOPERATOR) {\n\t\t\t\t\tqOperator = styler.SafeGetCharAt(styleStartPos + 2);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchar qComplement = 0x00;\n\n\t\t\tif (qOperator == '<') {\n\t\t\t\tqComplement = '>';\n\t\t\t} else if (qOperator == '(') {\n\t\t\t\tqComplement = ')';\n\t\t\t} else if (qOperator == '{') {\n\t\t\t\tqComplement = '}';\n\t\t\t} else if (qOperator == '[') {\n\t\t\t\tqComplement = ']';\n\t\t\t} else {\n\t\t\t\tqComplement = qOperator;\n\t\t\t}\n\n\t\t\tif (sc.Match(qComplement, '\\'')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_SQL_DEFAULT);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_SQL_DEFAULT) {\n\t\t\tif (sc.Match('q', '\\'') || sc.Match('Q', '\\'')) {\n\t\t\t\tsc.SetState(SCE_SQL_QOPERATOR);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext)) ||\n\t\t\t          ((sc.ch == '-' || sc.ch == '+') && IsADigit(sc.chNext) && !IsADigit(sc.chPrev))) {\n\t\t\t\tsc.SetState(SCE_SQL_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_SQL_IDENTIFIER);\n\t\t\t} else if (sc.ch == 0x60 && options.sqlBackticksIdentifier) {\n\t\t\t\tsc.SetState(SCE_SQL_QUOTEDIDENTIFIER);\n\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\tif (sc.Match(\"/**\") || sc.Match(\"/*!\")) {\t// Support of Doxygen doc. style\n\t\t\t\t\tsc.SetState(SCE_SQL_COMMENTDOC);\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_SQL_COMMENT);\n\t\t\t\t}\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('-', '-')) {\n\t\t\t\t// MySQL requires a space or control char after --\n\t\t\t\t// http://dev.mysql.com/doc/mysql/en/ansi-diff-comments.html\n\t\t\t\t// Perhaps we should enforce that with proper property:\n\t\t\t\t//~ \t\t\t} else if (sc.Match(\"-- \")) {\n\t\t\t\tsc.SetState(SCE_SQL_COMMENTLINE);\n\t\t\t} else if (sc.ch == '#' && options.sqlNumbersignComment) {\n\t\t\t\tsc.SetState(SCE_SQL_COMMENTLINEDOC);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_SQL_CHARACTER);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_SQL_STRING);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\tsc.SetState(SCE_SQL_OPERATOR);\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nvoid SCI_METHOD LexerSQL::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\tif (!options.fold)\n\t\treturn;\n\tLexAccessor styler(pAccess);\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\n\tif (lineCurrent > 0) {\n\t\t// Backtrack to previous line in case need to fix its fold status for folding block of single-line comments (i.e. '--').\n\t\tSci_Position lastNLPos = -1;\n\t\t// And keep going back until we find an operator ';' followed\n\t\t// by white-space and/or comments. This will improve folding.\n\t\twhile (--startPos > 0) {\n\t\t\tchar ch = styler[startPos];\n\t\t\tif (ch == '\\n' || (ch == '\\r' && styler[startPos + 1] != '\\n')) {\n\t\t\t\tlastNLPos = startPos;\n\t\t\t} else if (ch == ';' &&\n\t\t\t\t   styler.StyleAt(startPos) == SCE_SQL_OPERATOR) {\n\t\t\t\tbool isAllClear = true;\n\t\t\t\tfor (Sci_Position tempPos = startPos + 1;\n\t\t\t\t     tempPos < lastNLPos;\n\t\t\t\t     ++tempPos) {\n\t\t\t\t\tint tempStyle = styler.StyleAt(tempPos);\n\t\t\t\t\tif (!IsCommentStyle(tempStyle)\n\t\t\t\t\t    && tempStyle != SCE_SQL_DEFAULT) {\n\t\t\t\t\t\tisAllClear = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (isAllClear) {\n\t\t\t\t\tstartPos = lastNLPos + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlineCurrent = styler.GetLine(startPos);\n\t\tif (lineCurrent > 0)\n\t\t\tlevelCurrent = styler.LevelAt(lineCurrent - 1) >> 16;\n\t}\n\t// And because folding ends at ';', keep going until we find one\n\t// Otherwise if create ... view ... as is split over multiple\n\t// lines the folding won't always update immediately.\n\tSci_PositionU docLength = styler.Length();\n\tfor (; endPos < docLength; ++endPos) {\n\t\tif (styler.SafeGetCharAt(endPos) == ';') {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tbool endFound = false;\n\tbool isUnfoldingIgnored = false;\n\t// this statementFound flag avoids to fold when the statement is on only one line by ignoring ELSE or ELSIF\n\t// eg. \"IF condition1 THEN ... ELSIF condition2 THEN ... ELSE ... END IF;\"\n\tbool statementFound = false;\n\tsql_state_t sqlStatesCurrentLine = 0;\n\tif (!options.foldOnlyBegin) {\n\t\tsqlStatesCurrentLine = sqlStates.ForLine(lineCurrent);\n\t}\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (atEOL || (!IsCommentStyle(style) && ch == ';')) {\n\t\t\tif (endFound) {\n\t\t\t\t//Maybe this is the end of \"EXCEPTION\" BLOCK (eg. \"BEGIN ... EXCEPTION ... END;\")\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoExceptionBlock(sqlStatesCurrentLine, false);\n\t\t\t}\n\t\t\t// set endFound and isUnfoldingIgnored to false if EOL is reached or ';' is found\n\t\t\tendFound = false;\n\t\t\tisUnfoldingIgnored = false;\n\t\t}\n\t\tif ((!IsCommentStyle(style) && ch == ';')) {\n\t\t\tif (sqlStates.IsIntoMergeStatement(sqlStatesCurrentLine)) {\n\t\t\t\t// This is the end of \"MERGE\" statement.\n\t\t\t\tif (!sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine))\n\t\t\t\t\tlevelNext--;\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoMergeStatement(sqlStatesCurrentLine, false);\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t\tif (sqlStates.IsIntoSelectStatementOrAssignment(sqlStatesCurrentLine))\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoSelectStatementOrAssignment(sqlStatesCurrentLine, false);\n\t\t\tif (sqlStates.IsIntoCreateStatement(sqlStatesCurrentLine)) {\n\t\t\t\tif (sqlStates.IsIntoCreateViewStatement(sqlStatesCurrentLine)) {\n\t\t\t\t\tif (sqlStates.IsIntoCreateViewAsStatement(sqlStatesCurrentLine)) {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCreateViewAsStatement(sqlStatesCurrentLine, false);\n\t\t\t\t\t}\n\t\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCreateViewStatement(sqlStatesCurrentLine, false);\n\t\t\t\t}\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCreateStatement(sqlStatesCurrentLine, false);\n\t\t\t}\n\t\t}\n\t\tif (ch == ':' && chNext == '=' && !IsCommentStyle(style))\n\t\t\tsqlStatesCurrentLine = sqlStates.IntoSelectStatementOrAssignment(sqlStatesCurrentLine, true);\n\n\t\tif (options.foldComment && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (options.foldComment && (style == SCE_SQL_COMMENTLINE)) {\n\t\t\t// MySQL needs -- comments to be followed by space or control char\n\t\t\tif ((ch == '-') && (chNext == '-')) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tchar chNext3 = styler.SafeGetCharAt(i + 3);\n\t\t\t\tif (chNext2 == '{' || chNext3 == '{') {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (chNext2 == '}' || chNext3 == '}') {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Fold block of single-line comments (i.e. '--').\n\t\tif (options.foldComment && atEOL && IsCommentLine(lineCurrent, styler)) {\n\t\t\tif (!IsCommentLine(lineCurrent - 1, styler) && IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelNext++;\n\t\t\telse if (IsCommentLine(lineCurrent - 1, styler) && !IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\tlevelNext--;\n\t\t}\n\t\tif (style == SCE_SQL_OPERATOR) {\n\t\t\tif (ch == '(') {\n\t\t\t\tif (levelCurrent > levelNext)\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == ')') {\n\t\t\t\tlevelNext--;\n\t\t\t} else if ((!options.foldOnlyBegin) && ch == ';') {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IgnoreWhen(sqlStatesCurrentLine, false);\n\t\t\t}\n\t\t}\n\t\t// If new keyword (cannot trigger on elseif or nullif, does less tests)\n\t\tif (style == SCE_SQL_WORD && stylePrev != SCE_SQL_WORD) {\n\t\t\tconst int MAX_KW_LEN = 9;\t// Maximum length of folding keywords\n\t\t\tchar s[MAX_KW_LEN + 2];\n\t\t\tunsigned int j = 0;\n\t\t\tfor (; j < MAX_KW_LEN + 1; j++) {\n\t\t\t\tif (!iswordchar(styler[i + j])) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\ts[j] = static_cast<char>(tolower(styler[i + j]));\n\t\t\t}\n\t\t\tif (j == MAX_KW_LEN + 1) {\n\t\t\t\t// Keyword too long, don't test it\n\t\t\t\ts[0] = '\\0';\n\t\t\t} else {\n\t\t\t\ts[j] = '\\0';\n\t\t\t}\n\t\t\tif (!options.foldOnlyBegin &&\n\t\t\t        strcmp(s, \"select\") == 0) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoSelectStatementOrAssignment(sqlStatesCurrentLine, true);\n\t\t\t} else if (strcmp(s, \"if\") == 0) {\n\t\t\t\tif (endFound) {\n\t\t\t\t\tendFound = false;\n\t\t\t\t\tif (options.foldOnlyBegin && !isUnfoldingIgnored) {\n\t\t\t\t\t\t// this end isn't for begin block, but for if block (\"end if;\")\n\t\t\t\t\t\t// so ignore previous \"end\" by increment levelNext.\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!options.foldOnlyBegin)\n\t\t\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCondition(sqlStatesCurrentLine, true);\n\t\t\t\t\tif (levelCurrent > levelNext) {\n\t\t\t\t\t\t// doesn't include this line into the folding block\n\t\t\t\t\t\t// because doesn't hide IF (eg \"END; IF\")\n\t\t\t\t\t\tlevelCurrent = levelNext;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (!options.foldOnlyBegin &&\n\t\t\t           strcmp(s, \"then\") == 0 &&\n\t\t\t           sqlStates.IsIntoCondition(sqlStatesCurrentLine)) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCondition(sqlStatesCurrentLine, false);\n\t\t\t\tif (!options.foldOnlyBegin) {\n\t\t\t\t\tif (levelCurrent > levelNext) {\n\t\t\t\t\t\tlevelCurrent = levelNext;\n\t\t\t\t\t}\n\t\t\t\t\tif (!statementFound)\n\t\t\t\t\t\tlevelNext++;\n\n\t\t\t\t\tstatementFound = true;\n\t\t\t\t} else if (levelCurrent > levelNext) {\n\t\t\t\t\t// doesn't include this line into the folding block\n\t\t\t\t\t// because doesn't hide LOOP or CASE (eg \"END; LOOP\" or \"END; CASE\")\n\t\t\t\t\tlevelCurrent = levelNext;\n\t\t\t\t}\n\t\t\t} else if (strcmp(s, \"loop\") == 0 ||\n\t\t\t           strcmp(s, \"case\") == 0) {\n\t\t\t\tif (endFound) {\n\t\t\t\t\tendFound = false;\n\t\t\t\t\tif (options.foldOnlyBegin && !isUnfoldingIgnored) {\n\t\t\t\t\t\t// this end isn't for begin block, but for loop block (\"end loop;\") or case block (\"end case;\")\n\t\t\t\t\t\t// so ignore previous \"end\" by increment levelNext.\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t}\n\t\t\t\t\tif ((!options.foldOnlyBegin) && strcmp(s, \"case\") == 0) {\n\t\t\t\t\t\tsqlStatesCurrentLine = sqlStates.EndCaseBlock(sqlStatesCurrentLine);\n\t\t\t\t\t\tif (!sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine))\n\t\t\t\t\t\t\tlevelNext--; //again for the \"end case;\" and block when\n\t\t\t\t\t}\n\t\t\t\t} else if (!options.foldOnlyBegin) {\n\t\t\t\t\tif (strcmp(s, \"case\") == 0) {\n\t\t\t\t\t\tsqlStatesCurrentLine = sqlStates.BeginCaseBlock(sqlStatesCurrentLine);\n\t\t\t\t\t\tsqlStatesCurrentLine = sqlStates.CaseMergeWithoutWhenFound(sqlStatesCurrentLine, true);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (levelCurrent > levelNext)\n\t\t\t\t\t\tlevelCurrent = levelNext;\n\n\t\t\t\t\tif (!statementFound)\n\t\t\t\t\t\tlevelNext++;\n\n\t\t\t\t\tstatementFound = true;\n\t\t\t\t} else if (levelCurrent > levelNext) {\n\t\t\t\t\t// doesn't include this line into the folding block\n\t\t\t\t\t// because doesn't hide LOOP or CASE (eg \"END; LOOP\" or \"END; CASE\")\n\t\t\t\t\tlevelCurrent = levelNext;\n\t\t\t\t}\n\t\t\t} else if ((!options.foldOnlyBegin) && (\n\t\t\t               // folding for ELSE and ELSIF block only if foldAtElse is set\n\t\t\t               // and IF or CASE aren't on only one line with ELSE or ELSIF (with flag statementFound)\n\t\t\t               options.foldAtElse && !statementFound) && strcmp(s, \"elsif\") == 0) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCondition(sqlStatesCurrentLine, true);\n\t\t\t\tlevelCurrent--;\n\t\t\t\tlevelNext--;\n\t\t\t} else if ((!options.foldOnlyBegin) && (\n\t\t\t               // folding for ELSE and ELSIF block only if foldAtElse is set\n\t\t\t               // and IF or CASE aren't on only one line with ELSE or ELSIF (with flag statementFound)\n\t\t\t               options.foldAtElse && !statementFound) && strcmp(s, \"else\") == 0) {\n\t\t\t\t// prevent also ELSE is on the same line (eg. \"ELSE ... END IF;\")\n\t\t\t\tstatementFound = true;\n\t\t\t\tif (sqlStates.IsIntoCaseBlock(sqlStatesCurrentLine) && sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine)) {\n\t\t\t\t\tsqlStatesCurrentLine = sqlStates.CaseMergeWithoutWhenFound(sqlStatesCurrentLine, false);\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else {\n\t\t\t\t\t// we are in same case \"} ELSE {\" in C language\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t} else if (strcmp(s, \"begin\") == 0) {\n\t\t\t\tlevelNext++;\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoDeclareBlock(sqlStatesCurrentLine, false);\n\t\t\t} else if ((strcmp(s, \"end\") == 0) ||\n\t\t\t           // SQL Anywhere permits IF ... ELSE ... ENDIF\n\t\t\t           // will only be active if \"endif\" appears in the\n\t\t\t           // keyword list.\n\t\t\t           (strcmp(s, \"endif\") == 0)) {\n\t\t\t\tendFound = true;\n\t\t\t\tlevelNext--;\n\t\t\t\tif (sqlStates.IsIntoSelectStatementOrAssignment(sqlStatesCurrentLine) && !sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine))\n\t\t\t\t\tlevelNext--;\n\t\t\t\tif (levelNext < SC_FOLDLEVELBASE) {\n\t\t\t\t\tlevelNext = SC_FOLDLEVELBASE;\n\t\t\t\t\tisUnfoldingIgnored = true;\n\t\t\t\t}\n\t\t\t} else if ((!options.foldOnlyBegin) &&\n\t\t\t           strcmp(s, \"when\") == 0 &&\n\t\t\t           !sqlStates.IsIgnoreWhen(sqlStatesCurrentLine) &&\n\t\t\t           !sqlStates.IsIntoExceptionBlock(sqlStatesCurrentLine) && (\n\t\t\t               sqlStates.IsIntoCaseBlock(sqlStatesCurrentLine) ||\n\t\t\t               sqlStates.IsIntoMergeStatement(sqlStatesCurrentLine)\n\t\t\t               )\n\t\t\t           ) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCondition(sqlStatesCurrentLine, true);\n\n\t\t\t\t// Don't foldind when CASE and WHEN are on the same line (with flag statementFound) (eg. \"CASE selector WHEN expression1 THEN sequence_of_statements1;\\n\")\n\t\t\t\t// and same way for MERGE statement.\n\t\t\t\tif (!statementFound) {\n\t\t\t\t\tif (!sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine)) {\n\t\t\t\t\t\tlevelCurrent--;\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t}\n\t\t\t\t\tsqlStatesCurrentLine = sqlStates.CaseMergeWithoutWhenFound(sqlStatesCurrentLine, false);\n\t\t\t\t}\n\t\t\t} else if ((!options.foldOnlyBegin) && strcmp(s, \"exit\") == 0) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IgnoreWhen(sqlStatesCurrentLine, true);\n\t\t\t} else if ((!options.foldOnlyBegin) && !sqlStates.IsIntoDeclareBlock(sqlStatesCurrentLine) && strcmp(s, \"exception\") == 0) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoExceptionBlock(sqlStatesCurrentLine, true);\n\t\t\t} else if ((!options.foldOnlyBegin) &&\n\t\t\t           (strcmp(s, \"declare\") == 0 ||\n\t\t\t            strcmp(s, \"function\") == 0 ||\n\t\t\t            strcmp(s, \"procedure\") == 0 ||\n\t\t\t            strcmp(s, \"package\") == 0)) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoDeclareBlock(sqlStatesCurrentLine, true);\n\t\t\t} else if ((!options.foldOnlyBegin) &&\n\t\t\t           strcmp(s, \"merge\") == 0) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoMergeStatement(sqlStatesCurrentLine, true);\n\t\t\t\tsqlStatesCurrentLine = sqlStates.CaseMergeWithoutWhenFound(sqlStatesCurrentLine, true);\n\t\t\t\tlevelNext++;\n\t\t\t\tstatementFound = true;\n\t\t\t} else if ((!options.foldOnlyBegin) &&\n\t\t\t\t   strcmp(s, \"create\") == 0) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCreateStatement(sqlStatesCurrentLine, true);\n\t\t\t} else if ((!options.foldOnlyBegin) &&\n\t\t\t\t   strcmp(s, \"view\") == 0 &&\n\t\t\t\t   sqlStates.IsIntoCreateStatement(sqlStatesCurrentLine)) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCreateViewStatement(sqlStatesCurrentLine, true);\n\t\t\t} else if ((!options.foldOnlyBegin) &&\n\t\t\t\t   strcmp(s, \"as\") == 0 &&\n\t\t\t\t   sqlStates.IsIntoCreateViewStatement(sqlStatesCurrentLine) &&\n\t\t\t\t   ! sqlStates.IsIntoCreateViewAsStatement(sqlStatesCurrentLine)) {\n\t\t\t\tsqlStatesCurrentLine = sqlStates.IntoCreateViewAsStatement(sqlStatesCurrentLine, true);\n\t\t\t\tlevelNext++;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tvisibleChars = 0;\n\t\t\tstatementFound = false;\n\t\t\tif (!options.foldOnlyBegin)\n\t\t\t\tsqlStates.Set(lineCurrent, sqlStatesCurrentLine);\n\t\t}\n\t\tif (!isspacechar(ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n}\n\nLexerModule lmSQL(SCLEX_SQL, LexerSQL::LexerFactorySQL, \"sql\", sqlWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSTTXT.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSTTXT.cxx\n ** Lexer for Structured Text language.\n ** Written by Pavel Bulochkin\n **/\n// The License.txt file describes the conditions under which this software may be distributed.\n\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ClassifySTTXTWord(WordList *keywordlists[], StyleContext &sc)\n{\n\tchar s[256] = { 0 };\n\tsc.GetCurrentLowered(s, sizeof(s));\n\n \tif ((*keywordlists[0]).InList(s)) {\n \t\tsc.ChangeState(SCE_STTXT_KEYWORD);\n \t}\n\n\telse if ((*keywordlists[1]).InList(s)) {\n\t\tsc.ChangeState(SCE_STTXT_TYPE);\n\t}\n\n\telse if ((*keywordlists[2]).InList(s)) {\n\t\tsc.ChangeState(SCE_STTXT_FUNCTION);\n\t}\n\n\telse if ((*keywordlists[3]).InList(s)) {\n\t\tsc.ChangeState(SCE_STTXT_FB);\n\t}\n\n\telse if ((*keywordlists[4]).InList(s)) {\n\t\tsc.ChangeState(SCE_STTXT_VARS);\n\t}\n\n\telse if ((*keywordlists[5]).InList(s)) {\n\t\tsc.ChangeState(SCE_STTXT_PRAGMAS);\n\t}\n\n\tsc.SetState(SCE_STTXT_DEFAULT);\n}\n\nstatic void ColouriseSTTXTDoc (Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t\t\t  WordList *keywordlists[], Accessor &styler)\n{\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\", 0x80, true);\n\tCharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n\tCharacterSet setNumber(CharacterSet::setDigits, \"_.eE\");\n\tCharacterSet setHexNumber(CharacterSet::setDigits, \"_abcdefABCDEF\");\n\tCharacterSet setOperator(CharacterSet::setNone,\",.+-*/:;<=>[]()%&\");\n\tCharacterSet setDataTime(CharacterSet::setDigits,\"_.-:dmshDMSH\");\n\n \tfor ( ; sc.More() ; sc.Forward())\n \t{\n\t\tif(sc.atLineStart && sc.state != SCE_STTXT_COMMENT)\n\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\n\t\tswitch(sc.state)\n\t\t{\n\t\t\tcase SCE_STTXT_NUMBER: {\n\t\t\t\tif(!setNumber.Contains(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_HEXNUMBER: {\n\t\t\t\tif (setHexNumber.Contains(sc.ch))\n\t\t\t\t\tcontinue;\n\t\t\t\telse if(setDataTime.Contains(sc.ch))\n\t\t\t\t\tsc.ChangeState(SCE_STTXT_DATETIME);\n\t\t\t\telse if(setWord.Contains(sc.ch))\n\t\t\t\t\tsc.ChangeState(SCE_STTXT_DEFAULT);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_DATETIME: {\n\t\t\t\tif (setDataTime.Contains(sc.ch))\n\t\t\t\t\tcontinue;\n\t\t\t\telse if(setWord.Contains(sc.ch))\n\t\t\t\t\tsc.ChangeState(SCE_STTXT_DEFAULT);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_OPERATOR: {\n\t\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_PRAGMA: {\n\t\t\t\tif (sc.ch == '}')\n\t\t\t\t\tsc.ForwardSetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_COMMENTLINE: {\n\t\t\t\tif (sc.atLineStart)\n\t\t\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_COMMENT: {\n\t\t\t\tif(sc.Match('*',')'))\n\t\t\t\t{\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_STTXT_DEFAULT);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_STRING1: {\n\t\t\t\tif(sc.atLineEnd)\n\t\t\t\t\tsc.SetState(SCE_STTXT_STRINGEOL);\n\t\t\t\telse if(sc.ch == '\\'' && sc.chPrev != '$')\n\t\t\t\t\tsc.ForwardSetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_STRING2: {\n\t\t\t\tif (sc.atLineEnd)\n\t\t\t\t\tsc.SetState(SCE_STTXT_STRINGEOL);\n\t\t\t\telse if(sc.ch == '\\\"' && sc.chPrev != '$')\n\t\t\t\t\tsc.ForwardSetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_STRINGEOL: {\n\t\t\t\tif(sc.atLineStart)\n\t\t\t\t\tsc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_CHARACTER: {\n\t\t\t\tif(setHexNumber.Contains(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_STTXT_HEXNUMBER);\n\t\t\t\telse if(setDataTime.Contains(sc.ch))\n\t\t\t\t\tsc.SetState(SCE_STTXT_DATETIME);\n\t\t\t\telse sc.SetState(SCE_STTXT_DEFAULT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SCE_STTXT_IDENTIFIER: {\n\t\t\t\tif(!setWord.Contains(sc.ch))\n\t\t\t\t\tClassifySTTXTWord(keywordlists, sc);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif(sc.state == SCE_STTXT_DEFAULT)\n\t\t{\n\t\t\tif(IsADigit(sc.ch))\n\t\t\t\tsc.SetState(SCE_STTXT_NUMBER);\n\t\t\telse if (setWordStart.Contains(sc.ch))\n\t\t\t\tsc.SetState(SCE_STTXT_IDENTIFIER);\n\t\t\telse if (sc.Match('/', '/'))\n\t\t\t\tsc.SetState(SCE_STTXT_COMMENTLINE);\n\t\t\telse if(sc.Match('(', '*'))\n\t\t\t\tsc.SetState(SCE_STTXT_COMMENT);\n\t\t\telse if (sc.ch == '{')\n\t\t\t\tsc.SetState(SCE_STTXT_PRAGMA);\n\t\t\telse if (sc.ch == '\\'')\n\t\t\t\tsc.SetState(SCE_STTXT_STRING1);\n\t\t\telse if (sc.ch == '\\\"')\n\t\t\t\tsc.SetState(SCE_STTXT_STRING2);\n\t\t\telse if(sc.ch == '#')\n\t\t\t\tsc.SetState(SCE_STTXT_CHARACTER);\n\t\t\telse if (setOperator.Contains(sc.ch))\n\t\t\t\tsc.SetState(SCE_STTXT_OPERATOR);\n\t\t}\n \t}\n\n\tif (sc.state == SCE_STTXT_IDENTIFIER && setWord.Contains(sc.chPrev))\n\t\tClassifySTTXTWord(keywordlists, sc);\n\n\tsc.Complete();\n}\n\nstatic const char * const STTXTWordListDesc[] = {\n\t\"Keywords\",\n\t\"Types\",\n\t\"Functions\",\n\t\"FB\",\n\t\"Local_Var\",\n\t\"Local_Pragma\",\n\t0\n};\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler, bool type)\n{\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eolPos = styler.LineStart(line + 1) - 1;\n\n\tfor (Sci_Position i = pos; i < eolPos; i++)\n\t{\n\t\tchar ch = styler[i];\n\t\tchar chNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i);\n\n\t\tif(type) {\n\t\t\t if (ch == '/' && chNext == '/' && style == SCE_STTXT_COMMENTLINE)\n\t\t\t\treturn true;\n\t\t}\n\t\telse if (ch == '(' && chNext == '*' && style == SCE_STTXT_COMMENT)\n\t\t\tbreak;\n\n\t\tif (!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\n\tfor (Sci_Position i = eolPos-2; i>pos; i--)\n\t{\n\t\tchar ch = styler[i];\n\t\tchar chPrev = styler.SafeGetCharAt(i-1);\n\t\tint style = styler.StyleAt(i);\n\n\t\tif(ch == ')' && chPrev == '*' && style == SCE_STTXT_COMMENT)\n\t\t\treturn true;\n\t\tif(!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\n\treturn false;\n}\n\nstatic bool IsPragmaLine(Sci_Position line, Accessor &styler)\n{\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eolPos = styler.LineStart(line+1) - 1;\n\n\tfor (Sci_Position i = pos ; i < eolPos ; i++)\n\t{\n\t\tchar ch = styler[i];\n\t\tint style = styler.StyleAt(i);\n\n\t\tif(ch == '{' && style == SCE_STTXT_PRAGMA)\n\t\t\treturn true;\n\t\telse if (!IsASpaceOrTab(ch))\n\t\t\treturn false;\n\t}\n\treturn false;\n}\n\nstatic void GetRangeUpper(Sci_PositionU start,Sci_PositionU end,Accessor &styler,char *s,Sci_PositionU len)\n{\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = static_cast<char>(toupper(styler[start + i]));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic void ClassifySTTXTWordFoldPoint(int &levelCurrent,Sci_PositionU lastStart,\n\t\t\t\t\t\t\t\t\t Sci_PositionU currentPos, Accessor &styler)\n{\n\tchar s[256];\n\tGetRangeUpper(lastStart, currentPos, styler, s, sizeof(s));\n\n\t// See Table C.2 - Keywords\n\tif (!strcmp(s, \"ACTION\") ||\n\t\t!strcmp(s, \"CASE\") ||\n\t\t!strcmp(s, \"CONFIGURATION\") ||\n\t\t!strcmp(s, \"FOR\") ||\n\t\t!strcmp(s, \"FUNCTION\") ||\n\t\t!strcmp(s, \"FUNCTION_BLOCK\") ||\n\t\t!strcmp(s, \"IF\") ||\n\t\t!strcmp(s, \"INITIAL_STEP\") ||\n\t\t!strcmp(s, \"REPEAT\") ||\n\t\t!strcmp(s, \"RESOURCE\") ||\n\t\t!strcmp(s, \"STEP\") ||\n\t\t!strcmp(s, \"STRUCT\") ||\n\t\t!strcmp(s, \"TRANSITION\") ||\n\t\t!strcmp(s, \"TYPE\") ||\n\t\t!strcmp(s, \"VAR\") ||\n\t\t!strcmp(s, \"VAR_INPUT\") ||\n\t\t!strcmp(s, \"VAR_OUTPUT\") ||\n\t\t!strcmp(s, \"VAR_IN_OUT\") ||\n\t\t!strcmp(s, \"VAR_TEMP\") ||\n\t\t!strcmp(s, \"VAR_EXTERNAL\") ||\n\t\t!strcmp(s, \"VAR_ACCESS\") ||\n\t\t!strcmp(s, \"VAR_CONFIG\") ||\n\t\t!strcmp(s, \"VAR_GLOBAL\") ||\n\t\t!strcmp(s, \"WHILE\"))\n\t{\n\t\tlevelCurrent++;\n\t}\n\telse if (!strcmp(s, \"END_ACTION\") ||\n\t\t!strcmp(s, \"END_CASE\") ||\n\t\t!strcmp(s, \"END_CONFIGURATION\") ||\n\t\t!strcmp(s, \"END_FOR\") ||\n\t\t!strcmp(s, \"END_FUNCTION\") ||\n\t\t!strcmp(s, \"END_FUNCTION_BLOCK\") ||\n\t\t!strcmp(s, \"END_IF\") ||\n\t\t!strcmp(s, \"END_REPEAT\") ||\n\t\t!strcmp(s, \"END_RESOURCE\") ||\n\t\t!strcmp(s, \"END_STEP\") ||\n\t\t!strcmp(s, \"END_STRUCT\") ||\n\t\t!strcmp(s, \"END_TRANSITION\") ||\n\t\t!strcmp(s, \"END_TYPE\") ||\n\t\t!strcmp(s, \"END_VAR\") ||\n\t\t!strcmp(s, \"END_WHILE\"))\n\t{\n\t\tlevelCurrent--;\n\t\tif (levelCurrent < SC_FOLDLEVELBASE) {\n\t\t\tlevelCurrent = SC_FOLDLEVELBASE;\n\t\t}\n\t}\n}\n\nstatic void FoldSTTXTDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[],Accessor &styler)\n{\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldPreprocessor = styler.GetPropertyInt(\"fold.preprocessor\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tSci_Position lastStart = 0;\n\n\tCharacterSet setWord(CharacterSet::setAlphaNum, \"_\", 0x80, true);\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++)\n\t{\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (foldComment && style == SCE_STTXT_COMMENT) {\n\t\t\tif(stylePrev != SCE_STTXT_COMMENT)\n\t\t\t\tlevelCurrent++;\n\t\t\telse if(styleNext != SCE_STTXT_COMMENT && !atEOL)\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\tif ( foldComment && atEOL && ( IsCommentLine(lineCurrent, styler,false)\n\t\t\t|| IsCommentLine(lineCurrent,styler,true))) {\n \t\t\tif(!IsCommentLine(lineCurrent-1, styler,true) && IsCommentLine(lineCurrent+1, styler,true))\n\t\t\t\tlevelCurrent++;\n\t\t\tif (IsCommentLine(lineCurrent-1, styler,true) && !IsCommentLine(lineCurrent+1, styler,true))\n\t\t\t\tlevelCurrent--;\n\t\t\tif (!IsCommentLine(lineCurrent-1, styler,false) && IsCommentLine(lineCurrent+1, styler,false))\n\t\t\t\tlevelCurrent++;\n\t\t\tif (IsCommentLine(lineCurrent-1, styler,false) && !IsCommentLine(lineCurrent+1, styler,false))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\tif(foldPreprocessor && atEOL && IsPragmaLine(lineCurrent, styler)) {\n\t\t\tif(!IsPragmaLine(lineCurrent-1, styler) && IsPragmaLine(lineCurrent+1, styler ))\n\t\t\t\tlevelCurrent++;\n\t\t\telse if(IsPragmaLine(lineCurrent-1, styler) && !IsPragmaLine(lineCurrent+1, styler))\n\t\t\t\tlevelCurrent--;\n\t\t}\n\t\tif (stylePrev != SCE_STTXT_KEYWORD && style == SCE_STTXT_KEYWORD) {\n\t\t\t\tlastStart = i;\n\t\t}\n\t\tif(stylePrev == SCE_STTXT_KEYWORD) {\n\t\t\tif(setWord.Contains(ch) && !setWord.Contains(chNext))\n\t\t\t\tClassifySTTXTWordFoldPoint(levelCurrent,lastStart, i, styler);\n\t\t}\n\t\tif (!IsASpace(ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent))\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\t// If we didn't reach the EOL in previous loop, store line level and whitespace information.\n\t\t// The rest will be filled in later...\n\t\tint lev = levelPrev;\n\t\tif (visibleChars == 0 && foldCompact)\n\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\tstyler.SetLevel(lineCurrent, lev);\n\t}\n}\n\nLexerModule lmSTTXT(SCLEX_STTXT, ColouriseSTTXTDoc, \"fcST\", FoldSTTXTDoc, STTXTWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexScriptol.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexScriptol.cxx\n ** Lexer for Scriptol.\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ClassifyWordSol(Sci_PositionU start, Sci_PositionU end, WordList &keywords, Accessor &styler, char *prevWord)\n{\n    char s[100] = \"\";\n    bool wordIsNumber = isdigit(styler[start]) != 0;\n    for (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++)\n     {\n           s[i] = styler[start + i];\n           s[i + 1] = '\\0';\n     }\n    char chAttr = SCE_SCRIPTOL_IDENTIFIER;\n    if (0 == strcmp(prevWord, \"class\"))       chAttr = SCE_SCRIPTOL_CLASSNAME;\n    else if (wordIsNumber)                    chAttr = SCE_SCRIPTOL_NUMBER;\n    else if (keywords.InList(s))              chAttr = SCE_SCRIPTOL_KEYWORD;\n    else for (Sci_PositionU i = 0; i < end - start + 1; i++)  // test dotted idents\n    {\n        if (styler[start + i] == '.')\n        {\n            styler.ColourTo(start + i - 1, chAttr);\n            styler.ColourTo(start + i, SCE_SCRIPTOL_OPERATOR);\n        }\n    }\n    styler.ColourTo(end, chAttr);\n    strcpy(prevWord, s);\n}\n\nstatic bool IsSolComment(Accessor &styler, Sci_Position pos, Sci_Position len)\n{\n   if(len > 0)\n   {\n     char c = styler[pos];\n     if(c == '`') return true;\n     if(len > 1)\n     {\n        if(c == '/')\n        {\n          c = styler[pos + 1];\n          if(c == '/') return true;\n          if(c == '*') return true;\n        }\n     }\n   }\n   return false;\n}\n\nstatic bool IsSolStringStart(char ch)\n{\n    if (ch == '\\'' || ch == '\"')  return true;\n    return false;\n}\n\nstatic bool IsSolWordStart(char ch)\n{\n    return (iswordchar(ch) && !IsSolStringStart(ch));\n}\n\n\nstatic int GetSolStringState(Accessor &styler, Sci_Position i, Sci_Position *nextIndex)\n{\n\tchar ch = styler.SafeGetCharAt(i);\n\tchar chNext = styler.SafeGetCharAt(i + 1);\n\n        if (ch != '\\\"' && ch != '\\'')\n        {\n            *nextIndex = i + 1;\n            return SCE_SCRIPTOL_DEFAULT;\n\t}\n        // ch is either single or double quotes in string\n        // code below seem non-sense but is here for future extensions\n\tif (ch == chNext && ch == styler.SafeGetCharAt(i + 2))\n        {\n          *nextIndex = i + 3;\n          if(ch == '\\\"') return SCE_SCRIPTOL_TRIPLE;\n          if(ch == '\\'') return SCE_SCRIPTOL_TRIPLE;\n          return SCE_SCRIPTOL_STRING;\n\t}\n        else\n        {\n          *nextIndex = i + 1;\n          if (ch == '\"') return SCE_SCRIPTOL_STRING;\n          else           return SCE_SCRIPTOL_STRING;\n\t}\n}\n\n\nstatic void ColouriseSolDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                            WordList *keywordlists[], Accessor &styler)\n {\n\n\tSci_Position lengthDoc = startPos + length;\n        char stringType = '\\\"';\n\n\tif (startPos > 0)\n        {\n            Sci_Position lineCurrent = styler.GetLine(startPos);\n            if (lineCurrent > 0)\n            {\n              startPos = styler.LineStart(lineCurrent-1);\n              if (startPos == 0) initStyle = SCE_SCRIPTOL_DEFAULT;\n              else               initStyle = styler.StyleAt(startPos-1);\n            }\n\t}\n\n\tstyler.StartAt(startPos);\n\n\tWordList &keywords = *keywordlists[0];\n\n\tchar prevWord[200];\n\tprevWord[0] = '\\0';\n        if (length == 0)  return;\n\n\tint state = initStyle & 31;\n\n\tSci_Position nextIndex = 0;\n        char chPrev  = ' ';\n        char chPrev2 = ' ';\n        char chNext  = styler[startPos];\n\tstyler.StartSegment(startPos);\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++)\n        {\n\n       char ch = chNext;\n       chNext = styler.SafeGetCharAt(i + 1);\n\n       if ((ch == '\\r' && chNext != '\\n') || (ch == '\\n') || (i == lengthDoc))\n       {\n          if ((state == SCE_SCRIPTOL_DEFAULT) ||\n              (state == SCE_SCRIPTOL_TRIPLE) ||\n              (state == SCE_SCRIPTOL_COMMENTBLOCK))\n          {\n              styler.ColourTo(i, state);\n          }\n        }\n\n        if (styler.IsLeadByte(ch))\n         {\n             chNext = styler.SafeGetCharAt(i + 2);\n             chPrev  = ' ';\n             chPrev2 = ' ';\n             i += 1;\n             continue;\n         }\n\n        if (state == SCE_SCRIPTOL_STRINGEOL)\n         {\n             if (ch != '\\r' && ch != '\\n')\n             {\n                    styler.ColourTo(i - 1, state);\n                    state = SCE_SCRIPTOL_DEFAULT;\n             }\n         }\n\n        if (state == SCE_SCRIPTOL_DEFAULT)\n         {\n            if (IsSolWordStart(ch))\n            {\n                 styler.ColourTo(i - 1, state);\n                 state = SCE_SCRIPTOL_KEYWORD;\n            }\n            else if (ch == '`')\n            {\n                styler.ColourTo(i - 1, state);\n                state = SCE_SCRIPTOL_COMMENTLINE;\n            }\n            else if (ch == '/')\n            {\n                styler.ColourTo(i - 1, state);\n                if(chNext == '/') state = SCE_SCRIPTOL_CSTYLE;\n                if(chNext == '*') state = SCE_SCRIPTOL_COMMENTBLOCK;\n            }\n\n            else if (IsSolStringStart(ch))\n            {\n               styler.ColourTo(i - 1, state);\n               state = GetSolStringState(styler, i, &nextIndex);\n               if(state == SCE_SCRIPTOL_STRING)\n               {\n                 stringType = ch;\n               }\n               if (nextIndex != i + 1)\n               {\n                   i = nextIndex - 1;\n                   ch = ' ';\n                   chPrev = ' ';\n                   chNext = styler.SafeGetCharAt(i + 1);\n               }\n           }\n            else if (isoperator(ch))\n            {\n                 styler.ColourTo(i - 1, state);\n                 styler.ColourTo(i, SCE_SCRIPTOL_OPERATOR);\n            }\n          }\n          else if (state == SCE_SCRIPTOL_KEYWORD)\n          {\n              if (!iswordchar(ch))\n              {\n                 ClassifyWordSol(styler.GetStartSegment(), i - 1, keywords, styler, prevWord);\n                 state = SCE_SCRIPTOL_DEFAULT;\n                 if (ch == '`')\n                 {\n                     state = chNext == '`' ? SCE_SCRIPTOL_PERSISTENT : SCE_SCRIPTOL_COMMENTLINE;\n                 }\n                 else if (IsSolStringStart(ch))\n                 {\n                    styler.ColourTo(i - 1, state);\n                    state = GetSolStringState(styler, i, &nextIndex);\n                    if (nextIndex != i + 1)\n                    {\n                       i = nextIndex - 1;\n                       ch = ' ';\n                       chPrev = ' ';\n                       chNext = styler.SafeGetCharAt(i + 1);\n                     }\n                 }\n                 else if (isoperator(ch))\n                 {\n                     styler.ColourTo(i, SCE_SCRIPTOL_OPERATOR);\n                 }\n             }\n          }\n          else\n          {\n            if (state == SCE_SCRIPTOL_COMMENTLINE ||\n                state == SCE_SCRIPTOL_PERSISTENT ||\n                state == SCE_SCRIPTOL_CSTYLE)\n            {\n                 if (ch == '\\r' || ch == '\\n')\n                 {\n                     styler.ColourTo(i - 1, state);\n                     state = SCE_SCRIPTOL_DEFAULT;\n                 }\n            }\n            else if(state == SCE_SCRIPTOL_COMMENTBLOCK)\n            {\n              if(chPrev == '*' && ch == '/')\n              {\n                styler.ColourTo(i, state);\n                state = SCE_SCRIPTOL_DEFAULT;\n              }\n            }\n            else if ((state == SCE_SCRIPTOL_STRING) ||\n                     (state == SCE_SCRIPTOL_CHARACTER))\n            {\n               if ((ch == '\\r' || ch == '\\n') && (chPrev != '\\\\'))\n                {\n                    styler.ColourTo(i - 1, state);\n                    state = SCE_SCRIPTOL_STRINGEOL;\n                }\n                else if (ch == '\\\\')\n                {\n                   if (chNext == '\\\"' || chNext == '\\'' || chNext == '\\\\')\n                   {\n                        i++;\n                        ch = chNext;\n                        chNext = styler.SafeGetCharAt(i + 1);\n                   }\n                 }\n                else if ((ch == '\\\"') || (ch == '\\''))\n                {\n                    // must match the entered quote type\n                    if(ch == stringType)\n                    {\n                      styler.ColourTo(i, state);\n                      state = SCE_SCRIPTOL_DEFAULT;\n                    }\n                 }\n             }\n             else if (state == SCE_SCRIPTOL_TRIPLE)\n             {\n                if ((ch == '\\'' && chPrev == '\\'' && chPrev2 == '\\'') ||\n                    (ch == '\\\"' && chPrev == '\\\"' && chPrev2 == '\\\"'))\n                 {\n                    styler.ColourTo(i, state);\n                    state = SCE_SCRIPTOL_DEFAULT;\n                 }\n             }\n\n           }\n          chPrev2 = chPrev;\n          chPrev = ch;\n\t}\n        if (state == SCE_SCRIPTOL_KEYWORD)\n        {\n            ClassifyWordSol(styler.GetStartSegment(),\n                 lengthDoc-1, keywords, styler, prevWord);\n\t}\n        else\n        {\n            styler.ColourTo(lengthDoc-1, state);\n\t}\n}\n\nstatic void FoldSolDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n\t\t\t\t\t\t   WordList *[], Accessor &styler)\n {\n\tSci_Position lengthDoc = startPos + length;\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0)\n        {\n          if (lineCurrent > 0)\n          {\n               lineCurrent--;\n               startPos = styler.LineStart(lineCurrent);\n               if (startPos == 0)\n                    initStyle = SCE_SCRIPTOL_DEFAULT;\n               else\n                    initStyle = styler.StyleAt(startPos-1);\n           }\n\t}\n\tint state = initStyle & 31;\n\tint spaceFlags = 0;\n        int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsSolComment);\n        if (state == SCE_SCRIPTOL_TRIPLE)\n             indentCurrent |= SC_FOLDLEVELWHITEFLAG;\n\tchar chNext = styler[startPos];\n\tfor (Sci_Position i = startPos; i < lengthDoc; i++)\n         {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i) & 31;\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n') || (i == lengthDoc))\n                {\n                   int lev = indentCurrent;\n                   int indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsSolComment);\n                   if (style == SCE_SCRIPTOL_TRIPLE)\n                        indentNext |= SC_FOLDLEVELWHITEFLAG;\n                   if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG))\n                    {\n                        // Only non whitespace lines can be headers\n                        if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK))\n                        {\n                              lev |= SC_FOLDLEVELHEADERFLAG;\n                        }\n                        else if (indentNext & SC_FOLDLEVELWHITEFLAG)\n                        {\n                             // Line after is blank so check the next - maybe should continue further?\n                             int spaceFlags2 = 0;\n                             int indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsSolComment);\n                             if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK))\n                             {\n                                   lev |= SC_FOLDLEVELHEADERFLAG;\n                              }\n                        }\n                    }\n                   indentCurrent = indentNext;\n                   styler.SetLevel(lineCurrent, lev);\n                   lineCurrent++;\n\t\t}\n\t}\n}\n\nLexerModule lmScriptol(SCLEX_SCRIPTOL, ColouriseSolDoc, \"scriptol\", FoldSolDoc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSmalltalk.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSmalltalk.cxx\n ** Lexer for Smalltalk language.\n ** Written by Sergey Philippov, sphilippov-at-gmail-dot-com\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n/*\n| lexTable classificationBlock charClasses |\ncharClasses := #(#DecDigit #Letter #Special #Upper #BinSel).\nlexTable := ByteArray new: 128.\nclassificationBlock := [ :charClass :chars |\n    | flag |\n    flag := 1 bitShift: (charClasses indexOf: charClass) - 1.\n    chars do: [ :char | lexTable at: char codePoint + 1 put: ((lexTable at: char codePoint + 1) bitOr: flag)]].\n\nclassificationBlock\n    value: #DecDigit value: '0123456789';\n    value: #Letter value: '_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n    value: #Special value: '()[]{};.^:';\n    value: #BinSel value: '~@%&*-+=|\\/,<>?!';\n    value: #Upper value: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.\n\n((String new: 500) streamContents: [ :stream |\n    stream crLf; nextPutAll: 'static int ClassificationTable[256] = {'.\n    lexTable keysAndValuesDo: [ :index :value |\n        ((index - 1) rem: 16) == 0 ifTrue: [\n            stream crLf; tab]\n        ifFalse: [\n            stream space].\n        stream print: value.\n        index ~= 256 ifTrue: [\n            stream nextPut: $,]].\n    stream crLf; nextPutAll: '};'; crLf.\n\n    charClasses keysAndValuesDo: [ :index :name |\n        stream\n            crLf;\n            nextPutAll: (\n                ('static inline bool is<1s>(int ch) {return (ch > 0) && (ch %< 0x80) && ((ClassificationTable[ch] & <2p>) != 0);}')\n                    expandMacrosWith: name with: (1 bitShift: (index - 1)))\n    ]]) edit\n*/\n\n// autogenerated {{{{\n\nstatic int ClassificationTable[256] = {\n    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n    0, 16, 0, 0, 0, 16, 16, 0, 4, 4, 16, 16, 16, 16, 4, 16,\n    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 16, 16, 16, 16,\n    16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 16, 4, 4, 2,\n    0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 16, 4, 16, 0,\n};\n\nstatic inline bool isDecDigit(int ch) {return (ch > 0) && (ch < 0x80) && ((ClassificationTable[ch] & 1) != 0);}\nstatic inline bool isLetter(int ch) {return (ch > 0) && (ch < 0x80) && ((ClassificationTable[ch] & 2) != 0);}\nstatic inline bool isSpecial(int ch) {return (ch > 0) && (ch < 0x80) && ((ClassificationTable[ch] & 4) != 0);}\nstatic inline bool isUpper(int ch) {return (ch > 0) && (ch < 0x80) && ((ClassificationTable[ch] & 8) != 0);}\nstatic inline bool isBinSel(int ch) {return (ch > 0) && (ch < 0x80) && ((ClassificationTable[ch] & 16) != 0);}\n// autogenerated }}}}\n\nstatic inline bool isAlphaNumeric(int ch) {\n    return isDecDigit(ch) || isLetter(ch);\n}\n\nstatic inline bool isDigitOfRadix(int ch, int radix)\n{\n    if (isDecDigit(ch))\n        return (ch - '0') < radix;\n    else if (!isUpper(ch))\n        return false;\n    else\n        return (ch - 'A' + 10) < radix;\n}\n\nstatic inline void skipComment(StyleContext& sc)\n{\n    while (sc.More() && sc.ch != '\\\"')\n        sc.Forward();\n}\n\nstatic inline void skipString(StyleContext& sc)\n{\n    while (sc.More()) {\n        if (sc.ch == '\\'') {\n            if (sc.chNext != '\\'')\n                return;\n            sc.Forward();\n        }\n        sc.Forward();\n    }\n}\n\nstatic void handleHash(StyleContext& sc)\n{\n    if (isSpecial(sc.chNext)) {\n        sc.SetState(SCE_ST_SPECIAL);\n        return;\n    }\n\n    sc.SetState(SCE_ST_SYMBOL);\n    sc.Forward();\n    if (sc.ch == '\\'') {\n        sc.Forward();\n        skipString(sc);\n    }\n    else {\n        if (isLetter(sc.ch)) {\n            while (isAlphaNumeric(sc.chNext) || sc.chNext == ':')\n                sc.Forward();\n        }\n        else if (isBinSel(sc.ch)) {\n            while (isBinSel(sc.chNext))\n                sc.Forward();\n        }\n    }\n}\n\nstatic inline void handleSpecial(StyleContext& sc)\n{\n    if (sc.ch == ':' && sc.chNext == '=') {\n        sc.SetState(SCE_ST_ASSIGN);\n        sc.Forward();\n    }\n    else {\n        if (sc.ch == '^')\n            sc.SetState(SCE_ST_RETURN);\n        else\n            sc.SetState(SCE_ST_SPECIAL);\n    }\n}\n\nstatic inline void skipInt(StyleContext& sc, int radix)\n{\n    while (isDigitOfRadix(sc.chNext, radix))\n        sc.Forward();\n}\n\nstatic void handleNumeric(StyleContext& sc)\n{\n    char num[256];\n    int nl;\n    int radix;\n\n    sc.SetState(SCE_ST_NUMBER);\n    num[0] = static_cast<char>(sc.ch);\n    nl = 1;\n    while (isDecDigit(sc.chNext)) {\n        num[nl++] = static_cast<char>(sc.chNext);\n        sc.Forward();\n        if (nl+1 == sizeof(num)/sizeof(num[0])) // overrun check\n            break;\n    }\n    if (sc.chNext == 'r') {\n        num[nl] = 0;\n        if (num[0] == '-')\n            radix = atoi(num + 1);\n        else\n            radix = atoi(num);\n        sc.Forward();\n        if (sc.chNext == '-')\n            sc.Forward();\n        skipInt(sc, radix);\n    }\n    else\n        radix = 10;\n    if (sc.chNext != '.' || !isDigitOfRadix(sc.GetRelative(2), radix))\n        return;\n    sc.Forward();\n    skipInt(sc, radix);\n    if (sc.chNext == 's') {\n        // ScaledDecimal\n        sc.Forward();\n        while (isDecDigit(sc.chNext))\n            sc.Forward();\n        return;\n    }\n    else if (sc.chNext != 'e' && sc.chNext != 'd' && sc.chNext != 'q')\n        return;\n    sc.Forward();\n    if (sc.chNext == '+' || sc.chNext == '-')\n        sc.Forward();\n    skipInt(sc, radix);\n}\n\nstatic inline void handleBinSel(StyleContext& sc)\n{\n    sc.SetState(SCE_ST_BINARY);\n    while (isBinSel(sc.chNext))\n        sc.Forward();\n}\n\nstatic void handleLetter(StyleContext& sc, WordList* specialSelectorList)\n{\n    char ident[256];\n    int il;\n    int state;\n    bool doubleColonPresent;\n\n    sc.SetState(SCE_ST_DEFAULT);\n\n    ident[0] = static_cast<char>(sc.ch);\n    il = 1;\n    while (isAlphaNumeric(sc.chNext)) {\n        ident[il++] = static_cast<char>(sc.chNext);\n        sc.Forward();\n        if (il+2 == sizeof(ident)/sizeof(ident[0])) // overrun check\n            break;\n    }\n\n    if (sc.chNext == ':') {\n        doubleColonPresent = true;\n        ident[il++] = ':';\n        sc.Forward();\n    }\n    else\n        doubleColonPresent = false;\n    ident[il] = 0;\n\n    if (specialSelectorList->InList(ident))\n            state = SCE_ST_SPEC_SEL;\n    else if (doubleColonPresent)\n            state = SCE_ST_KWSEND;\n    else if (isUpper(ident[0]))\n        state = SCE_ST_GLOBAL;\n    else {\n        if (!strcmp(ident, \"self\"))\n            state = SCE_ST_SELF;\n        else if (!strcmp(ident, \"super\"))\n            state = SCE_ST_SUPER;\n        else if (!strcmp(ident, \"nil\"))\n            state = SCE_ST_NIL;\n        else if (!strcmp(ident, \"true\") || !strcmp(ident, \"false\"))\n            state = SCE_ST_BOOL;\n        else\n            state = SCE_ST_DEFAULT;\n    }\n\n    sc.ChangeState(state);\n}\n\nstatic void colorizeSmalltalkDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *wordLists[], Accessor &styler)\n{\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    if (initStyle == SCE_ST_COMMENT) {\n        skipComment(sc);\n        if (sc.More())\n            sc.Forward();\n    }\n    else if (initStyle == SCE_ST_STRING) {\n        skipString(sc);\n        if (sc.More())\n            sc.Forward();\n    }\n\n    for (; sc.More(); sc.Forward()) {\n        int ch;\n\n        ch = sc.ch;\n        if (ch == '\\\"') {\n            sc.SetState(SCE_ST_COMMENT);\n            sc.Forward();\n            skipComment(sc);\n        }\n        else if (ch == '\\'') {\n            sc.SetState(SCE_ST_STRING);\n            sc.Forward();\n            skipString(sc);\n        }\n        else if (ch == '#')\n            handleHash(sc);\n        else if (ch == '$') {\n            sc.SetState(SCE_ST_CHARACTER);\n            sc.Forward();\n        }\n        else if (isSpecial(ch))\n            handleSpecial(sc);\n        else if (isDecDigit(ch))\n            handleNumeric(sc);\n        else if (isLetter(ch))\n            handleLetter(sc, wordLists[0]);\n        else if (isBinSel(ch)) {\n            if (ch == '-' && isDecDigit(sc.chNext))\n                handleNumeric(sc);\n            else\n                handleBinSel(sc);\n        }\n        else\n            sc.SetState(SCE_ST_DEFAULT);\n    }\n    sc.Complete();\n}\n\nstatic const char* const smalltalkWordListDesc[] = {\n    \"Special selectors\",\n    0\n};\n\nLexerModule lmSmalltalk(SCLEX_SMALLTALK, colorizeSmalltalkDoc, \"smalltalk\", NULL, smalltalkWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSorcus.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSorcus.cxx\n** Lexer for SORCUS installation files\n** Written by Eugen Bitter and Christoph Baumann at SORCUS Computer, Heidelberg Germany\n** Based on the ASM Lexer by The Black Horus\n**/\n\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\n//each character a..z and A..Z + '_' can be part of a keyword\n//additionally numbers that follow 'M' can be contained in a keyword\nstatic inline bool IsSWordStart(const int ch, const int prev_ch)\n{\n    if (isalpha(ch) || (ch == '_') || ((isdigit(ch)) && (prev_ch == 'M')))\n        return true;\n\n    return false;\n}\n\n\n//only digits that are not preceded by 'M' count as a number\nstatic inline bool IsSorcusNumber(const int ch, const int prev_ch)\n{\n    if ((isdigit(ch)) && (prev_ch != 'M'))\n        return true;\n\n    return false;\n}\n\n\n//only = is a valid operator\nstatic inline bool IsSorcusOperator(const int ch)\n{\n    if (ch == '=')\n        return true;\n\n    return false;\n}\n\n\nstatic void ColouriseSorcusDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                               Accessor &styler)\n{\n\n    WordList &Command = *keywordlists[0];\n    WordList &Parameter = *keywordlists[1];\n    WordList &Constant = *keywordlists[2];\n\n    // Do not leak onto next line\n    if (initStyle == SCE_SORCUS_STRINGEOL)\n        initStyle = SCE_SORCUS_DEFAULT;\n\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    for (; sc.More(); sc.Forward())\n    {\n\n        // Prevent SCE_SORCUS_STRINGEOL from leaking back to previous line\n        if (sc.atLineStart && (sc.state == SCE_SORCUS_STRING))\n        {\n            sc.SetState(SCE_SORCUS_STRING);\n        }\n\n        // Determine if the current state should terminate.\n        if (sc.state == SCE_SORCUS_OPERATOR)\n        {\n            if (!IsSorcusOperator(sc.ch))\n            {\n                sc.SetState(SCE_SORCUS_DEFAULT);\n            }\n        }\n        else if(sc.state == SCE_SORCUS_NUMBER)\n        {\n            if(!IsSorcusNumber(sc.ch, sc.chPrev))\n            {\n                sc.SetState(SCE_SORCUS_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_SORCUS_IDENTIFIER)\n        {\n            if (!IsSWordStart(sc.ch, sc.chPrev))\n            {\n                char s[100];\n\n                sc.GetCurrent(s, sizeof(s));\n\n                if (Command.InList(s))\n                {\n                    sc.ChangeState(SCE_SORCUS_COMMAND);\n                }\n                else if (Parameter.InList(s))\n                {\n                    sc.ChangeState(SCE_SORCUS_PARAMETER);\n                }\n                else if (Constant.InList(s))\n                {\n                    sc.ChangeState(SCE_SORCUS_CONSTANT);\n                }\n\n                sc.SetState(SCE_SORCUS_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_SORCUS_COMMENTLINE )\n        {\n            if (sc.atLineEnd)\n            {\n                sc.SetState(SCE_SORCUS_DEFAULT);\n            }\n        }\n        else if (sc.state == SCE_SORCUS_STRING)\n        {\n            if (sc.ch == '\\\"')\n            {\n                sc.ForwardSetState(SCE_SORCUS_DEFAULT);\n            }\n            else if (sc.atLineEnd)\n            {\n                sc.ChangeState(SCE_SORCUS_STRINGEOL);\n                sc.ForwardSetState(SCE_SORCUS_DEFAULT);\n            }\n        }\n\n        // Determine if a new state should be entered.\n        if (sc.state == SCE_SORCUS_DEFAULT)\n        {\n            if ((sc.ch == ';') || (sc.ch == '\\''))\n            {\n                sc.SetState(SCE_SORCUS_COMMENTLINE);\n            }\n            else if (IsSWordStart(sc.ch, sc.chPrev))\n            {\n                sc.SetState(SCE_SORCUS_IDENTIFIER);\n            }\n            else if (sc.ch == '\\\"')\n            {\n                sc.SetState(SCE_SORCUS_STRING);\n            }\n            else if (IsSorcusOperator(sc.ch))\n            {\n                sc.SetState(SCE_SORCUS_OPERATOR);\n            }\n            else if (IsSorcusNumber(sc.ch, sc.chPrev))\n            {\n                sc.SetState(SCE_SORCUS_NUMBER);\n            }\n        }\n\n    }\n    sc.Complete();\n}\n\n\nstatic const char* const SorcusWordListDesc[] = {\"Command\",\"Parameter\", \"Constant\", 0};\n\nLexerModule lmSorc(SCLEX_SORCUS, ColouriseSorcusDoc, \"sorcins\", 0, SorcusWordListDesc);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSpecman.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSpecman.cxx\n ** Lexer for Specman E language.\n ** Written by Avi Yegudin, based on C++ lexer by Neil Hodgson\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch == '\\'');\n}\n\nstatic inline bool IsANumberChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '\\'');\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '`');\n}\n\nstatic void ColouriseSpecmanDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                            Accessor &styler, bool caseSensitive) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_SN_STRINGEOL)\n\t\tinitStyle = SCE_SN_CODE;\n\n\tint visibleChars = 0;\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.atLineStart && (sc.state == SCE_SN_STRING)) {\n\t\t\t// Prevent SCE_SN_STRINGEOL from leaking back to previous line\n\t\t\tsc.SetState(SCE_SN_STRING);\n\t\t}\n\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (sc.chNext == '\\n' || sc.chNext == '\\r') {\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Determine if the current state should terminate.\n\t\tif (sc.state == SCE_SN_OPERATOR) {\n\t\t\tsc.SetState(SCE_SN_CODE);\n\t\t} else if (sc.state == SCE_SN_NUMBER) {\n\t\t\tif (!IsANumberChar(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_SN_CODE);\n\t\t\t}\n\t\t} else if (sc.state == SCE_SN_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch) || (sc.ch == '.')) {\n\t\t\t\tchar s[100];\n\t\t\t\tif (caseSensitive) {\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t} else {\n\t\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\t}\n\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SN_WORD);\n\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SN_WORD2);\n\t\t\t\t} else if (keywords3.InList(s)) {\n                                        sc.ChangeState(SCE_SN_WORD3);\n\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\tsc.ChangeState(SCE_SN_USER);\n\t\t\t\t}\n\t\t\t\tsc.SetState(SCE_SN_CODE);\n\t\t\t}\n\t\t} else if (sc.state == SCE_SN_PREPROCESSOR) {\n                        if (IsASpace(sc.ch)) {\n                                sc.SetState(SCE_SN_CODE);\n                        }\n\t\t} else if (sc.state == SCE_SN_DEFAULT) {\n\t\t\tif (sc.Match('<', '\\'')) {\n\t\t\t\tsc.Forward();\n\t\t\t\tsc.ForwardSetState(SCE_SN_CODE);\n\t\t\t}\n\t\t} else if (sc.state == SCE_SN_COMMENTLINE || sc.state == SCE_SN_COMMENTLINEBANG) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_SN_CODE);\n\t\t\t\tvisibleChars = 0;\n\t\t\t}\n\t\t} else if (sc.state == SCE_SN_STRING) {\n\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.ForwardSetState(SCE_SN_CODE);\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_SN_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_SN_CODE);\n\t\t\t\tvisibleChars = 0;\n\t\t\t}\n\t\t} else if (sc.state == SCE_SN_SIGNAL) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.ChangeState(SCE_SN_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_SN_CODE);\n\t\t\t\tvisibleChars = 0;\n\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.ForwardSetState(SCE_SN_CODE);\n\t\t\t}\n\t\t} else if (sc.state == SCE_SN_REGEXTAG) {\n\t\t\tif (!IsADigit(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_SN_CODE);\n\t\t\t}\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_SN_CODE) {\n\t\t\tif (sc.ch == '$' && IsADigit(sc.chNext)) {\n\t\t\t\tsc.SetState(SCE_SN_REGEXTAG);\n                                sc.Forward();\n\t\t\t} else if (IsADigit(sc.ch)) {\n                                sc.SetState(SCE_SN_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_SN_IDENTIFIER);\n\t\t\t} else if (sc.Match('\\'', '>')) {\n                                sc.SetState(SCE_SN_DEFAULT);\n\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\tif (sc.Match(\"//!\"))\t// Nice to have a different comment style\n\t\t\t\t\tsc.SetState(SCE_SN_COMMENTLINEBANG);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_SN_COMMENTLINE);\n\t\t\t} else if (sc.Match('-', '-')) {\n\t\t\t\tif (sc.Match(\"--!\"))\t// Nice to have a different comment style\n\t\t\t\t\tsc.SetState(SCE_SN_COMMENTLINEBANG);\n\t\t\t\telse\n\t\t\t\t\tsc.SetState(SCE_SN_COMMENTLINE);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_SN_STRING);\n\t\t\t} else if (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_SN_SIGNAL);\n\t\t\t} else if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\t// Preprocessor commands are alone on their line\n\t\t\t\tsc.SetState(SCE_SN_PREPROCESSOR);\n\t\t\t\t// Skip whitespace between # and preprocessor word\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_SN_CODE);\n\t\t\t\t}\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch)) || sc.ch == '@') {\n\t\t\t\tsc.SetState(SCE_SN_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\t// Reset states to begining of colourise so no surprises\n\t\t\t// if different sets of lines lexed.\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!IsASpace(sc.ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\tsc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nstatic void FoldNoBoxSpecmanDoc(Sci_PositionU startPos, Sci_Position length, int,\n                            Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tbool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style;\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t//int stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (foldComment && (style == SCE_SN_COMMENTLINE)) {\n\t\t\tif (((ch == '/') && (chNext == '/')) ||\n                            ((ch == '-') && (chNext == '-'))) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_SN_OPERATOR) {\n\t\t\tif (ch == '{') {\n\t\t\t\t// Measure the minimum before a '{' to allow\n\t\t\t\t// folding on \"} else {\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (ch == '}') {\n\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (foldAtElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n}\n\nstatic void FoldSpecmanDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[],\n                       Accessor &styler) {\n\tFoldNoBoxSpecmanDoc(startPos, length, initStyle, styler);\n}\n\nstatic const char * const specmanWordLists[] = {\n            \"Primary keywords and identifiers\",\n            \"Secondary keywords and identifiers\",\n            \"Sequence keywords and identifiers\",\n            \"User defined keywords and identifiers\",\n            \"Unused\",\n            0,\n        };\n\nstatic void ColouriseSpecmanDocSensitive(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n                                     Accessor &styler) {\n\tColouriseSpecmanDoc(startPos, length, initStyle, keywordlists, styler, true);\n}\n\n\nLexerModule lmSpecman(SCLEX_SPECMAN, ColouriseSpecmanDocSensitive, \"specman\", FoldSpecmanDoc, specmanWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexSpice.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexSpice.cxx\n ** Lexer for Spice\n **/\n// Copyright 2006 by Fabien Proriol\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n/*\n * Interface\n */\n\nstatic void ColouriseDocument(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int initStyle,\n    WordList *keywordlists[],\n    Accessor &styler);\n\nstatic const char * const spiceWordListDesc[] = {\n    \"Keywords\",        // SPICE command\n    \"Keywords2\",    // SPICE functions\n    \"Keywords3\",    // SPICE params\n    0\n};\n\nLexerModule lmSpice(SCLEX_SPICE, ColouriseDocument, \"spice\", NULL, spiceWordListDesc);\n\n/*\n * Implementation\n */\n\nstatic void ColouriseComment(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseWhiteSpace(StyleContext& sc, bool& apostropheStartsAttribute);\nstatic void ColouriseWord(StyleContext& sc, WordList& keywords, WordList& keywords2, WordList& keywords3, bool& apostropheStartsAttribute);\n\nstatic inline bool IsDelimiterCharacter(int ch);\nstatic inline bool IsSeparatorOrDelimiterCharacter(int ch);\n\nstatic void ColouriseComment(StyleContext& sc, bool&) {\n    sc.SetState(SCE_SPICE_COMMENTLINE);\n    while (!sc.atLineEnd) {\n        sc.Forward();\n    }\n}\n\nstatic void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsAttribute) {\n    apostropheStartsAttribute = sc.Match (')');\n    sc.SetState(SCE_SPICE_DELIMITER);\n    sc.ForwardSetState(SCE_SPICE_DEFAULT);\n}\n\nstatic void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttribute) {\n    apostropheStartsAttribute = true;\n    std::string number;\n    sc.SetState(SCE_SPICE_NUMBER);\n    // Get all characters up to a delimiter or a separator, including points, but excluding\n    // double points (ranges).\n    while (!IsSeparatorOrDelimiterCharacter(sc.ch) || (sc.ch == '.' && sc.chNext != '.')) {\n        number += static_cast<char>(sc.ch);\n        sc.Forward();\n    }\n    // Special case: exponent with sign\n    if ((sc.chPrev == 'e' || sc.chPrev == 'E') &&\n            (sc.ch == '+' || sc.ch == '-')) {\n        number += static_cast<char>(sc.ch);\n        sc.Forward ();\n        while (!IsSeparatorOrDelimiterCharacter(sc.ch)) {\n            number += static_cast<char>(sc.ch);\n            sc.Forward();\n        }\n    }\n    sc.SetState(SCE_SPICE_DEFAULT);\n}\n\nstatic void ColouriseWhiteSpace(StyleContext& sc, bool& ) {\n    sc.SetState(SCE_SPICE_DEFAULT);\n    sc.ForwardSetState(SCE_SPICE_DEFAULT);\n}\n\nstatic void ColouriseWord(StyleContext& sc, WordList& keywords, WordList& keywords2, WordList& keywords3, bool& apostropheStartsAttribute) {\n    apostropheStartsAttribute = true;\n    sc.SetState(SCE_SPICE_IDENTIFIER);\n    std::string word;\n    while (!sc.atLineEnd && !IsSeparatorOrDelimiterCharacter(sc.ch)) {\n        word += static_cast<char>(tolower(sc.ch));\n        sc.Forward();\n    }\n    if (keywords.InList(word.c_str())) {\n        sc.ChangeState(SCE_SPICE_KEYWORD);\n        if (word != \"all\") {\n            apostropheStartsAttribute = false;\n        }\n    }\n    else if (keywords2.InList(word.c_str())) {\n        sc.ChangeState(SCE_SPICE_KEYWORD2);\n        if (word != \"all\") {\n            apostropheStartsAttribute = false;\n        }\n    }\n    else if (keywords3.InList(word.c_str())) {\n        sc.ChangeState(SCE_SPICE_KEYWORD3);\n        if (word != \"all\") {\n            apostropheStartsAttribute = false;\n        }\n    }\n    sc.SetState(SCE_SPICE_DEFAULT);\n}\n\n//\n// ColouriseDocument\n//\nstatic void ColouriseDocument(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int initStyle,\n    WordList *keywordlists[],\n    Accessor &styler) {\n    WordList &keywords = *keywordlists[0];\n    WordList &keywords2 = *keywordlists[1];\n    WordList &keywords3 = *keywordlists[2];\n    StyleContext sc(startPos, length, initStyle, styler);\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    bool apostropheStartsAttribute = (styler.GetLineState(lineCurrent) & 1) != 0;\n    while (sc.More()) {\n        if (sc.atLineEnd) {\n            // Go to the next line\n            sc.Forward();\n            lineCurrent++;\n            // Remember the line state for future incremental lexing\n            styler.SetLineState(lineCurrent, apostropheStartsAttribute);\n            // Don't continue any styles on the next line\n            sc.SetState(SCE_SPICE_DEFAULT);\n        }\n        // Comments\n        if ((sc.Match('*') && sc.atLineStart) || sc.Match('*','~')) {\n            ColouriseComment(sc, apostropheStartsAttribute);\n        // Whitespace\n        } else if (IsASpace(sc.ch)) {\n            ColouriseWhiteSpace(sc, apostropheStartsAttribute);\n        // Delimiters\n        } else if (IsDelimiterCharacter(sc.ch)) {\n            ColouriseDelimiter(sc, apostropheStartsAttribute);\n        // Numbers\n        } else if (IsADigit(sc.ch) || sc.ch == '#') {\n            ColouriseNumber(sc, apostropheStartsAttribute);\n        // Keywords or identifiers\n        } else {\n            ColouriseWord(sc, keywords, keywords2, keywords3, apostropheStartsAttribute);\n        }\n    }\n    sc.Complete();\n}\n\nstatic inline bool IsDelimiterCharacter(int ch) {\n    switch (ch) {\n    case '&':\n    case '\\'':\n    case '(':\n    case ')':\n    case '*':\n    case '+':\n    case ',':\n    case '-':\n    case '.':\n    case '/':\n    case ':':\n    case ';':\n    case '<':\n    case '=':\n    case '>':\n    case '|':\n        return true;\n    default:\n        return false;\n    }\n}\n\nstatic inline bool IsSeparatorOrDelimiterCharacter(int ch) {\n    return IsASpace(ch) || IsDelimiterCharacter(ch);\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexStata.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexStata.cxx\n ** Lexer for Stata\n **/\n// Author: Luke Rasmussen (luke.rasmussen@gmail.com)\n//\n// The License.txt file describes the conditions under which this software may\n// be distributed.\n//\n// Developed as part of the StatTag project at Northwestern University Feinberg\n// School of Medicine with funding from Northwestern University Clinical and\n// Translational Sciences Institute through CTSA grant UL1TR001422.  This work\n// has not been reviewed or endorsed by NCATS or the NIH.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseStataDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n    Accessor &styler) {\n\n    WordList &keywords = *keywordlists[0];\n    WordList &types = *keywordlists[1];\n    \n    CharacterSet setCouldBePostOp(CharacterSet::setNone, \"+-\");\n    CharacterSet setWordStart(CharacterSet::setAlpha, \"_\", 0x80, true);\n    CharacterSet setWord(CharacterSet::setAlphaNum, \"._\", 0x80, true);\n\n    StyleContext sc(startPos, length, initStyle, styler);\n    bool lineHasNonCommentChar = false;\n    for (; sc.More(); sc.Forward()) {\n        if (sc.atLineStart) {\n          lineHasNonCommentChar = false;\n        }\n\n        // Determine if the current state should terminate.\n        switch (sc.state) {\n            case SCE_STATA_OPERATOR:\n                sc.SetState(SCE_STATA_DEFAULT);\n                break;\n            case SCE_STATA_NUMBER:\n                // We accept almost anything because of hex. and number suffixes\n                if (!setWord.Contains(sc.ch)) {\n                    sc.SetState(SCE_STATA_DEFAULT);\n                }\n                break;\n            case SCE_STATA_IDENTIFIER:\n                if (!setWord.Contains(sc.ch) || (sc.ch == '.')) {\n                    char s[1000];\n                    sc.GetCurrent(s, sizeof(s));\n                    if (keywords.InList(s)) {\n                        sc.ChangeState(SCE_STATA_WORD);\n                    }\n                    else if (types.InList(s)) {\n                        sc.ChangeState(SCE_STATA_TYPE);\n                    }\n                    sc.SetState(SCE_STATA_DEFAULT);\n                }\n                break;\n            case SCE_STATA_COMMENTBLOCK:\n                if (sc.Match('*', '/')) {\n                    sc.Forward();\n                    sc.ForwardSetState(SCE_STATA_DEFAULT);\n                }\n                break;\n            case SCE_STATA_COMMENT:\n            case SCE_STATA_COMMENTLINE:\n                if (sc.atLineStart) {\n                    sc.SetState(SCE_STATA_DEFAULT);\n                }\n                break;\n            case SCE_STATA_STRING:\n                if (sc.ch == '\\\\') {\n                    // Per Stata documentation, the following characters are the only ones that can\n                    // be escaped (not our typical set of quotes, etc.):\n                    // https://www.stata.com/support/faqs/programming/backslashes-and-macros/\n                    if (sc.chNext == '$' || sc.chNext == '`' || sc.chNext == '\\\\') {\n                        sc.Forward();\n                    }\n                }\n                else if (sc.ch == '\\\"') {\n                    sc.ForwardSetState(SCE_STATA_DEFAULT);\n                }\n                break;\n        }\n\n        // Determine if a new state should be entered.\n        if (sc.state == SCE_STATA_DEFAULT) {\n            if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_STATA_NUMBER);\n            }\n            else if (setWordStart.Contains(sc.ch)) {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_STATA_IDENTIFIER);\n            }\n            else if (sc.Match('*') && !lineHasNonCommentChar) {\n                sc.SetState(SCE_STATA_COMMENT);\n            }\n            else if (sc.Match('/', '*')) {\n                sc.SetState(SCE_STATA_COMMENTBLOCK);\n                sc.Forward();\t// Eat the * so it isn't used for the end of the comment\n            }\n            else if (sc.Match('/', '/')) {\n                sc.SetState(SCE_STATA_COMMENTLINE);\n            }\n            else if (sc.ch == '\\\"') {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_STATA_STRING);\n            }\n            else if (isoperator(sc.ch)) {\n                lineHasNonCommentChar = true;\n                sc.SetState(SCE_STATA_OPERATOR);\n            }\n        }\n    }\n\n    sc.Complete();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nstatic void FoldStataDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[],\n    Accessor &styler) {\n    bool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n    bool foldAtElse = styler.GetPropertyInt(\"fold.at.else\", 0) != 0;\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position lineCurrent = styler.GetLine(startPos);\n    int levelCurrent = SC_FOLDLEVELBASE;\n    if (lineCurrent > 0)\n        levelCurrent = styler.LevelAt(lineCurrent - 1) >> 16;\n    int levelMinCurrent = levelCurrent;\n    int levelNext = levelCurrent;\n    char chNext = styler[startPos];\n    int styleNext = styler.StyleAt(startPos);\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        int style = styleNext;\n        styleNext = styler.StyleAt(i + 1);\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n        if (style == SCE_R_OPERATOR) {\n            if (ch == '{') {\n                // Measure the minimum before a '{' to allow\n                // folding on \"} else {\"\n                if (levelMinCurrent > levelNext) {\n                    levelMinCurrent = levelNext;\n                }\n                levelNext++;\n            }\n            else if (ch == '}') {\n                levelNext--;\n            }\n        }\n        if (atEOL) {\n            int levelUse = levelCurrent;\n            if (foldAtElse) {\n                levelUse = levelMinCurrent;\n            }\n            int lev = levelUse | levelNext << 16;\n            if (visibleChars == 0 && foldCompact)\n                lev |= SC_FOLDLEVELWHITEFLAG;\n            if (levelUse < levelNext)\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(lineCurrent)) {\n                styler.SetLevel(lineCurrent, lev);\n            }\n            lineCurrent++;\n            levelCurrent = levelNext;\n            levelMinCurrent = levelCurrent;\n            visibleChars = 0;\n        }\n        if (!isspacechar(ch))\n            visibleChars++;\n    }\n}\n\n\nstatic const char * const StataWordLists[] = {\n    \"Language Keywords\",\n    \"Types\",\n    0,\n};\n\nLexerModule lmStata(SCLEX_STATA, ColouriseStataDoc, \"stata\", FoldStataDoc, StataWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTACL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexTAL.cxx\n ** Lexer for TAL\n ** Based on LexPascal.cxx\n ** Written by Laurent le Tynevez\n ** Updated by Simon Steele <s.steele@pnotepad.org> September 2002\n ** Updated by Mathias Rauen <scite@madshi.net> May 2003 (Delphi adjustments)\n ** Updated by Rod Falck, Aug 2006 Converted to TACL\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\ninline bool isTACLoperator(char ch)\n\t{\n\treturn ch == '\\'' || isoperator(ch);\n\t}\n\ninline bool isTACLwordchar(char ch)\n\t{\n\treturn ch == '#' || ch == '^' || ch == '|' || ch == '_' || iswordchar(ch);\n\t}\n\ninline bool isTACLwordstart(char ch)\n\t{\n\treturn ch == '#' || ch == '|' || ch == '_' || iswordstart(ch);\n\t}\n\nstatic void getRange(Sci_PositionU start,\n\t\tSci_PositionU end,\n\t\tAccessor &styler,\n\t\tchar *s,\n\t\tSci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_C_COMMENT ||\n\t\tstyle == SCE_C_COMMENTDOC ||\n\t\tstyle == SCE_C_COMMENTDOCKEYWORD ||\n\t\tstyle == SCE_C_COMMENTDOCKEYWORDERROR;\n}\n\nstatic void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int attr, bool bInAsm) {\n\tif ((bInAsm) && (attr == SCE_C_OPERATOR || attr == SCE_C_NUMBER || attr == SCE_C_DEFAULT || attr == SCE_C_WORD || attr == SCE_C_IDENTIFIER)) {\n\t\tstyler.ColourTo(end, SCE_C_REGEX);\n\t} else\n\t\tstyler.ColourTo(end, attr);\n}\n\n// returns 1 if the item starts a class definition, and -1 if the word is \"end\", and 2 if the word is \"asm\"\nstatic int classifyWordTACL(Sci_PositionU start, Sci_PositionU end, /*WordList &keywords*/WordList *keywordlists[], Accessor &styler, bool bInAsm) {\n\tint ret = 0;\n\n\tWordList& keywords = *keywordlists[0];\n\tWordList& builtins = *keywordlists[1];\n\tWordList& commands = *keywordlists[2];\n\n\tchar s[100];\n\tgetRange(start, end, styler, s, sizeof(s));\n\n\tchar chAttr = SCE_C_IDENTIFIER;\n\tif (isdigit(s[0]) || (s[0] == '.')) {\n\t\tchAttr = SCE_C_NUMBER;\n\t}\n\telse {\n\t\tif (s[0] == '#' || keywords.InList(s)) {\n\t\t\tchAttr = SCE_C_WORD;\n\n\t\t\tif (strcmp(s, \"asm\") == 0) {\n\t\t\t\tret = 2;\n\t\t\t}\n\t\t\telse if (strcmp(s, \"end\") == 0) {\n\t\t\t\tret = -1;\n\t\t\t}\n\t\t}\n\t\telse if (s[0] == '|' || builtins.InList(s)) {\n\t\t\tchAttr = SCE_C_WORD2;\n\t\t}\n\t\telse if (commands.InList(s)) {\n\t\t\tchAttr = SCE_C_UUID;\n\t\t}\n\t\telse if (strcmp(s, \"comment\") == 0) {\n\t\t\tchAttr = SCE_C_COMMENTLINE;\n\t\t\tret = 3;\n\t\t}\n\t}\n\tColourTo(styler, end, chAttr, (bInAsm && ret != -1));\n\treturn ret;\n}\n\nstatic int classifyFoldPointTACL(const char* s) {\n\tint lev = 0;\n\tif (s[0] == '[')\n\t\tlev=1;\n\telse if (s[0] == ']')\n\t\tlev=-1;\n\treturn lev;\n}\n\nstatic void ColouriseTACLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n\tAccessor &styler) {\n\n\tstyler.StartAt(startPos);\n\n\tint state = initStyle;\n\tif (state == SCE_C_CHARACTER)\t// Does not leak onto next line\n\t\tstate = SCE_C_DEFAULT;\n\tchar chPrev = ' ';\n\tchar chNext = styler[startPos];\n\tSci_PositionU lengthDoc = startPos + length;\n\n\tbool bInClassDefinition;\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\tif (currentLine > 0) {\n\t\tstyler.SetLineState(currentLine, styler.GetLineState(currentLine-1));\n\t\tbInClassDefinition = (styler.GetLineState(currentLine) == 1);\n\t} else {\n\t\tstyler.SetLineState(currentLine, 0);\n\t\tbInClassDefinition = false;\n\t}\n\n\tbool bInAsm = (state == SCE_C_REGEX);\n\tif (bInAsm)\n\t\tstate = SCE_C_DEFAULT;\n\n\tstyler.StartSegment(startPos);\n\tint visibleChars = 0;\n\tSci_PositionU i;\n\tfor (i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n\t\t\t// Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix)\n\t\t\t// Avoid triggering two times on Dos/Win\n\t\t\t// End of line\n\t\t\tif (state == SCE_C_CHARACTER) {\n\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t\tcurrentLine++;\n\t\t\tstyler.SetLineState(currentLine, (bInClassDefinition ? 1 : 0));\n\t\t}\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\tchPrev = ' ';\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (state == SCE_C_DEFAULT) {\n\t\t\tif (isTACLwordstart(ch)) {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_IDENTIFIER;\n\t\t\t} else if (ch == '{') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_COMMENT;\n\t\t\t} else if (ch == '{' && chNext == '*') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_COMMENTDOC;\n\t\t\t} else if (ch == '=' && chNext == '=') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_COMMENTLINE;\n\t\t\t} else if (ch == '\"') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_STRING;\n\t\t\t} else if (ch == '?' && visibleChars == 0) {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_PREPROCESSOR;\n\t\t\t} else if (isTACLoperator(ch)) {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tColourTo(styler, i, SCE_C_OPERATOR, bInAsm);\n\t\t\t}\n\t\t} else if (state == SCE_C_IDENTIFIER) {\n\t\t\tif (!isTACLwordchar(ch)) {\n\t\t\t\tint lStateChange = classifyWordTACL(styler.GetStartSegment(), i - 1, keywordlists, styler, bInAsm);\n\n\t\t\t\tif(lStateChange == 1) {\n\t\t\t\t\tstyler.SetLineState(currentLine, 1);\n\t\t\t\t\tbInClassDefinition = true;\n\t\t\t\t} else if(lStateChange == 2) {\n\t\t\t\t\tbInAsm = true;\n\t\t\t\t} else if(lStateChange == -1) {\n\t\t\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t\t\t\tbInClassDefinition = false;\n\t\t\t\t\tbInAsm = false;\n\t\t\t\t}\n\n\t\t\t\tif (lStateChange == 3) {\n\t\t\t\t\t state = SCE_C_COMMENTLINE;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\t\tif (ch == '{') {\n\t\t\t\t\t\tstate = SCE_C_COMMENT;\n\t\t\t\t\t} else if (ch == '{' && chNext == '*') {\n\t\t\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\t\t\tstate = SCE_C_COMMENTDOC;\n\t\t\t\t\t} else if (ch == '=' && chNext == '=') {\n\t\t\t\t\t\tstate = SCE_C_COMMENTLINE;\n\t\t\t\t\t} else if (ch == '\"') {\n\t\t\t\t\t\tstate = SCE_C_STRING;\n\t\t\t\t\t} else if (isTACLoperator(ch)) {\n\t\t\t\t\t\tColourTo(styler, i, SCE_C_OPERATOR, bInAsm);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (state == SCE_C_PREPROCESSOR) {\n\t\t\t\tif ((ch == '\\r' || ch == '\\n') && !(chPrev == '\\\\' || chPrev == '\\r')) {\n\t\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_COMMENT) {\n\t\t\t\tif (ch == '}' || (ch == '\\r' || ch == '\\n') ) {\n\t\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_COMMENTDOC) {\n\t\t\t\tif (ch == '}' || (ch == '\\r' || ch == '\\n')) {\n\t\t\t\t\tif (((i > styler.GetStartSegment() + 2) || (\n\t\t\t\t\t\t(initStyle == SCE_C_COMMENTDOC) &&\n\t\t\t\t\t\t(styler.GetStartSegment() == static_cast<Sci_PositionU>(startPos))))) {\n\t\t\t\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_COMMENTLINE) {\n\t\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_STRING) {\n\t\t\t\tif (ch == '\"' || ch == '\\r' || ch == '\\n') {\n\t\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n        if (!isspacechar(ch))\n            visibleChars++;\n\t\tchPrev = ch;\n\t}\n\n\t// Process to end of document\n\tif (state == SCE_C_IDENTIFIER) {\n\t\tclassifyWordTACL(styler.GetStartSegment(), i - 1, keywordlists, styler, bInAsm);\n\t\t}\n\telse\n\t\tColourTo(styler, lengthDoc - 1, state, bInAsm);\n}\n\nstatic void FoldTACLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[],\n                            Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldPreprocessor = styler.GetPropertyInt(\"fold.preprocessor\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tbool section = false;\n\n\tSci_Position lastStart = 0;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (stylePrev == SCE_C_DEFAULT && (style == SCE_C_WORD || style == SCE_C_PREPROCESSOR))\n\t\t{\n\t\t\t// Store last word start point.\n\t\t\tlastStart = i;\n\t\t}\n\n\t\tif (stylePrev == SCE_C_WORD || stylePrev == SCE_C_PREPROCESSOR) {\n\t\t\tif(isTACLwordchar(ch) && !isTACLwordchar(chNext)) {\n\t\t\t\tchar s[100];\n\t\t\t\tgetRange(lastStart, i, styler, s, sizeof(s));\n\t\t\t\tif (stylePrev == SCE_C_PREPROCESSOR && strcmp(s, \"?section\") == 0)\n\t\t\t\t\t{\n\t\t\t\t\tsection = true;\n\t\t\t\t\tlevelCurrent = 1;\n\t\t\t\t\tlevelPrev = 0;\n\t\t\t\t\t}\n\t\t\t\telse if (stylePrev == SCE_C_WORD)\n\t\t\t\t\tlevelCurrent += classifyFoldPointTACL(s);\n\t\t\t}\n\t\t}\n\n\t\tif (style == SCE_C_OPERATOR) {\n\t\t\tif (ch == '[') {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (ch == ']') {\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (foldComment && (style == SCE_C_COMMENTLINE)) {\n\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (foldPreprocessor && (style == SCE_C_PREPROCESSOR)) {\n\t\t\tif (ch == '{' && chNext == '$') {\n\t\t\t\tSci_PositionU j=i+2; // skip {$\n\t\t\t\twhile ((j<endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\tif (styler.Match(j, \"region\") || styler.Match(j, \"if\")) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (styler.Match(j, \"end\")) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev | SC_FOLDLEVELBASE;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev || section) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t\tsection = false;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const TACLWordListDesc[] = {\n\t\"Builtins\",\n\t\"Labels\",\n\t\"Commands\",\n\t0\n};\n\nLexerModule lmTACL(SCLEX_TACL, ColouriseTACLDoc, \"TACL\", FoldTACLDoc, TACLWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTADS3.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexTADS3.cxx\n ** Lexer for TADS3.\n **/\n// Copyright 1998-2006 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n/*\n * TADS3 is a language designed by Michael J. Roberts for the writing of text\n * based games.  TADS comes from Text Adventure Development System.  It has good\n * support for the processing and outputting of formatted text and much of a\n * TADS program listing consists of strings.\n *\n * TADS has two types of strings, those enclosed in single quotes (') and those\n * enclosed in double quotes (\").  These strings have different symantics and\n * can be given different highlighting if desired.\n *\n * There can be embedded within both types of strings html tags\n * ( <tag key=value> ), library directives ( <.directive> ), and message\n * parameters ( {The doctor's/his} ).\n *\n * Double quoted strings can also contain interpolated expressions\n * ( << rug.moved ? ' and a hole in the floor. ' : nil >> ).  These expressions\n * may themselves contain single or double quoted strings, although the double\n * quoted strings may not contain interpolated expressions.\n *\n * These embedded constructs influence the output and formatting and are an\n * important part of a program and require highlighting.\n *\n * LINKS\n * http://www.tads.org/\n */\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic const int T3_SINGLE_QUOTE = 1;\nstatic const int T3_INT_EXPRESSION = 2;\nstatic const int T3_INT_EXPRESSION_IN_TAG = 4;\nstatic const int T3_HTML_SQUOTE = 8;\n\nstatic inline bool IsEOL(const int ch, const int chNext) {\n        return (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n}\n\n/*\n *   Test the current character to see if it's the START of an EOL sequence;\n *   if so, skip ahead to the last character of the sequence and return true,\n *   and if not just return false.  There are a few places where we want to\n *   check to see if a newline sequence occurs at a particular point, but\n *   where a caller expects a subroutine to stop only upon reaching the END\n *   of a newline sequence (in particular, CR-LF on Windows).  That's why\n *   IsEOL() above only returns true on CR if the CR isn't followed by an LF\n *   - it doesn't want to admit that there's a newline until reaching the END\n *   of the sequence.  We meet both needs by saying that there's a newline\n *   when we see the CR in a CR-LF, but skipping the CR before returning so\n *   that the caller's caller will see that we've stopped at the LF.\n */\nstatic inline bool IsEOLSkip(StyleContext &sc)\n{\n    /* test for CR-LF */\n    if (sc.ch == '\\r' && sc.chNext == '\\n')\n    {\n        /* got CR-LF - skip the CR and indicate that we're at a newline */\n        sc.Forward();\n        return true;\n    }\n\n    /*\n     *   in other cases, we have at most a 1-character newline, so do the\n     *   normal IsEOL test\n     */\n    return IsEOL(sc.ch, sc.chNext);\n}\n\nstatic inline bool IsATADS3Operator(const int ch) {\n        return ch == '=' || ch == '{' || ch == '}' || ch == '(' || ch == ')'\n                || ch == '[' || ch == ']' || ch == ',' || ch == ':' || ch == ';'\n                || ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '%'\n                || ch == '?' || ch == '!' || ch == '<' || ch == '>' || ch == '|'\n                || ch == '@' || ch == '&' || ch == '~';\n}\n\nstatic inline bool IsAWordChar(const int ch) {\n        return isalnum(ch) || ch == '_';\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n        return isalpha(ch) || ch == '_';\n}\n\nstatic inline bool IsAHexDigit(const int ch) {\n        int lch = tolower(ch);\n        return isdigit(lch) || lch == 'a' || lch == 'b' || lch == 'c'\n                || lch == 'd' || lch == 'e' || lch == 'f';\n}\n\nstatic inline bool IsAnHTMLChar(int ch) {\n        return isalnum(ch) || ch == '-' || ch == '_' || ch == '.';\n}\n\nstatic inline bool IsADirectiveChar(int ch) {\n        return isalnum(ch) || isspace(ch) || ch == '-' || ch == '/';\n}\n\nstatic inline bool IsANumberStart(StyleContext &sc) {\n        return isdigit(sc.ch)\n                || (!isdigit(sc.chPrev) && sc.ch == '.' && isdigit(sc.chNext));\n}\n\ninline static void ColouriseTADS3Operator(StyleContext &sc) {\n        int initState = sc.state;\n        int c = sc.ch;\n        sc.SetState(c == '{' || c == '}' ? SCE_T3_BRACE : SCE_T3_OPERATOR);\n        sc.ForwardSetState(initState);\n}\n\nstatic void ColouriseTADSHTMLString(StyleContext &sc, int &lineState) {\n        int endState = sc.state;\n        int chQuote = sc.ch;\n        int chString = (lineState & T3_SINGLE_QUOTE) ? '\\'' : '\"';\n        if (endState == SCE_T3_HTML_STRING) {\n                if (lineState&T3_SINGLE_QUOTE) {\n                        endState = SCE_T3_S_STRING;\n                        chString = '\\'';\n                } else if (lineState&T3_INT_EXPRESSION) {\n                        endState = SCE_T3_X_STRING;\n                        chString = '\"';\n                } else {\n                        endState = SCE_T3_HTML_DEFAULT;\n                        chString = '\"';\n                }\n                chQuote = (lineState & T3_HTML_SQUOTE) ? '\\'' : '\"';\n        } else {\n                sc.SetState(SCE_T3_HTML_STRING);\n                sc.Forward();\n        }\n        if (chQuote == '\"')\n                lineState &= ~T3_HTML_SQUOTE;\n        else\n                lineState |= T3_HTML_SQUOTE;\n\n        while (sc.More()) {\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        return;\n                }\n                if (sc.ch == chQuote) {\n                        sc.ForwardSetState(endState);\n                        return;\n                }\n                if (sc.Match('\\\\', static_cast<char>(chQuote))) {\n                        sc.Forward(2);\n                        sc.SetState(endState);\n                        return;\n                }\n                if (sc.ch == chString) {\n                        sc.SetState(SCE_T3_DEFAULT);\n                        return;\n                }\n\n                if (sc.Match('<', '<')) {\n                        lineState |= T3_INT_EXPRESSION | T3_INT_EXPRESSION_IN_TAG;\n                        sc.SetState(SCE_T3_X_DEFAULT);\n                        sc.Forward(2);\n                        return;\n                }\n\n                if (sc.Match('\\\\', static_cast<char>(chQuote))\n                        || sc.Match('\\\\', static_cast<char>(chString))\n                        || sc.Match('\\\\', '\\\\')) {\n                        sc.Forward(2);\n                } else {\n                        sc.Forward();\n                }\n        }\n}\n\nstatic void ColouriseTADS3HTMLTagStart(StyleContext &sc) {\n        sc.SetState(SCE_T3_HTML_TAG);\n        sc.Forward();\n        if (sc.ch == '/') {\n                sc.Forward();\n        }\n        while (IsAnHTMLChar(sc.ch)) {\n                sc.Forward();\n        }\n}\n\nstatic void ColouriseTADS3HTMLTag(StyleContext &sc, int &lineState) {\n        int endState = sc.state;\n        int chQuote = '\"';\n        int chString = '\\'';\n        switch (endState) {\n                case SCE_T3_S_STRING:\n                        ColouriseTADS3HTMLTagStart(sc);\n                        sc.SetState(SCE_T3_HTML_DEFAULT);\n                        chQuote = '\\'';\n                        chString = '\"';\n                        break;\n                case SCE_T3_D_STRING:\n                case SCE_T3_X_STRING:\n                        ColouriseTADS3HTMLTagStart(sc);\n                        sc.SetState(SCE_T3_HTML_DEFAULT);\n                        break;\n                case SCE_T3_HTML_DEFAULT:\n                        if (lineState&T3_SINGLE_QUOTE) {\n                                endState = SCE_T3_S_STRING;\n                                chQuote = '\\'';\n                                chString = '\"';\n                        } else if (lineState&T3_INT_EXPRESSION) {\n                                endState = SCE_T3_X_STRING;\n                        } else {\n                                endState = SCE_T3_D_STRING;\n                        }\n                        break;\n        }\n\n        while (sc.More()) {\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        return;\n                }\n                if (sc.Match('/', '>')) {\n                        sc.SetState(SCE_T3_HTML_TAG);\n                        sc.Forward(2);\n                        sc.SetState(endState);\n                        return;\n                }\n                if (sc.ch == '>') {\n                        sc.SetState(SCE_T3_HTML_TAG);\n                        sc.ForwardSetState(endState);\n                        return;\n                }\n                if (sc.ch == chQuote) {\n                        sc.SetState(endState);\n                        return;\n                }\n                if (sc.Match('\\\\', static_cast<char>(chQuote))) {\n                        sc.Forward();\n                        ColouriseTADSHTMLString(sc, lineState);\n                        if (sc.state == SCE_T3_X_DEFAULT)\n                            break;\n                } else if (sc.ch == chString) {\n                        ColouriseTADSHTMLString(sc, lineState);\n                } else if (sc.ch == '=') {\n                        ColouriseTADS3Operator(sc);\n                } else {\n                        sc.Forward();\n                }\n        }\n}\n\nstatic void ColouriseTADS3Keyword(StyleContext &sc,\n                                                        WordList *keywordlists[],       Sci_PositionU endPos) {\n        char s[250];\n        WordList &keywords = *keywordlists[0];\n        WordList &userwords1 = *keywordlists[1];\n        WordList &userwords2 = *keywordlists[2];\n        WordList &userwords3 = *keywordlists[3];\n        int initState = sc.state;\n        sc.SetState(SCE_T3_IDENTIFIER);\n        while (sc.More() && (IsAWordChar(sc.ch))) {\n                sc.Forward();\n        }\n        sc.GetCurrent(s, sizeof(s));\n        if ( strcmp(s, \"is\") == 0 || strcmp(s, \"not\") == 0) {\n                // have to find if \"in\" is next\n                Sci_Position n = 1;\n                while (n + sc.currentPos < endPos && IsASpaceOrTab(sc.GetRelative(n)))\n                        n++;\n                if (sc.GetRelative(n) == 'i' && sc.GetRelative(n+1) == 'n') {\n                        sc.Forward(n+2);\n                        sc.ChangeState(SCE_T3_KEYWORD);\n                }\n        } else if (keywords.InList(s)) {\n                sc.ChangeState(SCE_T3_KEYWORD);\n        } else if (userwords3.InList(s)) {\n                sc.ChangeState(SCE_T3_USER3);\n        } else if (userwords2.InList(s)) {\n                sc.ChangeState(SCE_T3_USER2);\n        } else if (userwords1.InList(s)) {\n                sc.ChangeState(SCE_T3_USER1);\n        }\n        sc.SetState(initState);\n}\n\nstatic void ColouriseTADS3MsgParam(StyleContext &sc, int &lineState) {\n        int endState = sc.state;\n        int chQuote = '\"';\n        switch (endState) {\n                case SCE_T3_S_STRING:\n                        sc.SetState(SCE_T3_MSG_PARAM);\n                        sc.Forward();\n                        chQuote = '\\'';\n                        break;\n                case SCE_T3_D_STRING:\n                case SCE_T3_X_STRING:\n                        sc.SetState(SCE_T3_MSG_PARAM);\n                        sc.Forward();\n                        break;\n                case SCE_T3_MSG_PARAM:\n                        if (lineState&T3_SINGLE_QUOTE) {\n                                endState = SCE_T3_S_STRING;\n                                chQuote = '\\'';\n                        } else if (lineState&T3_INT_EXPRESSION) {\n                                endState = SCE_T3_X_STRING;\n                        } else {\n                                endState = SCE_T3_D_STRING;\n                        }\n                        break;\n        }\n        while (sc.More() && sc.ch != '}' && sc.ch != chQuote) {\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        return;\n                }\n                if (sc.ch == '\\\\') {\n                        sc.Forward();\n                }\n                sc.Forward();\n        }\n        if (sc.ch == chQuote) {\n                sc.SetState(endState);\n        } else {\n                sc.ForwardSetState(endState);\n        }\n}\n\nstatic void ColouriseTADS3LibDirective(StyleContext &sc, int &lineState) {\n        int initState = sc.state;\n        int chQuote = '\"';\n        switch (initState) {\n                case SCE_T3_S_STRING:\n                        sc.SetState(SCE_T3_LIB_DIRECTIVE);\n                        sc.Forward(2);\n                        chQuote = '\\'';\n                        break;\n                case SCE_T3_D_STRING:\n                        sc.SetState(SCE_T3_LIB_DIRECTIVE);\n                        sc.Forward(2);\n                        break;\n                case SCE_T3_LIB_DIRECTIVE:\n                        if (lineState&T3_SINGLE_QUOTE) {\n                                initState = SCE_T3_S_STRING;\n                                chQuote = '\\'';\n                        } else {\n                                initState = SCE_T3_D_STRING;\n                        }\n                        break;\n        }\n        while (sc.More() && IsADirectiveChar(sc.ch)) {\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        return;\n                }\n                sc.Forward();\n        };\n        if (sc.ch == '>' || !sc.More()) {\n                sc.ForwardSetState(initState);\n        } else if (sc.ch == chQuote) {\n                sc.SetState(initState);\n        } else {\n                sc.ChangeState(initState);\n                sc.Forward();\n        }\n}\n\nstatic void ColouriseTADS3String(StyleContext &sc, int &lineState) {\n        int chQuote = sc.ch;\n        int endState = sc.state;\n        switch (sc.state) {\n                case SCE_T3_DEFAULT:\n                case SCE_T3_X_DEFAULT:\n                        if (chQuote == '\"') {\n                                if (sc.state == SCE_T3_DEFAULT) {\n                                        sc.SetState(SCE_T3_D_STRING);\n                                } else {\n                                        sc.SetState(SCE_T3_X_STRING);\n                                }\n                                lineState &= ~T3_SINGLE_QUOTE;\n                        } else {\n                                sc.SetState(SCE_T3_S_STRING);\n                                lineState |= T3_SINGLE_QUOTE;\n                        }\n                        sc.Forward();\n                        break;\n                case SCE_T3_S_STRING:\n                        chQuote = '\\'';\n                        endState = lineState&T3_INT_EXPRESSION ?\n                                SCE_T3_X_DEFAULT : SCE_T3_DEFAULT;\n                        break;\n                case SCE_T3_D_STRING:\n                        chQuote = '\"';\n                        endState = SCE_T3_DEFAULT;\n                        break;\n                case SCE_T3_X_STRING:\n                        chQuote = '\"';\n                        endState = SCE_T3_X_DEFAULT;\n                        break;\n        }\n        while (sc.More()) {\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        return;\n                }\n                if (sc.ch == chQuote) {\n                        sc.ForwardSetState(endState);\n                        return;\n                }\n                if (sc.state == SCE_T3_D_STRING && sc.Match('<', '<')) {\n                        lineState |= T3_INT_EXPRESSION;\n                        sc.SetState(SCE_T3_X_DEFAULT);\n                        sc.Forward(2);\n                        return;\n                }\n                if (sc.Match('\\\\', static_cast<char>(chQuote))\n                    || sc.Match('\\\\', '\\\\')) {\n                        sc.Forward(2);\n                } else if (sc.ch == '{') {\n                        ColouriseTADS3MsgParam(sc, lineState);\n                } else if (sc.Match('<', '.')) {\n                        ColouriseTADS3LibDirective(sc, lineState);\n                } else if (sc.ch == '<') {\n                        ColouriseTADS3HTMLTag(sc, lineState);\n                        if (sc.state == SCE_T3_X_DEFAULT)\n                                return;\n                } else {\n                        sc.Forward();\n                }\n        }\n}\n\nstatic void ColouriseTADS3Comment(StyleContext &sc, int endState) {\n        sc.SetState(SCE_T3_BLOCK_COMMENT);\n        while (sc.More()) {\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        return;\n                }\n                if (sc.Match('*', '/')) {\n                        sc.Forward(2);\n                        sc.SetState(endState);\n                        return;\n                }\n                sc.Forward();\n        }\n}\n\nstatic void ColouriseToEndOfLine(StyleContext &sc, int initState, int endState) {\n        sc.SetState(initState);\n        while (sc.More()) {\n                if (sc.ch == '\\\\') {\n                        sc.Forward();\n                        if (IsEOLSkip(sc)) {\n                                        return;\n                        }\n                }\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        sc.SetState(endState);\n                        return;\n                }\n                sc.Forward();\n        }\n}\n\nstatic void ColouriseTADS3Number(StyleContext &sc) {\n        int endState = sc.state;\n        bool inHexNumber = false;\n        bool seenE = false;\n        bool seenDot = sc.ch == '.';\n        sc.SetState(SCE_T3_NUMBER);\n        if (sc.More()) {\n                sc.Forward();\n        }\n        if (sc.chPrev == '0' && tolower(sc.ch) == 'x') {\n                inHexNumber = true;\n                sc.Forward();\n        }\n        while (sc.More()) {\n                if (inHexNumber) {\n                        if (!IsAHexDigit(sc.ch)) {\n                                break;\n                        }\n                } else if (!isdigit(sc.ch)) {\n                        if (!seenE && tolower(sc.ch) == 'e') {\n                                seenE = true;\n                                seenDot = true;\n                                if (sc.chNext == '+' || sc.chNext == '-') {\n                                        sc.Forward();\n                                }\n                        } else if (!seenDot && sc.ch == '.') {\n                                seenDot = true;\n                        } else {\n                                break;\n                        }\n                }\n                sc.Forward();\n        }\n        sc.SetState(endState);\n}\n\nstatic void ColouriseTADS3Doc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                                                           WordList *keywordlists[], Accessor &styler) {\n        int visibleChars = 0;\n        int bracketLevel = 0;\n        int lineState = 0;\n        Sci_PositionU endPos = startPos + length;\n        Sci_Position lineCurrent = styler.GetLine(startPos);\n        if (lineCurrent > 0) {\n                lineState = styler.GetLineState(lineCurrent-1);\n        }\n        StyleContext sc(startPos, length, initStyle, styler);\n\n        while (sc.More()) {\n\n                if (IsEOL(sc.ch, sc.chNext)) {\n                        styler.SetLineState(lineCurrent, lineState);\n                        lineCurrent++;\n                        visibleChars = 0;\n                        sc.Forward();\n                        if (sc.ch == '\\n') {\n                                sc.Forward();\n                        }\n                }\n\n                switch(sc.state) {\n                        case SCE_T3_PREPROCESSOR:\n                        case SCE_T3_LINE_COMMENT:\n                                ColouriseToEndOfLine(sc, sc.state, lineState&T3_INT_EXPRESSION ?\n                                        SCE_T3_X_DEFAULT : SCE_T3_DEFAULT);\n                                break;\n                        case SCE_T3_S_STRING:\n                        case SCE_T3_D_STRING:\n                        case SCE_T3_X_STRING:\n                                ColouriseTADS3String(sc, lineState);\n                                visibleChars++;\n                                break;\n                        case SCE_T3_MSG_PARAM:\n                                ColouriseTADS3MsgParam(sc, lineState);\n                                break;\n                        case SCE_T3_LIB_DIRECTIVE:\n                                ColouriseTADS3LibDirective(sc, lineState);\n                                break;\n                        case SCE_T3_HTML_DEFAULT:\n                                ColouriseTADS3HTMLTag(sc, lineState);\n                                break;\n                        case SCE_T3_HTML_STRING:\n                                ColouriseTADSHTMLString(sc, lineState);\n                                break;\n                        case SCE_T3_BLOCK_COMMENT:\n                                ColouriseTADS3Comment(sc, lineState&T3_INT_EXPRESSION ?\n                                        SCE_T3_X_DEFAULT : SCE_T3_DEFAULT);\n                                break;\n                        case SCE_T3_DEFAULT:\n                        case SCE_T3_X_DEFAULT:\n                                if (IsASpaceOrTab(sc.ch)) {\n                                        sc.Forward();\n                                } else if (sc.ch == '#' && visibleChars == 0) {\n                                        ColouriseToEndOfLine(sc, SCE_T3_PREPROCESSOR, sc.state);\n                                } else if (sc.Match('/', '*')) {\n                                        ColouriseTADS3Comment(sc, sc.state);\n                                        visibleChars++;\n                                } else if (sc.Match('/', '/')) {\n                                        ColouriseToEndOfLine(sc, SCE_T3_LINE_COMMENT, sc.state);\n                                } else if (sc.ch == '\"') {\n                                        bracketLevel = 0;\n                                        ColouriseTADS3String(sc, lineState);\n                                        visibleChars++;\n                                } else if (sc.ch == '\\'') {\n                                        ColouriseTADS3String(sc, lineState);\n                                        visibleChars++;\n                                } else if (sc.state == SCE_T3_X_DEFAULT && bracketLevel == 0\n                                                   && sc.Match('>', '>')) {\n                                        sc.Forward(2);\n                                        sc.SetState(SCE_T3_D_STRING);\n                                        if (lineState & T3_INT_EXPRESSION_IN_TAG)\n                                                sc.SetState(SCE_T3_HTML_STRING);\n                                        lineState &= ~(T3_SINGLE_QUOTE|T3_INT_EXPRESSION\n                                                       |T3_INT_EXPRESSION_IN_TAG);\n                                } else if (IsATADS3Operator(sc.ch)) {\n                                        if (sc.state == SCE_T3_X_DEFAULT) {\n                                                if (sc.ch == '(') {\n                                                        bracketLevel++;\n                                                } else if (sc.ch == ')' && bracketLevel > 0) {\n                                                        bracketLevel--;\n                                                }\n                                        }\n                                        ColouriseTADS3Operator(sc);\n                                        visibleChars++;\n                                } else if (IsANumberStart(sc)) {\n                                        ColouriseTADS3Number(sc);\n                                        visibleChars++;\n                                } else if (IsAWordStart(sc.ch)) {\n                                        ColouriseTADS3Keyword(sc, keywordlists, endPos);\n                                        visibleChars++;\n                                } else if (sc.Match(\"...\")) {\n                                        sc.SetState(SCE_T3_IDENTIFIER);\n                                        sc.Forward(3);\n                                        sc.SetState(SCE_T3_DEFAULT);\n                                } else {\n                                        sc.Forward();\n                                        visibleChars++;\n                                }\n                                break;\n                        default:\n                                sc.SetState(SCE_T3_DEFAULT);\n                                sc.Forward();\n                }\n        }\n        sc.Complete();\n}\n\n/*\n TADS3 has two styles of top level block (TLB). Eg\n\n // default style\n silverKey : Key 'small silver key' 'small silver key'\n        \"A small key glints in the sunlight. \"\n ;\n\n and\n\n silverKey : Key {\n        'small silver key'\n        'small silver key'\n        \"A small key glints in the sunlight. \"\n }\n\n Some constructs mandate one or the other, but usually the author has may choose\n either.\n\n T3_SEENSTART is used to indicate that a braceless TLB has been (potentially)\n seen and is also used to match the closing ';' of the default style.\n\n T3_EXPECTINGIDENTIFIER and T3_EXPECTINGPUNCTUATION are used to keep track of\n what characters may be seen without incrementing the block level.  The general\n pattern is identifier <punc> identifier, acceptable punctuation characters\n are ':', ',', '(' and ')'.  No attempt is made to ensure that punctuation\n characters are syntactically correct, eg parentheses match. A ')' always\n signifies the start of a block.  We just need to check if it is followed by a\n '{', in which case we let the brace handling code handle the folding level.\n\n expectingIdentifier == false && expectingIdentifier == false\n Before the start of a TLB.\n\n expectingIdentifier == true && expectingIdentifier == true\n Currently in an identifier.  Will accept identifier or punctuation.\n\n expectingIdentifier == true && expectingIdentifier == false\n Just seen a punctuation character & now waiting for an identifier to start.\n\n expectingIdentifier == false && expectingIdentifier == truee\n We were in an identifier and have seen space.  Now waiting to see a punctuation\n character\n\n Space, comments & preprocessor directives are always acceptable and are\n equivalent.\n*/\n\nstatic const int T3_SEENSTART = 1 << 12;\nstatic const int T3_EXPECTINGIDENTIFIER = 1 << 13;\nstatic const int T3_EXPECTINGPUNCTUATION = 1 << 14;\n\nstatic inline bool IsStringTransition(int s1, int s2) {\n        return s1 != s2\n                && (s1 == SCE_T3_S_STRING || s1 == SCE_T3_X_STRING\n                        || (s1 == SCE_T3_D_STRING && s2 != SCE_T3_X_DEFAULT))\n                && s2 != SCE_T3_LIB_DIRECTIVE\n                && s2 != SCE_T3_MSG_PARAM\n                && s2 != SCE_T3_HTML_TAG\n                && s2 != SCE_T3_HTML_STRING;\n}\n\nstatic inline bool IsATADS3Punctuation(const int ch) {\n        return ch == ':' || ch == ',' || ch == '(' || ch == ')';\n}\n\nstatic inline bool IsAnIdentifier(const int style) {\n        return style == SCE_T3_IDENTIFIER\n                || style == SCE_T3_USER1\n                || style == SCE_T3_USER2\n                || style == SCE_T3_USER3;\n}\n\nstatic inline bool IsAnOperator(const int style) {\n    return style == SCE_T3_OPERATOR || style == SCE_T3_BRACE;\n}\n\nstatic inline bool IsSpaceEquivalent(const int ch, const int style) {\n        return isspace(ch)\n                || style == SCE_T3_BLOCK_COMMENT\n                || style == SCE_T3_LINE_COMMENT\n                || style == SCE_T3_PREPROCESSOR;\n}\n\nstatic char peekAhead(Sci_PositionU startPos, Sci_PositionU endPos,\n                                          Accessor &styler) {\n        for (Sci_PositionU i = startPos; i < endPos; i++) {\n                int style = styler.StyleAt(i);\n                char ch = styler[i];\n                if (!IsSpaceEquivalent(ch, style)) {\n                        if (IsAnIdentifier(style)) {\n                                return 'a';\n                        }\n                        if (IsATADS3Punctuation(ch)) {\n                                return ':';\n                        }\n                        if (ch == '{') {\n                                return '{';\n                        }\n                        return '*';\n                }\n        }\n        return ' ';\n}\n\nstatic void FoldTADS3Doc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                            WordList *[], Accessor &styler) {\n        Sci_PositionU endPos = startPos + length;\n        Sci_Position lineCurrent = styler.GetLine(startPos);\n        int levelCurrent = SC_FOLDLEVELBASE;\n        if (lineCurrent > 0)\n                levelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n        int seenStart = levelCurrent & T3_SEENSTART;\n        int expectingIdentifier = levelCurrent & T3_EXPECTINGIDENTIFIER;\n        int expectingPunctuation = levelCurrent & T3_EXPECTINGPUNCTUATION;\n        levelCurrent &= SC_FOLDLEVELNUMBERMASK;\n        int levelMinCurrent = levelCurrent;\n        int levelNext = levelCurrent;\n        char chNext = styler[startPos];\n        int styleNext = styler.StyleAt(startPos);\n        int style = initStyle;\n        char ch = chNext;\n        int stylePrev = style;\n        bool redo = false;\n        for (Sci_PositionU i = startPos; i < endPos; i++) {\n                if (redo) {\n                        redo = false;\n                        i--;\n                } else {\n                        ch = chNext;\n                        chNext = styler.SafeGetCharAt(i + 1);\n                        stylePrev = style;\n                        style = styleNext;\n                        styleNext = styler.StyleAt(i + 1);\n                }\n                bool atEOL = IsEOL(ch, chNext);\n\n                if (levelNext == SC_FOLDLEVELBASE) {\n                        if (IsSpaceEquivalent(ch, style)) {\n                                if (expectingPunctuation) {\n                                        expectingIdentifier = 0;\n                                }\n                                if (style == SCE_T3_BLOCK_COMMENT) {\n                                        levelNext++;\n                                }\n                        } else if (ch == '{') {\n                                levelNext++;\n                                seenStart = 0;\n                        } else if (ch == '\\'' || ch == '\"' || ch == '[') {\n                                levelNext++;\n                                if (seenStart) {\n                                        redo = true;\n                                }\n                        } else if (ch == ';') {\n                                seenStart = 0;\n                                expectingIdentifier = 0;\n                                expectingPunctuation = 0;\n                        } else if (expectingIdentifier && expectingPunctuation) {\n                                if (IsATADS3Punctuation(ch)) {\n                                        if (ch == ')' && peekAhead(i+1, endPos, styler) != '{') {\n                                                levelNext++;\n                                        } else {\n                                                expectingPunctuation = 0;\n                                        }\n                                } else if (!IsAnIdentifier(style)) {\n                                        levelNext++;\n                                }\n                        } else if (expectingIdentifier && !expectingPunctuation) {\n                                if (!IsAnIdentifier(style)) {\n                                        levelNext++;\n                                } else {\n                                        expectingPunctuation = T3_EXPECTINGPUNCTUATION;\n                                }\n                        } else if (!expectingIdentifier && expectingPunctuation) {\n                                if (!IsATADS3Punctuation(ch)) {\n                                        levelNext++;\n                                } else {\n                                        if (ch == ')' && peekAhead(i+1, endPos, styler) != '{') {\n                                                levelNext++;\n                                        } else {\n                                                expectingIdentifier = T3_EXPECTINGIDENTIFIER;\n                                                expectingPunctuation = 0;\n                                        }\n                                }\n                        } else if (!expectingIdentifier && !expectingPunctuation) {\n                                if (IsAnIdentifier(style)) {\n                                        seenStart = T3_SEENSTART;\n                                        expectingIdentifier = T3_EXPECTINGIDENTIFIER;\n                                        expectingPunctuation = T3_EXPECTINGPUNCTUATION;\n                                }\n                        }\n\n                        if (levelNext != SC_FOLDLEVELBASE && style != SCE_T3_BLOCK_COMMENT) {\n                                expectingIdentifier = 0;\n                                expectingPunctuation = 0;\n                        }\n\n                } else if (levelNext == SC_FOLDLEVELBASE+1 && seenStart\n                                   && ch == ';' && IsAnOperator(style)) {\n                        levelNext--;\n                        seenStart = 0;\n                } else if (style == SCE_T3_BLOCK_COMMENT) {\n                        if (stylePrev != SCE_T3_BLOCK_COMMENT) {\n                                levelNext++;\n                        } else if (styleNext != SCE_T3_BLOCK_COMMENT && !atEOL) {\n                                // Comments don't end at end of line and the next character may be unstyled.\n                                levelNext--;\n                        }\n                } else if (ch == '\\'' || ch == '\"') {\n                        if (IsStringTransition(style, stylePrev)) {\n                                if (levelMinCurrent > levelNext) {\n                                        levelMinCurrent = levelNext;\n                                }\n                                levelNext++;\n                        } else if (IsStringTransition(style, styleNext)) {\n                                levelNext--;\n                        }\n                } else if (IsAnOperator(style)) {\n                        if (ch == '{' || ch == '[') {\n                                // Measure the minimum before a '{' to allow\n                                // folding on \"} else {\"\n                                if (levelMinCurrent > levelNext) {\n                                        levelMinCurrent = levelNext;\n                                }\n                                levelNext++;\n                        } else if (ch == '}' || ch == ']') {\n                                levelNext--;\n                        }\n                }\n\n                if (atEOL) {\n                        if (seenStart && levelNext == SC_FOLDLEVELBASE) {\n                                switch (peekAhead(i+1, endPos, styler)) {\n                                        case ' ':\n                                        case '{':\n                                                break;\n                                        case '*':\n                                                levelNext++;\n                                                break;\n                                        case 'a':\n                                                if (expectingPunctuation) {\n                                                        levelNext++;\n                                                }\n                                                break;\n                                        case ':':\n                                                if (expectingIdentifier) {\n                                                        levelNext++;\n                                                }\n                                                break;\n                                }\n                                if (levelNext != SC_FOLDLEVELBASE) {\n                                        expectingIdentifier = 0;\n                                        expectingPunctuation = 0;\n                                }\n                        }\n                        int lev = levelMinCurrent | (levelNext | expectingIdentifier\n                                | expectingPunctuation | seenStart) << 16;\n                        if (levelMinCurrent < levelNext)\n                                lev |= SC_FOLDLEVELHEADERFLAG;\n                        if (lev != styler.LevelAt(lineCurrent)) {\n                                styler.SetLevel(lineCurrent, lev);\n                        }\n                        lineCurrent++;\n                        levelCurrent = levelNext;\n                        levelMinCurrent = levelCurrent;\n                }\n        }\n}\n\nstatic const char * const tads3WordList[] = {\n        \"TADS3 Keywords\",\n        \"User defined 1\",\n        \"User defined 2\",\n        \"User defined 3\",\n        0\n};\n\nLexerModule lmTADS3(SCLEX_TADS3, ColouriseTADS3Doc, \"tads3\", FoldTADS3Doc, tads3WordList);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTAL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexTAL.cxx\n ** Lexer for TAL\n ** Based on LexPascal.cxx\n ** Written by Laurent le Tynevez\n ** Updated by Simon Steele <s.steele@pnotepad.org> September 2002\n ** Updated by Mathias Rauen <scite@madshi.net> May 2003 (Delphi adjustments)\n ** Updated by Rod Falck, Aug 2006 Converted to TAL\n **/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\ninline bool isTALoperator(char ch)\n\t{\n\treturn ch == '\\'' || ch == '@' || ch == '#' || isoperator(ch);\n\t}\n\ninline bool isTALwordchar(char ch)\n\t{\n\treturn ch == '$' || ch == '^' || iswordchar(ch);\n\t}\n\ninline bool isTALwordstart(char ch)\n\t{\n\treturn ch == '$' || ch == '^' || iswordstart(ch);\n\t}\n\nstatic void getRange(Sci_PositionU start,\n\t\tSci_PositionU end,\n\t\tAccessor &styler,\n\t\tchar *s,\n\t\tSci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = static_cast<char>(tolower(styler[start + i]));\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_C_COMMENT ||\n\t\tstyle == SCE_C_COMMENTDOC ||\n\t\tstyle == SCE_C_COMMENTDOCKEYWORD ||\n\t\tstyle == SCE_C_COMMENTDOCKEYWORDERROR;\n}\n\nstatic void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int attr, bool bInAsm) {\n\tif ((bInAsm) && (attr == SCE_C_OPERATOR || attr == SCE_C_NUMBER || attr == SCE_C_DEFAULT || attr == SCE_C_WORD || attr == SCE_C_IDENTIFIER)) {\n\t\tstyler.ColourTo(end, SCE_C_REGEX);\n\t} else\n\t\tstyler.ColourTo(end, attr);\n}\n\n// returns 1 if the item starts a class definition, and -1 if the word is \"end\", and 2 if the word is \"asm\"\nstatic int classifyWordTAL(Sci_PositionU start, Sci_PositionU end, /*WordList &keywords*/WordList *keywordlists[], Accessor &styler, bool bInAsm) {\n\tint ret = 0;\n\n\tWordList& keywords = *keywordlists[0];\n\tWordList& builtins = *keywordlists[1];\n\tWordList& nonreserved_keywords = *keywordlists[2];\n\n\tchar s[100];\n\tgetRange(start, end, styler, s, sizeof(s));\n\n\tchar chAttr = SCE_C_IDENTIFIER;\n\tif (isdigit(s[0]) || (s[0] == '.')) {\n\t\tchAttr = SCE_C_NUMBER;\n\t}\n\telse {\n\t\tif (keywords.InList(s)) {\n\t\t\tchAttr = SCE_C_WORD;\n\n\t\t\tif (strcmp(s, \"asm\") == 0) {\n\t\t\t\tret = 2;\n\t\t\t}\n\t\t\telse if (strcmp(s, \"end\") == 0) {\n\t\t\t\tret = -1;\n\t\t\t}\n\t\t}\n\t\telse if (s[0] == '$' || builtins.InList(s)) {\n\t\t\tchAttr = SCE_C_WORD2;\n\t\t}\n\t\telse if (nonreserved_keywords.InList(s)) {\n\t\t\tchAttr = SCE_C_UUID;\n\t\t}\n\t}\n\tColourTo(styler, end, chAttr, (bInAsm && ret != -1));\n\treturn ret;\n}\n\nstatic int classifyFoldPointTAL(const char* s) {\n\tint lev = 0;\n\tif (!(isdigit(s[0]) || (s[0] == '.'))) {\n\t\tif (strcmp(s, \"begin\") == 0 ||\n\t\t\tstrcmp(s, \"block\") == 0) {\n\t\t\tlev=1;\n\t\t} else if (strcmp(s, \"end\") == 0) {\n\t\t\tlev=-1;\n\t\t}\n\t}\n\treturn lev;\n}\n\nstatic void ColouriseTALDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[],\n\tAccessor &styler) {\n\n\tstyler.StartAt(startPos);\n\n\tint state = initStyle;\n\tif (state == SCE_C_CHARACTER)\t// Does not leak onto next line\n\t\tstate = SCE_C_DEFAULT;\n\tchar chPrev = ' ';\n\tchar chNext = styler[startPos];\n\tSci_PositionU lengthDoc = startPos + length;\n\n\tbool bInClassDefinition;\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\tif (currentLine > 0) {\n\t\tstyler.SetLineState(currentLine, styler.GetLineState(currentLine-1));\n\t\tbInClassDefinition = (styler.GetLineState(currentLine) == 1);\n\t} else {\n\t\tstyler.SetLineState(currentLine, 0);\n\t\tbInClassDefinition = false;\n\t}\n\n\tbool bInAsm = (state == SCE_C_REGEX);\n\tif (bInAsm)\n\t\tstate = SCE_C_DEFAULT;\n\n\tstyler.StartSegment(startPos);\n\tint visibleChars = 0;\n\tfor (Sci_PositionU i = startPos; i < lengthDoc; i++) {\n\t\tchar ch = chNext;\n\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n')) {\n\t\t\t// Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix)\n\t\t\t// Avoid triggering two times on Dos/Win\n\t\t\t// End of line\n\t\t\tif (state == SCE_C_CHARACTER) {\n\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t}\n\t\t\tvisibleChars = 0;\n\t\t\tcurrentLine++;\n\t\t\tstyler.SetLineState(currentLine, (bInClassDefinition ? 1 : 0));\n\t\t}\n\n\t\tif (styler.IsLeadByte(ch)) {\n\t\t\tchNext = styler.SafeGetCharAt(i + 2);\n\t\t\tchPrev = ' ';\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (state == SCE_C_DEFAULT) {\n\t\t\tif (isTALwordstart(ch)) {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_IDENTIFIER;\n\t\t\t} else if (ch == '!' && chNext != '*') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_COMMENT;\n\t\t\t} else if (ch == '!' && chNext == '*') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_COMMENTDOC;\n\t\t\t} else if (ch == '-' && chNext == '-') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_COMMENTLINE;\n\t\t\t} else if (ch == '\"') {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_STRING;\n\t\t\t} else if (ch == '?' && visibleChars == 0) {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tstate = SCE_C_PREPROCESSOR;\n\t\t\t} else if (isTALoperator(ch)) {\n\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\tColourTo(styler, i, SCE_C_OPERATOR, bInAsm);\n\t\t\t}\n\t\t} else if (state == SCE_C_IDENTIFIER) {\n\t\t\tif (!isTALwordchar(ch)) {\n\t\t\t\tint lStateChange = classifyWordTAL(styler.GetStartSegment(), i - 1, keywordlists, styler, bInAsm);\n\n\t\t\t\tif(lStateChange == 1) {\n\t\t\t\t\tstyler.SetLineState(currentLine, 1);\n\t\t\t\t\tbInClassDefinition = true;\n\t\t\t\t} else if(lStateChange == 2) {\n\t\t\t\t\tbInAsm = true;\n\t\t\t\t} else if(lStateChange == -1) {\n\t\t\t\t\tstyler.SetLineState(currentLine, 0);\n\t\t\t\t\tbInClassDefinition = false;\n\t\t\t\t\tbInAsm = false;\n\t\t\t\t}\n\n\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\t\t\tif (ch == '!' && chNext != '*') {\n\t\t\t\t\tstate = SCE_C_COMMENT;\n\t\t\t\t} else if (ch == '!' && chNext == '*') {\n\t\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_COMMENTDOC;\n\t\t\t\t} else if (ch == '-' && chNext == '-') {\n\t\t\t\t\tstate = SCE_C_COMMENTLINE;\n\t\t\t\t} else if (ch == '\"') {\n\t\t\t\t\tstate = SCE_C_STRING;\n\t\t\t\t} else if (isTALoperator(ch)) {\n\t\t\t\t\tColourTo(styler, i, SCE_C_OPERATOR, bInAsm);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (state == SCE_C_PREPROCESSOR) {\n\t\t\t\tif ((ch == '\\r' || ch == '\\n') && !(chPrev == '\\\\' || chPrev == '\\r')) {\n\t\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_COMMENT) {\n\t\t\t\tif (ch == '!' || (ch == '\\r' || ch == '\\n') ) {\n\t\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_COMMENTDOC) {\n\t\t\t\tif (ch == '!' || (ch == '\\r' || ch == '\\n')) {\n\t\t\t\t\tif (((i > styler.GetStartSegment() + 2) || (\n\t\t\t\t\t\t(initStyle == SCE_C_COMMENTDOC) &&\n\t\t\t\t\t\t(styler.GetStartSegment() == static_cast<Sci_PositionU>(startPos))))) {\n\t\t\t\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_COMMENTLINE) {\n\t\t\t\tif (ch == '\\r' || ch == '\\n') {\n\t\t\t\t\tColourTo(styler, i-1, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t} else if (state == SCE_C_STRING) {\n\t\t\t\tif (ch == '\"') {\n\t\t\t\t\tColourTo(styler, i, state, bInAsm);\n\t\t\t\t\tstate = SCE_C_DEFAULT;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n        if (!isspacechar(ch))\n            visibleChars++;\n\t\tchPrev = ch;\n\t}\n\tColourTo(styler, lengthDoc - 1, state, bInAsm);\n}\n\nstatic void FoldTALDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[],\n                            Accessor &styler) {\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool foldPreprocessor = styler.GetPropertyInt(\"fold.preprocessor\") != 0;\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent = levelPrev;\n\tchar chNext = styler[startPos];\n\tint styleNext = styler.StyleAt(startPos);\n\tint style = initStyle;\n\tbool was_end = false;\n\tbool section = false;\n\n\tSci_Position lastStart = 0;\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = styler.StyleAt(i + 1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n\t\tif (stylePrev == SCE_C_DEFAULT && (style == SCE_C_WORD || style == SCE_C_UUID || style == SCE_C_PREPROCESSOR))\n\t\t{\n\t\t\t// Store last word start point.\n\t\t\tlastStart = i;\n\t\t}\n\n\t\tif (stylePrev == SCE_C_WORD || style == SCE_C_UUID || stylePrev == SCE_C_PREPROCESSOR) {\n\t\t\tif(isTALwordchar(ch) && !isTALwordchar(chNext)) {\n\t\t\t\tchar s[100];\n\t\t\t\tgetRange(lastStart, i, styler, s, sizeof(s));\n\t\t\t\tif (stylePrev == SCE_C_PREPROCESSOR && strcmp(s, \"?section\") == 0)\n\t\t\t\t\t{\n\t\t\t\t\tsection = true;\n\t\t\t\t\tlevelCurrent = 1;\n\t\t\t\t\tlevelPrev = 0;\n\t\t\t\t\t}\n\t\t\t\telse if (stylePrev == SCE_C_WORD || stylePrev == SCE_C_UUID)\n\t\t\t\t\t{\n\t\t\t\t\tif (strcmp(s, \"block\") == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t// block keyword is ignored immediately after end keyword\n\t\t\t\t\t\tif (!was_end)\n\t\t\t\t\t\t\tlevelCurrent++;\n\t\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tlevelCurrent += classifyFoldPointTAL(s);\n\t\t\t\t\tif (strcmp(s, \"end\") == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\twas_end = true;\n\t\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\twas_end = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (foldComment && (style == SCE_C_COMMENTLINE)) {\n\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (foldPreprocessor && (style == SCE_C_PREPROCESSOR)) {\n\t\t\tif (ch == '{' && chNext == '$') {\n\t\t\t\tSci_PositionU j=i+2; // skip {$\n\t\t\t\twhile ((j<endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\tif (styler.Match(j, \"region\") || styler.Match(j, \"if\")) {\n\t\t\t\t\tlevelCurrent++;\n\t\t\t\t} else if (styler.Match(j, \"end\")) {\n\t\t\t\t\tlevelCurrent--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (foldComment && IsStreamCommentStyle(style)) {\n\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\tlevelCurrent++;\n\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\tlevelCurrent--;\n\t\t\t}\n\t\t}\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev | SC_FOLDLEVELBASE;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev || section) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t\tsection = false;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\nstatic const char * const TALWordListDesc[] = {\n\t\"Keywords\",\n\t\"Builtins\",\n\t0\n};\n\nLexerModule lmTAL(SCLEX_TAL, ColouriseTALDoc, \"TAL\", FoldTALDoc, TALWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTCL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexTCL.cxx\n ** Lexer for TCL language.\n **/\n// Copyright 1998-2001 by Andre Arpin <arpin@kingston.net>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Extended to accept accented characters\nstatic inline bool IsAWordChar(int ch) {\n\treturn ch >= 0x80 ||\n\t       (isalnum(ch) || ch == '_' || ch ==':' || ch=='.'); // : name space separator\n}\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn ch >= 0x80 || (ch ==':' || isalpha(ch) || ch == '_');\n}\n\nstatic inline bool IsANumberChar(int ch) {\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases.\n\treturn (ch < 0x80) &&\n\t       (IsADigit(ch, 0x10) || toupper(ch) == 'E' ||\n\t        ch == '.' || ch == '-' || ch == '+');\n}\n\nstatic void ColouriseTCLDoc(Sci_PositionU startPos, Sci_Position length, int , WordList *keywordlists[], Accessor &styler) {\n#define  isComment(s) (s==SCE_TCL_COMMENT || s==SCE_TCL_COMMENTLINE || s==SCE_TCL_COMMENT_BOX || s==SCE_TCL_BLOCK_COMMENT)\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\tbool commentLevel = false;\n\tbool subBrace = false; // substitution begin with a brace ${.....}\n\tenum tLineState {LS_DEFAULT, LS_OPEN_COMMENT, LS_OPEN_DOUBLE_QUOTE, LS_COMMENT_BOX, LS_MASK_STATE = 0xf,\n\t                 LS_COMMAND_EXPECTED = 16, LS_BRACE_ONLY = 32\n\t                } lineState = LS_DEFAULT;\n\tbool prevSlash = false;\n\tint currentLevel = 0;\n\tbool expected = 0;\n\tbool subParen = 0;\n\n\tSci_Position currentLine = styler.GetLine(startPos);\n\tif (currentLine > 0)\n\t\tcurrentLine--;\n\tlength += startPos - styler.LineStart(currentLine);\n\t// make sure lines overlap\n\tstartPos = styler.LineStart(currentLine);\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\tWordList &keywords5 = *keywordlists[4];\n\tWordList &keywords6 = *keywordlists[5];\n\tWordList &keywords7 = *keywordlists[6];\n\tWordList &keywords8 = *keywordlists[7];\n\tWordList &keywords9 = *keywordlists[8];\n\n\tif (currentLine > 0) {\n\t\tint ls = styler.GetLineState(currentLine - 1);\n\t\tlineState = tLineState(ls & LS_MASK_STATE);\n\t\texpected = LS_COMMAND_EXPECTED == tLineState(ls & LS_COMMAND_EXPECTED);\n\t\tsubBrace = LS_BRACE_ONLY == tLineState(ls & LS_BRACE_ONLY);\n\t\tcurrentLevel = styler.LevelAt(currentLine - 1) >> 17;\n\t\tcommentLevel = (styler.LevelAt(currentLine - 1) >> 16) & 1;\n\t} else\n\t\tstyler.SetLevel(0, SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG);\n\tbool visibleChars = false;\n\n\tint previousLevel = currentLevel;\n\tStyleContext sc(startPos, length, SCE_TCL_DEFAULT, styler);\n\tfor (; ; sc.Forward()) {\nnext:\n\t\tif (sc.ch=='\\r' && sc.chNext == '\\n') // only ignore \\r on PC process on the mac\n\t\t\tcontinue;\n\t\tbool atEnd = !sc.More();  // make sure we coloured the last word\n\t\tif (lineState != LS_DEFAULT) {\n\t\t\tsc.SetState(SCE_TCL_DEFAULT);\n\t\t\tif (lineState == LS_OPEN_COMMENT)\n\t\t\t\tsc.SetState(SCE_TCL_COMMENTLINE);\n\t\t\telse if (lineState == LS_OPEN_DOUBLE_QUOTE)\n\t\t\t\tsc.SetState(SCE_TCL_IN_QUOTE);\n\t\t\telse if (lineState == LS_COMMENT_BOX && (sc.ch == '#' || (sc.ch == ' ' && sc.chNext=='#')))\n\t\t\t\tsc.SetState(SCE_TCL_COMMENT_BOX);\n\t\t\tlineState = LS_DEFAULT;\n\t\t}\n\t\tif (subBrace) { // ${ overrides every thing even \\ except }\n\t\t\tif (sc.ch == '}') {\n\t\t\t\tsubBrace = false;\n\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\tsc.ForwardSetState(SCE_TCL_DEFAULT);\n\t\t\t\tgoto next;\n\t\t\t} else\n\t\t\t\tsc.SetState(SCE_TCL_SUB_BRACE);\n\t\t\tif (!sc.atLineEnd)\n\t\t\t\tcontinue;\n\t\t} else if (sc.state == SCE_TCL_DEFAULT || sc.state ==SCE_TCL_OPERATOR) {\n\t\t\texpected &= isspacechar(static_cast<unsigned char>(sc.ch)) || IsAWordStart(sc.ch) || sc.ch =='#';\n\t\t} else if (sc.state == SCE_TCL_SUBSTITUTION) {\n\t\t\tswitch (sc.ch) {\n\t\t\tcase '(':\n\t\t\t\tsubParen=true;\n\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\tsc.ForwardSetState(SCE_TCL_SUBSTITUTION);\n\t\t\t\tcontinue;\n\t\t\tcase ')':\n\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\tsubParen=false;\n\t\t\t\tcontinue;\n\t\t\tcase '$':\n\t\t\t\tcontinue;\n\t\t\tcase ',':\n\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\tif (subParen)\n\t\t\t\t\tsc.ForwardSetState(SCE_TCL_SUBSTITUTION);\n\t\t\t\tcontinue;\n\t\t\tdefault :\n\t\t\t\t// maybe spaces should be allowed ???\n\t\t\t\tif (!IsAWordChar(sc.ch)) { // probably the code is wrong\n\t\t\t\t\tsc.SetState(SCE_TCL_DEFAULT);\n\t\t\t\t\tsubParen = 0;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} else if (isComment(sc.state)) {\n\t\t} else if (!IsAWordChar(sc.ch)) {\n\t\t\tif ((sc.state == SCE_TCL_IDENTIFIER && expected) ||  sc.state == SCE_TCL_MODIFIER) {\n\t\t\t\tchar w[100];\n\t\t\t\tchar *s=w;\n\t\t\t\tsc.GetCurrent(w, sizeof(w));\n\t\t\t\tif (w[strlen(w)-1]=='\\r')\n\t\t\t\t\tw[strlen(w)-1]=0;\n\t\t\t\twhile (*s == ':') // ignore leading : like in ::set a 10\n\t\t\t\t\t++s;\n\t\t\t\tbool quote = sc.state == SCE_TCL_IN_QUOTE;\n\t\t\t\tif (commentLevel  || expected) {\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(quote ? SCE_TCL_WORD_IN_QUOTE : SCE_TCL_WORD);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(quote ? SCE_TCL_WORD_IN_QUOTE : SCE_TCL_WORD2);\n\t\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(quote ? SCE_TCL_WORD_IN_QUOTE : SCE_TCL_WORD3);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(quote ? SCE_TCL_WORD_IN_QUOTE : SCE_TCL_WORD4);\n\t\t\t\t\t} else if (sc.GetRelative(-static_cast<int>(strlen(s))-1) == '{' &&\n\t\t\t\t\t           keywords5.InList(s) && sc.ch == '}') { // {keyword} exactly no spaces\n\t\t\t\t\t\tsc.ChangeState(SCE_TCL_EXPAND);\n\t\t\t\t\t}\n\t\t\t\t\tif (keywords6.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_TCL_WORD5);\n\t\t\t\t\t} else if (keywords7.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_TCL_WORD6);\n\t\t\t\t\t} else if (keywords8.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_TCL_WORD7);\n\t\t\t\t\t} else if (keywords9.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_TCL_WORD8);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\texpected = false;\n\t\t\t\tsc.SetState(quote ? SCE_TCL_IN_QUOTE : SCE_TCL_DEFAULT);\n\t\t\t} else if (sc.state == SCE_TCL_MODIFIER || sc.state == SCE_TCL_IDENTIFIER) {\n\t\t\t\tsc.SetState(SCE_TCL_DEFAULT);\n\t\t\t}\n\t\t}\n\t\tif (atEnd)\n\t\t\tbreak;\n\t\tif (sc.atLineEnd) {\n\t\t\tlineState = LS_DEFAULT;\n\t\t\tcurrentLine = styler.GetLine(sc.currentPos);\n\t\t\tif (foldComment && sc.state!=SCE_TCL_COMMENT && isComment(sc.state)) {\n\t\t\t\tif (currentLevel == 0) {\n\t\t\t\t\t++currentLevel;\n\t\t\t\t\tcommentLevel = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (visibleChars && commentLevel) {\n\t\t\t\t\t--currentLevel;\n\t\t\t\t\t--previousLevel;\n\t\t\t\t\tcommentLevel = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tint flag = 0;\n\t\t\tif (!visibleChars)\n\t\t\t\tflag = SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (currentLevel > previousLevel)\n\t\t\t\tflag = SC_FOLDLEVELHEADERFLAG;\n\t\t\tstyler.SetLevel(currentLine, flag + previousLevel + SC_FOLDLEVELBASE + (currentLevel << 17) + (commentLevel << 16));\n\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tif (sc.state == SCE_TCL_IN_QUOTE) {\n\t\t\t\tlineState = LS_OPEN_DOUBLE_QUOTE;\n\t\t\t} else {\n\t\t\t\tif (prevSlash) {\n\t\t\t\t\tif (isComment(sc.state))\n\t\t\t\t\t\tlineState = LS_OPEN_COMMENT;\n\t\t\t\t} else if (sc.state == SCE_TCL_COMMENT_BOX)\n\t\t\t\t\tlineState = LS_COMMENT_BOX;\n\t\t\t}\n\t\t\tstyler.SetLineState(currentLine,\n\t\t\t                    (subBrace ? LS_BRACE_ONLY : 0) |\n\t\t\t                    (expected ? LS_COMMAND_EXPECTED : 0)  | lineState);\n\t\t\tif (lineState == LS_COMMENT_BOX)\n\t\t\t\tsc.ForwardSetState(SCE_TCL_COMMENT_BOX);\n\t\t\telse if (lineState == LS_OPEN_DOUBLE_QUOTE)\n\t\t\t\tsc.ForwardSetState(SCE_TCL_IN_QUOTE);\n\t\t\telse\n\t\t\t\tsc.ForwardSetState(SCE_TCL_DEFAULT);\n\t\t\tprevSlash = false;\n\t\t\tpreviousLevel = currentLevel;\n\t\t\tgoto next;\n\t\t}\n\n\t\tif (prevSlash) {\n\t\t\tprevSlash = false;\n\t\t\tif (sc.ch == '#' && IsANumberChar(sc.chNext))\n\t\t\t\tsc.ForwardSetState(SCE_TCL_NUMBER);\n\t\t\tcontinue;\n\t\t}\n\t\tprevSlash = sc.ch == '\\\\';\n\t\tif (isComment(sc.state))\n\t\t\tcontinue;\n\t\tif (sc.atLineStart) {\n\t\t\tvisibleChars = false;\n\t\t\tif (sc.state!=SCE_TCL_IN_QUOTE && !isComment(sc.state))\n\t\t\t{\n\t\t\t\tsc.SetState(SCE_TCL_DEFAULT);\n\t\t\t\texpected = IsAWordStart(sc.ch)|| isspacechar(static_cast<unsigned char>(sc.ch));\n\t\t\t}\n\t\t}\n\n\t\tswitch (sc.state) {\n\t\tcase SCE_TCL_NUMBER:\n\t\t\tif (!IsANumberChar(sc.ch))\n\t\t\t\tsc.SetState(SCE_TCL_DEFAULT);\n\t\t\tbreak;\n\t\tcase SCE_TCL_IN_QUOTE:\n\t\t\tif (sc.ch == '\"') {\n\t\t\t\tsc.ForwardSetState(SCE_TCL_DEFAULT);\n\t\t\t\tvisibleChars = true; // necessary if a \" is the first and only character on a line\n\t\t\t\tgoto next;\n\t\t\t} else if (sc.ch == '[' || sc.ch == ']' || sc.ch == '$') {\n\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\texpected = sc.ch == '[';\n\t\t\t\tsc.ForwardSetState(SCE_TCL_IN_QUOTE);\n\t\t\t\tgoto next;\n\t\t\t}\n\t\t\tcontinue;\n\t\tcase SCE_TCL_OPERATOR:\n\t\t\tsc.SetState(SCE_TCL_DEFAULT);\n\t\t\tbreak;\n\t\t}\n\n\t\tif (sc.ch == '#') {\n\t\t\tif (visibleChars) {\n\t\t\t\tif (sc.state != SCE_TCL_IN_QUOTE && expected)\n\t\t\t\t\tsc.SetState(SCE_TCL_COMMENT);\n\t\t\t} else {\n\t\t\t\tsc.SetState(SCE_TCL_COMMENTLINE);\n\t\t\t\tif (sc.chNext == '~')\n\t\t\t\t\tsc.SetState(SCE_TCL_BLOCK_COMMENT);\n\t\t\t\tif (sc.atLineStart && (sc.chNext == '#' || sc.chNext == '-'))\n\t\t\t\t\tsc.SetState(SCE_TCL_COMMENT_BOX);\n\t\t\t}\n\t\t}\n\n\t\tif (!isspacechar(static_cast<unsigned char>(sc.ch))) {\n\t\t\tvisibleChars = true;\n\t\t}\n\n\t\tif (sc.ch == '\\\\') {\n\t\t\tprevSlash = true;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (sc.state == SCE_TCL_DEFAULT) {\n\t\t\tif (IsAWordStart(sc.ch)) {\n\t\t\t\tsc.SetState(SCE_TCL_IDENTIFIER);\n\t\t\t} else if (IsADigit(sc.ch) && !IsAWordChar(sc.chPrev)) {\n\t\t\t\tsc.SetState(SCE_TCL_NUMBER);\n\t\t\t} else {\n\t\t\t\tswitch (sc.ch) {\n\t\t\t\tcase '\\\"':\n\t\t\t\t\tsc.SetState(SCE_TCL_IN_QUOTE);\n\t\t\t\t\tbreak;\n\t\t\t\tcase '{':\n\t\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\t\texpected = true;\n\t\t\t\t\t++currentLevel;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '}':\n\t\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\t\texpected = true;\n\t\t\t\t\t--currentLevel;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '[':\n\t\t\t\t\texpected = true;\n\t\t\t\t\t// Falls through.\n\t\t\t\tcase ']':\n\t\t\t\tcase '(':\n\t\t\t\tcase ')':\n\t\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ';':\n\t\t\t\t\texpected = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase '$':\n\t\t\t\t\tsubParen = 0;\n\t\t\t\t\tif (sc.chNext != '{') {\n\t\t\t\t\t\tsc.SetState(SCE_TCL_SUBSTITUTION);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);  // $\n\t\t\t\t\t\tsc.Forward();  // {\n\t\t\t\t\t\tsc.ForwardSetState(SCE_TCL_SUB_BRACE);\n\t\t\t\t\t\tsubBrace = true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase '#':\n\t\t\t\t\tif ((isspacechar(static_cast<unsigned char>(sc.chPrev))||\n\t\t\t\t\t        isoperator(static_cast<char>(sc.chPrev))) && IsADigit(sc.chNext,0x10))\n\t\t\t\t\t\tsc.SetState(SCE_TCL_NUMBER);\n\t\t\t\t\tbreak;\n\t\t\t\tcase '-':\n\t\t\t\t\tsc.SetState(IsADigit(sc.chNext)? SCE_TCL_NUMBER: SCE_TCL_MODIFIER);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (isoperator(static_cast<char>(sc.ch))) {\n\t\t\t\t\t\tsc.SetState(SCE_TCL_OPERATOR);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tsc.Complete();\n}\n\nstatic const char *const tclWordListDesc[] = {\n\t\"TCL Keywords\",\n\t\"TK Keywords\",\n\t\"iTCL Keywords\",\n\t\"tkCommands\",\n\t\"expand\",\n\t\"user1\",\n\t\"user2\",\n\t\"user3\",\n\t\"user4\",\n\t0\n};\n\n// this code supports folding in the colourizer\nLexerModule lmTCL(SCLEX_TCL, ColouriseTCLDoc, \"tcl\", 0, tclWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTCMD.cpp",
    "content": "// Scintilla\\ source code edit control\n/** @file LexTCMD.cxx\n ** Lexer for Take Command / TCC batch scripts (.bat, .btm, .cmd).\n **/\n// Written by Rex Conn (rconn [at] jpsoft [dot] com)\n// based on the CMD lexer\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\nstatic bool IsAlphabetic(int ch) {\n\treturn IsASCII(ch) && isalpha(ch);\n}\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') || ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\n// Tests for BATCH Operators\nstatic bool IsBOperator(char ch) {\n\treturn (ch == '=') || (ch == '+') || (ch == '>') || (ch == '<') || (ch == '|') || (ch == '&') || (ch == '!') || (ch == '?') || (ch == '*') || (ch == '(') || (ch == ')');\n}\n\n// Tests for BATCH Separators\nstatic bool IsBSeparator(char ch) {\n\treturn (ch == '\\\\') || (ch == '.') || (ch == ';') || (ch == ' ') || (ch == '\\t') || (ch == '[') || (ch == ']') || (ch == '\\\"') || (ch == '\\'') || (ch == '/');\n}\n\n// Find length of CMD FOR variable with modifier (%~...) or return 0\nstatic unsigned int GetBatchVarLen( char *wordBuffer )\n{\n\tint nLength = 0;\n\tif ( wordBuffer[0] == '%' ) {\n\n\t\tif ( wordBuffer[1] == '~' )\n\t\t\tnLength = 2;\n\t\telse if (( wordBuffer[1] == '%' ) && ( wordBuffer[2] == '~' ))\n\t\t\tnLength++;\n\t\telse\n\t\t\treturn 0;\n\n\t\tfor ( ; ( wordBuffer[nLength] ); nLength++ ) {\n\n\t\t\tswitch ( toupper(wordBuffer[nLength]) ) {\n\t\t\tcase 'A':\n\t\t\t\t// file attributes\n\t\t\tcase 'D':\n\t\t\t\t// drive letter only\n\t\t\tcase 'F':\n\t\t\t\t// fully qualified path name\n\t\t\tcase 'N':\n\t\t\t\t// filename only\n\t\t\tcase 'P':\n\t\t\t\t// path only\n\t\t\tcase 'S':\n\t\t\t\t// short name\n\t\t\tcase 'T':\n\t\t\t\t// date / time of file\n\t\t\tcase 'X':\n\t\t\t\t// file extension only\n\t\t\tcase 'Z':\n\t\t\t\t// file size\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn nLength;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nLength;\n}\n\n\nstatic void ColouriseTCMDLine( char *lineBuffer, Sci_PositionU lengthLine, Sci_PositionU startLine, Sci_PositionU endPos, WordList *keywordlists[], Accessor &styler)\n{\n\tSci_PositionU offset = 0;\t// Line Buffer Offset\n\tchar wordBuffer[260];\t\t// Word Buffer - large to catch long paths\n\tSci_PositionU wbl;\t\t\t// Word Buffer Length\n\tSci_PositionU wbo;\t\t\t// Word Buffer Offset - also Special Keyword Buffer Length\n\tWordList &keywords = *keywordlists[0];      // Internal Commands\n//\tWordList &keywords2 = *keywordlists[1];     // Aliases (optional)\n\tbool isDelayedExpansion = 1;\t\t\t\t// !var!\n\n\tbool continueProcessing = true;\t// Used to toggle Regular Keyword Checking\n\t// Special Keywords are those that allow certain characters without whitespace after the command\n\t// Examples are: cd. cd\\ echo: echo. path=\n\tbool inString = false; // Used for processing while \"\"\n\t// Special Keyword Buffer used to determine if the first n characters is a Keyword\n\tchar sKeywordBuffer[260] = \"\";\t// Special Keyword Buffer\n\tbool sKeywordFound;\t\t// Exit Special Keyword for-loop if found\n\n\t// Skip leading whitespace\n\twhile ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {\n\t\toffset++;\n\t}\n\t// Colorize Default Text\n\tstyler.ColourTo(startLine + offset - 1, SCE_TCMD_DEFAULT);\n\n\tif ( offset >= lengthLine )\n\t\treturn;\n\n\t// Check for Fake Label (Comment) or Real Label - return if found\n\tif (lineBuffer[offset] == ':') {\n\t\tif (lineBuffer[offset + 1] == ':') {\n\t\t\t// Colorize Fake Label (Comment) - :: is the same as REM\n\t\t\tstyler.ColourTo(endPos, SCE_TCMD_COMMENT);\n\t\t} else {\n\t\t\t// Colorize Real Label\n\t\t\tstyler.ColourTo(endPos, SCE_TCMD_LABEL);\n\t\t}\n\t\treturn;\n\n\t// Check for Comment - return if found\n\t} else if (( CompareNCaseInsensitive(lineBuffer+offset, \"rem\", 3) == 0 ) && (( lineBuffer[offset+3] == 0 ) || ( isspace(lineBuffer[offset+3] )))) {\n\t\t\tstyler.ColourTo(endPos, SCE_TCMD_COMMENT);\n\t\t\treturn;\n\n\t// Check for Drive Change (Drive Change is internal command) - return if found\n\t} else if ((IsAlphabetic(lineBuffer[offset])) &&\n\t\t(lineBuffer[offset + 1] == ':') &&\n\t\t((isspacechar(lineBuffer[offset + 2])) ||\n\t\t(((lineBuffer[offset + 2] == '\\\\')) &&\n\t\t(isspacechar(lineBuffer[offset + 3]))))) {\n\t\t// Colorize Regular Keyword\n\t\tstyler.ColourTo(endPos, SCE_TCMD_WORD);\n\t\treturn;\n\t}\n\n\t// Check for Hide Command (@ECHO OFF/ON)\n\tif (lineBuffer[offset] == '@') {\n\t\tstyler.ColourTo(startLine + offset, SCE_TCMD_HIDE);\n\t\toffset++;\n\t}\n\t// Skip whitespace\n\twhile ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {\n\t\toffset++;\n\t}\n\n\t// Read remainder of line word-at-a-time or remainder-of-word-at-a-time\n\twhile (offset < lengthLine) {\n\t\tif (offset > startLine) {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_TCMD_DEFAULT);\n\t\t}\n\t\t// Copy word from Line Buffer into Word Buffer\n\t\twbl = 0;\n\t\tfor (; offset < lengthLine && ( wbl < 260 ) && !isspacechar(lineBuffer[offset]); wbl++, offset++) {\n\t\t\twordBuffer[wbl] = static_cast<char>(tolower(lineBuffer[offset]));\n\t\t}\n\t\twordBuffer[wbl] = '\\0';\n\t\twbo = 0;\n\n\t\t// Check for Separator\n\t\tif (IsBSeparator(wordBuffer[0])) {\n\n\t\t\t// Reset Offset to re-process remainder of word\n\t\t\toffset -= (wbl - 1);\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);\n\n\t\t\tif (wordBuffer[0] == '\"')\n\t\t\t\tinString = !inString;\n\n\t\t// Check for Regular expression\n\t\t} else if (( wordBuffer[0] == ':' ) && ( wordBuffer[1] == ':' ) && (continueProcessing)) {\n\n\t\t\t// Colorize Regular exoressuin\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_TCMD_DEFAULT);\n\t\t\t// No need to Reset Offset\n\n\t\t// Check for Labels in text (... :label)\n\t\t} else if (wordBuffer[0] == ':' && isspacechar(lineBuffer[offset - wbl - 1])) {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_TCMD_DEFAULT);\n\t\t\t// Colorize Label\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_TCMD_CLABEL);\n\t\t\t// No need to Reset Offset\n\t\t// Check for delayed expansion Variable (!x...!)\n\t\t} else if (isDelayedExpansion && wordBuffer[0] == '!') {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_TCMD_DEFAULT);\n\t\t\twbo++;\n\t\t\t// Search to end of word for second !\n\t\t\twhile ((wbo < wbl) && (wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\twbo++;\n\t\t\t}\n\t\t\tif (wordBuffer[wbo] == '!') {\n\t\t\t\twbo++;\n\t\t\t\t// Colorize Environment Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_TCMD_EXPANSION);\n\t\t\t} else {\n\t\t\t\twbo = 1;\n\t\t\t\t// Colorize Symbol\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_TCMD_DEFAULT);\n\t\t\t}\n\n\t\t\t// Reset Offset to re-process remainder of word\n\t\t\toffset -= (wbl - wbo);\n\n\t\t// Check for Regular Keyword in list\n\t\t} else if ((keywords.InList(wordBuffer)) &&\t(!inString) && (continueProcessing)) {\n\n\t\t\t// ECHO, PATH, and PROMPT require no further Regular Keyword Checking\n\t\t\tif ((CompareCaseInsensitive(wordBuffer, \"echo\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"echos\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"echoerr\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"echoserr\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(wordBuffer, \"path\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(wordBuffer, \"prompt\") == 0)) {\n\t\t\t\tcontinueProcessing = false;\n\t\t\t}\n\n\t\t\t// Colorize Regular keyword\n\t\t\tstyler.ColourTo(startLine + offset - 1, SCE_TCMD_WORD);\n\t\t\t// No need to Reset Offset\n\n\t\t} else if ((wordBuffer[0] != '%') && (wordBuffer[0] != '!') && (!IsBOperator(wordBuffer[0])) &&\t(!inString) && (continueProcessing)) {\n\n\t\t\t// a few commands accept \"illegal\" syntax -- cd\\, echo., etc.\n\t\t\tsscanf( wordBuffer, \"%[^.<>|&=\\\\/]\", sKeywordBuffer );\n\t\t\tsKeywordFound = false;\n\n\t\t\tif ((CompareCaseInsensitive(sKeywordBuffer, \"echo\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"echos\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"echoerr\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"echoserr\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"cd\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"path\") == 0) ||\n\t\t\t  (CompareCaseInsensitive(sKeywordBuffer, \"prompt\") == 0)) {\n\n\t\t\t\t// no further Regular Keyword Checking\n\t\t\t\tcontinueProcessing = false;\n\t\t\t\tsKeywordFound = true;\n\t\t\t\twbo = (Sci_PositionU)strlen( sKeywordBuffer );\n\n\t\t\t\t// Colorize Special Keyword as Regular Keyword\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_TCMD_WORD);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - wbo);\n\t\t\t}\n\n\t\t\t// Check for Default Text\n\t\t\tif (!sKeywordFound) {\n\t\t\t\twbo = 0;\n\t\t\t\t// Read up to %, Operator or Separator\n\t\t\t\twhile ((wbo < wbl) && (wordBuffer[wbo] != '%') && (!isDelayedExpansion || wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) &&\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\t\twbo++;\n\t\t\t\t}\n\t\t\t\t// Colorize Default Text\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_TCMD_DEFAULT);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - wbo);\n\t\t\t}\n\n\t\t// Check for Argument  (%n), Environment Variable (%x...%) or Local Variable (%%a)\n\t\t} else if (wordBuffer[0] == '%') {\n\t\t\tunsigned int varlen;\n\t\t\tunsigned int n = 1;\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_TCMD_DEFAULT);\n\t\t\twbo++;\n\n\t\t\t// check for %[nn] syntax\n\t\t\tif ( wordBuffer[1] == '[' ) {\n\t\t\t\tn++;\n\t\t\t\twhile ((n < wbl) && (wordBuffer[n] != ']')) {\n\t\t\t\t\tn++;\n\t\t\t\t}\n\t\t\t\tif ( wordBuffer[n] == ']' )\n\t\t\t\t\tn++;\n\t\t\t\tgoto ColorizeArg;\n\t\t\t}\n\n\t\t\t// Search to end of word for second % or to the first terminator (can be a long path)\n\t\t\twhile ((wbo < wbl) && (wordBuffer[wbo] != '%') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\twbo++;\n\t\t\t}\n\n\t\t\t// Check for Argument (%n) or (%*)\n\t\t\tif (((isdigit(wordBuffer[1])) || (wordBuffer[1] == '*')) && (wordBuffer[wbo] != '%')) {\n\t\t\t\twhile (( wordBuffer[n] ) && ( strchr( \"%0123456789*#$\", wordBuffer[n] ) != NULL ))\n\t\t\t\t\tn++;\nColorizeArg:\n\t\t\t\t// Colorize Argument\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - n), SCE_TCMD_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - n);\n\n\t\t\t// Check for Variable with modifiers (%~...)\n\t\t\t} else if ((varlen = GetBatchVarLen(wordBuffer)) != 0) {\n\n\t\t\t\t// Colorize Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - varlen), SCE_TCMD_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - varlen);\n\n\t\t\t// Check for Environment Variable (%x...%)\n\t\t\t} else if (( wordBuffer[1] ) && ( wordBuffer[1] != '%')) {\n\t\t\t\tif ( wordBuffer[wbo] == '%' )\n\t\t\t\t\twbo++;\n\n\t\t\t\t// Colorize Environment Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_TCMD_ENVIRONMENT);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - wbo);\n\n\t\t\t// Check for Local Variable (%%a)\n\t\t\t} else if (\t(wbl > 2) && (wordBuffer[1] == '%') && (wordBuffer[2] != '%') && (!IsBOperator(wordBuffer[2])) && (!IsBSeparator(wordBuffer[2]))) {\n\n\t\t\t\tn = 2;\n\t\t\t\twhile (( wordBuffer[n] ) && (!IsBOperator(wordBuffer[n])) && (!IsBSeparator(wordBuffer[n])))\n\t\t\t\t\tn++;\n\n\t\t\t\t// Colorize Local Variable\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - n), SCE_TCMD_IDENTIFIER);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - n);\n\n\t\t\t// Check for %%\n\t\t\t} else if ((wbl > 1) && (wordBuffer[1] == '%')) {\n\n\t\t\t\t// Colorize Symbols\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 2), SCE_TCMD_DEFAULT);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 2);\n\t\t\t} else {\n\n\t\t\t\t// Colorize Symbol\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_TCMD_DEFAULT);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t}\n\n\t\t// Check for Operator\n\t\t} else if (IsBOperator(wordBuffer[0])) {\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - wbl, SCE_TCMD_DEFAULT);\n\n\t\t\t// Check for Pipe, compound, or conditional Operator\n\t\t\tif ((wordBuffer[0] == '|') || (wordBuffer[0] == '&')) {\n\n\t\t\t\t// Colorize Pipe Operator\n\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_TCMD_OPERATOR);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t\tcontinueProcessing = true;\n\n\t\t\t// Check for Other Operator\n\t\t\t} else {\n\t\t\t\t// Check for > Operator\n\t\t\t\tif ((wordBuffer[0] == '>') || (wordBuffer[0] == '<')) {\n\t\t\t\t\t// Turn Keyword and External Command / Program checking back on\n\t\t\t\t\tcontinueProcessing = true;\n\t\t\t\t}\n\t\t\t\t// Colorize Other Operator\n\t\t\t\tif (!inString || !(wordBuffer[0] == '(' || wordBuffer[0] == ')'))\n\t\t\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_TCMD_OPERATOR);\n\t\t\t\t// Reset Offset to re-process remainder of word\n\t\t\t\toffset -= (wbl - 1);\n\t\t\t}\n\n\t\t// Check for Default Text\n\t\t} else {\n\t\t\t// Read up to %, Operator or Separator\n\t\t\twhile ((wbo < wbl) && (wordBuffer[wbo] != '%') && (!isDelayedExpansion || wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) &&\t(!IsBSeparator(wordBuffer[wbo]))) {\n\t\t\t\twbo++;\n\t\t\t}\n\t\t\t// Colorize Default Text\n\t\t\tstyler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_TCMD_DEFAULT);\n\t\t\t// Reset Offset to re-process remainder of word\n\t\t\toffset -= (wbl - wbo);\n\t\t}\n\n\t\t// Skip whitespace - nothing happens if Offset was Reset\n\t\twhile ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {\n\t\t\toffset++;\n\t\t}\n\t}\n\t// Colorize Default Text for remainder of line - currently not lexed\n\tstyler.ColourTo(endPos, SCE_TCMD_DEFAULT);\n}\n\nstatic void ColouriseTCMDDoc( Sci_PositionU startPos, Sci_Position length, int /*initStyle*/, WordList *keywordlists[], Accessor &styler )\n{\n\tchar lineBuffer[16384];\n\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\tSci_PositionU startLine = startPos;\n\tfor (Sci_PositionU i = startPos; i < startPos + length; i++) {\n\t\tlineBuffer[linePos++] = styler[i];\n\t\tif (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n\t\t\t// End of line (or of line buffer) met, colourise it\n\t\t\tlineBuffer[linePos] = '\\0';\n\t\t\tColouriseTCMDLine(lineBuffer, linePos, startLine, i, keywordlists, styler);\n\t\t\tlinePos = 0;\n\t\t\tstartLine = i + 1;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tlineBuffer[linePos] = '\\0';\n\t\tColouriseTCMDLine(lineBuffer, linePos, startLine, startPos + length - 1, keywordlists, styler);\n\t}\n}\n\n// Convert string to upper case\nstatic void StrUpr(char *s) {\n\twhile (*s) {\n\t\t*s = MakeUpperCase(*s);\n\t\ts++;\n\t}\n}\n\n// Folding support (for DO, IFF, SWITCH, TEXT, and command groups)\nstatic void FoldTCMDDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n\tSci_Position line = styler.GetLine(startPos);\n\tint level = styler.LevelAt(line);\n\tint levelIndent = 0;\n\tSci_PositionU endPos = startPos + length;\n\tchar s[16] = \"\";\n\n    char chPrev = styler.SafeGetCharAt(startPos - 1);\n\n\t// Scan for ( and )\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\n\t\tint c = styler.SafeGetCharAt(i, '\\n');\n\t\tint style = styler.StyleAt(i);\n        bool bLineStart = ((chPrev == '\\r') || (chPrev == '\\n')) || i == 0;\n\n\t\tif (style == SCE_TCMD_OPERATOR) {\n\t\t\t// CheckFoldPoint\n\t\t\tif (c == '(') {\n\t\t\t\tlevelIndent += 1;\n\t\t\t} else if (c == ')') {\n\t\t\t\tlevelIndent -= 1;\n\t\t\t}\n\t\t}\n\n        if (( bLineStart ) && ( style == SCE_TCMD_WORD )) {\n            for (Sci_PositionU j = 0; j < 10; j++) {\n                if (!iswordchar(styler[i + j])) {\n                    break;\n                }\n                s[j] = styler[i + j];\n                s[j + 1] = '\\0';\n            }\n\n\t\t\tStrUpr( s );\n            if ((strcmp(s, \"DO\") == 0) || (strcmp(s, \"IFF\") == 0) || (strcmp(s, \"SWITCH\") == 0) || (strcmp(s, \"TEXT\") == 0)) {\n                levelIndent++;\n            } else if ((strcmp(s, \"ENDDO\") == 0) || (strcmp(s, \"ENDIFF\") == 0) || (strcmp(s, \"ENDSWITCH\") == 0) || (strcmp(s, \"ENDTEXT\") == 0)) {\n                levelIndent--;\n            }\n        }\n\n\t\tif (c == '\\n') { // line end\n\t\t\t\tif (levelIndent > 0) {\n\t\t\t\t\t\tlevel |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t}\n\t\t\t\tif (level != styler.LevelAt(line))\n\t\t\t\t\t\tstyler.SetLevel(line, level);\n\t\t\t\tlevel += levelIndent;\n\t\t\t\tif ((level & SC_FOLDLEVELNUMBERMASK) < SC_FOLDLEVELBASE)\n\t\t\t\t\t\tlevel = SC_FOLDLEVELBASE;\n\t\t\t\tline++;\n\t\t\t\t// reset state\n\t\t\t\tlevelIndent = 0;\n\t\t\t\tlevel &= ~SC_FOLDLEVELHEADERFLAG;\n\t\t\t\tlevel &= ~SC_FOLDLEVELWHITEFLAG;\n\t\t}\n\n\t\tchPrev = c;\n\t}\n}\n\nstatic const char *const tcmdWordListDesc[] = {\n\t\"Internal Commands\",\n\t\"Aliases\",\n\t0\n};\n\nLexerModule lmTCMD(SCLEX_TCMD, ColouriseTCMDDoc, \"tcmd\", FoldTCMDDoc, tcmdWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTXT.cpp",
    "content": "﻿#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"StringCopy.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"CharacterCategory.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"SubStyles.h\"\n#include \"DefaultLexer.h\"\r\n#include \"LexAccessor.h\"\r\n\r\n#include \"UniConversion.h\"\r\n\r\nusing namespace Scintilla;\r\n\r\n//const char styleSubable[] = { SCE_P_IDENTIFIER, 0 };\r\n\r\n//Default = 0,//中文\n//Ascii = 1,//英文\n//Keyword = 2, //关键字，只有以TXT为母版的\n\nLexicalClass lexicalClasses[] = {\r\n\t// Lexer Python SCLEX_PYTHON SCE_P_:\r\n\t0, \"SCE_TXT_DEFAULT\", \"default\", \"utf8 char\",\r\n\t1, \"SCE_TXT_ASCII\", \"Ascii\", \"Ascii\",\r\n\t2, \"SCE_TXT_KEYWORD\", \"keyword\", \"keyword\",\n};\r\n\r\nenum literalsAllowed { litNone = 0, litU = 1, litB = 2, litF = 4 };\n\r\n// Options used for LexerPython\nstruct OptionsTxt {\n\tbool ascii;\n\tbool utf8;\n\n\tOptionsTxt() {\n\t\tascii = true;\n\t\tutf8 = true;\n\t}\n\n};\r\n\r\n\r\nstruct OptionSetTxt : public OptionSet<OptionsTxt> {\n\tOptionSetTxt() {\n\t\tDefineProperty(\"lexer.txt.utf8string\", &OptionsTxt::utf8,\n\t\t\t\"text Unicode string\");\n\n\t\tDefineProperty(\"lexer.txt.asciistring\", &OptionsTxt::ascii,\n\t\t\t\"text literals ascii string\");\n\t}\n};\n\r\nclass LexTXT :public DefaultLexer\r\n{\r\n\tWordList keywords;\r\n\t//SubStyles subStyles;\r\n\tOptionsTxt options;\r\n\tOptionSetTxt osTxt;\r\npublic:\r\n\texplicit LexTXT() :\r\n\t\tDefaultLexer(lexicalClasses, ELEMENTS(lexicalClasses))/*,\r\n\t\tsubStyles(styleSubable, 0x80, 0x40, 0)*/ {\r\n\t}\r\n\tvirtual ~LexTXT() {}\r\n\r\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\r\n\tint SCI_METHOD Version() const override {\n\t\treturn lvSubStyles;\n\t}\r\n\tconst char *SCI_METHOD PropertyNames() override {\n\t\treturn osTxt.PropertyNames();\n\t}\r\n\tint SCI_METHOD PropertyType(const char *name) override {\n\t\treturn osTxt.PropertyType(name);\n\t}\n\tconst char *SCI_METHOD DescribeProperty(const char *name) override {\n\t\treturn osTxt.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\n\tconst char *SCI_METHOD DescribeWordListSets() override {\n\t\treturn \"\";\n\t}\r\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\r\n\r\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid *SCI_METHOD PrivateCall(int, void *) override {\n\t\treturn 0;\n\t}\r\n\tint SCI_METHOD LineEndTypesSupported() override {\n\t\treturn SC_LINE_END_TYPE_UNICODE;\n\t}\n\n\t//int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override {\n\t//\treturn subStyles.Allocate(styleBase, numberStyles);\n\t//}\n\t//int SCI_METHOD SubStylesStart(int styleBase) override {\n\t//\treturn subStyles.Start(styleBase);\n\t//}\r\n\t//int SCI_METHOD SubStylesLength(int styleBase) override {\n\t//\treturn subStyles.Length(styleBase);\n\t//}\n\t//int SCI_METHOD StyleFromSubStyle(int subStyle) override {\n\t//\tconst int styleBase = subStyles.BaseStyle(subStyle);\n\t//\treturn styleBase;\n\t//}\n\tint SCI_METHOD PrimaryStyleFromStyle(int style) override {\n\t\treturn style;\n\t}\n\t//void SCI_METHOD FreeSubStyles() override {\n\t//\tsubStyles.Free();\n\t//}\n\t//void SCI_METHOD SetIdentifiers(int style, const char *identifiers) override {\n\t//\tsubStyles.SetIdentifiers(style, identifiers);\n\t//}\n\tint SCI_METHOD DistanceToSecondaryStyles() override {\n\t\treturn 0;\n\t}\n\t//const char *SCI_METHOD GetSubStyleBases() override {\n\t//\treturn styleSubable;\n\t//}\n\n\tstatic ILexer *LexerFactoryTxt() {\n\t\treturn new LexTXT();\n\t}\r\n};\r\n\r\nSci_Position SCI_METHOD LexTXT::PropertySet(const char *key, const char *val) {\r\n\tif (osTxt.PropertySet(&options, key, val)) {\r\n\t\treturn 0;\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\nSci_Position SCI_METHOD LexTXT::WordListSet(int n, const char *wl) {\r\n\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n}\r\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t}\n\t}\n\treturn firstModification;\n}\n\r\nconst int indicatorWhitespace = 1;\r\n\r\n//inline bool IsAWordChar(int ch, bool unicodeIdentifiers) {\n//\tif (ch < 0x80)\n//\t\treturn (isalnum(ch) || ch == '.' || ch == '_');\n//\n//\tif (!unicodeIdentifiers)\n//\t\treturn false;\n//\n//\t// Python uses the XID_Continue set from unicode data\n//\treturn IsXidContinue(ch);\n//}\n\ninline bool IsAAsciiChar(int ch) {\n\treturn (ch < 0x80);\n}\n\ninline bool IsAWordStart(int ch, bool unicodeIdentifiers) {\n\tif (ch < 0x80)\n\t\treturn (isalpha(ch) || ch == '_');\n\n\tif (!unicodeIdentifiers)\n\t\treturn false;\n\n\t// Python uses the XID_Start set from unicode data\n\treturn IsXidStart(ch);\n}\n\n//只识别中文和英文两种单词的状态\r\nvoid SCI_METHOD LexTXT::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\r\n\tAccessor styler(pAccess, NULL);\r\n\r\n\tconst Sci_Position endPos = startPos + length;\r\n\r\n\t//// Backtrack to previous line in case need to fix its tab whinging\r\n\t//Sci_Position lineCurrent = styler.GetLine(startPos);\r\n\t//if (startPos > 0) {\r\n\t//\tif (lineCurrent > 0) {\r\n\t//\t\tlineCurrent--;\r\n\t//\t\t// Look for backslash-continued lines\r\n\t//\t\twhile (lineCurrent > 0) {\r\n\t//\t\t\tSci_Position eolPos = styler.LineStart(lineCurrent) - 1;\r\n\t//\t\t\tconst int eolStyle = styler.StyleAt(eolPos);\r\n\t//\t\t\tif (eolStyle == SCE_P_STRING\r\n\t//\t\t\t\t|| eolStyle == SCE_P_CHARACTER\r\n\t//\t\t\t\t|| eolStyle == SCE_P_STRINGEOL) {\r\n\t//\t\t\t\tlineCurrent -= 1;\r\n\t//\t\t\t}\n\t//\t\t\telse {\n\t//\t\t\t\tbreak;\n\t//\t\t\t}\n\t//\t\t}\n\t//\t\tstartPos = styler.LineStart(lineCurrent);\n\t//\t}\n\t//\tinitStyle = (startPos == 0 ? SCE_P_DEFAULT : styler.StyleAt(startPos - 1));\n\t//}\n\n\t//initStyle = initStyle & 31;\n\t//if (initStyle == SCE_P_STRINGEOL) {\n\t//\tinitStyle = SCE_P_DEFAULT;\n\t//}\n\n\tStyleContext sc(startPos, endPos - startPos, initStyle, styler);\n\n\tSci_Position startIndicator = sc.currentPos;\n\n\n\tfor (; sc.More();) {\n\n\t\t// Check for a new state starting character\n\t\tif (sc.state == SCE_TXT_DEFAULT)\n\t\t{\n\t\t\t//遇到下一个ASCII字符的时候，进入识别状态\n\t\t\tif (IsAAsciiChar(sc.ch))\n\t\t\t{\n\t\t\t\tsc.SetState(SCE_TXT_IDENTIFIER);\n\t\t\t\t}\r\n\t\t\t\t}\r\n\t\telse if (sc.state == SCE_TXT_ASCII)\n\t\t{\n\t\t\t//遇到下一个非ASCII字符的时候，进入识别状态\n\t\t\tif (!IsAAsciiChar(sc.ch))\n\t\t\t{\n\t\t\t\tsc.SetState(SCE_TXT_IDENTIFIER);\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (sc.state == SCE_TXT_IDENTIFIER) {\r\n\r\n\t\t\t//txt就三种状态、英文、中文、自定义关键字。默认是中文。\n\t\t\t//遇到非字符和非数字，开始检测单词,是关键字则识别为关键字;若不是关键字，则肯定是英文字符\n\t\n\t\t\t//如果遇到非ASCII字符，则开始检查\n\t\t\tif (!IsAAsciiChar(sc.ch)) {\n\t\t\t\tchar s[1000];\n\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\tint style = SCE_TXT_IDENTIFIER;\n\t\t\t\tif (keywords.InList(s)) \n\t\t{\r\n\t\t\t\t\tstyle = SCE_TXT_KEYWORD;\r\n\t\t}\r\n\t\t\t\telse\r\n\t\t{\r\n\t\t\t\t\t//不是关键字，就是普通的英文单词\n\t\t\t\t\tstyle = SCE_TXT_ASCII;\n\t\t\t\t}\n\t\t\t\tsc.ChangeState(style);\r\n\n\t\t\t\t//下面函数运行就已经把关键字或英文给单独设置风格了。此时默认进入中文风格状态\n\t\t\tsc.SetState(SCE_TXT_DEFAULT);\r\n\n\t\t}\r\n\t}\r\n\n\t\tsc.Forward();\n\t}\n\t\r\n\t//最后一段不能遗漏，也需要识别\n\tif (sc.state == SCE_TXT_IDENTIFIER)\n\t{\n\t\tif (IsAAsciiChar(sc.chPrev))\n\t\t{\n\t\tsc.ChangeState(SCE_TXT_ASCII);\n\t}\n\telse\n\t{\n\t\tsc.ChangeState(SCE_TXT_DEFAULT);\n\t}\n\t}\n\n\tsc.SetState(SCE_TXT_DEFAULT);\n\n\tstyler.IndicatorFill(startIndicator, sc.currentPos, indicatorWhitespace, 0);\r\n\tsc.Complete();\r\n\r\n}\r\n\r\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\r\n\tSci_Position pos = styler.LineStart(line);\r\n\tconst Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\r\n\tfor (Sci_Position i = pos; i < eol_pos; i++) {\r\n\t\tconst char ch = styler[i];\r\n\t\tif (ch == '#')\r\n\t\t\treturn true;\r\n\t\telse if (ch != ' ' && ch != '\\t')\r\n\t\t\treturn false;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nstatic bool IsQuoteLine(Sci_Position line, const Accessor &styler) {\r\n\tconst int style = styler.StyleAt(styler.LineStart(line)) & 31;\r\n\treturn false;\r\n}\r\n\r\n\r\n//不处理任何折叠\r\nvoid SCI_METHOD LexTXT::Fold(Sci_PositionU startPos, Sci_Position length, int /*initStyle - unused*/, IDocument *pAccess) {\r\n\treturn;\r\n}\r\n\r\nstatic const char *const txtWordListDesc[] = {\n\t0\n};\r\n\r\nLexerModule lmTxt(SCLEX_TXT, LexTXT::LexerFactoryTxt, \"txt\", txtWordListDesc);\r\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTeX.cpp",
    "content": "// Scintilla source code edit control\n\n// File: LexTeX.cxx - general context conformant tex coloring scheme\n// Author: Hans Hagen - PRAGMA ADE - Hasselt NL - www.pragma-ade.com\n// Version: September 28, 2003\n\n// Copyright: 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// This lexer is derived from the one written for the texwork environment (1999++) which in\n// turn is inspired on texedit (1991++) which finds its roots in wdt (1986).\n\n// If you run into strange boundary cases, just tell me and I'll look into it.\n\n\n// TeX Folding code added by instanton (soft_share@126.com) with borrowed code from VisualTeX source by Alex Romanenko.\n// Version: June 22, 2007\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// val SCE_TEX_DEFAULT = 0\n// val SCE_TEX_SPECIAL = 1\n// val SCE_TEX_GROUP   = 2\n// val SCE_TEX_SYMBOL  = 3\n// val SCE_TEX_COMMAND = 4\n// val SCE_TEX_TEXT    = 5\n\n// Definitions in SciTEGlobal.properties:\n//\n// TeX Highlighting\n//\n// # Default\n// style.tex.0=fore:#7F7F00\n// # Special\n// style.tex.1=fore:#007F7F\n// # Group\n// style.tex.2=fore:#880000\n// # Symbol\n// style.tex.3=fore:#7F7F00\n// # Command\n// style.tex.4=fore:#008800\n// # Text\n// style.tex.5=fore:#000000\n\n// lexer.tex.interface.default=0\n// lexer.tex.comment.process=0\n\n// todo: lexer.tex.auto.if\n\n// Auxiliary functions:\n\nstatic inline bool endOfLine(Accessor &styler, Sci_PositionU i) {\n\treturn\n      (styler[i] == '\\n') || ((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n')) ;\n}\n\nstatic inline bool isTeXzero(int ch) {\n\treturn\n      (ch == '%') ;\n}\n\nstatic inline bool isTeXone(int ch) {\n\treturn\n      (ch == '[') || (ch == ']') || (ch == '=') || (ch == '#') ||\n      (ch == '(') || (ch == ')') || (ch == '<') || (ch == '>') ||\n      (ch == '\"') ;\n}\n\nstatic inline bool isTeXtwo(int ch) {\n\treturn\n      (ch == '{') || (ch == '}') || (ch == '$') ;\n}\n\nstatic inline bool isTeXthree(int ch) {\n\treturn\n      (ch == '~') || (ch == '^') || (ch == '_') || (ch == '&') ||\n      (ch == '-') || (ch == '+') || (ch == '\\\"') || (ch == '`') ||\n      (ch == '/') || (ch == '|') || (ch == '%') ;\n}\n\nstatic inline bool isTeXfour(int ch) {\n\treturn\n      (ch == '\\\\') ;\n}\n\nstatic inline bool isTeXfive(int ch) {\n\treturn\n      ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) ||\n      (ch == '@') || (ch == '!') || (ch == '?') ;\n}\n\nstatic inline bool isTeXsix(int ch) {\n\treturn\n      (ch == ' ') ;\n}\n\nstatic inline bool isTeXseven(int ch) {\n\treturn\n      (ch == '^') ;\n}\n\n// Interface determination\n\nstatic int CheckTeXInterface(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    Accessor &styler,\n\tint defaultInterface) {\n\n    char lineBuffer[1024] ;\n\tSci_PositionU linePos = 0 ;\n\n    // some day we can make something lexer.tex.mapping=(all,0)(nl,1)(en,2)...\n\n    if (styler.SafeGetCharAt(0) == '%') {\n        for (Sci_PositionU i = 0; i < startPos + length; i++) {\n            lineBuffer[linePos++] = styler.SafeGetCharAt(i) ;\n            if (endOfLine(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n                lineBuffer[linePos] = '\\0';\n                if (strstr(lineBuffer, \"interface=all\")) {\n                    return 0 ;\n\t\t\t\t} else if (strstr(lineBuffer, \"interface=tex\")) {\n                    return 1 ;\n                } else if (strstr(lineBuffer, \"interface=nl\")) {\n                    return 2 ;\n                } else if (strstr(lineBuffer, \"interface=en\")) {\n                    return 3 ;\n                } else if (strstr(lineBuffer, \"interface=de\")) {\n                    return 4 ;\n                } else if (strstr(lineBuffer, \"interface=cz\")) {\n                    return 5 ;\n                } else if (strstr(lineBuffer, \"interface=it\")) {\n                    return 6 ;\n                } else if (strstr(lineBuffer, \"interface=ro\")) {\n                    return 7 ;\n                } else if (strstr(lineBuffer, \"interface=latex\")) {\n\t\t\t\t\t// we will move latex cum suis up to 91+ when more keyword lists are supported\n                    return 8 ;\n\t\t\t\t} else if (styler.SafeGetCharAt(1) == 'D' && strstr(lineBuffer, \"%D \\\\module\")) {\n\t\t\t\t\t// better would be to limit the search to just one line\n\t\t\t\t\treturn 3 ;\n                } else {\n                    return defaultInterface ;\n                }\n            }\n\t\t}\n    }\n\n    return defaultInterface ;\n}\n\nstatic void ColouriseTeXDoc(\n    Sci_PositionU startPos,\n    Sci_Position length,\n    int,\n    WordList *keywordlists[],\n    Accessor &styler) {\n\n\tstyler.StartAt(startPos) ;\n\tstyler.StartSegment(startPos) ;\n\n\tbool processComment   = styler.GetPropertyInt(\"lexer.tex.comment.process\",   0) == 1 ;\n\tbool useKeywords      = styler.GetPropertyInt(\"lexer.tex.use.keywords\",      1) == 1 ;\n\tbool autoIf           = styler.GetPropertyInt(\"lexer.tex.auto.if\",           1) == 1 ;\n\tint  defaultInterface = styler.GetPropertyInt(\"lexer.tex.interface.default\", 1) ;\n\n\tchar key[100] ;\n\tint  k ;\n\tbool newifDone = false ;\n\tbool inComment = false ;\n\n\tint currentInterface = CheckTeXInterface(startPos,length,styler,defaultInterface) ;\n\n    if (currentInterface == 0) {\n        useKeywords = false ;\n        currentInterface = 1 ;\n    }\n\n    WordList &keywords = *keywordlists[currentInterface-1] ;\n\n\tStyleContext sc(startPos, length, SCE_TEX_TEXT, styler);\n\n\tbool going = sc.More() ; // needed because of a fuzzy end of file state\n\n\tfor (; going; sc.Forward()) {\n\n\t\tif (! sc.More()) { going = false ; } // we need to go one behind the end of text\n\n\t\tif (inComment) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t\tnewifDone = false ;\n\t\t\t\tinComment = false ;\n\t\t\t}\n\t\t} else {\n\t\t\tif (! isTeXfive(sc.ch)) {\n\t\t\t\tif (sc.state == SCE_TEX_COMMAND) {\n\t\t\t\t\tif (sc.LengthCurrent() == 1) { // \\<noncstoken>\n\t\t\t\t\t\tif (isTeXseven(sc.ch) && isTeXseven(sc.chNext)) {\n\t\t\t\t\t\t\tsc.Forward(2) ; // \\^^ and \\^^<token>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsc.ForwardSetState(SCE_TEX_TEXT) ;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsc.GetCurrent(key, sizeof(key)-1) ;\n\t\t\t\t\t\tk = static_cast<int>(strlen(key)) ;\n\t\t\t\t\t\tmemmove(key,key+1,k) ; // shift left over escape token\n\t\t\t\t\t\tkey[k] = '\\0' ;\n\t\t\t\t\t\tk-- ;\n\t\t\t\t\t\tif (! keywords || ! useKeywords) {\n\t\t\t\t\t\t\tsc.SetState(SCE_TEX_COMMAND) ;\n\t\t\t\t\t\t\tnewifDone = false ;\n\t\t\t\t\t\t} else if (k == 1) { //\\<cstoken>\n\t\t\t\t\t\t\tsc.SetState(SCE_TEX_COMMAND) ;\n\t\t\t\t\t\t\tnewifDone = false ;\n\t\t\t\t\t\t} else if (keywords.InList(key)) {\n    \t\t\t\t\t\tsc.SetState(SCE_TEX_COMMAND) ;\n\t\t\t\t\t\t\tnewifDone = autoIf && (strcmp(key,\"newif\") == 0) ;\n\t\t\t\t\t\t} else if (autoIf && ! newifDone && (key[0] == 'i') && (key[1] == 'f') && keywords.InList(\"if\")) {\n\t    \t\t\t\t\tsc.SetState(SCE_TEX_COMMAND) ;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsc.ChangeState(SCE_TEX_TEXT) ;\n\t\t\t\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t\t\t\t\tnewifDone = false ;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (isTeXzero(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_SYMBOL);\n\n\t\t\t\t\tif (!endOfLine(styler,sc.currentPos + 1))\n\t\t\t\t\t\tsc.ForwardSetState(SCE_TEX_DEFAULT) ;\n\n\t\t\t\t\tinComment = ! processComment ;\n\t\t\t\t\tnewifDone = false ;\n\t\t\t\t} else if (isTeXseven(sc.ch) && isTeXseven(sc.chNext)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t\t\tsc.ForwardSetState(SCE_TEX_TEXT) ;\n\t\t\t\t} else if (isTeXone(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_SPECIAL) ;\n\t\t\t\t\tnewifDone = false ;\n\t\t\t\t} else if (isTeXtwo(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_GROUP) ;\n\t\t\t\t\tnewifDone = false ;\n\t\t\t\t} else if (isTeXthree(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_SYMBOL) ;\n\t\t\t\t\tnewifDone = false ;\n\t\t\t\t} else if (isTeXfour(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_COMMAND) ;\n\t\t\t\t} else if (isTeXsix(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t\t\tnewifDone = false ;\n\t\t\t\t\tinComment = false ;\n\t\t\t\t} else {\n\t\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t\t}\n\t\t\t} else if (sc.state != SCE_TEX_COMMAND) {\n\t\t\t\tsc.SetState(SCE_TEX_TEXT) ;\n\t\t\t}\n\t\t}\n\t}\n\tsc.ChangeState(SCE_TEX_TEXT) ;\n\tsc.Complete();\n\n}\n\n\nstatic inline bool isNumber(int ch) {\n\treturn\n      (ch == '0') || (ch == '1') || (ch == '2') ||\n      (ch == '3') || (ch == '4') || (ch == '5') ||\n      (ch == '6') || (ch == '7') || (ch == '8') || (ch == '9');\n}\n\nstatic inline bool isWordChar(int ch) {\n\treturn ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z'));\n}\n\nstatic Sci_Position ParseTeXCommand(Sci_PositionU pos, Accessor &styler, char *command)\n{\n  Sci_Position length=0;\n  char ch=styler.SafeGetCharAt(pos+1);\n\n  if(ch==',' || ch==':' || ch==';' || ch=='%'){\n      command[0]=ch;\n      command[1]=0;\n\t  return 1;\n  }\n\n  // find end\n     while(isWordChar(ch) && !isNumber(ch) && ch!='_' && ch!='.' && length<100){\n          command[length]=ch;\n          length++;\n          ch=styler.SafeGetCharAt(pos+length+1);\n     }\n\n  command[length]='\\0';\n  if(!length) return 0;\n  return length+1;\n}\n\nstatic int classifyFoldPointTeXPaired(const char* s) {\n\tint lev=0;\n\tif (!(isdigit(s[0]) || (s[0] == '.'))){\n\t\tif (strcmp(s, \"begin\")==0||strcmp(s,\"FoldStart\")==0||\n\t\t\tstrcmp(s,\"abstract\")==0||strcmp(s,\"unprotect\")==0||\n\t\t\tstrcmp(s,\"title\")==0||strncmp(s,\"start\",5)==0||strncmp(s,\"Start\",5)==0||\n\t\t\tstrcmp(s,\"documentclass\")==0||strncmp(s,\"if\",2)==0\n\t\t\t)\n\t\t\tlev=1;\n\t\tif (strcmp(s, \"end\")==0||strcmp(s,\"FoldStop\")==0||\n\t\t\tstrcmp(s,\"maketitle\")==0||strcmp(s,\"protect\")==0||\n\t\t\tstrncmp(s,\"stop\",4)==0||strncmp(s,\"Stop\",4)==0||\n\t\t\tstrcmp(s,\"fi\")==0\n\t\t\t)\n\t\tlev=-1;\n\t}\n\treturn lev;\n}\n\nstatic int classifyFoldPointTeXUnpaired(const char* s) {\n\tint lev=0;\n\tif (!(isdigit(s[0]) || (s[0] == '.'))){\n\t\tif (strcmp(s,\"part\")==0||\n\t\t\tstrcmp(s,\"chapter\")==0||\n\t\t\tstrcmp(s,\"section\")==0||\n\t\t\tstrcmp(s,\"subsection\")==0||\n\t\t\tstrcmp(s,\"subsubsection\")==0||\n\t\t\tstrcmp(s,\"CJKfamily\")==0||\n\t\t\tstrcmp(s,\"appendix\")==0||\n\t\t\tstrcmp(s,\"Topic\")==0||strcmp(s,\"topic\")==0||\n\t\t\tstrcmp(s,\"subject\")==0||strcmp(s,\"subsubject\")==0||\n\t\t\tstrcmp(s,\"def\")==0||strcmp(s,\"gdef\")==0||strcmp(s,\"edef\")==0||\n\t\t\tstrcmp(s,\"xdef\")==0||strcmp(s,\"framed\")==0||\n\t\t\tstrcmp(s,\"frame\")==0||\n\t\t\tstrcmp(s,\"foilhead\")==0||strcmp(s,\"overlays\")==0||strcmp(s,\"slide\")==0\n\t\t\t){\n\t\t\t    lev=1;\n\t\t\t}\n\t}\n\treturn lev;\n}\n\nstatic bool IsTeXCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\n\tSci_Position startpos = pos;\n\n\twhile (startpos<eol_pos){\n\t\tchar ch = styler[startpos];\n\t\tif (ch!='%' && ch!=' ') return false;\n\t\telse if (ch=='%') return true;\n\t\tstartpos++;\n\t}\n\n\treturn false;\n}\n\n// FoldTeXDoc: borrowed from VisualTeX with modifications\n\nstatic void FoldTexDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler)\n{\n\tbool foldCompact = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n\tSci_PositionU endPos = startPos+length;\n\tint visibleChars=0;\n\tSci_Position lineCurrent=styler.GetLine(startPos);\n\tint levelPrev=styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;\n\tint levelCurrent=levelPrev;\n\tchar chNext=styler[startPos];\n\tchar buffer[100]=\"\";\n\n\tfor (Sci_PositionU i=startPos; i < endPos; i++) {\n\t\tchar ch=chNext;\n\t\tchNext=styler.SafeGetCharAt(i+1);\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n        if(ch=='\\\\') {\n            ParseTeXCommand(i, styler, buffer);\n\t\t\tlevelCurrent += classifyFoldPointTeXPaired(buffer)+classifyFoldPointTeXUnpaired(buffer);\n\t\t}\n\n\t\tif (levelCurrent > SC_FOLDLEVELBASE && ((ch == '\\r' || ch=='\\n') && (chNext == '\\\\'))) {\n            ParseTeXCommand(i+1, styler, buffer);\n\t\t\tlevelCurrent -= classifyFoldPointTeXUnpaired(buffer);\n\t\t}\n\n\tchar chNext2;\n\tchar chNext3;\n\tchar chNext4;\n\tchar chNext5;\n\tchNext2=styler.SafeGetCharAt(i+2);\n\tchNext3=styler.SafeGetCharAt(i+3);\n\tchNext4=styler.SafeGetCharAt(i+4);\n\tchNext5=styler.SafeGetCharAt(i+5);\n\n\tbool atEOfold = (ch == '%') &&\n\t\t\t(chNext == '%') && (chNext2=='}') &&\n\t\t\t\t(chNext3=='}')&& (chNext4=='-')&& (chNext5=='-');\n\n\tbool atBOfold = (ch == '%') &&\n\t\t\t(chNext == '%') && (chNext2=='-') &&\n\t\t\t\t(chNext3=='-')&& (chNext4=='{')&& (chNext5=='{');\n\n\tif(atBOfold){\n\t\tlevelCurrent+=1;\n\t}\n\n\tif(atEOfold){\n\t\tlevelCurrent-=1;\n\t}\n\n\tif(ch=='\\\\' && chNext=='['){\n\t\tlevelCurrent+=1;\n\t}\n\n\tif(ch=='\\\\' && chNext==']'){\n\t\tlevelCurrent-=1;\n\t}\n\n\tbool foldComment = styler.GetPropertyInt(\"fold.comment\") != 0;\n\n\tif (foldComment && atEOL && IsTeXCommentLine(lineCurrent, styler))\n        {\n            if (lineCurrent==0 && IsTeXCommentLine(lineCurrent + 1, styler)\n\t\t\t\t)\n                levelCurrent++;\n            else if (lineCurrent!=0 && !IsTeXCommentLine(lineCurrent - 1, styler)\n               && IsTeXCommentLine(lineCurrent + 1, styler)\n\t\t\t\t)\n                levelCurrent++;\n            else if (lineCurrent!=0 && IsTeXCommentLine(lineCurrent - 1, styler) &&\n                     !IsTeXCommentLine(lineCurrent+1, styler))\n                levelCurrent--;\n        }\n\n//---------------------------------------------------------------------------------------------\n\n\t\tif (atEOL) {\n\t\t\tint lev = levelPrev;\n\t\t\tif (visibleChars == 0 && foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif ((levelCurrent > levelPrev) && (visibleChars > 0))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelPrev = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n\n\t// Fill in the real level of the next line, keeping the current flags as they will be filled in later\n\tint flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK;\n\tstyler.SetLevel(lineCurrent, levelPrev | flagsNext);\n}\n\n\n\n\nstatic const char * const texWordListDesc[] = {\n    \"TeX, eTeX, pdfTeX, Omega\",\n    \"ConTeXt Dutch\",\n    \"ConTeXt English\",\n    \"ConTeXt German\",\n    \"ConTeXt Czech\",\n    \"ConTeXt Italian\",\n    \"ConTeXt Romanian\",\n\t0,\n} ;\n\nLexerModule lmTeX(SCLEX_TEX,   ColouriseTeXDoc, \"tex\", FoldTexDoc, texWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexTxt2tags.cpp",
    "content": "/******************************************************************\n *  LexTxt2tags.cxx\n *\n *  A simple Txt2tags lexer for scintilla.\n *\n *\n *  Adapted by Eric Forgeot\n *  Based on the LexMarkdown.cxx by Jon Strait - jstrait@moonloop.net\n *\n *  What could be improved:\n *   - Verbatim lines could be like for raw lines : when there is no space between the ``` and the following text, the first letter should be colored so the user would understand there must be a space for a valid tag.\n *   - marks such as bold, italic, strikeout, underline should begin to be highlighted only when they are closed and valid.\n *   - verbatim and raw area should be highlighted too.\n *\n *  The License.txt file describes the conditions under which this\n *  software may be distributed.\n *\n *****************************************************************/\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n\n\nstatic inline bool IsNewline(const int ch) {\n    return (ch == '\\n' || ch == '\\r');\n}\n\n// True if can follow ch down to the end with possibly trailing whitespace\nstatic bool FollowToLineEnd(const int ch, const int state, const Sci_PositionU endPos, StyleContext &sc) {\n    Sci_PositionU i = 0;\n    while (sc.GetRelative(++i) == ch)\n        ;\n    // Skip over whitespace\n    while (IsASpaceOrTab(sc.GetRelative(i)) && sc.currentPos + i < endPos)\n        ++i;\n    if (IsNewline(sc.GetRelative(i)) || sc.currentPos + i == endPos) {\n        sc.Forward(i);\n        sc.ChangeState(state);\n        sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n        return true;\n    }\n    else return false;\n}\n\n// Does the previous line have more than spaces and tabs?\nstatic bool HasPrevLineContent(StyleContext &sc) {\n    Sci_Position i = 0;\n    // Go back to the previous newline\n    while ((--i + sc.currentPos) && !IsNewline(sc.GetRelative(i)))\n        ;\n    while (--i + sc.currentPos) {\n        if (IsNewline(sc.GetRelative(i)))\n            break;\n        if (!IsASpaceOrTab(sc.GetRelative(i)))\n            return true;\n    }\n    return false;\n}\n\n// Separator line\nstatic bool IsValidHrule(const Sci_PositionU endPos, StyleContext &sc) {\n    int count = 1;\n    Sci_PositionU i = 0;\n    for (;;) {\n        ++i;\n        int c = sc.GetRelative(i);\n        if (c == sc.ch)\n            ++count;\n        // hit a terminating character\n        else if (!IsASpaceOrTab(c) || sc.currentPos + i == endPos) {\n            // Are we a valid HRULE\n            if ((IsNewline(c) || sc.currentPos + i == endPos) &&\n                    count >= 20 && !HasPrevLineContent(sc)) {\n                sc.SetState(SCE_TXT2TAGS_HRULE);\n                sc.Forward(i);\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n                return true;\n            }\n            else {\n                sc.SetState(SCE_TXT2TAGS_DEFAULT);\n\t\treturn false;\n            }\n        }\n    }\n}\n\nstatic void ColorizeTxt2tagsDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                               WordList **, Accessor &styler) {\n    Sci_PositionU endPos = startPos + length;\n    int precharCount = 0;\n    // Don't advance on a new loop iteration and retry at the same position.\n    // Useful in the corner case of having to start at the beginning file position\n    // in the default state.\n    bool freezeCursor = false;\n\n    StyleContext sc(startPos, length, initStyle, styler);\n\n    while (sc.More()) {\n        // Skip past escaped characters\n        if (sc.ch == '\\\\') {\n            sc.Forward();\n            continue;\n        }\n\n        // A blockquotes resets the line semantics\n        if (sc.state == SCE_TXT2TAGS_BLOCKQUOTE){\n            sc.Forward(2);\n            sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n        }\n        // An option colors the whole line\n        if (sc.state == SCE_TXT2TAGS_OPTION){\n            FollowToLineEnd('%', SCE_TXT2TAGS_OPTION, endPos, sc);\n        }\n        if (sc.state == SCE_TXT2TAGS_POSTPROC){\n            FollowToLineEnd('%', SCE_TXT2TAGS_POSTPROC, endPos, sc);\n        }\n        if (sc.state == SCE_TXT2TAGS_PREPROC){\n            FollowToLineEnd('%', SCE_TXT2TAGS_PREPROC, endPos, sc);\n        }\n        // A comment colors the whole line\n        if (sc.state == SCE_TXT2TAGS_COMMENT){\n            FollowToLineEnd('%', SCE_TXT2TAGS_COMMENT, endPos, sc);\n        }\n        // Conditional state-based actions\n        if (sc.state == SCE_TXT2TAGS_CODE2) {\n        if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.Match(\"``\") && sc.GetRelative(-2) != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            }\n        }\n        // Table\n        else if (sc.state == SCE_TXT2TAGS_CODE) {\n        if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.ch == '|' && sc.chPrev != ' ')\n                sc.ForwardSetState(SCE_TXT2TAGS_DEFAULT);\n        }\n        // Strong\n        else if (sc.state == SCE_TXT2TAGS_STRONG1) {\n        if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.Match(\"**\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            }\n        }\n        // Emphasis\n        else if (sc.state == SCE_TXT2TAGS_EM1) {\n        if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.Match(\"//\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.ForwardSetState(SCE_TXT2TAGS_DEFAULT);\n           }\n        }\n        // Underline\n        else if (sc.state == SCE_TXT2TAGS_EM2) {\n        if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.Match(\"__\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.ForwardSetState(SCE_TXT2TAGS_DEFAULT);\n           }\n        }\n        // codeblock\n        else if (sc.state == SCE_TXT2TAGS_CODEBK) {\n                if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.atLineStart && sc.Match(\"```\")) {\n                Sci_Position i = 1;\n                while (!IsNewline(sc.GetRelative(i)) && sc.currentPos + i < endPos)\n                    i++;\n                sc.Forward(i);\n                sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            }\n        }\n        // strikeout\n        else if (sc.state == SCE_TXT2TAGS_STRIKEOUT) {\n        if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            if (sc.Match(\"--\") && sc.chPrev != ' ') {\n                sc.Forward(2);\n                sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            }\n        }\n        // Headers\n        else if (sc.state == SCE_TXT2TAGS_LINE_BEGIN) {\n            if (sc.Match(\"======\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER6);\n                sc.Forward();\n                }\n            else if (sc.Match(\"=====\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER5);\n                sc.Forward();\n                }\n            else if (sc.Match(\"====\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER4);\n                sc.Forward();\n                }\n            else if (sc.Match(\"===\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER3);\n                sc.Forward();\n                }\n                //SetStateAndZoom(SCE_TXT2TAGS_HEADER3, 3, '=', sc);\n            else if (sc.Match(\"==\")) {\n                sc.SetState(SCE_TXT2TAGS_HEADER2);\n                sc.Forward();\n                }\n                //SetStateAndZoom(SCE_TXT2TAGS_HEADER2, 2, '=', sc);\n            else if (sc.Match(\"=\")) {\n                // Catch the special case of an unordered list\n                if (sc.chNext == '.' && IsASpaceOrTab(sc.GetRelative(2))) {\n                    precharCount = 0;\n                    sc.SetState(SCE_TXT2TAGS_PRECHAR);\n                }\n                else\n                    {\n                    sc.SetState(SCE_TXT2TAGS_HEADER1);\n                    sc.Forward();\n                    }\n                    //SetStateAndZoom(SCE_TXT2TAGS_HEADER1, 1, '=', sc);\n            }\n\n            // Numbered title\n            else if (sc.Match(\"++++++\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER6);\n                sc.Forward();\n                }\n            else if (sc.Match(\"+++++\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER5);\n                sc.Forward();\n                }\n            else if (sc.Match(\"++++\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER4);\n                sc.Forward();\n                }\n            else if (sc.Match(\"+++\"))\n                {\n                sc.SetState(SCE_TXT2TAGS_HEADER3);\n                sc.Forward();\n                }\n                //SetStateAndZoom(SCE_TXT2TAGS_HEADER3, 3, '+', sc);\n            else if (sc.Match(\"++\")) {\n                sc.SetState(SCE_TXT2TAGS_HEADER2);\n                sc.Forward();\n                }\n                //SetStateAndZoom(SCE_TXT2TAGS_HEADER2, 2, '+', sc);\n            else if (sc.Match(\"+\")) {\n                // Catch the special case of an unordered list\n                if (sc.chNext == ' ' && IsASpaceOrTab(sc.GetRelative(1))) {\n                 //    if (IsNewline(sc.ch)) {\n                     \t//precharCount = 0;\n                //\t\tsc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n                \t\t//sc.SetState(SCE_TXT2TAGS_PRECHAR);\n\t\t\t\t//\t}\n                //    else {\n                //    precharCount = 0;\n                    sc.SetState(SCE_TXT2TAGS_OLIST_ITEM);\n                    sc.Forward(2);\n                    sc.SetState(SCE_TXT2TAGS_DEFAULT);\n               //     sc.SetState(SCE_TXT2TAGS_PRECHAR);\n\t\t\t\t//\t}\n                }\n                else\n                    {\n                    sc.SetState(SCE_TXT2TAGS_HEADER1);\n                    sc.Forward();\n                    }\n            }\n\n\n            // Codeblock\n            else if (sc.Match(\"```\")) {\n                if (!HasPrevLineContent(sc))\n              //  if (!FollowToLineEnd(sc))\n                    sc.SetState(SCE_TXT2TAGS_CODEBK);\n                else\n                    sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            }\n\n            // Preproc\n            else if (sc.Match(\"%!preproc\")) {\n                sc.SetState(SCE_TXT2TAGS_PREPROC);\n            }\n            // Postproc\n            else if (sc.Match(\"%!postproc\")) {\n                sc.SetState(SCE_TXT2TAGS_POSTPROC);\n            }\n            // Option\n            else if (sc.Match(\"%!\")) {\n                sc.SetState(SCE_TXT2TAGS_OPTION);\n            }\n\n             // Comment\n            else if (sc.ch == '%') {\n                sc.SetState(SCE_TXT2TAGS_COMMENT);\n            }\n            // list\n            else if (sc.ch == '-') {\n                    precharCount = 0;\n                    sc.SetState(SCE_TXT2TAGS_PRECHAR);\n            }\n            // def list\n            else if (sc.ch == ':') {\n                    precharCount = 0;\n                   sc.SetState(SCE_TXT2TAGS_OLIST_ITEM);\n                   sc.Forward(1);\n                   sc.SetState(SCE_TXT2TAGS_PRECHAR);\n            }\n            else if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n            else {\n                precharCount = 0;\n                sc.SetState(SCE_TXT2TAGS_PRECHAR);\n            }\n        }\n\n        // The header lasts until the newline\n        else if (sc.state == SCE_TXT2TAGS_HEADER1 || sc.state == SCE_TXT2TAGS_HEADER2 ||\n                sc.state == SCE_TXT2TAGS_HEADER3 || sc.state == SCE_TXT2TAGS_HEADER4 ||\n                sc.state == SCE_TXT2TAGS_HEADER5 || sc.state == SCE_TXT2TAGS_HEADER6) {\n            if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n        }\n\n        // New state only within the initial whitespace\n        if (sc.state == SCE_TXT2TAGS_PRECHAR) {\n            // Blockquote\n            if (sc.Match(\"\\\"\\\"\\\"\") && precharCount < 5){\n\n                sc.SetState(SCE_TXT2TAGS_BLOCKQUOTE);\n                sc.Forward(1);\n                }\n            /*\n            // Begin of code block\n            else if (!HasPrevLineContent(sc) && (sc.chPrev == '\\t' || precharCount >= 4))\n                sc.SetState(SCE_TXT2TAGS_CODEBK);\n            */\n            // HRule - Total of 20 or more hyphens, asterisks, or underscores\n            // on a line by themselves\n            else if ((sc.ch == '-' ) && IsValidHrule(endPos, sc))\n                ;\n            // Unordered list\n            else if ((sc.ch == '-') && IsASpaceOrTab(sc.chNext)) {\n                sc.SetState(SCE_TXT2TAGS_ULIST_ITEM);\n                sc.ForwardSetState(SCE_TXT2TAGS_DEFAULT);\n            }\n            // Ordered list\n            else if (IsADigit(sc.ch)) {\n                Sci_Position digitCount = 0;\n                while (IsADigit(sc.GetRelative(++digitCount)))\n                    ;\n                if (sc.GetRelative(digitCount) == '.' &&\n                        IsASpaceOrTab(sc.GetRelative(digitCount + 1))) {\n                    sc.SetState(SCE_TXT2TAGS_OLIST_ITEM);\n                    sc.Forward(digitCount + 1);\n                    sc.SetState(SCE_TXT2TAGS_DEFAULT);\n                }\n            }\n            // Alternate Ordered list\n            else if (sc.ch == '+' && sc.chNext == ' ' && IsASpaceOrTab(sc.GetRelative(2))) {\n            //    sc.SetState(SCE_TXT2TAGS_OLIST_ITEM);\n            //    sc.Forward(2);\n             //   sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            }\n            else if (sc.ch != ' ' || precharCount > 2)\n                sc.SetState(SCE_TXT2TAGS_DEFAULT);\n            else\n                ++precharCount;\n        }\n\n        // New state anywhere in doc\n        if (sc.state == SCE_TXT2TAGS_DEFAULT) {\n         //   if (sc.atLineStart && sc.ch == '#') {\n         //       sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n         //       freezeCursor = true;\n         //   }\n            // Links and Images\n            if (sc.Match(\"![\") || sc.ch == '[') {\n                Sci_Position i = 0, j = 0, k = 0;\n                Sci_Position len = endPos - sc.currentPos;\n                while (i < len && (sc.GetRelative(++i) != ']' || sc.GetRelative(i - 1) == '\\\\'))\n                    ;\n                if (sc.GetRelative(i) == ']') {\n                    j = i;\n                    if (sc.GetRelative(++i) == '(') {\n                        while (i < len && (sc.GetRelative(++i) != '(' || sc.GetRelative(i - 1) == '\\\\'))\n                            ;\n                        if (sc.GetRelative(i) == '(')\n                            k = i;\n                    }\n\n                    else if (sc.GetRelative(i) == '[' || sc.GetRelative(++i) == '[') {\n                        while (i < len && (sc.GetRelative(++i) != ']' || sc.GetRelative(i - 1) == '\\\\'))\n                            ;\n                        if (sc.GetRelative(i) == ']')\n                            k = i;\n                    }\n                }\n                // At least a link text\n                if (j) {\n                    sc.SetState(SCE_TXT2TAGS_LINK);\n                    sc.Forward(j);\n                    // Also has a URL or reference portion\n                    if (k)\n                        sc.Forward(k - j);\n                    sc.ForwardSetState(SCE_TXT2TAGS_DEFAULT);\n                }\n            }\n            // Code - also a special case for alternate inside spacing\n            if (sc.Match(\"``\") && sc.GetRelative(3) != ' ') {\n                sc.SetState(SCE_TXT2TAGS_CODE2);\n                sc.Forward();\n            }\n            else if (sc.ch == '|' && sc.GetRelative(3) != ' ') {\n                sc.SetState(SCE_TXT2TAGS_CODE);\n            }\n            // Strong\n            else if (sc.Match(\"**\") && sc.GetRelative(2) != ' ') {\n                sc.SetState(SCE_TXT2TAGS_STRONG1);\n                sc.Forward();\n           }\n            // Emphasis\n            else if (sc.Match(\"//\") && sc.GetRelative(2) != ' ') {\n                sc.SetState(SCE_TXT2TAGS_EM1);\n                sc.Forward();\n            }\n            else if (sc.Match(\"__\") && sc.GetRelative(2) != ' ') {\n                sc.SetState(SCE_TXT2TAGS_EM2);\n                sc.Forward();\n            }\n            // Strikeout\n            else if (sc.Match(\"--\") && sc.GetRelative(2) != ' ') {\n                sc.SetState(SCE_TXT2TAGS_STRIKEOUT);\n                sc.Forward();\n            }\n\n            // Beginning of line\n            else if (IsNewline(sc.ch))\n                sc.SetState(SCE_TXT2TAGS_LINE_BEGIN);\n        }\n        // Advance if not holding back the cursor for this iteration.\n        if (!freezeCursor)\n            sc.Forward();\n        freezeCursor = false;\n    }\n    sc.Complete();\n}\n\nLexerModule lmTxt2tags(SCLEX_TXT2TAGS, ColorizeTxt2tagsDoc, \"txt2tags\");\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexVB.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexVB.cxx\n ** Lexer for Visual Basic and VBScript.\n **/\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\n// Internal state, highlighted as number\n#define SCE_B_FILENUMBER SCE_B_DEFAULT+100\n\n\nstatic bool IsVBComment(Accessor &styler, Sci_Position pos, Sci_Position len) {\n\treturn len > 0 && styler[pos] == '\\'';\n}\n\nstatic inline bool IsTypeCharacter(int ch) {\n\treturn ch == '%' || ch == '&' || ch == '@' || ch == '!' || ch == '#' || ch == '$';\n}\n\n// Extended to accept accented characters\nstatic inline bool IsAWordChar(int ch) {\n\treturn ch >= 0x80 ||\n\t       (isalnum(ch) || ch == '.' || ch == '_');\n}\n\nstatic inline bool IsAWordStart(int ch) {\n\treturn ch >= 0x80 ||\n\t       (isalpha(ch) || ch == '_');\n}\n\nstatic inline bool IsANumberChar(int ch) {\n\t// Not exactly following number definition (several dots are seen as OK, etc.)\n\t// but probably enough in most cases.\n\treturn (ch < 0x80) &&\n\t        (isdigit(ch) || toupper(ch) == 'E' ||\n             ch == '.' || ch == '-' || ch == '+');\n}\n\nstatic void ColouriseVBDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *keywordlists[], Accessor &styler, bool vbScriptSyntax) {\n\n\tWordList &keywords = *keywordlists[0];\n\tWordList &keywords2 = *keywordlists[1];\n\tWordList &keywords3 = *keywordlists[2];\n\tWordList &keywords4 = *keywordlists[3];\n\n\tstyler.StartAt(startPos);\n\n\tint visibleChars = 0;\n\tint fileNbDigits = 0;\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_B_STRINGEOL || initStyle == SCE_B_COMMENT || initStyle == SCE_B_PREPROCESSOR) {\n\t\tinitStyle = SCE_B_DEFAULT;\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\n\tfor (; sc.More(); sc.Forward()) {\n\n\t\tif (sc.state == SCE_B_OPERATOR) {\n\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t} else if (sc.state == SCE_B_IDENTIFIER) {\n\t\t\tif (!IsAWordChar(sc.ch)) {\n\t\t\t\t// In Basic (except VBScript), a variable name or a function name\n\t\t\t\t// can end with a special character indicating the type of the value\n\t\t\t\t// held or returned.\n\t\t\t\tbool skipType = false;\n\t\t\t\tif (!vbScriptSyntax && IsTypeCharacter(sc.ch)) {\n\t\t\t\t\tsc.Forward();\t// Skip it\n\t\t\t\t\tskipType = true;\n\t\t\t\t}\n\t\t\t\tif (sc.ch == ']') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tchar s[100];\n\t\t\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\t\t\tif (skipType) {\n\t\t\t\t\ts[strlen(s) - 1] = '\\0';\n\t\t\t\t}\n\t\t\t\tif (strcmp(s, \"rem\") == 0) {\n\t\t\t\t\tsc.ChangeState(SCE_B_COMMENT);\n\t\t\t\t} else {\n\t\t\t\t\tif (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_B_KEYWORD);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_B_KEYWORD2);\n\t\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_B_KEYWORD3);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_B_KEYWORD4);\n\t\t\t\t\t}\t// Else, it is really an identifier...\n\t\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_NUMBER) {\n\t\t\t// We stop the number definition on non-numerical non-dot non-eE non-sign char\n\t\t\t// Also accepts A-F for hex. numbers\n\t\t\tif (!IsANumberChar(sc.ch) && !(tolower(sc.ch) >= 'a' && tolower(sc.ch) <= 'f')) {\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_STRING) {\n\t\t\t// VB doubles quotes to preserve them, so just end this string\n\t\t\t// state now as a following quote will start again\n\t\t\tif (sc.ch == '\\\"') {\n\t\t\t\tif (sc.chNext == '\\\"') {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} else {\n\t\t\t\t\tif (tolower(sc.chNext) == 'c') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t\t}\n\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\tvisibleChars = 0;\n\t\t\t\tsc.ChangeState(SCE_B_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_COMMENT) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tvisibleChars = 0;\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_PREPROCESSOR) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tvisibleChars = 0;\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_FILENUMBER) {\n\t\t\tif (IsADigit(sc.ch)) {\n\t\t\t\tfileNbDigits++;\n\t\t\t\tif (fileNbDigits > 3) {\n\t\t\t\t\tsc.ChangeState(SCE_B_DATE);\n\t\t\t\t}\n\t\t\t} else if (sc.ch == '\\r' || sc.ch == '\\n' || sc.ch == ',') {\n\t\t\t\t// Regular uses: Close #1; Put #1, ...; Get #1, ... etc.\n\t\t\t\t// Too bad if date is format #27, Oct, 2003# or something like that...\n\t\t\t\t// Use regular number state\n\t\t\t\tsc.ChangeState(SCE_B_NUMBER);\n\t\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.ChangeState(SCE_B_DATE);\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t} else {\n\t\t\t\tsc.ChangeState(SCE_B_DATE);\n\t\t\t}\n\t\t\tif (sc.state != SCE_B_FILENUMBER) {\n\t\t\t\tfileNbDigits = 0;\n\t\t\t}\n\t\t} else if (sc.state == SCE_B_DATE) {\n\t\t\tif (sc.atLineEnd) {\n\t\t\t\tvisibleChars = 0;\n\t\t\t\tsc.ChangeState(SCE_B_STRINGEOL);\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\tsc.ForwardSetState(SCE_B_DEFAULT);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.state == SCE_B_DEFAULT) {\n\t\t\tif (sc.ch == '\\'') {\n\t\t\t\tsc.SetState(SCE_B_COMMENT);\n\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\tsc.SetState(SCE_B_STRING);\n\t\t\t} else if (sc.ch == '#' && visibleChars == 0) {\n\t\t\t\t// Preprocessor commands are alone on their line\n\t\t\t\tsc.SetState(SCE_B_PREPROCESSOR);\n\t\t\t} else if (sc.ch == '#') {\n\t\t\t\t// It can be a date literal, ending with #, or a file number, from 1 to 511\n\t\t\t\t// The date literal depends on the locale, so anything can go between #'s.\n\t\t\t\t// Can be #January 1, 1993# or #1 Jan 93# or #05/11/2003#, etc.\n\t\t\t\t// So we set the FILENUMBER state, and switch to DATE if it isn't a file number\n\t\t\t\tsc.SetState(SCE_B_FILENUMBER);\n\t\t\t} else if (sc.ch == '&' && tolower(sc.chNext) == 'h') {\n\t\t\t\t// Hexadecimal number\n\t\t\t\tsc.SetState(SCE_B_NUMBER);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (sc.ch == '&' && tolower(sc.chNext) == 'o') {\n\t\t\t\t// Octal number\n\t\t\t\tsc.SetState(SCE_B_NUMBER);\n\t\t\t\tsc.Forward();\n\t\t\t} else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\tsc.SetState(SCE_B_NUMBER);\n\t\t\t} else if (IsAWordStart(sc.ch) || (sc.ch == '[')) {\n\t\t\t\tsc.SetState(SCE_B_IDENTIFIER);\n\t\t\t} else if (isoperator(static_cast<char>(sc.ch)) || (sc.ch == '\\\\')) {\t// Integer division\n\t\t\t\tsc.SetState(SCE_B_OPERATOR);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!IsASpace(sc.ch)) {\n\t\t\tvisibleChars++;\n\t\t}\n\t}\n\n\tif (sc.state == SCE_B_IDENTIFIER && !IsAWordChar(sc.ch)) {\n\t\t// In Basic (except VBScript), a variable name or a function name\n\t\t// can end with a special character indicating the type of the value\n\t\t// held or returned.\n\t\tbool skipType = false;\n\t\tif (!vbScriptSyntax && IsTypeCharacter(sc.ch)) {\n\t\t\tsc.Forward();\t// Skip it\n\t\t\tskipType = true;\n\t\t}\n\t\tif (sc.ch == ']') {\n\t\t\tsc.Forward();\n\t\t}\n\t\tchar s[100];\n\t\tsc.GetCurrentLowered(s, sizeof(s));\n\t\tif (skipType) {\n\t\t\ts[strlen(s) - 1] = '\\0';\n\t\t}\n\t\tif (strcmp(s, \"rem\") == 0) {\n\t\t\tsc.ChangeState(SCE_B_COMMENT);\n\t\t} else {\n\t\t\tif (keywords.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_B_KEYWORD);\n\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_B_KEYWORD2);\n\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_B_KEYWORD3);\n\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_B_KEYWORD4);\n\t\t\t}\t// Else, it is really an identifier...\n\t\t\tsc.SetState(SCE_B_DEFAULT);\n\t\t}\n\t}\n\n\tsc.Complete();\n}\n\nstatic void FoldVBDoc(Sci_PositionU startPos, Sci_Position length, int,\n\t\t\t\t\t\t   WordList *[], Accessor &styler) {\n\tSci_Position endPos = startPos + length;\n\n\t// Backtrack to previous line in case need to fix its fold status\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tif (startPos > 0) {\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tstartPos = styler.LineStart(lineCurrent);\n\t\t}\n\t}\n\tint spaceFlags = 0;\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsVBComment);\n\tchar chNext = styler[startPos];\n\tfor (Sci_Position i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\n\t\tif ((ch == '\\r' && chNext != '\\n') || (ch == '\\n') || (i == endPos)) {\n\t\t\tint lev = indentCurrent;\n\t\t\tint indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsVBComment);\n\t\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\t\t// Only non whitespace lines can be headers\n\t\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t} else if (indentNext & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\t// Line after is blank so check the next - maybe should continue further?\n\t\t\t\t\tint spaceFlags2 = 0;\n\t\t\t\t\tint indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsVBComment);\n\t\t\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) {\n\t\t\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tindentCurrent = indentNext;\n\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\tlineCurrent++;\n\t\t}\n\t}\n}\n\nstatic void ColouriseVBNetDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *keywordlists[], Accessor &styler) {\n\tColouriseVBDoc(startPos, length, initStyle, keywordlists, styler, false);\n}\n\nstatic void ColouriseVBScriptDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,\n                           WordList *keywordlists[], Accessor &styler) {\n\tColouriseVBDoc(startPos, length, initStyle, keywordlists, styler, true);\n}\n\nstatic const char * const vbWordListDesc[] = {\n\t\"Keywords\",\n\t\"user1\",\n\t\"user2\",\n\t\"user3\",\n\t0\n};\n\nLexerModule lmVB(SCLEX_VB, ColouriseVBNetDoc, \"vb\", FoldVBDoc, vbWordListDesc);\nLexerModule lmVBScript(SCLEX_VBSCRIPT, ColouriseVBScriptDoc, \"vbscript\", FoldVBDoc, vbWordListDesc);\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexVHDL.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexVHDL.cxx\n ** Lexer for VHDL\n ** Written by Phil Reid,\n ** Based on:\n **  - The Verilog Lexer by Avi Yegudin\n **  - The Fortran Lexer by Chuan-jian Shen\n **  - The C++ lexer by Neil Hodgson\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic void ColouriseVHDLDoc(\n  Sci_PositionU startPos,\n  Sci_Position length,\n  int initStyle,\n  WordList *keywordlists[],\n  Accessor &styler);\n\n\n/***************************************/\nstatic inline bool IsAWordChar(const int ch) {\n  return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' );\n}\n\n/***************************************/\nstatic inline bool IsAWordStart(const int ch) {\n  return (ch < 0x80) && (isalnum(ch) || ch == '_');\n}\n\n/***************************************/\nstatic inline bool IsABlank(unsigned int ch) {\n  return (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ;\n}\n\n/***************************************/\nstatic void ColouriseVHDLDoc(\n  Sci_PositionU startPos,\n  Sci_Position length,\n  int initStyle,\n  WordList *keywordlists[],\n  Accessor &styler)\n{\n  WordList &Keywords   = *keywordlists[0];\n  WordList &Operators  = *keywordlists[1];\n  WordList &Attributes = *keywordlists[2];\n  WordList &Functions  = *keywordlists[3];\n  WordList &Packages   = *keywordlists[4];\n  WordList &Types      = *keywordlists[5];\n  WordList &User       = *keywordlists[6];\n\n  StyleContext sc(startPos, length, initStyle, styler);\n  bool isExtendedId = false;    // true when parsing an extended identifier\n\n  while (sc.More())\n  {\n    bool advance = true;\n\n    // Determine if the current state should terminate.\n    if (sc.state == SCE_VHDL_OPERATOR) {\n      sc.SetState(SCE_VHDL_DEFAULT);\n    } else if (sc.state == SCE_VHDL_NUMBER) {\n      if (!IsAWordChar(sc.ch) && (sc.ch != '#')) {\n        sc.SetState(SCE_VHDL_DEFAULT);\n      }\n    } else if (sc.state == SCE_VHDL_IDENTIFIER) {\n      if (!isExtendedId && (!IsAWordChar(sc.ch) || (sc.ch == '.'))) {\n        char s[100];\n        sc.GetCurrentLowered(s, sizeof(s));\n        if (Keywords.InList(s)) {\n          sc.ChangeState(SCE_VHDL_KEYWORD);\n        } else if (Operators.InList(s)) {\n          sc.ChangeState(SCE_VHDL_STDOPERATOR);\n        } else if (Attributes.InList(s)) {\n          sc.ChangeState(SCE_VHDL_ATTRIBUTE);\n        } else if (Functions.InList(s)) {\n          sc.ChangeState(SCE_VHDL_STDFUNCTION);\n        } else if (Packages.InList(s)) {\n          sc.ChangeState(SCE_VHDL_STDPACKAGE);\n        } else if (Types.InList(s)) {\n          sc.ChangeState(SCE_VHDL_STDTYPE);\n        } else if (User.InList(s)) {\n          sc.ChangeState(SCE_VHDL_USERWORD);\n        }\n        sc.SetState(SCE_VHDL_DEFAULT);\n      } else if (isExtendedId && ((sc.ch == '\\\\') || sc.atLineEnd)) {\n        // extended identifiers are terminated by backslash, check for end of line in case we have invalid syntax\n        isExtendedId = false;\n        sc.ForwardSetState(SCE_VHDL_DEFAULT);\n        advance = false;\n      }\n    } else if (sc.state == SCE_VHDL_COMMENT || sc.state == SCE_VHDL_COMMENTLINEBANG) {\n      if (sc.atLineEnd) {\n        sc.SetState(SCE_VHDL_DEFAULT);\n      }\n    } else if (sc.state == SCE_VHDL_STRING) {\n      if (sc.ch == '\"') {\n        advance = false;\n        sc.Forward();\n        if (sc.ch == '\"')\n          sc.Forward();\n        else\n          sc.SetState(SCE_VHDL_DEFAULT);\n      } else if (sc.atLineEnd) {\n        advance = false;\n        sc.ChangeState(SCE_VHDL_STRINGEOL);\n        sc.ForwardSetState(SCE_VHDL_DEFAULT);\n      }\n    } else if (sc.state == SCE_VHDL_BLOCK_COMMENT){\n      if(sc.ch == '*' && sc.chNext == '/'){\n        advance = false;\n        sc.Forward();\n        sc.ForwardSetState(SCE_VHDL_DEFAULT);\n      }\n    }\n\n    // Determine if a new state should be entered.\n    if (sc.state == SCE_VHDL_DEFAULT) {\n      if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {\n        sc.SetState(SCE_VHDL_NUMBER);\n      } else if (IsAWordStart(sc.ch)) {\n        sc.SetState(SCE_VHDL_IDENTIFIER);\n      } else if (sc.Match('-', '-')) {\n        if (sc.Match(\"--!\"))  // Nice to have a different comment style\n          sc.SetState(SCE_VHDL_COMMENTLINEBANG);\n        else\n          sc.SetState(SCE_VHDL_COMMENT);\n      } else if (sc.Match('/', '*')){\n        sc.SetState(SCE_VHDL_BLOCK_COMMENT);\n      } else if (sc.ch == '\"') {\n        sc.SetState(SCE_VHDL_STRING);\n      } else if (sc.ch == '\\'') {\n        if (sc.GetRelative(2) == '\\''){\n          if (sc.chNext != '(' || sc.GetRelative(4) != '\\''){\n            // Can only be a character literal\n            sc.SetState(SCE_VHDL_STRING);\n            sc.Forward();\n            sc.Forward();\n            sc.ForwardSetState(SCE_VHDL_DEFAULT);\n            advance = false;\n          } // else can be a tick or a character literal, need more context, eg.: identifier'('x')\n        } // else can only be a tick\n      } else if (sc.ch == '\\\\') {\n        isExtendedId = true;\n        sc.SetState(SCE_VHDL_IDENTIFIER);\n      } else if (isoperator(static_cast<char>(sc.ch))) {\n        sc.SetState(SCE_VHDL_OPERATOR);\n      }\n    }\n\n    if (advance)\n      sc.Forward();\n  }\n  sc.Complete();\n}\n//=============================================================================\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n  Sci_Position pos = styler.LineStart(line);\n  Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n  for (Sci_Position i = pos; i < eol_pos; i++) {\n    char ch = styler[i];\n    char chNext = styler[i+1];\n    if ((ch == '-') && (chNext == '-'))\n      return true;\n    else if (ch != ' ' && ch != '\\t')\n      return false;\n  }\n  return false;\n}\nstatic bool IsCommentBlockStart(Sci_Position line, Accessor &styler)\n{\n  Sci_Position pos = styler.LineStart(line);\n  Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n  for (Sci_Position i = pos; i < eol_pos; i++) {\n    char ch = styler[i];\n    char chNext = styler[i+1];\n    char style = styler.StyleAt(i);\n    if ((style == SCE_VHDL_BLOCK_COMMENT) && (ch == '/') && (chNext == '*'))\n      return true;\n  }\n  return false;\n}\n\nstatic bool IsCommentBlockEnd(Sci_Position line, Accessor &styler)\n{\n  Sci_Position pos = styler.LineStart(line);\n  Sci_Position eol_pos = styler.LineStart(line + 1) - 1;\n\n  for (Sci_Position i = pos; i < eol_pos; i++) {\n    char ch = styler[i];\n    char chNext = styler[i+1];\n    char style = styler.StyleAt(i);\n    if ((style == SCE_VHDL_BLOCK_COMMENT) && (ch == '*') && (chNext == '/'))\n      return true;\n  }\n  return false;\n}\n\nstatic bool IsCommentStyle(char style)\n{\n  return style == SCE_VHDL_BLOCK_COMMENT || style == SCE_VHDL_COMMENT || style == SCE_VHDL_COMMENTLINEBANG;\n}\n\n//=============================================================================\n// Folding the code\nstatic void FoldNoBoxVHDLDoc(\n  Sci_PositionU startPos,\n  Sci_Position length,\n  int,\n  Accessor &styler)\n{\n  // Decided it would be smarter to have the lexer have all keywords included. Therefore I\n  // don't check if the style for the keywords that I use to adjust the levels.\n  char words[] =\n    \"architecture begin block case component else elsif end entity generate loop package process record then \"\n    \"procedure protected function when units\";\n  WordList keywords;\n  keywords.Set(words);\n\n  bool foldComment      = styler.GetPropertyInt(\"fold.comment\", 1) != 0;\n  bool foldCompact      = styler.GetPropertyInt(\"fold.compact\", 1) != 0;\n  bool foldAtElse       = styler.GetPropertyInt(\"fold.at.else\", 1) != 0;\n  bool foldAtBegin      = styler.GetPropertyInt(\"fold.at.Begin\", 1) != 0;\n  bool foldAtParenthese = styler.GetPropertyInt(\"fold.at.Parenthese\", 1) != 0;\n  //bool foldAtWhen       = styler.GetPropertyInt(\"fold.at.When\", 1) != 0;  //< fold at when in case statements\n\n  int  visibleChars     = 0;\n  Sci_PositionU endPos   = startPos + length;\n\n  Sci_Position lineCurrent       = styler.GetLine(startPos);\n  int levelCurrent      = SC_FOLDLEVELBASE;\n  if(lineCurrent > 0)\n    levelCurrent        = styler.LevelAt(lineCurrent-1) >> 16;\n  //int levelMinCurrent   = levelCurrent;\n  int levelMinCurrentElse = levelCurrent;   //< Used for folding at 'else'\n  int levelMinCurrentBegin = levelCurrent;  //< Used for folding at 'begin'\n  int levelNext         = levelCurrent;\n\n  /***************************************/\n  Sci_Position lastStart         = 0;\n  char prevWord[32]     = \"\";\n\n  /***************************************/\n  // Find prev word\n  // The logic for going up or down a level depends on a the previous keyword\n  // This code could be cleaned up.\n  Sci_Position end = 0;\n  Sci_PositionU j;\n  for(j = startPos; j>0; j--)\n  {\n    char ch       = styler.SafeGetCharAt(j);\n    char chPrev   = styler.SafeGetCharAt(j-1);\n    int style     = styler.StyleAt(j);\n    int stylePrev = styler.StyleAt(j-1);\n    if ((!IsCommentStyle(style)) && (stylePrev != SCE_VHDL_STRING))\n    {\n      if(IsAWordChar(chPrev) && !IsAWordChar(ch))\n      {\n        end = j-1;\n      }\n    }\n    if ((!IsCommentStyle(style)) && (style != SCE_VHDL_STRING))\n    {\n      if(!IsAWordChar(chPrev) && IsAWordStart(ch) && (end != 0))\n      {\n        char s[32];\n        Sci_PositionU k;\n        for(k=0; (k<31 ) && (k<end-j+1 ); k++) {\n          s[k] = static_cast<char>(tolower(styler[j+k]));\n        }\n        s[k] = '\\0';\n\n        if(keywords.InList(s)) {\n          strcpy(prevWord, s);\n          break;\n        }\n      }\n    }\n  }\n  for(j=j+static_cast<Sci_PositionU>(strlen(prevWord)); j<endPos; j++)\n  {\n    char ch       = styler.SafeGetCharAt(j);\n    int style     = styler.StyleAt(j);\n    if ((!IsCommentStyle(style)) && (style != SCE_VHDL_STRING))\n    {\n      if((ch == ';') && (strcmp(prevWord, \"end\") == 0))\n      {\n        strcpy(prevWord, \";\");\n      }\n    }\n  }\n\n  char  chNext          = styler[startPos];\n  char  chPrev          = '\\0';\n  char  chNextNonBlank;\n  int   styleNext       = styler.StyleAt(startPos);\n  //Platform::DebugPrintf(\"Line[%04d] Prev[%20s] ************************* Level[%x]\\n\", lineCurrent+1, prevWord, levelCurrent);\n\n  /***************************************/\n  for (Sci_PositionU i = startPos; i < endPos; i++)\n  {\n    char ch         = chNext;\n    chNext          = styler.SafeGetCharAt(i + 1);\n    chPrev          = styler.SafeGetCharAt(i - 1);\n    chNextNonBlank  = chNext;\n    Sci_PositionU j  = i+1;\n    while(IsABlank(chNextNonBlank) && j<endPos)\n    {\n      j ++ ;\n      chNextNonBlank = styler.SafeGetCharAt(j);\n    }\n    int style           = styleNext;\n    styleNext       = styler.StyleAt(i + 1);\n    bool atEOL      = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\n    if (foldComment && atEOL)\n    {\n      if(IsCommentLine(lineCurrent, styler))\n      {\n        if(!IsCommentLine(lineCurrent-1, styler) && IsCommentLine(lineCurrent+1, styler))\n        {\n          levelNext++;\n        }\n        else if(IsCommentLine(lineCurrent-1, styler) && !IsCommentLine(lineCurrent+1, styler))\n        {\n          levelNext--;\n        }\n      }\n      else\n      {\n        if (IsCommentBlockStart(lineCurrent, styler) && !IsCommentBlockEnd(lineCurrent, styler))\n        {\n          levelNext++;\n        }\n        else if (IsCommentBlockEnd(lineCurrent, styler) && !IsCommentBlockStart(lineCurrent, styler))\n        {\n          levelNext--;\n        }\n      }\n    }\n\n    if ((style == SCE_VHDL_OPERATOR) && foldAtParenthese)\n    {\n      if(ch == '(') {\n        levelNext++;\n      } else if (ch == ')') {\n        levelNext--;\n      }\n    }\n\n    if ((!IsCommentStyle(style)) && (style != SCE_VHDL_STRING))\n    {\n      if((ch == ';') && (strcmp(prevWord, \"end\") == 0))\n      {\n        strcpy(prevWord, \";\");\n      }\n\n      if(!IsAWordChar(chPrev) && IsAWordStart(ch))\n      {\n        lastStart = i;\n      }\n\n      if(IsAWordChar(ch) && !IsAWordChar(chNext)) {\n        char s[32];\n        Sci_PositionU k;\n        for(k=0; (k<31 ) && (k<i-lastStart+1 ); k++) {\n          s[k] = static_cast<char>(tolower(styler[lastStart+k]));\n        }\n        s[k] = '\\0';\n\n        if(keywords.InList(s))\n        {\n          if (\n            strcmp(s, \"architecture\") == 0  ||\n            strcmp(s, \"case\") == 0          ||\n            strcmp(s, \"generate\") == 0      ||\n            strcmp(s, \"block\") == 0         ||\n            strcmp(s, \"loop\") == 0          ||\n            strcmp(s, \"package\") ==0        ||\n            strcmp(s, \"process\") == 0       ||\n            strcmp(s, \"protected\") == 0     ||\n            strcmp(s, \"record\") == 0        ||\n            strcmp(s, \"then\") == 0          ||\n            strcmp(s, \"units\") == 0)\n          {\n            if (strcmp(prevWord, \"end\") != 0)\n            {\n              if (levelMinCurrentElse > levelNext) {\n                levelMinCurrentElse = levelNext;\n              }\n              levelNext++;\n            }\n          } else if (\n            strcmp(s, \"component\") == 0      ||\n            strcmp(s, \"entity\") == 0         ||\n            strcmp(s, \"configuration\") == 0 )\n          {\n            if (strcmp(prevWord, \"end\") != 0)\n            { // check for instantiated unit by backward searching for the colon.\n              Sci_PositionU pos = lastStart;\n              char chAtPos=0, styleAtPos;\n              do{// skip white spaces\n                if(!pos)\n                  break;\n                pos--;\n                styleAtPos = styler.StyleAt(pos);\n                chAtPos = styler.SafeGetCharAt(pos);\n              }while(pos &&\n                     (chAtPos == ' ' || chAtPos == '\\t' ||\n                      chAtPos == '\\n' || chAtPos == '\\r' ||\n                      IsCommentStyle(styleAtPos)));\n\n              // check for a colon (':') before the instantiated units \"entity\", \"component\" or \"configuration\". Don't fold thereafter.\n              if (chAtPos != ':')\n              {\n                if (levelMinCurrentElse > levelNext) {\n                  levelMinCurrentElse = levelNext;\n                }\n                levelNext++;\n              }\n            }\n          } else if (\n            strcmp(s, \"procedure\") == 0     ||\n            strcmp(s, \"function\") == 0)\n          {\n            if (strcmp(prevWord, \"end\") != 0) // check for \"end procedure\" etc.\n            { // This code checks to see if the procedure / function is a definition within a \"package\"\n              // rather than the actual code in the body.\n              int BracketLevel = 0;\n              for(Sci_Position pos=i+1; pos<styler.Length(); pos++)\n              {\n                int styleAtPos = styler.StyleAt(pos);\n                char chAtPos = styler.SafeGetCharAt(pos);\n                if(chAtPos == '(') BracketLevel++;\n                if(chAtPos == ')') BracketLevel--;\n                if(\n                  (BracketLevel == 0) &&\n                  (!IsCommentStyle(styleAtPos)) &&\n                  (styleAtPos != SCE_VHDL_STRING) &&\n                  !iswordchar(styler.SafeGetCharAt(pos-1)) &&\n                  (chAtPos|' ')=='i' && (styler.SafeGetCharAt(pos+1)|' ')=='s' &&\n                  !iswordchar(styler.SafeGetCharAt(pos+2)))\n                {\n                  if (levelMinCurrentElse > levelNext) {\n                    levelMinCurrentElse = levelNext;\n                  }\n                  levelNext++;\n                  break;\n                }\n                if((BracketLevel == 0) && (chAtPos == ';'))\n                {\n                  break;\n                }\n              }\n            }\n\n          } else if (strcmp(s, \"end\") == 0) {\n            levelNext--;\n          }  else if(strcmp(s, \"elsif\") == 0) { // elsif is followed by then so folding occurs correctly\n            levelNext--;\n          } else if (strcmp(s, \"else\") == 0) {\n            if(strcmp(prevWord, \"when\") != 0)  // ignore a <= x when y else z;\n            {\n              levelMinCurrentElse = levelNext - 1;  // VHDL else is all on its own so just dec. the min level\n            }\n          } else if(\n            ((strcmp(s, \"begin\") == 0) && (strcmp(prevWord, \"architecture\") == 0)) ||\n            ((strcmp(s, \"begin\") == 0) && (strcmp(prevWord, \"function\") == 0)) ||\n            ((strcmp(s, \"begin\") == 0) && (strcmp(prevWord, \"procedure\") == 0)))\n          {\n            levelMinCurrentBegin = levelNext - 1;\n          }\n          //Platform::DebugPrintf(\"Line[%04d] Prev[%20s] Cur[%20s] Level[%x]\\n\", lineCurrent+1, prevWord, s, levelCurrent);\n          strcpy(prevWord, s);\n        }\n      }\n    }\n    if (atEOL) {\n      int levelUse = levelCurrent;\n\n      if (foldAtElse && (levelMinCurrentElse < levelUse)) {\n        levelUse = levelMinCurrentElse;\n      }\n      if (foldAtBegin && (levelMinCurrentBegin < levelUse)) {\n        levelUse = levelMinCurrentBegin;\n      }\n      int lev = levelUse | levelNext << 16;\n      if (visibleChars == 0 && foldCompact)\n        lev |= SC_FOLDLEVELWHITEFLAG;\n\n      if (levelUse < levelNext)\n        lev |= SC_FOLDLEVELHEADERFLAG;\n      if (lev != styler.LevelAt(lineCurrent)) {\n        styler.SetLevel(lineCurrent, lev);\n      }\n      //Platform::DebugPrintf(\"Line[%04d] ---------------------------------------------------- Level[%x]\\n\", lineCurrent+1, levelCurrent);\n      lineCurrent++;\n      levelCurrent = levelNext;\n      //levelMinCurrent = levelCurrent;\n      levelMinCurrentElse = levelCurrent;\n      levelMinCurrentBegin = levelCurrent;\n      visibleChars = 0;\n    }\n    /***************************************/\n    if (!isspacechar(ch)) visibleChars++;\n  }\n\n  /***************************************/\n//  Platform::DebugPrintf(\"Line[%04d] ---------------------------------------------------- Level[%x]\\n\", lineCurrent+1, levelCurrent);\n}\n\n//=============================================================================\nstatic void FoldVHDLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[],\n                       Accessor &styler) {\n  FoldNoBoxVHDLDoc(startPos, length, initStyle, styler);\n}\n\n//=============================================================================\nstatic const char * const VHDLWordLists[] = {\n            \"Keywords\",\n            \"Operators\",\n            \"Attributes\",\n            \"Standard Functions\",\n            \"Standard Packages\",\n            \"Standard Types\",\n            \"User Words\",\n            0,\n        };\n\n\nLexerModule lmVHDL(SCLEX_VHDL, ColouriseVHDLDoc, \"vhdl\", FoldVHDLDoc, VHDLWordLists);\n\n\n// Keyword:\n//    access after alias all architecture array assert attribute begin block body buffer bus case component\n//    configuration constant disconnect downto else elsif end entity exit file for function generate generic\n//    group guarded if impure in inertial inout is label library linkage literal loop map new next null of\n//    on open others out package port postponed procedure process pure range record register reject report\n//    return select severity shared signal subtype then to transport type unaffected units until use variable\n//    wait when while with\n//\n// Operators:\n//    abs and mod nand nor not or rem rol ror sla sll sra srl xnor xor\n//\n// Attributes:\n//    left right low high ascending image value pos val succ pred leftof rightof base range reverse_range\n//    length delayed stable quiet transaction event active last_event last_active last_value driving\n//    driving_value simple_name path_name instance_name\n//\n// Std Functions:\n//    now readline read writeline write endfile resolved to_bit to_bitvector to_stdulogic to_stdlogicvector\n//    to_stdulogicvector to_x01 to_x01z to_UX01 rising_edge falling_edge is_x shift_left shift_right rotate_left\n//    rotate_right resize to_integer to_unsigned to_signed std_match to_01\n//\n// Std Packages:\n//    std ieee work standard textio std_logic_1164 std_logic_arith std_logic_misc std_logic_signed\n//    std_logic_textio std_logic_unsigned numeric_bit numeric_std math_complex math_real vital_primitives\n//    vital_timing\n//\n// Std Types:\n//    boolean bit character severity_level integer real time delay_length natural positive string bit_vector\n//    file_open_kind file_open_status line text side width std_ulogic std_ulogic_vector std_logic\n//    std_logic_vector X01 X01Z UX01 UX01Z unsigned signed\n//\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexVerilog.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexVerilog.cxx\n ** Lexer for Verilog.\n ** Written by Avi Yegudin, based on C++ lexer by Neil Hodgson\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\n#include \"OptionSet.h\"\n#include \"SubStyles.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\t// Use an unnamed namespace to protect the functions and classes from name conflicts\n\nstruct PPDefinition {\n\tSci_Position line;\n\tstd::string key;\n\tstd::string value;\n\tbool isUndef;\n\tstd::string arguments;\n\tPPDefinition(Sci_Position line_, const std::string &key_, const std::string &value_, bool isUndef_ = false, std::string arguments_=\"\") :\n\t\tline(line_), key(key_), value(value_), isUndef(isUndef_), arguments(arguments_) {\n\t}\n};\n\nclass LinePPState {\n\tint state;\n\tint ifTaken;\n\tint level;\n\tbool ValidLevel() const {\n\t\treturn level >= 0 && level < 32;\n\t}\n\tint maskLevel() const {\n\t\tif (level >= 0) {\n\t\t\treturn 1 << level;\n\t\t} else {\n\t\t\treturn 1;\n\t\t}\n\t}\npublic:\n\tLinePPState() : state(0), ifTaken(0), level(-1) {\n\t}\n\tbool IsInactive() const {\n\t\treturn state != 0;\n\t}\n\tbool CurrentIfTaken() const {\n\t\treturn (ifTaken & maskLevel()) != 0;\n\t}\n\tvoid StartSection(bool on) {\n\t\tlevel++;\n\t\tif (ValidLevel()) {\n\t\t\tif (on) {\n\t\t\t\tstate &= ~maskLevel();\n\t\t\t\tifTaken |= maskLevel();\n\t\t\t} else {\n\t\t\t\tstate |= maskLevel();\n\t\t\t\tifTaken &= ~maskLevel();\n\t\t\t}\n\t\t}\n\t}\n\tvoid EndSection() {\n\t\tif (ValidLevel()) {\n\t\t\tstate &= ~maskLevel();\n\t\t\tifTaken &= ~maskLevel();\n\t\t}\n\t\tlevel--;\n\t}\n\tvoid InvertCurrentLevel() {\n\t\tif (ValidLevel()) {\n\t\t\tstate ^= maskLevel();\n\t\t\tifTaken |= maskLevel();\n\t\t}\n\t}\n};\n\n// Hold the preprocessor state for each line seen.\n// Currently one entry per line but could become sparse with just one entry per preprocessor line.\nclass PPStates {\n\tstd::vector<LinePPState> vlls;\npublic:\n\tLinePPState ForLine(Sci_Position line) const {\n\t\tif ((line > 0) && (vlls.size() > static_cast<size_t>(line))) {\n\t\t\treturn vlls[line];\n\t\t} else {\n\t\t\treturn LinePPState();\n\t\t}\n\t}\n\tvoid Add(Sci_Position line, LinePPState lls) {\n\t\tvlls.resize(line+1);\n\t\tvlls[line] = lls;\n\t}\n};\n\n// Options used for LexerVerilog\nstruct OptionsVerilog {\n\tbool foldComment;\n\tbool foldPreprocessor;\n\tbool foldPreprocessorElse;\n\tbool foldCompact;\n\tbool foldAtElse;\n\tbool foldAtModule;\n\tbool trackPreprocessor;\n\tbool updatePreprocessor;\n\tbool portStyling;\n\tbool allUppercaseDocKeyword;\n\tOptionsVerilog() {\n\t\tfoldComment = false;\n\t\tfoldPreprocessor = false;\n\t\tfoldPreprocessorElse = false;\n\t\tfoldCompact = false;\n\t\tfoldAtElse = false;\n\t\tfoldAtModule = false;\n\t\t// for backwards compatibility, preprocessor functionality is disabled by default\n\t\ttrackPreprocessor = false;\n\t\tupdatePreprocessor = false;\n\t\t// for backwards compatibility, treat input/output/inout as regular keywords\n\t\tportStyling = false;\n\t\t// for backwards compatibility, don't treat all uppercase identifiers as documentation keywords\n\t\tallUppercaseDocKeyword = false;\n\t}\n};\n\nstruct OptionSetVerilog : public OptionSet<OptionsVerilog> {\n\tOptionSetVerilog() {\n\t\tDefineProperty(\"fold.comment\", &OptionsVerilog::foldComment,\n\t\t\t\"This option enables folding multi-line comments when using the Verilog lexer.\");\n\t\tDefineProperty(\"fold.preprocessor\", &OptionsVerilog::foldPreprocessor,\n\t\t\t\"This option enables folding preprocessor directives when using the Verilog lexer.\");\n\t\tDefineProperty(\"fold.compact\", &OptionsVerilog::foldCompact);\n\t\tDefineProperty(\"fold.at.else\", &OptionsVerilog::foldAtElse,\n\t\t\t\"This option enables folding on the else line of an if statement.\");\n\t\tDefineProperty(\"fold.verilog.flags\", &OptionsVerilog::foldAtModule,\n\t\t\t\"This option enables folding module definitions. Typically source files \"\n\t\t\t\"contain only one module definition so this option is somewhat useless.\");\n\t\tDefineProperty(\"lexer.verilog.track.preprocessor\", &OptionsVerilog::trackPreprocessor,\n\t\t\t\"Set to 1 to interpret `if/`else/`endif to grey out code that is not active.\");\n\t\tDefineProperty(\"lexer.verilog.update.preprocessor\", &OptionsVerilog::updatePreprocessor,\n\t\t\t\"Set to 1 to update preprocessor definitions when `define, `undef, or `undefineall found.\");\n\t\tDefineProperty(\"lexer.verilog.portstyling\", &OptionsVerilog::portStyling,\n\t\t\t\"Set to 1 to style input, output, and inout ports differently from regular keywords.\");\n\t\tDefineProperty(\"lexer.verilog.allupperkeywords\", &OptionsVerilog::allUppercaseDocKeyword,\n\t\t\t\"Set to 1 to style identifiers that are all uppercase as documentation keyword.\");\n\t\tDefineProperty(\"lexer.verilog.fold.preprocessor.else\", &OptionsVerilog::foldPreprocessorElse,\n\t\t\t\"This option enables folding on `else and `elsif preprocessor directives.\");\n\t}\n};\n\nconst char styleSubable[] = {0};\n\n}\n\nclass LexerVerilog : public DefaultLexer {\n\tCharacterSet setWord;\n\tWordList keywords;\n\tWordList keywords2;\n\tWordList keywords3;\n\tWordList keywords4;\n\tWordList keywords5;\n\tWordList ppDefinitions;\n\tPPStates vlls;\n\tstd::vector<PPDefinition> ppDefineHistory;\n\tstruct SymbolValue {\n\t\tstd::string value;\n\t\tstd::string arguments;\n\t\tSymbolValue(const std::string &value_=\"\", const std::string &arguments_=\"\") : value(value_), arguments(arguments_) {\n\t\t}\n\t\tSymbolValue &operator = (const std::string &value_) {\n\t\t\tvalue = value_;\n\t\t\targuments.clear();\n\t\t\treturn *this;\n\t\t}\n\t\tbool IsMacro() const {\n\t\t\treturn !arguments.empty();\n\t\t}\n\t};\n\ttypedef std::map<std::string, SymbolValue> SymbolTable;\n\tSymbolTable preprocessorDefinitionsStart;\n\tOptionsVerilog options;\n\tOptionSetVerilog osVerilog;\n\tenum { activeFlag = 0x40 };\n\tSubStyles subStyles;\n\n\t// states at end of line (EOL) during fold operations:\n\t//\t\tfoldExternFlag: EOL while parsing an extern function/task declaration terminated by ';'\n\t//\t\tfoldWaitDisableFlag: EOL while parsing wait or disable statement, terminated by \"fork\" or '('\n\t//\t\ttypdefFlag: EOL while parsing typedef statement, terminated by ';'\n\tenum {foldExternFlag = 0x01, foldWaitDisableFlag = 0x02, typedefFlag = 0x04, protectedFlag = 0x08};\n\t// map using line number as key to store fold state information\n\tstd::map<Sci_Position, int> foldState;\n\npublic:\n\tLexerVerilog() :\n\t\tsetWord(CharacterSet::setAlphaNum, \"._\", 0x80, true),\n\t\tsubStyles(styleSubable, 0x80, 0x40, activeFlag) {\n\t\t}\n\tvirtual ~LexerVerilog() {}\n\tint SCI_METHOD Version() const override {\n\t\treturn lvSubStyles;\n\t}\n\tvoid SCI_METHOD Release() override {\n\t\tdelete this;\n\t}\n\tconst char* SCI_METHOD PropertyNames() override {\n\t\treturn osVerilog.PropertyNames();\n\t}\n\tint SCI_METHOD PropertyType(const char* name) override {\n\t\treturn osVerilog.PropertyType(name);\n\t}\n\tconst char* SCI_METHOD DescribeProperty(const char* name) override {\n\t\treturn osVerilog.DescribeProperty(name);\n\t}\n\tSci_Position SCI_METHOD PropertySet(const char* key, const char* val) override {\n\t    return osVerilog.PropertySet(&options, key, val);\n\t}\n\tconst char* SCI_METHOD DescribeWordListSets() override {\n\t\treturn osVerilog.DescribeWordListSets();\n\t}\n\tSci_Position SCI_METHOD WordListSet(int n, const char* wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\tvoid* SCI_METHOD PrivateCall(int, void*) override {\n\t\treturn 0;\n\t}\n\tint SCI_METHOD LineEndTypesSupported() override {\n\t\treturn SC_LINE_END_TYPE_UNICODE;\n\t}\n\tint SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override {\n\t\treturn subStyles.Allocate(styleBase, numberStyles);\n\t}\n\tint SCI_METHOD SubStylesStart(int styleBase) override {\n\t\treturn subStyles.Start(styleBase);\n\t}\n\tint SCI_METHOD SubStylesLength(int styleBase) override {\n\t\treturn subStyles.Length(styleBase);\n\t}\n\tint SCI_METHOD StyleFromSubStyle(int subStyle) override {\n\t\tint styleBase = subStyles.BaseStyle(MaskActive(subStyle));\n\t\tint active = subStyle & activeFlag;\n\t\treturn styleBase | active;\n\t}\n\tint SCI_METHOD PrimaryStyleFromStyle(int style) override {\n\t\treturn MaskActive(style);\n \t}\n\tvoid SCI_METHOD FreeSubStyles() override {\n\t\tsubStyles.Free();\n\t}\n\tvoid SCI_METHOD SetIdentifiers(int style, const char *identifiers) override {\n\t\tsubStyles.SetIdentifiers(style, identifiers);\n\t}\n\tint SCI_METHOD DistanceToSecondaryStyles() override {\n\t\treturn activeFlag;\n\t}\n\tconst char * SCI_METHOD GetSubStyleBases() override {\n\t\treturn styleSubable;\n\t}\n\tstatic ILexer* LexerFactoryVerilog() {\n\t\treturn new LexerVerilog();\n\t}\n\tstatic int MaskActive(int style) {\n\t\treturn style & ~activeFlag;\n\t}\n\tstd::vector<std::string> Tokenize(const std::string &expr) const;\n};\n\nSci_Position SCI_METHOD LexerVerilog::WordListSet(int n, const char *wl) {\n\tWordList *wordListN = 0;\n\tswitch (n) {\n\tcase 0:\n\t\twordListN = &keywords;\n\t\tbreak;\n\tcase 1:\n\t\twordListN = &keywords2;\n\t\tbreak;\n\tcase 2:\n\t\twordListN = &keywords3;\n\t\tbreak;\n\tcase 3:\n\t\twordListN = &keywords4;\n\t\tbreak;\n\tcase 4:\n\t\twordListN = &keywords5;\n\t\tbreak;\n\tcase 5:\n\t\twordListN = &ppDefinitions;\n\t\tbreak;\n\t}\n\tSci_Position firstModification = -1;\n\tif (wordListN) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*wordListN != wlNew) {\n\t\t\twordListN->Set(wl);\n\t\t\tfirstModification = 0;\n\t\t\tif (n == 5) {\n\t\t\t\t// Rebuild preprocessorDefinitions\n\t\t\t\tpreprocessorDefinitionsStart.clear();\n\t\t\t\tfor (int nDefinition = 0; nDefinition < ppDefinitions.Length(); nDefinition++) {\n\t\t\t\t\tconst char *cpDefinition = ppDefinitions.WordAt(nDefinition);\n\t\t\t\t\tconst char *cpEquals = strchr(cpDefinition, '=');\n\t\t\t\t\tif (cpEquals) {\n\t\t\t\t\t\tstd::string name(cpDefinition, cpEquals - cpDefinition);\n\t\t\t\t\t\tstd::string val(cpEquals+1);\n\t\t\t\t\t\tsize_t bracket = name.find('(');\n\t\t\t\t\t\tsize_t bracketEnd = name.find(')');\n\t\t\t\t\t\tif ((bracket != std::string::npos) && (bracketEnd != std::string::npos)) {\n\t\t\t\t\t\t\t// Macro\n\t\t\t\t\t\t\tstd::string args = name.substr(bracket + 1, bracketEnd - bracket - 1);\n\t\t\t\t\t\t\tname = name.substr(0, bracket);\n\t\t\t\t\t\t\tpreprocessorDefinitionsStart[name] = SymbolValue(val, args);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpreprocessorDefinitionsStart[name] = val;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstd::string name(cpDefinition);\n\t\t\t\t\t\tstd::string val(\"1\");\n\t\t\t\t\t\tpreprocessorDefinitionsStart[name] = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn firstModification;\n}\n\nstatic inline bool IsAWordChar(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '\\''|| ch == '$');\n}\n\nstatic inline bool IsAWordStart(const int ch) {\n\treturn (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '$');\n}\n\nstatic inline bool AllUpperCase(const char *a) {\n\twhile (*a) {\n\t\tif (*a >= 'a' && *a <= 'z') return false;\n\t\ta++;\n\t}\n\treturn true;\n}\n\n// Functor used to truncate history\nstruct After {\n\tSci_Position line;\n\texplicit After(Sci_Position line_) : line(line_) {}\n\tbool operator()(PPDefinition &p) const {\n\t\treturn p.line > line;\n\t}\n};\n\nstatic std::string GetRestOfLine(LexAccessor &styler, Sci_Position start, bool allowSpace) {\n\tstd::string restOfLine;\n\tSci_Position i =0;\n\tchar ch = styler.SafeGetCharAt(start, '\\n');\n\tSci_Position endLine = styler.LineEnd(styler.GetLine(start));\n\twhile (((start+i) < endLine) && (ch != '\\r')) {\n\t\tchar chNext = styler.SafeGetCharAt(start + i + 1, '\\n');\n\t\tif (ch == '/' && (chNext == '/' || chNext == '*'))\n\t\t\tbreak;\n\t\tif (allowSpace || (ch != ' '))\n\t\t\trestOfLine += ch;\n\t\ti++;\n\t\tch = chNext;\n\t}\n\treturn restOfLine;\n}\n\nstatic bool IsSpaceOrTab(int ch) {\n\treturn ch == ' ' || ch == '\\t';\n}\n\nvoid SCI_METHOD LexerVerilog::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess)\n{\n\tLexAccessor styler(pAccess);\n\n\tconst int kwOther=0, kwDot=0x100, kwInput=0x200, kwOutput=0x300, kwInout=0x400, kwProtected=0x800;\n\tint lineState = kwOther;\n\tbool continuationLine = false;\n\n\tSci_Position curLine = styler.GetLine(startPos);\n\tif (curLine > 0) lineState = styler.GetLineState(curLine - 1);\n\n\t// Do not leak onto next line\n\tif (initStyle == SCE_V_STRINGEOL)\n\t\tinitStyle = SCE_V_DEFAULT;\n\n\tif ((MaskActive(initStyle) == SCE_V_PREPROCESSOR) ||\n\t\t\t(MaskActive(initStyle) == SCE_V_COMMENTLINE) ||\n\t\t\t(MaskActive(initStyle) == SCE_V_COMMENTLINEBANG)) {\n\t\t// Set continuationLine if last character of previous line is '\\'\n\t\tif (curLine > 0) {\n\t\t\tSci_Position endLinePrevious = styler.LineEnd(curLine - 1);\n\t\t\tif (endLinePrevious > 0) {\n\t\t\t\tcontinuationLine = styler.SafeGetCharAt(endLinePrevious-1) == '\\\\';\n\t\t\t}\n\t\t}\n\t}\n\n\tStyleContext sc(startPos, length, initStyle, styler);\n\tLinePPState preproc = vlls.ForLine(curLine);\n\n\tbool definitionsChanged = false;\n\n\t// Truncate ppDefineHistory before current line\n\n\tif (!options.updatePreprocessor)\n\t\tppDefineHistory.clear();\n\n\tstd::vector<PPDefinition>::iterator itInvalid = std::find_if(ppDefineHistory.begin(), ppDefineHistory.end(), After(curLine-1));\n\tif (itInvalid != ppDefineHistory.end()) {\n\t\tppDefineHistory.erase(itInvalid, ppDefineHistory.end());\n\t\tdefinitionsChanged = true;\n\t}\n\n\tSymbolTable preprocessorDefinitions = preprocessorDefinitionsStart;\n\tfor (std::vector<PPDefinition>::iterator itDef = ppDefineHistory.begin(); itDef != ppDefineHistory.end(); ++itDef) {\n\t\tif (itDef->isUndef)\n\t\t\tpreprocessorDefinitions.erase(itDef->key);\n\t\telse\n\t\t\tpreprocessorDefinitions[itDef->key] = SymbolValue(itDef->value, itDef->arguments);\n\t}\n\n\tint activitySet = preproc.IsInactive() ? activeFlag : 0;\n\tSci_Position lineEndNext = styler.LineEnd(curLine);\n\tbool isEscapedId = false;    // true when parsing an escaped Identifier\n\tbool isProtected = (lineState&kwProtected) != 0;\t// true when parsing a protected region\n\n\tfor (; sc.More(); sc.Forward()) {\n\t\tif (sc.atLineStart) {\n\t\t\tif (sc.state == SCE_V_STRING) {\n\t\t\t\t// Prevent SCE_V_STRINGEOL from leaking back to previous line\n\t\t\t\tsc.SetState(SCE_V_STRING);\n\t\t\t}\n\t\t\tif ((MaskActive(sc.state) == SCE_V_PREPROCESSOR) && (!continuationLine)) {\n\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t}\n\t\t\tif (preproc.IsInactive()) {\n\t\t\t\tactivitySet = activeFlag;\n\t\t\t\tsc.SetState(sc.state | activitySet);\n\t\t\t}\n\t\t}\n\n\t\tif (sc.atLineEnd) {\n\t\t\tcurLine++;\n\t\t\tlineEndNext = styler.LineEnd(curLine);\n\t\t\tvlls.Add(curLine, preproc);\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tstyler.SetLineState(curLine, lineState);\n\t\t\tisEscapedId = false;    // EOL terminates an escaped Identifier\n\t\t}\n\n\t\t// Handle line continuation generically.\n\t\tif (sc.ch == '\\\\') {\n\t\t\tif (static_cast<Sci_Position>((sc.currentPos+1)) >= lineEndNext) {\n\t\t\t\tcurLine++;\n\t\t\t\tlineEndNext = styler.LineEnd(curLine);\n\t\t\t\tvlls.Add(curLine, preproc);\n\t\t\t\t// Update the line state, so it can be seen by next line\n\t\t\t\tstyler.SetLineState(curLine, lineState);\n\t\t\t\tsc.Forward();\n\t\t\t\tif (sc.ch == '\\r' && sc.chNext == '\\n') {\n\t\t\t\t\t// Even in UTF-8, \\r and \\n are separate\n\t\t\t\t\tsc.Forward();\n\t\t\t\t}\n\t\t\t\tcontinuationLine = true;\n\t\t\t\tsc.Forward();\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// for comment keyword\n\t\tif (MaskActive(sc.state) == SCE_V_COMMENT_WORD && !IsAWordChar(sc.ch)) {\n\t\t\tchar s[100];\n\t\t\tint state = lineState & 0xff;\n\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\tif (keywords5.InList(s)) {\n\t\t\t\tsc.ChangeState(SCE_V_COMMENT_WORD|activitySet);\n\t\t\t} else {\n\t\t\t\tsc.ChangeState(state|activitySet);\n\t\t\t}\n\t\t\tsc.SetState(state|activitySet);\n\t\t}\n\n\t\tconst bool atLineEndBeforeSwitch = sc.atLineEnd;\n\n\t\t// Determine if the current state should terminate.\n\t\tswitch (MaskActive(sc.state)) {\n\t\t\tcase SCE_V_OPERATOR:\n\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\tbreak;\n\t\t\tcase SCE_V_NUMBER:\n\t\t\t\tif (!(IsAWordChar(sc.ch) || (sc.ch == '?'))) {\n\t\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_V_IDENTIFIER:\n\t\t\t\tif (!isEscapedId &&(!IsAWordChar(sc.ch) || (sc.ch == '.'))) {\n\t\t\t\t\tchar s[100];\n\t\t\t\t\tlineState &= 0xff00;\n\t\t\t\t\tsc.GetCurrent(s, sizeof(s));\n\t\t\t\t\tif (options.portStyling && (strcmp(s, \"input\") == 0)) {\n\t\t\t\t\t\tlineState = kwInput;\n\t\t\t\t\t\tsc.ChangeState(SCE_V_INPUT|activitySet);\n\t\t\t\t\t} else if (options.portStyling && (strcmp(s, \"output\") == 0)) {\n\t\t\t\t\t\tlineState = kwOutput;\n\t\t\t\t\t\tsc.ChangeState(SCE_V_OUTPUT|activitySet);\n\t\t\t\t\t} else if (options.portStyling && (strcmp(s, \"inout\") == 0)) {\n\t\t\t\t\t\tlineState = kwInout;\n\t\t\t\t\t\tsc.ChangeState(SCE_V_INOUT|activitySet);\n\t\t\t\t\t} else if (lineState == kwInput) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_INPUT|activitySet);\n\t\t\t\t\t} else if (lineState == kwOutput) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_OUTPUT|activitySet);\n\t\t\t\t\t} else if (lineState == kwInout) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_INOUT|activitySet);\n\t\t\t\t\t} else if (lineState == kwDot) {\n\t\t\t\t\t\tlineState = kwOther;\n\t\t\t\t\t\tif (options.portStyling)\n\t\t\t\t\t\t\tsc.ChangeState(SCE_V_PORT_CONNECT|activitySet);\n\t\t\t\t\t} else if (keywords.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_WORD|activitySet);\n\t\t\t\t\t} else if (keywords2.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_WORD2|activitySet);\n\t\t\t\t\t} else if (keywords3.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_WORD3|activitySet);\n\t\t\t\t\t} else if (keywords4.InList(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_USER|activitySet);\n\t\t\t\t\t} else if (options.allUppercaseDocKeyword && AllUpperCase(s)) {\n\t\t\t\t\t\tsc.ChangeState(SCE_V_USER|activitySet);\n\t\t\t\t\t}\n\t\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_V_PREPROCESSOR:\n\t\t\t\tif (!IsAWordChar(sc.ch) || sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_V_COMMENT:\n\t\t\t\tif (sc.Match('*', '/')) {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t\tsc.ForwardSetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\t\tlineState = sc.state | (lineState & 0xff00);\n\t\t\t\t\tsc.SetState(SCE_V_COMMENT_WORD|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_V_COMMENTLINE:\n\t\t\tcase SCE_V_COMMENTLINEBANG:\n\t\t\t\tif (sc.atLineStart) {\n\t\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\t\tlineState = sc.state | (lineState & 0xff00);\n\t\t\t\t\tsc.SetState(SCE_V_COMMENT_WORD|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCE_V_STRING:\n\t\t\t\tif (sc.ch == '\\\\') {\n\t\t\t\t\tif (sc.chNext == '\\\"' || sc.chNext == '\\'' || sc.chNext == '\\\\') {\n\t\t\t\t\t\tsc.Forward();\n\t\t\t\t\t}\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.ForwardSetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t} else if (sc.atLineEnd) {\n\t\t\t\t\tsc.ChangeState(SCE_V_STRINGEOL|activitySet);\n\t\t\t\t\tsc.ForwardSetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (sc.atLineEnd && !atLineEndBeforeSwitch) {\n\t\t\t// State exit processing consumed characters up to end of line.\n\t\t\tcurLine++;\n\t\t\tlineEndNext = styler.LineEnd(curLine);\n\t\t\tvlls.Add(curLine, preproc);\n\t\t\t// Update the line state, so it can be seen by next line\n\t\t\tstyler.SetLineState(curLine, lineState);\n\t\t\tisEscapedId = false;    // EOL terminates an escaped Identifier\n\t\t}\n\n\t\t// Determine if a new state should be entered.\n\t\tif (MaskActive(sc.state) == SCE_V_DEFAULT) {\n\t\t\tif (sc.ch == '`') {\n\t\t\t\tsc.SetState(SCE_V_PREPROCESSOR|activitySet);\n\t\t\t\t// Skip whitespace between ` and preprocessor word\n\t\t\t\tdo {\n\t\t\t\t\tsc.Forward();\n\t\t\t\t} while ((sc.ch == ' ' || sc.ch == '\\t') && sc.More());\n\t\t\t\tif (sc.atLineEnd) {\n\t\t\t\t\tsc.SetState(SCE_V_DEFAULT|activitySet);\n\t\t\t\t\tstyler.SetLineState(curLine, lineState);\n\t\t\t\t} else {\n\t\t\t\t\tif (sc.Match(\"protected\")) {\n\t\t\t\t\t\tisProtected = true;\n\t\t\t\t\t\tlineState |= kwProtected;\n\t\t\t\t\t\tstyler.SetLineState(curLine, lineState);\n\t\t\t\t\t} else if (sc.Match(\"endprotected\")) {\n\t\t\t\t\t\tisProtected = false;\n\t\t\t\t\t\tlineState &= ~kwProtected;\n\t\t\t\t\t\tstyler.SetLineState(curLine, lineState);\n\t\t\t\t\t} else if (!isProtected && options.trackPreprocessor) {\n\t\t\t\t\t\tif (sc.Match(\"ifdef\") || sc.Match(\"ifndef\")) {\n\t\t\t\t\t\t\tbool isIfDef = sc.Match(\"ifdef\");\n\t\t\t\t\t\t\tint i = isIfDef ? 5 : 6;\n\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + i + 1, false);\n\t\t\t\t\t\t\tbool foundDef = preprocessorDefinitions.find(restOfLine) != preprocessorDefinitions.end();\n\t\t\t\t\t\t\tpreproc.StartSection(isIfDef == foundDef);\n\t\t\t\t\t\t} else if (sc.Match(\"else\")) {\n\t\t\t\t\t\t\tif (!preproc.CurrentIfTaken()) {\n\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\tif (!activitySet) {\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_V_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\tif (!activitySet) {\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_V_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"elsif\")) {\n\t\t\t\t\t\t\t// Ensure only one chosen out of `if .. `elsif .. `elsif .. `else .. `endif\n\t\t\t\t\t\t\tif (!preproc.CurrentIfTaken()) {\n\t\t\t\t\t\t\t\t// Similar to `ifdef\n\t\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + 6, true);\n\t\t\t\t\t\t\t\tbool ifGood = preprocessorDefinitions.find(restOfLine) != preprocessorDefinitions.end();\n\t\t\t\t\t\t\t\tif (ifGood) {\n\t\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\t\tif (!activitySet)\n\t\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_V_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tpreproc.InvertCurrentLevel();\n\t\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\t\tif (!activitySet)\n\t\t\t\t\t\t\t\t\tsc.ChangeState(SCE_V_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"endif\")) {\n\t\t\t\t\t\t\tpreproc.EndSection();\n\t\t\t\t\t\t\tactivitySet = preproc.IsInactive() ? activeFlag : 0;\n\t\t\t\t\t\t\tsc.ChangeState(SCE_V_PREPROCESSOR|activitySet);\n\t\t\t\t\t\t} else if (sc.Match(\"define\")) {\n\t\t\t\t\t\t\tif (options.updatePreprocessor && !preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + 6, true);\n\t\t\t\t\t\t\t\tsize_t startName = 0;\n\t\t\t\t\t\t\t\twhile ((startName < restOfLine.length()) && IsSpaceOrTab(restOfLine[startName]))\n\t\t\t\t\t\t\t\t\tstartName++;\n\t\t\t\t\t\t\t\tsize_t endName = startName;\n\t\t\t\t\t\t\t\twhile ((endName < restOfLine.length()) && setWord.Contains(static_cast<unsigned char>(restOfLine[endName])))\n\t\t\t\t\t\t\t\t\tendName++;\n\t\t\t\t\t\t\t\tstd::string key = restOfLine.substr(startName, endName-startName);\n\t\t\t\t\t\t\t\tif ((endName < restOfLine.length()) && (restOfLine.at(endName) == '(')) {\n\t\t\t\t\t\t\t\t\t// Macro\n\t\t\t\t\t\t\t\t\tsize_t endArgs = endName;\n\t\t\t\t\t\t\t\t\twhile ((endArgs < restOfLine.length()) && (restOfLine[endArgs] != ')'))\n\t\t\t\t\t\t\t\t\t\tendArgs++;\n\t\t\t\t\t\t\t\t\tstd::string args = restOfLine.substr(endName + 1, endArgs - endName - 1);\n\t\t\t\t\t\t\t\t\tsize_t startValue = endArgs+1;\n\t\t\t\t\t\t\t\t\twhile ((startValue < restOfLine.length()) && IsSpaceOrTab(restOfLine[startValue]))\n\t\t\t\t\t\t\t\t\t\tstartValue++;\n\t\t\t\t\t\t\t\t\tstd::string value;\n\t\t\t\t\t\t\t\t\tif (startValue < restOfLine.length())\n\t\t\t\t\t\t\t\t\t\tvalue = restOfLine.substr(startValue);\n\t\t\t\t\t\t\t\t\tpreprocessorDefinitions[key] = SymbolValue(value, args);\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(curLine, key, value, false, args));\n\t\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Value\n\t\t\t\t\t\t\t\t\tsize_t startValue = endName;\n\t\t\t\t\t\t\t\t\twhile ((startValue < restOfLine.length()) && IsSpaceOrTab(restOfLine[startValue]))\n\t\t\t\t\t\t\t\t\t\tstartValue++;\n\t\t\t\t\t\t\t\t\tstd::string value = restOfLine.substr(startValue);\n\t\t\t\t\t\t\t\t\tpreprocessorDefinitions[key] = value;\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(curLine, key, value));\n\t\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"undefineall\")) {\n\t\t\t\t\t\t\tif (options.updatePreprocessor && !preproc.IsInactive()) {\n\t\t\t\t\t\t\t\t// remove all preprocessor definitions\n\t\t\t\t\t\t\t\tstd::map<std::string, SymbolValue>::iterator itDef;\n\t\t\t\t\t\t\t\tfor(itDef = preprocessorDefinitions.begin(); itDef != preprocessorDefinitions.end(); ++itDef) {\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(curLine, itDef->first, \"\", true));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tpreprocessorDefinitions.clear();\n\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (sc.Match(\"undef\")) {\n\t\t\t\t\t\t\tif (options.updatePreprocessor && !preproc.IsInactive()) {\n\t\t\t\t\t\t\t\tstd::string restOfLine = GetRestOfLine(styler, sc.currentPos + 5, true);\n\t\t\t\t\t\t\t\tstd::vector<std::string> tokens = Tokenize(restOfLine);\n\t\t\t\t\t\t\t\tstd::string key;\n\t\t\t\t\t\t\t\tif (tokens.size() >= 1) {\n\t\t\t\t\t\t\t\t\tkey = tokens[0];\n\t\t\t\t\t\t\t\t\tpreprocessorDefinitions.erase(key);\n\t\t\t\t\t\t\t\t\tppDefineHistory.push_back(PPDefinition(curLine, key, \"\", true));\n\t\t\t\t\t\t\t\t\tdefinitionsChanged = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (!isProtected) {\n\t\t\t\tif (IsADigit(sc.ch) || (sc.ch == '\\'') || (sc.ch == '.' && IsADigit(sc.chNext))) {\n\t\t\t\t\tsc.SetState(SCE_V_NUMBER|activitySet);\n\t\t\t\t} else if (IsAWordStart(sc.ch)) {\n\t\t\t\t\tsc.SetState(SCE_V_IDENTIFIER|activitySet);\n\t\t\t\t} else if (sc.Match('/', '*')) {\n\t\t\t\t\tsc.SetState(SCE_V_COMMENT|activitySet);\n\t\t\t\t\tsc.Forward();\t// Eat the * so it isn't used for the end of the comment\n\t\t\t\t} else if (sc.Match('/', '/')) {\n\t\t\t\t\tif (sc.Match(\"//!\"))\t// Nice to have a different comment style\n\t\t\t\t\t\tsc.SetState(SCE_V_COMMENTLINEBANG|activitySet);\n\t\t\t\t\telse\n\t\t\t\t\t\tsc.SetState(SCE_V_COMMENTLINE|activitySet);\n\t\t\t\t} else if (sc.ch == '\\\"') {\n\t\t\t\t\tsc.SetState(SCE_V_STRING|activitySet);\n\t\t\t\t} else if (sc.ch == '\\\\') {\n\t\t\t\t\t// escaped identifier, everything is ok up to whitespace\n\t\t\t\t\tisEscapedId = true;\n\t\t\t\t\tsc.SetState(SCE_V_IDENTIFIER|activitySet);\n\t\t\t\t} else if (isoperator(static_cast<char>(sc.ch)) || sc.ch == '@' || sc.ch == '#') {\n\t\t\t\t\tsc.SetState(SCE_V_OPERATOR|activitySet);\n\t\t\t\t\tif (sc.ch == '.') lineState = kwDot;\n\t\t\t\t\tif (sc.ch == ';') lineState = kwOther;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (isEscapedId && isspacechar(sc.ch)) {\n\t\t\tisEscapedId = false;\n\t\t}\n\t}\n\tif (definitionsChanged) {\n\t\tstyler.ChangeLexerState(startPos, startPos + length);\n\t}\n\tsc.Complete();\n}\n\nstatic bool IsStreamCommentStyle(int style) {\n\treturn style == SCE_V_COMMENT;\n}\n\nstatic bool IsCommentLine(Sci_Position line, LexAccessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tSci_Position eolPos = styler.LineStart(line + 1) - 1;\n\tfor (Sci_Position i = pos; i < eolPos; i++) {\n\t\tchar ch = styler[i];\n\t\tchar chNext = styler.SafeGetCharAt(i + 1);\n\t\tint style = styler.StyleAt(i);\n\t\tif (ch == '/' && chNext == '/' &&\n\t\t   (style == SCE_V_COMMENTLINE || style == SCE_V_COMMENTLINEBANG)) {\n\t\t\treturn true;\n\t\t} else if (!IsASpaceOrTab(ch)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\nvoid SCI_METHOD LexerVerilog::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess)\n{\n\tLexAccessor styler(pAccess);\n\tbool foldAtBrace  = 1;\n\tbool foldAtParenthese  = 1;\n\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\t// Move back one line to be compatible with LexerModule::Fold behavior, fixes problem with foldComment behavior\n\tif (lineCurrent > 0) {\n\t\tlineCurrent--;\n\t\tSci_Position newStartPos = styler.LineStart(lineCurrent);\n\t\tlength += startPos - newStartPos;\n\t\tstartPos = newStartPos;\n\t\tinitStyle = 0;\n\t\tif (startPos > 0) {\n\t\t\tinitStyle = styler.StyleAt(startPos - 1);\n\t\t}\n\t}\n\tSci_PositionU endPos = startPos + length;\n\tint visibleChars = 0;\n\tint levelCurrent = SC_FOLDLEVELBASE;\n\tif (lineCurrent > 0)\n\t\tlevelCurrent = styler.LevelAt(lineCurrent-1) >> 16;\n\tint levelMinCurrent = levelCurrent;\n\tint levelNext = levelCurrent;\n\tchar chNext = styler[startPos];\n\tint styleNext = MaskActive(styler.StyleAt(startPos));\n\tint style = MaskActive(initStyle);\n\n\t// restore fold state (if it exists) for prior line\n\tint stateCurrent = 0;\n\tstd::map<Sci_Position,int>::iterator foldStateIterator = foldState.find(lineCurrent-1);\n\tif (foldStateIterator != foldState.end()) {\n\t\tstateCurrent = foldStateIterator->second;\n\t}\n\n\t// remove all foldState entries after lineCurrent-1\n\tfoldStateIterator = foldState.upper_bound(lineCurrent-1);\n\tif (foldStateIterator != foldState.end()) {\n\t\tfoldState.erase(foldStateIterator, foldState.end());\n\t}\n\n\tfor (Sci_PositionU i = startPos; i < endPos; i++) {\n\t\tchar ch = chNext;\n\t\tchNext = styler.SafeGetCharAt(i + 1);\n\t\tint stylePrev = style;\n\t\tstyle = styleNext;\n\t\tstyleNext = MaskActive(styler.StyleAt(i + 1));\n\t\tbool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n\t\tif (!(stateCurrent & protectedFlag)) {\n\t\t\tif (options.foldComment && IsStreamCommentStyle(style)) {\n\t\t\t\tif (!IsStreamCommentStyle(stylePrev)) {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (!IsStreamCommentStyle(styleNext) && !atEOL) {\n\t\t\t\t\t// Comments don't end at end of line and the next character may be unstyled.\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.foldComment && atEOL && IsCommentLine(lineCurrent, styler))\n\t\t\t{\n\t\t\t\tif (!IsCommentLine(lineCurrent - 1, styler)\n\t\t\t\t\t&& IsCommentLine(lineCurrent + 1, styler))\n\t\t\t\t\tlevelNext++;\n\t\t\t\telse if (IsCommentLine(lineCurrent - 1, styler)\n\t\t\t\t\t\t && !IsCommentLine(lineCurrent+1, styler))\n\t\t\t\t\tlevelNext--;\n\t\t\t}\n\t\t\tif (options.foldComment && (style == SCE_V_COMMENTLINE)) {\n\t\t\t\tif ((ch == '/') && (chNext == '/')) {\n\t\t\t\t\tchar chNext2 = styler.SafeGetCharAt(i + 2);\n\t\t\t\t\tif (chNext2 == '{') {\n\t\t\t\t\t\tlevelNext++;\n\t\t\t\t\t} else if (chNext2 == '}') {\n\t\t\t\t\t\tlevelNext--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (ch == '`') {\n\t\t\tSci_PositionU j = i + 1;\n\t\t\twhile ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) {\n\t\t\t\tj++;\n\t\t\t}\n\t\t\tif (styler.Match(j, \"protected\")) {\n\t\t\t\tstateCurrent |= protectedFlag;\n\t\t\t\tlevelNext++;\n\t\t\t} else if (styler.Match(j, \"endprotected\")) {\n\t\t\t\tstateCurrent &= ~protectedFlag;\n\t\t\t\tlevelNext--;\n\t\t\t} else if (!(stateCurrent & protectedFlag) && options.foldPreprocessor && (style == SCE_V_PREPROCESSOR)) {\n\t\t\t\tif (styler.Match(j, \"if\")) {\n\t\t\t\t\tif (options.foldPreprocessorElse) {\n\t\t\t\t\t\t// Measure the minimum before a begin to allow\n\t\t\t\t\t\t// folding on \"end else begin\"\n\t\t\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (options.foldPreprocessorElse && styler.Match(j, \"else\")) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t\t}\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (options.foldPreprocessorElse && styler.Match(j, \"elsif\")) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t\t// Measure the minimum before a begin to allow\n\t\t\t\t\t// folding on \"end else begin\"\n\t\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t\t}\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (styler.Match(j, \"endif\")) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_V_OPERATOR) {\n\t\t\tif (foldAtParenthese) {\n\t\t\t\tif (ch == '(') {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (ch == ')') {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// semicolons terminate external declarations\n\t\t\tif (ch == ';') {\n\t\t\t\t// extern and pure virtual declarations terminated by semicolon\n\t\t\t\tif (stateCurrent & foldExternFlag) {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t\tstateCurrent &= ~foldExternFlag;\n\t\t\t\t}\n\t\t\t\t// wait and disable statements terminated by semicolon\n\t\t\t\tif (stateCurrent & foldWaitDisableFlag) {\n\t\t\t\t\tstateCurrent &= ~foldWaitDisableFlag;\n\t\t\t\t}\n\t\t\t\t// typedef statements terminated by semicolon\n\t\t\t\tif (stateCurrent & typedefFlag) {\n\t\t\t\t\tstateCurrent &= ~typedefFlag;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// wait and disable statements containing '(' will not contain \"fork\" keyword, special processing is not needed\n\t\t\tif (ch == '(') {\n\t\t\t\tif (stateCurrent & foldWaitDisableFlag) {\n\t\t\t\t\tstateCurrent &= ~foldWaitDisableFlag;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_V_OPERATOR) {\n\t\t\tif (foldAtBrace) {\n\t\t\t\tif (ch == '{') {\n\t\t\t\t\tlevelNext++;\n\t\t\t\t} else if (ch == '}') {\n\t\t\t\t\tlevelNext--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (style == SCE_V_WORD && stylePrev != SCE_V_WORD) {\n\t\t\tSci_PositionU j = i;\n\t\t\tif (styler.Match(j, \"case\") ||\n\t\t\t\tstyler.Match(j, \"casex\") ||\n\t\t\t\tstyler.Match(j, \"casez\") ||\n\t\t\t\tstyler.Match(j, \"covergroup\") ||\n\t\t\t\tstyler.Match(j, \"function\") ||\n\t\t\t\tstyler.Match(j, \"generate\") ||\n\t\t\t\tstyler.Match(j, \"interface\") ||\n\t\t\t\tstyler.Match(j, \"package\") ||\n\t\t\t\tstyler.Match(j, \"primitive\") ||\n\t\t\t\tstyler.Match(j, \"program\") ||\n\t\t\t\tstyler.Match(j, \"sequence\") ||\n\t\t\t\tstyler.Match(j, \"specify\") ||\n\t\t\t\tstyler.Match(j, \"table\") ||\n\t\t\t\tstyler.Match(j, \"task\") ||\n\t\t\t\t(styler.Match(j, \"module\") && options.foldAtModule)) {\n\t\t\t\tlevelNext++;\n\t\t\t} else if (styler.Match(j, \"begin\")) {\n\t\t\t\t// Measure the minimum before a begin to allow\n\t\t\t\t// folding on \"end else begin\"\n\t\t\t\tif (levelMinCurrent > levelNext) {\n\t\t\t\t\tlevelMinCurrent = levelNext;\n\t\t\t\t}\n\t\t\t\tlevelNext++;\n\t\t\t} else if (styler.Match(j, \"class\")) {\n\t\t\t\t// class does not introduce a block when used in a typedef statement\n\t\t\t\tif (!(stateCurrent & typedefFlag))\n\t\t\t\t\tlevelNext++;\n\t\t\t} else if (styler.Match(j, \"fork\")) {\n\t\t\t\t// fork does not introduce a block when used in a wait or disable statement\n\t\t\t\tif (stateCurrent & foldWaitDisableFlag) {\n\t\t\t\t\tstateCurrent &= ~foldWaitDisableFlag;\n\t\t\t\t} else\n\t\t\t\t\tlevelNext++;\n\t\t\t} else if (styler.Match(j, \"endcase\") ||\n\t\t\t\tstyler.Match(j, \"endclass\") ||\n\t\t\t\tstyler.Match(j, \"endfunction\") ||\n\t\t\t\tstyler.Match(j, \"endgenerate\") ||\n\t\t\t\tstyler.Match(j, \"endgroup\") ||\n\t\t\t\tstyler.Match(j, \"endinterface\") ||\n\t\t\t\tstyler.Match(j, \"endpackage\") ||\n\t\t\t\tstyler.Match(j, \"endprimitive\") ||\n\t\t\t\tstyler.Match(j, \"endprogram\") ||\n\t\t\t\tstyler.Match(j, \"endsequence\") ||\n\t\t\t\tstyler.Match(j, \"endspecify\") ||\n\t\t\t\tstyler.Match(j, \"endtable\") ||\n\t\t\t\tstyler.Match(j, \"endtask\") ||\n\t\t\t\tstyler.Match(j, \"join\") ||\n\t\t\t\tstyler.Match(j, \"join_any\") ||\n\t\t\t\tstyler.Match(j, \"join_none\") ||\n\t\t\t\t(styler.Match(j, \"endmodule\") && options.foldAtModule) ||\n\t\t\t\t(styler.Match(j, \"end\") && !IsAWordChar(styler.SafeGetCharAt(j + 3)))) {\n\t\t\t\tlevelNext--;\n\t\t\t} else if (styler.Match(j, \"extern\") ||\n\t\t\t\tstyler.Match(j, \"pure\")) {\n\t\t\t\t// extern and pure virtual functions/tasks are terminated by ';' not endfunction/endtask\n\t\t\t\tstateCurrent |= foldExternFlag;\n\t\t\t} else if (styler.Match(j, \"disable\") ||\n\t\t\t\tstyler.Match(j, \"wait\")) {\n\t\t\t\t// fork does not introduce a block when used in a wait or disable statement\n\t\t\t\tstateCurrent |= foldWaitDisableFlag;\n\t\t\t} else if (styler.Match(j, \"typedef\")) {\n\t\t\t\tstateCurrent |= typedefFlag;\n\t\t\t}\n\t\t}\n\t\tif (atEOL) {\n\t\t\tint levelUse = levelCurrent;\n\t\t\tif (options.foldAtElse||options.foldPreprocessorElse) {\n\t\t\t\tlevelUse = levelMinCurrent;\n\t\t\t}\n\t\t\tint lev = levelUse | levelNext << 16;\n\t\t\tif (visibleChars == 0 && options.foldCompact)\n\t\t\t\tlev |= SC_FOLDLEVELWHITEFLAG;\n\t\t\tif (levelUse < levelNext)\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (stateCurrent) {\n\t\t\t\tfoldState[lineCurrent] = stateCurrent;\n\t\t\t}\n\t\t\tif (lev != styler.LevelAt(lineCurrent)) {\n\t\t\t\tstyler.SetLevel(lineCurrent, lev);\n\t\t\t}\n\t\t\tlineCurrent++;\n\t\t\tlevelCurrent = levelNext;\n\t\t\tlevelMinCurrent = levelCurrent;\n\t\t\tvisibleChars = 0;\n\t\t}\n\t\tif (!isspacechar(ch))\n\t\t\tvisibleChars++;\n\t}\n}\n\nstd::vector<std::string> LexerVerilog::Tokenize(const std::string &expr) const {\n\t// Break into tokens\n\tstd::vector<std::string> tokens;\n\tconst char *cp = expr.c_str();\n\twhile (*cp) {\n\t\tstd::string word;\n\t\tif (setWord.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\t// Identifiers and numbers\n\t\t\twhile (setWord.Contains(static_cast<unsigned char>(*cp))) {\n\t\t\t\tword += *cp;\n\t\t\t\tcp++;\n\t\t\t}\n\t\t} else if (IsSpaceOrTab(*cp)) {\n\t\t\twhile (IsSpaceOrTab(*cp)) {\n\t\t\t\tcp++;\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else {\n\t\t\t// Should handle strings, characters, and comments here\n\t\t\tword += *cp;\n\t\t\tcp++;\n\t\t}\n\t\ttokens.push_back(word);\n\t}\n\treturn tokens;\n}\n\nstatic const char * const verilogWordLists[] = {\n            \"Primary keywords and identifiers\",\n            \"Secondary keywords and identifiers\",\n            \"System Tasks\",\n            \"User defined tasks and identifiers\",\n            \"Documentation comment keywords\",\n            \"Preprocessor definitions\",\n            0,\n        };\n\nLexerModule lmVerilog(SCLEX_VERILOG, LexerVerilog::LexerFactoryVerilog, \"verilog\", verilogWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexVisualProlog.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexVisualProlog.cxx\n** Lexer for Visual Prolog.\n**/\n// Author Thomas Linder Puls, Prolog Development Denter A/S, http://www.visual-prolog.com\n// Based on Lexer for C++, C, Java, and JavaScript.\n// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// The line state contains:\n// In SCE_VISUALPROLOG_STRING_VERBATIM_EOL (i.e. multiline string literal): The closingQuote.\n// else (for SCE_VISUALPROLOG_COMMENT_BLOCK): The comment nesting level\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#ifdef _MSC_VER\n#pragma warning(disable: 4786)\n#endif\n\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"CharacterCategory.h\"\n#include \"LexerModule.h\"\n#include \"OptionSet.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\n// Options used for LexerVisualProlog\nstruct OptionsVisualProlog {\n    OptionsVisualProlog() {\n    }\n};\n\nstatic const char *const visualPrologWordLists[] = {\n    \"Major keywords (class, predicates, ...)\",\n    \"Minor keywords (if, then, try, ...)\",\n    \"Directive keywords without the '#' (include, requires, ...)\",\n    \"Documentation keywords without the '@' (short, detail, ...)\",\n    0,\n};\n\nstruct OptionSetVisualProlog : public OptionSet<OptionsVisualProlog> {\n    OptionSetVisualProlog() {\n        DefineWordListSets(visualPrologWordLists);\n    }\n};\n\nclass LexerVisualProlog : public DefaultLexer {\n    WordList majorKeywords;\n    WordList minorKeywords;\n    WordList directiveKeywords;\n    WordList docKeywords;\n    OptionsVisualProlog options;\n    OptionSetVisualProlog osVisualProlog;\npublic:\n    LexerVisualProlog() {\n    }\n    virtual ~LexerVisualProlog() {\n    }\n    void SCI_METHOD Release() override {\n        delete this;\n    }\n    int SCI_METHOD Version() const override {\n        return lvOriginal;\n    }\n    const char * SCI_METHOD PropertyNames() override {\n        return osVisualProlog.PropertyNames();\n    }\n    int SCI_METHOD PropertyType(const char *name) override {\n        return osVisualProlog.PropertyType(name);\n    }\n    const char * SCI_METHOD DescribeProperty(const char *name) override {\n        return osVisualProlog.DescribeProperty(name);\n    }\n    Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n    const char * SCI_METHOD DescribeWordListSets() override {\n        return osVisualProlog.DescribeWordListSets();\n    }\n    Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n    void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n    void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;\n\n    void * SCI_METHOD PrivateCall(int, void *) override {\n        return 0;\n    }\n\n    static ILexer *LexerFactoryVisualProlog() {\n        return new LexerVisualProlog();\n    }\n};\n\nSci_Position SCI_METHOD LexerVisualProlog::PropertySet(const char *key, const char *val) {\n    if (osVisualProlog.PropertySet(&options, key, val)) {\n        return 0;\n    }\n    return -1;\n}\n\nSci_Position SCI_METHOD LexerVisualProlog::WordListSet(int n, const char *wl) {\n    WordList *wordListN = 0;\n    switch (n) {\n    case 0:\n        wordListN = &majorKeywords;\n        break;\n    case 1:\n        wordListN = &minorKeywords;\n        break;\n    case 2:\n        wordListN = &directiveKeywords;\n        break;\n    case 3:\n        wordListN = &docKeywords;\n        break;\n    }\n    Sci_Position firstModification = -1;\n    if (wordListN) {\n        WordList wlNew;\n        wlNew.Set(wl);\n        if (*wordListN != wlNew) {\n            wordListN->Set(wl);\n            firstModification = 0;\n        }\n    }\n    return firstModification;\n}\n\n// Functor used to truncate history\nstruct After {\n    Sci_Position line;\n    After(Sci_Position line_) : line(line_) {}\n};\n\nstatic bool isLowerLetter(int ch){\n    return ccLl == CategoriseCharacter(ch);\n}\n\nstatic bool isUpperLetter(int ch){\n    return ccLu == CategoriseCharacter(ch);\n}\n\nstatic bool isAlphaNum(int ch){\n    CharacterCategory cc = CategoriseCharacter(ch);\n    return (ccLu == cc || ccLl == cc || ccLt == cc || ccLm == cc || ccLo == cc || ccNd == cc || ccNl == cc || ccNo == cc);\n}\n\nstatic bool isStringVerbatimOpenClose(int ch){\n    CharacterCategory cc = CategoriseCharacter(ch);\n    return (ccPc <= cc && cc <= ccSo);\n}\n\nstatic bool isIdChar(int ch){\n    return ('_') == ch || isAlphaNum(ch);\n}\n\nstatic bool isOpenStringVerbatim(int next, int &closingQuote){\n    switch (next) {\n    case L'<':\n        closingQuote = L'>';\n        return true;\n    case L'>':\n        closingQuote = L'<';\n        return true;\n    case L'(':\n        closingQuote = L')';\n        return true;\n    case L')':\n        closingQuote = L'(';\n        return true;\n    case L'[':\n        closingQuote = L']';\n        return true;\n    case L']':\n        closingQuote = L'[';\n        return true;\n    case L'{':\n        closingQuote = L'}';\n        return true;\n    case L'}':\n        closingQuote = L'{';\n        return true;\n    case L'_':\n    case L'.':\n    case L',':\n    case L';':\n        return false;\n    default:\n        if (isStringVerbatimOpenClose(next)) {\n            closingQuote = next;\n            return true;\n        } else {\n\t\t\treturn false;\n        }\n    }\n}\n\n// Look ahead to see which colour \"end\" should have (takes colour after the following keyword)\nstatic void endLookAhead(char s[], LexAccessor &styler, Sci_Position start) {\n    char ch = styler.SafeGetCharAt(start, '\\n');\n    while (' ' == ch) {\n        start++;\n        ch = styler.SafeGetCharAt(start, '\\n');\n    }\n    Sci_Position i = 0;\n    while (i < 100 && isLowerLetter(ch)){\n        s[i] = ch;\n        i++;\n        ch = styler.SafeGetCharAt(start + i, '\\n');\n    }\n    s[i] = '\\0';\n}\n\nstatic void forwardEscapeLiteral(StyleContext &sc, int EscapeState) {\n    sc.Forward();\n    if (sc.Match('\"') || sc.Match('\\'') || sc.Match('\\\\') || sc.Match('n') || sc.Match('l') || sc.Match('r') || sc.Match('t')) {\n        sc.ChangeState(EscapeState);\n    } else if (sc.Match('u')) {\n        if (IsADigit(sc.chNext, 16)) {\n            sc.Forward();\n            if (IsADigit(sc.chNext, 16)) {\n                sc.Forward();\n                if (IsADigit(sc.chNext, 16)) {\n                    sc.Forward();\n                    if (IsADigit(sc.chNext, 16)) {\n                        sc.Forward();\n                        sc.ChangeState(EscapeState);\n                    }\n                }\n            }\n        }\n    }\n}\n\nvoid SCI_METHOD LexerVisualProlog::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n    LexAccessor styler(pAccess);\n    CharacterSet setDoxygen(CharacterSet::setAlpha, \"\");\n    CharacterSet setNumber(CharacterSet::setNone, \"0123456789abcdefABCDEFxoXO\");\n\n    StyleContext sc(startPos, length, initStyle, styler, 0x7f);\n\n    int styleBeforeDocKeyword = SCE_VISUALPROLOG_DEFAULT;\n    Sci_Position currentLine = styler.GetLine(startPos);\n\n    int closingQuote = '\"';\n    int nestLevel = 0;\n    if (currentLine >= 1)\n    {\n        nestLevel = styler.GetLineState(currentLine - 1);\n        closingQuote = nestLevel;\n    }\n\n    // Truncate ppDefineHistory before current line\n\n    for (; sc.More(); sc.Forward()) {\n\n        // Determine if the current state should terminate.\n        switch (sc.state) {\n        case SCE_VISUALPROLOG_OPERATOR:\n            sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n            break;\n        case SCE_VISUALPROLOG_NUMBER:\n            // We accept almost anything because of hex. and number suffixes\n            if (!(setNumber.Contains(sc.ch)) || (sc.Match('.') && IsADigit(sc.chNext))) {\n                sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n            }\n            break;\n        case SCE_VISUALPROLOG_IDENTIFIER:\n            if (!isIdChar(sc.ch)) {\n                char s[1000];\n                sc.GetCurrent(s, sizeof(s));\n                if (0 == strcmp(s, \"end\")) {\n                    endLookAhead(s, styler, sc.currentPos);\n                }\n                if (majorKeywords.InList(s)) {\n                    sc.ChangeState(SCE_VISUALPROLOG_KEY_MAJOR);\n                } else if (minorKeywords.InList(s)) {\n                    sc.ChangeState(SCE_VISUALPROLOG_KEY_MINOR);\n                }\n                sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n            }\n            break;\n        case SCE_VISUALPROLOG_VARIABLE:\n        case SCE_VISUALPROLOG_ANONYMOUS:\n            if (!isIdChar(sc.ch)) {\n                sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n            }\n            break;\n        case SCE_VISUALPROLOG_KEY_DIRECTIVE:\n            if (!isLowerLetter(sc.ch)) {\n                char s[1000];\n                sc.GetCurrent(s, sizeof(s));\n                if (!directiveKeywords.InList(s+1)) {\n                    sc.ChangeState(SCE_VISUALPROLOG_IDENTIFIER);\n                }\n                sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n            }\n            break;\n        case SCE_VISUALPROLOG_COMMENT_BLOCK:\n            if (sc.Match('*', '/')) {\n                sc.Forward();\n                nestLevel--;\n                int nextState = (nestLevel == 0) ? SCE_VISUALPROLOG_DEFAULT : SCE_VISUALPROLOG_COMMENT_BLOCK;\n                sc.ForwardSetState(nextState);\n            } else if (sc.Match('/', '*')) {\n                sc.Forward();\n                nestLevel++;\n            } else if (sc.Match('@')) {\n                styleBeforeDocKeyword = sc.state;\n                sc.SetState(SCE_VISUALPROLOG_COMMENT_KEY_ERROR);\n            }\n            break;\n        case SCE_VISUALPROLOG_COMMENT_LINE:\n            if (sc.atLineEnd) {\n                int nextState = (nestLevel == 0) ? SCE_VISUALPROLOG_DEFAULT : SCE_VISUALPROLOG_COMMENT_BLOCK;\n                sc.SetState(nextState);\n            } else if (sc.Match('@')) {\n                styleBeforeDocKeyword = sc.state;\n                sc.SetState(SCE_VISUALPROLOG_COMMENT_KEY_ERROR);\n            }\n            break;\n        case SCE_VISUALPROLOG_COMMENT_KEY_ERROR:\n            if (!setDoxygen.Contains(sc.ch) || sc.atLineEnd) {\n                char s[1000];\n                sc.GetCurrent(s, sizeof(s));\n                if (docKeywords.InList(s+1)) {\n                    sc.ChangeState(SCE_VISUALPROLOG_COMMENT_KEY);\n                }\n                if (SCE_VISUALPROLOG_COMMENT_LINE == styleBeforeDocKeyword && sc.atLineEnd) {\n                    // end line comment\n                    int nextState = (nestLevel == 0) ? SCE_VISUALPROLOG_DEFAULT : SCE_VISUALPROLOG_COMMENT_BLOCK;\n                    sc.SetState(nextState);\n                } else {\n                    sc.SetState(styleBeforeDocKeyword);\n                    if (SCE_VISUALPROLOG_COMMENT_BLOCK == styleBeforeDocKeyword && sc.Match('*', '/')) {\n                        // we have consumed the '*' if it comes immediately after the docKeyword\n                        sc.Forward();\n                        sc.Forward();\n                        nestLevel--;\n                        if (0 == nestLevel) {\n                            sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n                        }\n                    }\n                }\n            }\n            break;\n        case SCE_VISUALPROLOG_STRING_ESCAPE:\n        case SCE_VISUALPROLOG_STRING_ESCAPE_ERROR:\n            // return to SCE_VISUALPROLOG_STRING and treat as such (fall-through)\n            sc.SetState(SCE_VISUALPROLOG_STRING);\n            // Falls through.\n        case SCE_VISUALPROLOG_STRING:\n            if (sc.atLineEnd) {\n                sc.SetState(SCE_VISUALPROLOG_STRING_EOL_OPEN);\n            } else if (sc.Match(closingQuote)) {\n                sc.ForwardSetState(SCE_VISUALPROLOG_DEFAULT);\n            } else if (sc.Match('\\\\')) {\n                sc.SetState(SCE_VISUALPROLOG_STRING_ESCAPE_ERROR);\n                forwardEscapeLiteral(sc, SCE_VISUALPROLOG_STRING_ESCAPE);\n            }\n            break;\n        case SCE_VISUALPROLOG_STRING_EOL_OPEN:\n            if (sc.atLineStart) {\n                sc.SetState(SCE_VISUALPROLOG_DEFAULT);\n            }\n            break;\n        case SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL:\n        case SCE_VISUALPROLOG_STRING_VERBATIM_EOL:\n            // return to SCE_VISUALPROLOG_STRING_VERBATIM and treat as such (fall-through)\n            sc.SetState(SCE_VISUALPROLOG_STRING_VERBATIM);\n            // Falls through.\n        case SCE_VISUALPROLOG_STRING_VERBATIM:\n            if (sc.atLineEnd) {\n                sc.SetState(SCE_VISUALPROLOG_STRING_VERBATIM_EOL);\n            } else if (sc.Match(closingQuote)) {\n                if (closingQuote == sc.chNext) {\n                    sc.SetState(SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL);\n                    sc.Forward();\n                } else {\n                    sc.ForwardSetState(SCE_VISUALPROLOG_DEFAULT);\n                }\n            }\n            break;\n        }\n\n        if (sc.atLineEnd) {\n            // Update the line state, so it can be seen by next line\n            int lineState = 0;\n            if (SCE_VISUALPROLOG_STRING_VERBATIM_EOL == sc.state) {\n                lineState = closingQuote;\n            } else if (SCE_VISUALPROLOG_COMMENT_BLOCK == sc.state) {\n                lineState = nestLevel;\n            }\n            styler.SetLineState(currentLine, lineState);\n            currentLine++;\n        }\n\n        // Determine if a new state should be entered.\n        if (sc.state == SCE_VISUALPROLOG_DEFAULT) {\n            if (sc.Match('@') && isOpenStringVerbatim(sc.chNext, closingQuote)) {\n                sc.SetState(SCE_VISUALPROLOG_STRING_VERBATIM);\n                sc.Forward();\n            } else if (IsADigit(sc.ch) || (sc.Match('.') && IsADigit(sc.chNext))) {\n                sc.SetState(SCE_VISUALPROLOG_NUMBER);\n            } else if (isLowerLetter(sc.ch)) {\n                sc.SetState(SCE_VISUALPROLOG_IDENTIFIER);\n            } else if (isUpperLetter(sc.ch)) {\n                sc.SetState(SCE_VISUALPROLOG_VARIABLE);\n            } else if (sc.Match('_')) {\n                sc.SetState(SCE_VISUALPROLOG_ANONYMOUS);\n            } else if (sc.Match('/', '*')) {\n                sc.SetState(SCE_VISUALPROLOG_COMMENT_BLOCK);\n                nestLevel = 1;\n                sc.Forward();\t// Eat the * so it isn't used for the end of the comment\n            } else if (sc.Match('%')) {\n                sc.SetState(SCE_VISUALPROLOG_COMMENT_LINE);\n            } else if (sc.Match('\\'')) {\n                closingQuote = '\\'';\n                sc.SetState(SCE_VISUALPROLOG_STRING);\n            } else if (sc.Match('\"')) {\n                closingQuote = '\"';\n                sc.SetState(SCE_VISUALPROLOG_STRING);\n            } else if (sc.Match('#')) {\n                sc.SetState(SCE_VISUALPROLOG_KEY_DIRECTIVE);\n            } else if (isoperator(static_cast<char>(sc.ch)) || sc.Match('\\\\')) {\n                sc.SetState(SCE_VISUALPROLOG_OPERATOR);\n            }\n        }\n\n    }\n    sc.Complete();\n    styler.Flush();\n}\n\n// Store both the current line's fold level and the next lines in the\n// level store to make it easy to pick up with each increment\n// and to make it possible to fiddle the current level for \"} else {\".\n\nvoid SCI_METHOD LexerVisualProlog::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) {\n\n    LexAccessor styler(pAccess);\n\n    Sci_PositionU endPos = startPos + length;\n    int visibleChars = 0;\n    Sci_Position currentLine = styler.GetLine(startPos);\n    int levelCurrent = SC_FOLDLEVELBASE;\n    if (currentLine > 0)\n        levelCurrent = styler.LevelAt(currentLine-1) >> 16;\n    int levelMinCurrent = levelCurrent;\n    int levelNext = levelCurrent;\n    char chNext = styler[startPos];\n    int styleNext = styler.StyleAt(startPos);\n    int style = initStyle;\n    for (Sci_PositionU i = startPos; i < endPos; i++) {\n        char ch = chNext;\n        chNext = styler.SafeGetCharAt(i + 1);\n        style = styleNext;\n        styleNext = styler.StyleAt(i + 1);\n        bool atEOL = (ch == '\\r' && chNext != '\\n') || (ch == '\\n');\n        if (style == SCE_VISUALPROLOG_OPERATOR) {\n            if (ch == '{') {\n                // Measure the minimum before a '{' to allow\n                // folding on \"} else {\"\n                if (levelMinCurrent > levelNext) {\n                    levelMinCurrent = levelNext;\n                }\n                levelNext++;\n            } else if (ch == '}') {\n                levelNext--;\n            }\n        }\n        if (!IsASpace(ch))\n            visibleChars++;\n        if (atEOL || (i == endPos-1)) {\n            int levelUse = levelCurrent;\n            int lev = levelUse | levelNext << 16;\n            if (levelUse < levelNext)\n                lev |= SC_FOLDLEVELHEADERFLAG;\n            if (lev != styler.LevelAt(currentLine)) {\n                styler.SetLevel(currentLine, lev);\n            }\n            currentLine++;\n            levelCurrent = levelNext;\n            levelMinCurrent = levelCurrent;\n            if (atEOL && (i == static_cast<Sci_PositionU>(styler.Length()-1))) {\n                // There is an empty line at end of file so give it same level and empty\n                styler.SetLevel(currentLine, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG);\n            }\n            visibleChars = 0;\n        }\n    }\n}\n\nLexerModule lmVisualProlog(SCLEX_VISUALPROLOG, LexerVisualProlog::LexerFactoryVisualProlog, \"visualprolog\", visualPrologWordLists);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/LexYAML.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexYAML.cxx\n ** Lexer for YAML.\n **/\n// Copyright 2003- by Sean O'Dell <sean@celsoft.com>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdio.h>\n#include <stdarg.h>\n#include <assert.h>\n#include <ctype.h>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n#include \"LexerModule.h\"\n\nusing namespace Scintilla;\n\nstatic const char * const yamlWordListDesc[] = {\n\t\"Keywords\",\n\t0\n};\n\nstatic inline bool AtEOL(Accessor &styler, Sci_PositionU i) {\n\treturn (styler[i] == '\\n') ||\n\t\t((styler[i] == '\\r') && (styler.SafeGetCharAt(i + 1) != '\\n'));\n}\n\nstatic unsigned int SpaceCount(char* lineBuffer) {\n\tif (lineBuffer == NULL)\n\t\treturn 0;\n\n\tchar* headBuffer = lineBuffer;\n\n\twhile (*headBuffer == ' ')\n\t\theadBuffer++;\n\n\treturn static_cast<unsigned int>(headBuffer - lineBuffer);\n}\n\nstatic bool KeywordAtChar(char* lineBuffer, char* startComment, const WordList &keywords) {\n\tif (lineBuffer == NULL || startComment <= lineBuffer)\n\t\treturn false;\n\tchar* endValue = startComment - 1;\n\twhile (endValue >= lineBuffer && *endValue == ' ')\n\t\tendValue--;\n\tSci_PositionU len = static_cast<Sci_PositionU>(endValue - lineBuffer) + 1;\n\tchar s[100];\n\tif (len > (sizeof(s) / sizeof(s[0]) - 1))\n\t\treturn false;\n\tstrncpy(s, lineBuffer, len);\n\ts[len] = '\\0';\n\treturn (keywords.InList(s));\n}\n\n#define YAML_STATE_BITSIZE\t\t16\n#define YAML_STATE_MASK\t\t\t(0xFFFF0000)\n#define YAML_STATE_DOCUMENT\t\t(1 << YAML_STATE_BITSIZE)\n#define YAML_STATE_VALUE\t\t(2 << YAML_STATE_BITSIZE)\n#define YAML_STATE_COMMENT\t\t(3 << YAML_STATE_BITSIZE)\n#define YAML_STATE_TEXT_PARENT\t(4 << YAML_STATE_BITSIZE)\n#define YAML_STATE_TEXT\t\t\t(5 << YAML_STATE_BITSIZE)\n\nstatic void ColouriseYAMLLine(\n\tchar *lineBuffer,\n\tSci_PositionU currentLine,\n\tSci_PositionU lengthLine,\n\tSci_PositionU startLine,\n\tSci_PositionU endPos,\n\tWordList &keywords,\n\tAccessor &styler) {\n\n\tSci_PositionU i = 0;\n\tbool bInQuotes = false;\n\tunsigned int indentAmount = SpaceCount(lineBuffer);\n\n\tif (currentLine > 0) {\n\t\tint parentLineState = styler.GetLineState(currentLine - 1);\n\n\t\tif ((parentLineState&YAML_STATE_MASK) == YAML_STATE_TEXT || (parentLineState&YAML_STATE_MASK) == YAML_STATE_TEXT_PARENT) {\n\t\t\tunsigned int parentIndentAmount = parentLineState&(~YAML_STATE_MASK);\n\t\t\tif (indentAmount > parentIndentAmount) {\n\t\t\t\tstyler.SetLineState(currentLine, YAML_STATE_TEXT | parentIndentAmount);\n\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_TEXT);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\tstyler.SetLineState(currentLine, 0);\n\tif (strncmp(lineBuffer, \"---\", 3) == 0 || strncmp(lineBuffer, \"...\", 3) == 0) {\t// Document marker\n\t\tstyler.SetLineState(currentLine, YAML_STATE_DOCUMENT);\n\t\tstyler.ColourTo(endPos, SCE_YAML_DOCUMENT);\n\t\treturn;\n\t}\n\t// Skip initial spaces\n\twhile ((i < lengthLine) && lineBuffer[i] == ' ') { // YAML always uses space, never TABS or anything else\n\t\ti++;\n\t}\n\tif (lineBuffer[i] == '\\t') { // if we skipped all spaces, and we are NOT inside a text block, this is wrong\n\t\tstyler.ColourTo(endPos, SCE_YAML_ERROR);\n\t\treturn;\n\t}\n\tif (lineBuffer[i] == '#') {\t// Comment\n\t\tstyler.SetLineState(currentLine, YAML_STATE_COMMENT);\n\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\treturn;\n\t}\n\twhile (i < lengthLine) {\n\t\tif (lineBuffer[i] == '\\'' || lineBuffer[i] == '\\\"') {\n\t\t\tbInQuotes = !bInQuotes;\n\t\t} else if (lineBuffer[i] == '#' && isspacechar(lineBuffer[i - 1]) && !bInQuotes) {\n\t\t\tstyler.ColourTo(startLine + i - 1, SCE_YAML_DEFAULT);\n\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\treturn;\n\t\t} else if (lineBuffer[i] == ':' && !bInQuotes) {\n\t\t\tstyler.ColourTo(startLine + i - 1, SCE_YAML_IDENTIFIER);\n\t\t\tstyler.ColourTo(startLine + i, SCE_YAML_OPERATOR);\n\t\t\t// Non-folding scalar\n\t\t\ti++;\n\t\t\twhile ((i < lengthLine) && isspacechar(lineBuffer[i]))\n\t\t\t\ti++;\n\t\t\tSci_PositionU endValue = lengthLine - 1;\n\t\t\twhile ((endValue >= i) && isspacechar(lineBuffer[endValue]))\n\t\t\t\tendValue--;\n\t\t\tlineBuffer[endValue + 1] = '\\0';\n\t\t\tif (lineBuffer[i] == '|' || lineBuffer[i] == '>') {\n\t\t\t\ti++;\n\t\t\t\tif (lineBuffer[i] == '+' || lineBuffer[i] == '-')\n\t\t\t\t\ti++;\n\t\t\t\twhile ((i < lengthLine) && isspacechar(lineBuffer[i]))\n\t\t\t\t\ti++;\n\t\t\t\tif (lineBuffer[i] == '\\0') {\n\t\t\t\t\tstyler.SetLineState(currentLine, YAML_STATE_TEXT_PARENT | indentAmount);\n\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_DEFAULT);\n\t\t\t\t\treturn;\n\t\t\t\t} else if (lineBuffer[i] == '#') {\n\t\t\t\t\tstyler.SetLineState(currentLine, YAML_STATE_TEXT_PARENT | indentAmount);\n\t\t\t\t\tstyler.ColourTo(startLine + i - 1, SCE_YAML_DEFAULT);\n\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_ERROR);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else if (lineBuffer[i] == '#') {\n\t\t\t\tstyler.ColourTo(startLine + i - 1, SCE_YAML_DEFAULT);\n\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tSci_PositionU startComment = i;\n\t\t\tbInQuotes = false;\n\t\t\twhile (startComment < lengthLine) { // Comment must be space padded\n\t\t\t\tif (lineBuffer[startComment] == '\\'' || lineBuffer[startComment] == '\\\"')\n\t\t\t\t\tbInQuotes = !bInQuotes;\n\t\t\t\tif (lineBuffer[startComment] == '#' && isspacechar(lineBuffer[startComment - 1]) && !bInQuotes)\n\t\t\t\t\tbreak;\n\t\t\t\tstartComment++;\n\t\t\t}\n\t\t\tstyler.SetLineState(currentLine, YAML_STATE_VALUE);\n\t\t\tif (lineBuffer[i] == '&' || lineBuffer[i] == '*') {\n\t\t\t\tstyler.ColourTo(startLine + startComment - 1, SCE_YAML_REFERENCE);\n\t\t\t\tif (startComment < lengthLine)\n\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (KeywordAtChar(&lineBuffer[i], &lineBuffer[startComment], keywords)) { // Convertible value (true/false, etc.)\n\t\t\t\tstyler.ColourTo(startLine + startComment - 1, SCE_YAML_KEYWORD);\n\t\t\t\tif (startComment < lengthLine)\n\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tSci_PositionU i2 = i;\n\t\t\twhile ((i < startComment) && lineBuffer[i]) {\n\t\t\t\tif (!(IsASCII(lineBuffer[i]) && isdigit(lineBuffer[i])) && lineBuffer[i] != '-'\n\t\t\t\t        && lineBuffer[i] != '.' && lineBuffer[i] != ',' && lineBuffer[i] != ' ') {\n\t\t\t\t\tstyler.ColourTo(startLine + startComment - 1, SCE_YAML_DEFAULT);\n\t\t\t\t\tif (startComment < lengthLine)\n\t\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ti++;\n\t\t\t}\n\t\t\tif (i > i2) {\n\t\t\t\tstyler.ColourTo(startLine + startComment - 1, SCE_YAML_NUMBER);\n\t\t\t\tif (startComment < lengthLine)\n\t\t\t\t\tstyler.ColourTo(endPos, SCE_YAML_COMMENT);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tbreak; // shouldn't get here, but just in case, the rest of the line is coloured the default\n\t\t}\n\t\ti++;\n\t}\n\tstyler.ColourTo(endPos, SCE_YAML_DEFAULT);\n}\n\nstatic void ColouriseYAMLDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler) {\n\tchar lineBuffer[1024] = \"\";\n\tstyler.StartAt(startPos);\n\tstyler.StartSegment(startPos);\n\tSci_PositionU linePos = 0;\n\tSci_PositionU startLine = startPos;\n\tSci_PositionU endPos = startPos + length;\n\tSci_PositionU maxPos = styler.Length();\n\tSci_PositionU lineCurrent = styler.GetLine(startPos);\n\n\tfor (Sci_PositionU i = startPos; i < maxPos && i < endPos; i++) {\n\t\tlineBuffer[linePos++] = styler[i];\n\t\tif (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) {\n\t\t\t// End of line (or of line buffer) met, colourise it\n\t\t\tlineBuffer[linePos] = '\\0';\n\t\t\tColouriseYAMLLine(lineBuffer, lineCurrent, linePos, startLine, i, *keywordLists[0], styler);\n\t\t\tlinePos = 0;\n\t\t\tstartLine = i + 1;\n\t\t\tlineCurrent++;\n\t\t}\n\t}\n\tif (linePos > 0) {\t// Last line does not have ending characters\n\t\tColouriseYAMLLine(lineBuffer, lineCurrent, linePos, startLine, startPos + length - 1, *keywordLists[0], styler);\n\t}\n}\n\nstatic bool IsCommentLine(Sci_Position line, Accessor &styler) {\n\tSci_Position pos = styler.LineStart(line);\n\tif (styler[pos] == '#')\n\t\treturn true;\n\treturn false;\n}\n\nstatic void FoldYAMLDoc(Sci_PositionU startPos, Sci_Position length, int /*initStyle - unused*/,\n                      WordList *[], Accessor &styler) {\n\tconst Sci_Position maxPos = startPos + length;\n\tconst Sci_Position maxLines = styler.GetLine(maxPos - 1);             // Requested last line\n\tconst Sci_Position docLines = styler.GetLine(styler.Length() - 1);  // Available last line\n\tconst bool foldComment = styler.GetPropertyInt(\"fold.comment.yaml\") != 0;\n\n\t// Backtrack to previous non-blank line so we can determine indent level\n\t// for any white space lines\n\t// and so we can fix any preceding fold level (which is why we go back\n\t// at least one line in all cases)\n\tint spaceFlags = 0;\n\tSci_Position lineCurrent = styler.GetLine(startPos);\n\tint indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\twhile (lineCurrent > 0) {\n\t\tlineCurrent--;\n\t\tindentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL);\n\t\tif (!(indentCurrent & SC_FOLDLEVELWHITEFLAG) &&\n\t\t        (!IsCommentLine(lineCurrent, styler)))\n\t\t\tbreak;\n\t}\n\tint indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\n\t// Set up initial loop state\n\tint prevComment = 0;\n\tif (lineCurrent >= 1)\n\t\tprevComment = foldComment && IsCommentLine(lineCurrent - 1, styler);\n\n\t// Process all characters to end of requested range\n\t// or comment that hangs over the end of the range.  Cap processing in all cases\n\t// to end of document (in case of unclosed comment at end).\n\twhile ((lineCurrent <= docLines) && ((lineCurrent <= maxLines) || prevComment)) {\n\n\t\t// Gather info\n\t\tint lev = indentCurrent;\n\t\tSci_Position lineNext = lineCurrent + 1;\n\t\tint indentNext = indentCurrent;\n\t\tif (lineNext <= docLines) {\n\t\t\t// Information about next line is only available if not at end of document\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t}\n\t\tconst int comment = foldComment && IsCommentLine(lineCurrent, styler);\n\t\tconst int comment_start = (comment && !prevComment && (lineNext <= docLines) &&\n\t\t                           IsCommentLine(lineNext, styler) && (lev > SC_FOLDLEVELBASE));\n\t\tconst int comment_continue = (comment && prevComment);\n\t\tif (!comment)\n\t\t\tindentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;\n\t\tif (indentNext & SC_FOLDLEVELWHITEFLAG)\n\t\t\tindentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel;\n\n\t\tif (comment_start) {\n\t\t\t// Place fold point at start of a block of comments\n\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t} else if (comment_continue) {\n\t\t\t// Add level to rest of lines in the block\n\t\t\tlev = lev + 1;\n\t\t}\n\n\t\t// Skip past any blank lines for next indent level info; we skip also\n\t\t// comments (all comments, not just those starting in column 0)\n\t\t// which effectively folds them into surrounding code rather\n\t\t// than screwing up folding.\n\n\t\twhile ((lineNext < docLines) &&\n\t\t        ((indentNext & SC_FOLDLEVELWHITEFLAG) ||\n\t\t         (lineNext <= docLines && IsCommentLine(lineNext, styler)))) {\n\n\t\t\tlineNext++;\n\t\t\tindentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL);\n\t\t}\n\n\t\tconst int levelAfterComments = indentNext & SC_FOLDLEVELNUMBERMASK;\n\t\tconst int levelBeforeComments = Maximum(indentCurrentLevel,levelAfterComments);\n\n\t\t// Now set all the indent levels on the lines we skipped\n\t\t// Do this from end to start.  Once we encounter one line\n\t\t// which is indented more than the line after the end of\n\t\t// the comment-block, use the level of the block before\n\n\t\tSci_Position skipLine = lineNext;\n\t\tint skipLevel = levelAfterComments;\n\n\t\twhile (--skipLine > lineCurrent) {\n\t\t\tint skipLineIndent = styler.IndentAmount(skipLine, &spaceFlags, NULL);\n\n\t\t\tif ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments)\n\t\t\t\tskipLevel = levelBeforeComments;\n\n\t\t\tint whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG;\n\n\t\t\tstyler.SetLevel(skipLine, skipLevel | whiteFlag);\n\t\t}\n\n\t\t// Set fold header on non-comment line\n\t\tif (!comment && !(indentCurrent & SC_FOLDLEVELWHITEFLAG) ) {\n\t\t\tif ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK))\n\t\t\t\tlev |= SC_FOLDLEVELHEADERFLAG;\n\t\t}\n\n\t\t// Keep track of block comment state of previous line\n\t\tprevComment = comment_start || comment_continue;\n\n\t\t// Set fold level for this line and move to next line\n\t\tstyler.SetLevel(lineCurrent, lev);\n\t\tindentCurrent = indentNext;\n\t\tlineCurrent = lineNext;\n\t}\n\n\t// NOTE: Cannot set level of last line here because indentCurrent doesn't have\n\t// header flag set; the loop above is crafted to take care of this case!\n\t//styler.SetLevel(lineCurrent, indentCurrent);\n}\n\nLexerModule lmYAML(SCLEX_YAML, ColouriseYAMLDoc, \"yaml\", FoldYAMLDoc, yamlWordListDesc);\n"
  },
  {
    "path": "src/qscint/scintilla/lexers/License.txt",
    "content": "License for Scintilla and SciTE\n\nCopyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n\nAll Rights Reserved\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation.\n\nNEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\nSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY\nSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE\nOR PERFORMANCE OF THIS SOFTWARE."
  },
  {
    "path": "src/qscint/scintilla/lexlib/Accessor.cpp",
    "content": "// Scintilla source code edit control\n/** @file Accessor.cxx\n ** Interfaces between Scintilla and lexers.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n\nusing namespace Scintilla;\n\nAccessor::Accessor(IDocument *pAccess_, PropSetSimple *pprops_) : LexAccessor(pAccess_), pprops(pprops_) {\n}\n\nint Accessor::GetPropertyInt(const char *key, int defaultValue) const {\n\treturn pprops->GetInt(key, defaultValue);\n}\n\nint Accessor::IndentAmount(Sci_Position line, int *flags, PFNIsCommentLeader pfnIsCommentLeader) {\n\tconst Sci_Position end = Length();\n\tint spaceFlags = 0;\n\n\t// Determines the indentation level of the current line and also checks for consistent\n\t// indentation compared to the previous line.\n\t// Indentation is judged consistent when the indentation whitespace of each line lines\n\t// the same or the indentation of one line is a prefix of the other.\n\n\tSci_Position pos = LineStart(line);\n\tchar ch = (*this)[pos];\n\tint indent = 0;\n\tbool inPrevPrefix = line > 0;\n\tSci_Position posPrev = inPrevPrefix ? LineStart(line-1) : 0;\n\twhile ((ch == ' ' || ch == '\\t') && (pos < end)) {\n\t\tif (inPrevPrefix) {\n\t\t\tconst char chPrev = (*this)[posPrev++];\n\t\t\tif (chPrev == ' ' || chPrev == '\\t') {\n\t\t\t\tif (chPrev != ch)\n\t\t\t\t\tspaceFlags |= wsInconsistent;\n\t\t\t} else {\n\t\t\t\tinPrevPrefix = false;\n\t\t\t}\n\t\t}\n\t\tif (ch == ' ') {\n\t\t\tspaceFlags |= wsSpace;\n\t\t\tindent++;\n\t\t} else {\t// Tab\n\t\t\tspaceFlags |= wsTab;\n\t\t\tif (spaceFlags & wsSpace)\n\t\t\t\tspaceFlags |= wsSpaceTab;\n\t\t\tindent = (indent / 8 + 1) * 8;\n\t\t}\n\t\tch = (*this)[++pos];\n\t}\n\n\t*flags = spaceFlags;\n\tindent += SC_FOLDLEVELBASE;\n\t// if completely empty line or the start of a comment...\n\tif ((LineStart(line) == Length()) || (ch == ' ' || ch == '\\t' || ch == '\\n' || ch == '\\r') ||\n\t\t\t(pfnIsCommentLeader && (*pfnIsCommentLeader)(*this, pos, end-pos)))\n\t\treturn indent | SC_FOLDLEVELWHITEFLAG;\n\telse\n\t\treturn indent;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/Accessor.h",
    "content": "// Scintilla source code edit control\n/** @file Accessor.h\n ** Interfaces between Scintilla and lexers.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef ACCESSOR_H\n#define ACCESSOR_H\n\nnamespace Scintilla {\n\nenum { wsSpace=1, wsTab=2, wsSpaceTab=4, wsInconsistent=8 };\n\nclass Accessor;\nclass WordList;\nclass PropSetSimple;\n\ntypedef bool (*PFNIsCommentLeader)(Accessor &styler, Sci_Position pos, Sci_Position len);\n\nclass Accessor : public LexAccessor {\npublic:\n\tPropSetSimple *pprops;\n\tAccessor(IDocument *pAccess_, PropSetSimple *pprops_);\n\tint GetPropertyInt(const char *, int defaultValue=0) const;\n\tint IndentAmount(Sci_Position line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/CharacterCategory.cpp",
    "content": "// Scintilla source code edit control\n/** @file CharacterCategory.cxx\n ** Returns the Unicode general category of a character.\n ** Table automatically regenerated by scripts/GenerateCharacterCategory.py\n ** Should only be rarely regenerated for new versions of Unicode.\n **/\n// Copyright 2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <algorithm>\n#include <iterator>\n\n#include \"CharacterCategory.h\"\n\nnamespace Scintilla {\n\nnamespace {\n\t// Use an unnamed namespace to protect the declarations from name conflicts\n\nconst int catRanges[] = {\n//++Autogenerated -- start of section automatically generated\n// Created with Python 3.7.0,  Unicode 11.0.0\n25,\n1046,\n1073,\n1171,\n1201,\n1293,\n1326,\n1361,\n1394,\n1425,\n1452,\n1489,\n1544,\n1873,\n1938,\n2033,\n2080,\n2925,\n2961,\n2990,\n3028,\n3051,\n3092,\n3105,\n3949,\n3986,\n4014,\n4050,\n4089,\n5142,\n5169,\n5203,\n5333,\n5361,\n5396,\n5429,\n5444,\n5487,\n5522,\n5562,\n5589,\n5620,\n5653,\n5682,\n5706,\n5780,\n5793,\n5841,\n5908,\n5930,\n5956,\n6000,\n6026,\n6129,\n6144,\n6898,\n6912,\n7137,\n7922,\n7937,\n8192,\n8225,\n8256,\n8289,\n8320,\n8353,\n8384,\n8417,\n8448,\n8481,\n8512,\n8545,\n8576,\n8609,\n8640,\n8673,\n8704,\n8737,\n8768,\n8801,\n8832,\n8865,\n8896,\n8929,\n8960,\n8993,\n9024,\n9057,\n9088,\n9121,\n9152,\n9185,\n9216,\n9249,\n9280,\n9313,\n9344,\n9377,\n9408,\n9441,\n9472,\n9505,\n9536,\n9569,\n9600,\n9633,\n9664,\n9697,\n9728,\n9761,\n9792,\n9825,\n9856,\n9889,\n9920,\n9953,\n10016,\n10049,\n10080,\n10113,\n10144,\n10177,\n10208,\n10241,\n10272,\n10305,\n10336,\n10369,\n10400,\n10433,\n10464,\n10497,\n10560,\n10593,\n10624,\n10657,\n10688,\n10721,\n10752,\n10785,\n10816,\n10849,\n10880,\n10913,\n10944,\n10977,\n11008,\n11041,\n11072,\n11105,\n11136,\n11169,\n11200,\n11233,\n11264,\n11297,\n11328,\n11361,\n11392,\n11425,\n11456,\n11489,\n11520,\n11553,\n11584,\n11617,\n11648,\n11681,\n11712,\n11745,\n11776,\n11809,\n11840,\n11873,\n11904,\n11937,\n11968,\n12001,\n12032,\n12097,\n12128,\n12161,\n12192,\n12225,\n12320,\n12385,\n12416,\n12449,\n12480,\n12545,\n12576,\n12673,\n12736,\n12865,\n12896,\n12961,\n12992,\n13089,\n13184,\n13249,\n13280,\n13345,\n13376,\n13409,\n13440,\n13473,\n13504,\n13569,\n13600,\n13633,\n13696,\n13729,\n13760,\n13825,\n13856,\n13953,\n13984,\n14017,\n14048,\n14113,\n14180,\n14208,\n14241,\n14340,\n14464,\n14498,\n14529,\n14560,\n14594,\n14625,\n14656,\n14690,\n14721,\n14752,\n14785,\n14816,\n14849,\n14880,\n14913,\n14944,\n14977,\n15008,\n15041,\n15072,\n15105,\n15136,\n15169,\n15200,\n15233,\n15296,\n15329,\n15360,\n15393,\n15424,\n15457,\n15488,\n15521,\n15552,\n15585,\n15616,\n15649,\n15680,\n15713,\n15744,\n15777,\n15808,\n15841,\n15904,\n15938,\n15969,\n16000,\n16033,\n16064,\n16161,\n16192,\n16225,\n16256,\n16289,\n16320,\n16353,\n16384,\n16417,\n16448,\n16481,\n16512,\n16545,\n16576,\n16609,\n16640,\n16673,\n16704,\n16737,\n16768,\n16801,\n16832,\n16865,\n16896,\n16929,\n16960,\n16993,\n17024,\n17057,\n17088,\n17121,\n17152,\n17185,\n17216,\n17249,\n17280,\n17313,\n17344,\n17377,\n17408,\n17441,\n17472,\n17505,\n17536,\n17569,\n17600,\n17633,\n17664,\n17697,\n17728,\n17761,\n17792,\n17825,\n17856,\n17889,\n17920,\n17953,\n17984,\n18017,\n18240,\n18305,\n18336,\n18401,\n18464,\n18497,\n18528,\n18657,\n18688,\n18721,\n18752,\n18785,\n18816,\n18849,\n18880,\n18913,\n21124,\n21153,\n22019,\n22612,\n22723,\n23124,\n23555,\n23732,\n23939,\n23988,\n24003,\n24052,\n24581,\n28160,\n28193,\n28224,\n28257,\n28291,\n28340,\n28352,\n28385,\n28445,\n28483,\n28513,\n28625,\n28640,\n28701,\n28820,\n28864,\n28913,\n28928,\n29053,\n29056,\n29117,\n29120,\n29185,\n29216,\n29789,\n29792,\n30081,\n31200,\n31233,\n31296,\n31393,\n31488,\n31521,\n31552,\n31585,\n31616,\n31649,\n31680,\n31713,\n31744,\n31777,\n31808,\n31841,\n31872,\n31905,\n31936,\n31969,\n32000,\n32033,\n32064,\n32097,\n32128,\n32161,\n32192,\n32225,\n32384,\n32417,\n32466,\n32480,\n32513,\n32544,\n32609,\n32672,\n34305,\n35840,\n35873,\n35904,\n35937,\n35968,\n36001,\n36032,\n36065,\n36096,\n36129,\n36160,\n36193,\n36224,\n36257,\n36288,\n36321,\n36352,\n36385,\n36416,\n36449,\n36480,\n36513,\n36544,\n36577,\n36608,\n36641,\n36672,\n36705,\n36736,\n36769,\n36800,\n36833,\n36864,\n36897,\n36949,\n36965,\n37127,\n37184,\n37217,\n37248,\n37281,\n37312,\n37345,\n37376,\n37409,\n37440,\n37473,\n37504,\n37537,\n37568,\n37601,\n37632,\n37665,\n37696,\n37729,\n37760,\n37793,\n37824,\n37857,\n37888,\n37921,\n37952,\n37985,\n38016,\n38049,\n38080,\n38113,\n38144,\n38177,\n38208,\n38241,\n38272,\n38305,\n38336,\n38369,\n38400,\n38433,\n38464,\n38497,\n38528,\n38561,\n38592,\n38625,\n38656,\n38689,\n38720,\n38753,\n38784,\n38817,\n38848,\n38881,\n38912,\n38977,\n39008,\n39041,\n39072,\n39105,\n39136,\n39169,\n39200,\n39233,\n39264,\n39297,\n39328,\n39361,\n39424,\n39457,\n39488,\n39521,\n39552,\n39585,\n39616,\n39649,\n39680,\n39713,\n39744,\n39777,\n39808,\n39841,\n39872,\n39905,\n39936,\n39969,\n40000,\n40033,\n40064,\n40097,\n40128,\n40161,\n40192,\n40225,\n40256,\n40289,\n40320,\n40353,\n40384,\n40417,\n40448,\n40481,\n40512,\n40545,\n40576,\n40609,\n40640,\n40673,\n40704,\n40737,\n40768,\n40801,\n40832,\n40865,\n40896,\n40929,\n40960,\n40993,\n41024,\n41057,\n41088,\n41121,\n41152,\n41185,\n41216,\n41249,\n41280,\n41313,\n41344,\n41377,\n41408,\n41441,\n41472,\n41505,\n41536,\n41569,\n41600,\n41633,\n41664,\n41697,\n41728,\n41761,\n41792,\n41825,\n41856,\n41889,\n41920,\n41953,\n41984,\n42017,\n42048,\n42081,\n42112,\n42145,\n42176,\n42209,\n42240,\n42273,\n42304,\n42337,\n42368,\n42401,\n42432,\n42465,\n42525,\n42528,\n43773,\n43811,\n43857,\n44033,\n45361,\n45388,\n45437,\n45493,\n45555,\n45597,\n45605,\n47052,\n47077,\n47121,\n47141,\n47217,\n47237,\n47313,\n47333,\n47389,\n47620,\n48509,\n48612,\n48753,\n48829,\n49178,\n49362,\n49457,\n49523,\n49553,\n49621,\n49669,\n50033,\n50074,\n50109,\n50129,\n50180,\n51203,\n51236,\n51557,\n52232,\n52561,\n52676,\n52741,\n52772,\n55953,\n55972,\n56005,\n56250,\n56277,\n56293,\n56483,\n56549,\n56629,\n56645,\n56772,\n56840,\n57156,\n57269,\n57316,\n57361,\n57821,\n57850,\n57860,\n57893,\n57924,\n58885,\n59773,\n59812,\n62661,\n63012,\n63069,\n63496,\n63812,\n64869,\n65155,\n65237,\n65265,\n65347,\n65405,\n65445,\n65491,\n65540,\n66245,\n66371,\n66405,\n66691,\n66725,\n66819,\n66853,\n67037,\n67089,\n67581,\n67588,\n68389,\n68509,\n68561,\n68605,\n68612,\n68989,\n70660,\n71357,\n71364,\n71645,\n72293,\n72794,\n72805,\n73830,\n73860,\n75589,\n75622,\n75653,\n75684,\n75718,\n75813,\n76070,\n76197,\n76230,\n76292,\n76325,\n76548,\n76869,\n76945,\n77000,\n77329,\n77347,\n77380,\n77861,\n77894,\n77981,\n77988,\n78269,\n78308,\n78397,\n78436,\n79165,\n79172,\n79421,\n79428,\n79485,\n79556,\n79709,\n79749,\n79780,\n79814,\n79909,\n80061,\n80102,\n80189,\n80230,\n80293,\n80324,\n80381,\n80614,\n80669,\n80772,\n80861,\n80868,\n80965,\n81053,\n81096,\n81412,\n81491,\n81546,\n81749,\n81779,\n81796,\n81841,\n81861,\n81917,\n81957,\n82022,\n82077,\n82084,\n82301,\n82404,\n82493,\n82532,\n83261,\n83268,\n83517,\n83524,\n83613,\n83620,\n83709,\n83716,\n83805,\n83845,\n83901,\n83910,\n84005,\n84093,\n84197,\n84285,\n84325,\n84445,\n84517,\n84573,\n84772,\n84925,\n84932,\n84989,\n85192,\n85509,\n85572,\n85669,\n85713,\n85757,\n86053,\n86118,\n86173,\n86180,\n86493,\n86500,\n86621,\n86628,\n87357,\n87364,\n87613,\n87620,\n87709,\n87716,\n87901,\n87941,\n87972,\n88006,\n88101,\n88285,\n88293,\n88358,\n88413,\n88422,\n88485,\n88541,\n88580,\n88637,\n89092,\n89157,\n89245,\n89288,\n89617,\n89651,\n89693,\n89892,\n89925,\n90141,\n90149,\n90182,\n90269,\n90276,\n90557,\n90596,\n90685,\n90724,\n91453,\n91460,\n91709,\n91716,\n91805,\n91812,\n91997,\n92037,\n92068,\n92102,\n92133,\n92166,\n92197,\n92349,\n92390,\n92477,\n92518,\n92581,\n92637,\n92869,\n92902,\n92957,\n93060,\n93149,\n93156,\n93253,\n93341,\n93384,\n93717,\n93732,\n93770,\n93981,\n94277,\n94308,\n94365,\n94372,\n94589,\n94660,\n94781,\n94788,\n94941,\n95012,\n95101,\n95108,\n95165,\n95172,\n95261,\n95332,\n95421,\n95492,\n95613,\n95684,\n96093,\n96198,\n96261,\n96294,\n96381,\n96454,\n96573,\n96582,\n96677,\n96733,\n96772,\n96829,\n96998,\n97053,\n97480,\n97802,\n97909,\n98099,\n98133,\n98173,\n98309,\n98342,\n98437,\n98468,\n98749,\n98756,\n98877,\n98884,\n99645,\n99652,\n100189,\n100260,\n100293,\n100390,\n100541,\n100549,\n100669,\n100677,\n100829,\n101029,\n101117,\n101124,\n101245,\n101380,\n101445,\n101533,\n101576,\n101917,\n102154,\n102389,\n102404,\n102437,\n102470,\n102545,\n102564,\n102845,\n102852,\n102973,\n102980,\n103741,\n103748,\n104093,\n104100,\n104285,\n104325,\n104356,\n104390,\n104421,\n104454,\n104637,\n104645,\n104678,\n104765,\n104774,\n104837,\n104925,\n105126,\n105213,\n105412,\n105469,\n105476,\n105541,\n105629,\n105672,\n106013,\n106020,\n106109,\n106501,\n106566,\n106653,\n106660,\n106941,\n106948,\n107069,\n107076,\n108389,\n108452,\n108486,\n108581,\n108733,\n108742,\n108861,\n108870,\n108965,\n108996,\n109045,\n109085,\n109188,\n109286,\n109322,\n109540,\n109637,\n109725,\n109768,\n110090,\n110389,\n110404,\n110621,\n110662,\n110749,\n110756,\n111357,\n111428,\n112221,\n112228,\n112541,\n112548,\n112605,\n112644,\n112893,\n112965,\n113021,\n113126,\n113221,\n113341,\n113349,\n113405,\n113414,\n113693,\n113864,\n114205,\n114246,\n114321,\n114365,\n114724,\n116261,\n116292,\n116357,\n116605,\n116723,\n116740,\n116931,\n116965,\n117233,\n117256,\n117585,\n117661,\n118820,\n118909,\n118916,\n118973,\n119012,\n119101,\n119108,\n119165,\n119204,\n119261,\n119428,\n119581,\n119588,\n119837,\n119844,\n119965,\n119972,\n120029,\n120036,\n120093,\n120132,\n120221,\n120228,\n120357,\n120388,\n120453,\n120669,\n120677,\n120740,\n120797,\n120836,\n121021,\n121027,\n121085,\n121093,\n121309,\n121352,\n121693,\n121732,\n121885,\n122884,\n122933,\n123025,\n123509,\n123537,\n123573,\n123653,\n123733,\n123912,\n124234,\n124565,\n124581,\n124629,\n124645,\n124693,\n124709,\n124749,\n124782,\n124813,\n124846,\n124870,\n124932,\n125213,\n125220,\n126397,\n126501,\n126950,\n126981,\n127153,\n127173,\n127236,\n127397,\n127773,\n127781,\n128957,\n128981,\n129221,\n129269,\n129469,\n129493,\n129553,\n129717,\n129841,\n129917,\n131076,\n132454,\n132517,\n132646,\n132677,\n132870,\n132901,\n132966,\n133029,\n133092,\n133128,\n133457,\n133636,\n133830,\n133893,\n133956,\n134085,\n134180,\n134214,\n134308,\n134374,\n134596,\n134693,\n134820,\n135237,\n135270,\n135333,\n135398,\n135589,\n135620,\n135654,\n135688,\n136006,\n136101,\n136149,\n136192,\n137437,\n137440,\n137501,\n137632,\n137693,\n137729,\n139121,\n139139,\n139169,\n139268,\n149821,\n149828,\n149981,\n150020,\n150269,\n150276,\n150333,\n150340,\n150493,\n150532,\n151869,\n151876,\n152029,\n152068,\n153149,\n153156,\n153309,\n153348,\n153597,\n153604,\n153661,\n153668,\n153821,\n153860,\n154365,\n154372,\n156221,\n156228,\n156381,\n156420,\n158589,\n158629,\n158737,\n159018,\n159677,\n159748,\n160277,\n160605,\n160768,\n163549,\n163585,\n163805,\n163852,\n163876,\n183729,\n183780,\n184342,\n184356,\n185197,\n185230,\n185277,\n185348,\n187761,\n187849,\n187940,\n188221,\n188420,\n188861,\n188868,\n188997,\n189117,\n189444,\n190021,\n190129,\n190205,\n190468,\n191045,\n191133,\n191492,\n191933,\n191940,\n192061,\n192069,\n192157,\n192516,\n194181,\n194246,\n194277,\n194502,\n194757,\n194790,\n194853,\n195217,\n195299,\n195345,\n195443,\n195460,\n195493,\n195549,\n195592,\n195933,\n196106,\n196445,\n196625,\n196812,\n196849,\n196965,\n197082,\n197117,\n197128,\n197469,\n197636,\n198755,\n198788,\n200509,\n200708,\n200869,\n200932,\n202021,\n202052,\n202109,\n202244,\n204509,\n204804,\n205821,\n205829,\n205926,\n206053,\n206118,\n206237,\n206342,\n206405,\n206438,\n206629,\n206749,\n206869,\n206909,\n206993,\n207048,\n207364,\n208349,\n208388,\n208573,\n208900,\n210333,\n210436,\n211293,\n211464,\n211786,\n211837,\n211925,\n212996,\n213733,\n213798,\n213861,\n213917,\n213969,\n214020,\n215718,\n215749,\n215782,\n215813,\n216061,\n216069,\n216102,\n216133,\n216166,\n216229,\n216486,\n216677,\n217021,\n217061,\n217096,\n217437,\n217608,\n217949,\n218129,\n218339,\n218385,\n218589,\n218629,\n219079,\n219133,\n221189,\n221318,\n221348,\n222853,\n222886,\n222917,\n223078,\n223109,\n223142,\n223301,\n223334,\n223396,\n223645,\n223752,\n224081,\n224309,\n224613,\n224917,\n225213,\n225285,\n225350,\n225380,\n226342,\n226373,\n226502,\n226565,\n226630,\n226661,\n226756,\n226824,\n227140,\n228549,\n228582,\n228613,\n228678,\n228773,\n228806,\n228837,\n228934,\n229021,\n229265,\n229380,\n230534,\n230789,\n231046,\n231109,\n231197,\n231281,\n231432,\n231773,\n231844,\n231944,\n232260,\n233219,\n233425,\n233473,\n233789,\n233984,\n235389,\n235424,\n235537,\n235805,\n236037,\n236145,\n236165,\n236582,\n236613,\n236836,\n236965,\n236996,\n237126,\n237189,\n237220,\n237286,\n237317,\n237405,\n237569,\n238979,\n240993,\n241411,\n241441,\n242531,\n243717,\n245597,\n245605,\n245760,\n245793,\n245824,\n245857,\n245888,\n245921,\n245952,\n245985,\n246016,\n246049,\n246080,\n246113,\n246144,\n246177,\n246208,\n246241,\n246272,\n246305,\n246336,\n246369,\n246400,\n246433,\n246464,\n246497,\n246528,\n246561,\n246592,\n246625,\n246656,\n246689,\n246720,\n246753,\n246784,\n246817,\n246848,\n246881,\n246912,\n246945,\n246976,\n247009,\n247040,\n247073,\n247104,\n247137,\n247168,\n247201,\n247232,\n247265,\n247296,\n247329,\n247360,\n247393,\n247424,\n247457,\n247488,\n247521,\n247552,\n247585,\n247616,\n247649,\n247680,\n247713,\n247744,\n247777,\n247808,\n247841,\n247872,\n247905,\n247936,\n247969,\n248000,\n248033,\n248064,\n248097,\n248128,\n248161,\n248192,\n248225,\n248256,\n248289,\n248320,\n248353,\n248384,\n248417,\n248448,\n248481,\n248512,\n248545,\n248576,\n248609,\n248640,\n248673,\n248704,\n248737,\n248768,\n248801,\n248832,\n248865,\n248896,\n248929,\n248960,\n248993,\n249024,\n249057,\n249088,\n249121,\n249152,\n249185,\n249216,\n249249,\n249280,\n249313,\n249344,\n249377,\n249408,\n249441,\n249472,\n249505,\n249536,\n249569,\n249600,\n249633,\n249664,\n249697,\n249728,\n249761,\n249792,\n249825,\n249856,\n249889,\n249920,\n249953,\n249984,\n250017,\n250048,\n250081,\n250112,\n250145,\n250176,\n250209,\n250240,\n250273,\n250304,\n250337,\n250368,\n250401,\n250432,\n250465,\n250496,\n250529,\n250816,\n250849,\n250880,\n250913,\n250944,\n250977,\n251008,\n251041,\n251072,\n251105,\n251136,\n251169,\n251200,\n251233,\n251264,\n251297,\n251328,\n251361,\n251392,\n251425,\n251456,\n251489,\n251520,\n251553,\n251584,\n251617,\n251648,\n251681,\n251712,\n251745,\n251776,\n251809,\n251840,\n251873,\n251904,\n251937,\n251968,\n252001,\n252032,\n252065,\n252096,\n252129,\n252160,\n252193,\n252224,\n252257,\n252288,\n252321,\n252352,\n252385,\n252416,\n252449,\n252480,\n252513,\n252544,\n252577,\n252608,\n252641,\n252672,\n252705,\n252736,\n252769,\n252800,\n252833,\n252864,\n252897,\n252928,\n252961,\n252992,\n253025,\n253056,\n253089,\n253120,\n253153,\n253184,\n253217,\n253248,\n253281,\n253312,\n253345,\n253376,\n253409,\n253440,\n253473,\n253504,\n253537,\n253568,\n253601,\n253632,\n253665,\n253696,\n253729,\n253760,\n253793,\n253824,\n253857,\n253888,\n253921,\n254208,\n254465,\n254685,\n254720,\n254941,\n254977,\n255232,\n255489,\n255744,\n256001,\n256221,\n256256,\n256477,\n256513,\n256797,\n256800,\n256861,\n256864,\n256925,\n256928,\n256989,\n256992,\n257025,\n257280,\n257537,\n258013,\n258049,\n258306,\n258561,\n258818,\n259073,\n259330,\n259585,\n259773,\n259777,\n259840,\n259970,\n260020,\n260033,\n260084,\n260161,\n260285,\n260289,\n260352,\n260482,\n260532,\n260609,\n260765,\n260801,\n260864,\n261021,\n261044,\n261121,\n261376,\n261556,\n261661,\n261697,\n261821,\n261825,\n261888,\n262018,\n262068,\n262141,\n262166,\n262522,\n262668,\n262865,\n262927,\n262960,\n262989,\n263023,\n263088,\n263117,\n263151,\n263185,\n263447,\n263480,\n263514,\n263670,\n263697,\n263983,\n264016,\n264049,\n264171,\n264241,\n264338,\n264365,\n264398,\n264433,\n264786,\n264817,\n264843,\n264881,\n265206,\n265242,\n265405,\n265434,\n265738,\n265763,\n265821,\n265866,\n266066,\n266157,\n266190,\n266211,\n266250,\n266578,\n266669,\n266702,\n266749,\n266755,\n267197,\n267283,\n268317,\n268805,\n269223,\n269349,\n269383,\n269477,\n269885,\n270357,\n270400,\n270453,\n270560,\n270613,\n270657,\n270688,\n270785,\n270848,\n270945,\n270997,\n271008,\n271061,\n271122,\n271136,\n271317,\n271488,\n271541,\n271552,\n271605,\n271616,\n271669,\n271680,\n271829,\n271841,\n271872,\n272001,\n272036,\n272161,\n272213,\n272257,\n272320,\n272402,\n272544,\n272577,\n272725,\n272754,\n272789,\n272833,\n272885,\n272906,\n273417,\n274528,\n274561,\n274601,\n274730,\n274773,\n274845,\n274962,\n275125,\n275282,\n275349,\n275474,\n275509,\n275570,\n275605,\n275666,\n275701,\n275922,\n275957,\n276946,\n277013,\n277074,\n277109,\n277138,\n277173,\n278162,\n286741,\n286989,\n287022,\n287053,\n287086,\n287125,\n287762,\n287829,\n288045,\n288078,\n288117,\n290706,\n290741,\n291698,\n292501,\n293778,\n293973,\n296189,\n296981,\n297341,\n297994,\n299925,\n302410,\n303125,\n308978,\n309013,\n309298,\n309333,\n311058,\n311317,\n314866,\n314901,\n322829,\n322862,\n322893,\n322926,\n322957,\n322990,\n323021,\n323054,\n323085,\n323118,\n323149,\n323182,\n323213,\n323246,\n323274,\n324245,\n325650,\n325805,\n325838,\n325874,\n326861,\n326894,\n326925,\n326958,\n326989,\n327022,\n327053,\n327086,\n327117,\n327150,\n327186,\n327701,\n335890,\n340077,\n340110,\n340141,\n340174,\n340205,\n340238,\n340269,\n340302,\n340333,\n340366,\n340397,\n340430,\n340461,\n340494,\n340525,\n340558,\n340589,\n340622,\n340653,\n340686,\n340717,\n340750,\n340786,\n342797,\n342830,\n342861,\n342894,\n342930,\n343949,\n343982,\n344018,\n352277,\n353810,\n354485,\n354546,\n354741,\n355997,\n356053,\n357085,\n357141,\n358717,\n358741,\n360445,\n360448,\n361981,\n361985,\n363517,\n363520,\n363553,\n363584,\n363681,\n363744,\n363777,\n363808,\n363841,\n363872,\n363905,\n363936,\n364065,\n364096,\n364129,\n364192,\n364225,\n364419,\n364480,\n364577,\n364608,\n364641,\n364672,\n364705,\n364736,\n364769,\n364800,\n364833,\n364864,\n364897,\n364928,\n364961,\n364992,\n365025,\n365056,\n365089,\n365120,\n365153,\n365184,\n365217,\n365248,\n365281,\n365312,\n365345,\n365376,\n365409,\n365440,\n365473,\n365504,\n365537,\n365568,\n365601,\n365632,\n365665,\n365696,\n365729,\n365760,\n365793,\n365824,\n365857,\n365888,\n365921,\n365952,\n365985,\n366016,\n366049,\n366080,\n366113,\n366144,\n366177,\n366208,\n366241,\n366272,\n366305,\n366336,\n366369,\n366400,\n366433,\n366464,\n366497,\n366528,\n366561,\n366592,\n366625,\n366656,\n366689,\n366720,\n366753,\n366784,\n366817,\n366848,\n366881,\n366912,\n366945,\n366976,\n367009,\n367040,\n367073,\n367104,\n367137,\n367168,\n367201,\n367232,\n367265,\n367296,\n367329,\n367360,\n367393,\n367424,\n367457,\n367488,\n367521,\n367552,\n367585,\n367616,\n367649,\n367680,\n367713,\n367797,\n367968,\n368001,\n368032,\n368065,\n368101,\n368192,\n368225,\n368285,\n368433,\n368554,\n368593,\n368641,\n369885,\n369889,\n369949,\n370081,\n370141,\n370180,\n371997,\n372195,\n372241,\n372285,\n372709,\n372740,\n373501,\n373764,\n374013,\n374020,\n374269,\n374276,\n374525,\n374532,\n374781,\n374788,\n375037,\n375044,\n375293,\n375300,\n375549,\n375556,\n375805,\n375813,\n376849,\n376911,\n376944,\n376975,\n377008,\n377041,\n377135,\n377168,\n377201,\n377231,\n377264,\n377297,\n377580,\n377617,\n377676,\n377713,\n377743,\n377776,\n377809,\n377871,\n377904,\n377933,\n377966,\n377997,\n378030,\n378061,\n378094,\n378125,\n378158,\n378193,\n378339,\n378385,\n378700,\n378769,\n378892,\n378929,\n378957,\n378993,\n379389,\n380949,\n381789,\n381813,\n384669,\n385045,\n391901,\n392725,\n393117,\n393238,\n393265,\n393365,\n393379,\n393412,\n393449,\n393485,\n393518,\n393549,\n393582,\n393613,\n393646,\n393677,\n393710,\n393741,\n393774,\n393813,\n393869,\n393902,\n393933,\n393966,\n393997,\n394030,\n394061,\n394094,\n394124,\n394157,\n394190,\n394261,\n394281,\n394565,\n394694,\n394764,\n394787,\n394965,\n395017,\n395107,\n395140,\n395185,\n395221,\n395293,\n395300,\n398077,\n398117,\n398196,\n398243,\n398308,\n398348,\n398372,\n401265,\n401283,\n401380,\n401437,\n401572,\n402973,\n402980,\n406013,\n406037,\n406090,\n406229,\n406532,\n407421,\n407573,\n408733,\n409092,\n409621,\n410621,\n410634,\n410965,\n411914,\n412181,\n412202,\n412693,\n413706,\n414037,\n415274,\n415765,\n417789,\n417813,\n425988,\n636637,\n636949,\n638980,\n1310237,\n1310724,\n1311395,\n1311428,\n1348029,\n1348117,\n1349885,\n1350148,\n1351427,\n1351633,\n1351684,\n1360259,\n1360305,\n1360388,\n1360904,\n1361220,\n1361309,\n1361920,\n1361953,\n1361984,\n1362017,\n1362048,\n1362081,\n1362112,\n1362145,\n1362176,\n1362209,\n1362240,\n1362273,\n1362304,\n1362337,\n1362368,\n1362401,\n1362432,\n1362465,\n1362496,\n1362529,\n1362560,\n1362593,\n1362624,\n1362657,\n1362688,\n1362721,\n1362752,\n1362785,\n1362816,\n1362849,\n1362880,\n1362913,\n1362944,\n1362977,\n1363008,\n1363041,\n1363072,\n1363105,\n1363136,\n1363169,\n1363200,\n1363233,\n1363264,\n1363297,\n1363328,\n1363361,\n1363396,\n1363429,\n1363463,\n1363569,\n1363589,\n1363921,\n1363939,\n1363968,\n1364001,\n1364032,\n1364065,\n1364096,\n1364129,\n1364160,\n1364193,\n1364224,\n1364257,\n1364288,\n1364321,\n1364352,\n1364385,\n1364416,\n1364449,\n1364480,\n1364513,\n1364544,\n1364577,\n1364608,\n1364641,\n1364672,\n1364705,\n1364736,\n1364769,\n1364800,\n1364833,\n1364867,\n1364933,\n1364996,\n1367241,\n1367557,\n1367633,\n1367837,\n1368084,\n1368803,\n1369108,\n1369152,\n1369185,\n1369216,\n1369249,\n1369280,\n1369313,\n1369344,\n1369377,\n1369408,\n1369441,\n1369472,\n1369505,\n1369536,\n1369569,\n1369664,\n1369697,\n1369728,\n1369761,\n1369792,\n1369825,\n1369856,\n1369889,\n1369920,\n1369953,\n1369984,\n1370017,\n1370048,\n1370081,\n1370112,\n1370145,\n1370176,\n1370209,\n1370240,\n1370273,\n1370304,\n1370337,\n1370368,\n1370401,\n1370432,\n1370465,\n1370496,\n1370529,\n1370560,\n1370593,\n1370624,\n1370657,\n1370688,\n1370721,\n1370752,\n1370785,\n1370816,\n1370849,\n1370880,\n1370913,\n1370944,\n1370977,\n1371008,\n1371041,\n1371072,\n1371105,\n1371136,\n1371169,\n1371200,\n1371233,\n1371264,\n1371297,\n1371328,\n1371361,\n1371392,\n1371425,\n1371456,\n1371489,\n1371520,\n1371553,\n1371584,\n1371617,\n1371651,\n1371681,\n1371936,\n1371969,\n1372000,\n1372033,\n1372064,\n1372129,\n1372160,\n1372193,\n1372224,\n1372257,\n1372288,\n1372321,\n1372352,\n1372385,\n1372419,\n1372468,\n1372512,\n1372545,\n1372576,\n1372609,\n1372644,\n1372672,\n1372705,\n1372736,\n1372769,\n1372864,\n1372897,\n1372928,\n1372961,\n1372992,\n1373025,\n1373056,\n1373089,\n1373120,\n1373153,\n1373184,\n1373217,\n1373248,\n1373281,\n1373312,\n1373345,\n1373376,\n1373409,\n1373440,\n1373473,\n1373504,\n1373665,\n1373696,\n1373857,\n1373888,\n1373921,\n1373952,\n1373985,\n1374045,\n1375972,\n1376003,\n1376065,\n1376100,\n1376325,\n1376356,\n1376453,\n1376484,\n1376613,\n1376644,\n1377382,\n1377445,\n1377510,\n1377557,\n1377693,\n1377802,\n1378005,\n1378067,\n1378101,\n1378141,\n1378308,\n1379985,\n1380125,\n1380358,\n1380420,\n1382022,\n1382533,\n1382621,\n1382865,\n1382920,\n1383261,\n1383429,\n1384004,\n1384209,\n1384292,\n1384337,\n1384356,\n1384421,\n1384456,\n1384772,\n1385669,\n1385937,\n1385988,\n1386725,\n1387078,\n1387165,\n1387505,\n1387524,\n1388477,\n1388549,\n1388646,\n1388676,\n1390181,\n1390214,\n1390277,\n1390406,\n1390469,\n1390502,\n1390641,\n1391069,\n1391075,\n1391112,\n1391453,\n1391569,\n1391620,\n1391781,\n1391811,\n1391844,\n1392136,\n1392452,\n1392637,\n1392644,\n1393957,\n1394150,\n1394213,\n1394278,\n1394341,\n1394429,\n1394692,\n1394789,\n1394820,\n1395077,\n1395110,\n1395165,\n1395208,\n1395549,\n1395601,\n1395716,\n1396227,\n1396260,\n1396469,\n1396548,\n1396582,\n1396613,\n1396646,\n1396676,\n1398277,\n1398308,\n1398341,\n1398436,\n1398501,\n1398564,\n1398725,\n1398788,\n1398821,\n1398852,\n1398909,\n1399652,\n1399715,\n1399761,\n1399812,\n1400166,\n1400197,\n1400262,\n1400337,\n1400388,\n1400419,\n1400486,\n1400517,\n1400573,\n1400868,\n1401085,\n1401124,\n1401341,\n1401380,\n1401597,\n1401860,\n1402109,\n1402116,\n1402365,\n1402369,\n1403764,\n1403779,\n1403905,\n1404125,\n1404417,\n1406980,\n1408102,\n1408165,\n1408198,\n1408261,\n1408294,\n1408369,\n1408390,\n1408421,\n1408477,\n1408520,\n1408861,\n1409028,\n1766557,\n1766916,\n1767677,\n1767780,\n1769373,\n1769499,\n1835036,\n2039812,\n2051549,\n2051588,\n2055005,\n2056193,\n2056445,\n2056801,\n2056989,\n2057124,\n2057157,\n2057188,\n2057522,\n2057540,\n2057981,\n2057988,\n2058173,\n2058180,\n2058237,\n2058244,\n2058333,\n2058340,\n2058429,\n2058436,\n2061908,\n2062429,\n2062948,\n2074574,\n2074605,\n2074653,\n2075140,\n2077213,\n2077252,\n2079005,\n2080260,\n2080659,\n2080693,\n2080733,\n2080773,\n2081297,\n2081517,\n2081550,\n2081585,\n2081629,\n2081797,\n2082321,\n2082348,\n2082411,\n2082477,\n2082510,\n2082541,\n2082574,\n2082605,\n2082638,\n2082669,\n2082702,\n2082733,\n2082766,\n2082797,\n2082830,\n2082861,\n2082894,\n2082925,\n2082958,\n2082993,\n2083053,\n2083086,\n2083121,\n2083243,\n2083345,\n2083453,\n2083473,\n2083596,\n2083629,\n2083662,\n2083693,\n2083726,\n2083757,\n2083790,\n2083825,\n2083922,\n2083948,\n2083986,\n2084093,\n2084113,\n2084147,\n2084177,\n2084253,\n2084356,\n2084541,\n2084548,\n2088893,\n2088954,\n2088989,\n2089009,\n2089107,\n2089137,\n2089229,\n2089262,\n2089297,\n2089330,\n2089361,\n2089388,\n2089425,\n2089480,\n2089809,\n2089874,\n2089969,\n2090016,\n2090861,\n2090897,\n2090926,\n2090964,\n2090987,\n2091028,\n2091041,\n2091885,\n2091922,\n2091950,\n2091986,\n2092013,\n2092046,\n2092081,\n2092109,\n2092142,\n2092177,\n2092228,\n2092547,\n2092580,\n2094019,\n2094084,\n2095101,\n2095172,\n2095389,\n2095428,\n2095645,\n2095684,\n2095901,\n2095940,\n2096061,\n2096147,\n2096210,\n2096244,\n2096277,\n2096307,\n2096381,\n2096405,\n2096434,\n2096565,\n2096637,\n2096954,\n2097045,\n2097117,\n2097156,\n2097565,\n2097572,\n2098429,\n2098436,\n2099069,\n2099076,\n2099165,\n2099172,\n2099677,\n2099716,\n2100189,\n2101252,\n2105213,\n2105361,\n2105469,\n2105578,\n2107037,\n2107125,\n2107401,\n2109098,\n2109237,\n2109770,\n2109845,\n2109949,\n2109973,\n2110365,\n2110485,\n2110525,\n2112021,\n2113445,\n2113501,\n2117636,\n2118589,\n2118660,\n2120253,\n2120709,\n2120746,\n2121629,\n2121732,\n2122762,\n2122909,\n2123172,\n2123817,\n2123844,\n2124105,\n2124157,\n2124292,\n2125509,\n2125693,\n2125828,\n2126813,\n2126833,\n2126852,\n2128029,\n2128132,\n2128401,\n2128425,\n2128605,\n2129920,\n2131201,\n2132484,\n2135005,\n2135048,\n2135389,\n2135552,\n2136733,\n2136833,\n2138013,\n2138116,\n2139421,\n2139652,\n2141341,\n2141681,\n2141725,\n2146308,\n2156285,\n2156548,\n2157277,\n2157572,\n2157853,\n2162692,\n2162909,\n2162948,\n2163005,\n2163012,\n2164445,\n2164452,\n2164541,\n2164612,\n2164669,\n2164708,\n2165469,\n2165489,\n2165514,\n2165764,\n2166517,\n2166570,\n2166788,\n2167805,\n2168042,\n2168349,\n2169860,\n2170493,\n2170500,\n2170589,\n2170730,\n2170884,\n2171594,\n2171805,\n2171889,\n2171908,\n2172765,\n2172913,\n2172957,\n2174980,\n2176797,\n2176906,\n2176964,\n2177034,\n2177565,\n2177610,\n2179076,\n2179109,\n2179229,\n2179237,\n2179325,\n2179461,\n2179588,\n2179741,\n2179748,\n2179869,\n2179876,\n2180829,\n2180869,\n2180989,\n2181093,\n2181130,\n2181437,\n2181649,\n2181949,\n2182148,\n2183082,\n2183153,\n2183172,\n2184106,\n2184221,\n2185220,\n2185493,\n2185508,\n2186405,\n2186493,\n2186602,\n2186769,\n2187005,\n2187268,\n2189021,\n2189105,\n2189316,\n2190045,\n2190090,\n2190340,\n2190973,\n2191114,\n2191364,\n2191965,\n2192177,\n2192317,\n2192682,\n2192925,\n2195460,\n2197821,\n2199552,\n2201213,\n2201601,\n2203261,\n2203466,\n2203652,\n2204805,\n2204957,\n2205192,\n2205533,\n2214922,\n2215933,\n2220036,\n2220970,\n2221284,\n2221341,\n2221572,\n2222277,\n2222634,\n2222769,\n2222941,\n2228230,\n2228261,\n2228294,\n2228324,\n2230021,\n2230513,\n2230749,\n2230858,\n2231496,\n2231837,\n2232293,\n2232390,\n2232420,\n2233862,\n2233957,\n2234086,\n2234149,\n2234225,\n2234298,\n2234321,\n2234461,\n2234810,\n2234845,\n2234884,\n2235709,\n2235912,\n2236253,\n2236421,\n2236516,\n2237669,\n2237830,\n2237861,\n2238141,\n2238152,\n2238481,\n2238596,\n2238630,\n2238717,\n2238980,\n2240101,\n2240145,\n2240196,\n2240253,\n2240517,\n2240582,\n2240612,\n2242150,\n2242245,\n2242534,\n2242596,\n2242737,\n2242853,\n2242993,\n2243037,\n2243080,\n2243396,\n2243441,\n2243460,\n2243505,\n2243613,\n2243626,\n2244285,\n2244612,\n2245213,\n2245220,\n2246022,\n2246117,\n2246214,\n2246277,\n2246310,\n2246341,\n2246417,\n2246597,\n2246653,\n2248708,\n2248957,\n2248964,\n2249021,\n2249028,\n2249181,\n2249188,\n2249693,\n2249700,\n2250033,\n2250077,\n2250244,\n2251749,\n2251782,\n2251877,\n2252157,\n2252296,\n2252637,\n2252805,\n2252870,\n2252957,\n2252964,\n2253245,\n2253284,\n2253373,\n2253412,\n2254141,\n2254148,\n2254397,\n2254404,\n2254493,\n2254500,\n2254685,\n2254693,\n2254756,\n2254790,\n2254853,\n2254886,\n2255037,\n2255078,\n2255165,\n2255206,\n2255325,\n2255364,\n2255421,\n2255590,\n2255645,\n2255780,\n2255942,\n2256029,\n2256069,\n2256317,\n2256389,\n2256573,\n2260996,\n2262694,\n2262789,\n2263046,\n2263109,\n2263206,\n2263237,\n2263268,\n2263409,\n2263560,\n2263901,\n2263921,\n2263965,\n2263985,\n2264005,\n2264061,\n2265092,\n2266630,\n2266725,\n2266918,\n2266949,\n2266982,\n2267109,\n2267174,\n2267205,\n2267268,\n2267345,\n2267364,\n2267421,\n2267656,\n2267997,\n2273284,\n2274790,\n2274885,\n2275037,\n2275078,\n2275205,\n2275270,\n2275301,\n2275377,\n2276100,\n2276229,\n2276317,\n2277380,\n2278918,\n2279013,\n2279270,\n2279333,\n2279366,\n2279397,\n2279473,\n2279556,\n2279613,\n2279944,\n2280285,\n2280465,\n2280893,\n2281476,\n2282853,\n2282886,\n2282917,\n2282950,\n2283013,\n2283206,\n2283237,\n2283293,\n2283528,\n2283869,\n2285572,\n2286461,\n2286501,\n2286598,\n2286661,\n2286790,\n2286821,\n2287005,\n2287112,\n2287434,\n2287505,\n2287605,\n2287645,\n2293764,\n2295174,\n2295269,\n2295558,\n2295589,\n2295665,\n2295709,\n2298880,\n2299905,\n2300936,\n2301258,\n2301565,\n2301924,\n2301981,\n2310148,\n2310181,\n2310500,\n2311781,\n2311974,\n2312004,\n2312037,\n2312177,\n2312421,\n2312477,\n2312708,\n2312741,\n2312934,\n2312997,\n2313092,\n2314397,\n2314436,\n2314565,\n2314982,\n2315013,\n2315089,\n2315172,\n2315217,\n2315389,\n2316292,\n2318141,\n2326532,\n2326845,\n2326852,\n2328038,\n2328069,\n2328317,\n2328325,\n2328518,\n2328549,\n2328580,\n2328625,\n2328797,\n2329096,\n2329418,\n2330045,\n2330129,\n2330180,\n2331165,\n2331205,\n2331933,\n2331942,\n2331973,\n2332198,\n2332229,\n2332294,\n2332325,\n2332413,\n2334724,\n2334973,\n2334980,\n2335069,\n2335076,\n2336293,\n2336509,\n2336581,\n2336637,\n2336645,\n2336733,\n2336741,\n2336964,\n2336997,\n2337053,\n2337288,\n2337629,\n2337796,\n2338013,\n2338020,\n2338109,\n2338116,\n2339142,\n2339325,\n2339333,\n2339421,\n2339430,\n2339493,\n2339526,\n2339557,\n2339588,\n2339645,\n2339848,\n2340189,\n2350084,\n2350693,\n2350758,\n2350833,\n2350909,\n2359300,\n2388829,\n2392073,\n2395645,\n2395665,\n2395837,\n2396164,\n2402461,\n2490372,\n2524669,\n2654212,\n2672893,\n2949124,\n2967357,\n2967556,\n2968573,\n2968584,\n2968925,\n2969041,\n2969117,\n2972164,\n2973149,\n2973189,\n2973361,\n2973405,\n2973700,\n2975237,\n2975473,\n2975637,\n2975747,\n2975889,\n2975925,\n2975965,\n2976264,\n2976605,\n2976618,\n2976861,\n2976868,\n2977565,\n2977700,\n2978333,\n3000320,\n3001345,\n3002378,\n3003121,\n3003261,\n3006468,\n3008701,\n3009028,\n3009062,\n3010557,\n3011045,\n3011171,\n3011613,\n3013635,\n3013725,\n3014660,\n3210845,\n3211268,\n3235453,\n3538948,\n3548157,\n3550724,\n3563421,\n3637252,\n3640701,\n3640836,\n3641277,\n3641348,\n3641661,\n3641860,\n3642205,\n3642261,\n3642277,\n3642353,\n3642394,\n3642525,\n3801109,\n3808989,\n3809301,\n3810557,\n3810613,\n3812518,\n3812581,\n3812693,\n3812774,\n3812986,\n3813221,\n3813493,\n3813541,\n3813781,\n3814725,\n3814869,\n3816765,\n3817493,\n3819589,\n3819701,\n3819741,\n3824650,\n3825309,\n3825685,\n3828477,\n3828746,\n3829565,\n3833856,\n3834689,\n3835520,\n3836353,\n3836605,\n3836609,\n3837184,\n3838017,\n3838848,\n3838909,\n3838912,\n3839005,\n3839040,\n3839101,\n3839136,\n3839229,\n3839264,\n3839421,\n3839424,\n3839681,\n3839837,\n3839841,\n3839901,\n3839905,\n3840157,\n3840161,\n3840512,\n3841345,\n3842176,\n3842269,\n3842272,\n3842429,\n3842464,\n3842749,\n3842752,\n3843005,\n3843009,\n3843840,\n3843933,\n3843936,\n3844093,\n3844096,\n3844285,\n3844288,\n3844349,\n3844416,\n3844669,\n3844673,\n3845504,\n3846337,\n3847168,\n3848001,\n3848832,\n3849665,\n3850496,\n3851329,\n3852160,\n3852993,\n3853824,\n3854657,\n3855581,\n3855616,\n3856434,\n3856449,\n3857266,\n3857281,\n3857472,\n3858290,\n3858305,\n3859122,\n3859137,\n3859328,\n3860146,\n3860161,\n3860978,\n3860993,\n3861184,\n3862002,\n3862017,\n3862834,\n3862849,\n3863040,\n3863858,\n3863873,\n3864690,\n3864705,\n3864896,\n3864929,\n3864989,\n3865032,\n3866645,\n3883013,\n3884789,\n3884901,\n3886517,\n3886757,\n3886805,\n3887237,\n3887285,\n3887345,\n3887517,\n3887973,\n3888157,\n3888165,\n3888669,\n3932165,\n3932413,\n3932421,\n3932989,\n3933029,\n3933277,\n3933285,\n3933373,\n3933381,\n3933565,\n3997700,\n4004029,\n4004074,\n4004357,\n4004605,\n4005888,\n4006977,\n4008069,\n4008317,\n4008456,\n4008797,\n4008913,\n4008989,\n4034090,\n4035989,\n4036010,\n4036115,\n4036138,\n4036285,\n4046852,\n4047005,\n4047012,\n4047901,\n4047908,\n4047997,\n4048004,\n4048061,\n4048100,\n4048157,\n4048164,\n4048509,\n4048516,\n4048669,\n4048676,\n4048733,\n4048740,\n4048797,\n4048964,\n4049021,\n4049124,\n4049181,\n4049188,\n4049245,\n4049252,\n4049309,\n4049316,\n4049437,\n4049444,\n4049533,\n4049540,\n4049597,\n4049636,\n4049693,\n4049700,\n4049757,\n4049764,\n4049821,\n4049828,\n4049885,\n4049892,\n4049949,\n4049956,\n4050045,\n4050052,\n4050109,\n4050148,\n4050301,\n4050308,\n4050557,\n4050564,\n4050717,\n4050724,\n4050877,\n4050884,\n4050941,\n4050948,\n4051293,\n4051300,\n4051869,\n4052004,\n4052125,\n4052132,\n4052317,\n4052324,\n4052893,\n4054546,\n4054621,\n4063253,\n4064669,\n4064789,\n4067997,\n4068373,\n4068861,\n4068917,\n4069405,\n4069429,\n4069917,\n4069941,\n4071133,\n4071434,\n4071869,\n4071957,\n4074909,\n4075029,\n4076989,\n4078805,\n4079741,\n4080149,\n4081565,\n4081685,\n4081981,\n4082197,\n4082269,\n4082709,\n4082909,\n4087829,\n4095860,\n4096021,\n4119229,\n4119573,\n4119997,\n4120085,\n4120413,\n4120597,\n4124317,\n4124693,\n4127549,\n4128789,\n4129181,\n4129301,\n4131101,\n4131349,\n4131677,\n4131861,\n4133149,\n4133397,\n4134365,\n4136981,\n4137373,\n4137493,\n4139005,\n4139029,\n4140605,\n4140661,\n4140797,\n4140885,\n4140925,\n4140949,\n4142205,\n4142613,\n4142941,\n4143125,\n4143229,\n4143637,\n4145181,\n4148245,\n4148701,\n4194308,\n5561085,\n5562372,\n5695165,\n5695492,\n5702621,\n5702660,\n5887069,\n5887492,\n6126653,\n6225924,\n6243293,\n29360186,\n29360221,\n29361178,\n29364253,\n29368325,\n29376029,\n31457308,\n33554397,\n33554460,\n35651549,\n//--Autogenerated -- end of section automatically generated\n};\n\nconst int maxUnicode = 0x10ffff;\nconst int maskCategory = 0x1F;\n\n}\n\n// Each element in catRanges is the start of a range of Unicode characters in\n// one general category.\n// The value is comprised of a 21-bit character value shifted 5 bits and a 5 bit\n// category matching the CharacterCategory enumeration.\n// Initial version has 3249 entries and adds about 13K to the executable.\n// The array is in ascending order so can be searched using binary search.\n// Therefore the average call takes log2(3249) = 12 comparisons.\n// For speed, it may be useful to make a linear table for the common values,\n// possibly for 0..0xff for most Western European text or 0..0xfff for most\n// alphabetic languages.\n\nCharacterCategory CategoriseCharacter(int character) {\n\tif (character < 0 || character > maxUnicode)\n\t\treturn ccCn;\n\tconst int baseValue = character * (maskCategory+1) + maskCategory;\n\tconst int *placeAfter = std::lower_bound(catRanges, std::end(catRanges), baseValue);\n\treturn static_cast<CharacterCategory>(*(placeAfter-1) & maskCategory);\n}\n\n// Implementation of character sets recommended for identifiers in Unicode Standard Annex #31.\n// http://unicode.org/reports/tr31/\n\nnamespace {\n\nenum class OtherID { oidNone, oidStart, oidContinue };\n\n// Some characters are treated as valid for identifiers even\n// though most characters from their category are not.\n// Values copied from http://www.unicode.org/Public/9.0.0/ucd/PropList.txt\nOtherID OtherIDOfCharacter(int character) {\n\tif (\n\t\t(character == 0x1885) ||\t// MONGOLIAN LETTER ALI GALI BALUDA\n\t\t(character == 0x1886) ||\t// MONGOLIAN LETTER ALI GALI THREE BALUDA\n\t\t(character == 0x2118) ||\t// SCRIPT CAPITAL P\n\t\t(character == 0x212E) ||\t// ESTIMATED SYMBOL\n\t\t(character == 0x309B) ||\t// KATAKANA-HIRAGANA VOICED SOUND MARK\n\t\t(character == 0x309C)) {\t// KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\n\t\treturn OtherID::oidStart;\n\t} else if (\n\t\t(character == 0x00B7) ||\t// MIDDLE DOT\n\t\t(character == 0x0387) ||\t// GREEK ANO TELEIA\n\t\t((character >= 0x1369) && (character <= 0x1371)) ||\t// ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE\n\t\t(character == 0x19DA)) {\t// NEW TAI LUE THAM DIGIT ONE\n\t\treturn OtherID::oidContinue;\n\t} else {\n\t\treturn OtherID::oidNone;\n\t}\n}\n\n// Determine if a character is in  Ll|Lu|Lt|Lm|Lo|Nl|Mn|Mc|Nd|Pc and has\n// Pattern_Syntax|Pattern_White_Space.\n// As of Unicode 9, only VERTICAL TILDE which is in Lm and has Pattern_Syntax matches.\n// Should really generate from PropList.txt a list of Pattern_Syntax and Pattern_White_Space.\nbool IsIdPattern(int character) {\n\treturn character == 0x2E2F;\n}\n\nbool OmitXidStart(int character) {\n\tswitch (character) {\n\tcase 0x037A:\t// GREEK YPOGEGRAMMENI\n\tcase 0x0E33:\t// THAI CHARACTER SARA AM\n\tcase 0x0EB3:\t// LAO VOWEL SIGN AM\n\tcase 0x309B:\t// KATAKANA-HIRAGANA VOICED SOUND MARK\n\tcase 0x309C:\t// KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\n\tcase 0xFC5E:\t// ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM\n\tcase 0xFC5F:\t// ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM\n\tcase 0xFC60:\t// ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM\n\tcase 0xFC61:\t// ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM\n\tcase 0xFC62:\t// ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM\n\tcase 0xFC63:\t// ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM\n\tcase 0xFDFA:\t// ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM\n\tcase 0xFDFB:\t// ARABIC LIGATURE JALLAJALALOUHOU\n\tcase 0xFE70:\t// ARABIC FATHATAN ISOLATED FORM\n\tcase 0xFE72:\t// ARABIC DAMMATAN ISOLATED FORM\n\tcase 0xFE74:\t// ARABIC KASRATAN ISOLATED FORM\n\tcase 0xFE76:\t// ARABIC FATHA ISOLATED FORM\n\tcase 0xFE78:\t// ARABIC DAMMA ISOLATED FORM\n\tcase 0xFE7A:\t// ARABIC KASRA ISOLATED FORM\n\tcase 0xFE7C:\t// ARABIC SHADDA ISOLATED FORM\n\tcase 0xFE7E:\t// ARABIC SUKUN ISOLATED FORM\n\tcase 0xFF9E:\t// HALFWIDTH KATAKANA VOICED SOUND MARK\n\tcase 0xFF9F:\t// HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK\n\t\treturn true;\n\tdefault:\n\t\treturn false;\n\t}\n}\n\nbool OmitXidContinue(int character) {\n\tswitch (character) {\n\tcase 0x037A:\t// GREEK YPOGEGRAMMENI\n\tcase 0x309B:\t// KATAKANA-HIRAGANA VOICED SOUND MARK\n\tcase 0x309C:\t// KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK\n\tcase 0xFC5E:\t// ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM\n\tcase 0xFC5F:\t// ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM\n\tcase 0xFC60:\t// ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM\n\tcase 0xFC61:\t// ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM\n\tcase 0xFC62:\t// ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM\n\tcase 0xFC63:\t// ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM\n\tcase 0xFDFA:\t// ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM\n\tcase 0xFDFB:\t// ARABIC LIGATURE JALLAJALALOUHOU\n\tcase 0xFE70:\t// ARABIC FATHATAN ISOLATED FORM\n\tcase 0xFE72:\t// ARABIC DAMMATAN ISOLATED FORM\n\tcase 0xFE74:\t// ARABIC KASRATAN ISOLATED FORM\n\tcase 0xFE76:\t// ARABIC FATHA ISOLATED FORM\n\tcase 0xFE78:\t// ARABIC DAMMA ISOLATED FORM\n\tcase 0xFE7A:\t// ARABIC KASRA ISOLATED FORM\n\tcase 0xFE7C:\t// ARABIC SHADDA ISOLATED FORM\n\tcase 0xFE7E:\t// ARABIC SUKUN ISOLATED FORM\n\t\treturn true;\n\tdefault:\n\t\treturn false;\n\t}\n}\n\n}\n\n// UAX #31 defines ID_Start as\n// [[:L:][:Nl:][:Other_ID_Start:]--[:Pattern_Syntax:]--[:Pattern_White_Space:]]\nbool IsIdStart(int character) {\n\tif (IsIdPattern(character)) {\n\t\treturn false;\n\t}\n\tconst OtherID oid = OtherIDOfCharacter(character);\n\tif (oid == OtherID::oidStart) {\n\t\treturn true;\n\t}\n\tconst CharacterCategory c = CategoriseCharacter(character);\n\treturn (c == ccLl || c == ccLu || c == ccLt || c == ccLm || c == ccLo\n\t\t|| c == ccNl);\n}\n\n// UAX #31 defines ID_Continue as\n// [[:ID_Start:][:Mn:][:Mc:][:Nd:][:Pc:][:Other_ID_Continue:]--[:Pattern_Syntax:]--[:Pattern_White_Space:]]\nbool IsIdContinue(int character) {\n\tif (IsIdPattern(character)) {\n\t\treturn false;\n\t}\n\tconst OtherID oid = OtherIDOfCharacter(character);\n\tif (oid != OtherID::oidNone) {\n\t\treturn true;\n\t}\n\tconst CharacterCategory c = CategoriseCharacter(character);\n\treturn (c == ccLl || c == ccLu || c == ccLt || c == ccLm || c == ccLo\n\t\t|| c == ccNl || c == ccMn || c == ccMc || c == ccNd || c == ccPc);\n}\n\n// XID_Start is ID_Start modified for Normalization Form KC in UAX #31\nbool IsXidStart(int character) {\n\tif (OmitXidStart(character)) {\n\t\treturn false;\n\t} else {\n\t\treturn IsIdStart(character);\n\t}\n}\n\n// XID_Continue is ID_Continue modified for Normalization Form KC in UAX #31\nbool IsXidContinue(int character) {\n\tif (OmitXidContinue(character)) {\n\t\treturn false;\n\t} else {\n\t\treturn IsIdContinue(character);\n\t}\n}\n\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/CharacterCategory.h",
    "content": "// Scintilla source code edit control\n/** @file CharacterCategory.h\n ** Returns the Unicode general category of a character.\n **/\n// Copyright 2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CHARACTERCATEGORY_H\n#define CHARACTERCATEGORY_H\n\nnamespace Scintilla {\n\nenum CharacterCategory {\n\tccLu, ccLl, ccLt, ccLm, ccLo,\n\tccMn, ccMc, ccMe,\n\tccNd, ccNl, ccNo,\n\tccPc, ccPd, ccPs, ccPe, ccPi, ccPf, ccPo,\n\tccSm, ccSc, ccSk, ccSo,\n\tccZs, ccZl, ccZp,\n\tccCc, ccCf, ccCs, ccCo, ccCn\n};\n\nCharacterCategory CategoriseCharacter(int character);\n\n// Common definitions of allowable characters in identifiers from UAX #31.\nbool IsIdStart(int character);\nbool IsIdContinue(int character);\nbool IsXidStart(int character);\nbool IsXidContinue(int character);\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/CharacterSet.cpp",
    "content": "// Scintilla source code edit control\n/** @file CharacterSet.cxx\n ** Simple case functions for ASCII.\n ** Lexer infrastructure.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n\n#include \"CharacterSet.h\"\n\nusing namespace Scintilla;\n\nnamespace Scintilla {\n\nint CompareCaseInsensitive(const char *a, const char *b) {\n\twhile (*a && *b) {\n\t\tif (*a != *b) {\n\t\t\tconst char upperA = MakeUpperCase(*a);\n\t\t\tconst char upperB = MakeUpperCase(*b);\n\t\t\tif (upperA != upperB)\n\t\t\t\treturn upperA - upperB;\n\t\t}\n\t\ta++;\n\t\tb++;\n\t}\n\t// Either *a or *b is nul\n\treturn *a - *b;\n}\n\nint CompareNCaseInsensitive(const char *a, const char *b, size_t len) {\n\twhile (*a && *b && len) {\n\t\tif (*a != *b) {\n\t\t\tconst char upperA = MakeUpperCase(*a);\n\t\t\tconst char upperB = MakeUpperCase(*b);\n\t\t\tif (upperA != upperB)\n\t\t\t\treturn upperA - upperB;\n\t\t}\n\t\ta++;\n\t\tb++;\n\t\tlen--;\n\t}\n\tif (len == 0)\n\t\treturn 0;\n\telse\n\t\t// Either *a or *b is nul\n\t\treturn *a - *b;\n}\n\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/CharacterSet.h",
    "content": "// Scintilla source code edit control\n/** @file CharacterSet.h\n ** Encapsulates a set of characters. Used to test if a character is within a set.\n **/\n// Copyright 2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CHARACTERSET_H\n#define CHARACTERSET_H\n\nnamespace Scintilla {\n\nclass CharacterSet {\n\tint size;\n\tbool valueAfter;\n\tbool *bset;\npublic:\n\tenum setBase {\n\t\tsetNone=0,\n\t\tsetLower=1,\n\t\tsetUpper=2,\n\t\tsetDigits=4,\n\t\tsetAlpha=setLower|setUpper,\n\t\tsetAlphaNum=setAlpha|setDigits\n\t};\n\tCharacterSet(setBase base=setNone, const char *initialSet=\"\", int size_=0x80, bool valueAfter_=false) {\n\t\tsize = size_;\n\t\tvalueAfter = valueAfter_;\n\t\tbset = new bool[size];\n\t\tfor (int i=0; i < size; i++) {\n\t\t\tbset[i] = false;\n\t\t}\n\t\tAddString(initialSet);\n\t\tif (base & setLower)\n\t\t\tAddString(\"abcdefghijklmnopqrstuvwxyz\");\n\t\tif (base & setUpper)\n\t\t\tAddString(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n\t\tif (base & setDigits)\n\t\t\tAddString(\"0123456789\");\n\t}\n\tCharacterSet(const CharacterSet &other) {\n\t\tsize = other.size;\n\t\tvalueAfter = other.valueAfter;\n\t\tbset = new bool[size];\n\t\tfor (int i=0; i < size; i++) {\n\t\t\tbset[i] = other.bset[i];\n\t\t}\n\t}\n\tCharacterSet &operator=(CharacterSet &&other) {\n\t\tif (this != &other) {\n\t\t\tdelete []bset;\n\t\t\tsize = other.size;\n\t\t\tvalueAfter = other.valueAfter;\n\t\t\tbset = other.bset;\n\t\t\tother.size = 0;\n\t\t\tother.bset = nullptr;\n\t\t}\n\t\treturn *this;\n\t}\n\t~CharacterSet() {\n\t\tdelete []bset;\n\t\tbset = nullptr;\n\t\tsize = 0;\n\t}\n\tCharacterSet &operator=(const CharacterSet &other) {\n\t\tif (this != &other) {\n\t\t\tbool *bsetNew = new bool[other.size];\n\t\t\tfor (int i=0; i < other.size; i++) {\n\t\t\t\tbsetNew[i] = other.bset[i];\n\t\t\t}\n\t\t\tdelete []bset;\n\t\t\tsize = other.size;\n\t\t\tvalueAfter = other.valueAfter;\n\t\t\tbset = bsetNew;\n\t\t}\n\t\treturn *this;\n\t}\n\tvoid Add(int val) {\n\t\tassert(val >= 0);\n\t\tassert(val < size);\n\t\tbset[val] = true;\n\t}\n\tvoid AddString(const char *setToAdd) {\n\t\tfor (const char *cp=setToAdd; *cp; cp++) {\n\t\t\tint val = static_cast<unsigned char>(*cp);\n\t\t\tassert(val >= 0);\n\t\t\tassert(val < size);\n\t\t\tbset[val] = true;\n\t\t}\n\t}\n\tbool Contains(int val) const {\n        // val being -ve is valid (or there is a sign extension bug elsewhere.\n\t\t//assert(val >= 0);\n\t\tif (val < 0) return false;\n\t\treturn (val < size) ? bset[val] : valueAfter;\n\t}\n};\n\n// Functions for classifying characters\n\ninline bool IsASpace(int ch) {\n    return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d));\n}\n\ninline bool IsASpaceOrTab(int ch) {\n\treturn (ch == ' ') || (ch == '\\t');\n}\n\ninline bool IsADigit(int ch) {\n\treturn (ch >= '0') && (ch <= '9');\n}\n\ninline bool IsADigit(int ch, int base) {\n\tif (base <= 10) {\n\t\treturn (ch >= '0') && (ch < '0' + base);\n\t} else {\n\t\treturn ((ch >= '0') && (ch <= '9')) ||\n\t\t       ((ch >= 'A') && (ch < 'A' + base - 10)) ||\n\t\t       ((ch >= 'a') && (ch < 'a' + base - 10));\n\t}\n}\n\ninline bool IsASCII(int ch) {\n\treturn (ch >= 0) && (ch < 0x80);\n}\n\ninline bool IsLowerCase(int ch) {\n\treturn (ch >= 'a') && (ch <= 'z');\n}\n\ninline bool IsUpperCase(int ch) {\n\treturn (ch >= 'A') && (ch <= 'Z');\n}\n\ninline bool IsAlphaNumeric(int ch) {\n\treturn\n\t\t((ch >= '0') && (ch <= '9')) ||\n\t\t((ch >= 'a') && (ch <= 'z')) ||\n\t\t((ch >= 'A') && (ch <= 'Z'));\n}\n\n/**\n * Check if a character is a space.\n * This is ASCII specific but is safe with chars >= 0x80.\n */\ninline bool isspacechar(int ch) {\n    return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d));\n}\n\ninline bool iswordchar(int ch) {\n\treturn IsAlphaNumeric(ch) || ch == '.' || ch == '_';\n}\n\ninline bool iswordstart(int ch) {\n\treturn IsAlphaNumeric(ch) || ch == '_';\n}\n\ninline bool isoperator(int ch) {\n\tif (IsAlphaNumeric(ch))\n\t\treturn false;\n\tif (ch == '%' || ch == '^' || ch == '&' || ch == '*' ||\n\t        ch == '(' || ch == ')' || ch == '-' || ch == '+' ||\n\t        ch == '=' || ch == '|' || ch == '{' || ch == '}' ||\n\t        ch == '[' || ch == ']' || ch == ':' || ch == ';' ||\n\t        ch == '<' || ch == '>' || ch == ',' || ch == '/' ||\n\t        ch == '?' || ch == '!' || ch == '.' || ch == '~')\n\t\treturn true;\n\treturn false;\n}\n\n// Simple case functions for ASCII supersets.\n\ntemplate <typename T>\ninline T MakeUpperCase(T ch) {\n\tif (ch < 'a' || ch > 'z')\n\t\treturn ch;\n\telse\n\t\treturn ch - 'a' + 'A';\n}\n\ntemplate <typename T>\ninline T MakeLowerCase(T ch) {\n\tif (ch < 'A' || ch > 'Z')\n\t\treturn ch;\n\telse\n\t\treturn ch - 'A' + 'a';\n}\n\nint CompareCaseInsensitive(const char *a, const char *b);\nint CompareNCaseInsensitive(const char *a, const char *b, size_t len);\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/DefaultLexer.cpp",
    "content": "// Scintilla source code edit control\n/** @file DefaultLexer.cxx\n ** A lexer base class that provides reasonable default behaviour.\n **/\n// Copyright 2017 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"LexerModule.h\"\n#include \"DefaultLexer.h\"\n\nusing namespace Scintilla;\n\nstatic const char styleSubable[] = { 0 };\n\nDefaultLexer::DefaultLexer(const LexicalClass *lexClasses_, size_t nClasses_) :\n\tlexClasses(lexClasses_), nClasses(nClasses_) {\n}\n\nDefaultLexer::~DefaultLexer() {\n}\n\nvoid SCI_METHOD DefaultLexer::Release() {\n\tdelete this;\n}\n\nint SCI_METHOD DefaultLexer::Version() const {\n\treturn lvMetaData;\n}\n\nconst char * SCI_METHOD DefaultLexer::PropertyNames() {\n\treturn \"\";\n}\n\nint SCI_METHOD DefaultLexer::PropertyType(const char *) {\n\treturn SC_TYPE_BOOLEAN;\n}\n\nconst char * SCI_METHOD DefaultLexer::DescribeProperty(const char *) {\n\treturn \"\";\n}\n\nSci_Position SCI_METHOD DefaultLexer::PropertySet(const char *, const char *) {\n\treturn -1;\n}\n\nconst char * SCI_METHOD DefaultLexer::DescribeWordListSets() {\n\treturn \"\";\n}\n\nSci_Position SCI_METHOD DefaultLexer::WordListSet(int, const char *) {\n\treturn -1;\n}\n\nvoid SCI_METHOD DefaultLexer::Fold(Sci_PositionU, Sci_Position, int, IDocument *) {\n}\n\nvoid * SCI_METHOD DefaultLexer::PrivateCall(int, void *) {\n\treturn nullptr;\n}\n\nint SCI_METHOD DefaultLexer::LineEndTypesSupported() {\n\treturn SC_LINE_END_TYPE_DEFAULT;\n}\n\nint SCI_METHOD DefaultLexer::AllocateSubStyles(int, int) {\n\treturn -1;\n}\n\nint SCI_METHOD DefaultLexer::SubStylesStart(int) {\n\treturn -1;\n}\n\nint SCI_METHOD DefaultLexer::SubStylesLength(int) {\n\treturn 0;\n}\n\nint SCI_METHOD DefaultLexer::StyleFromSubStyle(int subStyle) {\n\treturn subStyle;\n}\n\nint SCI_METHOD DefaultLexer::PrimaryStyleFromStyle(int style) {\n\treturn style;\n}\n\nvoid SCI_METHOD DefaultLexer::FreeSubStyles() {\n}\n\nvoid SCI_METHOD DefaultLexer::SetIdentifiers(int, const char *) {\n}\n\nint SCI_METHOD DefaultLexer::DistanceToSecondaryStyles() {\n\treturn 0;\n}\n\nconst char * SCI_METHOD DefaultLexer::GetSubStyleBases() {\n\treturn styleSubable;\n}\n\nint SCI_METHOD DefaultLexer::NamedStyles() {\n\treturn static_cast<int>(nClasses);\n}\n\nconst char * SCI_METHOD DefaultLexer::NameOfStyle(int style) {\n\treturn (style < NamedStyles()) ? lexClasses[style].name : \"\";\n}\n\nconst char * SCI_METHOD DefaultLexer::TagsOfStyle(int style) {\n\treturn (style < NamedStyles()) ? lexClasses[style].tags : \"\";\n}\n\nconst char * SCI_METHOD DefaultLexer::DescriptionOfStyle(int style) {\n\treturn (style < NamedStyles()) ? lexClasses[style].description : \"\";\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/DefaultLexer.h",
    "content": "// Scintilla source code edit control\n/** @file DefaultLexer.h\n ** A lexer base class with default empty implementations of methods.\n ** For lexers that do not support all features so do not need real implementations.\n ** Does have real implementation for style metadata.\n **/\n// Copyright 2017 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef DEFAULTLEXER_H\n#define DEFAULTLEXER_H\n\nnamespace Scintilla {\n\n// A simple lexer with no state\nclass DefaultLexer : public ILexerWithMetaData {\n\tconst LexicalClass *lexClasses;\n\tsize_t nClasses;\npublic:\n\tDefaultLexer(const LexicalClass *lexClasses_ = nullptr, size_t nClasses_ = 0);\n\tvirtual ~DefaultLexer();\n\tvoid SCI_METHOD Release() override;\n\tint SCI_METHOD Version() const override;\n\tconst char * SCI_METHOD PropertyNames() override;\n\tint SCI_METHOD PropertyType(const char *name) override;\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override;\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override;\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override = 0;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\tvoid * SCI_METHOD PrivateCall(int operation, void *pointer) override;\n\tint SCI_METHOD LineEndTypesSupported() override;\n\tint SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override;\n\tint SCI_METHOD SubStylesStart(int styleBase) override;\n\tint SCI_METHOD SubStylesLength(int styleBase) override;\n\tint SCI_METHOD StyleFromSubStyle(int subStyle) override;\n\tint SCI_METHOD PrimaryStyleFromStyle(int style) override;\n\tvoid SCI_METHOD FreeSubStyles() override;\n\tvoid SCI_METHOD SetIdentifiers(int style, const char *identifiers) override;\n\tint SCI_METHOD DistanceToSecondaryStyles() override;\n\tconst char * SCI_METHOD GetSubStyleBases() override;\n\tint SCI_METHOD NamedStyles() override;\n\tconst char * SCI_METHOD NameOfStyle(int style) override;\n\tconst char * SCI_METHOD TagsOfStyle(int style) override;\n\tconst char * SCI_METHOD DescriptionOfStyle(int style) override;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexAccessor.h",
    "content": "// Scintilla source code edit control\n/** @file LexAccessor.h\n ** Interfaces between Scintilla and lexers.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef LEXACCESSOR_H\n#define LEXACCESSOR_H\n\nnamespace Scintilla {\n\nenum EncodingType { enc8bit, encUnicode, encDBCS };\n\nclass LexAccessor {\nprivate:\n\tIDocument *pAccess;\n\tenum {extremePosition=0x7FFFFFFF};\n\t/** @a bufferSize is a trade off between time taken to copy the characters\n\t * and retrieval overhead.\n\t * @a slopSize positions the buffer before the desired position\n\t * in case there is some backtracking. */\n\tenum {bufferSize=4000, slopSize=bufferSize/8};\n\tchar buf[bufferSize+1];\n\tSci_Position startPos;\n\tSci_Position endPos;\n\tint codePage;\n\tenum EncodingType encodingType;\n\tSci_Position lenDoc;\n\tchar styleBuf[bufferSize];\n\tSci_Position validLen;\n\tSci_PositionU startSeg;\n\tSci_Position startPosStyling;\n\tint documentVersion;\n\n\tvoid Fill(Sci_Position position) {\n\t\tstartPos = position - slopSize;\n\t\tif (startPos + bufferSize > lenDoc)\n\t\t\tstartPos = lenDoc - bufferSize;\n\t\tif (startPos < 0)\n\t\t\tstartPos = 0;\n\t\tendPos = startPos + bufferSize;\n\t\tif (endPos > lenDoc)\n\t\t\tendPos = lenDoc;\n\n\t\tpAccess->GetCharRange(buf, startPos, endPos-startPos);\n\t\tbuf[endPos-startPos] = '\\0';\n\t}\n\npublic:\n\texplicit LexAccessor(IDocument *pAccess_) :\n\t\tpAccess(pAccess_), startPos(extremePosition), endPos(0),\n\t\tcodePage(pAccess->CodePage()),\n\t\tencodingType(enc8bit),\n\t\tlenDoc(pAccess->Length()),\n\t\tvalidLen(0),\n\t\tstartSeg(0), startPosStyling(0),\n\t\tdocumentVersion(pAccess->Version()) {\n\t\t// Prevent warnings by static analyzers about uninitialized buf and styleBuf.\n\t\tbuf[0] = 0;\n\t\tstyleBuf[0] = 0;\n\t\tswitch (codePage) {\n\t\tcase 65001:\n\t\t\tencodingType = encUnicode;\n\t\t\tbreak;\n\t\tcase 932:\n\t\tcase 936:\n\t\tcase 949:\n\t\tcase 950:\n\t\tcase 1361:\n\t\t\tencodingType = encDBCS;\n\t\t}\n\t}\n\tchar operator[](Sci_Position position) {\n\t\tif (position < startPos || position >= endPos) {\n\t\t\tFill(position);\n\t\t}\n\t\treturn buf[position - startPos];\n\t}\n\tIDocumentWithLineEnd *MultiByteAccess() const {\n\t\tif (documentVersion >= dvLineEnd) {\n\t\t\treturn static_cast<IDocumentWithLineEnd *>(pAccess);\n\t\t}\n\t\treturn 0;\n\t}\n\t/** Safe version of operator[], returning a defined value for invalid position. */\n\tchar SafeGetCharAt(Sci_Position position, char chDefault=' ') {\n\t\tif (position < startPos || position >= endPos) {\n\t\t\tFill(position);\n\t\t\tif (position < startPos || position >= endPos) {\n\t\t\t\t// Position is outside range of document\n\t\t\t\treturn chDefault;\n\t\t\t}\n\t\t}\n\t\treturn buf[position - startPos];\n\t}\n\tbool IsLeadByte(char ch) const {\n\t\treturn pAccess->IsDBCSLeadByte(ch);\n\t}\n\tEncodingType Encoding() const {\n\t\treturn encodingType;\n\t}\n\tbool Match(Sci_Position pos, const char *s) {\n\t\tfor (int i=0; *s; i++) {\n\t\t\tif (*s != SafeGetCharAt(pos+i))\n\t\t\t\treturn false;\n\t\t\ts++;\n\t\t}\n\t\treturn true;\n\t}\n\tchar StyleAt(Sci_Position position) const {\n\t\treturn pAccess->StyleAt(position);\n\t}\n\tSci_Position GetLine(Sci_Position position) const {\n\t\treturn pAccess->LineFromPosition(position);\n\t}\n\tSci_Position LineStart(Sci_Position line) const {\n\t\treturn pAccess->LineStart(line);\n\t}\n\tSci_Position LineEnd(Sci_Position line) {\n\t\tif (documentVersion >= dvLineEnd) {\n\t\t\treturn (static_cast<IDocumentWithLineEnd *>(pAccess))->LineEnd(line);\n\t\t} else {\n\t\t\t// Old interface means only '\\r', '\\n' and '\\r\\n' line ends.\n\t\t\tSci_Position startNext = pAccess->LineStart(line+1);\n\t\t\tconst char chLineEnd = SafeGetCharAt(startNext-1);\n\t\t\tif (chLineEnd == '\\n' && (SafeGetCharAt(startNext-2)  == '\\r'))\n\t\t\t\treturn startNext - 2;\n\t\t\telse\n\t\t\t\treturn startNext - 1;\n\t\t}\n\t}\n\tint LevelAt(Sci_Position line) const {\n\t\treturn pAccess->GetLevel(line);\n\t}\n\tSci_Position Length() const {\n\t\treturn lenDoc;\n\t}\n\tvoid Flush() {\n\t\tif (validLen > 0) {\n\t\t\tpAccess->SetStyles(validLen, styleBuf);\n\t\t\tstartPosStyling += validLen;\n\t\t\tvalidLen = 0;\n\t\t}\n\t}\n\tint GetLineState(Sci_Position line) const {\n\t\treturn pAccess->GetLineState(line);\n\t}\n\tint SetLineState(Sci_Position line, int state) {\n\t\treturn pAccess->SetLineState(line, state);\n\t}\n\t// Style setting\n\tvoid StartAt(Sci_PositionU start) {\n\t\tpAccess->StartStyling(start, '\\377');\n\t\tstartPosStyling = start;\n\t}\n\tSci_PositionU GetStartSegment() const {\n\t\treturn startSeg;\n\t}\n\tvoid StartSegment(Sci_PositionU pos) {\n\t\tstartSeg = pos;\n\t}\n\tvoid ColourTo(Sci_PositionU pos, int chAttr) {\n\t\t// Only perform styling if non empty range\n\t\tif (pos != startSeg - 1) {\n\t\t\tassert(pos >= startSeg);\n\t\t\tif (pos < startSeg) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (validLen + (pos - startSeg + 1) >= bufferSize)\n\t\t\t\tFlush();\n\t\t\tconst char attr = static_cast<char>(chAttr);\n\t\t\tif (validLen + (pos - startSeg + 1) >= bufferSize) {\n\t\t\t\t// Too big for buffer so send directly\n\t\t\t\tpAccess->SetStyleFor(pos - startSeg + 1, attr);\n\t\t\t} else {\n\t\t\t\tfor (Sci_PositionU i = startSeg; i <= pos; i++) {\n\t\t\t\t\tassert((startPosStyling + validLen) < Length());\n\t\t\t\t\tstyleBuf[validLen++] = attr;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tstartSeg = pos+1;\n\t}\n\tvoid SetLevel(Sci_Position line, int level) {\n\t\tpAccess->SetLevel(line, level);\n\t}\n\tvoid IndicatorFill(Sci_Position start, Sci_Position end, int indicator, int value) {\n\t\tpAccess->DecorationSetCurrentIndicator(indicator);\n\t\tpAccess->DecorationFillRange(start, value, end - start);\n\t}\n\n\tvoid ChangeLexerState(Sci_Position start, Sci_Position end) {\n\t\tpAccess->ChangeLexerState(start, end);\n\t}\n};\n\nstruct LexicalClass {\n\tint value;\n\tconst char *name;\n\tconst char *tags;\n\tconst char *description;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerBase.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexerBase.cxx\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"LexerModule.h\"\n#include \"LexerBase.h\"\n\nusing namespace Scintilla;\n\nstatic const char styleSubable[] = { 0 };\n\nLexerBase::LexerBase(const LexicalClass *lexClasses_, size_t nClasses_) :\n\tlexClasses(lexClasses_), nClasses(nClasses_) {\n\tfor (int wl = 0; wl < numWordLists; wl++)\n\t\tkeyWordLists[wl] = new WordList;\n\tkeyWordLists[numWordLists] = 0;\n}\n\nLexerBase::~LexerBase() {\n\tfor (int wl = 0; wl < numWordLists; wl++) {\n\t\tdelete keyWordLists[wl];\n\t\tkeyWordLists[wl] = 0;\n\t}\n\tkeyWordLists[numWordLists] = 0;\n}\n\nvoid SCI_METHOD LexerBase::Release() {\n\tdelete this;\n}\n\nint SCI_METHOD LexerBase::Version() const {\n\treturn lvMetaData;\n}\n\nconst char * SCI_METHOD LexerBase::PropertyNames() {\n\treturn \"\";\n}\n\nint SCI_METHOD LexerBase::PropertyType(const char *) {\n\treturn SC_TYPE_BOOLEAN;\n}\n\nconst char * SCI_METHOD LexerBase::DescribeProperty(const char *) {\n\treturn \"\";\n}\n\nSci_Position SCI_METHOD LexerBase::PropertySet(const char *key, const char *val) {\n\tconst char *valOld = props.Get(key);\n\tif (strcmp(val, valOld) != 0) {\n\t\tprops.Set(key, val, strlen(key), strlen(val));\n\t\treturn 0;\n\t} else {\n\t\treturn -1;\n\t}\n}\n\nconst char * SCI_METHOD LexerBase::DescribeWordListSets() {\n\treturn \"\";\n}\n\nSci_Position SCI_METHOD LexerBase::WordListSet(int n, const char *wl) {\n\tif (n < numWordLists) {\n\t\tWordList wlNew;\n\t\twlNew.Set(wl);\n\t\tif (*keyWordLists[n] != wlNew) {\n\t\t\tkeyWordLists[n]->Set(wl);\n\t\t\treturn 0;\n\t\t}\n\t}\n\treturn -1;\n}\n\nvoid * SCI_METHOD LexerBase::PrivateCall(int, void *) {\n\treturn nullptr;\n}\n\nint SCI_METHOD LexerBase::LineEndTypesSupported() {\n\treturn SC_LINE_END_TYPE_DEFAULT;\n}\n\nint SCI_METHOD LexerBase::AllocateSubStyles(int, int) {\n\treturn -1;\n}\n\nint SCI_METHOD LexerBase::SubStylesStart(int) {\n\treturn -1;\n}\n\nint SCI_METHOD LexerBase::SubStylesLength(int) {\n\treturn 0;\n}\n\nint SCI_METHOD LexerBase::StyleFromSubStyle(int subStyle) {\n\treturn subStyle;\n}\n\nint SCI_METHOD LexerBase::PrimaryStyleFromStyle(int style) {\n\treturn style;\n}\n\nvoid SCI_METHOD LexerBase::FreeSubStyles() {\n}\n\nvoid SCI_METHOD LexerBase::SetIdentifiers(int, const char *) {\n}\n\nint SCI_METHOD LexerBase::DistanceToSecondaryStyles() {\n\treturn 0;\n}\n\nconst char * SCI_METHOD LexerBase::GetSubStyleBases() {\n\treturn styleSubable;\n}\n\nint SCI_METHOD LexerBase::NamedStyles() {\n\treturn static_cast<int>(nClasses);\n}\n\nconst char * SCI_METHOD LexerBase::NameOfStyle(int style) {\n\treturn (style < NamedStyles()) ? lexClasses[style].name : \"\";\n}\n\nconst char * SCI_METHOD LexerBase::TagsOfStyle(int style) {\n\treturn (style < NamedStyles()) ? lexClasses[style].tags : \"\";\n}\n\nconst char * SCI_METHOD LexerBase::DescriptionOfStyle(int style) {\n\treturn (style < NamedStyles()) ? lexClasses[style].description : \"\";\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerBase.h",
    "content": "// Scintilla source code edit control\n/** @file LexerBase.h\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef LEXERBASE_H\n#define LEXERBASE_H\n\nnamespace Scintilla {\n\n// A simple lexer with no state\nclass LexerBase : public ILexerWithMetaData {\nprotected:\n\tconst LexicalClass *lexClasses;\n\tsize_t nClasses;\n\tPropSetSimple props;\n\tenum {numWordLists=KEYWORDSET_MAX+1};\n\tWordList *keyWordLists[numWordLists+1];\npublic:\n\tLexerBase(const LexicalClass *lexClasses_=nullptr, size_t nClasses_=0);\n\tvirtual ~LexerBase();\n\tvoid SCI_METHOD Release() override;\n\tint SCI_METHOD Version() const override;\n\tconst char * SCI_METHOD PropertyNames() override;\n\tint SCI_METHOD PropertyType(const char *name) override;\n\tconst char * SCI_METHOD DescribeProperty(const char *name) override;\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tconst char * SCI_METHOD DescribeWordListSets() override;\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override = 0;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override = 0;\n\tvoid * SCI_METHOD PrivateCall(int operation, void *pointer) override;\n\tint SCI_METHOD LineEndTypesSupported() override;\n\tint SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override;\n\tint SCI_METHOD SubStylesStart(int styleBase) override;\n\tint SCI_METHOD SubStylesLength(int styleBase) override;\n\tint SCI_METHOD StyleFromSubStyle(int subStyle) override;\n\tint SCI_METHOD PrimaryStyleFromStyle(int style) override;\n\tvoid SCI_METHOD FreeSubStyles() override;\n\tvoid SCI_METHOD SetIdentifiers(int style, const char *identifiers) override;\n\tint SCI_METHOD DistanceToSecondaryStyles() override;\n\tconst char * SCI_METHOD GetSubStyleBases() override;\n\tint SCI_METHOD NamedStyles() override;\n\tconst char * SCI_METHOD NameOfStyle(int style) override;\n\tconst char * SCI_METHOD TagsOfStyle(int style) override;\n\tconst char * SCI_METHOD DescriptionOfStyle(int style) override;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerModule.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexerModule.cxx\n ** Colourise for particular languages.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n\n#include <string>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"LexerModule.h\"\n#include \"LexerBase.h\"\n#include \"LexerSimple.h\"\n\nusing namespace Scintilla;\n\nLexerModule::LexerModule(int language_,\n\tLexerFunction fnLexer_,\n\tconst char *languageName_,\n\tLexerFunction fnFolder_,\n\tconst char *const wordListDescriptions_[],\n\tconst LexicalClass *lexClasses_,\n\tsize_t nClasses_) :\n\tlanguage(language_),\n\tfnLexer(fnLexer_),\n\tfnFolder(fnFolder_),\n\tfnFactory(nullptr),\n\twordListDescriptions(wordListDescriptions_),\n\tlexClasses(lexClasses_),\n\tnClasses(nClasses_),\n\tlanguageName(languageName_) {\n}\n\nLexerModule::LexerModule(int language_,\n\tLexerFactoryFunction fnFactory_,\n\tconst char *languageName_,\n\tconst char * const wordListDescriptions_[]) :\n\tlanguage(language_),\n\tfnLexer(nullptr),\n\tfnFolder(nullptr),\n\tfnFactory(fnFactory_),\n\twordListDescriptions(wordListDescriptions_),\n\tlexClasses(nullptr),\n\tnClasses(0),\n\tlanguageName(languageName_) {\n}\n\nLexerModule::~LexerModule() {\n}\n\nint LexerModule::GetLanguage() const { \n\treturn language;\n}\n\nint LexerModule::GetNumWordLists() const {\n\tif (!wordListDescriptions) {\n\t\treturn -1;\n\t} else {\n\t\tint numWordLists = 0;\n\n\t\twhile (wordListDescriptions[numWordLists]) {\n\t\t\t++numWordLists;\n\t\t}\n\n\t\treturn numWordLists;\n\t}\n}\n\nconst char *LexerModule::GetWordListDescription(int index) const {\n\tassert(index < GetNumWordLists());\n\tif (!wordListDescriptions || (index >= GetNumWordLists())) {\n\t\treturn \"\";\n\t} else {\n\t\treturn wordListDescriptions[index];\n\t}\n}\n\nconst LexicalClass *LexerModule::LexClasses() const {\n\treturn lexClasses;\n}\n\nsize_t LexerModule::NamedStyles() const {\n\treturn nClasses;\n}\n\nILexer *LexerModule::Create() const {\n\tif (fnFactory)\n\t\treturn fnFactory();\n\telse\n\t\treturn new LexerSimple(this);\n}\n\nvoid LexerModule::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle,\n\t  WordList *keywordlists[], Accessor &styler) const {\n\tif (fnLexer)\n\t\tfnLexer(startPos, lengthDoc, initStyle, keywordlists, styler);\n}\n\nvoid LexerModule::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle,\n\t  WordList *keywordlists[], Accessor &styler) const {\n\tif (fnFolder) {\n\t\tSci_Position lineCurrent = styler.GetLine(startPos);\n\t\t// Move back one line in case deletion wrecked current line fold state\n\t\tif (lineCurrent > 0) {\n\t\t\tlineCurrent--;\n\t\t\tconst Sci_Position newStartPos = styler.LineStart(lineCurrent);\n\t\t\tlengthDoc += startPos - newStartPos;\n\t\t\tstartPos = newStartPos;\n\t\t\tinitStyle = 0;\n\t\t\tif (startPos > 0) {\n\t\t\t\tinitStyle = styler.StyleAt(startPos - 1);\n\t\t\t}\n\t\t}\n\t\tfnFolder(startPos, lengthDoc, initStyle, keywordlists, styler);\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerModule.h",
    "content": "// Scintilla source code edit control\n/** @file LexerModule.h\n ** Colourise for particular languages.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef LEXERMODULE_H\n#define LEXERMODULE_H\n\nnamespace Scintilla {\n\nclass Accessor;\nclass WordList;\nstruct LexicalClass;\n\ntypedef void (*LexerFunction)(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle,\n                  WordList *keywordlists[], Accessor &styler);\ntypedef ILexer *(*LexerFactoryFunction)();\n\n/**\n * A LexerModule is responsible for lexing and folding a particular language.\n * The Catalogue class maintains a list of LexerModules which can be searched to find a\n * module appropriate to a particular language.\n * The ExternalLexerModule subclass holds lexers loaded from DLLs or shared libraries.\n */\nclass LexerModule {\nprotected:\n\tint language;\n\tLexerFunction fnLexer;\n\tLexerFunction fnFolder;\n\tLexerFactoryFunction fnFactory;\n\tconst char * const * wordListDescriptions;\n\tconst LexicalClass *lexClasses;\n\tsize_t nClasses;\n\npublic:\n\tconst char *languageName;\n\tLexerModule(\n\t\tint language_,\n\t\tLexerFunction fnLexer_,\n\t\tconst char *languageName_=nullptr,\n\t\tLexerFunction fnFolder_= nullptr,\n\t\tconst char * const wordListDescriptions_[]=nullptr,\n\t\tconst LexicalClass *lexClasses_=nullptr,\n\t\tsize_t nClasses_=0);\n\tLexerModule(\n\t\tint language_,\n\t\tLexerFactoryFunction fnFactory_,\n\t\tconst char *languageName_,\n\t\tconst char * const wordListDescriptions_[]=nullptr);\n\tvirtual ~LexerModule();\n\tint GetLanguage() const;\n\n\t// -1 is returned if no WordList information is available\n\tint GetNumWordLists() const;\n\tconst char *GetWordListDescription(int index) const;\n\tconst LexicalClass *LexClasses() const;\n\tsize_t NamedStyles() const;\n\n\tILexer *Create() const;\n\n\tvirtual void Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle,\n                  WordList *keywordlists[], Accessor &styler) const;\n\tvirtual void Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle,\n                  WordList *keywordlists[], Accessor &styler) const;\n\n\tfriend class Catalogue;\n};\n\ninline int Maximum(int a, int b) {\n\treturn (a > b) ? a : b;\n}\n\n// Shut up annoying Visual C++ warnings:\n#ifdef _MSC_VER\n#pragma warning(disable: 4244 4456 4457)\n#endif\n\n// Turn off shadow warnings for lexers as may be maintained by others\n#if defined(__GNUC__)\n#pragma GCC diagnostic ignored \"-Wshadow\"\n#endif\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerNoExceptions.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexerNoExceptions.cxx\n ** A simple lexer with no state which does not throw exceptions so can be used in an external lexer.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"LexerModule.h\"\n#include \"LexerBase.h\"\n#include \"LexerNoExceptions.h\"\n\nusing namespace Scintilla;\n\nSci_Position SCI_METHOD LexerNoExceptions::PropertySet(const char *key, const char *val) {\n\ttry {\n\t\treturn LexerBase::PropertySet(key, val);\n\t} catch (...) {\n\t\t// Should not throw into caller as may be compiled with different compiler or options\n\t}\n\treturn -1;\n}\n\nSci_Position SCI_METHOD LexerNoExceptions::WordListSet(int n, const char *wl) {\n\ttry {\n\t\treturn LexerBase::WordListSet(n, wl);\n\t} catch (...) {\n\t\t// Should not throw into caller as may be compiled with different compiler or options\n\t}\n\treturn -1;\n}\n\nvoid SCI_METHOD LexerNoExceptions::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) {\n\ttry {\n\t\tAccessor astyler(pAccess, &props);\n\t\tLexer(startPos, lengthDoc, initStyle, pAccess, astyler);\n\t\tastyler.Flush();\n\t} catch (...) {\n\t\t// Should not throw into caller as may be compiled with different compiler or options\n\t\tpAccess->SetErrorStatus(SC_STATUS_FAILURE);\n\t}\n}\nvoid SCI_METHOD LexerNoExceptions::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) {\n\ttry {\n\t\tAccessor astyler(pAccess, &props);\n\t\tFolder(startPos, lengthDoc, initStyle, pAccess, astyler);\n\t\tastyler.Flush();\n\t} catch (...) {\n\t\t// Should not throw into caller as may be compiled with different compiler or options\n\t\tpAccess->SetErrorStatus(SC_STATUS_FAILURE);\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerNoExceptions.h",
    "content": "// Scintilla source code edit control\n/** @file LexerNoExceptions.h\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef LEXERNOEXCEPTIONS_H\n#define LEXERNOEXCEPTIONS_H\n\nnamespace Scintilla {\n\n// A simple lexer with no state\nclass LexerNoExceptions : public LexerBase {\npublic:\n\t// TODO Also need to prevent exceptions in constructor and destructor\n\tSci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;\n\tSci_Position SCI_METHOD WordListSet(int n, const char *wl) override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *) override;\n\n\tvirtual void Lexer(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess, Accessor &styler) = 0;\n\tvirtual void Folder(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess, Accessor &styler) = 0;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerSimple.cpp",
    "content": "// Scintilla source code edit control\n/** @file LexerSimple.cxx\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n\n#include <string>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"PropSetSimple.h\"\n#include \"WordList.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"LexerModule.h\"\n#include \"LexerBase.h\"\n#include \"LexerSimple.h\"\n\nusing namespace Scintilla;\n\nLexerSimple::LexerSimple(const LexerModule *module_) :\n\tLexerBase(module_->LexClasses(), module_->NamedStyles()),\n\tmodule(module_) {\n\tfor (int wl = 0; wl < module->GetNumWordLists(); wl++) {\n\t\tif (!wordLists.empty())\n\t\t\twordLists += \"\\n\";\n\t\twordLists += module->GetWordListDescription(wl);\n\t}\n}\n\nconst char * SCI_METHOD LexerSimple::DescribeWordListSets() {\n\treturn wordLists.c_str();\n}\n\nvoid SCI_METHOD LexerSimple::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) {\n\tAccessor astyler(pAccess, &props);\n\tmodule->Lex(startPos, lengthDoc, initStyle, keyWordLists, astyler);\n\tastyler.Flush();\n}\n\nvoid SCI_METHOD LexerSimple::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) {\n\tif (props.GetInt(\"fold\")) {\n\t\tAccessor astyler(pAccess, &props);\n\t\tmodule->Fold(startPos, lengthDoc, initStyle, keyWordLists, astyler);\n\t\tastyler.Flush();\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/LexerSimple.h",
    "content": "// Scintilla source code edit control\n/** @file LexerSimple.h\n ** A simple lexer with no state.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef LEXERSIMPLE_H\n#define LEXERSIMPLE_H\n\nnamespace Scintilla {\n\n// A simple lexer with no state\nclass LexerSimple : public LexerBase {\n\tconst LexerModule *module;\n\tstd::string wordLists;\npublic:\n\texplicit LexerSimple(const LexerModule *module_);\n\tconst char * SCI_METHOD DescribeWordListSets() override;\n\tvoid SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n\tvoid SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/License.txt",
    "content": "License for Scintilla and SciTE\n\nCopyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n\nAll Rights Reserved\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation.\n\nNEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\nSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY\nSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE\nOR PERFORMANCE OF THIS SOFTWARE."
  },
  {
    "path": "src/qscint/scintilla/lexlib/OptionSet.h",
    "content": "// Scintilla source code edit control\n/** @file OptionSet.h\n ** Manage descriptive information about an options struct for a lexer.\n ** Hold the names, positions, and descriptions of boolean, integer and string options and\n ** allow setting options and retrieving metadata about the options.\n **/\n// Copyright 2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef OPTIONSET_H\n#define OPTIONSET_H\n\nnamespace Scintilla {\n\ntemplate <typename T>\nclass OptionSet {\n\ttypedef T Target;\n\ttypedef bool T::*plcob;\n\ttypedef int T::*plcoi;\n\ttypedef std::string T::*plcos;\n\tstruct Option {\n\t\tint opType;\n\t\tunion {\n\t\t\tplcob pb;\n\t\t\tplcoi pi;\n\t\t\tplcos ps;\n\t\t};\n\t\tstd::string description;\n\t\tOption() :\n\t\t\topType(SC_TYPE_BOOLEAN), pb(0), description(\"\") {\n\t\t}\n\t\tOption(plcob pb_, std::string description_=\"\") :\n\t\t\topType(SC_TYPE_BOOLEAN), pb(pb_), description(description_) {\n\t\t}\n\t\tOption(plcoi pi_, std::string description_) :\n\t\t\topType(SC_TYPE_INTEGER), pi(pi_), description(description_) {\n\t\t}\n\t\tOption(plcos ps_, std::string description_) :\n\t\t\topType(SC_TYPE_STRING), ps(ps_), description(description_) {\n\t\t}\n\t\tbool Set(T *base, const char *val) const {\n\t\t\tswitch (opType) {\n\t\t\tcase SC_TYPE_BOOLEAN: {\n\t\t\t\t\tbool option = atoi(val) != 0;\n\t\t\t\t\tif ((*base).*pb != option) {\n\t\t\t\t\t\t(*base).*pb = option;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tcase SC_TYPE_INTEGER: {\n\t\t\t\t\tint option = atoi(val);\n\t\t\t\t\tif ((*base).*pi != option) {\n\t\t\t\t\t\t(*base).*pi = option;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tcase SC_TYPE_STRING: {\n\t\t\t\t\tif ((*base).*ps != val) {\n\t\t\t\t\t\t(*base).*ps = val;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t};\n\ttypedef std::map<std::string, Option> OptionMap;\n\tOptionMap nameToDef;\n\tstd::string names;\n\tstd::string wordLists;\n\n\tvoid AppendName(const char *name) {\n\t\tif (!names.empty())\n\t\t\tnames += \"\\n\";\n\t\tnames += name;\n\t}\npublic:\n\tvirtual ~OptionSet() {\n\t}\n\tvoid DefineProperty(const char *name, plcob pb, std::string description=\"\") {\n\t\tnameToDef[name] = Option(pb, description);\n\t\tAppendName(name);\n\t}\n\tvoid DefineProperty(const char *name, plcoi pi, std::string description=\"\") {\n\t\tnameToDef[name] = Option(pi, description);\n\t\tAppendName(name);\n\t}\n\tvoid DefineProperty(const char *name, plcos ps, std::string description=\"\") {\n\t\tnameToDef[name] = Option(ps, description);\n\t\tAppendName(name);\n\t}\n\tconst char *PropertyNames() const {\n\t\treturn names.c_str();\n\t}\n\tint PropertyType(const char *name) {\n\t\ttypename OptionMap::iterator it = nameToDef.find(name);\n\t\tif (it != nameToDef.end()) {\n\t\t\treturn it->second.opType;\n\t\t}\n\t\treturn SC_TYPE_BOOLEAN;\n\t}\n\tconst char *DescribeProperty(const char *name) {\n\t\ttypename OptionMap::iterator it = nameToDef.find(name);\n\t\tif (it != nameToDef.end()) {\n\t\t\treturn it->second.description.c_str();\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tbool PropertySet(T *base, const char *name, const char *val) {\n\t\ttypename OptionMap::iterator it = nameToDef.find(name);\n\t\tif (it != nameToDef.end()) {\n\t\t\treturn it->second.Set(base, val);\n\t\t}\n\t\treturn false;\n\t}\n\n\tvoid DefineWordListSets(const char * const wordListDescriptions[]) {\n\t\tif (wordListDescriptions) {\n\t\t\tfor (size_t wl = 0; wordListDescriptions[wl]; wl++) {\n\t\t\t\tif (!wordLists.empty())\n\t\t\t\t\twordLists += \"\\n\";\n\t\t\t\twordLists += wordListDescriptions[wl];\n\t\t\t}\n\t\t}\n\t}\n\n\tconst char *DescribeWordListSets() const {\n\t\treturn wordLists.c_str();\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/PropSetSimple.cpp",
    "content": "// Scintilla source code edit control\n/** @file PropSetSimple.cxx\n ** A basic string to string map.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n// Maintain a dictionary of properties\n\n#include <cstdlib>\n#include <cstring>\n\n#include <string>\n#include <map>\n\n#include \"PropSetSimple.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\ntypedef std::map<std::string, std::string> mapss;\n\nmapss *PropsFromPointer(void *impl) {\n\treturn static_cast<mapss *>(impl);\n}\n\n}\n\nPropSetSimple::PropSetSimple() {\n\tmapss *props = new mapss;\n\timpl = static_cast<void *>(props);\n}\n\nPropSetSimple::~PropSetSimple() {\n\tmapss *props = PropsFromPointer(impl);\n\tdelete props;\n\timpl = 0;\n}\n\nvoid PropSetSimple::Set(const char *key, const char *val, size_t lenKey, size_t lenVal) {\n\tmapss *props = PropsFromPointer(impl);\n\tif (!*key)\t// Empty keys are not supported\n\t\treturn;\n\t(*props)[std::string(key, lenKey)] = std::string(val, lenVal);\n}\n\nstatic bool IsASpaceCharacter(unsigned int ch) {\n    return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d));\n}\n\nvoid PropSetSimple::Set(const char *keyVal) {\n\twhile (IsASpaceCharacter(*keyVal))\n\t\tkeyVal++;\n\tconst char *endVal = keyVal;\n\twhile (*endVal && (*endVal != '\\n'))\n\t\tendVal++;\n\tconst char *eqAt = strchr(keyVal, '=');\n\tif (eqAt) {\n\t\tSet(keyVal, eqAt + 1, eqAt-keyVal,\n\t\t\tendVal - eqAt - 1);\n\t} else if (*keyVal) {\t// No '=' so assume '=1'\n\t\tSet(keyVal, \"1\", endVal-keyVal, 1);\n\t}\n}\n\nvoid PropSetSimple::SetMultiple(const char *s) {\n\tconst char *eol = strchr(s, '\\n');\n\twhile (eol) {\n\t\tSet(s);\n\t\ts = eol + 1;\n\t\teol = strchr(s, '\\n');\n\t}\n\tSet(s);\n}\n\nconst char *PropSetSimple::Get(const char *key) const {\n\tmapss *props = PropsFromPointer(impl);\n\tmapss::const_iterator keyPos = props->find(std::string(key));\n\tif (keyPos != props->end()) {\n\t\treturn keyPos->second.c_str();\n\t} else {\n\t\treturn \"\";\n\t}\n}\n\n// There is some inconsistency between GetExpanded(\"foo\") and Expand(\"$(foo)\").\n// A solution is to keep a stack of variables that have been expanded, so that\n// recursive expansions can be skipped.  For now I'll just use the C++ stack\n// for that, through a recursive function and a simple chain of pointers.\n\nstruct VarChain {\n\tVarChain(const char *var_=nullptr, const VarChain *link_= nullptr): var(var_), link(link_) {}\n\n\tbool contains(const char *testVar) const {\n\t\treturn (var && (0 == strcmp(var, testVar)))\n\t\t\t|| (link && link->contains(testVar));\n\t}\n\n\tconst char *var;\n\tconst VarChain *link;\n};\n\nstatic int ExpandAllInPlace(const PropSetSimple &props, std::string &withVars, int maxExpands, const VarChain &blankVars) {\n\tsize_t varStart = withVars.find(\"$(\");\n\twhile ((varStart != std::string::npos) && (maxExpands > 0)) {\n\t\tconst size_t varEnd = withVars.find(')', varStart+2);\n\t\tif (varEnd == std::string::npos) {\n\t\t\tbreak;\n\t\t}\n\n\t\t// For consistency, when we see '$(ab$(cde))', expand the inner variable first,\n\t\t// regardless whether there is actually a degenerate variable named 'ab$(cde'.\n\t\tsize_t innerVarStart = withVars.find(\"$(\", varStart+2);\n\t\twhile ((innerVarStart != std::string::npos) && (innerVarStart > varStart) && (innerVarStart < varEnd)) {\n\t\t\tvarStart = innerVarStart;\n\t\t\tinnerVarStart = withVars.find(\"$(\", varStart+2);\n\t\t}\n\n\t\tstd::string var(withVars.c_str(), varStart + 2, varEnd - varStart - 2);\n\t\tstd::string val = props.Get(var.c_str());\n\n\t\tif (blankVars.contains(var.c_str())) {\n\t\t\tval = \"\"; // treat blankVar as an empty string (e.g. to block self-reference)\n\t\t}\n\n\t\tif (--maxExpands >= 0) {\n\t\t\tmaxExpands = ExpandAllInPlace(props, val, maxExpands, VarChain(var.c_str(), &blankVars));\n\t\t}\n\n\t\twithVars.erase(varStart, varEnd-varStart+1);\n\t\twithVars.insert(varStart, val.c_str(), val.length());\n\n\t\tvarStart = withVars.find(\"$(\");\n\t}\n\n\treturn maxExpands;\n}\n\nint PropSetSimple::GetExpanded(const char *key, char *result) const {\n\tstd::string val = Get(key);\n\tExpandAllInPlace(*this, val, 100, VarChain(key));\n\tconst int n = static_cast<int>(val.size());\n\tif (result) {\n\t\tmemcpy(result, val.c_str(), n+1);\n\t}\n\treturn n;\t// Not including NUL\n}\n\nint PropSetSimple::GetInt(const char *key, int defaultValue) const {\n\tstd::string val = Get(key);\n\tExpandAllInPlace(*this, val, 100, VarChain(key));\n\tif (!val.empty()) {\n\t\treturn atoi(val.c_str());\n\t}\n\treturn defaultValue;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/PropSetSimple.h",
    "content": "// Scintilla source code edit control\n/** @file PropSetSimple.h\n ** A basic string to string map.\n **/\n// Copyright 1998-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef PROPSETSIMPLE_H\n#define PROPSETSIMPLE_H\n\nnamespace Scintilla {\n\nclass PropSetSimple {\n\tvoid *impl;\n\tvoid Set(const char *keyVal);\npublic:\n\tPropSetSimple();\n\tvirtual ~PropSetSimple();\n\tvoid Set(const char *key, const char *val, size_t lenKey, size_t lenVal);\n\tvoid SetMultiple(const char *);\n\tconst char *Get(const char *key) const;\n\tint GetExpanded(const char *key, char *result) const;\n\tint GetInt(const char *key, int defaultValue=0) const;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/SparseState.h",
    "content": "// Scintilla source code edit control\n/** @file SparseState.h\n ** Hold lexer state that may change rarely.\n ** This is often per-line state such as whether a particular type of section has been entered.\n ** A state continues until it is changed.\n **/\n// Copyright 2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SPARSESTATE_H\n#define SPARSESTATE_H\n\nnamespace Scintilla {\n\ntemplate <typename T>\nclass SparseState {\n\tstruct State {\n\t\tSci_Position position;\n\t\tT value;\n\t\tState(Sci_Position position_, T value_) : position(position_), value(value_) {\n\t\t}\n\t\tinline bool operator<(const State &other) const {\n\t\t\treturn position < other.position;\n\t\t}\n\t\tinline bool operator==(const State &other) const {\n\t\t\treturn (position == other.position) && (value == other.value);\n\t\t}\n\t};\n\tSci_Position positionFirst;\n\ttypedef std::vector<State> stateVector;\n\tstateVector states;\n\n\ttypename stateVector::iterator Find(Sci_Position position) {\n\t\tState searchValue(position, T());\n\t\treturn std::lower_bound(states.begin(), states.end(), searchValue);\n\t}\n\npublic:\n\texplicit SparseState(Sci_Position positionFirst_=-1) {\n\t\tpositionFirst = positionFirst_;\n\t}\n\tvoid Set(Sci_Position position, T value) {\n\t\tDelete(position);\n\t\tif (states.empty() || (value != states[states.size()-1].value)) {\n\t\t\tstates.push_back(State(position, value));\n\t\t}\n\t}\n\tT ValueAt(Sci_Position position) {\n\t\tif (states.empty())\n\t\t\treturn T();\n\t\tif (position < states[0].position)\n\t\t\treturn T();\n\t\ttypename stateVector::iterator low = Find(position);\n\t\tif (low == states.end()) {\n\t\t\treturn states[states.size()-1].value;\n\t\t} else {\n\t\t\tif (low->position > position) {\n\t\t\t\t--low;\n\t\t\t}\n\t\t\treturn low->value;\n\t\t}\n\t}\n\tbool Delete(Sci_Position position) {\n\t\ttypename stateVector::iterator low = Find(position);\n\t\tif (low != states.end()) {\n\t\t\tstates.erase(low, states.end());\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tsize_t size() const {\n\t\treturn states.size();\n\t}\n\n\t// Returns true if Merge caused a significant change\n\tbool Merge(const SparseState<T> &other, Sci_Position ignoreAfter) {\n\t\t// Changes caused beyond ignoreAfter are not significant\n\t\tDelete(ignoreAfter+1);\n\n\t\tbool different = true;\n\t\tbool changed = false;\n\t\ttypename stateVector::iterator low = Find(other.positionFirst);\n\t\tif (static_cast<size_t>(states.end() - low) == other.states.size()) {\n\t\t\t// Same number in other as after positionFirst in this\n\t\t\tdifferent = !std::equal(low, states.end(), other.states.begin());\n\t\t}\n\t\tif (different) {\n\t\t\tif (low != states.end()) {\n\t\t\t\tstates.erase(low, states.end());\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\ttypename stateVector::const_iterator startOther = other.states.begin();\n\t\t\tif (!states.empty() && !other.states.empty() && states.back().value == startOther->value)\n\t\t\t\t++startOther;\n\t\t\tif (startOther != other.states.end()) {\n\t\t\t\tstates.insert(states.end(), startOther, other.states.end());\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t}\n\t\treturn changed;\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/StringCopy.h",
    "content": "// Scintilla source code edit control\n/** @file StringCopy.h\n ** Safe string copy function which always NUL terminates.\n ** ELEMENTS macro for determining array sizes.\n **/\n// Copyright 2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef STRINGCOPY_H\n#define STRINGCOPY_H\n\nnamespace Scintilla {\n\n// Safer version of string copy functions like strcpy, wcsncpy, etc.\n// Instantiate over fixed length strings of both char and wchar_t.\n// May truncate if source doesn't fit into dest with room for NUL.\n\ntemplate <typename T, size_t count>\nvoid StringCopy(T (&dest)[count], const T* source) {\n\tfor (size_t i=0; i<count; i++) {\n\t\tdest[i] = source[i];\n\t\tif (!source[i])\n\t\t\tbreak;\n\t}\n\tdest[count-1] = 0;\n}\n\n#define ELEMENTS(a) (sizeof(a) / sizeof(a[0]))\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/StyleContext.cpp",
    "content": "// Scintilla source code edit control\n/** @file StyleContext.cxx\n ** Lexer infrastructure.\n **/\n// Copyright 1998-2004 by Neil Hodgson <neilh@scintilla.org>\n// This file is in the public domain.\n\n#include <cstdlib>\n#include <cassert>\n#include <cctype>\n\n#include \"ILexer.h\"\n\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n#include \"StyleContext.h\"\n#include \"CharacterSet.h\"\n\nusing namespace Scintilla;\n\nbool StyleContext::MatchIgnoreCase(const char *s) {\n\tif (MakeLowerCase(ch) != static_cast<unsigned char>(*s))\n\t\treturn false;\n\ts++;\n\tif (MakeLowerCase(chNext) != static_cast<unsigned char>(*s))\n\t\treturn false;\n\ts++;\n\tfor (int n = 2; *s; n++) {\n\t\tif (*s !=\n\t\t\tMakeLowerCase(styler.SafeGetCharAt(currentPos + n, 0)))\n\t\t\treturn false;\n\t\ts++;\n\t}\n\treturn true;\n}\n\nstatic void getRange(Sci_PositionU start,\n\t\tSci_PositionU end,\n\t\tLexAccessor &styler,\n\t\tchar *s,\n\t\tSci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = styler[start + i];\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nvoid StyleContext::GetCurrent(char *s, Sci_PositionU len) {\n\tgetRange(styler.GetStartSegment(), currentPos - 1, styler, s, len);\n}\n\nstatic void getRangeLowered(Sci_PositionU start,\n\t\tSci_PositionU end,\n\t\tLexAccessor &styler,\n\t\tchar *s,\n\t\tSci_PositionU len) {\n\tSci_PositionU i = 0;\n\twhile ((i < end - start + 1) && (i < len-1)) {\n\t\ts[i] = MakeLowerCase(styler[start + i]);\n\t\ti++;\n\t}\n\ts[i] = '\\0';\n}\n\nvoid StyleContext::GetCurrentLowered(char *s, Sci_PositionU len) {\n\tgetRangeLowered(styler.GetStartSegment(), currentPos - 1, styler, s, len);\n}\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/StyleContext.h",
    "content": "// Scintilla source code edit control\n/** @file StyleContext.h\n ** Lexer infrastructure.\n **/\n// Copyright 1998-2004 by Neil Hodgson <neilh@scintilla.org>\n// This file is in the public domain.\n\n#ifndef STYLECONTEXT_H\n#define STYLECONTEXT_H\n\nnamespace Scintilla {\n\n// All languages handled so far can treat all characters >= 0x80 as one class\n// which just continues the current token or starts an identifier if in default.\n// DBCS treated specially as the second character can be < 0x80 and hence\n// syntactically significant. UTF-8 avoids this as all trail bytes are >= 0x80\nclass StyleContext {\n\tLexAccessor &styler;\n\tIDocumentWithLineEnd *multiByteAccess;\n\tSci_PositionU endPos;\n\tSci_PositionU lengthDocument;\n\n\t// Used for optimizing GetRelativeCharacter\n\tSci_PositionU posRelative;\n\tSci_PositionU currentPosLastRelative;\n\tSci_Position offsetRelative;\n\n\tvoid GetNextChar() {\n\t\tif (multiByteAccess) {\n\t\t\tchNext = multiByteAccess->GetCharacterAndWidth(currentPos+width, &widthNext);\n\t\t} else {\n\t\t\tchNext = static_cast<unsigned char>(styler.SafeGetCharAt(currentPos+width, 0));\n\t\t\twidthNext = 1;\n\t\t}\n\t\t// End of line determined from line end position, allowing CR, LF,\n\t\t// CRLF and Unicode line ends as set by document.\n\t\tif (currentLine < lineDocEnd)\n\t\t\tatLineEnd = static_cast<Sci_Position>(currentPos) >= (lineStartNext-1);\n\t\telse // Last line\n\t\t\tatLineEnd = static_cast<Sci_Position>(currentPos) >= lineStartNext;\n\t}\n\npublic:\n\tSci_PositionU currentPos;\n\tSci_Position currentLine;\n\tSci_Position lineDocEnd;\n\tSci_Position lineStartNext;\n\tbool atLineStart;\n\tbool atLineEnd;\n\tint state;\n\tint chPrev;\n\tint ch;\n\tSci_Position width;\n\tint chNext;\n\tSci_Position widthNext;\n\n\tStyleContext(Sci_PositionU startPos, Sci_PositionU length,\n                        int initStyle, LexAccessor &styler_, char chMask='\\377') :\n\t\tstyler(styler_),\n\t\tmultiByteAccess(nullptr),\n\t\tendPos(startPos + length),\n\t\tposRelative(0),\n\t\tcurrentPosLastRelative(0x7FFFFFFF),\n\t\toffsetRelative(0),\n\t\tcurrentPos(startPos),\n\t\tcurrentLine(-1),\n\t\tlineStartNext(-1),\n\t\tatLineEnd(false),\n\t\tstate(initStyle & chMask), // Mask off all bits which aren't in the chMask.\n\t\tchPrev(0),\n\t\tch(0),\n\t\twidth(0),\n\t\tchNext(0),\n\t\twidthNext(1) {\n\t\tif (styler.Encoding() != enc8bit) {\n\t\t\tmultiByteAccess = styler.MultiByteAccess();\n\t\t}\n\t\tstyler.StartAt(startPos /*, chMask*/);\n\t\tstyler.StartSegment(startPos);\n\t\tcurrentLine = styler.GetLine(startPos);\n\t\tlineStartNext = styler.LineStart(currentLine+1);\n\t\tlengthDocument = static_cast<Sci_PositionU>(styler.Length());\n\t\tif (endPos == lengthDocument)\n\t\t\tendPos++;\n\t\tlineDocEnd = styler.GetLine(lengthDocument);\n\t\tatLineStart = static_cast<Sci_PositionU>(styler.LineStart(currentLine)) == startPos;\n\n\t\t// Variable width is now 0 so GetNextChar gets the char at currentPos into chNext/widthNext\n\t\twidth = 0;\n\t\tGetNextChar();\n\t\tch = chNext;\n\t\twidth = widthNext;\n\n\t\tGetNextChar();\n\t}\n\t// Deleted so StyleContext objects can not be copied.\n\tStyleContext(const StyleContext &) = delete;\n\tStyleContext &operator=(const StyleContext &) = delete;\n\tvoid Complete() {\n\t\tstyler.ColourTo(currentPos - ((currentPos > lengthDocument) ? 2 : 1), state);\n\t\tstyler.Flush();\n\t}\n\tbool More() const {\n\t\treturn currentPos < endPos;\n\t}\n\tvoid Forward() {\n\t\tif (currentPos < endPos) {\n\t\t\tatLineStart = atLineEnd;\n\t\t\tif (atLineStart) {\n\t\t\t\tcurrentLine++;\n\t\t\t\tlineStartNext = styler.LineStart(currentLine+1);\n\t\t\t}\n\t\t\tchPrev = ch;\n\t\t\tcurrentPos += width;\n\t\t\tch = chNext;\n\t\t\twidth = widthNext;\n\t\t\tGetNextChar();\n\t\t} else {\n\t\t\tatLineStart = false;\n\t\t\tchPrev = ' ';\n\t\t\tch = ' ';\n\t\t\tchNext = ' ';\n\t\t\tatLineEnd = true;\n\t\t}\n\t}\n\tvoid Forward(Sci_Position nb) {\n\t\tfor (Sci_Position i = 0; i < nb; i++) {\n\t\t\tForward();\n\t\t}\n\t}\n\tvoid ForwardBytes(Sci_Position nb) {\n\t\tconst Sci_PositionU forwardPos = currentPos + nb;\n\t\twhile (forwardPos > currentPos) {\n\t\t\tconst Sci_PositionU currentPosStart = currentPos;\n\t\t\tForward();\n\t\t\tif (currentPos == currentPosStart) {\n\t\t\t\t// Reached end\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\tvoid ChangeState(int state_) {\n\t\tstate = state_;\n\t}\n\tvoid SetState(int state_) {\n\t\tstyler.ColourTo(currentPos - ((currentPos > lengthDocument) ? 2 : 1), state);\n\t\tstate = state_;\n\t}\n\tvoid ForwardSetState(int state_) {\n\t\tForward();\n\t\tstyler.ColourTo(currentPos - ((currentPos > lengthDocument) ? 2 : 1), state);\n\t\tstate = state_;\n\t}\n\tSci_Position LengthCurrent() const {\n\t\treturn currentPos - styler.GetStartSegment();\n\t}\n\tint GetRelative(Sci_Position n) {\n\t\treturn static_cast<unsigned char>(styler.SafeGetCharAt(currentPos+n, 0));\n\t}\n\tint GetRelativeCharacter(Sci_Position n) {\n\t\tif (n == 0)\n\t\t\treturn ch;\n\t\tif (multiByteAccess) {\n\t\t\tif ((currentPosLastRelative != currentPos) ||\n\t\t\t\t((n > 0) && ((offsetRelative < 0) || (n < offsetRelative))) ||\n\t\t\t\t((n < 0) && ((offsetRelative > 0) || (n > offsetRelative)))) {\n\t\t\t\tposRelative = currentPos;\n\t\t\t\toffsetRelative = 0;\n\t\t\t}\n\t\t\tconst Sci_Position diffRelative = n - offsetRelative;\n\t\t\tconst Sci_Position posNew = multiByteAccess->GetRelativePosition(posRelative, diffRelative);\n\t\t\tconst int chReturn = multiByteAccess->GetCharacterAndWidth(posNew, nullptr);\n\t\t\tposRelative = posNew;\n\t\t\tcurrentPosLastRelative = currentPos;\n\t\t\toffsetRelative = n;\n\t\t\treturn chReturn;\n\t\t} else {\n\t\t\t// fast version for single byte encodings\n\t\t\treturn static_cast<unsigned char>(styler.SafeGetCharAt(currentPos + n, 0));\n\t\t}\n\t}\n\tbool Match(char ch0) const {\n\t\treturn ch == static_cast<unsigned char>(ch0);\n\t}\n\tbool Match(char ch0, char ch1) const {\n\t\treturn (ch == static_cast<unsigned char>(ch0)) && (chNext == static_cast<unsigned char>(ch1));\n\t}\n\tbool Match(const char *s) {\n\t\tif (ch != static_cast<unsigned char>(*s))\n\t\t\treturn false;\n\t\ts++;\n\t\tif (!*s)\n\t\t\treturn true;\n\t\tif (chNext != static_cast<unsigned char>(*s))\n\t\t\treturn false;\n\t\ts++;\n\t\tfor (int n=2; *s; n++) {\n\t\t\tif (*s != styler.SafeGetCharAt(currentPos+n, 0))\n\t\t\t\treturn false;\n\t\t\ts++;\n\t\t}\n\t\treturn true;\n\t}\n\t// Non-inline\n\tbool MatchIgnoreCase(const char *s);\n\tvoid GetCurrent(char *s, Sci_PositionU len);\n\tvoid GetCurrentLowered(char *s, Sci_PositionU len);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/SubStyles.h",
    "content": "// Scintilla source code edit control\n/** @file SubStyles.h\n ** Manage substyles for a lexer.\n **/\n// Copyright 2012 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SUBSTYLES_H\n#define SUBSTYLES_H\n\nnamespace Scintilla {\n\nclass WordClassifier {\n\tint baseStyle;\n\tint firstStyle;\n\tint lenStyles;\n\tstd::map<std::string, int> wordToStyle;\n\npublic:\n\n\texplicit WordClassifier(int baseStyle_) : baseStyle(baseStyle_), firstStyle(0), lenStyles(0) {\n\t}\n\n\tvoid Allocate(int firstStyle_, int lenStyles_) {\n\t\tfirstStyle = firstStyle_;\n\t\tlenStyles = lenStyles_;\n\t\twordToStyle.clear();\n\t}\n\n\tint Base() const {\n\t\treturn baseStyle;\n\t}\n\n\tint Start() const {\n\t\treturn firstStyle;\n\t}\n\n\tint Last() const {\n\t\treturn firstStyle + lenStyles - 1;\n\t}\n\n\tint Length() const {\n\t\treturn lenStyles;\n\t}\n\n\tvoid Clear() {\n\t\tfirstStyle = 0;\n\t\tlenStyles = 0;\n\t\twordToStyle.clear();\n\t}\n\n\tint ValueFor(const std::string &s) const {\n\t\tstd::map<std::string, int>::const_iterator it = wordToStyle.find(s);\n\t\tif (it != wordToStyle.end())\n\t\t\treturn it->second;\n\t\telse\n\t\t\treturn -1;\n\t}\n\n\tbool IncludesStyle(int style) const {\n\t\treturn (style >= firstStyle) && (style < (firstStyle + lenStyles));\n\t}\n\n\tvoid SetIdentifiers(int style, const char *identifiers) {\n\t\twhile (*identifiers) {\n\t\t\tconst char *cpSpace = identifiers;\n\t\t\twhile (*cpSpace && !(*cpSpace == ' ' || *cpSpace == '\\t' || *cpSpace == '\\r' || *cpSpace == '\\n'))\n\t\t\t\tcpSpace++;\n\t\t\tif (cpSpace > identifiers) {\n\t\t\t\tstd::string word(identifiers, cpSpace - identifiers);\n\t\t\t\twordToStyle[word] = style;\n\t\t\t}\n\t\t\tidentifiers = cpSpace;\n\t\t\tif (*identifiers)\n\t\t\t\tidentifiers++;\n\t\t}\n\t}\n};\n\nclass SubStyles {\n\tint classifications;\n\tconst char *baseStyles;\n\tint styleFirst;\n\tint stylesAvailable;\n\tint secondaryDistance;\n\tint allocated;\n\tstd::vector<WordClassifier> classifiers;\n\n\tint BlockFromBaseStyle(int baseStyle) const {\n\t\tfor (int b=0; b < classifications; b++) {\n\t\t\tif (baseStyle == baseStyles[b])\n\t\t\t\treturn b;\n\t\t}\n\t\treturn -1;\n\t}\n\n\tint BlockFromStyle(int style) const {\n\t\tint b = 0;\n\t\tfor (std::vector<WordClassifier>::const_iterator it=classifiers.begin(); it != classifiers.end(); ++it) {\n\t\t\tif (it->IncludesStyle(style))\n\t\t\t\treturn b;\n\t\t\tb++;\n\t\t}\n\t\treturn -1;\n\t}\n\npublic:\n\n\tSubStyles(const char *baseStyles_, int styleFirst_, int stylesAvailable_, int secondaryDistance_) :\n\t\tclassifications(0),\n\t\tbaseStyles(baseStyles_),\n\t\tstyleFirst(styleFirst_),\n\t\tstylesAvailable(stylesAvailable_),\n\t\tsecondaryDistance(secondaryDistance_),\n\t\tallocated(0) {\n\t\twhile (baseStyles[classifications]) {\n\t\t\tclassifiers.push_back(WordClassifier(baseStyles[classifications]));\n\t\t\tclassifications++;\n\t\t}\n\t}\n\n\tint Allocate(int styleBase, int numberStyles) {\n\t\tconst int block = BlockFromBaseStyle(styleBase);\n\t\tif (block >= 0) {\n\t\t\tif ((allocated + numberStyles) > stylesAvailable)\n\t\t\t\treturn -1;\n\t\t\tconst int startBlock = styleFirst + allocated;\n\t\t\tallocated += numberStyles;\n\t\t\tclassifiers[block].Allocate(startBlock, numberStyles);\n\t\t\treturn startBlock;\n\t\t} else {\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\tint Start(int styleBase) {\n\t\tconst int block = BlockFromBaseStyle(styleBase);\n\t\treturn (block >= 0) ? classifiers[block].Start() : -1;\n\t}\n\n\tint Length(int styleBase) {\n\t\tconst int block = BlockFromBaseStyle(styleBase);\n\t\treturn (block >= 0) ? classifiers[block].Length() : 0;\n\t}\n\n\tint BaseStyle(int subStyle) const {\n\t\tconst int block = BlockFromStyle(subStyle);\n\t\tif (block >= 0)\n\t\t\treturn classifiers[block].Base();\n\t\telse\n\t\t\treturn subStyle;\n\t}\n\n\tint DistanceToSecondaryStyles() const {\n\t\treturn secondaryDistance;\n\t}\n\n\tint FirstAllocated() const {\n\t\tint start = 257;\n\t\tfor (std::vector<WordClassifier>::const_iterator it = classifiers.begin(); it != classifiers.end(); ++it) {\n\t\t\tif (start > it->Start())\n\t\t\t\tstart = it->Start();\n\t\t}\n\t\treturn (start < 256) ? start : -1;\n\t}\n\n\tint LastAllocated() const {\n\t\tint last = -1;\n\t\tfor (std::vector<WordClassifier>::const_iterator it = classifiers.begin(); it != classifiers.end(); ++it) {\n\t\t\tif (last < it->Last())\n\t\t\t\tlast = it->Last();\n\t\t}\n\t\treturn last;\n\t}\n\n\tvoid SetIdentifiers(int style, const char *identifiers) {\n\t\tconst int block = BlockFromStyle(style);\n\t\tif (block >= 0)\n\t\t\tclassifiers[block].SetIdentifiers(style, identifiers);\n\t}\n\n\tvoid Free() {\n\t\tallocated = 0;\n\t\tfor (std::vector<WordClassifier>::iterator it=classifiers.begin(); it != classifiers.end(); ++it)\n\t\t\tit->Clear();\n\t}\n\n\tconst WordClassifier &Classifier(int baseStyle) const {\n\t\tconst int block = BlockFromBaseStyle(baseStyle);\n\t\treturn classifiers[block >= 0 ? block : 0];\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/WordList.cpp",
    "content": "// Scintilla source code edit control\n/** @file WordList.cxx\n ** Hold a list of words.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n\n#include <algorithm>\n#include <iterator>\n\n#include \"WordList.h\"\n\nusing namespace Scintilla;\n\n/**\n * Creates an array that points into each word in the string and puts \\0 terminators\n * after each word.\n */\nstatic char **ArrayFromWordList(char *wordlist, int *len, bool onlyLineEnds = false) {\n\tint prev = '\\n';\n\tint words = 0;\n\t// For rapid determination of whether a character is a separator, build\n\t// a look up table.\n\tbool wordSeparator[256] = {};\t// Initialise all to false.\n\twordSeparator[static_cast<unsigned int>('\\r')] = true;\n\twordSeparator[static_cast<unsigned int>('\\n')] = true;\n\tif (!onlyLineEnds) {\n\t\twordSeparator[static_cast<unsigned int>(' ')] = true;\n\t\twordSeparator[static_cast<unsigned int>('\\t')] = true;\n\t}\n\tfor (int j = 0; wordlist[j]; j++) {\n\t\tconst int curr = static_cast<unsigned char>(wordlist[j]);\n\t\tif (!wordSeparator[curr] && wordSeparator[prev])\n\t\t\twords++;\n\t\tprev = curr;\n\t}\n\tchar **keywords = new char *[words + 1];\n\tint wordsStore = 0;\n\tconst size_t slen = strlen(wordlist);\n\tif (words) {\n\t\tprev = '\\0';\n\t\tfor (size_t k = 0; k < slen; k++) {\n\t\t\tif (!wordSeparator[static_cast<unsigned char>(wordlist[k])]) {\n\t\t\t\tif (!prev) {\n\t\t\t\t\tkeywords[wordsStore] = &wordlist[k];\n\t\t\t\t\twordsStore++;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twordlist[k] = '\\0';\n\t\t\t}\n\t\t\tprev = wordlist[k];\n\t\t}\n\t}\n\tassert(wordsStore < (words + 1));\n\tkeywords[wordsStore] = &wordlist[slen];\n\t*len = wordsStore;\n\treturn keywords;\n}\n\nWordList::WordList(bool onlyLineEnds_) :\n\twords(0), list(0), len(0), onlyLineEnds(onlyLineEnds_) {\n\t// Prevent warnings by static analyzers about uninitialized starts.\n\tstarts[0] = -1;\n}\n\nWordList::~WordList() {\n\tClear();\n}\n\nWordList::operator bool() const {\n\treturn len ? true : false;\n}\n\nbool WordList::operator!=(const WordList &other) const {\n\tif (len != other.len)\n\t\treturn true;\n\tfor (int i=0; i<len; i++) {\n\t\tif (strcmp(words[i], other.words[i]) != 0)\n\t\t\treturn true;\n\t}\n\treturn false;\n}\n\nint WordList::Length() const {\n\treturn len;\n}\n\nvoid WordList::Clear() {\n\tif (words) {\n\t\tdelete []list;\n\t\tdelete []words;\n\t}\n\twords = 0;\n\tlist = 0;\n\tlen = 0;\n}\n\n#ifdef _MSC_VER\n\nstatic bool cmpWords(const char *a, const char *b) {\n\treturn strcmp(a, b) < 0;\n}\n\n#else\n\nstatic int cmpWords(const void *a, const void *b) {\n\treturn strcmp(*static_cast<const char * const *>(a), *static_cast<const char * const *>(b));\n}\n\nstatic void SortWordList(char **words, unsigned int len) {\n\tqsort(words, len, sizeof(*words), cmpWords);\n}\n\n#endif\n\nvoid WordList::Set(const char *s) {\n\tClear();\n\tconst size_t lenS = strlen(s) + 1;\n\tlist = new char[lenS];\n\tmemcpy(list, s, lenS);\n\twords = ArrayFromWordList(list, &len, onlyLineEnds);\n#ifdef _MSC_VER\n\tstd::sort(words, words + len, cmpWords);\n#else\n\tSortWordList(words, len);\n#endif\n\tstd::fill(starts, std::end(starts), -1);\n\tfor (int l = len - 1; l >= 0; l--) {\n\t\tunsigned char indexChar = words[l][0];\n\t\tstarts[indexChar] = l;\n\t}\n}\n\n/** Check whether a string is in the list.\n * List elements are either exact matches or prefixes.\n * Prefix elements start with '^' and match all strings that start with the rest of the element\n * so '^GTK_' matches 'GTK_X', 'GTK_MAJOR_VERSION', and 'GTK_'.\n */\nbool WordList::InList(const char *s) const {\n\tif (0 == words)\n\t\treturn false;\n\tconst unsigned char firstChar = s[0];\n\tint j = starts[firstChar];\n\tif (j >= 0) {\n\t\twhile (words[j][0] == firstChar) {\n\t\t\tif (s[1] == words[j][1]) {\n\t\t\t\tconst char *a = words[j] + 1;\n\t\t\t\tconst char *b = s + 1;\n\t\t\t\twhile (*a && *a == *b) {\n\t\t\t\t\ta++;\n\t\t\t\t\tb++;\n\t\t\t\t}\n\t\t\t\tif (!*a && !*b)\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t\tj++;\n\t\t}\n\t}\n\tj = starts[static_cast<unsigned int>('^')];\n\tif (j >= 0) {\n\t\twhile (words[j][0] == '^') {\n\t\t\tconst char *a = words[j] + 1;\n\t\t\tconst char *b = s;\n\t\t\twhile (*a && *a == *b) {\n\t\t\t\ta++;\n\t\t\t\tb++;\n\t\t\t}\n\t\t\tif (!*a)\n\t\t\t\treturn true;\n\t\t\tj++;\n\t\t}\n\t}\n\treturn false;\n}\n\n/** similar to InList, but word s can be a substring of keyword.\n * eg. the keyword define is defined as def~ine. This means the word must start\n * with def to be a keyword, but also defi, defin and define are valid.\n * The marker is ~ in this case.\n */\nbool WordList::InListAbbreviated(const char *s, const char marker) const {\n\tif (0 == words)\n\t\treturn false;\n\tconst unsigned char firstChar = s[0];\n\tint j = starts[firstChar];\n\tif (j >= 0) {\n\t\twhile (words[j][0] == firstChar) {\n\t\t\tbool isSubword = false;\n\t\t\tint start = 1;\n\t\t\tif (words[j][1] == marker) {\n\t\t\t\tisSubword = true;\n\t\t\t\tstart++;\n\t\t\t}\n\t\t\tif (s[1] == words[j][start]) {\n\t\t\t\tconst char *a = words[j] + start;\n\t\t\t\tconst char *b = s + 1;\n\t\t\t\twhile (*a && *a == *b) {\n\t\t\t\t\ta++;\n\t\t\t\t\tif (*a == marker) {\n\t\t\t\t\t\tisSubword = true;\n\t\t\t\t\t\ta++;\n\t\t\t\t\t}\n\t\t\t\t\tb++;\n\t\t\t\t}\n\t\t\t\tif ((!*a || isSubword) && !*b)\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t\tj++;\n\t\t}\n\t}\n\tj = starts[static_cast<unsigned int>('^')];\n\tif (j >= 0) {\n\t\twhile (words[j][0] == '^') {\n\t\t\tconst char *a = words[j] + 1;\n\t\t\tconst char *b = s;\n\t\t\twhile (*a && *a == *b) {\n\t\t\t\ta++;\n\t\t\t\tb++;\n\t\t\t}\n\t\t\tif (!*a)\n\t\t\t\treturn true;\n\t\t\tj++;\n\t\t}\n\t}\n\treturn false;\n}\n\n/** similar to InListAbbreviated, but word s can be a abridged version of a keyword.\n* eg. the keyword is defined as \"after.~:\". This means the word must have a prefix (begins with) of\n* \"after.\" and suffix (ends with) of \":\" to be a keyword, Hence \"after.field:\" , \"after.form.item:\" are valid.\n* Similarly \"~.is.valid\" keyword is suffix only... hence \"field.is.valid\" , \"form.is.valid\" are valid.\n* The marker is ~ in this case.\n* No multiple markers check is done and wont work.\n*/\nbool WordList::InListAbridged(const char *s, const char marker) const {\n\tif (0 == words)\n\t\treturn false;\n\tconst unsigned char firstChar = s[0];\n\tint j = starts[firstChar];\n\tif (j >= 0) {\n\t\twhile (words[j][0] == firstChar) {\n\t\t\tconst char *a = words[j];\n\t\t\tconst char *b = s;\n\t\t\twhile (*a && *a == *b) {\n\t\t\t\ta++;\n\t\t\t\tif (*a == marker) {\n\t\t\t\t\ta++;\n\t\t\t\t\tconst size_t suffixLengthA = strlen(a);\n\t\t\t\t\tconst size_t suffixLengthB = strlen(b);\n\t\t\t\t\tif (suffixLengthA >= suffixLengthB)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tb = b + suffixLengthB - suffixLengthA - 1;\n\t\t\t\t}\n\t\t\t\tb++;\n\t\t\t}\n\t\t\tif (!*a  && !*b)\n\t\t\t\treturn true;\n\t\t\tj++;\n\t\t}\n\t}\n\n\tj = starts[static_cast<unsigned int>(marker)];\n\tif (j >= 0) {\n\t\twhile (words[j][0] == marker) {\n\t\t\tconst char *a = words[j] + 1;\n\t\t\tconst char *b = s;\n\t\t\tconst size_t suffixLengthA = strlen(a);\n\t\t\tconst size_t suffixLengthB = strlen(b);\n\t\t\tif (suffixLengthA > suffixLengthB) {\n\t\t\t\tj++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tb = b + suffixLengthB - suffixLengthA;\n\n\t\t\twhile (*a && *a == *b) {\n\t\t\t\ta++;\n\t\t\t\tb++;\n\t\t\t}\n\t\t\tif (!*a && !*b)\n\t\t\t\treturn true;\n\t\t\tj++;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nconst char *WordList::WordAt(int n) const {\n\treturn words[n];\n}\n\n"
  },
  {
    "path": "src/qscint/scintilla/lexlib/WordList.h",
    "content": "// Scintilla source code edit control\n/** @file WordList.h\n ** Hold a list of words.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef WORDLIST_H\n#define WORDLIST_H\n\nnamespace Scintilla {\n\n/**\n */\nclass WordList {\n\t// Each word contains at least one character - a empty word acts as sentinel at the end.\n\tchar **words;\n\tchar *list;\n\tint len;\n\tbool onlyLineEnds;\t///< Delimited by any white space or only line ends\n\tint starts[256];\npublic:\n\texplicit WordList(bool onlyLineEnds_ = false);\n\t~WordList();\n\toperator bool() const;\n\tbool operator!=(const WordList &other) const;\n\tint Length() const;\n\tvoid Clear();\n\tvoid Set(const char *s);\n\tbool InList(const char *s) const;\n\tbool InListAbbreviated(const char *s, const char marker) const;\n\tbool InListAbridged(const char *s, const char marker) const;\n\tconst char *WordAt(int n) const;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/AutoComplete.cpp",
    "content": "// Scintilla source code edit control\n/** @file AutoComplete.cxx\n ** Defines the auto completion list box.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cstdio>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"CharacterSet.h\"\n#include \"Position.h\"\n#include \"AutoComplete.h\"\n\nusing namespace Scintilla;\n\nAutoComplete::AutoComplete() :\n\tactive(false),\n\tseparator(' '),\n\ttypesep('?'),\n\tignoreCase(false),\n\tchooseSingle(false),\n\tposStart(0),\n\tstartLen(0),\n\tcancelAtStartPos(true),\n\tautoHide(true),\n\tdropRestOfWord(false),\n\tignoreCaseBehaviour(SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE),\n\twidthLBDefault(100),\n\theightLBDefault(100),\n\tautoSort(SC_ORDER_PRESORTED) {\n\tlb.reset(ListBox::Allocate());\n}\n\nAutoComplete::~AutoComplete() {\n\tif (lb) {\n\t\tlb->Destroy();\n\t}\n}\n\nbool AutoComplete::Active() const noexcept {\n\treturn active;\n}\n\nvoid AutoComplete::Start(Window &parent, int ctrlID,\n\tSci::Position position, Point location, Sci::Position startLen_,\n\tint lineHeight, bool unicodeMode, int technology) {\n\tif (active) {\n\t\tCancel();\n\t}\n\tlb->Create(parent, ctrlID, location, lineHeight, unicodeMode, technology);\n\tlb->Clear();\n\tactive = true;\n\tstartLen = startLen_;\n\tposStart = position;\n}\n\nvoid AutoComplete::SetStopChars(const char *stopChars_) {\n\tstopChars = stopChars_;\n}\n\nbool AutoComplete::IsStopChar(char ch) const noexcept {\n\treturn ch && (stopChars.find(ch) != std::string::npos);\n}\n\nvoid AutoComplete::SetFillUpChars(const char *fillUpChars_) {\n\tfillUpChars = fillUpChars_;\n}\n\nbool AutoComplete::IsFillUpChar(char ch) const noexcept {\n\treturn ch && (fillUpChars.find(ch) != std::string::npos);\n}\n\nvoid AutoComplete::SetSeparator(char separator_) {\n\tseparator = separator_;\n}\n\nchar AutoComplete::GetSeparator() const noexcept {\n\treturn separator;\n}\n\nvoid AutoComplete::SetTypesep(char separator_) {\n\ttypesep = separator_;\n}\n\nchar AutoComplete::GetTypesep() const noexcept {\n\treturn typesep;\n}\n\nstruct Sorter {\n\tAutoComplete *ac;\n\tconst char *list;\n\tstd::vector<int> indices;\n\n\tSorter(AutoComplete *ac_, const char *list_) : ac(ac_), list(list_) {\n\t\tint i = 0;\n\t\twhile (list[i]) {\n\t\t\tindices.push_back(i); // word start\n\t\t\twhile (list[i] != ac->GetTypesep() && list[i] != ac->GetSeparator() && list[i])\n\t\t\t\t++i;\n\t\t\tindices.push_back(i); // word end\n\t\t\tif (list[i] == ac->GetTypesep()) {\n\t\t\t\twhile (list[i] != ac->GetSeparator() && list[i])\n\t\t\t\t\t++i;\n\t\t\t}\n\t\t\tif (list[i] == ac->GetSeparator()) {\n\t\t\t\t++i;\n\t\t\t\t// preserve trailing separator as blank entry\n\t\t\t\tif (!list[i]) {\n\t\t\t\t\tindices.push_back(i);\n\t\t\t\t\tindices.push_back(i);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tindices.push_back(i); // index of last position\n\t}\n\n\tbool operator()(int a, int b) {\n\t\tconst int lenA = indices[a * 2 + 1] - indices[a * 2];\n\t\tconst int lenB = indices[b * 2 + 1] - indices[b * 2];\n\t\tconst int len  = std::min(lenA, lenB);\n\t\tint cmp;\n\t\tif (ac->ignoreCase)\n\t\t\tcmp = CompareNCaseInsensitive(list + indices[a * 2], list + indices[b * 2], len);\n\t\telse\n\t\t\tcmp = strncmp(list + indices[a * 2], list + indices[b * 2], len);\n\t\tif (cmp == 0)\n\t\t\tcmp = lenA - lenB;\n\t\treturn cmp < 0;\n\t}\n};\n\nvoid AutoComplete::SetList(const char *list) {\n\tif (autoSort == SC_ORDER_PRESORTED) {\n\t\tlb->SetList(list, separator, typesep);\n\t\tsortMatrix.clear();\n\t\tfor (int i = 0; i < lb->Length(); ++i)\n\t\t\tsortMatrix.push_back(i);\n\t\treturn;\n\t}\n\n\tSorter IndexSort(this, list);\n\tsortMatrix.clear();\n\tfor (int i = 0; i < static_cast<int>(IndexSort.indices.size()) / 2; ++i)\n\t\tsortMatrix.push_back(i);\n\tstd::sort(sortMatrix.begin(), sortMatrix.end(), IndexSort);\n\tif (autoSort == SC_ORDER_CUSTOM || sortMatrix.size() < 2) {\n\t\tlb->SetList(list, separator, typesep);\n\t\tPLATFORM_ASSERT(lb->Length() == static_cast<int>(sortMatrix.size()));\n\t\treturn;\n\t}\n\n\tstd::string sortedList;\n\tchar item[maxItemLen];\n\tfor (size_t i = 0; i < sortMatrix.size(); ++i) {\n\t\tint wordLen = IndexSort.indices[sortMatrix[i] * 2 + 2] - IndexSort.indices[sortMatrix[i] * 2];\n\t\tif (wordLen > maxItemLen-2)\n\t\t\twordLen = maxItemLen - 2;\n\t\tmemcpy(item, list + IndexSort.indices[sortMatrix[i] * 2], wordLen);\n\t\tif ((i+1) == sortMatrix.size()) {\n\t\t\t// Last item so remove separator if present\n\t\t\tif ((wordLen > 0) && (item[wordLen-1] == separator))\n\t\t\t\twordLen--;\n\t\t} else {\n\t\t\t// Item before last needs a separator\n\t\t\tif ((wordLen == 0) || (item[wordLen-1] != separator)) {\n\t\t\t\titem[wordLen] = separator;\n\t\t\t\twordLen++;\n\t\t\t}\n\t\t}\n\t\titem[wordLen] = '\\0';\n\t\tsortedList += item;\n\t}\n\tfor (int i = 0; i < static_cast<int>(sortMatrix.size()); ++i)\n\t\tsortMatrix[i] = i;\n\tlb->SetList(sortedList.c_str(), separator, typesep);\n}\n\nint AutoComplete::GetSelection() const {\n\treturn lb->GetSelection();\n}\n\nstd::string AutoComplete::GetValue(int item) const {\n\tchar value[maxItemLen];\n\tlb->GetValue(item, value, sizeof(value));\n\treturn std::string(value);\n}\n\nvoid AutoComplete::Show(bool show) {\n\tlb->Show(show);\n\tif (show)\n\t\tlb->Select(0);\n}\n\nvoid AutoComplete::Cancel() {\n\tif (lb->Created()) {\n\t\tlb->Clear();\n\t\tlb->Destroy();\n\t\tactive = false;\n\t}\n}\n\n\nvoid AutoComplete::Move(int delta) {\n\tconst int count = lb->Length();\n\tint current = lb->GetSelection();\n\tcurrent += delta;\n\tif (current >= count)\n\t\tcurrent = count - 1;\n\tif (current < 0)\n\t\tcurrent = 0;\n\tlb->Select(current);\n}\n\nvoid AutoComplete::Select(const char *word) {\n\tconst size_t lenWord = strlen(word);\n\tint location = -1;\n\tint start = 0; // lower bound of the api array block to search\n\tint end = lb->Length() - 1; // upper bound of the api array block to search\n\twhile ((start <= end) && (location == -1)) { // Binary searching loop\n\t\tint pivot = (start + end) / 2;\n\t\tchar item[maxItemLen];\n\t\tlb->GetValue(sortMatrix[pivot], item, maxItemLen);\n\t\tint cond;\n\t\tif (ignoreCase)\n\t\t\tcond = CompareNCaseInsensitive(word, item, lenWord);\n\t\telse\n\t\t\tcond = strncmp(word, item, lenWord);\n\t\tif (!cond) {\n\t\t\t// Find first match\n\t\t\twhile (pivot > start) {\n\t\t\t\tlb->GetValue(sortMatrix[pivot-1], item, maxItemLen);\n\t\t\t\tif (ignoreCase)\n\t\t\t\t\tcond = CompareNCaseInsensitive(word, item, lenWord);\n\t\t\t\telse\n\t\t\t\t\tcond = strncmp(word, item, lenWord);\n\t\t\t\tif (0 != cond)\n\t\t\t\t\tbreak;\n\t\t\t\t--pivot;\n\t\t\t}\n\t\t\tlocation = pivot;\n\t\t\tif (ignoreCase\n\t\t\t\t&& ignoreCaseBehaviour == SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE) {\n\t\t\t\t// Check for exact-case match\n\t\t\t\tfor (; pivot <= end; pivot++) {\n\t\t\t\t\tlb->GetValue(sortMatrix[pivot], item, maxItemLen);\n\t\t\t\t\tif (!strncmp(word, item, lenWord)) {\n\t\t\t\t\t\tlocation = pivot;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (CompareNCaseInsensitive(word, item, lenWord))\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (cond < 0) {\n\t\t\tend = pivot - 1;\n\t\t} else if (cond > 0) {\n\t\t\tstart = pivot + 1;\n\t\t}\n\t}\n\tif (location == -1) {\n\t\tif (autoHide)\n\t\t\tCancel();\n\t\telse\n\t\t\tlb->Select(-1);\n\t} else {\n\t\tif (autoSort == SC_ORDER_CUSTOM) {\n\t\t\t// Check for a logically earlier match\n\t\t\tchar item[maxItemLen];\n\t\t\tfor (int i = location + 1; i <= end; ++i) {\n\t\t\t\tlb->GetValue(sortMatrix[i], item, maxItemLen);\n\t\t\t\tif (CompareNCaseInsensitive(word, item, lenWord))\n\t\t\t\t\tbreak;\n\t\t\t\tif (sortMatrix[i] < sortMatrix[location] && !strncmp(word, item, lenWord))\n\t\t\t\t\tlocation = i;\n\t\t\t}\n\t\t}\n\t\tlb->Select(sortMatrix[location]);\n\t}\n}\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/AutoComplete.h",
    "content": "// Scintilla source code edit control\n/** @file AutoComplete.h\n ** Defines the auto completion list box.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef AUTOCOMPLETE_H\n#define AUTOCOMPLETE_H\n\nnamespace Scintilla {\n\n/**\n */\nclass AutoComplete {\n\tbool active;\n\tstd::string stopChars;\n\tstd::string fillUpChars;\n\tchar separator;\n\tchar typesep; // Type seperator\n\tenum { maxItemLen=1000 };\n\tstd::vector<int> sortMatrix;\n\npublic:\n\n\tbool ignoreCase;\n\tbool chooseSingle;\n\tstd::unique_ptr<ListBox> lb;\n\tSci::Position posStart;\n\tSci::Position startLen;\n\t/// Should autocompletion be canceled if editor's currentPos <= startPos?\n\tbool cancelAtStartPos;\n\tbool autoHide;\n\tbool dropRestOfWord;\n\tunsigned int ignoreCaseBehaviour;\n\tint widthLBDefault;\n\tint heightLBDefault;\n\t/** SC_ORDER_PRESORTED:   Assume the list is presorted; selection will fail if it is not alphabetical<br />\n\t *  SC_ORDER_PERFORMSORT: Sort the list alphabetically; start up performance cost for sorting<br />\n\t *  SC_ORDER_CUSTOM:      Handle non-alphabetical entries; start up performance cost for generating a sorted lookup table\n\t */\n\tint autoSort;\n\n\tAutoComplete();\n\t~AutoComplete();\n\n\t/// Is the auto completion list displayed?\n\tbool Active() const noexcept;\n\n\t/// Display the auto completion list positioned to be near a character position\n\tvoid Start(Window &parent, int ctrlID, Sci::Position position, Point location,\n\t\tSci::Position startLen_, int lineHeight, bool unicodeMode, int technology);\n\n\t/// The stop chars are characters which, when typed, cause the auto completion list to disappear\n\tvoid SetStopChars(const char *stopChars_);\n\tbool IsStopChar(char ch) const noexcept;\n\n\t/// The fillup chars are characters which, when typed, fill up the selected word\n\tvoid SetFillUpChars(const char *fillUpChars_);\n\tbool IsFillUpChar(char ch) const noexcept;\n\n\t/// The separator character is used when interpreting the list in SetList\n\tvoid SetSeparator(char separator_);\n\tchar GetSeparator() const noexcept;\n\n\t/// The typesep character is used for separating the word from the type\n\tvoid SetTypesep(char separator_);\n\tchar GetTypesep() const noexcept;\n\n\t/// The list string contains a sequence of words separated by the separator character\n\tvoid SetList(const char *list);\n\n\t/// Return the position of the currently selected list item\n\tint GetSelection() const;\n\n\t/// Return the value of an item in the list\n\tstd::string GetValue(int item) const;\n\n\tvoid Show(bool show);\n\tvoid Cancel();\n\n\t/// Move the current list element by delta, scrolling appropriately\n\tvoid Move(int delta);\n\n\t/// Select a list element that starts with word as the current element\n\tvoid Select(const char *word);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/CallTip.cpp",
    "content": "// Scintilla source code edit control\n/** @file CallTip.cxx\n ** Code for displaying call tips.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cstring>\n#include <cstdio>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n\n#include \"StringCopy.h\"\n#include \"Position.h\"\n#include \"IntegerRectangle.h\"\n#include \"CallTip.h\"\n\nusing namespace Scintilla;\n\nCallTip::CallTip() {\n\twCallTip = 0;\n\tinCallTipMode = false;\n\tposStartCallTip = 0;\n\trectUp = PRectangle(0,0,0,0);\n\trectDown = PRectangle(0,0,0,0);\n\tlineHeight = 1;\n\toffsetMain = 0;\n\tstartHighlight = 0;\n\tendHighlight = 0;\n\ttabSize = 0;\n\tabove = false;\n\tuseStyleCallTip = false;    // for backwards compatibility\n\n\tinsetX = 5;\n\twidthArrow = 14;\n\tborderHeight = 2; // Extra line for border and an empty line at top and bottom.\n\tverticalOffset = 1;\n\n#ifdef __APPLE__\n\t// proper apple colours for the default\n\tcolourBG = ColourDesired(0xff, 0xff, 0xc6);\n\tcolourUnSel = ColourDesired(0, 0, 0);\n#else\n\tcolourBG = ColourDesired(0xff, 0xff, 0xff);\n\tcolourUnSel = ColourDesired(0x80, 0x80, 0x80);\n#endif\n\tcolourSel = ColourDesired(0, 0, 0x80);\n\tcolourShade = ColourDesired(0, 0, 0);\n\tcolourLight = ColourDesired(0xc0, 0xc0, 0xc0);\n\tcodePage = 0;\n\tclickPlace = 0;\n}\n\nCallTip::~CallTip() {\n\tfont.Release();\n\twCallTip.Destroy();\n}\n\n// Although this test includes 0, we should never see a \\0 character.\nstatic bool IsArrowCharacter(char ch) {\n\treturn (ch == 0) || (ch == '\\001') || (ch == '\\002');\n}\n\n// We ignore tabs unless a tab width has been set.\nbool CallTip::IsTabCharacter(char ch) const {\n\treturn (tabSize > 0) && (ch == '\\t');\n}\n\nint CallTip::NextTabPos(int x) const {\n\tif (tabSize > 0) {              // paranoia... not called unless this is true\n\t\tx -= insetX;                // position relative to text\n\t\tx = (x + tabSize) / tabSize;  // tab \"number\"\n\t\treturn tabSize*x + insetX;  // position of next tab\n\t} else {\n\t\treturn x + 1;                 // arbitrary\n\t}\n}\n\n// Draw a section of the call tip that does not include \\n in one colour.\n// The text may include up to numEnds tabs or arrow characters.\nvoid CallTip::DrawChunk(Surface *surface, int &x, const char *s,\n\tint posStart, int posEnd, int ytext, PRectangle rcClient,\n\tbool highlight, bool draw) {\n\ts += posStart;\n\tconst int len = posEnd - posStart;\n\n\t// Divide the text into sections that are all text, or that are\n\t// single arrows or single tab characters (if tabSize > 0).\n\tint maxEnd = 0;\n\tconst int numEnds = 10;\n\tint ends[numEnds + 2];\n\tfor (int i=0; i<len; i++) {\n\t\tif ((maxEnd < numEnds) &&\n\t\t        (IsArrowCharacter(s[i]) || IsTabCharacter(s[i]))) {\n\t\t\tif (i > 0)\n\t\t\t\tends[maxEnd++] = i;\n\t\t\tends[maxEnd++] = i+1;\n\t\t}\n\t}\n\tends[maxEnd++] = len;\n\tint startSeg = 0;\n\tint xEnd;\n\tfor (int seg = 0; seg<maxEnd; seg++) {\n\t\tconst int endSeg = ends[seg];\n\t\tif (endSeg > startSeg) {\n\t\t\tif (IsArrowCharacter(s[startSeg])) {\n\t\t\t\txEnd = x + widthArrow;\n\t\t\t\tconst bool upArrow = s[startSeg] == '\\001';\n\t\t\t\trcClient.left = static_cast<XYPOSITION>(x);\n\t\t\t\trcClient.right = static_cast<XYPOSITION>(xEnd);\n\t\t\t\tif (draw) {\n\t\t\t\t\tconst int halfWidth = widthArrow / 2 - 3;\n\t\t\t\t\tconst int quarterWidth = halfWidth / 2;\n\t\t\t\t\tconst int centreX = x + widthArrow / 2 - 1;\n\t\t\t\t\tconst int centreY = static_cast<int>(rcClient.top + rcClient.bottom) / 2;\n\t\t\t\t\tsurface->FillRectangle(rcClient, colourBG);\n\t\t\t\t\tconst PRectangle rcClientInner(rcClient.left + 1, rcClient.top + 1,\n\t\t\t\t\t                         rcClient.right - 2, rcClient.bottom - 1);\n\t\t\t\t\tsurface->FillRectangle(rcClientInner, colourUnSel);\n\n\t\t\t\t\tif (upArrow) {      // Up arrow\n\t\t\t\t\t\tPoint pts[] = {\n    \t\t\t\t\t\tPoint::FromInts(centreX - halfWidth, centreY + quarterWidth),\n    \t\t\t\t\t\tPoint::FromInts(centreX + halfWidth, centreY + quarterWidth),\n    \t\t\t\t\t\tPoint::FromInts(centreX, centreY - halfWidth + quarterWidth),\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsurface->Polygon(pts, ELEMENTS(pts), colourBG, colourBG);\n\t\t\t\t\t} else {            // Down arrow\n\t\t\t\t\t\tPoint pts[] = {\n    \t\t\t\t\t\tPoint::FromInts(centreX - halfWidth, centreY - quarterWidth),\n    \t\t\t\t\t\tPoint::FromInts(centreX + halfWidth, centreY - quarterWidth),\n    \t\t\t\t\t\tPoint::FromInts(centreX, centreY + halfWidth - quarterWidth),\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsurface->Polygon(pts, ELEMENTS(pts), colourBG, colourBG);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\toffsetMain = xEnd;\n\t\t\t\tif (upArrow) {\n\t\t\t\t\trectUp = rcClient;\n\t\t\t\t} else {\n\t\t\t\t\trectDown = rcClient;\n\t\t\t\t}\n\t\t\t} else if (IsTabCharacter(s[startSeg])) {\n\t\t\t\txEnd = NextTabPos(x);\n\t\t\t} else {\n\t\t\t\txEnd = x + static_cast<int>(lround(surface->WidthText(font, s + startSeg, endSeg - startSeg)));\n\t\t\t\tif (draw) {\n\t\t\t\t\trcClient.left = static_cast<XYPOSITION>(x);\n\t\t\t\t\trcClient.right = static_cast<XYPOSITION>(xEnd);\n\t\t\t\t\tsurface->DrawTextTransparent(rcClient, font, static_cast<XYPOSITION>(ytext),\n\t\t\t\t\t\t\t\t\t\ts+startSeg, endSeg - startSeg,\n\t\t\t\t\t                             highlight ? colourSel : colourUnSel);\n\t\t\t\t}\n\t\t\t}\n\t\t\tx = xEnd;\n\t\t\tstartSeg = endSeg;\n\t\t}\n\t}\n}\n\nint CallTip::PaintContents(Surface *surfaceWindow, bool draw) {\n\tconst PRectangle rcClientPos = wCallTip.GetClientPosition();\n\tconst PRectangle rcClientSize(0.0f, 0.0f, rcClientPos.right - rcClientPos.left,\n\t                        rcClientPos.bottom - rcClientPos.top);\n\tPRectangle rcClient(1.0f, 1.0f, rcClientSize.right - 1, rcClientSize.bottom - 1);\n\n\t// To make a nice small call tip window, it is only sized to fit most normal characters without accents\n\tconst int ascent = static_cast<int>(lround(surfaceWindow->Ascent(font) - surfaceWindow->InternalLeading(font)));\n\n\t// For each line...\n\t// Draw the definition in three parts: before highlight, highlighted, after highlight\n\tint ytext = static_cast<int>(rcClient.top) + ascent + 1;\n\trcClient.bottom = ytext + surfaceWindow->Descent(font) + 1;\n\tconst char *chunkVal = val.c_str();\n\tbool moreChunks = true;\n\tint maxWidth = 0;\n\n\twhile (moreChunks) {\n\t\tconst char *chunkEnd = strchr(chunkVal, '\\n');\n\t\tif (!chunkEnd) {\n\t\t\tchunkEnd = chunkVal + strlen(chunkVal);\n\t\t\tmoreChunks = false;\n\t\t}\n\t\tconst int chunkOffset = static_cast<int>(chunkVal - val.c_str());\n\t\tconst int chunkLength = static_cast<int>(chunkEnd - chunkVal);\n\t\tconst int chunkEndOffset = chunkOffset + chunkLength;\n\t\tint thisStartHighlight = std::max(startHighlight, chunkOffset);\n\t\tthisStartHighlight = std::min(thisStartHighlight, chunkEndOffset);\n\t\tthisStartHighlight -= chunkOffset;\n\t\tint thisEndHighlight = std::max(endHighlight, chunkOffset);\n\t\tthisEndHighlight = std::min(thisEndHighlight, chunkEndOffset);\n\t\tthisEndHighlight -= chunkOffset;\n\t\trcClient.top = static_cast<XYPOSITION>(ytext - ascent - 1);\n\n\t\tint x = insetX;     // start each line at this inset\n\n\t\tDrawChunk(surfaceWindow, x, chunkVal, 0, thisStartHighlight,\n\t\t\tytext, rcClient, false, draw);\n\t\tDrawChunk(surfaceWindow, x, chunkVal, thisStartHighlight, thisEndHighlight,\n\t\t\tytext, rcClient, true, draw);\n\t\tDrawChunk(surfaceWindow, x, chunkVal, thisEndHighlight, chunkLength,\n\t\t\tytext, rcClient, false, draw);\n\n\t\tchunkVal = chunkEnd + 1;\n\t\tytext += lineHeight;\n\t\trcClient.bottom += lineHeight;\n\t\tmaxWidth = std::max(maxWidth, x);\n\t}\n\treturn maxWidth;\n}\n\nvoid CallTip::PaintCT(Surface *surfaceWindow) {\n\tif (val.empty())\n\t\treturn;\n\tconst PRectangle rcClientPos = wCallTip.GetClientPosition();\n\tconst PRectangle rcClientSize(0.0f, 0.0f, rcClientPos.right - rcClientPos.left,\n\t                        rcClientPos.bottom - rcClientPos.top);\n\tconst PRectangle rcClient(1.0f, 1.0f, rcClientSize.right - 1, rcClientSize.bottom - 1);\n\n\tsurfaceWindow->FillRectangle(rcClient, colourBG);\n\n\toffsetMain = insetX;    // initial alignment assuming no arrows\n\tPaintContents(surfaceWindow, true);\n\n#ifndef __APPLE__\n\t// OSX doesn't put borders on \"help tags\"\n\t// Draw a raised border around the edges of the window\n\tconst IntegerRectangle ircClientSize(rcClientSize);\n\tsurfaceWindow->MoveTo(0, ircClientSize.bottom - 1);\n\tsurfaceWindow->PenColour(colourShade);\n\tsurfaceWindow->LineTo(ircClientSize.right - 1, ircClientSize.bottom - 1);\n\tsurfaceWindow->LineTo(ircClientSize.right - 1, 0);\n\tsurfaceWindow->PenColour(colourLight);\n\tsurfaceWindow->LineTo(0, 0);\n\tsurfaceWindow->LineTo(0, ircClientSize.bottom - 1);\n#endif\n}\n\nvoid CallTip::MouseClick(Point pt) {\n\tclickPlace = 0;\n\tif (rectUp.Contains(pt))\n\t\tclickPlace = 1;\n\tif (rectDown.Contains(pt))\n\t\tclickPlace = 2;\n}\n\nPRectangle CallTip::CallTipStart(Sci::Position pos, Point pt, int textHeight, const char *defn,\n                                 const char *faceName, int size,\n                                 int codePage_, int characterSet,\n\t\t\t\t\t\t\t\t int technology, const Window &wParent) {\n\tclickPlace = 0;\n\tval = defn;\n\tcodePage = codePage_;\n\tstd::unique_ptr<Surface> surfaceMeasure(Surface::Allocate(technology));\n\tsurfaceMeasure->Init(wParent.GetID());\n\tsurfaceMeasure->SetUnicodeMode(SC_CP_UTF8 == codePage);\n\tsurfaceMeasure->SetDBCSMode(codePage);\n\tstartHighlight = 0;\n\tendHighlight = 0;\n\tinCallTipMode = true;\n\tposStartCallTip = pos;\n\tconst XYPOSITION deviceHeight = static_cast<XYPOSITION>(surfaceMeasure->DeviceHeightFont(size));\n\tconst FontParameters fp(faceName, deviceHeight / SC_FONT_SIZE_MULTIPLIER, SC_WEIGHT_NORMAL, false, 0, technology, characterSet);\n\tfont.Create(fp);\n\t// Look for multiple lines in the text\n\t// Only support \\n here - simply means container must avoid \\r!\n\tconst int numLines = 1 + static_cast<int>(std::count(val.begin(), val.end(), '\\n'));\n\trectUp = PRectangle(0,0,0,0);\n\trectDown = PRectangle(0,0,0,0);\n\toffsetMain = insetX;            // changed to right edge of any arrows\n\tconst int width = PaintContents(surfaceMeasure.get(), false) + insetX;\n\tlineHeight = static_cast<int>(lround(surfaceMeasure->Height(font)));\n\n\t// The returned\n\t// rectangle is aligned to the right edge of the last arrow encountered in\n\t// the tip text, else to the tip text left edge.\n\tconst int height = lineHeight * numLines - static_cast<int>(surfaceMeasure->InternalLeading(font)) + borderHeight * 2;\n\tif (above) {\n\t\treturn PRectangle(pt.x - offsetMain, pt.y - verticalOffset - height, pt.x + width - offsetMain, pt.y - verticalOffset);\n\t} else {\n\t\treturn PRectangle(pt.x - offsetMain, pt.y + verticalOffset + textHeight, pt.x + width - offsetMain, pt.y + verticalOffset + textHeight + height);\n\t}\n}\n\nvoid CallTip::CallTipCancel() {\n\tinCallTipMode = false;\n\tif (wCallTip.Created()) {\n\t\twCallTip.Destroy();\n\t}\n}\n\nvoid CallTip::SetHighlight(int start, int end) {\n\t// Avoid flashing by checking something has really changed\n\tif ((start != startHighlight) || (end != endHighlight)) {\n\t\tstartHighlight = start;\n\t\tendHighlight = (end > start) ? end : start;\n\t\tif (wCallTip.Created()) {\n\t\t\twCallTip.InvalidateAll();\n\t\t}\n\t}\n}\n\n// Set the tab size (sizes > 0 enable the use of tabs). This also enables the\n// use of the STYLE_CALLTIP.\nvoid CallTip::SetTabSize(int tabSz) {\n\ttabSize = tabSz;\n\tuseStyleCallTip = true;\n}\n\n// Set the calltip position, below the text by default or if above is false\n// else above the text.\nvoid CallTip::SetPosition(bool aboveText) {\n\tabove = aboveText;\n}\n\n// It might be better to have two access functions for this and to use\n// them for all settings of colours.\nvoid CallTip::SetForeBack(const ColourDesired &fore, const ColourDesired &back) {\n\tcolourBG = back;\n\tcolourUnSel = fore;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/CallTip.h",
    "content": "// Scintilla source code edit control\n/** @file CallTip.h\n ** Interface to the call tip control.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CALLTIP_H\n#define CALLTIP_H\n\nnamespace Scintilla {\n\n/**\n */\nclass CallTip {\n\tint startHighlight;    // character offset to start and...\n\tint endHighlight;      // ...end of highlighted text\n\tstd::string val;\n\tFont font;\n\tPRectangle rectUp;      // rectangle of last up angle in the tip\n\tPRectangle rectDown;    // rectangle of last down arrow in the tip\n\tint lineHeight;         // vertical line spacing\n\tint offsetMain;         // The alignment point of the call tip\n\tint tabSize;            // Tab size in pixels, <=0 no TAB expand\n\tbool useStyleCallTip;   // if true, STYLE_CALLTIP should be used\n\tbool above;\t\t// if true, display calltip above text\n\n\tvoid DrawChunk(Surface *surface, int &x, const char *s,\n\t\tint posStart, int posEnd, int ytext, PRectangle rcClient,\n\t\tbool highlight, bool draw);\n\tint PaintContents(Surface *surfaceWindow, bool draw);\n\tbool IsTabCharacter(char ch) const;\n\tint NextTabPos(int x) const;\n\npublic:\n\tWindow wCallTip;\n\tWindow wDraw;\n\tbool inCallTipMode;\n\tSci::Position posStartCallTip;\n\tColourDesired colourBG;\n\tColourDesired colourUnSel;\n\tColourDesired colourSel;\n\tColourDesired colourShade;\n\tColourDesired colourLight;\n\tint codePage;\n\tint clickPlace;\n\n\tint insetX; // text inset in x from calltip border\n\tint widthArrow;\n\tint borderHeight;\n\tint verticalOffset; // pixel offset up or down of the calltip with respect to the line\n\n\tCallTip();\n\t// Deleted so CallTip objects can not be copied.\n\tCallTip(const CallTip &) = delete;\n\tCallTip(CallTip &&) = delete;\n\tCallTip &operator=(const CallTip &) = delete;\n\tCallTip &operator=(CallTip &&) = delete;\n\t~CallTip();\n\n\tvoid PaintCT(Surface *surfaceWindow);\n\n\tvoid MouseClick(Point pt);\n\n\t/// Setup the calltip and return a rectangle of the area required.\n\tPRectangle CallTipStart(Sci::Position pos, Point pt, int textHeight, const char *defn,\n\t\tconst char *faceName, int size, int codePage_,\n\t\tint characterSet, int technology, const Window &wParent);\n\n\tvoid CallTipCancel();\n\n\t/// Set a range of characters to be displayed in a highlight style.\n\t/// Commonly used to highlight the current parameter.\n\tvoid SetHighlight(int start, int end);\n\n\t/// Set the tab size in pixels for the call tip. 0 or -ve means no tab expand.\n\tvoid SetTabSize(int tabSz);\n\n\t/// Set calltip position.\n\tvoid SetPosition(bool aboveText);\n\n\t/// Used to determine which STYLE_xxxx to use for call tip information\n\tbool UseStyleCallTip() const { return useStyleCallTip;}\n\n\t// Modify foreground and background colours\n\tvoid SetForeBack(const ColourDesired &fore, const ColourDesired &back);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/CaseConvert.cpp",
    "content": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file CaseConvert.cxx\n ** Case fold characters and convert them to upper or lower case.\n ** Tables automatically regenerated by scripts/GenerateCaseConvert.py\n ** Should only be rarely regenerated for new versions of Unicode.\n **/\n// Copyright 2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstring>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <algorithm>\n\n#include \"StringCopy.h\"\n#include \"CaseConvert.h\"\n#include \"UniConversion.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\t// Use an unnamed namespace to protect the declarations from name conflicts\n\n// Unicode code points are ordered by groups and follow patterns.\n// Most characters (pitch==1) are in ranges for a particular alphabet and their\n// upper case forms are a fixed distance away.\n// Another pattern (pitch==2) is where each lower case letter is preceded by\n// the upper case form. These are also grouped into ranges.\n\nint symmetricCaseConversionRanges[] = {\n//lower, upper, range length, range pitch\n//++Autogenerated -- start of section automatically generated\n//**\\(\\*\\n\\)\n97,65,26,1,\n224,192,23,1,\n248,216,7,1,\n257,256,24,2,\n314,313,8,2,\n331,330,23,2,\n462,461,8,2,\n479,478,9,2,\n505,504,20,2,\n547,546,9,2,\n583,582,5,2,\n945,913,17,1,\n963,931,9,1,\n985,984,12,2,\n1072,1040,32,1,\n1104,1024,16,1,\n1121,1120,17,2,\n1163,1162,27,2,\n1218,1217,7,2,\n1233,1232,48,2,\n1377,1329,38,1,\n4304,7312,43,1,\n7681,7680,75,2,\n7841,7840,48,2,\n7936,7944,8,1,\n7952,7960,6,1,\n7968,7976,8,1,\n7984,7992,8,1,\n8000,8008,6,1,\n8032,8040,8,1,\n8560,8544,16,1,\n9424,9398,26,1,\n11312,11264,47,1,\n11393,11392,50,2,\n11520,4256,38,1,\n42561,42560,23,2,\n42625,42624,14,2,\n42787,42786,7,2,\n42803,42802,31,2,\n42879,42878,5,2,\n42903,42902,10,2,\n65345,65313,26,1,\n66600,66560,40,1,\n66776,66736,36,1,\n68800,68736,51,1,\n71872,71840,32,1,\n93792,93760,32,1,\n125218,125184,34,1,\n\n//--Autogenerated -- end of section automatically generated\n};\n\n// Code points that are symmetric but don't fit into a range of similar characters\n// are listed here.\n\nint symmetricCaseConversions[] = {\n//lower, upper\n//++Autogenerated -- start of section automatically generated\n//**1 \\(\\*\\n\\)\n255,376,\n307,306,\n309,308,\n311,310,\n378,377,\n380,379,\n382,381,\n384,579,\n387,386,\n389,388,\n392,391,\n396,395,\n402,401,\n405,502,\n409,408,\n410,573,\n414,544,\n417,416,\n419,418,\n421,420,\n424,423,\n429,428,\n432,431,\n436,435,\n438,437,\n441,440,\n445,444,\n447,503,\n454,452,\n457,455,\n460,458,\n477,398,\n499,497,\n501,500,\n572,571,\n575,11390,\n576,11391,\n578,577,\n592,11375,\n593,11373,\n594,11376,\n595,385,\n596,390,\n598,393,\n599,394,\n601,399,\n603,400,\n604,42923,\n608,403,\n609,42924,\n611,404,\n613,42893,\n614,42922,\n616,407,\n617,406,\n618,42926,\n619,11362,\n620,42925,\n623,412,\n625,11374,\n626,413,\n629,415,\n637,11364,\n640,422,\n643,425,\n647,42929,\n648,430,\n649,580,\n650,433,\n651,434,\n652,581,\n658,439,\n669,42930,\n670,42928,\n881,880,\n883,882,\n887,886,\n891,1021,\n892,1022,\n893,1023,\n940,902,\n941,904,\n942,905,\n943,906,\n972,908,\n973,910,\n974,911,\n983,975,\n1010,1017,\n1011,895,\n1016,1015,\n1019,1018,\n1231,1216,\n4349,7357,\n4350,7358,\n4351,7359,\n7545,42877,\n7549,11363,\n8017,8025,\n8019,8027,\n8021,8029,\n8023,8031,\n8048,8122,\n8049,8123,\n8050,8136,\n8051,8137,\n8052,8138,\n8053,8139,\n8054,8154,\n8055,8155,\n8056,8184,\n8057,8185,\n8058,8170,\n8059,8171,\n8060,8186,\n8061,8187,\n8112,8120,\n8113,8121,\n8144,8152,\n8145,8153,\n8160,8168,\n8161,8169,\n8165,8172,\n8526,8498,\n8580,8579,\n11361,11360,\n11365,570,\n11366,574,\n11368,11367,\n11370,11369,\n11372,11371,\n11379,11378,\n11382,11381,\n11500,11499,\n11502,11501,\n11507,11506,\n11559,4295,\n11565,4301,\n42874,42873,\n42876,42875,\n42892,42891,\n42897,42896,\n42899,42898,\n42933,42932,\n42935,42934,\n42937,42936,\n43859,42931,\n\n//--Autogenerated -- end of section automatically generated\n};\n\n// Characters that have complex case conversions are listed here.\n// This includes cases where more than one character is needed for a conversion,\n// folding is different to lowering, or (as appropriate) upper(lower(x)) != x or\n// lower(upper(x)) != x.\n\nconst char *complexCaseConversions =\n// Original | Folded | Upper | Lower |\n//++Autogenerated -- start of section automatically generated\n//**2 \\(\\*\\n\\)\n\"\\xc2\\xb5|\\xce\\xbc|\\xce\\x9c||\"\n\"\\xc3\\x9f|ss|SS||\"\n\"\\xc4\\xb0|i\\xcc\\x87||i\\xcc\\x87|\"\n\"\\xc4\\xb1||I||\"\n\"\\xc5\\x89|\\xca\\xbcn|\\xca\\xbcN||\"\n\"\\xc5\\xbf|s|S||\"\n\"\\xc7\\x85|\\xc7\\x86|\\xc7\\x84|\\xc7\\x86|\"\n\"\\xc7\\x88|\\xc7\\x89|\\xc7\\x87|\\xc7\\x89|\"\n\"\\xc7\\x8b|\\xc7\\x8c|\\xc7\\x8a|\\xc7\\x8c|\"\n\"\\xc7\\xb0|j\\xcc\\x8c|J\\xcc\\x8c||\"\n\"\\xc7\\xb2|\\xc7\\xb3|\\xc7\\xb1|\\xc7\\xb3|\"\n\"\\xcd\\x85|\\xce\\xb9|\\xce\\x99||\"\n\"\\xce\\x90|\\xce\\xb9\\xcc\\x88\\xcc\\x81|\\xce\\x99\\xcc\\x88\\xcc\\x81||\"\n\"\\xce\\xb0|\\xcf\\x85\\xcc\\x88\\xcc\\x81|\\xce\\xa5\\xcc\\x88\\xcc\\x81||\"\n\"\\xcf\\x82|\\xcf\\x83|\\xce\\xa3||\"\n\"\\xcf\\x90|\\xce\\xb2|\\xce\\x92||\"\n\"\\xcf\\x91|\\xce\\xb8|\\xce\\x98||\"\n\"\\xcf\\x95|\\xcf\\x86|\\xce\\xa6||\"\n\"\\xcf\\x96|\\xcf\\x80|\\xce\\xa0||\"\n\"\\xcf\\xb0|\\xce\\xba|\\xce\\x9a||\"\n\"\\xcf\\xb1|\\xcf\\x81|\\xce\\xa1||\"\n\"\\xcf\\xb4|\\xce\\xb8||\\xce\\xb8|\"\n\"\\xcf\\xb5|\\xce\\xb5|\\xce\\x95||\"\n\"\\xd6\\x87|\\xd5\\xa5\\xd6\\x82|\\xd4\\xb5\\xd5\\x92||\"\n\"\\xe1\\x8e\\xa0|||\\xea\\xad\\xb0|\"\n\"\\xe1\\x8e\\xa1|||\\xea\\xad\\xb1|\"\n\"\\xe1\\x8e\\xa2|||\\xea\\xad\\xb2|\"\n\"\\xe1\\x8e\\xa3|||\\xea\\xad\\xb3|\"\n\"\\xe1\\x8e\\xa4|||\\xea\\xad\\xb4|\"\n\"\\xe1\\x8e\\xa5|||\\xea\\xad\\xb5|\"\n\"\\xe1\\x8e\\xa6|||\\xea\\xad\\xb6|\"\n\"\\xe1\\x8e\\xa7|||\\xea\\xad\\xb7|\"\n\"\\xe1\\x8e\\xa8|||\\xea\\xad\\xb8|\"\n\"\\xe1\\x8e\\xa9|||\\xea\\xad\\xb9|\"\n\"\\xe1\\x8e\\xaa|||\\xea\\xad\\xba|\"\n\"\\xe1\\x8e\\xab|||\\xea\\xad\\xbb|\"\n\"\\xe1\\x8e\\xac|||\\xea\\xad\\xbc|\"\n\"\\xe1\\x8e\\xad|||\\xea\\xad\\xbd|\"\n\"\\xe1\\x8e\\xae|||\\xea\\xad\\xbe|\"\n\"\\xe1\\x8e\\xaf|||\\xea\\xad\\xbf|\"\n\"\\xe1\\x8e\\xb0|||\\xea\\xae\\x80|\"\n\"\\xe1\\x8e\\xb1|||\\xea\\xae\\x81|\"\n\"\\xe1\\x8e\\xb2|||\\xea\\xae\\x82|\"\n\"\\xe1\\x8e\\xb3|||\\xea\\xae\\x83|\"\n\"\\xe1\\x8e\\xb4|||\\xea\\xae\\x84|\"\n\"\\xe1\\x8e\\xb5|||\\xea\\xae\\x85|\"\n\"\\xe1\\x8e\\xb6|||\\xea\\xae\\x86|\"\n\"\\xe1\\x8e\\xb7|||\\xea\\xae\\x87|\"\n\"\\xe1\\x8e\\xb8|||\\xea\\xae\\x88|\"\n\"\\xe1\\x8e\\xb9|||\\xea\\xae\\x89|\"\n\"\\xe1\\x8e\\xba|||\\xea\\xae\\x8a|\"\n\"\\xe1\\x8e\\xbb|||\\xea\\xae\\x8b|\"\n\"\\xe1\\x8e\\xbc|||\\xea\\xae\\x8c|\"\n\"\\xe1\\x8e\\xbd|||\\xea\\xae\\x8d|\"\n\"\\xe1\\x8e\\xbe|||\\xea\\xae\\x8e|\"\n\"\\xe1\\x8e\\xbf|||\\xea\\xae\\x8f|\"\n\"\\xe1\\x8f\\x80|||\\xea\\xae\\x90|\"\n\"\\xe1\\x8f\\x81|||\\xea\\xae\\x91|\"\n\"\\xe1\\x8f\\x82|||\\xea\\xae\\x92|\"\n\"\\xe1\\x8f\\x83|||\\xea\\xae\\x93|\"\n\"\\xe1\\x8f\\x84|||\\xea\\xae\\x94|\"\n\"\\xe1\\x8f\\x85|||\\xea\\xae\\x95|\"\n\"\\xe1\\x8f\\x86|||\\xea\\xae\\x96|\"\n\"\\xe1\\x8f\\x87|||\\xea\\xae\\x97|\"\n\"\\xe1\\x8f\\x88|||\\xea\\xae\\x98|\"\n\"\\xe1\\x8f\\x89|||\\xea\\xae\\x99|\"\n\"\\xe1\\x8f\\x8a|||\\xea\\xae\\x9a|\"\n\"\\xe1\\x8f\\x8b|||\\xea\\xae\\x9b|\"\n\"\\xe1\\x8f\\x8c|||\\xea\\xae\\x9c|\"\n\"\\xe1\\x8f\\x8d|||\\xea\\xae\\x9d|\"\n\"\\xe1\\x8f\\x8e|||\\xea\\xae\\x9e|\"\n\"\\xe1\\x8f\\x8f|||\\xea\\xae\\x9f|\"\n\"\\xe1\\x8f\\x90|||\\xea\\xae\\xa0|\"\n\"\\xe1\\x8f\\x91|||\\xea\\xae\\xa1|\"\n\"\\xe1\\x8f\\x92|||\\xea\\xae\\xa2|\"\n\"\\xe1\\x8f\\x93|||\\xea\\xae\\xa3|\"\n\"\\xe1\\x8f\\x94|||\\xea\\xae\\xa4|\"\n\"\\xe1\\x8f\\x95|||\\xea\\xae\\xa5|\"\n\"\\xe1\\x8f\\x96|||\\xea\\xae\\xa6|\"\n\"\\xe1\\x8f\\x97|||\\xea\\xae\\xa7|\"\n\"\\xe1\\x8f\\x98|||\\xea\\xae\\xa8|\"\n\"\\xe1\\x8f\\x99|||\\xea\\xae\\xa9|\"\n\"\\xe1\\x8f\\x9a|||\\xea\\xae\\xaa|\"\n\"\\xe1\\x8f\\x9b|||\\xea\\xae\\xab|\"\n\"\\xe1\\x8f\\x9c|||\\xea\\xae\\xac|\"\n\"\\xe1\\x8f\\x9d|||\\xea\\xae\\xad|\"\n\"\\xe1\\x8f\\x9e|||\\xea\\xae\\xae|\"\n\"\\xe1\\x8f\\x9f|||\\xea\\xae\\xaf|\"\n\"\\xe1\\x8f\\xa0|||\\xea\\xae\\xb0|\"\n\"\\xe1\\x8f\\xa1|||\\xea\\xae\\xb1|\"\n\"\\xe1\\x8f\\xa2|||\\xea\\xae\\xb2|\"\n\"\\xe1\\x8f\\xa3|||\\xea\\xae\\xb3|\"\n\"\\xe1\\x8f\\xa4|||\\xea\\xae\\xb4|\"\n\"\\xe1\\x8f\\xa5|||\\xea\\xae\\xb5|\"\n\"\\xe1\\x8f\\xa6|||\\xea\\xae\\xb6|\"\n\"\\xe1\\x8f\\xa7|||\\xea\\xae\\xb7|\"\n\"\\xe1\\x8f\\xa8|||\\xea\\xae\\xb8|\"\n\"\\xe1\\x8f\\xa9|||\\xea\\xae\\xb9|\"\n\"\\xe1\\x8f\\xaa|||\\xea\\xae\\xba|\"\n\"\\xe1\\x8f\\xab|||\\xea\\xae\\xbb|\"\n\"\\xe1\\x8f\\xac|||\\xea\\xae\\xbc|\"\n\"\\xe1\\x8f\\xad|||\\xea\\xae\\xbd|\"\n\"\\xe1\\x8f\\xae|||\\xea\\xae\\xbe|\"\n\"\\xe1\\x8f\\xaf|||\\xea\\xae\\xbf|\"\n\"\\xe1\\x8f\\xb0|||\\xe1\\x8f\\xb8|\"\n\"\\xe1\\x8f\\xb1|||\\xe1\\x8f\\xb9|\"\n\"\\xe1\\x8f\\xb2|||\\xe1\\x8f\\xba|\"\n\"\\xe1\\x8f\\xb3|||\\xe1\\x8f\\xbb|\"\n\"\\xe1\\x8f\\xb4|||\\xe1\\x8f\\xbc|\"\n\"\\xe1\\x8f\\xb5|||\\xe1\\x8f\\xbd|\"\n\"\\xe1\\x8f\\xb8|\\xe1\\x8f\\xb0|\\xe1\\x8f\\xb0||\"\n\"\\xe1\\x8f\\xb9|\\xe1\\x8f\\xb1|\\xe1\\x8f\\xb1||\"\n\"\\xe1\\x8f\\xba|\\xe1\\x8f\\xb2|\\xe1\\x8f\\xb2||\"\n\"\\xe1\\x8f\\xbb|\\xe1\\x8f\\xb3|\\xe1\\x8f\\xb3||\"\n\"\\xe1\\x8f\\xbc|\\xe1\\x8f\\xb4|\\xe1\\x8f\\xb4||\"\n\"\\xe1\\x8f\\xbd|\\xe1\\x8f\\xb5|\\xe1\\x8f\\xb5||\"\n\"\\xe1\\xb2\\x80|\\xd0\\xb2|\\xd0\\x92||\"\n\"\\xe1\\xb2\\x81|\\xd0\\xb4|\\xd0\\x94||\"\n\"\\xe1\\xb2\\x82|\\xd0\\xbe|\\xd0\\x9e||\"\n\"\\xe1\\xb2\\x83|\\xd1\\x81|\\xd0\\xa1||\"\n\"\\xe1\\xb2\\x84|\\xd1\\x82|\\xd0\\xa2||\"\n\"\\xe1\\xb2\\x85|\\xd1\\x82|\\xd0\\xa2||\"\n\"\\xe1\\xb2\\x86|\\xd1\\x8a|\\xd0\\xaa||\"\n\"\\xe1\\xb2\\x87|\\xd1\\xa3|\\xd1\\xa2||\"\n\"\\xe1\\xb2\\x88|\\xea\\x99\\x8b|\\xea\\x99\\x8a||\"\n\"\\xe1\\xba\\x96|h\\xcc\\xb1|H\\xcc\\xb1||\"\n\"\\xe1\\xba\\x97|t\\xcc\\x88|T\\xcc\\x88||\"\n\"\\xe1\\xba\\x98|w\\xcc\\x8a|W\\xcc\\x8a||\"\n\"\\xe1\\xba\\x99|y\\xcc\\x8a|Y\\xcc\\x8a||\"\n\"\\xe1\\xba\\x9a|a\\xca\\xbe|A\\xca\\xbe||\"\n\"\\xe1\\xba\\x9b|\\xe1\\xb9\\xa1|\\xe1\\xb9\\xa0||\"\n\"\\xe1\\xba\\x9e|ss||\\xc3\\x9f|\"\n\"\\xe1\\xbd\\x90|\\xcf\\x85\\xcc\\x93|\\xce\\xa5\\xcc\\x93||\"\n\"\\xe1\\xbd\\x92|\\xcf\\x85\\xcc\\x93\\xcc\\x80|\\xce\\xa5\\xcc\\x93\\xcc\\x80||\"\n\"\\xe1\\xbd\\x94|\\xcf\\x85\\xcc\\x93\\xcc\\x81|\\xce\\xa5\\xcc\\x93\\xcc\\x81||\"\n\"\\xe1\\xbd\\x96|\\xcf\\x85\\xcc\\x93\\xcd\\x82|\\xce\\xa5\\xcc\\x93\\xcd\\x82||\"\n\"\\xe1\\xbe\\x80|\\xe1\\xbc\\x80\\xce\\xb9|\\xe1\\xbc\\x88\\xce\\x99||\"\n\"\\xe1\\xbe\\x81|\\xe1\\xbc\\x81\\xce\\xb9|\\xe1\\xbc\\x89\\xce\\x99||\"\n\"\\xe1\\xbe\\x82|\\xe1\\xbc\\x82\\xce\\xb9|\\xe1\\xbc\\x8a\\xce\\x99||\"\n\"\\xe1\\xbe\\x83|\\xe1\\xbc\\x83\\xce\\xb9|\\xe1\\xbc\\x8b\\xce\\x99||\"\n\"\\xe1\\xbe\\x84|\\xe1\\xbc\\x84\\xce\\xb9|\\xe1\\xbc\\x8c\\xce\\x99||\"\n\"\\xe1\\xbe\\x85|\\xe1\\xbc\\x85\\xce\\xb9|\\xe1\\xbc\\x8d\\xce\\x99||\"\n\"\\xe1\\xbe\\x86|\\xe1\\xbc\\x86\\xce\\xb9|\\xe1\\xbc\\x8e\\xce\\x99||\"\n\"\\xe1\\xbe\\x87|\\xe1\\xbc\\x87\\xce\\xb9|\\xe1\\xbc\\x8f\\xce\\x99||\"\n\"\\xe1\\xbe\\x88|\\xe1\\xbc\\x80\\xce\\xb9|\\xe1\\xbc\\x88\\xce\\x99|\\xe1\\xbe\\x80|\"\n\"\\xe1\\xbe\\x89|\\xe1\\xbc\\x81\\xce\\xb9|\\xe1\\xbc\\x89\\xce\\x99|\\xe1\\xbe\\x81|\"\n\"\\xe1\\xbe\\x8a|\\xe1\\xbc\\x82\\xce\\xb9|\\xe1\\xbc\\x8a\\xce\\x99|\\xe1\\xbe\\x82|\"\n\"\\xe1\\xbe\\x8b|\\xe1\\xbc\\x83\\xce\\xb9|\\xe1\\xbc\\x8b\\xce\\x99|\\xe1\\xbe\\x83|\"\n\"\\xe1\\xbe\\x8c|\\xe1\\xbc\\x84\\xce\\xb9|\\xe1\\xbc\\x8c\\xce\\x99|\\xe1\\xbe\\x84|\"\n\"\\xe1\\xbe\\x8d|\\xe1\\xbc\\x85\\xce\\xb9|\\xe1\\xbc\\x8d\\xce\\x99|\\xe1\\xbe\\x85|\"\n\"\\xe1\\xbe\\x8e|\\xe1\\xbc\\x86\\xce\\xb9|\\xe1\\xbc\\x8e\\xce\\x99|\\xe1\\xbe\\x86|\"\n\"\\xe1\\xbe\\x8f|\\xe1\\xbc\\x87\\xce\\xb9|\\xe1\\xbc\\x8f\\xce\\x99|\\xe1\\xbe\\x87|\"\n\"\\xe1\\xbe\\x90|\\xe1\\xbc\\xa0\\xce\\xb9|\\xe1\\xbc\\xa8\\xce\\x99||\"\n\"\\xe1\\xbe\\x91|\\xe1\\xbc\\xa1\\xce\\xb9|\\xe1\\xbc\\xa9\\xce\\x99||\"\n\"\\xe1\\xbe\\x92|\\xe1\\xbc\\xa2\\xce\\xb9|\\xe1\\xbc\\xaa\\xce\\x99||\"\n\"\\xe1\\xbe\\x93|\\xe1\\xbc\\xa3\\xce\\xb9|\\xe1\\xbc\\xab\\xce\\x99||\"\n\"\\xe1\\xbe\\x94|\\xe1\\xbc\\xa4\\xce\\xb9|\\xe1\\xbc\\xac\\xce\\x99||\"\n\"\\xe1\\xbe\\x95|\\xe1\\xbc\\xa5\\xce\\xb9|\\xe1\\xbc\\xad\\xce\\x99||\"\n\"\\xe1\\xbe\\x96|\\xe1\\xbc\\xa6\\xce\\xb9|\\xe1\\xbc\\xae\\xce\\x99||\"\n\"\\xe1\\xbe\\x97|\\xe1\\xbc\\xa7\\xce\\xb9|\\xe1\\xbc\\xaf\\xce\\x99||\"\n\"\\xe1\\xbe\\x98|\\xe1\\xbc\\xa0\\xce\\xb9|\\xe1\\xbc\\xa8\\xce\\x99|\\xe1\\xbe\\x90|\"\n\"\\xe1\\xbe\\x99|\\xe1\\xbc\\xa1\\xce\\xb9|\\xe1\\xbc\\xa9\\xce\\x99|\\xe1\\xbe\\x91|\"\n\"\\xe1\\xbe\\x9a|\\xe1\\xbc\\xa2\\xce\\xb9|\\xe1\\xbc\\xaa\\xce\\x99|\\xe1\\xbe\\x92|\"\n\"\\xe1\\xbe\\x9b|\\xe1\\xbc\\xa3\\xce\\xb9|\\xe1\\xbc\\xab\\xce\\x99|\\xe1\\xbe\\x93|\"\n\"\\xe1\\xbe\\x9c|\\xe1\\xbc\\xa4\\xce\\xb9|\\xe1\\xbc\\xac\\xce\\x99|\\xe1\\xbe\\x94|\"\n\"\\xe1\\xbe\\x9d|\\xe1\\xbc\\xa5\\xce\\xb9|\\xe1\\xbc\\xad\\xce\\x99|\\xe1\\xbe\\x95|\"\n\"\\xe1\\xbe\\x9e|\\xe1\\xbc\\xa6\\xce\\xb9|\\xe1\\xbc\\xae\\xce\\x99|\\xe1\\xbe\\x96|\"\n\"\\xe1\\xbe\\x9f|\\xe1\\xbc\\xa7\\xce\\xb9|\\xe1\\xbc\\xaf\\xce\\x99|\\xe1\\xbe\\x97|\"\n\"\\xe1\\xbe\\xa0|\\xe1\\xbd\\xa0\\xce\\xb9|\\xe1\\xbd\\xa8\\xce\\x99||\"\n\"\\xe1\\xbe\\xa1|\\xe1\\xbd\\xa1\\xce\\xb9|\\xe1\\xbd\\xa9\\xce\\x99||\"\n\"\\xe1\\xbe\\xa2|\\xe1\\xbd\\xa2\\xce\\xb9|\\xe1\\xbd\\xaa\\xce\\x99||\"\n\"\\xe1\\xbe\\xa3|\\xe1\\xbd\\xa3\\xce\\xb9|\\xe1\\xbd\\xab\\xce\\x99||\"\n\"\\xe1\\xbe\\xa4|\\xe1\\xbd\\xa4\\xce\\xb9|\\xe1\\xbd\\xac\\xce\\x99||\"\n\"\\xe1\\xbe\\xa5|\\xe1\\xbd\\xa5\\xce\\xb9|\\xe1\\xbd\\xad\\xce\\x99||\"\n\"\\xe1\\xbe\\xa6|\\xe1\\xbd\\xa6\\xce\\xb9|\\xe1\\xbd\\xae\\xce\\x99||\"\n\"\\xe1\\xbe\\xa7|\\xe1\\xbd\\xa7\\xce\\xb9|\\xe1\\xbd\\xaf\\xce\\x99||\"\n\"\\xe1\\xbe\\xa8|\\xe1\\xbd\\xa0\\xce\\xb9|\\xe1\\xbd\\xa8\\xce\\x99|\\xe1\\xbe\\xa0|\"\n\"\\xe1\\xbe\\xa9|\\xe1\\xbd\\xa1\\xce\\xb9|\\xe1\\xbd\\xa9\\xce\\x99|\\xe1\\xbe\\xa1|\"\n\"\\xe1\\xbe\\xaa|\\xe1\\xbd\\xa2\\xce\\xb9|\\xe1\\xbd\\xaa\\xce\\x99|\\xe1\\xbe\\xa2|\"\n\"\\xe1\\xbe\\xab|\\xe1\\xbd\\xa3\\xce\\xb9|\\xe1\\xbd\\xab\\xce\\x99|\\xe1\\xbe\\xa3|\"\n\"\\xe1\\xbe\\xac|\\xe1\\xbd\\xa4\\xce\\xb9|\\xe1\\xbd\\xac\\xce\\x99|\\xe1\\xbe\\xa4|\"\n\"\\xe1\\xbe\\xad|\\xe1\\xbd\\xa5\\xce\\xb9|\\xe1\\xbd\\xad\\xce\\x99|\\xe1\\xbe\\xa5|\"\n\"\\xe1\\xbe\\xae|\\xe1\\xbd\\xa6\\xce\\xb9|\\xe1\\xbd\\xae\\xce\\x99|\\xe1\\xbe\\xa6|\"\n\"\\xe1\\xbe\\xaf|\\xe1\\xbd\\xa7\\xce\\xb9|\\xe1\\xbd\\xaf\\xce\\x99|\\xe1\\xbe\\xa7|\"\n\"\\xe1\\xbe\\xb2|\\xe1\\xbd\\xb0\\xce\\xb9|\\xe1\\xbe\\xba\\xce\\x99||\"\n\"\\xe1\\xbe\\xb3|\\xce\\xb1\\xce\\xb9|\\xce\\x91\\xce\\x99||\"\n\"\\xe1\\xbe\\xb4|\\xce\\xac\\xce\\xb9|\\xce\\x86\\xce\\x99||\"\n\"\\xe1\\xbe\\xb6|\\xce\\xb1\\xcd\\x82|\\xce\\x91\\xcd\\x82||\"\n\"\\xe1\\xbe\\xb7|\\xce\\xb1\\xcd\\x82\\xce\\xb9|\\xce\\x91\\xcd\\x82\\xce\\x99||\"\n\"\\xe1\\xbe\\xbc|\\xce\\xb1\\xce\\xb9|\\xce\\x91\\xce\\x99|\\xe1\\xbe\\xb3|\"\n\"\\xe1\\xbe\\xbe|\\xce\\xb9|\\xce\\x99||\"\n\"\\xe1\\xbf\\x82|\\xe1\\xbd\\xb4\\xce\\xb9|\\xe1\\xbf\\x8a\\xce\\x99||\"\n\"\\xe1\\xbf\\x83|\\xce\\xb7\\xce\\xb9|\\xce\\x97\\xce\\x99||\"\n\"\\xe1\\xbf\\x84|\\xce\\xae\\xce\\xb9|\\xce\\x89\\xce\\x99||\"\n\"\\xe1\\xbf\\x86|\\xce\\xb7\\xcd\\x82|\\xce\\x97\\xcd\\x82||\"\n\"\\xe1\\xbf\\x87|\\xce\\xb7\\xcd\\x82\\xce\\xb9|\\xce\\x97\\xcd\\x82\\xce\\x99||\"\n\"\\xe1\\xbf\\x8c|\\xce\\xb7\\xce\\xb9|\\xce\\x97\\xce\\x99|\\xe1\\xbf\\x83|\"\n\"\\xe1\\xbf\\x92|\\xce\\xb9\\xcc\\x88\\xcc\\x80|\\xce\\x99\\xcc\\x88\\xcc\\x80||\"\n\"\\xe1\\xbf\\x93|\\xce\\xb9\\xcc\\x88\\xcc\\x81|\\xce\\x99\\xcc\\x88\\xcc\\x81||\"\n\"\\xe1\\xbf\\x96|\\xce\\xb9\\xcd\\x82|\\xce\\x99\\xcd\\x82||\"\n\"\\xe1\\xbf\\x97|\\xce\\xb9\\xcc\\x88\\xcd\\x82|\\xce\\x99\\xcc\\x88\\xcd\\x82||\"\n\"\\xe1\\xbf\\xa2|\\xcf\\x85\\xcc\\x88\\xcc\\x80|\\xce\\xa5\\xcc\\x88\\xcc\\x80||\"\n\"\\xe1\\xbf\\xa3|\\xcf\\x85\\xcc\\x88\\xcc\\x81|\\xce\\xa5\\xcc\\x88\\xcc\\x81||\"\n\"\\xe1\\xbf\\xa4|\\xcf\\x81\\xcc\\x93|\\xce\\xa1\\xcc\\x93||\"\n\"\\xe1\\xbf\\xa6|\\xcf\\x85\\xcd\\x82|\\xce\\xa5\\xcd\\x82||\"\n\"\\xe1\\xbf\\xa7|\\xcf\\x85\\xcc\\x88\\xcd\\x82|\\xce\\xa5\\xcc\\x88\\xcd\\x82||\"\n\"\\xe1\\xbf\\xb2|\\xe1\\xbd\\xbc\\xce\\xb9|\\xe1\\xbf\\xba\\xce\\x99||\"\n\"\\xe1\\xbf\\xb3|\\xcf\\x89\\xce\\xb9|\\xce\\xa9\\xce\\x99||\"\n\"\\xe1\\xbf\\xb4|\\xcf\\x8e\\xce\\xb9|\\xce\\x8f\\xce\\x99||\"\n\"\\xe1\\xbf\\xb6|\\xcf\\x89\\xcd\\x82|\\xce\\xa9\\xcd\\x82||\"\n\"\\xe1\\xbf\\xb7|\\xcf\\x89\\xcd\\x82\\xce\\xb9|\\xce\\xa9\\xcd\\x82\\xce\\x99||\"\n\"\\xe1\\xbf\\xbc|\\xcf\\x89\\xce\\xb9|\\xce\\xa9\\xce\\x99|\\xe1\\xbf\\xb3|\"\n\"\\xe2\\x84\\xa6|\\xcf\\x89||\\xcf\\x89|\"\n\"\\xe2\\x84\\xaa|k||k|\"\n\"\\xe2\\x84\\xab|\\xc3\\xa5||\\xc3\\xa5|\"\n\"\\xea\\xad\\xb0|\\xe1\\x8e\\xa0|\\xe1\\x8e\\xa0||\"\n\"\\xea\\xad\\xb1|\\xe1\\x8e\\xa1|\\xe1\\x8e\\xa1||\"\n\"\\xea\\xad\\xb2|\\xe1\\x8e\\xa2|\\xe1\\x8e\\xa2||\"\n\"\\xea\\xad\\xb3|\\xe1\\x8e\\xa3|\\xe1\\x8e\\xa3||\"\n\"\\xea\\xad\\xb4|\\xe1\\x8e\\xa4|\\xe1\\x8e\\xa4||\"\n\"\\xea\\xad\\xb5|\\xe1\\x8e\\xa5|\\xe1\\x8e\\xa5||\"\n\"\\xea\\xad\\xb6|\\xe1\\x8e\\xa6|\\xe1\\x8e\\xa6||\"\n\"\\xea\\xad\\xb7|\\xe1\\x8e\\xa7|\\xe1\\x8e\\xa7||\"\n\"\\xea\\xad\\xb8|\\xe1\\x8e\\xa8|\\xe1\\x8e\\xa8||\"\n\"\\xea\\xad\\xb9|\\xe1\\x8e\\xa9|\\xe1\\x8e\\xa9||\"\n\"\\xea\\xad\\xba|\\xe1\\x8e\\xaa|\\xe1\\x8e\\xaa||\"\n\"\\xea\\xad\\xbb|\\xe1\\x8e\\xab|\\xe1\\x8e\\xab||\"\n\"\\xea\\xad\\xbc|\\xe1\\x8e\\xac|\\xe1\\x8e\\xac||\"\n\"\\xea\\xad\\xbd|\\xe1\\x8e\\xad|\\xe1\\x8e\\xad||\"\n\"\\xea\\xad\\xbe|\\xe1\\x8e\\xae|\\xe1\\x8e\\xae||\"\n\"\\xea\\xad\\xbf|\\xe1\\x8e\\xaf|\\xe1\\x8e\\xaf||\"\n\"\\xea\\xae\\x80|\\xe1\\x8e\\xb0|\\xe1\\x8e\\xb0||\"\n\"\\xea\\xae\\x81|\\xe1\\x8e\\xb1|\\xe1\\x8e\\xb1||\"\n\"\\xea\\xae\\x82|\\xe1\\x8e\\xb2|\\xe1\\x8e\\xb2||\"\n\"\\xea\\xae\\x83|\\xe1\\x8e\\xb3|\\xe1\\x8e\\xb3||\"\n\"\\xea\\xae\\x84|\\xe1\\x8e\\xb4|\\xe1\\x8e\\xb4||\"\n\"\\xea\\xae\\x85|\\xe1\\x8e\\xb5|\\xe1\\x8e\\xb5||\"\n\"\\xea\\xae\\x86|\\xe1\\x8e\\xb6|\\xe1\\x8e\\xb6||\"\n\"\\xea\\xae\\x87|\\xe1\\x8e\\xb7|\\xe1\\x8e\\xb7||\"\n\"\\xea\\xae\\x88|\\xe1\\x8e\\xb8|\\xe1\\x8e\\xb8||\"\n\"\\xea\\xae\\x89|\\xe1\\x8e\\xb9|\\xe1\\x8e\\xb9||\"\n\"\\xea\\xae\\x8a|\\xe1\\x8e\\xba|\\xe1\\x8e\\xba||\"\n\"\\xea\\xae\\x8b|\\xe1\\x8e\\xbb|\\xe1\\x8e\\xbb||\"\n\"\\xea\\xae\\x8c|\\xe1\\x8e\\xbc|\\xe1\\x8e\\xbc||\"\n\"\\xea\\xae\\x8d|\\xe1\\x8e\\xbd|\\xe1\\x8e\\xbd||\"\n\"\\xea\\xae\\x8e|\\xe1\\x8e\\xbe|\\xe1\\x8e\\xbe||\"\n\"\\xea\\xae\\x8f|\\xe1\\x8e\\xbf|\\xe1\\x8e\\xbf||\"\n\"\\xea\\xae\\x90|\\xe1\\x8f\\x80|\\xe1\\x8f\\x80||\"\n\"\\xea\\xae\\x91|\\xe1\\x8f\\x81|\\xe1\\x8f\\x81||\"\n\"\\xea\\xae\\x92|\\xe1\\x8f\\x82|\\xe1\\x8f\\x82||\"\n\"\\xea\\xae\\x93|\\xe1\\x8f\\x83|\\xe1\\x8f\\x83||\"\n\"\\xea\\xae\\x94|\\xe1\\x8f\\x84|\\xe1\\x8f\\x84||\"\n\"\\xea\\xae\\x95|\\xe1\\x8f\\x85|\\xe1\\x8f\\x85||\"\n\"\\xea\\xae\\x96|\\xe1\\x8f\\x86|\\xe1\\x8f\\x86||\"\n\"\\xea\\xae\\x97|\\xe1\\x8f\\x87|\\xe1\\x8f\\x87||\"\n\"\\xea\\xae\\x98|\\xe1\\x8f\\x88|\\xe1\\x8f\\x88||\"\n\"\\xea\\xae\\x99|\\xe1\\x8f\\x89|\\xe1\\x8f\\x89||\"\n\"\\xea\\xae\\x9a|\\xe1\\x8f\\x8a|\\xe1\\x8f\\x8a||\"\n\"\\xea\\xae\\x9b|\\xe1\\x8f\\x8b|\\xe1\\x8f\\x8b||\"\n\"\\xea\\xae\\x9c|\\xe1\\x8f\\x8c|\\xe1\\x8f\\x8c||\"\n\"\\xea\\xae\\x9d|\\xe1\\x8f\\x8d|\\xe1\\x8f\\x8d||\"\n\"\\xea\\xae\\x9e|\\xe1\\x8f\\x8e|\\xe1\\x8f\\x8e||\"\n\"\\xea\\xae\\x9f|\\xe1\\x8f\\x8f|\\xe1\\x8f\\x8f||\"\n\"\\xea\\xae\\xa0|\\xe1\\x8f\\x90|\\xe1\\x8f\\x90||\"\n\"\\xea\\xae\\xa1|\\xe1\\x8f\\x91|\\xe1\\x8f\\x91||\"\n\"\\xea\\xae\\xa2|\\xe1\\x8f\\x92|\\xe1\\x8f\\x92||\"\n\"\\xea\\xae\\xa3|\\xe1\\x8f\\x93|\\xe1\\x8f\\x93||\"\n\"\\xea\\xae\\xa4|\\xe1\\x8f\\x94|\\xe1\\x8f\\x94||\"\n\"\\xea\\xae\\xa5|\\xe1\\x8f\\x95|\\xe1\\x8f\\x95||\"\n\"\\xea\\xae\\xa6|\\xe1\\x8f\\x96|\\xe1\\x8f\\x96||\"\n\"\\xea\\xae\\xa7|\\xe1\\x8f\\x97|\\xe1\\x8f\\x97||\"\n\"\\xea\\xae\\xa8|\\xe1\\x8f\\x98|\\xe1\\x8f\\x98||\"\n\"\\xea\\xae\\xa9|\\xe1\\x8f\\x99|\\xe1\\x8f\\x99||\"\n\"\\xea\\xae\\xaa|\\xe1\\x8f\\x9a|\\xe1\\x8f\\x9a||\"\n\"\\xea\\xae\\xab|\\xe1\\x8f\\x9b|\\xe1\\x8f\\x9b||\"\n\"\\xea\\xae\\xac|\\xe1\\x8f\\x9c|\\xe1\\x8f\\x9c||\"\n\"\\xea\\xae\\xad|\\xe1\\x8f\\x9d|\\xe1\\x8f\\x9d||\"\n\"\\xea\\xae\\xae|\\xe1\\x8f\\x9e|\\xe1\\x8f\\x9e||\"\n\"\\xea\\xae\\xaf|\\xe1\\x8f\\x9f|\\xe1\\x8f\\x9f||\"\n\"\\xea\\xae\\xb0|\\xe1\\x8f\\xa0|\\xe1\\x8f\\xa0||\"\n\"\\xea\\xae\\xb1|\\xe1\\x8f\\xa1|\\xe1\\x8f\\xa1||\"\n\"\\xea\\xae\\xb2|\\xe1\\x8f\\xa2|\\xe1\\x8f\\xa2||\"\n\"\\xea\\xae\\xb3|\\xe1\\x8f\\xa3|\\xe1\\x8f\\xa3||\"\n\"\\xea\\xae\\xb4|\\xe1\\x8f\\xa4|\\xe1\\x8f\\xa4||\"\n\"\\xea\\xae\\xb5|\\xe1\\x8f\\xa5|\\xe1\\x8f\\xa5||\"\n\"\\xea\\xae\\xb6|\\xe1\\x8f\\xa6|\\xe1\\x8f\\xa6||\"\n\"\\xea\\xae\\xb7|\\xe1\\x8f\\xa7|\\xe1\\x8f\\xa7||\"\n\"\\xea\\xae\\xb8|\\xe1\\x8f\\xa8|\\xe1\\x8f\\xa8||\"\n\"\\xea\\xae\\xb9|\\xe1\\x8f\\xa9|\\xe1\\x8f\\xa9||\"\n\"\\xea\\xae\\xba|\\xe1\\x8f\\xaa|\\xe1\\x8f\\xaa||\"\n\"\\xea\\xae\\xbb|\\xe1\\x8f\\xab|\\xe1\\x8f\\xab||\"\n\"\\xea\\xae\\xbc|\\xe1\\x8f\\xac|\\xe1\\x8f\\xac||\"\n\"\\xea\\xae\\xbd|\\xe1\\x8f\\xad|\\xe1\\x8f\\xad||\"\n\"\\xea\\xae\\xbe|\\xe1\\x8f\\xae|\\xe1\\x8f\\xae||\"\n\"\\xea\\xae\\xbf|\\xe1\\x8f\\xaf|\\xe1\\x8f\\xaf||\"\n\"\\xef\\xac\\x80|ff|FF||\"\n\"\\xef\\xac\\x81|fi|FI||\"\n\"\\xef\\xac\\x82|fl|FL||\"\n\"\\xef\\xac\\x83|ffi|FFI||\"\n\"\\xef\\xac\\x84|ffl|FFL||\"\n\"\\xef\\xac\\x85|st|ST||\"\n\"\\xef\\xac\\x86|st|ST||\"\n\"\\xef\\xac\\x93|\\xd5\\xb4\\xd5\\xb6|\\xd5\\x84\\xd5\\x86||\"\n\"\\xef\\xac\\x94|\\xd5\\xb4\\xd5\\xa5|\\xd5\\x84\\xd4\\xb5||\"\n\"\\xef\\xac\\x95|\\xd5\\xb4\\xd5\\xab|\\xd5\\x84\\xd4\\xbb||\"\n\"\\xef\\xac\\x96|\\xd5\\xbe\\xd5\\xb6|\\xd5\\x8e\\xd5\\x86||\"\n\"\\xef\\xac\\x97|\\xd5\\xb4\\xd5\\xad|\\xd5\\x84\\xd4\\xbd||\"\n\n//--Autogenerated -- end of section automatically generated\n;\n\nclass CaseConverter : public ICaseConverter {\n\t// Maximum length of a case conversion result is 6 bytes in UTF-8\n\tenum { maxConversionLength=6 };\n\tstruct ConversionString {\n\t\tchar conversion[maxConversionLength+1];\n\t\tConversionString() : conversion{} {\n\t\t}\n\t};\n\t// Conversions are initially store in a vector of structs but then decomposed into\n\t// parallel arrays as that is about 10% faster to search.\n\tstruct CharacterConversion {\n\t\tint character;\n\t\tConversionString conversion;\n\t\tCharacterConversion(int character_=0, const char *conversion_=\"\") noexcept : character(character_) {\n\t\t\tStringCopy(conversion.conversion, conversion_);\n\t\t}\n\t\tbool operator<(const CharacterConversion &other) const noexcept {\n\t\t\treturn character < other.character;\n\t\t}\n\t};\n\ttypedef std::vector<CharacterConversion> CharacterToConversion;\n\tCharacterToConversion characterToConversion;\n\t// The parallel arrays\n\tstd::vector<int> characters;\n\tstd::vector<ConversionString> conversions;\n\npublic:\n\tCaseConverter() {\n\t}\n\tvirtual ~CaseConverter() = default;\n\tbool Initialised() const {\n\t\treturn characters.size() > 0;\n\t}\n\tvoid Add(int character, const char *conversion) {\n\t\tcharacterToConversion.emplace_back(character, conversion);\n\t}\n\tconst char *Find(int character) {\n\t\tconst std::vector<int>::iterator it = std::lower_bound(characters.begin(), characters.end(), character);\n\t\tif (it == characters.end())\n\t\t\treturn nullptr;\n\t\telse if (*it == character)\n\t\t\treturn conversions[it - characters.begin()].conversion;\n\t\telse\n\t\t\treturn nullptr;\n\t}\n\tsize_t CaseConvertString(char *converted, size_t sizeConverted, const char *mixed, size_t lenMixed) override {\n\t\tsize_t lenConverted = 0;\n\t\tsize_t mixedPos = 0;\n\t\tunsigned char bytes[UTF8MaxBytes + 1]{};\n\t\twhile (mixedPos < lenMixed) {\n\t\t\tconst unsigned char leadByte = mixed[mixedPos];\n\t\t\tconst char *caseConverted = nullptr;\n\t\t\tsize_t lenMixedChar = 1;\n\t\t\tif (UTF8IsAscii(leadByte)) {\n\t\t\t\tcaseConverted = Find(leadByte);\n\t\t\t} else {\n\t\t\t\tbytes[0] = leadByte;\n\t\t\t\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\t\t\t\tfor (int b=1; b<widthCharBytes; b++) {\n\t\t\t\t\tbytes[b] = (mixedPos+b < lenMixed) ? mixed[mixedPos+b] : 0;\n\t\t\t\t}\n\t\t\t\tconst int classified = UTF8Classify(bytes, widthCharBytes);\n\t\t\t\tif (!(classified & UTF8MaskInvalid)) {\n\t\t\t\t\t// valid UTF-8\n\t\t\t\t\tlenMixedChar = classified & UTF8MaskWidth;\n\t\t\t\t\tconst int character = UnicodeFromUTF8(bytes);\n\t\t\t\t\tcaseConverted = Find(character);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (caseConverted) {\n\t\t\t\t// Character has a conversion so copy that conversion in\n\t\t\t\twhile (*caseConverted) {\n\t\t\t\t\tconverted[lenConverted++] = *caseConverted++;\n\t\t\t\t\tif (lenConverted >= sizeConverted)\n\t\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Character has no conversion so copy the input to output\n\t\t\t\tfor (size_t i=0; i<lenMixedChar; i++) {\n\t\t\t\t\tconverted[lenConverted++] = mixed[mixedPos+i];\n\t\t\t\t\tif (lenConverted >= sizeConverted)\n\t\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmixedPos += lenMixedChar;\n\t\t}\n\t\treturn lenConverted;\n\t}\n\tvoid FinishedAdding() {\n\t\tstd::sort(characterToConversion.begin(), characterToConversion.end());\n\t\tcharacters.reserve(characterToConversion.size());\n\t\tconversions.reserve(characterToConversion.size());\n\t\tfor (const CharacterConversion &chConv : characterToConversion) {\n\t\t\tcharacters.push_back(chConv.character);\n\t\t\tconversions.push_back(chConv.conversion);\n\t\t}\n\t\t// Empty the original calculated data completely\n\t\tCharacterToConversion().swap(characterToConversion);\n\t}\n};\n\nCaseConverter caseConvFold;\nCaseConverter caseConvUp;\nCaseConverter caseConvLow;\n\nvoid AddSymmetric(enum CaseConversion conversion, int lower,int upper) {\n\tchar lowerUTF8[UTF8MaxBytes+1];\n\tUTF8FromUTF32Character(lower, lowerUTF8);\n\tchar upperUTF8[UTF8MaxBytes+1];\n\tUTF8FromUTF32Character(upper, upperUTF8);\n\n\tswitch (conversion) {\n\tcase CaseConversionFold:\n\t\tcaseConvFold.Add(upper, lowerUTF8);\n\t\tbreak;\n\tcase CaseConversionUpper:\n\t\tcaseConvUp.Add(lower, upperUTF8);\n\t\tbreak;\n\tcase CaseConversionLower:\n\t\tcaseConvLow.Add(upper, lowerUTF8);\n\t\tbreak;\n\t}\n}\n\nvoid SetupConversions(enum CaseConversion conversion) {\n\t// First initialize for the symmetric ranges\n\tfor (size_t i=0; i<ELEMENTS(symmetricCaseConversionRanges);) {\n\t\tconst int lower = symmetricCaseConversionRanges[i++];\n\t\tconst int upper = symmetricCaseConversionRanges[i++];\n\t\tconst int length = symmetricCaseConversionRanges[i++];\n\t\tconst int pitch = symmetricCaseConversionRanges[i++];\n\t\tfor (int j=0; j<length*pitch; j+=pitch) {\n\t\t\tAddSymmetric(conversion, lower+j, upper+j);\n\t\t}\n\t}\n\t// Add the symmetric singletons\n\tfor (size_t i=0; i<ELEMENTS(symmetricCaseConversions);) {\n\t\tconst int lower = symmetricCaseConversions[i++];\n\t\tconst int upper = symmetricCaseConversions[i++];\n\t\tAddSymmetric(conversion, lower, upper);\n\t}\n\t// Add the complex cases\n\tconst char *sComplex = complexCaseConversions;\n\twhile (*sComplex) {\n\t\t// Longest ligature is 3 character so 5 for safety\n\t\tconst size_t lenUTF8 = 5*UTF8MaxBytes+1;\n\t\tunsigned char originUTF8[lenUTF8]{};\n\t\tchar foldedUTF8[lenUTF8]{};\n\t\tchar lowerUTF8[lenUTF8]{};\n\t\tchar upperUTF8[lenUTF8]{};\n\t\tsize_t i = 0;\n\t\twhile (*sComplex && *sComplex != '|') {\n\t\t\toriginUTF8[i++] = *sComplex;\n\t\t\tsComplex++;\n\t\t}\n\t\tsComplex++;\n\t\toriginUTF8[i] = 0;\n\t\ti = 0;\n\t\twhile (*sComplex && *sComplex != '|') {\n\t\t\tfoldedUTF8[i++] = *sComplex;\n\t\t\tsComplex++;\n\t\t}\n\t\tsComplex++;\n\t\tfoldedUTF8[i] = 0;\n\t\ti = 0;\n\t\twhile (*sComplex && *sComplex != '|') {\n\t\t\tupperUTF8[i++] = *sComplex;\n\t\t\tsComplex++;\n\t\t}\n\t\tsComplex++;\n\t\tupperUTF8[i] = 0;\n\t\ti = 0;\n\t\twhile (*sComplex && *sComplex != '|') {\n\t\t\tlowerUTF8[i++] = *sComplex;\n\t\t\tsComplex++;\n\t\t}\n\t\tsComplex++;\n\t\tlowerUTF8[i] = 0;\n\n\t\tconst int character = UnicodeFromUTF8(originUTF8);\n\n\t\tif (conversion == CaseConversionFold && foldedUTF8[0]) {\n\t\t\tcaseConvFold.Add(character, foldedUTF8);\n\t\t}\n\n\t\tif (conversion == CaseConversionUpper && upperUTF8[0]) {\n\t\t\tcaseConvUp.Add(character, upperUTF8);\n\t\t}\n\n\t\tif (conversion == CaseConversionLower && lowerUTF8[0]) {\n\t\t\tcaseConvLow.Add(character, lowerUTF8);\n\t\t}\n\t}\n\n\tswitch (conversion) {\n\tcase CaseConversionFold:\n\t\tcaseConvFold.FinishedAdding();\n\t\tbreak;\n\tcase CaseConversionUpper:\n\t\tcaseConvUp.FinishedAdding();\n\t\tbreak;\n\tcase CaseConversionLower:\n\t\tcaseConvLow.FinishedAdding();\n\t\tbreak;\n\t}\n}\n\nCaseConverter *ConverterForConversion(enum CaseConversion conversion) {\n\tswitch (conversion) {\n\tcase CaseConversionFold:\n\t\treturn &caseConvFold;\n\tcase CaseConversionUpper:\n\t\treturn &caseConvUp;\n\tcase CaseConversionLower:\n\t\treturn &caseConvLow;\n\t}\n\treturn nullptr;\n}\n\n}\n\nnamespace Scintilla {\n\nICaseConverter *ConverterFor(enum CaseConversion conversion) {\n\tCaseConverter *pCaseConv = ConverterForConversion(conversion);\n\tif (!pCaseConv->Initialised())\n\t\tSetupConversions(conversion);\n\treturn pCaseConv;\n}\n\nconst char *CaseConvert(int character, enum CaseConversion conversion) {\n\tCaseConverter *pCaseConv = ConverterForConversion(conversion);\n\tif (!pCaseConv->Initialised())\n\t\tSetupConversions(conversion);\n\treturn pCaseConv->Find(character);\n}\n\nsize_t CaseConvertString(char *converted, size_t sizeConverted, const char *mixed, size_t lenMixed, enum CaseConversion conversion) {\n\tCaseConverter *pCaseConv = ConverterForConversion(conversion);\n\tif (!pCaseConv->Initialised())\n\t\tSetupConversions(conversion);\n\treturn pCaseConv->CaseConvertString(converted, sizeConverted, mixed, lenMixed);\n}\n\nstd::string CaseConvertString(const std::string &s, enum CaseConversion conversion) {\n\tstd::string retMapped(s.length() * maxExpansionCaseConversion, 0);\n\tconst size_t lenMapped = CaseConvertString(&retMapped[0], retMapped.length(), s.c_str(), s.length(),\n\t\tconversion);\n\tretMapped.resize(lenMapped);\n\treturn retMapped;\n}\n\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/CaseConvert.h",
    "content": "// Scintilla source code edit control\n// Encoding: UTF-8\n/** @file CaseConvert.h\n ** Performs Unicode case conversions.\n ** Does not handle locale-sensitive case conversion.\n **/\n// Copyright 2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CASECONVERT_H\n#define CASECONVERT_H\n\nnamespace Scintilla {\n\nenum CaseConversion {\n\tCaseConversionFold,\n\tCaseConversionUpper,\n\tCaseConversionLower\n};\n\nclass ICaseConverter {\npublic:\n\tvirtual size_t CaseConvertString(char *converted, size_t sizeConverted, const char *mixed, size_t lenMixed) = 0;\n};\n\nICaseConverter *ConverterFor(enum CaseConversion conversion);\n\n// Returns a UTF-8 string. Empty when no conversion\nconst char *CaseConvert(int character, enum CaseConversion conversion);\n\n// When performing CaseConvertString, the converted value may be up to 3 times longer than the input.\n// Ligatures are often decomposed into multiple characters and long cases include:\n// ΐ \"\\xce\\x90\" folds to ΐ \"\\xce\\xb9\\xcc\\x88\\xcc\\x81\"\nconst int maxExpansionCaseConversion=3;\n\n// Converts a mixed case string using a particular conversion.\n// Result may be a different length to input and the length is the return value.\n// If there is not enough space then 0 is returned.\nsize_t CaseConvertString(char *converted, size_t sizeConverted, const char *mixed, size_t lenMixed, enum CaseConversion conversion);\n\n// Converts a mixed case string using a particular conversion.\nstd::string CaseConvertString(const std::string &s, enum CaseConversion conversion);\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/CaseFolder.cpp",
    "content": "// Scintilla source code edit control\n/** @file CaseFolder.cxx\n ** Classes for case folding.\n **/\n// Copyright 1998-2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdexcept>\n#include <vector>\n#include <algorithm>\n\n#include \"CaseFolder.h\"\n#include \"CaseConvert.h\"\n\nusing namespace Scintilla;\n\nCaseFolder::~CaseFolder() {\n}\n\nCaseFolderTable::CaseFolderTable() : mapping{}  {\n\tfor (size_t iChar=0; iChar<sizeof(mapping); iChar++) {\n\t\tmapping[iChar] = static_cast<char>(iChar);\n\t}\n}\n\nCaseFolderTable::~CaseFolderTable() {\n}\n\nsize_t CaseFolderTable::Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) {\n\tif (lenMixed > sizeFolded) {\n\t\treturn 0;\n\t} else {\n\t\tfor (size_t i=0; i<lenMixed; i++) {\n\t\t\tfolded[i] = mapping[static_cast<unsigned char>(mixed[i])];\n\t\t}\n\t\treturn lenMixed;\n\t}\n}\n\nvoid CaseFolderTable::SetTranslation(char ch, char chTranslation) {\n\tmapping[static_cast<unsigned char>(ch)] = chTranslation;\n}\n\nvoid CaseFolderTable::StandardASCII() {\n\tfor (size_t iChar=0; iChar<sizeof(mapping); iChar++) {\n\t\tif (iChar >= 'A' && iChar <= 'Z') {\n\t\t\tmapping[iChar] = static_cast<char>(iChar - 'A' + 'a');\n\t\t} else {\n\t\t\tmapping[iChar] = static_cast<char>(iChar);\n\t\t}\n\t}\n}\n\nCaseFolderUnicode::CaseFolderUnicode() {\n\tStandardASCII();\n\tconverter = ConverterFor(CaseConversionFold);\n}\n\nsize_t CaseFolderUnicode::Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) {\n\tif ((lenMixed == 1) && (sizeFolded > 0)) {\n\t\tfolded[0] = mapping[static_cast<unsigned char>(mixed[0])];\n\t\treturn 1;\n\t} else {\n\t\treturn converter->CaseConvertString(folded, sizeFolded, mixed, lenMixed);\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/CaseFolder.h",
    "content": "// Scintilla source code edit control\n/** @file CaseFolder.h\n ** Classes for case folding.\n **/\n// Copyright 1998-2013 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CASEFOLDER_H\n#define CASEFOLDER_H\n\nnamespace Scintilla {\n\nclass CaseFolder {\npublic:\n\tvirtual ~CaseFolder();\n\tvirtual size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) = 0;\n};\n\nclass CaseFolderTable : public CaseFolder {\nprotected:\n\tchar mapping[256];\npublic:\n\tCaseFolderTable();\n\t~CaseFolderTable() override;\n\tsize_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) override;\n\tvoid SetTranslation(char ch, char chTranslation);\n\tvoid StandardASCII();\n};\n\nclass ICaseConverter;\n\nclass CaseFolderUnicode : public CaseFolderTable {\n\tICaseConverter *converter;\npublic:\n\tCaseFolderUnicode();\n\tsize_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) override;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Catalogue.cpp",
    "content": "// Scintilla source code edit control\n/** @file Catalogue.cxx\n ** Lexer infrastructure.\n ** Contains a list of LexerModules which can be searched to find a module appropriate for a\n ** particular language.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n\n#include <stdexcept>\n#include <vector>\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"LexerModule.h\"\n#include \"Catalogue.h\"\n\nusing namespace Scintilla;\n\nstatic std::vector<LexerModule *> lexerCatalogue;\nstatic int nextLanguage = SCLEX_AUTOMATIC+1;\n\nconst LexerModule *Catalogue::Find(int language) {\n\tScintilla_LinkLexers();\n\tfor (const LexerModule *lm : lexerCatalogue) {\n\t\tif (lm->GetLanguage() == language) {\n\t\t\treturn lm;\n\t\t}\n\t}\n\treturn nullptr;\n}\n\nconst LexerModule *Catalogue::Find(const char *languageName) {\n\tScintilla_LinkLexers();\n\tif (languageName) {\n\t\tfor (const LexerModule *lm : lexerCatalogue) {\n\t\t\tif (lm->languageName && (0 == strcmp(lm->languageName, languageName))) {\n\t\t\t\treturn lm;\n\t\t\t}\n\t\t}\n\t}\n\treturn nullptr;\n}\n\nvoid Catalogue::AddLexerModule(LexerModule *plm) {\n\tif (plm->GetLanguage() == SCLEX_AUTOMATIC) {\n\t\tplm->language = nextLanguage;\n\t\tnextLanguage++;\n\t}\n\tlexerCatalogue.push_back(plm);\n}\n\n// To add or remove a lexer, add or remove its file and run LexGen.py.\n\n// Force a reference to all of the Scintilla lexers so that the linker will\n// not remove the code of the lexers.\nint Scintilla_LinkLexers() {\n\n\tstatic int initialised = 0;\n\tif (initialised)\n\t\treturn 0;\n\tinitialised = 1;\n\n// Shorten the code that declares a lexer and ensures it is linked in by calling a method.\n#define LINK_LEXER(lexer) extern LexerModule lexer; Catalogue::AddLexerModule(&lexer);\n\n//++Autogenerated -- run scripts/LexGen.py to regenerate\n//**\\(\\tLINK_LEXER(\\*);\\n\\)\n\tLINK_LEXER(lmA68k);\n\tLINK_LEXER(lmAbaqus);\n\tLINK_LEXER(lmAda);\n\tLINK_LEXER(lmAPDL);\n\tLINK_LEXER(lmAs);\n\tLINK_LEXER(lmAsm);\n\tLINK_LEXER(lmAsn1);\n\tLINK_LEXER(lmASY);\n\tLINK_LEXER(lmAU3);\n\tLINK_LEXER(lmAVE);\n\t//LINK_LEXER(lmAVS);\n\tLINK_LEXER(lmBaan);\n\tLINK_LEXER(lmBash);\n\tLINK_LEXER(lmBatch);\n\tLINK_LEXER(lmBibTeX);\n\tLINK_LEXER(lmBlitzBasic);\n\tLINK_LEXER(lmBullant);\n\tLINK_LEXER(lmCaml);\n\tLINK_LEXER(lmClw);\n\tLINK_LEXER(lmClwNoCase);\n\tLINK_LEXER(lmCmake);\n\tLINK_LEXER(lmCOBOL);\n\tLINK_LEXER(lmCoffeeScript);\n\tLINK_LEXER(lmConf);\n\tLINK_LEXER(lmCPP);\n\tLINK_LEXER(lmCPPNoCase);\n\tLINK_LEXER(lmCsound);\n\tLINK_LEXER(lmCss);\n\tLINK_LEXER(lmD);\n\tLINK_LEXER(lmDiff);\n\tLINK_LEXER(lmDMAP);\n\tLINK_LEXER(lmDMIS);\n\tLINK_LEXER(lmECL);\n\tLINK_LEXER(lmEDIFACT);\n\tLINK_LEXER(lmEiffel);\n\tLINK_LEXER(lmEiffelkw);\n\tLINK_LEXER(lmErlang);\n\tLINK_LEXER(lmErrorList);\n\tLINK_LEXER(lmESCRIPT);\n\tLINK_LEXER(lmF77);\n\tLINK_LEXER(lmFlagShip);\n\tLINK_LEXER(lmForth);\n\tLINK_LEXER(lmFortran);\n\tLINK_LEXER(lmFreeBasic);\n\tLINK_LEXER(lmGAP);\n\tLINK_LEXER(lmGui4Cli);\n\tLINK_LEXER(lmHaskell);\n\tLINK_LEXER(lmHTML);\n\tLINK_LEXER(lmIHex);\n\tLINK_LEXER(lmIndent);\n\tLINK_LEXER(lmInno);\n\tLINK_LEXER(lmJSON);\n\tLINK_LEXER(lmKix);\n\tLINK_LEXER(lmKVIrc);\n\tLINK_LEXER(lmLatex);\n\tLINK_LEXER(lmLISP);\n\tLINK_LEXER(lmLiterateHaskell);\n\tLINK_LEXER(lmLot);\n\tLINK_LEXER(lmLout);\n#if !defined(SCINTILLA_QT)\n\tLINK_LEXER(lmLPeg);\n#endif\n\tLINK_LEXER(lmLua);\n\tLINK_LEXER(lmMagikSF);\n\tLINK_LEXER(lmMake);\n\tLINK_LEXER(lmMarkdown);\n\tLINK_LEXER(lmMatlab);\n\tLINK_LEXER(lmMaxima);\n\tLINK_LEXER(lmMETAPOST);\n\tLINK_LEXER(lmMMIXAL);\n\tLINK_LEXER(lmModula);\n\tLINK_LEXER(lmMSSQL);\n\tLINK_LEXER(lmMySQL);\n\tLINK_LEXER(lmNimrod);\n\tLINK_LEXER(lmNncrontab);\n\tLINK_LEXER(lmNsis);\n\tLINK_LEXER(lmNull);\n\tLINK_LEXER(lmOctave);\n\tLINK_LEXER(lmOpal);\n\tLINK_LEXER(lmOScript);\n\tLINK_LEXER(lmPascal);\n\tLINK_LEXER(lmPB);\n\tLINK_LEXER(lmPerl);\n\tLINK_LEXER(lmPHPSCRIPT);\n\tLINK_LEXER(lmPLM);\n\tLINK_LEXER(lmPO);\n\tLINK_LEXER(lmPOV);\n\tLINK_LEXER(lmPowerPro);\n\tLINK_LEXER(lmPowerShell);\n\tLINK_LEXER(lmProgress);\n\tLINK_LEXER(lmProps);\n\tLINK_LEXER(lmPS);\n\tLINK_LEXER(lmPureBasic);\n\tLINK_LEXER(lmPython);\n\tLINK_LEXER(lmR);\n\tLINK_LEXER(lmREBOL);\n\tLINK_LEXER(lmRegistry);\n\tLINK_LEXER(lmRuby);\n\tLINK_LEXER(lmRust);\n\tLINK_LEXER(lmSAS);\n\tLINK_LEXER(lmScriptol);\n\tLINK_LEXER(lmSmalltalk);\n\tLINK_LEXER(lmSML);\n\tLINK_LEXER(lmSorc);\n\tLINK_LEXER(lmSpecman);\n\tLINK_LEXER(lmSpice);\n\tLINK_LEXER(lmSQL);\n\tLINK_LEXER(lmSrec);\n\tLINK_LEXER(lmStata);\n\tLINK_LEXER(lmSTTXT);\n\tLINK_LEXER(lmTACL);\n\tLINK_LEXER(lmTADS3);\n\tLINK_LEXER(lmTAL);\n\tLINK_LEXER(lmTCL);\n\tLINK_LEXER(lmTCMD);\n\tLINK_LEXER(lmTEHex);\n\tLINK_LEXER(lmTeX);\n\tLINK_LEXER(lmTxt);\n\tLINK_LEXER(lmTxt2tags);\n\tLINK_LEXER(lmVB);\n\tLINK_LEXER(lmVBScript);\n\tLINK_LEXER(lmVerilog);\n\tLINK_LEXER(lmVHDL);\n\tLINK_LEXER(lmVisualProlog);\n\tLINK_LEXER(lmXML);\n\tLINK_LEXER(lmYAML);\n\n\n//--Autogenerated -- end of automatically generated section\n\n\treturn 1;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/Catalogue.h",
    "content": "// Scintilla source code edit control\n/** @file Catalogue.h\n ** Lexer infrastructure.\n ** Contains a list of LexerModules which can be searched to find a module appropriate for a\n ** particular language.\n **/\n// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CATALOGUE_H\n#define CATALOGUE_H\n\nnamespace Scintilla {\n\nclass Catalogue {\npublic:\n\tstatic const LexerModule *Find(int language);\n\tstatic const LexerModule *Find(const char *languageName);\n\tstatic void AddLexerModule(LexerModule *plm);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/CellBuffer.cpp",
    "content": "// Scintilla source code edit control\n/** @file CellBuffer.cxx\n ** Manages a buffer of cells.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cstdio>\n#include <cstdarg>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"Position.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"CellBuffer.h\"\n#include \"UniConversion.h\"\n\nnamespace Scintilla {\n\nstruct CountWidths {\n\t// Measures the number of characters in a string divided into those\n\t// from the Base Multilingual Plane and those from other planes.\n\tSci::Position countBasePlane;\n\tSci::Position countOtherPlanes;\n\tCountWidths(Sci::Position countBasePlane_=0, Sci::Position countOtherPlanes_=0) noexcept :\n\t\tcountBasePlane(countBasePlane_),\n\t\tcountOtherPlanes(countOtherPlanes_) {\n\t}\n\tCountWidths operator-() const noexcept {\n\t\treturn CountWidths(-countBasePlane , -countOtherPlanes);\n\t}\n\tSci::Position WidthUTF32() const noexcept {\n\t\t// All code points take one code unit in UTF-32.\n\t\treturn countBasePlane + countOtherPlanes;\n\t}\n\tSci::Position WidthUTF16() const noexcept {\n\t\t// UTF-16 takes 2 code units for other planes\n\t\treturn countBasePlane + 2 * countOtherPlanes;\n\t}\n\tvoid CountChar(int lenChar) noexcept {\n\t\tif (lenChar == 4) {\n\t\t\tcountOtherPlanes++;\n\t\t} else {\n\t\t\tcountBasePlane++;\n\t\t}\n\t}\n};\n\nclass ILineVector {\npublic:\n\tvirtual void Init() = 0;\n\tvirtual void SetPerLine(PerLine *pl) = 0;\n\tvirtual void InsertText(Sci::Line line, Sci::Position delta) = 0;\n\tvirtual void InsertLine(Sci::Line line, Sci::Position position, bool lineStart) = 0;\n\tvirtual void SetLineStart(Sci::Line line, Sci::Position position) noexcept = 0;\n\tvirtual void RemoveLine(Sci::Line line) = 0;\n\tvirtual Sci::Line Lines() const noexcept = 0;\n\tvirtual Sci::Line LineFromPosition(Sci::Position pos) const noexcept = 0;\n\tvirtual Sci::Position LineStart(Sci::Line line) const noexcept = 0;\n\tvirtual void InsertCharacters(Sci::Line line, CountWidths delta) = 0;\n\tvirtual void SetLineCharactersWidth(Sci::Line line, CountWidths width) = 0;\n\tvirtual int LineCharacterIndex() const noexcept = 0;\n\tvirtual bool AllocateLineCharacterIndex(int lineCharacterIndex, Sci::Line lines) = 0;\n\tvirtual bool ReleaseLineCharacterIndex(int lineCharacterIndex) = 0;\n\tvirtual Sci::Position IndexLineStart(Sci::Line line, int lineCharacterIndex) const noexcept = 0;\n\tvirtual Sci::Line LineFromPositionIndex(Sci::Position pos, int lineCharacterIndex) const noexcept = 0;\n\tvirtual ~ILineVector() {}\n};\n\n}\n\nusing namespace Scintilla;\n\ntemplate <typename POS>\nclass LineStartIndex {\npublic:\n\tint refCount;\n\tPartitioning<POS> starts;\n\n\tLineStartIndex() : refCount(0), starts(4) {\n\t\t// Minimal initial allocation\n\t}\n\t// Deleted so LineStartIndex objects can not be copied.\n\tLineStartIndex(const LineStartIndex &) = delete;\n\tLineStartIndex(LineStartIndex &&) = delete;\n\tvoid operator=(const LineStartIndex &) = delete;\n\tvoid operator=(LineStartIndex &&) = delete;\n\tvirtual ~LineStartIndex() {\n\t\tstarts.DeleteAll();\n\t}\n\tbool Allocate(Sci::Line lines) {\n\t\trefCount++;\n\t\tSci::Position length = starts.PositionFromPartition(starts.Partitions());\n\t\tfor (Sci::Line line = starts.Partitions(); line < lines; line++) {\n\t\t\t// Produce an ascending sequence that will be filled in with correct widths later\n\t\t\tlength++;\n\t\t\tstarts.InsertPartition(static_cast<POS>(line), static_cast<POS>(length));\n\t\t}\n\t\treturn refCount == 1;\n\t}\n\tbool Release() {\n\t\tif (refCount == 1) {\n\t\t\tstarts.DeleteAll();\n\t\t}\n\t\trefCount--;\n\t\treturn refCount == 0;\n\t}\n\tbool Active() const noexcept {\n\t\treturn refCount > 0;\n\t}\n\tSci::Position LineWidth(Sci::Line line) const noexcept {\n\t\treturn starts.PositionFromPartition(static_cast<POS>(line) + 1) -\n\t\t\tstarts.PositionFromPartition(static_cast<POS>(line));\n\t}\n\tvoid SetLineWidth(Sci::Line line, Sci::Position width) {\n\t\tconst Sci::Position widthCurrent = LineWidth(line);\n\t\tstarts.InsertText(static_cast<POS>(line), static_cast<POS>(width - widthCurrent));\n\t}\n};\n\ntemplate <typename POS>\nclass LineVector : public ILineVector {\n\tPartitioning<POS> starts;\n\tPerLine *perLine;\n\tLineStartIndex<POS> startsUTF16;\n\tLineStartIndex<POS> startsUTF32;\npublic:\n\tLineVector() : starts(256), perLine(nullptr) {\n\t\tInit();\n \t}\n\t// Deleted so LineVector objects can not be copied.\n\tLineVector(const LineVector &) = delete;\n\tLineVector(LineVector &&) = delete;\n\tLineVector &operator=(const LineVector &) = delete;\n\tLineVector &operator=(LineVector &&) = delete;\n\t~LineVector() override {\n \t}\n\tvoid Init() override {\n\t\tstarts.DeleteAll();\n\t\tif (perLine) {\n\t\t\tperLine->Init();\n\t\t}\n\t\tstartsUTF32.starts.DeleteAll();\n\t\tstartsUTF16.starts.DeleteAll();\n\t}\n\tvoid SetPerLine(PerLine *pl) override {\n\t\tperLine = pl;\n\t}\n\tvoid InsertText(Sci::Line line, Sci::Position delta) override {\n\t\tstarts.InsertText(static_cast<POS>(line), static_cast<POS>(delta));\n\t}\n\tvoid InsertLine(Sci::Line line, Sci::Position position, bool lineStart) override {\n\t\tconst POS lineAsPos = static_cast<POS>(line);\n\t\tstarts.InsertPartition(lineAsPos, static_cast<POS>(position));\n\t\tif (startsUTF32.Active()) {\n\t\t\tstartsUTF32.starts.InsertPartition(lineAsPos,\n\t\t\t\tstatic_cast<POS>(startsUTF32.starts.PositionFromPartition(lineAsPos - 1) + 1));\n\t\t}\n\t\tif (startsUTF16.Active()) {\n\t\t\tstartsUTF16.starts.InsertPartition(lineAsPos,\n\t\t\t\tstatic_cast<POS>(startsUTF16.starts.PositionFromPartition(lineAsPos - 1) + 1));\n\t\t}\n\t\tif (perLine) {\n\t\t\tif ((line > 0) && lineStart)\n\t\t\t\tline--;\n\t\t\tperLine->InsertLine(line);\n\t\t}\n\t}\n\tvoid SetLineStart(Sci::Line line, Sci::Position position) noexcept override {\n\t\tstarts.SetPartitionStartPosition(static_cast<POS>(line), static_cast<POS>(position));\n\t}\n\tvoid RemoveLine(Sci::Line line) override {\n\t\tstarts.RemovePartition(static_cast<POS>(line));\n\t\tif (startsUTF32.Active()) {\n\t\t\tstartsUTF32.starts.RemovePartition(static_cast<POS>(line));\n\t\t}\n\t\tif (startsUTF16.Active()) {\n\t\t\tstartsUTF16.starts.RemovePartition(static_cast<POS>(line));\n\t\t}\n\t\tif (perLine) {\n\t\t\tperLine->RemoveLine(line);\n\t\t}\n\t}\n\tSci::Line Lines() const noexcept override {\n\t\treturn static_cast<Sci::Line>(starts.Partitions());\n\t}\n\tSci::Line LineFromPosition(Sci::Position pos) const noexcept override {\n\t\treturn static_cast<Sci::Line>(starts.PartitionFromPosition(static_cast<POS>(pos)));\n\t}\n\tSci::Position LineStart(Sci::Line line) const noexcept override {\n\t\treturn starts.PositionFromPartition(static_cast<POS>(line));\n\t}\n\tvoid InsertCharacters(Sci::Line line, CountWidths delta) override {\n\t\tif (startsUTF32.Active()) {\n\t\t\tstartsUTF32.starts.InsertText(static_cast<POS>(line), static_cast<POS>(delta.WidthUTF32()));\n\t\t}\n\t\tif (startsUTF16.Active()) {\n\t\t\tstartsUTF16.starts.InsertText(static_cast<POS>(line), static_cast<POS>(delta.WidthUTF16()));\n\t\t}\n\t}\n\tvoid SetLineCharactersWidth(Sci::Line line, CountWidths width) override {\n\t\tif (startsUTF32.Active()) {\n\t\t\tassert(startsUTF32.starts.Partitions() == starts.Partitions());\n\t\t\tstartsUTF32.SetLineWidth(line, width.WidthUTF32());\n\t\t}\n\t\tif (startsUTF16.Active()) {\n\t\t\tassert(startsUTF16.starts.Partitions() == starts.Partitions());\n\t\t\tstartsUTF16.SetLineWidth(line, width.WidthUTF16());\n\t\t}\n\t}\n\n\tint LineCharacterIndex() const noexcept override {\n\t\tint retVal = 0;\n\t\tif (startsUTF32.Active()) {\n\t\t\tretVal |= SC_LINECHARACTERINDEX_UTF32;\n\t\t}\n\t\tif (startsUTF16.Active()) {\n\t\t\tretVal |= SC_LINECHARACTERINDEX_UTF16;\n\t\t}\n\t\treturn retVal;\n\t}\n\tbool AllocateLineCharacterIndex(int lineCharacterIndex, Sci::Line lines) override {\n\t\tbool changed = false;\n\t\tif ((lineCharacterIndex & SC_LINECHARACTERINDEX_UTF32) != 0) {\n\t\t\tchanged = startsUTF32.Allocate(lines) || changed;\n\t\t\tassert(startsUTF32.starts.Partitions() == starts.Partitions());\n\t\t}\n\t\tif ((lineCharacterIndex & SC_LINECHARACTERINDEX_UTF16) != 0) {\n\t\t\tchanged = startsUTF16.Allocate(lines) || changed;\n\t\t\tassert(startsUTF16.starts.Partitions() == starts.Partitions());\n\t\t}\n\t\treturn changed;\n\t}\n\tbool ReleaseLineCharacterIndex(int lineCharacterIndex) override {\n\t\tbool changed = false;\n\t\tif ((lineCharacterIndex & SC_LINECHARACTERINDEX_UTF32) != 0) {\n\t\t\tchanged = startsUTF32.Release() || changed;\n\t\t}\n\t\tif ((lineCharacterIndex & SC_LINECHARACTERINDEX_UTF16) != 0) {\n\t\t\tchanged = startsUTF16.Release() || changed;\n\t\t}\n\t\treturn changed;\n\t}\n\tSci::Position IndexLineStart(Sci::Line line, int lineCharacterIndex) const noexcept override {\n\t\tif (lineCharacterIndex == SC_LINECHARACTERINDEX_UTF32) {\n\t\t\treturn startsUTF32.starts.PositionFromPartition(static_cast<POS>(line));\n\t\t} else {\n\t\t\treturn startsUTF16.starts.PositionFromPartition(static_cast<POS>(line));\n\t\t}\n\t}\n\tSci::Line LineFromPositionIndex(Sci::Position pos, int lineCharacterIndex) const noexcept override {\n\t\tif (lineCharacterIndex == SC_LINECHARACTERINDEX_UTF32) {\n\t\t\treturn static_cast<Sci::Line>(startsUTF32.starts.PartitionFromPosition(static_cast<POS>(pos)));\n\t\t} else {\n\t\t\treturn static_cast<Sci::Line>(startsUTF16.starts.PartitionFromPosition(static_cast<POS>(pos)));\n\t\t}\n\t}\n};\n\nAction::Action() {\n\tat = startAction;\n\tposition = 0;\n\tlenData = 0;\n\tmayCoalesce = false;\n}\n\nAction::~Action() {\n}\n\nvoid Action::Create(actionType at_, Sci::Position position_, const char *data_, Sci::Position lenData_, bool mayCoalesce_) {\n\tdata = nullptr;\n\tposition = position_;\n\tat = at_;\n\tif (lenData_) {\n\t\tdata = std::unique_ptr<char []>(new char[lenData_]);\n\t\tmemcpy(&data[0], data_, lenData_);\n\t}\n\tlenData = lenData_;\n\tmayCoalesce = mayCoalesce_;\n}\n\nvoid Action::Clear() {\n\tdata = nullptr;\n\tlenData = 0;\n}\n\n// The undo history stores a sequence of user operations that represent the user's view of the\n// commands executed on the text.\n// Each user operation contains a sequence of text insertion and text deletion actions.\n// All the user operations are stored in a list of individual actions with 'start' actions used\n// as delimiters between user operations.\n// Initially there is one start action in the history.\n// As each action is performed, it is recorded in the history. The action may either become\n// part of the current user operation or may start a new user operation. If it is to be part of the\n// current operation, then it overwrites the current last action. If it is to be part of a new\n// operation, it is appended after the current last action.\n// After writing the new action, a new start action is appended at the end of the history.\n// The decision of whether to start a new user operation is based upon two factors. If a\n// compound operation has been explicitly started by calling BeginUndoAction and no matching\n// EndUndoAction (these calls nest) has been called, then the action is coalesced into the current\n// operation. If there is no outstanding BeginUndoAction call then a new operation is started\n// unless it looks as if the new action is caused by the user typing or deleting a stream of text.\n// Sequences that look like typing or deletion are coalesced into a single user operation.\n\nUndoHistory::UndoHistory() {\n\n\tactions.resize(3);\n\tmaxAction = 0;\n\tcurrentAction = 0;\n\tundoSequenceDepth = 0;\n\tsavePoint = 0;\n\ttentativePoint = -1;\n\n\tactions[currentAction].Create(startAction);\n}\n\nUndoHistory::~UndoHistory() {\n}\n\nvoid UndoHistory::EnsureUndoRoom() {\n\t// Have to test that there is room for 2 more actions in the array\n\t// as two actions may be created by the calling function\n\tif (static_cast<size_t>(currentAction) >= (actions.size() - 2)) {\n\t\t// Run out of undo nodes so extend the array\n\t\tactions.resize(actions.size() * 2);\n\t}\n}\n\nconst char *UndoHistory::AppendAction(actionType at, Sci::Position position, const char *data, Sci::Position lengthData,\n\tbool &startSequence, bool mayCoalesce) {\n\tEnsureUndoRoom();\n\t//Platform::DebugPrintf(\"%% %d action %d %d %d\\n\", at, position, lengthData, currentAction);\n\t//Platform::DebugPrintf(\"^ %d action %d %d\\n\", actions[currentAction - 1].at,\n\t//\tactions[currentAction - 1].position, actions[currentAction - 1].lenData);\n\tif (currentAction < savePoint) {\n\t\tsavePoint = -1;\n\t}\n\tint oldCurrentAction = currentAction;\n\tif (currentAction >= 1) {\n\t\tif (0 == undoSequenceDepth) {\n\t\t\t// Top level actions may not always be coalesced\n\t\t\tint targetAct = -1;\n\t\t\tconst Action *actPrevious = &(actions[currentAction + targetAct]);\n\t\t\t// Container actions may forward the coalesce state of Scintilla Actions.\n\t\t\twhile ((actPrevious->at == containerAction) && actPrevious->mayCoalesce) {\n\t\t\t\ttargetAct--;\n\t\t\t\tactPrevious = &(actions[currentAction + targetAct]);\n\t\t\t}\n\t\t\t// See if current action can be coalesced into previous action\n\t\t\t// Will work if both are inserts or deletes and position is same\n\t\t\tif ((currentAction == savePoint) || (currentAction == tentativePoint)) {\n\t\t\t\tcurrentAction++;\n\t\t\t} else if (!actions[currentAction].mayCoalesce) {\n\t\t\t\t// Not allowed to coalesce if this set\n\t\t\t\tcurrentAction++;\n\t\t\t} else if (!mayCoalesce || !actPrevious->mayCoalesce) {\n\t\t\t\tcurrentAction++;\n\t\t\t} else if (at == containerAction || actions[currentAction].at == containerAction) {\n\t\t\t\t;\t// A coalescible containerAction\n\t\t\t} else if ((at != actPrevious->at) && (actPrevious->at != startAction)) {\n\t\t\t\tcurrentAction++;\n\t\t\t} else if ((at == insertAction) &&\n\t\t\t           (position != (actPrevious->position + actPrevious->lenData))) {\n\t\t\t\t// Insertions must be immediately after to coalesce\n\t\t\t\tcurrentAction++;\n\t\t\t} else if (at == removeAction) {\n\t\t\t\tif ((lengthData == 1) || (lengthData == 2)) {\n\t\t\t\t\tif ((position + lengthData) == actPrevious->position) {\n\t\t\t\t\t\t; // Backspace -> OK\n\t\t\t\t\t} else if (position == actPrevious->position) {\n\t\t\t\t\t\t; // Delete -> OK\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Removals must be at same position to coalesce\n\t\t\t\t\t\tcurrentAction++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Removals must be of one character to coalesce\n\t\t\t\t\tcurrentAction++;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Action coalesced.\n\t\t\t}\n\n\t\t} else {\n\t\t\t// Actions not at top level are always coalesced unless this is after return to top level\n\t\t\tif (!actions[currentAction].mayCoalesce)\n\t\t\t\tcurrentAction++;\n\t\t}\n\t} else {\n\t\tcurrentAction++;\n\t}\n\tstartSequence = oldCurrentAction != currentAction;\n\tconst int actionWithData = currentAction;\n\tactions[currentAction].Create(at, position, data, lengthData, mayCoalesce);\n\tcurrentAction++;\n\tactions[currentAction].Create(startAction);\n\tmaxAction = currentAction;\n\treturn actions[actionWithData].data.get();\n}\n\nvoid UndoHistory::BeginUndoAction() {\n\tEnsureUndoRoom();\n\tif (undoSequenceDepth == 0) {\n\t\tif (actions[currentAction].at != startAction) {\n\t\t\tcurrentAction++;\n\t\t\tactions[currentAction].Create(startAction);\n\t\t\tmaxAction = currentAction;\n\t\t}\n\t\tactions[currentAction].mayCoalesce = false;\n\t}\n\tundoSequenceDepth++;\n}\n\nvoid UndoHistory::EndUndoAction() {\n\tPLATFORM_ASSERT(undoSequenceDepth > 0);\n\tEnsureUndoRoom();\n\tundoSequenceDepth--;\n\tif (0 == undoSequenceDepth) {\n\t\tif (actions[currentAction].at != startAction) {\n\t\t\tcurrentAction++;\n\t\t\tactions[currentAction].Create(startAction);\n\t\t\tmaxAction = currentAction;\n\t\t}\n\t\tactions[currentAction].mayCoalesce = false;\n\t}\n}\n\nvoid UndoHistory::DropUndoSequence() {\n\tundoSequenceDepth = 0;\n}\n\nvoid UndoHistory::DeleteUndoHistory() {\n\tfor (int i = 1; i < maxAction; i++)\n\t\tactions[i].Clear();\n\tmaxAction = 0;\n\tcurrentAction = 0;\n\tactions[currentAction].Create(startAction);\n\tsavePoint = 0;\n\ttentativePoint = -1;\n}\n\nvoid UndoHistory::SetSavePoint() {\n\tsavePoint = currentAction;\n}\n\nbool UndoHistory::IsSavePoint() const {\n\treturn savePoint == currentAction;\n}\n\nvoid UndoHistory::TentativeStart() {\n\ttentativePoint = currentAction;\n}\n\nvoid UndoHistory::TentativeCommit() {\n\ttentativePoint = -1;\n\t// Truncate undo history\n\tmaxAction = currentAction;\n}\n\nint UndoHistory::TentativeSteps() {\n\t// Drop any trailing startAction\n\tif (actions[currentAction].at == startAction && currentAction > 0)\n\t\tcurrentAction--;\n\tif (tentativePoint >= 0)\n\t\treturn currentAction - tentativePoint;\n\telse\n\t\treturn -1;\n}\n\nbool UndoHistory::CanUndo() const {\n\treturn (currentAction > 0) && (maxAction > 0);\n}\n\nint UndoHistory::StartUndo() {\n\t// Drop any trailing startAction\n\tif (actions[currentAction].at == startAction && currentAction > 0)\n\t\tcurrentAction--;\n\n\t// Count the steps in this action\n\tint act = currentAction;\n\twhile (actions[act].at != startAction && act > 0) {\n\t\tact--;\n\t}\n\treturn currentAction - act;\n}\n\nconst Action &UndoHistory::GetUndoStep() const {\n\treturn actions[currentAction];\n}\n\nvoid UndoHistory::CompletedUndoStep() {\n\tcurrentAction--;\n}\n\nbool UndoHistory::CanRedo() const {\n\treturn maxAction > currentAction;\n}\n\nint UndoHistory::StartRedo() {\n\t// Drop any leading startAction\n\tif (currentAction < maxAction && actions[currentAction].at == startAction)\n\t\tcurrentAction++;\n\n\t// Count the steps in this action\n\tint act = currentAction;\n\twhile (act < maxAction && actions[act].at != startAction) {\n\t\tact++;\n\t}\n\treturn act - currentAction;\n}\n\nconst Action &UndoHistory::GetRedoStep() const {\n\treturn actions[currentAction];\n}\n\nvoid UndoHistory::CompletedRedoStep() {\n\tcurrentAction++;\n}\n\nCellBuffer::CellBuffer(bool hasStyles_, bool largeDocument_) :\n\thasStyles(hasStyles_), largeDocument(largeDocument_) {\n\treadOnly = false;\n\tutf8Substance = false;\n\tutf8LineEnds = 0;\n\tcollectingUndo = true;\n\tif (largeDocument)\n\t\tplv = std::unique_ptr<LineVector<Sci::Position>>(new LineVector<Sci::Position>());\n\telse\n\t\tplv = std::unique_ptr<LineVector<int>>(new LineVector<int>());\n}\n\nCellBuffer::~CellBuffer() {\n}\n\nchar CellBuffer::CharAt(Sci::Position position) const noexcept {\n\treturn substance.ValueAt(position);\n}\n\nunsigned char CellBuffer::UCharAt(Sci::Position position) const noexcept {\n\treturn substance.ValueAt(position);\n}\n\nvoid CellBuffer::GetCharRange(char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const {\n\tif (lengthRetrieve <= 0)\n\t\treturn;\n\tif (position < 0)\n\t\treturn;\n\tif ((position + lengthRetrieve) > substance.Length()) {\n\t\tPlatform::DebugPrintf(\"Bad GetCharRange %d for %d of %d\\n\", position,\n\t\t                      lengthRetrieve, substance.Length());\n\t\treturn;\n\t}\n\tsubstance.GetRange(buffer, position, lengthRetrieve);\n}\n\nchar CellBuffer::StyleAt(Sci::Position position) const noexcept {\n\treturn hasStyles ? style.ValueAt(position) : 0;\n}\n\nvoid CellBuffer::GetStyleRange(unsigned char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const {\n\tif (lengthRetrieve < 0)\n\t\treturn;\n\tif (position < 0)\n\t\treturn;\n\tif (!hasStyles) {\n\t\tstd::fill(buffer, buffer + lengthRetrieve, static_cast<unsigned char>(0));\n\t\treturn;\n\t}\n\tif ((position + lengthRetrieve) > style.Length()) {\n\t\tPlatform::DebugPrintf(\"Bad GetStyleRange %d for %d of %d\\n\", position,\n\t\t                      lengthRetrieve, style.Length());\n\t\treturn;\n\t}\n\tstyle.GetRange(reinterpret_cast<char *>(buffer), position, lengthRetrieve);\n}\n\nconst char *CellBuffer::BufferPointer() {\n\treturn substance.BufferPointer();\n}\n\nconst char *CellBuffer::RangePointer(Sci::Position position, Sci::Position rangeLength) {\n\treturn substance.RangePointer(position, rangeLength);\n}\n\nSci::Position CellBuffer::GapPosition() const {\n\treturn substance.GapPosition();\n}\n\n// The char* returned is to an allocation owned by the undo history\nconst char *CellBuffer::InsertString(Sci::Position position, const char *s, Sci::Position insertLength, bool &startSequence) {\n\t// InsertString and DeleteChars are the bottleneck though which all changes occur\n\tconst char *data = s;\n\tif (!readOnly) {\n\t\tif (collectingUndo) {\n\t\t\t// Save into the undo/redo stack, but only the characters - not the formatting\n\t\t\t// This takes up about half load time\n\t\t\tdata = uh.AppendAction(insertAction, position, s, insertLength, startSequence);\n\t\t}\n\n\t\tBasicInsertString(position, s, insertLength);\n\t}\n\treturn data;\n}\n\nbool CellBuffer::SetStyleAt(Sci::Position position, char styleValue) {\n\tif (!hasStyles) {\n\t\treturn false;\n\t}\n\tconst char curVal = style.ValueAt(position);\n\tif (curVal != styleValue) {\n\t\tstyle.SetValueAt(position, styleValue);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nbool CellBuffer::SetStyleFor(Sci::Position position, Sci::Position lengthStyle, char styleValue) {\n\tif (!hasStyles) {\n\t\treturn false;\n\t}\n\tbool changed = false;\n\tPLATFORM_ASSERT(lengthStyle == 0 ||\n\t\t(lengthStyle > 0 && lengthStyle + position <= style.Length()));\n\twhile (lengthStyle--) {\n\t\tconst char curVal = style.ValueAt(position);\n\t\tif (curVal != styleValue) {\n\t\t\tstyle.SetValueAt(position, styleValue);\n\t\t\tchanged = true;\n\t\t}\n\t\tposition++;\n\t}\n\treturn changed;\n}\n\n// The char* returned is to an allocation owned by the undo history\nconst char *CellBuffer::DeleteChars(Sci::Position position, Sci::Position deleteLength, bool &startSequence) {\n\t// InsertString and DeleteChars are the bottleneck though which all changes occur\n\tPLATFORM_ASSERT(deleteLength > 0);\n\tconst char *data = nullptr;\n\tif (!readOnly) {\n\t\tif (collectingUndo) {\n\t\t\t// Save into the undo/redo stack, but only the characters - not the formatting\n\t\t\t// The gap would be moved to position anyway for the deletion so this doesn't cost extra\n\t\t\tdata = substance.RangePointer(position, deleteLength);\n\t\t\tdata = uh.AppendAction(removeAction, position, data, deleteLength, startSequence);\n\t\t}\n\n\t\tBasicDeleteChars(position, deleteLength);\n\t}\n\treturn data;\n}\n\nSci::Position CellBuffer::Length() const noexcept {\n\treturn substance.Length();\n}\n\nvoid CellBuffer::Allocate(Sci::Position newSize) {\n\tsubstance.ReAllocate(newSize);\n\tif (hasStyles) {\n\t\tstyle.ReAllocate(newSize);\n\t}\n}\n\nvoid CellBuffer::SetUTF8Substance(bool utf8Substance_) {\n\tif (utf8Substance != utf8Substance_) {\n\t\tutf8Substance = utf8Substance_;\n\t\tResetLineEnds();\n\t}\n}\n\nvoid CellBuffer::SetLineEndTypes(int utf8LineEnds_) {\n\tif (utf8LineEnds != utf8LineEnds_) {\n\t\tconst int indexes = plv->LineCharacterIndex();\n\t\tutf8LineEnds = utf8LineEnds_;\n\t\tResetLineEnds();\n\t\tAllocateLineCharacterIndex(indexes);\n\t}\n}\n\nbool CellBuffer::ContainsLineEnd(const char *s, Sci::Position length) const {\n\tunsigned char chBeforePrev = 0;\n\tunsigned char chPrev = 0;\n\tfor (Sci::Position i = 0; i < length; i++) {\n\t\tconst unsigned char ch = s[i];\n\t\tif ((ch == '\\r') || (ch == '\\n')) {\n\t\t\treturn true;\n\t\t} else if (utf8LineEnds) {\n\t\t\tconst unsigned char back3[3] = { chBeforePrev, chPrev, ch };\n\t\t\tif (UTF8IsSeparator(back3) || UTF8IsNEL(back3 + 1)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tchBeforePrev = chPrev;\n\t\tchPrev = ch;\n\t}\n\treturn false;\n}\n\nvoid CellBuffer::SetPerLine(PerLine *pl) {\n\tplv->SetPerLine(pl);\n}\n\nint CellBuffer::LineCharacterIndex() const noexcept {\n\treturn plv->LineCharacterIndex();\n}\n\nvoid CellBuffer::AllocateLineCharacterIndex(int lineCharacterIndex) {\n\tif (utf8Substance) {\n\t\tif (plv->AllocateLineCharacterIndex(lineCharacterIndex, Lines())) {\n\t\t\t// Changed so recalculate whole file\n\t\t\tRecalculateIndexLineStarts(0, Lines() - 1);\n\t\t}\n\t}\n}\n\nvoid CellBuffer::ReleaseLineCharacterIndex(int lineCharacterIndex) {\n\tplv->ReleaseLineCharacterIndex(lineCharacterIndex);\n}\n\nSci::Line CellBuffer::Lines() const noexcept {\n\treturn plv->Lines();\n}\n\nSci::Position CellBuffer::LineStart(Sci::Line line) const noexcept {\n\tif (line < 0)\n\t\treturn 0;\n\telse if (line >= Lines())\n\t\treturn Length();\n\telse\n\t\treturn plv->LineStart(line);\n}\n\nSci::Line CellBuffer::LineFromPosition(Sci::Position pos) const noexcept {\n\treturn plv->LineFromPosition(pos);\n}\n\nSci::Position CellBuffer::IndexLineStart(Sci::Line line, int lineCharacterIndex) const noexcept {\n\treturn plv->IndexLineStart(line, lineCharacterIndex);\n}\n\nSci::Line CellBuffer::LineFromPositionIndex(Sci::Position pos, int lineCharacterIndex) const noexcept {\n\treturn plv->LineFromPositionIndex(pos, lineCharacterIndex);\n}\n\nbool CellBuffer::IsReadOnly() const {\n\treturn readOnly;\n}\n\nvoid CellBuffer::SetReadOnly(bool set) {\n\treadOnly = set;\n}\n\nbool CellBuffer::IsLarge() const {\n\treturn largeDocument;\n}\n\nbool CellBuffer::HasStyles() const {\n\treturn hasStyles;\n}\n\nvoid CellBuffer::SetSavePoint() {\n\tuh.SetSavePoint();\n}\n\nbool CellBuffer::IsSavePoint() const {\n\treturn uh.IsSavePoint();\n}\n\nvoid CellBuffer::TentativeStart() {\n\tuh.TentativeStart();\n}\n\nvoid CellBuffer::TentativeCommit() {\n\tuh.TentativeCommit();\n}\n\nint CellBuffer::TentativeSteps() {\n\treturn uh.TentativeSteps();\n}\n\nbool CellBuffer::TentativeActive() const {\n\treturn uh.TentativeActive();\n}\n\n// Without undo\n\nvoid CellBuffer::InsertLine(Sci::Line line, Sci::Position position, bool lineStart) {\n\tplv->InsertLine(line, position, lineStart);\n}\n\nvoid CellBuffer::RemoveLine(Sci::Line line) {\n\tplv->RemoveLine(line);\n}\n\nbool CellBuffer::UTF8LineEndOverlaps(Sci::Position position) const {\n\tconst unsigned char bytes[] = {\n\t\tstatic_cast<unsigned char>(substance.ValueAt(position-2)),\n\t\tstatic_cast<unsigned char>(substance.ValueAt(position-1)),\n\t\tstatic_cast<unsigned char>(substance.ValueAt(position)),\n\t\tstatic_cast<unsigned char>(substance.ValueAt(position+1)),\n\t};\n\treturn UTF8IsSeparator(bytes) || UTF8IsSeparator(bytes+1) || UTF8IsNEL(bytes+1);\n}\n\nbool CellBuffer::UTF8IsCharacterBoundary(Sci::Position position) const {\n\tassert(position >= 0 && position <= Length());\n\tif (position > 0) {\n\t\tstd::string back;\n\t\tfor (int i = 0; i < UTF8MaxBytes; i++) {\n\t\t\tconst Sci::Position posBack = position - i;\n\t\t\tif (posBack < 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tback.insert(0, 1, substance.ValueAt(posBack));\n\t\t\tif (!UTF8IsTrailByte(back.front())) {\n\t\t\t\tif (i > 0) {\n\t\t\t\t\t// Have reached a non-trail\n\t\t\t\t\tconst int cla = UTF8Classify(reinterpret_cast<const unsigned char*>(back.data()), back.size());\n\t\t\t\t\tif ((cla & UTF8MaskInvalid) || (cla != i)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (position < Length()) {\n\t\tconst unsigned char fore = substance.ValueAt(position);\n\t\tif (UTF8IsTrailByte(fore)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CellBuffer::ResetLineEnds() {\n\t// Reinitialize line data -- too much work to preserve\n\tplv->Init();\n\n\tconst Sci::Position position = 0;\n\tconst Sci::Position length = Length();\n\tSci::Line lineInsert = 1;\n\tconst bool atLineStart = true;\n\tplv->InsertText(lineInsert-1, length);\n\tunsigned char chBeforePrev = 0;\n\tunsigned char chPrev = 0;\n\tfor (Sci::Position i = 0; i < length; i++) {\n\t\tconst unsigned char ch = substance.ValueAt(position + i);\n\t\tif (ch == '\\r') {\n\t\t\tInsertLine(lineInsert, (position + i) + 1, atLineStart);\n\t\t\tlineInsert++;\n\t\t} else if (ch == '\\n') {\n\t\t\tif (chPrev == '\\r') {\n\t\t\t\t// Patch up what was end of line\n\t\t\t\tplv->SetLineStart(lineInsert - 1, (position + i) + 1);\n\t\t\t} else {\n\t\t\t\tInsertLine(lineInsert, (position + i) + 1, atLineStart);\n\t\t\t\tlineInsert++;\n\t\t\t}\n\t\t} else if (utf8LineEnds) {\n\t\t\tconst unsigned char back3[3] = {chBeforePrev, chPrev, ch};\n\t\t\tif (UTF8IsSeparator(back3) || UTF8IsNEL(back3+1)) {\n\t\t\t\tInsertLine(lineInsert, (position + i) + 1, atLineStart);\n\t\t\t\tlineInsert++;\n\t\t\t}\n\t\t}\n\t\tchBeforePrev = chPrev;\n\t\tchPrev = ch;\n\t}\n}\n\nnamespace {\n\nCountWidths CountCharacterWidthsUTF8(const char *s, size_t len) noexcept {\n\tCountWidths cw;\n\tsize_t remaining = len;\n\twhile (remaining > 0) {\n\t\tconst int utf8Status = UTF8Classify(reinterpret_cast<const unsigned char*>(s), len);\n\t\tconst int lenChar = utf8Status & UTF8MaskWidth;\n\t\tcw.CountChar(lenChar);\n\t\ts += lenChar;\n\t\tremaining -= lenChar;\n\t}\n\treturn cw;\n}\n\n}\n\nbool CellBuffer::MaintainingLineCharacterIndex() const noexcept {\n\treturn plv->LineCharacterIndex() != SC_LINECHARACTERINDEX_NONE;\n}\n\nvoid CellBuffer::RecalculateIndexLineStarts(Sci::Line lineFirst, Sci::Line lineLast) {\n\tstd::string text;\n\tSci::Position posLineEnd = LineStart(lineFirst);\n\tfor (Sci::Line line = lineFirst; line <= lineLast; line++) {\n\t\t// Find line start and end, retrieve text of line, count characters and update line width\n\t\tconst Sci::Position posLineStart = posLineEnd;\n\t\tposLineEnd = LineStart(line+1);\n\t\tconst Sci::Position width = posLineEnd - posLineStart;\n\t\ttext.resize(width);\n\t\tGetCharRange(const_cast<char *>(text.data()), posLineStart, width);\n\t\tconst CountWidths cw = CountCharacterWidthsUTF8(text.data(), text.size());\n\t\tplv->SetLineCharactersWidth(line, cw);\n\t}\n}\n\nvoid CellBuffer::BasicInsertString(Sci::Position position, const char *s, Sci::Position insertLength) {\n\tif (insertLength == 0)\n\t\treturn;\n\tPLATFORM_ASSERT(insertLength > 0);\n\n\tconst unsigned char chAfter = substance.ValueAt(position);\n\tbool breakingUTF8LineEnd = false;\n\tif (utf8LineEnds && UTF8IsTrailByte(chAfter)) {\n\t\tbreakingUTF8LineEnd = UTF8LineEndOverlaps(position);\n\t}\n\n\tconst Sci::Line linePosition = plv->LineFromPosition(position);\n\tSci::Line lineInsert = linePosition + 1;\n\n\t// A simple insertion is one that inserts valid text on a single line at a character boundary\n\tbool simpleInsertion = false;\n\n\tconst bool maintainingIndex = MaintainingLineCharacterIndex();\n\n\t// Check for breaking apart a UTF-8 sequence and inserting invalid UTF-8\n\tif (utf8Substance && maintainingIndex) {\n\t\t// Actually, don't need to check that whole insertion is valid just that there\n\t\t// are no potential fragments at ends.\n\t\tsimpleInsertion = UTF8IsCharacterBoundary(position) &&\n\t\t\tUTF8IsValid(s, insertLength);\n\t}\n\n\tsubstance.InsertFromArray(position, s, 0, insertLength);\n\tif (hasStyles) {\n\t\tstyle.InsertValue(position, insertLength, 0);\n\t}\n\n\tconst bool atLineStart = plv->LineStart(lineInsert-1) == position;\n\t// Point all the lines after the insertion point further along in the buffer\n\tplv->InsertText(lineInsert-1, insertLength);\n\tunsigned char chBeforePrev = substance.ValueAt(position - 2);\n\tunsigned char chPrev = substance.ValueAt(position - 1);\n\tif (chPrev == '\\r' && chAfter == '\\n') {\n\t\t// Splitting up a crlf pair at position\n\t\tInsertLine(lineInsert, position, false);\n\t\tlineInsert++;\n\t}\n\tif (breakingUTF8LineEnd) {\n\t\tRemoveLine(lineInsert);\n\t}\n\tunsigned char ch = ' ';\n\tfor (Sci::Position i = 0; i < insertLength; i++) {\n\t\tch = s[i];\n\t\tif (ch == '\\r') {\n\t\t\tInsertLine(lineInsert, (position + i) + 1, atLineStart);\n\t\t\tlineInsert++;\n\t\t\tsimpleInsertion = false;\n\t\t} else if (ch == '\\n') {\n\t\t\tif (chPrev == '\\r') {\n\t\t\t\t// Patch up what was end of line\n\t\t\t\tplv->SetLineStart(lineInsert - 1, (position + i) + 1);\n\t\t\t} else {\n\t\t\t\tInsertLine(lineInsert, (position + i) + 1, atLineStart);\n\t\t\t\tlineInsert++;\n\t\t\t}\n\t\t\tsimpleInsertion = false;\n\t\t} else if (utf8LineEnds) {\n\t\t\tconst unsigned char back3[3] = {chBeforePrev, chPrev, ch};\n\t\t\tif (UTF8IsSeparator(back3) || UTF8IsNEL(back3+1)) {\n\t\t\t\tInsertLine(lineInsert, (position + i) + 1, atLineStart);\n\t\t\t\tlineInsert++;\n\t\t\t\tsimpleInsertion = false;\n\t\t\t}\n\t\t}\n\t\tchBeforePrev = chPrev;\n\t\tchPrev = ch;\n\t}\n\t// Joining two lines where last insertion is cr and following substance starts with lf\n\tif (chAfter == '\\n') {\n\t\tif (ch == '\\r') {\n\t\t\t// End of line already in buffer so drop the newly created one\n\t\t\tRemoveLine(lineInsert - 1);\n\t\t\tsimpleInsertion = false;\n\t\t}\n\t} else if (utf8LineEnds && !UTF8IsAscii(chAfter)) {\n\t\t// May have end of UTF-8 line end in buffer and start in insertion\n\t\tfor (int j = 0; j < UTF8SeparatorLength-1; j++) {\n\t\t\tconst unsigned char chAt = substance.ValueAt(position + insertLength + j);\n\t\t\tconst unsigned char back3[3] = {chBeforePrev, chPrev, chAt};\n\t\t\tif (UTF8IsSeparator(back3)) {\n\t\t\t\tInsertLine(lineInsert, (position + insertLength + j) + 1, atLineStart);\n\t\t\t\tlineInsert++;\n\t\t\t\tsimpleInsertion = false;\n\t\t\t}\n\t\t\tif ((j == 0) && UTF8IsNEL(back3+1)) {\n\t\t\t\tInsertLine(lineInsert, (position + insertLength + j) + 1, atLineStart);\n\t\t\t\tlineInsert++;\n\t\t\t\tsimpleInsertion = false;\n\t\t\t}\n\t\t\tchBeforePrev = chPrev;\n\t\t\tchPrev = chAt;\n\t\t}\n\t}\n\tif (maintainingIndex) {\n\t\tif (simpleInsertion) {\n\t\t\tconst CountWidths cw = CountCharacterWidthsUTF8(s, insertLength);\n\t\t\tplv->InsertCharacters(linePosition, cw);\n\t\t} else {\n\t\t\tRecalculateIndexLineStarts(linePosition, lineInsert - 1);\n\t\t}\n\t}\n}\n\nvoid CellBuffer::BasicDeleteChars(Sci::Position position, Sci::Position deleteLength) {\n\tif (deleteLength == 0)\n\t\treturn;\n\n\tSci::Line lineRecalculateStart = INVALID_POSITION;\n\n\tif ((position == 0) && (deleteLength == substance.Length())) {\n\t\t// If whole buffer is being deleted, faster to reinitialise lines data\n\t\t// than to delete each line.\n\t\tplv->Init();\n\t} else {\n\t\t// Have to fix up line positions before doing deletion as looking at text in buffer\n\t\t// to work out which lines have been removed\n\n\t\tconst Sci::Line linePosition = plv->LineFromPosition(position);\n\t\tSci::Line lineRemove = linePosition + 1;\n\n\t\tplv->InsertText(lineRemove-1, - (deleteLength));\n\t\tconst unsigned char chPrev = substance.ValueAt(position - 1);\n\t\tconst unsigned char chBefore = chPrev;\n\t\tunsigned char chNext = substance.ValueAt(position);\n\n\t\t// Check for breaking apart a UTF-8 sequence\n\t\t// Needs further checks that text is UTF-8 or that some other break apart is occurring\n\t\tif (utf8Substance && MaintainingLineCharacterIndex()) {\n\t\t\tconst Sci::Position posEnd = position + deleteLength;\n\t\t\tconst Sci::Line lineEndRemove = plv->LineFromPosition(posEnd);\n\t\t\tconst bool simpleDeletion =\n\t\t\t\t(linePosition == lineEndRemove) &&\n\t\t\t\tUTF8IsCharacterBoundary(position) && UTF8IsCharacterBoundary(posEnd);\n\t\t\tif (simpleDeletion) {\n\t\t\t\tstd::string text(deleteLength, '\\0');\n\t\t\t\tGetCharRange(const_cast<char *>(text.data()), position, deleteLength);\n\t\t\t\tif (UTF8IsValid(text.data(), text.size())) {\n\t\t\t\t\t// Everything is good\n\t\t\t\t\tconst CountWidths cw = CountCharacterWidthsUTF8(text.data(), text.size());\n\t\t\t\t\tplv->InsertCharacters(linePosition, -cw);\n\t\t\t\t} else {\n\t\t\t\t\tlineRecalculateStart = linePosition;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlineRecalculateStart = linePosition;\n\t\t\t}\n\t\t}\n\n\t\tbool ignoreNL = false;\n\t\tif (chPrev == '\\r' && chNext == '\\n') {\n\t\t\t// Move back one\n\t\t\tplv->SetLineStart(lineRemove, position);\n\t\t\tlineRemove++;\n\t\t\tignoreNL = true; \t// First \\n is not real deletion\n\t\t}\n\t\tif (utf8LineEnds && UTF8IsTrailByte(chNext)) {\n\t\t\tif (UTF8LineEndOverlaps(position)) {\n\t\t\t\tRemoveLine(lineRemove);\n\t\t\t}\n\t\t}\n\n\t\tunsigned char ch = chNext;\n\t\tfor (Sci::Position i = 0; i < deleteLength; i++) {\n\t\t\tchNext = substance.ValueAt(position + i + 1);\n\t\t\tif (ch == '\\r') {\n\t\t\t\tif (chNext != '\\n') {\n\t\t\t\t\tRemoveLine(lineRemove);\n\t\t\t\t}\n\t\t\t} else if (ch == '\\n') {\n\t\t\t\tif (ignoreNL) {\n\t\t\t\t\tignoreNL = false; \t// Further \\n are real deletions\n\t\t\t\t} else {\n\t\t\t\t\tRemoveLine(lineRemove);\n\t\t\t\t}\n\t\t\t} else if (utf8LineEnds) {\n\t\t\t\tif (!UTF8IsAscii(ch)) {\n\t\t\t\t\tconst unsigned char next3[3] = {ch, chNext,\n\t\t\t\t\t\tstatic_cast<unsigned char>(substance.ValueAt(position + i + 2))};\n\t\t\t\t\tif (UTF8IsSeparator(next3) || UTF8IsNEL(next3)) {\n\t\t\t\t\t\tRemoveLine(lineRemove);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tch = chNext;\n\t\t}\n\t\t// May have to fix up end if last deletion causes cr to be next to lf\n\t\t// or removes one of a crlf pair\n\t\tconst char chAfter = substance.ValueAt(position + deleteLength);\n\t\tif (chBefore == '\\r' && chAfter == '\\n') {\n\t\t\t// Using lineRemove-1 as cr ended line before start of deletion\n\t\t\tRemoveLine(lineRemove - 1);\n\t\t\tplv->SetLineStart(lineRemove - 1, position + 1);\n\t\t}\n\t}\n\tsubstance.DeleteRange(position, deleteLength);\n\tif (lineRecalculateStart >= 0) {\n\t\tRecalculateIndexLineStarts(lineRecalculateStart, lineRecalculateStart);\n\t}\n\tif (hasStyles) {\n\t\tstyle.DeleteRange(position, deleteLength);\n\t}\n}\n\nbool CellBuffer::SetUndoCollection(bool collectUndo) {\n\tcollectingUndo = collectUndo;\n\tuh.DropUndoSequence();\n\treturn collectingUndo;\n}\n\nbool CellBuffer::IsCollectingUndo() const {\n\treturn collectingUndo;\n}\n\nvoid CellBuffer::BeginUndoAction() {\n\tuh.BeginUndoAction();\n}\n\nvoid CellBuffer::EndUndoAction() {\n\tuh.EndUndoAction();\n}\n\nvoid CellBuffer::AddUndoAction(Sci::Position token, bool mayCoalesce) {\n\tbool startSequence;\n\tuh.AppendAction(containerAction, token, nullptr, 0, startSequence, mayCoalesce);\n}\n\nvoid CellBuffer::DeleteUndoHistory() {\n\tuh.DeleteUndoHistory();\n}\n\nbool CellBuffer::CanUndo() const {\n\treturn uh.CanUndo();\n}\n\nint CellBuffer::StartUndo() {\n\treturn uh.StartUndo();\n}\n\nconst Action &CellBuffer::GetUndoStep() const {\n\treturn uh.GetUndoStep();\n}\n\nvoid CellBuffer::PerformUndoStep() {\n\tconst Action &actionStep = uh.GetUndoStep();\n\tif (actionStep.at == insertAction) {\n\t\tif (substance.Length() < actionStep.lenData) {\n\t\t\tthrow std::runtime_error(\n\t\t\t\t\"CellBuffer::PerformUndoStep: deletion must be less than document length.\");\n\t\t}\n\t\tBasicDeleteChars(actionStep.position, actionStep.lenData);\n\t} else if (actionStep.at == removeAction) {\n\t\tBasicInsertString(actionStep.position, actionStep.data.get(), actionStep.lenData);\n\t}\n\tuh.CompletedUndoStep();\n}\n\nbool CellBuffer::CanRedo() const {\n\treturn uh.CanRedo();\n}\n\nint CellBuffer::StartRedo() {\n\treturn uh.StartRedo();\n}\n\nconst Action &CellBuffer::GetRedoStep() const {\n\treturn uh.GetRedoStep();\n}\n\nvoid CellBuffer::PerformRedoStep() {\n\tconst Action &actionStep = uh.GetRedoStep();\n\tif (actionStep.at == insertAction) {\n\t\tBasicInsertString(actionStep.position, actionStep.data.get(), actionStep.lenData);\n\t} else if (actionStep.at == removeAction) {\n\t\tBasicDeleteChars(actionStep.position, actionStep.lenData);\n\t}\n\tuh.CompletedRedoStep();\n}\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/CellBuffer.h",
    "content": "// Scintilla source code edit control\n/** @file CellBuffer.h\n ** Manages the text of the document.\n **/\n// Copyright 1998-2004 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CELLBUFFER_H\n#define CELLBUFFER_H\n\nnamespace Scintilla {\n\n// Interface to per-line data that wants to see each line insertion and deletion\nclass PerLine {\npublic:\n\tvirtual ~PerLine() {}\n\tvirtual void Init()=0;\n\tvirtual void InsertLine(Sci::Line line)=0;\n\tvirtual void RemoveLine(Sci::Line line)=0;\n};\n\n/**\n * The line vector contains information about each of the lines in a cell buffer.\n */\nclass ILineVector;\n\nenum actionType { insertAction, removeAction, startAction, containerAction };\n\n/**\n * Actions are used to store all the information required to perform one undo/redo step.\n */\nclass Action {\npublic:\n\tactionType at;\n\tSci::Position position;\n\tstd::unique_ptr<char[]> data;\n\tSci::Position lenData;\n\tbool mayCoalesce;\n\n\tAction();\n\t// Deleted so Action objects can not be copied.\n\tAction(const Action &other) = delete;\n\tAction &operator=(const Action &other) = delete;\n\tAction &operator=(const Action &&other) = delete;\n\t// Move constructor allows vector to be resized without reallocating.\n\tAction(Action &&other) noexcept = default;\n\t~Action();\n\tvoid Create(actionType at_, Sci::Position position_=0, const char *data_=nullptr, Sci::Position lenData_=0, bool mayCoalesce_=true);\n\tvoid Clear();\n};\n\n/**\n *\n */\nclass UndoHistory {\n\tstd::vector<Action> actions;\n\tint maxAction;\n\tint currentAction;\n\tint undoSequenceDepth;\n\tint savePoint;\n\tint tentativePoint;\n\n\tvoid EnsureUndoRoom();\n\npublic:\n\tUndoHistory();\n\t// Deleted so UndoHistory objects can not be copied.\n\tUndoHistory(const UndoHistory &) = delete;\n\tUndoHistory(UndoHistory &&) = delete;\n\tvoid operator=(const UndoHistory &) = delete;\n\tvoid operator=(UndoHistory &&) = delete;\n\t~UndoHistory();\n\n\tconst char *AppendAction(actionType at, Sci::Position position, const char *data, Sci::Position lengthData, bool &startSequence, bool mayCoalesce=true);\n\n\tvoid BeginUndoAction();\n\tvoid EndUndoAction();\n\tvoid DropUndoSequence();\n\tvoid DeleteUndoHistory();\n\n\t/// The save point is a marker in the undo stack where the container has stated that\n\t/// the buffer was saved. Undo and redo can move over the save point.\n\tvoid SetSavePoint();\n\tbool IsSavePoint() const;\n\n\t// Tentative actions are used for input composition so that it can be undone cleanly\n\tvoid TentativeStart();\n\tvoid TentativeCommit();\n\tbool TentativeActive() const noexcept { return tentativePoint >= 0; }\n\tint TentativeSteps();\n\n\t/// To perform an undo, StartUndo is called to retrieve the number of steps, then UndoStep is\n\t/// called that many times. Similarly for redo.\n\tbool CanUndo() const;\n\tint StartUndo();\n\tconst Action &GetUndoStep() const;\n\tvoid CompletedUndoStep();\n\tbool CanRedo() const;\n\tint StartRedo();\n\tconst Action &GetRedoStep() const;\n\tvoid CompletedRedoStep();\n};\n\n/**\n * Holder for an expandable array of characters that supports undo and line markers.\n * Based on article \"Data Structures in a Bit-Mapped Text Editor\"\n * by Wilfred J. Hansen, Byte January 1987, page 183.\n */\nclass CellBuffer {\nprivate:\n\tbool hasStyles;\n\tbool largeDocument;\n\tSplitVector<char> substance;\n\tSplitVector<char> style;\n\tbool readOnly;\n\tbool utf8Substance;\n\tint utf8LineEnds;\n\n\tbool collectingUndo;\n\tUndoHistory uh;\n\n\tstd::unique_ptr<ILineVector> plv;\n\n\tbool UTF8LineEndOverlaps(Sci::Position position) const;\n\tbool UTF8IsCharacterBoundary(Sci::Position position) const;\n\tvoid ResetLineEnds();\n\tvoid RecalculateIndexLineStarts(Sci::Line lineFirst, Sci::Line lineLast);\n\tbool MaintainingLineCharacterIndex() const noexcept;\n\t/// Actions without undo\n\tvoid BasicInsertString(Sci::Position position, const char *s, Sci::Position insertLength);\n\tvoid BasicDeleteChars(Sci::Position position, Sci::Position deleteLength);\n\npublic:\n\n\tCellBuffer(bool hasStyles_, bool largeDocument_);\n\t// Deleted so CellBuffer objects can not be copied.\n\tCellBuffer(const CellBuffer &) = delete;\n\tCellBuffer(CellBuffer &&) = delete;\n\tvoid operator=(const CellBuffer &) = delete;\n\tvoid operator=(CellBuffer &&) = delete;\n\t~CellBuffer();\n\n\t/// Retrieving positions outside the range of the buffer works and returns 0\n\tchar CharAt(Sci::Position position) const noexcept;\n\tunsigned char UCharAt(Sci::Position position) const noexcept;\n\tvoid GetCharRange(char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const;\n\tchar StyleAt(Sci::Position position) const noexcept;\n\tvoid GetStyleRange(unsigned char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const;\n\tconst char *BufferPointer();\n\tconst char *RangePointer(Sci::Position position, Sci::Position rangeLength);\n\tSci::Position GapPosition() const;\n\n\tSci::Position Length() const noexcept;\n\tvoid Allocate(Sci::Position newSize);\n\tvoid SetUTF8Substance(bool utf8Substance_);\n\tint GetLineEndTypes() const { return utf8LineEnds; }\n\tvoid SetLineEndTypes(int utf8LineEnds_);\n\tbool ContainsLineEnd(const char *s, Sci::Position length) const;\n\tvoid SetPerLine(PerLine *pl);\n\tint LineCharacterIndex() const noexcept;\n\tvoid AllocateLineCharacterIndex(int lineCharacterIndex);\n\tvoid ReleaseLineCharacterIndex(int lineCharacterIndex);\n\tSci::Line Lines() const noexcept;\n\tSci::Position LineStart(Sci::Line line) const noexcept;\n\tSci::Position IndexLineStart(Sci::Line line, int lineCharacterIndex) const noexcept;\n\tSci::Line LineFromPosition(Sci::Position pos) const noexcept;\n\tSci::Line LineFromPositionIndex(Sci::Position pos, int lineCharacterIndex) const noexcept;\n\tvoid InsertLine(Sci::Line line, Sci::Position position, bool lineStart);\n\tvoid RemoveLine(Sci::Line line);\n\tconst char *InsertString(Sci::Position position, const char *s, Sci::Position insertLength, bool &startSequence);\n\n\t/// Setting styles for positions outside the range of the buffer is safe and has no effect.\n\t/// @return true if the style of a character is changed.\n\tbool SetStyleAt(Sci::Position position, char styleValue);\n\tbool SetStyleFor(Sci::Position position, Sci::Position lengthStyle, char styleValue);\n\n\tconst char *DeleteChars(Sci::Position position, Sci::Position deleteLength, bool &startSequence);\n\n\tbool IsReadOnly() const;\n\tvoid SetReadOnly(bool set);\n\tbool IsLarge() const;\n\tbool HasStyles() const;\n\n\t/// The save point is a marker in the undo stack where the container has stated that\n\t/// the buffer was saved. Undo and redo can move over the save point.\n\tvoid SetSavePoint();\n\tbool IsSavePoint() const;\n\n\tvoid TentativeStart();\n\tvoid TentativeCommit();\n\tbool TentativeActive() const;\n\tint TentativeSteps();\n\n\tbool SetUndoCollection(bool collectUndo);\n\tbool IsCollectingUndo() const;\n\tvoid BeginUndoAction();\n\tvoid EndUndoAction();\n\tvoid AddUndoAction(Sci::Position token, bool mayCoalesce);\n\tvoid DeleteUndoHistory();\n\n\t/// To perform an undo, StartUndo is called to retrieve the number of steps, then UndoStep is\n\t/// called that many times. Similarly for redo.\n\tbool CanUndo() const;\n\tint StartUndo();\n\tconst Action &GetUndoStep() const;\n\tvoid PerformUndoStep();\n\tbool CanRedo() const;\n\tint StartRedo();\n\tconst Action &GetRedoStep() const;\n\tvoid PerformRedoStep();\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/CharClassify.cpp",
    "content": "// Scintilla source code edit control\n/** @file CharClassify.cxx\n ** Character classifications used by Document and RESearch.\n **/\n// Copyright 2006 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cctype>\n\n#include <stdexcept>\n\n#include \"CharClassify.h\"\n\nusing namespace Scintilla;\n\nCharClassify::CharClassify() : charClass{} {\n\tSetDefaultCharClasses(true);\n}\n\nvoid CharClassify::SetDefaultCharClasses(bool includeWordClass) {\n\t// Initialize all char classes to default values\n\tfor (int ch = 0; ch < 256; ch++) {\n\t\tif (ch == '\\r' || ch == '\\n')\n\t\t\tcharClass[ch] = ccNewLine;\n\t\telse if (ch < 0x20 || ch == ' ')\n\t\t\tcharClass[ch] = ccSpace;\n\t\telse if (includeWordClass && (ch >= 0x80 || isalnum(ch) || ch == '_'))\n\t\t\tcharClass[ch] = ccWord;\n\t\telse\n\t\t\tcharClass[ch] = ccPunctuation;\n\t}\n}\n\nvoid CharClassify::SetCharClasses(const unsigned char *chars, cc newCharClass) {\n\t// Apply the newCharClass to the specifed chars\n\tif (chars) {\n\t\twhile (*chars) {\n\t\t\tcharClass[*chars] = static_cast<unsigned char>(newCharClass);\n\t\t\tchars++;\n\t\t}\n\t}\n}\n\nint CharClassify::GetCharsOfClass(cc characterClass, unsigned char *buffer) const {\n\t// Get characters belonging to the given char class; return the number\n\t// of characters (if the buffer is NULL, don't write to it).\n\tint count = 0;\n\tfor (int ch = maxChar - 1; ch >= 0; --ch) {\n\t\tif (charClass[ch] == characterClass) {\n\t\t\t++count;\n\t\t\tif (buffer) {\n\t\t\t\t*buffer = static_cast<unsigned char>(ch);\n\t\t\t\tbuffer++;\n\t\t\t}\n\t\t}\n\t}\n\treturn count;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/CharClassify.h",
    "content": "// Scintilla source code edit control\n/** @file CharClassify.h\n ** Character classifications used by Document and RESearch.\n **/\n// Copyright 2006-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CHARCLASSIFY_H\n#define CHARCLASSIFY_H\n\nnamespace Scintilla {\n\nclass CharClassify {\npublic:\n\tCharClassify();\n\n\tenum cc { ccSpace, ccNewLine, ccWord, ccPunctuation };\n\tvoid SetDefaultCharClasses(bool includeWordClass);\n\tvoid SetCharClasses(const unsigned char *chars, cc newCharClass);\n\tint GetCharsOfClass(cc characterClass, unsigned char *buffer) const;\n\tcc GetClass(unsigned char ch) const { return static_cast<cc>(charClass[ch]);}\n\tbool IsWord(unsigned char ch) const { return static_cast<cc>(charClass[ch]) == ccWord;}\n\nprivate:\n\tenum { maxChar=256 };\n\tunsigned char charClass[maxChar];    // not type cc to save space\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/ContractionState.cpp",
    "content": "// Scintilla source code edit control\n/** @file ContractionState.cxx\n ** Manages visibility of lines for folding and wrapping.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cassert>\n#include <cstring>\n\n#include <stdexcept>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"SparseVector.h\"\n#include \"ContractionState.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\ntemplate <typename LINE>\nclass ContractionState final : public IContractionState {\n\t// These contain 1 element for every document line.\n\tstd::unique_ptr<RunStyles<LINE, char>> visible;\n\tstd::unique_ptr<RunStyles<LINE, char>> expanded;\n\tstd::unique_ptr<RunStyles<LINE, int>> heights;\n\tstd::unique_ptr<SparseVector<UniqueString>> foldDisplayTexts;\n\tstd::unique_ptr<Partitioning<LINE>> displayLines;\n\tLINE linesInDocument;\n\n\tvoid EnsureData();\n\n\tbool OneToOne() const noexcept {\n\t\t// True when each document line is exactly one display line so need for\n\t\t// complex data structures.\n\t\treturn visible == nullptr;\n\t}\n\n\tvoid InsertLine(Sci::Line lineDoc);\n\tvoid DeleteLine(Sci::Line lineDoc);\n\npublic:\n\tContractionState() noexcept;\n\t// Deleted so ContractionState objects can not be copied.\n\tContractionState(const ContractionState &) = delete;\n\tvoid operator=(const ContractionState &) = delete;\n\tContractionState(ContractionState &&) = delete;\n\tvoid operator=(ContractionState &&) = delete;\n\t~ContractionState() override;\n\n\tvoid Clear() noexcept override;\n\n\tSci::Line LinesInDoc() const override;\n\tSci::Line LinesDisplayed() const override;\n\tSci::Line DisplayFromDoc(Sci::Line lineDoc) const override;\n\tSci::Line DisplayLastFromDoc(Sci::Line lineDoc) const override;\n\tSci::Line DocFromDisplay(Sci::Line lineDisplay) const override;\n\n\tvoid InsertLines(Sci::Line lineDoc, Sci::Line lineCount) override;\n\tvoid DeleteLines(Sci::Line lineDoc, Sci::Line lineCount) override;\n\n\tbool GetVisible(Sci::Line lineDoc) const override;\n\tbool SetVisible(Sci::Line lineDocStart, Sci::Line lineDocEnd, bool isVisible) override;\n\tbool HiddenLines() const override;\n\n\tconst char *GetFoldDisplayText(Sci::Line lineDoc) const override;\n\tbool GetFoldDisplayTextShown(Sci::Line lineDoc) const override;\n\tbool SetFoldDisplayText(Sci::Line lineDoc, const char *text) override;\n\n\tbool GetExpanded(Sci::Line lineDoc) const override;\n\tbool SetExpanded(Sci::Line lineDoc, bool isExpanded) override;\n\tSci::Line ContractedNext(Sci::Line lineDocStart) const override;\n\n\tint GetHeight(Sci::Line lineDoc) const override;\n\tbool SetHeight(Sci::Line lineDoc, int height) override;\n\n\tvoid ShowAll() override;\n\n\tvoid Check() const;\n};\n\ntemplate <typename LINE>\nContractionState<LINE>::ContractionState() noexcept : linesInDocument(1) {\n}\n\ntemplate <typename LINE>\nContractionState<LINE>::~ContractionState() {\n\tClear();\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::EnsureData() {\n\tif (OneToOne()) {\n\t\tvisible = std::unique_ptr<RunStyles<LINE, char>>(new RunStyles<LINE, char>());\n\t\texpanded = std::unique_ptr<RunStyles<LINE, char>>(new RunStyles<LINE, char>());\n\t\theights = std::unique_ptr<RunStyles<LINE, int>>(new RunStyles<LINE, int>());\n\t\tfoldDisplayTexts = std::unique_ptr<SparseVector<UniqueString>>(new SparseVector<UniqueString>());\n\t\tdisplayLines = std::unique_ptr<Partitioning<LINE>>(new Partitioning<LINE>(4));\n\t\tInsertLines(0, linesInDocument);\n\t}\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::InsertLine(Sci::Line lineDoc) {\n\tif (OneToOne()) {\n\t\tlinesInDocument++;\n\t} else {\n\t\tconst LINE lineDocCast = static_cast<LINE>(lineDoc);\n\t\tvisible->InsertSpace(lineDocCast, 1);\n\t\tvisible->SetValueAt(lineDocCast, 1);\n\t\texpanded->InsertSpace(lineDocCast, 1);\n\t\texpanded->SetValueAt(lineDocCast, 1);\n\t\theights->InsertSpace(lineDocCast, 1);\n\t\theights->SetValueAt(lineDocCast, 1);\n\t\tfoldDisplayTexts->InsertSpace(lineDocCast, 1);\n\t\tfoldDisplayTexts->SetValueAt(lineDocCast, nullptr);\n\t\tconst Sci::Line lineDisplay = DisplayFromDoc(lineDoc);\n\t\tdisplayLines->InsertPartition(lineDocCast, static_cast<LINE>(lineDisplay));\n\t\tdisplayLines->InsertText(lineDocCast, 1);\n\t}\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::DeleteLine(Sci::Line lineDoc) {\n\tif (OneToOne()) {\n\t\tlinesInDocument--;\n\t} else {\n\t\tconst LINE lineDocCast = static_cast<LINE>(lineDoc);\n\t\tif (GetVisible(lineDoc)) {\n\t\t\tdisplayLines->InsertText(lineDocCast, -heights->ValueAt(lineDocCast));\n\t\t}\n\t\tdisplayLines->RemovePartition(lineDocCast);\n\t\tvisible->DeleteRange(lineDocCast, 1);\n\t\texpanded->DeleteRange(lineDocCast, 1);\n\t\theights->DeleteRange(lineDocCast, 1);\n\t\tfoldDisplayTexts->DeletePosition(lineDocCast);\n\t}\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::Clear() noexcept {\n\tvisible.reset();\n\texpanded.reset();\n\theights.reset();\n\tfoldDisplayTexts.reset();\n\tdisplayLines.reset();\n\tlinesInDocument = 1;\n}\n\ntemplate <typename LINE>\nSci::Line ContractionState<LINE>::LinesInDoc() const {\n\tif (OneToOne()) {\n\t\treturn linesInDocument;\n\t} else {\n\t\treturn displayLines->Partitions() - 1;\n\t}\n}\n\ntemplate <typename LINE>\nSci::Line ContractionState<LINE>::LinesDisplayed() const {\n\tif (OneToOne()) {\n\t\treturn linesInDocument;\n\t} else {\n\t\treturn displayLines->PositionFromPartition(static_cast<LINE>(LinesInDoc()));\n\t}\n}\n\ntemplate <typename LINE>\nSci::Line ContractionState<LINE>::DisplayFromDoc(Sci::Line lineDoc) const {\n\tif (OneToOne()) {\n\t\treturn (lineDoc <= linesInDocument) ? lineDoc : linesInDocument;\n\t} else {\n\t\tif (lineDoc > displayLines->Partitions())\n\t\t\tlineDoc = displayLines->Partitions();\n\t\treturn displayLines->PositionFromPartition(static_cast<LINE>(lineDoc));\n\t}\n}\n\ntemplate <typename LINE>\nSci::Line ContractionState<LINE>::DisplayLastFromDoc(Sci::Line lineDoc) const {\n\treturn DisplayFromDoc(lineDoc) + GetHeight(lineDoc) - 1;\n}\n\ntemplate <typename LINE>\nSci::Line ContractionState<LINE>::DocFromDisplay(Sci::Line lineDisplay) const {\n\tif (OneToOne()) {\n\t\treturn lineDisplay;\n\t} else {\n\t\tif (lineDisplay <= 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (lineDisplay > LinesDisplayed()) {\n\t\t\treturn displayLines->PartitionFromPosition(static_cast<LINE>(LinesDisplayed()));\n\t\t}\n\t\tconst Sci::Line lineDoc = displayLines->PartitionFromPosition(static_cast<LINE>(lineDisplay));\n\t\tPLATFORM_ASSERT(GetVisible(lineDoc));\n\t\treturn lineDoc;\n\t}\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::InsertLines(Sci::Line lineDoc, Sci::Line lineCount) {\n\tfor (int l = 0; l < lineCount; l++) {\n\t\tInsertLine(lineDoc + l);\n\t}\n\tCheck();\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::DeleteLines(Sci::Line lineDoc, Sci::Line lineCount) {\n\tfor (Sci::Line l = 0; l < lineCount; l++) {\n\t\tDeleteLine(lineDoc);\n\t}\n\tCheck();\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::GetVisible(Sci::Line lineDoc) const {\n\tif (OneToOne()) {\n\t\treturn true;\n\t} else {\n\t\tif (lineDoc >= visible->Length())\n\t\t\treturn true;\n\t\treturn visible->ValueAt(static_cast<LINE>(lineDoc)) == 1;\n\t}\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::SetVisible(Sci::Line lineDocStart, Sci::Line lineDocEnd, bool isVisible) {\n\tif (OneToOne() && isVisible) {\n\t\treturn false;\n\t} else {\n\t\tEnsureData();\n\t\tSci::Line delta = 0;\n\t\tCheck();\n\t\tif ((lineDocStart <= lineDocEnd) && (lineDocStart >= 0) && (lineDocEnd < LinesInDoc())) {\n\t\t\tfor (Sci::Line line = lineDocStart; line <= lineDocEnd; line++) {\n\t\t\t\tif (GetVisible(line) != isVisible) {\n\t\t\t\t\tconst int heightLine = heights->ValueAt(static_cast<LINE>(line));\n\t\t\t\t\tconst int difference = isVisible ? heightLine : -heightLine;\n\t\t\t\t\tvisible->SetValueAt(static_cast<LINE>(line), isVisible ? 1 : 0);\n\t\t\t\t\tdisplayLines->InsertText(static_cast<LINE>(line), difference);\n\t\t\t\t\tdelta += difference;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t\tCheck();\n\t\treturn delta != 0;\n\t}\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::HiddenLines() const {\n\tif (OneToOne()) {\n\t\treturn false;\n\t} else {\n\t\treturn !visible->AllSameAs(1);\n\t}\n}\n\ntemplate <typename LINE>\nconst char *ContractionState<LINE>::GetFoldDisplayText(Sci::Line lineDoc) const {\n\tCheck();\n\treturn foldDisplayTexts->ValueAt(lineDoc).get();\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::GetFoldDisplayTextShown(Sci::Line lineDoc) const {\n\treturn !GetExpanded(lineDoc) && GetFoldDisplayText(lineDoc);\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::SetFoldDisplayText(Sci::Line lineDoc, const char *text) {\n\tEnsureData();\n\tconst char *foldText = foldDisplayTexts->ValueAt(lineDoc).get();\n\tif (!foldText || !text || 0 != strcmp(text, foldText)) {\n\t\tUniqueString uns = UniqueStringCopy(text);\n\t\tfoldDisplayTexts->SetValueAt(lineDoc, std::move(uns));\n\t\tCheck();\n\t\treturn true;\n\t} else {\n\t\tCheck();\n\t\treturn false;\n\t}\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::GetExpanded(Sci::Line lineDoc) const {\n\tif (OneToOne()) {\n\t\treturn true;\n\t} else {\n\t\tCheck();\n\t\treturn expanded->ValueAt(static_cast<LINE>(lineDoc)) == 1;\n\t}\n}\n\ntemplate <typename LINE>\nbool ContractionState<LINE>::SetExpanded(Sci::Line lineDoc, bool isExpanded) {\n\tif (OneToOne() && isExpanded) {\n\t\treturn false;\n\t} else {\n\t\tEnsureData();\n\t\tif (isExpanded != (expanded->ValueAt(static_cast<LINE>(lineDoc)) == 1)) {\n\t\t\texpanded->SetValueAt(static_cast<LINE>(lineDoc), isExpanded ? 1 : 0);\n\t\t\tCheck();\n\t\t\treturn true;\n\t\t} else {\n\t\t\tCheck();\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\ntemplate <typename LINE>\nSci::Line ContractionState<LINE>::ContractedNext(Sci::Line lineDocStart) const {\n\tif (OneToOne()) {\n\t\treturn -1;\n\t} else {\n\t\tCheck();\n\t\tif (!expanded->ValueAt(static_cast<LINE>(lineDocStart))) {\n\t\t\treturn lineDocStart;\n\t\t} else {\n\t\t\tconst Sci::Line lineDocNextChange = expanded->EndRun(static_cast<LINE>(lineDocStart));\n\t\t\tif (lineDocNextChange < LinesInDoc())\n\t\t\t\treturn lineDocNextChange;\n\t\t\telse\n\t\t\t\treturn -1;\n\t\t}\n\t}\n}\n\ntemplate <typename LINE>\nint ContractionState<LINE>::GetHeight(Sci::Line lineDoc) const {\n\tif (OneToOne()) {\n\t\treturn 1;\n\t} else {\n\t\treturn heights->ValueAt(static_cast<LINE>(lineDoc));\n\t}\n}\n\n// Set the number of display lines needed for this line.\n// Return true if this is a change.\ntemplate <typename LINE>\nbool ContractionState<LINE>::SetHeight(Sci::Line lineDoc, int height) {\n\tif (OneToOne() && (height == 1)) {\n\t\treturn false;\n\t} else if (lineDoc < LinesInDoc()) {\n\t\tEnsureData();\n\t\tif (GetHeight(lineDoc) != height) {\n\t\t\tif (GetVisible(lineDoc)) {\n\t\t\t\tdisplayLines->InsertText(static_cast<LINE>(lineDoc), height - GetHeight(lineDoc));\n\t\t\t}\n\t\t\theights->SetValueAt(static_cast<LINE>(lineDoc), height);\n\t\t\tCheck();\n\t\t\treturn true;\n\t\t} else {\n\t\t\tCheck();\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\treturn false;\n\t}\n}\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::ShowAll() {\n\tconst LINE lines = static_cast<LINE>(LinesInDoc());\n\tClear();\n\tlinesInDocument = lines;\n}\n\n// Debugging checks\n\ntemplate <typename LINE>\nvoid ContractionState<LINE>::Check() const {\n#ifdef CHECK_CORRECTNESS\n\tfor (Sci::Line vline = 0; vline < LinesDisplayed(); vline++) {\n\t\tconst Sci::Line lineDoc = DocFromDisplay(vline);\n\t\tPLATFORM_ASSERT(GetVisible(lineDoc));\n\t}\n\tfor (Sci::Line lineDoc = 0; lineDoc < LinesInDoc(); lineDoc++) {\n\t\tconst Sci::Line displayThis = DisplayFromDoc(lineDoc);\n\t\tconst Sci::Line displayNext = DisplayFromDoc(lineDoc + 1);\n\t\tconst Sci::Line height = displayNext - displayThis;\n\t\tPLATFORM_ASSERT(height >= 0);\n\t\tif (GetVisible(lineDoc)) {\n\t\t\tPLATFORM_ASSERT(GetHeight(lineDoc) == height);\n\t\t} else {\n\t\t\tPLATFORM_ASSERT(0 == height);\n\t\t}\n\t}\n#endif\n}\n\n}\n\nnamespace Scintilla {\n\nstd::unique_ptr<IContractionState> ContractionStateCreate(bool largeDocument) {\n\tif (largeDocument)\n\t\treturn std::unique_ptr<ContractionState<Sci::Line>>(new ContractionState<Sci::Line>());\n\telse\n\t\treturn std::unique_ptr<ContractionState<int>>(new ContractionState<int>());\n}\n\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/ContractionState.h",
    "content": "// Scintilla source code edit control\n/** @file ContractionState.h\n ** Manages visibility of lines for folding and wrapping.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef CONTRACTIONSTATE_H\n#define CONTRACTIONSTATE_H\n\nnamespace Scintilla {\n\n/**\n*/\nclass IContractionState {\npublic:\n\tvirtual ~IContractionState() {};\n\n\tvirtual void Clear()=0;\n\n\tvirtual Sci::Line LinesInDoc() const=0;\n\tvirtual Sci::Line LinesDisplayed() const=0;\n\tvirtual Sci::Line DisplayFromDoc(Sci::Line lineDoc) const=0;\n\tvirtual Sci::Line DisplayLastFromDoc(Sci::Line lineDoc) const=0;\n\tvirtual Sci::Line DocFromDisplay(Sci::Line lineDisplay) const=0;\n\n\tvirtual void InsertLines(Sci::Line lineDoc, Sci::Line lineCount)=0;\n\tvirtual void DeleteLines(Sci::Line lineDoc, Sci::Line lineCount)=0;\n\n\tvirtual bool GetVisible(Sci::Line lineDoc) const=0;\n\tvirtual bool SetVisible(Sci::Line lineDocStart, Sci::Line lineDocEnd, bool isVisible)=0;\n\tvirtual bool HiddenLines() const=0;\n\n\tvirtual const char *GetFoldDisplayText(Sci::Line lineDoc) const=0;\n\tvirtual bool GetFoldDisplayTextShown(Sci::Line lineDoc) const=0;\n\tvirtual bool SetFoldDisplayText(Sci::Line lineDoc, const char *text)=0;\n\n\tvirtual bool GetExpanded(Sci::Line lineDoc) const=0;\n\tvirtual bool SetExpanded(Sci::Line lineDoc, bool isExpanded)=0;\n\tvirtual Sci::Line ContractedNext(Sci::Line lineDocStart) const=0;\n\n\tvirtual int GetHeight(Sci::Line lineDoc) const=0;\n\tvirtual bool SetHeight(Sci::Line lineDoc, int height)=0;\n\n\tvirtual void ShowAll()=0;\n};\n\nstd::unique_ptr<IContractionState> ContractionStateCreate(bool largeDocument);\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/DBCS.cpp",
    "content": "// Scintilla source code edit control\n/** @file DBCS.cxx\n ** Functions to handle DBCS double byte encodings like Shift-JIS.\n **/\n// Copyright 2017 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include \"DBCS.h\"\n\nusing namespace Scintilla;\n\nnamespace Scintilla {\n\nbool DBCSIsLeadByte(int codePage, char ch) noexcept {\n\t// Byte ranges found in Wikipedia articles with relevant search strings in each case\n\tconst unsigned char uch = ch;\n\tswitch (codePage) {\n\tcase 932:\n\t\t// Shift_jis\n\t\treturn ((uch >= 0x81) && (uch <= 0x9F)) ||\n\t\t\t((uch >= 0xE0) && (uch <= 0xFC));\n\t\t// Lead bytes F0 to FC may be a Microsoft addition.\n\tcase 936:\n\t\t// GBK\n\t\treturn (uch >= 0x81) && (uch <= 0xFE);\n\tcase 949:\n\t\t// Korean Wansung KS C-5601-1987\n\t\treturn (uch >= 0x81) && (uch <= 0xFE);\n\tcase 950:\n\t\t// Big5\n\t\treturn (uch >= 0x81) && (uch <= 0xFE);\n\tcase 1361:\n\t\t// Korean Johab KS C-5601-1992\n\t\treturn\n\t\t\t((uch >= 0x84) && (uch <= 0xD3)) ||\n\t\t\t((uch >= 0xD8) && (uch <= 0xDE)) ||\n\t\t\t((uch >= 0xE0) && (uch <= 0xF9));\n\t}\n\treturn false;\n}\n\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/DBCS.h",
    "content": "// Scintilla source code edit control\n/** @file DBCS.h\n ** Functions to handle DBCS double byte encodings like Shift-JIS.\n **/\n// Copyright 2017 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef DBCS_H\n#define DBCS_H\n\nnamespace Scintilla {\n\nbool DBCSIsLeadByte(int codePage, char ch) noexcept;\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Decoration.cpp",
    "content": "/** @file Decoration.cxx\n ** Visual elements added over text.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cstring>\n#include <cstdio>\n#include <cstdarg>\n\n#include <stdexcept>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"Position.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"Decoration.h\"\n\nusing namespace Scintilla;\n\nnamespace {\n\ntemplate <typename POS>\nclass Decoration : public IDecoration {\n\tint indicator;\npublic:\n\tRunStyles<POS, int> rs;\n\n\texplicit Decoration(int indicator_) : indicator(indicator_) {\n\t}\n\t~Decoration() override {\n\t}\n\n\tbool Empty() const override {\n\t\treturn (rs.Runs() == 1) && (rs.AllSameAs(0));\n\t}\n\tint Indicator() const override {\n\t\treturn indicator;\n\t}\n\tSci::Position Length() const override {\n\t\treturn rs.Length();\n\t}\n\tint ValueAt(Sci::Position position) const override {\n\t\treturn rs.ValueAt(static_cast<POS>(position));\n\t}\n\tSci::Position StartRun(Sci::Position position) const override {\n\t\treturn rs.StartRun(static_cast<POS>(position));\n\t}\n\tSci::Position EndRun(Sci::Position position) const override {\n\t\treturn rs.EndRun(static_cast<POS>(position));\n\t}\n\tvoid SetValueAt(Sci::Position position, int value) override {\n\t\trs.SetValueAt(static_cast<POS>(position), value);\n\t}\n\tvoid InsertSpace(Sci::Position position, Sci::Position insertLength) override {\n\t\trs.InsertSpace(static_cast<POS>(position), static_cast<POS>(insertLength));\n\t}\n\tSci::Position Runs() const override {\n\t\treturn rs.Runs();\n\t}\n};\n\ntemplate <typename POS>\nclass DecorationList : public IDecorationList {\n\tint currentIndicator;\n\tint currentValue;\n\tDecoration<POS> *current;\t// Cached so FillRange doesn't have to search for each call.\n\tSci::Position lengthDocument;\n\t// Ordered by indicator\n\tstd::vector<std::unique_ptr<Decoration<POS>>> decorationList;\n\tstd::vector<const IDecoration*> decorationView;\t// Read-only view of decorationList\n\tbool clickNotified;\n\n\tDecoration<POS> *DecorationFromIndicator(int indicator);\n\tDecoration<POS> *Create(int indicator, Sci::Position length);\n\tvoid Delete(int indicator);\n\tvoid DeleteAnyEmpty();\n\tvoid SetView();\npublic:\n\n\tDecorationList();\n\t~DecorationList() override;\n\n\tconst std::vector<const IDecoration*> &View() const override {\n\t\treturn decorationView;\n\t}\n\n\tvoid SetCurrentIndicator(int indicator) override;\n\tint GetCurrentIndicator() const override { return currentIndicator; }\n\n\tvoid SetCurrentValue(int value) override;\n\tint GetCurrentValue() const override { return currentValue; }\n\n\t// Returns changed=true if some values may have changed\n\tFillResult<Sci::Position> FillRange(Sci::Position position, int value, Sci::Position fillLength) override;\n\n\tvoid InsertSpace(Sci::Position position, Sci::Position insertLength) override;\n\tvoid DeleteRange(Sci::Position position, Sci::Position deleteLength) override;\n\n\tvoid DeleteLexerDecorations() override;\n\n\tint AllOnFor(Sci::Position position) const override;\n\tint ValueAt(int indicator, Sci::Position position) override;\n\tSci::Position Start(int indicator, Sci::Position position) override;\n\tSci::Position End(int indicator, Sci::Position position) override;\n\n\tbool ClickNotified() const override {\n\t\treturn clickNotified;\n\t}\n\tvoid SetClickNotified(bool notified) override {\n\t\tclickNotified = notified;\n\t}\n};\n\ntemplate <typename POS>\nDecorationList<POS>::DecorationList() : currentIndicator(0), currentValue(1), current(nullptr),\n\tlengthDocument(0), clickNotified(false) {\n}\n\ntemplate <typename POS>\nDecorationList<POS>::~DecorationList() {\n\tcurrent = nullptr;\n}\n\ntemplate <typename POS>\nDecoration<POS> *DecorationList<POS>::DecorationFromIndicator(int indicator) {\n\tfor (const std::unique_ptr<Decoration<POS>> &deco : decorationList) {\n\t\tif (deco->Indicator() == indicator) {\n\t\t\treturn deco.get();\n\t\t}\n\t}\n\treturn nullptr;\n}\n\ntemplate <typename POS>\nDecoration<POS> *DecorationList<POS>::Create(int indicator, Sci::Position length) {\n\tcurrentIndicator = indicator;\n\tstd::unique_ptr<Decoration<POS>> decoNew = std::unique_ptr<Decoration<POS>>(new Decoration<POS>(indicator));\n\tdecoNew->rs.InsertSpace(0, static_cast<POS>(length));\n\n\ttypename std::vector<std::unique_ptr<Decoration<POS>>>::iterator it = std::lower_bound(\n\t\tdecorationList.begin(), decorationList.end(), decoNew,\n\t\t[](const std::unique_ptr<Decoration<POS>> &a, const std::unique_ptr<Decoration<POS>> &b) {\n\t\treturn a->Indicator() < b->Indicator();\n\t});\n\ttypename std::vector<std::unique_ptr<Decoration<POS>>>::iterator itAdded =\n\t\tdecorationList.insert(it, std::move(decoNew));\n\n\tSetView();\n\n\treturn itAdded->get();\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::Delete(int indicator) {\n\tdecorationList.erase(std::remove_if(decorationList.begin(), decorationList.end(),\n\t\t[indicator](const std::unique_ptr<Decoration<POS>> &deco) {\n\t\treturn deco->Indicator() == indicator;\n\t}), decorationList.end());\n\tcurrent = nullptr;\n\tSetView();\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::SetCurrentIndicator(int indicator) {\n\tcurrentIndicator = indicator;\n\tcurrent = DecorationFromIndicator(indicator);\n\tcurrentValue = 1;\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::SetCurrentValue(int value) {\n\tcurrentValue = value ? value : 1;\n}\n\ntemplate <typename POS>\nFillResult<Sci::Position> DecorationList<POS>::FillRange(Sci::Position position, int value, Sci::Position fillLength) {\n\tif (!current) {\n\t\tcurrent = DecorationFromIndicator(currentIndicator);\n\t\tif (!current) {\n\t\t\tcurrent = Create(currentIndicator, lengthDocument);\n\t\t}\n\t}\n\t// Converting result from POS to Sci::Position as callers not polymorphic.\n\tconst FillResult<POS> frInPOS = current->rs.FillRange(static_cast<POS>(position), value, static_cast<POS>(fillLength));\n\tconst FillResult<Sci::Position> fr { frInPOS.changed, frInPOS.position, frInPOS.fillLength };\n\tif (current->Empty()) {\n\t\tDelete(currentIndicator);\n\t}\n\treturn fr;\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::InsertSpace(Sci::Position position, Sci::Position insertLength) {\n\tconst bool atEnd = position == lengthDocument;\n\tlengthDocument += insertLength;\n\tfor (const std::unique_ptr<Decoration<POS>> &deco : decorationList) {\n\t\tdeco->rs.InsertSpace(static_cast<POS>(position), static_cast<POS>(insertLength));\n\t\tif (atEnd) {\n\t\t\tdeco->rs.FillRange(static_cast<POS>(position), 0, static_cast<POS>(insertLength));\n\t\t}\n\t}\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::DeleteRange(Sci::Position position, Sci::Position deleteLength) {\n\tlengthDocument -= deleteLength;\n\tfor (const std::unique_ptr<Decoration<POS>> &deco : decorationList) {\n\t\tdeco->rs.DeleteRange(static_cast<POS>(position), static_cast<POS>(deleteLength));\n\t}\n\tDeleteAnyEmpty();\n\tif (decorationList.size() != decorationView.size()) {\n\t\t// One or more empty decorations deleted so update view.\n\t\tcurrent = nullptr;\n\t\tSetView();\n\t}\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::DeleteLexerDecorations() {\n\tdecorationList.erase(std::remove_if(decorationList.begin(), decorationList.end(),\n\t\t[](const std::unique_ptr<Decoration<POS>> &deco) {\n\t\treturn deco->Indicator() < INDIC_CONTAINER;\n\t}), decorationList.end());\n\tcurrent = nullptr;\n\tSetView();\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::DeleteAnyEmpty() {\n\tif (lengthDocument == 0) {\n\t\tdecorationList.clear();\n\t} else {\n\t\tdecorationList.erase(std::remove_if(decorationList.begin(), decorationList.end(),\n\t\t\t[](const std::unique_ptr<Decoration<POS>> &deco) {\n\t\t\treturn deco->Empty();\n\t\t}), decorationList.end());\n\t}\n}\n\ntemplate <typename POS>\nvoid DecorationList<POS>::SetView() {\n\tdecorationView.clear();\n\tfor (const std::unique_ptr<Decoration<POS>> &deco : decorationList) {\n\t\tdecorationView.push_back(deco.get());\n\t}\n}\n\ntemplate <typename POS>\nint DecorationList<POS>::AllOnFor(Sci::Position position) const {\n\tint mask = 0;\n\tfor (const std::unique_ptr<Decoration<POS>> &deco : decorationList) {\n\t\tif (deco->rs.ValueAt(static_cast<POS>(position))) {\n\t\t\tif (deco->Indicator() < INDIC_IME) {\n\t\t\t\tmask |= 1 << deco->Indicator();\n\t\t\t}\n\t\t}\n\t}\n\treturn mask;\n}\n\ntemplate <typename POS>\nint DecorationList<POS>::ValueAt(int indicator, Sci::Position position) {\n\tconst Decoration<POS> *deco = DecorationFromIndicator(indicator);\n\tif (deco) {\n\t\treturn deco->rs.ValueAt(static_cast<POS>(position));\n\t}\n\treturn 0;\n}\n\ntemplate <typename POS>\nSci::Position DecorationList<POS>::Start(int indicator, Sci::Position position) {\n\tconst Decoration<POS> *deco = DecorationFromIndicator(indicator);\n\tif (deco) {\n\t\treturn deco->rs.StartRun(static_cast<POS>(position));\n\t}\n\treturn 0;\n}\n\ntemplate <typename POS>\nSci::Position DecorationList<POS>::End(int indicator, Sci::Position position) {\n\tconst Decoration<POS> *deco = DecorationFromIndicator(indicator);\n\tif (deco) {\n\t\treturn deco->rs.EndRun(static_cast<POS>(position));\n\t}\n\treturn 0;\n}\n\n}\n\nnamespace Scintilla {\n\nstd::unique_ptr<IDecoration> DecorationCreate(bool largeDocument, int indicator) {\n\tif (largeDocument)\n\t\treturn std::unique_ptr<Decoration<Sci::Position>>(new Decoration<Sci::Position>(indicator));\n\telse\n\t\treturn std::unique_ptr<Decoration<int>>(new Decoration<int>(indicator));\n}\n\nstd::unique_ptr<IDecorationList> DecorationListCreate(bool largeDocument) {\n\tif (largeDocument)\n\t\treturn std::unique_ptr<DecorationList<Sci::Position>>(new DecorationList<Sci::Position>());\n\telse\n\t\treturn std::unique_ptr<DecorationList<int>>(new DecorationList<int>());\n}\n\n}\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/Decoration.h",
    "content": "/** @file Decoration.h\n ** Visual elements added over text.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef DECORATION_H\n#define DECORATION_H\n\nnamespace Scintilla {\n\nclass IDecoration {\npublic:\n\tvirtual ~IDecoration() {}\n\tvirtual bool Empty() const = 0;\n\tvirtual int Indicator() const = 0;\n\tvirtual Sci::Position Length() const = 0;\n\tvirtual int ValueAt(Sci::Position position) const = 0;\n\tvirtual Sci::Position StartRun(Sci::Position position) const = 0;\n\tvirtual Sci::Position EndRun(Sci::Position position) const = 0;\n\tvirtual void SetValueAt(Sci::Position position, int value) = 0;\n\tvirtual void InsertSpace(Sci::Position position, Sci::Position insertLength) = 0;\n\tvirtual Sci::Position Runs() const = 0;\n};\n\nclass IDecorationList {\npublic:\n\tvirtual ~IDecorationList() {}\n\n\tvirtual const std::vector<const IDecoration*> &View() const =0;\n\n\tvirtual void SetCurrentIndicator(int indicator) = 0;\n\tvirtual int GetCurrentIndicator() const = 0;\n\n\tvirtual void SetCurrentValue(int value) = 0;\n\tvirtual int GetCurrentValue() const = 0;\n\n\t// Returns with changed=true if some values may have changed\n\tvirtual FillResult<Sci::Position> FillRange(Sci::Position position, int value, Sci::Position fillLength) = 0;\n\tvirtual void InsertSpace(Sci::Position position, Sci::Position insertLength) = 0;\n\tvirtual void DeleteRange(Sci::Position position, Sci::Position deleteLength) = 0;\n\tvirtual void DeleteLexerDecorations() = 0;\n\n\tvirtual int AllOnFor(Sci::Position position) const = 0;\n\tvirtual int ValueAt(int indicator, Sci::Position position) = 0;\n\tvirtual Sci::Position Start(int indicator, Sci::Position position) = 0;\n\tvirtual Sci::Position End(int indicator, Sci::Position position) = 0;\n\n\tvirtual bool ClickNotified() const = 0;\n\tvirtual void SetClickNotified(bool notified) = 0;\n};\n\nstd::unique_ptr<IDecoration> DecorationCreate(bool largeDocument, int indicator);\n\nstd::unique_ptr<IDecorationList> DecorationListCreate(bool largeDocument);\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Document.cpp",
    "content": "// Scintilla source code edit control\n/** @file Document.cxx\n ** Text document that handles notifications, DBCS, styling, words and end of line.\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cstdio>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <forward_list>\n#include <algorithm>\n#include <memory>\n#include <chrono>\n\n#ifndef NO_CXX11_REGEX\n#include <regex>\n#endif\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#include \"CharacterSet.h\"\n#include \"CharacterCategory.h\"\n#include \"Position.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"CellBuffer.h\"\n#include \"PerLine.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"RESearch.h\"\n#include \"UniConversion.h\"\n#include \"ElapsedPeriod.h\"\n#include \"BoostRegexSearch.h\"\n\n\n\nusing namespace Scintilla;\n\nvoid LexInterface::Colourise(Sci::Position start, Sci::Position end) {\n\tif (pdoc && instance && !performingStyle) {\n\t\t// Protect against reentrance, which may occur, for example, when\n\t\t// fold points are discovered while performing styling and the folding\n\t\t// code looks for child lines which may trigger styling.\n\t\tperformingStyle = true;\n\n\t\tconst Sci::Position lengthDoc = pdoc->Length();\n\t\tif (end == -1)\n\t\t\tend = lengthDoc;\n\t\tconst Sci::Position len = end - start;\n\n\t\tPLATFORM_ASSERT(len >= 0);\n\t\tPLATFORM_ASSERT(start + len <= lengthDoc);\n\n\t\tint styleStart = 0;\n\t\tif (start > 0)\n\t\t\tstyleStart = pdoc->StyleAt(start - 1);\n\n\t\tif (len > 0) {\n\t\t\tinstance->Lex(start, len, styleStart, pdoc);\n\t\t\tinstance->Fold(start, len, styleStart, pdoc);\n\t\t}\n\n\t\tperformingStyle = false;\n\t}\n}\n\nint LexInterface::LineEndTypesSupported() {\n\tif (instance) {\n\t\tconst int interfaceVersion = instance->Version();\n\t\tif (interfaceVersion >= lvSubStyles) {\n\t\t\tILexerWithSubStyles *ssinstance = static_cast<ILexerWithSubStyles *>(instance);\n\t\t\treturn ssinstance->LineEndTypesSupported();\n\t\t}\n\t}\n\treturn 0;\n}\n\nActionDuration::ActionDuration(double duration_, double minDuration_, double maxDuration_) noexcept :\n\tduration(duration_), minDuration(minDuration_), maxDuration(maxDuration_) {\n}\n\nvoid ActionDuration::AddSample(size_t numberActions, double durationOfActions) noexcept {\n\t// Only adjust for multiple actions to avoid instability\n\tif (numberActions < 8)\n\t\treturn;\n\n\t// Alpha value for exponential smoothing.\n\t// Most recent value contributes 25% to smoothed value.\n\tconst double alpha = 0.25;\n\n\tconst double durationOne = durationOfActions / numberActions;\n\tduration = Sci::clamp(alpha * durationOne + (1.0 - alpha) * duration,\n\t\tminDuration, maxDuration);\n}\n\ndouble ActionDuration::Duration() const noexcept {\n\treturn duration;\n}\n\nDocument::Document(int options) :\n\tcb((options & SC_DOCUMENTOPTION_STYLES_NONE) == 0, (options & SC_DOCUMENTOPTION_TEXT_LARGE) != 0),\n\tdurationStyleOneLine(0.00001, 0.000001, 0.0001) {\n\trefCount = 0;\n#ifdef _WIN32\n\teolMode = SC_EOL_CRLF;\n#else\n\teolMode = SC_EOL_LF;\n#endif\n\tdbcsCodePage = SC_CP_UTF8;\n\tlineEndBitSet = SC_LINE_END_TYPE_DEFAULT;\n\tendStyled = 0;\n\tstyleClock = 0;\n\tenteredModification = 0;\n\tenteredStyling = 0;\n\tenteredReadOnlyCount = 0;\n\tinsertionSet = false;\n\ttabInChars = 8;\n\tindentInChars = 0;\n\tactualIndentInChars = 8;\n\tuseTabs = true;\n\ttabIndents = true;\n\tbackspaceUnindents = false;\n\n\tmatchesValid = false;\n\n\tperLineData[ldMarkers].reset(new LineMarkers());\n\tperLineData[ldLevels].reset(new LineLevels());\n\tperLineData[ldState].reset(new LineState());\n\tperLineData[ldMargin].reset(new LineAnnotation());\n\tperLineData[ldAnnotation].reset(new LineAnnotation());\n\n\tdecorations = DecorationListCreate(IsLarge());\n\n\tcb.SetPerLine(this);\n\tcb.SetUTF8Substance(SC_CP_UTF8 == dbcsCodePage);\n}\n\nDocument::~Document() {\n\tfor (const WatcherWithUserData &watcher : watchers) {\n\t\twatcher.watcher->NotifyDeleted(this, watcher.userData);\n\t}\n}\n\n// Increase reference count and return its previous value.\nint Document::AddRef() {\n\treturn refCount++;\n}\n\n// Decrease reference count and return its previous value.\n// Delete the document if reference count reaches zero.\nint SCI_METHOD Document::Release() {\n\tconst int curRefCount = --refCount;\n\tif (curRefCount == 0)\n\t\tdelete this;\n\treturn curRefCount;\n}\n\nvoid Document::Init() {\n\tfor (const std::unique_ptr<PerLine> &pl : perLineData) {\n\t\tif (pl)\n\t\t\tpl->Init();\n\t}\n}\n\nvoid Document::InsertLine(Sci::Line line) {\n\tfor (const std::unique_ptr<PerLine> &pl : perLineData) {\n\t\tif (pl)\n\t\t\tpl->InsertLine(line);\n\t}\n}\n\nvoid Document::RemoveLine(Sci::Line line) {\n\tfor (const std::unique_ptr<PerLine> &pl : perLineData) {\n\t\tif (pl)\n\t\t\tpl->RemoveLine(line);\n\t}\n}\n\nLineMarkers *Document::Markers() const {\n\treturn static_cast<LineMarkers *>(perLineData[ldMarkers].get());\n}\n\nLineLevels *Document::Levels() const {\n\treturn static_cast<LineLevels *>(perLineData[ldLevels].get());\n}\n\nLineState *Document::States() const {\n\treturn static_cast<LineState *>(perLineData[ldState].get());\n}\n\nLineAnnotation *Document::Margins() const {\n\treturn static_cast<LineAnnotation *>(perLineData[ldMargin].get());\n}\n\nLineAnnotation *Document::Annotations() const {\n\treturn static_cast<LineAnnotation *>(perLineData[ldAnnotation].get());\n}\n\nint Document::LineEndTypesSupported() const {\n\tif ((SC_CP_UTF8 == dbcsCodePage) && pli)\n\t\treturn pli->LineEndTypesSupported();\n\telse\n\t\treturn 0;\n}\n\nbool Document::SetDBCSCodePage(int dbcsCodePage_) {\n\tif (dbcsCodePage != dbcsCodePage_) {\n\t\tdbcsCodePage = dbcsCodePage_;\n\t\tSetCaseFolder(nullptr);\n\t\tcb.SetLineEndTypes(lineEndBitSet & LineEndTypesSupported());\n\t\tcb.SetUTF8Substance(SC_CP_UTF8 == dbcsCodePage);\n\t\tModifiedAt(0);\t// Need to restyle whole document\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nbool Document::SetLineEndTypesAllowed(int lineEndBitSet_) {\n\tif (lineEndBitSet != lineEndBitSet_) {\n\t\tlineEndBitSet = lineEndBitSet_;\n\t\tconst int lineEndBitSetActive = lineEndBitSet & LineEndTypesSupported();\n\t\tif (lineEndBitSetActive != cb.GetLineEndTypes()) {\n\t\t\tModifiedAt(0);\n\t\t\tcb.SetLineEndTypes(lineEndBitSetActive);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\treturn false;\n\t}\n}\n\nvoid Document::SetSavePoint() {\n\tcb.SetSavePoint();\n\tNotifySavePoint(true);\n}\n\nvoid Document::TentativeUndo() {\n\tif (!TentativeActive())\n\t\treturn;\n\tCheckReadOnly();\n\tif (enteredModification == 0) {\n\t\tenteredModification++;\n\t\tif (!cb.IsReadOnly()) {\n\t\t\tconst bool startSavePoint = cb.IsSavePoint();\n\t\t\tbool multiLine = false;\n\t\t\tconst int steps = cb.TentativeSteps();\n\t\t\t//Platform::DebugPrintf(\"Steps=%d\\n\", steps);\n\t\t\tfor (int step = 0; step < steps; step++) {\n\t\t\t\tconst Sci::Line prevLinesTotal = LinesTotal();\n\t\t\t\tconst Action &action = cb.GetUndoStep();\n\t\t\t\tif (action.at == removeAction) {\n\t\t\t\t\tNotifyModified(DocModification(\n\t\t\t\t\t\t\t\t\tSC_MOD_BEFOREINSERT | SC_PERFORMED_UNDO, action));\n\t\t\t\t} else if (action.at == containerAction) {\n\t\t\t\t\tDocModification dm(SC_MOD_CONTAINER | SC_PERFORMED_UNDO);\n\t\t\t\t\tdm.token = action.position;\n\t\t\t\t\tNotifyModified(dm);\n\t\t\t\t} else {\n\t\t\t\t\tNotifyModified(DocModification(\n\t\t\t\t\t\t\t\t\tSC_MOD_BEFOREDELETE | SC_PERFORMED_UNDO, action));\n\t\t\t\t}\n\t\t\t\tcb.PerformUndoStep();\n\t\t\t\tif (action.at != containerAction) {\n\t\t\t\t\tModifiedAt(action.position);\n\t\t\t\t}\n\n\t\t\t\tint modFlags = SC_PERFORMED_UNDO;\n\t\t\t\t// With undo, an insertion action becomes a deletion notification\n\t\t\t\tif (action.at == removeAction) {\n\t\t\t\t\tmodFlags |= SC_MOD_INSERTTEXT;\n\t\t\t\t} else if (action.at == insertAction) {\n\t\t\t\t\tmodFlags |= SC_MOD_DELETETEXT;\n\t\t\t\t}\n\t\t\t\tif (steps > 1)\n\t\t\t\t\tmodFlags |= SC_MULTISTEPUNDOREDO;\n\t\t\t\tconst Sci::Line linesAdded = LinesTotal() - prevLinesTotal;\n\t\t\t\tif (linesAdded != 0)\n\t\t\t\t\tmultiLine = true;\n\t\t\t\tif (step == steps - 1) {\n\t\t\t\t\tmodFlags |= SC_LASTSTEPINUNDOREDO;\n\t\t\t\t\tif (multiLine)\n\t\t\t\t\t\tmodFlags |= SC_MULTILINEUNDOREDO;\n\t\t\t\t}\n\t\t\t\tNotifyModified(DocModification(modFlags, action.position, action.lenData,\n\t\t\t\t\t\t\t\t\t\t\t   linesAdded, action.data.get()));\n\t\t\t}\n\n\t\t\tconst bool endSavePoint = cb.IsSavePoint();\n\t\t\tif (startSavePoint != endSavePoint)\n\t\t\t\tNotifySavePoint(endSavePoint);\n\n\t\t\tcb.TentativeCommit();\n\t\t}\n\t\tenteredModification--;\n\t}\n}\n\nint Document::GetMark(Sci::Line line) const {\n\treturn Markers()->MarkValue(line);\n}\n\nSci::Line Document::MarkerNext(Sci::Line lineStart, int mask) const {\n\treturn Markers()->MarkerNext(lineStart, mask);\n}\n\nint Document::AddMark(Sci::Line line, int markerNum) {\n\tif (line >= 0 && line <= LinesTotal()) {\n\t\tconst int prev = Markers()->AddMark(line, markerNum, LinesTotal());\n\t\tconst DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);\n\t\tNotifyModified(mh);\n\t\treturn prev;\n\t} else {\n\t\treturn -1;\n\t}\n}\n\nvoid Document::AddMarkSet(Sci::Line line, int valueSet) {\n\tif (line < 0 || line > LinesTotal()) {\n\t\treturn;\n\t}\n\tunsigned int m = valueSet;\n\tfor (int i = 0; m; i++, m >>= 1) {\n\t\tif (m & 1)\n\t\t\tMarkers()->AddMark(line, i, LinesTotal());\n\t}\n\tconst DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);\n\tNotifyModified(mh);\n}\n\nvoid Document::DeleteMark(Sci::Line line, int markerNum) {\n\tMarkers()->DeleteMark(line, markerNum, false);\n\tconst DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);\n\tNotifyModified(mh);\n}\n\nvoid Document::DeleteMark(Sci::Line line) {\n\tMarkers()->DeleteMark(line, -1, false);\n\tconst DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);\n\tNotifyModified(mh);\n}\n\nvoid Document::DeleteMarkFromHandle(int markerHandle) {\n\tMarkers()->DeleteMarkFromHandle(markerHandle);\n\tDocModification mh(SC_MOD_CHANGEMARKER);\n\tmh.line = -1;\n\tNotifyModified(mh);\n}\n\nvoid Document::DeleteAllMarks(int markerNum) {\n\tbool someChanges = false;\n\tfor (Sci::Line line = 0; line < LinesTotal(); line++) {\n\t\tif (Markers()->DeleteMark(line, markerNum, true))\n\t\t\tsomeChanges = true;\n\t}\n\tif (someChanges) {\n\t\tDocModification mh(SC_MOD_CHANGEMARKER);\n\t\tmh.line = -1;\n\t\tNotifyModified(mh);\n\t}\n}\n\nSci::Line Document::LineFromHandle(int markerHandle) const {\n\treturn Markers()->LineFromHandle(markerHandle);\n}\n\nSci_Position SCI_METHOD Document::LineStart(Sci_Position line) const {\n\treturn cb.LineStart(static_cast<Sci::Line>(line));\n}\n\nbool Document::IsLineStartPosition(Sci::Position position) const {\n\treturn LineStart(LineFromPosition(position)) == position;\n}\n\n//注意这里的LineEnd没有统计行位的\\r\\n。这是不对的，如果不统计，会导致\\r\\n无法被替换操作。\nSci_Position SCI_METHOD Document::LineEnd(Sci_Position line) const {\n\tif (line >= LinesTotal() - 1) {\n\t\treturn LineStart(line + 1);\n\t} else {\n\t\tSci::Position position = LineStart(line + 1);\n\t\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\tconst unsigned char bytes[] = {\n\t\t\t\tcb.UCharAt(position-3),\n\t\t\t\tcb.UCharAt(position-2),\n\t\t\t\tcb.UCharAt(position-1),\n\t\t\t};\n\t\t\tif (UTF8IsSeparator(bytes)) {\n\t\t\t\treturn position - UTF8SeparatorLength;\n\t\t\t}\n\t\t\tif (UTF8IsNEL(bytes+1)) {\n\t\t\t\treturn position - UTF8NELLength;\n\t\t\t}\n\t\t}\n\t\tposition--; // Back over CR or LF\n\t\t// When line terminator is CR+LF, may need to go back one more\n\t\tif ((position > LineStart(line)) && (cb.CharAt(position - 1) == '\\r')) {\n\t\t\tposition--;\n\t\t}\n\t\treturn position;\n\t}\n}\n\n#ifdef REGEX_EXTERN\n//lineTail: \\r\\n 返回5 \\n 返回1 \\r返回2 其它值错误\nSci_Position SCI_METHOD Document::LineEnd(Sci_Position line, int &lineTail) const {\n\tif (line >= LinesTotal() - 1) {\n\t\treturn LineStart(line + 1);\n\t}\n\telse {\n\t\tSci::Position position = LineStart(line + 1);\n\t\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\tconst unsigned char bytes[] = {\n\t\t\t\tcb.UCharAt(position - 3),\n\t\t\t\tcb.UCharAt(position - 2),\n\t\t\t\tcb.UCharAt(position - 1),\n\t\t\t};\n\t\t\tif (UTF8IsSeparator(bytes)) {\n\t\t\t\treturn position - UTF8SeparatorLength;\n\t\t\t}\n\t\t\tif (UTF8IsNEL(bytes + 1)) {\n\t\t\t\treturn position - UTF8NELLength;\n\t\t\t}\n\t\t}\n\t\tposition--; // Back over CR or LF\n\n\t\tif (cb.CharAt(position) == '\\n')\n\t\t{\n\t\t\tlineTail = 0x1;\n\t\t}\n\t\telse if (cb.CharAt(position) == '\\r')\n\t\t{\n\t\t\tlineTail = 0x2;\n\t\t}\n\t\t// When line terminator is CR+LF, may need to go back one more\n\t\tif ((position > LineStart(line)) && (cb.CharAt(position - 1) == '\\r')) {\n\t\t\tposition--;\n\t\t\tlineTail |= 0x4;\n\n\t\t}\n\t\treturn position;\n\t}\n}\n#endif\n\nvoid SCI_METHOD Document::SetErrorStatus(int status) {\n\t// Tell the watchers an error has occurred.\n\tfor (const WatcherWithUserData &watcher : watchers) {\n\t\twatcher.watcher->NotifyErrorOccurred(this, watcher.userData, status);\n\t}\n}\n\nSci_Position SCI_METHOD Document::LineFromPosition(Sci_Position pos) const {\n\treturn cb.LineFromPosition(pos);\n}\n\nSci::Line Document::SciLineFromPosition(Sci::Position pos) const noexcept {\n\t// Avoids casting in callers for this very common function\n\treturn cb.LineFromPosition(pos);\n}\n\nSci::Position Document::LineEndPosition(Sci::Position position) const {\n\treturn LineEnd(LineFromPosition(position));\n}\n\nbool Document::IsLineEndPosition(Sci::Position position) const {\n\treturn LineEnd(LineFromPosition(position)) == position;\n}\n\nbool Document::IsPositionInLineEnd(Sci::Position position) const {\n\treturn position >= LineEnd(LineFromPosition(position));\n}\n\nSci::Position Document::VCHomePosition(Sci::Position position) const {\n\tconst Sci::Line line = SciLineFromPosition(position);\n\tconst Sci::Position startPosition = LineStart(line);\n\tconst Sci::Position endLine = LineEnd(line);\n\tSci::Position startText = startPosition;\n\twhile (startText < endLine && (cb.CharAt(startText) == ' ' || cb.CharAt(startText) == '\\t'))\n\t\tstartText++;\n\tif (position == startText)\n\t\treturn startPosition;\n\telse\n\t\treturn startText;\n}\n\nSci::Position Document::IndexLineStart(Sci::Line line, int lineCharacterIndex) const {\n\treturn cb.IndexLineStart(line, lineCharacterIndex);\n}\n\nSci::Line Document::LineFromPositionIndex(Sci::Position pos, int lineCharacterIndex) const {\n\treturn cb.LineFromPositionIndex(pos, lineCharacterIndex);\n}\n\nint SCI_METHOD Document::SetLevel(Sci_Position line, int level) {\n\tconst int prev = Levels()->SetLevel(static_cast<Sci::Line>(line), level, LinesTotal());\n\tif (prev != level) {\n\t\tDocModification mh(SC_MOD_CHANGEFOLD | SC_MOD_CHANGEMARKER,\n\t\t                   LineStart(line), 0, 0, nullptr, static_cast<Sci::Line>(line));\n\t\tmh.foldLevelNow = level;\n\t\tmh.foldLevelPrev = prev;\n\t\tNotifyModified(mh);\n\t}\n\treturn prev;\n}\n\nint SCI_METHOD Document::GetLevel(Sci_Position line) const {\n\treturn Levels()->GetLevel(static_cast<Sci::Line>(line));\n}\n\nvoid Document::ClearLevels() {\n\tLevels()->ClearLevels();\n}\n\nstatic bool IsSubordinate(int levelStart, int levelTry) {\n\tif (levelTry & SC_FOLDLEVELWHITEFLAG)\n\t\treturn true;\n\telse\n\t\treturn LevelNumber(levelStart) < LevelNumber(levelTry);\n}\n\nSci::Line Document::GetLastChild(Sci::Line lineParent, int level, Sci::Line lastLine) {\n\tif (level == -1)\n\t\tlevel = LevelNumber(GetLevel(lineParent));\n\tconst Sci::Line maxLine = LinesTotal();\n\tconst Sci::Line lookLastLine = (lastLine != -1) ? std::min(LinesTotal() - 1, lastLine) : -1;\n\tSci::Line lineMaxSubord = lineParent;\n\twhile (lineMaxSubord < maxLine - 1) {\n\t\tEnsureStyledTo(LineStart(lineMaxSubord + 2));\n\t\tif (!IsSubordinate(level, GetLevel(lineMaxSubord + 1)))\n\t\t\tbreak;\n\t\tif ((lookLastLine != -1) && (lineMaxSubord >= lookLastLine) && !(GetLevel(lineMaxSubord) & SC_FOLDLEVELWHITEFLAG))\n\t\t\tbreak;\n\t\tlineMaxSubord++;\n\t}\n\tif (lineMaxSubord > lineParent) {\n\t\tif (level > LevelNumber(GetLevel(lineMaxSubord + 1))) {\n\t\t\t// Have chewed up some whitespace that belongs to a parent so seek back\n\t\t\tif (GetLevel(lineMaxSubord) & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\tlineMaxSubord--;\n\t\t\t}\n\t\t}\n\t}\n\treturn lineMaxSubord;\n}\n\nSci::Line Document::GetFoldParent(Sci::Line line) const {\n\tconst int level = LevelNumber(GetLevel(line));\n\tSci::Line lineLook = line - 1;\n\twhile ((lineLook > 0) && (\n\t            (!(GetLevel(lineLook) & SC_FOLDLEVELHEADERFLAG)) ||\n\t            (LevelNumber(GetLevel(lineLook)) >= level))\n\t      ) {\n\t\tlineLook--;\n\t}\n\tif ((GetLevel(lineLook) & SC_FOLDLEVELHEADERFLAG) &&\n\t        (LevelNumber(GetLevel(lineLook)) < level)) {\n\t\treturn lineLook;\n\t} else {\n\t\treturn -1;\n\t}\n}\n\nvoid Document::GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, Sci::Line line, Sci::Line lastLine) {\n\tconst int level = GetLevel(line);\n\tconst Sci::Line lookLastLine = std::max(line, lastLine) + 1;\n\n\tSci::Line lookLine = line;\n\tint lookLineLevel = level;\n\tint lookLineLevelNum = LevelNumber(lookLineLevel);\n\twhile ((lookLine > 0) && ((lookLineLevel & SC_FOLDLEVELWHITEFLAG) ||\n\t\t((lookLineLevel & SC_FOLDLEVELHEADERFLAG) && (lookLineLevelNum >= LevelNumber(GetLevel(lookLine + 1)))))) {\n\t\tlookLineLevel = GetLevel(--lookLine);\n\t\tlookLineLevelNum = LevelNumber(lookLineLevel);\n\t}\n\n\tSci::Line beginFoldBlock = (lookLineLevel & SC_FOLDLEVELHEADERFLAG) ? lookLine : GetFoldParent(lookLine);\n\tif (beginFoldBlock == -1) {\n\t\thighlightDelimiter.Clear();\n\t\treturn;\n\t}\n\n\tSci::Line endFoldBlock = GetLastChild(beginFoldBlock, -1, lookLastLine);\n\tSci::Line firstChangeableLineBefore = -1;\n\tif (endFoldBlock < line) {\n\t\tlookLine = beginFoldBlock - 1;\n\t\tlookLineLevel = GetLevel(lookLine);\n\t\tlookLineLevelNum = LevelNumber(lookLineLevel);\n\t\twhile ((lookLine >= 0) && (lookLineLevelNum >= SC_FOLDLEVELBASE)) {\n\t\t\tif (lookLineLevel & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\tif (GetLastChild(lookLine, -1, lookLastLine) == line) {\n\t\t\t\t\tbeginFoldBlock = lookLine;\n\t\t\t\t\tendFoldBlock = line;\n\t\t\t\t\tfirstChangeableLineBefore = line - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ((lookLine > 0) && (lookLineLevelNum == SC_FOLDLEVELBASE) && (LevelNumber(GetLevel(lookLine - 1)) > lookLineLevelNum))\n\t\t\t\tbreak;\n\t\t\tlookLineLevel = GetLevel(--lookLine);\n\t\t\tlookLineLevelNum = LevelNumber(lookLineLevel);\n\t\t}\n\t}\n\tif (firstChangeableLineBefore == -1) {\n\t\tfor (lookLine = line - 1, lookLineLevel = GetLevel(lookLine), lookLineLevelNum = LevelNumber(lookLineLevel);\n\t\t\tlookLine >= beginFoldBlock;\n\t\t\tlookLineLevel = GetLevel(--lookLine), lookLineLevelNum = LevelNumber(lookLineLevel)) {\n\t\t\tif ((lookLineLevel & SC_FOLDLEVELWHITEFLAG) || (lookLineLevelNum > LevelNumber(level))) {\n\t\t\t\tfirstChangeableLineBefore = lookLine;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (firstChangeableLineBefore == -1)\n\t\tfirstChangeableLineBefore = beginFoldBlock - 1;\n\n\tSci::Line firstChangeableLineAfter = -1;\n\tfor (lookLine = line + 1, lookLineLevel = GetLevel(lookLine), lookLineLevelNum = LevelNumber(lookLineLevel);\n\t\tlookLine <= endFoldBlock;\n\t\tlookLineLevel = GetLevel(++lookLine), lookLineLevelNum = LevelNumber(lookLineLevel)) {\n\t\tif ((lookLineLevel & SC_FOLDLEVELHEADERFLAG) && (lookLineLevelNum < LevelNumber(GetLevel(lookLine + 1)))) {\n\t\t\tfirstChangeableLineAfter = lookLine;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (firstChangeableLineAfter == -1)\n\t\tfirstChangeableLineAfter = endFoldBlock + 1;\n\n\thighlightDelimiter.beginFoldBlock = beginFoldBlock;\n\thighlightDelimiter.endFoldBlock = endFoldBlock;\n\thighlightDelimiter.firstChangeableLineBefore = firstChangeableLineBefore;\n\thighlightDelimiter.firstChangeableLineAfter = firstChangeableLineAfter;\n}\n\nSci::Position Document::ClampPositionIntoDocument(Sci::Position pos) const {\n\treturn Sci::clamp(pos, static_cast<Sci::Position>(0), static_cast<Sci::Position>(Length()));\n}\n\nbool Document::IsCrLf(Sci::Position pos) const {\n\tif (pos < 0)\n\t\treturn false;\n\tif (pos >= (Length() - 1))\n\t\treturn false;\n\treturn (cb.CharAt(pos) == '\\r') && (cb.CharAt(pos + 1) == '\\n');\n}\n\nint Document::LenChar(Sci::Position pos) {\n\tif (pos < 0) {\n\t\treturn 1;\n\t} else if (IsCrLf(pos)) {\n\t\treturn 2;\n\t} else if (SC_CP_UTF8 == dbcsCodePage) {\n\t\tconst unsigned char leadByte = cb.UCharAt(pos);\n\t\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\t\tconst Sci::Position lengthDoc = Length();\n\t\tif ((pos + widthCharBytes) > lengthDoc)\n\t\t\treturn static_cast<int>(lengthDoc - pos);\n\t\telse\n\t\t\treturn widthCharBytes;\n\t} else if (dbcsCodePage) {\n\t\treturn IsDBCSLeadByteNoExcept(cb.CharAt(pos)) ? 2 : 1;\n\t} else {\n\t\treturn 1;\n\t}\n}\n\nbool Document::InGoodUTF8(Sci::Position pos, Sci::Position &start, Sci::Position &end) const noexcept {\n\tSci::Position trail = pos;\n\twhile ((trail>0) && (pos-trail < UTF8MaxBytes) && UTF8IsTrailByte(cb.UCharAt(trail-1)))\n\t\ttrail--;\n\tstart = (trail > 0) ? trail-1 : trail;\n\n\tconst unsigned char leadByte = cb.UCharAt(start);\n\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\tif (widthCharBytes == 1) {\n\t\treturn false;\n\t} else {\n\t\tconst int trailBytes = widthCharBytes - 1;\n\t\tconst Sci::Position len = pos - start;\n\t\tif (len > trailBytes)\n\t\t\t// pos too far from lead\n\t\t\treturn false;\n\t\tunsigned char charBytes[UTF8MaxBytes] = {leadByte,0,0,0};\n\t\tfor (Sci::Position b=1; b<widthCharBytes && ((start+b) < cb.Length()); b++)\n\t\t\tcharBytes[b] = cb.CharAt(start+b);\n\t\tconst int utf8status = UTF8Classify(charBytes, widthCharBytes);\n\t\tif (utf8status & UTF8MaskInvalid)\n\t\t\treturn false;\n\t\tend = start + widthCharBytes;\n\t\treturn true;\n\t}\n}\n\n// Normalise a position so that it is not halfway through a two byte character.\n// This can occur in two situations -\n// When lines are terminated with \\r\\n pairs which should be treated as one character.\n// When displaying DBCS text such as Japanese.\n// If moving, move the position in the indicated direction.\nSci::Position Document::MovePositionOutsideChar(Sci::Position pos, Sci::Position moveDir, bool checkLineEnd) const {\n\t//Platform::DebugPrintf(\"NoCRLF %d %d\\n\", pos, moveDir);\n\t// If out of range, just return minimum/maximum value.\n\tif (pos <= 0)\n\t\treturn 0;\n\tif (pos >= Length())\n\t\treturn Length();\n\n\t// PLATFORM_ASSERT(pos > 0 && pos < Length());\n\tif (checkLineEnd && IsCrLf(pos - 1)) {\n\t\tif (moveDir > 0)\n\t\t\treturn pos + 1;\n\t\telse\n\t\t\treturn pos - 1;\n\t}\n\n\tif (dbcsCodePage) {\n\t\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\tconst unsigned char ch = cb.UCharAt(pos);\n\t\t\t// If ch is not a trail byte then pos is valid intercharacter position\n\t\t\tif (UTF8IsTrailByte(ch)) {\n\t\t\t\tSci::Position startUTF = pos;\n\t\t\t\tSci::Position endUTF = pos;\n\t\t\t\tif (InGoodUTF8(pos, startUTF, endUTF)) {\n\t\t\t\t\t// ch is a trail byte within a UTF-8 character\n\t\t\t\t\tif (moveDir > 0)\n\t\t\t\t\t\tpos = endUTF;\n\t\t\t\t\telse\n\t\t\t\t\t\tpos = startUTF;\n\t\t\t\t}\n\t\t\t\t// Else invalid UTF-8 so return position of isolated trail byte\n\t\t\t}\n\t\t} else {\n\t\t\t// Anchor DBCS calculations at start of line because start of line can\n\t\t\t// not be a DBCS trail byte.\n\t\t\tconst Sci::Position posStartLine = LineStart(LineFromPosition(pos));\n\t\t\tif (pos == posStartLine)\n\t\t\t\treturn pos;\n\n\t\t\t// Step back until a non-lead-byte is found.\n\t\t\tSci::Position posCheck = pos;\n\t\t\twhile ((posCheck > posStartLine) && IsDBCSLeadByteNoExcept(cb.CharAt(posCheck-1)))\n\t\t\t\tposCheck--;\n\n\t\t\t// Check from known start of character.\n\t\t\twhile (posCheck < pos) {\n\t\t\t\tconst int mbsize = IsDBCSLeadByteNoExcept(cb.CharAt(posCheck)) ? 2 : 1;\n\t\t\t\tif (posCheck + mbsize == pos) {\n\t\t\t\t\treturn pos;\n\t\t\t\t} else if (posCheck + mbsize > pos) {\n\t\t\t\t\tif (moveDir > 0) {\n\t\t\t\t\t\treturn posCheck + mbsize;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn posCheck;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tposCheck += mbsize;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn pos;\n}\n\n// NextPosition moves between valid positions - it can not handle a position in the middle of a\n// multi-byte character. It is used to iterate through text more efficiently than MovePositionOutsideChar.\n// A \\r\\n pair is treated as two characters.\nSci::Position Document::NextPosition(Sci::Position pos, int moveDir) const noexcept {\n\t// If out of range, just return minimum/maximum value.\n\tconst int increment = (moveDir > 0) ? 1 : -1;\n\tif (pos + increment <= 0)\n\t\treturn 0;\n\tif (pos + increment >= cb.Length())\n\t\treturn cb.Length();\n\n\tif (dbcsCodePage) {\n\t\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\tif (increment == 1) {\n\t\t\t\t// Simple forward movement case so can avoid some checks\n\t\t\t\tconst unsigned char leadByte = cb.UCharAt(pos);\n\t\t\t\tif (UTF8IsAscii(leadByte)) {\n\t\t\t\t\t// Single byte character or invalid\n\t\t\t\t\tpos++;\n\t\t\t\t} else {\n\t\t\t\t\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\t\t\t\t\tunsigned char charBytes[UTF8MaxBytes] = {leadByte,0,0,0};\n\t\t\t\t\tfor (int b=1; b<widthCharBytes; b++)\n\t\t\t\t\t\tcharBytes[b] = cb.CharAt(pos+b);\n\t\t\t\t\tconst int utf8status = UTF8Classify(charBytes, widthCharBytes);\n\t\t\t\t\tif (utf8status & UTF8MaskInvalid)\n\t\t\t\t\t\tpos++;\n\t\t\t\t\telse\n\t\t\t\t\t\tpos += utf8status & UTF8MaskWidth;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Examine byte before position\n\t\t\t\tpos--;\n\t\t\t\tconst unsigned char ch = cb.UCharAt(pos);\n\t\t\t\t// If ch is not a trail byte then pos is valid intercharacter position\n\t\t\t\tif (UTF8IsTrailByte(ch)) {\n\t\t\t\t\t// If ch is a trail byte in a valid UTF-8 character then return start of character\n\t\t\t\t\tSci::Position startUTF = pos;\n\t\t\t\t\tSci::Position endUTF = pos;\n\t\t\t\t\tif (InGoodUTF8(pos, startUTF, endUTF)) {\n\t\t\t\t\t\tpos = startUTF;\n\t\t\t\t\t}\n\t\t\t\t\t// Else invalid UTF-8 so return position of isolated trail byte\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (moveDir > 0) {\n\t\t\t\tconst int mbsize = IsDBCSLeadByteNoExcept(cb.CharAt(pos)) ? 2 : 1;\n\t\t\t\tpos += mbsize;\n\t\t\t\tif (pos > cb.Length())\n\t\t\t\t\tpos = cb.Length();\n\t\t\t} else {\n\t\t\t\t// Anchor DBCS calculations at start of line because start of line can\n\t\t\t\t// not be a DBCS trail byte.\n\t\t\t\tconst Sci::Position posStartLine = cb.LineStart(cb.LineFromPosition(pos));\n\t\t\t\t// See http://msdn.microsoft.com/en-us/library/cc194792%28v=MSDN.10%29.aspx\n\t\t\t\t// http://msdn.microsoft.com/en-us/library/cc194790.aspx\n\t\t\t\tif ((pos - 1) <= posStartLine) {\n\t\t\t\t\treturn pos - 1;\n\t\t\t\t} else if (IsDBCSLeadByteNoExcept(cb.CharAt(pos - 1))) {\n\t\t\t\t\t// Must actually be trail byte\n\t\t\t\t\treturn pos - 2;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, step back until a non-lead-byte is found.\n\t\t\t\t\tSci::Position posTemp = pos - 1;\n\t\t\t\t\twhile (posStartLine <= --posTemp && IsDBCSLeadByteNoExcept(cb.CharAt(posTemp)))\n\t\t\t\t\t\t;\n\t\t\t\t\t// Now posTemp+1 must point to the beginning of a character,\n\t\t\t\t\t// so figure out whether we went back an even or an odd\n\t\t\t\t\t// number of bytes and go back 1 or 2 bytes, respectively.\n\t\t\t\t\treturn (pos - 1 - ((pos - posTemp) & 1));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tpos += increment;\n\t}\n\n\treturn pos;\n}\n\nbool Document::NextCharacter(Sci::Position &pos, int moveDir) const noexcept {\n\t// Returns true if pos changed\n\tSci::Position posNext = NextPosition(pos, moveDir);\n\tif (posNext == pos) {\n\t\treturn false;\n\t} else {\n\t\tpos = posNext;\n\t\treturn true;\n\t}\n}\n\nDocument::CharacterExtracted Document::CharacterAfter(Sci::Position position) const {\n\tif (position >= Length()) {\n\t\treturn CharacterExtracted(unicodeReplacementChar, 0);\n\t}\n\tconst unsigned char leadByte = cb.UCharAt(position);\n\tif (!dbcsCodePage || UTF8IsAscii(leadByte)) {\n\t\t// Common case: ASCII character\n\t\treturn CharacterExtracted(leadByte, 1);\n\t}\n\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\t\tunsigned char charBytes[UTF8MaxBytes] = { leadByte, 0, 0, 0 };\n\t\tfor (int b = 1; b<widthCharBytes; b++)\n\t\t\tcharBytes[b] = cb.UCharAt(position + b);\n\t\tconst int utf8status = UTF8Classify(charBytes, widthCharBytes);\n\t\tif (utf8status & UTF8MaskInvalid) {\n\t\t\t// Treat as invalid and use up just one byte\n\t\t\treturn CharacterExtracted(unicodeReplacementChar, 1);\n\t\t} else {\n\t\t\treturn CharacterExtracted(UnicodeFromUTF8(charBytes), utf8status & UTF8MaskWidth);\n\t\t}\n\t} else {\n\t\tif (IsDBCSLeadByteNoExcept(leadByte) && ((position + 1) < Length())) {\n\t\t\treturn CharacterExtracted::DBCS(leadByte, cb.UCharAt(position + 1));\n\t\t} else {\n\t\t\treturn CharacterExtracted(leadByte, 1);\n\t\t}\n\t}\n}\n\nDocument::CharacterExtracted Document::CharacterBefore(Sci::Position position) const {\n\tif (position <= 0) {\n\t\treturn CharacterExtracted(unicodeReplacementChar, 0);\n\t}\n\tconst unsigned char previousByte = cb.UCharAt(position - 1);\n\tif (0 == dbcsCodePage) {\n\t\treturn CharacterExtracted(previousByte, 1);\n\t}\n\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\tif (UTF8IsAscii(previousByte)) {\n\t\t\treturn CharacterExtracted(previousByte, 1);\n\t\t}\n\t\tposition--;\n\t\t// If previousByte is not a trail byte then its invalid\n\t\tif (UTF8IsTrailByte(previousByte)) {\n\t\t\t// If previousByte is a trail byte in a valid UTF-8 character then find start of character\n\t\t\tSci::Position startUTF = position;\n\t\t\tSci::Position endUTF = position;\n\t\t\tif (InGoodUTF8(position, startUTF, endUTF)) {\n\t\t\t\tconst int widthCharBytes = static_cast<int>(endUTF - startUTF);\n\t\t\t\tunsigned char charBytes[UTF8MaxBytes] = { 0, 0, 0, 0 };\n\t\t\t\tfor (int b = 0; b<widthCharBytes; b++)\n\t\t\t\t\tcharBytes[b] = cb.UCharAt(startUTF + b);\n\t\t\t\tconst int utf8status = UTF8Classify(charBytes, widthCharBytes);\n\t\t\t\tif (utf8status & UTF8MaskInvalid) {\n\t\t\t\t\t// Treat as invalid and use up just one byte\n\t\t\t\t\treturn CharacterExtracted(unicodeReplacementChar, 1);\n\t\t\t\t} else {\n\t\t\t\t\treturn CharacterExtracted(UnicodeFromUTF8(charBytes), utf8status & UTF8MaskWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Else invalid UTF-8 so return position of isolated trail byte\n\t\t}\n\t\treturn CharacterExtracted(unicodeReplacementChar, 1);\n\t} else {\n\t\t// Moving backwards in DBCS is complex so use NextPosition\n\t\tconst Sci::Position posStartCharacter = NextPosition(position, -1);\n\t\treturn CharacterAfter(posStartCharacter);\n\t}\n}\n\n// Return -1  on out-of-bounds\nSci_Position SCI_METHOD Document::GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const {\n\tSci::Position pos = positionStart;\n\tif (dbcsCodePage) {\n\t\tconst int increment = (characterOffset > 0) ? 1 : -1;\n\t\twhile (characterOffset != 0) {\n\t\t\tconst Sci::Position posNext = NextPosition(pos, increment);\n\t\t\tif (posNext == pos)\n\t\t\t\treturn INVALID_POSITION;\n\t\t\tpos = posNext;\n\t\t\tcharacterOffset -= increment;\n\t\t}\n\t} else {\n\t\tpos = positionStart + characterOffset;\n\t\tif ((pos < 0) || (pos > Length()))\n\t\t\treturn INVALID_POSITION;\n\t}\n\treturn pos;\n}\n\nSci::Position Document::GetRelativePositionUTF16(Sci::Position positionStart, Sci::Position characterOffset) const {\n\tSci::Position pos = positionStart;\n\tif (dbcsCodePage) {\n\t\tconst int increment = (characterOffset > 0) ? 1 : -1;\n\t\twhile (characterOffset != 0) {\n\t\t\tconst Sci::Position posNext = NextPosition(pos, increment);\n\t\t\tif (posNext == pos)\n\t\t\t\treturn INVALID_POSITION;\n\t\t\tif (std::abs(pos-posNext) > 3)\t// 4 byte character = 2*UTF16.\n\t\t\t\tcharacterOffset -= increment;\n\t\t\tpos = posNext;\n\t\t\tcharacterOffset -= increment;\n\t\t}\n\t} else {\n\t\tpos = positionStart + characterOffset;\n\t\tif ((pos < 0) || (pos > Length()))\n\t\t\treturn INVALID_POSITION;\n\t}\n\treturn pos;\n}\n\nint SCI_METHOD Document::GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const {\n\tint character;\n\tint bytesInCharacter = 1;\n\tif (dbcsCodePage) {\n\t\tconst unsigned char leadByte = cb.UCharAt(position);\n\t\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\tif (UTF8IsAscii(leadByte)) {\n\t\t\t\t// Single byte character or invalid\n\t\t\t\tcharacter =  leadByte;\n\t\t\t} else {\n\t\t\t\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\t\t\t\tunsigned char charBytes[UTF8MaxBytes] = {leadByte,0,0,0};\n\t\t\t\tfor (int b=1; b<widthCharBytes; b++)\n\t\t\t\t\tcharBytes[b] = cb.UCharAt(position+b);\n\t\t\t\tconst int utf8status = UTF8Classify(charBytes, widthCharBytes);\n\t\t\t\tif (utf8status & UTF8MaskInvalid) {\n\t\t\t\t\t// Report as singleton surrogate values which are invalid Unicode\n\t\t\t\t\tcharacter =  0xDC80 + leadByte;\n\t\t\t\t} else {\n\t\t\t\t\tbytesInCharacter = utf8status & UTF8MaskWidth;\n\t\t\t\t\tcharacter = UnicodeFromUTF8(charBytes);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (IsDBCSLeadByteNoExcept(leadByte)) {\n\t\t\t\tbytesInCharacter = 2;\n\t\t\t\tcharacter = (leadByte << 8) | cb.UCharAt(position+1);\n\t\t\t} else {\n\t\t\t\tcharacter = leadByte;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tcharacter = cb.CharAt(position);\n\t}\n\tif (pWidth) {\n\t\t*pWidth = bytesInCharacter;\n\t}\n\treturn character;\n}\n\nint SCI_METHOD Document::CodePage() const {\n\treturn dbcsCodePage;\n}\n\nbool SCI_METHOD Document::IsDBCSLeadByte(char ch) const {\n\t// Used by lexers so must match IDocument method exactly\n\treturn IsDBCSLeadByteNoExcept(ch);\n}\n\nbool Document::IsDBCSLeadByteNoExcept(char ch) const noexcept {\n\t// Used inside core Scintilla\n\t// Byte ranges found in Wikipedia articles with relevant search strings in each case\n\tconst unsigned char uch = ch;\n\tswitch (dbcsCodePage) {\n\t\tcase 932:\n\t\t\t// Shift_jis\n\t\t\treturn ((uch >= 0x81) && (uch <= 0x9F)) ||\n\t\t\t\t((uch >= 0xE0) && (uch <= 0xFC));\n\t\t\t\t// Lead bytes F0 to FC may be a Microsoft addition.\n\t\tcase 936:\n\t\t\t// GBK\n\t\t\treturn (uch >= 0x81) && (uch <= 0xFE);\n\t\tcase 949:\n\t\t\t// Korean Wansung KS C-5601-1987\n\t\t\treturn (uch >= 0x81) && (uch <= 0xFE);\n\t\tcase 950:\n\t\t\t// Big5\n\t\t\treturn (uch >= 0x81) && (uch <= 0xFE);\n\t\tcase 1361:\n\t\t\t// Korean Johab KS C-5601-1992\n\t\t\treturn\n\t\t\t\t((uch >= 0x84) && (uch <= 0xD3)) ||\n\t\t\t\t((uch >= 0xD8) && (uch <= 0xDE)) ||\n\t\t\t\t((uch >= 0xE0) && (uch <= 0xF9));\n\t}\n\treturn false;\n}\n\nbool Document::IsDBCSLeadByteInvalid(char ch) const noexcept {\n\tconst unsigned char lead = ch;\n\tswitch (dbcsCodePage) {\n\tcase 932:\n\t\t// Shift_jis\n\t\treturn\n\t\t\t(lead == 0x85) ||\n\t\t\t(lead == 0x86) ||\n\t\t\t(lead == 0xEB) ||\n\t\t\t(lead == 0xEC) ||\n\t\t\t(lead == 0xEF) ||\n\t\t\t(lead == 0xFA) ||\n\t\t\t(lead == 0xFB) ||\n\t\t\t(lead == 0xFC);\n\tcase 936:\n\t\t// GBK\n\t\treturn (lead == 0x80) || (lead == 0xFF);\n\tcase 949:\n\t\t// Korean Wansung KS C-5601-1987\n\t\treturn (lead == 0x80) || (lead == 0xC9) || (lead >= 0xFE);\n\tcase 950:\n\t\t// Big5\n\t\treturn\n\t\t\t((lead >= 0x80) && (lead <= 0xA0)) ||\n\t\t\t(lead == 0xC8) ||\n\t\t\t(lead >= 0xFA);\n\tcase 1361:\n\t\t// Korean Johab KS C-5601-1992\n\t\treturn\n\t\t\t((lead >= 0x80) && (lead <= 0x83)) ||\n\t\t\t((lead >= 0xD4) && (lead <= 0xD8)) ||\n\t\t\t(lead == 0xDF) ||\n\t\t\t(lead >= 0xFA);\n\t}\n\treturn false;\n}\n\nbool Document::IsDBCSTrailByteInvalid(char ch) const noexcept {\n\tconst unsigned char trail = ch;\n\tswitch (dbcsCodePage) {\n\tcase 932:\n\t\t// Shift_jis\n\t\treturn\n\t\t\t(trail <= 0x3F) ||\n\t\t\t(trail == 0x7F) ||\n\t\t\t(trail >= 0xFD);\n\tcase 936:\n\t\t// GBK\n\t\treturn\n\t\t\t(trail <= 0x3F) ||\n\t\t\t(trail == 0x7F) ||\n\t\t\t(trail == 0xFF);\n\tcase 949:\n\t\t// Korean Wansung KS C-5601-1987\n\t\treturn\n\t\t\t(trail <= 0x40) ||\n\t\t\t((trail >= 0x5B) && (trail <= 0x60)) ||\n\t\t\t((trail >= 0x7B) && (trail <= 0x80)) ||\n\t\t\t(trail == 0xFF);\n\tcase 950:\n\t\t// Big5\n\t\treturn\n\t\t\t(trail <= 0x3F) ||\n\t\t\t((trail >= 0x7F) && (trail <= 0xA0)) ||\n\t\t\t(trail == 0xFF);\n\tcase 1361:\n\t\t// Korean Johab KS C-5601-1992\n\t\treturn\n\t\t\t(trail <= 0x30) ||\n\t\t\t(trail == 0x7F) ||\n\t\t\t(trail == 0x80) ||\n\t\t\t(trail == 0xFF);\n\t}\n\treturn false;\n}\n\nint Document::DBCSDrawBytes(const char *text, int len) const noexcept {\n\tif (len <= 1) {\n\t\treturn len;\n\t}\n\tif (IsDBCSLeadByteNoExcept(text[0])) {\n\t\treturn IsDBCSTrailByteInvalid(text[1]) ? 1 : 2;\n\t} else {\n\t\treturn 1;\n\t}\n}\n\nstatic inline bool IsSpaceOrTab(int ch) noexcept {\n\treturn ch == ' ' || ch == '\\t';\n}\n\n// Need to break text into segments near lengthSegment but taking into\n// account the encoding to not break inside a UTF-8 or DBCS character\n// and also trying to avoid breaking inside a pair of combining characters.\n// The segment length must always be long enough (more than 4 bytes)\n// so that there will be at least one whole character to make a segment.\n// For UTF-8, text must consist only of valid whole characters.\n// In preference order from best to worst:\n//   1) Break after space\n//   2) Break before punctuation\n//   3) Break after whole character\n\nint Document::SafeSegment(const char *text, int length, int lengthSegment) const noexcept {\n\tif (length <= lengthSegment)\n\t\treturn length;\n\tint lastSpaceBreak = -1;\n\tint lastPunctuationBreak = -1;\n\tint lastEncodingAllowedBreak = 0;\n\tfor (int j=0; j < lengthSegment;) {\n\t\tconst unsigned char ch = text[j];\n\t\tif (j > 0) {\n\t\t\tif (IsSpaceOrTab(text[j - 1]) && !IsSpaceOrTab(text[j])) {\n\t\t\t\tlastSpaceBreak = j;\n\t\t\t}\n\t\t\tif (ch < 'A') {\n\t\t\t\tlastPunctuationBreak = j;\n\t\t\t}\n\t\t}\n\t\tlastEncodingAllowedBreak = j;\n\n\t\tif (dbcsCodePage == SC_CP_UTF8) {\n\t\t\tj += UTF8BytesOfLead[ch];\n\t\t} else if (dbcsCodePage) {\n\t\t\tj += IsDBCSLeadByteNoExcept(ch) ? 2 : 1;\n\t\t} else {\n\t\t\tj++;\n\t\t}\n\t}\n\tif (lastSpaceBreak >= 0) {\n\t\treturn lastSpaceBreak;\n\t} else if (lastPunctuationBreak >= 0) {\n\t\treturn lastPunctuationBreak;\n\t}\n\treturn lastEncodingAllowedBreak;\n}\n\nEncodingFamily Document::CodePageFamily() const noexcept {\n\tif (SC_CP_UTF8 == dbcsCodePage)\n\t\treturn efUnicode;\n\telse if (dbcsCodePage)\n\t\treturn efDBCS;\n\telse\n\t\treturn efEightBit;\n}\n\nvoid Document::ModifiedAt(Sci::Position pos) noexcept {\n\tif (endStyled > pos)\n\t\tendStyled = pos;\n}\n\nvoid Document::CheckReadOnly() {\n\tif (cb.IsReadOnly() && enteredReadOnlyCount == 0) {\n\t\tenteredReadOnlyCount++;\n\t\tNotifyModifyAttempt();\n\t\tenteredReadOnlyCount--;\n\t}\n}\n\n// Document only modified by gateways DeleteChars, InsertString, Undo, Redo, and SetStyleAt.\n// SetStyleAt does not change the persistent state of a document\n\nbool Document::DeleteChars(Sci::Position pos, Sci::Position len) {\n\tif (pos < 0)\n\t\treturn false;\n\tif (len <= 0)\n\t\treturn false;\n\tif ((pos + len) > Length())\n\t\treturn false;\n\tCheckReadOnly();\n\tif (enteredModification != 0) {\n\t\treturn false;\n\t} else {\n\t\tenteredModification++;\n\t\tif (!cb.IsReadOnly()) {\n\t\t\tNotifyModified(\n\t\t\t    DocModification(\n\t\t\t        SC_MOD_BEFOREDELETE | SC_PERFORMED_USER,\n\t\t\t        pos, len,\n\t\t\t        0, 0));\n\t\t\tconst Sci::Line prevLinesTotal = LinesTotal();\n\t\t\tconst bool startSavePoint = cb.IsSavePoint();\n\t\t\tbool startSequence = false;\n\t\t\tconst char *text = cb.DeleteChars(pos, len, startSequence);\n\t\t\tif (startSavePoint && cb.IsCollectingUndo())\n\t\t\t\tNotifySavePoint(!startSavePoint);\n\t\t\tif ((pos < Length()) || (pos == 0))\n\t\t\t\tModifiedAt(pos);\n\t\t\telse\n\t\t\t\tModifiedAt(pos-1);\n\t\t\tNotifyModified(\n\t\t\t    DocModification(\n\t\t\t        SC_MOD_DELETETEXT | SC_PERFORMED_USER | (startSequence?SC_STARTACTION:0),\n\t\t\t        pos, len,\n\t\t\t        LinesTotal() - prevLinesTotal, text));\n\t\t}\n\t\tenteredModification--;\n\t}\n\treturn !cb.IsReadOnly();\n}\n\n/**\n * Insert a string with a length.\n */\nSci::Position Document::InsertString(Sci::Position position, const char *s, Sci::Position insertLength) {\n\tif (insertLength <= 0) {\n\t\treturn 0;\n\t}\n\tCheckReadOnly();\t// Application may change read only state here\n\tif (cb.IsReadOnly()) {\n\t\treturn 0;\n\t}\n\tif (enteredModification != 0) {\n\t\treturn 0;\n\t}\n\tenteredModification++;\n\tinsertionSet = false;\n\tinsertion.clear();\n\tNotifyModified(\n\t\tDocModification(\n\t\t\tSC_MOD_INSERTCHECK,\n\t\t\tposition, insertLength,\n\t\t\t0, s));\n\tif (insertionSet) {\n\t\ts = insertion.c_str();\n\t\tinsertLength = insertion.length();\n\t}\n\tNotifyModified(\n\t\tDocModification(\n\t\t\tSC_MOD_BEFOREINSERT | SC_PERFORMED_USER,\n\t\t\tposition, insertLength,\n\t\t\t0, s));\n\tconst Sci::Line prevLinesTotal = LinesTotal();\n\tconst bool startSavePoint = cb.IsSavePoint();\n\tbool startSequence = false;\n\tconst char *text = cb.InsertString(position, s, insertLength, startSequence);\n\tif (startSavePoint && cb.IsCollectingUndo())\n\t\tNotifySavePoint(!startSavePoint);\n\tModifiedAt(position);\n\tNotifyModified(\n\t\tDocModification(\n\t\t\tSC_MOD_INSERTTEXT | SC_PERFORMED_USER | (startSequence?SC_STARTACTION:0),\n\t\t\tposition, insertLength,\n\t\t\tLinesTotal() - prevLinesTotal, text));\n\tif (insertionSet) {\t// Free memory as could be large\n\t\tstd::string().swap(insertion);\n\t}\n\tenteredModification--;\n\treturn insertLength;\n}\n\nvoid Document::ChangeInsertion(const char *s, Sci::Position length) {\n\tinsertionSet = true;\n\tinsertion.assign(s, length);\n}\n\nint SCI_METHOD Document::AddData(const char *data, Sci_Position length) {\n\ttry {\n\t\tconst Sci::Position position = Length();\n\t\tInsertString(position, data, length);\n\t} catch (std::bad_alloc &) {\n\t\treturn SC_STATUS_BADALLOC;\n\t} catch (...) {\n\t\treturn SC_STATUS_FAILURE;\n\t}\n\treturn 0;\n}\n\nvoid * SCI_METHOD Document::ConvertToDocument() {\n\treturn this;\n}\n\nSci::Position Document::Undo() {\n\tSci::Position newPos = -1;\n\tCheckReadOnly();\n\tif ((enteredModification == 0) && (cb.IsCollectingUndo())) {\n\t\tenteredModification++;\n\t\tif (!cb.IsReadOnly()) {\n\t\t\tconst bool startSavePoint = cb.IsSavePoint();\n\t\t\tbool multiLine = false;\n\t\t\tconst int steps = cb.StartUndo();\n\t\t\t//Platform::DebugPrintf(\"Steps=%d\\n\", steps);\n\t\t\tSci::Position coalescedRemovePos = -1;\n\t\t\tSci::Position coalescedRemoveLen = 0;\n\t\t\tSci::Position prevRemoveActionPos = -1;\n\t\t\tSci::Position prevRemoveActionLen = 0;\n\t\t\tfor (int step = 0; step < steps; step++) {\n\t\t\t\tconst Sci::Line prevLinesTotal = LinesTotal();\n\t\t\t\tconst Action &action = cb.GetUndoStep();\n\t\t\t\tif (action.at == removeAction) {\n\t\t\t\t\tNotifyModified(DocModification(\n\t\t\t\t\t\t\t\t\tSC_MOD_BEFOREINSERT | SC_PERFORMED_UNDO, action));\n\t\t\t\t} else if (action.at == containerAction) {\n\t\t\t\t\tDocModification dm(SC_MOD_CONTAINER | SC_PERFORMED_UNDO);\n\t\t\t\t\tdm.token = action.position;\n\t\t\t\t\tNotifyModified(dm);\n\t\t\t\t\tif (!action.mayCoalesce) {\n\t\t\t\t\t\tcoalescedRemovePos = -1;\n\t\t\t\t\t\tcoalescedRemoveLen = 0;\n\t\t\t\t\t\tprevRemoveActionPos = -1;\n\t\t\t\t\t\tprevRemoveActionLen = 0;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tNotifyModified(DocModification(\n\t\t\t\t\t\t\t\t\tSC_MOD_BEFOREDELETE | SC_PERFORMED_UNDO, action));\n\t\t\t\t}\n\t\t\t\tcb.PerformUndoStep();\n\t\t\t\tif (action.at != containerAction) {\n\t\t\t\t\tModifiedAt(action.position);\n\t\t\t\t\tnewPos = action.position;\n\t\t\t\t}\n\n\t\t\t\tint modFlags = SC_PERFORMED_UNDO;\n\t\t\t\t// With undo, an insertion action becomes a deletion notification\n\t\t\t\tif (action.at == removeAction) {\n\t\t\t\t\tnewPos += action.lenData;\n\t\t\t\t\tmodFlags |= SC_MOD_INSERTTEXT;\n\t\t\t\t\tif ((coalescedRemoveLen > 0) &&\n\t\t\t\t\t\t(action.position == prevRemoveActionPos || action.position == (prevRemoveActionPos + prevRemoveActionLen))) {\n\t\t\t\t\t\tcoalescedRemoveLen += action.lenData;\n\t\t\t\t\t\tnewPos = coalescedRemovePos + coalescedRemoveLen;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcoalescedRemovePos = action.position;\n\t\t\t\t\t\tcoalescedRemoveLen = action.lenData;\n\t\t\t\t\t}\n\t\t\t\t\tprevRemoveActionPos = action.position;\n\t\t\t\t\tprevRemoveActionLen = action.lenData;\n\t\t\t\t} else if (action.at == insertAction) {\n\t\t\t\t\tmodFlags |= SC_MOD_DELETETEXT;\n\t\t\t\t\tcoalescedRemovePos = -1;\n\t\t\t\t\tcoalescedRemoveLen = 0;\n\t\t\t\t\tprevRemoveActionPos = -1;\n\t\t\t\t\tprevRemoveActionLen = 0;\n\t\t\t\t}\n\t\t\t\tif (steps > 1)\n\t\t\t\t\tmodFlags |= SC_MULTISTEPUNDOREDO;\n\t\t\t\tconst Sci::Line linesAdded = LinesTotal() - prevLinesTotal;\n\t\t\t\tif (linesAdded != 0)\n\t\t\t\t\tmultiLine = true;\n\t\t\t\tif (step == steps - 1) {\n\t\t\t\t\tmodFlags |= SC_LASTSTEPINUNDOREDO;\n\t\t\t\t\tif (multiLine)\n\t\t\t\t\t\tmodFlags |= SC_MULTILINEUNDOREDO;\n\t\t\t\t}\n\t\t\t\tNotifyModified(DocModification(modFlags, action.position, action.lenData,\n\t\t\t\t\t\t\t\t\t\t\t   linesAdded, action.data.get()));\n\t\t\t}\n\n\t\t\tconst bool endSavePoint = cb.IsSavePoint();\n\t\t\tif (startSavePoint != endSavePoint)\n\t\t\t\tNotifySavePoint(endSavePoint);\n\t\t}\n\t\tenteredModification--;\n\t}\n\treturn newPos;\n}\n\nSci::Position Document::Redo() {\n\tSci::Position newPos = -1;\n\tCheckReadOnly();\n\tif ((enteredModification == 0) && (cb.IsCollectingUndo())) {\n\t\tenteredModification++;\n\t\tif (!cb.IsReadOnly()) {\n\t\t\tconst bool startSavePoint = cb.IsSavePoint();\n\t\t\tbool multiLine = false;\n\t\t\tconst int steps = cb.StartRedo();\n\t\t\tfor (int step = 0; step < steps; step++) {\n\t\t\t\tconst Sci::Line prevLinesTotal = LinesTotal();\n\t\t\t\tconst Action &action = cb.GetRedoStep();\n\t\t\t\tif (action.at == insertAction) {\n\t\t\t\t\tNotifyModified(DocModification(\n\t\t\t\t\t\t\t\t\tSC_MOD_BEFOREINSERT | SC_PERFORMED_REDO, action));\n\t\t\t\t} else if (action.at == containerAction) {\n\t\t\t\t\tDocModification dm(SC_MOD_CONTAINER | SC_PERFORMED_REDO);\n\t\t\t\t\tdm.token = action.position;\n\t\t\t\t\tNotifyModified(dm);\n\t\t\t\t} else {\n\t\t\t\t\tNotifyModified(DocModification(\n\t\t\t\t\t\t\t\t\tSC_MOD_BEFOREDELETE | SC_PERFORMED_REDO, action));\n\t\t\t\t}\n\t\t\t\tcb.PerformRedoStep();\n\t\t\t\tif (action.at != containerAction) {\n\t\t\t\t\tModifiedAt(action.position);\n\t\t\t\t\tnewPos = action.position;\n\t\t\t\t}\n\n\t\t\t\tint modFlags = SC_PERFORMED_REDO;\n\t\t\t\tif (action.at == insertAction) {\n\t\t\t\t\tnewPos += action.lenData;\n\t\t\t\t\tmodFlags |= SC_MOD_INSERTTEXT;\n\t\t\t\t} else if (action.at == removeAction) {\n\t\t\t\t\tmodFlags |= SC_MOD_DELETETEXT;\n\t\t\t\t}\n\t\t\t\tif (steps > 1)\n\t\t\t\t\tmodFlags |= SC_MULTISTEPUNDOREDO;\n\t\t\t\tconst Sci::Line linesAdded = LinesTotal() - prevLinesTotal;\n\t\t\t\tif (linesAdded != 0)\n\t\t\t\t\tmultiLine = true;\n\t\t\t\tif (step == steps - 1) {\n\t\t\t\t\tmodFlags |= SC_LASTSTEPINUNDOREDO;\n\t\t\t\t\tif (multiLine)\n\t\t\t\t\t\tmodFlags |= SC_MULTILINEUNDOREDO;\n\t\t\t\t}\n\t\t\t\tNotifyModified(\n\t\t\t\t\tDocModification(modFlags, action.position, action.lenData,\n\t\t\t\t\t\t\t\t\tlinesAdded, action.data.get()));\n\t\t\t}\n\n\t\t\tconst bool endSavePoint = cb.IsSavePoint();\n\t\t\tif (startSavePoint != endSavePoint)\n\t\t\t\tNotifySavePoint(endSavePoint);\n\t\t}\n\t\tenteredModification--;\n\t}\n\treturn newPos;\n}\n\nvoid Document::DelChar(Sci::Position pos) {\n\tDeleteChars(pos, LenChar(pos));\n}\n\nvoid Document::DelCharBack(Sci::Position pos) {\n\tif (pos <= 0) {\n\t\treturn;\n\t} else if (IsCrLf(pos - 2)) {\n\t\tDeleteChars(pos - 2, 2);\n\t} else if (dbcsCodePage) {\n\t\tconst Sci::Position startChar = NextPosition(pos, -1);\n\t\tDeleteChars(startChar, pos - startChar);\n\t} else {\n\t\tDeleteChars(pos - 1, 1);\n\t}\n}\n\nstatic Sci::Position NextTab(Sci::Position pos, Sci::Position tabSize) noexcept {\n\treturn ((pos / tabSize) + 1) * tabSize;\n}\n\nstatic std::string CreateIndentation(Sci::Position indent, int tabSize, bool insertSpaces) {\n\tstd::string indentation;\n\tif (!insertSpaces) {\n\t\twhile (indent >= tabSize) {\n\t\t\tindentation += '\\t';\n\t\t\tindent -= tabSize;\n\t\t}\n\t}\n\twhile (indent > 0) {\n\t\tindentation += ' ';\n\t\tindent--;\n\t}\n\treturn indentation;\n}\n\nint SCI_METHOD Document::GetLineIndentation(Sci_Position line) {\n\tint indent = 0;\n\tif ((line >= 0) && (line < LinesTotal())) {\n\t\tconst Sci::Position lineStart = LineStart(line);\n\t\tconst Sci::Position length = Length();\n\t\tfor (Sci::Position i = lineStart; i < length; i++) {\n\t\t\tconst char ch = cb.CharAt(i);\n\t\t\tif (ch == ' ')\n\t\t\t\tindent++;\n\t\t\telse if (ch == '\\t')\n\t\t\t\tindent = static_cast<int>(NextTab(indent, tabInChars));\n\t\t\telse\n\t\t\t\treturn indent;\n\t\t}\n\t}\n\treturn indent;\n}\n\nSci::Position Document::SetLineIndentation(Sci::Line line, Sci::Position indent) {\n\tconst int indentOfLine = GetLineIndentation(line);\n\tif (indent < 0)\n\t\tindent = 0;\n\tif (indent != indentOfLine) {\n\t\tstd::string linebuf = CreateIndentation(indent, tabInChars, !useTabs);\n\t\tconst Sci::Position thisLineStart = LineStart(line);\n\t\tconst Sci::Position indentPos = GetLineIndentPosition(line);\n\t\tUndoGroup ug(this);\n\t\tDeleteChars(thisLineStart, indentPos - thisLineStart);\n\t\treturn thisLineStart + InsertString(thisLineStart, linebuf.c_str(),\n\t\t\tlinebuf.length());\n\t} else {\n\t\treturn GetLineIndentPosition(line);\n\t}\n}\n\nSci::Position Document::GetLineIndentPosition(Sci::Line line) const {\n\tif (line < 0)\n\t\treturn 0;\n\tSci::Position pos = LineStart(line);\n\tconst Sci::Position length = Length();\n\twhile ((pos < length) && IsSpaceOrTab(cb.CharAt(pos))) {\n\t\tpos++;\n\t}\n\treturn pos;\n}\n\nSci::Position Document::GetColumn(Sci::Position pos) {\n\tSci::Position column = 0;\n\tconst Sci::Line line = SciLineFromPosition(pos);\n\tif ((line >= 0) && (line < LinesTotal())) {\n\t\tfor (Sci::Position i = LineStart(line); i < pos;) {\n\t\t\tconst char ch = cb.CharAt(i);\n\t\t\tif (ch == '\\t') {\n\t\t\t\tcolumn = NextTab(column, tabInChars);\n\t\t\t\ti++;\n\t\t\t} else if (ch == '\\r') {\n\t\t\t\treturn column;\n\t\t\t} else if (ch == '\\n') {\n\t\t\t\treturn column;\n\t\t\t} else if (i >= Length()) {\n\t\t\t\treturn column;\n\t\t\t} else {\n\t\t\t\tcolumn++;\n\t\t\t\ti = NextPosition(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\treturn column;\n}\n\nSci::Position Document::CountCharacters(Sci::Position startPos, Sci::Position endPos) const {\n\tstartPos = MovePositionOutsideChar(startPos, 1, false);\n\tendPos = MovePositionOutsideChar(endPos, -1, false);\n\tSci::Position count = 0;\n\tSci::Position i = startPos;\n\twhile (i < endPos) {\n\t\tcount++;\n\t\ti = NextPosition(i, 1);\n\t}\n\treturn count;\n}\n\nSci::Position Document::CountUTF16(Sci::Position startPos, Sci::Position endPos) const {\n\tstartPos = MovePositionOutsideChar(startPos, 1, false);\n\tendPos = MovePositionOutsideChar(endPos, -1, false);\n\tSci::Position count = 0;\n\tSci::Position i = startPos;\n\twhile (i < endPos) {\n\t\tcount++;\n\t\tconst Sci::Position next = NextPosition(i, 1);\n\t\tif ((next - i) > 3)\n\t\t\tcount++;\n\t\ti = next;\n\t}\n\treturn count;\n}\n\nSci::Position Document::FindColumn(Sci::Line line, Sci::Position column) {\n\tSci::Position position = LineStart(line);\n\tif ((line >= 0) && (line < LinesTotal())) {\n\t\tSci::Position columnCurrent = 0;\n\t\twhile ((columnCurrent < column) && (position < Length())) {\n\t\t\tconst char ch = cb.CharAt(position);\n\t\t\tif (ch == '\\t') {\n\t\t\t\tcolumnCurrent = NextTab(columnCurrent, tabInChars);\n\t\t\t\tif (columnCurrent > column)\n\t\t\t\t\treturn position;\n\t\t\t\tposition++;\n\t\t\t} else if (ch == '\\r') {\n\t\t\t\treturn position;\n\t\t\t} else if (ch == '\\n') {\n\t\t\t\treturn position;\n\t\t\t} else {\n\t\t\t\tcolumnCurrent++;\n\t\t\t\tposition = NextPosition(position, 1);\n\t\t\t}\n\t\t}\n\t}\n\treturn position;\n}\n\nvoid Document::Indent(bool forwards, Sci::Line lineBottom, Sci::Line lineTop) {\n\t// Dedent - suck white space off the front of the line to dedent by equivalent of a tab\n\tfor (Sci::Line line = lineBottom; line >= lineTop; line--) {\n\t\tconst Sci::Position indentOfLine = GetLineIndentation(line);\n\t\tif (forwards) {\n\t\t\tif (LineStart(line) < LineEnd(line)) {\n\t\t\t\tSetLineIndentation(line, indentOfLine + IndentSize());\n\t\t\t}\n\t\t} else {\n\t\t\tSetLineIndentation(line, indentOfLine - IndentSize());\n\t\t}\n\t}\n}\n\n// Convert line endings for a piece of text to a particular mode.\n// Stop at len or when a NUL is found.\nstd::string Document::TransformLineEnds(const char *s, size_t len, int eolModeWanted) {\n\tstd::string dest;\n\tfor (size_t i = 0; (i < len) && (s[i]); i++) {\n\t\tif (s[i] == '\\n' || s[i] == '\\r') {\n\t\t\tif (eolModeWanted == SC_EOL_CR) {\n\t\t\t\tdest.push_back('\\r');\n\t\t\t} else if (eolModeWanted == SC_EOL_LF) {\n\t\t\t\tdest.push_back('\\n');\n\t\t\t} else { // eolModeWanted == SC_EOL_CRLF\n\t\t\t\tdest.push_back('\\r');\n\t\t\t\tdest.push_back('\\n');\n\t\t\t}\n\t\t\tif ((s[i] == '\\r') && (i+1 < len) && (s[i+1] == '\\n')) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t} else {\n\t\t\tdest.push_back(s[i]);\n\t\t}\n\t}\n\treturn dest;\n}\n\nvoid Document::ConvertLineEnds(int eolModeSet) {\n\tUndoGroup ug(this);\n\n\tfor (Sci::Position pos = 0; pos < Length(); pos++) {\n\t\tif (cb.CharAt(pos) == '\\r') {\n\t\t\tif (cb.CharAt(pos + 1) == '\\n') {\n\t\t\t\t// CRLF\n\t\t\t\tif (eolModeSet == SC_EOL_CR) {\n\t\t\t\t\tDeleteChars(pos + 1, 1); // Delete the LF\n\t\t\t\t} else if (eolModeSet == SC_EOL_LF) {\n\t\t\t\t\tDeleteChars(pos, 1); // Delete the CR\n\t\t\t\t} else {\n\t\t\t\t\tpos++;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// CR\n\t\t\t\tif (eolModeSet == SC_EOL_CRLF) {\n\t\t\t\t\tpos += InsertString(pos + 1, \"\\n\", 1); // Insert LF\n\t\t\t\t} else if (eolModeSet == SC_EOL_LF) {\n\t\t\t\t\tpos += InsertString(pos, \"\\n\", 1); // Insert LF\n\t\t\t\t\tDeleteChars(pos, 1); // Delete CR\n\t\t\t\t\tpos--;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (cb.CharAt(pos) == '\\n') {\n\t\t\t// LF\n\t\t\tif (eolModeSet == SC_EOL_CRLF) {\n\t\t\t\tpos += InsertString(pos, \"\\r\", 1); // Insert CR\n\t\t\t} else if (eolModeSet == SC_EOL_CR) {\n\t\t\t\tpos += InsertString(pos, \"\\r\", 1); // Insert CR\n\t\t\t\tDeleteChars(pos, 1); // Delete LF\n\t\t\t\tpos--;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\nint Document::Options() const {\n\treturn (IsLarge() ? SC_DOCUMENTOPTION_TEXT_LARGE : 0) |\n\t\t(cb.HasStyles() ? 0 : SC_DOCUMENTOPTION_STYLES_NONE);\n}\n\nbool Document::IsWhiteLine(Sci::Line line) const {\n\tSci::Position currentChar = LineStart(line);\n\tconst Sci::Position endLine = LineEnd(line);\n\twhile (currentChar < endLine) {\n\t\tif (!IsSpaceOrTab(cb.CharAt(currentChar))) {\n\t\t\treturn false;\n\t\t}\n\t\t++currentChar;\n\t}\n\treturn true;\n}\n\nSci::Position Document::ParaUp(Sci::Position pos) const {\n\tSci::Line line = SciLineFromPosition(pos);\n\tline--;\n\twhile (line >= 0 && IsWhiteLine(line)) { // skip empty lines\n\t\tline--;\n\t}\n\twhile (line >= 0 && !IsWhiteLine(line)) { // skip non-empty lines\n\t\tline--;\n\t}\n\tline++;\n\treturn LineStart(line);\n}\n\nSci::Position Document::ParaDown(Sci::Position pos) const {\n\tSci::Line line = SciLineFromPosition(pos);\n\twhile (line < LinesTotal() && !IsWhiteLine(line)) { // skip non-empty lines\n\t\tline++;\n\t}\n\twhile (line < LinesTotal() && IsWhiteLine(line)) { // skip empty lines\n\t\tline++;\n\t}\n\tif (line < LinesTotal())\n\t\treturn LineStart(line);\n\telse // end of a document\n\t\treturn LineEnd(line-1);\n}\n\nbool Document::IsASCIIWordByte(unsigned char ch) const {\n\tif (IsASCII(ch)) {\n\t\treturn charClass.GetClass(ch) == CharClassify::ccWord;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nCharClassify::cc Document::WordCharacterClass(unsigned int ch) const {\n\tif (dbcsCodePage && (!UTF8IsAscii(ch))) {\n\t\tif (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\t// Use hard coded Unicode class\n\t\t\tconst CharacterCategory cc = CategoriseCharacter(ch);\n\t\t\tswitch (cc) {\n\n\t\t\t\t// Separator, Line/Paragraph\n\t\t\tcase ccZl:\n\t\t\tcase ccZp:\n\t\t\t\treturn CharClassify::ccNewLine;\n\n\t\t\t\t// Separator, Space\n\t\t\tcase ccZs:\n\t\t\t\t// Other\n\t\t\tcase ccCc:\n\t\t\tcase ccCf:\n\t\t\tcase ccCs:\n\t\t\tcase ccCo:\n\t\t\tcase ccCn:\n\t\t\t\treturn CharClassify::ccSpace;\n\n\t\t\t\t// Letter\n\t\t\tcase ccLu:\n\t\t\tcase ccLl:\n\t\t\tcase ccLt:\n\t\t\tcase ccLm:\n\t\t\tcase ccLo:\n\t\t\t\t// Number\n\t\t\tcase ccNd:\n\t\t\tcase ccNl:\n\t\t\tcase ccNo:\n\t\t\t\t// Mark - includes combining diacritics\n\t\t\tcase ccMn:\n\t\t\tcase ccMc:\n\t\t\tcase ccMe:\n\t\t\t\treturn CharClassify::ccWord;\n\n\t\t\t\t// Punctuation\n\t\t\tcase ccPc:\n\t\t\tcase ccPd:\n\t\t\tcase ccPs:\n\t\t\tcase ccPe:\n\t\t\tcase ccPi:\n\t\t\tcase ccPf:\n\t\t\tcase ccPo:\n\t\t\t\t// Symbol\n\t\t\tcase ccSm:\n\t\t\tcase ccSc:\n\t\t\tcase ccSk:\n\t\t\tcase ccSo:\n\t\t\t\treturn CharClassify::ccPunctuation;\n\n\t\t\t}\n\t\t} else {\n\t\t\t// Asian DBCS\n\t\t\treturn CharClassify::ccWord;\n\t\t}\n\t}\n\treturn charClass.GetClass(static_cast<unsigned char>(ch));\n}\n\n/**\n * Used by commmands that want to select whole words.\n * Finds the start of word at pos when delta < 0 or the end of the word when delta >= 0.\n */\nSci::Position Document::ExtendWordSelect(Sci::Position pos, int delta, bool onlyWordCharacters) const {\n\tCharClassify::cc ccStart = CharClassify::ccWord;\n\tif (delta < 0) {\n\t\tif (!onlyWordCharacters) {\n\t\t\tconst CharacterExtracted ce = CharacterBefore(pos);\n\t\t\tccStart = WordCharacterClass(ce.character);\n\t\t}\n\t\twhile (pos > 0) {\n\t\t\tconst CharacterExtracted ce = CharacterBefore(pos);\n\t\t\tif (WordCharacterClass(ce.character) != ccStart)\n\t\t\t\tbreak;\n\t\t\tpos -= ce.widthBytes;\n\t\t}\n\t} else {\n\t\tif (!onlyWordCharacters && pos < Length()) {\n\t\t\tconst CharacterExtracted ce = CharacterAfter(pos);\n\t\t\tccStart = WordCharacterClass(ce.character);\n\t\t}\n\t\twhile (pos < Length()) {\n\t\t\tconst CharacterExtracted ce = CharacterAfter(pos);\n\t\t\tif (WordCharacterClass(ce.character) != ccStart)\n\t\t\t\tbreak;\n\t\t\tpos += ce.widthBytes;\n\t\t}\n\t}\n\treturn MovePositionOutsideChar(pos, delta, true);\n}\n\n/**\n * Find the start of the next word in either a forward (delta >= 0) or backwards direction\n * (delta < 0).\n * This is looking for a transition between character classes although there is also some\n * additional movement to transit white space.\n * Used by cursor movement by word commands.\n */\nSci::Position Document::NextWordStart(Sci::Position pos, int delta) const {\n\tif (delta < 0) {\n\t\twhile (pos > 0) {\n\t\t\tconst CharacterExtracted ce = CharacterBefore(pos);\n\t\t\tif (WordCharacterClass(ce.character) != CharClassify::ccSpace)\n\t\t\t\tbreak;\n\t\t\tpos -= ce.widthBytes;\n\t\t}\n\t\tif (pos > 0) {\n\t\t\tCharacterExtracted ce = CharacterBefore(pos);\n\t\t\tconst CharClassify::cc ccStart = WordCharacterClass(ce.character);\n\t\t\twhile (pos > 0) {\n\t\t\t\tce = CharacterBefore(pos);\n\t\t\t\tif (WordCharacterClass(ce.character) != ccStart)\n\t\t\t\t\tbreak;\n\t\t\t\tpos -= ce.widthBytes;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tCharacterExtracted ce = CharacterAfter(pos);\n\t\tconst CharClassify::cc ccStart = WordCharacterClass(ce.character);\n\t\twhile (pos < Length()) {\n\t\t\tce = CharacterAfter(pos);\n\t\t\tif (WordCharacterClass(ce.character) != ccStart)\n\t\t\t\tbreak;\n\t\t\tpos += ce.widthBytes;\n\t\t}\n\t\twhile (pos < Length()) {\n\t\t\tce = CharacterAfter(pos);\n\t\t\tif (WordCharacterClass(ce.character) != CharClassify::ccSpace)\n\t\t\t\tbreak;\n\t\t\tpos += ce.widthBytes;\n\t\t}\n\t}\n\treturn pos;\n}\n\n/**\n * Find the end of the next word in either a forward (delta >= 0) or backwards direction\n * (delta < 0).\n * This is looking for a transition between character classes although there is also some\n * additional movement to transit white space.\n * Used by cursor movement by word commands.\n */\nSci::Position Document::NextWordEnd(Sci::Position pos, int delta) const {\n\tif (delta < 0) {\n\t\tif (pos > 0) {\n\t\t\tCharacterExtracted ce = CharacterBefore(pos);\n\t\t\tconst CharClassify::cc ccStart = WordCharacterClass(ce.character);\n\t\t\tif (ccStart != CharClassify::ccSpace) {\n\t\t\t\twhile (pos > 0) {\n\t\t\t\t\tce = CharacterBefore(pos);\n\t\t\t\t\tif (WordCharacterClass(ce.character) != ccStart)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tpos -= ce.widthBytes;\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile (pos > 0) {\n\t\t\t\tce = CharacterBefore(pos);\n\t\t\t\tif (WordCharacterClass(ce.character) != CharClassify::ccSpace)\n\t\t\t\t\tbreak;\n\t\t\t\tpos -= ce.widthBytes;\n\t\t\t}\n\t\t}\n\t} else {\n\t\twhile (pos < Length()) {\n\t\t\tconst CharacterExtracted ce = CharacterAfter(pos);\n\t\t\tif (WordCharacterClass(ce.character) != CharClassify::ccSpace)\n\t\t\t\tbreak;\n\t\t\tpos += ce.widthBytes;\n\t\t}\n\t\tif (pos < Length()) {\n\t\t\tCharacterExtracted ce = CharacterAfter(pos);\n\t\t\tconst CharClassify::cc ccStart = WordCharacterClass(ce.character);\n\t\t\twhile (pos < Length()) {\n\t\t\t\tce = CharacterAfter(pos);\n\t\t\t\tif (WordCharacterClass(ce.character) != ccStart)\n\t\t\t\t\tbreak;\n\t\t\t\tpos += ce.widthBytes;\n\t\t\t}\n\t\t}\n\t}\n\treturn pos;\n}\n\n/**\n * Check that the character at the given position is a word or punctuation character and that\n * the previous character is of a different character class.\n */\nbool Document::IsWordStartAt(Sci::Position pos) const {\n\tif (pos >= Length())\n\t\treturn false;\n\tif (pos > 0) {\n\t\tconst CharacterExtracted cePos = CharacterAfter(pos);\n\t\tconst CharClassify::cc ccPos = WordCharacterClass(cePos.character);\n\t\tconst CharacterExtracted cePrev = CharacterBefore(pos);\n\t\tconst CharClassify::cc ccPrev = WordCharacterClass(cePrev.character);\n\t\treturn (ccPos == CharClassify::ccWord || ccPos == CharClassify::ccPunctuation) &&\n\t\t\t(ccPos != ccPrev);\n\t}\n\treturn true;\n}\n\n/**\n * Check that the character at the given position is a word or punctuation character and that\n * the next character is of a different character class.\n */\nbool Document::IsWordEndAt(Sci::Position pos) const {\n\tif (pos <= 0)\n\t\treturn false;\n\tif (pos < Length()) {\n\t\tconst CharacterExtracted cePos = CharacterAfter(pos);\n\t\tconst CharClassify::cc ccPos = WordCharacterClass(cePos.character);\n\t\tconst CharacterExtracted cePrev = CharacterBefore(pos);\n\t\tconst CharClassify::cc ccPrev = WordCharacterClass(cePrev.character);\n\t\treturn (ccPrev == CharClassify::ccWord || ccPrev == CharClassify::ccPunctuation) &&\n\t\t\t(ccPrev != ccPos);\n\t}\n\treturn true;\n}\n\n/**\n * Check that the given range is has transitions between character classes at both\n * ends and where the characters on the inside are word or punctuation characters.\n */\nbool Document::IsWordAt(Sci::Position start, Sci::Position end) const {\n\treturn (start < end) && IsWordStartAt(start) && IsWordEndAt(end);\n}\n\nbool Document::MatchesWordOptions(bool word, bool wordStart, Sci::Position pos, Sci::Position length) const {\n\treturn (!word && !wordStart) ||\n\t\t\t(word && IsWordAt(pos, pos + length)) ||\n\t\t\t(wordStart && IsWordStartAt(pos));\n}\n\nbool Document::HasCaseFolder() const noexcept {\n\treturn pcf != nullptr;\n}\n\nvoid Document::SetCaseFolder(CaseFolder *pcf_) {\n\tpcf.reset(pcf_);\n}\n\nDocument::CharacterExtracted Document::ExtractCharacter(Sci::Position position) const noexcept {\n\tconst unsigned char leadByte = cb.UCharAt(position);\n\tif (UTF8IsAscii(leadByte)) {\n\t\t// Common case: ASCII character\n\t\treturn CharacterExtracted(leadByte, 1);\n\t}\n\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\tunsigned char charBytes[UTF8MaxBytes] = { leadByte, 0, 0, 0 };\n\tfor (int b=1; b<widthCharBytes; b++)\n\t\tcharBytes[b] = cb.UCharAt(position + b);\n\tconst int utf8status = UTF8Classify(charBytes, widthCharBytes);\n\tif (utf8status & UTF8MaskInvalid) {\n\t\t// Treat as invalid and use up just one byte\n\t\treturn CharacterExtracted(unicodeReplacementChar, 1);\n\t} else {\n\t\treturn CharacterExtracted(UnicodeFromUTF8(charBytes), utf8status & UTF8MaskWidth);\n\t}\n}\n\n/**\n * Find text in document, supporting both forward and backward\n * searches (just pass minPos > maxPos to do a backward search)\n * Has not been tested with backwards DBCS searches yet.\n */\nSci::Position Document::FindText(Sci::Position minPos, Sci::Position maxPos, const char *search,\n                        int flags, Sci::Position *length) {\n\tif (*length <= 0)\n\t\treturn minPos;\n\tconst bool caseSensitive = (flags & SCFIND_MATCHCASE) != 0;\n\tconst bool word = (flags & SCFIND_WHOLEWORD) != 0;\n\tconst bool wordStart = (flags & SCFIND_WORDSTART) != 0;\n\tconst bool regExp = (flags & SCFIND_REGEXP) != 0;\n\tif (regExp) {\n\t\tif (!regex)\n\t\t\tregex = std::unique_ptr<RegexSearchBase>(CreateRegexSearch());\n\t\treturn regex->FindText(this, minPos, maxPos, search, caseSensitive, word, wordStart, flags, length);\n\t} else {\n\n\t\tconst bool forward = minPos <= maxPos;\n\t\tconst int increment = forward ? 1 : -1;\n\n\t\t// Range endpoints should not be inside DBCS characters, but just in case, move them.\n\t\tconst Sci::Position startPos = MovePositionOutsideChar(minPos, increment, false);\n\t\tconst Sci::Position endPos = MovePositionOutsideChar(maxPos, increment, false);\n\n\t\t// Compute actual search ranges needed\n\t\tconst Sci::Position lengthFind = *length;\n\n\t\t//Platform::DebugPrintf(\"Find %d %d %s %d\\n\", startPos, endPos, ft->lpstrText, lengthFind);\n\t\tconst Sci::Position limitPos = std::max(startPos, endPos);\n\t\tSci::Position pos = startPos;\n\t\tif (!forward) {\n\t\t\t// Back all of a character\n\t\t\tpos = NextPosition(pos, increment);\n\t\t}\n\t\tif (caseSensitive) {\n\t\t\tconst Sci::Position endSearch = (startPos <= endPos) ? endPos - lengthFind + 1 : endPos;\n\t\t\tconst char charStartSearch =  search[0];\n\t\t\twhile (forward ? (pos < endSearch) : (pos >= endSearch)) {\n\t\t\t\tif (CharAt(pos) == charStartSearch) {\n\t\t\t\t\tbool found = (pos + lengthFind) <= limitPos;\n\t\t\t\t\tfor (int indexSearch = 1; (indexSearch < lengthFind) && found; indexSearch++) {\n\t\t\t\t\t\tfound = CharAt(pos + indexSearch) == search[indexSearch];\n\t\t\t\t\t}\n\t\t\t\t\tif (found && MatchesWordOptions(word, wordStart, pos, lengthFind)) {\n\t\t\t\t\t\treturn pos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!NextCharacter(pos, increment))\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else if (SC_CP_UTF8 == dbcsCodePage) {\n\t\t\tconst size_t maxFoldingExpansion = 4;\n\t\t\tstd::vector<char> searchThing((lengthFind+1) * UTF8MaxBytes * maxFoldingExpansion + 1);\n\t\t\tconst size_t lenSearch =\n\t\t\t\tpcf->Fold(&searchThing[0], searchThing.size(), search, lengthFind);\n\t\t\tchar bytes[UTF8MaxBytes + 1] = \"\";\n\t\t\tchar folded[UTF8MaxBytes * maxFoldingExpansion + 1] = \"\";\n\t\t\twhile (forward ? (pos < endPos) : (pos >= endPos)) {\n\t\t\t\tint widthFirstCharacter = 0;\n\t\t\t\tSci::Position posIndexDocument = pos;\n\t\t\t\tsize_t indexSearch = 0;\n\t\t\t\tbool characterMatches = true;\n\t\t\t\tfor (;;) {\n\t\t\t\t\tconst unsigned char leadByte = cb.UCharAt(posIndexDocument);\n\t\t\t\t\tbytes[0] = leadByte;\n\t\t\t\t\tint widthChar = 1;\n\t\t\t\t\tif (!UTF8IsAscii(leadByte)) {\n\t\t\t\t\t\tconst int widthCharBytes = UTF8BytesOfLead[leadByte];\n\t\t\t\t\t\tfor (int b=1; b<widthCharBytes; b++) {\n\t\t\t\t\t\t\tbytes[b] = cb.CharAt(posIndexDocument+b);\n\t\t\t\t\t\t}\n\t\t\t\t\t\twidthChar = UTF8Classify(reinterpret_cast<const unsigned char *>(bytes), widthCharBytes) & UTF8MaskWidth;\n\t\t\t\t\t}\n\t\t\t\t\tif (!widthFirstCharacter)\n\t\t\t\t\t\twidthFirstCharacter = widthChar;\n\t\t\t\t\tif ((posIndexDocument + widthChar) > limitPos)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tconst size_t lenFlat = pcf->Fold(folded, sizeof(folded), bytes, widthChar);\n\t\t\t\t\t// memcmp may examine lenFlat bytes in both arguments so assert it doesn't read past end of searchThing\n\t\t\t\t\tassert((indexSearch + lenFlat) <= searchThing.size());\n\t\t\t\t\t// Does folded match the buffer\n\t\t\t\t\tcharacterMatches = 0 == memcmp(folded, &searchThing[0] + indexSearch, lenFlat);\n\t\t\t\t\tif (!characterMatches)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tposIndexDocument += widthChar;\n\t\t\t\t\tindexSearch += lenFlat;\n\t\t\t\t\tif (indexSearch >= lenSearch)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (characterMatches && (indexSearch == lenSearch)) {\n\t\t\t\t\tif (MatchesWordOptions(word, wordStart, pos, posIndexDocument - pos)) {\n\t\t\t\t\t\t*length = posIndexDocument - pos;\n\t\t\t\t\t\treturn pos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (forward) {\n\t\t\t\t\tpos += widthFirstCharacter;\n\t\t\t\t} else {\n\t\t\t\t\tif (!NextCharacter(pos, increment))\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (dbcsCodePage) {\n\t\t\tconst size_t maxBytesCharacter = 2;\n\t\t\tconst size_t maxFoldingExpansion = 4;\n\t\t\tstd::vector<char> searchThing((lengthFind+1) * maxBytesCharacter * maxFoldingExpansion + 1);\n\t\t\tconst size_t lenSearch = pcf->Fold(&searchThing[0], searchThing.size(), search, lengthFind);\n\t\t\twhile (forward ? (pos < endPos) : (pos >= endPos)) {\n\t\t\t\tSci::Position indexDocument = 0;\n\t\t\t\tsize_t indexSearch = 0;\n\t\t\t\tbool characterMatches = true;\n\t\t\t\twhile (characterMatches &&\n\t\t\t\t\t((pos + indexDocument) < limitPos) &&\n\t\t\t\t\t(indexSearch < lenSearch)) {\n\t\t\t\t\tchar bytes[maxBytesCharacter + 1];\n\t\t\t\t\tbytes[0] = cb.CharAt(pos + indexDocument);\n\t\t\t\t\tconst Sci::Position widthChar = IsDBCSLeadByteNoExcept(bytes[0]) ? 2 : 1;\n\t\t\t\t\tif (widthChar == 2)\n\t\t\t\t\t\tbytes[1] = cb.CharAt(pos + indexDocument + 1);\n\t\t\t\t\tif ((pos + indexDocument + widthChar) > limitPos)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tchar folded[maxBytesCharacter * maxFoldingExpansion + 1];\n\t\t\t\t\tconst size_t lenFlat = pcf->Fold(folded, sizeof(folded), bytes, widthChar);\n\t\t\t\t\t// memcmp may examine lenFlat bytes in both arguments so assert it doesn't read past end of searchThing\n\t\t\t\t\tassert((indexSearch + lenFlat) <= searchThing.size());\n\t\t\t\t\t// Does folded match the buffer\n\t\t\t\t\tcharacterMatches = 0 == memcmp(folded, &searchThing[0] + indexSearch, lenFlat);\n\t\t\t\t\tindexDocument += widthChar;\n\t\t\t\t\tindexSearch += lenFlat;\n\t\t\t\t}\n\t\t\t\tif (characterMatches && (indexSearch == lenSearch)) {\n\t\t\t\t\tif (MatchesWordOptions(word, wordStart, pos, indexDocument)) {\n\t\t\t\t\t\t*length = indexDocument;\n\t\t\t\t\t\treturn pos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!NextCharacter(pos, increment))\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tconst Sci::Position endSearch = (startPos <= endPos) ? endPos - lengthFind + 1 : endPos;\n\t\t\tstd::vector<char> searchThing(lengthFind + 1);\n\t\t\tpcf->Fold(&searchThing[0], searchThing.size(), search, lengthFind);\n\t\t\twhile (forward ? (pos < endSearch) : (pos >= endSearch)) {\n\t\t\t\tbool found = (pos + lengthFind) <= limitPos;\n\t\t\t\tfor (int indexSearch = 0; (indexSearch < lengthFind) && found; indexSearch++) {\n\t\t\t\t\tconst char ch = CharAt(pos + indexSearch);\n\t\t\t\t\tchar folded[2];\n\t\t\t\t\tpcf->Fold(folded, sizeof(folded), &ch, 1);\n\t\t\t\t\tfound = folded[0] == searchThing[indexSearch];\n\t\t\t\t}\n\t\t\t\tif (found && MatchesWordOptions(word, wordStart, pos, lengthFind)) {\n\t\t\t\t\treturn pos;\n\t\t\t\t}\n\t\t\t\tif (!NextCharacter(pos, increment))\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t//Platform::DebugPrintf(\"Not found\\n\");\n\treturn -1;\n}\n\nconst char *Document::SubstituteByPosition(const char *text, Sci::Position *length) {\n\tif (regex)\n\t\treturn regex->SubstituteByPosition(this, text, length);\n\telse\n\t\treturn nullptr;\n}\n\nint Document::LineCharacterIndex() const {\n\treturn cb.LineCharacterIndex();\n}\n\nvoid Document::AllocateLineCharacterIndex(int lineCharacterIndex) {\n\treturn cb.AllocateLineCharacterIndex(lineCharacterIndex);\n}\n\nvoid Document::ReleaseLineCharacterIndex(int lineCharacterIndex) {\n\treturn cb.ReleaseLineCharacterIndex(lineCharacterIndex);\n}\n\nSci::Line Document::LinesTotal() const noexcept {\n\treturn cb.Lines();\n}\n\nvoid Document::SetDefaultCharClasses(bool includeWordClass) {\n    charClass.SetDefaultCharClasses(includeWordClass);\n}\n\nvoid Document::SetCharClasses(const unsigned char *chars, CharClassify::cc newCharClass) {\n    charClass.SetCharClasses(chars, newCharClass);\n}\n\nint Document::GetCharsOfClass(CharClassify::cc characterClass, unsigned char *buffer) const {\n    return charClass.GetCharsOfClass(characterClass, buffer);\n}\n\nvoid SCI_METHOD Document::StartStyling(Sci_Position position, char) {\n\tendStyled = position;\n}\n\nbool SCI_METHOD Document::SetStyleFor(Sci_Position length, char style) {\n\tif (enteredStyling != 0) {\n\t\treturn false;\n\t} else {\n\t\tenteredStyling++;\n\t\tconst Sci::Position prevEndStyled = endStyled;\n\t\tif (cb.SetStyleFor(endStyled, length, style)) {\n\t\t\tconst DocModification mh(SC_MOD_CHANGESTYLE | SC_PERFORMED_USER,\n\t\t\t                   prevEndStyled, length);\n\t\t\tNotifyModified(mh);\n\t\t}\n\t\tendStyled += length;\n\t\tenteredStyling--;\n\t\treturn true;\n\t}\n}\n\nbool SCI_METHOD Document::SetStyles(Sci_Position length, const char *styles) {\n\tif (enteredStyling != 0) {\n\t\treturn false;\n\t} else {\n\t\tenteredStyling++;\n\t\tbool didChange = false;\n\t\tSci::Position startMod = 0;\n\t\tSci::Position endMod = 0;\n\t\tfor (int iPos = 0; iPos < length; iPos++, endStyled++) {\n\t\t\tPLATFORM_ASSERT(endStyled < Length());\n\t\t\tif (cb.SetStyleAt(endStyled, styles[iPos])) {\n\t\t\t\tif (!didChange) {\n\t\t\t\t\tstartMod = endStyled;\n\t\t\t\t}\n\t\t\t\tdidChange = true;\n\t\t\t\tendMod = endStyled;\n\t\t\t}\n\t\t}\n\t\tif (didChange) {\n\t\t\tconst DocModification mh(SC_MOD_CHANGESTYLE | SC_PERFORMED_USER,\n\t\t\t                   startMod, endMod - startMod + 1);\n\t\t\tNotifyModified(mh);\n\t\t}\n\t\tenteredStyling--;\n\t\treturn true;\n\t}\n}\n\nvoid Document::EnsureStyledTo(Sci::Position pos) {\n\tif ((enteredStyling == 0) && (pos > GetEndStyled())) {\n\t\tIncrementStyleClock();\n\t\tif (pli && !pli->UseContainerLexing()) {\n\t\t\tconst Sci::Line lineEndStyled = SciLineFromPosition(GetEndStyled());\n\t\t\tconst Sci::Position endStyledTo = LineStart(lineEndStyled);\n\t\t\tpli->Colourise(endStyledTo, pos);\n\t\t} else {\n\t\t\t// Ask the watchers to style, and stop as soon as one responds.\n\t\t\tfor (std::vector<WatcherWithUserData>::iterator it = watchers.begin();\n\t\t\t\t(pos > GetEndStyled()) && (it != watchers.end()); ++it) {\n\t\t\t\tit->watcher->NotifyStyleNeeded(this, it->userData, pos);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Document::StyleToAdjustingLineDuration(Sci::Position pos) {\n\tconst Sci::Line lineFirst = SciLineFromPosition(GetEndStyled());\n\tElapsedPeriod epStyling;\n\tEnsureStyledTo(pos);\n\tconst Sci::Line lineLast = SciLineFromPosition(GetEndStyled());\n\tdurationStyleOneLine.AddSample(lineLast - lineFirst, epStyling.Duration());\n}\n\nvoid Document::LexerChanged() {\n\t// Tell the watchers the lexer has changed.\n\tfor (const WatcherWithUserData &watcher : watchers) {\n\t\twatcher.watcher->NotifyLexerChanged(this, watcher.userData);\n\t}\n}\n\nLexInterface *Document::GetLexInterface() const {\n\treturn pli.get();\n}\n\nvoid Document::SetLexInterface(LexInterface *pLexInterface) {\n\tpli.reset(pLexInterface);\n}\n\nint SCI_METHOD Document::SetLineState(Sci_Position line, int state) {\n\tconst int statePrevious = States()->SetLineState(static_cast<Sci::Line>(line), state);\n\tif (state != statePrevious) {\n\t\tconst DocModification mh(SC_MOD_CHANGELINESTATE, LineStart(line), 0, 0, nullptr,\n\t\t\tstatic_cast<Sci::Line>(line));\n\t\tNotifyModified(mh);\n\t}\n\treturn statePrevious;\n}\n\nint SCI_METHOD Document::GetLineState(Sci_Position line) const {\n\treturn States()->GetLineState(static_cast<Sci::Line>(line));\n}\n\nSci::Line Document::GetMaxLineState() const {\n\treturn States()->GetMaxLineState();\n}\n\nvoid SCI_METHOD Document::ChangeLexerState(Sci_Position start, Sci_Position end) {\n\tconst DocModification mh(SC_MOD_LEXERSTATE, start,\n\t\tend-start, 0, 0, 0);\n\tNotifyModified(mh);\n}\n\nStyledText Document::MarginStyledText(Sci::Line line) const {\n\tconst LineAnnotation *pla = Margins();\n\treturn StyledText(pla->Length(line), pla->Text(line),\n\t\tpla->MultipleStyles(line), pla->Style(line), pla->Styles(line));\n}\n\nvoid Document::MarginSetText(Sci::Line line, const char *text) {\n\tMargins()->SetText(line, text);\n\tconst DocModification mh(SC_MOD_CHANGEMARGIN, LineStart(line),\n\t\t0, 0, 0, line);\n\tNotifyModified(mh);\n}\n\nvoid Document::MarginSetStyle(Sci::Line line, int style) {\n\tMargins()->SetStyle(line, style);\n\tNotifyModified(DocModification(SC_MOD_CHANGEMARGIN, LineStart(line),\n\t\t0, 0, 0, line));\n}\n\nvoid Document::MarginSetStyles(Sci::Line line, const unsigned char *styles) {\n\tMargins()->SetStyles(line, styles);\n\tNotifyModified(DocModification(SC_MOD_CHANGEMARGIN, LineStart(line),\n\t\t0, 0, 0, line));\n}\n\nvoid Document::MarginClearAll() {\n\tconst Sci::Line maxEditorLine = LinesTotal();\n\tfor (Sci::Line l=0; l<maxEditorLine; l++)\n\t\tMarginSetText(l, nullptr);\n\t// Free remaining data\n\tMargins()->ClearAll();\n}\n\nStyledText Document::AnnotationStyledText(Sci::Line line) const {\n\tconst LineAnnotation *pla = Annotations();\n\treturn StyledText(pla->Length(line), pla->Text(line),\n\t\tpla->MultipleStyles(line), pla->Style(line), pla->Styles(line));\n}\n\nvoid Document::AnnotationSetText(Sci::Line line, const char *text) {\n\tif (line >= 0 && line < LinesTotal()) {\n\t\tconst Sci::Line linesBefore = AnnotationLines(line);\n\t\tAnnotations()->SetText(line, text);\n\t\tconst int linesAfter = AnnotationLines(line);\n\t\tDocModification mh(SC_MOD_CHANGEANNOTATION, LineStart(line),\n\t\t\t0, 0, 0, line);\n\t\tmh.annotationLinesAdded = linesAfter - linesBefore;\n\t\tNotifyModified(mh);\n\t}\n}\n\nvoid Document::AnnotationSetStyle(Sci::Line line, int style) {\n\tAnnotations()->SetStyle(line, style);\n\tconst DocModification mh(SC_MOD_CHANGEANNOTATION, LineStart(line),\n\t\t0, 0, 0, line);\n\tNotifyModified(mh);\n}\n\nvoid Document::AnnotationSetStyles(Sci::Line line, const unsigned char *styles) {\n\tif (line >= 0 && line < LinesTotal()) {\n\t\tAnnotations()->SetStyles(line, styles);\n\t}\n}\n\nint Document::AnnotationLines(Sci::Line line) const {\n\treturn Annotations()->Lines(line);\n}\n\nvoid Document::AnnotationClearAll() {\n\tconst Sci::Line maxEditorLine = LinesTotal();\n\tfor (Sci::Line l=0; l<maxEditorLine; l++)\n\t\tAnnotationSetText(l, nullptr);\n\t// Free remaining data\n\tAnnotations()->ClearAll();\n}\n\nvoid Document::IncrementStyleClock() noexcept {\n\tstyleClock = (styleClock + 1) % 0x100000;\n}\n\nvoid SCI_METHOD Document::DecorationSetCurrentIndicator(int indicator) {\n\tdecorations->SetCurrentIndicator(indicator);\n}\n\nvoid SCI_METHOD Document::DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) {\n\tconst FillResult<Sci::Position> fr = decorations->FillRange(\n\t\tposition, value, fillLength);\n\tif (fr.changed) {\n\t\tconst DocModification mh(SC_MOD_CHANGEINDICATOR | SC_PERFORMED_USER,\n\t\t\t\t\t\t\tfr.position, fr.fillLength);\n\t\tNotifyModified(mh);\n\t}\n}\n\nbool Document::AddWatcher(DocWatcher *watcher, void *userData) {\n\tconst WatcherWithUserData wwud(watcher, userData);\n\tstd::vector<WatcherWithUserData>::iterator it =\n\t\tstd::find(watchers.begin(), watchers.end(), wwud);\n\tif (it != watchers.end())\n\t\treturn false;\n\twatchers.push_back(wwud);\n\treturn true;\n}\n\nbool Document::RemoveWatcher(DocWatcher *watcher, void *userData) {\n\tstd::vector<WatcherWithUserData>::iterator it =\n\t\tstd::find(watchers.begin(), watchers.end(), WatcherWithUserData(watcher, userData));\n\tif (it != watchers.end()) {\n\t\twatchers.erase(it);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nvoid Document::NotifyModifyAttempt() {\n\tfor (const WatcherWithUserData &watcher : watchers) {\n\t\twatcher.watcher->NotifyModifyAttempt(this, watcher.userData);\n\t}\n}\n\nvoid Document::NotifySavePoint(bool atSavePoint) {\n\tfor (const WatcherWithUserData &watcher : watchers) {\n\t\twatcher.watcher->NotifySavePoint(this, watcher.userData, atSavePoint);\n\t}\n}\n\nvoid Document::NotifyModified(DocModification mh) {\n\tif (mh.modificationType & SC_MOD_INSERTTEXT) {\n\t\tdecorations->InsertSpace(mh.position, mh.length);\n\t} else if (mh.modificationType & SC_MOD_DELETETEXT) {\n\t\tdecorations->DeleteRange(mh.position, mh.length);\n\t}\n\tfor (const WatcherWithUserData &watcher : watchers) {\n\t\twatcher.watcher->NotifyModified(this, mh, watcher.userData);\n\t}\n}\n\n// Used for word part navigation.\nstatic bool IsASCIIPunctuationCharacter(unsigned int ch) noexcept {\n\tswitch (ch) {\n\tcase '!':\n\tcase '\"':\n\tcase '#':\n\tcase '$':\n\tcase '%':\n\tcase '&':\n\tcase '\\'':\n\tcase '(':\n\tcase ')':\n\tcase '*':\n\tcase '+':\n\tcase ',':\n\tcase '-':\n\tcase '.':\n\tcase '/':\n\tcase ':':\n\tcase ';':\n\tcase '<':\n\tcase '=':\n\tcase '>':\n\tcase '?':\n\tcase '@':\n\tcase '[':\n\tcase '\\\\':\n\tcase ']':\n\tcase '^':\n\tcase '_':\n\tcase '`':\n\tcase '{':\n\tcase '|':\n\tcase '}':\n\tcase '~':\n\t\treturn true;\n\tdefault:\n\t\treturn false;\n\t}\n}\n\nbool Document::IsWordPartSeparator(unsigned int ch) const {\n\treturn (WordCharacterClass(ch) == CharClassify::ccWord) && IsASCIIPunctuationCharacter(ch);\n}\n\nSci::Position Document::WordPartLeft(Sci::Position pos) const {\n\tif (pos > 0) {\n\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\tCharacterExtracted ceStart = CharacterAfter(pos);\n\t\tif (IsWordPartSeparator(ceStart.character)) {\n\t\t\twhile (pos > 0 && IsWordPartSeparator(CharacterAfter(pos).character)) {\n\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t}\n\t\t}\n\t\tif (pos > 0) {\n\t\t\tceStart = CharacterAfter(pos);\n\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\tif (IsLowerCase(ceStart.character)) {\n\t\t\t\twhile (pos > 0 && IsLowerCase(CharacterAfter(pos).character))\n\t\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t\tif (!IsUpperCase(CharacterAfter(pos).character) && !IsLowerCase(CharacterAfter(pos).character))\n\t\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t} else if (IsUpperCase(ceStart.character)) {\n\t\t\t\twhile (pos > 0 && IsUpperCase(CharacterAfter(pos).character))\n\t\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t\tif (!IsUpperCase(CharacterAfter(pos).character))\n\t\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t} else if (IsADigit(ceStart.character)) {\n\t\t\t\twhile (pos > 0 && IsADigit(CharacterAfter(pos).character))\n\t\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t\tif (!IsADigit(CharacterAfter(pos).character))\n\t\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t} else if (IsASCIIPunctuationCharacter(ceStart.character)) {\n\t\t\t\twhile (pos > 0 && IsASCIIPunctuationCharacter(CharacterAfter(pos).character))\n\t\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t\tif (!IsASCIIPunctuationCharacter(CharacterAfter(pos).character))\n\t\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t} else if (isspacechar(ceStart.character)) {\n\t\t\t\twhile (pos > 0 && isspacechar(CharacterAfter(pos).character))\n\t\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t\tif (!isspacechar(CharacterAfter(pos).character))\n\t\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t} else if (!IsASCII(ceStart.character)) {\n\t\t\t\twhile (pos > 0 && !IsASCII(CharacterAfter(pos).character))\n\t\t\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t\t\t\tif (IsASCII(CharacterAfter(pos).character))\n\t\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t} else {\n\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\t}\n\t\t}\n\t}\n\treturn pos;\n}\n\nSci::Position Document::WordPartRight(Sci::Position pos) const {\n\tCharacterExtracted ceStart = CharacterAfter(pos);\n\tconst Sci::Position length = Length();\n\tif (IsWordPartSeparator(ceStart.character)) {\n\t\twhile (pos < length && IsWordPartSeparator(CharacterAfter(pos).character))\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\tceStart = CharacterAfter(pos);\n\t}\n\tif (!IsASCII(ceStart.character)) {\n\t\twhile (pos < length && !IsASCII(CharacterAfter(pos).character))\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t} else if (IsLowerCase(ceStart.character)) {\n\t\twhile (pos < length && IsLowerCase(CharacterAfter(pos).character))\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t} else if (IsUpperCase(ceStart.character)) {\n\t\tif (IsLowerCase(CharacterAfter(pos + ceStart.widthBytes).character)) {\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t\twhile (pos < length && IsLowerCase(CharacterAfter(pos).character))\n\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t} else {\n\t\t\twhile (pos < length && IsUpperCase(CharacterAfter(pos).character))\n\t\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t\t}\n\t\tif (IsLowerCase(CharacterAfter(pos).character) && IsUpperCase(CharacterBefore(pos).character))\n\t\t\tpos -= CharacterBefore(pos).widthBytes;\n\t} else if (IsADigit(ceStart.character)) {\n\t\twhile (pos < length && IsADigit(CharacterAfter(pos).character))\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t} else if (IsASCIIPunctuationCharacter(ceStart.character)) {\n\t\twhile (pos < length && IsASCIIPunctuationCharacter(CharacterAfter(pos).character))\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t} else if (isspacechar(ceStart.character)) {\n\t\twhile (pos < length && isspacechar(CharacterAfter(pos).character))\n\t\t\tpos += CharacterAfter(pos).widthBytes;\n\t} else {\n\t\tpos += CharacterAfter(pos).widthBytes;\n\t}\n\treturn pos;\n}\n\nstatic bool IsLineEndChar(char c) noexcept {\n\treturn (c == '\\n' || c == '\\r');\n}\n\nSci::Position Document::ExtendStyleRange(Sci::Position pos, int delta, bool singleLine) {\n\tconst int sStart = cb.StyleAt(pos);\n\tif (delta < 0) {\n\t\twhile (pos > 0 && (cb.StyleAt(pos) == sStart) && (!singleLine || !IsLineEndChar(cb.CharAt(pos))))\n\t\t\tpos--;\n\t\tpos++;\n\t} else {\n\t\twhile (pos < (Length()) && (cb.StyleAt(pos) == sStart) && (!singleLine || !IsLineEndChar(cb.CharAt(pos))))\n\t\t\tpos++;\n\t}\n\treturn pos;\n}\n\nstatic char BraceOpposite(char ch) noexcept {\n\tswitch (ch) {\n\tcase '(':\n\t\treturn ')';\n\tcase ')':\n\t\treturn '(';\n\tcase '[':\n\t\treturn ']';\n\tcase ']':\n\t\treturn '[';\n\tcase '{':\n\t\treturn '}';\n\tcase '}':\n\t\treturn '{';\n\tcase '<':\n\t\treturn '>';\n\tcase '>':\n\t\treturn '<';\n\tdefault:\n\t\treturn '\\0';\n\t}\n}\n\n// TODO: should be able to extend styled region to find matching brace\nSci::Position Document::BraceMatch(Sci::Position position, Sci::Position /*maxReStyle*/) {\n\tconst char chBrace = CharAt(position);\n\tconst char chSeek = BraceOpposite(chBrace);\n\tif (chSeek == '\\0')\n\t\treturn - 1;\n\tconst int styBrace = StyleIndexAt(position);\n\tint direction = -1;\n\tif (chBrace == '(' || chBrace == '[' || chBrace == '{' || chBrace == '<')\n\t\tdirection = 1;\n\tint depth = 1;\n\tposition = NextPosition(position, direction);\n\twhile ((position >= 0) && (position < Length())) {\n\t\tconst char chAtPos = CharAt(position);\n\t\tconst int styAtPos = StyleIndexAt(position);\n\t\tif ((position > GetEndStyled()) || (styAtPos == styBrace)) {\n\t\t\tif (chAtPos == chBrace)\n\t\t\t\tdepth++;\n\t\t\tif (chAtPos == chSeek)\n\t\t\t\tdepth--;\n\t\t\tif (depth == 0)\n\t\t\t\treturn position;\n\t\t}\n\t\tconst Sci::Position positionBeforeMove = position;\n\t\tposition = NextPosition(position, direction);\n\t\tif (position == positionBeforeMove)\n\t\t\tbreak;\n\t}\n\treturn - 1;\n}\n\n/**\n * Implementation of RegexSearchBase for the default built-in regular expression engine\n */\nclass BuiltinRegex : public RegexSearchBase {\npublic:\n\texplicit BuiltinRegex(CharClassify *charClassTable) : search(charClassTable) {}\n\tBuiltinRegex(const BuiltinRegex &) = delete;\n\tBuiltinRegex(BuiltinRegex &&) = delete;\n\tBuiltinRegex &operator=(const BuiltinRegex &) = delete;\n\tBuiltinRegex &operator=(BuiltinRegex &&) = delete;\n\t~BuiltinRegex() override = default;\n\n\tSci::Position FindText(Document *doc, Sci::Position minPos, Sci::Position maxPos, const char *s,\n                        bool caseSensitive, bool word, bool wordStart, int flags,\n                        Sci::Position *length) override;\n\n\tconst char *SubstituteByPosition(Document *doc, const char *text, Sci::Position *length) override;\n\nprivate:\n\tRESearch search;\n\tstd::string substituted;\n};\n\nnamespace {\n\n/**\n* RESearchRange keeps track of search range.\n*/\nclass RESearchRange {\npublic:\n\tconst Document *doc;\n\tint increment;\n\tSci::Position startPos;\n\tSci::Position endPos;\n\tSci::Line lineRangeStart;\n\tSci::Line lineRangeEnd;\n\tSci::Line lineRangeBreak;\n\tRESearchRange(const Document *doc_, Sci::Position minPos, Sci::Position maxPos) : doc(doc_) {\n\t\tincrement = (minPos <= maxPos) ? 1 : -1;\n\n\t\t// Range endpoints should not be inside DBCS characters or between a CR and LF,\n\t\t// but just in case, move them.\n\t\tstartPos = doc->MovePositionOutsideChar(minPos, 1, true);\n\t\tendPos = doc->MovePositionOutsideChar(maxPos, 1, true);\n\n\t\tlineRangeStart = doc->SciLineFromPosition(startPos);\n\t\tlineRangeEnd = doc->SciLineFromPosition(endPos);\n\t\tlineRangeBreak = lineRangeEnd + increment;\n\t}\n\tRange LineRange(Sci::Line line) const {\n\t\tRange range(doc->LineStart(line), doc->LineEnd(line));\n\t\tif (increment == 1) {\n\t\t\tif (line == lineRangeStart)\n\t\t\t\trange.start = startPos;\n\t\t\tif (line == lineRangeEnd)\n\t\t\t\trange.end = endPos;\n\t\t} else {\n\t\t\tif (line == lineRangeEnd)\n\t\t\t\trange.start = endPos;\n\t\t\tif (line == lineRangeStart)\n\t\t\t\trange.end = startPos;\n\t\t}\n\t\treturn range;\n\t}\n};\n\n// Define a way for the Regular Expression code to access the document\nclass DocumentIndexer : public CharacterIndexer {\n\tDocument *pdoc;\n\tSci::Position end;\npublic:\n\tDocumentIndexer(Document *pdoc_, Sci::Position end_) noexcept :\n\t\tpdoc(pdoc_), end(end_) {\n\t}\n\n\tDocumentIndexer(const DocumentIndexer &) = delete;\n\tDocumentIndexer(DocumentIndexer &&) = delete;\n\tDocumentIndexer &operator=(const DocumentIndexer &) = delete;\n\tDocumentIndexer &operator=(DocumentIndexer &&) = delete;\n\n\t~DocumentIndexer() override = default;\n\n\tchar CharAt(Sci::Position index) const noexcept override {\n\t\tif (index < 0 || index >= end)\n\t\t\treturn 0;\n\t\telse\n\t\t\treturn pdoc->CharAt(index);\n\t}\n};\n\n#ifndef NO_CXX11_REGEX\n\nclass ByteIterator {\npublic:\n\ttypedef std::bidirectional_iterator_tag iterator_category;\n\ttypedef char value_type;\n\ttypedef ptrdiff_t difference_type;\n\ttypedef char* pointer;\n\ttypedef char& reference;\n\n\tconst Document *doc;\n\tSci::Position position;\n\n\tByteIterator(const Document *doc_=nullptr, Sci::Position position_=0) noexcept :\n\t\tdoc(doc_), position(position_) {\n\t}\n\tByteIterator(const ByteIterator &other) noexcept {\n\t\tdoc = other.doc;\n\t\tposition = other.position;\n\t}\n\tByteIterator(ByteIterator &&other) noexcept {\n\t\tdoc = other.doc;\n\t\tposition = other.position;\n\t}\n\tByteIterator &operator=(const ByteIterator &other) noexcept {\n\t\tif (this != &other) {\n\t\t\tdoc = other.doc;\n\t\t\tposition = other.position;\n\t\t}\n\t\treturn *this;\n\t}\n\tByteIterator &operator=(ByteIterator &&) noexcept = default;\n\t~ByteIterator() = default;\n\tchar operator*() const noexcept {\n\t\treturn doc->CharAt(position);\n\t}\n\tByteIterator &operator++() noexcept {\n\t\tposition++;\n\t\treturn *this;\n\t}\n\tByteIterator operator++(int) noexcept {\n\t\tByteIterator retVal(*this);\n\t\tposition++;\n\t\treturn retVal;\n\t}\n\tByteIterator &operator--() noexcept {\n\t\tposition--;\n\t\treturn *this;\n\t}\n\tbool operator==(const ByteIterator &other) const noexcept {\n\t\treturn doc == other.doc && position == other.position;\n\t}\n\tbool operator!=(const ByteIterator &other) const noexcept {\n\t\treturn doc != other.doc || position != other.position;\n\t}\n\tSci::Position Pos() const noexcept {\n\t\treturn position;\n\t}\n\tSci::Position PosRoundUp() const noexcept {\n\t\treturn position;\n\t}\n};\n\n// On Windows, wchar_t is 16 bits wide and on Unix it is 32 bits wide.\n// Would be better to use sizeof(wchar_t) or similar to differentiate\n// but easier for now to hard-code platforms.\n// C++11 has char16_t and char32_t but neither Clang nor Visual C++\n// appear to allow specializing basic_regex over these.\n\n#ifdef _WIN32\n#define WCHAR_T_IS_16 1\n#else\n#define WCHAR_T_IS_16 0\n#endif\n\n#if WCHAR_T_IS_16\n\n// On Windows, report non-BMP characters as 2 separate surrogates as that\n// matches wregex since it is based on wchar_t.\nclass UTF8Iterator {\n\t// These 3 fields determine the iterator position and are used for comparisons\n\tconst Document *doc;\n\tSci::Position position;\n\tsize_t characterIndex;\n\t// Remaining fields are derived from the determining fields so are excluded in comparisons\n\tunsigned int lenBytes;\n\tsize_t lenCharacters;\n\twchar_t buffered[2];\npublic:\n\ttypedef std::bidirectional_iterator_tag iterator_category;\n\ttypedef wchar_t value_type;\n\ttypedef ptrdiff_t difference_type;\n\ttypedef wchar_t* pointer;\n\ttypedef wchar_t& reference;\n\n\tUTF8Iterator(const Document *doc_=nullptr, Sci::Position position_=0) noexcept :\n\t\tdoc(doc_), position(position_), characterIndex(0), lenBytes(0), lenCharacters(0), buffered{} {\n\t\tbuffered[0] = 0;\n\t\tbuffered[1] = 0;\n\t\tif (doc) {\n\t\t\tReadCharacter();\n\t\t}\n\t}\n\tUTF8Iterator(const UTF8Iterator &other) noexcept : buffered{} {\n\t\tdoc = other.doc;\n\t\tposition = other.position;\n\t\tcharacterIndex = other.characterIndex;\n\t\tlenBytes = other.lenBytes;\n\t\tlenCharacters = other.lenCharacters;\n\t\tbuffered[0] = other.buffered[0];\n\t\tbuffered[1] = other.buffered[1];\n\t}\n\tUTF8Iterator(UTF8Iterator &&other) noexcept = default;\n\tUTF8Iterator &operator=(const UTF8Iterator &other) noexcept {\n\t\tif (this != &other) {\n\t\t\tdoc = other.doc;\n\t\t\tposition = other.position;\n\t\t\tcharacterIndex = other.characterIndex;\n\t\t\tlenBytes = other.lenBytes;\n\t\t\tlenCharacters = other.lenCharacters;\n\t\t\tbuffered[0] = other.buffered[0];\n\t\t\tbuffered[1] = other.buffered[1];\n\t\t}\n\t\treturn *this;\n\t}\n\tUTF8Iterator &operator=(UTF8Iterator &&) noexcept = default;\n\t~UTF8Iterator() = default;\n\twchar_t operator*() const noexcept {\n\t\tassert(lenCharacters != 0);\n\t\treturn buffered[characterIndex];\n\t}\n\tUTF8Iterator &operator++() noexcept {\n\t\tif ((characterIndex + 1) < (lenCharacters)) {\n\t\t\tcharacterIndex++;\n\t\t} else {\n\t\t\tposition += lenBytes;\n\t\t\tReadCharacter();\n\t\t\tcharacterIndex = 0;\n\t\t}\n\t\treturn *this;\n\t}\n\tUTF8Iterator operator++(int) noexcept {\n\t\tUTF8Iterator retVal(*this);\n\t\tif ((characterIndex + 1) < (lenCharacters)) {\n\t\t\tcharacterIndex++;\n\t\t} else {\n\t\t\tposition += lenBytes;\n\t\t\tReadCharacter();\n\t\t\tcharacterIndex = 0;\n\t\t}\n\t\treturn retVal;\n\t}\n\tUTF8Iterator &operator--() noexcept {\n\t\tif (characterIndex) {\n\t\t\tcharacterIndex--;\n\t\t} else {\n\t\t\tposition = doc->NextPosition(position, -1);\n\t\t\tReadCharacter();\n\t\t\tcharacterIndex = lenCharacters - 1;\n\t\t}\n\t\treturn *this;\n\t}\n\tbool operator==(const UTF8Iterator &other) const noexcept {\n\t\t// Only test the determining fields, not the character widths and values derived from this\n\t\treturn doc == other.doc &&\n\t\t\tposition == other.position &&\n\t\t\tcharacterIndex == other.characterIndex;\n\t}\n\tbool operator!=(const UTF8Iterator &other) const noexcept {\n\t\t// Only test the determining fields, not the character widths and values derived from this\n\t\treturn doc != other.doc ||\n\t\t\tposition != other.position ||\n\t\t\tcharacterIndex != other.characterIndex;\n\t}\n\tSci::Position Pos() const noexcept {\n\t\treturn position;\n\t}\n\tSci::Position PosRoundUp() const noexcept {\n\t\tif (characterIndex)\n\t\t\treturn position + lenBytes;\t// Force to end of character\n\t\telse\n\t\t\treturn position;\n\t}\nprivate:\n\tvoid ReadCharacter() noexcept {\n\t\tconst Document::CharacterExtracted charExtracted = doc->ExtractCharacter(position);\n\t\tlenBytes = charExtracted.widthBytes;\n\t\tif (charExtracted.character == unicodeReplacementChar) {\n\t\t\tlenCharacters = 1;\n\t\t\tbuffered[0] = static_cast<wchar_t>(charExtracted.character);\n\t\t} else {\n\t\t\tlenCharacters = UTF16FromUTF32Character(charExtracted.character, buffered);\n\t\t}\n\t}\n};\n\n#else\n\n// On Unix, report non-BMP characters as single characters\n\nclass UTF8Iterator {\n\tconst Document *doc;\n\tSci::Position position;\npublic:\n\ttypedef std::bidirectional_iterator_tag iterator_category;\n\ttypedef wchar_t value_type;\n\ttypedef ptrdiff_t difference_type;\n\ttypedef wchar_t* pointer;\n\ttypedef wchar_t& reference;\n\n\tUTF8Iterator(const Document *doc_=nullptr, Sci::Position position_=0) noexcept :\n\t\tdoc(doc_), position(position_) {\n\t}\n\tUTF8Iterator(const UTF8Iterator &other) noexcept {\n\t\tdoc = other.doc;\n\t\tposition = other.position;\n\t}\n\tUTF8Iterator(UTF8Iterator &&other) noexcept = default;\n\tUTF8Iterator &operator=(const UTF8Iterator &other) noexcept {\n\t\tif (this != &other) {\n\t\t\tdoc = other.doc;\n\t\t\tposition = other.position;\n\t\t}\n\t\treturn *this;\n\t}\n\tUTF8Iterator &operator=(UTF8Iterator &&) noexcept = default;\n\t~UTF8Iterator() = default;\n\twchar_t operator*() const noexcept {\n\t\tconst Document::CharacterExtracted charExtracted = doc->ExtractCharacter(position);\n\t\treturn charExtracted.character;\n\t}\n\tUTF8Iterator &operator++() noexcept {\n\t\tposition = doc->NextPosition(position, 1);\n\t\treturn *this;\n\t}\n\tUTF8Iterator operator++(int) noexcept {\n\t\tUTF8Iterator retVal(*this);\n\t\tposition = doc->NextPosition(position, 1);\n\t\treturn retVal;\n\t}\n\tUTF8Iterator &operator--() noexcept {\n\t\tposition = doc->NextPosition(position, -1);\n\t\treturn *this;\n\t}\n\tbool operator==(const UTF8Iterator &other) const noexcept {\n\t\treturn doc == other.doc && position == other.position;\n\t}\n\tbool operator!=(const UTF8Iterator &other) const noexcept {\n\t\treturn doc != other.doc || position != other.position;\n\t}\n\tSci::Position Pos() const noexcept {\n\t\treturn position;\n\t}\n\tSci::Position PosRoundUp() const noexcept {\n\t\treturn position;\n\t}\n};\n\n#endif\n\nstd::regex_constants::match_flag_type MatchFlags(const Document *doc, Sci::Position startPos, Sci::Position endPos) {\n\tstd::regex_constants::match_flag_type flagsMatch = std::regex_constants::match_default;\n\tif (!doc->IsLineStartPosition(startPos))\n\t\tflagsMatch |= std::regex_constants::match_not_bol;\n\tif (!doc->IsLineEndPosition(endPos))\n\t\tflagsMatch |= std::regex_constants::match_not_eol;\n\treturn flagsMatch;\n}\n\ntemplate<typename Iterator, typename Regex>\nbool MatchOnLines(const Document *doc, const Regex &regexp, const RESearchRange &resr, RESearch &search) {\n\tstd::match_results<Iterator> match;\n\n\t// MSVC and libc++ have problems with ^ and $ matching line ends inside a range.\n\t// CRLF line ends are also a problem as ^ and $ only treat LF as a line end.\n\t// The std::regex::multiline option was added to C++17 to improve behaviour but\n\t// has not been implemented by compiler runtimes with MSVC always in multiline\n\t// mode and libc++ and libstdc++ always in single-line mode.\n\t// If multiline regex worked well then the line by line iteration could be removed\n\t// for the forwards case and replaced with the following 4 lines:\n#ifdef REGEX_MULTILINE\n\tIterator itStart(doc, resr.startPos);\n\tIterator itEnd(doc, resr.endPos);\n\tconst std::regex_constants::match_flag_type flagsMatch = MatchFlags(doc, resr.startPos, resr.endPos);\n\tconst bool matched = std::regex_search(itStart, itEnd, match, regexp, flagsMatch);\n#else\n\t// Line by line.\n\tbool matched = false;\n\tfor (Sci::Line line = resr.lineRangeStart; line != resr.lineRangeBreak; line += resr.increment) {\n\t\tconst Range lineRange = resr.LineRange(line);\n\t\tIterator itStart(doc, lineRange.start);\n\t\tIterator itEnd(doc, lineRange.end);\n\t\tstd::regex_constants::match_flag_type flagsMatch = MatchFlags(doc, lineRange.start, lineRange.end);\n\t\tmatched = std::regex_search(itStart, itEnd, match, regexp, flagsMatch);\n\t\t// Check for the last match on this line.\n\t\tif (matched) {\n\t\t\tif (resr.increment == -1) {\n\t\t\t\twhile (matched) {\n\t\t\t\t\tIterator itNext(doc, match[0].second.PosRoundUp());\n\t\t\t\t\tflagsMatch = MatchFlags(doc, itNext.Pos(), lineRange.end);\n\t\t\t\t\tstd::match_results<Iterator> matchNext;\n\t\t\t\t\tmatched = std::regex_search(itNext, itEnd, matchNext, regexp, flagsMatch);\n\t\t\t\t\tif (matched) {\n\t\t\t\t\t\tif (match[0].first == match[0].second) {\n\t\t\t\t\t\t\t// Empty match means failure so exit\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = matchNext;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tmatched = true;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n#endif\n\tif (matched) {\n\t\tfor (size_t co = 0; co < match.size(); co++) {\n\t\t\tsearch.bopat[co] = match[co].first.Pos();\n\t\t\tsearch.eopat[co] = match[co].second.PosRoundUp();\n\t\t\tconst Sci::Position lenMatch = search.eopat[co] - search.bopat[co];\n\t\t\tsearch.pat[co].resize(lenMatch);\n\t\t\tfor (Sci::Position iPos = 0; iPos < lenMatch; iPos++) {\n\t\t\t\tsearch.pat[co][iPos] = doc->CharAt(iPos + search.bopat[co]);\n\t\t\t}\n\t\t}\n\t}\n\treturn matched;\n}\n\nSci::Position Cxx11RegexFindText(const Document *doc, Sci::Position minPos, Sci::Position maxPos, const char *s,\n\tbool caseSensitive, Sci::Position *length, RESearch &search) {\n\tconst RESearchRange resr(doc, minPos, maxPos);\n\ttry {\n\t\t//ElapsedPeriod ep;\n\t\tstd::regex::flag_type flagsRe = std::regex::ECMAScript;\n\t\t// Flags that apper to have no effect:\n\t\t// | std::regex::collate | std::regex::extended;\n\t\tif (!caseSensitive)\n\t\t\tflagsRe = flagsRe | std::regex::icase;\n\n\t\t// Clear the RESearch so can fill in matches\n\t\tsearch.Clear();\n\n\t\tbool matched = false;\n\t\tif (SC_CP_UTF8 == doc->dbcsCodePage) {\n\t\t\tconst size_t lenS = strlen(s);\n\t\t\tstd::vector<wchar_t> ws(lenS + 1);\n#if WCHAR_T_IS_16\n\t\t\tconst size_t outLen = UTF16FromUTF8(s, lenS, &ws[0], lenS);\n#else\n\t\t\tconst size_t outLen = UTF32FromUTF8(s, lenS, reinterpret_cast<unsigned int *>(&ws[0]), lenS);\n#endif\n\t\t\tws[outLen] = 0;\n\t\t\tstd::wregex regexp;\n\t\t\tregexp.assign(&ws[0], flagsRe);\n\t\t\tmatched = MatchOnLines<UTF8Iterator>(doc, regexp, resr, search);\n\n\t\t} else {\n\t\t\tstd::regex regexp;\n\t\t\tregexp.assign(s, flagsRe);\n\t\t\tmatched = MatchOnLines<ByteIterator>(doc, regexp, resr, search);\n\t\t}\n\n\t\tSci::Position posMatch = -1;\n\t\tif (matched) {\n\t\t\tposMatch = search.bopat[0];\n\t\t\t*length = search.eopat[0] - search.bopat[0];\n\t\t}\n\t\t// Example - search in doc/ScintillaHistory.html for\n\t\t// [[:upper:]]eta[[:space:]]\n\t\t// On MacBook, normally around 1 second but with locale imbued -> 14 seconds.\n\t\t//const double durSearch = ep.Duration(true);\n\t\t//Platform::DebugPrintf(\"Search:%9.6g \\n\", durSearch);\n\t\treturn posMatch;\n\t} catch (std::regex_error &) {\n\t\t// Failed to create regular expression\n\t\tthrow RegexError();\n\t} catch (...) {\n\t\t// Failed in some other way\n\t\treturn -1;\n\t}\n}\n\n#endif\n\n}\n\n//这个函数不使用了，使用了boost的正则表达式。之前试图修正这里的不足，发现是个大坑。\nSci::Position BuiltinRegex::FindText(Document *doc, Sci::Position minPos, Sci::Position maxPos, const char *s,\n                        bool caseSensitive, bool, bool, int flags,\n                        Sci::Position *length) {\n\n#ifndef NO_CXX11_REGEX\n\tif (flags & SCFIND_CXX11REGEX) {\n\t\t\treturn Cxx11RegexFindText(doc, minPos, maxPos, s,\n\t\t\tcaseSensitive, length, search);\n\t}\n#endif\n\n\tconst RESearchRange resr(doc, minPos, maxPos);\n\n\tconst bool posix = (flags & SCFIND_POSIX) != 0;\n\n#ifdef REGEX_EXTERN\n\tQByteArray cheakStr(s);\n\n\tint cheakLineTail = 0;\n\tbool isExistTAIL = false;\n\t//检查是否存在\\\\r \\\\n等字符\n\n\tbool isExistCR = false;\n\tbool isExistLF = false;\n\tbool isNeedCheckTail = false;\n\tint lineTail = 0;\n\n\tisExistCR = cheakStr.contains(\"\\\\r\");\n\tisExistLF = cheakStr.contains(\"\\\\n\");\n\n\t//lineTail: \\r\\n 返回5 \\n 返回1 \\r返回2 其它值错误\n\tif (cheakStr.contains(\"$\"))\n\t{\n\t\tisExistTAIL = true;\n\n\t\tif (cheakStr.endsWith(\"$\"))\n\t\t{\n\t\t\tcheakLineTail = 0;\n\t\t}\n\t\telse if (cheakStr.endsWith(\"$\\\\r\\\\n\"))\n\t\t{\n\t\t\tcheakLineTail = 5;\n\t\t\tcheakStr.remove(cheakStr.size() - 4,4);\n\n\t\t\t*length -= 4;\n\t\t}\n\t\telse if (cheakStr.endsWith(\"$\\\\n\"))\n\t\t{\n\t\t\tcheakLineTail = 1;\n\t\t\tcheakStr.remove(cheakStr.size() - 2, 2);\n\n\t\t\t*length -= 2;\n\t\t}\n\t\telse if (cheakStr.endsWith(\"$\\\\r\"))\n\t\t{\n\t\t\tcheakLineTail = 2;\n\t\t\tcheakStr.remove(cheakStr.size() - 2, 2);\n\n\t\t\t*length -= 2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t//不用查找了，肯定是错误。因为目前不能跨越多行进行查找\n\t\t\t*length = 0;\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\n\t//这里原本有问题。如果是^$\\r\\n这种，不能检测到行尾的\\r\\n。所有对于行尾的\\r\\n要单独补全这部分逻辑\n\t//因为人们习惯的^$是不包含行尾的\\r\\n，但是实际中又需要进行对\\r\\n的处理\n\tconst char *errmsg = search.Compile(cheakStr.data(), *length, caseSensitive, posix);\n#else\n\tconst char *errmsg = search.Compile(s, *length, caseSensitive, posix);\n#endif\n\tif (errmsg) {\n\t\treturn -1;\n\t}\n\n\t// Find a variable in a property file: \\$(\\([A-Za-z0-9_.]+\\))\n\t// Replace first '.' with '-' in each property file variable reference:\n\t//     Search: \\$(\\([A-Za-z0-9_-]+\\)\\.\\([A-Za-z0-9_.]+\\))\n\t//     Replace: $(\\1-\\2)\n\tSci::Position pos = -1;\n\tSci::Position lenRet = 0;\n\tconst bool searchforLineStart = s[0] == '^';\n\tconst char searchEnd = s[*length - 1];\n\tconst char searchEndPrev = (*length > 1) ? s[*length - 2] : '\\0';\n\tconst bool searchforLineEnd = (searchEnd == '$') && (searchEndPrev != '\\\\');\n\tfor (Sci::Line line = resr.lineRangeStart; line != resr.lineRangeBreak; line += resr.increment) {\n\t\tSci::Position startOfLine = doc->LineStart(line);\n\n#ifdef REGEX_EXTERN\n\t\t//如果存在\\r \\n等字符，则不能忽略当前行尾的\\r\\n等字符，否则查询不到。\n\t\tSci::Position endOfLine = 0;\n\t\t\n\t\t\n\t\tif (!isExistCR && !isExistLF) //不存在\\r\\n 不需要检查尾部符号\n\t\t{\n\t\t\tendOfLine = doc->LineEnd(line);\n\t\t}\n\t\telse if (!isExistTAIL && (isExistCR || isExistLF))//不存在$，但是存在\\r\\n 。要检查尾巴符号\n\t\t{\n\t\t\tendOfLine = doc->LineStart(line + 1);\n\t\t}\n\t\telse if (isExistTAIL && (isExistCR || isExistLF)) \n\t\t{\n\t\t\t//即存在$，也存在\\r\\n，此时最麻烦。不能检查尾巴，因为$实际在\\r\\n的后面\n\t\t\t//这是当前使用的正则库本身存在的机制。需要在对比完成后，手动检查尾巴后面的字符是不是匹配\\r \\n\n\t\t\t//lineTail: \\r\\n 返回5 \\n 返回1 \\r返回2 其它值错误\n\t\t\t//Sci_Position SCI_METHOD Document::LineEnd(Sci_Position line, int &lineTail) const {\n\t\t\tendOfLine = doc->LineEnd(line, lineTail);\n\t\t\tisNeedCheckTail = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tendOfLine = doc->LineEnd(line);\n\t\t}\n#else\n\t\tSci::Position endOfLine = doc->LineEnd(line);\n#endif\n\n\t\tif (resr.increment == 1) {\n\t\t\tif (line == resr.lineRangeStart) {\n\t\t\t\tif ((resr.startPos != startOfLine) && searchforLineStart)\n\t\t\t\t\tcontinue;\t// Can't match start of line if start position after start of line\n\t\t\t\tstartOfLine = resr.startPos;\n\t\t\t}\n\t\t\tif (line == resr.lineRangeEnd) {\n\t\t\t\tif ((resr.endPos != endOfLine) && searchforLineEnd)\n\t\t\t\t\tcontinue;\t// Can't match end of line if end position before end of line\n\t\t\t\tendOfLine = resr.endPos;\n\t\t\t}\n\t\t} else {\n\t\t\tif (line == resr.lineRangeEnd) {\n\t\t\t\tif ((resr.endPos != startOfLine) && searchforLineStart)\n\t\t\t\t\tcontinue;\t// Can't match start of line if end position after start of line\n\t\t\t\tstartOfLine = resr.endPos;\n\t\t\t}\n\t\t\tif (line == resr.lineRangeStart) {\n\t\t\t\tif ((resr.startPos != endOfLine) && searchforLineEnd)\n\t\t\t\t\tcontinue;\t// Can't match end of line if start position before end of line\n\t\t\t\tendOfLine = resr.startPos;\n\t\t\t}\n\t\t}\n\n\t\tconst DocumentIndexer di(doc, endOfLine);\n\t\tint success = search.Execute(di, startOfLine, endOfLine);\n\t\tif (success) {\n\t\t\tpos = search.bopat[0];\n\t\t\t// Ensure only whole characters selected\n\t\t\tsearch.eopat[0] = doc->MovePositionOutsideChar(search.eopat[0], 1, false);\n\t\t\tlenRet = search.eopat[0] - search.bopat[0];\n\t\t\t// There can be only one start of a line, so no need to look for last match in line\n\t\t\tif ((resr.increment == -1) && !searchforLineStart) {\n\t\t\t\t// Check for the last match on this line.\n\t\t\t\tint repetitions = 1000;\t// Break out of infinite loop\n\t\t\t\twhile (success && (search.eopat[0] <= endOfLine) && (repetitions--)) {\n\t\t\t\t\tsuccess = search.Execute(di, pos+1, endOfLine);\n\t\t\t\t\tif (success) {\n\t\t\t\t\t\tif (search.eopat[0] <= minPos) {\n\t\t\t\t\t\t\tpos = search.bopat[0];\n\t\t\t\t\t\t\tlenRet = search.eopat[0] - search.bopat[0];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsuccess = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n#ifdef REGEX_EXTERN\n\t//查找到了，但是需要check尾巴后面两个字符\n\tif ((pos != -1) && (isNeedCheckTail))\n\t{\n\t\n\t\t\t//lineTail: \\r\\n 返回5 \\n 返回1 \\r返回2 其它值错误\n\t\tif (cheakLineTail == lineTail)\n\t\t{\n\t\t\tif(cheakLineTail == 5)\n\t\t\t\tlenRet += 2;\n\t\t\telse if(cheakLineTail == 1 || cheakLineTail == 2)\n\t\t\t\tlenRet += 1;\n\t\t}\n\t\telse if ((lineTail == 5) && (cheakLineTail == 2))\n\t\t{\n\t\t\t//查找\\r，但行实际是\\r\\n，有一个包含关系\n\t\t\tlenRet += 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpos = -1;//如果尾巴不匹配，统一算没有找到\n\t\t}\n\t}\n#endif\n\n\t*length = lenRet;\n\treturn pos;\n}\n\nconst char *BuiltinRegex::SubstituteByPosition(Document *doc, const char *text, Sci::Position *length) {\n\tsubstituted.clear();\n\tconst DocumentIndexer di(doc, doc->Length());\n\tsearch.GrabMatches(di);\n\tfor (int j = 0; j < *length; j++) {\n\t\tif (text[j] == '\\\\') {\n\t\t\tif (text[j + 1] >= '0' && text[j + 1] <= '9') {\n\t\t\t\tconst unsigned int patNum = text[j + 1] - '0';\n\t\t\t\tconst Sci::Position len = search.eopat[patNum] - search.bopat[patNum];\n\t\t\t\tif (!search.pat[patNum].empty())\t// Will be null if try for a match that did not occur\n\t\t\t\t\tsubstituted.append(search.pat[patNum].c_str(), len);\n\t\t\t\tj++;\n\t\t\t} else {\n\t\t\t\tj++;\n\t\t\t\tswitch (text[j]) {\n\t\t\t\tcase 'a':\n\t\t\t\t\tsubstituted.push_back('\\a');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b':\n\t\t\t\t\tsubstituted.push_back('\\b');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'f':\n\t\t\t\t\tsubstituted.push_back('\\f');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'n':\n\t\t\t\t\tsubstituted.push_back('\\n');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'r':\n\t\t\t\t\tsubstituted.push_back('\\r');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 't':\n\t\t\t\t\tsubstituted.push_back('\\t');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'v':\n\t\t\t\t\tsubstituted.push_back('\\v');\n\t\t\t\t\tbreak;\n\t\t\t\tcase '\\\\':\n\t\t\t\t\tsubstituted.push_back('\\\\');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsubstituted.push_back('\\\\');\n\t\t\t\t\tj--;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tsubstituted.push_back(text[j]);\n\t\t}\n\t}\n\t*length = substituted.length();\n\treturn substituted.c_str();\n}\n\n#ifndef SCI_OWNREGEX\n\n//RegexSearchBase *Scintilla::CreateRegexSearch(CharClassify *charClassTable) {\n//\treturn createBoostRegexSearch();\n//}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Document.h",
    "content": "// Scintilla source code edit control\n/** @file Document.h\n ** Text document that handles notifications, DBCS, styling, words and end of line.\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef DOCUMENT_H\n#define DOCUMENT_H\n\nnamespace Scintilla {\n\nclass DocWatcher;\nclass DocModification;\nclass Document;\nclass LineMarkers;\nclass LineLevels;\nclass LineState;\nclass LineAnnotation;\n\nenum EncodingFamily { efEightBit, efUnicode, efDBCS };\n\n/**\n * The range class represents a range of text in a document.\n * The two values are not sorted as one end may be more significant than the other\n * as is the case for the selection where the end position is the position of the caret.\n * If either position is invalidPosition then the range is invalid and most operations will fail.\n */\nclass Range {\npublic:\n\tSci::Position start;\n\tSci::Position end;\n\n\texplicit Range(Sci::Position pos=0) noexcept :\n\t\tstart(pos), end(pos) {\n\t}\n\tRange(Sci::Position start_, Sci::Position end_) noexcept :\n\t\tstart(start_), end(end_) {\n\t}\n\n\tbool operator==(const Range &other) const noexcept {\n\t\treturn (start == other.start) && (end == other.end);\n\t}\n\n\tbool Valid() const noexcept {\n\t\treturn (start != Sci::invalidPosition) && (end != Sci::invalidPosition);\n\t}\n\n\tSci::Position First() const noexcept {\n\t\treturn (start <= end) ? start : end;\n\t}\n\n\tSci::Position Last() const noexcept {\n\t\treturn (start > end) ? start : end;\n\t}\n\n\t// Is the position within the range?\n\tbool Contains(Sci::Position pos) const noexcept {\n\t\tif (start < end) {\n\t\t\treturn (pos >= start && pos <= end);\n\t\t} else {\n\t\t\treturn (pos <= start && pos >= end);\n\t\t}\n\t}\n\n\t// Is the character after pos within the range?\n\tbool ContainsCharacter(Sci::Position pos) const noexcept {\n\t\tif (start < end) {\n\t\t\treturn (pos >= start && pos < end);\n\t\t} else {\n\t\t\treturn (pos < start && pos >= end);\n\t\t}\n\t}\n\n\tbool Contains(Range other) const noexcept {\n\t\treturn Contains(other.start) && Contains(other.end);\n\t}\n\n\tbool Overlaps(Range other) const noexcept {\n\t\treturn\n\t\tContains(other.start) ||\n\t\tContains(other.end) ||\n\t\tother.Contains(start) ||\n\t\tother.Contains(end);\n\t}\n};\n\n/**\n * Interface class for regular expression searching\n */\nclass RegexSearchBase {\npublic:\n\tvirtual ~RegexSearchBase() {}\n\n\tvirtual Sci::Position FindText(Document *doc, Sci::Position minPos, Sci::Position maxPos, const char *s,\n                        bool caseSensitive, bool word, bool wordStart, int flags, Sci::Position *length) = 0;\n\n\t///@return String with the substitutions, must remain valid until the next call or destruction\n\tvirtual const char *SubstituteByPosition(Document *doc, const char *text, Sci::Position *length) = 0;\n};\n\n/// Factory function for RegexSearchBase\nextern RegexSearchBase *CreateRegexSearch();\n\nstruct StyledText {\n\tsize_t length;\n\tconst char *text;\n\tbool multipleStyles;\n\tsize_t style;\n\tconst unsigned char *styles;\n\tStyledText(size_t length_, const char *text_, bool multipleStyles_, int style_, const unsigned char *styles_) noexcept :\n\t\tlength(length_), text(text_), multipleStyles(multipleStyles_), style(style_), styles(styles_) {\n\t}\n\t// Return number of bytes from start to before '\\n' or end of text.\n\t// Return 1 when start is outside text\n\tsize_t LineLength(size_t start) const noexcept {\n\t\tsize_t cur = start;\n\t\twhile ((cur < length) && (text[cur] != '\\n'))\n\t\t\tcur++;\n\t\treturn cur-start;\n\t}\n\tsize_t StyleAt(size_t i) const noexcept {\n\t\treturn multipleStyles ? styles[i] : style;\n\t}\n};\n\nclass HighlightDelimiter {\npublic:\n\tHighlightDelimiter() : isEnabled(false) {\n\t\tClear();\n\t}\n\n\tvoid Clear() {\n\t\tbeginFoldBlock = -1;\n\t\tendFoldBlock = -1;\n\t\tfirstChangeableLineBefore = -1;\n\t\tfirstChangeableLineAfter = -1;\n\t}\n\n\tbool NeedsDrawing(Sci::Line line) const {\n\t\treturn isEnabled && (line <= firstChangeableLineBefore || line >= firstChangeableLineAfter);\n\t}\n\n\tbool IsFoldBlockHighlighted(Sci::Line line) const {\n\t\treturn isEnabled && beginFoldBlock != -1 && beginFoldBlock <= line && line <= endFoldBlock;\n\t}\n\n\tbool IsHeadOfFoldBlock(Sci::Line line) const {\n\t\treturn beginFoldBlock == line && line < endFoldBlock;\n\t}\n\n\tbool IsBodyOfFoldBlock(Sci::Line line) const {\n\t\treturn beginFoldBlock != -1 && beginFoldBlock < line && line < endFoldBlock;\n\t}\n\n\tbool IsTailOfFoldBlock(Sci::Line line) const {\n\t\treturn beginFoldBlock != -1 && beginFoldBlock < line && line == endFoldBlock;\n\t}\n\n\tSci::Line beginFoldBlock;\t// Begin of current fold block\n\tSci::Line endFoldBlock;\t// End of current fold block\n\tSci::Line firstChangeableLineBefore;\t// First line that triggers repaint before starting line that determined current fold block\n\tSci::Line firstChangeableLineAfter;\t// First line that triggers repaint after starting line that determined current fold block\n\tbool isEnabled;\n};\n\ninline int LevelNumber(int level) noexcept {\n\treturn level & SC_FOLDLEVELNUMBERMASK;\n}\n\nclass LexInterface {\nprotected:\n\tDocument *pdoc;\n\tILexer *instance;\n\tbool performingStyle;\t///< Prevent reentrance\npublic:\n\texplicit LexInterface(Document *pdoc_) : pdoc(pdoc_), instance(nullptr), performingStyle(false) {\n\t}\n\tvirtual ~LexInterface() {\n\t}\n\tvoid Colourise(Sci::Position start, Sci::Position end);\n\tvirtual int LineEndTypesSupported();\n\tbool UseContainerLexing() const {\n\t\treturn instance == nullptr;\n\t}\n};\n\nstruct RegexError : public std::runtime_error {\n\tRegexError() : std::runtime_error(\"regex failure\") {}\n};\n\n/**\n * The ActionDuration class stores the average time taken for some action such as styling or\n * wrapping a line. It is used to decide how many repetitions of that action can be performed\n * on idle to maximize efficiency without affecting application responsiveness.\n * The duration changes if the time for the action changes. For example, if a simple lexer is\n * changed to a complex lexer. Changes are damped and clamped to avoid short periods of easy\n * or difficult processing moving the value too far leading to inefficiency or poor user\n * experience.\n */\n\nclass ActionDuration {\n\tdouble duration;\n\tconst double minDuration;\n\tconst double maxDuration;\npublic:\n\tActionDuration(double duration_, double minDuration_, double maxDuration_) noexcept;\n\tvoid AddSample(size_t numberActions, double durationOfActions) noexcept;\n\tdouble Duration() const noexcept;\n};\n\n/**\n */\nclass Document : PerLine, public IDocumentWithLineEnd, public ILoader {\n\npublic:\n\t/** Used to pair watcher pointer with user data. */\n\tstruct WatcherWithUserData {\n\t\tDocWatcher *watcher;\n\t\tvoid *userData;\n\t\tWatcherWithUserData(DocWatcher *watcher_=nullptr, void *userData_=nullptr) noexcept :\n\t\t\twatcher(watcher_), userData(userData_) {\n\t\t}\n\t\tbool operator==(const WatcherWithUserData &other) const noexcept {\n\t\t\treturn (watcher == other.watcher) && (userData == other.userData);\n\t\t}\n\t};\n\nprivate:\n\tint refCount;\n\tCellBuffer cb;\n\tCharClassify charClass;\n\tstd::unique_ptr<CaseFolder> pcf;\n\tSci::Position endStyled;\n\tint styleClock;\n\tint enteredModification;\n\tint enteredStyling;\n\tint enteredReadOnlyCount;\n\n\tbool insertionSet;\n\tstd::string insertion;\n\n\tstd::vector<WatcherWithUserData> watchers;\n\n\t// ldSize is not real data - it is for dimensions and loops\n\tenum lineData { ldMarkers, ldLevels, ldState, ldMargin, ldAnnotation, ldSize };\n\tstd::unique_ptr<PerLine> perLineData[ldSize];\n\tLineMarkers *Markers() const;\n\tLineLevels *Levels() const;\n\tLineState *States() const;\n\tLineAnnotation *Margins() const;\n\tLineAnnotation *Annotations() const;\n\n\tbool matchesValid;\n\tstd::unique_ptr<RegexSearchBase> regex;\n\tstd::unique_ptr<LexInterface> pli;\n\npublic:\n\n\tstruct CharacterExtracted {\n\t\tunsigned int character;\n\t\tunsigned int widthBytes;\n\t\tCharacterExtracted(unsigned int character_, unsigned int widthBytes_) noexcept :\n\t\t\tcharacter(character_), widthBytes(widthBytes_) {\n\t\t}\n\t\t// For DBCS characters turn 2 bytes into an int\n\t\tstatic CharacterExtracted DBCS(unsigned char lead, unsigned char trail) noexcept {\n\t\t\treturn CharacterExtracted((lead << 8) | trail, 2);\n\t\t}\n\t};\n\n\tint eolMode;\n\t/// Can also be SC_CP_UTF8 to enable UTF-8 mode\n\tint dbcsCodePage;\n\tint lineEndBitSet;\n\tint tabInChars;\n\tint indentInChars;\n\tint actualIndentInChars;\n\tbool useTabs;\n\tbool tabIndents;\n\tbool backspaceUnindents;\n\tActionDuration durationStyleOneLine;\n\n\tstd::unique_ptr<IDecorationList> decorations;\n\n\tDocument(int options);\n\t// Deleted so Document objects can not be copied.\n\tDocument(const Document &) = delete;\n\tDocument(Document &&) = delete;\n\tvoid operator=(const Document &) = delete;\n\tDocument &operator=(Document &&) = delete;\n\t~Document() override;\n\n\tint AddRef();\n\tint SCI_METHOD Release() override;\n\n\t// From PerLine\n\tvoid Init() override;\n\tvoid InsertLine(Sci::Line line) override;\n\tvoid RemoveLine(Sci::Line line) override;\n\n\tint LineEndTypesSupported() const;\n\tbool SetDBCSCodePage(int dbcsCodePage_);\n\tint GetLineEndTypesAllowed() const { return cb.GetLineEndTypes(); }\n\tbool SetLineEndTypesAllowed(int lineEndBitSet_);\n\tint GetLineEndTypesActive() const { return cb.GetLineEndTypes(); }\n\n\tint SCI_METHOD Version() const override {\n\t\treturn dvLineEnd;\n\t}\n\n\tvoid SCI_METHOD SetErrorStatus(int status) override;\n\n\tSci_Position SCI_METHOD LineFromPosition(Sci_Position pos) const override;\n\tSci::Line SciLineFromPosition(Sci::Position pos) const noexcept;\t// Avoids casting LineFromPosition\n\tSci::Position ClampPositionIntoDocument(Sci::Position pos) const;\n\tbool ContainsLineEnd(const char *s, Sci::Position length) const { return cb.ContainsLineEnd(s, length); }\n\tbool IsCrLf(Sci::Position pos) const;\n\tint LenChar(Sci::Position pos);\n\tbool InGoodUTF8(Sci::Position pos, Sci::Position &start, Sci::Position &end) const noexcept;\n\tSci::Position MovePositionOutsideChar(Sci::Position pos, Sci::Position moveDir, bool checkLineEnd=true) const;\n\tSci::Position NextPosition(Sci::Position pos, int moveDir) const noexcept;\n\tbool NextCharacter(Sci::Position &pos, int moveDir) const noexcept;\t// Returns true if pos changed\n\tDocument::CharacterExtracted CharacterAfter(Sci::Position position) const;\n\tDocument::CharacterExtracted CharacterBefore(Sci::Position position) const;\n\tSci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const override;\n\tSci::Position GetRelativePositionUTF16(Sci::Position positionStart, Sci::Position characterOffset) const;\n\tint SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const override;\n\tint SCI_METHOD CodePage() const override;\n\tbool SCI_METHOD IsDBCSLeadByte(char ch) const override;\n\tbool IsDBCSLeadByteNoExcept(char ch) const noexcept;\n\tbool IsDBCSLeadByteInvalid(char ch) const noexcept;\n\tbool IsDBCSTrailByteInvalid(char ch) const noexcept;\n\tint DBCSDrawBytes(const char *text, int len) const noexcept;\n\tint SafeSegment(const char *text, int length, int lengthSegment) const noexcept;\n\tEncodingFamily CodePageFamily() const noexcept;\n\n\t// Gateways to modifying document\n\tvoid ModifiedAt(Sci::Position pos) noexcept;\n\tvoid CheckReadOnly();\n\tbool DeleteChars(Sci::Position pos, Sci::Position len);\n\tSci::Position InsertString(Sci::Position position, const char *s, Sci::Position insertLength);\n\tvoid ChangeInsertion(const char *s, Sci::Position length);\n\tint SCI_METHOD AddData(const char *data, Sci_Position length) override;\n\tvoid * SCI_METHOD ConvertToDocument() override;\n\tSci::Position Undo();\n\tSci::Position Redo();\n\tbool CanUndo() const { return cb.CanUndo(); }\n\tbool CanRedo() const { return cb.CanRedo(); }\n\tvoid DeleteUndoHistory() { cb.DeleteUndoHistory(); }\n\tbool SetUndoCollection(bool collectUndo) {\n\t\treturn cb.SetUndoCollection(collectUndo);\n\t}\n\tbool IsCollectingUndo() const { return cb.IsCollectingUndo(); }\n\tvoid BeginUndoAction() { cb.BeginUndoAction(); }\n\tvoid EndUndoAction() { cb.EndUndoAction(); }\n\tvoid AddUndoAction(Sci::Position token, bool mayCoalesce) { cb.AddUndoAction(token, mayCoalesce); }\n\tvoid SetSavePoint();\n\tbool IsSavePoint() const { return cb.IsSavePoint(); }\n\n\tvoid TentativeStart() { cb.TentativeStart(); }\n\tvoid TentativeCommit() { cb.TentativeCommit(); }\n\tvoid TentativeUndo();\n\tbool TentativeActive() const { return cb.TentativeActive(); }\n\n\tconst char * SCI_METHOD BufferPointer() override { return cb.BufferPointer(); }\n\tconst char *RangePointer(Sci::Position position, Sci::Position rangeLength) { return cb.RangePointer(position, rangeLength); }\n\tSci::Position GapPosition() const { return cb.GapPosition(); }\n\n\tint SCI_METHOD GetLineIndentation(Sci_Position line) override;\n\tSci::Position SetLineIndentation(Sci::Line line, Sci::Position indent);\n\tSci::Position GetLineIndentPosition(Sci::Line line) const;\n\tSci::Position GetColumn(Sci::Position pos);\n\tSci::Position CountCharacters(Sci::Position startPos, Sci::Position endPos) const;\n\tSci::Position CountUTF16(Sci::Position startPos, Sci::Position endPos) const;\n\tSci::Position FindColumn(Sci::Line line, Sci::Position column);\n\tvoid Indent(bool forwards, Sci::Line lineBottom, Sci::Line lineTop);\n\tstatic std::string TransformLineEnds(const char *s, size_t len, int eolModeWanted);\n\tvoid ConvertLineEnds(int eolModeSet);\n\tvoid SetReadOnly(bool set) { cb.SetReadOnly(set); }\n\tbool IsReadOnly() const { return cb.IsReadOnly(); }\n\tbool IsLarge() const { return cb.IsLarge(); }\n\tint Options() const;\n\n\tvoid DelChar(Sci::Position pos);\n\tvoid DelCharBack(Sci::Position pos);\n\n\tchar CharAt(Sci::Position position) const noexcept { return cb.CharAt(position); }\n\tvoid SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const override {\n\t\tcb.GetCharRange(buffer, position, lengthRetrieve);\n\t}\n\tchar SCI_METHOD StyleAt(Sci_Position position) const override { return cb.StyleAt(position); }\n\tint StyleIndexAt(Sci_Position position) const noexcept { return static_cast<unsigned char>(cb.StyleAt(position)); }\n\tvoid GetStyleRange(unsigned char *buffer, Sci::Position position, Sci::Position lengthRetrieve) const {\n\t\tcb.GetStyleRange(buffer, position, lengthRetrieve);\n\t}\n\tint GetMark(Sci::Line line) const;\n\tSci::Line MarkerNext(Sci::Line lineStart, int mask) const;\n\tint AddMark(Sci::Line line, int markerNum);\n\tvoid AddMarkSet(Sci::Line line, int valueSet);\n\tvoid DeleteMark(Sci::Line line, int markerNum);\n\tvoid DeleteMark(Sci::Line line);\n\tvoid DeleteMarkFromHandle(int markerHandle);\n\tvoid DeleteAllMarks(int markerNum);\n\tSci::Line LineFromHandle(int markerHandle) const;\n\tSci_Position SCI_METHOD LineStart(Sci_Position line) const override;\n\tbool IsLineStartPosition(Sci::Position position) const;\n\tSci_Position SCI_METHOD LineEnd(Sci_Position line) const override;\n#ifdef REGEX_EXTERN\n\tSci_Position SCI_METHOD LineEnd(Sci_Position line, int &lineTail) const;\n#endif\n\tSci::Position LineEndPosition(Sci::Position position) const;\n\tbool IsLineEndPosition(Sci::Position position) const;\n\tbool IsPositionInLineEnd(Sci::Position position) const;\n\tSci::Position VCHomePosition(Sci::Position position) const;\n\tSci::Position IndexLineStart(Sci::Line line, int lineCharacterIndex) const;\n\tSci::Line LineFromPositionIndex(Sci::Position pos, int lineCharacterIndex) const;\n\n\tint SCI_METHOD SetLevel(Sci_Position line, int level) override;\n\tint SCI_METHOD GetLevel(Sci_Position line) const override;\n\tvoid ClearLevels();\n\tSci::Line GetLastChild(Sci::Line lineParent, int level=-1, Sci::Line lastLine=-1);\n\tSci::Line GetFoldParent(Sci::Line line) const;\n\tvoid GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, Sci::Line line, Sci::Line lastLine);\n\n\tSci::Position ExtendWordSelect(Sci::Position pos, int delta, bool onlyWordCharacters=false) const;\n\tSci::Position NextWordStart(Sci::Position pos, int delta) const;\n\tSci::Position NextWordEnd(Sci::Position pos, int delta) const;\n\tSci_Position SCI_METHOD Length() const override { return cb.Length(); }\n\tvoid Allocate(Sci::Position newSize) { cb.Allocate(newSize); }\n\n\tCharacterExtracted ExtractCharacter(Sci::Position position) const noexcept;\n\n\tbool IsWordStartAt(Sci::Position pos) const;\n\tbool IsWordEndAt(Sci::Position pos) const;\n\tbool IsWordAt(Sci::Position start, Sci::Position end) const;\n\n\tbool MatchesWordOptions(bool word, bool wordStart, Sci::Position pos, Sci::Position length) const;\n\tbool HasCaseFolder() const noexcept;\n\tvoid SetCaseFolder(CaseFolder *pcf_);\n\tSci::Position FindText(Sci::Position minPos, Sci::Position maxPos, const char *search, int flags, Sci::Position *length);\n\tconst char *SubstituteByPosition(const char *text, Sci::Position *length);\n\tint LineCharacterIndex() const;\n\tvoid AllocateLineCharacterIndex(int lineCharacterIndex);\n\tvoid ReleaseLineCharacterIndex(int lineCharacterIndex);\n\tSci::Line LinesTotal() const noexcept;\n\n\tvoid SetDefaultCharClasses(bool includeWordClass);\n\tvoid SetCharClasses(const unsigned char *chars, CharClassify::cc newCharClass);\n\tint GetCharsOfClass(CharClassify::cc characterClass, unsigned char *buffer) const;\n\tvoid SCI_METHOD StartStyling(Sci_Position position, char mask) override;\n\tbool SCI_METHOD SetStyleFor(Sci_Position length, char style) override;\n\tbool SCI_METHOD SetStyles(Sci_Position length, const char *styles) override;\n\tSci::Position GetEndStyled() const noexcept { return endStyled; }\n\tvoid EnsureStyledTo(Sci::Position pos);\n\tvoid StyleToAdjustingLineDuration(Sci::Position pos);\n\tvoid LexerChanged();\n\tint GetStyleClock() const noexcept { return styleClock; }\n\tvoid IncrementStyleClock() noexcept;\n\tvoid SCI_METHOD DecorationSetCurrentIndicator(int indicator) override;\n\tvoid SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) override;\n\tLexInterface *GetLexInterface() const;\n\tvoid SetLexInterface(LexInterface *pLexInterface);\n\n\tint SCI_METHOD SetLineState(Sci_Position line, int state) override;\n\tint SCI_METHOD GetLineState(Sci_Position line) const override;\n\tSci::Line GetMaxLineState() const;\n\tvoid SCI_METHOD ChangeLexerState(Sci_Position start, Sci_Position end) override;\n\n\tStyledText MarginStyledText(Sci::Line line) const;\n\tvoid MarginSetStyle(Sci::Line line, int style);\n\tvoid MarginSetStyles(Sci::Line line, const unsigned char *styles);\n\tvoid MarginSetText(Sci::Line line, const char *text);\n\tvoid MarginClearAll();\n\n\tStyledText AnnotationStyledText(Sci::Line line) const;\n\tvoid AnnotationSetText(Sci::Line line, const char *text);\n\tvoid AnnotationSetStyle(Sci::Line line, int style);\n\tvoid AnnotationSetStyles(Sci::Line line, const unsigned char *styles);\n\tint AnnotationLines(Sci::Line line) const;\n\tvoid AnnotationClearAll();\n\n\tbool AddWatcher(DocWatcher *watcher, void *userData);\n\tbool RemoveWatcher(DocWatcher *watcher, void *userData);\n\n\tbool IsASCIIWordByte(unsigned char ch) const;\n\tCharClassify::cc WordCharacterClass(unsigned int ch) const;\n\tbool IsWordPartSeparator(unsigned int ch) const;\n\tSci::Position WordPartLeft(Sci::Position pos) const;\n\tSci::Position WordPartRight(Sci::Position pos) const;\n\tSci::Position ExtendStyleRange(Sci::Position pos, int delta, bool singleLine = false);\n\tbool IsWhiteLine(Sci::Line line) const;\n\tSci::Position ParaUp(Sci::Position pos) const;\n\tSci::Position ParaDown(Sci::Position pos) const;\n\tint IndentSize() const noexcept { return actualIndentInChars; }\n\tSci::Position BraceMatch(Sci::Position position, Sci::Position maxReStyle);\n\nprivate:\n\tvoid NotifyModifyAttempt();\n\tvoid NotifySavePoint(bool atSavePoint);\n\tvoid NotifyModified(DocModification mh);\n};\n\nclass UndoGroup {\n\tDocument *pdoc;\n\tbool groupNeeded;\npublic:\n\tUndoGroup(Document *pdoc_, bool groupNeeded_=true) :\n\t\tpdoc(pdoc_), groupNeeded(groupNeeded_) {\n\t\tif (groupNeeded) {\n\t\t\tpdoc->BeginUndoAction();\n\t\t}\n\t}\n\t~UndoGroup() {\n\t\tif (groupNeeded) {\n\t\t\tpdoc->EndUndoAction();\n\t\t}\n\t}\n\tbool Needed() const noexcept {\n\t\treturn groupNeeded;\n\t}\n};\n\n\n/**\n * To optimise processing of document modifications by DocWatchers, a hint is passed indicating the\n * scope of the change.\n * If the DocWatcher is a document view then this can be used to optimise screen updating.\n */\nclass DocModification {\npublic:\n\tint modificationType;\n\tSci::Position position;\n\tSci::Position length;\n\tSci::Line linesAdded;\t/**< Negative if lines deleted. */\n\tconst char *text;\t/**< Only valid for changes to text, not for changes to style. */\n\tSci::Line line;\n\tint foldLevelNow;\n\tint foldLevelPrev;\n\tSci::Line annotationLinesAdded;\n\tSci::Position token;\n\n\tDocModification(int modificationType_, Sci::Position position_=0, Sci::Position length_=0,\n\t\tSci::Line linesAdded_=0, const char *text_=nullptr, Sci::Line line_=0) noexcept :\n\t\tmodificationType(modificationType_),\n\t\tposition(position_),\n\t\tlength(length_),\n\t\tlinesAdded(linesAdded_),\n\t\ttext(text_),\n\t\tline(line_),\n\t\tfoldLevelNow(0),\n\t\tfoldLevelPrev(0),\n\t\tannotationLinesAdded(0),\n\t\ttoken(0) {}\n\n\tDocModification(int modificationType_, const Action &act, Sci::Line linesAdded_=0) noexcept :\n\t\tmodificationType(modificationType_),\n\t\tposition(act.position),\n\t\tlength(act.lenData),\n\t\tlinesAdded(linesAdded_),\n\t\ttext(act.data.get()),\n\t\tline(0),\n\t\tfoldLevelNow(0),\n\t\tfoldLevelPrev(0),\n\t\tannotationLinesAdded(0),\n\t\ttoken(0) {}\n};\n\n/**\n * A class that wants to receive notifications from a Document must be derived from DocWatcher\n * and implement the notification methods. It can then be added to the watcher list with AddWatcher.\n */\nclass DocWatcher {\npublic:\n\tvirtual ~DocWatcher() {}\n\n\tvirtual void NotifyModifyAttempt(Document *doc, void *userData) = 0;\n\tvirtual void NotifySavePoint(Document *doc, void *userData, bool atSavePoint) = 0;\n\tvirtual void NotifyModified(Document *doc, DocModification mh, void *userData) = 0;\n\tvirtual void NotifyDeleted(Document *doc, void *userData) = 0;\n\tvirtual void NotifyStyleNeeded(Document *doc, void *userData, Sci::Position endPos) = 0;\n\tvirtual void NotifyLexerChanged(Document *doc, void *userData) = 0;\n\tvirtual void NotifyErrorOccurred(Document *doc, void *userData, int status) = 0;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/EditModel.cpp",
    "content": "// Scintilla source code edit control\n/** @file EditModel.cxx\n ** Defines the editor state that must be visible to EditorView.\n **/\n// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"ContractionState.h\"\n#include \"CellBuffer.h\"\n#include \"KeyMap.h\"\n#include \"Indicator.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"UniConversion.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n#include \"EditModel.h\"\n\nusing namespace Scintilla;\n\nCaret::Caret() :\n\tactive(false), on(false), period(500) {}\n\nEditModel::EditModel() : braces{} {\n\tinOverstrike = false;\n\txOffset = 0;\n\ttrackLineWidth = false;\n\tposDrag = SelectionPosition(Sci::invalidPosition);\n\tbraces[0] = Sci::invalidPosition;\n\tbraces[1] = Sci::invalidPosition;\n\tbracesMatchStyle = STYLE_BRACEBAD;\n\thighlightGuideColumn = 0;\n\tprimarySelection = true;\n\timeInteraction = imeWindowed;\n\tfoldFlags = 0;\n\tfoldDisplayTextStyle = SC_FOLDDISPLAYTEXT_HIDDEN;\n\thotspot = Range(Sci::invalidPosition);\n\thoverIndicatorPos = Sci::invalidPosition;\n\twrapWidth = LineLayout::wrapWidthInfinite;\n\tpdoc = new Document(SC_DOCUMENTOPTION_DEFAULT);\n\tpdoc->AddRef();\n\tpcs = ContractionStateCreate(pdoc->IsLarge());\n}\n\nEditModel::~EditModel() {\n\tpdoc->Release();\n\tpdoc = nullptr;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/EditModel.h",
    "content": "// Scintilla source code edit control\n/** @file EditModel.h\n ** Defines the editor state that must be visible to EditorView.\n **/\n// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef EDITMODEL_H\n#define EDITMODEL_H\n\nnamespace Scintilla {\n\n/**\n*/\nclass Caret {\npublic:\n\tbool active;\n\tbool on;\n\tint period;\n\n\tCaret();\n};\n\nclass EditModel {\npublic:\n\tbool inOverstrike;\n\tint xOffset;\t\t///< Horizontal scrolled amount in pixels\n\tbool trackLineWidth;\n\n\tSpecialRepresentations reprs;\n\tCaret caret;\n\tSelectionPosition posDrag;\n\tSci::Position braces[2];\n\tint bracesMatchStyle;\n\tint highlightGuideColumn;\n\tSelection sel;\n\tbool primarySelection;\n\n\tenum IMEInteraction { imeWindowed, imeInline } imeInteraction;\n\n\tint foldFlags;\n\tint foldDisplayTextStyle;\n\tstd::unique_ptr<IContractionState> pcs;\n\t// Hotspot support\n\tRange hotspot;\n\tSci::Position hoverIndicatorPos;\n\n\t// Wrapping support\n\tint wrapWidth;\n\n\tDocument *pdoc;\n\n\tEditModel();\n\t// Deleted so EditModel objects can not be copied.\n\tEditModel(const EditModel &) = delete;\n\tEditModel(EditModel &&) = delete;\n\tEditModel &operator=(const EditModel &) = delete;\n\tEditModel &operator=(EditModel &&) = delete;\n\tvirtual ~EditModel();\n\tvirtual Sci::Line TopLineOfMain() const = 0;\n\tvirtual Point GetVisibleOriginInMain() const = 0;\n\tvirtual Sci::Line LinesOnScreen() const = 0;\n\tvirtual Range GetHotSpotRange() const = 0;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/EditView.cpp",
    "content": "﻿// Scintilla source code edit control\n/** @file EditView.cxx\n ** Defines the appearance of the main text area of the editor window.\n **/\n// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cctype>\n#include <cstdio>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <map>\n#include <forward_list>\n#include <algorithm>\n#include <iterator>\n#include <memory>\n#include <chrono>\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#include \"StringCopy.h\"\n#include \"CharacterSet.h\"\n#include \"Position.h\"\n#include \"IntegerRectangle.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"ContractionState.h\"\n#include \"CellBuffer.h\"\n#include \"PerLine.h\"\n#include \"KeyMap.h\"\n#include \"Indicator.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"UniConversion.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n#include \"EditModel.h\"\n#include \"MarginView.h\"\n#include \"EditView.h\"\n#include \"ElapsedPeriod.h\"\n\n\nusing namespace Scintilla;\n\nstatic inline bool IsControlCharacter(int ch) {\n\t// iscntrl returns true for lots of chars > 127 which are displayable\n\treturn ch >= 0 && ch < ' ';\n}\n\nPrintParameters::PrintParameters() {\n\tmagnification = 0;\n\tcolourMode = SC_PRINT_NORMAL;\n\twrapState = eWrapWord;\n}\n\nnamespace Scintilla {\n\nbool ValidStyledText(const ViewStyle &vs, size_t styleOffset, const StyledText &st) {\n\tif (st.multipleStyles) {\n\t\tfor (size_t iStyle = 0; iStyle<st.length; iStyle++) {\n\t\t\tif (!vs.ValidStyle(styleOffset + st.styles[iStyle]))\n\t\t\t\treturn false;\n\t\t}\n\t} else {\n\t\tif (!vs.ValidStyle(styleOffset + st.style))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nstatic int WidthStyledText(Surface *surface, const ViewStyle &vs, int styleOffset,\n\tconst char *text, const unsigned char *styles, size_t len) {\n\tint width = 0;\n\tsize_t start = 0;\n\twhile (start < len) {\n\t\tconst unsigned char style = styles[start];\n\t\tsize_t endSegment = start;\n\t\twhile ((endSegment + 1 < len) && (styles[endSegment + 1] == style))\n\t\t\tendSegment++;\n\t\tFontAlias fontText = vs.styles[style + styleOffset].font;\n\t\twidth += static_cast<int>(surface->WidthText(fontText, text + start,\n\t\t\tstatic_cast<int>(endSegment - start + 1)));\n\t\tstart = endSegment + 1;\n\t}\n\treturn width;\n}\n\nint WidestLineWidth(Surface *surface, const ViewStyle &vs, int styleOffset, const StyledText &st) {\n\tint widthMax = 0;\n\tsize_t start = 0;\n\twhile (start < st.length) {\n\t\tconst size_t lenLine = st.LineLength(start);\n\t\tint widthSubLine;\n\t\tif (st.multipleStyles) {\n\t\t\twidthSubLine = WidthStyledText(surface, vs, styleOffset, st.text + start, st.styles + start, lenLine);\n\t\t} else {\n\t\t\tFontAlias fontText = vs.styles[styleOffset + st.style].font;\n\t\t\twidthSubLine = static_cast<int>(surface->WidthText(fontText,\n\t\t\t\tst.text + start, static_cast<int>(lenLine)));\n\t\t}\n\t\tif (widthSubLine > widthMax)\n\t\t\twidthMax = widthSubLine;\n\t\tstart += lenLine + 1;\n\t}\n\treturn widthMax;\n}\n\nvoid DrawTextNoClipPhase(Surface *surface, PRectangle rc, const Style &style, XYPOSITION ybase,\n\tconst char *s, int len, DrawPhase phase) {\n\tFontAlias fontText = style.font;\n\tif (phase & drawBack) {\n\t\tif (phase & drawText) {\n\t\t\t// Drawing both\n\t\t\tsurface->DrawTextNoClip(rc, fontText, ybase, s, len,\n\t\t\t\tstyle.fore, style.back);\n\t\t} else {\n\t\t\tsurface->FillRectangle(rc, style.back);\n\t\t}\n\t} else if (phase & drawText) {\n\t\tsurface->DrawTextTransparent(rc, fontText, ybase, s, len, style.fore);\n\t}\n}\n\nvoid DrawStyledText(Surface *surface, const ViewStyle &vs, int styleOffset, PRectangle rcText,\n\tconst StyledText &st, size_t start, size_t length, DrawPhase phase) {\n\n\tif (st.multipleStyles) {\n\t\tint x = static_cast<int>(rcText.left);\n\t\tsize_t i = 0;\n\t\twhile (i < length) {\n\t\t\tsize_t end = i;\n\t\t\tsize_t style = st.styles[i + start];\n\t\t\twhile (end < length - 1 && st.styles[start + end + 1] == style)\n\t\t\t\tend++;\n\t\t\tstyle += styleOffset;\n\t\t\tFontAlias fontText = vs.styles[style].font;\n\t\t\tconst int width = static_cast<int>(surface->WidthText(fontText,\n\t\t\t\tst.text + start + i, static_cast<int>(end - i + 1)));\n\t\t\tPRectangle rcSegment = rcText;\n\t\t\trcSegment.left = static_cast<XYPOSITION>(x);\n\t\t\trcSegment.right = static_cast<XYPOSITION>(x + width + 1);\n\t\t\tDrawTextNoClipPhase(surface, rcSegment, vs.styles[style],\n\t\t\t\trcText.top + vs.maxAscent, st.text + start + i,\n\t\t\t\tstatic_cast<int>(end - i + 1), phase);\n\t\t\tx += width;\n\t\t\ti = end + 1;\n\t\t}\n\t} else {\n\t\tconst size_t style = st.style + styleOffset;\n\t\tDrawTextNoClipPhase(surface, rcText, vs.styles[style],\n\t\t\trcText.top + vs.maxAscent, st.text + start,\n\t\t\tstatic_cast<int>(length), phase);\n\t}\n}\n\n}\n\nconst XYPOSITION epsilon = 0.0001f;\t// A small nudge to avoid floating point precision issues\n\nEditView::EditView() {\n\ttabWidthMinimumPixels = 2; // needed for calculating tab stops for fractional proportional fonts\n\thideSelection = false;\n\tdrawOverstrikeCaret = true;\n\tbufferedDraw = true;\n\tphasesDraw = phasesTwo;\n\tlineWidthMaxSeen = 0;\n\tadditionalCaretsBlink = true;\n\tadditionalCaretsVisible = true;\n\timeCaretBlockOverride = false;\n\tllc.SetLevel(LineLayoutCache::llcCaret);\n\tposCache.SetSize(0x400);\n\ttabArrowHeight = 4;\n\tcustomDrawTabArrow = nullptr;\n\tcustomDrawWrapMarker = nullptr;\n}\n\nEditView::~EditView() {\n}\n\nbool EditView::SetTwoPhaseDraw(bool twoPhaseDraw) {\n\tconst PhasesDraw phasesDrawNew = twoPhaseDraw ? phasesTwo : phasesOne;\n\tconst bool redraw = phasesDraw != phasesDrawNew;\n\tphasesDraw = phasesDrawNew;\n\treturn redraw;\n}\n\nbool EditView::SetPhasesDraw(int phases) {\n\tconst PhasesDraw phasesDrawNew = static_cast<PhasesDraw>(phases);\n\tconst bool redraw = phasesDraw != phasesDrawNew;\n\tphasesDraw = phasesDrawNew;\n\treturn redraw;\n}\n\nbool EditView::LinesOverlap() const {\n\treturn phasesDraw == phasesMultiple;\n}\n\nvoid EditView::ClearAllTabstops() {\n\tldTabstops.reset();\n}\n\nXYPOSITION EditView::NextTabstopPos(Sci::Line line, XYPOSITION x, XYPOSITION tabWidth) const {\n\tconst int next = GetNextTabstop(line, static_cast<int>(x + tabWidthMinimumPixels));\n\tif (next > 0)\n\t\treturn static_cast<XYPOSITION>(next);\n\treturn (static_cast<int>((x + tabWidthMinimumPixels) / tabWidth) + 1) * tabWidth;\n}\n\nbool EditView::ClearTabstops(Sci::Line line) {\n\treturn ldTabstops && ldTabstops->ClearTabstops(line);\n}\n\nbool EditView::AddTabstop(Sci::Line line, int x) {\n\tif (!ldTabstops) {\n\t\tldTabstops.reset(new LineTabstops());\n\t}\n\treturn ldTabstops && ldTabstops->AddTabstop(line, x);\n}\n\nint EditView::GetNextTabstop(Sci::Line line, int x) const {\n\tif (ldTabstops) {\n\t\treturn ldTabstops->GetNextTabstop(line, x);\n\t} else {\n\t\treturn 0;\n\t}\n}\n\nvoid EditView::LinesAddedOrRemoved(Sci::Line lineOfPos, Sci::Line linesAdded) {\n\tif (ldTabstops) {\n\t\tif (linesAdded > 0) {\n\t\t\tfor (Sci::Line line = lineOfPos; line < lineOfPos + linesAdded; line++) {\n\t\t\t\tldTabstops->InsertLine(line);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (Sci::Line line = (lineOfPos + -linesAdded) - 1; line >= lineOfPos; line--) {\n\t\t\t\tldTabstops->RemoveLine(line);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid EditView::DropGraphics(bool freeObjects) {\n\tif (freeObjects) {\n\t\tpixmapLine.reset();\n\t\tpixmapIndentGuide.reset();\n\t\tpixmapIndentGuideHighlight.reset();\n\t} else {\n\t\tif (pixmapLine)\n\t\t\tpixmapLine->Release();\n\t\tif (pixmapIndentGuide)\n\t\t\tpixmapIndentGuide->Release();\n\t\tif (pixmapIndentGuideHighlight)\n\t\t\tpixmapIndentGuideHighlight->Release();\n\t}\n}\n\nvoid EditView::AllocateGraphics(const ViewStyle &vsDraw) {\n\tif (!pixmapLine)\n\t\tpixmapLine.reset(Surface::Allocate(vsDraw.technology));\n\tif (!pixmapIndentGuide)\n\t\tpixmapIndentGuide.reset(Surface::Allocate(vsDraw.technology));\n\tif (!pixmapIndentGuideHighlight)\n\t\tpixmapIndentGuideHighlight.reset(Surface::Allocate(vsDraw.technology));\n}\n\nstatic const char *ControlCharacterString(unsigned char ch) {\n\tconst char * const reps[] = {\n\t\t\"NUL\", \"SOH\", \"STX\", \"ETX\", \"EOT\", \"ENQ\", \"ACK\", \"BEL\",\n\t\t\"BS\", \"HT\", \"LF\", \"VT\", \"FF\", \"CR\", \"SO\", \"SI\",\n\t\t\"DLE\", \"DC1\", \"DC2\", \"DC3\", \"DC4\", \"NAK\", \"SYN\", \"ETB\",\n\t\t\"CAN\", \"EM\", \"SUB\", \"ESC\", \"FS\", \"GS\", \"RS\", \"US\"\n\t};\n\tif (ch < ELEMENTS(reps)) {\n\t\treturn reps[ch];\n\t} else {\n\t\treturn \"BAD\";\n\t}\n}\n\nstatic void DrawTabArrow(Surface *surface, PRectangle rcTab, int ymid, const ViewStyle &vsDraw) {\n\tconst IntegerRectangle ircTab(rcTab);\n\tif ((rcTab.left + 2) < (rcTab.right - 1))\n\t\tsurface->MoveTo(ircTab.left + 2, ymid);\n\telse\n\t\tsurface->MoveTo(ircTab.right - 1, ymid);\n\tsurface->LineTo(ircTab.right - 1, ymid);\n\n\t// Draw the arrow head if needed\n\tif (vsDraw.tabDrawMode == tdLongArrow) {\n\t\tint ydiff = (ircTab.bottom - ircTab.top) / 2;\n\t\tint xhead = ircTab.right - 1 - ydiff;\n\t\tif (xhead <= rcTab.left) {\n\t\t\tydiff -= ircTab.left - xhead - 1;\n\t\t\txhead = ircTab.left - 1;\n\t\t}\n\t\tsurface->LineTo(xhead, ymid - ydiff);\n\t\tsurface->MoveTo(ircTab.right - 1, ymid);\n\t\tsurface->LineTo(xhead, ymid + ydiff);\n\t}\n}\n\nvoid EditView::RefreshPixMaps(Surface *surfaceWindow, WindowID wid, const ViewStyle &vsDraw) {\n\tif (!pixmapIndentGuide->Initialised()) {\n\t\t// 1 extra pixel in height so can handle odd/even positions and so produce a continuous line\n\t\tpixmapIndentGuide->InitPixMap(1, vsDraw.lineHeight + 1, surfaceWindow, wid);\n\t\tpixmapIndentGuideHighlight->InitPixMap(1, vsDraw.lineHeight + 1, surfaceWindow, wid);\n\t\tconst PRectangle rcIG = PRectangle::FromInts(0, 0, 1, vsDraw.lineHeight);\n\t\tpixmapIndentGuide->FillRectangle(rcIG, vsDraw.styles[STYLE_INDENTGUIDE].back);\n\t\tpixmapIndentGuide->PenColour(vsDraw.styles[STYLE_INDENTGUIDE].fore);\n\t\tpixmapIndentGuideHighlight->FillRectangle(rcIG, vsDraw.styles[STYLE_BRACELIGHT].back);\n\t\tpixmapIndentGuideHighlight->PenColour(vsDraw.styles[STYLE_BRACELIGHT].fore);\n\t\tfor (int stripe = 1; stripe < vsDraw.lineHeight + 1; stripe += 2) {\n\t\t\tconst PRectangle rcPixel = PRectangle::FromInts(0, stripe, 1, stripe + 1);\n\t\t\tpixmapIndentGuide->FillRectangle(rcPixel, vsDraw.styles[STYLE_INDENTGUIDE].fore);\n\t\t\tpixmapIndentGuideHighlight->FillRectangle(rcPixel, vsDraw.styles[STYLE_BRACELIGHT].fore);\n\t\t}\n\t}\n}\n\nLineLayout *EditView::RetrieveLineLayout(Sci::Line lineNumber, const EditModel &model) {\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(lineNumber);\n\tconst Sci::Position posLineEnd = model.pdoc->LineStart(lineNumber + 1);\n\tPLATFORM_ASSERT(posLineEnd >= posLineStart);\n\tconst Sci::Line lineCaret = model.pdoc->SciLineFromPosition(model.sel.MainCaret());\n\treturn llc.Retrieve(lineNumber, lineCaret,\n\t\tstatic_cast<int>(posLineEnd - posLineStart), model.pdoc->GetStyleClock(),\n\t\tmodel.LinesOnScreen() + 1, model.pdoc->LinesTotal());\n}\n\n/**\n* Fill in the LineLayout data for the given line.\n* Copy the given @a line and its styles from the document into local arrays.\n* Also determine the x position at which each character starts.\n*/\nvoid EditView::LayoutLine(const EditModel &model, Sci::Line line, Surface *surface, const ViewStyle &vstyle, LineLayout *ll, int width) {\n\tif (!ll)\n\t\treturn;\n\n\tPLATFORM_ASSERT(line < model.pdoc->LinesTotal());\n\tPLATFORM_ASSERT(ll->chars != NULL);\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\tSci::Position posLineEnd = model.pdoc->LineStart(line + 1);\n\t// If the line is very long, limit the treatment to a length that should fit in the viewport\n\tif (posLineEnd >(posLineStart + ll->maxLineLength)) {\n\t\tposLineEnd = posLineStart + ll->maxLineLength;\n\t}\n\tif (ll->validity == LineLayout::llCheckTextAndStyle) {\n\t\tSci::Position lineLength = posLineEnd - posLineStart;\n\t\tif (!vstyle.viewEOL) {\n\t\t\tlineLength = model.pdoc->LineEnd(line) - posLineStart;\n\t\t}\n\t\tif (lineLength == ll->numCharsInLine) {\n\t\t\t// See if chars, styles, indicators, are all the same\n\t\t\tbool allSame = true;\n\t\t\t// Check base line layout\n\t\t\tint styleByte = 0;\n\t\t\tint numCharsInLine = 0;\n\t\t\twhile (numCharsInLine < lineLength) {\n\t\t\t\tconst Sci::Position charInDoc = numCharsInLine + posLineStart;\n\t\t\t\tconst char chDoc = model.pdoc->CharAt(charInDoc);\n\t\t\t\tstyleByte = model.pdoc->StyleIndexAt(charInDoc);\n\t\t\t\tallSame = allSame &&\n\t\t\t\t\t(ll->styles[numCharsInLine] == styleByte);\n\t\t\t\tif (vstyle.styles[ll->styles[numCharsInLine]].caseForce == Style::caseMixed)\n\t\t\t\t\tallSame = allSame &&\n\t\t\t\t\t(ll->chars[numCharsInLine] == chDoc);\n\t\t\t\telse if (vstyle.styles[ll->styles[numCharsInLine]].caseForce == Style::caseLower)\n\t\t\t\t\tallSame = allSame &&\n\t\t\t\t\t(ll->chars[numCharsInLine] == MakeLowerCase(chDoc));\n\t\t\t\telse if (vstyle.styles[ll->styles[numCharsInLine]].caseForce == Style::caseUpper)\n\t\t\t\t\tallSame = allSame &&\n\t\t\t\t\t(ll->chars[numCharsInLine] == MakeUpperCase(chDoc));\n\t\t\t\telse\t{ // Style::caseCamel\n\t\t\t\t\tif ((model.pdoc->IsASCIIWordByte(ll->chars[numCharsInLine])) &&\n\t\t\t\t\t  ((numCharsInLine == 0) || (!model.pdoc->IsASCIIWordByte(ll->chars[numCharsInLine - 1])))) {\n\t\t\t\t\t\tallSame = allSame && (ll->chars[numCharsInLine] == MakeUpperCase(chDoc));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tallSame = allSame && (ll->chars[numCharsInLine] == MakeLowerCase(chDoc));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tnumCharsInLine++;\n\t\t\t}\n\t\t\tallSame = allSame && (ll->styles[numCharsInLine] == styleByte);\t// For eolFilled\n\t\t\tif (allSame) {\n\t\t\t\tll->validity = LineLayout::llPositions;\n\t\t\t} else {\n\t\t\t\tll->validity = LineLayout::llInvalid;\n\t\t\t}\n\t\t} else {\n\t\t\tll->validity = LineLayout::llInvalid;\n\t\t}\n\t}\n\tif (ll->validity == LineLayout::llInvalid) {\n\t\tll->widthLine = LineLayout::wrapWidthInfinite;\n\t\tll->lines = 1;\n\t\tif (vstyle.edgeState == EDGE_BACKGROUND) {\n\t\t\tSci::Position edgePosition = model.pdoc->FindColumn(line, vstyle.theEdge.column);\n\t\t\tif (edgePosition >= posLineStart) {\n\t\t\t\tedgePosition -= posLineStart;\n\t\t\t}\n\t\t\tll->edgeColumn = static_cast<int>(edgePosition);\n\t\t} else {\n\t\t\tll->edgeColumn = -1;\n\t\t}\n\n\t\t// Fill base line layout\n\t\tconst int lineLength = static_cast<int>(posLineEnd - posLineStart);\n\t\tmodel.pdoc->GetCharRange(ll->chars.get(), posLineStart, lineLength);\n\t\tmodel.pdoc->GetStyleRange(ll->styles.get(), posLineStart, lineLength);\n\t\tconst int numCharsBeforeEOL = static_cast<int>(model.pdoc->LineEnd(line) - posLineStart);\n\t\tconst int numCharsInLine = (vstyle.viewEOL) ? lineLength : numCharsBeforeEOL;\n\t\tfor (Sci::Position styleInLine = 0; styleInLine < numCharsInLine; styleInLine++) {\n\t\t\tconst unsigned char styleByte = ll->styles[styleInLine];\n\t\t\tll->styles[styleInLine] = styleByte;\n\t\t}\n\t\tconst unsigned char styleByteLast = (lineLength > 0) ? ll->styles[lineLength - 1] : 0;\n\t\tif (vstyle.someStylesForceCase) {\n\t\t\tfor (int charInLine = 0; charInLine<lineLength; charInLine++) {\n\t\t\t\tconst char chDoc = ll->chars[charInLine];\n\t\t\t\tif (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseUpper)\n\t\t\t\t\tll->chars[charInLine] = MakeUpperCase(chDoc);\n\t\t\t\telse if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseLower)\n\t\t\t\t\tll->chars[charInLine] = MakeLowerCase(chDoc);\n\t\t\t\telse if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseCamel) {\n\t\t\t\t\tif ((model.pdoc->IsASCIIWordByte(ll->chars[charInLine])) &&\n\t\t\t\t\t  ((charInLine == 0) || (!model.pdoc->IsASCIIWordByte(ll->chars[charInLine - 1])))) {\n\t\t\t\t\t\tll->chars[charInLine] = MakeUpperCase(chDoc);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tll->chars[charInLine] = MakeLowerCase(chDoc);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tll->xHighlightGuide = 0;\n\t\t// Extra element at the end of the line to hold end x position and act as\n\t\tll->chars[numCharsInLine] = 0;   // Also triggers processing in the loops as this is a control character\n\t\tll->styles[numCharsInLine] = styleByteLast;\t// For eolFilled\n\n\t\t// Layout the line, determining the position of each character,\n\t\t// with an extra element at the end for the end of the line.\n\t\tll->positions[0] = 0;\n\t\tbool lastSegItalics = false;\n\n\t\tBreakFinder bfLayout(ll, nullptr, Range(0, numCharsInLine), posLineStart, 0, false, model.pdoc, &model.reprs, nullptr);\n\t\twhile (bfLayout.More()) {\n\n\t\t\tconst TextSegment ts = bfLayout.Next();\n\n\t\t\tstd::fill(&ll->positions[ts.start + 1], &ll->positions[ts.end() + 1], 0.0f);\n\t\t\tif (vstyle.styles[ll->styles[ts.start]].visible) {\n\t\t\t\tif (ts.representation) {\n\t\t\t\t\tXYPOSITION representationWidth = vstyle.controlCharWidth;\n\t\t\t\t\tif (ll->chars[ts.start] == '\\t') {\n\t\t\t\t\t\t// Tab is a special case of representation, taking a variable amount of space\n\t\t\t\t\t\tconst XYPOSITION x = ll->positions[ts.start];\n\t\t\t\t\t\trepresentationWidth = NextTabstopPos(line, x, vstyle.tabWidth) - ll->positions[ts.start];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (representationWidth <= 0.0) {\n\t\t\t\t\t\t\tXYPOSITION positionsRepr[256];\t// Should expand when needed\n\t\t\t\t\t\t\tposCache.MeasureWidths(surface, vstyle, STYLE_CONTROLCHAR, ts.representation->stringRep.c_str(),\n\t\t\t\t\t\t\t\tstatic_cast<unsigned int>(ts.representation->stringRep.length()), positionsRepr, model.pdoc);\n\t\t\t\t\t\t\trepresentationWidth = positionsRepr[ts.representation->stringRep.length() - 1] + vstyle.ctrlCharPadding;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfor (int ii = 0; ii < ts.length; ii++)\n\t\t\t\t\t\tll->positions[ts.start + 1 + ii] = representationWidth;\n\t\t\t\t} else {\n\t\t\t\t\tif ((ts.length == 1) && (' ' == ll->chars[ts.start])) {\n\t\t\t\t\t\t// Over half the segments are single characters and of these about half are space characters.\n\t\t\t\t\t\tll->positions[ts.start + 1] = vstyle.styles[ll->styles[ts.start]].spaceWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposCache.MeasureWidths(surface, vstyle, ll->styles[ts.start], &ll->chars[ts.start],\n\t\t\t\t\t\t\tts.length, &ll->positions[ts.start + 1], model.pdoc);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlastSegItalics = (!ts.representation) && ((ll->chars[ts.end() - 1] != ' ') && vstyle.styles[ll->styles[ts.start]].italic);\n\t\t\t}\n\n\t\t\tfor (Sci::Position posToIncrease = ts.start + 1; posToIncrease <= ts.end(); posToIncrease++) {\n\t\t\t\tll->positions[posToIncrease] += ll->positions[ts.start];\n\t\t\t}\n\t\t}\n\n\t\t// Small hack to make lines that end with italics not cut off the edge of the last character\n\t\tif (lastSegItalics) {\n\t\t\tll->positions[numCharsInLine] += vstyle.lastSegItalicsOffset;\n\t\t}\n\t\tll->numCharsInLine = numCharsInLine;\n\t\tll->numCharsBeforeEOL = numCharsBeforeEOL;\n\t\tll->validity = LineLayout::llPositions;\n\t}\n\t// Hard to cope when too narrow, so just assume there is space\n\tif (width < 20) {\n\t\twidth = 20;\n\t}\n\tif ((ll->validity == LineLayout::llPositions) || (ll->widthLine != width)) {\n\t\tll->widthLine = width;\n\t\tif (width == LineLayout::wrapWidthInfinite) {\n\t\t\tll->lines = 1;\n\t\t} else if (width > ll->positions[ll->numCharsInLine]) {\n\t\t\t// Simple common case where line does not need wrapping.\n\t\t\tll->lines = 1;\n\t\t} else {\n\t\t\tif (vstyle.wrapVisualFlags & SC_WRAPVISUALFLAG_END) {\n\t\t\t\twidth -= static_cast<int>(vstyle.aveCharWidth); // take into account the space for end wrap mark\n\t\t\t}\n\t\t\tXYPOSITION wrapAddIndent = 0; // This will be added to initial indent of line\n\t\t\tswitch (vstyle.wrapIndentMode) {\n\t\t\tcase SC_WRAPINDENT_FIXED:\n\t\t\t\twrapAddIndent = vstyle.wrapVisualStartIndent * vstyle.aveCharWidth;\n\t\t\t\tbreak;\n\t\t\tcase SC_WRAPINDENT_INDENT:\n\t\t\t\twrapAddIndent = model.pdoc->IndentSize() * vstyle.spaceWidth;\n\t\t\t\tbreak;\n\t\t\tcase SC_WRAPINDENT_DEEPINDENT:\n\t\t\t\twrapAddIndent = model.pdoc->IndentSize() * 2 * vstyle.spaceWidth;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tll->wrapIndent = wrapAddIndent;\n\t\t\tif (vstyle.wrapIndentMode != SC_WRAPINDENT_FIXED) {\n\t\t\t\tfor (int i = 0; i < ll->numCharsInLine; i++) {\n\t\t\t\t\tif (!IsSpaceOrTab(ll->chars[i])) {\n\t\t\t\t\t\tll->wrapIndent += ll->positions[i]; // Add line indent\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check for text width minimum\n\t\t\tif (ll->wrapIndent > width - static_cast<int>(vstyle.aveCharWidth) * 15)\n\t\t\t\tll->wrapIndent = wrapAddIndent;\n\t\t\t// Check for wrapIndent minimum\n\t\t\tif ((vstyle.wrapVisualFlags & SC_WRAPVISUALFLAG_START) && (ll->wrapIndent < vstyle.aveCharWidth))\n\t\t\t\tll->wrapIndent = vstyle.aveCharWidth; // Indent to show start visual\n\t\t\tll->lines = 0;\n\t\t\t// Calculate line start positions based upon width.\n\t\t\tSci::Position lastGoodBreak = 0;\n\t\t\tSci::Position lastLineStart = 0;\n\t\t\tXYACCUMULATOR startOffset = 0;\n\t\t\tSci::Position p = 0;\n\t\t\twhile (p < ll->numCharsInLine) {\n\t\t\t\tif ((ll->positions[p + 1] - startOffset) >= width) {\n\t\t\t\t\tif (lastGoodBreak == lastLineStart) {\n\t\t\t\t\t\t// Try moving to start of last character\n\t\t\t\t\t\tif (p > 0) {\n\t\t\t\t\t\t\tlastGoodBreak = model.pdoc->MovePositionOutsideChar(p + posLineStart, -1)\n\t\t\t\t\t\t\t\t- posLineStart;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lastGoodBreak == lastLineStart) {\n\t\t\t\t\t\t\t// Ensure at least one character on line.\n\t\t\t\t\t\t\tlastGoodBreak = model.pdoc->MovePositionOutsideChar(lastGoodBreak + posLineStart + 1, 1)\n\t\t\t\t\t\t\t\t- posLineStart;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlastLineStart = lastGoodBreak;\n\t\t\t\t\tll->lines++;\n\t\t\t\t\tll->SetLineStart(ll->lines, static_cast<int>(lastGoodBreak));\n\t\t\t\t\tstartOffset = ll->positions[lastGoodBreak];\n\t\t\t\t\t// take into account the space for start wrap mark and indent\n\t\t\t\t\tstartOffset -= ll->wrapIndent;\n\t\t\t\t\tp = lastGoodBreak + 1;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (p > 0) {\n\t\t\t\t\tif (vstyle.wrapState == eWrapChar) {\n\t\t\t\t\t\tlastGoodBreak = model.pdoc->MovePositionOutsideChar(p + posLineStart, -1)\n\t\t\t\t\t\t\t- posLineStart;\n\t\t\t\t\t\tp = model.pdoc->MovePositionOutsideChar(p + 1 + posLineStart, 1) - posLineStart;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if ((vstyle.wrapState == eWrapWord) && (ll->styles[p] != ll->styles[p - 1])) {\n\t\t\t\t\t\tlastGoodBreak = p;\n\t\t\t\t\t} else if (IsSpaceOrTab(ll->chars[p - 1]) && !IsSpaceOrTab(ll->chars[p])) {\n\t\t\t\t\t\tlastGoodBreak = p;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tll->lines++;\n\t\t}\n\t\tll->validity = LineLayout::llLines;\n\t}\n}\n\nPoint EditView::LocationFromPosition(Surface *surface, const EditModel &model, SelectionPosition pos, Sci::Line topLine,\n\t\t\t\t     const ViewStyle &vs, PointEnd pe) {\n\tPoint pt;\n\tif (pos.Position() == INVALID_POSITION)\n\t\treturn pt;\n\tSci::Line lineDoc = model.pdoc->SciLineFromPosition(pos.Position());\n\tSci::Position posLineStart = model.pdoc->LineStart(lineDoc);\n\tif ((pe & peLineEnd) && (lineDoc > 0) && (pos.Position() == posLineStart)) {\n\t\t// Want point at end of first line\n\t\tlineDoc--;\n\t\tposLineStart = model.pdoc->LineStart(lineDoc);\n\t}\n\tconst Sci::Line lineVisible = model.pcs->DisplayFromDoc(lineDoc);\n\tAutoLineLayout ll(llc, RetrieveLineLayout(lineDoc, model));\n\tif (surface && ll) {\n\t\tLayoutLine(model, lineDoc, surface, vs, ll, model.wrapWidth);\n\t\tconst int posInLine = static_cast<int>(pos.Position() - posLineStart);\n\t\tpt = ll->PointFromPosition(posInLine, vs.lineHeight, pe);\n\t\tpt.y += (lineVisible - topLine) * vs.lineHeight;\n\t\tpt.x += vs.textStart - model.xOffset;\n\t}\n\tpt.x += pos.VirtualSpace() * vs.styles[ll->EndLineStyle()].spaceWidth;\n\treturn pt;\n}\n\nRange EditView::RangeDisplayLine(Surface *surface, const EditModel &model, Sci::Line lineVisible, const ViewStyle &vs) {\n\tRange rangeSubLine = Range(0, 0);\n\tif (lineVisible < 0) {\n\t\treturn rangeSubLine;\n\t}\n\tconst Sci::Line lineDoc = model.pcs->DocFromDisplay(lineVisible);\n\tconst Sci::Position positionLineStart = model.pdoc->LineStart(lineDoc);\n\tAutoLineLayout ll(llc, RetrieveLineLayout(lineDoc, model));\n\tif (surface && ll) {\n\t\tLayoutLine(model, lineDoc, surface, vs, ll, model.wrapWidth);\n\t\tconst Sci::Line lineStartSet = model.pcs->DisplayFromDoc(lineDoc);\n\t\tconst int subLine = static_cast<int>(lineVisible - lineStartSet);\n\t\tif (subLine < ll->lines) {\n\t\t\trangeSubLine = ll->SubLineRange(subLine, LineLayout::Scope::visibleOnly);\n\t\t\tif (subLine == ll->lines-1) {\n\t\t\t\trangeSubLine.end = model.pdoc->LineStart(lineDoc + 1) -\n\t\t\t\t\tpositionLineStart;\n\t\t\t}\n\t\t}\n\t}\n\trangeSubLine.start += positionLineStart;\n\trangeSubLine.end += positionLineStart;\n\treturn rangeSubLine;\n}\n\nSelectionPosition EditView::SPositionFromLocation(Surface *surface, const EditModel &model, PointDocument pt, bool canReturnInvalid, bool charPosition, bool virtualSpace, const ViewStyle &vs) {\n\tpt.x = pt.x - vs.textStart;\n\tSci::Line visibleLine = static_cast<int>(floor(pt.y / vs.lineHeight));\n\tif (!canReturnInvalid && (visibleLine < 0))\n\t\tvisibleLine = 0;\n\tconst Sci::Line lineDoc = model.pcs->DocFromDisplay(visibleLine);\n\tif (canReturnInvalid && (lineDoc < 0))\n\t\treturn SelectionPosition(INVALID_POSITION);\n\tif (lineDoc >= model.pdoc->LinesTotal())\n\t\treturn SelectionPosition(canReturnInvalid ? INVALID_POSITION :\n\t\t\tmodel.pdoc->Length());\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(lineDoc);\n\tAutoLineLayout ll(llc, RetrieveLineLayout(lineDoc, model));\n\tif (surface && ll) {\n\t\tLayoutLine(model, lineDoc, surface, vs, ll, model.wrapWidth);\n\t\tconst Sci::Line lineStartSet = model.pcs->DisplayFromDoc(lineDoc);\n\t\tconst int subLine = static_cast<int>(visibleLine - lineStartSet);\n\t\tif (subLine < ll->lines) {\n\t\t\tconst Range rangeSubLine = ll->SubLineRange(subLine, LineLayout::Scope::visibleOnly);\n\t\t\tconst XYPOSITION subLineStart = ll->positions[rangeSubLine.start];\n\t\t\tif (subLine > 0)\t// Wrapped\n\t\t\t\tpt.x -= ll->wrapIndent;\n\t\t\tconst Sci::Position positionInLine = ll->FindPositionFromX(static_cast<XYPOSITION>(pt.x + subLineStart),\n\t\t\t\trangeSubLine, charPosition);\n\t\t\tif (positionInLine < rangeSubLine.end) {\n\t\t\t\treturn SelectionPosition(model.pdoc->MovePositionOutsideChar(positionInLine + posLineStart, 1));\n\t\t\t}\n\t\t\tif (virtualSpace) {\n\t\t\t\tconst XYPOSITION spaceWidth = vs.styles[ll->EndLineStyle()].spaceWidth;\n\t\t\t\tconst int spaceOffset = static_cast<int>(\n\t\t\t\t\t(pt.x + subLineStart - ll->positions[rangeSubLine.end] + spaceWidth / 2) / spaceWidth);\n\t\t\t\treturn SelectionPosition(rangeSubLine.end + posLineStart, spaceOffset);\n\t\t\t} else if (canReturnInvalid) {\n\t\t\t\tif (pt.x < (ll->positions[rangeSubLine.end] - subLineStart)) {\n\t\t\t\t\treturn SelectionPosition(model.pdoc->MovePositionOutsideChar(rangeSubLine.end + posLineStart, 1));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn SelectionPosition(rangeSubLine.end + posLineStart);\n\t\t\t}\n\t\t}\n\t\tif (!canReturnInvalid)\n\t\t\treturn SelectionPosition(ll->numCharsInLine + posLineStart);\n\t}\n\treturn SelectionPosition(canReturnInvalid ? INVALID_POSITION : posLineStart);\n}\n\n/**\n* Find the document position corresponding to an x coordinate on a particular document line.\n* Ensure is between whole characters when document is in multi-byte or UTF-8 mode.\n* This method is used for rectangular selections and does not work on wrapped lines.\n*/\nSelectionPosition EditView::SPositionFromLineX(Surface *surface, const EditModel &model, Sci::Line lineDoc, int x, const ViewStyle &vs) {\n\tAutoLineLayout ll(llc, RetrieveLineLayout(lineDoc, model));\n\tif (surface && ll) {\n\t\tconst Sci::Position posLineStart = model.pdoc->LineStart(lineDoc);\n\t\tLayoutLine(model, lineDoc, surface, vs, ll, model.wrapWidth);\n\t\tconst Range rangeSubLine = ll->SubLineRange(0, LineLayout::Scope::visibleOnly);\n\t\tconst XYPOSITION subLineStart = ll->positions[rangeSubLine.start];\n\t\tconst Sci::Position positionInLine = ll->FindPositionFromX(x + subLineStart, rangeSubLine, false);\n\t\tif (positionInLine < rangeSubLine.end) {\n\t\t\treturn SelectionPosition(model.pdoc->MovePositionOutsideChar(positionInLine + posLineStart, 1));\n\t\t}\n\t\tconst XYPOSITION spaceWidth = vs.styles[ll->EndLineStyle()].spaceWidth;\n\t\tconst int spaceOffset = static_cast<int>(\n\t\t\t(x + subLineStart - ll->positions[rangeSubLine.end] + spaceWidth / 2) / spaceWidth);\n\t\treturn SelectionPosition(rangeSubLine.end + posLineStart, spaceOffset);\n\t}\n\treturn SelectionPosition(0);\n}\n\nSci::Line EditView::DisplayFromPosition(Surface *surface, const EditModel &model, Sci::Position pos, const ViewStyle &vs) {\n\tconst Sci::Line lineDoc = model.pdoc->SciLineFromPosition(pos);\n\tSci::Line lineDisplay = model.pcs->DisplayFromDoc(lineDoc);\n\tAutoLineLayout ll(llc, RetrieveLineLayout(lineDoc, model));\n\tif (surface && ll) {\n\t\tLayoutLine(model, lineDoc, surface, vs, ll, model.wrapWidth);\n\t\tconst Sci::Position posLineStart = model.pdoc->LineStart(lineDoc);\n\t\tconst Sci::Position posInLine = pos - posLineStart;\n\t\tlineDisplay--; // To make up for first increment ahead.\n\t\tfor (int subLine = 0; subLine < ll->lines; subLine++) {\n\t\t\tif (posInLine >= ll->LineStart(subLine)) {\n\t\t\t\tlineDisplay++;\n\t\t\t}\n\t\t}\n\t}\n\treturn lineDisplay;\n}\n\nSci::Position EditView::StartEndDisplayLine(Surface *surface, const EditModel &model, Sci::Position pos, bool start, const ViewStyle &vs) {\n\tconst Sci::Line line = model.pdoc->SciLineFromPosition(pos);\n\tAutoLineLayout ll(llc, RetrieveLineLayout(line, model));\n\tSci::Position posRet = INVALID_POSITION;\n\tif (surface && ll) {\n\t\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\t\tLayoutLine(model, line, surface, vs, ll, model.wrapWidth);\n\t\tconst Sci::Position posInLine = pos - posLineStart;\n\t\tif (posInLine <= ll->maxLineLength) {\n\t\t\tfor (int subLine = 0; subLine < ll->lines; subLine++) {\n\t\t\t\tif ((posInLine >= ll->LineStart(subLine)) &&\n\t\t\t\t    (posInLine <= ll->LineStart(subLine + 1)) &&\n\t\t\t\t    (posInLine <= ll->numCharsBeforeEOL)) {\n\t\t\t\t\tif (start) {\n\t\t\t\t\t\tposRet = ll->LineStart(subLine) + posLineStart;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (subLine == ll->lines - 1)\n\t\t\t\t\t\t\tposRet = ll->numCharsBeforeEOL + posLineStart;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tposRet = ll->LineStart(subLine + 1) + posLineStart - 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn posRet;\n}\n\nstatic ColourDesired SelectionBackground(const ViewStyle &vsDraw, bool main, bool primarySelection) {\n\treturn main ?\n\t\t(primarySelection ? vsDraw.selColours.back : vsDraw.selBackground2) :\n\t\tvsDraw.selAdditionalBackground;\n}\n\nstatic ColourDesired TextBackground(const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tColourOptional background, int inSelection, bool inHotspot, int styleMain, Sci::Position i) {\n\tif (inSelection == 1) {\n\t\tif (vsDraw.selColours.back.isSet && (vsDraw.selAlpha == SC_ALPHA_NOALPHA)) {\n\t\t\treturn SelectionBackground(vsDraw, true, model.primarySelection);\n\t\t}\n\t} else if (inSelection == 2) {\n\t\tif (vsDraw.selColours.back.isSet && (vsDraw.selAdditionalAlpha == SC_ALPHA_NOALPHA)) {\n\t\t\treturn SelectionBackground(vsDraw, false, model.primarySelection);\n\t\t}\n\t} else {\n\t\tif ((vsDraw.edgeState == EDGE_BACKGROUND) &&\n\t\t\t(i >= ll->edgeColumn) &&\n\t\t\t(i < ll->numCharsBeforeEOL))\n\t\t\treturn vsDraw.theEdge.colour;\n\t\tif (inHotspot && vsDraw.hotspotColours.back.isSet)\n\t\t\treturn vsDraw.hotspotColours.back;\n\t}\n\tif (background.isSet && (styleMain != STYLE_BRACELIGHT) && (styleMain != STYLE_BRACEBAD)) {\n\t\treturn background;\n\t} else {\n\t\treturn vsDraw.styles[styleMain].back;\n\t}\n}\n\nvoid EditView::DrawIndentGuide(Surface *surface, Sci::Line lineVisible, int lineHeight, XYPOSITION start, PRectangle rcSegment, bool highlight) {\n\tconst Point from = Point::FromInts(0, ((lineVisible & 1) && (lineHeight & 1)) ? 1 : 0);\n\tconst PRectangle rcCopyArea(start + 1, rcSegment.top,\n\t\tstart + 2, rcSegment.bottom);\n\tsurface->Copy(rcCopyArea, from,\n\t\thighlight ? *pixmapIndentGuideHighlight : *pixmapIndentGuide);\n}\n\nstatic void SimpleAlphaRectangle(Surface *surface, PRectangle rc, ColourDesired fill, int alpha) {\n\tif (alpha != SC_ALPHA_NOALPHA) {\n\t\tsurface->AlphaRectangle(rc, 0, fill, alpha, fill, alpha, 0);\n\t}\n}\n\nstatic void SimpleAlphaRectangle(Surface* surface, PRectangle rc, int style) {\n\t\tsurface->AlphaRectangle(rc, 0, style);\n}\n\nstatic void DrawTextBlob(Surface *surface, const ViewStyle &vsDraw, PRectangle rcSegment,\n\tconst char *s, ColourDesired textBack, ColourDesired textFore, bool fillBackground) {\n\tif (rcSegment.Empty())\n\t\treturn;\n\tif (fillBackground) {\n\t\tsurface->FillRectangle(rcSegment, textBack);\n\t}\n\tFontAlias ctrlCharsFont = vsDraw.styles[STYLE_CONTROLCHAR].font;\n\tconst int normalCharHeight = static_cast<int>(ceil(vsDraw.styles[STYLE_CONTROLCHAR].capitalHeight));\n\tPRectangle rcCChar = rcSegment;\n\trcCChar.left = rcCChar.left + 1;\n\trcCChar.top = rcSegment.top + vsDraw.maxAscent - normalCharHeight;\n\trcCChar.bottom = rcSegment.top + vsDraw.maxAscent + 1;\n\tPRectangle rcCentral = rcCChar;\n\trcCentral.top++;\n\trcCentral.bottom--;\n\tsurface->FillRectangle(rcCentral, textFore);\n\tPRectangle rcChar = rcCChar;\n\trcChar.left++;\n\trcChar.right--;\n\t// In the original Scintilla code this was a call to DrawTextClipped().\n\t// This caused the clipping to be incorrect (triggered when EOLs are\n\t// visible) causing text to overwrite the margins when scrolling.  The\n\t// change is consistent with the alternative code paths to where\n\t// DrawTextBlob() is called bu tthe root cause maybe in PlatQt.cpp or in Qt\n\t// itself.\n\tsurface->DrawTextNoClip(rcChar, ctrlCharsFont,\n\t\trcSegment.top + vsDraw.maxAscent, s, static_cast<int>(s ? strlen(s) : 0),\n\t\ttextBack, textFore);\n}\n\nstatic void DrawFrame(Surface *surface, ColourDesired colour, int alpha, PRectangle rcFrame) {\n\tif (alpha != SC_ALPHA_NOALPHA)\n\t\tsurface->AlphaRectangle(rcFrame, 0, colour, alpha, colour, alpha, 0);\n\telse\n\t\tsurface->FillRectangle(rcFrame, colour);\n}\n\nstatic void DrawCaretLineFramed(Surface *surface, const ViewStyle &vsDraw, const LineLayout *ll, PRectangle rcLine, int subLine) {\n\tconst int width = vsDraw.GetFrameWidth();\n\tif (subLine == 0 || ll->wrapIndent == 0 || vsDraw.caretLineAlpha != SC_ALPHA_NOALPHA) {\n\t\t// Left\n\t\tDrawFrame(surface, vsDraw.caretLineBackground, vsDraw.caretLineAlpha,\n\t\t\tPRectangle(rcLine.left, rcLine.top, rcLine.left + width, rcLine.bottom));\n\t}\n\tif (subLine == 0) {\n\t\t// Top\n\t\tDrawFrame(surface, vsDraw.caretLineBackground, vsDraw.caretLineAlpha,\n\t\t\tPRectangle(rcLine.left + width, rcLine.top, rcLine.right - width, rcLine.top + width));\n\t}\n\tif (subLine == ll->lines - 1 || vsDraw.caretLineAlpha != SC_ALPHA_NOALPHA) {\n\t\t// Right\n\t\tDrawFrame(surface, vsDraw.caretLineBackground, vsDraw.caretLineAlpha,\n\t\t\tPRectangle(rcLine.right - width, rcLine.top, rcLine.right, rcLine.bottom));\n\t}\n\tif (subLine == ll->lines - 1) {\n\t\t// Bottom\n\t\tDrawFrame(surface, vsDraw.caretLineBackground, vsDraw.caretLineAlpha,\n\t\t\tPRectangle(rcLine.left + width, rcLine.bottom - width, rcLine.right - width, rcLine.bottom));\n\t}\n}\n\nvoid EditView::DrawEOL(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tPRectangle rcLine, Sci::Line line, Sci::Position lineEnd, int xStart, int subLine, XYACCUMULATOR subLineStart,\n\tColourOptional background) {\n\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\tPRectangle rcSegment = rcLine;\n\n\tconst bool lastSubLine = subLine == (ll->lines - 1);\n\tXYPOSITION virtualSpace = 0;\n\tif (lastSubLine) {\n\t\tconst XYPOSITION spaceWidth = vsDraw.styles[ll->EndLineStyle()].spaceWidth;\n\t\tvirtualSpace = model.sel.VirtualSpaceFor(model.pdoc->LineEnd(line)) * spaceWidth;\n\t}\n\tconst XYPOSITION xEol = static_cast<XYPOSITION>(ll->positions[lineEnd] - subLineStart);\n\n\t// Fill the virtual space and show selections within it\n\tif (virtualSpace > 0.0f) {\n\t\trcSegment.left = xEol + xStart;\n\t\trcSegment.right = xEol + xStart + virtualSpace;\n\t\tsurface->FillRectangle(rcSegment, background.isSet ? background : vsDraw.styles[ll->styles[ll->numCharsInLine]].back);\n\t\tif (!hideSelection && ((vsDraw.selAlpha == SC_ALPHA_NOALPHA) || (vsDraw.selAdditionalAlpha == SC_ALPHA_NOALPHA))) {\n\t\t\tconst SelectionSegment virtualSpaceRange(SelectionPosition(model.pdoc->LineEnd(line)),\n\t\t\t\tSelectionPosition(model.pdoc->LineEnd(line),\n\t\t\t\t\tmodel.sel.VirtualSpaceFor(model.pdoc->LineEnd(line))));\n\t\t\tfor (size_t r = 0; r<model.sel.Count(); r++) {\n\t\t\t\tconst int alpha = (r == model.sel.Main()) ? vsDraw.selAlpha : vsDraw.selAdditionalAlpha;\n\t\t\t\tif (alpha == SC_ALPHA_NOALPHA) {\n\t\t\t\t\tconst SelectionSegment portion = model.sel.Range(r).Intersect(virtualSpaceRange);\n\t\t\t\t\tif (!portion.Empty()) {\n\t\t\t\t\t\tconst XYPOSITION spaceWidth = vsDraw.styles[ll->EndLineStyle()].spaceWidth;\n\t\t\t\t\t\trcSegment.left = xStart + ll->positions[portion.start.Position() - posLineStart] -\n\t\t\t\t\t\t\tstatic_cast<XYPOSITION>(subLineStart)+portion.start.VirtualSpace() * spaceWidth;\n\t\t\t\t\t\trcSegment.right = xStart + ll->positions[portion.end.Position() - posLineStart] -\n\t\t\t\t\t\t\tstatic_cast<XYPOSITION>(subLineStart)+portion.end.VirtualSpace() * spaceWidth;\n\t\t\t\t\t\trcSegment.left = (rcSegment.left > rcLine.left) ? rcSegment.left : rcLine.left;\n\t\t\t\t\t\trcSegment.right = (rcSegment.right < rcLine.right) ? rcSegment.right : rcLine.right;\n\t\t\t\t\t\tsurface->FillRectangle(rcSegment, SelectionBackground(vsDraw, r == model.sel.Main(), model.primarySelection));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tint eolInSelection = 0;\n\tint alpha = SC_ALPHA_NOALPHA;\n\tif (!hideSelection) {\n\t\tconst Sci::Position posAfterLineEnd = model.pdoc->LineStart(line + 1);\n\t\teolInSelection = (lastSubLine == true) ? model.sel.InSelectionForEOL(posAfterLineEnd) : 0;\n\t\talpha = (eolInSelection == 1) ? vsDraw.selAlpha : vsDraw.selAdditionalAlpha;\n\t}\n\n\t// Draw the [CR], [LF], or [CR][LF] blobs if visible line ends are on\n\tXYPOSITION blobsWidth = 0;\n\tif (lastSubLine) {\n\t\tfor (Sci::Position eolPos = ll->numCharsBeforeEOL; eolPos<ll->numCharsInLine; eolPos++) {\n\t\t\trcSegment.left = xStart + ll->positions[eolPos] - static_cast<XYPOSITION>(subLineStart)+virtualSpace;\n\t\t\trcSegment.right = xStart + ll->positions[eolPos + 1] - static_cast<XYPOSITION>(subLineStart)+virtualSpace;\n\t\t\tblobsWidth += rcSegment.Width();\n\t\t\tchar hexits[4] = \"\";\n\t\t\tconst char *ctrlChar;\n\t\t\tconst unsigned char chEOL = ll->chars[eolPos];\n\t\t\tconst int styleMain = ll->styles[eolPos];\n\t\t\tconst ColourDesired textBack = TextBackground(model, vsDraw, ll, background, eolInSelection, false, styleMain, eolPos);\n\t\t\tif (UTF8IsAscii(chEOL)) {\n\t\t\t\tctrlChar = ControlCharacterString(chEOL);\n\t\t\t} else {\n\t\t\t\tconst Representation *repr = model.reprs.RepresentationFromCharacter(&ll->chars[eolPos], ll->numCharsInLine - eolPos);\n\t\t\t\tif (repr) {\n\t\t\t\t\tctrlChar = repr->stringRep.c_str();\n\t\t\t\t\teolPos = ll->numCharsInLine;\n\t\t\t\t} else {\n\t\t\t\t\tsprintf(hexits, \"x%2X\", chEOL);\n\t\t\t\t\tctrlChar = hexits;\n\t\t\t\t}\n\t\t\t}\n\t\t\tColourDesired textFore = vsDraw.styles[styleMain].fore;\n\t\t\tif (eolInSelection && vsDraw.selColours.fore.isSet) {\n\t\t\t\ttextFore = (eolInSelection == 1) ? vsDraw.selColours.fore : vsDraw.selAdditionalForeground;\n\t\t\t}\n\t\t\tif (eolInSelection && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1)) {\n\t\t\t\tif (alpha == SC_ALPHA_NOALPHA) {\n\t\t\t\t\tsurface->FillRectangle(rcSegment, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection));\n\t\t\t\t} else {\n\t\t\t\t\tsurface->FillRectangle(rcSegment, textBack);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsurface->FillRectangle(rcSegment, textBack);\n\t\t\t}\n\t\t\tDrawTextBlob(surface, vsDraw, rcSegment, ctrlChar, textBack, textFore, phasesDraw == phasesOne);\n\t\t\tif (eolInSelection && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1) && (alpha != SC_ALPHA_NOALPHA)) {\n\t\t\t\tSimpleAlphaRectangle(surface, rcSegment, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection), alpha);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Draw the eol-is-selected rectangle\n\trcSegment.left = xEol + xStart + virtualSpace + blobsWidth;\n\trcSegment.right = rcSegment.left + vsDraw.aveCharWidth;\n\n\tif (eolInSelection && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1) && (alpha == SC_ALPHA_NOALPHA)) {\n\t\tsurface->FillRectangle(rcSegment, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection));\n\t} else {\n\t\tif (background.isSet) {\n\t\t\tsurface->FillRectangle(rcSegment, background);\n\t\t} else if (line < model.pdoc->LinesTotal() - 1) {\n\t\t\tsurface->FillRectangle(rcSegment, vsDraw.styles[ll->styles[ll->numCharsInLine]].back);\n\t\t} else if (vsDraw.styles[ll->styles[ll->numCharsInLine]].eolFilled) {\n\t\t\tsurface->FillRectangle(rcSegment, vsDraw.styles[ll->styles[ll->numCharsInLine]].back);\n\t\t} else {\n\t\t\tsurface->FillRectangle(rcSegment, vsDraw.styles[STYLE_DEFAULT].back);\n\t\t}\n\t\tif (eolInSelection && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1) && (alpha != SC_ALPHA_NOALPHA)) {\n\t\t\tSimpleAlphaRectangle(surface, rcSegment, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection), alpha);\n\t\t}\n\t}\n\n\trcSegment.left = rcSegment.right;\n\tif (rcSegment.left < rcLine.left)\n\t\trcSegment.left = rcLine.left;\n\trcSegment.right = rcLine.right;\n\n\tconst bool fillRemainder = !lastSubLine || model.foldDisplayTextStyle == SC_FOLDDISPLAYTEXT_HIDDEN || !model.pcs->GetFoldDisplayTextShown(line);\n\tif (fillRemainder) {\n\t\t// Fill the remainder of the line\n\t\tFillLineRemainder(surface, model, vsDraw, ll, line, rcSegment, subLine);\n\t}\n\n\tbool drawWrapMarkEnd = false;\n\n\tif (subLine + 1 < ll->lines) {\n\t\tif (vsDraw.wrapVisualFlags & SC_WRAPVISUALFLAG_END) {\n\t\t\tdrawWrapMarkEnd = ll->LineStart(subLine + 1) != 0;\n\t\t}\n\t\tif (vsDraw.IsLineFrameOpaque(model.caret.active, ll->containsCaret)) {\n\t\t\tconst int width = vsDraw.GetFrameWidth();\n\t\t\t// Draw right of frame under marker\n\t\t\tDrawFrame(surface, vsDraw.caretLineBackground, vsDraw.caretLineAlpha,\n\t\t\t\tPRectangle(rcLine.right - width, rcLine.top, rcLine.right, rcLine.bottom));\n\t\t}\n\t}\n\n\tif (drawWrapMarkEnd) {\n\t\tPRectangle rcPlace = rcSegment;\n\n\t\tif (vsDraw.wrapVisualFlagsLocation & SC_WRAPVISUALFLAGLOC_END_BY_TEXT) {\n\t\t\trcPlace.left = xEol + xStart + virtualSpace;\n\t\t\trcPlace.right = rcPlace.left + vsDraw.aveCharWidth;\n\t\t} else {\n\t\t\t// rcLine is clipped to text area\n\t\t\trcPlace.right = rcLine.right;\n\t\t\trcPlace.left = rcPlace.right - vsDraw.aveCharWidth;\n\t\t}\n\t\tif (!customDrawWrapMarker) {\n\t\t\tDrawWrapMarker(surface, rcPlace, true, vsDraw.WrapColour());\n\t\t} else {\n\t\t\tcustomDrawWrapMarker(surface, rcPlace, true, vsDraw.WrapColour());\n\t\t}\n\t}\n}\n\nstatic void DrawIndicator(int indicNum, Sci::Position startPos, Sci::Position endPos, Surface *surface, const ViewStyle &vsDraw,\n\tconst LineLayout *ll, int xStart, PRectangle rcLine, Sci::Position secondCharacter, int subLine, Indicator::DrawState drawState, int value) {\n\tconst XYPOSITION subLineStart = ll->positions[ll->LineStart(subLine)];\n\tconst PRectangle rcIndic(\n\t\tll->positions[startPos] + xStart - subLineStart,\n\t\trcLine.top + vsDraw.maxAscent,\n\t\tll->positions[endPos] + xStart - subLineStart,\n\t\trcLine.top + vsDraw.maxAscent + 3);\n\tPRectangle rcFirstCharacter = rcIndic;\n\t// Allow full descent space for character indicators\n\trcFirstCharacter.bottom = rcLine.top + vsDraw.maxAscent + vsDraw.maxDescent;\n\tif (secondCharacter >= 0) {\n\t\trcFirstCharacter.right = ll->positions[secondCharacter] + xStart - subLineStart;\n\t} else {\n\t\t// Indicator continued from earlier line so make an empty box and don't draw\n\t\trcFirstCharacter.right = rcFirstCharacter.left;\n\t}\n\tvsDraw.indicators[indicNum].Draw(surface, rcIndic, rcLine, rcFirstCharacter, drawState, value);\n}\n\nstatic void DrawIndicators(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, int xStart, PRectangle rcLine, int subLine, Sci::Position lineEnd, bool under, Sci::Position hoverIndicatorPos) {\n\t// Draw decorators\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\tconst Sci::Position lineStart = ll->LineStart(subLine);\n\tconst Sci::Position posLineEnd = posLineStart + lineEnd;\n\n\tfor (const IDecoration *deco : model.pdoc->decorations->View()) {\n\t\tif (under == vsDraw.indicators[deco->Indicator()].under) {\n\t\t\tSci::Position startPos = posLineStart + lineStart;\n\t\t\tif (!deco->ValueAt(startPos)) {\n\t\t\t\tstartPos = deco->EndRun(startPos);\n\t\t\t}\n\t\t\twhile ((startPos < posLineEnd) && (deco->ValueAt(startPos))) {\n\t\t\t\tconst Range rangeRun(deco->StartRun(startPos), deco->EndRun(startPos));\n\t\t\t\tconst Sci::Position endPos = std::min(rangeRun.end, posLineEnd);\n\t\t\t\tconst bool hover = vsDraw.indicators[deco->Indicator()].IsDynamic() &&\n\t\t\t\t\trangeRun.ContainsCharacter(hoverIndicatorPos);\n\t\t\t\tconst int value = deco->ValueAt(startPos);\n\t\t\t\tconst Indicator::DrawState drawState = hover ? Indicator::drawHover : Indicator::drawNormal;\n\t\t\t\tconst Sci::Position posSecond = model.pdoc->MovePositionOutsideChar(rangeRun.First() + 1, 1);\n\t\t\t\tDrawIndicator(deco->Indicator(), startPos - posLineStart, endPos - posLineStart,\n\t\t\t\t\tsurface, vsDraw, ll, xStart, rcLine, posSecond - posLineStart, subLine, drawState, value);\n\t\t\t\tstartPos = endPos;\n\t\t\t\tif (!deco->ValueAt(startPos)) {\n\t\t\t\t\tstartPos = deco->EndRun(startPos);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Use indicators to highlight matching braces\n\tif ((vsDraw.braceHighlightIndicatorSet && (model.bracesMatchStyle == STYLE_BRACELIGHT)) ||\n\t\t(vsDraw.braceBadLightIndicatorSet && (model.bracesMatchStyle == STYLE_BRACEBAD))) {\n\t\tconst int braceIndicator = (model.bracesMatchStyle == STYLE_BRACELIGHT) ? vsDraw.braceHighlightIndicator : vsDraw.braceBadLightIndicator;\n\t\tif (under == vsDraw.indicators[braceIndicator].under) {\n\t\t\tconst Range rangeLine(posLineStart + lineStart, posLineEnd);\n\t\t\tif (rangeLine.ContainsCharacter(model.braces[0])) {\n\t\t\t\tconst Sci::Position braceOffset = model.braces[0] - posLineStart;\n\t\t\t\tif (braceOffset < ll->numCharsInLine) {\n\t\t\t\t\tconst Sci::Position secondOffset = model.pdoc->MovePositionOutsideChar(model.braces[0] + 1, 1) - posLineStart;\n\t\t\t\t\tDrawIndicator(braceIndicator, braceOffset, braceOffset + 1, surface, vsDraw, ll, xStart, rcLine, secondOffset, subLine, Indicator::drawNormal, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (rangeLine.ContainsCharacter(model.braces[1])) {\n\t\t\t\tconst Sci::Position braceOffset = model.braces[1] - posLineStart;\n\t\t\t\tif (braceOffset < ll->numCharsInLine) {\n\t\t\t\t\tconst Sci::Position secondOffset = model.pdoc->MovePositionOutsideChar(model.braces[1] + 1, 1) - posLineStart;\n\t\t\t\t\tDrawIndicator(braceIndicator, braceOffset, braceOffset + 1, surface, vsDraw, ll, xStart, rcLine, secondOffset, subLine, Indicator::drawNormal, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid EditView::DrawFoldDisplayText(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\t\t\t\t\t\t\t  Sci::Line line, int xStart, PRectangle rcLine, int subLine, XYACCUMULATOR subLineStart, DrawPhase phase) {\n\tconst bool lastSubLine = subLine == (ll->lines - 1);\n\tif (!lastSubLine)\n\t\treturn;\n\n\tif ((model.foldDisplayTextStyle == SC_FOLDDISPLAYTEXT_HIDDEN) || !model.pcs->GetFoldDisplayTextShown(line))\n\t\treturn;\n\n\tPRectangle rcSegment = rcLine;\n\tconst char *foldDisplayText = model.pcs->GetFoldDisplayText(line);\n\tconst int lengthFoldDisplayText = static_cast<int>(strlen(foldDisplayText));\n\tFontAlias fontText = vsDraw.styles[STYLE_FOLDDISPLAYTEXT].font;\n\tconst int widthFoldDisplayText = static_cast<int>(surface->WidthText(fontText, foldDisplayText, lengthFoldDisplayText));\n\n\tint eolInSelection = 0;\n\tint alpha = SC_ALPHA_NOALPHA;\n\tif (!hideSelection) {\n\t\tconst Sci::Position posAfterLineEnd = model.pdoc->LineStart(line + 1);\n\t\teolInSelection = (subLine == (ll->lines - 1)) ? model.sel.InSelectionForEOL(posAfterLineEnd) : 0;\n\t\talpha = (eolInSelection == 1) ? vsDraw.selAlpha : vsDraw.selAdditionalAlpha;\n\t}\n\n\tconst XYPOSITION spaceWidth = vsDraw.styles[ll->EndLineStyle()].spaceWidth;\n\tconst XYPOSITION virtualSpace = model.sel.VirtualSpaceFor(\n\t\tmodel.pdoc->LineEnd(line)) * spaceWidth;\n\trcSegment.left = xStart + static_cast<XYPOSITION>(ll->positions[ll->numCharsInLine] - subLineStart) + virtualSpace + vsDraw.aveCharWidth;\n\trcSegment.right = rcSegment.left + static_cast<XYPOSITION>(widthFoldDisplayText);\n\n\tconst ColourOptional background = vsDraw.Background(model.pdoc->GetMark(line), model.caret.active, ll->containsCaret);\n\tFontAlias textFont = vsDraw.styles[STYLE_FOLDDISPLAYTEXT].font;\n\tColourDesired textFore = vsDraw.styles[STYLE_FOLDDISPLAYTEXT].fore;\n\tif (eolInSelection && (vsDraw.selColours.fore.isSet)) {\n\t\ttextFore = (eolInSelection == 1) ? vsDraw.selColours.fore : vsDraw.selAdditionalForeground;\n\t}\n\tconst ColourDesired textBack = TextBackground(model, vsDraw, ll, background, eolInSelection,\n\t\t\t\t\t\t\t\t\t\t\tfalse, STYLE_FOLDDISPLAYTEXT, -1);\n\n\tif (model.trackLineWidth) {\n\t\tif (rcSegment.right + 1> lineWidthMaxSeen) {\n\t\t\t// Fold display text border drawn on rcSegment.right with width 1 is the last visble object of the line\n\t\t\tlineWidthMaxSeen = static_cast<int>(rcSegment.right + 1);\n\t\t}\n\t}\n\n\tif (phase & drawBack) {\n\t\tsurface->FillRectangle(rcSegment, textBack);\n\n\t\t// Fill Remainder of the line\n\t\tPRectangle rcRemainder = rcSegment;\n\t\trcRemainder.left = rcRemainder.right;\n\t\tif (rcRemainder.left < rcLine.left)\n\t\t\trcRemainder.left = rcLine.left;\n\t\trcRemainder.right = rcLine.right;\n\t\tFillLineRemainder(surface, model, vsDraw, ll, line, rcRemainder, subLine);\n\t}\n\n\tif (phase & drawText) {\n\t\tif (phasesDraw != phasesOne) {\n\t\t\tsurface->DrawTextTransparent(rcSegment, textFont,\n\t\t\t\trcSegment.top + vsDraw.maxAscent, foldDisplayText,\n\t\t\t\tlengthFoldDisplayText, textFore);\n\t\t} else {\n\t\t\tsurface->DrawTextNoClip(rcSegment, textFont,\n\t\t\t\trcSegment.top + vsDraw.maxAscent, foldDisplayText,\n\t\t\t\tlengthFoldDisplayText, textFore, textBack);\n\t\t}\n\t}\n\n\tif (phase & drawIndicatorsFore) {\n\t\tif (model.foldDisplayTextStyle == SC_FOLDDISPLAYTEXT_BOXED) {\n\t\t\tsurface->PenColour(textFore);\n\t\t\tPRectangle rcBox = rcSegment;\n\t\t\trcBox.left = round(rcSegment.left);\n\t\t\trcBox.right = round(rcSegment.right);\n\t\t\tconst IntegerRectangle ircBox(rcBox);\n\t\t\tsurface->MoveTo(ircBox.left, ircBox.top);\n\t\t\tsurface->LineTo(ircBox.left, ircBox.bottom);\n\t\t\tsurface->MoveTo(ircBox.right, ircBox.top);\n\t\t\tsurface->LineTo(ircBox.right, ircBox.bottom);\n\t\t\tsurface->MoveTo(ircBox.left, ircBox.top);\n\t\t\tsurface->LineTo(ircBox.right, ircBox.top);\n\t\t\tsurface->MoveTo(ircBox.left, ircBox.bottom - 1);\n\t\t\tsurface->LineTo(ircBox.right, ircBox.bottom - 1);\n\t\t}\n\t}\n\n\tif (phase & drawSelectionTranslucent) {\n\t\tif (eolInSelection && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1) && alpha != SC_ALPHA_NOALPHA) {\n\t\t\tSimpleAlphaRectangle(surface, rcSegment, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection), alpha);\n\t\t}\n\t}\n}\n\nstatic constexpr bool AnnotationBoxedOrIndented(int annotationVisible) noexcept {\n\treturn annotationVisible == ANNOTATION_BOXED || annotationVisible == ANNOTATION_INDENTED;\n}\n\nvoid EditView::DrawAnnotation(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, int xStart, PRectangle rcLine, int subLine, DrawPhase phase) {\n\tconst int indent = static_cast<int>(model.pdoc->GetLineIndentation(line) * vsDraw.spaceWidth);\n\tPRectangle rcSegment = rcLine;\n\tconst int annotationLine = subLine - ll->lines;\n\tconst StyledText stAnnotation = model.pdoc->AnnotationStyledText(line);\n\tif (stAnnotation.text && ValidStyledText(vsDraw, vsDraw.annotationStyleOffset, stAnnotation)) {\n\t\tif (phase & drawBack) {\n\t\t\tsurface->FillRectangle(rcSegment, vsDraw.styles[0].back);\n\t\t}\n\t\trcSegment.left = static_cast<XYPOSITION>(xStart);\n\t\tif (model.trackLineWidth || AnnotationBoxedOrIndented(vsDraw.annotationVisible)) {\n\t\t\t// Only care about calculating width if tracking or need to draw indented box\n\t\t\tint widthAnnotation = WidestLineWidth(surface, vsDraw, vsDraw.annotationStyleOffset, stAnnotation);\n\t\t\tif (AnnotationBoxedOrIndented(vsDraw.annotationVisible)) {\n\t\t\t\twidthAnnotation += static_cast<int>(vsDraw.spaceWidth * 2); // Margins\n\t\t\t\trcSegment.left = static_cast<XYPOSITION>(xStart + indent);\n\t\t\t\trcSegment.right = rcSegment.left + widthAnnotation;\n\t\t\t}\n\t\t\tif (widthAnnotation > lineWidthMaxSeen)\n\t\t\t\tlineWidthMaxSeen = widthAnnotation;\n\t\t}\n\t\tconst int annotationLines = model.pdoc->AnnotationLines(line);\n\t\tsize_t start = 0;\n\t\tsize_t lengthAnnotation = stAnnotation.LineLength(start);\n\t\tint lineInAnnotation = 0;\n\t\twhile ((lineInAnnotation < annotationLine) && (start < stAnnotation.length)) {\n\t\t\tstart += lengthAnnotation + 1;\n\t\t\tlengthAnnotation = stAnnotation.LineLength(start);\n\t\t\tlineInAnnotation++;\n\t\t}\n\t\tPRectangle rcText = rcSegment;\n\t\tif ((phase & drawBack) && AnnotationBoxedOrIndented(vsDraw.annotationVisible)) {\n\t\t\tsurface->FillRectangle(rcText,\n\t\t\t\tvsDraw.styles[stAnnotation.StyleAt(start) + vsDraw.annotationStyleOffset].back);\n\t\t\trcText.left += vsDraw.spaceWidth;\n\t\t}\n\t\tDrawStyledText(surface, vsDraw, vsDraw.annotationStyleOffset, rcText,\n\t\t\tstAnnotation, start, lengthAnnotation, phase);\n\t\tif ((phase & drawBack) && (vsDraw.annotationVisible == ANNOTATION_BOXED)) {\n\t\t\tsurface->PenColour(vsDraw.styles[vsDraw.annotationStyleOffset].fore);\n\t\t\tconst IntegerRectangle ircSegment(rcSegment);\n\t\t\tsurface->MoveTo(ircSegment.left, ircSegment.top);\n\t\t\tsurface->LineTo(ircSegment.left, ircSegment.bottom);\n\t\t\tsurface->MoveTo(ircSegment.right, ircSegment.top);\n\t\t\tsurface->LineTo(ircSegment.right, ircSegment.bottom);\n\t\t\tif (subLine == ll->lines) {\n\t\t\t\tsurface->MoveTo(ircSegment.left, ircSegment.top);\n\t\t\t\tsurface->LineTo(ircSegment.right, ircSegment.top);\n\t\t\t}\n\t\t\tif (subLine == ll->lines + annotationLines - 1) {\n\t\t\t\tsurface->MoveTo(ircSegment.left, ircSegment.bottom - 1);\n\t\t\t\tsurface->LineTo(ircSegment.right, ircSegment.bottom - 1);\n\t\t\t}\n\t\t}\n\t}\n}\n\nstatic void DrawBlockCaret(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tint subLine, int xStart, Sci::Position offset, Sci::Position posCaret, PRectangle rcCaret, ColourDesired caretColour) {\n\n\tconst Sci::Position lineStart = ll->LineStart(subLine);\n\tSci::Position posBefore = posCaret;\n\tSci::Position posAfter = model.pdoc->MovePositionOutsideChar(posCaret + 1, 1);\n\tSci::Position numCharsToDraw = posAfter - posCaret;\n\n\t// Work out where the starting and ending offsets are. We need to\n\t// see if the previous character shares horizontal space, such as a\n\t// glyph / combining character. If so we'll need to draw that too.\n\tSci::Position offsetFirstChar = offset;\n\tSci::Position offsetLastChar = offset + (posAfter - posCaret);\n\twhile ((posBefore > 0) && ((offsetLastChar - numCharsToDraw) >= lineStart)) {\n\t\tif ((ll->positions[offsetLastChar] - ll->positions[offsetLastChar - numCharsToDraw]) > 0) {\n\t\t\t// The char does not share horizontal space\n\t\t\tbreak;\n\t\t}\n\t\t// Char shares horizontal space, update the numChars to draw\n\t\t// Update posBefore to point to the prev char\n\t\tposBefore = model.pdoc->MovePositionOutsideChar(posBefore - 1, -1);\n\t\tnumCharsToDraw = posAfter - posBefore;\n\t\toffsetFirstChar = offset - (posCaret - posBefore);\n\t}\n\n\t// See if the next character shares horizontal space, if so we'll\n\t// need to draw that too.\n\tif (offsetFirstChar < 0)\n\t\toffsetFirstChar = 0;\n\tnumCharsToDraw = offsetLastChar - offsetFirstChar;\n\twhile ((offsetLastChar < ll->LineStart(subLine + 1)) && (offsetLastChar <= ll->numCharsInLine)) {\n\t\t// Update posAfter to point to the 2nd next char, this is where\n\t\t// the next character ends, and 2nd next begins. We'll need\n\t\t// to compare these two\n\t\tposBefore = posAfter;\n\t\tposAfter = model.pdoc->MovePositionOutsideChar(posAfter + 1, 1);\n\t\toffsetLastChar = offset + (posAfter - posCaret);\n\t\tif ((ll->positions[offsetLastChar] - ll->positions[offsetLastChar - (posAfter - posBefore)]) > 0) {\n\t\t\t// The char does not share horizontal space\n\t\t\tbreak;\n\t\t}\n\t\t// Char shares horizontal space, update the numChars to draw\n\t\tnumCharsToDraw = offsetLastChar - offsetFirstChar;\n\t}\n\n\t// We now know what to draw, update the caret drawing rectangle\n\trcCaret.left = ll->positions[offsetFirstChar] - ll->positions[lineStart] + xStart;\n\trcCaret.right = ll->positions[offsetFirstChar + numCharsToDraw] - ll->positions[lineStart] + xStart;\n\n\t// Adjust caret position to take into account any word wrapping symbols.\n\tif ((ll->wrapIndent != 0) && (lineStart != 0)) {\n\t\tconst XYPOSITION wordWrapCharWidth = ll->wrapIndent;\n\t\trcCaret.left += wordWrapCharWidth;\n\t\trcCaret.right += wordWrapCharWidth;\n\t}\n\n\t// This character is where the caret block is, we override the colours\n\t// (inversed) for drawing the caret here.\n\tconst int styleMain = ll->styles[offsetFirstChar];\n\tFontAlias fontText = vsDraw.styles[styleMain].font;\n\tsurface->DrawTextClipped(rcCaret, fontText,\n\t\trcCaret.top + vsDraw.maxAscent, &ll->chars[offsetFirstChar],\n\t\tstatic_cast<int>(numCharsToDraw), vsDraw.styles[styleMain].back,\n\t\tcaretColour);\n}\n\nvoid EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line lineDoc, int xStart, PRectangle rcLine, int subLine) const {\n\t// When drag is active it is the only caret drawn\n\tconst bool drawDrag = model.posDrag.IsValid();\n\tif (hideSelection && !drawDrag)\n\t\treturn;\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(lineDoc);\n\t// For each selection draw\n\tfor (size_t r = 0; (r<model.sel.Count()) || drawDrag; r++) {\n\t\tconst bool mainCaret = r == model.sel.Main();\n\t\tSelectionPosition posCaret = (drawDrag ? model.posDrag : model.sel.Range(r).caret);\n\t\tif (vsDraw.caretStyle == CARETSTYLE_BLOCK && !drawDrag && posCaret > model.sel.Range(r).anchor) {\n\t\t\tif (posCaret.VirtualSpace() > 0)\n\t\t\t\tposCaret.SetVirtualSpace(posCaret.VirtualSpace() - 1);\n\t\t\telse\n\t\t\t\tposCaret.SetPosition(model.pdoc->MovePositionOutsideChar(posCaret.Position()-1, -1));\n\t\t}\n\t\tconst int offset = static_cast<int>(posCaret.Position() - posLineStart);\n\t\tconst XYPOSITION spaceWidth = vsDraw.styles[ll->EndLineStyle()].spaceWidth;\n\t\tconst XYPOSITION virtualOffset = posCaret.VirtualSpace() * spaceWidth;\n\t\tif (ll->InLine(offset, subLine) && offset <= ll->numCharsBeforeEOL) {\n\t\t\tXYPOSITION xposCaret = ll->positions[offset] + virtualOffset - ll->positions[ll->LineStart(subLine)];\n\t\t\tif (ll->wrapIndent != 0) {\n\t\t\t\tconst Sci::Position lineStart = ll->LineStart(subLine);\n\t\t\t\tif (lineStart != 0)\t// Wrapped\n\t\t\t\t\txposCaret += ll->wrapIndent;\n\t\t\t}\n\t\t\tconst bool caretBlinkState = (model.caret.active && model.caret.on) || (!additionalCaretsBlink && !mainCaret);\n\t\t\tconst bool caretVisibleState = additionalCaretsVisible || mainCaret;\n\t\t\tif ((xposCaret >= 0) && (vsDraw.caretWidth > 0) && (vsDraw.caretStyle != CARETSTYLE_INVISIBLE) &&\n\t\t\t\t((model.posDrag.IsValid()) || (caretBlinkState && caretVisibleState))) {\n\t\t\t\tbool caretAtEOF = false;\n\t\t\t\tbool caretAtEOL = false;\n\t\t\t\tbool drawBlockCaret = false;\n\t\t\t\tXYPOSITION widthOverstrikeCaret;\n\t\t\t\tXYPOSITION caretWidthOffset = 0;\n\t\t\t\tPRectangle rcCaret = rcLine;\n\n\t\t\t\tif (posCaret.Position() == model.pdoc->Length()) {   // At end of document\n\t\t\t\t\tcaretAtEOF = true;\n\t\t\t\t\twidthOverstrikeCaret = vsDraw.aveCharWidth;\n\t\t\t\t} else if ((posCaret.Position() - posLineStart) >= ll->numCharsInLine) {\t// At end of line\n\t\t\t\t\tcaretAtEOL = true;\n\t\t\t\t\twidthOverstrikeCaret = vsDraw.aveCharWidth;\n\t\t\t\t} else {\n\t\t\t\t\tconst int widthChar = model.pdoc->LenChar(posCaret.Position());\n\t\t\t\t\twidthOverstrikeCaret = ll->positions[offset + widthChar] - ll->positions[offset];\n\t\t\t\t}\n\t\t\t\tif (widthOverstrikeCaret < 3)\t// Make sure its visible\n\t\t\t\t\twidthOverstrikeCaret = 3;\n\n\t\t\t\tif (xposCaret > 0)\n\t\t\t\t\tcaretWidthOffset = 0.51f;\t// Move back so overlaps both character cells.\n\t\t\t\txposCaret += xStart;\n\t\t\t\tif (model.posDrag.IsValid()) {\n\t\t\t\t\t/* Dragging text, use a line caret */\n\t\t\t\t\trcCaret.left = round(xposCaret - caretWidthOffset);\n\t\t\t\t\trcCaret.right = rcCaret.left + vsDraw.caretWidth;\n\t\t\t\t} else if (model.inOverstrike && drawOverstrikeCaret) {\n\t\t\t\t\t/* Overstrike (insert mode), use a modified bar caret */\n\t\t\t\t\trcCaret.top = rcCaret.bottom - 2;\n\t\t\t\t\trcCaret.left = xposCaret + 1;\n\t\t\t\t\trcCaret.right = rcCaret.left + widthOverstrikeCaret - 1;\n\t\t\t\t} else if ((vsDraw.caretStyle == CARETSTYLE_BLOCK) || imeCaretBlockOverride) {\n\t\t\t\t\t/* Block caret */\n\t\t\t\t\trcCaret.left = xposCaret;\n\t\t\t\t\tif (!caretAtEOL && !caretAtEOF && (ll->chars[offset] != '\\t') && !(IsControlCharacter(ll->chars[offset]))) {\n\t\t\t\t\t\tdrawBlockCaret = true;\n\t\t\t\t\t\trcCaret.right = xposCaret + widthOverstrikeCaret;\n\t\t\t\t\t} else {\n\t\t\t\t\t\trcCaret.right = xposCaret + vsDraw.aveCharWidth;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t/* Line caret */\n\t\t\t\t\trcCaret.left = round(xposCaret - caretWidthOffset);\n\t\t\t\t\trcCaret.right = rcCaret.left + vsDraw.caretWidth;\n\t\t\t\t}\n\t\t\t\tconst ColourDesired caretColour = mainCaret ? vsDraw.caretcolour : vsDraw.additionalCaretColour;\n\t\t\t\tif (drawBlockCaret) {\n\t\t\t\t\tDrawBlockCaret(surface, model, vsDraw, ll, subLine, xStart, offset, posCaret.Position(), rcCaret, caretColour);\n\t\t\t\t} else {\n\t\t\t\t\tsurface->FillRectangle(rcCaret, caretColour);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (drawDrag)\n\t\t\tbreak;\n\t}\n}\n\nstatic void DrawWrapIndentAndMarker(Surface *surface, const ViewStyle &vsDraw, const LineLayout *ll,\n\tint xStart, PRectangle rcLine, ColourOptional background, DrawWrapMarkerFn customDrawWrapMarker,\n\tbool caretActive) {\n\t// default bgnd here..\n\tsurface->FillRectangle(rcLine, background.isSet ? background :\n\t\tvsDraw.styles[STYLE_DEFAULT].back);\n\n\tif (vsDraw.IsLineFrameOpaque(caretActive, ll->containsCaret)) {\n\t\tconst int width = vsDraw.GetFrameWidth();\n\t\t// Draw left of frame under marker\n\t\tDrawFrame(surface, vsDraw.caretLineBackground, vsDraw.caretLineAlpha,\n\t\t\tPRectangle(rcLine.left, rcLine.top, rcLine.left + width, rcLine.bottom));\n\t}\n\n\tif (vsDraw.wrapVisualFlags & SC_WRAPVISUALFLAG_START) {\n\n\t\t// draw continuation rect\n\t\tPRectangle rcPlace = rcLine;\n\n\t\trcPlace.left = static_cast<XYPOSITION>(xStart);\n\t\trcPlace.right = rcPlace.left + ll->wrapIndent;\n\n\t\tif (vsDraw.wrapVisualFlagsLocation & SC_WRAPVISUALFLAGLOC_START_BY_TEXT)\n\t\t\trcPlace.left = rcPlace.right - vsDraw.aveCharWidth;\n\t\telse\n\t\t\trcPlace.right = rcPlace.left + vsDraw.aveCharWidth;\n\n\t\tif (!customDrawWrapMarker) {\n\t\t\tDrawWrapMarker(surface, rcPlace, false, vsDraw.WrapColour());\n\t\t} else {\n\t\t\tcustomDrawWrapMarker(surface, rcPlace, false, vsDraw.WrapColour());\n\t\t}\n\t}\n}\n\nvoid EditView::DrawBackground(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tPRectangle rcLine, Range lineRange, Sci::Position posLineStart, int xStart,\n\tint subLine, ColourOptional background) const {\n\n\tconst bool selBackDrawn = vsDraw.SelectionBackgroundDrawn();\n\tbool inIndentation = subLine == 0;\t// Do not handle indentation except on first subline.\n\tconst XYACCUMULATOR subLineStart = ll->positions[lineRange.start];\n\t// Does not take margin into account but not significant\n\tconst int xStartVisible = static_cast<int>(subLineStart)-xStart;\n\n\tBreakFinder bfBack(ll, &model.sel, lineRange, posLineStart, xStartVisible, selBackDrawn, model.pdoc, &model.reprs, nullptr);\n\n\tconst bool drawWhitespaceBackground = vsDraw.WhitespaceBackgroundDrawn() && !background.isSet;\n\n\t// Background drawing loop\n\twhile (bfBack.More()) {\n\n\t\tconst TextSegment ts = bfBack.Next();\n\t\tconst Sci::Position i = ts.end() - 1;\n\t\tconst Sci::Position iDoc = i + posLineStart;\n\n\t\tPRectangle rcSegment = rcLine;\n\t\trcSegment.left = ll->positions[ts.start] + xStart - static_cast<XYPOSITION>(subLineStart);\n\t\trcSegment.right = ll->positions[ts.end()] + xStart - static_cast<XYPOSITION>(subLineStart);\n\t\t// Only try to draw if really visible - enhances performance by not calling environment to\n\t\t// draw strings that are completely past the right side of the window.\n\t\tif (!rcSegment.Empty() && rcSegment.Intersects(rcLine)) {\n\t\t\t// Clip to line rectangle, since may have a huge position which will not work with some platforms\n\t\t\tif (rcSegment.left < rcLine.left)\n\t\t\t\trcSegment.left = rcLine.left;\n\t\t\tif (rcSegment.right > rcLine.right)\n\t\t\t\trcSegment.right = rcLine.right;\n\n\t\t\tconst int inSelection = hideSelection ? 0 : model.sel.CharacterInSelection(iDoc);\n\t\t\tconst bool inHotspot = (ll->hotspot.Valid()) && ll->hotspot.ContainsCharacter(iDoc);\n\t\t\tColourDesired textBack = TextBackground(model, vsDraw, ll, background, inSelection,\n\t\t\t\tinHotspot, ll->styles[i], i);\n\t\t\tif (ts.representation) {\n\t\t\t\tif (ll->chars[i] == '\\t') {\n\t\t\t\t\t// Tab display\n\t\t\t\t\tif (drawWhitespaceBackground && vsDraw.WhiteSpaceVisible(inIndentation))\n\t\t\t\t\t\ttextBack = vsDraw.whitespaceColours.back;\n\t\t\t\t} else {\n\t\t\t\t\t// Blob display\n\t\t\t\t\tinIndentation = false;\n\t\t\t\t}\n\t\t\t\tsurface->FillRectangle(rcSegment, textBack);\n\t\t\t} else {\n\t\t\t\t// Normal text display\n\t\t\t\tsurface->FillRectangle(rcSegment, textBack);\n\t\t\t\tif (vsDraw.viewWhitespace != wsInvisible) {\n\t\t\t\t\tfor (int cpos = 0; cpos <= i - ts.start; cpos++) {\n\t\t\t\t\t\tif (ll->chars[cpos + ts.start] == ' ') {\n\t\t\t\t\t\t\tif (drawWhitespaceBackground && vsDraw.WhiteSpaceVisible(inIndentation)) {\n\t\t\t\t\t\t\t\tconst PRectangle rcSpace(\n\t\t\t\t\t\t\t\t\tll->positions[cpos + ts.start] + xStart - static_cast<XYPOSITION>(subLineStart),\n\t\t\t\t\t\t\t\t\trcSegment.top,\n\t\t\t\t\t\t\t\t\tll->positions[cpos + ts.start + 1] + xStart - static_cast<XYPOSITION>(subLineStart),\n\t\t\t\t\t\t\t\t\trcSegment.bottom);\n\t\t\t\t\t\t\t\tsurface->FillRectangle(rcSpace, vsDraw.whitespaceColours.back);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinIndentation = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (rcSegment.left > rcLine.right) {\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nstatic void DrawEdgeLine(Surface *surface, const ViewStyle &vsDraw, const LineLayout *ll, PRectangle rcLine,\n\tRange lineRange, int xStart) {\n\tif (vsDraw.edgeState == EDGE_LINE) {\n\t\tPRectangle rcSegment = rcLine;\n\t\tconst int edgeX = static_cast<int>(vsDraw.theEdge.column * vsDraw.spaceWidth);\n\t\trcSegment.left = static_cast<XYPOSITION>(edgeX + xStart);\n\t\tif ((ll->wrapIndent != 0) && (lineRange.start != 0))\n\t\t\trcSegment.left -= ll->wrapIndent;\n\t\trcSegment.right = rcSegment.left + 1;\n\t\tsurface->FillRectangle(rcSegment, vsDraw.theEdge.colour);\n\t} else if (vsDraw.edgeState == EDGE_MULTILINE) {\n\t\tfor (size_t edge = 0; edge < vsDraw.theMultiEdge.size(); edge++) {\n\t\t\tif (vsDraw.theMultiEdge[edge].column >= 0) {\n\t\t\t\tPRectangle rcSegment = rcLine;\n\t\t\t\tconst int edgeX = static_cast<int>(vsDraw.theMultiEdge[edge].column * vsDraw.spaceWidth);\n\t\t\t\trcSegment.left = static_cast<XYPOSITION>(edgeX + xStart);\n\t\t\t\tif ((ll->wrapIndent != 0) && (lineRange.start != 0))\n\t\t\t\t\trcSegment.left -= ll->wrapIndent;\n\t\t\t\trcSegment.right = rcSegment.left + 1;\n\t\t\t\tsurface->FillRectangle(rcSegment, vsDraw.theMultiEdge[edge].colour);\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Draw underline mark as part of background if not transparent\nstatic void DrawMarkUnderline(Surface *surface, const EditModel &model, const ViewStyle &vsDraw,\n\tSci::Line line, PRectangle rcLine) {\n\tint marks = model.pdoc->GetMark(line);\n\tfor (int markBit = 0; (markBit < 32) && marks; markBit++) {\n\t\tif ((marks & 1) && (vsDraw.markers[markBit].markType == SC_MARK_UNDERLINE) &&\n\t\t\t(vsDraw.markers[markBit].alpha == SC_ALPHA_NOALPHA)) {\n\t\t\tPRectangle rcUnderline = rcLine;\n\t\t\trcUnderline.top = rcUnderline.bottom - 2;\n\t\t\tsurface->FillRectangle(rcUnderline, vsDraw.markers[markBit].back);\n\t\t}\n\t\tmarks >>= 1;\n\t}\n}\nstatic void DrawTranslucentSelection(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, PRectangle rcLine, int subLine, Range lineRange, int xStart) {\n\tif ((vsDraw.selAlpha != SC_ALPHA_NOALPHA) || (vsDraw.selAdditionalAlpha != SC_ALPHA_NOALPHA)) {\n\t\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\t\tconst XYACCUMULATOR subLineStart = ll->positions[lineRange.start];\n\t\t// For each selection draw\n\t\tSci::Position virtualSpaces = 0;\n\t\tif (subLine == (ll->lines - 1)) {\n\t\t\tvirtualSpaces = model.sel.VirtualSpaceFor(model.pdoc->LineEnd(line));\n\t\t}\n\t\tconst SelectionPosition posStart(posLineStart + lineRange.start);\n\t\tconst SelectionPosition posEnd(posLineStart + lineRange.end, virtualSpaces);\n\t\tconst SelectionSegment virtualSpaceRange(posStart, posEnd);\n\t\tfor (size_t r = 0; r < model.sel.Count(); r++) {\n\t\t\tconst int alpha = (r == model.sel.Main()) ? vsDraw.selAlpha : vsDraw.selAdditionalAlpha;\n\t\t\tif (alpha != SC_ALPHA_NOALPHA) {\n\t\t\t\tconst SelectionSegment portion = model.sel.Range(r).Intersect(virtualSpaceRange);\n\t\t\t\tif (!portion.Empty()) {\n\t\t\t\t\tconst XYPOSITION spaceWidth = vsDraw.styles[ll->EndLineStyle()].spaceWidth;\n\t\t\t\t\tPRectangle rcSegment = rcLine;\n\t\t\t\t\trcSegment.left = xStart + ll->positions[portion.start.Position() - posLineStart] -\n\t\t\t\t\t\tstatic_cast<XYPOSITION>(subLineStart)+portion.start.VirtualSpace() * spaceWidth;\n\t\t\t\t\trcSegment.right = xStart + ll->positions[portion.end.Position() - posLineStart] -\n\t\t\t\t\t\tstatic_cast<XYPOSITION>(subLineStart)+portion.end.VirtualSpace() * spaceWidth;\n\t\t\t\t\tif ((ll->wrapIndent != 0) && (lineRange.start != 0)) {\n\t\t\t\t\t\tif ((portion.start.Position() - posLineStart) == lineRange.start && model.sel.Range(r).ContainsCharacter(portion.start.Position() - 1))\n\t\t\t\t\t\t\trcSegment.left -= static_cast<int>(ll->wrapIndent); // indentation added to xStart was truncated to int, so we do the same here\n\t\t\t\t\t}\n\t\t\t\t\trcSegment.left = (rcSegment.left > rcLine.left) ? rcSegment.left : rcLine.left;\n\t\t\t\t\trcSegment.right = (rcSegment.right < rcLine.right) ? rcSegment.right : rcLine.right;\n\t\t\t\t\tif (rcSegment.right > rcLine.left)\n\t\t\t\t\t\tSimpleAlphaRectangle(surface, rcSegment, SelectionBackground(vsDraw, r == model.sel.Main(), model.primarySelection), alpha);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Draw any translucent whole line states\nstatic void DrawTranslucentLineState(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, PRectangle rcLine, int subLine) {\n\tif ((model.caret.active || vsDraw.alwaysShowCaretLineBackground) && vsDraw.showCaretLineBackground && ll->containsCaret &&\n\t\tvsDraw.caretLineAlpha != SC_ALPHA_NOALPHA) {\n\t\tif (vsDraw.caretLineFrame) {\n\t\t\tDrawCaretLineFramed(surface, vsDraw, ll, rcLine, subLine);\n\t\t} else {\n\t\t\tSimpleAlphaRectangle(surface, rcLine, vsDraw.caretLineBackground, vsDraw.caretLineAlpha);\n\t\t}\n\t}\n\tconst int marksOfLine = model.pdoc->GetMark(line);\n\tint marksDrawnInText = marksOfLine & vsDraw.maskDrawInText;\n\tfor (int markBit = 0; (markBit < 32) && marksDrawnInText; markBit++) {\n\t\tif (marksDrawnInText & 1) {\n\t\t\tif (vsDraw.markers[markBit].markType == SC_MARK_BACKGROUND) {\n\t\t\t\tSimpleAlphaRectangle(surface, rcLine, vsDraw.markers[markBit].back, vsDraw.markers[markBit].alpha);\n\t\t\t} else if (vsDraw.markers[markBit].markType == SC_MARK_UNDERLINE) {\n\t\t\t\tPRectangle rcUnderline = rcLine;\n\t\t\t\trcUnderline.top = rcUnderline.bottom - 2;\n\t\t\t\tSimpleAlphaRectangle(surface, rcUnderline, vsDraw.markers[markBit].back, vsDraw.markers[markBit].alpha);\n\n\t\t\t}else if (vsDraw.markers[markBit].markType == SC_MARK_AVAILABLE) {\n\t\t\t\tSimpleAlphaRectangle(surface, rcLine, vsDraw.markers[markBit].alpha);\n\t\t\t}\n\t\t}\n\t\tmarksDrawnInText >>= 1;\n\t}\n\tint marksDrawnInLine = marksOfLine & vsDraw.maskInLine;\n\tfor (int markBit = 0; (markBit < 32) && marksDrawnInLine; markBit++) {\n\t\tif (marksDrawnInLine & 1) {\n\t\t\tSimpleAlphaRectangle(surface, rcLine, vsDraw.markers[markBit].back, vsDraw.markers[markBit].alpha);\n\t\t}\n\t\tmarksDrawnInLine >>= 1;\n\t}\n}\n\nvoid EditView::DrawForeground(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line lineVisible, PRectangle rcLine, Range lineRange, Sci::Position posLineStart, int xStart,\n\tint subLine, ColourOptional background) {\n\n\tconst bool selBackDrawn = vsDraw.SelectionBackgroundDrawn();\n\tconst bool drawWhitespaceBackground = vsDraw.WhitespaceBackgroundDrawn() && !background.isSet;\n\tbool inIndentation = subLine == 0;\t// Do not handle indentation except on first subline.\n\n\tconst XYACCUMULATOR subLineStart = ll->positions[lineRange.start];\n\tconst XYPOSITION indentWidth = model.pdoc->IndentSize() * vsDraw.spaceWidth;\n\n\t// Does not take margin into account but not significant\n\tconst int xStartVisible = static_cast<int>(subLineStart)-xStart;\n\n\t// Foreground drawing loop\n\tBreakFinder bfFore(ll, &model.sel, lineRange, posLineStart, xStartVisible,\n\t\t(((phasesDraw == phasesOne) && selBackDrawn) || vsDraw.selColours.fore.isSet), model.pdoc, &model.reprs, &vsDraw);\n\n\twhile (bfFore.More()) {\n\n\t\tconst TextSegment ts = bfFore.Next();\n\t\tconst Sci::Position i = ts.end() - 1;\n\t\tconst Sci::Position iDoc = i + posLineStart;\n\n\t\tPRectangle rcSegment = rcLine;\n\t\trcSegment.left = ll->positions[ts.start] + xStart - static_cast<XYPOSITION>(subLineStart);\n\t\trcSegment.right = ll->positions[ts.end()] + xStart - static_cast<XYPOSITION>(subLineStart);\n\t\t// Only try to draw if really visible - enhances performance by not calling environment to\n\t\t// draw strings that are completely past the right side of the window.\n\t\tif (rcSegment.Intersects(rcLine)) {\n\t\t\tconst int styleMain = ll->styles[i];\n\t\t\tColourDesired textFore = vsDraw.styles[styleMain].fore;\n\t\t\tFontAlias textFont = vsDraw.styles[styleMain].font;\n\t\t\t//hotspot foreground\n\t\t\tconst bool inHotspot = (ll->hotspot.Valid()) && ll->hotspot.ContainsCharacter(iDoc);\n\t\t\tif (inHotspot) {\n\t\t\t\tif (vsDraw.hotspotColours.fore.isSet)\n\t\t\t\t\ttextFore = vsDraw.hotspotColours.fore;\n\t\t\t}\n\t\t\tif (vsDraw.indicatorsSetFore) {\n\t\t\t\t// At least one indicator sets the text colour so see if it applies to this segment\n\t\t\t\tfor (const IDecoration *deco : model.pdoc->decorations->View()) {\n\t\t\t\t\tconst int indicatorValue = deco->ValueAt(ts.start + posLineStart);\n\t\t\t\t\tif (indicatorValue) {\n\t\t\t\t\t\tconst Indicator &indicator = vsDraw.indicators[deco->Indicator()];\n\t\t\t\t\t\tconst bool hover = indicator.IsDynamic() &&\n\t\t\t\t\t\t\t((model.hoverIndicatorPos >= ts.start + posLineStart) &&\n\t\t\t\t\t\t\t(model.hoverIndicatorPos <= ts.end() + posLineStart));\n\t\t\t\t\t\tif (hover) {\n\t\t\t\t\t\t\tif (indicator.sacHover.style == INDIC_TEXTFORE) {\n\t\t\t\t\t\t\t\ttextFore = indicator.sacHover.fore;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicator.sacNormal.style == INDIC_TEXTFORE) {\n\t\t\t\t\t\t\t\tif (indicator.Flags() & SC_INDICFLAG_VALUEFORE)\n\t\t\t\t\t\t\t\t\ttextFore = ColourDesired(indicatorValue & SC_INDICVALUEMASK);\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\ttextFore = indicator.sacNormal.fore;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst int inSelection = hideSelection ? 0 : model.sel.CharacterInSelection(iDoc);\n\t\t\tif (inSelection && (vsDraw.selColours.fore.isSet)) {\n\t\t\t\ttextFore = (inSelection == 1) ? vsDraw.selColours.fore : vsDraw.selAdditionalForeground;\n\t\t\t}\n\t\t\tColourDesired textBack = TextBackground(model, vsDraw, ll, background, inSelection, inHotspot, styleMain, i);\n\t\t\tif (ts.representation) {\n\t\t\t\tif (ll->chars[i] == '\\t') {\n\t\t\t\t\t// Tab display\n\t\t\t\t\tif (phasesDraw == phasesOne) {\n\t\t\t\t\t\tif (drawWhitespaceBackground && vsDraw.WhiteSpaceVisible(inIndentation))\n\t\t\t\t\t\t\ttextBack = vsDraw.whitespaceColours.back;\n\t\t\t\t\t\tsurface->FillRectangle(rcSegment, textBack);\n\t\t\t\t\t}\n\t\t\t\t\tif (inIndentation && vsDraw.viewIndentationGuides == ivReal) {\n\t\t\t\t\t\tfor (int indentCount = static_cast<int>((ll->positions[i] + epsilon) / indentWidth);\n\t\t\t\t\t\t\tindentCount <= (ll->positions[i + 1] - epsilon) / indentWidth;\n\t\t\t\t\t\t\tindentCount++) {\n\t\t\t\t\t\t\tif (indentCount > 0) {\n\t\t\t\t\t\t\t\tconst XYPOSITION xIndent = floor(indentCount * indentWidth);\n\t\t\t\t\t\t\t\tDrawIndentGuide(surface, lineVisible, vsDraw.lineHeight, xIndent + xStart, rcSegment,\n\t\t\t\t\t\t\t\t\t(ll->xHighlightGuide == xIndent));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (vsDraw.viewWhitespace != wsInvisible) {\n\t\t\t\t\t\tif (vsDraw.WhiteSpaceVisible(inIndentation)) {\n\t\t\t\t\t\t\tif (vsDraw.whitespaceColours.fore.isSet)\n\t\t\t\t\t\t\t\ttextFore = vsDraw.whitespaceColours.fore;\n\t\t\t\t\t\t\tsurface->PenColour(textFore);\n\t\t\t\t\t\t\tconst PRectangle rcTab(rcSegment.left + 1, rcSegment.top + tabArrowHeight,\n\t\t\t\t\t\t\t\trcSegment.right - 1, rcSegment.bottom - vsDraw.maxDescent);\n\t\t\t\t\t\t\tconst int segmentTop = static_cast<int>(rcSegment.top + vsDraw.lineHeight / 2);\n\t\t\t\t\t\t\tif (!customDrawTabArrow)\n\t\t\t\t\t\t\t\tDrawTabArrow(surface, rcTab, segmentTop, vsDraw);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tcustomDrawTabArrow(surface, rcTab, segmentTop);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tinIndentation = false;\n\t\t\t\t\tif (vsDraw.controlCharSymbol >= 32) {\n\t\t\t\t\t\t// Using one font for all control characters so it can be controlled independently to ensure\n\t\t\t\t\t\t// the box goes around the characters tightly. Seems to be no way to work out what height\n\t\t\t\t\t\t// is taken by an individual character - internal leading gives varying results.\n\t\t\t\t\t\tFontAlias ctrlCharsFont = vsDraw.styles[STYLE_CONTROLCHAR].font;\n\t\t\t\t\t\tconst char cc[2] = { static_cast<char>(vsDraw.controlCharSymbol), '\\0' };\n\t\t\t\t\t\tsurface->DrawTextNoClip(rcSegment, ctrlCharsFont,\n\t\t\t\t\t\t\trcSegment.top + vsDraw.maxAscent,\n\t\t\t\t\t\t\tcc, 1, textBack, textFore);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tDrawTextBlob(surface, vsDraw, rcSegment, ts.representation->stringRep.c_str(),\n\t\t\t\t\t\t\ttextBack, textFore, phasesDraw == phasesOne);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normal text display\n\t\t\t\tif (vsDraw.styles[styleMain].visible) {\n\t\t\t\t\tif (phasesDraw != phasesOne) {\n\t\t\t\t\t\tsurface->DrawTextTransparent(rcSegment, textFont,\n\t\t\t\t\t\t\trcSegment.top + vsDraw.maxAscent, &ll->chars[ts.start],\n\t\t\t\t\t\t\tstatic_cast<int>(i - ts.start + 1), textFore);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsurface->DrawTextNoClip(rcSegment, textFont,\n\t\t\t\t\t\t\trcSegment.top + vsDraw.maxAscent, &ll->chars[ts.start],\n\t\t\t\t\t\t\tstatic_cast<int>(i - ts.start + 1), textFore, textBack);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (vsDraw.viewWhitespace != wsInvisible ||\n\t\t\t\t\t(inIndentation && vsDraw.viewIndentationGuides != ivNone)) {\n\t\t\t\t\tfor (int cpos = 0; cpos <= i - ts.start; cpos++) {\n\t\t\t\t\t\tif (ll->chars[cpos + ts.start] == ' ') {\n\t\t\t\t\t\t\tif (vsDraw.viewWhitespace != wsInvisible) {\n\t\t\t\t\t\t\t\tif (vsDraw.whitespaceColours.fore.isSet)\n\t\t\t\t\t\t\t\t\ttextFore = vsDraw.whitespaceColours.fore;\n\t\t\t\t\t\t\t\tif (vsDraw.WhiteSpaceVisible(inIndentation)) {\n\t\t\t\t\t\t\t\t\tconst XYPOSITION xmid = (ll->positions[cpos + ts.start] + ll->positions[cpos + ts.start + 1]) / 2;\n\t\t\t\t\t\t\t\t\tif ((phasesDraw == phasesOne) && drawWhitespaceBackground) {\n\t\t\t\t\t\t\t\t\t\ttextBack = vsDraw.whitespaceColours.back;\n\t\t\t\t\t\t\t\t\t\tconst PRectangle rcSpace(\n\t\t\t\t\t\t\t\t\t\t\tll->positions[cpos + ts.start] + xStart - static_cast<XYPOSITION>(subLineStart),\n\t\t\t\t\t\t\t\t\t\t\trcSegment.top,\n\t\t\t\t\t\t\t\t\t\t\tll->positions[cpos + ts.start + 1] + xStart - static_cast<XYPOSITION>(subLineStart),\n\t\t\t\t\t\t\t\t\t\t\trcSegment.bottom);\n\t\t\t\t\t\t\t\t\t\tsurface->FillRectangle(rcSpace, textBack);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst int halfDotWidth = vsDraw.whitespaceSize / 2;\n\t\t\t\t\t\t\t\t\tPRectangle rcDot(xmid + xStart - halfDotWidth - static_cast<XYPOSITION>(subLineStart),\n\t\t\t\t\t\t\t\t\t\trcSegment.top + vsDraw.lineHeight / 2, 0.0f, 0.0f);\n\t\t\t\t\t\t\t\t\trcDot.right = rcDot.left + vsDraw.whitespaceSize;\n\t\t\t\t\t\t\t\t\trcDot.bottom = rcDot.top + vsDraw.whitespaceSize;\n\t\t\t\t\t\t\t\t\tsurface->FillRectangle(rcDot, textFore);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (inIndentation && vsDraw.viewIndentationGuides == ivReal) {\n\t\t\t\t\t\t\t\tfor (int indentCount = static_cast<int>((ll->positions[cpos + ts.start] + epsilon) / indentWidth);\n\t\t\t\t\t\t\t\t\tindentCount <= (ll->positions[cpos + ts.start + 1] - epsilon) / indentWidth;\n\t\t\t\t\t\t\t\t\tindentCount++) {\n\t\t\t\t\t\t\t\t\tif (indentCount > 0) {\n\t\t\t\t\t\t\t\t\t\tconst XYPOSITION xIndent = floor(indentCount * indentWidth);\n\t\t\t\t\t\t\t\t\t\tDrawIndentGuide(surface, lineVisible, vsDraw.lineHeight, xIndent + xStart, rcSegment,\n\t\t\t\t\t\t\t\t\t\t\t(ll->xHighlightGuide == xIndent));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinIndentation = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ll->hotspot.Valid() && vsDraw.hotspotUnderline && ll->hotspot.ContainsCharacter(iDoc)) {\n\t\t\t\tPRectangle rcUL = rcSegment;\n\t\t\t\trcUL.top = rcUL.top + vsDraw.maxAscent + 1;\n\t\t\t\trcUL.bottom = rcUL.top + 1;\n\t\t\t\tif (vsDraw.hotspotColours.fore.isSet)\n\t\t\t\t\tsurface->FillRectangle(rcUL, vsDraw.hotspotColours.fore);\n\t\t\t\telse\n\t\t\t\t\tsurface->FillRectangle(rcUL, textFore);\n\t\t\t} else if (vsDraw.styles[styleMain].underline) {\n\t\t\t\tPRectangle rcUL = rcSegment;\n\t\t\t\trcUL.top = rcUL.top + vsDraw.maxAscent + 1;\n\t\t\t\trcUL.bottom = rcUL.top + 1;\n\t\t\t\tsurface->FillRectangle(rcUL, textFore);\n\t\t\t}\n\t\t} else if (rcSegment.left > rcLine.right) {\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nvoid EditView::DrawIndentGuidesOverEmpty(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, Sci::Line lineVisible, PRectangle rcLine, int xStart, int subLine) {\n\tif ((vsDraw.viewIndentationGuides == ivLookForward || vsDraw.viewIndentationGuides == ivLookBoth)\n\t\t&& (subLine == 0)) {\n\t\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\t\tint indentSpace = model.pdoc->GetLineIndentation(line);\n\t\tint xStartText = static_cast<int>(ll->positions[model.pdoc->GetLineIndentPosition(line) - posLineStart]);\n\n\t\t// Find the most recent line with some text\n\n\t\tSci::Line lineLastWithText = line;\n\t\twhile (lineLastWithText > std::max(line - 20, static_cast<Sci::Line>(0)) && model.pdoc->IsWhiteLine(lineLastWithText)) {\n\t\t\tlineLastWithText--;\n\t\t}\n\t\tif (lineLastWithText < line) {\n\t\t\txStartText = 100000;\t// Don't limit to visible indentation on empty line\n\t\t\t// This line is empty, so use indentation of last line with text\n\t\t\tint indentLastWithText = model.pdoc->GetLineIndentation(lineLastWithText);\n\t\t\tconst int isFoldHeader = model.pdoc->GetLevel(lineLastWithText) & SC_FOLDLEVELHEADERFLAG;\n\t\t\tif (isFoldHeader) {\n\t\t\t\t// Level is one more level than parent\n\t\t\t\tindentLastWithText += model.pdoc->IndentSize();\n\t\t\t}\n\t\t\tif (vsDraw.viewIndentationGuides == ivLookForward) {\n\t\t\t\t// In viLookForward mode, previous line only used if it is a fold header\n\t\t\t\tif (isFoldHeader) {\n\t\t\t\t\tindentSpace = std::max(indentSpace, indentLastWithText);\n\t\t\t\t}\n\t\t\t} else {\t// viLookBoth\n\t\t\t\tindentSpace = std::max(indentSpace, indentLastWithText);\n\t\t\t}\n\t\t}\n\n\t\tSci::Line lineNextWithText = line;\n\t\twhile (lineNextWithText < std::min(line + 20, model.pdoc->LinesTotal()) && model.pdoc->IsWhiteLine(lineNextWithText)) {\n\t\t\tlineNextWithText++;\n\t\t}\n\t\tif (lineNextWithText > line) {\n\t\t\txStartText = 100000;\t// Don't limit to visible indentation on empty line\n\t\t\t// This line is empty, so use indentation of first next line with text\n\t\t\tindentSpace = std::max(indentSpace,\n\t\t\t\tmodel.pdoc->GetLineIndentation(lineNextWithText));\n\t\t}\n\n\t\tfor (int indentPos = model.pdoc->IndentSize(); indentPos < indentSpace; indentPos += model.pdoc->IndentSize()) {\n\t\t\tconst XYPOSITION xIndent = floor(indentPos * vsDraw.spaceWidth);\n\t\t\tif (xIndent < xStartText) {\n\t\t\t\tDrawIndentGuide(surface, lineVisible, vsDraw.lineHeight, xIndent + xStart, rcLine,\n\t\t\t\t\t(ll->xHighlightGuide == xIndent));\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid EditView::DrawLine(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, Sci::Line lineVisible, int xStart, PRectangle rcLine, int subLine, DrawPhase phase) {\n\n\tif (subLine >= ll->lines) {\n\t\tDrawAnnotation(surface, model, vsDraw, ll, line, xStart, rcLine, subLine, phase);\n\t\treturn; // No further drawing\n\t}\n\n\t// See if something overrides the line background color.\n\tconst ColourOptional background = vsDraw.Background(model.pdoc->GetMark(line), model.caret.active, ll->containsCaret);\n\n\tconst Sci::Position posLineStart = model.pdoc->LineStart(line);\n\n\tconst Range lineRange = ll->SubLineRange(subLine, LineLayout::Scope::visibleOnly);\n\tconst Range lineRangeIncludingEnd = ll->SubLineRange(subLine, LineLayout::Scope::includeEnd);\n\tconst XYACCUMULATOR subLineStart = ll->positions[lineRange.start];\n\n\tif ((ll->wrapIndent != 0) && (subLine > 0)) {\n\t\tif (phase & drawBack) {\n\t\t\tDrawWrapIndentAndMarker(surface, vsDraw, ll, xStart, rcLine, background, customDrawWrapMarker, model.caret.active);\n\t\t}\n\t\txStart += static_cast<int>(ll->wrapIndent);\n\t}\n\n\tif (phasesDraw != phasesOne) {\n\t\tif (phase & drawBack) {\n\t\t\tDrawBackground(surface, model, vsDraw, ll, rcLine, lineRange, posLineStart, xStart,\n\t\t\t\tsubLine, background);\n\t\t\tDrawFoldDisplayText(surface, model, vsDraw, ll, line, xStart, rcLine, subLine, subLineStart, drawBack);\n\t\t\tphase = static_cast<DrawPhase>(phase & ~drawBack);\t// Remove drawBack to not draw again in DrawFoldDisplayText\n\t\t\tDrawEOL(surface, model, vsDraw, ll, rcLine, line, lineRange.end,\n\t\t\t\txStart, subLine, subLineStart, background);\n\t\t\tif (vsDraw.IsLineFrameOpaque(model.caret.active, ll->containsCaret))\n\t\t\t\tDrawCaretLineFramed(surface, vsDraw, ll, rcLine, subLine);\n\t\t}\n\n\t\tif (phase & drawIndicatorsBack) {\n\t\t\tDrawIndicators(surface, model, vsDraw, ll, line, xStart, rcLine, subLine, lineRangeIncludingEnd.end, true, model.hoverIndicatorPos);\n\t\t\tDrawEdgeLine(surface, vsDraw, ll, rcLine, lineRange, xStart);\n\t\t\tDrawMarkUnderline(surface, model, vsDraw, line, rcLine);\n\t\t}\n\t}\n\n\tif (phase & drawText) {\n\t\tDrawForeground(surface, model, vsDraw, ll, lineVisible, rcLine, lineRange, posLineStart, xStart,\n\t\t\tsubLine, background);\n\t}\n\n\tif (phase & drawIndentationGuides) {\n\t\tDrawIndentGuidesOverEmpty(surface, model, vsDraw, ll, line, lineVisible, rcLine, xStart, subLine);\n\t}\n\n\tif (phase & drawIndicatorsFore) {\n\t\tDrawIndicators(surface, model, vsDraw, ll, line, xStart, rcLine, subLine, lineRangeIncludingEnd.end, false, model.hoverIndicatorPos);\n\t}\n\n\tDrawFoldDisplayText(surface, model, vsDraw, ll, line, xStart, rcLine, subLine, subLineStart, phase);\n\n\tif (phasesDraw == phasesOne) {\n\t\tDrawEOL(surface, model, vsDraw, ll, rcLine, line, lineRange.end,\n\t\t\txStart, subLine, subLineStart, background);\n\t\tif (vsDraw.IsLineFrameOpaque(model.caret.active, ll->containsCaret))\n\t\t\tDrawCaretLineFramed(surface, vsDraw, ll, rcLine, subLine);\n\t\tDrawEdgeLine(surface, vsDraw, ll, rcLine, lineRange, xStart);\n\t\tDrawMarkUnderline(surface, model, vsDraw, line, rcLine);\n\t}\n\n\tif (!hideSelection && (phase & drawSelectionTranslucent)) {\n\t\tDrawTranslucentSelection(surface, model, vsDraw, ll, line, rcLine, subLine, lineRange, xStart);\n\t}\n\n\tif (phase & drawLineTranslucent) {\n\t\tDrawTranslucentLineState(surface, model, vsDraw, ll, line, rcLine, subLine);\n\t}\n}\n\nstatic void DrawFoldLines(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, Sci::Line line, PRectangle rcLine) {\n\tconst bool expanded = model.pcs->GetExpanded(line);\n\tconst int level = model.pdoc->GetLevel(line);\n\tconst int levelNext = model.pdoc->GetLevel(line + 1);\n\tif ((level & SC_FOLDLEVELHEADERFLAG) &&\n\t\t(LevelNumber(level) < LevelNumber(levelNext))) {\n\t\t// Paint the line above the fold\n\t\tif ((expanded && (model.foldFlags & SC_FOLDFLAG_LINEBEFORE_EXPANDED))\n\t\t\t||\n\t\t\t(!expanded && (model.foldFlags & SC_FOLDFLAG_LINEBEFORE_CONTRACTED))) {\n\t\t\tPRectangle rcFoldLine = rcLine;\n\t\t\trcFoldLine.bottom = rcFoldLine.top + 1;\n\t\t\tsurface->FillRectangle(rcFoldLine, vsDraw.styles[STYLE_DEFAULT].fore);\n\t\t}\n\t\t// Paint the line below the fold\n\t\tif ((expanded && (model.foldFlags & SC_FOLDFLAG_LINEAFTER_EXPANDED))\n\t\t\t||\n\t\t\t(!expanded && (model.foldFlags & SC_FOLDFLAG_LINEAFTER_CONTRACTED))) {\n\t\t\tPRectangle rcFoldLine = rcLine;\n\t\t\trcFoldLine.top = rcFoldLine.bottom - 1;\n\t\t\tsurface->FillRectangle(rcFoldLine, vsDraw.styles[STYLE_DEFAULT].fore);\n\t\t}\n\t}\n}\n\nvoid EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectangle rcArea,\n\tPRectangle rcClient, const ViewStyle &vsDraw) {\n\t// Allow text at start of line to overlap 1 pixel into the margin as this displays\n\t// serifs and italic stems for aliased text.\n\tconst int leftTextOverlap = ((model.xOffset == 0) && (vsDraw.leftMarginWidth > 0)) ? 1 : 0;\n\n\t// Do the painting\n\tif (rcArea.right > vsDraw.textStart - leftTextOverlap) {\n\n\t\tSurface *surface = surfaceWindow;\n\t\tif (bufferedDraw) {\n\t\t\tsurface = pixmapLine.get();\n\t\t\tPLATFORM_ASSERT(pixmapLine->Initialised());\n\t\t}\n\t\tsurface->SetUnicodeMode(SC_CP_UTF8 == model.pdoc->dbcsCodePage);\n\t\tsurface->SetDBCSMode(model.pdoc->dbcsCodePage);\n\n\t\tconst Point ptOrigin = model.GetVisibleOriginInMain();\n\n\t\tconst int screenLinePaintFirst = static_cast<int>(rcArea.top) / vsDraw.lineHeight;\n\t\tconst int xStart = vsDraw.textStart - model.xOffset + static_cast<int>(ptOrigin.x);\n\n\t\tSelectionPosition posCaret = model.sel.RangeMain().caret;\n\t\tif (model.posDrag.IsValid())\n\t\t\tposCaret = model.posDrag;\n\t\tconst Sci::Line lineCaret = model.pdoc->SciLineFromPosition(posCaret.Position());\n\n\t\tPRectangle rcTextArea = rcClient;\n\t\tif (vsDraw.marginInside) {\n\t\t\trcTextArea.left += vsDraw.textStart;\n\t\t\trcTextArea.right -= vsDraw.rightMarginWidth;\n\t\t} else {\n\t\t\trcTextArea = rcArea;\n\t\t}\n\n\t\t// Remove selection margin from drawing area so text will not be drawn\n\t\t// on it in unbuffered mode.\n\t\tif (!bufferedDraw && vsDraw.marginInside) {\n\t\t\tPRectangle rcClipText = rcTextArea;\n\t\t\trcClipText.left -= leftTextOverlap;\n\t\t\tsurfaceWindow->SetClip(rcClipText);\n\t\t}\n\n\t\t// Loop on visible lines\n#if defined(TIME_PAINTING)\n\t\tdouble durLayout = 0.0;\n\t\tdouble durPaint = 0.0;\n\t\tdouble durCopy = 0.0;\n\t\tElapsedPeriod epWhole;\n#endif\n\t\tconst bool bracesIgnoreStyle = ((vsDraw.braceHighlightIndicatorSet && (model.bracesMatchStyle == STYLE_BRACELIGHT)) ||\n\t\t\t(vsDraw.braceBadLightIndicatorSet && (model.bracesMatchStyle == STYLE_BRACEBAD)));\n\n\t\tSci::Line lineDocPrevious = -1;\t// Used to avoid laying out one document line multiple times\n\t\tAutoLineLayout ll(llc, nullptr);\n\t\tstd::vector<DrawPhase> phases;\n\t\tif ((phasesDraw == phasesMultiple) && !bufferedDraw) {\n\t\t\tfor (DrawPhase phase = drawBack; phase <= drawCarets; phase = static_cast<DrawPhase>(phase * 2)) {\n\t\t\t\tphases.push_back(phase);\n\t\t\t}\n\t\t} else {\n\t\t\tphases.push_back(drawAll);\n\t\t}\n\t\tfor (const DrawPhase &phase : phases) {\n\t\t\tint ypos = 0;\n\t\t\tif (!bufferedDraw)\n\t\t\t\typos += screenLinePaintFirst * vsDraw.lineHeight;\n\t\t\tint yposScreen = screenLinePaintFirst * vsDraw.lineHeight;\n\t\t\tSci::Line visibleLine = model.TopLineOfMain() + screenLinePaintFirst;\n\t\t\twhile (visibleLine < model.pcs->LinesDisplayed() && yposScreen < rcArea.bottom) {\n\n\t\t\t\tconst Sci::Line lineDoc = model.pcs->DocFromDisplay(visibleLine);\n\t\t\t\t// Only visible lines should be handled by the code within the loop\n\t\t\t\tPLATFORM_ASSERT(model.pcs->GetVisible(lineDoc));\n\t\t\t\tconst Sci::Line lineStartSet = model.pcs->DisplayFromDoc(lineDoc);\n\t\t\t\tconst int subLine = static_cast<int>(visibleLine - lineStartSet);\n\n\t\t\t\t// Copy this line and its styles from the document into local arrays\n\t\t\t\t// and determine the x position at which each character starts.\n#if defined(TIME_PAINTING)\n\t\t\t\tElapsedPeriod ep;\n#endif\n\t\t\t\tif (lineDoc != lineDocPrevious) {\n\t\t\t\t\tll.Set(nullptr);\n\t\t\t\t\tll.Set(RetrieveLineLayout(lineDoc, model));\n\t\t\t\t\tLayoutLine(model, lineDoc, surface, vsDraw, ll, model.wrapWidth);\n\t\t\t\t\tlineDocPrevious = lineDoc;\n\t\t\t\t}\n#if defined(TIME_PAINTING)\n\t\t\t\tdurLayout += ep.Duration(true);\n#endif\n\t\t\t\tif (ll) {\n\t\t\t\t\tll->containsCaret = !hideSelection && (lineDoc == lineCaret);\n\t\t\t\t\tll->hotspot = model.GetHotSpotRange();\n\n\t\t\t\t\tPRectangle rcLine = rcTextArea;\n\t\t\t\t\trcLine.top = static_cast<XYPOSITION>(ypos);\n\t\t\t\t\trcLine.bottom = static_cast<XYPOSITION>(ypos + vsDraw.lineHeight);\n\n\t\t\t\t\tconst Range rangeLine(model.pdoc->LineStart(lineDoc),\n\t\t\t\t\t\tmodel.pdoc->LineStart(lineDoc + 1));\n\n\t\t\t\t\t// Highlight the current braces if any\n\t\t\t\t\tll->SetBracesHighlight(rangeLine, model.braces, static_cast<char>(model.bracesMatchStyle),\n\t\t\t\t\t\tstatic_cast<int>(model.highlightGuideColumn * vsDraw.spaceWidth), bracesIgnoreStyle);\n\n\t\t\t\t\tif (leftTextOverlap && (bufferedDraw || ((phasesDraw < phasesMultiple) && (phase & drawBack)))) {\n\t\t\t\t\t\t// Clear the left margin\n\t\t\t\t\t\tPRectangle rcSpacer = rcLine;\n\t\t\t\t\t\trcSpacer.right = rcSpacer.left;\n\t\t\t\t\t\trcSpacer.left -= 1;\n\t\t\t\t\t\tsurface->FillRectangle(rcSpacer, vsDraw.styles[STYLE_DEFAULT].back);\n\t\t\t\t\t}\n\n\t\t\t\t\tDrawLine(surface, model, vsDraw, ll, lineDoc, visibleLine, xStart, rcLine, subLine, phase);\n#if defined(TIME_PAINTING)\n\t\t\t\t\tdurPaint += ep.Duration(true);\n#endif\n\t\t\t\t\t// Restore the previous styles for the brace highlights in case layout is in cache.\n\t\t\t\t\tll->RestoreBracesHighlight(rangeLine, model.braces, bracesIgnoreStyle);\n\n\t\t\t\t\tif (phase & drawFoldLines) {\n\t\t\t\t\t\tDrawFoldLines(surface, model, vsDraw, lineDoc, rcLine);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (phase & drawCarets) {\n\t\t\t\t\t\tDrawCarets(surface, model, vsDraw, ll, lineDoc, xStart, rcLine, subLine);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (bufferedDraw) {\n\t\t\t\t\t\tconst Point from = Point::FromInts(vsDraw.textStart - leftTextOverlap, 0);\n\t\t\t\t\t\tconst PRectangle rcCopyArea = PRectangle::FromInts(vsDraw.textStart - leftTextOverlap, yposScreen,\n\t\t\t\t\t\t\tstatic_cast<int>(rcClient.right - vsDraw.rightMarginWidth),\n\t\t\t\t\t\t\typosScreen + vsDraw.lineHeight);\n\t\t\t\t\t\tsurfaceWindow->Copy(rcCopyArea, from, *pixmapLine);\n\t\t\t\t\t}\n\n\t\t\t\t\tlineWidthMaxSeen = std::max(\n\t\t\t\t\t\tlineWidthMaxSeen, static_cast<int>(ll->positions[ll->numCharsInLine]));\n#if defined(TIME_PAINTING)\n\t\t\t\t\tdurCopy += ep.Duration(true);\n#endif\n\t\t\t\t}\n\n\t\t\t\tif (!bufferedDraw) {\n\t\t\t\t\typos += vsDraw.lineHeight;\n\t\t\t\t}\n\n\t\t\t\typosScreen += vsDraw.lineHeight;\n\t\t\t\tvisibleLine++;\n\t\t\t}\n\t\t}\n\t\tll.Set(nullptr);\n#if defined(TIME_PAINTING)\n\t\tif (durPaint < 0.00000001)\n\t\t\tdurPaint = 0.00000001;\n#endif\n\t\t// Right column limit indicator\n\t\tPRectangle rcBeyondEOF = (vsDraw.marginInside) ? rcClient : rcArea;\n\t\trcBeyondEOF.left = static_cast<XYPOSITION>(vsDraw.textStart);\n\t\trcBeyondEOF.right = rcBeyondEOF.right - ((vsDraw.marginInside) ? vsDraw.rightMarginWidth : 0);\n\t\trcBeyondEOF.top = static_cast<XYPOSITION>((model.pcs->LinesDisplayed() - model.TopLineOfMain()) * vsDraw.lineHeight);\n\t\tif (rcBeyondEOF.top < rcBeyondEOF.bottom) {\n\t\t\tsurfaceWindow->FillRectangle(rcBeyondEOF, vsDraw.styles[STYLE_DEFAULT].back);\n\t\t\tif (vsDraw.edgeState == EDGE_LINE) {\n\t\t\t\tconst int edgeX = static_cast<int>(vsDraw.theEdge.column * vsDraw.spaceWidth);\n\t\t\t\trcBeyondEOF.left = static_cast<XYPOSITION>(edgeX + xStart);\n\t\t\t\trcBeyondEOF.right = rcBeyondEOF.left + 1;\n\t\t\t\tsurfaceWindow->FillRectangle(rcBeyondEOF, vsDraw.theEdge.colour);\n\t\t\t} else if (vsDraw.edgeState == EDGE_MULTILINE) {\n\t\t\t\tfor (size_t edge = 0; edge < vsDraw.theMultiEdge.size(); edge++) {\n\t\t\t\t\tif (vsDraw.theMultiEdge[edge].column >= 0) {\n\t\t\t\t\t\tconst int edgeX = static_cast<int>(vsDraw.theMultiEdge[edge].column * vsDraw.spaceWidth);\n\t\t\t\t\t\trcBeyondEOF.left = static_cast<XYPOSITION>(edgeX + xStart);\n\t\t\t\t\t\trcBeyondEOF.right = rcBeyondEOF.left + 1;\n\t\t\t\t\t\tsurfaceWindow->FillRectangle(rcBeyondEOF, vsDraw.theMultiEdge[edge].colour);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//Platform::DebugPrintf(\"start display %d, offset = %d\\n\", model.pdoc->Length(), model.xOffset);\n#if defined(TIME_PAINTING)\n\t\tPlatform::DebugPrintf(\n\t\t\"Layout:%9.6g    Paint:%9.6g    Ratio:%9.6g   Copy:%9.6g   Total:%9.6g\\n\",\n\t\tdurLayout, durPaint, durLayout / durPaint, durCopy, epWhole.Duration());\n#endif\n\t}\n}\n\nvoid EditView::FillLineRemainder(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\tSci::Line line, PRectangle rcArea, int subLine) const {\n\t\tint eolInSelection = 0;\n\t\tint alpha = SC_ALPHA_NOALPHA;\n\t\tif (!hideSelection) {\n\t\t\tconst Sci::Position posAfterLineEnd = model.pdoc->LineStart(line + 1);\n\t\t\teolInSelection = (subLine == (ll->lines - 1)) ? model.sel.InSelectionForEOL(posAfterLineEnd) : 0;\n\t\t\talpha = (eolInSelection == 1) ? vsDraw.selAlpha : vsDraw.selAdditionalAlpha;\n\t\t}\n\n\t\tconst ColourOptional background = vsDraw.Background(model.pdoc->GetMark(line), model.caret.active, ll->containsCaret);\n\n\t\tif (eolInSelection && vsDraw.selEOLFilled && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1) && (alpha == SC_ALPHA_NOALPHA)) {\n\t\t\tsurface->FillRectangle(rcArea, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection));\n\t\t} else {\n\t\t\tif (background.isSet) {\n\t\t\t\tsurface->FillRectangle(rcArea, background);\n\t\t\t} else if (vsDraw.styles[ll->styles[ll->numCharsInLine]].eolFilled) {\n\t\t\t\tsurface->FillRectangle(rcArea, vsDraw.styles[ll->styles[ll->numCharsInLine]].back);\n\t\t\t} else {\n\t\t\t\tsurface->FillRectangle(rcArea, vsDraw.styles[STYLE_DEFAULT].back);\n\t\t\t}\n\t\t\tif (eolInSelection && vsDraw.selEOLFilled && vsDraw.selColours.back.isSet && (line < model.pdoc->LinesTotal() - 1) && (alpha != SC_ALPHA_NOALPHA)) {\n\t\t\t\tSimpleAlphaRectangle(surface, rcArea, SelectionBackground(vsDraw, eolInSelection == 1, model.primarySelection), alpha);\n\t\t\t}\n\t\t}\n}\n\n// Space (3 space characters) between line numbers and text when printing.\n#define lineNumberPrintSpace \"   \"\n\nstatic ColourDesired InvertedLight(ColourDesired orig) {\n\tunsigned int r = orig.GetRed();\n\tunsigned int g = orig.GetGreen();\n\tunsigned int b = orig.GetBlue();\n\tconst unsigned int l = (r + g + b) / 3; \t// There is a better calculation for this that matches human eye\n\tconst unsigned int il = 0xff - l;\n\tif (l == 0)\n\t\treturn ColourDesired(0xff, 0xff, 0xff);\n\tr = r * il / l;\n\tg = g * il / l;\n\tb = b * il / l;\n\treturn ColourDesired(std::min(r, 0xffu), std::min(g, 0xffu), std::min(b, 0xffu));\n}\n\nSci::Position EditView::FormatRange(bool draw, const Sci_RangeToFormat *pfr, Surface *surface, Surface *surfaceMeasure,\n\tconst EditModel &model, const ViewStyle &vs) {\n\t// Can't use measurements cached for screen\n\tposCache.Clear();\n\n\tViewStyle vsPrint(vs);\n\tvsPrint.technology = SC_TECHNOLOGY_DEFAULT;\n\n\t// Modify the view style for printing as do not normally want any of the transient features to be printed\n\t// Printing supports only the line number margin.\n\tint lineNumberIndex = -1;\n\tfor (size_t margin = 0; margin < vs.ms.size(); margin++) {\n\t\tif ((vsPrint.ms[margin].style == SC_MARGIN_NUMBER) && (vsPrint.ms[margin].width > 0)) {\n\t\t\tlineNumberIndex = static_cast<int>(margin);\n\t\t} else {\n\t\t\tvsPrint.ms[margin].width = 0;\n\t\t}\n\t}\n\tvsPrint.fixedColumnWidth = 0;\n\tvsPrint.zoomLevel = printParameters.magnification;\n\t// Don't show indentation guides\n\t// If this ever gets changed, cached pixmap would need to be recreated if technology != SC_TECHNOLOGY_DEFAULT\n\tvsPrint.viewIndentationGuides = ivNone;\n\t// Don't show the selection when printing\n\tvsPrint.selColours.back.isSet = false;\n\tvsPrint.selColours.fore.isSet = false;\n\tvsPrint.selAlpha = SC_ALPHA_NOALPHA;\n\tvsPrint.selAdditionalAlpha = SC_ALPHA_NOALPHA;\n\tvsPrint.whitespaceColours.back.isSet = false;\n\tvsPrint.whitespaceColours.fore.isSet = false;\n\tvsPrint.showCaretLineBackground = false;\n\tvsPrint.alwaysShowCaretLineBackground = false;\n\t// Don't highlight matching braces using indicators\n\tvsPrint.braceHighlightIndicatorSet = false;\n\tvsPrint.braceBadLightIndicatorSet = false;\n\n\t// Set colours for printing according to users settings\n\tfor (size_t sty = 0; sty < vsPrint.styles.size(); sty++) {\n\t\tif (printParameters.colourMode == SC_PRINT_INVERTLIGHT) {\n\t\t\tvsPrint.styles[sty].fore = InvertedLight(vsPrint.styles[sty].fore);\n\t\t\tvsPrint.styles[sty].back = InvertedLight(vsPrint.styles[sty].back);\n\t\t} else if (printParameters.colourMode == SC_PRINT_BLACKONWHITE) {\n\t\t\tvsPrint.styles[sty].fore = ColourDesired(0, 0, 0);\n\t\t\tvsPrint.styles[sty].back = ColourDesired(0xff, 0xff, 0xff);\n\t\t} else if (printParameters.colourMode == SC_PRINT_COLOURONWHITE) {\n\t\t\tvsPrint.styles[sty].back = ColourDesired(0xff, 0xff, 0xff);\n\t\t} else if (printParameters.colourMode == SC_PRINT_COLOURONWHITEDEFAULTBG) {\n\t\t\tif (sty <= STYLE_DEFAULT) {\n\t\t\t\tvsPrint.styles[sty].back = ColourDesired(0xff, 0xff, 0xff);\n\t\t\t}\n\t\t}\n\t}\n\t// White background for the line numbers if SC_PRINT_SCREENCOLOURS isn't used\n\tif (printParameters.colourMode != SC_PRINT_SCREENCOLOURS)\n\t\tvsPrint.styles[STYLE_LINENUMBER].back = ColourDesired(0xff, 0xff, 0xff);\n\n\t// Printing uses different margins, so reset screen margins\n\tvsPrint.leftMarginWidth = 0;\n\tvsPrint.rightMarginWidth = 0;\n\n\tvsPrint.Refresh(*surfaceMeasure, model.pdoc->tabInChars);\n\t// Determining width must happen after fonts have been realised in Refresh\n\tint lineNumberWidth = 0;\n\tif (lineNumberIndex >= 0) {\n\t\tlineNumberWidth = static_cast<int>(surfaceMeasure->WidthText(vsPrint.styles[STYLE_LINENUMBER].font,\n\t\t\t\"99999\" lineNumberPrintSpace, 5 + static_cast<int>(strlen(lineNumberPrintSpace))));\n\t\tvsPrint.ms[lineNumberIndex].width = lineNumberWidth;\n\t\tvsPrint.Refresh(*surfaceMeasure, model.pdoc->tabInChars);\t// Recalculate fixedColumnWidth\n\t}\n\n\tconst Sci::Line linePrintStart =\n\t\tmodel.pdoc->SciLineFromPosition(static_cast<Sci::Position>(pfr->chrg.cpMin));\n\tSci::Line linePrintLast = linePrintStart + (pfr->rc.bottom - pfr->rc.top) / vsPrint.lineHeight - 1;\n\tif (linePrintLast < linePrintStart)\n\t\tlinePrintLast = linePrintStart;\n\tconst Sci::Line linePrintMax =\n\t\tmodel.pdoc->SciLineFromPosition(static_cast<Sci::Position>(pfr->chrg.cpMax));\n\tif (linePrintLast > linePrintMax)\n\t\tlinePrintLast = linePrintMax;\n\t//Platform::DebugPrintf(\"Formatting lines=[%0d,%0d,%0d] top=%0d bottom=%0d line=%0d %0d\\n\",\n\t//      linePrintStart, linePrintLast, linePrintMax, pfr->rc.top, pfr->rc.bottom, vsPrint.lineHeight,\n\t//      surfaceMeasure->Height(vsPrint.styles[STYLE_LINENUMBER].font));\n\tSci::Position endPosPrint = model.pdoc->Length();\n\tif (linePrintLast < model.pdoc->LinesTotal())\n\t\tendPosPrint = model.pdoc->LineStart(linePrintLast + 1);\n\n\t// Ensure we are styled to where we are formatting.\n\tmodel.pdoc->EnsureStyledTo(endPosPrint);\n\n\tconst int xStart = vsPrint.fixedColumnWidth + pfr->rc.left;\n\tint ypos = pfr->rc.top;\n\n\tSci::Line lineDoc = linePrintStart;\n\n\tSci::Position nPrintPos = static_cast<Sci::Position>(pfr->chrg.cpMin);\n\tint visibleLine = 0;\n\tint widthPrint = pfr->rc.right - pfr->rc.left - vsPrint.fixedColumnWidth;\n\tif (printParameters.wrapState == eWrapNone)\n\t\twidthPrint = LineLayout::wrapWidthInfinite;\n\n\twhile (lineDoc <= linePrintLast && ypos < pfr->rc.bottom) {\n\n\t\t// When printing, the hdc and hdcTarget may be the same, so\n\t\t// changing the state of surfaceMeasure may change the underlying\n\t\t// state of surface. Therefore, any cached state is discarded before\n\t\t// using each surface.\n\t\tsurfaceMeasure->FlushCachedState();\n\n\t\t// Copy this line and its styles from the document into local arrays\n\t\t// and determine the x position at which each character starts.\n\t\tLineLayout ll(static_cast<int>(model.pdoc->LineStart(lineDoc + 1) - model.pdoc->LineStart(lineDoc) + 1));\n\t\tLayoutLine(model, lineDoc, surfaceMeasure, vsPrint, &ll, widthPrint);\n\n\t\tll.containsCaret = false;\n\n\t\tPRectangle rcLine = PRectangle::FromInts(\n\t\t\tpfr->rc.left,\n\t\t\typos,\n\t\t\tpfr->rc.right - 1,\n\t\t\typos + vsPrint.lineHeight);\n\n\t\t// When document line is wrapped over multiple display lines, find where\n\t\t// to start printing from to ensure a particular position is on the first\n\t\t// line of the page.\n\t\tif (visibleLine == 0) {\n\t\t\tconst Sci::Position startWithinLine = nPrintPos -\n\t\t\t\tmodel.pdoc->LineStart(lineDoc);\n\t\t\tfor (int iwl = 0; iwl < ll.lines - 1; iwl++) {\n\t\t\t\tif (ll.LineStart(iwl) <= startWithinLine && ll.LineStart(iwl + 1) >= startWithinLine) {\n\t\t\t\t\tvisibleLine = -iwl;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ll.lines > 1 && startWithinLine >= ll.LineStart(ll.lines - 1)) {\n\t\t\t\tvisibleLine = -(ll.lines - 1);\n\t\t\t}\n\t\t}\n\n\t\tif (draw && lineNumberWidth &&\n\t\t\t(ypos + vsPrint.lineHeight <= pfr->rc.bottom) &&\n\t\t\t(visibleLine >= 0)) {\n\t\t\tconst std::string number = std::to_string(lineDoc + 1) + lineNumberPrintSpace;\n\t\t\tPRectangle rcNumber = rcLine;\n\t\t\trcNumber.right = rcNumber.left + lineNumberWidth;\n\t\t\t// Right justify\n\t\t\trcNumber.left = rcNumber.right - surfaceMeasure->WidthText(\n\t\t\t\tvsPrint.styles[STYLE_LINENUMBER].font, number.c_str(), static_cast<int>(number.length()));\n\t\t\tsurface->FlushCachedState();\n\t\t\tsurface->DrawTextNoClip(rcNumber, vsPrint.styles[STYLE_LINENUMBER].font,\n\t\t\t\tstatic_cast<XYPOSITION>(ypos + vsPrint.maxAscent), number.c_str(), static_cast<int>(number.length()),\n\t\t\t\tvsPrint.styles[STYLE_LINENUMBER].fore,\n\t\t\t\tvsPrint.styles[STYLE_LINENUMBER].back);\n\t\t}\n\n\t\t// Draw the line\n\t\tsurface->FlushCachedState();\n\n\t\tfor (int iwl = 0; iwl < ll.lines; iwl++) {\n\t\t\tif (ypos + vsPrint.lineHeight <= pfr->rc.bottom) {\n\t\t\t\tif (visibleLine >= 0) {\n\t\t\t\t\tif (draw) {\n\t\t\t\t\t\trcLine.top = static_cast<XYPOSITION>(ypos);\n\t\t\t\t\t\trcLine.bottom = static_cast<XYPOSITION>(ypos + vsPrint.lineHeight);\n\t\t\t\t\t\tDrawLine(surface, model, vsPrint, &ll, lineDoc, visibleLine, xStart, rcLine, iwl, drawAll);\n\t\t\t\t\t}\n\t\t\t\t\typos += vsPrint.lineHeight;\n\t\t\t\t}\n\t\t\t\tvisibleLine++;\n\t\t\t\tif (iwl == ll.lines - 1)\n\t\t\t\t\tnPrintPos = model.pdoc->LineStart(lineDoc + 1);\n\t\t\t\telse\n\t\t\t\t\tnPrintPos += ll.LineStart(iwl + 1) - ll.LineStart(iwl);\n\t\t\t}\n\t\t}\n\n\t\t++lineDoc;\n\t}\n\n\t// Clear cache so measurements are not used for screen\n\tposCache.Clear();\n\n\treturn nPrintPos;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/EditView.h",
    "content": "// Scintilla source code edit control\n/** @file EditView.h\n ** Defines the appearance of the main text area of the editor window.\n **/\n// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef EDITVIEW_H\n#define EDITVIEW_H\n\nnamespace Scintilla {\n\nstruct PrintParameters {\n\tint magnification;\n\tint colourMode;\n\tWrapMode wrapState;\n\tPrintParameters();\n};\n\n/**\n* The view may be drawn in separate phases.\n*/\nenum DrawPhase {\n\tdrawBack = 0x1,\n\tdrawIndicatorsBack = 0x2,\n\tdrawText = 0x4,\n\tdrawIndentationGuides = 0x8,\n\tdrawIndicatorsFore = 0x10,\n\tdrawSelectionTranslucent = 0x20,\n\tdrawLineTranslucent = 0x40,\n\tdrawFoldLines = 0x80,\n\tdrawCarets = 0x100,\n\tdrawAll = 0x1FF\n};\n\nbool ValidStyledText(const ViewStyle &vs, size_t styleOffset, const StyledText &st);\nint WidestLineWidth(Surface *surface, const ViewStyle &vs, int styleOffset, const StyledText &st);\nvoid DrawTextNoClipPhase(Surface *surface, PRectangle rc, const Style &style, XYPOSITION ybase,\n\tconst char *s, int len, DrawPhase phase);\nvoid DrawStyledText(Surface *surface, const ViewStyle &vs, int styleOffset, PRectangle rcText,\n\tconst StyledText &st, size_t start, size_t length, DrawPhase phase);\n\ntypedef void (*DrawTabArrowFn)(Surface *surface, PRectangle rcTab, int ymid);\n\nclass LineTabstops;\n\n/**\n* EditView draws the main text area.\n*/\nclass EditView {\npublic:\n\tPrintParameters printParameters;\n\tstd::unique_ptr<LineTabstops> ldTabstops;\n\tint tabWidthMinimumPixels;\n\n\tbool hideSelection;\n\tbool drawOverstrikeCaret;\n\n\t/** In bufferedDraw mode, graphics operations are drawn to a pixmap and then copied to\n\t* the screen. This avoids flashing but is about 30% slower. */\n\tbool bufferedDraw;\n\t/** In phasesTwo mode, drawing is performed in two phases, first the background\n\t* and then the foreground. This avoids chopping off characters that overlap the next run.\n\t* In multiPhaseDraw mode, drawing is performed in multiple phases with each phase drawing\n\t* one feature over the whole drawing area, instead of within one line. This allows text to\n\t* overlap from one line to the next. */\n\tenum PhasesDraw { phasesOne, phasesTwo, phasesMultiple };\n\tPhasesDraw phasesDraw;\n\n\tint lineWidthMaxSeen;\n\n\tbool additionalCaretsBlink;\n\tbool additionalCaretsVisible;\n\n\tbool imeCaretBlockOverride;\n\n\tstd::unique_ptr<Surface> pixmapLine;\n\tstd::unique_ptr<Surface> pixmapIndentGuide;\n\tstd::unique_ptr<Surface> pixmapIndentGuideHighlight;\n\n\tLineLayoutCache llc;\n\tPositionCache posCache;\n\n\tint tabArrowHeight; // draw arrow heads this many pixels above/below line midpoint\n\t/** Some platforms, notably PLAT_CURSES, do not support Scintilla's native\n\t * DrawTabArrow function for drawing tab characters. Allow those platforms to\n\t * override it instead of creating a new method in the Surface class that\n\t * existing platforms must implement as empty. */\n\tDrawTabArrowFn customDrawTabArrow;\n\tDrawWrapMarkerFn customDrawWrapMarker;\n\n\tEditView();\n\t// Deleted so EditView objects can not be copied.\n\tEditView(const EditView &) = delete;\n\tEditView(EditView &&) = delete;\n\tvoid operator=(const EditView &) = delete;\n\tvoid operator=(EditView &&) = delete;\n\tvirtual ~EditView();\n\n\tbool SetTwoPhaseDraw(bool twoPhaseDraw);\n\tbool SetPhasesDraw(int phases);\n\tbool LinesOverlap() const;\n\n\tvoid ClearAllTabstops();\n\tXYPOSITION NextTabstopPos(Sci::Line line, XYPOSITION x, XYPOSITION tabWidth) const;\n\tbool ClearTabstops(Sci::Line line);\n\tbool AddTabstop(Sci::Line line, int x);\n\tint GetNextTabstop(Sci::Line line, int x) const;\n\tvoid LinesAddedOrRemoved(Sci::Line lineOfPos, Sci::Line linesAdded);\n\n\tvoid DropGraphics(bool freeObjects);\n\tvoid AllocateGraphics(const ViewStyle &vsDraw);\n\tvoid RefreshPixMaps(Surface *surfaceWindow, WindowID wid, const ViewStyle &vsDraw);\n\n\tLineLayout *RetrieveLineLayout(Sci::Line lineNumber, const EditModel &model);\n\tvoid LayoutLine(const EditModel &model, Sci::Line line, Surface *surface, const ViewStyle &vstyle,\n\t\tLineLayout *ll, int width = LineLayout::wrapWidthInfinite);\n\n\tPoint LocationFromPosition(Surface *surface, const EditModel &model, SelectionPosition pos, Sci::Line topLine,\n\t\t\t\t   const ViewStyle &vs, PointEnd pe);\n\tRange RangeDisplayLine(Surface *surface, const EditModel &model, Sci::Line lineVisible, const ViewStyle &vs);\n\tSelectionPosition SPositionFromLocation(Surface *surface, const EditModel &model, PointDocument pt, bool canReturnInvalid,\n\t\tbool charPosition, bool virtualSpace, const ViewStyle &vs);\n\tSelectionPosition SPositionFromLineX(Surface *surface, const EditModel &model, Sci::Line lineDoc, int x, const ViewStyle &vs);\n\tSci::Line DisplayFromPosition(Surface *surface, const EditModel &model, Sci::Position pos, const ViewStyle &vs);\n\tSci::Position StartEndDisplayLine(Surface *surface, const EditModel &model, Sci::Position pos, bool start, const ViewStyle &vs);\n\n\tvoid DrawIndentGuide(Surface *surface, Sci::Line lineVisible, int lineHeight, XYPOSITION start, PRectangle rcSegment, bool highlight);\n\tvoid DrawEOL(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll, PRectangle rcLine,\n\t\tSci::Line line, Sci::Position lineEnd, int xStart, int subLine, XYACCUMULATOR subLineStart,\n\t\tColourOptional background);\n\tvoid DrawFoldDisplayText(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\t\tSci::Line line, int xStart, PRectangle rcLine, int subLine, XYACCUMULATOR subLineStart, DrawPhase phase);\n\tvoid DrawAnnotation(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\t\tSci::Line line, int xStart, PRectangle rcLine, int subLine, DrawPhase phase);\n\tvoid DrawCarets(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll, Sci::Line lineDoc,\n\t\tint xStart, PRectangle rcLine, int subLine) const;\n\tvoid DrawBackground(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll, PRectangle rcLine,\n\t\tRange lineRange, Sci::Position posLineStart, int xStart,\n\t\tint subLine, ColourOptional background) const;\n\tvoid DrawForeground(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll, Sci::Line lineVisible,\n\t\tPRectangle rcLine, Range lineRange, Sci::Position posLineStart, int xStart,\n\t\tint subLine, ColourOptional background);\n\tvoid DrawIndentGuidesOverEmpty(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\t\tSci::Line line, Sci::Line lineVisible, PRectangle rcLine, int xStart, int subLine);\n\tvoid DrawLine(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll, Sci::Line line,\n\t\tSci::Line lineVisible, int xStart, PRectangle rcLine, int subLine, DrawPhase phase);\n\tvoid PaintText(Surface *surfaceWindow, const EditModel &model, PRectangle rcArea, PRectangle rcClient,\n\t\tconst ViewStyle &vsDraw);\n\tvoid FillLineRemainder(Surface *surface, const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,\n\t\tSci::Line line, PRectangle rcArea, int subLine) const;\n\tSci::Position FormatRange(bool draw, const Sci_RangeToFormat *pfr, Surface *surface, Surface *surfaceMeasure,\n\t\tconst EditModel &model, const ViewStyle &vs);\n};\n\n/**\n* Convenience class to ensure LineLayout objects are always disposed.\n*/\nclass AutoLineLayout {\n\tLineLayoutCache &llc;\n\tLineLayout *ll;\npublic:\n\tAutoLineLayout(LineLayoutCache &llc_, LineLayout *ll_) noexcept : llc(llc_), ll(ll_) {}\n\tAutoLineLayout(const AutoLineLayout &) = delete;\n\tAutoLineLayout(AutoLineLayout &&) = delete;\n\tAutoLineLayout &operator=(const AutoLineLayout &) = delete;\n\tAutoLineLayout &operator=(AutoLineLayout &&) = delete;\n\t~AutoLineLayout() {\n\t\tllc.Dispose(ll);\n\t\tll = nullptr;\n\t}\n\tLineLayout *operator->() const noexcept {\n\t\treturn ll;\n\t}\n\toperator LineLayout *() const noexcept {\n\t\treturn ll;\n\t}\n\tvoid Set(LineLayout *ll_) {\n\t\tllc.Dispose(ll);\n\t\tll = ll_;\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Editor.cpp",
    "content": "﻿// Scintilla source code edit control\n/** @file Editor.cxx\n ** Main code for the edit control.\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cctype>\n#include <cstdio>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <map>\n#include <forward_list>\n#include <algorithm>\n#include <iterator>\n#include <memory>\n#include <chrono>\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#include \"StringCopy.h\"\n#include \"CharacterSet.h\"\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"ContractionState.h\"\n#include \"CellBuffer.h\"\n#include \"PerLine.h\"\n#include \"KeyMap.h\"\n#include \"Indicator.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"UniConversion.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n#include \"EditModel.h\"\n#include \"MarginView.h\"\n#include \"EditView.h\"\n#include \"Editor.h\"\n#include \"ElapsedPeriod.h\"\n\nusing namespace Scintilla;\n\n/*\n\treturn whether this modification represents an operation that\n\tmay reasonably be deferred (not done now OR [possibly] at all)\n*/\nstatic bool CanDeferToLastStep(const DocModification &mh) {\n\tif (mh.modificationType & (SC_MOD_BEFOREINSERT | SC_MOD_BEFOREDELETE))\n\t\treturn true;\t// CAN skip\n\tif (!(mh.modificationType & (SC_PERFORMED_UNDO | SC_PERFORMED_REDO)))\n\t\treturn false;\t// MUST do\n\tif (mh.modificationType & SC_MULTISTEPUNDOREDO)\n\t\treturn true;\t// CAN skip\n\treturn false;\t\t// PRESUMABLY must do\n}\n\nstatic bool CanEliminate(const DocModification &mh) {\n\treturn\n\t    (mh.modificationType & (SC_MOD_BEFOREINSERT | SC_MOD_BEFOREDELETE)) != 0;\n}\n\n/*\n\treturn whether this modification represents the FINAL step\n\tin a [possibly lengthy] multi-step Undo/Redo sequence\n*/\nstatic bool IsLastStep(const DocModification &mh) {\n\treturn\n\t    (mh.modificationType & (SC_PERFORMED_UNDO | SC_PERFORMED_REDO)) != 0\n\t    && (mh.modificationType & SC_MULTISTEPUNDOREDO) != 0\n\t    && (mh.modificationType & SC_LASTSTEPINUNDOREDO) != 0\n\t    && (mh.modificationType & SC_MULTILINEUNDOREDO) != 0;\n}\n\nTimer::Timer() :\n\t\tticking(false), ticksToWait(0), tickerID{} {}\n\nIdler::Idler() :\n\t\tstate(false), idlerID(0) {}\n\nstatic inline bool IsAllSpacesOrTabs(const char *s, unsigned int len) {\n\tfor (unsigned int i = 0; i < len; i++) {\n\t\t// This is safe because IsSpaceOrTab() will return false for null terminators\n\t\tif (!IsSpaceOrTab(s[i]))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nEditor::Editor() : durationWrapOneLine(0.00001, 0.000001, 0.0001) {\n\tctrlID = 0;\n\n\tstylesValid = false;\n\ttechnology = SC_TECHNOLOGY_DEFAULT;\n\tscaleRGBAImage = 100.0f;\n\n\tcursorMode = SC_CURSORNORMAL;\n\n\thasFocus = false;\n\terrorStatus = 0;\n\tmouseDownCaptures = true;\n\tmouseWheelCaptures = true;\n\n\tlastClickTime = 0;\n\tdoubleClickCloseThreshold = Point(3, 3);\n\tdwellDelay = SC_TIME_FOREVER;\n\tticksToDwell = SC_TIME_FOREVER;\n\tdwelling = false;\n\tptMouseLast.x = 0;\n\tptMouseLast.y = 0;\n\tinDragDrop = ddNone;\n\tdropWentOutside = false;\n\tposDrop = SelectionPosition(Sci::invalidPosition);\n\thotSpotClickPos = INVALID_POSITION;\n\tselectionType = selChar;\n\n\tlastXChosen = 0;\n\tlineAnchorPos = 0;\n\toriginalAnchorPos = 0;\n\twordSelectAnchorStartPos = 0;\n\twordSelectAnchorEndPos = 0;\n\twordSelectInitialCaretPos = -1;\n\n\tcaretXPolicy = CARET_SLOP | CARET_EVEN;\n\tcaretXSlop = 50;\n\n\tcaretYPolicy = CARET_EVEN;\n\tcaretYSlop = 0;\n\n\tvisiblePolicy = 0;\n\tvisibleSlop = 0;\n\n\tsearchAnchor = 0;\n\n\txCaretMargin = 50;\n\thorizontalScrollBarVisible = true;\n\tscrollWidth = 2000;\n\tverticalScrollBarVisible = true;\n\tendAtLastLine = true;\n\tcaretSticky = SC_CARETSTICKY_OFF;\n\tmarginOptions = SC_MARGINOPTION_NONE;\n\tmouseSelectionRectangularSwitch = false;\n\tmultipleSelection = false;\n\tadditionalSelectionTyping = false;\n\tmultiPasteMode = SC_MULTIPASTE_ONCE;\n\tvirtualSpaceOptions = SCVS_NONE;\n\n\ttargetStart = 0;\n\ttargetEnd = 0;\n\tsearchFlags = 0;\n\n\ttopLine = 0;\n\tposTopLine = 0;\n\n\tlengthForEncode = -1;\n\n\tneedUpdateUI = 0;\n\tContainerNeedsUpdate(SC_UPDATE_CONTENT);\n\n\tpaintState = notPainting;\n\tpaintAbandonedByStyling = false;\n\tpaintingAllText = false;\n\twillRedrawAll = false;\n\tidleStyling = SC_IDLESTYLING_NONE;\n\tneedIdleStyling = false;\n\n\tmodEventMask = SC_MODEVENTMASKALL;\n\tcommandEvents = true;\n\n\tpdoc->AddWatcher(this, 0);\n\n\trecordingMacro = false;\n\tfoldAutomatic = 0;\n\n\tconvertPastes = true;\n\n\tSetRepresentations();\n}\n\nEditor::~Editor() {\n\tpdoc->RemoveWatcher(this, 0);\n\tDropGraphics(true);\n}\n\nvoid Editor::Finalise() {\n\tSetIdle(false);\n\tCancelModes();\n}\n\nvoid Editor::SetRepresentations() {\n\treprs.Clear();\n\n\t// C0 control set\n\tconst char *const reps[] = {\n\t\t\"NUL\", \"SOH\", \"STX\", \"ETX\", \"EOT\", \"ENQ\", \"ACK\", \"BEL\",\n\t\t\"BS\", \"HT\", \"LF\", \"VT\", \"FF\", \"CR\", \"SO\", \"SI\",\n\t\t\"DLE\", \"DC1\", \"DC2\", \"DC3\", \"DC4\", \"NAK\", \"SYN\", \"ETB\",\n\t\t\"CAN\", \"EM\", \"SUB\", \"ESC\", \"FS\", \"GS\", \"RS\", \"US\"\n\t};\n\tfor (size_t j=0; j < ELEMENTS(reps); j++) {\n\t\tconst char c[2] = { static_cast<char>(j), 0 };\n\t\treprs.SetRepresentation(c, reps[j]);\n\t}\n\n\t// C1 control set\n\t// As well as Unicode mode, ISO-8859-1 should use these\n\tif (IsUnicodeMode()) {\n\t\tconst char *const repsC1[] = {\n\t\t\t\"PAD\", \"HOP\", \"BPH\", \"NBH\", \"IND\", \"NEL\", \"SSA\", \"ESA\",\n\t\t\t\"HTS\", \"HTJ\", \"VTS\", \"PLD\", \"PLU\", \"RI\", \"SS2\", \"SS3\",\n\t\t\t\"DCS\", \"PU1\", \"PU2\", \"STS\", \"CCH\", \"MW\", \"SPA\", \"EPA\",\n\t\t\t\"SOS\", \"SGCI\", \"SCI\", \"CSI\", \"ST\", \"OSC\", \"PM\", \"APC\"\n\t\t};\n\t\tfor (size_t j=0; j < ELEMENTS(repsC1); j++) {\n\t\t\tconst char c1[3] = { '\\xc2',  static_cast<char>(0x80+j), 0 };\n\t\t\treprs.SetRepresentation(c1, repsC1[j]);\n\t\t}\n\t\treprs.SetRepresentation(\"\\xe2\\x80\\xa8\", \"LS\");\n\t\treprs.SetRepresentation(\"\\xe2\\x80\\xa9\", \"PS\");\n\t}\n\n\t// UTF-8 invalid bytes\n\tif (IsUnicodeMode()) {\n\t\tfor (int k=0x80; k < 0x100; k++) {\n\t\t\tconst char hiByte[2] = {  static_cast<char>(k), 0 };\n\t\t\tchar hexits[5];\t// Really only needs 4 but that causes warning from gcc 7.1\n\t\t\tsprintf(hexits, \"x%2X\", k);\n\t\t\treprs.SetRepresentation(hiByte, hexits);\n\t\t}\n\t} else if (pdoc->dbcsCodePage) {\n\t\t// DBCS invalid single lead bytes\n\t\tfor (int k = 0x80; k < 0x100; k++) {\n\t\t\tconst char ch = static_cast<char>(k);\n\t\t\tif (pdoc->IsDBCSLeadByteNoExcept(ch)  || pdoc->IsDBCSLeadByteInvalid(ch)) {\n\t\t\t\tconst char hiByte[2] = { ch, 0 };\n\t\t\t\tchar hexits[5];\t// Really only needs 4 but that causes warning from gcc 7.1\n\t\t\t\tsprintf(hexits, \"x%2X\", k);\n\t\t\t\treprs.SetRepresentation(hiByte, hexits);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Editor::DropGraphics(bool freeObjects) {\n\tmarginView.DropGraphics(freeObjects);\n\tview.DropGraphics(freeObjects);\n}\n\nvoid Editor::AllocateGraphics() {\n\tmarginView.AllocateGraphics(vs);\n\tview.AllocateGraphics(vs);\n}\n\nvoid Editor::InvalidateStyleData() {\n\tstylesValid = false;\n\tvs.technology = technology;\n\tDropGraphics(false);\n\tAllocateGraphics();\n\tview.llc.Invalidate(LineLayout::llInvalid);\n\tview.posCache.Clear();\n}\n\nvoid Editor::InvalidateStyleRedraw() {\n\tNeedWrapping();\n\tInvalidateStyleData();\n\tRedraw();\n}\n\nvoid Editor::RefreshStyleData() {\n\tif (!stylesValid) {\n\t\tstylesValid = true;\n\t\tAutoSurface surface(this);\n\t\tif (surface) {\n\t\t\tvs.Refresh(*surface, pdoc->tabInChars);\n\t\t}\n\t\tSetScrollBars();\n\t\tSetRectangularRange();\n\t}\n}\n\nPoint Editor::GetVisibleOriginInMain() const {\n\treturn Point(0, 0);\n}\n\nPointDocument Editor::DocumentPointFromView(Point ptView) const {\n\tPointDocument ptDocument(ptView);\n\tif (wMargin.GetID()) {\n\t\tconst Point ptOrigin = GetVisibleOriginInMain();\n\t\tptDocument.x += ptOrigin.x;\n\t\tptDocument.y += ptOrigin.y;\n\t} else {\n\t\tptDocument.x += xOffset;\n\t\tptDocument.y += topLine * vs.lineHeight;\n\t}\n\treturn ptDocument;\n}\n\nSci::Line Editor::TopLineOfMain() const {\n\tif (wMargin.GetID())\n\t\treturn 0;\n\telse\n\t\treturn topLine;\n}\n\nPRectangle Editor::GetClientRectangle() const {\n\treturn wMain.GetClientPosition();\n}\n\nPRectangle Editor::GetClientDrawingRectangle() {\n\treturn GetClientRectangle();\n}\n\nPRectangle Editor::GetTextRectangle() const {\n\tPRectangle rc = GetClientRectangle();\n\trc.left += vs.textStart;\n\trc.right -= vs.rightMarginWidth;\n\treturn rc;\n}\n\nSci::Line Editor::LinesOnScreen() const {\n\tconst PRectangle rcClient = GetClientRectangle();\n\tconst int htClient = static_cast<int>(rcClient.bottom - rcClient.top);\n\t//Platform::DebugPrintf(\"lines on screen = %d\\n\", htClient / lineHeight + 1);\n\treturn htClient / vs.lineHeight;\n}\n\nSci::Line Editor::LinesToScroll() const {\n\tconst Sci::Line retVal = LinesOnScreen() - 1;\n\tif (retVal < 1)\n\t\treturn 1;\n\telse\n\t\treturn retVal;\n}\n\nSci::Line Editor::MaxScrollPos() const {\n\t//Platform::DebugPrintf(\"Lines %d screen = %d maxScroll = %d\\n\",\n\t//LinesTotal(), LinesOnScreen(), LinesTotal() - LinesOnScreen() + 1);\n\tSci::Line retVal = pcs->LinesDisplayed();\n\tif (endAtLastLine) {\n\t\tretVal -= LinesOnScreen();\n\t} else {\n\t\tretVal--;\n\t}\n\tif (retVal < 0) {\n\t\treturn 0;\n\t} else {\n\t\treturn retVal;\n\t}\n}\n\nSelectionPosition Editor::ClampPositionIntoDocument(SelectionPosition sp) const {\n\tif (sp.Position() < 0) {\n\t\treturn SelectionPosition(0);\n\t} else if (sp.Position() > pdoc->Length()) {\n\t\treturn SelectionPosition(pdoc->Length());\n\t} else {\n\t\t// If not at end of line then set offset to 0\n\t\tif (!pdoc->IsLineEndPosition(sp.Position()))\n\t\t\tsp.SetVirtualSpace(0);\n\t\treturn sp;\n\t}\n}\n\nPoint Editor::LocationFromPosition(SelectionPosition pos, PointEnd pe) {\n\tRefreshStyleData();\n\tAutoSurface surface(this);\n\treturn view.LocationFromPosition(surface, *this, pos, topLine, vs, pe);\n}\n\nPoint Editor::LocationFromPosition(Sci::Position pos, PointEnd pe) {\n\treturn LocationFromPosition(SelectionPosition(pos), pe);\n}\n\nint Editor::XFromPosition(SelectionPosition sp) {\n\tconst Point pt = LocationFromPosition(sp);\n\treturn static_cast<int>(pt.x) - vs.textStart + xOffset;\n}\n\nSelectionPosition Editor::SPositionFromLocation(Point pt, bool canReturnInvalid, bool charPosition, bool virtualSpace) {\n\tRefreshStyleData();\n\tAutoSurface surface(this);\n\n\tif (canReturnInvalid) {\n\t\tPRectangle rcClient = GetTextRectangle();\n\t\t// May be in scroll view coordinates so translate back to main view\n\t\tconst Point ptOrigin = GetVisibleOriginInMain();\n\t\trcClient.Move(-ptOrigin.x, -ptOrigin.y);\n\t\tif (!rcClient.Contains(pt))\n\t\t\treturn SelectionPosition(INVALID_POSITION);\n\t\tif (pt.x < vs.textStart)\n\t\t\treturn SelectionPosition(INVALID_POSITION);\n\t\tif (pt.y < 0)\n\t\t\treturn SelectionPosition(INVALID_POSITION);\n\t}\n\tconst PointDocument ptdoc = DocumentPointFromView(pt);\n\treturn view.SPositionFromLocation(surface, *this, ptdoc, canReturnInvalid, charPosition, virtualSpace, vs);\n}\n\nSci::Position Editor::PositionFromLocation(Point pt, bool canReturnInvalid, bool charPosition) {\n\treturn SPositionFromLocation(pt, canReturnInvalid, charPosition, false).Position();\n}\n\n/**\n* Find the document position corresponding to an x coordinate on a particular document line.\n* Ensure is between whole characters when document is in multi-byte or UTF-8 mode.\n* This method is used for rectangular selections and does not work on wrapped lines.\n*/\nSelectionPosition Editor::SPositionFromLineX(Sci::Line lineDoc, int x) {\n\tRefreshStyleData();\n\tif (lineDoc >= pdoc->LinesTotal())\n\t\treturn SelectionPosition(pdoc->Length());\n\t//Platform::DebugPrintf(\"Position of (%d,%d) line = %d top=%d\\n\", pt.x, pt.y, line, topLine);\n\tAutoSurface surface(this);\n\treturn view.SPositionFromLineX(surface, *this, lineDoc, x, vs);\n}\n\nSci::Position Editor::PositionFromLineX(Sci::Line lineDoc, int x) {\n\treturn SPositionFromLineX(lineDoc, x).Position();\n}\n\nSci::Line Editor::LineFromLocation(Point pt) const {\n\treturn pcs->DocFromDisplay(static_cast<int>(pt.y) / vs.lineHeight + topLine);\n}\n\nvoid Editor::SetTopLine(Sci::Line topLineNew) {\n\tif ((topLine != topLineNew) && (topLineNew >= 0)) {\n\t\ttopLine = topLineNew;\n\t\tContainerNeedsUpdate(SC_UPDATE_V_SCROLL);\n\t}\n\tposTopLine = pdoc->LineStart(pcs->DocFromDisplay(topLine));\n}\n\n/**\n * If painting then abandon the painting because a wider redraw is needed.\n * @return true if calling code should stop drawing.\n */\nbool Editor::AbandonPaint() {\n\tif ((paintState == painting) && !paintingAllText) {\n\t\tpaintState = paintAbandoned;\n\t}\n\treturn paintState == paintAbandoned;\n}\n\nvoid Editor::RedrawRect(PRectangle rc) {\n\t//Platform::DebugPrintf(\"Redraw %0d,%0d - %0d,%0d\\n\", rc.left, rc.top, rc.right, rc.bottom);\n\n\t// Clip the redraw rectangle into the client area\n\tconst PRectangle rcClient = GetClientRectangle();\n\tif (rc.top < rcClient.top)\n\t\trc.top = rcClient.top;\n\tif (rc.bottom > rcClient.bottom)\n\t\trc.bottom = rcClient.bottom;\n\tif (rc.left < rcClient.left)\n\t\trc.left = rcClient.left;\n\tif (rc.right > rcClient.right)\n\t\trc.right = rcClient.right;\n\n\tif ((rc.bottom > rc.top) && (rc.right > rc.left)) {\n\t\twMain.InvalidateRectangle(rc);\n\t}\n}\n\nvoid Editor::DiscardOverdraw() {\n\t// Overridden on platforms that may draw outside visible area.\n}\n\nvoid Editor::Redraw() {\n\t//Platform::DebugPrintf(\"Redraw all\\n\");\n\tconst PRectangle rcClient = GetClientRectangle();\n\twMain.InvalidateRectangle(rcClient);\n\tif (wMargin.GetID())\n\t\twMargin.InvalidateAll();\n\t//wMain.InvalidateAll();\n}\n\nvoid Editor::RedrawSelMargin(Sci::Line line, bool allAfter) {\n\tconst bool markersInText = vs.maskInLine || vs.maskDrawInText;\n\tif (!wMargin.GetID() || markersInText) {\t// May affect text area so may need to abandon and retry\n\t\tif (AbandonPaint()) {\n\t\t\treturn;\n\t\t}\n\t}\n\tif (wMargin.GetID() && markersInText) {\n\t\tRedraw();\n\t\treturn;\n\t}\n\tPRectangle rcMarkers = GetClientRectangle();\n\tif (!markersInText) {\n\t\t// Normal case: just draw the margin\n\t\trcMarkers.right = rcMarkers.left + vs.fixedColumnWidth;\n\t}\n\tif (line != -1) {\n\t\tPRectangle rcLine = RectangleFromRange(Range(pdoc->LineStart(line)), 0);\n\n\t\t// Inflate line rectangle if there are image markers with height larger than line height\n\t\tif (vs.largestMarkerHeight > vs.lineHeight) {\n\t\t\tconst int delta = (vs.largestMarkerHeight - vs.lineHeight + 1) / 2;\n\t\t\trcLine.top -= delta;\n\t\t\trcLine.bottom += delta;\n\t\t\tif (rcLine.top < rcMarkers.top)\n\t\t\t\trcLine.top = rcMarkers.top;\n\t\t\tif (rcLine.bottom > rcMarkers.bottom)\n\t\t\t\trcLine.bottom = rcMarkers.bottom;\n\t\t}\n\n\t\trcMarkers.top = rcLine.top;\n\t\tif (!allAfter)\n\t\t\trcMarkers.bottom = rcLine.bottom;\n\t\tif (rcMarkers.Empty())\n\t\t\treturn;\n\t}\n\tif (wMargin.GetID()) {\n\t\tconst Point ptOrigin = GetVisibleOriginInMain();\n\t\trcMarkers.Move(-ptOrigin.x, -ptOrigin.y);\n\t\twMargin.InvalidateRectangle(rcMarkers);\n\t} else {\n\t\twMain.InvalidateRectangle(rcMarkers);\n\t}\n}\n\nPRectangle Editor::RectangleFromRange(Range r, int overlap) {\n\tconst Sci::Line minLine = pcs->DisplayFromDoc(\n\t\tpdoc->SciLineFromPosition(r.First()));\n\tconst Sci::Line maxLine = pcs->DisplayLastFromDoc(\n\t\tpdoc->SciLineFromPosition(r.Last()));\n\tconst PRectangle rcClientDrawing = GetClientDrawingRectangle();\n\tPRectangle rc;\n\tconst int leftTextOverlap = ((xOffset == 0) && (vs.leftMarginWidth > 0)) ? 1 : 0;\n\trc.left = static_cast<XYPOSITION>(vs.textStart - leftTextOverlap);\n\trc.top = static_cast<XYPOSITION>((minLine - TopLineOfMain()) * vs.lineHeight - overlap);\n\tif (rc.top < rcClientDrawing.top)\n\t\trc.top = rcClientDrawing.top;\n\t// Extend to right of prepared area if any to prevent artifacts from caret line highlight\n\trc.right = rcClientDrawing.right;\n\trc.bottom = static_cast<XYPOSITION>((maxLine - TopLineOfMain() + 1) * vs.lineHeight + overlap);\n\n\treturn rc;\n}\n\nvoid Editor::InvalidateRange(Sci::Position start, Sci::Position end) {\n\tRedrawRect(RectangleFromRange(Range(start, end), view.LinesOverlap() ? vs.lineOverlap : 0));\n}\n\nSci::Position Editor::CurrentPosition() const {\n\treturn sel.MainCaret();\n}\n\nbool Editor::SelectionEmpty() const {\n\treturn sel.Empty();\n}\n\nSelectionPosition Editor::SelectionStart() {\n\treturn sel.RangeMain().Start();\n}\n\nSelectionPosition Editor::SelectionEnd() {\n\treturn sel.RangeMain().End();\n}\n\nvoid Editor::SetRectangularRange() {\n\tif (sel.IsRectangular()) {\n\t\tconst int xAnchor = XFromPosition(sel.Rectangular().anchor);\n\t\tint xCaret = XFromPosition(sel.Rectangular().caret);\n\t\tif (sel.selType == Selection::selThin) {\n\t\t\txCaret = xAnchor;\n\t\t}\n\t\tconst Sci::Line lineAnchorRect =\n\t\t\tpdoc->SciLineFromPosition(sel.Rectangular().anchor.Position());\n\t\tconst Sci::Line lineCaret =\n\t\t\tpdoc->SciLineFromPosition(sel.Rectangular().caret.Position());\n\t\tconst int increment = (lineCaret > lineAnchorRect) ? 1 : -1;\n\t\tfor (Sci::Line line=lineAnchorRect; line != lineCaret+increment; line += increment) {\n\t\t\tSelectionRange range(SPositionFromLineX(line, xCaret), SPositionFromLineX(line, xAnchor));\n\t\t\tif ((virtualSpaceOptions & SCVS_RECTANGULARSELECTION) == 0)\n\t\t\t\trange.ClearVirtualSpace();\n\t\t\tif (line == lineAnchorRect)\n\t\t\t\tsel.SetSelection(range);\n\t\t\telse\n\t\t\t\tsel.AddSelectionWithoutTrim(range);\n\t\t}\n\t}\n}\n\nvoid Editor::ThinRectangularRange() {\n\tif (sel.IsRectangular()) {\n\t\tsel.selType = Selection::selThin;\n\t\tif (sel.Rectangular().caret < sel.Rectangular().anchor) {\n\t\t\tsel.Rectangular() = SelectionRange(sel.Range(sel.Count()-1).caret, sel.Range(0).anchor);\n\t\t} else {\n\t\t\tsel.Rectangular() = SelectionRange(sel.Range(sel.Count()-1).anchor, sel.Range(0).caret);\n\t\t}\n\t\tSetRectangularRange();\n\t}\n}\n\nvoid Editor::InvalidateSelection(SelectionRange newMain, bool invalidateWholeSelection) {\n\tif (sel.Count() > 1 || !(sel.RangeMain().anchor == newMain.anchor) || sel.IsRectangular()) {\n\t\tinvalidateWholeSelection = true;\n\t}\n\tSci::Position firstAffected = std::min(sel.RangeMain().Start().Position(), newMain.Start().Position());\n\t// +1 for lastAffected ensures caret repainted\n\tSci::Position lastAffected = std::max(newMain.caret.Position()+1, newMain.anchor.Position());\n\tlastAffected = std::max(lastAffected, sel.RangeMain().End().Position());\n\tif (invalidateWholeSelection) {\n\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\tfirstAffected = std::min(firstAffected, sel.Range(r).caret.Position());\n\t\t\tfirstAffected = std::min(firstAffected, sel.Range(r).anchor.Position());\n\t\t\tlastAffected = std::max(lastAffected, sel.Range(r).caret.Position()+1);\n\t\t\tlastAffected = std::max(lastAffected, sel.Range(r).anchor.Position());\n\t\t}\n\t}\n\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\tInvalidateRange(firstAffected, lastAffected);\n}\n\nvoid Editor::InvalidateWholeSelection() {\n\tInvalidateSelection(sel.RangeMain(), true);\n}\n\n/* For Line selection - the anchor and caret are always\n   at the beginning and end of the region lines. */\nSelectionRange Editor::LineSelectionRange(SelectionPosition currentPos_, SelectionPosition anchor_) const {\n\tif (currentPos_ > anchor_) {\n\t\tanchor_ = SelectionPosition(\n\t\t\tpdoc->LineStart(pdoc->LineFromPosition(anchor_.Position())));\n\t\tcurrentPos_ = SelectionPosition(\n\t\t\tpdoc->LineEnd(pdoc->LineFromPosition(currentPos_.Position())));\n\t} else {\n\t\tcurrentPos_ = SelectionPosition(\n\t\t\tpdoc->LineStart(pdoc->LineFromPosition(currentPos_.Position())));\n\t\tanchor_ = SelectionPosition(\n\t\t\tpdoc->LineEnd(pdoc->LineFromPosition(anchor_.Position())));\n\t}\n\treturn SelectionRange(currentPos_, anchor_);\n}\n\nvoid Editor::SetSelection(SelectionPosition currentPos_, SelectionPosition anchor_) {\n\tcurrentPos_ = ClampPositionIntoDocument(currentPos_);\n\tanchor_ = ClampPositionIntoDocument(anchor_);\n\tconst Sci::Line currentLine = pdoc->SciLineFromPosition(currentPos_.Position());\n\tSelectionRange rangeNew(currentPos_, anchor_);\n\tif (sel.selType == Selection::selLines) {\n\t\trangeNew = LineSelectionRange(currentPos_, anchor_);\n\t}\n\tif (sel.Count() > 1 || !(sel.RangeMain() == rangeNew)) {\n\t\tInvalidateSelection(rangeNew);\n\t}\n\tsel.RangeMain() = rangeNew;\n\tSetRectangularRange();\n\tClaimSelection();\n\tSetHoverIndicatorPosition(sel.MainCaret());\n\n\tif (marginView.highlightDelimiter.NeedsDrawing(currentLine)) {\n\t\tRedrawSelMargin();\n\t}\n\tQueueIdleWork(WorkNeeded::workUpdateUI);\n}\n\nvoid Editor::SetSelection(Sci::Position currentPos_, Sci::Position anchor_) {\n\tSetSelection(SelectionPosition(currentPos_), SelectionPosition(anchor_));\n}\n\n// Just move the caret on the main selection\nvoid Editor::SetSelection(SelectionPosition currentPos_) {\n\tcurrentPos_ = ClampPositionIntoDocument(currentPos_);\n\tconst Sci::Line currentLine = pdoc->SciLineFromPosition(currentPos_.Position());\n\tif (sel.Count() > 1 || !(sel.RangeMain().caret == currentPos_)) {\n\t\tInvalidateSelection(SelectionRange(currentPos_));\n\t}\n\tif (sel.IsRectangular()) {\n\t\tsel.Rectangular() =\n\t\t\tSelectionRange(SelectionPosition(currentPos_), sel.Rectangular().anchor);\n\t\tSetRectangularRange();\n\t} else if (sel.selType == Selection::selLines) {\n\t\tsel.RangeMain() = LineSelectionRange(currentPos_, sel.RangeMain().anchor);\n\t} else {\n\t\tsel.RangeMain() =\n\t\t\tSelectionRange(SelectionPosition(currentPos_), sel.RangeMain().anchor);\n\t}\n\tClaimSelection();\n\tSetHoverIndicatorPosition(sel.MainCaret());\n\n\tif (marginView.highlightDelimiter.NeedsDrawing(currentLine)) {\n\t\tRedrawSelMargin();\n\t}\n\tQueueIdleWork(WorkNeeded::workUpdateUI);\n}\n\nvoid Editor::SetSelection(int currentPos_) {\n\tSetSelection(SelectionPosition(currentPos_));\n}\n\nvoid Editor::SetEmptySelection(SelectionPosition currentPos_) {\n\tconst Sci::Line currentLine = pdoc->SciLineFromPosition(currentPos_.Position());\n\tSelectionRange rangeNew(ClampPositionIntoDocument(currentPos_));\n\tif (sel.Count() > 1 || !(sel.RangeMain() == rangeNew)) {\n\t\tInvalidateSelection(rangeNew);\n\t}\n\tsel.Clear();\n\tsel.RangeMain() = rangeNew;\n\tSetRectangularRange();\n\tClaimSelection();\n\tSetHoverIndicatorPosition(sel.MainCaret());\n\n\tif (marginView.highlightDelimiter.NeedsDrawing(currentLine)) {\n\t\tRedrawSelMargin();\n\t}\n\tQueueIdleWork(WorkNeeded::workUpdateUI);\n}\n\nvoid Editor::SetEmptySelection(Sci::Position currentPos_) {\n\tSetEmptySelection(SelectionPosition(currentPos_));\n}\n\nvoid Editor::MultipleSelectAdd(AddNumber addNumber) {\n\tif (SelectionEmpty() || !multipleSelection) {\n\t\t// Select word at caret\n\t\tconst Sci::Position startWord = pdoc->ExtendWordSelect(sel.MainCaret(), -1, true);\n\t\tconst Sci::Position endWord = pdoc->ExtendWordSelect(startWord, 1, true);\n\t\tTrimAndSetSelection(endWord, startWord);\n\n\t} else {\n\n\t\tif (!pdoc->HasCaseFolder())\n\t\t\tpdoc->SetCaseFolder(CaseFolderForEncoding());\n\n\t\tconst Range rangeMainSelection(sel.RangeMain().Start().Position(), sel.RangeMain().End().Position());\n\t\tconst std::string selectedText = RangeText(rangeMainSelection.start, rangeMainSelection.end);\n\n\t\tconst Range rangeTarget(targetStart, targetEnd);\n\t\tstd::vector<Range> searchRanges;\n\t\t// Search should be over the target range excluding the current selection so\n\t\t// may need to search 2 ranges, after the selection then before the selection.\n\t\tif (rangeTarget.Overlaps(rangeMainSelection)) {\n\t\t\t// Common case is that the selection is completely within the target but\n\t\t\t// may also have overlap at start or end.\n\t\t\tif (rangeMainSelection.end < rangeTarget.end)\n\t\t\t\tsearchRanges.push_back(Range(rangeMainSelection.end, rangeTarget.end));\n\t\t\tif (rangeTarget.start < rangeMainSelection.start)\n\t\t\t\tsearchRanges.push_back(Range(rangeTarget.start, rangeMainSelection.start));\n\t\t} else {\n\t\t\t// No overlap\n\t\t\tsearchRanges.push_back(rangeTarget);\n\t\t}\n\n\t\tfor (std::vector<Range>::const_iterator it = searchRanges.begin(); it != searchRanges.end(); ++it) {\n\t\t\tSci::Position searchStart = it->start;\n\t\t\tconst Sci::Position searchEnd = it->end;\n\t\t\tfor (;;) {\n\t\t\t\tSci::Position lengthFound = selectedText.length();\n\t\t\t\tconst Sci::Position pos = pdoc->FindText(searchStart, searchEnd,\n\t\t\t\t\tselectedText.c_str(), searchFlags, &lengthFound);\n\t\t\t\tif (pos >= 0) {\n\t\t\t\t\tsel.AddSelection(SelectionRange(pos + lengthFound, pos));\n\t\t\t\t\tScrollRange(sel.RangeMain());\n\t\t\t\t\tRedraw();\n\t\t\t\t\tif (addNumber == addOne)\n\t\t\t\t\t\treturn;\n\t\t\t\t\tsearchStart = pos + lengthFound;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nbool Editor::RangeContainsProtected(Sci::Position start, Sci::Position end) const {\n\tif (vs.ProtectionActive()) {\n\t\tif (start > end) {\n\t\t\tconst Sci::Position t = start;\n\t\t\tstart = end;\n\t\t\tend = t;\n\t\t}\n\t\tfor (Sci::Position pos = start; pos < end; pos++) {\n\t\t\tif (vs.styles[pdoc->StyleIndexAt(pos)].IsProtected())\n\t\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool Editor::SelectionContainsProtected() {\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tif (RangeContainsProtected(sel.Range(r).Start().Position(),\n\t\t\tsel.Range(r).End().Position())) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n * Asks document to find a good position and then moves out of any invisible positions.\n */\nSci::Position Editor::MovePositionOutsideChar(Sci::Position pos, Sci::Position moveDir, bool checkLineEnd) const {\n\treturn MovePositionOutsideChar(SelectionPosition(pos), moveDir, checkLineEnd).Position();\n}\n\nSelectionPosition Editor::MovePositionOutsideChar(SelectionPosition pos, Sci::Position moveDir, bool checkLineEnd) const {\n\tconst Sci::Position posMoved = pdoc->MovePositionOutsideChar(pos.Position(), moveDir, checkLineEnd);\n\tif (posMoved != pos.Position())\n\t\tpos.SetPosition(posMoved);\n\tif (vs.ProtectionActive()) {\n\t\tif (moveDir > 0) {\n\t\t\tif ((pos.Position() > 0) && vs.styles[pdoc->StyleIndexAt(pos.Position() - 1)].IsProtected()) {\n\t\t\t\twhile ((pos.Position() < pdoc->Length()) &&\n\t\t\t\t        (vs.styles[pdoc->StyleIndexAt(pos.Position())].IsProtected()))\n\t\t\t\t\tpos.Add(1);\n\t\t\t}\n\t\t} else if (moveDir < 0) {\n\t\t\tif (vs.styles[pdoc->StyleIndexAt(pos.Position())].IsProtected()) {\n\t\t\t\twhile ((pos.Position() > 0) &&\n\t\t\t\t        (vs.styles[pdoc->StyleIndexAt(pos.Position() - 1)].IsProtected()))\n\t\t\t\t\tpos.Add(-1);\n\t\t\t}\n\t\t}\n\t}\n\treturn pos;\n}\n\nvoid Editor::MovedCaret(SelectionPosition newPos, SelectionPosition previousPos, bool ensureVisible) {\n\tconst Sci::Line currentLine = pdoc->SciLineFromPosition(newPos.Position());\n\tif (ensureVisible) {\n\t\t// In case in need of wrapping to ensure DisplayFromDoc works.\n\t\tif (currentLine >= wrapPending.start) {\n\t\t\tif (WrapLines(WrapScope::wsAll)) {\n\t\t\t\tRedraw();\n\t\t\t}\n\t\t}\n\t\tconst XYScrollPosition newXY = XYScrollToMakeVisible(\n\t\t\tSelectionRange(posDrag.IsValid() ? posDrag : newPos), xysDefault);\n\t\tif (previousPos.IsValid() && (newXY.xOffset == xOffset)) {\n\t\t\t// simple vertical scroll then invalidate\n\t\t\tScrollTo(newXY.topLine);\n\t\t\tInvalidateSelection(SelectionRange(previousPos), true);\n\t\t} else {\n\t\t\tSetXYScroll(newXY);\n\t\t}\n\t}\n\n\tShowCaretAtCurrentPosition();\n\tNotifyCaretMove();\n\n\tClaimSelection();\n\tSetHoverIndicatorPosition(sel.MainCaret());\n\tQueueIdleWork(WorkNeeded::workUpdateUI);\n\n\tif (marginView.highlightDelimiter.NeedsDrawing(currentLine)) {\n\t\tRedrawSelMargin();\n\t}\n}\n\nvoid Editor::MovePositionTo(SelectionPosition newPos, Selection::selTypes selt, bool ensureVisible) {\n\tconst SelectionPosition spCaret = ((sel.Count() == 1) && sel.Empty()) ?\n\t\tsel.Last() : SelectionPosition(INVALID_POSITION);\n\n\tconst Sci::Position delta = newPos.Position() - sel.MainCaret();\n\tnewPos = ClampPositionIntoDocument(newPos);\n\tnewPos = MovePositionOutsideChar(newPos, delta);\n\tif (!multipleSelection && sel.IsRectangular() && (selt == Selection::selStream)) {\n\t\t// Can't turn into multiple selection so clear additional selections\n\t\tInvalidateSelection(SelectionRange(newPos), true);\n\t\tsel.DropAdditionalRanges();\n\t}\n\tif (!sel.IsRectangular() && (selt == Selection::selRectangle)) {\n\t\t// Switching to rectangular\n\t\tInvalidateSelection(sel.RangeMain(), false);\n\t\tSelectionRange rangeMain = sel.RangeMain();\n\t\tsel.Clear();\n\t\tsel.Rectangular() = rangeMain;\n\t}\n\tif (selt != Selection::noSel) {\n\t\tsel.selType = selt;\n\t}\n\tif (selt != Selection::noSel || sel.MoveExtends()) {\n\t\tSetSelection(newPos);\n\t} else {\n\t\tSetEmptySelection(newPos);\n\t}\n\n\tMovedCaret(newPos, spCaret, ensureVisible);\n}\n\nvoid Editor::MovePositionTo(Sci::Position newPos, Selection::selTypes selt, bool ensureVisible) {\n\tMovePositionTo(SelectionPosition(newPos), selt, ensureVisible);\n}\n\nSelectionPosition Editor::MovePositionSoVisible(SelectionPosition pos, int moveDir) {\n\tpos = ClampPositionIntoDocument(pos);\n\tpos = MovePositionOutsideChar(pos, moveDir);\n\tconst Sci::Line lineDoc = pdoc->SciLineFromPosition(pos.Position());\n\tif (pcs->GetVisible(lineDoc)) {\n\t\treturn pos;\n\t} else {\n\t\tSci::Line lineDisplay = pcs->DisplayFromDoc(lineDoc);\n\t\tif (moveDir > 0) {\n\t\t\t// lineDisplay is already line before fold as lines in fold use display line of line after fold\n\t\t\tlineDisplay = Sci::clamp(lineDisplay, static_cast<Sci::Line>(0), pcs->LinesDisplayed());\n\t\t\treturn SelectionPosition(\n\t\t\t\tpdoc->LineStart(pcs->DocFromDisplay(lineDisplay)));\n\t\t} else {\n\t\t\tlineDisplay = Sci::clamp(lineDisplay - 1, static_cast<Sci::Line>(0), pcs->LinesDisplayed());\n\t\t\treturn SelectionPosition(\n\t\t\t\tpdoc->LineEnd(pcs->DocFromDisplay(lineDisplay)));\n\t\t}\n\t}\n}\n\nSelectionPosition Editor::MovePositionSoVisible(Sci::Position pos, int moveDir) {\n\treturn MovePositionSoVisible(SelectionPosition(pos), moveDir);\n}\n\nPoint Editor::PointMainCaret() {\n\treturn LocationFromPosition(sel.Range(sel.Main()).caret);\n}\n\n/**\n * Choose the x position that the caret will try to stick to\n * as it moves up and down.\n */\nvoid Editor::SetLastXChosen() {\n\tconst Point pt = PointMainCaret();\n\tlastXChosen = static_cast<int>(pt.x) + xOffset;\n}\n\nvoid Editor::ScrollTo(Sci::Line line, bool moveThumb) {\n\tconst Sci::Line topLineNew = Sci::clamp(line, static_cast<Sci::Line>(0), MaxScrollPos());\n\tif (topLineNew != topLine) {\n\t\t// Try to optimise small scrolls\n#ifndef UNDER_CE\n\t\tconst Sci::Line linesToMove = topLine - topLineNew;\n\t\tconst bool performBlit = (std::abs(linesToMove) <= 10) && (paintState == notPainting);\n\t\twillRedrawAll = !performBlit;\n#endif\n\t\tSetTopLine(topLineNew);\n\t\t// Optimize by styling the view as this will invalidate any needed area\n\t\t// which could abort the initial paint if discovered later.\n\t\tStyleAreaBounded(GetClientRectangle(), true);\n#ifndef UNDER_CE\n\t\t// Perform redraw rather than scroll if many lines would be redrawn anyway.\n\t\tif (performBlit) {\n\t\t\tScrollText(linesToMove);\n\t\t} else {\n\t\t\tRedraw();\n\t\t}\n\t\twillRedrawAll = false;\n#else\n\t\tRedraw();\n#endif\n\t\tif (moveThumb) {\n\t\t\tSetVerticalScrollPos();\n\t\t}\n\t}\n}\n\nvoid Editor::ScrollText(Sci::Line /* linesToMove */) {\n\t//Platform::DebugPrintf(\"Editor::ScrollText %d\\n\", linesToMove);\n\tRedraw();\n}\n\nvoid Editor::HorizontalScrollTo(int xPos) {\n\t//Platform::DebugPrintf(\"HorizontalScroll %d\\n\", xPos);\n\tif (xPos < 0)\n\t\txPos = 0;\n\tif (!Wrapping() && (xOffset != xPos)) {\n\t\txOffset = xPos;\n\t\tContainerNeedsUpdate(SC_UPDATE_H_SCROLL);\n\t\tSetHorizontalScrollPos();\n\t\tRedrawRect(GetClientRectangle());\n\t}\n}\n\nvoid Editor::VerticalCentreCaret() {\n\tconst Sci::Line lineDoc =\n\t\tpdoc->SciLineFromPosition(sel.IsRectangular() ? sel.Rectangular().caret.Position() : sel.MainCaret());\n\tconst Sci::Line lineDisplay = pcs->DisplayFromDoc(lineDoc);\n\tconst Sci::Line newTop = lineDisplay - (LinesOnScreen() / 2);\n\tif (topLine != newTop) {\n\t\tSetTopLine(newTop > 0 ? newTop : 0);\n\t\tRedrawRect(GetClientRectangle());\n\t}\n}\n\nvoid Editor::MoveSelectedLines(int lineDelta) {\n\n\t// if selection doesn't start at the beginning of the line, set the new start\n\tSci::Position selectionStart = SelectionStart().Position();\n\tconst Sci::Line startLine = pdoc->SciLineFromPosition(selectionStart);\n\tconst Sci::Position beginningOfStartLine = pdoc->LineStart(startLine);\n\tselectionStart = beginningOfStartLine;\n\n\t// if selection doesn't end at the beginning of a line greater than that of the start,\n\t// then set it at the beginning of the next one\n\tSci::Position selectionEnd = SelectionEnd().Position();\n\tconst Sci::Line endLine = pdoc->SciLineFromPosition(selectionEnd);\n\tconst Sci::Position beginningOfEndLine = pdoc->LineStart(endLine);\n\tbool appendEol = false;\n\tif (selectionEnd > beginningOfEndLine\n\t\t|| selectionStart == selectionEnd) {\n\t\tselectionEnd = pdoc->LineStart(endLine + 1);\n\t\tappendEol = (selectionEnd == pdoc->Length() && pdoc->SciLineFromPosition(selectionEnd) == endLine);\n\t}\n\n\t// if there's nowhere for the selection to move\n\t// (i.e. at the beginning going up or at the end going down),\n\t// stop it right there!\n\tif ((selectionStart == 0 && lineDelta < 0)\n\t\t|| (selectionEnd == pdoc->Length() && lineDelta > 0)\n\t        || selectionStart == selectionEnd) {\n\t\treturn;\n\t}\n\n\tUndoGroup ug(pdoc);\n\n\tif (lineDelta > 0 && selectionEnd == pdoc->LineStart(pdoc->LinesTotal() - 1)) {\n\t\tSetSelection(pdoc->MovePositionOutsideChar(selectionEnd - 1, -1), selectionEnd);\n\t\tClearSelection();\n\t\tselectionEnd = CurrentPosition();\n\t}\n\tSetSelection(selectionStart, selectionEnd);\n\n\tSelectionText selectedText;\n\tCopySelectionRange(&selectedText);\n\n\tSci::Position selectionLength = SelectionRange(selectionStart, selectionEnd).Length();\n\tconst Point currentLocation = LocationFromPosition(CurrentPosition());\n\tconst Sci::Line currentLine = LineFromLocation(currentLocation);\n\n\tif (appendEol)\n\t\tSetSelection(pdoc->MovePositionOutsideChar(selectionStart - 1, -1), selectionEnd);\n\tClearSelection();\n\n\tconst char *eol = StringFromEOLMode(pdoc->eolMode);\n\tif (currentLine + lineDelta >= pdoc->LinesTotal())\n\t\tpdoc->InsertString(pdoc->Length(), eol, strlen(eol));\n\tGoToLine(currentLine + lineDelta);\n\n\tselectionLength = pdoc->InsertString(CurrentPosition(), selectedText.Data(), selectionLength);\n\tif (appendEol) {\n\t\tconst Sci::Position lengthInserted = pdoc->InsertString(CurrentPosition() + selectionLength, eol, strlen(eol));\n\t\tselectionLength += lengthInserted;\n\t}\n\tSetSelection(CurrentPosition(), CurrentPosition() + selectionLength);\n}\n\nvoid Editor::MoveSelectedLinesUp() {\n\tMoveSelectedLines(-1);\n}\n\nvoid Editor::MoveSelectedLinesDown() {\n\tMoveSelectedLines(1);\n}\n\nvoid Editor::MoveCaretInsideView(bool ensureVisible) {\n\tconst PRectangle rcClient = GetTextRectangle();\n\tconst Point pt = PointMainCaret();\n\tif (pt.y < rcClient.top) {\n\t\tMovePositionTo(SPositionFromLocation(\n\t\t            Point::FromInts(lastXChosen - xOffset, static_cast<int>(rcClient.top)),\n\t\t\t\t\tfalse, false, UserVirtualSpace()),\n\t\t\t\t\tSelection::noSel, ensureVisible);\n\t} else if ((pt.y + vs.lineHeight - 1) > rcClient.bottom) {\n\t\tconst ptrdiff_t yOfLastLineFullyDisplayed = static_cast<ptrdiff_t>(rcClient.top) + (LinesOnScreen() - 1) * vs.lineHeight;\n\t\tMovePositionTo(SPositionFromLocation(\n\t\t            Point::FromInts(lastXChosen - xOffset, static_cast<int>(rcClient.top + yOfLastLineFullyDisplayed)),\n\t\t\t\t\tfalse, false, UserVirtualSpace()),\n\t\t        Selection::noSel, ensureVisible);\n\t}\n}\n\nSci::Line Editor::DisplayFromPosition(Sci::Position pos) {\n\tAutoSurface surface(this);\n\treturn view.DisplayFromPosition(surface, *this, pos, vs);\n}\n\n/**\n * Ensure the caret is reasonably visible in context.\n *\nCaret policy in SciTE\n\nIf slop is set, we can define a slop value.\nThis value defines an unwanted zone (UZ) where the caret is... unwanted.\nThis zone is defined as a number of pixels near the vertical margins,\nand as a number of lines near the horizontal margins.\nBy keeping the caret away from the edges, it is seen within its context,\nso it is likely that the identifier that the caret is on can be completely seen,\nand that the current line is seen with some of the lines following it which are\noften dependent on that line.\n\nIf strict is set, the policy is enforced... strictly.\nThe caret is centred on the display if slop is not set,\nand cannot go in the UZ if slop is set.\n\nIf jumps is set, the display is moved more energetically\nso the caret can move in the same direction longer before the policy is applied again.\n'3UZ' notation is used to indicate three time the size of the UZ as a distance to the margin.\n\nIf even is not set, instead of having symmetrical UZs,\nthe left and bottom UZs are extended up to right and top UZs respectively.\nThis way, we favour the displaying of useful information: the beginning of lines,\nwhere most code reside, and the lines after the caret, eg. the body of a function.\n\n     |        |       |      |                                            |\nslop | strict | jumps | even | Caret can go to the margin                 | When reaching limit (caret going out of\n     |        |       |      |                                            | visibility or going into the UZ) display is...\n-----+--------+-------+------+--------------------------------------------+--------------------------------------------------------------\n  0  |   0    |   0   |   0  | Yes                                        | moved to put caret on top/on right\n  0  |   0    |   0   |   1  | Yes                                        | moved by one position\n  0  |   0    |   1   |   0  | Yes                                        | moved to put caret on top/on right\n  0  |   0    |   1   |   1  | Yes                                        | centred on the caret\n  0  |   1    |   -   |   0  | Caret is always on top/on right of display | -\n  0  |   1    |   -   |   1  | No, caret is always centred                | -\n  1  |   0    |   0   |   0  | Yes                                        | moved to put caret out of the asymmetrical UZ\n  1  |   0    |   0   |   1  | Yes                                        | moved to put caret out of the UZ\n  1  |   0    |   1   |   0  | Yes                                        | moved to put caret at 3UZ of the top or right margin\n  1  |   0    |   1   |   1  | Yes                                        | moved to put caret at 3UZ of the margin\n  1  |   1    |   -   |   0  | Caret is always at UZ of top/right margin  | -\n  1  |   1    |   0   |   1  | No, kept out of UZ                         | moved by one position\n  1  |   1    |   1   |   1  | No, kept out of UZ                         | moved to put caret at 3UZ of the margin\n*/\n\nEditor::XYScrollPosition Editor::XYScrollToMakeVisible(const SelectionRange &range, const XYScrollOptions options) {\n\tconst PRectangle rcClient = GetTextRectangle();\n\tPoint pt = LocationFromPosition(range.caret);\n\tPoint ptAnchor = LocationFromPosition(range.anchor);\n\tconst Point ptOrigin = GetVisibleOriginInMain();\n\tpt.x += ptOrigin.x;\n\tpt.y += ptOrigin.y;\n\tptAnchor.x += ptOrigin.x;\n\tptAnchor.y += ptOrigin.y;\n\tconst Point ptBottomCaret(pt.x, pt.y + vs.lineHeight - 1);\n\n\tXYScrollPosition newXY(xOffset, topLine);\n\tif (rcClient.Empty()) {\n\t\treturn newXY;\n\t}\n\n\t// Vertical positioning\n\tif ((options & xysVertical) && (pt.y < rcClient.top || ptBottomCaret.y >= rcClient.bottom || (caretYPolicy & CARET_STRICT) != 0)) {\n\t\tconst Sci::Line lineCaret = DisplayFromPosition(range.caret.Position());\n\t\tconst Sci::Line linesOnScreen = LinesOnScreen();\n\t\tconst Sci::Line halfScreen = std::max(linesOnScreen - 1, static_cast<Sci::Line>(2)) / 2;\n\t\tconst bool bSlop = (caretYPolicy & CARET_SLOP) != 0;\n\t\tconst bool bStrict = (caretYPolicy & CARET_STRICT) != 0;\n\t\tconst bool bJump = (caretYPolicy & CARET_JUMPS) != 0;\n\t\tconst bool bEven = (caretYPolicy & CARET_EVEN) != 0;\n\n\t\t// It should be possible to scroll the window to show the caret,\n\t\t// but this fails to remove the caret on GTK+\n\t\tif (bSlop) {\t// A margin is defined\n\t\t\tSci::Line yMoveT, yMoveB;\n\t\t\tif (bStrict) {\n\t\t\t\tSci::Line yMarginT, yMarginB;\n\t\t\t\tif (!(options & xysUseMargin)) {\n\t\t\t\t\t// In drag mode, avoid moves\n\t\t\t\t\t// otherwise, a double click will select several lines.\n\t\t\t\t\tyMarginT = yMarginB = 0;\n\t\t\t\t} else {\n\t\t\t\t\t// yMarginT must equal to caretYSlop, with a minimum of 1 and\n\t\t\t\t\t// a maximum of slightly less than half the heigth of the text area.\n\t\t\t\t\tyMarginT = Sci::clamp(static_cast<Sci::Line>(caretYSlop), static_cast<Sci::Line>(1), halfScreen);\n\t\t\t\t\tif (bEven) {\n\t\t\t\t\t\tyMarginB = yMarginT;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyMarginB = linesOnScreen - yMarginT - 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tyMoveT = yMarginT;\n\t\t\t\tif (bEven) {\n\t\t\t\t\tif (bJump) {\n\t\t\t\t\t\tyMoveT = Sci::clamp(static_cast<Sci::Line>(caretYSlop * 3), static_cast<Sci::Line>(1), halfScreen);\n\t\t\t\t\t}\n\t\t\t\t\tyMoveB = yMoveT;\n\t\t\t\t} else {\n\t\t\t\t\tyMoveB = linesOnScreen - yMoveT - 1;\n\t\t\t\t}\n\t\t\t\tif (lineCaret < topLine + yMarginT) {\n\t\t\t\t\t// Caret goes too high\n\t\t\t\t\tnewXY.topLine = lineCaret - yMoveT;\n\t\t\t\t} else if (lineCaret > topLine + linesOnScreen - 1 - yMarginB) {\n\t\t\t\t\t// Caret goes too low\n\t\t\t\t\tnewXY.topLine = lineCaret - linesOnScreen + 1 + yMoveB;\n\t\t\t\t}\n\t\t\t} else {\t// Not strict\n\t\t\t\tyMoveT = bJump ? caretYSlop * 3 : caretYSlop;\n\t\t\t\tyMoveT = Sci::clamp(yMoveT, static_cast<Sci::Line>(1), halfScreen);\n\t\t\t\tif (bEven) {\n\t\t\t\t\tyMoveB = yMoveT;\n\t\t\t\t} else {\n\t\t\t\t\tyMoveB = linesOnScreen - yMoveT - 1;\n\t\t\t\t}\n\t\t\t\tif (lineCaret < topLine) {\n\t\t\t\t\t// Caret goes too high\n\t\t\t\t\tnewXY.topLine = lineCaret - yMoveT;\n\t\t\t\t} else if (lineCaret > topLine + linesOnScreen - 1) {\n\t\t\t\t\t// Caret goes too low\n\t\t\t\t\tnewXY.topLine = lineCaret - linesOnScreen + 1 + yMoveB;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\t// No slop\n\t\t\tif (!bStrict && !bJump) {\n\t\t\t\t// Minimal move\n\t\t\t\tif (lineCaret < topLine) {\n\t\t\t\t\t// Caret goes too high\n\t\t\t\t\tnewXY.topLine = lineCaret;\n\t\t\t\t} else if (lineCaret > topLine + linesOnScreen - 1) {\n\t\t\t\t\t// Caret goes too low\n\t\t\t\t\tif (bEven) {\n\t\t\t\t\t\tnewXY.topLine = lineCaret - linesOnScreen + 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewXY.topLine = lineCaret;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\t// Strict or going out of display\n\t\t\t\tif (bEven) {\n\t\t\t\t\t// Always center caret\n\t\t\t\t\tnewXY.topLine = lineCaret - halfScreen;\n\t\t\t\t} else {\n\t\t\t\t\t// Always put caret on top of display\n\t\t\t\t\tnewXY.topLine = lineCaret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!(range.caret == range.anchor)) {\n\t\t\tconst Sci::Line lineAnchor = DisplayFromPosition(range.anchor.Position());\n\t\t\tif (lineAnchor < lineCaret) {\n\t\t\t\t// Shift up to show anchor or as much of range as possible\n\t\t\t\tnewXY.topLine = std::min(newXY.topLine, lineAnchor);\n\t\t\t\tnewXY.topLine = std::max(newXY.topLine, lineCaret - LinesOnScreen());\n\t\t\t} else {\n\t\t\t\t// Shift down to show anchor or as much of range as possible\n\t\t\t\tnewXY.topLine = std::max(newXY.topLine, lineAnchor - LinesOnScreen());\n\t\t\t\tnewXY.topLine = std::min(newXY.topLine, lineCaret);\n\t\t\t}\n\t\t}\n\t\tnewXY.topLine = Sci::clamp(newXY.topLine, static_cast<Sci::Line>(0), MaxScrollPos());\n\t}\n\n\t// Horizontal positioning\n\tif ((options & xysHorizontal) && !Wrapping()) {\n\t\tconst int halfScreen = std::max(static_cast<int>(rcClient.Width()) - 4, 4) / 2;\n\t\tconst bool bSlop = (caretXPolicy & CARET_SLOP) != 0;\n\t\tconst bool bStrict = (caretXPolicy & CARET_STRICT) != 0;\n\t\tconst bool bJump = (caretXPolicy & CARET_JUMPS) != 0;\n\t\tconst bool bEven = (caretXPolicy & CARET_EVEN) != 0;\n\n\t\tif (bSlop) {\t// A margin is defined\n\t\t\tint xMoveL, xMoveR;\n\t\t\tif (bStrict) {\n\t\t\t\tint xMarginL, xMarginR;\n\t\t\t\tif (!(options & xysUseMargin)) {\n\t\t\t\t\t// In drag mode, avoid moves unless very near of the margin\n\t\t\t\t\t// otherwise, a simple click will select text.\n\t\t\t\t\txMarginL = xMarginR = 2;\n\t\t\t\t} else {\n\t\t\t\t\t// xMargin must equal to caretXSlop, with a minimum of 2 and\n\t\t\t\t\t// a maximum of slightly less than half the width of the text area.\n\t\t\t\t\txMarginR = Sci::clamp(caretXSlop, 2, halfScreen);\n\t\t\t\t\tif (bEven) {\n\t\t\t\t\t\txMarginL = xMarginR;\n\t\t\t\t\t} else {\n\t\t\t\t\t\txMarginL = static_cast<int>(rcClient.Width()) - xMarginR - 4;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (bJump && bEven) {\n\t\t\t\t\t// Jump is used only in even mode\n\t\t\t\t\txMoveL = xMoveR = Sci::clamp(caretXSlop * 3, 1, halfScreen);\n\t\t\t\t} else {\n\t\t\t\t\txMoveL = xMoveR = 0;\t// Not used, avoid a warning\n\t\t\t\t}\n\t\t\t\tif (pt.x < rcClient.left + xMarginL) {\n\t\t\t\t\t// Caret is on the left of the display\n\t\t\t\t\tif (bJump && bEven) {\n\t\t\t\t\t\tnewXY.xOffset -= xMoveL;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Move just enough to allow to display the caret\n\t\t\t\t\t\tnewXY.xOffset -= static_cast<int>((rcClient.left + xMarginL) - pt.x);\n\t\t\t\t\t}\n\t\t\t\t} else if (pt.x >= rcClient.right - xMarginR) {\n\t\t\t\t\t// Caret is on the right of the display\n\t\t\t\t\tif (bJump && bEven) {\n\t\t\t\t\t\tnewXY.xOffset += xMoveR;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Move just enough to allow to display the caret\n\t\t\t\t\t\tnewXY.xOffset += static_cast<int>(pt.x - (rcClient.right - xMarginR) + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\t// Not strict\n\t\t\t\txMoveR = bJump ? caretXSlop * 3 : caretXSlop;\n\t\t\t\txMoveR = Sci::clamp(xMoveR, 1, halfScreen);\n\t\t\t\tif (bEven) {\n\t\t\t\t\txMoveL = xMoveR;\n\t\t\t\t} else {\n\t\t\t\t\txMoveL = static_cast<int>(rcClient.Width()) - xMoveR - 4;\n\t\t\t\t}\n\t\t\t\tif (pt.x < rcClient.left) {\n\t\t\t\t\t// Caret is on the left of the display\n\t\t\t\t\tnewXY.xOffset -= xMoveL;\n\t\t\t\t} else if (pt.x >= rcClient.right) {\n\t\t\t\t\t// Caret is on the right of the display\n\t\t\t\t\tnewXY.xOffset += xMoveR;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\t// No slop\n\t\t\tif (bStrict ||\n\t\t\t        (bJump && (pt.x < rcClient.left || pt.x >= rcClient.right))) {\n\t\t\t\t// Strict or going out of display\n\t\t\t\tif (bEven) {\n\t\t\t\t\t// Center caret\n\t\t\t\t\tnewXY.xOffset += static_cast<int>(pt.x - rcClient.left - halfScreen);\n\t\t\t\t} else {\n\t\t\t\t\t// Put caret on right\n\t\t\t\t\tnewXY.xOffset += static_cast<int>(pt.x - rcClient.right + 1);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Move just enough to allow to display the caret\n\t\t\t\tif (pt.x < rcClient.left) {\n\t\t\t\t\t// Caret is on the left of the display\n\t\t\t\t\tif (bEven) {\n\t\t\t\t\t\tnewXY.xOffset -= static_cast<int>(rcClient.left - pt.x);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewXY.xOffset += static_cast<int>(pt.x - rcClient.right) + 1;\n\t\t\t\t\t}\n\t\t\t\t} else if (pt.x >= rcClient.right) {\n\t\t\t\t\t// Caret is on the right of the display\n\t\t\t\t\tnewXY.xOffset += static_cast<int>(pt.x - rcClient.right) + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// In case of a jump (find result) largely out of display, adjust the offset to display the caret\n\t\tif (pt.x + xOffset < rcClient.left + newXY.xOffset) {\n\t\t\tnewXY.xOffset = static_cast<int>(pt.x + xOffset - rcClient.left) - 2;\n\t\t} else if (pt.x + xOffset >= rcClient.right + newXY.xOffset) {\n\t\t\tnewXY.xOffset = static_cast<int>(pt.x + xOffset - rcClient.right) + 2;\n\t\t\tif ((vs.caretStyle == CARETSTYLE_BLOCK) || view.imeCaretBlockOverride) {\n\t\t\t\t// Ensure we can see a good portion of the block caret\n\t\t\t\tnewXY.xOffset += static_cast<int>(vs.aveCharWidth);\n\t\t\t}\n\t\t}\n\t\tif (!(range.caret == range.anchor)) {\n\t\t\tif (ptAnchor.x < pt.x) {\n\t\t\t\t// Shift to left to show anchor or as much of range as possible\n\t\t\t\tconst int maxOffset = static_cast<int>(ptAnchor.x + xOffset - rcClient.left) - 1;\n\t\t\t\tconst int minOffset = static_cast<int>(pt.x + xOffset - rcClient.right) + 1;\n\t\t\t\tnewXY.xOffset = std::min(newXY.xOffset, maxOffset);\n\t\t\t\tnewXY.xOffset = std::max(newXY.xOffset, minOffset);\n\t\t\t} else {\n\t\t\t\t// Shift to right to show anchor or as much of range as possible\n\t\t\t\tconst int minOffset = static_cast<int>(ptAnchor.x + xOffset - rcClient.right) + 1;\n\t\t\t\tconst int maxOffset = static_cast<int>(pt.x + xOffset - rcClient.left) - 1;\n\t\t\t\tnewXY.xOffset = std::max(newXY.xOffset, minOffset);\n\t\t\t\tnewXY.xOffset = std::min(newXY.xOffset, maxOffset);\n\t\t\t}\n\t\t}\n\t\tif (newXY.xOffset < 0) {\n\t\t\tnewXY.xOffset = 0;\n\t\t}\n\t}\n\n\treturn newXY;\n}\n\nvoid Editor::SetXYScroll(XYScrollPosition newXY) {\n\tif ((newXY.topLine != topLine) || (newXY.xOffset != xOffset)) {\n\t\tif (newXY.topLine != topLine) {\n\t\t\tSetTopLine(newXY.topLine);\n\t\t\tSetVerticalScrollPos();\n\t\t}\n\t\tif (newXY.xOffset != xOffset) {\n\t\t\txOffset = newXY.xOffset;\n\t\t\tContainerNeedsUpdate(SC_UPDATE_H_SCROLL);\n\t\t\tif (newXY.xOffset > 0) {\n\t\t\t\tconst PRectangle rcText = GetTextRectangle();\n\t\t\t\tif (horizontalScrollBarVisible &&\n\t\t\t\t\trcText.Width() + xOffset > scrollWidth) {\n\t\t\t\t\tscrollWidth = xOffset + static_cast<int>(rcText.Width());\n\t\t\t\t\tSetScrollBars();\n\t\t\t\t}\n\t\t\t}\n\t\t\tSetHorizontalScrollPos();\n\t\t}\n\t\tRedraw();\n\t\tUpdateSystemCaret();\n\t}\n}\n\nvoid Editor::ScrollRange(SelectionRange range) {\n\tSetXYScroll(XYScrollToMakeVisible(range, xysDefault));\n}\n\nvoid Editor::EnsureCaretVisible(bool useMargin, bool vert, bool horiz) {\n\tSetXYScroll(XYScrollToMakeVisible(SelectionRange(posDrag.IsValid() ? posDrag : sel.RangeMain().caret),\n\t\tstatic_cast<XYScrollOptions>((useMargin?xysUseMargin:0)|(vert?xysVertical:0)|(horiz?xysHorizontal:0))));\n}\n\nvoid Editor::ShowCaretAtCurrentPosition() {\n\tif (hasFocus) {\n\t\tcaret.active = true;\n\t\tcaret.on = true;\n\t\tFineTickerCancel(tickCaret);\n\t\tif (caret.period > 0)\n\t\t\tFineTickerStart(tickCaret, caret.period, caret.period/10);\n\t} else {\n\t\tcaret.active = false;\n\t\tcaret.on = false;\n\t\tFineTickerCancel(tickCaret);\n\t}\n\tInvalidateCaret();\n}\n\nvoid Editor::DropCaret() {\n\tcaret.active = false;\n\tFineTickerCancel(tickCaret);\n\tInvalidateCaret();\n}\n\nvoid Editor::CaretSetPeriod(int period) {\n\tif (caret.period != period) {\n\t\tcaret.period = period;\n\t\tcaret.on = true;\n\t\tFineTickerCancel(tickCaret);\n\t\tif ((caret.active) && (caret.period > 0))\n\t\t\tFineTickerStart(tickCaret, caret.period, caret.period/10);\n\t\tInvalidateCaret();\n\t}\n}\n\nvoid Editor::InvalidateCaret() {\n\tif (posDrag.IsValid()) {\n\t\tInvalidateRange(posDrag.Position(), posDrag.Position() + 1);\n\t} else {\n\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\tInvalidateRange(sel.Range(r).caret.Position(), sel.Range(r).caret.Position() + 1);\n\t\t}\n\t}\n\tUpdateSystemCaret();\n}\n\nvoid Editor::NotifyCaretMove() {\n}\n\nvoid Editor::UpdateSystemCaret() {\n}\n\nbool Editor::Wrapping() const {\n\treturn vs.wrapState != eWrapNone;\n}\n\nvoid Editor::NeedWrapping(Sci::Line docLineStart, Sci::Line docLineEnd) {\n//Platform::DebugPrintf(\"\\nNeedWrapping: %0d..%0d\\n\", docLineStart, docLineEnd);\n\tif (wrapPending.AddRange(docLineStart, docLineEnd)) {\n\t\tview.llc.Invalidate(LineLayout::llPositions);\n\t}\n\t// Wrap lines during idle.\n\tif (Wrapping() && wrapPending.NeedsWrap()) {\n\t\tSetIdle(true);\n\t}\n}\n\nbool Editor::WrapOneLine(Surface *surface, Sci::Line lineToWrap) {\n\tAutoLineLayout ll(view.llc, view.RetrieveLineLayout(lineToWrap, *this));\n\tint linesWrapped = 1;\n\tif (ll) {\n\t\tview.LayoutLine(*this, lineToWrap, surface, vs, ll, wrapWidth);\n\t\tlinesWrapped = ll->lines;\n\t}\n\treturn pcs->SetHeight(lineToWrap, linesWrapped +\n\t\t(vs.annotationVisible ? pdoc->AnnotationLines(lineToWrap) : 0));\n}\n\n// Perform  wrapping for a subset of the lines needing wrapping.\n// wsAll: wrap all lines which need wrapping in this single call\n// wsVisible: wrap currently visible lines\n// wsIdle: wrap one page + 100 lines\n// Return true if wrapping occurred.\nbool Editor::WrapLines(WrapScope ws) {\n\tSci::Line goodTopLine = topLine;\n\tbool wrapOccurred = false;\n\tif (!Wrapping()) {\n\t\tif (wrapWidth != LineLayout::wrapWidthInfinite) {\n\t\t\twrapWidth = LineLayout::wrapWidthInfinite;\n\t\t\tfor (Sci::Line lineDoc = 0; lineDoc < pdoc->LinesTotal(); lineDoc++) {\n\t\t\t\tpcs->SetHeight(lineDoc, 1 +\n\t\t\t\t\t(vs.annotationVisible ? pdoc->AnnotationLines(lineDoc) : 0));\n\t\t\t}\n\t\t\twrapOccurred = true;\n\t\t}\n\t\twrapPending.Reset();\n\n\t} else if (wrapPending.NeedsWrap()) {\n\t\twrapPending.start = std::min(wrapPending.start, pdoc->LinesTotal());\n\t\tif (!SetIdle(true)) {\n\t\t\t// Idle processing not supported so full wrap required.\n\t\t\tws = WrapScope::wsAll;\n\t\t}\n\t\t// Decide where to start wrapping\n\t\tSci::Line lineToWrap = wrapPending.start;\n\t\tSci::Line lineToWrapEnd = std::min(wrapPending.end, pdoc->LinesTotal());\n\t\tconst Sci::Line lineDocTop = pcs->DocFromDisplay(topLine);\n\t\tconst Sci::Line subLineTop = topLine - pcs->DisplayFromDoc(lineDocTop);\n\t\tif (ws == WrapScope::wsVisible) {\n\t\t\tlineToWrap = Sci::clamp(lineDocTop-5, wrapPending.start, pdoc->LinesTotal());\n\t\t\t// Priority wrap to just after visible area.\n\t\t\t// Since wrapping could reduce display lines, treat each\n\t\t\t// as taking only one display line.\n\t\t\tlineToWrapEnd = lineDocTop;\n\t\t\tSci::Line lines = LinesOnScreen() + 1;\n\t\t\twhile ((lineToWrapEnd < pcs->LinesInDoc()) && (lines>0)) {\n\t\t\t\tif (pcs->GetVisible(lineToWrapEnd))\n\t\t\t\t\tlines--;\n\t\t\t\tlineToWrapEnd++;\n\t\t\t}\n\t\t\t// .. and if the paint window is outside pending wraps\n\t\t\tif ((lineToWrap > wrapPending.end) || (lineToWrapEnd < wrapPending.start)) {\n\t\t\t\t// Currently visible text does not need wrapping\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (ws == WrapScope::wsIdle) {\n\t\t\t// Try to keep time taken by wrapping reasonable so interaction remains smooth.\n\t\t\tconst double secondsAllowed = 0.01;\n\t\t\tconst Sci::Line linesInAllowedTime = Sci::clamp(\n\t\t\t\tstatic_cast<Sci::Line>(secondsAllowed / durationWrapOneLine.Duration()),\n\t\t\t\tLinesOnScreen() + 50, static_cast<Sci::Line>(0x10000));\n\t\t\tlineToWrapEnd = lineToWrap + linesInAllowedTime;\n\t\t}\n\t\tconst Sci::Line lineEndNeedWrap = std::min(wrapPending.end, pdoc->LinesTotal());\n\t\tlineToWrapEnd = std::min(lineToWrapEnd, lineEndNeedWrap);\n\n\t\t// Ensure all lines being wrapped are styled.\n\t\tpdoc->EnsureStyledTo(pdoc->LineStart(lineToWrapEnd));\n\n\t\tif (lineToWrap < lineToWrapEnd) {\n\n\t\t\tPRectangle rcTextArea = GetClientRectangle();\n\t\t\trcTextArea.left = static_cast<XYPOSITION>(vs.textStart);\n\t\t\trcTextArea.right -= vs.rightMarginWidth;\n\t\t\twrapWidth = static_cast<int>(rcTextArea.Width());\n\t\t\tRefreshStyleData();\n\t\t\tAutoSurface surface(this);\n\t\t\tif (surface) {\n//Platform::DebugPrintf(\"Wraplines: scope=%0d need=%0d..%0d perform=%0d..%0d\\n\", ws, wrapPending.start, wrapPending.end, lineToWrap, lineToWrapEnd);\n\n\t\t\t\tconst Sci::Line linesBeingWrapped = lineToWrapEnd - lineToWrap;\n\t\t\t\tElapsedPeriod epWrapping;\n\t\t\t\twhile (lineToWrap < lineToWrapEnd) {\n\t\t\t\t\tif (WrapOneLine(surface, lineToWrap)) {\n\t\t\t\t\t\twrapOccurred = true;\n\t\t\t\t\t}\n\t\t\t\t\twrapPending.Wrapped(lineToWrap);\n\t\t\t\t\tlineToWrap++;\n\t\t\t\t}\n\t\t\t\tdurationWrapOneLine.AddSample(linesBeingWrapped, epWrapping.Duration());\n\n\t\t\t\tgoodTopLine = pcs->DisplayFromDoc(lineDocTop) + std::min(\n\t\t\t\t\tsubLineTop, static_cast<Sci::Line>(pcs->GetHeight(lineDocTop)-1));\n\t\t\t}\n\t\t}\n\n\t\t// If wrapping is done, bring it to resting position\n\t\tif (wrapPending.start >= lineEndNeedWrap) {\n\t\t\twrapPending.Reset();\n\t\t}\n\t}\n\n\tif (wrapOccurred) {\n\t\tSetScrollBars();\n\t\tSetTopLine(Sci::clamp(goodTopLine, static_cast<Sci::Line>(0), MaxScrollPos()));\n\t\tSetVerticalScrollPos();\n\t}\n\n\treturn wrapOccurred;\n}\n\nvoid Editor::LinesJoin() {\n\tif (!RangeContainsProtected(targetStart, targetEnd)) {\n\t\tUndoGroup ug(pdoc);\n\t\tbool prevNonWS = true;\n\t\tfor (Sci::Position pos = targetStart; pos < targetEnd; pos++) {\n\t\t\tif (pdoc->IsPositionInLineEnd(pos)) {\n\t\t\t\ttargetEnd -= pdoc->LenChar(pos);\n\t\t\t\tpdoc->DelChar(pos);\n\t\t\t\tif (prevNonWS) {\n\t\t\t\t\t// Ensure at least one space separating previous lines\n\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(pos, \" \", 1);\n\t\t\t\t\ttargetEnd += lengthInserted;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tprevNonWS = pdoc->CharAt(pos) != ' ';\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst char *Editor::StringFromEOLMode(int eolMode) {\n\tif (eolMode == SC_EOL_CRLF) {\n\t\treturn \"\\r\\n\";\n\t} else if (eolMode == SC_EOL_CR) {\n\t\treturn \"\\r\";\n\t} else {\n\t\treturn \"\\n\";\n\t}\n}\n\nvoid Editor::LinesSplit(int pixelWidth) {\n\tif (!RangeContainsProtected(targetStart, targetEnd)) {\n\t\tif (pixelWidth == 0) {\n\t\t\tconst PRectangle rcText = GetTextRectangle();\n\t\t\tpixelWidth = static_cast<int>(rcText.Width());\n\t\t}\n\t\tconst Sci::Line lineStart = pdoc->SciLineFromPosition(targetStart);\n\t\tSci::Line lineEnd = pdoc->SciLineFromPosition(targetEnd);\n\t\tconst char *eol = StringFromEOLMode(pdoc->eolMode);\n\t\tUndoGroup ug(pdoc);\n\t\tfor (Sci::Line line = lineStart; line <= lineEnd; line++) {\n\t\t\tAutoSurface surface(this);\n\t\t\tAutoLineLayout ll(view.llc, view.RetrieveLineLayout(line, *this));\n\t\t\tif (surface && ll) {\n\t\t\t\tconst Sci::Position posLineStart = pdoc->LineStart(line);\n\t\t\t\tview.LayoutLine(*this, line, surface, vs, ll, pixelWidth);\n\t\t\t\tSci::Position lengthInsertedTotal = 0;\n\t\t\t\tfor (int subLine = 1; subLine < ll->lines; subLine++) {\n\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\t\t\tposLineStart + lengthInsertedTotal + ll->LineStart(subLine),\n\t\t\t\t\t\teol, strlen(eol));\n\t\t\t\t\ttargetEnd += lengthInserted;\n\t\t\t\t\tlengthInsertedTotal += lengthInserted;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlineEnd = pdoc->SciLineFromPosition(targetEnd);\n\t\t}\n\t}\n}\n\nvoid Editor::PaintSelMargin(Surface *surfaceWindow, const PRectangle &rc) {\n\tif (vs.fixedColumnWidth == 0)\n\t\treturn;\n\n\tAllocateGraphics();\n\tRefreshStyleData();\n\tRefreshPixMaps(surfaceWindow);\n\n\t// On GTK+ with Ubuntu overlay scroll bars, the surface may have been finished\n\t// at this point. The Initialised call checks for this case and sets the status\n\t// to be bad which avoids crashes in following calls.\n\tif (!surfaceWindow->Initialised()) {\n\t\treturn;\n\t}\n\n\tPRectangle rcMargin = GetClientRectangle();\n\tconst Point ptOrigin = GetVisibleOriginInMain();\n\trcMargin.Move(0, -ptOrigin.y);\n\trcMargin.left = 0;\n\trcMargin.right = static_cast<XYPOSITION>(vs.fixedColumnWidth);\n\n\tif (!rc.Intersects(rcMargin))\n\t\treturn;\n\n\tSurface *surface;\n\tif (view.bufferedDraw) {\n\t\tsurface = marginView.pixmapSelMargin.get();\n\t} else {\n\t\tsurface = surfaceWindow;\n\t}\n\n\t// Clip vertically to paint area to avoid drawing line numbers\n\tif (rcMargin.bottom > rc.bottom)\n\t\trcMargin.bottom = rc.bottom;\n\tif (rcMargin.top < rc.top)\n\t\trcMargin.top = rc.top;\n\n\tmarginView.PaintMargin(surface, topLine, rc, rcMargin, *this, vs);\n\n\tif (view.bufferedDraw) {\n\t\tsurfaceWindow->Copy(rcMargin, Point(rcMargin.left, rcMargin.top), *marginView.pixmapSelMargin);\n\t}\n}\n\nvoid Editor::RefreshPixMaps(Surface *surfaceWindow) {\n\tview.RefreshPixMaps(surfaceWindow, wMain.GetID(), vs);\n\tmarginView.RefreshPixMaps(surfaceWindow, wMain.GetID(), vs);\n\tif (view.bufferedDraw) {\n\t\tconst PRectangle rcClient = GetClientRectangle();\n\t\tif (!view.pixmapLine->Initialised()) {\n\n\t\t\tview.pixmapLine->InitPixMap(static_cast<int>(rcClient.Width()), vs.lineHeight,\n\t\t\t        surfaceWindow, wMain.GetID());\n\t\t}\n\t\tif (!marginView.pixmapSelMargin->Initialised()) {\n\t\t\tmarginView.pixmapSelMargin->InitPixMap(vs.fixedColumnWidth,\n\t\t\t\tstatic_cast<int>(rcClient.Height()), surfaceWindow, wMain.GetID());\n\t\t}\n\t}\n}\n\nvoid Editor::Paint(Surface *surfaceWindow, PRectangle rcArea) {\n\t//Platform::DebugPrintf(\"Paint:%1d (%3d,%3d) ... (%3d,%3d)\\n\",\n\t//\tpaintingAllText, rcArea.left, rcArea.top, rcArea.right, rcArea.bottom);\n\tAllocateGraphics();\n\n\tRefreshStyleData();\n\tif (paintState == paintAbandoned)\n\t\treturn;\t// Scroll bars may have changed so need redraw\n\tRefreshPixMaps(surfaceWindow);\n\n\tpaintAbandonedByStyling = false;\n\n\tStyleAreaBounded(rcArea, false);\n\n\tconst PRectangle rcClient = GetClientRectangle();\n\t//Platform::DebugPrintf(\"Client: (%3d,%3d) ... (%3d,%3d)   %d\\n\",\n\t//\trcClient.left, rcClient.top, rcClient.right, rcClient.bottom);\n\n\tif (NotifyUpdateUI()) {\n\t\tRefreshStyleData();\n\t\tRefreshPixMaps(surfaceWindow);\n\t}\n\n\t// Wrap the visible lines if needed.\n\tif (WrapLines(WrapScope::wsVisible)) {\n\t\t// The wrapping process has changed the height of some lines so\n\t\t// abandon this paint for a complete repaint.\n\t\tif (AbandonPaint()) {\n\t\t\treturn;\n\t\t}\n\t\tRefreshPixMaps(surfaceWindow);\t// In case pixmaps invalidated by scrollbar change\n\t}\n\tPLATFORM_ASSERT(marginView.pixmapSelPattern->Initialised());\n\n\tif (!view.bufferedDraw)\n\t\tsurfaceWindow->SetClip(rcArea);\n\n\tif (paintState != paintAbandoned) {\n\t\tif (vs.marginInside) {\n\t\t\tPaintSelMargin(surfaceWindow, rcArea);\n\t\t\tPRectangle rcRightMargin = rcClient;\n\t\t\trcRightMargin.left = rcRightMargin.right - vs.rightMarginWidth;\n\t\t\tif (rcArea.Intersects(rcRightMargin)) {\n\t\t\t\tsurfaceWindow->FillRectangle(rcRightMargin, vs.styles[STYLE_DEFAULT].back);\n\t\t\t}\n\t\t} else { // Else separate view so separate paint event but leftMargin included to allow overlap\n\t\t\tPRectangle rcLeftMargin = rcArea;\n\t\t\trcLeftMargin.left = 0;\n\t\t\trcLeftMargin.right = rcLeftMargin.left + vs.leftMarginWidth;\n\t\t\tif (rcArea.Intersects(rcLeftMargin)) {\n\t\t\t\tsurfaceWindow->FillRectangle(rcLeftMargin, vs.styles[STYLE_DEFAULT].back);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (paintState == paintAbandoned) {\n\t\t// Either styling or NotifyUpdateUI noticed that painting is needed\n\t\t// outside the current painting rectangle\n\t\t//Platform::DebugPrintf(\"Abandoning paint\\n\");\n\t\tif (Wrapping()) {\n\t\t\tif (paintAbandonedByStyling) {\n\t\t\t\t// Styling has spilled over a line end, such as occurs by starting a multiline\n\t\t\t\t// comment. The width of subsequent text may have changed, so rewrap.\n\t\t\t\tNeedWrapping(pcs->DocFromDisplay(topLine));\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\n\tview.PaintText(surfaceWindow, *this, rcArea, rcClient, vs);\n\n\tif (horizontalScrollBarVisible && trackLineWidth && (view.lineWidthMaxSeen > scrollWidth)) {\n\t\tscrollWidth = view.lineWidthMaxSeen;\n\t\tif (!FineTickerRunning(tickWiden)) {\n\t\t\tFineTickerStart(tickWiden, 50, 5);\n\t\t}\n\t}\n\n\tNotifyPainted();\n}\n\n// This is mostly copied from the Paint method but with some things omitted\n// such as the margin markers, line numbers, selection and caret\n// Should be merged back into a combined Draw method.\nSci::Position Editor::FormatRange(bool draw, const Sci_RangeToFormat *pfr) {\n\tif (!pfr)\n\t\treturn 0;\n\n\tAutoSurface surface(pfr->hdc, this, SC_TECHNOLOGY_DEFAULT);\n\tif (!surface)\n\t\treturn 0;\n\tAutoSurface surfaceMeasure(pfr->hdcTarget, this, SC_TECHNOLOGY_DEFAULT);\n\tif (!surfaceMeasure) {\n\t\treturn 0;\n\t}\n\treturn view.FormatRange(draw, pfr, surface, surfaceMeasure, *this, vs);\n}\n\nint Editor::TextWidth(int style, const char *text) {\n\tRefreshStyleData();\n\tAutoSurface surface(this);\n\tif (surface) {\n\t\treturn static_cast<int>(surface->WidthText(vs.styles[style].font, text, static_cast<int>(strlen(text))));\n\t} else {\n\t\treturn 1;\n\t}\n}\n\n// Empty method is overridden on GTK+ to show / hide scrollbars\nvoid Editor::ReconfigureScrollBars() {}\n\nvoid Editor::SetScrollBars() {\n\tRefreshStyleData();\n\n\tconst Sci::Line nMax = MaxScrollPos();\n\tconst Sci::Line nPage = LinesOnScreen();\n\tconst bool modified = ModifyScrollBars(nMax + nPage - 1, nPage);\n\tif (modified) {\n\t\tDwellEnd(true);\n\t}\n\n\t// TODO: ensure always showing as many lines as possible\n\t// May not be, if, for example, window made larger\n\tif (topLine > MaxScrollPos()) {\n\t\tSetTopLine(Sci::clamp(topLine, static_cast<Sci::Line>(0), MaxScrollPos()));\n\t\tSetVerticalScrollPos();\n\t\tRedraw();\n\t}\n\tif (modified) {\n\t\tif (!AbandonPaint())\n\t\t\tRedraw();\n\t}\n\t//Platform::DebugPrintf(\"end max = %d page = %d\\n\", nMax, nPage);\n}\n\nvoid Editor::ChangeSize() {\n\tDropGraphics(false);\n\tSetScrollBars();\n\tif (Wrapping()) {\n\t\tPRectangle rcTextArea = GetClientRectangle();\n\t\trcTextArea.left = static_cast<XYPOSITION>(vs.textStart);\n\t\trcTextArea.right -= vs.rightMarginWidth;\n\t\tif (wrapWidth != rcTextArea.Width()) {\n\t\t\tNeedWrapping();\n\t\t\tRedraw();\n\t\t}\n\t}\n}\n\nSci::Position Editor::RealizeVirtualSpace(Sci::Position position, Sci::Position virtualSpace) {\n\tif (virtualSpace > 0) {\n\t\tconst Sci::Line line = pdoc->SciLineFromPosition(position);\n\t\tconst Sci::Position indent = pdoc->GetLineIndentPosition(line);\n\t\tif (indent == position) {\n\t\t\treturn pdoc->SetLineIndentation(line, pdoc->GetLineIndentation(line) + virtualSpace);\n\t\t} else {\n\t\t\tstd::string spaceText(virtualSpace, ' ');\n\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(position, spaceText.c_str(), virtualSpace);\n\t\t\tposition += lengthInserted;\n\t\t}\n\t}\n\treturn position;\n}\n\nSelectionPosition Editor::RealizeVirtualSpace(const SelectionPosition &position) {\n\t// Return the new position with no virtual space\n\treturn SelectionPosition(RealizeVirtualSpace(position.Position(), position.VirtualSpace()));\n}\n\nvoid Editor::AddChar(char ch) {\n\tchar s[2];\n\ts[0] = ch;\n\ts[1] = '\\0';\n\tAddCharUTF(s, 1);\n}\n\nvoid Editor::FilterSelections() {\n\tif (!additionalSelectionTyping && (sel.Count() > 1)) {\n\t\tInvalidateWholeSelection();\n\t\tsel.DropAdditionalRanges();\n\t}\n}\n\n// AddCharUTF inserts an array of bytes which may or may not be in UTF-8.\nvoid Editor::AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS) {\n\tFilterSelections();\n\t{\n\t\tUndoGroup ug(pdoc, (sel.Count() > 1) || !sel.Empty() || inOverstrike);\n\n\t\t// Vector elements point into selection in order to change selection.\n\t\tstd::vector<SelectionRange *> selPtrs;\n\t\tfor (size_t r = 0; r < sel.Count(); r++) {\n\t\t\tselPtrs.push_back(&sel.Range(r));\n\t\t}\n\t\t// Order selections by position in document.\n\t\tstd::sort(selPtrs.begin(), selPtrs.end(),\n\t\t\t[](const SelectionRange *a, const SelectionRange *b) {return *a < *b;});\n\n\t\t// Loop in reverse to avoid disturbing positions of selections yet to be processed.\n\t\tfor (std::vector<SelectionRange *>::reverse_iterator rit = selPtrs.rbegin();\n\t\t\trit != selPtrs.rend(); ++rit) {\n\t\t\tSelectionRange *currentSel = *rit;\n\t\t\tif (!RangeContainsProtected(currentSel->Start().Position(),\n\t\t\t\tcurrentSel->End().Position())) {\n\t\t\t\tSci::Position positionInsert = currentSel->Start().Position();\n\t\t\t\tif (!currentSel->Empty()) {\n\t\t\t\t\tif (currentSel->Length()) {\n\t\t\t\t\t\tpdoc->DeleteChars(positionInsert, currentSel->Length());\n\t\t\t\t\t\tcurrentSel->ClearVirtualSpace();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Range is all virtual so collapse to start of virtual space\n\t\t\t\t\t\tcurrentSel->MinimizeVirtualSpace();\n\t\t\t\t\t}\n\t\t\t\t} else if (inOverstrike) {\n\t\t\t\t\tif (positionInsert < pdoc->Length()) {\n\t\t\t\t\t\tif (!pdoc->IsPositionInLineEnd(positionInsert)) {\n\t\t\t\t\t\t\tpdoc->DelChar(positionInsert);\n\t\t\t\t\t\t\tcurrentSel->ClearVirtualSpace();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpositionInsert = RealizeVirtualSpace(positionInsert, currentSel->caret.VirtualSpace());\n\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(positionInsert, s, len);\n\t\t\t\tif (lengthInserted > 0) {\n\t\t\t\t\tcurrentSel->caret.SetPosition(positionInsert + lengthInserted);\n\t\t\t\t\tcurrentSel->anchor.SetPosition(positionInsert + lengthInserted);\n\t\t\t\t}\n\t\t\t\tcurrentSel->ClearVirtualSpace();\n\t\t\t\t// If in wrap mode rewrap current line so EnsureCaretVisible has accurate information\n\t\t\t\tif (Wrapping()) {\n\t\t\t\t\tAutoSurface surface(this);\n\t\t\t\t\tif (surface) {\n\t\t\t\t\t\tif (WrapOneLine(surface, pdoc->SciLineFromPosition(positionInsert))) {\n\t\t\t\t\t\t\tSetScrollBars();\n\t\t\t\t\t\t\tSetVerticalScrollPos();\n\t\t\t\t\t\t\tRedraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (Wrapping()) {\n\t\tSetScrollBars();\n\t}\n\tThinRectangularRange();\n\t// If in wrap mode rewrap current line so EnsureCaretVisible has accurate information\n\tEnsureCaretVisible();\n\t// Avoid blinking during rapid typing:\n\tShowCaretAtCurrentPosition();\n\tif ((caretSticky == SC_CARETSTICKY_OFF) ||\n\t\t((caretSticky == SC_CARETSTICKY_WHITESPACE) && !IsAllSpacesOrTabs(s, len))) {\n\t\tSetLastXChosen();\n\t}\n\n\tif (treatAsDBCS) {\n\t\tNotifyChar((static_cast<unsigned char>(s[0]) << 8) |\n\t\t        static_cast<unsigned char>(s[1]));\n\t} else if (len > 0) {\n\t\tint byte = static_cast<unsigned char>(s[0]);\n\t\tif ((byte < 0xC0) || (1 == len)) {\n\t\t\t// Handles UTF-8 characters between 0x01 and 0x7F and single byte\n\t\t\t// characters when not in UTF-8 mode.\n\t\t\t// Also treats \\0 and naked trail bytes 0x80 to 0xBF as valid\n\t\t\t// characters representing themselves.\n\t\t} else {\n\t\t\tunsigned int utf32[1] = { 0 };\n\t\t\tUTF32FromUTF8(s, len, utf32, ELEMENTS(utf32));\n\t\t\tbyte = utf32[0];\n\t\t}\n\t\tNotifyChar(byte);\n\t}\n\n\tif (recordingMacro) {\n\t\tNotifyMacroRecord(SCI_REPLACESEL, 0, reinterpret_cast<sptr_t>(s));\n\t}\n}\n\nvoid Editor::ClearBeforeTentativeStart() {\n\t// Make positions for the first composition string.\n\tFilterSelections();\n\tUndoGroup ug(pdoc, (sel.Count() > 1) || !sel.Empty() || inOverstrike);\n\tfor (size_t r = 0; r<sel.Count(); r++) {\n\t\tif (!RangeContainsProtected(sel.Range(r).Start().Position(),\n\t\t\tsel.Range(r).End().Position())) {\n\t\t\tconst Sci::Position positionInsert = sel.Range(r).Start().Position();\n\t\t\tif (!sel.Range(r).Empty()) {\n\t\t\t\tif (sel.Range(r).Length()) {\n\t\t\t\t\tpdoc->DeleteChars(positionInsert, sel.Range(r).Length());\n\t\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t\t} else {\n\t\t\t\t\t// Range is all virtual so collapse to start of virtual space\n\t\t\t\t\tsel.Range(r).MinimizeVirtualSpace();\n\t\t\t\t}\n\t\t\t}\n\t\t\tRealizeVirtualSpace(positionInsert, sel.Range(r).caret.VirtualSpace());\n\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t}\n\t}\n}\n\nvoid Editor::InsertPaste(const char *text, Sci::Position len) {\n\tif (multiPasteMode == SC_MULTIPASTE_ONCE) {\n\t\tSelectionPosition selStart = sel.Start();\n\t\tselStart = RealizeVirtualSpace(selStart);\n\t\tconst Sci::Position lengthInserted = pdoc->InsertString(selStart.Position(), text, len);\n\t\tif (lengthInserted > 0) {\n\t\t\tSetEmptySelection(selStart.Position() + lengthInserted);\n\t\t}\n\t} else {\n\t\t// SC_MULTIPASTE_EACH\n\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\tif (!RangeContainsProtected(sel.Range(r).Start().Position(),\n\t\t\t\tsel.Range(r).End().Position())) {\n\t\t\t\tSci::Position positionInsert = sel.Range(r).Start().Position();\n\t\t\t\tif (!sel.Range(r).Empty()) {\n\t\t\t\t\tif (sel.Range(r).Length()) {\n\t\t\t\t\t\tpdoc->DeleteChars(positionInsert, sel.Range(r).Length());\n\t\t\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Range is all virtual so collapse to start of virtual space\n\t\t\t\t\t\tsel.Range(r).MinimizeVirtualSpace();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpositionInsert = RealizeVirtualSpace(positionInsert, sel.Range(r).caret.VirtualSpace());\n\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(positionInsert, text, len);\n\t\t\t\tif (lengthInserted > 0) {\n\t\t\t\t\tsel.Range(r).caret.SetPosition(positionInsert + lengthInserted);\n\t\t\t\t\tsel.Range(r).anchor.SetPosition(positionInsert + lengthInserted);\n\t\t\t\t}\n\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Editor::InsertPasteShape(const char *text, Sci::Position len, PasteShape shape) {\n\tstd::string convertedText;\n\tif (convertPastes) {\n\t\t// Convert line endings of the paste into our local line-endings mode\n\t\tconvertedText = Document::TransformLineEnds(text, len, pdoc->eolMode);\n\t\tlen = convertedText.length();\n\t\ttext = convertedText.c_str();\n\t}\n\tif (shape == pasteRectangular) {\n\t\tPasteRectangular(sel.Start(), text, len);\n\t} else {\n\t\tif (shape == pasteLine) {\n\t\t\tconst Sci::Position insertPos =\n\t\t\t\tpdoc->LineStart(pdoc->LineFromPosition(sel.MainCaret()));\n\t\t\tSci::Position lengthInserted = pdoc->InsertString(insertPos, text, len);\n\t\t\t// add the newline if necessary\n\t\t\tif ((len > 0) && (text[len - 1] != '\\n' && text[len - 1] != '\\r')) {\n\t\t\t\tconst char *endline = StringFromEOLMode(pdoc->eolMode);\n\t\t\t\tconst Sci::Position length = strlen(endline);\n\t\t\t\tlengthInserted += pdoc->InsertString(insertPos + lengthInserted, endline, length);\n\t\t\t}\n\t\t\tif (sel.MainCaret() == insertPos) {\n\t\t\t\tSetEmptySelection(sel.MainCaret() + lengthInserted);\n\t\t\t}\n\t\t} else {\n\t\t\tInsertPaste(text, len);\n\t\t}\n\t}\n}\n\nvoid Editor::ClearSelection(bool retainMultipleSelections) {\n\tif (!sel.IsRectangular() && !retainMultipleSelections)\n\t\tFilterSelections();\n\tUndoGroup ug(pdoc);\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tif (!sel.Range(r).Empty()) {\n\t\t\tif (!RangeContainsProtected(sel.Range(r).Start().Position(),\n\t\t\t\tsel.Range(r).End().Position())) {\n\t\t\t\tpdoc->DeleteChars(sel.Range(r).Start().Position(),\n\t\t\t\t\tsel.Range(r).Length());\n\t\t\t\tsel.Range(r) = SelectionRange(sel.Range(r).Start());\n\t\t\t}\n\t\t}\n\t}\n\tThinRectangularRange();\n\tsel.RemoveDuplicates();\n\tClaimSelection();\n\tSetHoverIndicatorPosition(sel.MainCaret());\n}\n\nvoid Editor::ClearAll() {\n\t{\n\t\tUndoGroup ug(pdoc);\n\t\tif (0 != pdoc->Length()) {\n\t\t\tpdoc->DeleteChars(0, pdoc->Length());\n\t\t}\n\t\tif (!pdoc->IsReadOnly()) {\n\t\t\tpcs->Clear();\n\t\t\tpdoc->AnnotationClearAll();\n\t\t\tpdoc->MarginClearAll();\n\t\t}\n\t}\n\n\tview.ClearAllTabstops();\n\n\tsel.Clear();\n\tSetTopLine(0);\n\tSetVerticalScrollPos();\n\tInvalidateStyleRedraw();\n}\n\nvoid Editor::ClearDocumentStyle() {\n\tpdoc->decorations->DeleteLexerDecorations();\n\tpdoc->StartStyling(0, '\\377');\n\tpdoc->SetStyleFor(pdoc->Length(), 0);\n\tpcs->ShowAll();\n\tSetAnnotationHeights(0, pdoc->LinesTotal());\n\tpdoc->ClearLevels();\n}\n\nvoid Editor::CopyAllowLine() {\n\tSelectionText selectedText;\n\tCopySelectionRange(&selectedText, true);\n\tCopyToClipboard(selectedText);\n}\n\nvoid Editor::Cut() {\n\tpdoc->CheckReadOnly();\n\tif (!pdoc->IsReadOnly() && !SelectionContainsProtected()) {\n\t\tCopy();\n\t\tClearSelection();\n\t}\n}\n\nvoid Editor::PasteRectangular(SelectionPosition pos, const char *ptr, Sci::Position len) {\n\tif (pdoc->IsReadOnly() || SelectionContainsProtected()) {\n\t\treturn;\n\t}\n\tsel.Clear();\n\tsel.RangeMain() = SelectionRange(pos);\n\tSci::Line line = pdoc->SciLineFromPosition(sel.MainCaret());\n\tUndoGroup ug(pdoc);\n\tsel.RangeMain().caret = RealizeVirtualSpace(sel.RangeMain().caret);\n\tconst int xInsert = XFromPosition(sel.RangeMain().caret);\n\tbool prevCr = false;\n\twhile ((len > 0) && IsEOLChar(ptr[len-1]))\n\t\tlen--;\n\tfor (Sci::Position i = 0; i < len; i++) {\n\t\tif (IsEOLChar(ptr[i])) {\n\t\t\tif ((ptr[i] == '\\r') || (!prevCr))\n\t\t\t\tline++;\n\t\t\tif (line >= pdoc->LinesTotal()) {\n\t\t\t\tif (pdoc->eolMode != SC_EOL_LF)\n\t\t\t\t\tpdoc->InsertString(pdoc->Length(), \"\\r\", 1);\n\t\t\t\tif (pdoc->eolMode != SC_EOL_CR)\n\t\t\t\t\tpdoc->InsertString(pdoc->Length(), \"\\n\", 1);\n\t\t\t}\n\t\t\t// Pad the end of lines with spaces if required\n\t\t\tsel.RangeMain().caret.SetPosition(PositionFromLineX(line, xInsert));\n\t\t\tif ((XFromPosition(sel.RangeMain().caret) < xInsert) && (i + 1 < len)) {\n\t\t\t\twhile (XFromPosition(sel.RangeMain().caret) < xInsert) {\n\t\t\t\t\tassert(pdoc);\n\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(sel.MainCaret(), \" \", 1);\n\t\t\t\t\tsel.RangeMain().caret.Add(lengthInserted);\n\t\t\t\t}\n\t\t\t}\n\t\t\tprevCr = ptr[i] == '\\r';\n\t\t} else {\n\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(sel.MainCaret(), ptr + i, 1);\n\t\t\tsel.RangeMain().caret.Add(lengthInserted);\n\t\t\tprevCr = false;\n\t\t}\n\t}\n\tSetEmptySelection(pos);\n}\n\nbool Editor::CanPaste() {\n\treturn !pdoc->IsReadOnly() && !SelectionContainsProtected();\n}\n\nvoid Editor::Clear() {\n\t// If multiple selections, don't delete EOLS\n\tif (sel.Empty()) {\n\t\tbool singleVirtual = false;\n\t\tif ((sel.Count() == 1) &&\n\t\t\t!RangeContainsProtected(sel.MainCaret(), sel.MainCaret() + 1) &&\n\t\t\tsel.RangeMain().Start().VirtualSpace()) {\n\t\t\tsingleVirtual = true;\n\t\t}\n\t\tUndoGroup ug(pdoc, (sel.Count() > 1) || singleVirtual);\n\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\tif (!RangeContainsProtected(sel.Range(r).caret.Position(), sel.Range(r).caret.Position() + 1)) {\n\t\t\t\tif (sel.Range(r).Start().VirtualSpace()) {\n\t\t\t\t\tif (sel.Range(r).anchor < sel.Range(r).caret)\n\t\t\t\t\t\tsel.Range(r) = SelectionRange(RealizeVirtualSpace(sel.Range(r).anchor.Position(), sel.Range(r).anchor.VirtualSpace()));\n\t\t\t\t\telse\n\t\t\t\t\t\tsel.Range(r) = SelectionRange(RealizeVirtualSpace(sel.Range(r).caret.Position(), sel.Range(r).caret.VirtualSpace()));\n\t\t\t\t}\n\t\t\t\tif ((sel.Count() == 1) || !pdoc->IsPositionInLineEnd(sel.Range(r).caret.Position())) {\n\t\t\t\t\tpdoc->DelChar(sel.Range(r).caret.Position());\n\t\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t\t}  // else multiple selection so don't eat line ends\n\t\t\t} else {\n\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tClearSelection();\n\t}\n\tsel.RemoveDuplicates();\n\tShowCaretAtCurrentPosition();\t\t// Avoid blinking\n}\n\nvoid Editor::SelectAll() {\n\tsel.Clear();\n\tSetSelection(0, pdoc->Length());\n\tRedraw();\n}\n\nvoid Editor::Undo() {\n\tif (pdoc->CanUndo()) {\n\t\tInvalidateCaret();\n\t\tconst Sci::Position newPos = pdoc->Undo();\n\t\tif (newPos >= 0)\n\t\t\tSetEmptySelection(newPos);\n\t\tEnsureCaretVisible();\n\t}\n}\n\nvoid Editor::Redo() {\n\tif (pdoc->CanRedo()) {\n\t\tconst Sci::Position newPos = pdoc->Redo();\n\t\tif (newPos >= 0)\n\t\t\tSetEmptySelection(newPos);\n\t\tEnsureCaretVisible();\n\t}\n}\n\nvoid Editor::DelCharBack(bool allowLineStartDeletion) {\n\tRefreshStyleData();\n\tif (!sel.IsRectangular())\n\t\tFilterSelections();\n\tif (sel.IsRectangular())\n\t\tallowLineStartDeletion = false;\n\tUndoGroup ug(pdoc, (sel.Count() > 1) || !sel.Empty());\n\tif (sel.Empty()) {\n\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\tif (!RangeContainsProtected(sel.Range(r).caret.Position() - 1, sel.Range(r).caret.Position())) {\n\t\t\t\tif (sel.Range(r).caret.VirtualSpace()) {\n\t\t\t\t\tsel.Range(r).caret.SetVirtualSpace(sel.Range(r).caret.VirtualSpace() - 1);\n\t\t\t\t\tsel.Range(r).anchor.SetVirtualSpace(sel.Range(r).caret.VirtualSpace());\n\t\t\t\t} else {\n\t\t\t\t\tconst Sci::Line lineCurrentPos =\n\t\t\t\t\t\tpdoc->SciLineFromPosition(sel.Range(r).caret.Position());\n\t\t\t\t\tif (allowLineStartDeletion || (pdoc->LineStart(lineCurrentPos) != sel.Range(r).caret.Position())) {\n\t\t\t\t\t\tif (pdoc->GetColumn(sel.Range(r).caret.Position()) <= pdoc->GetLineIndentation(lineCurrentPos) &&\n\t\t\t\t\t\t\t\tpdoc->GetColumn(sel.Range(r).caret.Position()) > 0 && pdoc->backspaceUnindents) {\n\t\t\t\t\t\t\tUndoGroup ugInner(pdoc, !ug.Needed());\n\t\t\t\t\t\t\tconst int indentation = pdoc->GetLineIndentation(lineCurrentPos);\n\t\t\t\t\t\t\tconst int indentationStep = pdoc->IndentSize();\n\t\t\t\t\t\t\tint indentationChange = indentation % indentationStep;\n\t\t\t\t\t\t\tif (indentationChange == 0)\n\t\t\t\t\t\t\t\tindentationChange = indentationStep;\n\t\t\t\t\t\t\tconst Sci::Position posSelect = pdoc->SetLineIndentation(lineCurrentPos, indentation - indentationChange);\n\t\t\t\t\t\t\t// SetEmptySelection\n\t\t\t\t\t\t\tsel.Range(r) = SelectionRange(posSelect);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpdoc->DelCharBack(sel.Range(r).caret.Position());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t}\n\t\t}\n\t\tThinRectangularRange();\n\t} else {\n\t\tClearSelection();\n\t}\n\tsel.RemoveDuplicates();\n\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t// Avoid blinking during rapid typing:\n\tShowCaretAtCurrentPosition();\n}\n\nint Editor::ModifierFlags(bool shift, bool ctrl, bool alt, bool meta, bool super) noexcept {\n\treturn\n\t\t(shift ? SCI_SHIFT : 0) |\n\t\t(ctrl ? SCI_CTRL : 0) |\n\t\t(alt ? SCI_ALT : 0) |\n\t\t(meta ? SCI_META : 0) |\n\t\t(super ? SCI_SUPER : 0);\n}\n\nvoid Editor::NotifyFocus(bool focus) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = focus ? SCN_FOCUSIN : SCN_FOCUSOUT;\n\tNotifyParent(scn);\n}\n\nvoid Editor::SetCtrlID(int identifier) {\n\tctrlID = identifier;\n}\n\nvoid Editor::NotifyStyleToNeeded(Sci::Position endStyleNeeded) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_STYLENEEDED;\n\tscn.position = endStyleNeeded;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyStyleNeeded(Document *, void *, Sci::Position endStyleNeeded) {\n\tNotifyStyleToNeeded(endStyleNeeded);\n}\n\nvoid Editor::NotifyLexerChanged(Document *, void *) {\n}\n\nvoid Editor::NotifyErrorOccurred(Document *, void *, int status) {\n\terrorStatus = status;\n}\n\nvoid Editor::NotifyChar(int ch) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_CHARADDED;\n\tscn.ch = ch;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifySavePoint(bool isSavePoint) {\n\tSCNotification scn = {};\n\tif (isSavePoint) {\n\t\tscn.nmhdr.code = SCN_SAVEPOINTREACHED;\n\t} else {\n\t\tscn.nmhdr.code = SCN_SAVEPOINTLEFT;\n\t}\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyModifyAttempt() {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_MODIFYATTEMPTRO;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyDoubleClick(Point pt, int modifiers) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_DOUBLECLICK;\n\tscn.line = LineFromLocation(pt);\n\tscn.position = PositionFromLocation(pt, true);\n\tscn.modifiers = modifiers;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyHotSpotDoubleClicked(Sci::Position position, int modifiers) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_HOTSPOTDOUBLECLICK;\n\tscn.position = position;\n\tscn.modifiers = modifiers;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyHotSpotClicked(Sci::Position position, int modifiers) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_HOTSPOTCLICK;\n\tscn.position = position;\n\tscn.modifiers = modifiers;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyHotSpotReleaseClick(Sci::Position position, int modifiers) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_HOTSPOTRELEASECLICK;\n\tscn.position = position;\n\tscn.modifiers = modifiers;\n\tNotifyParent(scn);\n}\n\nbool Editor::NotifyUpdateUI() {\n\tif (needUpdateUI) {\n\t\tSCNotification scn = {};\n\t\tscn.nmhdr.code = SCN_UPDATEUI;\n\t\tscn.updated = needUpdateUI;\n\t\tNotifyParent(scn);\n\t\tneedUpdateUI = 0;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nvoid Editor::NotifyPainted() {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_PAINTED;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyIndicatorClick(bool click, Sci::Position position, int modifiers) {\n\tconst int mask = pdoc->decorations->AllOnFor(position);\n\tif ((click && mask) || pdoc->decorations->ClickNotified()) {\n\t\tSCNotification scn = {};\n\t\tpdoc->decorations->SetClickNotified(click);\n\t\tscn.nmhdr.code = click ? SCN_INDICATORCLICK : SCN_INDICATORRELEASE;\n\t\tscn.modifiers = modifiers;\n\t\tscn.position = position;\n\t\tNotifyParent(scn);\n\t}\n}\n\nbool Editor::NotifyMarginClick(Point pt, int modifiers) {\n\tconst int marginClicked = vs.MarginFromLocation(pt);\n\tif ((marginClicked >= 0) && vs.ms[marginClicked].sensitive) {\n\t\tconst Sci::Position position = pdoc->LineStart(LineFromLocation(pt));\n\t\tif ((vs.ms[marginClicked].mask & SC_MASK_FOLDERS) && (foldAutomatic & SC_AUTOMATICFOLD_CLICK)) {\n\t\t\tconst bool ctrl = (modifiers & SCI_CTRL) != 0;\n\t\t\tconst bool shift = (modifiers & SCI_SHIFT) != 0;\n\t\t\tconst Sci::Line lineClick = pdoc->SciLineFromPosition(position);\n\t\t\tif (shift && ctrl) {\n\t\t\t\tFoldAll(SC_FOLDACTION_TOGGLE);\n\t\t\t} else {\n\t\t\t\tconst int levelClick = pdoc->GetLevel(lineClick);\n\t\t\t\tif (levelClick & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\t\tif (shift) {\n\t\t\t\t\t\t// Ensure all children visible\n\t\t\t\t\t\tFoldExpand(lineClick, SC_FOLDACTION_EXPAND, levelClick);\n\t\t\t\t\t} else if (ctrl) {\n\t\t\t\t\t\tFoldExpand(lineClick, SC_FOLDACTION_TOGGLE, levelClick);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Toggle this line\n\t\t\t\t\t\tFoldLine(lineClick, SC_FOLDACTION_TOGGLE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tSCNotification scn = {};\n\t\tscn.nmhdr.code = SCN_MARGINCLICK;\n\t\tscn.modifiers = modifiers;\n\t\tscn.position = position;\n\t\tscn.margin = marginClicked;\n\t\tNotifyParent(scn);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nbool Editor::NotifyMarginRightClick(Point pt, int modifiers) {\n\tconst int marginRightClicked = vs.MarginFromLocation(pt);\n\tif ((marginRightClicked >= 0) && vs.ms[marginRightClicked].sensitive) {\n\t\tconst Sci::Position position = pdoc->LineStart(LineFromLocation(pt));\n\t\tSCNotification scn = {};\n\t\tscn.nmhdr.code = SCN_MARGINRIGHTCLICK;\n\t\tscn.modifiers = modifiers;\n\t\tscn.position = position;\n\t\tscn.margin = marginRightClicked;\n\t\tNotifyParent(scn);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nvoid Editor::NotifyNeedShown(Sci::Position pos, Sci::Position len) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_NEEDSHOWN;\n\tscn.position = pos;\n\tscn.length = len;\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyDwelling(Point pt, bool state) {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = state ? SCN_DWELLSTART : SCN_DWELLEND;\n\tscn.position = PositionFromLocation(pt, true);\n\tscn.x = static_cast<int>(pt.x + vs.ExternalMarginWidth());\n\tscn.y = static_cast<int>(pt.y);\n\tNotifyParent(scn);\n}\n\nvoid Editor::NotifyZoom() {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_ZOOM_CODE;\n\tNotifyParent(scn);\n}\n\n// Notifications from document\nvoid Editor::NotifyModifyAttempt(Document *, void *) {\n\t//Platform::DebugPrintf(\"** Modify Attempt\\n\");\n\tNotifyModifyAttempt();\n}\n\nvoid Editor::NotifySavePoint(Document *, void *, bool atSavePoint) {\n\t//Platform::DebugPrintf(\"** Save Point %s\\n\", atSavePoint ? \"On\" : \"Off\");\n\tNotifySavePoint(atSavePoint);\n}\n\nvoid Editor::CheckModificationForWrap(DocModification mh) {\n\tif (mh.modificationType & (SC_MOD_INSERTTEXT | SC_MOD_DELETETEXT)) {\n\t\tview.llc.Invalidate(LineLayout::llCheckTextAndStyle);\n\t\tconst Sci::Line lineDoc = pdoc->SciLineFromPosition(mh.position);\n\t\tconst Sci::Line lines = std::max(static_cast<Sci::Line>(0), mh.linesAdded);\n\t\tif (Wrapping()) {\n\t\t\tNeedWrapping(lineDoc, lineDoc + lines + 1);\n\t\t}\n\t\tRefreshStyleData();\n\t\t// Fix up annotation heights\n\t\tSetAnnotationHeights(lineDoc, lineDoc + lines + 2);\n\t}\n}\n\n// Move a position so it is still after the same character as before the insertion.\nstatic inline Sci::Position MovePositionForInsertion(Sci::Position position, Sci::Position startInsertion, Sci::Position length) {\n\tif (position > startInsertion) {\n\t\treturn position + length;\n\t}\n\treturn position;\n}\n\n// Move a position so it is still after the same character as before the deletion if that\n// character is still present else after the previous surviving character.\nstatic inline Sci::Position MovePositionForDeletion(Sci::Position position, Sci::Position startDeletion, Sci::Position length) {\n\tif (position > startDeletion) {\n\t\tconst Sci::Position endDeletion = startDeletion + length;\n\t\tif (position > endDeletion) {\n\t\t\treturn position - length;\n\t\t} else {\n\t\t\treturn startDeletion;\n\t\t}\n\t} else {\n\t\treturn position;\n\t}\n}\n\nvoid Editor::NotifyModified(Document *, DocModification mh, void *) {\n\tContainerNeedsUpdate(SC_UPDATE_CONTENT);\n\tif (paintState == painting) {\n\t\tCheckForChangeOutsidePaint(Range(mh.position, mh.position + mh.length));\n\t}\n\tif (mh.modificationType & SC_MOD_CHANGELINESTATE) {\n\t\tif (paintState == painting) {\n\t\t\tCheckForChangeOutsidePaint(\n\t\t\t    Range(pdoc->LineStart(mh.line),\n\t\t\t\t\tpdoc->LineStart(mh.line + 1)));\n\t\t} else {\n\t\t\t// Could check that change is before last visible line.\n\t\t\tRedraw();\n\t\t}\n\t}\n\tif (mh.modificationType & SC_MOD_CHANGETABSTOPS) {\n\t\tRedraw();\n\t}\n\tif (mh.modificationType & SC_MOD_LEXERSTATE) {\n\t\tif (paintState == painting) {\n\t\t\tCheckForChangeOutsidePaint(\n\t\t\t    Range(mh.position, mh.position + mh.length));\n\t\t} else {\n\t\t\tRedraw();\n\t\t}\n\t}\n\tif (mh.modificationType & (SC_MOD_CHANGESTYLE | SC_MOD_CHANGEINDICATOR)) {\n\t\tif (mh.modificationType & SC_MOD_CHANGESTYLE) {\n\t\t\tpdoc->IncrementStyleClock();\n\t\t}\n\t\tif (paintState == notPainting) {\n\t\t\tconst Sci::Line lineDocTop = pcs->DocFromDisplay(topLine);\n\t\t\tif (mh.position < pdoc->LineStart(lineDocTop)) {\n\t\t\t\t// Styling performed before this view\n\t\t\t\tRedraw();\n\t\t\t} else {\n\t\t\t\tInvalidateRange(mh.position, mh.position + mh.length);\n\t\t\t}\n\t\t}\n\t\tif (mh.modificationType & SC_MOD_CHANGESTYLE) {\n\t\t\tview.llc.Invalidate(LineLayout::llCheckTextAndStyle);\n\t\t}\n\t} else {\n\t\t// Move selection and brace highlights\n\t\tif (mh.modificationType & SC_MOD_INSERTTEXT) {\n\t\t\tsel.MovePositions(true, mh.position, mh.length);\n\t\t\tbraces[0] = MovePositionForInsertion(braces[0], mh.position, mh.length);\n\t\t\tbraces[1] = MovePositionForInsertion(braces[1], mh.position, mh.length);\n\t\t} else if (mh.modificationType & SC_MOD_DELETETEXT) {\n\t\t\tsel.MovePositions(false, mh.position, mh.length);\n\t\t\tbraces[0] = MovePositionForDeletion(braces[0], mh.position, mh.length);\n\t\t\tbraces[1] = MovePositionForDeletion(braces[1], mh.position, mh.length);\n\t\t}\n\t\tif ((mh.modificationType & (SC_MOD_BEFOREINSERT | SC_MOD_BEFOREDELETE)) && pcs->HiddenLines()) {\n\t\t\t// Some lines are hidden so may need shown.\n\t\t\tconst Sci::Line lineOfPos = pdoc->SciLineFromPosition(mh.position);\n\t\t\tSci::Position endNeedShown = mh.position;\n\t\t\tif (mh.modificationType & SC_MOD_BEFOREINSERT) {\n\t\t\t\tif (pdoc->ContainsLineEnd(mh.text, mh.length) && (mh.position != pdoc->LineStart(lineOfPos)))\n\t\t\t\t\tendNeedShown = pdoc->LineStart(lineOfPos+1);\n\t\t\t} else if (mh.modificationType & SC_MOD_BEFOREDELETE) {\n\t\t\t\t// If the deletion includes any EOL then we extend the need shown area.\n\t\t\t\tendNeedShown = mh.position + mh.length;\n\t\t\t\tSci::Line lineLast = pdoc->SciLineFromPosition(mh.position+mh.length);\n\t\t\t\tfor (Sci::Line line = lineOfPos + 1; line <= lineLast; line++) {\n\t\t\t\t\tconst Sci::Line lineMaxSubord = pdoc->GetLastChild(line, -1, -1);\n\t\t\t\t\tif (lineLast < lineMaxSubord) {\n\t\t\t\t\t\tlineLast = lineMaxSubord;\n\t\t\t\t\t\tendNeedShown = pdoc->LineEnd(lineLast);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tNeedShown(mh.position, endNeedShown - mh.position);\n\t\t}\n\t\tif (mh.linesAdded != 0) {\n\t\t\t// Update contraction state for inserted and removed lines\n\t\t\t// lineOfPos should be calculated in context of state before modification, shouldn't it\n\t\t\tSci::Line lineOfPos = pdoc->SciLineFromPosition(mh.position);\n\t\t\tif (mh.position > pdoc->LineStart(lineOfPos))\n\t\t\t\tlineOfPos++;\t// Affecting subsequent lines\n\t\t\tif (mh.linesAdded > 0) {\n\t\t\t\tpcs->InsertLines(lineOfPos, mh.linesAdded);\n\t\t\t} else {\n\t\t\t\tpcs->DeleteLines(lineOfPos, -mh.linesAdded);\n\t\t\t}\n\t\t\tview.LinesAddedOrRemoved(lineOfPos, mh.linesAdded);\n\t\t}\n\t\tif (mh.modificationType & SC_MOD_CHANGEANNOTATION) {\n\t\t\tconst Sci::Line lineDoc = pdoc->SciLineFromPosition(mh.position);\n\t\t\tif (vs.annotationVisible) {\n\t\t\t\tif (pcs->SetHeight(lineDoc, pcs->GetHeight(lineDoc) + static_cast<int>(mh.annotationLinesAdded))) {\n\t\t\t\t\tSetScrollBars();\n\t\t\t\t}\n\t\t\t\tRedraw();\n\t\t\t}\n\t\t}\n\t\tCheckModificationForWrap(mh);\n\t\tif (mh.linesAdded != 0) {\n\t\t\t// Avoid scrolling of display if change before current display\n\t\t\tif (mh.position < posTopLine && !CanDeferToLastStep(mh)) {\n\t\t\t\tconst Sci::Line newTop = Sci::clamp(topLine + mh.linesAdded, static_cast<Sci::Line>(0), MaxScrollPos());\n\t\t\t\tif (newTop != topLine) {\n\t\t\t\t\tSetTopLine(newTop);\n\t\t\t\t\tSetVerticalScrollPos();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (paintState == notPainting && !CanDeferToLastStep(mh)) {\n\t\t\t\tQueueIdleWork(WorkNeeded::workStyle, pdoc->Length());\n\t\t\t\tRedraw();\n\t\t\t}\n\t\t} else {\n\t\t\tif (paintState == notPainting && mh.length && !CanEliminate(mh)) {\n\t\t\t\tQueueIdleWork(WorkNeeded::workStyle, mh.position + mh.length);\n\t\t\t\tInvalidateRange(mh.position, mh.position + mh.length);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (mh.linesAdded != 0 && !CanDeferToLastStep(mh)) {\n\t\tSetScrollBars();\n\t}\n\n\tif ((mh.modificationType & SC_MOD_CHANGEMARKER) || (mh.modificationType & SC_MOD_CHANGEMARGIN)) {\n\t\tif ((!willRedrawAll) && ((paintState == notPainting) || !PaintContainsMargin())) {\n\t\t\tif (mh.modificationType & SC_MOD_CHANGEFOLD) {\n\t\t\t\t// Fold changes can affect the drawing of following lines so redraw whole margin\n\t\t\t\tRedrawSelMargin(marginView.highlightDelimiter.isEnabled ? -1 : mh.line - 1, true);\n\t\t\t} else {\n\t\t\t\tRedrawSelMargin(mh.line);\n\t\t\t}\n\t\t}\n\t}\n\tif ((mh.modificationType & SC_MOD_CHANGEFOLD) && (foldAutomatic & SC_AUTOMATICFOLD_CHANGE)) {\n\t\tFoldChanged(mh.line, mh.foldLevelNow, mh.foldLevelPrev);\n\t}\n\n\t// NOW pay the piper WRT \"deferred\" visual updates\n\tif (IsLastStep(mh)) {\n\t\tSetScrollBars();\n\t\tRedraw();\n\t}\n\n\t// If client wants to see this modification\n\tif (mh.modificationType & modEventMask) {\n\t\tif (commandEvents) {\n\t\t\tif ((mh.modificationType & (SC_MOD_CHANGESTYLE | SC_MOD_CHANGEINDICATOR)) == 0) {\n\t\t\t\t// Real modification made to text of document.\n\t\t\t\tNotifyChange();\t// Send EN_CHANGE\n\t\t\t}\n\t\t}\n\n\t\tSCNotification scn = {};\n\t\tscn.nmhdr.code = SCN_MODIFIED;\n\t\tscn.position = mh.position;\n\t\tscn.modificationType = mh.modificationType;\n\t\tscn.text = mh.text;\n\t\tscn.length = mh.length;\n\t\tscn.linesAdded = mh.linesAdded;\n\t\tscn.line = mh.line;\n\t\tscn.foldLevelNow = mh.foldLevelNow;\n\t\tscn.foldLevelPrev = mh.foldLevelPrev;\n\t\tscn.token = static_cast<int>(mh.token);\n\t\tscn.annotationLinesAdded = mh.annotationLinesAdded;\n\t\tNotifyParent(scn);\n\t}\n}\n\nvoid Editor::NotifyDeleted(Document *, void *) {\n\t/* Do nothing */\n}\n\nvoid Editor::NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {\n\n\t// Enumerates all macroable messages\n\tswitch (iMessage) {\n\tcase SCI_CUT:\n\tcase SCI_COPY:\n\tcase SCI_PASTE:\n\tcase SCI_CLEAR:\n\tcase SCI_REPLACESEL:\n\tcase SCI_ADDTEXT:\n\tcase SCI_INSERTTEXT:\n\tcase SCI_APPENDTEXT:\n\tcase SCI_CLEARALL:\n\tcase SCI_SELECTALL:\n\tcase SCI_GOTOLINE:\n\tcase SCI_GOTOPOS:\n\tcase SCI_SEARCHANCHOR:\n\tcase SCI_SEARCHNEXT:\n\tcase SCI_SEARCHPREV:\n\tcase SCI_LINEDOWN:\n\tcase SCI_LINEDOWNEXTEND:\n\tcase SCI_PARADOWN:\n\tcase SCI_PARADOWNEXTEND:\n\tcase SCI_LINEUP:\n\tcase SCI_LINEUPEXTEND:\n\tcase SCI_PARAUP:\n\tcase SCI_PARAUPEXTEND:\n\tcase SCI_CHARLEFT:\n\tcase SCI_CHARLEFTEXTEND:\n\tcase SCI_CHARRIGHT:\n\tcase SCI_CHARRIGHTEXTEND:\n\tcase SCI_WORDLEFT:\n\tcase SCI_WORDLEFTEXTEND:\n\tcase SCI_WORDRIGHT:\n\tcase SCI_WORDRIGHTEXTEND:\n\tcase SCI_WORDPARTLEFT:\n\tcase SCI_WORDPARTLEFTEXTEND:\n\tcase SCI_WORDPARTRIGHT:\n\tcase SCI_WORDPARTRIGHTEXTEND:\n\tcase SCI_WORDLEFTEND:\n\tcase SCI_WORDLEFTENDEXTEND:\n\tcase SCI_WORDRIGHTEND:\n\tcase SCI_WORDRIGHTENDEXTEND:\n\tcase SCI_HOME:\n\tcase SCI_HOMEEXTEND:\n\tcase SCI_LINEEND:\n\tcase SCI_LINEENDEXTEND:\n\tcase SCI_HOMEWRAP:\n\tcase SCI_HOMEWRAPEXTEND:\n\tcase SCI_LINEENDWRAP:\n\tcase SCI_LINEENDWRAPEXTEND:\n\tcase SCI_DOCUMENTSTART:\n\tcase SCI_DOCUMENTSTARTEXTEND:\n\tcase SCI_DOCUMENTEND:\n\tcase SCI_DOCUMENTENDEXTEND:\n\tcase SCI_STUTTEREDPAGEUP:\n\tcase SCI_STUTTEREDPAGEUPEXTEND:\n\tcase SCI_STUTTEREDPAGEDOWN:\n\tcase SCI_STUTTEREDPAGEDOWNEXTEND:\n\tcase SCI_PAGEUP:\n\tcase SCI_PAGEUPEXTEND:\n\tcase SCI_PAGEDOWN:\n\tcase SCI_PAGEDOWNEXTEND:\n\tcase SCI_EDITTOGGLEOVERTYPE:\n\tcase SCI_CANCEL:\n\tcase SCI_DELETEBACK:\n\tcase SCI_TAB:\n\tcase SCI_BACKTAB:\n\tcase SCI_FORMFEED:\n\tcase SCI_VCHOME:\n\tcase SCI_VCHOMEEXTEND:\n\tcase SCI_VCHOMEWRAP:\n\tcase SCI_VCHOMEWRAPEXTEND:\n\tcase SCI_VCHOMEDISPLAY:\n\tcase SCI_VCHOMEDISPLAYEXTEND:\n\tcase SCI_DELWORDLEFT:\n\tcase SCI_DELWORDRIGHT:\n\tcase SCI_DELWORDRIGHTEND:\n\tcase SCI_DELLINELEFT:\n\tcase SCI_DELLINERIGHT:\n\tcase SCI_LINECOPY:\n\tcase SCI_LINECUT:\n\tcase SCI_LINEDELETE:\n\tcase SCI_LINETRANSPOSE:\n\tcase SCI_LINEREVERSE:\n\tcase SCI_LINEDUPLICATE:\n\tcase SCI_LOWERCASE:\n\tcase SCI_UPPERCASE:\n\tcase SCI_LINESCROLLDOWN:\n\tcase SCI_LINESCROLLUP:\n\tcase SCI_DELETEBACKNOTLINE:\n\tcase SCI_HOMEDISPLAY:\n\tcase SCI_HOMEDISPLAYEXTEND:\n\tcase SCI_LINEENDDISPLAY:\n\tcase SCI_LINEENDDISPLAYEXTEND:\n\tcase SCI_SETSELECTIONMODE:\n\tcase SCI_LINEDOWNRECTEXTEND:\n\tcase SCI_LINEUPRECTEXTEND:\n\tcase SCI_CHARLEFTRECTEXTEND:\n\tcase SCI_CHARRIGHTRECTEXTEND:\n\tcase SCI_HOMERECTEXTEND:\n\tcase SCI_VCHOMERECTEXTEND:\n\tcase SCI_LINEENDRECTEXTEND:\n\tcase SCI_PAGEUPRECTEXTEND:\n\tcase SCI_PAGEDOWNRECTEXTEND:\n\tcase SCI_SELECTIONDUPLICATE:\n\tcase SCI_COPYALLOWLINE:\n\tcase SCI_VERTICALCENTRECARET:\n\tcase SCI_MOVESELECTEDLINESUP:\n\tcase SCI_MOVESELECTEDLINESDOWN:\n\tcase SCI_SCROLLTOSTART:\n\tcase SCI_SCROLLTOEND:\n\t\tbreak;\n\n\t\t// Filter out all others like display changes. Also, newlines are redundant\n\t\t// with char insert messages.\n\tcase SCI_NEWLINE:\n\tdefault:\n\t\t//\t\tprintf(\"Filtered out %ld of macro recording\\n\", iMessage);\n\t\treturn;\n\t}\n\n\t// Send notification\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_MACRORECORD;\n\tscn.message = iMessage;\n\tscn.wParam = wParam;\n\tscn.lParam = lParam;\n\tNotifyParent(scn);\n}\n\n// Something has changed that the container should know about\nvoid Editor::ContainerNeedsUpdate(int flags) {\n\tneedUpdateUI |= flags;\n}\n\n/**\n * Force scroll and keep position relative to top of window.\n *\n * If stuttered = true and not already at first/last row, move to first/last row of window.\n * If stuttered = true and already at first/last row, scroll as normal.\n */\nvoid Editor::PageMove(int direction, Selection::selTypes selt, bool stuttered) {\n\tSci::Line topLineNew;\n\tSelectionPosition newPos;\n\n\tconst Sci::Line currentLine = pdoc->SciLineFromPosition(sel.MainCaret());\n\tconst Sci::Line topStutterLine = topLine + caretYSlop;\n\tconst Sci::Line bottomStutterLine =\n\t    pdoc->SciLineFromPosition(PositionFromLocation(\n\t                Point::FromInts(lastXChosen - xOffset, direction * vs.lineHeight * static_cast<int>(LinesToScroll()))))\n\t    - caretYSlop - 1;\n\n\tif (stuttered && (direction < 0 && currentLine > topStutterLine)) {\n\t\ttopLineNew = topLine;\n\t\tnewPos = SPositionFromLocation(Point::FromInts(lastXChosen - xOffset, vs.lineHeight * caretYSlop),\n\t\t\tfalse, false, UserVirtualSpace());\n\n\t} else if (stuttered && (direction > 0 && currentLine < bottomStutterLine)) {\n\t\ttopLineNew = topLine;\n\t\tnewPos = SPositionFromLocation(Point::FromInts(lastXChosen - xOffset, vs.lineHeight * static_cast<int>(LinesToScroll() - caretYSlop)),\n\t\t\tfalse, false, UserVirtualSpace());\n\n\t} else {\n\t\tconst Point pt = LocationFromPosition(sel.MainCaret());\n\n\t\ttopLineNew = Sci::clamp(\n\t\t            topLine + direction * LinesToScroll(), static_cast<Sci::Line>(0), MaxScrollPos());\n\t\tnewPos = SPositionFromLocation(\n\t\t\tPoint::FromInts(lastXChosen - xOffset, static_cast<int>(pt.y) +\n\t\t\t\tdirection * (vs.lineHeight * static_cast<int>(LinesToScroll()))),\n\t\t\tfalse, false, UserVirtualSpace());\n\t}\n\n\tif (topLineNew != topLine) {\n\t\tSetTopLine(topLineNew);\n\t\tMovePositionTo(newPos, selt);\n\t\tRedraw();\n\t\tSetVerticalScrollPos();\n\t} else {\n\t\tMovePositionTo(newPos, selt);\n\t}\n}\n\nvoid Editor::ChangeCaseOfSelection(int caseMapping) {\n\tUndoGroup ug(pdoc);\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tSelectionRange current = sel.Range(r);\n\t\tSelectionRange currentNoVS = current;\n\t\tcurrentNoVS.ClearVirtualSpace();\n\t\tconst size_t rangeBytes = currentNoVS.Length();\n\t\tif (rangeBytes > 0) {\n\t\t\tstd::string sText = RangeText(currentNoVS.Start().Position(), currentNoVS.End().Position());\n\n\t\t\tstd::string sMapped = CaseMapString(sText, caseMapping);\n\n\t\t\tif (sMapped != sText) {\n\t\t\t\tsize_t firstDifference = 0;\n\t\t\t\twhile (sMapped[firstDifference] == sText[firstDifference])\n\t\t\t\t\tfirstDifference++;\n\t\t\t\tsize_t lastDifferenceText = sText.size() - 1;\n\t\t\t\tsize_t lastDifferenceMapped = sMapped.size() - 1;\n\t\t\t\twhile (sMapped[lastDifferenceMapped] == sText[lastDifferenceText]) {\n\t\t\t\t\tlastDifferenceText--;\n\t\t\t\t\tlastDifferenceMapped--;\n\t\t\t\t}\n\t\t\t\tconst size_t endDifferenceText = sText.size() - 1 - lastDifferenceText;\n\t\t\t\tpdoc->DeleteChars(\n\t\t\t\t\tcurrentNoVS.Start().Position() + firstDifference,\n\t\t\t\t\trangeBytes - firstDifference - endDifferenceText);\n\t\t\t\tconst Sci::Position lengthChange = lastDifferenceMapped - firstDifference + 1;\n\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\t\tcurrentNoVS.Start().Position() + firstDifference,\n\t\t\t\t\tsMapped.c_str() + firstDifference,\n\t\t\t\t\tlengthChange);\n\t\t\t\t// Automatic movement changes selection so reset to exactly the same as it was.\n\t\t\t\tconst Sci::Position diffSizes = sMapped.size() - sText.size() + lengthInserted - lengthChange;\n\t\t\t\tif (diffSizes != 0) {\n\t\t\t\t\tif (current.anchor > current.caret)\n\t\t\t\t\t\tcurrent.anchor.Add(diffSizes);\n\t\t\t\t\telse\n\t\t\t\t\t\tcurrent.caret.Add(diffSizes);\n\t\t\t\t}\n\t\t\t\tsel.Range(r) = current;\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Editor::LineTranspose() {\n\tconst Sci::Line line = pdoc->SciLineFromPosition(sel.MainCaret());\n\tif (line > 0) {\n\t\tUndoGroup ug(pdoc);\n\n\t\tconst Sci::Position startPrevious = pdoc->LineStart(line - 1);\n\t\tconst std::string linePrevious = RangeText(startPrevious, pdoc->LineEnd(line - 1));\n\n\t\tSci::Position startCurrent = pdoc->LineStart(line);\n\t\tconst std::string lineCurrent = RangeText(startCurrent, pdoc->LineEnd(line));\n\n\t\tpdoc->DeleteChars(startCurrent, lineCurrent.length());\n\t\tpdoc->DeleteChars(startPrevious, linePrevious.length());\n\t\tstartCurrent -= linePrevious.length();\n\n\t\tstartCurrent += pdoc->InsertString(startPrevious, lineCurrent.c_str(),\n\t\t\tlineCurrent.length());\n\t\tpdoc->InsertString(startCurrent, linePrevious.c_str(),\n\t\t\tlinePrevious.length());\n\t\t// Move caret to start of current line\n\t\tMovePositionTo(SelectionPosition(startCurrent));\n\t}\n}\n\nvoid Editor::LineReverse() {\n\tconst Sci::Line lineStart =\n\t\tpdoc->SciLineFromPosition(sel.RangeMain().Start().Position());\n\tconst Sci::Line lineEnd =\n\t\tpdoc->SciLineFromPosition(sel.RangeMain().End().Position()-1);\n\tconst Sci::Line lineDiff = lineEnd - lineStart;\n\tif (lineDiff <= 0)\n\t\treturn;\n\tUndoGroup ug(pdoc);\n\tfor (Sci::Line i=(lineDiff+1)/2-1; i>=0; --i) {\n\t\tconst Sci::Line lineNum2 = lineEnd - i;\n\t\tconst Sci::Line lineNum1 = lineStart + i;\n\t\tSci::Position lineStart2 = pdoc->LineStart(lineNum2);\n\t\tconst Sci::Position lineStart1 = pdoc->LineStart(lineNum1);\n\t\tconst std::string line2 = RangeText(lineStart2, pdoc->LineEnd(lineNum2));\n\t\tconst std::string line1 = RangeText(lineStart1, pdoc->LineEnd(lineNum1));\n\t\tconst Sci::Position lineLen2 = line2.length();\n\t\tconst Sci::Position lineLen1 = line1.length();\n\t\tpdoc->DeleteChars(lineStart2, lineLen2);\n\t\tpdoc->DeleteChars(lineStart1, lineLen1);\n\t\tlineStart2 -= lineLen1;\n\t\tpdoc->InsertString(lineStart2, line1.c_str(), lineLen1);\n\t\tpdoc->InsertString(lineStart1, line2.c_str(), lineLen2);\n\t}\n\t// Wholly select all affected lines\n\tsel.RangeMain() = SelectionRange(pdoc->LineStart(lineStart),\n\t\tpdoc->LineStart(lineEnd+1));\n}\n\nvoid Editor::Duplicate(bool forLine) {\n\tif (sel.Empty()) {\n\t\tforLine = true;\n\t}\n\tUndoGroup ug(pdoc);\n\tconst char *eol = \"\";\n\tSci::Position eolLen = 0;\n\tif (forLine) {\n\t\teol = StringFromEOLMode(pdoc->eolMode);\n\t\teolLen = strlen(eol);\n\t}\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tSelectionPosition start = sel.Range(r).Start();\n\t\tSelectionPosition end = sel.Range(r).End();\n\t\tif (forLine) {\n\t\t\tconst Sci::Line line = pdoc->SciLineFromPosition(sel.Range(r).caret.Position());\n\t\t\tstart = SelectionPosition(pdoc->LineStart(line));\n\t\t\tend = SelectionPosition(pdoc->LineEnd(line));\n\t\t}\n\t\tstd::string text = RangeText(start.Position(), end.Position());\n\t\tSci::Position lengthInserted = eolLen;\n\t\tif (forLine)\n\t\t\tlengthInserted = pdoc->InsertString(end.Position(), eol, eolLen);\n\t\tpdoc->InsertString(end.Position() + lengthInserted, text.c_str(), text.length());\n\t}\n\tif (sel.Count() && sel.IsRectangular()) {\n\t\tSelectionPosition last = sel.Last();\n\t\tif (forLine) {\n\t\t\tconst Sci::Line line = pdoc->SciLineFromPosition(last.Position());\n\t\t\tlast = SelectionPosition(last.Position() +\n\t\t\t\tpdoc->LineStart(line+1) - pdoc->LineStart(line));\n\t\t}\n\t\tif (sel.Rectangular().anchor > sel.Rectangular().caret)\n\t\t\tsel.Rectangular().anchor = last;\n\t\telse\n\t\t\tsel.Rectangular().caret = last;\n\t\tSetRectangularRange();\n\t}\n}\n\nvoid Editor::CancelModes() {\n\tsel.SetMoveExtends(false);\n}\n\nvoid Editor::NewLine() {\n\tInvalidateWholeSelection();\n\tif (sel.IsRectangular() || !additionalSelectionTyping) {\n\t\t// Remove non-main ranges\n\t\tsel.DropAdditionalRanges();\n\t}\n\n\tUndoGroup ug(pdoc, !sel.Empty() || (sel.Count() > 1));\n\n\t// Clear each range\n\tif (!sel.Empty()) {\n\t\tClearSelection();\n\t}\n\n\t// Insert each line end\n\tsize_t countInsertions = 0;\n\tfor (size_t r = 0; r < sel.Count(); r++) {\n\t\tsel.Range(r).ClearVirtualSpace();\n\t\tconst char *eol = StringFromEOLMode(pdoc->eolMode);\n\t\tconst Sci::Position positionInsert = sel.Range(r).caret.Position();\n\t\tconst Sci::Position insertLength = pdoc->InsertString(positionInsert, eol, strlen(eol));\n\t\tif (insertLength > 0) {\n\t\t\tsel.Range(r) = SelectionRange(positionInsert + insertLength);\n\t\t\tcountInsertions++;\n\t\t}\n\t}\n\n\t// Perform notifications after all the changes as the application may change the\n\t// selections in response to the characters.\n\tfor (size_t i = 0; i < countInsertions; i++) {\n\t\tconst char *eol = StringFromEOLMode(pdoc->eolMode);\n\t\twhile (*eol) {\n\t\t\tNotifyChar(*eol);\n\t\t\tif (recordingMacro) {\n\t\t\t\tchar txt[2];\n\t\t\t\ttxt[0] = *eol;\n\t\t\t\ttxt[1] = '\\0';\n\t\t\t\tNotifyMacroRecord(SCI_REPLACESEL, 0, reinterpret_cast<sptr_t>(txt));\n\t\t\t}\n\t\t\teol++;\n\t\t}\n\t}\n\n\tSetLastXChosen();\n\tSetScrollBars();\n\tEnsureCaretVisible();\n\t// Avoid blinking during rapid typing:\n\tShowCaretAtCurrentPosition();\n}\n\nSelectionPosition Editor::PositionUpOrDown(SelectionPosition spStart, int direction, int lastX) {\n\tconst Point pt = LocationFromPosition(spStart);\n\tint skipLines = 0;\n\n\tif (vs.annotationVisible) {\n\t\tconst Sci::Line lineDoc = pdoc->SciLineFromPosition(spStart.Position());\n\t\tconst Point ptStartLine = LocationFromPosition(pdoc->LineStart(lineDoc));\n\t\tconst int subLine = static_cast<int>(pt.y - ptStartLine.y) / vs.lineHeight;\n\n\t\tif (direction < 0 && subLine == 0) {\n\t\t\tconst Sci::Line lineDisplay = pcs->DisplayFromDoc(lineDoc);\n\t\t\tif (lineDisplay > 0) {\n\t\t\t\tskipLines = pdoc->AnnotationLines(pcs->DocFromDisplay(lineDisplay - 1));\n\t\t\t}\n\t\t} else if (direction > 0 && subLine >= (pcs->GetHeight(lineDoc) - 1 - pdoc->AnnotationLines(lineDoc))) {\n\t\t\tskipLines = pdoc->AnnotationLines(lineDoc);\n\t\t}\n\t}\n\n\tconst Sci::Line newY = static_cast<Sci::Line>(pt.y) + (1 + skipLines) * direction * vs.lineHeight;\n\tif (lastX < 0) {\n\t\tlastX = static_cast<int>(pt.x) + xOffset;\n\t}\n\tSelectionPosition posNew = SPositionFromLocation(\n\t\tPoint::FromInts(lastX - xOffset, static_cast<int>(newY)), false, false, UserVirtualSpace());\n\n\tif (direction < 0) {\n\t\t// Line wrapping may lead to a location on the same line, so\n\t\t// seek back if that is the case.\n\t\tPoint ptNew = LocationFromPosition(posNew.Position());\n\t\twhile ((posNew.Position() > 0) && (pt.y == ptNew.y)) {\n\t\t\tposNew.Add(-1);\n\t\t\tposNew.SetVirtualSpace(0);\n\t\t\tptNew = LocationFromPosition(posNew.Position());\n\t\t}\n\t} else if (direction > 0 && posNew.Position() != pdoc->Length()) {\n\t\t// There is an equivalent case when moving down which skips\n\t\t// over a line.\n\t\tPoint ptNew = LocationFromPosition(posNew.Position());\n\t\twhile ((posNew.Position() > spStart.Position()) && (ptNew.y > newY)) {\n\t\t\tposNew.Add(-1);\n\t\t\tposNew.SetVirtualSpace(0);\n\t\t\tptNew = LocationFromPosition(posNew.Position());\n\t\t}\n\t}\n\treturn posNew;\n}\n\nvoid Editor::CursorUpOrDown(int direction, Selection::selTypes selt) {\n\tif ((selt == Selection::noSel) && sel.MoveExtends()) {\n\t\tselt = !sel.IsRectangular() ? Selection::selStream : Selection::selRectangle;\n\t}\n\tSelectionPosition caretToUse = sel.Range(sel.Main()).caret;\n\tif (sel.IsRectangular()) {\n\t\tif (selt ==  Selection::noSel) {\n\t\t\tcaretToUse = (direction > 0) ? sel.Limits().end : sel.Limits().start;\n\t\t} else {\n\t\t\tcaretToUse = sel.Rectangular().caret;\n\t\t}\n\t}\n\tif (selt == Selection::selRectangle) {\n\t\tconst SelectionRange rangeBase = sel.IsRectangular() ? sel.Rectangular() : sel.RangeMain();\n\t\tif (!sel.IsRectangular()) {\n\t\t\tInvalidateWholeSelection();\n\t\t\tsel.DropAdditionalRanges();\n\t\t}\n\t\tconst SelectionPosition posNew = MovePositionSoVisible(\n\t\t\tPositionUpOrDown(caretToUse, direction, lastXChosen), direction);\n\t\tsel.selType = Selection::selRectangle;\n\t\tsel.Rectangular() = SelectionRange(posNew, rangeBase.anchor);\n\t\tSetRectangularRange();\n\t\tMovedCaret(posNew, caretToUse, true);\n\t} else if (sel.selType == Selection::selLines && sel.MoveExtends()) {\n\t\t// Calculate new caret position and call SetSelection(), which will ensure whole lines are selected.\n\t\tconst SelectionPosition posNew = MovePositionSoVisible(\n\t\t\tPositionUpOrDown(caretToUse, direction, -1), direction);\n\t\tSetSelection(posNew, sel.Range(sel.Main()).anchor);\n\t} else {\n\t\tInvalidateWholeSelection();\n\t\tif (!additionalSelectionTyping || (sel.IsRectangular())) {\n\t\t\tsel.DropAdditionalRanges();\n\t\t}\n\t\tsel.selType = Selection::selStream;\n\t\tfor (size_t r = 0; r < sel.Count(); r++) {\n\t\t\tconst int lastX = (r == sel.Main()) ? lastXChosen : -1;\n\t\t\tconst SelectionPosition spCaretNow = sel.Range(r).caret;\n\t\t\tconst SelectionPosition posNew = MovePositionSoVisible(\n\t\t\t\tPositionUpOrDown(spCaretNow, direction, lastX), direction);\n\t\t\tsel.Range(r) = selt == Selection::selStream ?\n\t\t\t\tSelectionRange(posNew, sel.Range(r).anchor) : SelectionRange(posNew);\n\t\t}\n\t\tsel.RemoveDuplicates();\n\t\tMovedCaret(sel.RangeMain().caret, caretToUse, true);\n\t}\n}\n\nvoid Editor::ParaUpOrDown(int direction, Selection::selTypes selt) {\n\tSci::Line lineDoc;\n\tconst Sci::Position savedPos = sel.MainCaret();\n\tdo {\n\t\tMovePositionTo(SelectionPosition(direction > 0 ? pdoc->ParaDown(sel.MainCaret()) : pdoc->ParaUp(sel.MainCaret())), selt);\n\t\tlineDoc = pdoc->SciLineFromPosition(sel.MainCaret());\n\t\tif (direction > 0) {\n\t\t\tif (sel.MainCaret() >= pdoc->Length() && !pcs->GetVisible(lineDoc)) {\n\t\t\t\tif (selt == Selection::noSel) {\n\t\t\t\t\tMovePositionTo(SelectionPosition(pdoc->LineEndPosition(savedPos)));\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} while (!pcs->GetVisible(lineDoc));\n}\n\nRange Editor::RangeDisplayLine(Sci::Line lineVisible) {\n\tRefreshStyleData();\n\tAutoSurface surface(this);\n\treturn view.RangeDisplayLine(surface, *this, lineVisible, vs);\n}\n\nSci::Position Editor::StartEndDisplayLine(Sci::Position pos, bool start) {\n\tRefreshStyleData();\n\tAutoSurface surface(this);\n\tconst Sci::Position posRet = view.StartEndDisplayLine(surface, *this, pos, start, vs);\n\tif (posRet == INVALID_POSITION) {\n\t\treturn pos;\n\t} else {\n\t\treturn posRet;\n\t}\n}\n\nnamespace {\n\nconstexpr short HighShortFromWParam(uptr_t x) {\n\treturn static_cast<short>(x >> 16);\n}\n\nconstexpr short LowShortFromWParam(uptr_t x) {\n\treturn static_cast<short>(x & 0xffff);\n}\n\nunsigned int WithExtends(unsigned int iMessage) {\n\tswitch (iMessage) {\n\tcase SCI_CHARLEFT: return SCI_CHARLEFTEXTEND;\n\tcase SCI_CHARRIGHT: return SCI_CHARRIGHTEXTEND;\n\n\tcase SCI_WORDLEFT: return SCI_WORDLEFTEXTEND;\n\tcase SCI_WORDRIGHT: return SCI_WORDRIGHTEXTEND;\n\tcase SCI_WORDLEFTEND: return SCI_WORDLEFTENDEXTEND;\n\tcase SCI_WORDRIGHTEND: return SCI_WORDRIGHTENDEXTEND;\n\tcase SCI_WORDPARTLEFT: return SCI_WORDPARTLEFTEXTEND;\n\tcase SCI_WORDPARTRIGHT: return SCI_WORDPARTRIGHTEXTEND;\n\n\tcase SCI_HOME: return SCI_HOMEEXTEND;\n\tcase SCI_HOMEDISPLAY: return SCI_HOMEDISPLAYEXTEND;\n\tcase SCI_HOMEWRAP: return SCI_HOMEWRAPEXTEND;\n\tcase SCI_VCHOME: return SCI_VCHOMEEXTEND;\n\tcase SCI_VCHOMEDISPLAY: return SCI_VCHOMEDISPLAYEXTEND;\n\tcase SCI_VCHOMEWRAP: return SCI_VCHOMEWRAPEXTEND;\n\n\tcase SCI_LINEEND: return SCI_LINEENDEXTEND;\n\tcase SCI_LINEENDDISPLAY: return SCI_LINEENDDISPLAYEXTEND;\n\tcase SCI_LINEENDWRAP: return SCI_LINEENDWRAPEXTEND;\n\n\tdefault:\treturn iMessage;\n\t}\n}\n\nint NaturalDirection(unsigned int iMessage) {\n\tswitch (iMessage) {\n\tcase SCI_CHARLEFT:\n\tcase SCI_CHARLEFTEXTEND:\n\tcase SCI_CHARLEFTRECTEXTEND:\n\tcase SCI_WORDLEFT:\n\tcase SCI_WORDLEFTEXTEND:\n\tcase SCI_WORDLEFTEND:\n\tcase SCI_WORDLEFTENDEXTEND:\n\tcase SCI_WORDPARTLEFT:\n\tcase SCI_WORDPARTLEFTEXTEND:\n\tcase SCI_HOME:\n\tcase SCI_HOMEEXTEND:\n\tcase SCI_HOMEDISPLAY:\n\tcase SCI_HOMEDISPLAYEXTEND:\n\tcase SCI_HOMEWRAP:\n\tcase SCI_HOMEWRAPEXTEND:\n\t\t// VC_HOME* mostly goes back\n\tcase SCI_VCHOME:\n\tcase SCI_VCHOMEEXTEND:\n\tcase SCI_VCHOMEDISPLAY:\n\tcase SCI_VCHOMEDISPLAYEXTEND:\n\tcase SCI_VCHOMEWRAP:\n\tcase SCI_VCHOMEWRAPEXTEND:\n\t\treturn -1;\n\n\tdefault:\n\t\treturn 1;\n\t}\n}\n\nbool IsRectExtend(unsigned int iMessage, bool isRectMoveExtends) {\n\tswitch (iMessage) {\n\tcase SCI_CHARLEFTRECTEXTEND:\n\tcase SCI_CHARRIGHTRECTEXTEND:\n\tcase SCI_HOMERECTEXTEND:\n\tcase SCI_VCHOMERECTEXTEND:\n\tcase SCI_LINEENDRECTEXTEND:\n\t\treturn true;\n\tdefault:\n\t\tif (isRectMoveExtends) {\n\t\t\t// Handle SCI_SETSELECTIONMODE(SC_SEL_RECTANGLE) and subsequent movements.\n\t\t\tswitch (iMessage) {\n\t\t\tcase SCI_CHARLEFTEXTEND:\n\t\t\tcase SCI_CHARRIGHTEXTEND:\n\t\t\tcase SCI_HOMEEXTEND:\n\t\t\tcase SCI_VCHOMEEXTEND:\n\t\t\tcase SCI_LINEENDEXTEND:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n\n}\n\nSci::Position Editor::VCHomeDisplayPosition(Sci::Position position) {\n\tconst Sci::Position homePos = pdoc->VCHomePosition(position);\n\tconst Sci::Position viewLineStart = StartEndDisplayLine(position, true);\n\tif (viewLineStart > homePos)\n\t\treturn viewLineStart;\n\telse\n\t\treturn homePos;\n}\n\nSci::Position Editor::VCHomeWrapPosition(Sci::Position position) {\n\tconst Sci::Position homePos = pdoc->VCHomePosition(position);\n\tconst Sci::Position viewLineStart = StartEndDisplayLine(position, true);\n\tif ((viewLineStart < position) && (viewLineStart > homePos))\n\t\treturn viewLineStart;\n\telse\n\t\treturn homePos;\n}\n\nSci::Position Editor::LineEndWrapPosition(Sci::Position position) {\n\tconst Sci::Position endPos = StartEndDisplayLine(position, false);\n\tconst Sci::Position realEndPos = pdoc->LineEndPosition(position);\n\tif (endPos > realEndPos      // if moved past visible EOLs\n\t\t|| position >= endPos) // if at end of display line already\n\t\treturn realEndPos;\n\telse\n\t\treturn endPos;\n}\n\nint Editor::HorizontalMove(unsigned int iMessage) {\n\tif (sel.selType == Selection::selLines) {\n\t\treturn 0; // horizontal moves with line selection have no effect\n\t}\n\tif (sel.MoveExtends()) {\n\t\tiMessage = WithExtends(iMessage);\n\t}\n\n\tif (!multipleSelection && !sel.IsRectangular()) {\n\t\t// Simplify selection down to 1\n\t\tsel.SetSelection(sel.RangeMain());\n\t}\n\n\t// Invalidate each of the current selections\n\tInvalidateWholeSelection();\n\n\tif (IsRectExtend(iMessage, sel.IsRectangular() && sel.MoveExtends())) {\n\t\tconst SelectionRange rangeBase = sel.IsRectangular() ? sel.Rectangular() : sel.RangeMain();\n\t\tif (!sel.IsRectangular()) {\n\t\t\tsel.DropAdditionalRanges();\n\t\t}\n\t\t// Will change to rectangular if not currently rectangular\n\t\tSelectionPosition spCaret = rangeBase.caret;\n\t\tswitch (iMessage) {\n\t\tcase SCI_CHARLEFTRECTEXTEND:\n\t\tcase SCI_CHARLEFTEXTEND: // only when sel.IsRectangular() && sel.MoveExtends()\n\t\t\tif (pdoc->IsLineEndPosition(spCaret.Position()) && spCaret.VirtualSpace()) {\n\t\t\t\tspCaret.SetVirtualSpace(spCaret.VirtualSpace() - 1);\n\t\t\t} else if ((virtualSpaceOptions & SCVS_NOWRAPLINESTART) == 0 || pdoc->GetColumn(spCaret.Position()) > 0) {\n\t\t\t\tspCaret = SelectionPosition(spCaret.Position() - 1);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCI_CHARRIGHTRECTEXTEND:\n\t\tcase SCI_CHARRIGHTEXTEND: // only when sel.IsRectangular() && sel.MoveExtends()\n\t\t\tif ((virtualSpaceOptions & SCVS_RECTANGULARSELECTION) && pdoc->IsLineEndPosition(sel.MainCaret())) {\n\t\t\t\tspCaret.SetVirtualSpace(spCaret.VirtualSpace() + 1);\n\t\t\t} else {\n\t\t\t\tspCaret = SelectionPosition(spCaret.Position() + 1);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SCI_HOMERECTEXTEND:\n\t\tcase SCI_HOMEEXTEND: // only when sel.IsRectangular() && sel.MoveExtends()\n\t\t\tspCaret = SelectionPosition(\n\t\t\t\tpdoc->LineStart(pdoc->LineFromPosition(spCaret.Position())));\n\t\t\tbreak;\n\t\tcase SCI_VCHOMERECTEXTEND:\n\t\tcase SCI_VCHOMEEXTEND: // only when sel.IsRectangular() && sel.MoveExtends()\n\t\t\tspCaret = SelectionPosition(pdoc->VCHomePosition(spCaret.Position()));\n\t\t\tbreak;\n\t\tcase SCI_LINEENDRECTEXTEND:\n\t\tcase SCI_LINEENDEXTEND: // only when sel.IsRectangular() && sel.MoveExtends()\n\t\t\tspCaret = SelectionPosition(pdoc->LineEndPosition(spCaret.Position()));\n\t\t\tbreak;\n\t\t}\n\t\tconst int directionMove = (spCaret < rangeBase.caret) ? -1 : 1;\n\t\tspCaret = MovePositionSoVisible(spCaret, directionMove);\n\t\tsel.selType = Selection::selRectangle;\n\t\tsel.Rectangular() = SelectionRange(spCaret, rangeBase.anchor);\n\t\tSetRectangularRange();\n\t} else if (sel.IsRectangular()) {\n\t\t// Not a rectangular extension so switch to stream.\n\t\tSelectionPosition selAtLimit = (NaturalDirection(iMessage) > 0) ? sel.Limits().end : sel.Limits().start;\n\t\tswitch (iMessage) {\n\t\tcase SCI_HOME:\n\t\t\tselAtLimit = SelectionPosition(\n\t\t\t\tpdoc->LineStart(pdoc->LineFromPosition(selAtLimit.Position())));\n\t\t\tbreak;\n\t\tcase SCI_VCHOME:\n\t\t\tselAtLimit = SelectionPosition(pdoc->VCHomePosition(selAtLimit.Position()));\n\t\t\tbreak;\n\t\tcase SCI_LINEEND:\n\t\t\tselAtLimit = SelectionPosition(pdoc->LineEndPosition(selAtLimit.Position()));\n\t\t\tbreak;\n\t\t}\n\t\tsel.selType = Selection::selStream;\n\t\tsel.SetSelection(SelectionRange(selAtLimit));\n\t} else {\n\t\tif (!additionalSelectionTyping) {\n\t\t\tInvalidateWholeSelection();\n\t\t\tsel.DropAdditionalRanges();\n\t\t}\n\t\tfor (size_t r = 0; r < sel.Count(); r++) {\n\t\t\tconst SelectionPosition spCaretNow = sel.Range(r).caret;\n\t\t\tSelectionPosition spCaret = spCaretNow;\n\t\t\tswitch (iMessage) {\n\t\t\tcase SCI_CHARLEFT:\n\t\t\tcase SCI_CHARLEFTEXTEND:\n\t\t\t\tif (spCaret.VirtualSpace()) {\n\t\t\t\t\tspCaret.SetVirtualSpace(spCaret.VirtualSpace() - 1);\n\t\t\t\t} else if ((virtualSpaceOptions & SCVS_NOWRAPLINESTART) == 0 || pdoc->GetColumn(spCaret.Position()) > 0) {\n\t\t\t\t\tspCaret = SelectionPosition(spCaret.Position() - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCI_CHARRIGHT:\n\t\t\tcase SCI_CHARRIGHTEXTEND:\n\t\t\t\tif ((virtualSpaceOptions & SCVS_USERACCESSIBLE) && pdoc->IsLineEndPosition(spCaret.Position())) {\n\t\t\t\t\tspCaret.SetVirtualSpace(spCaret.VirtualSpace() + 1);\n\t\t\t\t} else {\n\t\t\t\t\tspCaret = SelectionPosition(spCaret.Position() + 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCI_WORDLEFT:\n\t\t\tcase SCI_WORDLEFTEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->NextWordStart(spCaret.Position(), -1));\n\t\t\t\tbreak;\n\t\t\tcase SCI_WORDRIGHT:\n\t\t\tcase SCI_WORDRIGHTEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->NextWordStart(spCaret.Position(), 1));\n\t\t\t\tbreak;\n\t\t\tcase SCI_WORDLEFTEND:\n\t\t\tcase SCI_WORDLEFTENDEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->NextWordEnd(spCaret.Position(), -1));\n\t\t\t\tbreak;\n\t\t\tcase SCI_WORDRIGHTEND:\n\t\t\tcase SCI_WORDRIGHTENDEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->NextWordEnd(spCaret.Position(), 1));\n\t\t\t\tbreak;\n\t\t\tcase SCI_WORDPARTLEFT:\n\t\t\tcase SCI_WORDPARTLEFTEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->WordPartLeft(spCaret.Position()));\n\t\t\t\tbreak;\n\t\t\tcase SCI_WORDPARTRIGHT:\n\t\t\tcase SCI_WORDPARTRIGHTEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->WordPartRight(spCaret.Position()));\n\t\t\t\tbreak;\n\t\t\tcase SCI_HOME:\n\t\t\tcase SCI_HOMEEXTEND:\n\t\t\t\tspCaret = SelectionPosition(\n\t\t\t\t\tpdoc->LineStart(pdoc->LineFromPosition(spCaret.Position())));\n\t\t\t\tbreak;\n\t\t\tcase SCI_HOMEDISPLAY:\n\t\t\tcase SCI_HOMEDISPLAYEXTEND:\n\t\t\t\tspCaret = SelectionPosition(StartEndDisplayLine(spCaret.Position(), true));\n\t\t\t\tbreak;\n\t\t\tcase SCI_HOMEWRAP:\n\t\t\tcase SCI_HOMEWRAPEXTEND:\n\t\t\t\tspCaret = MovePositionSoVisible(StartEndDisplayLine(spCaret.Position(), true), -1);\n\t\t\t\tif (spCaretNow <= spCaret)\n\t\t\t\t\tspCaret = SelectionPosition(\n\t\t\t\t\t\tpdoc->LineStart(pdoc->LineFromPosition(spCaret.Position())));\n\t\t\t\tbreak;\n\t\t\tcase SCI_VCHOME:\n\t\t\tcase SCI_VCHOMEEXTEND:\n\t\t\t\t// VCHome alternates between beginning of line and beginning of text so may move back or forwards\n\t\t\t\tspCaret = SelectionPosition(pdoc->VCHomePosition(spCaret.Position()));\n\t\t\t\tbreak;\n\t\t\tcase SCI_VCHOMEDISPLAY:\n\t\t\tcase SCI_VCHOMEDISPLAYEXTEND:\n\t\t\t\tspCaret = SelectionPosition(VCHomeDisplayPosition(spCaret.Position()));\n\t\t\t\tbreak;\n\t\t\tcase SCI_VCHOMEWRAP:\n\t\t\tcase SCI_VCHOMEWRAPEXTEND:\n\t\t\t\tspCaret = SelectionPosition(VCHomeWrapPosition(spCaret.Position()));\n\t\t\t\tbreak;\n\t\t\tcase SCI_LINEEND:\n\t\t\tcase SCI_LINEENDEXTEND:\n\t\t\t\tspCaret = SelectionPosition(pdoc->LineEndPosition(spCaret.Position()));\n\t\t\t\tbreak;\n\t\t\tcase SCI_LINEENDDISPLAY:\n\t\t\tcase SCI_LINEENDDISPLAYEXTEND:\n\t\t\t\tspCaret = SelectionPosition(StartEndDisplayLine(spCaret.Position(), false));\n\t\t\t\tbreak;\n\t\t\tcase SCI_LINEENDWRAP:\n\t\t\tcase SCI_LINEENDWRAPEXTEND:\n\t\t\t\tspCaret = SelectionPosition(LineEndWrapPosition(spCaret.Position()));\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tPLATFORM_ASSERT(false);\n\t\t\t}\n\n\t\t\tconst int directionMove = (spCaret < spCaretNow) ? -1 : 1;\n\t\t\tspCaret = MovePositionSoVisible(spCaret, directionMove);\n\n\t\t\t// Handle move versus extend, and special behaviour for non-empty left/right\n\t\t\tswitch (iMessage) {\n\t\t\tcase SCI_CHARLEFT:\n\t\t\tcase SCI_CHARRIGHT:\n\t\t\t\tif (sel.Range(r).Empty()) {\n\t\t\t\t\tsel.Range(r) = SelectionRange(spCaret);\n\t\t\t\t} else {\n\t\t\t\t\tsel.Range(r) = SelectionRange(\n\t\t\t\t\t\t(iMessage == SCI_CHARLEFT) ? sel.Range(r).Start() : sel.Range(r).End());\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase SCI_WORDLEFT:\n\t\t\tcase SCI_WORDRIGHT:\n\t\t\tcase SCI_WORDLEFTEND:\n\t\t\tcase SCI_WORDRIGHTEND:\n\t\t\tcase SCI_WORDPARTLEFT:\n\t\t\tcase SCI_WORDPARTRIGHT:\n\t\t\tcase SCI_HOME:\n\t\t\tcase SCI_HOMEDISPLAY:\n\t\t\tcase SCI_HOMEWRAP:\n\t\t\tcase SCI_VCHOME:\n\t\t\tcase SCI_VCHOMEDISPLAY:\n\t\t\tcase SCI_VCHOMEWRAP:\n\t\t\tcase SCI_LINEEND:\n\t\t\tcase SCI_LINEENDDISPLAY:\n\t\t\tcase SCI_LINEENDWRAP:\n\t\t\t\tsel.Range(r) = SelectionRange(spCaret);\n\t\t\t\tbreak;\n\n\t\t\tcase SCI_CHARLEFTEXTEND:\n\t\t\tcase SCI_CHARRIGHTEXTEND:\n\t\t\tcase SCI_WORDLEFTEXTEND:\n\t\t\tcase SCI_WORDRIGHTEXTEND:\n\t\t\tcase SCI_WORDLEFTENDEXTEND:\n\t\t\tcase SCI_WORDRIGHTENDEXTEND:\n\t\t\tcase SCI_WORDPARTLEFTEXTEND:\n\t\t\tcase SCI_WORDPARTRIGHTEXTEND:\n\t\t\tcase SCI_HOMEEXTEND:\n\t\t\tcase SCI_HOMEDISPLAYEXTEND:\n\t\t\tcase SCI_HOMEWRAPEXTEND:\n\t\t\tcase SCI_VCHOMEEXTEND:\n\t\t\tcase SCI_VCHOMEDISPLAYEXTEND:\n\t\t\tcase SCI_VCHOMEWRAPEXTEND:\n\t\t\tcase SCI_LINEENDEXTEND:\n\t\t\tcase SCI_LINEENDDISPLAYEXTEND:\n\t\t\tcase SCI_LINEENDWRAPEXTEND: {\n\t\t\t\tSelectionRange rangeNew = SelectionRange(spCaret, sel.Range(r).anchor);\n\t\t\t\tsel.TrimOtherSelections(r, SelectionRange(rangeNew));\n\t\t\t\tsel.Range(r) = rangeNew;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tPLATFORM_ASSERT(false);\n\t\t\t}\n\t\t}\n\t}\n\n\tsel.RemoveDuplicates();\n\n\tMovedCaret(sel.RangeMain().caret, SelectionPosition(INVALID_POSITION), true);\n\n\t// Invalidate the new state of the selection\n\tInvalidateWholeSelection();\n\n\tSetLastXChosen();\n\t// Need the line moving and so forth from MovePositionTo\n\treturn 0;\n}\n\nint Editor::DelWordOrLine(unsigned int iMessage) {\n\t// Virtual space may be realised for SCI_DELWORDRIGHT or SCI_DELWORDRIGHTEND\n\t// which means 2 actions so wrap in an undo group.\n\n\t// Rightwards and leftwards deletions differ in treatment of virtual space.\n\t// Clear virtual space for leftwards, realise for rightwards.\n\tconst bool leftwards = (iMessage == SCI_DELWORDLEFT) || (iMessage == SCI_DELLINELEFT);\n\n\tif (!additionalSelectionTyping) {\n\t\tInvalidateWholeSelection();\n\t\tsel.DropAdditionalRanges();\n\t}\n\n\tUndoGroup ug0(pdoc, (sel.Count() > 1) || !leftwards);\n\n\tfor (size_t r = 0; r < sel.Count(); r++) {\n\t\tif (leftwards) {\n\t\t\t// Delete to the left so first clear the virtual space.\n\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t} else {\n\t\t\t// Delete to the right so first realise the virtual space.\n\t\t\tsel.Range(r) = SelectionRange(\n\t\t\t\tRealizeVirtualSpace(sel.Range(r).caret));\n\t\t}\n\n\t\tRange rangeDelete;\n\t\tswitch (iMessage) {\n\t\tcase SCI_DELWORDLEFT:\n\t\t\trangeDelete = Range(\n\t\t\t\tpdoc->NextWordStart(sel.Range(r).caret.Position(), -1),\n\t\t\t\tsel.Range(r).caret.Position());\n\t\t\tbreak;\n\t\tcase SCI_DELWORDRIGHT:\n\t\t\trangeDelete = Range(\n\t\t\t\tsel.Range(r).caret.Position(),\n\t\t\t\tpdoc->NextWordStart(sel.Range(r).caret.Position(), 1));\n\t\t\tbreak;\n\t\tcase SCI_DELWORDRIGHTEND:\n\t\t\trangeDelete = Range(\n\t\t\t\tsel.Range(r).caret.Position(),\n\t\t\t\tpdoc->NextWordEnd(sel.Range(r).caret.Position(), 1));\n\t\t\tbreak;\n\t\tcase SCI_DELLINELEFT:\n\t\t\trangeDelete = Range(\n\t\t\t\tpdoc->LineStart(pdoc->LineFromPosition(sel.Range(r).caret.Position())),\n\t\t\t\tsel.Range(r).caret.Position());\n\t\t\tbreak;\n\t\tcase SCI_DELLINERIGHT:\n\t\t\trangeDelete = Range(\n\t\t\t\tsel.Range(r).caret.Position(),\n\t\t\t\tpdoc->LineEnd(pdoc->LineFromPosition(sel.Range(r).caret.Position())));\n\t\t\tbreak;\n\t\t}\n\t\tif (!RangeContainsProtected(rangeDelete.start, rangeDelete.end)) {\n\t\t\tpdoc->DeleteChars(rangeDelete.start, rangeDelete.end - rangeDelete.start);\n\t\t}\n\t}\n\n\t// May need something stronger here: can selections overlap at this point?\n\tsel.RemoveDuplicates();\n\n\tMovedCaret(sel.RangeMain().caret, SelectionPosition(INVALID_POSITION), true);\n\n\t// Invalidate the new state of the selection\n\tInvalidateWholeSelection();\n\n\tSetLastXChosen();\n\treturn 0;\n}\n\nint Editor::KeyCommand(unsigned int iMessage) {\n\tswitch (iMessage) {\n\tcase SCI_LINEDOWN:\n\t\tCursorUpOrDown(1, Selection::noSel);\n\t\tbreak;\n\tcase SCI_LINEDOWNEXTEND:\n\t\tCursorUpOrDown(1, Selection::selStream);\n\t\tbreak;\n\tcase SCI_LINEDOWNRECTEXTEND:\n\t\tCursorUpOrDown(1, Selection::selRectangle);\n\t\tbreak;\n\tcase SCI_PARADOWN:\n\t\tParaUpOrDown(1, Selection::noSel);\n\t\tbreak;\n\tcase SCI_PARADOWNEXTEND:\n\t\tParaUpOrDown(1, Selection::selStream);\n\t\tbreak;\n\tcase SCI_LINESCROLLDOWN:\n\t\tScrollTo(topLine + 1);\n\t\tMoveCaretInsideView(false);\n\t\tbreak;\n\tcase SCI_LINEUP:\n\t\tCursorUpOrDown(-1, Selection::noSel);\n\t\tbreak;\n\tcase SCI_LINEUPEXTEND:\n\t\tCursorUpOrDown(-1, Selection::selStream);\n\t\tbreak;\n\tcase SCI_LINEUPRECTEXTEND:\n\t\tCursorUpOrDown(-1, Selection::selRectangle);\n\t\tbreak;\n\tcase SCI_PARAUP:\n\t\tParaUpOrDown(-1, Selection::noSel);\n\t\tbreak;\n\tcase SCI_PARAUPEXTEND:\n\t\tParaUpOrDown(-1, Selection::selStream);\n\t\tbreak;\n\tcase SCI_LINESCROLLUP:\n\t\tScrollTo(topLine - 1);\n\t\tMoveCaretInsideView(false);\n\t\tbreak;\n\n\tcase SCI_CHARLEFT:\n\tcase SCI_CHARLEFTEXTEND:\n\tcase SCI_CHARLEFTRECTEXTEND:\n\tcase SCI_CHARRIGHT:\n\tcase SCI_CHARRIGHTEXTEND:\n\tcase SCI_CHARRIGHTRECTEXTEND:\n\tcase SCI_WORDLEFT:\n\tcase SCI_WORDLEFTEXTEND:\n\tcase SCI_WORDRIGHT:\n\tcase SCI_WORDRIGHTEXTEND:\n\tcase SCI_WORDLEFTEND:\n\tcase SCI_WORDLEFTENDEXTEND:\n\tcase SCI_WORDRIGHTEND:\n\tcase SCI_WORDRIGHTENDEXTEND:\n\tcase SCI_WORDPARTLEFT:\n\tcase SCI_WORDPARTLEFTEXTEND:\n\tcase SCI_WORDPARTRIGHT:\n\tcase SCI_WORDPARTRIGHTEXTEND:\n\tcase SCI_HOME:\n\tcase SCI_HOMEEXTEND:\n\tcase SCI_HOMERECTEXTEND:\n\tcase SCI_HOMEDISPLAY:\n\tcase SCI_HOMEDISPLAYEXTEND:\n\tcase SCI_HOMEWRAP:\n\tcase SCI_HOMEWRAPEXTEND:\n\tcase SCI_VCHOME:\n\tcase SCI_VCHOMEEXTEND:\n\tcase SCI_VCHOMERECTEXTEND:\n\tcase SCI_VCHOMEDISPLAY:\n\tcase SCI_VCHOMEDISPLAYEXTEND:\n\tcase SCI_VCHOMEWRAP:\n\tcase SCI_VCHOMEWRAPEXTEND:\n\tcase SCI_LINEEND:\n\tcase SCI_LINEENDEXTEND:\n\tcase SCI_LINEENDRECTEXTEND:\n\tcase SCI_LINEENDDISPLAY:\n\tcase SCI_LINEENDDISPLAYEXTEND:\n\tcase SCI_LINEENDWRAP:\n\tcase SCI_LINEENDWRAPEXTEND:\n\t\treturn HorizontalMove(iMessage);\n\n\tcase SCI_DOCUMENTSTART:\n\t\tMovePositionTo(0);\n\t\tSetLastXChosen();\n\t\tbreak;\n\tcase SCI_DOCUMENTSTARTEXTEND:\n\t\tMovePositionTo(0, Selection::selStream);\n\t\tSetLastXChosen();\n\t\tbreak;\n\tcase SCI_DOCUMENTEND:\n\t\tMovePositionTo(pdoc->Length());\n\t\tSetLastXChosen();\n\t\tbreak;\n\tcase SCI_DOCUMENTENDEXTEND:\n\t\tMovePositionTo(pdoc->Length(), Selection::selStream);\n\t\tSetLastXChosen();\n\t\tbreak;\n\tcase SCI_STUTTEREDPAGEUP:\n\t\tPageMove(-1, Selection::noSel, true);\n\t\tbreak;\n\tcase SCI_STUTTEREDPAGEUPEXTEND:\n\t\tPageMove(-1, Selection::selStream, true);\n\t\tbreak;\n\tcase SCI_STUTTEREDPAGEDOWN:\n\t\tPageMove(1, Selection::noSel, true);\n\t\tbreak;\n\tcase SCI_STUTTEREDPAGEDOWNEXTEND:\n\t\tPageMove(1, Selection::selStream, true);\n\t\tbreak;\n\tcase SCI_PAGEUP:\n\t\tPageMove(-1);\n\t\tbreak;\n\tcase SCI_PAGEUPEXTEND:\n\t\tPageMove(-1, Selection::selStream);\n\t\tbreak;\n\tcase SCI_PAGEUPRECTEXTEND:\n\t\tPageMove(-1, Selection::selRectangle);\n\t\tbreak;\n\tcase SCI_PAGEDOWN:\n\t\tPageMove(1);\n\t\tbreak;\n\tcase SCI_PAGEDOWNEXTEND:\n\t\tPageMove(1, Selection::selStream);\n\t\tbreak;\n\tcase SCI_PAGEDOWNRECTEXTEND:\n\t\tPageMove(1, Selection::selRectangle);\n\t\tbreak;\n\tcase SCI_EDITTOGGLEOVERTYPE:\n\t\tinOverstrike = !inOverstrike;\n\t\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t\tShowCaretAtCurrentPosition();\n\t\tbreak;\n\tcase SCI_CANCEL:            \t// Cancel any modes - handled in subclass\n\t\t// Also unselect text\n\t\tCancelModes();\n\t\tif ((sel.Count() > 1) && !sel.IsRectangular()) {\n\t\t\t// Drop additional selections\n\t\t\tInvalidateWholeSelection();\n\t\t\tsel.DropAdditionalRanges();\n\t\t}\n\t\tbreak;\n\tcase SCI_DELETEBACK:\n\t\tDelCharBack(true);\n\t\tif ((caretSticky == SC_CARETSTICKY_OFF) || (caretSticky == SC_CARETSTICKY_WHITESPACE)) {\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tEnsureCaretVisible();\n\t\tbreak;\n\tcase SCI_DELETEBACKNOTLINE:\n\t\tDelCharBack(false);\n\t\tif ((caretSticky == SC_CARETSTICKY_OFF) || (caretSticky == SC_CARETSTICKY_WHITESPACE)) {\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tEnsureCaretVisible();\n\t\tbreak;\n\tcase SCI_TAB:\n\t\tIndent(true);\n\t\tif (caretSticky == SC_CARETSTICKY_OFF) {\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tEnsureCaretVisible();\n\t\tShowCaretAtCurrentPosition();\t\t// Avoid blinking\n\t\tbreak;\n\tcase SCI_BACKTAB:\n\t\tIndent(false);\n\t\tif ((caretSticky == SC_CARETSTICKY_OFF) || (caretSticky == SC_CARETSTICKY_WHITESPACE)) {\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tEnsureCaretVisible();\n\t\tShowCaretAtCurrentPosition();\t\t// Avoid blinking\n\t\tbreak;\n\tcase SCI_NEWLINE:\n\t\tNewLine();\n\t\tbreak;\n\tcase SCI_FORMFEED:\n\t\tAddChar('\\f');\n\t\tbreak;\n\tcase SCI_ZOOMIN:\n\t\tif (vs.zoomLevel < 20) {\n\t\t\tvs.zoomLevel++;\n\t\t\tInvalidateStyleRedraw();\n\t\t\tNotifyZoom();\n\t\t}\n\t\tbreak;\n\tcase SCI_ZOOMOUT:\n\t\tif (vs.zoomLevel > -10) {\n\t\t\tvs.zoomLevel--;\n\t\t\tInvalidateStyleRedraw();\n\t\t\tNotifyZoom();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_DELWORDLEFT:\n\tcase SCI_DELWORDRIGHT:\n\tcase SCI_DELWORDRIGHTEND:\n\tcase SCI_DELLINELEFT:\n\tcase SCI_DELLINERIGHT:\n\t\treturn DelWordOrLine(iMessage);\n\n\tcase SCI_LINECOPY: {\n\t\t\tconst Sci::Line lineStart = pdoc->SciLineFromPosition(SelectionStart().Position());\n\t\t\tconst Sci::Line lineEnd = pdoc->SciLineFromPosition(SelectionEnd().Position());\n\t\t\tCopyRangeToClipboard(pdoc->LineStart(lineStart),\n\t\t\t\tpdoc->LineStart(lineEnd + 1));\n\t\t}\n\t\tbreak;\n\tcase SCI_LINECUT: {\n\t\t\tconst Sci::Line lineStart = pdoc->SciLineFromPosition(SelectionStart().Position());\n\t\t\tconst Sci::Line lineEnd = pdoc->SciLineFromPosition(SelectionEnd().Position());\n\t\t\tconst Sci::Position start = pdoc->LineStart(lineStart);\n\t\t\tconst Sci::Position end = pdoc->LineStart(lineEnd + 1);\n\t\t\tSetSelection(start, end);\n\t\t\tCut();\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tbreak;\n\tcase SCI_LINEDELETE: {\n\t\t\tconst Sci::Line line = pdoc->SciLineFromPosition(sel.MainCaret());\n\t\t\tconst Sci::Position start = pdoc->LineStart(line);\n\t\t\tconst Sci::Position end = pdoc->LineStart(line + 1);\n\t\t\tpdoc->DeleteChars(start, end - start);\n\t\t}\n\t\tbreak;\n\tcase SCI_LINETRANSPOSE:\n\t\tLineTranspose();\n\t\tbreak;\n\tcase SCI_LINEREVERSE:\n\t\tLineReverse();\n\t\tbreak;\n\tcase SCI_LINEDUPLICATE:\n\t\tDuplicate(true);\n\t\tbreak;\n\tcase SCI_SELECTIONDUPLICATE:\n\t\tDuplicate(false);\n\t\tbreak;\n\tcase SCI_LOWERCASE:\n\t\tChangeCaseOfSelection(cmLower);\n\t\tbreak;\n\tcase SCI_UPPERCASE:\n\t\tChangeCaseOfSelection(cmUpper);\n\t\tbreak;\n\tcase SCI_SCROLLTOSTART:\n\t\tScrollTo(0);\n\t\tbreak;\n\tcase SCI_SCROLLTOEND:\n\t\tScrollTo(MaxScrollPos());\n\t\tbreak;\n\t}\n\treturn 0;\n}\n\nint Editor::KeyDefault(int, int) {\n\treturn 0;\n}\n\nint Editor::KeyDownWithModifiers(int key, int modifiers, bool *consumed) {\n\tDwellEnd(false);\n\tconst int msg = kmap.Find(key, modifiers);\n\tif (msg) {\n\t\tif (consumed)\n\t\t\t*consumed = true;\n\t\treturn static_cast<int>(WndProc(msg, 0, 0));\n\t} else {\n\t\tif (consumed)\n\t\t\t*consumed = false;\n\t\treturn KeyDefault(key, modifiers);\n\t}\n}\n\nvoid Editor::Indent(bool forwards) {\n\tUndoGroup ug(pdoc);\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tconst Sci::Line lineOfAnchor =\n\t\t\tpdoc->SciLineFromPosition(sel.Range(r).anchor.Position());\n\t\tSci::Position caretPosition = sel.Range(r).caret.Position();\n\t\tconst Sci::Line lineCurrentPos = pdoc->SciLineFromPosition(caretPosition);\n\t\tif (lineOfAnchor == lineCurrentPos) {\n\t\t\tif (forwards) {\n\t\t\t\tpdoc->DeleteChars(sel.Range(r).Start().Position(), sel.Range(r).Length());\n\t\t\t\tcaretPosition = sel.Range(r).caret.Position();\n\t\t\t\tif (pdoc->GetColumn(caretPosition) <= pdoc->GetColumn(pdoc->GetLineIndentPosition(lineCurrentPos)) &&\n\t\t\t\t\t\tpdoc->tabIndents) {\n\t\t\t\t\tconst int indentation = pdoc->GetLineIndentation(lineCurrentPos);\n\t\t\t\t\tconst int indentationStep = pdoc->IndentSize();\n\t\t\t\t\tconst Sci::Position posSelect = pdoc->SetLineIndentation(\n\t\t\t\t\t\tlineCurrentPos, indentation + indentationStep - indentation % indentationStep);\n\t\t\t\t\tsel.Range(r) = SelectionRange(posSelect);\n\t\t\t\t} else {\n\t\t\t\t\tif (pdoc->useTabs) {\n\t\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(caretPosition, \"\\t\", 1);\n\t\t\t\t\t\tsel.Range(r) = SelectionRange(caretPosition + lengthInserted);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tint numSpaces = (pdoc->tabInChars) -\n\t\t\t\t\t\t\t\t(pdoc->GetColumn(caretPosition) % (pdoc->tabInChars));\n\t\t\t\t\t\tif (numSpaces < 1)\n\t\t\t\t\t\t\tnumSpaces = pdoc->tabInChars;\n\t\t\t\t\t\tconst std::string spaceText(numSpaces, ' ');\n\t\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(caretPosition, spaceText.c_str(),\n\t\t\t\t\t\t\tspaceText.length());\n\t\t\t\t\t\tsel.Range(r) = SelectionRange(caretPosition + lengthInserted);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (pdoc->GetColumn(caretPosition) <= pdoc->GetLineIndentation(lineCurrentPos) &&\n\t\t\t\t\t\tpdoc->tabIndents) {\n\t\t\t\t\tconst int indentation = pdoc->GetLineIndentation(lineCurrentPos);\n\t\t\t\t\tconst int indentationStep = pdoc->IndentSize();\n\t\t\t\t\tconst Sci::Position posSelect = pdoc->SetLineIndentation(lineCurrentPos, indentation - indentationStep);\n\t\t\t\t\tsel.Range(r) = SelectionRange(posSelect);\n\t\t\t\t} else {\n\t\t\t\t\tSci::Position newColumn = ((pdoc->GetColumn(caretPosition) - 1) / pdoc->tabInChars) *\n\t\t\t\t\t\t\tpdoc->tabInChars;\n\t\t\t\t\tif (newColumn < 0)\n\t\t\t\t\t\tnewColumn = 0;\n\t\t\t\t\tSci::Position newPos = caretPosition;\n\t\t\t\t\twhile (pdoc->GetColumn(newPos) > newColumn)\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\tsel.Range(r) = SelectionRange(newPos);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\t// Multiline\n\t\t\tconst Sci::Position anchorPosOnLine = sel.Range(r).anchor.Position() -\n\t\t\t\tpdoc->LineStart(lineOfAnchor);\n\t\t\tconst Sci::Position currentPosPosOnLine = caretPosition -\n\t\t\t\tpdoc->LineStart(lineCurrentPos);\n\t\t\t// Multiple lines selected so indent / dedent\n\t\t\tconst Sci::Line lineTopSel = std::min(lineOfAnchor, lineCurrentPos);\n\t\t\tSci::Line lineBottomSel = std::max(lineOfAnchor, lineCurrentPos);\n\t\t\tif (pdoc->LineStart(lineBottomSel) == sel.Range(r).anchor.Position() || pdoc->LineStart(lineBottomSel) == caretPosition)\n\t\t\t\tlineBottomSel--;  \t// If not selecting any characters on a line, do not indent\n\t\t\tpdoc->Indent(forwards, lineBottomSel, lineTopSel);\n\t\t\tif (lineOfAnchor < lineCurrentPos) {\n\t\t\t\tif (currentPosPosOnLine == 0)\n\t\t\t\t\tsel.Range(r) = SelectionRange(pdoc->LineStart(lineCurrentPos),\n\t\t\t\t\t\tpdoc->LineStart(lineOfAnchor));\n\t\t\t\telse\n\t\t\t\t\tsel.Range(r) = SelectionRange(pdoc->LineStart(lineCurrentPos + 1),\n\t\t\t\t\t\tpdoc->LineStart(lineOfAnchor));\n\t\t\t} else {\n\t\t\t\tif (anchorPosOnLine == 0)\n\t\t\t\t\tsel.Range(r) = SelectionRange(pdoc->LineStart(lineCurrentPos),\n\t\t\t\t\t\tpdoc->LineStart(lineOfAnchor));\n\t\t\t\telse\n\t\t\t\t\tsel.Range(r) = SelectionRange(pdoc->LineStart(lineCurrentPos),\n\t\t\t\t\t\tpdoc->LineStart(lineOfAnchor + 1));\n\t\t\t}\n\t\t}\n\t}\n\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n}\n\nclass CaseFolderASCII : public CaseFolderTable {\npublic:\n\tCaseFolderASCII() {\n\t\tStandardASCII();\n\t}\n\t~CaseFolderASCII() override {\n\t}\n};\n\n\nCaseFolder *Editor::CaseFolderForEncoding() {\n\t// Simple default that only maps ASCII upper case to lower case.\n\treturn new CaseFolderASCII();\n}\n\n/**\n * Search of a text in the document, in the given range.\n * @return The position of the found text, -1 if not found.\n */\nSci::Position Editor::FindText(\n    uptr_t wParam,\t\t///< Search modes : @c SCFIND_MATCHCASE, @c SCFIND_WHOLEWORD,\n    ///< @c SCFIND_WORDSTART, @c SCFIND_REGEXP or @c SCFIND_POSIX.\n    sptr_t lParam) {\t///< @c Sci_TextToFind structure: The text to search for in the given range.\n\n\tSci_TextToFind *ft = static_cast<Sci_TextToFind *>(PtrFromSPtr(lParam));\n\tSci::Position lengthFound = strlen(ft->lpstrText);\n\tif (!pdoc->HasCaseFolder())\n\t\tpdoc->SetCaseFolder(CaseFolderForEncoding());\n\ttry {\n\t\tconst Sci::Position pos = pdoc->FindText(\n\t\t\tstatic_cast<Sci::Position>(ft->chrg.cpMin),\n\t\t\tstatic_cast<Sci::Position>(ft->chrg.cpMax),\n\t\t\tft->lpstrText,\n\t\t\tstatic_cast<int>(wParam),\n\t\t\t&lengthFound);\n\t\tif (pos != -1) {\n\t\t\tft->chrgText.cpMin = static_cast<Sci_PositionCR>(pos);\n\t\t\tft->chrgText.cpMax = static_cast<Sci_PositionCR>(pos + lengthFound);\n\t\t}\n\t\treturn pos;\n\t} catch (RegexError &) {\n\t\terrorStatus = SC_STATUS_WARN_REGEX;\n\t\treturn -1;\n\t}\n}\n\n/**\n * Relocatable search support : Searches relative to current selection\n * point and sets the selection to the found text range with\n * each search.\n */\n/**\n * Anchor following searches at current selection start: This allows\n * multiple incremental interactive searches to be macro recorded\n * while still setting the selection to found text so the find/select\n * operation is self-contained.\n */\nvoid Editor::SearchAnchor() {\n\tsearchAnchor = SelectionStart().Position();\n}\n\n/**\n * Find text from current search anchor: Must call @c SearchAnchor first.\n * Used for next text and previous text requests.\n * @return The position of the found text, -1 if not found.\n */\nSci::Position Editor::SearchText(\n    unsigned int iMessage,\t\t///< Accepts both @c SCI_SEARCHNEXT and @c SCI_SEARCHPREV.\n    uptr_t wParam,\t\t\t\t///< Search modes : @c SCFIND_MATCHCASE, @c SCFIND_WHOLEWORD,\n    ///< @c SCFIND_WORDSTART, @c SCFIND_REGEXP or @c SCFIND_POSIX.\n    sptr_t lParam) {\t\t\t///< The text to search for.\n\n\tconst char *txt = CharPtrFromSPtr(lParam);\n\tSci::Position pos = INVALID_POSITION;\n\tSci::Position lengthFound = strlen(txt);\n\tif (!pdoc->HasCaseFolder())\n\t\tpdoc->SetCaseFolder(CaseFolderForEncoding());\n\ttry {\n\t\tif (iMessage == SCI_SEARCHNEXT) {\n\t\t\tpos = pdoc->FindText(searchAnchor, pdoc->Length(), txt,\n\t\t\t\t\tstatic_cast<int>(wParam),\n\t\t\t\t\t&lengthFound);\n\t\t} else {\n\t\t\tpos = pdoc->FindText(searchAnchor, 0, txt,\n\t\t\t\t\tstatic_cast<int>(wParam),\n\t\t\t\t\t&lengthFound);\n\t\t}\n\t} catch (RegexError &) {\n\t\terrorStatus = SC_STATUS_WARN_REGEX;\n\t\treturn INVALID_POSITION;\n\t}\n\tif (pos != INVALID_POSITION) {\n\t\tSetSelection(pos, pos + lengthFound);\n\t}\n\n\treturn pos;\n}\n\nstd::string Editor::CaseMapString(const std::string &s, int caseMapping) {\n\tstd::string ret(s);\n\tfor (char &ch : ret) {\n\t\tswitch (caseMapping) {\n\t\t\tcase cmUpper:\n\t\t\t\tch = MakeUpperCase(ch);\n\t\t\t\tbreak;\n\t\t\tcase cmLower:\n\t\t\t\tch = MakeLowerCase(ch);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn ret;\n}\n\n/**\n * Search for text in the target range of the document.\n * @return The position of the found text, -1 if not found.\n */\nSci::Position Editor::SearchInTarget(const char *text, Sci::Position length) {\n\tSci::Position lengthFound = length;\n\n\tif (!pdoc->HasCaseFolder())\n\t\tpdoc->SetCaseFolder(CaseFolderForEncoding());\n\ttry {\n\t\tconst Sci::Position pos = pdoc->FindText(targetStart, targetEnd, text,\n\t\t\t\tsearchFlags,\n\t\t\t\t&lengthFound);\n\t\t//返回值为负，就是错误，不仅仅只有-1的情况\n\t\tif (pos >= 0) {\n\t\t\ttargetStart = pos;\n\t\t\ttargetEnd = pos + lengthFound;\n\t\t}\n\t\treturn pos;\n\t} catch (RegexError &) {\n\t\terrorStatus = SC_STATUS_WARN_REGEX;\n\t\treturn -1;\n\t}\n}\n\nvoid Editor::GoToLine(Sci::Line lineNo) {\n\tif (lineNo > pdoc->LinesTotal())\n\t\tlineNo = pdoc->LinesTotal();\n\tif (lineNo < 0)\n\t\tlineNo = 0;\n\tSetEmptySelection(pdoc->LineStart(lineNo));\n\tShowCaretAtCurrentPosition();\n\tEnsureCaretVisible();\n}\n\nstatic bool Close(Point pt1, Point pt2, Point threshold) {\n\tif (std::abs(pt1.x - pt2.x) > threshold.x)\n\t\treturn false;\n\tif (std::abs(pt1.y - pt2.y) > threshold.y)\n\t\treturn false;\n\treturn true;\n}\n\nstd::string Editor::RangeText(Sci::Position start, Sci::Position end) const {\n\tif (start < end) {\n\t\tconst Sci::Position len = end - start;\n\t\tstd::string ret(len, '\\0');\n\t\tpdoc->GetCharRange(const_cast<char *>(ret.data()), start, len);\n\t\treturn ret;\n\t}\n\treturn std::string();\n}\n\nvoid Editor::CopySelectionRange(SelectionText *ss, bool allowLineCopy) {\n\tif (sel.Empty()) {\n\t\tif (allowLineCopy) {\n\t\t\tconst Sci::Line currentLine = pdoc->SciLineFromPosition(sel.MainCaret());\n\t\t\tconst Sci::Position start = pdoc->LineStart(currentLine);\n\t\t\tconst Sci::Position end = pdoc->LineEnd(currentLine);\n\n\t\t\tstd::string text = RangeText(start, end);\n\t\t\tif (pdoc->eolMode != SC_EOL_LF)\n\t\t\t\ttext.push_back('\\r');\n\t\t\tif (pdoc->eolMode != SC_EOL_CR)\n\t\t\t\ttext.push_back('\\n');\n\t\t\tss->Copy(text, pdoc->dbcsCodePage,\n\t\t\t\tvs.styles[STYLE_DEFAULT].characterSet, false, true);\n\t\t}\n\t} else {\n\t\tstd::string text;\n\t\tstd::vector<SelectionRange> rangesInOrder = sel.RangesCopy();\n\n\t\tif (sel.selType == Selection::selRectangle)\n\t\t\tstd::sort(rangesInOrder.begin(), rangesInOrder.end());\n\t\tfor (const SelectionRange &current : rangesInOrder) {\n\t\t\t\ttext.append(RangeText(current.Start().Position(), current.End().Position()));\n\t\t\tif (sel.selType == Selection::selRectangle) {\n\t\t\t\tif (pdoc->eolMode != SC_EOL_LF)\n\t\t\t\t\ttext.push_back('\\r');\n\t\t\t\tif (pdoc->eolMode != SC_EOL_CR)\n\t\t\t\t\ttext.push_back('\\n');\n\t\t\t}\n\t\t\t}\n\t\tss->Copy(text, pdoc->dbcsCodePage,\n\t\t\tvs.styles[STYLE_DEFAULT].characterSet, sel.IsRectangular(), sel.selType == Selection::selLines);\n\t}\n}\n\nvoid Editor::CopyRangeToClipboard(Sci::Position start, Sci::Position end) {\n\tstart = pdoc->ClampPositionIntoDocument(start);\n\tend = pdoc->ClampPositionIntoDocument(end);\n\tSelectionText selectedText;\n\tstd::string text = RangeText(start, end);\n\tselectedText.Copy(text,\n\t\tpdoc->dbcsCodePage, vs.styles[STYLE_DEFAULT].characterSet, false, false);\n\tCopyToClipboard(selectedText);\n}\n\nvoid Editor::CopyText(size_t length, const char *text) {\n\tSelectionText selectedText;\n\tselectedText.Copy(std::string(text, length),\n\t\tpdoc->dbcsCodePage, vs.styles[STYLE_DEFAULT].characterSet, false, false);\n\tCopyToClipboard(selectedText);\n}\n\nvoid Editor::SetDragPosition(SelectionPosition newPos) {\n\tif (newPos.Position() >= 0) {\n\t\tnewPos = MovePositionOutsideChar(newPos, 1);\n\t\tposDrop = newPos;\n\t}\n\tif (!(posDrag == newPos)) {\n\t\tcaret.on = true;\n\t\tFineTickerCancel(tickCaret);\n\t\tif ((caret.active) && (caret.period > 0) && (newPos.Position() < 0))\n\t\t\tFineTickerStart(tickCaret, caret.period, caret.period/10);\n\t\tInvalidateCaret();\n\t\tposDrag = newPos;\n\t\tInvalidateCaret();\n\t}\n}\n\nvoid Editor::DisplayCursor(Window::Cursor c) {\n\tif (cursorMode == SC_CURSORNORMAL)\n\t\twMain.SetCursor(c);\n\telse\n\t\twMain.SetCursor(static_cast<Window::Cursor>(cursorMode));\n}\n\nbool Editor::DragThreshold(Point ptStart, Point ptNow) {\n\tconst XYPOSITION xMove = ptStart.x - ptNow.x;\n\tconst XYPOSITION yMove = ptStart.y - ptNow.y;\n\tconst XYPOSITION distanceSquared = xMove * xMove + yMove * yMove;\n\treturn distanceSquared > 16.0f;\n}\n\nvoid Editor::StartDrag() {\n\t// Always handled by subclasses\n\t//SetMouseCapture(true);\n\t//DisplayCursor(Window::cursorArrow);\n}\n\nvoid Editor::DropAt(SelectionPosition position, const char *value, size_t lengthValue, bool moving, bool rectangular) {\n\t//Platform::DebugPrintf(\"DropAt %d %d\\n\", inDragDrop, position);\n\tif (inDragDrop == ddDragging)\n\t\tdropWentOutside = false;\n\n\tconst bool positionWasInSelection = PositionInSelection(position.Position());\n\n\tconst bool positionOnEdgeOfSelection =\n\t    (position == SelectionStart()) || (position == SelectionEnd());\n\n\tif ((inDragDrop != ddDragging) || !(positionWasInSelection) ||\n\t        (positionOnEdgeOfSelection && !moving)) {\n\n\t\tconst SelectionPosition selStart = SelectionStart();\n\t\tconst SelectionPosition selEnd = SelectionEnd();\n\n\t\tUndoGroup ug(pdoc);\n\n\t\tSelectionPosition positionAfterDeletion = position;\n\t\tif ((inDragDrop == ddDragging) && moving) {\n\t\t\t// Remove dragged out text\n\t\t\tif (rectangular || sel.selType == Selection::selLines) {\n\t\t\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\t\t\tif (position >= sel.Range(r).Start()) {\n\t\t\t\t\t\tif (position > sel.Range(r).End()) {\n\t\t\t\t\t\t\tpositionAfterDeletion.Add(-sel.Range(r).Length());\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpositionAfterDeletion.Add(-SelectionRange(position, sel.Range(r).Start()).Length());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (position > selStart) {\n\t\t\t\t\tpositionAfterDeletion.Add(-SelectionRange(selEnd, selStart).Length());\n\t\t\t\t}\n\t\t\t}\n\t\t\tClearSelection();\n\t\t}\n\t\tposition = positionAfterDeletion;\n\n\t\tstd::string convertedText = Document::TransformLineEnds(value, lengthValue, pdoc->eolMode);\n\n\t\tif (rectangular) {\n\t\t\tPasteRectangular(position, convertedText.c_str(), convertedText.length());\n\t\t\t// Should try to select new rectangle but it may not be a rectangle now so just select the drop position\n\t\t\tSetEmptySelection(position);\n\t\t} else {\n\t\t\tposition = MovePositionOutsideChar(position, sel.MainCaret() - position.Position());\n\t\t\tposition = RealizeVirtualSpace(position);\n\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\tposition.Position(), convertedText.c_str(), convertedText.length());\n\t\t\tif (lengthInserted > 0) {\n\t\t\t\tSelectionPosition posAfterInsertion = position;\n\t\t\t\tposAfterInsertion.Add(lengthInserted);\n\t\t\t\tSetSelection(posAfterInsertion, position);\n\t\t\t}\n\t\t}\n\t} else if (inDragDrop == ddDragging) {\n\t\tSetEmptySelection(position);\n\t}\n}\n\nvoid Editor::DropAt(SelectionPosition position, const char *value, bool moving, bool rectangular) {\n\tDropAt(position, value, strlen(value), moving, rectangular);\n}\n\n/**\n * @return true if given position is inside the selection,\n */\nbool Editor::PositionInSelection(Sci::Position pos) {\n\tpos = MovePositionOutsideChar(pos, sel.MainCaret() - pos);\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tif (sel.Range(r).Contains(pos))\n\t\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool Editor::PointInSelection(Point pt) {\n\tconst SelectionPosition pos = SPositionFromLocation(pt, false, true);\n\tconst Point ptPos = LocationFromPosition(pos);\n\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\tconst SelectionRange &range = sel.Range(r);\n\t\tif (range.Contains(pos)) {\n\t\t\tbool hit = true;\n\t\t\tif (pos == range.Start()) {\n\t\t\t\t// see if just before selection\n\t\t\t\tif (pt.x < ptPos.x) {\n\t\t\t\t\thit = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pos == range.End()) {\n\t\t\t\t// see if just after selection\n\t\t\t\tif (pt.x > ptPos.x) {\n\t\t\t\t\thit = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (hit)\n\t\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool Editor::PointInSelMargin(Point pt) const {\n\t// Really means: \"Point in a margin\"\n\tif (vs.fixedColumnWidth > 0) {\t// There is a margin\n\t\tPRectangle rcSelMargin = GetClientRectangle();\n\t\trcSelMargin.right = static_cast<XYPOSITION>(vs.textStart - vs.leftMarginWidth);\n\t\trcSelMargin.left = static_cast<XYPOSITION>(vs.textStart - vs.fixedColumnWidth);\n\t\tconst Point ptOrigin = GetVisibleOriginInMain();\n\t\trcSelMargin.Move(0, -ptOrigin.y);\n\t\treturn rcSelMargin.ContainsWholePixel(pt);\n\t} else {\n\t\treturn false;\n\t}\n}\n\nWindow::Cursor Editor::GetMarginCursor(Point pt) const {\n\tint x = 0;\n\tfor (const MarginStyle &m : vs.ms) {\n\t\tif ((pt.x >= x) && (pt.x < x + m.width))\n\t\t\treturn static_cast<Window::Cursor>(m.cursor);\n\t\tx += m.width;\n\t}\n\treturn Window::cursorReverseArrow;\n}\n\nvoid Editor::TrimAndSetSelection(Sci::Position currentPos_, Sci::Position anchor_) {\n\tsel.TrimSelection(SelectionRange(currentPos_, anchor_));\n\tSetSelection(currentPos_, anchor_);\n}\n\nvoid Editor::LineSelection(Sci::Position lineCurrentPos_, Sci::Position lineAnchorPos_, bool wholeLine) {\n\tSci::Position selCurrentPos, selAnchorPos;\n\tif (wholeLine) {\n\t\tconst Sci::Line lineCurrent_ = pdoc->SciLineFromPosition(lineCurrentPos_);\n\t\tconst Sci::Line lineAnchor_ = pdoc->SciLineFromPosition(lineAnchorPos_);\n\t\tif (lineAnchorPos_ < lineCurrentPos_) {\n\t\t\tselCurrentPos = pdoc->LineStart(lineCurrent_ + 1);\n\t\t\tselAnchorPos = pdoc->LineStart(lineAnchor_);\n\t\t} else if (lineAnchorPos_ > lineCurrentPos_) {\n\t\t\tselCurrentPos = pdoc->LineStart(lineCurrent_);\n\t\t\tselAnchorPos = pdoc->LineStart(lineAnchor_ + 1);\n\t\t} else { // Same line, select it\n\t\t\tselCurrentPos = pdoc->LineStart(lineAnchor_ + 1);\n\t\t\tselAnchorPos = pdoc->LineStart(lineAnchor_);\n\t\t}\n\t} else {\n\t\tif (lineAnchorPos_ < lineCurrentPos_) {\n\t\t\tselCurrentPos = StartEndDisplayLine(lineCurrentPos_, false) + 1;\n\t\t\tselCurrentPos = pdoc->MovePositionOutsideChar(selCurrentPos, 1);\n\t\t\tselAnchorPos = StartEndDisplayLine(lineAnchorPos_, true);\n\t\t} else if (lineAnchorPos_ > lineCurrentPos_) {\n\t\t\tselCurrentPos = StartEndDisplayLine(lineCurrentPos_, true);\n\t\t\tselAnchorPos = StartEndDisplayLine(lineAnchorPos_, false) + 1;\n\t\t\tselAnchorPos = pdoc->MovePositionOutsideChar(selAnchorPos, 1);\n\t\t} else { // Same line, select it\n\t\t\tselCurrentPos = StartEndDisplayLine(lineAnchorPos_, false) + 1;\n\t\t\tselCurrentPos = pdoc->MovePositionOutsideChar(selCurrentPos, 1);\n\t\t\tselAnchorPos = StartEndDisplayLine(lineAnchorPos_, true);\n\t\t}\n\t}\n\tTrimAndSetSelection(selCurrentPos, selAnchorPos);\n}\n\nvoid Editor::WordSelection(Sci::Position pos) {\n\tif (pos < wordSelectAnchorStartPos) {\n\t\t// Extend backward to the word containing pos.\n\t\t// Skip ExtendWordSelect if the line is empty or if pos is after the last character.\n\t\t// This ensures that a series of empty lines isn't counted as a single \"word\".\n\t\tif (!pdoc->IsLineEndPosition(pos))\n\t\t\tpos = pdoc->ExtendWordSelect(pdoc->MovePositionOutsideChar(pos + 1, 1), -1);\n\t\tTrimAndSetSelection(pos, wordSelectAnchorEndPos);\n\t} else if (pos > wordSelectAnchorEndPos) {\n\t\t// Extend forward to the word containing the character to the left of pos.\n\t\t// Skip ExtendWordSelect if the line is empty or if pos is the first position on the line.\n\t\t// This ensures that a series of empty lines isn't counted as a single \"word\".\n\t\tif (pos > pdoc->LineStart(pdoc->LineFromPosition(pos)))\n\t\t\tpos = pdoc->ExtendWordSelect(pdoc->MovePositionOutsideChar(pos - 1, -1), 1);\n\t\tTrimAndSetSelection(pos, wordSelectAnchorStartPos);\n\t} else {\n\t\t// Select only the anchored word\n\t\tif (pos >= originalAnchorPos)\n\t\t\tTrimAndSetSelection(wordSelectAnchorEndPos, wordSelectAnchorStartPos);\n\t\telse\n\t\t\tTrimAndSetSelection(wordSelectAnchorStartPos, wordSelectAnchorEndPos);\n\t}\n}\n\nvoid Editor::DwellEnd(bool mouseMoved) {\n\tif (mouseMoved)\n\t\tticksToDwell = dwellDelay;\n\telse\n\t\tticksToDwell = SC_TIME_FOREVER;\n\tif (dwelling && (dwellDelay < SC_TIME_FOREVER)) {\n\t\tdwelling = false;\n\t\tNotifyDwelling(ptMouseLast, dwelling);\n\t}\n\tFineTickerCancel(tickDwell);\n}\n\nvoid Editor::MouseLeave() {\n\tSetHotSpotRange(nullptr);\n\tif (!HaveMouseCapture()) {\n\t\tptMouseLast = Point(-1, -1);\n\t\tDwellEnd(true);\n\t}\n}\n\nstatic constexpr bool AllowVirtualSpace(int virtualSpaceOptions, bool rectangular) noexcept {\n\treturn (!rectangular && ((virtualSpaceOptions & SCVS_USERACCESSIBLE) != 0))\n\t\t|| (rectangular && ((virtualSpaceOptions & SCVS_RECTANGULARSELECTION) != 0));\n}\n\nvoid Editor::ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers) {\n\tSetHoverIndicatorPoint(pt);\n\t//Platform::DebugPrintf(\"ButtonDown %d %d = %d alt=%d %d\\n\", curTime, lastClickTime, curTime - lastClickTime, alt, inDragDrop);\n\tptMouseLast = pt;\n\tconst bool ctrl = (modifiers & SCI_CTRL) != 0;\n\tconst bool shift = (modifiers & SCI_SHIFT) != 0;\n\tconst bool alt = (modifiers & SCI_ALT) != 0;\n\tSelectionPosition newPos = SPositionFromLocation(pt, false, false, AllowVirtualSpace(virtualSpaceOptions, alt));\n\tnewPos = MovePositionOutsideChar(newPos, sel.MainCaret() - newPos.Position());\n\tSelectionPosition newCharPos = SPositionFromLocation(pt, false, true, false);\n\tnewCharPos = MovePositionOutsideChar(newCharPos, -1);\n\tinDragDrop = ddNone;\n\tsel.SetMoveExtends(false);\n\n\tif (NotifyMarginClick(pt, modifiers))\n\t\treturn;\n\n\tNotifyIndicatorClick(true, newPos.Position(), modifiers);\n\n\tconst bool inSelMargin = PointInSelMargin(pt);\n\t// In margin ctrl+(double)click should always select everything\n\tif (ctrl && inSelMargin) {\n\t\tSelectAll();\n\t\tlastClickTime = curTime;\n\t\tlastClick = pt;\n\t\treturn;\n\t}\n\tif (shift && !inSelMargin) {\n\t\tSetSelection(newPos);\n\t}\n\tif ((curTime < (lastClickTime+Platform::DoubleClickTime())) && Close(pt, lastClick, doubleClickCloseThreshold)) {\n\t\t//Platform::DebugPrintf(\"Double click %d %d = %d\\n\", curTime, lastClickTime, curTime - lastClickTime);\n\t\tSetMouseCapture(true);\n\t\tFineTickerStart(tickScroll, 100, 10);\n\t\tif (!ctrl || !multipleSelection || (selectionType != selChar && selectionType != selWord))\n\t\t\tSetEmptySelection(newPos.Position());\n\t\tbool doubleClick = false;\n\t\tif (inSelMargin) {\n\t\t\t// Inside margin selection type should be either selSubLine or selWholeLine.\n\t\t\tif (selectionType == selSubLine) {\n\t\t\t\t// If it is selSubLine, we're inside a *double* click and word wrap is enabled,\n\t\t\t\t// so we switch to selWholeLine in order to select whole line.\n\t\t\t\tselectionType = selWholeLine;\n\t\t\t} else if (selectionType != selSubLine && selectionType != selWholeLine) {\n\t\t\t\t// If it is neither, reset selection type to line selection.\n\t\t\t\tselectionType = (Wrapping() && (marginOptions & SC_MARGINOPTION_SUBLINESELECT)) ? selSubLine : selWholeLine;\n\t\t\t}\n\t\t} else {\n\t\t\tif (selectionType == selChar) {\n\t\t\t\tselectionType = selWord;\n\t\t\t\tdoubleClick = true;\n\t\t\t} else if (selectionType == selWord) {\n\t\t\t\t// Since we ended up here, we're inside a *triple* click, which should always select\n\t\t\t\t// whole line regardless of word wrap being enabled or not.\n\t\t\t\tselectionType = selWholeLine;\n\t\t\t} else {\n\t\t\t\tselectionType = selChar;\n\t\t\t\toriginalAnchorPos = sel.MainCaret();\n\t\t\t}\n\t\t}\n\n\t\tif (selectionType == selWord) {\n\t\t\tSci::Position charPos = originalAnchorPos;\n\t\t\tif (sel.MainCaret() == originalAnchorPos) {\n\t\t\t\tcharPos = PositionFromLocation(pt, false, true);\n\t\t\t\tcharPos = MovePositionOutsideChar(charPos, -1);\n\t\t\t}\n\n\t\t\tSci::Position startWord, endWord;\n\t\t\tif ((sel.MainCaret() >= originalAnchorPos) && !pdoc->IsLineEndPosition(charPos)) {\n\t\t\t\tstartWord = pdoc->ExtendWordSelect(pdoc->MovePositionOutsideChar(charPos + 1, 1), -1);\n\t\t\t\tendWord = pdoc->ExtendWordSelect(charPos, 1);\n\t\t\t} else {\n\t\t\t\t// Selecting backwards, or anchor beyond last character on line. In these cases,\n\t\t\t\t// we select the word containing the character to the *left* of the anchor.\n\t\t\t\tif (charPos > pdoc->LineStart(pdoc->LineFromPosition(charPos))) {\n\t\t\t\t\tstartWord = pdoc->ExtendWordSelect(charPos, -1);\n\t\t\t\t\tendWord = pdoc->ExtendWordSelect(startWord, 1);\n\t\t\t\t} else {\n\t\t\t\t\t// Anchor at start of line; select nothing to begin with.\n\t\t\t\t\tstartWord = charPos;\n\t\t\t\t\tendWord = charPos;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twordSelectAnchorStartPos = startWord;\n\t\t\twordSelectAnchorEndPos = endWord;\n\t\t\twordSelectInitialCaretPos = sel.MainCaret();\n\t\t\tWordSelection(wordSelectInitialCaretPos);\n\t\t} else if (selectionType == selSubLine || selectionType == selWholeLine) {\n\t\t\tlineAnchorPos = newPos.Position();\n\t\t\tLineSelection(lineAnchorPos, lineAnchorPos, selectionType == selWholeLine);\n\t\t\t//Platform::DebugPrintf(\"Triple click: %d - %d\\n\", anchor, currentPos);\n\t\t} else {\n\t\t\tSetEmptySelection(sel.MainCaret());\n\t\t}\n\t\t//Platform::DebugPrintf(\"Double click: %d - %d\\n\", anchor, currentPos);\n\t\tif (doubleClick) {\n\t\t\tNotifyDoubleClick(pt, modifiers);\n\t\t\tif (PositionIsHotspot(newCharPos.Position()))\n\t\t\t\tNotifyHotSpotDoubleClicked(newCharPos.Position(), modifiers);\n\t\t}\n\t} else {\t// Single click\n\t\tif (inSelMargin) {\n\t\t\tif (sel.IsRectangular() || (sel.Count() > 1)) {\n\t\t\t\tInvalidateWholeSelection();\n\t\t\t\tsel.Clear();\n\t\t\t}\n\t\t\tsel.selType = Selection::selStream;\n\t\t\tif (!shift) {\n\t\t\t\t// Single click in margin: select whole line or only subline if word wrap is enabled\n\t\t\t\tlineAnchorPos = newPos.Position();\n\t\t\t\tselectionType = (Wrapping() && (marginOptions & SC_MARGINOPTION_SUBLINESELECT)) ? selSubLine : selWholeLine;\n\t\t\t\tLineSelection(lineAnchorPos, lineAnchorPos, selectionType == selWholeLine);\n\t\t\t} else {\n\t\t\t\t// Single shift+click in margin: select from line anchor to clicked line\n\t\t\t\tif (sel.MainAnchor() > sel.MainCaret())\n\t\t\t\t\tlineAnchorPos = sel.MainAnchor() - 1;\n\t\t\t\telse\n\t\t\t\t\tlineAnchorPos = sel.MainAnchor();\n\t\t\t\t// Reset selection type if there is an empty selection.\n\t\t\t\t// This ensures that we don't end up stuck in previous selection mode, which is no longer valid.\n\t\t\t\t// Otherwise, if there's a non empty selection, reset selection type only if it differs from selSubLine and selWholeLine.\n\t\t\t\t// This ensures that we continue selecting in the same selection mode.\n\t\t\t\tif (sel.Empty() || (selectionType != selSubLine && selectionType != selWholeLine))\n\t\t\t\t\tselectionType = (Wrapping() && (marginOptions & SC_MARGINOPTION_SUBLINESELECT)) ? selSubLine : selWholeLine;\n\t\t\t\tLineSelection(newPos.Position(), lineAnchorPos, selectionType == selWholeLine);\n\t\t\t}\n\n\t\t\tSetDragPosition(SelectionPosition(Sci::invalidPosition));\n\t\t\tSetMouseCapture(true);\n\t\t\tFineTickerStart(tickScroll, 100, 10);\n\t\t} else {\n\t\t\tif (PointIsHotspot(pt)) {\n\t\t\t\tNotifyHotSpotClicked(newCharPos.Position(), modifiers);\n\t\t\t\thotSpotClickPos = newCharPos.Position();\n\t\t\t}\n\t\t\tif (!shift) {\n\t\t\t\tif (PointInSelection(pt) && !SelectionEmpty())\n\t\t\t\t\tinDragDrop = ddInitial;\n\t\t\t\telse\n\t\t\t\t\tinDragDrop = ddNone;\n\t\t\t}\n\t\t\tSetMouseCapture(true);\n\t\t\tFineTickerStart(tickScroll, 100, 10);\n\t\t\tif (inDragDrop != ddInitial) {\n\t\t\t\tSetDragPosition(SelectionPosition(Sci::invalidPosition));\n\t\t\t\tif (!shift) {\n\t\t\t\t\tif (ctrl && multipleSelection) {\n\t\t\t\t\t\tconst SelectionRange range(newPos);\n\t\t\t\t\t\tsel.TentativeSelection(range);\n\t\t\t\t\t\tInvalidateSelection(range, true);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tInvalidateSelection(SelectionRange(newPos), true);\n\t\t\t\t\t\tif (sel.Count() > 1)\n\t\t\t\t\t\t\tRedraw();\n\t\t\t\t\t\tif ((sel.Count() > 1) || (sel.selType != Selection::selStream))\n\t\t\t\t\t\t\tsel.Clear();\n\t\t\t\t\t\tsel.selType = alt ? Selection::selRectangle : Selection::selStream;\n\t\t\t\t\t\tSetSelection(newPos, newPos);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tSelectionPosition anchorCurrent = newPos;\n\t\t\t\tif (shift)\n\t\t\t\t\tanchorCurrent = sel.IsRectangular() ?\n\t\t\t\t\t\tsel.Rectangular().anchor : sel.RangeMain().anchor;\n\t\t\t\tsel.selType = alt ? Selection::selRectangle : Selection::selStream;\n\t\t\t\tselectionType = selChar;\n\t\t\t\toriginalAnchorPos = sel.MainCaret();\n\t\t\t\tsel.Rectangular() = SelectionRange(newPos, anchorCurrent);\n\t\t\t\tSetRectangularRange();\n\t\t\t}\n\t\t}\n\t}\n\tlastClickTime = curTime;\n\tlastClick = pt;\n\tlastXChosen = static_cast<int>(pt.x) + xOffset;\n\tShowCaretAtCurrentPosition();\n}\n\nvoid Editor::RightButtonDownWithModifiers(Point pt, unsigned int, int modifiers) {\n\tif (NotifyMarginRightClick(pt, modifiers))\n\t\treturn;\n}\n\nbool Editor::PositionIsHotspot(Sci::Position position) const {\n\treturn vs.styles[pdoc->StyleIndexAt(position)].hotspot;\n}\n\nbool Editor::PointIsHotspot(Point pt) {\n\tconst Sci::Position pos = PositionFromLocation(pt, true, true);\n\tif (pos == INVALID_POSITION)\n\t\treturn false;\n\treturn PositionIsHotspot(pos);\n}\n\nvoid Editor::SetHoverIndicatorPosition(Sci::Position position) {\n\tconst Sci::Position hoverIndicatorPosPrev = hoverIndicatorPos;\n\thoverIndicatorPos = INVALID_POSITION;\n\tif (!vs.indicatorsDynamic)\n\t\treturn;\n\tif (position != INVALID_POSITION) {\n\t\tfor (const IDecoration *deco : pdoc->decorations->View()) {\n\t\t\tif (vs.indicators[deco->Indicator()].IsDynamic()) {\n\t\t\t\tif (pdoc->decorations->ValueAt(deco->Indicator(), position)) {\n\t\t\t\t\thoverIndicatorPos = position;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (hoverIndicatorPosPrev != hoverIndicatorPos) {\n\t\tRedraw();\n\t}\n}\n\nvoid Editor::SetHoverIndicatorPoint(Point pt) {\n\tif (!vs.indicatorsDynamic) {\n\t\tSetHoverIndicatorPosition(INVALID_POSITION);\n\t} else {\n\t\tSetHoverIndicatorPosition(PositionFromLocation(pt, true, true));\n\t}\n}\n\nvoid Editor::SetHotSpotRange(const Point *pt) {\n\tif (pt) {\n\t\tconst Sci::Position pos = PositionFromLocation(*pt, false, true);\n\n\t\t// If we don't limit this to word characters then the\n\t\t// range can encompass more than the run range and then\n\t\t// the underline will not be drawn properly.\n\t\tRange hsNew;\n\t\thsNew.start = pdoc->ExtendStyleRange(pos, -1, vs.hotspotSingleLine);\n\t\thsNew.end = pdoc->ExtendStyleRange(pos, 1, vs.hotspotSingleLine);\n\n\t\t// Only invalidate the range if the hotspot range has changed...\n\t\tif (!(hsNew == hotspot)) {\n\t\t\tif (hotspot.Valid()) {\n\t\t\t\tInvalidateRange(hotspot.start, hotspot.end);\n\t\t\t}\n\t\t\thotspot = hsNew;\n\t\t\tInvalidateRange(hotspot.start, hotspot.end);\n\t\t}\n\t} else {\n\t\tif (hotspot.Valid()) {\n\t\t\tInvalidateRange(hotspot.start, hotspot.end);\n\t\t}\n\t\thotspot = Range(Sci::invalidPosition);\n\t}\n}\n\nRange Editor::GetHotSpotRange() const {\n\treturn hotspot;\n}\n\nvoid Editor::ButtonMoveWithModifiers(Point pt, unsigned int, int modifiers) {\n\tif ((ptMouseLast.x != pt.x) || (ptMouseLast.y != pt.y)) {\n\t\tDwellEnd(true);\n\t}\n\n\tSelectionPosition movePos = SPositionFromLocation(pt, false, false,\n\t\tAllowVirtualSpace(virtualSpaceOptions, sel.IsRectangular()));\n\tmovePos = MovePositionOutsideChar(movePos, sel.MainCaret() - movePos.Position());\n\n\tif (inDragDrop == ddInitial) {\n\t\tif (DragThreshold(ptMouseLast, pt)) {\n\t\t\tSetMouseCapture(false);\n\t\t\tFineTickerCancel(tickScroll);\n\t\t\tSetDragPosition(movePos);\n\t\t\tCopySelectionRange(&drag);\n\t\t\tStartDrag();\n\t\t}\n\t\treturn;\n\t}\n\n\tptMouseLast = pt;\n\tPRectangle rcClient = GetClientRectangle();\n\tconst Point ptOrigin = GetVisibleOriginInMain();\n\trcClient.Move(0, -ptOrigin.y);\n\tif ((dwellDelay < SC_TIME_FOREVER) && rcClient.Contains(pt)) {\n\t\tFineTickerStart(tickDwell, dwellDelay, dwellDelay/10);\n\t}\n\t//Platform::DebugPrintf(\"Move %d %d\\n\", pt.x, pt.y);\n\tif (HaveMouseCapture()) {\n\n\t\t// Slow down autoscrolling/selection\n\t\tautoScrollTimer.ticksToWait -= timer.tickSize;\n\t\tif (autoScrollTimer.ticksToWait > 0)\n\t\t\treturn;\n\t\tautoScrollTimer.ticksToWait = autoScrollDelay;\n\n\t\t// Adjust selection\n\t\tif (posDrag.IsValid()) {\n\t\t\tSetDragPosition(movePos);\n\t\t} else {\n\t\t\tif (selectionType == selChar) {\n\t\t\t\tif (sel.selType == Selection::selStream && (modifiers & SCI_ALT) && mouseSelectionRectangularSwitch) {\n\t\t\t\t\tsel.selType = Selection::selRectangle;\n\t\t\t\t}\n\t\t\t\tif (sel.IsRectangular()) {\n\t\t\t\t\tsel.Rectangular() = SelectionRange(movePos, sel.Rectangular().anchor);\n\t\t\t\t\tSetSelection(movePos, sel.RangeMain().anchor);\n\t\t\t\t} else if (sel.Count() > 1) {\n\t\t\t\t\tInvalidateSelection(sel.RangeMain(), false);\n\t\t\t\t\tconst SelectionRange range(movePos, sel.RangeMain().anchor);\n\t\t\t\t\tsel.TentativeSelection(range);\n\t\t\t\t\tInvalidateSelection(range, true);\n\t\t\t\t} else {\n\t\t\t\t\tSetSelection(movePos, sel.RangeMain().anchor);\n\t\t\t\t}\n\t\t\t} else if (selectionType == selWord) {\n\t\t\t\t// Continue selecting by word\n\t\t\t\tif (movePos.Position() == wordSelectInitialCaretPos) {  // Didn't move\n\t\t\t\t\t// No need to do anything. Previously this case was lumped\n\t\t\t\t\t// in with \"Moved forward\", but that can be harmful in this\n\t\t\t\t\t// case: a handler for the NotifyDoubleClick re-adjusts\n\t\t\t\t\t// the selection for a fancier definition of \"word\" (for\n\t\t\t\t\t// example, in Perl it is useful to include the leading\n\t\t\t\t\t// '$', '%' or '@' on variables for word selection). In this\n\t\t\t\t\t// the ButtonMove() called via TickFor() for auto-scrolling\n\t\t\t\t\t// could result in the fancier word selection adjustment\n\t\t\t\t\t// being unmade.\n\t\t\t\t} else {\n\t\t\t\t\twordSelectInitialCaretPos = -1;\n\t\t\t\t\tWordSelection(movePos.Position());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Continue selecting by line\n\t\t\t\tLineSelection(movePos.Position(), lineAnchorPos, selectionType == selWholeLine);\n\t\t\t}\n\t\t}\n\n\t\t// Autoscroll\n\t\tconst Sci::Line lineMove = DisplayFromPosition(movePos.Position());\n\t\tif (pt.y > rcClient.bottom) {\n\t\t\tScrollTo(lineMove - LinesOnScreen() + 1);\n\t\t\tRedraw();\n\t\t} else if (pt.y < rcClient.top) {\n\t\t\tScrollTo(lineMove);\n\t\t\tRedraw();\n\t\t}\n\t\tEnsureCaretVisible(false, false, true);\n\n\t\tif (hotspot.Valid() && !PointIsHotspot(pt))\n\t\t\tSetHotSpotRange(nullptr);\n\n\t\tif (hotSpotClickPos != INVALID_POSITION && PositionFromLocation(pt, true, true) != hotSpotClickPos) {\n\t\t\tif (inDragDrop == ddNone) {\n\t\t\t\tDisplayCursor(Window::cursorText);\n\t\t\t}\n\t\t\thotSpotClickPos = INVALID_POSITION;\n\t\t}\n\n\t} else {\n\t\tif (vs.fixedColumnWidth > 0) {\t// There is a margin\n\t\t\tif (PointInSelMargin(pt)) {\n\t\t\t\tDisplayCursor(GetMarginCursor(pt));\n\t\t\t\tSetHotSpotRange(nullptr);\n\t\t\t\treturn; \t// No need to test for selection\n\t\t\t}\n\t\t}\n\t\t// Display regular (drag) cursor over selection\n\t\tif (PointInSelection(pt) && !SelectionEmpty()) {\n\t\t\tDisplayCursor(Window::cursorArrow);\n\t\t} else {\n\t\t\tSetHoverIndicatorPoint(pt);\n\t\t\tif (PointIsHotspot(pt)) {\n\t\t\t\tDisplayCursor(Window::cursorHand);\n\t\t\t\tSetHotSpotRange(&pt);\n\t\t\t} else {\n\t\t\t\tif (hoverIndicatorPos != Sci::invalidPosition)\n\t\t\t\t\tDisplayCursor(Window::cursorHand);\n\t\t\t\telse\n\t\t\t\t\tDisplayCursor(Window::cursorText);\n\t\t\t\tSetHotSpotRange(nullptr);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Editor::ButtonUpWithModifiers(Point pt, unsigned int curTime, int modifiers) {\n\t//Platform::DebugPrintf(\"ButtonUp %d %d\\n\", HaveMouseCapture(), inDragDrop);\n\tSelectionPosition newPos = SPositionFromLocation(pt, false, false,\n\t\tAllowVirtualSpace(virtualSpaceOptions, sel.IsRectangular()));\n\tif (hoverIndicatorPos != INVALID_POSITION)\n\t\tInvalidateRange(newPos.Position(), newPos.Position() + 1);\n\tnewPos = MovePositionOutsideChar(newPos, sel.MainCaret() - newPos.Position());\n\tif (inDragDrop == ddInitial) {\n\t\tinDragDrop = ddNone;\n\t\tSetEmptySelection(newPos);\n\t\tselectionType = selChar;\n\t\toriginalAnchorPos = sel.MainCaret();\n\t}\n\tif (hotSpotClickPos != INVALID_POSITION && PointIsHotspot(pt)) {\n\t\thotSpotClickPos = INVALID_POSITION;\n\t\tSelectionPosition newCharPos = SPositionFromLocation(pt, false, true, false);\n\t\tnewCharPos = MovePositionOutsideChar(newCharPos, -1);\n\t\tNotifyHotSpotReleaseClick(newCharPos.Position(), modifiers & SCI_CTRL);\n\t}\n\tif (HaveMouseCapture()) {\n\t\tif (PointInSelMargin(pt)) {\n\t\t\tDisplayCursor(GetMarginCursor(pt));\n\t\t} else {\n\t\t\tDisplayCursor(Window::cursorText);\n\t\t\tSetHotSpotRange(nullptr);\n\t\t}\n\t\tptMouseLast = pt;\n\t\tSetMouseCapture(false);\n\t\tFineTickerCancel(tickScroll);\n\t\tNotifyIndicatorClick(false, newPos.Position(), 0);\n\t\tif (inDragDrop == ddDragging) {\n\t\t\tconst SelectionPosition selStart = SelectionStart();\n\t\t\tconst SelectionPosition selEnd = SelectionEnd();\n\t\t\tif (selStart < selEnd) {\n\t\t\t\tif (drag.Length()) {\n\t\t\t\t\tconst Sci::Position length = drag.Length();\n\t\t\t\t\tif (modifiers & SCI_CTRL) {\n\t\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\t\t\t\tnewPos.Position(), drag.Data(), length);\n\t\t\t\t\t\tif (lengthInserted > 0) {\n\t\t\t\t\t\t\tSetSelection(newPos.Position(), newPos.Position() + lengthInserted);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (newPos < selStart) {\n\t\t\t\t\t\tpdoc->DeleteChars(selStart.Position(), drag.Length());\n\t\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\t\t\t\tnewPos.Position(), drag.Data(), length);\n\t\t\t\t\t\tif (lengthInserted > 0) {\n\t\t\t\t\t\t\tSetSelection(newPos.Position(), newPos.Position() + lengthInserted);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (newPos > selEnd) {\n\t\t\t\t\t\tpdoc->DeleteChars(selStart.Position(), drag.Length());\n\t\t\t\t\t\tnewPos.Add(-static_cast<Sci::Position>(drag.Length()));\n\t\t\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\t\t\t\tnewPos.Position(), drag.Data(), length);\n\t\t\t\t\t\tif (lengthInserted > 0) {\n\t\t\t\t\t\t\tSetSelection(newPos.Position(), newPos.Position() + lengthInserted);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tSetEmptySelection(newPos.Position());\n\t\t\t\t\t}\n\t\t\t\t\tdrag.Clear();\n\t\t\t\t}\n\t\t\t\tselectionType = selChar;\n\t\t\t}\n\t\t} else {\n\t\t\tif (selectionType == selChar) {\n\t\t\t\tif (sel.Count() > 1) {\n\t\t\t\t\tsel.RangeMain() =\n\t\t\t\t\t\tSelectionRange(newPos, sel.Range(sel.Count() - 1).anchor);\n\t\t\t\t\tInvalidateWholeSelection();\n\t\t\t\t} else {\n\t\t\t\t\tSetSelection(newPos, sel.RangeMain().anchor);\n\t\t\t\t}\n\t\t\t}\n\t\t\tsel.CommitTentative();\n\t\t}\n\t\tSetRectangularRange();\n\t\tlastClickTime = curTime;\n\t\tlastClick = pt;\n\t\tlastXChosen = static_cast<int>(pt.x) + xOffset;\n\t\tif (sel.selType == Selection::selStream) {\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tinDragDrop = ddNone;\n\t\tEnsureCaretVisible(false);\n\t}\n}\n\nbool Editor::Idle() {\n\tbool needWrap = Wrapping() && wrapPending.NeedsWrap();\n\n\tif (needWrap) {\n\t\t// Wrap lines during idle.\n\t\tWrapLines(WrapScope::wsIdle);\n\t\t// No more wrapping\n\t\tneedWrap = wrapPending.NeedsWrap();\n\t} else if (needIdleStyling) {\n\t\tIdleStyling();\n\t}\n\n\t// Add more idle things to do here, but make sure idleDone is\n\t// set correctly before the function returns. returning\n\t// false will stop calling this idle function until SetIdle() is\n\t// called again.\n\n\tconst bool idleDone = !needWrap && !needIdleStyling; // && thatDone && theOtherThingDone...\n\n\treturn !idleDone;\n}\n\nvoid Editor::TickFor(TickReason reason) {\n\tswitch (reason) {\n\t\tcase tickCaret:\n\t\t\tcaret.on = !caret.on;\n\t\t\tif (caret.active) {\n\t\t\t\tInvalidateCaret();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase tickScroll:\n\t\t\t// Auto scroll\n\t\t\tButtonMoveWithModifiers(ptMouseLast, 0, 0);\n\t\t\tbreak;\n\t\tcase tickWiden:\n\t\t\tSetScrollBars();\n\t\t\tFineTickerCancel(tickWiden);\n\t\t\tbreak;\n\t\tcase tickDwell:\n\t\t\tif ((!HaveMouseCapture()) &&\n\t\t\t\t(ptMouseLast.y >= 0)) {\n\t\t\t\tdwelling = true;\n\t\t\t\tNotifyDwelling(ptMouseLast, dwelling);\n\t\t\t}\n\t\t\tFineTickerCancel(tickDwell);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// tickPlatform handled by subclass\n\t\t\tbreak;\n\t}\n}\n\n// FineTickerStart is be overridden by subclasses that support fine ticking so\n// this method should never be called.\nbool Editor::FineTickerRunning(TickReason) {\n\tassert(false);\n\treturn false;\n}\n\n// FineTickerStart is be overridden by subclasses that support fine ticking so\n// this method should never be called.\nvoid Editor::FineTickerStart(TickReason, int, int) {\n\tassert(false);\n}\n\n// FineTickerCancel is be overridden by subclasses that support fine ticking so\n// this method should never be called.\nvoid Editor::FineTickerCancel(TickReason) {\n\tassert(false);\n}\n\nvoid Editor::SetFocusState(bool focusState) {\n\thasFocus = focusState;\n\tNotifyFocus(hasFocus);\n\tif (!hasFocus) {\n\t\tCancelModes();\n\t}\n\tShowCaretAtCurrentPosition();\n}\n\nSci::Position Editor::PositionAfterArea(PRectangle rcArea) const {\n\t// The start of the document line after the display line after the area\n\t// This often means that the line after a modification is restyled which helps\n\t// detect multiline comment additions and heals single line comments\n\tconst Sci::Line lineAfter = TopLineOfMain() + static_cast<Sci::Line>(rcArea.bottom - 1) / vs.lineHeight + 1;\n\tif (lineAfter < pcs->LinesDisplayed())\n\t\treturn pdoc->LineStart(pcs->DocFromDisplay(lineAfter) + 1);\n\telse\n\t\treturn pdoc->Length();\n}\n\n// Style to a position within the view. If this causes a change at end of last line then\n// affects later lines so style all the viewed text.\nvoid Editor::StyleToPositionInView(Sci::Position pos) {\n\tSci::Position endWindow = PositionAfterArea(GetClientDrawingRectangle());\n\tif (pos > endWindow)\n\t\tpos = endWindow;\n\tconst int styleAtEnd = pdoc->StyleIndexAt(pos-1);\n\tpdoc->EnsureStyledTo(pos);\n\tif ((endWindow > pos) && (styleAtEnd != pdoc->StyleIndexAt(pos-1))) {\n\t\t// Style at end of line changed so is multi-line change like starting a comment\n\t\t// so require rest of window to be styled.\n\t\tDiscardOverdraw();\t// Prepared bitmaps may be invalid\n\t\t// DiscardOverdraw may have truncated client drawing area so recalculate endWindow\n\t\tendWindow = PositionAfterArea(GetClientDrawingRectangle());\n\t\tpdoc->EnsureStyledTo(endWindow);\n\t}\n}\n\nSci::Position Editor::PositionAfterMaxStyling(Sci::Position posMax, bool scrolling) const {\n\tif ((idleStyling == SC_IDLESTYLING_NONE) || (idleStyling == SC_IDLESTYLING_AFTERVISIBLE)) {\n\t\t// Both states do not limit styling\n\t\treturn posMax;\n\t}\n\n\t// Try to keep time taken by styling reasonable so interaction remains smooth.\n\t// When scrolling, allow less time to ensure responsive\n\tconst double secondsAllowed = scrolling ? 0.005 : 0.02;\n\n\tconst Sci::Line linesToStyle = Sci::clamp(static_cast<int>(secondsAllowed / pdoc->durationStyleOneLine.Duration()),\n\t\t10, 0x10000);\n\tconst Sci::Line stylingMaxLine = std::min(\n\t\tpdoc->SciLineFromPosition(pdoc->GetEndStyled()) + linesToStyle,\n\t\tpdoc->LinesTotal());\n\treturn std::min(pdoc->LineStart(stylingMaxLine), posMax);\n}\n\nvoid Editor::StartIdleStyling(bool truncatedLastStyling) {\n\tif ((idleStyling == SC_IDLESTYLING_ALL) || (idleStyling == SC_IDLESTYLING_AFTERVISIBLE)) {\n\t\tif (pdoc->GetEndStyled() < pdoc->Length()) {\n\t\t\t// Style remainder of document in idle time\n\t\t\tneedIdleStyling = true;\n\t\t}\n\t} else if (truncatedLastStyling) {\n\t\tneedIdleStyling = true;\n\t}\n\n\tif (needIdleStyling) {\n\t\tSetIdle(true);\n\t}\n}\n\n// Style for an area but bound the amount of styling to remain responsive\nvoid Editor::StyleAreaBounded(PRectangle rcArea, bool scrolling) {\n\tconst Sci::Position posAfterArea = PositionAfterArea(rcArea);\n\tconst Sci::Position posAfterMax = PositionAfterMaxStyling(posAfterArea, scrolling);\n\tif (posAfterMax < posAfterArea) {\n\t\t// Idle styling may be performed before current visible area\n\t\t// Style a bit now then style further in idle time\n\t\tpdoc->StyleToAdjustingLineDuration(posAfterMax);\n\t} else {\n\t\t// Can style all wanted now.\n\t\tStyleToPositionInView(posAfterArea);\n\t}\n\tStartIdleStyling(posAfterMax < posAfterArea);\n}\n\nvoid Editor::IdleStyling() {\n\tconst Sci::Position posAfterArea = PositionAfterArea(GetClientRectangle());\n\tconst Sci::Position endGoal = (idleStyling >= SC_IDLESTYLING_AFTERVISIBLE) ?\n\t\tpdoc->Length() : posAfterArea;\n\tconst Sci::Position posAfterMax = PositionAfterMaxStyling(endGoal, false);\n\tpdoc->StyleToAdjustingLineDuration(posAfterMax);\n\tif (pdoc->GetEndStyled() >= endGoal) {\n\t\tneedIdleStyling = false;\n\t}\n}\n\nvoid Editor::IdleWork() {\n\t// Style the line after the modification as this allows modifications that change just the\n\t// line of the modification to heal instead of propagating to the rest of the window.\n\tif (workNeeded.items & WorkNeeded::workStyle) {\n\t\tStyleToPositionInView(pdoc->LineStart(pdoc->LineFromPosition(workNeeded.upTo) + 2));\n\t}\n\tNotifyUpdateUI();\n\tworkNeeded.Reset();\n}\n\nvoid Editor::QueueIdleWork(WorkNeeded::workItems items, Sci::Position upTo) {\n\tworkNeeded.Need(items, upTo);\n}\n\nbool Editor::PaintContains(PRectangle rc) {\n\tif (rc.Empty()) {\n\t\treturn true;\n\t} else {\n\t\treturn rcPaint.Contains(rc);\n\t}\n}\n\nbool Editor::PaintContainsMargin() {\n\tif (wMargin.GetID()) {\n\t\t// With separate margin view, paint of text view\n\t\t// never contains margin.\n\t\treturn false;\n\t}\n\tPRectangle rcSelMargin = GetClientRectangle();\n\trcSelMargin.right = static_cast<XYPOSITION>(vs.textStart);\n\treturn PaintContains(rcSelMargin);\n}\n\nvoid Editor::CheckForChangeOutsidePaint(Range r) {\n\tif (paintState == painting && !paintingAllText) {\n\t\t//Platform::DebugPrintf(\"Checking range in paint %d-%d\\n\", r.start, r.end);\n\t\tif (!r.Valid())\n\t\t\treturn;\n\n\t\tPRectangle rcRange = RectangleFromRange(r, 0);\n\t\tconst PRectangle rcText = GetTextRectangle();\n\t\tif (rcRange.top < rcText.top) {\n\t\t\trcRange.top = rcText.top;\n\t\t}\n\t\tif (rcRange.bottom > rcText.bottom) {\n\t\t\trcRange.bottom = rcText.bottom;\n\t\t}\n\n\t\tif (!PaintContains(rcRange)) {\n\t\t\tAbandonPaint();\n\t\t\tpaintAbandonedByStyling = true;\n\t\t}\n\t}\n}\n\nvoid Editor::SetBraceHighlight(Sci::Position pos0, Sci::Position pos1, int matchStyle) {\n\tif ((pos0 != braces[0]) || (pos1 != braces[1]) || (matchStyle != bracesMatchStyle)) {\n\t\tif ((braces[0] != pos0) || (matchStyle != bracesMatchStyle)) {\n\t\t\tCheckForChangeOutsidePaint(Range(braces[0]));\n\t\t\tCheckForChangeOutsidePaint(Range(pos0));\n\t\t\tbraces[0] = pos0;\n\t\t}\n\t\tif ((braces[1] != pos1) || (matchStyle != bracesMatchStyle)) {\n\t\t\tCheckForChangeOutsidePaint(Range(braces[1]));\n\t\t\tCheckForChangeOutsidePaint(Range(pos1));\n\t\t\tbraces[1] = pos1;\n\t\t}\n\t\tbracesMatchStyle = matchStyle;\n\t\tif (paintState == notPainting) {\n\t\t\tRedraw();\n\t\t}\n\t}\n}\n\nvoid Editor::SetAnnotationHeights(Sci::Line start, Sci::Line end) {\n\tif (vs.annotationVisible) {\n\t\tRefreshStyleData();\n\t\tbool changedHeight = false;\n\t\tfor (Sci::Line line=start; line<end && line<pdoc->LinesTotal(); line++) {\n\t\t\tint linesWrapped = 1;\n\t\t\tif (Wrapping()) {\n\t\t\t\tAutoSurface surface(this);\n\t\t\t\tAutoLineLayout ll(view.llc, view.RetrieveLineLayout(line, *this));\n\t\t\t\tif (surface && ll) {\n\t\t\t\t\tview.LayoutLine(*this, line, surface, vs, ll, wrapWidth);\n\t\t\t\t\tlinesWrapped = ll->lines;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pcs->SetHeight(line, pdoc->AnnotationLines(line) + linesWrapped))\n\t\t\t\tchangedHeight = true;\n\t\t}\n\t\tif (changedHeight) {\n\t\t\tRedraw();\n\t\t}\n\t}\n}\n\nvoid Editor::SetDocPointer(Document *document) {\n\t//Platform::DebugPrintf(\"** %x setdoc to %x\\n\", pdoc, document);\n\tpdoc->RemoveWatcher(this, 0);\n\tpdoc->Release();\n\tif (!document) {\n\t\tpdoc = new Document(SC_DOCUMENTOPTION_DEFAULT);\n\t} else {\n\t\tpdoc = document;\n\t}\n\tpdoc->AddRef();\n\tpcs = ContractionStateCreate(pdoc->IsLarge());\n\n\t// Ensure all positions within document\n\tsel.Clear();\n\ttargetStart = 0;\n\ttargetEnd = 0;\n\n\tbraces[0] = Sci::invalidPosition;\n\tbraces[1] = Sci::invalidPosition;\n\n\tvs.ReleaseAllExtendedStyles();\n\n\tSetRepresentations();\n\n\t// Reset the contraction state to fully shown.\n\tpcs->Clear();\n\tpcs->InsertLines(0, pdoc->LinesTotal() - 1);\n\tSetAnnotationHeights(0, pdoc->LinesTotal());\n\tview.llc.Deallocate();\n\tNeedWrapping();\n\n\thotspot = Range(Sci::invalidPosition);\n\thoverIndicatorPos = Sci::invalidPosition;\n\n\tview.ClearAllTabstops();\n\n\tpdoc->AddWatcher(this, 0);\n\tSetScrollBars();\n\tRedraw();\n}\n\nvoid Editor::SetAnnotationVisible(int visible) {\n\tif (vs.annotationVisible != visible) {\n\t\tconst bool changedFromOrToHidden = ((vs.annotationVisible != 0) != (visible != 0));\n\t\tvs.annotationVisible = visible;\n\t\tif (changedFromOrToHidden) {\n\t\t\tconst int dir = vs.annotationVisible ? 1 : -1;\n\t\t\tfor (Sci::Line line=0; line<pdoc->LinesTotal(); line++) {\n\t\t\t\tconst int annotationLines = pdoc->AnnotationLines(line);\n\t\t\t\tif (annotationLines > 0) {\n\t\t\t\t\tpcs->SetHeight(line, pcs->GetHeight(line) + annotationLines * dir);\n\t\t\t\t}\n\t\t\t}\n\t\t\tSetScrollBars();\n\t\t}\n\t\tRedraw();\n\t}\n}\n\n/**\n * Recursively expand a fold, making lines visible except where they have an unexpanded parent.\n */\nSci::Line Editor::ExpandLine(Sci::Line line) {\n\tconst Sci::Line lineMaxSubord = pdoc->GetLastChild(line);\n\tline++;\n\twhile (line <= lineMaxSubord) {\n\t\tpcs->SetVisible(line, line, true);\n\t\tconst int level = pdoc->GetLevel(line);\n\t\tif (level & SC_FOLDLEVELHEADERFLAG) {\n\t\t\tif (pcs->GetExpanded(line)) {\n\t\t\t\tline = ExpandLine(line);\n\t\t\t} else {\n\t\t\t\tline = pdoc->GetLastChild(line);\n\t\t\t}\n\t\t}\n\t\tline++;\n\t}\n\treturn lineMaxSubord;\n}\n\nvoid Editor::SetFoldExpanded(Sci::Line lineDoc, bool expanded) {\n\tif (pcs->SetExpanded(lineDoc, expanded)) {\n\t\tRedrawSelMargin();\n\t}\n}\n\nvoid Editor::FoldLine(Sci::Line line, int action) {\n\tif (line >= 0) {\n\t\tif (action == SC_FOLDACTION_TOGGLE) {\n\t\t\tif ((pdoc->GetLevel(line) & SC_FOLDLEVELHEADERFLAG) == 0) {\n\t\t\t\tline = pdoc->GetFoldParent(line);\n\t\t\t\tif (line < 0)\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t\taction = (pcs->GetExpanded(line)) ? SC_FOLDACTION_CONTRACT : SC_FOLDACTION_EXPAND;\n\t\t}\n\n\t\tif (action == SC_FOLDACTION_CONTRACT) {\n\t\t\tconst Sci::Line lineMaxSubord = pdoc->GetLastChild(line);\n\t\t\tif (lineMaxSubord > line) {\n\t\t\t\tpcs->SetExpanded(line, false);\n\t\t\t\tpcs->SetVisible(line + 1, lineMaxSubord, false);\n\n\t\t\t\tconst Sci::Line lineCurrent =\n\t\t\t\t\tpdoc->SciLineFromPosition(sel.MainCaret());\n\t\t\t\tif (lineCurrent > line && lineCurrent <= lineMaxSubord) {\n\t\t\t\t\t// This does not re-expand the fold\n\t\t\t\t\tEnsureCaretVisible();\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\t\t\tif (!(pcs->GetVisible(line))) {\n\t\t\t\tEnsureLineVisible(line, false);\n\t\t\t\tGoToLine(line);\n\t\t\t}\n\t\t\tpcs->SetExpanded(line, true);\n\t\t\tExpandLine(line);\n\t\t}\n\n\t\tSetScrollBars();\n\t\tRedraw();\n\t}\n}\n\nvoid Editor::FoldExpand(Sci::Line line, int action, int level) {\n\tbool expanding = action == SC_FOLDACTION_EXPAND;\n\tif (action == SC_FOLDACTION_TOGGLE) {\n\t\texpanding = !pcs->GetExpanded(line);\n\t}\n\t// Ensure child lines lexed and fold information extracted before\n\t// flipping the state.\n\tpdoc->GetLastChild(line, LevelNumber(level));\n\tSetFoldExpanded(line, expanding);\n\tif (expanding && (pcs->HiddenLines() == 0))\n\t\t// Nothing to do\n\t\treturn;\n\tconst Sci::Line lineMaxSubord = pdoc->GetLastChild(line, LevelNumber(level));\n\tline++;\n\tpcs->SetVisible(line, lineMaxSubord, expanding);\n\twhile (line <= lineMaxSubord) {\n\t\tconst int levelLine = pdoc->GetLevel(line);\n\t\tif (levelLine & SC_FOLDLEVELHEADERFLAG) {\n\t\t\tSetFoldExpanded(line, expanding);\n\t\t}\n\t\tline++;\n\t}\n\tSetScrollBars();\n\tRedraw();\n}\n\nSci::Line Editor::ContractedFoldNext(Sci::Line lineStart) const {\n\tfor (Sci::Line line = lineStart; line<pdoc->LinesTotal();) {\n\t\tif (!pcs->GetExpanded(line) && (pdoc->GetLevel(line) & SC_FOLDLEVELHEADERFLAG))\n\t\t\treturn line;\n\t\tline = pcs->ContractedNext(line+1);\n\t\tif (line < 0)\n\t\t\treturn -1;\n\t}\n\n\treturn -1;\n}\n\n/**\n * Recurse up from this line to find any folds that prevent this line from being visible\n * and unfold them all.\n */\nvoid Editor::EnsureLineVisible(Sci::Line lineDoc, bool enforcePolicy) {\n\n\t// In case in need of wrapping to ensure DisplayFromDoc works.\n\tif (lineDoc >= wrapPending.start) {\n\t\tif (WrapLines(WrapScope::wsAll)) {\n\t\t\tRedraw();\n\t\t}\n\t}\n\n\tif (!pcs->GetVisible(lineDoc)) {\n\t\t// Back up to find a non-blank line\n\t\tSci::Line lookLine = lineDoc;\n\t\tint lookLineLevel = pdoc->GetLevel(lookLine);\n\t\twhile ((lookLine > 0) && (lookLineLevel & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\tlookLineLevel = pdoc->GetLevel(--lookLine);\n\t\t}\n\t\tSci::Line lineParent = pdoc->GetFoldParent(lookLine);\n\t\tif (lineParent < 0) {\n\t\t\t// Backed up to a top level line, so try to find parent of initial line\n\t\t\tlineParent = pdoc->GetFoldParent(lineDoc);\n\t\t}\n\t\tif (lineParent >= 0) {\n\t\t\tif (lineDoc != lineParent)\n\t\t\t\tEnsureLineVisible(lineParent, enforcePolicy);\n\t\t\tif (!pcs->GetExpanded(lineParent)) {\n\t\t\t\tpcs->SetExpanded(lineParent, true);\n\t\t\t\tExpandLine(lineParent);\n\t\t\t}\n\t\t}\n\t\tSetScrollBars();\n\t\tRedraw();\n\t}\n\tif (enforcePolicy) {\n\t\tconst Sci::Line lineDisplay = pcs->DisplayFromDoc(lineDoc);\n\t\tif (visiblePolicy & VISIBLE_SLOP) {\n\t\t\tif ((topLine > lineDisplay) || ((visiblePolicy & VISIBLE_STRICT) && (topLine + visibleSlop > lineDisplay))) {\n\t\t\t\tSetTopLine(Sci::clamp(lineDisplay - visibleSlop, static_cast<Sci::Line>(0), MaxScrollPos()));\n\t\t\t\tSetVerticalScrollPos();\n\t\t\t\tRedraw();\n\t\t\t} else if ((lineDisplay > topLine + LinesOnScreen() - 1) ||\n\t\t\t        ((visiblePolicy & VISIBLE_STRICT) && (lineDisplay > topLine + LinesOnScreen() - 1 - visibleSlop))) {\n\t\t\t\tSetTopLine(Sci::clamp(lineDisplay - LinesOnScreen() + 1 + visibleSlop, static_cast<Sci::Line>(0), MaxScrollPos()));\n\t\t\t\tSetVerticalScrollPos();\n\t\t\t\tRedraw();\n\t\t\t}\n\t\t} else {\n\t\t\tif ((topLine > lineDisplay) || (lineDisplay > topLine + LinesOnScreen() - 1) || (visiblePolicy & VISIBLE_STRICT)) {\n\t\t\t\tSetTopLine(Sci::clamp(lineDisplay - LinesOnScreen() / 2 + 1, static_cast<Sci::Line>(0), MaxScrollPos()));\n\t\t\t\tSetVerticalScrollPos();\n\t\t\t\tRedraw();\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Editor::FoldAll(int action) {\n\tpdoc->EnsureStyledTo(pdoc->Length());\n\tconst Sci::Line maxLine = pdoc->LinesTotal();\n\tbool expanding = action == SC_FOLDACTION_EXPAND;\n\tif (action == SC_FOLDACTION_TOGGLE) {\n\t\t// Discover current state\n\t\tfor (int lineSeek = 0; lineSeek < maxLine; lineSeek++) {\n\t\t\tif (pdoc->GetLevel(lineSeek) & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\texpanding = !pcs->GetExpanded(lineSeek);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (expanding) {\n\t\tpcs->SetVisible(0, maxLine-1, true);\n\t\tfor (int line = 0; line < maxLine; line++) {\n\t\t\tconst int levelLine = pdoc->GetLevel(line);\n\t\t\tif (levelLine & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\tSetFoldExpanded(line, true);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (Sci::Line line = 0; line < maxLine; line++) {\n\t\t\tconst int level = pdoc->GetLevel(line);\n\t\t\tif ((level & SC_FOLDLEVELHEADERFLAG) &&\n\t\t\t\t\t(SC_FOLDLEVELBASE == LevelNumber(level))) {\n\t\t\t\tSetFoldExpanded(line, false);\n\t\t\t\tconst Sci::Line lineMaxSubord = pdoc->GetLastChild(line, -1);\n\t\t\t\tif (lineMaxSubord > line) {\n\t\t\t\t\tpcs->SetVisible(line + 1, lineMaxSubord, false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tSetScrollBars();\n\tRedraw();\n}\n\nvoid Editor::FoldChanged(Sci::Line line, int levelNow, int levelPrev) {\n\tif (levelNow & SC_FOLDLEVELHEADERFLAG) {\n\t\tif (!(levelPrev & SC_FOLDLEVELHEADERFLAG)) {\n\t\t\t// Adding a fold point.\n\t\t\tif (pcs->SetExpanded(line, true)) {\n\t\t\t\tRedrawSelMargin();\n\t\t\t}\n\t\t\tFoldExpand(line, SC_FOLDACTION_EXPAND, levelPrev);\n\t\t}\n\t} else if (levelPrev & SC_FOLDLEVELHEADERFLAG) {\n\t\tconst Sci::Line prevLine = line - 1;\n\t\tconst int prevLineLevel = pdoc->GetLevel(prevLine);\n\n\t\t// Combining two blocks where the first block is collapsed (e.g. by deleting the line(s) which separate(s) the two blocks)\n\t\tif ((LevelNumber(prevLineLevel) == LevelNumber(levelNow)) && !pcs->GetVisible(prevLine))\n\t\t\tFoldLine(pdoc->GetFoldParent(prevLine), SC_FOLDACTION_EXPAND);\n\n\t\tif (!pcs->GetExpanded(line)) {\n\t\t\t// Removing the fold from one that has been contracted so should expand\n\t\t\t// otherwise lines are left invisible with no way to make them visible\n\t\t\tif (pcs->SetExpanded(line, true)) {\n\t\t\t\tRedrawSelMargin();\n\t\t\t}\n\t\t\t// Combining two blocks where the second one is collapsed (e.g. by adding characters in the line which separates the two blocks)\n\t\t\tFoldExpand(line, SC_FOLDACTION_EXPAND, levelPrev);\n\t\t}\n\t}\n\tif (!(levelNow & SC_FOLDLEVELWHITEFLAG) &&\n\t        (LevelNumber(levelPrev) > LevelNumber(levelNow))) {\n\t\tif (pcs->HiddenLines()) {\n\t\t\t// See if should still be hidden\n\t\t\tconst Sci::Line parentLine = pdoc->GetFoldParent(line);\n\t\t\tif ((parentLine < 0) || (pcs->GetExpanded(parentLine) && pcs->GetVisible(parentLine))) {\n\t\t\t\tpcs->SetVisible(line, line, true);\n\t\t\t\tSetScrollBars();\n\t\t\t\tRedraw();\n\t\t\t}\n\t\t}\n\t}\n\n\t// Combining two blocks where the first one is collapsed (e.g. by adding characters in the line which separates the two blocks)\n\tif (!(levelNow & SC_FOLDLEVELWHITEFLAG) && (LevelNumber(levelPrev) < LevelNumber(levelNow))) {\n\t\tif (pcs->HiddenLines()) {\n\t\t\tconst Sci::Line parentLine = pdoc->GetFoldParent(line);\n\t\t\tif (!pcs->GetExpanded(parentLine) && pcs->GetVisible(line))\n\t\t\t\tFoldLine(parentLine, SC_FOLDACTION_EXPAND);\n\t\t}\n\t}\n}\n\nvoid Editor::NeedShown(Sci::Position pos, Sci::Position len) {\n\tif (foldAutomatic & SC_AUTOMATICFOLD_SHOW) {\n\t\tconst Sci::Line lineStart = pdoc->SciLineFromPosition(pos);\n\t\tconst Sci::Line lineEnd = pdoc->SciLineFromPosition(pos+len);\n\t\tfor (Sci::Line line = lineStart; line <= lineEnd; line++) {\n\t\t\tEnsureLineVisible(line, false);\n\t\t}\n\t} else {\n\t\tNotifyNeedShown(pos, len);\n\t}\n}\n\nSci::Position Editor::GetTag(char *tagValue, int tagNumber) {\n\tconst char *text = nullptr;\n\tSci::Position length = 0;\n\tif ((tagNumber >= 1) && (tagNumber <= 9)) {\n\t\tchar name[3] = \"\\\\?\";\n\t\tname[1] = static_cast<char>(tagNumber + '0');\n\t\tlength = 2;\n\t\ttext = pdoc->SubstituteByPosition(name, &length);\n\t}\n\tif (tagValue) {\n\t\tif (text)\n\t\t\tmemcpy(tagValue, text, length + 1);\n\t\telse\n\t\t\t*tagValue = '\\0';\n\t}\n\treturn length;\n}\n\nSci::Position Editor::ReplaceTarget(bool replacePatterns, const char *text, Sci::Position length) {\n\tUndoGroup ug(pdoc);\n\tif (length == -1)\n\t\tlength = strlen(text);\n\tif (replacePatterns) {\n\t\ttext = pdoc->SubstituteByPosition(text, &length);\n\t\tif (!text) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\tif (targetStart != targetEnd)\n\t\tpdoc->DeleteChars(targetStart, targetEnd - targetStart);\n\ttargetEnd = targetStart;\n\tconst Sci::Position lengthInserted = pdoc->InsertString(targetStart, text, length);\n\ttargetEnd = targetStart + lengthInserted;\n\treturn length;\n}\n\nbool Editor::IsUnicodeMode() const {\n\treturn pdoc && (SC_CP_UTF8 == pdoc->dbcsCodePage);\n}\n\nint Editor::CodePage() const {\n\tif (pdoc)\n\t\treturn pdoc->dbcsCodePage;\n\telse\n\t\treturn 0;\n}\n\nSci::Line Editor::WrapCount(Sci::Line line) {\n\tAutoSurface surface(this);\n\tAutoLineLayout ll(view.llc, view.RetrieveLineLayout(line, *this));\n\n\tif (surface && ll) {\n\t\tview.LayoutLine(*this, line, surface, vs, ll, wrapWidth);\n\t\treturn ll->lines;\n\t} else {\n\t\treturn 1;\n\t}\n}\n\nvoid Editor::AddStyledText(const char *buffer, Sci::Position appendLength) {\n\t// The buffer consists of alternating character bytes and style bytes\n\tconst Sci::Position textLength = appendLength / 2;\n\tstd::string text(textLength, '\\0');\n\tSci::Position i;\n\tfor (i = 0; i < textLength; i++) {\n\t\ttext[i] = buffer[i*2];\n\t}\n\tconst Sci::Position lengthInserted = pdoc->InsertString(CurrentPosition(), text.c_str(), textLength);\n\tfor (i = 0; i < textLength; i++) {\n\t\ttext[i] = buffer[i*2+1];\n\t}\n\tpdoc->StartStyling(CurrentPosition(), static_cast<unsigned char>(0xff));\n\tpdoc->SetStyles(textLength, text.c_str());\n\tSetEmptySelection(sel.MainCaret() + lengthInserted);\n}\n\nbool Editor::ValidMargin(uptr_t wParam) const {\n\treturn wParam < vs.ms.size();\n}\n\nvoid Editor::StyleSetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {\n\tvs.EnsureStyle(wParam);\n\tswitch (iMessage) {\n\tcase SCI_STYLESETFORE:\n\t\tvs.styles[wParam].fore = ColourDesired(static_cast<int>(lParam));\n\t\tbreak;\n\tcase SCI_STYLESETBACK:\n\t\tvs.styles[wParam].back = ColourDesired(static_cast<int>(lParam));\n\t\tbreak;\n\tcase SCI_STYLESETBOLD:\n\t\tvs.styles[wParam].weight = ((lParam != 0) ? SC_WEIGHT_BOLD : SC_WEIGHT_NORMAL);\n\t\tbreak;\n\tcase SCI_STYLESETWEIGHT:\n\t\tvs.styles[wParam].weight = static_cast<int>(lParam);\n\t\tbreak;\n\tcase SCI_STYLESETITALIC:\n\t\tvs.styles[wParam].italic = lParam != 0;\n\t\tbreak;\n\tcase SCI_STYLESETEOLFILLED:\n\t\tvs.styles[wParam].eolFilled = lParam != 0;\n\t\tbreak;\n\tcase SCI_STYLESETSIZE:\n\t\tvs.styles[wParam].size = static_cast<int>(lParam * SC_FONT_SIZE_MULTIPLIER);\n\t\tbreak;\n\tcase SCI_STYLESETSIZEFRACTIONAL:\n\t\tvs.styles[wParam].size = static_cast<int>(lParam);\n\t\tbreak;\n\tcase SCI_STYLESETFONT:\n\t\tif (lParam != 0) {\n\t\t\tvs.SetStyleFontName(static_cast<int>(wParam), CharPtrFromSPtr(lParam));\n\t\t}\n\t\tbreak;\n\tcase SCI_STYLESETUNDERLINE:\n\t\tvs.styles[wParam].underline = lParam != 0;\n\t\tbreak;\n\tcase SCI_STYLESETCASE:\n\t\tvs.styles[wParam].caseForce = static_cast<Style::ecaseForced>(lParam);\n\t\tbreak;\n\tcase SCI_STYLESETCHARACTERSET:\n\t\tvs.styles[wParam].characterSet = static_cast<int>(lParam);\n\t\tpdoc->SetCaseFolder(nullptr);\n\t\tbreak;\n\tcase SCI_STYLESETVISIBLE:\n\t\tvs.styles[wParam].visible = lParam != 0;\n\t\tbreak;\n\tcase SCI_STYLESETCHANGEABLE:\n\t\tvs.styles[wParam].changeable = lParam != 0;\n\t\tbreak;\n\tcase SCI_STYLESETHOTSPOT:\n\t\tvs.styles[wParam].hotspot = lParam != 0;\n\t\tbreak;\n\t}\n\tInvalidateStyleRedraw();\n}\n\nsptr_t Editor::StyleGetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {\n\tvs.EnsureStyle(wParam);\n\tswitch (iMessage) {\n\tcase SCI_STYLEGETFORE:\n\t\treturn vs.styles[wParam].fore.AsInteger();\n\tcase SCI_STYLEGETBACK:\n\t\treturn vs.styles[wParam].back.AsInteger();\n\tcase SCI_STYLEGETBOLD:\n\t\treturn vs.styles[wParam].weight > SC_WEIGHT_NORMAL;\n\tcase SCI_STYLEGETWEIGHT:\n\t\treturn vs.styles[wParam].weight;\n\tcase SCI_STYLEGETITALIC:\n\t\treturn vs.styles[wParam].italic ? 1 : 0;\n\tcase SCI_STYLEGETEOLFILLED:\n\t\treturn vs.styles[wParam].eolFilled ? 1 : 0;\n\tcase SCI_STYLEGETSIZE:\n\t\treturn vs.styles[wParam].size / SC_FONT_SIZE_MULTIPLIER;\n\tcase SCI_STYLEGETSIZEFRACTIONAL:\n\t\treturn vs.styles[wParam].size;\n\tcase SCI_STYLEGETFONT:\n\t\treturn StringResult(lParam, vs.styles[wParam].fontName);\n\tcase SCI_STYLEGETUNDERLINE:\n\t\treturn vs.styles[wParam].underline ? 1 : 0;\n\tcase SCI_STYLEGETCASE:\n\t\treturn static_cast<int>(vs.styles[wParam].caseForce);\n\tcase SCI_STYLEGETCHARACTERSET:\n\t\treturn vs.styles[wParam].characterSet;\n\tcase SCI_STYLEGETVISIBLE:\n\t\treturn vs.styles[wParam].visible ? 1 : 0;\n\tcase SCI_STYLEGETCHANGEABLE:\n\t\treturn vs.styles[wParam].changeable ? 1 : 0;\n\tcase SCI_STYLEGETHOTSPOT:\n\t\treturn vs.styles[wParam].hotspot ? 1 : 0;\n\t}\n\treturn 0;\n}\n\nvoid Editor::SetSelectionNMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {\n\tInvalidateRange(sel.Range(wParam).Start().Position(), sel.Range(wParam).End().Position());\n\n\tswitch (iMessage) {\n\tcase SCI_SETSELECTIONNCARET:\n\t\tsel.Range(wParam).caret.SetPosition(lParam);\n\t\tbreak;\n\n\tcase SCI_SETSELECTIONNANCHOR:\n\t\tsel.Range(wParam).anchor.SetPosition(lParam);\n\t\tbreak;\n\n\tcase SCI_SETSELECTIONNCARETVIRTUALSPACE:\n\t\tsel.Range(wParam).caret.SetVirtualSpace(lParam);\n\t\tbreak;\n\n\tcase SCI_SETSELECTIONNANCHORVIRTUALSPACE:\n\t\tsel.Range(wParam).anchor.SetVirtualSpace(lParam);\n\t\tbreak;\n\n\tcase SCI_SETSELECTIONNSTART:\n\t\tsel.Range(wParam).anchor.SetPosition(lParam);\n\t\tbreak;\n\n\tcase SCI_SETSELECTIONNEND:\n\t\tsel.Range(wParam).caret.SetPosition(lParam);\n\t\tbreak;\n\t}\n\n\tInvalidateRange(sel.Range(wParam).Start().Position(), sel.Range(wParam).End().Position());\n\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n}\n\nsptr_t Editor::StringResult(sptr_t lParam, const char *val) {\n\tconst size_t len = val ? strlen(val) : 0;\n\tif (lParam) {\n\t\tchar *ptr = CharPtrFromSPtr(lParam);\n\t\tif (val)\n\t\t\tmemcpy(ptr, val, len+1);\n\t\telse\n\t\t\t*ptr = 0;\n\t}\n\treturn len;\t// Not including NUL\n}\n\nsptr_t Editor::BytesResult(sptr_t lParam, const unsigned char *val, size_t len) {\n\t// No NUL termination: len is number of valid/displayed bytes\n\tif ((lParam) && (len > 0)) {\n\t\tchar *ptr = CharPtrFromSPtr(lParam);\n\t\tif (val)\n\t\t\tmemcpy(ptr, val, len);\n\t\telse\n\t\t\t*ptr = 0;\n\t}\n\treturn val ? len : 0;\n}\n\nsptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {\n\t//Platform::DebugPrintf(\"S start wnd proc %d %d %d\\n\",iMessage, wParam, lParam);\n\n\t// Optional macro recording hook\n\tif (recordingMacro)\n\t\tNotifyMacroRecord(iMessage, wParam, lParam);\n\n\tswitch (iMessage) {\n\n\tcase SCI_GETTEXT: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn pdoc->Length() + 1;\n\t\t\tif (wParam == 0)\n\t\t\t\treturn 0;\n\t\t\tchar *ptr = CharPtrFromSPtr(lParam);\n\t\t\tunsigned int iChar = 0;\n\t\t\tfor (; iChar < wParam - 1; iChar++)\n\t\t\t\tptr[iChar] = pdoc->CharAt(iChar);\n\t\t\tptr[iChar] = '\\0';\n\t\t\treturn iChar;\n\t\t}\n\n\tcase SCI_SETTEXT: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tUndoGroup ug(pdoc);\n\t\t\tpdoc->DeleteChars(0, pdoc->Length());\n\t\t\tSetEmptySelection(0);\n\t\t\tconst char *text = CharPtrFromSPtr(lParam);\n\t\t\tpdoc->InsertString(0, text, strlen(text));\n\t\t\treturn 1;\n\t\t}\n\n\tcase SCI_SET_UTF8_TEXT: {\n\t\tif (lParam == 0 || wParam == 0)\n\t\t\treturn 0;\n\t\tUndoGroup ug(pdoc);\n\t\tpdoc->DeleteChars(0, pdoc->Length());\n\t\tSetEmptySelection(0);\n\t\tconst char *text = CharPtrFromSPtr(lParam);\n\t\tpdoc->InsertString(0, text, wParam);\n\t\treturn 1;\n\t}\n\n\tcase SCI_GETTEXTLENGTH:\n\t\treturn pdoc->Length();\n\n\tcase SCI_CUT:\n\t\tCut();\n\t\tSetLastXChosen();\n\t\tbreak;\n\n\tcase SCI_COPY:\n\t\tCopy();\n\t\tbreak;\n\n\tcase SCI_COPYALLOWLINE:\n\t\tCopyAllowLine();\n\t\tbreak;\n\n\tcase SCI_VERTICALCENTRECARET:\n\t\tVerticalCentreCaret();\n\t\tbreak;\n\n\tcase SCI_MOVESELECTEDLINESUP:\n\t\tMoveSelectedLinesUp();\n\t\tbreak;\n\n\tcase SCI_MOVESELECTEDLINESDOWN:\n\t\tMoveSelectedLinesDown();\n\t\tbreak;\n\n\tcase SCI_COPYRANGE:\n\t\tCopyRangeToClipboard(static_cast<Sci::Position>(wParam), lParam);\n\t\tbreak;\n\n\tcase SCI_COPYTEXT:\n\t\tCopyText(wParam, CharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_PASTE:\n\t\tPaste();\n\t\tif ((caretSticky == SC_CARETSTICKY_OFF) || (caretSticky == SC_CARETSTICKY_WHITESPACE)) {\n\t\t\tSetLastXChosen();\n\t\t}\n\t\tEnsureCaretVisible();\n\t\tbreak;\n\n\tcase SCI_CLEAR:\n\t\tClear();\n\t\tSetLastXChosen();\n\t\tEnsureCaretVisible();\n\t\tbreak;\n\n\tcase SCI_UNDO:\n\t\tUndo();\n\t\tSetLastXChosen();\n\t\tbreak;\n\n\tcase SCI_CANUNDO:\n\t\treturn (pdoc->CanUndo() && !pdoc->IsReadOnly()) ? 1 : 0;\n\n\tcase SCI_EMPTYUNDOBUFFER:\n\t\tpdoc->DeleteUndoHistory();\n\t\treturn 0;\n\n\tcase SCI_GETFIRSTVISIBLELINE:\n\t\treturn topLine;\n\n\tcase SCI_SETFIRSTVISIBLELINE:\n\t\tScrollTo(static_cast<Sci::Line>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETLINE: {\t// Risk of overwriting the end of the buffer\n\t\t\tconst Sci::Position lineStart =\n\t\t\t\tpdoc->LineStart(static_cast<Sci::Line>(wParam));\n\t\t\tconst Sci::Position lineEnd =\n\t\t\t\tpdoc->LineStart(static_cast<Sci::Line>(wParam + 1));\n\t\t\tif (lParam == 0) {\n\t\t\t\treturn lineEnd - lineStart;\n\t\t\t}\n\t\t\tchar *ptr = CharPtrFromSPtr(lParam);\n\t\t\tSci::Position iPlace = 0;\n\t\t\tfor (Sci::Position iChar = lineStart; iChar < lineEnd; iChar++) {\n\t\t\t\tptr[iPlace++] = pdoc->CharAt(iChar);\n\t\t\t}\n\t\t\treturn iPlace;\n\t\t}\n\n\tcase SCI_GETLINECOUNT:\n\t\tif (pdoc->LinesTotal() == 0)\n\t\t\treturn 1;\n\t\telse\n\t\t\treturn pdoc->LinesTotal();\n\n\tcase SCI_GETMODIFY:\n\t\treturn !pdoc->IsSavePoint();\n\n\tcase SCI_SETSEL: {\n\t\t\tSci::Position nStart = static_cast<Sci::Position>(wParam);\n\t\t\tSci::Position nEnd = lParam;\n\t\t\tif (nEnd < 0)\n\t\t\t\tnEnd = pdoc->Length();\n\t\t\tif (nStart < 0)\n\t\t\t\tnStart = nEnd; \t// Remove selection\n\t\t\tInvalidateSelection(SelectionRange(nStart, nEnd));\n\t\t\tsel.Clear();\n\t\t\tsel.selType = Selection::selStream;\n\t\t\tSetSelection(nEnd, nStart);\n\t\t\tEnsureCaretVisible();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETSELTEXT: {\n\t\t\tSelectionText selectedText;\n\t\t\tCopySelectionRange(&selectedText);\n\t\t\tif (lParam == 0) {\n\t\t\t\treturn selectedText.LengthWithTerminator();\n\t\t\t} else {\n\t\t\t\tchar *ptr = CharPtrFromSPtr(lParam);\n\t\t\t\tunsigned int iChar = 0;\n\t\t\t\tif (selectedText.Length()) {\n\t\t\t\t\tfor (; iChar < selectedText.LengthWithTerminator(); iChar++)\n\t\t\t\t\t\tptr[iChar] = selectedText.Data()[iChar];\n\t\t\t\t} else {\n\t\t\t\t\tptr[0] = '\\0';\n\t\t\t\t}\n\t\t\t\treturn iChar;\n\t\t\t}\n\t\t}\n\n\tcase SCI_LINEFROMPOSITION:\n\t\tif (static_cast<Sci::Position>(wParam) < 0)\n\t\t\treturn 0;\n\t\treturn pdoc->LineFromPosition(static_cast<Sci::Position>(wParam));\n\n\tcase SCI_POSITIONFROMLINE:\n\t\tif (static_cast<Sci::Position>(wParam) < 0)\n\t\t\twParam = pdoc->LineFromPosition(SelectionStart().Position());\n\t\tif (wParam == 0)\n\t\t\treturn 0; \t// Even if there is no text, there is a first line that starts at 0\n\t\tif (static_cast<Sci::Line>(wParam) > pdoc->LinesTotal())\n\t\t\treturn -1;\n\t\t//if (wParam > pdoc->LineFromPosition(pdoc->Length()))\t// Useful test, anyway...\n\t\t//\treturn -1;\n\t\treturn pdoc->LineStart(static_cast<Sci::Position>(wParam));\n\n\t\t// Replacement of the old Scintilla interpretation of EM_LINELENGTH\n\tcase SCI_LINELENGTH:\n\t\tif ((static_cast<Sci::Position>(wParam) < 0) ||\n\t\t        (static_cast<Sci::Position>(wParam) > pdoc->LineFromPosition(pdoc->Length())))\n\t\t\treturn 0;\n\t\treturn pdoc->LineStart(static_cast<Sci::Position>(wParam) + 1) - pdoc->LineStart(static_cast<Sci::Position>(wParam));\n\n\tcase SCI_REPLACESEL: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tUndoGroup ug(pdoc);\n\t\t\tClearSelection();\n\t\t\tconst char *replacement = CharPtrFromSPtr(lParam);\n\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\tsel.MainCaret(), replacement, strlen(replacement));\n\t\t\tSetEmptySelection(sel.MainCaret() + lengthInserted);\n\t\t\tSetLastXChosen();\n\t\t\tEnsureCaretVisible();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_SETTARGETSTART:\n\t\ttargetStart = static_cast<Sci::Position>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETTARGETSTART:\n\t\treturn targetStart;\n\n\tcase SCI_SETTARGETEND:\n\t\ttargetEnd = static_cast<Sci::Position>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETTARGETEND:\n\t\treturn targetEnd;\n\n\tcase SCI_SETTARGETRANGE:\n\t\ttargetStart = static_cast<Sci::Position>(wParam);\n\t\ttargetEnd = lParam;\n\t\tbreak;\n\n\tcase SCI_TARGETWHOLEDOCUMENT:\n\t\ttargetStart = 0;\n\t\ttargetEnd = pdoc->Length();\n\t\tbreak;\n\n\tcase SCI_TARGETFROMSELECTION:\n\t\tif (sel.MainCaret() < sel.MainAnchor()) {\n\t\t\ttargetStart = sel.MainCaret();\n\t\t\ttargetEnd = sel.MainAnchor();\n\t\t} else {\n\t\t\ttargetStart = sel.MainAnchor();\n\t\t\ttargetEnd = sel.MainCaret();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETTARGETTEXT: {\n\t\t\tstd::string text = RangeText(targetStart, targetEnd);\n\t\t\treturn BytesResult(lParam, reinterpret_cast<const unsigned char *>(text.c_str()), text.length());\n\t\t}\n\n\tcase SCI_REPLACETARGET:\n\t\tPLATFORM_ASSERT(lParam);\n\t\treturn ReplaceTarget(false, CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\n\tcase SCI_REPLACETARGETRE:\n\t\tPLATFORM_ASSERT(lParam);\n\t\treturn ReplaceTarget(true, CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\n\tcase SCI_SEARCHINTARGET:\n\t\tPLATFORM_ASSERT(lParam);\n\t\treturn SearchInTarget(CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\n\tcase SCI_SETSEARCHFLAGS:\n\t\tsearchFlags = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETSEARCHFLAGS:\n\t\treturn searchFlags;\n\n\tcase SCI_GETTAG:\n\t\treturn GetTag(CharPtrFromSPtr(lParam), static_cast<int>(wParam));\n\n\tcase SCI_POSITIONBEFORE:\n\t\treturn pdoc->MovePositionOutsideChar(static_cast<Sci::Position>(wParam) - 1, -1, true);\n\n\tcase SCI_POSITIONAFTER:\n\t\treturn pdoc->MovePositionOutsideChar(static_cast<Sci::Position>(wParam) + 1, 1, true);\n\n\tcase SCI_POSITIONRELATIVE:\n\t\treturn Sci::clamp(pdoc->GetRelativePosition(\n\t\t\tstatic_cast<Sci::Position>(wParam), lParam),\n\t\t\tstatic_cast<Sci::Position>(0), pdoc->Length());\n\n\tcase SCI_POSITIONRELATIVECODEUNITS:\n\t\treturn Sci::clamp(pdoc->GetRelativePositionUTF16(\n\t\t\tstatic_cast<Sci::Position>(wParam), lParam),\n\t\t\tstatic_cast<Sci::Position>(0), pdoc->Length());\n\n\tcase SCI_LINESCROLL:\n\t\tScrollTo(topLine + static_cast<Sci::Line>(lParam));\n\t\tHorizontalScrollTo(xOffset + static_cast<int>(wParam) * static_cast<int>(vs.spaceWidth));\n\t\treturn 1;\n\n\tcase SCI_SETXOFFSET:\n\t\txOffset = static_cast<int>(wParam);\n\t\tContainerNeedsUpdate(SC_UPDATE_H_SCROLL);\n\t\tSetHorizontalScrollPos();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETXOFFSET:\n\t\treturn xOffset;\n\n\tcase SCI_CHOOSECARETX:\n\t\tSetLastXChosen();\n\t\tbreak;\n\n\tcase SCI_SCROLLCARET:\n\t\tEnsureCaretVisible();\n\t\tbreak;\n\n\tcase SCI_SETREADONLY:\n\t\tpdoc->SetReadOnly(wParam != 0);\n\t\treturn 1;\n\n\tcase SCI_GETREADONLY:\n\t\treturn pdoc->IsReadOnly();\n\n\tcase SCI_CANPASTE:\n\t\treturn CanPaste();\n\n\tcase SCI_POINTXFROMPOSITION:\n\t\tif (lParam < 0) {\n\t\t\treturn 0;\n\t\t} else {\n\t\t\tconst Point pt = LocationFromPosition(lParam);\n\t\t\t// Convert to view-relative\n\t\t\treturn static_cast<int>(pt.x) - vs.textStart + vs.fixedColumnWidth;\n\t\t}\n\n\tcase SCI_POINTYFROMPOSITION:\n\t\tif (lParam < 0) {\n\t\t\treturn 0;\n\t\t} else {\n\t\t\tconst Point pt = LocationFromPosition(lParam);\n\t\t\treturn static_cast<int>(pt.y);\n\t\t}\n\n\tcase SCI_FINDTEXT:\n\t\treturn FindText(wParam, lParam);\n\n\tcase SCI_GETTEXTRANGE: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tSci_TextRange *tr = static_cast<Sci_TextRange *>(PtrFromSPtr(lParam));\n\t\t\tSci::Position cpMax = static_cast<Sci::Position>(tr->chrg.cpMax);\n\t\t\tif (cpMax == -1)\n\t\t\t\tcpMax = pdoc->Length();\n\t\t\tPLATFORM_ASSERT(cpMax <= pdoc->Length());\n\t\t\tSci::Position len = cpMax - tr->chrg.cpMin; \t// No -1 as cpMin and cpMax are referring to inter character positions\n\t\t\tpdoc->GetCharRange(tr->lpstrText, tr->chrg.cpMin, len);\n\t\t\t// Spec says copied text is terminated with a NUL\n\t\t\ttr->lpstrText[len] = '\\0';\n\t\t\treturn len; \t// Not including NUL\n\t\t}\n\n\tcase SCI_HIDESELECTION:\n\t\tview.hideSelection = wParam != 0;\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_FORMATRANGE:\n\t\treturn FormatRange(wParam != 0, static_cast<Sci_RangeToFormat *>(PtrFromSPtr(lParam)));\n\n\tcase SCI_GETMARGINLEFT:\n\t\treturn vs.leftMarginWidth;\n\n\tcase SCI_GETMARGINRIGHT:\n\t\treturn vs.rightMarginWidth;\n\n\tcase SCI_SETMARGINLEFT:\n\t\tlastXChosen += static_cast<int>(lParam) - vs.leftMarginWidth;\n\t\tvs.leftMarginWidth = static_cast<int>(lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETMARGINRIGHT:\n\t\tvs.rightMarginWidth = static_cast<int>(lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\t\t// Control specific mesages\n\n\tcase SCI_ADDTEXT: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(\n\t\t\t\tCurrentPosition(), CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\t\t\tSetEmptySelection(sel.MainCaret() + lengthInserted);\n\t\t\treturn 0;\n\t\t}\n\n\tcase SCI_ADDSTYLEDTEXT:\n\t\tif (lParam)\n\t\t\tAddStyledText(CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\t\treturn 0;\n\n\tcase SCI_INSERTTEXT: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tSci::Position insertPos = static_cast<Sci::Position>(wParam);\n\t\t\tif (insertPos == -1)\n\t\t\t\tinsertPos = CurrentPosition();\n\t\t\tSci::Position newCurrent = CurrentPosition();\n\t\t\tconst char *sz = CharPtrFromSPtr(lParam);\n\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(insertPos, sz, strlen(sz));\n\t\t\tif (newCurrent > insertPos)\n\t\t\t\tnewCurrent += lengthInserted;\n\t\t\tSetEmptySelection(newCurrent);\n\t\t\treturn 0;\n\t\t}\n\n\tcase SCI_CHANGEINSERTION:\n\t\tPLATFORM_ASSERT(lParam);\n\t\tpdoc->ChangeInsertion(CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\t\treturn 0;\n\n\tcase SCI_APPENDTEXT:\n\t\tpdoc->InsertString(pdoc->Length(),\n\t\t\tCharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam));\n\t\treturn 0;\n\n\tcase SCI_CLEARALL:\n\t\tClearAll();\n\t\treturn 0;\n\n\tcase SCI_DELETERANGE:\n\t\tpdoc->DeleteChars(static_cast<Sci::Position>(wParam), lParam);\n\t\treturn 0;\n\n\tcase SCI_CLEARDOCUMENTSTYLE:\n\t\tClearDocumentStyle();\n\t\treturn 0;\n\n\tcase SCI_SETUNDOCOLLECTION:\n\t\tpdoc->SetUndoCollection(wParam != 0);\n\t\treturn 0;\n\n\tcase SCI_GETUNDOCOLLECTION:\n\t\treturn pdoc->IsCollectingUndo();\n\n\tcase SCI_BEGINUNDOACTION:\n\t\tpdoc->BeginUndoAction();\n\t\treturn 0;\n\n\tcase SCI_ENDUNDOACTION:\n\t\tpdoc->EndUndoAction();\n\t\treturn 0;\n\n\tcase SCI_GETCARETPERIOD:\n\t\treturn caret.period;\n\n\tcase SCI_SETCARETPERIOD:\n\t\tCaretSetPeriod(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETWORDCHARS:\n\t\treturn pdoc->GetCharsOfClass(CharClassify::ccWord, UCharPtrFromSPtr(lParam));\n\n\tcase SCI_SETWORDCHARS: {\n\t\t\tpdoc->SetDefaultCharClasses(false);\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tpdoc->SetCharClasses(ConstUCharPtrFromSPtr(lParam), CharClassify::ccWord);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETWHITESPACECHARS:\n\t\treturn pdoc->GetCharsOfClass(CharClassify::ccSpace, UCharPtrFromSPtr(lParam));\n\n\tcase SCI_SETWHITESPACECHARS: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tpdoc->SetCharClasses(ConstUCharPtrFromSPtr(lParam), CharClassify::ccSpace);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETPUNCTUATIONCHARS:\n\t\treturn pdoc->GetCharsOfClass(CharClassify::ccPunctuation, UCharPtrFromSPtr(lParam));\n\n\tcase SCI_SETPUNCTUATIONCHARS: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tpdoc->SetCharClasses(ConstUCharPtrFromSPtr(lParam), CharClassify::ccPunctuation);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_SETCHARSDEFAULT:\n\t\tpdoc->SetDefaultCharClasses(true);\n\t\tbreak;\n\n\tcase SCI_GETLENGTH:\n\t\treturn pdoc->Length();\n\n\tcase SCI_ALLOCATE:\n\t\tpdoc->Allocate(static_cast<Sci::Position>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETCHARAT:\n\t\treturn pdoc->CharAt(static_cast<Sci::Position>(wParam));\n\n\tcase SCI_SETCURRENTPOS:\n\t\tif (sel.IsRectangular()) {\n\t\t\tsel.Rectangular().caret.SetPosition(static_cast<Sci::Position>(wParam));\n\t\t\tSetRectangularRange();\n\t\t\tRedraw();\n\t\t} else {\n\t\t\tSetSelection(static_cast<Sci::Position>(wParam), sel.MainAnchor());\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETCURRENTPOS:\n\t\treturn sel.IsRectangular() ? sel.Rectangular().caret.Position() : sel.MainCaret();\n\n\tcase SCI_SETANCHOR:\n\t\tif (sel.IsRectangular()) {\n\t\t\tsel.Rectangular().anchor.SetPosition(static_cast<Sci::Position>(wParam));\n\t\t\tSetRectangularRange();\n\t\t\tRedraw();\n\t\t} else {\n\t\t\tSetSelection(sel.MainCaret(), static_cast<Sci::Position>(wParam));\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETANCHOR:\n\t\treturn sel.IsRectangular() ? sel.Rectangular().anchor.Position() : sel.MainAnchor();\n\n\tcase SCI_SETSELECTIONSTART:\n\t\tSetSelection(std::max(sel.MainCaret(), static_cast<Sci::Position>(wParam)), static_cast<Sci::Position>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETSELECTIONSTART:\n\t\treturn sel.LimitsForRectangularElseMain().start.Position();\n\n\tcase SCI_SETSELECTIONEND:\n\t\tSetSelection(static_cast<Sci::Position>(wParam), std::min(sel.MainAnchor(), static_cast<Sci::Position>(wParam)));\n\t\tbreak;\n\n\tcase SCI_GETSELECTIONEND:\n\t\treturn sel.LimitsForRectangularElseMain().end.Position();\n\n\tcase SCI_SETEMPTYSELECTION:\n\t\tSetEmptySelection(static_cast<Sci::Position>(wParam));\n\t\tbreak;\n\n\tcase SCI_SETPRINTMAGNIFICATION:\n\t\tview.printParameters.magnification = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETPRINTMAGNIFICATION:\n\t\treturn view.printParameters.magnification;\n\n\tcase SCI_SETPRINTCOLOURMODE:\n\t\tview.printParameters.colourMode = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETPRINTCOLOURMODE:\n\t\treturn view.printParameters.colourMode;\n\n\tcase SCI_SETPRINTWRAPMODE:\n\t\tview.printParameters.wrapState = (wParam == SC_WRAP_WORD) ? eWrapWord : eWrapNone;\n\t\tbreak;\n\n\tcase SCI_GETPRINTWRAPMODE:\n\t\treturn view.printParameters.wrapState;\n\n\tcase SCI_GETSTYLEAT:\n\t\tif (static_cast<Sci::Position>(wParam) >= pdoc->Length())\n\t\t\treturn 0;\n\t\telse\n\t\t\treturn pdoc->StyleAt(static_cast<Sci::Position>(wParam));\n\n\tcase SCI_REDO:\n\t\tRedo();\n\t\tbreak;\n\n\tcase SCI_SELECTALL:\n\t\tSelectAll();\n\t\tbreak;\n\n\tcase SCI_SETSAVEPOINT:\n\t\tpdoc->SetSavePoint();\n\t\tbreak;\n\n\tcase SCI_GETSTYLEDTEXT: {\n\t\t\tif (lParam == 0)\n\t\t\t\treturn 0;\n\t\t\tSci_TextRange *tr = static_cast<Sci_TextRange *>(PtrFromSPtr(lParam));\n\t\t\tint iPlace = 0;\n\t\t\tfor (long iChar = tr->chrg.cpMin; iChar < tr->chrg.cpMax; iChar++) {\n\t\t\t\ttr->lpstrText[iPlace++] = pdoc->CharAt(iChar);\n\t\t\t\ttr->lpstrText[iPlace++] = pdoc->StyleAt(iChar);\n\t\t\t}\n\t\t\ttr->lpstrText[iPlace] = '\\0';\n\t\t\ttr->lpstrText[iPlace + 1] = '\\0';\n\t\t\treturn iPlace;\n\t\t}\n\n\tcase SCI_CANREDO:\n\t\treturn (pdoc->CanRedo() && !pdoc->IsReadOnly()) ? 1 : 0;\n\n\tcase SCI_MARKERLINEFROMHANDLE:\n\t\treturn pdoc->LineFromHandle(static_cast<int>(wParam));\n\n\tcase SCI_MARKERDELETEHANDLE:\n\t\tpdoc->DeleteMarkFromHandle(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETVIEWWS:\n\t\treturn vs.viewWhitespace;\n\n\tcase SCI_SETVIEWWS:\n\t\tvs.viewWhitespace = static_cast<WhiteSpaceVisibility>(wParam);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETTABDRAWMODE:\n\t\treturn vs.tabDrawMode;\n\n\tcase SCI_SETTABDRAWMODE:\n\t\tvs.tabDrawMode = static_cast<TabDrawMode>(wParam);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETWHITESPACESIZE:\n\t\treturn vs.whitespaceSize;\n\n\tcase SCI_SETWHITESPACESIZE:\n\t\tvs.whitespaceSize = static_cast<int>(wParam);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_POSITIONFROMPOINT:\n\t\treturn PositionFromLocation(Point::FromInts(static_cast<int>(wParam) - vs.ExternalMarginWidth(), static_cast<int>(lParam)),\n\t\t\t\t\t    false, false);\n\n\tcase SCI_POSITIONFROMPOINTCLOSE:\n\t\treturn PositionFromLocation(Point::FromInts(static_cast<int>(wParam) - vs.ExternalMarginWidth(), static_cast<int>(lParam)),\n\t\t\t\t\t    true, false);\n\n\tcase SCI_CHARPOSITIONFROMPOINT:\n\t\treturn PositionFromLocation(Point::FromInts(static_cast<int>(wParam) - vs.ExternalMarginWidth(), static_cast<int>(lParam)),\n\t\t\t\t\t    false, true);\n\n\tcase SCI_CHARPOSITIONFROMPOINTCLOSE:\n\t\treturn PositionFromLocation(Point::FromInts(static_cast<int>(wParam) - vs.ExternalMarginWidth(), static_cast<int>(lParam)),\n\t\t\t\t\t    true, true);\n\n\tcase SCI_GOTOLINE:\n\t\tGoToLine(static_cast<Sci::Line>(wParam));\n\t\tbreak;\n\n\tcase SCI_GOTOPOS:\n\t\tSetEmptySelection(static_cast<Sci::Position>(wParam));\n\t\tEnsureCaretVisible();\n\t\tbreak;\n\n\tcase SCI_GETCURLINE: {\n\t\t\tconst Sci::Line lineCurrentPos = pdoc->SciLineFromPosition(sel.MainCaret());\n\t\t\tconst Sci::Position lineStart = pdoc->LineStart(lineCurrentPos);\n\t\t\tconst Sci::Position lineEnd = pdoc->LineStart(lineCurrentPos + 1);\n\t\t\tif (lParam == 0) {\n\t\t\t\treturn 1 + lineEnd - lineStart;\n\t\t\t}\n\t\t\tPLATFORM_ASSERT(wParam > 0);\n\t\t\tchar *ptr = CharPtrFromSPtr(lParam);\n\t\t\tunsigned int iPlace = 0;\n\t\t\tfor (Sci::Position iChar = lineStart; iChar < lineEnd && iPlace < wParam - 1; iChar++) {\n\t\t\t\tptr[iPlace++] = pdoc->CharAt(iChar);\n\t\t\t}\n\t\t\tptr[iPlace] = '\\0';\n\t\t\treturn sel.MainCaret() - lineStart;\n\t\t}\n\n\tcase SCI_GETENDSTYLED:\n\t\treturn pdoc->GetEndStyled();\n\n\tcase SCI_GETEOLMODE:\n\t\treturn pdoc->eolMode;\n\n\tcase SCI_SETEOLMODE:\n\t\tpdoc->eolMode = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_SETLINEENDTYPESALLOWED:\n\t\tif (pdoc->SetLineEndTypesAllowed(static_cast<int>(wParam))) {\n\t\t\tpcs->Clear();\n\t\t\tpcs->InsertLines(0, pdoc->LinesTotal() - 1);\n\t\t\tSetAnnotationHeights(0, pdoc->LinesTotal());\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETLINEENDTYPESALLOWED:\n\t\treturn pdoc->GetLineEndTypesAllowed();\n\n\tcase SCI_GETLINEENDTYPESACTIVE:\n\t\treturn pdoc->GetLineEndTypesActive();\n\n\tcase SCI_STARTSTYLING:\n\t\tpdoc->StartStyling(static_cast<Sci::Position>(wParam), static_cast<char>(lParam));\n\t\tbreak;\n\n\tcase SCI_SETSTYLING:\n\t\tif (static_cast<Sci::Position>(wParam) < 0)\n\t\t\terrorStatus = SC_STATUS_FAILURE;\n\t\telse\n\t\t\tpdoc->SetStyleFor(static_cast<Sci::Position>(wParam), static_cast<char>(lParam));\n\t\tbreak;\n\n\tcase SCI_SETSTYLINGEX:             // Specify a complete styling buffer\n\t\tif (lParam == 0)\n\t\t\treturn 0;\n\t\tpdoc->SetStyles(static_cast<Sci::Position>(wParam), CharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_SETBUFFEREDDRAW:\n\t\tview.bufferedDraw = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETBUFFEREDDRAW:\n\t\treturn view.bufferedDraw;\n\n\tcase SCI_GETTWOPHASEDRAW:\n\t\treturn view.phasesDraw == EditView::phasesTwo;\n\n\tcase SCI_SETTWOPHASEDRAW:\n\t\tif (view.SetTwoPhaseDraw(wParam != 0))\n\t\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETPHASESDRAW:\n\t\treturn view.phasesDraw;\n\n\tcase SCI_SETPHASESDRAW:\n\t\tif (view.SetPhasesDraw(static_cast<int>(wParam)))\n\t\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETFONTQUALITY:\n\t\tvs.extraFontFlag &= ~SC_EFF_QUALITY_MASK;\n\t\tvs.extraFontFlag |= (wParam & SC_EFF_QUALITY_MASK);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETFONTQUALITY:\n\t\treturn (vs.extraFontFlag & SC_EFF_QUALITY_MASK);\n\n\tcase SCI_SETTABWIDTH:\n\t\tif (wParam > 0) {\n\t\t\tpdoc->tabInChars = static_cast<int>(wParam);\n\t\t\tif (pdoc->indentInChars == 0)\n\t\t\t\tpdoc->actualIndentInChars = pdoc->tabInChars;\n\t\t}\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETTABWIDTH:\n\t\treturn pdoc->tabInChars;\n\n\tcase SCI_CLEARTABSTOPS:\n\t\tif (view.ClearTabstops(static_cast<Sci::Line>(wParam))) {\n\t\t\tconst DocModification mh(SC_MOD_CHANGETABSTOPS, 0, 0, 0, nullptr, static_cast<Sci::Line>(wParam));\n\t\t\tNotifyModified(pdoc, mh, nullptr);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_ADDTABSTOP:\n\t\tif (view.AddTabstop(static_cast<Sci::Line>(wParam), static_cast<int>(lParam))) {\n\t\t\tconst DocModification mh(SC_MOD_CHANGETABSTOPS, 0, 0, 0, nullptr, static_cast<Sci::Line>(wParam));\n\t\t\tNotifyModified(pdoc, mh, nullptr);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETNEXTTABSTOP:\n\t\treturn view.GetNextTabstop(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\n\tcase SCI_SETINDENT:\n\t\tpdoc->indentInChars = static_cast<int>(wParam);\n\t\tif (pdoc->indentInChars != 0)\n\t\t\tpdoc->actualIndentInChars = pdoc->indentInChars;\n\t\telse\n\t\t\tpdoc->actualIndentInChars = pdoc->tabInChars;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETINDENT:\n\t\treturn pdoc->indentInChars;\n\n\tcase SCI_SETUSETABS:\n\t\tpdoc->useTabs = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETUSETABS:\n\t\treturn pdoc->useTabs;\n\n\tcase SCI_SETLINEINDENTATION:\n\t\tpdoc->SetLineIndentation(static_cast<Sci::Line>(wParam), lParam);\n\t\tbreak;\n\n\tcase SCI_GETLINEINDENTATION:\n\t\treturn pdoc->GetLineIndentation(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_GETLINEINDENTPOSITION:\n\t\treturn pdoc->GetLineIndentPosition(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_SETTABINDENTS:\n\t\tpdoc->tabIndents = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETTABINDENTS:\n\t\treturn pdoc->tabIndents;\n\n\tcase SCI_SETBACKSPACEUNINDENTS:\n\t\tpdoc->backspaceUnindents = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETBACKSPACEUNINDENTS:\n\t\treturn pdoc->backspaceUnindents;\n\n\tcase SCI_SETMOUSEDWELLTIME:\n\t\tdwellDelay = static_cast<int>(wParam);\n\t\tticksToDwell = dwellDelay;\n\t\tbreak;\n\n\tcase SCI_GETMOUSEDWELLTIME:\n\t\treturn dwellDelay;\n\n\tcase SCI_WORDSTARTPOSITION:\n\t\treturn pdoc->ExtendWordSelect(static_cast<Sci::Position>(wParam), -1, lParam != 0);\n\n\tcase SCI_WORDENDPOSITION:\n\t\treturn pdoc->ExtendWordSelect(static_cast<Sci::Position>(wParam), 1, lParam != 0);\n\n\tcase SCI_ISRANGEWORD:\n\t\treturn pdoc->IsWordAt(static_cast<Sci::Position>(wParam), lParam);\n\n\tcase SCI_SETIDLESTYLING:\n\t\tidleStyling = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETIDLESTYLING:\n\t\treturn idleStyling;\n\n\tcase SCI_SETWRAPMODE:\n\t\tif (vs.SetWrapState(static_cast<int>(wParam))) {\n\t\t\txOffset = 0;\n\t\t\tContainerNeedsUpdate(SC_UPDATE_H_SCROLL);\n\t\t\tInvalidateStyleRedraw();\n\t\t\tReconfigureScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETWRAPMODE:\n\t\treturn vs.wrapState;\n\n\tcase SCI_SETWRAPVISUALFLAGS:\n\t\tif (vs.SetWrapVisualFlags(static_cast<int>(wParam))) {\n\t\t\tInvalidateStyleRedraw();\n\t\t\tReconfigureScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETWRAPVISUALFLAGS:\n\t\treturn vs.wrapVisualFlags;\n\n\tcase SCI_SETWRAPVISUALFLAGSLOCATION:\n\t\tif (vs.SetWrapVisualFlagsLocation(static_cast<int>(wParam))) {\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETWRAPVISUALFLAGSLOCATION:\n\t\treturn vs.wrapVisualFlagsLocation;\n\n\tcase SCI_SETWRAPSTARTINDENT:\n\t\tif (vs.SetWrapVisualStartIndent(static_cast<int>(wParam))) {\n\t\t\tInvalidateStyleRedraw();\n\t\t\tReconfigureScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETWRAPSTARTINDENT:\n\t\treturn vs.wrapVisualStartIndent;\n\n\tcase SCI_SETWRAPINDENTMODE:\n\t\tif (vs.SetWrapIndentMode(static_cast<int>(wParam))) {\n\t\t\tInvalidateStyleRedraw();\n\t\t\tReconfigureScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETWRAPINDENTMODE:\n\t\treturn vs.wrapIndentMode;\n\n\tcase SCI_SETLAYOUTCACHE:\n\t\tview.llc.SetLevel(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETLAYOUTCACHE:\n\t\treturn view.llc.GetLevel();\n\n\tcase SCI_SETPOSITIONCACHE:\n\t\tview.posCache.SetSize(wParam);\n\t\tbreak;\n\n\tcase SCI_GETPOSITIONCACHE:\n\t\treturn view.posCache.GetSize();\n\n\tcase SCI_SETSCROLLWIDTH:\n\t\tPLATFORM_ASSERT(wParam > 0);\n\t\tif ((wParam > 0) && (wParam != static_cast<unsigned int>(scrollWidth))) {\n\t\t\tview.lineWidthMaxSeen = 0;\n\t\t\tscrollWidth = static_cast<int>(wParam);\n\t\t\tSetScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETSCROLLWIDTH:\n\t\treturn scrollWidth;\n\n\tcase SCI_SETSCROLLWIDTHTRACKING:\n\t\ttrackLineWidth = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETSCROLLWIDTHTRACKING:\n\t\treturn trackLineWidth;\n\n\tcase SCI_LINESJOIN:\n\t\tLinesJoin();\n\t\tbreak;\n\n\tcase SCI_LINESSPLIT:\n\t\tLinesSplit(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_TEXTWIDTH:\n\t\tPLATFORM_ASSERT(wParam < vs.styles.size());\n\t\tPLATFORM_ASSERT(lParam);\n\t\treturn TextWidth(static_cast<int>(wParam), CharPtrFromSPtr(lParam));\n\n\tcase SCI_TEXTHEIGHT:\n\t\tRefreshStyleData();\n\t\treturn vs.lineHeight;\n\n\tcase SCI_SETENDATLASTLINE:\n\t\tPLATFORM_ASSERT((wParam == 0) || (wParam == 1));\n\t\tif (endAtLastLine != (wParam != 0)) {\n\t\t\tendAtLastLine = wParam != 0;\n\t\t\tSetScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETENDATLASTLINE:\n\t\treturn endAtLastLine;\n\n\tcase SCI_SETCARETSTICKY:\n\t\tPLATFORM_ASSERT(wParam <= SC_CARETSTICKY_WHITESPACE);\n\t\tif (wParam <= SC_CARETSTICKY_WHITESPACE) {\n\t\t\tcaretSticky = static_cast<int>(wParam);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETCARETSTICKY:\n\t\treturn caretSticky;\n\n\tcase SCI_TOGGLECARETSTICKY:\n\t\tcaretSticky = !caretSticky;\n\t\tbreak;\n\n\tcase SCI_GETCOLUMN:\n\t\treturn pdoc->GetColumn(static_cast<Sci::Position>(wParam));\n\n\tcase SCI_FINDCOLUMN:\n\t\treturn pdoc->FindColumn(static_cast<Sci::Line>(wParam), lParam);\n\n\tcase SCI_SETHSCROLLBAR :\n\t\tif (horizontalScrollBarVisible != (wParam != 0)) {\n\t\t\thorizontalScrollBarVisible = wParam != 0;\n\t\t\tSetScrollBars();\n\t\t\tReconfigureScrollBars();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETHSCROLLBAR:\n\t\treturn horizontalScrollBarVisible;\n\n\tcase SCI_SETVSCROLLBAR:\n\t\tif (verticalScrollBarVisible != (wParam != 0)) {\n\t\t\tverticalScrollBarVisible = wParam != 0;\n\t\t\tSetScrollBars();\n\t\t\tReconfigureScrollBars();\n\t\t\tif (verticalScrollBarVisible)\n\t\t\t\tSetVerticalScrollPos();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETVSCROLLBAR:\n\t\treturn verticalScrollBarVisible;\n\n\tcase SCI_SETINDENTATIONGUIDES:\n\t\tvs.viewIndentationGuides = static_cast<IndentView>(wParam);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETINDENTATIONGUIDES:\n\t\treturn vs.viewIndentationGuides;\n\n\tcase SCI_SETHIGHLIGHTGUIDE:\n\t\tif ((highlightGuideColumn != static_cast<int>(wParam)) || (wParam > 0)) {\n\t\t\thighlightGuideColumn = static_cast<int>(wParam);\n\t\t\tRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETHIGHLIGHTGUIDE:\n\t\treturn highlightGuideColumn;\n\n\tcase SCI_GETLINEENDPOSITION:\n\t\treturn pdoc->LineEnd(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_SETCODEPAGE:\n\t\tif (ValidCodePage(static_cast<int>(wParam))) {\n\t\t\tif (pdoc->SetDBCSCodePage(static_cast<int>(wParam))) {\n\t\t\t\tpcs->Clear();\n\t\t\t\tpcs->InsertLines(0, pdoc->LinesTotal() - 1);\n\t\t\t\tSetAnnotationHeights(0, pdoc->LinesTotal());\n\t\t\t\tInvalidateStyleRedraw();\n\t\t\t\tSetRepresentations();\n\t\t\t}\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETCODEPAGE:\n\t\treturn pdoc->dbcsCodePage;\n\n\tcase SCI_SETIMEINTERACTION:\n\t\timeInteraction = static_cast<EditModel::IMEInteraction>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETIMEINTERACTION:\n\t\treturn imeInteraction;\n\n\tcase SCI_GETLINECHARACTERINDEX:\n\t\treturn pdoc->LineCharacterIndex();\n\n\tcase SCI_ALLOCATELINECHARACTERINDEX:\n\t\tpdoc->AllocateLineCharacterIndex(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_RELEASELINECHARACTERINDEX:\n\t\tpdoc->ReleaseLineCharacterIndex(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_LINEFROMINDEXPOSITION:\n\t\treturn pdoc->LineFromPositionIndex(static_cast<Sci::Position>(wParam), static_cast<int>(lParam));\n\n\tcase SCI_INDEXPOSITIONFROMLINE:\n\t\treturn pdoc->IndexLineStart(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\n\t\t// Marker definition and setting\n\tcase SCI_MARKERDEFINE:\n\t\tif (wParam <= MARKER_MAX) {\n\t\t\tvs.markers[wParam].markType = static_cast<int>(lParam);\n\t\t\tvs.CalcLargestMarkerHeight();\n\t\t}\n\t\tInvalidateStyleData();\n\t\tRedrawSelMargin();\n\t\tbreak;\n\n\tcase SCI_MARKERSYMBOLDEFINED:\n\t\tif (wParam <= MARKER_MAX)\n\t\t\treturn vs.markers[wParam].markType;\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_MARKERSETFORE:\n\t\tif (wParam <= MARKER_MAX)\n\t\t\tvs.markers[wParam].fore = ColourDesired(static_cast<int>(lParam));\n\t\tInvalidateStyleData();\n\t\tRedrawSelMargin();\n\t\tbreak;\n\tcase SCI_MARKERSETBACKSELECTED:\n\t\tif (wParam <= MARKER_MAX)\n\t\t\tvs.markers[wParam].backSelected = ColourDesired(static_cast<int>(lParam));\n\t\tInvalidateStyleData();\n\t\tRedrawSelMargin();\n\t\tbreak;\n\tcase SCI_MARKERENABLEHIGHLIGHT:\n\t\tmarginView.highlightDelimiter.isEnabled = wParam == 1;\n\t\tRedrawSelMargin();\n\t\tbreak;\n\tcase SCI_MARKERSETBACK:\n\t\tif (wParam <= MARKER_MAX)\n\t\t\tvs.markers[wParam].back = ColourDesired(static_cast<int>(lParam));\n\t\tInvalidateStyleData();\n\t\tRedrawSelMargin();\n\t\tbreak;\n\tcase SCI_MARKERSETALPHA:\n\t\tif (wParam <= MARKER_MAX)\n\t\t\tvs.markers[wParam].alpha = static_cast<int>(lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\tcase SCI_MARKERADD: {\n\t\t\tconst int markerID = pdoc->AddMark(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\t\treturn markerID;\n\t\t}\n\tcase SCI_MARKERADDSET:\n\t\tif (lParam != 0)\n\t\t\tpdoc->AddMarkSet(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\tbreak;\n\n\tcase SCI_MARKERDELETE:\n\t\tpdoc->DeleteMark(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\tbreak;\n\t\t\n\tcase SCI_LINE_MARKERDELETE_ALL:\n\t\tpdoc->DeleteMark(static_cast<Sci::Line>(wParam));\n\t\tbreak;\n\n\tcase SCI_MARKERDELETEALL:\n\t\tpdoc->DeleteAllMarks(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_MARKERGET:\n\t\treturn pdoc->GetMark(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_MARKERNEXT:\n\t\treturn pdoc->MarkerNext(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\n\tcase SCI_MARKERPREVIOUS: {\n\t\t\tfor (Sci::Line iLine = static_cast<Sci::Line>(wParam); iLine >= 0; iLine--) {\n\t\t\t\tif ((pdoc->GetMark(iLine) & lParam) != 0)\n\t\t\t\t\treturn iLine;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\n\tcase SCI_MARKERDEFINEPIXMAP:\n\t\tif (wParam <= MARKER_MAX) {\n\t\t\tvs.markers[wParam].SetXPM(CharPtrFromSPtr(lParam));\n\t\t\tvs.CalcLargestMarkerHeight();\n\t\t}\n\t\tInvalidateStyleData();\n\t\tRedrawSelMargin();\n\t\tbreak;\n\n\t\t//自定义的一个类型，是图片底纹.用alpha来表示图形类型\n\tcase SCI_MARKERDEFINEPIXMAP_USER:\n\t\tif (wParam <= MARKER_MAX) {\n\t\t\tvs.markers[wParam].markType = SC_MARK_AVAILABLE;\n\t\t\tvs.markers[wParam].alpha = lParam;\n\t\t}\n\t\tbreak;\n\n\tcase SCI_RGBAIMAGESETWIDTH:\n\t\tsizeRGBAImage.x = static_cast<XYPOSITION>(wParam);\n\t\tbreak;\n\n\tcase SCI_RGBAIMAGESETHEIGHT:\n\t\tsizeRGBAImage.y = static_cast<XYPOSITION>(wParam);\n\t\tbreak;\n\n\tcase SCI_RGBAIMAGESETSCALE:\n\t\tscaleRGBAImage = static_cast<float>(wParam);\n\t\tbreak;\n\n\tcase SCI_MARKERDEFINERGBAIMAGE:\n\t\tif (wParam <= MARKER_MAX) {\n\t\t\tvs.markers[wParam].SetRGBAImage(sizeRGBAImage, scaleRGBAImage / 100.0f, ConstUCharPtrFromSPtr(lParam));\n\t\t\tvs.CalcLargestMarkerHeight();\n\t\t}\n\t\tInvalidateStyleData();\n\t\tRedrawSelMargin();\n\t\tbreak;\n\n\tcase SCI_SETMARGINTYPEN:\n\t\tif (ValidMargin(wParam)) {\n\t\t\tvs.ms[wParam].style = static_cast<int>(lParam);\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETMARGINTYPEN:\n\t\tif (ValidMargin(wParam))\n\t\t\treturn vs.ms[wParam].style;\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_SETMARGINWIDTHN:\n\t\tif (ValidMargin(wParam)) {\n\t\t\t// Short-circuit if the width is unchanged, to avoid unnecessary redraw.\n\t\t\tif (vs.ms[wParam].width != lParam) {\n\t\t\t\tlastXChosen += static_cast<int>(lParam) - vs.ms[wParam].width;\n\t\t\t\tvs.ms[wParam].width = static_cast<int>(lParam);\n\t\t\t\tInvalidateStyleRedraw();\n\t\t\t}\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETMARGINWIDTHN:\n\t\tif (ValidMargin(wParam))\n\t\t\treturn vs.ms[wParam].width;\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_SETMARGINMASKN:\n\t\tif (ValidMargin(wParam)) {\n\t\t\tvs.ms[wParam].mask = static_cast<int>(lParam);\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETMARGINMASKN:\n\t\tif (ValidMargin(wParam))\n\t\t\treturn vs.ms[wParam].mask;\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_SETMARGINSENSITIVEN:\n\t\tif (ValidMargin(wParam)) {\n\t\t\tvs.ms[wParam].sensitive = lParam != 0;\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETMARGINSENSITIVEN:\n\t\tif (ValidMargin(wParam))\n\t\t\treturn vs.ms[wParam].sensitive ? 1 : 0;\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_SETMARGINCURSORN:\n\t\tif (ValidMargin(wParam))\n\t\t\tvs.ms[wParam].cursor = static_cast<int>(lParam);\n\t\tbreak;\n\n\tcase SCI_GETMARGINCURSORN:\n\t\tif (ValidMargin(wParam))\n\t\t\treturn vs.ms[wParam].cursor;\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_SETMARGINBACKN:\n\t\tif (ValidMargin(wParam)) {\n\t\t\tvs.ms[wParam].back = ColourDesired(static_cast<int>(lParam));\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETMARGINBACKN:\n\t\tif (ValidMargin(wParam))\n\t\t\treturn vs.ms[wParam].back.AsInteger();\n\t\telse\n\t\t\treturn 0;\n\n\tcase SCI_SETMARGINS:\n\t\tif (wParam < 1000)\n\t\t\tvs.ms.resize(wParam);\n\t\tbreak;\n\n\tcase SCI_GETMARGINS:\n\t\treturn vs.ms.size();\n\n\tcase SCI_STYLECLEARALL:\n\t\tvs.ClearStyles();\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_STYLESETFORE:\n\tcase SCI_STYLESETBACK:\n\tcase SCI_STYLESETBOLD:\n\tcase SCI_STYLESETWEIGHT:\n\tcase SCI_STYLESETITALIC:\n\tcase SCI_STYLESETEOLFILLED:\n\tcase SCI_STYLESETSIZE:\n\tcase SCI_STYLESETSIZEFRACTIONAL:\n\tcase SCI_STYLESETFONT:\n\tcase SCI_STYLESETUNDERLINE:\n\tcase SCI_STYLESETCASE:\n\tcase SCI_STYLESETCHARACTERSET:\n\tcase SCI_STYLESETVISIBLE:\n\tcase SCI_STYLESETCHANGEABLE:\n\tcase SCI_STYLESETHOTSPOT:\n\t\tStyleSetMessage(iMessage, wParam, lParam);\n\t\tbreak;\n\n\tcase SCI_STYLEGETFORE:\n\tcase SCI_STYLEGETBACK:\n\tcase SCI_STYLEGETBOLD:\n\tcase SCI_STYLEGETWEIGHT:\n\tcase SCI_STYLEGETITALIC:\n\tcase SCI_STYLEGETEOLFILLED:\n\tcase SCI_STYLEGETSIZE:\n\tcase SCI_STYLEGETSIZEFRACTIONAL:\n\tcase SCI_STYLEGETFONT:\n\tcase SCI_STYLEGETUNDERLINE:\n\tcase SCI_STYLEGETCASE:\n\tcase SCI_STYLEGETCHARACTERSET:\n\tcase SCI_STYLEGETVISIBLE:\n\tcase SCI_STYLEGETCHANGEABLE:\n\tcase SCI_STYLEGETHOTSPOT:\n\t\treturn StyleGetMessage(iMessage, wParam, lParam);\n\n\tcase SCI_STYLERESETDEFAULT:\n\t\tvs.ResetDefaultStyle();\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n#ifdef INCLUDE_DEPRECATED_FEATURES\n\tcase SCI_SETSTYLEBITS:\n\t\tvs.EnsureStyle(0xff);\n\t\tbreak;\n\n\tcase SCI_GETSTYLEBITS:\n\t\treturn 8;\n#endif\n\n\tcase SCI_SETLINESTATE:\n\t\treturn pdoc->SetLineState(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\n\tcase SCI_GETLINESTATE:\n\t\treturn pdoc->GetLineState(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_GETMAXLINESTATE:\n\t\treturn pdoc->GetMaxLineState();\n\n\tcase SCI_GETCARETLINEVISIBLE:\n\t\treturn vs.showCaretLineBackground;\n\tcase SCI_SETCARETLINEVISIBLE:\n\t\tvs.showCaretLineBackground = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\tcase SCI_GETCARETLINEVISIBLEALWAYS:\n\t\treturn vs.alwaysShowCaretLineBackground;\n\tcase SCI_SETCARETLINEVISIBLEALWAYS:\n\t\tvs.alwaysShowCaretLineBackground = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETCARETLINEFRAME:\n\t\treturn vs.caretLineFrame;\n\tcase SCI_SETCARETLINEFRAME:\n\t\tvs.caretLineFrame = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\tcase SCI_GETCARETLINEBACK:\n\t\treturn vs.caretLineBackground.AsInteger();\n\tcase SCI_SETCARETLINEBACK:\n\t\tvs.caretLineBackground = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\tcase SCI_GETCARETLINEBACKALPHA:\n\t\treturn vs.caretLineAlpha;\n\tcase SCI_SETCARETLINEBACKALPHA:\n\t\tvs.caretLineAlpha = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\t\t// Folding messages\n\n\tcase SCI_VISIBLEFROMDOCLINE:\n\t\treturn pcs->DisplayFromDoc(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_DOCLINEFROMVISIBLE:\n\t\treturn pcs->DocFromDisplay(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_WRAPCOUNT:\n\t\treturn WrapCount(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_SETFOLDLEVEL: {\n\t\t\tconst int prev = pdoc->SetLevel(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\t\tif (prev != static_cast<int>(lParam))\n\t\t\t\tRedrawSelMargin();\n\t\t\treturn prev;\n\t\t}\n\n\tcase SCI_GETFOLDLEVEL:\n\t\treturn pdoc->GetLevel(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_GETLASTCHILD:\n\t\treturn pdoc->GetLastChild(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\n\tcase SCI_GETFOLDPARENT:\n\t\treturn pdoc->GetFoldParent(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_SHOWLINES:\n\t\tpcs->SetVisible(static_cast<Sci::Line>(wParam), static_cast<Sci::Line>(lParam), true);\n\t\tSetScrollBars();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_HIDELINES:\n\t\tif (wParam > 0)\n\t\t\tpcs->SetVisible(static_cast<Sci::Line>(wParam), static_cast<Sci::Line>(lParam), false);\n\t\tSetScrollBars();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETLINEVISIBLE:\n\t\treturn pcs->GetVisible(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_GETALLLINESVISIBLE:\n\t\treturn pcs->HiddenLines() ? 0 : 1;\n\n\tcase SCI_SETFOLDEXPANDED:\n\t\tSetFoldExpanded(static_cast<Sci::Line>(wParam), lParam != 0);\n\t\tbreak;\n\n\tcase SCI_GETFOLDEXPANDED:\n\t\treturn pcs->GetExpanded(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_SETAUTOMATICFOLD:\n\t\tfoldAutomatic = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETAUTOMATICFOLD:\n\t\treturn foldAutomatic;\n\n\tcase SCI_SETFOLDFLAGS:\n\t\tfoldFlags = static_cast<int>(wParam);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_TOGGLEFOLDSHOWTEXT:\n\t\tpcs->SetFoldDisplayText(static_cast<Sci::Line>(wParam), CharPtrFromSPtr(lParam));\n\t\tFoldLine(static_cast<Sci::Line>(wParam), SC_FOLDACTION_TOGGLE);\n\t\tbreak;\n\n\tcase SCI_FOLDDISPLAYTEXTSETSTYLE:\n\t\tfoldDisplayTextStyle = static_cast<int>(wParam);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_TOGGLEFOLD:\n\t\tFoldLine(static_cast<Sci::Line>(wParam), SC_FOLDACTION_TOGGLE);\n\t\tbreak;\n\n\tcase SCI_FOLDLINE:\n\t\tFoldLine(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\tbreak;\n\n\tcase SCI_FOLDCHILDREN:\n\t\tFoldExpand(static_cast<Sci::Line>(wParam), static_cast<int>(lParam), pdoc->GetLevel(static_cast<int>(wParam)));\n\t\tbreak;\n\n\tcase SCI_FOLDALL:\n\t\tFoldAll(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_EXPANDCHILDREN:\n\t\tFoldExpand(static_cast<Sci::Line>(wParam), SC_FOLDACTION_EXPAND, static_cast<int>(lParam));\n\t\tbreak;\n\n\tcase SCI_CONTRACTEDFOLDNEXT:\n\t\treturn ContractedFoldNext(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_ENSUREVISIBLE:\n\t\tEnsureLineVisible(static_cast<Sci::Line>(wParam), false);\n\t\tbreak;\n\n\tcase SCI_ENSUREVISIBLEENFORCEPOLICY:\n\t\tEnsureLineVisible(static_cast<Sci::Line>(wParam), true);\n\t\tbreak;\n\n\tcase SCI_SCROLLRANGE:\n\t\tScrollRange(SelectionRange(static_cast<Sci::Position>(wParam), lParam));\n\t\tbreak;\n\n\tcase SCI_SEARCHANCHOR:\n\t\tSearchAnchor();\n\t\tbreak;\n\n\tcase SCI_SEARCHNEXT:\n\tcase SCI_SEARCHPREV:\n\t\treturn SearchText(iMessage, wParam, lParam);\n\n\tcase SCI_SETXCARETPOLICY:\n\t\tcaretXPolicy = static_cast<int>(wParam);\n\t\tcaretXSlop = static_cast<int>(lParam);\n\t\tbreak;\n\n\tcase SCI_SETYCARETPOLICY:\n\t\tcaretYPolicy = static_cast<int>(wParam);\n\t\tcaretYSlop = static_cast<int>(lParam);\n\t\tbreak;\n\n\tcase SCI_SETVISIBLEPOLICY:\n\t\tvisiblePolicy = static_cast<int>(wParam);\n\t\tvisibleSlop = static_cast<int>(lParam);\n\t\tbreak;\n\n\tcase SCI_LINESONSCREEN:\n\t\treturn LinesOnScreen();\n\n\tcase SCI_SETSELFORE:\n\t\tvs.selColours.fore = ColourOptional(wParam, lParam);\n\t\tvs.selAdditionalForeground = ColourDesired(static_cast<int>(lParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETSELBACK:\n\t\tvs.selColours.back = ColourOptional(wParam, lParam);\n\t\tvs.selAdditionalBackground = ColourDesired(static_cast<int>(lParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETSELALPHA:\n\t\tvs.selAlpha = static_cast<int>(wParam);\n\t\tvs.selAdditionalAlpha = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETSELALPHA:\n\t\treturn vs.selAlpha;\n\n\tcase SCI_GETSELEOLFILLED:\n\t\treturn vs.selEOLFilled;\n\n\tcase SCI_SETSELEOLFILLED:\n\t\tvs.selEOLFilled = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETWHITESPACEFORE:\n\t\tvs.whitespaceColours.fore = ColourOptional(wParam, lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETWHITESPACEBACK:\n\t\tvs.whitespaceColours.back = ColourOptional(wParam, lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETCARETFORE:\n\t\tvs.caretcolour = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETCARETFORE:\n\t\treturn vs.caretcolour.AsInteger();\n\n\tcase SCI_SETCARETSTYLE:\n\t\tif (wParam <= CARETSTYLE_BLOCK)\n\t\t\tvs.caretStyle = static_cast<int>(wParam);\n\t\telse\n\t\t\t/* Default to the line caret */\n\t\t\tvs.caretStyle = CARETSTYLE_LINE;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETCARETSTYLE:\n\t\treturn vs.caretStyle;\n\n\tcase SCI_SETCARETWIDTH:\n\t\tvs.caretWidth = Sci::clamp(static_cast<int>(wParam), 0, 3);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETCARETWIDTH:\n\t\treturn vs.caretWidth;\n\n\tcase SCI_ASSIGNCMDKEY:\n\t\tkmap.AssignCmdKey(LowShortFromWParam(wParam),\n\t\t\tHighShortFromWParam(wParam), static_cast<unsigned int>(lParam));\n\t\tbreak;\n\n\tcase SCI_CLEARCMDKEY:\n\t\tkmap.AssignCmdKey(LowShortFromWParam(wParam),\n\t\t\tHighShortFromWParam(wParam), SCI_NULL);\n\t\tbreak;\n\n\tcase SCI_CLEARALLCMDKEYS:\n\t\tkmap.Clear();\n\t\tbreak;\n\n\tcase SCI_INDICSETSTYLE:\n\t\tif (wParam <= INDIC_MAX) {\n\t\t\tvs.indicators[wParam].sacNormal.style = static_cast<int>(lParam);\n\t\t\tvs.indicators[wParam].sacHover.style = static_cast<int>(lParam);\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETSTYLE:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacNormal.style : 0;\n\n\tcase SCI_INDICSETFORE:\n\t\tif (wParam <= INDIC_MAX) {\n\t\t\tvs.indicators[wParam].sacNormal.fore = ColourDesired(static_cast<int>(lParam));\n\t\t\tvs.indicators[wParam].sacHover.fore = ColourDesired(static_cast<int>(lParam));\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETFORE:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacNormal.fore.AsInteger() : 0;\n\n\tcase SCI_INDICSETHOVERSTYLE:\n\t\tif (wParam <= INDIC_MAX) {\n\t\t\tvs.indicators[wParam].sacHover.style = static_cast<int>(lParam);\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETHOVERSTYLE:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacHover.style : 0;\n\n\tcase SCI_INDICSETHOVERFORE:\n\t\tif (wParam <= INDIC_MAX) {\n\t\t\tvs.indicators[wParam].sacHover.fore = ColourDesired(static_cast<int>(lParam));\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETHOVERFORE:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacHover.fore.AsInteger() : 0;\n\n\tcase SCI_INDICSETFLAGS:\n\t\tif (wParam <= INDIC_MAX) {\n\t\t\tvs.indicators[wParam].SetFlags(static_cast<int>(lParam));\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETFLAGS:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].Flags() : 0;\n\n\tcase SCI_INDICSETUNDER:\n\t\tif (wParam <= INDIC_MAX) {\n\t\t\tvs.indicators[wParam].under = lParam != 0;\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETUNDER:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].under : 0;\n\n\tcase SCI_INDICSETALPHA:\n\t\tif (wParam <= INDIC_MAX && lParam >=0 && lParam <= 255) {\n\t\t\tvs.indicators[wParam].fillAlpha = static_cast<int>(lParam);\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETALPHA:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].fillAlpha : 0;\n\n\tcase SCI_INDICSETOUTLINEALPHA:\n\t\tif (wParam <= INDIC_MAX && lParam >=0 && lParam <= 255) {\n\t\t\tvs.indicators[wParam].outlineAlpha = static_cast<int>(lParam);\n\t\t\tInvalidateStyleRedraw();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_INDICGETOUTLINEALPHA:\n\t\treturn (wParam <= INDIC_MAX) ? vs.indicators[wParam].outlineAlpha : 0;\n\n\tcase SCI_SETINDICATORCURRENT:\n\t\tpdoc->DecorationSetCurrentIndicator(static_cast<int>(wParam));\n\t\tbreak;\n\tcase SCI_GETINDICATORCURRENT:\n\t\treturn pdoc->decorations->GetCurrentIndicator();\n\tcase SCI_SETINDICATORVALUE:\n\t\tpdoc->decorations->SetCurrentValue(static_cast<int>(wParam));\n\t\tbreak;\n\tcase SCI_GETINDICATORVALUE:\n\t\treturn pdoc->decorations->GetCurrentValue();\n\n\tcase SCI_INDICATORFILLRANGE:\n\t\tpdoc->DecorationFillRange(static_cast<Sci::Position>(wParam),\n\t\t\tpdoc->decorations->GetCurrentValue(), lParam);\n\t\tbreak;\n\n\tcase SCI_INDICATORCLEARRANGE:\n\t\tpdoc->DecorationFillRange(static_cast<Sci::Position>(wParam), 0,\n\t\t\tlParam);\n\t\tbreak;\n\n\tcase SCI_INDICATORALLONFOR:\n\t\treturn pdoc->decorations->AllOnFor(static_cast<Sci::Position>(wParam));\n\n\tcase SCI_INDICATORVALUEAT:\n\t\treturn pdoc->decorations->ValueAt(static_cast<int>(wParam), lParam);\n\n\tcase SCI_INDICATORSTART:\n\t\treturn pdoc->decorations->Start(static_cast<int>(wParam), lParam);\n\n\tcase SCI_INDICATOREND:\n\t\treturn pdoc->decorations->End(static_cast<int>(wParam), lParam);\n\n\tcase SCI_LINEDOWN:\n\tcase SCI_LINEDOWNEXTEND:\n\tcase SCI_PARADOWN:\n\tcase SCI_PARADOWNEXTEND:\n\tcase SCI_LINEUP:\n\tcase SCI_LINEUPEXTEND:\n\tcase SCI_PARAUP:\n\tcase SCI_PARAUPEXTEND:\n\tcase SCI_CHARLEFT:\n\tcase SCI_CHARLEFTEXTEND:\n\tcase SCI_CHARRIGHT:\n\tcase SCI_CHARRIGHTEXTEND:\n\tcase SCI_WORDLEFT:\n\tcase SCI_WORDLEFTEXTEND:\n\tcase SCI_WORDRIGHT:\n\tcase SCI_WORDRIGHTEXTEND:\n\tcase SCI_WORDLEFTEND:\n\tcase SCI_WORDLEFTENDEXTEND:\n\tcase SCI_WORDRIGHTEND:\n\tcase SCI_WORDRIGHTENDEXTEND:\n\tcase SCI_HOME:\n\tcase SCI_HOMEEXTEND:\n\tcase SCI_LINEEND:\n\tcase SCI_LINEENDEXTEND:\n\tcase SCI_HOMEWRAP:\n\tcase SCI_HOMEWRAPEXTEND:\n\tcase SCI_LINEENDWRAP:\n\tcase SCI_LINEENDWRAPEXTEND:\n\tcase SCI_DOCUMENTSTART:\n\tcase SCI_DOCUMENTSTARTEXTEND:\n\tcase SCI_DOCUMENTEND:\n\tcase SCI_DOCUMENTENDEXTEND:\n\tcase SCI_SCROLLTOSTART:\n\tcase SCI_SCROLLTOEND:\n\n\tcase SCI_STUTTEREDPAGEUP:\n\tcase SCI_STUTTEREDPAGEUPEXTEND:\n\tcase SCI_STUTTEREDPAGEDOWN:\n\tcase SCI_STUTTEREDPAGEDOWNEXTEND:\n\n\tcase SCI_PAGEUP:\n\tcase SCI_PAGEUPEXTEND:\n\tcase SCI_PAGEDOWN:\n\tcase SCI_PAGEDOWNEXTEND:\n\tcase SCI_EDITTOGGLEOVERTYPE:\n\tcase SCI_CANCEL:\n\tcase SCI_DELETEBACK:\n\tcase SCI_TAB:\n\tcase SCI_BACKTAB:\n\tcase SCI_NEWLINE:\n\tcase SCI_FORMFEED:\n\tcase SCI_VCHOME:\n\tcase SCI_VCHOMEEXTEND:\n\tcase SCI_VCHOMEWRAP:\n\tcase SCI_VCHOMEWRAPEXTEND:\n\tcase SCI_VCHOMEDISPLAY:\n\tcase SCI_VCHOMEDISPLAYEXTEND:\n\tcase SCI_ZOOMIN:\n\tcase SCI_ZOOMOUT:\n\tcase SCI_DELWORDLEFT:\n\tcase SCI_DELWORDRIGHT:\n\tcase SCI_DELWORDRIGHTEND:\n\tcase SCI_DELLINELEFT:\n\tcase SCI_DELLINERIGHT:\n\tcase SCI_LINECOPY:\n\tcase SCI_LINECUT:\n\tcase SCI_LINEDELETE:\n\tcase SCI_LINETRANSPOSE:\n\tcase SCI_LINEREVERSE:\n\tcase SCI_LINEDUPLICATE:\n\tcase SCI_LOWERCASE:\n\tcase SCI_UPPERCASE:\n\tcase SCI_LINESCROLLDOWN:\n\tcase SCI_LINESCROLLUP:\n\tcase SCI_WORDPARTLEFT:\n\tcase SCI_WORDPARTLEFTEXTEND:\n\tcase SCI_WORDPARTRIGHT:\n\tcase SCI_WORDPARTRIGHTEXTEND:\n\tcase SCI_DELETEBACKNOTLINE:\n\tcase SCI_HOMEDISPLAY:\n\tcase SCI_HOMEDISPLAYEXTEND:\n\tcase SCI_LINEENDDISPLAY:\n\tcase SCI_LINEENDDISPLAYEXTEND:\n\tcase SCI_LINEDOWNRECTEXTEND:\n\tcase SCI_LINEUPRECTEXTEND:\n\tcase SCI_CHARLEFTRECTEXTEND:\n\tcase SCI_CHARRIGHTRECTEXTEND:\n\tcase SCI_HOMERECTEXTEND:\n\tcase SCI_VCHOMERECTEXTEND:\n\tcase SCI_LINEENDRECTEXTEND:\n\tcase SCI_PAGEUPRECTEXTEND:\n\tcase SCI_PAGEDOWNRECTEXTEND:\n\tcase SCI_SELECTIONDUPLICATE:\n\t\treturn KeyCommand(iMessage);\n\n\tcase SCI_BRACEHIGHLIGHT:\n\t\tSetBraceHighlight(static_cast<Sci::Position>(wParam), lParam, STYLE_BRACELIGHT);\n\t\tbreak;\n\n\tcase SCI_BRACEHIGHLIGHTINDICATOR:\n\t\tif (lParam >= 0 && lParam <= INDIC_MAX) {\n\t\t\tvs.braceHighlightIndicatorSet = wParam != 0;\n\t\t\tvs.braceHighlightIndicator = static_cast<int>(lParam);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_BRACEBADLIGHT:\n\t\tSetBraceHighlight(static_cast<Sci::Position>(wParam), -1, STYLE_BRACEBAD);\n\t\tbreak;\n\n\tcase SCI_BRACEBADLIGHTINDICATOR:\n\t\tif (lParam >= 0 && lParam <= INDIC_MAX) {\n\t\t\tvs.braceBadLightIndicatorSet = wParam != 0;\n\t\t\tvs.braceBadLightIndicator = static_cast<int>(lParam);\n\t\t}\n\t\tbreak;\n\n\tcase SCI_BRACEMATCH:\n\t\t// wParam is position of char to find brace for,\n\t\t// lParam is maximum amount of text to restyle to find it\n\t\treturn pdoc->BraceMatch(static_cast<Sci::Position>(wParam), lParam);\n\n\tcase SCI_GETVIEWEOL:\n\t\treturn vs.viewEOL;\n\n\tcase SCI_SETVIEWEOL:\n\t\tvs.viewEOL = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETZOOM: {\n\t\t\tconst int zoomLevel = static_cast<int>(wParam);\n\t\t\tif (zoomLevel != vs.zoomLevel) {\n\t\t\t\tvs.zoomLevel = zoomLevel;\n\t\t\t\tInvalidateStyleRedraw();\n\t\t\t\tNotifyZoom();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\tcase SCI_GETZOOM:\n\t\treturn vs.zoomLevel;\n\n\tcase SCI_GETEDGECOLUMN:\n\t\treturn vs.theEdge.column;\n\n\tcase SCI_SETEDGECOLUMN:\n\t\tvs.theEdge.column = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETEDGEMODE:\n\t\treturn vs.edgeState;\n\n\tcase SCI_SETEDGEMODE:\n\t\tvs.edgeState = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETEDGECOLOUR:\n\t\treturn vs.theEdge.colour.AsInteger();\n\n\tcase SCI_SETEDGECOLOUR:\n\t\tvs.theEdge.colour = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_MULTIEDGEADDLINE:\n\t\tvs.theMultiEdge.push_back(EdgeProperties(wParam, lParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_MULTIEDGECLEARALL:\n\t\tstd::vector<EdgeProperties>().swap(vs.theMultiEdge); // Free vector and memory, C++03 compatible\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETACCESSIBILITY:\n\t\treturn SC_ACCESSIBILITY_DISABLED;\n\n\tcase SCI_SETACCESSIBILITY:\n\t\t// May be implemented by platform code.\n\t\tbreak;\n\n\tcase SCI_GETDOCPOINTER:\n\t\treturn reinterpret_cast<sptr_t>(pdoc);\n\n\tcase SCI_SETDOCPOINTER:\n\t\tCancelModes();\n\t\tSetDocPointer(static_cast<Document *>(PtrFromSPtr(lParam)));\n\t\treturn 0;\n\n\tcase SCI_CREATEDOCUMENT: {\n\t\t\tDocument *doc = new Document(static_cast<int>(lParam));\n\t\t\tdoc->AddRef();\n\t\t\tdoc->Allocate(static_cast<Sci::Position>(wParam));\n\t\t\tpcs = ContractionStateCreate(pdoc->IsLarge());\n\t\t\treturn reinterpret_cast<sptr_t>(doc);\n\t\t}\n\n\tcase SCI_ADDREFDOCUMENT:\n\t\t(static_cast<Document *>(PtrFromSPtr(lParam)))->AddRef();\n\t\tbreak;\n\n\tcase SCI_RELEASEDOCUMENT:\n\t\t(static_cast<Document *>(PtrFromSPtr(lParam)))->Release();\n\t\tbreak;\n\n\tcase SCI_GETDOCUMENTOPTIONS:\n\t\treturn pdoc->Options();\n\n\tcase SCI_CREATELOADER: {\n\t\t\tDocument *doc = new Document(static_cast<int>(lParam));\n\t\t\tdoc->AddRef();\n\t\t\tdoc->Allocate(static_cast<Sci::Position>(wParam));\n\t\t\tdoc->SetUndoCollection(false);\n\t\t\tpcs = ContractionStateCreate(pdoc->IsLarge());\n\t\t\treturn reinterpret_cast<sptr_t>(static_cast<ILoader *>(doc));\n\t\t}\n\n\tcase SCI_SETMODEVENTMASK:\n\t\tmodEventMask = static_cast<int>(wParam);\n\t\treturn 0;\n\n\tcase SCI_GETMODEVENTMASK:\n\t\treturn modEventMask;\n\n\tcase SCI_SETCOMMANDEVENTS:\n\t\tcommandEvents = static_cast<bool>(wParam);\n\t\treturn 0;\n\n\tcase SCI_GETCOMMANDEVENTS:\n\t\treturn commandEvents;\n\n\tcase SCI_CONVERTEOLS:\n\t\tpdoc->ConvertLineEnds(static_cast<int>(wParam));\n\t\tSetSelection(sel.MainCaret(), sel.MainAnchor());\t// Ensure selection inside document\n\t\treturn 0;\n\n\tcase SCI_SETLENGTHFORENCODE:\n\t\tlengthForEncode = static_cast<Sci::Position>(wParam);\n\t\treturn 0;\n\n\tcase SCI_SELECTIONISRECTANGLE:\n\t\treturn sel.selType == Selection::selRectangle ? 1 : 0;\n\n\tcase SCI_SETSELECTIONMODE: {\n\t\t\tswitch (wParam) {\n\t\t\tcase SC_SEL_STREAM:\n\t\t\t\tsel.SetMoveExtends(!sel.MoveExtends() || (sel.selType != Selection::selStream));\n\t\t\t\tsel.selType = Selection::selStream;\n\t\t\t\tbreak;\n\t\t\tcase SC_SEL_RECTANGLE:\n\t\t\t\tsel.SetMoveExtends(!sel.MoveExtends() || (sel.selType != Selection::selRectangle));\n\t\t\t\tsel.selType = Selection::selRectangle;\n\t\t\t\tsel.Rectangular() = sel.RangeMain(); // adjust current selection\n\t\t\t\tbreak;\n\t\t\tcase SC_SEL_LINES:\n\t\t\t\tsel.SetMoveExtends(!sel.MoveExtends() || (sel.selType != Selection::selLines));\n\t\t\t\tsel.selType = Selection::selLines;\n\t\t\t\tSetSelection(sel.RangeMain().caret, sel.RangeMain().anchor); // adjust current selection\n\t\t\t\tbreak;\n\t\t\tcase SC_SEL_THIN:\n\t\t\t\tsel.SetMoveExtends(!sel.MoveExtends() || (sel.selType != Selection::selThin));\n\t\t\t\tsel.selType = Selection::selThin;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tsel.SetMoveExtends(!sel.MoveExtends() || (sel.selType != Selection::selStream));\n\t\t\t\tsel.selType = Selection::selStream;\n\t\t\t}\n\t\t\tInvalidateWholeSelection();\n\t\t\tbreak;\n\t\t}\n\tcase SCI_GETSELECTIONMODE:\n\t\tswitch (sel.selType) {\n\t\tcase Selection::selStream:\n\t\t\treturn SC_SEL_STREAM;\n\t\tcase Selection::selRectangle:\n\t\t\treturn SC_SEL_RECTANGLE;\n\t\tcase Selection::selLines:\n\t\t\treturn SC_SEL_LINES;\n\t\tcase Selection::selThin:\n\t\t\treturn SC_SEL_THIN;\n\t\tdefault:\t// ?!\n\t\t\treturn SC_SEL_STREAM;\n\t\t}\n\tcase SCI_GETMOVEEXTENDSSELECTION:\n\t\treturn sel.MoveExtends();\n\tcase SCI_GETLINESELSTARTPOSITION:\n\tcase SCI_GETLINESELENDPOSITION: {\n\t\t\tconst SelectionSegment segmentLine(\n\t\t\t\tSelectionPosition(pdoc->LineStart(static_cast<Sci::Position>(wParam))),\n\t\t\t\tSelectionPosition(pdoc->LineEnd(static_cast<Sci::Position>(wParam))));\n\t\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\t\tconst SelectionSegment portion = sel.Range(r).Intersect(segmentLine);\n\t\t\t\tif (portion.start.IsValid()) {\n\t\t\t\t\treturn (iMessage == SCI_GETLINESELSTARTPOSITION) ? portion.start.Position() : portion.end.Position();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn INVALID_POSITION;\n\t\t}\n\n\tcase SCI_SETOVERTYPE:\n\t\tif (inOverstrike != (wParam != 0)) {\n\t\t\tinOverstrike = wParam != 0;\n\t\t\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t\t\tShowCaretAtCurrentPosition();\n\t\t}\n\t\tbreak;\n\n\tcase SCI_GETOVERTYPE:\n\t\treturn inOverstrike ? 1 : 0;\n\n\tcase SCI_SETFOCUS:\n\t\tSetFocusState(wParam != 0);\n\t\tbreak;\n\n\tcase SCI_GETFOCUS:\n\t\treturn hasFocus;\n\n\tcase SCI_SETSTATUS:\n\t\terrorStatus = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETSTATUS:\n\t\treturn errorStatus;\n\n\tcase SCI_SETMOUSEDOWNCAPTURES:\n\t\tmouseDownCaptures = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETMOUSEDOWNCAPTURES:\n\t\treturn mouseDownCaptures;\n\n\tcase SCI_SETMOUSEWHEELCAPTURES:\n\t\tmouseWheelCaptures = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETMOUSEWHEELCAPTURES:\n\t\treturn mouseWheelCaptures;\n\n\tcase SCI_SETCURSOR:\n\t\tcursorMode = static_cast<int>(wParam);\n\t\tDisplayCursor(Window::cursorText);\n\t\tbreak;\n\n\tcase SCI_GETCURSOR:\n\t\treturn cursorMode;\n\n\tcase SCI_SETCONTROLCHARSYMBOL:\n\t\tvs.controlCharSymbol = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETCONTROLCHARSYMBOL:\n\t\treturn vs.controlCharSymbol;\n\n\tcase SCI_SETREPRESENTATION:\n\t\treprs.SetRepresentation(ConstCharPtrFromUPtr(wParam), ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_GETREPRESENTATION: {\n\t\t\tconst Representation *repr = reprs.RepresentationFromCharacter(\n\t\t\t\tConstCharPtrFromUPtr(wParam), UTF8MaxBytes);\n\t\t\tif (repr) {\n\t\t\t\treturn StringResult(lParam, repr->stringRep.c_str());\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\n\tcase SCI_CLEARREPRESENTATION:\n\t\treprs.ClearRepresentation(ConstCharPtrFromUPtr(wParam));\n\t\tbreak;\n\n\tcase SCI_STARTRECORD:\n\t\trecordingMacro = true;\n\t\treturn 0;\n\n\tcase SCI_STOPRECORD:\n\t\trecordingMacro = false;\n\t\treturn 0;\n\n\tcase SCI_MOVECARETINSIDEVIEW:\n\t\tMoveCaretInsideView();\n\t\tbreak;\n\n\tcase SCI_SETFOLDMARGINCOLOUR:\n\t\tvs.foldmarginColour = ColourOptional(wParam, lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETFOLDMARGINHICOLOUR:\n\t\tvs.foldmarginHighlightColour = ColourOptional(wParam, lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETHOTSPOTACTIVEFORE:\n\t\tvs.hotspotColours.fore = ColourOptional(wParam, lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETHOTSPOTACTIVEFORE:\n\t\treturn vs.hotspotColours.fore.AsInteger();\n\n\tcase SCI_SETHOTSPOTACTIVEBACK:\n\t\tvs.hotspotColours.back = ColourOptional(wParam, lParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETHOTSPOTACTIVEBACK:\n\t\treturn vs.hotspotColours.back.AsInteger();\n\n\tcase SCI_SETHOTSPOTACTIVEUNDERLINE:\n\t\tvs.hotspotUnderline = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETHOTSPOTACTIVEUNDERLINE:\n\t\treturn vs.hotspotUnderline ? 1 : 0;\n\n\tcase SCI_SETHOTSPOTSINGLELINE:\n\t\tvs.hotspotSingleLine = wParam != 0;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETHOTSPOTSINGLELINE:\n\t\treturn vs.hotspotSingleLine ? 1 : 0;\n\n\tcase SCI_SETPASTECONVERTENDINGS:\n\t\tconvertPastes = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETPASTECONVERTENDINGS:\n\t\treturn convertPastes ? 1 : 0;\n\n\tcase SCI_GETCHARACTERPOINTER:\n\t\treturn reinterpret_cast<sptr_t>(pdoc->BufferPointer());\n\n\tcase SCI_GETRANGEPOINTER:\n\t\treturn reinterpret_cast<sptr_t>(pdoc->RangePointer(\n\t\t\tstatic_cast<Sci::Position>(wParam), lParam));\n\n\tcase SCI_GETGAPPOSITION:\n\t\treturn pdoc->GapPosition();\n\n\tcase SCI_SETEXTRAASCENT:\n\t\tvs.extraAscent = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETEXTRAASCENT:\n\t\treturn vs.extraAscent;\n\n\tcase SCI_SETEXTRADESCENT:\n\t\tvs.extraDescent = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETEXTRADESCENT:\n\t\treturn vs.extraDescent;\n\n\tcase SCI_MARGINSETSTYLEOFFSET:\n\t\tvs.marginStyleOffset = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_MARGINGETSTYLEOFFSET:\n\t\treturn vs.marginStyleOffset;\n\n\tcase SCI_SETMARGINOPTIONS:\n\t\tmarginOptions = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETMARGINOPTIONS:\n\t\treturn marginOptions;\n\n\tcase SCI_MARGINSETTEXT:\n\t\tpdoc->MarginSetText(static_cast<Sci::Line>(wParam), CharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_MARGINGETTEXT: {\n\t\t\tconst StyledText st = pdoc->MarginStyledText(static_cast<Sci::Line>(wParam));\n\t\t\treturn BytesResult(lParam, reinterpret_cast<const unsigned char *>(st.text), st.length);\n\t\t}\n\n\tcase SCI_MARGINSETSTYLE:\n\t\tpdoc->MarginSetStyle(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\tbreak;\n\n\tcase SCI_MARGINGETSTYLE: {\n\t\t\tconst StyledText st = pdoc->MarginStyledText(static_cast<Sci::Line>(wParam));\n\t\t\treturn st.style;\n\t\t}\n\n\tcase SCI_MARGINSETSTYLES:\n\t\tpdoc->MarginSetStyles(static_cast<Sci::Line>(wParam), ConstUCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_MARGINGETSTYLES: {\n\t\t\tconst StyledText st = pdoc->MarginStyledText(static_cast<Sci::Line>(wParam));\n\t\t\treturn BytesResult(lParam, st.styles, st.length);\n\t\t}\n\n\tcase SCI_MARGINTEXTCLEARALL:\n\t\tpdoc->MarginClearAll();\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONSETTEXT:\n\t\tpdoc->AnnotationSetText(static_cast<Sci::Line>(wParam), CharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONGETTEXT: {\n\t\t\tconst StyledText st = pdoc->AnnotationStyledText(static_cast<Sci::Line>(wParam));\n\t\t\treturn BytesResult(lParam, reinterpret_cast<const unsigned char *>(st.text), st.length);\n\t\t}\n\n\tcase SCI_ANNOTATIONGETSTYLE: {\n\t\t\tconst StyledText st = pdoc->AnnotationStyledText(static_cast<Sci::Line>(wParam));\n\t\t\treturn st.style;\n\t\t}\n\n\tcase SCI_ANNOTATIONSETSTYLE:\n\t\tpdoc->AnnotationSetStyle(static_cast<Sci::Line>(wParam), static_cast<int>(lParam));\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONSETSTYLES:\n\t\tpdoc->AnnotationSetStyles(static_cast<Sci::Line>(wParam), ConstUCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONGETSTYLES: {\n\t\t\tconst StyledText st = pdoc->AnnotationStyledText(static_cast<Sci::Line>(wParam));\n\t\t\treturn BytesResult(lParam, st.styles, st.length);\n\t\t}\n\n\tcase SCI_ANNOTATIONGETLINES:\n\t\treturn pdoc->AnnotationLines(static_cast<Sci::Line>(wParam));\n\n\tcase SCI_ANNOTATIONCLEARALL:\n\t\tpdoc->AnnotationClearAll();\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONSETVISIBLE:\n\t\tSetAnnotationVisible(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONGETVISIBLE:\n\t\treturn vs.annotationVisible;\n\n\tcase SCI_ANNOTATIONSETSTYLEOFFSET:\n\t\tvs.annotationStyleOffset = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_ANNOTATIONGETSTYLEOFFSET:\n\t\treturn vs.annotationStyleOffset;\n\n\tcase SCI_RELEASEALLEXTENDEDSTYLES:\n\t\tvs.ReleaseAllExtendedStyles();\n\t\tbreak;\n\n\tcase SCI_ALLOCATEEXTENDEDSTYLES:\n\t\treturn vs.AllocateExtendedStyles(static_cast<int>(wParam));\n\n\tcase SCI_ADDUNDOACTION:\n\t\tpdoc->AddUndoAction(static_cast<Sci::Position>(wParam), lParam & UNDO_MAY_COALESCE);\n\t\tbreak;\n\n\tcase SCI_SETMOUSESELECTIONRECTANGULARSWITCH:\n\t\tmouseSelectionRectangularSwitch = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_GETMOUSESELECTIONRECTANGULARSWITCH:\n\t\treturn mouseSelectionRectangularSwitch;\n\n\tcase SCI_SETMULTIPLESELECTION:\n\t\tmultipleSelection = wParam != 0;\n\t\tInvalidateCaret();\n\t\tbreak;\n\n\tcase SCI_GETMULTIPLESELECTION:\n\t\treturn multipleSelection;\n\n\tcase SCI_SETADDITIONALSELECTIONTYPING:\n\t\tadditionalSelectionTyping = wParam != 0;\n\t\tInvalidateCaret();\n\t\tbreak;\n\n\tcase SCI_GETADDITIONALSELECTIONTYPING:\n\t\treturn additionalSelectionTyping;\n\n\tcase SCI_SETMULTIPASTE:\n\t\tmultiPasteMode = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETMULTIPASTE:\n\t\treturn multiPasteMode;\n\n\tcase SCI_SETADDITIONALCARETSBLINK:\n\t\tview.additionalCaretsBlink = wParam != 0;\n\t\tInvalidateCaret();\n\t\tbreak;\n\n\tcase SCI_GETADDITIONALCARETSBLINK:\n\t\treturn view.additionalCaretsBlink;\n\n\tcase SCI_SETADDITIONALCARETSVISIBLE:\n\t\tview.additionalCaretsVisible = wParam != 0;\n\t\tInvalidateCaret();\n\t\tbreak;\n\n\tcase SCI_GETADDITIONALCARETSVISIBLE:\n\t\treturn view.additionalCaretsVisible;\n\n\tcase SCI_GETSELECTIONS:\n\t\treturn sel.Count();\n\n\tcase SCI_GETSELECTIONEMPTY:\n\t\treturn sel.Empty();\n\n\tcase SCI_CLEARSELECTIONS:\n\t\tsel.Clear();\n\t\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_SETSELECTION:\n\t\tsel.SetSelection(SelectionRange(static_cast<Sci::Position>(wParam), lParam));\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_ADDSELECTION:\n\t\tsel.AddSelection(SelectionRange(static_cast<Sci::Position>(wParam), lParam));\n\t\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_DROPSELECTIONN:\n\t\tsel.DropSelection(static_cast<size_t>(wParam));\n\t\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_SETMAINSELECTION:\n\t\tsel.SetMain(static_cast<size_t>(wParam));\n\t\tContainerNeedsUpdate(SC_UPDATE_SELECTION);\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETMAINSELECTION:\n\t\treturn sel.Main();\n\n\tcase SCI_SETSELECTIONNCARET:\n\tcase SCI_SETSELECTIONNANCHOR:\n\tcase SCI_SETSELECTIONNCARETVIRTUALSPACE:\n\tcase SCI_SETSELECTIONNANCHORVIRTUALSPACE:\n\tcase SCI_SETSELECTIONNSTART:\n\tcase SCI_SETSELECTIONNEND:\n\t\tSetSelectionNMessage(iMessage, wParam, lParam);\n\t\tbreak;\n\n\tcase SCI_GETSELECTIONNCARET:\n\t\treturn sel.Range(wParam).caret.Position();\n\n\tcase SCI_GETSELECTIONNANCHOR:\n\t\treturn sel.Range(wParam).anchor.Position();\n\n\tcase SCI_GETSELECTIONNCARETVIRTUALSPACE:\n\t\treturn sel.Range(wParam).caret.VirtualSpace();\n\n\tcase SCI_GETSELECTIONNANCHORVIRTUALSPACE:\n\t\treturn sel.Range(wParam).anchor.VirtualSpace();\n\n\tcase SCI_GETSELECTIONNSTART:\n\t\treturn sel.Range(wParam).Start().Position();\n\n\tcase SCI_GETSELECTIONNEND:\n\t\treturn sel.Range(wParam).End().Position();\n\n\tcase SCI_SETRECTANGULARSELECTIONCARET:\n\t\tif (!sel.IsRectangular())\n\t\t\tsel.Clear();\n\t\tsel.selType = Selection::selRectangle;\n\t\tsel.Rectangular().caret.SetPosition(static_cast<Sci::Position>(wParam));\n\t\tSetRectangularRange();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETRECTANGULARSELECTIONCARET:\n\t\treturn sel.Rectangular().caret.Position();\n\n\tcase SCI_SETRECTANGULARSELECTIONANCHOR:\n\t\tif (!sel.IsRectangular())\n\t\t\tsel.Clear();\n\t\tsel.selType = Selection::selRectangle;\n\t\tsel.Rectangular().anchor.SetPosition(static_cast<Sci::Position>(wParam));\n\t\tSetRectangularRange();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETRECTANGULARSELECTIONANCHOR:\n\t\treturn sel.Rectangular().anchor.Position();\n\n\tcase SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE:\n\t\tif (!sel.IsRectangular())\n\t\t\tsel.Clear();\n\t\tsel.selType = Selection::selRectangle;\n\t\tsel.Rectangular().caret.SetVirtualSpace(static_cast<Sci::Position>(wParam));\n\t\tSetRectangularRange();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE:\n\t\treturn sel.Rectangular().caret.VirtualSpace();\n\n\tcase SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE:\n\t\tif (!sel.IsRectangular())\n\t\t\tsel.Clear();\n\t\tsel.selType = Selection::selRectangle;\n\t\tsel.Rectangular().anchor.SetVirtualSpace(static_cast<Sci::Position>(wParam));\n\t\tSetRectangularRange();\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE:\n\t\treturn sel.Rectangular().anchor.VirtualSpace();\n\n\tcase SCI_SETVIRTUALSPACEOPTIONS:\n\t\tvirtualSpaceOptions = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_GETVIRTUALSPACEOPTIONS:\n\t\treturn virtualSpaceOptions;\n\n\tcase SCI_SETADDITIONALSELFORE:\n\t\tvs.selAdditionalForeground = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETADDITIONALSELBACK:\n\t\tvs.selAdditionalBackground = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_SETADDITIONALSELALPHA:\n\t\tvs.selAdditionalAlpha = static_cast<int>(wParam);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETADDITIONALSELALPHA:\n\t\treturn vs.selAdditionalAlpha;\n\n\tcase SCI_SETADDITIONALCARETFORE:\n\t\tvs.additionalCaretColour = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_GETADDITIONALCARETFORE:\n\t\treturn vs.additionalCaretColour.AsInteger();\n\n\tcase SCI_ROTATESELECTION:\n\t\tsel.RotateMain();\n\t\tInvalidateWholeSelection();\n\t\tbreak;\n\n\tcase SCI_SWAPMAINANCHORCARET:\n\t\tInvalidateSelection(sel.RangeMain());\n\t\tsel.RangeMain().Swap();\n\t\tbreak;\n\n\tcase SCI_MULTIPLESELECTADDNEXT:\n\t\tMultipleSelectAdd(addOne);\n\t\tbreak;\n\n\tcase SCI_MULTIPLESELECTADDEACH:\n\t\tMultipleSelectAdd(addEach);\n\t\tbreak;\n\n\tcase SCI_CHANGELEXERSTATE:\n\t\tpdoc->ChangeLexerState(static_cast<Sci::Position>(wParam), lParam);\n\t\tbreak;\n\n\tcase SCI_SETIDENTIFIER:\n\t\tSetCtrlID(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETIDENTIFIER:\n\t\treturn GetCtrlID();\n\n\tcase SCI_SETTECHNOLOGY:\n\t\t// No action by default\n\t\tbreak;\n\n\tcase SCI_GETTECHNOLOGY:\n\t\treturn technology;\n\n\tcase SCI_COUNTCHARACTERS:\n\t\treturn pdoc->CountCharacters(static_cast<Sci::Position>(wParam), lParam);\n\n\tcase SCI_COUNTCODEUNITS:\n\t\treturn pdoc->CountUTF16(static_cast<Sci::Position>(wParam), lParam);\n\n\tdefault:\n\t\treturn DefWndProc(iMessage, wParam, lParam);\n\t}\n\t//Platform::DebugPrintf(\"end wnd proc\\n\");\n\treturn 0;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/Editor.h",
    "content": "// Scintilla source code edit control\n/** @file Editor.h\n ** Defines the main editor class.\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef EDITOR_H\n#define EDITOR_H\n\nnamespace Scintilla {\n\n/**\n */\nclass Timer {\npublic:\n\tbool ticking;\n\tint ticksToWait;\n\tenum {tickSize = 100};\n\tTickerID tickerID;\n\n\tTimer();\n};\n\n/**\n */\nclass Idler {\npublic:\n\tbool state;\n\tIdlerID idlerID;\n\n\tIdler();\n};\n\n/**\n * When platform has a way to generate an event before painting,\n * accumulate needed styling range and other work items in\n * WorkNeeded to avoid unnecessary work inside paint handler\n */\nclass WorkNeeded {\npublic:\n\tenum workItems {\n\t\tworkNone=0,\n\t\tworkStyle=1,\n\t\tworkUpdateUI=2\n\t};\n\tenum workItems items;\n\tSci::Position upTo;\n\n\tWorkNeeded() : items(workNone), upTo(0) {}\n\tvoid Reset() {\n\t\titems = workNone;\n\t\tupTo = 0;\n\t}\n\tvoid Need(workItems items_, Sci::Position pos) {\n\t\tif ((items_ & workStyle) && (upTo < pos))\n\t\t\tupTo = pos;\n\t\titems = static_cast<workItems>(items | items_);\n\t}\n};\n\n/**\n * Hold a piece of text selected for copying or dragging, along with encoding and selection format information.\n */\nclass SelectionText {\n\tstd::string s;\npublic:\n\tbool rectangular;\n\tbool lineCopy;\n\tint codePage;\n\tint characterSet;\n\tSelectionText() : rectangular(false), lineCopy(false), codePage(0), characterSet(0) {}\n\tvoid Clear() {\n\t\ts.clear();\n\t\trectangular = false;\n\t\tlineCopy = false;\n\t\tcodePage = 0;\n\t\tcharacterSet = 0;\n\t}\n\tvoid Copy(const std::string &s_, int codePage_, int characterSet_, bool rectangular_, bool lineCopy_) {\n\t\ts = s_;\n\t\tcodePage = codePage_;\n\t\tcharacterSet = characterSet_;\n\t\trectangular = rectangular_;\n\t\tlineCopy = lineCopy_;\n\t\tFixSelectionForClipboard();\n\t}\n\tvoid Copy(const SelectionText &other) {\n\t\tCopy(other.s, other.codePage, other.characterSet, other.rectangular, other.lineCopy);\n\t}\n\tconst char *Data() const {\n\t\treturn s.c_str();\n\t}\n\tsize_t Length() const {\n\t\treturn s.length();\n\t}\n\tsize_t LengthWithTerminator() const {\n\t\treturn s.length() + 1;\n\t}\n\tbool Empty() const {\n\t\treturn s.empty();\n\t}\nprivate:\n\tvoid FixSelectionForClipboard() {\n\t\t// To avoid truncating the contents of the clipboard when pasted where the\n\t\t// clipboard contains NUL characters, replace NUL characters by spaces.\n\t\tstd::replace(s.begin(), s.end(), '\\0', ' ');\n\t}\n};\n\nstruct WrapPending {\n\t// The range of lines that need to be wrapped\n\tenum { lineLarge = 0x7ffffff };\n\tSci::Line start;\t// When there are wraps pending, will be in document range\n\tSci::Line end;\t// May be lineLarge to indicate all of document after start\n\tWrapPending() {\n\t\tstart = lineLarge;\n\t\tend = lineLarge;\n\t}\n\tvoid Reset() {\n\t\tstart = lineLarge;\n\t\tend = lineLarge;\n\t}\n\tvoid Wrapped(Sci::Line line) {\n\t\tif (start == line)\n\t\t\tstart++;\n\t}\n\tbool NeedsWrap() const {\n\t\treturn start < end;\n\t}\n\tbool AddRange(Sci::Line lineStart, Sci::Line lineEnd) {\n\t\tconst bool neededWrap = NeedsWrap();\n\t\tbool changed = false;\n\t\tif (start > lineStart) {\n\t\t\tstart = lineStart;\n\t\t\tchanged = true;\n\t\t}\n\t\tif ((end < lineEnd) || !neededWrap) {\n\t\t\tend = lineEnd;\n\t\t\tchanged = true;\n\t\t}\n\t\treturn changed;\n\t}\n};\n\n/**\n */\nclass Editor : public EditModel, public DocWatcher {\nprotected:\t// ScintillaBase subclass needs access to much of Editor\n\n\t/** On GTK+, Scintilla is a container widget holding two scroll bars\n\t * whereas on Windows there is just one window with both scroll bars turned on. */\n\tWindow wMain;\t///< The Scintilla parent window\n\tWindow wMargin;\t///< May be separate when using a scroll view for wMain\n\n\t/** Style resources may be expensive to allocate so are cached between uses.\n\t * When a style attribute is changed, this cache is flushed. */\n\tbool stylesValid;\n\tViewStyle vs;\n\tint technology;\n\tPoint sizeRGBAImage;\n\tfloat scaleRGBAImage;\n\n\tMarginView marginView;\n\tEditView view;\n\n\tint cursorMode;\n\n\tbool hasFocus;\n\tbool mouseDownCaptures;\n\tbool mouseWheelCaptures;\n\n\tint xCaretMargin;\t///< Ensure this many pixels visible on both sides of caret\n\tbool horizontalScrollBarVisible;\n\tint scrollWidth;\n\tbool verticalScrollBarVisible;\n\tbool endAtLastLine;\n\tint caretSticky;\n\tint marginOptions;\n\tbool mouseSelectionRectangularSwitch;\n\tbool multipleSelection;\n\tbool additionalSelectionTyping;\n\tint multiPasteMode;\n\n\tint virtualSpaceOptions;\n\n\tKeyMap kmap;\n\n\tTimer timer;\n\tTimer autoScrollTimer;\n\tenum { autoScrollDelay = 200 };\n\n\tIdler idler;\n\n\tPoint lastClick;\n\tunsigned int lastClickTime;\n\tPoint doubleClickCloseThreshold;\n\tint dwellDelay;\n\tint ticksToDwell;\n\tbool dwelling;\n\tenum { selChar, selWord, selSubLine, selWholeLine } selectionType;\n\tPoint ptMouseLast;\n\tenum { ddNone, ddInitial, ddDragging } inDragDrop;\n\tbool dropWentOutside;\n\tSelectionPosition posDrop;\n\tSci::Position hotSpotClickPos;\n\tint lastXChosen;\n\tSci::Position lineAnchorPos;\n\tSci::Position originalAnchorPos;\n\tSci::Position wordSelectAnchorStartPos;\n\tSci::Position wordSelectAnchorEndPos;\n\tSci::Position wordSelectInitialCaretPos;\n\tSci::Position targetStart;\n\tSci::Position targetEnd;\n\tint searchFlags;\n\tSci::Line topLine;\n\tSci::Position posTopLine;\n\tSci::Position lengthForEncode;\n\n\tint needUpdateUI;\n\n\tenum { notPainting, painting, paintAbandoned } paintState;\n\tbool paintAbandonedByStyling;\n\tPRectangle rcPaint;\n\tbool paintingAllText;\n\tbool willRedrawAll;\n\tWorkNeeded workNeeded;\n\tint idleStyling;\n\tbool needIdleStyling;\n\n\tint modEventMask;\n\tbool commandEvents;\n\n\tSelectionText drag;\n\n\tint caretXPolicy;\n\tint caretXSlop;\t///< Ensure this many pixels visible on both sides of caret\n\n\tint caretYPolicy;\n\tint caretYSlop;\t///< Ensure this many lines visible on both sides of caret\n\n\tint visiblePolicy;\n\tint visibleSlop;\n\n\tSci::Position searchAnchor;\n\n\tbool recordingMacro;\n\n\tint foldAutomatic;\n\n\t// Wrapping support\n\tWrapPending wrapPending;\n\tActionDuration durationWrapOneLine;\n\n\tbool convertPastes;\n\n\tEditor();\n\t// Deleted so Editor objects can not be copied.\n\tEditor(const Editor &) = delete;\n\tEditor(Editor &&) = delete;\n\tEditor &operator=(const Editor &) = delete;\n\tEditor &operator=(Editor &&) = delete;\n\t~Editor() override;\n\tvirtual void Initialise() = 0;\n\tvirtual void Finalise();\n\n\tvoid InvalidateStyleData();\n\tvoid InvalidateStyleRedraw();\n\tvoid RefreshStyleData();\n\tvoid SetRepresentations();\n\tvoid DropGraphics(bool freeObjects);\n\tvoid AllocateGraphics();\n\n\t// The top left visible point in main window coordinates. Will be 0,0 except for\n\t// scroll views where it will be equivalent to the current scroll position.\n\tPoint GetVisibleOriginInMain() const override;\n\tPointDocument DocumentPointFromView(Point ptView) const;  // Convert a point from view space to document\n\tSci::Line TopLineOfMain() const override;   // Return the line at Main's y coordinate 0\n\tvirtual PRectangle GetClientRectangle() const;\n\tvirtual PRectangle GetClientDrawingRectangle();\n\tPRectangle GetTextRectangle() const;\n\n\tSci::Line LinesOnScreen() const override;\n\tSci::Line LinesToScroll() const;\n\tSci::Line MaxScrollPos() const;\n\tSelectionPosition ClampPositionIntoDocument(SelectionPosition sp) const;\n\tPoint LocationFromPosition(SelectionPosition pos, PointEnd pe=peDefault);\n\tPoint LocationFromPosition(Sci::Position pos, PointEnd pe=peDefault);\n\tint XFromPosition(SelectionPosition sp);\n\tSelectionPosition SPositionFromLocation(Point pt, bool canReturnInvalid=false, bool charPosition=false, bool virtualSpace=true);\n\tSci::Position PositionFromLocation(Point pt, bool canReturnInvalid = false, bool charPosition = false);\n\tSelectionPosition SPositionFromLineX(Sci::Line lineDoc, int x);\n\tSci::Position PositionFromLineX(Sci::Line lineDoc, int x);\n\tSci::Line LineFromLocation(Point pt) const;\n\tvoid SetTopLine(Sci::Line topLineNew);\n\n\tvirtual bool AbandonPaint();\n\tvirtual void RedrawRect(PRectangle rc);\n\tvirtual void DiscardOverdraw();\n\tvirtual void Redraw();\n\tvoid RedrawSelMargin(Sci::Line line=-1, bool allAfter=false);\n\tPRectangle RectangleFromRange(Range r, int overlap);\n\tvoid InvalidateRange(Sci::Position start, Sci::Position end);\n\n\tbool UserVirtualSpace() const {\n\t\treturn ((virtualSpaceOptions & SCVS_USERACCESSIBLE) != 0);\n\t}\n\tSci::Position CurrentPosition() const;\n\tbool SelectionEmpty() const;\n\tSelectionPosition SelectionStart();\n\tSelectionPosition SelectionEnd();\n\tvoid SetRectangularRange();\n\tvoid ThinRectangularRange();\n\tvoid InvalidateSelection(SelectionRange newMain, bool invalidateWholeSelection=false);\n\tvoid InvalidateWholeSelection();\n\tSelectionRange LineSelectionRange(SelectionPosition currentPos_, SelectionPosition anchor_) const;\n\tvoid SetSelection(SelectionPosition currentPos_, SelectionPosition anchor_);\n\tvoid SetSelection(Sci::Position currentPos_, Sci::Position anchor_);\n\tvoid SetSelection(SelectionPosition currentPos_);\n\tvoid SetSelection(int currentPos_);\n\tvoid SetEmptySelection(SelectionPosition currentPos_);\n\tvoid SetEmptySelection(Sci::Position currentPos_);\n\tenum AddNumber { addOne, addEach };\n\tvoid MultipleSelectAdd(AddNumber addNumber);\n\tbool RangeContainsProtected(Sci::Position start, Sci::Position end) const;\n\tbool SelectionContainsProtected();\n\tSci::Position MovePositionOutsideChar(Sci::Position pos, Sci::Position moveDir, bool checkLineEnd=true) const;\n\tSelectionPosition MovePositionOutsideChar(SelectionPosition pos, Sci::Position moveDir, bool checkLineEnd=true) const;\n\tvoid MovedCaret(SelectionPosition newPos, SelectionPosition previousPos, bool ensureVisible);\n\tvoid MovePositionTo(SelectionPosition newPos, Selection::selTypes selt=Selection::noSel, bool ensureVisible=true);\n\tvoid MovePositionTo(Sci::Position newPos, Selection::selTypes selt=Selection::noSel, bool ensureVisible=true);\n\tSelectionPosition MovePositionSoVisible(SelectionPosition pos, int moveDir);\n\tSelectionPosition MovePositionSoVisible(Sci::Position pos, int moveDir);\n\tPoint PointMainCaret();\n\tvoid SetLastXChosen();\n\n\tvoid ScrollTo(Sci::Line line, bool moveThumb=true);\n\tvirtual void ScrollText(Sci::Line linesToMove);\n\tvoid HorizontalScrollTo(int xPos);\n\tvoid VerticalCentreCaret();\n\tvoid MoveSelectedLines(int lineDelta);\n\tvoid MoveSelectedLinesUp();\n\tvoid MoveSelectedLinesDown();\n\tvoid MoveCaretInsideView(bool ensureVisible=true);\n\tSci::Line DisplayFromPosition(Sci::Position pos);\n\n\tstruct XYScrollPosition {\n\t\tint xOffset;\n\t\tSci::Line topLine;\n\t\tXYScrollPosition(int xOffset_, Sci::Line topLine_) : xOffset(xOffset_), topLine(topLine_) {}\n\t\tbool operator==(const XYScrollPosition &other) const {\n\t\t\treturn (xOffset == other.xOffset) && (topLine == other.topLine);\n\t\t}\n\t};\n\tenum XYScrollOptions {\n\t\txysUseMargin=0x1,\n\t\txysVertical=0x2,\n\t\txysHorizontal=0x4,\n\t\txysDefault=xysUseMargin|xysVertical|xysHorizontal};\n\tXYScrollPosition XYScrollToMakeVisible(const SelectionRange &range, const XYScrollOptions options);\n\tvoid SetXYScroll(XYScrollPosition newXY);\n\tvoid EnsureCaretVisible(bool useMargin=true, bool vert=true, bool horiz=true);\n\tvoid ScrollRange(SelectionRange range);\n\tvoid ShowCaretAtCurrentPosition();\n\tvoid DropCaret();\n\tvoid CaretSetPeriod(int period);\n\tvoid InvalidateCaret();\n\tvirtual void NotifyCaretMove();\n\tvirtual void UpdateSystemCaret();\n\n\tbool Wrapping() const;\n\tvoid NeedWrapping(Sci::Line docLineStart=0, Sci::Line docLineEnd=WrapPending::lineLarge);\n\tbool WrapOneLine(Surface *surface, Sci::Line lineToWrap);\n\tenum class WrapScope {wsAll, wsVisible, wsIdle};\n\tbool WrapLines(WrapScope ws);\n\tvoid LinesJoin();\n\tvoid LinesSplit(int pixelWidth);\n\n\tvoid PaintSelMargin(Surface *surfaceWindow, const PRectangle &rc);\n\tvoid RefreshPixMaps(Surface *surfaceWindow);\n\tvoid Paint(Surface *surfaceWindow, PRectangle rcArea);\n\tSci::Position FormatRange(bool draw, const Sci_RangeToFormat *pfr);\n\tint TextWidth(int style, const char *text);\n\n\tvirtual void SetVerticalScrollPos() = 0;\n\tvirtual void SetHorizontalScrollPos() = 0;\n\tvirtual bool ModifyScrollBars(Sci::Line nMax, Sci::Line nPage) = 0;\n\tvirtual void ReconfigureScrollBars();\n\tvoid SetScrollBars();\n\tvoid ChangeSize();\n\n\tvoid FilterSelections();\n\tSci::Position RealizeVirtualSpace(Sci::Position position, Sci::Position virtualSpace);\n\tSelectionPosition RealizeVirtualSpace(const SelectionPosition &position);\n\tvoid AddChar(char ch);\n\tvirtual void AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS=false);\n\tvoid ClearBeforeTentativeStart();\n\tvoid InsertPaste(const char *text, Sci::Position len);\n\tenum PasteShape { pasteStream=0, pasteRectangular = 1, pasteLine = 2 };\n\tvoid InsertPasteShape(const char *text, Sci::Position len, PasteShape shape);\n\tvoid ClearSelection(bool retainMultipleSelections = false);\n\tvoid ClearAll();\n\tvoid ClearDocumentStyle();\n\tvirtual void Cut();\n\tvoid PasteRectangular(SelectionPosition pos, const char *ptr, Sci::Position len);\n\tvirtual void Copy() = 0;\n\tvirtual void CopyAllowLine();\n\tvirtual bool CanPaste();\n\tvirtual void Paste() = 0;\n\tvoid Clear();\n\tvirtual void SelectAll();\n\tvirtual void Undo();\n\tvirtual void Redo();\n\tvoid DelCharBack(bool allowLineStartDeletion);\n\tvirtual void ClaimSelection() = 0;\n\n\tstatic int ModifierFlags(bool shift, bool ctrl, bool alt, bool meta=false, bool super=false) noexcept;\n\tvirtual void NotifyChange() = 0;\n\tvirtual void NotifyFocus(bool focus);\n\tvirtual void SetCtrlID(int identifier);\n\tvirtual int GetCtrlID() { return ctrlID; }\n\tvirtual void NotifyParent(SCNotification scn) = 0;\n\tvirtual void NotifyStyleToNeeded(Sci::Position endStyleNeeded);\n\tvoid NotifyChar(int ch);\n\tvoid NotifySavePoint(bool isSavePoint);\n\tvoid NotifyModifyAttempt();\n\tvirtual void NotifyDoubleClick(Point pt, int modifiers);\n\tvoid NotifyHotSpotClicked(Sci::Position position, int modifiers);\n\tvoid NotifyHotSpotDoubleClicked(Sci::Position position, int modifiers);\n\tvoid NotifyHotSpotReleaseClick(Sci::Position position, int modifiers);\n\tbool NotifyUpdateUI();\n\tvoid NotifyPainted();\n\tvoid NotifyIndicatorClick(bool click, Sci::Position position, int modifiers);\n\tbool NotifyMarginClick(Point pt, int modifiers);\n\tbool NotifyMarginRightClick(Point pt, int modifiers);\n\tvoid NotifyNeedShown(Sci::Position pos, Sci::Position len);\n\tvoid NotifyDwelling(Point pt, bool state);\n\tvoid NotifyZoom();\n\n\tvoid NotifyModifyAttempt(Document *document, void *userData) override;\n\tvoid NotifySavePoint(Document *document, void *userData, bool atSavePoint) override;\n\tvoid CheckModificationForWrap(DocModification mh);\n\tvoid NotifyModified(Document *document, DocModification mh, void *userData) override;\n\tvoid NotifyDeleted(Document *document, void *userData) override;\n\tvoid NotifyStyleNeeded(Document *doc, void *userData, Sci::Position endStyleNeeded) override;\n\tvoid NotifyLexerChanged(Document *doc, void *userData) override;\n\tvoid NotifyErrorOccurred(Document *doc, void *userData, int status) override;\n\tvoid NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\n\tvoid ContainerNeedsUpdate(int flags);\n\tvoid PageMove(int direction, Selection::selTypes selt=Selection::noSel, bool stuttered = false);\n\tenum { cmSame, cmUpper, cmLower };\n\tvirtual std::string CaseMapString(const std::string &s, int caseMapping);\n\tvoid ChangeCaseOfSelection(int caseMapping);\n\tvoid LineTranspose();\n\tvoid LineReverse();\n\tvoid Duplicate(bool forLine);\n\tvirtual void CancelModes();\n\tvoid NewLine();\n\tSelectionPosition PositionUpOrDown(SelectionPosition spStart, int direction, int lastX);\n\tvoid CursorUpOrDown(int direction, Selection::selTypes selt);\n\tvoid ParaUpOrDown(int direction, Selection::selTypes selt);\n\tRange RangeDisplayLine(Sci::Line lineVisible);\n\tSci::Position StartEndDisplayLine(Sci::Position pos, bool start);\n\tSci::Position VCHomeDisplayPosition(Sci::Position position);\n\tSci::Position VCHomeWrapPosition(Sci::Position position);\n\tSci::Position LineEndWrapPosition(Sci::Position position);\n\tint HorizontalMove(unsigned int iMessage);\n\tint DelWordOrLine(unsigned int iMessage);\n\tvirtual int KeyCommand(unsigned int iMessage);\n\tvirtual int KeyDefault(int /* key */, int /*modifiers*/);\n\tint KeyDownWithModifiers(int key, int modifiers, bool *consumed);\n\n\tvoid Indent(bool forwards);\n\n\tvirtual CaseFolder *CaseFolderForEncoding();\n\tSci::Position FindText(uptr_t wParam, sptr_t lParam);\n\tvoid SearchAnchor();\n\tSci::Position SearchText(unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\tSci::Position SearchInTarget(const char *text, Sci::Position length);\n\tvoid GoToLine(Sci::Line lineNo);\n\n\tvirtual void CopyToClipboard(const SelectionText &selectedText) = 0;\n\tstd::string RangeText(Sci::Position start, Sci::Position end) const;\n\tvoid CopySelectionRange(SelectionText *ss, bool allowLineCopy=false);\n\tvoid CopyRangeToClipboard(Sci::Position start, Sci::Position end);\n\tvoid CopyText(size_t length, const char *text);\n\tvoid SetDragPosition(SelectionPosition newPos);\n\tvirtual void DisplayCursor(Window::Cursor c);\n\tvirtual bool DragThreshold(Point ptStart, Point ptNow);\n\tvirtual void StartDrag();\n\tvoid DropAt(SelectionPosition position, const char *value, size_t lengthValue, bool moving, bool rectangular);\n\tvoid DropAt(SelectionPosition position, const char *value, bool moving, bool rectangular);\n\t/** PositionInSelection returns true if position in selection. */\n\tbool PositionInSelection(Sci::Position pos);\n\tbool PointInSelection(Point pt);\n\tbool PointInSelMargin(Point pt) const;\n\tWindow::Cursor GetMarginCursor(Point pt) const;\n\tvoid TrimAndSetSelection(Sci::Position currentPos_, Sci::Position anchor_);\n\tvoid LineSelection(Sci::Position lineCurrentPos_, Sci::Position lineAnchorPos_, bool wholeLine);\n\tvoid WordSelection(Sci::Position pos);\n\tvoid DwellEnd(bool mouseMoved);\n\tvoid MouseLeave();\n\tvirtual void ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);\n\tvirtual void RightButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers);\n\tvoid ButtonMoveWithModifiers(Point pt, unsigned int curTime, int modifiers);\n\tvoid ButtonUpWithModifiers(Point pt, unsigned int curTime, int modifiers);\n\n\tbool Idle();\n\tenum TickReason { tickCaret, tickScroll, tickWiden, tickDwell, tickPlatform };\n\tvirtual void TickFor(TickReason reason);\n\tvirtual bool FineTickerRunning(TickReason reason);\n\tvirtual void FineTickerStart(TickReason reason, int millis, int tolerance);\n\tvirtual void FineTickerCancel(TickReason reason);\n\tvirtual bool SetIdle(bool) { return false; }\n\tvirtual void SetMouseCapture(bool on) = 0;\n\tvirtual bool HaveMouseCapture() = 0;\n\tvoid SetFocusState(bool focusState);\n\n\tSci::Position PositionAfterArea(PRectangle rcArea) const;\n\tvoid StyleToPositionInView(Sci::Position pos);\n\tSci::Position PositionAfterMaxStyling(Sci::Position posMax, bool scrolling) const;\n\tvoid StartIdleStyling(bool truncatedLastStyling);\n\tvoid StyleAreaBounded(PRectangle rcArea, bool scrolling);\n\tvoid IdleStyling();\n\tvirtual void IdleWork();\n\tvirtual void QueueIdleWork(WorkNeeded::workItems items, Sci::Position upTo=0);\n\n\tvirtual bool PaintContains(PRectangle rc);\n\tbool PaintContainsMargin();\n\tvoid CheckForChangeOutsidePaint(Range r);\n\tvoid SetBraceHighlight(Sci::Position pos0, Sci::Position pos1, int matchStyle);\n\n\tvoid SetAnnotationHeights(Sci::Line start, Sci::Line end);\n\tvirtual void SetDocPointer(Document *document);\n\n\tvoid SetAnnotationVisible(int visible);\n\n\tSci::Line ExpandLine(Sci::Line line);\n\tvoid SetFoldExpanded(Sci::Line lineDoc, bool expanded);\n\tvoid FoldLine(Sci::Line line, int action);\n\tvoid FoldExpand(Sci::Line line, int action, int level);\n\tSci::Line ContractedFoldNext(Sci::Line lineStart) const;\n\tvoid EnsureLineVisible(Sci::Line lineDoc, bool enforcePolicy);\n\tvoid FoldChanged(Sci::Line line, int levelNow, int levelPrev);\n\tvoid NeedShown(Sci::Position pos, Sci::Position len);\n\tvoid FoldAll(int action);\n\n\tSci::Position GetTag(char *tagValue, int tagNumber);\n\tSci::Position ReplaceTarget(bool replacePatterns, const char *text, Sci::Position length=-1);\n\n\tbool PositionIsHotspot(Sci::Position position) const;\n\tbool PointIsHotspot(Point pt);\n\tvoid SetHotSpotRange(const Point *pt);\n\tRange GetHotSpotRange() const override;\n\tvoid SetHoverIndicatorPosition(Sci::Position position);\n\tvoid SetHoverIndicatorPoint(Point pt);\n\n\tint CodePage() const;\n\tvirtual bool ValidCodePage(int /* codePage */) const { return true; }\n\tSci::Line WrapCount(Sci::Line line);\n\tvoid AddStyledText(const char *buffer, Sci::Position appendLength);\n\n\tvirtual sptr_t DefWndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) = 0;\n\tbool ValidMargin(uptr_t wParam) const;\n\tvoid StyleSetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\tsptr_t StyleGetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\tvoid SetSelectionNMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\n\tstatic const char *StringFromEOLMode(int eolMode);\n\n\t// Coercion functions for transforming WndProc parameters into pointers\n\tstatic void *PtrFromSPtr(sptr_t lParam) {\n\t\treturn reinterpret_cast<void *>(lParam);\n\t}\n\tstatic const char *ConstCharPtrFromSPtr(sptr_t lParam) {\n\t\treturn static_cast<const char *>(PtrFromSPtr(lParam));\n\t}\n\tstatic const unsigned char *ConstUCharPtrFromSPtr(sptr_t lParam) {\n\t\treturn static_cast<const unsigned char *>(PtrFromSPtr(lParam));\n\t}\n\tstatic char *CharPtrFromSPtr(sptr_t lParam) {\n\t\treturn static_cast<char *>(PtrFromSPtr(lParam));\n\t}\n\tstatic unsigned char *UCharPtrFromSPtr(sptr_t lParam) {\n\t\treturn static_cast<unsigned char *>(PtrFromSPtr(lParam));\n\t}\n\tstatic void *PtrFromUPtr(uptr_t wParam) {\n\t\treturn reinterpret_cast<void *>(wParam);\n\t}\n\tstatic const char *ConstCharPtrFromUPtr(uptr_t wParam) {\n\t\treturn static_cast<const char *>(PtrFromUPtr(wParam));\n\t}\n\n\tstatic sptr_t StringResult(sptr_t lParam, const char *val);\n\tstatic sptr_t BytesResult(sptr_t lParam, const unsigned char *val, size_t len);\n\npublic:\n\t// Public so the COM thunks can access it.\n\tbool IsUnicodeMode() const;\n\t// Public so scintilla_send_message can use it.\n\tvirtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);\n\t// Public so scintilla_set_id can use it.\n\tint ctrlID;\n\t// Public so COM methods for drag and drop can set it.\n\tint errorStatus;\n\tfriend class AutoSurface;\n};\n\n/**\n * A smart pointer class to ensure Surfaces are set up and deleted correctly.\n */\nclass AutoSurface {\nprivate:\n\tstd::unique_ptr<Surface> surf;\npublic:\n\tAutoSurface(Editor *ed, int technology = -1) {\n\t\tif (ed->wMain.GetID()) {\n\t\t\tsurf.reset(Surface::Allocate(technology != -1 ? technology : ed->technology));\n\t\t\tsurf->Init(ed->wMain.GetID());\n\t\t\tsurf->SetUnicodeMode(SC_CP_UTF8 == ed->CodePage());\n\t\t\tsurf->SetDBCSMode(ed->CodePage());\n\t\t}\n\t}\n\tAutoSurface(SurfaceID sid, Editor *ed, int technology = -1) {\n\t\tif (ed->wMain.GetID()) {\n\t\t\tsurf.reset(Surface::Allocate(technology != -1 ? technology : ed->technology));\n\t\t\tsurf->Init(sid, ed->wMain.GetID());\n\t\t\tsurf->SetUnicodeMode(SC_CP_UTF8 == ed->CodePage());\n\t\t\tsurf->SetDBCSMode(ed->CodePage());\n\t\t}\n\t}\n\t// Deleted so AutoSurface objects can not be copied.\n\tAutoSurface(const AutoSurface &) = delete;\n\tAutoSurface(AutoSurface &&) = delete;\n\tvoid operator=(const AutoSurface &) = delete;\n\tvoid operator=(AutoSurface &&) = delete;\n\t~AutoSurface() {\n\t}\n\tSurface *operator->() const noexcept {\n\t\treturn surf.get();\n\t}\n\toperator Surface *() const noexcept {\n\t\treturn surf.get();\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/ElapsedPeriod.h",
    "content": "// Scintilla source code edit control\n/** @file ElapsedPeriod.h\n ** Encapsulate C++ <chrono> to simplify use.\n **/\n// Copyright 2018 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef ELAPSEDPERIOD_H\n#define ELAPSEDPERIOD_H\n\nnamespace Scintilla {\n\n// Simplified access to high precision timing.\nclass ElapsedPeriod {\n\tstd::chrono::high_resolution_clock::time_point tp;\npublic:\n\t/// Capture the moment\n\tElapsedPeriod() : tp(std::chrono::high_resolution_clock::now()) {\n\t}\n\t/// Return duration as floating point seconds\n\tdouble Duration(bool reset=false) {\n\t\tconst std::chrono::high_resolution_clock::time_point tpNow =\n\t\t\tstd::chrono::high_resolution_clock::now();\n\t\tconst std::chrono::duration<double> stylingDuration =\n\t\t\tstd::chrono::duration_cast<std::chrono::duration<double>>(tpNow - tp);\n\t\tif (reset) {\n\t\t\ttp = tpNow;\n\t\t}\n\t\treturn stylingDuration.count();\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/ExternalLexer.cpp",
    "content": "// Scintilla source code edit control\n/** @file ExternalLexer.cxx\n ** Support external lexers in DLLs or shared libraries.\n **/\n// Copyright 2001 Simon Steele <ss@pnotepad.org>, portions copyright Neil Hodgson.\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n#include \"SciLexer.h\"\n\n#include \"LexerModule.h\"\n#include \"Catalogue.h\"\n#include \"ExternalLexer.h\"\n\nusing namespace Scintilla;\n\nstd::unique_ptr<LexerManager> LexerManager::theInstance;\n\n//------------------------------------------\n//\n// ExternalLexerModule\n//\n//------------------------------------------\n\nvoid ExternalLexerModule::SetExternal(GetLexerFactoryFunction fFactory, int index) {\n\tfneFactory = fFactory;\n\tfnFactory = fFactory(index);\n}\n\n//------------------------------------------\n//\n// LexerLibrary\n//\n//------------------------------------------\n\nLexerLibrary::LexerLibrary(const char *moduleName_) {\n\t// Load the DLL\n\tlib.reset(DynamicLibrary::Load(moduleName_));\n\tif (lib->IsValid()) {\n\t\tmoduleName = moduleName_;\n\t\t//Cannot use reinterpret_cast because: ANSI C++ forbids casting between pointers to functions and objects\n\t\tGetLexerCountFn GetLexerCount = (GetLexerCountFn)(sptr_t)lib->FindFunction(\"GetLexerCount\");\n\n\t\tif (GetLexerCount) {\n\t\t\t// Find functions in the DLL\n\t\t\tGetLexerNameFn GetLexerName = (GetLexerNameFn)(sptr_t)lib->FindFunction(\"GetLexerName\");\n\t\t\tGetLexerFactoryFunction fnFactory = (GetLexerFactoryFunction)(sptr_t)lib->FindFunction(\"GetLexerFactory\");\n\n\t\t\tconst int nl = GetLexerCount();\n\n\t\t\tfor (int i = 0; i < nl; i++) {\n\t\t\t\t// Assign a buffer for the lexer name.\n\t\t\t\tchar lexname[100] = \"\";\n\t\t\t\tGetLexerName(i, lexname, sizeof(lexname));\n\t\t\t\tExternalLexerModule *lex = new ExternalLexerModule(SCLEX_AUTOMATIC, nullptr, lexname, nullptr);\n\t\t\t\t// This is storing a second reference to lex in the Catalogue as well as in modules.\n\t\t\t\t// TODO: Should use std::shared_ptr or similar to ensure allocation safety.\n\t\t\t\tCatalogue::AddLexerModule(lex);\n\n\t\t\t\t// Remember ExternalLexerModule so we don't leak it\n\t\t\t\tmodules.push_back(std::unique_ptr<ExternalLexerModule>(lex));\n\n\t\t\t\t// The external lexer needs to know how to call into its DLL to\n\t\t\t\t// do its lexing and folding, we tell it here.\n\t\t\t\tlex->SetExternal(fnFactory, i);\n\t\t\t}\n\t\t}\n\t}\n}\n\nLexerLibrary::~LexerLibrary() {\n}\n\n//------------------------------------------\n//\n// LexerManager\n//\n//------------------------------------------\n\n/// Return the single LexerManager instance...\nLexerManager *LexerManager::GetInstance() {\n\tif (!theInstance)\n\t\ttheInstance.reset(new LexerManager);\n\treturn theInstance.get();\n}\n\n/// Delete any LexerManager instance...\nvoid LexerManager::DeleteInstance() {\n\ttheInstance.reset();\n}\n\n/// protected constructor - this is a singleton...\nLexerManager::LexerManager() {\n}\n\nLexerManager::~LexerManager() {\n\tClear();\n}\n\nvoid LexerManager::Load(const char *path) {\n\tfor (const std::unique_ptr<LexerLibrary> &ll : libraries) {\n\t\tif (ll->moduleName == path)\n\t\t\treturn;\n\t}\n\tLexerLibrary *lib = new LexerLibrary(path);\n\tlibraries.push_back(std::unique_ptr<LexerLibrary>(lib));\n}\n\nvoid LexerManager::Clear() {\n\tlibraries.clear();\n}\n\n//------------------------------------------\n//\n// LMMinder\t-- trigger to clean up at exit.\n//\n//------------------------------------------\n\nLMMinder::~LMMinder() {\n\tLexerManager::DeleteInstance();\n}\n\nLMMinder minder;\n"
  },
  {
    "path": "src/qscint/scintilla/src/ExternalLexer.h",
    "content": "// Scintilla source code edit control\n/** @file ExternalLexer.h\n ** Support external lexers in DLLs or shared libraries.\n **/\n// Copyright 2001 Simon Steele <ss@pnotepad.org>, portions copyright Neil Hodgson.\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef EXTERNALLEXER_H\n#define EXTERNALLEXER_H\n\n#if PLAT_WIN\n#define EXT_LEXER_DECL __stdcall\n#elif PLAT_QT\n#include <qglobal.h>\n#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)\n#define EXT_LEXER_DECL __stdcall\n#else\n#define EXT_LEXER_DECL\n#endif\n#else\n#define EXT_LEXER_DECL\n#endif\n\nnamespace Scintilla {\n\ntypedef int (EXT_LEXER_DECL *GetLexerCountFn)();\ntypedef void (EXT_LEXER_DECL *GetLexerNameFn)(unsigned int Index, char *name, int buflength);\ntypedef LexerFactoryFunction(EXT_LEXER_DECL *GetLexerFactoryFunction)(unsigned int Index);\n\n/// Sub-class of LexerModule to use an external lexer.\nclass ExternalLexerModule : public LexerModule {\nprotected:\n\tGetLexerFactoryFunction fneFactory;\n\tstd::string name;\npublic:\n\tExternalLexerModule(int language_, LexerFunction fnLexer_,\n\t\tconst char *languageName_=nullptr, LexerFunction fnFolder_=nullptr) :\n\t\tLexerModule(language_, fnLexer_, nullptr, fnFolder_),\n\t\tfneFactory(nullptr), name(languageName_){\n\t\tlanguageName = name.c_str();\n\t}\n\tvirtual void SetExternal(GetLexerFactoryFunction fFactory, int index);\n};\n\n/// LexerLibrary exists for every External Lexer DLL, contains ExternalLexerModules.\nclass LexerLibrary {\n\tstd::unique_ptr<DynamicLibrary> lib;\n\tstd::vector<std::unique_ptr<ExternalLexerModule>> modules;\npublic:\n\texplicit LexerLibrary(const char *moduleName_);\n\t~LexerLibrary();\n\n\tstd::string moduleName;\n};\n\n/// LexerManager manages external lexers, contains LexerLibrarys.\nclass LexerManager {\npublic:\n\t~LexerManager();\n\n\tstatic LexerManager *GetInstance();\n\tstatic void DeleteInstance();\n\n\tvoid Load(const char *path);\n\tvoid Clear();\n\nprivate:\n\tLexerManager();\n\tstatic std::unique_ptr<LexerManager> theInstance;\n\tstd::vector<std::unique_ptr<LexerLibrary>> libraries;\n};\n\nclass LMMinder {\npublic:\n\t~LMMinder();\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/FontQuality.h",
    "content": "// Scintilla source code edit control\n/** @file FontQuality.h\n ** Definitions to control font anti-aliasing.\n ** Redefine constants from Scintilla.h to avoid including Scintilla.h in PlatWin.cxx.\n **/\n// Copyright 1998-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef FONTQUALITY_H\n#define FONTQUALITY_H\n\nnamespace Scintilla {\n\n// These definitions match Scintilla.h\n#define SC_EFF_QUALITY_MASK            0xF\n#define SC_EFF_QUALITY_DEFAULT           0\n#define SC_EFF_QUALITY_NON_ANTIALIASED   1\n#define SC_EFF_QUALITY_ANTIALIASED       2\n#define SC_EFF_QUALITY_LCD_OPTIMIZED     3\n\n// These definitions must match SC_TECHNOLOGY_* in Scintilla.h\n#define SCWIN_TECH_GDI 0\n#define SCWIN_TECH_DIRECTWRITE 1\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Indicator.cpp",
    "content": "// Scintilla source code edit control\n/** @file Indicator.cxx\n ** Defines the style of indicators which are text decorations such as underlining.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cmath>\n\n#include <stdexcept>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"StringCopy.h\"\n#include \"IntegerRectangle.h\"\n#include \"Indicator.h\"\n#include \"XPM.h\"\n\nusing namespace Scintilla;\n\nstatic PRectangle PixelGridAlign(const PRectangle &rc) {\n\t// Move left and right side to nearest pixel to avoid blurry visuals\n\treturn PRectangle(round(rc.left), floor(rc.top),\n\t\tround(rc.right), floor(rc.bottom));\n}\n\nvoid Indicator::Draw(Surface *surface, const PRectangle &rc, const PRectangle &rcLine, const PRectangle &rcCharacter, DrawState drawState, int value) const {\n\tStyleAndColour sacDraw = sacNormal;\n\tif (Flags() & SC_INDICFLAG_VALUEFORE) {\n\t\tsacDraw.fore = ColourDesired(value & SC_INDICVALUEMASK);\n\t}\n\tif (drawState == drawHover) {\n\t\tsacDraw = sacHover;\n\t}\n\tconst IntegerRectangle irc(rc);\n\tsurface->PenColour(sacDraw.fore);\n\tconst int ymid = (irc.bottom + irc.top) / 2;\n\tif (sacDraw.style == INDIC_SQUIGGLE) {\n\t\tconst IntegerRectangle ircSquiggle(PixelGridAlign(rc));\n\t\tint x = ircSquiggle.left;\n\t\tconst int xLast = ircSquiggle.right;\n\t\tint y = 0;\n\t\tsurface->MoveTo(x, irc.top + y);\n\t\twhile (x < xLast) {\n\t\t\tif ((x + 2) > xLast) {\n\t\t\t\ty = 1;\n\t\t\t\tx = xLast;\n\t\t\t} else {\n\t\t\t\tx += 2;\n\t\t\t\ty = 2 - y;\n\t\t\t}\n\t\t\tsurface->LineTo(x, irc.top + y);\n\t\t}\n\t} else if (sacDraw.style == INDIC_SQUIGGLEPIXMAP) {\n\t\tconst PRectangle rcSquiggle = PixelGridAlign(rc);\n\n\t\tconst int width = std::min(4000, static_cast<int>(rcSquiggle.Width()));\n\t\tRGBAImage image(width, 3, 1.0, nullptr);\n\t\tenum { alphaFull = 0xff, alphaSide = 0x2f, alphaSide2=0x5f };\n\t\tfor (int x = 0; x < width; x++) {\n\t\t\tif (x%2) {\n\t\t\t\t// Two halfway columns have a full pixel in middle flanked by light pixels\n\t\t\t\timage.SetPixel(x, 0, sacDraw.fore, alphaSide);\n\t\t\t\timage.SetPixel(x, 1, sacDraw.fore, alphaFull);\n\t\t\t\timage.SetPixel(x, 2, sacDraw.fore, alphaSide);\n\t\t\t} else {\n\t\t\t\t// Extreme columns have a full pixel at bottom or top and a mid-tone pixel in centre\n\t\t\t\timage.SetPixel(x, (x % 4) ? 0 : 2, sacDraw.fore, alphaFull);\n\t\t\t\timage.SetPixel(x, 1, sacDraw.fore, alphaSide2);\n\t\t\t}\n\t\t}\n\t\tsurface->DrawRGBAImage(rcSquiggle, image.GetWidth(), image.GetHeight(), image.Pixels());\n\t} else if (sacDraw.style == INDIC_SQUIGGLELOW) {\n\t\tsurface->MoveTo(irc.left, irc.top);\n\t\tint x = irc.left + 3;\n\t\tint y = 0;\n\t\twhile (x < rc.right) {\n\t\t\tsurface->LineTo(x - 1, irc.top + y);\n\t\t\ty = 1 - y;\n\t\t\tsurface->LineTo(x, irc.top + y);\n\t\t\tx += 3;\n\t\t}\n\t\tsurface->LineTo(irc.right, irc.top + y);\t// Finish the line\n\t} else if (sacDraw.style == INDIC_TT) {\n\t\tsurface->MoveTo(irc.left, ymid);\n\t\tint x = irc.left + 5;\n\t\twhile (x < rc.right) {\n\t\t\tsurface->LineTo(x, ymid);\n\t\t\tsurface->MoveTo(x-3, ymid);\n\t\t\tsurface->LineTo(x-3, ymid+2);\n\t\t\tx++;\n\t\t\tsurface->MoveTo(x, ymid);\n\t\t\tx += 5;\n\t\t}\n\t\tsurface->LineTo(irc.right, ymid);\t// Finish the line\n\t\tif (x - 3 <= rc.right) {\n\t\t\tsurface->MoveTo(x-3, ymid);\n\t\t\tsurface->LineTo(x-3, ymid+2);\n\t\t}\n\t} else if (sacDraw.style == INDIC_DIAGONAL) {\n\t\tint x = irc.left;\n\t\twhile (x < rc.right) {\n\t\t\tsurface->MoveTo(x, irc.top + 2);\n\t\t\tint endX = x+3;\n\t\t\tint endY = irc.top - 1;\n\t\t\tif (endX > rc.right) {\n\t\t\t\tendY += endX - irc.right;\n\t\t\t\tendX = irc.right;\n\t\t\t}\n\t\t\tsurface->LineTo(endX, endY);\n\t\t\tx += 4;\n\t\t}\n\t} else if (sacDraw.style == INDIC_STRIKE) {\n\t\tsurface->MoveTo(irc.left, irc.top - 4);\n\t\tsurface->LineTo(irc.right, irc.top - 4);\n\t} else if ((sacDraw.style == INDIC_HIDDEN) || (sacDraw.style == INDIC_TEXTFORE)) {\n\t\t// Draw nothing\n\t} else if (sacDraw.style == INDIC_BOX) {\n\t\tsurface->MoveTo(irc.left, ymid + 1);\n\t\tsurface->LineTo(irc.right, ymid + 1);\n\t\tconst int lineTop = static_cast<int>(rcLine.top) + 1;\n\t\tsurface->LineTo(irc.right, lineTop);\n\t\tsurface->LineTo(irc.left, lineTop);\n\t\tsurface->LineTo(irc.left, ymid + 1);\n\t} else if (sacDraw.style == INDIC_ROUNDBOX ||\n\t\tsacDraw.style == INDIC_STRAIGHTBOX ||\n\t\tsacDraw.style == INDIC_FULLBOX) {\n\t\tPRectangle rcBox = rcLine;\n\t\tif (sacDraw.style != INDIC_FULLBOX)\n\t\t\trcBox.top = rcLine.top + 1;\n\t\trcBox.left = rc.left;\n\t\trcBox.right = rc.right;\n\t\tsurface->AlphaRectangle(rcBox, (sacDraw.style == INDIC_ROUNDBOX) ? 1 : 0,\n\t\t\tsacDraw.fore, fillAlpha, sacDraw.fore, outlineAlpha, 0);\n\t} else if (sacDraw.style == INDIC_GRADIENT ||\n\t\tsacDraw.style == INDIC_GRADIENTCENTRE) {\n\t\tPRectangle rcBox = rc;\n\t\trcBox.top = rcLine.top + 1;\n\t\trcBox.bottom = rcLine.bottom;\n\t\tconst Surface::GradientOptions options = Surface::GradientOptions::topToBottom;\n\t\tconst ColourAlpha start(sacNormal.fore, fillAlpha);\n\t\tconst ColourAlpha end(sacNormal.fore, 0);\n\t\tstd::vector<ColourStop> stops;\n\t\tswitch (sacDraw.style) {\n\t\tcase INDIC_GRADIENT:\n\t\t\tstops.push_back(ColourStop(0.0, start));\n\t\t\tstops.push_back(ColourStop(1.0, end));\n\t\t\tbreak;\n\t\tcase INDIC_GRADIENTCENTRE:\n\t\t\tstops.push_back(ColourStop(0.0, end));\n\t\t\tstops.push_back(ColourStop(0.5, start));\n\t\t\tstops.push_back(ColourStop(1.0, end));\n\t\t\tbreak;\n\t\t}\n\t\tsurface->GradientRectangle(rcBox, stops, options);\n\t} else if (sacDraw.style == INDIC_DOTBOX) {\n\t\tPRectangle rcBox = PixelGridAlign(rc);\n\t\trcBox.top = rcLine.top + 1;\n\t\trcBox.bottom = rcLine.bottom;\n\t\tIntegerRectangle ircBox(rcBox);\n\t\t// Cap width at 4000 to avoid large allocations when mistakes made\n\t\tconst int width = std::min(ircBox.Width(), 4000);\n\t\tRGBAImage image(width, ircBox.Height(), 1.0, nullptr);\n\t\t// Draw horizontal lines top and bottom\n\t\tfor (int x=0; x<width; x++) {\n\t\t\tfor (int y = 0; y<ircBox.Height(); y += ircBox.Height() - 1) {\n\t\t\t\timage.SetPixel(x, y, sacDraw.fore, ((x + y) % 2) ? outlineAlpha : fillAlpha);\n\t\t\t}\n\t\t}\n\t\t// Draw vertical lines left and right\n\t\tfor (int y = 1; y<ircBox.Height(); y++) {\n\t\t\tfor (int x=0; x<width; x += width-1) {\n\t\t\t\timage.SetPixel(x, y, sacDraw.fore, ((x + y) % 2) ? outlineAlpha : fillAlpha);\n\t\t\t}\n\t\t}\n\t\tsurface->DrawRGBAImage(rcBox, image.GetWidth(), image.GetHeight(), image.Pixels());\n\t} else if (sacDraw.style == INDIC_DASH) {\n\t\tint x = irc.left;\n\t\twhile (x < rc.right) {\n\t\t\tsurface->MoveTo(x, ymid);\n\t\t\tsurface->LineTo(std::min(x + 4, irc.right), ymid);\n\t\t\tx += 7;\n\t\t}\n\t} else if (sacDraw.style == INDIC_DOTS) {\n\t\tint x = irc.left;\n\t\twhile (x < irc.right) {\n\t\t\tconst PRectangle rcDot = PRectangle::FromInts(x, ymid, x + 1, ymid + 1);\n\t\t\tsurface->FillRectangle(rcDot, sacDraw.fore);\n\t\t\tx += 2;\n\t\t}\n\t} else if (sacDraw.style == INDIC_COMPOSITIONTHICK) {\n\t\tconst PRectangle rcComposition(rc.left+1, rcLine.bottom-2, rc.right-1, rcLine.bottom);\n\t\tsurface->FillRectangle(rcComposition, sacDraw.fore);\n\t} else if (sacDraw.style == INDIC_COMPOSITIONTHIN) {\n\t\tconst PRectangle rcComposition(rc.left+1, rcLine.bottom-2, rc.right-1, rcLine.bottom-1);\n\t\tsurface->FillRectangle(rcComposition, sacDraw.fore);\n\t} else if (sacDraw.style == INDIC_POINT || sacDraw.style == INDIC_POINTCHARACTER) {\n\t\tif (rcCharacter.Width() >= 0.1) {\n\t\t\tconst XYPOSITION pixelHeight = floor(rc.Height() - 1.0f);\t// 1 pixel onto next line if multiphase\n\t\t\tconst XYPOSITION x = (sacDraw.style == INDIC_POINT) ? (rcCharacter.left) : ((rcCharacter.right + rcCharacter.left) / 2);\n\t\t\tconst XYPOSITION ix = round(x);\n\t\t\tconst XYPOSITION iy = floor(rc.top + 1.0f);\n\t\t\tPoint pts[] = {\n\t\t\t\tPoint(ix - pixelHeight, iy + pixelHeight),\t// Left\n\t\t\t\tPoint(ix + pixelHeight, iy + pixelHeight),\t// Right\n\t\t\t\tPoint(ix, iy)\t\t\t\t\t\t\t\t// Top\n\t\t\t};\n\t\t\tsurface->Polygon(pts, ELEMENTS(pts), sacDraw.fore, sacDraw.fore);\n\t\t}\n\t} else {\t// Either INDIC_PLAIN or unknown\n\t\tsurface->MoveTo(irc.left, ymid);\n\t\tsurface->LineTo(irc.right, ymid);\n\t}\n}\n\nvoid Indicator::SetFlags(int attributes_) {\n\tattributes = attributes_;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/Indicator.h",
    "content": "// Scintilla source code edit control\n/** @file Indicator.h\n ** Defines the style of indicators which are text decorations such as underlining.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef INDICATOR_H\n#define INDICATOR_H\n\nnamespace Scintilla {\n\nstruct StyleAndColour {\n\tint style;\n\tColourDesired fore;\n\tStyleAndColour() : style(INDIC_PLAIN), fore(0, 0, 0) {\n\t}\n\tStyleAndColour(int style_, ColourDesired fore_ = ColourDesired(0, 0, 0)) : style(style_), fore(fore_) {\n\t}\n\tbool operator==(const StyleAndColour &other) const {\n\t\treturn (style == other.style) && (fore == other.fore);\n\t}\n};\n\n/**\n */\nclass Indicator {\npublic:\n\tenum DrawState { drawNormal, drawHover };\n\tStyleAndColour sacNormal;\n\tStyleAndColour sacHover;\n\tbool under;\n\tint fillAlpha;\n\tint outlineAlpha;\n\tint attributes;\n\tIndicator() : under(false), fillAlpha(30), outlineAlpha(50), attributes(0) {\n\t}\n\tIndicator(int style_, ColourDesired fore_=ColourDesired(0,0,0), bool under_=false, int fillAlpha_=30, int outlineAlpha_=50) :\n\t\tsacNormal(style_, fore_), sacHover(style_, fore_), under(under_), fillAlpha(fillAlpha_), outlineAlpha(outlineAlpha_), attributes(0) {\n\t}\n\tvoid Draw(Surface *surface, const PRectangle &rc, const PRectangle &rcLine, const PRectangle &rcCharacter, DrawState drawState, int value) const;\n\tbool IsDynamic() const {\n\t\treturn !(sacNormal == sacHover);\n\t}\n\tbool OverridesTextFore() const {\n\t\treturn sacNormal.style == INDIC_TEXTFORE || sacHover.style == INDIC_TEXTFORE;\n\t}\n\tint Flags() const {\n\t\treturn attributes;\n\t}\n\tvoid SetFlags(int attributes_);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/IntegerRectangle.h",
    "content": "// Scintilla source code edit control\n/** @file IntegerRectangle.h\n ** A rectangle with integer coordinates.\n **/\n// Copyright 2018 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef INTEGERRECTANGLE_H\n#define INTEGERRECTANGLE_H\n\nnamespace Scintilla {\n\nstruct IntegerRectangle {\n\tint left;\n\tint top;\n\tint right;\n\tint bottom;\n\n\texplicit IntegerRectangle(PRectangle rc) noexcept :\n\t\tleft(static_cast<int>(rc.left)), top(static_cast<int>(rc.top)),\n\t\tright(static_cast<int>(rc.right)), bottom(static_cast<int>(rc.bottom)) {\n\t}\n\tint Width() const noexcept { return right - left; }\n\tint Height() const noexcept { return bottom - top; }\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/KeyMap.cpp",
    "content": "// Scintilla source code edit control\n/** @file KeyMap.cxx\n ** Defines a mapping between keystrokes and commands.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n\n#include <stdexcept>\n#include <vector>\n#include <map>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n\n#include \"KeyMap.h\"\n\nusing namespace Scintilla;\n\nKeyMap::KeyMap() {\n\tfor (int i = 0; MapDefault[i].key; i++) {\n\t\tAssignCmdKey(MapDefault[i].key,\n\t\t\tMapDefault[i].modifiers,\n\t\t\tMapDefault[i].msg);\n\t}\n}\n\nKeyMap::~KeyMap() {\n\tClear();\n}\n\nvoid KeyMap::Clear() {\n\tkmap.clear();\n}\n\nvoid KeyMap::AssignCmdKey(int key, int modifiers, unsigned int msg) {\n\tkmap[KeyModifiers(key, modifiers)] = msg;\n}\n\nunsigned int KeyMap::Find(int key, int modifiers) const {\n\tstd::map<KeyModifiers, unsigned int>::const_iterator it = kmap.find(KeyModifiers(key, modifiers));\n\treturn (it == kmap.end()) ? 0 : it->second;\n}\n\nconst std::map<KeyModifiers, unsigned int> &KeyMap::GetKeyMap() const {\n\treturn kmap;\n}\n\n#if PLAT_GTK_MACOSX\n#define OS_X_KEYS 1\n#else\n#define OS_X_KEYS 0\n#endif\n\n// Define a modifier that is exactly Ctrl key on all platforms\n// Most uses of Ctrl map to Cmd on OS X but some can't so use SCI_[S]CTRL_META\n#if OS_X_KEYS\n#define SCI_CTRL_META SCI_META\n#define SCI_SCTRL_META (SCI_META | SCI_SHIFT)\n#else\n#define SCI_CTRL_META SCI_CTRL\n#define SCI_SCTRL_META (SCI_CTRL | SCI_SHIFT)\n#endif\n\nconst KeyToCommand KeyMap::MapDefault[] = {\n\n#if OS_X_KEYS\n    {SCK_DOWN,\t\tSCI_CTRL,\tSCI_DOCUMENTEND},\n    {SCK_DOWN,\t\tSCI_CSHIFT,\tSCI_DOCUMENTENDEXTEND},\n    {SCK_UP,\t\tSCI_CTRL,\tSCI_DOCUMENTSTART},\n    {SCK_UP,\t\tSCI_CSHIFT,\tSCI_DOCUMENTSTARTEXTEND},\n    {SCK_LEFT,\t\tSCI_CTRL,\tSCI_VCHOME},\n    {SCK_LEFT,\t\tSCI_CSHIFT,\tSCI_VCHOMEEXTEND},\n    {SCK_RIGHT,\t\tSCI_CTRL,\tSCI_LINEEND},\n    {SCK_RIGHT,\t\tSCI_CSHIFT,\tSCI_LINEENDEXTEND},\n#endif\n\n    {SCK_DOWN,\t\tSCI_NORM,\tSCI_LINEDOWN},\n    {SCK_DOWN,\t\tSCI_SHIFT,\tSCI_LINEDOWNEXTEND},\n    {SCK_DOWN,\t\tSCI_CTRL_META,\tSCI_LINESCROLLDOWN},\n    {SCK_DOWN,\t\tSCI_ASHIFT,\tSCI_LINEDOWNRECTEXTEND},\n    {SCK_UP,\t\tSCI_NORM,\tSCI_LINEUP},\n    {SCK_UP,\t\t\tSCI_SHIFT,\tSCI_LINEUPEXTEND},\n    {SCK_UP,\t\t\tSCI_CTRL_META,\tSCI_LINESCROLLUP},\n    {SCK_UP,\t\tSCI_ASHIFT,\tSCI_LINEUPRECTEXTEND},\n    {'[',\t\t\tSCI_CTRL,\t\tSCI_PARAUP},\n    {'[',\t\t\tSCI_CSHIFT,\tSCI_PARAUPEXTEND},\n    {']',\t\t\tSCI_CTRL,\t\tSCI_PARADOWN},\n    {']',\t\t\tSCI_CSHIFT,\tSCI_PARADOWNEXTEND},\n    {SCK_LEFT,\t\tSCI_NORM,\tSCI_CHARLEFT},\n    {SCK_LEFT,\t\tSCI_SHIFT,\tSCI_CHARLEFTEXTEND},\n    {SCK_LEFT,\t\tSCI_CTRL_META,\tSCI_WORDLEFT},\n    {SCK_LEFT,\t\tSCI_SCTRL_META,\tSCI_WORDLEFTEXTEND},\n    {SCK_LEFT,\t\tSCI_ASHIFT,\tSCI_CHARLEFTRECTEXTEND},\n    {SCK_RIGHT,\t\tSCI_NORM,\tSCI_CHARRIGHT},\n    {SCK_RIGHT,\t\tSCI_SHIFT,\tSCI_CHARRIGHTEXTEND},\n    {SCK_RIGHT,\t\tSCI_CTRL_META,\tSCI_WORDRIGHT},\n    {SCK_RIGHT,\t\tSCI_SCTRL_META,\tSCI_WORDRIGHTEXTEND},\n    {SCK_RIGHT,\t\tSCI_ASHIFT,\tSCI_CHARRIGHTRECTEXTEND},\n    {'/',\t\tSCI_CTRL,\t\tSCI_WORDPARTLEFT},\n    {'/',\t\tSCI_CSHIFT,\tSCI_WORDPARTLEFTEXTEND},\n    {'\\\\',\t\tSCI_CTRL,\t\tSCI_WORDPARTRIGHT},\n    {'\\\\',\t\tSCI_CSHIFT,\tSCI_WORDPARTRIGHTEXTEND},\n    {SCK_HOME,\t\tSCI_NORM,\tSCI_VCHOME},\n    {SCK_HOME, \t\tSCI_SHIFT, \tSCI_VCHOMEEXTEND},\n    {SCK_HOME, \t\tSCI_CTRL, \tSCI_DOCUMENTSTART},\n    {SCK_HOME, \t\tSCI_CSHIFT, \tSCI_DOCUMENTSTARTEXTEND},\n    {SCK_HOME, \t\tSCI_ALT, \tSCI_HOMEDISPLAY},\n    {SCK_HOME,\t\tSCI_ASHIFT,\tSCI_VCHOMERECTEXTEND},\n    {SCK_END,\t \tSCI_NORM,\tSCI_LINEEND},\n    {SCK_END,\t \tSCI_SHIFT, \tSCI_LINEENDEXTEND},\n    {SCK_END, \t\tSCI_CTRL, \tSCI_DOCUMENTEND},\n    {SCK_END, \t\tSCI_CSHIFT, \tSCI_DOCUMENTENDEXTEND},\n    {SCK_END, \t\tSCI_ALT, \tSCI_LINEENDDISPLAY},\n    {SCK_END,\t\tSCI_ASHIFT,\tSCI_LINEENDRECTEXTEND},\n    {SCK_PRIOR,\t\tSCI_NORM,\tSCI_PAGEUP},\n    {SCK_PRIOR,\t\tSCI_SHIFT, \tSCI_PAGEUPEXTEND},\n    {SCK_PRIOR,\t\tSCI_ASHIFT,\tSCI_PAGEUPRECTEXTEND},\n    {SCK_NEXT, \t\tSCI_NORM, \tSCI_PAGEDOWN},\n    {SCK_NEXT, \t\tSCI_SHIFT, \tSCI_PAGEDOWNEXTEND},\n    {SCK_NEXT,\t\tSCI_ASHIFT,\tSCI_PAGEDOWNRECTEXTEND},\n    {SCK_DELETE, \tSCI_NORM,\tSCI_CLEAR},\n    {SCK_DELETE, \tSCI_SHIFT,\tSCI_CUT},\n    {SCK_DELETE, \tSCI_CTRL,\tSCI_DELWORDRIGHT},\n    {SCK_DELETE,\tSCI_CSHIFT,\tSCI_DELLINERIGHT},\n    {SCK_INSERT, \t\tSCI_NORM,\tSCI_EDITTOGGLEOVERTYPE},\n    {SCK_INSERT, \t\tSCI_SHIFT,\tSCI_PASTE},\n    {SCK_INSERT, \t\tSCI_CTRL,\tSCI_COPY},\n    {SCK_ESCAPE,  \tSCI_NORM,\tSCI_CANCEL},\n    {SCK_BACK,\t\tSCI_NORM, \tSCI_DELETEBACK},\n    {SCK_BACK,\t\tSCI_SHIFT, \tSCI_DELETEBACK},\n    {SCK_BACK,\t\tSCI_CTRL, \tSCI_DELWORDLEFT},\n    {SCK_BACK, \t\tSCI_ALT,\tSCI_UNDO},\n    {SCK_BACK,\t\tSCI_CSHIFT,\tSCI_DELLINELEFT},\n    {'Z', \t\t\tSCI_CTRL,\tSCI_UNDO},\n#if OS_X_KEYS\n    {'Z', \t\t\tSCI_CSHIFT,\tSCI_REDO},\n#else\n    {'Y', \t\t\tSCI_CTRL,\tSCI_REDO},\n#endif\n    {'X', \t\t\tSCI_CTRL,\tSCI_CUT},\n    {'C', \t\t\tSCI_CTRL,\tSCI_COPY},\n    {'V', \t\t\tSCI_CTRL,\tSCI_PASTE},\n    {'A', \t\t\tSCI_CTRL,\tSCI_SELECTALL},\n    {SCK_TAB,\t\tSCI_NORM,\tSCI_TAB},\n    {SCK_TAB,\t\tSCI_SHIFT,\tSCI_BACKTAB},\n    {SCK_RETURN, \tSCI_NORM,\tSCI_NEWLINE},\n    {SCK_RETURN, \tSCI_SHIFT,\tSCI_NEWLINE},\n    {SCK_ADD, \t\tSCI_CTRL,\tSCI_ZOOMIN},\n    {SCK_SUBTRACT,\tSCI_CTRL,\tSCI_ZOOMOUT},\n    {SCK_DIVIDE,\tSCI_CTRL,\tSCI_SETZOOM},\n    {'L', \t\t\tSCI_CTRL,\tSCI_LINECUT},\n    {'L', \t\t\tSCI_CSHIFT,\tSCI_LINEDELETE},\n    {'T', \t\t\tSCI_CSHIFT,\tSCI_LINECOPY},\n    {'T', \t\t\tSCI_CTRL,\tSCI_LINETRANSPOSE},\n    {'D', \t\t\tSCI_CTRL,\tSCI_SELECTIONDUPLICATE},\n    {'U', \t\t\tSCI_CTRL,\tSCI_LOWERCASE},\n    {'U', \t\t\tSCI_CSHIFT,\tSCI_UPPERCASE},\n    {0,0,0},\n};\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/KeyMap.h",
    "content": "// Scintilla source code edit control\n/** @file KeyMap.h\n ** Defines a mapping between keystrokes and commands.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef KEYMAP_H\n#define KEYMAP_H\n\nnamespace Scintilla {\n\n#define SCI_NORM 0\n#define SCI_SHIFT SCMOD_SHIFT\n#define SCI_CTRL SCMOD_CTRL\n#define SCI_ALT SCMOD_ALT\n#define SCI_META SCMOD_META\n#define SCI_SUPER SCMOD_SUPER\n#define SCI_CSHIFT (SCI_CTRL | SCI_SHIFT)\n#define SCI_ASHIFT (SCI_ALT | SCI_SHIFT)\n\n/**\n */\nclass KeyModifiers {\npublic:\n\tint key;\n\tint modifiers;\n\tKeyModifiers(int key_, int modifiers_) : key(key_), modifiers(modifiers_) {\n\t}\n\tbool operator<(const KeyModifiers &other) const {\n\t\tif (key == other.key)\n\t\t\treturn modifiers < other.modifiers;\n\t\telse\n\t\t\treturn key < other.key;\n\t}\n};\n\n/**\n */\nclass KeyToCommand {\npublic:\n\tint key;\n\tint modifiers;\n\tunsigned int msg;\n};\n\n/**\n */\nclass KeyMap {\n\tstd::map<KeyModifiers, unsigned int> kmap;\n\tstatic const KeyToCommand MapDefault[];\n\npublic:\n\tKeyMap();\n\t~KeyMap();\n\tvoid Clear();\n\tvoid AssignCmdKey(int key, int modifiers, unsigned int msg);\n\tunsigned int Find(int key, int modifiers) const;\t// 0 returned on failure\n\tconst std::map<KeyModifiers, unsigned int> &GetKeyMap() const;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/License.txt",
    "content": "License for Scintilla and SciTE\n\nCopyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n\nAll Rights Reserved\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation.\n\nNEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\nSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY\nSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE\nOR PERFORMANCE OF THIS SOFTWARE."
  },
  {
    "path": "src/qscint/scintilla/src/LineMarker.cpp",
    "content": "// Scintilla source code edit control\n/** @file LineMarker.cxx\n ** Defines the look of a line marker in the margin.\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstring>\n#include <cmath>\n\n#include <stdexcept>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n\n#include \"StringCopy.h\"\n#include \"IntegerRectangle.h\"\n#include \"XPM.h\"\n#include \"LineMarker.h\"\n\nusing namespace Scintilla;\n\nLineMarker::~LineMarker() {\n}\n\nLineMarker::LineMarker() {\n\tmarkType = SC_MARK_CIRCLE;\n\tfore = ColourDesired(0, 0, 0);\n\tback = ColourDesired(0xff, 0xff, 0xff);\n\tbackSelected = ColourDesired(0xff, 0x00, 0x00);\n\talpha = SC_ALPHA_NOALPHA;\n\tcustomDraw = nullptr;\n}\n\nLineMarker::LineMarker(const LineMarker &) {\n\t// Defined to avoid pxpm and image being blindly copied, not as a complete copy constructor.\n\tmarkType = SC_MARK_CIRCLE;\n\tfore = ColourDesired(0, 0, 0);\n\tback = ColourDesired(0xff, 0xff, 0xff);\n\tbackSelected = ColourDesired(0xff, 0x00, 0x00);\n\talpha = SC_ALPHA_NOALPHA;\n\tpxpm.reset();\n\timage.reset();\n\tcustomDraw = nullptr;\n}\n\nLineMarker &LineMarker::operator=(const LineMarker &other) {\n\t// Defined to avoid pxpm and image being blindly copied, not as a complete assignment operator.\n\tif (this != &other) {\n\t\tmarkType = SC_MARK_CIRCLE;\n\t\tfore = ColourDesired(0, 0, 0);\n\t\tback = ColourDesired(0xff, 0xff, 0xff);\n\t\tbackSelected = ColourDesired(0xff, 0x00, 0x00);\n\t\talpha = SC_ALPHA_NOALPHA;\n\t\tpxpm.reset();\n\t\timage.reset();\n\t\tcustomDraw = nullptr;\n\t}\n\treturn *this;\n}\n\nvoid LineMarker::SetXPM(const char *textForm) {\n\tpxpm.reset(new XPM(textForm));\n\tmarkType = SC_MARK_PIXMAP;\n}\n\nvoid LineMarker::SetXPM(const char *const *linesForm) {\n\tpxpm.reset(new XPM(linesForm));\n\tmarkType = SC_MARK_PIXMAP;\n}\n\nvoid LineMarker::SetRGBAImage(Point sizeRGBAImage, float scale, const unsigned char *pixelsRGBAImage) {\n\timage.reset(new RGBAImage(static_cast<int>(sizeRGBAImage.x), static_cast<int>(sizeRGBAImage.y), scale, pixelsRGBAImage));\n\tmarkType = SC_MARK_RGBAIMAGE;\n}\n\nstatic void DrawBox(Surface *surface, int centreX, int centreY, int armSize, ColourDesired fore, ColourDesired back) {\n\tconst PRectangle rc = PRectangle::FromInts(\n\t\tcentreX - armSize,\n\t\tcentreY - armSize,\n\t\tcentreX + armSize + 1,\n\t\tcentreY + armSize + 1);\n\tsurface->RectangleDraw(rc, back, fore);\n}\n\nstatic void DrawCircle(Surface *surface, int centreX, int centreY, int armSize, ColourDesired fore, ColourDesired back) {\n\tconst PRectangle rcCircle = PRectangle::FromInts(\n\t\tcentreX - armSize,\n\t\tcentreY - armSize,\n\t\tcentreX + armSize + 1,\n\t\tcentreY + armSize + 1);\n\tsurface->Ellipse(rcCircle, back, fore);\n}\n\nstatic void DrawPlus(Surface *surface, int centreX, int centreY, int armSize, ColourDesired fore) {\n\tconst PRectangle rcV = PRectangle::FromInts(centreX, centreY - armSize + 2, centreX + 1, centreY + armSize - 2 + 1);\n\tsurface->FillRectangle(rcV, fore);\n\tconst PRectangle rcH = PRectangle::FromInts(centreX - armSize + 2, centreY, centreX + armSize - 2 + 1, centreY + 1);\n\tsurface->FillRectangle(rcH, fore);\n}\n\nstatic void DrawMinus(Surface *surface, int centreX, int centreY, int armSize, ColourDesired fore) {\n\tconst PRectangle rcH = PRectangle::FromInts(centreX - armSize + 2, centreY, centreX + armSize - 2 + 1, centreY + 1);\n\tsurface->FillRectangle(rcH, fore);\n}\n\nvoid LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharacter, typeOfFold tFold, int marginStyle) const {\n\tif (customDraw) {\n\t\tcustomDraw(surface, rcWhole, fontForCharacter, tFold, marginStyle, this);\n\t\treturn;\n\t}\n\n\tColourDesired colourHead = back;\n\tColourDesired colourBody = back;\n\tColourDesired colourTail = back;\n\n\tswitch (tFold) {\n\tcase LineMarker::head :\n\tcase LineMarker::headWithTail :\n\t\tcolourHead = backSelected;\n\t\tcolourTail = backSelected;\n\t\tbreak;\n\tcase LineMarker::body :\n\t\tcolourHead = backSelected;\n\t\tcolourBody = backSelected;\n\t\tbreak;\n\tcase LineMarker::tail :\n\t\tcolourBody = backSelected;\n\t\tcolourTail = backSelected;\n\t\tbreak;\n\tdefault :\n\t\t// LineMarker::undefined\n\t\tbreak;\n\t}\n\n\tif ((markType == SC_MARK_PIXMAP) && (pxpm)) {\n\t\tpxpm->Draw(surface, rcWhole);\n\t\treturn;\n\t}\n\tif ((markType == SC_MARK_RGBAIMAGE) && (image)) {\n\t\t// Make rectangle just large enough to fit image centred on centre of rcWhole\n\t\tPRectangle rcImage;\n\t\trcImage.top = ((rcWhole.top + rcWhole.bottom) - image->GetScaledHeight()) / 2;\n\t\trcImage.bottom = rcImage.top + image->GetScaledHeight();\n\t\trcImage.left = ((rcWhole.left + rcWhole.right) - image->GetScaledWidth()) / 2;\n\t\trcImage.right = rcImage.left + image->GetScaledWidth();\n\t\tsurface->DrawRGBAImage(rcImage, image->GetWidth(), image->GetHeight(), image->Pixels());\n\t\treturn;\n\t}\n\tconst IntegerRectangle ircWhole(rcWhole);\n\t// Restrict most shapes a bit\n\tconst PRectangle rc(rcWhole.left, rcWhole.top + 1, rcWhole.right, rcWhole.bottom - 1);\n\t// Ensure does not go beyond edge\n\tconst int minDim = std::min(ircWhole.Width(), ircWhole.Height()-2) - 1;\n\tint centreX = (ircWhole.right + ircWhole.left) / 2;\n\tconst int centreY = (ircWhole.bottom + ircWhole.top) / 2;\n\tconst int dimOn2 = minDim / 2;\n\tconst int dimOn4 = minDim / 4;\n\tconst int blobSize = dimOn2-1;\n\tconst int armSize = dimOn2-2;\n\tif (marginStyle == SC_MARGIN_NUMBER || marginStyle == SC_MARGIN_TEXT || marginStyle == SC_MARGIN_RTEXT) {\n\t\t// On textual margins move marker to the left to try to avoid overlapping the text\n\t\tcentreX = ircWhole.left + dimOn2 + 1;\n\t}\n\tif (markType == SC_MARK_ROUNDRECT) {\n\t\tPRectangle rcRounded = rc;\n\t\trcRounded.left = rc.left + 1;\n\t\trcRounded.right = rc.right - 1;\n\t\tsurface->RoundedRectangle(rcRounded, fore, back);\n\t} else if (markType == SC_MARK_CIRCLE) {\n\t\tconst PRectangle rcCircle = PRectangle::FromInts(\n\t\t\tcentreX - dimOn2,\n\t\t\tcentreY - dimOn2,\n\t\t\tcentreX + dimOn2,\n\t\t\tcentreY + dimOn2);\n\t\tsurface->Ellipse(rcCircle, fore, back);\n\t} else if (markType == SC_MARK_ARROW) {\n\t\tPoint pts[] = {\n    \t\tPoint::FromInts(centreX - dimOn4, centreY - dimOn2),\n    \t\tPoint::FromInts(centreX - dimOn4, centreY + dimOn2),\n    \t\tPoint::FromInts(centreX + dimOn2 - dimOn4, centreY),\n\t\t};\n\t\tsurface->Polygon(pts, ELEMENTS(pts), fore, back);\n\n\t} else if (markType == SC_MARK_ARROWDOWN) {\n\t\tPoint pts[] = {\n    \t\tPoint::FromInts(centreX - dimOn2, centreY - dimOn4),\n    \t\tPoint::FromInts(centreX + dimOn2, centreY - dimOn4),\n    \t\tPoint::FromInts(centreX, centreY + dimOn2 - dimOn4),\n\t\t};\n\t\tsurface->Polygon(pts, ELEMENTS(pts), fore, back);\n\n\t} else if (markType == SC_MARK_PLUS) {\n\t\tPoint pts[] = {\n    \t\tPoint::FromInts(centreX - armSize, centreY - 1),\n    \t\tPoint::FromInts(centreX - 1, centreY - 1),\n    \t\tPoint::FromInts(centreX - 1, centreY - armSize),\n    \t\tPoint::FromInts(centreX + 1, centreY - armSize),\n    \t\tPoint::FromInts(centreX + 1, centreY - 1),\n    \t\tPoint::FromInts(centreX + armSize, centreY -1),\n    \t\tPoint::FromInts(centreX + armSize, centreY +1),\n    \t\tPoint::FromInts(centreX + 1, centreY + 1),\n    \t\tPoint::FromInts(centreX + 1, centreY + armSize),\n    \t\tPoint::FromInts(centreX - 1, centreY + armSize),\n    \t\tPoint::FromInts(centreX - 1, centreY + 1),\n    \t\tPoint::FromInts(centreX - armSize, centreY + 1),\n\t\t};\n\t\tsurface->Polygon(pts, ELEMENTS(pts), fore, back);\n\n\t} else if (markType == SC_MARK_MINUS) {\n\t\tPoint pts[] = {\n    \t\tPoint::FromInts(centreX - armSize, centreY - 1),\n    \t\tPoint::FromInts(centreX + armSize, centreY -1),\n    \t\tPoint::FromInts(centreX + armSize, centreY +1),\n    \t\tPoint::FromInts(centreX - armSize, centreY + 1),\n\t\t};\n\t\tsurface->Polygon(pts, ELEMENTS(pts), fore, back);\n\n\t} else if (markType == SC_MARK_SMALLRECT) {\n\t\tPRectangle rcSmall;\n\t\trcSmall.left = rc.left + 1;\n\t\trcSmall.top = rc.top + 2;\n\t\trcSmall.right = rc.right - 1;\n\t\trcSmall.bottom = rc.bottom - 2;\n\t\tsurface->RectangleDraw(rcSmall, fore, back);\n\n\t} else if (markType == SC_MARK_EMPTY || markType == SC_MARK_BACKGROUND ||\n\t\tmarkType == SC_MARK_UNDERLINE || markType == SC_MARK_AVAILABLE) {\n\t\t// An invisible marker so don't draw anything\n\n\t} else if (markType == SC_MARK_VLINE) {\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t} else if (markType == SC_MARK_LCORNER) {\n\t\tsurface->PenColour(colourTail);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY);\n\t\tsurface->LineTo(ircWhole.right - 1, centreY);\n\n\t} else if (markType == SC_MARK_TCORNER) {\n\t\tsurface->PenColour(colourTail);\n\t\tsurface->MoveTo(centreX, centreY);\n\t\tsurface->LineTo(ircWhole.right - 1, centreY);\n\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY + 1);\n\n\t\tsurface->PenColour(colourHead);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t} else if (markType == SC_MARK_LCORNERCURVE) {\n\t\tsurface->PenColour(colourTail);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY-3);\n\t\tsurface->LineTo(centreX+3, centreY);\n\t\tsurface->LineTo(ircWhole.right - 1, centreY);\n\n\t} else if (markType == SC_MARK_TCORNERCURVE) {\n\t\tsurface->PenColour(colourTail);\n\t\tsurface->MoveTo(centreX, centreY-3);\n\t\tsurface->LineTo(centreX+3, centreY);\n\t\tsurface->LineTo(ircWhole.right - 1, centreY);\n\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY-2);\n\n\t\tsurface->PenColour(colourHead);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t} else if (markType == SC_MARK_BOXPLUS) {\n\t\tDrawBox(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawPlus(surface, centreX, centreY, blobSize, colourTail);\n\n\t} else if (markType == SC_MARK_BOXPLUSCONNECTED) {\n\t\tif (tFold == LineMarker::headWithTail)\n\t\t\tsurface->PenColour(colourTail);\n\t\telse\n\t\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, centreY + blobSize);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY - blobSize);\n\n\t\tDrawBox(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawPlus(surface, centreX, centreY, blobSize, colourTail);\n\n\t\tif (tFold == LineMarker::body) {\n\t\t\tsurface->PenColour(colourTail);\n\t\t\tsurface->MoveTo(centreX + 1, centreY + blobSize);\n\t\t\tsurface->LineTo(centreX + blobSize + 1, centreY + blobSize);\n\n\t\t\tsurface->MoveTo(centreX + blobSize, centreY + blobSize);\n\t\t\tsurface->LineTo(centreX + blobSize, centreY - blobSize);\n\n\t\t\tsurface->MoveTo(centreX + 1, centreY - blobSize);\n\t\t\tsurface->LineTo(centreX + blobSize + 1, centreY - blobSize);\n\t\t}\n\t} else if (markType == SC_MARK_BOXMINUS) {\n\t\tDrawBox(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawMinus(surface, centreX, centreY, blobSize, colourTail);\n\n\t\tsurface->PenColour(colourHead);\n\t\tsurface->MoveTo(centreX, centreY + blobSize);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t} else if (markType == SC_MARK_BOXMINUSCONNECTED) {\n\t\tDrawBox(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawMinus(surface, centreX, centreY, blobSize, colourTail);\n\n\t\tsurface->PenColour(colourHead);\n\t\tsurface->MoveTo(centreX, centreY + blobSize);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY - blobSize);\n\n\t\tif (tFold == LineMarker::body) {\n\t\t\tsurface->PenColour(colourTail);\n\t\t\tsurface->MoveTo(centreX + 1, centreY + blobSize);\n\t\t\tsurface->LineTo(centreX + blobSize + 1, centreY + blobSize);\n\n\t\t\tsurface->MoveTo(centreX + blobSize, centreY + blobSize);\n\t\t\tsurface->LineTo(centreX + blobSize, centreY - blobSize);\n\n\t\t\tsurface->MoveTo(centreX + 1, centreY - blobSize);\n\t\t\tsurface->LineTo(centreX + blobSize + 1, centreY - blobSize);\n\t\t}\n\t} else if (markType == SC_MARK_CIRCLEPLUS) {\n\t\tDrawCircle(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawPlus(surface, centreX, centreY, blobSize, colourTail);\n\n\t} else if (markType == SC_MARK_CIRCLEPLUSCONNECTED) {\n\t\tif (tFold == LineMarker::headWithTail)\n\t\t\tsurface->PenColour(colourTail);\n\t\telse\n\t\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, centreY + blobSize);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY - blobSize);\n\n\t\tDrawCircle(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawPlus(surface, centreX, centreY, blobSize, colourTail);\n\n\t} else if (markType == SC_MARK_CIRCLEMINUS) {\n\t\tsurface->PenColour(colourHead);\n\t\tsurface->MoveTo(centreX, centreY + blobSize);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t\tDrawCircle(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawMinus(surface, centreX, centreY, blobSize, colourTail);\n\n\t} else if (markType == SC_MARK_CIRCLEMINUSCONNECTED) {\n\t\tsurface->PenColour(colourHead);\n\t\tsurface->MoveTo(centreX, centreY + blobSize);\n\t\tsurface->LineTo(centreX, ircWhole.bottom);\n\n\t\tsurface->PenColour(colourBody);\n\t\tsurface->MoveTo(centreX, ircWhole.top);\n\t\tsurface->LineTo(centreX, centreY - blobSize);\n\n\t\tDrawCircle(surface, centreX, centreY, blobSize, fore, colourHead);\n\t\tDrawMinus(surface, centreX, centreY, blobSize, colourTail);\n\n\t} else if (markType >= SC_MARK_CHARACTER) {\n\t\tchar character[1];\n\t\tcharacter[0] = static_cast<char>(markType - SC_MARK_CHARACTER);\n\t\tconst XYPOSITION width = surface->WidthText(fontForCharacter, character, 1);\n\t\tPRectangle rcText = rc;\n\t\trcText.left += (rc.Width() - width) / 2;\n\t\trcText.right = rc.left + width;\n\t\tsurface->DrawTextClipped(rcText, fontForCharacter, rcText.bottom - 2,\n\t\t\tcharacter, 1, fore, back);\n\n\t} else if (markType == SC_MARK_DOTDOTDOT) {\n\t\tXYPOSITION right = static_cast<XYPOSITION>(centreX - 6);\n\t\tfor (int b=0; b<3; b++) {\n\t\t\tconst PRectangle rcBlob(right, rc.bottom - 4, right + 2, rc.bottom-2);\n\t\t\tsurface->FillRectangle(rcBlob, fore);\n\t\t\tright += 5.0f;\n\t\t}\n\t} else if (markType == SC_MARK_ARROWS) {\n\t\tsurface->PenColour(fore);\n\t\tint right = centreX - 2;\n\t\tconst int armLength = dimOn2 - 1;\n\t\tfor (int b = 0; b<3; b++) {\n\t\t\tsurface->MoveTo(right, centreY);\n\t\t\tsurface->LineTo(right - armLength, centreY - armLength);\n\t\t\tsurface->MoveTo(right, centreY);\n\t\t\tsurface->LineTo(right - armLength, centreY + armLength);\n\t\t\tright += 4;\n\t\t}\n\t} else if (markType == SC_MARK_SHORTARROW) {\n\t\tPoint pts[] = {\n\t\t\tPoint::FromInts(centreX, centreY + dimOn2),\n\t\t\tPoint::FromInts(centreX + dimOn2, centreY),\n\t\t\tPoint::FromInts(centreX, centreY - dimOn2),\n\t\t\tPoint::FromInts(centreX, centreY - dimOn4),\n\t\t\tPoint::FromInts(centreX - dimOn4, centreY - dimOn4),\n\t\t\tPoint::FromInts(centreX - dimOn4, centreY + dimOn4),\n\t\t\tPoint::FromInts(centreX, centreY + dimOn4),\n\t\t\tPoint::FromInts(centreX, centreY + dimOn2),\n\t\t};\n\t\tsurface->Polygon(pts, ELEMENTS(pts), fore, back);\n\t} else if (markType == SC_MARK_LEFTRECT) {\n\t\tPRectangle rcLeft = rcWhole;\n\t\trcLeft.right = rcLeft.left + 4;\n\t\tsurface->FillRectangle(rcLeft, back);\n\t} else if (markType == SC_MARK_BOOKMARK) {\n\t\tconst int halfHeight = minDim / 3;\n\t\tPoint pts[] = {\n\t\t\tPoint::FromInts(ircWhole.left, centreY-halfHeight),\n\t\t\tPoint::FromInts(ircWhole.right - 3, centreY - halfHeight),\n\t\t\tPoint::FromInts(ircWhole.right - 3 - halfHeight, centreY),\n\t\t\tPoint::FromInts(ircWhole.right - 3, centreY + halfHeight),\n\t\t\tPoint::FromInts(ircWhole.left, centreY + halfHeight),\n\t\t};\n\t\tsurface->Polygon(pts, ELEMENTS(pts), fore, back);\n\t} else { // SC_MARK_FULLRECT\n\t\tsurface->FillRectangle(rcWhole, back);\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/LineMarker.h",
    "content": "// Scintilla source code edit control\n/** @file LineMarker.h\n ** Defines the look of a line marker in the margin .\n **/\n// Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef LINEMARKER_H\n#define LINEMARKER_H\n\nnamespace Scintilla {\n\nclass XPM;\nclass RGBAImage;\n\ntypedef void (*DrawLineMarkerFn)(Surface *surface, PRectangle &rcWhole, Font &fontForCharacter, int tFold, int marginStyle, const void *lineMarker);\n\n/**\n */\nclass LineMarker {\npublic:\n\tenum typeOfFold { undefined, head, body, tail, headWithTail };\n\n\tint markType;\n\tColourDesired fore;\n\tColourDesired back;\n\tColourDesired backSelected;\n\tint alpha;\n\tstd::unique_ptr<XPM> pxpm;\n\tstd::unique_ptr<RGBAImage> image;\n\t/** Some platforms, notably PLAT_CURSES, do not support Scintilla's native\n\t * Draw function for drawing line markers. Allow those platforms to override\n\t * it instead of creating a new method(s) in the Surface class that existing\n\t * platforms must implement as empty. */\n\tDrawLineMarkerFn customDraw;\n\tLineMarker();\n\tLineMarker(const LineMarker &);\n\tvirtual ~LineMarker();\n\tLineMarker &operator=(const LineMarker &other);\n\tvoid SetXPM(const char *textForm);\n\tvoid SetXPM(const char *const *linesForm);\n\tvoid SetRGBAImage(Point sizeRGBAImage, float scale, const unsigned char *pixelsRGBAImage);\n\tvoid Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharacter, typeOfFold tFold, int marginStyle) const;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/MarginView.cpp",
    "content": "// Scintilla source code edit control\n/** @file MarginView.cxx\n ** Defines the appearance of the editor margin.\n **/\n// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n#include <cctype>\n#include <cstdio>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#include \"Position.h\"\n#include \"IntegerRectangle.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"ContractionState.h\"\n#include \"CellBuffer.h\"\n#include \"KeyMap.h\"\n#include \"Indicator.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"UniConversion.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n#include \"EditModel.h\"\n#include \"MarginView.h\"\n#include \"EditView.h\"\n\nusing namespace Scintilla;\n\nnamespace Scintilla {\n\nvoid DrawWrapMarker(Surface *surface, PRectangle rcPlace,\n\tbool isEndMarker, ColourDesired wrapColour) {\n\tsurface->PenColour(wrapColour);\n\n\tconst IntegerRectangle ircPlace(rcPlace);\n\n\tenum { xa = 1 }; // gap before start\n\tconst int w = ircPlace.Width() - xa - 1;\n\n\tconst bool xStraight = isEndMarker;  // x-mirrored symbol for start marker\n\n\tconst int x0 = xStraight ? ircPlace.left : ircPlace.right - 1;\n\tconst int y0 = ircPlace.top;\n\n\tconst int dy = ircPlace.Height() / 5;\n\tconst int y = ircPlace.Height() / 2 + dy;\n\n\tstruct Relative {\n\t\tSurface *surface;\n\t\tint xBase;\n\t\tint xDir;\n\t\tint yBase;\n\t\tint yDir;\n\t\tvoid MoveTo(int xRelative, int yRelative) {\n\t\t\tsurface->MoveTo(xBase + xDir * xRelative, yBase + yDir * yRelative);\n\t\t}\n\t\tvoid LineTo(int xRelative, int yRelative) {\n\t\t\tsurface->LineTo(xBase + xDir * xRelative, yBase + yDir * yRelative);\n\t\t}\n\t};\n\tRelative rel = { surface, x0, xStraight ? 1 : -1, y0, 1 };\n\n\t// arrow head\n\trel.MoveTo(xa, y);\n\trel.LineTo(xa + 2 * w / 3, y - dy);\n\trel.MoveTo(xa, y);\n\trel.LineTo(xa + 2 * w / 3, y + dy);\n\n\t// arrow body\n\trel.MoveTo(xa, y);\n\trel.LineTo(xa + w, y);\n\trel.LineTo(xa + w, y - 2 * dy);\n\trel.LineTo(xa - 1,   // on windows lineto is exclusive endpoint, perhaps GTK not...\n\t\ty - 2 * dy);\n}\n\nMarginView::MarginView() {\n\twrapMarkerPaddingRight = 3;\n\tcustomDrawWrapMarker = nullptr;\n}\n\nvoid MarginView::DropGraphics(bool freeObjects) {\n\tif (freeObjects) {\n\t\tpixmapSelMargin.reset();\n\t\tpixmapSelPattern.reset();\n\t\tpixmapSelPatternOffset1.reset();\n\t} else {\n\t\tif (pixmapSelMargin)\n\t\t\tpixmapSelMargin->Release();\n\t\tif (pixmapSelPattern)\n\t\t\tpixmapSelPattern->Release();\n\t\tif (pixmapSelPatternOffset1)\n\t\t\tpixmapSelPatternOffset1->Release();\n\t}\n}\n\nvoid MarginView::AllocateGraphics(const ViewStyle &vsDraw) {\n\tif (!pixmapSelMargin)\n\t\tpixmapSelMargin.reset(Surface::Allocate(vsDraw.technology));\n\tif (!pixmapSelPattern)\n\t\tpixmapSelPattern.reset(Surface::Allocate(vsDraw.technology));\n\tif (!pixmapSelPatternOffset1)\n\t\tpixmapSelPatternOffset1.reset(Surface::Allocate(vsDraw.technology));\n}\n\nvoid MarginView::RefreshPixMaps(Surface *surfaceWindow, WindowID wid, const ViewStyle &vsDraw) {\n\tif (!pixmapSelPattern->Initialised()) {\n\t\tconst int patternSize = 8;\n\t\tpixmapSelPattern->InitPixMap(patternSize, patternSize, surfaceWindow, wid);\n\t\tpixmapSelPatternOffset1->InitPixMap(patternSize, patternSize, surfaceWindow, wid);\n\t\t// This complex procedure is to reproduce the checkerboard dithered pattern used by windows\n\t\t// for scroll bars and Visual Studio for its selection margin. The colour of this pattern is half\n\t\t// way between the chrome colour and the chrome highlight colour making a nice transition\n\t\t// between the window chrome and the content area. And it works in low colour depths.\n\t\tconst PRectangle rcPattern = PRectangle::FromInts(0, 0, patternSize, patternSize);\n\n\t\t// Initialize default colours based on the chrome colour scheme.  Typically the highlight is white.\n\t\tColourDesired colourFMFill = vsDraw.selbar;\n\t\tColourDesired colourFMStripes = vsDraw.selbarlight;\n\n\t\tif (!(vsDraw.selbarlight == ColourDesired(0xff, 0xff, 0xff))) {\n\t\t\t// User has chosen an unusual chrome colour scheme so just use the highlight edge colour.\n\t\t\t// (Typically, the highlight colour is white.)\n\t\t\tcolourFMFill = vsDraw.selbarlight;\n\t\t}\n\n\t\tif (vsDraw.foldmarginColour.isSet) {\n\t\t\t// override default fold margin colour\n\t\t\tcolourFMFill = vsDraw.foldmarginColour;\n\t\t}\n\t\tif (vsDraw.foldmarginHighlightColour.isSet) {\n\t\t\t// override default fold margin highlight colour\n\t\t\tcolourFMStripes = vsDraw.foldmarginHighlightColour;\n\t\t}\n\n\t\tpixmapSelPattern->FillRectangle(rcPattern, colourFMFill);\n\t\tpixmapSelPatternOffset1->FillRectangle(rcPattern, colourFMStripes);\n\t\tfor (int y = 0; y < patternSize; y++) {\n\t\t\tfor (int x = y % 2; x < patternSize; x += 2) {\n\t\t\t\tconst PRectangle rcPixel = PRectangle::FromInts(x, y, x + 1, y + 1);\n\t\t\t\tpixmapSelPattern->FillRectangle(rcPixel, colourFMStripes);\n\t\t\t\tpixmapSelPatternOffset1->FillRectangle(rcPixel, colourFMFill);\n\t\t\t}\n\t\t}\n\t}\n}\n\nstatic int SubstituteMarkerIfEmpty(int markerCheck, int markerDefault, const ViewStyle &vs) {\n\tif (vs.markers[markerCheck].markType == SC_MARK_EMPTY)\n\t\treturn markerDefault;\n\treturn markerCheck;\n}\n\nvoid MarginView::PaintMargin(Surface *surface, Sci::Line topLine, PRectangle rc, PRectangle rcMargin,\n\tconst EditModel &model, const ViewStyle &vs) {\n\n\tPRectangle rcSelMargin = rcMargin;\n\trcSelMargin.right = rcMargin.left;\n\tif (rcSelMargin.bottom < rc.bottom)\n\t\trcSelMargin.bottom = rc.bottom;\n\n\tconst Point ptOrigin = model.GetVisibleOriginInMain();\n\tFontAlias fontLineNumber = vs.styles[STYLE_LINENUMBER].font;\n\tfor (size_t margin = 0; margin < vs.ms.size(); margin++) {\n\t\tif (vs.ms[margin].width > 0) {\n\n\t\t\trcSelMargin.left = rcSelMargin.right;\n\t\t\trcSelMargin.right = rcSelMargin.left + vs.ms[margin].width;\n\n\t\t\tif (vs.ms[margin].style != SC_MARGIN_NUMBER) {\n\t\t\t\tif (vs.ms[margin].mask & SC_MASK_FOLDERS) {\n\t\t\t\t\t// Required because of special way brush is created for selection margin\n\t\t\t\t\t// Ensure patterns line up when scrolling with separate margin view\n\t\t\t\t\t// by choosing correctly aligned variant.\n\t\t\t\t\tconst bool invertPhase = static_cast<int>(ptOrigin.y) & 1;\n\t\t\t\t\tsurface->FillRectangle(rcSelMargin,\n\t\t\t\t\t\tinvertPhase ? *pixmapSelPattern : *pixmapSelPatternOffset1);\n\t\t\t\t} else {\n\t\t\t\t\tColourDesired colour;\n\t\t\t\t\tswitch (vs.ms[margin].style) {\n\t\t\t\t\tcase SC_MARGIN_BACK:\n\t\t\t\t\t\tcolour = vs.styles[STYLE_DEFAULT].back;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SC_MARGIN_FORE:\n\t\t\t\t\t\tcolour = vs.styles[STYLE_DEFAULT].fore;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SC_MARGIN_COLOUR:\n\t\t\t\t\t\tcolour = vs.ms[margin].back;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcolour = vs.styles[STYLE_LINENUMBER].back;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tsurface->FillRectangle(rcSelMargin, colour);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsurface->FillRectangle(rcSelMargin, vs.styles[STYLE_LINENUMBER].back);\n\t\t\t}\n\n\t\t\tconst int lineStartPaint = static_cast<int>(rcMargin.top + ptOrigin.y) / vs.lineHeight;\n\t\t\tSci::Line visibleLine = model.TopLineOfMain() + lineStartPaint;\n\t\t\tSci::Position yposScreen = lineStartPaint * vs.lineHeight - static_cast<Sci::Position>(ptOrigin.y);\n\t\t\t// Work out whether the top line is whitespace located after a\n\t\t\t// lessening of fold level which implies a 'fold tail' but which should not\n\t\t\t// be displayed until the last of a sequence of whitespace.\n\t\t\tbool needWhiteClosure = false;\n\t\t\tif (vs.ms[margin].mask & SC_MASK_FOLDERS) {\n\t\t\t\tconst int level = model.pdoc->GetLevel(model.pcs->DocFromDisplay(visibleLine));\n\t\t\t\tif (level & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\tSci::Line lineBack = model.pcs->DocFromDisplay(visibleLine);\n\t\t\t\t\tint levelPrev = level;\n\t\t\t\t\twhile ((lineBack > 0) && (levelPrev & SC_FOLDLEVELWHITEFLAG)) {\n\t\t\t\t\t\tlineBack--;\n\t\t\t\t\t\tlevelPrev = model.pdoc->GetLevel(lineBack);\n\t\t\t\t\t}\n\t\t\t\t\tif (!(levelPrev & SC_FOLDLEVELHEADERFLAG)) {\n\t\t\t\t\t\tif (LevelNumber(level) < LevelNumber(levelPrev))\n\t\t\t\t\t\t\tneedWhiteClosure = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (highlightDelimiter.isEnabled) {\n\t\t\t\t\tconst Sci::Line lastLine = model.pcs->DocFromDisplay(topLine + model.LinesOnScreen()) + 1;\n\t\t\t\t\tmodel.pdoc->GetHighlightDelimiters(highlightDelimiter,\n\t\t\t\t\t\tmodel.pdoc->SciLineFromPosition(model.sel.MainCaret()), lastLine);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Old code does not know about new markers needed to distinguish all cases\n\t\t\tconst int folderOpenMid = SubstituteMarkerIfEmpty(SC_MARKNUM_FOLDEROPENMID,\n\t\t\t\tSC_MARKNUM_FOLDEROPEN, vs);\n\t\t\tconst int folderEnd = SubstituteMarkerIfEmpty(SC_MARKNUM_FOLDEREND,\n\t\t\t\tSC_MARKNUM_FOLDER, vs);\n\n\t\t\twhile ((visibleLine < model.pcs->LinesDisplayed()) && yposScreen < rc.bottom) {\n\n\t\t\t\tPLATFORM_ASSERT(visibleLine < model.pcs->LinesDisplayed());\n\t\t\t\tconst Sci::Line lineDoc = model.pcs->DocFromDisplay(visibleLine);\n\t\t\t\tPLATFORM_ASSERT(model.pcs->GetVisible(lineDoc));\n\t\t\t\tconst Sci::Line firstVisibleLine = model.pcs->DisplayFromDoc(lineDoc);\n\t\t\t\tconst Sci::Line lastVisibleLine = model.pcs->DisplayLastFromDoc(lineDoc);\n\t\t\t\tconst bool firstSubLine = visibleLine == firstVisibleLine;\n\t\t\t\tconst bool lastSubLine = visibleLine == lastVisibleLine;\n\n\t\t\t\tint marks = model.pdoc->GetMark(lineDoc);\n\t\t\t\tif (!firstSubLine)\n\t\t\t\t\tmarks = 0;\n\n\t\t\t\tbool headWithTail = false;\n\n\t\t\t\tif (vs.ms[margin].mask & SC_MASK_FOLDERS) {\n\t\t\t\t\t// Decide which fold indicator should be displayed\n\t\t\t\t\tconst int level = model.pdoc->GetLevel(lineDoc);\n\t\t\t\t\tconst int levelNext = model.pdoc->GetLevel(lineDoc + 1);\n\t\t\t\t\tconst int levelNum = LevelNumber(level);\n\t\t\t\t\tconst int levelNextNum = LevelNumber(levelNext);\n\t\t\t\t\tif (level & SC_FOLDLEVELHEADERFLAG) {\n\t\t\t\t\t\tif (firstSubLine) {\n\t\t\t\t\t\t\tif (levelNum < levelNextNum) {\n\t\t\t\t\t\t\t\tif (model.pcs->GetExpanded(lineDoc)) {\n\t\t\t\t\t\t\t\t\tif (levelNum == SC_FOLDLEVELBASE)\n\t\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDEROPEN;\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\tmarks |= 1 << folderOpenMid;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (levelNum == SC_FOLDLEVELBASE)\n\t\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDER;\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\tmarks |= 1 << folderEnd;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (levelNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (levelNum < levelNextNum) {\n\t\t\t\t\t\t\t\tif (model.pcs->GetExpanded(lineDoc)) {\n\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t\t} else if (levelNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (levelNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tneedWhiteClosure = false;\n\t\t\t\t\t\tconst Sci::Line firstFollowupLine = model.pcs->DocFromDisplay(model.pcs->DisplayFromDoc(lineDoc + 1));\n\t\t\t\t\t\tconst int firstFollowupLineLevel = model.pdoc->GetLevel(firstFollowupLine);\n\t\t\t\t\t\tconst int secondFollowupLineLevelNum = LevelNumber(model.pdoc->GetLevel(firstFollowupLine + 1));\n\t\t\t\t\t\tif (!model.pcs->GetExpanded(lineDoc)) {\n\t\t\t\t\t\t\tif ((firstFollowupLineLevel & SC_FOLDLEVELWHITEFLAG) &&\n\t\t\t\t\t\t\t\t(levelNum > secondFollowupLineLevelNum))\n\t\t\t\t\t\t\t\tneedWhiteClosure = true;\n\n\t\t\t\t\t\t\tif (highlightDelimiter.IsFoldBlockHighlighted(firstFollowupLine))\n\t\t\t\t\t\t\t\theadWithTail = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (level & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\t\tif (needWhiteClosure) {\n\t\t\t\t\t\t\tif (levelNext & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t} else if (levelNextNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERMIDTAIL;\n\t\t\t\t\t\t\t\tneedWhiteClosure = false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERTAIL;\n\t\t\t\t\t\t\t\tneedWhiteClosure = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (levelNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\tif (levelNextNum < levelNum) {\n\t\t\t\t\t\t\t\tif (levelNextNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERMIDTAIL;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERTAIL;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (levelNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\tif (levelNextNum < levelNum) {\n\t\t\t\t\t\t\tneedWhiteClosure = false;\n\t\t\t\t\t\t\tif (levelNext & SC_FOLDLEVELWHITEFLAG) {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t\tneedWhiteClosure = true;\n\t\t\t\t\t\t\t} else if (lastSubLine) {\n\t\t\t\t\t\t\t\tif (levelNextNum > SC_FOLDLEVELBASE) {\n\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERMIDTAIL;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERTAIL;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmarks |= 1 << SC_MARKNUM_FOLDERSUB;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmarks &= vs.ms[margin].mask;\n\n\t\t\t\tPRectangle rcMarker = rcSelMargin;\n\t\t\t\trcMarker.top = static_cast<XYPOSITION>(yposScreen);\n\t\t\t\trcMarker.bottom = static_cast<XYPOSITION>(yposScreen + vs.lineHeight);\n\t\t\t\tif (vs.ms[margin].style == SC_MARGIN_NUMBER) {\n\t\t\t\t\tif (firstSubLine) {\n\t\t\t\t\t\tstd::string sNumber;\n\t\t\t\t\t\tif (lineDoc >= 0) {\n\t\t\t\t\t\t\tsNumber = std::to_string(lineDoc + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (model.foldFlags & (SC_FOLDFLAG_LEVELNUMBERS | SC_FOLDFLAG_LINESTATE)) {\n\t\t\t\t\t\t\tchar number[100] = \"\";\n\t\t\t\t\t\t\tif (model.foldFlags & SC_FOLDFLAG_LEVELNUMBERS) {\n\t\t\t\t\t\t\t\tconst int lev = model.pdoc->GetLevel(lineDoc);\n\t\t\t\t\t\t\t\tsprintf(number, \"%c%c %03X %03X\",\n\t\t\t\t\t\t\t\t\t(lev & SC_FOLDLEVELHEADERFLAG) ? 'H' : '_',\n\t\t\t\t\t\t\t\t\t(lev & SC_FOLDLEVELWHITEFLAG) ? 'W' : '_',\n\t\t\t\t\t\t\t\t\tLevelNumber(lev),\n\t\t\t\t\t\t\t\t\tlev >> 16\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst int state = model.pdoc->GetLineState(lineDoc);\n\t\t\t\t\t\t\t\tsprintf(number, \"%0X\", state);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsNumber = number;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tPRectangle rcNumber = rcMarker;\n\t\t\t\t\t\t// Right justify\n\t\t\t\t\t\tconst XYPOSITION width = surface->WidthText(fontLineNumber, sNumber.c_str(), static_cast<int>(sNumber.length()));\n\t\t\t\t\t\tconst XYPOSITION xpos = rcNumber.right - width - vs.marginNumberPadding;\n\t\t\t\t\t\trcNumber.left = xpos;\n\t\t\t\t\t\tDrawTextNoClipPhase(surface, rcNumber, vs.styles[STYLE_LINENUMBER],\n\t\t\t\t\t\t\trcNumber.top + vs.maxAscent, sNumber.c_str(), static_cast<int>(sNumber.length()), drawAll);\n\t\t\t\t\t} else if (vs.wrapVisualFlags & SC_WRAPVISUALFLAG_MARGIN) {\n\t\t\t\t\t\tPRectangle rcWrapMarker = rcMarker;\n\t\t\t\t\t\trcWrapMarker.right -= wrapMarkerPaddingRight;\n\t\t\t\t\t\trcWrapMarker.left = rcWrapMarker.right - vs.styles[STYLE_LINENUMBER].aveCharWidth;\n\t\t\t\t\t\tif (!customDrawWrapMarker) {\n\t\t\t\t\t\t\tDrawWrapMarker(surface, rcWrapMarker, false, vs.styles[STYLE_LINENUMBER].fore);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcustomDrawWrapMarker(surface, rcWrapMarker, false, vs.styles[STYLE_LINENUMBER].fore);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (vs.ms[margin].style == SC_MARGIN_TEXT || vs.ms[margin].style == SC_MARGIN_RTEXT) {\n\t\t\t\t\tconst StyledText stMargin = model.pdoc->MarginStyledText(lineDoc);\n\t\t\t\t\tif (stMargin.text && ValidStyledText(vs, vs.marginStyleOffset, stMargin)) {\n\t\t\t\t\t\tif (firstSubLine) {\n\t\t\t\t\t\t\tsurface->FillRectangle(rcMarker,\n\t\t\t\t\t\t\t\tvs.styles[stMargin.StyleAt(0) + vs.marginStyleOffset].back);\n\t\t\t\t\t\t\tif (vs.ms[margin].style == SC_MARGIN_RTEXT) {\n\t\t\t\t\t\t\t\tconst int width = WidestLineWidth(surface, vs, vs.marginStyleOffset, stMargin);\n\t\t\t\t\t\t\t\trcMarker.left = rcMarker.right - width - 3;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tDrawStyledText(surface, vs, vs.marginStyleOffset, rcMarker,\n\t\t\t\t\t\t\t\tstMargin, 0, stMargin.length, drawAll);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// if we're displaying annotation lines, color the margin to match the associated document line\n\t\t\t\t\t\t\tconst int annotationLines = model.pdoc->AnnotationLines(lineDoc);\n\t\t\t\t\t\t\tif (annotationLines && (visibleLine > lastVisibleLine - annotationLines)) {\n\t\t\t\t\t\t\t\tsurface->FillRectangle(rcMarker, vs.styles[stMargin.StyleAt(0) + vs.marginStyleOffset].back);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (marks) {\n\t\t\t\t\tfor (int markBit = 0; (markBit < 32) && marks; markBit++) {\n\t\t\t\t\t\tif (marks & 1) {\n\t\t\t\t\t\t\tLineMarker::typeOfFold tFold = LineMarker::undefined;\n\t\t\t\t\t\t\tif ((vs.ms[margin].mask & SC_MASK_FOLDERS) && highlightDelimiter.IsFoldBlockHighlighted(lineDoc)) {\n\t\t\t\t\t\t\t\tif (highlightDelimiter.IsBodyOfFoldBlock(lineDoc)) {\n\t\t\t\t\t\t\t\t\ttFold = LineMarker::body;\n\t\t\t\t\t\t\t\t} else if (highlightDelimiter.IsHeadOfFoldBlock(lineDoc)) {\n\t\t\t\t\t\t\t\t\tif (firstSubLine) {\n\t\t\t\t\t\t\t\t\t\ttFold = headWithTail ? LineMarker::headWithTail : LineMarker::head;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tif (model.pcs->GetExpanded(lineDoc) || headWithTail) {\n\t\t\t\t\t\t\t\t\t\t\ttFold = LineMarker::body;\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\ttFold = LineMarker::undefined;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if (highlightDelimiter.IsTailOfFoldBlock(lineDoc)) {\n\t\t\t\t\t\t\t\t\ttFold = LineMarker::tail;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvs.markers[markBit].Draw(surface, rcMarker, fontLineNumber, tFold, vs.ms[margin].style);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmarks >>= 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvisibleLine++;\n\t\t\t\typosScreen += vs.lineHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\tPRectangle rcBlankMargin = rcMargin;\n\trcBlankMargin.left = rcSelMargin.right;\n\tsurface->FillRectangle(rcBlankMargin, vs.styles[STYLE_DEFAULT].back);\n}\n\n}\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/MarginView.h",
    "content": "// Scintilla source code edit control\n/** @file MarginView.h\n ** Defines the appearance of the editor margin.\n **/\n// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef MARGINVIEW_H\n#define MARGINVIEW_H\n\nnamespace Scintilla {\n\nvoid DrawWrapMarker(Surface *surface, PRectangle rcPlace, bool isEndMarker, ColourDesired wrapColour);\n\ntypedef void (*DrawWrapMarkerFn)(Surface *surface, PRectangle rcPlace, bool isEndMarker, ColourDesired wrapColour);\n\n/**\n* MarginView draws the margins.\n*/\nclass MarginView {\npublic:\n\tstd::unique_ptr<Surface> pixmapSelMargin;\n\tstd::unique_ptr<Surface> pixmapSelPattern;\n\tstd::unique_ptr<Surface> pixmapSelPatternOffset1;\n\t// Highlight current folding block\n\tHighlightDelimiter highlightDelimiter;\n\n\tint wrapMarkerPaddingRight; // right-most pixel padding of wrap markers\n\t/** Some platforms, notably PLAT_CURSES, do not support Scintilla's native\n\t * DrawWrapMarker function for drawing wrap markers. Allow those platforms to\n\t * override it instead of creating a new method in the Surface class that\n\t * existing platforms must implement as empty. */\n\tDrawWrapMarkerFn customDrawWrapMarker;\n\n\tMarginView();\n\n\tvoid DropGraphics(bool freeObjects);\n\tvoid AllocateGraphics(const ViewStyle &vsDraw);\n\tvoid RefreshPixMaps(Surface *surfaceWindow, WindowID wid, const ViewStyle &vsDraw);\n\tvoid PaintMargin(Surface *surface, Sci::Line topLine, PRectangle rc, PRectangle rcMargin,\n\t\tconst EditModel &model, const ViewStyle &vs);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Partitioning.h",
    "content": "// Scintilla source code edit control\n/** @file Partitioning.h\n ** Data structure used to partition an interval. Used for holding line start/end positions.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef PARTITIONING_H\n#define PARTITIONING_H\n\nnamespace Scintilla {\n\n/// A split vector of integers with a method for adding a value to all elements\n/// in a range.\n/// Used by the Partitioning class.\n\ntemplate <typename T>\nclass SplitVectorWithRangeAdd : public SplitVector<T> {\npublic:\n\texplicit SplitVectorWithRangeAdd(ptrdiff_t growSize_) {\n\t\tthis->SetGrowSize(growSize_);\n\t\tthis->ReAllocate(growSize_);\n\t}\n\t// Deleted so SplitVectorWithRangeAdd objects can not be copied.\n\tSplitVectorWithRangeAdd(const SplitVectorWithRangeAdd &) = delete;\n\tSplitVectorWithRangeAdd(SplitVectorWithRangeAdd &&) = delete;\n\tvoid operator=(const SplitVectorWithRangeAdd &) = delete;\n\tvoid operator=(SplitVectorWithRangeAdd &&) = delete;\n\t~SplitVectorWithRangeAdd() {\n\t}\n\tvoid RangeAddDelta(ptrdiff_t start, ptrdiff_t end, T delta) noexcept {\n\t\t// end is 1 past end, so end-start is number of elements to change\n\t\tptrdiff_t i = 0;\n\t\tconst ptrdiff_t rangeLength = end - start;\n\t\tptrdiff_t range1Length = rangeLength;\n\t\tconst ptrdiff_t part1Left = this->part1Length - start;\n\t\tif (range1Length > part1Left)\n\t\t\trange1Length = part1Left;\n\t\twhile (i < range1Length) {\n\t\t\tthis->body[start++] += delta;\n\t\t\ti++;\n\t\t}\n\t\tstart += this->gapLength;\n\t\twhile (i < rangeLength) {\n\t\t\tthis->body[start++] += delta;\n\t\t\ti++;\n\t\t}\n\t}\n};\n\n/// Divide an interval into multiple partitions.\n/// Useful for breaking a document down into sections such as lines.\n/// A 0 length interval has a single 0 length partition, numbered 0\n/// If interval not 0 length then each partition non-zero length\n/// When needed, positions after the interval are considered part of the last partition\n/// but the end of the last partition can be found with PositionFromPartition(last+1).\n\ntemplate <typename T>\nclass Partitioning {\nprivate:\n\t// To avoid calculating all the partition positions whenever any text is inserted\n\t// there may be a step somewhere in the list.\n\tT stepPartition;\n\tT stepLength;\n\tstd::unique_ptr<SplitVectorWithRangeAdd<T>> body;\n\n\t// Move step forward\n\tvoid ApplyStep(T partitionUpTo) noexcept {\n\t\tif (stepLength != 0) {\n\t\t\tbody->RangeAddDelta(stepPartition+1, partitionUpTo + 1, stepLength);\n\t\t}\n\t\tstepPartition = partitionUpTo;\n\t\tif (stepPartition >= body->Length()-1) {\n\t\t\tstepPartition = Partitions();\n\t\t\tstepLength = 0;\n\t\t}\n\t}\n\n\t// Move step backward\n\tvoid BackStep(T partitionDownTo) noexcept {\n\t\tif (stepLength != 0) {\n\t\t\tbody->RangeAddDelta(partitionDownTo+1, stepPartition+1, -stepLength);\n\t\t}\n\t\tstepPartition = partitionDownTo;\n\t}\n\n\tvoid Allocate(ptrdiff_t growSize) {\n\t\tbody.reset(new SplitVectorWithRangeAdd<T>(growSize));\n\t\tstepPartition = 0;\n\t\tstepLength = 0;\n\t\tbody->Insert(0, 0);\t// This value stays 0 for ever\n\t\tbody->Insert(1, 0);\t// This is the end of the first partition and will be the start of the second\n\t}\n\npublic:\n\texplicit Partitioning(int growSize) : stepPartition(0), stepLength(0) {\n\t\tAllocate(growSize);\n\t}\n\n\t// Deleted so Partitioning objects can not be copied.\n\tPartitioning(const Partitioning &) = delete;\n\tPartitioning(Partitioning &&) = delete;\n\tvoid operator=(const Partitioning &) = delete;\n\tvoid operator=(Partitioning &&) = delete;\n\n\t~Partitioning() {\n\t}\n\n\tT Partitions() const noexcept {\n\t\treturn static_cast<T>(body->Length())-1;\n\t}\n\n\tvoid InsertPartition(T partition, T pos) {\n\t\tif (stepPartition < partition) {\n\t\t\tApplyStep(partition);\n\t\t}\n\t\tbody->Insert(partition, pos);\n\t\tstepPartition++;\n\t}\n\n\tvoid SetPartitionStartPosition(T partition, T pos) noexcept {\n\t\tApplyStep(partition+1);\n\t\tif ((partition < 0) || (partition > body->Length())) {\n\t\t\treturn;\n\t\t}\n\t\tbody->SetValueAt(partition, pos);\n\t}\n\n\tvoid InsertText(T partitionInsert, T delta) {\n\t\t// Point all the partitions after the insertion point further along in the buffer\n\t\tif (stepLength != 0) {\n\t\t\tif (partitionInsert >= stepPartition) {\n\t\t\t\t// Fill in up to the new insertion point\n\t\t\t\tApplyStep(partitionInsert);\n\t\t\t\tstepLength += delta;\n\t\t\t} else if (partitionInsert >= (stepPartition - body->Length() / 10)) {\n\t\t\t\t// Close to step but before so move step back\n\t\t\t\tBackStep(partitionInsert);\n\t\t\t\tstepLength += delta;\n\t\t\t} else {\n\t\t\t\tApplyStep(Partitions());\n\t\t\t\tstepPartition = partitionInsert;\n\t\t\t\tstepLength = delta;\n\t\t\t}\n\t\t} else {\n\t\t\tstepPartition = partitionInsert;\n\t\t\tstepLength = delta;\n\t\t}\n\t}\n\n\tvoid RemovePartition(T partition) {\n\t\tif (partition > stepPartition) {\n\t\t\tApplyStep(partition);\n\t\t\tstepPartition--;\n\t\t} else {\n\t\t\tstepPartition--;\n\t\t}\n\t\tbody->Delete(partition);\n\t}\n\n\tT PositionFromPartition(T partition) const noexcept {\n\t\tPLATFORM_ASSERT(partition >= 0);\n\t\tPLATFORM_ASSERT(partition < body->Length());\n\t\tconst ptrdiff_t lengthBody = body->Length();\n\t\tif ((partition < 0) || (partition >= lengthBody)) {\n\t\t\treturn 0;\n\t\t}\n\t\tT pos = body->ValueAt(partition);\n\t\tif (partition > stepPartition)\n\t\t\tpos += stepLength;\n\t\treturn pos;\n\t}\n\n\t/// Return value in range [0 .. Partitions() - 1] even for arguments outside interval\n\tT PartitionFromPosition(T pos) const noexcept {\n\t\tif (body->Length() <= 1)\n\t\t\treturn 0;\n\t\tif (pos >= (PositionFromPartition(Partitions())))\n\t\t\treturn Partitions() - 1;\n\t\tT lower = 0;\n\t\tT upper = Partitions();\n\t\tdo {\n\t\t\tconst T middle = (upper + lower + 1) / 2; \t// Round high\n\t\t\tT posMiddle = body->ValueAt(middle);\n\t\t\tif (middle > stepPartition)\n\t\t\t\tposMiddle += stepLength;\n\t\t\tif (pos < posMiddle) {\n\t\t\t\tupper = middle - 1;\n\t\t\t} else {\n\t\t\t\tlower = middle;\n\t\t\t}\n\t\t} while (lower < upper);\n\t\treturn lower;\n\t}\n\n\tvoid DeleteAll() {\n\t\tAllocate(body->GetGrowSize());\n\t}\n};\n\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/PerLine.cpp",
    "content": "// Scintilla source code edit control\n/** @file PerLine.cxx\n ** Manages data associated with each line of the document\n **/\n// Copyright 1998-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cassert>\n#include <cstring>\n\n#include <stdexcept>\n#include <vector>\n#include <forward_list>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"Position.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"CellBuffer.h\"\n#include \"PerLine.h\"\n\nusing namespace Scintilla;\n\nMarkerHandleSet::MarkerHandleSet() {\n}\n\nMarkerHandleSet::~MarkerHandleSet() {\n\tmhList.clear();\n}\n\nbool MarkerHandleSet::Empty() const noexcept {\n\treturn mhList.empty();\n}\n\nint MarkerHandleSet::MarkValue() const noexcept {\n\tunsigned int m = 0;\n\tfor (const MarkerHandleNumber &mhn : mhList) {\n\t\tm |= (1 << mhn.number);\n\t}\n\treturn m;\n}\n\nbool MarkerHandleSet::Contains(int handle) const noexcept {\n\tfor (const MarkerHandleNumber &mhn : mhList) {\n\t\tif (mhn.handle == handle) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool MarkerHandleSet::InsertHandle(int handle, int markerNum) {\n\tmhList.push_front(MarkerHandleNumber(handle, markerNum));\n\treturn true;\n}\n\nvoid MarkerHandleSet::RemoveHandle(int handle) {\n\tmhList.remove_if([handle](const MarkerHandleNumber &mhn) { return mhn.handle == handle; });\n}\n\nbool MarkerHandleSet::RemoveNumber(int markerNum, bool all) {\n\tbool performedDeletion = false;\n\tmhList.remove_if([&](const MarkerHandleNumber &mhn) {\n\t\tif ((all || !performedDeletion) && (mhn.number == markerNum)) {\n\t\t\tperformedDeletion = true;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t});\n\treturn performedDeletion;\n}\n\nvoid MarkerHandleSet::CombineWith(MarkerHandleSet *other) {\n\tmhList.splice_after(mhList.before_begin(), other->mhList);\n}\n\nLineMarkers::~LineMarkers() {\n\tmarkers.DeleteAll();\n}\n\nvoid LineMarkers::Init() {\n\tmarkers.DeleteAll();\n}\n\nvoid LineMarkers::InsertLine(Sci::Line line) {\n\tif (markers.Length()) {\n\t\tmarkers.Insert(line, 0);\n\t}\n}\n\nvoid LineMarkers::RemoveLine(Sci::Line line) {\n\t// Retain the markers from the deleted line by oring them into the previous line\n\tif (markers.Length()) {\n\t\tif (line > 0) {\n\t\t\tMergeMarkers(line - 1);\n\t\t}\n\t\tmarkers.Delete(line);\n\t}\n}\n\nSci::Line LineMarkers::LineFromHandle(int markerHandle) {\n\tif (markers.Length()) {\n\t\tfor (Sci::Line line = 0; line < markers.Length(); line++) {\n\t\t\tif (markers[line]) {\n\t\t\t\tif (markers[line]->Contains(markerHandle)) {\n\t\t\t\t\treturn line;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn -1;\n}\n\nvoid LineMarkers::MergeMarkers(Sci::Line line) {\n\tif (markers[line + 1]) {\n\t\tif (!markers[line])\n\t\t\tmarkers[line].reset(new MarkerHandleSet);\n\t\tmarkers[line]->CombineWith(markers[line + 1].get());\n\t\tmarkers[line + 1].reset();\n\t}\n}\n\nint LineMarkers::MarkValue(Sci::Line line) noexcept {\n\tif (markers.Length() && (line >= 0) && (line < markers.Length()) && markers[line])\n\t\treturn markers[line]->MarkValue();\n\telse\n\t\treturn 0;\n}\n\nSci::Line LineMarkers::MarkerNext(Sci::Line lineStart, int mask) const {\n\tif (lineStart < 0)\n\t\tlineStart = 0;\n\tconst Sci::Line length = static_cast<Sci::Line>(markers.Length());\n\tfor (Sci::Line iLine = lineStart; iLine < length; iLine++) {\n\t\tconst MarkerHandleSet *onLine = markers[iLine].get();\n\t\tif (onLine && ((onLine->MarkValue() & mask) != 0))\n\t\t\treturn iLine;\n\t}\n\treturn -1;\n}\n\nint LineMarkers::AddMark(Sci::Line line, int markerNum, Sci::Line lines) {\n\thandleCurrent++;\n\tif (!markers.Length()) {\n\t\t// No existing markers so allocate one element per line\n\t\tmarkers.InsertEmpty(0, lines);\n\t}\n\tif (line >= markers.Length()) {\n\t\treturn -1;\n\t}\n\tif (!markers[line]) {\n\t\t// Need new structure to hold marker handle\n\t\tmarkers[line].reset(new MarkerHandleSet());\n\t}\n\tmarkers[line]->InsertHandle(handleCurrent, markerNum);\n\n\treturn handleCurrent;\n}\n\nbool LineMarkers::DeleteMark(Sci::Line line, int markerNum, bool all) {\n\tbool someChanges = false;\n\tif (markers.Length() && (line >= 0) && (line < markers.Length()) && markers[line]) {\n\t\tif (markerNum == -1) {\n\t\t\tsomeChanges = true;\n\t\t\tmarkers[line].reset();\n\t\t} else {\n\t\t\tsomeChanges = markers[line]->RemoveNumber(markerNum, all);\n\t\t\tif (markers[line]->Empty()) {\n\t\t\t\tmarkers[line].reset();\n\t\t\t}\n\t\t}\n\t}\n\treturn someChanges;\n}\n\nvoid LineMarkers::DeleteMarkFromHandle(int markerHandle) {\n\tconst Sci::Line line = LineFromHandle(markerHandle);\n\tif (line >= 0) {\n\t\tmarkers[line]->RemoveHandle(markerHandle);\n\t\tif (markers[line]->Empty()) {\n\t\t\tmarkers[line].reset();\n\t\t}\n\t}\n}\n\nLineLevels::~LineLevels() {\n}\n\nvoid LineLevels::Init() {\n\tlevels.DeleteAll();\n}\n\nvoid LineLevels::InsertLine(Sci::Line line) {\n\tif (levels.Length()) {\n\t\tconst int level = (line < levels.Length()) ? levels[line] : SC_FOLDLEVELBASE;\n\t\tlevels.InsertValue(line, 1, level);\n\t}\n}\n\nvoid LineLevels::RemoveLine(Sci::Line line) {\n\tif (levels.Length()) {\n\t\t// Move up following lines but merge header flag from this line\n\t\t// to line before to avoid a temporary disappearence causing expansion.\n\t\tint firstHeader = levels[line] & SC_FOLDLEVELHEADERFLAG;\n\t\tlevels.Delete(line);\n\t\tif (line == levels.Length()-1) // Last line loses the header flag\n\t\t\tlevels[line-1] &= ~SC_FOLDLEVELHEADERFLAG;\n\t\telse if (line > 0)\n\t\t\tlevels[line-1] |= firstHeader;\n\t}\n}\n\nvoid LineLevels::ExpandLevels(Sci::Line sizeNew) {\n\tlevels.InsertValue(levels.Length(), sizeNew - levels.Length(), SC_FOLDLEVELBASE);\n}\n\nvoid LineLevels::ClearLevels() {\n\tlevels.DeleteAll();\n}\n\nint LineLevels::SetLevel(Sci::Line line, int level, Sci::Line lines) {\n\tint prev = 0;\n\tif ((line >= 0) && (line < lines)) {\n\t\tif (!levels.Length()) {\n\t\t\tExpandLevels(lines + 1);\n\t\t}\n\t\tprev = levels[line];\n\t\tif (prev != level) {\n\t\t\tlevels[line] = level;\n\t\t}\n\t}\n\treturn prev;\n}\n\nint LineLevels::GetLevel(Sci::Line line) const {\n\tif (levels.Length() && (line >= 0) && (line < levels.Length())) {\n\t\treturn levels[line];\n\t} else {\n\t\treturn SC_FOLDLEVELBASE;\n\t}\n}\n\nLineState::~LineState() {\n}\n\nvoid LineState::Init() {\n\tlineStates.DeleteAll();\n}\n\nvoid LineState::InsertLine(Sci::Line line) {\n\tif (lineStates.Length()) {\n\t\tlineStates.EnsureLength(line);\n\t\tconst int val = (line < lineStates.Length()) ? lineStates[line] : 0;\n\t\tlineStates.Insert(line, val);\n\t}\n}\n\nvoid LineState::RemoveLine(Sci::Line line) {\n\tif (lineStates.Length() > line) {\n\t\tlineStates.Delete(line);\n\t}\n}\n\nint LineState::SetLineState(Sci::Line line, int state) {\n\tlineStates.EnsureLength(line + 1);\n\tconst int stateOld = lineStates[line];\n\tlineStates[line] = state;\n\treturn stateOld;\n}\n\nint LineState::GetLineState(Sci::Line line) {\n\tif (line < 0)\n\t\treturn 0;\n\tlineStates.EnsureLength(line + 1);\n\treturn lineStates[line];\n}\n\nSci::Line LineState::GetMaxLineState() const {\n\treturn static_cast<Sci::Line>(lineStates.Length());\n}\n\nstatic int NumberLines(const char *text) noexcept {\n\tif (text) {\n\t\tint newLines = 0;\n\t\twhile (*text) {\n\t\t\tif (*text == '\\n')\n\t\t\t\tnewLines++;\n\t\t\ttext++;\n\t\t}\n\t\treturn newLines+1;\n\t} else {\n\t\treturn 0;\n\t}\n}\n\n// Each allocated LineAnnotation is a char array which starts with an AnnotationHeader\n// and then has text and optional styles.\n\nstatic const int IndividualStyles = 0x100;\n\nstruct AnnotationHeader {\n\tshort style;\t// Style IndividualStyles implies array of styles\n\tshort lines;\n\tint length;\n};\n\nLineAnnotation::~LineAnnotation() {\n\tClearAll();\n}\n\nvoid LineAnnotation::Init() {\n\tClearAll();\n}\n\nvoid LineAnnotation::InsertLine(Sci::Line line) {\n\tif (annotations.Length()) {\n\t\tannotations.EnsureLength(line);\n\t\tannotations.Insert(line, std::unique_ptr<char []>());\n\t}\n}\n\nvoid LineAnnotation::RemoveLine(Sci::Line line) {\n\tif (annotations.Length() && (line > 0) && (line <= annotations.Length())) {\n\t\tannotations[line-1].reset();\n\t\tannotations.Delete(line-1);\n\t}\n}\n\nbool LineAnnotation::MultipleStyles(Sci::Line line) const {\n\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line])\n\t\treturn reinterpret_cast<AnnotationHeader *>(annotations[line].get())->style == IndividualStyles;\n\telse\n\t\treturn false;\n}\n\nint LineAnnotation::Style(Sci::Line line) const {\n\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line])\n\t\treturn reinterpret_cast<AnnotationHeader *>(annotations[line].get())->style;\n\telse\n\t\treturn 0;\n}\n\nconst char *LineAnnotation::Text(Sci::Line line) const {\n\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line])\n\t\treturn annotations[line].get()+sizeof(AnnotationHeader);\n\telse\n\t\treturn nullptr;\n}\n\nconst unsigned char *LineAnnotation::Styles(Sci::Line line) const {\n\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line] && MultipleStyles(line))\n\t\treturn reinterpret_cast<unsigned char *>(annotations[line].get() + sizeof(AnnotationHeader) + Length(line));\n\telse\n\t\treturn nullptr;\n}\n\nstatic char *AllocateAnnotation(int length, int style) {\n\tconst size_t len = sizeof(AnnotationHeader) + length + ((style == IndividualStyles) ? length : 0);\n\tchar *ret = new char[len]();\n\treturn ret;\n}\n\nvoid LineAnnotation::SetText(Sci::Line line, const char *text) {\n\tif (text && (line >= 0)) {\n\t\tannotations.EnsureLength(line+1);\n\t\tconst int style = Style(line);\n\t\tannotations[line].reset(AllocateAnnotation(static_cast<int>(strlen(text)), style));\n\t\tchar *pa = annotations[line].get();\n\t\tassert(pa);\n\t\tAnnotationHeader *pah = reinterpret_cast<AnnotationHeader *>(pa);\n\t\tpah->style = static_cast<short>(style);\n\t\tpah->length = static_cast<int>(strlen(text));\n\t\tpah->lines = static_cast<short>(NumberLines(text));\n\t\tmemcpy(pa+sizeof(AnnotationHeader), text, pah->length);\n\t} else {\n\t\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line]) {\n\t\t\tannotations[line].reset();\n\t\t}\n\t}\n}\n\nvoid LineAnnotation::ClearAll() {\n\tannotations.DeleteAll();\n}\n\nvoid LineAnnotation::SetStyle(Sci::Line line, int style) {\n\tannotations.EnsureLength(line+1);\n\tif (!annotations[line]) {\n\t\tannotations[line].reset(AllocateAnnotation(0, style));\n\t}\n\treinterpret_cast<AnnotationHeader *>(annotations[line].get())->style = static_cast<short>(style);\n}\n\nvoid LineAnnotation::SetStyles(Sci::Line line, const unsigned char *styles) {\n\tif (line >= 0) {\n\t\tannotations.EnsureLength(line+1);\n\t\tif (!annotations[line]) {\n\t\t\tannotations[line].reset(AllocateAnnotation(0, IndividualStyles));\n\t\t} else {\n\t\t\tconst AnnotationHeader *pahSource = reinterpret_cast<AnnotationHeader *>(annotations[line].get());\n\t\t\tif (pahSource->style != IndividualStyles) {\n\t\t\t\tchar *allocation = AllocateAnnotation(pahSource->length, IndividualStyles);\n\t\t\t\tAnnotationHeader *pahAlloc = reinterpret_cast<AnnotationHeader *>(allocation);\n\t\t\t\tpahAlloc->length = pahSource->length;\n\t\t\t\tpahAlloc->lines = pahSource->lines;\n\t\t\t\tmemcpy(allocation + sizeof(AnnotationHeader), annotations[line].get() + sizeof(AnnotationHeader), pahSource->length);\n\t\t\t\tannotations[line].reset(allocation);\n\t\t\t}\n\t\t}\n\t\tAnnotationHeader *pah = reinterpret_cast<AnnotationHeader *>(annotations[line].get());\n\t\tpah->style = IndividualStyles;\n\t\tmemcpy(annotations[line].get() + sizeof(AnnotationHeader) + pah->length, styles, pah->length);\n\t}\n}\n\nint LineAnnotation::Length(Sci::Line line) const {\n\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line])\n\t\treturn reinterpret_cast<AnnotationHeader *>(annotations[line].get())->length;\n\telse\n\t\treturn 0;\n}\n\nint LineAnnotation::Lines(Sci::Line line) const {\n\tif (annotations.Length() && (line >= 0) && (line < annotations.Length()) && annotations[line])\n\t\treturn reinterpret_cast<AnnotationHeader *>(annotations[line].get())->lines;\n\telse\n\t\treturn 0;\n}\n\nLineTabstops::~LineTabstops() {\n\ttabstops.DeleteAll();\n}\n\nvoid LineTabstops::Init() {\n\ttabstops.DeleteAll();\n}\n\nvoid LineTabstops::InsertLine(Sci::Line line) {\n\tif (tabstops.Length()) {\n\t\ttabstops.EnsureLength(line);\n\t\ttabstops.Insert(line, nullptr);\n\t}\n}\n\nvoid LineTabstops::RemoveLine(Sci::Line line) {\n\tif (tabstops.Length() > line) {\n\t\ttabstops[line].reset();\n\t\ttabstops.Delete(line);\n\t}\n}\n\nbool LineTabstops::ClearTabstops(Sci::Line line) {\n\tif (line < tabstops.Length()) {\n\t\tTabstopList *tl = tabstops[line].get();\n\t\tif (tl) {\n\t\t\ttl->clear();\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool LineTabstops::AddTabstop(Sci::Line line, int x) {\n\ttabstops.EnsureLength(line + 1);\n\tif (!tabstops[line]) {\n\t\ttabstops[line].reset(new TabstopList());\n\t}\n\n\tTabstopList *tl = tabstops[line].get();\n\tif (tl) {\n\t\t// tabstop positions are kept in order - insert in the right place\n\t\tstd::vector<int>::iterator it = std::lower_bound(tl->begin(), tl->end(), x);\n\t\t// don't insert duplicates\n\t\tif (it == tl->end() || *it != x) {\n\t\t\ttl->insert(it, x);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nint LineTabstops::GetNextTabstop(Sci::Line line, int x) const {\n\tif (line < tabstops.Length()) {\n\t\tTabstopList *tl = tabstops[line].get();\n\t\tif (tl) {\n\t\t\tfor (const int i : *tl) {\n\t\t\t\tif (i > x) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn 0;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/PerLine.h",
    "content": "// Scintilla source code edit control\n/** @file PerLine.h\n ** Manages data associated with each line of the document\n **/\n// Copyright 1998-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef PERLINE_H\n#define PERLINE_H\n\nnamespace Scintilla {\n\n/**\n * This holds the marker identifier and the marker type to display.\n * MarkerHandleNumbers are members of lists.\n */\nstruct MarkerHandleNumber {\n\tint handle;\n\tint number;\n\tMarkerHandleNumber(int handle_, int number_) : handle(handle_), number(number_) {}\n};\n\n/**\n * A marker handle set contains any number of MarkerHandleNumbers.\n */\nclass MarkerHandleSet {\n\tstd::forward_list<MarkerHandleNumber> mhList;\n\npublic:\n\tMarkerHandleSet();\n\t// Deleted so MarkerHandleSet objects can not be copied.\n\tMarkerHandleSet(const MarkerHandleSet &) = delete;\n\tMarkerHandleSet(MarkerHandleSet &&) = delete;\n\tvoid operator=(const MarkerHandleSet &) = delete;\n\tvoid operator=(MarkerHandleSet &&) = delete;\n\t~MarkerHandleSet();\n\tbool Empty() const noexcept;\n\tint MarkValue() const noexcept;\t///< Bit set of marker numbers.\n\tbool Contains(int handle) const noexcept;\n\tbool InsertHandle(int handle, int markerNum);\n\tvoid RemoveHandle(int handle);\n\tbool RemoveNumber(int markerNum, bool all);\n\tvoid CombineWith(MarkerHandleSet *other);\n};\n\nclass LineMarkers : public PerLine {\n\tSplitVector<std::unique_ptr<MarkerHandleSet>> markers;\n\t/// Handles are allocated sequentially and should never have to be reused as 32 bit ints are very big.\n\tint handleCurrent;\npublic:\n\tLineMarkers() : handleCurrent(0) {\n\t}\n\t// Deleted so LineMarkers objects can not be copied.\n\tLineMarkers(const LineMarkers &) = delete;\n\tLineMarkers(LineMarkers &&) = delete;\n\tvoid operator=(const LineMarkers &) = delete;\n\tvoid operator=(LineMarkers &&) = delete;\n\t~LineMarkers() override;\n\tvoid Init() override;\n\tvoid InsertLine(Sci::Line line) override;\n\tvoid RemoveLine(Sci::Line line) override;\n\n\tint MarkValue(Sci::Line line) noexcept;\n\tSci::Line MarkerNext(Sci::Line lineStart, int mask) const;\n\tint AddMark(Sci::Line line, int markerNum, Sci::Line lines);\n\tvoid MergeMarkers(Sci::Line line);\n\tbool DeleteMark(Sci::Line line, int markerNum, bool all);\n\tvoid DeleteMarkFromHandle(int markerHandle);\n\tSci::Line LineFromHandle(int markerHandle);\n};\n\nclass LineLevels : public PerLine {\n\tSplitVector<int> levels;\npublic:\n\tLineLevels() {\n\t}\n\t// Deleted so LineLevels objects can not be copied.\n\tLineLevels(const LineLevels &) = delete;\n\tLineLevels(LineLevels &&) = delete;\n\tvoid operator=(const LineLevels &) = delete;\n\tvoid operator=(LineLevels &&) = delete;\n\t~LineLevels() override;\n\tvoid Init() override;\n\tvoid InsertLine(Sci::Line line) override;\n\tvoid RemoveLine(Sci::Line line) override;\n\n\tvoid ExpandLevels(Sci::Line sizeNew=-1);\n\tvoid ClearLevels();\n\tint SetLevel(Sci::Line line, int level, Sci::Line lines);\n\tint GetLevel(Sci::Line line) const;\n};\n\nclass LineState : public PerLine {\n\tSplitVector<int> lineStates;\npublic:\n\tLineState() {\n\t}\n\t// Deleted so LineState objects can not be copied.\n\tLineState(const LineState &) = delete;\n\tLineState(LineState &&) = delete;\n\tvoid operator=(const LineState &) = delete;\n\tvoid operator=(LineState &&) = delete;\n\t~LineState() override;\n\tvoid Init() override;\n\tvoid InsertLine(Sci::Line line) override;\n\tvoid RemoveLine(Sci::Line line) override;\n\n\tint SetLineState(Sci::Line line, int state);\n\tint GetLineState(Sci::Line line);\n\tSci::Line GetMaxLineState() const;\n};\n\nclass LineAnnotation : public PerLine {\n\tSplitVector<std::unique_ptr<char []>> annotations;\npublic:\n\tLineAnnotation() {\n\t}\n\t// Deleted so LineAnnotation objects can not be copied.\n\tLineAnnotation(const LineAnnotation &) = delete;\n\tLineAnnotation(LineAnnotation &&) = delete;\n\tvoid operator=(const LineAnnotation &) = delete;\n\tvoid operator=(LineAnnotation &&) = delete;\n\t~LineAnnotation() override;\n\tvoid Init() override;\n\tvoid InsertLine(Sci::Line line) override;\n\tvoid RemoveLine(Sci::Line line) override;\n\n\tbool MultipleStyles(Sci::Line line) const;\n\tint Style(Sci::Line line) const;\n\tconst char *Text(Sci::Line line) const;\n\tconst unsigned char *Styles(Sci::Line line) const;\n\tvoid SetText(Sci::Line line, const char *text);\n\tvoid ClearAll();\n\tvoid SetStyle(Sci::Line line, int style);\n\tvoid SetStyles(Sci::Line line, const unsigned char *styles);\n\tint Length(Sci::Line line) const;\n\tint Lines(Sci::Line line) const;\n};\n\ntypedef std::vector<int> TabstopList;\n\nclass LineTabstops : public PerLine {\n\tSplitVector<std::unique_ptr<TabstopList>> tabstops;\npublic:\n\tLineTabstops() {\n\t}\n\t// Deleted so LineTabstops objects can not be copied.\n\tLineTabstops(const LineTabstops &) = delete;\n\tLineTabstops(LineTabstops &&) = delete;\n\tvoid operator=(const LineTabstops &) = delete;\n\tvoid operator=(LineTabstops &&) = delete;\n\t~LineTabstops() override;\n\tvoid Init() override;\n\tvoid InsertLine(Sci::Line line) override;\n\tvoid RemoveLine(Sci::Line line) override;\n\n\tbool ClearTabstops(Sci::Line line);\n\tbool AddTabstop(Sci::Line line, int x);\n\tint GetNextTabstop(Sci::Line line, int x) const;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Position.h",
    "content": "// Scintilla source code edit control\n/** @file Position.h\n ** Defines global type name Position in the Sci internal namespace.\n **/\n// Copyright 2015 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef POSITION_H\n#define POSITION_H\n\n/**\n * A Position is a position within a document between two characters or at the beginning or end.\n * Sometimes used as a character index where it identifies the character after the position.\n * A Line is a document or screen line.\n */\n\nnamespace Sci {\n\ntypedef ptrdiff_t Position;\ntypedef ptrdiff_t Line;\n\nconst Position invalidPosition = -1;\n\ntemplate <typename T>\ninline constexpr T clamp(T val, T minVal, T maxVal) {\n\treturn (val > maxVal) ? maxVal : ((val < minVal) ? minVal : val);\n}\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/PositionCache.cpp",
    "content": "// Scintilla source code edit control\n/** @file PositionCache.cxx\n ** Classes for caching layout information.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cstring>\n#include <cmath>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <iterator>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"ContractionState.h\"\n#include \"CellBuffer.h\"\n#include \"KeyMap.h\"\n#include \"Indicator.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"UniConversion.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n\nusing namespace Scintilla;\n\nLineLayout::LineLayout(int maxLineLength_) :\n\tlenLineStarts(0),\n\tlineNumber(-1),\n\tinCache(false),\n\tmaxLineLength(-1),\n\tnumCharsInLine(0),\n\tnumCharsBeforeEOL(0),\n\tvalidity(llInvalid),\n\txHighlightGuide(0),\n\thighlightColumn(false),\n\tcontainsCaret(false),\n\tedgeColumn(0),\n\tbracePreviousStyles{},\n\thotspot(0,0),\n\twidthLine(wrapWidthInfinite),\n\tlines(1),\n\twrapIndent(0) {\n\tResize(maxLineLength_);\n}\n\nLineLayout::~LineLayout() {\n\tFree();\n}\n\nvoid LineLayout::Resize(int maxLineLength_) {\n\tif (maxLineLength_ > maxLineLength) {\n\t\tFree();\n\t\tchars.reset(new char[maxLineLength_ + 1]);\n\t\tstyles.reset(new unsigned char[maxLineLength_ + 1]);\n\t\t// Extra position allocated as sometimes the Windows\n\t\t// GetTextExtentExPoint API writes an extra element.\n\t\tpositions.reset(new XYPOSITION[maxLineLength_ + 1 + 1]);\n\t\tmaxLineLength = maxLineLength_;\n\t}\n}\n\nvoid LineLayout::Free() {\n\tchars.reset();\n\tstyles.reset();\n\tpositions.reset();\n\tlineStarts.reset();\n}\n\nvoid LineLayout::Invalidate(validLevel validity_) {\n\tif (validity > validity_)\n\t\tvalidity = validity_;\n}\n\nint LineLayout::LineStart(int line) const {\n\tif (line <= 0) {\n\t\treturn 0;\n\t} else if ((line >= lines) || !lineStarts) {\n\t\treturn numCharsInLine;\n\t} else {\n\t\treturn lineStarts[line];\n\t}\n}\n\nint LineLayout::LineLastVisible(int line, Scope scope) const {\n\tif (line < 0) {\n\t\treturn 0;\n\t} else if ((line >= lines-1) || !lineStarts) {\n\t\treturn scope == Scope::visibleOnly ? numCharsBeforeEOL : numCharsInLine;\n\t} else {\n\t\treturn lineStarts[line+1];\n\t}\n}\n\nRange LineLayout::SubLineRange(int subLine, Scope scope) const {\n\treturn Range(LineStart(subLine), LineLastVisible(subLine, scope));\n}\n\nbool LineLayout::InLine(int offset, int line) const {\n\treturn ((offset >= LineStart(line)) && (offset < LineStart(line + 1))) ||\n\t\t((offset == numCharsInLine) && (line == (lines-1)));\n}\n\nvoid LineLayout::SetLineStart(int line, int start) {\n\tif ((line >= lenLineStarts) && (line != 0)) {\n\t\tint newMaxLines = line + 20;\n\t\tint *newLineStarts = new int[newMaxLines];\n\t\tfor (int i = 0; i < newMaxLines; i++) {\n\t\t\tif (i < lenLineStarts)\n\t\t\t\tnewLineStarts[i] = lineStarts[i];\n\t\t\telse\n\t\t\t\tnewLineStarts[i] = 0;\n\t\t}\n\t\tlineStarts.reset(newLineStarts);\n\t\tlenLineStarts = newMaxLines;\n\t}\n\tlineStarts[line] = start;\n}\n\nvoid LineLayout::SetBracesHighlight(Range rangeLine, const Sci::Position braces[],\n                                    char bracesMatchStyle, int xHighlight, bool ignoreStyle) {\n\tif (!ignoreStyle && rangeLine.ContainsCharacter(braces[0])) {\n\t\tconst Sci::Position braceOffset = braces[0] - rangeLine.start;\n\t\tif (braceOffset < numCharsInLine) {\n\t\t\tbracePreviousStyles[0] = styles[braceOffset];\n\t\t\tstyles[braceOffset] = bracesMatchStyle;\n\t\t}\n\t}\n\tif (!ignoreStyle && rangeLine.ContainsCharacter(braces[1])) {\n\t\tconst Sci::Position braceOffset = braces[1] - rangeLine.start;\n\t\tif (braceOffset < numCharsInLine) {\n\t\t\tbracePreviousStyles[1] = styles[braceOffset];\n\t\t\tstyles[braceOffset] = bracesMatchStyle;\n\t\t}\n\t}\n\tif ((braces[0] >= rangeLine.start && braces[1] <= rangeLine.end) ||\n\t        (braces[1] >= rangeLine.start && braces[0] <= rangeLine.end)) {\n\t\txHighlightGuide = xHighlight;\n\t}\n}\n\nvoid LineLayout::RestoreBracesHighlight(Range rangeLine, const Sci::Position braces[], bool ignoreStyle) {\n\tif (!ignoreStyle && rangeLine.ContainsCharacter(braces[0])) {\n\t\tconst Sci::Position braceOffset = braces[0] - rangeLine.start;\n\t\tif (braceOffset < numCharsInLine) {\n\t\t\tstyles[braceOffset] = bracePreviousStyles[0];\n\t\t}\n\t}\n\tif (!ignoreStyle && rangeLine.ContainsCharacter(braces[1])) {\n\t\tconst Sci::Position braceOffset = braces[1] - rangeLine.start;\n\t\tif (braceOffset < numCharsInLine) {\n\t\t\tstyles[braceOffset] = bracePreviousStyles[1];\n\t\t}\n\t}\n\txHighlightGuide = 0;\n}\n\nint LineLayout::FindBefore(XYPOSITION x, Range range) const {\n\tSci::Position lower = range.start;\n\tSci::Position upper = range.end;\n\tdo {\n\t\tconst Sci::Position middle = (upper + lower + 1) / 2; \t// Round high\n\t\tconst XYPOSITION posMiddle = positions[middle];\n\t\tif (x < posMiddle) {\n\t\t\tupper = middle - 1;\n\t\t} else {\n\t\t\tlower = middle;\n\t\t}\n\t} while (lower < upper);\n\treturn static_cast<int>(lower);\n}\n\n\nint LineLayout::FindPositionFromX(XYPOSITION x, Range range, bool charPosition) const {\n\tint pos = FindBefore(x, range);\n\twhile (pos < range.end) {\n\t\tif (charPosition) {\n\t\t\tif (x < (positions[pos + 1])) {\n\t\t\t\treturn pos;\n\t\t\t}\n\t\t} else {\n\t\t\tif (x < ((positions[pos] + positions[pos + 1]) / 2)) {\n\t\t\t\treturn pos;\n\t\t\t}\n\t\t}\n\t\tpos++;\n\t}\n\treturn static_cast<int>(range.end);\n}\n\nPoint LineLayout::PointFromPosition(int posInLine, int lineHeight, PointEnd pe) const {\n\tPoint pt;\n\t// In case of very long line put x at arbitrary large position\n\tif (posInLine > maxLineLength) {\n\t\tpt.x = positions[maxLineLength] - positions[LineStart(lines)];\n\t}\n\n\tfor (int subLine = 0; subLine < lines; subLine++) {\n\t\tconst Range rangeSubLine = SubLineRange(subLine, Scope::visibleOnly);\n\t\tif (posInLine >= rangeSubLine.start) {\n\t\t\tpt.y = static_cast<XYPOSITION>(subLine*lineHeight);\n\t\t\tif (posInLine <= rangeSubLine.end) {\n\t\t\t\tpt.x = positions[posInLine] - positions[rangeSubLine.start];\n\t\t\t\tif (rangeSubLine.start != 0)\t// Wrapped lines may be indented\n\t\t\t\t\tpt.x += wrapIndent;\n\t\t\t\tif (pe & peSubLineEnd)\t// Return end of first subline not start of next\n\t\t\t\t\tbreak;\n\t\t\t} else if ((pe & peLineEnd) && (subLine == (lines-1))) {\n\t\t\t\tpt.x = positions[numCharsInLine] - positions[rangeSubLine.start];\n\t\t\t\tif (rangeSubLine.start != 0)\t// Wrapped lines may be indented\n\t\t\t\t\tpt.x += wrapIndent;\n\t\t\t}\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn pt;\n}\n\nint LineLayout::EndLineStyle() const {\n\treturn styles[numCharsBeforeEOL > 0 ? numCharsBeforeEOL-1 : 0];\n}\n\nLineLayoutCache::LineLayoutCache() :\n\tlevel(0),\n\tallInvalidated(false), styleClock(-1), useCount(0) {\n\tAllocate(0);\n}\n\nLineLayoutCache::~LineLayoutCache() {\n\tDeallocate();\n}\n\nvoid LineLayoutCache::Allocate(size_t length_) {\n\tPLATFORM_ASSERT(cache.empty());\n\tallInvalidated = false;\n\tcache.resize(length_);\n}\n\nvoid LineLayoutCache::AllocateForLevel(Sci::Line linesOnScreen, Sci::Line linesInDoc) {\n\tPLATFORM_ASSERT(useCount == 0);\n\tsize_t lengthForLevel = 0;\n\tif (level == llcCaret) {\n\t\tlengthForLevel = 1;\n\t} else if (level == llcPage) {\n\t\tlengthForLevel = linesOnScreen + 1;\n\t} else if (level == llcDocument) {\n\t\tlengthForLevel = linesInDoc;\n\t}\n\tif (lengthForLevel > cache.size()) {\n\t\tDeallocate();\n\t\tAllocate(lengthForLevel);\n\t} else {\n\t\tif (lengthForLevel < cache.size()) {\n\t\t\tfor (size_t i = lengthForLevel; i < cache.size(); i++) {\n\t\t\t\tcache[i].reset();\n\t\t\t}\n\t\t}\n\t\tcache.resize(lengthForLevel);\n\t}\n\tPLATFORM_ASSERT(cache.size() == lengthForLevel);\n}\n\nvoid LineLayoutCache::Deallocate() {\n\tPLATFORM_ASSERT(useCount == 0);\n\tcache.clear();\n}\n\nvoid LineLayoutCache::Invalidate(LineLayout::validLevel validity_) {\n\tif (!cache.empty() && !allInvalidated) {\n\t\tfor (const std::unique_ptr<LineLayout> &ll : cache) {\n\t\t\tif (ll) {\n\t\t\t\tll->Invalidate(validity_);\n\t\t\t}\n\t\t}\n\t\tif (validity_ == LineLayout::llInvalid) {\n\t\t\tallInvalidated = true;\n\t\t}\n\t}\n}\n\nvoid LineLayoutCache::SetLevel(int level_) {\n\tallInvalidated = false;\n\tif ((level_ != -1) && (level != level_)) {\n\t\tlevel = level_;\n\t\tDeallocate();\n\t}\n}\n\nLineLayout *LineLayoutCache::Retrieve(Sci::Line lineNumber, Sci::Line lineCaret, int maxChars, int styleClock_,\n                                      Sci::Line linesOnScreen, Sci::Line linesInDoc) {\n\tAllocateForLevel(linesOnScreen, linesInDoc);\n\tif (styleClock != styleClock_) {\n\t\tInvalidate(LineLayout::llCheckTextAndStyle);\n\t\tstyleClock = styleClock_;\n\t}\n\tallInvalidated = false;\n\tSci::Position pos = -1;\n\tLineLayout *ret = nullptr;\n\tif (level == llcCaret) {\n\t\tpos = 0;\n\t} else if (level == llcPage) {\n\t\tif (lineNumber == lineCaret) {\n\t\t\tpos = 0;\n\t\t} else if (cache.size() > 1) {\n\t\t\tpos = 1 + (lineNumber % (cache.size() - 1));\n\t\t}\n\t} else if (level == llcDocument) {\n\t\tpos = lineNumber;\n\t}\n\tif (pos >= 0) {\n\t\tPLATFORM_ASSERT(useCount == 0);\n\t\tif (!cache.empty() && (pos < static_cast<int>(cache.size()))) {\n\t\t\tif (cache[pos]) {\n\t\t\t\tif ((cache[pos]->lineNumber != lineNumber) ||\n\t\t\t\t        (cache[pos]->maxLineLength < maxChars)) {\n\t\t\t\t\tcache[pos].reset();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!cache[pos]) {\n\t\t\t\tcache[pos].reset(new LineLayout(maxChars));\n\t\t\t}\n\t\t\tcache[pos]->lineNumber = lineNumber;\n\t\t\tcache[pos]->inCache = true;\n\t\t\tret = cache[pos].get();\n\t\t\tuseCount++;\n\t\t}\n\t}\n\n\tif (!ret) {\n\t\tret = new LineLayout(maxChars);\n\t\tret->lineNumber = lineNumber;\n\t}\n\n\treturn ret;\n}\n\nvoid LineLayoutCache::Dispose(LineLayout *ll) {\n\tallInvalidated = false;\n\tif (ll) {\n\t\tif (!ll->inCache) {\n\t\t\tdelete ll;\n\t\t} else {\n\t\t\tuseCount--;\n\t\t}\n\t}\n}\n\n// Simply pack the (maximum 4) character bytes into an int\nstatic unsigned int KeyFromString(const char *charBytes, size_t len) {\n\tPLATFORM_ASSERT(len <= 4);\n\tunsigned int k=0;\n\tfor (size_t i=0; i<len && charBytes[i]; i++) {\n\t\tk = k * 0x100;\n\t\tconst unsigned char uc = charBytes[i];\n\t\tk += uc;\n\t}\n\treturn k;\n}\n\nSpecialRepresentations::SpecialRepresentations() {\n\tconst short none = 0;\n\tstd::fill(startByteHasReprs, std::end(startByteHasReprs), none);\n}\n\nvoid SpecialRepresentations::SetRepresentation(const char *charBytes, const char *value) {\n\tconst unsigned int key = KeyFromString(charBytes, UTF8MaxBytes);\n\tMapRepresentation::iterator it = mapReprs.find(key);\n\tif (it == mapReprs.end()) {\n\t\t// New entry so increment for first byte\n\t\tconst unsigned char ucStart = charBytes[0];\n\t\tstartByteHasReprs[ucStart]++;\n\t}\n\tmapReprs[key] = Representation(value);\n}\n\nvoid SpecialRepresentations::ClearRepresentation(const char *charBytes) {\n\tMapRepresentation::iterator it = mapReprs.find(KeyFromString(charBytes, UTF8MaxBytes));\n\tif (it != mapReprs.end()) {\n\t\tmapReprs.erase(it);\n\t\tconst unsigned char ucStart = charBytes[0];\n\t\tstartByteHasReprs[ucStart]--;\n\t}\n}\n\nconst Representation *SpecialRepresentations::RepresentationFromCharacter(const char *charBytes, size_t len) const {\n\tPLATFORM_ASSERT(len <= 4);\n\tconst unsigned char ucStart = charBytes[0];\n\tif (!startByteHasReprs[ucStart])\n\t\treturn nullptr;\n\tMapRepresentation::const_iterator it = mapReprs.find(KeyFromString(charBytes, len));\n\tif (it != mapReprs.end()) {\n\t\treturn &(it->second);\n\t}\n\treturn nullptr;\n}\n\nbool SpecialRepresentations::Contains(const char *charBytes, size_t len) const {\n\tPLATFORM_ASSERT(len <= 4);\n\tconst unsigned char ucStart = charBytes[0];\n\tif (!startByteHasReprs[ucStart])\n\t\treturn false;\n\tMapRepresentation::const_iterator it = mapReprs.find(KeyFromString(charBytes, len));\n\treturn it != mapReprs.end();\n}\n\nvoid SpecialRepresentations::Clear() {\n\tmapReprs.clear();\n\tconst short none = 0;\n\tstd::fill(startByteHasReprs, std::end(startByteHasReprs), none);\n}\n\nvoid BreakFinder::Insert(Sci::Position val) {\n\tconst int posInLine = static_cast<int>(val);\n\tif (posInLine > nextBreak) {\n\t\tconst std::vector<int>::iterator it = std::lower_bound(selAndEdge.begin(), selAndEdge.end(), posInLine);\n\t\tif (it == selAndEdge.end()) {\n\t\t\tselAndEdge.push_back(posInLine);\n\t\t} else if (*it != posInLine) {\n\t\t\tselAndEdge.insert(it, 1, posInLine);\n\t\t}\n\t}\n}\n\nBreakFinder::BreakFinder(const LineLayout *ll_, const Selection *psel, Range lineRange_, Sci::Position posLineStart_,\n\tint xStart, bool breakForSelection, const Document *pdoc_, const SpecialRepresentations *preprs_, const ViewStyle *pvsDraw) :\n\tll(ll_),\n\tlineRange(lineRange_),\n\tposLineStart(posLineStart_),\n\tnextBreak(static_cast<int>(lineRange_.start)),\n\tsaeCurrentPos(0),\n\tsaeNext(0),\n\tsubBreak(-1),\n\tpdoc(pdoc_),\n\tencodingFamily(pdoc_->CodePageFamily()),\n\tpreprs(preprs_) {\n\n\t// Search for first visible break\n\t// First find the first visible character\n\tif (xStart > 0.0f)\n\t\tnextBreak = ll->FindBefore(static_cast<XYPOSITION>(xStart), lineRange);\n\t// Now back to a style break\n\twhile ((nextBreak > lineRange.start) && (ll->styles[nextBreak] == ll->styles[nextBreak - 1])) {\n\t\tnextBreak--;\n\t}\n\n\tif (breakForSelection) {\n\t\tconst SelectionPosition posStart(posLineStart);\n\t\tconst SelectionPosition posEnd(posLineStart + lineRange.end);\n\t\tconst SelectionSegment segmentLine(posStart, posEnd);\n\t\tfor (size_t r=0; r<psel->Count(); r++) {\n\t\t\tconst SelectionSegment portion = psel->Range(r).Intersect(segmentLine);\n\t\t\tif (!(portion.start == portion.end)) {\n\t\t\t\tif (portion.start.IsValid())\n\t\t\t\t\tInsert(portion.start.Position() - posLineStart);\n\t\t\t\tif (portion.end.IsValid())\n\t\t\t\t\tInsert(portion.end.Position() - posLineStart);\n\t\t\t}\n\t\t}\n\t}\n\tif (pvsDraw && pvsDraw->indicatorsSetFore) {\n\t\tfor (const IDecoration *deco : pdoc->decorations->View()) {\n\t\t\tif (pvsDraw->indicators[deco->Indicator()].OverridesTextFore()) {\n\t\t\t\tSci::Position startPos = deco->EndRun(posLineStart);\n\t\t\t\twhile (startPos < (posLineStart + lineRange.end)) {\n\t\t\t\t\tInsert(startPos - posLineStart);\n\t\t\t\t\tstartPos = deco->EndRun(startPos);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tInsert(ll->edgeColumn);\n\tInsert(lineRange.end);\n\tsaeNext = (!selAndEdge.empty()) ? selAndEdge[0] : -1;\n}\n\nBreakFinder::~BreakFinder() {\n}\n\nTextSegment BreakFinder::Next() {\n\tif (subBreak == -1) {\n\t\tconst int prev = nextBreak;\n\t\twhile (nextBreak < lineRange.end) {\n\t\t\tint charWidth = 1;\n\t\t\tif (encodingFamily == efUnicode)\n\t\t\t\tcharWidth = UTF8DrawBytes(reinterpret_cast<unsigned char *>(&ll->chars[nextBreak]),\n\t\t\t\t\tstatic_cast<int>(lineRange.end - nextBreak));\n\t\t\telse if (encodingFamily == efDBCS)\n\t\t\t\tcharWidth = pdoc->DBCSDrawBytes(\n\t\t\t\t\t&ll->chars[nextBreak], static_cast<int>(lineRange.end - nextBreak));\n\t\t\tconst Representation *repr = preprs->RepresentationFromCharacter(&ll->chars[nextBreak], charWidth);\n\t\t\tif (((nextBreak > 0) && (ll->styles[nextBreak] != ll->styles[nextBreak - 1])) ||\n\t\t\t\t\trepr ||\n\t\t\t\t\t(nextBreak == saeNext)) {\n\t\t\t\twhile ((nextBreak >= saeNext) && (saeNext < lineRange.end)) {\n\t\t\t\t\tsaeCurrentPos++;\n\t\t\t\t\tsaeNext = static_cast<int>((saeCurrentPos < selAndEdge.size()) ? selAndEdge[saeCurrentPos] : lineRange.end);\n\t\t\t\t}\n\t\t\t\tif ((nextBreak > prev) || repr) {\n\t\t\t\t\t// Have a segment to report\n\t\t\t\t\tif (nextBreak == prev) {\n\t\t\t\t\t\tnextBreak += charWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\trepr = nullptr;\t// Optimize -> should remember repr\n\t\t\t\t\t}\n\t\t\t\t\tif ((nextBreak - prev) < lengthStartSubdivision) {\n\t\t\t\t\t\treturn TextSegment(prev, nextBreak - prev, repr);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tnextBreak += charWidth;\n\t\t}\n\t\tif ((nextBreak - prev) < lengthStartSubdivision) {\n\t\t\treturn TextSegment(prev, nextBreak - prev);\n\t\t}\n\t\tsubBreak = prev;\n\t}\n\t// Splitting up a long run from prev to nextBreak in lots of approximately lengthEachSubdivision.\n\t// For very long runs add extra breaks after spaces or if no spaces before low punctuation.\n\tconst int startSegment = subBreak;\n\tif ((nextBreak - subBreak) <= lengthEachSubdivision) {\n\t\tsubBreak = -1;\n\t\treturn TextSegment(startSegment, nextBreak - startSegment);\n\t} else {\n\t\tsubBreak += pdoc->SafeSegment(&ll->chars[subBreak], nextBreak-subBreak, lengthEachSubdivision);\n\t\tif (subBreak >= nextBreak) {\n\t\t\tsubBreak = -1;\n\t\t\treturn TextSegment(startSegment, nextBreak - startSegment);\n\t\t} else {\n\t\t\treturn TextSegment(startSegment, subBreak - startSegment);\n\t\t}\n\t}\n}\n\nbool BreakFinder::More() const {\n\treturn (subBreak >= 0) || (nextBreak < lineRange.end);\n}\n\nPositionCacheEntry::PositionCacheEntry() :\n\tstyleNumber(0), len(0), clock(0), positions(nullptr) {\n}\n\n// Copy constructor not currently used, but needed for being element in std::vector.\nPositionCacheEntry::PositionCacheEntry(const PositionCacheEntry &other) :\n\tstyleNumber(other.styleNumber), len(other.styleNumber), clock(other.styleNumber), positions(nullptr) {\n\tif (other.positions) {\n\t\tconst size_t lenData = len + (len / sizeof(XYPOSITION)) + 1;\n\t\tpositions.reset(new XYPOSITION[lenData]);\n\t\tmemcpy(positions.get(), other.positions.get(), lenData * sizeof(XYPOSITION));\n\t}\n}\n\nvoid PositionCacheEntry::Set(unsigned int styleNumber_, const char *s_,\n\tunsigned int len_, XYPOSITION *positions_, unsigned int clock_) {\n\tClear();\n\tstyleNumber = styleNumber_;\n\tlen = len_;\n\tclock = clock_;\n\tif (s_ && positions_) {\n\t\tpositions.reset(new XYPOSITION[len + (len / sizeof(XYPOSITION)) + 1]);\n\t\tfor (unsigned int i=0; i<len; i++) {\n\t\t\tpositions[i] = positions_[i];\n\t\t}\n\t\tmemcpy(&positions[len], s_, len);\n\t}\n}\n\nPositionCacheEntry::~PositionCacheEntry() {\n\tClear();\n}\n\nvoid PositionCacheEntry::Clear() {\n\tpositions.reset();\n\tstyleNumber = 0;\n\tlen = 0;\n\tclock = 0;\n}\n\nbool PositionCacheEntry::Retrieve(unsigned int styleNumber_, const char *s_,\n\tunsigned int len_, XYPOSITION *positions_) const {\n\tif ((styleNumber == styleNumber_) && (len == len_) &&\n\t\t(memcmp(&positions[len], s_, len)== 0)) {\n\t\tfor (unsigned int i=0; i<len; i++) {\n\t\t\tpositions_[i] = positions[i];\n\t\t}\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nunsigned int PositionCacheEntry::Hash(unsigned int styleNumber_, const char *s, unsigned int len_) {\n\tunsigned int ret = s[0] << 7;\n\tfor (unsigned int i=0; i<len_; i++) {\n\t\tret *= 1000003;\n\t\tret ^= s[i];\n\t}\n\tret *= 1000003;\n\tret ^= len_;\n\tret *= 1000003;\n\tret ^= styleNumber_;\n\treturn ret;\n}\n\nbool PositionCacheEntry::NewerThan(const PositionCacheEntry &other) const {\n\treturn clock > other.clock;\n}\n\nvoid PositionCacheEntry::ResetClock() {\n\tif (clock > 0) {\n\t\tclock = 1;\n\t}\n}\n\nPositionCache::PositionCache() {\n\tclock = 1;\n\tpces.resize(0x400);\n\tallClear = true;\n}\n\nPositionCache::~PositionCache() {\n\tClear();\n}\n\nvoid PositionCache::Clear() {\n\tif (!allClear) {\n\t\tfor (PositionCacheEntry &pce : pces) {\n\t\t\tpce.Clear();\n\t\t}\n\t}\n\tclock = 1;\n\tallClear = true;\n}\n\nvoid PositionCache::SetSize(size_t size_) {\n\tClear();\n\tpces.resize(size_);\n}\n\nvoid PositionCache::MeasureWidths(Surface *surface, const ViewStyle &vstyle, unsigned int styleNumber,\n\tconst char *s, unsigned int len, XYPOSITION *positions, const Document *pdoc) {\n\n\tallClear = false;\n\tsize_t probe = pces.size();\t// Out of bounds\n\tif ((!pces.empty()) && (len < 30)) {\n\t\t// Only store short strings in the cache so it doesn't churn with\n\t\t// long comments with only a single comment.\n\n\t\t// Two way associative: try two probe positions.\n\t\tconst unsigned int hashValue = PositionCacheEntry::Hash(styleNumber, s, len);\n\t\tprobe = hashValue % pces.size();\n\t\tif (pces[probe].Retrieve(styleNumber, s, len, positions)) {\n\t\t\treturn;\n\t\t}\n\t\tconst unsigned int probe2 = (hashValue * 37) % pces.size();\n\t\tif (pces[probe2].Retrieve(styleNumber, s, len, positions)) {\n\t\t\treturn;\n\t\t}\n\t\t// Not found. Choose the oldest of the two slots to replace\n\t\tif (pces[probe].NewerThan(pces[probe2])) {\n\t\t\tprobe = probe2;\n\t\t}\n\t}\n\tif (len > BreakFinder::lengthStartSubdivision) {\n\t\t// Break up into segments\n\t\tunsigned int startSegment = 0;\n\t\tXYPOSITION xStartSegment = 0;\n\t\twhile (startSegment < len) {\n\t\t\tconst unsigned int lenSegment = pdoc->SafeSegment(s + startSegment, len - startSegment, BreakFinder::lengthEachSubdivision);\n\t\t\tFontAlias fontStyle = vstyle.styles[styleNumber].font;\n\t\t\tsurface->MeasureWidths(fontStyle, s + startSegment, lenSegment, positions + startSegment);\n\t\t\tfor (unsigned int inSeg = 0; inSeg < lenSegment; inSeg++) {\n\t\t\t\tpositions[startSegment + inSeg] += xStartSegment;\n\t\t\t}\n\t\t\txStartSegment = positions[startSegment + lenSegment - 1];\n\t\t\tstartSegment += lenSegment;\n\t\t}\n\t} else {\n\t\tFontAlias fontStyle = vstyle.styles[styleNumber].font;\n\t\tsurface->MeasureWidths(fontStyle, s, len, positions);\n\t}\n\tif (probe < pces.size()) {\n\t\t// Store into cache\n\t\tclock++;\n\t\tif (clock > 60000) {\n\t\t\t// Since there are only 16 bits for the clock, wrap it round and\n\t\t\t// reset all cache entries so none get stuck with a high clock.\n\t\t\tfor (PositionCacheEntry &pce : pces) {\n\t\t\t\tpce.ResetClock();\n\t\t\t}\n\t\t\tclock = 2;\n\t\t}\n\t\tpces[probe].Set(styleNumber, s, len, positions, clock);\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/PositionCache.h",
    "content": "// Scintilla source code edit control\n/** @file PositionCache.h\n ** Classes for caching layout information.\n **/\n// Copyright 1998-2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef POSITIONCACHE_H\n#define POSITIONCACHE_H\n\nnamespace Scintilla {\n\ninline constexpr bool IsEOLChar(int ch) noexcept {\n\treturn (ch == '\\r') || (ch == '\\n');\n}\n\ninline constexpr bool IsSpaceOrTab(int ch) noexcept {\n\treturn ch == ' ' || ch == '\\t';\n}\n\n/**\n* A point in document space.\n* Uses double for sufficient resolution in large (>20,000,000 line) documents.\n*/\nclass PointDocument {\npublic:\n\tdouble x;\n\tdouble y;\n\n\texplicit PointDocument(double x_ = 0, double y_ = 0) noexcept : x(x_), y(y_) {\n\t}\n\n\t// Conversion from Point.\n\texplicit PointDocument(Point pt) noexcept : x(pt.x), y(pt.y) {\n\t}\n};\n\n// There are two points for some positions and this enumeration\n// can choose between the end of the first line or subline\n// and the start of the next line or subline.\nenum PointEnd {\n\tpeDefault = 0x0,\n\tpeLineEnd = 0x1,\n\tpeSubLineEnd = 0x2\n};\n\n/**\n */\nclass LineLayout {\nprivate:\n\tfriend class LineLayoutCache;\n\tstd::unique_ptr<int []>lineStarts;\n\tint lenLineStarts;\n\t/// Drawing is only performed for @a maxLineLength characters on each line.\n\tSci::Line lineNumber;\n\tbool inCache;\npublic:\n\tenum { wrapWidthInfinite = 0x7ffffff };\n\n\tint maxLineLength;\n\tint numCharsInLine;\n\tint numCharsBeforeEOL;\n\tenum validLevel { llInvalid, llCheckTextAndStyle, llPositions, llLines } validity;\n\tint xHighlightGuide;\n\tbool highlightColumn;\n\tbool containsCaret;\n\tint edgeColumn;\n\tstd::unique_ptr<char[]> chars;\n\tstd::unique_ptr<unsigned char[]> styles;\n\tstd::unique_ptr<XYPOSITION[]> positions;\n\tchar bracePreviousStyles[2];\n\n\t// Hotspot support\n\tRange hotspot;\n\n\t// Wrapped line support\n\tint widthLine;\n\tint lines;\n\tXYPOSITION wrapIndent; // In pixels\n\n\texplicit LineLayout(int maxLineLength_);\n\t// Deleted so LineLayout objects can not be copied.\n\tLineLayout(const LineLayout &) = delete;\n\tLineLayout(LineLayout &&) = delete;\n\tvoid operator=(const LineLayout &) = delete;\n\tvoid operator=(LineLayout &&) = delete;\n\tvirtual ~LineLayout();\n\tvoid Resize(int maxLineLength_);\n\tvoid Free();\n\tvoid Invalidate(validLevel validity_);\n\tint LineStart(int line) const;\n\tenum class Scope { visibleOnly, includeEnd };\n\tint LineLastVisible(int line, Scope scope) const;\n\tRange SubLineRange(int subLine, Scope scope) const;\n\tbool InLine(int offset, int line) const;\n\tvoid SetLineStart(int line, int start);\n\tvoid SetBracesHighlight(Range rangeLine, const Sci::Position braces[],\n\t\tchar bracesMatchStyle, int xHighlight, bool ignoreStyle);\n\tvoid RestoreBracesHighlight(Range rangeLine, const Sci::Position braces[], bool ignoreStyle);\n\tint FindBefore(XYPOSITION x, Range range) const;\n\tint FindPositionFromX(XYPOSITION x, Range range, bool charPosition) const;\n\tPoint PointFromPosition(int posInLine, int lineHeight, PointEnd pe) const;\n\tint EndLineStyle() const;\n};\n\n/**\n */\nclass LineLayoutCache {\n\tint level;\n\tstd::vector<std::unique_ptr<LineLayout>>cache;\n\tbool allInvalidated;\n\tint styleClock;\n\tint useCount;\n\tvoid Allocate(size_t length_);\n\tvoid AllocateForLevel(Sci::Line linesOnScreen, Sci::Line linesInDoc);\npublic:\n\tLineLayoutCache();\n\t// Deleted so LineLayoutCache objects can not be copied.\n\tLineLayoutCache(const LineLayoutCache &) = delete;\n\tLineLayoutCache(LineLayoutCache &&) = delete;\n\tvoid operator=(const LineLayoutCache &) = delete;\n\tvoid operator=(LineLayoutCache &&) = delete;\n\tvirtual ~LineLayoutCache();\n\tvoid Deallocate();\n\tenum {\n\t\tllcNone=SC_CACHE_NONE,\n\t\tllcCaret=SC_CACHE_CARET,\n\t\tllcPage=SC_CACHE_PAGE,\n\t\tllcDocument=SC_CACHE_DOCUMENT\n\t};\n\tvoid Invalidate(LineLayout::validLevel validity_);\n\tvoid SetLevel(int level_);\n\tint GetLevel() const { return level; }\n\tLineLayout *Retrieve(Sci::Line lineNumber, Sci::Line lineCaret, int maxChars, int styleClock_,\n\t\tSci::Line linesOnScreen, Sci::Line linesInDoc);\n\tvoid Dispose(LineLayout *ll);\n};\n\nclass PositionCacheEntry {\n\tunsigned int styleNumber:8;\n\tunsigned int len:8;\n\tunsigned int clock:16;\n\tstd::unique_ptr<XYPOSITION []> positions;\npublic:\n\tPositionCacheEntry();\n\t// Copy constructor not currently used, but needed for being element in std::vector.\n\tPositionCacheEntry(const PositionCacheEntry &);\n\t// PositionCacheEntry objects should not be moved but MSVC 2015 requires this.\n\tPositionCacheEntry(PositionCacheEntry &&) = default;\n\tvoid operator=(const PositionCacheEntry &) = delete;\n\tvoid operator=(PositionCacheEntry &&) = delete;\n\t~PositionCacheEntry();\n\tvoid Set(unsigned int styleNumber_, const char *s_, unsigned int len_, XYPOSITION *positions_, unsigned int clock_);\n\tvoid Clear();\n\tbool Retrieve(unsigned int styleNumber_, const char *s_, unsigned int len_, XYPOSITION *positions_) const;\n\tstatic unsigned int Hash(unsigned int styleNumber_, const char *s, unsigned int len_);\n\tbool NewerThan(const PositionCacheEntry &other) const;\n\tvoid ResetClock();\n};\n\nclass Representation {\npublic:\n\tstd::string stringRep;\n\texplicit Representation(const char *value=\"\") : stringRep(value) {\n\t}\n};\n\ntypedef std::map<unsigned int, Representation> MapRepresentation;\n\nclass SpecialRepresentations {\n\tMapRepresentation mapReprs;\n\tshort startByteHasReprs[0x100];\npublic:\n\tSpecialRepresentations();\n\tvoid SetRepresentation(const char *charBytes, const char *value);\n\tvoid ClearRepresentation(const char *charBytes);\n\tconst Representation *RepresentationFromCharacter(const char *charBytes, size_t len) const;\n\tbool Contains(const char *charBytes, size_t len) const;\n\tvoid Clear();\n};\n\nstruct TextSegment {\n\tint start;\n\tint length;\n\tconst Representation *representation;\n\tTextSegment(int start_=0, int length_=0, const Representation *representation_=nullptr) noexcept :\n\t\tstart(start_), length(length_), representation(representation_) {\n\t}\n\tint end() const noexcept {\n\t\treturn start + length;\n\t}\n};\n\n// Class to break a line of text into shorter runs at sensible places.\nclass BreakFinder {\n\tconst LineLayout *ll;\n\tRange lineRange;\n\tSci::Position posLineStart;\n\tint nextBreak;\n\tstd::vector<int> selAndEdge;\n\tunsigned int saeCurrentPos;\n\tint saeNext;\n\tint subBreak;\n\tconst Document *pdoc;\n\tEncodingFamily encodingFamily;\n\tconst SpecialRepresentations *preprs;\n\tvoid Insert(Sci::Position val);\npublic:\n\t// If a whole run is longer than lengthStartSubdivision then subdivide\n\t// into smaller runs at spaces or punctuation.\n\tenum { lengthStartSubdivision = 300 };\n\t// Try to make each subdivided run lengthEachSubdivision or shorter.\n\tenum { lengthEachSubdivision = 100 };\n\tBreakFinder(const LineLayout *ll_, const Selection *psel, Range lineRange_, Sci::Position posLineStart_,\n\t\tint xStart, bool breakForSelection, const Document *pdoc_, const SpecialRepresentations *preprs_, const ViewStyle *pvsDraw);\n\t// Deleted so BreakFinder objects can not be copied.\n\tBreakFinder(const BreakFinder &) = delete;\n\tBreakFinder(BreakFinder &&) = delete;\n\tvoid operator=(const BreakFinder &) = delete;\n\tvoid operator=(BreakFinder &&) = delete;\n\t~BreakFinder();\n\tTextSegment Next();\n\tbool More() const;\n};\n\nclass PositionCache {\n\tstd::vector<PositionCacheEntry> pces;\n\tunsigned int clock;\n\tbool allClear;\npublic:\n\tPositionCache();\n\t// Deleted so PositionCache objects can not be copied.\n\tPositionCache(const PositionCache &) = delete;\n\tPositionCache(PositionCache &&) = delete;\n\tvoid operator=(const PositionCache &) = delete;\n\tvoid operator=(PositionCache &&) = delete;\n\t~PositionCache();\n\tvoid Clear();\n\tvoid SetSize(size_t size_);\n\tsize_t GetSize() const { return pces.size(); }\n\tvoid MeasureWidths(Surface *surface, const ViewStyle &vstyle, unsigned int styleNumber,\n\t\tconst char *s, unsigned int len, XYPOSITION *positions, const Document *pdoc);\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/RESearch.cpp",
    "content": "// Scintilla source code edit control\n/** @file RESearch.cxx\n ** Regular expression search library.\n **/\n\n/*\n * regex - Regular expression pattern matching and replacement\n *\n * By:  Ozan S. Yigit (oz)\n *      Dept. of Computer Science\n *      York University\n *\n * Original code available from http://www.cs.yorku.ca/~oz/\n * Translation to C++ by Neil Hodgson neilh@scintilla.org\n * Removed all use of register.\n * Converted to modern function prototypes.\n * Put all global/static variables into an object so this code can be\n * used from multiple threads, etc.\n * Some extensions by Philippe Lhoste PhiLho(a)GMX.net\n * '?' extensions by Michael Mullin masmullin@gmail.com\n *\n * These routines are the PUBLIC DOMAIN equivalents of regex\n * routines as found in 4.nBSD UN*X, with minor extensions.\n *\n * These routines are derived from various implementations found\n * in software tools books, and Conroy's grep. They are NOT derived\n * from licensed/restricted software.\n * For more interesting/academic/complicated implementations,\n * see Henry Spencer's regexp routines, or GNU Emacs pattern\n * matching module.\n *\n * Modification history removed.\n *\n * Interfaces:\n *  RESearch::Compile:      compile a regular expression into a NFA.\n *\n *          const char *RESearch::Compile(const char *pattern, int length,\n *                                        bool caseSensitive, bool posix)\n *\n * Returns a short error string if they fail.\n *\n *  RESearch::Execute:      execute the NFA to match a pattern.\n *\n *          int RESearch::Execute(characterIndexer &ci, int lp, int endp)\n *\n *  re_fail:                failure routine for RESearch::Execute. (no longer used)\n *\n *          void re_fail(char *msg, char op)\n *\n * Regular Expressions:\n *\n *      [1]     char    matches itself, unless it is a special\n *                      character (metachar): . \\ [ ] * + ? ^ $\n *                      and ( ) if posix option.\n *\n *      [2]     .       matches any character.\n *\n *      [3]     \\       matches the character following it, except:\n *                      - \\a, \\b, \\f, \\n, \\r, \\t, \\v match the corresponding C\n *                      escape char, respectively BEL, BS, FF, LF, CR, TAB and VT;\n *                      Note that \\r and \\n are never matched because Scintilla\n *                      regex searches are made line per line\n *                      (stripped of end-of-line chars).\n *                      - if not in posix mode, when followed by a\n *                      left or right round bracket (see [8]);\n *                      - when followed by a digit 1 to 9 (see [9]);\n *                      - when followed by a left or right angle bracket\n *                      (see [10]);\n *                      - when followed by d, D, s, S, w or W (see [11]);\n *                      - when followed by x and two hexa digits (see [12].\n *                      Backslash is used as an escape character for all\n *                      other meta-characters, and itself.\n *\n *      [4]     [set]   matches one of the characters in the set.\n *                      If the first character in the set is \"^\",\n *                      it matches the characters NOT in the set, i.e.\n *                      complements the set. A shorthand S-E (start dash end)\n *                      is used to specify a set of characters S up to\n *                      E, inclusive. S and E must be characters, otherwise\n *                      the dash is taken literally (eg. in expression [\\d-a]).\n *                      The special characters \"]\" and \"-\" have no special\n *                      meaning if they appear as the first chars in the set.\n *                      To include both, put - first: [-]A-Z]\n *                      (or just backslash them).\n *                      examples:        match:\n *\n *                              [-]|]    matches these 3 chars,\n *\n *                              []-|]    matches from ] to | chars\n *\n *                              [a-z]    any lowercase alpha\n *\n *                              [^-]]    any char except - and ]\n *\n *                              [^A-Z]   any char except uppercase\n *                                       alpha\n *\n *                              [a-zA-Z] any alpha\n *\n *      [5]     *       any regular expression form [1] to [4]\n *                      (except [8], [9] and [10] forms of [3]),\n *                      followed by closure char (*)\n *                      matches zero or more matches of that form.\n *\n *      [6]     +       same as [5], except it matches one or more.\n *\n *      [5-6]           Both [5] and [6] are greedy (they match as much as possible).\n *                      Unless they are followed by the 'lazy' quantifier (?)\n *                      In which case both [5] and [6] try to match as little as possible\n *\n *      [7]     ?       same as [5] except it matches zero or one.\n *\n *      [8]             a regular expression in the form [1] to [13], enclosed\n *                      as \\(form\\) (or (form) with posix flag) matches what\n *                      form matches. The enclosure creates a set of tags,\n *                      used for [9] and for pattern substitution.\n *                      The tagged forms are numbered starting from 1.\n *\n *      [9]             a \\ followed by a digit 1 to 9 matches whatever a\n *                      previously tagged regular expression ([8]) matched.\n *\n *      [10]    \\<      a regular expression starting with a \\< construct\n *              \\>      and/or ending with a \\> construct, restricts the\n *                      pattern matching to the beginning of a word, and/or\n *                      the end of a word. A word is defined to be a character\n *                      string beginning and/or ending with the characters\n *                      A-Z a-z 0-9 and _. Scintilla extends this definition\n *                      by user setting. The word must also be preceded and/or\n *                      followed by any character outside those mentioned.\n *\n *      [11]    \\l      a backslash followed by d, D, s, S, w or W,\n *                      becomes a character class (both inside and\n *                      outside sets []).\n *                        d: decimal digits\n *                        D: any char except decimal digits\n *                        s: whitespace (space, \\t \\n \\r \\f \\v)\n *                        S: any char except whitespace (see above)\n *                        w: alphanumeric & underscore (changed by user setting)\n *                        W: any char except alphanumeric & underscore (see above)\n *\n *      [12]    \\xHH    a backslash followed by x and two hexa digits,\n *                      becomes the character whose Ascii code is equal\n *                      to these digits. If not followed by two digits,\n *                      it is 'x' char itself.\n *\n *      [13]            a composite regular expression xy where x and y\n *                      are in the form [1] to [12] matches the longest\n *                      match of x followed by a match for y.\n *\n *      [14]    ^       a regular expression starting with a ^ character\n *              $       and/or ending with a $ character, restricts the\n *                      pattern matching to the beginning of the line,\n *                      or the end of line. [anchors] Elsewhere in the\n *                      pattern, ^ and $ are treated as ordinary characters.\n *\n *\n * Acknowledgements:\n *\n *  HCR's Hugh Redelmeier has been most helpful in various\n *  stages of development. He convinced me to include BOW\n *  and EOW constructs, originally invented by Rob Pike at\n *  the University of Toronto.\n *\n * References:\n *              Software tools                  Kernighan & Plauger\n *              Software tools in Pascal        Kernighan & Plauger\n *              Grep [rsx-11 C dist]            David Conroy\n *              ed - text editor                Un*x Programmer's Manual\n *              Advanced editing on Un*x        B. W. Kernighan\n *              RegExp routines                 Henry Spencer\n *\n * Notes:\n *\n *  This implementation uses a bit-set representation for character\n *  classes for speed and compactness. Each character is represented\n *  by one bit in a 256-bit block. Thus, CCL always takes a\n *\tconstant 32 bytes in the internal nfa, and RESearch::Execute does a single\n *  bit comparison to locate the character in the set.\n *\n * Examples:\n *\n *  pattern:    foo*.*\n *  compile:    CHR f CHR o CLO CHR o END CLO ANY END END\n *  matches:    fo foo fooo foobar fobar foxx ...\n *\n *  pattern:    fo[ob]a[rz]\n *  compile:    CHR f CHR o CCL bitset CHR a CCL bitset END\n *  matches:    fobar fooar fobaz fooaz\n *\n *  pattern:    foo\\\\+\n *  compile:    CHR f CHR o CHR o CHR \\ CLO CHR \\ END END\n *  matches:    foo\\ foo\\\\ foo\\\\\\  ...\n *\n *  pattern:    \\(foo\\)[1-3]\\1  (same as foo[1-3]foo)\n *  compile:    BOT 1 CHR f CHR o CHR o EOT 1 CCL bitset REF 1 END\n *  matches:    foo1foo foo2foo foo3foo\n *\n *  pattern:    \\(fo.*\\)-\\1\n *  compile:    BOT 1 CHR f CHR o CLO ANY END EOT 1 CHR - REF 1 END\n *  matches:    foo-foo fo-fo fob-fob foobar-foobar ...\n */\n\n#include <cstddef>\n#include <cstdlib>\n\n#include <stdexcept>\n#include <string>\n#include <algorithm>\n#include <iterator>\n\n#include \"Position.h\"\n#include \"CharClassify.h\"\n#include \"RESearch.h\"\n\nusing namespace Scintilla;\n\n#define OKP     1\n#define NOP     0\n\n#define CHR     1\n#define ANY     2\n#define CCL     3\n#define BOL     4\n#define EOL     5\n#define BOT     6\n#define EOT     7\n#define BOW     8\n#define EOW     9\n#define REF     10\n#define CLO     11\n#define CLQ     12 /* 0 to 1 closure */\n#define LCLO    13 /* lazy closure */\n\n#define END     0\n\n/*\n * The following defines are not meant to be changeable.\n * They are for readability only.\n */\n#define BLKIND  0370\n#define BITIND  07\n\nstatic const char bitarr[] = { 1, 2, 4, 8, 16, 32, 64, '\\200' };\n\n#define badpat(x)\t(*nfa = END, x)\n\n/*\n * Character classification table for word boundary operators BOW\n * and EOW is passed in by the creator of this object (Scintilla\n * Document). The Document default state is that word chars are:\n * 0-9, a-z, A-Z and _\n */\n\nRESearch::RESearch(CharClassify *charClassTable) {\n\tfailure = 0;\n\tcharClass = charClassTable;\n\tsta = NOP;                  /* status of lastpat */\n\tbol = 0;\n\tconst unsigned char nul=0;\n\tstd::fill(bittab, std::end(bittab), nul);\n\tstd::fill(tagstk, std::end(tagstk), 0);\n\tstd::fill(nfa, std::end(nfa), '\\0');\n\tClear();\n}\n\nRESearch::~RESearch() {\n\tClear();\n}\n\nvoid RESearch::Clear() {\n\tfor (int i = 0; i < MAXTAG; i++) {\n\t\tpat[i].clear();\n\t\tbopat[i] = NOTFOUND;\n\t\teopat[i] = NOTFOUND;\n\t}\n}\n\nvoid RESearch::GrabMatches(const CharacterIndexer &ci) {\n\tfor (unsigned int i = 0; i < MAXTAG; i++) {\n\t\tif ((bopat[i] != NOTFOUND) && (eopat[i] != NOTFOUND)) {\n\t\t\tSci::Position len = eopat[i] - bopat[i];\n\t\t\tpat[i].resize(len);\n\t\t\tfor (Sci::Position j = 0; j < len; j++)\n\t\t\t\tpat[i][j] = ci.CharAt(bopat[i] + j);\n\t\t}\n\t}\n}\n\nvoid RESearch::ChSet(unsigned char c) {\n\tbittab[((c) & BLKIND) >> 3] |= bitarr[(c) & BITIND];\n}\n\nvoid RESearch::ChSetWithCase(unsigned char c, bool caseSensitive) {\n\tChSet(c);\n\tif (!caseSensitive) {\n\t\tif ((c >= 'a') && (c <= 'z')) {\n\t\t\tChSet(c - 'a' + 'A');\n\t\t} else if ((c >= 'A') && (c <= 'Z')) {\n\t\t\tChSet(c - 'A' + 'a');\n\t\t}\n\t}\n}\n\nstatic unsigned char escapeValue(unsigned char ch) {\n\tswitch (ch) {\n\tcase 'a':\treturn '\\a';\n\tcase 'b':\treturn '\\b';\n\tcase 'f':\treturn '\\f';\n\tcase 'n':\treturn '\\n';\n\tcase 'r':\treturn '\\r';\n\tcase 't':\treturn '\\t';\n\tcase 'v':\treturn '\\v';\n\t}\n\treturn 0;\n}\n\nstatic int GetHexaChar(unsigned char hd1, unsigned char hd2) {\n\tint hexValue = 0;\n\tif (hd1 >= '0' && hd1 <= '9') {\n\t\thexValue += 16 * (hd1 - '0');\n\t} else if (hd1 >= 'A' && hd1 <= 'F') {\n\t\thexValue += 16 * (hd1 - 'A' + 10);\n\t} else if (hd1 >= 'a' && hd1 <= 'f') {\n\t\thexValue += 16 * (hd1 - 'a' + 10);\n\t} else {\n\t\treturn -1;\n\t}\n\tif (hd2 >= '0' && hd2 <= '9') {\n\t\thexValue += hd2 - '0';\n\t} else if (hd2 >= 'A' && hd2 <= 'F') {\n\t\thexValue += hd2 - 'A' + 10;\n\t} else if (hd2 >= 'a' && hd2 <= 'f') {\n\t\thexValue += hd2 - 'a' + 10;\n\t} else {\n\t\treturn -1;\n\t}\n\treturn hexValue;\n}\n\n/**\n * Called when the parser finds a backslash not followed\n * by a valid expression (like \\( in non-Posix mode).\n * @param pattern : pointer on the char after the backslash.\n * @param incr : (out) number of chars to skip after expression evaluation.\n * @return the char if it resolves to a simple char,\n * or -1 for a char class. In this case, bittab is changed.\n */\nint RESearch::GetBackslashExpression(\n    const char *pattern,\n    int &incr) {\n\t// Since error reporting is primitive and messages are not used anyway,\n\t// I choose to interpret unexpected syntax in a logical way instead\n\t// of reporting errors. Otherwise, we can stick on, eg., PCRE behavior.\n\tincr = 0;\t// Most of the time, will skip the char \"naturally\".\n\tint c;\n\tint result = -1;\n\tconst unsigned char bsc = *pattern;\n\tif (!bsc) {\n\t\t// Avoid overrun\n\t\tresult = '\\\\';\t// \\ at end of pattern, take it literally\n\t\treturn result;\n\t}\n\n\tswitch (bsc) {\n\tcase 'a':\n\tcase 'b':\n\tcase 'n':\n\tcase 'f':\n\tcase 'r':\n\tcase 't':\n\tcase 'v':\n\t\tresult = escapeValue(bsc);\n\t\tbreak;\n\tcase 'x': {\n\t\t\tconst unsigned char hd1 = *(pattern + 1);\n\t\t\tconst unsigned char hd2 = *(pattern + 2);\n\t\t\tconst int hexValue = GetHexaChar(hd1, hd2);\n\t\t\tif (hexValue >= 0) {\n\t\t\t\tresult = hexValue;\n\t\t\t\tincr = 2;\t// Must skip the digits\n\t\t\t} else {\n\t\t\t\tresult = 'x';\t// \\x without 2 digits: see it as 'x'\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 'd':\n\t\tfor (c = '0'; c <= '9'; c++) {\n\t\t\tChSet(static_cast<unsigned char>(c));\n\t\t}\n\t\tbreak;\n\tcase 'D':\n\t\tfor (c = 0; c < MAXCHR; c++) {\n\t\t\tif (c < '0' || c > '9') {\n\t\t\t\tChSet(static_cast<unsigned char>(c));\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 's':\n\t\tChSet(' ');\n\t\tChSet('\\t');\n\t\tChSet('\\n');\n\t\tChSet('\\r');\n\t\tChSet('\\f');\n\t\tChSet('\\v');\n\t\tbreak;\n\tcase 'S':\n\t\tfor (c = 0; c < MAXCHR; c++) {\n\t\t\tif (c != ' ' && !(c >= 0x09 && c <= 0x0D)) {\n\t\t\t\tChSet(static_cast<unsigned char>(c));\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 'w':\n\t\tfor (c = 0; c < MAXCHR; c++) {\n\t\t\tif (iswordc(static_cast<unsigned char>(c))) {\n\t\t\t\tChSet(static_cast<unsigned char>(c));\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 'W':\n\t\tfor (c = 0; c < MAXCHR; c++) {\n\t\t\tif (!iswordc(static_cast<unsigned char>(c))) {\n\t\t\t\tChSet(static_cast<unsigned char>(c));\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tresult = bsc;\n\t}\n\treturn result;\n}\n\nconst char *RESearch::Compile(const char *pattern, Sci::Position length, bool caseSensitive, bool posix) {\n\tchar *mp=nfa;          /* nfa pointer       */\n\tchar *lp;              /* saved pointer     */\n\tchar *sp=nfa;          /* another one       */\n\tchar *mpMax = mp + MAXNFA - BITBLK - 10;\n\n\tint tagi = 0;          /* tag stack index   */\n\tint tagc = 1;          /* actual tag count  */\n\n\tint n;\n\tchar mask;             /* xor mask -CCL/NCL */\n\tint c1, c2, prevChar;\n\n\tif (!pattern || !length) {\n\t\tif (sta)\n\t\t\treturn nullptr;\n\t\telse\n\t\t\treturn badpat(\"No previous regular expression\");\n\t}\n\tsta = NOP;\n\n\tconst char *p=pattern;     /* pattern pointer   */\n\tfor (int i=0; i<length; i++, p++) {\n\t\tif (mp > mpMax)\n\t\t\treturn badpat(\"Pattern too long\");\n\t\tlp = mp;\n\t\tswitch (*p) {\n\n\t\tcase '.':               /* match any char  */\n\t\t\t*mp++ = ANY;\n\t\t\tbreak;\n\n\t\tcase '^':               /* match beginning */\n\t\t\tif (p == pattern) {\n\t\t\t\t*mp++ = BOL;\n\t\t\t} else {\n\t\t\t\t*mp++ = CHR;\n\t\t\t\t*mp++ = *p;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase '$':               /* match endofline */\n\t\t\tif (!*(p+1)) {\n\t\t\t\t*mp++ = EOL;\n\t\t\t} else {\n\t\t\t\t*mp++ = CHR;\n\t\t\t\t*mp++ = *p;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase '[':               /* match char class */\n\t\t\t*mp++ = CCL;\n\t\t\tprevChar = 0;\n\n\t\t\ti++;\n\t\t\tif (*++p == '^') {\n\t\t\t\tmask = '\\377';\n\t\t\t\ti++;\n\t\t\t\tp++;\n\t\t\t} else {\n\t\t\t\tmask = 0;\n\t\t\t}\n\n\t\t\tif (*p == '-') {\t/* real dash */\n\t\t\t\ti++;\n\t\t\t\tprevChar = *p;\n\t\t\t\tChSet(*p++);\n\t\t\t}\n\t\t\tif (*p == ']') {\t/* real brace */\n\t\t\t\ti++;\n\t\t\t\tprevChar = *p;\n\t\t\t\tChSet(*p++);\n\t\t\t}\n\t\t\twhile (*p && *p != ']') {\n\t\t\t\tif (*p == '-') {\n\t\t\t\t\tif (prevChar < 0) {\n\t\t\t\t\t\t// Previous def. was a char class like \\d, take dash literally\n\t\t\t\t\t\tprevChar = *p;\n\t\t\t\t\t\tChSet(*p);\n\t\t\t\t\t} else if (*(p+1)) {\n\t\t\t\t\t\tif (*(p+1) != ']') {\n\t\t\t\t\t\t\tc1 = prevChar + 1;\n\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\tc2 = static_cast<unsigned char>(*++p);\n\t\t\t\t\t\t\tif (c2 == '\\\\') {\n\t\t\t\t\t\t\t\tif (!*(p+1)) {\t// End of RE\n\t\t\t\t\t\t\t\t\treturn badpat(\"Missing ]\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t\tp++;\n\t\t\t\t\t\t\t\t\tint incr;\n\t\t\t\t\t\t\t\t\tc2 = GetBackslashExpression(p, incr);\n\t\t\t\t\t\t\t\t\ti += incr;\n\t\t\t\t\t\t\t\t\tp += incr;\n\t\t\t\t\t\t\t\t\tif (c2 >= 0) {\n\t\t\t\t\t\t\t\t\t\t// Convention: \\c (c is any char) is case sensitive, whatever the option\n\t\t\t\t\t\t\t\t\t\tChSet(static_cast<unsigned char>(c2));\n\t\t\t\t\t\t\t\t\t\tprevChar = c2;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// bittab is already changed\n\t\t\t\t\t\t\t\t\t\tprevChar = -1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (prevChar < 0) {\n\t\t\t\t\t\t\t\t// Char after dash is char class like \\d, take dash literally\n\t\t\t\t\t\t\t\tprevChar = '-';\n\t\t\t\t\t\t\t\tChSet('-');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Put all chars between c1 and c2 included in the char set\n\t\t\t\t\t\t\t\twhile (c1 <= c2) {\n\t\t\t\t\t\t\t\t\tChSetWithCase(static_cast<unsigned char>(c1++), caseSensitive);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Dash before the ], take it literally\n\t\t\t\t\t\t\tprevChar = *p;\n\t\t\t\t\t\t\tChSet(*p);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn badpat(\"Missing ]\");\n\t\t\t\t\t}\n\t\t\t\t} else if (*p == '\\\\' && *(p+1)) {\n\t\t\t\t\ti++;\n\t\t\t\t\tp++;\n\t\t\t\t\tint incr;\n\t\t\t\t\tint c = GetBackslashExpression(p, incr);\n\t\t\t\t\ti += incr;\n\t\t\t\t\tp += incr;\n\t\t\t\t\tif (c >= 0) {\n\t\t\t\t\t\t// Convention: \\c (c is any char) is case sensitive, whatever the option\n\t\t\t\t\t\tChSet(static_cast<unsigned char>(c));\n\t\t\t\t\t\tprevChar = c;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// bittab is already changed\n\t\t\t\t\t\tprevChar = -1;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tprevChar = static_cast<unsigned char>(*p);\n\t\t\t\t\tChSetWithCase(*p, caseSensitive);\n\t\t\t\t}\n\t\t\t\ti++;\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif (!*p)\n\t\t\t\treturn badpat(\"Missing ]\");\n\n\t\t\tfor (n = 0; n < BITBLK; bittab[n++] = 0)\n\t\t\t\t*mp++ = static_cast<char>(mask ^ bittab[n]);\n\n\t\t\tbreak;\n\n\t\tcase '*':               /* match 0 or more... */\n\t\tcase '+':               /* match 1 or more... */\n\t\tcase '?':\n\t\t\tif (p == pattern)\n\t\t\t\treturn badpat(\"Empty closure\");\n\t\t\tlp = sp;\t\t/* previous opcode */\n\t\t\tif (*lp == CLO || *lp == LCLO)\t\t/* equivalence... */\n\t\t\t\tbreak;\n\t\t\tswitch (*lp) {\n\n\t\t\tcase BOL:\n\t\t\tcase BOT:\n\t\t\tcase EOT:\n\t\t\tcase BOW:\n\t\t\tcase EOW:\n\t\t\tcase REF:\n\t\t\t\treturn badpat(\"Illegal closure\");\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (*p == '+')\n\t\t\t\tfor (sp = mp; lp < sp; lp++)\n\t\t\t\t\t*mp++ = *lp;\n\n\t\t\t*mp++ = END;\n\t\t\t*mp++ = END;\n\t\t\tsp = mp;\n\n\t\t\twhile (--mp > lp)\n\t\t\t\t*mp = mp[-1];\n\t\t\tif (*p == '?')          *mp = CLQ;\n\t\t\telse if (*(p+1) == '?') *mp = LCLO;\n\t\t\telse                    *mp = CLO;\n\n\t\t\tmp = sp;\n\t\t\tbreak;\n\n\t\tcase '\\\\':              /* tags, backrefs... */\n\t\t\ti++;\n\t\t\tswitch (*++p) {\n\t\t\tcase '<':\n\t\t\t\t*mp++ = BOW;\n\t\t\t\tbreak;\n\t\t\tcase '>':\n\t\t\t\tif (*sp == BOW)\n\t\t\t\t\treturn badpat(\"Null pattern inside \\\\<\\\\>\");\n\t\t\t\t*mp++ = EOW;\n\t\t\t\tbreak;\n\t\t\tcase '1':\n\t\t\tcase '2':\n\t\t\tcase '3':\n\t\t\tcase '4':\n\t\t\tcase '5':\n\t\t\tcase '6':\n\t\t\tcase '7':\n\t\t\tcase '8':\n\t\t\tcase '9':\n\t\t\t\tn = *p-'0';\n\t\t\t\tif (tagi > 0 && tagstk[tagi] == n)\n\t\t\t\t\treturn badpat(\"Cyclical reference\");\n\t\t\t\tif (tagc > n) {\n\t\t\t\t\t*mp++ = REF;\n\t\t\t\t\t*mp++ = static_cast<char>(n);\n\t\t\t\t} else {\n\t\t\t\t\treturn badpat(\"Undetermined reference\");\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif (!posix && *p == '(') {\n\t\t\t\t\tif (tagc < MAXTAG) {\n\t\t\t\t\t\ttagstk[++tagi] = tagc;\n\t\t\t\t\t\t*mp++ = BOT;\n\t\t\t\t\t\t*mp++ = static_cast<char>(tagc++);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn badpat(\"Too many \\\\(\\\\) pairs\");\n\t\t\t\t\t}\n\t\t\t\t} else if (!posix && *p == ')') {\n\t\t\t\t\tif (*sp == BOT)\n\t\t\t\t\t\treturn badpat(\"Null pattern inside \\\\(\\\\)\");\n\t\t\t\t\tif (tagi > 0) {\n\t\t\t\t\t\t*mp++ = EOT;\n\t\t\t\t\t\t*mp++ = static_cast<char>(tagstk[tagi--]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn badpat(\"Unmatched \\\\)\");\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tint incr;\n\t\t\t\t\tint c = GetBackslashExpression(p, incr);\n\t\t\t\t\ti += incr;\n\t\t\t\t\tp += incr;\n\t\t\t\t\tif (c >= 0) {\n\t\t\t\t\t\t*mp++ = CHR;\n\t\t\t\t\t\t*mp++ = static_cast<unsigned char>(c);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t*mp++ = CCL;\n\t\t\t\t\t\tmask = 0;\n\t\t\t\t\t\tfor (n = 0; n < BITBLK; bittab[n++] = 0)\n\t\t\t\t\t\t\t*mp++ = static_cast<char>(mask ^ bittab[n]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault :               /* an ordinary char */\n\t\t\tif (posix && *p == '(') {\n\t\t\t\tif (tagc < MAXTAG) {\n\t\t\t\t\ttagstk[++tagi] = tagc;\n\t\t\t\t\t*mp++ = BOT;\n\t\t\t\t\t*mp++ = static_cast<char>(tagc++);\n\t\t\t\t} else {\n\t\t\t\t\treturn badpat(\"Too many () pairs\");\n\t\t\t\t}\n\t\t\t} else if (posix && *p == ')') {\n\t\t\t\tif (*sp == BOT)\n\t\t\t\t\treturn badpat(\"Null pattern inside ()\");\n\t\t\t\tif (tagi > 0) {\n\t\t\t\t\t*mp++ = EOT;\n\t\t\t\t\t*mp++ = static_cast<char>(tagstk[tagi--]);\n\t\t\t\t} else {\n\t\t\t\t\treturn badpat(\"Unmatched )\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tunsigned char c = *p;\n\t\t\t\tif (!c)\t// End of RE\n\t\t\t\t\tc = '\\\\';\t// We take it as raw backslash\n\t\t\t\tif (caseSensitive || !iswordc(c)) {\n\t\t\t\t\t*mp++ = CHR;\n\t\t\t\t\t*mp++ = c;\n\t\t\t\t} else {\n\t\t\t\t\t*mp++ = CCL;\n\t\t\t\t\tmask = 0;\n\t\t\t\t\tChSetWithCase(c, false);\n\t\t\t\t\tfor (n = 0; n < BITBLK; bittab[n++] = 0)\n\t\t\t\t\t\t*mp++ = static_cast<char>(mask ^ bittab[n]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tsp = lp;\n\t}\n\tif (tagi > 0)\n\t\treturn badpat((posix ? \"Unmatched (\" : \"Unmatched \\\\(\"));\n\t*mp = END;\n\tsta = OKP;\n\treturn nullptr;\n}\n\n/*\n * RESearch::Execute:\n *   execute nfa to find a match.\n *\n *  special cases: (nfa[0])\n *      BOL\n *          Match only once, starting from the\n *          beginning.\n *      CHR\n *          First locate the character without\n *          calling PMatch, and if found, call\n *          PMatch for the remaining string.\n *      END\n *          RESearch::Compile failed, poor luser did not\n *          check for it. Fail fast.\n *\n *  If a match is found, bopat[0] and eopat[0] are set\n *  to the beginning and the end of the matched fragment,\n *  respectively.\n *\n */\nint RESearch::Execute(const CharacterIndexer &ci, Sci::Position lp, Sci::Position endp) {\n\tunsigned char c;\n\tSci::Position ep = NOTFOUND;\n\tchar *ap = nfa;\n\n\tbol = lp;\n\tfailure = 0;\n\n\tClear();\n\n\tswitch (*ap) {\n\n\tcase BOL:\t\t\t/* anchored: match from BOL only */\n\t\tep = PMatch(ci, lp, endp, ap);\n\t\tbreak;\n\tcase EOL:\t\t\t/* just searching for end of line normal path doesn't work */\n\t\tif (*(ap+1) == END) {\n\t\t\tlp = endp;\n\t\t\tep = lp;\n\t\t\tbreak;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\tcase CHR:\t\t\t/* ordinary char: locate it fast */\n\t\tc = *(ap+1);\n\t\twhile ((lp < endp) && (static_cast<unsigned char>(ci.CharAt(lp)) != c))\n\t\t\tlp++;\n\t\tif (lp >= endp)\t/* if EOS, fail, else fall through. */\n\t\t\treturn 0;\n\t\t// Falls through.\n\tdefault:\t\t\t/* regular matching all the way. */\n\t\twhile (lp < endp) {\n\t\t\tep = PMatch(ci, lp, endp, ap);\n\t\t\tif (ep != NOTFOUND)\n\t\t\t\tbreak;\n\t\t\tlp++;\n\t\t}\n\t\tbreak;\n\tcase END:\t\t\t/* munged automaton. fail always */\n\t\treturn 0;\n\t}\n\tif (ep == NOTFOUND)\n\t\treturn 0;\n\n\tbopat[0] = lp;\n\teopat[0] = ep;\n\treturn 1;\n}\n\n/*\n * PMatch: internal routine for the hard part\n *\n *  This code is partly snarfed from an early grep written by\n *  David Conroy. The backref and tag stuff, and various other\n *  innovations are by oz.\n *\n *  special case optimizations: (nfa[n], nfa[n+1])\n *      CLO ANY\n *          We KNOW .* will match everything up to the\n *          end of line. Thus, directly go to the end of\n *          line, without recursive PMatch calls. As in\n *          the other closure cases, the remaining pattern\n *          must be matched by moving backwards on the\n *          string recursively, to find a match for xy\n *          (x is \".*\" and y is the remaining pattern)\n *          where the match satisfies the LONGEST match for\n *          x followed by a match for y.\n *      CLO CHR\n *          We can again scan the string forward for the\n *          single char and at the point of failure, we\n *          execute the remaining nfa recursively, same as\n *          above.\n *\n *  At the end of a successful match, bopat[n] and eopat[n]\n *  are set to the beginning and end of subpatterns matched\n *  by tagged expressions (n = 1 to 9).\n */\n\nextern void re_fail(char *,char);\n\nstatic inline int isinset(const char *ap, unsigned char c) {\n\treturn ap[(c & BLKIND) >> 3] & bitarr[c & BITIND];\n}\n\n/*\n * skip values for CLO XXX to skip past the closure\n */\n\n#define ANYSKIP 2 \t/* [CLO] ANY END          */\n#define CHRSKIP 3\t/* [CLO] CHR chr END      */\n#define CCLSKIP 34\t/* [CLO] CCL 32 bytes END */\n\nSci::Position RESearch::PMatch(const CharacterIndexer &ci, Sci::Position lp, Sci::Position endp, char *ap) {\n\tint op, c, n;\n\tSci::Position e;\t\t/* extra pointer for CLO  */\n\tSci::Position bp;\t\t/* beginning of subpat... */\n\tSci::Position ep;\t\t/* ending of subpat...    */\n\tSci::Position are;\t/* to save the line ptr.  */\n\tSci::Position llp;\t/* lazy lp for LCLO       */\n\n\twhile ((op = *ap++) != END)\n\t\tswitch (op) {\n\n\t\tcase CHR:\n\t\t\tif (ci.CharAt(lp++) != *ap++)\n\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase ANY:\n\t\t\tif (lp++ >= endp)\n\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase CCL:\n\t\t\tif (lp >= endp)\n\t\t\t\treturn NOTFOUND;\n\t\t\tif (!isinset(ap, ci.CharAt(lp++)))\n\t\t\t\treturn NOTFOUND;\n\t\t\tap += BITBLK;\n\t\t\tbreak;\n\t\tcase BOL:\n\t\t\tif (lp != bol)\n\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase EOL:\n\t\t\tif (lp < endp)\n\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase BOT:\n\t\t\tbopat[static_cast<int>(*ap++)] = lp;\n\t\t\tbreak;\n\t\tcase EOT:\n\t\t\teopat[static_cast<int>(*ap++)] = lp;\n\t\t\tbreak;\n\t\tcase BOW:\n\t\t\tif ((lp!=bol && iswordc(ci.CharAt(lp-1))) || !iswordc(ci.CharAt(lp)))\n\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase EOW:\n\t\t\tif (lp==bol || !iswordc(ci.CharAt(lp-1)) || iswordc(ci.CharAt(lp)))\n\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase REF:\n\t\t\tn = *ap++;\n\t\t\tbp = bopat[n];\n\t\t\tep = eopat[n];\n\t\t\twhile (bp < ep)\n\t\t\t\tif (ci.CharAt(bp++) != ci.CharAt(lp++))\n\t\t\t\t\treturn NOTFOUND;\n\t\t\tbreak;\n\t\tcase LCLO:\n\t\tcase CLQ:\n\t\tcase CLO:\n\t\t\tare = lp;\n\t\t\tswitch (*ap) {\n\n\t\t\tcase ANY:\n\t\t\t\tif (op == CLO || op == LCLO)\n\t\t\t\t\twhile (lp < endp)\n\t\t\t\t\t\tlp++;\n\t\t\t\telse if (lp < endp)\n\t\t\t\t\tlp++;\n\n\t\t\t\tn = ANYSKIP;\n\t\t\t\tbreak;\n\t\t\tcase CHR:\n\t\t\t\tc = *(ap+1);\n\t\t\t\tif (op == CLO || op == LCLO)\n\t\t\t\t\twhile ((lp < endp) && (c == ci.CharAt(lp)))\n\t\t\t\t\t\tlp++;\n\t\t\t\telse if ((lp < endp) && (c == ci.CharAt(lp)))\n\t\t\t\t\tlp++;\n\t\t\t\tn = CHRSKIP;\n\t\t\t\tbreak;\n\t\t\tcase CCL:\n\t\t\t\twhile ((lp < endp) && isinset(ap+1, ci.CharAt(lp)))\n\t\t\t\t\tlp++;\n\t\t\t\tn = CCLSKIP;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tfailure = true;\n\t\t\t\t//re_fail(\"closure: bad nfa.\", *ap);\n\t\t\t\treturn NOTFOUND;\n\t\t\t}\n\t\t\tap += n;\n\n\t\t\tllp = lp;\n\t\t\te = NOTFOUND;\n\t\t\twhile (llp >= are) {\n\t\t\t\tSci::Position q;\n\t\t\t\tif ((q = PMatch(ci, llp, endp, ap)) != NOTFOUND) {\n\t\t\t\t\te = q;\n\t\t\t\t\tlp = llp;\n\t\t\t\t\tif (op != LCLO) return e;\n\t\t\t\t}\n\t\t\t\tif (*ap == END) return e;\n\t\t\t\t--llp;\n\t\t\t}\n\t\t\tif (*ap == EOT)\n\t\t\t\tPMatch(ci, lp, endp, ap);\n\t\t\treturn e;\n\t\tdefault:\n\t\t\t//re_fail(\"RESearch::Execute: bad nfa.\", static_cast<char>(op));\n\t\t\treturn NOTFOUND;\n\t\t}\n\treturn lp;\n}\n\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/RESearch.h",
    "content": "// Scintilla source code edit control\n/** @file RESearch.h\n ** Interface to the regular expression search library.\n **/\n// Written by Neil Hodgson <neilh@scintilla.org>\n// Based on the work of Ozan S. Yigit.\n// This file is in the public domain.\n\n#ifndef RESEARCH_H\n#define RESEARCH_H\n\nnamespace Scintilla {\n\n/*\n * The following defines are not meant to be changeable.\n * They are for readability only.\n */\n#define MAXCHR\t256\n#define CHRBIT\t8\n#define BITBLK\tMAXCHR/CHRBIT\n\nclass CharacterIndexer {\npublic:\n\tvirtual char CharAt(Sci::Position index) const=0;\n\tvirtual ~CharacterIndexer() {\n\t}\n};\n\nclass RESearch {\n\npublic:\n\texplicit RESearch(CharClassify *charClassTable);\n\t// No dynamic allocation so default copy constructor and assignment operator are OK.\n\t~RESearch();\n\tvoid Clear();\n\tvoid GrabMatches(const CharacterIndexer &ci);\n\tconst char *Compile(const char *pattern, Sci::Position length, bool caseSensitive, bool posix);\n\tint Execute(const CharacterIndexer &ci, Sci::Position lp, Sci::Position endp);\n\n\tenum { MAXTAG=10 };\n\tenum { MAXNFA=4096 };\n\tenum { NOTFOUND=-1 };\n\n\tSci::Position bopat[MAXTAG];\n\tSci::Position eopat[MAXTAG];\n\tstd::string pat[MAXTAG];\n\nprivate:\n\tvoid ChSet(unsigned char c);\n\tvoid ChSetWithCase(unsigned char c, bool caseSensitive);\n\tint GetBackslashExpression(const char *pattern, int &incr);\n\n\tSci::Position PMatch(const CharacterIndexer &ci, Sci::Position lp, Sci::Position endp, char *ap);\n\n\tSci::Position bol;\n\tSci::Position tagstk[MAXTAG];  /* subpat tag stack */\n\tchar nfa[MAXNFA];    /* automaton */\n\tint sta;\n\tunsigned char bittab[BITBLK]; /* bit table for CCL pre-set bits */\n\tint failure;\n\tCharClassify *charClass;\n\tbool iswordc(unsigned char x) const {\n\t\treturn charClass->IsWord(x);\n\t}\n};\n\n}\n\n#endif\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/RunStyles.cpp",
    "content": "/** @file RunStyles.cxx\n ** Data structure used to store sparse styles.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cstdint>\n#include <cstring>\n#include <cstdio>\n#include <cstdarg>\n#include <climits>\n\n#include <stdexcept>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"Position.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n\nusing namespace Scintilla;\n\n// Find the first run at a position\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::RunFromPosition(DISTANCE position) const noexcept {\n\tDISTANCE run = starts->PartitionFromPosition(position);\n\t// Go to first element with this position\n\twhile ((run > 0) && (position == starts->PositionFromPartition(run-1))) {\n\t\trun--;\n\t}\n\treturn run;\n}\n\n// If there is no run boundary at position, insert one continuing style.\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::SplitRun(DISTANCE position) {\n\tDISTANCE run = RunFromPosition(position);\n\tconst DISTANCE posRun = starts->PositionFromPartition(run);\n\tif (posRun < position) {\n\t\tSTYLE runStyle = ValueAt(position);\n\t\trun++;\n\t\tstarts->InsertPartition(run, position);\n\t\tstyles->InsertValue(run, 1, runStyle);\n\t}\n\treturn run;\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::RemoveRun(DISTANCE run) {\n\tstarts->RemovePartition(run);\n\tstyles->DeleteRange(run, 1);\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::RemoveRunIfEmpty(DISTANCE run) {\n\tif ((run < starts->Partitions()) && (starts->Partitions() > 1)) {\n\t\tif (starts->PositionFromPartition(run) == starts->PositionFromPartition(run+1)) {\n\t\t\tRemoveRun(run);\n\t\t}\n\t}\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::RemoveRunIfSameAsPrevious(DISTANCE run) {\n\tif ((run > 0) && (run < starts->Partitions())) {\n\t\tif (styles->ValueAt(run-1) == styles->ValueAt(run)) {\n\t\t\tRemoveRun(run);\n\t\t}\n\t}\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nRunStyles<DISTANCE, STYLE>::RunStyles() {\n\tstarts.reset(new Partitioning<DISTANCE>(8));\n\tstyles.reset(new SplitVector<STYLE>());\n\tstyles->InsertValue(0, 2, 0);\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nRunStyles<DISTANCE, STYLE>::~RunStyles() {\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::Length() const noexcept {\n\treturn starts->PositionFromPartition(starts->Partitions());\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nSTYLE RunStyles<DISTANCE, STYLE>::ValueAt(DISTANCE position) const noexcept {\n\treturn styles->ValueAt(starts->PartitionFromPosition(position));\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::FindNextChange(DISTANCE position, DISTANCE end) const noexcept {\n\tconst DISTANCE run = starts->PartitionFromPosition(position);\n\tif (run < starts->Partitions()) {\n\t\tconst DISTANCE runChange = starts->PositionFromPartition(run);\n\t\tif (runChange > position)\n\t\t\treturn runChange;\n\t\tconst DISTANCE nextChange = starts->PositionFromPartition(run + 1);\n\t\tif (nextChange > position) {\n\t\t\treturn nextChange;\n\t\t} else if (position < end) {\n\t\t\treturn end;\n\t\t} else {\n\t\t\treturn end + 1;\n\t\t}\n\t} else {\n\t\treturn end + 1;\n\t}\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::StartRun(DISTANCE position) const noexcept {\n\treturn starts->PositionFromPartition(starts->PartitionFromPosition(position));\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::EndRun(DISTANCE position) const noexcept {\n\treturn starts->PositionFromPartition(starts->PartitionFromPosition(position) + 1);\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nFillResult<DISTANCE> RunStyles<DISTANCE, STYLE>::FillRange(DISTANCE position, STYLE value, DISTANCE fillLength) {\n\tconst FillResult<DISTANCE> resultNoChange{false, position, fillLength};\n\tif (fillLength <= 0) {\n\t\treturn resultNoChange;\n\t}\n\tDISTANCE end = position + fillLength;\n\tif (end > Length()) {\n\t\treturn resultNoChange;\n\t}\n\tDISTANCE runEnd = RunFromPosition(end);\n\tif (styles->ValueAt(runEnd) == value) {\n\t\t// End already has value so trim range.\n\t\tend = starts->PositionFromPartition(runEnd);\n\t\tif (position >= end) {\n\t\t\t// Whole range is already same as value so no action\n\t\t\treturn resultNoChange;\n\t\t}\n\t\tfillLength = end - position;\n\t} else {\n\t\trunEnd = SplitRun(end);\n\t}\n\tDISTANCE runStart = RunFromPosition(position);\n\tif (styles->ValueAt(runStart) == value) {\n\t\t// Start is in expected value so trim range.\n\t\trunStart++;\n\t\tposition = starts->PositionFromPartition(runStart);\n\t\tfillLength = end - position;\n\t} else {\n\t\tif (starts->PositionFromPartition(runStart) < position) {\n\t\t\trunStart = SplitRun(position);\n\t\t\trunEnd++;\n\t\t}\n\t}\n\tif (runStart < runEnd) {\n\t\tconst FillResult<DISTANCE> result{ true, position, fillLength };\n\t\tstyles->SetValueAt(runStart, value);\n\t\t// Remove each old run over the range\n\t\tfor (DISTANCE run=runStart+1; run<runEnd; run++) {\n\t\t\tRemoveRun(runStart+1);\n\t\t}\n\t\trunEnd = RunFromPosition(end);\n\t\tRemoveRunIfSameAsPrevious(runEnd);\n\t\tRemoveRunIfSameAsPrevious(runStart);\n\t\trunEnd = RunFromPosition(end);\n\t\tRemoveRunIfEmpty(runEnd);\n\t\treturn result;\n\t} else {\n\t\treturn resultNoChange;\n\t}\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::SetValueAt(DISTANCE position, STYLE value) {\n\tFillRange(position, value, 1);\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::InsertSpace(DISTANCE position, DISTANCE insertLength) {\n\tDISTANCE runStart = RunFromPosition(position);\n\tif (starts->PositionFromPartition(runStart) == position) {\n\t\tSTYLE runStyle = ValueAt(position);\n\t\t// Inserting at start of run so make previous longer\n\t\tif (runStart == 0) {\n\t\t\t// Inserting at start of document so ensure 0\n\t\t\tif (runStyle) {\n\t\t\t\tstyles->SetValueAt(0, STYLE());\n\t\t\t\tstarts->InsertPartition(1, 0);\n\t\t\t\tstyles->InsertValue(1, 1, runStyle);\n\t\t\t\tstarts->InsertText(0, insertLength);\n\t\t\t} else {\n\t\t\t\tstarts->InsertText(runStart, insertLength);\n\t\t\t}\n\t\t} else {\n\t\t\tif (runStyle) {\n\t\t\t\tstarts->InsertText(runStart-1, insertLength);\n\t\t\t} else {\n\t\t\t\t// Insert at end of run so do not extend style\n\t\t\t\tstarts->InsertText(runStart, insertLength);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tstarts->InsertText(runStart, insertLength);\n\t}\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::DeleteAll() {\n\tstarts.reset(new Partitioning<DISTANCE>(8));\n\tstyles.reset(new SplitVector<STYLE>());\n\tstyles->InsertValue(0, 2, 0);\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::DeleteRange(DISTANCE position, DISTANCE deleteLength) {\n\tDISTANCE end = position + deleteLength;\n\tDISTANCE runStart = RunFromPosition(position);\n\tDISTANCE runEnd = RunFromPosition(end);\n\tif (runStart == runEnd) {\n\t\t// Deleting from inside one run\n\t\tstarts->InsertText(runStart, -deleteLength);\n\t\tRemoveRunIfEmpty(runStart);\n\t} else {\n\t\trunStart = SplitRun(position);\n\t\trunEnd = SplitRun(end);\n\t\tstarts->InsertText(runStart, -deleteLength);\n\t\t// Remove each old run over the range\n\t\tfor (DISTANCE run=runStart; run<runEnd; run++) {\n\t\t\tRemoveRun(runStart);\n\t\t}\n\t\tRemoveRunIfEmpty(runStart);\n\t\tRemoveRunIfSameAsPrevious(runStart);\n\t}\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::Runs() const noexcept {\n\treturn starts->Partitions();\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nbool RunStyles<DISTANCE, STYLE>::AllSame() const noexcept {\n\tfor (int run = 1; run < starts->Partitions(); run++) {\n\t\tif (styles->ValueAt(run) != styles->ValueAt(run - 1))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nbool RunStyles<DISTANCE, STYLE>::AllSameAs(STYLE value) const noexcept {\n\treturn AllSame() && (styles->ValueAt(0) == value);\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nDISTANCE RunStyles<DISTANCE, STYLE>::Find(STYLE value, DISTANCE start) const noexcept {\n\tif (start < Length()) {\n\t\tDISTANCE run = start ? RunFromPosition(start) : 0;\n\t\tif (styles->ValueAt(run) == value)\n\t\t\treturn start;\n\t\trun++;\n\t\twhile (run < starts->Partitions()) {\n\t\t\tif (styles->ValueAt(run) == value)\n\t\t\t\treturn starts->PositionFromPartition(run);\n\t\t\trun++;\n\t\t}\n\t}\n\treturn -1;\n}\n\ntemplate <typename DISTANCE, typename STYLE>\nvoid RunStyles<DISTANCE, STYLE>::Check() const {\n\tif (Length() < 0) {\n\t\tthrow std::runtime_error(\"RunStyles: Length can not be negative.\");\n\t}\n\tif (starts->Partitions() < 1) {\n\t\tthrow std::runtime_error(\"RunStyles: Must always have 1 or more partitions.\");\n\t}\n\tif (starts->Partitions() != styles->Length()-1) {\n\t\tthrow std::runtime_error(\"RunStyles: Partitions and styles different lengths.\");\n\t}\n\tDISTANCE start=0;\n\twhile (start < Length()) {\n\t\tconst DISTANCE end = EndRun(start);\n\t\tif (start >= end) {\n\t\t\tthrow std::runtime_error(\"RunStyles: Partition is 0 length.\");\n\t\t}\n\t\tstart = end;\n\t}\n\tif (styles->ValueAt(styles->Length()-1) != 0) {\n\t\tthrow std::runtime_error(\"RunStyles: Unused style at end changed.\");\n\t}\n\tfor (int j=1; j<styles->Length()-1; j++) {\n\t\tif (styles->ValueAt(j) == styles->ValueAt(j-1)) {\n\t\t\tthrow std::runtime_error(\"RunStyles: Style of a partition same as previous.\");\n\t\t}\n\t}\n}\n\ntemplate class Scintilla::RunStyles<int, int>;\ntemplate class Scintilla::RunStyles<int, char>;\n#if (PTRDIFF_MAX != INT_MAX) || PLAT_HAIKU\ntemplate class Scintilla::RunStyles<ptrdiff_t, int>;\ntemplate class Scintilla::RunStyles<ptrdiff_t, char>;\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/RunStyles.h",
    "content": "/** @file RunStyles.h\n ** Data structure used to store sparse styles.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n/// Styling buffer using one element for each run rather than using\n/// a filled buffer.\n\n#ifndef RUNSTYLES_H\n#define RUNSTYLES_H\n\nnamespace Scintilla {\n\n// Return for RunStyles::FillRange reports if anything was changed and the\n// range that was changed. This may be trimmed from the requested range\n// when some of the requested range already had the requested value.\ntemplate <typename DISTANCE>\nstruct FillResult {\n\tbool changed;\n\tDISTANCE position;\n\tDISTANCE fillLength;\n};\n\ntemplate <typename DISTANCE, typename STYLE>\nclass RunStyles {\nprivate:\n\tstd::unique_ptr<Partitioning<DISTANCE>> starts;\n\tstd::unique_ptr<SplitVector<STYLE>> styles;\n\tDISTANCE RunFromPosition(DISTANCE position) const noexcept;\n\tDISTANCE SplitRun(DISTANCE position);\n\tvoid RemoveRun(DISTANCE run);\n\tvoid RemoveRunIfEmpty(DISTANCE run);\n\tvoid RemoveRunIfSameAsPrevious(DISTANCE run);\npublic:\n\tRunStyles();\n\t// Deleted so RunStyles objects can not be copied.\n\tRunStyles(const RunStyles &) = delete;\n\tRunStyles(RunStyles &&) = delete;\n\tvoid operator=(const RunStyles &) = delete;\n\tvoid operator=(RunStyles &&) = delete;\n\t~RunStyles();\n\tDISTANCE Length() const noexcept;\n\tSTYLE ValueAt(DISTANCE position) const noexcept;\n\tDISTANCE FindNextChange(DISTANCE position, DISTANCE end) const noexcept;\n\tDISTANCE StartRun(DISTANCE position) const noexcept;\n\tDISTANCE EndRun(DISTANCE position) const noexcept;\n\t// Returns changed=true if some values may have changed\n\tFillResult<DISTANCE> FillRange(DISTANCE position, STYLE value, DISTANCE fillLength);\n\tvoid SetValueAt(DISTANCE position, STYLE value);\n\tvoid InsertSpace(DISTANCE position, DISTANCE insertLength);\n\tvoid DeleteAll();\n\tvoid DeleteRange(DISTANCE position, DISTANCE deleteLength);\n\tDISTANCE Runs() const noexcept;\n\tbool AllSame() const noexcept;\n\tbool AllSameAs(STYLE value) const noexcept;\n\tDISTANCE Find(STYLE value, DISTANCE start) const noexcept;\n\n\tvoid Check() const;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/SciTE.properties",
    "content": "# SciTE.properties is the per directory local options file and can be used to override\n# settings made in SciTEGlobal.properties\ncommand.build.directory.*.cxx=..\\win32\ncommand.build.directory.*.h=..\\win32\ncommand.build.*.cxx=nmake -f scintilla.mak QUIET=1\ncommand.build.*.h=nmake -f scintilla.mak QUIET=1\n"
  },
  {
    "path": "src/qscint/scintilla/src/ScintillaBase.cpp",
    "content": "// Scintilla source code edit control\n/** @file ScintillaBase.cxx\n ** An enhanced subclass of Editor with calltips, autocomplete and context menu.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n#include <cassert>\n#include <cstring>\n\n#include <stdexcept>\n#include <string>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"ILoader.h\"\n#include \"ILexer.h\"\n#include \"Scintilla.h\"\n\n#ifdef SCI_LEXER\n#include \"SciLexer.h\"\n#endif\n\n#include \"PropSetSimple.h\"\n\n#ifdef SCI_LEXER\n#include \"LexerModule.h\"\n#include \"Catalogue.h\"\n#endif\n\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"RunStyles.h\"\n#include \"ContractionState.h\"\n#include \"CellBuffer.h\"\n#include \"CallTip.h\"\n#include \"KeyMap.h\"\n#include \"Indicator.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n#include \"CharClassify.h\"\n#include \"Decoration.h\"\n#include \"CaseFolder.h\"\n#include \"Document.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n#include \"EditModel.h\"\n#include \"MarginView.h\"\n#include \"EditView.h\"\n#include \"Editor.h\"\n#include \"AutoComplete.h\"\n#include \"ScintillaBase.h\"\n\nusing namespace Scintilla;\n\nScintillaBase::ScintillaBase() {\n\tdisplayPopupMenu = SC_POPUP_ALL;\n\tlistType = 0;\n\tmaxListWidth = 0;\n\tmultiAutoCMode = SC_MULTIAUTOC_ONCE;\n}\n\nScintillaBase::~ScintillaBase() {\n}\n\nvoid ScintillaBase::Finalise() {\n\tEditor::Finalise();\n\tpopup.Destroy();\n}\n\nvoid ScintillaBase::AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS) {\n\tconst bool isFillUp = ac.Active() && ac.IsFillUpChar(*s);\n\tif (!isFillUp) {\n\t\tEditor::AddCharUTF(s, len, treatAsDBCS);\n\t}\n\tif (ac.Active()) {\n\t\tAutoCompleteCharacterAdded(s[0]);\n\t\t// For fill ups add the character after the autocompletion has\n\t\t// triggered so containers see the key so can display a calltip.\n\t\tif (isFillUp) {\n\t\t\tEditor::AddCharUTF(s, len, treatAsDBCS);\n\t\t}\n\t}\n}\n\nvoid ScintillaBase::Command(int cmdId) {\n\n\tswitch (cmdId) {\n\n\tcase idAutoComplete:  \t// Nothing to do\n\n\t\tbreak;\n\n\tcase idCallTip:  \t// Nothing to do\n\n\t\tbreak;\n\n\tcase idcmdUndo:\n\t\tWndProc(SCI_UNDO, 0, 0);\n\t\tbreak;\n\n\tcase idcmdRedo:\n\t\tWndProc(SCI_REDO, 0, 0);\n\t\tbreak;\n\n\tcase idcmdCut:\n\t\tWndProc(SCI_CUT, 0, 0);\n\t\tbreak;\n\n\tcase idcmdCopy:\n\t\tWndProc(SCI_COPY, 0, 0);\n\t\tbreak;\n\n\tcase idcmdPaste:\n\t\tWndProc(SCI_PASTE, 0, 0);\n\t\tbreak;\n\n\tcase idcmdDelete:\n\t\tWndProc(SCI_CLEAR, 0, 0);\n\t\tbreak;\n\n\tcase idcmdSelectAll:\n\t\tWndProc(SCI_SELECTALL, 0, 0);\n\t\tbreak;\n\t}\n}\n\nint ScintillaBase::KeyCommand(unsigned int iMessage) {\n\t// Most key commands cancel autocompletion mode\n\tif (ac.Active()) {\n\t\tswitch (iMessage) {\n\t\t\t// Except for these\n\t\tcase SCI_LINEDOWN:\n\t\t\tAutoCompleteMove(1);\n\t\t\treturn 0;\n\t\tcase SCI_LINEUP:\n\t\t\tAutoCompleteMove(-1);\n\t\t\treturn 0;\n\t\tcase SCI_PAGEDOWN:\n\t\t\tAutoCompleteMove(ac.lb->GetVisibleRows());\n\t\t\treturn 0;\n\t\tcase SCI_PAGEUP:\n\t\t\tAutoCompleteMove(-ac.lb->GetVisibleRows());\n\t\t\treturn 0;\n\t\tcase SCI_VCHOME:\n\t\t\tAutoCompleteMove(-5000);\n\t\t\treturn 0;\n\t\tcase SCI_LINEEND:\n\t\t\tAutoCompleteMove(5000);\n\t\t\treturn 0;\n\t\tcase SCI_DELETEBACK:\n\t\t\tDelCharBack(true);\n\t\t\tAutoCompleteCharacterDeleted();\n\t\t\tEnsureCaretVisible();\n\t\t\treturn 0;\n\t\tcase SCI_DELETEBACKNOTLINE:\n\t\t\tDelCharBack(false);\n\t\t\tAutoCompleteCharacterDeleted();\n\t\t\tEnsureCaretVisible();\n\t\t\treturn 0;\n\t\tcase SCI_TAB:\n\t\t\tAutoCompleteCompleted(0, SC_AC_TAB);\n\t\t\treturn 0;\n\t\tcase SCI_NEWLINE:\n\t\t\tAutoCompleteCompleted(0, SC_AC_NEWLINE);\n\t\t\treturn 0;\n\n\t\tdefault:\n\t\t\tAutoCompleteCancel();\n\t\t}\n\t}\n\n\tif (ct.inCallTipMode) {\n\t\tif (\n\t\t    (iMessage != SCI_CHARLEFT) &&\n\t\t    (iMessage != SCI_CHARLEFTEXTEND) &&\n\t\t    (iMessage != SCI_CHARRIGHT) &&\n\t\t    (iMessage != SCI_CHARRIGHTEXTEND) &&\n\t\t    (iMessage != SCI_EDITTOGGLEOVERTYPE) &&\n\t\t    (iMessage != SCI_DELETEBACK) &&\n\t\t    (iMessage != SCI_DELETEBACKNOTLINE)\n\t\t) {\n\t\t\tct.CallTipCancel();\n\t\t}\n\t\tif ((iMessage == SCI_DELETEBACK) || (iMessage == SCI_DELETEBACKNOTLINE)) {\n\t\t\tif (sel.MainCaret() <= ct.posStartCallTip) {\n\t\t\t\tct.CallTipCancel();\n\t\t\t}\n\t\t}\n\t}\n\treturn Editor::KeyCommand(iMessage);\n}\n\nvoid ScintillaBase::ListNotify(ListBoxEvent *plbe) {\n\tswitch (plbe->event) {\n\tcase ListBoxEvent::EventType::selectionChange:\n\t\tAutoCompleteSelection();\n\t\tbreak;\n\tcase ListBoxEvent::EventType::doubleClick:\n\t\tAutoCompleteCompleted(0, SC_AC_DOUBLECLICK);\n\t\tbreak;\n\t}\n}\n\nvoid ScintillaBase::AutoCompleteInsert(Sci::Position startPos, Sci::Position removeLen, const char *text, Sci::Position textLen) {\n\tUndoGroup ug(pdoc);\n\tif (multiAutoCMode == SC_MULTIAUTOC_ONCE) {\n\t\tpdoc->DeleteChars(startPos, removeLen);\n\t\tconst Sci::Position lengthInserted = pdoc->InsertString(startPos, text, textLen);\n\t\tSetEmptySelection(startPos + lengthInserted);\n\t} else {\n\t\t// SC_MULTIAUTOC_EACH\n\t\tfor (size_t r=0; r<sel.Count(); r++) {\n\t\t\tif (!RangeContainsProtected(sel.Range(r).Start().Position(),\n\t\t\t\tsel.Range(r).End().Position())) {\n\t\t\t\tSci::Position positionInsert = sel.Range(r).Start().Position();\n\t\t\t\tpositionInsert = RealizeVirtualSpace(positionInsert, sel.Range(r).caret.VirtualSpace());\n\t\t\t\tif (positionInsert - removeLen >= 0) {\n\t\t\t\t\tpositionInsert -= removeLen;\n\t\t\t\t\tpdoc->DeleteChars(positionInsert, removeLen);\n\t\t\t\t}\n\t\t\t\tconst Sci::Position lengthInserted = pdoc->InsertString(positionInsert, text, textLen);\n\t\t\t\tif (lengthInserted > 0) {\n\t\t\t\t\tsel.Range(r).caret.SetPosition(positionInsert + lengthInserted);\n\t\t\t\t\tsel.Range(r).anchor.SetPosition(positionInsert + lengthInserted);\n\t\t\t\t}\n\t\t\t\tsel.Range(r).ClearVirtualSpace();\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid ScintillaBase::AutoCompleteStart(Sci::Position lenEntered, const char *list) {\n\t//Platform::DebugPrintf(\"AutoComplete %s\\n\", list);\n\tct.CallTipCancel();\n\n\tif (ac.chooseSingle && (listType == 0)) {\n\t\tif (list && !strchr(list, ac.GetSeparator())) {\n\t\t\tconst char *typeSep = strchr(list, ac.GetTypesep());\n\t\t\tconst Sci::Position lenInsert = typeSep ?\n\t\t\t\t(typeSep-list) : strlen(list);\n\t\t\tif (ac.ignoreCase) {\n\t\t\t\t// May need to convert the case before invocation, so remove lenEntered characters\n\t\t\t\tAutoCompleteInsert(sel.MainCaret() - lenEntered, lenEntered, list, lenInsert);\n\t\t\t} else {\n\t\t\t\tAutoCompleteInsert(sel.MainCaret(), 0, list + lenEntered, lenInsert - lenEntered);\n\t\t\t}\n\t\t\tac.Cancel();\n\t\t\treturn;\n\t\t}\n\t}\n\tac.Start(wMain, idAutoComplete, sel.MainCaret(), PointMainCaret(),\n\t\t\t\tlenEntered, vs.lineHeight, IsUnicodeMode(), technology);\n\n\tconst PRectangle rcClient = GetClientRectangle();\n\tPoint pt = LocationFromPosition(sel.MainCaret() - lenEntered);\n\tPRectangle rcPopupBounds = wMain.GetMonitorRect(pt);\n\tif (rcPopupBounds.Height() == 0)\n\t\trcPopupBounds = rcClient;\n\n\tint heightLB = ac.heightLBDefault;\n\tint widthLB = ac.widthLBDefault;\n\tif (pt.x >= rcClient.right - widthLB) {\n\t\tHorizontalScrollTo(static_cast<int>(xOffset + pt.x - rcClient.right + widthLB));\n\t\tRedraw();\n\t\tpt = PointMainCaret();\n\t}\n\tif (wMargin.Created()) {\n\t\tconst Point ptOrigin = GetVisibleOriginInMain();\n\t\tpt.x += ptOrigin.x;\n\t\tpt.y += ptOrigin.y;\n\t}\n\tPRectangle rcac;\n\trcac.left = pt.x - ac.lb->CaretFromEdge();\n\tif (pt.y >= rcPopupBounds.bottom - heightLB &&  // Won't fit below.\n\t        pt.y >= (rcPopupBounds.bottom + rcPopupBounds.top) / 2) { // and there is more room above.\n\t\trcac.top = pt.y - heightLB;\n\t\tif (rcac.top < rcPopupBounds.top) {\n\t\t\theightLB -= static_cast<int>(rcPopupBounds.top - rcac.top);\n\t\t\trcac.top = rcPopupBounds.top;\n\t\t}\n\t} else {\n\t\trcac.top = pt.y + vs.lineHeight;\n\t}\n\trcac.right = rcac.left + widthLB;\n\trcac.bottom = static_cast<XYPOSITION>(std::min(static_cast<int>(rcac.top) + heightLB, static_cast<int>(rcPopupBounds.bottom)));\n\tac.lb->SetPositionRelative(rcac, &wMain);\n\tac.lb->SetFont(vs.styles[STYLE_DEFAULT].font);\n\tconst unsigned int aveCharWidth = static_cast<unsigned int>(vs.styles[STYLE_DEFAULT].aveCharWidth);\n\tac.lb->SetAverageCharWidth(aveCharWidth);\n\tac.lb->SetDelegate(this);\n\n\tac.SetList(list ? list : \"\");\n\n\t// Fiddle the position of the list so it is right next to the target and wide enough for all its strings\n\tPRectangle rcList = ac.lb->GetDesiredRect();\n\tconst int heightAlloced = static_cast<int>(rcList.bottom - rcList.top);\n\twidthLB = std::max(widthLB, static_cast<int>(rcList.right - rcList.left));\n\tif (maxListWidth != 0)\n\t\twidthLB = std::min(widthLB, static_cast<int>(aveCharWidth)*maxListWidth);\n\t// Make an allowance for large strings in list\n\trcList.left = pt.x - ac.lb->CaretFromEdge();\n\trcList.right = rcList.left + widthLB;\n\tif (((pt.y + vs.lineHeight) >= (rcPopupBounds.bottom - heightAlloced)) &&  // Won't fit below.\n\t        ((pt.y + vs.lineHeight / 2) >= (rcPopupBounds.bottom + rcPopupBounds.top) / 2)) { // and there is more room above.\n\t\trcList.top = pt.y - heightAlloced;\n\t} else {\n\t\trcList.top = pt.y + vs.lineHeight;\n\t}\n\trcList.bottom = rcList.top + heightAlloced;\n\tac.lb->SetPositionRelative(rcList, &wMain);\n\tac.Show(true);\n\tif (lenEntered != 0) {\n\t\tAutoCompleteMoveToCurrentWord();\n\t}\n}\n\nvoid ScintillaBase::AutoCompleteCancel() {\n\tif (ac.Active()) {\n\t\tSCNotification scn = {};\n\t\tscn.nmhdr.code = SCN_AUTOCCANCELLED;\n\t\tscn.wParam = 0;\n\t\tscn.listType = 0;\n\t\tNotifyParent(scn);\n\t}\n\tac.Cancel();\n}\n\nvoid ScintillaBase::AutoCompleteMove(int delta) {\n\tac.Move(delta);\n}\n\nvoid ScintillaBase::AutoCompleteMoveToCurrentWord() {\n\tstd::string wordCurrent = RangeText(ac.posStart - ac.startLen, sel.MainCaret());\n\tac.Select(wordCurrent.c_str());\n}\n\nvoid ScintillaBase::AutoCompleteSelection() {\n\tconst int item = ac.GetSelection();\n\tstd::string selected;\n\tif (item != -1) {\n\t\tselected = ac.GetValue(item);\n\t}\n\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_AUTOCSELECTIONCHANGE;\n\tscn.message = 0;\n\tscn.wParam = listType;\n\tscn.listType = listType;\n\tconst Sci::Position firstPos = ac.posStart - ac.startLen;\n\tscn.position = firstPos;\n\tscn.lParam = firstPos;\n\tscn.text = selected.c_str();\n\tNotifyParent(scn);\n}\n\nvoid ScintillaBase::AutoCompleteCharacterAdded(char ch) {\n\tif (ac.IsFillUpChar(ch)) {\n\t\tAutoCompleteCompleted(ch, SC_AC_FILLUP);\n\t} else if (ac.IsStopChar(ch)) {\n\t\tAutoCompleteCancel();\n\t} else {\n\t\tAutoCompleteMoveToCurrentWord();\n\t}\n}\n\nvoid ScintillaBase::AutoCompleteCharacterDeleted() {\n\tif (sel.MainCaret() < ac.posStart - ac.startLen) {\n\t\tAutoCompleteCancel();\n\t} else if (ac.cancelAtStartPos && (sel.MainCaret() <= ac.posStart)) {\n\t\tAutoCompleteCancel();\n\t} else {\n\t\tAutoCompleteMoveToCurrentWord();\n\t}\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_AUTOCCHARDELETED;\n\tscn.wParam = 0;\n\tscn.listType = 0;\n\tNotifyParent(scn);\n}\n\nvoid ScintillaBase::AutoCompleteCompleted(char ch, unsigned int completionMethod) {\n\tconst int item = ac.GetSelection();\n\tif (item == -1) {\n\t\tAutoCompleteCancel();\n\t\treturn;\n\t}\n\tconst std::string selected = ac.GetValue(item);\n\n\tac.Show(false);\n\n\tSCNotification scn = {};\n\tscn.nmhdr.code = listType > 0 ? SCN_USERLISTSELECTION : SCN_AUTOCSELECTION;\n\tscn.message = 0;\n\tscn.ch = ch;\n\tscn.listCompletionMethod = completionMethod;\n\tscn.wParam = listType;\n\tscn.listType = listType;\n\tconst Sci::Position firstPos = ac.posStart - ac.startLen;\n\tscn.position = firstPos;\n\tscn.lParam = firstPos;\n\tscn.text = selected.c_str();\n\tNotifyParent(scn);\n\n\tif (!ac.Active())\n\t\treturn;\n\tac.Cancel();\n\n\tif (listType > 0)\n\t\treturn;\n\n\tSci::Position endPos = sel.MainCaret();\n\tif (ac.dropRestOfWord)\n\t\tendPos = pdoc->ExtendWordSelect(endPos, 1, true);\n\tif (endPos < firstPos)\n\t\treturn;\n\tAutoCompleteInsert(firstPos, endPos - firstPos, selected.c_str(), selected.length());\n\tSetLastXChosen();\n\n\tscn.nmhdr.code = SCN_AUTOCCOMPLETED;\n\tNotifyParent(scn);\n\n}\n\nint ScintillaBase::AutoCompleteGetCurrent() const {\n\tif (!ac.Active())\n\t\treturn -1;\n\treturn ac.GetSelection();\n}\n\nint ScintillaBase::AutoCompleteGetCurrentText(char *buffer) const {\n\tif (ac.Active()) {\n\t\tconst int item = ac.GetSelection();\n\t\tif (item != -1) {\n\t\t\tconst std::string selected = ac.GetValue(item);\n\t\t\tif (buffer)\n\t\t\t\tmemcpy(buffer, selected.c_str(), selected.length()+1);\n\t\t\treturn static_cast<int>(selected.length());\n\t\t}\n\t}\n\tif (buffer)\n\t\t*buffer = '\\0';\n\treturn 0;\n}\n\nvoid ScintillaBase::CallTipShow(Point pt, const char *defn) {\n\tac.Cancel();\n\t// If container knows about STYLE_CALLTIP then use it in place of the\n\t// STYLE_DEFAULT for the face name, size and character set. Also use it\n\t// for the foreground and background colour.\n\tconst int ctStyle = ct.UseStyleCallTip() ? STYLE_CALLTIP : STYLE_DEFAULT;\n\tif (ct.UseStyleCallTip()) {\n\t\tct.SetForeBack(vs.styles[STYLE_CALLTIP].fore, vs.styles[STYLE_CALLTIP].back);\n\t}\n\tif (wMargin.Created()) {\n\t\tconst Point ptOrigin = GetVisibleOriginInMain();\n\t\tpt.x += ptOrigin.x;\n\t\tpt.y += ptOrigin.y;\n\t}\n\tPRectangle rc = ct.CallTipStart(sel.MainCaret(), pt,\n\t\tvs.lineHeight,\n\t\tdefn,\n\t\tvs.styles[ctStyle].fontName,\n\t\tvs.styles[ctStyle].sizeZoomed,\n\t\tCodePage(),\n\t\tvs.styles[ctStyle].characterSet,\n\t\tvs.technology,\n\t\twMain);\n\t// If the call-tip window would be out of the client\n\t// space\n\tconst PRectangle rcClient = GetClientRectangle();\n\tconst int offset = vs.lineHeight + static_cast<int>(rc.Height());\n\t// adjust so it displays above the text.\n\tif (rc.bottom > rcClient.bottom && rc.Height() < rcClient.Height()) {\n\t\trc.top -= offset;\n\t\trc.bottom -= offset;\n\t}\n\t// adjust so it displays below the text.\n\tif (rc.top < rcClient.top && rc.Height() < rcClient.Height()) {\n\t\trc.top += offset;\n\t\trc.bottom += offset;\n\t}\n\t// Now display the window.\n\tCreateCallTipWindow(rc);\n\tct.wCallTip.SetPositionRelative(rc, &wMain);\n\tct.wCallTip.Show();\n}\n\nvoid ScintillaBase::CallTipClick() {\n\tSCNotification scn = {};\n\tscn.nmhdr.code = SCN_CALLTIPCLICK;\n\tscn.position = ct.clickPlace;\n\tNotifyParent(scn);\n}\n\nbool ScintillaBase::ShouldDisplayPopup(Point ptInWindowCoordinates) const {\n\treturn (displayPopupMenu == SC_POPUP_ALL ||\n\t\t(displayPopupMenu == SC_POPUP_TEXT && !PointInSelMargin(ptInWindowCoordinates)));\n}\n\nvoid ScintillaBase::ContextMenu(Point pt) {\n\tif (displayPopupMenu) {\n\t\tconst bool writable = !WndProc(SCI_GETREADONLY, 0, 0);\n\t\tpopup.CreatePopUp();\n\t\tAddToPopUp(\"Undo\", idcmdUndo, writable && pdoc->CanUndo());\n\t\tAddToPopUp(\"Redo\", idcmdRedo, writable && pdoc->CanRedo());\n\t\tAddToPopUp(\"\");\n\t\tAddToPopUp(\"Cut\", idcmdCut, writable && !sel.Empty());\n\t\tAddToPopUp(\"Copy\", idcmdCopy, !sel.Empty());\n\t\tAddToPopUp(\"Paste\", idcmdPaste, writable && WndProc(SCI_CANPASTE, 0, 0));\n\t\tAddToPopUp(\"Delete\", idcmdDelete, writable && !sel.Empty());\n\t\tAddToPopUp(\"\");\n\t\tAddToPopUp(\"Select All\", idcmdSelectAll);\n\t\tpopup.Show(pt, wMain);\n\t}\n}\n\nvoid ScintillaBase::CancelModes() {\n\tAutoCompleteCancel();\n\tct.CallTipCancel();\n\tEditor::CancelModes();\n}\n\nvoid ScintillaBase::ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers) {\n\tCancelModes();\n\tEditor::ButtonDownWithModifiers(pt, curTime, modifiers);\n}\n\nvoid ScintillaBase::RightButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers) {\n\tCancelModes();\n\tEditor::RightButtonDownWithModifiers(pt, curTime, modifiers);\n}\n\n#ifdef SCI_LEXER\n\nnamespace Scintilla {\n\nclass LexState : public LexInterface {\n\tconst LexerModule *lexCurrent;\n\tvoid SetLexerModule(const LexerModule *lex);\n\tPropSetSimple props;\n\tint interfaceVersion;\npublic:\n\tint lexLanguage;\n\n\texplicit LexState(Document *pdoc_);\n\t// Deleted so LexState objects can not be copied.\n\tLexState(const LexState &) = delete;\n\tLexState(LexState &&) = delete;\n\tLexState &operator=(const LexState &) = delete;\n\tLexState &operator=(LexState &&) = delete;\n\t~LexState() override;\n\tvoid SetLexer(uptr_t wParam);\n\tvoid SetLexerLanguage(const char *languageName);\n\tconst char *DescribeWordListSets();\n\tvoid SetWordList(int n, const char *wl);\n\tconst char *GetName() const;\n\tvoid *PrivateCall(int operation, void *pointer);\n\tconst char *PropertyNames();\n\tint PropertyType(const char *name);\n\tconst char *DescribeProperty(const char *name);\n\tvoid PropSet(const char *key, const char *val);\n\tconst char *PropGet(const char *key) const;\n\tint PropGetInt(const char *key, int defaultValue=0) const;\n\tint PropGetExpanded(const char *key, char *result) const;\n\n\tint LineEndTypesSupported() override;\n\tint AllocateSubStyles(int styleBase, int numberStyles);\n\tint SubStylesStart(int styleBase);\n\tint SubStylesLength(int styleBase);\n\tint StyleFromSubStyle(int subStyle);\n\tint PrimaryStyleFromStyle(int style);\n\tvoid FreeSubStyles();\n\tvoid SetIdentifiers(int style, const char *identifiers);\n\tint DistanceToSecondaryStyles();\n\tconst char *GetSubStyleBases();\n\tint NamedStyles();\n\tconst char *NameOfStyle(int style);\n\tconst char *TagsOfStyle(int style);\n\tconst char *DescriptionOfStyle(int style);\n};\n\n}\n\nLexState::LexState(Document *pdoc_) : LexInterface(pdoc_) {\n\tlexCurrent = nullptr;\n\tperformingStyle = false;\n\tinterfaceVersion = lvOriginal;\n\tlexLanguage = SCLEX_CONTAINER;\n}\n\nLexState::~LexState() {\n\tif (instance) {\n\t\tinstance->Release();\n\t\tinstance = nullptr;\n\t}\n}\n\nLexState *ScintillaBase::DocumentLexState() {\n\tif (!pdoc->GetLexInterface()) {\n\t\tpdoc->SetLexInterface(new LexState(pdoc));\n\t}\n\treturn static_cast<LexState *>(pdoc->GetLexInterface());\n}\n\nvoid LexState::SetLexerModule(const LexerModule *lex) {\n\tif (lex != lexCurrent) {\n\t\tif (instance) {\n\t\t\tinstance->Release();\n\t\t\tinstance = nullptr;\n\t\t}\n\t\tinterfaceVersion = lvOriginal;\n\t\tlexCurrent = lex;\n\t\tif (lexCurrent) {\n\t\t\tinstance = lexCurrent->Create();\n\t\t\tinterfaceVersion = instance->Version();\n\t\t}\n\t\tpdoc->LexerChanged();\n\t}\n}\n\nvoid LexState::SetLexer(uptr_t wParam) {\n\tlexLanguage = static_cast<int>(wParam);\n\tif (lexLanguage == SCLEX_CONTAINER) {\n\t\tSetLexerModule(nullptr);\n\t} else {\n\t\tconst LexerModule *lex = Catalogue::Find(lexLanguage);\n\t\tif (!lex)\n\t\t\tlex = Catalogue::Find(SCLEX_NULL);\n\t\tSetLexerModule(lex);\n\t}\n}\n\nvoid LexState::SetLexerLanguage(const char *languageName) {\n\tconst LexerModule *lex = Catalogue::Find(languageName);\n\tif (!lex)\n\t\tlex = Catalogue::Find(SCLEX_NULL);\n\tif (lex)\n\t\tlexLanguage = lex->GetLanguage();\n\tSetLexerModule(lex);\n}\n\nconst char *LexState::DescribeWordListSets() {\n\tif (instance) {\n\t\treturn instance->DescribeWordListSets();\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\nvoid LexState::SetWordList(int n, const char *wl) {\n\tif (instance) {\n\t\tconst Sci_Position firstModification = instance->WordListSet(n, wl);\n\t\tif (firstModification >= 0) {\n\t\t\tpdoc->ModifiedAt(firstModification);\n\t\t}\n\t}\n}\n\nconst char *LexState::GetName() const {\n\treturn lexCurrent ? lexCurrent->languageName : \"\";\n}\n\nvoid *LexState::PrivateCall(int operation, void *pointer) {\n\tif (pdoc && instance) {\n\t\treturn instance->PrivateCall(operation, pointer);\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\nconst char *LexState::PropertyNames() {\n\tif (instance) {\n\t\treturn instance->PropertyNames();\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\nint LexState::PropertyType(const char *name) {\n\tif (instance) {\n\t\treturn instance->PropertyType(name);\n\t} else {\n\t\treturn SC_TYPE_BOOLEAN;\n\t}\n}\n\nconst char *LexState::DescribeProperty(const char *name) {\n\tif (instance) {\n\t\treturn instance->DescribeProperty(name);\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\nvoid LexState::PropSet(const char *key, const char *val) {\n\tprops.Set(key, val, strlen(key), strlen(val));\n\tif (instance) {\n\t\tconst Sci_Position firstModification = instance->PropertySet(key, val);\n\t\tif (firstModification >= 0) {\n\t\t\tpdoc->ModifiedAt(firstModification);\n\t\t}\n\t}\n}\n\nconst char *LexState::PropGet(const char *key) const {\n\treturn props.Get(key);\n}\n\nint LexState::PropGetInt(const char *key, int defaultValue) const {\n\treturn props.GetInt(key, defaultValue);\n}\n\nint LexState::PropGetExpanded(const char *key, char *result) const {\n\treturn props.GetExpanded(key, result);\n}\n\nint LexState::LineEndTypesSupported() {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->LineEndTypesSupported();\n\t}\n\treturn 0;\n}\n\nint LexState::AllocateSubStyles(int styleBase, int numberStyles) {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->AllocateSubStyles(styleBase, numberStyles);\n\t}\n\treturn -1;\n}\n\nint LexState::SubStylesStart(int styleBase) {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->SubStylesStart(styleBase);\n\t}\n\treturn -1;\n}\n\nint LexState::SubStylesLength(int styleBase) {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->SubStylesLength(styleBase);\n\t}\n\treturn 0;\n}\n\nint LexState::StyleFromSubStyle(int subStyle) {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->StyleFromSubStyle(subStyle);\n\t}\n\treturn 0;\n}\n\nint LexState::PrimaryStyleFromStyle(int style) {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->PrimaryStyleFromStyle(style);\n\t}\n\treturn 0;\n}\n\nvoid LexState::FreeSubStyles() {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\tstatic_cast<ILexerWithSubStyles *>(instance)->FreeSubStyles();\n\t}\n}\n\nvoid LexState::SetIdentifiers(int style, const char *identifiers) {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\tstatic_cast<ILexerWithSubStyles *>(instance)->SetIdentifiers(style, identifiers);\n\t\tpdoc->ModifiedAt(0);\n\t}\n}\n\nint LexState::DistanceToSecondaryStyles() {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->DistanceToSecondaryStyles();\n\t}\n\treturn 0;\n}\n\nconst char *LexState::GetSubStyleBases() {\n\tif (instance && (interfaceVersion >= lvSubStyles)) {\n\t\treturn static_cast<ILexerWithSubStyles *>(instance)->GetSubStyleBases();\n\t}\n\treturn \"\";\n}\n\nint LexState::NamedStyles() {\n\tif (instance && (interfaceVersion >= lvMetaData)) {\n\t\treturn static_cast<ILexerWithMetaData *>(instance)->NamedStyles();\n\t} else {\n\t\treturn -1;\n\t}\n}\n\nconst char *LexState::NameOfStyle(int style) {\n\tif (instance && (interfaceVersion >= lvMetaData)) {\n\t\treturn static_cast<ILexerWithMetaData *>(instance)->NameOfStyle(style);\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\nconst char *LexState::TagsOfStyle(int style) {\n\tif (instance && (interfaceVersion >= lvMetaData)) {\n\t\treturn static_cast<ILexerWithMetaData *>(instance)->TagsOfStyle(style);\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\nconst char *LexState::DescriptionOfStyle(int style) {\n\tif (instance && (interfaceVersion >= lvMetaData)) {\n\t\treturn static_cast<ILexerWithMetaData *>(instance)->DescriptionOfStyle(style);\n\t} else {\n\t\treturn nullptr;\n\t}\n}\n\n#endif\n\nvoid ScintillaBase::NotifyStyleToNeeded(Sci::Position endStyleNeeded) {\n#ifdef SCI_LEXER\n\tif (DocumentLexState()->lexLanguage != SCLEX_CONTAINER) {\n\t\tconst Sci::Line lineEndStyled =\n\t\t\tpdoc->SciLineFromPosition(pdoc->GetEndStyled());\n\t\tconst Sci::Position endStyled =\n\t\t\tpdoc->LineStart(lineEndStyled);\n\t\tDocumentLexState()->Colourise(endStyled, endStyleNeeded);\n\t\treturn;\n\t}\n#endif\n\tEditor::NotifyStyleToNeeded(endStyleNeeded);\n}\n\nvoid ScintillaBase::NotifyLexerChanged(Document *, void *) {\n#ifdef SCI_LEXER\n\tvs.EnsureStyle(0xff);\n#endif\n}\n\nsptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {\n\tswitch (iMessage) {\n\tcase SCI_AUTOCSHOW:\n\t\tlistType = 0;\n\t\tAutoCompleteStart(static_cast<Sci::Position>(wParam), ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCCANCEL:\n\t\tac.Cancel();\n\t\tbreak;\n\n\tcase SCI_AUTOCACTIVE:\n\t\treturn ac.Active();\n\n\tcase SCI_AUTOCPOSSTART:\n\t\treturn ac.posStart;\n\n\tcase SCI_AUTOCCOMPLETE:\n\t\tAutoCompleteCompleted(0, SC_AC_COMMAND);\n\t\tbreak;\n\n\tcase SCI_AUTOCSETSEPARATOR:\n\t\tac.SetSeparator(static_cast<char>(wParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCGETSEPARATOR:\n\t\treturn ac.GetSeparator();\n\n\tcase SCI_AUTOCSTOPS:\n\t\tac.SetStopChars(ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCSELECT:\n\t\tac.Select(ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCGETCURRENT:\n\t\treturn AutoCompleteGetCurrent();\n\n\tcase SCI_AUTOCGETCURRENTTEXT:\n\t\treturn AutoCompleteGetCurrentText(CharPtrFromSPtr(lParam));\n\n\tcase SCI_AUTOCSETCANCELATSTART:\n\t\tac.cancelAtStartPos = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_AUTOCGETCANCELATSTART:\n\t\treturn ac.cancelAtStartPos;\n\n\tcase SCI_AUTOCSETFILLUPS:\n\t\tac.SetFillUpChars(ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCSETCHOOSESINGLE:\n\t\tac.chooseSingle = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_AUTOCGETCHOOSESINGLE:\n\t\treturn ac.chooseSingle;\n\n\tcase SCI_AUTOCSETIGNORECASE:\n\t\tac.ignoreCase = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_AUTOCGETIGNORECASE:\n\t\treturn ac.ignoreCase;\n\n\tcase SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR:\n\t\tac.ignoreCaseBehaviour = static_cast<unsigned int>(wParam);\n\t\tbreak;\n\n\tcase SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR:\n\t\treturn ac.ignoreCaseBehaviour;\n\n\tcase SCI_AUTOCSETMULTI:\n\t\tmultiAutoCMode = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_AUTOCGETMULTI:\n\t\treturn multiAutoCMode;\n\n\tcase SCI_AUTOCSETORDER:\n\t\tac.autoSort = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_AUTOCGETORDER:\n\t\treturn ac.autoSort;\n\n\tcase SCI_USERLISTSHOW:\n\t\tlistType = static_cast<int>(wParam);\n\t\tAutoCompleteStart(0, ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCSETAUTOHIDE:\n\t\tac.autoHide = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_AUTOCGETAUTOHIDE:\n\t\treturn ac.autoHide;\n\n\tcase SCI_AUTOCSETDROPRESTOFWORD:\n\t\tac.dropRestOfWord = wParam != 0;\n\t\tbreak;\n\n\tcase SCI_AUTOCGETDROPRESTOFWORD:\n\t\treturn ac.dropRestOfWord;\n\n\tcase SCI_AUTOCSETMAXHEIGHT:\n\t\tac.lb->SetVisibleRows(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCGETMAXHEIGHT:\n\t\treturn ac.lb->GetVisibleRows();\n\n\tcase SCI_AUTOCSETMAXWIDTH:\n\t\tmaxListWidth = static_cast<int>(wParam);\n\t\tbreak;\n\n\tcase SCI_AUTOCGETMAXWIDTH:\n\t\treturn maxListWidth;\n\n\tcase SCI_REGISTERIMAGE:\n\t\tac.lb->RegisterImage(static_cast<int>(wParam), ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_REGISTERRGBAIMAGE:\n\t\tac.lb->RegisterRGBAImage(static_cast<int>(wParam), static_cast<int>(sizeRGBAImage.x), static_cast<int>(sizeRGBAImage.y),\n\t\t\tConstUCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_CLEARREGISTEREDIMAGES:\n\t\tac.lb->ClearRegisteredImages();\n\t\tbreak;\n\n\tcase SCI_AUTOCSETTYPESEPARATOR:\n\t\tac.SetTypesep(static_cast<char>(wParam));\n\t\tbreak;\n\n\tcase SCI_AUTOCGETTYPESEPARATOR:\n\t\treturn ac.GetTypesep();\n\n\tcase SCI_CALLTIPSHOW:\n\t\tCallTipShow(LocationFromPosition(static_cast<Sci::Position>(wParam)),\n\t\t\tConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_CALLTIPCANCEL:\n\t\tct.CallTipCancel();\n\t\tbreak;\n\n\tcase SCI_CALLTIPACTIVE:\n\t\treturn ct.inCallTipMode;\n\n\tcase SCI_CALLTIPPOSSTART:\n\t\treturn ct.posStartCallTip;\n\n\tcase SCI_CALLTIPSETPOSSTART:\n\t\tct.posStartCallTip = static_cast<Sci::Position>(wParam);\n\t\tbreak;\n\n\tcase SCI_CALLTIPSETHLT:\n\t\tct.SetHighlight(static_cast<int>(wParam), static_cast<int>(lParam));\n\t\tbreak;\n\n\tcase SCI_CALLTIPSETBACK:\n\t\tct.colourBG = ColourDesired(static_cast<int>(wParam));\n\t\tvs.styles[STYLE_CALLTIP].back = ct.colourBG;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_CALLTIPSETFORE:\n\t\tct.colourUnSel = ColourDesired(static_cast<int>(wParam));\n\t\tvs.styles[STYLE_CALLTIP].fore = ct.colourUnSel;\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_CALLTIPSETFOREHLT:\n\t\tct.colourSel = ColourDesired(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_CALLTIPUSESTYLE:\n\t\tct.SetTabSize(static_cast<int>(wParam));\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_CALLTIPSETPOSITION:\n\t\tct.SetPosition(wParam != 0);\n\t\tInvalidateStyleRedraw();\n\t\tbreak;\n\n\tcase SCI_USEPOPUP:\n\t\tdisplayPopupMenu = static_cast<int>(wParam);\n\t\tbreak;\n\n#ifdef SCI_LEXER\n\tcase SCI_SETLEXER:\n\t\tDocumentLexState()->SetLexer(static_cast<int>(wParam));\n\t\tbreak;\n\n\tcase SCI_GETLEXER:\n\t\treturn DocumentLexState()->lexLanguage;\n\n\tcase SCI_COLOURISE:\n\t\tif (DocumentLexState()->lexLanguage == SCLEX_CONTAINER) {\n\t\t\tpdoc->ModifiedAt(static_cast<Sci::Position>(wParam));\n\t\t\tNotifyStyleToNeeded((lParam == -1) ? pdoc->Length() : lParam);\n\t\t} else {\n\t\t\tDocumentLexState()->Colourise(static_cast<Sci::Position>(wParam), lParam);\n\t\t}\n\t\tRedraw();\n\t\tbreak;\n\n\tcase SCI_SETPROPERTY:\n\t\tDocumentLexState()->PropSet(ConstCharPtrFromUPtr(wParam),\n\t\t          ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_GETPROPERTY:\n\t\treturn StringResult(lParam, DocumentLexState()->PropGet(ConstCharPtrFromUPtr(wParam)));\n\n\tcase SCI_GETPROPERTYEXPANDED:\n\t\treturn DocumentLexState()->PropGetExpanded(ConstCharPtrFromUPtr(wParam),\n\t\t\tCharPtrFromSPtr(lParam));\n\n\tcase SCI_GETPROPERTYINT:\n\t\treturn DocumentLexState()->PropGetInt(ConstCharPtrFromUPtr(wParam), static_cast<int>(lParam));\n\n\tcase SCI_SETKEYWORDS:\n\t\tDocumentLexState()->SetWordList(static_cast<int>(wParam), ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_SETLEXERLANGUAGE:\n\t\tDocumentLexState()->SetLexerLanguage(ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_GETLEXERLANGUAGE:\n\t\treturn StringResult(lParam, DocumentLexState()->GetName());\n\n\tcase SCI_PRIVATELEXERCALL:\n\t\treturn reinterpret_cast<sptr_t>(\n\t\t\tDocumentLexState()->PrivateCall(static_cast<int>(wParam), reinterpret_cast<void *>(lParam)));\n\n#ifdef INCLUDE_DEPRECATED_FEATURES\n\tcase SCI_GETSTYLEBITSNEEDED:\n\t\treturn 8;\n#endif\n\n\tcase SCI_PROPERTYNAMES:\n\t\treturn StringResult(lParam, DocumentLexState()->PropertyNames());\n\n\tcase SCI_PROPERTYTYPE:\n\t\treturn DocumentLexState()->PropertyType(ConstCharPtrFromUPtr(wParam));\n\n\tcase SCI_DESCRIBEPROPERTY:\n\t\treturn StringResult(lParam,\n\t\t\t\t    DocumentLexState()->DescribeProperty(ConstCharPtrFromUPtr(wParam)));\n\n\tcase SCI_DESCRIBEKEYWORDSETS:\n\t\treturn StringResult(lParam, DocumentLexState()->DescribeWordListSets());\n\n\tcase SCI_GETLINEENDTYPESSUPPORTED:\n\t\treturn DocumentLexState()->LineEndTypesSupported();\n\n\tcase SCI_ALLOCATESUBSTYLES:\n\t\treturn DocumentLexState()->AllocateSubStyles(static_cast<int>(wParam), static_cast<int>(lParam));\n\n\tcase SCI_GETSUBSTYLESSTART:\n\t\treturn DocumentLexState()->SubStylesStart(static_cast<int>(wParam));\n\n\tcase SCI_GETSUBSTYLESLENGTH:\n\t\treturn DocumentLexState()->SubStylesLength(static_cast<int>(wParam));\n\n\tcase SCI_GETSTYLEFROMSUBSTYLE:\n\t\treturn DocumentLexState()->StyleFromSubStyle(static_cast<int>(wParam));\n\n\tcase SCI_GETPRIMARYSTYLEFROMSTYLE:\n\t\treturn DocumentLexState()->PrimaryStyleFromStyle(static_cast<int>(wParam));\n\n\tcase SCI_FREESUBSTYLES:\n\t\tDocumentLexState()->FreeSubStyles();\n\t\tbreak;\n\n\tcase SCI_SETIDENTIFIERS:\n\t\tDocumentLexState()->SetIdentifiers(static_cast<int>(wParam),\n\t\t\t\t\t\t   ConstCharPtrFromSPtr(lParam));\n\t\tbreak;\n\n\tcase SCI_DISTANCETOSECONDARYSTYLES:\n\t\treturn DocumentLexState()->DistanceToSecondaryStyles();\n\n\tcase SCI_GETSUBSTYLEBASES:\n\t\treturn StringResult(lParam, DocumentLexState()->GetSubStyleBases());\n\n\tcase SCI_GETNAMEDSTYLES:\n\t\treturn DocumentLexState()->NamedStyles();\n\n\tcase SCI_NAMEOFSTYLE:\n\t\treturn StringResult(lParam, DocumentLexState()->\n\t\t\t\t    NameOfStyle(static_cast<int>(wParam)));\n\n\tcase SCI_TAGSOFSTYLE:\n\t\treturn StringResult(lParam, DocumentLexState()->\n\t\t\t\t    TagsOfStyle(static_cast<int>(wParam)));\n\n\tcase SCI_DESCRIPTIONOFSTYLE:\n\t\treturn StringResult(lParam, DocumentLexState()->\n\t\t\t\t    DescriptionOfStyle(static_cast<int>(wParam)));\n\n#endif\n\n\tdefault:\n\t\treturn Editor::WndProc(iMessage, wParam, lParam);\n\t}\n\treturn 0;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/ScintillaBase.h",
    "content": "// Scintilla source code edit control\n/** @file ScintillaBase.h\n ** Defines an enhanced subclass of Editor with calltips, autocomplete and context menu.\n **/\n// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SCINTILLABASE_H\n#define SCINTILLABASE_H\n\n#define CCPAD_\n\nnamespace Scintilla {\n\n#ifdef SCI_LEXER\nclass LexState;\n#endif\n\n/**\n */\nclass ScintillaBase : public Editor, IListBoxDelegate {\nprotected:\n\t/** Enumeration of commands and child windows. */\n\tenum {\n\t\tidCallTip=1,\n\t\tidAutoComplete=2,\n\n\t\tidcmdUndo=10,\n\t\tidcmdRedo=11,\n\t\tidcmdCut=12,\n\t\tidcmdCopy=13,\n\t\tidcmdPaste=14,\n\t\tidcmdDelete=15,\n\t\tidcmdSelectAll=16\n\t};\n\n\tenum { maxLenInputIME = 200 };\n\n\tint displayPopupMenu;\n\tMenu popup;\n\tAutoComplete ac;\n\n\tCallTip ct;\n\n\tint listType;\t\t\t///< 0 is an autocomplete list\n\tint maxListWidth;\t\t/// Maximum width of list, in average character widths\n\tint multiAutoCMode; /// Mode for autocompleting when multiple selections are present\n\n#ifdef SCI_LEXER\n\tLexState *DocumentLexState();\n\tvoid SetLexer(uptr_t wParam);\n\tvoid SetLexerLanguage(const char *languageName);\n\tvoid Colourise(int start, int end);\n#endif\n\n\tScintillaBase();\n\t// Deleted so ScintillaBase objects can not be copied.\n\tScintillaBase(const ScintillaBase &) = delete;\n\tScintillaBase(ScintillaBase &&) = delete;\n\tScintillaBase &operator=(const ScintillaBase &) = delete;\n\tScintillaBase &operator=(ScintillaBase &&) = delete;\n\t~ScintillaBase() override;\n\tvoid Initialise() override {}\n\tvoid Finalise() override;\n\n\tvoid AddCharUTF(const char *s, unsigned int len, bool treatAsDBCS=false) override;\n\tvoid Command(int cmdId);\n\tvoid CancelModes() override;\n\tint KeyCommand(unsigned int iMessage) override;\n\n\tvoid AutoCompleteInsert(Sci::Position startPos, Sci::Position removeLen, const char *text, Sci::Position textLen);\n\tvoid AutoCompleteStart(Sci::Position lenEntered, const char *list);\n\tvoid AutoCompleteCancel();\n\tvoid AutoCompleteMove(int delta);\n\tint AutoCompleteGetCurrent() const;\n\tint AutoCompleteGetCurrentText(char *buffer) const;\n\tvoid AutoCompleteCharacterAdded(char ch);\n\tvoid AutoCompleteCharacterDeleted();\n\tvoid AutoCompleteCompleted(char ch, unsigned int completionMethod);\n\tvoid AutoCompleteMoveToCurrentWord();\n\tvoid AutoCompleteSelection();\n\tvoid ListNotify(ListBoxEvent *plbe) override;\n\n\tvoid CallTipClick();\n\tvoid CallTipShow(Point pt, const char *defn);\n\tvirtual void CreateCallTipWindow(PRectangle rc) = 0;\n\n\tvirtual void AddToPopUp(const char *label, int cmd=0, bool enabled=true) = 0;\n\tbool ShouldDisplayPopup(Point ptInWindowCoordinates) const;\n\tvoid ContextMenu(Point pt);\n\n\tvoid ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers) override;\n\tvoid RightButtonDownWithModifiers(Point pt, unsigned int curTime, int modifiers) override;\n\n\tvoid NotifyStyleToNeeded(Sci::Position endStyleNeeded) override;\n\tvoid NotifyLexerChanged(Document *doc, void *userData) override;\n\npublic:\n\t// Public so scintilla_send_message can use it\n\tsptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) override;\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Selection.cpp",
    "content": "// Scintilla source code edit control\n/** @file Selection.cxx\n ** Classes maintaining the selection.\n **/\n// Copyright 2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cstdlib>\n\n#include <stdexcept>\n#include <vector>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n\n#include \"Position.h\"\n#include \"Selection.h\"\n\nusing namespace Scintilla;\n\nvoid SelectionPosition::MoveForInsertDelete(bool insertion, Sci::Position startChange, Sci::Position length) {\n\tif (insertion) {\n\t\tif (position == startChange) {\n\t\t\tconst Sci::Position virtualLengthRemove = std::min(length, virtualSpace);\n\t\t\tvirtualSpace -= virtualLengthRemove;\n\t\t\tposition += virtualLengthRemove;\n\t\t} else if (position > startChange) {\n\t\t\tposition += length;\n\t\t}\n\t} else {\n\t\tif (position == startChange) {\n\t\t\tvirtualSpace = 0;\n\t\t}\n\t\tif (position > startChange) {\n\t\t\tconst Sci::Position endDeletion = startChange + length;\n\t\t\tif (position > endDeletion) {\n\t\t\t\tposition -= length;\n\t\t\t} else {\n\t\t\t\tposition = startChange;\n\t\t\t\tvirtualSpace = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nbool SelectionPosition::operator <(const SelectionPosition &other) const {\n\tif (position == other.position)\n\t\treturn virtualSpace < other.virtualSpace;\n\telse\n\t\treturn position < other.position;\n}\n\nbool SelectionPosition::operator >(const SelectionPosition &other) const {\n\tif (position == other.position)\n\t\treturn virtualSpace > other.virtualSpace;\n\telse\n\t\treturn position > other.position;\n}\n\nbool SelectionPosition::operator <=(const SelectionPosition &other) const {\n\tif (position == other.position && virtualSpace == other.virtualSpace)\n\t\treturn true;\n\telse\n\t\treturn other > *this;\n}\n\nbool SelectionPosition::operator >=(const SelectionPosition &other) const {\n\tif (position == other.position && virtualSpace == other.virtualSpace)\n\t\treturn true;\n\telse\n\t\treturn *this > other;\n}\n\nSci::Position SelectionRange::Length() const {\n\tif (anchor > caret) {\n\t\treturn anchor.Position() - caret.Position();\n\t} else {\n\t\treturn caret.Position() - anchor.Position();\n\t}\n}\n\nvoid SelectionRange::MoveForInsertDelete(bool insertion, Sci::Position startChange, Sci::Position length) {\n\tcaret.MoveForInsertDelete(insertion, startChange, length);\n\tanchor.MoveForInsertDelete(insertion, startChange, length);\n}\n\nbool SelectionRange::Contains(Sci::Position pos) const {\n\tif (anchor > caret)\n\t\treturn (pos >= caret.Position()) && (pos <= anchor.Position());\n\telse\n\t\treturn (pos >= anchor.Position()) && (pos <= caret.Position());\n}\n\nbool SelectionRange::Contains(SelectionPosition sp) const {\n\tif (anchor > caret)\n\t\treturn (sp >= caret) && (sp <= anchor);\n\telse\n\t\treturn (sp >= anchor) && (sp <= caret);\n}\n\nbool SelectionRange::ContainsCharacter(Sci::Position posCharacter) const {\n\tif (anchor > caret)\n\t\treturn (posCharacter >= caret.Position()) && (posCharacter < anchor.Position());\n\telse\n\t\treturn (posCharacter >= anchor.Position()) && (posCharacter < caret.Position());\n}\n\nSelectionSegment SelectionRange::Intersect(SelectionSegment check) const {\n\tconst SelectionSegment inOrder(caret, anchor);\n\tif ((inOrder.start <= check.end) || (inOrder.end >= check.start)) {\n\t\tSelectionSegment portion = check;\n\t\tif (portion.start < inOrder.start)\n\t\t\tportion.start = inOrder.start;\n\t\tif (portion.end > inOrder.end)\n\t\t\tportion.end = inOrder.end;\n\t\tif (portion.start > portion.end)\n\t\t\treturn SelectionSegment();\n\t\telse\n\t\t\treturn portion;\n\t} else {\n\t\treturn SelectionSegment();\n\t}\n}\n\nvoid SelectionRange::Swap() {\n\tstd::swap(caret, anchor);\n}\n\nbool SelectionRange::Trim(SelectionRange range) {\n\tconst SelectionPosition startRange = range.Start();\n\tconst SelectionPosition endRange = range.End();\n\tSelectionPosition start = Start();\n\tSelectionPosition end = End();\n\tPLATFORM_ASSERT(start <= end);\n\tPLATFORM_ASSERT(startRange <= endRange);\n\tif ((startRange <= end) && (endRange >= start)) {\n\t\tif ((start > startRange) && (end < endRange)) {\n\t\t\t// Completely covered by range -> empty at start\n\t\t\tend = start;\n\t\t} else if ((start < startRange) && (end > endRange)) {\n\t\t\t// Completely covers range -> empty at start\n\t\t\tend = start;\n\t\t} else if (start <= startRange) {\n\t\t\t// Trim end\n\t\t\tend = startRange;\n\t\t} else { //\n\t\t\tPLATFORM_ASSERT(end >= endRange);\n\t\t\t// Trim start\n\t\t\tstart = endRange;\n\t\t}\n\t\tif (anchor > caret) {\n\t\t\tcaret = start;\n\t\t\tanchor = end;\n\t\t} else {\n\t\t\tanchor = start;\n\t\t\tcaret = end;\n\t\t}\n\t\treturn Empty();\n\t} else {\n\t\treturn false;\n\t}\n}\n\n// If range is all virtual collapse to start of virtual space\nvoid SelectionRange::MinimizeVirtualSpace() {\n\tif (caret.Position() == anchor.Position()) {\n\t\tSci::Position virtualSpace = caret.VirtualSpace();\n\t\tif (virtualSpace > anchor.VirtualSpace())\n\t\t\tvirtualSpace = anchor.VirtualSpace();\n\t\tcaret.SetVirtualSpace(virtualSpace);\n\t\tanchor.SetVirtualSpace(virtualSpace);\n\t}\n}\n\nSelection::Selection() : mainRange(0), moveExtends(false), tentativeMain(false), selType(selStream) {\n\tAddSelection(SelectionRange(SelectionPosition(0)));\n}\n\nSelection::~Selection() {\n}\n\nbool Selection::IsRectangular() const {\n\treturn (selType == selRectangle) || (selType == selThin);\n}\n\nSci::Position Selection::MainCaret() const {\n\treturn ranges[mainRange].caret.Position();\n}\n\nSci::Position Selection::MainAnchor() const {\n\treturn ranges[mainRange].anchor.Position();\n}\n\nSelectionRange &Selection::Rectangular() {\n\treturn rangeRectangular;\n}\n\nSelectionSegment Selection::Limits() const {\n\tif (ranges.empty()) {\n\t\treturn SelectionSegment();\n\t} else {\n\t\tSelectionSegment sr(ranges[0].anchor, ranges[0].caret);\n\t\tfor (size_t i=1; i<ranges.size(); i++) {\n\t\t\tsr.Extend(ranges[i].anchor);\n\t\t\tsr.Extend(ranges[i].caret);\n\t\t}\n\t\treturn sr;\n\t}\n}\n\nSelectionSegment Selection::LimitsForRectangularElseMain() const {\n\tif (IsRectangular()) {\n\t\treturn Limits();\n\t} else {\n\t\treturn SelectionSegment(ranges[mainRange].caret, ranges[mainRange].anchor);\n\t}\n}\n\nsize_t Selection::Count() const {\n\treturn ranges.size();\n}\n\nsize_t Selection::Main() const {\n\treturn mainRange;\n}\n\nvoid Selection::SetMain(size_t r) {\n\tPLATFORM_ASSERT(r < ranges.size());\n\tmainRange = r;\n}\n\nSelectionRange &Selection::Range(size_t r) {\n\treturn ranges[r];\n}\n\nconst SelectionRange &Selection::Range(size_t r) const {\n\treturn ranges[r];\n}\n\nSelectionRange &Selection::RangeMain() {\n\treturn ranges[mainRange];\n}\n\nconst SelectionRange &Selection::RangeMain() const {\n\treturn ranges[mainRange];\n}\n\nSelectionPosition Selection::Start() const {\n\tif (IsRectangular()) {\n\t\treturn rangeRectangular.Start();\n\t} else {\n\t\treturn ranges[mainRange].Start();\n\t}\n}\n\nbool Selection::MoveExtends() const {\n\treturn moveExtends;\n}\n\nvoid Selection::SetMoveExtends(bool moveExtends_) {\n\tmoveExtends = moveExtends_;\n}\n\nbool Selection::Empty() const {\n\tfor (const SelectionRange &range : ranges) {\n\t\tif (!range.Empty())\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nSelectionPosition Selection::Last() const {\n\tSelectionPosition lastPosition;\n\tfor (const SelectionRange &range : ranges) {\n\t\tif (lastPosition < range.caret)\n\t\t\tlastPosition = range.caret;\n\t\tif (lastPosition < range.anchor)\n\t\t\tlastPosition = range.anchor;\n\t}\n\treturn lastPosition;\n}\n\nSci::Position Selection::Length() const {\n\tSci::Position len = 0;\n\tfor (const SelectionRange &range : ranges) {\n\t\tlen += range.Length();\n\t}\n\treturn len;\n}\n\nvoid Selection::MovePositions(bool insertion, Sci::Position startChange, Sci::Position length) {\n\tfor (SelectionRange &range : ranges) {\n\t\trange.MoveForInsertDelete(insertion, startChange, length);\n\t}\n\tif (selType == selRectangle) {\n\t\trangeRectangular.MoveForInsertDelete(insertion, startChange, length);\n\t}\n}\n\nvoid Selection::TrimSelection(SelectionRange range) {\n\tfor (size_t i=0; i<ranges.size();) {\n\t\tif ((i != mainRange) && (ranges[i].Trim(range))) {\n\t\t\t// Trimmed to empty so remove\n\t\t\tfor (size_t j=i; j<ranges.size()-1; j++) {\n\t\t\t\tranges[j] = ranges[j+1];\n\t\t\t\tif (j == mainRange-1)\n\t\t\t\t\tmainRange--;\n\t\t\t}\n\t\t\tranges.pop_back();\n\t\t} else {\n\t\t\ti++;\n\t\t}\n\t}\n}\n\nvoid Selection::TrimOtherSelections(size_t r, SelectionRange range) {\n\tfor (size_t i = 0; i<ranges.size(); ++i) {\n\t\tif (i != r) {\n\t\t\tranges[i].Trim(range);\n\t\t}\n\t}\n}\n\nvoid Selection::SetSelection(SelectionRange range) {\n\tranges.clear();\n\tranges.push_back(range);\n\tmainRange = ranges.size() - 1;\n}\n\nvoid Selection::AddSelection(SelectionRange range) {\n\tTrimSelection(range);\n\tranges.push_back(range);\n\tmainRange = ranges.size() - 1;\n}\n\nvoid Selection::AddSelectionWithoutTrim(SelectionRange range) {\n\tranges.push_back(range);\n\tmainRange = ranges.size() - 1;\n}\n\nvoid Selection::DropSelection(size_t r) {\n\tif ((ranges.size() > 1) && (r < ranges.size())) {\n\t\tsize_t mainNew = mainRange;\n\t\tif (mainNew >= r) {\n\t\t\tif (mainNew == 0) {\n\t\t\t\tmainNew = ranges.size() - 2;\n\t\t\t} else {\n\t\t\t\tmainNew--;\n\t\t\t}\n\t\t}\n\t\tranges.erase(ranges.begin() + r);\n\t\tmainRange = mainNew;\n\t}\n}\n\nvoid Selection::DropAdditionalRanges() {\n\tSetSelection(RangeMain());\n}\n\nvoid Selection::TentativeSelection(SelectionRange range) {\n\tif (!tentativeMain) {\n\t\trangesSaved = ranges;\n\t}\n\tranges = rangesSaved;\n\tAddSelection(range);\n\tTrimSelection(ranges[mainRange]);\n\ttentativeMain = true;\n}\n\nvoid Selection::CommitTentative() {\n\trangesSaved.clear();\n\ttentativeMain = false;\n}\n\nint Selection::CharacterInSelection(Sci::Position posCharacter) const {\n\tfor (size_t i=0; i<ranges.size(); i++) {\n\t\tif (ranges[i].ContainsCharacter(posCharacter))\n\t\t\treturn i == mainRange ? 1 : 2;\n\t}\n\treturn 0;\n}\n\nint Selection::InSelectionForEOL(Sci::Position pos) const {\n\tfor (size_t i=0; i<ranges.size(); i++) {\n\t\tif (!ranges[i].Empty() && (pos > ranges[i].Start().Position()) && (pos <= ranges[i].End().Position()))\n\t\t\treturn i == mainRange ? 1 : 2;\n\t}\n\treturn 0;\n}\n\nSci::Position Selection::VirtualSpaceFor(Sci::Position pos) const {\n\tSci::Position virtualSpace = 0;\n\tfor (const SelectionRange &range : ranges) {\n\t\tif ((range.caret.Position() == pos) && (virtualSpace < range.caret.VirtualSpace()))\n\t\t\tvirtualSpace = range.caret.VirtualSpace();\n\t\tif ((range.anchor.Position() == pos) && (virtualSpace < range.anchor.VirtualSpace()))\n\t\t\tvirtualSpace = range.anchor.VirtualSpace();\n\t}\n\treturn virtualSpace;\n}\n\nvoid Selection::Clear() {\n\tranges.clear();\n\tranges.emplace_back();\n\tmainRange = ranges.size() - 1;\n\tselType = selStream;\n\tmoveExtends = false;\n\tranges[mainRange].Reset();\n\trangeRectangular.Reset();\n}\n\nvoid Selection::RemoveDuplicates() {\n\tfor (size_t i=0; i<ranges.size()-1; i++) {\n\t\tif (ranges[i].Empty()) {\n\t\t\tsize_t j=i+1;\n\t\t\twhile (j<ranges.size()) {\n\t\t\t\tif (ranges[i] == ranges[j]) {\n\t\t\t\t\tranges.erase(ranges.begin() + j);\n\t\t\t\t\tif (mainRange >= j)\n\t\t\t\t\t\tmainRange--;\n\t\t\t\t} else {\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid Selection::RotateMain() {\n\tmainRange = (mainRange + 1) % ranges.size();\n}\n\n"
  },
  {
    "path": "src/qscint/scintilla/src/Selection.h",
    "content": "// Scintilla source code edit control\n/** @file Selection.h\n ** Classes maintaining the selection.\n **/\n// Copyright 2009 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SELECTION_H\n#define SELECTION_H\n\nnamespace Scintilla {\n\nclass SelectionPosition {\n\tSci::Position position;\n\tSci::Position virtualSpace;\npublic:\n\texplicit SelectionPosition(Sci::Position position_=INVALID_POSITION, Sci::Position virtualSpace_=0) : position(position_), virtualSpace(virtualSpace_) {\n\t\tPLATFORM_ASSERT(virtualSpace < 800000);\n\t\tif (virtualSpace < 0)\n\t\t\tvirtualSpace = 0;\n\t}\n\tvoid Reset() {\n\t\tposition = 0;\n\t\tvirtualSpace = 0;\n\t}\n\tvoid MoveForInsertDelete(bool insertion, Sci::Position startChange, Sci::Position length);\n\tbool operator ==(const SelectionPosition &other) const {\n\t\treturn position == other.position && virtualSpace == other.virtualSpace;\n\t}\n\tbool operator <(const SelectionPosition &other) const;\n\tbool operator >(const SelectionPosition &other) const;\n\tbool operator <=(const SelectionPosition &other) const;\n\tbool operator >=(const SelectionPosition &other) const;\n\tSci::Position Position() const {\n\t\treturn position;\n\t}\n\tvoid SetPosition(Sci::Position position_) {\n\t\tposition = position_;\n\t\tvirtualSpace = 0;\n\t}\n\tSci::Position VirtualSpace() const {\n\t\treturn virtualSpace;\n\t}\n\tvoid SetVirtualSpace(Sci::Position virtualSpace_) {\n\t\tPLATFORM_ASSERT(virtualSpace_ < 800000);\n\t\tif (virtualSpace_ >= 0)\n\t\t\tvirtualSpace = virtualSpace_;\n\t}\n\tvoid Add(Sci::Position increment) {\n\t\tposition = position + increment;\n\t}\n\tbool IsValid() const {\n\t\treturn position >= 0;\n\t}\n};\n\n// Ordered range to make drawing simpler\nstruct SelectionSegment {\n\tSelectionPosition start;\n\tSelectionPosition end;\n\tSelectionSegment() : start(), end() {\n\t}\n\tSelectionSegment(SelectionPosition a, SelectionPosition b) {\n\t\tif (a < b) {\n\t\t\tstart = a;\n\t\t\tend = b;\n\t\t} else {\n\t\t\tstart = b;\n\t\t\tend = a;\n\t\t}\n\t}\n\tbool Empty() const {\n\t\treturn start == end;\n\t}\n\tvoid Extend(SelectionPosition p) {\n\t\tif (start > p)\n\t\t\tstart = p;\n\t\tif (end < p)\n\t\t\tend = p;\n\t}\n};\n\nstruct SelectionRange {\n\tSelectionPosition caret;\n\tSelectionPosition anchor;\n\n\tSelectionRange() : caret(), anchor() {\n\t}\n\texplicit SelectionRange(SelectionPosition single) : caret(single), anchor(single) {\n\t}\n\texplicit SelectionRange(Sci::Position single) : caret(single), anchor(single) {\n\t}\n\tSelectionRange(SelectionPosition caret_, SelectionPosition anchor_) : caret(caret_), anchor(anchor_) {\n\t}\n\tSelectionRange(Sci::Position caret_, Sci::Position anchor_) : caret(caret_), anchor(anchor_) {\n\t}\n\tbool Empty() const {\n\t\treturn anchor == caret;\n\t}\n\tSci::Position Length() const;\n\t// Sci::Position Width() const;\t// Like Length but takes virtual space into account\n\tbool operator ==(const SelectionRange &other) const {\n\t\treturn caret == other.caret && anchor == other.anchor;\n\t}\n\tbool operator <(const SelectionRange &other) const {\n\t\treturn caret < other.caret || ((caret == other.caret) && (anchor < other.anchor));\n\t}\n\tvoid Reset() {\n\t\tanchor.Reset();\n\t\tcaret.Reset();\n\t}\n\tvoid ClearVirtualSpace() {\n\t\tanchor.SetVirtualSpace(0);\n\t\tcaret.SetVirtualSpace(0);\n\t}\n\tvoid MoveForInsertDelete(bool insertion, Sci::Position startChange, Sci::Position length);\n\tbool Contains(Sci::Position pos) const;\n\tbool Contains(SelectionPosition sp) const;\n\tbool ContainsCharacter(Sci::Position posCharacter) const;\n\tSelectionSegment Intersect(SelectionSegment check) const;\n\tSelectionPosition Start() const {\n\t\treturn (anchor < caret) ? anchor : caret;\n\t}\n\tSelectionPosition End() const {\n\t\treturn (anchor < caret) ? caret : anchor;\n\t}\n\tvoid Swap();\n\tbool Trim(SelectionRange range);\n\t// If range is all virtual collapse to start of virtual space\n\tvoid MinimizeVirtualSpace();\n};\n\nclass Selection {\n\tstd::vector<SelectionRange> ranges;\n\tstd::vector<SelectionRange> rangesSaved;\n\tSelectionRange rangeRectangular;\n\tsize_t mainRange;\n\tbool moveExtends;\n\tbool tentativeMain;\npublic:\n\tenum selTypes { noSel, selStream, selRectangle, selLines, selThin };\n\tselTypes selType;\n\n\tSelection();\n\t~Selection();\n\tbool IsRectangular() const;\n\tSci::Position MainCaret() const;\n\tSci::Position MainAnchor() const;\n\tSelectionRange &Rectangular();\n\tSelectionSegment Limits() const;\n\t// This is for when you want to move the caret in response to a\n\t// user direction command - for rectangular selections, use the range\n\t// that covers all selected text otherwise return the main selection.\n\tSelectionSegment LimitsForRectangularElseMain() const;\n\tsize_t Count() const;\n\tsize_t Main() const;\n\tvoid SetMain(size_t r);\n\tSelectionRange &Range(size_t r);\n\tconst SelectionRange &Range(size_t r) const;\n\tSelectionRange &RangeMain();\n\tconst SelectionRange &RangeMain() const;\n\tSelectionPosition Start() const;\n\tbool MoveExtends() const;\n\tvoid SetMoveExtends(bool moveExtends_);\n\tbool Empty() const;\n\tSelectionPosition Last() const;\n\tSci::Position Length() const;\n\tvoid MovePositions(bool insertion, Sci::Position startChange, Sci::Position length);\n\tvoid TrimSelection(SelectionRange range);\n\tvoid TrimOtherSelections(size_t r, SelectionRange range);\n\tvoid SetSelection(SelectionRange range);\n\tvoid AddSelection(SelectionRange range);\n\tvoid AddSelectionWithoutTrim(SelectionRange range);\n\tvoid DropSelection(size_t r);\n\tvoid DropAdditionalRanges();\n\tvoid TentativeSelection(SelectionRange range);\n\tvoid CommitTentative();\n\tint CharacterInSelection(Sci::Position posCharacter) const;\n\tint InSelectionForEOL(Sci::Position pos) const;\n\tSci::Position VirtualSpaceFor(Sci::Position pos) const;\n\tvoid Clear();\n\tvoid RemoveDuplicates();\n\tvoid RotateMain();\n\tbool Tentative() const { return tentativeMain; }\n\tstd::vector<SelectionRange> RangesCopy() const {\n\t\treturn ranges;\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/SparseVector.h",
    "content": "// Scintilla source code edit control\n/** @file SparseVector.h\n ** Hold data sparsely associated with elements in a range.\n **/\n// Copyright 2016 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SPARSEVECTOR_H\n#define SPARSEVECTOR_H\n\nnamespace Scintilla {\n\n// SparseVector is similar to RunStyles but is more efficient for cases where values occur\n// for one position instead of over a range of positions.\ntemplate <typename T>\nclass SparseVector {\nprivate:\n\tstd::unique_ptr<Partitioning<Sci::Position>> starts;\n\tstd::unique_ptr<SplitVector<T>> values;\n\tT empty;\n\tvoid ClearValue(Sci::Position partition) {\n\t\tvalues->SetValueAt(partition, T());\n\t}\npublic:\n\tSparseVector() : empty() {\n\t\tstarts = std::unique_ptr<Partitioning<Sci::Position>>(new Partitioning<Sci::Position>(8));\n\t\tvalues = std::unique_ptr<SplitVector<T>>(new SplitVector<T>());\n\t\tvalues->InsertEmpty(0, 2);\n\t}\n\t// Deleted so SparseVector objects can not be copied.\n\tSparseVector(const SparseVector &) = delete;\n\tSparseVector(SparseVector &&) = delete;\n\tvoid operator=(const SparseVector &) = delete;\n\tvoid operator=(SparseVector &&) = delete;\n\t~SparseVector() {\n\t\tstarts.reset();\n\t\t// starts dead here but not used by ClearValue.\n\t\tfor (Sci::Position part = 0; part < values->Length(); part++) {\n\t\t\tClearValue(part);\n\t\t}\n\t\tvalues.reset();\n\t}\n\tSci::Position Length() const {\n\t\treturn starts->PositionFromPartition(starts->Partitions());\n\t}\n\tSci::Position Elements() const {\n\t\treturn starts->Partitions();\n\t}\n\tSci::Position PositionOfElement(int element) const {\n\t\treturn starts->PositionFromPartition(element);\n\t}\n\tconst T& ValueAt(Sci::Position position) const {\n\t\tassert(position < Length());\n\t\tconst Sci::Position partition = starts->PartitionFromPosition(position);\n\t\tconst Sci::Position startPartition = starts->PositionFromPartition(partition);\n\t\tif (startPartition == position) {\n\t\t\treturn values->ValueAt(partition);\n\t\t} else {\n\t\t\treturn empty;\n\t\t}\n\t}\n\ttemplate <typename ParamType>\n\tvoid SetValueAt(Sci::Position position, ParamType &&value) {\n\t\tassert(position < Length());\n\t\tconst Sci::Position partition = starts->PartitionFromPosition(position);\n\t\tconst Sci::Position startPartition = starts->PositionFromPartition(partition);\n\t\tif (value == T()) {\n\t\t\t// Setting the empty value is equivalent to deleting the position\n\t\t\tif (position == 0) {\n\t\t\t\tClearValue(partition);\n\t\t\t} else if (position == startPartition) {\n\t\t\t\t// Currently an element at this position, so remove\n\t\t\t\tClearValue(partition);\n\t\t\t\tstarts->RemovePartition(partition);\n\t\t\t\tvalues->Delete(partition);\n\t\t\t}\n\t\t\t// Else element remains empty\n\t\t} else {\n\t\t\tif (position == startPartition) {\n\t\t\t\t// Already a value at this position, so replace\n\t\t\t\tClearValue(partition);\n\t\t\t\tvalues->SetValueAt(partition, std::forward<ParamType>(value));\n\t\t\t} else {\n\t\t\t\t// Insert a new element\n\t\t\t\tstarts->InsertPartition(partition + 1, position);\n\t\t\t\tvalues->Insert(partition + 1, std::forward<ParamType>(value));\n\t\t\t}\n\t\t}\n\t}\n\tvoid InsertSpace(Sci::Position position, Sci::Position insertLength) {\n\t\tassert(position <= Length());\t// Only operation that works at end.\n\t\tconst Sci::Position partition = starts->PartitionFromPosition(position);\n\t\tconst Sci::Position startPartition = starts->PositionFromPartition(partition);\n\t\tif (startPartition == position) {\n\t\t\tconst bool positionOccupied = values->ValueAt(partition) != T();\n\t\t\t// Inserting at start of run so make previous longer\n\t\t\tif (partition == 0) {\n\t\t\t\t// Inserting at start of document so ensure start empty\n\t\t\t\tif (positionOccupied) {\n\t\t\t\t\tstarts->InsertPartition(1, 0);\n\t\t\t\t\tvalues->InsertEmpty(0, 1);\n\t\t\t\t}\n\t\t\t\tstarts->InsertText(partition, insertLength);\n\t\t\t} else {\n\t\t\t\tif (positionOccupied) {\n\t\t\t\t\tstarts->InsertText(partition - 1, insertLength);\n\t\t\t\t} else {\n\t\t\t\t\t// Insert at end of run so do not extend style\n\t\t\t\t\tstarts->InsertText(partition, insertLength);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tstarts->InsertText(partition, insertLength);\n\t\t}\n\t}\n\tvoid DeletePosition(Sci::Position position) {\n\t\tassert(position < Length());\n\t\tSci::Position partition = starts->PartitionFromPosition(position);\n\t\tconst Sci::Position startPartition = starts->PositionFromPartition(partition);\n\t\tif (startPartition == position) {\n\t\t\tif (partition == 0) {\n\t\t\t\tClearValue(0);\n\t\t\t} else if (partition == starts->Partitions()) {\n\t\t\t\t// This should not be possible\n\t\t\t\tClearValue(partition);\n\t\t\t\tthrow std::runtime_error(\"SparseVector: deleting end partition.\");\n\t\t\t} else {\n\t\t\t\tClearValue(partition);\n\t\t\t\tstarts->RemovePartition(partition);\n\t\t\t\tvalues->Delete(partition);\n\t\t\t\t// Its the previous partition now that gets smaller\n\t\t\t\tpartition--;\n\t\t\t}\n\t\t}\n\t\tstarts->InsertText(partition, -1);\n\t}\n\tvoid Check() const {\n\t\tif (Length() < 0) {\n\t\t\tthrow std::runtime_error(\"SparseVector: Length can not be negative.\");\n\t\t}\n\t\tif (starts->Partitions() < 1) {\n\t\t\tthrow std::runtime_error(\"SparseVector: Must always have 1 or more partitions.\");\n\t\t}\n\t\tif (starts->Partitions() != values->Length() - 1) {\n\t\t\tthrow std::runtime_error(\"SparseVector: Partitions and values different lengths.\");\n\t\t}\n\t\t// The final element can not be set\n\t\tif (values->ValueAt(values->Length() - 1) != T()) {\n\t\t\tthrow std::runtime_error(\"SparseVector: Unused style at end changed.\");\n\t\t}\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/SplitVector.h",
    "content": "// Scintilla source code edit control\n/** @file SplitVector.h\n ** Main data structure for holding arrays that handle insertions\n ** and deletions efficiently.\n **/\n// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef SPLITVECTOR_H\n#define SPLITVECTOR_H\n\nnamespace Scintilla {\n\ntemplate <typename T>\nclass SplitVector {\nprotected:\n\tstd::vector<T> body;\n\tT empty;\t/// Returned as the result of out-of-bounds access.\n\tptrdiff_t lengthBody;\n\tptrdiff_t part1Length;\n\tptrdiff_t gapLength;\t/// invariant: gapLength == body.size() - lengthBody\n\tptrdiff_t growSize;\n\n\t/// Move the gap to a particular position so that insertion and\n\t/// deletion at that point will not require much copying and\n\t/// hence be fast.\n\tvoid GapTo(ptrdiff_t position) noexcept {\n\t\tif (position != part1Length) {\n\t\t\tif (position < part1Length) {\n\t\t\t\t// Moving the gap towards start so moving elements towards end\n\t\t\t\tstd::move_backward(\n\t\t\t\t\tbody.data() + position,\n\t\t\t\t\tbody.data() + part1Length,\n\t\t\t\t\tbody.data() + gapLength + part1Length);\n\t\t\t} else {\t// position > part1Length\n\t\t\t\t// Moving the gap towards end so moving elements towards start\n\t\t\t\tstd::move(\n\t\t\t\t\tbody.data() + part1Length + gapLength,\n\t\t\t\t\tbody.data() + gapLength + position,\n\t\t\t\t\tbody.data() + part1Length);\n\t\t\t}\n\t\t\tpart1Length = position;\n\t\t}\n\t}\n\n\t/// Check that there is room in the buffer for an insertion,\n\t/// reallocating if more space needed.\n\tvoid RoomFor(ptrdiff_t insertionLength) {\n\t\tif (gapLength <= insertionLength) {\n\t\t\twhile (growSize < static_cast<ptrdiff_t>(body.size() / 6))\n\t\t\t\tgrowSize *= 2;\n\t\t\tReAllocate(body.size() + insertionLength + growSize);\n\t\t}\n\t}\n\n\tvoid Init() {\n\t\tbody.clear();\n\t\tbody.shrink_to_fit();\n\t\tlengthBody = 0;\n\t\tpart1Length = 0;\n\t\tgapLength = 0;\n\t\tgrowSize = 8;\n\t}\n\npublic:\n\t/// Construct a split buffer.\n\tSplitVector() : empty(), lengthBody(0), part1Length(0), gapLength(0), growSize(8) {\n\t}\n\n\t// Deleted so SplitVector objects can not be copied.\n\tSplitVector(const SplitVector &) = delete;\n\tSplitVector(SplitVector &&) = delete;\n\tvoid operator=(const SplitVector &) = delete;\n\tvoid operator=(SplitVector &&) = delete;\n\n\t~SplitVector() {\n\t}\n\n\tptrdiff_t GetGrowSize() const {\n\t\treturn growSize;\n\t}\n\n\tvoid SetGrowSize(ptrdiff_t growSize_) {\n\t\tgrowSize = growSize_;\n\t}\n\n\t/// Reallocate the storage for the buffer to be newSize and\n\t/// copy exisiting contents to the new buffer.\n\t/// Must not be used to decrease the size of the buffer.\n\tvoid ReAllocate(ptrdiff_t newSize) {\n\t\tif (newSize < 0)\n\t\t\tthrow std::runtime_error(\"SplitVector::ReAllocate: negative size.\");\n\n\t\tif (newSize > static_cast<ptrdiff_t>(body.size())) {\n\t\t\t// Move the gap to the end\n\t\t\tGapTo(lengthBody);\n\t\t\tgapLength += newSize - static_cast<ptrdiff_t>(body.size());\n\t\t\t// RoomFor implements a growth strategy but so does vector::resize so\n\t\t\t// ensure vector::resize allocates exactly the amount wanted by\n\t\t\t// calling reserve first.\n\t\t\tbody.reserve(newSize);\n\t\t\tbody.resize(newSize);\n\t\t}\n\t}\n\n\t/// Retrieve the element at a particular position.\n\t/// Retrieving positions outside the range of the buffer returns empty or 0.\n\tconst T& ValueAt(ptrdiff_t position) const noexcept {\n\t\tif (position < part1Length) {\n\t\t\tif (position < 0) {\n\t\t\t\treturn empty;\n\t\t\t} else {\n\t\t\t\treturn body[position];\n\t\t\t}\n\t\t} else {\n\t\t\tif (position >= lengthBody) {\n\t\t\t\treturn empty;\n\t\t\t} else {\n\t\t\t\treturn body[gapLength + position];\n\t\t\t}\n\t\t}\n\t}\n\n\t/// Set the element at a particular position.\n\t/// Setting positions outside the range of the buffer performs no assignment\n\t/// but asserts in debug builds.\n\ttemplate <typename ParamType>\n\tvoid SetValueAt(ptrdiff_t position, ParamType&& v) noexcept {\n\t\tif (position < part1Length) {\n\t\t\tPLATFORM_ASSERT(position >= 0);\n\t\t\tif (position < 0) {\n\t\t\t\t;\n\t\t\t} else {\n\t\t\t\tbody[position] = std::forward<ParamType>(v);\n\t\t\t}\n\t\t} else {\n\t\t\tPLATFORM_ASSERT(position < lengthBody);\n\t\t\tif (position >= lengthBody) {\n\t\t\t\t;\n\t\t\t} else {\n\t\t\t\tbody[gapLength + position] = std::forward<ParamType>(v);\n\t\t\t}\n\t\t}\n\t}\n\n\t/// Retrieve the element at a particular position.\n\t/// The position must be within bounds or an assertion is triggered.\n\tconst T &operator[](ptrdiff_t position) const noexcept {\n\t\tPLATFORM_ASSERT(position >= 0 && position < lengthBody);\n\t\tif (position < part1Length) {\n\t\t\treturn body[position];\n\t\t} else {\n\t\t\treturn body[gapLength + position];\n\t\t}\n\t}\n\n\t/// Retrieve reference to the element at a particular position.\n\t/// This, instead of the const variant, can be used to mutate in-place.\n\t/// The position must be within bounds or an assertion is triggered.\n\tT &operator[](ptrdiff_t position) noexcept {\n\t\tPLATFORM_ASSERT(position >= 0 && position < lengthBody);\n\t\tif (position < part1Length) {\n\t\t\treturn body[position];\n\t\t} else {\n\t\t\treturn body[gapLength + position];\n\t\t}\n\t}\n\n\t/// Retrieve the length of the buffer.\n\tptrdiff_t Length() const noexcept {\n\t\treturn lengthBody;\n\t}\n\n\t/// Insert a single value into the buffer.\n\t/// Inserting at positions outside the current range fails.\n\tvoid Insert(ptrdiff_t position, T v) {\n\t\tPLATFORM_ASSERT((position >= 0) && (position <= lengthBody));\n\t\tif ((position < 0) || (position > lengthBody)) {\n\t\t\treturn;\n\t\t}\n\t\tRoomFor(1);\n\t\tGapTo(position);\n\t\tbody[part1Length] = std::move(v);\n\t\tlengthBody++;\n\t\tpart1Length++;\n\t\tgapLength--;\n\t}\n\n\t/// Insert a number of elements into the buffer setting their value.\n\t/// Inserting at positions outside the current range fails.\n\tvoid InsertValue(ptrdiff_t position, ptrdiff_t insertLength, T v) {\n\t\tPLATFORM_ASSERT((position >= 0) && (position <= lengthBody));\n\t\tif (insertLength > 0) {\n\t\t\tif ((position < 0) || (position > lengthBody)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tRoomFor(insertLength);\n\t\t\tGapTo(position);\n\t\t\tstd::fill(body.data() + part1Length, body.data() + part1Length + insertLength, v);\n\t\t\tlengthBody += insertLength;\n\t\t\tpart1Length += insertLength;\n\t\t\tgapLength -= insertLength;\n\t\t}\n\t}\n\n\t/// Add some new empty elements.\n\t/// InsertValue is good for value objects but not for unique_ptr objects\n\t/// since they can only be moved from once.\n\tvoid InsertEmpty(ptrdiff_t position, ptrdiff_t insertLength) {\n\t\tPLATFORM_ASSERT((position >= 0) && (position <= lengthBody));\n\t\tif (insertLength > 0) {\n\t\t\tif ((position < 0) || (position > lengthBody)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tRoomFor(insertLength);\n\t\t\tGapTo(position);\n\t\t\tfor (ptrdiff_t elem = part1Length; elem < part1Length + insertLength; elem++) {\n\t\t\t\tT emptyOne = {};\n\t\t\t\tbody[elem] = std::move(emptyOne);\n\t\t\t}\n\t\t\tlengthBody += insertLength;\n\t\t\tpart1Length += insertLength;\n\t\t\tgapLength -= insertLength;\n\t\t}\n\t}\n\n\t/// Ensure at least length elements allocated,\n\t/// appending zero valued elements if needed.\n\tvoid EnsureLength(ptrdiff_t wantedLength) {\n\t\tif (Length() < wantedLength) {\n\t\t\tInsertEmpty(Length(), wantedLength - Length());\n\t\t}\n\t}\n\n\t/// Insert text into the buffer from an array.\n\tvoid InsertFromArray(ptrdiff_t positionToInsert, const T s[], ptrdiff_t positionFrom, ptrdiff_t insertLength) {\n\t\tPLATFORM_ASSERT((positionToInsert >= 0) && (positionToInsert <= lengthBody));\n\t\tif (insertLength > 0) {\n\t\t\tif ((positionToInsert < 0) || (positionToInsert > lengthBody)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tRoomFor(insertLength);\n\t\t\tGapTo(positionToInsert);\n\t\t\tstd::copy(s + positionFrom, s + positionFrom + insertLength, body.data() + part1Length);\n\t\t\tlengthBody += insertLength;\n\t\t\tpart1Length += insertLength;\n\t\t\tgapLength -= insertLength;\n\t\t}\n\t}\n\n\t/// Delete one element from the buffer.\n\tvoid Delete(ptrdiff_t position) {\n\t\tPLATFORM_ASSERT((position >= 0) && (position < lengthBody));\n\t\tDeleteRange(position, 1);\n\t}\n\n\t/// Delete a range from the buffer.\n\t/// Deleting positions outside the current range fails.\n\t/// Cannot be noexcept as vector::shrink_to_fit may be called and it may throw.\n\tvoid DeleteRange(ptrdiff_t position, ptrdiff_t deleteLength) {\n\t\tPLATFORM_ASSERT((position >= 0) && (position + deleteLength <= lengthBody));\n\t\tif ((position < 0) || ((position + deleteLength) > lengthBody)) {\n\t\t\treturn;\n\t\t}\n\t\tif ((position == 0) && (deleteLength == lengthBody)) {\n\t\t\t// Full deallocation returns storage and is faster\n\t\t\tInit();\n\t\t} else if (deleteLength > 0) {\n\t\t\tGapTo(position);\n\t\t\tlengthBody -= deleteLength;\n\t\t\tgapLength += deleteLength;\n\t\t}\n\t}\n\n\t/// Delete all the buffer contents.\n\tvoid DeleteAll() {\n\t\tDeleteRange(0, lengthBody);\n\t}\n\n\t/// Retrieve a range of elements into an array\n\tvoid GetRange(T *buffer, ptrdiff_t position, ptrdiff_t retrieveLength) const noexcept {\n\t\t// Split into up to 2 ranges, before and after the split then use memcpy on each.\n\t\tptrdiff_t range1Length = 0;\n\t\tif (position < part1Length) {\n\t\t\tconst ptrdiff_t part1AfterPosition = part1Length - position;\n\t\t\trange1Length = retrieveLength;\n\t\t\tif (range1Length > part1AfterPosition)\n\t\t\t\trange1Length = part1AfterPosition;\n\t\t}\n\t\tstd::copy(body.data() + position, body.data() + position + range1Length, buffer);\n\t\tbuffer += range1Length;\n\t\tposition = position + range1Length + gapLength;\n\t\tptrdiff_t range2Length = retrieveLength - range1Length;\n\t\tstd::copy(body.data() + position, body.data() + position + range2Length, buffer);\n\t}\n\n\t/// Compact the buffer and return a pointer to the first element.\n\t/// Also ensures there is an empty element beyond logical end in case its\n\t/// passed to a function expecting a NUL terminated string.\n\tT *BufferPointer() {\n\t\tRoomFor(1);\n\t\tGapTo(lengthBody);\n\t\tT emptyOne = {};\n\t\tbody[lengthBody] = std::move(emptyOne);\n\t\treturn body.data();\n\t}\n\n\t/// Return a pointer to a range of elements, first rearranging the buffer if\n\t/// needed to make that range contiguous.\n\tT *RangePointer(ptrdiff_t position, ptrdiff_t rangeLength) noexcept {\n\t\tif (position < part1Length) {\n\t\t\tif ((position + rangeLength) > part1Length) {\n\t\t\t\t// Range overlaps gap, so move gap to start of range.\n\t\t\t\tGapTo(position);\n\t\t\t\treturn body.data() + position + gapLength;\n\t\t\t} else {\n\t\t\t\treturn body.data() + position;\n\t\t\t}\n\t\t} else {\n\t\t\treturn body.data() + position + gapLength;\n\t\t}\n\t}\n\n\t/// Return the position of the gap within the buffer.\n\tptrdiff_t GapPosition() const noexcept {\n\t\treturn part1Length;\n\t}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/Style.cpp",
    "content": "// Scintilla source code edit control\n/** @file Style.cxx\n ** Defines the font and colour style for a class of text.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <stdexcept>\n#include <vector>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"Style.h\"\n\nusing namespace Scintilla;\n\nFontAlias::FontAlias() {\n}\n\nFontAlias::FontAlias(const FontAlias &other) : Font() {\n\tSetID(other.fid);\n}\n\nFontAlias::~FontAlias() {\n\tSetID(0);\n\t// ~Font will not release the actual font resource since it is now 0\n}\n\nvoid FontAlias::MakeAlias(const Font &fontOrigin) {\n\tSetID(fontOrigin.GetID());\n}\n\nvoid FontAlias::ClearFont() {\n\tSetID(0);\n}\n\nbool FontSpecification::operator==(const FontSpecification &other) const {\n\treturn fontName == other.fontName &&\n\t       weight == other.weight &&\n\t       italic == other.italic &&\n\t       size == other.size &&\n\t       characterSet == other.characterSet &&\n\t       extraFontFlag == other.extraFontFlag;\n}\n\nbool FontSpecification::operator<(const FontSpecification &other) const {\n\tif (fontName != other.fontName)\n\t\treturn fontName < other.fontName;\n\tif (weight != other.weight)\n\t\treturn weight < other.weight;\n\tif (italic != other.italic)\n\t\treturn italic == false;\n\tif (size != other.size)\n\t\treturn size < other.size;\n\tif (characterSet != other.characterSet)\n\t\treturn characterSet < other.characterSet;\n\tif (extraFontFlag != other.extraFontFlag)\n\t\treturn extraFontFlag < other.extraFontFlag;\n\treturn false;\n}\n\nFontMeasurements::FontMeasurements() {\n\tClearMeasurements();\n}\n\nvoid FontMeasurements::ClearMeasurements() {\n\tascent = 1;\n\tdescent = 1;\n\tcapitalHeight = 1;\n\taveCharWidth = 1;\n\tspaceWidth = 1;\n\tsizeZoomed = 2;\n}\n\nStyle::Style() : FontSpecification() {\n\tClear(ColourDesired(0, 0, 0), ColourDesired(0xff, 0xff, 0xff),\n\t      Platform::DefaultFontSize() * SC_FONT_SIZE_MULTIPLIER, nullptr, SC_CHARSET_DEFAULT,\n\t      SC_WEIGHT_NORMAL, false, false, false, caseMixed, true, true, false);\n}\n\nStyle::Style(const Style &source) : FontSpecification(), FontMeasurements() {\n\tClear(ColourDesired(0, 0, 0), ColourDesired(0xff, 0xff, 0xff),\n\t      0, nullptr, 0,\n\t      SC_WEIGHT_NORMAL, false, false, false, caseMixed, true, true, false);\n\tfore = source.fore;\n\tback = source.back;\n\tcharacterSet = source.characterSet;\n\tweight = source.weight;\n\titalic = source.italic;\n\tsize = source.size;\n\tfontName = source.fontName;\n\teolFilled = source.eolFilled;\n\tunderline = source.underline;\n\tcaseForce = source.caseForce;\n\tvisible = source.visible;\n\tchangeable = source.changeable;\n\thotspot = source.hotspot;\n}\n\nStyle::~Style() {\n}\n\nStyle &Style::operator=(const Style &source) {\n\tif (this == &source)\n\t\treturn * this;\n\tClear(ColourDesired(0, 0, 0), ColourDesired(0xff, 0xff, 0xff),\n\t      0, nullptr, SC_CHARSET_DEFAULT,\n\t      SC_WEIGHT_NORMAL, false, false, false, caseMixed, true, true, false);\n\tfore = source.fore;\n\tback = source.back;\n\tcharacterSet = source.characterSet;\n\tweight = source.weight;\n\titalic = source.italic;\n\tsize = source.size;\n\tfontName = source.fontName;\n\teolFilled = source.eolFilled;\n\tunderline = source.underline;\n\tcaseForce = source.caseForce;\n\tvisible = source.visible;\n\tchangeable = source.changeable;\n\treturn *this;\n}\n\nvoid Style::Clear(ColourDesired fore_, ColourDesired back_, int size_,\n        const char *fontName_, int characterSet_,\n        int weight_, bool italic_, bool eolFilled_,\n        bool underline_, ecaseForced caseForce_,\n        bool visible_, bool changeable_, bool hotspot_) {\n\tfore = fore_;\n\tback = back_;\n\tcharacterSet = characterSet_;\n\tweight = weight_;\n\titalic = italic_;\n\tsize = size_;\n\tfontName = fontName_;\n\teolFilled = eolFilled_;\n\tunderline = underline_;\n\tcaseForce = caseForce_;\n\tvisible = visible_;\n\tchangeable = changeable_;\n\thotspot = hotspot_;\n\tfont.ClearFont();\n\tFontMeasurements::ClearMeasurements();\n}\n\nvoid Style::ClearTo(const Style &source) {\n\tClear(\n\t    source.fore,\n\t    source.back,\n\t    source.size,\n\t    source.fontName,\n\t    source.characterSet,\n\t    source.weight,\n\t    source.italic,\n\t    source.eolFilled,\n\t    source.underline,\n\t    source.caseForce,\n\t    source.visible,\n\t    source.changeable,\n\t    source.hotspot);\n}\n\nvoid Style::Copy(Font &font_, const FontMeasurements &fm_) {\n\tfont.MakeAlias(font_);\n\t(FontMeasurements &)(*this) = fm_;\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/Style.h",
    "content": "// Scintilla source code edit control\n/** @file Style.h\n ** Defines the font and colour style for a class of text.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef STYLE_H\n#define STYLE_H\n\nnamespace Scintilla {\n\nstruct FontSpecification {\n\tconst char *fontName;\n\tint weight;\n\tbool italic;\n\tint size;\n\tint characterSet;\n\tint extraFontFlag;\n\tFontSpecification() :\n\t\tfontName(nullptr),\n\t\tweight(SC_WEIGHT_NORMAL),\n\t\titalic(false),\n\t\tsize(10 * SC_FONT_SIZE_MULTIPLIER),\n\t\tcharacterSet(0),\n\t\textraFontFlag(0) {\n\t}\n\tbool operator==(const FontSpecification &other) const;\n\tbool operator<(const FontSpecification &other) const;\n};\n\n// Just like Font but only has a copy of the FontID so should not delete it\nclass FontAlias : public Font {\npublic:\n\tFontAlias();\n\t// FontAlias objects can not be assigned except for initialization\n\tFontAlias(const FontAlias &);\n\tFontAlias(FontAlias &&)  = delete;\n\tFontAlias &operator=(const FontAlias &) = delete;\n\tFontAlias &operator=(FontAlias &&) = delete;\n\t~FontAlias() override;\n\tvoid MakeAlias(const Font &fontOrigin);\n\tvoid ClearFont();\n};\n\nstruct FontMeasurements {\n\tunsigned int ascent;\n\tunsigned int descent;\n\tXYPOSITION capitalHeight;\t// Top of capital letter to baseline: ascent - internal leading\n\tXYPOSITION aveCharWidth;\n\tXYPOSITION spaceWidth;\n\tint sizeZoomed;\n\tFontMeasurements();\n\tvoid ClearMeasurements();\n};\n\n/**\n */\nclass Style : public FontSpecification, public FontMeasurements {\npublic:\n\tColourDesired fore;\n\tColourDesired back;\n\tbool eolFilled;\n\tbool underline;\n\tenum ecaseForced {caseMixed, caseUpper, caseLower, caseCamel};\n\tecaseForced caseForce;\n\tbool visible;\n\tbool changeable;\n\tbool hotspot;\n\n\tFontAlias font;\n\n\tStyle();\n\tStyle(const Style &source);\n\tStyle(Style &&) = default;\n\t~Style();\n\tStyle &operator=(const Style &source);\n\tStyle &operator=(Style &&) = delete;\n\tvoid Clear(ColourDesired fore_, ColourDesired back_,\n\t           int size_,\n\t           const char *fontName_, int characterSet_,\n\t           int weight_, bool italic_, bool eolFilled_,\n\t           bool underline_, ecaseForced caseForce_,\n\t           bool visible_, bool changeable_, bool hotspot_);\n\tvoid ClearTo(const Style &source);\n\tvoid Copy(Font &font_, const FontMeasurements &fm_);\n\tbool IsProtected() const { return !(changeable && visible);}\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/UniConversion.cpp",
    "content": "// Scintilla source code edit control\n/** @file UniConversion.cxx\n ** Functions to handle UTF-8 and UTF-16 strings.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n\n#include <stdexcept>\n#include <string>\n\n#include \"UniConversion.h\"\n\nusing namespace Scintilla;\n\nnamespace Scintilla {\n\nsize_t UTF8Length(const wchar_t *uptr, size_t tlen) {\n\tsize_t len = 0;\n\tfor (size_t i = 0; i < tlen && uptr[i];) {\n\t\tconst unsigned int uch = uptr[i];\n\t\tif (uch < 0x80) {\n\t\t\tlen++;\n\t\t} else if (uch < 0x800) {\n\t\t\tlen += 2;\n\t\t} else if ((uch >= SURROGATE_LEAD_FIRST) &&\n\t\t\t(uch <= SURROGATE_TRAIL_LAST)) {\n\t\t\tlen += 4;\n\t\t\ti++;\n\t\t} else {\n\t\t\tlen += 3;\n\t\t}\n\t\ti++;\n\t}\n\treturn len;\n}\n\nvoid UTF8FromUTF16(const wchar_t *uptr, size_t tlen, char *putf, size_t len) {\n\tsize_t k = 0;\n\tfor (size_t i = 0; i < tlen && uptr[i];) {\n\t\tconst unsigned int uch = uptr[i];\n\t\tif (uch < 0x80) {\n\t\t\tputf[k++] = static_cast<char>(uch);\n\t\t} else if (uch < 0x800) {\n\t\t\tputf[k++] = static_cast<char>(0xC0 | (uch >> 6));\n\t\t\tputf[k++] = static_cast<char>(0x80 | (uch & 0x3f));\n\t\t} else if ((uch >= SURROGATE_LEAD_FIRST) &&\n\t\t\t(uch <= SURROGATE_TRAIL_LAST)) {\n\t\t\t// Half a surrogate pair\n\t\t\ti++;\n\t\t\tconst unsigned int xch = 0x10000 + ((uch & 0x3ff) << 10) + (uptr[i] & 0x3ff);\n\t\t\tputf[k++] = static_cast<char>(0xF0 | (xch >> 18));\n\t\t\tputf[k++] = static_cast<char>(0x80 | ((xch >> 12) & 0x3f));\n\t\t\tputf[k++] = static_cast<char>(0x80 | ((xch >> 6) & 0x3f));\n\t\t\tputf[k++] = static_cast<char>(0x80 | (xch & 0x3f));\n\t\t} else {\n\t\t\tputf[k++] = static_cast<char>(0xE0 | (uch >> 12));\n\t\t\tputf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));\n\t\t\tputf[k++] = static_cast<char>(0x80 | (uch & 0x3f));\n\t\t}\n\t\ti++;\n\t}\n\tif (k < len)\n\t\tputf[k] = '\\0';\n}\n\nvoid UTF8FromUTF32Character(int uch, char *putf) {\n\tsize_t k = 0;\n\tif (uch < 0x80) {\n\t\tputf[k++] = static_cast<char>(uch);\n\t} else if (uch < 0x800) {\n\t\tputf[k++] = static_cast<char>(0xC0 | (uch >> 6));\n\t\tputf[k++] = static_cast<char>(0x80 | (uch & 0x3f));\n\t} else if (uch < 0x10000) {\n\t\tputf[k++] = static_cast<char>(0xE0 | (uch >> 12));\n\t\tputf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));\n\t\tputf[k++] = static_cast<char>(0x80 | (uch & 0x3f));\n\t} else {\n\t\tputf[k++] = static_cast<char>(0xF0 | (uch >> 18));\n\t\tputf[k++] = static_cast<char>(0x80 | ((uch >> 12) & 0x3f));\n\t\tputf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));\n\t\tputf[k++] = static_cast<char>(0x80 | (uch & 0x3f));\n\t}\n\tputf[k] = '\\0';\n}\n\nsize_t UTF16Length(const char *s, size_t len) {\n\tsize_t ulen = 0;\n\tfor (size_t i = 0; i < len;) {\n\t\tconst unsigned char ch = s[i];\n\t\tconst unsigned int byteCount = UTF8BytesOfLead[ch];\n\t\tconst unsigned int utf16Len = UTF16LengthFromUTF8ByteCount(byteCount);\n\t\ti += byteCount;\n\t\tulen += (i > len) ? 1 : utf16Len;\n\t}\n\treturn ulen;\n}\n\nconstexpr unsigned char TrailByteValue(unsigned char c) {\n\t// The top 2 bits are 0b10 to indicate a trail byte.\n\t// The lower 6 bits contain the value.\n\treturn c & 0x3F;\n}\n\nsize_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen) {\n\tsize_t ui = 0;\n\tfor (size_t i = 0; i < len;) {\n\t\tunsigned char ch = s[i];\n\t\tconst unsigned int byteCount = UTF8BytesOfLead[ch];\n\t\tunsigned int value;\n\n\t\tif (i + byteCount > len) {\n\t\t\t// Trying to read past end but still have space to write\n\t\t\tif (ui < tlen) {\n\t\t\ttbuf[ui] = ch;\n\t\t\t\tui++;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\tconst size_t outLen = UTF16LengthFromUTF8ByteCount(byteCount);\n\t\tif (ui + outLen > tlen) {\n\t\t\tthrow std::runtime_error(\"UTF16FromUTF8: attempted write beyond end\");\n\t\t}\n\n\t\ti++;\n\t\tswitch (byteCount) {\n\t\tcase 1:\n\t\t\ttbuf[ui] = ch;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tvalue = (ch & 0x1F) << 6;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch);\n\t\t\ttbuf[ui] = static_cast<wchar_t>(value);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tvalue = (ch & 0xF) << 12;\n\t\t\tch = s[i++];\n\t\t\tvalue += (TrailByteValue(ch) << 6);\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch);\n\t\t\ttbuf[ui] = static_cast<wchar_t>(value);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Outside the BMP so need two surrogates\n\t\t\tvalue = (ch & 0x7) << 18;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch) << 12;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch) << 6;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch);\n\t\t\ttbuf[ui] = static_cast<wchar_t>(((value - 0x10000) >> 10) + SURROGATE_LEAD_FIRST);\n\t\t\tui++;\n\t\t\ttbuf[ui] = static_cast<wchar_t>((value & 0x3ff) + SURROGATE_TRAIL_FIRST);\n\t\t\tbreak;\n\t\t}\n\t\tui++;\n\t}\n\treturn ui;\n}\n\nsize_t UTF32FromUTF8(const char *s, size_t len, unsigned int *tbuf, size_t tlen) {\n\tsize_t ui = 0;\n\tfor (size_t i = 0; i < len;) {\n\t\tunsigned char ch = s[i];\n\t\tconst unsigned int byteCount = UTF8BytesOfLead[ch];\n\t\tunsigned int value;\n\n\t\tif (i + byteCount > len) {\n\t\t\t// Trying to read past end but still have space to write\n\t\t\tif (ui < tlen) {\n\t\t\t\ttbuf[ui] = ch;\n\t\t\t\tui++;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\tif (ui == tlen) {\n\t\t\tthrow std::runtime_error(\"UTF32FromUTF8: attempted write beyond end\");\n\t\t}\n\n\t\ti++;\n\t\tswitch (byteCount) {\n\t\tcase 1:\n\t\t\tvalue = ch;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tvalue = (ch & 0x1F) << 6;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tvalue = (ch & 0xF) << 12;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch) << 6;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalue = (ch & 0x7) << 18;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch) << 12;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch) << 6;\n\t\t\tch = s[i++];\n\t\t\tvalue += TrailByteValue(ch);\n\t\t\tbreak;\n\t\t}\n\t\ttbuf[ui] = value;\n\t\tui++;\n\t}\n\treturn ui;\n}\n\nunsigned int UTF16FromUTF32Character(unsigned int val, wchar_t *tbuf) noexcept {\n\tif (val < SUPPLEMENTAL_PLANE_FIRST) {\n\t\ttbuf[0] = static_cast<wchar_t>(val);\n\t\treturn 1;\n\t} else {\n\t\ttbuf[0] = static_cast<wchar_t>(((val - SUPPLEMENTAL_PLANE_FIRST) >> 10) + SURROGATE_LEAD_FIRST);\n\t\ttbuf[1] = static_cast<wchar_t>((val & 0x3ff) + SURROGATE_TRAIL_FIRST);\n\t\treturn 2;\n\t}\n}\n\nconst unsigned char UTF8BytesOfLead[256] = {\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 00 - 0F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 10 - 1F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 20 - 2F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 30 - 3F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 40 - 4F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 50 - 5F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 60 - 6F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 70 - 7F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 80 - 8F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 90 - 9F\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A0 - AF\n1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B0 - BF\n1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0 - CF\n2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // D0 - DF\n3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // E0 - EF\n4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // F0 - FF\n};\n\n// Return both the width of the first character in the string and a status\n// saying whether it is valid or invalid.\n// Most invalid sequences return a width of 1 so are treated as isolated bytes but\n// the non-characters *FFFE, *FFFF and FDD0 .. FDEF return 3 or 4 as they can be\n// reasonably treated as code points in some circumstances. They will, however,\n// not have associated glyphs.\nint UTF8Classify(const unsigned char *us, size_t len) noexcept {\n\t// For the rules: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8\n\tif (us[0] < 0x80) {\n\t\t// ASCII\n\t\treturn 1;\n\t}\n\n\tconst size_t byteCount = UTF8BytesOfLead[us[0]];\n\tif (byteCount == 1 || byteCount > len) {\n\t\t// Invalid lead byte\n\t\treturn UTF8MaskInvalid | 1;\n\t}\n\n\tif (!UTF8IsTrailByte(us[1])) {\n\t\t// Invalid trail byte\n\t\treturn UTF8MaskInvalid | 1;\n\t}\n\n\tswitch (byteCount) {\n\tcase 2:\n\t\treturn 2;\n\n\tcase 3:\n\t\tif (UTF8IsTrailByte(us[2])) {\n\t\t\tif ((*us == 0xe0) && ((us[1] & 0xe0) == 0x80)) {\n\t\t\t\t// Overlong\n\t\t\t\treturn UTF8MaskInvalid | 1;\n\t\t\t}\n\t\t\tif ((*us == 0xed) && ((us[1] & 0xe0) == 0xa0)) {\n\t\t\t\t// Surrogate\n\t\t\t\treturn UTF8MaskInvalid | 1;\n\t\t\t}\n\t\t\tif ((*us == 0xef) && (us[1] == 0xbf) && (us[2] == 0xbe)) {\n\t\t\t\t// U+FFFE non-character - 3 bytes long\n\t\t\t\treturn UTF8MaskInvalid | 3;\n\t\t\t}\n\t\t\tif ((*us == 0xef) && (us[1] == 0xbf) && (us[2] == 0xbf)) {\n\t\t\t\t// U+FFFF non-character - 3 bytes long\n\t\t\t\treturn UTF8MaskInvalid | 3;\n\t\t\t}\n\t\t\tif ((*us == 0xef) && (us[1] == 0xb7) && (((us[2] & 0xf0) == 0x90) || ((us[2] & 0xf0) == 0xa0))) {\n\t\t\t\t// U+FDD0 .. U+FDEF\n\t\t\t\treturn UTF8MaskInvalid | 3;\n\t\t\t}\n\t\t\treturn 3;\n\t\t}\n\t\tbreak;\n\n\tdefault:\n\t\tif (UTF8IsTrailByte(us[2]) && UTF8IsTrailByte(us[3])) {\n\t\t\tif (((us[1] & 0xf) == 0xf) && (us[2] == 0xbf) && ((us[3] == 0xbe) || (us[3] == 0xbf))) {\n\t\t\t\t// *FFFE or *FFFF non-character\n\t\t\t\treturn UTF8MaskInvalid | 4;\n\t\t\t}\n\t\t\tif (*us == 0xf4) {\n\t\t\t\t// Check if encoding a value beyond the last Unicode character 10FFFF\n\t\t\t\tif (us[1] > 0x8f) {\n\t\t\t\t\treturn UTF8MaskInvalid | 1;\n\t\t\t\t}\n\t\t\t} else if ((*us == 0xf0) && ((us[1] & 0xf0) == 0x80)) {\n\t\t\t\t// Overlong\n\t\t\t\treturn UTF8MaskInvalid | 1;\n\t\t\t}\n\t\t\treturn 4;\n\t\t}\n\t\tbreak;\n\t}\n\n\treturn UTF8MaskInvalid | 1;\n}\n\nint UTF8DrawBytes(const unsigned char *us, int len) noexcept {\n\tconst int utf8StatusNext = UTF8Classify(us, len);\n\treturn (utf8StatusNext & UTF8MaskInvalid) ? 1 : (utf8StatusNext & UTF8MaskWidth);\n}\n\nbool UTF8IsValid(const char *s, size_t len) noexcept {\n\tconst unsigned char *us = reinterpret_cast<const unsigned char *>(s);\n\tsize_t remaining = len;\n\twhile (remaining > 0) {\n\t\tconst int utf8Status = UTF8Classify(us, remaining);\n\t\tif (utf8Status & UTF8MaskInvalid) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\tconst int lenChar = utf8Status & UTF8MaskWidth;\n\t\t\tus += lenChar;\n\t\t\tremaining -= lenChar;\n\t\t}\n\t}\n\treturn remaining == 0;\n}\n\n// Replace invalid bytes in UTF-8 with the replacement character\nstd::string FixInvalidUTF8(const std::string &text) {\n\tstd::string result;\n\tconst char *s = text.c_str();\n\tsize_t remaining = text.size();\n\twhile (remaining > 0) {\n\t\tconst int utf8Status = UTF8Classify(reinterpret_cast<const unsigned char *>(s), remaining);\n\t\tif (utf8Status & UTF8MaskInvalid) {\n\t\t\t// Replacement character 0xFFFD = UTF8:\"efbfbd\".\n\t\t\tresult.append(\"\\xef\\xbf\\xbd\");\n\t\t\ts++;\n\t\t\tremaining--;\n\t\t} else {\n\t\t\tconst size_t len = utf8Status & UTF8MaskWidth;\n\t\t\tresult.append(s, len);\n\t\t\ts += len;\n\t\t\tremaining -= len;\n\t\t}\n\t}\n\treturn result;\n}\n\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/UniConversion.h",
    "content": "// Scintilla source code edit control\n/** @file UniConversion.h\n ** Functions to handle UTF-8 and UTF-16 strings.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef UNICONVERSION_H\n#define UNICONVERSION_H\n\nnamespace Scintilla {\n\nconst int UTF8MaxBytes = 4;\n\nconst int unicodeReplacementChar = 0xFFFD;\n\nsize_t UTF8Length(const wchar_t *uptr, size_t tlen);\nvoid UTF8FromUTF16(const wchar_t *uptr, size_t tlen, char *putf, size_t len);\nvoid UTF8FromUTF32Character(int uch, char *putf);\nsize_t UTF16Length(const char *s, size_t len);\nsize_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen);\nsize_t UTF32FromUTF8(const char *s, size_t len, unsigned int *tbuf, size_t tlen);\nunsigned int UTF16FromUTF32Character(unsigned int val, wchar_t *tbuf) noexcept;\nbool UTF8IsValid(const char *s, size_t len) noexcept;\nstd::string FixInvalidUTF8(const std::string &text);\n\nextern const unsigned char UTF8BytesOfLead[256];\n\ninline int UnicodeFromUTF8(const unsigned char *us) noexcept {\n\tswitch (UTF8BytesOfLead[us[0]]) {\n\tcase 1:\n\t\treturn us[0];\n\tcase 2:\n\t\treturn ((us[0] & 0x1F) << 6) + (us[1] & 0x3F);\n\tcase 3:\n\t\treturn ((us[0] & 0xF) << 12) + ((us[1] & 0x3F) << 6) + (us[2] & 0x3F);\n\tdefault:\n\t\treturn ((us[0] & 0x7) << 18) + ((us[1] & 0x3F) << 12) + ((us[2] & 0x3F) << 6) + (us[3] & 0x3F);\n\t}\n}\n\ninline constexpr bool UTF8IsTrailByte(unsigned char ch) noexcept {\n\treturn (ch >= 0x80) && (ch < 0xc0);\n}\n\ninline constexpr bool UTF8IsAscii(int ch) noexcept {\n\treturn ch < 0x80;\n}\n\nenum { UTF8MaskWidth=0x7, UTF8MaskInvalid=0x8 };\nint UTF8Classify(const unsigned char *us, size_t len) noexcept;\n\n// Similar to UTF8Classify but returns a length of 1 for invalid bytes\n// instead of setting the invalid flag\nint UTF8DrawBytes(const unsigned char *us, int len) noexcept;\n\n// Line separator is U+2028 \\xe2\\x80\\xa8\n// Paragraph separator is U+2029 \\xe2\\x80\\xa9\nconst int UTF8SeparatorLength = 3;\ninline bool UTF8IsSeparator(const unsigned char *us) noexcept {\n\treturn (us[0] == 0xe2) && (us[1] == 0x80) && ((us[2] == 0xa8) || (us[2] == 0xa9));\n}\n\n// NEL is U+0085 \\xc2\\x85\nconst int UTF8NELLength = 2;\ninline bool UTF8IsNEL(const unsigned char *us) noexcept {\n\treturn (us[0] == 0xc2) && (us[1] == 0x85);\n}\n\nenum { SURROGATE_LEAD_FIRST = 0xD800 };\nenum { SURROGATE_LEAD_LAST = 0xDBFF };\nenum { SURROGATE_TRAIL_FIRST = 0xDC00 };\nenum { SURROGATE_TRAIL_LAST = 0xDFFF };\nenum { SUPPLEMENTAL_PLANE_FIRST = 0x10000 };\n\ninline constexpr unsigned int UTF16CharLength(wchar_t uch) noexcept {\n\treturn ((uch >= SURROGATE_LEAD_FIRST) && (uch <= SURROGATE_LEAD_LAST)) ? 2 : 1;\n}\n\ninline constexpr unsigned int UTF16LengthFromUTF8ByteCount(unsigned int byteCount) noexcept {\n\treturn (byteCount < 4) ? 1 : 2;\n}\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/UniqueString.h",
    "content": "// Scintilla source code edit control\n/** @file UniqueString.h\n ** Define UniqueString, a unique_ptr based string type for storage in containers\n ** and an allocator for UniqueString.\n **/\n// Copyright 2017 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef UNIQUESTRING_H\n#define UNIQUESTRING_H\n\nnamespace Scintilla {\n\nusing UniqueString = std::unique_ptr<const char[]>;\n\n/// Equivalent to strdup but produces a std::unique_ptr<const char[]> allocation to go\n/// into collections.\ninline UniqueString UniqueStringCopy(const char *text) {\n\tif (!text) {\n\t\treturn UniqueString();\n\t}\n\tconst size_t len = strlen(text);\n\tchar *sNew = new char[len + 1];\n\tstd::copy(text, text + len + 1, sNew);\n\treturn UniqueString(sNew);\n}\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/ViewStyle.cpp",
    "content": "// Scintilla source code edit control\n/** @file ViewStyle.cxx\n ** Store information on how the document is to be viewed.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstddef>\n#include <cassert>\n#include <cstring>\n\n#include <stdexcept>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"Scintilla.h\"\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"Indicator.h\"\n#include \"XPM.h\"\n#include \"LineMarker.h\"\n#include \"Style.h\"\n#include \"ViewStyle.h\"\n\nusing namespace Scintilla;\n\nMarginStyle::MarginStyle(int style_, int width_, int mask_) :\n\tstyle(style_), width(width_), mask(mask_), sensitive(false), cursor(SC_CURSORREVERSEARROW) {\n}\n\n// A list of the fontnames - avoids wasting space in each style\nFontNames::FontNames() {\n}\n\nFontNames::~FontNames() {\n\tClear();\n}\n\nvoid FontNames::Clear() {\n\tnames.clear();\n}\n\nconst char *FontNames::Save(const char *name) {\n\tif (!name)\n\t\treturn nullptr;\n\n\tfor (const UniqueString &nm : names) {\n\t\tif (strcmp(nm.get(), name) == 0) {\n\t\t\treturn nm.get();\n\t\t}\n\t}\n\n\tnames.push_back(UniqueStringCopy(name));\n\treturn names.back().get();\n}\n\nFontRealised::FontRealised() {\n}\n\nFontRealised::~FontRealised() {\n\tfont.Release();\n}\n\nvoid FontRealised::Realise(Surface &surface, int zoomLevel, int technology, const FontSpecification &fs) {\n\tPLATFORM_ASSERT(fs.fontName);\n\tsizeZoomed = fs.size + zoomLevel * SC_FONT_SIZE_MULTIPLIER;\n\tif (sizeZoomed <= 2 * SC_FONT_SIZE_MULTIPLIER)\t// Hangs if sizeZoomed <= 1\n\t\tsizeZoomed = 2 * SC_FONT_SIZE_MULTIPLIER;\n\n\tconst float deviceHeight = static_cast<float>(surface.DeviceHeightFont(sizeZoomed));\n\tconst FontParameters fp(fs.fontName, deviceHeight / SC_FONT_SIZE_MULTIPLIER, fs.weight, fs.italic, fs.extraFontFlag, technology, fs.characterSet);\n\tfont.Create(fp);\n\n\tascent = static_cast<unsigned int>(surface.Ascent(font));\n\tdescent = static_cast<unsigned int>(surface.Descent(font));\n\tcapitalHeight = surface.Ascent(font) - surface.InternalLeading(font);\n\taveCharWidth = surface.AverageCharWidth(font);\n\tspaceWidth = surface.WidthText(font, \" \", 1);\n}\n\nViewStyle::ViewStyle() : markers(MARKER_MAX + 1), indicators(INDIC_MAX + 1) {\n\tInit();\n}\n\n// Copy constructor only called when printing copies the screen ViewStyle so it can be\n// modified for printing styles.\nViewStyle::ViewStyle(const ViewStyle &source) : markers(MARKER_MAX + 1), indicators(INDIC_MAX + 1) {\n\tInit(source.styles.size());\n\tstyles = source.styles;\n\tfor (size_t sty=0; sty<source.styles.size(); sty++) {\n\t\t// Can't just copy fontName as its lifetime is relative to its owning ViewStyle\n\t\tstyles[sty].fontName = fontNames.Save(source.styles[sty].fontName);\n\t}\n\tnextExtendedStyle = source.nextExtendedStyle;\n\tmarkers = source.markers;\n\tCalcLargestMarkerHeight();\n\n\tindicators = source.indicators;\n\n\tindicatorsDynamic = source.indicatorsDynamic;\n\tindicatorsSetFore = source.indicatorsSetFore;\n\n\tselColours = source.selColours;\n\tselAdditionalForeground = source.selAdditionalForeground;\n\tselAdditionalBackground = source.selAdditionalBackground;\n\tselBackground2 = source.selBackground2;\n\tselAlpha = source.selAlpha;\n\tselAdditionalAlpha = source.selAdditionalAlpha;\n\tselEOLFilled = source.selEOLFilled;\n\n\tfoldmarginColour = source.foldmarginColour;\n\tfoldmarginHighlightColour = source.foldmarginHighlightColour;\n\n\thotspotColours = source.hotspotColours;\n\thotspotUnderline = source.hotspotUnderline;\n\thotspotSingleLine = source.hotspotSingleLine;\n\n\twhitespaceColours = source.whitespaceColours;\n\tcontrolCharSymbol = source.controlCharSymbol;\n\tcontrolCharWidth = source.controlCharWidth;\n\tselbar = source.selbar;\n\tselbarlight = source.selbarlight;\n\tcaretcolour = source.caretcolour;\n\tadditionalCaretColour = source.additionalCaretColour;\n\tcaretLineFrame = source.caretLineFrame;\n\tshowCaretLineBackground = source.showCaretLineBackground;\n\talwaysShowCaretLineBackground = source.alwaysShowCaretLineBackground;\n\tcaretLineBackground = source.caretLineBackground;\n\tcaretLineAlpha = source.caretLineAlpha;\n\tcaretStyle = source.caretStyle;\n\tcaretWidth = source.caretWidth;\n\tsomeStylesProtected = false;\n\tsomeStylesForceCase = false;\n\tleftMarginWidth = source.leftMarginWidth;\n\trightMarginWidth = source.rightMarginWidth;\n\tms = source.ms;\n\tmaskInLine = source.maskInLine;\n\tmaskDrawInText = source.maskDrawInText;\n\tfixedColumnWidth = source.fixedColumnWidth;\n\tmarginInside = source.marginInside;\n\ttextStart = source.textStart;\n\tzoomLevel = source.zoomLevel;\n\tviewWhitespace = source.viewWhitespace;\n\ttabDrawMode = source.tabDrawMode;\n\twhitespaceSize = source.whitespaceSize;\n\tviewIndentationGuides = source.viewIndentationGuides;\n\tviewEOL = source.viewEOL;\n\textraFontFlag = source.extraFontFlag;\n\textraAscent = source.extraAscent;\n\textraDescent = source.extraDescent;\n\tmarginStyleOffset = source.marginStyleOffset;\n\tannotationVisible = source.annotationVisible;\n\tannotationStyleOffset = source.annotationStyleOffset;\n\tbraceHighlightIndicatorSet = source.braceHighlightIndicatorSet;\n\tbraceHighlightIndicator = source.braceHighlightIndicator;\n\tbraceBadLightIndicatorSet = source.braceBadLightIndicatorSet;\n\tbraceBadLightIndicator = source.braceBadLightIndicator;\n\n\tedgeState = source.edgeState;\n\ttheEdge = source.theEdge;\n\ttheMultiEdge = source.theMultiEdge;\n\n\tmarginNumberPadding = source.marginNumberPadding;\n\tctrlCharPadding = source.ctrlCharPadding;\n\tlastSegItalicsOffset = source.lastSegItalicsOffset;\n\n\twrapState = source.wrapState;\n\twrapVisualFlags = source.wrapVisualFlags;\n\twrapVisualFlagsLocation = source.wrapVisualFlagsLocation;\n\twrapVisualStartIndent = source.wrapVisualStartIndent;\n\twrapIndentMode = source.wrapIndentMode;\n}\n\nViewStyle::~ViewStyle() {\n\tstyles.clear();\n\tfonts.clear();\n}\n\nvoid ViewStyle::CalculateMarginWidthAndMask() {\n\tfixedColumnWidth = marginInside ? leftMarginWidth : 0;\n\tmaskInLine = 0xffffffff;\n\tint maskDefinedMarkers = 0;\n\tfor (const MarginStyle &m : ms) {\n\t\tfixedColumnWidth += m.width;\n\t\tif (m.width > 0)\n\t\t\tmaskInLine &= ~m.mask;\n\t\tmaskDefinedMarkers |= m.mask;\n\t}\n\tmaskDrawInText = 0;\n\tfor (int markBit = 0; markBit < 32; markBit++) {\n\t\tconst int maskBit = 1U << markBit;\n\t\tswitch (markers[markBit].markType) {\n\t\tcase SC_MARK_EMPTY:\n\t\t\tmaskInLine &= ~maskBit;\n\t\t\tbreak;\n\t\tcase SC_MARK_BACKGROUND:\n\t\tcase SC_MARK_UNDERLINE:\n\t\tcase SC_MARK_AVAILABLE:\n\t\t\tmaskInLine &= ~maskBit;\n\t\t\tmaskDrawInText |= maskDefinedMarkers & maskBit;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nvoid ViewStyle::Init(size_t stylesSize_) {\n\tAllocStyles(stylesSize_);\n\tnextExtendedStyle = 256;\n\tfontNames.Clear();\n\tResetDefaultStyle();\n\n\t// There are no image markers by default, so no need for calling CalcLargestMarkerHeight()\n\tlargestMarkerHeight = 0;\n\n\tindicators[0] = Indicator(INDIC_SQUIGGLE, ColourDesired(0, 0x7f, 0));\n\tindicators[1] = Indicator(INDIC_TT, ColourDesired(0, 0, 0xff));\n\tindicators[2] = Indicator(INDIC_PLAIN, ColourDesired(0xff, 0, 0));\n\n\ttechnology = SC_TECHNOLOGY_DEFAULT;\n\tindicatorsDynamic = false;\n\tindicatorsSetFore = false;\n\tlineHeight = 1;\n\tlineOverlap = 0;\n\tmaxAscent = 1;\n\tmaxDescent = 1;\n\taveCharWidth = 8;\n\tspaceWidth = 8;\n\ttabWidth = spaceWidth * 8;\n\n\tselColours.fore = ColourOptional(ColourDesired(0xff, 0, 0));\n\tselColours.back = ColourOptional(ColourDesired(0xc0, 0xc0, 0xc0), true);\n\tselAdditionalForeground = ColourDesired(0xff, 0, 0);\n\tselAdditionalBackground = ColourDesired(0xd7, 0xd7, 0xd7);\n\tselBackground2 = ColourDesired(0xb0, 0xb0, 0xb0);\n\tselAlpha = SC_ALPHA_NOALPHA;\n\tselAdditionalAlpha = SC_ALPHA_NOALPHA;\n\tselEOLFilled = false;\n\n\tfoldmarginColour = ColourOptional(ColourDesired(0xff, 0, 0));\n\tfoldmarginHighlightColour = ColourOptional(ColourDesired(0xc0, 0xc0, 0xc0));\n\n\twhitespaceColours.fore = ColourOptional();\n\twhitespaceColours.back = ColourOptional(ColourDesired(0xff, 0xff, 0xff));\n\tcontrolCharSymbol = 0;\t/* Draw the control characters */\n\tcontrolCharWidth = 0;\n\tselbar = Platform::Chrome();\n\tselbarlight = Platform::ChromeHighlight();\n\tstyles[STYLE_LINENUMBER].fore = ColourDesired(0, 0, 0);\n\tstyles[STYLE_LINENUMBER].back = Platform::Chrome();\n\tcaretcolour = ColourDesired(0, 0, 0);\n\tadditionalCaretColour = ColourDesired(0x7f, 0x7f, 0x7f);\n\tcaretLineFrame = 0;\n\tshowCaretLineBackground = false;\n\talwaysShowCaretLineBackground = false;\n\tcaretLineBackground = ColourDesired(0xff, 0xff, 0);\n\tcaretLineAlpha = SC_ALPHA_NOALPHA;\n\tcaretStyle = CARETSTYLE_LINE;\n\tcaretWidth = 1;\n\tsomeStylesProtected = false;\n\tsomeStylesForceCase = false;\n\n\thotspotColours.fore = ColourOptional(ColourDesired(0, 0, 0xff));\n\thotspotColours.back = ColourOptional(ColourDesired(0xff, 0xff, 0xff));\n\thotspotUnderline = true;\n\thotspotSingleLine = true;\n\n\tleftMarginWidth = 1;\n\trightMarginWidth = 1;\n\tms.resize(SC_MAX_MARGIN + 1);\n\tms[0] = MarginStyle(SC_MARGIN_NUMBER);\n\tms[1] = MarginStyle(SC_MARGIN_SYMBOL, 16, ~SC_MASK_FOLDERS);\n\tms[2] = MarginStyle(SC_MARGIN_SYMBOL);\n\tmarginInside = true;\n\tCalculateMarginWidthAndMask();\n\ttextStart = marginInside ? fixedColumnWidth : leftMarginWidth;\n\tzoomLevel = 0;\n\tviewWhitespace = wsInvisible;\n\ttabDrawMode = tdLongArrow;\n\twhitespaceSize = 1;\n\tviewIndentationGuides = ivNone;\n\tviewEOL = false;\n\textraFontFlag = 0;\n\textraAscent = 0;\n\textraDescent = 0;\n\tmarginStyleOffset = 0;\n\tannotationVisible = ANNOTATION_HIDDEN;\n\tannotationStyleOffset = 0;\n\tbraceHighlightIndicatorSet = false;\n\tbraceHighlightIndicator = 0;\n\tbraceBadLightIndicatorSet = false;\n\tbraceBadLightIndicator = 0;\n\n\tedgeState = EDGE_NONE;\n\ttheEdge = EdgeProperties(0, ColourDesired(0xc0, 0xc0, 0xc0));\n\n\tmarginNumberPadding = 3;\n\tctrlCharPadding = 3; // +3 For a blank on front and rounded edge each side\n\tlastSegItalicsOffset = 2;\n\n\twrapState = eWrapNone;\n\twrapVisualFlags = 0;\n\twrapVisualFlagsLocation = 0;\n\twrapVisualStartIndent = 0;\n\twrapIndentMode = SC_WRAPINDENT_FIXED;\n}\n\nvoid ViewStyle::Refresh(Surface &surface, int tabInChars) {\n\tfonts.clear();\n\n\tselbar = Platform::Chrome();\n\tselbarlight = Platform::ChromeHighlight();\n\n\t// Apply the extra font flag which controls text drawing quality to each style.\n\tfor (Style &style : styles) {\n\t\tstyle.extraFontFlag = extraFontFlag;\n\t}\n\n\t// Create a FontRealised object for each unique font in the styles.\n\tCreateAndAddFont(styles[STYLE_DEFAULT]);\n\tfor (const Style &style : styles) {\n\t\tCreateAndAddFont(style);\n\t}\n\n\t// Ask platform to allocate each unique font.\n\tfor (std::pair<const FontSpecification, std::unique_ptr<FontRealised>> &font : fonts) {\n\t\tfont.second->Realise(surface, zoomLevel, technology, font.first);\n\t}\n\n\t// Set the platform font handle and measurements for each style.\n\tfor (Style &style : styles) {\n\t\tFontRealised *fr = Find(style);\n\t\tstyle.Copy(fr->font, *fr);\n\t}\n\n\tindicatorsDynamic = std::any_of(indicators.cbegin(), indicators.cend(),\n\t\t[](const Indicator &indicator) { return indicator.IsDynamic(); });\n\n\tindicatorsSetFore = std::any_of(indicators.cbegin(), indicators.cend(),\n\t\t[](const Indicator &indicator) { return indicator.OverridesTextFore(); });\n\n\tmaxAscent = 1;\n\tmaxDescent = 1;\n\tFindMaxAscentDescent();\n\tmaxAscent += extraAscent;\n\tmaxDescent += extraDescent;\n\tlineHeight = maxAscent + maxDescent;\n\tlineOverlap = lineHeight / 10;\n\tif (lineOverlap < 2)\n\t\tlineOverlap = 2;\n\tif (lineOverlap > lineHeight)\n\t\tlineOverlap = lineHeight;\n\n\tsomeStylesProtected = std::any_of(styles.cbegin(), styles.cend(),\n\t\t[](const Style &style) { return style.IsProtected(); });\n\n\tsomeStylesForceCase = std::any_of(styles.cbegin(), styles.cend(),\n\t\t[](const Style &style) { return style.caseForce != Style::caseMixed; });\n\n\taveCharWidth = styles[STYLE_DEFAULT].aveCharWidth;\n\tspaceWidth = styles[STYLE_DEFAULT].spaceWidth;\n\ttabWidth = spaceWidth * tabInChars;\n\n\tcontrolCharWidth = 0.0;\n\tif (controlCharSymbol >= 32) {\n\t\tconst char cc[2] = { static_cast<char>(controlCharSymbol), '\\0' };\n\t\tcontrolCharWidth = surface.WidthText(styles[STYLE_CONTROLCHAR].font, cc, 1);\n\t}\n\n\tCalculateMarginWidthAndMask();\n\ttextStart = marginInside ? fixedColumnWidth : leftMarginWidth;\n}\n\nvoid ViewStyle::ReleaseAllExtendedStyles() {\n\tnextExtendedStyle = 256;\n}\n\nint ViewStyle::AllocateExtendedStyles(int numberStyles) {\n\tconst int startRange = nextExtendedStyle;\n\tnextExtendedStyle += numberStyles;\n\tEnsureStyle(nextExtendedStyle);\n\tfor (int i=startRange; i<nextExtendedStyle; i++) {\n\t\tstyles[i].ClearTo(styles[STYLE_DEFAULT]);\n\t}\n\treturn startRange;\n}\n\nvoid ViewStyle::EnsureStyle(size_t index) {\n\tif (index >= styles.size()) {\n\t\tAllocStyles(index+1);\n\t}\n}\n\nvoid ViewStyle::ResetDefaultStyle() {\n\tstyles[STYLE_DEFAULT].Clear(ColourDesired(0,0,0),\n\t        ColourDesired(0xff,0xff,0xff),\n\t        Platform::DefaultFontSize() * SC_FONT_SIZE_MULTIPLIER, fontNames.Save(Platform::DefaultFont()),\n\t        SC_CHARSET_DEFAULT,\n\t        SC_WEIGHT_NORMAL, false, false, false, Style::caseMixed, true, true, false);\n}\n\nvoid ViewStyle::ClearStyles() {\n\t// Reset all styles to be like the default style\n\tfor (unsigned int i=0; i<styles.size(); i++) {\n\t\tif (i != STYLE_DEFAULT) {\n\t\t\tstyles[i].ClearTo(styles[STYLE_DEFAULT]);\n\t\t}\n\t}\n\tstyles[STYLE_LINENUMBER].back = Platform::Chrome();\n\n\t// Set call tip fore/back to match the values previously set for call tips\n\tstyles[STYLE_CALLTIP].back = ColourDesired(0xff, 0xff, 0xff);\n\tstyles[STYLE_CALLTIP].fore = ColourDesired(0x80, 0x80, 0x80);\n}\n\nvoid ViewStyle::SetStyleFontName(int styleIndex, const char *name) {\n\tstyles[styleIndex].fontName = fontNames.Save(name);\n}\n\nbool ViewStyle::ProtectionActive() const {\n\treturn someStylesProtected;\n}\n\nint ViewStyle::ExternalMarginWidth() const {\n\treturn marginInside ? 0 : fixedColumnWidth;\n}\n\nint ViewStyle::MarginFromLocation(Point pt) const {\n\tint margin = -1;\n\tint x = marginInside ? 0 : -fixedColumnWidth;\n\tfor (size_t i = 0; i < ms.size(); i++) {\n\t\tif ((pt.x >= x) && (pt.x < x + ms[i].width))\n\t\t\tmargin = static_cast<int>(i);\n\t\tx += ms[i].width;\n\t}\n\treturn margin;\n}\n\nbool ViewStyle::ValidStyle(size_t styleIndex) const {\n\treturn styleIndex < styles.size();\n}\n\nvoid ViewStyle::CalcLargestMarkerHeight() {\n\tlargestMarkerHeight = 0;\n\tfor (const LineMarker &marker : markers) {\n\t\tswitch (marker.markType) {\n\t\tcase SC_MARK_PIXMAP:\n\t\t\tif (marker.pxpm && marker.pxpm->GetHeight() > largestMarkerHeight)\n\t\t\t\tlargestMarkerHeight = marker.pxpm->GetHeight();\n\t\t\tbreak;\n\t\tcase SC_MARK_RGBAIMAGE:\n\t\t\tif (marker.image && marker.image->GetHeight() > largestMarkerHeight)\n\t\t\t\tlargestMarkerHeight = marker.image->GetHeight();\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nint ViewStyle::GetFrameWidth() const {\n\treturn Sci::clamp(caretLineFrame, 1, lineHeight / 3);\n}\n\nbool ViewStyle::IsLineFrameOpaque(bool caretActive, bool lineContainsCaret) const {\n\treturn caretLineFrame && (caretActive || alwaysShowCaretLineBackground) && showCaretLineBackground &&\n\t\t(caretLineAlpha == SC_ALPHA_NOALPHA) && lineContainsCaret;\n}\n\n// See if something overrides the line background color:  Either if caret is on the line\n// and background color is set for that, or if a marker is defined that forces its background\n// color onto the line, or if a marker is defined but has no selection margin in which to\n// display itself (as long as it's not an SC_MARK_EMPTY marker).  These are checked in order\n// with the earlier taking precedence.  When multiple markers cause background override,\n// the color for the highest numbered one is used.\nColourOptional ViewStyle::Background(int marksOfLine, bool caretActive, bool lineContainsCaret) const {\n\tColourOptional background;\n\tif (!caretLineFrame && (caretActive || alwaysShowCaretLineBackground) && showCaretLineBackground &&\n\t\t(caretLineAlpha == SC_ALPHA_NOALPHA) && lineContainsCaret) {\n\t\tbackground = ColourOptional(caretLineBackground, true);\n\t}\n\tif (!background.isSet && marksOfLine) {\n\t\tint marks = marksOfLine;\n\t\tfor (int markBit = 0; (markBit < 32) && marks; markBit++) {\n\t\t\tif ((marks & 1) && (markers[markBit].markType == SC_MARK_BACKGROUND) &&\n\t\t\t\t(markers[markBit].alpha == SC_ALPHA_NOALPHA)) {\n\t\t\t\tbackground = ColourOptional(markers[markBit].back, true);\n\t\t\t}\n\t\t\tmarks >>= 1;\n\t\t}\n\t}\n\tif (!background.isSet && maskInLine) {\n\t\tint marksMasked = marksOfLine & maskInLine;\n\t\tif (marksMasked) {\n\t\t\tfor (int markBit = 0; (markBit < 32) && marksMasked; markBit++) {\n\t\t\t\tif ((marksMasked & 1) &&\n\t\t\t\t\t(markers[markBit].alpha == SC_ALPHA_NOALPHA)) {\n\t\t\t\t\tbackground = ColourOptional(markers[markBit].back, true);\n\t\t\t\t}\n\t\t\t\tmarksMasked >>= 1;\n\t\t\t}\n\t\t}\n\t}\n\treturn background;\n}\n\nbool ViewStyle::SelectionBackgroundDrawn() const {\n\treturn selColours.back.isSet &&\n\t\t((selAlpha == SC_ALPHA_NOALPHA) || (selAdditionalAlpha == SC_ALPHA_NOALPHA));\n}\n\nbool ViewStyle::WhitespaceBackgroundDrawn() const {\n\treturn (viewWhitespace != wsInvisible) && (whitespaceColours.back.isSet);\n}\n\nbool ViewStyle::WhiteSpaceVisible(bool inIndent) const {\n\treturn (!inIndent && viewWhitespace == wsVisibleAfterIndent) ||\n\t\t(inIndent && viewWhitespace == wsVisibleOnlyInIndent) ||\n\t\tviewWhitespace == wsVisibleAlways;\n}\n\nColourDesired ViewStyle::WrapColour() const {\n\tif (whitespaceColours.fore.isSet)\n\t\treturn whitespaceColours.fore;\n\telse\n\t\treturn styles[STYLE_DEFAULT].fore;\n}\n\nbool ViewStyle::SetWrapState(int wrapState_) {\n\tWrapMode wrapStateWanted;\n\tswitch (wrapState_) {\n\tcase SC_WRAP_WORD:\n\t\twrapStateWanted = eWrapWord;\n\t\tbreak;\n\tcase SC_WRAP_CHAR:\n\t\twrapStateWanted = eWrapChar;\n\t\tbreak;\n\tcase SC_WRAP_WHITESPACE:\n\t\twrapStateWanted = eWrapWhitespace;\n\t\tbreak;\n\tdefault:\n\t\twrapStateWanted = eWrapNone;\n\t\tbreak;\n\t}\n\tconst bool changed = wrapState != wrapStateWanted;\n\twrapState = wrapStateWanted;\n\treturn changed;\n}\n\nbool ViewStyle::SetWrapVisualFlags(int wrapVisualFlags_) {\n\tconst bool changed = wrapVisualFlags != wrapVisualFlags_;\n\twrapVisualFlags = wrapVisualFlags_;\n\treturn changed;\n}\n\nbool ViewStyle::SetWrapVisualFlagsLocation(int wrapVisualFlagsLocation_) {\n\tconst bool changed = wrapVisualFlagsLocation != wrapVisualFlagsLocation_;\n\twrapVisualFlagsLocation = wrapVisualFlagsLocation_;\n\treturn changed;\n}\n\nbool ViewStyle::SetWrapVisualStartIndent(int wrapVisualStartIndent_) {\n\tconst bool changed = wrapVisualStartIndent != wrapVisualStartIndent_;\n\twrapVisualStartIndent = wrapVisualStartIndent_;\n\treturn changed;\n}\n\nbool ViewStyle::SetWrapIndentMode(int wrapIndentMode_) {\n\tconst bool changed = wrapIndentMode != wrapIndentMode_;\n\twrapIndentMode = wrapIndentMode_;\n\treturn changed;\n}\n\nvoid ViewStyle::AllocStyles(size_t sizeNew) {\n\tsize_t i=styles.size();\n\tstyles.resize(sizeNew);\n\tif (styles.size() > STYLE_DEFAULT) {\n\t\tfor (; i<sizeNew; i++) {\n\t\t\tif (i != STYLE_DEFAULT) {\n\t\t\t\tstyles[i].ClearTo(styles[STYLE_DEFAULT]);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid ViewStyle::CreateAndAddFont(const FontSpecification &fs) {\n\tif (fs.fontName) {\n\t\tFontMap::iterator it = fonts.find(fs);\n\t\tif (it == fonts.end()) {\n\t\t\tfonts[fs] = std::unique_ptr<FontRealised>(new FontRealised());\n\t\t}\n\t}\n}\n\nFontRealised *ViewStyle::Find(const FontSpecification &fs) {\n\tif (!fs.fontName)\t// Invalid specification so return arbitrary object\n\t\treturn fonts.begin()->second.get();\n\tFontMap::iterator it = fonts.find(fs);\n\tif (it != fonts.end()) {\n\t\t// Should always reach here since map was just set for all styles\n\t\treturn it->second.get();\n\t}\n\treturn nullptr;\n}\n\nvoid ViewStyle::FindMaxAscentDescent() {\n\tfor (FontMap::const_iterator it = fonts.cbegin(); it != fonts.cend(); ++it) {\n\t\tif (maxAscent < it->second->ascent)\n\t\t\tmaxAscent = it->second->ascent;\n\t\tif (maxDescent < it->second->descent)\n\t\t\tmaxDescent = it->second->descent;\n\t}\n}\n"
  },
  {
    "path": "src/qscint/scintilla/src/ViewStyle.h",
    "content": "// Scintilla source code edit control\n/** @file ViewStyle.h\n ** Store information on how the document is to be viewed.\n **/\n// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef VIEWSTYLE_H\n#define VIEWSTYLE_H\n\nnamespace Scintilla {\n\n/**\n */\nclass MarginStyle {\npublic:\n\tint style;\n\tColourDesired back;\n\tint width;\n\tint mask;\n\tbool sensitive;\n\tint cursor;\n\tMarginStyle(int style_= SC_MARGIN_SYMBOL, int width_=0, int mask_=0);\n};\n\n/**\n */\nclass FontNames {\nprivate:\n\tstd::vector<UniqueString> names;\npublic:\n\tFontNames();\n\t// FontNames objects can not be copied.\n\tFontNames(const FontNames &) = delete;\n\tFontNames(FontNames &&) = delete;\n\tFontNames &operator=(const FontNames &) = delete;\n\tFontNames &operator=(FontNames &&) = delete;\n\t~FontNames();\n\tvoid Clear();\n\tconst char *Save(const char *name);\n};\n\nclass FontRealised : public FontMeasurements {\npublic:\n\tFont font;\n\tFontRealised();\n\t// FontRealised objects can not be copied.\n\tFontRealised(const FontRealised &) = delete;\n\tFontRealised(FontRealised &&) = delete;\n\tFontRealised &operator=(const FontRealised &) = delete;\n\tFontRealised &operator=(FontRealised &&) = delete;\n\tvirtual ~FontRealised();\n\tvoid Realise(Surface &surface, int zoomLevel, int technology, const FontSpecification &fs);\n};\n\nenum IndentView {ivNone, ivReal, ivLookForward, ivLookBoth};\n\nenum WhiteSpaceVisibility {wsInvisible=0, wsVisibleAlways=1, wsVisibleAfterIndent=2, wsVisibleOnlyInIndent=3};\n\nenum TabDrawMode {tdLongArrow=0, tdStrikeOut=1};\n\ntypedef std::map<FontSpecification, std::unique_ptr<FontRealised>> FontMap;\n\nenum WrapMode { eWrapNone, eWrapWord, eWrapChar, eWrapWhitespace };\n\nclass ColourOptional : public ColourDesired {\npublic:\n\tbool isSet;\n\tColourOptional(ColourDesired colour_=ColourDesired(0,0,0), bool isSet_=false) : ColourDesired(colour_), isSet(isSet_) {\n\t}\n\tColourOptional(uptr_t wParam, sptr_t lParam) : ColourDesired(static_cast<int>(lParam)), isSet(wParam != 0) {\n\t}\n};\n\nstruct ForeBackColours {\n\tColourOptional fore;\n\tColourOptional back;\n};\n\nstruct EdgeProperties {\n\tint column;\n\tColourDesired colour;\n\tEdgeProperties(int column_ = 0, ColourDesired colour_ = ColourDesired(0)) :\n\t\tcolumn(column_), colour(colour_) {\n\t}\n\tEdgeProperties(uptr_t wParam, sptr_t lParam) :\n\t\tcolumn(static_cast<int>(wParam)), colour(static_cast<int>(lParam)) {\n\t}\n};\n\n/**\n */\nclass ViewStyle {\n\tFontNames fontNames;\n\tFontMap fonts;\npublic:\n\tstd::vector<Style> styles;\n\tint nextExtendedStyle;\n\tstd::vector<LineMarker> markers;\n\tint largestMarkerHeight;\n\tstd::vector<Indicator> indicators;\n\tbool indicatorsDynamic;\n\tbool indicatorsSetFore;\n\tint technology;\n\tint lineHeight;\n\tint lineOverlap;\n\tunsigned int maxAscent;\n\tunsigned int maxDescent;\n\tXYPOSITION aveCharWidth;\n\tXYPOSITION spaceWidth;\n\tXYPOSITION tabWidth;\n\tForeBackColours selColours;\n\tColourDesired selAdditionalForeground;\n\tColourDesired selAdditionalBackground;\n\tColourDesired selBackground2;\n\tint selAlpha;\n\tint selAdditionalAlpha;\n\tbool selEOLFilled;\n\tForeBackColours whitespaceColours;\n\tint controlCharSymbol;\n\tXYPOSITION controlCharWidth;\n\tColourDesired selbar;\n\tColourDesired selbarlight;\n\tColourOptional foldmarginColour;\n\tColourOptional foldmarginHighlightColour;\n\tForeBackColours hotspotColours;\n\tbool hotspotUnderline;\n\tbool hotspotSingleLine;\n\t/// Margins are ordered: Line Numbers, Selection Margin, Spacing Margin\n\tint leftMarginWidth;\t///< Spacing margin on left of text\n\tint rightMarginWidth;\t///< Spacing margin on right of text\n\tint maskInLine;\t///< Mask for markers to be put into text because there is nowhere for them to go in margin\n\tint maskDrawInText;\t///< Mask for markers that always draw in text\n\tstd::vector<MarginStyle> ms;\n\tint fixedColumnWidth;\t///< Total width of margins\n\tbool marginInside;\t///< true: margin included in text view, false: separate views\n\tint textStart;\t///< Starting x position of text within the view\n\tint zoomLevel;\n\tWhiteSpaceVisibility viewWhitespace;\n\tTabDrawMode tabDrawMode;\n\tint whitespaceSize;\n\tIndentView viewIndentationGuides;\n\tbool viewEOL;\n\tColourDesired caretcolour;\n\tColourDesired additionalCaretColour;\n\tint caretLineFrame;\n\tbool showCaretLineBackground;\n\tbool alwaysShowCaretLineBackground;\n\tColourDesired caretLineBackground;\n\tint caretLineAlpha;\n\tint caretStyle;\n\tint caretWidth;\n\tbool someStylesProtected;\n\tbool someStylesForceCase;\n\tint extraFontFlag;\n\tint extraAscent;\n\tint extraDescent;\n\tint marginStyleOffset;\n\tint annotationVisible;\n\tint annotationStyleOffset;\n\tbool braceHighlightIndicatorSet;\n\tint braceHighlightIndicator;\n\tbool braceBadLightIndicatorSet;\n\tint braceBadLightIndicator;\n\tint edgeState;\n\tEdgeProperties theEdge;\n\tstd::vector<EdgeProperties> theMultiEdge;\n\tint marginNumberPadding; // the right-side padding of the number margin\n\tint ctrlCharPadding; // the padding around control character text blobs\n\tint lastSegItalicsOffset; // the offset so as not to clip italic characters at EOLs\n\n\t// Wrapping support\n\tWrapMode wrapState;\n\tint wrapVisualFlags;\n\tint wrapVisualFlagsLocation;\n\tint wrapVisualStartIndent;\n\tint wrapIndentMode; // SC_WRAPINDENT_FIXED, _SAME, _INDENT\n\n\tViewStyle();\n\tViewStyle(const ViewStyle &source);\n\tViewStyle(ViewStyle &&) = delete;\n\t// Can only be copied through copy constructor which ensures font names initialised correctly\n\tViewStyle &operator=(const ViewStyle &) = delete;\n\tViewStyle &operator=(ViewStyle &&) = delete;\n\t~ViewStyle();\n\tvoid CalculateMarginWidthAndMask();\n\tvoid Init(size_t stylesSize_=256);\n\tvoid Refresh(Surface &surface, int tabInChars);\n\tvoid ReleaseAllExtendedStyles();\n\tint AllocateExtendedStyles(int numberStyles);\n\tvoid EnsureStyle(size_t index);\n\tvoid ResetDefaultStyle();\n\tvoid ClearStyles();\n\tvoid SetStyleFontName(int styleIndex, const char *name);\n\tbool ProtectionActive() const;\n\tint ExternalMarginWidth() const;\n\tint MarginFromLocation(Point pt) const;\n\tbool ValidStyle(size_t styleIndex) const;\n\tvoid CalcLargestMarkerHeight();\n\tint GetFrameWidth() const;\n\tbool IsLineFrameOpaque(bool caretActive, bool lineContainsCaret) const;\n\tColourOptional Background(int marksOfLine, bool caretActive, bool lineContainsCaret) const;\n\tbool SelectionBackgroundDrawn() const;\n\tbool WhitespaceBackgroundDrawn() const;\n\tColourDesired WrapColour() const;\n\n\tbool SetWrapState(int wrapState_);\n\tbool SetWrapVisualFlags(int wrapVisualFlags_);\n\tbool SetWrapVisualFlagsLocation(int wrapVisualFlagsLocation_);\n\tbool SetWrapVisualStartIndent(int wrapVisualStartIndent_);\n\tbool SetWrapIndentMode(int wrapIndentMode_);\n\n\tbool WhiteSpaceVisible(bool inIndent) const;\n\nprivate:\n\tvoid AllocStyles(size_t sizeNew);\n\tvoid CreateAndAddFont(const FontSpecification &fs);\n\tFontRealised *Find(const FontSpecification &fs);\n\tvoid FindMaxAscentDescent();\n};\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/XPM.cpp",
    "content": "// Scintilla source code edit control\n/** @file XPM.cxx\n ** Define a class that holds data in the X Pixmap (XPM) format.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#include <cstdlib>\n#include <cstring>\n\n#include <stdexcept>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <iterator>\n#include <memory>\n\n#include \"Platform.h\"\n\n#include \"XPM.h\"\n\nusing namespace Scintilla;\n\n#if defined(PLAT_QT)\n\nXPM::XPM(const char *textForm)\n{\n    qpm = *reinterpret_cast<const QPixmap *>(textForm);\n}\n\nXPM::XPM(const char *const *linesForm)\n{\n    qpm = *reinterpret_cast<const QPixmap *>(linesForm);\n}\n\nvoid XPM::Draw(Surface *surface, PRectangle &rc)\n{\n    surface->DrawXPM(rc, this);\n}\n\nRGBAImage::RGBAImage(int width_, int height_, float scale_,\n        const unsigned char *pixels_)\n    : height(height_), width(width_), scale(scale_)\n{\n    if (pixels_)\n    {\n        qim = new QImage(*reinterpret_cast<const QImage *>(pixels_));\n    }\n    else\n    {\n#if QT_VERSION >= 0x040000\n        qim = new QImage(width_, height_, QImage::Format_ARGB32);\n#else\n        qim = new QImage(width_, height_, 32);\n        qim->setAlphaBuffer(true);\n#endif\n        qim->fill(0);\n    }\n}\n\nRGBAImage::RGBAImage(const XPM &xpm)\n{\n#if QT_VERSION >= 0x040000\n    qim = new QImage(xpm.Pixmap().toImage());\n#else\n    qim = new QImage(xpm.Pixmap().convertToImage());\n#endif\n\n    width = qim->width();\n    height = qim->height();\n}\n\nRGBAImage::~RGBAImage()\n{\n    delete qim;\n}\n\nconst unsigned char *RGBAImage::Pixels() const\n{\n    return reinterpret_cast<const unsigned char *>(qim);\n}\n\nvoid RGBAImage::SetPixel(int x, int y, ColourDesired colour, int alpha)\n{\n    QRgb rgba = qRgba(colour.GetRed(), colour.GetGreen(), colour.GetBlue(),\n            alpha);\n\n    uint index_or_rgb;\n\n#if QT_VERSION >= 0x040000\n    switch (qim->format())\n    {\n    case QImage::Format_RGB32:\n    case QImage::Format_ARGB32:\n        index_or_rgb = rgba;\n        break;\n\n    case QImage::Format_ARGB32_Premultiplied:\n        {\n            uint a = alpha;\n#if QT_POINTER_SIZE == 8\n            quint64 t = (((quint64(rgba)) | ((quint64(rgba)) << 24)) & 0x00ff00ff00ff00ff) * a;\n            t = (t + ((t >> 8) & 0xff00ff00ff00ff) + 0x80008000800080) >> 8;\n            t &= 0x000000ff00ff00ff;\n            index_or_rgb = (uint(t)) | (uint(t >> 24)) | (a << 24);\n#else\n            uint t = (rgba & 0xff00ff) * a;\n            t = (t + ((t >> 8) & 0xff00ff) + 0x800080) >> 8;\n            t &= 0xff00ff;\n\n            rgba = ((rgba >> 8) & 0xff) * a;\n            rgba = (rgba + ((rgba >> 8) & 0xff) + 0x80);\n            rgba &= 0xff00;\n            index_or_rgb = rgba | t | (a << 24);\n#endif\n            break;\n        }\n\n    default:\n#if QT_VERSION >= 0x040600\n        index_or_rgb = qim->colorCount();\n#else\n        index_or_rgb = qim->colorTable().count();\n#endif\n\n        qim->setColor(index_or_rgb, rgba);\n    }\n#else\n    if (qim->depth() == 32)\n    {\n        index_or_rgb = rgba;\n    }\n    else\n    {\n        index_or_rgb = qim->numColors();\n        qim->setNumColors(index_or_rgb + 1);\n\n        qim->setColor(index_or_rgb, rgba);\n    }\n#endif\n\n    qim->setPixel(x, y, index_or_rgb);\n}\n\n#else\n\nnamespace {\n\nconst char *NextField(const char *s) {\n\t// In case there are leading spaces in the string\n\twhile (*s == ' ') {\n\t\ts++;\n\t}\n\twhile (*s && *s != ' ') {\n\t\ts++;\n\t}\n\twhile (*s == ' ') {\n\t\ts++;\n\t}\n\treturn s;\n}\n\n// Data lines in XPM can be terminated either with NUL or \"\nsize_t MeasureLength(const char *s) {\n\tsize_t i = 0;\n\twhile (s[i] && (s[i] != '\\\"'))\n\t\ti++;\n\treturn i;\n}\n\nunsigned int ValueOfHex(const char ch) noexcept {\n\tif (ch >= '0' && ch <= '9')\n\t\treturn ch - '0';\n\telse if (ch >= 'A' && ch <= 'F')\n\t\treturn ch - 'A' + 10;\n\telse if (ch >= 'a' && ch <= 'f')\n\t\treturn ch - 'a' + 10;\n\telse\n\t\treturn 0;\n}\n\nColourDesired ColourFromHex(const char *val) noexcept {\n\tconst unsigned int r = ValueOfHex(val[0]) * 16 + ValueOfHex(val[1]);\n\tconst unsigned int g = ValueOfHex(val[2]) * 16 + ValueOfHex(val[3]);\n\tconst unsigned int b = ValueOfHex(val[4]) * 16 + ValueOfHex(val[5]);\n\treturn ColourDesired(r, g, b);\n}\n\n}\n\n\nColourDesired XPM::ColourFromCode(int ch) const {\n\treturn colourCodeTable[ch];\n}\n\nvoid XPM::FillRun(Surface *surface, int code, int startX, int y, int x) const {\n\tif ((code != codeTransparent) && (startX != x)) {\n\t\tconst PRectangle rc = PRectangle::FromInts(startX, y, x, y + 1);\n\t\tsurface->FillRectangle(rc, ColourFromCode(code));\n\t}\n}\n\nXPM::XPM(const char *textForm) {\n\tInit(textForm);\n}\n\nXPM::XPM(const char *const *linesForm) {\n\tInit(linesForm);\n}\n\nXPM::~XPM() {\n}\n\nvoid XPM::Init(const char *textForm) {\n\t// Test done is two parts to avoid possibility of overstepping the memory\n\t// if memcmp implemented strangely. Must be 4 bytes at least at destination.\n\tif ((0 == memcmp(textForm, \"/* X\", 4)) && (0 == memcmp(textForm, \"/* XPM */\", 9))) {\n\t\t// Build the lines form out of the text form\n\t\tstd::vector<const char *> linesForm = LinesFormFromTextForm(textForm);\n\t\tif (!linesForm.empty()) {\n\t\t\tInit(&linesForm[0]);\n\t\t}\n\t} else {\n\t\t// It is really in line form\n\t\tInit(reinterpret_cast<const char * const *>(textForm));\n\t}\n}\n\nvoid XPM::Init(const char *const *linesForm) {\n\theight = 1;\n\twidth = 1;\n\tnColours = 1;\n\tpixels.clear();\n\tcodeTransparent = ' ';\n\tif (!linesForm)\n\t\treturn;\n\n\tstd::fill(colourCodeTable, std::end(colourCodeTable), ColourDesired(0));\n\tconst char *line0 = linesForm[0];\n\twidth = atoi(line0);\n\tline0 = NextField(line0);\n\theight = atoi(line0);\n\tpixels.resize(width*height);\n\tline0 = NextField(line0);\n\tnColours = atoi(line0);\n\tline0 = NextField(line0);\n\tif (atoi(line0) != 1) {\n\t\t// Only one char per pixel is supported\n\t\treturn;\n\t}\n\n\tfor (int c=0; c<nColours; c++) {\n\t\tconst char *colourDef = linesForm[c+1];\n\t\tconst char code = colourDef[0];\n\t\tcolourDef += 4;\n\t\tColourDesired colour(0xff, 0xff, 0xff);\n\t\tif (*colourDef == '#') {\n\t\t\tcolour = ColourFromHex(colourDef+1);\n\t\t} else {\n\t\t\tcodeTransparent = code;\n\t\t}\n\t\tcolourCodeTable[static_cast<unsigned char>(code)] = colour;\n\t}\n\n\tfor (int y=0; y<height; y++) {\n\t\tconst char *lform = linesForm[y+nColours+1];\n\t\tconst size_t len = MeasureLength(lform);\n\t\tfor (size_t x = 0; x<len; x++)\n\t\t\tpixels[y * width + x] = lform[x];\n\t}\n}\n\nvoid XPM::Draw(Surface *surface, const PRectangle &rc) {\n\tif (pixels.empty()) {\n\t\treturn;\n\t}\n\t// Centre the pixmap\n\tconst int startY = static_cast<int>(rc.top + (rc.Height() - height) / 2);\n\tconst int startX = static_cast<int>(rc.left + (rc.Width() - width) / 2);\n\tfor (int y=0; y<height; y++) {\n\t\tint prevCode = 0;\n\t\tint xStartRun = 0;\n\t\tfor (int x=0; x<width; x++) {\n\t\t\tconst int code = pixels[y * width + x];\n\t\t\tif (code != prevCode) {\n\t\t\t\tFillRun(surface, prevCode, startX + xStartRun, startY + y, startX + x);\n\t\t\t\txStartRun = x;\n\t\t\t\tprevCode = code;\n\t\t\t}\n\t\t}\n\t\tFillRun(surface, prevCode, startX + xStartRun, startY + y, startX + width);\n\t}\n}\n\nvoid XPM::PixelAt(int x, int y, ColourDesired &colour, bool &transparent) const {\n\tif (pixels.empty() || (x<0) || (x >= width) || (y<0) || (y >= height)) {\n\t\tcolour = ColourDesired(0);\n\t\ttransparent = true;\n\t\treturn;\n\t}\n\tconst int code = pixels[y * width + x];\n\ttransparent = code == codeTransparent;\n\tif (transparent) {\n\t\tcolour = ColourDesired(0);\n\t} else {\n\t\tcolour = ColourFromCode(code);\n\t}\n}\n\nstd::vector<const char *> XPM::LinesFormFromTextForm(const char *textForm) {\n\t// Build the lines form out of the text form\n\tstd::vector<const char *> linesForm;\n\tint countQuotes = 0;\n\tint strings=1;\n\tint j=0;\n\tfor (; countQuotes < (2*strings) && textForm[j] != '\\0'; j++) {\n\t\tif (textForm[j] == '\\\"') {\n\t\t\tif (countQuotes == 0) {\n\t\t\t\t// First field: width, height, number of colors, chars per pixel\n\t\t\t\tconst char *line0 = textForm + j + 1;\n\t\t\t\t// Skip width\n\t\t\t\tline0 = NextField(line0);\n\t\t\t\t// Add 1 line for each pixel of height\n\t\t\t\tstrings += atoi(line0);\n\t\t\t\tline0 = NextField(line0);\n\t\t\t\t// Add 1 line for each colour\n\t\t\t\tstrings += atoi(line0);\n\t\t\t}\n\t\t\tif (countQuotes / 2 >= strings) {\n\t\t\t\tbreak;\t// Bad height or number of colors!\n\t\t\t}\n\t\t\tif ((countQuotes & 1) == 0) {\n\t\t\t\tlinesForm.push_back(textForm + j + 1);\n\t\t\t}\n\t\t\tcountQuotes++;\n\t\t}\n\t}\n\tif (textForm[j] == '\\0' || countQuotes / 2 > strings) {\n\t\t// Malformed XPM! Height + number of colors too high or too low\n\t\tlinesForm.clear();\n\t}\n\treturn linesForm;\n}\n\nRGBAImage::RGBAImage(int width_, int height_, float scale_, const unsigned char *pixels_) :\n\theight(height_), width(width_), scale(scale_) {\n\tif (pixels_) {\n\t\tpixelBytes.assign(pixels_, pixels_ + CountBytes());\n\t} else {\n\t\tpixelBytes.resize(CountBytes());\n\t}\n}\n\nRGBAImage::RGBAImage(const XPM &xpm) {\n\theight = xpm.GetHeight();\n\twidth = xpm.GetWidth();\n\tscale = 1;\n\tpixelBytes.resize(CountBytes());\n\tfor (int y=0; y<height; y++) {\n\t\tfor (int x=0; x<width; x++) {\n\t\t\tColourDesired colour;\n\t\t\tbool transparent = false;\n\t\t\txpm.PixelAt(x, y, colour, transparent);\n\t\t\tSetPixel(x, y, colour, transparent ? 0 : 255);\n\t\t}\n\t}\n}\n\nRGBAImage::~RGBAImage() {\n}\n\nint RGBAImage::CountBytes() const {\n\treturn width * height * 4;\n}\n\nconst unsigned char *RGBAImage::Pixels() const {\n\treturn &pixelBytes[0];\n}\n\nvoid RGBAImage::SetPixel(int x, int y, ColourDesired colour, int alpha) {\n\tunsigned char *pixel = &pixelBytes[0] + (y*width+x) * 4;\n\t// RGBA\n\tpixel[0] = colour.GetRed();\n\tpixel[1] = colour.GetGreen();\n\tpixel[2] = colour.GetBlue();\n\tpixel[3] = static_cast<unsigned char>(alpha);\n}\n\nRGBAImageSet::RGBAImageSet() : height(-1), width(-1) {\n}\n\nRGBAImageSet::~RGBAImageSet() {\n\tClear();\n}\n\n/// Remove all images.\nvoid RGBAImageSet::Clear() {\n\timages.clear();\n\theight = -1;\n\twidth = -1;\n}\n\n/// Add an image.\nvoid RGBAImageSet::Add(int ident, RGBAImage *image) {\n\tImageMap::iterator it=images.find(ident);\n\tif (it == images.end()) {\n\t\timages[ident] = std::unique_ptr<RGBAImage>(image);\n\t} else {\n\t\tit->second.reset(image);\n\t}\n\theight = -1;\n\twidth = -1;\n}\n\n/// Get image by id.\nRGBAImage *RGBAImageSet::Get(int ident) {\n\tImageMap::iterator it = images.find(ident);\n\tif (it != images.end()) {\n\t\treturn it->second.get();\n\t}\n\treturn nullptr;\n}\n\n/// Give the largest height of the set.\nint RGBAImageSet::GetHeight() const {\n\tif (height < 0) {\n\t\tfor (const std::pair<const int, std::unique_ptr<RGBAImage>> &image : images) {\n\t\t\tif (height < image.second->GetHeight()) {\n\t\t\t\theight = image.second->GetHeight();\n\t\t\t}\n\t\t}\n\t}\n\treturn (height > 0) ? height : 0;\n}\n\n/// Give the largest width of the set.\nint RGBAImageSet::GetWidth() const {\n\tif (width < 0) {\n\t\tfor (const std::pair<const int, std::unique_ptr<RGBAImage>> &image : images) {\n\t\t\tif (width < image.second->GetWidth()) {\n\t\t\t\twidth = image.second->GetWidth();\n\t\t\t}\n\t\t}\n\t}\n\treturn (width > 0) ? width : 0;\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/scintilla/src/XPM.h",
    "content": "// Scintilla source code edit control\n/** @file XPM.h\n ** Define a classes to hold image data in the X Pixmap (XPM) and RGBA formats.\n **/\n// Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>\n// The License.txt file describes the conditions under which this software may be distributed.\n\n#ifndef XPM_H\n#define XPM_H\n\n#if defined(PLAT_QT)\n#include <qimage.h>\n#include <qpixmap.h>\n#endif\n\nnamespace Scintilla {\n\n/**\n * Hold a pixmap in XPM format.\n */\nclass XPM {\n#if defined(PLAT_QT)\n    QPixmap qpm;\n\npublic:\n    XPM(const char *textForm);\n    XPM(const char *const *linesForm);\n    ~XPM() {}\n\n    void Draw(Surface *surface, PRectangle &rc);\n    int GetHeight() const {return qpm.height();}\n\n    const QPixmap &Pixmap() const {return qpm;}\n#else\n\tint height=1;\n\tint width=1;\n\tint nColours=1;\n\tstd::vector<unsigned char> pixels;\n\tColourDesired colourCodeTable[256];\n\tchar codeTransparent=' ';\n\tColourDesired ColourFromCode(int ch) const;\n\tvoid FillRun(Surface *surface, int code, int startX, int y, int x) const;\npublic:\n\texplicit XPM(const char *textForm);\n\texplicit XPM(const char *const *linesForm);\n    XPM(const XPM &) = delete;\n    XPM(XPM &&) = delete;\n    XPM &operator=(const XPM &) = delete;\n    XPM &operator=(XPM &&) = delete;\n\t~XPM();\n\tvoid Init(const char *textForm);\n\tvoid Init(const char *const *linesForm);\n\t/// Decompose image into runs and use FillRectangle for each run\n\tvoid Draw(Surface *surface, const PRectangle &rc);\n\tint GetHeight() const { return height; }\n\tint GetWidth() const { return width; }\n\tvoid PixelAt(int x, int y, ColourDesired &colour, bool &transparent) const;\nprivate:\n\tstatic std::vector<const char *>LinesFormFromTextForm(const char *textForm);\n#endif\n};\n\n/**\n * A translucent image stored as a sequence of RGBA bytes.\n */\nclass RGBAImage {\n\tint height;\n\tint width;\n\tfloat scale;\n#if defined(PLAT_QT)\n    QImage *qim;\n#else\n\tstd::vector<unsigned char> pixelBytes;\n#endif\npublic:\n\tRGBAImage(int width_, int height_, float scale_, const unsigned char *pixels_);\n\texplicit RGBAImage(const XPM &xpm);\n\t// Deleted so RGBAImage objects can not be copied.\n\tRGBAImage(const RGBAImage &) = delete;\n\tRGBAImage(RGBAImage &&) = delete;\n\tRGBAImage &operator=(const RGBAImage &) = delete;\n\tRGBAImage &operator=(RGBAImage &&) = delete;\n\tvirtual ~RGBAImage();\n\tint GetHeight() const { return height; }\n\tint GetWidth() const { return width; }\n\tfloat GetScale() const { return scale; }\n\tfloat GetScaledHeight() const { return height / scale; }\n\tfloat GetScaledWidth() const { return width / scale; }\n#if !defined(PLAT_QT)\n\tint CountBytes() const;\n#endif\n\tconst unsigned char *Pixels() const;\n\tvoid SetPixel(int x, int y, ColourDesired colour, int alpha);\n};\n\n#if !defined(PLAT_QT)\n\n/**\n * A collection of RGBAImage pixmaps indexed by integer id.\n */\nclass RGBAImageSet {\n\ttypedef std::map<int, std::unique_ptr<RGBAImage>> ImageMap;\n\tImageMap images;\n\tmutable int height;\t///< Memorize largest height of the set.\n\tmutable int width;\t///< Memorize largest width of the set.\npublic:\n\tRGBAImageSet();\n\t// Deleted so RGBAImageSet objects can not be copied.\n\tRGBAImageSet(const RGBAImageSet &) = delete;\n\tRGBAImageSet(RGBAImageSet &&) = delete;\n\tRGBAImageSet &operator=(const RGBAImageSet &) = delete;\n\tRGBAImageSet &operator=(RGBAImageSet &&) = delete;\n\t~RGBAImageSet();\n\t/// Remove all images.\n\tvoid Clear();\n\t/// Add an image.\n\tvoid Add(int ident, RGBAImage *image);\n\t/// Get image by id.\n\tRGBAImage *Get(int ident);\n\t/// Give the largest height of the set.\n\tint GetHeight() const;\n\t/// Give the largest width of the set.\n\tint GetWidth() const;\n};\n\n#endif\n\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/.qmake.stash",
    "content": "QMAKE_CXX.QT_COMPILER_STDCXX = 199711L\r\nQMAKE_CXX.QMAKE_MSC_VER = 1916\r\nQMAKE_CXX.QMAKE_MSC_FULL_VER = 191627045\r\nQMAKE_CXX.COMPILER_MACROS = \\\r\n    QT_COMPILER_STDCXX \\\r\n    QMAKE_MSC_VER \\\r\n    QMAKE_MSC_FULL_VER\r\nQMAKE_CXX.INCDIRS = \\\r\n    \"D:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2017\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.16.27023\\\\include\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\NETFXSDK\\\\4.6.1\\\\include\\\\um\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\include\\\\10.0.17763.0\\\\ucrt\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\include\\\\10.0.17763.0\\\\shared\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\include\\\\10.0.17763.0\\\\um\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\include\\\\10.0.17763.0\\\\winrt\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\include\\\\10.0.17763.0\\\\cppwinrt\"\r\nQMAKE_CXX.LIBDIRS = \\\r\n    \"D:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2017\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.16.27023\\\\lib\\\\x64\" \\\r\n    \"C:\\\\Program Files (x86)\\\\Windows Kits\\\\NETFXSDK\\\\4.6.1\\\\lib\\\\um\\\\x64\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\lib\\\\10.0.17763.0\\\\ucrt\\\\x64\" \\\r\n    \"D:\\\\Windows Kits\\\\10\\\\lib\\\\10.0.17763.0\\\\um\\\\x64\"\r\n"
  },
  {
    "path": "src/qscint/src/InputMethod.cpp",
    "content": "// Copyright (c) 2023 Riverbank Computing Limited\n// Copyright (c) 2011 Archaeopteryx Software, Inc.\n// Copyright (c) 1990-2011, Scientific Toolworks, Inc.\n//\n// The License.txt file describes the conditions under which this software may\n// be distributed.\n\n\n#include <qglobal.h>\n\n#include <QColor>\n#include <QFont>\n#include <QInputMethodEvent>\n#include <QRect>\n#include <QTextCharFormat>\n#include <QTextFormat>\n#include <QVariant>\n#include <QVarLengthArray>\n\n#include \"Qsci/qsciscintillabase.h\"\n#include \"ScintillaQt.h\"\n\n\n#define INDIC_INPUTMETHOD 24\n\n#define MAXLENINPUTIME 200\n#define SC_INDICATOR_INPUT INDIC_IME\n#define SC_INDICATOR_TARGET INDIC_IME+1\n#define SC_INDICATOR_CONVERTED INDIC_IME+2\n#define SC_INDICATOR_UNKNOWN INDIC_IME_MAX\n\n\nstatic bool IsHangul(const QChar qchar)\n{\n    int unicode = (int)qchar.unicode();\n    // Korean character ranges used for preedit chars.\n    // http://www.programminginkorean.com/programming/hangul-in-unicode/\n    const bool HangulJamo = (0x1100 <= unicode && unicode <= 0x11FF);\n    const bool HangulCompatibleJamo = (0x3130 <= unicode && unicode <= 0x318F);\n    const bool HangulJamoExtendedA = (0xA960 <= unicode && unicode <= 0xA97F);\n    const bool HangulJamoExtendedB = (0xD7B0 <= unicode && unicode <= 0xD7FF);\n    const bool HangulSyllable = (0xAC00 <= unicode && unicode <= 0xD7A3);\n    return HangulJamo || HangulCompatibleJamo  || HangulSyllable ||\n                HangulJamoExtendedA || HangulJamoExtendedB;\n}\n\nstatic void MoveImeCarets(QsciScintillaQt *sqt, int offset)\n{\n    // Move carets relatively by bytes\n    for (size_t r=0; r < sqt->sel.Count(); r++) {\n        int positionInsert = sqt->sel.Range(r).Start().Position();\n        sqt->sel.Range(r).caret.SetPosition(positionInsert + offset);\n        sqt->sel.Range(r).anchor.SetPosition(positionInsert + offset);\n    }\n}\n\nstatic void DrawImeIndicator(QsciScintillaQt *sqt, int indicator, int len)\n{\n    // Emulate the visual style of IME characters with indicators.\n    // Draw an indicator on the character before caret by the character bytes of len\n    // so it should be called after AddCharUTF().\n    // It does not affect caret positions.\n    if (indicator < 8 || indicator > INDIC_MAX) {\n        return;\n    }\n    sqt->pdoc->DecorationSetCurrentIndicator(indicator);\n    for (size_t r=0; r< sqt-> sel.Count(); r++) {\n        int positionInsert = sqt->sel.Range(r).Start().Position();\n        sqt->pdoc->DecorationFillRange(positionInsert - len, 1, len);\n    }\n}\n\nstatic int GetImeCaretPos(QInputMethodEvent *event)\n{\n    foreach (QInputMethodEvent::Attribute attr, event->attributes()) {\n        if (attr.type == QInputMethodEvent::Cursor)\n            return attr.start;\n    }\n    return 0;\n}\n\nstatic std::vector<int> MapImeIndicators(QInputMethodEvent *event)\n{\n    std::vector<int> imeIndicator(event->preeditString().size(), SC_INDICATOR_UNKNOWN);\n    foreach (QInputMethodEvent::Attribute attr, event->attributes()) {\n        if (attr.type == QInputMethodEvent::TextFormat) {\n            QTextFormat format = attr.value.value<QTextFormat>();\n            QTextCharFormat charFormat = format.toCharFormat();\n\n            int indicator = SC_INDICATOR_UNKNOWN;\n            switch (charFormat.underlineStyle()) {\n                case QTextCharFormat::NoUnderline: // win32, linux\n                    indicator = SC_INDICATOR_TARGET;\n                    break;\n                case QTextCharFormat::SingleUnderline: // osx\n                case QTextCharFormat::DashUnderline: // win32, linux\n                    indicator = SC_INDICATOR_INPUT;\n                    break;\n                case QTextCharFormat::DotLine:\n                case QTextCharFormat::DashDotLine:\n                case QTextCharFormat::WaveUnderline:\n                case QTextCharFormat::SpellCheckUnderline:\n                    indicator = SC_INDICATOR_CONVERTED;\n                    break;\n\n                default:\n                    indicator = SC_INDICATOR_UNKNOWN;\n            }\n\n            if (format.hasProperty(QTextFormat::BackgroundBrush)) // win32, linux\n                indicator = SC_INDICATOR_TARGET;\n\n#ifdef Q_OS_OSX\n            if (charFormat.underlineStyle() == QTextCharFormat::SingleUnderline) {\n                QColor uc = charFormat.underlineColor();\n                if (uc.lightness() < 2) { // osx\n                    indicator = SC_INDICATOR_TARGET;\n                }\n            }\n#endif\n\n            for (int i = attr.start; i < attr.start+attr.length; i++) {\n                imeIndicator[i] = indicator;\n            }\n        }\n    }\n    return imeIndicator;\n}\n\nvoid QsciScintillaBase::inputMethodEvent(QInputMethodEvent *event)\n{\n    // Copy & paste by johnsonj with a lot of helps of Neil\n    // Great thanks for my forerunners, jiniya and BLUEnLIVE\n\n    if (sci->pdoc->IsReadOnly() || sci->SelectionContainsProtected()) {\n        // Here, a canceling and/or completing composition function is needed.\n        return;\n    }\n\n    bool initialCompose = false;\n    if (sci->pdoc->TentativeActive()) {\n        sci->pdoc->TentativeUndo();\n    } else {\n        // No tentative undo means start of this composition so\n        // Fill in any virtual spaces.\n        initialCompose = true;\n    }\n\n    sci->view.imeCaretBlockOverride = false;\n\n    if (!event->commitString().isEmpty()) {\n        const QString commitStr = event->commitString();\n        const int commitStrLen = commitStr.length();\n\n        for (int i = 0; i < commitStrLen;) {\n            const int ucWidth = commitStr.at(i).isHighSurrogate() ? 2 : 1;\n            const QString oneCharUTF16 = commitStr.mid(i, ucWidth);\n            const QByteArray oneChar = textAsBytes(oneCharUTF16);\n            const int oneCharLen = oneChar.length();\n\n            sci->AddCharUTF(oneChar.data(), oneChar.length());\n            i += ucWidth;\n        }\n\n    } else if (!event->preeditString().isEmpty()) {\n        const QString preeditStr = event->preeditString();\n        const int preeditStrLen = preeditStr.length();\n        if (preeditStrLen == 0) {\n            sci->ShowCaretAtCurrentPosition();\n            return;\n        }\n\n        if (initialCompose)\n            sci->ClearBeforeTentativeStart();\n        sci->pdoc->TentativeStart(); // TentativeActive() from now on.\n\n        std::vector<int> imeIndicator = MapImeIndicators(event);\n\n        for (unsigned int i = 0; i < preeditStrLen;) {\n            const unsigned int ucWidth = preeditStr.at(i).isHighSurrogate() ? 2 : 1;\n            const QString oneCharUTF16 = preeditStr.mid(i, ucWidth);\n            const QByteArray oneChar = textAsBytes(oneCharUTF16);\n            const int oneCharLen = oneChar.length();\n\n            sci->AddCharUTF(oneChar.data(), oneCharLen);\n\n            DrawImeIndicator(sci, imeIndicator[i], oneCharLen);\n            i += ucWidth;\n        }\n\n        // Move IME carets.\n        int imeCaretPos = GetImeCaretPos(event);\n        int imeEndToImeCaretU16 = imeCaretPos - preeditStrLen;\n        int imeCaretPosDoc = sci->pdoc->GetRelativePositionUTF16(sci->CurrentPosition(), imeEndToImeCaretU16);\n\n        MoveImeCarets(sci, - sci->CurrentPosition() + imeCaretPosDoc);\n\n        if (IsHangul(preeditStr.at(0))) {\n#ifndef Q_OS_WIN\n            if (imeCaretPos > 0) {\n                int oneCharBefore = sci->pdoc->GetRelativePosition(sci->CurrentPosition(), -1);\n                MoveImeCarets(sci, - sci->CurrentPosition() + oneCharBefore);\n            }\n#endif\n            sci->view.imeCaretBlockOverride = true;\n        }\n\n        // Set candidate box position for Qt::ImCursorRectangle.\n        preeditPos = sci->CurrentPosition();\n        sci->EnsureCaretVisible();\n        updateMicroFocus();\n    }\n    sci->ShowCaretAtCurrentPosition();\n}\n\nQVariant QsciScintillaBase::inputMethodQuery(Qt::InputMethodQuery query) const\n{\n    int pos = SendScintilla(SCI_GETCURRENTPOS);\n    int line = SendScintilla(SCI_LINEFROMPOSITION, pos);\n\n    switch (query) {\n        case Qt::ImHints:\n            return QWidget::inputMethodQuery(query);\n\n        case Qt::ImCursorRectangle:\n        {\n            int startPos = (preeditPos >= 0) ? preeditPos : pos;\n            Scintilla::Point pt = sci->LocationFromPosition(startPos);\n            int width = SendScintilla(SCI_GETCARETWIDTH);\n            int height = SendScintilla(SCI_TEXTHEIGHT, line);\n            return QRect(pt.x, pt.y, width, height);\n        }\n\n        case Qt::ImFont:\n        {\n            char fontName[64];\n            int style = SendScintilla(SCI_GETSTYLEAT, pos);\n            int len = SendScintilla(SCI_STYLEGETFONT, style, (sptr_t)fontName);\n            int size = SendScintilla(SCI_STYLEGETSIZE, style);\n            bool italic = SendScintilla(SCI_STYLEGETITALIC, style);\n            int weight = SendScintilla(SCI_STYLEGETBOLD, style) ? QFont::Bold : -1;\n            return QFont(QString::fromUtf8(fontName, len), size, weight, italic);\n        }\n\n        case Qt::ImCursorPosition:\n        {\n            int paraStart = sci->pdoc->ParaUp(pos);\n            return pos - paraStart;\n        }\n\n        case Qt::ImSurroundingText:\n        {\n            int paraStart = sci->pdoc->ParaUp(pos);\n            int paraEnd = sci->pdoc->ParaDown(pos);\n            QVarLengthArray<char,1024> buffer(paraEnd - paraStart + 1);\n\n            Sci_CharacterRange charRange;\n            charRange.cpMin = paraStart;\n            charRange.cpMax = paraEnd;\n\n            Sci_TextRange textRange;\n            textRange.chrg = charRange;\n            textRange.lpstrText = buffer.data();\n\n            SendScintilla(SCI_GETTEXTRANGE, 0, (sptr_t)&textRange);\n\n            return bytesAsText(buffer.constData());\n        }\n\n        case Qt::ImCurrentSelection:\n        {\n            QVarLengthArray<char,1024> buffer(SendScintilla(SCI_GETSELTEXT));\n            SendScintilla(SCI_GETSELTEXT, 0, (sptr_t)buffer.data());\n\n            return bytesAsText(buffer.constData());\n        }\n\n        default:\n            return QVariant();\n    }\n}\n"
  },
  {
    "path": "src/qscint/src/ListBoxQt.cpp",
    "content": "// This module implements the specialisation of QListBox that handles the\n// Scintilla double-click callback.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"ListBoxQt.h\"\n\n#include <stdlib.h>\n\n#include <QApplication>\n\n#include \"SciClasses.h\"\n#include \"Qsci/qsciscintilla.h\"\n\n\nQsciListBoxQt::QsciListBoxQt()\n    : slb(0), visible_rows(5), utf8(false), delegate(0)\n{\n}\n\n\nvoid QsciListBoxQt::SetFont(Scintilla::Font &font)\n{\n    QFont *f = reinterpret_cast<QFont *>(font.GetID());\n\n    if (f)\n        slb->setFont(*f);\n}\n\n\nvoid QsciListBoxQt::Create(Scintilla::Window &parent, int, Scintilla::Point,\n        int, bool unicodeMode, int)\n{\n    utf8 = unicodeMode;\n\n    // The parent we want is the QsciScintillaBase, not the text area.\n    wid = slb = new QsciSciListBox(reinterpret_cast<QWidget *>(parent.GetID())->parentWidget(), this);\n}\n\n\nvoid QsciListBoxQt::SetAverageCharWidth(int)\n{\n    // We rely on sizeHint() for the size of the list box rather than make\n    // calculations based on the average character width and the number of\n    // visible rows.\n}\n\n\nvoid QsciListBoxQt::SetVisibleRows(int vrows)\n{\n    // We only pretend to implement this.\n    visible_rows = vrows;\n}\n\n\nint QsciListBoxQt::GetVisibleRows() const\n{\n    return visible_rows;\n}\n\n\nScintilla::PRectangle QsciListBoxQt::GetDesiredRect()\n{\n    Scintilla::PRectangle rc(0, 0, 100, 100);\n\n    if (slb)\n    {\n        int rows = slb->count();\n\n        if (rows == 0 || rows > visible_rows)\n            rows = visible_rows;\n\n        int row_height = slb->sizeHintForRow(0);\n        int height = (rows * row_height) + (2 * slb->frameWidth());\n\n        int width = slb->sizeHintForColumn(0) + (2 * slb->frameWidth());\n\n        if (slb->count() > rows)\n            width += QApplication::style()->pixelMetric(\n                    QStyle::PM_ScrollBarExtent);\n\n        rc.right = width;\n        rc.bottom = height;\n    }\n\n    return rc;\n}\n\n\nint QsciListBoxQt::CaretFromEdge()\n{\n    int dist = 0;\n\n    // Find the width of the biggest image.\n    for (xpmMap::const_iterator it = xset.begin(); it != xset.end(); ++it)\n    {\n        int w = it.value().width();\n\n        if (dist < w)\n            dist = w;\n    }\n\n    if (slb)\n        dist += slb->frameWidth();\n\n    // Fudge factor - adjust if required.\n    dist += 3;\n\n    return dist;\n}\n\n\nvoid QsciListBoxQt::Clear()\n{\n    Q_ASSERT(slb);\n\n    slb->clear();\n}\n\n\nvoid QsciListBoxQt::Append(char *s, int type)\n{\n    Q_ASSERT(slb);\n\n    QString qs;\n\n    if (utf8)\n        qs = QString::fromUtf8(s);\n    else\n        qs = QString::fromLatin1(s);\n\n    xpmMap::const_iterator it;\n\n    if (type < 0 || (it = xset.find(type)) == xset.end())\n        slb->addItem(qs);\n    else\n        slb->addItemPixmap(it.value(), qs);\n}\n\n\nint QsciListBoxQt::Length()\n{\n    Q_ASSERT(slb);\n\n    return slb->count();\n}\n\n\nvoid QsciListBoxQt::Select(int n)\n{\n    Q_ASSERT(slb);\n\n    slb->setCurrentRow(n);\n    selectionChanged();\n}\n\n\nint QsciListBoxQt::GetSelection()\n{\n    Q_ASSERT(slb);\n\n    return slb->currentRow();\n}\n\n\nint QsciListBoxQt::Find(const char *prefix)\n{\n    Q_ASSERT(slb);\n\n    return slb->find(prefix);\n}\n\n\nvoid QsciListBoxQt::GetValue(int n, char *value, int len)\n{\n    Q_ASSERT(slb);\n\n    QString selection = slb->text(n);\n\n    bool trim_selection = false;\n    QObject *sci_obj = slb->parent();\n\n    if (sci_obj->inherits(\"QsciScintilla\"))\n    {\n        QsciScintilla *sci = static_cast<QsciScintilla *>(sci_obj);\n\n        if (sci->isAutoCompletionList())\n        {\n            // Save the full selection and trim the value we return.\n            sci->acSelection = selection;\n            trim_selection = true;\n        }\n    }\n\n    if (selection.isEmpty() || len <= 0)\n        value[0] = '\\0';\n    else\n    {\n        const char *s;\n        int slen;\n\n        QByteArray bytes;\n\n        if (utf8)\n            bytes = selection.toUtf8();\n        else\n            bytes = selection.toLatin1();\n\n        s = bytes.data();\n        slen = bytes.length();\n\n        while (slen-- && len--)\n        {\n            if (trim_selection && *s == ' ')\n                break;\n\n            *value++ = *s++;\n        }\n\n        *value = '\\0';\n    }\n}\n\n\nvoid QsciListBoxQt::Sort()\n{\n    Q_ASSERT(slb);\n\n    slb->sortItems();\n}\n\n\nvoid QsciListBoxQt::RegisterImage(int type, const char *xpm_data)\n{\n    xset.insert(type, *reinterpret_cast<const QPixmap *>(xpm_data));\n}\n\n\nvoid QsciListBoxQt::RegisterRGBAImage(int type, int, int,\n        const unsigned char *pixelsImage)\n{\n    QPixmap pm;\n\n    pm.convertFromImage(*reinterpret_cast<const QImage *>(pixelsImage));\n\n    xset.insert(type, pm);\n}\n\n\nvoid QsciListBoxQt::ClearRegisteredImages()\n{\n    xset.clear();\n}\n\n\nvoid QsciListBoxQt::SetDelegate(Scintilla::IListBoxDelegate *lbDelegate)\n{\n    delegate = lbDelegate;\n}\n\n\nvoid QsciListBoxQt::handleDoubleClick()\n{\n    if (delegate)\n    {\n        Scintilla::ListBoxEvent event(\n                Scintilla::ListBoxEvent::EventType::doubleClick);\n\n        delegate->ListNotify(&event);\n    }\n}\n\n\nvoid QsciListBoxQt::handleRelease()\n{\n    selectionChanged();\n}\n\n\nvoid QsciListBoxQt::selectionChanged()\n{\n    if (delegate)\n    {\n        Scintilla::ListBoxEvent event(\n                Scintilla::ListBoxEvent::EventType::selectionChange);\n\n        delegate->ListNotify(&event);\n    }\n}\n\n\nvoid QsciListBoxQt::SetList(const char *list, char separator, char typesep)\n{\n    char *words;\n\n    Clear();\n\n    if ((words = qstrdup(list)) != NULL)\n    {\n        char *startword = words;\n        char *numword = NULL;\n\n        for (int i = 0; words[i] != '\\0'; i++)\n        {\n            if (words[i] == separator)\n            {\n                words[i] = '\\0';\n\n                if (numword)\n                    *numword = '\\0';\n\n                Append(startword, numword ? atoi(numword + 1) : -1);\n\n                startword = words + i + 1;\n                numword = NULL;\n            }\n            else if (words[i] == typesep)\n            {\n                numword = words + i;\n            }\n        }\n\n        if (startword)\n        {\n            if (numword)\n                *numword = '\\0';\n\n            Append(startword, numword ? atoi(numword + 1) : -1);\n        }\n\n        delete[] words;\n    }\n}\n\n\n// The ListBox methods that need to be implemented explicitly.\n\nScintilla::ListBox::ListBox() noexcept\n{\n}\n\n\nScintilla::ListBox::~ListBox()\n{\n}\n\n\nScintilla::ListBox *Scintilla::ListBox::Allocate()\n{\n    return new QsciListBoxQt();\n}\n"
  },
  {
    "path": "src/qscint/src/ListBoxQt.h",
    "content": "// This defines the specialisation of QListBox that handles the Scintilla\n// double-click callback.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include <qmap.h>\n#include <qpixmap.h>\n#include <qstring.h>\n\n#include \"Platform.h\"\n\n\nclass QsciSciListBox;\n\n\n// This is an internal class but it is referenced by a public class so it has\n// to have a Qsci prefix rather than being put in the Scintilla namespace.\n// However the reason for avoiding this no longer applies.\nclass QsciListBoxQt : public Scintilla::ListBox\n{\npublic:\n    QsciListBoxQt();\n\n    virtual void SetFont(Scintilla::Font &font);\n    virtual void Create(Scintilla::Window &parent, int, Scintilla::Point, int,\n            bool unicodeMode, int);\n    virtual void SetAverageCharWidth(int);\n    virtual void SetVisibleRows(int);\n    virtual int GetVisibleRows() const;\n    virtual Scintilla::PRectangle GetDesiredRect();\n    virtual int CaretFromEdge();\n    virtual void Clear();\n    virtual void Append(char *s, int type = -1);\n    virtual int Length();\n    virtual void Select(int n);\n    virtual int GetSelection();\n    virtual int Find(const char *prefix);\n    virtual void GetValue(int n, char *value, int len);\n    virtual void Sort();\n    virtual void RegisterImage(int type, const char *xpm_data);\n    virtual void RegisterRGBAImage(int type, int width, int height,\n            const unsigned char *pixelsImage);\n    virtual void ClearRegisteredImages();\n    virtual void SetDelegate(Scintilla::IListBoxDelegate *lbDelegate);\n    virtual void SetList(const char *list, char separator, char typesep);\n\n    void handleDoubleClick();\n    void handleRelease();\n\nprivate:\n    QsciSciListBox *slb;\n    int visible_rows;\n    bool utf8;\n    Scintilla::IListBoxDelegate *delegate;\n\n    typedef QMap<int, QPixmap> xpmMap;\n    xpmMap xset;\n\n    void selectionChanged();\n};\n"
  },
  {
    "path": "src/qscint/src/MacPasteboardMime.cpp",
    "content": "// This module implements part of the support for rectangular selections on\n// macOS.  It is a separate file to avoid clashes between macOS and Scintilla\n// data types.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include <qglobal.h>\n\n#if QT_VERSION < 0x060000 && defined(Q_OS_OSX)\n\n#include <QByteArray>\n#include <QLatin1String>\n#include <QList>\n#include <QString>\n#include <QStringList>\n#include <QVariant>\n\n#include <QMacPasteboardMime>\n\n\nstatic const QLatin1String mimeRectangular(\"text/x-qscintilla-rectangular\");\nstatic const QLatin1String utiRectangularMac(\"com.scintilla.utf16-plain-text.rectangular\");\n\n\nclass RectangularPasteboardMime : public QMacPasteboardMime\n{\npublic:\n    RectangularPasteboardMime() : QMacPasteboardMime(MIME_ALL)\n    {\n    }\n\n    bool canConvert(const QString &mime, QString flav)\n    {\n        return mime == mimeRectangular && flav == utiRectangularMac;\n    }\n\n    QList<QByteArray> convertFromMime(const QString &, QVariant data, QString)\n    {\n        QList<QByteArray> converted;\n\n        converted.append(data.toByteArray());\n\n        return converted;\n    }\n\n    QVariant convertToMime(const QString &, QList<QByteArray> data, QString)\n    {\n        QByteArray converted;\n\n        foreach (QByteArray i, data)\n        {\n            converted += i;\n        }\n\n        return QVariant(converted);\n    }\n\n    QString convertorName()\n    {\n        return QString(\"QScintillaRectangular\");\n    }\n\n    QString flavorFor(const QString &mime)\n    {\n        if (mime == mimeRectangular)\n            return QString(utiRectangularMac);\n\n        return QString();\n    }\n\n    QString mimeFor(QString flav)\n    {\n        if (flav == utiRectangularMac)\n            return QString(mimeRectangular);\n\n        return QString();\n    }\n};\n\n\n// Initialise the singleton instance.\nvoid initialiseRectangularPasteboardMime()\n{\n    static RectangularPasteboardMime *instance = 0;\n\n    if (!instance)\n    {\n        instance = new RectangularPasteboardMime();\n\n        qRegisterDraggedTypes(QStringList(utiRectangularMac));\n    }\n}\n\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/PlatQt.cpp",
    "content": "// This module implements the portability layer for the Qt port of Scintilla.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include <stdio.h>\n#include <stdarg.h>\n#include <string.h>\n\n#include <qapplication.h>\n#include <qcursor.h>\n#include <qdatetime.h>\n#include <qfont.h>\n#include <qimage.h>\n#include <qpainter.h>\n#include <qpixmap.h>\n#include <qpolygon.h>\n#include <qscreen.h>\n#include <qstring.h>\n#include <qtextlayout.h>\n#include <qwidget.h>\n\n#if !defined(Q_OS_WASM)\n#include <qlibrary.h>\n#endif\n\n#include \"Platform.h\"\n#include \"XPM.h\"\n\n#include \"Qsci/qsciscintillabase.h\"\n#include \"SciClasses.h\"\n\n#include \"FontQuality.h\"\n\n\nnamespace Scintilla {\n\n// Type convertors.\nstatic QFont *PFont(FontID fid)\n{\n    return reinterpret_cast<QFont *>(fid);\n}\n\nstatic QWidget *PWindow(WindowID wid)\n{\n    return reinterpret_cast<QWidget *>(wid);\n}\n\nstatic QsciSciPopup *PMenu(MenuID mid)\n{\n    return reinterpret_cast<QsciSciPopup *>(mid);\n}\n\n\n// Font management.\nFont::Font() noexcept : fid(0)\n{\n}\n\nFont::~Font()\n{\n}\n\nvoid Font::Create(const FontParameters &fp)\n{\n    Release();\n\n    QFont *f = new QFont();\n\n    QFont::StyleStrategy strategy;\n\n    switch (fp.extraFontFlag & SC_EFF_QUALITY_MASK)\n    {\n    case SC_EFF_QUALITY_NON_ANTIALIASED:\n        strategy = QFont::NoAntialias;\n        break;\n\n    case SC_EFF_QUALITY_ANTIALIASED:\n        strategy = QFont::PreferAntialias;\n        break;\n\n    default:\n        strategy = QFont::PreferDefault;\n    }\n\n    f->setStyleStrategy(strategy);\n    f->setFamily(fp.faceName);\n    f->setPointSizeF(fp.size);\n    f->setItalic(fp.italic);\n\n    // Scintilla weights are between 1 and 100, Qt5 weights are between 0 and\n    // 99, and Qt6 weights match Scintilla.  A negative weight is interpreted\n    // as an explicit Qt weight (ie. the back door).\n#if QT_VERSION >= 0x060000\n    QFont::Weight qt_weight = static_cast<QFont::Weight>(abs(fp.weight));\n#else\n    int qt_weight;\n\n    if (fp.weight < 0)\n        qt_weight = -fp.weight;\n    else if (fp.weight <= 200)\n        qt_weight = QFont::Light;\n    else if (fp.weight <= QsciScintillaBase::SC_WEIGHT_NORMAL)\n        qt_weight = QFont::Normal;\n    else if (fp.weight <= 600)\n        qt_weight = QFont::DemiBold;\n    else if (fp.weight <= 850)\n        qt_weight = QFont::Bold;\n    else\n        qt_weight = QFont::Black;\n#endif\n\n    f->setWeight(qt_weight);\n\n    fid = f;\n}\n\nvoid Font::Release()\n{\n    if (fid)\n    {\n        delete PFont(fid);\n        fid = 0;\n    }\n}\n\n\n// A surface abstracts a place to draw.\nclass SurfaceImpl : public Surface\n{\npublic:\n    SurfaceImpl();\n    virtual ~SurfaceImpl();\n\n    void Init(WindowID wid);\n    void Init(SurfaceID sid, WindowID);\n    void Init(QPainter *p);\n    void InitPixMap(int width, int height, Surface *sid, WindowID wid);\n\n    void Release();\n    bool Initialised() {return painter;}\n    void PenColour(ColourDesired fore);\n    int LogPixelsY() {return pd->logicalDpiY();}\n    int DeviceHeightFont(int points) {return points;}\n    void MoveTo(int x_,int y_);\n    void LineTo(int x_,int y_);\n    void Polygon(Point *pts, size_t npts, ColourDesired fore,\n            ColourDesired back);\n    void RectangleDraw(PRectangle rc, ColourDesired fore,\n            ColourDesired back);\n    void FillRectangle(PRectangle rc, ColourDesired back);\n    void FillRectangle(PRectangle rc, Surface &surfacePattern);\n    void RoundedRectangle(PRectangle rc, ColourDesired fore,\n            ColourDesired back);\r\n    void AlphaRectangle(PRectangle rc, int cornerSize, int style);\n    void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill,\n            int alphaFill, ColourDesired outline, int alphaOutline,\n            int flags);\n    void GradientRectangle(PRectangle rc, const std::vector<ColourStop> &stops,\n            GradientOptions options);\n    void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage);\n    void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back);\n    void Copy(PRectangle rc, Point from, Surface &surfaceSource);\n\n    void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase,\n            const char *s, int len, ColourDesired fore, ColourDesired back);\n    void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase,\n            const char *s, int len, ColourDesired fore, ColourDesired back);\n    void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase,\n            const char *s, int len, ColourDesired fore);\n    void MeasureWidths(Font &font_, const char *s, int len,\n            XYPOSITION *positions);\n    XYPOSITION WidthText(Font &font_, const char *s, int len);\n    XYPOSITION Ascent(Font &font_);\n    XYPOSITION Descent(Font &font_);\n    XYPOSITION InternalLeading(Font &font_) {Q_UNUSED(font_); return 0;}\n    XYPOSITION Height(Font &font_);\n    XYPOSITION AverageCharWidth(Font &font_);\n\n    void SetClip(PRectangle rc);\n    void FlushCachedState();\n\n    void SetUnicodeMode(bool unicodeMode_) {unicodeMode = unicodeMode_;}\n    void SetDBCSMode(int codePage) {Q_UNUSED(codePage);}\n\n    void DrawXPM(PRectangle rc, const XPM *xpm);\n\nprivate:\n    void drawRect(const PRectangle &rc);\n    void drawText(const PRectangle &rc, Font &font_, XYPOSITION ybase,\n            const char *s, int len, ColourDesired fore);\n    static QFont convertQFont(Font &font);\n    QFontMetricsF metrics(Font &font_);\n    QString convertText(const char *s, int len);\n    static QColor convertQColor(const ColourDesired &col,\n            unsigned alpha = 255);\n\n    bool unicodeMode;\n    QPaintDevice *pd;\n    QPainter *painter;\n    bool my_resources;\n    int pen_x, pen_y;\n};\n\nSurface *Surface::Allocate(int)\n{\n    return new SurfaceImpl;\n}\n\nSurfaceImpl::SurfaceImpl()\n    : unicodeMode(false), pd(0), painter(0), my_resources(false), pen_x(0),\n      pen_y(0)\n{\n}\n\nSurfaceImpl::~SurfaceImpl()\n{\n    Release();\n}\n\nvoid SurfaceImpl::Init(WindowID wid)\n{\n    Release();\n\n    pd = reinterpret_cast<QWidget *>(wid);\n}\n\nvoid SurfaceImpl::Init(SurfaceID sid, WindowID)\n{\n    Release();\n\n    // This method, and the SurfaceID type, is only used when printing.  As it\n    // is actually a void * we pass (when using SCI_FORMATRANGE) a pointer to a\n    // QPainter rather than a pointer to a SurfaceImpl as might be expected.\n    QPainter *p = reinterpret_cast<QPainter *>(sid);\n\n    pd = p->device();\n    painter = p;\n}\n\nvoid SurfaceImpl::Init(QPainter *p)\n{\n    Release();\n\n    pd = p->device();\n    painter = p;\n}\n\nvoid SurfaceImpl::InitPixMap(int width, int height, Surface *sid, WindowID wid)\n{\n    Release();\n\n    int dpr = PWindow(wid)->devicePixelRatio();\n    QPixmap *pixmap = new QPixmap(width * dpr, height * dpr);\n    pixmap->setDevicePixelRatio(dpr);\n\n    pd = pixmap;\n\n    painter = new QPainter(pd);\n    my_resources = true;\n\n    SetUnicodeMode(static_cast<SurfaceImpl *>(sid)->unicodeMode);\n}\n\nvoid SurfaceImpl::Release()\n{\n    if (my_resources)\n    {\n        if (painter)\n            delete painter;\n\n        if (pd)\n            delete pd;\n\n        my_resources = false;\n    }\n\n    painter = 0;\n    pd = 0;\n}\n\nvoid SurfaceImpl::MoveTo(int x_, int y_)\n{\n    Q_ASSERT(painter);\n\n    pen_x = x_;\n    pen_y = y_;\n}\n\nvoid SurfaceImpl::LineTo(int x_, int y_)\n{\n    Q_ASSERT(painter);\n\n    painter->drawLine(pen_x, pen_y, x_, y_);\n\n    pen_x = x_;\n    pen_y = y_;\n}\n\nvoid SurfaceImpl::PenColour(ColourDesired fore)\n{\n    Q_ASSERT(painter);\n\n    painter->setPen(convertQColor(fore));\n}\n\nvoid SurfaceImpl::Polygon(Point *pts, size_t npts, ColourDesired fore,\n        ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    QPolygonF qpts(npts);\n\n    for (size_t i = 0; i < npts; ++i)\n        qpts[i] = QPointF(pts[i].x, pts[i].y);\n\n    painter->setPen(convertQColor(fore));\n    painter->setBrush(convertQColor(back));\n    painter->drawPolygon(qpts);\n}\n\nvoid SurfaceImpl::RectangleDraw(PRectangle rc, ColourDesired fore,\n        ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    painter->setPen(convertQColor(fore));\n    painter->setBrush(convertQColor(back));\n    drawRect(rc);\n}\n\nvoid SurfaceImpl::FillRectangle(PRectangle rc, ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    painter->setPen(Qt::NoPen);\n    painter->setBrush(convertQColor(back));\n    drawRect(rc);\n}\n\nvoid SurfaceImpl::FillRectangle(PRectangle rc, Surface &surfacePattern)\n{\n    Q_ASSERT(painter);\n\n    SurfaceImpl &si = static_cast<SurfaceImpl &>(surfacePattern);\n    QPixmap *pm = static_cast<QPixmap *>(si.pd);\n\n    if (pm)\n    {\n        QBrush brsh(Qt::black, *pm);\n\n        painter->setPen(Qt::NoPen);\n        painter->setBrush(brsh);\n        drawRect(rc);\n    }\n    else\n    {\n        FillRectangle(rc, ColourDesired(0));\n    }\n}\n\nvoid SurfaceImpl::RoundedRectangle(PRectangle rc, ColourDesired fore,\n        ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    painter->setPen(convertQColor(fore));\n    painter->setBrush(convertQColor(back));\n    painter->drawRoundedRect(\n            QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top),\n            25, 25, Qt::RelativeSize);\n}\n\nvoid SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize, int style)\n{\n    Q_ASSERT(painter);\n\tpainter->save();\n    painter->setBrush((Qt::BrushStyle)style);\n\tpainter->setBackgroundMode(Qt::OpaqueMode);\n\n    const int radius = (cornerSize ? 25 : 0);\n\n    painter->drawRoundedRect(\n        QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top),\n        radius, radius, Qt::RelativeSize);\n\tpainter->restore();\n}\n\nvoid SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize,\n        ColourDesired fill, int alphaFill, ColourDesired outline,\n        int alphaOutline, int)\n{\n    Q_ASSERT(painter);\n\n    QColor outline_colour = convertQColor(outline, alphaOutline);\n    QColor fill_colour = convertQColor(fill, alphaFill);\n\n    // There was a report of Qt seeming to ignore the alpha value of the pen so\n    // so we disable the pen if the outline and fill colours are the same.\n    if (outline_colour == fill_colour)\n        painter->setPen(Qt::NoPen);\n    else\n        painter->setPen(outline_colour);\n\n    painter->setBrush(fill_colour);\n\n    const int radius = (cornerSize ? 25 : 0);\n\n    painter->drawRoundedRect(\n            QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top),\n            radius, radius, Qt::RelativeSize);\n}\n\nvoid SurfaceImpl::GradientRectangle(PRectangle rc,\n        const std::vector<ColourStop> &stops, GradientOptions options)\n{\n    Q_ASSERT(painter);\n\n    QLinearGradient gradient;\n\n    switch (options)\n    {\n    case GradientOptions::leftToRight:\n        gradient = QLinearGradient(rc.left, rc.top, rc.right, rc.top);\n        break;\n\n    case GradientOptions::topToBottom:\n    default:\n        gradient = QLinearGradient(rc.left, rc.top, rc.left, rc.bottom);\n    }\n\n    gradient.setSpread(QGradient::RepeatSpread);\n\n    for (const ColourStop &stop : stops)\n        gradient.setColorAt(stop.position,\n                convertQColor(stop.colour, stop.colour.GetAlpha()));\n\n    painter->fillRect(\n            QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top),\n            QBrush(gradient));\n}\n\nvoid SurfaceImpl::drawRect(const PRectangle &rc)\n{\n    painter->drawRect(\n            QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top));\n}\n\nvoid SurfaceImpl::Ellipse(PRectangle rc, ColourDesired fore,\n        ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    painter->setPen(convertQColor(fore));\n    painter->setBrush(convertQColor(back));\n    painter->drawEllipse(\n            QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top));\n}\n\nvoid SurfaceImpl::Copy(PRectangle rc, Point from, Surface &surfaceSource)\n{\n    Q_ASSERT(painter);\n\n    SurfaceImpl &si = static_cast<SurfaceImpl &>(surfaceSource);\n\n    if (si.pd)\n    {\n        QPixmap *pm = static_cast<QPixmap *>(si.pd);\n        qreal x = from.x;\n        qreal y = from.y;\n        qreal width = rc.right - rc.left;\n        qreal height = rc.bottom - rc.top;\n\n        qreal dpr = pm->devicePixelRatio();\n\n        x *= dpr;\n        y *= dpr;\n        width *= dpr;\n        height *= dpr;\n\n        painter->drawPixmap(QPointF(rc.left, rc.top), *pm,\n                QRectF(x, y, width, height));\n    }\n}\n\nvoid SurfaceImpl::DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase,\n        const char *s, int len, ColourDesired fore, ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    FillRectangle(rc, back);\n    drawText(rc, font_, ybase, s, len, fore);\n}\n\nvoid SurfaceImpl::DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase,\n        const char *s, int len, ColourDesired fore, ColourDesired back)\n{\n    Q_ASSERT(painter);\n\n    SetClip(rc);\n    DrawTextNoClip(rc, font_, ybase, s, len, fore, back);\n    painter->setClipping(false);\n}\n\nvoid SurfaceImpl::DrawTextTransparent(PRectangle rc, Font &font_,\n        XYPOSITION ybase, const char *s, int len, ColourDesired fore)\n{\n    // Only draw if there is a non-space.\n    for (int i = 0; i < len; ++i)\n        if (s[i] != ' ')\n        {\n            drawText(rc, font_, ybase, s, len, fore);\n            return;\n        }\n}\n\nvoid SurfaceImpl::drawText(const PRectangle &rc, Font &font_, XYPOSITION ybase,\n        const char *s, int len, ColourDesired fore)\n{\n    QString qs = convertText(s, len);\n\n    QFont *f = PFont(font_.GetID());\n\n    if (f)\n        painter->setFont(*f);\n\n    painter->setPen(convertQColor(fore));\n    painter->drawText(QPointF(rc.left, ybase), qs);\n}\n\nvoid SurfaceImpl::DrawXPM(PRectangle rc, const XPM *xpm)\n{\n    Q_ASSERT(painter);\n\n    XYPOSITION x, y;\n    const QPixmap &qpm = xpm->Pixmap();\n\n    x = rc.left + (rc.Width() - qpm.width()) / 2.0;\n    y = rc.top + (rc.Height() - qpm.height()) / 2.0;\n\n    painter->drawPixmap(QPointF(x, y), qpm);\n}\n\nvoid SurfaceImpl::DrawRGBAImage(PRectangle rc, int width, int height,\n        const unsigned char *pixelsImage)\n{\n    Q_UNUSED(width);\n    Q_UNUSED(height);\n    Q_ASSERT(painter);\n\n    const QImage *qim = reinterpret_cast<const QImage *>(pixelsImage);\n\n    painter->drawImage(QPointF(rc.left, rc.top), *qim);\n}\n\nvoid SurfaceImpl::MeasureWidths(Font &font_, const char *s, int len,\n        XYPOSITION *positions)\n{\n    QString qs = convertText(s, len);\n    QTextLayout text_layout(qs, convertQFont(font_), pd);\n\n    text_layout.beginLayout();\n    QTextLine text_line = text_layout.createLine();\n    text_layout.endLayout();\n\n    if (unicodeMode)\n    {\n        int i_char = 0, i_byte = 0;;\n\n        while (i_char < qs.size())\n        {\n            unsigned char byte = s[i_byte];\n            int nbytes, code_units;\n\n            // Work out character sizes by looking at the byte stream.\n            if (byte >= 0xf0)\n            {\n                nbytes = 4;\n                code_units = 2;\n            }\n            else\n            {\n                if (byte >= 0xe0)\n                    nbytes = 3;\n                else if (byte >= 0x80)\n                    nbytes = 2;\n                else\n                    nbytes = 1;\n\n                code_units = 1;\n            }\n\n            XYPOSITION position = text_line.cursorToX(i_char + code_units);\n\n            // Set the same position for each byte of the character.\n            for (int i = 0; i < nbytes && i_byte < len; ++i)\n                positions[i_byte++] = position;\n\n            i_char += code_units;\n        }\n\n        // This shouldn't be necessary...\n        XYPOSITION last_position = ((i_byte > 0) ? positions[i_byte - 1] : 0);\n\n        while (i_byte < len)\n            positions[i_byte++] = last_position;\n    }\n    else\n    {\n        for (int i = 0; i < len; ++i)\n            positions[i] = text_line.cursorToX(i + 1);\n    }\n}\n\nXYPOSITION SurfaceImpl::WidthText(Font &font_, const char *s, int len)\n{\n    return metrics(font_).horizontalAdvance(convertText(s, len));\n\n}\n\nXYPOSITION SurfaceImpl::Ascent(Font &font_)\n{\n    return metrics(font_).ascent();\n}\n\nXYPOSITION SurfaceImpl::Descent(Font &font_)\n{\n    // Qt doesn't include the baseline in the descent, so add it.  Note that\n    // a descent from Qt4 always seems to be 2 pixels larger (irrespective of\n    // font or size) than the same descent from Qt3.  This means that text is a\n    // little more spaced out with Qt4 - and will be more noticeable with\n    // smaller fonts.\n    return metrics(font_).descent() + 1;\n}\n\nXYPOSITION SurfaceImpl::Height(Font &font_)\n{\n    return metrics(font_).height();\n}\n\nXYPOSITION SurfaceImpl::AverageCharWidth(Font &font_)\n{\n    return metrics(font_).averageCharWidth();\n}\n\nvoid SurfaceImpl::SetClip(PRectangle rc)\n{\n    Q_ASSERT(painter);\n\n    painter->setClipRect(\n            QRectF(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top));\n}\n\nvoid SurfaceImpl::FlushCachedState()\n{\n}\n\n// Return the QFont for a Font.\nQFont SurfaceImpl::convertQFont(Font &font)\n{\n    QFont *f = PFont(font.GetID());\n\n    if (f)\n        return *f;\n\n    return QApplication::font();\n}\n\n// Get the metrics for a font.\nQFontMetricsF SurfaceImpl::metrics(Font &font_)\n{\n    QFont fnt = convertQFont(font_);\n\n    return QFontMetricsF(fnt, pd);\n}\n\n// Convert a Scintilla string to a Qt Unicode string.\nQString SurfaceImpl::convertText(const char *s, int len)\n{\n    if (unicodeMode)\n        return QString::fromUtf8(s, len);\n\n    return QString::fromLatin1(s, len);\n}\n\n\n// Convert a Scintilla colour, and alpha component, to a Qt QColor.\nQColor SurfaceImpl::convertQColor(const ColourDesired &col, unsigned alpha)\n{\n    int c = col.AsInteger();\n\n    unsigned r = c & 0xff;\n    unsigned g = (c >> 8) & 0xff;\n    unsigned b = (c >> 16) & 0xff;\n\n    return QColor(r, g, b, alpha);\n}\n\n\n// Window (widget) management.\nWindow::~Window()\n{\n}\n\nvoid Window::Destroy()\n{\n    QWidget *w = PWindow(wid);\n\n    if (w)\n    {\n        // Delete the widget next time round the event loop rather than\n        // straight away.  This gets round a problem when auto-completion lists\n        // are cancelled after an entry has been double-clicked, ie. the list's\n        // dtor is called from one of the list's slots.  There are other ways\n        // around the problem but this is the simplest and doesn't seem to\n        // cause problems of its own.\n        w->deleteLater();\n        wid = 0;\n    }\n}\n\nPRectangle Window::GetPosition() const\n{\n    QWidget *w = PWindow(wid);\n\n    // Before any size allocated pretend its big enough not to be scrolled.\n    PRectangle rc(0,0,5000,5000);\n\n    if (w)\n    {\n        const QRect &r = w->geometry();\n\n        rc.right = r.right() - r.left() + 1;\n        rc.bottom = r.bottom() - r.top() + 1;\n    }\n\n    return rc;\n}\n\nvoid Window::SetPosition(PRectangle rc)\n{\n    PWindow(wid)->setGeometry(rc.left, rc.top, rc.right - rc.left,\n            rc.bottom - rc.top);\n}\n\nvoid Window::SetPositionRelative(PRectangle rc, const Window *relativeTo)\n{\n    QWidget *rel = PWindow(relativeTo->wid);\n    QPoint pos = rel->mapToGlobal(rel->pos());\n\n    int x = pos.x() + rc.left;\n    int y = pos.y() + rc.top;\n\n    PWindow(wid)->setGeometry(x, y, rc.right - rc.left, rc.bottom - rc.top);\n}\n\nPRectangle Window::GetClientPosition() const\n{\n    return GetPosition();\n}\n\nvoid Window::Show(bool show)\n{\n    QWidget *w = PWindow(wid);\n\n    if (show)\n        w->show();\n    else\n        w->hide();\n}\n\nvoid Window::InvalidateAll()\n{\n    QWidget *w = PWindow(wid);\n\n    if (w)\n        w->update();\n}\n\nvoid Window::InvalidateRectangle(PRectangle rc)\n{\n    QWidget *w = PWindow(wid);\n\n    if (w)\n        w->update(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top);\n}\n\nvoid Window::SetFont(Font &font)\n{\n    PWindow(wid)->setFont(*PFont(font.GetID()));\n}\n\nvoid Window::SetCursor(Cursor curs)\n{\n    Qt::CursorShape qc;\n\n    switch (curs)\n    {\n    case cursorText:\n        qc = Qt::IBeamCursor;\n        break;\n\n    case cursorUp:\n        qc = Qt::UpArrowCursor;\n        break;\n\n    case cursorWait:\n        qc = Qt::WaitCursor;\n        break;\n\n    case cursorHoriz:\n        qc = Qt::SizeHorCursor;\n        break;\n\n    case cursorVert:\n        qc = Qt::SizeVerCursor;\n        break;\n\n    case cursorHand:\n        qc = Qt::PointingHandCursor;\n        break;\n\n    default:\n        // Note that Qt doesn't have a standard cursor that could be used to\n        // implement cursorReverseArrow.\n        qc = Qt::ArrowCursor;\n    }\n\n    PWindow(wid)->setCursor(qc);\n}\n\nPRectangle Window::GetMonitorRect(Point pt)\n{\n    QPoint qpt = PWindow(wid)->mapToGlobal(QPoint(pt.x, pt.y));\n    QRect qr = QApplication::screenAt(qpt)->availableGeometry();\n    qpt = PWindow(wid)->mapFromGlobal(qr.topLeft());\n\n    return PRectangle(qpt.x(), qpt.y(), qpt.x() + qr.width(), qpt.y() + qr.height());\n}\n\n\n// Menu management.\nMenu::Menu() noexcept : mid(0)\n{\n}\n\nvoid Menu::CreatePopUp()\n{\n    Destroy();\n    mid = new QsciSciPopup();\n}\n\nvoid Menu::Destroy()\n{\n    QsciSciPopup *m = PMenu(mid);\n\n    if (m)\n    {\n        delete m;\n        mid = 0;\n    }\n}\n\nvoid Menu::Show(Point pt, Window &)\n{\n    PMenu(mid)->popup(QPoint(pt.x, pt.y));\n}\n\n\nclass DynamicLibraryImpl : public DynamicLibrary\n{\npublic:\n    DynamicLibraryImpl(const char *modulePath)\n    {\n#if !defined(Q_OS_WASM)\n        m = new QLibrary(modulePath);\n        m->load();\n#endif\n    }\n\n    virtual ~DynamicLibraryImpl()\n    {\n#if !defined(Q_OS_WASM)\n        if (m)\n            delete m;\n#endif\n    }\n\n    virtual Function FindFunction(const char *name)\n    {\n#if !defined(Q_OS_WASM)\n        if (m)\n            return (Function)m->resolve(name);\n#endif\n\n        return 0;\n    }\n\n    virtual bool IsValid()\n    {\n#if !defined(Q_OS_WASM)\n        return m && m->isLoaded();\n#else\n        return false;\n#endif\n    }\n\nprivate:\n#if !defined(Q_OS_WASM)\n    QLibrary* m;\n#endif\n};\n\nDynamicLibrary *DynamicLibrary::Load(const char *modulePath)\n{\n    return new DynamicLibraryImpl(modulePath);\n}\n\n\n// Manage system wide parameters.\nColourDesired Platform::Chrome()\n{\n    return ColourDesired(0xe0,0xe0,0xe0);\n}\n\nColourDesired Platform::ChromeHighlight()\n{\n    return ColourDesired(0xff,0xff,0xff);\n}\n\nconst char *Platform::DefaultFont()\n{\n    static QByteArray def_font;\n\n    def_font = QApplication::font().family().toLatin1();\n\n    return def_font.constData();\n}\n\nint Platform::DefaultFontSize()\n{\n    return QApplication::font().pointSize();\n}\n\nunsigned int Platform::DoubleClickTime()\n{\n    return QApplication::doubleClickInterval();\n}\n\nvoid Platform::DebugDisplay(const char *s)\n{\n    qDebug(\"%s\", s);\n}\n\n//#define TRACE\n\n#ifdef TRACE\nvoid Platform::DebugPrintf(const char *format, ...)\n{\n    char buffer[2000];\n    va_list pArguments;\n\n    va_start(pArguments, format);\n    vsprintf(buffer, format, pArguments);\n    va_end(pArguments);\n\n    DebugDisplay(buffer);\n}\n#else\nvoid Platform::DebugPrintf(const char *, ...)\n{\n}\n#endif\n\nstatic bool assertionPopUps = true;\n\nbool Platform::ShowAssertionPopUps(bool assertionPopUps_)\n{\n    bool ret = assertionPopUps;\n\n    assertionPopUps = assertionPopUps_;\n\n    return ret;\n}\n\nvoid Platform::Assert(const char *c, const char *file, int line)\n{\n    qFatal(\"Assertion [%s] failed at %s %d\\n\", c, file, line);\n}\n\n}\n"
  },
  {
    "path": "src/qscint/src/Qsci/qsciabstractapis.h",
    "content": "// This module defines interface to the QsciAbstractAPIs class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCIABSTRACTAPIS_H\n#define QSCIABSTRACTAPIS_H\n\n#include <QList>\n#include <QObject>\n#include <QStringList>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qsciscintilla.h>\n\n\nclass QsciLexer;\n\n\n//! \\brief The QsciAbstractAPIs class represents the interface to the textual\n//! API information used in call tips and for auto-completion.  A sub-class\n//! will provide the actual implementation of the interface.\n//!\n//! API information is specific to a particular language lexer but can be\n//! shared by multiple instances of the lexer.\nclass QSCINTILLA_EXPORT QsciAbstractAPIs : public QObject\n{\n    Q_OBJECT\n\npublic:\n    //! Constructs a QsciAbstractAPIs instance attached to lexer \\a lexer.  \\a\n    //! lexer becomes the instance's parent object although the instance can\n    //! also be subsequently attached to other lexers.\n    QsciAbstractAPIs(QsciLexer *lexer);\n\n    //! Destroy the QsciAbstractAPIs instance.\n    virtual ~QsciAbstractAPIs();\n\n    //! Return the lexer that the instance is attached to.\n    QsciLexer *lexer() const;\n\n    //! Update the list \\a list with API entries derived from \\a context.  \\a\n    //! context is the list of words in the text preceding the cursor position.\n    //! The characters that make up a word and the characters that separate\n    //! words are defined by the lexer.  The last word is a partial word and\n    //! may be empty if the user has just entered a word separator.\n    virtual void updateAutoCompletionList(const QStringList &context,\n            QStringList &list) = 0;\n\n    //! This is called when the user selects the entry \\a selection from the\n    //! auto-completion list.  A sub-class can use this as a hint to provide\n    //! more specific API entries in future calls to\n    //! updateAutoCompletionList().  The default implementation does nothing.\n    virtual void autoCompletionSelected(const QString &selection);\n\n    //! Return the call tips valid for the context \\a context.  (Note that the\n    //! last word of the context will always be empty.)  \\a commas is the number\n    //! of commas the user has typed after the context and before the cursor\n    //! position.  The exact position of the list of call tips can be adjusted\n    //! by specifying a corresponding left character shift in \\a shifts.  This\n    //! is normally done to correct for any displayed context according to \\a\n    //! style.\n    //!\n    //! \\sa updateAutoCompletionList()\n    virtual QStringList callTips(const QStringList &context, int commas,\n            QsciScintilla::CallTipsStyle style, QList<int> &shifts) = 0;\n\nprivate:\n    QsciLexer *lex;\n\n    QsciAbstractAPIs(const QsciAbstractAPIs &);\n    QsciAbstractAPIs &operator=(const QsciAbstractAPIs &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qsciapis.h",
    "content": "// This module defines interface to the QsciAPIs class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCIAPIS_H\n#define QSCIAPIS_H\n\n#include <QList>\n#include <QObject>\n#include <QPair>\n#include <QStringList>\n\n#include <Qsci/qsciabstractapis.h>\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qsciscintilla.h>\n\n\nclass QsciAPIsPrepared;\nclass QsciAPIsWorker;\nclass QsciLexer;\n\n\n//! \\brief The QsciAPIs class provies an implementation of the textual API\n//! information used in call tips and for auto-completion.\n//!\n//! Raw API information is read from one or more files.  Each API function is\n//! described by a single line of text comprising the function's name, followed\n//! by the function's optional comma separated parameters enclosed in\n//! parenthesis, and finally followed by optional explanatory text.\n//!\n//! A function name may be followed by a `?' and a number.  The number is used\n//! by auto-completion to display a registered QPixmap with the function name.\n//!\n//! All function names are used by auto-completion, but only those that include\n//! function parameters are used in call tips.\n//!\n//! QScintilla only deals with prepared API information and not the raw\n//! information described above.  This is done so that large APIs can be\n//! handled while still being responsive to user input.  The conversion of raw\n//! information to prepared information is time consuming (think tens of\n//! seconds) and implemented in a separate thread.  Prepared information can\n//! be quickly saved to and loaded from files.  Such files are portable between\n//! different architectures.\n//!\n//! QScintilla based applications that want to support large APIs would\n//! normally provide the user with the ability to specify a set of, possibly\n//! project specific, raw API files and convert them to prepared files that are\n//! loaded quickly when the application is invoked.\nclass QSCINTILLA_EXPORT QsciAPIs : public QsciAbstractAPIs\n{\n    Q_OBJECT\n\npublic:\n    //! Constructs a QsciAPIs instance attached to lexer \\a lexer.  \\a lexer\n    //! becomes the instance's parent object although the instance can also be\n    //! subsequently attached to other lexers.\n    QsciAPIs(QsciLexer *lexer);\n\n    //! Destroy the QsciAPIs instance.\n    virtual ~QsciAPIs();\n\n    //! Add the single raw API entry \\a entry to the current set.\n    //!\n    //! \\sa clear(), load(), remove()\n    void add(const QString &entry);\n\n    //! Deletes all raw API information.\n    //!\n    //! \\sa add(), load(), remove()\n    void clear();\n\n    //! Load the API information from the file named \\a filename, adding it to\n    //! the current set.  Returns true if successful, otherwise false.\n    bool load(const QString &filename);\n\n    //! Remove the single raw API entry \\a entry from the current set.\n    //!\n    //! \\sa add(), clear(), load()\n    void remove(const QString &entry);\n\n    //! Convert the current raw API information to prepared API information.\n    //! This is implemented by a separate thread.\n    //!\n    //! \\sa cancelPreparation()\n    void prepare();\n\n    //! Cancel the conversion of the current raw API information to prepared\n    //! API information.\n    //!\n    //! \\sa prepare()\n    void cancelPreparation();\n\n    //! Return the default name of the prepared API information file.  It is\n    //! based on the name of the associated lexer and in the directory defined\n    //! by the QSCIDIR environment variable.  If the environment variable isn't\n    //! set then $HOME/.qsci is used.\n    QString defaultPreparedName() const;\n\n    //! Check to see is a prepared API information file named \\a filename\n    //! exists.  If \\a filename is empty then the value returned by\n    //! defaultPreparedName() is used.  Returns true if successful, otherwise\n    //! false.\n    //!\n    //! \\sa defaultPreparedName()\n    bool isPrepared(const QString &filename = QString()) const;\n\n    //! Load the prepared API information from the file named \\a filename.  If\n    //! \\a filename is empty then a name is constructed based on the name of\n    //! the associated lexer and saved in the directory defined by the QSCIDIR\n    //! environment variable.  If the environment variable isn't set then\n    //! $HOME/.qsci is used.  Returns true if successful, otherwise false.\n    bool loadPrepared(const QString &filename = QString());\n\n    //! Save the prepared API information to the file named \\a filename.  If\n    //! \\a filename is empty then a name is constructed based on the name of\n    //! the associated lexer and saved in the directory defined by the QSCIDIR\n    //! environment variable.  If the environment variable isn't set then\n    //! $HOME/.qsci is used.  Returns true if successful, otherwise false.\n    bool savePrepared(const QString &filename = QString()) const;\n\n    //! \\reimp\n    virtual void updateAutoCompletionList(const QStringList &context,\n            QStringList &list);\n\n    //! \\reimp\n    virtual void autoCompletionSelected(const QString &sel);\n\n    //! \\reimp\n    virtual QStringList callTips(const QStringList &context, int commas,\n            QsciScintilla::CallTipsStyle style, QList<int> &shifts);\n\n    //! \\internal Reimplemented to receive termination events from the worker\n    //! thread.\n    virtual bool event(QEvent *e);\n\n    //! Return a list of the installed raw API file names for the associated\n    //! lexer.\n    QStringList installedAPIFiles() const;\n\nsignals:\n    //! This signal is emitted when the conversion of raw API information to\n    //! prepared API information has been cancelled.\n    //!\n    //! \\sa apiPreparationFinished(), apiPreparationStarted()\n    void apiPreparationCancelled();\n\n    //! This signal is emitted when the conversion of raw API information to\n    //! prepared API information starts and can be used to give some visual\n    //! feedback to the user.\n    //!\n    //! \\sa apiPreparationCancelled(), apiPreparationFinished()\n    void apiPreparationStarted();\n    \n    //! This signal is emitted when the conversion of raw API information to\n    //! prepared API information has finished.\n    //!\n    //! \\sa apiPreparationCancelled(), apiPreparationStarted()\n    void apiPreparationFinished();\n\nprivate:\n    friend class QsciAPIsPrepared;\n    friend class QsciAPIsWorker;\n\n    // This indexes a word in a set of raw APIs.  The first part indexes the\n    // entry in the set, the second part indexes the word within the entry.\n    typedef QPair<quint32, quint32> WordIndex;\n\n    // This is a list of word indexes.\n    typedef QList<WordIndex> WordIndexList;\n\n    QsciAPIsWorker *worker;\n    QStringList old_context;\n    QStringList::const_iterator origin;\n    int origin_len;\n    QString unambiguous_context;\n    QStringList apis;\n    QsciAPIsPrepared *prep;\n\n    static bool enoughCommas(const QString &s, int commas);\n\n    QStringList positionOrigin(const QStringList &context, QString &path);\n    bool originStartsWith(const QString &path, const QString &wsep);\n    const WordIndexList *wordIndexOf(const QString &word) const;\n    void lastCompleteWord(const QString &word, QStringList &with_context,\n            bool &unambig);\n    void lastPartialWord(const QString &word, QStringList &with_context,\n            bool &unambig);\n    void addAPIEntries(const WordIndexList &wl, bool complete,\n            QStringList &with_context, bool &unambig);\n    QString prepName(const QString &filename, bool mkpath = false) const;\n    void deleteWorker();\n\n    QsciAPIs(const QsciAPIs &);\n    QsciAPIs &operator=(const QsciAPIs &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscicommand.h",
    "content": "// This defines the interface to the QsciCommand class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCICOMMAND_H\n#define QSCICOMMAND_H\n\n#include <qstring.h>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qsciscintillabase.h>\n\n\nclass QsciScintilla;\n\n\n//! \\brief The QsciCommand class represents an internal editor command that may\n//! have one or two keys bound to it.\n//!\n//! Methods are provided to change the keys bound to the command and to remove\n//! a key binding.  Each command has a user friendly description of the command\n//! for use in key mapping dialogs.\nclass QSCINTILLA_EXPORT QsciCommand\n{\npublic:\n    //! This enum defines the different commands that can be assigned to a key.\n    enum Command {\n        //! Move down one line.\n        LineDown = QsciScintillaBase::SCI_LINEDOWN,\n\n        //! Extend the selection down one line.\n        LineDownExtend = QsciScintillaBase::SCI_LINEDOWNEXTEND,\n\n        //! Extend the rectangular selection down one line.\n        LineDownRectExtend = QsciScintillaBase::SCI_LINEDOWNRECTEXTEND,\n\n        //! Scroll the view down one line.\n        LineScrollDown = QsciScintillaBase::SCI_LINESCROLLDOWN,\n\n        //! Move up one line.\n        LineUp = QsciScintillaBase::SCI_LINEUP,\n\n        //! Extend the selection up one line.\n        LineUpExtend = QsciScintillaBase::SCI_LINEUPEXTEND,\n\n        //! Extend the rectangular selection up one line.\n        LineUpRectExtend = QsciScintillaBase::SCI_LINEUPRECTEXTEND,\n\n        //! Scroll the view up one line.\n        LineScrollUp = QsciScintillaBase::SCI_LINESCROLLUP,\n\n        //! Scroll to the start of the document.\n        ScrollToStart = QsciScintillaBase::SCI_SCROLLTOSTART,\n\n        //! Scroll to the end of the document.\n        ScrollToEnd = QsciScintillaBase::SCI_SCROLLTOEND,\n\n        //! Scroll vertically to centre the current line.\n        VerticalCentreCaret = QsciScintillaBase::SCI_VERTICALCENTRECARET,\n\n        //! Move down one paragraph.\n        ParaDown = QsciScintillaBase::SCI_PARADOWN,\n\n        //! Extend the selection down one paragraph.\n        ParaDownExtend = QsciScintillaBase::SCI_PARADOWNEXTEND,\n\n        //! Move up one paragraph.\n        ParaUp = QsciScintillaBase::SCI_PARAUP,\n\n        //! Extend the selection up one paragraph.\n        ParaUpExtend = QsciScintillaBase::SCI_PARAUPEXTEND,\n\n        //! Move left one character.\n        CharLeft = QsciScintillaBase::SCI_CHARLEFT,\n\n        //! Extend the selection left one character.\n        CharLeftExtend = QsciScintillaBase::SCI_CHARLEFTEXTEND,\n\n        //! Extend the rectangular selection left one character.\n        CharLeftRectExtend = QsciScintillaBase::SCI_CHARLEFTRECTEXTEND,\n\n        //! Move right one character.\n        CharRight = QsciScintillaBase::SCI_CHARRIGHT,\n\n        //! Extend the selection right one character.\n        CharRightExtend = QsciScintillaBase::SCI_CHARRIGHTEXTEND,\n\n        //! Extend the rectangular selection right one character.\n        CharRightRectExtend = QsciScintillaBase::SCI_CHARRIGHTRECTEXTEND,\n\n        //! Move left one word.\n        WordLeft = QsciScintillaBase::SCI_WORDLEFT,\n\n        //! Extend the selection left one word.\n        WordLeftExtend = QsciScintillaBase::SCI_WORDLEFTEXTEND,\n\n        //! Move right one word.\n        WordRight = QsciScintillaBase::SCI_WORDRIGHT,\n\n        //! Extend the selection right one word.\n        WordRightExtend = QsciScintillaBase::SCI_WORDRIGHTEXTEND,\n\n        //! Move to the end of the previous word.\n        WordLeftEnd = QsciScintillaBase::SCI_WORDLEFTEND,\n\n        //! Extend the selection to the end of the previous word.\n        WordLeftEndExtend = QsciScintillaBase::SCI_WORDLEFTENDEXTEND,\n\n        //! Move to the end of the next word.\n        WordRightEnd = QsciScintillaBase::SCI_WORDRIGHTEND,\n\n        //! Extend the selection to the end of the next word.\n        WordRightEndExtend = QsciScintillaBase::SCI_WORDRIGHTENDEXTEND,\n\n        //! Move left one word part.\n        WordPartLeft = QsciScintillaBase::SCI_WORDPARTLEFT,\n\n        //! Extend the selection left one word part.\n        WordPartLeftExtend = QsciScintillaBase::SCI_WORDPARTLEFTEXTEND,\n\n        //! Move right one word part.\n        WordPartRight = QsciScintillaBase::SCI_WORDPARTRIGHT,\n\n        //! Extend the selection right one word part.\n        WordPartRightExtend = QsciScintillaBase::SCI_WORDPARTRIGHTEXTEND,\n\n        //! Move to the start of the document line.\n        Home = QsciScintillaBase::SCI_HOME,\n\n        //! Extend the selection to the start of the document line.\n        HomeExtend = QsciScintillaBase::SCI_HOMEEXTEND,\n\n        //! Extend the rectangular selection to the start of the document line.\n        HomeRectExtend = QsciScintillaBase::SCI_HOMERECTEXTEND,\n\n        //! Move to the start of the displayed line.\n        HomeDisplay = QsciScintillaBase::SCI_HOMEDISPLAY,\n\n        //! Extend the selection to the start of the displayed line.\n        HomeDisplayExtend = QsciScintillaBase::SCI_HOMEDISPLAYEXTEND,\n\n        //! Move to the start of the displayed or document line.\n        HomeWrap = QsciScintillaBase::SCI_HOMEWRAP,\n\n        //! Extend the selection to the start of the displayed or document\n        //! line.\n        HomeWrapExtend = QsciScintillaBase::SCI_HOMEWRAPEXTEND,\n\n        //! Move to the first visible character in the document line.\n        VCHome = QsciScintillaBase::SCI_VCHOME,\n\n        //! Extend the selection to the first visible character in the document\n        //! line.\n        VCHomeExtend = QsciScintillaBase::SCI_VCHOMEEXTEND,\n\n        //! Extend the rectangular selection to the first visible character in\n        //! the document line.\n        VCHomeRectExtend = QsciScintillaBase::SCI_VCHOMERECTEXTEND,\n\n        //! Move to the first visible character of the displayed or document\n        //! line.\n        VCHomeWrap = QsciScintillaBase::SCI_VCHOMEWRAP,\n\n        //! Extend the selection to the first visible character of the\n        //! displayed or document line.\n        VCHomeWrapExtend = QsciScintillaBase::SCI_VCHOMEWRAPEXTEND,\n\n        //! Move to the end of the document line.\n        LineEnd = QsciScintillaBase::SCI_LINEEND,\n\n        //! Extend the selection to the end of the document line.\n        LineEndExtend = QsciScintillaBase::SCI_LINEENDEXTEND,\n\n        //! Extend the rectangular selection to the end of the document line.\n        LineEndRectExtend = QsciScintillaBase::SCI_LINEENDRECTEXTEND,\n\n        //! Move to the end of the displayed line.\n        LineEndDisplay = QsciScintillaBase::SCI_LINEENDDISPLAY,\n\n        //! Extend the selection to the end of the displayed line.\n        LineEndDisplayExtend = QsciScintillaBase::SCI_LINEENDDISPLAYEXTEND,\n\n        //! Move to the end of the displayed or document line.\n        LineEndWrap = QsciScintillaBase::SCI_LINEENDWRAP,\n\n        //! Extend the selection to the end of the displayed or document line.\n        LineEndWrapExtend = QsciScintillaBase::SCI_LINEENDWRAPEXTEND,\n\n        //! Move to the start of the document.\n        DocumentStart = QsciScintillaBase::SCI_DOCUMENTSTART,\n\n        //! Extend the selection to the start of the document.\n        DocumentStartExtend = QsciScintillaBase::SCI_DOCUMENTSTARTEXTEND,\n\n        //! Move to the end of the document.\n        DocumentEnd = QsciScintillaBase::SCI_DOCUMENTEND,\n\n        //! Extend the selection to the end of the document.\n        DocumentEndExtend = QsciScintillaBase::SCI_DOCUMENTENDEXTEND,\n\n        //! Move up one page.\n        PageUp = QsciScintillaBase::SCI_PAGEUP,\n\n        //! Extend the selection up one page.\n        PageUpExtend = QsciScintillaBase::SCI_PAGEUPEXTEND,\n\n        //! Extend the rectangular selection up one page.\n        PageUpRectExtend = QsciScintillaBase::SCI_PAGEUPRECTEXTEND,\n\n        //! Move down one page.\n        PageDown = QsciScintillaBase::SCI_PAGEDOWN,\n\n        //! Extend the selection down one page.\n        PageDownExtend = QsciScintillaBase::SCI_PAGEDOWNEXTEND,\n\n        //! Extend the rectangular selection down one page.\n        PageDownRectExtend = QsciScintillaBase::SCI_PAGEDOWNRECTEXTEND,\n\n        //! Stuttered move up one page.\n        StutteredPageUp = QsciScintillaBase::SCI_STUTTEREDPAGEUP,\n\n        //! Stuttered extend the selection up one page.\n        StutteredPageUpExtend = QsciScintillaBase::SCI_STUTTEREDPAGEUPEXTEND,\n\n        //! Stuttered move down one page.\n        StutteredPageDown = QsciScintillaBase::SCI_STUTTEREDPAGEDOWN,\n\n        //! Stuttered extend the selection down one page.\n        StutteredPageDownExtend = QsciScintillaBase::SCI_STUTTEREDPAGEDOWNEXTEND,\n\n        //! Delete the current character.\n        Delete = QsciScintillaBase::SCI_CLEAR,\n\n        //! Delete the previous character.\n        DeleteBack = QsciScintillaBase::SCI_DELETEBACK,\n\n        //! Delete the previous character if not at start of line.\n        DeleteBackNotLine = QsciScintillaBase::SCI_DELETEBACKNOTLINE,\n\n        //! Delete the word to the left.\n        DeleteWordLeft = QsciScintillaBase::SCI_DELWORDLEFT,\n\n        //! Delete the word to the right.\n        DeleteWordRight = QsciScintillaBase::SCI_DELWORDRIGHT,\n\n        //! Delete right to the end of the next word.\n        DeleteWordRightEnd = QsciScintillaBase::SCI_DELWORDRIGHTEND,\n\n        //! Delete the line to the left.\n        DeleteLineLeft = QsciScintillaBase::SCI_DELLINELEFT,\n\n        //! Delete the line to the right.\n        DeleteLineRight = QsciScintillaBase::SCI_DELLINERIGHT,\n\n        //! Delete the current line.\n        LineDelete = QsciScintillaBase::SCI_LINEDELETE,\n\n        //! Cut the current line to the clipboard.\n        LineCut = QsciScintillaBase::SCI_LINECUT,\n\n        //! Copy the current line to the clipboard.\n        LineCopy = QsciScintillaBase::SCI_LINECOPY,\n\n        //! Transpose the current and previous lines.\n        LineTranspose = QsciScintillaBase::SCI_LINETRANSPOSE,\n\n        //! Duplicate the current line.\n        LineDuplicate = QsciScintillaBase::SCI_LINEDUPLICATE,\n\n        //! Select the whole document.\n        SelectAll = QsciScintillaBase::SCI_SELECTALL,\n\n        //! Move the selected lines up one line.\n        MoveSelectedLinesUp = QsciScintillaBase::SCI_MOVESELECTEDLINESUP,\n\n        //! Move the selected lines down one line.\n        MoveSelectedLinesDown = QsciScintillaBase::SCI_MOVESELECTEDLINESDOWN,\n\n        //! Duplicate the selection.\n        SelectionDuplicate = QsciScintillaBase::SCI_SELECTIONDUPLICATE,\n\n        //! Convert the selection to lower case.\n        SelectionLowerCase = QsciScintillaBase::SCI_LOWERCASE,\n\n        //! Convert the selection to upper case.\n        SelectionUpperCase = QsciScintillaBase::SCI_UPPERCASE,\n\n        //! Cut the selection to the clipboard.\n        SelectionCut = QsciScintillaBase::SCI_CUT,\n\n        //! Copy the selection to the clipboard.\n        SelectionCopy = QsciScintillaBase::SCI_COPY,\n\n        //! Paste from the clipboard.\n        Paste = QsciScintillaBase::SCI_PASTE,\n\n        //! Toggle insert/overtype.\n        EditToggleOvertype = QsciScintillaBase::SCI_EDITTOGGLEOVERTYPE,\n\n        //! Insert a platform dependent newline.\n        Newline = QsciScintillaBase::SCI_NEWLINE,\n\n        //! Insert a formfeed.\n        Formfeed = QsciScintillaBase::SCI_FORMFEED,\n\n        //! Indent one level.\n        Tab = QsciScintillaBase::SCI_TAB,\n\n        //! De-indent one level.\n        Backtab = QsciScintillaBase::SCI_BACKTAB,\n\n        //! Cancel any current operation.\n        Cancel = QsciScintillaBase::SCI_CANCEL,\n\n        //! Undo the last command.\n        Undo = QsciScintillaBase::SCI_UNDO,\n\n        //! Redo the last command.\n        Redo = QsciScintillaBase::SCI_REDO,\n\n        //! Zoom in.\n        ZoomIn = QsciScintillaBase::SCI_ZOOMIN,\n\n        //! Zoom out.\n        ZoomOut = QsciScintillaBase::SCI_ZOOMOUT,\n\n        //! Reverse the selected lines.\n        ReverseLines = QsciScintillaBase::SCI_LINEREVERSE,\n\n\t\tMoveLineUp\t= QsciScintillaBase::SCI_MOVESELECTEDLINESUP,\n\n\t\tMovdLineDown = QsciScintillaBase::SCI_MOVESELECTEDLINESDOWN,\n\n    };\n\n    //! Return the command that will be executed by this instance.\n    Command command() const {return scicmd;}\n\n    //! Execute the command.\n    void execute();\n\n    //! Binds the key \\a key to the command.  If \\a key is 0 then the key\n    //! binding is removed.  If \\a key is invalid then the key binding is\n    //! unchanged.  Valid keys are any visible or control character or any\n    //! of \\c Qt::Key_Down, \\c Qt::Key_Up, \\c Qt::Key_Left, \\c Qt::Key_Right,\n    //! \\c Qt::Key_Home, \\c Qt::Key_End, \\c Qt::Key_PageUp,\n    //! \\c Qt::Key_PageDown, \\c Qt::Key_Delete, \\c Qt::Key_Insert,\n    //! \\c Qt::Key_Escape, \\c Qt::Key_Backspace, \\c Qt::Key_Tab,\n    //! \\c Qt::Key_Backtab, \\c Qt::Key_Return, \\c Qt::Key_Enter,\n    //! \\c Qt::Key_Super_L, \\c Qt::Key_Super_R or \\c Qt::Key_Menu.  Keys may be\n    //! modified with any combination of \\c Qt::ShiftModifier,\n    //! \\c Qt::ControlModifier, \\c Qt::AltModifier and \\c Qt::MetaModifier.\n    //!\n    //! \\sa key(), setAlternateKey(), validKey()\n    void setKey(int key);\n\n    //! Binds the alternate key \\a altkey to the command.  If \\a key is 0\n    //! then the alternate key binding is removed.\n    //!\n    //! \\sa alternateKey(), setKey(), validKey()\n    void setAlternateKey(int altkey);\n\n    //! The key that is currently bound to the command is returned.\n    //!\n    //! \\sa setKey(), alternateKey()\n    int key() const {return qkey;}\n\n    //! The alternate key that is currently bound to the command is\n    //! returned.\n    //!\n    //! \\sa setAlternateKey(), key()\n    int alternateKey() const {return qaltkey;}\n\n    //! If the key \\a key is valid then true is returned.\n    static bool validKey(int key);\n\n    //! The user friendly description of the command is returned.\n    QString description() const;\n\nprivate:\n    friend class QsciCommandSet;\n\n    QsciCommand(QsciScintilla *qs, Command cmd, int key, int altkey,\n            const char *desc);\n\n    void bindKey(int key,int &qk,int &scik);\n\n    QsciScintilla *qsCmd;\n    Command scicmd;\n    int qkey, scikey, qaltkey, scialtkey;\n    const char *descCmd;\n\n    QsciCommand(const QsciCommand &);\n    QsciCommand &operator=(const QsciCommand &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscicommandset.h",
    "content": "// This defines the interface to the QsciCommandSet class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCICOMMANDSET_H\n#define QSCICOMMANDSET_H\n\n#include <qglobal.h>\n\n#include <QList>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscicommand.h>\n\n\nQT_BEGIN_NAMESPACE\nclass QSettings;\nQT_END_NAMESPACE\n\nclass QsciScintilla;\n\n\n//! \\brief The QsciCommandSet class represents the set of all internal editor\n//! commands that may have keys bound.\n//!\n//! Methods are provided to access the individual commands and to read and\n//! write the current bindings from and to settings files.\nclass QSCINTILLA_EXPORT QsciCommandSet\n{\npublic:\n    //! The key bindings for each command in the set are read from the\n    //! settings \\a qs.  \\a prefix is prepended to the key of each entry.\n    //! true is returned if there was no error.\n    //!\n    //! \\sa writeSettings()\n    bool readSettings(QSettings &qs, const char *prefix = \"/Scintilla\");\n\n    //! The key bindings for each command in the set are written to the\n    //! settings \\a qs.  \\a prefix is prepended to the key of each entry.\n    //! true is returned if there was no error.\n    //!\n    //! \\sa readSettings()\n    bool writeSettings(QSettings &qs, const char *prefix = \"/Scintilla\");\n\n    //! The commands in the set are returned as a list.\n    QList<QsciCommand *> &commands() {return cmds;}\n\n    //! The primary keys bindings for all commands are removed.\n    void clearKeys();\n\n    //! The alternate keys bindings for all commands are removed.\n    void clearAlternateKeys();\n\n    // Find the command that is bound to \\a key.\n    QsciCommand *boundTo(int key) const;\n\n    // Find a specific command \\a command.\n    QsciCommand *find(QsciCommand::Command command) const;\n\nprivate:\n    friend class QsciScintilla;\n\n    QsciCommandSet(QsciScintilla *qs);\n    ~QsciCommandSet();\n\n    QsciScintilla *qsci;\n    QList<QsciCommand *> cmds;\n\n    QsciCommandSet(const QsciCommandSet &);\n    QsciCommandSet &operator=(const QsciCommandSet &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscidocument.h",
    "content": "// This defines the interface to the QsciDocument class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCIDOCUMENT_H\n#define QSCIDOCUMENT_H\n\n#include <Qsci/qsciglobal.h>\n\n\nclass QsciScintillaBase;\nclass QsciDocumentP;\n\n\n//! \\brief The QsciDocument class represents a document to be edited.\n//!\n//! It is an opaque class that can be attached to multiple instances of\n//! QsciScintilla to create different simultaneous views of the same document.\n//! QsciDocument uses implicit sharing so that copying class instances is a\n//! cheap operation.\nclass QSCINTILLA_EXPORT QsciDocument\n{\npublic:\n    //! Create a new unattached document.\n    QsciDocument();\n    virtual ~QsciDocument();\n\n    QsciDocument(const QsciDocument &);\n    QsciDocument &operator=(const QsciDocument &);\n\nprivate:\n    friend class QsciScintilla;\n\n    void attach(const QsciDocument &that);\n    void detach();\n    void display(QsciScintillaBase *qsb, const QsciDocument *from);\n    void undisplay(QsciScintillaBase *qsb);\n\n    bool isModified() const;\n    void setModified(bool m);\n\n    QsciDocumentP *pdoc;\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qsciglobal.h",
    "content": "﻿// This module defines various things common to all of the Scintilla Qt port.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCIGLOBAL_H\n#define QSCIGLOBAL_H\n\n#include <qglobal.h>\n\n\n#define QSCINTILLA_VERSION      0x020d01\n#define QSCINTILLA_VERSION_STR  \"2.13.1\"\n\n\n// We only support Qt v5.11 and later.\n#if QT_VERSION < 0x050b00\n#error \"Qt v5.11.0 or later is required\"\n#endif\n\n\n// Define QSCINTILLA_MAKE_DLL to create a QScintilla shared library, or\n// define QSCINTILLA_DLL to link against a QScintilla shared library, or define\n// neither to either build or link against a static QScintilla library.\n#ifdef QSCINTILLA_DLL\n#undef QSCINTILLA_DLL\n#endif\n\n//#define QSCINTILLA_DLL\n\n#if defined(QSCINTILLA_DLL)\n#define QSCINTILLA_EXPORT       Q_DECL_IMPORT\n#elif defined(QSCINTILLA_MAKE_DLL)\n#define QSCINTILLA_EXPORT       Q_DECL_EXPORT\n#else\n#define QSCINTILLA_EXPORT\n#endif\n\n\n#if !defined(QT_BEGIN_NAMESPACE)\n#define QT_BEGIN_NAMESPACE\n#define QT_END_NAMESPACE\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexer.h",
    "content": "﻿// This defines the interface to the QsciLexer class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXER_H\n#define QSCILEXER_H\n\n#include <QColor>\n#include <QFont>\n#include <QMap>\n#include <QObject>\n#include <QString>\n\n#include <Qsci/qsciglobal.h>\n\n\nQT_BEGIN_NAMESPACE\nclass QSettings;\nQT_END_NAMESPACE\n\nclass QsciAbstractAPIs;\nclass QsciScintilla;\n\n\n//要注意与common.h的保持一致。\nenum LangType {\n\tL_UNKNOWN=-1,L_PHP=0, L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC, \\\n\tL_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER, \\\n\tL_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA, \\\n\tL_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME, \\\n\tL_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3, \\\n\tL_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT, \\\n\tL_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP, \\\n\tL_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC, \\\n\tL_IHEX, L_TEHEX, L_SWIFT, \\\n\tL_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \\\n\tL_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \\\n\tL_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \\\n\tL_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG, L_TYPESCRIPT, \\\n\tL_EDIFACT, L_MARKDOWN, L_OCTAVE, L_PO, L_POV, L_IDL, L_GO, L_GLOBAL, L_TXT, \\\n\t// Don't use L_JS, use L_JAVASCRIPT instead\n\t// The end of enumated language type, so it should be always at the end\n\tL_EXTERNAL = 100, L_USER_DEFINE=200,L_USER_TXT,L_USER_CPP //用户自定义顺序与UserLangMother保存一致\n};\n\n//! \\brief The QsciLexer class is an abstract class used as a base for language\n//! lexers.\n//!\n//! A lexer scans the text breaking it up into separate language objects, e.g.\n//! keywords, strings, operators.  The lexer then uses a different style to\n//! draw each object.  A style is identified by a style number and has a number\n//! of attributes, including colour and font.  A specific language lexer will\n//! implement appropriate default styles which can be overriden by an\n//! application by further sub-classing the specific language lexer.\n//!\n//! A lexer may provide one or more sets of words to be recognised as keywords.\n//! Most lexers only provide one set, but some may support languages embedded\n//! in other languages and provide several sets.\n//!\n//! QsciLexer provides convenience methods for saving and restoring user\n//! preferences for fonts and colours.\n//!\n//! If you want to write a lexer for a new language then you can add it to the\n//! underlying Scintilla code and implement a corresponding QsciLexer sub-class\n//! to manage the different styles used.  Alternatively you can implement a\n//! sub-class of QsciLexerCustom.\nclass QSCINTILLA_EXPORT QsciLexer : public QObject\n{\n    Q_OBJECT\n\npublic:\n\tstruct StyleData {\n\t\tQFont font;\n\t\tQColor color;\n\t\tQColor paper;\n\t\tbool eol_fill;\n\t};\n    //! Construct a QsciLexer with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexer(QObject *parent = 0);\n\n    //! Destroy the QSciLexer.\n    virtual ~QsciLexer();\n\n\tstatic void setProLangeDefaultFont(const QFont & font);\n\n    //! Returns the name of the language.  It must be re-implemented by a\n    //! sub-class.\n    virtual const char *language() const = 0;\n\n    //! Returns the name of the lexer.  If 0 is returned then the lexer's\n    //! numeric identifier is used.  The default implementation returns 0.\n    //!\n    //! \\sa lexerId()\n    virtual const char *lexer() const;\n\n\tvoid setLexerId(int id);\n\n\tvoid setLexerTag(QString tag);\n\n\t//对外的显示名称。比如html可以解析asp，使用html的lexer()，但是对外tag是asp\n\tQString lexerTag();\n\n    //! Returns the identifier (i.e. a QsciScintillaBase::SCLEX_* value) of the\n    //! lexer.  This is only used if lexer() returns 0.  The default\n    //! implementation returns QsciScintillaBase::SCLEX_CONTAINER.\n    //!\n    //! \\sa lexer()\n    virtual int lexerId() const;\n\n    //! Returns the current API set or 0 if there isn't one.\n    //!\n    //! \\sa setAPIs()\n    QsciAbstractAPIs *apis() const;\n\n    //! Returns the characters that can fill up auto-completion.\n    virtual const char *autoCompletionFillups() const;\n\n    //! Returns the list of character sequences that can separate\n    //! auto-completion words.  The first in the list is assumed to be the\n    //! sequence used to separate words in the lexer's API files.\n    virtual QStringList autoCompletionWordSeparators() const;\n\n    //! Returns the auto-indentation style.  The default is 0 if the\n    //! language is block structured, or QsciScintilla::AiMaintain if not.\n    //!\n    //! \\sa setAutoIndentStyle(), QsciScintilla::AiMaintain,\n    //! QsciScintilla::AiOpening, QsciScintilla::AiClosing\n    int autoIndentStyle();\n\n    //! Returns a space separated list of words or characters in a particular\n    //! style that define the end of a block for auto-indentation.  The style\n    //! is returned via \\a style.\n    virtual const char *blockEnd(int *style = 0) const;\n\n    //! Returns the number of lines prior to the current one when determining\n    //! the scope of a block when auto-indenting.\n    virtual int blockLookback() const;\n\n    //! Returns a space separated list of words or characters in a particular\n    //! style that define the start of a block for auto-indentation.  The style\n    //! is returned via \\a style.\n    virtual const char *blockStart(int *style = 0) const;\n\n    //! Returns a space separated list of keywords in a particular style that\n    //! define the start of a block for auto-indentation.  The style is\n    //! returned via \\a style.\n    virtual const char *blockStartKeyword(int *style = 0) const;\n\n    //! Returns the style used for braces for brace matching.\n    virtual int braceStyle() const;\n\n    //! Returns true if the language is case sensitive.  The default is true.\n    virtual bool caseSensitive() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //! The default colour is that returned by defaultColor().\n    //!\n    //! \\sa defaultColor(), paper()\n    virtual QColor color(int style) const;\n\n    //! Returns the end-of-line for style number \\a style.  The default is\n    //! false.\n    virtual bool eolFill(int style) const;\n\n    //! Returns the font for style number \\a style.  The default font is\n    //! that returned by defaultFont().\n    //!\n    //! \\sa defaultFont()\n    virtual QFont font(int style) const;\n\n    //! Returns the view used for indentation guides.\n    virtual int indentationGuideView() const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.  Keyword sets are numbered\n    //! from 1.  0 is returned if there is no such set.\n    virtual const char *keywords(int set);\n\n\tvoid setIsUserDefineKeywords(bool isUserDefine=false); //使用用户自定义的关键字\n\n\tconst char* getUserDefineKeywords();//获取用户自定义关键字\n\n    //! Returns the number of the style used for whitespace.  The default\n    //! implementation returns 0 which is the convention adopted by most\n    //! lexers.\n    virtual int defaultStyle() const;\n\n    //! Returns the descriptive name for style number \\a style.  For a valid\n    //! style number for this language a non-empty QString must be returned.\n    //! If the style number is invalid then an empty QString must be returned.\n    //! This is intended to be used in user preference dialogs.\n    virtual QString description(int style) const = 0;\n\n    //! Returns the background colour of the text for style number\n    //! \\a style.\n    //!\n    //! \\sa defaultPaper(), color()\n    virtual QColor paper(int style) const;\n\n    //! Returns the default text colour.\n    //!\n    //! \\sa setDefaultColor()\n    QColor defaultColor() const;\n\n    //! Returns the default text colour for style number \\a style.\n    virtual QColor defaultColor(int style) const;\n\n    //! Returns the default end-of-line for style number \\a style.  The default\n    //! is false.\n    virtual bool defaultEolFill(int style) const;\n\n    //! Returns the default font.\n    //!\n    //! \\sa setDefaultFont()\n    QFont defaultFont() const;\n\n    //! Returns the default font for style number \\a style.\n    virtual QFont defaultFont(int style) const;\n\n    //! Returns the default paper colour.\n    //!\n    //! \\sa setDefaultPaper()\n    QColor defaultPaper() const;\n\n    //! Returns the default paper colour for style number \\a style.\n    virtual QColor defaultPaper(int style) const;\n\n    //! Returns the QsciScintilla instance that the lexer is currently attached\n    //! to or 0 if it is unattached.\n    QsciScintilla *editor() const {return attached_editor;}\n\n    //! The current set of APIs is set to \\a apis.  If \\a apis is 0 then any\n    //! existing APIs for this lexer are removed.\n    //!\n    //! \\sa apis()\n    void setAPIs(QsciAbstractAPIs *apis);\n\n    //! The default text colour is set to \\a c.\n    //!\n    //! \\sa defaultColor(), color()\n    void setDefaultColor(const QColor &c);\n\n    //! The default font is set to \\a f.\n    //!\n    //! \\sa defaultFont(), font()\n    void setDefaultFont(const QFont &f);\n\n    //! The default paper colour is set to \\a c.\n    //!\n    //! \\sa defaultPaper(), paper()\n    void setDefaultPaper(const QColor &c);\n\n    //! \\internal Set the QsciScintilla instance that the lexer is attached to.\n    virtual void setEditor(QsciScintilla *editor);\n\n    //! The colour, paper, font and end-of-line for each style number, and\n    //! all lexer specific properties are read from the settings \\a qs.\n    //! \\a prefix is prepended to the key of each entry.  true is returned\n    //! if there was no error.\n    //!\n    //! \\sa writeSettings(), QsciScintilla::setLexer()\n    bool readSettings(QSettings &qs,const char *prefix = \"/Scintilla\");\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    virtual void refreshProperties();\n\n    //! Returns the number of style bits needed by the lexer.  Normally this\n    //! should only be re-implemented by custom lexers.  This is deprecated and\n    //! no longer has any effect.\n    virtual int styleBitsNeeded() const;\n\n    //! Returns the string of characters that comprise a word.  The default is\n    //! 0 which implies the upper and lower case alphabetic characters and\n    //! underscore.\n    virtual const char *wordCharacters() const;\n\n    //! The colour, paper, font and end-of-line for each style number, and\n    //! all lexer specific properties are written to the settings \\a qs.\n    //! \\a prefix is prepended to the key of each entry.  true is returned\n    //! if there was no error.\n    //!\n    //! \\sa readSettings()\n    bool writeSettings(QSettings &qs,\n               const char *prefix = \"/Scintilla\") const;\n\n\tStyleData &styleData(int style) const;\n    StyleData& setThemesDefaultStyleData(int style) const;\n\n\tvoid resetStyleDefaults();\n\n    QByteArray getCommentLineSymbol();\n    void setCommentLineSymbol(QByteArray comment);\n\n    QByteArray getCommentStart();\n    QByteArray getCommentEnd();\n\n    void setCommentStart(QByteArray commentStart);\n    void setCommentEnd(QByteArray commentEnd);\n\n    static void setCurThemes(int themesId);\n\npublic slots:\n    //! The auto-indentation style is set to \\a autoindentstyle.\n    //!\n    //! \\sa autoIndentStyle(), QsciScintilla::AiMaintain,\n    //! QsciScintilla::AiOpening, QsciScintilla::AiClosing\n    virtual void setAutoIndentStyle(int autoindentstyle);\n\n    //! The foreground colour for style number \\a style is set to \\a c.  If\n    //! \\a style is -1 then the colour is set for all styles.\n    virtual void setColor(const QColor &c,int style = -1);\n\n    //! The end-of-line fill for style number \\a style is set to\n    //! \\a eoffill.  If \\a style is -1 then the fill is set for all styles.\n    virtual void setEolFill(bool eoffill,int style = -1);\n\n    //! The font for style number \\a style is set to \\a f.  If \\a style is\n    //! -1 then the font is set for all styles.\n    virtual void setFont(const QFont &f,int style = -1);\n\n    //! The background colour for style number \\a style is set to \\a c.  If\n    //! \\a style is -1 then the colour is set for all styles.\n    virtual void setPaper(const QColor &c,int style = -1);\n\nsignals:\n    //! This signal is emitted when the foreground colour of style number\n    //! \\a style has changed.  The new colour is \\a c.\n    void colorChanged(const QColor &c,int style);\n\n    //! This signal is emitted when the end-of-file fill of style number\n    //! \\a style has changed.  The new fill is \\a eolfilled.\n    void eolFillChanged(bool eolfilled,int style);\n\n    //! This signal is emitted when the font of style number \\a style has\n    //! changed.  The new font is \\a f.\n    void fontChanged(const QFont &f,int style);\n\n    //! This signal is emitted when the background colour of style number\n    //! \\a style has changed.  The new colour is \\a c.\n    void paperChanged(const QColor &c,int style);\n\n    //! This signal is emitted when the value of the lexer property \\a prop\n    //! needs to be changed.  The new value is \\a val.\n    void propertyChanged(const char *prop, const char *val);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    virtual bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    virtual bool writeProperties(QSettings &qs,const QString &prefix) const;\n\n\tbool m_isUserDefineKeyword; //是否使用用户自定义关键字。默认false\n\n\tQByteArray m_userDefineKeyword;//用户自定义的关键字\n\n    QByteArray m_commentSymbol;\n    QByteArray m_commentStart;\n    QByteArray m_commentEnd;\n\n    //当前主题id\n    static int m_themesId;\n\nprivate:\n\n\n    struct StyleDataMap {\n        bool style_data_set;\n        QMap<int, StyleData> style_data;\n    };\n\n    StyleDataMap *style_map;\n\n    int autoIndStyle;\n    QFont defFont;\n    QColor defColor;\n    QColor defPaper;\n    QsciAbstractAPIs *apiSet;\n    QsciScintilla *attached_editor;\n\n\tQString m_tagName;\n\n\n    void setStyleDefaults() const;\n\n    QsciLexer(const QsciLexer &);\n    QsciLexer &operator=(const QsciLexer &);\n\n\tint m_lexerId;\n\npublic:\n\tstatic int s_defaultFontSize;\n\tstatic QFont s_defaultLangFont;\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerasm.h",
    "content": "#pragma once\r\n// This defines the interface to the QsciLexerAsm class.\r\n//\r\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\r\n//\r\n// This file is part of QScintilla.\r\n//\r\n// This file may be used under the terms of the GNU General Public License\r\n// version 3.0 as published by the Free Software Foundation and appearing in\r\n// the file LICENSE included in the packaging of this file.  Please review the\r\n// following information to ensure the GNU General Public License version 3.0\r\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\r\n//\r\n// If you do not wish to use this file under the terms of the GPL version 3.0\r\n// then you may purchase a commercial license.  For more information contact\r\n// info@riverbankcomputing.com.\r\n//\r\n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\r\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r\n\r\n#include <QObject>\r\n\r\n#include <Qsci/qsciglobal.h>\r\n#include <Qsci/qscilexer.h>\r\n\r\n\r\n//! \\brief The QsciLexerAsm class encapsulates the Scintilla Bash lexer.\r\nclass QSCINTILLA_EXPORT QsciLexerAsm : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\t//! This enum defines the meanings of the different styles used by the\r\n\t//! Bash lexer.\r\n\tenum {\r\n\t\tDEFAULT = 0,\r\n\t\tCOMMENT,\r\n\t\tNUMBER,\r\n\t\tSTRING,\r\n\t\tOPERATOR,\r\n\t\tIDENTIFIER,\r\n\t\tCPUINSTRUCTION,\r\n\t\tMATHINSTRUCTION,\r\n\t\tREGISTER,\r\n\t\tDIRECTIVE,\r\n\t\tDIRECTIVEOPERAND,\r\n\t\tCOMMENTBLOCK,\r\n\t\tCHARACTER,\r\n\t\tSTRINGEOL,\r\n\t\tEXTINSTRUCTION,\r\n\t\tCOMMENTDIRECTIVE,\r\n\t};\r\n\r\n\t//! Construct a QsciLexerAsm with parent \\a parent.  \\a parent is\r\n\t//! typically the QsciScintilla instance.\r\n\tQsciLexerAsm(QObject* parent = 0);\r\n\r\n\t//! Destroys the QsciLexerAsm instance.\r\n\tvirtual ~QsciLexerAsm();\r\n\r\n\t//! Returns the name of the language.\r\n\tconst char* language() const;\r\n\r\n\t//! Returns the name of the lexer.  Some lexers support a number of\r\n\t//! languages.\r\n\tconst char* lexer() const;\r\n\r\n\t//! Returns the string of characters that comprise a word.\r\n\tconst char* wordCharacters() const;\r\n\r\n\t//! Returns the foreground colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultPaper()\r\n\tQColor defaultColor(int style) const;\r\n\r\n\t//! Returns the end-of-line fill for style number \\a style.\r\n\tbool defaultEolFill(int style) const;\r\n\r\n\t//! Returns the font for style number \\a style.\r\n\tQFont defaultFont(int style) const;\r\n\r\n\t//! Returns the background colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultColor()\r\n\tQColor defaultPaper(int style) const;\r\n\r\n\t//! Returns the set of keywords for the keyword set \\a set recognised\r\n\t//! by the lexer as a space separated string.\r\n\tconst char* keywords(int set);\r\n\r\n\t//! Returns the descriptive name for style number \\a style.  If the\r\n\t//! style is invalid for this language then an empty QString is returned.\r\n\t//! This is intended to be used in user preference dialogs.\r\n\tQString description(int style) const;\r\n\r\n\t//! Causes all properties to be refreshed by emitting the\r\n\t//! propertyChanged() signal as required.\r\n\tvoid refreshProperties();\r\n\r\n\r\n\t//! Returns true if trailing blank lines are included in a fold block.\r\n\t//!\r\n\t//! \\sa setFoldCompact()\r\n\tbool foldCompact() const;\r\n\r\npublic slots:\r\n\t//! If \\a fold is true then multi-line comment blocks can be folded.\r\n\t//! The default is false.\r\n\t//! If \\a fold is true then trailing blank lines are included in a fold\r\n\t//! block. The default is true.\r\n\t//!\r\n\t//! \\sa foldCompact()\r\n\tvirtual void setFoldCompact(bool fold);\r\n\r\nprotected:\r\n\t//! The lexer's properties are read from the settings \\a qs.  \\a prefix\r\n\t//! (which has a trailing '/') should be used as a prefix to the key of\r\n\t//! each setting.  true is returned if there is no error.\r\n\t//!\r\nprivate:\r\n\tvoid setCompactProp();\r\n\r\n\tbool fold_compact;\r\n\r\n\tQsciLexerAsm(const QsciLexerAsm&);\r\n\tQsciLexerAsm& operator=(const QsciLexerAsm&);\r\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexeravs.h",
    "content": "﻿// This defines the interface to the QsciLexerAVS class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERAVS_H\n#define QSCILEXERAVS_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerAVS class encapsulates the Scintilla AVS lexer.\nclass QSCINTILLA_EXPORT QsciLexerAVS : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! AVS lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A block comment.\n        BlockComment = 1,\n\n        //! A nested block comment.\n        NestedBlockComment = 2,\n\n        //! A line comment.\n        LineComment = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! An operator.\n        Operator = 5,\n\n        //! An identifier\n        Identifier = 6,\n\n        //! A string.\n        String = 7,\n\n        //! A triple quoted string.\n        TripleString = 8,\n\n        //! A keyword (as defined by keyword set number 1)..\n        Keyword = 9,\n\n        //! A filter (as defined by keyword set number 2).\n        Filter = 10,\n\n        //! A plugin (as defined by keyword set number 3).\n        Plugin = 11,\n\n        //! A function (as defined by keyword set number 4).\n        Function = 12,\n\n        //! A clip property (as defined by keyword set number 5).\n        ClipProperty = 13,\n\n        //! A keyword defined in keyword set number 6.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet6 = 14\n    };\n\n    //! Construct a QsciLexerAVS with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerAVS(QObject *parent = 0);\n\n    //! Destroys the QsciLexerAVS instance.\n    virtual ~QsciLexerAVS();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n\n    bool fold_comments;\n    bool fold_compact;\n\n    QsciLexerAVS(const QsciLexerAVS &);\n    QsciLexerAVS &operator=(const QsciLexerAVS &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerbash.h",
    "content": "﻿// This defines the interface to the QsciLexerBash class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERBASH_H\n#define QSCILEXERBASH_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerBash class encapsulates the Scintilla Bash lexer.\nclass QSCINTILLA_EXPORT QsciLexerBash : public QsciLexer\n{\n\tQ_OBJECT\n\npublic:\n\t//! This enum defines the meanings of the different styles used by the\n\t//! Bash lexer.\n\tenum {\n\t\t//! The default.\n\t\tDefault = 0,\n\n\t\t//! An error.\n\t\tError = 1,\n\n\t\t//! A comment.\n\t\tComment = 2,\n\n\t\t//! A number.\n\t\tNumber = 3,\n\n\t\t//! A keyword.\n\t\tKeyword = 4,\n\n\t\t//! A double-quoted string.\n\t\tDoubleQuotedString = 5,\n\n\t\t//! A single-quoted string.\n\t\tSingleQuotedString = 6,\n\n\t\t//! An operator.\n\t\tOperator = 7,\n\n\t\t//! An identifier\n\t\tIdentifier = 8,\n\n\t\t//! A scalar.\n\t\tScalar = 9,\n\n\t\t//! Parameter expansion.\n\t\tParameterExpansion = 10,\n\n\t\t//! Backticks.\n\t\tBackticks = 11,\n\n\t\t//! A here document delimiter.\n\t\tHereDocumentDelimiter = 12,\n\n\t\t//! A single quoted here document.\n\t\tSingleQuotedHereDocument = 13\n\t};\n\n\t//! Construct a QsciLexerBash with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n\tQsciLexerBash(QObject *parent = 0);\n\n\t//! Destroys the QsciLexerBash instance.\n\tvirtual ~QsciLexerBash();\n\n\t//! Returns the name of the language.\n\tconst char *language() const;\n\n\t//! Returns the name of the lexer.  Some lexers support a number of\n\t//! languages.\n\tconst char *lexer() const;\n\n\t//! \\internal Returns the style used for braces for brace matching.\n\tint braceStyle() const;\n\n\t//! Returns the string of characters that comprise a word.\n\tconst char *wordCharacters() const;\n\n\t//! Returns the foreground colour of the text for style number \\a style.\n\t//!\n\t//! \\sa defaultPaper()\n\tQColor defaultColor(int style) const;\n\n\t//! Returns the end-of-line fill for style number \\a style.\n\tbool defaultEolFill(int style) const;\n\n\t//! Returns the font for style number \\a style.\n\tQFont defaultFont(int style) const;\n\n\t//! Returns the background colour of the text for style number \\a style.\n\t//!\n\t//! \\sa defaultColor()\n\tQColor defaultPaper(int style) const;\n\n\t//! Returns the set of keywords for the keyword set \\a set recognised\n\t//! by the lexer as a space separated string.\n\tconst char *keywords(int set);\n\n\t//! Returns the descriptive name for style number \\a style.  If the\n\t//! style is invalid for this language then an empty QString is returned.\n\t//! This is intended to be used in user preference dialogs.\n\tQString description(int style) const;\n\n\t//! Causes all properties to be refreshed by emitting the\n\t//! propertyChanged() signal as required.\n\tvoid refreshProperties();\n\n\t//! Returns true if multi-line comment blocks can be folded.\n\t//!\n\t//! \\sa setFoldComments()\n\tbool foldComments() const;\n\n\t//! Returns true if trailing blank lines are included in a fold block.\n\t//!\n\t//! \\sa setFoldCompact()\n\tbool foldCompact() const;\n\npublic slots:\n\t//! If \\a fold is true then multi-line comment blocks can be folded.\n\t//! The default is false.\n\t//!\n\t//! \\sa foldComments()\n\tvirtual void setFoldComments(bool fold);\n\n\t//! If \\a fold is true then trailing blank lines are included in a fold\n\t//! block. The default is true.\n\t//!\n\t//! \\sa foldCompact()\n\tvirtual void setFoldCompact(bool fold);\n\nprotected:\n\t//! The lexer's properties are read from the settings \\a qs.  \\a prefix\n\t//! (which has a trailing '/') should be used as a prefix to the key of\n\t//! each setting.  true is returned if there is no error.\n\t//!\n\tbool readProperties(QSettings &qs,const QString &prefix);\n\n\t//! The lexer's properties are written to the settings \\a qs.\n\t//! \\a prefix (which has a trailing '/') should be used as a prefix to\n\t//! the key of each setting.  true is returned if there is no error.\n\t//!\n\tbool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n\tvoid setCommentProp();\n\tvoid setCompactProp();\n\n\tbool fold_comments;\n\tbool fold_compact;\n\n\tQsciLexerBash(const QsciLexerBash &);\n\tQsciLexerBash &operator=(const QsciLexerBash &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerbatch.h",
    "content": "﻿// This defines the interface to the QsciLexerBatch class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERBATCH_H\n#define QSCILEXERBATCH_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerBatch class encapsulates the Scintilla batch file\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerBatch : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! batch file lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A keyword.\n        Keyword = 2,\n\n        //! A label.\n        Label = 3,\n\n        //! An hide command character.\n        HideCommandChar = 4,\n\n        //! An external command .\n        ExternalCommand = 5,\n\n        //! A variable.\n        Variable = 6,\n        \n        //! An operator\n        Operator = 7\n    };\n\n    //! Construct a QsciLexerBatch with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerBatch(QObject *parent = 0);\n\n    //! Destroys the QsciLexerBatch instance.\n    virtual ~QsciLexerBatch();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! \\internal Returns true if the language is case sensitive.\n    bool caseSensitive() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerBatch(const QsciLexerBatch &);\n    QsciLexerBatch &operator=(const QsciLexerBatch &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexercmake.h",
    "content": "﻿// This defines the interface to the QsciLexerCMake class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERCMAKE_H\n#define QSCILEXERCMAKE_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerCMake class encapsulates the Scintilla CMake lexer.\nclass QSCINTILLA_EXPORT QsciLexerCMake : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! CMake lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A string.\n        String = 2,\n\n        //! A left quoted string.\n        StringLeftQuote = 3,\n\n        //! A right quoted string.\n        StringRightQuote = 4,\n\n        //! A function.  (Defined by keyword set number 1.)\n        Function = 5,\n\n        //! A variable. (Defined by keyword set number 2.)\n        Variable = 6,\n\n        //! A label.\n        Label = 7,\n\n        //! A keyword defined in keyword set number 3.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet3 = 8,\n\n        //! A WHILE block.\n        BlockWhile = 9,\n\n        //! A FOREACH block.\n        BlockForeach = 10,\n\n        //! An IF block.\n        BlockIf = 11,\n\n        //! A MACRO block.\n        BlockMacro = 12,\n\n        //! A variable within a string.\n        StringVariable = 13,\n\n        //! A number.\n        Number = 14\n    };\n\n    //! Construct a QsciLexerCMake with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerCMake(QObject *parent = 0);\n\n    //! Destroys the QsciLexerCMake instance.\n    virtual ~QsciLexerCMake();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if ELSE blocks can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const;\n\npublic slots:\n    //! If \\a fold is true then ELSE blocks can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldAtElse()\n    virtual void setFoldAtElse(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setAtElseProp();\n\n    bool fold_atelse;\n\n    QsciLexerCMake(const QsciLexerCMake &);\n    QsciLexerCMake &operator=(const QsciLexerCMake &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexercoffeescript.h",
    "content": "﻿// This defines the interface to the QsciLexerCoffeeScript class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERCOFFEESCRIPT_H\n#define QSCILEXERCOFFEESCRIPT_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerCoffeeScript class encapsulates the Scintilla\n//! CoffeeScript lexer.\nclass QSCINTILLA_EXPORT QsciLexerCoffeeScript : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! C++ lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A C-style comment.\n        Comment = 1,\n\n        //! A C++-style comment line.\n        CommentLine = 2,\n\n        //! A JavaDoc/Doxygen C-style comment.\n        CommentDoc = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! A keyword.\n        Keyword = 5,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 6,\n\n        //! A single-quoted string.\n        SingleQuotedString = 7,\n\n        //! An IDL UUID.\n        UUID = 8,\n\n        //! A pre-processor block.\n        PreProcessor = 9,\n\n        //! An operator.\n        Operator = 10,\n\n        //! An identifier\n        Identifier = 11,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 12,\n\n        //! A C# verbatim string.\n        VerbatimString = 13,\n\n        //! A regular expression.\n        Regex = 14,\n\n        //! A JavaDoc/Doxygen C++-style comment line.\n        CommentLineDoc = 15,\n\n        //! A keyword defined in keyword set number 2.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet2 = 16,\n\n        //! A JavaDoc/Doxygen keyword.\n        CommentDocKeyword = 17,\n\n        //! A JavaDoc/Doxygen keyword error defined in keyword set number 3.\n        //! The class must be sub-classed and re-implement keywords() to make\n        //! use of this style.\n        CommentDocKeywordError = 18,\n\n        //! A global class defined in keyword set number 4.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        GlobalClass = 19,\n\n        //! A block comment.\n        CommentBlock = 22,\n\n        //! A block regular expression.\n        BlockRegex = 23,\n\n        //! A block regular expression comment.\n        BlockRegexComment = 24,\n\n        //! An instance property.\n        InstanceProperty = 25,\n    };\n\n    //! Construct a QsciLexerCoffeeScript with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerCoffeeScript(QObject *parent = 0);\n\n    //! Destroys the QsciLexerCoffeeScript instance.\n    virtual ~QsciLexerCoffeeScript();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the end of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of keywords in a\n    //! particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStartKeyword(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.  Set 1 is normally used for\n    //! primary keywords and identifiers.  Set 2 is normally used for secondary\n    //! keywords and identifiers.  Set 3 is normally used for documentation\n    //! comment keywords.  Set 4 is normally used for global classes and\n    //! typedefs.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if '$' characters are allowed in identifier names.\n    //!\n    //! \\sa setDollarsAllowed()\n    bool dollarsAllowed() const {return dollars;}\n\n    //! If \\a allowed is true then '$' characters are allowed in identifier\n    //! names.  The default is true.\n    //!\n    //! \\sa dollarsAllowed()\n    void setDollarsAllowed(bool allowed);\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    void setFoldComments(bool fold);\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    void setFoldCompact(bool fold);\n\n    //! Returns true if preprocessor lines (after the preprocessor\n    //! directive) are styled.\n    //!\n    //! \\sa setStylePreprocessor()\n    bool stylePreprocessor() const {return style_preproc;}\n\n    //! If \\a style is true then preprocessor lines (after the preprocessor\n    //! directive) are styled.  The default is false.\n    //!\n    //! \\sa stylePreprocessor()\n    void setStylePreprocessor(bool style);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setStylePreprocProp();\n    void setDollarsProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool style_preproc;\n    bool dollars;\n\n    QsciLexerCoffeeScript(const QsciLexerCoffeeScript &);\n    QsciLexerCoffeeScript &operator=(const QsciLexerCoffeeScript &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexercpp.h",
    "content": "﻿// This defines the interface to the QsciLexerCPP class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERCPP_H\n#define QSCILEXERCPP_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerCPP class encapsulates the Scintilla C++\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerCPP : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! C++ lexer.\n    enum {\n        //! The default.\n        Default = 0,\n        InactiveDefault = Default + 64,\n\n        //! A C comment.\n        Comment = 1,\n        InactiveComment = Comment + 64,\n\n        //! A C++ comment line.\n        CommentLine = 2,\n        InactiveCommentLine = CommentLine + 64,\n\n        //! A JavaDoc/Doxygen style C comment.\n        CommentDoc = 3,\n        InactiveCommentDoc = CommentDoc + 64,\n\n        //! A number.\n        Number = 4,\n        InactiveNumber = Number + 64,\n\n        //! A keyword.\n        Keyword = 5,\n        InactiveKeyword = Keyword + 64,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 6,\n        InactiveDoubleQuotedString = DoubleQuotedString + 64,\n\n        //! A single-quoted string.\n        SingleQuotedString = 7,\n        InactiveSingleQuotedString = SingleQuotedString + 64,\n\n        //! An IDL UUID.\n        UUID = 8,\n        InactiveUUID = UUID + 64,\n\n        //! A pre-processor block.\n        PreProcessor = 9,\n        InactivePreProcessor = PreProcessor + 64,\n\n        //! An operator.\n        Operator = 10,\n        InactiveOperator = Operator + 64,\n\n        //! An identifier\n        Identifier = 11,\n        InactiveIdentifier = Identifier + 64,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 12,\n        InactiveUnclosedString = UnclosedString + 64,\n\n        //! A C# verbatim string.\n        VerbatimString = 13,\n        InactiveVerbatimString = VerbatimString + 64,\n\n        //! A JavaScript regular expression.\n        Regex = 14,\n        InactiveRegex = Regex + 64,\n\n        //! A JavaDoc/Doxygen style C++ comment line.\n        CommentLineDoc = 15,\n        InactiveCommentLineDoc = CommentLineDoc + 64,\n\n        //! A keyword defined in keyword set number 2.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet2 = 16,\n        InactiveKeywordSet2 = KeywordSet2 + 64,\n\n        //! A JavaDoc/Doxygen keyword.\n        CommentDocKeyword = 17,\n        InactiveCommentDocKeyword = CommentDocKeyword + 64,\n\n        //! A JavaDoc/Doxygen keyword error.\n        CommentDocKeywordError = 18,\n        InactiveCommentDocKeywordError = CommentDocKeywordError + 64,\n\n        //! A global class or typedef defined in keyword set number 5.  The\n        //! class must be sub-classed and re-implement keywords() to make use\n        //! of this style.\n        GlobalClass = 19,\n        InactiveGlobalClass = GlobalClass + 64,\n\n        //! A C++ raw string.\n        RawString = 20,\n        InactiveRawString = RawString + 64,\n\n        //! A Vala triple-quoted verbatim string.\n        TripleQuotedVerbatimString = 21,\n        InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64,\n\n        //! A Pike hash-quoted string.\n        HashQuotedString = 22,\n        InactiveHashQuotedString = HashQuotedString + 64,\n\n        //! A pre-processor stream comment.\n        PreProcessorComment = 23,\n        InactivePreProcessorComment = PreProcessorComment + 64,\n\n        //! A JavaDoc/Doxygen style pre-processor comment.\n        PreProcessorCommentLineDoc = 24,\n        InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64,\n\n        //! A user-defined literal.\n        UserLiteral = 25,\n        InactiveUserLiteral = UserLiteral + 64,\n\n        //! A task marker.\n        TaskMarker = 26,\n        InactiveTaskMarker = TaskMarker + 64,\n\n        //! An escape sequence.\n        EscapeSequence = 27,\n        InactiveEscapeSequence = EscapeSequence + 64,\n    };\n\n    //! Construct a QsciLexerCPP with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.  \\a caseInsensitiveKeywords is true if the\n    //! lexer ignores the case of keywords.\n    QsciLexerCPP(QObject *parent = 0, bool caseInsensitiveKeywords = false);\n\n    //! Destroys the QsciLexerCPP instance.\n    virtual ~QsciLexerCPP();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the end of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of keywords in a\n    //! particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStartKeyword(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.  Set 1 is normally used for\n    //! primary keywords and identifiers.  Set 2 is normally used for secondary\n    //! keywords and identifiers.  Set 3 is normally used for documentation\n    //! comment keywords.  Set 4 is normally used for global classes and\n    //! typedefs.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if \"} else {\" lines can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const {return fold_atelse;}\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! Returns true if preprocessor blocks can be folded.\n    //!\n    //! \\sa setFoldPreprocessor()\n    bool foldPreprocessor() const {return fold_preproc;}\n\n    //! Returns true if preprocessor lines (after the preprocessor\n    //! directive) are styled.\n    //!\n    //! \\sa setStylePreprocessor()\n    bool stylePreprocessor() const {return style_preproc;}\n\n    //! If \\a allowed is true then '$' characters are allowed in identifier\n    //! names.  The default is true.\n    //!\n    //! \\sa dollarsAllowed()\n    void setDollarsAllowed(bool allowed);\n\n    //! Returns true if '$' characters are allowed in identifier names.\n    //!\n    //! \\sa setDollarsAllowed()\n    bool dollarsAllowed() const {return dollars;}\n\n    //! If \\a enabled is true then triple quoted strings are highlighted.  The\n    //! default is false.\n    //!\n    //! \\sa highlightTripleQuotedStrings()\n    void setHighlightTripleQuotedStrings(bool enabled);\n\n    //! Returns true if triple quoted strings should be highlighted.\n    //!\n    //! \\sa setHighlightTripleQuotedStrings()\n    bool highlightTripleQuotedStrings() const {return highlight_triple;}\n\n    //! If \\a enabled is true then hash quoted strings are highlighted.  The\n    //! default is false.\n    //!\n    //! \\sa highlightHashQuotedStrings()\n    void setHighlightHashQuotedStrings(bool enabled);\n\n    //! Returns true if hash quoted strings should be highlighted.\n    //!\n    //! \\sa setHighlightHashQuotedStrings()\n    bool highlightHashQuotedStrings() const {return highlight_hash;}\n\n    //! If \\a enabled is true then back-quoted raw strings are highlighted.\n    //! The default is false.\n    //!\n    //! \\sa highlightBackQuotedStrings()\n    void setHighlightBackQuotedStrings(bool enabled);\n\n    //! Returns true if back-quoted raw strings should be highlighted.\n    //!\n    //! \\sa setHighlightBackQuotedStrings()\n    bool highlightBackQuotedStrings() const {return highlight_back;}\n\n    //! If \\a enabled is true then escape sequences in strings are highlighted.\n    //! The default is false.\n    //!\n    //! \\sa highlightEscapeSequences()\n    void setHighlightEscapeSequences(bool enabled);\n\n    //! Returns true if escape sequences in strings should be highlighted.\n    //!\n    //! \\sa setHighlightEscapeSequences()\n    bool highlightEscapeSequences() const {return highlight_escape;}\n\n    //! If \\a allowed is true then escape sequences are allowed in verbatim\n    //! strings.  The default is false.\n    //!\n    //! \\sa verbatimStringEscapeSequencesAllowed()\n    void setVerbatimStringEscapeSequencesAllowed(bool allowed);\n\n    //! Returns true if hash quoted strings should be highlighted.\n    //!\n    //! \\sa setVerbatimStringEscapeSequencesAllowed()\n    bool verbatimStringEscapeSequencesAllowed() const {return vs_escape;}\n\npublic slots:\n    //! If \\a fold is true then \"} else {\" lines can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldAtElse()\n    virtual void setFoldAtElse(bool fold);\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\n    //! If \\a fold is true then preprocessor blocks can be folded.  The\n    //! default is true.\n    //!\n    //! \\sa foldPreprocessor()\n    virtual void setFoldPreprocessor(bool fold);\n\n    //! If \\a style is true then preprocessor lines (after the preprocessor\n    //! directive) are styled.  The default is false.\n    //!\n    //! \\sa stylePreprocessor()\n    virtual void setStylePreprocessor(bool style);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setAtElseProp();\n    void setCommentProp();\n    void setCompactProp();\n    void setPreprocProp();\n    void setStylePreprocProp();\n    void setDollarsProp();\n    void setHighlightTripleProp();\n    void setHighlightHashProp();\n    void setHighlightBackProp();\n    void setHighlightEscapeProp();\n    void setVerbatimStringEscapeProp();\n\n    bool fold_atelse;\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_preproc;\n    bool style_preproc;\n    bool dollars;\n    bool highlight_triple;\n    bool highlight_hash;\n    bool highlight_back;\n    bool highlight_escape;\n    bool vs_escape;\n\n    bool nocase;\n\n    QsciLexerCPP(const QsciLexerCPP &);\n    QsciLexerCPP &operator=(const QsciLexerCPP &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexercsharp.h",
    "content": "﻿// This defines the interface to the QsciLexerCSharp class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERCSHARP_H\n#define QSCILEXERCSHARP_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexercpp.h>\n\n\n//! \\brief The QsciLexerCSharp class encapsulates the Scintilla C#\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerCSharp : public QsciLexerCPP\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerCSharp with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerCSharp(QObject *parent = 0);\n\n    //! Destroys the QsciLexerCSharp instance.\n    virtual ~QsciLexerCSharp();\n\n    //! Returns the name of the language.\n    const char *language() const;\r\n\r\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerCSharp(const QsciLexerCSharp &);\n    QsciLexerCSharp &operator=(const QsciLexerCSharp &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexercss.h",
    "content": "﻿// This defines the interface to the QsciLexerCSS class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERCSS_H\n#define QSCILEXERCSS_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerCSS class encapsulates the Scintilla CSS lexer.\nclass QSCINTILLA_EXPORT QsciLexerCSS : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! CSS lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A tag.\n        Tag = 1,\n\n        //! A class selector.\n        ClassSelector = 2,\n\n        //! A pseudo class.  The list of pseudo classes is defined by keyword\n        //! set 2.\n        PseudoClass = 3,\n\n        //! An unknown pseudo class.\n        UnknownPseudoClass = 4,\n\n        //! An operator.\n        Operator = 5,\n\n        //! A CSS1 property.  The list of CSS1 properties is defined by keyword\n        //! set 1.\n        CSS1Property = 6,\n\n        //! An unknown property.\n        UnknownProperty = 7,\n\n        //! A value.\n        Value = 8,\n\n        //! A comment.\n        Comment = 9,\n\n        //! An ID selector.\n        IDSelector = 10,\n\n        //! An important value.\n        Important = 11,\n\n        //! An @-rule.\n        AtRule = 12,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 13,\n\n        //! A single-quoted string.\n        SingleQuotedString = 14,\n\n        //! A CSS2 property.  The list of CSS2 properties is defined by keyword\n        //! set 3.\n        CSS2Property = 15,\n\n        //! An attribute.\n        Attribute = 16,\n\n        //! A CSS3 property.  The list of CSS3 properties is defined by keyword\n        //! set 4.\n        CSS3Property = 17,\n\n        //! A pseudo element.  The list of pseudo elements is defined by\n        //! keyword set 5.\n        PseudoElement = 18,\n\n        //! An extended (browser specific) CSS property.  The list of extended\n        //! CSS properties is defined by keyword set 6.\n        ExtendedCSSProperty = 19,\n\n        //! An extended (browser specific) pseudo class.  The list of extended\n        //! pseudo classes is defined by keyword set 7.\n        ExtendedPseudoClass = 20,\n\n        //! An extended (browser specific) pseudo element.  The list of\n        //! extended pseudo elements is defined by keyword set 8.\n        ExtendedPseudoElement = 21,\n\n        //! A media rule.\n        MediaRule = 22,\n\n        //! A variable.\n        Variable = 23,\n    };\n\n    //! Construct a QsciLexerCSS with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerCSS(QObject *parent = 0);\n\n    //! Destroys the QsciLexerCSS instance.\n    virtual ~QsciLexerCSS();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the end of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\n    //! If \\a enabled is true then support for HSS is enabled.  The default is\n    //! false.\n    //!\n    //! \\sa HSSLanguage()\n    void setHSSLanguage(bool enabled);\n\n    //! Returns true if support for HSS is enabled.\n    //!\n    //! \\sa setHSSLanguage()\n    bool HSSLanguage() const {return hss_language;}\n\n    //! If \\a enabled is true then support for Less CSS is enabled.  The\n    //! default is false.\n    //!\n    //! \\sa LessLanguage()\n    void setLessLanguage(bool enabled);\n\n    //! Returns true if support for Less CSS is enabled.\n    //!\n    //! \\sa setLessLanguage()\n    bool LessLanguage() const {return less_language;}\n\n    //! If \\a enabled is true then support for Sassy CSS is enabled.  The\n    //! default is false.\n    //!\n    //! \\sa SCSSLanguage()\n    void setSCSSLanguage(bool enabled);\n\n    //! Returns true if support for Sassy CSS is enabled.\n    //!\n    //! \\sa setSCSSLanguage()\n    bool SCSSLanguage() const {return scss_language;}\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setHSSProp();\n    void setLessProp();\n    void setSCSSProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool hss_language;\n    bool less_language;\n    bool scss_language;\n\n    QsciLexerCSS(const QsciLexerCSS &);\n    QsciLexerCSS &operator=(const QsciLexerCSS &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexercustom.h",
    "content": "// This defines the interface to the QsciLexerCustom class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERCUSTOM_H\n#define QSCILEXERCUSTOM_H\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\nclass QsciScintilla;\nclass QsciStyle;\n\n\n//! \\brief The QsciLexerCustom class is an abstract class used as a base for\n//! new language lexers.\n//!\n//! The advantage of implementing a new lexer this way (as opposed to adding\n//! the lexer to the underlying Scintilla code) is that it does not require the\n//! QScintilla library to be re-compiled.  It also makes it possible to\n//! integrate external lexers.\n//!\n//! All that is necessary to implement a new lexer is to define appropriate\n//! styles and to re-implement the styleText() method.\nclass QSCINTILLA_EXPORT QsciLexerCustom : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerCustom with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerCustom(QObject *parent = 0);\n\n    //! Destroy the QSciLexerCustom.\n    virtual ~QsciLexerCustom();\n\n    //! The next \\a length characters starting from the current styling\n    //! position have their style set to style number \\a style.  The current\n    //! styling position is moved.  The styling position is initially set by\n    //! calling startStyling().\n    //!\n    //! \\sa startStyling(), styleText()\n    void setStyling(int length, int style);\n\n    //! The next \\a length characters starting from the current styling\n    //! position have their style set to style \\a style.  The current styling\n    //! position is moved.  The styling position is initially set by calling\n    //! startStyling().\n    //!\n    //! \\sa startStyling(), styleText()\n    void setStyling(int length, const QsciStyle &style);\n\n    //! The styling position is set to \\a start.  \\a styleBits is unused.\n    //!\n    //! \\sa setStyling(), styleBitsNeeded(), styleText()\n    void startStyling(int pos, int styleBits = 0);\n\n    //! This is called when the section of text beginning at position \\a start\n    //! and up to position \\a end needs to be styled.  \\a start will always be\n    //! at the start of a line.  The text is styled by calling startStyling()\n    //! followed by one or more calls to setStyling().  It must be\n    //! re-implemented by a sub-class.\n    //!\n    //! \\sa setStyling(), startStyling(), QsciScintilla::bytes(),\n    //! QsciScintilla::text()\n    virtual void styleText(int start, int end) = 0;\n\n    //! \\reimp\n    virtual void setEditor(QsciScintilla *editor);\n\n    //! \\reimp This re-implementation returns 5 as the number of style bits\n    //! needed.\n    virtual int styleBitsNeeded() const;\n\nprivate slots:\n    void handleStyleNeeded(int pos);\n\nprivate:\n    QsciLexerCustom(const QsciLexerCustom &);\n    QsciLexerCustom &operator=(const QsciLexerCustom &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerd.h",
    "content": "﻿// This defines the interface to the QsciLexerD class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERD_H\n#define QSCILEXERD_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerD class encapsulates the Scintilla D lexer.\nclass QSCINTILLA_EXPORT QsciLexerD : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the D\n    //! lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A comment line.\n        CommentLine = 2,\n\n        //! A JavaDoc and Doxygen comment.\n        CommentDoc = 3,\n\n        //! A nested comment.\n        CommentNested = 4,\n\n        //! A number.\n        Number = 5,\n\n        //! A keyword.\n        Keyword = 6,\n\n        //! A secondary keyword.\n        KeywordSecondary = 7,\n\n        //! A doc keyword\n        KeywordDoc = 8,\n        \n        //! Typedefs and aliases\n        Typedefs = 9,\n        \n        //! A string.\n        String = 10,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 11,\n        \n        //! A character\n        Character = 12,\n\n        //! An operator.\n        Operator = 13,\n\n        //! An identifier\n        Identifier = 14,\n\n        //! A JavaDoc and Doxygen line.\n        CommentLineDoc = 15,\n\n        //! A JavaDoc and Doxygen  keyword.\n        CommentDocKeyword = 16,\n\n        //! A JavaDoc and Doxygen keyword error.\n        CommentDocKeywordError = 17,\n\n        //! A backquoted string.\n        BackquoteString = 18,\n\n        //! A raw, hexadecimal or delimited string.\n        RawString = 19,\n\n        //! A keyword defined in keyword set number 5.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet5 = 20,\n\n        //! A keyword defined in keyword set number 6.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet6 = 21,\n\n        //! A keyword defined in keyword set number 7.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet7 = 22,\n    };\n\n    //! Construct a QsciLexerD with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerD(QObject *parent = 0);\n\n    //! Destroys the QsciLexerD instance.\n    virtual ~QsciLexerD();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns a space separated list of words or characters in a\n    //! particular style that define the end of a block for auto-indentation.\n    //! The styles is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in a\n    //! particular style that define the start of a block for auto-indentation.\n    //! The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of keywords in a particular\n    //! style that define the start of a block for auto-indentation.  The\n    //! styles is returned via \\a style.\n    const char *blockStartKeyword(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised by\n    //! the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the style\n    //! is invalid for this language then an empty QString is returned.  This\n    //! is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if \"} else {\" lines can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const;\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\npublic slots:\n    //! If \\a fold is true then \"} else {\" lines can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldAtElse()\n    virtual void setFoldAtElse(bool fold);\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setAtElseProp();\n    void setCommentProp();\n    void setCompactProp();\n\n    bool fold_atelse;\n    bool fold_comments;\n    bool fold_compact;\n\n    QsciLexerD(const QsciLexerD &);\n    QsciLexerD &operator=(const QsciLexerD &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerdiff.h",
    "content": "// This defines the interface to the QsciLexerDiff class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERDIFF_H\n#define QSCILEXERDIFF_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerDiff class encapsulates the Scintilla Diff\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerDiff : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Diff lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A command.\n        Command = 2,\n\n        //! A header.\n        Header = 3,\n\n        //! A position.\n        Position = 4,\n\n        //! A line removed.\n        LineRemoved = 5,\n\n        //! A line added.\n        LineAdded = 6,\n\n        //! A line changed.\n        LineChanged = 7,\n\n        //! An adding patch added.\n        AddingPatchAdded = 8,\n\n        //! A removing patch added.\n        RemovingPatchAdded = 9,\n\n        //! An adding patch added.\n        AddingPatchRemoved = 10,\n\n        //! A removing patch added.\n        RemovingPatchRemoved = 11,\n    };\n\n    //! Construct a QsciLexerDiff with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerDiff(QObject *parent = 0);\n\n    //! Destroys the QsciLexerDiff instance.\n    virtual ~QsciLexerDiff();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    QColor defaultColor(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerDiff(const QsciLexerDiff &);\n    QsciLexerDiff &operator=(const QsciLexerDiff &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexeredifact.h",
    "content": "// This defines the interface to the QsciLexerEDIFACT class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXEREDIFACT_H\n#define QSCILEXEREDIFACT_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerEDIFACT class encapsulates the Scintilla EDIFACT lexer.\nclass QSCINTILLA_EXPORT QsciLexerEDIFACT : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! EDIFACT lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A segment start.\n        SegmentStart = 1,\n\n        //! A segment end.\n        SegmentEnd = 2,\n\n        //! An element separator.\n        ElementSeparator = 3,\n\n        //! A composite separator.\n        CompositeSeparator = 4,\n\n        //! A release separator.\n        ReleaseSeparator = 5,\n\n        //! A UNA segment header.\n        UNASegmentHeader = 6,\n\n        //! A UNH segment header.\n        UNHSegmentHeader = 7,\n\n        //! A bad segment.\n        BadSegment = 8,\n    };\n\n    //! Construct a QsciLexerEDIFACT with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerEDIFACT(QObject *parent = 0);\n\n    //! Destroys the QsciLexerEDIFACT instance.\n    virtual ~QsciLexerEDIFACT();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerEDIFACT(const QsciLexerEDIFACT &);\n    QsciLexerEDIFACT &operator=(const QsciLexerEDIFACT &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerfortran.h",
    "content": "﻿// This defines the interface to the QsciLexerFortran class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERFORTRAN_H\n#define QSCILEXERFORTRAN_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexerfortran77.h>\n\n\n//! \\brief The QsciLexerFortran class encapsulates the Scintilla Fortran lexer.\nclass QSCINTILLA_EXPORT QsciLexerFortran : public QsciLexerFortran77\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerFortran with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerFortran(QObject *parent = 0);\n\n    //! Destroys the QsciLexerFortran instance.\n    virtual ~QsciLexerFortran();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\nprivate:\n    QsciLexerFortran(const QsciLexerFortran &);\n    QsciLexerFortran &operator=(const QsciLexerFortran &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerfortran77.h",
    "content": "﻿// This defines the interface to the QsciLexerFortran77 class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERFORTRAN77_H\n#define QSCILEXERFORTRAN77_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerFortran77 class encapsulates the Scintilla Fortran77\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerFortran77 : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Fortran77 lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A number.\n        Number = 2,\n\n        //! A single-quoted string.\n        SingleQuotedString = 3,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 4,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 5,\n\n        //! An operator.\n        Operator = 6,\n\n        //! An identifier\n        Identifier = 7,\n\n        //! A keyword.\n        Keyword = 8,\n\n        //! An intrinsic function.\n        IntrinsicFunction = 9,\n\n        //! An extended, non-standard or user defined function.\n        ExtendedFunction = 10,\n\n        //! A pre-processor block.\n        PreProcessor = 11,\n\n        //! An operator in .NAME. format.\n        DottedOperator = 12,\n\n        //! A label.\n        Label = 13,\n\n        //! A continuation.\n        Continuation = 14\n    };\n\n    //! Construct a QsciLexerFortran77 with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerFortran77(QObject *parent = 0);\n\n    //! Destroys the QsciLexerFortran77 instance.\n    virtual ~QsciLexerFortran77();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\npublic slots:\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCompactProp();\n\n    bool fold_compact;\n\n    QsciLexerFortran77(const QsciLexerFortran77 &);\n    QsciLexerFortran77 &operator=(const QsciLexerFortran77 &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerglobal.h",
    "content": "#pragma once\n#include <QObject>\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\nclass QsciScintilla;\nclass QsciStyle;\r\n\r\nenum GLOBAL_STYLES {\n\tGLOBAL_OVERRIDE=0,\n\tDEFAULT_STYLE,\n\tINDENT_GUIDELINE,\n\tBRACE_HIGHIGHT,\n\tBAD_BRACE_COLOUR,\n\tCURRENT_LINE_BACKGROUND_COLOR,\n\tSELECT_TEXT_COLOR,\n\tCARET_COLOUR,\n\tEDGE_COLOUR,\n\tLINE_NUMBER_MARGIN,\n\tBOOKMARK_MARGIN,\n\tFOLD,\n\tFOLD_ACTIVE,\n\tFOLD_MARGIN,\n\tWHITE_SPACE_SYMBOL,\n\tSMART_HIGHLIGHTING,\n\tFIND_MARK_STYLE,\n\tMARK_STYLE_1,\n\tMARK_STYLE_2,\n\tMARK_STYLE_3,\n\tMARK_STYLE_4,\n\tMARK_STYLE_5,\n\tINCREMENTAL_HIGHLIGHT,\n\tTAGS_MATCH_HIGHLIGHT,\n\tTAGS_ATTRIBUTE,\n\t//ACTIVE_TAB_FOCUSED,\n\t//ACTIVE_TAB_UNFOCUSED,\n\t//ACTIVE_TAB_TEXT,\n\t//INACTIVE_TABS,\n\tURL_HOVERRED,\n};\n\nenum CHANGE_OPER_BIT {\n\tFG_BIT = 0x1,\n\tBG_BIT = 0x2,\n\tFONT_BIT = 0x4,\n\tSIZE_BIT = 0x8,\n\tALL_OPER_BIT = 0xf,\n};\n\nclass QSCINTILLA_EXPORT QsciLexerGlobal  : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tQsciLexerGlobal(QObject *parent=0);\r\n\tvirtual ~QsciLexerGlobal();\r\n\r\n\tint lexerId() const;\r\n\tconst char* language() const;\r\n\tQString description(int style) const;\r\n\tQFont defaultFont(int style) const;\r\n\tvirtual QColor defaultColor(int style) const;\n\tvirtual QColor defaultPaper(int style) const;\n\n\tint changeOperBit(int style) const;\n\n\tstatic int getRealStyleId(int style);\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexergo.h",
    "content": "﻿// This defines the interface to the QsciLexerGO class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERGO_H\n#define QSCILEXERGO_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n#include <Qsci/qscilexercpp.h>\n\n\n//! \\brief The QsciLexerGO class encapsulates the Scintilla C++\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerGO : public QsciLexerCPP\n{\n    Q_OBJECT\n\npublic:\n\t//! Construct a QsciLexerGO with parent \\a parent.  \\a parent is\n\t//! typically the QsciScintilla instance.\n\tQsciLexerGO(QObject *parent = 0);\n\n\t//! Destroys the QsciLexerGO instance.\n\tvirtual ~QsciLexerGO();\n\n\t//! Returns the name of the language.\n\tconst char *language() const;\r\n\r\n\t//! Returns the foreground colour of the text for style number \\a style.\n\t//!\n\t//! \\sa defaultPaper()\n\tQColor defaultColor(int style) const;\n\n\t//! Returns the end-of-line fill for style number \\a style.\n\tbool defaultEolFill(int style) const;\n\n\t//! Returns the font for style number \\a style.\n\tQFont defaultFont(int style) const;\n\n\t//! Returns the background colour of the text for style number \\a style.\n\t//!\n\t//! \\sa defaultColor()\n\tQColor defaultPaper(int style) const;\n\n\t//! Returns the set of keywords for the keyword set \\a set recognised\n\t//! by the lexer as a space separated string.\n\tconst char *keywords(int set);\n\n\t//! Returns the descriptive name for style number \\a style.  If the\n\t//! style is invalid for this language then an empty QString is returned.\n\t//! This is intended to be used in user preference dialogs.\n\tQString description(int style) const;\n\nprivate:\n\tQsciLexerGO(const QsciLexerGO &);\n\tQsciLexerGO &operator=(const QsciLexerGO &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerhtml.h",
    "content": "﻿// This defines the interface to the QsciLexerHTML class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERHTML_H\n#define QSCILEXERHTML_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerHTML class encapsulates the Scintilla HTML lexer.\nclass QSCINTILLA_EXPORT QsciLexerHTML : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! HTML lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A tag.\n        Tag = 1,\n\n        //! An unknown tag.\n        UnknownTag = 2,\n\n        //! An attribute.\n        Attribute = 3,\n\n        //! An unknown attribute.\n        UnknownAttribute = 4,\n\n        //! An HTML number.\n        HTMLNumber = 5,\n\n        //! An HTML double-quoted string.\n        HTMLDoubleQuotedString = 6,\n\n        //! An HTML single-quoted string.\n        HTMLSingleQuotedString = 7,\n\n        //! Other text within a tag.\n        OtherInTag = 8,\n\n        //! An HTML comment.\n        HTMLComment = 9,\n\n        //! An entity.\n        Entity = 10,\n\n        //! The end of an XML style tag.\n        XMLTagEnd = 11,\n\n        //! The start of an XML fragment.\n        XMLStart = 12,\n\n        //! The end of an XML fragment.\n        XMLEnd = 13,\n\n        //! A script tag.\n        Script = 14,\n\n        //! The start of an ASP fragment with @.\n        ASPAtStart = 15,\n\n        //! The start of an ASP fragment.\n        ASPStart = 16,\n\n        //! CDATA.\n        CDATA = 17,\n\n        //! The start of a PHP fragment.\n        PHPStart = 18,\n\n        //! An unquoted HTML value.\n        HTMLValue = 19,\n\n        //! An ASP X-Code comment.\n        ASPXCComment = 20,\n\n        //! The default for SGML.\n        SGMLDefault = 21,\n\n        //! An SGML command.\n        SGMLCommand = 22,\n\n        //! The first parameter of an SGML command.\n        SGMLParameter = 23,\n\n        //! An SGML double-quoted string.\n        SGMLDoubleQuotedString = 24,\n\n        //! An SGML single-quoted string.\n        SGMLSingleQuotedString = 25,\n\n        //! An SGML error.\n        SGMLError = 26,\n\n        //! An SGML special entity.\n        SGMLSpecial = 27,\n\n        //! An SGML entity.\n        SGMLEntity = 28,\n\n        //! An SGML comment.\n        SGMLComment = 29,\n\n        //! A comment with the first parameter of an SGML command.\n        SGMLParameterComment = 30,\n\n        //! The default for an SGML block.\n        SGMLBlockDefault = 31,\n\n        //! The start of a JavaScript fragment.\n        JavaScriptStart = 40,\n\n        //! The default for JavaScript.\n        JavaScriptDefault = 41,\n\n        //! A JavaScript comment.\n        JavaScriptComment = 42,\n\n        //! A JavaScript line comment.\n        JavaScriptCommentLine = 43,\n\n        //! A JavaDoc style JavaScript comment.\n        JavaScriptCommentDoc = 44,\n\n        //! A JavaScript number.\n        JavaScriptNumber = 45,\n\n        //! A JavaScript word.\n        JavaScriptWord = 46,\n\n        //! A JavaScript keyword.\n        JavaScriptKeyword = 47,\n\n        //! A JavaScript double-quoted string.\n        JavaScriptDoubleQuotedString = 48,\n\n        //! A JavaScript single-quoted string.\n        JavaScriptSingleQuotedString = 49,\n\n        //! A JavaScript symbol.\n        JavaScriptSymbol = 50,\n\n        //! The end of a JavaScript line where a string is not closed.\n        JavaScriptUnclosedString = 51,\n\n        //! A JavaScript regular expression.\n        JavaScriptRegex = 52,\n\n        //! The start of an ASP JavaScript fragment.\n        ASPJavaScriptStart = 55,\n\n        //! The default for ASP JavaScript.\n        ASPJavaScriptDefault = 56,\n\n        //! An ASP JavaScript comment.\n        ASPJavaScriptComment = 57,\n\n        //! An ASP JavaScript line comment.\n        ASPJavaScriptCommentLine = 58,\n\n        //! An ASP JavaDoc style JavaScript comment.\n        ASPJavaScriptCommentDoc = 59,\n\n        //! An ASP JavaScript number.\n        ASPJavaScriptNumber = 60,\n\n        //! An ASP JavaScript word.\n        ASPJavaScriptWord = 61,\n\n        //! An ASP JavaScript keyword.\n        ASPJavaScriptKeyword = 62,\n\n        //! An ASP JavaScript double-quoted string.\n        ASPJavaScriptDoubleQuotedString = 63,\n\n        //! An ASP JavaScript single-quoted string.\n        ASPJavaScriptSingleQuotedString = 64,\n\n        //! An ASP JavaScript symbol.\n        ASPJavaScriptSymbol = 65,\n\n        //! The end of an ASP JavaScript line where a string is not\n        //! closed.\n        ASPJavaScriptUnclosedString = 66,\n\n        //! An ASP JavaScript regular expression.\n        ASPJavaScriptRegex = 67,\n\n        //! The start of a VBScript fragment.\n        VBScriptStart = 70,\n\n        //! The default for VBScript.\n        VBScriptDefault = 71,\n\n        //! A VBScript comment.\n        VBScriptComment = 72,\n\n        //! A VBScript number.\n        VBScriptNumber = 73,\n\n        //! A VBScript keyword.\n        VBScriptKeyword = 74,\n\n        //! A VBScript string.\n        VBScriptString = 75,\n\n        //! A VBScript identifier.\n        VBScriptIdentifier = 76,\n\n        //! The end of a VBScript line where a string is not closed.\n        VBScriptUnclosedString = 77,\n\n        //! The start of an ASP VBScript fragment.\n        ASPVBScriptStart = 80,\n\n        //! The default for ASP VBScript.\n        ASPVBScriptDefault = 81,\n\n        //! An ASP VBScript comment.\n        ASPVBScriptComment = 82,\n\n        //! An ASP VBScript number.\n        ASPVBScriptNumber = 83,\n\n        //! An ASP VBScript keyword.\n        ASPVBScriptKeyword = 84,\n\n        //! An ASP VBScript string.\n        ASPVBScriptString = 85,\n\n        //! An ASP VBScript identifier.\n        ASPVBScriptIdentifier = 86,\n\n        //! The end of an ASP VBScript line where a string is not\n        //! closed.\n        ASPVBScriptUnclosedString = 87,\n\n        //! The start of a Python fragment.\n        PythonStart = 90,\n\n        //! The default for Python.\n        PythonDefault = 91,\n\n        //! A Python comment.\n        PythonComment = 92,\n\n        //! A Python number.\n        PythonNumber = 93,\n\n        //! A Python double-quoted string.\n        PythonDoubleQuotedString = 94,\n\n        //! A Python single-quoted string.\n        PythonSingleQuotedString = 95,\n\n        //! A Python keyword.\n        PythonKeyword = 96,\n\n        //! A Python triple single-quoted string.\n        PythonTripleSingleQuotedString = 97,\n\n        //! A Python triple double-quoted string.\n        PythonTripleDoubleQuotedString = 98,\n\n        //! The name of a Python class.\n        PythonClassName = 99,\n\n        //! The name of a Python function or method.\n        PythonFunctionMethodName = 100,\n\n        //! A Python operator.\n        PythonOperator = 101,\n\n        //! A Python identifier.\n        PythonIdentifier = 102,\n\n        //! The start of an ASP Python fragment.\n        ASPPythonStart = 105,\n\n        //! The default for ASP Python.\n        ASPPythonDefault = 106,\n\n        //! An ASP Python comment.\n        ASPPythonComment = 107,\n\n        //! An ASP Python number.\n        ASPPythonNumber = 108,\n\n        //! An ASP Python double-quoted string.\n        ASPPythonDoubleQuotedString = 109,\n\n        //! An ASP Python single-quoted string.\n        ASPPythonSingleQuotedString = 110,\n\n        //! An ASP Python keyword.\n        ASPPythonKeyword = 111,\n\n        //! An ASP Python triple single-quoted string.\n        ASPPythonTripleSingleQuotedString = 112,\n\n        //! An ASP Python triple double-quoted string.\n        ASPPythonTripleDoubleQuotedString = 113,\n\n        //! The name of an ASP Python class.\n        ASPPythonClassName = 114,\n\n        //! The name of an ASP Python function or method.\n        ASPPythonFunctionMethodName = 115,\n\n        //! An ASP Python operator.\n        ASPPythonOperator = 116,\n\n        //! An ASP Python identifier\n        ASPPythonIdentifier = 117,\n\n        //! The default for PHP.\n        PHPDefault = 118,\n\n        //! A PHP double-quoted string.\n        PHPDoubleQuotedString = 119,\n\n        //! A PHP single-quoted string.\n        PHPSingleQuotedString = 120,\n\n        //! A PHP keyword.\n        PHPKeyword = 121,\n\n        //! A PHP number.\n        PHPNumber = 122,\n\n        //! A PHP variable.\n        PHPVariable = 123,\n\n        //! A PHP comment.\n        PHPComment = 124,\n\n        //! A PHP line comment.\n        PHPCommentLine = 125,\n\n        //! A PHP double-quoted variable.\n        PHPDoubleQuotedVariable = 126,\n\n        //! A PHP operator.\n        PHPOperator = 127\n    };\n\n    //! Construct a QsciLexerHTML with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerHTML(QObject *parent = 0);\n\n    //! Destroys the QsciLexerHTML instance.\n    virtual ~QsciLexerHTML();\n\n\tvirtual int lexerId() const;\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the auto-completion fillup characters.\n    const char *autoCompletionFillups() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if tags are case sensitive.\n    //!\n    //! \\sa setCaseSensitiveTags()\n    bool caseSensitiveTags() const {return case_sens_tags;}\n\n    //! If \\a enabled is true then Django templates are enabled.  The default\n    //! is false.\n    //!\n    //! \\sa djangoTemplates()\n    void setDjangoTemplates(bool enabled);\n\n    //! Returns true if support for Django templates is enabled.\n    //!\n    //! \\sa setDjangoTemplates()\n    bool djangoTemplates() const {return django_templates;}\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! Returns true if preprocessor blocks can be folded.\n    //!\n    //! \\sa setFoldPreprocessor()\n    bool foldPreprocessor() const {return fold_preproc;}\n\n    //! If \\a fold is true then script comments can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldScriptComments()\n    void setFoldScriptComments(bool fold);\n\n    //! Returns true if script comments can be folded.\n    //!\n    //! \\sa setFoldScriptComments()\n    bool foldScriptComments() const {return fold_script_comments;}\n\n    //! If \\a fold is true then script heredocs can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldScriptHeredocs()\n    void setFoldScriptHeredocs(bool fold);\n\n    //! Returns true if script heredocs can be folded.\n    //!\n    //! \\sa setFoldScriptHeredocs()\n    bool foldScriptHeredocs() const {return fold_script_heredocs;}\n\n    //! If \\a enabled is true then Mako templates are enabled.  The default is\n    //! false.\n    //!\n    //! \\sa makoTemplates()\n    void setMakoTemplates(bool enabled);\n\n    //! Returns true if support for Mako templates is enabled.\n    //!\n    //! \\sa setMakoTemplates()\n    bool makoTemplates() const {return mako_templates;}\n\npublic slots:\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\n    //! If \\a fold is true then preprocessor blocks can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldPreprocessor()\n    virtual void setFoldPreprocessor(bool fold);\n\n    //! If \\a sens is true then tags are case sensitive.  The default is false.\n    //!\n    //! \\sa caseSensitiveTags()\n    virtual void setCaseSensitiveTags(bool sens);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCompactProp();\n    void setPreprocProp();\n    void setCaseSensTagsProp();\n    void setScriptCommentsProp();\n    void setScriptHeredocsProp();\n    void setDjangoProp();\n    void setMakoProp();\n\n    bool fold_compact;\n    bool fold_preproc;\n    bool case_sens_tags;\n    bool fold_script_comments;\n    bool fold_script_heredocs;\n    bool django_templates;\n    bool mako_templates;\n\n    QsciLexerHTML(const QsciLexerHTML &);\n    QsciLexerHTML &operator=(const QsciLexerHTML &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexeridl.h",
    "content": "﻿// This defines the interface to the QsciLexerIDL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERIDL_H\n#define QSCILEXERIDL_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexercpp.h>\n\n\n//! \\brief The QsciLexerIDL class encapsulates the Scintilla IDL\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerIDL : public QsciLexerCPP\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerIDL with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerIDL(QObject *parent = 0);\n\n    //! Destroys the QsciLexerIDL instance.\n    virtual ~QsciLexerIDL();\n\n    //! Returns the name of the language.\n    const char *language() const;\r\n\r\n    //! Returns the foreground colour of the text for style number \\a style.\n    QColor defaultColor(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerIDL(const QsciLexerIDL &);\n    QsciLexerIDL &operator=(const QsciLexerIDL &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerjava.h",
    "content": "﻿// This defines the interface to the QsciLexerJava class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERJAVA_H\n#define QSCILEXERJAVA_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexercpp.h>\n\n\n//! \\brief The QsciLexerJava class encapsulates the Scintilla Java lexer.\nclass QSCINTILLA_EXPORT QsciLexerJava : public QsciLexerCPP\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerJava with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerJava(QObject *parent = 0);\n\n    //! Destroys the QsciLexerJava instance.\n    virtual ~QsciLexerJava();\n\n    //! Returns the name of the language.\n    const char *language() const;\r\n\r\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\nprivate:\n    QsciLexerJava(const QsciLexerJava &);\n    QsciLexerJava &operator=(const QsciLexerJava &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerjavascript.h",
    "content": "﻿// This defines the interface to the QsciLexerJavaScript class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERJSCRIPT_H\n#define QSCILEXERJSCRIPT_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexercpp.h>\n\n\n//! \\brief The QsciLexerJavaScript class encapsulates the Scintilla JavaScript\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerJavaScript : public QsciLexerCPP\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerJavaScript with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerJavaScript(QObject *parent = 0);\n\n    //! Destroys the QsciLexerJavaScript instance.\n    virtual ~QsciLexerJavaScript();\n\n    //! Returns the name of the language.\n    const char *language() const;\r\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    friend class QsciLexerHTML;\n\n    static const char *keywordClass;\n\n    QsciLexerJavaScript(const QsciLexerJavaScript &);\n    QsciLexerJavaScript &operator=(const QsciLexerJavaScript &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerjson.h",
    "content": "﻿// This defines the interface to the QsciLexerJSON class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERJSON_H\n#define QSCILEXERJSON_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerJSON class encapsulates the Scintilla JSON lexer.\nclass QSCINTILLA_EXPORT QsciLexerJSON : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! JSON lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A number.\n        Number = 1,\n\n        //! A string.\n        String = 2,\n\n        //! An unclosed string.\n        UnclosedString = 3,\n\n        //! A property.\n        Property = 4,\n\n        //! An escape sequence.\n        EscapeSequence = 5,\n\n        //! A line comment.\n        CommentLine = 6,\n\n        //! A block comment.\n        CommentBlock = 7,\n\n        //! An operator.\n        Operator = 8,\n\n        //! An Internationalised Resource Identifier (IRI).\n        IRI = 9,\n\n        //! A JSON-LD compact IRI.\n        IRICompact = 10,\n\n        //! A JSON keyword.\n        Keyword = 11,\n\n        //! A JSON-LD keyword.\n        KeywordLD = 12,\n\n        //! A parsing error.\n        Error = 13,\n    };\n\n    //! Construct a QsciLexerJSON with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerJSON(QObject *parent = 0);\n\n    //! Destroys the QsciLexerJSON instance.\n    virtual ~QsciLexerJSON();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! If \\a highlight is true then line and block comments will be\n    //! highlighted.  The default is true.\n    //!\n    //! \\sa hightlightComments()\n    void setHighlightComments(bool highlight);\n\n    //! Returns true if line and block comments are highlighted\n    //!\n    //! \\sa setHightlightComments()\n    bool highlightComments() const {return allow_comments;}\n\n    //! If \\a highlight is true then escape sequences in strings are\n    //! highlighted.  The default is true.\n    //!\n    //! \\sa highlightEscapeSequences()\n    void setHighlightEscapeSequences(bool highlight);\n\n    //! Returns true if escape sequences in strings are highlighted.\n    //!\n    //! \\sa setHighlightEscapeSequences()\n    bool highlightEscapeSequences() const {return escape_sequence;}\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    void setFoldCompact(bool fold);\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n\tvoid setAllowCommentsProp();\n\tvoid setEscapeSequenceProp();\n\tvoid setCompactProp();\n\n\tbool allow_comments;\n\tbool escape_sequence;\n\tbool fold_compact;\n\n    QsciLexerJSON(const QsciLexerJSON &);\n    QsciLexerJSON &operator=(const QsciLexerJSON &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerlua.h",
    "content": "﻿// This defines the interface to the QsciLexerLua class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERLUA_H\n#define QSCILEXERLUA_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerLua class encapsulates the Scintilla Lua\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerLua : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Lua lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A block comment.\n        Comment = 1,\n\n        //! A line comment.\n        LineComment = 2,\n\n        //! A number.\n        Number = 4,\n\n        //! A keyword.\n        Keyword = 5,\n\n        //! A string.\n        String = 6,\n\n        //! A character.\n        Character = 7,\n\n        //! A literal string.\n        LiteralString = 8,\n\n        //! Preprocessor\n        Preprocessor = 9,\n\n        //! An operator.\n        Operator = 10,\n\n        //! An identifier\n        Identifier = 11,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 12,\n\n        //! Basic functions.\n        BasicFunctions = 13,\n\n        //! String, table and maths functions.\n        StringTableMathsFunctions = 14,\n\n        //! Coroutines, I/O and system facilities.\n        CoroutinesIOSystemFacilities = 15,\n\n        //! A keyword defined in keyword set number 5.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet5 = 16,\n\n        //! A keyword defined in keyword set number 6.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet6 = 17,\n\n        //! A keyword defined in keyword set number 7.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet7 = 18,\n\n        //! A keyword defined in keyword set number 8.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet8 = 19,\n\n        //! A label.\n        Label = 20\n    };\n\n    //! Construct a QsciLexerLua with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerLua(QObject *parent = 0);\n\n    //! Destroys the QsciLexerLua instance.\n    virtual ~QsciLexerLua();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\npublic slots:\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCompactProp();\n\n    bool fold_compact;\n\n    QsciLexerLua(const QsciLexerLua &);\n    QsciLexerLua &operator=(const QsciLexerLua &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexermakefile.h",
    "content": "// This defines the interface to the QsciLexerMakefile class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERMAKEFILE_H\n#define QSCILEXERMAKEFILE_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerMakefile class encapsulates the Scintilla\n//! Makefile lexer.\nclass QSCINTILLA_EXPORT QsciLexerMakefile : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Makefile lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A pre-processor directive.\n        Preprocessor = 2,\n\n        //! A variable.\n        Variable = 3,\n\n        //! An operator.\n        Operator = 4,\n\n        //! A target.\n        Target = 5,\n\n        //! An error.\n        Error = 9\n    };\n\n    //! Construct a QsciLexerMakefile with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerMakefile(QObject *parent = 0);\n\n    //! Destroys the QsciLexerMakefile instance.\n    virtual ~QsciLexerMakefile();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerMakefile(const QsciLexerMakefile &);\n    QsciLexerMakefile &operator=(const QsciLexerMakefile &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexermarkdown.h",
    "content": "// This defines the interface to the QsciLexerMarkdown class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERMARKDOWN_H\n#define QSCILEXERMARKDOWN_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerMarkdown class encapsulates the Scintilla Markdown\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerMarkdown : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Markdown lexer.\n\n    // Note that some values are omitted (ie. LINE_BEGIN and PRECHAR) as these\n    // seem to be internal state information rather than indicating that text\n    // should be styled differently.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! Special (e.g. end-of-line codes if enabled).\n        Special = 1,\n\n        //! Strong emphasis using double asterisks.\n        StrongEmphasisAsterisks = 2,\n\n        //! Strong emphasis using double underscores.\n        StrongEmphasisUnderscores = 3,\n\n        //! Emphasis using single asterisks.\n        EmphasisAsterisks = 4,\n\n        //! Emphasis using single underscores.\n        EmphasisUnderscores = 5,\n\n        //! A level 1 header.\n        Header1 = 6,\n\n        //! A level 2 header.\n        Header2 = 7,\n\n        //! A level 3 header.\n        Header3 = 8,\n\n        //! A level 4 header.\n        Header4 = 9,\n\n        //! A level 5 header.\n        Header5 = 10,\n\n        //! A level 6 header.\n        Header6 = 11,\n\n        //! Pre-char (up to three indent spaces, e.g. for a sub-list).\n        Prechar = 12,\n\n        //! An unordered list item.\n        UnorderedListItem = 13,\n\n        //! An ordered list item.\n        OrderedListItem = 14,\n\n        //! A block quote.\n        BlockQuote = 15,\n\n        //! Strike out.\n        StrikeOut = 16,\n\n        //! A horizontal rule.\n        HorizontalRule = 17,\n\n        //! A link.\n        Link = 18,\n\n        //! Code between backticks.\n        CodeBackticks = 19,\n\n        //! Code between double backticks.\n        CodeDoubleBackticks = 20,\n\n        //! A code block.\n        CodeBlock = 21,\n    };\n\n    //! Construct a QsciLexerMarkdown with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerMarkdown(QObject *parent = 0);\n\n    //! Destroys the QsciLexerMarkdown instance.\n    virtual ~QsciLexerMarkdown();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerMarkdown(const QsciLexerMarkdown &);\n    QsciLexerMarkdown &operator=(const QsciLexerMarkdown &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexermatlab.h",
    "content": "﻿// This defines the interface to the QsciLexerMatlab class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERMATLAB_H\n#define QSCILEXERMATLAB_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerMatlab class encapsulates the Scintilla Matlab file\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerMatlab : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Matlab file lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A command.\n        Command = 2,\n\n        //! A number.\n        Number = 3,\n\n        //! A keyword.\n        Keyword = 4,\n\n        //! A single quoted string.\n        SingleQuotedString = 5,\n\n        //! An operator\n        Operator = 6,\n\n        //! An identifier.\n        Identifier = 7,\n\n        //! A double quoted string.\n        DoubleQuotedString = 8\n    };\n\n    //! Construct a QsciLexerMatlab with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerMatlab(QObject *parent = 0);\n\n    //! Destroys the QsciLexerMatlab instance.\n    virtual ~QsciLexerMatlab();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerMatlab(const QsciLexerMatlab &);\n    QsciLexerMatlab &operator=(const QsciLexerMatlab &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexernsis.h",
    "content": "﻿#pragma once\r\n#include <QObject>\r\n#include <Qsci/qsciglobal.h>\r\n#include <Qsci/qscilexer.h>\r\n\r\nclass QSCINTILLA_EXPORT QsciLexerNsis : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tenum {\r\n\t\tNSIS_DEFAULT=0,\n\t\tNSIS_COMMENT,\n\t\tNSIS_STRINGDQ,\n\t\tNSIS_STRINGLQ,\n\t\tNSIS_STRINGRQ,\n\t\tNSIS_FUNCTION,\n\t\tNSIS_VARIABLE,\n\t\tNSIS_LABEL,\n\t\tNSIS_USERDEFINED,\n\t\tNSIS_SECTIONDEF,\n\t\tNSIS_SUBSECTIONDEF,\n\t\tNSIS_IFDEFINEDEF,\n\t\tNSIS_MACRODEF,\n\t\tNSIS_STRINGVAR,\n\t\tNSIS_NUMBER,\n\t\tNSIS_SECTIONGROUP,\n\t\tNSIS_PAGEEX,\n\t\tNSIS_FUNCTIONDEF,\n\t\tNSIS_COMMENTBOX,\r\n\t};\r\n\tQsciLexerNsis(QObject *parent=0);\r\n\tvirtual ~QsciLexerNsis();\r\n\r\n\t//! Returns the name of the language.\r\n\tconst char* language() const;\r\n\r\n\tconst char * lexer() const;\r\n\r\n\t//! Returns the foreground colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultPaper()\r\n\tQColor defaultColor(int style) const;\r\n\r\n\t//! Returns the end-of-line fill for style number \\a style.\r\n\tbool defaultEolFill(int style) const;\r\n\r\n\t//! Returns the font for style number \\a style.\r\n\tQFont defaultFont(int style) const;\r\n\r\n\t//! Returns the background colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultColor()\r\n\tQColor defaultPaper(int style) const;\r\n\r\n\tint lexerId() const;\r\n\r\n\t//! Returns the set of keywords for the keyword set \\a set recognised\r\n\t//! by the lexer as a space separated string.\r\n\tconst char* keywords(int set);\r\n\r\n\t//! Returns the descriptive name for style number \\a style.  If the\r\n\t//! style is invalid for this language then an empty QString is returned.\r\n\t//! This is intended to be used in user preference dialogs.\r\n\tQString description(int style) const;\r\n\r\nprivate:\r\n\tQsciLexerNsis(const QsciLexerNsis&);\r\n\tQsciLexerNsis& operator=(const QsciLexerNsis&);\r\n\r\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexeroctave.h",
    "content": "﻿// This defines the interface to the QsciLexerOctave class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXEROCTAVE_H\n#define QSCILEXEROCTAVE_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexermatlab.h>\n\n\n//! \\brief The QsciLexerOctave class encapsulates the Scintilla Octave file\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerOctave : public QsciLexerMatlab\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerOctave with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerOctave(QObject *parent = 0);\n\n    //! Destroys the QsciLexerOctave instance.\n    virtual ~QsciLexerOctave();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\nprivate:\n    QsciLexerOctave(const QsciLexerOctave &);\n    QsciLexerOctave &operator=(const QsciLexerOctave &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerpascal.h",
    "content": "﻿// This defines the interface to the QsciLexerPascal class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPASCAL_H\n#define QSCILEXERPASCAL_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerPascal class encapsulates the Scintilla Pascal lexer.\nclass QSCINTILLA_EXPORT QsciLexerPascal : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! C++ lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! An identifier\n        Identifier = 1,\n\n        //! A '{ ... }' style comment.\n        Comment = 2,\n\n        //! A '(* ... *)' style comment.\n        CommentParenthesis = 3,\n\n        //! A comment line.\n        CommentLine = 4,\n\n        //! A '{$ ... }' style pre-processor block.\n        PreProcessor = 5,\n\n        //! A '(*$ ... *)' style pre-processor block.\n        PreProcessorParenthesis = 6,\n\n        //! A number.\n        Number = 7,\n\n        //! A hexadecimal number.\n        HexNumber = 8,\n\n        //! A keyword.\n        Keyword = 9,\n\n        //! A single-quoted string.\n        SingleQuotedString = 10,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 11,\n\n        //! A character.\n        Character = 12,\n\n        //! An operator.\n        Operator = 13,\n\n        //! Inline Asm.\n        Asm = 14\n    };\n\n    //! Construct a QsciLexerPascal with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerPascal(QObject *parent = 0);\n\n    //! Destroys the QsciLexerPascal instance.\n    virtual ~QsciLexerPascal();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the end of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of keywords in a\n    //! particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStartKeyword(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\n    //! Returns true if preprocessor blocks can be folded.\n    //!\n    //! \\sa setFoldPreprocessor()\n    bool foldPreprocessor() const;\n\n    //! If \\a enabled is true then some keywords will only be highlighted in an\n    //! appropriate context (similar to how the Delphi IDE works).  The default\n    //! is true.\n    //!\n    //! \\sa smartHighlighting()\n    void setSmartHighlighting(bool enabled);\n\n    //! Returns true if some keywords will only be highlighted in an\n    //! appropriate context (similar to how the Delphi IDE works).\n    //!\n    //! \\sa setSmartHighlighting()\n    bool smartHighlighting() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\n    //! If \\a fold is true then preprocessor blocks can be folded.  The\n    //! default is true.\n    //!\n    //! \\sa foldPreprocessor()\n    virtual void setFoldPreprocessor(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setPreprocProp();\n    void setSmartHighlightProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_preproc;\n    bool smart_highlight;\n\n    QsciLexerPascal(const QsciLexerPascal &);\n    QsciLexerPascal &operator=(const QsciLexerPascal &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerperl.h",
    "content": "﻿// This defines the interface to the QsciLexerPerl class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPERL_H\n#define QSCILEXERPERL_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerPerl class encapsulates the Scintilla Perl\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerPerl : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Perl lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! An error.\n        Error = 1,\n\n        //! A comment.\n        Comment = 2,\n\n        //! A POD.\n        POD = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! A keyword.\n        Keyword = 5,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 6,\n\n        //! A single-quoted string.\n        SingleQuotedString = 7,\n\n        //! An operator.\n        Operator = 10,\n\n        //! An identifier\n        Identifier = 11,\n\n        //! A scalar.\n        Scalar = 12,\n\n        //! An array.\n        Array = 13,\n\n        //! A hash.\n        Hash = 14,\n\n        //! A symbol table.\n        SymbolTable = 15,\n\n        //! A regular expression.\n        Regex = 17,\n\n        //! A substitution.\n        Substitution = 18,\n\n        //! Backticks.\n        Backticks = 20,\n\n        //! A data section.\n        DataSection = 21,\n\n        //! A here document delimiter.\n        HereDocumentDelimiter = 22,\n\n        //! A single quoted here document.\n        SingleQuotedHereDocument = 23,\n\n        //! A double quoted here document.\n        DoubleQuotedHereDocument = 24,\n\n        //! A backtick here document.\n        BacktickHereDocument = 25,\n\n        //! A quoted string (q).\n        QuotedStringQ = 26,\n\n        //! A quoted string (qq).\n        QuotedStringQQ = 27,\n\n        //! A quoted string (qx).\n        QuotedStringQX = 28,\n\n        //! A quoted string (qr).\n        QuotedStringQR = 29,\n\n        //! A quoted string (qw).\n        QuotedStringQW = 30,\n\n        //! A verbatim POD.\n        PODVerbatim = 31,\n\n        //! A Subroutine prototype.\n        SubroutinePrototype = 40,\n\n        //! A format identifier.\n        FormatIdentifier = 41,\n\n        //! A format body.\n        FormatBody = 42,\n\n        //! A double-quoted string (interpolated variable).\n        DoubleQuotedStringVar = 43,\n\n        //! A translation.\n        Translation = 44,\n\n        //! A regular expression (interpolated variable).\n        RegexVar = 54,\n\n        //! A substitution (interpolated variable).\n        SubstitutionVar = 55,\n\n        //! Backticks (interpolated variable).\n        BackticksVar = 57,\n\n        //! A double quoted here document (interpolated variable).\n        DoubleQuotedHereDocumentVar = 61,\n\n        //! A backtick here document (interpolated variable).\n        BacktickHereDocumentVar = 62,\n\n        //! A quoted string (qq, interpolated variable).\n        QuotedStringQQVar = 64,\n\n        //! A quoted string (qx, interpolated variable).\n        QuotedStringQXVar = 65,\n\n        //! A quoted string (qr, interpolated variable).\n        QuotedStringQRVar = 66\n    };\n\n    //! Construct a QsciLexerPerl with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerPerl(QObject *parent = 0);\n\n    //! Destroys the QsciLexerPerl instance.\n    virtual ~QsciLexerPerl();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the end of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number\n    //! \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! If \\a fold is true then \"} else {\" lines can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldAtElse()\n    void setFoldAtElse(bool fold);\n\n    //! Returns true if \"} else {\" lines can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const {return fold_atelse;}\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\n    //! If \\a fold is true then packages can be folded.  The default is true.\n    //!\n    //! \\sa foldPackages()\n    void setFoldPackages(bool fold);\n\n    //! Returns true if packages can be folded.\n    //!\n    //! \\sa setFoldPackages()\n    bool foldPackages() const;\n\n    //! If \\a fold is true then POD blocks can be folded.  The default is true.\n    //!\n    //! \\sa foldPODBlocks()\n    void setFoldPODBlocks(bool fold);\n\n    //! Returns true if POD blocks can be folded.\n    //!\n    //! \\sa setFoldPODBlocks()\n    bool foldPODBlocks() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setAtElseProp();\n    void setCommentProp();\n    void setCompactProp();\n    void setPackagesProp();\n    void setPODBlocksProp();\n\n    bool fold_atelse;\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_packages;\n    bool fold_pod_blocks;\n\n    QsciLexerPerl(const QsciLexerPerl &);\n    QsciLexerPerl &operator=(const QsciLexerPerl &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerpo.h",
    "content": "// This defines the interface to the QsciLexerPO class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPO_H\n#define QSCILEXERPO_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerPO class encapsulates the Scintilla PO lexer.\nclass QSCINTILLA_EXPORT QsciLexerPO : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! PO lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A message identifier.\n        MessageId = 2,\n\n        //! The text of a message identifier.\n        MessageIdText = 3,\n\n        //! A message string.\n        MessageString = 4,\n\n        //! The text of a message string.\n        MessageStringText = 5,\n\n        //! A message context.\n        MessageContext = 6,\n\n        //! The text of a message context.\n        MessageContextText = 7,\n\n        //! The \"fuzzy\" flag.\n        Fuzzy = 8,\n\n        //! A programmer comment.\n        ProgrammerComment = 9,\n\n        //! A reference.\n        Reference = 10,\n\n        //! A flag.\n        Flags = 11,\n\n        //! A message identifier text end-of-line.\n        MessageIdTextEOL = 12,\n\n        //! A message string text end-of-line.\n        MessageStringTextEOL = 13,\n\n        //! A message context text end-of-line.\n        MessageContextTextEOL = 14\n    };\n\n    //! Construct a QsciLexerPO with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerPO(QObject *parent = 0);\n\n    //! Destroys the QsciLexerPO instance.\n    virtual ~QsciLexerPO();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n\n    bool fold_comments;\n    bool fold_compact;\n\n    QsciLexerPO(const QsciLexerPO &);\n    QsciLexerPO &operator=(const QsciLexerPO &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerpostscript.h",
    "content": "﻿// This defines the interface to the QsciLexerPostScript class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPOSTSCRIPT_H\n#define QSCILEXERPOSTSCRIPT_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerPostScript class encapsulates the Scintilla PostScript\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerPostScript : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! PostScript lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A DSC comment.\n        DSCComment = 2,\n\n        //! A DSC comment value.\n        DSCCommentValue = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! A name.\n        Name = 5,\n\n        //! A keyword.\n        Keyword = 6,\n\n        //! A literal.\n        Literal = 7,\n\n        //! An immediately evaluated literal.\n        ImmediateEvalLiteral = 8,\n\n        //! Array parenthesis.\n        ArrayParenthesis = 9,\n\n        //! Dictionary parenthesis.\n        DictionaryParenthesis = 10,\n\n        //! Procedure parenthesis.\n        ProcedureParenthesis = 11,\n\n        //! Text.\n        Text = 12,\n\n        //! A hexadecimal string.\n        HexString = 13,\n\n        //! A base85 string.\n        Base85String = 14,\n\n        //! A bad string character.\n        BadStringCharacter = 15\n    };\n\n    //! Construct a QsciLexerPostScript with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerPostScript(QObject *parent = 0);\n\n    //! Destroys the QsciLexerPostScript instance.\n    virtual ~QsciLexerPostScript();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.  Set 5 can be used to provide\n    //! additional user defined keywords.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if tokens should be marked.\n    //!\n    //! \\sa setTokenize()\n    bool tokenize() const;\n\n    //! Returns the PostScript level.\n    //!\n    //! \\sa setLevel()\n    int level() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\n    //! Returns true if else blocks can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const;\n\npublic slots:\n    //! If \\a tokenize is true then tokens are marked.  The default is false.\n    //!\n    //! \\sa tokenize()\n    virtual void setTokenize(bool tokenize);\n\n    //! The PostScript level is set to \\a level.  The default is 3.\n    //!\n    //! \\sa level()\n    virtual void setLevel(int level);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\n    //! If \\a fold is true then else blocks can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldAtElse()\n    virtual void setFoldAtElse(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setTokenizeProp();\n    void setLevelProp();\n    void setCompactProp();\n    void setAtElseProp();\n\n    bool ps_tokenize;\n    int ps_level;\n    bool fold_compact;\n    bool fold_atelse;\n\n    QsciLexerPostScript(const QsciLexerPostScript &);\n    QsciLexerPostScript &operator=(const QsciLexerPostScript &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerpov.h",
    "content": "﻿// This defines the interface to the QsciLexerPOV class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPOV_H\n#define QSCILEXERPOV_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerPOV class encapsulates the Scintilla POV lexer.\nclass QSCINTILLA_EXPORT QsciLexerPOV : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! POV lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A comment line.\n        CommentLine = 2,\n\n        //! A number.\n        Number = 3,\n\n        //! An operator.\n        Operator = 4,\n\n        //! An identifier\n        Identifier = 5,\n\n        //! A string.\n        String = 6,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 7,\n\n        //! A directive.\n        Directive = 8,\n\n        //! A bad directive.\n        BadDirective = 9,\n\n        //! Objects, CSG and appearance.\n        ObjectsCSGAppearance = 10,\n\n        //! Types, modifiers and items.\n        TypesModifiersItems = 11,\n\n        //! Predefined identifiers.\n        PredefinedIdentifiers = 12,\n\n        //! Predefined identifiers.\n        PredefinedFunctions = 13,\n\n        //! A keyword defined in keyword set number 6.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet6 = 14,\n\n        //! A keyword defined in keyword set number 7.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet7 = 15,\n\n        //! A keyword defined in keyword set number 8.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet8 = 16\n    };\n\n    //! Construct a QsciLexerPOV with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerPOV(QObject *parent = 0);\n\n    //! Destroys the QsciLexerPOV instance.\n    virtual ~QsciLexerPOV();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\n    //! Returns true if directives can be folded.\n    //!\n    //! \\sa setFoldDirectives()\n    bool foldDirectives() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\n    //! If \\a fold is true then directives can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldDirectives()\n    virtual void setFoldDirectives(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setDirectiveProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_directives;\n\n    QsciLexerPOV(const QsciLexerPOV &);\n    QsciLexerPOV &operator=(const QsciLexerPOV &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerproperties.h",
    "content": "// This defines the interface to the QsciLexerProperties class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPROPERTIES_H\n#define QSCILEXERPROPERTIES_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerProperties class encapsulates the Scintilla\n//! Properties lexer.\nclass QSCINTILLA_EXPORT QsciLexerProperties : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Properties lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A section.\n        Section = 2,\n\n        //! An assignment operator.\n        Assignment = 3,\n\n        //! A default value.\n        DefaultValue = 4,\n\n        //! A key.\n        Key = 5\n    };\n\n    //! Construct a QsciLexerProperties with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerProperties(QObject *parent = 0);\n\n    //! Destroys the QsciLexerProperties instance.\n    virtual ~QsciLexerProperties();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the style\n    //! is invalid for this language then an empty QString is returned.  This\n    //! is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! If \\a enable is true then initial spaces in a line are allowed.  The\n    //! default is true.\n    //!\n    //! \\sa initialSpaces()\n    void setInitialSpaces(bool enable);\n\n    //! Returns true if initial spaces in a line are allowed.\n    //!\n    //! \\sa setInitialSpaces()\n    bool initialSpaces() const {return initial_spaces;}\n\npublic slots:\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCompactProp();\n    void setInitialSpacesProp();\n\n    bool fold_compact;\n    bool initial_spaces;\n\n    QsciLexerProperties(const QsciLexerProperties &);\n    QsciLexerProperties &operator=(const QsciLexerProperties &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerpython.h",
    "content": "﻿// This defines the interface to the QsciLexerPython class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERPYTHON_H\n#define QSCILEXERPYTHON_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n#include \"Qsci/qsciscintillabase.h\"\n\n\n//! \\brief The QsciLexerPython class encapsulates the Scintilla Python lexer.\nclass QSCINTILLA_EXPORT QsciLexerPython : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Python lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A number.\n        Number = 2,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 3,\n\n        //! A single-quoted string.\n        SingleQuotedString = 4,\n\n        //! A keyword.\n        Keyword = 5,\n\n        //! A triple single-quoted string.\n        TripleSingleQuotedString = 6,\n\n        //! A triple double-quoted string.\n        TripleDoubleQuotedString = 7,\n\n        //! The name of a class.\n        ClassName = 8,\n\n        //! The name of a function or method.\n        FunctionMethodName = 9,\n\n        //! An operator.\n        Operator = 10,\n\n        //! An identifier\n        Identifier = 11,\n\n        //! A comment block.\n        CommentBlock = 12,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 13,\n\n        //! A highlighted identifier.  These are defined by keyword set\n        //! 2.  Reimplement keywords() to define keyword set 2.\n        HighlightedIdentifier = 14,\n\n        //! A decorator.\n        Decorator = 15,\n\n        //! A double-quoted f-string.\n        DoubleQuotedFString = 16,\n\n        //! A single-quoted f-string.\n        SingleQuotedFString = 17,\n\n        //! A triple single-quoted f-string.\n        TripleSingleQuotedFString = 18,\n\n        //! A triple double-quoted f-string.\n        TripleDoubleQuotedFString = 19,\n    };\n\n    //! This enum defines the different conditions that can cause\n    //! indentations to be displayed as being bad.\n    enum IndentationWarning {\n        //! Bad indentation is not displayed differently.\n        NoWarning = 0,\n\n        //! The indentation is inconsistent when compared to the\n        //! previous line, ie. it is made up of a different combination\n        //! of tabs and/or spaces.\n        Inconsistent = 1,\n\n        //! The indentation is made up of spaces followed by tabs.\n        TabsAfterSpaces = 2,\n\n        //! The indentation contains spaces.\n        Spaces = 3,\n\n        //! The indentation contains tabs.\n        Tabs = 4\n    };\n\n    //! Construct a QsciLexerPython with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerPython(QObject *parent = 0);\n\n    //! Destroys the QsciLexerPython instance.\n    virtual ~QsciLexerPython();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the character sequences that can separate\n    //! auto-completion words.\n    QStringList autoCompletionWordSeparators() const;\n\n    //! \\internal Returns the number of lines prior to the current one when\n    //! determining the scope of a block when auto-indenting.\n    int blockLookback() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! \\internal Returns the view used for indentation guides.\n    virtual int indentationGuideView() const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if indented comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    void setFoldCompact(bool fold);\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! Returns true if triple quoted strings can be folded.\n    //!\n    //! \\sa setFoldQuotes()\n    bool foldQuotes() const {return fold_quotes;}\n\n    //! Returns the condition that will cause bad indentations to be\n    //! displayed.\n    //!\n    //! \\sa setIndentationWarning()\n    QsciLexerPython::IndentationWarning indentationWarning() const {return indent_warn;}\n\n    //! If \\a enabled is true then sub-identifiers defined in keyword set 2\n    //! will be highlighted.  For example, if it is false and \"open\" is defined\n    //! in keyword set 2 then \"foo.open\" will not be highlighted.  The default\n    //! is true.\n    //!\n    //! \\sa highlightSubidentifiers()\n    void setHighlightSubidentifiers(bool enabled);\n\n    //! Returns true if string literals are allowed to span newline characters.\n    //!\n    //! \\sa setHighlightSubidentifiers()\n    bool highlightSubidentifiers() const {return highlight_subids;}\n\n    //! If \\a allowed is true then string literals are allowed to span newline\n    //! characters.  The default is false.\n    //!\n    //! \\sa stringsOverNewlineAllowed()\n    void setStringsOverNewlineAllowed(bool allowed);\n\n    //! Returns true if string literals are allowed to span newline characters.\n    //!\n    //! \\sa setStringsOverNewlineAllowed()\n    bool stringsOverNewlineAllowed() const {return strings_over_newline;}\n\n    //! If \\a allowed is true then Python v2 unicode string literals (e.g.\n    //! u\"utf8\") are allowed.  The default is true.\n    //!\n    //! \\sa v2UnicodeAllowed()\n    void setV2UnicodeAllowed(bool allowed);\n\n    //! Returns true if Python v2 unicode string literals (e.g. u\"utf8\") are\n    //! allowed.\n    //!\n    //! \\sa setV2UnicodeAllowed()\n    bool v2UnicodeAllowed() const {return v2_unicode;}\n\n    //! If \\a allowed is true then Python v3 binary and octal literals (e.g.\n    //! 0b1011, 0o712) are allowed.  The default is true.\n    //!\n    //! \\sa v3BinaryOctalAllowed()\n    void setV3BinaryOctalAllowed(bool allowed);\n\n    //! Returns true if Python v3 binary and octal literals (e.g. 0b1011,\n    //! 0o712) are allowed.\n    //!\n    //! \\sa setV3BinaryOctalAllowed()\n    bool v3BinaryOctalAllowed() const {return v3_binary_octal;}\n\n    //! If \\a allowed is true then Python v3 bytes string literals (e.g.\n    //! b\"bytes\") are allowed.  The default is true.\n    //!\n    //! \\sa v3BytesAllowed()\n    void setV3BytesAllowed(bool allowed);\n\n    //! Returns true if Python v3 bytes string literals (e.g. b\"bytes\") are\n    //! allowed.\n    //!\n    //! \\sa setV3BytesAllowed()\n    bool v3BytesAllowed() const {return v3_bytes;}\n\n\tint lexerId() const override;\n\npublic slots:\n    //! If \\a fold is true then indented comment blocks can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then triple quoted strings can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldQuotes()\n    virtual void setFoldQuotes(bool fold);\n\n    //! Sets the condition that will cause bad indentations to be\n    //! displayed.\n    //!\n    //! \\sa indentationWarning()\n    virtual void setIndentationWarning(QsciLexerPython::IndentationWarning warn);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setQuotesProp();\n    void setTabWhingeProp();\n    void setStringsOverNewlineProp();\n    void setV2UnicodeProp();\n    void setV3BinaryOctalProp();\n    void setV3BytesProp();\n    void setHighlightSubidsProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_quotes;\n    IndentationWarning indent_warn;\n    bool strings_over_newline;\n    bool v2_unicode;\n    bool v3_binary_octal;\n    bool v3_bytes;\n    bool highlight_subids;\n\n    friend class QsciLexerHTML;\n\n    static const char *keywordClass;\n\n    QsciLexerPython(const QsciLexerPython &);\n    QsciLexerPython &operator=(const QsciLexerPython &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerr.h",
    "content": "#pragma once\r\n#pragma once\r\n// This defines the interface to the QsciLexerR class.\r\n//\r\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\r\n//\r\n// This file is part of QScintilla.\r\n//\r\n// This file may be used under the terms of the GNU General Public License\r\n// version 3.0 as published by the Free Software Foundation and appearing in\r\n// the file LICENSE included in the packaging of this file.  Please review the\r\n// following information to ensure the GNU General Public License version 3.0\r\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\r\n//\r\n// If you do not wish to use this file under the terms of the GPL version 3.0\r\n// then you may purchase a commercial license.  For more information contact\r\n// info@riverbankcomputing.com.\r\n//\r\n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\r\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r\n\r\n#include <QObject>\r\n\r\n#include <Qsci/qsciglobal.h>\r\n#include <Qsci/qscilexer.h>\r\n\r\n\r\n//! \\brief The QsciLexerR class encapsulates the Scintilla Bash lexer.\r\nclass QSCINTILLA_EXPORT QsciLexerR : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\t//! This enum defines the meanings of the different styles used by the\r\n\t//! Bash lexer.\r\n\tenum {\r\n\t\tDEFAULT=0,\r\n\t\tCOMMENT,\r\n\t\tKWORD,\r\n\t\tBASEKWORD,\r\n\t\tOTHERKWORD,\r\n\t\tNUMBER,\r\n\t\tSTRING,\r\n\t\tSTRING2,\r\n\t\tOPERATOR,\r\n\t\tIDENTIFIER,\r\n\t\tINFIX,\r\n\t\tINFIXEOL,\r\n\t};\r\n\r\n\t//! Construct a QsciLexerR with parent \\a parent.  \\a parent is\r\n\t//! typically the QsciScintilla instance.\r\n\tQsciLexerR(QObject* parent = 0);\r\n\r\n\t//! Destroys the QsciLexerR instance.\r\n\tvirtual ~QsciLexerR();\r\n\r\n\t//! Returns the name of the language.\r\n\tconst char* language() const;\r\n\r\n\t//! Returns the name of the lexer.  Some lexers support a number of\r\n\t//! languages.\r\n\tconst char* lexer() const;\r\n\r\n\t//! Returns the string of characters that comprise a word.\r\n\tconst char* wordCharacters() const;\r\n\r\n\t//! Returns the foreground colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultPaper()\r\n\tQColor defaultColor(int style) const;\r\n\r\n\t//! Returns the end-of-line fill for style number \\a style.\r\n\tbool defaultEolFill(int style) const;\r\n\r\n\t//! Returns the font for style number \\a style.\r\n\tQFont defaultFont(int style) const;\r\n\r\n\t//! Returns the background colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultColor()\r\n\tQColor defaultPaper(int style) const;\r\n\r\n\t//! Returns the set of keywords for the keyword set \\a set recognised\r\n\t//! by the lexer as a space separated string.\r\n\tconst char* keywords(int set);\r\n\r\n\t//! Returns the descriptive name for style number \\a style.  If the\r\n\t//! style is invalid for this language then an empty QString is returned.\r\n\t//! This is intended to be used in user preference dialogs.\r\n\tQString description(int style) const;\r\n\r\n\r\npublic slots:\r\n\r\nprotected:\r\n\t//! The lexer's properties are read from the settings \\a qs.  \\a prefix\r\n\t//! (which has a trailing '/') should be used as a prefix to the key of\r\n\t//! each setting.  true is returned if there is no error.\r\n\t//!\r\nprivate:\r\n\tQsciLexerR(const QsciLexerR&);\r\n\tQsciLexerR& operator=(const QsciLexerR&);\r\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerruby.h",
    "content": "﻿// This defines the interface to the QsciLexerRuby class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERRUBY_H\n#define QSCILEXERRUBY_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerRuby class encapsulates the Scintilla Ruby lexer.\nclass QSCINTILLA_EXPORT QsciLexerRuby : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Ruby lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! An error.\n        Error = 1,\n\n        //! A comment.\n        Comment = 2,\n\n        //! A POD.\n        POD = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! A keyword.\n        Keyword = 5,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 6,\n\n        //! A single-quoted string.\n        SingleQuotedString = 7,\n\n        //! The name of a class.\n        ClassName = 8,\n\n        //! The name of a function or method.\n        FunctionMethodName = 9,\n\n        //! An operator.\n        Operator = 10,\n\n        //! An identifier\n        Identifier = 11,\n\n        //! A regular expression.\n        Regex = 12,\n\n        //! A global.\n        Global = 13,\n\n        //! A symbol.\n        Symbol = 14,\n\n        //! The name of a module.\n        ModuleName = 15,\n\n        //! An instance variable.\n        InstanceVariable = 16,\n\n        //! A class variable.\n        ClassVariable = 17,\n\n        //! Backticks.\n        Backticks = 18,\n\n        //! A data section.\n        DataSection = 19,\n\n        //! A here document delimiter.\n        HereDocumentDelimiter = 20,\n\n        //! A here document.\n        HereDocument = 21,\n\n        //! A %q string.\n        PercentStringq = 24,\n\n        //! A %Q string.\n        PercentStringQ = 25,\n\n        //! A %x string.\n        PercentStringx = 26,\n\n        //! A %r string.\n        PercentStringr = 27,\n\n        //! A %w string.\n        PercentStringw = 28,\n\n        //! A demoted keyword.\n        DemotedKeyword = 29,\n\n        //! stdin.\n        Stdin = 30,\n\n        //! stdout.\n        Stdout = 31,\n\n        //! stderr.\n        Stderr = 40\n    };\n\n    //! Construct a QsciLexerRuby with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerRuby(QObject *parent = 0);\n\n    //! Destroys the QsciLexerRuby instance.\n    virtual ~QsciLexerRuby();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the end of a block for\n    //! auto-indentation.  The style is returned via \\a style.\n    const char *blockEnd(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of words or characters in\n    //! a particular style that define the start of a block for\n    //! auto-indentation.  The styles is returned via \\a style.\n    const char *blockStart(int *style = 0) const;\n\n    //! \\internal Returns a space separated list of keywords in a\n    //! particular style that define the start of a block for\n    //! auto-indentation.  The style is returned via \\a style.\n    const char *blockStartKeyword(int *style = 0) const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultpaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the style\n    //! is invalid for this language then an empty QString is returned.  This\n    //! is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    void setFoldComments(bool fold);\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    void setFoldCompact(bool fold);\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs, const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n\n    bool fold_comments;\n    bool fold_compact;\n\n    QsciLexerRuby(const QsciLexerRuby &);\n    QsciLexerRuby &operator=(const QsciLexerRuby &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerrust.h",
    "content": "﻿#pragma once\r\n#include <QObject>\r\n#include <Qsci/qsciglobal.h>\r\n#include <Qsci/qscilexer.h>\r\n\r\nenum RUST_STYLE{\r\n\tRUST_DEFAULT=0,\r\n\tRUST_COMMENTBLOCK,\r\n\tRUST_COMMENTLINE,\r\n\tRUST_COMMENTBLOCKDOC,\r\n\tRUST_COMMENTLINEDOC,\r\n\tRUST_NUMBER,\r\n\tRUST_WORD,\r\n\tRUST_WORD2,\r\n\tRUST_WORD3,\r\n\tRUST_WORD4,\r\n\tRUST_WORD5,\r\n\tRUST_WORD6,\r\n\tRUST_WORD7,\r\n\tRUST_STRING,\r\n\tRUST_STRINGR,\r\n\tRUST_CHARACTER,\r\n\tRUST_OPERATOR,\r\n\tRUST_IDENTIFIER,\r\n\tRUST_LIFETIME,\r\n\tRUST_MACRO,\r\n\tRUST_LEXERROR,\r\n\tRUST_BYTESTRING,\r\n\tRUST_BYTESTRINGR,\r\n\tRUST_BYTECHARACTER,\r\n};\r\nclass QSCINTILLA_EXPORT QsciLexerRust : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\t//enum {\n\t//\tDefault = 0,//中文\n\t//\tAscii = 1,//英文\r\n\t//\tKeyword = 2, //关键字，只有以TXT为母版的自定义语言才有，默认txt是没有关键字说法的\r\n\t//};\r\n\tQsciLexerRust(QObject *parent=0);\r\n\tvirtual ~QsciLexerRust();\r\n\r\n\t//! Returns the name of the language.\r\n\tconst char* language() const;\r\n\r\n\tconst char * lexer() const;\r\n\r\n\t//! Returns the background colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultColor()\r\n\tQColor defaultPaper(int style) const;\r\n\r\n\tint lexerId() const;\r\n\r\n\t//! Returns the set of keywords for the keyword set \\a set recognised\r\n\t//! by the lexer as a space separated string.\r\n\tconst char* keywords(int set);\r\n\r\n\tQColor defaultColor(int style) const;\r\n\r\n\tQFont defaultFont(int style) const;\r\n\r\n\t//! Returns the descriptive name for style number \\a style.  If the\r\n\t//! style is invalid for this language then an empty QString is returned.\r\n\t//! This is intended to be used in user preference dialogs.\r\n\tQString description(int style) const;\r\n\r\nprivate:\r\n\tQsciLexerRust(const QsciLexerRust&);\r\n\tQsciLexerRust& operator=(const QsciLexerRust&);\r\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerspice.h",
    "content": "﻿// This defines the interface to the QsciLexerSpice class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERSPICE_H\n#define QSCILEXERSPICE_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerSpice class encapsulates the Scintilla Spice lexer.\nclass QSCINTILLA_EXPORT QsciLexerSpice : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Spice lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! An identifier.\n        Identifier = 1,\n\n        //! A command.\n        Command = 2,\n\n        //! A function.\n        Function = 3,\n\n        //! A parameter.\n        Parameter = 4,\n\n        //! A number.\n        Number = 5,\n\n        //! A delimiter.\n        Delimiter = 6,\n\n        //! A value.\n        Value = 7,\n\n        //! A comment.\n        Comment = 8\n    };\n\n    //! Construct a QsciLexerSpice with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerSpice(QObject *parent = 0);\n\n    //! Destroys the QsciLexerSpice instance.\n    virtual ~QsciLexerSpice();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\nprivate:\n    QsciLexerSpice(const QsciLexerSpice &);\n    QsciLexerSpice &operator=(const QsciLexerSpice &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexersql.h",
    "content": "﻿// This defines the interface to the QsciLexerSQL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERSQL_H\n#define QSCILEXERSQL_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerSQL class encapsulates the Scintilla SQL lexer.\nclass QSCINTILLA_EXPORT QsciLexerSQL : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! SQL lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A line comment.\n        CommentLine = 2,\n\n        //! A JavaDoc/Doxygen style comment.\n        CommentDoc = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! A keyword.\n        Keyword = 5,\n\n        //! A double-quoted string.\n        DoubleQuotedString = 6,\n\n        //! A single-quoted string.\n        SingleQuotedString = 7,\n\n        //! An SQL*Plus keyword.\n        PlusKeyword = 8,\n\n        //! An SQL*Plus prompt.\n        PlusPrompt = 9,\n\n        //! An operator.\n        Operator = 10,\n\n        //! An identifier\n        Identifier = 11,\n\n        //! An SQL*Plus comment.\n        PlusComment = 13,\n\n        //! A '#' line comment.\n        CommentLineHash = 15,\n\n        //! A JavaDoc/Doxygen keyword.\n        CommentDocKeyword = 17,\n\n        //! A JavaDoc/Doxygen keyword error.\n        CommentDocKeywordError = 18,\n\n        //! A keyword defined in keyword set number 5.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        //! Note that keywords must be defined using lower case.\n        KeywordSet5 = 19,\n\n        //! A keyword defined in keyword set number 6.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        //! Note that keywords must be defined using lower case.\n        KeywordSet6 = 20,\n\n        //! A keyword defined in keyword set number 7.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        //! Note that keywords must be defined using lower case.\n        KeywordSet7 = 21,\n\n        //! A keyword defined in keyword set number 8.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        //! Note that keywords must be defined using lower case.\n        KeywordSet8 = 22,\n\n        //! A quoted identifier.\n        QuotedIdentifier = 23,\n\n        //! A quoted operator.\n        QuotedOperator = 24,\n    };\n\n    //! Construct a QsciLexerSQL with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerSQL(QObject *parent = 0);\n\n    //! Destroys the QsciLexerSQL instance.\n    virtual ~QsciLexerSQL();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised by\n    //! the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the style\n    //! is invalid for this language then an empty QString is returned.  This\n    //! is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! Returns true if backslash escapes are enabled.\n    //!\n    //! \\sa setBackslashEscapes()\n    bool backslashEscapes() const {return backslash_escapes;}\n\n    //! If \\a enable is true then words may contain dots (i.e. periods or full\n    //! stops).  The default is false.\n    //!\n    //! \\sa dottedWords()\n    void setDottedWords(bool enable);\n\n    //! Returns true if words may contain dots (i.e. periods or full stops).\n    //!\n    //! \\sa setDottedWords()\n    bool dottedWords() const {return allow_dotted_word;}\n\n    //! If \\a fold is true then ELSE blocks can be folded.  The default is\n    //! false.\n    //!\n    //! \\sa foldAtElse()\n    void setFoldAtElse(bool fold);\n\n    //! Returns true if ELSE blocks can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const {return at_else;}\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! If \\a fold is true then only BEGIN blocks can be folded.  The default\n    //! is false.\n    //!\n    //! \\sa foldOnlyBegin()\n    void setFoldOnlyBegin(bool fold);\n\n    //! Returns true if BEGIN blocks only can be folded.\n    //!\n    //! \\sa setFoldOnlyBegin()\n    bool foldOnlyBegin() const {return only_begin;}\n\n    //! If \\a enable is true then '#' is used as a comment character.  It is\n    //! typically enabled for MySQL and disabled for Oracle.  The default is\n    //! false.\n    //!\n    //! \\sa hashComments()\n    void setHashComments(bool enable);\n\n    //! Returns true if '#' is used as a comment character.\n    //!\n    //! \\sa setHashComments()\n    bool hashComments() const {return numbersign_comment;}\n\n    //! If \\a enable is true then quoted identifiers are enabled.  The default\n    //! is false.\n    //!\n    //! \\sa quotedIdentifiers()\n    void setQuotedIdentifiers(bool enable);\n\n    //! Returns true if quoted identifiers are enabled.\n    //!\n    //! \\sa setQuotedIdentifiers()\n    bool quotedIdentifiers() const {return backticks_identifier;}\n\npublic slots:\n    //! If \\a enable is true then backslash escapes are enabled.  The\n    //! default is false.\n    //!\n    //! \\sa backslashEscapes()\n    virtual void setBackslashEscapes(bool enable);\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs, const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    void setAtElseProp();\n    void setCommentProp();\n    void setCompactProp();\n    void setOnlyBeginProp();\n    void setBackticksIdentifierProp();\n    void setNumbersignCommentProp();\n    void setBackslashEscapesProp();\n    void setAllowDottedWordProp();\n\n    bool at_else;\n    bool fold_comments;\n    bool fold_compact;\n    bool only_begin;\n    bool backticks_identifier;\n    bool numbersign_comment;\n    bool backslash_escapes;\n    bool allow_dotted_word;\n\n    QsciLexerSQL(const QsciLexerSQL &);\n    QsciLexerSQL &operator=(const QsciLexerSQL &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexertcl.h",
    "content": "﻿// This defines the interface to the QsciLexerTCL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERTCL_H\n#define QSCILEXERTCL_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerTCL class encapsulates the Scintilla TCL lexer.\nclass QSCINTILLA_EXPORT QsciLexerTCL : public QsciLexer\n{\n\tQ_OBJECT\n\npublic:\n\t//! This enum defines the meanings of the different styles used by the TCL\n\t//! lexer.\n\tenum {\n\t\t//! The default.\n\t\tDefault = 0,\n\n\t\t//! A comment.\n\t\tComment = 1,\n\n\t\t//! A comment line.\n\t\tCommentLine = 2,\n\n\t\t//! A number.\n\t\tNumber = 3,\n\n\t\t//! A quoted keyword.\n\t\tQuotedKeyword = 4,\n\n\t\t//! A quoted string.\n\t\tQuotedString = 5,\n\n\t\t//! An operator.\n\t\tOperator = 6,\n\n\t\t//! An identifier\n\t\tIdentifier = 7,\n\n\t\t//! A substitution.\n\t\tSubstitution = 8,\n\n\t\t//! A substitution starting with a brace.\n\t\tSubstitutionBrace = 9,\n\n\t\t//! A modifier.\n\t\tModifier = 10,\n\n\t\t//! Expand keyword (defined in keyword set number 5).\n\t\tExpandKeyword = 11,\n\n        //! A TCL keyword (defined in keyword set number 1).\n        TCLKeyword = 12,\n\n        //! A Tk keyword (defined in keyword set number 2).\n        TkKeyword = 13,\n\n        //! An iTCL keyword (defined in keyword set number 3).\n        ITCLKeyword = 14,\n\n        //! A Tk command (defined in keyword set number 4).\n        TkCommand = 15,\n\n        //! A keyword defined in keyword set number 6.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet6 = 16,\n\n        //! A keyword defined in keyword set number 7.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet7 = 17,\n\n        //! A keyword defined in keyword set number 8.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet8 = 18,\n\n        //! A keyword defined in keyword set number 9.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet9 = 19,\n\n        //! A comment box.\n        CommentBox = 20,\n\n        //! A comment block.\n        CommentBlock = 21\n\t};\n\n\t//! Construct a QsciLexerTCL with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n\tQsciLexerTCL(QObject *parent = 0);\n\n\t//! Destroys the QsciLexerTCL instance.\n\tvirtual ~QsciLexerTCL();\n\n\t//! Returns the name of the language.\n\tconst char *language() const;\n\n\t//! Returns the name of the lexer.  Some lexers support a number of\n\t//! languages.\n\tconst char *lexer() const;\n\n\t//! \\internal Returns the style used for braces for brace matching.\n\tint braceStyle() const;\n\n\t//! Returns the foreground colour of the text for style number \\a style.\n\t//!\n\t//! \\sa defaultPaper()\n\tQColor defaultColor(int style) const;\n\n\t//! Returns the end-of-line fill for style number \\a style.\n\tbool defaultEolFill(int style) const;\n\n\t//! Returns the font for style number \\a style.\n\tQFont defaultFont(int style) const;\n\n\t//! Returns the background colour of the text for style number \\a style.\n\t//!\n\t//! \\sa defaultColor()\n\tQColor defaultPaper(int style) const;\n\n\t//! Returns the set of keywords for the keyword set \\a set recognised\n\t//! by the lexer as a space separated string.\n\tconst char *keywords(int set);\n\n\t//! Returns the descriptive name for style number \\a style.  If the style\n\t//! is invalid for this language then an empty QString is returned.  This\n\t//! is intended to be used in user preference dialogs.\n\tQString description(int style) const;\n\n\t//! Causes all properties to be refreshed by emitting the\n\t//! propertyChanged() signal as required.\n\tvoid refreshProperties();\n\n\t//! If \\a fold is true then multi-line comment blocks can be folded.  The\n    //! default is false.\n\t//!\n\t//! \\sa foldComments()\n\tvoid setFoldComments(bool fold);\n\n    //! Returns true if multi-line comment blocks can be folded.\n\t//!\n\t//! \\sa setFoldComments()\n\tbool foldComments() const {return fold_comments;}\n\nprotected:\n\t//! The lexer's properties are read from the settings \\a qs.  \\a prefix\n\t//! (which has a trailing '/') should be used as a prefix to the key of\n\t//! each setting.  true is returned if there is no error.\n\t//!\n\tbool readProperties(QSettings &qs,const QString &prefix);\n\n\t//! The lexer's properties are written to the settings \\a qs.\n\t//! \\a prefix (which has a trailing '/') should be used as a prefix to\n\t//! the key of each setting.  true is returned if there is no error.\n\t//!\n\tbool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n\tvoid setCommentProp();\n\n\tbool fold_comments;\n\n\tQsciLexerTCL(const QsciLexerTCL &);\n\tQsciLexerTCL &operator=(const QsciLexerTCL &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexertex.h",
    "content": "﻿// This defines the interface to the QsciLexerTeX class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERTEX_H\n#define QSCILEXERTEX_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerTeX class encapsulates the Scintilla TeX lexer.\nclass QSCINTILLA_EXPORT QsciLexerTeX : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! TeX lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A special.\n        Special = 1,\n\n        //! A group.\n        Group = 2,\n\n        //! A symbol.\n        Symbol = 3,\n\n        //! A command.\n        Command = 4,\n\n        //! Text.\n        Text = 5\n    };\n\n    //! Construct a QsciLexerTeX with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerTeX(QObject *parent = 0);\n\n    //! Destroys the QsciLexerTeX instance.\n    virtual ~QsciLexerTeX();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    QColor defaultColor(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldComments()\n    void setFoldComments(bool fold);\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    void setFoldCompact(bool fold);\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;}\n\n    //! If \\a enable is true then comments are processed as TeX source\n    //! otherwise they are ignored.  The default is false.\n    //!\n    //! \\sa processComments()\n    void setProcessComments(bool enable);\n\n    //! Returns true if comments are processed as TeX source.\n    //!\n    //! \\sa setProcessComments()\n    bool processComments() const {return process_comments;}\n\n    //! If \\a enable is true then \\\\if<unknown> processed is processed as a\n    //! command.  The default is true.\n    //!\n    //! \\sa processIf()\n    void setProcessIf(bool enable);\n\n    //! Returns true if \\\\if<unknown> is processed as a command.\n    //!\n    //! \\sa setProcessIf()\n    bool processIf() const {return process_if;}\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs, const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setProcessCommentsProp();\n    void setAutoIfProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool process_comments;\n    bool process_if;\n\n    QsciLexerTeX(const QsciLexerTeX &);\n    QsciLexerTeX &operator=(const QsciLexerTeX &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexertext.h",
    "content": "﻿#pragma once\r\n#include <QObject>\r\n#include <Qsci/qsciglobal.h>\r\n#include <Qsci/qscilexer.h>\r\n\r\nclass QSCINTILLA_EXPORT QsciLexerText : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tenum {\n\t\tDefault = 0,//中文\n\t\tAscii = 1,//英文\r\n\t\tKeyword = 2, //关键字，只有以TXT为母版的自定义语言才有，默认txt是没有关键字说法的\r\n\t};\r\n\tQsciLexerText(QObject *parent=0);\r\n\tvirtual ~QsciLexerText();\r\n\r\n\t//! Returns the name of the language.\r\n\tconst char* language() const;\r\n\r\n\tconst char * lexer() const;\r\n\r\n\t//! Returns the foreground colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultPaper()\r\n\tQColor defaultColor(int style) const;\r\n\r\n\t//! Returns the end-of-line fill for style number \\a style.\r\n\tbool defaultEolFill(int style) const;\r\n\r\n\tstatic void setGlobalDefaultFont(const QFont & font);\r\n\r\n\t//! Returns the font for style number \\a style.\r\n\tQFont defaultFont(int style) const;\r\n\r\n\t//! Returns the background colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultColor()\r\n\tQColor defaultPaper(int style) const;\r\n\r\n\t//int lexerId() const;\r\n\r\n\t//! Returns the set of keywords for the keyword set \\a set recognised\r\n\t//! by the lexer as a space separated string.\r\n\tconst char* keywords(int set);\r\n\r\n\t//! Returns the descriptive name for style number \\a style.  If the\r\n\t//! style is invalid for this language then an empty QString is returned.\r\n\t//! This is intended to be used in user preference dialogs.\r\n\tQString description(int style) const;\r\n\r\nprivate:\r\n\tQsciLexerText(const QsciLexerText&);\r\n\tQsciLexerText& operator=(const QsciLexerText&);\r\n\r\n\tstatic QFont s_defaultTxtFont;\r\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexervb.h",
    "content": "#pragma once\r\n\r\n#pragma once\r\n#include <QObject>\r\n#include <Qsci/qsciglobal.h>\r\n#include <Qsci/qscilexer.h>\r\n\r\nenum VB_STYLE {\r\n\tVB_DEFAULT = 0,\r\n\tVB_COMMENT,\r\n\tVB_NUMBER,\r\n\tVB_KEYWORD,\r\n\tVB_STRING,\r\n\tVB_PREPROCESSOR,\r\n\tVB_OPERATOR,\r\n\tVB_IDENTIFIER,\r\n\tVB_DATE,\r\n\tVB_STRINGEOL,\r\n\tVB_KEYWORD2,\r\n\tVB_KEYWORD3,\r\n\tVB_KEYWORD4,\r\n\tVB_CONSTANT,\r\n\tVB_ASM,\r\n\tVB_LABEL,\r\n\tVB_ERROR,\r\n\tVB_HEXNUMBER,\r\n\tVB_BINNUMBER,\r\n\tVB_COMMENTBLOCK,\r\n\tVB_DOCLINE,\r\n\tVB_DOCBLOCK,\r\n\tVB_DOCKEYWORD,\r\n\tVB_PROPS_DEFAULT,\r\n};\r\n\r\nclass QSCINTILLA_EXPORT QsciLexerVB  : public QsciLexer\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tQsciLexerVB(QObject *parent=0);\r\n\tvirtual ~QsciLexerVB();\r\n\r\n\t//! Returns the name of the language.\r\n\tconst char* language() const;\r\n\r\n\tconst char * lexer() const;\r\n\r\n\t//! Returns the background colour of the text for style number \\a style.\r\n\t//!\r\n\t//! \\sa defaultColor()\r\n\tQColor defaultPaper(int style) const;\r\n\r\n\r\n\t//! Returns the set of keywords for the keyword set \\a set recognised\r\n\t//! by the lexer as a space separated string.\r\n\tconst char* keywords(int set);\r\n\r\n\tQColor defaultColor(int style) const;\r\n\r\n\tQFont defaultFont(int style) const;\r\n\r\n\t//! Returns the descriptive name for style number \\a style.  If the\r\n\t//! style is invalid for this language then an empty QString is returned.\r\n\t//! This is intended to be used in user preference dialogs.\r\n\tQString description(int style) const;\r\n\r\nprivate:\r\n\tQsciLexerVB(const QsciLexerVB&);\r\n\tQsciLexerVB& operator=(const QsciLexerVB&);\r\n};\r\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerverilog.h",
    "content": "﻿// This defines the interface to the QsciLexerVerilog class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERVERILOG_H\n#define QSCILEXERVERILOG_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerVerilog class encapsulates the Scintilla Verilog\n//! lexer.\nclass QSCINTILLA_EXPORT QsciLexerVerilog : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! Verilog lexer.\n    enum {\n        //! The default.\n        Default = 0,\n        InactiveDefault = Default + 64,\n\n        //! A comment.\n        Comment = 1,\n        InactiveComment = Comment + 64,\n\n        //! A line comment.\n        CommentLine = 2,\n        InactiveCommentLine = CommentLine + 64,\n\n        //! A bang comment.\n        CommentBang = 3,\n        InactiveCommentBang = CommentBang + 64,\n\n        //! A number\n        Number = 4,\n        InactiveNumber = Number + 64,\n\n        //! A keyword.\n        Keyword = 5,\n        InactiveKeyword = Keyword + 64,\n\n        //! A string.\n        String = 6,\n        InactiveString = String + 64,\n\n        //! A keyword defined in keyword set number 2.  The class must\n        //! be sub-classed and re-implement keywords() to make use of\n        //! this style.\n        KeywordSet2 = 7,\n        InactiveKeywordSet2 = KeywordSet2 + 64,\n\n        //! A system task.\n        SystemTask = 8,\n        InactiveSystemTask = SystemTask + 64,\n\n        //! A pre-processor block.\n        Preprocessor = 9,\n        InactivePreprocessor = Preprocessor + 64,\n\n        //! An operator.\n        Operator = 10,\n        InactiveOperator = Operator + 64,\n\n        //! An identifier.\n        Identifier = 11,\n        InactiveIdentifier = Identifier + 64,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 12,\n        InactiveUnclosedString = UnclosedString + 64,\n\n        //! A keyword defined in keyword set number 4.  The class must\n        //! be sub-classed and re-implement keywords() to make use of\n        //! this style.  This set is intended to be used for user defined\n        //! identifiers and tasks.\n        UserKeywordSet = 19,\n        InactiveUserKeywordSet = UserKeywordSet + 64,\n\n        //! A keyword comment.\n        CommentKeyword = 20,\n        InactiveCommentKeyword = CommentKeyword + 64,\n\n        //! An input port declaration.\n        DeclareInputPort = 21,\n        InactiveDeclareInputPort = DeclareInputPort + 64,\n\n        //! An output port declaration.\n        DeclareOutputPort = 22,\n        InactiveDeclareOutputPort = DeclareOutputPort + 64,\n\n        //! An input/output port declaration.\n        DeclareInputOutputPort = 23,\n        InactiveDeclareInputOutputPort = DeclareInputOutputPort + 64,\n\n        //! A port connection.\n        PortConnection = 24,\n        InactivePortConnection = PortConnection + 64,\n    };\n\n    //! Construct a QsciLexerVerilog with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerVerilog(QObject *parent = 0);\n\n    //! Destroys the QsciLexerVerilog instance.\n    virtual ~QsciLexerVerilog();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the string of characters that comprise a word.\n    const char *wordCharacters() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! If \\a fold is true then \"} else {\" lines can be folded.  The\n    //! default is false.\n    //!\n    //! \\sa foldAtElse()\n    void setFoldAtElse(bool fold);\n\n    //! Returns true if \"} else {\" lines can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const {return fold_atelse;}\n\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    void setFoldComments(bool fold);\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const {return fold_comments;}\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    void setFoldCompact(bool fold);\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const {return fold_compact;};\n\n    //! If \\a fold is true then preprocessor blocks can be folded.  The\n    //! default is true.\n    //!\n    //! \\sa foldPreprocessor()\n    void setFoldPreprocessor(bool fold);\n\n    //! Returns true if preprocessor blocks can be folded.\n    //!\n    //! \\sa setFoldPreprocessor()\n    bool foldPreprocessor() const {return fold_preproc;};\n\n    //! If \\a fold is true then modules can be folded.  The default is false.\n    //!\n    //! \\sa foldAtModule()\n    void setFoldAtModule(bool fold);\n\n    //! Returns true if modules can be folded.\n    //!\n    //! \\sa setFoldAtModule()\n    bool foldAtModule() const {return fold_atmodule;};\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    //! \\sa writeProperties()\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    //! \\sa readProperties()\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setAtElseProp();\n    void setCommentProp();\n    void setCompactProp();\n    void setPreprocProp();\n    void setAtModuleProp();\n\n    bool fold_atelse;\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_preproc;\n    bool fold_atmodule;\n\n    QsciLexerVerilog(const QsciLexerVerilog &);\n    QsciLexerVerilog &operator=(const QsciLexerVerilog &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexervhdl.h",
    "content": "﻿// This defines the interface to the QsciLexerVHDL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERVHDL_H\n#define QSCILEXERVHDL_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.\nclass QSCINTILLA_EXPORT QsciLexerVHDL : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! VHDL lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! A comment line.\n        CommentLine = 2,\n\n        //! A number.\n        Number = 3,\n\n        //! A string.\n        String = 4,\n\n        //! An operator.\n        Operator = 5,\n\n        //! An identifier\n        Identifier = 6,\n\n        //! The end of a line where a string is not closed.\n        UnclosedString = 7,\n\n        //! A keyword.\n        Keyword = 8,\n\n        //! A standard operator.\n        StandardOperator = 9,\n\n        //! An attribute.\n        Attribute = 10,\n\n        //! A standard function.\n        StandardFunction = 11,\n\n        //! A standard package.\n        StandardPackage = 12,\n\n        //! A standard type.\n        StandardType = 13,\n\n        //! A keyword defined in keyword set number 7.  The class must be\n        //! sub-classed and re-implement keywords() to make use of this style.\n        KeywordSet7 = 14,\n\n        //! A comment block.\n        CommentBlock = 15,\n    };\n\n    //! Construct a QsciLexerVHDL with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerVHDL(QObject *parent = 0);\n\n    //! Destroys the QsciLexerVHDL instance.\n    virtual ~QsciLexerVHDL();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! \\internal Returns the style used for braces for brace matching.\n    int braceStyle() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\n    //! Returns true if trailing blank lines are included in a fold block.\n    //!\n    //! \\sa setFoldCompact()\n    bool foldCompact() const;\n\n    //! Returns true if else blocks can be folded.\n    //!\n    //! \\sa setFoldAtElse()\n    bool foldAtElse() const;\n\n    //! Returns true if begin blocks can be folded.\n    //!\n    //! \\sa setFoldAtBegin()\n    bool foldAtBegin() const;\n\n    //! Returns true if blocks can be folded at a parenthesis.\n    //!\n    //! \\sa setFoldAtParenthesis()\n    bool foldAtParenthesis() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is true.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\n    //! If \\a fold is true then trailing blank lines are included in a fold\n    //! block. The default is true.\n    //!\n    //! \\sa foldCompact()\n    virtual void setFoldCompact(bool fold);\n\n    //! If \\a fold is true then else blocks can be folded.  The default is\n    //! true.\n    //!\n    //! \\sa foldAtElse()\n    virtual void setFoldAtElse(bool fold);\n\n    //! If \\a fold is true then begin blocks can be folded.  The default is\n    //! true.\n    //!\n    //! \\sa foldAtBegin()\n    virtual void setFoldAtBegin(bool fold);\n\n    //! If \\a fold is true then blocks can be folded at a parenthesis.  The\n    //! default is true.\n    //!\n    //! \\sa foldAtParenthesis()\n    virtual void setFoldAtParenthesis(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n    void setCompactProp();\n    void setAtElseProp();\n    void setAtBeginProp();\n    void setAtParenthProp();\n\n    bool fold_comments;\n    bool fold_compact;\n    bool fold_atelse;\n    bool fold_atbegin;\n    bool fold_atparenth;\n\n    QsciLexerVHDL(const QsciLexerVHDL &);\n    QsciLexerVHDL &operator=(const QsciLexerVHDL &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexerxml.h",
    "content": "﻿// This defines the interface to the QsciLexerXML class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERXML_H\n#define QSCILEXERXML_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexerhtml.h>\n\n\n//! \\brief The QsciLexerXML class encapsulates the Scintilla XML lexer.\nclass QSCINTILLA_EXPORT QsciLexerXML : public QsciLexerHTML\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciLexerXML with parent \\a parent.  \\a parent is typically\n    //! the QsciScintilla instance.\n    QsciLexerXML(QObject *parent = 0);\n\n    //! Destroys the QsciLexerXML instance.\n    virtual ~QsciLexerXML();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Causes all properties to be refreshed by emitting the\n    //! propertyChanged() signal as required.\n    void refreshProperties();\n\n    //! If \\a allowed is true then scripts are styled.  The default is true.\n    //!\n    //! \\sa scriptsStyled()\n    void setScriptsStyled(bool styled);\n\n    //! Returns true if scripts are styled.\n    //!\n    //! \\sa setScriptsStyled()\n    bool scriptsStyled() const;\n\n\tint lexerId() const;\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs, const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs, const QString &prefix) const;\n\nprivate:\n    void setScriptsProp();\n\n    bool scripts;\n\n    QsciLexerXML(const QsciLexerXML &);\n    QsciLexerXML &operator=(const QsciLexerXML &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscilexeryaml.h",
    "content": "﻿// This defines the interface to the QsciLexerYAML class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCILEXERYAML_H\n#define QSCILEXERYAML_H\n\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscilexer.h>\n\n\n//! \\brief The QsciLexerYAML class encapsulates the Scintilla YAML lexer.\nclass QSCINTILLA_EXPORT QsciLexerYAML : public QsciLexer\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the meanings of the different styles used by the\n    //! YAML lexer.\n    enum {\n        //! The default.\n        Default = 0,\n\n        //! A comment.\n        Comment = 1,\n\n        //! An identifier.\n        Identifier = 2,\n\n        //! A keyword\n        Keyword = 3,\n\n        //! A number.\n        Number = 4,\n\n        //! A reference.\n        Reference = 5,\n\n        //! A document delimiter.\n        DocumentDelimiter = 6,\n\n        //! A text block marker.\n        TextBlockMarker = 7,\n\n        //! A syntax error marker.\n        SyntaxErrorMarker = 8,\n\n        //! An operator.\n        Operator = 9\n    };\n\n    //! Construct a QsciLexerYAML with parent \\a parent.  \\a parent is\n    //! typically the QsciScintilla instance.\n    QsciLexerYAML(QObject *parent = 0);\n\n    //! Destroys the QsciLexerYAML instance.\n    virtual ~QsciLexerYAML();\n\n    //! Returns the name of the language.\n    const char *language() const;\n\n    //! Returns the name of the lexer.  Some lexers support a number of\n    //! languages.\n    const char *lexer() const;\n\n    //! Returns the foreground colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultPaper()\n    QColor defaultColor(int style) const;\n\n    //! Returns the end-of-line fill for style number \\a style.\n    bool defaultEolFill(int style) const;\n\n    //! Returns the font for style number \\a style.\n    QFont defaultFont(int style) const;\n\n    //! Returns the background colour of the text for style number \\a style.\n    //!\n    //! \\sa defaultColor()\n    QColor defaultPaper(int style) const;\n\n    //! Returns the set of keywords for the keyword set \\a set recognised\n    //! by the lexer as a space separated string.\n    const char *keywords(int set);\n\n    //! Returns the descriptive name for style number \\a style.  If the\n    //! style is invalid for this language then an empty QString is returned.\n    //! This is intended to be used in user preference dialogs.\n    QString description(int style) const;\n\n    //! Causes all properties to be refreshed by emitting the propertyChanged()\n    //! signal as required.\n    void refreshProperties();\n\n    //! Returns true if multi-line comment blocks can be folded.\n    //!\n    //! \\sa setFoldComments()\n    bool foldComments() const;\n\npublic slots:\n    //! If \\a fold is true then multi-line comment blocks can be folded.\n    //! The default is false.\n    //!\n    //! \\sa foldComments()\n    virtual void setFoldComments(bool fold);\n\nprotected:\n    //! The lexer's properties are read from the settings \\a qs.  \\a prefix\n    //! (which has a trailing '/') should be used as a prefix to the key of\n    //! each setting.  true is returned if there is no error.\n    //!\n    bool readProperties(QSettings &qs,const QString &prefix);\n\n    //! The lexer's properties are written to the settings \\a qs.\n    //! \\a prefix (which has a trailing '/') should be used as a prefix to\n    //! the key of each setting.  true is returned if there is no error.\n    //!\n    bool writeProperties(QSettings &qs,const QString &prefix) const;\n\nprivate:\n    void setCommentProp();\n\n    bool fold_comments;\n\n    QsciLexerYAML(const QsciLexerYAML &);\n    QsciLexerYAML &operator=(const QsciLexerYAML &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscimacro.h",
    "content": "// This defines the interface to the QsciMacro class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCIMACRO_H\n#define QSCIMACRO_H\n\n#include <QList>\n#include <QObject>\n#include <QString>\n\n#include <Qsci/qsciglobal.h>\n\n\nclass QsciScintilla;\n\n\n//! \\brief The QsciMacro class represents a sequence of recordable editor\n//! commands.\n//!\n//! Methods are provided to convert convert a macro to and from a textual\n//! representation so that they can be easily written to and read from\n//! permanent storage.\nclass QSCINTILLA_EXPORT QsciMacro : public QObject\n{\n    Q_OBJECT\n\npublic:\n    //! Construct a QsciMacro with parent \\a parent.\n    QsciMacro(QsciScintilla *parent);\n\n    //! Construct a QsciMacro from the printable ASCII representation \\a asc,\n    //! with parent \\a parent.\n    QsciMacro(const QString &asc, QsciScintilla *parent);\n\n    //! Destroy the QsciMacro instance.\n    virtual ~QsciMacro();\n\n    //! Clear the contents of the macro.\n    void clear();\n\n    //! Load the macro from the printable ASCII representation \\a asc.  Returns\n    //! true if there was no error.\n    //!\n    //! \\sa save()\n    bool load(const QString &asc);\n\n    //! Return a printable ASCII representation of the macro.  It is guaranteed\n    //! that only printable ASCII characters are used and that double quote\n    //! characters will not be used.\n    //!\n    //! \\sa load()\n    QString save() const;\n\npublic slots:\n    //! Play the macro.\n    virtual void play();\n\n    //! Start recording user commands and add them to the macro.\n    virtual void startRecording();\n\n    //! Stop recording user commands.\n    virtual void endRecording();\n\nprivate slots:\n    void record(unsigned int msg, unsigned long wParam, void *lParam);\n\nprivate:\n    struct Macro {\n        unsigned int msg;\n        unsigned long wParam;\n        QByteArray text;\n    };\n\n    QsciScintilla *qsci;\n    QList<Macro> macro;\n\n    QsciMacro(const QsciMacro &);\n    QsciMacro &operator=(const QsciMacro &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qsciprinter.h",
    "content": "// This module defines interface to the QsciPrinter class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCIPRINTER_H\n#define QSCIPRINTER_H\n\n// This is needed for Qt v5.0.0-alpha.\n#if defined(B0)\n#undef B0\n#endif\n\n#include <qprinter.h>\n\n#if !defined(QT_NO_PRINTER)\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qsciscintilla.h>\n\n\nQT_BEGIN_NAMESPACE\nclass QRect;\nclass QPainter;\nQT_END_NAMESPACE\n\nclass QsciScintillaBase;\n\n\n//! \\brief The QsciPrinter class is a sub-class of the Qt QPrinter class that\n//! is able to print the text of a Scintilla document.\n//!\n//! The class can be further sub-classed to alter to layout of the text, adding\n//! headers and footers for example.\nclass QSCINTILLA_EXPORT QsciPrinter : public QPrinter\n{\npublic:\n    //! Constructs a printer paint device with mode \\a mode.\n    QsciPrinter(PrinterMode mode = ScreenResolution);\n\n    //! Destroys the QsciPrinter instance.\n    virtual ~QsciPrinter();\n\n    //! Format a page, by adding headers and footers for example, before the\n    //! document text is drawn on it.  \\a painter is the painter to be used to\n    //! add customised text and graphics.  \\a drawing is true if the page is\n    //! actually being drawn rather than being sized.  \\a painter drawing\n    //! methods must only be called when \\a drawing is true.  \\a area is the\n    //! area of the page that will be used to draw the text.  This should be\n    //! modified if it is necessary to reserve space for any customised text or\n    //! graphics.  By default the area is relative to the printable area of the\n    //! page.  Use QPrinter::setFullPage() before calling printRange() if you\n    //! want to try and print over the whole page.  \\a pagenr is the number of\n    //! the page.  The first page is numbered 1.\n    virtual void formatPage(QPainter &painter, bool drawing, QRect &area,\n            int pagenr);\n\n    //! Return the number of points to add to each font when printing.\n    //!\n    //! \\sa setMagnification()\n    int magnification() const {return mag;}\n\n    //! Sets the number of points to add to each font when printing to \\a\n    //! magnification.\n    //!\n    //! \\sa magnification()\n    virtual void setMagnification(int magnification);\n\n    //! Print a range of lines from the Scintilla instance \\a qsb using the\n    //! supplied QPainter \\a painter.  \\a from is the first line to print and a\n    //! negative value signifies the first line of text.  \\a to is the last\n    //! line to print and a negative value signifies the last line of text.\n    //! true is returned if there was no error.\n    virtual int printRange(QsciScintillaBase *qsb, QPainter &painter,\n            int from = -1, int to = -1);\n\n    //! Print a range of lines from the Scintilla instance \\a qsb using a\n    //! default QPainter.  \\a from is the first line to print and a negative\n    //! value signifies the first line of text.  \\a to is the last line to\n    //! print and a negative value signifies the last line of text.  true is\n    //! returned if there was no error.\n    virtual int printRange(QsciScintillaBase *qsb, int from = -1, int to = -1);\n\n    //! Return the line wrap mode used when printing.  The default is\n    //! QsciScintilla::WrapWord.\n    //!\n    //! \\sa setWrapMode()\n    QsciScintilla::WrapMode wrapMode() const {return wrap;}\n\n    //! Sets the line wrap mode used when printing to \\a wmode.\n    //!\n    //! \\sa wrapMode()\n    virtual void setWrapMode(QsciScintilla::WrapMode wmode);\n\nprivate:\n    int mag;\n    QsciScintilla::WrapMode wrap;\n\n    QsciPrinter(const QsciPrinter &);\n    QsciPrinter &operator=(const QsciPrinter &);\n};\n\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qsciscintilla.h",
    "content": "﻿// This module defines the \"official\" high-level API of the Qt port of\n// Scintilla.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCISCINTILLA_H\n#define QSCISCINTILLA_H\n\n#include <QByteArray>\n#include <QList>\n#include <QObject>\n#include <QPointer>\n#include <QStringList>\n\n#include <Qsci/qsciglobal.h>\n#include <Qsci/qscicommand.h>\n#include <Qsci/qscidocument.h>\n#include <Qsci/qsciscintillabase.h>\n\n\nQT_BEGIN_NAMESPACE\nclass QAction;\nclass QImage;\nclass QIODevice;\nclass QMenu;\nclass QPoint;\nQT_END_NAMESPACE\n\nclass QsciCommandSet;\nclass QsciLexer;\nclass QsciStyle;\nclass QsciStyledText;\nclass QsciListBoxQt;\n\nstruct FindState\n{\n\tenum Status\n\t{\n\t\tFinding,\n\t\tFindingInSelection,\n\t\tIdle\n\t};\n\n\tFindState() : status(Idle) {}\n\n\tStatus status;\n\tQString expr;\n\tbool wrap;\n\tbool forward;\n\tint flags;\n\tlong startpos, startpos_orig;\n\tlong endpos, endpos_orig;\n\tint linenum;\n\tint targstart;\n\tint targend;\n\tbool show;\n};\n\nenum FindNextType {\r\n\tFINDNEXTTYPE_FINDNEXT,\r\n\tFINDNEXTTYPE_REPLACENEXT,\r\n\tFINDNEXTTYPE_FINDNEXTFORREPLACE\r\n};\n\n//! \\brief The QsciScintilla class implements a higher level, more Qt-like,\n//! API to the Scintilla editor widget.\n//!\n//! QsciScintilla implements methods, signals and slots similar to those found\n//! in other Qt editor classes. It also provides a higher level interface to\n//! features specific to Scintilla such as syntax styling, call tips,\n//! auto-indenting and auto-completion than that provided by QsciScintillaBase.\nclass QSCINTILLA_EXPORT QsciScintilla : public QsciScintillaBase\n{\n    Q_OBJECT\n\npublic:\n    //! This enum defines the different auto-indentation styles.\n    enum {\n        //! A line is automatically indented to match the previous line.\n        AiMaintain = 0x01,\n\n        //! If the language supported by the current lexer has a specific start\n        //! of block character (e.g. { in C++), then a line that begins with\n        //! that character is indented as well as the lines that make up the\n        //! block.  It may be logically ored with AiClosing.\n        AiOpening = 0x02,\n\n        //! If the language supported by the current lexer has a specific end\n        //! of block character (e.g. } in C++), then a line that begins with\n        //! that character is indented as well as the lines that make up the\n        //! block.  It may be logically ored with AiOpening.\n        AiClosing = 0x04\n    };\n\n    //! This enum defines the different annotation display styles.\n    enum AnnotationDisplay {\n        //! Annotations are not displayed.\n        AnnotationHidden = ANNOTATION_HIDDEN,\n\n        //! Annotations are drawn left justified with no adornment.\n        AnnotationStandard = ANNOTATION_STANDARD,\n\n        //! Annotations are surrounded by a box.\n        AnnotationBoxed = ANNOTATION_BOXED,\n\n        //! Annotations are indented to match the text.\n        AnnotationIndented = ANNOTATION_INDENTED,\n    };\n\n    //! This enum defines the behavior if an auto-completion list contains a\n    //! single entry.\n    enum AutoCompletionUseSingle {\n        //! The single entry is not used automatically and the auto-completion\n        //! list is displayed.\n        AcusNever,\n\n        //! The single entry is used automatically when auto-completion is\n        //! explicitly requested (using autoCompleteFromAPIs() or\n        //! autoCompleteFromDocument()) but not when auto-completion is\n        //! triggered as the user types.\n        AcusExplicit,\n\n        //! The single entry is used automatically and the auto-completion list\n        //! is not displayed.\n        AcusAlways\n    };\n\n    //! This enum defines the different sources for auto-completion lists.\n    enum AutoCompletionSource {\n        //! No sources are used, ie. automatic auto-completion is disabled.\n        AcsNone,\n\n        //! The source is all available sources.\n        AcsAll,\n\n        //! The source is the current document.\n        AcsDocument,\n\n        //! The source is any installed APIs.\n        AcsAPIs\n    };\n\n    //! This enum defines the different brace matching modes.  The character\n    //! pairs {}, [] and () are treated as braces.  The Python lexer will also\n    //! match a : with the end of the corresponding indented block.\n    enum BraceMatch {\n        //! Brace matching is disabled.\n        NoBraceMatch,\n\n        //! Brace matching is enabled for a brace immediately before the\n        //! current position.\n        StrictBraceMatch,\n\n        //! Brace matching is enabled for a brace immediately before or after\n        //! the current position.\n        SloppyBraceMatch\n    };\n\n    //! This enum defines the different call tip positions.\n    enum CallTipsPosition {\n        //! Call tips are placed below the text.\n        CallTipsBelowText,\n\n        //! Call tips are placed above the text.\n        CallTipsAboveText,\n    };\n\n    //! This enum defines the different call tip styles.\n    enum CallTipsStyle {\n        //! Call tips are disabled.\n        CallTipsNone,\n\n        //! Call tips are displayed without a context.  A context is any scope\n        //! (e.g. a C++ namespace or a Python module) prior to the function\n        //! name.\n        CallTipsNoContext,\n\n        //! Call tips are displayed with a context only if the user hasn't\n        //! already implicitly identified the context using autocompletion.\n        //! Note that this style may not always be able to align the call tip\n        //! with the text being entered.\n        CallTipsNoAutoCompletionContext,\n\n        //! Call tips are displayed with a context.  Note that this style\n        //! may not always be able to align the call tip with the text being\n        //! entered.\n        CallTipsContext\n    };\n\n    //! This enum defines the different edge modes for long lines.\n    enum EdgeMode {\n        //! Long lines are not marked.\n        EdgeNone = EDGE_NONE,\n\n        //! A vertical line is drawn at the column set by setEdgeColumn().\n        //! This is recommended for monospace fonts.\n        EdgeLine = EDGE_LINE,\n\n        //! The background color of characters after the column limit is\n        //! changed to the color set by setEdgeColor().  This is recommended\n        //! for proportional fonts.\n        EdgeBackground = EDGE_BACKGROUND,\n\n        //! Multiple vertical lines are drawn at the columns defined by\n        //! multiple calls to addEdgeColumn().\n        EdgeMultipleLines = EDGE_MULTILINE,\n    };\n\n    //! This enum defines the different end-of-line modes.\n    enum EolMode {\n        //! A carriage return/line feed as used on Windows systems.\n        EolWindows = SC_EOL_CRLF,\n\n        //! A line feed as used on Unix systems, including OS/X.\n        EolUnix = SC_EOL_LF,\n\n        //! A carriage return as used on Mac systems prior to OS/X.\n        EolMac = SC_EOL_CR\n    };\n\n    //! This enum defines the different styles for the folding margin.\n    enum FoldStyle {\n        //! Folding is disabled.\n        NoFoldStyle,\n\n        //! Plain folding style using plus and minus symbols.\n        PlainFoldStyle,\n\n        //! Circled folding style using circled plus and minus symbols.\n        CircledFoldStyle,\n\n        //! Boxed folding style using boxed plus and minus symbols.\n        BoxedFoldStyle,\n\n        //! Circled tree style using a flattened tree with circled plus and\n        //! minus symbols and rounded corners.\n        CircledTreeFoldStyle,\n\n        //! Boxed tree style using a flattened tree with boxed plus and minus\n        //! symbols and right-angled corners.\n        BoxedTreeFoldStyle\n    };\n\n    //! This enum defines the different indicator styles.\n    enum IndicatorStyle {\n        //! A single straight underline.\n        PlainIndicator = INDIC_PLAIN,\n\n        //! A squiggly underline that requires 3 pixels of descender space.\n        SquiggleIndicator = INDIC_SQUIGGLE,\n\n        //! A line of small T shapes.\n        TTIndicator = INDIC_TT,\n\n        //! Diagonal hatching.\n        DiagonalIndicator = INDIC_DIAGONAL,\n\n        //! Strike out.\n        StrikeIndicator = INDIC_STRIKE,\n\n        //! An indicator with no visual appearence.\n        HiddenIndicator = INDIC_HIDDEN,\n\n        //! A rectangle around the text.\n        BoxIndicator = INDIC_BOX,\n\n        //! A rectangle with rounded corners around the text with the interior\n        //! usually more transparent than the border.\n        RoundBoxIndicator = INDIC_ROUNDBOX,\n\n        //! A rectangle around the text with the interior usually more\n        //! transparent than the border.  It does not colour the top pixel of\n        //! the line so that indicators on contiguous lines are visually\n        //! distinct and disconnected.\n        StraightBoxIndicator = INDIC_STRAIGHTBOX,\n\n        //! A rectangle around the text with the interior usually more\n        //! transparent than the border.  Unlike StraightBoxIndicator it covers\n        //! the entire character area.\n        FullBoxIndicator = INDIC_FULLBOX,\n\n        //! A dashed underline.\n        DashesIndicator = INDIC_DASH,\n\n        //! A dotted underline.\n        DotsIndicator = INDIC_DOTS,\n\n        //! A squiggly underline that requires 2 pixels of descender space and\n        //! so will fit under smaller fonts.\n        SquiggleLowIndicator = INDIC_SQUIGGLELOW,\n\n        //! A dotted rectangle around the text with the interior usually more\n        //! transparent than the border.\n        DotBoxIndicator = INDIC_DOTBOX,\n\n        //! A version of SquiggleIndicator that uses a pixmap.  This is quicker\n        //! but may be of lower quality.\n        SquigglePixmapIndicator = INDIC_SQUIGGLEPIXMAP,\n\n        //! A thick underline typically used for the target during Asian\n        //! language input composition.\n        ThickCompositionIndicator = INDIC_COMPOSITIONTHICK,\n\n        //! A thin underline typically used for non-target ranges during Asian\n        //! language input composition.\n        ThinCompositionIndicator = INDIC_COMPOSITIONTHIN,\n\n        //! The color of the text is set to the color of the indicator's\n        //! foreground.\n        TextColorIndicator = INDIC_TEXTFORE,\n\n        //! A triangle below the start of the indicator range.\n        TriangleIndicator = INDIC_POINT,\n\n        //! A triangle below the centre of the first character in the indicator\n        //! range.\n        TriangleCharacterIndicator = INDIC_POINTCHARACTER,\n\n        //! A vertical gradient between the indicator's foreground colour at\n        //! top to fully transparent at the bottom.\n        GradientIndicator = INDIC_GRADIENT,\n\n        //! A vertical gradient with the indicator's foreground colour in the\n        //! middle and fading to fully transparent at the top and bottom.\n        CentreGradientIndicator = INDIC_GRADIENTCENTRE,\n    };\n\n    //! This enum defines the different margin options.\n    enum {\n        //! Reset all margin options.\n        MoNone = SC_MARGINOPTION_NONE,\n\n        //! If this is set then only the first sub-line of a wrapped line will\n        //! be selected when clicking on a margin.\n        MoSublineSelect = SC_MARGINOPTION_SUBLINESELECT\n    };\n\n    //! This enum defines the different margin types.\n    enum MarginType {\n        //! The margin contains symbols, including those used for folding.\n        SymbolMargin = SC_MARGIN_SYMBOL,\n\n        //! The margin contains symbols and uses the default foreground color\n        //! as its background color.\n        SymbolMarginDefaultForegroundColor = SC_MARGIN_FORE,\n\n        //! The margin contains symbols and uses the default background color\n        //! as its background color.\n        SymbolMarginDefaultBackgroundColor = SC_MARGIN_BACK,\n\n        //! The margin contains line numbers.\n        NumberMargin = SC_MARGIN_NUMBER,\n\n        //! The margin contains styled text.\n        TextMargin = SC_MARGIN_TEXT,\n\n        //! The margin contains right justified styled text.\n        TextMarginRightJustified = SC_MARGIN_RTEXT,\n\n        //! The margin contains symbols and uses the color set by\n        //! setMarginBackgroundColor() as its background color.\n        SymbolMarginColor = SC_MARGIN_COLOUR,\n    };\n\n    //! This enum defines the different pre-defined marker symbols.\n    enum MarkerSymbol {\n        //! A circle.\n        Circle = SC_MARK_CIRCLE,\n\n        //! A rectangle.\n        Rectangle = SC_MARK_ROUNDRECT,\n\n        //! A triangle pointing to the right.\n        RightTriangle = SC_MARK_ARROW,\n\n        //! A smaller rectangle.\n        SmallRectangle = SC_MARK_SMALLRECT,\n\n        //! An arrow pointing to the right.\n        RightArrow = SC_MARK_SHORTARROW,\n\n        //! An invisible marker that allows code to track the movement\n        //! of lines.\n        Invisible = SC_MARK_EMPTY,\n\n        //! A triangle pointing down.\n        DownTriangle = SC_MARK_ARROWDOWN,\n\n        //! A drawn minus sign.\n        Minus = SC_MARK_MINUS,\n\n        //! A drawn plus sign.\n        Plus = SC_MARK_PLUS,\n\n        //! A vertical line drawn in the background colour.\n        VerticalLine = SC_MARK_VLINE,\n\n        //! A bottom left corner drawn in the background colour.\n        BottomLeftCorner = SC_MARK_LCORNER,\n\n        //! A vertical line with a centre right horizontal line drawn\n        //! in the background colour.\n        LeftSideSplitter = SC_MARK_TCORNER,\n\n        //! A drawn plus sign in a box.\n        BoxedPlus = SC_MARK_BOXPLUS,\n\n        //! A drawn plus sign in a connected box.\n        BoxedPlusConnected = SC_MARK_BOXPLUSCONNECTED,\n\n        //! A drawn minus sign in a box.\n        BoxedMinus = SC_MARK_BOXMINUS,\n\n        //! A drawn minus sign in a connected box.\n        BoxedMinusConnected = SC_MARK_BOXMINUSCONNECTED,\n\n        //! A rounded bottom left corner drawn in the background\n        //! colour.\n        RoundedBottomLeftCorner = SC_MARK_LCORNERCURVE,\n\n        //! A vertical line with a centre right curved line drawn in the\n        //! background colour.\n        LeftSideRoundedSplitter = SC_MARK_TCORNERCURVE,\n\n        //! A drawn plus sign in a circle.\n        CircledPlus = SC_MARK_CIRCLEPLUS,\n\n        //! A drawn plus sign in a connected box.\n        CircledPlusConnected = SC_MARK_CIRCLEPLUSCONNECTED,\n\n        //! A drawn minus sign in a circle.\n        CircledMinus = SC_MARK_CIRCLEMINUS,\n\n        //! A drawn minus sign in a connected circle.\n        CircledMinusConnected = SC_MARK_CIRCLEMINUSCONNECTED,\n\n        //! No symbol is drawn but the line is drawn with the same background\n        //! color as the marker's.\n        Background = SC_MARK_BACKGROUND,\n\n        //! Three drawn dots.\n        ThreeDots = SC_MARK_DOTDOTDOT,\n\n        //! Three drawn arrows pointing right.\n        ThreeRightArrows = SC_MARK_ARROWS,\n\n        //! A full rectangle (ie. the margin background) using the marker's\n        //! background color.\n        FullRectangle = SC_MARK_FULLRECT,\n\n        //! A left rectangle (ie. the left part of the margin background) using\n        //! the marker's background color.\n        LeftRectangle = SC_MARK_LEFTRECT,\n\n        //! No symbol is drawn but the line is drawn underlined using the\n        //! marker's background color.\n        Underline = SC_MARK_UNDERLINE,\n\n        //! A bookmark.\n        Bookmark = SC_MARK_BOOKMARK,\n    };\n\n    //! This enum defines how tab characters are drawn when whitespace is\n    //! visible.\n    enum TabDrawMode {\n        //! An arrow stretching to the tab stop.\n        TabLongArrow = SCTD_LONGARROW,\n\n        //! A horizontal line stretching to the tab stop.\n        TabStrikeOut = SCTD_STRIKEOUT,\n    };\n\n    //! This enum defines the different whitespace visibility modes.  When\n    //! whitespace is visible spaces are displayed as small centred dots and\n    //! tabs are displayed as light arrows pointing to the right.\n    enum WhitespaceVisibility {\n        //! Whitespace is invisible.\n        WsInvisible = SCWS_INVISIBLE,\n\n        //! Whitespace is always visible.\n        WsVisible = SCWS_VISIBLEALWAYS,\n\n        //! Whitespace is visible after the whitespace used for indentation.\n        WsVisibleAfterIndent = SCWS_VISIBLEAFTERINDENT,\n\n        //! Whitespace used for indentation is visible.\n        WsVisibleOnlyInIndent = SCWS_VISIBLEONLYININDENT,\n    };\n\n    //! This enum defines the different line wrap modes.\n    enum WrapMode {\n        //! Lines are not wrapped.\n        WrapNone = SC_WRAP_NONE,\n\n        //! Lines are wrapped at word boundaries.\n        WrapWord = SC_WRAP_WORD,\n\n        //! Lines are wrapped at character boundaries.\n        WrapCharacter = SC_WRAP_CHAR,\n\n        //! Lines are wrapped at whitespace boundaries.\n        WrapWhitespace = SC_WRAP_WHITESPACE,\n    };\n\n    //! This enum defines the different line wrap visual flags.\n    enum WrapVisualFlag {\n        //! No wrap flag is displayed.\n        WrapFlagNone,\n\n        //! A wrap flag is displayed by the text.\n        WrapFlagByText,\n\n        //! A wrap flag is displayed by the border.\n        WrapFlagByBorder,\n\n        //! A wrap flag is displayed in the line number margin.\n        WrapFlagInMargin\n    };\n\n    //! This enum defines the different line wrap indentation modes.\n    enum WrapIndentMode {\n        //! Wrapped sub-lines are indented by the amount set by\n        //! setWrapVisualFlags().\n        WrapIndentFixed = SC_WRAPINDENT_FIXED,\n\n        //! Wrapped sub-lines are indented by the same amount as the first\n        //! sub-line.\n        WrapIndentSame = SC_WRAPINDENT_SAME,\n\n        //! Wrapped sub-lines are indented by the same amount as the first\n        //! sub-line plus one more level of indentation.\n        WrapIndentIndented = SC_WRAPINDENT_INDENT,\n\n        //! Wrapped sub-lines are indented by the same amount as the first\n        //! sub-line plus two more level of indentation.\n        WrapIndentDeeplyIndented = SC_WRAPINDENT_DEEPINDENT\n    };\n\n    //! Construct an empty QsciScintilla with parent \\a parent.\n    QsciScintilla(QWidget *parent = 0);\n\n    //! Destroys the QsciScintilla instance.\n    virtual ~QsciScintilla();\n\n    //! Returns the API context, which is a list of words, before the position\n    //! \\a pos in the document.  The context can be used by auto-completion and\n    //! call tips to help to identify which API call the user is referring to.\n    //! In the default implementation the current lexer determines what\n    //! characters make up a word, and what characters determine the boundaries\n    //! of words (ie. the start characters).  If there is no current lexer then\n    //! the context will consist of a single word.  On return \\a context_start\n    //! will contain the position in the document of the start of the context\n    //! and \\a last_word_start will contain the position in the document of the\n    //! start of the last word of the context.\n    virtual QStringList apiContext(int pos, int &context_start,\n            int &last_word_start);\n\n    //! Annotate the line \\a line with the text \\a text using the style number\n    //! \\a style.\n    void annotate(int line, const QString &text, int style);\n\n    //! Annotate the line \\a line with the text \\a text using the style \\a\n    //! style.\n    void annotate(int line, const QString &text, const QsciStyle &style);\n\n    //! Annotate the line \\a line with the styled text \\a text.\n    void annotate(int line, const QsciStyledText &text);\n\n    //! Annotate the line \\a line with the list of styled text \\a text.\n    void annotate(int line, const QList<QsciStyledText> &text);\n\n    //! Returns the annotation on line \\a line, if any.\n    QString annotation(int line) const;\n\n    //! Returns the display style for annotations.\n    //!\n    //! \\sa setAnnotationDisplay()\n    AnnotationDisplay annotationDisplay() const;\n\n    //! The annotations on line \\a line are removed.  If \\a line is negative\n    //! then all annotations are removed.\n    void clearAnnotations(int line = -1);\n\n    //! Returns true if auto-completion lists are case sensitive.\n    //!\n    //! \\sa setAutoCompletionCaseSensitivity()\n    bool autoCompletionCaseSensitivity() const;\n\n    //! Returns true if auto-completion fill-up characters are enabled.\n    //!\n    //! \\sa setAutoCompletionFillups(), setAutoCompletionFillupsEnabled()\n    bool autoCompletionFillupsEnabled() const;\n\n    //! Returns true if the rest of the word to the right of the current cursor\n    //! is removed when an item from an auto-completion list is selected.\n    //!\n    //! \\sa setAutoCompletionReplaceWord()\n    bool autoCompletionReplaceWord() const;\n\n    //! Returns true if the only item in an auto-completion list with a single\n    //! entry is automatically used and the list not displayed.  Note that this\n    //! is deprecated and autoCompletionUseSingle() should be used instead.\n    //!\n    //! \\sa setAutoCompletionShowSingle()\n    bool autoCompletionShowSingle() const;\n\n    //! Returns the current source for the auto-completion list when it is\n    //! being displayed automatically as the user types.\n    //!\n    //! \\sa setAutoCompletionSource()\n    AutoCompletionSource autoCompletionSource() const {return acSource;}\n\n    //! Returns the current threshold for the automatic display of the\n    //! auto-completion list as the user types.\n    //!\n    //! \\sa setAutoCompletionThreshold()\n    int autoCompletionThreshold() const {return acThresh;}\n\n    //! Returns the current behavior when an auto-completion list contains a\n    //! single entry.\n    //!\n    //! \\sa setAutoCompletionUseSingle()\n    AutoCompletionUseSingle autoCompletionUseSingle() const;\n\n    //! Returns true if auto-indentation is enabled.\n    //!\n    //! \\sa setAutoIndent()\n    bool autoIndent() const {return autoInd;}\n\n    //! Returns true if the backspace key unindents a line instead of deleting\n    //! a character.  The default is false.\n    //!\n    //! \\sa setBackspaceUnindents(), tabIndents(), setTabIndents()\n    bool backspaceUnindents() const;\n\n    //! Mark the beginning of a sequence of actions that can be undone by a\n    //! single call to undo().\n    //!\n    //! \\sa endUndoAction(), undo()\n    void beginUndoAction();\n\n    //! Returns the brace matching mode.\n    //!\n    //! \\sa setBraceMatching()\n    BraceMatch braceMatching() const {return braceMode;}\n\n    //! Returns the encoded text between positions \\a start and \\a end.  This\n    //! is typically used by QsciLexerCustom::styleText().\n    //!\n    //! \\sa text()\n    QByteArray bytes(int start, int end) const;\n\n    //! Returns the current call tip position.\n    //!\n    //! \\sa setCallTipsPosition()\n    CallTipsPosition callTipsPosition() const {return call_tips_position;}\n\n    //! Returns the current call tip style.\n    //!\n    //! \\sa setCallTipsStyle()\n    CallTipsStyle callTipsStyle() const {return call_tips_style;}\n\n    //! Returns the maximum number of call tips that are displayed.\n    //!\n    //! \\sa setCallTipsVisible()\n    int callTipsVisible() const {return maxCallTips;}\n\n    //! Cancel any previous call to findFirst(), findFirstInSelection() or\n    //! findNext() so that replace() does nothing.\n    void cancelFind();\n\n    //! Cancel any current auto-completion or user defined list.\n    void cancelList();\n\n    //! Returns true if the current language lexer is case sensitive.  If there\n    //! is no current lexer then true is returned.\n    bool caseSensitive() const;\n\n    //! Clear all current folds, i.e. ensure that all lines are displayed\n    //! unfolded.\n    //!\n    //! \\sa setFolding()\n    void clearFolds();\n\n    //! Clears the range of text with indicator \\a indicatorNumber starting at\n    //! position \\a indexFrom in line \\a lineFrom and finishing at position\n    //! \\a indexTo in line \\a lineTo.\n    //!\n    //! \\sa fillIndicatorRange()\n    void clearIndicatorRange(int lineFrom, int indexFrom, int lineTo,\n            int indexTo, int indicatorNumber);\n\n    //! Clear all registered images.\n    //!\n    //! \\sa registerImage()\n    void clearRegisteredImages();\n\n    //! Returns the widget's text (ie. foreground) colour.\n    //!\n    //! \\sa setColor()\n    QColor color() const;\n\n    //! Returns a list of the line numbers that have contracted folds.  This is\n    //! typically used to save the fold state of a document.\n    //!\n    //! \\sa setContractedFolds()\n    QList<int> contractedFolds() const;\n\n    //! All the lines of the text have their end-of-lines converted to mode\n    //! \\a mode.\n    //!\n    //! \\sa eolMode(), setEolMode()\n    void convertEols(EolMode mode);\n\n    //! Create the standard context menu which is shown when the user clicks\n    //! with the right mouse button.  It is called from contextMenuEvent().\n    //! The menu's ownership is transferred to the caller.\n    QMenu *createStandardContextMenu();\n\n    //! Returns the attached document.\n    //!\n    //! \\sa setDocument()\n    QsciDocument document() const {return doc;}\n\n    //! Mark the end of a sequence of actions that can be undone by a single\n    //! call to undo().\n    //!\n    //! \\sa beginUndoAction(), undo()\n    void endUndoAction();\n\n    //! Returns the color of the marker used to show that a line has exceeded\n    //! the length set by setEdgeColumn().\n    //!\n    //! \\sa setEdgeColor(), \\sa setEdgeColumn\n    QColor edgeColor() const;\n\n    //! Returns the number of the column after which lines are considered to be\n    //! long.\n    //!\n    //! \\sa setEdgeColumn()\n    int edgeColumn() const;\n\n    //! Returns the edge mode which determines how long lines are marked.\n    //!\n    //! \\sa setEdgeMode()\n    EdgeMode edgeMode() const;\n\n    //! Set the default font.  This has no effect if a language lexer has been\n    //! set.\n    void setFont(const QFont &f);\n\n    //! Returns the end-of-line mode.\n    //!\n    //! \\sa setEolMode()\n    EolMode eolMode() const;\n\n    //! Returns the visibility of end-of-lines.\n    //!\n    //! \\sa setEolVisibility()\n    bool eolVisibility() const;\n\n    //! Returns the extra space added to the height of a line above the\n    //! baseline of the text.\n    //!\n    //! \\sa setExtraAscent(), extraDescent()\n    int extraAscent() const;\n\n    //! Returns the extra space added to the height of a line below the\n    //! baseline of the text.\n    //!\n    //! \\sa setExtraDescent(), extraAscent()\n    int extraDescent() const;\n\n    //! Fills the range of text with indicator \\a indicatorNumber starting at\n    //! position \\a indexFrom in line \\a lineFrom and finishing at position\n    //! \\a indexTo in line \\a lineTo.\n    //!\n    //! \\sa clearIndicatorRange()\n    void fillIndicatorRange(int lineFrom, int indexFrom, int lineTo,\n            int indexTo, int indicatorNumber);\n\n    //! Find the first occurrence of the string \\a expr and return true if\n    //! \\a expr was found, otherwise returns false.  If \\a expr is found it\n    //! becomes the current selection.\n    //!\n    //! If \\a re is true then \\a expr is interpreted as a regular expression\n    //! rather than a simple string.\n    //!\n    //! If \\a cs is true then the search is case sensitive.\n    //!\n    //! If \\a wo is true then the search looks for whole word matches only,\n    //! otherwise it searches for any matching text.\n    //!\n    //! If \\a wrap is true then the search wraps around the end of the text.\n    //!\n    //! If \\a forward is true (the default) then the search is forward from the\n    //! starting position to the end of the text, otherwise it is backwards to\n    //! the beginning of the text. \n    //!\n    //! If either \\a line or \\a index are negative (the default) then the\n    //! search begins from the current cursor position.  Otherwise the search\n    //! begins at position \\a index of line \\a line.\n    //!\n    //! If \\a show is true (the default) then any text found is made visible\n    //! (ie. it is unfolded).\n    //!\n    //! If \\a posix is true then a regular expression is treated in a more\n    //! POSIX compatible manner by interpreting bare ( and ) as tagged sections\n    //! rather than \\( and \\).\n    //!\n    //! If \\a cxx11 is true then a regular expression is treated as a Cxx11\n    //! regular expression.\n    //!\n    //! \\sa cancelFind(), findFirstInSelection(), findNext(), replace()\n    virtual bool findFirst(const QString &expr, bool re, bool cs, bool wo,\n            bool wrap,  bool forward = true, FindNextType findNextType = FINDNEXTTYPE_FINDNEXT, int line = -1, int index = -1,\n            bool show = true, bool posix = false, bool cxx11 = false);\n\n    //! Find the first occurrence of the string \\a expr in the current\n    //! selection and return true if \\a expr was found, otherwise returns\n    //! false.  If \\a expr is found it becomes the current selection.  The\n    //! original selection is restored when a subsequent call to findNext()\n    //! returns false.\n    //!\n    //! If \\a re is true then \\a expr is interpreted as a regular expression\n    //! rather than a simple string.\n    //!\n    //! If \\a cs is true then the search is case sensitive.\n    //!\n    //! If \\a wo is true then the search looks for whole word matches only,\n    //! otherwise it searches for any matching text.\n    //!\n    //! If \\a forward is true (the default) then the search is forward from the\n    //! start to the end of the selection, otherwise it is backwards from the\n    //! end to the start of the selection.\n    //!\n    //! If \\a show is true (the default) then any text found is made visible\n    //! (ie. it is unfolded).\n    //!\n    //! If \\a posix is true then a regular expression is treated in a more\n    //! POSIX compatible manner by interpreting bare ( and ) as tagged sections\n    //! rather than \\( and \\).\n    //!\n    //! If \\a cxx11 is true then a regular expression is treated as a Cxx11\n    //! regular expression.\n    //!\n    //! \\sa cancelFind(), findFirst(), findNext(), replace()\n    virtual bool findFirstInSelection(const QString &expr, bool re, bool cs,\n            bool wo, bool forward = true, bool show = true,\n            bool posix = false, bool cxx11 = false);\n\n    //! Find the next occurence of the string found using findFirst() or\n    //! findFirstInSelection().\n    //!\n    //! \\sa cancelFind(), findFirst(), findFirstInSelection(), replace()\n    virtual bool findNext();\n\n    //! Find a brace and it's match.  \\a brace is updated with the position of\n    //! the brace and will be -1 if there is none.  \\a is updated with the\n    //! position of the matching brace and will be -1 if there is none.\n    //! \\a mode specifies how braces are matched.  true is returned if the\n    //! current position is inside a pair of braces.\n    bool findMatchingBrace(long &brace, long &other, BraceMatch mode);\n\n    //! Returns the number of the first visible line.\n    //!\n    //! \\sa setFirstVisibleLine()\n    int firstVisibleLine() const;\n\n    //! Returns the current folding style.\n    //!\n    //! \\sa setFolding()\n    FoldStyle folding() const {return fold;}\n\n    //! Sets \\a *line and \\a *index to the line and index of the cursor.\n    //!\n    //! \\sa setCursorPosition()\n    void getCursorPosition(int *line, int *index) const;\n\n    //! If there is a selection, \\a *lineFrom is set to the line number in\n    //! which the selection begins and \\a *lineTo is set to the line number in\n    //! which the selection ends.  (They could be the same.)  \\a *indexFrom is\n    //! set to the index at which the selection begins within \\a *lineFrom, and\n    //! \\a *indexTo is set to the index at which the selection ends within\n    //! \\a *lineTo.  If there is no selection, \\a *lineFrom, \\a *indexFrom,\n    //! \\a *lineTo and \\a *indexTo are all set to -1. \n    //!\n    //! \\sa setSelection()\n    void getSelection(int *lineFrom, int *indexFrom, int *lineTo,\n            int *indexTo) const;\n\n    //! Returns true if some text is selected.\n    //!\n    //! \\sa selectedText()\n    bool hasSelectedText() const {return selText;}\n\n    //! Returns the number of characters that line \\a line is indented by.\n    //!\n    //! \\sa setIndentation()\n    int indentation(int line) const;\n\n    //! Returns true if the display of indentation guides is enabled.\n    //!\n    //! \\sa setIndentationGuides()\n    bool indentationGuides() const;\n\n    //! Returns true if indentations are created using tabs and spaces, rather\n    //! than just spaces.  The default is true.\n    //!\n    //! \\sa setIndentationsUseTabs()\n    bool indentationsUseTabs() const;\n\n    //! Returns the indentation width in characters.  The default is 0 which\n    //! means that the value returned by tabWidth() is actually used.\n    //!\n    //! \\sa setIndentationWidth(), tabWidth()\n    int indentationWidth() const;\n\n    //! Define a type of indicator using the style \\a style with the indicator\n    //! number \\a indicatorNumber.  If \\a indicatorNumber is -1 then the\n    //! indicator number is automatically allocated.  The indicator number is\n    //! returned or -1 if too many types of indicator have been defined.\n    //!\n    //! Indicators are used to display additional information over the top of\n    //! styling.  They can be used to show, for example, syntax errors,\n    //! deprecated names and bad indentation by drawing lines under text or\n    //! boxes around text.\n    //!\n    //! There may be up to 32 types of indicator defined at a time.  The first\n    //! 8 are normally used by lexers.  By default indicator number 0 is a\n    //! dark green SquiggleIndicator, 1 is a blue TTIndicator, and 2 is a red\n    //! PlainIndicator.\n    int indicatorDefine(IndicatorStyle style, int indicatorNumber = -1);\n\n    //! Returns true if the indicator \\a indicatorNumber is drawn under the\n    //! text (i.e. in the background).  The default is false.\n    //!\n    //! \\sa setIndicatorDrawUnder()\n    bool indicatorDrawUnder(int indicatorNumber) const;\n\n    //! Returns true if a call tip is currently active.\n    bool isCallTipActive() const;\n\n    //! Returns true if an auto-completion or user defined list is currently\n    //! active.\n    bool isListActive() const;\n\n    //! Returns true if the text has been modified.\n    //!\n    //! \\sa setModified(), modificationChanged()\n    bool isModified() const;\n\n    //! Returns true if the text edit is read-only.\n    //!\n    //! \\sa setReadOnly()\n    bool isReadOnly() const;\n\n    //! Returns true if there is something that can be redone.\n    //!\n    //! \\sa redo()\n    bool isRedoAvailable() const;\n\n    //! Returns true if there is something that can be undone.\n    //!\n    //! \\sa undo()\n    bool isUndoAvailable() const;\n\n    //! Returns true if text is interpreted as being UTF8 encoded.  The default\n    //! is to interpret the text as Latin1 encoded.\n    //!\n    //! \\sa setUtf8()\n    bool isUtf8() const;\n\n    //! Returns true if character \\a ch is a valid word character.\n    //!\n    //! \\sa wordCharacters()\n    bool isWordCharacter(char ch) const;\n\n    //! Returns the line which is at \\a point pixel coordinates or -1 if there\n    //! is no line at that point.\n    int lineAt(const QPoint &point) const;\n\n    //! QScintilla uses the combination of a line number and a character index\n    //! from the start of that line to specify the position of a character\n    //! within the text.  The underlying Scintilla instead uses a byte index\n    //! from the start of the text.  This will convert the \\a position byte\n    //! index to the \\a *line line number and \\a *index character index.\n    //!\n    //! \\sa positionFromLineIndex()\n    void lineIndexFromPosition(int position, int *line, int *index) const;\n\n    //! Returns the length of line \\a line int bytes or -1 if there is no such\n    //! line.  In order to get the length in characters use text(line).length().\n    int lineLength(int line) const;\n\n    //! Returns the number of lines of text.\n    int lines() const;\n\n    //! Returns the length of the text edit's text in bytes.  In order to get\n    //! the length in characters use text().length().\n    int length() const;\n\n    //! Returns the current language lexer used to style text.  If it is 0 then\n    //! syntax styling is disabled.\n    //!\n    //! \\sa setLexer()\n    QsciLexer *lexer() const;\n\n    //! Returns the background color of margin \\a margin.\n    //!\n    //! \\sa setMarginBackgroundColor()\n    QColor marginBackgroundColor(int margin) const;\n\n    //! Returns true if line numbers are enabled for margin \\a margin.\n    //!\n    //! \\sa setMarginLineNumbers(), marginType(), SCI_GETMARGINTYPEN\n    bool marginLineNumbers(int margin) const;\n\n    //! Returns the marker mask of margin \\a margin.\n    //!\n    //! \\sa setMarginMask(), QsciMarker, SCI_GETMARGINMASKN\n    int marginMarkerMask(int margin) const;\n\n    //! Returns the margin options.  The default is MoNone.\n    //!\n    //! \\sa setMarginOptions(), MoNone, MoSublineSelect.\n    int marginOptions() const;\n\n    //! Returns true if margin \\a margin is sensitive to mouse clicks.\n    //!\n    //! \\sa setMarginSensitivity(), marginClicked(), SCI_GETMARGINTYPEN\n    bool marginSensitivity(int margin) const;\n\n    //! Returns the type of margin \\a margin.\n    //!\n    //! \\sa setMarginType(), SCI_GETMARGINTYPEN\n    MarginType marginType(int margin) const;\n\n    //! Returns the width in pixels of margin \\a margin.\n    //!\n    //! \\sa setMarginWidth(), SCI_GETMARGINWIDTHN\n    int marginWidth(int margin) const;\n\n    //! Returns the number of margins.\n    //!\n    //! \\sa setMargins()\n    int margins() const;\n\n    //! Define a type of marker using the symbol \\a sym with the marker number\n    //! \\a markerNumber.  If \\a markerNumber is -1 then the marker number is\n    //! automatically allocated.  The marker number is returned or -1 if too\n    //! many types of marker have been defined.\n    //!\n    //! Markers are small geometric symbols and characters used, for example,\n    //! to indicate the current line or, in debuggers, to indicate breakpoints.\n    //! If a margin has a width of 0 then its markers are not drawn, but their\n    //! background colours affect the background colour of the corresponding\n    //! line of text.\n    //!\n    //! There may be up to 32 types of marker defined at a time and each line\n    //! of text has a set of marker instances associated with it.  Markers are\n    //! drawn according to their numerical identifier.  Markers try to move\n    //! with their text by tracking where the start of their line moves to.\n    //! For example, when a line is deleted its markers are added to previous\n    //! line's markers.\n    //!\n    //! Each marker type is identified by a marker number.  Each instance of a\n    //! marker is identified by a marker handle.\n    int markerDefine(MarkerSymbol sym, int markerNumber = -1);\n\n    //! Define a marker using the character \\a ch with the marker number\n    //! \\a markerNumber.  If \\a markerNumber is -1 then the marker number is\n    //! automatically allocated.  The marker number is returned or -1 if too\n    //! many markers have been defined.\n    int markerDefine(char ch, int markerNumber = -1);\n\n    //! Define a marker using a copy of the pixmap \\a pm with the marker number\n    //! \\a markerNumber.  If \\a markerNumber is -1 then the marker number is\n    //! automatically allocated.  The marker number is returned or -1 if too\n    //! many markers have been defined.\n    int markerDefine(const QPixmap &pm, int markerNumber = -1);\n\n    //! Define a marker using a copy of the image \\a im with the marker number\n    //! \\a markerNumber.  If \\a markerNumber is -1 then the marker number is\n    //! automatically allocated.  The marker number is returned or -1 if too\n    //! many markers have been defined.\n    int markerDefine(const QImage &im, int markerNumber = -1);\n\n    //! Add an instance of marker number \\a markerNumber to line number\n    //! \\a linenr.  A handle for the marker is returned which can be used to\n    //! track the marker's position, or -1 if the \\a markerNumber was invalid.\n    //!\n    //! \\sa markerDelete(), markerDeleteAll(), markerDeleteHandle()\n    int markerAdd(int linenr, int markerNumber);\n\n    //! Returns the 32 bit mask of marker numbers at line number \\a linenr.\n    //!\n    //! \\sa markerAdd()\n    unsigned markersAtLine(int linenr) const;\n\n    //! Delete all markers with the marker number \\a markerNumber in the line\n    //! \\a linenr.  If \\a markerNumber is -1 then delete all markers from line\n    //! \\a linenr.\n    //!\n    //! \\sa markerAdd(), markerDeleteAll(), markerDeleteHandle()\n    void markerDelete(int linenr, int markerNumber);\n\n\tvoid markerDelete(int linenr);\n\n    //! Delete the all markers with the marker number \\a markerNumber.  If\n    //! \\a markerNumber is -1 then delete all markers.\n    //!\n    //! \\sa markerAdd(), markerDelete(), markerDeleteHandle()\n    void markerDeleteAll(int markerNumber = -1);\n\n    //! Delete the the marker instance with the marker handle \\a mhandle.\n    //!\n    //! \\sa markerAdd(), markerDelete(), markerDeleteAll()\n    void markerDeleteHandle(int mhandle);\n\n    //! Return the line number that contains the marker instance with the\n    //! marker handle \\a mhandle.\n    int markerLine(int mhandle) const;\n\n    //! Return the number of the next line to contain at least one marker from\n    //! a 32 bit mask of markers.  \\a linenr is the line number to start the\n    //! search from.  \\a mask is the mask of markers to search for.\n    //!\n    //! \\sa markerFindPrevious()\n    int markerFindNext(int linenr, unsigned mask) const;\n\n    //! Return the number of the previous line to contain at least one marker\n    //! from a 32 bit mask of markers.  \\a linenr is the line number to start\n    //! the search from.  \\a mask is the mask of markers to search for.\n    //!\n    //! \\sa markerFindNext()\n    int markerFindPrevious(int linenr, unsigned mask) const;\n\n    //! Returns true if text entered by the user will overwrite existing text.\n    //!\n    //! \\sa setOverwriteMode()\n    bool overwriteMode() const;\n\n    //! Returns the widget's paper (ie. background) colour.\n    //!\n    //! \\sa setPaper()\n    QColor paper() const;\n\n    //! QScintilla uses the combination of a line number and a character index\n    //! from the start of that line to specify the position of a character\n    //! within the text.  The underlying Scintilla instead uses a byte index\n    //! from the start of the text.  This will return the byte index\n    //! corresponding to the \\a line line number and \\a index character index.\n    //!\n    //! \\sa lineIndexFromPosition()\n    int positionFromLineIndex(int line, int index) const;\n\n    //! Reads the current document from the \\a io device and returns true if\n    //! there was no error.\n    //!\n    //! \\sa write()\n    bool read(QIODevice *io);\n\n    //! Recolours the document between the \\a start and \\a end positions.\n    //! \\a start defaults to the start of the document and \\a end defaults to\n    //! the end of the document.\n    virtual void recolor(int start = 0, int end = -1);\n\n    //! Register an image \\a pm with ID \\a id.  Registered images can be\n    //! displayed in auto-completion lists.\n    //!\n    //! \\sa clearRegisteredImages(), QsciLexer::apiLoad()\n    void registerImage(int id, const QPixmap &pm);\n\n    //! Register an image \\a im with ID \\a id.  Registered images can be\n    //! displayed in auto-completion lists.\n    //!\n    //! \\sa clearRegisteredImages(), QsciLexer::apiLoad()\n    void registerImage(int id, const QImage &im);\n\n    //! Replace the current selection, set by a previous call to findFirst(),\n    //! findFirstInSelection() or findNext(), with \\a replaceStr.\n    //!\n    //! \\sa cancelFind(), findFirst(), findFirstInSelection(), findNext()\n    virtual void replace(const QString &replaceStr);\n\n    //! Reset the fold margin colours to their defaults.\n    //!\n    //! \\sa setFoldMarginColors()\n    void resetFoldMarginColors();\n\n    //! Resets the background colour of an active hotspot area to the default.\n    //!\n    //! \\sa setHotspotBackgroundColor(), resetHotspotForegroundColor()\n    void resetHotspotBackgroundColor();\n\n    //! Resets the foreground colour of an active hotspot area to the default.\n    //!\n    //! \\sa setHotspotForegroundColor(), resetHotspotBackgroundColor()\n    void resetHotspotForegroundColor();\n\n    //! Gets the assumed document width in pixels.\n    //!\n    //! \\sa setScrollWidth(), setScrollWidthTracking()\n    int scrollWidth() const;\n\n    //! Returns true if scroll width tracking is enabled.\n    //!\n    //! \\sa scrollWidth(), setScrollWidthTracking()\n    bool scrollWidthTracking() const;\n\n    //! The fold margin may be drawn as a one pixel sized checkerboard pattern\n    //! of two colours, \\a fore and \\a back.\n    //!\n    //! \\sa resetFoldMarginColors()\n    void setFoldMarginColors(const QColor &fore, const QColor &back);\n\n    //! Set the display style for annotations.  The default is\n    //! AnnotationStandard.\n    //!\n    //! \\sa annotationDisplay()\n    void setAnnotationDisplay(AnnotationDisplay display);\n\n    //! Enable the use of fill-up characters, either those explicitly set or\n    //! those set by a lexer.  By default, fill-up characters are disabled.\n    //!\n    //! \\sa autoCompletionFillupsEnabled(), setAutoCompletionFillups()\n    void setAutoCompletionFillupsEnabled(bool enabled);\n\n    //! A fill-up character is one that, when entered while an auto-completion\n    //! list is being displayed, causes the currently selected item from the\n    //! list to be added to the text followed by the fill-up character.\n    //! \\a fillups is the set of fill-up characters.  If a language lexer has\n    //! been set then this is ignored and the lexer defines the fill-up\n    //! characters.  The default is that no fill-up characters are set.\n    //!\n    //! \\sa autoCompletionFillupsEnabled(), setAutoCompletionFillupsEnabled()\n    void setAutoCompletionFillups(const char *fillups);\n\n    //! A word separator is a sequence of characters that, when entered, causes\n    //! the auto-completion list to be displayed.  If a language lexer has been\n    //! set then this is ignored and the lexer defines the word separators.\n    //! The default is that no word separators are set.\n    //!\n    //! \\sa setAutoCompletionThreshold()\n    void setAutoCompletionWordSeparators(const QStringList &separators);\n\n    //! Set the background colour of call tips to \\a col.  The default is\n    //! white.\n    void setCallTipsBackgroundColor(const QColor &col);\n\n    //! Set the foreground colour of call tips to \\a col.  The default is\n    //! mid-gray.\n    void setCallTipsForegroundColor(const QColor &col);\n\n    //! Set the highlighted colour of call tip text to \\a col.  The default is\n    //! dark blue.\n    void setCallTipsHighlightColor(const QColor &col);\n\n    //! Set the current call tip position.  The default is CallTipsBelowText.\n    //!\n    //! \\sa callTipsPosition()\n    void setCallTipsPosition(CallTipsPosition position);\n\n    //! Set the current call tip style.  The default is CallTipsNoContext.\n    //!\n    //! \\sa callTipsStyle()\n    void setCallTipsStyle(CallTipsStyle style);\n\n    //! Set the maximum number of call tips that are displayed to \\a nr.  If\n    //! the maximum number is 0 then all applicable call tips are displayed.\n    //! If the maximum number is -1 then one call tip will be displayed with up\n    //! and down arrows that allow the use to scroll through the full list.\n    //! The default is -1.\n    //!\n    //! \\sa callTipsVisible()\n    void setCallTipsVisible(int nr);\n\n    //! Sets each line in the \\a folds list of line numbers to be a contracted\n    //! fold.  This is typically used to restore the fold state of a document.\n    //!\n    //! \\sa contractedFolds()\n    void setContractedFolds(const QList<int> &folds);\n\n    //! Attach the document \\a document, replacing the currently attached\n    //! document.\n    //!\n    //! \\sa document()\n    void setDocument(const QsciDocument &document);\n\n    //! Add \\a colnr to the columns which are displayed with a vertical line.\n    //! The edge mode must be set to EdgeMultipleLines.\n    //!\n    //! \\sa clearEdgeColumns()\n    void addEdgeColumn(int colnr, const QColor &col);\n\n    //! Remove any columns added by previous calls to addEdgeColumn().\n    //!\n    //! \\sa addEdgeColumn()\n    void clearEdgeColumns();\n\n    //! Set the color of the marker used to show that a line has exceeded the\n    //! length set by setEdgeColumn().\n    //!\n    //! \\sa edgeColor(), \\sa setEdgeColumn\n    void setEdgeColor(const QColor &col);\n\n    //! Set the number of the column after which lines are considered to be\n    //! long.\n    //!\n    //! \\sa edgeColumn()\n    void setEdgeColumn(int colnr);\n\n    //! Set the edge mode which determines how long lines are marked.\n    //!\n    //! \\sa edgeMode()\n    void setEdgeMode(EdgeMode mode);\n\n    //! Set the number of the first visible line to \\a linenr.\n    //!\n    //! \\sa firstVisibleLine()\n    void setFirstVisibleLine(int linenr);\n\n    //! Enables or disables, according to \\a under, if the indicator\n    //! \\a indicatorNumber is drawn under or over the text (i.e. in the\n    //! background or foreground).  If \\a indicatorNumber is -1 then the state\n    //! of all indicators is set.\n    //!\n    //! \\sa indicatorDrawUnder()\n    void setIndicatorDrawUnder(bool under, int indicatorNumber = -1);\n\n    //! Set the foreground colour of indicator \\a indicatorNumber to \\a col.\n    //! If \\a indicatorNumber is -1 then the colour of all indicators is set.\n    void setIndicatorForegroundColor(const QColor &col, int indicatorNumber = -1);\n\n    //! Set the foreground colour of indicator \\a indicatorNumber to \\a col\n    //! when the mouse is over it or the caret moved into it.  If\n    //! \\a indicatorNumber is -1 then the colour of all indicators is set.\n    void setIndicatorHoverForegroundColor(const QColor &col, int indicatorNumber = -1);\n\n    //! Set the style of indicator \\a indicatorNumber to \\a style when the\n    //! mouse is over it or the caret moved into it.  If \\a indicatorNumber is\n    //! -1 then the style of all indicators is set.\n    void setIndicatorHoverStyle(IndicatorStyle style, int indicatorNumber = -1);\n\n    //! Set the outline colour of indicator \\a indicatorNumber to \\a col.\n    //! If \\a indicatorNumber is -1 then the colour of all indicators is set.\n    //! At the moment only the alpha value of the colour has any affect.\n    void setIndicatorOutlineColor(const QColor &col, int indicatorNumber = -1);\n\n    //! Sets the background color of margin \\a margin to \\a col.\n    //!\n    //! \\sa marginBackgroundColor()\n    void setMarginBackgroundColor(int margin, const QColor &col);\n\n    //! Set the margin options to \\a options.\n    //!\n    //! \\sa marginOptions(), MoNone, MoSublineSelect.\n    void setMarginOptions(int options);\n\n    //! Set the margin text of line \\a line with the text \\a text using the\n    //! style number \\a style.\n    void setMarginText(int line, const QString &text, int style);\n\n    //! Set the margin text of line \\a line with the text \\a text using the\n    //! style \\a style.\n    void setMarginText(int line, const QString &text, const QsciStyle &style);\n\n    //! Set the margin text of line \\a line with the styled text \\a text.\n    void setMarginText(int line, const QsciStyledText &text);\n\n    //! Set the margin text of line \\a line with the list of styled text \\a\n    //! text.\n    void setMarginText(int line, const QList<QsciStyledText> &text);\n\n    //! Set the type of margin \\a margin to type \\a type.\n    //!\n    //! \\sa marginType(), SCI_SETMARGINTYPEN\n    void setMarginType(int margin, MarginType type);\n\n    //! The margin text on line \\a line is removed.  If \\a line is negative\n    //! then all margin text is removed.\n    void clearMarginText(int line = -1);\n\n    //! Set the number of margins to \\a margins.\n    //!\n    //! \\sa margins()\n    void setMargins(int margins);\n\n    //! Set the background colour, including the alpha component, of marker\n    //! \\a markerNumber to \\a col.  If \\a markerNumber is -1 then the colour of\n    //! all markers is set.  The default is white.\n    //!\n    //! \\sa setMarkerForegroundColor()\n    void setMarkerBackgroundColor(const QColor &col, int markerNumber = -1);\n\n    //! Set the foreground colour of marker \\a markerNumber to \\a col.  If\n    //! \\a markerNumber is -1 then the colour of all markers is set.  The\n    //! default is black.\n    //!\n    //! \\sa setMarkerBackgroundColor()\n    void setMarkerForegroundColor(const QColor &col, int markerNumber = -1);\n\n    //! Set the background colour used to display matched braces to \\a col.  It\n    //! is ignored if an indicator is being used.  The default is white.\n    //!\n    //! \\sa setMatchedBraceForegroundColor(), setMatchedBraceIndicator()\n    void setMatchedBraceBackgroundColor(const QColor &col);\n\n    //! Set the foreground colour used to display matched braces to \\a col.  It\n    //! is ignored if an indicator is being used.  The default is red.\n    //!\n    //! \\sa setMatchedBraceBackgroundColor(), setMatchedBraceIndicator()\n    void setMatchedBraceForegroundColor(const QColor &col);\n\n    //! Set the indicator used to display matched braces to \\a indicatorNumber.\n    //! The default is not to use an indicator.\n    //!\n    //! \\sa resetMatchedBraceIndicator(), setMatchedBraceBackgroundColor()\n    void setMatchedBraceIndicator(int indicatorNumber);\n\n    //! Stop using an indicator to display matched braces.\n    //!\n    //! \\sa setMatchedBraceIndicator()\n    void resetMatchedBraceIndicator();\n\n    //! For performance, QScintilla does not measure the display width of the\n    //! document to determine the properties of the horizontal scroll bar.\n    //! Instead, an assumed width is used.  This sets the document width in\n    //! pixels assumed by QScintilla to \\a pixelWidth.  The default value is\n    //! 2000.\n    //!\n    //! \\sa scrollWidth(), setScrollWidthTracking()\n    void setScrollWidth(int pixelWidth);\n\n    //! If scroll width tracking is enabled then the scroll width is adjusted\n    //! to ensure that all of the lines currently displayed can be completely\n    //! scrolled.  This mode never adjusts the scroll width to be narrower.\n    //! This sets the scroll width tracking to \\a enabled.\n    //!\n    //! \\sa setScrollWidth(), scrollWidthTracking()\n    void setScrollWidthTracking(bool enabled);\n\n    //! Sets the mode used to draw tab characters when whitespace is visible to\n    //! \\a mode.  The default is to use an arrow.\n    //!\n    //! \\sa tabDrawMode()\n    void setTabDrawMode(TabDrawMode mode);\n\n    //! Set the background colour used to display unmatched braces to \\a col.\n    //! It is ignored if an indicator is being used.  The default is white.\n    //!\n    //! \\sa setUnmatchedBraceForegroundColor(), setUnmatchedBraceIndicator()\n    void setUnmatchedBraceBackgroundColor(const QColor &col);\n\n    //! Set the foreground colour used to display unmatched braces to \\a col.\n    //! It is ignored if an indicator is being used.  The default is blue.\n    //!\n    //! \\sa setUnmatchedBraceBackgroundColor(), setUnmatchedBraceIndicator()\n    void setUnmatchedBraceForegroundColor(const QColor &col);\n\n    //! Set the indicator used to display unmatched braces to\n    //! \\a indicatorNumber.  The default is not to use an indicator.\n    //!\n    //! \\sa resetUnmatchedBraceIndicator(), setUnmatchedBraceBackgroundColor()\n    void setUnmatchedBraceIndicator(int indicatorNumber);\n\n    //! Stop using an indicator to display unmatched braces.\n    //!\n    //! \\sa setUnmatchedBraceIndicator()\n    void resetUnmatchedBraceIndicator();\n\n    //! Set the visual flags displayed when a line is wrapped.  \\a endFlag\n    //! determines if and where the flag at the end of a line is displayed.\n    //! \\a startFlag determines if and where the flag at the start of a line is\n    //! displayed.  \\a indent is the number of characters a wrapped line is\n    //! indented by.  By default no visual flags are displayed.\n    void setWrapVisualFlags(WrapVisualFlag endFlag,\n            WrapVisualFlag startFlag = WrapFlagNone, int indent = 0);\n\n    //! Returns the selected text or an empty string if there is no currently\n    //! selected text.\n    //!\n    //! \\sa hasSelectedText()\n    QString selectedText() const;\n\n    //! Returns whether or not the selection is drawn up to the right hand\n    //! border.\n    //!\n    //! \\sa setSelectionToEol()\n    bool selectionToEol() const;\n\n    //! Sets the background colour of an active hotspot area to \\a col.\n    //!\n    //! \\sa resetHotspotBackgroundColor(), setHotspotForegroundColor()\n    void setHotspotBackgroundColor(const QColor &col);\n\n    //! Sets the foreground colour of an active hotspot area to \\a col.\n    //!\n    //! \\sa resetHotspotForegroundColor(), setHotspotBackgroundColor()\n    void setHotspotForegroundColor(const QColor &col);\n\n    //! Enables or disables, according to \\a enable, the underlining of an\n    //! active hotspot area.  The default is false.\n    void setHotspotUnderline(bool enable);\n\n    //! Enables or disables, according to \\a enable, the wrapping of a hotspot\n    //! area to following lines.  The default is true.\n    void setHotspotWrap(bool enable);\n\n    //! Sets whether or not the selection is drawn up to the right hand border.\n    //! \\a filled is set if the selection is drawn to the border.\n    //!\n    //! \\sa selectionToEol()\n    void setSelectionToEol(bool filled);\n\n    //! Sets the extra space added to the height of a line above the baseline\n    //! of the text to \\a extra.\n    //!\n    //! \\sa extraAscent(), setExtraDescent()\n    void setExtraAscent(int extra);\n\n    //! Sets the extra space added to the height of a line below the baseline\n    //! of the text to \\a extra.\n    //!\n    //! \\sa extraDescent(), setExtraAscent()\n    void setExtraDescent(int extra);\n\n    //! Text entered by the user will overwrite existing text if \\a overwrite\n    //! is true.\n    //!\n    //! \\sa overwriteMode()\n    void setOverwriteMode(bool overwrite);\n\n    //! Sets the background colour of visible whitespace to \\a col.  If \\a col\n    //! is an invalid color (the default) then the color specified by the\n    //! current lexer is used.\n    void setWhitespaceBackgroundColor(const QColor &col);\n\n    //! Sets the foreground colour of visible whitespace to \\a col.  If \\a col\n    //! is an invalid color (the default) then the color specified by the\n    //! current lexer is used.\n    void setWhitespaceForegroundColor(const QColor &col);\n\n    //! Sets the size of the dots used to represent visible whitespace.\n    //!\n    //! \\sa whitespaceSize()\n    void setWhitespaceSize(int size);\n\n    //! Sets the line wrap indentation mode to \\a mode.  The default is\n    //! WrapIndentFixed.\n    //!\n    //! \\sa wrapIndentMode()\n    void setWrapIndentMode(WrapIndentMode mode);\n\n    //! Displays a user defined list which can be interacted with like an\n    //! auto-completion list.  \\a id is an identifier for the list which is\n    //! passed as an argument to the userListActivated() signal and must be at\n    //! least 1.  \\a list is the text with which the list is populated.\n    //!\n    //! \\sa cancelList(), isListActive(), userListActivated()\n    void showUserList(int id, const QStringList &list);\n\n    //! The standard command set is returned.\n    QsciCommandSet *standardCommands() const {return stdCmds;}\n\n    //! Returns the mode used to draw tab characters when whitespace is\n    //! visible.\n    //!\n    //! \\sa setTabDrawMode()\n    TabDrawMode tabDrawMode() const;\n\n    //! Returns true if the tab key indents a line instead of inserting a tab\n    //! character.  The default is true.\n    //!\n    //! \\sa setTabIndents(), backspaceUnindents(), setBackspaceUnindents()\n    bool tabIndents() const;\n\n    //! Returns the tab width in characters.  The default is 8.\n    //!\n    //! \\sa setTabWidth()\n    int tabWidth() const;\n\n    //! Returns the text of the current document.\n    //!\n    //! \\sa setText()\n    QString text() const;\n\n    //! \\overload\n    //!\n    //! Returns the text of line \\a line.\n    //!\n    //! \\sa setText()\n    QString text(int line) const;\n\n    //! \\overload\n    //!\n    //! Returns the text between positions \\a start and \\a end.  This is\n    //! typically used by QsciLexerCustom::styleText().\n    //!\n    //! \\sa bytes(), setText()\n    QString text(int start, int end) const;\n\n    //! Returns the height in pixels of the text in line number \\a linenr.\n    int textHeight(int linenr) const;\n\n    //! Returns the size of the dots used to represent visible whitespace.\n    //!\n    //! \\sa setWhitespaceSize()\n    int whitespaceSize() const;\n\n    //! Returns the visibility of whitespace.\n    //!\n    //! \\sa setWhitespaceVisibility()\n    WhitespaceVisibility whitespaceVisibility() const;\n\n    //! Returns the word at the \\a line line number and \\a index character\n    //! index.\n    QString wordAtLineIndex(int line, int index) const;\n\n    //! Returns the word at the \\a point pixel coordinates.\n    QString wordAtPoint(const QPoint &point) const;\n\n\tQString wordAtPosition(int position) const;\n\n    //! Returns the set of valid word character as defined by the current\n    //! language lexer.  If there is no current lexer then the set contains an\n    //! an underscore, numbers and all upper and lower case alphabetic\n    //! characters.\n    //!\n    //! \\sa isWordCharacter()\n    const char *wordCharacters() const;\n\n    //! Returns the line wrap mode.\n    //!\n    //! \\sa setWrapMode()\n    WrapMode wrapMode() const;\n\n    //! Returns the line wrap indentation mode.\n    //!\n    //! \\sa setWrapIndentMode()\n    WrapIndentMode wrapIndentMode() const;\n\n    //! Writes the current document to the \\a io device and returns true if\n    //! there was no error.\n    //!\n    //! \\sa read()\n    bool write(QIODevice *io) const;\n\n\tvoid setIndentGuide(bool v);\n\tbool getIndentGuide();\n\n\t//只有html asp jsp php等语言，才需要做高亮tag的功能。\n\tvoid setHtmlHighLightTag(bool v);\n\tbool getHtmlHighLightTag();\n\n   /* virtual void adjuctSkinStyle() {}*/\n\npublic slots:\n    //! Appends the text \\a text to the end of the text edit.  Note that the\n    //! undo/redo history is cleared by this function.\n    virtual void append(const QString &text);\n\n    //! Display an auto-completion list based on any installed APIs, the\n    //! current contents of the document and the characters immediately to the\n    //! left of the cursor.\n    //!\n    //! \\sa autoCompleteFromAPIs(), autoCompleteFromDocument()\n    virtual void autoCompleteFromAll();\n\n    //! Display an auto-completion list based on any installed APIs and the\n    //! characters immediately to the left of the cursor.\n    //!\n    //! \\sa autoCompleteFromAll(), autoCompleteFromDocument(),\n    //! setAutoCompletionAPIs()\n    virtual void autoCompleteFromAPIs();\n\n    //! Display an auto-completion list based on the current contents of the\n    //! document and the characters immediately to the left of the cursor.\n    //!\n    //! \\sa autoCompleteFromAll(), autoCompleteFromAPIs()\n    virtual void autoCompleteFromDocument();\n\n    //! Display a call tip based on the the characters immediately to the left\n    //! of the cursor.\n    virtual void callTip();\n\n    //! Deletes all the text in the text edit.\n    virtual void clear();\n\n    //! Copies any selected text to the clipboard.\n    //!\n    //! \\sa copyAvailable(), cut(), paste()\n    virtual void copy();\n\n    //! Copies any selected text to the clipboard and then deletes the text.\n    //!\n    //! \\sa copy(), paste()\n    virtual void cut();\n\n    //! Ensures that the cursor is visible.\n    virtual void ensureCursorVisible();\n\n    //! Ensures that the line number \\a line is visible.\n    virtual void ensureLineVisible(int line);\n\n    //! If any lines are currently folded then they are all unfolded.\n    //! Otherwise all lines are folded.  This has the same effect as clicking\n    //! in the fold margin with the shift and control keys pressed.  If\n    //! \\a children is not set (the default) then only the top level fold\n    //! points are affected, otherwise the state of all fold points are\n    //! changed.\n    virtual void foldAll(bool children = false);\n\n    //! If the line \\a line is folded then it is unfolded.  Otherwise it is\n    //! folded.  This has the same effect as clicking in the fold margin.\n    virtual void foldLine(int line);\n\n    //! Increases the indentation of line \\a line by an indentation width.\n    //!\n    //! \\sa unindent()\n    virtual void indent(int line);\n\n    //! Insert the text \\a text at the current position.\n    virtual void insert(const QString &text);\n\n    //! Insert the text \\a text in the line \\a line at the position\n    //! \\a index.\n    virtual void insertAt(const QString &text, int line, int index);\n\n    //! If the cursor is either side of a brace character then move it to the\n    //! position of the corresponding brace.\n    virtual void moveToMatchingBrace();\n\n    //! Pastes any text from the clipboard into the text edit at the current\n    //! cursor position.\n    //!\n    //! \\sa copy(), cut()\n    virtual void paste();\n\n    //! Redo the last change or sequence of changes.\n    //!\n    //! \\sa isRedoAvailable()\n    virtual void redo();\n\n    //! Removes any selected text.\n    //!\n    //! \\sa replaceSelectedText()\n    virtual void removeSelectedText();\n\n    //! Replaces any selected text with \\a text.\n    //!\n    //! \\sa removeSelectedText()\n    virtual void replaceSelectedText(const QString &text);\n\n    //! Resets the background colour of selected text to the default.\n    //!\n    //! \\sa setSelectionBackgroundColor(), resetSelectionForegroundColor()\n    virtual void resetSelectionBackgroundColor();\n\n    //! Resets the foreground colour of selected text to the default.\n    //!\n    //! \\sa setSelectionForegroundColor(), resetSelectionBackgroundColor()\n    virtual void resetSelectionForegroundColor();\n\n    //! If \\a select is true (the default) then all the text is selected.  If\n    //! \\a select is false then any currently selected text is deselected.\n    virtual void selectAll(bool select = true);\n\n    //! If the cursor is either side of a brace character then move it to the\n    //! position of the corresponding brace and select the text between the\n    //! braces.\n    virtual void selectToMatchingBrace();\n\n    //! If \\a cs is true then auto-completion lists are case sensitive.  The\n    //! default is true.  Note that setting a lexer may change the case\n    //! sensitivity.\n    //!\n    //! \\sa autoCompletionCaseSensitivity()\n    virtual void setAutoCompletionCaseSensitivity(bool cs);\n\n    //! If \\a replace is true then when an item from an auto-completion list is\n    //! selected, the rest of the word to the right of the current cursor is\n    //! removed.  The default is false.\n    //!\n    //! \\sa autoCompletionReplaceWord()\n    virtual void setAutoCompletionReplaceWord(bool replace);\n\n    //! If \\a single is true then when there is only a single entry in an\n    //! auto-completion list it is automatically used and the list is not\n    //! displayed.  This only has an effect when auto-completion is explicitly\n    //! requested (using autoCompleteFromAPIs() and autoCompleteFromDocument())\n    //! and has no effect when auto-completion is triggered as the user types.\n    //! The default is false.  Note that this is deprecated and\n    //! setAutoCompletionUseSingle() should be used instead.\n    //!\n    //! \\sa autoCompletionShowSingle()\n    virtual void setAutoCompletionShowSingle(bool single);\n\n    //! Sets the source for the auto-completion list when it is being displayed\n    //! automatically as the user types to \\a source.  The default is AcsNone,\n    //! ie. it is disabled.\n    //!\n    //! \\sa autoCompletionSource()\n    virtual void setAutoCompletionSource(AutoCompletionSource source);\n\n    //! Sets the threshold for the automatic display of the auto-completion\n    //! list as the user types to \\a thresh.  The threshold is the number of\n    //! characters that the user must type before the list is displayed.  If\n    //! the threshold is less than or equal to 0 then the list is disabled.\n    //! The default is -1.\n    //!\n    //! \\sa autoCompletionThreshold(), setAutoCompletionWordSeparators()\n    virtual void setAutoCompletionThreshold(int thresh);\n\n    //! Sets the behavior of the auto-completion list when it has a single\n    //! entry.  The default is AcusNever.\n    //!\n    //! \\sa autoCompletionUseSingle()\n    virtual void setAutoCompletionUseSingle(AutoCompletionUseSingle single);\n\n    //! If \\a autoindent is true then auto-indentation is enabled.  The default\n    //! is false.\n    //!\n    //! \\sa autoIndent()\n    virtual void setAutoIndent(bool autoindent);\n\n    //! Sets the brace matching mode to \\a bm.  The default is NoBraceMatching.\n    //!\n    //! \\sa braceMatching()\n    virtual void setBraceMatching(BraceMatch bm);\n\n    //! If \\a deindent is true then the backspace key will unindent a line\n    //! rather then delete a character.\n    //!\n    //! \\sa backspaceUnindents(), tabIndents(), setTabIndents()\n    virtual void setBackspaceUnindents(bool unindent);\n\n    //! Sets the foreground colour of the caret to \\a col.\n    virtual void setCaretForegroundColor(const QColor &col);\n\n    //! Sets the background colour, including the alpha component, of the line\n    //! containing the caret to \\a col.\n    //!\n    //! \\sa setCaretLineVisible()\n    virtual void setCaretLineBackgroundColor(const QColor &col);\n\n    //! Sets the width of the frame of the line containing the caret to \\a\n    //! width.\n    virtual void setCaretLineFrameWidth(int width);\n\n    //! Enables or disables, according to \\a enable, the background color of\n    //! the line containing the caret.\n    //!\n    //! \\sa setCaretLineBackgroundColor()\n    virtual void setCaretLineVisible(bool enable);\n\n    //! Sets the width of the caret to \\a width pixels.  A \\a width of 0 makes\n    //! the caret invisible.\n    virtual void setCaretWidth(int width);\n\n    //! The widget's text (ie. foreground) colour is set to \\a c.  This has no\n    //! effect if a language lexer has been set.\n    //!\n    //! \\sa color()\n    virtual void setColor(const QColor &c);\n\n    //! Sets the cursor to the line \\a line at the position \\a index.\n    //!\n    //! \\sa getCursorPosition()\n    virtual void setCursorPosition(int line, int index);\n\n    //! Sets the end-of-line mode to \\a mode.  The default is the platform's\n    //! natural mode.\n    //!\n    //! \\sa eolMode()\n    virtual void setEolMode(EolMode mode);\n\n    //! If \\a visible is true then end-of-lines are made visible.  The default\n    //! is that they are invisible.\n    //!\n    //! \\sa eolVisibility()\n    virtual void setEolVisibility(bool visible);\n\n    //! Sets the folding style for margin \\a margin to \\a fold.  The default\n    //! style is NoFoldStyle (ie. folding is disabled) and the default margin\n    //! is 2.\n    //!\n    //! \\sa folding()\n    virtual void setFolding(FoldStyle fold, int margin = 2);\n\n    //! Sets the indentation of line \\a line to \\a indentation characters.\n    //!\n    //! \\sa indentation()\n    virtual void setIndentation(int line, int indentation);\n\n    //! Enables or disables, according to \\a enable, this display of\n    //! indentation guides.\n    //!\n    //! \\sa indentationGuides()\n    virtual void setIndentationGuides(bool enable);\n\n    //! Set the background colour of indentation guides to \\a col.\n    //!\n    //! \\sa setIndentationGuidesForegroundColor()\n    virtual void setIndentationGuidesBackgroundColor(const QColor &col);\n\n    //! Set the foreground colour of indentation guides to \\a col.\n    //!\n    //! \\sa setIndentationGuidesBackgroundColor()\n    virtual void setIndentationGuidesForegroundColor(const QColor &col);\n\n    //! If \\a tabs is true then indentations are created using tabs and spaces,\n    //! rather than just spaces.\n    //!\n    //! \\sa indentationsUseTabs()\n    virtual void setIndentationsUseTabs(bool tabs);\n\n    //! Sets the indentation width to \\a width characters.  If \\a width is 0\n    //! then the value returned by tabWidth() is used.\n    //!\n    //! \\sa indentationWidth(), tabWidth()\n    virtual void setIndentationWidth(int width);\n\n    //! Sets the specific language lexer used to style text to \\a lex.  If\n    //! \\a lex is 0 then syntax styling is disabled.\n    //!\n    //! \\sa lexer()\n    virtual void setLexer(QsciLexer *lexer = 0);\n\n    //! Set the background colour of all margins to \\a col.  The default is a\n    //! gray.\n    //!\n    //! \\sa setMarginsForegroundColor()\n    virtual void setMarginsBackgroundColor(const QColor &col);\n\n    //! Set the font used in all margins to \\a f.\n    virtual void setMarginsFont(const QFont &f);\n\n    //! Set the foreground colour of all margins to \\a col.  The default is\n    //! black.\n    //!\n    //! \\sa setMarginsBackgroundColor()\n    virtual void setMarginsForegroundColor(const QColor &col);\n\n    //! Enables or disables, according to \\a lnrs, the display of line numbers\n    //! in margin \\a margin.\n    //!\n    //! \\sa marginLineNumbers(), setMarginType(), SCI_SETMARGINTYPEN\n    virtual void setMarginLineNumbers(int margin, bool lnrs);\n\n    //! Sets the marker mask of margin \\a margin to \\a mask.  Only those\n    //! markers whose bit is set in the mask are displayed in the margin.\n    //!\n    //! \\sa marginMarkerMask(), QsciMarker, SCI_SETMARGINMASKN\n    virtual void setMarginMarkerMask(int margin, int mask);\n\n    //! Enables or disables, according to \\a sens, the sensitivity of margin\n    //! \\a margin to mouse clicks.  If the user clicks in a sensitive margin\n    //! the marginClicked() signal is emitted.\n    //!\n    //! \\sa marginSensitivity(), marginClicked(), SCI_SETMARGINSENSITIVEN\n    virtual void setMarginSensitivity(int margin, bool sens);\n\n    //! Sets the width of margin \\a margin to \\a width pixels.  If the width of\n    //! a margin is 0 then it is not displayed.\n    //!\n    //! \\sa marginWidth(), SCI_SETMARGINWIDTHN\n    virtual void setMarginWidth(int margin, int width);\n\n    //! Sets the width of margin \\a margin so that it is wide enough to display\n    //! \\a s in the current margin font.\n    //!\n    //! \\sa marginWidth(), SCI_SETMARGINWIDTHN\n    virtual void setMarginWidth(int margin, const QString &s);\n\n    //! Sets the modified state of the text edit to \\a m.  Note that it is only\n    //! possible to clear the modified state (where \\a m is false).  Attempts\n    //! to set the modified state (where \\a m is true) are ignored.\n    //!\n    //! \\sa isModified(), modificationChanged()\n    virtual void setModified(bool m);\n\n    //! The widget's paper (ie. background) colour is set to \\a c.  This has no\n    //! effect if a language lexer has been set.\n    //!\n    //! \\sa paper()\n    virtual void setPaper(const QColor &c);\n\n    //! Sets the read-only state of the text edit to \\a ro.\n    //!\n    //! \\sa isReadOnly()\n    virtual void setReadOnly(bool ro);\n\n    //! Sets the selection which starts at position \\a indexFrom in line\n    //! \\a lineFrom and ends at position \\a indexTo in line \\a lineTo.  The\n    //! cursor is moved to position \\a indexTo in \\a lineTo.\n    //!\n    //! \\sa getSelection()\n    virtual void setSelection(int lineFrom, int indexFrom, int lineTo,\n            int indexTo);\n\n    //! Sets the background colour, including the alpha component, of selected\n    //! text to \\a col.\n    //!\n    //! \\sa resetSelectionBackgroundColor(), setSelectionForegroundColor()\n    virtual void setSelectionBackgroundColor(const QColor &col);\n\n    //! Sets the foreground colour of selected text to \\a col.\n    //!\n    //! \\sa resetSelectionForegroundColor(), setSelectionBackgroundColor()\n    virtual void setSelectionForegroundColor(const QColor &col);\n\n    //! If \\a indent is true then the tab key will indent a line rather than\n    //! insert a tab character.\n    //!\n    //! \\sa tabIndents(), backspaceUnindents(), setBackspaceUnindents()\n    virtual void setTabIndents(bool indent);\n\n    //! Sets the tab width to \\a width characters.\n    //!\n    //! \\sa tabWidth()\n    virtual void setTabWidth(int width);\n\n    //! Replaces all of the current text with \\a text.  Note that the\n    //! undo/redo history is cleared by this function.\n    //!\n    //! \\sa text()\n    virtual void setText(const QString &text);\n\n\tvirtual int setUtf8Text(const QString & text);\n\n\tvirtual int setUtf8Text(const char*text, int len);\n\n    //! Sets the current text encoding.  If \\a cp is true then UTF8 is used,\n    //! otherwise Latin1 is used.\n    //!\n    //! \\sa isUtf8()\n    virtual void setUtf8(bool cp);\n\n    //! Sets the visibility of whitespace to mode \\a mode.  The default is that\n    //! whitespace is invisible.\n    //!\n    //! \\sa whitespaceVisibility()\n    virtual void setWhitespaceVisibility(WhitespaceVisibility mode);\n\n    //! Sets the line wrap mode to \\a mode.  The default is that lines are not\n    //! wrapped.\n    //!\n    //! \\sa wrapMode()\n    virtual void setWrapMode(WrapMode mode);\n\n    //! Undo the last change or sequence of changes.\n    //!\n    //! Scintilla has multiple level undo and redo.  It will continue to record\n    //! undoable actions until memory runs out.  Sequences of typing or\n    //! deleting are compressed into single actions to make it easier to undo\n    //! and redo at a sensible level of detail.  Sequences of actions can be\n    //! combined into actions that are undone as a unit.  These sequences occur\n    //! between calls to beginUndoAction() and endUndoAction().  These\n    //! sequences can be nested and only the top level sequences are undone as\n    //! units. \n    //!\n    //! \\sa beginUndoAction(), endUndoAction(), isUndoAvailable()\n    virtual void undo();\n\n    //! Decreases the indentation of line \\a line by an indentation width.\n    //!\n    //! \\sa indent()\n    virtual void unindent(int line);\n\n    //! Zooms in on the text by by making the base font size \\a range points\n    //! larger and recalculating all font sizes.\n    //!\n    //! \\sa zoomOut(), zoomTo()\n    virtual void zoomIn(int range);\n\n    //! \\overload\n    //!\n    //! Zooms in on the text by by making the base font size one point larger\n    //! and recalculating all font sizes.\n    virtual void zoomIn();\n\n    //! Zooms out on the text by by making the base font size \\a range points\n    //! smaller and recalculating all font sizes.\n    //!\n    //! \\sa zoomIn(), zoomTo()\n    virtual void zoomOut(int range);\n\n    //! \\overload\n    //!\n    //! Zooms out on the text by by making the base font size one point larger\n    //! and recalculating all font sizes.\n    virtual void zoomOut();\n\n    //! Zooms the text by making the base font size \\a size points and\n    //! recalculating all font sizes.\n    //!\n    //! \\sa zoomIn(), zoomOut()\n    virtual void zoomTo(int size);\n\n\t//获取最后一次查找的情况\n\tFindState& getLastFindState();\n\nsignals:\n    //! This signal is emitted whenever the cursor position changes.  \\a line\n    //! contains the line number and \\a index contains the character index\n    //! within the line.\n    void cursorPositionChanged(int line, int index);\n\n\tvoid cursorPosChange(int line, int pos);\n\n    //! This signal is emitted whenever text is selected or de-selected.\n    //! \\a yes is true if text has been selected and false if text has been\n    //! deselected.  If \\a yes is true then copy() can be used to copy the\n    //! selection to the clipboard.  If \\a yes is false then copy() does\n    //! nothing. \n    //!\n    //! \\sa copy(), selectionChanged()\n    void copyAvailable(bool yes);\n\n    //! This signal is emitted whenever the user clicks on an indicator.  \\a\n    //! line is the number of the line where the user clicked.  \\a index is the\n    //! character index within the line.  \\a state is the state of the modifier\n    //! keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and\n    //! Qt::MetaModifier) when the user clicked.\n    //!\n    //! \\sa indicatorReleased()\n    void indicatorClicked(int line, int index, Qt::KeyboardModifiers state);\n\n    //! This signal is emitted whenever the user releases the mouse on an\n    //! indicator.  \\a line is the number of the line where the user clicked.\n    //! \\a index is the character index within the line.  \\a state is the state\n    //! of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier,\n    //! Qt::AltModifer and Qt::MetaModifier) when the user released the mouse.\n    //!\n    //! \\sa indicatorClicked()\n    void indicatorReleased(int line, int index, Qt::KeyboardModifiers state);\n\n    //! This signal is emitted whenever the number of lines of text changes.\n    void linesChanged();\n\n    //! This signal is emitted whenever the user clicks on a sensitive margin.\n    //! \\a margin is the margin.  \\a line is the number of the line where the\n    //! user clicked.  \\a state is the state of the modifier keys\n    //! (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and\n    //! Qt::MetaModifier) when the user clicked.\n    //!\n    //! \\sa marginSensitivity(), setMarginSensitivity()\n    void marginClicked(int margin, int line, Qt::KeyboardModifiers state);\n\n    //! This signal is emitted whenever the user right-clicks on a sensitive\n    //! margin.  \\a margin is the margin.  \\a line is the number of the line\n    //! where the user clicked.  \\a state is the state of the modifier keys\n    //! (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and\n    //! Qt::MetaModifier) when the user clicked.\n    //!\n    //! \\sa marginSensitivity(), setMarginSensitivity()\n    void marginRightClicked(int margin, int line, Qt::KeyboardModifiers state);\n\n    //! This signal is emitted whenever the user attempts to modify read-only\n    //! text.\n    //!\n    //! \\sa isReadOnly(), setReadOnly()\n    void modificationAttempted();\n\n    //! This signal is emitted whenever the modification state of the text\n    //! changes.  \\a m is true if the text has been modified.\n    //!\n    //! \\sa isModified(), setModified()\n    void modificationChanged(bool m);\n\n    //! This signal is emitted whenever the selection changes.\n    //!\n    //! \\sa copyAvailable()\n    void selectionChanged();\n\n    //! This signal is emitted whenever the text in the text edit changes.\n    void textChanged();\n\n    //! This signal is emitted when an item in a user defined list is activated\n    //! (selected).  \\a id is the list identifier.  \\a string is the text of\n    //! the item.\n    //!\n    //! \\sa showUserList()\n    void userListActivated(int id, const QString &string);\n\nprotected:\n    //! \\reimp\n    virtual bool event(QEvent *e);\n\n    //! \\reimp\n    virtual void changeEvent(QEvent *e);\n\n    //! \\reimp\n    virtual void contextMenuEvent(QContextMenuEvent *e);\n\n    virtual void contextUserDefineMenuEvent(QMenu* menu);\n\n    //! \\reimp\n    virtual void wheelEvent(QWheelEvent *e);\n\n\tvirtual void addHotSpot() {}\n\n    void setStylesFont(const QFont& f, int style);\n\nprivate slots:\n    void handleCallTipClick(int dir);\n    void handleCharAdded(int charadded);\n    void handleIndicatorClick(int pos, int modifiers);\n    void handleIndicatorRelease(int pos, int modifiers);\n    void handleMarginClick(int pos, int margin, int modifiers);\n    void handleMarginRightClick(int pos, int margin, int modifiers);\n    void handleModified(int pos, int mtype, const char *text, int len,\n            int added, int line, int foldNow, int foldPrev, int token,\n            int annotationLinesAdded);\n    void handlePropertyChange(const char *prop, const char *val);\n\n    void handleSavePointReached();\n    void handleSavePointLeft();\n    void handleSelectionChanged(bool yes);\n    void handleAutoCompletionSelection();\n    void handleUserListSelection(const char *text, int id);\n\n    void handleStyleColorChange(const QColor &c, int style);\n    void handleStyleEolFillChange(bool eolfill, int style);\n    void handleStyleFontChange(const QFont &f, int style);\n    void handleStylePaperChange(const QColor &c, int style);\n\n    void handleUpdateUI(int updated);\n\n    void delete_selection();\n\nprivate:\n    void detachLexer();\n\n    enum IndentState {\n        isNone,\n        isKeywordStart,\n        isBlockStart,\n        isBlockEnd\n    };\n\n    void maintainIndentation(char ch, long pos);\n    void autoIndentation(char ch, long pos);\n    void autoIndentLine(long pos, int line, int indent);\n    int blockIndent(int line);\n    IndentState getIndentState(int line);\n    bool rangeIsWhitespace(long spos, long epos);\n    int findStyledWord(const char *text, int style, const char *words);\n\n    void checkMarker(int &markerNumber);\n    void checkIndicator(int &indicatorNumber);\n    static void allocateId(int &id, unsigned &allocated, int min, int max);\n    int currentIndent() const;\n    int indentWidth() const;\n    bool doFind();\n    int simpleFind();\n    void foldClick(int lineClick, int bstate);\n    void foldChanged(int line, int levelNow, int levelPrev);\n    void foldExpand(int &line, bool doExpand, bool force = false,\n            int visLevels = 0, int level = -1);\n    void setFoldMarker(int marknr, int mark = SC_MARK_EMPTY);\n    void setLexerStyle(int style);\n \n    void setEnabledColors(int style, QColor &fore, QColor &back);\n\n    void braceMatch();\n    long checkBrace(long pos, int brace_style, bool &colonMode);\n    void gotoMatchingBrace(bool select);\n\n    void startAutoCompletion(AutoCompletionSource acs, bool checkThresh,\n            bool choose_single);\n\n    int adjustedCallTipPosition(int ctshift) const;\n    bool getSeparator(int &pos) const;\n    QString getWord(int &pos) const;\n    char getCharacter(int &pos) const;\n    bool isStartChar(char ch) const;\n\n    bool ensureRW();\n    void insertAtPos(const QString &text, int pos);\n    static int mapModifiers(int modifiers);\n\n    ScintillaBytes styleText(const QList<QsciStyledText> &styled_text,\n            char **styles, int style_offset = 0);\n\n    FindState findState;\n\n    unsigned allocatedMarkers;\n    unsigned allocatedIndicators;\n    int oldPos;\n\tint oldLine;\n    int ctPos;\n    bool selText;\n    FoldStyle fold;\n    int foldmargin;\n    bool autoInd;\n    BraceMatch braceMode;\n    AutoCompletionSource acSource;\n    int acThresh;\n    QStringList wseps;\n    const char *wchars;\n    CallTipsPosition call_tips_position;\n    CallTipsStyle call_tips_style;\n    int maxCallTips;\n    QStringList ct_entries;\n    int ct_cursor;\n    QList<int> ct_shifts;\n    AutoCompletionUseSingle use_single;\n    QPointer<QsciLexer> lex;\n    QsciCommandSet *stdCmds;\n    QsciDocument doc;\n    QColor nl_text_colour;\n    QColor nl_paper_colour;\n    QByteArray explicit_fillups;\n    bool fillups_enabled;\n\n\t//是否开启缩进\n\tbool isIndentGuide;\n\n\t//是否html高亮tag\n\tbool isHtmlHighLightTag;\n\n    // The following allow QsciListBoxQt to distinguish between an\n    // auto-completion list and a user list, and to return the full selection\n    // of an auto-completion list.\n    friend class QsciListBoxQt;\n\n    QString acSelection;\n    bool isAutoCompletionList() const;\n\n    void set_shortcut(QAction *action, QsciCommand::Command cmd_id) const;\n\n    QsciScintilla(const QsciScintilla &);\n    QsciScintilla &operator=(const QsciScintilla &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qsciscintillabase.h",
    "content": "﻿// This class defines the \"official\" low-level API.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCISCINTILLABASE_H\n#define QSCISCINTILLABASE_H\n\n#include <qglobal.h>\n\n#include <QAbstractScrollArea>\n#include <QByteArray>\n#include <QPoint>\n#include <QTimer>\n\n#include <Qsci/qsciglobal.h>\n\n\nQT_BEGIN_NAMESPACE\nclass QColor;\nclass QImage;\nclass QMimeData;\nclass QPainter;\nclass QPixmap;\nclass QUrl;\nQT_END_NAMESPACE\n\nclass QsciScintillaQt;\n\n//! \\brief The QsciScintillaBase class implements the Scintilla editor widget\n//! and its low-level API.\n//!\n//! Scintilla (http://www.scintilla.org) is a powerful C++ editor class that\n//! supports many features including syntax styling, error indicators, code\n//! completion and call tips. It is particularly useful as a programmer's\n//! editor.\n//!\n//! QsciScintillaBase is a port to Qt of Scintilla. It implements the standard\n//! Scintilla API which consists of a number of messages each taking up to\n//! two arguments.\n//!\n//! See QsciScintilla for the implementation of a higher level API that is more\n//! consistent with the rest of the Qt toolkit.\nclass QSCINTILLA_EXPORT QsciScintillaBase : public QAbstractScrollArea\n{\n    Q_OBJECT\n\npublic:\n    //! The low-level Scintilla API is implemented as a set of messages each of\n    //! which takes up to two parameters (\\a wParam and \\a lParam) and\n    //! optionally return a value. This enum defines all the possible messages.\n    enum\n    {\n        //!\n        SCI_START = 2000,\n\n        //!\n        SCI_OPTIONAL_START = 3000,\n\n        //!\n        SCI_LEXER_START = 4000,\n\n        //! This message appends some text to the end of the document.\n        //! \\a wParam is the length of the text.\n        //! \\a lParam is the text to be appended.\n        SCI_ADDTEXT = 2001,\n\n        //!\n        SCI_ADDSTYLEDTEXT = 2002,\n\n        //!\n        SCI_INSERTTEXT = 2003,\n\n        //!\n        SCI_CLEARALL = 2004,\n\n        //!\n        SCI_CLEARDOCUMENTSTYLE = 2005,\n\n        //!\n        SCI_GETLENGTH = 2006,\n\n        //!\n        SCI_GETCHARAT = 2007,\n\n        //! This message returns the current position.\n        //! \n        //! \\sa SCI_SETCURRENTPOS\n        SCI_GETCURRENTPOS = 2008,\n\n        //! This message returns the anchor.\n        //! \n        //! \\sa SCI_SETANCHOR\n        SCI_GETANCHOR = 2009,\n\n        //!\n        SCI_GETSTYLEAT = 2010,\n\n        //!\n        SCI_REDO = 2011,\n\n        //!\n        SCI_SETUNDOCOLLECTION = 2012,\n\n        //!\n        SCI_SELECTALL = 2013,\n\n        //! This message marks the current state of the text as the the save\n        //! point. This is usually done when the text is saved or loaded.\n        //! \n        //! \\sa SCN_SAVEPOINTREACHED(), SCN_SAVEPOINTLEFT()\n        SCI_SETSAVEPOINT = 2014,\n\n        //!\n        SCI_GETSTYLEDTEXT = 2015,\n\n        //!\n        SCI_CANREDO = 2016,\n\n        //! This message returns the line that contains a particular instance\n        //! of a marker.\n        //! \\a wParam is the handle of the marker.\n        //!\n        //! \\sa SCI_MARKERADD\n        SCI_MARKERLINEFROMHANDLE = 2017,\n\n        //! This message removes a particular instance of a marker.\n        //! \\a wParam is the handle of the marker.\n        //!\n        //! \\sa SCI_MARKERADD\n        SCI_MARKERDELETEHANDLE = 2018,\n\n        //!\n        SCI_GETUNDOCOLLECTION = 2019,\n\n        //!\n        SCI_GETVIEWWS = 2020,\n\n        //!\n        SCI_SETVIEWWS = 2021,\n\n        //!\n        SCI_POSITIONFROMPOINT = 2022,\n\n        //!\n        SCI_POSITIONFROMPOINTCLOSE = 2023,\n\n        //!\n        SCI_GOTOLINE = 2024,\n\n        //! This message clears the current selection and sets the current\n        //! position.\n        //! \\a wParam is the new current position.\n        //! \n        //! \\sa SCI_SETCURRENTPOS\n        SCI_GOTOPOS = 2025,\n\n        //! This message sets the anchor.\n        //! \\a wParam is the new anchor.\n        //! \n        //! \\sa SCI_GETANCHOR\n        SCI_SETANCHOR = 2026,\n\n        //!\n        SCI_GETCURLINE = 2027,\n\n        //! This message returns the character position of the start of the\n        //! text that needs to be syntax styled.\n        //! \n        //! \\sa SCN_STYLENEEDED()\n        SCI_GETENDSTYLED = 2028,\n\n        //!\n        SCI_CONVERTEOLS = 2029,\n\n        //!\n        SCI_GETEOLMODE = 2030,\n\n        //!\n        SCI_SETEOLMODE = 2031,\n\n        //!\n        SCI_STARTSTYLING = 2032,\n\n        //!\n        SCI_SETSTYLING = 2033,\n\n        //!\n        SCI_GETBUFFEREDDRAW = 2034,\n\n        //!\n        SCI_SETBUFFEREDDRAW = 2035,\n\n        //!\n        SCI_SETTABWIDTH = 2036,\n\n        //!\n        SCI_GETTABWIDTH = 2121,\n\n        //!\n        SCI_SETCODEPAGE = 2037,\n\n        //! This message sets the symbol used to draw one of 32 markers.  Some\n        //! markers have pre-defined uses, see the SC_MARKNUM_* values.\n        //! \\a wParam is the number of the marker.\n        //! \\a lParam is the marker symbol and is one of the SC_MARK_* values.\n        //!\n        //! \\sa SCI_MARKERADD, SCI_MARKERDEFINEPIXMAP,\n        //! SCI_MARKERDEFINERGBAIMAGE\n        SCI_MARKERDEFINE = 2040,\n\n        //! This message sets the foreground colour used to draw a marker.  A\n        //! colour is represented as a 24 bit value.  The 8 least significant\n        //! bits correspond to red, the middle 8 bits correspond to green, and\n        //! the 8 most significant bits correspond to blue.  The default value\n        //! is 0x000000.\n        //! \\a wParam is the number of the marker.\n        //! \\a lParam is the colour.\n        //!\n        //! \\sa SCI_MARKERSETBACK\n        SCI_MARKERSETFORE = 2041,\n\n        //! This message sets the background colour used to draw a marker.  A\n        //! colour is represented as a 24 bit value.  The 8 least significant\n        //! bits correspond to red, the middle 8 bits correspond to green, and\n        //! the 8 most significant bits correspond to blue.  The default value\n        //! is 0xffffff.\n        //! \\a wParam is the number of the marker.\n        //! \\a lParam is the colour.\n        //!\n        //! \\sa SCI_MARKERSETFORE\n        SCI_MARKERSETBACK = 2042,\n\n        //! This message adds a marker to a line.  A handle for the marker is\n        //! returned which can be used to track the marker's position.\n        //! \\a wParam is the line number.\n        //! \\a lParam is the number of the marker.\n        //!\n        //! \\sa SCI_MARKERDELETE, SCI_MARKERDELETEALL,\n        //! SCI_MARKERDELETEHANDLE\n        SCI_MARKERADD = 2043,\n\n        //! This message deletes a marker from a line.\n        //! \\a wParam is the line number.\n        //! \\a lParam is the number of the marker.\n        //!\n        //! \\sa SCI_MARKERADD, SCI_MARKERDELETEALL\n        SCI_MARKERDELETE = 2044,\n\n        //! This message deletes all occurences of a marker.\n        //! \\a wParam is the number of the marker.  If \\a wParam is -1 then all\n        //! markers are removed.\n        //!\n        //! \\sa SCI_MARKERADD, SCI_MARKERDELETE\n        SCI_MARKERDELETEALL = 2045,\n\n        //! This message returns the 32 bit mask of markers at a line.\n        //! \\a wParam is the line number.\n        SCI_MARKERGET = 2046,\n\n        //! This message looks for the next line to contain at least one marker\n        //! contained in a 32 bit mask of markers and returns the line number.\n        //! \\a wParam is the line number to start the search from.\n        //! \\a lParam is the mask of markers to search for.\n        //!\n        //! \\sa SCI_MARKERPREVIOUS\n        SCI_MARKERNEXT = 2047,\n\n        //! This message looks for the previous line to contain at least one\n        //! marker contained in a 32 bit mask of markers and returns the line\n        //! number.\n        //! \\a wParam is the line number to start the search from.\n        //! \\a lParam is the mask of markers to search for.\n        //!\n        //! \\sa SCI_MARKERNEXT\n        SCI_MARKERPREVIOUS = 2048,\n\n        //! This message sets the symbol used to draw one of the 32 markers to\n        //! a pixmap.  Pixmaps use the SC_MARK_PIXMAP marker symbol.\n        //! \\a wParam is the number of the marker.\n        //! \\a lParam is a pointer to a QPixmap instance.  Note that in other\n        //! ports of Scintilla this is a pointer to either raw or textual XPM\n        //! image data.\n        //!\n        //! \\sa SCI_MARKERDEFINE, SCI_MARKERDEFINERGBAIMAGE\n        SCI_MARKERDEFINEPIXMAP = 2049,\n\n        //! This message sets what can be displayed in a margin.\n        //! \\a wParam is the number of the margin.\n        //! \\a lParam is the logical or of the SC_MARGIN_* values.\n        //!\n        //! \\sa SCI_GETMARGINTYPEN\n        SCI_SETMARGINTYPEN = 2240,\n\n        //! This message returns what can be displayed in a margin.\n        //! \\a wParam is the number of the margin.\n        //!\n        //! \\sa SCI_SETMARGINTYPEN\n        SCI_GETMARGINTYPEN = 2241,\n\n        //! This message sets the width of a margin in pixels.\n        //! \\a wParam is the number of the margin.\n        //! \\a lParam is the new margin width.\n        //!\n        //! \\sa SCI_GETMARGINWIDTHN\n        SCI_SETMARGINWIDTHN = 2242,\n\n        //! This message returns the width of a margin in pixels.\n        //! \\a wParam is the number of the margin.\n        //!\n        //! \\sa SCI_SETMARGINWIDTHN\n        SCI_GETMARGINWIDTHN = 2243,\n\n        //! This message sets the mask of a margin.  The mask is a 32 value\n        //! with one bit for each possible marker.  If a bit is set then the\n        //! corresponding marker is displayed.  By default, all markers are\n        //! displayed.\n        //! \\a wParam is the number of the margin.\n        //! \\a lParam is the new margin mask.\n        //!\n        //! \\sa SCI_GETMARGINMASKN, SCI_MARKERDEFINE\n        SCI_SETMARGINMASKN = 2244,\n\n        //! This message returns the mask of a margin.\n        //! \\a wParam is the number of the margin.\n        //!\n        //! \\sa SCI_SETMARGINMASKN\n        SCI_GETMARGINMASKN = 2245,\n\n        //! This message sets the sensitivity of a margin to mouse clicks.\n        //! \\a wParam is the number of the margin.\n        //! \\a lParam is non-zero to make the margin sensitive to mouse clicks.\n        //! When the mouse is clicked the SCN_MARGINCLICK() signal is emitted.\n        //!\n        //! \\sa SCI_GETMARGINSENSITIVEN, SCN_MARGINCLICK()\n        SCI_SETMARGINSENSITIVEN = 2246,\n\n        //! This message returns the sensitivity of a margin to mouse clicks.\n        //! \\a wParam is the number of the margin.\n        //!\n        //! \\sa SCI_SETMARGINSENSITIVEN, SCN_MARGINCLICK()\n        SCI_GETMARGINSENSITIVEN = 2247,\n\n        //! This message sets the cursor shape displayed over a margin.\n        //! \\a wParam is the number of the margin.\n        //! \\a lParam is the cursor shape, normally either SC_CURSORARROW or\n        //! SC_CURSORREVERSEARROW.  Note that, currently, QScintilla implements\n        //! both of these as Qt::ArrowCursor.\n        //!\n        //! \\sa SCI_GETMARGINCURSORN\n        SCI_SETMARGINCURSORN = 2248,\n\n        //! This message returns the cursor shape displayed over a margin.\n        //! \\a wParam is the number of the margin.\n        //!\n        //! \\sa SCI_SETMARGINCURSORN\n        SCI_GETMARGINCURSORN = 2249,\n\n        //!\n        SCI_STYLECLEARALL = 2050,\n\n        //!\n        SCI_STYLESETFORE = 2051,\n\n        //!\n        SCI_STYLESETBACK = 2052,\n\n        //!\n        SCI_STYLESETBOLD = 2053,\n\n        //!\n        SCI_STYLESETITALIC = 2054,\n\n        //!\n        SCI_STYLESETSIZE = 2055,\n\n        //!\n        SCI_STYLESETFONT = 2056,\n\n        //!\n        SCI_STYLESETEOLFILLED = 2057,\n\n        //!\n        SCI_STYLERESETDEFAULT = 2058,\n\n        //!\n        SCI_STYLESETUNDERLINE = 2059,\n\n        //!\n        SCI_STYLESETCASE = 2060,\n\n        //!\n        SCI_STYLESETSIZEFRACTIONAL = 2061,\n\n        //!\n        SCI_STYLEGETSIZEFRACTIONAL = 2062,\n\n        //!\n        SCI_STYLESETWEIGHT = 2063,\n\n        //!\n        SCI_STYLEGETWEIGHT = 2064,\n\n        //!\n        SCI_STYLESETCHARACTERSET = 2066,\n\n        //!\n        SCI_SETSELFORE = 2067,\n\n        //!\n        SCI_SETSELBACK = 2068,\n\n        //!\n        SCI_SETCARETFORE = 2069,\n\n        //!\n        SCI_ASSIGNCMDKEY = 2070,\n\n        //!\n        SCI_CLEARCMDKEY = 2071,\n\n        //!\n        SCI_CLEARALLCMDKEYS = 2072,\n\n        //!\n        SCI_SETSTYLINGEX = 2073,\n\n        //!\n        SCI_STYLESETVISIBLE = 2074,\n\n        //!\n        SCI_GETCARETPERIOD = 2075,\n\n        //!\n        SCI_SETCARETPERIOD = 2076,\n\n        //!\n        SCI_SETWORDCHARS = 2077,\n\n        //!\n        SCI_BEGINUNDOACTION = 2078,\n\n        //!\n        SCI_ENDUNDOACTION = 2079,\n\n        //!\n        SCI_INDICSETSTYLE = 2080,\n\n        //!\n        SCI_INDICGETSTYLE = 2081,\n\n        //!\n        SCI_INDICSETFORE = 2082,\n\n        //!\n        SCI_INDICGETFORE = 2083,\n\n        //!\n        SCI_SETWHITESPACEFORE = 2084,\n\n        //!\n        SCI_SETWHITESPACEBACK = 2085,\n\n        //!\n        SCI_SETWHITESPACESIZE = 2086,\n\n        //!\n        SCI_GETWHITESPACESIZE = 2087,\n\n        //!\n        SCI_SETSTYLEBITS = 2090,\n\n        //!\n        SCI_GETSTYLEBITS = 2091,\n\n        //!\n        SCI_SETLINESTATE = 2092,\n\n        //!\n        SCI_GETLINESTATE = 2093,\n\n        //!\n        SCI_GETMAXLINESTATE = 2094,\n\n        //!\n        SCI_GETCARETLINEVISIBLE = 2095,\n\n        //!\n        SCI_SETCARETLINEVISIBLE = 2096,\n\n        //!\n        SCI_GETCARETLINEBACK = 2097,\n\n        //!\n        SCI_SETCARETLINEBACK = 2098,\n\n        //!\n        SCI_STYLESETCHANGEABLE = 2099,\n\n        //!\n        SCI_AUTOCSHOW = 2100,\n\n        //!\n        SCI_AUTOCCANCEL = 2101,\n\n        //!\n        SCI_AUTOCACTIVE = 2102,\n\n        //!\n        SCI_AUTOCPOSSTART = 2103,\n\n        //!\n        SCI_AUTOCCOMPLETE = 2104,\n\n        //!\n        SCI_AUTOCSTOPS = 2105,\n\n        //!\n        SCI_AUTOCSETSEPARATOR = 2106,\n\n        //!\n        SCI_AUTOCGETSEPARATOR = 2107,\n\n        //!\n        SCI_AUTOCSELECT = 2108,\n\n        //!\n        SCI_AUTOCSETCANCELATSTART = 2110,\n\n        //!\n        SCI_AUTOCGETCANCELATSTART = 2111,\n\n        //!\n        SCI_AUTOCSETFILLUPS = 2112,\n\n        //!\n        SCI_AUTOCSETCHOOSESINGLE = 2113,\n\n        //!\n        SCI_AUTOCGETCHOOSESINGLE = 2114,\n\n        //!\n        SCI_AUTOCSETIGNORECASE = 2115,\n\n        //!\n        SCI_AUTOCGETIGNORECASE = 2116,\n\n        //!\n        SCI_USERLISTSHOW = 2117,\n\n        //!\n        SCI_AUTOCSETAUTOHIDE = 2118,\n\n        //!\n        SCI_AUTOCGETAUTOHIDE = 2119,\n\n        //!\n        SCI_AUTOCSETDROPRESTOFWORD = 2270,\n\n        //!\n        SCI_AUTOCGETDROPRESTOFWORD = 2271,\n\n        //!\n        SCI_SETINDENT = 2122,\n\n        //!\n        SCI_GETINDENT = 2123,\n\n        //!\n        SCI_SETUSETABS = 2124,\n\n        //!\n        SCI_GETUSETABS = 2125,\n\n        //!\n        SCI_SETLINEINDENTATION = 2126,\n\n        //!\n        SCI_GETLINEINDENTATION = 2127,\n\n        //!\n        SCI_GETLINEINDENTPOSITION = 2128,\n\n        //!\n        SCI_GETCOLUMN = 2129,\n\n        //!\n        SCI_SETHSCROLLBAR = 2130,\n\n        //!\n        SCI_GETHSCROLLBAR = 2131,\n\n        //!\n        SCI_SETINDENTATIONGUIDES = 2132,\n\n        //!\n        SCI_GETINDENTATIONGUIDES = 2133,\n\n        //!\n        SCI_SETHIGHLIGHTGUIDE = 2134,\n\n        //!\n        SCI_GETHIGHLIGHTGUIDE = 2135,\n\n        //!\n        SCI_GETLINEENDPOSITION = 2136,\n\n        //!\n        SCI_GETCODEPAGE = 2137,\n\n        //!\n        SCI_GETCARETFORE = 2138,\n\n        //! This message returns a non-zero value if the document is read-only.\n        //! \n        //! \\sa SCI_SETREADONLY\n        SCI_GETREADONLY = 2140,\n\n        //! This message sets the current position.\n        //! \\a wParam is the new current position.\n        //! \n        //! \\sa SCI_GETCURRENTPOS\n        SCI_SETCURRENTPOS = 2141,\n\n        //!\n        SCI_SETSELECTIONSTART = 2142,\n\n        //!\n        SCI_GETSELECTIONSTART = 2143,\n\n        //!\n        SCI_SETSELECTIONEND = 2144,\n\n        //!\n        SCI_GETSELECTIONEND = 2145,\n\n        //!\n        SCI_SETPRINTMAGNIFICATION = 2146,\n\n        //!\n        SCI_GETPRINTMAGNIFICATION = 2147,\n\n        //!\n        SCI_SETPRINTCOLOURMODE = 2148,\n\n        //!\n        SCI_GETPRINTCOLOURMODE = 2149,\n\n        //!\n        SCI_FINDTEXT = 2150,\n\n        //!\n        SCI_FORMATRANGE = 2151,\n\n        //!\n        SCI_GETFIRSTVISIBLELINE = 2152,\n\n        //!\n        SCI_GETLINE = 2153,\n\n        //!\n        SCI_GETLINECOUNT = 2154,\n\n        //!\n        SCI_SETMARGINLEFT = 2155,\n\n        //!\n        SCI_GETMARGINLEFT = 2156,\n\n        //!\n        SCI_SETMARGINRIGHT = 2157,\n\n        //!\n        SCI_GETMARGINRIGHT = 2158,\n\n        //! This message returns a non-zero value if the document has been\n        //! modified.\n        SCI_GETMODIFY = 2159,\n\n        //!\n        SCI_SETSEL = 2160,\n\n        //!\n        SCI_GETSELTEXT = 2161,\n\n        //!\n        SCI_GETTEXTRANGE = 2162,\n\n        //!\n        SCI_HIDESELECTION = 2163,\n\n        //!\n        SCI_POINTXFROMPOSITION = 2164,\n\n        //!\n        SCI_POINTYFROMPOSITION = 2165,\n\n        //!\n        SCI_LINEFROMPOSITION = 2166,\n\n        //!\n        SCI_POSITIONFROMLINE = 2167,\n\n        //!\n        SCI_LINESCROLL = 2168,\n\n        //!\n        SCI_SCROLLCARET = 2169,\n\n        //!\n        SCI_REPLACESEL = 2170,\n\n        //! This message sets the read-only state of the document.\n        //! \\a wParam is the new read-only state of the document.\n        //! \n        //! \\sa SCI_GETREADONLY\n        SCI_SETREADONLY = 2171,\n\n        //!\n        SCI_NULL = 2172,\n\n        //!\n        SCI_CANPASTE = 2173,\n\n        //!\n        SCI_CANUNDO = 2174,\n\n        //! This message empties the undo buffer.\n        SCI_EMPTYUNDOBUFFER = 2175,\n\n        //!\n        SCI_UNDO = 2176,\n\n        //!\n        SCI_CUT = 2177,\n\n        //!\n        SCI_COPY = 2178,\n\n        //!\n        SCI_PASTE = 2179,\n\n        //!\n        SCI_CLEAR = 2180,\n\n        //! This message sets the text of the document.\n        //! \\a wParam is unused.\n        //! \\a lParam is the new text of the document.\n        //! \n        //! \\sa SCI_GETTEXT\n        SCI_SETTEXT = 2181,\n\n        //! This message gets the text of the document.\n        //! \\a wParam is size of the buffer that the text is copied to.\n        //! \\a lParam is the address of the buffer that the text is copied to.\n        //! \n        //! \\sa SCI_SETTEXT\n        SCI_GETTEXT = 2182,\n\n        //! This message returns the length of the document.\n        SCI_GETTEXTLENGTH = 2183,\n\n        //!\n        SCI_GETDIRECTFUNCTION = 2184,\n\n        //!\n        SCI_GETDIRECTPOINTER = 2185,\n\n        //!\n        SCI_SETOVERTYPE = 2186,\n\n        //!\n        SCI_GETOVERTYPE = 2187,\n\n        //!\n        SCI_SETCARETWIDTH = 2188,\n\n        //!\n        SCI_GETCARETWIDTH = 2189,\n\n        //!\n        SCI_SETTARGETSTART = 2190,\n\n        //!\n        SCI_GETTARGETSTART = 2191,\n\n        //!\n        SCI_SETTARGETEND = 2192,\n\n        //!\n        SCI_GETTARGETEND = 2193,\n\n        //!\n        SCI_REPLACETARGET = 2194,\n\n        //!\n        SCI_REPLACETARGETRE = 2195,\n\n        //!\n        SCI_SEARCHINTARGET = 2197,\n\n        //!\n        SCI_SETSEARCHFLAGS = 2198,\n\n        //!\n        SCI_GETSEARCHFLAGS = 2199,\n\n        //!\n        SCI_CALLTIPSHOW = 2200,\n\n        //!\n        SCI_CALLTIPCANCEL = 2201,\n\n        //!\n        SCI_CALLTIPACTIVE = 2202,\n\n        //!\n        SCI_CALLTIPPOSSTART = 2203,\n\n        //!\n        SCI_CALLTIPSETHLT = 2204,\n\n        //!\n        SCI_CALLTIPSETBACK = 2205,\n\n        //!\n        SCI_CALLTIPSETFORE = 2206,\n\n        //!\n        SCI_CALLTIPSETFOREHLT = 2207,\n\n        //!\n        SCI_AUTOCSETMAXWIDTH = 2208,\n\n        //!\n        SCI_AUTOCGETMAXWIDTH = 2209,\n\n        //! This message is not implemented.\n        SCI_AUTOCSETMAXHEIGHT = 2210,\n\n        //!\n        SCI_AUTOCGETMAXHEIGHT = 2211,\n\n        //!\n        SCI_CALLTIPUSESTYLE = 2212,\n\n        //!\n        SCI_CALLTIPSETPOSITION = 2213,\n\n        //!\n        SCI_CALLTIPSETPOSSTART = 2214,\n\n        //!\n        SCI_VISIBLEFROMDOCLINE = 2220,\n\n        //!\n        SCI_DOCLINEFROMVISIBLE = 2221,\n\n        //!\n        SCI_SETFOLDLEVEL = 2222,\n\n        //!\n        SCI_GETFOLDLEVEL = 2223,\n\n        //!\n        SCI_GETLASTCHILD = 2224,\n\n        //!\n        SCI_GETFOLDPARENT = 2225,\n\n        //!\n        SCI_SHOWLINES = 2226,\n\n        //!\n        SCI_HIDELINES = 2227,\n\n        //!\n        SCI_GETLINEVISIBLE = 2228,\n\n        //!\n        SCI_SETFOLDEXPANDED = 2229,\n\n        //!\n        SCI_GETFOLDEXPANDED = 2230,\n\n        //!\n        SCI_TOGGLEFOLD = 2231,\n\n        //!\n        SCI_ENSUREVISIBLE = 2232,\n\n        //!\n        SCI_SETFOLDFLAGS = 2233,\n\n        //!\n        SCI_ENSUREVISIBLEENFORCEPOLICY = 2234,\n\n        //!\n        SCI_WRAPCOUNT = 2235,\n\n        //!\n        SCI_GETALLLINESVISIBLE = 2236,\n\n        //!\n        SCI_FOLDLINE = 2237,\n\n        //!\n        SCI_FOLDCHILDREN = 2238,\n\n        //!\n        SCI_EXPANDCHILDREN = 2239,\n\n        //!\n        SCI_SETMARGINBACKN = 2250,\n\n        //!\n        SCI_GETMARGINBACKN = 2251,\n\n        //!\n        SCI_SETMARGINS = 2252,\n\n        //!\n        SCI_GETMARGINS = 2253,\n\n        //!\n        SCI_SETTABINDENTS = 2260,\n\n        //!\n        SCI_GETTABINDENTS = 2261,\n\n        //!\n        SCI_SETBACKSPACEUNINDENTS = 2262,\n\n        //!\n        SCI_GETBACKSPACEUNINDENTS = 2263,\n\n        //!\n        SCI_SETMOUSEDWELLTIME = 2264,\n\n        //!\n        SCI_GETMOUSEDWELLTIME = 2265,\n\n        //!\n        SCI_WORDSTARTPOSITION = 2266,\n\n        //!\n        SCI_WORDENDPOSITION = 2267,\n\n        //!\n        SCI_SETWRAPMODE = 2268,\n\n        //!\n        SCI_GETWRAPMODE = 2269,\n\n        //!\n        SCI_SETLAYOUTCACHE = 2272,\n\n        //!\n        SCI_GETLAYOUTCACHE = 2273,\n\n        //!\n        SCI_SETSCROLLWIDTH = 2274,\n\n        //!\n        SCI_GETSCROLLWIDTH = 2275,\n\n        //! This message returns the width of some text when rendered in a\n        //! particular style.\n        //! \\a wParam is the style number and is one of the STYLE_* values or\n        //! one of the styles defined by a lexer.\n        //! \\a lParam is a pointer to the text.\n        SCI_TEXTWIDTH = 2276,\n\n        //!\n        SCI_SETENDATLASTLINE = 2277,\n\n        //!\n        SCI_GETENDATLASTLINE = 2278,\n\n        //!\n        SCI_TEXTHEIGHT = 2279,\n\n        //!\n        SCI_SETVSCROLLBAR = 2280,\n\n        //!\n        SCI_GETVSCROLLBAR = 2281,\n\n        //!\n        SCI_APPENDTEXT = 2282,\n\n        //!\n        SCI_GETTWOPHASEDRAW = 2283,\n\n        //!\n        SCI_SETTWOPHASEDRAW = 2284,\n\n        //!\n        SCI_AUTOCGETTYPESEPARATOR = 2285,\n\n        //!\n        SCI_AUTOCSETTYPESEPARATOR = 2286,\n\n        //!\n        SCI_TARGETFROMSELECTION = 2287,\n\n        //!\n        SCI_LINESJOIN = 2288,\n\n        //!\n        SCI_LINESSPLIT = 2289,\n\n        //!\n        SCI_SETFOLDMARGINCOLOUR = 2290,\n\n        //!\n        SCI_SETFOLDMARGINHICOLOUR = 2291,\n\n        //!\n        SCI_MARKERSETBACKSELECTED = 2292,\n\n        //!\n        SCI_MARKERENABLEHIGHLIGHT = 2293,\n\n        //!\n        SCI_LINEDOWN = 2300,\n\n        //!\n        SCI_LINEDOWNEXTEND = 2301,\n\n        //!\n        SCI_LINEUP = 2302,\n\n        //!\n        SCI_LINEUPEXTEND = 2303,\n\n        //!\n        SCI_CHARLEFT = 2304,\n\n        //!\n        SCI_CHARLEFTEXTEND = 2305,\n\n        //!\n        SCI_CHARRIGHT = 2306,\n\n        //!\n        SCI_CHARRIGHTEXTEND = 2307,\n\n        //!\n        SCI_WORDLEFT = 2308,\n\n        //!\n        SCI_WORDLEFTEXTEND = 2309,\n\n        //!\n        SCI_WORDRIGHT = 2310,\n\n        //!\n        SCI_WORDRIGHTEXTEND = 2311,\n\n        //!\n        SCI_HOME = 2312,\n\n        //!\n        SCI_HOMEEXTEND = 2313,\n\n        //!\n        SCI_LINEEND = 2314,\n\n        //!\n        SCI_LINEENDEXTEND = 2315,\n\n        //!\n        SCI_DOCUMENTSTART = 2316,\n\n        //!\n        SCI_DOCUMENTSTARTEXTEND = 2317,\n\n        //!\n        SCI_DOCUMENTEND = 2318,\n\n        //!\n        SCI_DOCUMENTENDEXTEND = 2319,\n\n        //!\n        SCI_PAGEUP = 2320,\n\n        //!\n        SCI_PAGEUPEXTEND = 2321,\n\n        //!\n        SCI_PAGEDOWN = 2322,\n\n        //!\n        SCI_PAGEDOWNEXTEND = 2323,\n\n        //!\n        SCI_EDITTOGGLEOVERTYPE = 2324,\n\n        //!\n        SCI_CANCEL = 2325,\n\n        //!\n        SCI_DELETEBACK = 2326,\n\n        //!\n        SCI_TAB = 2327,\n\n        //!\n        SCI_BACKTAB = 2328,\n\n        //!\n        SCI_NEWLINE = 2329,\n\n        //!\n        SCI_FORMFEED = 2330,\n\n        //!\n        SCI_VCHOME = 2331,\n\n        //!\n        SCI_VCHOMEEXTEND = 2332,\n\n        //!\n        SCI_ZOOMIN = 2333,\n\n        //!\n        SCI_ZOOMOUT = 2334,\n\n        //!\n        SCI_DELWORDLEFT = 2335,\n\n        //!\n        SCI_DELWORDRIGHT = 2336,\n\n        //!\n        SCI_LINECUT = 2337,\n\n        //!\n        SCI_LINEDELETE = 2338,\n\n        //!\n        SCI_LINETRANSPOSE = 2339,\n\n        //!\n        SCI_LOWERCASE = 2340,\n\n        //!\n        SCI_UPPERCASE = 2341,\n\n        //!\n        SCI_LINESCROLLDOWN = 2342,\n\n        //!\n        SCI_LINESCROLLUP = 2343,\n\n        //!\n        SCI_DELETEBACKNOTLINE = 2344,\n\n        //!\n        SCI_HOMEDISPLAY = 2345,\n\n        //!\n        SCI_HOMEDISPLAYEXTEND = 2346,\n\n        //!\n        SCI_LINEENDDISPLAY = 2347,\n\n        //!\n        SCI_LINEENDDISPLAYEXTEND = 2348,\n\n        //!\n        SCI_MOVECARETINSIDEVIEW = 2401,\n\n        //!\n        SCI_LINELENGTH = 2350,\n\n        //!\n        SCI_BRACEHIGHLIGHT = 2351,\n\n        //!\n        SCI_BRACEBADLIGHT = 2352,\n\n        //!\n        SCI_BRACEMATCH = 2353,\n\n        //!\n        SCI_LINEREVERSE = 2354,\n\n        //!\n        SCI_GETVIEWEOL = 2355,\n\n        //!\n        SCI_SETVIEWEOL = 2356,\n\n        //!\n        SCI_GETDOCPOINTER = 2357,\n\n        //!\n        SCI_SETDOCPOINTER = 2358,\n\n        //!\n        SCI_SETMODEVENTMASK = 2359,\n\n        //!\n        SCI_GETEDGECOLUMN = 2360,\n\n        //!\n        SCI_SETEDGECOLUMN = 2361,\n\n        //!\n        SCI_GETEDGEMODE = 2362,\n\n        //!\n        SCI_SETEDGEMODE = 2363,\n\n        //!\n        SCI_GETEDGECOLOUR = 2364,\n\n        //!\n        SCI_SETEDGECOLOUR = 2365,\n\n        //!\n        SCI_SEARCHANCHOR = 2366,\n\n        //!\n        SCI_SEARCHNEXT = 2367,\n\n        //!\n        SCI_SEARCHPREV = 2368,\n\n        //!\n        SCI_LINESONSCREEN = 2370,\n\n        //!\n        SCI_USEPOPUP = 2371,\n\n        //!\n        SCI_SELECTIONISRECTANGLE = 2372,\n\n        //!\n        SCI_SETZOOM = 2373,\n\n        //!\n        SCI_GETZOOM = 2374,\n\n        //!\n        SCI_CREATEDOCUMENT = 2375,\n\n        //!\n        SCI_ADDREFDOCUMENT = 2376,\n\n        //!\n        SCI_RELEASEDOCUMENT = 2377,\n\n        //!\n        SCI_GETMODEVENTMASK = 2378,\n\n        //!\n        SCI_SETFOCUS = 2380,\n\n        //!\n        SCI_GETFOCUS = 2381,\n\n        //!\n        SCI_SETSTATUS = 2382,\n\n        //!\n        SCI_GETSTATUS = 2383,\n\n        //!\n        SCI_SETMOUSEDOWNCAPTURES = 2384,\n\n        //!\n        SCI_GETMOUSEDOWNCAPTURES = 2385,\n\n        //!\n        SCI_SETCURSOR = 2386,\n\n        //!\n        SCI_GETCURSOR = 2387,\n\n        //!\n        SCI_SETCONTROLCHARSYMBOL = 2388,\n\n        //!\n        SCI_GETCONTROLCHARSYMBOL = 2389,\n\n        //!\n        SCI_WORDPARTLEFT = 2390,\n\n        //!\n        SCI_WORDPARTLEFTEXTEND = 2391,\n\n        //!\n        SCI_WORDPARTRIGHT = 2392,\n\n        //!\n        SCI_WORDPARTRIGHTEXTEND = 2393,\n\n        //!\n        SCI_SETVISIBLEPOLICY = 2394,\n\n        //!\n        SCI_DELLINELEFT = 2395,\n\n        //!\n        SCI_DELLINERIGHT = 2396,\n\n        //!\n        SCI_SETXOFFSET = 2397,\n\n        //!\n        SCI_GETXOFFSET = 2398,\n\n        //!\n        SCI_CHOOSECARETX = 2399,\n\n        //!\n        SCI_GRABFOCUS = 2400,\n\n        //!\n        SCI_SETXCARETPOLICY = 2402,\n\n        //!\n        SCI_SETYCARETPOLICY = 2403,\n\n        //!\n        SCI_LINEDUPLICATE = 2404,\n\n        //! This message takes a copy of an image and registers it so that it\n        //! can be refered to by a unique integer identifier.\n        //! \\a wParam is the image's identifier.\n        //! \\a lParam is a pointer to a QPixmap instance.  Note that in other\n        //! ports of Scintilla this is a pointer to either raw or textual XPM\n        //! image data.\n        //!\n        //! \\sa SCI_CLEARREGISTEREDIMAGES, SCI_REGISTERRGBAIMAGE\n        SCI_REGISTERIMAGE = 2405,\n\n        //!\n        SCI_SETPRINTWRAPMODE = 2406,\n\n        //!\n        SCI_GETPRINTWRAPMODE = 2407,\n\n        //! This message de-registers all currently registered images.\n        //!\n        //! \\sa SCI_REGISTERIMAGE, SCI_REGISTERRGBAIMAGE\n        SCI_CLEARREGISTEREDIMAGES = 2408,\n\n        //!\n        SCI_STYLESETHOTSPOT = 2409,\n\n        //!\n        SCI_SETHOTSPOTACTIVEFORE = 2410,\n\n        //!\n        SCI_SETHOTSPOTACTIVEBACK = 2411,\n\n        //!\n        SCI_SETHOTSPOTACTIVEUNDERLINE = 2412,\n\n        //!\n        SCI_PARADOWN = 2413,\n\n        //!\n        SCI_PARADOWNEXTEND = 2414,\n\n        //!\n        SCI_PARAUP = 2415,\n\n        //!\n        SCI_PARAUPEXTEND = 2416,\n\n        //!\n        SCI_POSITIONBEFORE = 2417,\n\n        //!\n        SCI_POSITIONAFTER = 2418,\n\n        //!\n        SCI_COPYRANGE = 2419,\n\n        //!\n        SCI_COPYTEXT = 2420,\n\n        //!\n        SCI_SETHOTSPOTSINGLELINE = 2421,\n\n        //!\n        SCI_SETSELECTIONMODE = 2422,\n\n        //!\n        SCI_GETSELECTIONMODE = 2423,\n\n        //!\n        SCI_GETLINESELSTARTPOSITION = 2424,\n\n        //!\n        SCI_GETLINESELENDPOSITION = 2425,\n\n        //!\n        SCI_LINEDOWNRECTEXTEND = 2426,\n\n        //!\n        SCI_LINEUPRECTEXTEND = 2427,\n\n        //!\n        SCI_CHARLEFTRECTEXTEND = 2428,\n\n        //!\n        SCI_CHARRIGHTRECTEXTEND = 2429,\n\n        //!\n        SCI_HOMERECTEXTEND = 2430,\n\n        //!\n        SCI_VCHOMERECTEXTEND = 2431,\n\n        //!\n        SCI_LINEENDRECTEXTEND = 2432,\n\n        //!\n        SCI_PAGEUPRECTEXTEND = 2433,\n\n        //!\n        SCI_PAGEDOWNRECTEXTEND = 2434,\n\n        //!\n        SCI_STUTTEREDPAGEUP = 2435,\n\n        //!\n        SCI_STUTTEREDPAGEUPEXTEND = 2436,\n\n        //!\n        SCI_STUTTEREDPAGEDOWN = 2437,\n\n        //!\n        SCI_STUTTEREDPAGEDOWNEXTEND = 2438,\n\n        //!\n        SCI_WORDLEFTEND = 2439,\n\n        //!\n        SCI_WORDLEFTENDEXTEND = 2440,\n\n        //!\n        SCI_WORDRIGHTEND = 2441,\n\n        //!\n        SCI_WORDRIGHTENDEXTEND = 2442,\n\n        //!\n        SCI_SETWHITESPACECHARS = 2443,\n\n        //!\n        SCI_SETCHARSDEFAULT = 2444,\n\n        //!\n        SCI_AUTOCGETCURRENT = 2445,\n\n        //!\n        SCI_ALLOCATE = 2446,\n\n        //!\n        SCI_HOMEWRAP = 2349,\n\n        //!\n        SCI_HOMEWRAPEXTEND = 2450,\n\n        //!\n        SCI_LINEENDWRAP = 2451,\n\n        //!\n        SCI_LINEENDWRAPEXTEND = 2452,\n\n        //!\n        SCI_VCHOMEWRAP = 2453,\n\n        //!\n        SCI_VCHOMEWRAPEXTEND = 2454,\n\n        //!\n        SCI_LINECOPY = 2455,\n\n        //!\n        SCI_FINDCOLUMN = 2456,\n\n        //!\n        SCI_GETCARETSTICKY = 2457,\n\n        //!\n        SCI_SETCARETSTICKY = 2458,\n\n        //!\n        SCI_TOGGLECARETSTICKY = 2459,\n\n        //!\n        SCI_SETWRAPVISUALFLAGS = 2460,\n\n        //!\n        SCI_GETWRAPVISUALFLAGS = 2461,\n\n        //!\n        SCI_SETWRAPVISUALFLAGSLOCATION = 2462,\n\n        //!\n        SCI_GETWRAPVISUALFLAGSLOCATION = 2463,\n\n        //!\n        SCI_SETWRAPSTARTINDENT = 2464,\n\n        //!\n        SCI_GETWRAPSTARTINDENT = 2465,\n\n        //!\n        SCI_MARKERADDSET = 2466,\n\n        //!\n        SCI_SETPASTECONVERTENDINGS = 2467,\n\n        //!\n        SCI_GETPASTECONVERTENDINGS = 2468,\n\n        //!\n        SCI_SELECTIONDUPLICATE = 2469,\n\n        //!\n        SCI_SETCARETLINEBACKALPHA = 2470,\n\n        //!\n        SCI_GETCARETLINEBACKALPHA = 2471,\n\n        //!\n        SCI_SETWRAPINDENTMODE = 2472,\n\n        //!\n        SCI_GETWRAPINDENTMODE = 2473,\n\n        //!\n        SCI_MARKERSETALPHA = 2476,\n\n        //!\n        SCI_GETSELALPHA = 2477,\n\n        //!\n        SCI_SETSELALPHA = 2478,\n\n        //!\n        SCI_GETSELEOLFILLED = 2479,\n\n        //!\n        SCI_SETSELEOLFILLED = 2480,\n\n        //!\n        SCI_STYLEGETFORE = 2481,\n\n        //!\n        SCI_STYLEGETBACK = 2482,\n\n        //!\n        SCI_STYLEGETBOLD = 2483,\n\n        //!\n        SCI_STYLEGETITALIC = 2484,\n\n        //!\n        SCI_STYLEGETSIZE = 2485,\n\n        //!\n        SCI_STYLEGETFONT = 2486,\n\n        //!\n        SCI_STYLEGETEOLFILLED = 2487,\n\n        //!\n        SCI_STYLEGETUNDERLINE = 2488,\n\n        //!\n        SCI_STYLEGETCASE = 2489,\n\n        //!\n        SCI_STYLEGETCHARACTERSET = 2490,\n\n        //!\n        SCI_STYLEGETVISIBLE = 2491,\n\n        //!\n        SCI_STYLEGETCHANGEABLE = 2492,\n\n        //!\n        SCI_STYLEGETHOTSPOT = 2493,\n\n        //!\n        SCI_GETHOTSPOTACTIVEFORE = 2494,\n\n        //!\n        SCI_GETHOTSPOTACTIVEBACK = 2495,\n\n        //!\n        SCI_GETHOTSPOTACTIVEUNDERLINE = 2496,\n\n        //!\n        SCI_GETHOTSPOTSINGLELINE = 2497,\n\n        //!\n        SCI_BRACEHIGHLIGHTINDICATOR = 2498,\n\n        //!\n        SCI_BRACEBADLIGHTINDICATOR = 2499,\n\n        //!\n        SCI_SETINDICATORCURRENT = 2500,\n\n        //!\n        SCI_GETINDICATORCURRENT = 2501,\n\n        //!\n        SCI_SETINDICATORVALUE = 2502,\n\n        //!\n        SCI_GETINDICATORVALUE = 2503,\n\n        //!\n        SCI_INDICATORFILLRANGE = 2504,\n\n        //!\n        SCI_INDICATORCLEARRANGE = 2505,\n\n        //!\n        SCI_INDICATORALLONFOR = 2506,\n\n        //!\n        SCI_INDICATORVALUEAT = 2507,\n\n        //!\n        SCI_INDICATORSTART = 2508,\n\n        //!\n        SCI_INDICATOREND = 2509,\n\n        //!\n        SCI_INDICSETUNDER = 2510,\n\n        //!\n        SCI_INDICGETUNDER = 2511,\n\n        //!\n        SCI_SETCARETSTYLE = 2512,\n\n        //!\n        SCI_GETCARETSTYLE = 2513,\n\n        //!\n        SCI_SETPOSITIONCACHE = 2514,\n\n        //!\n        SCI_GETPOSITIONCACHE = 2515,\n\n        //!\n        SCI_SETSCROLLWIDTHTRACKING = 2516,\n\n        //!\n        SCI_GETSCROLLWIDTHTRACKING = 2517,\n\n        //!\n        SCI_DELWORDRIGHTEND = 2518,\n\n        //! This message copies the selection.  If the selection is empty then\n        //! copy the line with the caret.\n        SCI_COPYALLOWLINE = 2519,\n\n        //! This message returns a pointer to the document text.  Any\n        //! subsequent message will invalidate the pointer.\n        SCI_GETCHARACTERPOINTER = 2520,\n\n        //!\n        SCI_INDICSETALPHA = 2523,\n\n        //!\n        SCI_INDICGETALPHA = 2524,\n\n        //!\n        SCI_SETEXTRAASCENT = 2525,\n\n        //!\n        SCI_GETEXTRAASCENT = 2526,\n\n        //!\n        SCI_SETEXTRADESCENT = 2527,\n\n        //!\n        SCI_GETEXTRADESCENT = 2528,\n\n        //!\n        SCI_MARKERSYMBOLDEFINED = 2529,\n\n        //!\n        SCI_MARGINSETTEXT = 2530,\n\n        //!\n        SCI_MARGINGETTEXT = 2531,\n\n        //!\n        SCI_MARGINSETSTYLE = 2532,\n\n        //!\n        SCI_MARGINGETSTYLE = 2533,\n\n        //!\n        SCI_MARGINSETSTYLES = 2534,\n\n        //!\n        SCI_MARGINGETSTYLES = 2535,\n\n        //!\n        SCI_MARGINTEXTCLEARALL = 2536,\n\n        //!\n        SCI_MARGINSETSTYLEOFFSET = 2537,\n\n        //!\n        SCI_MARGINGETSTYLEOFFSET = 2538,\n\n        //!\n        SCI_SETMARGINOPTIONS = 2539,\n\n        //!\n        SCI_ANNOTATIONSETTEXT = 2540,\n\n        //!\n        SCI_ANNOTATIONGETTEXT = 2541,\n\n        //!\n        SCI_ANNOTATIONSETSTYLE = 2542,\n\n        //!\n        SCI_ANNOTATIONGETSTYLE = 2543,\n\n        //!\n        SCI_ANNOTATIONSETSTYLES = 2544,\n\n        //!\n        SCI_ANNOTATIONGETSTYLES = 2545,\n\n        //!\n        SCI_ANNOTATIONGETLINES = 2546,\n\n        //!\n        SCI_ANNOTATIONCLEARALL = 2547,\n\n        //!\n        SCI_ANNOTATIONSETVISIBLE = 2548,\n\n        //!\n        SCI_ANNOTATIONGETVISIBLE = 2549,\n\n        //!\n        SCI_ANNOTATIONSETSTYLEOFFSET = 2550,\n\n        //!\n        SCI_ANNOTATIONGETSTYLEOFFSET = 2551,\n\n        //!\n        SCI_RELEASEALLEXTENDEDSTYLES = 2552,\n\n        //!\n        SCI_ALLOCATEEXTENDEDSTYLES = 2553,\n\n        //!\n        SCI_SETEMPTYSELECTION = 2556,\n\n        //!\n        SCI_GETMARGINOPTIONS = 2557,\n\n        //!\n        SCI_INDICSETOUTLINEALPHA = 2558,\n\n        //!\n        SCI_INDICGETOUTLINEALPHA = 2559,\n\n        //!\n        SCI_ADDUNDOACTION = 2560,\n\n        //!\n        SCI_CHARPOSITIONFROMPOINT = 2561,\n\n        //!\n        SCI_CHARPOSITIONFROMPOINTCLOSE = 2562,\n\n        //!\n        SCI_SETMULTIPLESELECTION = 2563,\n\n        //!\n        SCI_GETMULTIPLESELECTION = 2564,\n\n        //!\n        SCI_SETADDITIONALSELECTIONTYPING = 2565,\n\n        //!\n        SCI_GETADDITIONALSELECTIONTYPING = 2566,\n\n        //!\n        SCI_SETADDITIONALCARETSBLINK = 2567,\n\n        //!\n        SCI_GETADDITIONALCARETSBLINK = 2568,\n\n        //!\n        SCI_SCROLLRANGE = 2569,\n\n        //!\n        SCI_GETSELECTIONS = 2570,\n\n        //!\n        SCI_CLEARSELECTIONS = 2571,\n\n        //!\n        SCI_SETSELECTION = 2572,\n\n        //!\n        SCI_ADDSELECTION = 2573,\n\n        //!\n        SCI_SETMAINSELECTION = 2574,\n\n        //!\n        SCI_GETMAINSELECTION = 2575,\n\n        //!\n        SCI_SETSELECTIONNCARET = 2576,\n\n        //!\n        SCI_GETSELECTIONNCARET = 2577,\n\n        //!\n        SCI_SETSELECTIONNANCHOR = 2578,\n\n        //!\n        SCI_GETSELECTIONNANCHOR = 2579,\n\n        //!\n        SCI_SETSELECTIONNCARETVIRTUALSPACE = 2580,\n\n        //!\n        SCI_GETSELECTIONNCARETVIRTUALSPACE = 2581,\n\n        //!\n        SCI_SETSELECTIONNANCHORVIRTUALSPACE = 2582,\n\n        //!\n        SCI_GETSELECTIONNANCHORVIRTUALSPACE = 2583,\n\n        //!\n        SCI_SETSELECTIONNSTART = 2584,\n\n        //!\n        SCI_GETSELECTIONNSTART = 2585,\n\n        //!\n        SCI_SETSELECTIONNEND = 2586,\n\n        //!\n        SCI_GETSELECTIONNEND = 2587,\n\n        //!\n        SCI_SETRECTANGULARSELECTIONCARET = 2588,\n\n        //!\n        SCI_GETRECTANGULARSELECTIONCARET = 2589,\n\n        //!\n        SCI_SETRECTANGULARSELECTIONANCHOR = 2590,\n\n        //!\n        SCI_GETRECTANGULARSELECTIONANCHOR = 2591,\n\n        //!\n        SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2592,\n\n        //!\n        SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2593,\n\n        //!\n        SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2594,\n\n        //!\n        SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2595,\n\n        //!\n        SCI_SETVIRTUALSPACEOPTIONS = 2596,\n\n        //!\n        SCI_GETVIRTUALSPACEOPTIONS = 2597,\n\n        //!\n        SCI_SETRECTANGULARSELECTIONMODIFIER = 2598,\n\n        //!\n        SCI_GETRECTANGULARSELECTIONMODIFIER = 2599,\n\n        //!\n        SCI_SETADDITIONALSELFORE = 2600,\n\n        //!\n        SCI_SETADDITIONALSELBACK = 2601,\n\n        //!\n        SCI_SETADDITIONALSELALPHA = 2602,\n\n        //!\n        SCI_GETADDITIONALSELALPHA = 2603,\n\n        //!\n        SCI_SETADDITIONALCARETFORE = 2604,\n\n        //!\n        SCI_GETADDITIONALCARETFORE = 2605,\n\n        //!\n        SCI_ROTATESELECTION = 2606,\n\n        //!\n        SCI_SWAPMAINANCHORCARET = 2607,\n\n        //!\n        SCI_SETADDITIONALCARETSVISIBLE = 2608,\n\n        //!\n        SCI_GETADDITIONALCARETSVISIBLE = 2609,\n\n        //!\n        SCI_AUTOCGETCURRENTTEXT = 2610,\n\n        //!\n        SCI_SETFONTQUALITY = 2611,\n\n        //!\n        SCI_GETFONTQUALITY = 2612,\n\n        //!\n        SCI_SETFIRSTVISIBLELINE = 2613,\n\n        //!\n        SCI_SETMULTIPASTE = 2614,\n\n        //!\n        SCI_GETMULTIPASTE = 2615,\n\n        //!\n        SCI_GETTAG = 2616,\n\n        //!\n        SCI_CHANGELEXERSTATE = 2617,\n\n        //!\n        SCI_CONTRACTEDFOLDNEXT = 2618,\n\n        //!\n        SCI_VERTICALCENTRECARET = 2619,\n\n        //!\n        SCI_MOVESELECTEDLINESUP = 2620,\n\n        //!\n        SCI_MOVESELECTEDLINESDOWN = 2621,\n\n        //!\n        SCI_SETIDENTIFIER = 2622,\n\n        //!\n        SCI_GETIDENTIFIER = 2623,\n\n        //! This message sets the width of an RGBA image specified by a future\n        //! call to SCI_MARKERDEFINERGBAIMAGE or SCI_REGISTERRGBAIMAGE.\n        //!\n        //! \\sa SCI_RGBAIMAGESETHEIGHT, SCI_MARKERDEFINERGBAIMAGE,\n        //! SCI_REGISTERRGBAIMAGE.\n        SCI_RGBAIMAGESETWIDTH = 2624,\n\n        //! This message sets the height of an RGBA image specified by a future\n        //! call to SCI_MARKERDEFINERGBAIMAGE or SCI_REGISTERRGBAIMAGE.\n        //!\n        //! \\sa SCI_RGBAIMAGESETWIDTH, SCI_MARKERDEFINERGBAIMAGE,\n        //! SCI_REGISTERRGBAIMAGE.\n        SCI_RGBAIMAGESETHEIGHT = 2625,\n\n        //! This message sets the symbol used to draw one of the 32 markers to\n        //! an RGBA image.  RGBA images use the SC_MARK_RGBAIMAGE marker\n        //! symbol.\n        //! \\a wParam is the number of the marker.\n        //! \\a lParam is a pointer to a QImage instance.  Note that in other\n        //! ports of Scintilla this is a pointer to raw RGBA image data.\n        //!\n        //! \\sa SCI_MARKERDEFINE, SCI_MARKERDEFINEPIXMAP\n        SCI_MARKERDEFINERGBAIMAGE = 2626,\n\n        //! This message takes a copy of an image and registers it so that it\n        //! can be refered to by a unique integer identifier.\n        //! \\a wParam is the image's identifier.\n        //! \\a lParam is a pointer to a QImage instance.  Note that in other\n        //! ports of Scintilla this is a pointer to raw RGBA image data.\n        //!\n        //! \\sa SCI_CLEARREGISTEREDIMAGES, SCI_REGISTERIMAGE\n        SCI_REGISTERRGBAIMAGE = 2627,\n\n        //!\n        SCI_SCROLLTOSTART = 2628,\n\n        //!\n        SCI_SCROLLTOEND = 2629,\n\n        //!\n        SCI_SETTECHNOLOGY = 2630,\n\n        //!\n        SCI_GETTECHNOLOGY = 2631,\n\n        //!\n        SCI_CREATELOADER = 2632,\n\n        //!\n        SCI_COUNTCHARACTERS = 2633,\n\n        //!\n        SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR = 2634,\n\n        //!\n        SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR = 2635,\n\n        //!\n        SCI_AUTOCSETMULTI = 2636,\n\n        //!\n        SCI_AUTOCGETMULTI = 2637,\n\n        //!\n        SCI_FINDINDICATORSHOW = 2640,\n\n        //!\n        SCI_FINDINDICATORFLASH = 2641,\n\n        //!\n        SCI_FINDINDICATORHIDE = 2642,\n\n        //!\n        SCI_GETRANGEPOINTER = 2643,\n\n        //!\n        SCI_GETGAPPOSITION = 2644,\n\n        //!\n        SCI_DELETERANGE = 2645,\n\n        //!\n        SCI_GETWORDCHARS = 2646,\n\n        //!\n        SCI_GETWHITESPACECHARS = 2647,\n\n        //!\n        SCI_SETPUNCTUATIONCHARS = 2648,\n\n        //!\n        SCI_GETPUNCTUATIONCHARS = 2649,\n\n        //!\n        SCI_GETSELECTIONEMPTY = 2650,\n\n        //!\n        SCI_RGBAIMAGESETSCALE = 2651,\n\n        //!\n        SCI_VCHOMEDISPLAY = 2652,\n\n        //!\n        SCI_VCHOMEDISPLAYEXTEND = 2653,\n\n        //!\n        SCI_GETCARETLINEVISIBLEALWAYS = 2654,\n\n        //!\n        SCI_SETCARETLINEVISIBLEALWAYS = 2655,\n\n        //!\n        SCI_SETLINEENDTYPESALLOWED = 2656,\n\n        //!\n        SCI_GETLINEENDTYPESALLOWED = 2657,\n\n        //!\n        SCI_GETLINEENDTYPESACTIVE = 2658,\n\n        //!\n        SCI_AUTOCSETORDER = 2660,\n\n        //!\n        SCI_AUTOCGETORDER = 2661,\n\n        //!\n        SCI_FOLDALL = 2662,\n\n        //!\n        SCI_SETAUTOMATICFOLD = 2663,\n\n        //!\n        SCI_GETAUTOMATICFOLD = 2664,\n\n        //!\n        SCI_SETREPRESENTATION = 2665,\n\n        //!\n        SCI_GETREPRESENTATION = 2666,\n\n        //!\n        SCI_CLEARREPRESENTATION = 2667,\n\n        //!\n        SCI_SETMOUSESELECTIONRECTANGULARSWITCH = 2668,\n\n        //!\n        SCI_GETMOUSESELECTIONRECTANGULARSWITCH = 2669,\n\n        //!\n        SCI_POSITIONRELATIVE = 2670,\n\n        //!\n        SCI_DROPSELECTIONN = 2671,\n\n        //!\n        SCI_CHANGEINSERTION = 2672,\n\n        //!\n        SCI_GETPHASESDRAW = 2673,\n\n        //!\n        SCI_SETPHASESDRAW = 2674,\n\n        //!\n        SCI_CLEARTABSTOPS = 2675,\n\n        //!\n        SCI_ADDTABSTOP = 2676,\n\n        //!\n        SCI_GETNEXTTABSTOP = 2677,\n\n        //!\n        SCI_GETIMEINTERACTION = 2678,\n\n        //!\n        SCI_SETIMEINTERACTION = 2679,\n\n        //!\n        SCI_INDICSETHOVERSTYLE = 2680,\n\n        //!\n        SCI_INDICGETHOVERSTYLE = 2681,\n\n        //!\n        SCI_INDICSETHOVERFORE = 2682,\n\n        //!\n        SCI_INDICGETHOVERFORE = 2683,\n\n        //!\n        SCI_INDICSETFLAGS = 2684,\n\n        //!\n        SCI_INDICGETFLAGS = 2685,\n\n        //!\n        SCI_SETTARGETRANGE = 2686,\n\n        //!\n        SCI_GETTARGETTEXT = 2687,\n\n        //!\n        SCI_MULTIPLESELECTADDNEXT = 2688,\n\n        //!\n        SCI_MULTIPLESELECTADDEACH = 2689,\n\n        //!\n        SCI_TARGETWHOLEDOCUMENT = 2690,\n\n        //!\n        SCI_ISRANGEWORD = 2691,\n\n        //!\n        SCI_SETIDLESTYLING = 2692,\n\n        //!\n        SCI_GETIDLESTYLING = 2693,\n\n        //!\n        SCI_MULTIEDGEADDLINE = 2694,\n\n        //!\n        SCI_MULTIEDGECLEARALL = 2695,\n\n        //!\n        SCI_SETMOUSEWHEELCAPTURES = 2696,\n\n        //!\n        SCI_GETMOUSEWHEELCAPTURES = 2697,\n\n        //!\n        SCI_GETTABDRAWMODE = 2698,\n\n        //!\n        SCI_SETTABDRAWMODE = 2699,\n\n        //!\n        SCI_TOGGLEFOLDSHOWTEXT = 2700,\n\n        //!\n        SCI_FOLDDISPLAYTEXTSETSTYLE = 2701,\n\n        //!\n        SCI_SETACCESSIBILITY = 2702,\n\n        //!\n        SCI_GETACCESSIBILITY = 2703,\n\n        //!\n        SCI_GETCARETLINEFRAME = 2704,\n\n        //!\n        SCI_SETCARETLINEFRAME = 2705,\n\n        //!\n        SCI_STARTRECORD = 3001,\n\n        //!\n        SCI_STOPRECORD = 3002,\n\n        //! This message sets the number of the lexer to use for syntax\n        //! styling.\n        //! \\a wParam is the number of the lexer and is one of the SCLEX_*\n        //! values.\n        SCI_SETLEXER = 4001,\n\n        //! This message returns the number of the lexer being used for syntax\n        //! styling.\n        SCI_GETLEXER = 4002,\n\n        //!\n        SCI_COLOURISE = 4003,\n\n        //!\n        SCI_SETPROPERTY = 4004,\n\n        //!\n        SCI_SETKEYWORDS = 4005,\n\n        //! This message sets the name of the lexer to use for syntax styling.\n        //! \\a wParam is unused.\n        //! \\a lParam is the name of the lexer.\n        SCI_SETLEXERLANGUAGE = 4006,\n\n        //!\n        SCI_LOADLEXERLIBRARY = 4007,\n\n        //!\n        SCI_GETPROPERTY = 4008,\n\n        //!\n        SCI_GETPROPERTYEXPANDED = 4009,\n\n        //!\n        SCI_GETPROPERTYINT = 4010,\n\n        //!\n        SCI_GETSTYLEBITSNEEDED = 4011,\n\n        //!\n        SCI_GETLEXERLANGUAGE = 4012,\n\n        //!\n        SCI_PRIVATELEXERCALL = 4013,\n\n        //!\n        SCI_PROPERTYNAMES = 4014,\n\n        //!\n        SCI_PROPERTYTYPE = 4015,\n\n        //!\n        SCI_DESCRIBEPROPERTY = 4016,\n\n        //!\n        SCI_DESCRIBEKEYWORDSETS = 4017,\n\n        //!\n        SCI_GETLINEENDTYPESSUPPORTED = 4018,\n\n        //!\n        SCI_ALLOCATESUBSTYLES = 4020,\n\n        //!\n        SCI_GETSUBSTYLESSTART = 4021,\n\n        //!\n        SCI_GETSUBSTYLESLENGTH = 4022,\n\n        //!\n        SCI_GETSTYLEFROMSUBSTYLE = 4027,\n\n        //!\n        SCI_GETPRIMARYSTYLEFROMSTYLE = 4028,\n\n        //!\n        SCI_FREESUBSTYLES = 4023,\n\n        //!\n        SCI_SETIDENTIFIERS = 4024,\n\n        //!\n        SCI_DISTANCETOSECONDARYSTYLES = 4025,\n\n        //!\n        SCI_GETSUBSTYLEBASES = 4026,\n\n        //!\n        SCI_GETLINECHARACTERINDEX = 2710,\n\n        //!\n        SCI_ALLOCATELINECHARACTERINDEX = 2711,\n\n        //!\n        SCI_RELEASELINECHARACTERINDEX = 2712,\n\n        //!\n        SCI_LINEFROMINDEXPOSITION = 2713,\n\n        //!\n        SCI_INDEXPOSITIONFROMLINE = 2714,\n\n        //!\n        SCI_COUNTCODEUNITS = 2715,\n\n        //!\n        SCI_POSITIONRELATIVECODEUNITS = 2716,\n\n        //!\n        SCI_GETNAMEDSTYLES = 4029,\n\n        //!\n        SCI_NAMEOFSTYLE = 4030,\n\n        //!\n        SCI_TAGSOFSTYLE = 4031,\n\n        //!\n        SCI_DESCRIPTIONOFSTYLE = 4032,\n\n        //!\n        SCI_GETMOVEEXTENDSSELECTION = 2706,\n\n        //!\n        SCI_SETCOMMANDEVENTS = 2717,\n\n        //!\n        SCI_GETCOMMANDEVENTS = 2718,\n\n        //!\n        SCI_GETDOCUMENTOPTIONS = 2379,\n\n\t\tSCI_LINE_MARKERDELETE_ALL = 6000,\n\n\t\tSCI_SET_UTF8_TEXT = 6001, //类似  SCI_SETTEXT = 2181,扩展一个，但是要支持char*字符串的长度，里面可能带\\0字符串\n    };\n\n\tenum\n\t{\n\t\tSC_AC_FILLUP = 1,\n\t\tSC_AC_DOUBLECLICK = 2,\n\t\tSC_AC_TAB = 3,\n\t\tSC_AC_NEWLINE = 4,\n\t\tSC_AC_COMMAND = 5,\n\t};\n\n    enum\n    {\n        SC_ALPHA_TRANSPARENT = 0,\n        SC_ALPHA_OPAQUE = 255,\n        SC_ALPHA_NOALPHA = 256\n    };\n\n    enum\n    {\n        SC_CARETSTICKY_OFF = 0,\n        SC_CARETSTICKY_ON = 1,\n        SC_CARETSTICKY_WHITESPACE = 2\n    };\n\n    enum\n    {\n        SC_DOCUMENTOPTION_DEFAULT = 0x0000,\n        SC_DOCUMENTOPTION_STYLES_NONE = 0x0001,\n        SC_DOCUMENTOPTION_TEXT_LARGE = 0x0100,\n    };\n\n    enum\n    {\n        SC_EFF_QUALITY_MASK = 0x0f,\n        SC_EFF_QUALITY_DEFAULT = 0,\n        SC_EFF_QUALITY_NON_ANTIALIASED = 1,\n        SC_EFF_QUALITY_ANTIALIASED = 2,\n        SC_EFF_QUALITY_LCD_OPTIMIZED = 3\n    };\n\n    enum\n    {\n        SC_IDLESTYLING_NONE = 0,\n        SC_IDLESTYLING_TOVISIBLE = 1,\n        SC_IDLESTYLING_AFTERVISIBLE = 2,\n        SC_IDLESTYLING_ALL = 3,\n    };\n\n    enum\n    {\n        SC_IME_WINDOWED = 0,\n        SC_IME_INLINE = 1,\n    };\n\n    enum\n    {\n        SC_LINECHARACTERINDEX_NONE = 0,\n        SC_LINECHARACTERINDEX_UTF32 = 1,\n        SC_LINECHARACTERINDEX_UTF16 = 2,\n    };\n\n    enum\n    {\n        SC_MARGINOPTION_NONE = 0x00,\n        SC_MARGINOPTION_SUBLINESELECT = 0x01\n    };\n\n    enum\n    {\n        SC_MULTIAUTOC_ONCE = 0,\n        SC_MULTIAUTOC_EACH = 1\n    };\n\n    enum\n    {\n        SC_MULTIPASTE_ONCE = 0,\n        SC_MULTIPASTE_EACH = 1\n    };\n\n    enum\n    {\n        SC_POPUP_NEVER = 0,\n        SC_POPUP_ALL = 1,\n        SC_POPUP_TEXT = 2,\n    };\n\n    //! This enum defines the different selection modes.\n    //!\n    //! \\sa SCI_GETSELECTIONMODE, SCI_SETSELECTIONMODE\n    enum\n    {\n        SC_SEL_STREAM = 0,\n        SC_SEL_RECTANGLE = 1,\n        SC_SEL_LINES = 2,\n        SC_SEL_THIN = 3\n    };\n\n    enum\n    {\n        SC_STATUS_OK = 0,\n        SC_STATUS_FAILURE = 1,\n        SC_STATUS_BADALLOC = 2,\n        SC_STATUS_WARN_START = 1000,\n        SC_STATUS_WARNREGEX = 1001,\n    };\n\n    enum\n    {\n        SC_TYPE_BOOLEAN = 0,\n        SC_TYPE_INTEGER = 1,\n        SC_TYPE_STRING = 2\n    };\n\n    enum\n    {\n        SC_UPDATE_CONTENT = 0x01,\n        SC_UPDATE_SELECTION = 0x02,\n        SC_UPDATE_V_SCROLL = 0x04,\n        SC_UPDATE_H_SCROLL = 0x08\n    };\n\n    enum\n    {\n        SC_WRAPVISUALFLAG_NONE = 0x0000,\n        SC_WRAPVISUALFLAG_END = 0x0001,\n        SC_WRAPVISUALFLAG_START = 0x0002,\n        SC_WRAPVISUALFLAG_MARGIN = 0x0004\n    };\n\n    enum\n    {\n        SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000,\n        SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001,\n        SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002\n    };\n\n    enum\n    {\n        SCTD_LONGARROW = 0,\n        SCTD_STRIKEOUT = 1,\n    };\n\n    enum\n    {\n        SCVS_NONE = 0,\n        SCVS_RECTANGULARSELECTION = 1,\n        SCVS_USERACCESSIBLE = 2,\n        SCVS_NOWRAPLINESTART = 4,\n    };\n\n    enum\n    {\n        SCWS_INVISIBLE = 0,\n        SCWS_VISIBLEALWAYS = 1,\n        SCWS_VISIBLEAFTERINDENT = 2,\n        SCWS_VISIBLEONLYININDENT = 3,\n    };\n\n    enum\n    {\n        SC_EOL_CRLF = 0,\n        SC_EOL_CR = 1,\n        SC_EOL_LF = 2\n    };\n\n    enum\n    {\n        SC_CP_DBCS = 1,\n        SC_CP_UTF8 = 65001\n    };\n\n    //! This enum defines the different marker symbols.\n    //!\n    //! \\sa SCI_MARKERDEFINE\n    enum\n    {\n        //! A circle.\n        SC_MARK_CIRCLE = 0,\n\n        //! A rectangle.\n        SC_MARK_ROUNDRECT = 1,\n\n        //! A triangle pointing to the right.\n        SC_MARK_ARROW = 2,\n\n        //! A smaller rectangle.\n        SC_MARK_SMALLRECT = 3,\n\n        //! An arrow pointing to the right.\n        SC_MARK_SHORTARROW = 4,\n\n        //! An invisible marker that allows code to track the movement\n        //! of lines.\n        SC_MARK_EMPTY = 5,\n\n        //! A triangle pointing down.\n        SC_MARK_ARROWDOWN = 6,\n\n        //! A drawn minus sign.\n        SC_MARK_MINUS = 7,\n\n        //! A drawn plus sign.\n        SC_MARK_PLUS = 8,\n\n        //! A vertical line drawn in the background colour.\n        SC_MARK_VLINE = 9,\n\n        //! A bottom left corner drawn in the background colour.\n        SC_MARK_LCORNER = 10,\n\n        //! A vertical line with a centre right horizontal line drawn\n        //! in the background colour.\n        SC_MARK_TCORNER = 11,\n\n        //! A drawn plus sign in a box.\n        SC_MARK_BOXPLUS = 12,\n\n        //! A drawn plus sign in a connected box.\n        SC_MARK_BOXPLUSCONNECTED = 13,\n\n        //! A drawn minus sign in a box.\n        SC_MARK_BOXMINUS = 14,\n\n        //! A drawn minus sign in a connected box.\n        SC_MARK_BOXMINUSCONNECTED = 15,\n\n        //! A rounded bottom left corner drawn in the background\n        //! colour.\n        SC_MARK_LCORNERCURVE = 16,\n\n        //! A vertical line with a centre right curved line drawn in\n        //! the background colour.\n        SC_MARK_TCORNERCURVE = 17,\n\n        //! A drawn plus sign in a circle.\n        SC_MARK_CIRCLEPLUS = 18,\n\n        //! A drawn plus sign in a connected box.\n        SC_MARK_CIRCLEPLUSCONNECTED = 19,\n\n        //! A drawn minus sign in a circle.\n        SC_MARK_CIRCLEMINUS = 20,\n\n        //! A drawn minus sign in a connected circle.\n        SC_MARK_CIRCLEMINUSCONNECTED = 21,\n\n        //! No symbol is drawn but the line is drawn with the same background\n        //! color as the marker's.\n        SC_MARK_BACKGROUND = 22,\n\n        //! Three drawn dots.\n        SC_MARK_DOTDOTDOT = 23,\n\n        //! Three drawn arrows pointing right.\n        SC_MARK_ARROWS = 24,\n\n        //! An XPM format pixmap.\n        SC_MARK_PIXMAP = 25,\n\n        //! A full rectangle (ie. the margin background) using the marker's\n        //! background color.\n        SC_MARK_FULLRECT = 26,\n\n        //! A left rectangle (ie. the left part of the margin background) using\n        //! the marker's background color.\n        SC_MARK_LEFTRECT = 27,\n\n        //! The value is available for plugins to use.\n        SC_MARK_AVAILABLE = 28,\n\n        //! The line is underlined using the marker's background color.\n        SC_MARK_UNDERLINE = 29,\n\n        //! A RGBA format image.\n        SC_MARK_RGBAIMAGE = 30,\n\n        //! A bookmark.\n        SC_MARK_BOOKMARK = 31,\n\n        //! Characters can be used as symbols by adding this to the ASCII value\n        //! of the character.\n        SC_MARK_CHARACTER = 10000\n    };\n\n    enum\n    {\n        SC_MARKNUM_FOLDEREND = 25,\n        SC_MARKNUM_FOLDEROPENMID = 26,\n        SC_MARKNUM_FOLDERMIDTAIL = 27,\n        SC_MARKNUM_FOLDERTAIL = 28,\n        SC_MARKNUM_FOLDERSUB = 29,\n        SC_MARKNUM_FOLDER = 30,\n        SC_MARKNUM_FOLDEROPEN = 31,\n        SC_MASK_FOLDERS = 0xfe000000\n    };\n\n    //! This enum defines what can be displayed in a margin.\n    //!\n    //! \\sa SCI_GETMARGINTYPEN, SCI_SETMARGINTYPEN\n    enum\n    {\n        //! The margin can display symbols.  Note that all margins can display\n        //! symbols.\n        SC_MARGIN_SYMBOL = 0,\n\n        //! The margin will display line numbers.\n        SC_MARGIN_NUMBER = 1,\n\n        //! The margin's background color will be set to the default background\n        //! color.\n        SC_MARGIN_BACK = 2,\n\n        //! The margin's background color will be set to the default foreground\n        //! color.\n        SC_MARGIN_FORE = 3,\n\n        //! The margin will display text.\n        SC_MARGIN_TEXT = 4,\n\n        //! The margin will display right justified text.\n        SC_MARGIN_RTEXT = 5,\n\n        //! The margin's background color will be set to the color set by\n        //! SCI_SETMARGINBACKN.\n        SC_MARGIN_COLOUR = 6,\n    };\n\n    enum\n    {\n        STYLE_DEFAULT = 32,\n        STYLE_LINENUMBER = 33,\n        STYLE_BRACELIGHT = 34,\n        STYLE_BRACEBAD = 35,\n        STYLE_CONTROLCHAR = 36,\n        STYLE_INDENTGUIDE = 37,\n        STYLE_CALLTIP = 38,\n        STYLE_FOLDDISPLAYTEXT = 39,\n        STYLE_LASTPREDEFINED = 39,\n        STYLE_MAX = 255\n    };\n\n    enum\n    {\n        SC_CHARSET_ANSI = 0,\n        SC_CHARSET_DEFAULT = 1,\n        SC_CHARSET_BALTIC = 186,\n        SC_CHARSET_CHINESEBIG5 = 136,\n        SC_CHARSET_EASTEUROPE = 238,\n        SC_CHARSET_GB2312 = 134,\n        SC_CHARSET_GREEK = 161,\n        SC_CHARSET_HANGUL = 129,\n        SC_CHARSET_MAC = 77,\n        SC_CHARSET_OEM = 255,\n        SC_CHARSET_RUSSIAN = 204,\n        SC_CHARSET_OEM866 = 866,\n        SC_CHARSET_CYRILLIC = 1251,\n        SC_CHARSET_SHIFTJIS = 128,\n        SC_CHARSET_SYMBOL = 2,\n        SC_CHARSET_TURKISH = 162,\n        SC_CHARSET_JOHAB = 130,\n        SC_CHARSET_HEBREW = 177,\n        SC_CHARSET_ARABIC = 178,\n        SC_CHARSET_VIETNAMESE = 163,\n        SC_CHARSET_THAI = 222,\n        SC_CHARSET_8859_15 = 1000\n    };\n\n    enum\n    {\n        SC_CASE_MIXED = 0,\n        SC_CASE_UPPER = 1,\n        SC_CASE_LOWER = 2,\n        SC_CASE_CAMEL = 3,\n    };\n\n    //! This enum defines the different indentation guide views.\n    //!\n    //! \\sa SCI_GETINDENTATIONGUIDES, SCI_SETINDENTATIONGUIDES\n    enum\n    {\n        //! No indentation guides are shown.\n        SC_IV_NONE = 0,\n\n        //! Indentation guides are shown inside real indentation white space.\n        SC_IV_REAL = 1,\n\n        //! Indentation guides are shown beyond the actual indentation up to\n        //! the level of the next non-empty line.  If the previous non-empty\n        //! line was a fold header then indentation guides are shown for one\n        //! more level of indent than that line.  This setting is good for\n        //! Python.\n        SC_IV_LOOKFORWARD = 2,\n\n        //! Indentation guides are shown beyond the actual indentation up to\n        //! the level of the next non-empty line or previous non-empty line\n        //! whichever is the greater.  This setting is good for most languages.\n        SC_IV_LOOKBOTH = 3\n    };\n\n    enum\n    {\n        INDIC_PLAIN = 0,\n        INDIC_SQUIGGLE = 1,\n        INDIC_TT = 2,\n        INDIC_DIAGONAL = 3,\n        INDIC_STRIKE = 4,\n        INDIC_HIDDEN = 5,\n        INDIC_BOX = 6,\n        INDIC_ROUNDBOX = 7,\n        INDIC_STRAIGHTBOX = 8,\n        INDIC_DASH = 9,\n        INDIC_DOTS = 10,\n        INDIC_SQUIGGLELOW = 11,\n        INDIC_DOTBOX = 12,\n        INDIC_SQUIGGLEPIXMAP = 13,\n        INDIC_COMPOSITIONTHICK = 14,\n        INDIC_COMPOSITIONTHIN = 15,\n        INDIC_FULLBOX = 16,\n        INDIC_TEXTFORE = 17,\n        INDIC_POINT = 18,\n        INDIC_POINTCHARACTER = 19,\n        INDIC_GRADIENT = 20,\n        INDIC_GRADIENTCENTRE = 21,\n\n        INDIC_IME = 32,\n        INDIC_IME_MAX = 35,\n\n        INDIC_CONTAINER = 8,\n        INDIC_MAX = 35,\n        INDIC0_MASK = 0x20,\n        INDIC1_MASK = 0x40,\n        INDIC2_MASK = 0x80,\n        INDICS_MASK = 0xe0,\n\n        SC_INDICVALUEBIT = 0x01000000,\n        SC_INDICVALUEMASK = 0x00ffffff,\n        SC_INDICFLAG_VALUEBEFORE = 1,\n    };\n\n    enum\n    {\n        SC_PRINT_NORMAL = 0,\n        SC_PRINT_INVERTLIGHT = 1,\n        SC_PRINT_BLACKONWHITE = 2,\n        SC_PRINT_COLOURONWHITE = 3,\n        SC_PRINT_COLOURONWHITEDEFAULTBG = 4,\n        SC_PRINT_SCREENCOLOURS = 5,\n    };\n\n    enum\n    {\n        SCFIND_WHOLEWORD = 2,\n        SCFIND_MATCHCASE = 4,\n        SCFIND_WORDSTART = 0x00100000,\n        SCFIND_REGEXP = 0x00200000,\n        SCFIND_POSIX = 0x00400000,\n        SCFIND_CXX11REGEX = 0x00800000,\n    };\n\n    enum\n    {\n        SC_FOLDDISPLAYTEXT_HIDDEN = 0,\n        SC_FOLDDISPLAYTEXT_STANDARD = 1,\n        SC_FOLDDISPLAYTEXT_BOXED = 2,\n    };\n\n    enum\n    {\n        SC_FOLDLEVELBASE = 0x00400,\n        SC_FOLDLEVELWHITEFLAG = 0x01000,\n        SC_FOLDLEVELHEADERFLAG = 0x02000,\n        SC_FOLDLEVELNUMBERMASK = 0x00fff\n    };\n\n    enum\n    {\n        SC_FOLDFLAG_LINEBEFORE_EXPANDED = 0x0002,\n        SC_FOLDFLAG_LINEBEFORE_CONTRACTED = 0x0004,\n        SC_FOLDFLAG_LINEAFTER_EXPANDED = 0x0008,\n        SC_FOLDFLAG_LINEAFTER_CONTRACTED = 0x0010,\n        SC_FOLDFLAG_LEVELNUMBERS = 0x0040,\n        SC_FOLDFLAG_LINESTATE = 0x0080,\n    };\n\n    enum\n    {\n        SC_LINE_END_TYPE_DEFAULT = 0,\n        SC_LINE_END_TYPE_UNICODE = 1,\n    };\n\n    enum\n    {\n        SC_TIME_FOREVER = 10000000\n    };\n\n    enum\n    {\n        SC_WRAP_NONE = 0,\n        SC_WRAP_WORD = 1,\n        SC_WRAP_CHAR = 2,\n        SC_WRAP_WHITESPACE = 3,\n    };\n\n    enum\n    {\n        SC_WRAPINDENT_FIXED = 0,\n        SC_WRAPINDENT_SAME = 1,\n        SC_WRAPINDENT_INDENT = 2,\n        SC_WRAPINDENT_DEEPINDENT = 3,\n    };\n\n    enum\n    {\n        SC_CACHE_NONE = 0,\n        SC_CACHE_CARET = 1,\n        SC_CACHE_PAGE = 2,\n        SC_CACHE_DOCUMENT = 3\n    };\n\n    enum\n    {\n        SC_PHASES_ONE = 0,\n        SC_PHASES_TWO = 1,\n        SC_PHASES_MULTIPLE = 2,\n    };\n\n    enum\n    {\n        ANNOTATION_HIDDEN = 0,\n        ANNOTATION_STANDARD = 1,\n        ANNOTATION_BOXED = 2,\n        ANNOTATION_INDENTED = 3,\n    };\n\n    enum\n    {\n        EDGE_NONE = 0,\n        EDGE_LINE = 1,\n        EDGE_BACKGROUND = 2,\n        EDGE_MULTILINE = 3,\n    };\n\n    enum\n    {\n        SC_CURSORNORMAL = -1,\n        SC_CURSORARROW = 2,\n        SC_CURSORWAIT = 4,\n        SC_CURSORREVERSEARROW = 7\n    };\n\n    enum\n    {\n        UNDO_MAY_COALESCE = 1\n    };\n\n    enum\n    {\n        VISIBLE_SLOP = 0x01,\n        VISIBLE_STRICT = 0x04\n    };\n\n    enum\n    {\n        CARET_SLOP = 0x01,\n        CARET_STRICT = 0x04,\n        CARET_JUMPS = 0x10,\n        CARET_EVEN = 0x08\n    };\n\n    enum\n    {\n        CARETSTYLE_INVISIBLE = 0,\n        CARETSTYLE_LINE = 1,\n        CARETSTYLE_BLOCK = 2\n    };\n\n    enum\n    {\n        SC_MOD_INSERTTEXT = 0x1,\n        SC_MOD_DELETETEXT = 0x2,\n        SC_MOD_CHANGESTYLE = 0x4,\n        SC_MOD_CHANGEFOLD = 0x8,\n        SC_PERFORMED_USER = 0x10,\n        SC_PERFORMED_UNDO = 0x20,\n        SC_PERFORMED_REDO = 0x40,\n        SC_MULTISTEPUNDOREDO = 0x80,\n        SC_LASTSTEPINUNDOREDO = 0x100,\n        SC_MOD_CHANGEMARKER = 0x200,\n        SC_MOD_BEFOREINSERT = 0x400,\n        SC_MOD_BEFOREDELETE = 0x800,\n        SC_MULTILINEUNDOREDO = 0x1000,\n        SC_STARTACTION = 0x2000,\n        SC_MOD_CHANGEINDICATOR = 0x4000,\n        SC_MOD_CHANGELINESTATE = 0x8000,\n        SC_MOD_CHANGEMARGIN = 0x10000,\n        SC_MOD_CHANGEANNOTATION = 0x20000,\n        SC_MOD_CONTAINER = 0x40000,\n        SC_MOD_LEXERSTATE = 0x80000,\n        SC_MOD_INSERTCHECK = 0x100000,\n        SC_MOD_CHANGETABSTOPS = 0x200000,\n        SC_MODEVENTMASKALL = 0x3fffff\n    };\n\n    enum\n    {\n        SCK_DOWN = 300,\n        SCK_UP = 301,\n        SCK_LEFT = 302,\n        SCK_RIGHT = 303,\n        SCK_HOME = 304,\n        SCK_END = 305,\n        SCK_PRIOR = 306,\n        SCK_NEXT = 307,\n        SCK_DELETE = 308,\n        SCK_INSERT = 309,\n        SCK_ESCAPE = 7,\n        SCK_BACK = 8,\n        SCK_TAB = 9,\n        SCK_RETURN = 13,\n        SCK_ADD = 310,\n        SCK_SUBTRACT = 311,\n        SCK_DIVIDE = 312,\n        SCK_WIN = 313,\n        SCK_RWIN = 314,\n        SCK_MENU = 315\n    };\n\n    //! This enum defines the different modifier keys.\n    enum\n    {\n        //! No modifier key.\n        SCMOD_NORM = 0,\n\n        //! Shift key.\n        SCMOD_SHIFT = 1,\n\n        //! Control key (the Command key on OS/X, the Ctrl key on other\n        //! platforms).\n        SCMOD_CTRL = 2,\n\n        //! Alt key.\n        SCMOD_ALT = 4,\n\n        //! This is the same as SCMOD_META on all platforms.\n        SCMOD_SUPER = 8,\n\n        //! Meta key (the Ctrl key on OS/X, the Windows key on other\n        //! platforms).\n        SCMOD_META = 16\n    };\n\n    //! This enum defines the different language lexers.\n    //!\n    //! \\sa SCI_GETLEXER, SCI_SETLEXER\n    enum\n    {\n        //! No lexer is selected and the SCN_STYLENEEDED signal is emitted so\n        //! that the application can style the text as needed.  This is the\n        //! default.\n        SCLEX_CONTAINER = 0,\n\n        //! Select the null lexer that does no syntax styling.\n        SCLEX_NULL = 1,\n\n        //! Select the Python lexer.\n        SCLEX_PYTHON = 2,\n\n        //! Select the C++ lexer.\n        SCLEX_CPP = 3,\n\n        //! Select the HTML lexer.\n        SCLEX_HTML = 4,\n\n        //! Select the XML lexer.\n        SCLEX_XML = 5,\n\n        //! Select the Perl lexer.\n        SCLEX_PERL = 6,\n\n        //! Select the SQL lexer.\n        SCLEX_SQL = 7,\n\n        //! Select the Visual Basic lexer.\n        SCLEX_VB = 8,\n\n        //! Select the lexer for properties style files.\n        SCLEX_PROPERTIES = 9,\n\n        //! Select the lexer for error list style files.\n        SCLEX_ERRORLIST = 10,\n\n        //! Select the Makefile lexer.\n        SCLEX_MAKEFILE = 11,\n\n        //! Select the Windows batch file lexer.\n        SCLEX_BATCH = 12,\n\n        //! Select the LaTex lexer.\n        SCLEX_LATEX = 14,\n\n        //! Select the Lua lexer.\n        SCLEX_LUA = 15,\n\n        //! Select the lexer for diff output.\n        SCLEX_DIFF = 16,\n\n        //! Select the lexer for Apache configuration files.\n        SCLEX_CONF = 17,\n\n        //! Select the Pascal lexer.\n        SCLEX_PASCAL = 18,\n\n        //! Select the Avenue lexer.\n        SCLEX_AVE = 19,\n\n        //! Select the Ada lexer.\n        SCLEX_ADA = 20,\n\n        //! Select the Lisp lexer.\n        SCLEX_LISP = 21,\n\n        //! Select the Ruby lexer.\n        SCLEX_RUBY = 22,\n\n        //! Select the Eiffel lexer.\n        SCLEX_EIFFEL = 23,\n\n        //! Select the Eiffel lexer folding at keywords.\n        SCLEX_EIFFELKW = 24,\n\n        //! Select the Tcl lexer.\n        SCLEX_TCL = 25,\n\n        //! Select the lexer for nnCron files.\n        SCLEX_NNCRONTAB = 26,\n\n        //! Select the Bullant lexer.\n        SCLEX_BULLANT = 27,\n\n        //! Select the VBScript lexer.\n        SCLEX_VBSCRIPT = 28,\n\n        //! Select the ASP lexer.\n        SCLEX_ASP = SCLEX_HTML,\n\n        //! Select the PHP lexer.\n        SCLEX_PHP = SCLEX_HTML,\n\n        //! Select the Baan lexer.\n        SCLEX_BAAN = 31,\n\n        //! Select the Matlab lexer.\n        SCLEX_MATLAB = 32,\n\n        //! Select the Scriptol lexer.\n        SCLEX_SCRIPTOL = 33,\n\n        //! Select the assembler lexer (';' comment character).\n        SCLEX_ASM = 34,\n\n        //! Select the C++ lexer with case insensitive keywords.\n        SCLEX_CPPNOCASE = 35,\n\n        //! Select the FORTRAN lexer.\n        SCLEX_FORTRAN = 36,\n\n        //! Select the FORTRAN77 lexer.\n        SCLEX_F77 = 37,\n\n        //! Select the CSS lexer.\n        SCLEX_CSS = 38,\n\n        //! Select the POV lexer.\n        SCLEX_POV = 39,\n\n        //! Select the Basser Lout typesetting language lexer.\n        SCLEX_LOUT = 40,\n\n        //! Select the EScript lexer.\n        SCLEX_ESCRIPT = 41,\n\n        //! Select the PostScript lexer.\n        SCLEX_PS = 42,\n\n        //! Select the NSIS lexer.\n        SCLEX_NSIS = 43,\n\n        //! Select the MMIX assembly language lexer.\n        SCLEX_MMIXAL = 44,\n\n        //! Select the Clarion lexer.\n        SCLEX_CLW = 45,\n\n        //! Select the Clarion lexer with case insensitive keywords.\n        SCLEX_CLWNOCASE = 46,\n\n        //! Select the MPT text log file lexer.\n        SCLEX_LOT = 47,\n\n        //! Select the YAML lexer.\n        SCLEX_YAML = 48,\n\n        //! Select the TeX lexer.\n        SCLEX_TEX = 49,\n\n        //! Select the Metapost lexer.\n        SCLEX_METAPOST = 50,\n\n        //! Select the PowerBASIC lexer.\n        SCLEX_POWERBASIC = 51,\n\n        //! Select the Forth lexer.\n        SCLEX_FORTH = 52,\n\n        //! Select the Erlang lexer.\n        SCLEX_ERLANG = 53,\n\n        //! Select the Octave lexer.\n        SCLEX_OCTAVE = 54,\n\n        //! Select the MS SQL lexer.\n        SCLEX_MSSQL = 55,\n\n        //! Select the Verilog lexer.\n        SCLEX_VERILOG = 56,\n\n        //! Select the KIX-Scripts lexer.\n        SCLEX_KIX = 57,\n\n        //! Select the Gui4Cli lexer.\n        SCLEX_GUI4CLI = 58,\n\n        //! Select the Specman E lexer.\n        SCLEX_SPECMAN = 59,\n\n        //! Select the AutoIt3 lexer.\n        SCLEX_AU3 = 60,\n\n        //! Select the APDL lexer.\n        SCLEX_APDL = 61,\n\n        //! Select the Bash lexer.\n        SCLEX_BASH = 62,\n\n        //! Select the ASN.1 lexer.\n        SCLEX_ASN1 = 63,\n\n        //! Select the VHDL lexer.\n        SCLEX_VHDL = 64,\n\n        //! Select the Caml lexer.\n        SCLEX_CAML = 65,\n\n        //! Select the BlitzBasic lexer.\n        SCLEX_BLITZBASIC = 66,\n\n        //! Select the PureBasic lexer.\n        SCLEX_PUREBASIC = 67,\n\n        //! Select the Haskell lexer.\n        SCLEX_HASKELL = 68,\n\n        //! Select the PHPScript lexer.\n        SCLEX_PHPSCRIPT = 69,\n\n        //! Select the TADS3 lexer.\n        SCLEX_TADS3 = 70,\n\n        //! Select the REBOL lexer.\n        SCLEX_REBOL = 71,\n\n        //! Select the Smalltalk lexer.\n        SCLEX_SMALLTALK = 72,\n\n        //! Select the FlagShip lexer.\n        SCLEX_FLAGSHIP = 73,\n\n        //! Select the Csound lexer.\n        SCLEX_CSOUND = 74,\n\n        //! Select the FreeBasic lexer.\n        SCLEX_FREEBASIC = 75,\n\n        //! Select the InnoSetup lexer.\n        SCLEX_INNOSETUP = 76,\n\n        //! Select the Opal lexer.\n        SCLEX_OPAL = 77,\n\n        //! Select the Spice lexer.\n        SCLEX_SPICE = 78,\n\n        //! Select the D lexer.\n        SCLEX_D = 79,\n\n        //! Select the CMake lexer.\n        SCLEX_CMAKE = 80,\n\n        //! Select the GAP lexer.\n        SCLEX_GAP = 81,\n\n        //! Select the PLM lexer.\n        SCLEX_PLM = 82,\n\n        //! Select the Progress lexer.\n        SCLEX_PROGRESS = 83,\n\n        //! Select the Abaqus lexer.\n        SCLEX_ABAQUS = 84,\n\n        //! Select the Asymptote lexer.\n        SCLEX_ASYMPTOTE = 85,\n\n        //! Select the R lexer.\n        SCLEX_R = 86,\n\n        //! Select the MagikSF lexer.\n        SCLEX_MAGIK = 87,\n\n        //! Select the PowerShell lexer.\n        SCLEX_POWERSHELL = 88,\n\n        //! Select the MySQL lexer.\n        SCLEX_MYSQL = 89,\n\n        //! Select the gettext .po file lexer.\n        SCLEX_PO = 90,\n\n        //! Select the TAL lexer.\n        SCLEX_TAL = 91,\n\n        //! Select the COBOL lexer.\n        SCLEX_COBOL = 92,\n\n        //! Select the TACL lexer.\n        SCLEX_TACL = 93,\n\n        //! Select the Sorcus lexer.\n        SCLEX_SORCUS = 94,\n\n        //! Select the PowerPro lexer.\n        SCLEX_POWERPRO = 95,\n\n        //! Select the Nimrod lexer.\n        SCLEX_NIMROD = 96,\n\n        //! Select the SML lexer.\n        SCLEX_SML = 97,\n\n        //! Select the Markdown lexer.\n        SCLEX_MARKDOWN = 98,\n\n        //! Select the txt2tags lexer.\n        SCLEX_TXT2TAGS = 99,\n\n        //! Select the 68000 assembler lexer.\n        SCLEX_A68K = 100,\n\n        //! Select the Modula 3 lexer.\n        SCLEX_MODULA = 101,\n\n        //! Select the CoffeeScript lexer.\n        SCLEX_COFFEESCRIPT = 102,\n\n        //! Select the Take Command lexer.\n        SCLEX_TCMD = 103,\n\n        //! Select the AviSynth lexer.\n        SCLEX_AVS = 104,\n\n        //! Select the ECL lexer.\n        SCLEX_ECL = 105,\n\n        //! Select the OScript lexer.\n        SCLEX_OSCRIPT = 106,\n\n        //! Select the Visual Prolog lexer.\n        SCLEX_VISUALPROLOG = 107,\n\n        //! Select the Literal Haskell lexer.\n        SCLEX_LITERATEHASKELL = 108,\n\n        //! Select the Structured Text lexer.\n        SCLEX_STTXT = 109,\n\n        //! Select the KVIrc lexer.\n        SCLEX_KVIRC = 110,\n\n        //! Select the Rust lexer.\n        SCLEX_RUST = 111,\n\n        //! Select the MSC Nastran DMAP lexer.\n        SCLEX_DMAP = 112,\n\n        //! Select the assembler lexer ('#' comment character).\n        SCLEX_AS = 113,\n\n        //! Select the DMIS lexer.\n        SCLEX_DMIS = 114,\n\n        //! Select the lexer for Windows registry files.\n        SCLEX_REGISTRY = 115,\n\n        //! Select the BibTex lexer.\n        SCLEX_BIBTEX = 116,\n\n        //! Select the Motorola S-Record hex lexer.\n        SCLEX_SREC = 117,\n\n        //! Select the Intel hex lexer.\n        SCLEX_IHEX = 118,\n\n        //! Select the Tektronix extended hex lexer.\n        SCLEX_TEHEX = 119,\n\n        //! Select the JSON hex lexer.\n        SCLEX_JSON = 120,\n\n        //! Select the EDIFACT lexer.\n        SCLEX_EDIFACT = 121,\n\n        //! Select the pseudo-lexer used for the indentation-based folding of\n        //! files.\n        SCLEX_INDENT = 122,\n\n        //! Select the Maxima lexer.\n        SCLEX_MAXIMA = 123,\n\n        //! Select the Stata lexer.\n        SCLEX_STATA = 124,\n\n        //! Select the SAS lexer.\n        SCLEX_SAS = 125,\n\n\t\tSCLEX_TEXT = 126,\n    };\n\n    enum\n    {\n        SC_WEIGHT_NORMAL = 400,\n        SC_WEIGHT_SEMIBOLD = 600,\n        SC_WEIGHT_BOLD = 700,\n    };\n\n    enum\n    {\n        SC_TECHNOLOGY_DEFAULT = 0,\n        SC_TECHNOLOGY_DIRECTWRITE = 1,\n        SC_TECHNOLOGY_DIRECTWRITERETAIN = 2,\n        SC_TECHNOLOGY_DIRECTWRITEDC = 3,\n    };\n\n    enum\n    {\n        SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE = 0,\n        SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE = 1,\n    };\n\n    enum\n    {\n        SC_FONT_SIZE_MULTIPLIER = 100,\n    };\n\n    enum\n    {\n        SC_FOLDACTION_CONTRACT = 0,\n        SC_FOLDACTION_EXPAND = 1,\n        SC_FOLDACTION_TOGGLE = 2,\n    };\n\n    enum\n    {\n        SC_AUTOMATICFOLD_SHOW = 0x0001,\n        SC_AUTOMATICFOLD_CLICK = 0x0002,\n        SC_AUTOMATICFOLD_CHANGE = 0x0004,\n    };\n\n    enum\n    {\n        SC_ORDER_PRESORTED = 0,\n        SC_ORDER_PERFORMSORT = 1,\n        SC_ORDER_CUSTOM = 2,\n    };\n\n    //! Construct an empty QsciScintillaBase with parent \\a parent.\n    explicit QsciScintillaBase(QWidget *parent = 0);\n\n    //! Destroys the QsciScintillaBase instance.\n    virtual ~QsciScintillaBase();\n\n    //! Returns a pointer to a QsciScintillaBase instance, or 0 if there isn't\n    //! one.  This can be used by the higher level API to send messages that\n    //! aren't associated with a particular instance.\n    static QsciScintillaBase *pool();\n\n    //! Replaces the existing horizontal scroll bar with \\a scrollBar.  The\n    //! existing scroll bar is deleted.  This should be called instead of\n    //! QAbstractScrollArea::setHorizontalScrollBar().\n    void replaceHorizontalScrollBar(QScrollBar *scrollBar);\n\n    //! Replaces the existing vertical scroll bar with \\a scrollBar.  The\n    //! existing scroll bar is deleted.  This should be called instead of\n    //! QAbstractScrollArea::setHorizontalScrollBar().\n    void replaceVerticalScrollBar(QScrollBar *scrollBar);\n\n    //! Send the Scintilla message \\a msg with the optional parameters \\a\n    //! wParam and \\a lParam.\n    long SendScintilla(unsigned int msg, unsigned long wParam = 0,\n            long lParam = 0) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            void *lParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, uintptr_t wParam,\n            const char *lParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, const char *lParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, const char *wParam,\n            const char *lParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, long wParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, int wParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, long cpMin, long cpMax,\n            char *lpstrText) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const QColor &col) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, const QColor &col) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc,\n            const QRect &rc, long cpMin, long cpMax) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const QPixmap &lParam) const;\n\n    //! \\overload\n    long SendScintilla(unsigned int msg, unsigned long wParam,\n            const QImage &lParam) const;\n\n    //! Send the Scintilla message \\a msg and return a pointer result.\n    void *SendScintillaPtrResult(unsigned int msg) const;\n\n    //! \\internal\n    static int commandKey(int qt_key, int &modifiers);\n\n\tbool isInPasteStatus();\n\n\n\nsignals:\n    //! This signal is emitted when text is selected or de-selected.\n    //! \\a yes is true if text has been selected and false if text has been\n    //! deselected.\n    void QSCN_SELCHANGED(bool yes);\n\n    //! This signal is emitted when the user cancels an auto-completion list.\n    //!\n    //! \\sa SCN_AUTOCSELECTION()\n    void SCN_AUTOCCANCELLED();\n\n    //! This signal is emitted when the user deletes a character when an\n    //! auto-completion list is active.\n    void SCN_AUTOCCHARDELETED();\n\n    //! This signal is emitted after an auto-completion has inserted its text.\n    //! \\a selection is the text of the selection.  \\a position is the start\n    //! position of the word being completed.  \\a ch is the fillup character\n    //! that triggered the selection if method is SC_AC_FILLUP.  \\a method is\n    //! the method used to trigger the selection.\n    //!\n    //! \\sa SCN_AUTOCCANCELLED(), SCN_AUTOCSELECTION()\n    void SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method);\n\n    //! This signal is emitted when the user selects an item in an\n    //! auto-completion list.  It is emitted before the selection is inserted.\n    //! The insertion can be cancelled by sending an SCI_AUTOCANCEL message\n    //! from a connected slot.\n    //! \\a selection is the text of the selection.  \\a position is the start\n    //! position of the word being completed.  \\a ch is the fillup character\n    //! that triggered the selection if method is SC_AC_FILLUP.  \\a method is\n    //! the method used to trigger the selection.\n    //!\n    //! \\sa SCN_AUTOCCANCELLED(), SCN_AUTOCCOMPLETED()\n    void SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method);\n\n    //! \\overload\n    void SCN_AUTOCSELECTION(const char *selection, int position);\n\n    //! This signal is emitted when the user highlights an item in an\n    //! auto-completion or user list.\n    //! \\a selection is the text of the selection.  \\a id is an identifier for\n    //! the list which was passed as an argument to the SCI_USERLISTSHOW\n    //! message or 0 if the list is an auto-completion list.  \\a position is\n    //! the position that the list was displayed at.\n    void SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position);\n\n    //! This signal is emitted when the document has changed for any reason.\n    void SCEN_CHANGE();\n\n    //! This signal is emitted when the user clicks on a calltip.\n    //! \\a direction is 1 if the user clicked on the up arrow, 2 if the user\n    //! clicked on the down arrow, and 0 if the user clicked elsewhere.\n    void SCN_CALLTIPCLICK(int direction);\n\n    //! This signal is emitted whenever the user enters an ordinary character\n    //! into the text.\n    //! \\a charadded is the character. It can be used to decide to display a\n    //! call tip or an auto-completion list.\n    void SCN_CHARADDED(int charadded);\n\n    //! This signal is emitted when the user double clicks.\n    //! \\a position is the position in the text where the click occured.\n    //! \\a line is the number of the line in the text where the click occured.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user double clicked.\n    void SCN_DOUBLECLICK(int position, int line, int modifiers);\n\n    //! This signal is emitted when the user moves the mouse (or presses a key)\n    //! after keeping it in one position for the dwell period.\n    //! \\a position is the position in the text where the mouse dwells.\n    //! \\a x is the x-coordinate where the mouse dwells.  \\a y is the\n    //! y-coordinate where the mouse dwells.\n    //! \n    //! \\sa SCN_DWELLSTART, SCI_SETMOUSEDWELLTIME\n    void SCN_DWELLEND(int position, int x, int y);\n\n    //! This signal is emitted when the user keeps the mouse in one position\n    //! for the dwell period.\n    //! \\a position is the position in the text where the mouse dwells.\n    //! \\a x is the x-coordinate where the mouse dwells.  \\a y is the\n    //! y-coordinate where the mouse dwells.\n    //!\n    //! \\sa SCN_DWELLEND, SCI_SETMOUSEDWELLTIME\n    void SCN_DWELLSTART(int position, int x, int y);\n\n    //! This signal is emitted when focus is received.\n    void SCN_FOCUSIN();\n\n    //! This signal is emitted when focus is lost.\n    void SCN_FOCUSOUT();\n\n    //! This signal is emitted when the user clicks on text in a style with the\n    //! hotspot attribute set.\n    //! \\a position is the position in the text where the click occured.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user clicked.\n    void SCN_HOTSPOTCLICK(int position, int modifiers);\n\n    //! This signal is emitted when the user double clicks on text in a style\n    //! with the hotspot attribute set.\n    //! \\a position is the position in the text where the double click occured.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user double clicked.\n    void SCN_HOTSPOTDOUBLECLICK(int position, int modifiers);\n\n    //! This signal is emitted when the user releases the mouse button on text\n    //! in a style with the hotspot attribute set.\n    //! \\a position is the position in the text where the release occured.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user released the button.\n    void SCN_HOTSPOTRELEASECLICK(int position, int modifiers);\n\n    //! This signal is emitted when the user clicks on text that has an\n    //! indicator.\n    //! \\a position is the position in the text where the click occured.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user clicked.\n    void SCN_INDICATORCLICK(int position, int modifiers);\n\n    //! This signal is emitted when the user releases the mouse button on text\n    //! that has an indicator.\n    //! \\a position is the position in the text where the release occured.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user released.\n    void SCN_INDICATORRELEASE(int position, int modifiers);\n\n    //! This signal is emitted when a recordable editor command has been\n    //! executed.\n    void SCN_MACRORECORD(unsigned int, unsigned long, void *);\n\n    //! This signal is emitted when the user clicks on a sensitive margin.\n    //! \\a position is the position of the start of the line against which the\n    //! user clicked.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user clicked.\n    //! \\a margin is the number of the margin the user clicked in: 0, 1 or 2.\n    //! \n    //! \\sa SCI_GETMARGINSENSITIVEN, SCI_SETMARGINSENSITIVEN\n    void SCN_MARGINCLICK(int position, int modifiers, int margin);\n\n    //! This signal is emitted when the user right-clicks on a sensitive\n    //! margin.  \\a position is the position of the start of the line against\n    //! which the user clicked.\n    //! \\a modifiers is the logical or of the modifier keys that were pressed\n    //! when the user clicked.\n    //! \\a margin is the number of the margin the user clicked in: 0, 1 or 2.\n    //! \n    //! \\sa SCI_GETMARGINSENSITIVEN, SCI_SETMARGINSENSITIVEN\n    void SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin);\n\n    //!\n    void SCN_MODIFIED(int, int, const char *, int, int, int, int, int, int, int);\n\n    //! This signal is emitted when the user attempts to modify read-only\n    //! text.\n    void SCN_MODIFYATTEMPTRO();\n\n    //!\n    void SCN_NEEDSHOWN(int, int);\n\n    //! This signal is emitted when painting has been completed.  It is useful\n    //! to trigger some other change but to have the paint be done first to\n    //! appear more reponsive to the user.\n    void SCN_PAINTED();\n\n    //! This signal is emitted when the current state of the text no longer\n    //! corresponds to the state of the text at the save point.\n    //! \n    //! \\sa SCI_SETSAVEPOINT, SCN_SAVEPOINTREACHED()\n    void SCN_SAVEPOINTLEFT();\n\n    //! This signal is emitted when the current state of the text corresponds\n    //! to the state of the text at the save point. This allows feedback to be\n    //! given to the user as to whether the text has been modified since it was\n    //! last saved.\n    //! \n    //! \\sa SCI_SETSAVEPOINT, SCN_SAVEPOINTLEFT()\n    void SCN_SAVEPOINTREACHED();\n\n    //! This signal is emitted when a range of text needs to be syntax styled.\n    //! The range is from the value returned by the SCI_GETENDSTYLED message\n    //! and \\a position.  It is only emitted if the currently selected lexer is\n    //! SCLEX_CONTAINER.\n    //!\n    //! \\sa SCI_COLOURISE, SCI_GETENDSTYLED\n    void SCN_STYLENEEDED(int position);\n\n    //! This signal is emitted when a URI is dropped.\n    //! \\a url is the value of the URI.\n    void SCN_URIDROPPED(const QUrl &url);\n\n    //! This signal is emitted when either the text or styling of the text has\n    //! changed or the selection range or scroll position has changed.\n    //! \\a updated contains the set of SC_UPDATE_* flags describing the changes\n    //! since the signal was last emitted.\n    void SCN_UPDATEUI(int updated);\n\n    //! This signal is emitted when the user selects an item in a user list.\n    //! \\a selection is the text of the selection.  \\a id is an identifier for\n    //! the list which was passed as an argument to the SCI_USERLISTSHOW\n    //! message and must be at least 1.  \\a ch is the fillup character that\n    //! triggered the selection if method is SC_AC_FILLUP.  \\a method is the\n    //! method used to trigger the selection.  \\a position is the position that\n    //! the list was displayed at.\n    //!\n    //! \\sa SCI_USERLISTSHOW, SCN_AUTOCSELECTION()\n    void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position);\n\n    //! \\overload\n    void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method);\n\n    //! \\overload\n    void SCN_USERLISTSELECTION(const char *selection, int id);\n\n    //!\n    void SCN_ZOOM();\n\nprotected:\n    //! Returns true if the contents of a MIME data object can be decoded and\n    //! inserted into the document.  It is called during drag and paste\n    //! operations.\n    //! \\a source is the MIME data object.\n    //!\n    //! \\sa fromMimeData(), toMimeData()\n    virtual bool canInsertFromMimeData(const QMimeData *source) const;\n\n    //! Returns the text of a MIME data object.  It is called when a drag and\n    //! drop is completed and when text is pasted from the clipboard.\n    //! \\a source is the MIME data object.  On return \\a rectangular is set if\n    //! the text corresponds to a rectangular selection.\n    //!\n    //! \\sa canInsertFromMimeData(), toMimeData()\n    virtual QByteArray fromMimeData(const QMimeData *source, bool &rectangular) const;\n\n    //! Returns a new MIME data object containing some text and whether it\n    //! corresponds to a rectangular selection.  It is called when a drag and\n    //! drop is started and when the selection is copied to the clipboard.\n    //! Ownership of the object is passed to the caller.  \\a text is the text.\n    //! \\a rectangular is set if the text corresponds to a rectangular\n    //! selection.\n    //!\n    //! \\sa canInsertFromMimeData(), fromMimeData()\n    virtual QMimeData *toMimeData(const QByteArray &text, bool rectangular) const;\n\n    //! \\reimp\n    virtual void changeEvent(QEvent *e);\n\n    //! Re-implemented to handle the context menu.\n    virtual void contextMenuEvent(QContextMenuEvent *e);\n\n    //! Re-implemented to handle drag enters.\n    virtual void dragEnterEvent(QDragEnterEvent *e);\n\n    //! Re-implemented to handle drag leaves.\n    virtual void dragLeaveEvent(QDragLeaveEvent *e);\n\n    //! Re-implemented to handle drag moves.\n    virtual void dragMoveEvent(QDragMoveEvent *e);\n\n    //! Re-implemented to handle drops.\n    virtual void dropEvent(QDropEvent *e);\n\n    //! Re-implemented to tell Scintilla it has the focus.\n    virtual void focusInEvent(QFocusEvent *e);\n\n    //! Re-implemented to tell Scintilla it has lost the focus.\n    virtual void focusOutEvent(QFocusEvent *e);\n\n    //! Re-implemented to allow tabs to be entered as text.\n    virtual bool focusNextPrevChild(bool next);\n\n    //! Re-implemented to handle key presses.\n    virtual void keyPressEvent(QKeyEvent *e);\n\n    //! Re-implemented to handle composed characters.\n    virtual void inputMethodEvent(QInputMethodEvent *event);\n    virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;\n\n    //! Re-implemented to handle mouse double-clicks.\n    virtual void mouseDoubleClickEvent(QMouseEvent *e);\n\n    //! Re-implemented to handle mouse moves.\n    virtual void mouseMoveEvent(QMouseEvent *e);\n\n    //! Re-implemented to handle mouse presses.\n    virtual void mousePressEvent(QMouseEvent *e);\n\n    //! Re-implemented to handle mouse releases.\n    virtual void mouseReleaseEvent(QMouseEvent *e);\n\n    //! Re-implemented to paint the viewport.\n    virtual void paintEvent(QPaintEvent *e);\n\n    //! Re-implemented to handle resizes.\n    virtual void resizeEvent(QResizeEvent *e);\n\n    //! \\internal Re-implemented to handle scrolling.\n    virtual void scrollContentsBy(int dx, int dy);\n\n    //! \\internal This helps to work around some Scintilla bugs.\n    void setScrollBars();\n\n    //! \\internal Qt4, Qt5 portability.\n    typedef QByteArray ScintillaBytes;\n\n#define ScintillaBytesConstData(b)  (b).constData()\n\n    //! \\internal Convert a QString to encoded bytes.\n    ScintillaBytes textAsBytes(const QString &text) const;\n\n    //! \\internal Convert encoded bytes to a QString.\n    QString bytesAsText(const char *bytes) const;\n\n\t// Decode bytes as a QString.\n\tQString bytesAsText(const char *bytes, int length) const;\n\n    //! \\internal A helper for QsciScintilla::contextMenuEvent().\n    bool contextMenuNeeded(int x, int y) const;\n\nprivate slots:\n    void handleVSb(int value);\n    void handleHSb(int value);\n\nprivate:\n    // This is needed to allow QsciScintillaQt to emit this class's signals.\n    friend class QsciScintillaQt;\n\n    QsciScintillaQt *sci;\n    QPoint triple_click_at;\n    QTimer triple_click;\n    int preeditPos;\n    int preeditNrBytes;\n    QString preeditString;\n    bool clickCausedFocus;\n\n    void connectHorizontalScrollBar();\n    void connectVerticalScrollBar();\n\n    void acceptAction(QDropEvent *e);\n\n    int eventModifiers(QMouseEvent *e);\n\n    QsciScintillaBase(const QsciScintillaBase &);\n    QsciScintillaBase &operator=(const QsciScintillaBase &);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscistyle.h",
    "content": "// This module defines interface to the QsciStyle class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCISTYLE_H\n#define QSCISTYLE_H\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qstring.h>\n\n#include <Qsci/qsciglobal.h>\n\n\nclass QsciScintillaBase;\n\n\n//! \\brief The QsciStyle class encapsulates all the attributes of a style.\n//!\n//! Each character of a document has an associated style which determines how\n//! the character is displayed, e.g. its font and color.  A style is identified\n//! by a number.  Lexers define styles for each of the language's features so\n//! that they are displayed differently.  Some style numbers have hard-coded\n//! meanings, e.g. the style used for call tips.\nclass QSCINTILLA_EXPORT QsciStyle\n{\npublic:\n    //! This enum defines the different ways the displayed case of the text can\n    //! be changed.\n    enum TextCase {\n        //! The text is displayed as its original case.\n        OriginalCase = 0,\n\n        //! The text is displayed as upper case.\n        UpperCase = 1,\n\n        //! The text is displayed as lower case.\n        LowerCase = 2\n    };\n\n    //! Constructs a QsciStyle instance for style number \\a style.  If \\a style\n    //! is negative then a new style number is automatically allocated if\n    //! possible.  If it is not possible then style() will return a negative\n    //! value.\n    //!\n    //! \\sa style()\n    QsciStyle(int style = -1);\n\n    //! Constructs a QsciStyle instance for style number \\a style.  If \\a style\n    //! is negative then a new style number is automatically allocated if\n    //! possible.  If it is not possible then style() will return a negative\n    //! value.  The styles description, color, paper color, font and\n    //! end-of-line fill are set to \\a description, \\a color, \\a paper, \\a font\n    //! and \\a eolFill respectively.\n    //!\n    //! \\sa style()\n    QsciStyle(int style, const QString &description, const QColor &color,\n            const QColor &paper, const QFont &font, bool eolFill = false);\n\n    //! \\internal Apply the style to a particular editor.\n    void apply(QsciScintillaBase *sci) const;\n\n    //! The style's number is set to \\a style.\n    //!\n    //! \\sa style()\n    void setStyle(int style) {style_nr = style;}\n\n    //! Returns the number of the style.  This will be negative if the style is\n    //! invalid.\n    //!\n    //! \\sa setStyle()\n    int style() const {return style_nr;}\n\n    //! The style's description is set to \\a description.\n    //!\n    //! \\sa description()\n    void setDescription(const QString &description) {style_description = description;}\n\n    //! Returns the style's description.\n    //!\n    //! \\sa setDescription()\n    QString description() const {return style_description;}\n\n    //! The style's foreground color is set to \\a color.  The default is taken\n    //! from the application's default palette.\n    //!\n    //! \\sa color()\n    void setColor(const QColor &color);\n\n    //! Returns the style's foreground color.\n    //!\n    //! \\sa setColor()\n    QColor color() const {return style_color;}\n\n    //! The style's background color is set to \\a paper.  The default is taken\n    //! from the application's default palette.\n    //!\n    //! \\sa paper()\n    void setPaper(const QColor &paper);\n\n    //! Returns the style's background color.\n    //!\n    //! \\sa setPaper()\n    QColor paper() const {return style_paper;}\n\n    //! The style's font is set to \\a font.  The default is the application's\n    //! default font.\n    //!\n    //! \\sa font()\n    void setFont(const QFont &font);\n\n    //! Returns the style's font.\n    //!\n    //! \\sa setFont()\n    QFont font() const {return style_font;}\n\n    //! The style's end-of-line fill is set to \\a fill.  The default is false.\n    //!\n    //! \\sa eolFill()\n    void setEolFill(bool fill);\n\n    //! Returns the style's end-of-line fill.\n    //!\n    //! \\sa setEolFill()\n    bool eolFill() const {return style_eol_fill;}\n\n    //! The style's text case is set to \\a text_case.  The default is\n    //! OriginalCase.\n    //!\n    //! \\sa textCase()\n    void setTextCase(TextCase text_case);\n\n    //! Returns the style's text case.\n    //!\n    //! \\sa setTextCase()\n    TextCase textCase() const {return style_case;}\n\n    //! The style's visibility is set to \\a visible.  The default is true.\n    //!\n    //! \\sa visible()\n    void setVisible(bool visible);\n\n    //! Returns the style's visibility.\n    //!\n    //! \\sa setVisible()\n    bool visible() const {return style_visible;}\n\n    //! The style's changeability is set to \\a changeable.  The default is\n    //! true.\n    //!\n    //! \\sa changeable()\n    void setChangeable(bool changeable);\n\n    //! Returns the style's changeability.\n    //!\n    //! \\sa setChangeable()\n    bool changeable() const {return style_changeable;}\n\n    //! The style's sensitivity to mouse clicks is set to \\a hotspot.  The\n    //! default is false.\n    //!\n    //! \\sa hotspot()\n    void setHotspot(bool hotspot);\n\n    //! Returns the style's sensitivity to mouse clicks.\n    //!\n    //! \\sa setHotspot()\n    bool hotspot() const {return style_hotspot;}\n\n    //! Refresh the style settings.\n    void refresh();\n\nprivate:\n    int style_nr;\n    QString style_description;\n    QColor style_color;\n    QColor style_paper;\n    QFont style_font;\n    bool style_eol_fill;\n    TextCase style_case;\n    bool style_visible;\n    bool style_changeable;\n    bool style_hotspot;\n\n    void init(int style);\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/Qsci/qscistyledtext.h",
    "content": "// This module defines interface to the QsciStyledText class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef QSCISTYLEDTEXT_H\n#define QSCISTYLEDTEXT_H\n\n#include <qstring.h>\n\n#include <Qsci/qsciglobal.h>\n\n\nclass QsciScintillaBase;\nclass QsciStyle;\n\n\n//! \\brief The QsciStyledText class is a container for a piece of text and the\n//! style used to display the text.\nclass QSCINTILLA_EXPORT QsciStyledText\n{\npublic:\n    //! Constructs a QsciStyledText instance for text \\a text and style number\n    //! \\a style.\n    QsciStyledText(const QString &text, int style);\n\n    //! Constructs a QsciStyledText instance for text \\a text and style \\a\n    //! style.\n    QsciStyledText(const QString &text, const QsciStyle &style);\n\n    //! \\internal Apply the style to a particular editor.\n    void apply(QsciScintillaBase *sci) const;\n\n    //! Returns a reference to the text.\n    const QString &text() const {return styled_text;}\n\n    //! Returns the number of the style.\n    int style() const;\n\nprivate:\n    QString styled_text;\n    int style_nr;\n    const QsciStyle *explicit_style;\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/SciAccessibility.cpp",
    "content": "﻿// The implementation of the class that implements accessibility support.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include <qglobal.h>\n\n#if !defined(QT_NO_ACCESSIBILITY)\n\n#include \"SciAccessibility.h\"\n\n#include <QAccessible>\n#include <QFont>\n#include <QFontMetrics>\n#include <QRect>\n#include <QWidget>\n\n#include \"Qsci/qsciscintillabase.h\"\n\n\n// Set if the accessibility support needs initialising.\nbool QsciAccessibleScintillaBase::needs_initialising = true;\n\n// The list of all accessibles.\nQList<QsciAccessibleScintillaBase *> QsciAccessibleScintillaBase::all_accessibles;\n\n\n// Forward declarations.\nstatic QAccessibleInterface *factory(const QString &classname, QObject *object);\n\n\n// The ctor.\nQsciAccessibleScintillaBase::QsciAccessibleScintillaBase(QWidget *widget) :\n        QAccessibleWidget(widget, QAccessible::EditableText),\n        current_cursor_offset(-1), is_selection(false)\n{\n    all_accessibles.append(this);\n}\n\n\n// The dtor.\nQsciAccessibleScintillaBase::~QsciAccessibleScintillaBase()\n{\n    all_accessibles.removeOne(this);\n}\n\n\n// Initialise the accessibility support.\nvoid QsciAccessibleScintillaBase::initialise()\n{\n    if (needs_initialising)\n    {\n        QAccessible::installFactory(factory);\n        needs_initialising = false;\n    }\n}\n\n\n// Find the accessible for a widget.\nQsciAccessibleScintillaBase *QsciAccessibleScintillaBase::findAccessible(\n        QsciScintillaBase *sb)\n{\n    for (int i = 0; i < all_accessibles.size(); ++i)\n    {\n        QsciAccessibleScintillaBase *acc_sb = all_accessibles.at(i);\n\n        if (acc_sb->sciWidget() == sb)\n            return acc_sb;\n    }\n\n    return 0;\n}\n\n\n// Return the QsciScintillaBase instance.\nQsciScintillaBase *QsciAccessibleScintillaBase::sciWidget() const\n{\n    return static_cast<QsciScintillaBase *>(widget());\n}\n\n\n// Update the accessible when the selection has changed.\nvoid QsciAccessibleScintillaBase::selectionChanged(QsciScintillaBase *sb,\n        bool selection)\n{\n    QsciAccessibleScintillaBase *acc_sb = findAccessible(sb);\n\n    if (!acc_sb)\n        return;\n\n    acc_sb->is_selection = selection;\n}\n\n\n// Update the accessibility when text has been inserted.\nvoid QsciAccessibleScintillaBase::textInserted(QsciScintillaBase *sb,\n        int position, const char *text, int length)\n{\n    Q_ASSERT(text);\n\n    QString new_text = bytesAsText(sb, text, length);\n    int offset = positionAsOffset(sb, position);\n\n    QAccessibleTextInsertEvent ev(sb, offset, new_text);\n    QAccessible::updateAccessibility(&ev);\n}\n\n\n// Return the fragment of text before an offset.\nQString QsciAccessibleScintillaBase::textBeforeOffset(int offset,\n        QAccessible::TextBoundaryType boundaryType, int *startOffset,\n        int *endOffset) const\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    // Initialise in case of errors.\n    *startOffset = *endOffset = -1;\n\n    int position = validPosition(offset);\n\n    if (position < 0)\n        return QString();\n\n    int start_position, end_position;\n\n    if (!boundaries(sb, position, boundaryType, &start_position, &end_position))\n        return QString();\n\n    if (start_position == 0)\n        return QString();\n\n    if (!boundaries(sb, start_position - 1, boundaryType, &start_position, &end_position))\n        return QString();\n\n    positionRangeAsOffsetRange(sb, start_position, end_position, startOffset,\n            endOffset);\n\n    return textRange(sb, start_position, end_position);\n}\n\n\n// Return the fragment of text after an offset.\nQString QsciAccessibleScintillaBase::textAfterOffset(int offset,\n        QAccessible::TextBoundaryType boundaryType, int *startOffset,\n        int *endOffset) const\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    // Initialise in case of errors.\n    *startOffset = *endOffset = -1;\n\n    int position = validPosition(offset);\n\n    if (position < 0)\n        return QString();\n\n    int start_position, end_position;\n\n    if (!boundaries(sb, position, boundaryType, &start_position, &end_position))\n        return QString();\n\n    if (end_position >= sb->SendScintilla(QsciScintillaBase::SCI_GETTEXTLENGTH))\n        return QString();\n\n    if (!boundaries(sb, end_position, boundaryType, &start_position, &end_position))\n        return QString();\n\n    positionRangeAsOffsetRange(sb, start_position, end_position, startOffset,\n            endOffset);\n\n    return textRange(sb, start_position, end_position);\n}\n\n\n// Return the fragment of text at an offset.\nQString QsciAccessibleScintillaBase::textAtOffset(int offset,\n        QAccessible::TextBoundaryType boundaryType, int *startOffset,\n        int *endOffset) const\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    // Initialise in case of errors.\n    *startOffset = *endOffset = -1;\n\n    int position = validPosition(offset);\n\n    if (position < 0)\n        return QString();\n\n    int start_position, end_position;\n\n    if (!boundaries(sb, position, boundaryType, &start_position, &end_position))\n        return QString();\n\n    positionRangeAsOffsetRange(sb, start_position, end_position, startOffset,\n            endOffset);\n\n    return textRange(sb, start_position, end_position);\n}\n\n\n// Update the accessibility when text has been deleted.\nvoid QsciAccessibleScintillaBase::textDeleted(QsciScintillaBase *sb,\n        int position, const char *text, int length)\n{\n    Q_ASSERT(text);\n\n    QString old_text = bytesAsText(sb, text, length);\n    int offset = positionAsOffset(sb, position);\n\n    QAccessibleTextRemoveEvent ev(sb, offset, old_text);\n    QAccessible::updateAccessibility(&ev);\n}\n\n\n// Update the accessibility when the UI has been updated.\nvoid QsciAccessibleScintillaBase::updated(QsciScintillaBase *sb)\n{\n    QsciAccessibleScintillaBase *acc_sb = findAccessible(sb);\n\n    if (!acc_sb)\n        return;\n\n    int cursor_offset = positionAsOffset(sb,\n            sb->SendScintilla(QsciScintillaBase::SCI_GETCURRENTPOS));\n\n    if (acc_sb->current_cursor_offset != cursor_offset)\n    {\n        acc_sb->current_cursor_offset = cursor_offset;\n\n        QAccessibleTextCursorEvent ev(sb, cursor_offset);\n        QAccessible::updateAccessibility(&ev);\n    }\n}\n\n\n// Return a valid position from an offset or -1 if it was invalid.\nint QsciAccessibleScintillaBase::validPosition(int offset) const\n{\n    // An offset of -1 is interpreted as the length of the text.\n    int nr_chars = characterCount();\n\n    if (offset == -1)\n        offset = nr_chars;\n\n    // Check there is some text and the offset is within range.\n    if (nr_chars == 0 || offset < 0 || offset > nr_chars)\n        return -1;\n\n    return offsetAsPosition(sciWidget(), offset);\n}\n\n\n// Get the start and end boundary positions for a type of boundary.  true is\n// returned if the boundary positions are valid.\nbool QsciAccessibleScintillaBase::boundaries(QsciScintillaBase *sb,\n        int position, QAccessible::TextBoundaryType boundaryType,\n        int *start_position, int *end_position)\n{\n    // This implementation is based on what Qt does although that may itself be\n    // wrong.  The cursor is in a word if it is before or after any character\n    // in the word.  If the cursor is not in a word (eg. is has a space each\n    // side) then the previous word is current.\n\n    switch (boundaryType)\n    {\n    case QAccessible::CharBoundary:\n        *start_position = position;\n        *end_position = sb->SendScintilla(\n                QsciScintillaBase::SCI_POSITIONAFTER, position);\n        break;\n\n    case QAccessible::WordBoundary:\n        *start_position = sb->SendScintilla(\n                QsciScintillaBase::SCI_WORDSTARTPOSITION, position, 1);\n        *end_position = sb->SendScintilla(\n                QsciScintillaBase::SCI_WORDENDPOSITION, position, 1);\n\n        // If the start and end positions are the same then we are not in a\n        // word.\n        if (*start_position == *end_position)\n        {\n            // We need the immediately preceding word.  Note that Qt behaves\n            // differently as it will not move before the current line.\n\n            // Find the end of the preceding word.\n            *end_position = sb->SendScintilla(\n                    QsciScintillaBase::SCI_WORDSTARTPOSITION, position, 0L);\n\n            // If the end is 0 then there isn't a preceding word.\n            if (*end_position == 0)\n                return false;\n\n            // Now find the start.\n            *start_position = sb->SendScintilla(\n                    QsciScintillaBase::SCI_WORDSTARTPOSITION, *end_position,\n                    1);\n        }\n\n        break;\n\n    case QAccessible::SentenceBoundary:\n        return false;\n\n    case QAccessible::ParagraphBoundary:\n        // Paragraph boundaries are supposed to be supported but it isn't clear\n        // what this means in a code editor.\n        return false;\n\n    case QAccessible::LineBoundary:\n        {\n            int line = sb->SendScintilla(\n                    QsciScintillaBase::SCI_LINEFROMPOSITION, position);\n\n            *start_position = sb->SendScintilla(\n                    QsciScintillaBase::SCI_POSITIONFROMLINE, line);\n            *end_position = sb->SendScintilla(\n                    QsciScintillaBase::SCI_POSITIONFROMLINE, line + 1);\n\n            // See if we are after the last end-of-line character.\n            if (*start_position == *end_position)\n                return false;\n        }\n\n        break;\n\n    case QAccessible::NoBoundary:\n        *start_position = 0;\n        *end_position = sb->SendScintilla(\n                QsciScintillaBase::SCI_GETTEXTLENGTH);\n        break;\n    }\n\n    return true;\n}\n\n\n// Return the text between two positions.\nQString QsciAccessibleScintillaBase::textRange(QsciScintillaBase *sb,\n        int start_position, int end_position)\n{\n    QByteArray bytes(end_position - start_position + 1, '\\0');\n\n    sb->SendScintilla(QsciScintillaBase::SCI_GETTEXTRANGE, start_position,\n            end_position, bytes.data());\n\n    return bytesAsText(sb, bytes.constData(), bytes.size() - 1);\n}\n\n\n// Convert bytes to text.\nQString QsciAccessibleScintillaBase::bytesAsText(QsciScintillaBase *sb,\n        const char *bytes, int length)\n{\n    if (sb->SendScintilla(QsciScintillaBase::SCI_GETCODEPAGE) == QsciScintillaBase::SC_CP_UTF8)\n        return QString::fromUtf8(bytes, length);\n\n    return QString::fromLatin1(bytes, length);\n}\n\n\n// Convert text to bytes.\nQByteArray QsciAccessibleScintillaBase::textAsBytes(QsciScintillaBase *sb,\n        const QString &text)\n{\n    if (sb->SendScintilla(QsciScintillaBase::SCI_GETCODEPAGE) == QsciScintillaBase::SC_CP_UTF8)\n        return text.toUtf8();\n\n    return text.toLatin1();\n}\n\n\n// Convert a byte position to a character offset.\nint QsciAccessibleScintillaBase::positionAsOffset(QsciScintillaBase *sb,\n        int position)\n{\n    return sb->SendScintilla(QsciScintillaBase::SCI_COUNTCHARACTERS, 0,\n            position);\n}\n\n\n// Convert a range of byte poisitions to character offsets.\nvoid QsciAccessibleScintillaBase::positionRangeAsOffsetRange(\n        QsciScintillaBase *sb, int start_position, int end_position,\n        int *startOffset, int *endOffset)\n{\n    *startOffset = positionAsOffset(sb, start_position);\n    *endOffset = positionAsOffset(sb, end_position);\n}\n\n\n// Convert character offset position to a byte position.\nint QsciAccessibleScintillaBase::offsetAsPosition(QsciScintillaBase *sb,\n        int offset)\n{\n    return sb->SendScintilla(QsciScintillaBase::SCI_POSITIONRELATIVE, 0,\n            offset);\n}\n\n\n// Get the current selection if any.\nvoid QsciAccessibleScintillaBase::selection(int selectionIndex,\n        int *startOffset, int *endOffset) const\n{\n    int start, end;\n\n    if (selectionIndex == 0 && is_selection)\n    {\n        QsciScintillaBase *sb = sciWidget();\n        int start_position = sb->SendScintilla(\n                QsciScintillaBase::SCI_GETSELECTIONSTART);\n        int end_position = sb->SendScintilla(\n                QsciScintillaBase::SCI_GETSELECTIONEND);\n\n        start = positionAsOffset(sb, start_position);\n        end = positionAsOffset(sb, end_position);\n    }\n    else\n    {\n        start = end = 0;\n    }\n\n    *startOffset = start;\n    *endOffset = end;\n}\n\n\n// Return the number of selections.\nint QsciAccessibleScintillaBase::selectionCount() const\n{\n    return (is_selection ? 1 : 0);\n}\n\n\n// Add a selection.\nvoid QsciAccessibleScintillaBase::addSelection(int startOffset, int endOffset)\n{\n    setSelection(0, startOffset, endOffset);\n}\n\n\n// Remove a selection.\nvoid QsciAccessibleScintillaBase::removeSelection(int selectionIndex)\n{\n    if (selectionIndex == 0)\n        sciWidget()->SendScintilla(QsciScintillaBase::SCI_CLEARSELECTIONS);\n}\n\n\n// Set the selection.\nvoid QsciAccessibleScintillaBase::setSelection(int selectionIndex,\n        int startOffset, int endOffset)\n{\n    if (selectionIndex == 0)\n    {\n        QsciScintillaBase *sb = sciWidget();\n        sb->SendScintilla(QsciScintillaBase::SCI_SETSELECTIONSTART,\n                offsetAsPosition(sb, startOffset));\n        sb->SendScintilla(QsciScintillaBase::SCI_SETSELECTIONEND,\n                offsetAsPosition(sb, endOffset));\n    }\n}\n\n\n// Return the current cursor offset.\nint QsciAccessibleScintillaBase::cursorPosition() const\n{\n    return current_cursor_offset;\n}\n\n\n// Set the cursor offset.\nvoid QsciAccessibleScintillaBase::setCursorPosition(int position)\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    sb->SendScintilla(QsciScintillaBase::SCI_GOTOPOS,\n            offsetAsPosition(sb, position));\n}\n\n\n// Return the text between two offsets.\nQString QsciAccessibleScintillaBase::text(int startOffset, int endOffset) const\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    return textRange(sb, offsetAsPosition(sb, startOffset),\n            offsetAsPosition(sb, endOffset));\n}\n\n\n// Return the number of characters in the text.\nint QsciAccessibleScintillaBase::characterCount() const\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    return sb->SendScintilla(QsciScintillaBase::SCI_COUNTCHARACTERS, 0,\n            sb->SendScintilla(QsciScintillaBase::SCI_GETTEXTLENGTH));\n}\n\n\nQRect QsciAccessibleScintillaBase::characterRect(int offset) const\n{\n    QsciScintillaBase *sb = sciWidget();\n    int position = offsetAsPosition(sb, offset);\n    int x_vport = sb->SendScintilla(QsciScintillaBase::SCI_POINTXFROMPOSITION,\n            position);\n    int y_vport = sb->SendScintilla(QsciScintillaBase::SCI_POINTYFROMPOSITION,\n            position);\n    const QString ch = text(offset, offset + 1);\n\n    // Get the character's font metrics.\n    int style = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, position);\n    QFontMetrics metrics(fontForStyle(style));\n\n    QRect rect(x_vport, y_vport, metrics.horizontalAdvance(ch),\n            metrics.height());\n    rect.moveTo(sb->viewport()->mapToGlobal(rect.topLeft()));\n\n    return rect;\n}\n\n\n// Return the offset of the character at the given screen coordinates.\nint QsciAccessibleScintillaBase::offsetAtPoint(const QPoint &point) const\n{\n    QsciScintillaBase *sb = sciWidget();\n    QPoint p = sb->viewport()->mapFromGlobal(point);\n    int position = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONFROMPOINT,\n            p.x(), p.y());\n\n    return (position >= 0) ? positionAsOffset(sb, position) : -1;\n}\n\n\n// Scroll to make sure an area of text is visible.\nvoid QsciAccessibleScintillaBase::scrollToSubstring(int startIndex,\n        int endIndex)\n{\n    QsciScintillaBase *sb = sciWidget();\n    int start = offsetAsPosition(sb, startIndex);\n    int end = offsetAsPosition(sb, endIndex);\n\n    sb->SendScintilla(QsciScintillaBase::SCI_SCROLLRANGE, end, start);\n}\n\n\n// Return the attributes of a character and surrounding text.\nQString QsciAccessibleScintillaBase::attributes(int offset, int *startOffset,\n        int *endOffset) const\n{\n    QsciScintillaBase *sb = sciWidget();\n    int position = offsetAsPosition(sb, offset);\n    int style = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, position);\n\n    // Find the start of the text with this style.\n    int start_position = position;\n    int start_text_position = offset;\n\n    while (start_position > 0)\n    {\n        int before = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONBEFORE,\n                start_position);\n        int s = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, before);\n\n        if (s != style)\n            break;\n\n        start_position = before;\n        --start_text_position;\n    }\n\n    *startOffset = start_text_position;\n\n    // Find the end of the text with this style.\n    int end_position = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONAFTER,\n            position);\n    int end_text_position = offset + 1;\n    int last_position = sb->SendScintilla(\n            QsciScintillaBase::SCI_GETTEXTLENGTH);\n\n    while (end_position < last_position)\n    {\n        int s = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT,\n                end_position);\n\n        if (s != style)\n            break;\n\n        end_position = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONAFTER,\n                end_position);\n        ++end_text_position;\n    }\n\n    *endOffset = end_text_position;\n\n    // Convert the style to attributes.\n    QString attrs;\n\n    int back = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETBACK, style);\n    addAttribute(attrs, \"background-color\", colourAsRGB(back));\n\n    int fore = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETFORE, style);\n    addAttribute(attrs, \"color\", colourAsRGB(fore));\n\n    QFont font = fontForStyle(style);\n\n    QString family = font.family();\n    family = family.replace('\\\\', QLatin1String(\"\\\\\\\\\"));\n    family = family.replace(':', QLatin1String(\"\\\\:\"));\n    family = family.replace(',', QLatin1String(\"\\\\,\"));\n    family = family.replace('=', QLatin1String(\"\\\\=\"));\n    family = family.replace(';', QLatin1String(\"\\\\;\"));\n    family = family.replace('\\\"', QLatin1String(\"\\\\\\\"\"));\n    addAttribute(attrs, \"font-familly\",\n            QLatin1Char('\"') + family + QLatin1Char('\"'));\n\n    int font_size = int(font.pointSize());\n    addAttribute(attrs, \"font-size\",\n            QString::fromLatin1(\"%1pt\").arg(font_size));\n\n    QFont::Style font_style = font.style();\n    addAttribute(attrs, \"font-style\",\n            QString::fromLatin1((font_style == QFont::StyleItalic) ? \"italic\" : ((font_style == QFont::StyleOblique) ? \"oblique\": \"normal\")));\n\n    int font_weight = font.weight();\n    addAttribute(attrs, \"font-weight\",\n            QString::fromLatin1(\n                    (font_weight > QFont::Normal) ? \"bold\" : \"normal\"));\n\n    int underline = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETUNDERLINE,\n            style);\n    if (underline)\n        addAttribute(attrs, \"text-underline-type\",\n                QString::fromLatin1(\"single\"));\n\n    return attrs;\n}\n\n\n// Add an attribute name/value pair.\nvoid QsciAccessibleScintillaBase::addAttribute(QString &attrs,\n        const char *name, const QString &value)\n{\n    attrs.append(QLatin1String(name));\n    attrs.append(QChar(':'));\n    attrs.append(value);\n    attrs.append(QChar(';'));\n}\n\n\n// Convert a integer colour to an RGB string.\nQString QsciAccessibleScintillaBase::colourAsRGB(int colour)\n{\n    return QString::fromLatin1(\"rgb(%1,%2,%3)\").arg(colour & 0xff).arg((colour >> 8) & 0xff).arg((colour >> 16) & 0xff);\n}\n\n\n// Convert a integer colour to an RGB string.\nQFont QsciAccessibleScintillaBase::fontForStyle(int style) const\n{\n    QsciScintillaBase *sb = sciWidget();\n    char fontName[64];\n    int len = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETFONT, style,\n            fontName);\n    int size = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETSIZE, style);\n    bool italic = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETITALIC,\n            style);\n    int weight = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETWEIGHT,\n            style);\n\n    return QFont(QString::fromUtf8(fontName, len), size, weight, italic);\n}\n\n\n// Delete some text.\nvoid QsciAccessibleScintillaBase::deleteText(int startOffset, int endOffset)\n{\n    addSelection(startOffset, endOffset);\n    sciWidget()->SendScintilla(QsciScintillaBase::SCI_REPLACESEL, \"\");\n}\n\n\n// Insert some text.\nvoid QsciAccessibleScintillaBase::insertText(int offset, const QString &text)\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    sb->SendScintilla(QsciScintillaBase::SCI_INSERTTEXT,\n            offsetAsPosition(sb, offset), textAsBytes(sb, text).constData());\n}\n\n\n// Replace some text.\nvoid QsciAccessibleScintillaBase::replaceText(int startOffset, int endOffset,\n        const QString &text)\n{\n    QsciScintillaBase *sb = sciWidget();\n\n    addSelection(startOffset, endOffset);\n    sb->SendScintilla(QsciScintillaBase::SCI_REPLACESEL,\n            textAsBytes(sb, text).constData());\n}\n\n\n// Return the state.\nQAccessible::State QsciAccessibleScintillaBase::state() const\n{\n    QAccessible::State st = QAccessibleWidget::state();\n\n    st.selectableText = true;\n    st.multiLine = true;\n\n    if (sciWidget()->SendScintilla(QsciScintillaBase::SCI_GETREADONLY))\n        st.readOnly = true;\n    else\n        st.editable = true;\n\n    return st;\n}\n\n\n// Provide access to the indivual interfaces.\nvoid *QsciAccessibleScintillaBase::interface_cast(QAccessible::InterfaceType t)\n{\n    if (t == QAccessible::TextInterface)\n        return static_cast<QAccessibleTextInterface *>(this);\n\n    if (t == QAccessible::EditableTextInterface)\n        return static_cast<QAccessibleEditableTextInterface *>(this);\n\n    return QAccessibleWidget::interface_cast(t);\n}\n\n\n// The accessibility interface factory.\nstatic QAccessibleInterface *factory(const QString &classname, QObject *object)\n{\n    if (classname == QLatin1String(\"QsciScintillaBase\") && object && object->isWidgetType())\n        return new QsciAccessibleScintillaBase(static_cast<QWidget *>(object));\n\n    return 0;\n}\n\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/SciAccessibility.h",
    "content": "// The definition of the class that implements accessibility support.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef _SCIACCESSIBILITY_H\n#define _SCIACCESSIBILITY_H\n\n#include <qglobal.h>\n\n#if !defined(QT_NO_ACCESSIBILITY)\n\n#include <QAccessible>\n#include <QAccessibleEditableTextInterface>\n#include <QAccessibleTextInterface>\n#include <QAccessibleWidget>\n#include <QByteArray>\n#include <QFont>\n#include <QList>\n#include <QString>\n\n\nclass QsciScintillaBase;\n\n\n// The implementation of accessibility support.\nclass QsciAccessibleScintillaBase : public QAccessibleWidget,\n        public QAccessibleTextInterface,\n        public QAccessibleEditableTextInterface\n{\npublic:\n    explicit QsciAccessibleScintillaBase(QWidget *widget);\n    ~QsciAccessibleScintillaBase();\n\n    static void initialise();\n\n    static void selectionChanged(QsciScintillaBase *sb, bool selection);\n    static void textInserted(QsciScintillaBase *sb, int position,\n            const char *text, int length);\n    static void textDeleted(QsciScintillaBase *sb, int position,\n            const char *text, int length);\n    static void updated(QsciScintillaBase *sb);\n\n    void selection(int selectionIndex, int *startOffset, int *endOffset) const;\n    int selectionCount() const;\n    void addSelection(int startOffset, int endOffset);\n    void removeSelection(int selectionIndex);\n    void setSelection(int selectionIndex, int startOffset, int endOffset);\n\n    int cursorPosition() const;\n    void setCursorPosition(int position);\n\n    QString text(int startOffset, int endOffset) const;\n    QString textBeforeOffset(int offset,\n            QAccessible::TextBoundaryType boundaryType, int *startOffset,\n            int *endOffset) const;\n    QString textAfterOffset(int offset,\n            QAccessible::TextBoundaryType boundaryType, int *startOffset,\n            int *endOffset) const;\n    QString textAtOffset(int offset,\n            QAccessible::TextBoundaryType boundaryType, int *startOffset,\n            int *endOffset) const;\n    int characterCount() const;\n    QRect characterRect(int offset) const;\n    int offsetAtPoint(const QPoint &point) const;\n    void scrollToSubstring(int startIndex, int endIndex);\n    QString attributes(int offset, int *startOffset, int *endOffset) const;\n\n    void deleteText(int startOffset, int endOffset);\n    void insertText(int offset, const QString &text);\n    void replaceText(int startOffset, int endOffset, const QString &text);\n\n    QAccessible::State state() const;\n    void *interface_cast(QAccessible::InterfaceType t);\n\nprivate:\n    static bool needs_initialising;\n    static QList<QsciAccessibleScintillaBase *> all_accessibles;\n    int current_cursor_offset;\n    bool is_selection;\n\n    static QsciAccessibleScintillaBase *findAccessible(QsciScintillaBase *sb);\n    QsciScintillaBase *sciWidget() const;\n    int validPosition(int offset) const;\n    static bool boundaries(QsciScintillaBase *sb, int position,\n            QAccessible::TextBoundaryType boundaryType, int *start_position,\n            int *end_position);\n    static QString textRange(QsciScintillaBase *sb, int start_position,\n            int end_position);\n    static QString bytesAsText(QsciScintillaBase *sb, const char *bytes,\n            int length);\n    static QByteArray textAsBytes(QsciScintillaBase *sb, const QString &text);\n    static int positionAsOffset(QsciScintillaBase *sb, int position);\n    static void positionRangeAsOffsetRange(QsciScintillaBase *sb,\n            int start_position, int end_position, int *startOffset,\n            int *endOffset);\n    static int offsetAsPosition(QsciScintillaBase *sb, int offset);\n    static QString colourAsRGB(int colour);\n    static void addAttribute(QString &attrs, const char *name,\n            const QString &value);\n    QFont fontForStyle(int style) const;\n};\n\n\n#endif\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/SciClasses.cpp",
    "content": "// The implementation of various Qt version independent classes used by the\n// rest of the port.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"SciClasses.h\"\n\n#include <QCoreApplication>\n#include <QKeyEvent>\n#include <QListWidgetItem>\n#include <QMouseEvent>\n#include <QPainter>\n#include <QPaintEvent>\n\n#include \"ScintillaQt.h\"\n#include \"ListBoxQt.h\"\n\n\n// Create a call tip.\nQsciSciCallTip::QsciSciCallTip(QWidget *parent, QsciScintillaQt *sci_)\n    : QWidget(parent, Qt::WindowFlags(Qt::Popup|Qt::FramelessWindowHint|Qt::WA_StaticContents)),\n      sci(sci_)\n{\n    // Ensure that the main window keeps the focus (and the caret flashing)\n    // when this is displayed.\n    setFocusProxy(parent);\n}\n\n\n// Destroy a call tip.\nQsciSciCallTip::~QsciSciCallTip()\n{\n    // Ensure that the main window doesn't receive a focus out event when\n    // this is destroyed.\n    setFocusProxy(0);\n}\n\n\n// Paint a call tip.\nvoid QsciSciCallTip::paintEvent(QPaintEvent *)\n{\n    Scintilla::Surface *surfaceWindow = Scintilla::Surface::Allocate(\n            SC_TECHNOLOGY_DEFAULT);\n\n    if (!surfaceWindow)\n        return;\n\n    QPainter p(this);\n\n    surfaceWindow->Init(&p);\n    surfaceWindow->SetUnicodeMode(sci->CodePage() == SC_CP_UTF8);\n    sci->ct.PaintCT(surfaceWindow);\n\n    delete surfaceWindow;\n}\n\n\n// Handle a mouse press in a call tip.\nvoid QsciSciCallTip::mousePressEvent(QMouseEvent *e)\n{\n    Scintilla::Point pt;\n\n    pt.x = e->x();\n    pt.y = e->y();\n\n    sci->ct.MouseClick(pt);\n    sci->CallTipClick();\n\n    update();\n}\n\n\n// Create the popup instance.\nQsciSciPopup::QsciSciPopup()\n{\n    // Set up the mapper.\n    connect(&mapper, SIGNAL(mapped(int)), this, SLOT(on_triggered(int)));\n}\n\n\n// Add an item and associated command to the popup and enable it if required.\nvoid QsciSciPopup::addItem(const QString &label, int cmd, bool enabled,\n        QsciScintillaQt *sci_)\n{\n    QAction *act = addAction(label, &mapper, SLOT(map()));\n    mapper.setMapping(act, cmd);\n    act->setEnabled(enabled);\n    sci = sci_;\n}\n\n\n// A slot to handle a menu action being triggered.\nvoid QsciSciPopup::on_triggered(int cmd)\n{\n    sci->Command(cmd);\n}\n\n\nQsciSciListBox::QsciSciListBox(QWidget *parent, QsciListBoxQt *lbx_)\n    : QListWidget(parent), lbx(lbx_)\n{\n    setAttribute(Qt::WA_StaticContents);\n\n#if defined(Q_OS_WIN)\n    setWindowFlags(Qt::Tool|Qt::FramelessWindowHint);\n\n    // This stops the main widget losing focus when the user clicks on this one\n    // (which prevents this one being destroyed).\n    setFocusPolicy(Qt::NoFocus);\n#else\n    // This is the root of the focus problems under Gnome's window manager.  We\n    // have tried many flag combinations in the past.  The consensus now seems\n    // to be that the following works.  However it might now work because of a\n    // change in Qt so we only enable it for recent versions in order to\n    // reduce the risk of breaking something that works with earlier versions.\n    setWindowFlags(Qt::ToolTip|Qt::WindowStaysOnTopHint);\n\n    // This may not be needed.\n    setFocusProxy(parent);\n#endif\n\n    setFrameShape(StyledPanel);\n    setFrameShadow(Plain);\n}\n\n\nQsciSciListBox::~QsciSciListBox()\n{\n    // Ensure that the main widget doesn't get a focus out event when this is\n    // destroyed.\n    setFocusProxy(0);\n}\n\n\nvoid QsciSciListBox::addItemPixmap(const QPixmap &pm, const QString &txt)\n{\n    new QListWidgetItem(pm, txt, this);\n}\n\n\nint QsciSciListBox::find(const QString &prefix)\n{\n    QList<QListWidgetItem *> itms = findItems(prefix,\n            Qt::MatchStartsWith|Qt::MatchCaseSensitive);\n\n    if (itms.size() == 0)\n        return -1;\n\n    return row(itms[0]);\n}\n\n\nQString QsciSciListBox::text(int n)\n{\n    QListWidgetItem *itm = item(n);\n\n    if (!itm)\n        return QString();\n\n    return itm->text();\n}\n\n\nvoid QsciSciListBox::mouseDoubleClickEvent(QMouseEvent *)\n{\n    lbx->handleDoubleClick();\n}\n\n\nvoid QsciSciListBox::mouseReleaseEvent(QMouseEvent *)\n{\n    lbx->handleRelease();\n}\n"
  },
  {
    "path": "src/qscint/src/SciClasses.h",
    "content": "// The definition of various Qt version independent classes used by the rest of\n// the port.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef _SCICLASSES_H\n#define _SCICLASSES_H\n\n#include <QListWidget>\n#include <QMenu>\n#include <QSignalMapper>\n#include <QWidget>\n\n#include <Qsci/qsciglobal.h>\n\n\nclass QsciScintillaQt;\nclass QsciListBoxQt;\n\n\n// A simple QWidget sub-class to implement a call tip.  This is not put into\n// the Scintilla namespace because of moc's problems with preprocessor macros.\nclass QsciSciCallTip : public QWidget\n{\n    Q_OBJECT\n\npublic:\n    QsciSciCallTip(QWidget *parent, QsciScintillaQt *sci_);\n    ~QsciSciCallTip();\n\nprotected:\n    void paintEvent(QPaintEvent *e);\n    void mousePressEvent(QMouseEvent *e);\n\nprivate:\n    QsciScintillaQt *sci;\n};\n\n\n// A popup menu where options correspond to a numeric command.  This is not put\n// into the Scintilla namespace because of moc's problems with preprocessor\n// macros.\nclass QsciSciPopup : public QMenu\n{\n    Q_OBJECT\n\npublic:\n    QsciSciPopup();\n\n    void addItem(const QString &label, int cmd, bool enabled,\n            QsciScintillaQt *sci_);\n\nprivate slots:\n    void on_triggered(int cmd);\n\nprivate:\n    QsciScintillaQt *sci;\n    QSignalMapper mapper;\n};\n\n\n// This sub-class of QListBox is needed to provide slots from which we can call\n// QsciListBox's double-click callback (and you thought this was a C++\n// program).  This is not put into the Scintilla namespace because of moc's\n// problems with preprocessor macros.\nclass QsciSciListBox : public QListWidget\n{\n    Q_OBJECT\n\npublic:\n    QsciSciListBox(QWidget *parent, QsciListBoxQt *lbx_);\n    virtual ~QsciSciListBox();\n\n    void addItemPixmap(const QPixmap &pm, const QString &txt);\n\n    int find(const QString &prefix);\n    QString text(int n);\n\nprotected:\n    void mouseDoubleClickEvent(QMouseEvent *e);\n    void mouseReleaseEvent(QMouseEvent *e);\n\nprivate:\n    QsciListBoxQt *lbx;\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/ScintillaQt.cpp",
    "content": "﻿// The implementation of the Qt specific subclass of ScintillaBase.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include <string.h>\n\n#include <qapplication.h>\n#include <qbytearray.h>\n#include <qdrag.h>\n#include <qevent.h>\n#include <qmimedata.h>\n#include <qpainter.h>\n#include <qscrollbar.h>\n#include <qstring.h>\n\n//20211129 如果不定义这个，在大文件修改doc行尾时，非常慢，得卡死比较久。\n#define QT_NO_ACCESSIBILITY 1\n\n#include \"Qsci/qsciscintillabase.h\"\n#include \"ScintillaQt.h\"\n#if !defined(QT_NO_ACCESSIBILITY)\n#include \"SciAccessibility.h\"\n#endif\n#include \"SciClasses.h\"\n\n\n// We want to use the Scintilla notification names as Qt signal names.\n#undef  SCEN_CHANGE\n#undef  SCN_AUTOCCANCELLED\n#undef  SCN_AUTOCCHARDELETED\n#undef  SCN_AUTOCCOMPLETED\n#undef  SCN_AUTOCSELECTION\n#undef  SCN_AUTOCSELECTIONCHANGE\n#undef  SCN_CALLTIPCLICK\n#undef  SCN_CHARADDED\n#undef  SCN_DOUBLECLICK\n#undef  SCN_DWELLEND\n#undef  SCN_DWELLSTART\n#undef  SCN_FOCUSIN\n#undef  SCN_FOCUSOUT\n#undef  SCN_HOTSPOTCLICK\n#undef  SCN_HOTSPOTDOUBLECLICK\n#undef  SCN_HOTSPOTRELEASECLICK\n#undef  SCN_INDICATORCLICK\n#undef  SCN_INDICATORRELEASE\n#undef  SCN_MACRORECORD\n#undef  SCN_MARGINCLICK\n#undef  SCN_MARGINRIGHTCLICK\n#undef  SCN_MODIFIED\n#undef  SCN_MODIFYATTEMPTRO\n#undef  SCN_NEEDSHOWN\n#undef  SCN_PAINTED\n#undef  SCN_SAVEPOINTLEFT\n#undef  SCN_SAVEPOINTREACHED\n#undef  SCN_STYLENEEDED\n#undef  SCN_UPDATEUI\n#undef  SCN_USERLISTSELECTION\n#undef  SCN_ZOOM\n\nenum\n{\n    SCEN_CHANGE = 768,\n    SCN_AUTOCCANCELLED = 2025,\n    SCN_AUTOCCHARDELETED = 2026,\n    SCN_AUTOCCOMPLETED = 2030,\n    SCN_AUTOCSELECTION = 2022,\n    SCN_AUTOCSELECTIONCHANGE = 2032,\n    SCN_CALLTIPCLICK = 2021,\n    SCN_CHARADDED = 2001,\n    SCN_DOUBLECLICK = 2006,\n    SCN_DWELLEND = 2017,\n    SCN_DWELLSTART = 2016,\n    SCN_FOCUSIN = 2028,\n    SCN_FOCUSOUT = 2029,\n    SCN_HOTSPOTCLICK = 2019,\n    SCN_HOTSPOTDOUBLECLICK = 2020,\n    SCN_HOTSPOTRELEASECLICK = 2027,\n    SCN_INDICATORCLICK = 2023,\n    SCN_INDICATORRELEASE = 2024,\n    SCN_MACRORECORD = 2009,\n    SCN_MARGINCLICK = 2010,\n    SCN_MARGINRIGHTCLICK = 2031,\n    SCN_MODIFIED = 2008,\n    SCN_MODIFYATTEMPTRO = 2004,\n    SCN_NEEDSHOWN = 2011,\n    SCN_PAINTED = 2013,\n    SCN_SAVEPOINTLEFT = 2003,\n    SCN_SAVEPOINTREACHED = 2002,\n    SCN_STYLENEEDED = 2000,\n    SCN_UPDATEUI = 2007,\n    SCN_USERLISTSELECTION = 2014,\n    SCN_ZOOM = 2018\n};\n\n\n// The ctor.\nQsciScintillaQt::QsciScintillaQt(QsciScintillaBase *qsb_)\n    : vMax(0), hMax(0), vPage(0), hPage(0), capturedMouse(false), qsb(qsb_),m_inPasteStatus(false)\n{\n    wMain = qsb->viewport();\n\n    // This is ignored.\n    imeInteraction = imeInline;\n\n    // Using pixmaps screws things up when moving to a different display\n    // (although this could be because we haven't got the pixmap code right).\n    // However Qt shouldn't need buffered drawing anyway.\n    WndProc(SCI_SETBUFFEREDDRAW, 0, 0);\n\n    for (int i = 0; i <= static_cast<int>(tickPlatform); ++i)\n        timers[i] = 0;\n\n    Initialise();\n}\n\n\n// The dtor.\nQsciScintillaQt::~QsciScintillaQt()\n{ \n    Finalise();\n}\n\n\n// Initialise the instance.\nvoid QsciScintillaQt::Initialise()\n{\n    // This signal is only ever emitted for systems that have a separate\n    // selection (ie. X11).\n    connect(QApplication::clipboard(), SIGNAL(selectionChanged()), this,\n            SLOT(onSelectionChanged()));\n}\n\n\n// Tidy up the instance.\nvoid QsciScintillaQt::Finalise()\n{\n    for (int i = 0; i <= static_cast<int>(tickPlatform); ++i)\n        FineTickerCancel(static_cast<TickReason>(i));\n\n    ScintillaBase::Finalise();\n}\n\n\n// Start a drag.\nvoid QsciScintillaQt::StartDrag()\n{\n    inDragDrop = ddDragging;\n\n    QDrag *qdrag = new QDrag(qsb);\n    qdrag->setMimeData(mimeSelection(drag));\n\n    Qt::DropAction action = qdrag->exec(Qt::MoveAction | Qt::CopyAction, Qt::MoveAction);\n\n    // Remove the dragged text if it was a move to another widget or\n    // application.\n    if (action == Qt::MoveAction && qdrag->target() != qsb->viewport())\n        ClearSelection();\n\n    inDragDrop = ddNone;\n    SetDragPosition(Scintilla::SelectionPosition(INVALID_POSITION));\n  \n}\n\n\n// Re-implement to trap certain messages.\nsptr_t QsciScintillaQt::WndProc(unsigned int iMessage, uptr_t wParam,\n        sptr_t lParam)\n{\n    switch (iMessage)\n    {\n    case SCI_GETDIRECTFUNCTION:\n        return reinterpret_cast<sptr_t>(DirectFunction);\n    \n    case SCI_GETDIRECTPOINTER:\n        return reinterpret_cast<sptr_t>(this);\n    }\n\n    return ScintillaBase::WndProc(iMessage, wParam, lParam);\n}\n\n\n// Windows nonsense.\nsptr_t QsciScintillaQt::DefWndProc(unsigned int, uptr_t, sptr_t)\n{\n    return 0;\n}\n\n\n// Grab or release the mouse (and keyboard).\nvoid QsciScintillaQt::SetMouseCapture(bool on)\n{\n    if (mouseDownCaptures)\n    {\n        if (on)\n            qsb->viewport()->grabMouse();\n        else\n            qsb->viewport()->releaseMouse();\n    }\n\n    capturedMouse = on;\n}\n\n\n// Return true if the mouse/keyboard are currently grabbed.\nbool QsciScintillaQt::HaveMouseCapture()\n{\n    return capturedMouse;\n}\n\n\n// Set the position of the vertical scrollbar.\nvoid QsciScintillaQt::SetVerticalScrollPos()\n{\n    QScrollBar *sb = qsb->verticalScrollBar();\n    bool was_blocked = sb->blockSignals(true);\n\n    sb->setValue(topLine);\n\n    sb->blockSignals(was_blocked);\n}\n\n\n// Set the position of the horizontal scrollbar.\nvoid QsciScintillaQt::SetHorizontalScrollPos()\n{\n    QScrollBar *sb = qsb->horizontalScrollBar();\n    bool was_blocked = sb->blockSignals(true);\n\n    sb->setValue(xOffset);\n\n    sb->blockSignals(was_blocked);\n}\n\n\n// Set the extent of the vertical and horizontal scrollbars and return true if\n// the view needs re-drawing.\nbool QsciScintillaQt::ModifyScrollBars(Sci::Line nMax, Sci::Line nPage)\n{\n    bool modified = false;\n    QScrollBar *sb;\n\n    int vNewPage = nPage;\n    int vNewMax = nMax - vNewPage + 1;\n\n    if (vMax != vNewMax || vPage != vNewPage)\n    {\n        vMax = vNewMax;\n        vPage = vNewPage;\n        modified = true;\n\n        sb = qsb->verticalScrollBar();\n        sb->setMaximum(vMax);\n        sb->setPageStep(vPage);\n    }\n\n    int hNewPage = GetTextRectangle().Width();\n    int hNewMax = (scrollWidth > hNewPage) ? scrollWidth - hNewPage : 0;\n    int charWidth = vs.styles[STYLE_DEFAULT].aveCharWidth;\n\n    sb = qsb->horizontalScrollBar();\n\n    if (hMax != hNewMax || hPage != hNewPage || sb->singleStep() != charWidth)\n    {\n        hMax = hNewMax;\n        hPage = hNewPage;\n        modified = true;\n\n        sb->setMaximum(hMax);\n        sb->setPageStep(hPage);\n        sb->setSingleStep(charWidth);\n    }\n\n    return modified;\n}\n\n\n// Called after SCI_SETWRAPMODE and SCI_SETHSCROLLBAR.\nvoid QsciScintillaQt::ReconfigureScrollBars()\n{\n    // Hide or show the scrollbars if needed.\n    bool hsb = (horizontalScrollBarVisible && !Wrapping());\n\n    qsb->setHorizontalScrollBarPolicy(hsb ? Qt::ScrollBarAsNeeded : Qt::ScrollBarAlwaysOff);\n    qsb->setVerticalScrollBarPolicy(verticalScrollBarVisible ? Qt::ScrollBarAsNeeded : Qt::ScrollBarAlwaysOff);\n}\n\n\n// Notify interested parties of any change in the document.\nvoid QsciScintillaQt::NotifyChange()\n{\n    emit qsb->SCEN_CHANGE();\n}\n\n\n// Notify interested parties of various events.  This is the main mapping\n// between Scintilla notifications and Qt signals.\nvoid QsciScintillaQt::NotifyParent(SCNotification scn)\n{\n    switch (scn.nmhdr.code)\n    {\n    case SCN_CALLTIPCLICK:\n        emit qsb->SCN_CALLTIPCLICK(scn.position);\n        break;\n\n    case SCN_AUTOCCANCELLED:\n        emit qsb->SCN_AUTOCCANCELLED();\n        break;\n\n    case SCN_AUTOCCHARDELETED:\n        emit qsb->SCN_AUTOCCHARDELETED();\n        break;\n\n    case SCN_AUTOCCOMPLETED:\n        emit qsb->SCN_AUTOCCOMPLETED(scn.text, scn.position, scn.ch,\n                scn.listCompletionMethod);\n        break;\n\n    case SCN_AUTOCSELECTION:\n        emit qsb->SCN_AUTOCSELECTION(scn.text, scn.position, scn.ch,\n                scn.listCompletionMethod);\n        emit qsb->SCN_AUTOCSELECTION(scn.text, scn.position);\n        break;\n\n    case SCN_AUTOCSELECTIONCHANGE:\n        emit qsb->SCN_AUTOCSELECTIONCHANGE(scn.text, scn.listType,\n                scn.position);\n        break;\n\n    case SCN_CHARADDED:\n        emit qsb->SCN_CHARADDED(scn.ch);\n        break;\n\n    case SCN_DOUBLECLICK:\n        emit qsb->SCN_DOUBLECLICK(scn.position, scn.line, scn.modifiers);\n        break;\n\n    case SCN_DWELLEND:\n        emit qsb->SCN_DWELLEND(scn.position, scn.x, scn.y);\n        break;\n\n    case SCN_DWELLSTART:\n        emit qsb->SCN_DWELLSTART(scn.position, scn.x, scn.y);\n        break;\n\n    case SCN_FOCUSIN:\n        emit qsb->SCN_FOCUSIN();\n        break;\n\n    case SCN_FOCUSOUT:\n        emit qsb->SCN_FOCUSOUT();\n        break;\n\n    case SCN_HOTSPOTCLICK:\n        emit qsb->SCN_HOTSPOTCLICK(scn.position, scn.modifiers);\n        break;\n\n    case SCN_HOTSPOTDOUBLECLICK:\n        emit qsb->SCN_HOTSPOTDOUBLECLICK(scn.position, scn.modifiers);\n        break;\n\n    case SCN_HOTSPOTRELEASECLICK:\n        emit qsb->SCN_HOTSPOTRELEASECLICK(scn.position, scn.modifiers);\n        break;\n\n    case SCN_INDICATORCLICK:\n        emit qsb->SCN_INDICATORCLICK(scn.position, scn.modifiers);\n        break;\n\n    case SCN_INDICATORRELEASE:\n        emit qsb->SCN_INDICATORRELEASE(scn.position, scn.modifiers);\n        break;\n\n    case SCN_MACRORECORD:\n        emit qsb->SCN_MACRORECORD(scn.message, scn.wParam,\n                reinterpret_cast<void *>(scn.lParam));\n        break;\n\n    case SCN_MARGINCLICK:\n        emit qsb->SCN_MARGINCLICK(scn.position, scn.modifiers, scn.margin);\n        break;\n\n    case SCN_MARGINRIGHTCLICK:\n        emit qsb->SCN_MARGINRIGHTCLICK(scn.position, scn.modifiers,\n                scn.margin);\n        break;\n\n    case SCN_MODIFIED:\n        {\n            char *text;\n\n#if !defined(QT_NO_ACCESSIBILITY)\n            if ((scn.modificationType & SC_MOD_INSERTTEXT) != 0)\n                QsciAccessibleScintillaBase::textInserted(qsb, scn.position,\n                        scn.text, scn.length);\n            else if ((scn.modificationType & SC_MOD_DELETETEXT) != 0)\n                QsciAccessibleScintillaBase::textDeleted(qsb, scn.position,\n                        scn.text, scn.length);\n#endif\n\n            // Give some protection to the Python bindings.\n            if (scn.text && (scn.modificationType & (SC_MOD_INSERTTEXT|SC_MOD_DELETETEXT)) != 0)\n            {\n                text = new char[scn.length + 1];\n                memcpy(text, scn.text, scn.length);\n                text[scn.length] = '\\0';\n            }\n            else\n            {\n                text = 0;\n            }\n\n#ifdef CCPAD_\n\t\t\t//如果不是新增和删除，则不发送消息了。\n\t\t\tif (scn.text && (scn.modificationType & (SC_MOD_INSERTTEXT | SC_MOD_DELETETEXT)) != 0)\n\t\t\t{\n            emit qsb->SCN_MODIFIED(scn.position, scn.modificationType, text,\n                    scn.length, scn.linesAdded, scn.line, scn.foldLevelNow,\n                    scn.foldLevelPrev, scn.token, scn.annotationLinesAdded);\n\t\t\t}\n#else\n\t\t\temit qsb->SCN_MODIFIED(scn.position, scn.modificationType, text,\n\t\t\t\tscn.length, scn.linesAdded, scn.line, scn.foldLevelNow,\n\t\t\t\tscn.foldLevelPrev, scn.token, scn.annotationLinesAdded);\n#endif\n\n            \n\n            if (text)\n                delete[] text;\n\n            break;\n        }\n\n    case SCN_MODIFYATTEMPTRO:\n        emit qsb->SCN_MODIFYATTEMPTRO();\n        break;\n\n    case SCN_NEEDSHOWN:\n        emit qsb->SCN_NEEDSHOWN(scn.position, scn.length);\n        break;\n\n    case SCN_PAINTED:\n        emit qsb->SCN_PAINTED();\n        break;\n\n    case SCN_SAVEPOINTLEFT:\n        emit qsb->SCN_SAVEPOINTLEFT();\n        break;\n\n    case SCN_SAVEPOINTREACHED:\n        emit qsb->SCN_SAVEPOINTREACHED();\n        break;\n\n    case SCN_STYLENEEDED:\n        emit qsb->SCN_STYLENEEDED(scn.position);\n        break;\n\n    case SCN_UPDATEUI:\n#if !defined(QT_NO_ACCESSIBILITY)\n        QsciAccessibleScintillaBase::updated(qsb);\n#endif\n        emit qsb->SCN_UPDATEUI(scn.updated);\n        break;\n\n    case SCN_USERLISTSELECTION:\n        emit qsb->SCN_USERLISTSELECTION(scn.text, scn.listType, scn.ch,\n                scn.listCompletionMethod, scn.position);\n        emit qsb->SCN_USERLISTSELECTION(scn.text, scn.listType, scn.ch,\n                scn.listCompletionMethod);\n        emit qsb->SCN_USERLISTSELECTION(scn.text, scn.listType);\n        break;\n\n    case SCN_ZOOM:\n        emit qsb->SCN_ZOOM();\n        break;\n\n    default:\n        qWarning(\"Unknown notification: %u\", scn.nmhdr.code);\n    }\n}\n\n\n// Convert a selection to mime data.\nQMimeData *QsciScintillaQt::mimeSelection(\n        const Scintilla::SelectionText &text) const\n{\n    return qsb->toMimeData(QByteArray(text.Data()), text.rectangular);\n}\n\n\n// Copy the selected text to the clipboard.\nvoid QsciScintillaQt::CopyToClipboard(\n        const Scintilla::SelectionText &selectedText)\n{\n    QApplication::clipboard()->setMimeData(mimeSelection(selectedText));\n}\n\n\n// Implement copy.\nvoid QsciScintillaQt::Copy()\n{\n    if (!sel.Empty())\n    {\n        Scintilla::SelectionText text;\n\n        CopySelectionRange(&text);\n        CopyToClipboard(text);\n    }\n}\n\n\n/*检测是否在拷贝状态，因为拷贝可能有删除和添加一起，外部要做一个整体对待而识别*/\nbool QsciScintillaQt::IsInPasteStatus()\n{\n\treturn m_inPasteStatus;\n}\n\n\n// Implement pasting text.\nvoid QsciScintillaQt::Paste()\n{\n\tm_inPasteStatus = true;\n    pasteFromClipboard(QClipboard::Clipboard);\n\tm_inPasteStatus = false;\n}\n\n\n// Paste text from either the clipboard or selection.\nvoid QsciScintillaQt::pasteFromClipboard(QClipboard::Mode mode)\n{\n    int len;\n    const char *s;\n    bool rectangular;\n\n    const QMimeData *source = QApplication::clipboard()->mimeData(mode);\n\n    if (!source || !qsb->canInsertFromMimeData(source))\n        return;\n\n    QByteArray text = qsb->fromMimeData(source, rectangular);\n    len = text.length();\n    s = text.data();\n\n    std::string dest = Scintilla::Document::TransformLineEnds(s, len,\n            pdoc->eolMode);\n\n    Scintilla::SelectionText selText;\n    selText.Copy(dest, (IsUnicodeMode() ? SC_CP_UTF8 : 0),\n            vs.styles[STYLE_DEFAULT].characterSet, rectangular, false);\n\n    Scintilla::UndoGroup ug(pdoc);\n\n    ClearSelection();\n    InsertPasteShape(selText.Data(), selText.Length(),\n            selText.rectangular ? pasteRectangular : pasteStream);\n    EnsureCaretVisible();\n}\n\n\n// Create a call tip window.\nvoid QsciScintillaQt::CreateCallTipWindow(Scintilla::PRectangle rc)\n{\n    if (!ct.wCallTip.Created())\n        ct.wCallTip = new QsciSciCallTip(qsb, this);\n\n    QsciSciCallTip *w = reinterpret_cast<QsciSciCallTip *>(ct.wCallTip.GetID());\n\n    w->resize(rc.right - rc.left, rc.bottom - rc.top);\n    ct.wCallTip.Show();\n}\n\n\n// Add an item to the right button menu.\nvoid QsciScintillaQt::AddToPopUp(const char *label, int cmd, bool enabled)\n{\n    QsciSciPopup *pm = static_cast<QsciSciPopup *>(popup.GetID());\n\n    if (*label)\n        pm->addItem(qApp->translate(\"ContextMenu\", label), cmd, enabled, this);\n    else\n        pm->addSeparator();\n}\n\n\n// Claim the (primary) selection.\nvoid QsciScintillaQt::ClaimSelection()\n{\n    QClipboard *cb = QApplication::clipboard();\n    bool isSel = !sel.Empty();\n\n    if (cb->supportsSelection())\n    {\n        if (isSel)\n        {\n            Scintilla::SelectionText text;\n\n            CopySelectionRange(&text);\n\n            if (text.Data())\n                cb->setMimeData(mimeSelection(text), QClipboard::Selection);\n\n            primarySelection = true;\n        }\n        else\n        {\n            primarySelection = false;\n        }\n    }\n\n#if !defined(QT_NO_ACCESSIBILITY)\n    QsciAccessibleScintillaBase::selectionChanged(qsb, isSel);\n#endif\n\n    emit qsb->QSCN_SELCHANGED(isSel);\n}\n\n\n// Unclaim the (primary) selection.\nvoid QsciScintillaQt::onSelectionChanged()\n{\n    bool new_primary = QApplication::clipboard()->ownsSelection();\n\n    if (primarySelection != new_primary)\n    {\n        primarySelection = new_primary;\n        qsb->viewport()->update();\n    }\n}\n\n\n// Implemented to provide compatibility with the Windows version.\nsptr_t QsciScintillaQt::DirectFunction(QsciScintillaQt *sciThis, unsigned int iMessage,\n        uptr_t wParam, sptr_t lParam)\n{\n    return sciThis->WndProc(iMessage,wParam,lParam);\n}\n\n\n// Draw the contents of the widget.\nvoid QsciScintillaQt::paintEvent(QPaintEvent *e)\n{\n    Scintilla::Surface *sw;\n\n    const QRect &qr = e->rect();\n\n    rcPaint.left = qr.left();\n    rcPaint.top = qr.top();\n    rcPaint.right = qr.right() + 1;\n    rcPaint.bottom = qr.bottom() + 1;\n\n    Scintilla::PRectangle rcClient = GetClientRectangle();\n    paintingAllText = rcPaint.Contains(rcClient);\n\n    sw = Scintilla::Surface::Allocate(SC_TECHNOLOGY_DEFAULT);\n    if (!sw)\n        return;\n\n    QPainter painter(qsb->viewport());\n\n    paintState = painting;\n    sw->Init(&painter);\n    sw->SetUnicodeMode(CodePage() == SC_CP_UTF8);\n    Paint(sw, rcPaint);\n\n    delete sw;\n\n    // If the painting area was insufficient to cover the new style or brace\n    // highlight positions then repaint the whole thing.\n    if (paintState == paintAbandoned)\n    {\n        // Do a full re-paint immediately.  This may only be needed on OS X (to\n        // avoid flicker).\n        paintingAllText = true;\n\n        sw = Scintilla::Surface::Allocate(SC_TECHNOLOGY_DEFAULT);\n        if (!sw)\n            return;\n\n        QPainter painter(qsb->viewport());\n\n        paintState = painting;\n        sw->Init(&painter);\n        sw->SetUnicodeMode(CodePage() == SC_CP_UTF8);\n        Paint(sw, rcPaint);\n\n        delete sw;\n\n        qsb->viewport()->update();\n    }\n\n    paintState = notPainting;\n}\n\n\n// Re-implemented to drive the tickers.\nvoid QsciScintillaQt::timerEvent(QTimerEvent *e)\n{\n    for (int i = 0; i <= static_cast<int>(tickPlatform); ++i)\n        if (timers[i] == e->timerId())\n            TickFor(static_cast<TickReason>(i));\n}\n\n\n// Re-implemented to say we support fine tickers.\nbool QsciScintillaQt::FineTickerAvailable()\n{\n    return true;\n}\n\n\n// Re-implemented to stop a ticker.\nvoid QsciScintillaQt::FineTickerCancel(TickReason reason)\n{\n    int &ticker = timers[static_cast<int>(reason)];\n\n    if (ticker != 0)\n    {\n        killTimer(ticker);\n        ticker = 0;\n    }\n}\n\n\n// Re-implemented to check if a particular ticker is running.\nbool QsciScintillaQt::FineTickerRunning(TickReason reason)\n{\n    return (timers[static_cast<int>(reason)] != 0);\n}\n\n\n// Re-implemented to start a ticker.\nvoid QsciScintillaQt::FineTickerStart(TickReason reason, int ms, int)\n{\n    int &ticker = timers[static_cast<int>(reason)];\n\n    if (ticker != 0)\n        killTimer(ticker);\n\n    ticker = startTimer(ms);\n}\n\n\n// Re-implemented to support idle processing.\nbool QsciScintillaQt::SetIdle(bool on)\n{\n    if (on)\n    {\n        if (!idler.state)\n        {\n            QTimer *timer = reinterpret_cast<QTimer *>(idler.idlerID);\n\n            if (!timer)\n            {\n                idler.idlerID = timer = new QTimer(this);\n                connect(timer, SIGNAL(timeout()), this, SLOT(onIdle()));\n            }\n\n            timer->start(0);\n            idler.state = true;\n        }\n    }\n    else if (idler.state)\n    {\n        reinterpret_cast<QTimer *>(idler.idlerID)->stop();\n        idler.state = false;\n    }\n\n    return true;\n}\n\n\n// Invoked to trigger any idle processing.\nvoid QsciScintillaQt::onIdle()\n{\n    if (!Idle())\n        SetIdle(false);\n}\n"
  },
  {
    "path": "src/qscint/src/ScintillaQt.h",
    "content": "﻿// The definition of the Qt specific subclass of ScintillaBase.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#ifndef SCINTILLAQT_H\n#define\tSCINTILLAQT_H\n\n\n#include <QClipboard>\n#include <QObject>\n\n#include <Qsci/qsciglobal.h>\n\n// These are needed because Scintilla class header files don't manage their own\n// dependencies properly.\n#include <algorithm>\n#include <assert.h>\n#include <ctype.h>\n#include <memory>\n#include <stdexcept>\n#include <stdlib.h>\n#include <string>\n#include <map>\n#include <vector>\n#include \"ILexer.h\"\n#include \"ILoader.h\"\n#include \"Platform.h\"\n#include \"Scintilla.h\"\n#include \"SplitVector.h\"\n#include \"Partitioning.h\"\n#include \"Position.h\"\n#include \"UniqueString.h\"\n#include \"CellBuffer.h\"\n#include \"CharClassify.h\"\n#include \"RunStyles.h\"\n#include \"CaseFolder.h\"\n#include \"Decoration.h\"\n#include \"Document.h\"\n#include \"Style.h\"\n#include \"XPM.h\"\n#include \"LineMarker.h\"\n#include \"Indicator.h\"\n#include \"ViewStyle.h\"\n#include \"KeyMap.h\"\n#include \"ContractionState.h\"\n#include \"Selection.h\"\n#include \"PositionCache.h\"\n#include \"EditModel.h\"\n#include \"MarginView.h\"\n#include \"EditView.h\"\n#include \"Editor.h\"\n#include \"AutoComplete.h\"\n#include \"CallTip.h\"\n#include \"LexAccessor.h\"\n#include \"Accessor.h\"\n\n#include \"ScintillaBase.h\"\n\n\nQT_BEGIN_NAMESPACE\nclass QMimeData;\nclass QPaintEvent;\nQT_END_NAMESPACE\n\nclass QsciScintillaBase;\nclass QsciSciCallTip;\nclass QsciSciPopup;\n\n\n// This is an internal class but it is referenced by a public class so it has\n// to have a Qsci prefix rather than being put in the Scintilla namespace.\n// (However the reason for avoiding this no longer applies.)\nclass QsciScintillaQt : public QObject, public Scintilla::ScintillaBase\n{\n    Q_OBJECT\n\n\tfriend class QsciScintillaBase;\n\tfriend class QsciSciCallTip;\n\tfriend class QsciSciPopup;\n\npublic:\n\tQsciScintillaQt(QsciScintillaBase *qsb_);\n\tvirtual ~QsciScintillaQt();\n\n\tvirtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam,\n            sptr_t lParam);\n\n#ifdef CCPAD_\n\t//是否在拷贝状态\n\tbool IsInPasteStatus();\n#endif\n\nprotected:\n    void timerEvent(QTimerEvent *e);\n\n\n\nprivate slots:\n    void onIdle();\n    void onSelectionChanged();\n\nprivate:\n\tvoid Initialise();\n\tvoid Finalise();\n    bool SetIdle(bool on);\n\tvoid StartDrag();\n\tsptr_t DefWndProc(unsigned int, uptr_t, sptr_t);\n\tvoid SetMouseCapture(bool on);\n\tbool HaveMouseCapture();\n\tvoid SetVerticalScrollPos();\n\tvoid SetHorizontalScrollPos();\n\tbool ModifyScrollBars(Sci::Line nMax, Sci::Line nPage);\n\tvoid ReconfigureScrollBars();\n\tvoid NotifyChange();\n\tvoid NotifyParent(SCNotification scn);\n\tvoid CopyToClipboard(const Scintilla::SelectionText &selectedText);\n\tvoid Copy();\n\tvoid Paste();\n\tvoid CreateCallTipWindow(Scintilla::PRectangle rc);\n\tvoid AddToPopUp(const char *label, int cmd = 0, bool enabled = true);\n\tvoid ClaimSelection();\n\tvoid UnclaimSelection();\n\tstatic sptr_t DirectFunction(QsciScintillaQt *sci, unsigned int iMessage,\n            uptr_t wParam,sptr_t lParam);\n\n\tQMimeData *mimeSelection(const Scintilla::SelectionText &text) const;\n\tvoid paintEvent(QPaintEvent *e);\n    void pasteFromClipboard(QClipboard::Mode mode);\n\n    // tickPlatform is the last of the TickReason members.\n    int timers[tickPlatform + 1];\n    bool FineTickerAvailable();\n    void FineTickerCancel(TickReason reason);\n    bool FineTickerRunning(TickReason reason);\n    void FineTickerStart(TickReason reason, int ms, int tolerance);\n\n    int vMax, hMax, vPage, hPage;\n    bool capturedMouse;\n    QsciScintillaBase *qsb;\n\t//是否在拷贝状态\n\tbool m_inPasteStatus;\n};\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/features/qscintilla2.prf",
    "content": "QT += widgets\n!ios:QT += printsupport\nmacx:lessThan(QT_MAJOR_VERSION, 6) {\n    QT += macextras\n}\n\nDEFINES += QSCINTILLA_DLL\n\nINCLUDEPATH += $$[QT_INSTALL_HEADERS]\n\nLIBS += -L$$[QT_INSTALL_LIBS]\n\nCONFIG(debug, debug|release) {\n    mac: {\n        LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}_debug\n    } else {\n        win32: {\n            LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}d\n        } else {\n            LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}\n        }\n    }\n} else {\n    LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}\n}\n"
  },
  {
    "path": "src/qscint/src/features_staticlib/qscintilla2.prf",
    "content": "QT += widgets\n!ios:QT += printsupport\nmacx:lessThan(QT_MAJOR_VERSION, 6) {\n    QT += macextras\n}\n\nINCLUDEPATH += $$[QT_INSTALL_HEADERS]\n\nLIBS += -L$$[QT_INSTALL_LIBS]\n\nCONFIG(debug, debug|release) {\n    mac: {\n        LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}_debug\n    } else {\n        win32: {\n            LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}d\n        } else {\n            LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}\n        }\n    }\n} else {\n    LIBS += -lqscintilla2_qt$${QT_MAJOR_VERSION}\n}\n"
  },
  {
    "path": "src/qscint/src/qsciabstractapis.cpp",
    "content": "// This module implements the QsciAbstractAPIs class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qsciabstractapis.h\"\n\n#include \"Qsci/qscilexer.h\"\n\n\n// The ctor.\nQsciAbstractAPIs::QsciAbstractAPIs(QsciLexer *lexer)\n    : QObject(lexer), lex(lexer)\n{\n    lexer->setAPIs(this);\n}\n\n\n// The dtor.\nQsciAbstractAPIs::~QsciAbstractAPIs()\n{\n}\n\n\n// Return the lexer.\nQsciLexer *QsciAbstractAPIs::lexer() const\n{\n    return lex;\n}\n\n\n// Called when the user has made a selection from the auto-completion list.\nvoid QsciAbstractAPIs::autoCompletionSelected(const QString &selection)\n{\n    Q_UNUSED(selection);\n}\n"
  },
  {
    "path": "src/qscint/src/qsciapis.cpp",
    "content": "// This module implements the QsciAPIs class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include <stdlib.h>\n\n#include <algorithm>\n\n#include \"Qsci/qsciapis.h\"\n\n#include <QApplication>\n#include <QDataStream>\n#include <QDir>\n#include <QEvent>\n#include <QFile>\n#include <QLibraryInfo>\n#include <QMap>\n#include <QTextStream>\n#include <QThread>\n\n#include \"Qsci/qscilexer.h\"\n\n\n\n// The version number of the prepared API information format.\nconst unsigned char PreparedDataFormatVersion = 0;\n\n\n// This class contains prepared API information.\nstruct QsciAPIsPrepared\n{\n    // The word dictionary is a map of individual words and a list of positions\n    // each occurs in the sorted list of APIs.  A position is a tuple of the\n    // index into the list of APIs and the index into the particular API.\n    QMap<QString, QsciAPIs::WordIndexList> wdict;\n\n    // The case dictionary maps the case insensitive words to the form in which\n    // they are to be used.  It is only used if the language is case\n    // insensitive.\n    QMap<QString, QString> cdict;\n\n    // The raw API information.\n    QStringList raw_apis;\n\n    QStringList apiWords(int api_idx, const QStringList &wseps,\n            bool strip_image) const;\n    static QString apiBaseName(const QString &api);\n};\n\n\n// Return a particular API entry as a list of words.\nQStringList QsciAPIsPrepared::apiWords(int api_idx, const QStringList &wseps,\n        bool strip_image) const\n{\n    QString base = apiBaseName(raw_apis[api_idx]);\n\n    // Remove any embedded image reference if necessary.\n    if (strip_image)\n    {\n        int tail = base.indexOf('?');\n\n        if (tail >= 0)\n            base.truncate(tail);\n    }\n\n    if (wseps.isEmpty())\n        return QStringList(base);\n\n    return base.split(wseps.first());\n}\n\n\n// Return the name of an API function, ie. without the arguments.\nQString QsciAPIsPrepared::apiBaseName(const QString &api)\n{\n    QString base = api;\n    int tail = base.indexOf('(');\n\n    if (tail >= 0)\n        base.truncate(tail);\n\n    return base.simplified();\n}\n\n\n// The user event type that signals that the worker thread has started.\nconst QEvent::Type WorkerStarted = static_cast<QEvent::Type>(QEvent::User + 1012);\n\n\n// The user event type that signals that the worker thread has finished.\nconst QEvent::Type WorkerFinished = static_cast<QEvent::Type>(QEvent::User + 1013);\n\n\n// The user event type that signals that the worker thread has aborted.\nconst QEvent::Type WorkerAborted = static_cast<QEvent::Type>(QEvent::User + 1014);\n\n\n// This class is the worker thread that post-processes the API set.\nclass QsciAPIsWorker : public QThread\n{\npublic:\n    QsciAPIsWorker(QsciAPIs *apis);\n    virtual ~QsciAPIsWorker();\n\n    virtual void run();\n\n    QsciAPIsPrepared *prepared;\n\nprivate:\n    QsciAPIs *proxy;\n    bool abort;\n};\n\n\n// The worker thread ctor.\nQsciAPIsWorker::QsciAPIsWorker(QsciAPIs *apis)\n    : prepared(0), proxy(apis), abort(false)\n{\n}\n\n\n// The worker thread dtor.\nQsciAPIsWorker::~QsciAPIsWorker()\n{\n    // Tell the thread to stop.  There is no need to bother with a mutex.\n    abort = true;\n\n    // Wait for it to do so and hit it if it doesn't.\n    if (!wait(500))\n        terminate();\n\n    if (prepared)\n        delete prepared;\n}\n\n\n// The worker thread entry point.\nvoid QsciAPIsWorker::run()\n{\n    // Sanity check.\n    if (!prepared)\n        return;\n\n    // Tell the main thread we have started.\n    QApplication::postEvent(proxy, new QEvent(WorkerStarted));\n\n    // Sort the full list.\n    prepared->raw_apis.sort();\n\n    QStringList wseps = proxy->lexer()->autoCompletionWordSeparators();\n    bool cs = proxy->lexer()->caseSensitive();\n\n    // Split each entry into separate words but ignoring any arguments.\n    for (int a = 0; a < prepared->raw_apis.count(); ++a)\n    {\n        // Check to see if we should stop.\n        if (abort)\n            break;\n\n        QStringList words = prepared->apiWords(a, wseps, true);\n\n        for (int w = 0; w < words.count(); ++w)\n        {\n            const QString &word = words[w];\n\n            // Add the word's position to any existing list for this word.\n            QsciAPIs::WordIndexList wil = prepared->wdict[word];\n\n            // If the language is case insensitive and we haven't seen this\n            // word before then save it in the case dictionary.\n            if (!cs && wil.count() == 0)\n                prepared->cdict[word.toUpper()] = word;\n\n            wil.append(QsciAPIs::WordIndex(a, w));\n            prepared->wdict[word] = wil;\n        }\n    }\n\n    // Tell the main thread we have finished.\n    QApplication::postEvent(proxy, new QEvent(abort ? WorkerAborted : WorkerFinished));\n}\n\n\n// The ctor.\nQsciAPIs::QsciAPIs(QsciLexer *lexer)\n    : QsciAbstractAPIs(lexer), worker(0), origin_len(0)\n{\n    prep = new QsciAPIsPrepared;\n}\n\n\n// The dtor.\nQsciAPIs::~QsciAPIs()\n{\n    deleteWorker();\n    delete prep;\n}\n\n\n// Delete the worker thread if there is one.\nvoid QsciAPIs::deleteWorker()\n{\n    if (worker)\n    {\n        delete worker;\n        worker = 0;\n    }\n}\n\n\n//! Handle termination events from the worker thread.\nbool QsciAPIs::event(QEvent *e)\n{\n    switch (e->type())\n    {\n    case WorkerStarted:\n        emit apiPreparationStarted();\n        return true;\n\n    case WorkerAborted:\n        deleteWorker();\n        emit apiPreparationCancelled();\n        return true;\n\n    case WorkerFinished:\n        delete prep;\n        old_context.clear();\n\n        prep = worker->prepared;\n        worker->prepared = 0;\n        deleteWorker();\n\n        // Allow the raw API information to be modified.\n        apis = prep->raw_apis;\n\n        emit apiPreparationFinished();\n\n        return true;\n\n    default:\n        break;\n    }\n\n    return QObject::event(e);\n}\n\n\n// Clear the current raw API entries.\nvoid QsciAPIs::clear()\n{\n    apis.clear();\n}\n\n\n// Clear out all API information.\nbool QsciAPIs::load(const QString &filename)\n{\n    QFile f(filename);\n\n    if (!f.open(QIODevice::ReadOnly))\n        return false;\n\n    QTextStream ts(&f);\n\n    for (;;)\n    {\n        QString line = ts.readLine();\n\n        if (line.isEmpty())\n            break;\n\n        apis.append(line);\n    }\n\n    return true;\n}\n\n\n// Add a single API entry.\nvoid QsciAPIs::add(const QString &entry)\n{\n    apis.append(entry);\n}\n\n\n// Remove a single API entry.\nvoid QsciAPIs::remove(const QString &entry)\n{\n    int idx = apis.indexOf(entry);\n\n    if (idx >= 0)\n        apis.removeAt(idx);\n}\n\n\n// Position the \"origin\" cursor into the API entries according to the user\n// supplied context.\nQStringList QsciAPIs::positionOrigin(const QStringList &context, QString &path)\n{\n    // Get the list of words and see if the context is the same as last time we\n    // were called.\n    QStringList new_context;\n    bool same_context = (old_context.count() > 0 && old_context.count() < context.count());\n\n    for (int i = 0; i < context.count(); ++i)\n    {\n        QString word = context[i];\n\n        if (!lexer()->caseSensitive())\n            word = word.toUpper();\n\n        if (i < old_context.count() && old_context[i] != word)\n            same_context = false;\n\n        new_context << word;\n    }\n\n    // If the context has changed then reset the origin.\n    if (!same_context)\n        origin_len = 0;\n\n    // If we have a current origin (ie. the user made a specific selection in\n    // the current context) then adjust the origin to include the last complete\n    // word as the user may have entered more parts of the name without using\n    // auto-completion.\n    if (origin_len > 0)\n    {\n        const QString wsep = lexer()->autoCompletionWordSeparators().first();\n\n        int start_new = old_context.count();\n        int end_new = new_context.count() - 1;\n\n        if (start_new == end_new)\n        {\n            path = old_context.join(wsep);\n            origin_len = path.length();\n        }\n        else\n        {\n            QString fixed = *origin;\n            fixed.truncate(origin_len);\n\n            path = fixed;\n\n            while (start_new < end_new)\n            {\n                // Add this word to the current path.\n                path.append(wsep);\n                path.append(new_context[start_new]);\n                origin_len = path.length();\n\n                // Skip entries in the current origin that don't match the\n                // path.\n                while (origin != prep->raw_apis.end())\n                {\n                    // See if the current origin has come to an end.\n                    if (!originStartsWith(fixed, wsep))\n                        origin = prep->raw_apis.end();\n                    else if (originStartsWith(path, wsep))\n                        break;\n                    else\n                        ++origin;\n                }\n\n                if (origin == prep->raw_apis.end())\n                    break;\n\n                ++start_new;\n            }\n        }\n\n        // Terminate the path.\n        path.append(wsep);\n\n        // If the new text wasn't recognised then reset the origin.\n        if (origin == prep->raw_apis.end())\n            origin_len = 0;\n    }\n\n    if (origin_len == 0)\n        path.truncate(0);\n\n    // Save the \"committed\" context for next time.\n    old_context = new_context;\n    old_context.removeLast();\n\n    return new_context;\n}\n\n\n// Return true if the origin starts with the given path.\nbool QsciAPIs::originStartsWith(const QString &path, const QString &wsep)\n{\n    const QString &orig = *origin;\n\n    if (!orig.startsWith(path))\n        return false;\n\n    // Check that the path corresponds to the end of a word, ie. that what\n    // follows in the origin is either a word separator or a (.\n    QString tail = orig.mid(path.length());\n\n    return (!tail.isEmpty() && (tail.startsWith(wsep) || tail.at(0) == '('));\n}\n\n\n// Add auto-completion words to an existing list.\nvoid QsciAPIs::updateAutoCompletionList(const QStringList &context,\n        QStringList &list)\n{\n    QString path;\n    QStringList new_context = positionOrigin(context, path);\n\n    if (origin_len > 0)\n    {\n        const QString wsep = lexer()->autoCompletionWordSeparators().first();\n        QStringList::const_iterator it = origin;\n\n        unambiguous_context = path;\n\n        while (it != prep->raw_apis.end())\n        {\n            QString base = QsciAPIsPrepared::apiBaseName(*it);\n\n            if (!base.startsWith(path))\n                break;\n\n            // Make sure we have something after the path.\n            if (base != path)\n            {\n                // Get the word we are interested in (ie. the one after the\n                // current origin in path).\n                QString w = base.mid(origin_len + wsep.length()).split(wsep).first();\n\n                // Append the space, we know the origin is unambiguous.\n                w.append(' ');\n\n                if (!list.contains(w))\n                    list << w;\n            }\n\n            ++it;\n        }\n    }\n    else\n    {\n        // At the moment we assume we will add words from multiple contexts so\n        // mark the unambiguous context as unknown.\n        unambiguous_context = QString();\n\n        bool unambig = true;\n        QStringList with_context;\n\n        if (new_context.last().isEmpty())\n            lastCompleteWord(new_context[new_context.count() - 2], with_context, unambig);\n        else\n            lastPartialWord(new_context.last(), with_context, unambig);\n\n        for (int i = 0; i < with_context.count(); ++i)\n        {\n            // Remove any unambigious context (allowing for a possible image\n            // identifier).\n            QString noc = with_context[i];\n\n            if (unambig)\n            {\n                int op = noc.indexOf(QLatin1String(\" (\"));\n\n                if (op >= 0)\n                {\n                    int cl = noc.indexOf(QLatin1String(\")\"));\n\n                    if (cl > op)\n                        noc.remove(op, cl - op + 1);\n                    else\n                        noc.truncate(op);\n                }\n            }\n\n            list << noc;\n        }\n    }\n}\n\n\n// Get the index list for a particular word if there is one.\nconst QsciAPIs::WordIndexList *QsciAPIs::wordIndexOf(const QString &word) const\n{\n    QString csword;\n\n    // Indirect through the case dictionary if the language isn't case\n    // sensitive.\n    if (lexer()->caseSensitive())\n        csword = word;\n    else\n    {\n        csword = prep->cdict[word];\n\n        if (csword.isEmpty())\n            return 0;\n    }\n\n    // Get the possible API entries if any.\n    const WordIndexList *wl = &prep->wdict[csword];\n\n    if (wl->isEmpty())\n        return 0;\n\n    return wl;\n}\n\n\n// Add auto-completion words based on the last complete word entered.\nvoid QsciAPIs::lastCompleteWord(const QString &word, QStringList &with_context, bool &unambig)\n{\n    // Get the possible API entries if any.\n    const WordIndexList *wl = wordIndexOf(word);\n\n    if (wl)\n        addAPIEntries(*wl, true, with_context, unambig);\n}\n\n\n// Add auto-completion words based on the last partial word entered.\nvoid QsciAPIs::lastPartialWord(const QString &word, QStringList &with_context, bool &unambig)\n{\n    if (lexer()->caseSensitive())\n    {\n        QMap<QString, WordIndexList>::const_iterator it = prep->wdict.lowerBound(word);\n\n        while (it != prep->wdict.end())\n        {\n            if (!it.key().startsWith(word))\n                break;\n\n            addAPIEntries(it.value(), false, with_context, unambig);\n\n            ++it;\n        }\n    }\n    else\n    {\n        QMap<QString, QString>::const_iterator it = prep->cdict.lowerBound(word);\n\n        while (it != prep->cdict.end())\n        {\n            if (!it.key().startsWith(word))\n                break;\n\n            addAPIEntries(prep->wdict[it.value()], false, with_context, unambig);\n\n            ++it;\n        }\n    }\n}\n\n\n// Handle the selection of an entry in the auto-completion list.\nvoid QsciAPIs::autoCompletionSelected(const QString &selection)\n{\n    // If the selection is an API (ie. it has a space separating the selected\n    // word and the optional origin) then remember the origin.\n    QStringList lst = selection.split(' ');\n\n    if (lst.count() != 2)\n    {\n        origin_len = 0;\n        return;\n    }\n\n    const QString &path = lst[1];\n    QString owords;\n\n    if (path.isEmpty())\n        owords = unambiguous_context;\n    else\n    {\n        // Check the parenthesis.\n        if (!path.startsWith(\"(\") || !path.endsWith(\")\"))\n        {\n            origin_len = 0;\n            return;\n        }\n\n        // Remove the parenthesis.\n        owords = path.mid(1, path.length() - 2);\n    }\n\n    origin = std::lower_bound(prep->raw_apis.begin(), prep->raw_apis.end(),\n            owords);\n    origin_len = owords.length();\n}\n\n\n// Add auto-completion words for a particular word (defined by where it appears\n// in the APIs) and depending on whether the word was complete (when it's\n// actually the next word in the API entry that is of interest) or not.\nvoid QsciAPIs::addAPIEntries(const WordIndexList &wl, bool complete,\n        QStringList &with_context, bool &unambig)\n{\n    QStringList wseps = lexer()->autoCompletionWordSeparators();\n\n    for (int w = 0; w < wl.count(); ++w)\n    {\n        const WordIndex &wi = wl[w];\n\n        QStringList api_words = prep->apiWords(wi.first, wseps, false);\n\n        int idx = wi.second;\n\n        if (complete)\n        {\n            // Skip if this is the last word.\n            if (++idx >= api_words.count())\n                continue;\n        }\n\n        QString api_word, org;\n\n        if (idx == 0)\n        {\n            api_word = api_words[0] + ' ';\n            org = QString::fromLatin1(\"\");\n        }\n        else\n        {\n            QStringList orgl = api_words.mid(0, idx);\n            org = orgl.join(wseps.first());\n\n            // Add the context (allowing for a possible image identifier).\n            QString w = api_words[idx];\n            QString type;\n            int type_idx = w.indexOf(QLatin1String(\"?\"));\n\n            if (type_idx >= 0)\n            {\n                type = w.mid(type_idx);\n                w.truncate(type_idx);\n            }\n\n            api_word = QString(\"%1 (%2)%3\").arg(w).arg(org).arg(type);\n        }\n\n        // If the origin is different to the context then the context is\n        // ambiguous.\n        if (unambig)\n        {\n            if (unambiguous_context.isNull())\n            {\n                unambiguous_context = org;\n            }\n            else if (unambiguous_context != org)\n            {\n                unambiguous_context.truncate(0);\n                unambig = false;\n            }\n        }\n\n        if (!with_context.contains(api_word))\n            with_context.append(api_word);\n    }\n}\n\n\n// Return the call tip for a function.\nQStringList QsciAPIs::callTips(const QStringList &context, int commas,\n        QsciScintilla::CallTipsStyle style, QList<int> &shifts)\n{\n    QString path;\n    QStringList new_context = positionOrigin(context, path);\n    QStringList wseps = lexer()->autoCompletionWordSeparators();\n    QStringList cts;\n\n    if (origin_len > 0)\n    {\n        // The path should have a trailing word separator.\n        const QString &wsep = wseps.first();\n        path.chop(wsep.length());\n\n        QStringList::const_iterator it = origin;\n        QString prev;\n\n        // Work out the length of the context.\n        QStringList strip = path.split(wsep);\n        strip.removeLast();\n        int ctstart = strip.join(wsep).length();\n\n        if (ctstart)\n            ctstart += wsep.length();\n\n        int shift;\n\n        if (style == QsciScintilla::CallTipsContext)\n        {\n            shift = ctstart;\n            ctstart = 0;\n        }\n        else\n            shift = 0;\n\n        // Make sure we only look at the functions we are interested in.\n        path.append('(');\n\n        while (it != prep->raw_apis.end() && (*it).startsWith(path))\n        {\n            QString w = (*it).mid(ctstart);\n\n            if (w != prev && enoughCommas(w, commas))\n            {\n                shifts << shift;\n                cts << w;\n                prev = w;\n            }\n\n            ++it;\n        }\n    }\n    else\n    {\n        const QString &fname = new_context[new_context.count() - 2];\n\n        // Find everywhere the function name appears in the APIs.\n        const WordIndexList *wil = wordIndexOf(fname);\n\n        if (wil)\n            for (int i = 0; i < wil->count(); ++i)\n            {\n                const WordIndex &wi = (*wil)[i];\n                QStringList awords = prep->apiWords(wi.first, wseps, true);\n\n                // Check the word is the function name and not part of any\n                // context.\n                if (wi.second != awords.count() - 1)\n                    continue;\n\n                const QString &api = prep->raw_apis[wi.first];\n\n                int tail = api.indexOf('(');\n\n                if (tail < 0)\n                    continue;\n\n                if (!enoughCommas(api, commas))\n                    continue;\n\n                if (style == QsciScintilla::CallTipsNoContext)\n                {\n                    shifts << 0;\n                    cts << (fname + api.mid(tail));\n                }\n                else\n                {\n                    shifts << tail - fname.length();\n\n                    // Remove any image type.\n                    int im_type = api.indexOf('?');\n\n                    if (im_type <= 0)\n                        cts << api;\n                    else\n                        cts << (api.left(im_type - 1) + api.mid(tail));\n                }\n            }\n    }\n\n    return cts;\n}\n\n\n// Return true if a string has enough commas in the argument list.\nbool QsciAPIs::enoughCommas(const QString &s, int commas)\n{\n    int end = s.indexOf(')');\n\n    if (end < 0)\n        return false;\n\n    QString w = s.left(end);\n\n    return (w.count(',') >= commas);\n}\n\n\n// Ensure the list is ready.\nvoid QsciAPIs::prepare()\n{\n    // Handle the trivial case.\n    if (worker)\n        return;\n\n    QsciAPIsPrepared *new_apis = new QsciAPIsPrepared;\n    new_apis->raw_apis = apis;\n\n    worker = new QsciAPIsWorker(this);\n    worker->prepared = new_apis;\n    worker->start();\n}\n\n\n// Cancel any current preparation.\nvoid QsciAPIs::cancelPreparation()\n{\n    deleteWorker();\n}\n\n\n// Check that a prepared API file exists.\nbool QsciAPIs::isPrepared(const QString &filename) const\n{\n    QString pname = prepName(filename);\n\n    if (pname.isEmpty())\n        return false;\n\n    QFileInfo fi(pname);\n\n    return fi.exists();\n}\n\n\n// Load the prepared API information.\nbool QsciAPIs::loadPrepared(const QString &filename)\n{\n    QString pname = prepName(filename);\n\n    if (pname.isEmpty())\n        return false;\n\n    // Read the prepared data and decompress it.\n    QFile pf(pname);\n\n    if (!pf.open(QIODevice::ReadOnly))\n        return false;\n\n    QByteArray cpdata = pf.readAll();\n\n    pf.close();\n\n    if (cpdata.count() == 0)\n        return false;\n\n    QByteArray pdata = qUncompress(cpdata);\n\n    // Extract the data.\n    QDataStream pds(pdata);\n\n    unsigned char vers;\n    pds >> vers;\n\n    if (vers > PreparedDataFormatVersion)\n        return false;\n\n    char *lex_name;\n    pds >> lex_name;\n\n    if (qstrcmp(lex_name, lexer()->lexer()) != 0)\n    {\n        delete[] lex_name;\n        return false;\n    }\n\n    delete[] lex_name;\n\n    prep->wdict.clear();\n    pds >> prep->wdict;\n\n    if (!lexer()->caseSensitive())\n    {\n        // Build up the case dictionary.\n        prep->cdict.clear();\n\n        QMap<QString, WordIndexList>::const_iterator it = prep->wdict.begin();\n\n        while (it != prep->wdict.end())\n        {\n            prep->cdict[it.key().toUpper()] = it.key();\n            ++it;\n        }\n    }\n\n    prep->raw_apis.clear();\n    pds >> prep->raw_apis;\n\n    // Allow the raw API information to be modified.\n    apis = prep->raw_apis;\n\n    return true;\n}\n\n\n// Save the prepared API information.\nbool QsciAPIs::savePrepared(const QString &filename) const\n{\n    QString pname = prepName(filename, true);\n\n    if (pname.isEmpty())\n        return false;\n\n    // Write the prepared data to a memory buffer.\n    QByteArray pdata;\n    QDataStream pds(&pdata, QIODevice::WriteOnly);\n\n    // Use a serialisation format supported by Qt v3.0 and later.\n    pds.setVersion(QDataStream::Qt_3_0);\n    pds << PreparedDataFormatVersion;\n    pds << lexer()->lexer();\n    pds << prep->wdict;\n    pds << prep->raw_apis;\n\n    // Compress the data and write it.\n    QFile pf(pname);\n\n    if (!pf.open(QIODevice::WriteOnly|QIODevice::Truncate))\n        return false;\n\n    if (pf.write(qCompress(pdata)) < 0)\n    {\n        pf.close();\n        return false;\n    }\n\n    pf.close();\n    return true;\n}\n\n\n// Return the name of the default prepared API file.\nQString QsciAPIs::defaultPreparedName() const\n{\n    return prepName(QString());\n}\n\n\n// Return the name of a prepared API file.\nQString QsciAPIs::prepName(const QString &filename, bool mkpath) const\n{\n    // Handle the tivial case.\n    if (!filename.isEmpty())\n        return filename;\n\n    QString pdname;\n    char *qsci = getenv(\"QSCIDIR\");\n\n    if (qsci)\n        pdname = qsci;\n    else\n    {\n        static const char *qsci_dir = \".qsci\";\n\n        QDir pd = QDir::home();\n\n        if (mkpath && !pd.exists(qsci_dir) && !pd.mkdir(qsci_dir))\n            return QString();\n\n        pdname = pd.filePath(qsci_dir);\n    }\n\n    return QString(\"%1/%2.pap\").arg(pdname).arg(lexer()->lexer());\n}\n\n\n// Return installed API files.\nQStringList QsciAPIs::installedAPIFiles() const\n{\n    QString qtdir = QLibraryInfo::location(QLibraryInfo::DataPath);\n\n    QDir apidir = QDir(QString(\"%1/qsci/api/%2\").arg(qtdir).arg(lexer()->lexer()));\n    QStringList filenames;\n\n    QStringList filters;\n    filters << \"*.api\";\n\n    QFileInfoList flist = apidir.entryInfoList(filters, QDir::Files, QDir::IgnoreCase);\n\n    foreach (QFileInfo fi, flist)\n        filenames << fi.absoluteFilePath();\n\n    return filenames;\n}\n"
  },
  {
    "path": "src/qscint/src/qscicommand.cpp",
    "content": "// This module implements the QsciCommand class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscicommand.h\"\n\n#include <qnamespace.h>\n#include <qapplication.h>\n\n#include \"Qsci/qsciscintilla.h\"\n#include \"Qsci/qsciscintillabase.h\"\n\n\nstatic int convert(int key);\n\n\n// The ctor.\nQsciCommand::QsciCommand(QsciScintilla *qs, QsciCommand::Command cmd, int key,\n        int altkey, const char *desc)\n    : qsCmd(qs), scicmd(cmd), qkey(key), qaltkey(altkey), descCmd(desc)\n{\n    scikey = convert(qkey);\n\n    if (scikey)\n        qsCmd->SendScintilla(QsciScintillaBase::SCI_ASSIGNCMDKEY, scikey,\n                scicmd);\n\n    scialtkey = convert(qaltkey);\n\n    if (scialtkey)\n        qsCmd->SendScintilla(QsciScintillaBase::SCI_ASSIGNCMDKEY, scialtkey,\n                scicmd);\n}\n\n\n// Execute the command.\nvoid QsciCommand::execute()\n{\n    qsCmd->SendScintilla(scicmd);\n}\n\n\n// Bind a key to a command.\nvoid QsciCommand::setKey(int key)\n{\n    bindKey(key,qkey,scikey);\n}\n\n\n// Bind an alternate key to a command.\nvoid QsciCommand::setAlternateKey(int altkey)\n{\n    bindKey(altkey,qaltkey,scialtkey);\n}\n\n\n// Do the hard work of binding a key.\nvoid QsciCommand::bindKey(int key,int &qk,int &scik)\n{\n    int new_scikey;\n\n    // Ignore if it is invalid, allowing for the fact that we might be\n    // unbinding it.\n    if (key)\n    {\n        new_scikey = convert(key);\n\n        if (!new_scikey)\n            return;\n    }\n    else\n        new_scikey = 0;\n\n    if (scik)\n        qsCmd->SendScintilla(QsciScintillaBase::SCI_CLEARCMDKEY, scik);\n\n    qk = key;\n    scik = new_scikey;\n\n    if (scik)\n        qsCmd->SendScintilla(QsciScintillaBase::SCI_ASSIGNCMDKEY, scik, scicmd);\n}\n\n\n// See if a key is valid.\nbool QsciCommand::validKey(int key)\n{\n    return convert(key);\n}\n\n\n// Convert a Qt character to the Scintilla equivalent.  Return zero if it is\n// invalid.\nstatic int convert(int key)\n{\n    // Convert the modifiers.\n    int sci_mod = 0;\n\n    if (key & Qt::SHIFT)\n        sci_mod |= QsciScintillaBase::SCMOD_SHIFT;\n\n    if (key & Qt::CTRL)\n        sci_mod |= QsciScintillaBase::SCMOD_CTRL;\n\n    if (key & Qt::ALT)\n        sci_mod |= QsciScintillaBase::SCMOD_ALT;\n\n    if (key & Qt::META)\n        sci_mod |= QsciScintillaBase::SCMOD_META;\n\n    key &= ~Qt::MODIFIER_MASK;\n\n    // Convert the key.\n    int sci_key = QsciScintillaBase::commandKey(key, sci_mod);\n\n    if (sci_key)\n        sci_key |= (sci_mod << 16);\n\n    return sci_key;\n}\n\n\n// Return the translated user friendly description.\nQString QsciCommand::description() const\n{\n    return qApp->translate(\"QsciCommand\", descCmd);\n}\n"
  },
  {
    "path": "src/qscint/src/qscicommandset.cpp",
    "content": "﻿// This module implements the QsciCommandSet class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscicommandset.h\"\n\n#include <QSettings>\n\n#include \"Qsci/qscicommand.h\"\n#include \"Qsci/qsciscintilla.h\"\n#include \"Qsci/qsciscintillabase.h\"\n\n\n// Starting with QScintilla v2.7 the standard OS/X keyboard shortcuts are used\n// where possible.  In order to restore the behaviour of earlier versions then\n// #define DONT_USE_OSX_KEYS here or add it to the qmake project (.pro) file.\n#if defined(Q_OS_MAC) && !defined(DONT_USE_OSX_KEYS)\n#define USING_OSX_KEYS\n#else\n#undef  USING_OSX_KEYS\n#endif\n\n\n// The ctor.\nQsciCommandSet::QsciCommandSet(QsciScintilla *qs) : qsci(qs)\n{\n    struct sci_cmd {\n        QsciCommand::Command cmd;\n        int key;\n        int altkey;\n        const char *desc;\n    };\n\n    //20230216 屏蔽一些生僻的命令，加宽速度，让出快捷键\n    static struct sci_cmd cmd_table[] = {\n\n        {\n            QsciCommand::LineDown,\n            Qt::Key_Down,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_N | Qt::META,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move down one line\")\n        },\n\n        {\n            QsciCommand::LineDownExtend,\n            Qt::Key_Down | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_N | Qt::META | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Extend selection down one line\")\n        },\n        {\n            QsciCommand::LineDownRectExtend,\n            Qt::Key_Down | Qt::ALT | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_N | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection down one line\")\n        },\n        {\n            QsciCommand::LineScrollDown,\n            Qt::Key_Down | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Scroll view down one line\")\n        },\n        {\n            QsciCommand::LineUp,\n            Qt::Key_Up,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_P | Qt::META,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move up one line\")\n        },\n        {\n            QsciCommand::LineUpExtend,\n            Qt::Key_Up | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_P | Qt::META | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Extend selection up one line\")\n        },\n        {\n            QsciCommand::LineUpRectExtend,\n            Qt::Key_Up | Qt::ALT | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_P | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection up one line\")\n        },\n        {\n            QsciCommand::LineScrollUp,\n            Qt::Key_Up | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Scroll view up one line\")\n        },\n#if 0\n        {\n            QsciCommand::ScrollToStart,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Home,\n#else\n            Qt::Key_Home | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Scroll to start of document\")\n        },\n        {\n            QsciCommand::ScrollToEnd,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_End,\n#else\n            Qt::Key_End | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Scroll to end of document\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::VerticalCentreCaret,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_L | Qt::META,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Scroll vertically to centre current line\")\n        },\n        {\n            QsciCommand::ParaDown,\n            Qt::Key_BracketRight | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move down one paragraph\")\n        },\n#endif\n\n#if 0 \n                //测试无效\n        {\n            QsciCommand::ParaDownExtend,\n            Qt::Key_BracketRight | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection down one paragraph\")\n        },\n#endif \n        {\n            QsciCommand::ParaUp,\n            Qt::Key_BracketLeft | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move up one paragraph\")\n        },\n\n#if 0\n        {\n            QsciCommand::ParaUpExtend,\n            Qt::Key_BracketLeft | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection up one paragraph\")\n        },\n#endif\n        {\n            QsciCommand::CharLeft,\n            Qt::Key_Left,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_B | Qt::META,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move left one character\")\n        },\n\n\n        {\n            QsciCommand::CharLeftExtend,\n            Qt::Key_Left | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_B | Qt::META | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection left one character\")\n        },\n\n        {\n            QsciCommand::CharLeftRectExtend,\n            Qt::Key_Left | Qt::ALT | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_B | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection left one character\")\n        },\n        {\n            QsciCommand::CharRight,\n            Qt::Key_Right,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_F | Qt::META,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move right one character\")\n        },\n        {\n            QsciCommand::CharRightExtend,\n            Qt::Key_Right | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_F | Qt::META | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection right one character\")\n        },\n        {\n            QsciCommand::CharRightRectExtend,\n            Qt::Key_Right | Qt::ALT | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_F | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection right one character\")\n        },\n\n#if 0\n        {\n            QsciCommand::WordLeft,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Left | Qt::ALT,\n#else\n            Qt::Key_Left | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move left one word\")\n        },\n#endif\n        {\n            QsciCommand::WordLeftExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Left | Qt::ALT | Qt::SHIFT,\n#else\n            Qt::Key_Left | Qt::CTRL | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Extend selection left one word\")\n        },\n#if 0\n        {\n            QsciCommand::WordRight,\n#if defined(USING_OSX_KEYS)\n            0,\n#else\n            Qt::Key_Right | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move right one word\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::WordRightExtend,\n            Qt::Key_Right | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Extend selection right one word\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::WordLeftEnd,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to end of previous word\")\n        },\n        {\n            QsciCommand::WordLeftEndExtend,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to end of previous word\")\n        },\n        {\n            QsciCommand::WordRightEnd,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Right | Qt::ALT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to end of next word\")\n        },\n        {\n            QsciCommand::WordRightEndExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Right | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to end of next word\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::WordPartLeft,\n            Qt::Key_Slash | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move left one word part\")\n        },\n        {\n            QsciCommand::WordPartLeftExtend,\n            Qt::Key_Slash | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection left one word part\")\n        },\n        {\n            QsciCommand::WordPartRight,\n            Qt::Key_Backslash | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move right one word part\")\n        },\n        {\n            QsciCommand::WordPartRightExtend,\n            Qt::Key_Backslash | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection right one word part\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::Home,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_A | Qt::META,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to start of document line\")\n        },\n        {\n            QsciCommand::HomeExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_A | Qt::META | Qt::SHIFT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to start of document line\")\n        },\n        {\n            QsciCommand::HomeRectExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_A | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection to start of document line\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::HomeDisplay,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Left | Qt::CTRL,\n#else\n            Qt::Key_Home | Qt::ALT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to start of display line\")\n        },\n        {\n            QsciCommand::HomeDisplayExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Left | Qt::CTRL | Qt::SHIFT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to start of display line\")\n        },\n        {\n            QsciCommand::HomeWrap,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Move to start of display or document line\")\n        },\n        {\n            QsciCommand::HomeWrapExtend,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to start of display or document line\")\n        },\n#endif\n\n        {\n            QsciCommand::VCHome,\n#if defined(USING_OSX_KEYS)\n            0,\n#else\n            Qt::Key_Home,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                \"Move to first visible character in document line\")\n        },\n\n        {\n            QsciCommand::VCHomeExtend,\n#if defined(USING_OSX_KEYS)\n            0,\n#else\n            Qt::Key_Home | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                \"Extend selection to first visible character in document line\")\n        },\n#if 0\n        {\n            QsciCommand::VCHomeRectExtend,\n#if defined(USING_OSX_KEYS)\n            0,\n#else\n            Qt::Key_Home | Qt::ALT | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                \"Extend rectangular selection to first visible character in document line\")\n        },\n        {\n            QsciCommand::VCHomeWrap,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Move to first visible character of display in document line\")\n        },\n        {\n            QsciCommand::VCHomeWrapExtend,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to first visible character in display or document line\")\n        },\n#endif\n        {\n            QsciCommand::LineEnd,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_E | Qt::META,\n#else\n            Qt::Key_End,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to end of document line\")\n        },\n\n        {\n            QsciCommand::LineEndExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_E | Qt::META | Qt::SHIFT,\n#else\n            Qt::Key_End | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to end of document line\")\n        },\n#if 0\n        {\n            QsciCommand::LineEndRectExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_E | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            Qt::Key_End | Qt::ALT | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection to end of document line\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::LineEndDisplay,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Right | Qt::CTRL,\n#else\n            Qt::Key_End | Qt::ALT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to end of display line\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::LineEndDisplayExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Right | Qt::CTRL | Qt::SHIFT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to end of display line\")\n        },\n        {\n            QsciCommand::LineEndWrap,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Move to end of display or document line\")\n        },\n        {\n            QsciCommand::LineEndWrapExtend,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to end of display or document line\")\n        },\n#endif\n        {\n            QsciCommand::DocumentStart,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Up | Qt::CTRL,\n#else\n            Qt::Key_Home | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to start of document\")\n        },\n        {\n            QsciCommand::DocumentStartExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Up | Qt::CTRL | Qt::SHIFT,\n#else\n            Qt::Key_Home | Qt::CTRL | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to start of document\")\n        },\n        {\n            QsciCommand::DocumentEnd,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Down | Qt::CTRL,\n#else\n            Qt::Key_End | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move to end of document\")\n        },\n        {\n            QsciCommand::DocumentEndExtend,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Down | Qt::CTRL | Qt::SHIFT,\n#else\n            Qt::Key_End | Qt::CTRL | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend selection to end of document\")\n        },\n        {\n            QsciCommand::PageUp,\n            Qt::Key_PageUp,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move up one page\")\n        },\n      /*  {\n            QsciCommand::PageUpExtend,\n            Qt::Key_PageUp | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Extend selection up one page\")\n        },\n        {\n            QsciCommand::PageUpRectExtend,\n            Qt::Key_PageUp | Qt::ALT | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection up one page\")\n        },*/\n        {\n            QsciCommand::PageDown,\n            Qt::Key_PageDown,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_V | Qt::META,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move down one page\")\n        },\n        /*{\n            QsciCommand::PageDownExtend,\n            Qt::Key_PageDown | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_V | Qt::META | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Extend selection down one page\")\n        },\n        {\n            QsciCommand::PageDownRectExtend,\n            Qt::Key_PageDown | Qt::ALT | Qt::SHIFT,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_V | Qt::META | Qt::ALT | Qt::SHIFT,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Extend rectangular selection down one page\")\n        },*/\n#if 0\n        {\n            QsciCommand::StutteredPageUp,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Stuttered move up one page\")\n        },\n        {\n            QsciCommand::StutteredPageUpExtend,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Stuttered extend selection up one page\")\n        },\n        {\n            QsciCommand::StutteredPageDown,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Stuttered move down one page\")\n        },\n        {\n            QsciCommand::StutteredPageDownExtend,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Stuttered extend selection down one page\")\n        },\n#endif\n        {\n            QsciCommand::Delete,\n            Qt::Key_Delete,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_D | Qt::META,\n#else\n            0,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete current character\")\n        },\n        {\n            QsciCommand::DeleteBack,\n            Qt::Key_Backspace,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_H | Qt::META,\n#else\n            Qt::Key_Backspace | Qt::SHIFT,\n#endif\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete previous character\")\n        },\n#if 0\n        {\n            QsciCommand::DeleteBackNotLine,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                \"Delete previous character if not at start of line\")\n        },\n        {\n            QsciCommand::DeleteWordLeft,\n            Qt::Key_Backspace | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete word to left\")\n        },\n        {\n            QsciCommand::DeleteWordRight,\n            Qt::Key_Delete | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete word to right\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::DeleteWordRightEnd,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Delete | Qt::ALT,\n#else\n            0,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Delete right to end of next word\")\n        },\n#endif\n        {\n            QsciCommand::DeleteLineLeft,\n            Qt::Key_Backspace | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete line to left\")\n        },\n        {\n            QsciCommand::DeleteLineRight,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_K | Qt::META,\n#else\n            Qt::Key_Delete | Qt::CTRL | Qt::SHIFT,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete line to right\")\n        },\n        {\n            QsciCommand::LineDelete,\n            Qt::Key_L | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Delete current line\")\n        },\n        {\n            QsciCommand::LineCut,\n            Qt::Key_L | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Cut current line\")\n        },\n        {\n            QsciCommand::LineCopy,\n            Qt::Key_T | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Copy current line\")\n        },\n       /* {\n            QsciCommand::LineTranspose,\n            Qt::Key_T | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Transpose current and previous lines\")\n        },*/\n#if 0\n        {\n            QsciCommand::LineDuplicate,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Duplicate the current line\")\n        },\n#endif\n        {\n            QsciCommand::SelectAll,\n            Qt::Key_A | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Select all\")\n        },\n#if 0\n        {\n            QsciCommand::MoveSelectedLinesUp,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move selected lines up one line\")\n        },\n        {\n            QsciCommand::MoveSelectedLinesDown,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\",\n                    \"Move selected lines down one line\")\n        },\n#endif\n#if 0\n        {\n            QsciCommand::SelectionDuplicate,\n            Qt::Key_D | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Duplicate selection\")\n        },\n#endif\n        {\n            QsciCommand::SelectionLowerCase,\n            Qt::Key_U | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Convert selection to lower case\")\n        },\n        {\n            QsciCommand::SelectionUpperCase,\n            Qt::Key_U | Qt::CTRL | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Convert selection to upper case\")\n        },\n        {\n            QsciCommand::SelectionCut,\n            Qt::Key_X | Qt::CTRL,\n            Qt::Key_Delete | Qt::SHIFT,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Cut selection\")\n        },\n        {\n            QsciCommand::SelectionCopy,\n            Qt::Key_C | Qt::CTRL,\n            Qt::Key_Insert | Qt::CTRL,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Copy selection\")\n        },\n        {\n            QsciCommand::Paste,\n            Qt::Key_V | Qt::CTRL,\n            Qt::Key_Insert | Qt::SHIFT,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Paste\")\n        },\n        {\n            QsciCommand::EditToggleOvertype,\n            Qt::Key_Insert,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Toggle insert/overtype\")\n        },\n        {\n            QsciCommand::Newline,\n            Qt::Key_Return,\n            Qt::Key_Return | Qt::SHIFT,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Insert newline\")\n        },\n#if 0\n        {\n            QsciCommand::Formfeed,\n            0,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Formfeed\")\n        },\n#endif                   \n        {\n            QsciCommand::Tab,\n            Qt::Key_Tab,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Indent one level\")\n        },\n#if 0\n        {\n            QsciCommand::Backtab,\n            Qt::Key_Tab | Qt::SHIFT,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"De-indent one level\")\n        },\n        {\n            QsciCommand::Cancel,\n            Qt::Key_Escape,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Cancel\")\n        },\n#endif\n        {\n            QsciCommand::Undo,\n            Qt::Key_Z | Qt::CTRL,\n            Qt::Key_Backspace | Qt::ALT,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Undo last command\")\n        },\n        {\n            QsciCommand::Redo,\n#if defined(USING_OSX_KEYS)\n            Qt::Key_Z | Qt::CTRL | Qt::SHIFT,\n#else\n            Qt::Key_Y | Qt::CTRL,\n#endif\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Redo last command\")\n        },\n#if 1\n        {\n            QsciCommand::ZoomIn,\n            Qt::Key_Equal | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Zoom in\")\n        },\n        {\n            QsciCommand::ZoomOut,\n            Qt::Key_Minus | Qt::CTRL,\n            0,\n            QT_TRANSLATE_NOOP(\"QsciCommand\", \"Zoom out\")\n        }, \n#endif\n#if 0\n\t\t{\n\t\t   QsciCommand::MoveLineUp,\n\t\t   Qt::Key_Up | Qt::CTRL | Qt::SHIFT,\n\t\t   0,\n\t\t   QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move Line up\")\n\t\t}, \n\n\t\t{\n\t\t   QsciCommand::MovdLineDown,\n\t\t   Qt::Key_Down | Qt::CTRL | Qt::SHIFT,\n\t\t   0,\n\t\t   QT_TRANSLATE_NOOP(\"QsciCommand\", \"Move Line down\")\n\t\t},\n#endif\n    };\n\n    // Clear the default map.\n    qsci->SendScintilla(QsciScintillaBase::SCI_CLEARALLCMDKEYS);\n\n    // By default control characters don't do anything (rather than insert the\n    // control character into the text).\n    for (int k = 'A'; k <= 'Z'; ++k)\n        qsci->SendScintilla(QsciScintillaBase::SCI_ASSIGNCMDKEY,\n                k + (QsciScintillaBase::SCMOD_CTRL << 16),\n                QsciScintillaBase::SCI_NULL);\n\n    for (int i = 0; i < sizeof (cmd_table) / sizeof (cmd_table[0]); ++i)\n        cmds.append(\n                new QsciCommand(qsci, cmd_table[i].cmd, cmd_table[i].key,\n                        cmd_table[i].altkey, cmd_table[i].desc));\n}\n\n\n// The dtor.\nQsciCommandSet::~QsciCommandSet()\n{\n    for (int i = 0; i < cmds.count(); ++i)\n        delete cmds.at(i);\n}\n\n\n// Read the command set from settings.\nbool QsciCommandSet::readSettings(QSettings &qs, const char *prefix)\n{\n    bool rc = true;\n\n    for (int i = 0; i < cmds.count(); ++i)\n    {\n        QsciCommand *cmd = cmds.at(i);\n\n        QString skey = QString(\"%1/keymap/c%2/\").arg(prefix).arg(static_cast<int>(cmd->command()));\n\n        int key;\n        bool ok;\n\n        // Read the key.\n        ok = qs.contains(skey + \"key\");\n        key = qs.value(skey + \"key\", 0).toInt();\n\n        if (ok)\n            cmd->setKey(key);\n        else\n            rc = false;\n\n        // Read the alternate key.\n        ok = qs.contains(skey + \"alt\");\n        key = qs.value(skey + \"alt\", 0).toInt();\n\n        if (ok)\n            cmd->setAlternateKey(key);\n        else\n            rc = false;\n    }\n\n    return rc;\n}\n\n\n// Write the command set to settings.\nbool QsciCommandSet::writeSettings(QSettings &qs, const char *prefix)\n{\n    bool rc = true;\n\n    for (int i = 0; i < cmds.count(); ++i)\n    {\n        QsciCommand *cmd = cmds.at(i);\n\n        QString skey = QString(\"%1/keymap/c%2/\").arg(prefix).arg(static_cast<int>(cmd->command()));\n\n        // Write the key.\n        qs.setValue(skey + \"key\", cmd->key());\n\n        // Write the alternate key.\n        qs.setValue(skey + \"alt\", cmd->alternateKey());\n    }\n\n    return rc;\n}\n\n\n// Clear the key bindings.\nvoid QsciCommandSet::clearKeys()\n{\n    for (int i = 0; i < cmds.count(); ++i)\n        cmds.at(i)->setKey(0);\n}\n\n\n// Clear the alternate key bindings.\nvoid QsciCommandSet::clearAlternateKeys()\n{\n    for (int i = 0; i < cmds.count(); ++i)\n        cmds.at(i)->setAlternateKey(0);\n}\n\n\n// Find the command bound to a key.\nQsciCommand *QsciCommandSet::boundTo(int key) const\n{\n    for (int i = 0; i < cmds.count(); ++i)\n    {\n        QsciCommand *cmd = cmds.at(i);\n\n        if (cmd->key() == key || cmd->alternateKey() == key)\n            return cmd;\n    }\n\n    return 0;\n}\n\n\n// Find a command.\nQsciCommand *QsciCommandSet::find(QsciCommand::Command command) const\n{\n    for (int i = 0; i < cmds.count(); ++i)\n    {\n        QsciCommand *cmd = cmds.at(i);\n\n        if (cmd->command() == command)\n            return cmd;\n    }\n\n    // This should never happen.\n    return 0;\n}\n"
  },
  {
    "path": "src/qscint/src/qscidocument.cpp",
    "content": "// This module implements the QsciDocument class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscidocument.h\"\n#include \"Qsci/qsciscintillabase.h\"\n\n\n// This internal class encapsulates the underlying document and is shared by\n// QsciDocument instances.\nclass QsciDocumentP\n{\npublic:\n    QsciDocumentP() : doc(0), nr_displays(0), nr_attaches(1), modified(false) {}\n\n    void *doc;              // The Scintilla document.\n    int nr_displays;        // The number of displays.\n    int nr_attaches;        // The number of attaches.\n    bool modified;          // Set if not at a save point.\n};\n\n\n// The ctor.\nQsciDocument::QsciDocument()\n{\n    pdoc = new QsciDocumentP();\n}\n\n\n// The dtor.\nQsciDocument::~QsciDocument()\n{\n    detach();\n}\n\n\n// The copy ctor.\nQsciDocument::QsciDocument(const QsciDocument &that)\n{\n    attach(that);\n}\n\n\n// The assignment operator.\nQsciDocument &QsciDocument::operator=(const QsciDocument &that)\n{\n    if (pdoc != that.pdoc)\n    {\n        detach();\n        attach(that);\n    }\n\n    return *this;\n}\n\n\n// Attach an existing document to this one.\nvoid QsciDocument::attach(const QsciDocument &that)\n{\n    ++that.pdoc->nr_attaches;\n    pdoc = that.pdoc;\n}\n\n\n// Detach the underlying document.\nvoid QsciDocument::detach()\n{\n    if (!pdoc)\n        return;\n\n    if (--pdoc->nr_attaches == 0)\n    {\n        if (pdoc->doc && pdoc->nr_displays == 0)\n        {\n            QsciScintillaBase *qsb = QsciScintillaBase::pool();\n\n            // Release the explicit reference to the document.  If the pool is\n            // empty then we just accept the memory leak.\n            if (qsb)\n                qsb->SendScintilla(QsciScintillaBase::SCI_RELEASEDOCUMENT, 0,\n                        pdoc->doc);\n        }\n\n        delete pdoc;\n    }\n\n    pdoc = 0;\n}\n\n\n// Undisplay and detach the underlying document.\nvoid QsciDocument::undisplay(QsciScintillaBase *qsb)\n{\n    if (--pdoc->nr_attaches == 0)\n        delete pdoc;\n    else if (--pdoc->nr_displays == 0)\n    {\n        // Create an explicit reference to the document to keep it alive.\n        qsb->SendScintilla(QsciScintillaBase::SCI_ADDREFDOCUMENT, 0, pdoc->doc);\n    }\n\n    pdoc = 0;\n}\n\n\n// Display the underlying document.\nvoid QsciDocument::display(QsciScintillaBase *qsb, const QsciDocument *from)\n{\n    void *ndoc = (from ? from->pdoc->doc : 0);\n\n    // SCI_SETDOCPOINTER appears to reset the EOL mode so save and restore it.\n    int eol_mode = qsb->SendScintilla(QsciScintillaBase::SCI_GETEOLMODE);\n\n    qsb->SendScintilla(QsciScintillaBase::SCI_SETDOCPOINTER, 0, ndoc);\n    ndoc = qsb->SendScintillaPtrResult(QsciScintillaBase::SCI_GETDOCPOINTER);\n\n    qsb->SendScintilla(QsciScintillaBase::SCI_SETEOLMODE, eol_mode);\n\n    pdoc->doc = ndoc;\n    ++pdoc->nr_displays;\n}\n\n\n// Return the modified state of the document.\nbool QsciDocument::isModified() const\n{\n    return pdoc->modified;\n}\n\n\n// Set the modified state of the document.\nvoid QsciDocument::setModified(bool m)\n{\n    pdoc->modified = m;\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexer.cpp",
    "content": "﻿// This module implements the QsciLexer class.\r\n//\r\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\r\n// \r\n// This file is part of QScintilla.\r\n// \r\n// This file may be used under the terms of the GNU General Public License\r\n// version 3.0 as published by the Free Software Foundation and appearing in\r\n// the file LICENSE included in the packaging of this file.  Please review the\r\n// following information to ensure the GNU General Public License version 3.0\r\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\r\n// \r\n// If you do not wish to use this file under the terms of the GPL version 3.0\r\n// then you may purchase a commercial license.  For more information contact\r\n// info@riverbankcomputing.com.\r\n// \r\n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\r\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r\n\r\n\r\n#include \"Qsci/qscilexer.h\"\r\n\r\n#include <qapplication.h>\r\n#include <qcolor.h>\r\n#include <qfont.h>\r\n#include <qsettings.h>\r\n\r\n#include \"Qsci/qsciapis.h\"\r\n#include \"Qsci/qsciscintilla.h\"\r\n#include \"Qsci/qsciscintillabase.h\"\r\n\r\nint QsciLexer::s_defaultFontSize = 12;\r\n\r\nint QsciLexer::m_themesId = 0;\r\n\r\n#if defined(Q_OS_WIN)\r\nQFont QsciLexer::s_defaultLangFont(\"Courier New\", QsciLexer::s_defaultFontSize);\r\n#elif defined(Q_OS_MAC)\r\nQFont QsciLexer::s_defaultLangFont(\"Menlo\", s_defaultFontSize);\r\n#else\r\nQFont QsciLexer::s_defaultLangFont(\"Courier 10 Pitch\", 12);\r\n#endif\r\n\r\n// The ctor.\r\nQsciLexer::QsciLexer(QObject *parent)\r\n    : QObject(parent),\r\n      autoIndStyle(-1), apiSet(0), attached_editor(0), m_lexerId(QsciScintillaBase::SCLEX_CONTAINER), m_isUserDefineKeyword(false)\r\n{\r\n#if 0\r\n#if defined(Q_OS_WIN)\r\n    defFont = QFont(\"Courier New\", s_defaultFontSize);\r\n#elif defined(Q_OS_MAC)\r\n    defFont = QFont(\"Menlo\", s_defaultFontSize);\r\n#else\r\n    defFont = QFont(\"Bitstream Vera Sans\", 9);\r\n#endif\r\n#endif\r\n\tdefFont = s_defaultLangFont;\r\n\r\n    // Set the default fore and background colours.\r\n    QPalette pal = QApplication::palette();\r\n    //defColor = pal.text().color();\r\n\tdefColor = QColor(Qt::black);\r\n    defPaper = pal.base().color();\r\n\r\n    // Putting this on the heap means we can keep the style getters const.\r\n    style_map = new StyleDataMap;\r\n    style_map->style_data_set = false;\r\n}\r\n\r\n\r\n// The dtor.\r\nQsciLexer::~QsciLexer()\r\n{\r\n    delete style_map;\r\n}\r\n\r\nvoid QsciLexer::setProLangeDefaultFont(const QFont & font)\r\n{\r\n\ts_defaultLangFont = font;\r\n}\r\n\r\n\r\n// Set the attached editor.\r\nvoid QsciLexer::setEditor(QsciScintilla *editor)\r\n{\r\n    attached_editor = editor;\r\n}\r\n\r\n\r\n// Return the lexer name.\r\nconst char *QsciLexer::lexer() const\r\n{\r\n    return 0;\r\n}\r\n\r\nvoid  QsciLexer::setLexerTag(QString tag)\r\n{\r\n\tm_tagName = tag;\r\n}\r\n\r\nQString QsciLexer::lexerTag()\r\n{\r\n\tif (m_tagName.isEmpty())\r\n\t{\r\n\t\treturn QString(lexer());\r\n\t}\r\n\treturn m_tagName;\r\n}\r\n\r\n\r\n// Return the lexer identifier.\r\nint QsciLexer::lexerId() const\r\n{\r\n\treturn m_lexerId;\r\n}\r\n\r\nvoid QsciLexer::setLexerId(int id)\r\n{\r\n\tm_lexerId = id;\r\n}\r\n\r\n\r\n// Return the number of style bits needed by the lexer.\r\nint QsciLexer::styleBitsNeeded() const\r\n{\r\n    return 8;\r\n}\r\n\r\n\r\n// Make sure the style defaults have been set.\r\nvoid QsciLexer::setStyleDefaults() const\r\n{\r\n    if (!style_map->style_data_set)\r\n    {\r\n        for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n        {\r\n            if (!description(i).isEmpty())\r\n            {\r\n                setThemesDefaultStyleData(i);\r\n            }\r\n        }\r\n\r\n        style_map->style_data_set = true;\r\n    }\r\n}\r\n\r\n//恢复到默认lexer状态\r\nvoid QsciLexer::resetStyleDefaults()\r\n{\r\n\tstyle_map->style_data_set = false;\r\n\tstyle_map->style_data.clear();\r\n\tsetStyleDefaults();\r\n}\r\n\r\n\r\n// Return a reference to a style's data, setting up the defaults if needed.\r\nQsciLexer::StyleData &QsciLexer::styleData(int style) const\r\n{\r\n    StyleData &sd = style_map->style_data[style];\r\n\r\n    //如果是非默认主题,则无条件的把所有属性都设置为默认值\r\n    //这样一来，默认都是默认风格，只有文件中存在配置值的才是其它指定风格\r\n \r\n    // See if this is a new style by checking if the colour is valid.\r\n    if (!sd.color.isValid())\r\n    {\r\n        sd.color = defaultColor(style);\r\n        sd.paper = defaultPaper(style);\r\n        sd.font = defaultFont(style);\r\n        sd.eol_fill = defaultEolFill(style);\r\n    }\r\n   \r\n    return sd;\r\n}\r\n\r\n// Return a reference to a style's data, setting up the defaults if needed.\r\nQsciLexer::StyleData& QsciLexer::setThemesDefaultStyleData(int style) const\r\n{\r\n\r\n    StyleData& sd = style_map->style_data[style];\r\n\r\n    //如果是非默认主题,则无条件的把所有属性都设置为默认值\r\n    //这样一来，默认都是GLobal的默认风格，只有文件中存在配置值的才是其它指定风格\r\n    //外部已经使用Global的默认值，填充了QsciLexer的默认值\r\n    if (L_GLOBAL != lexerId())\r\n    {\r\n        // See if this is a new style by checking if the colour is valid.\r\n        //20230209 默认风格，不能全部使用默认值，使用风格本身值，否则默认风格丢失\r\n        //20230209 发现当默认重置，切换到黑色，再切换到默认，默认丢失颜色高亮。\r\n        //因为语法其实没有使用默认赋值。\r\n        if (m_themesId == 0)\r\n        {\r\n            sd.color = defaultColor(style);\r\n            sd.paper = defaultPaper(style);\r\n            sd.font = defaultFont(style);\r\n            sd.eol_fill = defaultEolFill(style);\r\n        }\r\n        else if (m_themesId != 0 || !sd.color.isValid())\r\n        {\r\n            sd.color = defaultColor();\r\n            sd.paper = defaultPaper();\r\n            sd.font = defaultFont();\r\n            sd.eol_fill = defaultEolFill(style);\r\n        }\r\n    }\r\n    else\r\n    {\r\n        //Global本身是个例外，它不能全部使用默认风格。而是要使用它自定义的风格。\r\n        if (m_themesId != 0 || !sd.color.isValid())\r\n        {\r\n            sd.color = defaultColor(style);\r\n            sd.paper = defaultPaper(style);\r\n            sd.font = defaultFont(style);\r\n            sd.eol_fill = defaultEolFill(style);\r\n        }\r\n    }\r\n\r\n    return sd;\r\n}\r\n\r\n// Set the APIs associated with the lexer.\r\nvoid QsciLexer::setAPIs(QsciAbstractAPIs *apis)\r\n{\r\n    apiSet = apis;\r\n}\r\n\r\n\r\n// Return a pointer to the current APIs if there are any.\r\nQsciAbstractAPIs *QsciLexer::apis() const\r\n{\r\n    return apiSet;\r\n}\r\n\r\n\r\n// Default implementation to return the set of fill up characters that can end\r\n// auto-completion.\r\nconst char *QsciLexer::autoCompletionFillups() const\r\n{\r\n    return \"(\";\r\n}\r\n\r\n\r\n// Default implementation to return the view used for indentation guides.\r\nint QsciLexer::indentationGuideView() const\r\n{\r\n    return QsciScintillaBase::SC_IV_LOOKBOTH;\r\n}\r\n\r\n\r\n// Default implementation to return the list of character sequences that can\r\n// separate auto-completion words.\r\nQStringList QsciLexer::autoCompletionWordSeparators() const\r\n{\r\n    return QStringList();\r\n}\r\n\r\n\r\n// Default implementation to return the list of keywords that can start a\r\n// block.\r\nconst char *QsciLexer::blockStartKeyword(int *) const\r\n{\r\n    return 0;\r\n}\r\n\r\n\r\n// Default implementation to return the list of characters that can start a\r\n// block.\r\nconst char *QsciLexer::blockStart(int *) const\r\n{\r\n    return 0;\r\n}\r\n\r\n\r\n// Default implementation to return the list of characters that can end a\r\n// block.\r\nconst char *QsciLexer::blockEnd(int *) const\r\n{\r\n    return 0;\r\n}\r\n\r\n\r\n// Default implementation to return the style used for braces.\r\nint QsciLexer::braceStyle() const\r\n{\r\n    return -1;\r\n}\r\n\r\n\r\n// Default implementation to return the number of lines to look back when\r\n// auto-indenting.\r\nint QsciLexer::blockLookback() const\r\n{\r\n    return 20;\r\n}\r\n\r\n\r\n// Default implementation to return the case sensitivity of the language.\r\nbool QsciLexer::caseSensitive() const\r\n{\r\n    return true;\r\n}\r\n\r\n\r\n// Default implementation to return the characters that make up a word.\r\nconst char *QsciLexer::wordCharacters() const\r\n{\r\n    return 0;\r\n}\r\n\r\n\r\n// Default implementation to return the style used for whitespace.\r\nint QsciLexer::defaultStyle() const\r\n{\r\n    return 0;\r\n}\r\n\r\n\r\n// Returns the foreground colour of the text for a style.\r\nQColor QsciLexer::color(int style) const\r\n{\r\n    return styleData(style).color;\r\n}\r\n\r\n\r\n// Returns the background colour of the text for a style.\r\nQColor QsciLexer::paper(int style) const\r\n{\r\n    return styleData(style).paper;\r\n}\r\n\r\n\r\n// Returns the font for a style.\r\nQFont QsciLexer::font(int style) const\r\n{\r\n    return styleData(style).font;\r\n}\r\n\r\n\r\n// Returns the end-of-line fill for a style.\r\nbool QsciLexer::eolFill(int style) const\r\n{\r\n    return styleData(style).eol_fill;\r\n}\r\n\r\n\r\n// Returns the set of keywords.\r\nconst char *QsciLexer::keywords(int)\r\n{\r\n\tif (m_isUserDefineKeyword)\r\n\t{\r\n\t\t//如果是自定义用户关键字，则根据语言tag获取\r\n\t\treturn getUserDefineKeywords();\r\n\t}\r\n\r\n    return 0;\r\n}\r\n\r\n\r\n// Returns the default EOL fill for a style.\r\nbool QsciLexer::defaultEolFill(int) const\r\n{\r\n    return false;\r\n}\r\n\r\n\r\n// Returns the default font for a style.\r\nQFont QsciLexer::defaultFont(int) const\r\n{\r\n    return defaultFont();\r\n}\r\n\r\n\r\n// Returns the default font.\r\nQFont QsciLexer::defaultFont() const\r\n{\r\n    return defFont;\r\n}\r\n\r\n\r\n// Sets the default font.\r\nvoid QsciLexer::setDefaultFont(const QFont &f)\r\n{\r\n    defFont = f;\r\n}\r\n\r\n\r\n// Returns the default text colour for a style.\r\nQColor QsciLexer::defaultColor(int) const\r\n{\r\n    return defaultColor();\r\n}\r\n\r\n\r\n// Returns the default text colour.\r\nQColor QsciLexer::defaultColor() const\r\n{\r\n    return defColor;\r\n}\r\n\r\n\r\n// Sets the default text colour.\r\nvoid QsciLexer::setDefaultColor(const QColor &c)\r\n{\r\n    defColor = c;\r\n}\r\n\r\n\r\n// Returns the default paper colour for a styles.\r\nQColor QsciLexer::defaultPaper(int) const\r\n{\r\n    return defaultPaper();\r\n}\r\n\r\n\r\n// Returns the default paper colour.\r\nQColor QsciLexer::defaultPaper() const\r\n{\r\n    return defPaper;\r\n}\r\n\r\n\r\n// Sets the default paper colour.\r\nvoid QsciLexer::setDefaultPaper(const QColor &c)\r\n{\r\n    defPaper = c;\r\n\r\n    // Normally the default values are only intended to provide defaults when a\r\n    // lexer is first setup because once a style has been referenced then a\r\n    // copy of the default is made.  However the default paper is a special\r\n    // case because there is no other way to set the background colour used\r\n    // where there is no text.  Therefore we also actively set it.\r\n    setPaper(c, QsciScintillaBase::STYLE_DEFAULT);\r\n}\r\n\r\n\r\n// Read properties from the settings.\r\nbool QsciLexer::readProperties(QSettings &,const QString &)\r\n{\r\n    return true;\r\n}\r\n\r\n\r\n// Refresh all properties.\r\nvoid QsciLexer::refreshProperties()\r\n{\r\n}\r\n\r\n\r\n// Write properties to the settings.\r\nbool QsciLexer::writeProperties(QSettings &,const QString &) const\r\n{\r\n    return true;\r\n}\r\n\r\n\r\n// Restore the user settings.\r\nbool QsciLexer::readSettings(QSettings &qs,const char *prefix)\r\n{\r\n    bool ok, flag, rc = true;\r\n    int num;\r\n    QString key, full_key;\r\n    QStringList fdesc;\r\n\r\n    //原来是先读取默认值，在读取配置值。加入主题后，得先读取配置的默认值。\r\n    //因为非默认主题的初始样式值，就该是默认样式值。只有读取配置的默认值，后面初始化样式时，\r\n    //才能获取到真正的样式默认值。\r\n    if (m_themesId != 0)\r\n    {\r\n        key = QString(\"%1/%2/\").arg(prefix).arg(language());\r\n\r\n        // Read the default foreground colour.\r\n        full_key = key + \"defaultcolor\";\r\n\r\n        ok = qs.contains(full_key);\r\n        num = qs.value(full_key).toString().toInt(&ok, 16);\r\n\r\n        if (ok)\r\n            setDefaultColor(QColor((num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff));\r\n        else\r\n            rc = false;\r\n\r\n        // Read the default background colour.\r\n        full_key = key + \"defaultpaper\";\r\n\r\n        ok = qs.contains(full_key);\r\n        num = qs.value(full_key).toString().toInt(&ok, 16);\r\n\r\n        if (ok)\r\n            setDefaultPaper(QColor((num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff));\r\n        else\r\n            rc = false;\r\n\r\n        // Read the default font.  First try the deprecated format that uses an\r\n        // integer point size.\r\n        full_key = key + \"defaultfont\";\r\n\r\n        ok = qs.contains(full_key);\r\n        fdesc = qs.value(full_key).toStringList();\r\n\r\n        if (ok && fdesc.count() == 5)\r\n        {\r\n            QFont f;\r\n\r\n            f.setFamily(fdesc[0]);\r\n            f.setPointSize(fdesc[1].toInt());\r\n            f.setBold(fdesc[2].toInt());\r\n            f.setItalic(fdesc[3].toInt());\r\n            f.setUnderline(fdesc[4].toInt());\r\n\r\n            setDefaultFont(f);\r\n        }\r\n        else\r\n            rc = false;\r\n    }\r\n\r\n    setStyleDefaults();\r\n\r\n    // Read the styles.\r\n    for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n    {\r\n        // Ignore invalid styles.\r\n        if (description(i).isEmpty())\r\n            continue;\r\n\r\n        key = QString(\"%1/%2/style%3/\").arg(prefix).arg(language()).arg(i);\r\n\r\n        // Read the foreground colour.\r\n        full_key = key + \"color\";\r\n\r\n        ok = qs.contains(full_key);\r\n        num = qs.value(full_key).toString().toInt(&ok, 16);\r\n\r\n        if (ok)\r\n            setColor(QColor((num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff), i);\r\n        else\r\n            rc = false;\r\n\r\n        // Read the end-of-line fill.\r\n        full_key = key + \"eolfill\";\r\n\r\n        ok = qs.contains(full_key);\r\n        flag = qs.value(full_key, false).toBool();\r\n\r\n        if (ok)\r\n            setEolFill(flag, i);\r\n        else\r\n            rc = false;\r\n\r\n        // Read the font.  First try the deprecated format that uses an integer\r\n        // point size.\r\n        full_key = key + \"font\";\r\n\r\n        ok = qs.contains(full_key);\r\n        fdesc = qs.value(full_key).toStringList();\r\n\r\n        if (ok && fdesc.count() == 5)\r\n        {\r\n            QFont f;\r\n\r\n            f.setFamily(fdesc[0]);\r\n            f.setPointSize(fdesc[1].toInt());\r\n            f.setBold(fdesc[2].toInt());\r\n            f.setItalic(fdesc[3].toInt());\r\n            f.setUnderline(fdesc[4].toInt());\r\n\r\n            setFont(f, i);\r\n        }\r\n        else\r\n            rc = false;\r\n\r\n        // Now try the newer font format that uses a floating point point size.\r\n        // It is not an error if it doesn't exist.\r\n        //full_key = key + \"font2\";\r\n\r\n       // ok = qs.contains(full_key);\r\n       // fdesc = qs.value(full_key).toStringList();\r\n\r\n        /*if (ok)\r\n        {\r\n             Allow for future versions with more fields.\r\n            if (fdesc.count() >= 5)\r\n            {\r\n                QFont f;\r\n\r\n                f.setFamily(fdesc[0]);\r\n                f.setPointSizeF(fdesc[1].toDouble());\r\n                f.setBold(fdesc[2].toInt());\r\n                f.setItalic(fdesc[3].toInt());\r\n                f.setUnderline(fdesc[4].toInt());\r\n\r\n                setFont(f, i);\r\n            }\r\n            else\r\n            {\r\n                rc = false;\r\n            }\r\n        }*/\r\n\r\n#if 1 //不读取背景颜色，和主题保存一致\r\n        // Read the background colour.\r\n        full_key = key + \"paper\";\r\n\r\n        ok = qs.contains(full_key);\r\n        num = qs.value(full_key).toString().toInt(&ok,16);\r\n\r\n        if (ok)\r\n            setPaper(QColor((num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff), i);\r\n        else\r\n            rc = false;\r\n#endif\r\n    }\r\n\r\n    // Read the properties.\r\n    key = QString(\"%1/%2/properties/\").arg(prefix).arg(language());\r\n\r\n    if (!readProperties(qs,key))\r\n        rc = false;\r\n\r\n    refreshProperties();\r\n\r\n    //只有默认主题才需要读取默认值。非默认主题，最前面已经读取过了。\r\n    if (m_themesId == 0)\r\n    {\r\n        // Read the rest.\r\n        key = QString(\"%1/%2/\").arg(prefix).arg(language());\r\n\r\n        // Read the default foreground colour.\r\n        full_key = key + \"defaultcolor\";\r\n\r\n        ok = qs.contains(full_key);\r\n        num = qs.value(full_key).toString().toInt(&ok, 16);\r\n\r\n        if (ok)\r\n            setDefaultColor(QColor((num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff));\r\n        else\r\n            rc = false;\r\n\r\n        // Read the default background colour.\r\n        full_key = key + \"defaultpaper\";\r\n\r\n        ok = qs.contains(full_key);\r\n        num = qs.value(full_key).toString().toInt(&ok, 16);\r\n\r\n        if (ok)\r\n            setDefaultPaper(QColor((num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff));\r\n        else\r\n            rc = false;\r\n\r\n        // Read the default font.  First try the deprecated format that uses an\r\n        // integer point size.\r\n        full_key = key + \"defaultfont\";\r\n\r\n        ok = qs.contains(full_key);\r\n        fdesc = qs.value(full_key).toStringList();\r\n\r\n        if (ok && fdesc.count() == 5)\r\n        {\r\n            QFont f;\r\n\r\n            f.setFamily(fdesc[0]);\r\n            f.setPointSize(fdesc[1].toInt());\r\n            f.setBold(fdesc[2].toInt());\r\n            f.setItalic(fdesc[3].toInt());\r\n            f.setUnderline(fdesc[4].toInt());\r\n\r\n            setDefaultFont(f);\r\n        }\r\n        else\r\n            rc = false;\r\n    }\r\n\r\n    // Now try the newer font format that uses a floating point point size.  It\r\n    // is not an error if it doesn't exist.\r\n    //full_key = key + \"defaultfont2\";\r\n\r\n    //ok = qs.contains(full_key);\r\n    //fdesc = qs.value(full_key).toStringList();\r\n\r\n    //if (ok)\r\n    //{\r\n    //    // Allow for future versions with more fields.\r\n    //    if (fdesc.count() >= 5)\r\n    //    {\r\n    //        QFont f;\r\n\r\n    //        f.setFamily(fdesc[0]);\r\n    //        f.setPointSizeF(fdesc[1].toDouble());\r\n    //        f.setBold(fdesc[2].toInt());\r\n    //        f.setItalic(fdesc[3].toInt());\r\n    //        f.setUnderline(fdesc[4].toInt());\r\n\r\n    //        setDefaultFont(f);\r\n    //    }\r\n    //    else\r\n    //    {\r\n    //        rc = false;\r\n    //    }\r\n    //}\r\n\r\n    full_key = key + \"autoindentstyle\";\r\n\r\n    ok = qs.contains(full_key);\r\n    num = qs.value(full_key).toInt();\r\n\r\n    if (ok)\r\n        setAutoIndentStyle(num);\r\n    else\r\n        rc = false;\r\n\r\n    return rc;\r\n}\r\n\r\n\r\n// Save the user settings.\r\nbool QsciLexer::writeSettings(QSettings &qs,const char *prefix) const\r\n{\r\n    bool rc = true;\r\n    QString key, fmt(\"%1\");\r\n    int num;\r\n    QStringList fdesc;\r\n\r\n    setStyleDefaults();\r\n\r\n    // Write the styles.\r\n    for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n    {\r\n        // Ignore invalid styles.\r\n        if (description(i).isEmpty())\r\n            continue;\r\n\r\n        QColor c;\r\n\r\n        key = QString(\"%1/%2/style%3/\").arg(prefix).arg(language()).arg(i);\r\n\r\n        // Write the foreground colour.\r\n        c = color(i);\r\n        num = (c.red() << 16) | (c.green() << 8) | c.blue();\r\n\r\n        qs.setValue(key + \"color\", QString::number(num, 16));\r\n\r\n        // Write the end-of-line fill.\r\n        qs.setValue(key + \"eolfill\", eolFill(i));\r\n\r\n        // Write the font using the deprecated format.\r\n        QFont f = font(i);\r\n\r\n        fdesc.clear();\r\n        fdesc += f.family();\r\n        fdesc += fmt.arg(f.pointSize());\r\n\r\n        // The casts are for Borland.\r\n        fdesc += fmt.arg((int)f.bold());\r\n        fdesc += fmt.arg((int)f.italic());\r\n        fdesc += fmt.arg((int)f.underline());\r\n\r\n        qs.setValue(key + \"font\", fdesc);\r\n\r\n        // Write the font using the newer format.\r\n        //fdesc[1] = fmt.arg(f.pointSizeF());\r\n\r\n        //qs.setValue(key + \"font2\", fdesc);\r\n\r\n#if 1 //背景颜色和主题皮肤保存一致，故不写入背景颜色\r\n        // Write the background colour.\r\n        c = paper(i);\r\n        num = (c.red() << 16) | (c.green() << 8) | c.blue();\r\n\r\n        qs.setValue(key + \"paper\", QString::number(num, 16));\r\n#endif\r\n    }\r\n\r\n    // Write the properties.\r\n    key = QString(\"%1/%2/properties/\").arg(prefix).arg(language());\r\n\r\n    if (!writeProperties(qs,key))\r\n        rc = false;\r\n\r\n    // Write the rest.\r\n    key = QString(\"%1/%2/\").arg(prefix).arg(language());\r\n\r\n    // Write the default foreground colour.\r\n    num = (defColor.red() << 16) | (defColor.green() << 8) | defColor.blue();\r\n\r\n    qs.setValue(key + \"defaultcolor\", QString::number(num,16));\r\n\r\n#if 1\r\n    // Write the default background colour.\r\n    num = (defPaper.red() << 16) | (defPaper.green() << 8) | defPaper.blue();\r\n\r\n    qs.setValue(key + \"defaultpaper\", QString::number(num, 16));\r\n#endif\r\n\r\n    // Write the default font using the deprecated format.\r\n    fdesc.clear();\r\n    fdesc += defFont.family();\r\n    fdesc += fmt.arg(defFont.pointSize());\r\n\r\n    // The casts are for Borland.\r\n    fdesc += fmt.arg((int)defFont.bold());\r\n    fdesc += fmt.arg((int)defFont.italic());\r\n    fdesc += fmt.arg((int)defFont.underline());\r\n\r\n    qs.setValue(key + \"defaultfont\", fdesc);\r\n\r\n    // Write the font using the newer format.\r\n    //fdesc[1] = fmt.arg(defFont.pointSizeF());\r\n\r\n   //qs.setValue(key + \"defaultfont2\", fdesc);\r\n\r\n    qs.setValue(key + \"autoindentstyle\", autoIndStyle);\r\n\r\n    return rc;\r\n}\r\n\r\n\r\n// Return the auto-indentation style.\r\nint QsciLexer::autoIndentStyle()\r\n{\r\n    // We can't do this in the ctor because we want the virtuals to work.\r\n    if (autoIndStyle < 0)\r\n        autoIndStyle = (blockStartKeyword() || blockStart() || blockEnd()) ?\r\n                    0 : QsciScintilla::AiMaintain;\r\n\r\n    return autoIndStyle;\r\n}\r\n\r\n\r\n// Set the auto-indentation style.\r\nvoid QsciLexer::setAutoIndentStyle(int autoindentstyle)\r\n{\r\n    autoIndStyle = autoindentstyle;\r\n}\r\n\r\n\r\n// Set the foreground colour for a style.\r\nvoid QsciLexer::setColor(const QColor &c, int style)\r\n{\r\n    if (style >= 0)\r\n    {\r\n        styleData(style).color = c;\r\n        emit colorChanged(c, style);\r\n    }\r\n    else\r\n        for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n            if (!description(i).isEmpty())\r\n                setColor(c, i);\r\n}\r\n\r\n\r\n// Set the end-of-line fill for a style.\r\nvoid QsciLexer::setEolFill(bool eolfill, int style)\r\n{\r\n    if (style >= 0)\r\n    {\r\n        styleData(style).eol_fill = eolfill;\r\n        emit eolFillChanged(eolfill, style);\r\n    }\r\n    else\r\n        for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n            if (!description(i).isEmpty())\r\n                setEolFill(eolfill, i);\r\n}\r\n\r\n\r\n// Set the font for a style.\r\nvoid QsciLexer::setFont(const QFont &f, int style)\r\n{\r\n    if (style >= 0)\r\n    {\r\n        styleData(style).font = f;\r\n        emit fontChanged(f, style);\r\n    }\r\n    else\r\n        for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n            if (!description(i).isEmpty())\r\n                setFont(f, i);\r\n}\r\n\r\n\r\n// Set the background colour for a style.\r\nvoid QsciLexer::setPaper(const QColor &c, int style)\r\n{\r\n    if (style >= 0)\r\n    {\r\n        styleData(style).paper = c;\r\n        emit paperChanged(c, style);\r\n    }\r\n    else\r\n    {\r\n        for (int i = 0; i <= QsciScintillaBase::STYLE_MAX; ++i)\r\n            if (!description(i).isEmpty())\r\n                setPaper(c, i);\r\n\r\n        emit paperChanged(c, QsciScintillaBase::STYLE_DEFAULT);\r\n    }\r\n}\r\n\r\nvoid  QsciLexer::setIsUserDefineKeywords(bool isUserDefine)\r\n{\r\n\tm_isUserDefineKeyword = isUserDefine;\r\n}\r\n\r\n\r\nconst char* QsciLexer::getUserDefineKeywords()\r\n{\r\n\r\n\tQString userLangFile = QString(\"notepad/userlang/%1\").arg(m_tagName);//自定义语言中不能有.字符，否则可能有错，后续要检查\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tif (!qs.contains(\"mz\"))\r\n\t{\r\n\t\treturn nullptr;\r\n\t}\r\n\r\n\t//自定义语言格式。\r\n\t//mz:ndd\r\n\t//name:xxx\r\n\t//mother:xxx none/cpp/html 就三种\r\n\t//ext:xx xx xx 文件关联后缀名\r\n\t//keword:xxx\r\n\tm_userDefineKeyword = qs.value(\"keyword\").toString().toUtf8();\r\n\r\n\treturn m_userDefineKeyword.data();\r\n\r\n}\r\n\r\nQByteArray QsciLexer::getCommentLineSymbol()\r\n{\r\n    return m_commentSymbol;\r\n}\r\n\r\nvoid QsciLexer::setCommentLineSymbol(QByteArray comment)\r\n{\r\n    m_commentSymbol = comment;\r\n}\r\n\r\nQByteArray QsciLexer::getCommentStart()\r\n{\r\n    return m_commentStart;\r\n}\r\n\r\nQByteArray QsciLexer::getCommentEnd()\r\n{\r\n    return m_commentEnd;\r\n}\r\n\r\nvoid QsciLexer::setCommentStart(QByteArray commentStart)\r\n{\r\n    m_commentStart = commentStart;\r\n}\r\n\r\nvoid QsciLexer::setCommentEnd(QByteArray commentEnd)\r\n{\r\n    m_commentEnd = commentEnd;\r\n}\r\n\r\nvoid QsciLexer::setCurThemes(int themesId)\r\n{\r\n    m_themesId = themesId;\r\n}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexerasm.cpp",
    "content": "// This module implements the QsciLexerAsm class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerasm.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerAsm::QsciLexerAsm(QObject* parent)\n    : QsciLexer(parent), fold_compact(true)\n{\n    m_commentSymbol = \";\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerAsm::~QsciLexerAsm()\n{\n}\n\n\n// Returns the language name.\nconst char* QsciLexerAsm::language() const\n{\n    return \"Asm\";\n}\n\n\n// Returns the lexer name.\nconst char* QsciLexerAsm::lexer() const\n{\n    return \"asm\";\n}\n\n// Return the string of characters that comprise a word.\nconst char* QsciLexerAsm::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$@%&\";\n}\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerAsm::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case DEFAULT:\n        return QColor(0x00, 0x00, 0x00);\n\n    case COMMENT:\n        return QColor(0x00, 0x80, 0x00);\n\n    case NUMBER:\n        return QColor(0xff, 0x80, 0x00);\n\n    case STRING:\n        return QColor(0x80, 0x80, 0x80);\n\n    case OPERATOR:\n        return QColor(0x00, 0x00, 0x80);\n\n    case IDENTIFIER:\n        return QColor(0x00, 0x00, 0x00);\n\n    case CPUINSTRUCTION: //key word:\n        return QColor(0x00, 0x00, 0xff);\n\n    case MATHINSTRUCTION:\n        return QColor(0x00, 0x80, 0xc0);\n\n    case REGISTER:\n        return QColor(0x80, 0x80, 0xff);\n\n    case DIRECTIVE:\n        return QColor(0x00, 0x80, 0xff);\n\n    case DIRECTIVEOPERAND:\n        return QColor(0x00, 0x00, 0x80);\n\n    case COMMENTBLOCK:\n        return QColor(0x00, 0x80, 0x00);\n\n    case CHARACTER:\n        return QColor(0x80, 0x80, 0x00);\n\n    case EXTINSTRUCTION:\n        return QColor(0x80, 0x40, 0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerAsm::defaultEolFill(int style) const\n{\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerAsm::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case COMMENT:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", 11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\", 9);\n#endif\n        break;\n\n    case REGISTER:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case CPUINSTRUCTION:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case STRINGEOL:\n    case DEFAULT:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char* QsciLexerAsm::keywords(int set)\n{\n    if (set == 1)\n    {\n        return \"aaa aad aam aas adc add and call cbw cdqe clc cld cli cmc cmp cmps cmpsb cmpsw cwd daa das dec div esc hlt idiv imul \"\n            \"in inc int into iret ja jae jb jbe jc jcxz je jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns \"\n            \"jnz jo jp jpe jpo js jz lahf lds lea les lods lodsb lodsw loop loope loopew loopne loopnew loopnz loopnzw loopw loopz \"\n            \"loopzw mov movabs movs movsb movsw mul neg nop not or out pop popf push pushf rcl rcr ret retf retn rol ror sahf sal sar \"\n            \"sbb scas scasb scasw shl shr stc std sti stos stosb stosw sub test wait xchg xlat xlatb xor bound enter ins insb insw \"\n            \"leave outs outsb outsw popa pusha pushw arpl lar lsl sgdt sidt sldt smsw str verr verw clts lgdt lidt lldt lmsw ltr \"\n            \"bsf bsr bt btc btr bts cdq cmpsd cwde insd iretd iretdf iretf jecxz lfs lgs lodsd loopd looped loopned loopnzd loopzd \"\n            \"lss movsd movsx movsxd movzx outsd popad popfd pushad pushd pushfd scasd seta setae setb setbe setc sete setg setge setl \"\n            \"setle setna setnae setnb setnbe setnc setne setng setnge setnl setnle setno setnp setns setnz seto setp setpe setpo sets \"\n            \"setz shld shrd stosd bswap cmpxchg invd invlpg wbinvd xadd lock rep repe repne repnz repz cflush cpuid emms femms cmovo \"\n            \"cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe cmovs cmovns cmovp \"\n            \"cmovpe cmovnp cmovpo cmovl cmovnge cmovge cmovnl cmovle cmovng cmovg cmovnle cmpxchg486 cmpxchg8b loadall loadall286 ibts \"\n            \"icebp int1 int3 int01 int03 iretw popaw popfw pushaw pushfw rdmsr rdpmc rdshr rdtsc rsdc rsldt rsm rsts salc smi smint smintold \"\n            \"svdc svldt svts syscall sysenter sysexit sysret ud0 ud1 ud2 umov xbts wrmsr wrshr\";\n    }\n    else if (set == 2)\n    {\n        return \"f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp fdisi fdiv fdivp fdivr fdivrp \"\n           \"feni ffree fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisub fisubr fld \"\n           \"fld1 fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni \"\n           \"fninit fnop fnsave fnsavew fnstcw fnstenv fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw \"\n           \"fsave fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp fsubr fsubrp ftst fwait \"\n           \"fxam fxch fxtract fyl2x fyl2xp1 fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin \"\n           \"fsincos fstenvd fucom fucomp fucompp fcomi fcomip ffreep fcmovb fcmove fcmovbe fcmovu fcmovnb \"\n            \"fcmovne fcmovnbe fcmovnu\";\n    }\n    else if (set == 3)\n    {\n        return \"ah al ax bh bl bp bx ch cl cr0 cr2 cr3 cr4 cs cx dh di dl dr0 dr1 dr2 dr3 dr6 dr7 ds dx eax ebp ebx ecx edi edx es \"\n            \"esi esp fs gs rax rbx rcx rdx rdi rsi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 r8d r9d r10d r11d r12d r13d r14d r15d r8w r9w \"\n            \"r10w r11w r12w r13w r14w r15w r8b r9b r10b r11b r12b r13b r14b r15b si sp ss st tr3 tr4 tr5 tr6 tr7 st0 st1 st2 st3 st4 st5 st6 \"\n            \"st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15\";\n    }\n    else if (set == 4)\n    {\n        return \".186 .286 .286c .286p .287 .386 .386c .386p .387 .486 .486p .8086 .8087 .alpha .break .code .const .continue .cref .data .data? .dosseg .else .elseif .endif .endw .err .err1 .err2 .errb .errdef .errdif .errdifi .erre .erridn .erridni .errnb .errndef .errnz .exit .fardata .fardata? .if .lall .lfcond .list .listall .listif .listmacro .listmacroall .model .no87 .nocref .nolist .nolistif .nolistmacro .radix .repeat .sall .seq .sfcond .stack .startup .tfcond .type .until .untilcxz .while .xall .xcref .xlist alias align assume catstr comm comment db dd df dosseg dq dt dup dw echo else elseif elseif1 elseif2 elseifb elseifdef elseifdif elseifdifi elseife elseifidn elseifidni elseifnb elseifndef end endif endm endp ends eq equ even exitm extern externdef extrn for forc ge goto group gt high highword if if1 if2 ifb ifdef ifdif ifdifi ife ifidn ifidni ifnb ifndef include includelib instr invoke irp irpc label le length lengthof local low lowword lroffset lt macro mask mod .msfloat name ne offset opattr option org %out page popcontext proc proto ptr public purge pushcontext record repeat rept seg segment short size sizeof sizestr struc struct substr subtitle subttl textequ this title type typedef union while width resb resw resd resq rest incbin times %define %idefine %xdefine %xidefine %undef %assign %iassign %strlen %substr %macro %imacro %endmacro %rotate %if %elif %else %endif %ifdef %ifndef %elifdef %elifndef %ifmacro %ifnmacro %elifmacro %elifnmacro %ifctk %ifnctk %elifctk %elifnctk %ifidn %ifnidn %elifidn %elifnidn %ifidni %ifnidni %elifidni %elifnidni %ifid %ifnid %elifid %elifnid %ifstr %ifnstr %elifstr %elifnstr %ifnum %ifnnum %elifnum %elifnnum %error %rep %endrep %exitrep %include %push %pop %repl endstruc istruc at iend alignb %arg %stacksize %local %line bits use16 use32 section absolute global common cpu import export\";\n    }\n    else if (set == 5)\n    {\n        return \"$ ? @b @f addr basic byte c carry? dword far far16 fortran fword near near16 overflow? parity? pascal qword real4 real8 real10 sbyte sdword sign? stdcall sword syscall tbyte vararg word zero? flat near32 far32 abs all assumes at casemap common compact cpu dotname emulator epilogue error export expr16 expr32 farstack forceframe huge language large listing ljmp loadds m510 medium memory nearstack nodotname noemulator nokeyword noljmp nom510 none nonunique nooldmacros nooldstructs noreadonly noscoped nosignextend nothing notpublic oldmacros oldstructs os_dos para private prologue radix readonly req scoped setif2 smallstack tiny use16 use32 uses a16 a32 o16 o32 nosplit $$ seq wrt small .text .data .bss %0 %1 %2 %3 %4 %5 %6 %7 %8 %9\";\n    }\n    else if (set == 6)\n    {\n        return \"addpd addps addsd addss andpd andps andnpd andnps cmpeqpd cmpltpd cmplepd cmpunordpd cmpnepd cmpnltpd cmpnlepd cmpordpd cmpeqps cmpltps cmpleps cmpunordps cmpneps cmpnltps cmpnleps cmpordps cmpeqsd cmpltsd cmplesd cmpunordsd cmpnesd cmpnltsd cmpnlesd cmpordsd cmpeqss cmpltss cmpless cmpunordss cmpness cmpnltss cmpnless cmpordss comisd comiss cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtss2sd cvtss2si cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi cvttsd2si cvttss2si divpd divps divsd divss fxrstor fxsave ldmxscr lfence mfence maskmovdqu maskmovdq maxpd maxps paxsd maxss minpd minps minsd minss movapd movaps movdq2q movdqa movdqu movhlps movhpd movhps movd movq movlhps movlpd movlps movmskpd movmskps movntdq movnti movntpd movntps movntq movq2dq movsd movss movupd movups mulpd mulps mulsd mulss orpd orps packssdw packsswb packuswb paddb paddsb paddw paddsw paddd paddsiw paddq paddusb paddusw pand pandn pause paveb pavgb pavgw pavgusb pdistib pextrw pcmpeqb pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pmachriw pmaddwd pmagw pmaxsw pmaxub pminsw pminub pmovmskb pmulhrwc pmulhriw pmulhrwa pmulhuw pmulhw pmullw pmuludq pmvzb pmvnzb pmvlzb pmvgezb pfnacc pfpnacc por prefetch prefetchw prefetchnta prefetcht0 prefetcht1 prefetcht2 pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pinsrw psadbw pshufd pshufhw pshuflw pshufw psllw pslld psllq pslldq psraw psrad psrlw psrld psrlq psrldq psubb psubw psubd psubq psubsb psubsw psubusb psubusw psubsiw pswapd punpckhbw punpckhwd punpckhdq punpckhqdq punpcklbw punpcklwd punpckldq punpcklqdq pxor rcpps rcpss rsqrtps rsqrtss sfence shufpd shufps sqrtpd sqrtps sqrtsd sqrtss stmxcsr subpd subps subsd subss ucomisd ucomiss unpckhpd unpckhps unpcklpd unpcklps xorpd xorps\";\n    }\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerAsm::description(int style) const\n{\n    switch (style)\n    {\n    case DEFAULT:\n        return tr(\"Default\");\n\n    case COMMENT:\n        return tr(\"Comment\");\n\n    case NUMBER:\n        return tr(\"Number\");\n\n    case STRING:\n        return tr(\"String\");\n\n    case OPERATOR:\n        return tr(\"Operator\");\n\n    case IDENTIFIER:\n        return tr(\"Identifier\");\n\n    case CPUINSTRUCTION: //key word\n        return tr(\"Keyword (Cpu instruction)\");\n\n    case MATHINSTRUCTION:\n        return tr(\"Math instruction\");\n\n    case REGISTER:\n        return tr(\"Register\");\n\n    case DIRECTIVE:\n        return tr(\"Directive\");\n\n    case DIRECTIVEOPERAND:\n        return tr(\"Directive Operand\");\n\n    case COMMENTBLOCK:\n        return tr(\"Comment Block\");\n\n    case CHARACTER:\n        return tr(\"Character\");\n\n    case STRINGEOL:\n        return tr(\"String eol\");\n\n    case EXTINSTRUCTION:\n        return tr(\"Extinstruction\");\n\n    case COMMENTDIRECTIVE:\n        return tr(\"Comment Directive\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerAsm::defaultPaper(int style) const\n{\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerAsm::refreshProperties()\n{\n    setCompactProp();\n}\n\n\n// Set if folds are compact\nvoid QsciLexerAsm::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerAsm::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexeravs.cpp",
    "content": "﻿// This module implements the QsciLexerAVS class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexeravs.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerAVS::QsciLexerAVS(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true)\n{\n}\n\n\n// The dtor.\nQsciLexerAVS::~QsciLexerAVS()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerAVS::language() const\n{\n    return \"AVS\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerAVS::lexer() const\n{\n    return \"avs\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerAVS::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerAVS::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_#\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerAVS::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case Operator:\n        return QColor(0x00, 0x00, 0x00);\n\n    case BlockComment:\n    case NestedBlockComment:\n    case LineComment:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case Number:\n    case Function:\n        return QColor(0x00, 0x7f, 0x7f);\n\n    case String:\n    case TripleString:\n        return QColor(0x7f, 0x00, 0x7f);\n\n    case Keyword:\n    case Filter:\n    case ClipProperty:\n        return QColor(0x80, 0x00, 0xff);\n\n    case Plugin:\n        return QColor(0x00, 0x80, 0xc0);\n\n    case KeywordSet6:\n        return QColor(0x80, 0x00, 0xff);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerAVS::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case BlockComment:\n    case NestedBlockComment:\n    case LineComment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Georgia\", 13);\n#else\n        f = QFont(\"Bitstream Vera Serif\", 9);\n#endif\n        break;\n\n    case Keyword:\n    case Filter:\n    case Plugin:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerAVS::keywords(int set)\n{\n    if (set == 1)\n        return \"true false return global\";\n\n    if (set == 2)\n        return\n            \"addborders alignedsplice amplify amplifydb animate applyrange \"\n            \"assumebff assumefieldbased assumefps assumeframebased \"\n            \"assumesamplerate assumescaledfps assumetff audiodub audiodubex \"\n            \"avifilesource avisource bicubicresize bilinearresize \"\n            \"blackmanresize blackness blankclip blur bob cache changefps \"\n            \"colorbars colorkeymask coloryuv compare complementparity \"\n            \"conditionalfilter conditionalreader convertaudio \"\n            \"convertaudioto16bit convertaudioto24bit convertaudioto32bit \"\n            \"convertaudioto8bit convertaudiotofloat convertbacktoyuy2 \"\n            \"convertfps converttobackyuy2 converttomono converttorgb \"\n            \"converttorgb24 converttorgb32 converttoy8 converttoyv16 \"\n            \"converttoyv24 converttoyv411 converttoyuy2 converttoyv12 crop \"\n            \"cropbottom delayaudio deleteframe dissolve distributor \"\n            \"doubleweave duplicateframe ensurevbrmp3sync fadein fadein0 \"\n            \"fadein2 fadeio fadeio0 fadeio2 fadeout fadeout0 fadeout2 \"\n            \"fixbrokenchromaupsampling fixluminance fliphorizontal \"\n            \"flipvertical frameevaluate freezeframe gaussresize \"\n            \"generalconvolution getchannel getchannels getmtmode getparity \"\n            \"grayscale greyscale histogram horizontalreduceby2 imagereader \"\n            \"imagesource imagewriter info interleave internalcache \"\n            \"internalcachemt invert killaudio killvideo lanczos4resize \"\n            \"lanczosresize layer letterbox levels limiter loop mask maskhs \"\n            \"max merge mergeargb mergechannels mergechroma mergeluma mergergb \"\n            \"messageclip min mixaudio monotostereo normalize null \"\n            \"opendmlsource overlay peculiarblend pointresize pulldown \"\n            \"reduceby2 resampleaudio resetmask reverse rgbadjust scriptclip \"\n            \"segmentedavisource segmenteddirectshowsource selecteven \"\n            \"selectevery selectodd selectrangeevery separatefields setmtmode \"\n            \"sharpen showalpha showblue showfiveversions showframenumber \"\n            \"showgreen showred showsmpte showtime sincresize skewrows \"\n            \"spatialsoften spline16resize spline36resize spline64resize ssrc \"\n            \"stackhorizontal stackvertical subtitle subtract supereq \"\n            \"swapfields swapuv temporalsoften timestretch tone trim turn180 \"\n            \"turnleft turnright tweak unalignedsplice utoy utoy8 version \"\n            \"verticalreduceby2 vtoy vtoy8 wavsource weave writefile \"\n            \"writefileend writefileif writefilestart ytouv\";\n\n    if (set == 3)\n        return\n            \"addgrain addgrainc agc_hdragc analyzelogo animeivtc asharp \"\n            \"audiograph autocrop autoyuy2 avsrecursion awarpsharp \"\n            \"bassaudiosource bicublinresize bifrost binarize blendfields \"\n            \"blindpp blockbuster bordercontrol cfielddiff cframediff \"\n            \"chromashift cnr2 colormatrix combmask contra convolution3d \"\n            \"convolution3dyv12 dctfilter ddcc deblendlogo deblock deblock_qed \"\n            \"decimate decomb dedup deen deflate degrainmedian depan \"\n            \"depanestimate depaninterleave depanscenes depanstabilize \"\n            \"descratch despot dfttest dgbob dgsource directshowsource \"\n            \"distancefunction dss2 dup dupmc edeen edgemask ediupsizer eedi2 \"\n            \"eedi3 eedi3_rpow2 expand faerydust fastbicubicresize \"\n            \"fastbilinearresize fastediupsizer dedgemask fdecimate \"\n            \"ffaudiosource ffdshow ffindex ffmpegsource ffmpegsource2 \"\n            \"fft3dfilter fft3dgpu ffvideosource fielddeinterlace fielddiff \"\n            \"fillmargins fity2uv fity2u fity2v fitu2y fitv2y fluxsmooth \"\n            \"fluxsmoothst fluxsmootht framediff framenumber frfun3b frfun7 \"\n            \"gicocu golddust gradfun2db grapesmoother greedyhma grid \"\n            \"guavacomb hqdn3d hybridfupp hysteresymask ibob \"\n            \"improvesceneswitch inflate inpand inpaintlogo interframe \"\n            \"interlacedresize interlacedwarpedresize interleaved2planar \"\n            \"iscombed iscombedt iscombedtivtc kerneldeint leakkernelbob \"\n            \"leakkerneldeint limitedsharpen limitedsharpenfaster logic lsfmod \"\n            \"lumafilter lumayv12 manalyse maskeddeinterlace maskedmerge \"\n            \"maskedmix mblockfps mcompensate mctemporaldenoise \"\n            \"mctemporaldenoisepp mdegrain1 mdegrain2 mdegrain3 mdepan \"\n            \"medianblur mergehints mflow mflowblur mflowfps mflowinter \"\n            \"minblur mipsmooth mmask moderatesharpen monitorfilter motionmask \"\n            \"mpasource mpeg2source mrecalculate mscdetection msharpen mshow \"\n            \"msmooth msu_fieldshiftfixer msu_frc msuper mt mt_adddiff \"\n            \"mt_average mt_binarize mt_circle mt_clamp mt_convolution \"\n            \"mt_deflate mt_diamond mt_edge mt_ellipse mt_expand \"\n            \"mt_freeellipse mt_freelosange mt_freerectangle mt_hysteresis \"\n            \"mt_infix mt_inflate mt_inpand mt_invert mt_logic mt_losange \"\n            \"mt_lut mt_lutf mt_luts mt_lutspa mt_lutsx mt_lutxy mt_lutxyz \"\n            \"mt_makediff mt_mappedblur mt_merge mt_motion mt_polish \"\n            \"mt_rectangle mt_square mti mtsource multidecimate mvanalyse \"\n            \"mvblockfps mvchangecompensate mvcompensate mvdegrain1 mvdegrain2 \"\n            \"mvdegrain3 mvdenoise mvdepan mvflow mvflowblur mvflowfps \"\n            \"mvflowfps2 mvflowinter mvincrease mvmask mvrecalculate \"\n            \"mvscdetection mvshow nicac3source nicdtssource niclpcmsource \"\n            \"nicmpasource nicmpg123source nnedi nnedi2 nnedi2_rpow2 nnedi3 \"\n            \"nnedi3_rpow2 nomosmooth overlaymask peachsmoother pixiedust \"\n            \"planar2interleaved qtgmc qtinput rawavsource rawsource \"\n            \"reduceflicker reinterpolate411 removedirt removedust removegrain \"\n            \"removegrainhd removetemporalgrain repair requestlinear \"\n            \"reversefielddominance rgb3dlut rgdeinterlace rgsdeinterlace \"\n            \"rgblut rotate sangnom seesaw sharpen2 showchannels \"\n            \"showcombedtivtc smartdecimate smartdeinterlace smdegrain \"\n            \"smoothdeinterlace smoothuv soothess soxfilter spacedust sshiq \"\n            \"ssim ssiq stmedianfilter t3dlut tanisotropic tbilateral tcanny \"\n            \"tcomb tcombmask tcpserver tcpsource tdecimate tdeint tedgemask \"\n            \"telecide temporalcleaner temporalrepair temporalsmoother \"\n            \"tfieldblank tfm tisophote tivtc tmaskblank tmaskedmerge \"\n            \"tmaskedmerge3 tmm tmonitor tnlmeans tomsmocomp toon textsub \"\n            \"ttempsmooth ttempsmoothf tunsharp unblock uncomb undot unfilter \"\n            \"unsharpmask vaguedenoiser variableblur verticalcleaner \"\n            \"videoscope vinverse vobsub vqmcalc warpedresize warpsharp \"\n            \"xsharpen yadif yadifmod yuy2lut yv12convolution \"\n            \"yv12interlacedreduceby2 yv12interlacedselecttopfields yv12layer \"\n            \"yv12lut yv12lutxy yv12substract yv12torgb24 yv12toyuy2\";\n\n    if (set == 4)\n        return\n            \"abs apply assert bool ceil chr clip continueddenominator \"\n            \"continuednumerator cos default defined eval averagechromau \"\n            \"averagechromav averageluma chromaudifference chromavdifference \"\n            \"lumadifference exist exp findstr float floor frac hexvalue \"\n            \"import int isbool isclip isfloat isint isstring lcase leftstr \"\n            \"load_stdcall_plugin loadcplugin loadplugin loadvfapiplugin \"\n            \"loadvirtualdubplugin log midstr muldiv nop opt_allowfloataudio \"\n            \"opt_avipadscanlines opt_dwchannelmask opt_usewaveextensible \"\n            \"opt_vdubplanarhack pi pow rand revstr rightstr round scriptdir \"\n            \"scriptfile scriptname select setmemorymax \"\n            \"setplanarlegacyalignment rgbdifference rgbdifferencefromprevious \"\n            \"rgbdifferencetonext udifferencefromprevious udifferencetonext \"\n            \"setworkingdir sign sin spline sqrt string strlen time ucase \"\n            \"undefined value versionnumber versionstring uplanemax \"\n            \"uplanemedian uplanemin uplaneminmaxdifference \"\n            \"vdifferencefromprevious vdifferencetonext vplanemax vplanemedian \"\n            \"vplanemin vplaneminmaxdifference ydifferencefromprevious \"\n            \"ydifferencetonext yplanemax yplanemedian yplanemin \"\n            \"yplaneminmaxdifference\";\n\n    if (set == 5)\n        return\n            \"audiobits audiochannels audiolength audiolengthf audiorate \"\n            \"framecount framerate frameratedenominator frameratenumerator \"\n            \"getleftchannel getrightchannel hasaudio hasvideo height \"\n            \"isaudiofloat isaudioint isfieldbased isframebased isinterleaved \"\n            \"isplanar isrgb isrgb24 isrgb32 isyuv isyuy2 isyv12 width\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerAVS::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case BlockComment:\n        return tr(\"Block comment\");\n\n    case NestedBlockComment:\n        return tr(\"Nested block comment\");\n\n    case LineComment:\n        return tr(\"Line comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case String:\n        return tr(\"Double-quoted string\");\n\n    case TripleString:\n        return tr(\"Triple double-quoted string\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case Filter:\n        return tr(\"Filter\");\n\n    case Plugin:\n        return tr(\"Plugin\");\n\n    case Function:\n        return tr(\"Function\");\n\n    case ClipProperty:\n        return tr(\"Clip property\");\n\n    case KeywordSet6:\n        return tr(\"User defined\");\n    }\n\n    return QString();\n}\n\n\n// Refresh all properties.\nvoid QsciLexerAVS::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerAVS::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerAVS::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerAVS::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerAVS::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerAVS::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerAVS::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerAVS::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerAVS::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerbash.cpp",
    "content": "﻿// This module implements the QsciLexerBash class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerbash.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerBash::QsciLexerBash(QObject *parent)\n    : QsciLexer(parent), fold_comments(false), fold_compact(true)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerBash::~QsciLexerBash()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerBash::language() const\n{\n    return \"Bash\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerBash::lexer() const\n{\n    return \"bash\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerBash::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerBash::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$@%&\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerBash::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Error:\n    case Backticks:\n        return QColor(0xff,0xff,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case SingleQuotedHereDocument:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Operator:\n    case Identifier:\n    case Scalar:\n    case ParameterExpansion:\n    case HereDocumentDelimiter:\n        return QColor(0x00,0x00,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerBash::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case SingleQuotedHereDocument:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerBash::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerBash::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"alias ar asa awk banner basename bash bc bdiff break \"\n            \"bunzip2 bzip2 cal calendar case cat cc cd chmod \"\n            \"cksum clear cmp col comm compress continue cp cpio \"\n            \"crypt csplit ctags cut date dc dd declare deroff dev \"\n            \"df diff diff3 dircmp dirname do done du echo ed \"\n            \"egrep elif else env esac eval ex exec exit expand \"\n            \"export expr false fc fgrep fi file find fmt fold for \"\n            \"function functions getconf getopt getopts grep gres \"\n            \"hash head help history iconv id if in integer jobs \"\n            \"join kill local lc let line ln logname look ls m4 \"\n            \"mail mailx make man mkdir more mt mv newgrp nl nm \"\n            \"nohup ntps od pack paste patch pathchk pax pcat perl \"\n            \"pg pr print printf ps pwd read readonly red return \"\n            \"rev rm rmdir sed select set sh shift size sleep sort \"\n            \"spell split start stop strings strip stty sum \"\n            \"suspend sync tail tar tee test then time times touch \"\n            \"tr trap true tsort tty type typeset ulimit umask \"\n            \"unalias uname uncompress unexpand uniq unpack unset \"\n            \"until uudecode uuencode vi vim vpax wait wc whence \"\n            \"which while who wpaste wstart xargs zcat \"\n\n            \"chgrp chown chroot dir dircolors factor groups \"\n            \"hostid install link md5sum mkfifo mknod nice pinky \"\n            \"printenv ptx readlink seq sha1sum shred stat su tac \"\n            \"unlink users vdir whoami yes\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerBash::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Error:\n        return tr(\"Error\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Scalar:\n        return tr(\"Scalar\");\n\n    case ParameterExpansion:\n        return tr(\"Parameter expansion\");\n\n    case Backticks:\n        return tr(\"Backticks\");\n\n    case HereDocumentDelimiter:\n        return tr(\"Here document delimiter\");\n\n    case SingleQuotedHereDocument:\n        return tr(\"Single-quoted here document\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerBash::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case Error:\n        return QColor(0xff,0x00,0x00);\n\n    case Scalar:\n        return QColor(0xff,0xe0,0xe0);\n\n    case ParameterExpansion:\n        return QColor(0xff,0xff,0xe0);\n\n    case Backticks:\n        return QColor(0xa0,0x80,0x80);\n\n    case HereDocumentDelimiter:\n    case SingleQuotedHereDocument:\n        return QColor(0xdd,0xd0,0xdd);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerBash::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerBash::readProperties(QSettings &qs, const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerBash::writeProperties(QSettings &qs, const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerBash::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerBash::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerBash::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\", (fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerBash::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerBash::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerBash::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerbatch.cpp",
    "content": "﻿// This module implements the QsciLexerBatch class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerbatch.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerBatch::QsciLexerBatch(QObject *parent)\n    : QsciLexer(parent)\n{\n    m_commentSymbol = \"REM\";\n}\n\n\n// The dtor.\nQsciLexerBatch::~QsciLexerBatch()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerBatch::language() const\n{\n    return \"Batch\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerBatch::lexer() const\n{\n    return \"batch\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerBatch::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerBatch::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Keyword:\n    case ExternalCommand:\n        return QColor(0x80, 0x00, 0xff);\n\n    case Label:\n        return QColor(0x7f,0x00,0x7f);\n\n    case HideCommandChar:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Variable:\n        return QColor(0x80,0x00,0x80);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerBatch::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case Label:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerBatch::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case ExternalCommand:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        f.setBold(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerBatch::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"rem set if exist errorlevel for in do break call \"\n            \"chcp cd chdir choice cls country ctty date del \"\n            \"erase dir echo exit goto loadfix loadhigh mkdir md \"\n            \"move path pause prompt rename ren rmdir rd shift \"\n            \"time type ver verify vol com con lpt nul\";\n\n    return 0;\n}\n\n\n// Return the case sensitivity.\nbool QsciLexerBatch::caseSensitive() const\n{\n    return false;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerBatch::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case Label:\n        return tr(\"Label\");\n\n    case HideCommandChar:\n        return tr(\"Hide command character\");\n\n    case ExternalCommand:\n        return tr(\"External command\");\n\n    case Variable:\n        return tr(\"Variable\");\n\n    case Operator:\n        return tr(\"Operator\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerBatch::defaultPaper(int style) const\n{\n    return QsciLexer::defaultPaper(style);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexercmake.cpp",
    "content": "﻿// This module implements the QsciLexerCMake class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexercmake.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerCMake::QsciLexerCMake(QObject *parent)\n    : QsciLexer(parent), fold_atelse(false)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerCMake::~QsciLexerCMake()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerCMake::language() const\n{\n    return \"CMake\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerCMake::lexer() const\n{\n    return \"cmake\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerCMake::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case KeywordSet3:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case String:\n    case StringLeftQuote:\n    case StringRightQuote:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Function:\n    case BlockWhile:\n    case BlockForeach:\n    case BlockIf:\n    case BlockMacro:\n        return QColor(0x00,0x00,0x7f);\n\n    case Variable:\n        return QColor(0x80,0x00,0x00);\n\n    case Label:\n    case StringVariable:\n        return QColor(0xcc,0x33,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerCMake::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Function:\n    case BlockWhile:\n    case BlockForeach:\n    case BlockIf:\n    case BlockMacro:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerCMake::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"add_custom_command add_custom_target add_definitions \"\n            \"add_dependencies add_executable add_library add_subdirectory \"\n            \"add_test aux_source_directory build_command build_name \"\n            \"cmake_minimum_required configure_file create_test_sourcelist \"\n            \"else elseif enable_language enable_testing endforeach endif \"\n            \"endmacro endwhile exec_program execute_process \"\n            \"export_library_dependencies file find_file find_library \"\n            \"find_package find_path find_program fltk_wrap_ui foreach \"\n            \"get_cmake_property get_directory_property get_filename_component \"\n            \"get_source_file_property get_target_property get_test_property \"\n            \"if include include_directories include_external_msproject \"\n            \"include_regular_expression install install_files \"\n            \"install_programs install_targets link_directories link_libraries \"\n            \"list load_cache load_command macro make_directory \"\n            \"mark_as_advanced math message option output_required_files \"\n            \"project qt_wrap_cpp qt_wrap_ui remove remove_definitions \"\n            \"separate_arguments set set_directory_properties \"\n            \"set_source_files_properties set_target_properties \"\n            \"set_tests_properties site_name source_group string \"\n            \"subdir_depends subdirs target_link_libraries try_compile try_run \"\n            \"use_mangled_mesa utility_source variable_requires \"\n            \"vtk_make_instantiator vtk_wrap_java vtk_wrap_python vtk_wrap_tcl \"\n            \"while write_file\";\n\n    if (set == 2)\n        return\n            \"ABSOLUTE ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ALL AND APPEND \"\n            \"ARGS ASCII BEFORE CACHE CACHE_VARIABLES CLEAR COMMAND COMMANDS \"\n            \"COMMAND_NAME COMMENT COMPARE COMPILE_FLAGS COPYONLY DEFINED \"\n            \"DEFINE_SYMBOL DEPENDS DOC EQUAL ESCAPE_QUOTES EXCLUDE \"\n            \"EXCLUDE_FROM_ALL EXISTS EXPORT_MACRO EXT EXTRA_INCLUDE \"\n            \"FATAL_ERROR FILE FILES FORCE FUNCTION GENERATED GLOB \"\n            \"GLOB_RECURSE GREATER GROUP_SIZE HEADER_FILE_ONLY HEADER_LOCATION \"\n            \"IMMEDIATE INCLUDES INCLUDE_DIRECTORIES INCLUDE_INTERNALS \"\n            \"INCLUDE_REGULAR_EXPRESSION LESS LINK_DIRECTORIES LINK_FLAGS \"\n            \"LOCATION MACOSX_BUNDLE MACROS MAIN_DEPENDENCY MAKE_DIRECTORY \"\n            \"MATCH MATCHALL MATCHES MODULE NAME NAME_WE NOT NOTEQUAL \"\n            \"NO_SYSTEM_PATH OBJECT_DEPENDS OPTIONAL OR OUTPUT OUTPUT_VARIABLE \"\n            \"PATH PATHS POST_BUILD POST_INSTALL_SCRIPT PREFIX PREORDER \"\n            \"PRE_BUILD PRE_INSTALL_SCRIPT PRE_LINK PROGRAM PROGRAM_ARGS \"\n            \"PROPERTIES QUIET RANGE READ REGEX REGULAR_EXPRESSION REPLACE \"\n            \"REQUIRED RETURN_VALUE RUNTIME_DIRECTORY SEND_ERROR SHARED \"\n            \"SOURCES STATIC STATUS STREQUAL STRGREATER STRLESS SUFFIX TARGET \"\n            \"TOLOWER TOUPPER VAR VARIABLES VERSION WIN32 WRAP_EXCLUDE WRITE \"\n            \"APPLE MINGW MSYS CYGWIN BORLAND WATCOM MSVC MSVC_IDE MSVC60 \"\n            \"MSVC70 MSVC71 MSVC80 CMAKE_COMPILER_2005 OFF ON\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerCMake::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case String:\n        return tr(\"String\");\n\n    case StringLeftQuote:\n        return tr(\"Left quoted string\");\n\n    case StringRightQuote:\n        return tr(\"Right quoted string\");\n\n    case Function:\n        return tr(\"Function\");\n\n    case Variable:\n        return tr(\"Variable\");\n\n    case Label:\n        return tr(\"Label\");\n\n    case KeywordSet3:\n        return tr(\"User defined\");\n\n    case BlockWhile:\n        return tr(\"WHILE block\");\n\n    case BlockForeach:\n        return tr(\"FOREACH block\");\n\n    case BlockIf:\n        return tr(\"IF block\");\n\n    case BlockMacro:\n        return tr(\"MACRO block\");\n\n    case StringVariable:\n        return tr(\"Variable within a string\");\n\n    case Number:\n        return tr(\"Number\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerCMake::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case String:\n    case StringLeftQuote:\n    case StringRightQuote:\n    case StringVariable:\n        return QColor(0xee,0xee,0xee);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerCMake::refreshProperties()\n{\n    setAtElseProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerCMake::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_atelse = qs.value(prefix + \"foldatelse\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerCMake::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n\n    return rc;\n}\n\n\n// Return true if ELSE blocks can be folded.\nbool QsciLexerCMake::foldAtElse() const\n{\n    return fold_atelse;\n}\n\n\n// Set if ELSE blocks can be folded.\nvoid QsciLexerCMake::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.at.else\" property.\nvoid QsciLexerCMake::setAtElseProp()\n{\n    emit propertyChanged(\"fold.at.else\",(fold_atelse ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexercoffeescript.cpp",
    "content": "﻿// This module implements the QsciLexerCoffeeScript class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexercoffeescript.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerCoffeeScript::QsciLexerCoffeeScript(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true), style_preproc(false),\n      dollars(true)\n{\n}\n\n\n// The dtor.\nQsciLexerCoffeeScript::~QsciLexerCoffeeScript()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerCoffeeScript::language() const\n{\n    return \"CoffeeScript\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerCoffeeScript::lexer() const\n{\n    return \"coffeescript\";\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerCoffeeScript::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \".\";\n\n    return wl;\n}\n\n\n// Return the list of keywords that can start a block.\nconst char *QsciLexerCoffeeScript::blockStartKeyword(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return \"catch class do else finally for if try until when while\";\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerCoffeeScript::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"{\";\n}\n\n\n// Return the list of characters that can end a block.\nconst char *QsciLexerCoffeeScript::blockEnd(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"}\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerCoffeeScript::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerCoffeeScript::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_#\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerCoffeeScript::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80, 0x80, 0x80);\n\n    case Comment:\n    case CommentLine:\n    case CommentBlock:\n    case BlockRegexComment:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case CommentDoc:\n    case CommentLineDoc:\n        return QColor(0x3f, 0x70, 0x3f);\n\n    case Number:\n        return QColor(0x00, 0x7f, 0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n        return QColor(0x7f, 0x00, 0x7f);\n\n    case PreProcessor:\n        return QColor(0x7f, 0x7f, 0x00);\n\n    case Operator:\n    case UnclosedString:\n        return QColor(0x00, 0x00, 0x00);\n\n    case VerbatimString:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case Regex:\n    case BlockRegex:\n        return QColor(0x3f, 0x7f, 0x3f);\n\n    case CommentDocKeyword:\n        return QColor(0x30, 0x60, 0xa0);\n\n    case CommentDocKeywordError:\n        return QColor(0x80, 0x40, 0x20);\n\n    case InstanceProperty:\n        return QColor(0xc0, 0x60, 0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerCoffeeScript::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n    case VerbatimString:\n    case Regex:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerCoffeeScript::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n    case CommentDoc:\n    case CommentLineDoc:\n    case CommentDocKeyword:\n    case CommentDocKeywordError:\n    case CommentBlock:\n    case BlockRegexComment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case UnclosedString:\n    case VerbatimString:\n    case Regex:\n    case BlockRegex:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerCoffeeScript::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"true false null this new delete typeof in instanceof return \"\n            \"throw break continue debugger if else switch for while do try \"\n            \"catch finally class extends super \"\n            \"undefined then unless until loop of by when and or is isnt not \"\n            \"yes no on off\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerCoffeeScript::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"C-style comment\");\n\n    case CommentLine:\n        return tr(\"C++-style comment\");\n\n    case CommentDoc:\n        return tr(\"JavaDoc C-style comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case UUID:\n        return tr(\"IDL UUID\");\n\n    case PreProcessor:\n        return tr(\"Pre-processor block\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case VerbatimString:\n        return tr(\"C# verbatim string\");\n\n    case Regex:\n        return tr(\"Regular expression\");\n\n    case CommentLineDoc:\n        return tr(\"JavaDoc C++-style comment\");\n\n    case KeywordSet2:\n        return tr(\"Secondary keywords and identifiers\");\n\n    case CommentDocKeyword:\n        return tr(\"JavaDoc keyword\");\n\n    case CommentDocKeywordError:\n        return tr(\"JavaDoc keyword error\");\n\n    case GlobalClass:\n        return tr(\"Global classes\");\n\n    case CommentBlock:\n        return tr(\"Block comment\");\n\n    case BlockRegex:\n        return tr(\"Block regular expression\");\n\n    case BlockRegexComment:\n        return tr(\"Block regular expression comment\");\n\n    case InstanceProperty:\n        return tr(\"Instance property\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerCoffeeScript::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n        return QColor(0xe0,0xc0,0xe0);\n\n    case VerbatimString:\n        return QColor(0xe0,0xff,0xe0);\n\n    case Regex:\n        return QColor(0xe0,0xf0,0xe0);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerCoffeeScript::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setStylePreprocProp();\n    setDollarsProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerCoffeeScript::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    style_preproc = qs.value(prefix + \"stylepreprocessor\", false).toBool();\n    dollars = qs.value(prefix + \"dollars\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerCoffeeScript::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"stylepreprocessor\", style_preproc);\n    qs.setValue(prefix + \"dollars\", dollars);\n\n    return rc;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerCoffeeScript::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerCoffeeScript::setCommentProp()\n{\n    emit propertyChanged(\"fold.coffeescript.comment\",\n            (fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact\nvoid QsciLexerCoffeeScript::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerCoffeeScript::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if preprocessor lines are styled.\nvoid QsciLexerCoffeeScript::setStylePreprocessor(bool style)\n{\n    style_preproc = style;\n\n    setStylePreprocProp();\n}\n\n\n// Set the \"styling.within.preprocessor\" property.\nvoid QsciLexerCoffeeScript::setStylePreprocProp()\n{\n    emit propertyChanged(\"styling.within.preprocessor\",\n            (style_preproc ? \"1\" : \"0\"));\n}\n\n\n// Set if '$' characters are allowed.\nvoid QsciLexerCoffeeScript::setDollarsAllowed(bool allowed)\n{\n    dollars = allowed;\n\n    setDollarsProp();\n}\n\n\n// Set the \"lexer.cpp.allow.dollars\" property.\nvoid QsciLexerCoffeeScript::setDollarsProp()\n{\n    emit propertyChanged(\"lexer.cpp.allow.dollars\", (dollars ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexercpp.cpp",
    "content": "﻿// This module implements the QsciLexerCPP class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexercpp.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerCPP::QsciLexerCPP(QObject *parent, bool caseInsensitiveKeywords)\n    : QsciLexer(parent),\n      fold_atelse(false), fold_comments(false), fold_compact(true),\n      fold_preproc(true), style_preproc(false), dollars(true),\n      highlight_triple(false), highlight_hash(false), highlight_back(false),\n      highlight_escape(false), vs_escape(false),\n      nocase(caseInsensitiveKeywords)\n{\n    m_commentSymbol = \"//\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerCPP::~QsciLexerCPP()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerCPP::language() const\n{\n    return \"C++\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerCPP::lexer() const\n{\n    return (nocase ? \"cppnocase\" : \"cpp\");\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerCPP::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \"::\" << \"->\" << \".\";\n\n    return wl;\n}\n\n\n// Return the list of keywords that can start a block.\nconst char *QsciLexerCPP::blockStartKeyword(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return \"case catch class default do else finally for if private \"\n           \"protected public struct try union while\";\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerCPP::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"{\";\n}\n\n\n// Return the list of characters that can end a block.\nconst char *QsciLexerCPP::blockEnd(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"}\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerCPP::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerCPP::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_#\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerCPP::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80, 0x80, 0x80);\n\n    case Comment:\n    case CommentLine:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case CommentDoc:\n    case CommentLineDoc:\n    case PreProcessorCommentLineDoc:\n        return QColor(0x3f, 0x70, 0x3f);\n\n    case Number:\n        return QColor(0x00, 0x7f, 0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case RawString:\n        return QColor(0x7f, 0x00, 0x7f);\n\n    case PreProcessor:\n        return QColor(0x7f, 0x7f, 0x00);\n\n    case Operator:\n    case UnclosedString:\n        return QColor(0x00, 0x00, 0x00);\n\n    case VerbatimString:\n    case TripleQuotedVerbatimString:\n    case HashQuotedString:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case Regex:\n        return QColor(0x3f, 0x7f, 0x3f);\n\n    case CommentDocKeyword:\n        return QColor(0x30, 0x60, 0xa0);\n\n    case CommentDocKeywordError:\n        return QColor(0x80, 0x40, 0x20);\n\n    case PreProcessorComment:\n        return QColor(0x65, 0x99, 0x00);\n\n    case InactiveDefault:\n    case InactiveUUID:\n    case InactiveCommentLineDoc:\n    case InactiveKeywordSet2:\n    case InactiveCommentDocKeyword:\n    case InactiveCommentDocKeywordError:\n    case InactivePreProcessorCommentLineDoc:\n        return QColor(0xc0, 0xc0, 0xc0);\n\n    case InactiveComment:\n    case InactiveCommentLine:\n    case InactiveNumber:\n    case InactiveVerbatimString:\n    case InactiveTripleQuotedVerbatimString:\n    case InactiveHashQuotedString:\n        return QColor(0x90, 0xb0, 0x90);\n\n    case InactiveCommentDoc:\n        return QColor(0xd0, 0xd0, 0xd0);\n\n    case InactiveKeyword:\n        return QColor(0x90, 0x90, 0xb0);\n\n    case InactiveDoubleQuotedString:\n    case InactiveSingleQuotedString:\n    case InactiveRawString:\n        return QColor(0xb0, 0x90, 0xb0);\n\n    case InactivePreProcessor:\n        return QColor(0xb0, 0xb0, 0x90);\n\n    case InactiveOperator:\n    case InactiveIdentifier:\n    case InactiveGlobalClass:\n        return QColor(0xb0, 0xb0, 0xb0);\n\n    case InactiveUnclosedString:\n        return QColor(0x00, 0x00, 0x00);\n\n    case InactiveRegex:\n        return QColor(0x7f, 0xaf, 0x7f);\n\n    case InactivePreProcessorComment:\n        return QColor(0xa0, 0xc0, 0x90);\n\n    case UserLiteral:\n        return QColor(0xc0, 0x60, 0x00);\n\n    case InactiveUserLiteral:\n        return QColor(0xd7, 0xa0, 0x90);\n\n    case TaskMarker:\n        return QColor(0xbe, 0x07, 0xff);\n\n    case InactiveTaskMarker:\n        return QColor(0xc3, 0xa1, 0xcf);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerCPP::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n    case InactiveUnclosedString:\n    case VerbatimString:\n    case InactiveVerbatimString:\n    case Regex:\n    case InactiveRegex:\n    case TripleQuotedVerbatimString:\n    case InactiveTripleQuotedVerbatimString:\n    case HashQuotedString:\n    case InactiveHashQuotedString:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerCPP::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case InactiveComment:\n    case CommentLine:\n    case InactiveCommentLine:\n    case CommentDoc:\n    case InactiveCommentDoc:\n    case CommentLineDoc:\n    case InactiveCommentLineDoc:\n    case CommentDocKeyword:\n    case InactiveCommentDocKeyword:\n    case CommentDocKeywordError:\n    case InactiveCommentDocKeywordError:\n    case TaskMarker:\n    case InactiveTaskMarker:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case InactiveKeyword:\n    case Operator:\n    case InactiveOperator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case DoubleQuotedString:\n    case InactiveDoubleQuotedString:\n    case SingleQuotedString:\n    case InactiveSingleQuotedString:\n    case UnclosedString:\n    case InactiveUnclosedString:\n    case VerbatimString:\n    case InactiveVerbatimString:\n    case Regex:\n    case InactiveRegex:\n    case TripleQuotedVerbatimString:\n    case InactiveTripleQuotedVerbatimString:\n    case HashQuotedString:\n    case InactiveHashQuotedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerCPP::keywords(int set)\n{\n\tif (m_isUserDefineKeyword)\n\t{\n\t\t//如果是自定义用户关键字，则根据语言tag获取。只实现set=1的一组\n\t\tif (set == 1)\n\t\t{\n\t\t\treturn getUserDefineKeywords();\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t}\n\n    if (set == 1)\n        return\n            \"and and_eq asm auto bitand bitor bool break case \"\n            \"catch char class compl const const_cast continue \"\n            \"default delete do double dynamic_cast else enum \"\n            \"explicit export extern false float for friend goto if \"\n            \"inline int long mutable namespace new not not_eq \"\n            \"operator or or_eq private protected public register \"\n            \"reinterpret_cast return short signed sizeof static \"\n            \"static_cast struct switch template this throw true \"\n            \"try typedef typeid typename union unsigned using \"\n            \"virtual void volatile wchar_t while xor xor_eq\";\n\n    if (set == 3)\n        return\n            \"a addindex addtogroup anchor arg attention author b \"\n            \"brief bug c class code date def defgroup deprecated \"\n            \"dontinclude e em endcode endhtmlonly endif \"\n            \"endlatexonly endlink endverbatim enum example \"\n            \"exception f$ f[ f] file fn hideinitializer \"\n            \"htmlinclude htmlonly if image include ingroup \"\n            \"internal invariant interface latexonly li line link \"\n            \"mainpage name namespace nosubgrouping note overload \"\n            \"p page par param post pre ref relates remarks return \"\n            \"retval sa section see showinitializer since skip \"\n            \"skipline struct subsection test throw todo typedef \"\n            \"union until var verbatim verbinclude version warning \"\n            \"weakgroup $ @ \\\\ & < > # { }\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerCPP::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case InactiveDefault:\n        return tr(\"Inactive default\");\n\n    case Comment:\n        return tr(\"C comment\");\n\n    case InactiveComment:\n        return tr(\"Inactive C comment\");\n\n    case CommentLine:\n        return tr(\"C++ comment\");\n\n    case InactiveCommentLine:\n        return tr(\"Inactive C++ comment\");\n\n    case CommentDoc:\n        return tr(\"JavaDoc style C comment\");\n\n    case InactiveCommentDoc:\n        return tr(\"Inactive JavaDoc style C comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case InactiveNumber:\n        return tr(\"Inactive number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case InactiveKeyword:\n        return tr(\"Inactive keyword\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case InactiveDoubleQuotedString:\n        return tr(\"Inactive double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case InactiveSingleQuotedString:\n        return tr(\"Inactive single-quoted string\");\n\n    case UUID:\n        return tr(\"IDL UUID\");\n\n    case InactiveUUID:\n        return tr(\"Inactive IDL UUID\");\n\n    case PreProcessor:\n        return tr(\"Pre-processor block\");\n\n    case InactivePreProcessor:\n        return tr(\"Inactive pre-processor block\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case InactiveOperator:\n        return tr(\"Inactive operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case InactiveIdentifier:\n        return tr(\"Inactive identifier\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case InactiveUnclosedString:\n        return tr(\"Inactive unclosed string\");\n\n    case VerbatimString:\n        return tr(\"C# verbatim string\");\n\n    case InactiveVerbatimString:\n        return tr(\"Inactive C# verbatim string\");\n\n    case Regex:\n        return tr(\"JavaScript regular expression\");\n\n    case InactiveRegex:\n        return tr(\"Inactive JavaScript regular expression\");\n\n    case CommentLineDoc:\n        return tr(\"JavaDoc style C++ comment\");\n\n    case InactiveCommentLineDoc:\n        return tr(\"Inactive JavaDoc style C++ comment\");\n\n    case KeywordSet2:\n        return tr(\"Secondary keywords and identifiers\");\n\n    case InactiveKeywordSet2:\n        return tr(\"Inactive secondary keywords and identifiers\");\n\n    case CommentDocKeyword:\n        return tr(\"JavaDoc keyword\");\n\n    case InactiveCommentDocKeyword:\n        return tr(\"Inactive JavaDoc keyword\");\n\n    case CommentDocKeywordError:\n        return tr(\"JavaDoc keyword error\");\n\n    case InactiveCommentDocKeywordError:\n        return tr(\"Inactive JavaDoc keyword error\");\n\n    case GlobalClass:\n        return tr(\"Global classes and typedefs\");\n\n    case InactiveGlobalClass:\n        return tr(\"Inactive global classes and typedefs\");\n\n    case RawString:\n        return tr(\"C++ raw string\");\n\n    case InactiveRawString:\n        return tr(\"Inactive C++ raw string\");\n\n    case TripleQuotedVerbatimString:\n        return tr(\"Vala triple-quoted verbatim string\");\n\n    case InactiveTripleQuotedVerbatimString:\n        return tr(\"Inactive Vala triple-quoted verbatim string\");\n\n    case HashQuotedString:\n        return tr(\"Pike hash-quoted string\");\n\n    case InactiveHashQuotedString:\n        return tr(\"Inactive Pike hash-quoted string\");\n\n    case PreProcessorComment:\n        return tr(\"Pre-processor C comment\");\n\n    case InactivePreProcessorComment:\n        return tr(\"Inactive pre-processor C comment\");\n\n    case PreProcessorCommentLineDoc:\n        return tr(\"JavaDoc style pre-processor comment\");\n\n    case InactivePreProcessorCommentLineDoc:\n        return tr(\"Inactive JavaDoc style pre-processor comment\");\n\n    case UserLiteral:\n        return tr(\"User-defined literal\");\n\n    case InactiveUserLiteral:\n        return tr(\"Inactive user-defined literal\");\n\n    case TaskMarker:\n        return tr(\"Task marker\");\n\n    case InactiveTaskMarker:\n        return tr(\"Inactive task marker\");\n\n    case EscapeSequence:\n        return tr(\"Escape sequence\");\n\n    case InactiveEscapeSequence:\n        return tr(\"Inactive escape sequence\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerCPP::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n    case InactiveUnclosedString:\n        return QColor(0xe0,0xc0,0xe0);\n\n    case VerbatimString:\n    case InactiveVerbatimString:\n    case TripleQuotedVerbatimString:\n    case InactiveTripleQuotedVerbatimString:\n        return QColor(0xe0,0xff,0xe0);\n\n    case Regex:\n    case InactiveRegex:\n        return QColor(0xe0,0xf0,0xe0);\n\n    case RawString:\n    case InactiveRawString:\n        return QColor(0xff,0xf3,0xff);\n\n    case HashQuotedString:\n    case InactiveHashQuotedString:\n        return QColor(0xe7,0xff,0xd7);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerCPP::refreshProperties()\n{\n    setAtElseProp();\n    setCommentProp();\n    setCompactProp();\n    setPreprocProp();\n    setStylePreprocProp();\n    setDollarsProp();\n    setHighlightTripleProp();\n    setHighlightHashProp();\n    setHighlightBackProp();\n    setHighlightEscapeProp();\n    setVerbatimStringEscapeProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerCPP::readProperties(QSettings &qs,const QString &prefix)\n{\n    fold_atelse = qs.value(prefix + \"foldatelse\", false).toBool();\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_preproc = qs.value(prefix + \"foldpreprocessor\", true).toBool();\n    style_preproc = qs.value(prefix + \"stylepreprocessor\", false).toBool();\n    dollars = qs.value(prefix + \"dollars\", true).toBool();\n    highlight_triple = qs.value(prefix + \"highlighttriple\", false).toBool();\n    highlight_hash = qs.value(prefix + \"highlighthash\", false).toBool();\n    highlight_back = qs.value(prefix + \"highlightback\", false).toBool();\n    highlight_escape = qs.value(prefix + \"highlightescape\", false).toBool();\n    vs_escape = qs.value(prefix + \"verbatimstringescape\", false).toBool();\n\n    return true;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerCPP::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldpreprocessor\", fold_preproc);\n    qs.setValue(prefix + \"stylepreprocessor\", style_preproc);\n    qs.setValue(prefix + \"dollars\", dollars);\n    qs.setValue(prefix + \"highlighttriple\", highlight_triple);\n    qs.setValue(prefix + \"highlighthash\", highlight_hash);\n    qs.setValue(prefix + \"highlightback\", highlight_back);\n    qs.setValue(prefix + \"highlightescape\", highlight_escape);\n    qs.setValue(prefix + \"verbatimstringescape\", vs_escape);\n\n    return true;\n}\n\n\n// Set if else can be folded.\nvoid QsciLexerCPP::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.at.else\" property.\nvoid QsciLexerCPP::setAtElseProp()\n{\n    emit propertyChanged(\"fold.at.else\",(fold_atelse ? \"1\" : \"0\"));\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerCPP::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerCPP::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact\nvoid QsciLexerCPP::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerCPP::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if preprocessor blocks can be folded.\nvoid QsciLexerCPP::setFoldPreprocessor(bool fold)\n{\n    fold_preproc = fold;\n\n    setPreprocProp();\n}\n\n\n// Set the \"fold.preprocessor\" property.\nvoid QsciLexerCPP::setPreprocProp()\n{\n    emit propertyChanged(\"fold.preprocessor\",(fold_preproc ? \"1\" : \"0\"));\n}\n\n\n// Set if preprocessor lines are styled.\nvoid QsciLexerCPP::setStylePreprocessor(bool style)\n{\n    style_preproc = style;\n\n    setStylePreprocProp();\n}\n\n\n// Set the \"styling.within.preprocessor\" property.\nvoid QsciLexerCPP::setStylePreprocProp()\n{\n    emit propertyChanged(\"styling.within.preprocessor\",(style_preproc ? \"1\" : \"0\"));\n}\n\n\n// Set if '$' characters are allowed.\nvoid QsciLexerCPP::setDollarsAllowed(bool allowed)\n{\n    dollars = allowed;\n\n    setDollarsProp();\n}\n\n\n// Set the \"lexer.cpp.allow.dollars\" property.\nvoid QsciLexerCPP::setDollarsProp()\n{\n    emit propertyChanged(\"lexer.cpp.allow.dollars\",(dollars ? \"1\" : \"0\"));\n}\n\n\n// Set if triple quoted strings are highlighted.\nvoid QsciLexerCPP::setHighlightTripleQuotedStrings(bool enabled)\n{\n    highlight_triple = enabled;\n\n    setHighlightTripleProp();\n}\n\n\n// Set the \"lexer.cpp.triplequoted.strings\" property.\nvoid QsciLexerCPP::setHighlightTripleProp()\n{\n    emit propertyChanged(\"lexer.cpp.triplequoted.strings\",\n            (highlight_triple ? \"1\" : \"0\"));\n}\n\n\n// Set if hash quoted strings are highlighted.\nvoid QsciLexerCPP::setHighlightHashQuotedStrings(bool enabled)\n{\n    highlight_hash = enabled;\n\n    setHighlightHashProp();\n}\n\n\n// Set the \"lexer.cpp.hashquoted.strings\" property.\nvoid QsciLexerCPP::setHighlightHashProp()\n{\n    emit propertyChanged(\"lexer.cpp.hashquoted.strings\",\n            (highlight_hash ? \"1\" : \"0\"));\n}\n\n\n// Set if back-quoted strings are highlighted.\nvoid QsciLexerCPP::setHighlightBackQuotedStrings(bool enabled)\n{\n    highlight_back = enabled;\n\n    setHighlightBackProp();\n}\n\n\n// Set the \"lexer.cpp.backquoted.strings\" property.\nvoid QsciLexerCPP::setHighlightBackProp()\n{\n    emit propertyChanged(\"lexer.cpp.backquoted.strings\",\n            (highlight_back ? \"1\" : \"0\"));\n}\n\n\n// Set if escape sequences in strings are highlighted.\nvoid QsciLexerCPP::setHighlightEscapeSequences(bool enabled)\n{\n    highlight_escape = enabled;\n\n    setHighlightEscapeProp();\n}\n\n\n// Set the \"lexer.cpp.escape.sequence\" property.\nvoid QsciLexerCPP::setHighlightEscapeProp()\n{\n    emit propertyChanged(\"lexer.cpp.escape.sequence\",\n            (highlight_escape ? \"1\" : \"0\"));\n}\n\n\n// Set if escape sequences in verbatim strings are allowed.\nvoid QsciLexerCPP::setVerbatimStringEscapeSequencesAllowed(bool allowed)\n{\n    vs_escape = allowed;\n\n    setVerbatimStringEscapeProp();\n}\n\n\n// Set the \"lexer.cpp.verbatim.strings.allow.escapes\" property.\nvoid QsciLexerCPP::setVerbatimStringEscapeProp()\n{\n    emit propertyChanged(\"lexer.cpp.verbatim.strings.allow.escapes\",\n            (vs_escape ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexercsharp.cpp",
    "content": "﻿#include \"Qsci/qscilexercsharp.h\"\r\n// This module implements the QsciLexerCSharp class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexercsharp.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerCSharp::QsciLexerCSharp(QObject *parent)\n    : QsciLexerCPP(parent)\n{\n    m_commentSymbol = \"//\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerCSharp::~QsciLexerCSharp()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerCSharp::language() const\n{\n    return \"C#\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerCSharp::defaultColor(int style) const\n{\n    if (style == VerbatimString)\n        return QColor(0x00,0x7f,0x00);\n\n    return QsciLexerCPP::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerCSharp::defaultEolFill(int style) const\n{\n    if (style == VerbatimString)\n        return true;\n\n    return QsciLexerCPP::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerCSharp::defaultFont(int style) const\n{\n    if (style == VerbatimString)\n#if defined(Q_OS_WIN)\n        return QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        return QFont(\"Courier\", 12);\n#else\n        return QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n\n    return QsciLexerCPP::defaultFont(style);\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerCSharp::keywords(int set)\n{\n    if (set != 1)\n        return 0;\n\n    return \"abstract as base bool break byte case catch char checked \"\n           \"class const continue decimal default delegate do double else \"\n           \"enum event explicit extern false finally fixed float for \"\n           \"foreach goto if implicit in int interface internal is lock \"\n           \"long namespace new null object operator out override params \"\n           \"private protected public readonly ref return sbyte sealed \"\n           \"short sizeof stackalloc static string struct switch this \"\n           \"throw true try typeof uint ulong unchecked unsafe ushort \"\n           \"using virtual void while\";\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerCSharp::description(int style) const\n{\n    if (style == VerbatimString)\n        return tr(\"Verbatim string\");\n\n    return QsciLexerCPP::description(style);\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerCSharp::defaultPaper(int style) const\n{\n    if (style == VerbatimString)\n        return QColor(0xe0,0xff,0xe0);\n\n    return QsciLexer::defaultPaper(style);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexercss.cpp",
    "content": "﻿// This module implements the QsciLexerCSS class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexercss.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerCSS::QsciLexerCSS(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true), hss_language(false),\n      less_language(false), scss_language(false)\n{\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerCSS::~QsciLexerCSS()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerCSS::language() const\n{\n    return \"CSS\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerCSS::lexer() const\n{\n    return \"css\";\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerCSS::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"{\";\n}\n\n\n// Return the list of characters that can end a block.\nconst char *QsciLexerCSS::blockEnd(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"}\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerCSS::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerCSS::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0xff,0x00,0x80);\n\n    case Tag:\n        return QColor(0x00,0x00,0x7f);\n\n    case PseudoClass:\n    case Attribute:\n        return QColor(0x80,0x00,0x00);\n\n    case UnknownPseudoClass:\n    case UnknownProperty:\n        return QColor(0xff,0x00,0x00);\n\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case CSS1Property:\n        return QColor(0x00,0x40,0xe0);\n\n    case Value:\n    case DoubleQuotedString:\n    case SingleQuotedString:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case IDSelector:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Important:\n        return QColor(0xff,0x80,0x00);\n\n    case AtRule:\n    case MediaRule:\n        return QColor(0x7f,0x7f,0x00);\n\n    case CSS2Property:\n        return QColor(0x00,0xa0,0xe0);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerCSS::defaultFont(int style) const\n{\n    QFont f;\n\n    if (style == Comment)\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n    else\n    {\n        f = QsciLexer::defaultFont(style);\n\n        switch (style)\n        {\n        case Tag:\n        case Important:\n        case MediaRule:\n            f.setBold(true);\n            break;\n\n        case IDSelector:\n            f.setItalic(true);\n            break;\n        }\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerCSS::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"color background-color background-image \"\n            \"background-repeat background-attachment \"\n            \"background-position background font-family \"\n            \"font-style font-variant font-weight font-size font \"\n            \"word-spacing letter-spacing text-decoration \"\n            \"vertical-align text-transform text-align \"\n            \"text-indent line-height margin-top margin-right \"\n            \"margin-bottom margin-left margin padding-top \"\n            \"padding-right padding-bottom padding-left padding \"\n            \"border-top-width border-right-width \"\n            \"border-bottom-width border-left-width border-width \"\n            \"border-top border-right border-bottom border-left \"\n            \"border border-color border-style width height float \"\n            \"clear display white-space list-style-type \"\n            \"list-style-image list-style-position list-style\";\n\n    if (set == 2)\n        return\n            \"first-letter first-line link active visited \"\n            \"first-child focus hover lang before after left \"\n            \"right first\";\n\n    if (set == 3)\n        return\n            \"border-top-color border-right-color \"\n            \"border-bottom-color border-left-color border-color \"\n            \"border-top-style border-right-style \"\n            \"border-bottom-style border-left-style border-style \"\n            \"top right bottom left position z-index direction \"\n            \"unicode-bidi min-width max-width min-height \"\n            \"max-height overflow clip visibility content quotes \"\n            \"counter-reset counter-increment marker-offset size \"\n            \"marks page-break-before page-break-after \"\n            \"page-break-inside page orphans widows font-stretch \"\n            \"font-size-adjust unicode-range units-per-em src \"\n            \"panose-1 stemv stemh slope cap-height x-height \"\n            \"ascent descent widths bbox definition-src baseline \"\n            \"centerline mathline topline text-shadow \"\n            \"caption-side table-layout border-collapse \"\n            \"border-spacing empty-cells speak-header cursor \"\n            \"outline outline-width outline-style outline-color \"\n            \"volume speak pause-before pause-after pause \"\n            \"cue-before cue-after cue play-during azimuth \"\n            \"elevation speech-rate voice-family pitch \"\n            \"pitch-range stress richness speak-punctuation \"\n            \"speak-numeral\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerCSS::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Tag:\n        return tr(\"Tag\");\n\n    case ClassSelector:\n        return tr(\"Class selector\");\n\n    case PseudoClass:\n        return tr(\"Pseudo-class\");\n\n    case UnknownPseudoClass:\n        return tr(\"Unknown pseudo-class\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case CSS1Property:\n        return tr(\"CSS1 property\");\n\n    case UnknownProperty:\n        return tr(\"Unknown property\");\n\n    case Value:\n        return tr(\"Value\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case IDSelector:\n        return tr(\"ID selector\");\n\n    case Important:\n        return tr(\"Important\");\n\n    case AtRule:\n        return tr(\"@-rule\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case CSS2Property:\n        return tr(\"CSS2 property\");\n\n    case Attribute:\n        return tr(\"Attribute\");\n\n    case CSS3Property:\n        return tr(\"CSS3 property\");\n\n    case PseudoElement:\n        return tr(\"Pseudo-element\");\n\n    case ExtendedCSSProperty:\n        return tr(\"Extended CSS property\");\n\n    case ExtendedPseudoClass:\n        return tr(\"Extended pseudo-class\");\n\n    case ExtendedPseudoElement:\n        return tr(\"Extended pseudo-element\");\n\n    case MediaRule:\n        return tr(\"Media rule\");\n\n    case Variable:\n        return tr(\"Variable\");\n    }\n\n    return QString();\n}\n\n\n// Refresh all properties.\nvoid QsciLexerCSS::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setHSSProp();\n    setLessProp();\n    setSCSSProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerCSS::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    hss_language = qs.value(prefix + \"hsslanguage\", false).toBool();\n    less_language = qs.value(prefix + \"lesslanguage\", false).toBool();\n    scss_language = qs.value(prefix + \"scsslanguage\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerCSS::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"hsslanguage\", hss_language);\n    qs.setValue(prefix + \"lesslanguage\", less_language);\n    qs.setValue(prefix + \"scsslanguage\", scss_language);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerCSS::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerCSS::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerCSS::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerCSS::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerCSS::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerCSS::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if HSS is supported.\nvoid QsciLexerCSS::setHSSLanguage(bool enabled)\n{\n    hss_language = enabled;\n\n    setHSSProp();\n}\n\n\n// Set the \"lexer.css.hss.language\" property.\nvoid QsciLexerCSS::setHSSProp()\n{\n    emit propertyChanged(\"lexer.css.hss.language\",(hss_language ? \"1\" : \"0\"));\n}\n\n\n// Set if Less CSS is supported.\nvoid QsciLexerCSS::setLessLanguage(bool enabled)\n{\n    less_language = enabled;\n\n    setLessProp();\n}\n\n\n// Set the \"lexer.css.less.language\" property.\nvoid QsciLexerCSS::setLessProp()\n{\n    emit propertyChanged(\"lexer.css.less.language\",(less_language ? \"1\" : \"0\"));\n}\n\n\n// Set if Sassy CSS is supported.\nvoid QsciLexerCSS::setSCSSLanguage(bool enabled)\n{\n    scss_language = enabled;\n\n    setSCSSProp();\n}\n\n\n// Set the \"lexer.css.scss.language\" property.\nvoid QsciLexerCSS::setSCSSProp()\n{\n    emit propertyChanged(\"lexer.css.scss.language\",(scss_language ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexercustom.cpp",
    "content": "// This module implements the QsciLexerCustom class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexercustom.h\"\n\n#include \"Qsci/qsciscintilla.h\"\n#include \"Qsci/qsciscintillabase.h\"\n#include \"Qsci/qscistyle.h\"\n\n\n\n// The ctor.\nQsciLexerCustom::QsciLexerCustom(QObject *parent)\n    : QsciLexer(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerCustom::~QsciLexerCustom()\n{\n}\n\n\n// Start styling.\nvoid QsciLexerCustom::startStyling(int start, int)\n{\n    if (!editor())\n        return;\n\n    editor()->SendScintilla(QsciScintillaBase::SCI_STARTSTYLING, start);\n}\n\n\n// Set the style for a number of characters.\nvoid QsciLexerCustom::setStyling(int length, int style)\n{\n    if (!editor())\n        return;\n\n    editor()->SendScintilla(QsciScintillaBase::SCI_SETSTYLING, length, style);\n}\n\n\n// Set the style for a number of characters.\nvoid QsciLexerCustom::setStyling(int length, const QsciStyle &style)\n{\n    setStyling(length, style.style());\n}\n\n\n// Set the attached editor.\nvoid QsciLexerCustom::setEditor(QsciScintilla *new_editor)\n{\n    if (editor())\n        disconnect(editor(), SIGNAL(SCN_STYLENEEDED(int)), this,\n                SLOT(handleStyleNeeded(int)));\n\n    QsciLexer::setEditor(new_editor);\n\n    if (editor())\n        connect(editor(), SIGNAL(SCN_STYLENEEDED(int)), this,\n                SLOT(handleStyleNeeded(int)));\n}\n\n\n// Return the number of style bits needed by the lexer.\nint QsciLexerCustom::styleBitsNeeded() const\n{\n    return 5;\n}\n\n\n// Handle a request to style some text.\nvoid QsciLexerCustom::handleStyleNeeded(int pos)\n{\n    int start = editor()->SendScintilla(QsciScintillaBase::SCI_GETENDSTYLED);\n    int line = editor()->SendScintilla(QsciScintillaBase::SCI_LINEFROMPOSITION,start);\n    start = editor()->SendScintilla(QsciScintillaBase::SCI_POSITIONFROMLINE,\n            line);\n\n    if (start != pos)\n        styleText(start, pos);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerd.cpp",
    "content": "﻿// This module implements the QsciLexerD class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerd.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerD::QsciLexerD(QObject *parent)\n    : QsciLexer(parent),\n      fold_atelse(false), fold_comments(false), fold_compact(true)\n{\n}\n\n\n// The dtor.\nQsciLexerD::~QsciLexerD()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerD::language() const\n{\n    return \"D\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerD::lexer() const\n{\n    return \"d\";\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerD::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \".\";\n\n    return wl;\n}\n\n\n// Return the list of keywords that can start a block.\nconst char *QsciLexerD::blockStartKeyword(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return \"case catch class default do else finally for foreach \"\n           \"foreach_reverse if private protected public struct try union \"\n           \"while\";\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerD::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"{\";\n}\n\n\n// Return the list of characters that can end a block.\nconst char *QsciLexerD::blockEnd(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"}\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerD::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerD::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_#\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerD::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Comment:\n    case CommentLine:\n        return QColor(0x00,0x7f,0x00);\n\n    case CommentDoc:\n    case CommentLineDoc:\n        return QColor(0x3f,0x70,0x3f);\n\n    case CommentNested:\n        return QColor(0xa0,0xc0,0xa0);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n    case KeywordSecondary:\n    case KeywordDoc:\n    case Typedefs:\n        return QColor(0x80, 0x00, 0xff);\n\n    case String:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Character:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Operator:\n    case UnclosedString:\n        return QColor(0x00,0x00,0x00);\n\n    case Identifier:\n        break;\n\n    case CommentDocKeyword:\n        return QColor(0x30,0x60,0xa0);\n\n    case CommentDocKeywordError:\n        return QColor(0x80,0x40,0x20);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerD::defaultEolFill(int style) const\n{\n    if (style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerD::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n    case CommentDoc:\n    case CommentNested:\n    case CommentLineDoc:\n    case CommentDocKeyword:\n    case CommentDocKeywordError:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case KeywordSecondary:\n    case KeywordDoc:\n    case Typedefs:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case String:\n    case UnclosedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerD::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"abstract alias align asm assert auto body bool break byte case \"\n            \"cast catch cdouble cent cfloat char class const continue creal \"\n            \"dchar debug default delegate delete deprecated do double else \"\n            \"enum export extern false final finally float for foreach \"\n            \"foreach_reverse function goto idouble if ifloat import in inout \"\n            \"int interface invariant ireal is lazy long mixin module new null \"\n            \"out override package pragma private protected public real return \"\n            \"scope short static struct super switch synchronized template \"\n            \"this throw true try typedef typeid typeof ubyte ucent uint ulong \"\n            \"union unittest ushort version void volatile wchar while with\";\n\n    if (set == 3)\n        return\n            \"a addindex addtogroup anchor arg attention author b brief bug c \"\n            \"class code date def defgroup deprecated dontinclude e em endcode \"\n            \"endhtmlonly endif endlatexonly endlink endverbatim enum example \"\n            \"exception f$ f[ f] file fn hideinitializer htmlinclude htmlonly \"\n            \"if image include ingroup internal invariant interface latexonly \"\n            \"li line link mainpage name namespace nosubgrouping note overload \"\n            \"p page par param post pre ref relates remarks return retval sa \"\n            \"section see showinitializer since skip skipline struct \"\n            \"subsection test throw todo typedef union until var verbatim \"\n            \"verbinclude version warning weakgroup $ @ \\\\ & < > # { }\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerD::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Block comment\");\n\n    case CommentLine:\n        return tr(\"Line comment\");\n\n    case CommentDoc:\n        return tr(\"DDoc style block comment\");\n\n    case CommentNested:\n        return tr(\"Nesting comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case KeywordSecondary:\n        return tr(\"Secondary keyword\");\n\n    case KeywordDoc:\n        return tr(\"Documentation keyword\");\n\n    case Typedefs:\n        return tr(\"Type definition\");\n\n    case String:\n        return tr(\"String\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case Character:\n        return tr(\"Character\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case CommentLineDoc:\n        return tr(\"DDoc style line comment\");\n\n    case CommentDocKeyword:\n        return tr(\"DDoc keyword\");\n\n    case CommentDocKeywordError:\n        return tr(\"DDoc keyword error\");\n\n    case BackquoteString:\n        return tr(\"Backquoted string\");\n\n    case RawString:\n        return tr(\"Raw string\");\n\n    case KeywordSet5:\n        return tr(\"User defined 1\");\n\n    case KeywordSet6:\n        return tr(\"User defined 2\");\n\n    case KeywordSet7:\n        return tr(\"User defined 3\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerD::defaultPaper(int style) const\n{\n    if (style == UnclosedString)\n        return QColor(0xe0,0xc0,0xe0);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerD::refreshProperties()\n{\n    setAtElseProp();\n    setCommentProp();\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerD::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_atelse = qs.value(prefix + \"foldatelse\", false).toBool();\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerD::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Return true if else can be folded.\nbool QsciLexerD::foldAtElse() const\n{\n    return fold_atelse;\n}\n\n\n// Set if else can be folded.\nvoid QsciLexerD::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.at.else\" property.\nvoid QsciLexerD::setAtElseProp()\n{\n    emit propertyChanged(\"fold.at.else\",(fold_atelse ? \"1\" : \"0\"));\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerD::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerD::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerD::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerD::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerD::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerD::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerdiff.cpp",
    "content": "// This module implements the QsciLexerDiff class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerdiff.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerDiff::QsciLexerDiff(QObject *parent)\n    : QsciLexer(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerDiff::~QsciLexerDiff()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerDiff::language() const\n{\n    return \"Diff\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerDiff::lexer() const\n{\n    return \"diff\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerDiff::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerDiff::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Command:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Header:\n        return QColor(0x7f,0x00,0x00);\n\n    case Position:\n        return QColor(0x7f,0x00,0x7f);\n\n    case LineRemoved:\n    case AddingPatchRemoved:\n    case RemovingPatchRemoved:\n        return QColor(0x00,0x7f,0x7f);\n\n    case LineAdded:\n    case AddingPatchAdded:\n    case RemovingPatchAdded:\n        return QColor(0x00,0x00,0x7f);\n\n    case LineChanged:\n        return QColor(0x7f,0x7f,0x7f);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerDiff::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Command:\n        return tr(\"Command\");\n\n    case Header:\n        return tr(\"Header\");\n\n    case Position:\n        return tr(\"Position\");\n\n    case LineRemoved:\n        return tr(\"Removed line\");\n\n    case LineAdded:\n        return tr(\"Added line\");\n\n    case LineChanged:\n        return tr(\"Changed line\");\n\n    case AddingPatchAdded:\n        return tr(\"Added adding patch\");\n\n    case RemovingPatchAdded:\n        return tr(\"Removed adding patch\");\n\n    case AddingPatchRemoved:\n        return tr(\"Added removing patch\");\n\n    case RemovingPatchRemoved:\n        return tr(\"Removed removing patch\");\n    }\n\n    return QString();\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexeredifact.cpp",
    "content": "// This module implements the QsciLexerEDIFACT class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexeredifact.h\"\n\n\n// The ctor.\nQsciLexerEDIFACT::QsciLexerEDIFACT(QObject *parent)\n    : QsciLexer(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerEDIFACT::~QsciLexerEDIFACT()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerEDIFACT::language() const\n{\n    return \"EDIFACT\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerEDIFACT::lexer() const\n{\n    return \"edifact\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerEDIFACT::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80, 0x80, 0x80);\n\n    case SegmentStart:\n        return QColor(0x00, 0x00, 0xcb);\n\n    case SegmentEnd:\n        return QColor(0xff, 0x8d, 0xb1);\n\n    case ElementSeparator:\n        return QColor(0xff, 0x8d, 0xb1);\n\n    case CompositeSeparator:\n        return QColor(0x80, 0x80, 0x00);\n\n    case ReleaseSeparator:\n        return QColor(0x5e, 0x5e, 0x5e);\n\n    case UNASegmentHeader:\n        return QColor(0x00, 0x80, 0x00);\n\n    case UNHSegmentHeader:\n        return QColor(0x2f, 0x8b, 0xbd);\n\n    case BadSegment:\n        return QColor(0x80, 0x00, 0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerEDIFACT::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case SegmentStart:\n        return tr(\"Segment start\");\n\n    case SegmentEnd:\n        return tr(\"Segment end\");\n\n    case ElementSeparator:\n        return tr(\"Element separator\");\n\n    case CompositeSeparator:\n        return tr(\"Composite separator\");\n\n    case ReleaseSeparator:\n        return tr(\"Release separator\");\n\n    case UNASegmentHeader:\n        return tr(\"UNA segment header\");\n\n    case UNHSegmentHeader:\n        return tr(\"UNH segment header\");\n\n    case BadSegment:\n        return tr(\"Badly formed segment\");\n    }\n\n    return QString();\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerfortran.cpp",
    "content": "﻿// This module implements the QsciLexerFortran class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerfortran.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerFortran::QsciLexerFortran(QObject *parent)\n    : QsciLexerFortran77(parent)\n{\n    m_commentSymbol = \"!\";\n}\n\n\n// The dtor.\nQsciLexerFortran::~QsciLexerFortran()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerFortran::language() const\n{\n    return \"Fortran\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerFortran::lexer() const\n{\n    return \"fortran\";\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerFortran::keywords(int set)\n{\n    if (set == 2)\n        return\n            \"abs achar acos acosd adjustl adjustr aimag aimax0 aimin0 aint \"\n            \"ajmax0 ajmin0 akmax0 akmin0 all allocated alog alog10 amax0 \"\n            \"amax1 amin0 amin1 amod anint any asin asind associated atan \"\n            \"atan2 atan2d atand bitest bitl bitlr bitrl bjtest bit_size \"\n            \"bktest break btest cabs ccos cdabs cdcos cdexp cdlog cdsin \"\n            \"cdsqrt ceiling cexp char clog cmplx conjg cos cosd cosh count \"\n            \"cpu_time cshift csin csqrt dabs dacos dacosd dasin dasind datan \"\n            \"datan2 datan2d datand date date_and_time dble dcmplx dconjg dcos \"\n            \"dcosd dcosh dcotan ddim dexp dfloat dflotk dfloti dflotj digits \"\n            \"dim dimag dint dlog dlog10 dmax1 dmin1 dmod dnint dot_product \"\n            \"dprod dreal dsign dsin dsind dsinh dsqrt dtan dtand dtanh \"\n            \"eoshift epsilon errsns exp exponent float floati floatj floatk \"\n            \"floor fraction free huge iabs iachar iand ibclr ibits ibset \"\n            \"ichar idate idim idint idnint ieor ifix iiabs iiand iibclr \"\n            \"iibits iibset iidim iidint iidnnt iieor iifix iint iior iiqint \"\n            \"iiqnnt iishft iishftc iisign ilen imax0 imax1 imin0 imin1 imod \"\n            \"index inint inot int int1 int2 int4 int8 iqint iqnint ior ishft \"\n            \"ishftc isign isnan izext jiand jibclr jibits jibset jidim jidint \"\n            \"jidnnt jieor jifix jint jior jiqint jiqnnt jishft jishftc jisign \"\n            \"jmax0 jmax1 jmin0 jmin1 jmod jnint jnot jzext kiabs kiand kibclr \"\n            \"kibits kibset kidim kidint kidnnt kieor kifix kind kint kior \"\n            \"kishft kishftc kisign kmax0 kmax1 kmin0 kmin1 kmod knint knot \"\n            \"kzext lbound leadz len len_trim lenlge lge lgt lle llt log log10 \"\n            \"logical lshift malloc matmul max max0 max1 maxexponent maxloc \"\n            \"maxval merge min min0 min1 minexponent minloc minval mod modulo \"\n            \"mvbits nearest nint not nworkers number_of_processors pack \"\n            \"popcnt poppar precision present product radix random \"\n            \"random_number random_seed range real repeat reshape rrspacing \"\n            \"rshift scale scan secnds selected_int_kind selected_real_kind \"\n            \"set_exponent shape sign sin sind sinh size sizeof sngl snglq \"\n            \"spacing spread sqrt sum system_clock tan tand tanh tiny transfer \"\n            \"transpose trim ubound unpack verify\";\n\n    if (set == 3)\n        return\n            \"cdabs cdcos cdexp cdlog cdsin cdsqrt cotan cotand dcmplx dconjg \"\n            \"dcotan dcotand decode dimag dll_export dll_import doublecomplex \"\n            \"dreal dvchk encode find flen flush getarg getcharqq getcl getdat \"\n            \"getenv gettim hfix ibchng identifier imag int1 int2 int4 intc \"\n            \"intrup invalop iostat_msg isha ishc ishl jfix lacfar locking \"\n            \"locnear map nargs nbreak ndperr ndpexc offset ovefl peekcharqq \"\n            \"precfill prompt qabs qacos qacosd qasin qasind qatan qatand \"\n            \"qatan2 qcmplx qconjg qcos qcosd qcosh qdim qexp qext qextd \"\n            \"qfloat qimag qlog qlog10 qmax1 qmin1 qmod qreal qsign qsin qsind \"\n            \"qsinh qsqrt qtan qtand qtanh ran rand randu rewrite segment \"\n            \"setdat settim system timer undfl unlock union val virtual \"\n            \"volatile zabs zcos zexp zlog zsin zsqrt\";\n\n    return QsciLexerFortran77::keywords(set);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerfortran77.cpp",
    "content": "﻿// This module implements the QsciLexerFortran77 class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerfortran77.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerFortran77::QsciLexerFortran77(QObject *parent)\n    : QsciLexer(parent), fold_compact(true)\n{\n    m_commentSymbol = \"!\";\n}\n\n\n// The dtor.\nQsciLexerFortran77::~QsciLexerFortran77()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerFortran77::language() const\n{\n    return \"Fortran77\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerFortran77::lexer() const\n{\n    return \"fortran77\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerFortran77::braceStyle() const\n{\n    return Default;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerFortran77::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case SingleQuotedString:\n    case DoubleQuotedString:\n        return QColor(0x7f,0x00,0x7f);\n\n    case UnclosedString:\n    case Operator:\n    case DottedOperator:\n    case Continuation:\n        return QColor(0x00,0x00,0x00);\n\n    case Identifier:\n        break;\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case IntrinsicFunction:\n        return QColor(0xb0,0x00,0x40);\n\n    case ExtendedFunction:\n        return QColor(0xb0,0x40,0x80);\n\n    case PreProcessor:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Label:\n        return QColor(0xe0,0xc0,0xe0);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerFortran77::defaultEolFill(int style) const\n{\n    if (style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerFortran77::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Operator:\n    case DottedOperator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerFortran77::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"access action advance allocatable allocate apostrophe assign \"\n            \"assignment associate asynchronous backspace bind blank blockdata \"\n            \"call case character class close common complex contains continue \"\n            \"cycle data deallocate decimal delim default dimension direct do \"\n            \"dowhile double doubleprecision else elseif elsewhere encoding \"\n            \"end endassociate endblockdata enddo endfile endforall \"\n            \"endfunction endif endinterface endmodule endprogram endselect \"\n            \"endsubroutine endtype endwhere entry eor equivalence err errmsg \"\n            \"exist exit external file flush fmt forall form format formatted \"\n            \"function go goto id if implicit in include inout integer inquire \"\n            \"intent interface intrinsic iomsg iolength iostat kind len \"\n            \"logical module name named namelist nextrec nml none nullify \"\n            \"number only open opened operator optional out pad parameter pass \"\n            \"pause pending pointer pos position precision print private \"\n            \"program protected public quote read readwrite real rec recl \"\n            \"recursive result return rewind save select selectcase selecttype \"\n            \"sequential sign size stat status stop stream subroutine target \"\n            \"then to type unformatted unit use value volatile wait where \"\n            \"while write\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerFortran77::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case IntrinsicFunction:\n        return tr(\"Intrinsic function\");\n\n    case ExtendedFunction:\n        return tr(\"Extended function\");\n\n    case PreProcessor:\n        return tr(\"Pre-processor block\");\n\n    case DottedOperator:\n        return tr(\"Dotted operator\");\n\n    case Label:\n        return tr(\"Label\");\n\n    case Continuation:\n        return tr(\"Continuation\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerFortran77::defaultPaper(int style) const\n{\n    if (style == UnclosedString)\n        return QColor(0xe0,0xc0,0xe0);\n\n    if (style == Continuation)\n        return QColor(0xf0,0xe0,0x80);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerFortran77::refreshProperties()\n{\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerFortran77::readProperties(QSettings &qs, const QString &prefix)\n{\n    int rc = true;\n\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerFortran77::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerFortran77::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerFortran77::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerFortran77::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerglobal.cpp",
    "content": "#include \"Qsci/qscilexerglobal.h\"\r\n#include \"Qsci/qsciscintilla.h\"\r\n#include \"Scintilla.h\"\r\n#include \"SciLexer.h\"\r\n\r\n//golbal是一个特殊的语法编辑器，他不影响某一种具体的语法。而是对所有编辑器lexer以外的风格进行表示\r\n\r\nQsciLexerGlobal::QsciLexerGlobal(QObject *parent)\r\n\t: QsciLexer(parent)\r\n{}\r\n\r\nQsciLexerGlobal::~QsciLexerGlobal()\r\n{}\r\n\r\nint QsciLexerGlobal::lexerId() const\r\n{\r\n\treturn L_GLOBAL;\r\n}\r\n\r\n// Returns the language name.\r\nconst char* QsciLexerGlobal::language() const\r\n{\r\n\treturn \"Global\";\r\n}\r\n\r\nQString QsciLexerGlobal::description(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase GLOBAL_OVERRIDE:\r\n\t\treturn tr(\"Global override\");\r\n\tcase DEFAULT_STYLE:\r\n\t\treturn tr(\"Default\");\r\n\tcase INDENT_GUIDELINE:\r\n\t\treturn tr(\"Indent guideline style\");\r\n\tcase BRACE_HIGHIGHT:\r\n\t\treturn tr(\"Brace highlight style\");\r\n\tcase BAD_BRACE_COLOUR:\r\n\t\treturn tr(\"Bad brace colour\");\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\t\treturn  tr(\"Current line background colour\");\r\n\tcase SELECT_TEXT_COLOR:\r\n\t\treturn tr(\"Select text colour\");\r\n\tcase CARET_COLOUR:\r\n\t\treturn tr(\"Caret colour\");\r\n\tcase EDGE_COLOUR:\r\n\t\treturn tr(\"Edge colour\");\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t\treturn tr(\"Line number margin\");\r\n\tcase BOOKMARK_MARGIN:\r\n\t\treturn tr(\"Bookmark margin\");\r\n\tcase FOLD:\r\n\t\treturn tr(\"Fold\");\r\n\tcase FOLD_ACTIVE:\r\n\t\treturn tr(\"Fold active\");\r\n\tcase FOLD_MARGIN:\r\n\t\treturn tr(\"Fold margin\");\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\t\treturn tr(\"White space symbol\");\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\treturn tr(\"Smart HighLighting\");\r\n\tcase FIND_MARK_STYLE:\r\n\t\treturn tr(\"Find Mark Style\");\r\n\tcase MARK_STYLE_1:\r\n\t\treturn tr(\"Mark Style 1\");\r\n\tcase MARK_STYLE_2:\r\n\t\treturn tr(\"Mark Style 2\");\r\n\tcase MARK_STYLE_3:\r\n\t\treturn tr(\"Mark Style 3\");\r\n\tcase MARK_STYLE_4:\r\n\t\treturn tr(\"Mark Style 4\");\r\n\tcase MARK_STYLE_5:\r\n\t\treturn tr(\"Mark Style 5\");\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\t\treturn tr(\"Incremental highlight\");\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\t\treturn tr(\"Tags match highlight\");\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\treturn tr(\"Tags attribute\");\r\n\t/*case ACTIVE_TAB_FOCUSED:\r\n\t\treturn tr(\"Active tab focused\");\r\n\tcase ACTIVE_TAB_UNFOCUSED:\r\n\t\treturn tr(\"Active tab unfocused indicator\");\r\n\tcase ACTIVE_TAB_TEXT:\r\n\t\treturn tr(\"Active tab text\");\r\n\tcase INACTIVE_TABS:\r\n\t\treturn tr(\"Inactive tabs\");*/\r\n\tcase URL_HOVERRED:\r\n\t\treturn tr(\"URL hovered\");\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\r\n\treturn QString();\r\n}\r\n\r\n//字体大小。对于DEFAULT_STYLE BRACE_HIGHIGHT BAD_BRACE_COLOUR LINE_NUMBER_MARGIN\r\n//四个特殊属性而言，他们的字体大小，是用来表示符号的大小的。\r\n\r\nQFont QsciLexerGlobal::defaultFont(int style) const\r\n{\r\n#if defined(Q_OS_WIN)\r\n\tQFont f(\"Courier New\", s_defaultFontSize);\r\n#elif defined(Q_OS_MAC)\r\n\tQFont f(\"Menlo\", s_defaultFontSize);\r\n#else\r\n\tQFont f(\"Courier 10 Pitch\", s_defaultFontSize);\r\n#endif\r\n\r\n\tswitch (style)\r\n\t{\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\tcase SELECT_TEXT_COLOR:\r\n\tcase CARET_COLOUR:\r\n\tcase EDGE_COLOUR:\r\n\tcase BOOKMARK_MARGIN:\r\n\tcase FOLD:\r\n\tcase FOLD_ACTIVE:\r\n\tcase FOLD_MARGIN:\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\tcase SMART_HIGHLIGHTING:\r\n\tcase FIND_MARK_STYLE:\r\n\tcase MARK_STYLE_1:\r\n\tcase MARK_STYLE_2:\r\n\tcase MARK_STYLE_3:\r\n\tcase MARK_STYLE_4:\r\n\tcase MARK_STYLE_5:\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\tcase TAGS_ATTRIBUTE:\r\n\t/*case ACTIVE_TAB_FOCUSED:\r\n\tcase ACTIVE_TAB_UNFOCUSED:\r\n\tcase ACTIVE_TAB_TEXT:\r\n\tcase INACTIVE_TABS:*/\r\n\tcase URL_HOVERRED:\r\n\t\t//这些都是不能设置字体的，统一设置为空\r\n\t/*\tf.setFamily(\"\");\r\n\t\tf.setPointSize(-1);*/\r\n\t\tbreak;\r\n\r\n\tcase GLOBAL_OVERRIDE:\r\n\tcase BAD_BRACE_COLOUR:\r\n\tcase DEFAULT_STYLE:\r\n\tcase BRACE_HIGHIGHT:\r\n\t\treturn f;\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t{\r\n\t\t//这个对应STYLE_LINENUMBER的默认大小为10\r\n\t\tQFont linefont(\"Courier New\", 10);\r\n\t\treturn linefont;\r\n\t}\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QsciLexer::s_defaultLangFont;\r\n}\r\n\r\n\r\n// Returns the foreground colour of the text for a style.\r\nQColor QsciLexerGlobal::defaultColor(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase GLOBAL_OVERRIDE:\r\n\t\treturn QColor(Qt::black);\r\n\r\n\tcase DEFAULT_STYLE:\r\n\t\treturn QColor(Qt::black);\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\t\treturn QColor(0xC0C0C0);\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t\treturn QColor(0xFF0000);\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t\treturn QColor(0x800000);\r\n\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\t\treturn QColor(0x0080C0);\r\n\r\n\tcase SELECT_TEXT_COLOR:\r\n\t\treturn QColor(Qt::black);\r\n\r\n\tcase CARET_COLOUR:\r\n\t\treturn QColor(0x8000FF);\r\n\r\n\tcase EDGE_COLOUR:\r\n\t\treturn QColor(0x80FFFF);\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t\treturn QColor(0x808080);\r\n\r\n\tcase BOOKMARK_MARGIN:\r\n\t\treturn QColor(0xEEEEEC);\r\n\r\n\tcase FOLD:\r\n\t\treturn QColor(0x808080);\r\n\r\n\tcase FOLD_ACTIVE:\r\n\t\treturn QColor(0xFF0000);\r\n\r\n\tcase FOLD_MARGIN:\r\n\t\treturn QColor(0xFFFFFF);\r\n\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\t\treturn QColor(0xFFB56A);\r\n\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\treturn QColor(0x00ff00);\r\n\r\n\tcase FIND_MARK_STYLE:\r\n\t\treturn QColor(0xFCAF3E);\r\n\r\n\tcase MARK_STYLE_1:\r\n\t\treturn QColor(0x555753);\r\n\r\n\tcase MARK_STYLE_2:\r\n\t\treturn QColor(0xFCAF3E);\r\n\r\n\tcase MARK_STYLE_3:\r\n\t\treturn QColor(0xFAAA3C);\r\n\r\n\tcase MARK_STYLE_4:\r\n\t\treturn QColor(0xFFCAB0);\r\n\r\n\tcase MARK_STYLE_5:\r\n\t\treturn QColor(Qt::black);\r\n\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\t\treturn QColor(0x808080);\r\n\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\t\treturn QColor(0xFFCAB0);\r\n\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\treturn QColor(0xFFCAB0);\r\n\r\n\t/*case ACTIVE_TAB_FOCUSED:\r\n\t\treturn QColor(0xFAAA3C);\r\n\r\n\tcase ACTIVE_TAB_UNFOCUSED:\r\n\t\treturn QColor(0xFFCAB0);\r\n\r\n\tcase ACTIVE_TAB_TEXT:\r\n\t\treturn QColor(Qt::black);\r\n\r\n\tcase INACTIVE_TABS:\r\n\t\treturn QColor(0x808080);*/\r\n\r\n\tcase URL_HOVERRED:\r\n\t\treturn QColor(0xFFFF80);\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\r\n\treturn QsciLexer::defaultColor(style);\r\n}\r\n\r\n\r\n//global其实不是一个风格，它里面的风格是约束编辑器其他细节设置的。但是保存又是安装内部的styleid来进行的。\r\n//故提供该函数，把内部风格转换为外部的风格id功能。没有则为-2\r\nint QsciLexerGlobal::getRealStyleId(int style)\r\n{\r\n\tswitch (style)\r\n\t{\r\n\t\t//可设置前景、背景、字体\r\n\tcase DEFAULT_STYLE:\r\n\t\treturn STYLE_DEFAULT;\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\t\treturn STYLE_INDENTGUIDE;\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t\treturn STYLE_BRACELIGHT;\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t\treturn STYLE_BRACEBAD;\r\n\r\n\tcase CARET_COLOUR:\r\n\t\treturn SCI_SETCARETFORE;\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t\treturn STYLE_LINENUMBER;\r\n\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_SMART;\r\n\r\n\tcase FIND_MARK_STYLE:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE;\r\n\r\n\tcase MARK_STYLE_1:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_EXT1;\r\n\r\n\tcase MARK_STYLE_2:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_EXT2;\r\n\r\n\tcase MARK_STYLE_3:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_EXT3;\r\n\r\n\tcase MARK_STYLE_4:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_EXT4;\r\n\r\n\tcase MARK_STYLE_5:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_EXT5;\r\n\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\t\treturn SCE_UNIVERSAL_FOUND_STYLE_INC;\r\n\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\t\treturn SCE_UNIVERSAL_TAGMATCH;\r\n\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\treturn SCE_UNIVERSAL_TAGATTR;\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\r\n\t//-1是表示所以，已经被占用，所以使用-2\r\n\treturn -2;\r\n}\r\n\r\nQColor QsciLexerGlobal::defaultPaper(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase GLOBAL_OVERRIDE:\r\n\t\treturn QColor(0xFFFFFF);\r\n\r\n\tcase DEFAULT_STYLE:\r\n\t\treturn QColor(0xFFFFFF);\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\t\treturn QColor(0xFFFFFF);\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t\treturn QColor(0xFFFFFF);\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t\treturn QColor(0xFFFFFF);\r\n\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\t\treturn QColor(0xE8E8FF);\r\n\r\n\tcase SELECT_TEXT_COLOR:\r\n\t\treturn QColor(0xffff00);\r\n\r\n\tcase CARET_COLOUR:\r\n\t\treturn QColor(0x919994);\r\n\t\t\t\r\n\tcase EDGE_COLOUR:\r\n\t\treturn QColor(0x112435);\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t\treturn QColor(0xE4E4E4);\r\n\r\n\tcase BOOKMARK_MARGIN:\r\n\t\treturn QColor(0xE0E0E0);\r\n\r\n\tcase FOLD:\r\n\t\treturn QColor(0xF3F3F3);\r\n\r\n\tcase FOLD_ACTIVE:\r\n\t\treturn QColor(0x2E3436);\r\n\r\n\tcase FOLD_MARGIN:\r\n\t\treturn QColor(0xE9E9E9);\r\n\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\t\treturn QColor(0x80FF00);\r\n\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\treturn QColor(0x00FF00);\r\n\r\n\tcase FIND_MARK_STYLE:\r\n\t\treturn QColor(0xFF0000);\r\n\r\n\tcase MARK_STYLE_1:\r\n\t\treturn QColor(0x00FFFF);\r\n\r\n\tcase MARK_STYLE_2:\r\n\t\treturn QColor(0xFF8000);\r\n\r\n\tcase MARK_STYLE_3:\r\n\t\treturn QColor(0xFFFF00);\r\n\r\n\tcase MARK_STYLE_4:\r\n\t\treturn QColor(0x8000FF);\r\n\r\n\tcase MARK_STYLE_5:\r\n\t\treturn QColor(0x008000);\r\n\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\t\treturn QColor(0x0080FF);\r\n\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\t\treturn QColor(0x8000FF);\r\n\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\treturn QColor(0xFFFF00);\r\n\r\n\t//case ACTIVE_TAB_FOCUSED:\r\n\t//\treturn QColor(0x8000FF);\r\n\r\n\t//case ACTIVE_TAB_UNFOCUSED:\r\n\t//\treturn QColor(0xFFFF00);\r\n\r\n\t//case ACTIVE_TAB_TEXT:\r\n\t//\treturn QColor(0xFF0000);\r\n\r\n\t//case INACTIVE_TABS:\r\n\t//\treturn QColor(0xC0C0C0);\r\n\r\n\tcase URL_HOVERRED:\r\n\t\treturn QColor(0xC0C0C0);\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\r\n\treturn QsciLexer::defaultPaper(style);\r\n}\r\n//enum CHANGE_OPER_BIT {\r\n//\tFG_BIT = 1,\r\n//\tBG_BIT = 2,\r\n//\tFONT_BIT = 4,\r\n//\tSIZE_BIT = 8,\r\n//};\r\n\r\n//全局样式哪些位可以修改。在设置的界面，把不能修改的界面回调\r\nint QsciLexerGlobal::changeOperBit(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase GLOBAL_OVERRIDE:\r\n\t\treturn ALL_OPER_BIT;\r\n\r\n\tcase DEFAULT_STYLE:\r\n\t\treturn ALL_OPER_BIT;\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\t\treturn FG_BIT | BG_BIT;\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t\treturn ALL_OPER_BIT;\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t\treturn ALL_OPER_BIT;\r\n\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\t\treturn BG_BIT;\r\n\r\n\tcase SELECT_TEXT_COLOR:\r\n\t\treturn FG_BIT | BG_BIT;\r\n\r\n\tcase CARET_COLOUR:\r\n\t\treturn FG_BIT;\r\n\r\n\tcase EDGE_COLOUR:\r\n\t\treturn FG_BIT;\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t\treturn ALL_OPER_BIT;\r\n\r\n\tcase BOOKMARK_MARGIN:\r\n\t\treturn BG_BIT;\r\n\r\n\tcase FOLD:\r\n\tcase FOLD_ACTIVE:\r\n\tcase FOLD_MARGIN:\r\n\t\treturn FG_BIT | BG_BIT;\r\n\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\t\treturn FG_BIT;\r\n\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\treturn FG_BIT;\r\n\r\n\tcase FIND_MARK_STYLE:\r\n\t\treturn FG_BIT;\r\n\r\n\tcase MARK_STYLE_1:\r\n\tcase MARK_STYLE_2:\r\n\tcase MARK_STYLE_3:\r\n\tcase MARK_STYLE_4:\r\n\tcase MARK_STYLE_5:\r\n\t\treturn BG_BIT;\r\n\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\t\tbreak;\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\t\treturn FG_BIT;\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\treturn FG_BIT;\r\n\tcase URL_HOVERRED:\r\n\t\treturn FG_BIT;\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn 0;\r\n}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexergo.cpp",
    "content": "﻿// This module implements the QsciLexerGO class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexergo.h\"\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerGO::QsciLexerGO(QObject *parent)\n\t: QsciLexerCPP(parent)\n{\n\tm_commentSymbol = \"//\";\n\tm_commentStart = \"/*\";\n\tm_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerGO::~QsciLexerGO()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerGO::language() const\n{\n\treturn \"GO\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerGO::defaultColor(int style) const\n{\n\tif (style == VerbatimString)\n\t\treturn QColor(0x00, 0x7f, 0x00);\n\n\treturn QsciLexerCPP::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerGO::defaultEolFill(int style) const\n{\n\tif (style == VerbatimString)\n\t\treturn true;\n\n\treturn QsciLexerCPP::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerGO::defaultFont(int style) const\n{\n\tif (style == VerbatimString)\n#if defined(Q_OS_WIN)\n\t\treturn QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n\t\treturn QFont(\"Courier\", 12);\n#else\n\t\treturn QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n\n\treturn QsciLexerCPP::defaultFont(style);\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerGO::keywords(int set)\n{\n\tif (set != 1)\n\t\treturn 0;\n\n\treturn  \"break case chan const continue default defer \"\n            \"else fallthrough for func go goto if \"\n            \"import interface map package range return \"\n            \"select struct switch type var \"\n            \"append copy int32 print bool false int64 println \"\n            \"byte float32 iota real cap float64 len recover \"\n            \"close imag make string complex int new \"\n            \"true complex64 int8 nil uint complex128 int16 \"\n\t\t\"panic uint8 uint16 uint32 uint64 uintptr\";\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerGO::description(int style) const\n{\n\tif (style == VerbatimString)\n\t\treturn tr(\"Verbatim string\");\n\n\treturn QsciLexerCPP::description(style);\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerGO::defaultPaper(int style) const\n{\n\tif (style == VerbatimString)\n\t\treturn QColor(0xe0, 0xff, 0xe0);\n\n\treturn QsciLexer::defaultPaper(style);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerhtml.cpp",
    "content": "﻿// This module implements the QsciLexerHTML class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerhtml.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n#include \"Qsci/qscilexerjavascript.h\"\n#include \"Qsci/qscilexerpython.h\"\n\n\n// The ctor.\nQsciLexerHTML::QsciLexerHTML(QObject *parent)\n    : QsciLexer(parent),\n      fold_compact(true), fold_preproc(true), case_sens_tags(false),\n      fold_script_comments(false), fold_script_heredocs(false),\n      django_templates(false), mako_templates(false)\n{\n    m_commentSymbol = \"\";\n    m_commentStart = \"<!--\";\n    m_commentEnd = \"-->\";\n}\n\n\n// The dtor.\nQsciLexerHTML::~QsciLexerHTML()\n{\n}\r\n\r\nint QsciLexerHTML::lexerId() const\r\n{\r\n\treturn L_HTML;\r\n}\n\n\n// Returns the language name.\nconst char *QsciLexerHTML::language() const\n{\n    return \"HTML\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerHTML::lexer() const\n{\n    return \"hypertext\";\n}\n\n\n// Return the auto-completion fillup characters.\nconst char *QsciLexerHTML::autoCompletionFillups() const\n{\n    return \"/>\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerHTML::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerHTML::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case JavaScriptDefault:\n    case JavaScriptWord:\n    case JavaScriptSymbol:\n    case ASPJavaScriptDefault:\n    case ASPJavaScriptWord:\n    case ASPJavaScriptSymbol:\n    case VBScriptDefault:\n    case ASPVBScriptDefault:\n    case PHPOperator:\n        return QColor(0x00,0x00,0x00);\n\n    case Tag:\n    case XMLTagEnd:\n    case Script:\n    case SGMLDefault:\n    case SGMLCommand:\n    case VBScriptKeyword:\n    case VBScriptIdentifier:\n    case VBScriptUnclosedString:\n    case ASPVBScriptKeyword:\n    case ASPVBScriptIdentifier:\n    case ASPVBScriptUnclosedString:\n        return QColor(0x00,0x00,0xff);\n\n    case UnknownTag:\n    case UnknownAttribute:\n        return QColor(0xff,0x00,0x00);\n\n    case Attribute:\n    case VBScriptNumber:\n    case ASPVBScriptNumber:\n        return QColor(0xff,0x00,0x00);\n\n    case HTMLNumber:\n    case JavaScriptNumber:\n    case ASPJavaScriptNumber:\n    case PythonNumber:\n    case PythonFunctionMethodName:\n    case ASPPythonNumber:\n    case ASPPythonFunctionMethodName:\n        return QColor(0x00,0x7f,0x7f);\n\n    case HTMLDoubleQuotedString:\n    case HTMLSingleQuotedString:\n    case JavaScriptDoubleQuotedString:\n    case JavaScriptSingleQuotedString:\n    case ASPJavaScriptDoubleQuotedString:\n    case ASPJavaScriptSingleQuotedString:\n    case PythonDoubleQuotedString:\n    case PythonSingleQuotedString:\n    case ASPPythonDoubleQuotedString:\n    case ASPPythonSingleQuotedString:\n    case PHPKeyword:\n        return QColor(0x7f,0x00,0x7f);\n\n    case OtherInTag:\n    case Entity:\n    case VBScriptString:\n    case ASPVBScriptString:\n        return QColor(0x80,0x00,0x80);\n\n    case HTMLComment:\n    case SGMLComment:\n        return QColor(0x80,0x80,0x00);\n\n    case XMLStart:\n    case XMLEnd:\n    case PHPStart:\n    case PythonClassName:\n    case ASPPythonClassName:\n        return QColor(0x00,0x00,0xff);\n\n    case HTMLValue:\n        return QColor(0xff,0x00,0xff);\n\n    case SGMLParameter:\n        return QColor(0x00,0x66,0x00);\n\n    case SGMLDoubleQuotedString:\n    case SGMLError:\n        return QColor(0x80,0x00,0x00);\n\n    case SGMLSingleQuotedString:\n        return QColor(0x99,0x33,0x00);\n\n    case SGMLSpecial:\n        return QColor(0x33,0x66,0xff);\n\n    case SGMLEntity:\n        return QColor(0x33,0x33,0x33);\n\n    case SGMLBlockDefault:\n        return QColor(0x00,0x00,0x66);\n\n    case JavaScriptStart:\n    case ASPJavaScriptStart:\n        return QColor(0x7f,0x7f,0x00);\n\n    case JavaScriptComment:\n    case JavaScriptCommentLine:\n    case ASPJavaScriptComment:\n    case ASPJavaScriptCommentLine:\n    case PythonComment:\n    case ASPPythonComment:\n    case PHPDoubleQuotedString:\n        return QColor(0x00,0x7f,0x00);\n\n    case JavaScriptCommentDoc:\n        return QColor(0x3f,0x70,0x3f);\n\n    case JavaScriptKeyword:\n    case ASPJavaScriptKeyword:\n    case PythonKeyword:\n    case ASPPythonKeyword:\n    case PHPVariable:\n    case PHPDoubleQuotedVariable:\n        return QColor(0x80, 0x00, 0xff);\n\n    case ASPJavaScriptCommentDoc:\n        return QColor(0x7f,0x7f,0x7f);\n\n    case VBScriptComment:\n    case ASPVBScriptComment:\n        return QColor(0x00,0x80,0x00);\n\n    case PythonStart:\n    case PythonDefault:\n    case ASPPythonStart:\n    case ASPPythonDefault:\n        return QColor(0x80,0x80,0x80);\n\n    case PythonTripleSingleQuotedString:\n    case PythonTripleDoubleQuotedString:\n    case ASPPythonTripleSingleQuotedString:\n    case ASPPythonTripleDoubleQuotedString:\n        return QColor(0x7f,0x00,0x00);\n\n    case PHPDefault:\n        return QColor(0x00,0x00,0x33);\n\n    case PHPSingleQuotedString:\n        return QColor(0x00,0x9f,0x00);\n\n    case PHPNumber:\n        return QColor(0xcc,0x99,0x00);\n\n    case PHPComment:\n        return QColor(0x99,0x99,0x99);\n\n    case PHPCommentLine:\n        return QColor(0x66,0x66,0x66);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerHTML::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case JavaScriptDefault:\n    case JavaScriptComment:\n    case JavaScriptCommentDoc:\n    case JavaScriptUnclosedString:\n    case ASPJavaScriptDefault:\n    case ASPJavaScriptComment:\n    case ASPJavaScriptCommentDoc:\n    case ASPJavaScriptUnclosedString:\n    case VBScriptDefault:\n    case VBScriptComment:\n    case VBScriptNumber:\n    case VBScriptKeyword:\n    case VBScriptString:\n    case VBScriptIdentifier:\n    case VBScriptUnclosedString:\n    case ASPVBScriptDefault:\n    case ASPVBScriptComment:\n    case ASPVBScriptNumber:\n    case ASPVBScriptKeyword:\n    case ASPVBScriptString:\n    case ASPVBScriptIdentifier:\n    case ASPVBScriptUnclosedString:\n    case PythonDefault:\n    case PythonComment:\n    case PythonNumber:\n    case PythonDoubleQuotedString:\n    case PythonSingleQuotedString:\n    case PythonKeyword:\n    case PythonTripleSingleQuotedString:\n    case PythonTripleDoubleQuotedString:\n    case PythonClassName:\n    case PythonFunctionMethodName:\n    case PythonOperator:\n    case PythonIdentifier:\n    case ASPPythonDefault:\n    case ASPPythonComment:\n    case ASPPythonNumber:\n    case ASPPythonDoubleQuotedString:\n    case ASPPythonSingleQuotedString:\n    case ASPPythonKeyword:\n    case ASPPythonTripleSingleQuotedString:\n    case ASPPythonTripleDoubleQuotedString:\n    case ASPPythonClassName:\n    case ASPPythonFunctionMethodName:\n    case ASPPythonOperator:\n    case ASPPythonIdentifier:\n    case PHPDefault:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerHTML::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Default:\n    case Entity:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Charter\", QsciLexer::s_defaultFontSize);\n#endif\n        break;\n\n    case HTMLComment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Verdana\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Sans\", QsciLexer::s_defaultFontSize);\n#endif\n        break;\n\n    case SGMLCommand:\n    case PythonKeyword:\n    case PythonClassName:\n    case PythonFunctionMethodName:\n    case PythonOperator:\n    case ASPPythonKeyword:\n    case ASPPythonClassName:\n    case ASPPythonFunctionMethodName:\n    case ASPPythonOperator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case JavaScriptDefault:\n    case JavaScriptCommentDoc:\n    case JavaScriptKeyword:\n    case JavaScriptSymbol:\n    case ASPJavaScriptDefault:\n    case ASPJavaScriptCommentDoc:\n    case ASPJavaScriptKeyword:\n    case ASPJavaScriptSymbol:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Serif\", QsciLexer::s_defaultFontSize);\n#endif\n        f.setBold(true);\n        break;\n\n    case JavaScriptComment:\n    case JavaScriptCommentLine:\n    case JavaScriptNumber:\n    case JavaScriptWord:\n    case JavaScriptDoubleQuotedString:\n    case JavaScriptSingleQuotedString:\n    case ASPJavaScriptComment:\n    case ASPJavaScriptCommentLine:\n    case ASPJavaScriptNumber:\n    case ASPJavaScriptWord:\n    case ASPJavaScriptDoubleQuotedString:\n    case ASPJavaScriptSingleQuotedString:\n    case VBScriptComment:\n    case ASPVBScriptComment:\n    case PythonComment:\n    case ASPPythonComment:\n    case PHPComment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Serif\", QsciLexer::s_defaultFontSize);\n#endif\n        break;\n\n    case VBScriptDefault:\n    case VBScriptNumber:\n    case VBScriptString:\n    case VBScriptIdentifier:\n    case VBScriptUnclosedString:\n    case ASPVBScriptDefault:\n    case ASPVBScriptNumber:\n    case ASPVBScriptString:\n    case ASPVBScriptIdentifier:\n    case ASPVBScriptUnclosedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Lucida Grande\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Serif\", QsciLexer::s_defaultFontSize);\n#endif\n        break;\n\n    case VBScriptKeyword:\n    case ASPVBScriptKeyword:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Lucida Grande\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Serif\", QsciLexer::s_defaultFontSize);\n#endif\n        f.setBold(false);\n        break;\n\n    case PythonDoubleQuotedString:\n    case PythonSingleQuotedString:\n    case ASPPythonDoubleQuotedString:\n    case ASPPythonSingleQuotedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\", QsciLexer::s_defaultFontSize);\n#endif\n        break;\n\n    case PHPKeyword:\n    case PHPVariable:\n    case PHPDoubleQuotedVariable:\n        f = QsciLexer::defaultFont(style);\n        f.setItalic(true);\n        break;\n\n    case PHPCommentLine:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", QsciLexer::s_defaultFontSize);\n#else\n        f = QFont(\"Bitstream Vera Serif\", QsciLexer::s_defaultFontSize);\n#endif\n        f.setItalic(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerHTML::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"a abbr acronym address applet area \"\n            \"b base basefont bdo big blockquote body br button \"\n            \"caption center cite code col colgroup \"\n            \"dd del dfn dir div dl dt \"\n            \"em \"\n            \"fieldset font form frame frameset \"\n            \"h1 h2 h3 h4 h5 h6 head hr html \"\n            \"i iframe img input ins isindex \"\n            \"kbd \"\n            \"label legend li link \"\n            \"map menu meta \"\n            \"noframes noscript \"\n            \"object ol optgroup option \"\n            \"p param pre \"\n            \"q \"\n            \"s samp script select small span strike strong style \"\n            \"sub sup \"\n            \"table tbody td textarea tfoot th thead title tr tt \"\n            \"u ul \"\n            \"var \"\n            \"xml xmlns \"\n            \"abbr accept-charset accept accesskey action align \"\n            \"alink alt archive axis \"\n            \"background bgcolor border \"\n            \"cellpadding cellspacing char charoff charset checked \"\n            \"cite class classid clear codebase codetype color \"\n            \"cols colspan compact content coords \"\n            \"data datafld dataformatas datapagesize datasrc \"\n            \"datetime declare defer dir disabled \"\n            \"enctype event \"\n            \"face for frame frameborder \"\n            \"headers height href hreflang hspace http-equiv \"\n            \"id ismap label lang language leftmargin link \"\n            \"longdesc \"\n            \"marginwidth marginheight maxlength media method \"\n            \"multiple \"\n            \"name nohref noresize noshade nowrap \"\n            \"object onblur onchange onclick ondblclick onfocus \"\n            \"onkeydown onkeypress onkeyup onload onmousedown \"\n            \"onmousemove onmouseover onmouseout onmouseup onreset \"\n            \"onselect onsubmit onunload \"\n            \"profile prompt \"\n            \"readonly rel rev rows rowspan rules \"\n            \"scheme scope selected shape size span src standby \"\n            \"start style summary \"\n            \"tabindex target text title topmargin type \"\n            \"usemap \"\n            \"valign value valuetype version vlink vspace \"\n            \"width \"\n            \"text password checkbox radio submit reset file \"\n            \"hidden image \"\n            \"public !doctype\";\n\n    if (set == 2)\n        return QsciLexerJavaScript::keywordClass;\n\n    if (set == 3)\n        return\n            // Move these to QsciLexerVisualBasic when we\n            // get round to implementing it.\n            \"and begin case call continue do each else elseif end \"\n            \"erase error event exit false for function get gosub \"\n            \"goto if implement in load loop lset me mid new next \"\n            \"not nothing on or property raiseevent rem resume \"\n            \"return rset select set stop sub then to true unload \"\n            \"until wend while with withevents attribute alias as \"\n            \"boolean byref byte byval const compare currency date \"\n            \"declare dim double enum explicit friend global \"\n            \"integer let lib long module object option optional \"\n            \"preserve private property public redim single static \"\n            \"string type variant\";\n\n    if (set == 4)\n        return QsciLexerPython::keywordClass;\n\n    if (set == 5)\n        return\n            \"and argv as argc break case cfunction class continue \"\n            \"declare default do die \"\n            \"echo else elseif empty enddeclare endfor endforeach \"\n            \"endif endswitch endwhile e_all e_parse e_error \"\n            \"e_warning eval exit extends \"\n            \"false for foreach function global \"\n            \"http_cookie_vars http_get_vars http_post_vars \"\n            \"http_post_files http_env_vars http_server_vars \"\n            \"if include include_once list new not null \"\n            \"old_function or \"\n            \"parent php_os php_self php_version print \"\n            \"require require_once return \"\n            \"static switch stdclass this true var xor virtual \"\n            \"while \"\n            \"__file__ __line__ __sleep __wakeup\";\n\n    if (set == 6)\n        return \"ELEMENT DOCTYPE ATTLIST ENTITY NOTATION\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerHTML::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Tag:\n        return tr(\"Tag\");\n\n    case UnknownTag:\n        return tr(\"Unknown tag\");\n\n    case Attribute:\n        return tr(\"Attribute\");\n\n    case UnknownAttribute:\n        return tr(\"Unknown attribute\");\n\n    case HTMLNumber:\n        return tr(\"HTML number\");\n\n    case HTMLDoubleQuotedString:\n        return tr(\"HTML double-quoted string\");\n\n    case HTMLSingleQuotedString:\n        return tr(\"HTML single-quoted string\");\n\n    case OtherInTag:\n        return tr(\"Other text in a tag\");\n\n    case HTMLComment:\n        return tr(\"HTML comment\");\n\n    case Entity:\n        return tr(\"Entity\");\n\n    case XMLTagEnd:\n        return tr(\"End of a tag\");\n\n    case XMLStart:\n        return tr(\"Start of an XML fragment\");\n\n    case XMLEnd:\n        return tr(\"End of an XML fragment\");\n\n    case Script:\n        return tr(\"Script tag\");\n\n    case ASPAtStart:\n        return tr(\"Start of an ASP fragment with @\");\n\n    case ASPStart:\n        return tr(\"Start of an ASP fragment\");\n\n    case CDATA:\n        return tr(\"CDATA\");\n\n    case PHPStart:\n        return tr(\"Start of a PHP fragment\");\n\n    case HTMLValue:\n        return tr(\"Unquoted HTML value\");\n\n    case ASPXCComment:\n        return tr(\"ASP X-Code comment\");\n\n    case SGMLDefault:\n        return tr(\"SGML default\");\n\n    case SGMLCommand:\n        return tr(\"SGML command\");\n\n    case SGMLParameter:\n        return tr(\"First parameter of an SGML command\");\n\n    case SGMLDoubleQuotedString:\n        return tr(\"SGML double-quoted string\");\n\n    case SGMLSingleQuotedString:\n        return tr(\"SGML single-quoted string\");\n\n    case SGMLError:\n        return tr(\"SGML error\");\n\n    case SGMLSpecial:\n        return tr(\"SGML special entity\");\n\n    case SGMLComment:\n        return tr(\"SGML comment\");\n\n    case SGMLParameterComment:\n        return tr(\"First parameter comment of an SGML command\");\n\n    case SGMLBlockDefault:\n        return tr(\"SGML block default\");\n\n    case JavaScriptStart:\n        return tr(\"Start of a JavaScript fragment\");\n\n    case JavaScriptDefault:\n        return tr(\"JavaScript default\");\n\n    case JavaScriptComment:\n        return tr(\"JavaScript comment\");\n\n    case JavaScriptCommentLine:\n        return tr(\"JavaScript line comment\");\n\n    case JavaScriptCommentDoc:\n        return tr(\"JavaDoc style JavaScript comment\");\n\n    case JavaScriptNumber:\n        return tr(\"JavaScript number\");\n\n    case JavaScriptWord:\n        return tr(\"JavaScript word\");\n\n    case JavaScriptKeyword:\n        return tr(\"JavaScript keyword\");\n\n    case JavaScriptDoubleQuotedString:\n        return tr(\"JavaScript double-quoted string\");\n\n    case JavaScriptSingleQuotedString:\n        return tr(\"JavaScript single-quoted string\");\n\n    case JavaScriptSymbol:\n        return tr(\"JavaScript symbol\");\n\n    case JavaScriptUnclosedString:\n        return tr(\"JavaScript unclosed string\");\n\n    case JavaScriptRegex:\n        return tr(\"JavaScript regular expression\");\n\n    case ASPJavaScriptStart:\n        return tr(\"Start of an ASP JavaScript fragment\");\n\n    case ASPJavaScriptDefault:\n        return tr(\"ASP JavaScript default\");\n\n    case ASPJavaScriptComment:\n        return tr(\"ASP JavaScript comment\");\n\n    case ASPJavaScriptCommentLine:\n        return tr(\"ASP JavaScript line comment\");\n\n    case ASPJavaScriptCommentDoc:\n        return tr(\"JavaDoc style ASP JavaScript comment\");\n\n    case ASPJavaScriptNumber:\n        return tr(\"ASP JavaScript number\");\n\n    case ASPJavaScriptWord:\n        return tr(\"ASP JavaScript word\");\n\n    case ASPJavaScriptKeyword:\n        return tr(\"ASP JavaScript keyword\");\n\n    case ASPJavaScriptDoubleQuotedString:\n        return tr(\"ASP JavaScript double-quoted string\");\n\n    case ASPJavaScriptSingleQuotedString:\n        return tr(\"ASP JavaScript single-quoted string\");\n\n    case ASPJavaScriptSymbol:\n        return tr(\"ASP JavaScript symbol\");\n\n    case ASPJavaScriptUnclosedString:\n        return tr(\"ASP JavaScript unclosed string\");\n\n    case ASPJavaScriptRegex:\n        return tr(\"ASP JavaScript regular expression\");\n\n    case VBScriptStart:\n        return tr(\"Start of a VBScript fragment\");\n\n    case VBScriptDefault:\n        return tr(\"VBScript default\");\n\n    case VBScriptComment:\n        return tr(\"VBScript comment\");\n\n    case VBScriptNumber:\n        return tr(\"VBScript number\");\n\n    case VBScriptKeyword:\n        return tr(\"VBScript keyword\");\n\n    case VBScriptString:\n        return tr(\"VBScript string\");\n\n    case VBScriptIdentifier:\n        return tr(\"VBScript identifier\");\n\n    case VBScriptUnclosedString:\n        return tr(\"VBScript unclosed string\");\n\n    case ASPVBScriptStart:\n        return tr(\"Start of an ASP VBScript fragment\");\n\n    case ASPVBScriptDefault:\n        return tr(\"ASP VBScript default\");\n\n    case ASPVBScriptComment:\n        return tr(\"ASP VBScript comment\");\n\n    case ASPVBScriptNumber:\n        return tr(\"ASP VBScript number\");\n\n    case ASPVBScriptKeyword:\n        return tr(\"ASP VBScript keyword\");\n\n    case ASPVBScriptString:\n        return tr(\"ASP VBScript string\");\n\n    case ASPVBScriptIdentifier:\n        return tr(\"ASP VBScript identifier\");\n\n    case ASPVBScriptUnclosedString:\n        return tr(\"ASP VBScript unclosed string\");\n\n    case PythonStart:\n        return tr(\"Start of a Python fragment\");\n\n    case PythonDefault:\n        return tr(\"Python default\");\n\n    case PythonComment:\n        return tr(\"Python comment\");\n\n    case PythonNumber:\n        return tr(\"Python number\");\n\n    case PythonDoubleQuotedString:\n        return tr(\"Python double-quoted string\");\n\n    case PythonSingleQuotedString:\n        return tr(\"Python single-quoted string\");\n\n    case PythonKeyword:\n        return tr(\"Python keyword\");\n\n    case PythonTripleDoubleQuotedString:\n        return tr(\"Python triple double-quoted string\");\n\n    case PythonTripleSingleQuotedString:\n        return tr(\"Python triple single-quoted string\");\n\n    case PythonClassName:\n        return tr(\"Python class name\");\n\n    case PythonFunctionMethodName:\n        return tr(\"Python function or method name\");\n\n    case PythonOperator:\n        return tr(\"Python operator\");\n\n    case PythonIdentifier:\n        return tr(\"Python identifier\");\n\n    case ASPPythonStart:\n        return tr(\"Start of an ASP Python fragment\");\n\n    case ASPPythonDefault:\n        return tr(\"ASP Python default\");\n\n    case ASPPythonComment:\n        return tr(\"ASP Python comment\");\n\n    case ASPPythonNumber:\n        return tr(\"ASP Python number\");\n\n    case ASPPythonDoubleQuotedString:\n        return tr(\"ASP Python double-quoted string\");\n\n    case ASPPythonSingleQuotedString:\n        return tr(\"ASP Python single-quoted string\");\n\n    case ASPPythonKeyword:\n        return tr(\"ASP Python keyword\");\n\n    case ASPPythonTripleDoubleQuotedString:\n        return tr(\"ASP Python triple double-quoted string\");\n\n    case ASPPythonTripleSingleQuotedString:\n        return tr(\"ASP Python triple single-quoted string\");\n\n    case ASPPythonClassName:\n        return tr(\"ASP Python class name\");\n\n    case ASPPythonFunctionMethodName:\n        return tr(\"ASP Python function or method name\");\n\n    case ASPPythonOperator:\n        return tr(\"ASP Python operator\");\n\n    case ASPPythonIdentifier:\n        return tr(\"ASP Python identifier\");\n\n    case PHPDefault:\n        return tr(\"PHP default\");\n\n    case PHPDoubleQuotedString:\n        return tr(\"PHP double-quoted string\");\n\n    case PHPSingleQuotedString:\n        return tr(\"PHP single-quoted string\");\n\n    case PHPKeyword:\n        return tr(\"PHP keyword\");\n\n    case PHPNumber:\n        return tr(\"PHP number\");\n\n    case PHPVariable:\n        return tr(\"PHP variable\");\n\n    case PHPComment:\n        return tr(\"PHP comment\");\n\n    case PHPCommentLine:\n        return tr(\"PHP line comment\");\n\n    case PHPDoubleQuotedVariable:\n        return tr(\"PHP double-quoted variable\");\n\n    case PHPOperator:\n        return tr(\"PHP operator\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerHTML::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case ASPAtStart:\n        return QColor(0xff,0xff,0x00);\n\n    case ASPStart:\n    case CDATA:\n        return QColor(0xff,0xdf,0x00);\n\n    case PHPStart:\n        return QColor(0xff,0xef,0xbf);\n\n    case HTMLValue:\n        return QColor(0xff,0xef,0xff);\n\n    case SGMLDefault:\n    case SGMLCommand:\n    case SGMLParameter:\n    case SGMLDoubleQuotedString:\n    case SGMLSingleQuotedString:\n    case SGMLSpecial:\n    case SGMLEntity:\n    case SGMLComment:\n        return QColor(0xef,0xef,0xff);\n\n    case SGMLError:\n        return QColor(0xff,0x66,0x66);\n\n    case SGMLBlockDefault:\n        return QColor(0xcc,0xcc,0xe0);\n\n    case JavaScriptDefault:\n    case JavaScriptComment:\n    case JavaScriptCommentLine:\n    case JavaScriptCommentDoc:\n    case JavaScriptNumber:\n    case JavaScriptWord:\n    case JavaScriptKeyword:\n    case JavaScriptDoubleQuotedString:\n    case JavaScriptSingleQuotedString:\n    case JavaScriptSymbol:\n        return QColor(0xf0,0xf0,0xff);\n\n    case JavaScriptUnclosedString:\n    case ASPJavaScriptUnclosedString:\n        return QColor(0xbf,0xbb,0xb0);\n\n    case JavaScriptRegex:\n    case ASPJavaScriptRegex:\n        return QColor(0xff,0xbb,0xb0);\n\n    case ASPJavaScriptDefault:\n    case ASPJavaScriptComment:\n    case ASPJavaScriptCommentLine:\n    case ASPJavaScriptCommentDoc:\n    case ASPJavaScriptNumber:\n    case ASPJavaScriptWord:\n    case ASPJavaScriptKeyword:\n    case ASPJavaScriptDoubleQuotedString:\n    case ASPJavaScriptSingleQuotedString:\n    case ASPJavaScriptSymbol:\n        return QColor(0xdf,0xdf,0x7f);\n\n    case VBScriptDefault:\n    case VBScriptComment:\n    case VBScriptNumber:\n    case VBScriptKeyword:\n    case VBScriptString:\n    case VBScriptIdentifier:\n        return QColor(0xef,0xef,0xff);\n\n    case VBScriptUnclosedString:\n    case ASPVBScriptUnclosedString:\n        return QColor(0x7f,0x7f,0xff);\n\n    case ASPVBScriptDefault:\n    case ASPVBScriptComment:\n    case ASPVBScriptNumber:\n    case ASPVBScriptKeyword:\n    case ASPVBScriptString:\n    case ASPVBScriptIdentifier:\n        return QColor(0xcf,0xcf,0xef);\n\n    case PythonDefault:\n    case PythonComment:\n    case PythonNumber:\n    case PythonDoubleQuotedString:\n    case PythonSingleQuotedString:\n    case PythonKeyword:\n    case PythonTripleSingleQuotedString:\n    case PythonTripleDoubleQuotedString:\n    case PythonClassName:\n    case PythonFunctionMethodName:\n    case PythonOperator:\n    case PythonIdentifier:\n        return QColor(0xef,0xff,0xef);\n\n    case ASPPythonDefault:\n    case ASPPythonComment:\n    case ASPPythonNumber:\n    case ASPPythonDoubleQuotedString:\n    case ASPPythonSingleQuotedString:\n    case ASPPythonKeyword:\n    case ASPPythonTripleSingleQuotedString:\n    case ASPPythonTripleDoubleQuotedString:\n    case ASPPythonClassName:\n    case ASPPythonFunctionMethodName:\n    case ASPPythonOperator:\n    case ASPPythonIdentifier:\n        return QColor(0xcf,0xef,0xcf);\n\n    case PHPDefault:\n    case PHPDoubleQuotedString:\n    case PHPSingleQuotedString:\n    case PHPKeyword:\n    case PHPNumber:\n    case PHPVariable:\n    case PHPComment:\n    case PHPCommentLine:\n    case PHPDoubleQuotedVariable:\n    case PHPOperator:\n        return QColor(0xff,0xf8,0xf8);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerHTML::refreshProperties()\n{\n    setCompactProp();\n    setPreprocProp();\n    setCaseSensTagsProp();\n    setScriptCommentsProp();\n    setScriptHeredocsProp();\n    setDjangoProp();\n    setMakoProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerHTML::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_preproc = qs.value(prefix + \"foldpreprocessor\", false).toBool();\n    case_sens_tags = qs.value(prefix + \"casesensitivetags\", false).toBool();\n    fold_script_comments = qs.value(prefix + \"foldscriptcomments\", false).toBool();\n    fold_script_heredocs = qs.value(prefix + \"foldscriptheredocs\", false).toBool();\n    django_templates = qs.value(prefix + \"djangotemplates\", false).toBool();\n    mako_templates = qs.value(prefix + \"makotemplates\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerHTML::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldpreprocessor\", fold_preproc);\n    qs.setValue(prefix + \"casesensitivetags\", case_sens_tags);\n    qs.setValue(prefix + \"foldscriptcomments\", fold_script_comments);\n    qs.setValue(prefix + \"foldscriptheredocs\", fold_script_heredocs);\n    qs.setValue(prefix + \"djangotemplates\", django_templates);\n    qs.setValue(prefix + \"makotemplates\", mako_templates);\n\n    return rc;\n}\n\n\n// Set if tags are case sensitive.\nvoid QsciLexerHTML::setCaseSensitiveTags(bool sens)\n{\n    case_sens_tags = sens;\n\n    setCaseSensTagsProp();\n}\n\n\n// Set the \"html.tags.case.sensitive\" property.\nvoid QsciLexerHTML::setCaseSensTagsProp()\n{\n    emit propertyChanged(\"html.tags.case.sensitive\",(case_sens_tags ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact\nvoid QsciLexerHTML::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerHTML::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if preprocessor blocks can be folded.\nvoid QsciLexerHTML::setFoldPreprocessor(bool fold)\n{\n    fold_preproc = fold;\n\n    setPreprocProp();\n}\n\n\n// Set the \"fold.html.preprocessor\" property.\nvoid QsciLexerHTML::setPreprocProp()\n{\n    emit propertyChanged(\"fold.html.preprocessor\",(fold_preproc ? \"1\" : \"0\"));\n}\n\n\n// Set if script comments can be folded.\nvoid QsciLexerHTML::setFoldScriptComments(bool fold)\n{\n    fold_script_comments = fold;\n\n    setScriptCommentsProp();\n}\n\n\n// Set the \"fold.hypertext.comment\" property.\nvoid QsciLexerHTML::setScriptCommentsProp()\n{\n    emit propertyChanged(\"fold.hypertext.comment\",(fold_script_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if script heredocs can be folded.\nvoid QsciLexerHTML::setFoldScriptHeredocs(bool fold)\n{\n    fold_script_heredocs = fold;\n\n    setScriptHeredocsProp();\n}\n\n\n// Set the \"fold.hypertext.heredoc\" property.\nvoid QsciLexerHTML::setScriptHeredocsProp()\n{\n    emit propertyChanged(\"fold.hypertext.heredoc\",(fold_script_heredocs ? \"1\" : \"0\"));\n}\n\n\n// Set if Django templates are supported.\nvoid QsciLexerHTML::setDjangoTemplates(bool enable)\n{\n    django_templates = enable;\n\n    setDjangoProp();\n}\n\n\n// Set the \"lexer.html.django\" property.\nvoid QsciLexerHTML::setDjangoProp()\n{\n    emit propertyChanged(\"lexer.html.django\", (django_templates ? \"1\" : \"0\"));\n}\n\n\n// Set if Mako templates are supported.\nvoid QsciLexerHTML::setMakoTemplates(bool enable)\n{\n    mako_templates = enable;\n\n    setMakoProp();\n}\n\n\n// Set the \"lexer.html.mako\" property.\nvoid QsciLexerHTML::setMakoProp()\n{\n    emit propertyChanged(\"lexer.html.mako\", (mako_templates ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexeridl.cpp",
    "content": "﻿#include \"Qsci/qscilexeridl.h\"\r\n// This module implements the QsciLexerIDL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexeridl.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerIDL::QsciLexerIDL(QObject *parent)\n    : QsciLexerCPP(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerIDL::~QsciLexerIDL()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerIDL::language() const\n{\n    return \"IDL\";\n}\n\n\r\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerIDL::defaultColor(int style) const\n{\n    if (style == UUID)\n        return QColor(0x80,0x40,0x80);\n\n    return QsciLexerCPP::defaultColor(style);\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerIDL::keywords(int set)\n{\n    if (set != 1)\n        return 0;\n\n    return \"aggregatable allocate appobject arrays async async_uuid \"\n           \"auto_handle bindable boolean broadcast byte byte_count \"\n           \"call_as callback char coclass code comm_status const \"\n           \"context_handle context_handle_noserialize \"\n           \"context_handle_serialize control cpp_quote custom decode \"\n           \"default defaultbind defaultcollelem defaultvalue \"\n           \"defaultvtable dispinterface displaybind dllname double dual \"\n           \"enable_allocate encode endpoint entry enum error_status_t \"\n           \"explicit_handle fault_status first_is float handle_t heap \"\n           \"helpcontext helpfile helpstring helpstringcontext \"\n           \"helpstringdll hidden hyper id idempotent ignore iid_as iid_is \"\n           \"immediatebind implicit_handle import importlib in include \"\n           \"in_line int __int64 __int3264 interface last_is lcid \"\n           \"length_is library licensed local long max_is maybe message \"\n           \"methods midl_pragma midl_user_allocate midl_user_free min_is \"\n           \"module ms_union ncacn_at_dsp ncacn_dnet_nsp ncacn_http \"\n           \"ncacn_ip_tcp ncacn_nb_ipx ncacn_nb_nb ncacn_nb_tcp ncacn_np \"\n           \"ncacn_spx ncacn_vns_spp ncadg_ip_udp ncadg_ipx ncadg_mq \"\n           \"ncalrpc nocode nonbrowsable noncreatable nonextensible notify \"\n           \"object odl oleautomation optimize optional out out_of_line \"\n           \"pipe pointer_default pragma properties propget propput \"\n           \"propputref ptr public range readonly ref represent_as \"\n           \"requestedit restricted retval shape short signed size_is \"\n           \"small source strict_context_handle string struct switch \"\n           \"switch_is switch_type transmit_as typedef uidefault union \"\n           \"unique unsigned user_marshal usesgetlasterror uuid v1_enum \"\n           \"vararg version void wchar_t wire_marshal\";\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerIDL::description(int style) const\n{\n    if (style == UUID)\n        return tr(\"UUID\");\n\n    return QsciLexerCPP::description(style);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerjava.cpp",
    "content": "﻿// This module implements the QsciLexerJava class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerjava.h\"\n\n\n// The ctor.\nQsciLexerJava::QsciLexerJava(QObject *parent)\n    : QsciLexerCPP(parent)\n{\n    m_commentSymbol = \"//\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerJava::~QsciLexerJava()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerJava::language() const\n{\n    return \"Java\";\n}\n\n// Returns the set of keywords.\nconst char *QsciLexerJava::keywords(int set)\n{\n    if (set != 1)\n        return 0;\n\n    return \"abstract assert boolean break byte case catch char class \"\n           \"const continue default do double else extends final finally \"\n           \"float for future generic goto if implements import inner \"\n           \"instanceof int interface long native new null operator outer \"\n           \"package private protected public rest return short static \"\n           \"super switch synchronized this throw throws transient try var \"\n           \"void volatile while\";\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerjavascript.cpp",
    "content": "﻿#include \"Qsci/qscilexerjavascript.h\"\r\n// This module implements the QsciLexerJavaScript class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerjavascript.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The list of JavaScript keywords that can be used by other friendly lexers.\nconst char *QsciLexerJavaScript::keywordClass =\n    \"abstract boolean break byte case catch char class const continue \"\n    \"debugger default delete do double else enum export extends final \"\n    \"finally float for function goto if implements import in instanceof \"\n    \"int interface long native new package private protected public \"\n    \"return short static super switch synchronized this throw throws \"\n    \"transient try typeof var void volatile while with\";\n\n\n// The ctor.\nQsciLexerJavaScript::QsciLexerJavaScript(QObject *parent)\n    : QsciLexerCPP(parent)\n{\n    m_commentSymbol = \"//\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerJavaScript::~QsciLexerJavaScript()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerJavaScript::language() const\n{\n    return \"JavaScript\";\n}\n\n\r\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerJavaScript::defaultColor(int style) const\n{\n    if (style == Regex)\n        return QColor(0x3f,0x7f,0x3f);\n\n    return QsciLexerCPP::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerJavaScript::defaultEolFill(int style) const\n{\n    if (style == Regex)\n        return true;\n\n    return QsciLexerCPP::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerJavaScript::defaultFont(int style) const\n{\n    if (style == Regex)\n#if defined(Q_OS_WIN)\n        return QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        return QFont(\"Courier\", 12);\n#else\n        return QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n\n    return QsciLexerCPP::defaultFont(style);\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerJavaScript::keywords(int set)\n{\n    if (set != 1)\n        return 0;\n\n    return keywordClass;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerJavaScript::description(int style) const\n{\n    if (style == Regex)\n        return tr(\"Regular expression\");\n\n    return QsciLexerCPP::description(style);\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerJavaScript::defaultPaper(int style) const\n{\n    if (style == Regex)\n        return QColor(0xe0,0xf0,0xff);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n"
  },
  {
    "path": "src/qscint/src/qscilexerjson.cpp",
    "content": "﻿// This module implements the QsciLexerJSON class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerjson.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerJSON::QsciLexerJSON(QObject *parent)\n    : QsciLexer(parent),\n      allow_comments(true), escape_sequence(true), fold_compact(true)\n{\n}\n\n\n// The dtor.\nQsciLexerJSON::~QsciLexerJSON()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerJSON::language() const\n{\n    return \"JSON\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerJSON::lexer() const\n{\n    return \"json\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerJSON::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n    case Error:\n        return QColor(0xff, 0xff, 0xff);\n\n    case Number:\n        return QColor(0x00, 0x7f, 0x7f);\n\n    case String:\n        return QColor(0x7f, 0x00, 0x00);\n\n    case Property:\n        return QColor(0x88, 0x0a, 0xe8);\n\n    case EscapeSequence:\n        return QColor(0x0b, 0x98, 0x2e);\n\n    case CommentLine:\n    case CommentBlock:\n        return QColor(0x05, 0xbb, 0xae);\n\n    case Operator:\n        return QColor(0x18, 0x64, 0x4a);\n\n    case IRI:\n        return QColor(0x00, 0x00, 0xff);\n\n    case IRICompact:\n        return QColor(0xd1, 0x37, 0xc1);\n\n    case Keyword:\n        return QColor(0x0b, 0xce, 0xa7);\n\n    case KeywordLD:\n        return QColor(0xec, 0x28, 0x06);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerJSON::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerJSON::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case CommentLine:\n        f = QsciLexer::defaultFont(style);\n        f.setItalic(true);\n        break;\n\n    case Keyword:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerJSON::keywords(int set)\n{\n    if (set == 1)\n        return \"false true null\";\n\n    if (set == 2)\n        return\n            \"@id @context @type @value @language @container @list @set \"\n            \"@reverse @index @base @vocab @graph\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerJSON::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case String:\n        return tr(\"String\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case Property:\n        return tr(\"Property\");\n\n    case EscapeSequence:\n        return tr(\"Escape sequence\");\n\n    case CommentLine:\n        return tr(\"Line comment\");\n\n    case CommentBlock:\n        return tr(\"Block comment\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case IRI:\n        return tr(\"IRI\");\n\n    case IRICompact:\n        return tr(\"JSON-LD compact IRI\");\n\n    case Keyword:\n        return tr(\"JSON keyword\");\n\n    case KeywordLD:\n        return tr(\"JSON-LD keyword\");\n\n    case Error:\n        return tr(\"Parsing error\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerJSON::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n    case Error:\n        return QColor(0xff, 0x00, 0x00);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerJSON::refreshProperties()\n{   \n    setAllowCommentsProp();\n    setEscapeSequenceProp();\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerJSON::readProperties(QSettings &qs,const QString &prefix)\n{\n    allow_comments = qs.value(prefix + \"allowcomments\", true).toBool();\n    escape_sequence = qs.value(prefix + \"escapesequence\", true).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return true;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerJSON::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    qs.setValue(prefix + \"allowcomments\", allow_comments);\n    qs.setValue(prefix + \"escapesequence\", escape_sequence);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return true;\n}\n\n\n// Set if comments are highlighted\nvoid QsciLexerJSON::setHighlightComments(bool highlight)\n{\n    allow_comments = highlight;\n\n    setAllowCommentsProp();\n}\n\n\n// Set the \"lexer.json.allow.comments\" property.\nvoid QsciLexerJSON::setAllowCommentsProp()\n{\n    emit propertyChanged(\"lexer.json.allow.comments\",\n            (allow_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if escape sequences are highlighted.\nvoid QsciLexerJSON::setHighlightEscapeSequences(bool highlight)\n{\n    escape_sequence = highlight;\n\n    setEscapeSequenceProp();\n}\n\n\n// Set the \"lexer.json.escape.sequence\" property.\nvoid QsciLexerJSON::setEscapeSequenceProp()\n{\n    emit propertyChanged(\"lexer.json.escape.sequence\",\n            (escape_sequence ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact.\nvoid QsciLexerJSON::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerJSON::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerlua.cpp",
    "content": "﻿// This module implements the QsciLexerLua class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerlua.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerLua::QsciLexerLua(QObject *parent)\n    : QsciLexer(parent), fold_compact(true)\n{\n    m_commentSymbol = \"--\";\n}\n\n\n// The dtor.\nQsciLexerLua::~QsciLexerLua()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerLua::language() const\n{\n    return \"Lua\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerLua::lexer() const\n{\n    return \"lua\";\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerLua::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \":\" << \".\";\n\n    return wl;\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerLua::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerLua::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerLua::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n    case LineComment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n    case BasicFunctions:\n    case StringTableMathsFunctions:\n    case CoroutinesIOSystemFacilities:\n        return QColor(0x80, 0x00, 0xff);\n\n    case String:\n    case Character:\n    case LiteralString:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Preprocessor:\n    case Label:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Operator:\n    case Identifier:\n        break;\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerLua::defaultEolFill(int style) const\n{\n    if (style == Comment || style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerLua::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case LineComment:\n    case LiteralString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerLua::keywords(int set)\n{\n    if (set == 1)\n        // Keywords.\n        return\n            \"and break do else elseif end false for function if \"\n            \"in local nil not or repeat return then true until \"\n            \"while\";\n\n    if (set == 2)\n        // Basic functions.\n        return\n            \"_ALERT _ERRORMESSAGE _INPUT _PROMPT _OUTPUT _STDERR \"\n            \"_STDIN _STDOUT call dostring foreach foreachi getn \"\n            \"globals newtype rawget rawset require sort tinsert \"\n            \"tremove \"\n\n            \"G getfenv getmetatable ipairs loadlib next pairs \"\n            \"pcall rawegal rawget rawset require setfenv \"\n            \"setmetatable xpcall string table math coroutine io \"\n            \"os debug\";\n\n    if (set == 3)\n        // String, table and maths functions.\n        return\n            \"abs acos asin atan atan2 ceil cos deg exp floor \"\n            \"format frexp gsub ldexp log log10 max min mod rad \"\n            \"random randomseed sin sqrt strbyte strchar strfind \"\n            \"strlen strlower strrep strsub strupper tan \"\n\n            \"string.byte string.char string.dump string.find \"\n            \"string.len string.lower string.rep string.sub \"\n            \"string.upper string.format string.gfind string.gsub \"\n            \"table.concat table.foreach table.foreachi table.getn \"\n            \"table.sort table.insert table.remove table.setn \"\n            \"math.abs math.acos math.asin math.atan math.atan2 \"\n            \"math.ceil math.cos math.deg math.exp math.floor \"\n            \"math.frexp math.ldexp math.log math.log10 math.max \"\n            \"math.min math.mod math.pi math.rad math.random \"\n            \"math.randomseed math.sin math.sqrt math.tan\";\n\n    if (set == 4)\n        // Coroutine, I/O and system facilities.\n        return\n            \"openfile closefile readfrom writeto appendto remove \"\n            \"rename flush seek tmpfile tmpname read write clock \"\n            \"date difftime execute exit getenv setlocale time \"\n\n            \"coroutine.create coroutine.resume coroutine.status \"\n            \"coroutine.wrap coroutine.yield io.close io.flush \"\n            \"io.input io.lines io.open io.output io.read \"\n            \"io.tmpfile io.type io.write io.stdin io.stdout \"\n            \"io.stderr os.clock os.date os.difftime os.execute \"\n            \"os.exit os.getenv os.remove os.rename os.setlocale \"\n            \"os.time os.tmpname\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerLua::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case LineComment:\n        return tr(\"Line comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case String:\n        return tr(\"String\");\n\n    case Character:\n        return tr(\"Character\");\n\n    case LiteralString:\n        return tr(\"Literal string\");\n\n    case Preprocessor:\n        return tr(\"Preprocessor\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case BasicFunctions:\n        return tr(\"Basic functions\");\n\n    case StringTableMathsFunctions:\n        return tr(\"String, table and maths functions\");\n\n    case CoroutinesIOSystemFacilities:\n        return tr(\"Coroutines, i/o and system facilities\");\n\n    case KeywordSet5:\n        return tr(\"User defined 1\");\n\n    case KeywordSet6:\n        return tr(\"User defined 2\");\n\n    case KeywordSet7:\n        return tr(\"User defined 3\");\n\n    case KeywordSet8:\n        return tr(\"User defined 4\");\n\n    case Label:\n        return tr(\"Label\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerLua::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case Comment:\n        return QColor(0xd0,0xf0,0xf0);\n\n    case LiteralString:\n        return QColor(0xe0,0xff,0xff);\n\n    case UnclosedString:\n        return QColor(0xe0,0xc0,0xe0);\n\n    case BasicFunctions:\n        return QColor(0xd0,0xff,0xd0);\n\n    case StringTableMathsFunctions:\n        return QColor(0xd0,0xd0,0xff);\n\n    case CoroutinesIOSystemFacilities:\n        return QColor(0xff,0xd0,0xd0);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerLua::refreshProperties()\n{\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerLua::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerLua::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerLua::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact.\nvoid QsciLexerLua::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerLua::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexermakefile.cpp",
    "content": "﻿// This module implements the QsciLexerMakefile class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexermakefile.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerMakefile::QsciLexerMakefile(QObject *parent)\n    : QsciLexer(parent)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerMakefile::~QsciLexerMakefile()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerMakefile::language() const\n{\n    return \"Makefile\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerMakefile::lexer() const\n{\n    return \"makefile\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerMakefile::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerMakefile::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Preprocessor:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Variable:\n        return QColor(0x00,0x00,0x80);\n\n    case Target:\n        return QColor(0xa0,0x00,0x00);\n\n    case Error:\n        return QColor(0xff,0xff,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerMakefile::defaultEolFill(int style) const\n{\n    if (style == Error)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerMakefile::defaultFont(int style) const\n{\n    QFont f;\n\n    if (style == Comment)\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n    else\n        f = QsciLexer::defaultFont(style);\n\n    return f;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerMakefile::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Preprocessor:\n        return tr(\"Preprocessor\");\n\n    case Variable:\n        return tr(\"Variable\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Target:\n        return tr(\"Target\");\n\n    case Error:\n        return tr(\"Error\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerMakefile::defaultPaper(int style) const\n{\n    if (style == Error)\n        return QColor(0xff,0x00,0x00);\n\n    return QsciLexer::defaultPaper(style);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexermarkdown.cpp",
    "content": "﻿// This module implements the QsciLexerMarkdown class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexermarkdown.h\"\n\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerMarkdown::QsciLexerMarkdown(QObject *parent)\n    : QsciLexer(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerMarkdown::~QsciLexerMarkdown()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerMarkdown::language() const\n{\n    return \"Markdown\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerMarkdown::lexer() const\n{\n    return \"markdown\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerMarkdown::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Special:\n        return QColor(0xcc, 0x00, 0xff);\n\n    case StrongEmphasisAsterisks:\n    case StrongEmphasisUnderscores:\n        return QColor(0x22, 0x44, 0x66);\n\n    case EmphasisAsterisks:\n    case EmphasisUnderscores:\n        return QColor(0x88, 0x00, 0x88);\n\n    case Header1:\n        return QColor(0xff, 0x77, 0x00);\n\n    case Header2:\n        return QColor(0xdd, 0x66, 0x00);\n\n    case Header3:\n        return QColor(0xbb, 0x55, 0x00);\n\n    case Header4:\n        return QColor(0x99, 0x44, 0x00);\n\n    case Header5:\n        return QColor(0x77, 0x33, 0x00);\n\n    case Header6:\n        return QColor(0x55, 0x22, 0x00);\n\n    case Prechar:\n        return QColor(0x00, 0x00, 0x00);\n\n    case UnorderedListItem:\n        return QColor(0x82, 0x5d, 0x00);\n\n    case OrderedListItem:\n        return QColor(0x00, 0x00, 0x70);\n\n    case BlockQuote:\n        return QColor(0x00, 0x66, 0x00);\n\n    case StrikeOut:\n        return QColor(0xdd, 0xdd, 0xdd);\n\n    case HorizontalRule:\n        return QColor(0x1f, 0x1c, 0x1b);\n\n    case Link:\n        return QColor(0x00, 0x00, 0xaa);\n\n    case CodeBackticks:\n    case CodeDoubleBackticks:\n        return QColor(0x7f, 0x00, 0x7f);\n\n    case CodeBlock:\n        return QColor(0x00, 0x45, 0x8a);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerMarkdown::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case StrongEmphasisAsterisks:\n    case StrongEmphasisUnderscores:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case EmphasisAsterisks:\n    case EmphasisUnderscores:\n        f = QsciLexer::defaultFont(style);\n        f.setItalic(true);\n        break;\n\n    case Header1:\n    case Header2:\n    case Header3:\n    case Header4:\n    case Header5:\n    case Header6:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n        f.setBold(true);\n        break;\n\n    case HorizontalRule:\n    case CodeBackticks:\n    case CodeDoubleBackticks:\n    case CodeBlock:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n        break;\n\n    case Link:\n        f = QsciLexer::defaultFont(style);\n        f.setUnderline(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerMarkdown::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case Prechar:\n        return QColor(0xee, 0xee, 0xaa);\n\n    case UnorderedListItem:\n        return QColor(0xde, 0xd8, 0xc3);\n\n    /*case OrderedListItem:\n        return QColor(0xb8, 0xc3, 0xe1);*/\n\n    case BlockQuote:\n        return QColor(0xcb, 0xdc, 0xcb);\n\n    case StrikeOut:\n        return QColor(0xaa, 0x00, 0x00);\n\n    case HorizontalRule:\n        return QColor(0xe7, 0xd1, 0xc9);\n\n    case CodeBackticks:\n    case CodeDoubleBackticks:\n        return QColor(0xef, 0xff, 0xef);\n\n    case CodeBlock:\n        return QColor(0xc5, 0xe0, 0xf5);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerMarkdown::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Special:\n        return tr(\"Special\");\n\n\tcase StrongEmphasisAsterisks:\n        return tr(\"Strong emphasis using double asterisks\");\n\n\tcase StrongEmphasisUnderscores:\n        return tr(\"Strong emphasis using double underscores\");\n\n\tcase EmphasisAsterisks:\n        return tr(\"Emphasis using single asterisks\");\n\n\tcase EmphasisUnderscores:\n        return tr(\"Emphasis using single underscores\");\n\n\tcase Header1:\n        return tr(\"Level 1 header\");\n\n\tcase Header2:\n        return tr(\"Level 2 header\");\n\n\tcase Header3:\n        return tr(\"Level 3 header\");\n\n\tcase Header4:\n        return tr(\"Level 4 header\");\n\n\tcase Header5:\n        return tr(\"Level 5 header\");\n\n\tcase Header6:\n        return tr(\"Level 6 header\");\n\n\tcase Prechar:\n        return tr(\"Pre-char\");\n\n\tcase UnorderedListItem:\n        return tr(\"Unordered list item\");\n\n\tcase OrderedListItem:\n        return tr(\"Ordered list item\");\n\n\tcase BlockQuote:\n        return tr(\"Block quote\");\n\n\tcase StrikeOut:\n        return tr(\"Strike out\");\n\n\tcase HorizontalRule:\n        return tr(\"Horizontal rule\");\n\n\tcase Link:\n        return tr(\"Link\");\n\n\tcase CodeBackticks:\n        return tr(\"Code between backticks\");\n\n\tcase CodeDoubleBackticks:\n        return tr(\"Code between double backticks\");\n\n\tcase CodeBlock:\n        return tr(\"Code block\");\n    }\n\n    return QString();\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexermatlab.cpp",
    "content": "﻿// This module implements the QsciLexerMatlab class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexermatlab.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerMatlab::QsciLexerMatlab(QObject *parent)\n    : QsciLexer(parent)\n{\n    m_commentSymbol = \"%\";\n}\n\n\n// The dtor.\nQsciLexerMatlab::~QsciLexerMatlab()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerMatlab::language() const\n{\n    return \"Matlab\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerMatlab::lexer() const\n{\n    return \"matlab\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerMatlab::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Command:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case SingleQuotedString:\n    case DoubleQuotedString:\n        return QColor(0x7f,0x00,0x7f);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerMatlab::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerMatlab::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"break case catch continue else elseif end for function \"\n            \"global if otherwise persistent return switch try while\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerMatlab::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Command:\n        return tr(\"Command\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n    }\n\n    return QString();\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexernsis.cpp",
    "content": "﻿#include \"Qsci/qscilexernsis.h\"\r\n#include \"Qsci/qsciscintillabase.h\"\r\n\r\n#include <qcolor.h>\r\n#include <qfont.h>\r\n#include <qsettings.h>\r\n\r\nQsciLexerNsis::QsciLexerNsis(QObject *parent)\r\n\t: QsciLexer(parent)\r\n{\r\n\tm_commentSymbol = \"#\";\r\n}\r\n\r\nQsciLexerNsis::~QsciLexerNsis()\r\n{\r\n}\r\n\r\n// Returns the language name.\r\nconst char* QsciLexerNsis::language() const\r\n{\r\n\treturn \"NSIS\";\r\n}\r\n\r\n// Returns the lexer name.\r\nconst char *QsciLexerNsis::lexer() const\r\n{\r\n\treturn \"nsis\";\r\n}\r\n\r\n\r\n// Returns the foreground colour of the text for a style.\r\nQColor QsciLexerNsis::defaultColor(int style) const\r\n{\r\n\tswitch (style)\n\t{\r\n\t    case NSIS_COMMENT:\n\t\tcase NSIS_COMMENTBOX:\n\t\t\treturn QColor(0x00, 0x7f, 0x00);\r\n\t\tcase NSIS_NUMBER:\n\t\t\treturn QColor(0x00, 0x7f, 0x7f);\n\n\t\tcase NSIS_FUNCTIONDEF:\n\t\tcase NSIS_FUNCTION:\n\t\tcase NSIS_MACRODEF:\n\t\tcase NSIS_LABEL:\n\t\tcase NSIS_SECTIONDEF:\n\t\tcase NSIS_SUBSECTIONDEF:\n\t\tcase NSIS_IFDEFINEDEF:\n\t\t\treturn QColor(0x80, 0x00, 0xff);\n\n\t\tcase NSIS_STRINGRQ:\n\t\tcase NSIS_STRINGLQ:\n\t\tcase NSIS_STRINGDQ:\n\t\t\treturn QColor(0x7f, 0x00, 0x7f);\n\t}\r\n\treturn QsciLexer::defaultColor(style);\r\n}\r\n\r\n\r\n// Returns the end-of-line fill for a style.\r\nbool QsciLexerNsis::defaultEolFill(int style) const\r\n{\r\n\t//if (style == VerbatimString)\r\n\t//\treturn true;\r\n\r\n\treturn QsciLexer::defaultEolFill(style);\r\n}\r\n\r\n// Returns the font of the text for a style.\r\nQFont QsciLexerNsis::defaultFont(int style) const\r\n{\r\n\tQFont f;\n\n\tswitch (style)\n\t{\n\tcase NSIS_FUNCTIONDEF:\n\tcase NSIS_MACRODEF:\n\tcase NSIS_LABEL:\n\tcase NSIS_SECTIONDEF:\n\tcase NSIS_SUBSECTIONDEF:\n\tcase NSIS_IFDEFINEDEF:\n#if defined(Q_OS_WIN)\n\t\tf = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n\t\tf = QFont(\"Courier\", 12);\n#else\n\t\tf = QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n\t\tf.setBold(true);\n\t\tbreak;\n\tdefault:\n\t\tf = QsciLexer::defaultFont(style);\n\t}\n\n\treturn f;\r\n}\r\n\r\n\r\n// Returns the set of keywords.\r\nconst char* QsciLexerNsis::keywords(int set)\r\n{\r\n\treturn \"Functions Variables Lables UserDefined \"\r\n\t\t\"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow \"\r\n\t\t\"BGFont BGGradient BrandingText BringToFront \"\r\n\t\t\"Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut \"\r\n\t\t\"Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify \"\r\n\t\t\"EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings \"\r\n\t\t\"File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileSeek FileWrite FileWriteByte FileWriteUTF16LE FindClose FindFirst FindNext FindWindow FlushINI Function FunctionEnd \"\r\n\t\t\"GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetExeName GetExePath GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto \"\r\n\t\t\"HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow \"\r\n\t\t\"LangString LangStringUP LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Nop Name OutFile \"\r\n\t\t\"Page PageEx PageExEnd PluginDir Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir \"\r\n\t\t\"SearchPath Section SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroup SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressionLevel SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent SetStaticBkColor ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubSection SubSectionEnd \"\r\n\t\t\"Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL UnsafeStrCpy Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller \"\r\n\t\t\"XPStyle !AddIncludeDir !AddPluginDir !appendfile !cd !define !delfile !echo !else !endif !error !execute \"\r\n\t\t\"!finalize !getdllversion !if !ifdef !ifmacrodef !ifmacrondef !ifndef !include !insertmacro !macro !macroend !macroundef !packhdr !searchparse !searchreplace !system !tempfile !undef !verbose !warning\";\r\n}\r\n\r\n\r\n// Returns the user name of a style.\r\nQString QsciLexerNsis::description(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase NSIS_DEFAULT:\n\t\treturn tr(\"Default\");\n\tcase NSIS_COMMENT:\n\t\treturn tr(\"COMMENT\");\n\tcase NSIS_STRINGDQ:\n\t\treturn tr(\"STRING DOUBLE QUOTE\");\n\tcase NSIS_STRINGLQ:\n\t\treturn tr(\"STRING LEFT QUOTE\");\n\tcase NSIS_STRINGRQ:\n\t\treturn tr(\"STRING RIGHT QUOTE\");\n\tcase NSIS_FUNCTION:\n\t\treturn tr(\"FUNCTION\");\n\tcase NSIS_VARIABLE:\n\t\treturn tr(\"VARIABLE\");\n\tcase NSIS_LABEL:\n\t\treturn tr(\"LABEL\");\n\tcase NSIS_USERDEFINED:\n\t\treturn tr(\"USEREFINED\");\n\tcase NSIS_SECTIONDEF:\n\t\treturn tr(\"SECTION\");\n\tcase NSIS_SUBSECTIONDEF:\n\t\treturn tr(\"SUB SECTION\");\n\tcase NSIS_IFDEFINEDEF:\n\t\treturn tr(\"IF DEFINE\");\n\tcase NSIS_MACRODEF:\n\t\treturn tr(\"MACRO\");\n\tcase NSIS_STRINGVAR:\n\t\treturn tr(\"STRING VAR\");\n\tcase NSIS_NUMBER:\n\t\treturn tr(\"NUMBER\");\n\tcase NSIS_SECTIONGROUP:\n\t\treturn tr(\"SECTION GROUP\");\n\tcase NSIS_PAGEEX:\n\t\treturn tr(\"PAGE EX\");\n\tcase NSIS_FUNCTIONDEF:\n\t\treturn tr(\"FUNCTION DEFINE\");\n\tcase NSIS_COMMENTBOX:\n\t\treturn tr(\"COMMENT BOX\");\r\n\tdefault:\r\n\t\tbreak;\r\n}\r\n\treturn QString();\r\n}\r\n\r\n\r\n// Returns the background colour of the text for a style.\r\nQColor QsciLexerNsis::defaultPaper(int style) const\r\n{\r\n\t//if (style == VerbatimString)\r\n\t//\treturn QColor(0xe0, 0xff, 0xe0);\r\n\r\n\treturn QsciLexer::defaultPaper(style);\r\n}\r\n\r\n// Return the lexer identifier.\nint QsciLexerNsis::lexerId() const\n{\n\treturn L_NSIS;\n}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexeroctave.cpp",
    "content": "﻿// This module implements the QsciLexerOctave class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexeroctave.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerOctave::QsciLexerOctave(QObject *parent)\n    : QsciLexerMatlab(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerOctave::~QsciLexerOctave()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerOctave::language() const\n{\n    return \"Octave\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerOctave::lexer() const\n{\n    return \"octave\";\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerOctave::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"__FILE__ __LINE__ break case catch classdef continue do else \"\n            \"elseif end end_try_catch end_unwind_protect endclassdef \"\n            \"endenumeration endevents endfor endfunction endif endmethods \"\n            \"endparfor endproperties endswitch endwhile enumeration events \"\n            \"for function get global if methods otherwise parfor persistent \"\n            \"properties return set static switch try until unwind_protect \"\n            \"unwind_protect_cleanup while\";\n\n    return 0;\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerpascal.cpp",
    "content": "﻿// This module implements the QsciLexerPascal class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerpascal.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerPascal::QsciLexerPascal(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true), fold_preproc(false),\n      smart_highlight(true)\n{\n    m_commentStart = \"{\";\n    m_commentEnd = \"}\";\n}\n\n\n// The dtor.\nQsciLexerPascal::~QsciLexerPascal()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerPascal::language() const\n{\n    return \"Pascal\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerPascal::lexer() const\n{\n    return \"pascal\";\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerPascal::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \".\" << \"^\";\n\n    return wl;\n}\n\n\n// Return the list of keywords that can start a block.\nconst char *QsciLexerPascal::blockStartKeyword(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return\n        \"case class do else for then private protected public published \"\n        \"repeat try while type\";\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerPascal::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"begin\";\n}\n\n\n// Return the list of characters that can end a block.\nconst char *QsciLexerPascal::blockEnd(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"end\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerPascal::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerPascal::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Identifier:\n        break;\n\n    case Comment:\n    case CommentParenthesis:\n    case CommentLine:\n        return QColor(0x00,0x7f,0x00);\n\n    case PreProcessor:\n    case PreProcessorParenthesis:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Number:\n    case HexNumber:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case SingleQuotedString:\n    case Character:\n        return QColor(0x7f,0x00,0x7f);\n\n    case UnclosedString:\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case Asm:\n        return QColor(0x80,0x40,0x80);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerPascal::defaultEolFill(int style) const\n{\n    if (style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerPascal::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentParenthesis:\n    case CommentLine:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case SingleQuotedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Times New Roman\", 11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Times New Roman\", 12);\n#else\n        f = QFont(\"Bitstream Charter\", 10);\n#endif\n        f.setItalic(true);\n        break;\n\n    case UnclosedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerPascal::defaultPaper(int style) const\n{\n    if (style == UnclosedString)\n        return QColor(0xe0,0xc0,0xe0);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerPascal::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"absolute abstract and array as asm assembler automated begin \"\n            \"case cdecl class const constructor delayed deprecated destructor \"\n            \"dispid dispinterface div do downto dynamic else end except \"\n            \"experimental export exports external far file final finalization \"\n            \"finally for forward function goto helper if implementation in \"\n            \"inherited initialization inline interface is label library \"\n            \"message mod near nil not object of on operator or out overload \"\n            \"override packed pascal platform private procedure program \"\n            \"property protected public published raise record reference \"\n            \"register reintroduce repeat resourcestring safecall sealed set \"\n            \"shl shr static stdcall strict string then threadvar to try type \"\n            \"unit unsafe until uses var varargs virtual while winapi with xor\"\n            \"add default implements index name nodefault read readonly remove \"\n            \"stored write writeonly\"\n            \"package contains requires\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerPascal::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Comment:\n        return tr(\"'{ ... }' style comment\");\n\n    case CommentParenthesis:\n        return tr(\"'(* ... *)' style comment\");\n\n    case CommentLine:\n        return tr(\"Line comment\");\n\n    case PreProcessor:\n        return tr(\"'{$ ... }' style pre-processor block\");\n\n    case PreProcessorParenthesis:\n        return tr(\"'(*$ ... *)' style pre-processor block\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case HexNumber:\n        return tr(\"Hexadecimal number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case Character:\n        return tr(\"Character\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Asm:\n        return tr(\"Inline asm\");\n    }\n\n    return QString();\n}\n\n\n// Refresh all properties.\nvoid QsciLexerPascal::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setPreprocProp();\n    setSmartHighlightProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerPascal::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_preproc = qs.value(prefix + \"foldpreprocessor\", true).toBool();\n    smart_highlight = qs.value(prefix + \"smarthighlight\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerPascal::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldpreprocessor\", fold_preproc);\n    qs.setValue(prefix + \"smarthighlight\", smart_highlight);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerPascal::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerPascal::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerPascal::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerPascal::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerPascal::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerPascal::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Return true if preprocessor blocks can be folded.\nbool QsciLexerPascal::foldPreprocessor() const\n{\n    return fold_preproc;\n}\n\n\n// Set if preprocessor blocks can be folded.\nvoid QsciLexerPascal::setFoldPreprocessor(bool fold)\n{\n    fold_preproc = fold;\n\n    setPreprocProp();\n}\n\n\n// Set the \"fold.preprocessor\" property.\nvoid QsciLexerPascal::setPreprocProp()\n{\n    emit propertyChanged(\"fold.preprocessor\",(fold_preproc ? \"1\" : \"0\"));\n}\n\n\n// Return true if smart highlighting is enabled.\nbool QsciLexerPascal::smartHighlighting() const\n{\n    return smart_highlight;\n}\n\n\n// Set if smart highlighting is enabled.\nvoid QsciLexerPascal::setSmartHighlighting(bool enabled)\n{\n    smart_highlight = enabled;\n\n    setSmartHighlightProp();\n}\n\n\n// Set the \"lexer.pascal.smart.highlighting\" property.\nvoid QsciLexerPascal::setSmartHighlightProp()\n{\n    emit propertyChanged(\"lexer.pascal.smart.highlighting\", (smart_highlight ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerperl.cpp",
    "content": "﻿// This module implements the QsciLexerPerl class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerperl.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerPerl::QsciLexerPerl(QObject *parent)\n    : QsciLexer(parent),\n      fold_atelse(false), fold_comments(false), fold_compact(true),\n      fold_packages(true), fold_pod_blocks(true)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerPerl::~QsciLexerPerl()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerPerl::language() const\n{\n    return \"Perl\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerPerl::lexer() const\n{\n    return \"perl\";\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerPerl::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \"::\" << \"->\";\n\n    return wl;\n}\n\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerPerl::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"{\";\n}\n\n\n// Return the list of characters that can end a block.\nconst char *QsciLexerPerl::blockEnd(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \"}\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerPerl::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerPerl::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$@%&\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerPerl::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Error:\n    case Backticks:\n    case QuotedStringQX:\n        return QColor(0xff,0xff,0x00);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case POD:\n    case PODVerbatim:\n        return QColor(0x00,0x40,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case SingleQuotedHereDocument:\n    case DoubleQuotedHereDocument:\n    case BacktickHereDocument:\n    case QuotedStringQ:\n    case QuotedStringQQ:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Operator:\n    case Identifier:\n    case Scalar:\n    case Array:\n    case Hash:\n    case SymbolTable:\n    case Regex:\n    case Substitution:\n    case HereDocumentDelimiter:\n    case QuotedStringQR:\n    case QuotedStringQW:\n    case SubroutinePrototype:\n    case Translation:\n        return QColor(0x00,0x00,0x00);\n\n    case DataSection:\n        return QColor(0x60,0x00,0x00);\n\n    case FormatIdentifier:\n    case FormatBody:\n        return QColor(0xc0,0x00,0xc0);\n\n    case DoubleQuotedStringVar:\n    case RegexVar:\n    case SubstitutionVar:\n    case BackticksVar:\n    case DoubleQuotedHereDocumentVar:\n    case BacktickHereDocumentVar:\n    case QuotedStringQQVar:\n    case QuotedStringQXVar:\n    case QuotedStringQRVar:\n        return QColor(0xd0, 0x00, 0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerPerl::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case POD:\n    case DataSection:\n    case SingleQuotedHereDocument:\n    case DoubleQuotedHereDocument:\n    case BacktickHereDocument:\n    case PODVerbatim:\n    case FormatBody:\n    case DoubleQuotedHereDocumentVar:\n    case BacktickHereDocumentVar:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerPerl::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case POD:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Times New Roman\",11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Times New Roman\", 12);\n#else\n        f = QFont(\"Bitstream Charter\",10);\n#endif\n        break;\n\n    case Keyword:\n    case Operator:\n    case DoubleQuotedHereDocument:\n    case FormatIdentifier:\n    case RegexVar:\n    case SubstitutionVar:\n    case BackticksVar:\n    case DoubleQuotedHereDocumentVar:\n    case BacktickHereDocumentVar:\n    case QuotedStringQXVar:\n    case QuotedStringQRVar:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case QuotedStringQQ:\n    case PODVerbatim:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    case BacktickHereDocument:\n    case SubroutinePrototype:\n        f = QsciLexer::defaultFont(style);\n        f.setItalic(true);\n        break;\n\n    case DoubleQuotedStringVar:\n    case QuotedStringQQVar:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        f.setBold(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerPerl::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ \"\n            \"AUTOLOAD BEGIN CORE DESTROY END EQ GE GT INIT LE LT \"\n            \"NE CHECK abs accept alarm and atan2 bind binmode \"\n            \"bless caller chdir chmod chomp chop chown chr chroot \"\n            \"close closedir cmp connect continue cos crypt \"\n            \"dbmclose dbmopen defined delete die do dump each \"\n            \"else elsif endgrent endhostent endnetent endprotoent \"\n            \"endpwent endservent eof eq eval exec exists exit exp \"\n            \"fcntl fileno flock for foreach fork format formline \"\n            \"ge getc getgrent getgrgid getgrnam gethostbyaddr \"\n            \"gethostbyname gethostent getlogin getnetbyaddr \"\n            \"getnetbyname getnetent getpeername getpgrp getppid \"\n            \"getpriority getprotobyname getprotobynumber \"\n            \"getprotoent getpwent getpwnam getpwuid getservbyname \"\n            \"getservbyport getservent getsockname getsockopt glob \"\n            \"gmtime goto grep gt hex if index int ioctl join keys \"\n            \"kill last lc lcfirst le length link listen local \"\n            \"localtime lock log lstat lt m map mkdir msgctl \"\n            \"msgget msgrcv msgsnd my ne next no not oct open \"\n            \"opendir or ord our pack package pipe pop pos print \"\n            \"printf prototype push q qq qr quotemeta qu qw qx \"\n            \"rand read readdir readline readlink readpipe recv \"\n            \"redo ref rename require reset return reverse \"\n            \"rewinddir rindex rmdir s scalar seek seekdir select \"\n            \"semctl semget semop send setgrent sethostent \"\n            \"setnetent setpgrp setpriority setprotoent setpwent \"\n            \"setservent setsockopt shift shmctl shmget shmread \"\n            \"shmwrite shutdown sin sleep socket socketpair sort \"\n            \"splice split sprintf sqrt srand stat study sub \"\n            \"substr symlink syscall sysopen sysread sysseek \"\n            \"system syswrite tell telldir tie tied time times tr \"\n            \"truncate uc ucfirst umask undef unless unlink unpack \"\n            \"unshift untie until use utime values vec wait \"\n            \"waitpid wantarray warn while write x xor y\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerPerl::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Error:\n        return tr(\"Error\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case POD:\n        return tr(\"POD\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Scalar:\n        return tr(\"Scalar\");\n\n    case Array:\n        return tr(\"Array\");\n\n    case Hash:\n        return tr(\"Hash\");\n\n    case SymbolTable:\n        return tr(\"Symbol table\");\n\n    case Regex:\n        return tr(\"Regular expression\");\n\n    case Substitution:\n        return tr(\"Substitution\");\n\n    case Backticks:\n        return tr(\"Backticks\");\n\n    case DataSection:\n        return tr(\"Data section\");\n\n    case HereDocumentDelimiter:\n        return tr(\"Here document delimiter\");\n\n    case SingleQuotedHereDocument:\n        return tr(\"Single-quoted here document\");\n\n    case DoubleQuotedHereDocument:\n        return tr(\"Double-quoted here document\");\n\n    case BacktickHereDocument:\n        return tr(\"Backtick here document\");\n\n    case QuotedStringQ:\n        return tr(\"Quoted string (q)\");\n\n    case QuotedStringQQ:\n        return tr(\"Quoted string (qq)\");\n\n    case QuotedStringQX:\n        return tr(\"Quoted string (qx)\");\n\n    case QuotedStringQR:\n        return tr(\"Quoted string (qr)\");\n\n    case QuotedStringQW:\n        return tr(\"Quoted string (qw)\");\n\n    case PODVerbatim:\n        return tr(\"POD verbatim\");\n\n    case SubroutinePrototype:\n        return tr(\"Subroutine prototype\");\n\n    case FormatIdentifier:\n        return tr(\"Format identifier\");\n\n    case FormatBody:\n        return tr(\"Format body\");\n\n    case DoubleQuotedStringVar:\n        return tr(\"Double-quoted string (interpolated variable)\");\n\n    case Translation:\n        return tr(\"Translation\");\n\n    case RegexVar:\n        return tr(\"Regular expression (interpolated variable)\");\n\n    case SubstitutionVar:\n        return tr(\"Substitution (interpolated variable)\");\n\n    case BackticksVar:\n        return tr(\"Backticks (interpolated variable)\");\n\n    case DoubleQuotedHereDocumentVar:\n        return tr(\"Double-quoted here document (interpolated variable)\");\n\n    case BacktickHereDocumentVar:\n        return tr(\"Backtick here document (interpolated variable)\");\n\n    case QuotedStringQQVar:\n        return tr(\"Quoted string (qq, interpolated variable)\");\n\n    case QuotedStringQXVar:\n        return tr(\"Quoted string (qx, interpolated variable)\");\n\n    case QuotedStringQRVar:\n        return tr(\"Quoted string (qr, interpolated variable)\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerPerl::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case Error:\n        return QColor(0xff,0x00,0x00);\n\n    case POD:\n        return QColor(0xe0,0xff,0xe0);\n\n    case Scalar:\n        return QColor(0xff,0xe0,0xe0);\n\n    case Array:\n        return QColor(0xff,0xff,0xe0);\n\n    case Hash:\n        return QColor(0xff,0xe0,0xff);\n\n    case SymbolTable:\n        return QColor(0xe0,0xe0,0xe0);\n\n    case Regex:\n        return QColor(0xa0,0xff,0xa0);\n\n    case Substitution:\n    case Translation:\n        return QColor(0xf0,0xe0,0x80);\n\n    case Backticks:\n    case BackticksVar:\n    case QuotedStringQXVar:\n        return QColor(0xa0,0x80,0x80);\n\n    case DataSection:\n        return QColor(0xff,0xf0,0xd8);\n\n    case HereDocumentDelimiter:\n    case SingleQuotedHereDocument:\n    case DoubleQuotedHereDocument:\n    case BacktickHereDocument:\n    case DoubleQuotedHereDocumentVar:\n    case BacktickHereDocumentVar:\n        return QColor(0xdd,0xd0,0xdd);\n\n    case PODVerbatim:\n        return QColor(0xc0,0xff,0xc0);\n\n    case FormatBody:\n        return QColor(0xff,0xf0,0xff);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerPerl::refreshProperties()\n{\n    setAtElseProp();\n    setCommentProp();\n    setCompactProp();\n    setPackagesProp();\n    setPODBlocksProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerPerl::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_atelse = qs.value(prefix + \"foldatelse\", false).toBool();\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_packages = qs.value(prefix + \"foldpackages\", true).toBool();\n    fold_pod_blocks = qs.value(prefix + \"foldpodblocks\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerPerl::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldpackages\", fold_packages);\n    qs.setValue(prefix + \"foldpodblocks\", fold_pod_blocks);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerPerl::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerPerl::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerPerl::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerPerl::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerPerl::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerPerl::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Return true if packages can be folded.\nbool QsciLexerPerl::foldPackages() const\n{\n    return fold_packages;\n}\n\n\n// Set if packages can be folded.\nvoid QsciLexerPerl::setFoldPackages(bool fold)\n{\n    fold_packages = fold;\n\n    setPackagesProp();\n}\n\n\n// Set the \"fold.perl.package\" property.\nvoid QsciLexerPerl::setPackagesProp()\n{\n    emit propertyChanged(\"fold.perl.package\",(fold_packages ? \"1\" : \"0\"));\n}\n\n\n// Return true if POD blocks can be folded.\nbool QsciLexerPerl::foldPODBlocks() const\n{\n    return fold_pod_blocks;\n}\n\n\n// Set if POD blocks can be folded.\nvoid QsciLexerPerl::setFoldPODBlocks(bool fold)\n{\n    fold_pod_blocks = fold;\n\n    setPODBlocksProp();\n}\n\n\n// Set the \"fold.perl.pod\" property.\nvoid QsciLexerPerl::setPODBlocksProp()\n{\n    emit propertyChanged(\"fold.perl.pod\",(fold_pod_blocks ? \"1\" : \"0\"));\n}\n\n\n// Set if else can be folded.\nvoid QsciLexerPerl::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.perl.at.else\" property.\nvoid QsciLexerPerl::setAtElseProp()\n{\n    emit propertyChanged(\"fold.perl.at.else\",(fold_atelse ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerpo.cpp",
    "content": "// This module implements the QsciLexerPO class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerpo.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerPO::QsciLexerPO(QObject *parent)\n    : QsciLexer(parent), fold_comments(false), fold_compact(true)\n{\n}\n\n\n// The dtor.\nQsciLexerPO::~QsciLexerPO()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerPO::language() const\n{\n    return \"PO\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerPO::lexer() const\n{\n    return \"po\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerPO::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Comment:\n        return QColor(0x00, 0x7f, 0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerPO::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Comic Sans MS\", 9);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Georgia\", 13);\n#else\n        f = QFont(\"Bitstream Vera Serif\", 9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerPO::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case MessageId:\n        return tr(\"Message identifier\");\n\n    case MessageIdText:\n        return tr(\"Message identifier text\");\n\n    case MessageString:\n        return tr(\"Message string\");\n\n    case MessageStringText:\n        return tr(\"Message string text\");\n\n    case MessageContext:\n        return tr(\"Message context\");\n\n    case MessageContextText:\n        return tr(\"Message context text\");\n\n    case Fuzzy:\n        return tr(\"Fuzzy flag\");\n\n    case ProgrammerComment:\n        return tr(\"Programmer comment\");\n\n    case Reference:\n        return tr(\"Reference\");\n\n    case Flags:\n        return tr(\"Flags\");\n\n    case MessageIdTextEOL:\n        return tr(\"Message identifier text end-of-line\");\n\n    case MessageStringTextEOL:\n        return tr(\"Message string text end-of-line\");\n\n    case MessageContextTextEOL:\n        return tr(\"Message context text end-of-line\");\n    }\n\n    return QString();\n}\n\n\n// Refresh all properties.\nvoid QsciLexerPO::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerPO::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerPO::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerPO::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerPO::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerPO::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerPO::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerPO::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerPO::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerpostscript.cpp",
    "content": "﻿// This module implements the QsciLexerPostScript class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerpostscript.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerPostScript::QsciLexerPostScript(QObject *parent)\n    : QsciLexer(parent),\n      ps_tokenize(false), ps_level(3), fold_compact(true), fold_atelse(false)\n{\n}\n\n\n// The dtor.\nQsciLexerPostScript::~QsciLexerPostScript()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerPostScript::language() const\n{\n    return \"PostScript\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerPostScript::lexer() const\n{\n    return \"postscript\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerPostScript::braceStyle() const\n{\n    return ProcedureParenthesis;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerPostScript::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case DSCComment:\n        return QColor(0x3f,0x70,0x3f);\n\n    case DSCCommentValue:\n    case DictionaryParenthesis:\n        return QColor(0x30,0x60,0xa0);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Name:\n    case ProcedureParenthesis:\n        return QColor(0x00,0x00,0x00);\n\n    case Keyword:\n    case ArrayParenthesis:\n        return QColor(0x80, 0x00, 0xff);\n\n    case Literal:\n    case ImmediateEvalLiteral:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Text:\n    case Base85String:\n        return QColor(0x7f,0x00,0x7f);\n\n    case HexString:\n        return QColor(0x3f,0x7f,0x3f);\n\n    case BadStringCharacter:\n        return QColor(0xff,0xff,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerPostScript::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case DSCComment:\n    case DSCCommentValue:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case ProcedureParenthesis:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n\n    case Text:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Times New Roman\", 11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Times New Roman\", 12);\n#else\n        f = QFont(\"Bitstream Charter\", 10);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerPostScript::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"$error = == FontDirectory StandardEncoding UserObjects abs add \"\n            \"aload anchorsearch and arc arcn arcto array ashow astore atan \"\n            \"awidthshow begin bind bitshift bytesavailable cachestatus \"\n            \"ceiling charpath clear cleardictstack cleartomark clip clippath \"\n            \"closefile closepath concat concatmatrix copy copypage cos count \"\n            \"countdictstack countexecstack counttomark currentcmykcolor \"\n            \"currentcolorspace currentdash currentdict currentfile \"\n            \"currentflat currentfont currentgray currenthsbcolor \"\n            \"currentlinecap currentlinejoin currentlinewidth currentmatrix \"\n            \"currentmiterlimit currentpagedevice currentpoint currentrgbcolor \"\n            \"currentscreen currenttransfer cvi cvlit cvn cvr cvrs cvs cvx def \"\n            \"defaultmatrix definefont dict dictstack div dtransform dup echo \"\n            \"end eoclip eofill eq erasepage errordict exch exec execstack \"\n            \"executeonly executive exit exp false file fill findfont \"\n            \"flattenpath floor flush flushfile for forall ge get getinterval \"\n            \"grestore grestoreall gsave gt idetmatrix idiv idtransform if \"\n            \"ifelse image imagemask index initclip initgraphics initmatrix \"\n            \"inustroke invertmatrix itransform known kshow le length lineto \"\n            \"ln load log loop lt makefont mark matrix maxlength mod moveto \"\n            \"mul ne neg newpath noaccess nor not null nulldevice or pathbbox \"\n            \"pathforall pop print prompt pstack put putinterval quit rand \"\n            \"rcheck rcurveto read readhexstring readline readonly readstring \"\n            \"rectstroke repeat resetfile restore reversepath rlineto rmoveto \"\n            \"roll rotate round rrand run save scale scalefont search \"\n            \"setblackgeneration setcachedevice setcachelimit setcharwidth \"\n            \"setcolorscreen setcolortransfer setdash setflat setfont setgray \"\n            \"sethsbcolor setlinecap setlinejoin setlinewidth setmatrix \"\n            \"setmiterlimit setpagedevice setrgbcolor setscreen settransfer \"\n            \"setvmthreshold show showpage sin sqrt srand stack start status \"\n            \"statusdict stop stopped store string stringwidth stroke \"\n            \"strokepath sub systemdict token token transform translate true \"\n            \"truncate type ueofill undefineresource userdict usertime version \"\n            \"vmstatus wcheck where widthshow write writehexstring writestring \"\n            \"xcheck xor\";\n\n    if (set == 2)\n        return\n            \"GlobalFontDirectory ISOLatin1Encoding SharedFontDirectory \"\n            \"UserObject arct colorimage cshow currentblackgeneration \"\n            \"currentcacheparams currentcmykcolor currentcolor \"\n            \"currentcolorrendering currentcolorscreen currentcolorspace \"\n            \"currentcolortransfer currentdevparams currentglobal \"\n            \"currentgstate currenthalftone currentobjectformat \"\n            \"currentoverprint currentpacking currentpagedevice currentshared \"\n            \"currentstrokeadjust currentsystemparams currentundercolorremoval \"\n            \"currentuserparams defineresource defineuserobject deletefile \"\n            \"execform execuserobject filenameforall fileposition filter \"\n            \"findencoding findresource gcheck globaldict glyphshow gstate \"\n            \"ineofill infill instroke inueofill inufill inustroke \"\n            \"languagelevel makepattern packedarray printobject product \"\n            \"realtime rectclip rectfill rectstroke renamefile resourceforall \"\n            \"resourcestatus revision rootfont scheck selectfont serialnumber \"\n            \"setbbox setblackgeneration setcachedevice2 setcacheparams \"\n            \"setcmykcolor setcolor setcolorrendering setcolorscreen \"\n            \"setcolorspace setcolortranfer setdevparams setfileposition \"\n            \"setglobal setgstate sethalftone setobjectformat setoverprint \"\n            \"setpacking setpagedevice setpattern setshared setstrokeadjust \"\n            \"setsystemparams setucacheparams setundercolorremoval \"\n            \"setuserparams setvmthreshold shareddict startjob uappend ucache \"\n            \"ucachestatus ueofill ufill undef undefinefont undefineresource \"\n            \"undefineuserobject upath ustroke ustrokepath vmreclaim \"\n            \"writeobject xshow xyshow yshow\";\n\n    if (set == 3)\n        return\n            \"cliprestore clipsave composefont currentsmoothness \"\n            \"findcolorrendering setsmoothness shfill\";\n\n    if (set == 4)\n        return\n            \".begintransparencygroup .begintransparencymask .bytestring \"\n            \".charboxpath .currentaccuratecurves .currentblendmode \"\n            \".currentcurvejoin .currentdashadapt .currentdotlength \"\n            \".currentfilladjust2 .currentlimitclamp .currentopacityalpha \"\n            \".currentoverprintmode .currentrasterop .currentshapealpha \"\n            \".currentsourcetransparent .currenttextknockout \"\n            \".currenttexturetransparent .dashpath .dicttomark \"\n            \".discardtransparencygroup .discardtransparencymask \"\n            \".endtransparencygroup .endtransparencymask .execn .filename \"\n            \".filename .fileposition .forceput .forceundef .forgetsave \"\n            \".getbitsrect .getdevice .inittransparencymask .knownget \"\n            \".locksafe .makeoperator .namestring .oserrno .oserrorstring \"\n            \".peekstring .rectappend .runandhide .setaccuratecurves \"\n            \".setblendmode .setcurvejoin .setdashadapt .setdebug \"\n            \".setdefaultmatrix .setdotlength .setfilladjust2 .setlimitclamp \"\n            \".setmaxlength .setopacityalpha .setoverprintmode .setrasterop \"\n            \".setsafe .setshapealpha .setsourcetransparent .settextknockout \"\n            \".settexturetransparent .stringbreak .stringmatch .tempfile \"\n            \".type1decrypt .type1encrypt .type1execchar .unread arccos \"\n            \"arcsin copydevice copyscanlines currentdevice finddevice \"\n            \"findlibfile findprotodevice flushpage getdeviceprops getenv \"\n            \"makeimagedevice makewordimagedevice max min putdeviceprops \"\n            \"setdevice\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerPostScript::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case DSCComment:\n        return tr(\"DSC comment\");\n\n    case DSCCommentValue:\n        return tr(\"DSC comment value\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Name:\n        return tr(\"Name\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case Literal:\n        return tr(\"Literal\");\n\n    case ImmediateEvalLiteral:\n        return tr(\"Immediately evaluated literal\");\n\n    case ArrayParenthesis:\n        return tr(\"Array parenthesis\");\n\n    case DictionaryParenthesis:\n        return tr(\"Dictionary parenthesis\");\n\n    case ProcedureParenthesis:\n        return tr(\"Procedure parenthesis\");\n\n    case Text:\n        return tr(\"Text\");\n\n    case HexString:\n        return tr(\"Hexadecimal string\");\n\n    case Base85String:\n        return tr(\"Base85 string\");\n\n    case BadStringCharacter:\n        return tr(\"Bad string character\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerPostScript::defaultPaper(int style) const\n{\n    if (style == BadStringCharacter)\n        return QColor(0xff,0x00,0x00);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerPostScript::refreshProperties()\n{\n    setTokenizeProp();\n    setLevelProp();\n    setCompactProp();\n    setAtElseProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerPostScript::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    ps_tokenize = qs.value(prefix + \"pstokenize\", false).toBool();\n    ps_level = qs.value(prefix + \"pslevel\", 3).toInt();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_atelse = qs.value(prefix + \"foldatelse\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerPostScript::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"pstokenize\", ps_tokenize);\n    qs.setValue(prefix + \"pslevel\", ps_level);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n\n    return rc;\n}\n\n\n// Return true if tokens are marked.\nbool QsciLexerPostScript::tokenize() const\n{\n    return ps_tokenize;\n}\n\n\n// Set if tokens are marked.\nvoid QsciLexerPostScript::setTokenize(bool tokenize)\n{\n    ps_tokenize = tokenize;\n\n    setTokenizeProp();\n}\n\n\n// Set the \"ps.tokenize\" property.\nvoid QsciLexerPostScript::setTokenizeProp()\n{\n    emit propertyChanged(\"ps.tokenize\",(ps_tokenize ? \"1\" : \"0\"));\n}\n\n\n// Return the PostScript level.\nint QsciLexerPostScript::level() const\n{\n    return ps_level;\n}\n\n\n// Set the PostScript level.\nvoid QsciLexerPostScript::setLevel(int level)\n{\n    ps_level = level;\n\n    setLevelProp();\n}\n\n\n// Set the \"ps.level\" property.\nvoid QsciLexerPostScript::setLevelProp()\n{\n    emit propertyChanged(\"ps.level\", QByteArray::number(ps_level));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerPostScript::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerPostScript::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerPostScript::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Return true if else blocks can be folded.\nbool QsciLexerPostScript::foldAtElse() const\n{\n    return fold_atelse;\n}\n\n\n// Set if else blocks can be folded.\nvoid QsciLexerPostScript::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.at.else\" property.\nvoid QsciLexerPostScript::setAtElseProp()\n{\n    emit propertyChanged(\"fold.at.else\",(fold_atelse ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerpov.cpp",
    "content": "﻿// This module implements the QsciLexerPOV class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerpov.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerPOV::QsciLexerPOV(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true), fold_directives(false) \n{\n}\n\n\n// The dtor.\nQsciLexerPOV::~QsciLexerPOV()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerPOV::language() const\n{\n    return \"POV\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerPOV::lexer() const\n{\n    return \"pov\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerPOV::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerPOV::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_#\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerPOV::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0xff,0x00,0x80);\n\n    case Comment:\n    case CommentLine:\n        return QColor(0x00,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case String:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Directive:\n        return QColor(0x7f,0x7f,0x00);\n\n    case BadDirective:\n        return QColor(0x80,0x40,0x20);\n\n    case ObjectsCSGAppearance:\n    case TypesModifiersItems:\n    case PredefinedIdentifiers:\n    case PredefinedFunctions:\n    case KeywordSet6:\n    case KeywordSet7:\n    case KeywordSet8:\n        return QColor(0x80, 0x00, 0xff);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerPOV::defaultEolFill(int style) const\n{\n    if (style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerPOV::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case UnclosedString:\n    case PredefinedIdentifiers:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case BadDirective:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Comic Sans MS\",9);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        f.setItalic(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerPOV::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"declare local include undef fopen fclose read write \"\n            \"default version case range break debug error \"\n            \"warning if ifdef ifndef switch while macro else end\";\n\n    if (set == 2)\n        return\n            \"camera light_source light_group object blob sphere \"\n            \"cylinder box cone height_field julia_fractal lathe \"\n            \"prism sphere_sweep superellipsoid sor text torus \"\n            \"bicubic_patch disc mesh mesh2 polygon triangle \"\n            \"smooth_triangle plane poly cubic quartic quadric \"\n            \"isosurface parametric union intersection difference \"\n            \"merge function array spline vertex_vectors \"\n            \"normal_vectors uv_vectors face_indices \"\n            \"normal_indices uv_indices texture texture_list \"\n            \"interior_texture texture_map material_map image_map \"\n            \"color_map colour_map pigment_map normal_map \"\n            \"slope_map bump_map density_map pigment normal \"\n            \"material interior finish reflection irid slope \"\n            \"pigment_pattern image_pattern warp media scattering \"\n            \"density background fog sky_sphere rainbow \"\n            \"global_settings radiosity photons pattern transform \"\n            \"looks_like projected_through contained_by \"\n            \"clipped_by bounded_by\";\n\n    if (set == 3)\n        return\n            \"linear_spline quadratic_spline cubic_spline \"\n            \"natural_spline bezier_spline b_spline read write \"\n            \"append inverse open perspective orthographic \"\n            \"fisheye ultra_wide_angle omnimax panoramic \"\n            \"spherical spotlight jitter circular orient \"\n            \"media_attenuation media_interaction shadowless \"\n            \"parallel refraction collect pass_through \"\n            \"global_lights hierarchy sturm smooth gif tga iff \"\n            \"pot png pgm ppm jpeg tiff sys ttf quaternion \"\n            \"hypercomplex linear_sweep conic_sweep type \"\n            \"all_intersections split_union cutaway_textures \"\n            \"no_shadow no_image no_reflection double_illuminate \"\n            \"hollow uv_mapping all use_index use_color \"\n            \"use_colour no_bump_scale conserve_energy fresnel \"\n            \"average agate boxed bozo bumps cells crackle \"\n            \"cylindrical density_file dents facets granite \"\n            \"leopard marble onion planar quilted radial ripples \"\n            \"spotted waves wood wrinkles solid use_alpha \"\n            \"interpolate magnet noise_generator toroidal \"\n            \"ramp_wave triangle_wave sine_wave scallop_wave \"\n            \"cubic_wave poly_wave once map_type method fog_type \"\n            \"hf_gray_16 charset ascii utf8 rotate scale \"\n            \"translate matrix location right up direction sky \"\n            \"angle look_at aperture blur_samples focal_point \"\n            \"confidence variance radius falloff tightness \"\n            \"point_at area_light adaptive fade_distance \"\n            \"fade_power threshold strength water_level tolerance \"\n            \"max_iteration precision slice u_steps v_steps \"\n            \"flatness inside_vector accuracy max_gradient \"\n            \"evaluate max_trace precompute target ior dispersion \"\n            \"dispersion_samples caustics color colour rgb rgbf \"\n            \"rgbt rgbft red green blue filter transmit gray hf \"\n            \"fade_color fade_colour quick_color quick_colour \"\n            \"brick checker hexagon brick_size mortar bump_size \"\n            \"ambient diffuse brilliance crand phong phong_size \"\n            \"metallic specular roughness reflection_exponent \"\n            \"exponent thickness gradient spiral1 spiral2 \"\n            \"agate_turb form metric offset df3 coords size \"\n            \"mandel exterior julia control0 control1 altitude \"\n            \"turbulence octaves omega lambda repeat flip \"\n            \"black-hole orientation dist_exp major_radius \"\n            \"frequency phase intervals samples ratio absorption \"\n            \"emission aa_threshold aa_level eccentricity \"\n            \"extinction distance turb_depth fog_offset fog_alt \"\n            \"width arc_angle falloff_angle adc_bailout \"\n            \"ambient_light assumed_gamma irid_wavelength \"\n            \"number_of_waves always_sample brigthness count \"\n            \"error_bound gray_threshold load_file \"\n            \"low_error_factor max_sample minimum_reuse \"\n            \"nearest_count pretrace_end pretrace_start \"\n            \"recursion_limit save_file spacing gather \"\n            \"max_trace_level autostop expand_thresholds\";\n\n    if (set == 4)\n        return\n            \"x y z t u v yes no true false on off clock \"\n            \"clock_delta clock_on final_clock final_frame \"\n            \"frame_number image_height image_width initial_clock \"\n            \"initial_frame pi version\";\n\n    if (set == 5)\n        return\n            \"abs acos acosh asc asin asinh atan atanh atan2 ceil \"\n            \"cos cosh defined degrees dimensions dimension_size \"\n            \"div exp file_exists floor inside int ln log max min \"\n            \"mod pow prod radians rand seed select sin sinh sqrt \"\n            \"strcmp strlen sum tan tanh val vdot vlength \"\n            \"min_extent max_extent trace vaxis_rotate vcross \"\n            \"vrotate vnormalize vturbulence chr concat str \"\n            \"strlwr strupr substr vstr sqr cube reciprocal pwr\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerPOV::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case CommentLine:\n        return tr(\"Comment line\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case String:\n        return tr(\"String\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case Directive:\n        return tr(\"Directive\");\n\n    case BadDirective:\n        return tr(\"Bad directive\");\n\n    case ObjectsCSGAppearance:\n        return tr(\"Objects, CSG and appearance\");\n\n    case TypesModifiersItems:\n        return tr(\"Types, modifiers and items\");\n\n    case PredefinedIdentifiers:\n        return tr(\"Predefined identifiers\");\n\n    case PredefinedFunctions:\n        return tr(\"Predefined functions\");\n\n    case KeywordSet6:\n        return tr(\"User defined 1\");\n\n    case KeywordSet7:\n        return tr(\"User defined 2\");\n\n    case KeywordSet8:\n        return tr(\"User defined 3\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerPOV::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case UnclosedString:\n        return QColor(0xe0,0xc0,0xe0);\n\n    case ObjectsCSGAppearance:\n        return QColor(0xff,0xd0,0xd0);\n\n    case TypesModifiersItems:\n        return QColor(0xff,0xff,0xd0);\n\n    case PredefinedFunctions:\n        return QColor(0xd0,0xd0,0xff);\n\n    case KeywordSet6:\n        return QColor(0xd0,0xff,0xd0);\n\n    case KeywordSet7:\n        return QColor(0xd0,0xd0,0xd0);\n\n    case KeywordSet8:\n        return QColor(0xe0,0xe0,0xe0);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerPOV::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setDirectiveProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerPOV::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_directives = qs.value(prefix + \"folddirectives\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerPOV::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"folddirectives\", fold_directives);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerPOV::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerPOV::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerPOV::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerPOV::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerPOV::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerPOV::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Return true if directives can be folded.\nbool QsciLexerPOV::foldDirectives() const\n{\n    return fold_directives;\n}\n\n\n// Set if directives can be folded.\nvoid QsciLexerPOV::setFoldDirectives(bool fold)\n{\n    fold_directives = fold;\n\n    setDirectiveProp();\n}\n\n\n// Set the \"fold.directive\" property.\nvoid QsciLexerPOV::setDirectiveProp()\n{\n    emit propertyChanged(\"fold.directive\",(fold_directives ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerproperties.cpp",
    "content": "﻿// This module implements the QsciLexerProperties class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerproperties.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerProperties::QsciLexerProperties(QObject *parent)\n    : QsciLexer(parent), fold_compact(true), initial_spaces(true)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerProperties::~QsciLexerProperties()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerProperties::language() const\n{\n    return \"Properties\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerProperties::lexer() const\n{\n    return \"props\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerProperties::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerProperties::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Comment:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Section:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Assignment:\n        return QColor(0xb0,0x60,0x00);\n\n    case DefaultValue:\n        return QColor(0x7f,0x7f,0x00);\n\n\tcase Key:\n\t\treturn QColor(0x0, 0x0, 0xff);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerProperties::defaultEolFill(int style) const\n{\n    if (style == Section)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerProperties::defaultFont(int style) const\n{\n    QFont f;\n\n    if (style == Comment)\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n    else\n        f = QsciLexer::defaultFont(style);\n\n    return f;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerProperties::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Section:\n        return tr(\"Section\");\n\n    case Assignment:\n        return tr(\"Assignment\");\n\n    case DefaultValue:\n        return tr(\"Default value\");\n\n    case Key:\n        return tr(\"Key\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerProperties::defaultPaper(int style) const\n{\n    if (style == Section)\n        return QColor(0xe0,0xf0,0xf0);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerProperties::refreshProperties()\n{\n    setCompactProp();\n    setInitialSpacesProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerProperties::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    initial_spaces = qs.value(prefix + \"initialspaces\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerProperties::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"initialspaces\", initial_spaces);\n\n    return rc;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerProperties::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerProperties::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if initial spaces are allowed.\nvoid QsciLexerProperties::setInitialSpaces(bool enable)\n{\n    initial_spaces = enable;\n\n    setInitialSpacesProp();\n}\n\n\n// Set the \"lexer.props.allow.initial.spaces\" property.\nvoid QsciLexerProperties::setInitialSpacesProp()\n{\n    emit propertyChanged(\"lexer.props.allow.initial.spaces\", (fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerpython.cpp",
    "content": "﻿// This module implements the QsciLexerPython class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerpython.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The list of Python keywords that can be used by other friendly lexers.\nconst char *QsciLexerPython::keywordClass =\n    \"and as assert break class continue def del elif else except exec \"\n    \"False finally for from global if import in is lambda None not or pass \"\n    \"print raise return try True while with yield\";\n\n\n// The ctor.\nQsciLexerPython::QsciLexerPython(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true), fold_quotes(false),\n      indent_warn(NoWarning), strings_over_newline(false), v2_unicode(true),\n      v3_binary_octal(true), v3_bytes(true), highlight_subids(true)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerPython::~QsciLexerPython()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerPython::language() const\n{\n    return \"Python\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerPython::lexer() const\n{\n    return \"python\";\n}\n\n\n// Return the view used for indentation guides.\nint QsciLexerPython::indentationGuideView() const\n{\n    return QsciScintillaBase::SC_IV_LOOKFORWARD;\n}\n\n\n// Return the set of character sequences that can separate auto-completion\n// words.\nQStringList QsciLexerPython::autoCompletionWordSeparators() const\n{\n    QStringList wl;\n\n    wl << \".\";\n\n    return wl;\n}\n\n// Return the list of characters that can start a block.\nconst char *QsciLexerPython::blockStart(int *style) const\n{\n    if (style)\n        *style = Operator;\n\n    return \":\";\n}\n\n\n// Return the number of lines to look back when auto-indenting.\nint QsciLexerPython::blockLookback() const\n{\n    // This must be 0 otherwise de-indenting a Python block gets very\n    // difficult.\n    return 0;\n}\n\n\n// Return the style used for braces.\nint QsciLexerPython::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerPython::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case DoubleQuotedFString:\n    case SingleQuotedFString:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Keyword:\n        return QColor(0x00, 0x00, 0xff);\n\n    case TripleSingleQuotedString:\n    case TripleDoubleQuotedString:\n    case TripleSingleQuotedFString:\n    case TripleDoubleQuotedFString:\n        return QColor(0x7f,0x00,0x00);\n\n    case ClassName:\n        return QColor(0x00,0x00,0xff);\n\n    case FunctionMethodName:\n        return QColor(0x80, 0x00, 0xff);\n\n    case Operator:\n    case Identifier:\n        break;\n\n    case CommentBlock:\n        return QColor(0x7f,0x7f,0x7f);\n\n    case UnclosedString:\n        return QColor(0x00,0x00,0x00);\n\n    case HighlightedIdentifier:\n        return QColor(0x40,0x70,0x90);\n\n    case Decorator:\n        return QColor(0x80,0x50,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerPython::defaultEolFill(int style) const\n{\n    if (style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerPython::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case DoubleQuotedFString:\n    case SingleQuotedFString:\n    case UnclosedString:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    case Keyword:\n\t\tf = QsciLexer::defaultFont(style);\n\t\tf.setBold(true);\n\t\tbreak;\n    case ClassName:\n    case FunctionMethodName:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerPython::keywords(int set)\n{\n    if (set != 1)\n        return 0;\n\n    return keywordClass;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerPython::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case TripleSingleQuotedString:\n        return tr(\"Triple single-quoted string\");\n\n    case TripleDoubleQuotedString:\n        return tr(\"Triple double-quoted string\");\n\n    case ClassName:\n        return tr(\"Class name\");\n\n    case FunctionMethodName:\n        return tr(\"Function or method name\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case CommentBlock:\n        return tr(\"Comment block\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case HighlightedIdentifier:\n        return tr(\"Highlighted identifier\");\n\n    case Decorator:\n        return tr(\"Decorator\");\n\n    case DoubleQuotedFString:\n        return tr(\"Double-quoted f-string\");\n\n    case SingleQuotedFString:\n        return tr(\"Single-quoted f-string\");\n\n    case TripleSingleQuotedFString:\n        return tr(\"Triple single-quoted f-string\");\n\n    case TripleDoubleQuotedFString:\n        return tr(\"Triple double-quoted f-string\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerPython::defaultPaper(int style) const\n{\n    if (style == UnclosedString)\n        return QColor(0xe0,0xc0,0xe0);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerPython::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setQuotesProp();\n    setTabWhingeProp();\n    setStringsOverNewlineProp();\n    setV2UnicodeProp();\n    setV3BinaryOctalProp();\n    setV3BytesProp();\n    setHighlightSubidsProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerPython::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_quotes = qs.value(prefix + \"foldquotes\", false).toBool();\n    indent_warn = (IndentationWarning)qs.value(prefix + \"indentwarning\", (int)NoWarning).toInt();\n    strings_over_newline = qs.value(prefix + \"stringsovernewline\", false).toBool();\n    v2_unicode = qs.value(prefix + \"v2unicode\", true).toBool();\n    v3_binary_octal = qs.value(prefix + \"v3binaryoctal\", true).toBool();\n    v3_bytes = qs.value(prefix + \"v3bytes\", true).toBool();\n    highlight_subids = qs.value(prefix + \"highlightsubids\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerPython::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldquotes\", fold_quotes);\n    qs.setValue(prefix + \"indentwarning\", (int)indent_warn);\n    qs.setValue(prefix + \"stringsovernewline\", strings_over_newline);\n    qs.setValue(prefix + \"v2unicode\", v2_unicode);\n    qs.setValue(prefix + \"v3binaryoctal\", v3_binary_octal);\n    qs.setValue(prefix + \"v3bytes\", v3_bytes);\n    qs.setValue(prefix + \"highlightsubids\", highlight_subids);\n\n    return rc;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerPython::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment.python\" property.\nvoid QsciLexerPython::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment.python\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact.\nvoid QsciLexerPython::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerPython::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if quotes can be folded.\nvoid QsciLexerPython::setFoldQuotes(bool fold)\n{\n    fold_quotes = fold;\n\n    setQuotesProp();\n}\n\n\n// Set the \"fold.quotes.python\" property.\nvoid QsciLexerPython::setQuotesProp()\n{\n    emit propertyChanged(\"fold.quotes.python\",(fold_quotes ? \"1\" : \"0\"));\n}\n\n\n// Set the indentation warning.\nvoid QsciLexerPython::setIndentationWarning(QsciLexerPython::IndentationWarning warn)\n{\n    indent_warn = warn;\n\n    setTabWhingeProp();\n}\n\n\n// Set the \"tab.timmy.whinge.level\" property.\nvoid QsciLexerPython::setTabWhingeProp()\n{\n    emit propertyChanged(\"tab.timmy.whinge.level\", QByteArray::number(indent_warn));\n}\n\n\n// Set if string literals can span newlines.\nvoid QsciLexerPython::setStringsOverNewlineAllowed(bool allowed)\n{\n    strings_over_newline = allowed;\n\n    setStringsOverNewlineProp();\n}\n\n\n// Set the \"lexer.python.strings.u\" property.\nvoid QsciLexerPython::setStringsOverNewlineProp()\n{\n    emit propertyChanged(\"lexer.python.strings.over.newline\", (strings_over_newline ? \"1\" : \"0\"));\n}\n\n\n// Set if v2 unicode string literals are allowed.\nvoid QsciLexerPython::setV2UnicodeAllowed(bool allowed)\n{\n    v2_unicode = allowed;\n\n    setV2UnicodeProp();\n}\n\n\n// Set the \"lexer.python.strings.u\" property.\nvoid QsciLexerPython::setV2UnicodeProp()\n{\n    emit propertyChanged(\"lexer.python.strings.u\", (v2_unicode ? \"1\" : \"0\"));\n}\n\n\n// Set if v3 binary and octal literals are allowed.\nvoid QsciLexerPython::setV3BinaryOctalAllowed(bool allowed)\n{\n    v3_binary_octal = allowed;\n\n    setV3BinaryOctalProp();\n}\n\n\n// Set the \"lexer.python.literals.binary\" property.\nvoid QsciLexerPython::setV3BinaryOctalProp()\n{\n    emit propertyChanged(\"lexer.python.literals.binary\", (v3_binary_octal ? \"1\" : \"0\"));\n}\n\n\n// Set if v3 bytes string literals are allowed.\nvoid QsciLexerPython::setV3BytesAllowed(bool allowed)\n{\n    v3_bytes = allowed;\n\n    setV3BytesProp();\n}\n\n\n// Set the \"lexer.python.strings.b\" property.\nvoid QsciLexerPython::setV3BytesProp()\n{\n    emit propertyChanged(\"lexer.python.strings.b\",(v3_bytes ? \"1\" : \"0\"));\n}\n\n\n// Set if sub-identifiers are highlighted.\nvoid QsciLexerPython::setHighlightSubidentifiers(bool enabled)\n{\n    highlight_subids = enabled;\n\n    setHighlightSubidsProp();\n}\n\n\n// Set the \"lexer.python.keywords2.no.sub.identifiers\" property.\nvoid QsciLexerPython::setHighlightSubidsProp()\n{\n    emit propertyChanged(\"lexer.python.keywords2.no.sub.identifiers\",\n            (highlight_subids ? \"0\" : \"1\"));\n}\n\n// Return the lexer identifier.\nint QsciLexerPython::lexerId() const\n{\n\treturn L_PYTHON;\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerr.cpp",
    "content": "\n#include \"Qsci/qscilexerr.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerR::QsciLexerR(QObject* parent)\n    : QsciLexer(parent)\n{\n    m_commentSymbol = \"#\";\n    m_commentStart = \"\\\"\";\n    m_commentEnd = \"\\\"\";\n}\n\n\n// The dtor.\nQsciLexerR::~QsciLexerR()\n{\n}\n\n\n// Returns the language name.\nconst char* QsciLexerR::language() const\n{\n    return \"R\";\n}\n\n\n// Returns the lexer name.\nconst char* QsciLexerR::lexer() const\n{\n    return \"r\";\n}\n\n// Return the string of characters that comprise a word.\nconst char* QsciLexerR::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$@%&\";\n}\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerR::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case DEFAULT:\n        return QColor(0x80, 0x80, 0x80);\n\n    case KWORD:\n    case BASEKWORD:\n    case OTHERKWORD:\n        return QColor(0x00, 0x00, 0xff);\n\n    case COMMENT:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case NUMBER:\n        return QColor(0x00, 0x7f, 0x7f);\n\n    case IDENTIFIER:\n        return QColor(0x80, 0x00, 0xff);\n\n    case STRING:\n    case STRING2:\n        return QColor(0x7f, 0x00, 0x7f);\n\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerR::defaultEolFill(int style) const\n{\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerR::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case COMMENT:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", 11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\", 9);\n#endif\n        break;\n\n    case KWORD:\n    case BASEKWORD:\n    case OTHERKWORD:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case STRING:\n    case STRING2:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\", 9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char* QsciLexerR::keywords(int set)\n{\n    if (set == 1)\n    {\n        return \"if else repeat while function for in next break TRUE FALSE NULL NA Inf NaN\";\n    }\n    else if (set == 2)\n    {\n        return \"abbreviate abline abs acf acos acosh addmargins aggregate agrep alarm alias alist all anova any aov \"\n            \"aperm append apply approx approxfun apropos ar args arima array arrows asin asinh assign assocplot atan \"\n            \"atanh attach attr attributes autoload autoloader ave axis backsolve barplot basename beta bindtextdomain \"\n            \"binomial biplot bitmap bmp body box boxplot bquote break browser builtins bxp by bzfile c call cancor \"\n            \"capabilities casefold cat category cbind ccf ceiling character charmatch chartr chol choose chull citation \"\n           \"class close cm cmdscale codes coef coefficients col colnames colors colorspaces colours comment complex confint \" \n           \"conflicts contour contrasts contributors convolve cophenetic coplot cor cos cosh cov covratio cpgram crossprod \" \n           \"cummax cummin cumprod cumsum curve cut cutree cycle data dataentry date dbeta dbinom dcauchy dchisq de debug \" \n           \"debugger decompose delay deltat demo dendrapply density deparse deriv det detach determinant deviance dexp df \" \n           \"dfbeta dfbetas dffits dgamma dgeom dget dhyper diag diff diffinv difftime digamma dim dimnames dir dirname dist \" \n           \"dlnorm dlogis dmultinom dnbinom dnorm dotchart double dpois dput drop dsignrank dt dump dunif duplicated dweibull \" \n           \"dwilcox eapply ecdf edit effects eigen emacs embed end environment eval evalq example exists exp expression factanal \" \n           \"factor factorial family fft fifo file filter find fitted fivenum fix floor flush for force formals format formula \" \n           \"forwardsolve fourfoldplot frame frequency ftable function gamma gaussian gc gcinfo gctorture get getenv geterrmessage \"\n           \"gettext gettextf getwd gl glm globalenv gray grep grey grid gsub gzcon gzfile hat hatvalues hcl hclust head heatmap \" \n           \"help hist history hsv httpclient iconv iconvlist identical identify if ifelse image influence inherits integer \" \n           \"integrate interaction interactive intersect invisible isoreg jitter jpeg julian kappa kernapply kernel kmeans knots \" \n           \"kronecker ksmooth labels lag lapply layout lbeta lchoose lcm legend length letters levels lfactorial lgamma library \" \n           \"licence license line lines list lm load loadhistory loadings local locator loess log logb logical loglin lowess \" \n           \"ls lsfit machine mad mahalanobis makepredictcall manova mapply match matlines matplot matpoints matrix max mean median \" \n           \"medpolish menu merge message methods mget min missing mode monthplot months mosaicplot mtext mvfft names napredict \"\n           \"naprint naresid nargs nchar ncol next nextn ngettext nlevels nlm nls noquote nrow numeric objects offset open optim \"\n           \"optimise optimize options order ordered outer pacf page pairlist pairs palette par parse paste pbeta pbinom pbirthday \"\n           \"pcauchy pchisq pdf pentagamma person persp pexp pf pgamma pgeom phyper pi pico pictex pie piechart pipe plclust plnorm \"\n           \"plogis plot pmatch pmax pmin pnbinom png pnorm points poisson poly polygon polym polyroot postscript power ppoints \"\n           \"ppois ppr prcomp predict preplot pretty princomp print prmatrix prod profile profiler proj promax prompt provide psigamma \"\n           \"psignrank pt ptukey punif pweibull pwilcox q qbeta qbinom qbirthday qcauchy qchisq qexp qf qgamma qgeom qhyper qlnorm qlogis qnbinom \" \n           \"qnorm qpois qqline qqnorm qqplot qr qsignrank qt qtukey quantile quarters quasi quasibinomial quasipoisson quit qunif quote qweibull \" \n           \"qwilcox rainbow range rank raw rbeta rbind rbinom rcauchy rchisq readline real recover rect reformulate regexpr relevel remove reorder rep \" \n           \"repeat replace replicate replications require reshape resid residuals restart return rev rexp rf rgamma rgb rgeom rhyper rle rlnorm rlogis rm \" \n           \"rmultinom rnbinom rnorm round row rownames rowsum rpois rsignrank rstandard rstudent rt rug runif runmed rweibull rwilcox sample sapply save savehistory scale scan \" \n           \"screen screeplot sd search searchpaths seek segments seq sequence serialize setdiff setequal setwd shell sign signif sin single sinh sink smooth solve sort \" \n           \"source spectrum spline splinefun split sprintf sqrt stack stars start stderr stdin stdout stem step stepfun stl stop stopifnot str strftime strheight stripchart strptime \" \n           \"strsplit strtrim structure strwidth strwrap sub subset substitute substr substring sum summary sunflowerplot supsmu svd sweep switch symbols symnum system t table tabulate \" \n           \"tail tan tanh tapply tempdir tempfile termplot terms tetragamma text time title toeplitz tolower topenv toupper trace traceback transform trigamma trunc truncate try ts tsdiag \" \n           \"tsp typeof unclass undebug union unique uniroot unix unlink unlist unname unserialize unsplit unstack untrace unz update upgrade url var varimax vcov vector version vi vignette \"\n            \"warning warnings weekdays weights which while \"\n           \"window windows with write wsbrowser xedit xemacs xfig xinch xor xtabs xyinch yinch zapsmall\";\n    }\n    else if (set == 3)\n    {\n        return \"acme aids aircondit amis aml banking barchart barley beaver bigcity boot brambles breslow bs bwplot calcium cane \"\n            \"capability cav censboot channing city claridge cloth cloud coal condense contourplot control corr darwin densityplot \"\n            \"dogs dotplot ducks empinf envelope environmental ethanol fir frets gpar grav gravity grob hirose histogram islay knn \"\n            \"larrows levelplot llines logit lpoints lsegments lset ltext lvqinit lvqtest manaus melanoma motor multiedit neuro \"\n            \"nitrofen nodal ns nuclear oneway parallel paulsen poisons polar qq qqmath remission rfs saddle salinity shingle \"\n            \"simplex singer somgrid splom stripplot survival tau tmd tsboot tuna unit urine viewport wireframe wool xyplot\";\n    }\n\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerR::description(int style) const\n{\n    switch (style)\n    {\n    case DEFAULT:\n        return tr(\"Default\");\n\n    case COMMENT:\n        return tr(\"Comment\");\n\n    case KWORD:\n        return tr(\"Kword\");\n\n    case BASEKWORD:\n        return tr(\"Basekword\");\n\n    case OTHERKWORD:\n        return tr(\"OtherKeyWord\");\n\n    case NUMBER:\n        return tr(\"Number\");\n\n    case STRING: //key word\n        return tr(\"String\");\n\n    case STRING2:\n        return tr(\"String2\");\n\n    case OPERATOR:\n        return tr(\"Operator\");\n\n    case IDENTIFIER:\n        return tr(\"Identifier\");\n\n    case INFIX:\n        return tr(\"Infix\");\n\n    case INFIXEOL:\n        return tr(\"Infix Eol\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerR::defaultPaper(int style) const\n{\n    return QsciLexer::defaultPaper(style);\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerruby.cpp",
    "content": "﻿// This module implements the QsciLexerRuby class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerruby.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerRuby::QsciLexerRuby(QObject *parent)\n    : QsciLexer(parent), fold_comments(false), fold_compact(true)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerRuby::~QsciLexerRuby()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerRuby::language() const\n{\n    return \"Ruby\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerRuby::lexer() const\n{\n    return \"ruby\";\n}\n\n\n// Return the list of words that can start a block.\nconst char *QsciLexerRuby::blockStart(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return \"do\";\n}\n\n\n// Return the list of words that can start end a block.\nconst char *QsciLexerRuby::blockEnd(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return \"end\";\n}\n\n\n// Return the list of words that can start end a block.\nconst char *QsciLexerRuby::blockStartKeyword(int *style) const\n{\n    if (style)\n        *style = Keyword;\n\n    return \"def class if do elsif else case while for\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerRuby::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerRuby::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case POD:\n        return QColor(0x00,0x40,0x00);\n\n    case Number:\n    case FunctionMethodName:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n    case DemotedKeyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case HereDocument:\n    case PercentStringq:\n    case PercentStringQ:\n        return QColor(0x7f,0x00,0x7f);\n\n    case ClassName:\n        return QColor(0x00,0x00,0xff);\n\n    case Regex:\n    case HereDocumentDelimiter:\n    case PercentStringr:\n    case PercentStringw:\n        return QColor(0x00,0x00,0x00);\n\n    case Global:\n        return QColor(0x80,0x00,0x80);\n\n    case Symbol:\n        return QColor(0xc0,0xa0,0x30);\n\n    case ModuleName:\n        return QColor(0xa0,0x00,0xa0);\n\n    case InstanceVariable:\n        return QColor(0xb0,0x00,0x80);\n\n    case ClassVariable:\n        return QColor(0x80,0x00,0xb0);\n\n    case Backticks:\n    case PercentStringx:\n        return QColor(0xff,0xff,0x00);\n\n    case DataSection:\n        return QColor(0x60,0x00,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerRuby::defaultEolFill(int style) const\n{\n    bool fill;\n\n    switch (style)\n    {\n    case POD:\n    case DataSection:\n    case HereDocument:\n        fill = true;\n        break;\n\n    default:\n        fill = QsciLexer::defaultEolFill(style);\n    }\n\n    return fill;\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerRuby::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case POD:\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case PercentStringq:\n    case PercentStringQ:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    case Keyword:\n    case ClassName:\n    case FunctionMethodName:\n    case Operator:\n    case ModuleName:\n    case DemotedKeyword:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerRuby::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"__FILE__ and def end in or self unless __LINE__ \"\n            \"begin defined? ensure module redo super until BEGIN \"\n            \"break do false next rescue then when END case else \"\n            \"for nil require retry true while alias class elsif \"\n            \"if not return undef yield\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerRuby::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Error:\n        return tr(\"Error\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case POD:\n        return tr(\"POD\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case ClassName:\n        return tr(\"Class name\");\n\n    case FunctionMethodName:\n        return tr(\"Function or method name\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Regex:\n        return tr(\"Regular expression\");\n\n    case Global:\n        return tr(\"Global\");\n\n    case Symbol:\n        return tr(\"Symbol\");\n\n    case ModuleName:\n        return tr(\"Module name\");\n\n    case InstanceVariable:\n        return tr(\"Instance variable\");\n\n    case ClassVariable:\n        return tr(\"Class variable\");\n\n    case Backticks:\n        return tr(\"Backticks\");\n\n    case DataSection:\n        return tr(\"Data section\");\n\n    case HereDocumentDelimiter:\n        return tr(\"Here document delimiter\");\n\n    case HereDocument:\n        return tr(\"Here document\");\n\n    case PercentStringq:\n        return tr(\"%q string\");\n\n    case PercentStringQ:\n        return tr(\"%Q string\");\n\n    case PercentStringx:\n        return tr(\"%x string\");\n\n    case PercentStringr:\n        return tr(\"%r string\");\n\n    case PercentStringw:\n        return tr(\"%w string\");\n\n    case DemotedKeyword:\n        return tr(\"Demoted keyword\");\n\n    case Stdin:\n        return tr(\"stdin\");\n\n    case Stdout:\n        return tr(\"stdout\");\n\n    case Stderr:\n        return tr(\"stderr\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerRuby::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case Error:\n        return QColor(0xff,0x00,0x00);\n\n    case POD:\n        return QColor(0xc0,0xff,0xc0);\n\n    case Regex:\n    case PercentStringr:\n        return QColor(0xa0,0xff,0xa0);\n\n    case Backticks:\n    case PercentStringx:\n        return QColor(0xa0,0x80,0x80);\n\n    case DataSection:\n        return QColor(0xff,0xf0,0xd8);\n\n    case HereDocumentDelimiter:\n    case HereDocument:\n        return QColor(0xdd,0xd0,0xdd);\n\n    case PercentStringw:\n        return QColor(0xff,0xff,0xe0);\n\n    case Stdin:\n    case Stdout:\n    case Stderr:\n        return QColor(0xff,0x80,0x80);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerRuby::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerRuby::readProperties(QSettings &qs, const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerRuby::writeProperties(QSettings &qs, const QString &prefix) const\n{\n    int rc = true;\n\n    qs.value(prefix + \"foldcomments\", fold_comments);\n    qs.value(prefix + \"foldcompact\", fold_compact);\n\n    return rc;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerRuby::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerRuby::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\", (fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact\nvoid QsciLexerRuby::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerRuby::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerrust.cpp",
    "content": "﻿#include \"Qsci/qscilexerrust.h\"\r\n#include \"Qsci/qsciscintillabase.h\"\r\n\r\n#include <qcolor.h>\r\n#include <qfont.h>\r\n#include <qsettings.h>\r\n\r\nQsciLexerRust::QsciLexerRust(QObject *parent)\r\n\t: QsciLexer(parent)\r\n{\r\n\tm_commentSymbol = \"//\";\n\tm_commentStart = \"/*\";\n\tm_commentEnd = \"*/\";\r\n}\r\n\r\nQsciLexerRust::~QsciLexerRust()\r\n{\r\n}\r\n\r\n// Returns the language name.\r\nconst char* QsciLexerRust::language() const\r\n{\r\n\treturn \"RUST\";\r\n}\r\n\r\n// Returns the lexer name.\nconst char *QsciLexerRust::lexer() const\n{\n\treturn \"rust\";\n}\n\r\n// Returns the set of keywords.\r\nconst char* QsciLexerRust::keywords(int set)\r\n{\r\n\treturn \"as break const continue crate dyn else enum extern \"\r\n\t\t\"false fn for if impl in let loop match mod move mut \"\r\n\t\t\"pub ref return Self self static struct super trait \"\r\n\t\t\"true type unsafe use where while\";\r\n}\r\n\r\n// Returns the foreground colour of the text for a style.\r\nQColor QsciLexerRust::defaultColor(int style) const\r\n{\r\n\t//if (style == VerbatimString)\r\n\t//\treturn QColor(0x00, 0x7f, 0x00);\r\n\tswitch (style)\r\n\t{\r\n\t\tcase RUST_WORD:\r\n\t\tcase RUST_WORD2:\r\n\t\tcase RUST_WORD3:\r\n\t\tcase RUST_WORD4:\r\n\t\tcase RUST_WORD5:\r\n\t\tcase RUST_WORD6:\r\n\t\tcase RUST_WORD7:\r\n\t\t\treturn QColor(0x00, 0x00, 0xff);\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QsciLexer::defaultColor(style);\r\n}\r\n\r\n// Returns the font of the text for a style.\r\nQFont QsciLexerRust::defaultFont(int style) const\r\n{\r\n\treturn QsciLexer::defaultFont(style);\r\n}\r\n\r\n// Returns the user name of a style.\r\nQString QsciLexerRust::description(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase RUST_DEFAULT:\r\n\t\treturn \"Default\";\r\n\tcase RUST_COMMENTBLOCK:\r\n\t\treturn \"comment\";\r\n\tcase RUST_COMMENTLINE:\r\n\t\treturn \"commentline\";\r\n\tcase RUST_COMMENTBLOCKDOC:\r\n\t\treturn \"commentblockdoc\";\r\n\tcase RUST_COMMENTLINEDOC:\r\n\t\treturn \"commentlinedoc\";\r\n\tcase RUST_NUMBER:\r\n\t\treturn \"number\";\r\n\tcase RUST_WORD:\r\n\t\treturn \"word\";\r\n\tcase RUST_WORD2:\r\n\t\treturn \"word2\";\r\n\tcase RUST_WORD3:\r\n\t\treturn \"word3\";\r\n\tcase RUST_WORD4:\r\n\t\treturn \"word4\";\r\n\tcase RUST_WORD5:\r\n\t\treturn \"word5\";\r\n\tcase RUST_WORD6:\r\n\t\treturn \"word6\";\r\n\tcase RUST_WORD7:\r\n\t\treturn \"word7\";\r\n\tcase RUST_STRING:\r\n\t\treturn \"string\";\r\n\tcase RUST_STRINGR:\r\n\t\treturn \"stringr\";\r\n\tcase RUST_CHARACTER:\r\n\t\treturn \"character\";\r\n\tcase RUST_OPERATOR:\r\n\t\treturn \"operator\";\r\n\tcase RUST_IDENTIFIER:\r\n\t\treturn \"identifier\";\r\n\tcase RUST_LIFETIME:\r\n\t\treturn \"lifetime\";\r\n\tcase RUST_MACRO:\r\n\t\treturn \"macro\";\r\n\tcase RUST_LEXERROR:\r\n\t\treturn \"lexerror\";\r\n\tcase RUST_BYTESTRING:\r\n\t\treturn \"bytestring\";\r\n\tcase RUST_BYTESTRINGR:\r\n\t\treturn \"bytestringr\";\r\n\tcase RUST_BYTECHARACTER:\r\n\t\treturn \"bytecharacter\";\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QString();\r\n}\r\n\r\n\r\n// Returns the background colour of the text for a style.\r\nQColor QsciLexerRust::defaultPaper(int style) const\r\n{\r\n\treturn QsciLexer::defaultPaper(style);\r\n}\r\n\r\n// Return the lexer identifier.\nint QsciLexerRust::lexerId() const\n{\n\treturn L_RUST;\n}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexerspice.cpp",
    "content": "﻿// This module implements the QsciLexerSpice class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerspice.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n\n\n// The ctor.\nQsciLexerSpice::QsciLexerSpice(QObject *parent)\n    : QsciLexer(parent)\n{\n}\n\n\n// The dtor.\nQsciLexerSpice::~QsciLexerSpice()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerSpice::language() const\n{\n    return \"Spice\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerSpice::lexer() const\n{\n    return \"spice\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerSpice::braceStyle() const\n{\n    return Parameter;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerSpice::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"ac alias alter alterparam append askvalues assertvalid \"\n            \"autoscale break compose copy copytodoc dc delete destroy \"\n            \"destroyvec diff display disto dowhile echo else end errorstop \"\n            \"fftinit filter foreach fourier freqtotime function \"\n            \"functionundef goto homecursors if isdisplayed label let \"\n            \"linearize listing load loadaccumulator makelabel movelabel \"\n            \"makesmithplot movecursorleft movecursorright msgbox nameplot \"\n            \"newplot nextparam noise nopoints op plot plotf plotref poly \"\n            \"print printcursors printevent printname printplot printstatus \"\n            \"printtext printtol printunits printval printvector pwl pz quit \"\n            \"removesmithplot rename repeat resume rotate runs rusage save \"\n            \"sendplot sendscript sens set setcursor setdoc setlabel \"\n            \"setlabeltype setmargins setnthtrigger setunits setvec setparam \"\n            \"setplot setquery setscaletype settracecolor settracestyle \"\n            \"setsource settrigger setvec setxlimits setylimits show showmod \"\n            \"sort status step stop switch tf timetofreq timetowave tran \"\n            \"unalias unlet unset unalterparam update version view wavefilter \"\n            \"wavetotime where while write\";\n\n    if (set == 2)\n        return\n            \"abs askvalue atan average ceil cos db differentiate \"\n            \"differentiatex exp finalvalue floor getcursorx getcursory \"\n            \"getcursory0 getcursory1 getparam im ln initialvalue integrate \"\n            \"integratex interpolate isdef isdisplayed j log length mag max \"\n            \"maxscale mean meanpts min minscale nextplot nextvector norm \"\n            \"operatingpoint ph phase phaseextend pk_pk pos pulse re rms \"\n            \"rmspts rnd sameplot sin sqrt stddev stddevpts tan tfall \"\n            \"tolerance trise unitvec vector\";\n\n    if (set == 3)\n        return \"param nodeset include options dcconv subckt ends model\";\n\n    return 0;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerSpice::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Command:\n    case Function:\n        return QColor(0x00,0x00,0x7f);\n\n    case Parameter:\n        return QColor(0x00,0x40,0xe0);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Delimiter:\n        return QColor(0x00,0x00,0x00);\n\n    case Value:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerSpice::defaultFont(int style) const\n{\n    QFont f;\n\n    if (style == Comment)\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n    else\n    {\n        f = QsciLexer::defaultFont(style);\n\n        if (style == Function || style == Delimiter)\n            f.setBold(true);\n    }\n\n    return f;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerSpice::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Command:\n        return tr(\"Command\");\n\n    case Function:\n        return tr(\"Function\");\n\n    case Parameter:\n        return tr(\"Parameter\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Delimiter:\n        return tr(\"Delimiter\");\n\n    case Value:\n        return tr(\"Value\");\n\n    case Comment:\n        return tr(\"Comment\");\n    }\n\n    return QString();\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexersql.cpp",
    "content": "﻿// This module implements the QsciLexerSQL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexersql.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerSQL::QsciLexerSQL(QObject *parent)\n    : QsciLexer(parent),\n      at_else(false), fold_comments(false), fold_compact(true),\n      only_begin(false), backticks_identifier(false),\n      numbersign_comment(false), backslash_escapes(false),\n      allow_dotted_word(false)\n{\n    m_commentSymbol = \"--\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerSQL::~QsciLexerSQL()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerSQL::language() const\n{\n    return \"SQL\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerSQL::lexer() const\n{\n    return \"sql\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerSQL::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerSQL::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Comment:\n    case CommentLine:\n    case PlusPrompt:\n    case PlusComment:\n    case CommentLineHash:\n        return QColor(0x00,0x7f,0x00);\n\n    case CommentDoc:\n        return QColor(0x7f,0x7f,0x7f);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n        return QColor(0x7f,0x00,0x7f);\n\n    case PlusKeyword:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Operator:\n    case Identifier:\n        break;\n\n    case CommentDocKeyword:\n        return QColor(0x30,0x60,0xa0);\n\n    case CommentDocKeywordError:\n        return QColor(0x80,0x40,0x20);\n\n    case KeywordSet5:\n        return QColor(0x4b,0x00,0x82);\n\n    case KeywordSet6:\n        return QColor(0xb0,0x00,0x40);\n\n    case KeywordSet7:\n        return QColor(0x8b,0x00,0x00);\n\n    case KeywordSet8:\n        return QColor(0x80,0x00,0x80);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerSQL::defaultEolFill(int style) const\n{\n    if (style == PlusPrompt)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerSQL::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n    case PlusComment:\n    case CommentLineHash:\n    case CommentDocKeyword:\n    case CommentDocKeywordError:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case Operator:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case DoubleQuotedString:\n    case SingleQuotedString:\n    case PlusPrompt:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Courier\", 12);\n#else\n        f = QFont(\"Bitstream Vera Sans Mono\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerSQL::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"absolute action add admin after aggregate alias all \"\n            \"allocate alter and any are array as asc assertion \"\n            \"at authorization before begin binary bit blob \"\n            \"boolean both breadth by call cascade cascaded case \"\n            \"cast catalog char character check class clob close \"\n            \"collate collation column commit completion connect \"\n            \"connection constraint constraints constructor \"\n            \"continue corresponding create cross cube current \"\n            \"current_date current_path current_role current_time \"\n            \"current_timestamp current_user cursor cycle data \"\n            \"date day deallocate dec decimal declare default \"\n            \"deferrable deferred delete depth deref desc \"\n            \"describe descriptor destroy destructor \"\n            \"deterministic dictionary diagnostics disconnect \"\n            \"distinct domain double drop dynamic each else end \"\n            \"end-exec equals escape every except exception exec \"\n            \"execute external false fetch first float for \"\n            \"foreign found from free full function general get \"\n            \"global go goto grant group grouping having host \"\n            \"hour identity if ignore immediate in indicator \"\n            \"initialize initially inner inout input insert int \"\n            \"integer intersect interval into is isolation \"\n            \"iterate join key language large last lateral \"\n            \"leading left less level like limit local localtime \"\n            \"localtimestamp locator map match minute modifies \"\n            \"modify module month names national natural nchar \"\n            \"nclob new next no none not null numeric object of \"\n            \"off old on only open operation option or order \"\n            \"ordinality out outer output pad parameter \"\n            \"parameters partial path postfix precision prefix \"\n            \"preorder prepare preserve primary prior privileges \"\n            \"procedure public read reads real recursive ref \"\n            \"references referencing relative restrict result \"\n            \"return returns revoke right role rollback rollup \"\n            \"routine row rows savepoint schema scroll scope \"\n            \"search second section select sequence session \"\n            \"session_user set sets size smallint some| space \"\n            \"specific specifictype sql sqlexception sqlstate \"\n            \"sqlwarning start state statement static structure \"\n            \"system_user table temporary terminate than then \"\n            \"time timestamp timezone_hour timezone_minute to \"\n            \"trailing transaction translation treat trigger \"\n            \"true under union unique unknown unnest update usage \"\n            \"user using value values varchar variable varying \"\n            \"view when whenever where with without work write \"\n            \"year zone\";\n\n    if (set == 3)\n        return\n            \"param author since return see deprecated todo\";\n\n    if (set == 4)\n        return\n            \"acc~ept a~ppend archive log attribute bre~ak \"\n            \"bti~tle c~hange cl~ear col~umn comp~ute conn~ect \"\n            \"copy def~ine del desc~ribe disc~onnect e~dit \"\n            \"exec~ute exit get help ho~st i~nput l~ist passw~ord \"\n            \"pau~se pri~nt pro~mpt quit recover rem~ark \"\n            \"repf~ooter reph~eader r~un sav~e set sho~w shutdown \"\n            \"spo~ol sta~rt startup store timi~ng tti~tle \"\n            \"undef~ine var~iable whenever oserror whenever \"\n            \"sqlerror\";\n\n    if (set == 5)\n        return\n            \"dbms_output.disable dbms_output.enable dbms_output.get_line \"\n            \"dbms_output.get_lines dbms_output.new_line dbms_output.put \"\n            \"dbms_output.put_line\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerSQL::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case CommentLine:\n        return tr(\"Comment line\");\n\n    case CommentDoc:\n        return tr(\"JavaDoc style comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case DoubleQuotedString:\n        return tr(\"Double-quoted string\");\n\n    case SingleQuotedString:\n        return tr(\"Single-quoted string\");\n\n    case PlusKeyword:\n        return tr(\"SQL*Plus keyword\");\n\n    case PlusPrompt:\n        return tr(\"SQL*Plus prompt\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case PlusComment:\n        return tr(\"SQL*Plus comment\");\n\n    case CommentLineHash:\n        return tr(\"comment line\");\n\n    case CommentDocKeyword:\n        return tr(\"JavaDoc keyword\");\n\n    case CommentDocKeywordError:\n        return tr(\"JavaDoc keyword error\");\n\n    case KeywordSet5:\n        return tr(\"User defined 1\");\n\n    case KeywordSet6:\n        return tr(\"User defined 2\");\n\n    case KeywordSet7:\n        return tr(\"User defined 3\");\n\n    case KeywordSet8:\n        return tr(\"User defined 4\");\n\n    case QuotedIdentifier:\n        return tr(\"Quoted identifier\");\n\n    case QuotedOperator:\n        return tr(\"Quoted operator\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerSQL::defaultPaper(int style) const\n{\n    if (style == PlusPrompt)\n        return QColor(0xe0,0xff,0xe0);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerSQL::refreshProperties()\n{\n    setAtElseProp();\n    setCommentProp();\n    setCompactProp();\n    setOnlyBeginProp();\n    setBackticksIdentifierProp();\n    setNumbersignCommentProp();\n    setBackslashEscapesProp();\n    setAllowDottedWordProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerSQL::readProperties(QSettings &qs, const QString &prefix)\n{\n    int rc = true;\n\n    at_else = qs.value(prefix + \"atelse\", false).toBool();\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    only_begin = qs.value(prefix + \"onlybegin\", false).toBool();\n    backticks_identifier = qs.value(prefix + \"backticksidentifier\", false).toBool();\n    numbersign_comment = qs.value(prefix + \"numbersigncomment\", false).toBool();\n    backslash_escapes = qs.value(prefix + \"backslashescapes\", false).toBool();\n    allow_dotted_word = qs.value(prefix + \"allowdottedword\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerSQL::writeProperties(QSettings &qs, const QString &prefix) const\n{\n    int rc = true;\n\n    qs.value(prefix + \"atelse\", at_else);\n    qs.value(prefix + \"foldcomments\", fold_comments);\n    qs.value(prefix + \"foldcompact\", fold_compact);\n    qs.value(prefix + \"onlybegin\", only_begin);\n    qs.value(prefix + \"backticksidentifier\", backticks_identifier);\n    qs.value(prefix + \"numbersigncomment\", numbersign_comment);\n    qs.value(prefix + \"backslashescapes\", backslash_escapes);\n    qs.value(prefix + \"allowdottedword\", allow_dotted_word);\n\n    return rc;\n}\n\n\n// Set if ELSE blocks can be folded.\nvoid QsciLexerSQL::setFoldAtElse(bool fold)\n{\n    at_else = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.sql.at.else\" property.\nvoid QsciLexerSQL::setAtElseProp()\n{\n    emit propertyChanged(\"fold.sql.at.else\", (at_else ? \"1\" : \"0\"));\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerSQL::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerSQL::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\", (fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact\nvoid QsciLexerSQL::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerSQL::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if BEGIN blocks only can be folded.\nvoid QsciLexerSQL::setFoldOnlyBegin(bool fold)\n{\n    only_begin = fold;\n\n    setOnlyBeginProp();\n}\n\n\n// Set the \"fold.sql.only.begin\" property.\nvoid QsciLexerSQL::setOnlyBeginProp()\n{\n    emit propertyChanged(\"fold.sql.only.begin\", (only_begin ? \"1\" : \"0\"));\n}\n\n\n// Enable quoted identifiers.\nvoid QsciLexerSQL::setQuotedIdentifiers(bool enable)\n{\n    backticks_identifier = enable;\n\n    setBackticksIdentifierProp();\n}\n\n\n// Set the \"lexer.sql.backticks.identifier\" property.\nvoid QsciLexerSQL::setBackticksIdentifierProp()\n{\n    emit propertyChanged(\"lexer.sql.backticks.identifier\", (backticks_identifier ? \"1\" : \"0\"));\n}\n\n\n// Enable '#' as a comment character.\nvoid QsciLexerSQL::setHashComments(bool enable)\n{\n    numbersign_comment = enable;\n\n    setNumbersignCommentProp();\n}\n\n\n// Set the \"lexer.sql.numbersign.comment\" property.\nvoid QsciLexerSQL::setNumbersignCommentProp()\n{\n    emit propertyChanged(\"lexer.sql.numbersign.comment\", (numbersign_comment ? \"1\" : \"0\"));\n}\n\n\n// Enable/disable backslash escapes.\nvoid QsciLexerSQL::setBackslashEscapes(bool enable)\n{\n    backslash_escapes = enable;\n\n    setBackslashEscapesProp();\n}\n\n\n// Set the \"sql.backslash.escapes\" property.\nvoid QsciLexerSQL::setBackslashEscapesProp()\n{\n    emit propertyChanged(\"sql.backslash.escapes\", (backslash_escapes ? \"1\" : \"0\"));\n}\n\n\n// Enable dotted words.\nvoid QsciLexerSQL::setDottedWords(bool enable)\n{\n    allow_dotted_word = enable;\n\n    setAllowDottedWordProp();\n}\n\n\n// Set the \"lexer.sql.allow.dotted.word\" property.\nvoid QsciLexerSQL::setAllowDottedWordProp()\n{\n    emit propertyChanged(\"lexer.sql.allow.dotted.word\", (allow_dotted_word ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexertcl.cpp",
    "content": "﻿// This module implements the QsciLexerTCL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexertcl.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerTCL::QsciLexerTCL(QObject *parent)\n    : QsciLexer(parent), fold_comments(false)\n{\n}\n\n\n// The dtor.\nQsciLexerTCL::~QsciLexerTCL()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerTCL::language() const\n{\n    return \"TCL\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerTCL::lexer() const\n{\n    return \"tcl\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerTCL::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerTCL::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x80,0x80);\n\n    case Comment:\n    case CommentLine:\n    case CommentBox:\n        return QColor(0x00,0x7f,0x00);\n\n    case Number:\n        return QColor(0x00,0x7f,0x7f);\n\n    case QuotedKeyword:\n    case QuotedString:\n    case Modifier:\n        return QColor(0x7f,0x00,0x7f);\n\n    case Operator:\n        return QColor(0x00,0x00,0x00);\n\n    case Identifier:\n    case ExpandKeyword:\n    case TCLKeyword:\n    case TkKeyword:\n    case ITCLKeyword:\n    case TkCommand:\n    case KeywordSet6:\n    case KeywordSet7:\n    case KeywordSet8:\n    case KeywordSet9:\n        return QColor(0x80, 0x00, 0xff);\n\n    case Substitution:\n    case SubstitutionBrace:\n        return QColor(0x7f,0x7f,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerTCL::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case QuotedString:\n    case CommentBox:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerTCL::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n    case CommentBox:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Comic Sans MS\", 9);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\", 9);\n#endif\n        break;\n\n    case QuotedKeyword:\n    case Operator:\n    case ExpandKeyword:\n    case TCLKeyword:\n    case TkKeyword:\n    case ITCLKeyword:\n    case TkCommand:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case CommentBlock:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Comic Sans MS\", 8);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 11);\n#else\n        f = QFont(\"Serif\", 9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerTCL::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"after append array auto_execok auto_import auto_load \"\n            \"auto_load_index auto_qualify beep bgerror binary break case \"\n            \"catch cd clock close concat continue dde default echo else \"\n            \"elseif encoding eof error eval exec exit expr fblocked \"\n            \"fconfigure fcopy file fileevent flush for foreach format gets \"\n            \"glob global history http if incr info interp join lappend lindex \"\n            \"linsert list llength load loadTk lrange lreplace lsearch lset \"\n            \"lsort memory msgcat namespace open package pid pkg::create \"\n            \"pkg_mkIndex Platform-specific proc puts pwd re_syntax read \"\n            \"regexp registry regsub rename resource return scan seek set \"\n            \"socket source split string subst switch tclLog tclMacPkgSearch \"\n            \"tclPkgSetup tclPkgUnknown tell time trace unknown unset update \"\n            \"uplevel upvar variable vwait while\";\n\n    if (set == 2)\n        return\n            \"bell bind bindtags bitmap button canvas checkbutton clipboard \"\n            \"colors console cursors destroy entry event focus font frame grab \"\n            \"grid image Inter-client keysyms label labelframe listbox lower \"\n            \"menu menubutton message option options pack panedwindow photo \"\n            \"place radiobutton raise scale scrollbar selection send spinbox \"\n            \"text tk tk_chooseColor tk_chooseDirectory tk_dialog tk_focusNext \"\n            \"tk_getOpenFile tk_messageBox tk_optionMenu tk_popup \"\n            \"tk_setPalette tkerror tkvars tkwait toplevel winfo wish wm\";\n\n    if (set == 3)\n        return\n            \"@scope body class code common component configbody constructor \"\n            \"define destructor hull import inherit itcl itk itk_component \"\n            \"itk_initialize itk_interior itk_option iwidgets keep method \"\n            \"private protected public\";\n\n    if (set == 4)\n        return\n            \"tk_bisque tk_chooseColor tk_dialog tk_focusFollowsMouse \"\n            \"tk_focusNext tk_focusPrev tk_getOpenFile tk_getSaveFile \"\n            \"tk_messageBox tk_optionMenu tk_popup tk_setPalette tk_textCopy \"\n            \"tk_textCut tk_textPaste tkButtonAutoInvoke tkButtonDown \"\n            \"tkButtonEnter tkButtonInvoke tkButtonLeave tkButtonUp \"\n            \"tkCancelRepeat tkCheckRadioDown tkCheckRadioEnter \"\n            \"tkCheckRadioInvoke tkColorDialog tkColorDialog_BuildDialog \"\n            \"tkColorDialog_CancelCmd tkColorDialog_Config \"\n            \"tkColorDialog_CreateSelector tkColorDialog_DrawColorScale \"\n            \"tkColorDialog_EnterColorBar tkColorDialog_HandleRGB Entry \"\n            \"tkColorDialog_HandleSelEntry tkColorDialog_InitValues \"\n            \"tkColorDialog_LeaveColorBar tkColorDialog_MoveSelector \"\n            \"tkColorDialog_OkCmd tkColorDialog_RedrawColorBars \"\n            \"tkColorDialog_RedrawFinalColor tkColorDialog_ReleaseMouse \"\n            \"tkColorDialog_ResizeColorBars tkColorDialog_RgbToX \"\n            \"tkColorDialog_SetRGBValue tkColorDialog_StartMove \"\n            \"tkColorDialog_XToRgb tkConsoleAbout tkConsoleBind tkConsoleExit \"\n            \"tkConsoleHistory tkConsoleInit tkConsoleInsert tkConsoleInvoke \"\n            \"tkConsoleOutput tkConsolePrompt tkConsoleSource tkDarken \"\n            \"tkEntryAutoScan tkEntryBackspace tkEntryButton1 \"\n            \"tkEntryClosestGap tkEntryGetSelection tkEntryInsert \"\n            \"tkEntryKeySelect tkEntryMouseSelect tkEntryNextWord tkEntryPaste \"\n            \"tkEntryPreviousWord tkEntrySeeInsert tkEntrySetCursor \"\n            \"tkEntryTranspose tkEventMotifBindings tkFDGetFileTypes \"\n            \"tkFirstMenu tkFocusGroup_BindIn tkFocusGroup_BindOut \"\n            \"tkFocusGroup_Create tkFocusGroup_Destroy tkFocusGroup_In \"\n            \"tkFocusGroup_Out tkFocusOK tkGenerateMenuSelect tkIconList \"\n            \"tkIconList_Add tkIconList_Arrange tkIconList_AutoScan \"\n            \"tkIconList_Btn1 tkIconList_Config tkIconList_Create \"\n            \"tkIconList_CtrlBtn1 tkIconList_Curselection tkIconList_DeleteAll \"\n            \"tkIconList_Double1 tkIconList_DrawSelection tkIconList_FocusIn \"\n            \"tkIconList_FocusOut tkIconList_Get tkIconList_Goto \"\n            \"tkIconList_Index tkIconList_Invoke tkIconList_KeyPress \"\n            \"tkIconList_Leave1 tkIconList_LeftRight tkIconList_Motion1 \"\n            \"tkIconList_Reset tkIconList_ReturnKey tkIconList_See \"\n            \"tkIconList_Select tkIconList_Selection tkIconList_ShiftBtn1 \"\n            \"tkIconList_UpDown tkListbox tkListboxAutoScan \"\n            \"tkListboxBeginExtend tkListboxBeginSelect tkListboxBeginToggle \"\n            \"tkListboxCancel tkListboxDataExtend tkListboxExtendUpDown \"\n            \"tkListboxKeyAccel_Goto tkListboxKeyAccel_Key \"\n            \"tkListboxKeyAccel_Reset tkListboxKeyAccel_Set \"\n            \"tkListboxKeyAccel_Unset tkListboxMotion tkListboxSelectAll \"\n            \"tkListboxUpDown tkMbButtonUp tkMbEnter tkMbLeave tkMbMotion \"\n            \"tkMbPost tkMenuButtonDown tkMenuDownArrow tkMenuDup tkMenuEscape \"\n            \"tkMenuFind tkMenuFindName tkMenuFirstEntry tkMenuInvoke \"\n            \"tkMenuLeave tkMenuLeftArrow tkMenuMotion tkMenuNextEntry \"\n            \"tkMenuNextMenu tkMenuRightArrow tkMenuUnpost tkMenuUpArrow \"\n            \"tkMessageBox tkMotifFDialog tkMotifFDialog_ActivateDList \"\n            \"tkMotifFDialog_ActivateFEnt tkMotifFDialog_ActivateFList \"\n            \"tkMotifFDialog_ActivateSEnt tkMotifFDialog_BrowseDList \"\n            \"tkMotifFDialog_BrowseFList tkMotifFDialog_BuildUI \"\n            \"tkMotifFDialog_CancelCmd tkMotifFDialog_Config \"\n            \"tkMotifFDialog_Create tkMotifFDialog_FileTypes \"\n            \"tkMotifFDialog_FilterCmd tkMotifFDialog_InterpFilter \"\n            \"tkMotifFDialog_LoadFiles tkMotifFDialog_MakeSList \"\n            \"tkMotifFDialog_OkCmd tkMotifFDialog_SetFilter \"\n            \"tkMotifFDialog_SetListMode tkMotifFDialog_Update tkPostOverPoint \"\n            \"tkRecolorTree tkRestoreOldGrab tkSaveGrabInfo tkScaleActivate \"\n            \"tkScaleButton2Down tkScaleButtonDown tkScaleControlPress \"\n            \"tkScaleDrag tkScaleEndDrag tkScaleIncrement tkScreenChanged \"\n            \"tkScrollButton2Down tkScrollButtonDown tkScrollButtonDrag \"\n            \"tkScrollButtonUp tkScrollByPages tkScrollByUnits tkScrollDrag \"\n            \"tkScrollEndDrag tkScrollSelect tkScrollStartDrag \"\n            \"tkScrollTopBottom tkScrollToPos tkTabToWindow tkTearOffMenu \"\n            \"tkTextAutoScan tkTextButton1 tkTextClosestGap tkTextInsert \"\n            \"tkTextKeyExtend tkTextKeySelect tkTextNextPara tkTextNextPos \"\n            \"tkTextNextWord tkTextPaste tkTextPrevPara tkTextPrevPos \"\n            \"tkTextPrevWord tkTextResetAnchor tkTextScrollPages \"\n            \"tkTextSelectTo tkTextSetCursor tkTextTranspose tkTextUpDownLine \"\n            \"tkTraverseToMenu tkTraverseWithinMenu\";\n\n    if (set == 5)\n        return \"expand\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerTCL::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case CommentLine:\n        return tr(\"Comment line\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case QuotedKeyword:\n        return tr(\"Quoted keyword\");\n\n    case QuotedString:\n        return tr(\"Quoted string\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Substitution:\n        return tr(\"Substitution\");\n\n    case SubstitutionBrace:\n        return tr(\"Brace substitution\");\n\n    case Modifier:\n        return tr(\"Modifier\");\n\n    case ExpandKeyword:\n        return tr(\"Expand keyword\");\n\n    case TCLKeyword:\n        return tr(\"TCL keyword\");\n\n    case TkKeyword:\n        return tr(\"Tk keyword\");\n\n    case ITCLKeyword:\n        return tr(\"iTCL keyword\");\n\n    case TkCommand:\n        return tr(\"Tk command\");\n\n    case KeywordSet6:\n        return tr(\"User defined 1\");\n\n    case KeywordSet7:\n        return tr(\"User defined 2\");\n\n    case KeywordSet8:\n        return tr(\"User defined 3\");\n\n    case KeywordSet9:\n        return tr(\"User defined 4\");\n\n    case CommentBox:\n        return tr(\"Comment box\");\n\n    case CommentBlock:\n        return tr(\"Comment block\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerTCL::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case Comment:\n        return QColor(0xf0,0xff,0xe0);\n\n    case QuotedKeyword:\n    case QuotedString:\n    case ITCLKeyword:\n        return QColor(0xff,0xf0,0xf0);\n\n    case Substitution:\n        return QColor(0xef,0xff,0xf0);\n\n    case ExpandKeyword:\n        return QColor(0xff,0xff,0x80);\n\n    case TkKeyword:\n        return QColor(0xe0,0xff,0xf0);\n\n    case TkCommand:\n        return QColor(0xff,0xd0,0xd0);\n\n    case CommentBox:\n    case CommentBlock:\n        return QColor(0xf0,0xff,0xf0);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerTCL::refreshProperties()\n{\n    setCommentProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerTCL::readProperties(QSettings &qs, const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerTCL::writeProperties(QSettings &qs, const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n\n    return rc;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerTCL::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerTCL::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\", (fold_comments ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexertex.cpp",
    "content": "﻿// This module implements the QsciLexerTeX class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexertex.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerTeX::QsciLexerTeX(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(false), fold_compact(true), process_comments(false),\n      process_if(true)\n{\n}\n\n\n// The dtor.\nQsciLexerTeX::~QsciLexerTeX()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerTeX::language() const\n{\n    return \"TeX\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerTeX::lexer() const\n{\n    return \"tex\";\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerTeX::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\\\\@\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerTeX::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x3f,0x3f,0x3f);\n\n    case Special:\n        return QColor(0x00,0x7f,0x7f);\n\n    case Group:\n        return QColor(0x7f,0x00,0x00);\n\n    case Symbol:\n        return QColor(0x7f,0x7f,0x00);\n\n    case Command:\n        return QColor(0x00,0x7f,0x00);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerTeX::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"above abovedisplayshortskip abovedisplayskip \"\n            \"abovewithdelims accent adjdemerits advance \"\n            \"afterassignment aftergroup atop atopwithdelims \"\n            \"badness baselineskip batchmode begingroup \"\n            \"belowdisplayshortskip belowdisplayskip binoppenalty \"\n            \"botmark box boxmaxdepth brokenpenalty catcode char \"\n            \"chardef cleaders closein closeout clubpenalty copy \"\n            \"count countdef cr crcr csname day deadcycles def \"\n            \"defaulthyphenchar defaultskewchar delcode delimiter \"\n            \"delimiterfactor delimeters delimitershortfall \"\n            \"delimeters dimen dimendef discretionary \"\n            \"displayindent displaylimits displaystyle \"\n            \"displaywidowpenalty displaywidth divide \"\n            \"doublehyphendemerits dp dump edef else \"\n            \"emergencystretch end endcsname endgroup endinput \"\n            \"endlinechar eqno errhelp errmessage \"\n            \"errorcontextlines errorstopmode escapechar everycr \"\n            \"everydisplay everyhbox everyjob everymath everypar \"\n            \"everyvbox exhyphenpenalty expandafter fam fi \"\n            \"finalhyphendemerits firstmark floatingpenalty font \"\n            \"fontdimen fontname futurelet gdef global group \"\n            \"globaldefs halign hangafter hangindent hbadness \"\n            \"hbox hfil horizontal hfill horizontal hfilneg hfuzz \"\n            \"hoffset holdinginserts hrule hsize hskip hss \"\n            \"horizontal ht hyphenation hyphenchar hyphenpenalty \"\n            \"hyphen if ifcase ifcat ifdim ifeof iffalse ifhbox \"\n            \"ifhmode ifinner ifmmode ifnum ifodd iftrue ifvbox \"\n            \"ifvmode ifvoid ifx ignorespaces immediate indent \"\n            \"input inputlineno input insert insertpenalties \"\n            \"interlinepenalty jobname kern language lastbox \"\n            \"lastkern lastpenalty lastskip lccode leaders left \"\n            \"lefthyphenmin leftskip leqno let limits linepenalty \"\n            \"line lineskip lineskiplimit long looseness lower \"\n            \"lowercase mag mark mathaccent mathbin mathchar \"\n            \"mathchardef mathchoice mathclose mathcode mathinner \"\n            \"mathop mathopen mathord mathpunct mathrel \"\n            \"mathsurround maxdeadcycles maxdepth meaning \"\n            \"medmuskip message mkern month moveleft moveright \"\n            \"mskip multiply muskip muskipdef newlinechar noalign \"\n            \"noboundary noexpand noindent nolimits nonscript \"\n            \"scriptscript nonstopmode nulldelimiterspace \"\n            \"nullfont number omit openin openout or outer output \"\n            \"outputpenalty over overfullrule overline \"\n            \"overwithdelims pagedepth pagefilllstretch \"\n            \"pagefillstretch pagefilstretch pagegoal pageshrink \"\n            \"pagestretch pagetotal par parfillskip parindent \"\n            \"parshape parskip patterns pausing penalty \"\n            \"postdisplaypenalty predisplaypenalty predisplaysize \"\n            \"pretolerance prevdepth prevgraf radical raise read \"\n            \"relax relpenalty right righthyphenmin rightskip \"\n            \"romannumeral scriptfont scriptscriptfont \"\n            \"scriptscriptstyle scriptspace scriptstyle \"\n            \"scrollmode setbox setlanguage sfcode shipout show \"\n            \"showbox showboxbreadth showboxdepth showlists \"\n            \"showthe skewchar skip skipdef spacefactor spaceskip \"\n            \"span special splitbotmark splitfirstmark \"\n            \"splitmaxdepth splittopskip string tabskip textfont \"\n            \"textstyle the thickmuskip thinmuskip time toks \"\n            \"toksdef tolerance topmark topskip tracingcommands \"\n            \"tracinglostchars tracingmacros tracingonline \"\n            \"tracingoutput tracingpages tracingparagraphs \"\n            \"tracingrestores tracingstats uccode uchyph \"\n            \"underline unhbox unhcopy unkern unpenalty unskip \"\n            \"unvbox unvcopy uppercase vadjust valign vbadness \"\n            \"vbox vcenter vfil vfill vfilneg vfuzz voffset vrule \"\n            \"vsize vskip vsplit vss vtop wd widowpenalty write \"\n            \"xdef xleaders xspaceskip year \"\n            \"TeX bgroup egroup endgraf space empty null newcount \"\n            \"newdimen newskip newmuskip newbox newtoks newhelp \"\n            \"newread newwrite newfam newlanguage newinsert newif \"\n            \"maxdimen magstephalf magstep frenchspacing \"\n            \"nonfrenchspacing normalbaselines obeylines \"\n            \"obeyspaces raggedr ight ttraggedright thinspace \"\n            \"negthinspace enspace enskip quad qquad smallskip \"\n            \"medskip bigskip removelastskip topglue vglue hglue \"\n            \"break nobreak allowbreak filbreak goodbreak \"\n            \"smallbreak medbreak bigbreak line leftline \"\n            \"rightline centerline rlap llap underbar strutbox \"\n            \"strut cases matrix pmatrix bordermatrix eqalign \"\n            \"displaylines eqalignno leqalignno pageno folio \"\n            \"tracingall showhyphens fmtname fmtversion hphantom \"\n            \"vphantom phantom smash\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerTeX::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Special:\n        return tr(\"Special\");\n\n    case Group:\n        return tr(\"Group\");\n\n    case Symbol:\n        return tr(\"Symbol\");\n\n    case Command:\n        return tr(\"Command\");\n\n    case Text:\n        return tr(\"Text\");\n    }\n\n    return QString();\n}\n\n\n// Refresh all properties.\nvoid QsciLexerTeX::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setProcessCommentsProp();\n    setAutoIfProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerTeX::readProperties(QSettings &qs, const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    process_comments = qs.value(prefix + \"processcomments\", false).toBool();\n    process_if = qs.value(prefix + \"processif\", true).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerTeX::writeProperties(QSettings &qs, const QString &prefix) const\n{\n    int rc = true;\n\n    qs.value(prefix + \"foldcomments\", fold_comments);\n    qs.value(prefix + \"foldcompact\", fold_compact);\n    qs.value(prefix + \"processcomments\", process_comments);\n    qs.value(prefix + \"processif\", process_if);\n\n    return rc;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerTeX::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerTeX::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\", (fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact.\nvoid QsciLexerTeX::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerTeX::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if comments are processed\nvoid QsciLexerTeX::setProcessComments(bool enable)\n{\n    process_comments = enable;\n\n    setProcessCommentsProp();\n}\n\n\n// Set the \"lexer.tex.comment.process\" property.\nvoid QsciLexerTeX::setProcessCommentsProp()\n{\n    emit propertyChanged(\"lexer.tex.comment.process\", (process_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if \\if<unknown> is processed\nvoid QsciLexerTeX::setProcessIf(bool enable)\n{\n    process_if = enable;\n\n    setAutoIfProp();\n}\n\n\n// Set the \"lexer.tex.auto.if\" property.\nvoid QsciLexerTeX::setAutoIfProp()\n{\n    emit propertyChanged(\"lexer.tex.auto.if\", (process_if ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexertext.cpp",
    "content": "﻿#include \"Qsci/qscilexertext.h\"\r\n#include \"Qsci/qsciscintillabase.h\"\r\n\r\n#include <qcolor.h>\r\n#include <qfont.h>\r\n#include <qsettings.h>\r\n\r\n#if defined(Q_OS_WIN)\r\nQFont QsciLexerText::s_defaultTxtFont(u8\"宋体\", QsciLexer::s_defaultFontSize);\r\n#elif defined(Q_OS_MAC)\r\n    QFont QsciLexerText::s_defaultTxtFont(\"STSong\",14);\r\n#else\r\n    QFont QsciLexerText::s_defaultTxtFont(\"Courier 10 Pitch\", 12);\r\n#endif\r\n\r\n\r\nQsciLexerText::QsciLexerText(QObject *parent)\r\n\t: QsciLexer(parent)\r\n{\r\n\tsetLexerId(L_TXT);\r\n\tm_commentSymbol = \"#\";\r\n}\r\n\r\nQsciLexerText::~QsciLexerText()\r\n{\r\n}\r\n\r\n// Returns the language name.\r\nconst char* QsciLexerText::language() const\r\n{\r\n\treturn \"TXT\";\r\n}\r\n\r\n// Returns the lexer name.\nconst char *QsciLexerText::lexer() const\n{\n\treturn \"txt\";\n}\n\r\n\r\n// Returns the foreground colour of the text for a style.\r\nQColor QsciLexerText::defaultColor(int style) const\r\n{\r\n\t//if (style == VerbatimString)\r\n\t//\treturn QColor(0x00, 0x7f, 0x00);\r\n\tif (style == Keyword)\r\n\t{\r\n\t\treturn QColor(0x00, 0x00, 0xff);\r\n\t}\r\n\r\n\treturn QsciLexer::defaultColor(style);\r\n}\r\n\r\n\r\n// Returns the end-of-line fill for a style.\r\nbool QsciLexerText::defaultEolFill(int style) const\r\n{\r\n\t//if (style == VerbatimString)\r\n\t//\treturn true;\r\n\r\n\treturn QsciLexer::defaultEolFill(style);\r\n}\r\n\r\nvoid QsciLexerText::setGlobalDefaultFont(const QFont & font)\r\n{\r\n\ts_defaultTxtFont = font;\r\n}\r\n\r\n// Returns the font of the text for a style.\r\nQFont QsciLexerText::defaultFont(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase Default:\r\n\t\treturn s_defaultTxtFont; \r\n\t\tbreak;\r\n\tcase Ascii:\r\n\t\treturn s_defaultTxtFont;\r\n\t\tbreak;\r\n\tcase Keyword:\n#if defined(Q_OS_WIN)\r\n\t{\r\n\t\tQFont f(\"Courier New\", 14);\r\n\t\tf.setBold(true);\r\n\t\treturn f;\r\n\t}\r\n#elif defined(Q_OS_MAC)\r\n\t{\r\n\t\tQFont f(\"Courier New\", 18);\r\n\t\tf.setBold(true);\r\n\t\treturn f;\r\n\t}\r\n#else\r\n\t{\r\n\t\tQFont f(s_defaultTxtFont);\r\n\t\tf.setBold(true);\r\n\t\treturn f;\r\n\t}\r\n#endif\n\t\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n}\r\n\treturn s_defaultTxtFont;\r\n}\r\n\r\n\r\n// Returns the set of keywords.\r\nconst char* QsciLexerText::keywords(int set)\r\n{\r\n\tif (m_isUserDefineKeyword)\n\t{\n\t\t//如果是自定义用户关键字，则根据语言tag获取。只实现set=1的一组\n\t\tif (set == 1)\n\t\t{\n\t\t\treturn getUserDefineKeywords();\n\t\t}\n\t}\r\n\treturn 0;\r\n}\r\n\r\n\r\n// Returns the user name of a style.\r\nQString QsciLexerText::description(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase Default:\r\n\t\treturn tr(\"Chinese And Others\");\r\n\t\tbreak;\r\n\tcase Ascii:\r\n\t\treturn tr(\"Ascii\");\r\n\t\tbreak;\r\n\tcase Keyword:\r\n\t\tif (m_isUserDefineKeyword)\r\n\t\t{\r\n\t\t\treturn tr(\"Keyword\");\r\n\t\t}\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QString();\r\n}\r\n\r\n\r\n// Returns the background colour of the text for a style.\r\nQColor QsciLexerText::defaultPaper(int style) const\r\n{\r\n\t//if (style == VerbatimString)\r\n\t//\treturn QColor(0xe0, 0xff, 0xe0);\r\n\r\n\treturn QsciLexer::defaultPaper(style);\r\n}\r\n\r\n// Return the lexer identifier.\n//int QsciLexerText::lexerId() const\n//{\n//\treturn L_TXT;\n//}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexervb.cpp",
    "content": "#include \"Qsci/qscilexervb.h\"\r\n\r\nQsciLexerVB::QsciLexerVB(QObject *parent)\r\n\t: QsciLexer(parent)\r\n{\r\n\tsetLexerId(L_VB);\r\n\tm_commentSymbol = \"'\";\r\n}\r\n\r\nQsciLexerVB::~QsciLexerVB()\r\n{}\r\n\r\nconst char * QsciLexerVB::language() const\r\n{\r\n\treturn \"VB\";\r\n}\r\n\r\nconst char * QsciLexerVB::lexer() const\r\n{\r\n\treturn \"vb\";\r\n}\r\n\r\nQColor QsciLexerVB::defaultPaper(int style) const\r\n{\r\n\treturn QsciLexer::defaultPaper(style);\r\n}\r\n\r\nconst char * QsciLexerVB::keywords(int set)\r\n{\r\n\treturn \"and beep begin boolean byte cbool cbyte ccur cdate cdbl cdec \"\r\n\t\t\"cint clng csng cstr cverr cvar call case choose clear \"\r\n\t\t\"command const currency date deftype dim do doevents double \"\r\n\t\t\"each else end environ eqv erase err error exit explicit fix \"\r\n\t\t\"for function get gosub goto if imp int integer is isarray isdate \"\r\n\t\t\"isempty iserror ismissing isnull isnumeric isobject lbound let like \"\r\n\t\t\"long loop me mod module new next not object on option or private \"\r\n\t\t\"property public raise redim resume return select sendkeys shell single \"\r\n\t\t\"static stop string sub switch then typename ubound vartype variant wend \"\r\n\t\t\"while with xor\";\r\n}\r\n\r\nQColor QsciLexerVB::defaultColor(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase VB_KEYWORD:\r\n\tcase VB_KEYWORD2:\r\n\tcase VB_KEYWORD3:\r\n\tcase VB_KEYWORD4:\r\n\tcase VB_DOCKEYWORD:\r\n\t\treturn QColor(0x00, 0x00, 0xff);\r\n\tcase VB_NUMBER:\n\t\treturn QColor(0x00, 0x7f, 0x7f);\r\n\tcase VB_STRING:\n\t\treturn QColor(0x7f, 0x00, 0x7f);\r\n\tcase VB_OPERATOR:\r\n\t\treturn QColor(0xff, 0x00, 0x00);\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QsciLexer::defaultColor(style);\r\n}\r\n\r\nQFont QsciLexerVB::defaultFont(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase VB_KEYWORD:\r\n\tcase VB_KEYWORD2:\r\n\tcase VB_KEYWORD3:\r\n\tcase VB_KEYWORD4:\r\n\tcase VB_DOCKEYWORD:\r\n\t{\r\n\t\tQFont f = QsciLexer::defaultFont(style);\r\n\t\tf.setBold(true);\r\n\t\treturn f;\r\n\t}\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QsciLexer::defaultFont(style);\r\n}\r\n\r\nQString QsciLexerVB::description(int style) const\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase VB_DEFAULT:\r\n\t\treturn \"Default\";\r\n\tcase VB_COMMENT:\r\n\t\treturn \"comment\";\r\n\tcase VB_NUMBER:\r\n\t\treturn \"num\";\r\n\tcase VB_KEYWORD:\r\n\t\treturn \"keyword\";\r\n\tcase VB_STRING:\r\n\t\treturn \"string\";\r\n\tcase VB_PREPROCESSOR:\r\n\t\treturn \"preprocessor\";\r\n\tcase VB_OPERATOR:\r\n\t\treturn \"operator\";\r\n\tcase VB_IDENTIFIER:\r\n\t\treturn \"identifier\";\r\n\tcase VB_DATE:\r\n\t\treturn \"date\";\r\n\tcase VB_STRINGEOL:\r\n\t\treturn \"stringeol\";\r\n\tcase VB_KEYWORD2:\r\n\t\treturn \"keyword2\";\r\n\tcase VB_KEYWORD3:\r\n\t\treturn \"keyword3\";\r\n\tcase VB_KEYWORD4:\r\n\t\treturn \"keyword4\";\r\n\tcase VB_CONSTANT:\r\n\t\treturn \"constant\";\r\n\tcase VB_ASM:\r\n\t\treturn \"asm\";\r\n\tcase VB_LABEL:\r\n\t\treturn \"label\";\r\n\tcase VB_ERROR:\r\n\t\treturn \"error\";\r\n\tcase VB_HEXNUMBER:\r\n\t\treturn \"hexnumber\";\r\n\tcase VB_BINNUMBER:\r\n\t\treturn \"binnumber\";\r\n\tcase VB_COMMENTBLOCK:\r\n\t\treturn \"commentblock\";\r\n\tcase VB_DOCLINE:\r\n\t\treturn \"docline\";\r\n\tcase VB_DOCBLOCK:\r\n\t\treturn \"docblock\";\r\n\tcase VB_DOCKEYWORD:\r\n\t\treturn \"dockeyword\";\r\n\tcase VB_PROPS_DEFAULT:\r\n\t\treturn \"propdefault\";\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QString();\r\n}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexerverilog.cpp",
    "content": "﻿// This module implements the QsciLexerVerilog class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexerverilog.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerVerilog::QsciLexerVerilog(QObject *parent)\n    : QsciLexer(parent),\n      fold_atelse(false), fold_comments(false), fold_compact(true),\n      fold_preproc(false), fold_atmodule(false)\n{\n    m_commentSymbol = \"//\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerVerilog::~QsciLexerVerilog()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerVerilog::language() const\n{\n    return \"Verilog\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerVerilog::lexer() const\n{\n    return \"verilog\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerVerilog::braceStyle() const\n{\n    return Operator;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerVerilog::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"always and assign automatic begin buf bufif0 bufif1 case casex \"\n            \"casez cell cmos config deassign default defparam design disable \"\n            \"edge else end endcase endconfig endfunction endgenerate \"\n            \"endmodule endprimitiveendspecify endtable endtask event for \"\n            \"force forever fork function generate genvar highz0 highz1 if \"\n            \"ifnone incdir include initial inout input instance integer join \"\n            \"large liblist library localparam macromodule medium module nand \"\n            \"negedge nmos nor noshowcancelled not notif0 notif1 or output \"\n            \"parameter pmos posedge primitive pull0 pull1 pulldown pullup \"\n            \"pulsestyle_ondetect pulsestyle_onevent rcmos real realtime reg \"\n            \"release repeat rnmos rpmos rtran rtranif0 rtranif1 scalared \"\n            \"showcancelled signed small specify specparam strong0 strong1 \"\n            \"supply0 supply1 table task time tran tranif0 tranif1 tri tri0 \"\n            \"tri1 triand trior trireg unsigned use vectored wait wand weak0 \"\n            \"weak1 while wire wor xnor xor\";\n\n    if (set == 3)\n        return\n            \"$async$and$array $async$and$plane $async$nand$array \"\n            \"$async$nand$plane $async$nor$array $async$nor$plane \"\n            \"$async$or$array $async$or$plane $bitstoreal $countdrivers \"\n            \"$display $displayb $displayh $displayo $dist_chi_square \"\n            \"$dist_erlang $dist_exponential $dist_normal $dist_poisson \"\n            \"$dist_t $dist_uniform $dumpall $dumpfile $dumpflush $dumplimit \"\n            \"$dumpoff $dumpon $dumpportsall $dumpportsflush $dumpportslimit \"\n            \"$dumpportsoff $dumpportson $dumpvars $fclose $fdisplayh \"\n            \"$fdisplay $fdisplayf $fdisplayb $ferror $fflush $fgetc $fgets \"\n            \"$finish $fmonitorb $fmonitor $fmonitorf $fmonitorh $fopen \"\n            \"$fread $fscanf $fseek $fsscanf $fstrobe $fstrobebb $fstrobef \"\n            \"$fstrobeh $ftel $fullskew $fwriteb $fwritef $fwriteh $fwrite \"\n            \"$getpattern $history $hold $incsave $input $itor $key $list \"\n            \"$log $monitorb $monitorh $monitoroff $monitoron $monitor \"\n            \"$monitoro $nochange $nokey $nolog $period $printtimescale \"\n            \"$q_add $q_exam $q_full $q_initialize $q_remove $random \"\n            \"$readmemb $readmemh $readmemh $realtime $realtobits $recovery \"\n            \"$recrem $removal $reset_count $reset $reset_value $restart \"\n            \"$rewind $rtoi $save $scale $scope $sdf_annotate $setup \"\n            \"$setuphold $sformat $showscopes $showvariables $showvars \"\n            \"$signed $skew $sreadmemb $sreadmemh $stime $stop $strobeb \"\n            \"$strobe $strobeh $strobeo $swriteb $swriteh $swriteo $swrite \"\n            \"$sync$and$array $sync$and$plane $sync$nand$array \"\n            \"$sync$nand$plane $sync$nor$array $sync$nor$plane $sync$or$array \"\n            \"$sync$or$plane $test$plusargs $time $timeformat $timeskew \"\n            \"$ungetc $unsigned $value$plusargs $width $writeb $writeh $write \"\n            \"$writeo\";\n\n    return 0;\n}\n\n\n// Return the string of characters that comprise a word.\nconst char *QsciLexerVerilog::wordCharacters() const\n{\n    return \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerVerilog::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n    case InactiveComment:\n    case InactiveCommentLine:\n    case InactiveCommentBang:\n    case InactiveNumber:\n    case InactiveKeyword:\n    case InactiveString:\n    case InactiveKeywordSet2:\n    case InactiveSystemTask:\n    case InactivePreprocessor:\n    case InactiveOperator:\n    case InactiveIdentifier:\n    case InactiveUnclosedString:\n    case InactiveUserKeywordSet:\n    case InactiveCommentKeyword:\n    case InactiveDeclareInputPort:\n    case InactiveDeclareOutputPort:\n    case InactiveDeclareInputOutputPort:\n    case InactivePortConnection:\n        return QColor(0x80, 0x80, 0x80);\n\n    case Comment:\n    case CommentLine:\n        return QColor(0x00, 0x7f, 0x00);\n\n    case CommentBang:\n        return QColor(0x3f, 0x7f, 0x3f);\n\n    case Number:\n    case KeywordSet2:\n        return QColor(0x00, 0x7f, 0x7f);\n\n    case Keyword:\n    case DeclareOutputPort:\n        return QColor(0x80, 0x00, 0xff);\n\n    case String:\n        return QColor(0x7f, 0x00, 0x7f);\n\n    case SystemTask:\n        return QColor(0x80, 0x40, 0x20);\n\n    case Preprocessor:\n        return QColor(0x7f, 0x7f, 0x00);\n\n    case Operator:\n        return QColor(0x00, 0x70, 0x70);\n\n    case UnclosedString:\n        return QColor(0x00, 0x00, 0x00);\n\n    case UserKeywordSet:\n    case CommentKeyword:\n        return QColor(0x2a, 0x00, 0xff);\n\n    case DeclareInputPort:\n        return QColor(0x7f, 0x00, 0x00);\n\n    case DeclareInputOutputPort:\n        return QColor(0x00, 0x00, 0xff);\n\n    case PortConnection:\n        return QColor(0x00, 0x50, 0x32);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerVerilog::defaultEolFill(int style) const\n{\n    switch (style)\n    {\n    case CommentBang:\n    case UnclosedString:\n    case InactiveDefault:\n    case InactiveComment:\n    case InactiveCommentLine:\n    case InactiveCommentBang:\n    case InactiveNumber:\n    case InactiveKeyword:\n    case InactiveString:\n    case InactiveKeywordSet2:\n    case InactiveSystemTask:\n    case InactivePreprocessor:\n    case InactiveOperator:\n    case InactiveIdentifier:\n    case InactiveUnclosedString:\n    case InactiveUserKeywordSet:\n    case InactiveCommentKeyword:\n    case InactiveDeclareInputPort:\n    case InactiveDeclareOutputPort:\n    case InactiveDeclareInputOutputPort:\n    case InactivePortConnection:\n        return true;\n    }\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerVerilog::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n    case CommentBang:\n    case UserKeywordSet:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    case Keyword:\n    case PortConnection:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(false);\n        break;\n\n    case InactiveDefault:\n    case InactiveComment:\n    case InactiveCommentLine:\n    case InactiveCommentBang:\n    case InactiveNumber:\n    case InactiveKeyword:\n    case InactiveString:\n    case InactiveKeywordSet2:\n    case InactiveSystemTask:\n    case InactivePreprocessor:\n    case InactiveOperator:\n    case InactiveIdentifier:\n    case InactiveUnclosedString:\n    case InactiveUserKeywordSet:\n    case InactiveCommentKeyword:\n    case InactiveDeclareInputPort:\n    case InactiveDeclareOutputPort:\n    case InactiveDeclareInputOutputPort:\n    case InactivePortConnection:\n        f = QsciLexer::defaultFont(style);\n        f.setItalic(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerVerilog::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case InactiveDefault:\n        return tr(\"Inactive default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case InactiveComment:\n        return tr(\"Inactive comment\");\n\n    case CommentLine:\n        return tr(\"Line comment\");\n\n    case InactiveCommentLine:\n        return tr(\"Inactive line comment\");\n\n    case CommentBang:\n        return tr(\"Bang comment\");\n\n    case InactiveCommentBang:\n        return tr(\"Inactive bang comment\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case InactiveNumber:\n        return tr(\"Inactive number\");\n\n    case Keyword:\n        return tr(\"Primary keywords and identifiers\");\n\n    case InactiveKeyword:\n        return tr(\"Inactive primary keywords and identifiers\");\n\n    case String:\n        return tr(\"String\");\n\n    case InactiveString:\n        return tr(\"Inactive string\");\n\n    case KeywordSet2:\n        return tr(\"Secondary keywords and identifiers\");\n\n    case InactiveKeywordSet2:\n        return tr(\"Inactive secondary keywords and identifiers\");\n\n    case SystemTask:\n        return tr(\"System task\");\n\n    case InactiveSystemTask:\n        return tr(\"Inactive system task\");\n\n    case Preprocessor:\n        return tr(\"Preprocessor block\");\n\n    case InactivePreprocessor:\n        return tr(\"Inactive preprocessor block\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case InactiveOperator:\n        return tr(\"Inactive operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case InactiveIdentifier:\n        return tr(\"Inactive identifier\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case InactiveUnclosedString:\n        return tr(\"Inactive unclosed string\");\n\n    case UserKeywordSet:\n        return tr(\"User defined tasks and identifiers\");\n\n    case InactiveUserKeywordSet:\n        return tr(\"Inactive user defined tasks and identifiers\");\n\n    case CommentKeyword:\n        return tr(\"Keyword comment\");\n\n    case InactiveCommentKeyword:\n        return tr(\"Inactive keyword comment\");\n\n    case DeclareInputPort:\n        return tr(\"Input port declaration\");\n\n    case InactiveDeclareInputPort:\n        return tr(\"Inactive input port declaration\");\n\n    case DeclareOutputPort:\n        return tr(\"Output port declaration\");\n\n    case InactiveDeclareOutputPort:\n        return tr(\"Inactive output port declaration\");\n\n    case DeclareInputOutputPort:\n        return tr(\"Input/output port declaration\");\n\n    case InactiveDeclareInputOutputPort:\n        return tr(\"Inactive input/output port declaration\");\n\n    case PortConnection:\n        return tr(\"Port connection\");\n\n    case InactivePortConnection:\n        return tr(\"Inactive port connection\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerVerilog::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case CommentBang:\n        return QColor(0xe0, 0xf0, 0xff);\n\n    case UnclosedString:\n        return QColor(0xe0, 0xc0, 0xe0);\n\n    case InactiveDefault:\n    case InactiveComment:\n    case InactiveCommentLine:\n    case InactiveCommentBang:\n    case InactiveNumber:\n    case InactiveKeyword:\n    case InactiveString:\n    case InactiveKeywordSet2:\n    case InactiveSystemTask:\n    case InactivePreprocessor:\n    case InactiveOperator:\n    case InactiveIdentifier:\n    case InactiveUnclosedString:\n    case InactiveUserKeywordSet:\n    case InactiveCommentKeyword:\n    case InactiveDeclareInputPort:\n    case InactiveDeclareOutputPort:\n    case InactiveDeclareInputOutputPort:\n    case InactivePortConnection:\n        return QColor(0xe0, 0xe0, 0xe0);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerVerilog::refreshProperties()\n{\n    setAtElseProp();\n    setCommentProp();\n    setCompactProp();\n    setPreprocProp();\n    setAtModuleProp();\n\n    // We don't provide options for these as there doesn't seem much point in\n    // disabling them.\n    emit propertyChanged(\"lexer.verilog.track.preprocessor\", \"1\");\n    emit propertyChanged(\"lexer.verilog.update.preprocessor\", \"1\");\n    emit propertyChanged(\"lexer.verilog.portstyling\", \"1\");\n    emit propertyChanged(\"lexer.verilog.allupperkeywords\", \"1\");\n}\n\n\n// Read properties from the settings.\nbool QsciLexerVerilog::readProperties(QSettings &qs,const QString &prefix)\n{\n    fold_atelse = qs.value(prefix + \"foldatelse\", false).toBool();\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_preproc = qs.value(prefix + \"foldpreprocessor\", false).toBool();\n    fold_atmodule = qs.value(prefix + \"foldverilogflags\", false).toBool();\n\n    return true;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerVerilog::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldpreprocessor\", fold_preproc);\n    qs.setValue(prefix + \"foldverilogflags\", fold_atmodule);\n\n    return true;\n}\n\n\n// Set if else can be folded.\nvoid QsciLexerVerilog::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.at.else\" property.\nvoid QsciLexerVerilog::setAtElseProp()\n{\n    emit propertyChanged(\"fold.at.else\", (fold_atelse ? \"1\" : \"0\"));\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerVerilog::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerVerilog::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\", (fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Set if folds are compact\nvoid QsciLexerVerilog::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerVerilog::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\", (fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Set if preprocessor blocks can be folded.\nvoid QsciLexerVerilog::setFoldPreprocessor(bool fold)\n{\n    fold_preproc = fold;\n\n    setPreprocProp();\n}\n\n\n// Set the \"fold.preprocessor\" property.\nvoid QsciLexerVerilog::setPreprocProp()\n{\n    emit propertyChanged(\"fold.preprocessor\", (fold_preproc ? \"1\" : \"0\"));\n}\n\n\n// Set if modules can be folded.\nvoid QsciLexerVerilog::setFoldAtModule(bool fold)\n{\n    fold_atmodule = fold;\n\n    setAtModuleProp();\n}\n\n\n// Set the \"fold.verilog.flags\" property.\nvoid QsciLexerVerilog::setAtModuleProp()\n{\n    emit propertyChanged(\"fold.verilog.flags\", (fold_atmodule ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexervhdl.cpp",
    "content": "﻿// This module implements the QsciLexerVHDL class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexervhdl.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerVHDL::QsciLexerVHDL(QObject *parent)\n    : QsciLexer(parent),\n      fold_comments(true), fold_compact(true), fold_atelse(true),\n      fold_atbegin(true), fold_atparenth(true)\n{\n    m_commentSymbol = \"--\";\n    m_commentStart = \"/*\";\n    m_commentEnd = \"*/\";\n}\n\n\n// The dtor.\nQsciLexerVHDL::~QsciLexerVHDL()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerVHDL::language() const\n{\n    return \"VHDL\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerVHDL::lexer() const\n{\n    return \"vhdl\";\n}\n\n\n// Return the style used for braces.\nint QsciLexerVHDL::braceStyle() const\n{\n    return Attribute;\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerVHDL::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x80,0x00,0x80);\n\n    case Comment:\n        return QColor(0x00,0x7f,0x00);\n\n    case CommentLine:\n        return QColor(0x3f,0x7f,0x3f);\n\n    case Number:\n    case StandardOperator:\n        return QColor(0x00,0x7f,0x7f);\n\n    case String:\n        return QColor(0x7f,0x00,0x7f);\n\n    case UnclosedString:\n        return QColor(0x00,0x00,0x00);\n\n    case Keyword:\n        return QColor(0x80, 0x00, 0xff);\n\n    case Attribute:\n        return QColor(0x80,0x40,0x20);\n\n    case StandardFunction:\n        return QColor(0x80,0x80,0x20);\n\n    case StandardPackage:\n        return QColor(0x20,0x80,0x20);\n\n    case StandardType:\n        return QColor(0x20,0x80,0x80);\n\n    case KeywordSet7:\n        return QColor(0x80,0x40,0x20);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerVHDL::defaultEolFill(int style) const\n{\n    if (style == UnclosedString)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerVHDL::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Comment:\n    case CommentLine:\n    case KeywordSet7:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\",QsciLexer::s_defaultFontSize);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerVHDL::keywords(int set)\n{\n    if (set == 1)\n        return\n            \"access after alias all architecture array assert attribute begin \"\n            \"block body buffer bus case component configuration constant \"\n            \"disconnect downto else elsif end entity exit file for function \"\n            \"generate generic group guarded if impure in inertial inout is \"\n            \"label library linkage literal loop map new next null of on open \"\n            \"others out package port postponed procedure process pure range \"\n            \"record register reject report return select severity shared \"\n            \"signal subtype then to transport type unaffected units until use \"\n            \"variable wait when while with\";\n\n    if (set == 2)\n        return\n            \"abs and mod nand nor not or rem rol ror sla sll sra srl xnor xor\";\n\n    if (set == 3)\n        return\n            \"left right low high ascending image value pos val succ pred \"\n            \"leftof rightof base range reverse_range length delayed stable \"\n            \"quiet transaction event active last_event last_active last_value \"\n            \"driving driving_value simple_name path_name instance_name\";\n\n    if (set == 4)\n        return\n            \"now readline read writeline write endfile resolved to_bit \"\n            \"to_bitvector to_stdulogic to_stdlogicvector to_stdulogicvector \"\n            \"to_x01 to_x01z to_UX01 rising_edge falling_edge is_x shift_left \"\n            \"shift_right rotate_left rotate_right resize to_integer \"\n            \"to_unsigned to_signed std_match to_01\";\n\n    if (set == 5)\n        return\n            \"std ieee work standard textio std_logic_1164 std_logic_arith \"\n            \"std_logic_misc std_logic_signed std_logic_textio \"\n            \"std_logic_unsigned numeric_bit numeric_std math_complex \"\n            \"math_real vital_primitives vital_timing\";\n\n    if (set == 6)\n        return\n            \"boolean bit character severity_level integer real time \"\n            \"delay_length natural positive string bit_vector file_open_kind \"\n            \"file_open_status line text side width std_ulogic \"\n            \"std_ulogic_vector std_logic std_logic_vector X01 X01Z UX01 UX01Z \"\n            \"unsigned signed\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerVHDL::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case CommentLine:\n        return tr(\"Comment line\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case String:\n        return tr(\"String\");\n\n    case Operator:\n        return tr(\"Operator\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case UnclosedString:\n        return tr(\"Unclosed string\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case StandardOperator:\n        return tr(\"Standard operator\");\n\n    case Attribute:\n        return tr(\"Attribute\");\n\n    case StandardFunction:\n        return tr(\"Standard function\");\n\n    case StandardPackage:\n        return tr(\"Standard package\");\n\n    case StandardType:\n        return tr(\"Standard type\");\n\n    case KeywordSet7:\n        return tr(\"User defined\");\n\n    case CommentBlock:\n        return tr(\"Comment block\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerVHDL::defaultPaper(int style) const\n{\n    if (style == UnclosedString)\n        return QColor(0xe0,0xc0,0xe0);\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerVHDL::refreshProperties()\n{\n    setCommentProp();\n    setCompactProp();\n    setAtElseProp();\n    setAtBeginProp();\n    setAtParenthProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerVHDL::readProperties(QSettings &qs,const QString &prefix)\n{\n    fold_comments = qs.value(prefix + \"foldcomments\", true).toBool();\n    fold_compact = qs.value(prefix + \"foldcompact\", true).toBool();\n    fold_atelse = qs.value(prefix + \"foldatelse\", true).toBool();\n    fold_atbegin = qs.value(prefix + \"foldatbegin\", true).toBool();\n    fold_atparenth = qs.value(prefix + \"foldatparenthesis\", true).toBool();\n\n    return true;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerVHDL::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n    qs.setValue(prefix + \"foldcompact\", fold_compact);\n    qs.setValue(prefix + \"foldatelse\", fold_atelse);\n    qs.setValue(prefix + \"foldatbegin\", fold_atbegin);\n    qs.setValue(prefix + \"foldatparenthesis\", fold_atparenth);\n\n    return true;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerVHDL::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerVHDL::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment\" property.\nvoid QsciLexerVHDL::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment\",(fold_comments ? \"1\" : \"0\"));\n}\n\n\n// Return true if folds are compact.\nbool QsciLexerVHDL::foldCompact() const\n{\n    return fold_compact;\n}\n\n\n// Set if folds are compact\nvoid QsciLexerVHDL::setFoldCompact(bool fold)\n{\n    fold_compact = fold;\n\n    setCompactProp();\n}\n\n\n// Set the \"fold.compact\" property.\nvoid QsciLexerVHDL::setCompactProp()\n{\n    emit propertyChanged(\"fold.compact\",(fold_compact ? \"1\" : \"0\"));\n}\n\n\n// Return true if else blocks can be folded.\nbool QsciLexerVHDL::foldAtElse() const\n{\n    return fold_atelse;\n}\n\n\n// Set if else blocks can be folded.\nvoid QsciLexerVHDL::setFoldAtElse(bool fold)\n{\n    fold_atelse = fold;\n\n    setAtElseProp();\n}\n\n\n// Set the \"fold.at.else\" property.\nvoid QsciLexerVHDL::setAtElseProp()\n{\n    emit propertyChanged(\"fold.at.else\",(fold_atelse ? \"1\" : \"0\"));\n}\n\n\n// Return true if begin blocks can be folded.\nbool QsciLexerVHDL::foldAtBegin() const\n{\n    return fold_atbegin;\n}\n\n\n// Set if begin blocks can be folded.\nvoid QsciLexerVHDL::setFoldAtBegin(bool fold)\n{\n    fold_atbegin = fold;\n\n    setAtBeginProp();\n}\n\n\n// Set the \"fold.at.Begin\" property.\nvoid QsciLexerVHDL::setAtBeginProp()\n{\n    emit propertyChanged(\"fold.at.Begin\",(fold_atelse ? \"1\" : \"0\"));\n}\n\n\n// Return true if blocks can be folded at a parenthesis.\nbool QsciLexerVHDL::foldAtParenthesis() const\n{\n    return fold_atparenth;\n}\n\n\n// Set if blocks can be folded at a parenthesis.\nvoid QsciLexerVHDL::setFoldAtParenthesis(bool fold)\n{\n    fold_atparenth = fold;\n\n    setAtParenthProp();\n}\n\n\n// Set the \"fold.at.Parenthese\" property.\nvoid QsciLexerVHDL::setAtParenthProp()\n{\n    emit propertyChanged(\"fold.at.Parenthese\",(fold_atparenth ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscilexerxml.cpp",
    "content": "﻿// This module implements the QsciLexerXML class.\r\n//\r\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\r\n// \r\n// This file is part of QScintilla.\r\n// \r\n// This file may be used under the terms of the GNU General Public License\r\n// version 3.0 as published by the Free Software Foundation and appearing in\r\n// the file LICENSE included in the packaging of this file.  Please review the\r\n// following information to ensure the GNU General Public License version 3.0\r\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\r\n// \r\n// If you do not wish to use this file under the terms of the GPL version 3.0\r\n// then you may purchase a commercial license.  For more information contact\r\n// info@riverbankcomputing.com.\r\n// \r\n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\r\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r\n\r\n\r\n#include \"Qsci/qscilexerxml.h\"\r\n\r\n#include <qcolor.h>\r\n#include <qfont.h>\r\n#include <qsettings.h>\r\n\r\n\r\n// The ctor.\r\nQsciLexerXML::QsciLexerXML(QObject *parent)\r\n    : QsciLexerHTML(parent), scripts(true)\r\n{\r\n    m_commentSymbol = \"\";\r\n    m_commentStart = \"<!--\";\r\n    m_commentEnd = \"-->\";\r\n}\r\n\r\n\r\n// The dtor.\r\nQsciLexerXML::~QsciLexerXML()\r\n{\r\n}\r\n\r\n\r\n// Returns the language name.\r\nconst char *QsciLexerXML::language() const\r\n{\r\n    return \"XML\";\r\n}\r\n\r\n\r\n// Returns the lexer name.\r\nconst char *QsciLexerXML::lexer() const\r\n{\r\n    return \"xml\";\r\n}\r\n\r\n\r\n// Returns the foreground colour of the text for a style.\r\nQColor QsciLexerXML::defaultColor(int style) const\r\n{\r\n    switch (style)\r\n    {\r\n    case Default:\r\n        return QColor(0x00,0x00,0x00);\r\n\r\n    case Tag:\r\n    case UnknownTag:\r\n    case XMLTagEnd:\r\n    case SGMLDefault:\r\n    case SGMLCommand:\r\n        return QColor(0x00,0x00,0xff);\r\n\r\n    case Attribute:\r\n    case UnknownAttribute:\r\n        return QColor(0xff,0x0,0x0);\r\n\r\n    case HTMLNumber:\r\n        return QColor(0x00,0x7f,0x7f);\r\n\r\n    case HTMLDoubleQuotedString:\r\n    case HTMLSingleQuotedString:\r\n        return QColor(0x7f,0x00,0x7f);\r\n\r\n    case OtherInTag:\r\n    case Entity:\r\n    case XMLStart:\r\n    case XMLEnd:\r\n        return QColor(0x80,0x00,0x80);\r\n\r\n    case HTMLComment:\r\n    case SGMLComment:\r\n        return QColor(0x80,0x80,0x00);\r\n\r\n    case CDATA:\r\n    case PHPStart:\r\n    case SGMLDoubleQuotedString:\r\n    case SGMLError:\r\n        return QColor(0x80,0x00,0x00);\r\n\r\n    case HTMLValue:\r\n        return QColor(0x60,0x80,0x60);\r\n\r\n    case SGMLParameter:\r\n        return QColor(0x00,0x66,0x00);\r\n\r\n    case SGMLSingleQuotedString:\r\n        return QColor(0x99,0x33,0x00);\r\n\r\n    case SGMLSpecial:\r\n        return QColor(0x33,0x66,0xff);\r\n\r\n    case SGMLEntity:\r\n        return QColor(0x33,0x33,0x33);\r\n\r\n    case SGMLBlockDefault:\r\n        return QColor(0x00,0x00,0x66);\r\n    }\r\n\r\n    return QsciLexerHTML::defaultColor(style);\r\n}\r\n\r\n\r\n// Returns the end-of-line fill for a style.\r\nbool QsciLexerXML::defaultEolFill(int style) const\r\n{\r\n    if (style == CDATA)\r\n        return true;\r\n\r\n    return QsciLexerHTML::defaultEolFill(style);\r\n}\r\n\r\n\r\n// Returns the font of the text for a style.\r\nQFont QsciLexerXML::defaultFont(int style) const\r\n{\r\n    QFont f;\r\n\r\n    switch (style)\r\n    {\r\n    case Default:\r\n    case Entity:\r\n    case CDATA:\r\n#if defined(Q_OS_WIN)\r\n        f = QFont(\"Courier New\",13);\r\n#elif defined(Q_OS_MAC)\r\n        f = QFont(\"Courier New\", 13);\r\n#else\r\n        f = QFont(\"Bitstream Charter\",10);\r\n#endif\r\n        break;\r\n\r\n    case XMLStart:\r\n    case XMLEnd:\r\n    case SGMLCommand:\r\n        f = QsciLexer::defaultFont(style);\r\n        f.setBold(true);\r\n        break;\r\n\r\n    default:\r\n        f = QsciLexerHTML::defaultFont(style);\r\n    }\r\n\r\n    return f;\r\n}\r\n\r\n\r\n// Returns the set of keywords.\r\nconst char *QsciLexerXML::keywords(int set)\r\n{\r\n    if (set == 6)\r\n        return QsciLexerHTML::keywords(set);\r\n\r\n    return 0;\r\n}\r\n\r\n\r\n// Returns the background colour of the text for a style.\r\nQColor QsciLexerXML::defaultPaper(int style) const\r\n{\r\n    switch (style)\r\n    {\r\n    case CDATA:\r\n        return QColor(0xff,0xf0,0xf0);\r\n\r\n    case SGMLDefault:\r\n    case SGMLCommand:\r\n    case SGMLParameter:\r\n    case SGMLDoubleQuotedString:\r\n    case SGMLSingleQuotedString:\r\n    case SGMLSpecial:\r\n    case SGMLEntity:\r\n    case SGMLComment:\r\n        return QColor(0xef,0xef,0xff);\r\n\r\n    case SGMLError:\r\n        return QColor(0xff,0x66,0x66);\r\n\r\n    case SGMLBlockDefault:\r\n        return QColor(0xcc,0xcc,0xe0);\r\n    }\r\n\r\n    return QsciLexerHTML::defaultPaper(style);\r\n}\r\n\r\n\r\n// Refresh all properties.\r\nvoid QsciLexerXML::refreshProperties()\r\n{\r\n    setScriptsProp();\r\n}\r\n\r\n\r\n// Read properties from the settings.\r\nbool QsciLexerXML::readProperties(QSettings &qs, const QString &prefix)\r\n{\r\n    int rc = QsciLexerHTML::readProperties(qs, prefix);\r\n\r\n    scripts = qs.value(prefix + \"scriptsstyled\", true).toBool();\r\n\r\n    return rc;\r\n}\r\n\r\n\r\n// Write properties to the settings.\r\nbool QsciLexerXML::writeProperties(QSettings &qs, const QString &prefix) const\r\n{\r\n    int rc = QsciLexerHTML::writeProperties(qs, prefix);\r\n\r\n    qs.setValue(prefix + \"scriptsstyled\", scripts);\r\n\r\n    return rc;\r\n}\r\n\r\n\r\n// Return true if scripts are styled.\r\nbool QsciLexerXML::scriptsStyled() const\r\n{\r\n    return scripts;\r\n}\r\n\r\n\r\n// Set if scripts are styled.\r\nvoid QsciLexerXML::setScriptsStyled(bool styled)\r\n{\r\n    scripts = styled;\r\n\r\n    setScriptsProp();\r\n}\r\n\r\n\r\n// Set the \"lexer.xml.allow.scripts\" property.\r\nvoid QsciLexerXML::setScriptsProp()\r\n{\r\n    emit propertyChanged(\"lexer.xml.allow.scripts\",(scripts ? \"1\" : \"0\"));\r\n}\r\n\r\n\r\nint QsciLexerXML::lexerId() const\r\n{\r\n\treturn L_XML;\r\n}\r\n"
  },
  {
    "path": "src/qscint/src/qscilexeryaml.cpp",
    "content": "﻿// This module implements the QsciLexerYAML class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscilexeryaml.h\"\n\n#include <qcolor.h>\n#include <qfont.h>\n#include <qsettings.h>\n\n\n// The ctor.\nQsciLexerYAML::QsciLexerYAML(QObject *parent)\n    : QsciLexer(parent), fold_comments(false)\n{\n    m_commentSymbol = \"#\";\n}\n\n\n// The dtor.\nQsciLexerYAML::~QsciLexerYAML()\n{\n}\n\n\n// Returns the language name.\nconst char *QsciLexerYAML::language() const\n{\n    return \"YAML\";\n}\n\n\n// Returns the lexer name.\nconst char *QsciLexerYAML::lexer() const\n{\n    return \"yaml\";\n}\n\n\n// Returns the foreground colour of the text for a style.\nQColor QsciLexerYAML::defaultColor(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return QColor(0x00,0x00,0x00);\n\n    case Comment:\n        return QColor(0x00,0x88,0x00);\n\n    case Identifier:\n        return QColor(0x00,0x00,0x88);\n\n    case Keyword:\n        return QColor(0x88,0x00,0x88);\n\n    case Number:\n        return QColor(0x88,0x00,0x00);\n\n    case Reference:\n        return QColor(0x00,0x88,0x88);\n\n    case DocumentDelimiter:\n    case SyntaxErrorMarker:\n        return QColor(0xff,0xff,0xff);\n\n    case TextBlockMarker:\n        return QColor(0x33,0x33,0x66);\n    }\n\n    return QsciLexer::defaultColor(style);\n}\n\n\n// Returns the end-of-line fill for a style.\nbool QsciLexerYAML::defaultEolFill(int style) const\n{\n    if (style == DocumentDelimiter || style == SyntaxErrorMarker)\n        return true;\n\n    return QsciLexer::defaultEolFill(style);\n}\n\n\n// Returns the font of the text for a style.\nQFont QsciLexerYAML::defaultFont(int style) const\n{\n    QFont f;\n\n    switch (style)\n    {\n    case Default:\n    case TextBlockMarker:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Courier New\", 14);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Times New Roman\", 12);\n#else\n        f = QFont(\"Bitstream Charter\", 10);\n#endif\n        break;\n\n    case Identifier:\n        f = QsciLexer::defaultFont(style);\n        f.setBold(true);\n        break;\n\n    case DocumentDelimiter:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Comic Sans MS\",9);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Comic Sans MS\", 12);\n#else\n        f = QFont(\"Bitstream Vera Serif\",9);\n#endif\n        f.setBold(true);\n        break;\n\n    case SyntaxErrorMarker:\n#if defined(Q_OS_WIN)\n        f = QFont(\"Times New Roman\", 11);\n#elif defined(Q_OS_MAC)\n        f = QFont(\"Times New Roman\", 12);\n#else\n        f = QFont(\"Bitstream Charter\", 10);\n#endif\n        f.setBold(true);\n        f.setItalic(true);\n        break;\n\n    default:\n        f = QsciLexer::defaultFont(style);\n    }\n\n    return f;\n}\n\n\n// Returns the set of keywords.\nconst char *QsciLexerYAML::keywords(int set)\n{\n    if (set == 1)\n        return \"true false yes no\";\n\n    return 0;\n}\n\n\n// Returns the user name of a style.\nQString QsciLexerYAML::description(int style) const\n{\n    switch (style)\n    {\n    case Default:\n        return tr(\"Default\");\n\n    case Comment:\n        return tr(\"Comment\");\n\n    case Identifier:\n        return tr(\"Identifier\");\n\n    case Keyword:\n        return tr(\"Keyword\");\n\n    case Number:\n        return tr(\"Number\");\n\n    case Reference:\n        return tr(\"Reference\");\n\n    case DocumentDelimiter:\n        return tr(\"Document delimiter\");\n\n    case TextBlockMarker:\n        return tr(\"Text block marker\");\n\n    case SyntaxErrorMarker:\n        return tr(\"Syntax error marker\");\n\n    case Operator:\n        return tr(\"Operator\");\n    }\n\n    return QString();\n}\n\n\n// Returns the background colour of the text for a style.\nQColor QsciLexerYAML::defaultPaper(int style) const\n{\n    switch (style)\n    {\n    case DocumentDelimiter:\n        return QColor(0x00,0x00,0x88);\n\n    case SyntaxErrorMarker:\n        return QColor(0xff,0x00,0x00);\n    }\n\n    return QsciLexer::defaultPaper(style);\n}\n\n\n// Refresh all properties.\nvoid QsciLexerYAML::refreshProperties()\n{\n    setCommentProp();\n}\n\n\n// Read properties from the settings.\nbool QsciLexerYAML::readProperties(QSettings &qs,const QString &prefix)\n{\n    int rc = true;\n\n    fold_comments = qs.value(prefix + \"foldcomments\", false).toBool();\n\n    return rc;\n}\n\n\n// Write properties to the settings.\nbool QsciLexerYAML::writeProperties(QSettings &qs,const QString &prefix) const\n{\n    int rc = true;\n\n    qs.setValue(prefix + \"foldcomments\", fold_comments);\n\n    return rc;\n}\n\n\n// Return true if comments can be folded.\nbool QsciLexerYAML::foldComments() const\n{\n    return fold_comments;\n}\n\n\n// Set if comments can be folded.\nvoid QsciLexerYAML::setFoldComments(bool fold)\n{\n    fold_comments = fold;\n\n    setCommentProp();\n}\n\n\n// Set the \"fold.comment.yaml\" property.\nvoid QsciLexerYAML::setCommentProp()\n{\n    emit propertyChanged(\"fold.comment.yaml\",(fold_comments ? \"1\" : \"0\"));\n}\n"
  },
  {
    "path": "src/qscint/src/qscimacro.cpp",
    "content": "// This module implements the QsciMacro class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscimacro.h\"\n\n#include <QStringList>\n\n#include \"Qsci/qsciscintilla.h\"\n\n\nstatic int fromHex(unsigned char ch);\n\n\n// The ctor.\nQsciMacro::QsciMacro(QsciScintilla *parent)\n    : QObject(parent), qsci(parent)\n{\n}\n\n\n// The ctor that initialises the macro.\nQsciMacro::QsciMacro(const QString &asc, QsciScintilla *parent)\n    : QObject(parent), qsci(parent)\n{\n    load(asc);\n}\n\n\n// The dtor.\nQsciMacro::~QsciMacro()\n{\n}\n\n\n// Clear the contents of the macro.\nvoid QsciMacro::clear()\n{\n    macro.clear();\n}\n\n\n// Read a macro from a string.\nbool QsciMacro::load(const QString &asc)\n{\n    bool ok = true;\n\n    macro.clear();\n\n    QStringList fields = asc.split(' ');\n\n    int f = 0;\n\n    while (f < fields.size())\n    {\n        Macro cmd;\n        unsigned len;\n\n        // Extract the 3 fixed fields.\n        if (f + 3 > fields.size())\n        {\n            ok = false;\n            break;\n        }\n\n        cmd.msg = fields[f++].toUInt(&ok);\n\n        if (!ok)\n            break;\n\n        cmd.wParam = fields[f++].toULong(&ok);\n\n        if (!ok)\n            break;\n\n        len = fields[f++].toUInt(&ok);\n\n        if (!ok)\n            break;\n\n        // Extract any text.\n        if (len)\n        {\n            if (f + 1 > fields.size())\n            {\n                ok = false;\n                break;\n            }\n\n            QByteArray ba = fields[f++].toLatin1();\n            const char *sp = ba.data();\n\n            if (!sp)\n            {\n                ok = false;\n                break;\n            }\n\n            // Because of historical bugs the length field is unreliable.\n            bool embedded_null = false;\n            unsigned char ch;\n\n            while ((ch = *sp++) != '\\0')\n            {\n                if (ch == '\"' || ch <= ' ' || ch >= 0x7f)\n                {\n                    ok = false;\n                    break;\n                }\n\n                if (ch == '\\\\')\n                {\n                    int b1, b2;\n\n                    if ((b1 = fromHex(*sp++)) < 0 ||\n                        (b2 = fromHex(*sp++)) < 0)\n                    {\n                        ok = false;\n                        break;\n                    }\n\n                    ch = (b1 << 4) + b2;\n                }\n\n                if (ch == '\\0')\n                {\n                    // Don't add it now as it may be the terminating '\\0'.\n                    embedded_null = true;\n                }\n                else\n                {\n                    if (embedded_null)\n                    {\n                        // Add the pending embedded '\\0'.\n                        cmd.text += '\\0';\n                        embedded_null = false;\n                    }\n\n                    cmd.text += ch;\n                }\n            }\n\n            if (!ok)\n                break;\n        }\n\n        macro.append(cmd);\n    }\n        \n    if (!ok)\n        macro.clear();\n\n    return ok;\n}\n\n\n// Write a macro to a string.\nQString QsciMacro::save() const\n{\n    QString ms;\n\n    QList<Macro>::const_iterator it;\n\n    for (it = macro.begin(); it != macro.end(); ++it)\n    {\n        if (!ms.isEmpty())\n            ms += ' ';\n\n        unsigned len = (*it).text.size();\n\n        ms += QString(\"%1 %2 %3\").arg((*it).msg).arg((*it).wParam).arg(len);\n\n        if (len)\n        {\n            // In Qt v3, if the length is greater than zero then it also\n            // includes the '\\0', so we need to make sure that Qt v4 writes the\n            // '\\0'.  That the '\\0' is written at all is a bug because\n            // QCString::size() is used instead of QCString::length().  We\n            // don't fix this so as not to break old macros.  However this is\n            // still broken because we have already written the unadjusted\n            // length.  So, in summary, the length field should be interpreted\n            // as a zero/non-zero value, and the end of the data is either at\n            // the next space or the very end of the data.\n            ++len;\n\n            ms += ' ';\n\n            const char *cp = (*it).text.data();\n\n            while (len--)\n            {\n                unsigned char ch = *cp++;\n\n                if (ch == '\\\\' || ch == '\"' || ch <= ' ' || ch >= 0x7f)\n                    ms += QString(\"\\\\%1\").arg(static_cast<uint>(ch), 2, 16,\n                            QLatin1Char('0'));\n                else\n                    ms += static_cast<char>(ch);\n            }\n        }\n    }\n\n    return ms;\n}\n\n\n// Play the macro.\nvoid QsciMacro::play()\n{\n    if (!qsci)\n        return;\n\n    QList<Macro>::const_iterator it;\n\n    for (it = macro.begin(); it != macro.end(); ++it)\n        qsci->SendScintilla((*it).msg, static_cast<uintptr_t>((*it).wParam),\n                (*it).text.constData());\n}\n\n\n// Start recording.\nvoid QsciMacro::startRecording()\n{\n    if (!qsci)\n        return;\n\n    macro.clear();\n\n    connect(qsci, SIGNAL(SCN_MACRORECORD(unsigned int, unsigned long, void *)),\n            SLOT(record(unsigned int, unsigned long, void *)));\n\n    qsci->SendScintilla(QsciScintillaBase::SCI_STARTRECORD);\n}\n\n\n// End recording.\nvoid QsciMacro::endRecording()\n{\n    if (!qsci)\n        return;\n\n    qsci->SendScintilla(QsciScintillaBase::SCI_STOPRECORD);\n    qsci->disconnect(this);\n}\n\n\n// Record a command.\nvoid QsciMacro::record(unsigned int msg, unsigned long wParam, void *lParam)\n{\n    Macro m;\n\n    m.msg = msg;\n    m.wParam = wParam;\n\n    // Determine commands which need special handling of the parameters.\n    switch (msg)\n    {\n    case QsciScintillaBase::SCI_ADDTEXT:\n        m.text = QByteArray(reinterpret_cast<const char *>(lParam), wParam);\n        break;\n\n    case QsciScintillaBase::SCI_REPLACESEL:\n        if (!macro.isEmpty() && macro.last().msg == QsciScintillaBase::SCI_REPLACESEL)\n        {\n            // This is the command used for ordinary user input so it's a\n            // significant space reduction to append it to the previous\n            // command.\n\n            macro.last().text.append(reinterpret_cast<const char *>(lParam));\n            return;\n        }\n\n        /* Drop through. */\n\n    case QsciScintillaBase::SCI_INSERTTEXT:\n    case QsciScintillaBase::SCI_APPENDTEXT:\n    case QsciScintillaBase::SCI_SEARCHNEXT:\n    case QsciScintillaBase::SCI_SEARCHPREV:\n        m.text.append(reinterpret_cast<const char *>(lParam));\n        break;\n    }\n\n    macro.append(m);\n}\n\n\n// Return the given hex character as a binary.\nstatic int fromHex(unsigned char ch)\n{\n    if (ch >= '0' && ch <= '9')\n        return ch - '0';\n\n    if (ch >= 'a' && ch <= 'f')\n        return ch - 'a' + 10;\n\n    return -1;\n}\n"
  },
  {
    "path": "src/qscint/src/qscintilla.pro",
    "content": "# The project file for the QScintilla library.\n#\n# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>\n# \n# This file is part of QScintilla.\n# \n# This file may be used under the terms of the GNU General Public License\n# version 3.0 as published by the Free Software Foundation and appearing in\n# the file LICENSE included in the packaging of this file.  Please review the\n# following information to ensure the GNU General Public License version 3.0\n# requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n# \n# If you do not wish to use this file under the terms of the GPL version 3.0\n# then you may purchase a commercial license.  For more information contact\n# info@riverbankcomputing.com.\n# \n# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n!win32:VERSION = 15.1.0\n\nTEMPLATE = lib\nCONFIG += qt warn_off thread exceptions hide_symbols release staticlib\n\nCONFIG(debug, debug|release) {\n    mac: {\n        TARGET = qmyedit_qt$${QT_MAJOR_VERSION}_debug\n    } else {\n        win32: {\n            TARGET = qmyedit_qt$${QT_MAJOR_VERSION}d\n        } else {\n            TARGET = qmyedit_qt$${QT_MAJOR_VERSION}\n        }\n    }\n\t\n\tDESTDIR = ../../x64/Debug\n} else {\n    TARGET = qmyedit_qt$${QT_MAJOR_VERSION}\n\t\n\tDESTDIR = ../../x64/Release\n}\n\nmacx:!CONFIG(staticlib) {\n    QMAKE_POST_LINK += install_name_tool -id @rpath/$(TARGET1) $(TARGET)\n}\n\nINCLUDEPATH += . ../scintilla/include ../scintilla/lexlib ../scintilla/src\n\n!CONFIG(staticlib) {\n    DEFINES += QSCINTILLA_MAKE_DLL\n}\nDEFINES += SCINTILLA_QT SCI_LEXER INCLUDE_DEPRECATED_FEATURES\n\nQT += widgets\n!ios:QT += printsupport\nmacx:lessThan(QT_MAJOR_VERSION, 6) {\n    QT += macextras\n}\n\n# Work around QTBUG-39300.\nCONFIG -= android_install\n\n# For old versions of GCC.\nunix:!macx {\n    CONFIG += c++11\n}\n\n# Comment this in if you want the internal Scintilla classes to be placed in a\n# Scintilla namespace rather than pollute the global namespace.\n#DEFINES += SCI_NAMESPACE\n\ntarget.path = $$[QT_INSTALL_LIBS]\nINSTALLS += target\n\nheader.path = $$[QT_INSTALL_HEADERS]\nheader.files = Qsci\nINSTALLS += header\n\ntrans.path = $$[QT_INSTALL_TRANSLATIONS]\ntrans.files = qscintilla_*.qm\nINSTALLS += trans\n\nqsci.path = $$[QT_INSTALL_DATA]\nqsci.files = ../qsci\nINSTALLS += qsci\n\nfeatures.path = $$[QT_HOST_DATA]/mkspecs/features\nCONFIG(staticlib) {\n    features.files = $$PWD/features_staticlib/qscintilla2.prf\n} else {\n    features.files = $$PWD/features/qscintilla2.prf\n}\nINSTALLS += features\n\nHEADERS = \\\n    ./Qsci/qsciglobal.h \\\n    ./Qsci/qsciscintilla.h \\\n    ./Qsci/qsciscintillabase.h \\\n    ./Qsci/qsciabstractapis.h \\\n    ./Qsci/qsciapis.h \\\n    ./Qsci/qscicommand.h \\\n    ./Qsci/qscicommandset.h \\\n    ./Qsci/qscidocument.h \\\n    ./Qsci/qscilexer.h \\\n    ./Qsci/qscilexerasm.h \\\n    ./Qsci/qscilexerbash.h \\\n    ./Qsci/qscilexerbatch.h \\\n    ./Qsci/qscilexercmake.h \\\n    ./Qsci/qscilexercoffeescript.h \\\n    ./Qsci/qscilexercpp.h \\\n    ./Qsci/qscilexercsharp.h \\\n    ./Qsci/qscilexercss.h \\\n    ./Qsci/qscilexercustom.h \\\n    ./Qsci/qscilexerd.h \\\n    ./Qsci/qscilexerdiff.h \\\n    ./Qsci/qscilexeredifact.h \\\n    ./Qsci/qscilexerfortran.h \\\n    ./Qsci/qscilexerfortran77.h \\\n\t./Qsci/qscilexergo.h \\\n    ./Qsci/qscilexerglobal.h \\\n    ./Qsci/qscilexertext.h \\\n    ./Qsci/qscilexerrust.h \\\n    ./Qsci/qscilexerhtml.h \\\n    ./Qsci/qscilexeridl.h \\\n    ./Qsci/qscilexerjava.h \\\n    ./Qsci/qscilexerjavascript.h \\\n    ./Qsci/qscilexerjson.h \\\n    ./Qsci/qscilexerlua.h \\\n    ./Qsci/qscilexermakefile.h \\\n    ./Qsci/qscilexermarkdown.h \\\n    ./Qsci/qscilexermatlab.h \\\n    ./Qsci/qscilexeroctave.h \\\n    ./Qsci/qscilexerpascal.h \\\n    ./Qsci/qscilexerperl.h \\\n    ./Qsci/qscilexerpostscript.h \\\n    ./Qsci/qscilexerpo.h \\\n    ./Qsci/qscilexerpov.h \\\n    ./Qsci/qscilexerproperties.h \\\n    ./Qsci/qscilexerpython.h \\\n\t./Qsci/qscilexerr.h \\\n    ./Qsci/qscilexerruby.h \\\n    ./Qsci/qscilexerspice.h \\\n    ./Qsci/qscilexersql.h \\\n    ./Qsci/qscilexertcl.h \\\n    ./Qsci/qscilexertex.h \\\n    ./Qsci/qscilexerverilog.h \\\n    ./Qsci/qscilexervhdl.h \\\n    ./Qsci/qscilexerxml.h \\\n    ./Qsci/qscilexeryaml.h \\\n    ./Qsci/qscimacro.h \\\n    ./Qsci/qscistyle.h \\\n    ./Qsci/qscistyledtext.h \\\n    ./Qsci/qscilexernsis.h \\\n    ./Qsci/qscilexervb.h \\\n    ListBoxQt.h \\\n    SciAccessibility.h \\\n    SciClasses.h \\\n    ScintillaQt.h \\\n    xmlMatchedTagsHighlighter.h \\\n    ../scintilla/include/ILexer.h \\\n    ../scintilla/include/ILoader.h \\\n    ../scintilla/include/Platform.h \\\n    ../scintilla/include/Sci_Position.h \\\n    ../scintilla/include/SciLexer.h \\\n    ../scintilla/include/Scintilla.h \\\n    ../scintilla/include/ScintillaWidget.h \\\n    ../scintilla/lexlib/Accessor.h \\\n    ../scintilla/lexlib/CharacterCategory.h \\\n    ../scintilla/lexlib/CharacterSet.h \\\n    ../scintilla/lexlib/DefaultLexer.h \\\n    ../scintilla/lexlib/LexAccessor.h \\\n    ../scintilla/lexlib/LexerBase.h \\\n    ../scintilla/lexlib/LexerModule.h \\\n    ../scintilla/lexlib/LexerNoExceptions.h \\\n    ../scintilla/lexlib/LexerSimple.h \\\n    ../scintilla/lexlib/OptionSet.h \\\n    ../scintilla/lexlib/PropSetSimple.h \\\n    ../scintilla/lexlib/SparseState.h \\\n    ../scintilla/lexlib/StringCopy.h \\\n    ../scintilla/lexlib/StyleContext.h \\\n    ../scintilla/lexlib/SubStyles.h \\\n    ../scintilla/lexlib/WordList.h \\\n    ../scintilla/src/AutoComplete.h \\\n    ../scintilla/src/CallTip.h \\\n    ../scintilla/src/CaseConvert.h \\\n    ../scintilla/src/CaseFolder.h \\\n    ../scintilla/src/Catalogue.h \\\n    ../scintilla/src/CellBuffer.h \\\n    ../scintilla/src/CharClassify.h \\\n    ../scintilla/src/ContractionState.h \\\n    ../scintilla/src/DBCS.h \\\n    ../scintilla/src/Decoration.h \\\n    ../scintilla/src/Document.h \\\n    ../scintilla/src/EditModel.h \\\n    ../scintilla/src/Editor.h \\\n    ../scintilla/src/EditView.h \\\n    ../scintilla/src/ElapsedPeriod.h \\\n    ../scintilla/src/ExternalLexer.h \\\n    ../scintilla/src/FontQuality.h \\\n    ../scintilla/src/Indicator.h \\\n    ../scintilla/src/IntegerRectangle.h \\\n    ../scintilla/src/KeyMap.h \\\n    ../scintilla/src/LineMarker.h \\\n    ../scintilla/src/MarginView.h \\\n    ../scintilla/src/Partitioning.h \\\n    ../scintilla/src/PerLine.h \\\n    ../scintilla/src/Position.h \\\n    ../scintilla/src/PositionCache.h \\\n    ../scintilla/src/RESearch.h \\\n    ../scintilla/src/RunStyles.h \\\n    ../scintilla/src/ScintillaBase.h \\\n    ../scintilla/src/Selection.h \\\n    ../scintilla/src/SparseVector.h \\\n    ../scintilla/src/SplitVector.h \\\n    ../scintilla/src/Style.h \\\n    ../scintilla/src/UniConversion.h \\\n    ../scintilla/src/UniqueString.h \\\n    ../scintilla/src/ViewStyle.h \\\n    ../scintilla/src/XPM.h \\\n    ../scintilla/boostregex/AnsiDocumentIterator.h \\\n    ../scintilla/boostregex/UTF8DocumentIterator.h\n\n!ios:HEADERS += ./Qsci/qsciprinter.h\n\nSOURCES = \\\n    qscilexertext.cpp \\\n    qscilexerrust.cpp \\\n    qscilexernsis.cpp \\\n    qsciscintilla.cpp \\\n    qsciscintillabase.cpp \\\n    qsciabstractapis.cpp \\\n    qsciapis.cpp \\\n    qscicommand.cpp \\\n    qscicommandset.cpp \\\n    qscidocument.cpp \\\n    qscilexer.cpp \\\n    qscilexerasm.cpp \\\n    qscilexerbash.cpp \\\n    qscilexerbatch.cpp \\\n    qscilexercmake.cpp \\\n    qscilexercoffeescript.cpp \\\n    qscilexercpp.cpp \\\n    qscilexercsharp.cpp \\\n    qscilexercss.cpp \\\n    qscilexercustom.cpp \\\n    qscilexerd.cpp \\\n    qscilexerdiff.cpp \\\n    qscilexeredifact.cpp \\\n    qscilexerfortran.cpp \\\n    qscilexerfortran77.cpp \\\n\tqscilexergo.cpp \\\n    qscilexerglobal.cpp \\\n    qscilexertext.cpp \\\n    qscilexerhtml.cpp \\\n    qscilexeridl.cpp \\\n    qscilexerjava.cpp \\\n    qscilexerjavascript.cpp \\\n    qscilexerjson.cpp \\\n    qscilexerlua.cpp \\\n    qscilexermakefile.cpp \\\n    qscilexermarkdown.cpp \\\n    qscilexermatlab.cpp \\\n    qscilexeroctave.cpp \\\n    qscilexerpascal.cpp \\\n    qscilexerperl.cpp \\\n    qscilexerpostscript.cpp \\\n    qscilexerpo.cpp \\\n    qscilexerpov.cpp \\\n    qscilexerproperties.cpp \\\n    qscilexerpython.cpp \\\n\tqscilexerr.cpp \\\n    qscilexerruby.cpp \\\n    qscilexerspice.cpp \\\n    qscilexersql.cpp \\\n    qscilexertcl.cpp \\\n    qscilexertex.cpp \\\n    qscilexerverilog.cpp \\\n    qscilexervhdl.cpp \\\n    qscilexerxml.cpp \\\n    qscilexeryaml.cpp \\\n    qscimacro.cpp \\\n    qscistyle.cpp \\\n    qscistyledtext.cpp \\\n    qscilexervb.cpp \\\n    InputMethod.cpp \\\n    ListBoxQt.cpp \\\n    MacPasteboardMime.cpp \\\n    PlatQt.cpp \\\n    SciAccessibility.cpp \\\n    SciClasses.cpp \\\n    ScintillaQt.cpp \\\n    xmlMatchedTagsHighlighter.cpp \\\n    ../scintilla/lexers/LexA68k.cpp \\\n    ../scintilla/lexers/LexAPDL.cpp \\\n    ../scintilla/lexers/LexASY.cpp \\\n    ../scintilla/lexers/LexAU3.cpp \\\n    ../scintilla/lexers/LexAVE.cpp \\\n    ../scintilla/lexers/LexAVS.cpp \\\n    ../scintilla/lexers/LexAbaqus.cpp \\\n    ../scintilla/lexers/LexAda.cpp \\\n    ../scintilla/lexers/LexAsm.cpp \\\n    ../scintilla/lexers/LexAsn1.cpp \\\n    ../scintilla/lexers/LexBaan.cpp \\\n    ../scintilla/lexers/LexBash.cpp \\\n    ../scintilla/lexers/LexBasic.cpp \\\n    ../scintilla/lexers/LexBatch.cpp \\\n    ../scintilla/lexers/LexBibTeX.cpp \\\n    ../scintilla/lexers/LexBullant.cpp \\\n    ../scintilla/lexers/LexCLW.cpp \\\n    ../scintilla/lexers/LexCOBOL.cpp \\\n    ../scintilla/lexers/LexCPP.cpp \\\n    ../scintilla/lexers/LexCSS.cpp \\\n    ../scintilla/lexers/LexCaml.cpp \\\n    ../scintilla/lexers/LexCmake.cpp \\\n    ../scintilla/lexers/LexCoffeeScript.cpp \\\n    ../scintilla/lexers/LexConf.cpp \\\n    ../scintilla/lexers/LexCrontab.cpp \\\n    ../scintilla/lexers/LexCsound.cpp \\\n    ../scintilla/lexers/LexD.cpp \\\n    ../scintilla/lexers/LexDMAP.cpp \\\n    ../scintilla/lexers/LexDMIS.cpp \\\n    ../scintilla/lexers/LexDiff.cpp \\\n    ../scintilla/lexers/LexECL.cpp \\\n    ../scintilla/lexers/LexEDIFACT.cpp \\\n    ../scintilla/lexers/LexEScript.cpp \\\n    ../scintilla/lexers/LexEiffel.cpp \\\n    ../scintilla/lexers/LexErlang.cpp \\\n    ../scintilla/lexers/LexErrorList.cpp \\\n    ../scintilla/lexers/LexFlagship.cpp \\\n    ../scintilla/lexers/LexForth.cpp \\\n    ../scintilla/lexers/LexFortran.cpp \\\n    ../scintilla/lexers/LexGAP.cpp \\\n    ../scintilla/lexers/LexGui4Cli.cpp \\\n    ../scintilla/lexers/LexHTML.cpp \\\n    ../scintilla/lexers/LexHaskell.cpp \\\n    ../scintilla/lexers/LexHex.cpp \\\n    ../scintilla/lexers/LexIndent.cpp \\\n    ../scintilla/lexers/LexInno.cpp \\\n    ../scintilla/lexers/LexJSON.cpp \\\n    ../scintilla/lexers/LexKVIrc.cpp \\\n    ../scintilla/lexers/LexKix.cpp \\\n    ../scintilla/lexers/LexLaTeX.cpp \\\n    ../scintilla/lexers/LexLisp.cpp \\\n    ../scintilla/lexers/LexLout.cpp \\\n    ../scintilla/lexers/LexLua.cpp \\\n    ../scintilla/lexers/LexMMIXAL.cpp \\\n    ../scintilla/lexers/LexMPT.cpp \\\n    ../scintilla/lexers/LexMSSQL.cpp \\\n    ../scintilla/lexers/LexMagik.cpp \\\n    ../scintilla/lexers/LexMake.cpp \\\n    ../scintilla/lexers/LexMarkdown.cpp \\\n    ../scintilla/lexers/LexMatlab.cpp \\\n    ../scintilla/lexers/LexMaxima.cpp \\\n    ../scintilla/lexers/LexMetapost.cpp \\\n    ../scintilla/lexers/LexModula.cpp \\\n    ../scintilla/lexers/LexMySQL.cpp \\\n    ../scintilla/lexers/LexNimrod.cpp \\\n    ../scintilla/lexers/LexNsis.cpp \\\n    ../scintilla/lexers/LexNull.cpp \\\n    ../scintilla/lexers/LexOScript.cpp \\\n    ../scintilla/lexers/LexOpal.cpp \\\n    ../scintilla/lexers/LexPB.cpp \\\n    ../scintilla/lexers/LexPLM.cpp \\\n    ../scintilla/lexers/LexPO.cpp \\\n    ../scintilla/lexers/LexPOV.cpp \\\n    ../scintilla/lexers/LexPS.cpp \\\n    ../scintilla/lexers/LexPascal.cpp \\\n    ../scintilla/lexers/LexPerl.cpp \\\n    ../scintilla/lexers/LexPowerPro.cpp \\\n    ../scintilla/lexers/LexPowerShell.cpp \\\n    ../scintilla/lexers/LexProgress.cpp \\\n    ../scintilla/lexers/LexProps.cpp \\\n    ../scintilla/lexers/LexPython.cpp \\\n    ../scintilla/lexers/LexR.cpp \\\n    ../scintilla/lexers/LexRebol.cpp \\\n    ../scintilla/lexers/LexRegistry.cpp \\\n    ../scintilla/lexers/LexRuby.cpp \\\n    ../scintilla/lexers/LexRust.cpp \\\n    ../scintilla/lexers/LexSAS.cpp \\\n    ../scintilla/lexers/LexSML.cpp \\\n    ../scintilla/lexers/LexSQL.cpp \\\n    ../scintilla/lexers/LexSTTXT.cpp \\\n    ../scintilla/lexers/LexScriptol.cpp \\\n    ../scintilla/lexers/LexSmalltalk.cpp \\\n    ../scintilla/lexers/LexSorcus.cpp \\\n    ../scintilla/lexers/LexSpecman.cpp \\\n    ../scintilla/lexers/LexSpice.cpp \\\n    ../scintilla/lexers/LexStata.cpp \\\n    ../scintilla/lexers/LexTACL.cpp \\\n    ../scintilla/lexers/LexTADS3.cpp \\\n    ../scintilla/lexers/LexTAL.cpp \\\n    ../scintilla/lexers/LexTCL.cpp \\\n    ../scintilla/lexers/LexTCMD.cpp \\\n    ../scintilla/lexers/LexTeX.cpp \\\n    ../scintilla/lexers/LexTXT.cpp \\\n    ../scintilla/lexers/LexTxt2tags.cpp \\\n    ../scintilla/lexers/LexVB.cpp \\\n    ../scintilla/lexers/LexVHDL.cpp \\\n    ../scintilla/lexers/LexVerilog.cpp \\\n    ../scintilla/lexers/LexVisualProlog.cpp \\\n    ../scintilla/lexers/LexYAML.cpp \\\n    ../scintilla/lexlib/Accessor.cpp \\\n    ../scintilla/lexlib/CharacterCategory.cpp \\\n    ../scintilla/lexlib/CharacterSet.cpp \\\n    ../scintilla/lexlib/DefaultLexer.cpp \\\n    ../scintilla/lexlib/LexerBase.cpp \\\n    ../scintilla/lexlib/LexerModule.cpp \\\n    ../scintilla/lexlib/LexerNoExceptions.cpp \\\n    ../scintilla/lexlib/LexerSimple.cpp \\\n    ../scintilla/lexlib/PropSetSimple.cpp \\\n    ../scintilla/lexlib/StyleContext.cpp \\\n    ../scintilla/lexlib/WordList.cpp \\\n    ../scintilla/src/AutoComplete.cpp \\\n    ../scintilla/src/CallTip.cpp \\\n    ../scintilla/src/CaseConvert.cpp \\\n    ../scintilla/src/CaseFolder.cpp \\\n    ../scintilla/src/Catalogue.cpp \\\n    ../scintilla/src/CellBuffer.cpp \\\n    ../scintilla/src/CharClassify.cpp \\\n    ../scintilla/src/ContractionState.cpp \\\n    ../scintilla/src/DBCS.cpp \\\n    ../scintilla/src/Decoration.cpp \\\n    ../scintilla/src/Document.cpp \\\n    ../scintilla/src/EditModel.cpp \\\n    ../scintilla/src/Editor.cpp \\\n    ../scintilla/src/EditView.cpp \\\n    ../scintilla/src/ExternalLexer.cpp \\\n    ../scintilla/src/Indicator.cpp \\\n    ../scintilla/src/KeyMap.cpp \\\n    ../scintilla/src/LineMarker.cpp \\\n    ../scintilla/src/MarginView.cpp \\\n    ../scintilla/src/PerLine.cpp \\\n    ../scintilla/src/PositionCache.cpp \\\n    ../scintilla/src/RESearch.cpp \\\n    ../scintilla/src/RunStyles.cpp \\\n    ../scintilla/src/ScintillaBase.cpp \\\n    ../scintilla/src/Selection.cpp \\\n    ../scintilla/src/Style.cpp \\\n    ../scintilla/src/UniConversion.cpp \\\n    ../scintilla/src/ViewStyle.cpp \\\n    ../scintilla/src/XPM.cpp \\\n    ../scintilla/boostregex/BoostRegExSearch.cpp \\\n    ../scintilla/boostregex/UTF8DocumentIterator.cpp\n\n    \nINCLUDEPATH += ../scintilla/boostregex\n\n!ios:SOURCES += qsciprinter.cpp\n\nTRANSLATIONS = qscintilla_ch.ts\n"
  },
  {
    "path": "src/qscint/src/qscintilla.vcxproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n  <ItemGroup Label=\"ProjectConfigurations\">\r\n    <ProjectConfiguration Include=\"Release|x64\">\r\n      <Configuration>Release</Configuration>\r\n      <Platform>x64</Platform>\r\n    </ProjectConfiguration>\r\n    <ProjectConfiguration Include=\"Debug|x64\">\r\n      <Configuration>Debug</Configuration>\r\n      <Platform>x64</Platform>\r\n    </ProjectConfiguration>\r\n  </ItemGroup>\r\n  <PropertyGroup Label=\"Globals\">\r\n    <ProjectGuid>{AE5F370E-FA65-375E-8BEC-9AD70395BF33}</ProjectGuid>\r\n    <RootNamespace>qmyedit_qt5</RootNamespace>\r\n    <Keyword>QtVS_v304</Keyword>\r\n    <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>\r\n    <WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>\r\n    <QtMsBuild Condition=\"'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\\qt.targets')\">$(MSBuildProjectDirectory)\\QtMsBuild</QtMsBuild>\r\n  </PropertyGroup>\r\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\" Label=\"Configuration\">\r\n    <PlatformToolset>v141</PlatformToolset>\r\n    <OutputDirectory>..\\..\\x64\\Release\\</OutputDirectory>\r\n    <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>\r\n    <CharacterSet>NotSet</CharacterSet>\r\n    <ConfigurationType>StaticLibrary</ConfigurationType>\r\n    <IntermediateDirectory>release\\</IntermediateDirectory>\r\n    <PrimaryOutput>qmyedit_qt5</PrimaryOutput>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\" Label=\"Configuration\">\r\n    <PlatformToolset>v141</PlatformToolset>\r\n    <OutputDirectory>..\\..\\x64\\Release\\</OutputDirectory>\r\n    <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>\r\n    <CharacterSet>NotSet</CharacterSet>\r\n    <ConfigurationType>StaticLibrary</ConfigurationType>\r\n    <IntermediateDirectory>debug\\</IntermediateDirectory>\r\n    <PrimaryOutput>qmyedit_qt5</PrimaryOutput>\r\n  </PropertyGroup>\r\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\r\n  <Target Name=\"QtMsBuildNotFound\" BeforeTargets=\"CustomBuild;ClCompile\" Condition=\"!Exists('$(QtMsBuild)\\qt.targets') or !Exists('$(QtMsBuild)\\qt.props')\">\r\n    <Message Importance=\"High\" Text=\"QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly.\" />\r\n  </Target>\r\n  <ImportGroup Label=\"ExtensionSettings\" />\r\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\" Label=\"PropertySheets\">\r\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" />\r\n  </ImportGroup>\r\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\" Label=\"PropertySheets\">\r\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" />\r\n  </ImportGroup>\r\n  <PropertyGroup Label=\"UserMacros\" />\r\n  <ImportGroup Condition=\"Exists('$(QtMsBuild)\\qt_defaults.props')\">\r\n    <Import Project=\"$(QtMsBuild)\\qt_defaults.props\" />\r\n  </ImportGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\r\n    <OutDir>..\\..\\x64\\Debug\\</OutDir>\r\n    <IntDir>debug\\</IntDir>\r\n    <TargetName>qmyedit_qt5d</TargetName>\r\n    <IgnoreImportLibrary>true</IgnoreImportLibrary>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\r\n    <OutDir>..\\..\\x64\\Release\\</OutDir>\r\n    <IntDir>release\\</IntDir>\r\n    <TargetName>qmyedit_qt5</TargetName>\r\n    <IgnoreImportLibrary>true</IgnoreImportLibrary>\r\n  </PropertyGroup>\r\n  <PropertyGroup Label=\"QtSettings\" Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\r\n    <QtInstall>5.12.10_msvc2017_64</QtInstall>\r\n    <QtModules>core;gui;widgets;printsupport</QtModules>\r\n  </PropertyGroup>\r\n  <PropertyGroup Label=\"QtSettings\" Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\r\n    <QtInstall>5.12.10_msvc2017_64</QtInstall>\r\n    <QtModules>core;gui;widgets;printsupport</QtModules>\r\n  </PropertyGroup>\r\n  <ImportGroup Condition=\"Exists('$(QtMsBuild)\\qt.props')\">\r\n    <Import Project=\"$(QtMsBuild)\\qt.props\" />\r\n  </ImportGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\r\n    <ClCompile>\r\n      <AdditionalIncludeDirectories>GeneratedFiles\\$(ConfigurationName);GeneratedFiles;.;..\\scintilla\\include;..\\scintilla\\lexlib;..\\scintilla\\src;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r\n      <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>\r\n      <AssemblerListingLocation>release\\</AssemblerListingLocation>\r\n      <BrowseInformation>false</BrowseInformation>\r\n      <DebugInformationFormat>None</DebugInformationFormat>\r\n      <ExceptionHandling>Sync</ExceptionHandling>\r\n      <ObjectFileName>release\\</ObjectFileName>\r\n      <Optimization>MaxSpeed</Optimization>\r\n      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SCINTILLA_QT;SCI_LEXER;INCLUDE_DEPRECATED_FEATURES;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessToFile>false</PreprocessToFile>\r\n      <ProgramDataBaseFileName>\r\n      </ProgramDataBaseFileName>\r\n      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r\n      <SuppressStartupBanner>true</SuppressStartupBanner>\r\n      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>\r\n      <WarningLevel>TurnOffAllWarnings</WarningLevel>\r\n      <MultiProcessorCompilation>true</MultiProcessorCompilation>\r\n    </ClCompile>\r\n    <Lib>\r\n      <OutputFile>$(OutDir)\\qmyedit_qt5.lib</OutputFile>\r\n      <SuppressStartupBanner>true</SuppressStartupBanner>\r\n    </Lib>\r\n    <Midl>\r\n      <DefaultCharType>Unsigned</DefaultCharType>\r\n      <EnableErrorChecks>None</EnableErrorChecks>\r\n      <WarningLevel>0</WarningLevel>\r\n    </Midl>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SCINTILLA_QT;SCI_LEXER;INCLUDE_DEPRECATED_FEATURES;QT_NO_DEBUG;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <QtMoc>\r\n      <CompilerFlavor>msvc</CompilerFlavor>\r\n      <Include>./$(Configuration)/moc_predefs.h</Include>\r\n      <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>\r\n      <DynamicSource>output</DynamicSource>\r\n      <QtMocDir>$(Configuration)</QtMocDir>\r\n      <QtMocFileName>moc_%(Filename).cpp</QtMocFileName>\r\n    </QtMoc>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\r\n    <ClCompile>\r\n      <AdditionalIncludeDirectories>GeneratedFiles\\$(ConfigurationName);GeneratedFiles;.;..\\scintilla\\include;..\\scintilla\\lexlib;..\\scintilla\\src;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r\n      <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>\r\n      <AssemblerListingLocation>debug\\</AssemblerListingLocation>\r\n      <BrowseInformation>false</BrowseInformation>\r\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r\n      <ExceptionHandling>Sync</ExceptionHandling>\r\n      <ObjectFileName>debug\\</ObjectFileName>\r\n      <Optimization>Disabled</Optimization>\r\n      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SCINTILLA_QT;SCI_LEXER;INCLUDE_DEPRECATED_FEATURES;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessToFile>false</PreprocessToFile>\r\n      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r\n      <SuppressStartupBanner>true</SuppressStartupBanner>\r\n      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>\r\n      <WarningLevel>TurnOffAllWarnings</WarningLevel>\r\n      <MultiProcessorCompilation>true</MultiProcessorCompilation>\r\n    </ClCompile>\r\n    <Lib>\r\n      <OutputFile>$(OutDir)\\qmyedit_qt5d.lib</OutputFile>\r\n      <SuppressStartupBanner>true</SuppressStartupBanner>\r\n    </Lib>\r\n    <Midl>\r\n      <DefaultCharType>Unsigned</DefaultCharType>\r\n      <EnableErrorChecks>None</EnableErrorChecks>\r\n      <WarningLevel>0</WarningLevel>\r\n    </Midl>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SCINTILLA_QT;SCI_LEXER;INCLUDE_DEPRECATED_FEATURES;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <QtMoc>\r\n      <CompilerFlavor>msvc</CompilerFlavor>\r\n      <Include>./$(Configuration)/moc_predefs.h</Include>\r\n      <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>\r\n      <DynamicSource>output</DynamicSource>\r\n      <QtMocDir>$(Configuration)</QtMocDir>\r\n      <QtMocFileName>moc_%(Filename).cpp</QtMocFileName>\r\n    </QtMoc>\r\n  </ItemDefinitionGroup>\r\n  <ItemGroup>\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\Accessor.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\AutoComplete.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\CallTip.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\CaseConvert.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\CaseFolder.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Catalogue.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\CellBuffer.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\CharClassify.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\CharacterCategory.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\CharacterSet.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\ContractionState.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\DBCS.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Decoration.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\DefaultLexer.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Document.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\EditModel.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\EditView.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Editor.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\ExternalLexer.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Indicator.cpp\" />\r\n    <ClCompile Include=\"InputMethod.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\KeyMap.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexA68k.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAPDL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexASY.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAU3.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAVE.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAVS.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAbaqus.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAda.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAsm.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexAsn1.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexBaan.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexBash.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexBasic.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexBatch.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexBibTeX.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexBullant.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCLW.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCOBOL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCPP.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCSS.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCaml.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCmake.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCoffeeScript.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexConf.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCrontab.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexCsound.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexD.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexDMAP.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexDMIS.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexDiff.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexECL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexEDIFACT.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexEScript.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexEiffel.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexErlang.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexErrorList.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexFlagship.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexForth.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexFortran.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexGAP.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexGui4Cli.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexHTML.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexHaskell.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexHex.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexIndent.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexInno.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexJSON.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexKVIrc.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexKix.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexLaTeX.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexLisp.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexLout.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexLua.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMMIXAL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMPT.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMSSQL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMagik.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMake.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMarkdown.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMatlab.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMaxima.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMetapost.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexModula.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexMySQL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexNimrod.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexNsis.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexNull.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexOScript.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexOpal.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPB.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPLM.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPO.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPOV.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPS.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPascal.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPerl.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPowerPro.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPowerShell.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexProgress.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexProps.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexPython.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexR.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexRebol.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexRegistry.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexRuby.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexRust.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSAS.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSML.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSQL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSTTXT.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexScriptol.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSmalltalk.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSorcus.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSpecman.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexSpice.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexStata.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTACL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTADS3.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTAL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTCL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTCMD.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTXT.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTeX.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexTxt2tags.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexVB.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexVHDL.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexVerilog.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexVisualProlog.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexers\\LexYAML.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\LexerBase.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\LexerModule.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\LexerNoExceptions.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\LexerSimple.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\LineMarker.cpp\" />\r\n    <ClCompile Include=\"ListBoxQt.cpp\" />\r\n    <ClCompile Include=\"MacPasteboardMime.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\MarginView.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\PerLine.cpp\" />\r\n    <ClCompile Include=\"PlatQt.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\PositionCache.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\PropSetSimple.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\RESearch.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\RunStyles.cpp\" />\r\n    <ClCompile Include=\"SciAccessibility.cpp\" />\r\n    <ClCompile Include=\"SciClasses.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\ScintillaBase.cpp\" />\r\n    <ClCompile Include=\"ScintillaQt.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Selection.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\Style.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\StyleContext.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\UniConversion.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\ViewStyle.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\lexlib\\WordList.cpp\" />\r\n    <ClCompile Include=\"..\\scintilla\\src\\XPM.cpp\" />\r\n    <ClCompile Include=\"qsciabstractapis.cpp\" />\r\n    <ClCompile Include=\"qsciapis.cpp\" />\r\n    <ClCompile Include=\"qscicommand.cpp\" />\r\n    <ClCompile Include=\"qscicommandset.cpp\" />\r\n    <ClCompile Include=\"qscidocument.cpp\" />\r\n    <ClCompile Include=\"qscilexer.cpp\" />\r\n    <ClCompile Include=\"qscilexeravs.cpp\" />\r\n    <ClCompile Include=\"qscilexerbash.cpp\" />\r\n    <ClCompile Include=\"qscilexerbatch.cpp\" />\r\n    <ClCompile Include=\"qscilexercmake.cpp\" />\r\n    <ClCompile Include=\"qscilexercoffeescript.cpp\" />\r\n    <ClCompile Include=\"qscilexercpp.cpp\" />\r\n    <ClCompile Include=\"qscilexercsharp.cpp\" />\r\n    <ClCompile Include=\"qscilexercss.cpp\" />\r\n    <ClCompile Include=\"qscilexercustom.cpp\" />\r\n    <ClCompile Include=\"qscilexerd.cpp\" />\r\n    <ClCompile Include=\"qscilexerdiff.cpp\" />\r\n    <ClCompile Include=\"qscilexeredifact.cpp\" />\r\n    <ClCompile Include=\"qscilexerfortran.cpp\" />\r\n    <ClCompile Include=\"qscilexerfortran77.cpp\" />\r\n    <ClCompile Include=\"qscilexergo.cpp\" />\r\n    <ClCompile Include=\"qscilexerhtml.cpp\" />\r\n    <ClCompile Include=\"qscilexeridl.cpp\" />\r\n    <ClCompile Include=\"qscilexerjava.cpp\" />\r\n    <ClCompile Include=\"qscilexerjavascript.cpp\" />\r\n    <ClCompile Include=\"qscilexerjson.cpp\" />\r\n    <ClCompile Include=\"qscilexerlua.cpp\" />\r\n    <ClCompile Include=\"qscilexermakefile.cpp\" />\r\n    <ClCompile Include=\"qscilexermarkdown.cpp\" />\r\n    <ClCompile Include=\"qscilexermatlab.cpp\" />\r\n    <ClCompile Include=\"qscilexernsis.cpp\" />\r\n    <ClCompile Include=\"qscilexeroctave.cpp\" />\r\n    <ClCompile Include=\"qscilexerpascal.cpp\" />\r\n    <ClCompile Include=\"qscilexerperl.cpp\" />\r\n    <ClCompile Include=\"qscilexerpo.cpp\" />\r\n    <ClCompile Include=\"qscilexerpostscript.cpp\" />\r\n    <ClCompile Include=\"qscilexerpov.cpp\" />\r\n    <ClCompile Include=\"qscilexerproperties.cpp\" />\r\n    <ClCompile Include=\"qscilexerpython.cpp\" />\r\n    <ClCompile Include=\"qscilexerruby.cpp\" />\r\n    <ClCompile Include=\"qscilexerspice.cpp\" />\r\n    <ClCompile Include=\"qscilexersql.cpp\" />\r\n    <ClCompile Include=\"qscilexertcl.cpp\" />\r\n    <ClCompile Include=\"qscilexertex.cpp\" />\r\n    <ClCompile Include=\"qscilexertext.cpp\" />\r\n    <ClCompile Include=\"qscilexerverilog.cpp\" />\r\n    <ClCompile Include=\"qscilexervhdl.cpp\" />\r\n    <ClCompile Include=\"qscilexerxml.cpp\" />\r\n    <ClCompile Include=\"qscilexeryaml.cpp\" />\r\n    <ClCompile Include=\"qscimacro.cpp\" />\r\n    <ClCompile Include=\"qsciprinter.cpp\" />\r\n    <ClCompile Include=\"qsciscintilla.cpp\" />\r\n    <ClCompile Include=\"qsciscintillabase.cpp\" />\r\n    <ClCompile Include=\"qscistyle.cpp\" />\r\n    <ClCompile Include=\"qscistyledtext.cpp\" />\r\n    <ClCompile Include=\"xmlMatchedTagsHighlighter.cpp\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\Accessor.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\AutoComplete.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\CallTip.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\CaseConvert.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\CaseFolder.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Catalogue.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\CellBuffer.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\CharClassify.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\CharacterCategory.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\CharacterSet.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\ContractionState.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\DBCS.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Decoration.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\DefaultLexer.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Document.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\EditModel.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\EditView.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Editor.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\ElapsedPeriod.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\ExternalLexer.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\FontQuality.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\include\\ILexer.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\include\\ILoader.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Indicator.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\IntegerRectangle.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\KeyMap.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\LexAccessor.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\LexerBase.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\LexerModule.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\LexerNoExceptions.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\LexerSimple.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\LineMarker.h\" />\r\n    <ClInclude Include=\"ListBoxQt.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\MarginView.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\OptionSet.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Partitioning.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\PerLine.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\include\\Platform.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Position.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\PositionCache.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\PropSetSimple.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\RESearch.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\RunStyles.h\" />\r\n    <ClInclude Include=\"SciAccessibility.h\" />\r\n    <QtMoc Include=\"SciClasses.h\">\r\n    </QtMoc>\r\n    <ClInclude Include=\"..\\scintilla\\include\\SciLexer.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\include\\Sci_Position.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\include\\Scintilla.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\ScintillaBase.h\" />\r\n    <QtMoc Include=\"ScintillaQt.h\">\r\n    </QtMoc>\r\n    <ClInclude Include=\"..\\scintilla\\include\\ScintillaWidget.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Selection.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\SparseState.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\SparseVector.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\SplitVector.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\StringCopy.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\Style.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\StyleContext.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\SubStyles.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\UniConversion.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\UniqueString.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\ViewStyle.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\lexlib\\WordList.h\" />\r\n    <ClInclude Include=\"..\\scintilla\\src\\XPM.h\" />\r\n    <QtMoc Include=\"Qsci\\qsciabstractapis.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qsciapis.h\">\r\n    </QtMoc>\r\n    <ClInclude Include=\"Qsci\\qscicommand.h\" />\r\n    <ClInclude Include=\"Qsci\\qscicommandset.h\" />\r\n    <ClInclude Include=\"Qsci\\qscidocument.h\" />\r\n    <ClInclude Include=\"Qsci\\qsciglobal.h\" />\r\n    <QtMoc Include=\"Qsci\\qscilexer.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexeravs.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerbash.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerbatch.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexercmake.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexercoffeescript.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexercpp.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexercsharp.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexercss.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexercustom.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerd.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerdiff.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexeredifact.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerfortran.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerfortran77.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexergo.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerhtml.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexeridl.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerjava.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerjavascript.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerjson.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerlua.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexermakefile.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexermarkdown.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexermatlab.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexernsis.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexeroctave.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerpascal.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerperl.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerpo.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerpostscript.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerpov.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerproperties.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerpython.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerruby.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerspice.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexersql.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexertcl.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexertex.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexertext.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerverilog.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexervhdl.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexerxml.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscilexeryaml.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qscimacro.h\">\r\n    </QtMoc>\r\n    <ClInclude Include=\"Qsci\\qsciprinter.h\" />\r\n    <QtMoc Include=\"Qsci\\qsciscintilla.h\">\r\n    </QtMoc>\r\n    <QtMoc Include=\"Qsci\\qsciscintillabase.h\">\r\n    </QtMoc>\r\n    <ClInclude Include=\"Qsci\\qscistyle.h\" />\r\n    <ClInclude Include=\"Qsci\\qscistyledtext.h\" />\r\n    <ClInclude Include=\"xmlMatchedTagsHighlighter.h\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <CustomBuild Include=\"debug\\moc_predefs.h.cbt\">\r\n      <FileType>Document</FileType>\r\n      <ExcludedFromBuild Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">true</ExcludedFromBuild>\r\n      <AdditionalInputs Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">$(QTDIR)\\mkspecs\\features\\data\\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>\r\n      <Command Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">cl -Bx\"$(QTDIR)\\bin\\qmake.exe\" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -EHsc -W0 -E $(QTDIR)\\mkspecs\\features\\data\\dummy.cpp 2&gt;NUL &gt;debug\\moc_predefs.h</Command>\r\n      <Message Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">Generate moc_predefs.h</Message>\r\n      <Outputs Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">debug\\moc_predefs.h;%(Outputs)</Outputs>\r\n    </CustomBuild>\r\n    <CustomBuild Include=\"release\\moc_predefs.h.cbt\">\r\n      <FileType>Document</FileType>\r\n      <AdditionalInputs Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">$(QTDIR)\\mkspecs\\features\\data\\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>\r\n      <Command Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">cl -Bx\"$(QTDIR)\\bin\\qmake.exe\" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -EHsc -W0 -E $(QTDIR)\\mkspecs\\features\\data\\dummy.cpp 2&gt;NUL &gt;release\\moc_predefs.h</Command>\r\n      <Message Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">Generate moc_predefs.h</Message>\r\n      <Outputs Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">release\\moc_predefs.h;%(Outputs)</Outputs>\r\n      <ExcludedFromBuild Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">true</ExcludedFromBuild>\r\n    </CustomBuild>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <None Include=\"qscintilla_ch.ts\" />\r\n  </ItemGroup>\r\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\r\n  <ImportGroup Condition=\"Exists('$(QtMsBuild)\\qt.targets')\">\r\n    <Import Project=\"$(QtMsBuild)\\qt.targets\" />\r\n  </ImportGroup>\r\n  <ImportGroup Label=\"ExtensionTargets\" />\r\n</Project>"
  },
  {
    "path": "src/qscint/src/qscintilla_ch.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\">\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"61\"/>\n        <source>Move down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"72\"/>\n        <source>Extend selection down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"82\"/>\n        <source>Extend rectangular selection down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"89\"/>\n        <source>Scroll view down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"99\"/>\n        <source>Move up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"109\"/>\n        <source>Extend selection up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"119\"/>\n        <source>Extend rectangular selection up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"126\"/>\n        <source>Scroll view up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"137\"/>\n        <source>Scroll to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"147\"/>\n        <source>Scroll to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"159\"/>\n        <source>Scroll vertically to centre current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"166\"/>\n        <source>Move down one paragraph</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"176\"/>\n        <source>Extend selection down one paragraph</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"184\"/>\n        <source>Move up one paragraph</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"192\"/>\n        <source>Extend selection up one paragraph</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"204\"/>\n        <source>Move left one character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"216\"/>\n        <source>Extend selection left one character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"228\"/>\n        <source>Extend rectangular selection left one character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"239\"/>\n        <source>Move right one character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"249\"/>\n        <source>Extend selection right one character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"260\"/>\n        <source>Extend rectangular selection right one character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"273\"/>\n        <source>Move left one word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"284\"/>\n        <source>Extend selection left one word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"295\"/>\n        <source>Move right one word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"303\"/>\n        <source>Extend selection right one word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"311\"/>\n        <source>Move to end of previous word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"317\"/>\n        <source>Extend selection to end of previous word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"328\"/>\n        <source>Move to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"338\"/>\n        <source>Extend selection to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"347\"/>\n        <source>Move left one word part</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"353\"/>\n        <source>Extend selection left one word part</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"360\"/>\n        <source>Move right one word part</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"366\"/>\n        <source>Extend selection right one word part</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"379\"/>\n        <source>Move to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"389\"/>\n        <source>Extend selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"400\"/>\n        <source>Extend rectangular selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"413\"/>\n        <source>Move to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"423\"/>\n        <source>Extend selection to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"430\"/>\n        <source>Move to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"437\"/>\n        <source>Extend selection to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"450\"/>\n        <source>Move to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"462\"/>\n        <source>Extend selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"474\"/>\n        <source>Extend rectangular selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"481\"/>\n        <source>Move to first visible character of display in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"488\"/>\n        <source>Extend selection to first visible character in display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"500\"/>\n        <source>Move to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"511\"/>\n        <source>Extend selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"523\"/>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"536\"/>\n        <source>Move to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"548\"/>\n        <source>Extend selection to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"555\"/>\n        <source>Move to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"562\"/>\n        <source>Extend selection to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"574\"/>\n        <source>Move to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"584\"/>\n        <source>Extend selection to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"595\"/>\n        <source>Move to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"605\"/>\n        <source>Extend selection to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"612\"/>\n        <source>Move up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"635\"/>\n        <source>Move down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"663\"/>\n        <source>Stuttered move up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"669\"/>\n        <source>Stuttered extend selection up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"676\"/>\n        <source>Stuttered move down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"682\"/>\n        <source>Stuttered extend selection down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"694\"/>\n        <source>Delete current character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"704\"/>\n        <source>Delete previous character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"711\"/>\n        <source>Delete previous character if not at start of line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"718\"/>\n        <source>Delete word to left</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"724\"/>\n        <source>Delete word to right</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"736\"/>\n        <source>Delete right to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"744\"/>\n        <source>Delete line to left</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"754\"/>\n        <source>Delete line to right</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"760\"/>\n        <source>Delete current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"766\"/>\n        <source>Cut current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"772\"/>\n        <source>Copy current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"786\"/>\n        <source>Duplicate the current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"793\"/>\n        <source>Select all</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"800\"/>\n        <source>Move selected lines up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"806\"/>\n        <source>Move selected lines down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"815\"/>\n        <source>Duplicate selection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"822\"/>\n        <source>Convert selection to lower case</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"828\"/>\n        <source>Convert selection to upper case</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"834\"/>\n        <source>Cut selection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"840\"/>\n        <source>Copy selection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"846\"/>\n        <source>Paste</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"852\"/>\n        <source>Toggle insert/overtype</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"858\"/>\n        <source>Insert newline</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"865\"/>\n        <source>Formfeed</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"872\"/>\n        <source>Indent one level</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"879\"/>\n        <source>De-indent one level</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"885\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"892\"/>\n        <source>Undo last command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"902\"/>\n        <source>Redo last command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"909\"/>\n        <source>Zoom in</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"915\"/>\n        <source>Zoom out</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"923\"/>\n        <source>Move Line up</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"930\"/>\n        <source>Move Line down</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerAsm</name>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"227\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"230\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"233\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"236\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"239\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"242\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"245\"/>\n        <source>Keyword (Cpu instruction)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"248\"/>\n        <source>Math instruction</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"251\"/>\n        <source>Register</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"254\"/>\n        <source>Directive</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"257\"/>\n        <source>Directive Operand</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"260\"/>\n        <source>Comment Block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"263\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"266\"/>\n        <source>String eol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"269\"/>\n        <source>Extinstruction</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerasm.cpp\" line=\"272\"/>\n        <source>Comment Directive</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBash</name>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"204\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"207\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"210\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"213\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"216\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"219\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"222\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"225\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"228\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"231\"/>\n        <source>Scalar</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"234\"/>\n        <source>Parameter expansion</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"237\"/>\n        <source>Backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"240\"/>\n        <source>Here document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"243\"/>\n        <source>Single-quoted here document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBatch</name>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"175\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"178\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"181\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"184\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"187\"/>\n        <source>Hide command character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"190\"/>\n        <source>External command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"193\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"196\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCMake</name>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"191\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"194\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"197\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"200\"/>\n        <source>Left quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"203\"/>\n        <source>Right quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"206\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"209\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"212\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"215\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"218\"/>\n        <source>WHILE block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"221\"/>\n        <source>FOREACH block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"224\"/>\n        <source>IF block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"227\"/>\n        <source>MACRO block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"230\"/>\n        <source>Variable within a string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"233\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCPP</name>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"380\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"383\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"386\"/>\n        <source>C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"389\"/>\n        <source>Inactive C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"392\"/>\n        <source>C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"395\"/>\n        <source>Inactive C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"398\"/>\n        <source>JavaDoc style C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"401\"/>\n        <source>Inactive JavaDoc style C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"404\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"407\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"410\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"413\"/>\n        <source>Inactive keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"416\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"419\"/>\n        <source>Inactive double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"422\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"425\"/>\n        <source>Inactive single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"428\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"431\"/>\n        <source>Inactive IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"434\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"437\"/>\n        <source>Inactive pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"440\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"443\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"446\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"449\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"452\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"455\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"458\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"461\"/>\n        <source>Inactive C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"464\"/>\n        <source>JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"467\"/>\n        <source>Inactive JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"470\"/>\n        <source>JavaDoc style C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"473\"/>\n        <source>Inactive JavaDoc style C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"476\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"479\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"482\"/>\n        <source>JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"485\"/>\n        <source>Inactive JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"488\"/>\n        <source>JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"491\"/>\n        <source>Inactive JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"494\"/>\n        <source>Global classes and typedefs</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"497\"/>\n        <source>Inactive global classes and typedefs</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"500\"/>\n        <source>C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"503\"/>\n        <source>Inactive C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"506\"/>\n        <source>Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"509\"/>\n        <source>Inactive Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"512\"/>\n        <source>Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"515\"/>\n        <source>Inactive Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"518\"/>\n        <source>Pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"521\"/>\n        <source>Inactive pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"524\"/>\n        <source>JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"527\"/>\n        <source>Inactive JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"530\"/>\n        <source>User-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"533\"/>\n        <source>Inactive user-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"536\"/>\n        <source>Task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"539\"/>\n        <source>Inactive task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"542\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"545\"/>\n        <source>Inactive escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSS</name>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"234\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"237\"/>\n        <source>Tag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"240\"/>\n        <source>Class selector</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"243\"/>\n        <source>Pseudo-class</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"246\"/>\n        <source>Unknown pseudo-class</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"249\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"252\"/>\n        <source>CSS1 property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"255\"/>\n        <source>Unknown property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"258\"/>\n        <source>Value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"261\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"264\"/>\n        <source>ID selector</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"267\"/>\n        <source>Important</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"270\"/>\n        <source>@-rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"273\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"276\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"279\"/>\n        <source>CSS2 property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"282\"/>\n        <source>Attribute</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"285\"/>\n        <source>CSS3 property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"288\"/>\n        <source>Pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"291\"/>\n        <source>Extended CSS property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"294\"/>\n        <source>Extended pseudo-class</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"297\"/>\n        <source>Extended pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"300\"/>\n        <source>Media rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"303\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSharp</name>\n    <message>\n        <location filename=\"qscilexercsharp.cpp\" line=\"109\"/>\n        <source>Verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCoffeeScript</name>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"258\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"261\"/>\n        <source>C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"264\"/>\n        <source>C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"267\"/>\n        <source>JavaDoc C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"270\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"273\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"276\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"279\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"282\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"285\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"288\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"291\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"294\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"297\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"300\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"303\"/>\n        <source>JavaDoc C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"306\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"309\"/>\n        <source>JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"312\"/>\n        <source>JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"315\"/>\n        <source>Global classes</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"318\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"321\"/>\n        <source>Block regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"324\"/>\n        <source>Block regular expression comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"327\"/>\n        <source>Instance property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerD</name>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"266\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"269\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"272\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"275\"/>\n        <source>DDoc style block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"278\"/>\n        <source>Nesting comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"281\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"284\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"287\"/>\n        <source>Secondary keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"290\"/>\n        <source>Documentation keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"293\"/>\n        <source>Type definition</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"296\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"299\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"302\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"305\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"308\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"311\"/>\n        <source>DDoc style line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"314\"/>\n        <source>DDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"317\"/>\n        <source>DDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"320\"/>\n        <source>Backquoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"323\"/>\n        <source>Raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"326\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"329\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"332\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerDiff</name>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"106\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"109\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"112\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"115\"/>\n        <source>Header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"118\"/>\n        <source>Position</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"121\"/>\n        <source>Removed line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"124\"/>\n        <source>Added line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"127\"/>\n        <source>Changed line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"130\"/>\n        <source>Added adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"133\"/>\n        <source>Removed adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"136\"/>\n        <source>Added removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"139\"/>\n        <source>Removed removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerEDIFACT</name>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"94\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"97\"/>\n        <source>Segment start</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"100\"/>\n        <source>Segment end</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"103\"/>\n        <source>Element separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"106\"/>\n        <source>Composite separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"109\"/>\n        <source>Release separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"112\"/>\n        <source>UNA segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"115\"/>\n        <source>UNH segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"118\"/>\n        <source>Badly formed segment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerFortran77</name>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"186\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"189\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"192\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"195\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"198\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"201\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"204\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"207\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"210\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"213\"/>\n        <source>Intrinsic function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"216\"/>\n        <source>Extended function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"219\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"222\"/>\n        <source>Dotted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"225\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"228\"/>\n        <source>Continuation</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerGO</name>\n    <message>\n        <location filename=\"qscilexergo.cpp\" line=\"108\"/>\n        <source>Verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerGlobal</name>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"31\"/>\n        <source>Global override</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"33\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"35\"/>\n        <source>Indent guideline style</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"37\"/>\n        <source>Brace highlight style</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"39\"/>\n        <source>Bad brace colour</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"41\"/>\n        <source>Current line background colour</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"43\"/>\n        <source>Select text colour</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"45\"/>\n        <source>Caret colour</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"47\"/>\n        <source>Edge colour</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"49\"/>\n        <source>Line number margin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"51\"/>\n        <source>Bookmark margin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"53\"/>\n        <source>Fold</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"55\"/>\n        <source>Fold active</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"57\"/>\n        <source>Fold margin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"59\"/>\n        <source>White space symbol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"61\"/>\n        <source>Smart HighLighting</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"63\"/>\n        <source>Find Mark Style</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"65\"/>\n        <source>Mark Style 1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"67\"/>\n        <source>Mark Style 2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"69\"/>\n        <source>Mark Style 3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"71\"/>\n        <source>Mark Style 4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"73\"/>\n        <source>Mark Style 5</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"75\"/>\n        <source>Incremental highlight</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"77\"/>\n        <source>Tags match highlight</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"79\"/>\n        <source>Tags attribute</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerglobal.cpp\" line=\"89\"/>\n        <source>URL hovered</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerHTML</name>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"571\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"574\"/>\n        <source>Tag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"577\"/>\n        <source>Unknown tag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"580\"/>\n        <source>Attribute</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"583\"/>\n        <source>Unknown attribute</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"586\"/>\n        <source>HTML number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"589\"/>\n        <source>HTML double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"592\"/>\n        <source>HTML single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"595\"/>\n        <source>Other text in a tag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"598\"/>\n        <source>HTML comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"601\"/>\n        <source>Entity</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"604\"/>\n        <source>End of a tag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"607\"/>\n        <source>Start of an XML fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"610\"/>\n        <source>End of an XML fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"613\"/>\n        <source>Script tag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"616\"/>\n        <source>Start of an ASP fragment with @</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"619\"/>\n        <source>Start of an ASP fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"622\"/>\n        <source>CDATA</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"625\"/>\n        <source>Start of a PHP fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"628\"/>\n        <source>Unquoted HTML value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"631\"/>\n        <source>ASP X-Code comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"634\"/>\n        <source>SGML default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"637\"/>\n        <source>SGML command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"640\"/>\n        <source>First parameter of an SGML command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"643\"/>\n        <source>SGML double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"646\"/>\n        <source>SGML single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"649\"/>\n        <source>SGML error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"652\"/>\n        <source>SGML special entity</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"655\"/>\n        <source>SGML comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"658\"/>\n        <source>First parameter comment of an SGML command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"661\"/>\n        <source>SGML block default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"664\"/>\n        <source>Start of a JavaScript fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"667\"/>\n        <source>JavaScript default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"670\"/>\n        <source>JavaScript comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"673\"/>\n        <source>JavaScript line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"676\"/>\n        <source>JavaDoc style JavaScript comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"679\"/>\n        <source>JavaScript number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"682\"/>\n        <source>JavaScript word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"685\"/>\n        <source>JavaScript keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"688\"/>\n        <source>JavaScript double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"691\"/>\n        <source>JavaScript single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"694\"/>\n        <source>JavaScript symbol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"697\"/>\n        <source>JavaScript unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"700\"/>\n        <source>JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"703\"/>\n        <source>Start of an ASP JavaScript fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"706\"/>\n        <source>ASP JavaScript default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"709\"/>\n        <source>ASP JavaScript comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"712\"/>\n        <source>ASP JavaScript line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"715\"/>\n        <source>JavaDoc style ASP JavaScript comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"718\"/>\n        <source>ASP JavaScript number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"721\"/>\n        <source>ASP JavaScript word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"724\"/>\n        <source>ASP JavaScript keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"727\"/>\n        <source>ASP JavaScript double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"730\"/>\n        <source>ASP JavaScript single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"733\"/>\n        <source>ASP JavaScript symbol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"736\"/>\n        <source>ASP JavaScript unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"739\"/>\n        <source>ASP JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"742\"/>\n        <source>Start of a VBScript fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"745\"/>\n        <source>VBScript default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"748\"/>\n        <source>VBScript comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"751\"/>\n        <source>VBScript number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"754\"/>\n        <source>VBScript keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"757\"/>\n        <source>VBScript string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"760\"/>\n        <source>VBScript identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"763\"/>\n        <source>VBScript unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"766\"/>\n        <source>Start of an ASP VBScript fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"769\"/>\n        <source>ASP VBScript default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"772\"/>\n        <source>ASP VBScript comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"775\"/>\n        <source>ASP VBScript number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"778\"/>\n        <source>ASP VBScript keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"781\"/>\n        <source>ASP VBScript string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"784\"/>\n        <source>ASP VBScript identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"787\"/>\n        <source>ASP VBScript unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"790\"/>\n        <source>Start of a Python fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"793\"/>\n        <source>Python default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"796\"/>\n        <source>Python comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"799\"/>\n        <source>Python number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"802\"/>\n        <source>Python double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"805\"/>\n        <source>Python single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"808\"/>\n        <source>Python keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"811\"/>\n        <source>Python triple double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"814\"/>\n        <source>Python triple single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"817\"/>\n        <source>Python class name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"820\"/>\n        <source>Python function or method name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"823\"/>\n        <source>Python operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"826\"/>\n        <source>Python identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"829\"/>\n        <source>Start of an ASP Python fragment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"832\"/>\n        <source>ASP Python default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"835\"/>\n        <source>ASP Python comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"838\"/>\n        <source>ASP Python number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"841\"/>\n        <source>ASP Python double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"844\"/>\n        <source>ASP Python single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"847\"/>\n        <source>ASP Python keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"850\"/>\n        <source>ASP Python triple double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"853\"/>\n        <source>ASP Python triple single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"856\"/>\n        <source>ASP Python class name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"859\"/>\n        <source>ASP Python function or method name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"862\"/>\n        <source>ASP Python operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"865\"/>\n        <source>ASP Python identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"868\"/>\n        <source>PHP default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"871\"/>\n        <source>PHP double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"874\"/>\n        <source>PHP single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"877\"/>\n        <source>PHP keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"880\"/>\n        <source>PHP number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"883\"/>\n        <source>PHP variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"886\"/>\n        <source>PHP comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"889\"/>\n        <source>PHP line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"892\"/>\n        <source>PHP double-quoted variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"895\"/>\n        <source>PHP operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerIDL</name>\n    <message>\n        <location filename=\"qscilexeridl.cpp\" line=\"98\"/>\n        <source>UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJSON</name>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"160\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"163\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"166\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"169\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"172\"/>\n        <source>Property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"175\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"178\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"181\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"184\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"187\"/>\n        <source>IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"190\"/>\n        <source>JSON-LD compact IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"193\"/>\n        <source>JSON keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"196\"/>\n        <source>JSON-LD keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"199\"/>\n        <source>Parsing error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJavaScript</name>\n    <message>\n        <location filename=\"qscilexerjavascript.cpp\" line=\"111\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerLua</name>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"228\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"231\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"234\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"237\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"240\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"243\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"246\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"249\"/>\n        <source>Literal string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"252\"/>\n        <source>Preprocessor</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"255\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"258\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"261\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"264\"/>\n        <source>Basic functions</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"267\"/>\n        <source>String, table and maths functions</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"270\"/>\n        <source>Coroutines, i/o and system facilities</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"273\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"276\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"279\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"282\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"285\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMakefile</name>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"127\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"130\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"133\"/>\n        <source>Preprocessor</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"136\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"139\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"142\"/>\n        <source>Target</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"145\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMarkdown</name>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"222\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"225\"/>\n        <source>Special</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"228\"/>\n        <source>Strong emphasis using double asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"231\"/>\n        <source>Strong emphasis using double underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"234\"/>\n        <source>Emphasis using single asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"237\"/>\n        <source>Emphasis using single underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"240\"/>\n        <source>Level 1 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"243\"/>\n        <source>Level 2 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"246\"/>\n        <source>Level 3 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"249\"/>\n        <source>Level 4 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"252\"/>\n        <source>Level 5 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"255\"/>\n        <source>Level 6 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"258\"/>\n        <source>Pre-char</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"261\"/>\n        <source>Unordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"264\"/>\n        <source>Ordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"267\"/>\n        <source>Block quote</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"270\"/>\n        <source>Strike out</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"273\"/>\n        <source>Horizontal rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"276\"/>\n        <source>Link</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"279\"/>\n        <source>Code between backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"282\"/>\n        <source>Code between double backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"285\"/>\n        <source>Code block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMatlab</name>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"134\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"137\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"140\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"143\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"146\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"149\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"152\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"155\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"158\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerNsis</name>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"126\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"128\"/>\n        <source>COMMENT</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"130\"/>\n        <source>STRING DOUBLE QUOTE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"132\"/>\n        <source>STRING LEFT QUOTE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"134\"/>\n        <source>STRING RIGHT QUOTE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"136\"/>\n        <source>FUNCTION</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"138\"/>\n        <source>VARIABLE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"140\"/>\n        <source>LABEL</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"142\"/>\n        <source>USEREFINED</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"144\"/>\n        <source>SECTION</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"146\"/>\n        <source>SUB SECTION</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"148\"/>\n        <source>IF DEFINE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"150\"/>\n        <source>MACRO</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"152\"/>\n        <source>STRING VAR</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"154\"/>\n        <source>NUMBER</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"156\"/>\n        <source>SECTION GROUP</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"158\"/>\n        <source>PAGE EX</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"160\"/>\n        <source>FUNCTION DEFINE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexernsis.cpp\" line=\"162\"/>\n        <source>COMMENT BOX</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPO</name>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"99\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"102\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"105\"/>\n        <source>Message identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"108\"/>\n        <source>Message identifier text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"111\"/>\n        <source>Message string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"114\"/>\n        <source>Message string text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"117\"/>\n        <source>Message context</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"120\"/>\n        <source>Message context text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"123\"/>\n        <source>Fuzzy flag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"126\"/>\n        <source>Programmer comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"129\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"132\"/>\n        <source>Flags</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"135\"/>\n        <source>Message identifier text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"138\"/>\n        <source>Message string text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"141\"/>\n        <source>Message context text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPOV</name>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"277\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"280\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"283\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"286\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"289\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"292\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"295\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"298\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"301\"/>\n        <source>Directive</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"304\"/>\n        <source>Bad directive</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"307\"/>\n        <source>Objects, CSG and appearance</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"310\"/>\n        <source>Types, modifiers and items</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"313\"/>\n        <source>Predefined identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"316\"/>\n        <source>Predefined functions</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"319\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"322\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"325\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPascal</name>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"258\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"261\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"264\"/>\n        <source>&apos;{ ... }&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"267\"/>\n        <source>&apos;(* ... *)&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"270\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"273\"/>\n        <source>&apos;{$ ... }&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"276\"/>\n        <source>&apos;(*$ ... *)&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"279\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"282\"/>\n        <source>Hexadecimal number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"285\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"288\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"291\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"294\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"297\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"300\"/>\n        <source>Inline asm</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPerl</name>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"329\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"332\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"335\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"338\"/>\n        <source>POD</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"341\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"344\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"347\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"350\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"353\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"356\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"359\"/>\n        <source>Scalar</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"362\"/>\n        <source>Array</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"365\"/>\n        <source>Hash</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"368\"/>\n        <source>Symbol table</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"371\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"374\"/>\n        <source>Substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"377\"/>\n        <source>Backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"380\"/>\n        <source>Data section</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"383\"/>\n        <source>Here document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"386\"/>\n        <source>Single-quoted here document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"389\"/>\n        <source>Double-quoted here document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"392\"/>\n        <source>Backtick here document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"395\"/>\n        <source>Quoted string (q)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"398\"/>\n        <source>Quoted string (qq)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"401\"/>\n        <source>Quoted string (qx)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"404\"/>\n        <source>Quoted string (qr)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"407\"/>\n        <source>Quoted string (qw)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"410\"/>\n        <source>POD verbatim</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"413\"/>\n        <source>Subroutine prototype</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"416\"/>\n        <source>Format identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"419\"/>\n        <source>Format body</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"422\"/>\n        <source>Double-quoted string (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"425\"/>\n        <source>Translation</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"428\"/>\n        <source>Regular expression (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"431\"/>\n        <source>Substitution (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"434\"/>\n        <source>Backticks (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"437\"/>\n        <source>Double-quoted here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"440\"/>\n        <source>Backtick here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"443\"/>\n        <source>Quoted string (qq, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"446\"/>\n        <source>Quoted string (qx, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"449\"/>\n        <source>Quoted string (qr, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPostScript</name>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"259\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"262\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"265\"/>\n        <source>DSC comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"268\"/>\n        <source>DSC comment value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"271\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"274\"/>\n        <source>Name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"277\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"280\"/>\n        <source>Literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"283\"/>\n        <source>Immediately evaluated literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"286\"/>\n        <source>Array parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"289\"/>\n        <source>Dictionary parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"292\"/>\n        <source>Procedure parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"295\"/>\n        <source>Text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"298\"/>\n        <source>Hexadecimal string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"301\"/>\n        <source>Base85 string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"304\"/>\n        <source>Bad string character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerProperties</name>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"124\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"127\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"130\"/>\n        <source>Section</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"133\"/>\n        <source>Assignment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"136\"/>\n        <source>Default value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"139\"/>\n        <source>Key</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPython</name>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"242\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"245\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"248\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"251\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"254\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"257\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"260\"/>\n        <source>Triple single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"263\"/>\n        <source>Triple double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"266\"/>\n        <source>Class name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"269\"/>\n        <source>Function or method name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"272\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"275\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"278\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"281\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"284\"/>\n        <source>Highlighted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"287\"/>\n        <source>Decorator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"290\"/>\n        <source>Double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"293\"/>\n        <source>Single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"296\"/>\n        <source>Triple single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"299\"/>\n        <source>Triple double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerR</name>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"193\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"196\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"199\"/>\n        <source>Kword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"202\"/>\n        <source>Basekword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"205\"/>\n        <source>OtherKeyWord</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"208\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"211\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"214\"/>\n        <source>String2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"217\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"220\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"223\"/>\n        <source>Infix</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerr.cpp\" line=\"226\"/>\n        <source>Infix Eol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerRuby</name>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"249\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"252\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"255\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"258\"/>\n        <source>POD</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"261\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"264\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"267\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"270\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"273\"/>\n        <source>Class name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"276\"/>\n        <source>Function or method name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"279\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"282\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"285\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"288\"/>\n        <source>Global</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"291\"/>\n        <source>Symbol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"294\"/>\n        <source>Module name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"297\"/>\n        <source>Instance variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"300\"/>\n        <source>Class variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"303\"/>\n        <source>Backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"306\"/>\n        <source>Data section</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"309\"/>\n        <source>Here document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"312\"/>\n        <source>Here document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"315\"/>\n        <source>%q string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"318\"/>\n        <source>%Q string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"321\"/>\n        <source>%x string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"324\"/>\n        <source>%r string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"327\"/>\n        <source>%w string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"330\"/>\n        <source>Demoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"333\"/>\n        <source>stdin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"336\"/>\n        <source>stdout</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"339\"/>\n        <source>stderr</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSQL</name>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"269\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"272\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"275\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"278\"/>\n        <source>JavaDoc style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"281\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"284\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"287\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"290\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"293\"/>\n        <source>SQL*Plus keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"296\"/>\n        <source>SQL*Plus prompt</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"299\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"302\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"305\"/>\n        <source>SQL*Plus comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"308\"/>\n        <source>comment line</source>\n        <oldsource># comment line</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"311\"/>\n        <source>JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"314\"/>\n        <source>JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"317\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"320\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"323\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"326\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"329\"/>\n        <source>Quoted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"332\"/>\n        <source>Quoted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSpice</name>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"166\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"169\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"172\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"175\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"178\"/>\n        <source>Parameter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"181\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"184\"/>\n        <source>Delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"187\"/>\n        <source>Value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"190\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTCL</name>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"292\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"295\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"298\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"301\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"304\"/>\n        <source>Quoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"307\"/>\n        <source>Quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"310\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"313\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"316\"/>\n        <source>Substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"319\"/>\n        <source>Brace substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"322\"/>\n        <source>Modifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"325\"/>\n        <source>Expand keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"328\"/>\n        <source>TCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"331\"/>\n        <source>Tk keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"334\"/>\n        <source>iTCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"337\"/>\n        <source>Tk command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"340\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"343\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"346\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"349\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"352\"/>\n        <source>Comment box</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"355\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTeX</name>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"187\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"190\"/>\n        <source>Special</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"193\"/>\n        <source>Group</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"196\"/>\n        <source>Symbol</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"199\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"202\"/>\n        <source>Text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerText</name>\n    <message>\n        <location filename=\"qscilexertext.cpp\" line=\"129\"/>\n        <source>Chinese And Others</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertext.cpp\" line=\"132\"/>\n        <source>Ascii</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertext.cpp\" line=\"137\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVHDL</name>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"210\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"213\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"216\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"219\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"222\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"225\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"228\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"231\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"234\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"237\"/>\n        <source>Standard operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"240\"/>\n        <source>Attribute</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"243\"/>\n        <source>Standard function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"246\"/>\n        <source>Standard package</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"249\"/>\n        <source>Standard type</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"252\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"255\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVerilog</name>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"299\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"302\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"305\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"308\"/>\n        <source>Inactive comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"311\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"314\"/>\n        <source>Inactive line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"317\"/>\n        <source>Bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"320\"/>\n        <source>Inactive bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"323\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"326\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"329\"/>\n        <source>Primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"332\"/>\n        <source>Inactive primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"335\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"338\"/>\n        <source>Inactive string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"341\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"344\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"347\"/>\n        <source>System task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"350\"/>\n        <source>Inactive system task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"353\"/>\n        <source>Preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"356\"/>\n        <source>Inactive preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"359\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"362\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"365\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"368\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"371\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"374\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"377\"/>\n        <source>User defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"380\"/>\n        <source>Inactive user defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"383\"/>\n        <source>Keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"386\"/>\n        <source>Inactive keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"389\"/>\n        <source>Input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"392\"/>\n        <source>Inactive input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"395\"/>\n        <source>Output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"398\"/>\n        <source>Inactive output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"401\"/>\n        <source>Input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"404\"/>\n        <source>Inactive input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"407\"/>\n        <source>Port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"410\"/>\n        <source>Inactive port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerYAML</name>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"171\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"174\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"177\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"180\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"183\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"186\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"189\"/>\n        <source>Document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"192\"/>\n        <source>Text block marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"195\"/>\n        <source>Syntax error marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"198\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4697\"/>\n        <source>&amp;Cut</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4702\"/>\n        <source>&amp;Copy</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4709\"/>\n        <source>&amp;Paste</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4713\"/>\n        <source>Delete</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4720\"/>\n        <source>Select All</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/qscint/src/qscintilla_cs.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\" language=\"pt\">\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"44\"/>\n        <source>Move down one line</source>\n        <translation>Posun o jednu řádku dolů</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"54\"/>\n        <source>Extend selection down one line</source>\n        <translation>Rozšířit výběr o jednu řádku dolů</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"71\"/>\n        <source>Scroll view down one line</source>\n        <translation>Rolovat pohled o jednu řádku dolů</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"64\"/>\n        <source>Extend rectangular selection down one line</source>\n        <translation>Rozšířit obdélníkový výběr o jednu řádku dolů</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"81\"/>\n        <source>Move up one line</source>\n        <translation>Posun o jednu řádku nahoru</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"91\"/>\n        <source>Extend selection up one line</source>\n        <translation>Rozšířit výběr o jednu řádku nahoru</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"108\"/>\n        <source>Scroll view up one line</source>\n        <translation>Rolovat pohled o jednu řádku nahoru</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"101\"/>\n        <source>Extend rectangular selection up one line</source>\n        <translation>Rozšířit obdélníkový výběr o jednu řádku nahoru</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"158\"/>\n        <source>Move up one paragraph</source>\n        <translation>Posun o jeden odstavec nahoru</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"164\"/>\n        <source>Extend selection up one paragraph</source>\n        <translation>Rozšířit výběr o jeden odstavec nahoru</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"145\"/>\n        <source>Move down one paragraph</source>\n        <translation>Posun o jeden odstavec dolů</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"118\"/>\n        <source>Scroll to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"128\"/>\n        <source>Scroll to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"138\"/>\n        <source>Scroll vertically to centre current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"151\"/>\n        <source>Extend selection down one paragraph</source>\n        <translation>Rozšířit výběr o jeden odstavec dolů</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"175\"/>\n        <source>Move left one character</source>\n        <translation>Posun o jedno písmeno doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"185\"/>\n        <source>Extend selection left one character</source>\n        <translation>Rozšířit výběr o jedno písmeno doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"239\"/>\n        <source>Move left one word</source>\n        <translation>Posun o jedno slovo vlevo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"249\"/>\n        <source>Extend selection left one word</source>\n        <translation>Rozšířit výběr o jedno slovo doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"196\"/>\n        <source>Extend rectangular selection left one character</source>\n        <translation>Rozšířit obdélníkový výběr o jedno písmeno doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"207\"/>\n        <source>Move right one character</source>\n        <translation>Posun o jedno písmeno doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"217\"/>\n        <source>Extend selection right one character</source>\n        <translation>Rozšířit výběr o jedno písmeno doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"259\"/>\n        <source>Move right one word</source>\n        <translation>Posun o jedno slovo doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"265\"/>\n        <source>Extend selection right one word</source>\n        <translation>Rozšířit výběr o jedno slovo doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"228\"/>\n        <source>Extend rectangular selection right one character</source>\n        <translation>Rozšířit obdélníkový výběr o jedno písmeno doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"271\"/>\n        <source>Move to end of previous word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"277\"/>\n        <source>Extend selection to end of previous word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"288\"/>\n        <source>Move to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"298\"/>\n        <source>Extend selection to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"305\"/>\n        <source>Move left one word part</source>\n        <translation>Posun o část slova doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"311\"/>\n        <source>Extend selection left one word part</source>\n        <translation>Rozšířit výběr o část slova doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"318\"/>\n        <source>Move right one word part</source>\n        <translation>Posun o část slova doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"324\"/>\n        <source>Extend selection right one word part</source>\n        <translation>Rozšířit výběr o část slova doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"554\"/>\n        <source>Move up one page</source>\n        <translation>Posun na předchozí stranu</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"560\"/>\n        <source>Extend selection up one page</source>\n        <translation>Rozšířit výběr na předchozí stranu</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"566\"/>\n        <source>Extend rectangular selection up one page</source>\n        <translation>Rozšířit obdélníkový výběr na předchozí stranu</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"577\"/>\n        <source>Move down one page</source>\n        <translation>Posun na další stranu</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"587\"/>\n        <source>Extend selection down one page</source>\n        <translation>Rozšířit výběr na další stranu</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"597\"/>\n        <source>Extend rectangular selection down one page</source>\n        <translation>Rozšířit obdélníkový výběr na další stranu</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"634\"/>\n        <source>Delete current character</source>\n        <translation>Smazat aktuální znak</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"764\"/>\n        <source>Cut selection</source>\n        <translation>Vyjmout výběr</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"663\"/>\n        <source>Delete word to right</source>\n        <translation>Smazat slovo doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"335\"/>\n        <source>Move to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"345\"/>\n        <source>Extend selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"356\"/>\n        <source>Extend rectangular selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"367\"/>\n        <source>Move to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"377\"/>\n        <source>Extend selection to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"384\"/>\n        <source>Move to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"391\"/>\n        <source>Extend selection to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"402\"/>\n        <source>Move to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"413\"/>\n        <source>Extend selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"424\"/>\n        <source>Extend rectangular selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"431\"/>\n        <source>Move to first visible character of display in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"438\"/>\n        <source>Extend selection to first visible character in display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"449\"/>\n        <source>Move to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"459\"/>\n        <source>Extend selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"470\"/>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"481\"/>\n        <source>Move to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"491\"/>\n        <source>Extend selection to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"498\"/>\n        <source>Move to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"505\"/>\n        <source>Extend selection to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"516\"/>\n        <source>Move to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"526\"/>\n        <source>Extend selection to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"537\"/>\n        <source>Move to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"547\"/>\n        <source>Extend selection to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"604\"/>\n        <source>Stuttered move up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"610\"/>\n        <source>Stuttered extend selection up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"617\"/>\n        <source>Stuttered move down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"623\"/>\n        <source>Stuttered extend selection down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"650\"/>\n        <source>Delete previous character if not at start of line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"673\"/>\n        <source>Delete right to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"690\"/>\n        <source>Delete line to right</source>\n        <translation>Smazat řádku doprava</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"714\"/>\n        <source>Transpose current and previous lines</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"721\"/>\n        <source>Duplicate the current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"727\"/>\n        <source>Select all</source>\n        <oldsource>Select document</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"733\"/>\n        <source>Move selected lines up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"739\"/>\n        <source>Move selected lines down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"782\"/>\n        <source>Toggle insert/overtype</source>\n        <translation>Přepnout vkládání/přepisování</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"776\"/>\n        <source>Paste</source>\n        <translation>Vložit</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"770\"/>\n        <source>Copy selection</source>\n        <translation>Kopírovat výběr</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"788\"/>\n        <source>Insert newline</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"806\"/>\n        <source>De-indent one level</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"812\"/>\n        <source>Cancel</source>\n        <translation>Zrušit</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"644\"/>\n        <source>Delete previous character</source>\n        <translation>Smazat předchozí znak</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"657\"/>\n        <source>Delete word to left</source>\n        <translation>Smazat slovo doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"680\"/>\n        <source>Delete line to left</source>\n        <translation>Smazat řádku doleva</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"818\"/>\n        <source>Undo last command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"828\"/>\n        <source>Redo last command</source>\n        <translation>Znovu použít poslední příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"800\"/>\n        <source>Indent one level</source>\n        <translation>Odsadit o jednu úroveň</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"834\"/>\n        <source>Zoom in</source>\n        <translation>Zvětšit</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"840\"/>\n        <source>Zoom out</source>\n        <translation>Zmenšit</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"794\"/>\n        <source>Formfeed</source>\n        <translation>Vysunout</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"702\"/>\n        <source>Cut current line</source>\n        <translation>Vyjmout aktuální řádku</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"696\"/>\n        <source>Delete current line</source>\n        <translation>Smazat aktuální řádku</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"708\"/>\n        <source>Copy current line</source>\n        <translation>Kopírovat aktuální řádku</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"752\"/>\n        <source>Convert selection to lower case</source>\n        <translation>Vybraný text převést na malá písmena</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"758\"/>\n        <source>Convert selection to upper case</source>\n        <translation>Vybraný text převést na velká písmena</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"746\"/>\n        <source>Duplicate selection</source>\n        <translation>Duplikovat výběr</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerAVS</name>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"275\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"278\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"281\"/>\n        <source>Nested block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"284\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"287\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"296\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"299\"/>\n        <source>Triple double-quoted string</source>\n        <translation type=\"unfinished\">String ve třech dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"302\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"305\"/>\n        <source>Filter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"308\"/>\n        <source>Plugin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"311\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"314\"/>\n        <source>Clip property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"317\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBash</name>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"188\"/>\n        <source>Default</source>\n        <translation>Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"191\"/>\n        <source>Error</source>\n        <translation>Chyba</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"194\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"197\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"200\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"203\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"206\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"209\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"212\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"215\"/>\n        <source>Scalar</source>\n        <translation>Skalár</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"218\"/>\n        <source>Parameter expansion</source>\n        <translation>Rozklad parametru</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"221\"/>\n        <source>Backticks</source>\n        <translation>Zpětný chod</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"224\"/>\n        <source>Here document delimiter</source>\n        <translation>Zde je oddělovač dokumentu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"227\"/>\n        <source>Single-quoted here document</source>\n        <translation>Jednoduché uvozovky zde v dokumentu</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBatch</name>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"159\"/>\n        <source>Default</source>\n        <translation>Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"162\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"165\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"168\"/>\n        <source>Label</source>\n        <translation>Nadpis</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"171\"/>\n        <source>Hide command character</source>\n        <translation>Skrýt písmeno příkazu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"174\"/>\n        <source>External command</source>\n        <translation>Externí příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"177\"/>\n        <source>Variable</source>\n        <translation>Proměnná</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"180\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCMake</name>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"175\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"178\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"181\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"184\"/>\n        <source>Left quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"187\"/>\n        <source>Right quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"190\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"193\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\">Proměnná</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"196\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\">Nadpis</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"199\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"202\"/>\n        <source>WHILE block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"205\"/>\n        <source>FOREACH block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"208\"/>\n        <source>IF block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"211\"/>\n        <source>MACRO block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"214\"/>\n        <source>Variable within a string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"217\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCPP</name>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"349\"/>\n        <source>Default</source>\n        <translation>Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"352\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"355\"/>\n        <source>C comment</source>\n        <translation>C komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"358\"/>\n        <source>Inactive C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"361\"/>\n        <source>C++ comment</source>\n        <translation>C++ komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"364\"/>\n        <source>Inactive C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"367\"/>\n        <source>JavaDoc style C comment</source>\n        <translation>JavaDoc styl C komentáře</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"370\"/>\n        <source>Inactive JavaDoc style C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"373\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"376\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"379\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"382\"/>\n        <source>Inactive keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"385\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"388\"/>\n        <source>Inactive double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"391\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"394\"/>\n        <source>Inactive single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"397\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"400\"/>\n        <source>Inactive IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"403\"/>\n        <source>Pre-processor block</source>\n        <translation>Pre-procesor blok</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"406\"/>\n        <source>Inactive pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"409\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"412\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"415\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"418\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"421\"/>\n        <source>Unclosed string</source>\n        <translation>Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"424\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"427\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"430\"/>\n        <source>Inactive C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"433\"/>\n        <source>JavaScript regular expression</source>\n        <translation type=\"unfinished\">JavaSript regulární výraz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"436\"/>\n        <source>Inactive JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"439\"/>\n        <source>JavaDoc style C++ comment</source>\n        <translation>JavaDoc styl C++ komentáře</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"442\"/>\n        <source>Inactive JavaDoc style C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"445\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Sekundární klíčová slova a identifikátory</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"448\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"451\"/>\n        <source>JavaDoc keyword</source>\n        <translation>JavaDoc klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"454\"/>\n        <source>Inactive JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"457\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>JavaDoc klíčové slovo chyby</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"460\"/>\n        <source>Inactive JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"463\"/>\n        <source>Global classes and typedefs</source>\n        <translation>Globální třídy a definice typů</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"466\"/>\n        <source>Inactive global classes and typedefs</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"469\"/>\n        <source>C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"472\"/>\n        <source>Inactive C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"475\"/>\n        <source>Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"478\"/>\n        <source>Inactive Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"481\"/>\n        <source>Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"484\"/>\n        <source>Inactive Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"487\"/>\n        <source>Pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"490\"/>\n        <source>Inactive pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"493\"/>\n        <source>JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"496\"/>\n        <source>Inactive JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"499\"/>\n        <source>User-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"502\"/>\n        <source>Inactive user-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"505\"/>\n        <source>Task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"508\"/>\n        <source>Inactive task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"511\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"514\"/>\n        <source>Inactive escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSS</name>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"217\"/>\n        <source>Default</source>\n        <translation>Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"220\"/>\n        <source>Tag</source>\n        <translation>Tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"223\"/>\n        <source>Class selector</source>\n        <translation>Selektor třídy</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"226\"/>\n        <source>Pseudo-class</source>\n        <translation>Pseudotřída</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"229\"/>\n        <source>Unknown pseudo-class</source>\n        <translation>Nedefinovaná pseudotřída</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"232\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"235\"/>\n        <source>CSS1 property</source>\n        <translation>CSS1 vlastnost</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"238\"/>\n        <source>Unknown property</source>\n        <translation>Nedefinovaná vlastnost</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"241\"/>\n        <source>Value</source>\n        <translation>Hodnota</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"244\"/>\n        <source>ID selector</source>\n        <translation>ID selektor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"247\"/>\n        <source>Important</source>\n        <translation>Important</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"250\"/>\n        <source>@-rule</source>\n        <translation>@-pravidlo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"253\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"256\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"259\"/>\n        <source>CSS2 property</source>\n        <translation>CSS2 vlastnost</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"262\"/>\n        <source>Attribute</source>\n        <translation>Atribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"265\"/>\n        <source>CSS3 property</source>\n        <translation type=\"unfinished\">CSS2 vlastnost {3 ?}</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"268\"/>\n        <source>Pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"271\"/>\n        <source>Extended CSS property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"274\"/>\n        <source>Extended pseudo-class</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"277\"/>\n        <source>Extended pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"280\"/>\n        <source>Media rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"283\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\">Proměnná</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSharp</name>\n    <message>\n        <location filename=\"qscilexercsharp.cpp\" line=\"90\"/>\n        <source>Verbatim string</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCoffeeScript</name>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"243\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"246\"/>\n        <source>C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"249\"/>\n        <source>C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"252\"/>\n        <source>JavaDoc C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"255\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"258\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"261\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"264\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"267\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"270\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\">Pre-procesor blok</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"273\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"276\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"279\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"282\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"285\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\">Regulární výraz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"288\"/>\n        <source>JavaDoc C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"291\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\">Sekundární klíčová slova a identifikátory</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"294\"/>\n        <source>JavaDoc keyword</source>\n        <translation type=\"unfinished\">JavaDoc klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"297\"/>\n        <source>JavaDoc keyword error</source>\n        <translation type=\"unfinished\">JavaDoc klíčové slovo chyby</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"300\"/>\n        <source>Global classes</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"303\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"306\"/>\n        <source>Block regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"309\"/>\n        <source>Block regular expression comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"312\"/>\n        <source>Instance property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerD</name>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"254\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"257\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"260\"/>\n        <source>DDoc style block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"263\"/>\n        <source>Nesting comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"266\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"269\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"272\"/>\n        <source>Secondary keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"275\"/>\n        <source>Documentation keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"278\"/>\n        <source>Type definition</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"281\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"284\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"287\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\">Znak</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"296\"/>\n        <source>DDoc style line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"299\"/>\n        <source>DDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"302\"/>\n        <source>DDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"305\"/>\n        <source>Backquoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"308\"/>\n        <source>Raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"311\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\">Definováno uživatelem 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"314\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\">Definováno uživatelem 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"317\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\">Definováno uživatelem 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerDiff</name>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"91\"/>\n        <source>Default</source>\n        <translation>Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"94\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"97\"/>\n        <source>Command</source>\n        <translation>Příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"100\"/>\n        <source>Header</source>\n        <translation>Hlavička</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"103\"/>\n        <source>Position</source>\n        <translation>Pozice</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"106\"/>\n        <source>Removed line</source>\n        <translation>Odebraná řádka</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"109\"/>\n        <source>Added line</source>\n        <translation>Přidaná řádka</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"112\"/>\n        <source>Changed line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"115\"/>\n        <source>Added adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"118\"/>\n        <source>Removed adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"121\"/>\n        <source>Added removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"124\"/>\n        <source>Removed removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerEDIFACT</name>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"79\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"82\"/>\n        <source>Segment start</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"85\"/>\n        <source>Segment end</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"88\"/>\n        <source>Element separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"91\"/>\n        <source>Composite separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"94\"/>\n        <source>Release separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"97\"/>\n        <source>UNA segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"100\"/>\n        <source>UNH segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"103\"/>\n        <source>Badly formed segment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerFortran77</name>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"170\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"173\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"176\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"179\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"182\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"185\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"188\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"191\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"194\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"197\"/>\n        <source>Intrinsic function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"200\"/>\n        <source>Extended function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"203\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\">Pre-procesor blok</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"206\"/>\n        <source>Dotted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"209\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\">Nadpis</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"212\"/>\n        <source>Continuation</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerHTML</name>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"548\"/>\n        <source>HTML default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"551\"/>\n        <source>Tag</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"554\"/>\n        <source>Unknown tag</source>\n        <translation>Nedefinovaný tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"557\"/>\n        <source>Attribute</source>\n        <translation>Atribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"560\"/>\n        <source>Unknown attribute</source>\n        <translation>Nedefinovaný atribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"563\"/>\n        <source>HTML number</source>\n        <translation>HTML číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"566\"/>\n        <source>HTML double-quoted string</source>\n        <translation>HTML string ve dojtých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"569\"/>\n        <source>HTML single-quoted string</source>\n        <translation>HTML string v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"572\"/>\n        <source>Other text in a tag</source>\n        <translation>Další text v tagu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"575\"/>\n        <source>HTML comment</source>\n        <translation>HTML komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"578\"/>\n        <source>Entity</source>\n        <translation>Entita</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"581\"/>\n        <source>End of a tag</source>\n        <translation>Konec tagu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"584\"/>\n        <source>Start of an XML fragment</source>\n        <translation>Začátek XML části</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"587\"/>\n        <source>End of an XML fragment</source>\n        <translation>Konec XML části</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"590\"/>\n        <source>Script tag</source>\n        <translation>Tag skriptu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"593\"/>\n        <source>Start of an ASP fragment with @</source>\n        <translation>Začátek ASP kódu s @</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"596\"/>\n        <source>Start of an ASP fragment</source>\n        <translation>Začátek ASP kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"599\"/>\n        <source>CDATA</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"602\"/>\n        <source>Start of a PHP fragment</source>\n        <translation>Začátek PHP kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"605\"/>\n        <source>Unquoted HTML value</source>\n        <translation>HTML hodnota bez uvozovek</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"608\"/>\n        <source>ASP X-Code comment</source>\n        <translation>ASP X-Code komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"611\"/>\n        <source>SGML default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"614\"/>\n        <source>SGML command</source>\n        <translation>SGML příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"617\"/>\n        <source>First parameter of an SGML command</source>\n        <translation>První parametr v SGML příkazu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"620\"/>\n        <source>SGML double-quoted string</source>\n        <translation>SGML string ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"623\"/>\n        <source>SGML single-quoted string</source>\n        <translation>SGML string v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"626\"/>\n        <source>SGML error</source>\n        <translation>SGML chyba</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"629\"/>\n        <source>SGML special entity</source>\n        <translation>SGML speciální entita</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"632\"/>\n        <source>SGML comment</source>\n        <translation>SGML komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"635\"/>\n        <source>First parameter comment of an SGML command</source>\n        <translation>Komentář prvního parametru SGML příkazu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"638\"/>\n        <source>SGML block default</source>\n        <translation>SGML defaultní blok</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"641\"/>\n        <source>Start of a JavaScript fragment</source>\n        <translation>Začátek JavaScript kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"644\"/>\n        <source>JavaScript default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"647\"/>\n        <source>JavaScript comment</source>\n        <translation>JavaScript komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"650\"/>\n        <source>JavaScript line comment</source>\n        <translation>JavaScript jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"653\"/>\n        <source>JavaDoc style JavaScript comment</source>\n        <translation>JavaDoc styl JavaScript komentáře</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"656\"/>\n        <source>JavaScript number</source>\n        <translation>JavaScript číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"659\"/>\n        <source>JavaScript word</source>\n        <translation>JavaSript slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"662\"/>\n        <source>JavaScript keyword</source>\n        <translation>JavaSript klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"665\"/>\n        <source>JavaScript double-quoted string</source>\n        <translation>JavaSript string ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"668\"/>\n        <source>JavaScript single-quoted string</source>\n        <translation>JavaSript string v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"671\"/>\n        <source>JavaScript symbol</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"674\"/>\n        <source>JavaScript unclosed string</source>\n        <translation>JavaSript neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"677\"/>\n        <source>JavaScript regular expression</source>\n        <translation>JavaSript regulární výraz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"680\"/>\n        <source>Start of an ASP JavaScript fragment</source>\n        <translation>Začátek ASP JavaScript kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"683\"/>\n        <source>ASP JavaScript default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"686\"/>\n        <source>ASP JavaScript comment</source>\n        <translation>ASP JavaScript komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"689\"/>\n        <source>ASP JavaScript line comment</source>\n        <translation>ASP JavaScript jednořádkový komenář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"692\"/>\n        <source>JavaDoc style ASP JavaScript comment</source>\n        <translation>JavaDoc styl ASP JavaScript komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"695\"/>\n        <source>ASP JavaScript number</source>\n        <translation>ASP JavaScript číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"698\"/>\n        <source>ASP JavaScript word</source>\n        <translation>ASP JavaScript slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"701\"/>\n        <source>ASP JavaScript keyword</source>\n        <translation>ASP JavaScript klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"704\"/>\n        <source>ASP JavaScript double-quoted string</source>\n        <translation>ASP JavaScript string ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"707\"/>\n        <source>ASP JavaScript single-quoted string</source>\n        <translation>ASP JavaScript v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"710\"/>\n        <source>ASP JavaScript symbol</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"713\"/>\n        <source>ASP JavaScript unclosed string</source>\n        <translation>ASP JavaScript neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"716\"/>\n        <source>ASP JavaScript regular expression</source>\n        <translation>ASP JavaScript regulární výraz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"719\"/>\n        <source>Start of a VBScript fragment</source>\n        <translation>Začátek VBScript kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"722\"/>\n        <source>VBScript default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"725\"/>\n        <source>VBScript comment</source>\n        <translation>VBScript komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"728\"/>\n        <source>VBScript number</source>\n        <translation>VBScript číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"731\"/>\n        <source>VBScript keyword</source>\n        <translation>VBScript klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"734\"/>\n        <source>VBScript string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"737\"/>\n        <source>VBScript identifier</source>\n        <translation>VBScript identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"740\"/>\n        <source>VBScript unclosed string</source>\n        <translation>VBScript neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"743\"/>\n        <source>Start of an ASP VBScript fragment</source>\n        <translation>Začátek ASP VBScript kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"746\"/>\n        <source>ASP VBScript default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"749\"/>\n        <source>ASP VBScript comment</source>\n        <translation>ASP VBScript komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"752\"/>\n        <source>ASP VBScript number</source>\n        <translation>ASP VBScript číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"755\"/>\n        <source>ASP VBScript keyword</source>\n        <translation>ASP VBScript klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"758\"/>\n        <source>ASP VBScript string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"761\"/>\n        <source>ASP VBScript identifier</source>\n        <translation>ASP VBScript identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"764\"/>\n        <source>ASP VBScript unclosed string</source>\n        <translation>ASP VBScript neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"767\"/>\n        <source>Start of a Python fragment</source>\n        <translation>Začátek Python kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"770\"/>\n        <source>Python default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"773\"/>\n        <source>Python comment</source>\n        <translation>Python komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"776\"/>\n        <source>Python number</source>\n        <translation>Python číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"779\"/>\n        <source>Python double-quoted string</source>\n        <translation>Python string ve dojtých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"782\"/>\n        <source>Python single-quoted string</source>\n        <translation>Python string v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"785\"/>\n        <source>Python keyword</source>\n        <translation>Python klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"788\"/>\n        <source>Python triple double-quoted string</source>\n        <translation>Python string ve třech dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"791\"/>\n        <source>Python triple single-quoted string</source>\n        <translation>Python ve třech jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"794\"/>\n        <source>Python class name</source>\n        <translation>Python jméno třídy</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"797\"/>\n        <source>Python function or method name</source>\n        <translation>Python jméno funkce nebo metody</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"800\"/>\n        <source>Python operator</source>\n        <translation>Python operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"803\"/>\n        <source>Python identifier</source>\n        <translation>Python identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"806\"/>\n        <source>Start of an ASP Python fragment</source>\n        <translation>Začátek ASP Python kódu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"809\"/>\n        <source>ASP Python default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"812\"/>\n        <source>ASP Python comment</source>\n        <translation>ASP Python komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"815\"/>\n        <source>ASP Python number</source>\n        <translation>ASP Python číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"818\"/>\n        <source>ASP Python double-quoted string</source>\n        <translation>ASP Python string ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"821\"/>\n        <source>ASP Python single-quoted string</source>\n        <translation>ASP Python v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"824\"/>\n        <source>ASP Python keyword</source>\n        <translation>ASP Python klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"827\"/>\n        <source>ASP Python triple double-quoted string</source>\n        <translation>ASP Python ve třech dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"830\"/>\n        <source>ASP Python triple single-quoted string</source>\n        <translation>ASP Python ve třech jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"833\"/>\n        <source>ASP Python class name</source>\n        <translation>ASP Python jméno třídy</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"836\"/>\n        <source>ASP Python function or method name</source>\n        <translation>ASP Python jméno funkce  nebo metody</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"839\"/>\n        <source>ASP Python operator</source>\n        <translation>ASP Python operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"842\"/>\n        <source>ASP Python identifier</source>\n        <translation>ASP Python identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"845\"/>\n        <source>PHP default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"848\"/>\n        <source>PHP double-quoted string</source>\n        <translation>PHP string ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"851\"/>\n        <source>PHP single-quoted string</source>\n        <translation>PHP v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"854\"/>\n        <source>PHP keyword</source>\n        <translation>PHP klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"857\"/>\n        <source>PHP number</source>\n        <translation>PHP číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"860\"/>\n        <source>PHP variable</source>\n        <translation>PHP proměnná</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"863\"/>\n        <source>PHP comment</source>\n        <translation>PHP komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"866\"/>\n        <source>PHP line comment</source>\n        <translation>PHP jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"869\"/>\n        <source>PHP double-quoted variable</source>\n        <translation>PHP proměnná ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"872\"/>\n        <source>PHP operator</source>\n        <translation>PHP operátor</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerIDL</name>\n    <message>\n        <location filename=\"qscilexeridl.cpp\" line=\"82\"/>\n        <source>UUID</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJSON</name>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"145\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"148\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"151\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"154\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"157\"/>\n        <source>Property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"160\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"163\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"166\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"169\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"172\"/>\n        <source>IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"175\"/>\n        <source>JSON-LD compact IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"178\"/>\n        <source>JSON keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"181\"/>\n        <source>JSON-LD keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"184\"/>\n        <source>Parsing error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJavaScript</name>\n    <message>\n        <location filename=\"qscilexerjavascript.cpp\" line=\"92\"/>\n        <source>Regular expression</source>\n        <translation>Regulární výraz</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerLua</name>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"212\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"215\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"218\"/>\n        <source>Line comment</source>\n        <translation>Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"221\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"224\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"227\"/>\n        <source>String</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"230\"/>\n        <source>Character</source>\n        <translation>Znak</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"233\"/>\n        <source>Literal string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"236\"/>\n        <source>Preprocessor</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"239\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"242\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"245\"/>\n        <source>Unclosed string</source>\n        <translation>Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"248\"/>\n        <source>Basic functions</source>\n        <translation>Základní funkce</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"251\"/>\n        <source>String, table and maths functions</source>\n        <translation>String, tabulka a matematické funkce</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"254\"/>\n        <source>Coroutines, i/o and system facilities</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"257\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\">Definováno uživatelem 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"260\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\">Definováno uživatelem 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"263\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\">Definováno uživatelem 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"266\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\">Definováno uživatelem 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"269\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\">Nadpis</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMakefile</name>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"111\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"114\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"117\"/>\n        <source>Preprocessor</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"120\"/>\n        <source>Variable</source>\n        <translation>Proměnná</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"123\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"126\"/>\n        <source>Target</source>\n        <translation>Cíl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"129\"/>\n        <source>Error</source>\n        <translation>Chyba</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMarkdown</name>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"207\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"210\"/>\n        <source>Special</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"213\"/>\n        <source>Strong emphasis using double asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"216\"/>\n        <source>Strong emphasis using double underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"219\"/>\n        <source>Emphasis using single asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"222\"/>\n        <source>Emphasis using single underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"225\"/>\n        <source>Level 1 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"228\"/>\n        <source>Level 2 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"231\"/>\n        <source>Level 3 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"234\"/>\n        <source>Level 4 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"237\"/>\n        <source>Level 5 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"240\"/>\n        <source>Level 6 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"243\"/>\n        <source>Pre-char</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"246\"/>\n        <source>Unordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"249\"/>\n        <source>Ordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"252\"/>\n        <source>Block quote</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"255\"/>\n        <source>Strike out</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"258\"/>\n        <source>Horizontal rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"261\"/>\n        <source>Link</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"264\"/>\n        <source>Code between backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"267\"/>\n        <source>Code between double backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"270\"/>\n        <source>Code block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMatlab</name>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"118\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"121\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"124\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\">Příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"127\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"130\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"133\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"136\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"139\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"142\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">String ve dvojitých uvozovkách</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPO</name>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"84\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"87\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"90\"/>\n        <source>Message identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"93\"/>\n        <source>Message identifier text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"96\"/>\n        <source>Message string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"99\"/>\n        <source>Message string text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"102\"/>\n        <source>Message context</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"105\"/>\n        <source>Message context text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"108\"/>\n        <source>Fuzzy flag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"111\"/>\n        <source>Programmer comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"114\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"117\"/>\n        <source>Flags</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"120\"/>\n        <source>Message identifier text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"123\"/>\n        <source>Message string text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"126\"/>\n        <source>Message context text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPOV</name>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"262\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"265\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"268\"/>\n        <source>Comment line</source>\n        <translation>Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"271\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"274\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"277\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"280\"/>\n        <source>String</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"283\"/>\n        <source>Unclosed string</source>\n        <translation>Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"286\"/>\n        <source>Directive</source>\n        <translation>Direktiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"289\"/>\n        <source>Bad directive</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"292\"/>\n        <source>Objects, CSG and appearance</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"295\"/>\n        <source>Types, modifiers and items</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"298\"/>\n        <source>Predefined identifiers</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"301\"/>\n        <source>Predefined functions</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"304\"/>\n        <source>User defined 1</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"307\"/>\n        <source>User defined 2</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"310\"/>\n        <source>User defined 3</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPascal</name>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"241\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"253\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"262\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"268\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"271\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"280\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"244\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"247\"/>\n        <source>&apos;{ ... }&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"250\"/>\n        <source>&apos;(* ... *)&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"256\"/>\n        <source>&apos;{$ ... }&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"259\"/>\n        <source>&apos;(*$ ... *)&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"265\"/>\n        <source>Hexadecimal number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"274\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"277\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\">Znak</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"283\"/>\n        <source>Inline asm</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPerl</name>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"313\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"316\"/>\n        <source>Error</source>\n        <translation>Chyba</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"319\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"322\"/>\n        <source>POD</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"325\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"328\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"331\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"334\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"337\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"340\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"343\"/>\n        <source>Scalar</source>\n        <translation>Skalár</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"346\"/>\n        <source>Array</source>\n        <translation>Pole</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"349\"/>\n        <source>Hash</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"352\"/>\n        <source>Symbol table</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"355\"/>\n        <source>Regular expression</source>\n        <translation>Regulární výraz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"358\"/>\n        <source>Substitution</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"361\"/>\n        <source>Backticks</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"364\"/>\n        <source>Data section</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"367\"/>\n        <source>Here document delimiter</source>\n        <translation>Zde je oddělovač dokumentu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"370\"/>\n        <source>Single-quoted here document</source>\n        <translation>Zde je dokument v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"373\"/>\n        <source>Double-quoted here document</source>\n        <translation>Zde je dokument ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"376\"/>\n        <source>Backtick here document</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"379\"/>\n        <source>Quoted string (q)</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"382\"/>\n        <source>Quoted string (qq)</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"385\"/>\n        <source>Quoted string (qx)</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"388\"/>\n        <source>Quoted string (qr)</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"391\"/>\n        <source>Quoted string (qw)</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"394\"/>\n        <source>POD verbatim</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"397\"/>\n        <source>Subroutine prototype</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"400\"/>\n        <source>Format identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"403\"/>\n        <source>Format body</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"406\"/>\n        <source>Double-quoted string (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"409\"/>\n        <source>Translation</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"412\"/>\n        <source>Regular expression (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"415\"/>\n        <source>Substitution (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"418\"/>\n        <source>Backticks (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"421\"/>\n        <source>Double-quoted here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"424\"/>\n        <source>Backtick here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"427\"/>\n        <source>Quoted string (qq, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"430\"/>\n        <source>Quoted string (qx, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"433\"/>\n        <source>Quoted string (qr, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPostScript</name>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"244\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"247\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"250\"/>\n        <source>DSC comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"253\"/>\n        <source>DSC comment value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"256\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"259\"/>\n        <source>Name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"262\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"265\"/>\n        <source>Literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"268\"/>\n        <source>Immediately evaluated literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"271\"/>\n        <source>Array parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"274\"/>\n        <source>Dictionary parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"277\"/>\n        <source>Procedure parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"280\"/>\n        <source>Text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"283\"/>\n        <source>Hexadecimal string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"286\"/>\n        <source>Base85 string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"289\"/>\n        <source>Bad string character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerProperties</name>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"105\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"108\"/>\n        <source>Comment</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"111\"/>\n        <source>Section</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"114\"/>\n        <source>Assignment</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"117\"/>\n        <source>Default value</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"120\"/>\n        <source>Key</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPython</name>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"223\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"226\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"229\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"232\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"235\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"238\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"241\"/>\n        <source>Triple single-quoted string</source>\n        <translation>String ve třech jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"244\"/>\n        <source>Triple double-quoted string</source>\n        <translation>String ve třech dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"247\"/>\n        <source>Class name</source>\n        <translation>Jméno třídy</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"250\"/>\n        <source>Function or method name</source>\n        <translation>Jméno funkce nebo metody</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"253\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"256\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"259\"/>\n        <source>Comment block</source>\n        <translation>Blok komentáře</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"262\"/>\n        <source>Unclosed string</source>\n        <translation>Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"265\"/>\n        <source>Highlighted identifier</source>\n        <translation>Zvýrazněný identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"268\"/>\n        <source>Decorator</source>\n        <translation>Dekorátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"271\"/>\n        <source>Double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"274\"/>\n        <source>Single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"277\"/>\n        <source>Triple single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"280\"/>\n        <source>Triple double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerRuby</name>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"233\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"239\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"245\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"251\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"254\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"248\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"257\"/>\n        <source>Class name</source>\n        <translation>Jméno třídy</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"260\"/>\n        <source>Function or method name</source>\n        <translation>Jméno funkce nebo metody</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"263\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"266\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"236\"/>\n        <source>Error</source>\n        <translation>Chyba</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"242\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"269\"/>\n        <source>Regular expression</source>\n        <translation>Regulární výraz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"272\"/>\n        <source>Global</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"275\"/>\n        <source>Symbol</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"278\"/>\n        <source>Module name</source>\n        <translation>Jméno modulu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"281\"/>\n        <source>Instance variable</source>\n        <translation>Proměnná instance</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"284\"/>\n        <source>Class variable</source>\n        <translation>Proměnná třídy</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"287\"/>\n        <source>Backticks</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"290\"/>\n        <source>Data section</source>\n        <translation>Datová sekce</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"293\"/>\n        <source>Here document delimiter</source>\n        <translation>Zde je oddělovač dokumentu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"296\"/>\n        <source>Here document</source>\n        <translation>Zde je dokument</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"299\"/>\n        <source>%q string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"302\"/>\n        <source>%Q string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"305\"/>\n        <source>%x string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"308\"/>\n        <source>%r string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"311\"/>\n        <source>%w string</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"314\"/>\n        <source>Demoted keyword</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"317\"/>\n        <source>stdin</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"320\"/>\n        <source>stdout</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"323\"/>\n        <source>stderr</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSQL</name>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"254\"/>\n        <source>Comment</source>\n        <translation>Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"263\"/>\n        <source>Number</source>\n        <translation>Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"266\"/>\n        <source>Keyword</source>\n        <translation>Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"272\"/>\n        <source>Single-quoted string</source>\n        <translation>String v jednoduchých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"281\"/>\n        <source>Operator</source>\n        <translation>Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"284\"/>\n        <source>Identifier</source>\n        <translation>Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"257\"/>\n        <source>Comment line</source>\n        <translation>Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"260\"/>\n        <source>JavaDoc style comment</source>\n        <translation>JavaDoc styl komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"269\"/>\n        <source>Double-quoted string</source>\n        <translation>String ve dvojitých uvozovkách</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"275\"/>\n        <source>SQL*Plus keyword</source>\n        <translation>SQL*Plus klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"278\"/>\n        <source>SQL*Plus prompt</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"287\"/>\n        <source>SQL*Plus comment</source>\n        <translation>SQL*Plus komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"290\"/>\n        <source># comment line</source>\n        <translation># jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"293\"/>\n        <source>JavaDoc keyword</source>\n        <translation>JavaDoc klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"296\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>JavaDoc klíčové slovo chyby</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"299\"/>\n        <source>User defined 1</source>\n        <translation>Definováno uživatelem 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"302\"/>\n        <source>User defined 2</source>\n        <translation>Definováno uživatelem 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"305\"/>\n        <source>User defined 3</source>\n        <translation>Definováno uživatelem 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"308\"/>\n        <source>User defined 4</source>\n        <translation>Definováno uživatelem 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"311\"/>\n        <source>Quoted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"314\"/>\n        <source>Quoted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSpice</name>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"151\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"154\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"157\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\">Příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"160\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"163\"/>\n        <source>Parameter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"166\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"169\"/>\n        <source>Delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"172\"/>\n        <source>Value</source>\n        <translation type=\"unfinished\">Hodnota</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"175\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTCL</name>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"277\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"280\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"283\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"286\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"289\"/>\n        <source>Quoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"292\"/>\n        <source>Quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"295\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"298\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"301\"/>\n        <source>Substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"304\"/>\n        <source>Brace substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"307\"/>\n        <source>Modifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"310\"/>\n        <source>Expand keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"313\"/>\n        <source>TCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"316\"/>\n        <source>Tk keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"319\"/>\n        <source>iTCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"322\"/>\n        <source>Tk command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"325\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\">Definováno uživatelem 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"328\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\">Definováno uživatelem 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"331\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\">Definováno uživatelem 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"334\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\">Definováno uživatelem 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"337\"/>\n        <source>Comment box</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"340\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\">Blok komentáře</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTeX</name>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"172\"/>\n        <source>Default</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"175\"/>\n        <source>Special</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"178\"/>\n        <source>Group</source>\n        <translation>Skupina</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"181\"/>\n        <source>Symbol</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"184\"/>\n        <source>Command</source>\n        <translation>Příkaz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"187\"/>\n        <source>Text</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVHDL</name>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"192\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"195\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"198\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"201\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"204\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"207\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"210\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"213\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"216\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"219\"/>\n        <source>Standard operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"222\"/>\n        <source>Attribute</source>\n        <translation type=\"unfinished\">Atribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"225\"/>\n        <source>Standard function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"228\"/>\n        <source>Standard package</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"231\"/>\n        <source>Standard type</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"234\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"237\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\">Blok komentáře</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVerilog</name>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"281\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"284\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"287\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"290\"/>\n        <source>Inactive comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"293\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Jednořádkový komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"296\"/>\n        <source>Inactive line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"299\"/>\n        <source>Bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"302\"/>\n        <source>Inactive bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"305\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"308\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"311\"/>\n        <source>Primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"314\"/>\n        <source>Inactive primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"317\"/>\n        <source>String</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"320\"/>\n        <source>Inactive string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"323\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\">Sekundární klíčová slova a identifikátory</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"326\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"329\"/>\n        <source>System task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"332\"/>\n        <source>Inactive system task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"335\"/>\n        <source>Preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"338\"/>\n        <source>Inactive preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"341\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"344\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"347\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"350\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"353\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Neuzavřený string</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"356\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"359\"/>\n        <source>User defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"362\"/>\n        <source>Inactive user defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"365\"/>\n        <source>Keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"368\"/>\n        <source>Inactive keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"371\"/>\n        <source>Input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"374\"/>\n        <source>Inactive input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"377\"/>\n        <source>Output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"380\"/>\n        <source>Inactive output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"383\"/>\n        <source>Input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"386\"/>\n        <source>Inactive input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"389\"/>\n        <source>Port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"392\"/>\n        <source>Inactive port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerYAML</name>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"155\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Default</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"158\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Komentář</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"161\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identifikátor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"164\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Klíčové slovo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"167\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Číslo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"170\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"173\"/>\n        <source>Document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"176\"/>\n        <source>Text block marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"179\"/>\n        <source>Syntax error marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"182\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operátor</translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4455\"/>\n        <source>&amp;Undo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4459\"/>\n        <source>&amp;Redo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4465\"/>\n        <source>Cu&amp;t</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4470\"/>\n        <source>&amp;Copy</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4476\"/>\n        <source>&amp;Paste</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4480\"/>\n        <source>Delete</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4487\"/>\n        <source>Select All</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/qscint/src/qscintilla_de.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\" language=\"de\">\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"175\"/>\n        <source>Move left one character</source>\n        <translation>Ein Zeichen nach links</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"207\"/>\n        <source>Move right one character</source>\n        <translation>Ein Zeichen nach rechts</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"81\"/>\n        <source>Move up one line</source>\n        <translation>Eine Zeile nach oben</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"44\"/>\n        <source>Move down one line</source>\n        <translation>Eine Zeile nach unten</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"305\"/>\n        <source>Move left one word part</source>\n        <translation>Ein Wortteil nach links</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"318\"/>\n        <source>Move right one word part</source>\n        <translation>Ein Wortteil nach rechts</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"239\"/>\n        <source>Move left one word</source>\n        <translation>Ein Wort nach links</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"259\"/>\n        <source>Move right one word</source>\n        <translation>Ein Wort nach rechts</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"71\"/>\n        <source>Scroll view down one line</source>\n        <translation>Eine Zeile nach unten rollen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"108\"/>\n        <source>Scroll view up one line</source>\n        <translation>Eine Zeile nach oben rollen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"554\"/>\n        <source>Move up one page</source>\n        <translation>Eine Seite hoch</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"577\"/>\n        <source>Move down one page</source>\n        <translation>Eine Seite nach unten</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"800\"/>\n        <source>Indent one level</source>\n        <translation>Eine Ebene einrücken</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"185\"/>\n        <source>Extend selection left one character</source>\n        <translation>Auswahl um ein Zeichen nach links erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"217\"/>\n        <source>Extend selection right one character</source>\n        <translation>Auswahl um ein Zeichen nach rechts erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"91\"/>\n        <source>Extend selection up one line</source>\n        <translation>Auswahl um eine Zeile nach oben erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"54\"/>\n        <source>Extend selection down one line</source>\n        <translation>Auswahl um eine Zeile nach unten erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"311\"/>\n        <source>Extend selection left one word part</source>\n        <translation>Auswahl um einen Wortteil nach links erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"324\"/>\n        <source>Extend selection right one word part</source>\n        <translation>Auswahl um einen Wortteil nach rechts erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"249\"/>\n        <source>Extend selection left one word</source>\n        <translation>Auswahl um ein Wort nach links erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"265\"/>\n        <source>Extend selection right one word</source>\n        <translation>Auswahl um ein Wort nach rechts erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"560\"/>\n        <source>Extend selection up one page</source>\n        <translation>Auswahl um eine Seite nach oben erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"587\"/>\n        <source>Extend selection down one page</source>\n        <translation>Auswahl um eine Seite nach unten erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"644\"/>\n        <source>Delete previous character</source>\n        <translation>Zeichen links löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"634\"/>\n        <source>Delete current character</source>\n        <translation>Aktuelles Zeichen löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"657\"/>\n        <source>Delete word to left</source>\n        <translation>Wort links löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"663\"/>\n        <source>Delete word to right</source>\n        <translation>Wort rechts löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"680\"/>\n        <source>Delete line to left</source>\n        <translation>Zeile links löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"690\"/>\n        <source>Delete line to right</source>\n        <translation>Zeile rechts löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"696\"/>\n        <source>Delete current line</source>\n        <translation>Aktuelle Zeile löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"702\"/>\n        <source>Cut current line</source>\n        <translation>Aktuelle Zeile ausschneiden</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"764\"/>\n        <source>Cut selection</source>\n        <translation>Auswahl ausschneiden</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"770\"/>\n        <source>Copy selection</source>\n        <translation>Auswahl kopieren</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"776\"/>\n        <source>Paste</source>\n        <translation>Einfügen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"828\"/>\n        <source>Redo last command</source>\n        <translation>Letzten Befehl wiederholen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"812\"/>\n        <source>Cancel</source>\n        <translation>Abbrechen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"782\"/>\n        <source>Toggle insert/overtype</source>\n        <translation>Einfügen/Überschreiben umschalten</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"118\"/>\n        <source>Scroll to start of document</source>\n        <translation>Zum Dokumentenanfang rollen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"128\"/>\n        <source>Scroll to end of document</source>\n        <translation>Zum Dokumentenende rollen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"138\"/>\n        <source>Scroll vertically to centre current line</source>\n        <translation>Vertical rollen, um aktuelle Zeile zu zentrieren</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"271\"/>\n        <source>Move to end of previous word</source>\n        <translation>Zum Ende des vorigen Wortes springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"277\"/>\n        <source>Extend selection to end of previous word</source>\n        <translation>Auswahl bis zum Ende des vorigen Wortes erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"288\"/>\n        <source>Move to end of next word</source>\n        <translation>Zum Ende des nächsten Wortes springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"298\"/>\n        <source>Extend selection to end of next word</source>\n        <translation>Auswahl bis zum Ende des nächsten Wortes erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"335\"/>\n        <source>Move to start of document line</source>\n        <translation>Zum Beginn der Dokumentenzeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"345\"/>\n        <source>Extend selection to start of document line</source>\n        <translation>Auswahl zum Beginn der Dokumentenzeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"356\"/>\n        <source>Extend rectangular selection to start of document line</source>\n        <translation>Rechteckige Auswahl zum Beginn der Dokumentenzeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"367\"/>\n        <source>Move to start of display line</source>\n        <translation>Zum Beginn der Anzeigezeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"377\"/>\n        <source>Extend selection to start of display line</source>\n        <translation>Auswahl zum Beginn der Anzeigezeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"384\"/>\n        <source>Move to start of display or document line</source>\n        <translation>Zum Beginn der Dokumenten- oder Anzeigezeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"391\"/>\n        <source>Extend selection to start of display or document line</source>\n        <translation>Rechteckige Auswahl zum Beginn der Dokumenten- oder Anzeigezeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"402\"/>\n        <source>Move to first visible character in document line</source>\n        <translation>Zum ersten sichtbaren Zeichen der Dokumentzeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"413\"/>\n        <source>Extend selection to first visible character in document line</source>\n        <translation>Auswahl zum ersten sichtbaren Zeichen der Dokumentzeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"424\"/>\n        <source>Extend rectangular selection to first visible character in document line</source>\n        <translation>Rechteckige Auswahl zum ersten sichtbaren Zeichen der Dokumentzeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"431\"/>\n        <source>Move to first visible character of display in document line</source>\n        <translation>Zum ersten angezeigten Zeichen der Dokumentzeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"438\"/>\n        <source>Extend selection to first visible character in display or document line</source>\n        <translation>Auswahl zum ersten sichtbaren Zeichen der Dokument- oder Anzeigezeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"449\"/>\n        <source>Move to end of document line</source>\n        <translation>Zum Ende der Dokumentzeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"459\"/>\n        <source>Extend selection to end of document line</source>\n        <translation>Auswahl zum Ende der Dokumentenzeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"470\"/>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation>Rechteckige Auswahl zum Ende der Dokumentenzeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"481\"/>\n        <source>Move to end of display line</source>\n        <translation>Zum Ende der Anzeigezeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"491\"/>\n        <source>Extend selection to end of display line</source>\n        <translation>Auswahl zum Ende der Anzeigezeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"498\"/>\n        <source>Move to end of display or document line</source>\n        <translation>Zum Ende der Dokumenten- oder Anzeigezeile springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"505\"/>\n        <source>Extend selection to end of display or document line</source>\n        <translation>Rechteckige Auswahl zum Ende der Dokumenten- oder Anzeigezeile erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"516\"/>\n        <source>Move to start of document</source>\n        <translation>Zum Dokumentenanfang springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"526\"/>\n        <source>Extend selection to start of document</source>\n        <translation>Auswahl zum Dokumentenanfang erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"537\"/>\n        <source>Move to end of document</source>\n        <translation>Zum Dokumentenende springen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"547\"/>\n        <source>Extend selection to end of document</source>\n        <translation>Auswahl zum Dokumentenende erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"604\"/>\n        <source>Stuttered move up one page</source>\n        <translation>&quot;Stotternd&quot; um eine Seite nach oben</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"610\"/>\n        <source>Stuttered extend selection up one page</source>\n        <translation>Auswahl &quot;stotternd&quot; um eine Seite nach oben erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"617\"/>\n        <source>Stuttered move down one page</source>\n        <translation>&quot;Stotternd&quot; um eine Seite nach unten</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"623\"/>\n        <source>Stuttered extend selection down one page</source>\n        <translation>Auswahl &quot;stotternd&quot; um eine Seite nach unten erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"650\"/>\n        <source>Delete previous character if not at start of line</source>\n        <translation>Zeichen links löschen, wenn nicht am Zeilenanfang</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"673\"/>\n        <source>Delete right to end of next word</source>\n        <translation>Rechts bis zum Ende des nächsten Wortes löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"714\"/>\n        <source>Transpose current and previous lines</source>\n        <translation>Aktuelle und vorherige Zeile tauschen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"721\"/>\n        <source>Duplicate the current line</source>\n        <translation>Aktuelle Zeile duplizieren</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"727\"/>\n        <source>Select all</source>\n        <oldsource>Select document</oldsource>\n        <translation>Alle auswählen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"733\"/>\n        <source>Move selected lines up one line</source>\n        <translation>Ausgewählte Zeilen um eine Zeile nach oben</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"739\"/>\n        <source>Move selected lines down one line</source>\n        <translation>Ausgewählte Zeilen um eine Zeile nach unten</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"752\"/>\n        <source>Convert selection to lower case</source>\n        <translation>Auswahl in Kleinbuchstaben umwandeln</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"758\"/>\n        <source>Convert selection to upper case</source>\n        <translation>Auswahl in Großbuchstaben umwandeln</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"788\"/>\n        <source>Insert newline</source>\n        <translation>Neue Zeile einfügen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"806\"/>\n        <source>De-indent one level</source>\n        <translation>Eine Ebene ausrücken</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"818\"/>\n        <source>Undo last command</source>\n        <translation>Letzten Befehl rückgängig machen</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"834\"/>\n        <source>Zoom in</source>\n        <translation>Vergrößern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"840\"/>\n        <source>Zoom out</source>\n        <translation>Verkleinern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"158\"/>\n        <source>Move up one paragraph</source>\n        <translation>Einen Absatz nach oben</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"145\"/>\n        <source>Move down one paragraph</source>\n        <translation>Einen Absatz nach unten</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"164\"/>\n        <source>Extend selection up one paragraph</source>\n        <translation>Auswahl um einen Absatz nach oben erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"151\"/>\n        <source>Extend selection down one paragraph</source>\n        <translation>Auswahl um einen Absatz nach unten erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"708\"/>\n        <source>Copy current line</source>\n        <translation>Aktuelle Zeile kopieren</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"64\"/>\n        <source>Extend rectangular selection down one line</source>\n        <translation>Rechteckige Auswahl um eine Zeile nach unten erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"101\"/>\n        <source>Extend rectangular selection up one line</source>\n        <translation>Rechteckige Auswahl um eine Zeile nach oben erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"196\"/>\n        <source>Extend rectangular selection left one character</source>\n        <translation>Rechteckige Auswahl um ein Zeichen nach links erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"228\"/>\n        <source>Extend rectangular selection right one character</source>\n        <translation>Rechteckige Auswahl um ein Zeichen nach rechts erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"566\"/>\n        <source>Extend rectangular selection up one page</source>\n        <translation>Rechteckige Auswahl um eine Seite nach oben erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"597\"/>\n        <source>Extend rectangular selection down one page</source>\n        <translation>Rechteckige Auswahl um eine Seite nach unten erweitern</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"794\"/>\n        <source>Formfeed</source>\n        <translation>Seitenumbruch</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"746\"/>\n        <source>Duplicate selection</source>\n        <translation>Auswahl duplizieren</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerAVS</name>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"275\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"278\"/>\n        <source>Block comment</source>\n        <translation>Blockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"281\"/>\n        <source>Nested block comment</source>\n        <translation>Verschachtelter Blockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"284\"/>\n        <source>Line comment</source>\n        <translation>Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"287\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"296\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"299\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Zeichenkette in dreifachen Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"302\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"305\"/>\n        <source>Filter</source>\n        <translation>Filter</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"308\"/>\n        <source>Plugin</source>\n        <translation>Plugin</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"311\"/>\n        <source>Function</source>\n        <translation>Funktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"314\"/>\n        <source>Clip property</source>\n        <translation>Clip Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"317\"/>\n        <source>User defined</source>\n        <translation>Nutzer definiert</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBash</name>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"188\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"191\"/>\n        <source>Error</source>\n        <translation>Fehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"194\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"197\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"200\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"203\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"206\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"209\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"212\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"215\"/>\n        <source>Scalar</source>\n        <translation>Skalar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"218\"/>\n        <source>Parameter expansion</source>\n        <translation>Parametererweiterung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"221\"/>\n        <source>Backticks</source>\n        <translation>Backticks</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"224\"/>\n        <source>Here document delimiter</source>\n        <translation>Here Dokument-Begrenzer</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"227\"/>\n        <source>Single-quoted here document</source>\n        <translation>Here Dokument in Hochkommata</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBatch</name>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"159\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"162\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"165\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"168\"/>\n        <source>Label</source>\n        <translation>Marke</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"177\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"180\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"171\"/>\n        <source>Hide command character</source>\n        <translation>&quot;Befehl verbergen&quot; Zeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"174\"/>\n        <source>External command</source>\n        <translation>Externer Befehl</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCMake</name>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"175\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"178\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"181\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"184\"/>\n        <source>Left quoted string</source>\n        <translation>Links quotierte Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"187\"/>\n        <source>Right quoted string</source>\n        <translation>Rechts quotierte Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"190\"/>\n        <source>Function</source>\n        <translation>Funktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"193\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"196\"/>\n        <source>Label</source>\n        <translation>Marke</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"199\"/>\n        <source>User defined</source>\n        <translation>Nutzer definiert</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"202\"/>\n        <source>WHILE block</source>\n        <translation>WHILE Block</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"205\"/>\n        <source>FOREACH block</source>\n        <translation>FOREACH Block</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"208\"/>\n        <source>IF block</source>\n        <translation>IF Block</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"211\"/>\n        <source>MACRO block</source>\n        <translation>MACRO Block</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"214\"/>\n        <source>Variable within a string</source>\n        <translation>Variable in einer Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"217\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCPP</name>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"373\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"379\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"385\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"391\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"397\"/>\n        <source>IDL UUID</source>\n        <translation>IDL UUID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"403\"/>\n        <source>Pre-processor block</source>\n        <translation>Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"409\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"415\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"421\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"349\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"352\"/>\n        <source>Inactive default</source>\n        <translation>Inaktiver Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"355\"/>\n        <source>C comment</source>\n        <translation>C Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"358\"/>\n        <source>Inactive C comment</source>\n        <translation>Inaktiver C Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"361\"/>\n        <source>C++ comment</source>\n        <translation>C++ Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"364\"/>\n        <source>Inactive C++ comment</source>\n        <translation>Inaktiver C++ Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"367\"/>\n        <source>JavaDoc style C comment</source>\n        <translation>JavaDoc C Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"370\"/>\n        <source>Inactive JavaDoc style C comment</source>\n        <translation>Inaktiver JavaDoc C Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"376\"/>\n        <source>Inactive number</source>\n        <translation>Inaktive Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"382\"/>\n        <source>Inactive keyword</source>\n        <translation>Inaktives Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"388\"/>\n        <source>Inactive double-quoted string</source>\n        <translation>Inaktive Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"394\"/>\n        <source>Inactive single-quoted string</source>\n        <translation>Inaktive Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"400\"/>\n        <source>Inactive IDL UUID</source>\n        <translation>Inaktive IDL UUID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"406\"/>\n        <source>Inactive pre-processor block</source>\n        <translation>Inaktiver Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"412\"/>\n        <source>Inactive operator</source>\n        <translation>Inaktiver Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"418\"/>\n        <source>Inactive identifier</source>\n        <translation>Inaktiver Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"424\"/>\n        <source>Inactive unclosed string</source>\n        <translation>Inaktive unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"427\"/>\n        <source>C# verbatim string</source>\n        <translation>Uninterpretierte C# Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"430\"/>\n        <source>Inactive C# verbatim string</source>\n        <translation>Inaktive, Uninterpretierte C# Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"433\"/>\n        <source>JavaScript regular expression</source>\n        <translation>JavaScript Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"436\"/>\n        <source>Inactive JavaScript regular expression</source>\n        <translation>JavaScript Inaktiver Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"439\"/>\n        <source>JavaDoc style C++ comment</source>\n        <translation>JavaDoc C++ Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"442\"/>\n        <source>Inactive JavaDoc style C++ comment</source>\n        <translation>Inaktiver JavaDoc C++ Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"448\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation>Inaktive sekundäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"451\"/>\n        <source>JavaDoc keyword</source>\n        <translation>JavaDoc Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"454\"/>\n        <source>Inactive JavaDoc keyword</source>\n        <translation>Inaktives JavaDoc Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"457\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>JavaDoc Schlüsselwortfehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"466\"/>\n        <source>Inactive global classes and typedefs</source>\n        <translation>Inaktive globale Klassen und Typdefinitionen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"469\"/>\n        <source>C++ raw string</source>\n        <translation>Rohe C++ Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"472\"/>\n        <source>Inactive C++ raw string</source>\n        <translation>Inaktive rohe C++ Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"475\"/>\n        <source>Vala triple-quoted verbatim string</source>\n        <translation>Vala Zeichenkette in dreifachen Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"478\"/>\n        <source>Inactive Vala triple-quoted verbatim string</source>\n        <translation>Inaktive Vala Zeichenkette in dreifachen Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"481\"/>\n        <source>Pike hash-quoted string</source>\n        <translation>Pike Zeichenkette in &apos;#-Anführungszeichen&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"484\"/>\n        <source>Inactive Pike hash-quoted string</source>\n        <translation>Inaktive Pike Zeichenkette in &apos;#-Anführungszeichen&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"487\"/>\n        <source>Pre-processor C comment</source>\n        <translation>C Präprozessorkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"490\"/>\n        <source>Inactive pre-processor C comment</source>\n        <translation>Inaktiver C Präprozessorkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"493\"/>\n        <source>JavaDoc style pre-processor comment</source>\n        <translation>JavaDoc Präprozessorkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"496\"/>\n        <source>Inactive JavaDoc style pre-processor comment</source>\n        <translation>Inaktiver JavaDoc Präprozessorkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"499\"/>\n        <source>User-defined literal</source>\n        <translation>Nutzer definiertes Literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"502\"/>\n        <source>Inactive user-defined literal</source>\n        <translation>Inaktives Nutzer definiertes Literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"505\"/>\n        <source>Task marker</source>\n        <translation>Aufgabenmarkierung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"508\"/>\n        <source>Inactive task marker</source>\n        <translation>Inaktive Aufgabenmarkierung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"511\"/>\n        <source>Escape sequence</source>\n        <translation>Escape-Sequenz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"514\"/>\n        <source>Inactive escape sequence</source>\n        <translation>Inaktive Escape-Sequenz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"445\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Sekundäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"460\"/>\n        <source>Inactive JavaDoc keyword error</source>\n        <translation>Inaktiver JavaDoc Schlüsselwortfehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"463\"/>\n        <source>Global classes and typedefs</source>\n        <translation>Globale Klassen und Typdefinitionen</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSS</name>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"217\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"220\"/>\n        <source>Tag</source>\n        <translation>Tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"223\"/>\n        <source>Class selector</source>\n        <translation>Klassenselektor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"226\"/>\n        <source>Pseudo-class</source>\n        <translation>Pseudoklasse</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"229\"/>\n        <source>Unknown pseudo-class</source>\n        <translation>Unbekannte Pseudoklasse</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"232\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"235\"/>\n        <source>CSS1 property</source>\n        <translation>CSS1 Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"238\"/>\n        <source>Unknown property</source>\n        <translation>Unbekannte Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"241\"/>\n        <source>Value</source>\n        <translation>Wert</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"244\"/>\n        <source>ID selector</source>\n        <translation>ID-Selektor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"247\"/>\n        <source>Important</source>\n        <translation>Wichtig</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"250\"/>\n        <source>@-rule</source>\n        <translation>@-Regel</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"253\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"256\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"259\"/>\n        <source>CSS2 property</source>\n        <translation>CSS2 Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"262\"/>\n        <source>Attribute</source>\n        <translation>Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"265\"/>\n        <source>CSS3 property</source>\n        <translation>CSS3 Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"268\"/>\n        <source>Pseudo-element</source>\n        <translation>Pseudoelement</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"271\"/>\n        <source>Extended CSS property</source>\n        <translation>Erweiterte CSS Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"274\"/>\n        <source>Extended pseudo-class</source>\n        <translation>Erweiterte Pseudoklasse</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"277\"/>\n        <source>Extended pseudo-element</source>\n        <translation>Erweitertes Pseudoelement</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"280\"/>\n        <source>Media rule</source>\n        <translation>Medienregel</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"283\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSharp</name>\n    <message>\n        <location filename=\"qscilexercsharp.cpp\" line=\"90\"/>\n        <source>Verbatim string</source>\n        <translation>Uninterpretierte Zeichenkette</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCoffeeScript</name>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"243\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"246\"/>\n        <source>C-style comment</source>\n        <translation>C Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"249\"/>\n        <source>C++-style comment</source>\n        <translation>C++ Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"252\"/>\n        <source>JavaDoc C-style comment</source>\n        <translation>JavaDoc C Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"255\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"258\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"261\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"264\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"267\"/>\n        <source>IDL UUID</source>\n        <translation>IDL UUID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"270\"/>\n        <source>Pre-processor block</source>\n        <translation>Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"273\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"276\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"279\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"282\"/>\n        <source>C# verbatim string</source>\n        <translation>Uninterpretierte C# Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"285\"/>\n        <source>Regular expression</source>\n        <translation>Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"288\"/>\n        <source>JavaDoc C++-style comment</source>\n        <translation>JavaDoc C++ Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"291\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Sekundäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"294\"/>\n        <source>JavaDoc keyword</source>\n        <translation>JavaDoc Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"297\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>JavaDoc Schlüsselwortfehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"300\"/>\n        <source>Global classes</source>\n        <translation>Globale Klassen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"303\"/>\n        <source>Block comment</source>\n        <translation>Blockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"306\"/>\n        <source>Block regular expression</source>\n        <translation>Regulärer Ausdrucksblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"309\"/>\n        <source>Block regular expression comment</source>\n        <translation>Regulärer Ausdrucksblockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"312\"/>\n        <source>Instance property</source>\n        <translation>Instanz-Eigenschaft</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerD</name>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"254\"/>\n        <source>Block comment</source>\n        <translation>Blockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"257\"/>\n        <source>Line comment</source>\n        <translation>Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"260\"/>\n        <source>DDoc style block comment</source>\n        <translation>DDoc Blockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"263\"/>\n        <source>Nesting comment</source>\n        <translation>schachtelbarer Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"266\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"269\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"272\"/>\n        <source>Secondary keyword</source>\n        <translation>Sekundäres Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"275\"/>\n        <source>Documentation keyword</source>\n        <translation>Dokumentationsschlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"278\"/>\n        <source>Type definition</source>\n        <translation>Typdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"281\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"284\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"287\"/>\n        <source>Character</source>\n        <translation>Zeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"296\"/>\n        <source>DDoc style line comment</source>\n        <translation>DDoc Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"299\"/>\n        <source>DDoc keyword</source>\n        <translation>DDoc Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"302\"/>\n        <source>DDoc keyword error</source>\n        <translation>DDoc Schlüsselwortfehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"305\"/>\n        <source>Backquoted string</source>\n        <translation>Zeichenkette in Rückwärtsstrichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"308\"/>\n        <source>Raw string</source>\n        <translation>Rohe Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"311\"/>\n        <source>User defined 1</source>\n        <translation>Nutzer definiert 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"314\"/>\n        <source>User defined 2</source>\n        <translation>Nutzer definiert 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"317\"/>\n        <source>User defined 3</source>\n        <translation>Nutzer definiert 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerDiff</name>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"91\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"94\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"97\"/>\n        <source>Command</source>\n        <translation>Befehl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"100\"/>\n        <source>Header</source>\n        <translation>Kopfzeilen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"103\"/>\n        <source>Position</source>\n        <translation>Position</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"106\"/>\n        <source>Removed line</source>\n        <translation>Entfernte Zeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"109\"/>\n        <source>Added line</source>\n        <translation>Hinzugefügte Zeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"112\"/>\n        <source>Changed line</source>\n        <translation>Geänderte Zeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"115\"/>\n        <source>Added adding patch</source>\n        <translation>Hinzugefügter Ergänzungspatch</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"118\"/>\n        <source>Removed adding patch</source>\n        <translation>Entfernter Ergänzungspatch</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"121\"/>\n        <source>Added removing patch</source>\n        <translation>Hinzugefügter Entfernungspatch</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"124\"/>\n        <source>Removed removing patch</source>\n        <translation>Entfernter Entfernungspatch</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerEDIFACT</name>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"79\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"82\"/>\n        <source>Segment start</source>\n        <translation>Segmentstart</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"85\"/>\n        <source>Segment end</source>\n        <translation>Segmentende</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"88\"/>\n        <source>Element separator</source>\n        <translation>Elementtrenner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"91\"/>\n        <source>Composite separator</source>\n        <translation>Zusammengesetzter Trenner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"94\"/>\n        <source>Release separator</source>\n        <translation>Freigabetrenner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"97\"/>\n        <source>UNA segment header</source>\n        <translation>UNA Segmentkopf</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"100\"/>\n        <source>UNH segment header</source>\n        <translation>UNH Segmentkopf</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"103\"/>\n        <source>Badly formed segment</source>\n        <translation>Schlecht geformtes Segment</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerFortran77</name>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"170\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"173\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"176\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"179\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"182\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"185\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"188\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"191\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"194\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"197\"/>\n        <source>Intrinsic function</source>\n        <translation>Intrinsic-Funktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"200\"/>\n        <source>Extended function</source>\n        <translation>Erweiterte Funktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"203\"/>\n        <source>Pre-processor block</source>\n        <translation>Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"206\"/>\n        <source>Dotted operator</source>\n        <translation>Dotted Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"209\"/>\n        <source>Label</source>\n        <translation>Marke</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"212\"/>\n        <source>Continuation</source>\n        <translation>Fortsetzung</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerHTML</name>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"548\"/>\n        <source>HTML default</source>\n        <translation>HTML Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"551\"/>\n        <source>Tag</source>\n        <translation>Tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"554\"/>\n        <source>Unknown tag</source>\n        <translation>Unbekanntes Tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"557\"/>\n        <source>Attribute</source>\n        <translation>Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"560\"/>\n        <source>Unknown attribute</source>\n        <translation>Unbekanntes Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"563\"/>\n        <source>HTML number</source>\n        <translation>HTML Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"566\"/>\n        <source>HTML double-quoted string</source>\n        <translation>HTML Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"569\"/>\n        <source>HTML single-quoted string</source>\n        <translation>HTML Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"572\"/>\n        <source>Other text in a tag</source>\n        <translation>Anderer Text in einem Tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"575\"/>\n        <source>HTML comment</source>\n        <translation>HTML Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"578\"/>\n        <source>Entity</source>\n        <translation>Entität</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"581\"/>\n        <source>End of a tag</source>\n        <translation>Tagende</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"584\"/>\n        <source>Start of an XML fragment</source>\n        <translation>Beginn eines XML Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"587\"/>\n        <source>End of an XML fragment</source>\n        <translation>Ende eines XML Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"590\"/>\n        <source>Script tag</source>\n        <translation>Skript Tag</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"593\"/>\n        <source>Start of an ASP fragment with @</source>\n        <translation>Beginn eines ASP Fragmentes mit @</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"596\"/>\n        <source>Start of an ASP fragment</source>\n        <translation>Beginn eines ASP Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"599\"/>\n        <source>CDATA</source>\n        <translation>CDATA</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"602\"/>\n        <source>Start of a PHP fragment</source>\n        <translation>Beginn eines PHP Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"605\"/>\n        <source>Unquoted HTML value</source>\n        <translation>HTML Wert ohne Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"608\"/>\n        <source>ASP X-Code comment</source>\n        <translation>ASP X-Code Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"611\"/>\n        <source>SGML default</source>\n        <translation>SGML Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"614\"/>\n        <source>SGML command</source>\n        <translation>SGML Befehl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"617\"/>\n        <source>First parameter of an SGML command</source>\n        <translation>Erster Parameter eines SGML Befehls</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"620\"/>\n        <source>SGML double-quoted string</source>\n        <translation>SGML Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"623\"/>\n        <source>SGML single-quoted string</source>\n        <translation>SGML Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"626\"/>\n        <source>SGML error</source>\n        <translation>SGML Fehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"629\"/>\n        <source>SGML special entity</source>\n        <translation>SGML Spezielle Entität</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"632\"/>\n        <source>SGML comment</source>\n        <translation>SGML Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"635\"/>\n        <source>First parameter comment of an SGML command</source>\n        <translation>Kommentar des ersten Parameters eines SGML Befehls</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"638\"/>\n        <source>SGML block default</source>\n        <translation>SGML Standardblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"641\"/>\n        <source>Start of a JavaScript fragment</source>\n        <translation>Beginn eines JavaScript Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"644\"/>\n        <source>JavaScript default</source>\n        <translation>JavaScript Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"647\"/>\n        <source>JavaScript comment</source>\n        <translation>JavaScript Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"650\"/>\n        <source>JavaScript line comment</source>\n        <translation>JavaScript Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"653\"/>\n        <source>JavaDoc style JavaScript comment</source>\n        <translation>JavaDoc JavaScript Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"656\"/>\n        <source>JavaScript number</source>\n        <translation>JavaScript Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"659\"/>\n        <source>JavaScript word</source>\n        <translation>JavaScript Wort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"662\"/>\n        <source>JavaScript keyword</source>\n        <translation>JavaScript Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"665\"/>\n        <source>JavaScript double-quoted string</source>\n        <translation>JavaScript Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"668\"/>\n        <source>JavaScript single-quoted string</source>\n        <translation>JavaScript Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"671\"/>\n        <source>JavaScript symbol</source>\n        <translation>JavaScript Symbol</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"674\"/>\n        <source>JavaScript unclosed string</source>\n        <translation>JavaScript Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"677\"/>\n        <source>JavaScript regular expression</source>\n        <translation>JavaScript Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"680\"/>\n        <source>Start of an ASP JavaScript fragment</source>\n        <translation>Beginn eines ASP JavaScript Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"683\"/>\n        <source>ASP JavaScript default</source>\n        <translation>ASP JavaScript Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"686\"/>\n        <source>ASP JavaScript comment</source>\n        <translation>ASP JavaScript Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"689\"/>\n        <source>ASP JavaScript line comment</source>\n        <translation>ASP JavaScript Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"692\"/>\n        <source>JavaDoc style ASP JavaScript comment</source>\n        <translation>JavaDoc ASP JavaScript Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"695\"/>\n        <source>ASP JavaScript number</source>\n        <translation>ASP JavaScript Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"698\"/>\n        <source>ASP JavaScript word</source>\n        <translation>ASP JavaScript Wort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"701\"/>\n        <source>ASP JavaScript keyword</source>\n        <translation>ASP JavaScript Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"704\"/>\n        <source>ASP JavaScript double-quoted string</source>\n        <translation>ASP JavaScript Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"707\"/>\n        <source>ASP JavaScript single-quoted string</source>\n        <translation>ASP JavaScript Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"710\"/>\n        <source>ASP JavaScript symbol</source>\n        <translation>ASP JavaScript Symbol</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"713\"/>\n        <source>ASP JavaScript unclosed string</source>\n        <translation>ASP JavaScript Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"716\"/>\n        <source>ASP JavaScript regular expression</source>\n        <translation>ASP JavaScript Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"719\"/>\n        <source>Start of a VBScript fragment</source>\n        <translation>Beginn eines VBScript Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"722\"/>\n        <source>VBScript default</source>\n        <translation>VBScript Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"725\"/>\n        <source>VBScript comment</source>\n        <translation>VBScript Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"728\"/>\n        <source>VBScript number</source>\n        <translation>VBScript Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"731\"/>\n        <source>VBScript keyword</source>\n        <translation>VBScript Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"734\"/>\n        <source>VBScript string</source>\n        <translation>VBScript Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"737\"/>\n        <source>VBScript identifier</source>\n        <translation>VBScript Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"740\"/>\n        <source>VBScript unclosed string</source>\n        <translation>VBScript Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"743\"/>\n        <source>Start of an ASP VBScript fragment</source>\n        <translation>Beginn eines ASP VBScript Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"746\"/>\n        <source>ASP VBScript default</source>\n        <translation>ASP VBScript Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"749\"/>\n        <source>ASP VBScript comment</source>\n        <translation>ASP VBScript Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"752\"/>\n        <source>ASP VBScript number</source>\n        <translation>ASP VBScript Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"755\"/>\n        <source>ASP VBScript keyword</source>\n        <translation>ASP VBScript Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"758\"/>\n        <source>ASP VBScript string</source>\n        <translation>ASP VBScript Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"761\"/>\n        <source>ASP VBScript identifier</source>\n        <translation>ASP VBScript Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"764\"/>\n        <source>ASP VBScript unclosed string</source>\n        <translation>ASP VBScript Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"767\"/>\n        <source>Start of a Python fragment</source>\n        <translation>Beginn eines Python Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"770\"/>\n        <source>Python default</source>\n        <translation>Python Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"773\"/>\n        <source>Python comment</source>\n        <translation>Python Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"776\"/>\n        <source>Python number</source>\n        <translation>Python Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"779\"/>\n        <source>Python double-quoted string</source>\n        <translation>Python Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"782\"/>\n        <source>Python single-quoted string</source>\n        <translation>Python Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"785\"/>\n        <source>Python keyword</source>\n        <translation>Python Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"788\"/>\n        <source>Python triple double-quoted string</source>\n        <translation>Python Zeichenkette in dreifachen Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"791\"/>\n        <source>Python triple single-quoted string</source>\n        <translation>Python Zeichenkette in dreifachen Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"794\"/>\n        <source>Python class name</source>\n        <translation>Python Klassenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"797\"/>\n        <source>Python function or method name</source>\n        <translation>Python Funktions- oder Methodenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"800\"/>\n        <source>Python operator</source>\n        <translation>Python Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"803\"/>\n        <source>Python identifier</source>\n        <translation>Python Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"806\"/>\n        <source>Start of an ASP Python fragment</source>\n        <translation>Beginn eines ASP Python Fragmentes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"809\"/>\n        <source>ASP Python default</source>\n        <translation>ASP Python Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"812\"/>\n        <source>ASP Python comment</source>\n        <translation>ASP Python Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"815\"/>\n        <source>ASP Python number</source>\n        <translation>ASP Python Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"818\"/>\n        <source>ASP Python double-quoted string</source>\n        <translation>ASP Python Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"821\"/>\n        <source>ASP Python single-quoted string</source>\n        <translation>ASP Python Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"824\"/>\n        <source>ASP Python keyword</source>\n        <translation>ASP Python Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"827\"/>\n        <source>ASP Python triple double-quoted string</source>\n        <translation>ASP Python Zeichenkette in dreifachen Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"830\"/>\n        <source>ASP Python triple single-quoted string</source>\n        <translation>ASP Python Zeichenkette in dreifachen Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"833\"/>\n        <source>ASP Python class name</source>\n        <translation>ASP Python Klassenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"836\"/>\n        <source>ASP Python function or method name</source>\n        <translation>ASP Python Funktions- oder Methodenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"839\"/>\n        <source>ASP Python operator</source>\n        <translation>ASP Python Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"842\"/>\n        <source>ASP Python identifier</source>\n        <translation>ASP Python Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"845\"/>\n        <source>PHP default</source>\n        <translation>PHP Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"848\"/>\n        <source>PHP double-quoted string</source>\n        <translation>PHP Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"851\"/>\n        <source>PHP single-quoted string</source>\n        <translation>PHP Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"854\"/>\n        <source>PHP keyword</source>\n        <translation>PHP Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"857\"/>\n        <source>PHP number</source>\n        <translation>PHP Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"863\"/>\n        <source>PHP comment</source>\n        <translation>PHP Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"866\"/>\n        <source>PHP line comment</source>\n        <translation>PHP Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"869\"/>\n        <source>PHP double-quoted variable</source>\n        <translation>PHP Variable in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"872\"/>\n        <source>PHP operator</source>\n        <translation>PHP Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"860\"/>\n        <source>PHP variable</source>\n        <translation>PHP Variable</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerIDL</name>\n    <message>\n        <location filename=\"qscilexeridl.cpp\" line=\"82\"/>\n        <source>UUID</source>\n        <translation>UUID</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJSON</name>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"145\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"148\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"151\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"154\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"157\"/>\n        <source>Property</source>\n        <translation>Eigenschaft</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"160\"/>\n        <source>Escape sequence</source>\n        <translation>Escape-Sequenz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"163\"/>\n        <source>Line comment</source>\n        <translation>Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"166\"/>\n        <source>Block comment</source>\n        <translation>Blockkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"169\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"172\"/>\n        <source>IRI</source>\n        <translation>IRI</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"175\"/>\n        <source>JSON-LD compact IRI</source>\n        <translation>JSON-LD kompaktes IRI</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"178\"/>\n        <source>JSON keyword</source>\n        <translation>JSON Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"181\"/>\n        <source>JSON-LD keyword</source>\n        <translation>JSON-LD Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"184\"/>\n        <source>Parsing error</source>\n        <translation>Analysefehler</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJavaScript</name>\n    <message>\n        <location filename=\"qscilexerjavascript.cpp\" line=\"92\"/>\n        <source>Regular expression</source>\n        <translation>Regulärer Ausdruck</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerLua</name>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"212\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"215\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"218\"/>\n        <source>Line comment</source>\n        <translation>Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"221\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"224\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"227\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"230\"/>\n        <source>Character</source>\n        <translation>Zeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"233\"/>\n        <source>Literal string</source>\n        <translation>Uninterpretierte Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"236\"/>\n        <source>Preprocessor</source>\n        <translation>Präprozessor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"239\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"242\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"245\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"248\"/>\n        <source>Basic functions</source>\n        <translation>Basisfunktionen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"251\"/>\n        <source>String, table and maths functions</source>\n        <translation>Zeichenketten-, Tabelle- und mathematische Funktionen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"254\"/>\n        <source>Coroutines, i/o and system facilities</source>\n        <translation>Koroutinen, I/O- und Systemfunktionen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"257\"/>\n        <source>User defined 1</source>\n        <translation>Nutzer definiert 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"260\"/>\n        <source>User defined 2</source>\n        <translation>Nutzer definiert 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"263\"/>\n        <source>User defined 3</source>\n        <translation>Nutzer definiert 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"266\"/>\n        <source>User defined 4</source>\n        <translation>Nutzer definiert 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"269\"/>\n        <source>Label</source>\n        <translation>Marke</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMakefile</name>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"111\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"114\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"117\"/>\n        <source>Preprocessor</source>\n        <translation>Präprozessor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"120\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"123\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"126\"/>\n        <source>Target</source>\n        <translation>Ziel</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"129\"/>\n        <source>Error</source>\n        <translation>Fehler</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMarkdown</name>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"207\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"210\"/>\n        <source>Special</source>\n        <translation>Spezial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"213\"/>\n        <source>Strong emphasis using double asterisks</source>\n        <translation>Fettschrift mit doppelten Sternen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"216\"/>\n        <source>Strong emphasis using double underscores</source>\n        <translation>Fettschrift mit doppelten Unterstrichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"219\"/>\n        <source>Emphasis using single asterisks</source>\n        <translation>Kursive Schrift mit einfachen Sternen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"222\"/>\n        <source>Emphasis using single underscores</source>\n        <translation>Kursive Schrift mit einfachen Unterstrichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"225\"/>\n        <source>Level 1 header</source>\n        <translation>Überschrift Ebene 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"228\"/>\n        <source>Level 2 header</source>\n        <translation>Überschrift Ebene 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"231\"/>\n        <source>Level 3 header</source>\n        <translation>Überschrift Ebene 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"234\"/>\n        <source>Level 4 header</source>\n        <translation>Überschrift Ebene 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"237\"/>\n        <source>Level 5 header</source>\n        <translation>Überschrift Ebene 5</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"240\"/>\n        <source>Level 6 header</source>\n        <translation>Überschrift Ebene 6</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"243\"/>\n        <source>Pre-char</source>\n        <translation>Einleitungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"246\"/>\n        <source>Unordered list item</source>\n        <translation>Nicht nummeriertes Listenelement</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"249\"/>\n        <source>Ordered list item</source>\n        <translation>Nummeriertes Listenelement</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"252\"/>\n        <source>Block quote</source>\n        <translation>Blockzitat</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"255\"/>\n        <source>Strike out</source>\n        <translation>Durchgestrichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"258\"/>\n        <source>Horizontal rule</source>\n        <translation>Horizontale Linie</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"261\"/>\n        <source>Link</source>\n        <translation>Hyperlink</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"264\"/>\n        <source>Code between backticks</source>\n        <translation>Code zwischen Backticks</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"267\"/>\n        <source>Code between double backticks</source>\n        <translation>Code zwischen doppelten Backticks</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"270\"/>\n        <source>Code block</source>\n        <translation>Codeblock</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMatlab</name>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"118\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"121\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"124\"/>\n        <source>Command</source>\n        <translation>Befehl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"127\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"130\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"133\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"136\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"139\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"142\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPO</name>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"84\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"87\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"90\"/>\n        <source>Message identifier</source>\n        <translation>Meldungsbezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"93\"/>\n        <source>Message identifier text</source>\n        <translation>Meldungsbezeichnertext</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"96\"/>\n        <source>Message string</source>\n        <translation>Meldungszeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"99\"/>\n        <source>Message string text</source>\n        <translation>Meldungszeichenkettentext</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"102\"/>\n        <source>Message context</source>\n        <translation>Meldungskontext</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"105\"/>\n        <source>Message context text</source>\n        <translation>Meldungskontexttext</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"108\"/>\n        <source>Fuzzy flag</source>\n        <translation>Unschrfmarkierung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"111\"/>\n        <source>Programmer comment</source>\n        <translation>Programmiererkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"114\"/>\n        <source>Reference</source>\n        <translation>Referenz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"117\"/>\n        <source>Flags</source>\n        <translation>Markierung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"120\"/>\n        <source>Message identifier text end-of-line</source>\n        <translation>Meldungsbezeichnertext Zeilenende</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"123\"/>\n        <source>Message string text end-of-line</source>\n        <translation>Meldungszeichenkettentext Zeilenende</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"126\"/>\n        <source>Message context text end-of-line</source>\n        <translation>Meldungskontexttext Zeilenende</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPOV</name>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"262\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"265\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"268\"/>\n        <source>Comment line</source>\n        <translation>Kommentarzeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"271\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"274\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"277\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"280\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"283\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"286\"/>\n        <source>Directive</source>\n        <translation>Direktive</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"289\"/>\n        <source>Bad directive</source>\n        <translation>Ungültige Direktive</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"292\"/>\n        <source>Objects, CSG and appearance</source>\n        <translation>Objekte, CSG und Erscheinung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"295\"/>\n        <source>Types, modifiers and items</source>\n        <translation>Typen, Modifizierer und Items</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"298\"/>\n        <source>Predefined identifiers</source>\n        <translation>Vordefinierter Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"301\"/>\n        <source>Predefined functions</source>\n        <translation>Vordefinierte Funktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"304\"/>\n        <source>User defined 1</source>\n        <translation>Nutzer definiert 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"307\"/>\n        <source>User defined 2</source>\n        <translation>Nutzer definiert 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"310\"/>\n        <source>User defined 3</source>\n        <translation>Nutzer definiert 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPascal</name>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"241\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"253\"/>\n        <source>Line comment</source>\n        <translation>Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"262\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"268\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"271\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"280\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"244\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"247\"/>\n        <source>&apos;{ ... }&apos; style comment</source>\n        <translation>&apos;{ ... }&apos; Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"250\"/>\n        <source>&apos;(* ... *)&apos; style comment</source>\n        <translation>&apos;(* ... *)&apos; Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"256\"/>\n        <source>&apos;{$ ... }&apos; style pre-processor block</source>\n        <translation>&apos;{$ ... }&apos; Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"259\"/>\n        <source>&apos;(*$ ... *)&apos; style pre-processor block</source>\n        <translation>&apos;(*$ ... *)&apos; Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"265\"/>\n        <source>Hexadecimal number</source>\n        <translation>Hexadezimale Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"274\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"277\"/>\n        <source>Character</source>\n        <translation>Zeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"283\"/>\n        <source>Inline asm</source>\n        <translation>Inline Assembler</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPerl</name>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"313\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"316\"/>\n        <source>Error</source>\n        <translation>Fehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"319\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"322\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"325\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"328\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"331\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"334\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"337\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"340\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"343\"/>\n        <source>Scalar</source>\n        <translation>Skalar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"346\"/>\n        <source>Array</source>\n        <translation>Feld</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"349\"/>\n        <source>Hash</source>\n        <translation>Hash</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"352\"/>\n        <source>Symbol table</source>\n        <translation>Symboltabelle</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"355\"/>\n        <source>Regular expression</source>\n        <translation>Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"358\"/>\n        <source>Substitution</source>\n        <translation>Ersetzung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"361\"/>\n        <source>Backticks</source>\n        <translation>Backticks</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"364\"/>\n        <source>Data section</source>\n        <translation>Datensektion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"367\"/>\n        <source>Here document delimiter</source>\n        <translation>Here Dokument-Begrenzer</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"370\"/>\n        <source>Single-quoted here document</source>\n        <translation>Here Dokument in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"373\"/>\n        <source>Double-quoted here document</source>\n        <translation>Here Dokument in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"376\"/>\n        <source>Backtick here document</source>\n        <translation>Here Dokument in Backticks</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"379\"/>\n        <source>Quoted string (q)</source>\n        <translation>Zeichenkette (q)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"382\"/>\n        <source>Quoted string (qq)</source>\n        <translation>Zeichenkette (qq)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"385\"/>\n        <source>Quoted string (qx)</source>\n        <translation>Zeichenkette (qx)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"388\"/>\n        <source>Quoted string (qr)</source>\n        <translation>Zeichenkette (qr)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"391\"/>\n        <source>Quoted string (qw)</source>\n        <translation>Zeichenkette (qw)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"394\"/>\n        <source>POD verbatim</source>\n        <translation>POD wörtlich</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"397\"/>\n        <source>Subroutine prototype</source>\n        <translation>Subroutinen Prototyp</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"400\"/>\n        <source>Format identifier</source>\n        <translation>Formatidentifikator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"403\"/>\n        <source>Format body</source>\n        <translation>Formatzweig</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"406\"/>\n        <source>Double-quoted string (interpolated variable)</source>\n        <translation>Zeichenkette in Anführungszeichen (interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"409\"/>\n        <source>Translation</source>\n        <translation>Übersetzung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"412\"/>\n        <source>Regular expression (interpolated variable)</source>\n        <translation>Regulärer Ausdruck (interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"415\"/>\n        <source>Substitution (interpolated variable)</source>\n        <translation>Ersetzung (interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"418\"/>\n        <source>Backticks (interpolated variable)</source>\n        <translation>Backticks (interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"421\"/>\n        <source>Double-quoted here document (interpolated variable)</source>\n        <translation>Here Dokument in Anführungszeichen (interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"424\"/>\n        <source>Backtick here document (interpolated variable)</source>\n        <translation>Here Dokument in Backticks (interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"427\"/>\n        <source>Quoted string (qq, interpolated variable)</source>\n        <translation>Zeichenkette (qq, interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"430\"/>\n        <source>Quoted string (qx, interpolated variable)</source>\n        <translation>Zeichenkette (qx, interpolierte Variable)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"433\"/>\n        <source>Quoted string (qr, interpolated variable)</source>\n        <translation>Zeichenkette (qr, interpolierte Variable)</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPostScript</name>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"244\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"247\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"250\"/>\n        <source>DSC comment</source>\n        <translation>DSC Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"253\"/>\n        <source>DSC comment value</source>\n        <translation>DSC Kommentarwert</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"256\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"259\"/>\n        <source>Name</source>\n        <translation>Name</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"262\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"265\"/>\n        <source>Literal</source>\n        <translation>Literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"268\"/>\n        <source>Immediately evaluated literal</source>\n        <translation>Direkt ausgeführtes Literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"271\"/>\n        <source>Array parenthesis</source>\n        <translation>Feldklammern</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"274\"/>\n        <source>Dictionary parenthesis</source>\n        <translation>Dictionary-Klammern</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"277\"/>\n        <source>Procedure parenthesis</source>\n        <translation>Prozedurklammern</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"280\"/>\n        <source>Text</source>\n        <translation>Text</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"283\"/>\n        <source>Hexadecimal string</source>\n        <translation>Hexadezimale Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"286\"/>\n        <source>Base85 string</source>\n        <translation>Base85 Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"289\"/>\n        <source>Bad string character</source>\n        <translation>Ungültiges Zeichen für Zeichenkette</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerProperties</name>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"105\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"108\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"111\"/>\n        <source>Section</source>\n        <translation>Abschnitt</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"114\"/>\n        <source>Assignment</source>\n        <translation>Zuweisung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"117\"/>\n        <source>Default value</source>\n        <translation>Standardwert</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"120\"/>\n        <source>Key</source>\n        <translation>Schlüssel</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPython</name>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"226\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"229\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"232\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"235\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"238\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"241\"/>\n        <source>Triple single-quoted string</source>\n        <translation>Zeichenkette in dreifachen Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"244\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Zeichenkette in dreifachen Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"247\"/>\n        <source>Class name</source>\n        <translation>Klassenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"250\"/>\n        <source>Function or method name</source>\n        <translation>Funktions- oder Methodenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"253\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"256\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"259\"/>\n        <source>Comment block</source>\n        <translation>Kommentarblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"262\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"271\"/>\n        <source>Double-quoted f-string</source>\n        <translation>F-Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"274\"/>\n        <source>Single-quoted f-string</source>\n        <translation>F-Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"277\"/>\n        <source>Triple single-quoted f-string</source>\n        <translation>F-Zeichenkette in dreifachen Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"280\"/>\n        <source>Triple double-quoted f-string</source>\n        <translation>F-Zeichenkette in dreifachen Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"223\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"265\"/>\n        <source>Highlighted identifier</source>\n        <translation>Hervorgehobener Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"268\"/>\n        <source>Decorator</source>\n        <translation>Dekorator</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerRuby</name>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"233\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"239\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"245\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"251\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"254\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"248\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"257\"/>\n        <source>Class name</source>\n        <translation>Klassenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"260\"/>\n        <source>Function or method name</source>\n        <translation>Funktions- oder Methodenname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"263\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"266\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"236\"/>\n        <source>Error</source>\n        <translation>Fehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"242\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"269\"/>\n        <source>Regular expression</source>\n        <translation>Regulärer Ausdruck</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"272\"/>\n        <source>Global</source>\n        <translation>Global</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"275\"/>\n        <source>Symbol</source>\n        <translation>Symbol</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"278\"/>\n        <source>Module name</source>\n        <translation>Modulname</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"281\"/>\n        <source>Instance variable</source>\n        <translation>Instanzvariable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"284\"/>\n        <source>Class variable</source>\n        <translation>Klassenvariable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"287\"/>\n        <source>Backticks</source>\n        <translation>Backticks</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"290\"/>\n        <source>Data section</source>\n        <translation>Datensektion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"293\"/>\n        <source>Here document delimiter</source>\n        <translation>Here Dokument-Begrenzer</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"296\"/>\n        <source>Here document</source>\n        <translation>Here Dokument</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"299\"/>\n        <source>%q string</source>\n        <translation>%q Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"302\"/>\n        <source>%Q string</source>\n        <translation>%Q Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"305\"/>\n        <source>%x string</source>\n        <translation>%x Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"308\"/>\n        <source>%r string</source>\n        <translation>%r Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"311\"/>\n        <source>%w string</source>\n        <translation>%w Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"314\"/>\n        <source>Demoted keyword</source>\n        <translation>zurückgestuftes Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"317\"/>\n        <source>stdin</source>\n        <translation>Stdin</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"320\"/>\n        <source>stdout</source>\n        <translation>Stdout</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"323\"/>\n        <source>stderr</source>\n        <translation>Stderr</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSQL</name>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"254\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"263\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"266\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"272\"/>\n        <source>Single-quoted string</source>\n        <translation>Zeichenkette in Hochkommata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"281\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"284\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"257\"/>\n        <source>Comment line</source>\n        <translation>Kommentarzeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"260\"/>\n        <source>JavaDoc style comment</source>\n        <translation>JavaDoc Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"269\"/>\n        <source>Double-quoted string</source>\n        <translation>Zeichenkette in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"275\"/>\n        <source>SQL*Plus keyword</source>\n        <translation>SQL*Plus Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"278\"/>\n        <source>SQL*Plus prompt</source>\n        <translation>SQL*Plus Eingabe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"287\"/>\n        <source>SQL*Plus comment</source>\n        <translation>SQL*Plus Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"290\"/>\n        <source># comment line</source>\n        <translation># Kommentarzeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"293\"/>\n        <source>JavaDoc keyword</source>\n        <translation>JavaDoc Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"296\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>JavaDoc Schlüsselwortfehler</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"299\"/>\n        <source>User defined 1</source>\n        <translation>Nutzer definiert 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"302\"/>\n        <source>User defined 2</source>\n        <translation>Nutzer definiert 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"305\"/>\n        <source>User defined 3</source>\n        <translation>Nutzer definiert 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"308\"/>\n        <source>User defined 4</source>\n        <translation>Nutzer definiert 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"311\"/>\n        <source>Quoted identifier</source>\n        <translation>Bezeichner in Anführungszeichen</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"314\"/>\n        <source>Quoted operator</source>\n        <translation>Operator in Anführungszeichen</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSpice</name>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"151\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"154\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"157\"/>\n        <source>Command</source>\n        <translation>Befehl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"160\"/>\n        <source>Function</source>\n        <translation>Funktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"163\"/>\n        <source>Parameter</source>\n        <translation>Parameter</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"166\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"169\"/>\n        <source>Delimiter</source>\n        <translation>Delimiter</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"172\"/>\n        <source>Value</source>\n        <translation>Wert</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"175\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTCL</name>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"277\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"280\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"283\"/>\n        <source>Comment line</source>\n        <translation>Kommentarzeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"286\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"289\"/>\n        <source>Quoted keyword</source>\n        <translation>angeführtes Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"292\"/>\n        <source>Quoted string</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"295\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"298\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"301\"/>\n        <source>Substitution</source>\n        <translation>Ersetzung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"304\"/>\n        <source>Brace substitution</source>\n        <translation>Klammerersetzung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"307\"/>\n        <source>Modifier</source>\n        <translation>Modifizierer</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"310\"/>\n        <source>Expand keyword</source>\n        <translation>Erweiterungsschlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"313\"/>\n        <source>TCL keyword</source>\n        <translation>TCL Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"316\"/>\n        <source>Tk keyword</source>\n        <translation>Tk Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"319\"/>\n        <source>iTCL keyword</source>\n        <translation>iTCL Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"322\"/>\n        <source>Tk command</source>\n        <translation>Tk Befehl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"325\"/>\n        <source>User defined 1</source>\n        <translation>Nutzer definiert 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"328\"/>\n        <source>User defined 2</source>\n        <translation>Nutzer definiert 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"331\"/>\n        <source>User defined 3</source>\n        <translation>Nutzer definiert 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"334\"/>\n        <source>User defined 4</source>\n        <translation>Nutzer definiert 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"337\"/>\n        <source>Comment box</source>\n        <translation>Kommentarbox</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"340\"/>\n        <source>Comment block</source>\n        <translation>Kommentarblock</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTeX</name>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"172\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"175\"/>\n        <source>Special</source>\n        <translation>Spezial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"178\"/>\n        <source>Group</source>\n        <translation>Gruppe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"181\"/>\n        <source>Symbol</source>\n        <translation>Symbol</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"184\"/>\n        <source>Command</source>\n        <translation>Befehl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"187\"/>\n        <source>Text</source>\n        <translation>Text</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVHDL</name>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"192\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"195\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"198\"/>\n        <source>Comment line</source>\n        <translation>Kommentarzeile</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"201\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"204\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"207\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"210\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"213\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"216\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"219\"/>\n        <source>Standard operator</source>\n        <translation>Standardoperator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"222\"/>\n        <source>Attribute</source>\n        <translation>Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"225\"/>\n        <source>Standard function</source>\n        <translation>Standardfunktion</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"228\"/>\n        <source>Standard package</source>\n        <translation>Standardpaket</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"231\"/>\n        <source>Standard type</source>\n        <translation>Standardtyp</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"234\"/>\n        <source>User defined</source>\n        <translation>Nutzer definiert</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"237\"/>\n        <source>Comment block</source>\n        <translation>Kommentarblock</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVerilog</name>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"281\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"284\"/>\n        <source>Inactive default</source>\n        <translation>Inaktiver Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"287\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"290\"/>\n        <source>Inactive comment</source>\n        <translation>Inaktiver Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"293\"/>\n        <source>Line comment</source>\n        <translation>Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"296\"/>\n        <source>Inactive line comment</source>\n        <translation>Inaktiver Zeilenkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"299\"/>\n        <source>Bang comment</source>\n        <translation>Bang Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"302\"/>\n        <source>Inactive bang comment</source>\n        <translation>Inaktiver Bang Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"305\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"308\"/>\n        <source>Inactive number</source>\n        <translation>Inaktive Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"311\"/>\n        <source>Primary keywords and identifiers</source>\n        <translation>Primäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"314\"/>\n        <source>Inactive primary keywords and identifiers</source>\n        <translation>Inaktive primäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"317\"/>\n        <source>String</source>\n        <translation>Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"320\"/>\n        <source>Inactive string</source>\n        <translation>Inaktive Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"323\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Sekundäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"326\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation>Inaktive sekundäre Schlusselwörter und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"329\"/>\n        <source>System task</source>\n        <translation>Systemtask</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"332\"/>\n        <source>Inactive system task</source>\n        <translation>Inaktiver Systemtask</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"335\"/>\n        <source>Preprocessor block</source>\n        <translation>Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"338\"/>\n        <source>Inactive preprocessor block</source>\n        <translation>Inaktiver Präprozessorblock</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"341\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"344\"/>\n        <source>Inactive operator</source>\n        <translation>Inaktiver Operator</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"347\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"350\"/>\n        <source>Inactive identifier</source>\n        <translation>Inaktiver Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"353\"/>\n        <source>Unclosed string</source>\n        <translation>Unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"356\"/>\n        <source>Inactive unclosed string</source>\n        <translation>Inaktive unbeendete Zeichenkette</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"359\"/>\n        <source>User defined tasks and identifiers</source>\n        <translation>Nutzerdefinierte Tasks und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"362\"/>\n        <source>Inactive user defined tasks and identifiers</source>\n        <translation>Inaktive nutzerdefinierte Tasks und Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"365\"/>\n        <source>Keyword comment</source>\n        <translation>Schlüsselwortkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"368\"/>\n        <source>Inactive keyword comment</source>\n        <translation>Inaktiver Schlüsselwortkommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"371\"/>\n        <source>Input port declaration</source>\n        <translation>Eingabeportdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"374\"/>\n        <source>Inactive input port declaration</source>\n        <translation>Inaktive Eingabeportdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"377\"/>\n        <source>Output port declaration</source>\n        <translation>Ausgabeportdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"380\"/>\n        <source>Inactive output port declaration</source>\n        <translation>Inaktive Ausgabeportdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"383\"/>\n        <source>Input/output port declaration</source>\n        <translation>Ein-/Ausgabeportdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"386\"/>\n        <source>Inactive input/output port declaration</source>\n        <translation>Inaktive Ein-/Ausgabeportdefinition</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"389\"/>\n        <source>Port connection</source>\n        <translation>Portverbindung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"392\"/>\n        <source>Inactive port connection</source>\n        <translation>Inaktive Portverbindung</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerYAML</name>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"155\"/>\n        <source>Default</source>\n        <translation>Standard</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"158\"/>\n        <source>Comment</source>\n        <translation>Kommentar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"161\"/>\n        <source>Identifier</source>\n        <translation>Bezeichner</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"164\"/>\n        <source>Keyword</source>\n        <translation>Schlüsselwort</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"167\"/>\n        <source>Number</source>\n        <translation>Zahl</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"170\"/>\n        <source>Reference</source>\n        <translation>Referenz</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"173\"/>\n        <source>Document delimiter</source>\n        <translation>Dokumentbegrenzer</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"176\"/>\n        <source>Text block marker</source>\n        <translation>Textblock Markierung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"179\"/>\n        <source>Syntax error marker</source>\n        <translation>Syntaxfehler Markierung</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"182\"/>\n        <source>Operator</source>\n        <translation>Operator</translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4455\"/>\n        <source>&amp;Undo</source>\n        <translation>&amp;Rückgängig</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4459\"/>\n        <source>&amp;Redo</source>\n        <translation>Wieder&amp;herstellen</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4465\"/>\n        <source>Cu&amp;t</source>\n        <translation>&amp;Ausschneiden</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4470\"/>\n        <source>&amp;Copy</source>\n        <translation>&amp;Kopieren</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4476\"/>\n        <source>&amp;Paste</source>\n        <translation>Ein&amp;fügen</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4480\"/>\n        <source>Delete</source>\n        <translation>Löschen</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4487\"/>\n        <source>Select All</source>\n        <translation>Alle auswählen</translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/qscint/src/qscintilla_es.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\" language=\"es\">\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"44\"/>\n        <source>Move down one line</source>\n        <translation>Desplazar una línea hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"54\"/>\n        <source>Extend selection down one line</source>\n        <translation>Extender la selección una línea hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"71\"/>\n        <source>Scroll view down one line</source>\n        <translation>Desplazar la vista una línea hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"64\"/>\n        <source>Extend rectangular selection down one line</source>\n        <translation>Extender la selección rectangular una línea hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"81\"/>\n        <source>Move up one line</source>\n        <translation>Desplazar una línea hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"91\"/>\n        <source>Extend selection up one line</source>\n        <translation>Extender la selección una línea hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"108\"/>\n        <source>Scroll view up one line</source>\n        <translation>Desplazar la vista una línea hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"101\"/>\n        <source>Extend rectangular selection up one line</source>\n        <translation>Extender la selección rectangular una línea hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"158\"/>\n        <source>Move up one paragraph</source>\n        <translation>Desplazar un párrafo hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"164\"/>\n        <source>Extend selection up one paragraph</source>\n        <translation>Extender la selección un párrafo hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"145\"/>\n        <source>Move down one paragraph</source>\n        <translation>Desplazar un párrafo hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"118\"/>\n        <source>Scroll to start of document</source>\n        <translation>Desplazar al principio del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"128\"/>\n        <source>Scroll to end of document</source>\n        <translation>Desplazar al final del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"138\"/>\n        <source>Scroll vertically to centre current line</source>\n        <translation>Desplazar verticalmente al centro de la línea actual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"151\"/>\n        <source>Extend selection down one paragraph</source>\n        <translation>Extender la selección un párrafo hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"175\"/>\n        <source>Move left one character</source>\n        <translation>Mover un carácter hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"185\"/>\n        <source>Extend selection left one character</source>\n        <translation>Extender la selección un carácter hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"239\"/>\n        <source>Move left one word</source>\n        <translation>Mover una palabra hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"249\"/>\n        <source>Extend selection left one word</source>\n        <translation>Extender la selección una palabra a la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"196\"/>\n        <source>Extend rectangular selection left one character</source>\n        <translation>Extender la selección rectangular un carácter hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"207\"/>\n        <source>Move right one character</source>\n        <translation>Mover un carácter hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"217\"/>\n        <source>Extend selection right one character</source>\n        <translation>Extender la selección un carácter hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"259\"/>\n        <source>Move right one word</source>\n        <translation>Mover una palabra hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"265\"/>\n        <source>Extend selection right one word</source>\n        <translation>Extender la selección una palabra a la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"228\"/>\n        <source>Extend rectangular selection right one character</source>\n        <translation>Extender la selección rectangular un carácter hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"271\"/>\n        <source>Move to end of previous word</source>\n        <translation>Mover al final de palabra anterior</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"277\"/>\n        <source>Extend selection to end of previous word</source>\n        <translation>Extender selección al final de la palabra anterior</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"288\"/>\n        <source>Move to end of next word</source>\n        <translation>Mover al final de la palabra siguiente</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"298\"/>\n        <source>Extend selection to end of next word</source>\n        <translation>Extender la selección hasta el final de la palabra siguiente</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"305\"/>\n        <source>Move left one word part</source>\n        <translation>Mover parte de una palabra hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"311\"/>\n        <source>Extend selection left one word part</source>\n        <translation>Extender la selección parte de una palabra a la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"318\"/>\n        <source>Move right one word part</source>\n        <translation>Mover parte de una palabra hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"324\"/>\n        <source>Extend selection right one word part</source>\n        <translation>Extender la selección parte de una palabra a la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"554\"/>\n        <source>Move up one page</source>\n        <translation>Mover hacia arriba una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"560\"/>\n        <source>Extend selection up one page</source>\n        <translation>Extender la selección hacia arriba una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"566\"/>\n        <source>Extend rectangular selection up one page</source>\n        <translation>Extender la selección rectangular hacia arriba una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"577\"/>\n        <source>Move down one page</source>\n        <translation>Mover hacia abajo una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"587\"/>\n        <source>Extend selection down one page</source>\n        <translation>Extender la selección hacia abajo una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"597\"/>\n        <source>Extend rectangular selection down one page</source>\n        <translation>Extender la selección rectangular una página hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"634\"/>\n        <source>Delete current character</source>\n        <translation>Borrar el carácter actual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"764\"/>\n        <source>Cut selection</source>\n        <translation>Cortar selección</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"663\"/>\n        <source>Delete word to right</source>\n        <translation>Borrar palabra hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"335\"/>\n        <source>Move to start of document line</source>\n        <translation>Mover al principio de la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"345\"/>\n        <source>Extend selection to start of document line</source>\n        <translation>Extender selección al principio de la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"356\"/>\n        <source>Extend rectangular selection to start of document line</source>\n        <translation>Extender selección rectangular al principio de la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"367\"/>\n        <source>Move to start of display line</source>\n        <translation>Mover al principio de la línea visualizada</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"377\"/>\n        <source>Extend selection to start of display line</source>\n        <translation>Extender selección al principio de la línea visualizada</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"384\"/>\n        <source>Move to start of display or document line</source>\n        <translation>Mover al principio de la línea visualizada o del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"391\"/>\n        <source>Extend selection to start of display or document line</source>\n        <translation>Extender selección al principio de la línea visualizada o del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"402\"/>\n        <source>Move to first visible character in document line</source>\n        <translation>Mover al primer carácter visible en la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"413\"/>\n        <source>Extend selection to first visible character in document line</source>\n        <translation>Extender selección al primer carácter visible en la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"424\"/>\n        <source>Extend rectangular selection to first visible character in document line</source>\n        <translation>Extender selección rectangular al primer carácter visible en la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"431\"/>\n        <source>Move to first visible character of display in document line</source>\n        <translation>Extender selección al primer carácter visualizado en la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"438\"/>\n        <source>Extend selection to first visible character in display or document line</source>\n        <translation>Extender selección al primer carácter de línea visualizada o del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"449\"/>\n        <source>Move to end of document line</source>\n        <translation>Mover al final de la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"459\"/>\n        <source>Extend selection to end of document line</source>\n        <translation>Extender selección al final de la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"470\"/>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation>Extender selección rectangular al final de la línea del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"481\"/>\n        <source>Move to end of display line</source>\n        <translation>Mover al final de la línea visualizada</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"491\"/>\n        <source>Extend selection to end of display line</source>\n        <translation>Extender selección al final de la línea visualizada</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"498\"/>\n        <source>Move to end of display or document line</source>\n        <translation>Mover al final de la línea visualizada o del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"505\"/>\n        <source>Extend selection to end of display or document line</source>\n        <translation>Extender selección al final de la línea visualizada o del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"516\"/>\n        <source>Move to start of document</source>\n        <translation>Mover al principio del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"526\"/>\n        <source>Extend selection to start of document</source>\n        <translation>Extender selección al principio del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"537\"/>\n        <source>Move to end of document</source>\n        <translation>Mover al final del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"547\"/>\n        <source>Extend selection to end of document</source>\n        <translation>Extender selección al final del documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"604\"/>\n        <source>Stuttered move up one page</source>\n        <translation>Mover progresivamente una página hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"610\"/>\n        <source>Stuttered extend selection up one page</source>\n        <translation>Extender progresivamente selección hacia arriba una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"617\"/>\n        <source>Stuttered move down one page</source>\n        <translation>Mover progresivamente una página hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"623\"/>\n        <source>Stuttered extend selection down one page</source>\n        <translation>Extender progresivamente selección hacia abajo una página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"650\"/>\n        <source>Delete previous character if not at start of line</source>\n        <translation>Borrar carácter anterior si no está al principio de una línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"673\"/>\n        <source>Delete right to end of next word</source>\n        <translation>Borrar a la derecha hasta el final de la siguiente palabra</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"690\"/>\n        <source>Delete line to right</source>\n        <translation>Borrar línea hacia la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"714\"/>\n        <source>Transpose current and previous lines</source>\n        <translation>Transponer líneas actual y anterior</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"721\"/>\n        <source>Duplicate the current line</source>\n        <translation>Duplicar línea actual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"727\"/>\n        <source>Select all</source>\n        <oldsource>Select document</oldsource>\n        <translation>Seleccionar todo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"733\"/>\n        <source>Move selected lines up one line</source>\n        <translation>Mover las líneas seleccionadas una línea hacia arriba</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"739\"/>\n        <source>Move selected lines down one line</source>\n        <translation>Mover las líneas seleccionadas una línea hacia abajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"782\"/>\n        <source>Toggle insert/overtype</source>\n        <translation>Conmutar insertar/sobreescribir</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"776\"/>\n        <source>Paste</source>\n        <translation>Pegar</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"770\"/>\n        <source>Copy selection</source>\n        <translation>Copiar selección</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"788\"/>\n        <source>Insert newline</source>\n        <translation>Insertar carácter de nueva línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"806\"/>\n        <source>De-indent one level</source>\n        <translation>Deshacer un nivel de indentado</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"812\"/>\n        <source>Cancel</source>\n        <translation>Cancelar</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"644\"/>\n        <source>Delete previous character</source>\n        <translation>Borrar carácter anterior</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"657\"/>\n        <source>Delete word to left</source>\n        <translation>Borrar palabra hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"680\"/>\n        <source>Delete line to left</source>\n        <translation>Borrar línea hacia la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"818\"/>\n        <source>Undo last command</source>\n        <translation>Deshacer último comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"828\"/>\n        <source>Redo last command</source>\n        <translation>Rehacer último comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"800\"/>\n        <source>Indent one level</source>\n        <translation>Indentar un nivel</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"834\"/>\n        <source>Zoom in</source>\n        <translation>Aumentar zoom</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"840\"/>\n        <source>Zoom out</source>\n        <translation>Disminuir zoom</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"794\"/>\n        <source>Formfeed</source>\n        <translation>Carga de la página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"702\"/>\n        <source>Cut current line</source>\n        <translation>Cortar línea actual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"696\"/>\n        <source>Delete current line</source>\n        <translation>Borrar línea actual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"708\"/>\n        <source>Copy current line</source>\n        <translation>Copiar línea actual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"752\"/>\n        <source>Convert selection to lower case</source>\n        <translation>Convertir selección a minúsculas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"758\"/>\n        <source>Convert selection to upper case</source>\n        <translation>Convertir selección a mayúsculas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"746\"/>\n        <source>Duplicate selection</source>\n        <translation>Duplicar selección</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerAVS</name>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"275\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"278\"/>\n        <source>Block comment</source>\n        <translation>Comentario de bloque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"281\"/>\n        <source>Nested block comment</source>\n        <translation>Comentario de bloque anidado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"284\"/>\n        <source>Line comment</source>\n        <translation>Comentario de línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"287\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"296\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"299\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Cadena con triple comilla doble</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"302\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"305\"/>\n        <source>Filter</source>\n        <translation>Filtro</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"308\"/>\n        <source>Plugin</source>\n        <translation>Plugin</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"311\"/>\n        <source>Function</source>\n        <translation>Función</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"314\"/>\n        <source>Clip property</source>\n        <translation>Propiedad de recorte</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"317\"/>\n        <source>User defined</source>\n        <translation>Definido por el usuario</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBash</name>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"188\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"191\"/>\n        <source>Error</source>\n        <translation>Error</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"194\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"197\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"200\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"203\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"206\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"209\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"212\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"215\"/>\n        <source>Scalar</source>\n        <translation>Escalar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"218\"/>\n        <source>Parameter expansion</source>\n        <translation>Expansión de parámetros</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"221\"/>\n        <source>Backticks</source>\n        <translation>Comilla inversa</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"224\"/>\n        <source>Here document delimiter</source>\n        <translation>Delimitador de documento integrado (here document)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"227\"/>\n        <source>Single-quoted here document</source>\n        <translation>Documento integrado (here document) con comilla simple</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBatch</name>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"159\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"162\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"165\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"168\"/>\n        <source>Label</source>\n        <translation>Etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"171\"/>\n        <source>Hide command character</source>\n        <translation>Ocultar caracteres de comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"174\"/>\n        <source>External command</source>\n        <translation>Comando externo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"177\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"180\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCMake</name>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"175\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"178\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"181\"/>\n        <source>String</source>\n        <translation>Cadena de caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"184\"/>\n        <source>Left quoted string</source>\n        <translation>Cadena con comillas a la izquierda</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"187\"/>\n        <source>Right quoted string</source>\n        <translation>Cadena con comillas a la derecha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"190\"/>\n        <source>Function</source>\n        <translation>Función</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"193\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"196\"/>\n        <source>Label</source>\n        <translation>Etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"199\"/>\n        <source>User defined</source>\n        <translation>Definido por el usuario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"202\"/>\n        <source>WHILE block</source>\n        <translation>Bloque WHILE</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"205\"/>\n        <source>FOREACH block</source>\n        <translation>Bloque FOREACH</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"208\"/>\n        <source>IF block</source>\n        <translation>Bloque IF</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"211\"/>\n        <source>MACRO block</source>\n        <translation>Bloque MACRO</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"214\"/>\n        <source>Variable within a string</source>\n        <translation>Variable en una cadena</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"217\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCPP</name>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"349\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"352\"/>\n        <source>Inactive default</source>\n        <translation>Por defecto inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"355\"/>\n        <source>C comment</source>\n        <translation>Comentario C</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"358\"/>\n        <source>Inactive C comment</source>\n        <translation>Comentario C inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"361\"/>\n        <source>C++ comment</source>\n        <translation>Comentario C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"364\"/>\n        <source>Inactive C++ comment</source>\n        <translation>Comentario C++ inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"367\"/>\n        <source>JavaDoc style C comment</source>\n        <translation>Comentario C de estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"370\"/>\n        <source>Inactive JavaDoc style C comment</source>\n        <translation>Comentario C estilo JavaDoc inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"373\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"376\"/>\n        <source>Inactive number</source>\n        <translation>Número inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"379\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"382\"/>\n        <source>Inactive keyword</source>\n        <translation>Palabra clave inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"385\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"388\"/>\n        <source>Inactive double-quoted string</source>\n        <translation>Cadena con doble comilla inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"391\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"394\"/>\n        <source>Inactive single-quoted string</source>\n        <translation>Cadena con comilla simple inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"397\"/>\n        <source>IDL UUID</source>\n        <translation>IDL UUID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"400\"/>\n        <source>Inactive IDL UUID</source>\n        <translation>IDL UUID inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"403\"/>\n        <source>Pre-processor block</source>\n        <translation>Bloque de preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"406\"/>\n        <source>Inactive pre-processor block</source>\n        <translation>Bloque de preprocesador inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"409\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"412\"/>\n        <source>Inactive operator</source>\n        <translation>Operador inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"415\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"418\"/>\n        <source>Inactive identifier</source>\n        <translation>Identificador inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"421\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"424\"/>\n        <source>Inactive unclosed string</source>\n        <translation>Cadena sin cerrar inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"427\"/>\n        <source>C# verbatim string</source>\n        <translation>Cadena C# textual</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"430\"/>\n        <source>Inactive C# verbatim string</source>\n        <translation>Cadena C# textual inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"433\"/>\n        <source>JavaScript regular expression</source>\n        <translation>Expresión regular JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"436\"/>\n        <source>Inactive JavaScript regular expression</source>\n        <translation>Expresión regular JavaScript inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"439\"/>\n        <source>JavaDoc style C++ comment</source>\n        <translation>Comentario C++ de estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"442\"/>\n        <source>Inactive JavaDoc style C++ comment</source>\n        <translation>Comentario C++ estilo JavaDoc inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"445\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Identificadores y palabras clave secundarios</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"448\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation>Identificadores y palabras clave secundarios inactivos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"451\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Palabra clave de Javadoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"454\"/>\n        <source>Inactive JavaDoc keyword</source>\n        <translation>Palabra clave de JavaDoc inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"457\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Error en palabra clave de Javadoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"460\"/>\n        <source>Inactive JavaDoc keyword error</source>\n        <translation>Error en palabra clave de Javadoc inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"463\"/>\n        <source>Global classes and typedefs</source>\n        <translation>Clases globales y typedefs</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"466\"/>\n        <source>Inactive global classes and typedefs</source>\n        <translation>Clases globales y typedefs inactivos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"469\"/>\n        <source>C++ raw string</source>\n        <translation>Cadena en bruto C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"472\"/>\n        <source>Inactive C++ raw string</source>\n        <translation>Cadena inactiva C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"475\"/>\n        <source>Vala triple-quoted verbatim string</source>\n        <translation>Cadena Vala con triple comilla textual</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"478\"/>\n        <source>Inactive Vala triple-quoted verbatim string</source>\n        <translation>Cadena Vala con triple comilla textual inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"481\"/>\n        <source>Pike hash-quoted string</source>\n        <translation>Cadena Pike con hash entrecomillado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"484\"/>\n        <source>Inactive Pike hash-quoted string</source>\n        <translation>Cadena Pike con hash entrecomillado inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"487\"/>\n        <source>Pre-processor C comment</source>\n        <translation>Comentario C de preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"490\"/>\n        <source>Inactive pre-processor C comment</source>\n        <translation>Comentario C de preprocesador inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"493\"/>\n        <source>JavaDoc style pre-processor comment</source>\n        <translation>Comentario de preprocesador estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"496\"/>\n        <source>Inactive JavaDoc style pre-processor comment</source>\n        <translation>Comentario de preprocesador estilo JavaDoc inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"499\"/>\n        <source>User-defined literal</source>\n        <translation>Literal definido por el usuario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"502\"/>\n        <source>Inactive user-defined literal</source>\n        <translation>Literal inactivo definido por el usuario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"505\"/>\n        <source>Task marker</source>\n        <translation>Marcador de tarea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"508\"/>\n        <source>Inactive task marker</source>\n        <translation>Marcador de tarea inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"511\"/>\n        <source>Escape sequence</source>\n        <translation>Secuencia de escape</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"514\"/>\n        <source>Inactive escape sequence</source>\n        <translation>Secuencia de escape inactiva</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSS</name>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"217\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"220\"/>\n        <source>Tag</source>\n        <translation>Etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"223\"/>\n        <source>Class selector</source>\n        <translation>Selector de clase</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"226\"/>\n        <source>Pseudo-class</source>\n        <translation>Pseudoclase</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"229\"/>\n        <source>Unknown pseudo-class</source>\n        <translation>Pseudoclase desconocida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"232\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"235\"/>\n        <source>CSS1 property</source>\n        <translation>Propiedad CSS1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"238\"/>\n        <source>Unknown property</source>\n        <translation>Propiedad desconocida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"241\"/>\n        <source>Value</source>\n        <translation>Valor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"244\"/>\n        <source>ID selector</source>\n        <translation>Selector de ID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"247\"/>\n        <source>Important</source>\n        <translation>Importante</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"250\"/>\n        <source>@-rule</source>\n        <translation>Regla-@</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"253\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"256\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"259\"/>\n        <source>CSS2 property</source>\n        <translation>Propiedad CSS2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"262\"/>\n        <source>Attribute</source>\n        <translation>Atributo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"265\"/>\n        <source>CSS3 property</source>\n        <translation>Propiedad CSS3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"268\"/>\n        <source>Pseudo-element</source>\n        <translation>Pseudoelemento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"271\"/>\n        <source>Extended CSS property</source>\n        <translation>Propiedad CSS extendida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"274\"/>\n        <source>Extended pseudo-class</source>\n        <translation>Pseudoclase extendida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"277\"/>\n        <source>Extended pseudo-element</source>\n        <translation>Pseudoelemento extendido</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"280\"/>\n        <source>Media rule</source>\n        <translation>Regla de &apos;@media&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"283\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSharp</name>\n    <message>\n        <location filename=\"qscilexercsharp.cpp\" line=\"90\"/>\n        <source>Verbatim string</source>\n        <translation>Cadena textual</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCoffeeScript</name>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"243\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"246\"/>\n        <source>C-style comment</source>\n        <translation>Comentario de estilo C</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"249\"/>\n        <source>C++-style comment</source>\n        <translation>Comentario de estilo C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"252\"/>\n        <source>JavaDoc C-style comment</source>\n        <translation>Comentario de estilo JavaDoc C</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"255\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"258\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"261\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"264\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comilla simple</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"267\"/>\n        <source>IDL UUID</source>\n        <translation>IDL UUID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"270\"/>\n        <source>Pre-processor block</source>\n        <translation>Bloque de preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"273\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"276\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"279\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"282\"/>\n        <source>C# verbatim string</source>\n        <translation>Cadena C# textual</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"285\"/>\n        <source>Regular expression</source>\n        <translation>Expresión regular</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"288\"/>\n        <source>JavaDoc C++-style comment</source>\n        <translation>Comentario de estilo JavaDoc C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"291\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Identificadores y palabras clave secundarios</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"294\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Palabra clave de JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"297\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Error en palabra clave de JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"300\"/>\n        <source>Global classes</source>\n        <translation>Clases globales</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"303\"/>\n        <source>Block comment</source>\n        <translation>Comentario de bloque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"306\"/>\n        <source>Block regular expression</source>\n        <translation>Expresión regular de bloque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"309\"/>\n        <source>Block regular expression comment</source>\n        <translation>Comentario de expresión regular de bloque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"312\"/>\n        <source>Instance property</source>\n        <translation>Propiedad de instancia</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerD</name>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"254\"/>\n        <source>Block comment</source>\n        <translation>Comentario de bloque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"257\"/>\n        <source>Line comment</source>\n        <translation>Comentario de línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"260\"/>\n        <source>DDoc style block comment</source>\n        <translation>Comentario de bloque estilo DDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"263\"/>\n        <source>Nesting comment</source>\n        <translation>Comentario anidado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"266\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"269\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"272\"/>\n        <source>Secondary keyword</source>\n        <translation>Palabra clave secundaria</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"275\"/>\n        <source>Documentation keyword</source>\n        <translation>Palabra clave de documentación</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"278\"/>\n        <source>Type definition</source>\n        <translation>Definición de tipo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"281\"/>\n        <source>String</source>\n        <translation>Cadena de caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"284\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"287\"/>\n        <source>Character</source>\n        <translation>Carácter</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"296\"/>\n        <source>DDoc style line comment</source>\n        <translation>Comentario de línea estilo DDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"299\"/>\n        <source>DDoc keyword</source>\n        <translation>Palabra clave DDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"302\"/>\n        <source>DDoc keyword error</source>\n        <translation>Error en palabra clave DDOC</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"305\"/>\n        <source>Backquoted string</source>\n        <translation>Cadena con comillas hacia atrás</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"308\"/>\n        <source>Raw string</source>\n        <translation>Cadena en bruto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"311\"/>\n        <source>User defined 1</source>\n        <translation>Definido por el usuario 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"314\"/>\n        <source>User defined 2</source>\n        <translation>Definido por el usuario 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"317\"/>\n        <source>User defined 3</source>\n        <translation>Definido por el usuario 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerDiff</name>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"91\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"94\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"97\"/>\n        <source>Command</source>\n        <translation>Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"100\"/>\n        <source>Header</source>\n        <translation>Encabezado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"103\"/>\n        <source>Position</source>\n        <translation>Posición</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"106\"/>\n        <source>Removed line</source>\n        <translation>Línea eliminada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"109\"/>\n        <source>Added line</source>\n        <translation>Línea añadida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"112\"/>\n        <source>Changed line</source>\n        <translation>Línea modificada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"115\"/>\n        <source>Added adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"118\"/>\n        <source>Removed adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"121\"/>\n        <source>Added removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"124\"/>\n        <source>Removed removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerEDIFACT</name>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"79\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"82\"/>\n        <source>Segment start</source>\n        <translation>Inicio de Segmento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"85\"/>\n        <source>Segment end</source>\n        <translation>Final de Segmento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"88\"/>\n        <source>Element separator</source>\n        <translation>Separador de elemento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"91\"/>\n        <source>Composite separator</source>\n        <translation>Separador compuesto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"94\"/>\n        <source>Release separator</source>\n        <translation>Separador de release</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"97\"/>\n        <source>UNA segment header</source>\n        <translation>Encabezamiento de segmento UNA</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"100\"/>\n        <source>UNH segment header</source>\n        <translation>Encabezamiento de segmento UNH</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"103\"/>\n        <source>Badly formed segment</source>\n        <translation>Segmento mal formado</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerFortran77</name>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"170\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"173\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"176\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"179\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"182\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"185\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"188\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"191\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"194\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"197\"/>\n        <source>Intrinsic function</source>\n        <translation>Función intrínseca</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"200\"/>\n        <source>Extended function</source>\n        <translation>Función extendida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"203\"/>\n        <source>Pre-processor block</source>\n        <translation>Bloque de preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"206\"/>\n        <source>Dotted operator</source>\n        <translation>Operador punteado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"209\"/>\n        <source>Label</source>\n        <translation>Etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"212\"/>\n        <source>Continuation</source>\n        <translation>Continuación</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerHTML</name>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"548\"/>\n        <source>HTML default</source>\n        <translation>HTML por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"551\"/>\n        <source>Tag</source>\n        <translation>Etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"554\"/>\n        <source>Unknown tag</source>\n        <translation>Etiqueta desconocida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"557\"/>\n        <source>Attribute</source>\n        <translation>Atributo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"560\"/>\n        <source>Unknown attribute</source>\n        <translation>Atributo desconocido</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"563\"/>\n        <source>HTML number</source>\n        <translation>Número HTML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"566\"/>\n        <source>HTML double-quoted string</source>\n        <translation>Cadena HTML con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"569\"/>\n        <source>HTML single-quoted string</source>\n        <translation>Cadena HTML con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"572\"/>\n        <source>Other text in a tag</source>\n        <translation>Otro texto en una etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"575\"/>\n        <source>HTML comment</source>\n        <translation>Comentario HTML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"578\"/>\n        <source>Entity</source>\n        <translation>Entidad</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"581\"/>\n        <source>End of a tag</source>\n        <translation>Final de una etiqueta</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"584\"/>\n        <source>Start of an XML fragment</source>\n        <translation>Inicio de un fragmento XML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"587\"/>\n        <source>End of an XML fragment</source>\n        <translation>Fin de un fragmento XML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"590\"/>\n        <source>Script tag</source>\n        <translation>Etiqueta de script</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"593\"/>\n        <source>Start of an ASP fragment with @</source>\n        <translation>Inicio de un fragmento ASP con @</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"596\"/>\n        <source>Start of an ASP fragment</source>\n        <translation>Inicio de un fragmento ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"599\"/>\n        <source>CDATA</source>\n        <translation>CDATA</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"602\"/>\n        <source>Start of a PHP fragment</source>\n        <translation>Inicio de un fragmento PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"605\"/>\n        <source>Unquoted HTML value</source>\n        <translation>Valor HTML sin comillas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"608\"/>\n        <source>ASP X-Code comment</source>\n        <translation>Comentario ASP X-Code</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"611\"/>\n        <source>SGML default</source>\n        <translation>SGML por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"614\"/>\n        <source>SGML command</source>\n        <translation>Comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"617\"/>\n        <source>First parameter of an SGML command</source>\n        <translation>Primer parametro de un comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"620\"/>\n        <source>SGML double-quoted string</source>\n        <translation>Cadena SGML con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"623\"/>\n        <source>SGML single-quoted string</source>\n        <translation>Cadena SGML con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"626\"/>\n        <source>SGML error</source>\n        <translation>Error SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"629\"/>\n        <source>SGML special entity</source>\n        <translation>Entidad SGML especial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"632\"/>\n        <source>SGML comment</source>\n        <translation>Comentario SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"635\"/>\n        <source>First parameter comment of an SGML command</source>\n        <translation>Comentario de primer parametro de un comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"638\"/>\n        <source>SGML block default</source>\n        <translation>Bloque SGML por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"641\"/>\n        <source>Start of a JavaScript fragment</source>\n        <translation>Inicio de un fragmento JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"644\"/>\n        <source>JavaScript default</source>\n        <translation>JavaScript por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"647\"/>\n        <source>JavaScript comment</source>\n        <translation>Comentario JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"650\"/>\n        <source>JavaScript line comment</source>\n        <translation>Comentario de línea de JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"653\"/>\n        <source>JavaDoc style JavaScript comment</source>\n        <translation>Comentario JavaScript de estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"656\"/>\n        <source>JavaScript number</source>\n        <translation>Número JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"659\"/>\n        <source>JavaScript word</source>\n        <translation>Palabra JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"662\"/>\n        <source>JavaScript keyword</source>\n        <translation>Palabra clave JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"665\"/>\n        <source>JavaScript double-quoted string</source>\n        <translation>Cadena JavaScript con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"668\"/>\n        <source>JavaScript single-quoted string</source>\n        <translation>Cadena JavaScript con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"671\"/>\n        <source>JavaScript symbol</source>\n        <translation>Símbolo JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"674\"/>\n        <source>JavaScript unclosed string</source>\n        <translation>Cadena JavaScript sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"677\"/>\n        <source>JavaScript regular expression</source>\n        <translation>Expresión regular JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"680\"/>\n        <source>Start of an ASP JavaScript fragment</source>\n        <translation>Inicio de un fragmento de ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"683\"/>\n        <source>ASP JavaScript default</source>\n        <translation>ASP JavaScript por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"686\"/>\n        <source>ASP JavaScript comment</source>\n        <translation>Comentario de ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"689\"/>\n        <source>ASP JavaScript line comment</source>\n        <translation>Comentario de línea de ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"692\"/>\n        <source>JavaDoc style ASP JavaScript comment</source>\n        <translation>Comentario ASP JavaScript de estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"695\"/>\n        <source>ASP JavaScript number</source>\n        <translation>Número ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"698\"/>\n        <source>ASP JavaScript word</source>\n        <translation>Palabra ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"701\"/>\n        <source>ASP JavaScript keyword</source>\n        <translation>Palabra clave ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"704\"/>\n        <source>ASP JavaScript double-quoted string</source>\n        <translation>Cadena ASP JavaScript con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"707\"/>\n        <source>ASP JavaScript single-quoted string</source>\n        <translation>Cadena ASP JavaScript con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"710\"/>\n        <source>ASP JavaScript symbol</source>\n        <translation>Símbolo ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"713\"/>\n        <source>ASP JavaScript unclosed string</source>\n        <translation>Cadena ASP JavaScript sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"716\"/>\n        <source>ASP JavaScript regular expression</source>\n        <translation>Expresión regular ASP JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"719\"/>\n        <source>Start of a VBScript fragment</source>\n        <translation>Inicio de un fragmento VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"722\"/>\n        <source>VBScript default</source>\n        <translation>VBScript por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"725\"/>\n        <source>VBScript comment</source>\n        <translation>Comentario VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"728\"/>\n        <source>VBScript number</source>\n        <translation>Número VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"731\"/>\n        <source>VBScript keyword</source>\n        <translation>Palabra clave VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"734\"/>\n        <source>VBScript string</source>\n        <translation>Cadena de caracteres VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"737\"/>\n        <source>VBScript identifier</source>\n        <translation>Identificador VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"740\"/>\n        <source>VBScript unclosed string</source>\n        <translation>Cadena VBScript sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"743\"/>\n        <source>Start of an ASP VBScript fragment</source>\n        <translation>Inicio de un fragmento de ASP VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"746\"/>\n        <source>ASP VBScript default</source>\n        <translation>ASP VBScript por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"749\"/>\n        <source>ASP VBScript comment</source>\n        <translation>Comentario de ASP VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"752\"/>\n        <source>ASP VBScript number</source>\n        <translation>Número ASP VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"755\"/>\n        <source>ASP VBScript keyword</source>\n        <translation>Palabra clave ASP VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"758\"/>\n        <source>ASP VBScript string</source>\n        <translation>Cadena de caracteres ASP VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"761\"/>\n        <source>ASP VBScript identifier</source>\n        <translation>Identificador ASP VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"764\"/>\n        <source>ASP VBScript unclosed string</source>\n        <translation>Cadena ASP VBScript sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"767\"/>\n        <source>Start of a Python fragment</source>\n        <translation>Inicio de un fragmento Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"770\"/>\n        <source>Python default</source>\n        <translation>Python por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"773\"/>\n        <source>Python comment</source>\n        <translation>Comentario Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"776\"/>\n        <source>Python number</source>\n        <translation>Número Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"779\"/>\n        <source>Python double-quoted string</source>\n        <translation>Cadena Python con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"782\"/>\n        <source>Python single-quoted string</source>\n        <translation>Cadena Python con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"785\"/>\n        <source>Python keyword</source>\n        <translation>Palabra clave de Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"788\"/>\n        <source>Python triple double-quoted string</source>\n        <translation>Cadena Python con triple comilla doble</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"791\"/>\n        <source>Python triple single-quoted string</source>\n        <translation>Cadena Python con triple comilla simple</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"794\"/>\n        <source>Python class name</source>\n        <translation>Nombre de clase Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"797\"/>\n        <source>Python function or method name</source>\n        <translation>Nombre de método o función Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"800\"/>\n        <source>Python operator</source>\n        <translation>Operador Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"803\"/>\n        <source>Python identifier</source>\n        <translation>Identificador Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"806\"/>\n        <source>Start of an ASP Python fragment</source>\n        <translation>Inicio de un fragmento ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"809\"/>\n        <source>ASP Python default</source>\n        <translation>ASP Python por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"812\"/>\n        <source>ASP Python comment</source>\n        <translation>Comentario ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"815\"/>\n        <source>ASP Python number</source>\n        <translation>Número ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"818\"/>\n        <source>ASP Python double-quoted string</source>\n        <translation>Cadena ASP Python con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"821\"/>\n        <source>ASP Python single-quoted string</source>\n        <translation>Cadena ASP Python con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"824\"/>\n        <source>ASP Python keyword</source>\n        <translation>Palabra clave de ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"827\"/>\n        <source>ASP Python triple double-quoted string</source>\n        <translation>Cadena ASP Python con triple comilla doble</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"830\"/>\n        <source>ASP Python triple single-quoted string</source>\n        <translation>Cadena ASP Python con triple comilla simple</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"833\"/>\n        <source>ASP Python class name</source>\n        <translation>Nombre de clase ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"836\"/>\n        <source>ASP Python function or method name</source>\n        <translation>Nombre de método o función ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"839\"/>\n        <source>ASP Python operator</source>\n        <translation>Operador ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"842\"/>\n        <source>ASP Python identifier</source>\n        <translation>Identificador ASP Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"845\"/>\n        <source>PHP default</source>\n        <translation>PHP por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"848\"/>\n        <source>PHP double-quoted string</source>\n        <translation>Cadena PHP con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"851\"/>\n        <source>PHP single-quoted string</source>\n        <translation>Cadena PHP con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"854\"/>\n        <source>PHP keyword</source>\n        <translation>Palabra clave PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"857\"/>\n        <source>PHP number</source>\n        <translation>Número PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"860\"/>\n        <source>PHP variable</source>\n        <translation>Variable PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"863\"/>\n        <source>PHP comment</source>\n        <translation>Comentario PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"866\"/>\n        <source>PHP line comment</source>\n        <translation>Comentario de línea PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"869\"/>\n        <source>PHP double-quoted variable</source>\n        <translation>Variable PHP con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"872\"/>\n        <source>PHP operator</source>\n        <translation>Operador PHP</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerIDL</name>\n    <message>\n        <location filename=\"qscilexeridl.cpp\" line=\"82\"/>\n        <source>UUID</source>\n        <translation>UUID</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJSON</name>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"145\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"148\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"151\"/>\n        <source>String</source>\n        <translation>Cadena</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"154\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"157\"/>\n        <source>Property</source>\n        <translation>Propiedad</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"160\"/>\n        <source>Escape sequence</source>\n        <translation>Secuencia de escape</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"163\"/>\n        <source>Line comment</source>\n        <translation>Comentario de línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"166\"/>\n        <source>Block comment</source>\n        <translation>Comentario de bloque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"169\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"172\"/>\n        <source>IRI</source>\n        <translation>IRI</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"175\"/>\n        <source>JSON-LD compact IRI</source>\n        <translation>JSON-LD compact IRI</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"178\"/>\n        <source>JSON keyword</source>\n        <translation>Palabra clave JSON</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"181\"/>\n        <source>JSON-LD keyword</source>\n        <translation>Palabra clave JSON-LD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"184\"/>\n        <source>Parsing error</source>\n        <translation>Error de intérprete</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJavaScript</name>\n    <message>\n        <location filename=\"qscilexerjavascript.cpp\" line=\"92\"/>\n        <source>Regular expression</source>\n        <translation>Expresión regular</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerLua</name>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"212\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"215\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"218\"/>\n        <source>Line comment</source>\n        <translation>Comentario de línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"221\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"224\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"227\"/>\n        <source>String</source>\n        <translation>Cadena de caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"230\"/>\n        <source>Character</source>\n        <translation>Carácter</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"233\"/>\n        <source>Literal string</source>\n        <translation>Cadena literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"236\"/>\n        <source>Preprocessor</source>\n        <translation>Preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"239\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"242\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"245\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"248\"/>\n        <source>Basic functions</source>\n        <translation>Funciones basicas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"251\"/>\n        <source>String, table and maths functions</source>\n        <translation>Funcines de cadena, tabla y matemáticas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"254\"/>\n        <source>Coroutines, i/o and system facilities</source>\n        <translation>Co-rutinas, e/s y funciones del sistema</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"257\"/>\n        <source>User defined 1</source>\n        <translation>Definido por el usuario 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"260\"/>\n        <source>User defined 2</source>\n        <translation>Definido por el usuario 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"263\"/>\n        <source>User defined 3</source>\n        <translation>Definido por el usuario 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"266\"/>\n        <source>User defined 4</source>\n        <translation>Definido por el usuario 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"269\"/>\n        <source>Label</source>\n        <translation>Etiqueta</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMakefile</name>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"111\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"114\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"117\"/>\n        <source>Preprocessor</source>\n        <translation>Preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"120\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"123\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"126\"/>\n        <source>Target</source>\n        <translation>Objetivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"129\"/>\n        <source>Error</source>\n        <translation>Error</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMarkdown</name>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"207\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"210\"/>\n        <source>Special</source>\n        <translation>Especial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"213\"/>\n        <source>Strong emphasis using double asterisks</source>\n        <translation>Énfasis fuerte usando doble asterisco</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"216\"/>\n        <source>Strong emphasis using double underscores</source>\n        <translation>Énfasis fuerte usando doble guión bajo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"219\"/>\n        <source>Emphasis using single asterisks</source>\n        <translation>Énfasis usando asterisco sencillo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"222\"/>\n        <source>Emphasis using single underscores</source>\n        <translation>Énfasis usando guión bajo sencillo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"225\"/>\n        <source>Level 1 header</source>\n        <translation>Encabezado de nivel 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"228\"/>\n        <source>Level 2 header</source>\n        <translation>Encabezado de nivel 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"231\"/>\n        <source>Level 3 header</source>\n        <translation>Encabezado de nivel 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"234\"/>\n        <source>Level 4 header</source>\n        <translation>Encabezado de nivel 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"237\"/>\n        <source>Level 5 header</source>\n        <translation>Encabezado de nivel 5</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"240\"/>\n        <source>Level 6 header</source>\n        <translation>Encabezado de nivel 6</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"243\"/>\n        <source>Pre-char</source>\n        <translation>Pre-char</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"246\"/>\n        <source>Unordered list item</source>\n        <translation>Elemento de lista sin ordenar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"249\"/>\n        <source>Ordered list item</source>\n        <translation>Elemento de lista ordenada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"252\"/>\n        <source>Block quote</source>\n        <translation>Bloque de cita</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"255\"/>\n        <source>Strike out</source>\n        <translation>Tachar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"258\"/>\n        <source>Horizontal rule</source>\n        <translation>Regla horizontal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"261\"/>\n        <source>Link</source>\n        <translation>Enlace</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"264\"/>\n        <source>Code between backticks</source>\n        <translation>Código entre comillas hacia atrás</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"267\"/>\n        <source>Code between double backticks</source>\n        <translation>Código entre comillas hacia atrás dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"270\"/>\n        <source>Code block</source>\n        <translation>Bloque de código</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMatlab</name>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"118\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"121\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"124\"/>\n        <source>Command</source>\n        <translation>Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"127\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"130\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"133\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"136\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"139\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"142\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPO</name>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"84\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"87\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"90\"/>\n        <source>Message identifier</source>\n        <translation>Identificador de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"93\"/>\n        <source>Message identifier text</source>\n        <translation>Texto identificador de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"96\"/>\n        <source>Message string</source>\n        <translation>Cadena de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"99\"/>\n        <source>Message string text</source>\n        <translation>Texto de cadena de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"102\"/>\n        <source>Message context</source>\n        <translation>Contexto de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"105\"/>\n        <source>Message context text</source>\n        <translation>Texto de contexto de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"108\"/>\n        <source>Fuzzy flag</source>\n        <translation>Señalador difuso</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"111\"/>\n        <source>Programmer comment</source>\n        <translation>Comentario de programador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"114\"/>\n        <source>Reference</source>\n        <translation>Referencia</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"117\"/>\n        <source>Flags</source>\n        <translation>Señaladores</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"120\"/>\n        <source>Message identifier text end-of-line</source>\n        <translation>Fin de línea de texto identificador de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"123\"/>\n        <source>Message string text end-of-line</source>\n        <translation>Fin de línea de texto de cadena de mensaje</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"126\"/>\n        <source>Message context text end-of-line</source>\n        <translation>Fin de línea de texto de contexto de mensaje</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPOV</name>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"262\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"265\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"268\"/>\n        <source>Comment line</source>\n        <translation>Línea de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"271\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"274\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"277\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"280\"/>\n        <source>String</source>\n        <translation>Cadena de caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"283\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"286\"/>\n        <source>Directive</source>\n        <translation>Directiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"289\"/>\n        <source>Bad directive</source>\n        <translation>Mala directiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"292\"/>\n        <source>Objects, CSG and appearance</source>\n        <translation>Objetos, CSG y apariencia</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"295\"/>\n        <source>Types, modifiers and items</source>\n        <translation>Tipos, modificadores y elementos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"298\"/>\n        <source>Predefined identifiers</source>\n        <translation>Identificadores predefinidos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"301\"/>\n        <source>Predefined functions</source>\n        <translation>Funciones predefinidas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"304\"/>\n        <source>User defined 1</source>\n        <translation>Definido por el usuario 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"307\"/>\n        <source>User defined 2</source>\n        <translation>Definido por el usuario 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"310\"/>\n        <source>User defined 3</source>\n        <translation>Definido por el usuario 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPascal</name>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"241\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"253\"/>\n        <source>Line comment</source>\n        <translation>Comentario de línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"262\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"268\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"271\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"280\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"244\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"247\"/>\n        <source>&apos;{ ... }&apos; style comment</source>\n        <translation>Comentario de estilo &apos;{ ... }&apos; </translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"250\"/>\n        <source>&apos;(* ... *)&apos; style comment</source>\n        <translation>Comentario de estilo &apos;(* ... *)&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"256\"/>\n        <source>&apos;{$ ... }&apos; style pre-processor block</source>\n        <translation>Bloque de preprocesador de estilo &apos;{$ ... }&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"259\"/>\n        <source>&apos;(*$ ... *)&apos; style pre-processor block</source>\n        <translation>Bloque de preprocesador de estilo &apos;(*$ ... *)&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"265\"/>\n        <source>Hexadecimal number</source>\n        <translation>Número hexadecimal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"274\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"277\"/>\n        <source>Character</source>\n        <translation>Carácter</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"283\"/>\n        <source>Inline asm</source>\n        <translation>asm inline </translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPerl</name>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"313\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"316\"/>\n        <source>Error</source>\n        <translation>Error</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"319\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"322\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"325\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"328\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"331\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"334\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"337\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"340\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"343\"/>\n        <source>Scalar</source>\n        <translation>Escalar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"346\"/>\n        <source>Array</source>\n        <translation>Array</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"349\"/>\n        <source>Hash</source>\n        <translation>Hash</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"352\"/>\n        <source>Symbol table</source>\n        <translation>Tabla de símbolos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"355\"/>\n        <source>Regular expression</source>\n        <translation>Expresión regular</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"358\"/>\n        <source>Substitution</source>\n        <translation>Sustitución</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"361\"/>\n        <source>Backticks</source>\n        <translation>Comilla inversa</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"364\"/>\n        <source>Data section</source>\n        <translation>Sección de datos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"367\"/>\n        <source>Here document delimiter</source>\n        <translation>Delimitador de documento integrado (here document)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"370\"/>\n        <source>Single-quoted here document</source>\n        <translation>Documento integrado (here document) con comilla simple</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"373\"/>\n        <source>Double-quoted here document</source>\n        <translation>Documento integrado (here document) con comilla doble</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"376\"/>\n        <source>Backtick here document</source>\n        <translation>Documento integrado (here document) con comilla inversa</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"379\"/>\n        <source>Quoted string (q)</source>\n        <translation>Cadena con comillas (q)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"382\"/>\n        <source>Quoted string (qq)</source>\n        <translation>Cadena con comillas (qq)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"385\"/>\n        <source>Quoted string (qx)</source>\n        <translation>Cadena con comillas (qx)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"388\"/>\n        <source>Quoted string (qr)</source>\n        <translation>Cadena con comillas (qr)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"391\"/>\n        <source>Quoted string (qw)</source>\n        <translation>Cadena con comillas (qw)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"394\"/>\n        <source>POD verbatim</source>\n        <translation>POD textual</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"397\"/>\n        <source>Subroutine prototype</source>\n        <translation>Prototipo de subrutina</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"400\"/>\n        <source>Format identifier</source>\n        <translation>Identificador de formato</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"403\"/>\n        <source>Format body</source>\n        <translation>Cuerpo de formato</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"406\"/>\n        <source>Double-quoted string (interpolated variable)</source>\n        <translation>Cadena con doble comilla (variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"409\"/>\n        <source>Translation</source>\n        <translation>Traducción</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"412\"/>\n        <source>Regular expression (interpolated variable)</source>\n        <translation>Expresión regular (variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"415\"/>\n        <source>Substitution (interpolated variable)</source>\n        <translation>Substitución (variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"418\"/>\n        <source>Backticks (interpolated variable)</source>\n        <translation>Comilla hacia atrás (variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"421\"/>\n        <source>Double-quoted here document (interpolated variable)</source>\n        <translation>Here document con comilla doble (variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"424\"/>\n        <source>Backtick here document (interpolated variable)</source>\n        <translation>Here document con comilla hacia atrás (variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"427\"/>\n        <source>Quoted string (qq, interpolated variable)</source>\n        <translation>Cadena entrecomillada (qq, variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"430\"/>\n        <source>Quoted string (qx, interpolated variable)</source>\n        <translation>Cadena entrecomillada (qx, variable interpolada)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"433\"/>\n        <source>Quoted string (qr, interpolated variable)</source>\n        <translation>Cadena entrecomillada (qr, variable interpolada)</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPostScript</name>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"244\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"247\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"250\"/>\n        <source>DSC comment</source>\n        <translation>Comentario DSC</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"253\"/>\n        <source>DSC comment value</source>\n        <translation>Valor de comentario DSC</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"256\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"259\"/>\n        <source>Name</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"262\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"265\"/>\n        <source>Literal</source>\n        <translation>Literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"268\"/>\n        <source>Immediately evaluated literal</source>\n        <translation>Literal de evaluación inmediata</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"271\"/>\n        <source>Array parenthesis</source>\n        <translation>Paréntesis de array</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"274\"/>\n        <source>Dictionary parenthesis</source>\n        <translation>Paréntesis de diccionario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"277\"/>\n        <source>Procedure parenthesis</source>\n        <translation>Paréntesis de procedimiento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"280\"/>\n        <source>Text</source>\n        <translation>Texto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"283\"/>\n        <source>Hexadecimal string</source>\n        <translation>Cadena hexadecimal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"286\"/>\n        <source>Base85 string</source>\n        <translation>Cadena Base85</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"289\"/>\n        <source>Bad string character</source>\n        <translation>Carácter de cadena mala</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerProperties</name>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"105\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"108\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"111\"/>\n        <source>Section</source>\n        <translation>Sección</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"114\"/>\n        <source>Assignment</source>\n        <translation>Asignación</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"117\"/>\n        <source>Default value</source>\n        <translation>Valor por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"120\"/>\n        <source>Key</source>\n        <translation>Clave</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPython</name>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"223\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"226\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"229\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"232\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"235\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"238\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"241\"/>\n        <source>Triple single-quoted string</source>\n        <translation>Cadena con triple comilla simple</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"244\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Cadena con triple comilla doble</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"247\"/>\n        <source>Class name</source>\n        <translation>Nombre de clase</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"250\"/>\n        <source>Function or method name</source>\n        <translation>Nombre de método o función</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"253\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"256\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"259\"/>\n        <source>Comment block</source>\n        <translation>Bloque de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"262\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"265\"/>\n        <source>Highlighted identifier</source>\n        <translation>Identificador resaltado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"268\"/>\n        <source>Decorator</source>\n        <translation>Decorador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"271\"/>\n        <source>Double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"274\"/>\n        <source>Single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"277\"/>\n        <source>Triple single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"280\"/>\n        <source>Triple double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerRuby</name>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"233\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"239\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"245\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"251\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"254\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"248\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"257\"/>\n        <source>Class name</source>\n        <translation>Nombre de clase</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"260\"/>\n        <source>Function or method name</source>\n        <translation>Nombre de método o función</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"263\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"266\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"236\"/>\n        <source>Error</source>\n        <translation>Error</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"242\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"269\"/>\n        <source>Regular expression</source>\n        <translation>Expresión regular</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"272\"/>\n        <source>Global</source>\n        <translation>Global</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"275\"/>\n        <source>Symbol</source>\n        <translation>Símbolo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"278\"/>\n        <source>Module name</source>\n        <translation>Nombre de módulo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"281\"/>\n        <source>Instance variable</source>\n        <translation>Variable de instancia</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"284\"/>\n        <source>Class variable</source>\n        <translation>Variable de clase</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"287\"/>\n        <source>Backticks</source>\n        <translation>Comilla inversa</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"290\"/>\n        <source>Data section</source>\n        <translation>Sección de datos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"293\"/>\n        <source>Here document delimiter</source>\n        <translation>Delimitador de documento integrado (here document)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"296\"/>\n        <source>Here document</source>\n        <translation>Documento integrado (here document)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"299\"/>\n        <source>%q string</source>\n        <translation>Cadena %q</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"302\"/>\n        <source>%Q string</source>\n        <translation>Cadena %Q</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"305\"/>\n        <source>%x string</source>\n        <translation>Cadena %x</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"308\"/>\n        <source>%r string</source>\n        <translation>Cadena %r</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"311\"/>\n        <source>%w string</source>\n        <translation>Cadena %w</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"314\"/>\n        <source>Demoted keyword</source>\n        <translation>Palabra clave degradada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"317\"/>\n        <source>stdin</source>\n        <translation>stdin</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"320\"/>\n        <source>stdout</source>\n        <translation>stdout</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"323\"/>\n        <source>stderr</source>\n        <translation>stderr</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSQL</name>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"254\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"263\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"266\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"272\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadena con comillas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"281\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"284\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"257\"/>\n        <source>Comment line</source>\n        <translation>Línea de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"260\"/>\n        <source>JavaDoc style comment</source>\n        <translation>Comentario de estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"269\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadena con comillas dobles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"275\"/>\n        <source>SQL*Plus keyword</source>\n        <translation>Palabra clave SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"278\"/>\n        <source>SQL*Plus prompt</source>\n        <translation>Prompt SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"287\"/>\n        <source>SQL*Plus comment</source>\n        <translation>Comentario SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"290\"/>\n        <source># comment line</source>\n        <translation># línea de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"293\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Palabra clave de Javadoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"296\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Error en palabra clave de Javadoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"299\"/>\n        <source>User defined 1</source>\n        <translation>Definido por el usuario 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"302\"/>\n        <source>User defined 2</source>\n        <translation>Definido por el usuario 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"305\"/>\n        <source>User defined 3</source>\n        <translation>Definido por el usuario 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"308\"/>\n        <source>User defined 4</source>\n        <translation>Definido por el usuario 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"311\"/>\n        <source>Quoted identifier</source>\n        <translation>Identificador entrecomillado</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"314\"/>\n        <source>Quoted operator</source>\n        <translation>Operador entrecomillado</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSpice</name>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"151\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"154\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"157\"/>\n        <source>Command</source>\n        <translation>Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"160\"/>\n        <source>Function</source>\n        <translation>Función</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"163\"/>\n        <source>Parameter</source>\n        <translation>Parámetro</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"166\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"169\"/>\n        <source>Delimiter</source>\n        <translation>Delimitador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"172\"/>\n        <source>Value</source>\n        <translation>Valor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"175\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTCL</name>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"277\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"280\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"283\"/>\n        <source>Comment line</source>\n        <translation>Línea de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"286\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"289\"/>\n        <source>Quoted keyword</source>\n        <translation>Palabra clave entrecomillada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"292\"/>\n        <source>Quoted string</source>\n        <translation>Cadena entrecomillada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"295\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"298\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"301\"/>\n        <source>Substitution</source>\n        <translation>Sustitución</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"304\"/>\n        <source>Brace substitution</source>\n        <translation>Sustitución de corchetes</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"307\"/>\n        <source>Modifier</source>\n        <translation>Modificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"310\"/>\n        <source>Expand keyword</source>\n        <translation>Expandir palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"313\"/>\n        <source>TCL keyword</source>\n        <translation>Palabra clave TCL</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"316\"/>\n        <source>Tk keyword</source>\n        <translation>Palabra clave Tk</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"319\"/>\n        <source>iTCL keyword</source>\n        <translation>Palabra clave iTCL</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"322\"/>\n        <source>Tk command</source>\n        <translation>Comando Tk</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"325\"/>\n        <source>User defined 1</source>\n        <translation>Definido por el usuario 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"328\"/>\n        <source>User defined 2</source>\n        <translation>Definido por el usuario 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"331\"/>\n        <source>User defined 3</source>\n        <translation>Definido por el usuario 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"334\"/>\n        <source>User defined 4</source>\n        <translation>Definido por el usuario 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"337\"/>\n        <source>Comment box</source>\n        <translation>Caja de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"340\"/>\n        <source>Comment block</source>\n        <translation>Bloque de comentario</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTeX</name>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"172\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"175\"/>\n        <source>Special</source>\n        <translation>Especial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"178\"/>\n        <source>Group</source>\n        <translation>Grupo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"181\"/>\n        <source>Symbol</source>\n        <translation>Símbolo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"184\"/>\n        <source>Command</source>\n        <translation>Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"187\"/>\n        <source>Text</source>\n        <translation>Texto</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVHDL</name>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"192\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"195\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"198\"/>\n        <source>Comment line</source>\n        <translation>Línea de comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"201\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"204\"/>\n        <source>String</source>\n        <translation>Cadena de caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"207\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"210\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"213\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"216\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"219\"/>\n        <source>Standard operator</source>\n        <translation>Operador estándar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"222\"/>\n        <source>Attribute</source>\n        <translation>Atributo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"225\"/>\n        <source>Standard function</source>\n        <translation>Función estándar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"228\"/>\n        <source>Standard package</source>\n        <translation>Paquete estándar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"231\"/>\n        <source>Standard type</source>\n        <translation>Tipo estándar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"234\"/>\n        <source>User defined</source>\n        <translation>Definido por el usuario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"237\"/>\n        <source>Comment block</source>\n        <translation>Bloque de comentario</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVerilog</name>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"281\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"284\"/>\n        <source>Inactive default</source>\n        <translation>Inactivo por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"287\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"290\"/>\n        <source>Inactive comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"293\"/>\n        <source>Line comment</source>\n        <translation>Comentario de línea</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"296\"/>\n        <source>Inactive line comment</source>\n        <translation>Línea de comentario inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"299\"/>\n        <source>Bang comment</source>\n        <translation>Comentario Bang</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"302\"/>\n        <source>Inactive bang comment</source>\n        <translation>Comentario Bang inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"305\"/>\n        <source>Number</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"308\"/>\n        <source>Inactive number</source>\n        <translation>Número inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"311\"/>\n        <source>Primary keywords and identifiers</source>\n        <translation>Identificadores y palabras clave primarios</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"314\"/>\n        <source>Inactive primary keywords and identifiers</source>\n        <translation>Palabras clave primarias e identificadores inactivos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"317\"/>\n        <source>String</source>\n        <translation>Cadena</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"320\"/>\n        <source>Inactive string</source>\n        <translation>Cadena inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"323\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Palabras clave e identificadores secundarios</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"326\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\">Identificadores y palabras clave secundarios inactivos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"329\"/>\n        <source>System task</source>\n        <translation>Tarea de sistema</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"332\"/>\n        <source>Inactive system task</source>\n        <translation>Tarea de sistema inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"335\"/>\n        <source>Preprocessor block</source>\n        <translation>Bloque de preprocesador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"338\"/>\n        <source>Inactive preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"341\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"344\"/>\n        <source>Inactive operator</source>\n        <translation>Operador inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"347\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"350\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\">Identificador inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"353\"/>\n        <source>Unclosed string</source>\n        <translation>Cadena sin cerrar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"356\"/>\n        <source>Inactive unclosed string</source>\n        <translation>Cadena sin cerrar inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"359\"/>\n        <source>User defined tasks and identifiers</source>\n        <translation>Tareas definidas por el usuario e identificadores</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"362\"/>\n        <source>Inactive user defined tasks and identifiers</source>\n        <translation>Tareas definidas por el usuario e identificadores inactivos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"365\"/>\n        <source>Keyword comment</source>\n        <translation>Comentario de palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"368\"/>\n        <source>Inactive keyword comment</source>\n        <translation>Comentario de palabra clave inactiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"371\"/>\n        <source>Input port declaration</source>\n        <translation>Declaración de puerto de input</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"374\"/>\n        <source>Inactive input port declaration</source>\n        <translation>Declaración de puerto de input inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"377\"/>\n        <source>Output port declaration</source>\n        <translation>Declaración de puerto de output</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"380\"/>\n        <source>Inactive output port declaration</source>\n        <translation>Declaración de puerto de output inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"383\"/>\n        <source>Input/output port declaration</source>\n        <translation>Declaración de puerto de input/output inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"386\"/>\n        <source>Inactive input/output port declaration</source>\n        <translation>Declaración de puerto de input/output inactivo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"389\"/>\n        <source>Port connection</source>\n        <translation>Conexión de puerto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"392\"/>\n        <source>Inactive port connection</source>\n        <translation>Conexión inactiva de puerto</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerYAML</name>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"155\"/>\n        <source>Default</source>\n        <translation>Por defecto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"158\"/>\n        <source>Comment</source>\n        <translation>Comentario</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"161\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"164\"/>\n        <source>Keyword</source>\n        <translation>Palabra clave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"167\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"170\"/>\n        <source>Reference</source>\n        <translation>Referencia</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"173\"/>\n        <source>Document delimiter</source>\n        <translation>Delimitador de documento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"176\"/>\n        <source>Text block marker</source>\n        <translation>Marcador de bloque de texto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"179\"/>\n        <source>Syntax error marker</source>\n        <translation>Marcador de error de sintaxis</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"182\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4455\"/>\n        <source>&amp;Undo</source>\n        <translation>&amp;Deshacer</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4459\"/>\n        <source>&amp;Redo</source>\n        <translation>&amp;Rehacer</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4465\"/>\n        <source>Cu&amp;t</source>\n        <translation>Cor&amp;tar</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4470\"/>\n        <source>&amp;Copy</source>\n        <translation>&amp;Copiar</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4476\"/>\n        <source>&amp;Paste</source>\n        <translation>&amp;Pegar</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4480\"/>\n        <source>Delete</source>\n        <translation>Borrar</translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4487\"/>\n        <source>Select All</source>\n        <translation>Seleccionar todo</translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/qscint/src/qscintilla_fr.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\" language=\"en_GB\">\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"44\"/>\n        <source>Move down one line</source>\n        <translation>Déplacement d&apos;une ligne vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"54\"/>\n        <source>Extend selection down one line</source>\n        <translation>Extension de la sélection d&apos;une ligne vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"71\"/>\n        <source>Scroll view down one line</source>\n        <translation>Decendre la vue d&apos;une ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"64\"/>\n        <source>Extend rectangular selection down one line</source>\n        <translation>Extension de la sélection rectangulaire d&apos;une ligne vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"81\"/>\n        <source>Move up one line</source>\n        <translation>Déplacement d&apos;une ligne vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"91\"/>\n        <source>Extend selection up one line</source>\n        <translation>Extension de la sélection d&apos;une ligne vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"108\"/>\n        <source>Scroll view up one line</source>\n        <translation>Remonter la vue d&apos;une ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"101\"/>\n        <source>Extend rectangular selection up one line</source>\n        <translation>Extension de la sélection rectangulaire d&apos;une ligne vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"158\"/>\n        <source>Move up one paragraph</source>\n        <translation>Déplacement d&apos;un paragraphe vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"164\"/>\n        <source>Extend selection up one paragraph</source>\n        <translation>Extension de la sélection d&apos;un paragraphe vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"145\"/>\n        <source>Move down one paragraph</source>\n        <translation>Déplacement d&apos;un paragraphe vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"118\"/>\n        <source>Scroll to start of document</source>\n        <translation>Remonter au début du document</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"128\"/>\n        <source>Scroll to end of document</source>\n        <translation>Descendre à la fin du document</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"138\"/>\n        <source>Scroll vertically to centre current line</source>\n        <translation>Défiler verticalement pour centrer la ligne courante</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"151\"/>\n        <source>Extend selection down one paragraph</source>\n        <translation>Extension de la sélection d&apos;un paragraphe vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"175\"/>\n        <source>Move left one character</source>\n        <translation>Déplacement d&apos;un caractère vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"185\"/>\n        <source>Extend selection left one character</source>\n        <translation>Extension de la sélection d&apos;un caractère vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"239\"/>\n        <source>Move left one word</source>\n        <translation>Déplacement d&apos;un mot vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"249\"/>\n        <source>Extend selection left one word</source>\n        <translation>Extension de la sélection d&apos;un mot vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"196\"/>\n        <source>Extend rectangular selection left one character</source>\n        <translation>Extension de la sélection rectangulaire d&apos;un caractère vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"207\"/>\n        <source>Move right one character</source>\n        <translation>Déplacement d&apos;un caractère vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"217\"/>\n        <source>Extend selection right one character</source>\n        <translation>Extension de la sélection d&apos;un caractère vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"259\"/>\n        <source>Move right one word</source>\n        <translation>Déplacement d&apos;un mot vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"265\"/>\n        <source>Extend selection right one word</source>\n        <translation>Extension de la sélection d&apos;un mot vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"228\"/>\n        <source>Extend rectangular selection right one character</source>\n        <translation>Extension de la sélection rectangulaire d&apos;un caractère vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"271\"/>\n        <source>Move to end of previous word</source>\n        <translation>Déplacement vers fin du mot précédent</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"277\"/>\n        <source>Extend selection to end of previous word</source>\n        <translation>Extension de la sélection vers fin du mot précédent</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"288\"/>\n        <source>Move to end of next word</source>\n        <translation>Déplacement vers fin du mot suivant</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"298\"/>\n        <source>Extend selection to end of next word</source>\n        <translation>Extension de la sélection vers fin du mot suivant</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"305\"/>\n        <source>Move left one word part</source>\n        <translation>Déplacement d&apos;une part de mot vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"311\"/>\n        <source>Extend selection left one word part</source>\n        <translation>Extension de la sélection d&apos;une part de mot vers la gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"318\"/>\n        <source>Move right one word part</source>\n        <translation>Déplacement d&apos;une part de mot vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"324\"/>\n        <source>Extend selection right one word part</source>\n        <translation>Extension de la sélection d&apos;une part de mot vers la droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"554\"/>\n        <source>Move up one page</source>\n        <translation>Déplacement d&apos;une page vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"560\"/>\n        <source>Extend selection up one page</source>\n        <translation>Extension de la sélection d&apos;une page vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"566\"/>\n        <source>Extend rectangular selection up one page</source>\n        <translation>Extension de la sélection rectangulaire d&apos;une page vers le haut</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"577\"/>\n        <source>Move down one page</source>\n        <translation>Déplacement d&apos;une page vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"587\"/>\n        <source>Extend selection down one page</source>\n        <translation>Extension de la sélection d&apos;une page vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"597\"/>\n        <source>Extend rectangular selection down one page</source>\n        <translation>Extension de la sélection rectangulaire d&apos;une page vers le bas</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"634\"/>\n        <source>Delete current character</source>\n        <translation>Effacement du caractère courant</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"764\"/>\n        <source>Cut selection</source>\n        <translation>Couper la sélection</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"663\"/>\n        <source>Delete word to right</source>\n        <translation>Suppression du mot de droite</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"335\"/>\n        <source>Move to start of document line</source>\n        <translation>Déplacement vers début de ligne du document</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"345\"/>\n        <source>Extend selection to start of document line</source>\n        <translation>Extension de la sélection vers début de ligne du document</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"356\"/>\n        <source>Extend rectangular selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"367\"/>\n        <source>Move to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"377\"/>\n        <source>Extend selection to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"384\"/>\n        <source>Move to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"391\"/>\n        <source>Extend selection to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"402\"/>\n        <source>Move to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"413\"/>\n        <source>Extend selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"424\"/>\n        <source>Extend rectangular selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"431\"/>\n        <source>Move to first visible character of display in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"438\"/>\n        <source>Extend selection to first visible character in display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"449\"/>\n        <source>Move to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"459\"/>\n        <source>Extend selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"470\"/>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"481\"/>\n        <source>Move to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"491\"/>\n        <source>Extend selection to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"498\"/>\n        <source>Move to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"505\"/>\n        <source>Extend selection to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"516\"/>\n        <source>Move to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"526\"/>\n        <source>Extend selection to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"537\"/>\n        <source>Move to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"547\"/>\n        <source>Extend selection to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"604\"/>\n        <source>Stuttered move up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"610\"/>\n        <source>Stuttered extend selection up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"617\"/>\n        <source>Stuttered move down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"623\"/>\n        <source>Stuttered extend selection down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"650\"/>\n        <source>Delete previous character if not at start of line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"673\"/>\n        <source>Delete right to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"690\"/>\n        <source>Delete line to right</source>\n        <translation>Suppression de la partie droite de la ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"714\"/>\n        <source>Transpose current and previous lines</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"721\"/>\n        <source>Duplicate the current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"727\"/>\n        <source>Select all</source>\n        <oldsource>Select document</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"733\"/>\n        <source>Move selected lines up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"739\"/>\n        <source>Move selected lines down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"782\"/>\n        <source>Toggle insert/overtype</source>\n        <translation>Basculement Insertion /Ecrasement</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"776\"/>\n        <source>Paste</source>\n        <translation>Coller</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"770\"/>\n        <source>Copy selection</source>\n        <translation>Copier la sélection</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"788\"/>\n        <source>Insert newline</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"806\"/>\n        <source>De-indent one level</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"812\"/>\n        <source>Cancel</source>\n        <translation>Annuler</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"644\"/>\n        <source>Delete previous character</source>\n        <translation>Suppression du dernier caractère</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"657\"/>\n        <source>Delete word to left</source>\n        <translation>Suppression du mot de gauche</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"680\"/>\n        <source>Delete line to left</source>\n        <translation>Effacer la partie gauche de la ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"818\"/>\n        <source>Undo last command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"828\"/>\n        <source>Redo last command</source>\n        <translation>Refaire la dernière commande</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"800\"/>\n        <source>Indent one level</source>\n        <translation>Indentation d&apos;un niveau</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"834\"/>\n        <source>Zoom in</source>\n        <translation>Zoom avant</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"840\"/>\n        <source>Zoom out</source>\n        <translation>Zoom arrière</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"794\"/>\n        <source>Formfeed</source>\n        <translation>Chargement de la page</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"702\"/>\n        <source>Cut current line</source>\n        <translation>Couper la ligne courante</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"696\"/>\n        <source>Delete current line</source>\n        <translation>Suppression de la ligne courante</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"708\"/>\n        <source>Copy current line</source>\n        <translation>Copier la ligne courante</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"752\"/>\n        <source>Convert selection to lower case</source>\n        <translation>Conversion de la ligne courante en minuscules</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"758\"/>\n        <source>Convert selection to upper case</source>\n        <translation>Conversion de la ligne courante en majuscules</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"746\"/>\n        <source>Duplicate selection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerAVS</name>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"275\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"278\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\">Block de commentaires</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"281\"/>\n        <source>Nested block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"284\"/>\n        <source>Line comment</source>\n        <translation>Commentaire de ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"287\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"296\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"299\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Chaine de caractères HTML (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"302\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"305\"/>\n        <source>Filter</source>\n        <translation>Filtre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"308\"/>\n        <source>Plugin</source>\n        <translation>Extension</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"311\"/>\n        <source>Function</source>\n        <translation>Fonction</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"314\"/>\n        <source>Clip property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"317\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\">Définition utilisateur</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBash</name>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"188\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"191\"/>\n        <source>Error</source>\n        <translation>Erreur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"194\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"197\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"200\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"203\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"206\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"209\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"212\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"215\"/>\n        <source>Scalar</source>\n        <translation>Scalaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"218\"/>\n        <source>Parameter expansion</source>\n        <translation>Extension de paramètre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"221\"/>\n        <source>Backticks</source>\n        <translation>Quotes inverses</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"224\"/>\n        <source>Here document delimiter</source>\n        <translation>Ici délimiteur de document</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"227\"/>\n        <source>Single-quoted here document</source>\n        <translation>Document intégré guillemets simples</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBatch</name>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"159\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"162\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"165\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"168\"/>\n        <source>Label</source>\n        <translation>Titre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"171\"/>\n        <source>Hide command character</source>\n        <translation>Cacher le caratère de commande</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"174\"/>\n        <source>External command</source>\n        <translation>Commande externe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"177\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"180\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCMake</name>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"175\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"178\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"181\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"184\"/>\n        <source>Left quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"187\"/>\n        <source>Right quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"190\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\">Fonction</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"193\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"196\"/>\n        <source>Label</source>\n        <translation>Titre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"199\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\">Définition utilisateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"202\"/>\n        <source>WHILE block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"205\"/>\n        <source>FOREACH block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"208\"/>\n        <source>IF block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"211\"/>\n        <source>MACRO block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"214\"/>\n        <source>Variable within a string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"217\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCPP</name>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"349\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"352\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"355\"/>\n        <source>C comment</source>\n        <translation>Commentaire C</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"358\"/>\n        <source>Inactive C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"361\"/>\n        <source>C++ comment</source>\n        <translation>Commentaire C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"364\"/>\n        <source>Inactive C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"367\"/>\n        <source>JavaDoc style C comment</source>\n        <translation>Commentaire C de style JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"370\"/>\n        <source>Inactive JavaDoc style C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"373\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"376\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"379\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"382\"/>\n        <source>Inactive keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"385\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"388\"/>\n        <source>Inactive double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"391\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"394\"/>\n        <source>Inactive single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"397\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"400\"/>\n        <source>Inactive IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"403\"/>\n        <source>Pre-processor block</source>\n        <translation>Instructions de pré-processing</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"406\"/>\n        <source>Inactive pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"409\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"412\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"415\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"418\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"421\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"424\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"427\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"430\"/>\n        <source>Inactive C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"433\"/>\n        <source>JavaScript regular expression</source>\n        <translation>Expression régulière JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"436\"/>\n        <source>Inactive JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"439\"/>\n        <source>JavaDoc style C++ comment</source>\n        <translation>Commentaire C++ de style JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"442\"/>\n        <source>Inactive JavaDoc style C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"445\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Seconds mots-clés et identificateurs</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"448\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"451\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Mot-clé JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"454\"/>\n        <source>Inactive JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"457\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Erreur de mot-clé JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"460\"/>\n        <source>Inactive JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"463\"/>\n        <source>Global classes and typedefs</source>\n        <translation>Classes globales et définitions de types</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"466\"/>\n        <source>Inactive global classes and typedefs</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"469\"/>\n        <source>C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"472\"/>\n        <source>Inactive C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"475\"/>\n        <source>Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"478\"/>\n        <source>Inactive Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"481\"/>\n        <source>Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"484\"/>\n        <source>Inactive Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"487\"/>\n        <source>Pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"490\"/>\n        <source>Inactive pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"493\"/>\n        <source>JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"496\"/>\n        <source>Inactive JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"499\"/>\n        <source>User-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"502\"/>\n        <source>Inactive user-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"505\"/>\n        <source>Task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"508\"/>\n        <source>Inactive task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"511\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\">Séquence d&apos;échappement</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"514\"/>\n        <source>Inactive escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSS</name>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"217\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"220\"/>\n        <source>Tag</source>\n        <translation>Balise</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"223\"/>\n        <source>Class selector</source>\n        <translation>Classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"226\"/>\n        <source>Pseudo-class</source>\n        <translation>Pseudo-classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"229\"/>\n        <source>Unknown pseudo-class</source>\n        <translation>Peudo-classe inconnue</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"232\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"235\"/>\n        <source>CSS1 property</source>\n        <translation>Propriété CSS1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"238\"/>\n        <source>Unknown property</source>\n        <translation>Propriété inconnue</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"241\"/>\n        <source>Value</source>\n        <translation>Valeur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"244\"/>\n        <source>ID selector</source>\n        <translation>ID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"247\"/>\n        <source>Important</source>\n        <translation>Important</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"250\"/>\n        <source>@-rule</source>\n        <translation>règle-@</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"253\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"256\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"259\"/>\n        <source>CSS2 property</source>\n        <translation>Propriété CSS2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"262\"/>\n        <source>Attribute</source>\n        <translation>Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"265\"/>\n        <source>CSS3 property</source>\n        <translation>Propriété CSS3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"268\"/>\n        <source>Pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"271\"/>\n        <source>Extended CSS property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"274\"/>\n        <source>Extended pseudo-class</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"277\"/>\n        <source>Extended pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"280\"/>\n        <source>Media rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"283\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSharp</name>\n    <message>\n        <location filename=\"qscilexercsharp.cpp\" line=\"90\"/>\n        <source>Verbatim string</source>\n        <translation>Chaine verbatim</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCoffeeScript</name>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"243\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"246\"/>\n        <source>C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"249\"/>\n        <source>C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"252\"/>\n        <source>JavaDoc C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"255\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"258\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"261\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"264\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"267\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"270\"/>\n        <source>Pre-processor block</source>\n        <translation>Instructions de pré-processing</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"273\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"276\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"279\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"282\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"285\"/>\n        <source>Regular expression</source>\n        <translation>Expression régulière</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"288\"/>\n        <source>JavaDoc C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"291\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Seconds mots-clés et identificateurs</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"294\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Mot-clé JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"297\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Erreur de mot-clé JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"300\"/>\n        <source>Global classes</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"303\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\">Block de commentaires</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"306\"/>\n        <source>Block regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"309\"/>\n        <source>Block regular expression comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"312\"/>\n        <source>Instance property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerD</name>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"254\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\">Block de commentaires</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"257\"/>\n        <source>Line comment</source>\n        <translation>Commentaire de ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"260\"/>\n        <source>DDoc style block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"263\"/>\n        <source>Nesting comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"266\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"269\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"272\"/>\n        <source>Secondary keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"275\"/>\n        <source>Documentation keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"278\"/>\n        <source>Type definition</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"281\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"284\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"287\"/>\n        <source>Character</source>\n        <translation>Caractère</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"296\"/>\n        <source>DDoc style line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"299\"/>\n        <source>DDoc keyword</source>\n        <translation>Mot-clé DDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"302\"/>\n        <source>DDoc keyword error</source>\n        <translation>Erreur de mot-clé DDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"305\"/>\n        <source>Backquoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"308\"/>\n        <source>Raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"311\"/>\n        <source>User defined 1</source>\n        <translation>Définition utilisateur 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"314\"/>\n        <source>User defined 2</source>\n        <translation>Définition utilisateur 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"317\"/>\n        <source>User defined 3</source>\n        <translation>Définition utilisateur 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerDiff</name>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"91\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"94\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"97\"/>\n        <source>Command</source>\n        <translation>Commande</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"100\"/>\n        <source>Header</source>\n        <translation>En-tête</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"103\"/>\n        <source>Position</source>\n        <translation>Position</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"106\"/>\n        <source>Removed line</source>\n        <translation>Ligne supprimée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"109\"/>\n        <source>Added line</source>\n        <translation>Ligne ajoutée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"112\"/>\n        <source>Changed line</source>\n        <translation>Ligne changée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"115\"/>\n        <source>Added adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"118\"/>\n        <source>Removed adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"121\"/>\n        <source>Added removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"124\"/>\n        <source>Removed removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerEDIFACT</name>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"79\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"82\"/>\n        <source>Segment start</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"85\"/>\n        <source>Segment end</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"88\"/>\n        <source>Element separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"91\"/>\n        <source>Composite separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"94\"/>\n        <source>Release separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"97\"/>\n        <source>UNA segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"100\"/>\n        <source>UNH segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"103\"/>\n        <source>Badly formed segment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerFortran77</name>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"170\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"173\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"176\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"179\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"182\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"185\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"188\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"191\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"194\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"197\"/>\n        <source>Intrinsic function</source>\n        <translation>Fonction intrinsèque</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"200\"/>\n        <source>Extended function</source>\n        <translation>Fonction étendue</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"203\"/>\n        <source>Pre-processor block</source>\n        <translation>Instructions de pré-processing</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"206\"/>\n        <source>Dotted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"209\"/>\n        <source>Label</source>\n        <translation>Titre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"212\"/>\n        <source>Continuation</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerHTML</name>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"548\"/>\n        <source>HTML default</source>\n        <translation>HTML par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"551\"/>\n        <source>Tag</source>\n        <translation>Balise</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"554\"/>\n        <source>Unknown tag</source>\n        <translation>Balise inconnue</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"557\"/>\n        <source>Attribute</source>\n        <translation>Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"560\"/>\n        <source>Unknown attribute</source>\n        <translation>Attribut inconnu</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"563\"/>\n        <source>HTML number</source>\n        <translation>Nombre HTML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"566\"/>\n        <source>HTML double-quoted string</source>\n        <translation>Chaine de caractères HTML (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"569\"/>\n        <source>HTML single-quoted string</source>\n        <translation>Chaine de caractères HTML (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"572\"/>\n        <source>Other text in a tag</source>\n        <translation>Autre texte dans les balises</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"575\"/>\n        <source>HTML comment</source>\n        <translation>Commentaire HTML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"578\"/>\n        <source>Entity</source>\n        <translation>Entité</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"581\"/>\n        <source>End of a tag</source>\n        <translation>Balise fermante</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"584\"/>\n        <source>Start of an XML fragment</source>\n        <translation>Début de block XML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"587\"/>\n        <source>End of an XML fragment</source>\n        <translation>Fin de block XML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"590\"/>\n        <source>Script tag</source>\n        <translation>Balise de script</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"593\"/>\n        <source>Start of an ASP fragment with @</source>\n        <translation>Début de block ASP avec @</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"596\"/>\n        <source>Start of an ASP fragment</source>\n        <translation>Début de block ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"599\"/>\n        <source>CDATA</source>\n        <translation>CDATA</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"602\"/>\n        <source>Start of a PHP fragment</source>\n        <translation>Début de block PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"605\"/>\n        <source>Unquoted HTML value</source>\n        <translation>Valeur HTML sans guillemets</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"608\"/>\n        <source>ASP X-Code comment</source>\n        <translation>Commentaire X-Code ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"611\"/>\n        <source>SGML default</source>\n        <translation>SGML par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"614\"/>\n        <source>SGML command</source>\n        <translation>Commande SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"617\"/>\n        <source>First parameter of an SGML command</source>\n        <translation>Premier paramètre de commande SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"620\"/>\n        <source>SGML double-quoted string</source>\n        <translation>Chaine de caractères SGML (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"623\"/>\n        <source>SGML single-quoted string</source>\n        <translation>Chaine de caractères SGML (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"626\"/>\n        <source>SGML error</source>\n        <translation>Erreur SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"629\"/>\n        <source>SGML special entity</source>\n        <translation>Entité SGML spéciale</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"632\"/>\n        <source>SGML comment</source>\n        <translation>Commentaire SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"635\"/>\n        <source>First parameter comment of an SGML command</source>\n        <translation>Premier paramètre de commentaire de commande SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"638\"/>\n        <source>SGML block default</source>\n        <translation>Block SGML par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"641\"/>\n        <source>Start of a JavaScript fragment</source>\n        <translation>Début de block JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"644\"/>\n        <source>JavaScript default</source>\n        <translation>JavaScript par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"647\"/>\n        <source>JavaScript comment</source>\n        <translation>Commentaire JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"650\"/>\n        <source>JavaScript line comment</source>\n        <translation>Commentaire de ligne JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"653\"/>\n        <source>JavaDoc style JavaScript comment</source>\n        <translation>Commentaire JavaScript de style JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"656\"/>\n        <source>JavaScript number</source>\n        <translation>Nombre JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"659\"/>\n        <source>JavaScript word</source>\n        <translation>Mot JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"662\"/>\n        <source>JavaScript keyword</source>\n        <translation>Mot-clé JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"665\"/>\n        <source>JavaScript double-quoted string</source>\n        <translation>Chaine de caractères JavaScript (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"668\"/>\n        <source>JavaScript single-quoted string</source>\n        <translation>Chaine de caractères JavaScript (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"671\"/>\n        <source>JavaScript symbol</source>\n        <translation>Symbole JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"674\"/>\n        <source>JavaScript unclosed string</source>\n        <translation>Chaine de caractères JavaScript non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"677\"/>\n        <source>JavaScript regular expression</source>\n        <translation>Expression régulière JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"680\"/>\n        <source>Start of an ASP JavaScript fragment</source>\n        <translation>Début de block JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"683\"/>\n        <source>ASP JavaScript default</source>\n        <translation>JavaScript ASP par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"686\"/>\n        <source>ASP JavaScript comment</source>\n        <translation>Commentaire JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"689\"/>\n        <source>ASP JavaScript line comment</source>\n        <translation>Commentaire de ligne JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"692\"/>\n        <source>JavaDoc style ASP JavaScript comment</source>\n        <translation>Commentaire JavaScript ASP de style JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"695\"/>\n        <source>ASP JavaScript number</source>\n        <translation>Nombre JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"698\"/>\n        <source>ASP JavaScript word</source>\n        <translation>Mot JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"701\"/>\n        <source>ASP JavaScript keyword</source>\n        <translation>Mot-clé JavaScript ASP </translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"704\"/>\n        <source>ASP JavaScript double-quoted string</source>\n        <translation>Chaine de caractères JavaScript ASP (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"707\"/>\n        <source>ASP JavaScript single-quoted string</source>\n        <translation>Chaine de caractères JavaScript ASP (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"710\"/>\n        <source>ASP JavaScript symbol</source>\n        <translation>Symbole JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"713\"/>\n        <source>ASP JavaScript unclosed string</source>\n        <translation>Chaine de caractères JavaScript ASP non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"716\"/>\n        <source>ASP JavaScript regular expression</source>\n        <translation>Expression régulière JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"719\"/>\n        <source>Start of a VBScript fragment</source>\n        <translation>Début de block VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"722\"/>\n        <source>VBScript default</source>\n        <translation>VBScript par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"725\"/>\n        <source>VBScript comment</source>\n        <translation>Commentaire VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"728\"/>\n        <source>VBScript number</source>\n        <translation>Nombre VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"731\"/>\n        <source>VBScript keyword</source>\n        <translation>Mot-clé VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"734\"/>\n        <source>VBScript string</source>\n        <translation>Chaine de caractères VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"737\"/>\n        <source>VBScript identifier</source>\n        <translation>Identificateur VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"740\"/>\n        <source>VBScript unclosed string</source>\n        <translation>Chaine de caractères VBScript non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"743\"/>\n        <source>Start of an ASP VBScript fragment</source>\n        <translation>Début de block VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"746\"/>\n        <source>ASP VBScript default</source>\n        <translation>VBScript ASP par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"749\"/>\n        <source>ASP VBScript comment</source>\n        <translation>Commentaire VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"752\"/>\n        <source>ASP VBScript number</source>\n        <translation>Nombre VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"755\"/>\n        <source>ASP VBScript keyword</source>\n        <translation>Mot-clé VBScript ASP </translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"758\"/>\n        <source>ASP VBScript string</source>\n        <translation>Chaine de caractères VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"761\"/>\n        <source>ASP VBScript identifier</source>\n        <translation>Identificateur VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"764\"/>\n        <source>ASP VBScript unclosed string</source>\n        <translation>Chaine de caractères VBScript ASP non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"767\"/>\n        <source>Start of a Python fragment</source>\n        <translation>Début de block Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"770\"/>\n        <source>Python default</source>\n        <translation>Python par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"773\"/>\n        <source>Python comment</source>\n        <translation>Commentaire Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"776\"/>\n        <source>Python number</source>\n        <translation>Nombre Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"779\"/>\n        <source>Python double-quoted string</source>\n        <translation>Chaine de caractères Python (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"782\"/>\n        <source>Python single-quoted string</source>\n        <translation>Chaine de caractères Python (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"785\"/>\n        <source>Python keyword</source>\n        <translation>Mot-clé Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"788\"/>\n        <source>Python triple double-quoted string</source>\n        <translation>Chaine de caractères Python (triples guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"791\"/>\n        <source>Python triple single-quoted string</source>\n        <translation>Chaine de caractères Python (triples guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"794\"/>\n        <source>Python class name</source>\n        <translation>Nom de classe Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"797\"/>\n        <source>Python function or method name</source>\n        <translation>Méthode ou fonction Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"800\"/>\n        <source>Python operator</source>\n        <translation>Opérateur Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"803\"/>\n        <source>Python identifier</source>\n        <translation>Identificateur Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"806\"/>\n        <source>Start of an ASP Python fragment</source>\n        <translation>Début de block Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"809\"/>\n        <source>ASP Python default</source>\n        <translation>Python ASP par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"812\"/>\n        <source>ASP Python comment</source>\n        <translation>Commentaire Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"815\"/>\n        <source>ASP Python number</source>\n        <translation>Nombre Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"818\"/>\n        <source>ASP Python double-quoted string</source>\n        <translation>Chaine de caractères Python ASP (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"821\"/>\n        <source>ASP Python single-quoted string</source>\n        <translation>Chaine de caractères Python ASP (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"824\"/>\n        <source>ASP Python keyword</source>\n        <translation>Mot-clé Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"827\"/>\n        <source>ASP Python triple double-quoted string</source>\n        <translation>Chaine de caractères Python ASP (triples guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"830\"/>\n        <source>ASP Python triple single-quoted string</source>\n        <translation>Chaine de caractères Python ASP (triples guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"833\"/>\n        <source>ASP Python class name</source>\n        <translation>Nom de classe Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"836\"/>\n        <source>ASP Python function or method name</source>\n        <translation>Méthode ou fonction Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"839\"/>\n        <source>ASP Python operator</source>\n        <translation>Opérateur Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"842\"/>\n        <source>ASP Python identifier</source>\n        <translation>Identificateur Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"845\"/>\n        <source>PHP default</source>\n        <translation>PHP par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"848\"/>\n        <source>PHP double-quoted string</source>\n        <translation>Chaine de caractères PHP (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"851\"/>\n        <source>PHP single-quoted string</source>\n        <translation>Chaine de caractères PHP (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"854\"/>\n        <source>PHP keyword</source>\n        <translation>Mot-clé PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"857\"/>\n        <source>PHP number</source>\n        <translation>Nombre PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"860\"/>\n        <source>PHP variable</source>\n        <translation>Variable PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"863\"/>\n        <source>PHP comment</source>\n        <translation>Commentaire PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"866\"/>\n        <source>PHP line comment</source>\n        <translation>Commentaire de ligne PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"869\"/>\n        <source>PHP double-quoted variable</source>\n        <translation>Variable PHP (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"872\"/>\n        <source>PHP operator</source>\n        <translation>Opérateur PHP</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerIDL</name>\n    <message>\n        <location filename=\"qscilexeridl.cpp\" line=\"82\"/>\n        <source>UUID</source>\n        <translation>UUID</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJSON</name>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"145\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"148\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"151\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"154\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"157\"/>\n        <source>Property</source>\n        <translation>Propriété</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"160\"/>\n        <source>Escape sequence</source>\n        <translation>Séquence d&apos;échappement</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"163\"/>\n        <source>Line comment</source>\n        <translation>Commentaire de ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"166\"/>\n        <source>Block comment</source>\n        <translation>Block de commentaires</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"169\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"172\"/>\n        <source>IRI</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"175\"/>\n        <source>JSON-LD compact IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"178\"/>\n        <source>JSON keyword</source>\n        <translation>Mot-clé JSON</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"181\"/>\n        <source>JSON-LD keyword</source>\n        <translation>Mot-clé JSON-LD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"184\"/>\n        <source>Parsing error</source>\n        <translation>Erreur d&apos;analyse</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJavaScript</name>\n    <message>\n        <location filename=\"qscilexerjavascript.cpp\" line=\"92\"/>\n        <source>Regular expression</source>\n        <translation>Expression régulière</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerLua</name>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"212\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"215\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"218\"/>\n        <source>Line comment</source>\n        <translation>Commentaire de ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"221\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"224\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"227\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"230\"/>\n        <source>Character</source>\n        <translation>Caractère</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"233\"/>\n        <source>Literal string</source>\n        <translation>Chaîne littérale</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"236\"/>\n        <source>Preprocessor</source>\n        <translation>Préprocessing</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"239\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"242\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"245\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"248\"/>\n        <source>Basic functions</source>\n        <translation>Fonctions de base</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"251\"/>\n        <source>String, table and maths functions</source>\n        <translation>Fonctions sur les chaines, tables et fonctions math</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"254\"/>\n        <source>Coroutines, i/o and system facilities</source>\n        <translation>Coroutines, i/o et fonctions système</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"257\"/>\n        <source>User defined 1</source>\n        <translation>Définition utilisateur 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"260\"/>\n        <source>User defined 2</source>\n        <translation>Définition utilisateur 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"263\"/>\n        <source>User defined 3</source>\n        <translation>Définition utilisateur 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"266\"/>\n        <source>User defined 4</source>\n        <translation>Définition utilisateur 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"269\"/>\n        <source>Label</source>\n        <translation>Titre</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMakefile</name>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"111\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"114\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"117\"/>\n        <source>Preprocessor</source>\n        <translation>Préprocessing</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"120\"/>\n        <source>Variable</source>\n        <translation>Variable</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"123\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"126\"/>\n        <source>Target</source>\n        <translation>Cible</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"129\"/>\n        <source>Error</source>\n        <translation>Erreur</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMarkdown</name>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"207\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"210\"/>\n        <source>Special</source>\n        <translation>Spécial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"213\"/>\n        <source>Strong emphasis using double asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"216\"/>\n        <source>Strong emphasis using double underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"219\"/>\n        <source>Emphasis using single asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"222\"/>\n        <source>Emphasis using single underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"225\"/>\n        <source>Level 1 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"228\"/>\n        <source>Level 2 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"231\"/>\n        <source>Level 3 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"234\"/>\n        <source>Level 4 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"237\"/>\n        <source>Level 5 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"240\"/>\n        <source>Level 6 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"243\"/>\n        <source>Pre-char</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"246\"/>\n        <source>Unordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"249\"/>\n        <source>Ordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"252\"/>\n        <source>Block quote</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"255\"/>\n        <source>Strike out</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"258\"/>\n        <source>Horizontal rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"261\"/>\n        <source>Link</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"264\"/>\n        <source>Code between backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"267\"/>\n        <source>Code between double backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"270\"/>\n        <source>Code block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMatlab</name>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"118\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"121\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"124\"/>\n        <source>Command</source>\n        <translation>Commande</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"127\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"130\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"133\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"136\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"139\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"142\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPO</name>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"84\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"87\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"90\"/>\n        <source>Message identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"93\"/>\n        <source>Message identifier text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"96\"/>\n        <source>Message string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"99\"/>\n        <source>Message string text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"102\"/>\n        <source>Message context</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"105\"/>\n        <source>Message context text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"108\"/>\n        <source>Fuzzy flag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"111\"/>\n        <source>Programmer comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"114\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\">Référence</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"117\"/>\n        <source>Flags</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"120\"/>\n        <source>Message identifier text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"123\"/>\n        <source>Message string text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"126\"/>\n        <source>Message context text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPOV</name>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"262\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"265\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"268\"/>\n        <source>Comment line</source>\n        <translation>Ligne commentée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"271\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"274\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"277\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"280\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"283\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"286\"/>\n        <source>Directive</source>\n        <translation>Directive</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"289\"/>\n        <source>Bad directive</source>\n        <translation>Mauvaise directive</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"292\"/>\n        <source>Objects, CSG and appearance</source>\n        <translation>Objets, CSG et apparence</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"295\"/>\n        <source>Types, modifiers and items</source>\n        <translation>Types, modifieurs et éléments</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"298\"/>\n        <source>Predefined identifiers</source>\n        <translation>Identifiants prédéfinis</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"301\"/>\n        <source>Predefined functions</source>\n        <translation>Fonctions prédéfinies</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"304\"/>\n        <source>User defined 1</source>\n        <translation>Définition utilisateur 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"307\"/>\n        <source>User defined 2</source>\n        <translation>Définition utilisateur 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"310\"/>\n        <source>User defined 3</source>\n        <translation>Définition utilisateur 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPascal</name>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"241\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"253\"/>\n        <source>Line comment</source>\n        <translation>Commentaire de ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"262\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"268\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"271\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"280\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"244\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"247\"/>\n        <source>&apos;{ ... }&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"250\"/>\n        <source>&apos;(* ... *)&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"256\"/>\n        <source>&apos;{$ ... }&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"259\"/>\n        <source>&apos;(*$ ... *)&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"265\"/>\n        <source>Hexadecimal number</source>\n        <translation>Nombre hexadécimal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"274\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"277\"/>\n        <source>Character</source>\n        <translation>Caractère</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"283\"/>\n        <source>Inline asm</source>\n        <translation>Asm en ligne</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPerl</name>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"313\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"316\"/>\n        <source>Error</source>\n        <translation>Erreur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"319\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"322\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"325\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"328\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"331\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"334\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"337\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"340\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"343\"/>\n        <source>Scalar</source>\n        <translation>Scalaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"346\"/>\n        <source>Array</source>\n        <translation>Tableau</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"349\"/>\n        <source>Hash</source>\n        <translation>Hashage</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"352\"/>\n        <source>Symbol table</source>\n        <translation>Table de symboles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"355\"/>\n        <source>Regular expression</source>\n        <translation>Expression régulière</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"358\"/>\n        <source>Substitution</source>\n        <translation>Substitution</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"361\"/>\n        <source>Backticks</source>\n        <translation>Quotes inverses</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"364\"/>\n        <source>Data section</source>\n        <translation>Section de données</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"367\"/>\n        <source>Here document delimiter</source>\n        <translation>Ici délimiteur de document</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"370\"/>\n        <source>Single-quoted here document</source>\n        <translation>Document intégré guillemets simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"373\"/>\n        <source>Double-quoted here document</source>\n        <translation>Document intégré guillemets doubles</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"376\"/>\n        <source>Backtick here document</source>\n        <translation>Document intégré quotes inverses</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"379\"/>\n        <source>Quoted string (q)</source>\n        <translation>Chaine quotée (q)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"382\"/>\n        <source>Quoted string (qq)</source>\n        <translation>Chaine quotée (qq)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"385\"/>\n        <source>Quoted string (qx)</source>\n        <translation>Chaine quotée (qx)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"388\"/>\n        <source>Quoted string (qr)</source>\n        <translation>Chaine quotée (qr)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"391\"/>\n        <source>Quoted string (qw)</source>\n        <translation>Chaine quotée (qw)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"394\"/>\n        <source>POD verbatim</source>\n        <translation>POD verbatim</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"397\"/>\n        <source>Subroutine prototype</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"400\"/>\n        <source>Format identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"403\"/>\n        <source>Format body</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"406\"/>\n        <source>Double-quoted string (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"409\"/>\n        <source>Translation</source>\n        <translation>Traduction</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"412\"/>\n        <source>Regular expression (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"415\"/>\n        <source>Substitution (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"418\"/>\n        <source>Backticks (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"421\"/>\n        <source>Double-quoted here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"424\"/>\n        <source>Backtick here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"427\"/>\n        <source>Quoted string (qq, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"430\"/>\n        <source>Quoted string (qx, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"433\"/>\n        <source>Quoted string (qr, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPostScript</name>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"244\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"247\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"250\"/>\n        <source>DSC comment</source>\n        <translation>Commentaire DSC</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"253\"/>\n        <source>DSC comment value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"256\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"259\"/>\n        <source>Name</source>\n        <translation>Nom</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"262\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"265\"/>\n        <source>Literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"268\"/>\n        <source>Immediately evaluated literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"271\"/>\n        <source>Array parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"274\"/>\n        <source>Dictionary parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"277\"/>\n        <source>Procedure parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"280\"/>\n        <source>Text</source>\n        <translation>Texte</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"283\"/>\n        <source>Hexadecimal string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"286\"/>\n        <source>Base85 string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"289\"/>\n        <source>Bad string character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerProperties</name>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"105\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"108\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"111\"/>\n        <source>Section</source>\n        <translation>Section</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"114\"/>\n        <source>Assignment</source>\n        <translation>Affectation</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"117\"/>\n        <source>Default value</source>\n        <translation>Valeur par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"120\"/>\n        <source>Key</source>\n        <translation>Clé</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPython</name>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"223\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"226\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"229\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"232\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"235\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"238\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"241\"/>\n        <source>Triple single-quoted string</source>\n        <translation>Chaine de caractères HTML (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"244\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Chaine de caractères HTML (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"247\"/>\n        <source>Class name</source>\n        <translation>Nom de classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"250\"/>\n        <source>Function or method name</source>\n        <translation>Nom de méthode ou de fonction</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"253\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"256\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"259\"/>\n        <source>Comment block</source>\n        <translation>Block de commentaires</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"262\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"265\"/>\n        <source>Highlighted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"268\"/>\n        <source>Decorator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"271\"/>\n        <source>Double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"274\"/>\n        <source>Single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"277\"/>\n        <source>Triple single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"280\"/>\n        <source>Triple double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerRuby</name>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"233\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"239\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"245\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"251\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"254\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"248\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"257\"/>\n        <source>Class name</source>\n        <translation>Nom de classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"260\"/>\n        <source>Function or method name</source>\n        <translation>Nom de méthode ou de fonction</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"263\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"266\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"236\"/>\n        <source>Error</source>\n        <translation>Erreur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"242\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"269\"/>\n        <source>Regular expression</source>\n        <translation>Expression régulière</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"272\"/>\n        <source>Global</source>\n        <translation>Global</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"275\"/>\n        <source>Symbol</source>\n        <translation>Symbole</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"278\"/>\n        <source>Module name</source>\n        <translation>Nom de module</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"281\"/>\n        <source>Instance variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"284\"/>\n        <source>Class variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"287\"/>\n        <source>Backticks</source>\n        <translation>Quotes inverses</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"290\"/>\n        <source>Data section</source>\n        <translation>Section de données</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"293\"/>\n        <source>Here document delimiter</source>\n        <translation>Ici délimiteur de document</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"296\"/>\n        <source>Here document</source>\n        <translation>Ici document</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"299\"/>\n        <source>%q string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"302\"/>\n        <source>%Q string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"305\"/>\n        <source>%x string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"308\"/>\n        <source>%r string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"311\"/>\n        <source>%w string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"314\"/>\n        <source>Demoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"317\"/>\n        <source>stdin</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"320\"/>\n        <source>stdout</source>\n        <translation></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"323\"/>\n        <source>stderr</source>\n        <translation></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSQL</name>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"254\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"263\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"266\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"272\"/>\n        <source>Single-quoted string</source>\n        <translation>Chaine de caractères (guillemets simples)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"281\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"284\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"257\"/>\n        <source>Comment line</source>\n        <translation>Ligne commentée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"260\"/>\n        <source>JavaDoc style comment</source>\n        <translation>Commentaire style JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"269\"/>\n        <source>Double-quoted string</source>\n        <translation>Chaine de caractères (guillemets doubles)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"275\"/>\n        <source>SQL*Plus keyword</source>\n        <translation>Mot-clé SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"278\"/>\n        <source>SQL*Plus prompt</source>\n        <translation>Prompt SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"287\"/>\n        <source>SQL*Plus comment</source>\n        <translation>Commentaire SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"290\"/>\n        <source># comment line</source>\n        <translation># Ligne commentée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"293\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Mot-clé JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"296\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Erreur de mot-clé JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"299\"/>\n        <source>User defined 1</source>\n        <translation>Définition utilisateur 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"302\"/>\n        <source>User defined 2</source>\n        <translation>Définition utilisateur 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"305\"/>\n        <source>User defined 3</source>\n        <translation>Définition utilisateur 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"308\"/>\n        <source>User defined 4</source>\n        <translation>Définition utilisateur 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"311\"/>\n        <source>Quoted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"314\"/>\n        <source>Quoted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSpice</name>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"151\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"154\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"157\"/>\n        <source>Command</source>\n        <translation>Commande</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"160\"/>\n        <source>Function</source>\n        <translation>Fonction</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"163\"/>\n        <source>Parameter</source>\n        <translation>Paramètre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"166\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"169\"/>\n        <source>Delimiter</source>\n        <translation>Délimiteur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"172\"/>\n        <source>Value</source>\n        <translation>Valeur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"175\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTCL</name>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"277\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"280\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"283\"/>\n        <source>Comment line</source>\n        <translation>Ligne commentée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"286\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"289\"/>\n        <source>Quoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"292\"/>\n        <source>Quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"295\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"298\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"301\"/>\n        <source>Substitution</source>\n        <translation>Substitution</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"304\"/>\n        <source>Brace substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"307\"/>\n        <source>Modifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"310\"/>\n        <source>Expand keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"313\"/>\n        <source>TCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"316\"/>\n        <source>Tk keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"319\"/>\n        <source>iTCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"322\"/>\n        <source>Tk command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"325\"/>\n        <source>User defined 1</source>\n        <translation>Définition utilisateur 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"328\"/>\n        <source>User defined 2</source>\n        <translation>Définition utilisateur 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"331\"/>\n        <source>User defined 3</source>\n        <translation>Définition utilisateur 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"334\"/>\n        <source>User defined 4</source>\n        <translation>Définition utilisateur 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"337\"/>\n        <source>Comment box</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"340\"/>\n        <source>Comment block</source>\n        <translation>Block de commentaires</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTeX</name>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"172\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"175\"/>\n        <source>Special</source>\n        <translation>Spécial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"178\"/>\n        <source>Group</source>\n        <translation>Groupe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"181\"/>\n        <source>Symbol</source>\n        <translation>Symbole</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"184\"/>\n        <source>Command</source>\n        <translation>Commande</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"187\"/>\n        <source>Text</source>\n        <translation>Texte</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVHDL</name>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"192\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"195\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"198\"/>\n        <source>Comment line</source>\n        <translation>Ligne commentée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"201\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"204\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"207\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"210\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"213\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"216\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"219\"/>\n        <source>Standard operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"222\"/>\n        <source>Attribute</source>\n        <translation>Attribut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"225\"/>\n        <source>Standard function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"228\"/>\n        <source>Standard package</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"231\"/>\n        <source>Standard type</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"234\"/>\n        <source>User defined</source>\n        <translation>Définition utilisateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"237\"/>\n        <source>Comment block</source>\n        <translation>Block de commentaires</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVerilog</name>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"281\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"284\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"287\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"290\"/>\n        <source>Inactive comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"293\"/>\n        <source>Line comment</source>\n        <translation>Commentaire de ligne</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"296\"/>\n        <source>Inactive line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"299\"/>\n        <source>Bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"302\"/>\n        <source>Inactive bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"305\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"308\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"311\"/>\n        <source>Primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"314\"/>\n        <source>Inactive primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"317\"/>\n        <source>String</source>\n        <translation>Chaîne de caractères</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"320\"/>\n        <source>Inactive string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"323\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Seconds mots-clés et identificateurs</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"326\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"329\"/>\n        <source>System task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"332\"/>\n        <source>Inactive system task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"335\"/>\n        <source>Preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"338\"/>\n        <source>Inactive preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"341\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"344\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"347\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"350\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"353\"/>\n        <source>Unclosed string</source>\n        <translation>Chaine de caractères non refermée</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"356\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"359\"/>\n        <source>User defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"362\"/>\n        <source>Inactive user defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"365\"/>\n        <source>Keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"368\"/>\n        <source>Inactive keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"371\"/>\n        <source>Input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"374\"/>\n        <source>Inactive input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"377\"/>\n        <source>Output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"380\"/>\n        <source>Inactive output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"383\"/>\n        <source>Input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"386\"/>\n        <source>Inactive input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"389\"/>\n        <source>Port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"392\"/>\n        <source>Inactive port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerYAML</name>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"155\"/>\n        <source>Default</source>\n        <translation>Par défaut</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"158\"/>\n        <source>Comment</source>\n        <translation>Commentaire</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"161\"/>\n        <source>Identifier</source>\n        <translation>Identificateur</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"164\"/>\n        <source>Keyword</source>\n        <translation>Mot-clé</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"167\"/>\n        <source>Number</source>\n        <translation>Nombre</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"170\"/>\n        <source>Reference</source>\n        <translation>Référence</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"173\"/>\n        <source>Document delimiter</source>\n        <translation>Délimiteur de document</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"176\"/>\n        <source>Text block marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"179\"/>\n        <source>Syntax error marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"182\"/>\n        <source>Operator</source>\n        <translation>Opérateur</translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4455\"/>\n        <source>&amp;Undo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4459\"/>\n        <source>&amp;Redo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4465\"/>\n        <source>Cu&amp;t</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4470\"/>\n        <source>&amp;Copy</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4476\"/>\n        <source>&amp;Paste</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4480\"/>\n        <source>Delete</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4487\"/>\n        <source>Select All</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/qscint/src/qscintilla_pt_br.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\">\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"44\"/>\n        <source>Move down one line</source>\n        <translation>Mover uma linha para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"54\"/>\n        <source>Extend selection down one line</source>\n        <translation>Extender a seleção uma linha para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"71\"/>\n        <source>Scroll view down one line</source>\n        <translation>Descer a visão uma linha para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"64\"/>\n        <source>Extend rectangular selection down one line</source>\n        <translation>Extender a seleção retangular uma linha para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"81\"/>\n        <source>Move up one line</source>\n        <translation>Mover uma linha para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"91\"/>\n        <source>Extend selection up one line</source>\n        <translation>Extender a seleção uma linha para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"108\"/>\n        <source>Scroll view up one line</source>\n        <translation>Subir a visão uma linha para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"101\"/>\n        <source>Extend rectangular selection up one line</source>\n        <translation>Extender a seleção retangular uma linha para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"158\"/>\n        <source>Move up one paragraph</source>\n        <translation>Mover um paragrafo para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"164\"/>\n        <source>Extend selection up one paragraph</source>\n        <translation>Extender a seleção um paragrafo para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"145\"/>\n        <source>Move down one paragraph</source>\n        <translation>Mover um paragrafo para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"118\"/>\n        <source>Scroll to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"128\"/>\n        <source>Scroll to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"138\"/>\n        <source>Scroll vertically to centre current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"151\"/>\n        <source>Extend selection down one paragraph</source>\n        <translation>Extender a seleção  um paragrafo para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"175\"/>\n        <source>Move left one character</source>\n        <translation>Mover um caractere para a esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"185\"/>\n        <source>Extend selection left one character</source>\n        <translation>Extender a seleção um caractere para esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"239\"/>\n        <source>Move left one word</source>\n        <translation>Mover uma palavra para esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"249\"/>\n        <source>Extend selection left one word</source>\n        <translation>Extender a seleção uma palavra para esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"196\"/>\n        <source>Extend rectangular selection left one character</source>\n        <translation>Extender a seleção retangular um caractere para esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"207\"/>\n        <source>Move right one character</source>\n        <translation>Mover um caractere para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"217\"/>\n        <source>Extend selection right one character</source>\n        <translation>Extender a seleção um caractere para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"259\"/>\n        <source>Move right one word</source>\n        <translation>Mover uma palavra para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"265\"/>\n        <source>Extend selection right one word</source>\n        <translation>Extender a seleção uma palavra para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"228\"/>\n        <source>Extend rectangular selection right one character</source>\n        <translation>Extender a seleção retangular um caractere para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"271\"/>\n        <source>Move to end of previous word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"277\"/>\n        <source>Extend selection to end of previous word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"288\"/>\n        <source>Move to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"298\"/>\n        <source>Extend selection to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"305\"/>\n        <source>Move left one word part</source>\n        <translation>Mover uma parte da palavra para esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"311\"/>\n        <source>Extend selection left one word part</source>\n        <translation>Extender a seleção uma parte de palavra para esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"318\"/>\n        <source>Move right one word part</source>\n        <translation>Mover uma parte da palavra para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"324\"/>\n        <source>Extend selection right one word part</source>\n        <translation>Extender a seleção uma parte de palavra para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"554\"/>\n        <source>Move up one page</source>\n        <translation>Mover uma página para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"560\"/>\n        <source>Extend selection up one page</source>\n        <translation>Extender a seleção uma página para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"566\"/>\n        <source>Extend rectangular selection up one page</source>\n        <translation>Extender a seleção retangular uma página para cima</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"577\"/>\n        <source>Move down one page</source>\n        <translation>Mover uma página para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"587\"/>\n        <source>Extend selection down one page</source>\n        <translation>Extender a seleção uma página para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"597\"/>\n        <source>Extend rectangular selection down one page</source>\n        <translation>Extender a seleção retangular uma página para baixo</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"634\"/>\n        <source>Delete current character</source>\n        <translation>Excluir caractere atual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"764\"/>\n        <source>Cut selection</source>\n        <translation>Recortar seleção</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"663\"/>\n        <source>Delete word to right</source>\n        <translation>Excluir palavra para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"335\"/>\n        <source>Move to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"345\"/>\n        <source>Extend selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"356\"/>\n        <source>Extend rectangular selection to start of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"367\"/>\n        <source>Move to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"377\"/>\n        <source>Extend selection to start of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"384\"/>\n        <source>Move to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"391\"/>\n        <source>Extend selection to start of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"402\"/>\n        <source>Move to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"413\"/>\n        <source>Extend selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"424\"/>\n        <source>Extend rectangular selection to first visible character in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"431\"/>\n        <source>Move to first visible character of display in document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"438\"/>\n        <source>Extend selection to first visible character in display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"449\"/>\n        <source>Move to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"459\"/>\n        <source>Extend selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"470\"/>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"481\"/>\n        <source>Move to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"491\"/>\n        <source>Extend selection to end of display line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"498\"/>\n        <source>Move to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"505\"/>\n        <source>Extend selection to end of display or document line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"516\"/>\n        <source>Move to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"526\"/>\n        <source>Extend selection to start of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"537\"/>\n        <source>Move to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"547\"/>\n        <source>Extend selection to end of document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"604\"/>\n        <source>Stuttered move up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"610\"/>\n        <source>Stuttered extend selection up one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"617\"/>\n        <source>Stuttered move down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"623\"/>\n        <source>Stuttered extend selection down one page</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"650\"/>\n        <source>Delete previous character if not at start of line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"673\"/>\n        <source>Delete right to end of next word</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"690\"/>\n        <source>Delete line to right</source>\n        <translation>Excluir linha para direita</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"714\"/>\n        <source>Transpose current and previous lines</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"721\"/>\n        <source>Duplicate the current line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"727\"/>\n        <source>Select all</source>\n        <oldsource>Select document</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"733\"/>\n        <source>Move selected lines up one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"739\"/>\n        <source>Move selected lines down one line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"782\"/>\n        <source>Toggle insert/overtype</source>\n        <translation>Alternar entre modo de inserir/sobreescrever</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"776\"/>\n        <source>Paste</source>\n        <translation>Copiar</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"770\"/>\n        <source>Copy selection</source>\n        <translation>Copiar seleção</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"788\"/>\n        <source>Insert newline</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"806\"/>\n        <source>De-indent one level</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"812\"/>\n        <source>Cancel</source>\n        <translation>Cancelar</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"644\"/>\n        <source>Delete previous character</source>\n        <translation>Excluir caractere anterior</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"657\"/>\n        <source>Delete word to left</source>\n        <translation>Excluir palavra a esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"680\"/>\n        <source>Delete line to left</source>\n        <translation>Excluir linha a esquerda</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"818\"/>\n        <source>Undo last command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"828\"/>\n        <source>Redo last command</source>\n        <translation>Refazer último comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"800\"/>\n        <source>Indent one level</source>\n        <translation>Indentar um nível</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"834\"/>\n        <source>Zoom in</source>\n        <translation>Aumentar zoom</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"840\"/>\n        <source>Zoom out</source>\n        <translation>Diminuir zoom</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"794\"/>\n        <source>Formfeed</source>\n        <translation>Alimentação da Página</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"702\"/>\n        <source>Cut current line</source>\n        <translation>Configurar linha atual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"696\"/>\n        <source>Delete current line</source>\n        <translation>Excluir linha atual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"708\"/>\n        <source>Copy current line</source>\n        <translation>Copiar linha atual</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"752\"/>\n        <source>Convert selection to lower case</source>\n        <translation>Converter a seleção para minúscula</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"758\"/>\n        <source>Convert selection to upper case</source>\n        <translation>Converter a seleção para maiúscula</translation>\n    </message>\n    <message>\n        <location filename=\"qscicommandset.cpp\" line=\"746\"/>\n        <source>Duplicate selection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerAVS</name>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"275\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"278\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"281\"/>\n        <source>Nested block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"284\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"287\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"296\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"299\"/>\n        <source>Triple double-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por três aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"302\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"305\"/>\n        <source>Filter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"308\"/>\n        <source>Plugin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"311\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"314\"/>\n        <source>Clip property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeravs.cpp\" line=\"317\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBash</name>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"188\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"191\"/>\n        <source>Error</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"194\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"197\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"200\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"203\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"206\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"209\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"212\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"215\"/>\n        <source>Scalar</source>\n        <translation>Escalar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"218\"/>\n        <source>Parameter expansion</source>\n        <translation>Parâmetro de Expansão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"221\"/>\n        <source>Backticks</source>\n        <translation>Aspas Invertidas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"224\"/>\n        <source>Here document delimiter</source>\n        <translation>Delimitador de &quot;here documents&quot;</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbash.cpp\" line=\"227\"/>\n        <source>Single-quoted here document</source>\n        <translation>&quot;here document&quot; envolvido por aspas simples</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerBatch</name>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"159\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"162\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"165\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"168\"/>\n        <source>Label</source>\n        <translation>Rótulo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"171\"/>\n        <source>Hide command character</source>\n        <translation>Esconder caractere de comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"174\"/>\n        <source>External command</source>\n        <translation>Comando externo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"177\"/>\n        <source>Variable</source>\n        <translation>Variável</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerbatch.cpp\" line=\"180\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCMake</name>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"175\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"178\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"181\"/>\n        <source>String</source>\n        <translation type=\"unfinished\">Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"184\"/>\n        <source>Left quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"187\"/>\n        <source>Right quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"190\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"193\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\">Variável</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"196\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\">Rótulo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"199\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"202\"/>\n        <source>WHILE block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"205\"/>\n        <source>FOREACH block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"208\"/>\n        <source>IF block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"211\"/>\n        <source>MACRO block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"214\"/>\n        <source>Variable within a string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercmake.cpp\" line=\"217\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCPP</name>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"349\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"352\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"355\"/>\n        <source>C comment</source>\n        <translation>Comentário C</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"358\"/>\n        <source>Inactive C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"361\"/>\n        <source>C++ comment</source>\n        <translation>Comentário C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"364\"/>\n        <source>Inactive C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"367\"/>\n        <source>JavaDoc style C comment</source>\n        <translation>Comentário JavaDoc estilo C</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"370\"/>\n        <source>Inactive JavaDoc style C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"373\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"376\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"379\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"382\"/>\n        <source>Inactive keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"385\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"388\"/>\n        <source>Inactive double-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"391\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"394\"/>\n        <source>Inactive single-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"397\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"400\"/>\n        <source>Inactive IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"403\"/>\n        <source>Pre-processor block</source>\n        <translation>Instruções de pré-processamento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"406\"/>\n        <source>Inactive pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"409\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"412\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"415\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"418\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"421\"/>\n        <source>Unclosed string</source>\n        <translation>Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"424\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"427\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"430\"/>\n        <source>Inactive C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"433\"/>\n        <source>JavaScript regular expression</source>\n        <translation type=\"unfinished\">Expressão regular JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"436\"/>\n        <source>Inactive JavaScript regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"439\"/>\n        <source>JavaDoc style C++ comment</source>\n        <translation>Comentário JavaDoc estilo C++</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"442\"/>\n        <source>Inactive JavaDoc style C++ comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"445\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation>Identificadores e palavras chave secundárias</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"448\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"451\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Palavra chave JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"454\"/>\n        <source>Inactive JavaDoc keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"457\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Erro de palavra chave do JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"460\"/>\n        <source>Inactive JavaDoc keyword error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"463\"/>\n        <source>Global classes and typedefs</source>\n        <translation>Classes e definições de tipo globais</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"466\"/>\n        <source>Inactive global classes and typedefs</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"469\"/>\n        <source>C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"472\"/>\n        <source>Inactive C++ raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"475\"/>\n        <source>Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"478\"/>\n        <source>Inactive Vala triple-quoted verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"481\"/>\n        <source>Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"484\"/>\n        <source>Inactive Pike hash-quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"487\"/>\n        <source>Pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"490\"/>\n        <source>Inactive pre-processor C comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"493\"/>\n        <source>JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"496\"/>\n        <source>Inactive JavaDoc style pre-processor comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"499\"/>\n        <source>User-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"502\"/>\n        <source>Inactive user-defined literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"505\"/>\n        <source>Task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"508\"/>\n        <source>Inactive task marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"511\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercpp.cpp\" line=\"514\"/>\n        <source>Inactive escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSS</name>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"217\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"220\"/>\n        <source>Tag</source>\n        <translation>Marcador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"223\"/>\n        <source>Class selector</source>\n        <translation>Seletor de classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"226\"/>\n        <source>Pseudo-class</source>\n        <translation>Pseudo-classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"229\"/>\n        <source>Unknown pseudo-class</source>\n        <translation>Pseudo-classe desconhecida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"232\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"235\"/>\n        <source>CSS1 property</source>\n        <translation>Propriedade CSS1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"238\"/>\n        <source>Unknown property</source>\n        <translation>Propriedade desconhecida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"241\"/>\n        <source>Value</source>\n        <translation>Valor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"244\"/>\n        <source>ID selector</source>\n        <translation>Seletor de ID</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"247\"/>\n        <source>Important</source>\n        <translation>Importante</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"250\"/>\n        <source>@-rule</source>\n        <translation>regra-@</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"253\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"256\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"259\"/>\n        <source>CSS2 property</source>\n        <translation>Propriedade CSS2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"262\"/>\n        <source>Attribute</source>\n        <translation>Atributo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"265\"/>\n        <source>CSS3 property</source>\n        <translation type=\"unfinished\">Propriedade CSS2 {3 ?}</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"268\"/>\n        <source>Pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"271\"/>\n        <source>Extended CSS property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"274\"/>\n        <source>Extended pseudo-class</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"277\"/>\n        <source>Extended pseudo-element</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"280\"/>\n        <source>Media rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercss.cpp\" line=\"283\"/>\n        <source>Variable</source>\n        <translation type=\"unfinished\">Variável</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCSharp</name>\n    <message>\n        <location filename=\"qscilexercsharp.cpp\" line=\"90\"/>\n        <source>Verbatim string</source>\n        <translation>Cadeia de caracteres no formato verbatim</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerCoffeeScript</name>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"243\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"246\"/>\n        <source>C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"249\"/>\n        <source>C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"252\"/>\n        <source>JavaDoc C-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"255\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"258\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"261\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"264\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"267\"/>\n        <source>IDL UUID</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"270\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\">Instruções de pré-processamento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"273\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"276\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"279\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"282\"/>\n        <source>C# verbatim string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"285\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\">Expressão Regular</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"288\"/>\n        <source>JavaDoc C++-style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"291\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\">Identificadores e palavras chave secundárias</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"294\"/>\n        <source>JavaDoc keyword</source>\n        <translation type=\"unfinished\">Palavra chave JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"297\"/>\n        <source>JavaDoc keyword error</source>\n        <translation type=\"unfinished\">Erro de palavra chave do JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"300\"/>\n        <source>Global classes</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"303\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"306\"/>\n        <source>Block regular expression</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"309\"/>\n        <source>Block regular expression comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexercoffeescript.cpp\" line=\"312\"/>\n        <source>Instance property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerD</name>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"254\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"257\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"260\"/>\n        <source>DDoc style block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"263\"/>\n        <source>Nesting comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"266\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"269\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"272\"/>\n        <source>Secondary keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"275\"/>\n        <source>Documentation keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"278\"/>\n        <source>Type definition</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"281\"/>\n        <source>String</source>\n        <translation type=\"unfinished\">Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"284\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"287\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\">Caractere</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"290\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"293\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"296\"/>\n        <source>DDoc style line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"299\"/>\n        <source>DDoc keyword</source>\n        <translation type=\"unfinished\">Palavra chave JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"302\"/>\n        <source>DDoc keyword error</source>\n        <translation type=\"unfinished\">Erro de palavra chave do JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"305\"/>\n        <source>Backquoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"308\"/>\n        <source>Raw string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"311\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\">Definição de usuário 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"314\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\">Definição de usuário 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerd.cpp\" line=\"317\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\">Definição de usuário 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerDiff</name>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"91\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"94\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"97\"/>\n        <source>Command</source>\n        <translation>Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"100\"/>\n        <source>Header</source>\n        <translation>Cabeçalho</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"103\"/>\n        <source>Position</source>\n        <translation>Posição</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"106\"/>\n        <source>Removed line</source>\n        <translation>Linha Removida</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"109\"/>\n        <source>Added line</source>\n        <translation>Linha Adicionada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"112\"/>\n        <source>Changed line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"115\"/>\n        <source>Added adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"118\"/>\n        <source>Removed adding patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"121\"/>\n        <source>Added removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerdiff.cpp\" line=\"124\"/>\n        <source>Removed removing patch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerEDIFACT</name>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"79\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"82\"/>\n        <source>Segment start</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"85\"/>\n        <source>Segment end</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"88\"/>\n        <source>Element separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"91\"/>\n        <source>Composite separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"94\"/>\n        <source>Release separator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"97\"/>\n        <source>UNA segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"100\"/>\n        <source>UNH segment header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeredifact.cpp\" line=\"103\"/>\n        <source>Badly formed segment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerFortran77</name>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"170\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"173\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"176\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"179\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"182\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"185\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"188\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"191\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"194\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"197\"/>\n        <source>Intrinsic function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"200\"/>\n        <source>Extended function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"203\"/>\n        <source>Pre-processor block</source>\n        <translation type=\"unfinished\">Instruções de pré-processamento</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"206\"/>\n        <source>Dotted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"209\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\">Rótulo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerfortran77.cpp\" line=\"212\"/>\n        <source>Continuation</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerHTML</name>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"548\"/>\n        <source>HTML default</source>\n        <translation>HTML por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"551\"/>\n        <source>Tag</source>\n        <translation>Marcador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"554\"/>\n        <source>Unknown tag</source>\n        <translation>Marcador desconhecido</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"557\"/>\n        <source>Attribute</source>\n        <translation>Atributo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"560\"/>\n        <source>Unknown attribute</source>\n        <translation>Atributo desconhecido</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"563\"/>\n        <source>HTML number</source>\n        <translation>Número HTML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"566\"/>\n        <source>HTML double-quoted string</source>\n        <translation>Cadeia de caracteres HTML envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"569\"/>\n        <source>HTML single-quoted string</source>\n        <translation>Cadeia de caracteres HTML envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"572\"/>\n        <source>Other text in a tag</source>\n        <translation>Outro texto em um marcador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"575\"/>\n        <source>HTML comment</source>\n        <translation>Comentário HTML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"578\"/>\n        <source>Entity</source>\n        <translation>Entidade</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"581\"/>\n        <source>End of a tag</source>\n        <translation>Final de um marcador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"584\"/>\n        <source>Start of an XML fragment</source>\n        <translation>Início de um bloco XML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"587\"/>\n        <source>End of an XML fragment</source>\n        <translation>Final de um bloco XML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"590\"/>\n        <source>Script tag</source>\n        <translation>Marcador de script</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"593\"/>\n        <source>Start of an ASP fragment with @</source>\n        <translation>Início de um bloco ASP com @</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"596\"/>\n        <source>Start of an ASP fragment</source>\n        <translation>Início de um bloco ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"599\"/>\n        <source>CDATA</source>\n        <translation>CDATA</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"602\"/>\n        <source>Start of a PHP fragment</source>\n        <translation>Início de um bloco PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"605\"/>\n        <source>Unquoted HTML value</source>\n        <translation>Valor HTML não envolvido por aspas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"608\"/>\n        <source>ASP X-Code comment</source>\n        <translation>Comentário ASP X-Code</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"611\"/>\n        <source>SGML default</source>\n        <translation>SGML por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"614\"/>\n        <source>SGML command</source>\n        <translation>Comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"617\"/>\n        <source>First parameter of an SGML command</source>\n        <translation>Primeiro parâmetro em um comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"620\"/>\n        <source>SGML double-quoted string</source>\n        <translation>Cadeia de caracteres SGML envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"623\"/>\n        <source>SGML single-quoted string</source>\n        <translation>Cadeia de caracteres SGML envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"626\"/>\n        <source>SGML error</source>\n        <translation>Erro SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"629\"/>\n        <source>SGML special entity</source>\n        <translation>Entidade especial SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"632\"/>\n        <source>SGML comment</source>\n        <translation>Comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"635\"/>\n        <source>First parameter comment of an SGML command</source>\n        <translation>Primeiro comentário de parâmetro de uma comando SGML</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"638\"/>\n        <source>SGML block default</source>\n        <translation>Bloco SGML por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"641\"/>\n        <source>Start of a JavaScript fragment</source>\n        <translation>Início de um bloco Javascript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"644\"/>\n        <source>JavaScript default</source>\n        <translation>JavaScript por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"647\"/>\n        <source>JavaScript comment</source>\n        <translation>Comentário JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"650\"/>\n        <source>JavaScript line comment</source>\n        <translation>Comentário de linha JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"653\"/>\n        <source>JavaDoc style JavaScript comment</source>\n        <translation>Comentário JavaScript no estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"656\"/>\n        <source>JavaScript number</source>\n        <translation>Número JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"659\"/>\n        <source>JavaScript word</source>\n        <translation>Palavra JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"662\"/>\n        <source>JavaScript keyword</source>\n        <translation>Palavra chave JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"665\"/>\n        <source>JavaScript double-quoted string</source>\n        <translation>Cadeia de caracteres JavaScript envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"668\"/>\n        <source>JavaScript single-quoted string</source>\n        <translation>Cadeia de caracteres JavaScript envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"671\"/>\n        <source>JavaScript symbol</source>\n        <translation>Símbolo JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"674\"/>\n        <source>JavaScript unclosed string</source>\n        <translation>Cadeia de caracteres JavaScript não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"677\"/>\n        <source>JavaScript regular expression</source>\n        <translation>Expressão regular JavaScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"680\"/>\n        <source>Start of an ASP JavaScript fragment</source>\n        <translation>Início de um bloco Javascript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"683\"/>\n        <source>ASP JavaScript default</source>\n        <translation>JavaScript ASP por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"686\"/>\n        <source>ASP JavaScript comment</source>\n        <translation>Comentário JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"689\"/>\n        <source>ASP JavaScript line comment</source>\n        <translation>Comentário de linha JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"692\"/>\n        <source>JavaDoc style ASP JavaScript comment</source>\n        <translation>Comentário JavaScript ASP no estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"695\"/>\n        <source>ASP JavaScript number</source>\n        <translation>Número JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"698\"/>\n        <source>ASP JavaScript word</source>\n        <translation>Palavra chave JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"701\"/>\n        <source>ASP JavaScript keyword</source>\n        <translation>Palavra chave JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"704\"/>\n        <source>ASP JavaScript double-quoted string</source>\n        <translation>Cadeia de caracteres JavaScript ASP envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"707\"/>\n        <source>ASP JavaScript single-quoted string</source>\n        <translation>Cadeia de caracteres JavaScript ASP envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"710\"/>\n        <source>ASP JavaScript symbol</source>\n        <translation>Símbolo JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"713\"/>\n        <source>ASP JavaScript unclosed string</source>\n        <translation>Cadeia de caracteres JavaScript ASP não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"716\"/>\n        <source>ASP JavaScript regular expression</source>\n        <translation>Expressão regular JavaScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"719\"/>\n        <source>Start of a VBScript fragment</source>\n        <translation>Início de um bloco VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"722\"/>\n        <source>VBScript default</source>\n        <translation>VBScript por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"725\"/>\n        <source>VBScript comment</source>\n        <translation>Comentário VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"728\"/>\n        <source>VBScript number</source>\n        <translation>Número VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"731\"/>\n        <source>VBScript keyword</source>\n        <translation>Palavra chave VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"734\"/>\n        <source>VBScript string</source>\n        <translation>Cadeia de caracteres VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"737\"/>\n        <source>VBScript identifier</source>\n        <translation>Identificador VBScript</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"740\"/>\n        <source>VBScript unclosed string</source>\n        <translation>Cadeia de caracteres VBScript não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"743\"/>\n        <source>Start of an ASP VBScript fragment</source>\n        <translation>Início de um bloco VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"746\"/>\n        <source>ASP VBScript default</source>\n        <translation>VBScript ASP por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"749\"/>\n        <source>ASP VBScript comment</source>\n        <translation>Comentário VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"752\"/>\n        <source>ASP VBScript number</source>\n        <translation>Número VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"755\"/>\n        <source>ASP VBScript keyword</source>\n        <translation>Palavra chave VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"758\"/>\n        <source>ASP VBScript string</source>\n        <translation>Cadeia de caracteres VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"761\"/>\n        <source>ASP VBScript identifier</source>\n        <translation>Identificador VBScript ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"764\"/>\n        <source>ASP VBScript unclosed string</source>\n        <translation>Cadeia de caracteres VBScript ASP não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"767\"/>\n        <source>Start of a Python fragment</source>\n        <translation>Início de um bloco Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"770\"/>\n        <source>Python default</source>\n        <translation>Python por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"773\"/>\n        <source>Python comment</source>\n        <translation>Comentário Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"776\"/>\n        <source>Python number</source>\n        <translation>Número Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"779\"/>\n        <source>Python double-quoted string</source>\n        <translation>Cadeia de caracteres Python envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"782\"/>\n        <source>Python single-quoted string</source>\n        <translation>Cadeia de caracteres Python envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"785\"/>\n        <source>Python keyword</source>\n        <translation>Palavra chave Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"788\"/>\n        <source>Python triple double-quoted string</source>\n        <translation>Cadeia de caracteres Python envolvida por aspas triplas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"791\"/>\n        <source>Python triple single-quoted string</source>\n        <translation>Cadeia de caracteres Python envolvida por aspas triplas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"794\"/>\n        <source>Python class name</source>\n        <translation>Nome de classe Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"797\"/>\n        <source>Python function or method name</source>\n        <translation>Nome de método ou função Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"800\"/>\n        <source>Python operator</source>\n        <translation>Operador Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"803\"/>\n        <source>Python identifier</source>\n        <translation>Identificador Python</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"806\"/>\n        <source>Start of an ASP Python fragment</source>\n        <translation>Início de um bloco Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"809\"/>\n        <source>ASP Python default</source>\n        <translation>Python ASP por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"812\"/>\n        <source>ASP Python comment</source>\n        <translation>Comentário Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"815\"/>\n        <source>ASP Python number</source>\n        <translation>Número Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"818\"/>\n        <source>ASP Python double-quoted string</source>\n        <translation>Cadeia de caracteres Python ASP envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"821\"/>\n        <source>ASP Python single-quoted string</source>\n        <translation>Cadeia de caracteres Python ASP envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"824\"/>\n        <source>ASP Python keyword</source>\n        <translation>Palavra chave Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"827\"/>\n        <source>ASP Python triple double-quoted string</source>\n        <translation>Cadeia de caracteres Python ASP envolvida por aspas triplas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"830\"/>\n        <source>ASP Python triple single-quoted string</source>\n        <translation>Cadeia de caracteres Python ASP envolvida por aspas triplas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"833\"/>\n        <source>ASP Python class name</source>\n        <translation>Nome de classe Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"836\"/>\n        <source>ASP Python function or method name</source>\n        <translation>Nome de método ou função Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"839\"/>\n        <source>ASP Python operator</source>\n        <translation>Operador Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"842\"/>\n        <source>ASP Python identifier</source>\n        <translation>Identificador Python ASP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"845\"/>\n        <source>PHP default</source>\n        <translation>PHP por padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"848\"/>\n        <source>PHP double-quoted string</source>\n        <translation>Cadeia de caracteres PHP envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"851\"/>\n        <source>PHP single-quoted string</source>\n        <translation>Cadeia de caracteres PHP envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"854\"/>\n        <source>PHP keyword</source>\n        <translation>Palavra chave PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"857\"/>\n        <source>PHP number</source>\n        <translation>Número PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"860\"/>\n        <source>PHP variable</source>\n        <translation>Variável PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"863\"/>\n        <source>PHP comment</source>\n        <translation>Comentário PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"866\"/>\n        <source>PHP line comment</source>\n        <translation>Comentário de linha PHP</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"869\"/>\n        <source>PHP double-quoted variable</source>\n        <translation>Variável PHP envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerhtml.cpp\" line=\"872\"/>\n        <source>PHP operator</source>\n        <translation>Operador PHP</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerIDL</name>\n    <message>\n        <location filename=\"qscilexeridl.cpp\" line=\"82\"/>\n        <source>UUID</source>\n        <translation>UUID</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJSON</name>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"145\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"148\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"151\"/>\n        <source>String</source>\n        <translation type=\"unfinished\">Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"154\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"157\"/>\n        <source>Property</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"160\"/>\n        <source>Escape sequence</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"163\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"166\"/>\n        <source>Block comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"169\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"172\"/>\n        <source>IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"175\"/>\n        <source>JSON-LD compact IRI</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"178\"/>\n        <source>JSON keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"181\"/>\n        <source>JSON-LD keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerjson.cpp\" line=\"184\"/>\n        <source>Parsing error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerJavaScript</name>\n    <message>\n        <location filename=\"qscilexerjavascript.cpp\" line=\"92\"/>\n        <source>Regular expression</source>\n        <translation>Expressão Regular</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerLua</name>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"212\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"215\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"218\"/>\n        <source>Line comment</source>\n        <translation>Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"221\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"224\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"227\"/>\n        <source>String</source>\n        <translation>Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"230\"/>\n        <source>Character</source>\n        <translation>Caractere</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"233\"/>\n        <source>Literal string</source>\n        <translation>Cadeia de caracteres literal</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"236\"/>\n        <source>Preprocessor</source>\n        <translation>Preprocessador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"239\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"242\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"245\"/>\n        <source>Unclosed string</source>\n        <translation>Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"248\"/>\n        <source>Basic functions</source>\n        <translation>Funções básicas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"251\"/>\n        <source>String, table and maths functions</source>\n        <translation>Funções de cadeia de caracteres e de tabelas matemáticas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"254\"/>\n        <source>Coroutines, i/o and system facilities</source>\n        <translation>Funções auxiiares, e/s e funções de sistema</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"257\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\">Definição de usuário 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"260\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\">Definição de usuário 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"263\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\">Definição de usuário 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"266\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\">Definição de usuário 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerlua.cpp\" line=\"269\"/>\n        <source>Label</source>\n        <translation type=\"unfinished\">Rótulo</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMakefile</name>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"111\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"114\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"117\"/>\n        <source>Preprocessor</source>\n        <translation>Preprocessador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"120\"/>\n        <source>Variable</source>\n        <translation>Variável</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"123\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"126\"/>\n        <source>Target</source>\n        <translation>Destino</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermakefile.cpp\" line=\"129\"/>\n        <source>Error</source>\n        <translation>Erro</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMarkdown</name>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"207\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"210\"/>\n        <source>Special</source>\n        <translation type=\"unfinished\">Especial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"213\"/>\n        <source>Strong emphasis using double asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"216\"/>\n        <source>Strong emphasis using double underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"219\"/>\n        <source>Emphasis using single asterisks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"222\"/>\n        <source>Emphasis using single underscores</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"225\"/>\n        <source>Level 1 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"228\"/>\n        <source>Level 2 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"231\"/>\n        <source>Level 3 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"234\"/>\n        <source>Level 4 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"237\"/>\n        <source>Level 5 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"240\"/>\n        <source>Level 6 header</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"243\"/>\n        <source>Pre-char</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"246\"/>\n        <source>Unordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"249\"/>\n        <source>Ordered list item</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"252\"/>\n        <source>Block quote</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"255\"/>\n        <source>Strike out</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"258\"/>\n        <source>Horizontal rule</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"261\"/>\n        <source>Link</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"264\"/>\n        <source>Code between backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"267\"/>\n        <source>Code between double backticks</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermarkdown.cpp\" line=\"270\"/>\n        <source>Code block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerMatlab</name>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"118\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"121\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"124\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\">Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"127\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"130\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"133\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"136\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"139\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexermatlab.cpp\" line=\"142\"/>\n        <source>Double-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPO</name>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"84\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"87\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"90\"/>\n        <source>Message identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"93\"/>\n        <source>Message identifier text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"96\"/>\n        <source>Message string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"99\"/>\n        <source>Message string text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"102\"/>\n        <source>Message context</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"105\"/>\n        <source>Message context text</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"108\"/>\n        <source>Fuzzy flag</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"111\"/>\n        <source>Programmer comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"114\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"117\"/>\n        <source>Flags</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"120\"/>\n        <source>Message identifier text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"123\"/>\n        <source>Message string text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpo.cpp\" line=\"126\"/>\n        <source>Message context text end-of-line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPOV</name>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"262\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"265\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"268\"/>\n        <source>Comment line</source>\n        <translation>Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"271\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"274\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"277\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"280\"/>\n        <source>String</source>\n        <translation>Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"283\"/>\n        <source>Unclosed string</source>\n        <translation>Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"286\"/>\n        <source>Directive</source>\n        <translation>Diretiva</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"289\"/>\n        <source>Bad directive</source>\n        <translation>Diretiva ruim</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"292\"/>\n        <source>Objects, CSG and appearance</source>\n        <translation>Objetos, CSG e aparência</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"295\"/>\n        <source>Types, modifiers and items</source>\n        <translation>Tipos, modificadores e itens</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"298\"/>\n        <source>Predefined identifiers</source>\n        <translation>Identificadores predefinidos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"301\"/>\n        <source>Predefined functions</source>\n        <translation>Funções predefinidas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"304\"/>\n        <source>User defined 1</source>\n        <translation>Definição de usuário 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"307\"/>\n        <source>User defined 2</source>\n        <translation>Definição de usuário 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpov.cpp\" line=\"310\"/>\n        <source>User defined 3</source>\n        <translation>Definição de usuário 3</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPascal</name>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"241\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"253\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"262\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"268\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"271\"/>\n        <source>Single-quoted string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"280\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"244\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"247\"/>\n        <source>&apos;{ ... }&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"250\"/>\n        <source>&apos;(* ... *)&apos; style comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"256\"/>\n        <source>&apos;{$ ... }&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"259\"/>\n        <source>&apos;(*$ ... *)&apos; style pre-processor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"265\"/>\n        <source>Hexadecimal number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"274\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"277\"/>\n        <source>Character</source>\n        <translation type=\"unfinished\">Caractere</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpascal.cpp\" line=\"283\"/>\n        <source>Inline asm</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPerl</name>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"313\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"316\"/>\n        <source>Error</source>\n        <translation>Erro</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"319\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"322\"/>\n        <source>POD</source>\n        <translation>POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"325\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"328\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"331\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"334\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"337\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"340\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"343\"/>\n        <source>Scalar</source>\n        <translation>Escalar</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"346\"/>\n        <source>Array</source>\n        <translation>Vetor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"349\"/>\n        <source>Hash</source>\n        <translation>Hash</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"352\"/>\n        <source>Symbol table</source>\n        <translation>Tabela de Símbolos</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"355\"/>\n        <source>Regular expression</source>\n        <translation>Expressão Regular</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"358\"/>\n        <source>Substitution</source>\n        <translation>Substituição</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"361\"/>\n        <source>Backticks</source>\n        <translation>Aspas Invertidas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"364\"/>\n        <source>Data section</source>\n        <translation>Seção de dados</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"367\"/>\n        <source>Here document delimiter</source>\n        <translation>Delimitador de documentos criados através de redicionadores (&gt;&gt; e &gt;)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"370\"/>\n        <source>Single-quoted here document</source>\n        <translation>&quot;here document&quot; envolvido por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"373\"/>\n        <source>Double-quoted here document</source>\n        <translation>&quot;here document&quot; envolvido por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"376\"/>\n        <source>Backtick here document</source>\n        <translation>&quot;here document&quot; envolvido por aspas invertidas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"379\"/>\n        <source>Quoted string (q)</source>\n        <translation>Cadeia de caracteres envolvida por aspas (q)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"382\"/>\n        <source>Quoted string (qq)</source>\n        <translation>Cadeia de caracteres envolvida por aspas (qq)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"385\"/>\n        <source>Quoted string (qx)</source>\n        <translation>Cadeia de caracteres envolvida por aspas (qx)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"388\"/>\n        <source>Quoted string (qr)</source>\n        <translation>Cadeia de caracteres envolvida por aspas (qr)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"391\"/>\n        <source>Quoted string (qw)</source>\n        <translation>Cadeia de caracteres envolvida por aspas (qw)</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"394\"/>\n        <source>POD verbatim</source>\n        <translation>POD em formato verbatim</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"397\"/>\n        <source>Subroutine prototype</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"400\"/>\n        <source>Format identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"403\"/>\n        <source>Format body</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"406\"/>\n        <source>Double-quoted string (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"409\"/>\n        <source>Translation</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"412\"/>\n        <source>Regular expression (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"415\"/>\n        <source>Substitution (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"418\"/>\n        <source>Backticks (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"421\"/>\n        <source>Double-quoted here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"424\"/>\n        <source>Backtick here document (interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"427\"/>\n        <source>Quoted string (qq, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"430\"/>\n        <source>Quoted string (qx, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerperl.cpp\" line=\"433\"/>\n        <source>Quoted string (qr, interpolated variable)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPostScript</name>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"244\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"247\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"250\"/>\n        <source>DSC comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"253\"/>\n        <source>DSC comment value</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"256\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"259\"/>\n        <source>Name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"262\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"265\"/>\n        <source>Literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"268\"/>\n        <source>Immediately evaluated literal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"271\"/>\n        <source>Array parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"274\"/>\n        <source>Dictionary parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"277\"/>\n        <source>Procedure parenthesis</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"280\"/>\n        <source>Text</source>\n        <translation type=\"unfinished\">Texto</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"283\"/>\n        <source>Hexadecimal string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"286\"/>\n        <source>Base85 string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpostscript.cpp\" line=\"289\"/>\n        <source>Bad string character</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerProperties</name>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"105\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"108\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"111\"/>\n        <source>Section</source>\n        <translation>Seção</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"114\"/>\n        <source>Assignment</source>\n        <translation>Atribuição</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"117\"/>\n        <source>Default value</source>\n        <translation>Valor Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerproperties.cpp\" line=\"120\"/>\n        <source>Key</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerPython</name>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"223\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"226\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"229\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"232\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"235\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"238\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"241\"/>\n        <source>Triple single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por três aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"244\"/>\n        <source>Triple double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por três aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"247\"/>\n        <source>Class name</source>\n        <translation>Nome da classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"250\"/>\n        <source>Function or method name</source>\n        <translation>Nome da função ou método</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"253\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"256\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"259\"/>\n        <source>Comment block</source>\n        <translation>Bloco de comentários</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"262\"/>\n        <source>Unclosed string</source>\n        <translation>Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"265\"/>\n        <source>Highlighted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"268\"/>\n        <source>Decorator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"271\"/>\n        <source>Double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"274\"/>\n        <source>Single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"277\"/>\n        <source>Triple single-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerpython.cpp\" line=\"280\"/>\n        <source>Triple double-quoted f-string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerRuby</name>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"233\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"239\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"245\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"251\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"254\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"248\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"257\"/>\n        <source>Class name</source>\n        <translation>Nome da classe</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"260\"/>\n        <source>Function or method name</source>\n        <translation>Nome da função ou método</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"263\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"266\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"236\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"242\"/>\n        <source>POD</source>\n        <translation type=\"unfinished\">POD</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"269\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\">Expressão Regular</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"272\"/>\n        <source>Global</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"275\"/>\n        <source>Symbol</source>\n        <translation type=\"unfinished\">Símbolo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"278\"/>\n        <source>Module name</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"281\"/>\n        <source>Instance variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"284\"/>\n        <source>Class variable</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"287\"/>\n        <source>Backticks</source>\n        <translation type=\"unfinished\">Aspas Invertidas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"290\"/>\n        <source>Data section</source>\n        <translation type=\"unfinished\">Seção de dados</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"293\"/>\n        <source>Here document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"296\"/>\n        <source>Here document</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"299\"/>\n        <source>%q string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"302\"/>\n        <source>%Q string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"305\"/>\n        <source>%x string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"308\"/>\n        <source>%r string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"311\"/>\n        <source>%w string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"314\"/>\n        <source>Demoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"317\"/>\n        <source>stdin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"320\"/>\n        <source>stdout</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerruby.cpp\" line=\"323\"/>\n        <source>stderr</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSQL</name>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"251\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"254\"/>\n        <source>Comment</source>\n        <translation>Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"263\"/>\n        <source>Number</source>\n        <translation>Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"266\"/>\n        <source>Keyword</source>\n        <translation>Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"272\"/>\n        <source>Single-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas simples</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"281\"/>\n        <source>Operator</source>\n        <translation>Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"284\"/>\n        <source>Identifier</source>\n        <translation>Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"257\"/>\n        <source>Comment line</source>\n        <translation>Comentário de Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"260\"/>\n        <source>JavaDoc style comment</source>\n        <translation>Comentário estilo JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"269\"/>\n        <source>Double-quoted string</source>\n        <translation>Cadeia de caracteres envolvida por aspas duplas</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"275\"/>\n        <source>SQL*Plus keyword</source>\n        <translation>Palavra chave do SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"278\"/>\n        <source>SQL*Plus prompt</source>\n        <translation>Prompt do SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"287\"/>\n        <source>SQL*Plus comment</source>\n        <translation>Comentário do SQL*Plus</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"290\"/>\n        <source># comment line</source>\n        <translation>Comentário de linha usando #</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"293\"/>\n        <source>JavaDoc keyword</source>\n        <translation>Palavra chave JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"296\"/>\n        <source>JavaDoc keyword error</source>\n        <translation>Erro de palavra chave do JavaDoc</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"299\"/>\n        <source>User defined 1</source>\n        <translation>Definição de usuário 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"302\"/>\n        <source>User defined 2</source>\n        <translation>Definição de usuário 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"305\"/>\n        <source>User defined 3</source>\n        <translation>Definição de usuário 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"308\"/>\n        <source>User defined 4</source>\n        <translation>Definição de usuário 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"311\"/>\n        <source>Quoted identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexersql.cpp\" line=\"314\"/>\n        <source>Quoted operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerSpice</name>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"151\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"154\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"157\"/>\n        <source>Command</source>\n        <translation type=\"unfinished\">Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"160\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"163\"/>\n        <source>Parameter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"166\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"169\"/>\n        <source>Delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"172\"/>\n        <source>Value</source>\n        <translation type=\"unfinished\">Valor</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerspice.cpp\" line=\"175\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTCL</name>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"277\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"280\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"283\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"286\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"289\"/>\n        <source>Quoted keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"292\"/>\n        <source>Quoted string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"295\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"298\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"301\"/>\n        <source>Substitution</source>\n        <translation type=\"unfinished\">Substituição</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"304\"/>\n        <source>Brace substitution</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"307\"/>\n        <source>Modifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"310\"/>\n        <source>Expand keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"313\"/>\n        <source>TCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"316\"/>\n        <source>Tk keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"319\"/>\n        <source>iTCL keyword</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"322\"/>\n        <source>Tk command</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"325\"/>\n        <source>User defined 1</source>\n        <translation type=\"unfinished\">Definição de usuário 1</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"328\"/>\n        <source>User defined 2</source>\n        <translation type=\"unfinished\">Definição de usuário 2</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"331\"/>\n        <source>User defined 3</source>\n        <translation type=\"unfinished\">Definição de usuário 3</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"334\"/>\n        <source>User defined 4</source>\n        <translation type=\"unfinished\">Definição de usuário 4</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"337\"/>\n        <source>Comment box</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertcl.cpp\" line=\"340\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\">Bloco de comentários</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerTeX</name>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"172\"/>\n        <source>Default</source>\n        <translation>Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"175\"/>\n        <source>Special</source>\n        <translation>Especial</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"178\"/>\n        <source>Group</source>\n        <translation>Grupo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"181\"/>\n        <source>Symbol</source>\n        <translation>Símbolo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"184\"/>\n        <source>Command</source>\n        <translation>Comando</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexertex.cpp\" line=\"187\"/>\n        <source>Text</source>\n        <translation>Texto</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVHDL</name>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"192\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"195\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"198\"/>\n        <source>Comment line</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"201\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"204\"/>\n        <source>String</source>\n        <translation type=\"unfinished\">Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"207\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"210\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"213\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"216\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"219\"/>\n        <source>Standard operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"222\"/>\n        <source>Attribute</source>\n        <translation type=\"unfinished\">Atributo</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"225\"/>\n        <source>Standard function</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"228\"/>\n        <source>Standard package</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"231\"/>\n        <source>Standard type</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"234\"/>\n        <source>User defined</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexervhdl.cpp\" line=\"237\"/>\n        <source>Comment block</source>\n        <translation type=\"unfinished\">Bloco de comentários</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerVerilog</name>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"281\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"284\"/>\n        <source>Inactive default</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"287\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"290\"/>\n        <source>Inactive comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"293\"/>\n        <source>Line comment</source>\n        <translation type=\"unfinished\">Comentar Linha</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"296\"/>\n        <source>Inactive line comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"299\"/>\n        <source>Bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"302\"/>\n        <source>Inactive bang comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"305\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"308\"/>\n        <source>Inactive number</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"311\"/>\n        <source>Primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"314\"/>\n        <source>Inactive primary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"317\"/>\n        <source>String</source>\n        <translation type=\"unfinished\">Cadeia de Caracteres</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"320\"/>\n        <source>Inactive string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"323\"/>\n        <source>Secondary keywords and identifiers</source>\n        <translation type=\"unfinished\">Identificadores e palavras chave secundárias</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"326\"/>\n        <source>Inactive secondary keywords and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"329\"/>\n        <source>System task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"332\"/>\n        <source>Inactive system task</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"335\"/>\n        <source>Preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"338\"/>\n        <source>Inactive preprocessor block</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"341\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"344\"/>\n        <source>Inactive operator</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"347\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"350\"/>\n        <source>Inactive identifier</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"353\"/>\n        <source>Unclosed string</source>\n        <translation type=\"unfinished\">Cadeia de caracteres não fechada</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"356\"/>\n        <source>Inactive unclosed string</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"359\"/>\n        <source>User defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"362\"/>\n        <source>Inactive user defined tasks and identifiers</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"365\"/>\n        <source>Keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"368\"/>\n        <source>Inactive keyword comment</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"371\"/>\n        <source>Input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"374\"/>\n        <source>Inactive input port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"377\"/>\n        <source>Output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"380\"/>\n        <source>Inactive output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"383\"/>\n        <source>Input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"386\"/>\n        <source>Inactive input/output port declaration</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"389\"/>\n        <source>Port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexerverilog.cpp\" line=\"392\"/>\n        <source>Inactive port connection</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerYAML</name>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"155\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">Padrão</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"158\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">Comentário</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"161\"/>\n        <source>Identifier</source>\n        <translation type=\"unfinished\">Identificador</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"164\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">Palavra Chave</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"167\"/>\n        <source>Number</source>\n        <translation type=\"unfinished\">Número</translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"170\"/>\n        <source>Reference</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"173\"/>\n        <source>Document delimiter</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"176\"/>\n        <source>Text block marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"179\"/>\n        <source>Syntax error marker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qscilexeryaml.cpp\" line=\"182\"/>\n        <source>Operator</source>\n        <translation type=\"unfinished\">Operador</translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4455\"/>\n        <source>&amp;Undo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4459\"/>\n        <source>&amp;Redo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4465\"/>\n        <source>Cu&amp;t</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4470\"/>\n        <source>&amp;Copy</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4476\"/>\n        <source>&amp;Paste</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4480\"/>\n        <source>Delete</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qsciscintilla.cpp\" line=\"4487\"/>\n        <source>Select All</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/qscint/src/qsciprinter.cpp",
    "content": "// This module implements the QsciPrinter class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qsciprinter.h\"\n\n#if !defined(QT_NO_PRINTER)\n\n#include <QPrinter>\n#include <QPainter>\n#include <QStack>\n\n#include \"Qsci/qsciscintillabase.h\"\n\n\n// The ctor.\nQsciPrinter::QsciPrinter(QPrinter::PrinterMode mode)\n    : QPrinter(mode), mag(0), wrap(QsciScintilla::WrapWord)\n{\n}\n\n\n// The dtor.\nQsciPrinter::~QsciPrinter()\n{\n}\n\n\n// Format the page before the document text is drawn.\nvoid QsciPrinter::formatPage(QPainter &, bool, QRect &, int)\n{\n}\n\n\n// Print a range of lines to a printer using a supplied QPainter.\nint QsciPrinter::printRange(QsciScintillaBase *qsb, QPainter &painter,\n        int from, int to)\n{\n    // Sanity check.\n    if (!qsb)\n        return false;\n\n    // Setup the printing area.\n    QRect def_area;\n\n    def_area.setX(0);\n    def_area.setY(0);\n    def_area.setWidth(width());\n    def_area.setHeight(height());\n\n    // Get the page range.\n    int pgFrom, pgTo;\n\n    pgFrom = fromPage();\n    pgTo = toPage();\n\n    // Find the position range.\n    long startPos, endPos;\n\n    endPos = qsb->SendScintilla(QsciScintillaBase::SCI_GETLENGTH);\n\n    startPos = (from > 0 ? qsb -> SendScintilla(QsciScintillaBase::SCI_POSITIONFROMLINE,from) : 0);\n\n    if (to >= 0)\n    {\n        long toPos = qsb -> SendScintilla(QsciScintillaBase::SCI_POSITIONFROMLINE,to + 1);\n\n        if (endPos > toPos)\n            endPos = toPos;\n    }\n\n    if (startPos >= endPos)\n        return false;\n\n    bool reverse = (pageOrder() == LastPageFirst);\n    bool needNewPage = false;\n    int nr_copies = supportsMultipleCopies() ? 1 : copyCount();\n\n    qsb -> SendScintilla(QsciScintillaBase::SCI_SETPRINTMAGNIFICATION,mag);\n    qsb -> SendScintilla(QsciScintillaBase::SCI_SETPRINTWRAPMODE,wrap);\n\n    for (int i = 1; i <= nr_copies; ++i)\n    {\n        // If we are printing in reverse page order then remember the start\n        // position of each page.\n        QStack<long> pageStarts;\n\n        int currPage = 1;\n        long pos = startPos;\n\n        while (pos < endPos)\n        {\n            // See if we have finished the requested page range.\n            if (pgTo > 0 && pgTo < currPage)\n                break;\n\n            // See if we are going to render this page, or just see how much\n            // would fit onto it.\n            bool render = false;\n\n            if (pgFrom == 0 || pgFrom <= currPage)\n            {\n                if (reverse)\n                    pageStarts.push(pos);\n                else\n                {\n                    render = true;\n\n                    if (needNewPage)\n                    {\n                        if (!newPage())\n                            return false;\n                    }\n                    else\n                        needNewPage = true;\n                }\n            }\n\n            QRect area = def_area;\n\n            formatPage(painter,render,area,currPage);\n            pos = qsb -> SendScintilla(QsciScintillaBase::SCI_FORMATRANGE,render,&painter,area,pos,endPos);\n\n            ++currPage;\n        }\n\n        // All done if we are printing in normal page order.\n        if (!reverse)\n            continue;\n\n        // Now go through each page on the stack and really print it.\n        while (!pageStarts.isEmpty())\n        {\n            --currPage;\n\n            long ePos = pos;\n            pos = pageStarts.pop();\n\n            if (needNewPage)\n            {\n                if (!newPage())\n                    return false;\n            }\n            else\n                needNewPage = true;\n\n            QRect area = def_area;\n\n            formatPage(painter,true,area,currPage);\n            qsb->SendScintilla(QsciScintillaBase::SCI_FORMATRANGE,true,&painter,area,pos,ePos);\n        }\n    }\n\n    return true;\n}\n\n\n// Print a range of lines to a printer using a default QPainter.\nint QsciPrinter::printRange(QsciScintillaBase *qsb, int from, int to)\n{\n    QPainter painter(this);\n\n    return printRange(qsb, painter, from, to);\n}\n\n\n// Set the print magnification in points.\nvoid QsciPrinter::setMagnification(int magnification)\n{\n    mag = magnification;\n}\n\n\n// Set the line wrap mode.\nvoid QsciPrinter::setWrapMode(QsciScintilla::WrapMode wmode)\n{\n    wrap = wmode;\n}\n\n#endif\n"
  },
  {
    "path": "src/qscint/src/qsciscintilla.cpp",
    "content": "﻿// This module implements the \"official\" high-level API of the Qt port of\r\n// Scintilla.  It is modelled on QTextEdit - a method of the same name should\r\n// behave in the same way.\r\n//\r\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\r\n// \r\n// This file is part of QScintilla.\r\n// \r\n// This file may be used under the terms of the GNU General Public License\r\n// version 3.0 as published by the Free Software Foundation and appearing in\r\n// the file LICENSE included in the packaging of this file.  Please review the\r\n// following information to ensure the GNU General Public License version 3.0\r\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\r\n// \r\n// If you do not wish to use this file under the terms of the GPL version 3.0\r\n// then you may purchase a commercial license.  For more information contact\r\n// info@riverbankcomputing.com.\r\n// \r\n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\r\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r\n\r\n\r\n#include \"Qsci/qsciscintilla.h\"\r\n\r\n#include <string.h>\r\n\r\n#include <QAction>\r\n#include <QApplication>\r\n#include <QColor>\r\n#include <QEvent>\r\n#include <QImage>\r\n#include <QIODevice>\r\n#include <QKeyEvent>\r\n#include <QKeySequence>\r\n#include <QMenu>\r\n#include <QPoint>\r\n\r\n#include \"Qsci/qsciabstractapis.h\"\r\n#include \"Qsci/qscicommandset.h\"\r\n#include \"Qsci/qscilexer.h\"\r\n#include \"Qsci/qscistyle.h\"\r\n#include \"Qsci/qscistyledtext.h\"\r\n#include \"xmlMatchedTagsHighlighter.h\"\r\n#include \"BoostRegexSearch.h\"\r\n\r\n\r\n// Make sure these match the values in Scintilla.h.  We don't #include that\r\n// file because it just causes more clashes.\r\n#define KEYWORDSET_MAX  8\r\n#define MARKER_MAX      31\r\n\r\n// The list separators for auto-completion and user lists.\r\nconst char acSeparator = '\\x03';\r\nconst char userSeparator = '\\x04';\r\n\r\n// The default fold margin width.\r\nstatic const int defaultFoldMarginWidth = 14;\r\n\r\n// The default set of characters that make up a word.\r\nstatic const char *defaultWordChars = \"_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\r\n\r\n// Forward declarations.\r\nstatic QColor asQColor(long sci_colour);\r\n\r\n\r\n// The ctor.\r\nQsciScintilla::QsciScintilla(QWidget *parent)\r\n    : QsciScintillaBase(parent),\r\n      allocatedMarkers(0), allocatedIndicators(7), oldPos(-1), oldLine(-1), selText(false),\r\n      fold(NoFoldStyle), foldmargin(2), autoInd(false),\r\n      braceMode(NoBraceMatch), acSource(AcsNone), acThresh(-1),\r\n      wchars(defaultWordChars), call_tips_position(CallTipsBelowText),\r\n      call_tips_style(CallTipsNoContext), maxCallTips(-1),\r\n      use_single(AcusNever), explicit_fillups(\"\"), fillups_enabled(false), isIndentGuide(false), isHtmlHighLightTag(false)\r\n{\r\n    connect(this,SIGNAL(SCN_MODIFYATTEMPTRO()),\r\n             SIGNAL(modificationAttempted()));\r\n\r\n    connect(this,SIGNAL(SCN_MODIFIED(int,int,const char *,int,int,int,int,int,int,int)),\r\n             SLOT(handleModified(int,int,const char *,int,int,int,int,int,int,int)));\r\n    connect(this,SIGNAL(SCN_CALLTIPCLICK(int)),\r\n             SLOT(handleCallTipClick(int)));\r\n    connect(this,SIGNAL(SCN_CHARADDED(int)),\r\n             SLOT(handleCharAdded(int)));\r\n    connect(this,SIGNAL(SCN_INDICATORCLICK(int,int)),\r\n             SLOT(handleIndicatorClick(int,int)));\r\n    connect(this,SIGNAL(SCN_INDICATORRELEASE(int,int)),\r\n             SLOT(handleIndicatorRelease(int,int)));\r\n    connect(this,SIGNAL(SCN_MARGINCLICK(int,int,int)),\r\n             SLOT(handleMarginClick(int,int,int)));\r\n    connect(this,SIGNAL(SCN_MARGINRIGHTCLICK(int,int,int)),\r\n             SLOT(handleMarginRightClick(int,int,int)));\r\n    connect(this,SIGNAL(SCN_SAVEPOINTREACHED()),\r\n             SLOT(handleSavePointReached()));\r\n    connect(this,SIGNAL(SCN_SAVEPOINTLEFT()),\r\n             SLOT(handleSavePointLeft()));\r\n    connect(this,SIGNAL(SCN_UPDATEUI(int)),\r\n             SLOT(handleUpdateUI(int)));\r\n    connect(this,SIGNAL(QSCN_SELCHANGED(bool)),\r\n             SLOT(handleSelectionChanged(bool)));\r\n    connect(this,SIGNAL(SCN_AUTOCSELECTION(const char *,int)),\r\n             SLOT(handleAutoCompletionSelection()));\r\n    connect(this,SIGNAL(SCN_USERLISTSELECTION(const char *,int)),\r\n             SLOT(handleUserListSelection(const char *,int)));\r\n\r\n    // Set the default font.\r\n    setFont(QApplication::font());\r\n\r\n    // Set the default fore and background colours.\r\n    QPalette pal = QApplication::palette();\r\n    setColor(pal.text().color());\r\n    setPaper(pal.base().color());\r\n    setSelectionForegroundColor(pal.highlightedText().color());\r\n    setSelectionBackgroundColor(pal.highlight().color());\r\n\r\n#if defined(Q_OS_WIN)\r\n    setEolMode(EolWindows);\r\n#else\r\n    // Note that EolMac is pre-OS/X.\r\n    setEolMode(EolUnix);\r\n#endif\r\n\r\n    // Capturing the mouse seems to cause problems on multi-head systems. Qt\r\n    // should do the right thing anyway.\r\n    SendScintilla(SCI_SETMOUSEDOWNCAPTURES, 0UL);\r\n\r\n    setMatchedBraceForegroundColor(Qt::blue);\r\n    setUnmatchedBraceForegroundColor(Qt::red);\r\n\r\n\t//下面这个不能随意放开，否则在一个长行的情况下，进行替换操作将非常慢\r\n\t//20221123用户反馈替换非常慢，对比ndd后查找得到的问题。\r\n    setAnnotationDisplay(AnnotationHidden);\r\n    setLexer();\r\n\r\n    // Set the visible policy.  These are the same as SciTE's defaults\r\n    // which, presumably, are sensible.\r\n    SendScintilla(SCI_SETVISIBLEPOLICY, VISIBLE_STRICT | VISIBLE_SLOP, 4);\r\n\r\n    // The default behaviour is unexpected.\r\n    SendScintilla(SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR,\r\n            SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE);\r\n\r\n    // Create the standard command set.\r\n    stdCmds = new QsciCommandSet(this);\r\n\r\n    doc.display(this,0);\r\n}\r\n\r\n\r\n// The dtor.\r\nQsciScintilla::~QsciScintilla()\r\n{\r\n    // Detach any current lexer.\r\n    detachLexer();\r\n\r\n    doc.undisplay(this);\r\n    delete stdCmds;\r\n}\r\n\r\n\r\n// Return the current text colour.\r\nQColor QsciScintilla::color() const\r\n{\r\n    return nl_text_colour;\r\n}\r\n\r\n\r\n// Set the text colour.\r\nvoid QsciScintilla::setColor(const QColor &c)\r\n{\r\n    if (lex.isNull())\r\n    {\r\n        // Assume style 0 applies to everything so that we don't need to use\r\n        // SCI_STYLECLEARALL which clears everything.\r\n        SendScintilla(SCI_STYLESETFORE, 0, c);\r\n        nl_text_colour = c;\r\n    }\r\n}\r\n\r\n\r\n// Return the overwrite mode.\r\nbool QsciScintilla::overwriteMode() const\r\n{\r\n    return SendScintilla(SCI_GETOVERTYPE);\r\n}\r\n\r\n\r\n// Set the overwrite mode.\r\nvoid QsciScintilla::setOverwriteMode(bool overwrite)\r\n{\r\n    SendScintilla(SCI_SETOVERTYPE, overwrite);\r\n}\r\n\r\n\r\n// Return the current paper colour.\r\nQColor QsciScintilla::paper() const\r\n{\r\n    return nl_paper_colour;\r\n}\r\n\r\n\r\n// Set the paper colour.\r\nvoid QsciScintilla::setPaper(const QColor &c)\r\n{\r\n    if (lex.isNull())\r\n    {\r\n        // Assume style 0 applies to everything so that we don't need to use\r\n        // SCI_STYLECLEARALL which clears everything.  We still have to set the\r\n        // default style as well for the background without any text.\r\n        SendScintilla(SCI_STYLESETBACK, 0, c);\r\n        SendScintilla(SCI_STYLESETBACK, STYLE_DEFAULT, c);\r\n        nl_paper_colour = c;\r\n    }\r\n}\r\n\r\n\r\n// Set the default font.\r\nvoid QsciScintilla::setFont(const QFont &f)\r\n{\r\n    if (lex.isNull())\r\n    {\r\n        // Assume style 0 applies to everything so that we don't need to use\r\n        // SCI_STYLECLEARALL which clears everything.\r\n        setStylesFont(f, 0);\r\n        QWidget::setFont(f);\r\n    }\r\n}\r\n\r\n\r\n// Enable/disable auto-indent.\r\nvoid QsciScintilla::setAutoIndent(bool autoindent)\r\n{\r\n    autoInd = autoindent;\r\n}\r\n\r\n\r\n// Set the brace matching mode.\r\nvoid QsciScintilla::setBraceMatching(BraceMatch bm)\r\n{\r\n    braceMode = bm;\r\n}\r\n\r\n\r\n// Handle the addition of a character.\r\nvoid QsciScintilla::handleCharAdded(int ch)\r\n{\r\n    // Ignore if there is a selection.\r\n    long pos = SendScintilla(SCI_GETSELECTIONSTART);\r\n\r\n    if (pos != SendScintilla(SCI_GETSELECTIONEND) || pos == 0)\r\n        return;\r\n\r\n    // If auto-completion is already active then see if this character is a\r\n    // start character.  If it is then create a new list which will be a subset\r\n    // of the current one.  The case where it isn't a start character seems to\r\n    // be handled correctly elsewhere.\r\n    if (isListActive() && isStartChar(ch))\r\n    {\r\n        cancelList();\r\n        startAutoCompletion(acSource, false, use_single == AcusAlways);\r\n\r\n        return;\r\n    }\r\n\r\n    // Handle call tips.\r\n    if (call_tips_style != CallTipsNone && !lex.isNull() && strchr(\"(),\", ch) != NULL)\r\n        callTip();\r\n\r\n    // Handle auto-indentation.\r\n    if (autoInd)\r\n    {\r\n        if (lex.isNull() || (lex->autoIndentStyle() & AiMaintain))\r\n            maintainIndentation(ch, pos);\r\n        else\r\n            autoIndentation(ch, pos);\r\n    }\r\n\r\n    // See if we might want to start auto-completion.\r\n    if (!isCallTipActive() && acSource != AcsNone)\r\n    {\r\n        if (isStartChar(ch))\r\n            startAutoCompletion(acSource, false, use_single == AcusAlways);\r\n        else if (acThresh >= 1 && isWordCharacter(ch))\r\n            startAutoCompletion(acSource, true, use_single == AcusAlways);\r\n    }\r\n}\r\n\r\n\r\n// See if a call tip is active.\r\nbool QsciScintilla::isCallTipActive() const\r\n{\r\n    return SendScintilla(SCI_CALLTIPACTIVE);\r\n}\r\n\r\n\r\n// Handle a possible change to any current call tip.\r\nvoid QsciScintilla::callTip()\r\n{\r\n    QsciAbstractAPIs *apis = lex->apis();\r\n\r\n    if (!apis)\r\n        return;\r\n\r\n    int pos, commas = 0;\r\n    bool found = false;\r\n    char ch;\r\n\r\n    pos = SendScintilla(SCI_GETCURRENTPOS);\r\n\r\n    // Move backwards through the line looking for the start of the current\r\n    // call tip and working out which argument it is.\r\n    while ((ch = getCharacter(pos)) != '\\0')\r\n    {\r\n        if (ch == ',')\r\n            ++commas;\r\n        else if (ch == ')')\r\n        {\r\n            int depth = 1;\r\n\r\n            // Ignore everything back to the start of the corresponding\r\n            // parenthesis.\r\n            while ((ch = getCharacter(pos)) != '\\0')\r\n            {\r\n                if (ch == ')')\r\n                    ++depth;\r\n                else if (ch == '(' && --depth == 0)\r\n                    break;\r\n            }\r\n        }\r\n        else if (ch == '(')\r\n        {\r\n            found = true;\r\n            break;\r\n        }\r\n    }\r\n\r\n    // Cancel any existing call tip.\r\n    SendScintilla(SCI_CALLTIPCANCEL);\r\n\r\n    // Done if there is no new call tip to set.\r\n    if (!found)\r\n        return;\r\n\r\n    QStringList context = apiContext(pos, pos, ctPos);\r\n\r\n    if (context.isEmpty())\r\n        return;\r\n\r\n    // The last word is complete, not partial.\r\n    context << QString();\r\n\r\n    ct_cursor = 0;\r\n    ct_shifts.clear();\r\n    ct_entries = apis->callTips(context, commas, call_tips_style, ct_shifts);\r\n\r\n    int nr_entries = ct_entries.count();\r\n\r\n    if (nr_entries == 0)\r\n        return;\r\n\r\n    if (maxCallTips > 0 && maxCallTips < nr_entries)\r\n    {\r\n        ct_entries = ct_entries.mid(0, maxCallTips);\r\n        nr_entries = maxCallTips;\r\n    }\r\n\r\n    int shift;\r\n    QString ct;\r\n\r\n    int nr_shifts = ct_shifts.count();\r\n\r\n    if (maxCallTips < 0 && nr_entries > 1)\r\n    {\r\n        shift = (nr_shifts > 0 ? ct_shifts.first() : 0);\r\n        ct = ct_entries[0];\r\n        ct.prepend('\\002');\r\n    }\r\n    else\r\n    {\r\n        if (nr_shifts > nr_entries)\r\n            nr_shifts = nr_entries;\r\n\r\n        // Find the biggest shift.\r\n        shift = 0;\r\n\r\n        for (int i = 0; i < nr_shifts; ++i)\r\n        {\r\n            int sh = ct_shifts[i];\r\n\r\n            if (shift < sh)\r\n                shift = sh;\r\n        }\r\n\r\n        ct = ct_entries.join(\"\\n\");\r\n    }\r\n\r\n    ScintillaBytes ct_bytes = textAsBytes(ct);\r\n    const char *cts = ScintillaBytesConstData(ct_bytes);\r\n\r\n    SendScintilla(SCI_CALLTIPSHOW, adjustedCallTipPosition(shift), cts);\r\n\r\n    // Done if there is more than one call tip.\r\n    if (nr_entries > 1)\r\n        return;\r\n\r\n    // Highlight the current argument.\r\n    const char *astart;\r\n\r\n    if (commas == 0)\r\n        astart = strchr(cts, '(');\r\n    else\r\n        for (astart = strchr(cts, ','); astart && --commas > 0; astart = strchr(astart + 1, ','))\r\n            ;\r\n\r\n    if (!astart || !*++astart)\r\n        return;\r\n\r\n    // The end is at the next comma or unmatched closing parenthesis.\r\n    const char *aend;\r\n    int depth = 0;\r\n\r\n    for (aend = astart; *aend; ++aend)\r\n    {\r\n        char ch = *aend;\r\n\r\n        if (ch == ',' && depth == 0)\r\n            break;\r\n        else if (ch == '(')\r\n            ++depth;\r\n        else if (ch == ')')\r\n        {\r\n            if (depth == 0)\r\n                break;\r\n\r\n            --depth;\r\n        }\r\n    }\r\n\r\n    if (astart != aend)\r\n        SendScintilla(SCI_CALLTIPSETHLT, astart - cts, aend - cts);\r\n}\r\n\r\n\r\n// Handle a call tip click.\r\nvoid QsciScintilla::handleCallTipClick(int dir)\r\n{\r\n    int nr_entries = ct_entries.count();\r\n\r\n    // Move the cursor while bounds checking.\r\n    if (dir == 1)\r\n    {\r\n        if (ct_cursor - 1 < 0)\r\n            return;\r\n\r\n        --ct_cursor;\r\n    }\r\n    else if (dir == 2)\r\n    {\r\n        if (ct_cursor + 1 >= nr_entries)\r\n            return;\r\n\r\n        ++ct_cursor;\r\n    }\r\n    else\r\n        return;\r\n\r\n    int shift = (ct_shifts.count() > ct_cursor ? ct_shifts[ct_cursor] : 0);\r\n    QString ct = ct_entries[ct_cursor];\r\n\r\n    // Add the arrows.\r\n    if (ct_cursor < nr_entries - 1)\r\n        ct.prepend('\\002');\r\n\r\n    if (ct_cursor > 0)\r\n        ct.prepend('\\001');\r\n\r\n    ScintillaBytes ct_bytes = textAsBytes(ct);\r\n    const char *cts = ScintillaBytesConstData(ct_bytes);\r\n\r\n    SendScintilla(SCI_CALLTIPSHOW, adjustedCallTipPosition(shift), cts);\r\n}\r\n\r\n\r\n// Shift the position of the call tip (to take any context into account) but\r\n// don't go before the start of the line.\r\nint QsciScintilla::adjustedCallTipPosition(int ctshift) const\r\n{\r\n    int ct = ctPos;\r\n\r\n    if (ctshift)\r\n    {\r\n        int ctmin = SendScintilla(SCI_POSITIONFROMLINE, SendScintilla(SCI_LINEFROMPOSITION, ct));\r\n\r\n        if (ct - ctshift < ctmin)\r\n            ct = ctmin;\r\n    }\r\n\r\n    return ct;\r\n}\r\n\r\n\r\n// Return the list of words that make up the context preceding the given\r\n// position.  The list will only have more than one element if there is a lexer\r\n// set and it defines start strings.  If so, then the last element might be\r\n// empty if a start string has just been typed.  On return pos is at the start\r\n// of the context.\r\nQStringList QsciScintilla::apiContext(int pos, int &context_start,\r\n        int &last_word_start)\r\n{\r\n    enum {\r\n        Either,\r\n        Separator,\r\n        Word\r\n    };\r\n\r\n    QStringList words;\r\n    int good_pos = pos, expecting = Either;\r\n\r\n    last_word_start = -1;\r\n\r\n    while (pos > 0)\r\n    {\r\n        if (getSeparator(pos))\r\n        {\r\n            if (expecting == Either)\r\n                words.prepend(QString());\r\n            else if (expecting == Word)\r\n                break;\r\n\r\n            good_pos = pos;\r\n            expecting = Word;\r\n        }\r\n        else\r\n        {\r\n            QString word = getWord(pos);\r\n\r\n            if (word.isEmpty() || expecting == Separator)\r\n                break;\r\n\r\n            words.prepend(word);\r\n            good_pos = pos;\r\n            expecting = Separator;\r\n\r\n            // Return the position of the start of the last word if required.\r\n            if (last_word_start < 0)\r\n                last_word_start = pos;\r\n        }\r\n\r\n        // Strip any preceding spaces (mainly around operators).\r\n        char ch;\r\n\r\n        while ((ch = getCharacter(pos)) != '\\0')\r\n        {\r\n            // This is the same definition of space that Scintilla uses.\r\n            if (ch != ' ' && (ch < 0x09 || ch > 0x0d))\r\n            {\r\n                ++pos;\r\n                break;\r\n            }\r\n        }\r\n    }\r\n\r\n    // A valid sequence always starts with a word and so should be expecting a\r\n    // separator.\r\n    if (expecting != Separator)\r\n        words.clear();\r\n\r\n    context_start = good_pos;\r\n\r\n    return words;\r\n}\r\n\r\n\r\n// Try and get a lexer's word separator from the text before the current\r\n// position.  Return true if one was found and adjust the position accordingly.\r\nbool QsciScintilla::getSeparator(int &pos) const\r\n{\r\n    int opos = pos;\r\n\r\n    // Go through each separator.\r\n    for (int i = 0; i < wseps.count(); ++i)\r\n    {\r\n        const QString &ws = wseps[i];\r\n\r\n        // Work backwards.\r\n        uint l;\r\n\r\n        for (l = ws.length(); l; --l)\r\n        {\r\n            char ch = getCharacter(pos);\r\n\r\n            if (ch == '\\0' || ws.at(l - 1) != ch)\r\n                break;\r\n        }\r\n\r\n        if (!l)\r\n            return true;\r\n\r\n        // Reset for the next separator.\r\n        pos = opos;\r\n    }\r\n\r\n    return false;\r\n}\r\n\r\n\r\n// Try and get a word from the text before the current position.  Return the\r\n// word if one was found and adjust the position accordingly.\r\nQString QsciScintilla::getWord(int &pos) const\r\n{\r\n    QString word;\r\n    bool numeric = true;\r\n    char ch;\r\n\r\n    while ((ch = getCharacter(pos)) != '\\0')\r\n    {\r\n        if (!isWordCharacter(ch))\r\n        {\r\n            ++pos;\r\n            break;\r\n        }\r\n\r\n        if (ch < '0' || ch > '9')\r\n            numeric = false;\r\n\r\n        word.prepend(ch);\r\n    }\r\n\r\n    // We don't auto-complete numbers.\r\n    if (numeric)\r\n        word.truncate(0);\r\n\r\n    return word;\r\n}\r\n\r\n\r\n// Get the \"next\" character (ie. the one before the current position) in the\r\n// current line.  The character will be '\\0' if there are no more.\r\nchar QsciScintilla::getCharacter(int &pos) const\r\n{\r\n    if (pos <= 0)\r\n        return '\\0';\r\n\r\n    char ch = SendScintilla(SCI_GETCHARAT, --pos);\r\n\r\n    // Don't go past the end of the previous line.\r\n    if (ch == '\\n' || ch == '\\r')\r\n    {\r\n        ++pos;\r\n        return '\\0';\r\n    }\r\n\r\n    return ch;\r\n}\r\n\r\n\r\n// See if a character is an auto-completion start character, ie. the last\r\n// character of a word separator.\r\nbool QsciScintilla::isStartChar(char ch) const\r\n{\r\n    QString s = QChar(ch);\r\n\r\n    for (int i = 0; i < wseps.count(); ++i)\r\n        if (wseps[i].endsWith(s))\r\n            return true;\r\n\r\n    return false;\r\n}\r\n\r\n\r\n// Possibly start auto-completion.\r\nvoid QsciScintilla::startAutoCompletion(AutoCompletionSource acs,\r\n        bool checkThresh, bool choose_single)\r\n{\r\n    int start, ignore;\r\n    QStringList context = apiContext(SendScintilla(SCI_GETCURRENTPOS), start,\r\n            ignore);\r\n\r\n    if (context.isEmpty())\r\n        return;\r\n\r\n    // Get the last word's raw data and length.\r\n    ScintillaBytes s = textAsBytes(context.last());\r\n    const char *last_data = ScintillaBytesConstData(s);\r\n    int last_len = s.length();\r\n\r\n    if (checkThresh && last_len < acThresh)\r\n        return;\r\n\r\n    // Generate the string representing the valid words to select from.\r\n    QStringList wlist;\r\n\r\n    if ((acs == AcsAll || acs == AcsAPIs) && !lex.isNull())\r\n    {\r\n        QsciAbstractAPIs *apis = lex->apis();\r\n\r\n        if (apis)\r\n            apis->updateAutoCompletionList(context, wlist);\r\n    }\r\n\r\n    if (acs == AcsAll || acs == AcsDocument)\r\n    {\r\n        int sflags = SCFIND_WORDSTART;\r\n\r\n        if (!SendScintilla(SCI_AUTOCGETIGNORECASE))\r\n            sflags |= SCFIND_MATCHCASE;\r\n\r\n        SendScintilla(SCI_SETSEARCHFLAGS, sflags);\r\n\r\n        int pos = 0;\r\n        int dlen = SendScintilla(SCI_GETLENGTH);\r\n        int caret = SendScintilla(SCI_GETCURRENTPOS);\r\n        int clen = caret - start;\r\n        char *orig_context = new char[clen + 1];\r\n\r\n        SendScintilla(SCI_GETTEXTRANGE, start, caret, orig_context);\r\n\r\n        for (;;)\r\n        {\r\n            int fstart;\r\n\r\n            SendScintilla(SCI_SETTARGETSTART, pos);\r\n            SendScintilla(SCI_SETTARGETEND, dlen);\r\n\r\n            if ((fstart = SendScintilla(SCI_SEARCHINTARGET, clen, orig_context)) < 0)\r\n                break;\r\n\r\n            // Move past the root part.\r\n            pos = fstart + clen;\r\n\r\n            // Skip if this is the context we are auto-completing.\r\n            if (pos == caret)\r\n                continue;\r\n\r\n            // Get the rest of this word.\r\n            QString w = last_data;\r\n\r\n            while (pos < dlen)\r\n            {\r\n                char ch = SendScintilla(SCI_GETCHARAT, pos);\r\n\r\n                if (!isWordCharacter(ch))\r\n                    break;\r\n\r\n                w += ch;\r\n                ++pos;\r\n            }\r\n\r\n            // Add the word if it isn't already there.\r\n            if (!w.isEmpty())\r\n            {\r\n                bool keep;\r\n\r\n                // If there are APIs then check if the word is already present\r\n                // as an API word (i.e. with a trailing space).\r\n                if (acs == AcsAll)\r\n                {\r\n                    QString api_w = w;\r\n                    api_w.append(' ');\r\n\r\n                    keep = !wlist.contains(api_w);\r\n                }\r\n                else\r\n                {\r\n                    keep = true;\r\n                }\r\n\r\n                if (keep && !wlist.contains(w))\r\n                    wlist.append(w);\r\n            }\r\n        }\r\n\r\n        delete []orig_context;\r\n    }\r\n\r\n    if (wlist.isEmpty())\r\n        return;\r\n\r\n    wlist.sort();\r\n\r\n    SendScintilla(SCI_AUTOCSETCHOOSESINGLE, choose_single);\r\n    SendScintilla(SCI_AUTOCSETSEPARATOR, acSeparator);\r\n\r\n    ScintillaBytes wlist_s = textAsBytes(wlist.join(QChar(acSeparator)));\r\n    SendScintilla(SCI_AUTOCSHOW, last_len, ScintillaBytesConstData(wlist_s));\r\n}\r\n\r\n\r\n// Maintain the indentation of the previous line.\r\nvoid QsciScintilla::maintainIndentation(char ch, long pos)\r\n{\r\n    if (ch != '\\r' && ch != '\\n')\r\n        return;\r\n\r\n    int curr_line = SendScintilla(SCI_LINEFROMPOSITION, pos);\r\n\r\n    // Get the indentation of the preceding non-zero length line.\r\n    int ind = 0;\r\n\r\n    for (int line = curr_line - 1; line >= 0; --line)\r\n    {\r\n        if (SendScintilla(SCI_GETLINEENDPOSITION, line) >\r\n            SendScintilla(SCI_POSITIONFROMLINE, line))\r\n        {\r\n            ind = indentation(line);\r\n            break;\r\n        }\r\n    }\r\n\r\n    if (ind > 0)\r\n        autoIndentLine(pos, curr_line, ind);\r\n}\r\n\r\n\r\n// Implement auto-indentation.\r\nvoid QsciScintilla::autoIndentation(char ch, long pos)\r\n{\r\n    int curr_line = SendScintilla(SCI_LINEFROMPOSITION, pos);\r\n    int ind_width = indentWidth();\r\n    long curr_line_start = SendScintilla(SCI_POSITIONFROMLINE, curr_line);\r\n\r\n    const char *block_start = lex->blockStart();\r\n    bool start_single = (block_start && qstrlen(block_start) == 1);\r\n\r\n    const char *block_end = lex->blockEnd();\r\n    bool end_single = (block_end && qstrlen(block_end) == 1);\r\n\r\n    if (end_single && block_end[0] == ch)\r\n    {\r\n        if (!(lex->autoIndentStyle() & AiClosing) && rangeIsWhitespace(curr_line_start, pos - 1))\r\n            autoIndentLine(pos, curr_line, blockIndent(curr_line - 1) - ind_width);\r\n    }\r\n    else if (start_single && block_start[0] == ch)\r\n    {\r\n        // De-indent if we have already indented because the previous line was\r\n        // a start of block keyword.\r\n        if (!(lex->autoIndentStyle() & AiOpening) && curr_line > 0 && getIndentState(curr_line - 1) == isKeywordStart && rangeIsWhitespace(curr_line_start, pos - 1))\r\n            autoIndentLine(pos, curr_line, blockIndent(curr_line - 1) - ind_width);\r\n    }\r\n    else if (ch == '\\r' || ch == '\\n')\r\n    {\r\n        // Don't auto-indent the line (ie. preserve its existing indentation)\r\n        // if we have inserted a new line above by pressing return at the start\r\n        // of this line - in other words, if the previous line is empty.\r\n        long prev_line_length = SendScintilla(SCI_GETLINEENDPOSITION, curr_line - 1) - SendScintilla(SCI_POSITIONFROMLINE, curr_line - 1);\r\n\r\n        if (prev_line_length != 0)\r\n            autoIndentLine(pos, curr_line, blockIndent(curr_line - 1));\r\n    }\r\n}\r\n\r\n\r\n// Set the indentation for a line.\r\nvoid QsciScintilla::autoIndentLine(long pos, int line, int indent)\r\n{\r\n    if (indent < 0)\r\n        return;\r\n\r\n    long pos_before = SendScintilla(SCI_GETLINEINDENTPOSITION, line);\r\n    SendScintilla(SCI_SETLINEINDENTATION, line, indent);\r\n    long pos_after = SendScintilla(SCI_GETLINEINDENTPOSITION, line);\r\n    long new_pos = -1;\r\n\r\n    if (pos_after > pos_before)\r\n    {\r\n        new_pos = pos + (pos_after - pos_before);\r\n    }\r\n    else if (pos_after < pos_before && pos >= pos_after)\r\n    {\r\n        if (pos >= pos_before)\r\n            new_pos = pos + (pos_after - pos_before);\r\n        else\r\n            new_pos = pos_after;\r\n    }\r\n\r\n    if (new_pos >= 0)\r\n        SendScintilla(SCI_SETSEL, new_pos, new_pos);\r\n}\r\n\r\n\r\n// Return the indentation of the block defined by the given line (or something\r\n// significant before).\r\nint QsciScintilla::blockIndent(int line)\r\n{\r\n    if (line < 0)\r\n        return 0;\r\n\r\n    // Handle the trvial case.\r\n    if (!lex->blockStartKeyword() && !lex->blockStart() && !lex->blockEnd())\r\n        return indentation(line);\r\n\r\n    int line_limit = line - lex->blockLookback();\r\n\r\n    if (line_limit < 0)\r\n        line_limit = 0;\r\n\r\n    for (int l = line; l >= line_limit; --l)\r\n    {\r\n        IndentState istate = getIndentState(l);\r\n\r\n        if (istate != isNone)\r\n        {\r\n            int ind_width = indentWidth();\r\n            int ind = indentation(l);\r\n\r\n            if (istate == isBlockStart)\r\n            {\r\n                if (!(lex -> autoIndentStyle() & AiOpening))\r\n                    ind += ind_width;\r\n            }\r\n            else if (istate == isBlockEnd)\r\n            {\r\n                if (lex -> autoIndentStyle() & AiClosing)\r\n                    ind -= ind_width;\r\n\r\n                if (ind < 0)\r\n                    ind = 0;\r\n            }\r\n            else if (line == l)\r\n                ind += ind_width;\r\n\r\n            return ind;\r\n        }\r\n    }\r\n\r\n    return indentation(line);\r\n}\r\n\r\n\r\n// Return true if all characters starting at spos up to, but not including\r\n// epos, are spaces or tabs.\r\nbool QsciScintilla::rangeIsWhitespace(long spos, long epos)\r\n{\r\n    while (spos < epos)\r\n    {\r\n        char ch = SendScintilla(SCI_GETCHARAT, spos);\r\n\r\n        if (ch != ' ' && ch != '\\t')\r\n            return false;\r\n\r\n        ++spos;\r\n    }\r\n\r\n    return true;\r\n}\r\n\r\n\r\n// Returns the indentation state of a line.\r\nQsciScintilla::IndentState QsciScintilla::getIndentState(int line)\r\n{\r\n    IndentState istate;\r\n\r\n    // Get the styled text.\r\n    long spos = SendScintilla(SCI_POSITIONFROMLINE, line);\r\n    long epos = SendScintilla(SCI_POSITIONFROMLINE, line + 1);\r\n\r\n    char *text = new char[(epos - spos + 1) * 2];\r\n\r\n    SendScintilla(SCI_GETSTYLEDTEXT, spos, epos, text);\r\n\r\n    int style, bstart_off, bend_off;\r\n\r\n    // Block start/end takes precedence over keywords.\r\n    const char *bstart_words = lex->blockStart(&style);\r\n    bstart_off = findStyledWord(text, style, bstart_words);\r\n\r\n    const char *bend_words = lex->blockEnd(&style);\r\n    bend_off = findStyledWord(text, style, bend_words);\r\n\r\n    // If there is a block start but no block end characters then ignore it\r\n    // unless the block start is the last significant thing on the line, ie.\r\n    // assume Python-like blocking.\r\n    if (bstart_off >= 0 && !bend_words)\r\n        for (int i = bstart_off * 2; text[i] != '\\0'; i += 2)\r\n            if (!QChar(text[i]).isSpace())\r\n                return isNone;\r\n\r\n    if (bstart_off > bend_off)\r\n        istate = isBlockStart;\r\n    else if (bend_off > bstart_off)\r\n        istate = isBlockEnd;\r\n    else\r\n    {\r\n        const char *words = lex->blockStartKeyword(&style);\r\n\r\n        istate = (findStyledWord(text,style,words) >= 0) ? isKeywordStart : isNone;\r\n    }\r\n\r\n    delete[] text;\r\n\r\n    return istate;\r\n}\r\n\r\n\r\n// text is a pointer to some styled text (ie. a character byte followed by a\r\n// style byte).  style is a style number.  words is a space separated list of\r\n// words.  Returns the position in the text immediately after the last one of\r\n// the words with the style.  The reason we are after the last, and not the\r\n// first, occurance is that we are looking for words that start and end a block\r\n// where the latest one is the most significant.\r\nint QsciScintilla::findStyledWord(const char *text, int style,\r\n        const char *words)\r\n{\r\n    if (!words)\r\n        return -1;\r\n\r\n    // Find the range of text with the style we are looking for.\r\n    const char *stext;\r\n\r\n    for (stext = text; stext[1] != style; stext += 2)\r\n        if (stext[0] == '\\0')\r\n            return -1;\r\n\r\n    // Move to the last character.\r\n    const char *etext = stext;\r\n\r\n    while (etext[2] != '\\0')\r\n        etext += 2;\r\n\r\n    // Backtrack until we find the style.  There will be one.\r\n    while (etext[1] != style)\r\n        etext -= 2;\r\n\r\n    // Look for each word in turn.\r\n    while (words[0] != '\\0')\r\n    {\r\n        // Find the end of the word.\r\n        const char *eword = words;\r\n\r\n        while (eword[1] != ' ' && eword[1] != '\\0')\r\n            ++eword;\r\n\r\n        // Now search the text backwards.\r\n        const char *wp = eword;\r\n\r\n        for (const char *tp = etext; tp >= stext; tp -= 2)\r\n        {\r\n            if (tp[0] != wp[0] || tp[1] != style)\r\n            {\r\n                // Reset the search.\r\n                wp = eword;\r\n                continue;\r\n            }\r\n\r\n            // See if all the word has matched.\r\n            if (wp-- == words)\r\n                return ((tp - text) / 2) + (eword - words) + 1;\r\n        }\r\n\r\n        // Move to the start of the next word if there is one.\r\n        words = eword + 1;\r\n\r\n        if (words[0] == ' ')\r\n            ++words;\r\n    }\r\n\r\n    return -1;\r\n}\r\n\r\n\r\n// Return true if the code page is UTF8.\r\nbool QsciScintilla::isUtf8() const\r\n{\r\n    return (SendScintilla(SCI_GETCODEPAGE) == SC_CP_UTF8);\r\n}\r\n\r\n\r\n// Set the code page.\r\nvoid QsciScintilla::setUtf8(bool cp)\r\n{\r\n    SendScintilla(SCI_SETCODEPAGE, (cp ? SC_CP_UTF8 : 0));\r\n}\r\n\r\n\r\n// Return the end-of-line mode.\r\nQsciScintilla::EolMode QsciScintilla::eolMode() const\r\n{\r\n    return (EolMode)SendScintilla(SCI_GETEOLMODE);\r\n}\r\n\r\n\r\n// Set the end-of-line mode.\r\nvoid QsciScintilla::setEolMode(EolMode mode)\r\n{\r\n    SendScintilla(SCI_SETEOLMODE, mode);\r\n}\r\n\r\n\r\n// Convert the end-of-lines to a particular mode.\r\nvoid QsciScintilla::convertEols(EolMode mode)\r\n{\r\n    SendScintilla(SCI_CONVERTEOLS, mode);\r\n}\r\n\r\n\r\n// Add an edge column.\r\nvoid QsciScintilla::addEdgeColumn(int colnr, const QColor &col)\r\n{\r\n    SendScintilla(SCI_MULTIEDGEADDLINE, colnr, col);\r\n}\r\n\r\n\r\n// Clear all multi-edge columns.\r\nvoid QsciScintilla::clearEdgeColumns()\r\n{\r\n    SendScintilla(SCI_MULTIEDGECLEARALL);\r\n}\r\n\r\n\r\n// Return the edge colour.\r\nQColor QsciScintilla::edgeColor() const\r\n{\r\n    return asQColor(SendScintilla(SCI_GETEDGECOLOUR));\r\n}\r\n\r\n\r\n// Set the edge colour.\r\nvoid QsciScintilla::setEdgeColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETEDGECOLOUR, col);\r\n}\r\n\r\n\r\n// Return the edge column.\r\nint QsciScintilla::edgeColumn() const\r\n{\r\n    return SendScintilla(SCI_GETEDGECOLUMN);\r\n}\r\n\r\n\r\n// Set the edge column.\r\nvoid QsciScintilla::setEdgeColumn(int colnr)\r\n{\r\n    SendScintilla(SCI_SETEDGECOLUMN, colnr);\r\n}\r\n\r\n\r\n// Return the edge mode.\r\nQsciScintilla::EdgeMode QsciScintilla::edgeMode() const\r\n{\r\n    return (EdgeMode)SendScintilla(SCI_GETEDGEMODE);\r\n}\r\n\r\n\r\n// Set the edge mode.\r\nvoid QsciScintilla::setEdgeMode(EdgeMode mode)\r\n{\r\n    SendScintilla(SCI_SETEDGEMODE, mode);\r\n}\r\n\r\n\r\n// Return the end-of-line visibility.\r\nbool QsciScintilla::eolVisibility() const\r\n{\r\n    return SendScintilla(SCI_GETVIEWEOL);\r\n}\r\n\r\n\r\n// Set the end-of-line visibility.\r\nvoid QsciScintilla::setEolVisibility(bool visible)\r\n{\r\n    SendScintilla(SCI_SETVIEWEOL, visible);\r\n}\r\n\r\n\r\n// Return the extra ascent.\r\nint QsciScintilla::extraAscent() const\r\n{\r\n    return SendScintilla(SCI_GETEXTRAASCENT);\r\n}\r\n\r\n\r\n// Set the extra ascent.\r\nvoid QsciScintilla::setExtraAscent(int extra)\r\n{\r\n    SendScintilla(SCI_SETEXTRAASCENT, extra);\r\n}\r\n\r\n\r\n// Return the extra descent.\r\nint QsciScintilla::extraDescent() const\r\n{\r\n    return SendScintilla(SCI_GETEXTRADESCENT);\r\n}\r\n\r\n\r\n// Set the extra descent.\r\nvoid QsciScintilla::setExtraDescent(int extra)\r\n{\r\n    SendScintilla(SCI_SETEXTRADESCENT, extra);\r\n}\r\n\r\n\r\n// Return the whitespace size.\r\nint QsciScintilla::whitespaceSize() const\r\n{\r\n    return SendScintilla(SCI_GETWHITESPACESIZE);\r\n}\r\n\r\n\r\n// Set the whitespace size.\r\nvoid QsciScintilla::setWhitespaceSize(int size)\r\n{\r\n    SendScintilla(SCI_SETWHITESPACESIZE, size);\r\n}\r\n\r\n\r\n// Set the whitespace background colour.\r\nvoid QsciScintilla::setWhitespaceBackgroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETWHITESPACEBACK, col.isValid(), col);\r\n}\r\n\r\n\r\n// Set the whitespace foreground colour.\r\nvoid QsciScintilla::setWhitespaceForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETWHITESPACEFORE, col.isValid(), col);\r\n}\r\n\r\n\r\n// Return the whitespace visibility.\r\nQsciScintilla::WhitespaceVisibility QsciScintilla::whitespaceVisibility() const\r\n{\r\n    return (WhitespaceVisibility)SendScintilla(SCI_GETVIEWWS);\r\n}\r\n\r\n\r\n// Set the whitespace visibility.\r\nvoid QsciScintilla::setWhitespaceVisibility(WhitespaceVisibility mode)\r\n{\r\n    SendScintilla(SCI_SETVIEWWS, mode);\r\n}\r\n\r\n\r\n// Return the tab draw mode.\r\nQsciScintilla::TabDrawMode QsciScintilla::tabDrawMode() const\r\n{\r\n    return (TabDrawMode)SendScintilla(SCI_GETTABDRAWMODE);\r\n}\r\n\r\n\r\n// Set the tab draw mode.\r\nvoid QsciScintilla::setTabDrawMode(TabDrawMode mode)\r\n{\r\n    SendScintilla(SCI_SETTABDRAWMODE, mode);\r\n}\r\n\r\n\r\n// Return the line wrap mode.\r\nQsciScintilla::WrapMode QsciScintilla::wrapMode() const\r\n{\r\n    return (WrapMode)SendScintilla(SCI_GETWRAPMODE);\r\n}\r\n\r\n\r\n// Set the line wrap mode.\r\nvoid QsciScintilla::setWrapMode(WrapMode mode)\r\n{\r\n    SendScintilla(SCI_SETLAYOUTCACHE,\r\n            (mode == WrapNone ? SC_CACHE_CARET : SC_CACHE_DOCUMENT));\r\n    SendScintilla(SCI_SETWRAPMODE, mode);\r\n}\r\n\r\n\r\n// Return the line wrap indent mode.\r\nQsciScintilla::WrapIndentMode QsciScintilla::wrapIndentMode() const\r\n{\r\n    return (WrapIndentMode)SendScintilla(SCI_GETWRAPINDENTMODE);\r\n}\r\n\r\n\r\n// Set the line wrap indent mode.\r\nvoid QsciScintilla::setWrapIndentMode(WrapIndentMode mode)\r\n{\r\n    SendScintilla(SCI_SETWRAPINDENTMODE, mode);\r\n}\r\n\r\n\r\n// Set the line wrap visual flags.\r\nvoid QsciScintilla::setWrapVisualFlags(WrapVisualFlag endFlag,\r\n        WrapVisualFlag startFlag, int indent)\r\n{\r\n    int flags = SC_WRAPVISUALFLAG_NONE;\r\n    int loc = SC_WRAPVISUALFLAGLOC_DEFAULT;\r\n\r\n    switch (endFlag)\r\n    {\r\n    case WrapFlagNone:\r\n        break;\r\n\r\n    case WrapFlagByText:\r\n        flags |= SC_WRAPVISUALFLAG_END;\r\n        loc |= SC_WRAPVISUALFLAGLOC_END_BY_TEXT;\r\n        break;\r\n\r\n    case WrapFlagByBorder:\r\n        flags |= SC_WRAPVISUALFLAG_END;\r\n        break;\r\n\r\n    case WrapFlagInMargin:\r\n        flags |= SC_WRAPVISUALFLAG_MARGIN;\r\n        break;\r\n    }\r\n\r\n    switch (startFlag)\r\n    {\r\n    case WrapFlagNone:\r\n        break;\r\n\r\n    case WrapFlagByText:\r\n        flags |= SC_WRAPVISUALFLAG_START;\r\n        loc |= SC_WRAPVISUALFLAGLOC_START_BY_TEXT;\r\n        break;\r\n\r\n    case WrapFlagByBorder:\r\n        flags |= SC_WRAPVISUALFLAG_START;\r\n        break;\r\n\r\n    case WrapFlagInMargin:\r\n        flags |= SC_WRAPVISUALFLAG_MARGIN;\r\n        break;\r\n    }\r\n\r\n    SendScintilla(SCI_SETWRAPVISUALFLAGS, flags);\r\n    SendScintilla(SCI_SETWRAPVISUALFLAGSLOCATION, loc);\r\n    SendScintilla(SCI_SETWRAPSTARTINDENT, indent);\r\n}\r\n\r\n\r\n// Set the folding style.\r\nvoid QsciScintilla::setFolding(FoldStyle folding, int margin)\r\n{\r\n    fold = folding;\r\n    foldmargin = margin;\r\n\r\n    if (folding == NoFoldStyle)\r\n    {\r\n        SendScintilla(SCI_SETMARGINWIDTHN, margin, 0L);\r\n        return;\r\n    }\r\n\r\n    int mask = SendScintilla(SCI_GETMODEVENTMASK);\r\n    SendScintilla(SCI_SETMODEVENTMASK, mask | SC_MOD_CHANGEFOLD);\r\n\r\n    SendScintilla(SCI_SETFOLDFLAGS, SC_FOLDFLAG_LINEAFTER_CONTRACTED);\r\n\r\n    SendScintilla(SCI_SETMARGINTYPEN, margin, (long)SC_MARGIN_SYMBOL);\r\n    SendScintilla(SCI_SETMARGINMASKN, margin, SC_MASK_FOLDERS);\r\n    SendScintilla(SCI_SETMARGINSENSITIVEN, margin, 1);\r\n\r\n    // Set the marker symbols to use.\r\n    switch (folding)\r\n    {\r\n    case NoFoldStyle:\r\n        break;\r\n\r\n    case PlainFoldStyle:\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_MINUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDER, SC_MARK_PLUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDERSUB);\r\n        setFoldMarker(SC_MARKNUM_FOLDERTAIL);\r\n        setFoldMarker(SC_MARKNUM_FOLDEREND);\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPENMID);\r\n        setFoldMarker(SC_MARKNUM_FOLDERMIDTAIL);\r\n        break;\r\n\r\n    case CircledFoldStyle:\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_CIRCLEMINUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDER, SC_MARK_CIRCLEPLUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDERSUB);\r\n        setFoldMarker(SC_MARKNUM_FOLDERTAIL);\r\n        setFoldMarker(SC_MARKNUM_FOLDEREND);\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPENMID);\r\n        setFoldMarker(SC_MARKNUM_FOLDERMIDTAIL);\r\n        break;\r\n\r\n    case BoxedFoldStyle:\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDERSUB);\r\n        setFoldMarker(SC_MARKNUM_FOLDERTAIL);\r\n        setFoldMarker(SC_MARKNUM_FOLDEREND);\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPENMID);\r\n        setFoldMarker(SC_MARKNUM_FOLDERMIDTAIL);\r\n        break;\r\n\r\n    case CircledTreeFoldStyle:\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_CIRCLEMINUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDER, SC_MARK_CIRCLEPLUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE);\r\n        setFoldMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNERCURVE);\r\n        setFoldMarker(SC_MARKNUM_FOLDEREND, SC_MARK_CIRCLEPLUSCONNECTED);\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_CIRCLEMINUSCONNECTED);\r\n        setFoldMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNERCURVE);\r\n        break;\r\n\r\n    case BoxedTreeFoldStyle:\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS);\r\n        setFoldMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE);\r\n        setFoldMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNER);\r\n        setFoldMarker(SC_MARKNUM_FOLDEREND, SC_MARK_BOXPLUSCONNECTED);\r\n        setFoldMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_BOXMINUSCONNECTED);\r\n        setFoldMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNER);\r\n        break;\r\n    }\r\n\r\n    SendScintilla(SCI_SETMARGINWIDTHN, margin, defaultFoldMarginWidth);\r\n}\r\n\r\n\r\n// Clear all current folds.\r\nvoid QsciScintilla::clearFolds()\r\n{\r\n    recolor();\r\n\r\n    int maxLine = SendScintilla(SCI_GETLINECOUNT);\r\n\r\n    for (int line = 0; line < maxLine; line++)\r\n    {\r\n        int level = SendScintilla(SCI_GETFOLDLEVEL, line);\r\n\r\n        if (level & SC_FOLDLEVELHEADERFLAG)\r\n        {\r\n            SendScintilla(SCI_SETFOLDEXPANDED, line, 1);\r\n            foldExpand(line, true, false, 0, level);\r\n            line--;\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Set up a folder marker.\r\nvoid QsciScintilla::setFoldMarker(int marknr, int mark)\r\n{\r\n    SendScintilla(SCI_MARKERDEFINE, marknr, mark);\r\n\r\n    if (mark != SC_MARK_EMPTY)\r\n    {\r\n        SendScintilla(SCI_MARKERSETFORE, marknr, QColor(Qt::white));\r\n        SendScintilla(SCI_MARKERSETBACK, marknr, QColor(128,128,128));\r\n    }\r\n}\r\n\r\n\r\n// Handle a click in the fold margin.  This is mostly taken from SciTE.\r\nvoid QsciScintilla::foldClick(int lineClick, int bstate)\r\n{\r\n    bool shift = bstate & Qt::ShiftModifier;\r\n    bool ctrl = bstate & Qt::ControlModifier;\r\n\r\n    if (shift && ctrl)\r\n    {\r\n        foldAll();\r\n        return;\r\n    }\r\n\r\n    int levelClick = SendScintilla(SCI_GETFOLDLEVEL, lineClick);\r\n\r\n    if (levelClick & SC_FOLDLEVELHEADERFLAG)\r\n    {\r\n        if (shift)\r\n        {\r\n            // Ensure all children are visible.\r\n            SendScintilla(SCI_SETFOLDEXPANDED, lineClick, 1);\r\n            foldExpand(lineClick, true, true, 100, levelClick);\r\n        }\r\n        else if (ctrl)\r\n        {\r\n            if (SendScintilla(SCI_GETFOLDEXPANDED, lineClick))\r\n            {\r\n                // Contract this line and all its children.\r\n                SendScintilla(SCI_SETFOLDEXPANDED, lineClick, 0L);\r\n                foldExpand(lineClick, false, true, 0, levelClick);\r\n            }\r\n            else\r\n            {\r\n                // Expand this line and all its children.\r\n                SendScintilla(SCI_SETFOLDEXPANDED, lineClick, 1);\r\n                foldExpand(lineClick, true, true, 100, levelClick);\r\n            }\r\n        }\r\n        else\r\n        {\r\n            // Toggle this line.\r\n            SendScintilla(SCI_TOGGLEFOLD, lineClick);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Do the hard work of hiding and showing lines.  This is mostly taken from\r\n// SciTE.\r\nvoid QsciScintilla::foldExpand(int &line, bool doExpand, bool force,\r\n        int visLevels, int level)\r\n{\r\n    int lineMaxSubord = SendScintilla(SCI_GETLASTCHILD, line,\r\n            level & SC_FOLDLEVELNUMBERMASK);\r\n\r\n    line++;\r\n\r\n    while (line <= lineMaxSubord)\r\n    {\r\n        if (force)\r\n        {\r\n            if (visLevels > 0)\r\n                SendScintilla(SCI_SHOWLINES, line, line);\r\n            else\r\n                SendScintilla(SCI_HIDELINES, line, line);\r\n        }\r\n        else if (doExpand)\r\n            SendScintilla(SCI_SHOWLINES, line, line);\r\n\r\n        int levelLine = level;\r\n\r\n        if (levelLine == -1)\r\n            levelLine = SendScintilla(SCI_GETFOLDLEVEL, line);\r\n\r\n        if (levelLine & SC_FOLDLEVELHEADERFLAG)\r\n        {\r\n            if (force)\r\n            {\r\n                if (visLevels > 1)\r\n                    SendScintilla(SCI_SETFOLDEXPANDED, line, 1);\r\n                else\r\n                    SendScintilla(SCI_SETFOLDEXPANDED, line, 0L);\r\n\r\n                foldExpand(line, doExpand, force, visLevels - 1);\r\n            }\r\n            else if (doExpand)\r\n            {\r\n                if (!SendScintilla(SCI_GETFOLDEXPANDED, line))\r\n                    SendScintilla(SCI_SETFOLDEXPANDED, line, 1);\r\n\r\n                foldExpand(line, true, force, visLevels - 1);\r\n            }\r\n            else\r\n                foldExpand(line, false, force, visLevels - 1);\r\n        }\r\n        else\r\n            line++;\r\n    }\r\n}\r\n\r\n\r\n// Fully expand (if there is any line currently folded) all text.  Otherwise,\r\n// fold all text.  This is mostly taken from SciTE.\r\nvoid QsciScintilla::foldAll(bool children)\r\n{\r\n    recolor();\r\n\r\n    int maxLine = SendScintilla(SCI_GETLINECOUNT);\r\n    bool expanding = true;\r\n\r\n    for (int lineSeek = 0; lineSeek < maxLine; lineSeek++)\r\n    {\r\n        if (SendScintilla(SCI_GETFOLDLEVEL,lineSeek) & SC_FOLDLEVELHEADERFLAG)\r\n        {\r\n            expanding = !SendScintilla(SCI_GETFOLDEXPANDED, lineSeek);\r\n            break;\r\n        }\r\n    }\r\n\r\n    for (int line = 0; line < maxLine; line++)\r\n    {\r\n        int level = SendScintilla(SCI_GETFOLDLEVEL, line);\r\n\r\n        if (!(level & SC_FOLDLEVELHEADERFLAG))\r\n            continue;\r\n\r\n        if (children ||\r\n            (SC_FOLDLEVELBASE == (level & SC_FOLDLEVELNUMBERMASK)))\r\n        {\r\n            if (expanding)\r\n            {\r\n                SendScintilla(SCI_SETFOLDEXPANDED, line, 1);\r\n                foldExpand(line, true, false, 0, level);\r\n                line--;\r\n            }\r\n            else\r\n            {\r\n                int lineMaxSubord = SendScintilla(SCI_GETLASTCHILD, line, -1);\r\n\r\n                SendScintilla(SCI_SETFOLDEXPANDED, line, 0L);\r\n\r\n                if (lineMaxSubord > line)\r\n                    SendScintilla(SCI_HIDELINES, line + 1, lineMaxSubord);\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Handle a fold change.  This is mostly taken from SciTE.\r\nvoid QsciScintilla::foldChanged(int line,int levelNow,int levelPrev)\r\n{\r\n    if (levelNow & SC_FOLDLEVELHEADERFLAG)\r\n    {\r\n        if (!(levelPrev & SC_FOLDLEVELHEADERFLAG))\r\n            SendScintilla(SCI_SETFOLDEXPANDED, line, 1);\r\n    }\r\n    else if (levelPrev & SC_FOLDLEVELHEADERFLAG)\r\n    {\r\n        if (!SendScintilla(SCI_GETFOLDEXPANDED, line))\r\n        {\r\n            // Removing the fold from one that has been contracted so should\r\n            // expand.  Otherwise lines are left invisible with no way to make\r\n            // them visible.\r\n            foldExpand(line, true, false, 0, levelPrev);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Toggle the fold for a line if it contains a fold marker.\r\nvoid QsciScintilla::foldLine(int line)\r\n{\r\n    SendScintilla(SCI_TOGGLEFOLD, line);\r\n}\r\n\r\n\r\n// Return the list of folded lines.\r\nQList<int> QsciScintilla::contractedFolds() const\r\n{\r\n    QList<int> folds;\r\n    int linenr = 0, fold_line;\r\n\r\n    while ((fold_line = SendScintilla(SCI_CONTRACTEDFOLDNEXT, linenr)) >= 0)\r\n    {\r\n        folds.append(fold_line);\r\n        linenr = fold_line + 1;\r\n    }\r\n\r\n    return folds;\r\n}\r\n\r\n\r\n// Set the fold state from a list.\r\nvoid QsciScintilla::setContractedFolds(const QList<int> &folds)\r\n{\r\n    for (int i = 0; i < folds.count(); ++i)\r\n    {\r\n        int line = folds[i];\r\n        int last_line = SendScintilla(SCI_GETLASTCHILD, line, -1);\r\n\r\n        SendScintilla(SCI_SETFOLDEXPANDED, line, 0L);\r\n        SendScintilla(SCI_HIDELINES, line + 1, last_line);\r\n    }\r\n}\r\n\r\n\r\n// Handle the SCN_MODIFIED notification.\r\nvoid QsciScintilla::handleModified(int pos, int mtype, const char *text,\r\n        int len, int added, int line, int foldNow, int foldPrev, int token,\r\n        int annotationLinesAdded)\r\n{\r\n    Q_UNUSED(pos);\r\n    Q_UNUSED(text);\r\n    Q_UNUSED(len);\r\n    Q_UNUSED(token);\r\n    Q_UNUSED(annotationLinesAdded);\r\n\r\n    if (mtype & SC_MOD_CHANGEFOLD)\r\n    {\r\n        if (fold)\r\n            foldChanged(line, foldNow, foldPrev);\r\n    }\r\n\r\n    if (mtype & (SC_MOD_INSERTTEXT | SC_MOD_DELETETEXT))\r\n    {\r\n        emit textChanged();\r\n\r\n        if (added != 0)\r\n            emit linesChanged();\r\n    }\r\n}\r\n\r\n\r\n// Zoom in a number of points.\r\nvoid QsciScintilla::zoomIn(int range)\r\n{\r\n    zoomTo(SendScintilla(SCI_GETZOOM) + range);\r\n}\r\n\r\n\r\n// Zoom in a single point.\r\nvoid QsciScintilla::zoomIn()\r\n{\r\n    SendScintilla(SCI_ZOOMIN);\r\n}\r\n\r\n\r\n// Zoom out a number of points.\r\nvoid QsciScintilla::zoomOut(int range)\r\n{\r\n    zoomTo(SendScintilla(SCI_GETZOOM) - range);\r\n}\r\n\r\n\r\n// Zoom out a single point.\r\nvoid QsciScintilla::zoomOut()\r\n{\r\n    SendScintilla(SCI_ZOOMOUT);\r\n}\r\n\r\n\r\n// Set the zoom to a number of points.\r\nvoid QsciScintilla::zoomTo(int size)\r\n{\r\n    if (size < -10)\r\n        size = -10;\r\n    else if (size > 20)\r\n        size = 20;\r\n\r\n    SendScintilla(SCI_SETZOOM, size);\r\n}\r\n\r\nFindState& QsciScintilla::getLastFindState()\r\n{\r\n\treturn findState;\r\n}\r\n\r\n\r\n// Find the first occurrence of a string.\r\n//show:会保证找到的自动，在当前屏幕上可见，这个默认是true，注意该操作非常耗时。\r\n//在批量查找或者替换的时候，如果不需要可见，最好修改为不可见。否则在替换一个长行，长行中存在几百个的情况，速度会非常慢。\r\n//本来只需要2s的操作，结果会需要30s。\r\nbool QsciScintilla::findFirst(const QString &expr, bool re, bool cs, bool wo,\r\n        bool wrap, bool forward, FindNextType findNextType, int line, int index, bool show, bool posix,\r\n        bool cxx11)\r\n{\r\n    if (expr.isEmpty())\r\n    {\r\n        findState.status = FindState::Idle;\r\n        return false;\r\n    }\r\n\r\n    findState.status = FindState::Finding;\r\n    findState.expr = expr;\r\n    findState.wrap = wrap;\r\n    findState.forward = forward;\r\n\r\n    findState.flags =\r\n        (cs ? SCFIND_MATCHCASE : 0) |\r\n        (wo ? SCFIND_WHOLEWORD : 0) |\r\n        (re ? SCFIND_REGEXP : 0) |\r\n        (posix ? SCFIND_POSIX : 0) |\r\n        (cxx11 ? SCFIND_CXX11REGEX : 0);\r\n\r\n\tswitch (findNextType)\r\n\t{\r\n\tcase FINDNEXTTYPE_FINDNEXT:\r\n\t\tfindState.flags |= SCFIND_REGEXP_EMPTYMATCH_ALL | SCFIND_REGEXP_SKIPCRLFASONE;\r\n\t\tbreak;\r\n\r\n\tcase FINDNEXTTYPE_REPLACENEXT:\r\n\t\tfindState.flags |= SCFIND_REGEXP_EMPTYMATCH_NOTAFTERMATCH | SCFIND_REGEXP_SKIPCRLFASONE;\r\n\t\tbreak;\r\n\r\n\tcase FINDNEXTTYPE_FINDNEXTFORREPLACE:\r\n\t\tfindState.flags |= SCFIND_REGEXP_EMPTYMATCH_ALL | SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART | SCFIND_REGEXP_SKIPCRLFASONE;\r\n\t\tbreak;\r\n\t}\r\n\r\n    if (line < 0 || index < 0)\r\n        findState.startpos = SendScintilla(SCI_GETCURRENTPOS);\r\n    else\r\n        findState.startpos = positionFromLineIndex(line, index);\r\n\r\n    if (forward)\r\n        findState.endpos = SendScintilla(SCI_GETLENGTH);\r\n    else\r\n        findState.endpos = 0;\r\n\r\n    findState.show = show;\r\n\r\n    return doFind();\r\n}\r\n\r\n\r\n// Find the first occurrence of a string in the current selection.\r\nbool QsciScintilla::findFirstInSelection(const QString &expr, bool re, bool cs,\r\n        bool wo, bool forward, bool show, bool posix, bool cxx11)\r\n{\r\n    if (expr.isEmpty())\r\n    {\r\n        findState.status = FindState::Idle;\r\n        return false;\r\n    }\r\n\r\n    findState.status = FindState::FindingInSelection;\r\n    findState.expr = expr;\r\n    findState.wrap = false;\r\n    findState.forward = forward;\r\n\r\n    findState.flags =\r\n        (cs ? SCFIND_MATCHCASE : 0) |\r\n        (wo ? SCFIND_WHOLEWORD : 0) |\r\n        (re ? SCFIND_REGEXP : 0) |\r\n        (posix ? SCFIND_POSIX : 0) |\r\n        (cxx11 ? SCFIND_CXX11REGEX : 0);\r\n\r\n    findState.startpos_orig = SendScintilla(SCI_GETSELECTIONSTART);\r\n    findState.endpos_orig = SendScintilla(SCI_GETSELECTIONEND);\r\n\r\n    if (forward)\r\n    {\r\n        findState.startpos = findState.startpos_orig;\r\n        findState.endpos = findState.endpos_orig;\r\n    }\r\n    else\r\n    {\r\n        findState.startpos = findState.endpos_orig;\r\n        findState.endpos = findState.startpos_orig;\r\n    }\r\n\r\n    findState.show = show;\r\n\r\n    return doFind();\r\n}\r\n\r\n\r\n// Cancel any current search.\r\nvoid QsciScintilla::cancelFind()\r\n{\r\n    findState.status = FindState::Idle;\r\n}\r\n\r\n\r\n// Find the next occurrence of a string.\r\nbool QsciScintilla::findNext()\r\n{\r\n    if (findState.status == FindState::Idle)\r\n        return false;\r\n\r\n    return doFind();\r\n}\r\n\r\n\r\n// Do the hard work of the find methods.\r\nbool QsciScintilla::doFind()\r\n{\r\n    SendScintilla(SCI_SETSEARCHFLAGS, findState.flags);\r\n\r\n    int pos = simpleFind();\r\n\r\n    // See if it was found.  If not and wraparound is wanted, try again.\r\n    if (pos == -1 && findState.wrap)\r\n    {\r\n        if (findState.forward)\r\n        {\r\n            findState.startpos = 0;\r\n            findState.endpos = SendScintilla(SCI_GETLENGTH);\r\n        }\r\n        else\r\n        {\r\n            findState.startpos = SendScintilla(SCI_GETLENGTH);\r\n            findState.endpos = 0;\r\n        }\r\n\r\n        pos = simpleFind();\r\n    }\r\n\r\n\t//替换boost正则库后，返回值不只有-1，可能-2-3，负数都是错误\r\n    if (pos < 0)\r\n    {\r\n        // Restore the original selection.\r\n        if (findState.status == FindState::FindingInSelection)\r\n            SendScintilla(SCI_SETSEL, findState.startpos_orig,\r\n                    findState.endpos_orig);\r\n\r\n        findState.status = FindState::Idle;\r\n        return false;\r\n    }\r\n\r\n    // It was found.\r\n    long targstart = SendScintilla(SCI_GETTARGETSTART);\r\n    long targend = SendScintilla(SCI_GETTARGETEND);\r\n\r\n    // Ensure the text found is visible if required.\r\n    if (findState.show)\r\n    {\r\n        int startLine = SendScintilla(SCI_LINEFROMPOSITION, targstart);\r\n        int endLine = SendScintilla(SCI_LINEFROMPOSITION, targend);\r\n\t\tfindState.linenum = startLine;\r\n\r\n        for (int i = startLine; i <= endLine; ++i)\r\n            SendScintilla(SCI_ENSUREVISIBLEENFORCEPOLICY, i);\r\n    }\r\n\telse\r\n\t{\r\n\t\tfindState.linenum = -1;\r\n\t}\r\n\r\n    // Now set the selection.\r\n    SendScintilla(SCI_SETSEL, targstart, targend);\r\n\r\n\t/* 把查找到的结构返回出去，新增的，外面需要使用 */\r\n\tfindState.targstart = targstart;\r\n\tfindState.targend = targend;\r\n\r\n    // Finally adjust the start position so that we don't find the same one\r\n    // again.\r\n    if (findState.forward)\r\n        findState.startpos = targend;\r\n    else if ((findState.startpos = targstart - 1) < 0)\r\n        findState.startpos = 0;\r\n\r\n    return true;\r\n}\r\n\r\n\r\n// Do a simple find between the start and end positions.\r\nint QsciScintilla::simpleFind()\r\n{\r\n\t/*这里是会大于的，因为我在外面会零长查找时，会增加startPos的值。如果是向前，才这样处理*/\r\n\t\r\n\tif (findState.forward && (findState.startpos >= findState.endpos)) {\r\n        return -1;\r\n\t}\r\n\telse if (!findState.forward && (findState.startpos == findState.endpos))\r\n\t{\r\n\t\t//如果是往后，则按照原来的逻辑进行处理。\r\n\t\treturn -1;\r\n\t}\r\n\r\n    SendScintilla(SCI_SETTARGETSTART, findState.startpos);\r\n    SendScintilla(SCI_SETTARGETEND, findState.endpos);\r\n\r\n    ScintillaBytes s = textAsBytes(findState.expr);\r\n\r\n    return SendScintilla(SCI_SEARCHINTARGET, s.length(),\r\n            ScintillaBytesConstData(s));\r\n}\r\n\r\n\r\n// Replace the text found with the previous find method.\r\nvoid QsciScintilla::replace(const QString &replaceStr)\r\n{\r\n    if (findState.status == FindState::Idle)\r\n        return;\r\n\r\n    long start = SendScintilla(SCI_GETSELECTIONSTART);\r\n    long orig_len = SendScintilla(SCI_GETSELECTIONEND) - start;\r\n\r\n\t/*类似查找，当零长替换时，orig_len是0 */\r\n\tfindState.targstart = start;\r\n\tfindState.targend = start + orig_len;\r\n\r\n    SendScintilla(SCI_TARGETFROMSELECTION);\r\n\r\n    int cmd = (findState.flags & SCFIND_REGEXP) ? SCI_REPLACETARGETRE : SCI_REPLACETARGET;\r\n\r\n    ScintillaBytes s = textAsBytes(replaceStr);\r\n    long len = SendScintilla(cmd, -1, ScintillaBytesConstData(s));\r\n\r\n    // Reset the selection.\r\n    SendScintilla(SCI_SETSELECTIONSTART, start);\r\n    SendScintilla(SCI_SETSELECTIONEND, start + len);\r\n\r\n    // Fix the original selection.\r\n    findState.endpos_orig += (len - orig_len);\r\n\r\n    if (findState.forward)\r\n    {\r\n        findState.startpos = start + len;\r\n        findState.endpos += (len - orig_len);\r\n}\r\n}\r\n\r\n\r\n// Query the modified state.\r\nbool QsciScintilla::isModified() const\r\n{\r\n    return doc.isModified();\r\n}\r\n\r\n\r\n// Set the modified state.\r\nvoid QsciScintilla::setModified(bool m)\r\n{\r\n    if (!m)\r\n        SendScintilla(SCI_SETSAVEPOINT);\r\n}\r\n\r\n\r\n// Handle the SCN_INDICATORCLICK notification.\r\nvoid QsciScintilla::handleIndicatorClick(int pos, int modifiers)\r\n{\r\n    int state = mapModifiers(modifiers);\r\n    int line, index;\r\n\r\n    lineIndexFromPosition(pos, &line, &index);\r\n\r\n    emit indicatorClicked(line, index, Qt::KeyboardModifiers(state));\r\n}\r\n\r\n\r\n// Handle the SCN_INDICATORRELEASE notification.\r\nvoid QsciScintilla::handleIndicatorRelease(int pos, int modifiers)\r\n{\r\n    int state = mapModifiers(modifiers);\r\n    int line, index;\r\n\r\n    lineIndexFromPosition(pos, &line, &index);\r\n\r\n    emit indicatorReleased(line, index, Qt::KeyboardModifiers(state));\r\n}\r\n\r\n\r\n// Handle the SCN_MARGINCLICK notification.\r\nvoid QsciScintilla::handleMarginClick(int pos, int modifiers, int margin)\r\n{\r\n    int state = mapModifiers(modifiers);\r\n    int line = SendScintilla(SCI_LINEFROMPOSITION, pos);\r\n\r\n    if (fold && margin == foldmargin)\r\n        foldClick(line, state);\r\n    else\r\n        emit marginClicked(margin, line, Qt::KeyboardModifiers(state));\r\n}\r\n\r\n\r\n// Handle the SCN_MARGINRIGHTCLICK notification.\r\nvoid QsciScintilla::handleMarginRightClick(int pos, int modifiers, int margin)\r\n{\r\n    int state = mapModifiers(modifiers);\r\n    int line = SendScintilla(SCI_LINEFROMPOSITION, pos);\r\n\r\n    emit marginRightClicked(margin, line, Qt::KeyboardModifiers(state));\r\n}\r\n\r\n\r\n// Handle the SCN_SAVEPOINTREACHED notification.\r\nvoid QsciScintilla::handleSavePointReached()\r\n{\r\n    doc.setModified(false);\r\n    emit modificationChanged(false);\r\n}\r\n\r\n\r\n// Handle the SCN_SAVEPOINTLEFT notification.\r\nvoid QsciScintilla::handleSavePointLeft()\r\n{\r\n    doc.setModified(true);\r\n    emit modificationChanged(true);\r\n}\r\n\r\n\r\n// Handle the QSCN_SELCHANGED signal.\r\nvoid QsciScintilla::handleSelectionChanged(bool yes)\r\n{\r\n    selText = yes;\r\n\r\n    emit copyAvailable(yes);\r\n    emit selectionChanged();\r\n}\r\n\r\n\r\n// Get the current selection.\r\nvoid QsciScintilla::getSelection(int *lineFrom, int *indexFrom, int *lineTo,\r\n        int *indexTo) const\r\n{\r\n    if (selText)\r\n    {\r\n        lineIndexFromPosition(SendScintilla(SCI_GETSELECTIONSTART), lineFrom,\r\n                indexFrom);\r\n        lineIndexFromPosition(SendScintilla(SCI_GETSELECTIONEND), lineTo,\r\n                indexTo);\r\n    }\r\n    else\r\n        *lineFrom = *indexFrom = *lineTo = *indexTo = -1;\r\n}\r\n\r\n\r\n// Sets the current selection.\r\nvoid QsciScintilla::setSelection(int lineFrom, int indexFrom, int lineTo,\r\n        int indexTo)\r\n{\r\n    SendScintilla(SCI_SETSEL, positionFromLineIndex(lineFrom, indexFrom),\r\n            positionFromLineIndex(lineTo, indexTo));\r\n}\r\n\r\n\r\n// Set the background colour of selected text.\r\nvoid QsciScintilla::setSelectionBackgroundColor(const QColor &col)\r\n{\r\n    int alpha = col.alpha();\r\n\r\n    if (alpha == 255)\r\n        alpha = SC_ALPHA_NOALPHA;\r\n\r\n    SendScintilla(SCI_SETSELBACK, 1, col);\r\n    SendScintilla(SCI_SETSELALPHA, alpha);\r\n}\r\n\r\n\r\n// Set the foreground colour of selected text.\r\nvoid QsciScintilla::setSelectionForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETSELFORE, 1, col);\r\n}\r\n\r\n\r\n// Reset the background colour of selected text to the default.\r\nvoid QsciScintilla::resetSelectionBackgroundColor()\r\n{\r\n    SendScintilla(SCI_SETSELALPHA, SC_ALPHA_NOALPHA);\r\n    SendScintilla(SCI_SETSELBACK, 0UL);\r\n}\r\n\r\n\r\n// Reset the foreground colour of selected text to the default.\r\nvoid QsciScintilla::resetSelectionForegroundColor()\r\n{\r\n    SendScintilla(SCI_SETSELFORE, 0UL);\r\n}\r\n\r\n\r\n// Set the fill to the end-of-line for the selection.\r\nvoid QsciScintilla::setSelectionToEol(bool filled)\r\n{\r\n    SendScintilla(SCI_SETSELEOLFILLED, filled);\r\n}\r\n\r\n\r\n// Return the fill to the end-of-line for the selection.\r\nbool QsciScintilla::selectionToEol() const\r\n{\r\n    return SendScintilla(SCI_GETSELEOLFILLED);\r\n}\r\n\r\n\r\n// Set the width of the caret.\r\nvoid QsciScintilla::setCaretWidth(int width)\r\n{\r\n    SendScintilla(SCI_SETCARETWIDTH, width);\r\n}\r\n\r\n\r\n// Set the width of the frame of the line containing the caret.\r\nvoid QsciScintilla::setCaretLineFrameWidth(int width)\r\n{\r\n    SendScintilla(SCI_SETCARETLINEFRAME, width);\r\n}\r\n\r\n\r\n// Set the foreground colour of the caret.\r\nvoid QsciScintilla::setCaretForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETCARETFORE, col);\r\n}\r\n\r\n\r\n// Set the background colour of the line containing the caret.\r\nvoid QsciScintilla::setCaretLineBackgroundColor(const QColor &col)\r\n{\r\n    int alpha = col.alpha();\r\n\r\n    if (alpha == 255)\r\n        alpha = SC_ALPHA_NOALPHA;\r\n\r\n    SendScintilla(SCI_SETCARETLINEBACK, col);\r\n    SendScintilla(SCI_SETCARETLINEBACKALPHA, alpha);\r\n}\r\n\r\n\r\n// Set the state of the background colour of the line containing the caret.\r\nvoid QsciScintilla::setCaretLineVisible(bool enable)\r\n{\r\n    SendScintilla(SCI_SETCARETLINEVISIBLE, enable);\r\n}\r\n\r\n\r\n// Set the background colour of a hotspot area.\r\nvoid QsciScintilla::setHotspotBackgroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETHOTSPOTACTIVEBACK, 1, col);\r\n}\r\n\r\n\r\n// Set the foreground colour of a hotspot area.\r\nvoid QsciScintilla::setHotspotForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETHOTSPOTACTIVEFORE, 1, col);\r\n}\r\n\r\n\r\n// Reset the background colour of a hotspot area to the default.\r\nvoid QsciScintilla::resetHotspotBackgroundColor()\r\n{\r\n    SendScintilla(SCI_SETHOTSPOTACTIVEBACK, 0UL);\r\n}\r\n\r\n\r\n// Reset the foreground colour of a hotspot area to the default.\r\nvoid QsciScintilla::resetHotspotForegroundColor()\r\n{\r\n    SendScintilla(SCI_SETHOTSPOTACTIVEFORE, 0UL);\r\n}\r\n\r\n\r\n// Set the underline of a hotspot area.\r\nvoid QsciScintilla::setHotspotUnderline(bool enable)\r\n{\r\n    SendScintilla(SCI_SETHOTSPOTACTIVEUNDERLINE, enable);\r\n}\r\n\r\n\r\n// Set the wrapping of a hotspot area.\r\nvoid QsciScintilla::setHotspotWrap(bool enable)\r\n{\r\n    SendScintilla(SCI_SETHOTSPOTSINGLELINE, !enable);\r\n}\r\n\r\n\r\n// Query the read-only state.\r\nbool QsciScintilla::isReadOnly() const\r\n{\r\n    return SendScintilla(SCI_GETREADONLY);\r\n}\r\n\r\n\r\n// Set the read-only state.\r\nvoid QsciScintilla::setReadOnly(bool ro)\r\n{\r\n    setAttribute(Qt::WA_InputMethodEnabled, !ro);\r\n    SendScintilla(SCI_SETREADONLY, ro);\r\n}\r\n\r\n\r\n// Append the given text.\r\nvoid QsciScintilla::append(const QString &text)\r\n{\r\n    bool ro = ensureRW();\r\n\r\n    ScintillaBytes s = textAsBytes(text);\r\n    SendScintilla(SCI_APPENDTEXT, s.length(), ScintillaBytesConstData(s));\r\n\r\n    SendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\r\n    setReadOnly(ro);\r\n}\r\n\r\n\r\n// Insert the given text at the current position.\r\nvoid QsciScintilla::insert(const QString &text)\r\n{\r\n    insertAtPos(text, -1);\r\n}\r\n\r\n\r\n// Insert the given text at the given line and offset.\r\nvoid QsciScintilla::insertAt(const QString &text, int line, int index)\r\n{\r\n    insertAtPos(text, positionFromLineIndex(line, index));\r\n}\r\n\r\n\r\n// Insert the given text at the given position.\r\nvoid QsciScintilla::insertAtPos(const QString &text, int pos)\r\n{\r\n    bool ro = ensureRW();\r\n\r\n    SendScintilla(SCI_BEGINUNDOACTION);\r\n    SendScintilla(SCI_INSERTTEXT, pos,\r\n            ScintillaBytesConstData(textAsBytes(text)));\r\n    SendScintilla(SCI_ENDUNDOACTION);\r\n\r\n    setReadOnly(ro);\r\n}\r\n\r\n\r\n// Begin a sequence of undoable actions.\r\nvoid QsciScintilla::beginUndoAction()\r\n{\r\n    SendScintilla(SCI_BEGINUNDOACTION);\r\n}\r\n\r\n\r\n// End a sequence of undoable actions.\r\nvoid QsciScintilla::endUndoAction()\r\n{\r\n    SendScintilla(SCI_ENDUNDOACTION);\r\n}\r\n\r\n\r\n// Redo a sequence of actions.\r\nvoid QsciScintilla::redo()\r\n{\r\n    SendScintilla(SCI_REDO);\r\n}\r\n\r\n\r\n// Undo a sequence of actions.\r\nvoid QsciScintilla::undo()\r\n{\r\n    SendScintilla(SCI_UNDO);\r\n}\r\n\r\n\r\n// See if there is something to redo.\r\nbool QsciScintilla::isRedoAvailable() const\r\n{\r\n    return SendScintilla(SCI_CANREDO);\r\n}\r\n\r\n\r\n// See if there is something to undo.\r\nbool QsciScintilla::isUndoAvailable() const\r\n{\r\n    return SendScintilla(SCI_CANUNDO);\r\n}\r\n\r\n\r\n// Return the number of lines.\r\nint QsciScintilla::lines() const\r\n{\r\n    return SendScintilla(SCI_GETLINECOUNT);\r\n}\r\n\r\n\r\n// Return the line at a position.\r\nint QsciScintilla::lineAt(const QPoint &pos) const\r\n{\r\n    long chpos = SendScintilla(SCI_POSITIONFROMPOINTCLOSE, pos.x(), pos.y());\r\n\r\n    if (chpos < 0)\r\n        return -1;\r\n\r\n    return SendScintilla(SCI_LINEFROMPOSITION, chpos);\r\n}\r\n\r\n\r\n// Return the length of a line.\r\nint QsciScintilla::lineLength(int line) const\r\n{\r\n    if (line < 0 || line >= SendScintilla(SCI_GETLINECOUNT))\r\n        return -1;\r\n\r\n    return SendScintilla(SCI_LINELENGTH, line);\r\n}\r\n\r\n\r\n// Return the length of the current text.\r\nint QsciScintilla::length() const\r\n{\r\n    return SendScintilla(SCI_GETTEXTLENGTH);\r\n}\r\n\r\n\r\n// Remove any selected text.\r\nvoid QsciScintilla::removeSelectedText()\r\n{\r\n    SendScintilla(SCI_REPLACESEL, \"\");\r\n}\r\n\r\n\r\n// Replace any selected text.\r\nvoid QsciScintilla::replaceSelectedText(const QString &text)\r\n{\r\n    SendScintilla(SCI_REPLACESEL, ScintillaBytesConstData(textAsBytes(text)));\r\n}\r\n\r\n\r\n// Return the current selected text.\r\nQString QsciScintilla::selectedText() const\r\n{\r\n    if (!selText)\r\n        return QString();\r\n\r\n    //char *buf = new char[SendScintilla(SCI_GETSELECTIONEND) - SendScintilla(SCI_GETSELECTIONSTART) + 1];\r\n    int size = SendScintilla(SCI_GETSELTEXT, 0);\r\n    char* buf = new char[size];\r\n\r\n    SendScintilla(SCI_GETSELTEXT, buf);\r\n\r\n    QString qs = bytesAsText(buf);\r\n    delete[] buf;\r\n\r\n    return qs;\r\n}\r\n\r\n\r\n// Return the current text.\r\nQString QsciScintilla::text() const\r\n{\r\n    int buflen = length() + 1;\r\n    char *buf = new char[buflen];\r\n\r\n    SendScintilla(SCI_GETTEXT, buflen, buf);\r\n\r\n    QString qs = bytesAsText(buf,buflen-1);\r\n    delete[] buf;\r\n\r\n    return qs;\r\n}\r\n\r\n\r\n// Return the text of a line.\r\nQString QsciScintilla::text(int line) const\r\n{\r\n    int line_len = lineLength(line);\r\n\r\n    if (line_len < 1)\r\n        return QString();\r\n\r\n    char *buf = new char[line_len + 1];\r\n\r\n    SendScintilla(SCI_GETLINE, line, buf);\r\n    buf[line_len] = '\\0';\r\n\r\n    QString qs = bytesAsText(buf);\r\n    delete[] buf;\r\n\r\n    return qs;\r\n}\r\n\r\n\r\n// Return the text between two positions.\r\nQString QsciScintilla::text(int start, int end) const\r\n{\r\n    char *buf = new char[end - start + 1];\r\n    SendScintilla(SCI_GETTEXTRANGE, start, end, buf);\r\n    QString text = bytesAsText(buf);\r\n    delete[] buf;\r\n\r\n    return text;\r\n}\r\n\r\n\r\n// Return the text as encoded bytes between two positions.\r\nQByteArray QsciScintilla::bytes(int start, int end) const\r\n{\r\n    QByteArray bytes(end - start + 1, '\\0');\r\n\r\n    SendScintilla(SCI_GETTEXTRANGE, start, end, bytes.data());\r\n\r\n    return bytes;\r\n}\r\n\r\n\r\n// Set the given text.\r\nvoid QsciScintilla::setText(const QString &text)\r\n{\r\n#if 0\r\n    bool ro = ensureRW();\r\n\r\n    SendScintilla(SCI_SETTEXT, ScintillaBytesConstData(textAsBytes(text)));\r\n    SendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\r\n    setReadOnly(ro);\r\n#endif\r\n\t//0 正常 1 只读模式。\r\n\tbool ro = ensureRW();\r\n\r\n\tScintillaBytes temp = textAsBytes(text);\r\n\tconst char *data = ScintillaBytesConstData(temp);\r\n\tSendScintilla(SCI_SET_UTF8_TEXT, temp.length(), data);\r\n\tSendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\r\n\tsetReadOnly(ro);\r\n\r\n}\r\n\r\n/*Set the given text.注意setText底层会把text里面的值变成一个char*,遇到\\0就会终止。而这个函数不会有该问题\r\n*会把长度传递到底层中去。如果text里面的不是uft8，而是一个二进制文件强行以文本加载，则进入只读模式。\r\n*/\r\nconst int TEXT_SIZE = 50 * 1024;\r\n\r\nint QsciScintilla::setUtf8Text(const QString &text)\r\n{\r\n\t//0 正常 1 只读模式。\r\n\tint ret = 0;\r\n\tbool ro = ensureRW();\r\n\r\n\tScintillaBytes temp = textAsBytes(text);\r\n\tconst char *data = ScintillaBytesConstData(temp);\r\n\r\n\t/*在setText旧逻辑中，会只显示strlen(data)部分的内容。strlen会去掉\\0后的逻辑。\r\n\t*下面那个加1其实是不准确的，因为结尾可能有多个\\0。这种情况，说明该文件肯定不是text文本模式。\r\n\t*为保险起见，我们还是只有在二进制文件强行以文本打开的情况下，才调用setUtf8Text函数。其余逻辑还是走setText\r\n\t*/\r\n\tif ((strlen(data) + 1) < temp.length())\r\n\t{\r\n\t\tro = true;\r\n\t\tret = 1;\r\n\t\t//如果文件小于TEXT_SIZE，我们还是全部显示出来。不纠结了，最多显示500K\r\n\t\t//如果显示的太多，会比较慢。没有必要\r\n\t\tif (temp.length() <= TEXT_SIZE)\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SET_UTF8_TEXT, temp.length(), data);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SET_UTF8_TEXT, TEXT_SIZE, data);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tSendScintilla(SCI_SET_UTF8_TEXT, temp.length(), data);\r\n\t}\r\n\r\n\tSendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\tsetReadOnly(ro);\r\n\treturn ret;\r\n}\r\n\r\nint QsciScintilla::setUtf8Text(const char*data, int len)\r\n{\r\n\t//0 正常 1 只读模式。\r\n\tint ret = 0;\r\n\tbool ro = ensureRW();\r\n\r\n\t/*在setText旧逻辑中，会只显示strlen(data)部分的内容。strlen会去掉\\0后的逻辑。\r\n\t*下面那个加1其实是不准确的，因为结尾可能有多个\\0。这种情况，说明该文件肯定不是text文本模式。\r\n\t*为保险起见，我们还是只有在二进制文件强行以文本打开的情况下，才调用setUtf8Text函数。其余逻辑还是走setText\r\n\t*/\r\n\tif ((strlen(data) + 1) < len)\r\n\t{\r\n\t\tro = true;\r\n\t\tret = 1;\r\n\t\t/*如果文件小于TEXT_SIZE，我们还是全部显示出来。不纠结了，最多显示500K\r\n\t\t*如果显示的太多，会比较慢。没有必要\r\n\t\t*/\r\n\t\tif (len <= TEXT_SIZE)\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SET_UTF8_TEXT, len, data);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SET_UTF8_TEXT, TEXT_SIZE, data);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tSendScintilla(SCI_SET_UTF8_TEXT, len, data);\r\n\t}\r\n\r\n\tSendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\tsetReadOnly(ro);\r\n\treturn ret;\r\n}\r\n\r\n// Get the cursor position\r\nvoid QsciScintilla::getCursorPosition(int *line, int *index) const\r\n{\r\n    lineIndexFromPosition(SendScintilla(SCI_GETCURRENTPOS), line, index);\r\n}\r\n\r\n\r\n// Set the cursor position\r\nvoid QsciScintilla::setCursorPosition(int line, int index)\r\n{\r\n    SendScintilla(SCI_GOTOPOS, positionFromLineIndex(line, index));\r\n}\r\n\r\n\r\n// Ensure the cursor is visible.\r\nvoid QsciScintilla::ensureCursorVisible()\r\n{\r\n    SendScintilla(SCI_SCROLLCARET);\r\n}\r\n\r\n\r\n// Ensure a line is visible.\r\nvoid QsciScintilla::ensureLineVisible(int line)\r\n{\r\n    SendScintilla(SCI_ENSUREVISIBLEENFORCEPOLICY, line);\r\n}\r\n\r\n\r\n// Copy text to the clipboard.\r\nvoid QsciScintilla::copy()\r\n{\r\n    SendScintilla(SCI_COPY);\r\n}\r\n\r\n\r\n// Cut text to the clipboard.\r\nvoid QsciScintilla::cut()\r\n{\r\n    SendScintilla(SCI_CUT);\r\n}\r\n\r\n\r\n// Paste text from the clipboard.\r\nvoid QsciScintilla::paste()\r\n{\r\n    SendScintilla(SCI_PASTE);\r\n}\r\n\r\n\r\n// Select all text, or deselect any selected text.\r\nvoid QsciScintilla::selectAll(bool select)\r\n{\r\n    if (select)\r\n        SendScintilla(SCI_SELECTALL);\r\n    else\r\n        SendScintilla(SCI_SETANCHOR, SendScintilla(SCI_GETCURRENTPOS));\r\n}\r\n\r\n\r\n// Delete all text.\r\nvoid QsciScintilla::clear()\r\n{\r\n    bool ro = ensureRW();\r\n\r\n    SendScintilla(SCI_CLEARALL);\r\n    SendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\r\n    setReadOnly(ro);\r\n}\r\n\r\n\r\n// Return the indentation of a line.\r\nint QsciScintilla::indentation(int line) const\r\n{\r\n    return SendScintilla(SCI_GETLINEINDENTATION, line);\r\n}\r\n\r\n\r\n// Set the indentation of a line.\r\nvoid QsciScintilla::setIndentation(int line, int indentation)\r\n{\r\n    SendScintilla(SCI_BEGINUNDOACTION);\r\n    SendScintilla(SCI_SETLINEINDENTATION, line, indentation);\r\n    SendScintilla(SCI_ENDUNDOACTION);\r\n}\r\n\r\n\r\n// Indent a line.\r\nvoid QsciScintilla::indent(int line)\r\n{\r\n    setIndentation(line, indentation(line) + indentWidth());\r\n}\r\n\r\n\r\n// Unindent a line.\r\nvoid QsciScintilla::unindent(int line)\r\n{\r\n    int newIndent = indentation(line) - indentWidth();\r\n\r\n    if (newIndent < 0)\r\n        newIndent = 0;\r\n\r\n    setIndentation(line, newIndent);\r\n}\r\n\r\n\r\n// Return the indentation of the current line.\r\nint QsciScintilla::currentIndent() const\r\n{\r\n    return indentation(SendScintilla(SCI_LINEFROMPOSITION,\r\n                SendScintilla(SCI_GETCURRENTPOS)));\r\n}\r\n\r\n\r\n// Return the current indentation width.\r\nint QsciScintilla::indentWidth() const\r\n{\r\n    int w = indentationWidth();\r\n\r\n    if (w == 0)\r\n        w = tabWidth();\r\n\r\n    return w;\r\n}\r\n\r\n\r\n// Return the state of indentation guides.\r\nbool QsciScintilla::indentationGuides() const\r\n{\r\n    return (SendScintilla(SCI_GETINDENTATIONGUIDES) != SC_IV_NONE);\r\n}\r\n\r\n\r\n// Enable and disable indentation guides.\r\nvoid QsciScintilla::setIndentationGuides(bool enable)\r\n{\r\n    int iv;\r\n\r\n    if (!enable)\r\n        iv = SC_IV_NONE;\r\n    else if (lex.isNull())\r\n        iv = SC_IV_REAL;\r\n    else\r\n        iv = lex->indentationGuideView();\r\n\r\n    SendScintilla(SCI_SETINDENTATIONGUIDES, iv);\r\n}\r\n\r\n\r\n// Set the background colour of indentation guides.\r\nvoid QsciScintilla::setIndentationGuidesBackgroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_STYLESETBACK, STYLE_INDENTGUIDE, col);\r\n}\r\n\r\n\r\n// Set the foreground colour of indentation guides.\r\nvoid QsciScintilla::setIndentationGuidesForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_STYLESETFORE, STYLE_INDENTGUIDE, col);\r\n}\r\n\r\n\r\n// Return the indentation width.\r\nint QsciScintilla::indentationWidth() const\r\n{\r\n    return SendScintilla(SCI_GETINDENT);\r\n}\r\n\r\n\r\n// Set the indentation width.\r\nvoid QsciScintilla::setIndentationWidth(int width)\r\n{\r\n    SendScintilla(SCI_SETINDENT, width);\r\n}\r\n\r\n\r\n// Return the tab width.\r\nint QsciScintilla::tabWidth() const\r\n{\r\n    return SendScintilla(SCI_GETTABWIDTH);\r\n}\r\n\r\n\r\n// Set the tab width.\r\nvoid QsciScintilla::setTabWidth(int width)\r\n{\r\n    SendScintilla(SCI_SETTABWIDTH, width);\r\n}\r\n\r\n\r\n// Return the effect of the backspace key.\r\nbool QsciScintilla::backspaceUnindents() const\r\n{\r\n    return SendScintilla(SCI_GETBACKSPACEUNINDENTS);\r\n}\r\n\r\n\r\n// Set the effect of the backspace key.\r\nvoid QsciScintilla::setBackspaceUnindents(bool unindents)\r\n{\r\n    SendScintilla(SCI_SETBACKSPACEUNINDENTS, unindents);\r\n}\r\n\r\n\r\n// Return the effect of the tab key.\r\nbool QsciScintilla::tabIndents() const\r\n{\r\n    return SendScintilla(SCI_GETTABINDENTS);\r\n}\r\n\r\n\r\n// Set the effect of the tab key.\r\nvoid QsciScintilla::setTabIndents(bool indents)\r\n{\r\n    SendScintilla(SCI_SETTABINDENTS, indents);\r\n}\r\n\r\n\r\n// Return the indentation use of tabs.\r\nbool QsciScintilla::indentationsUseTabs() const\r\n{\r\n    return SendScintilla(SCI_GETUSETABS);\r\n}\r\n\r\n\r\n// Set the indentation use of tabs.\r\nvoid QsciScintilla::setIndentationsUseTabs(bool tabs)\r\n{\r\n    SendScintilla(SCI_SETUSETABS, tabs);\r\n}\r\n\r\n\r\n// Return the number of margins.\r\nint QsciScintilla::margins() const\r\n{\r\n    return SendScintilla(SCI_GETMARGINS);\r\n}\r\n\r\n\r\n// Set the number of margins.\r\nvoid QsciScintilla::setMargins(int margins)\r\n{\r\n    SendScintilla(SCI_SETMARGINS, margins);\r\n}\r\n\r\n\r\n// Return the margin background colour.\r\nQColor QsciScintilla::marginBackgroundColor(int margin) const\r\n{\r\n    return asQColor(SendScintilla(SCI_GETMARGINBACKN, margin));\r\n}\r\n\r\n\r\n// Set the margin background colour.\r\nvoid QsciScintilla::setMarginBackgroundColor(int margin, const QColor &col)\r\n{\r\n    SendScintilla(SCI_SETMARGINBACKN, margin, col);\r\n}\r\n\r\n\r\n// Return the margin options.\r\nint QsciScintilla::marginOptions() const\r\n{\r\n    return SendScintilla(SCI_GETMARGINOPTIONS);\r\n}\r\n\r\n\r\n// Set the margin options.\r\nvoid QsciScintilla::setMarginOptions(int options)\r\n{\r\n    SendScintilla(SCI_SETMARGINOPTIONS, options);\r\n}\r\n\r\n\r\n// Return the margin type.\r\nQsciScintilla::MarginType QsciScintilla::marginType(int margin) const\r\n{\r\n    return (MarginType)SendScintilla(SCI_GETMARGINTYPEN, margin);\r\n}\r\n\r\n\r\n// Set the margin type.\r\nvoid QsciScintilla::setMarginType(int margin, QsciScintilla::MarginType type)\r\n{\r\n    SendScintilla(SCI_SETMARGINTYPEN, margin, type);\r\n}\r\n\r\n\r\n// Clear margin text.\r\nvoid QsciScintilla::clearMarginText(int line)\r\n{\r\n    if (line < 0)\r\n        SendScintilla(SCI_MARGINTEXTCLEARALL);\r\n    else\r\n        SendScintilla(SCI_MARGINSETTEXT, line, (const char *)0);\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::setMarginText(int line, const QString &text, int style)\r\n{\r\n    int style_offset = SendScintilla(SCI_MARGINGETSTYLEOFFSET);\r\n\r\n    SendScintilla(SCI_MARGINSETTEXT, line,\r\n            ScintillaBytesConstData(textAsBytes(text)));\r\n\r\n    SendScintilla(SCI_MARGINSETSTYLE, line, style - style_offset);\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::setMarginText(int line, const QString &text, const QsciStyle &style)\r\n{\r\n    style.apply(this);\r\n\r\n    setMarginText(line, text, style.style());\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::setMarginText(int line, const QsciStyledText &text)\r\n{\r\n    text.apply(this);\r\n\r\n    setMarginText(line, text.text(), text.style());\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::setMarginText(int line, const QList<QsciStyledText> &text)\r\n{\r\n    char *styles;\r\n    ScintillaBytes styled_text = styleText(text, &styles,\r\n            SendScintilla(SCI_MARGINGETSTYLEOFFSET));\r\n\r\n    SendScintilla(SCI_MARGINSETTEXT, line,\r\n            ScintillaBytesConstData(styled_text));\r\n    SendScintilla(SCI_MARGINSETSTYLES, line, styles);\r\n\r\n    delete[] styles;\r\n}\r\n\r\n\r\n// Return the state of line numbers in a margin.\r\nbool QsciScintilla::marginLineNumbers(int margin) const\r\n{\r\n    return SendScintilla(SCI_GETMARGINTYPEN, margin);\r\n}\r\n\r\n\r\n// Enable and disable line numbers in a margin.\r\nvoid QsciScintilla::setMarginLineNumbers(int margin, bool lnrs)\r\n{\r\n    SendScintilla(SCI_SETMARGINTYPEN, margin,\r\n            lnrs ? SC_MARGIN_NUMBER : SC_MARGIN_SYMBOL);\r\n}\r\n\r\n\r\n// Return the marker mask of a margin.\r\nint QsciScintilla::marginMarkerMask(int margin) const\r\n{\r\n    return SendScintilla(SCI_GETMARGINMASKN, margin);\r\n}\r\n\r\n\r\n// Set the marker mask of a margin.\r\nvoid QsciScintilla::setMarginMarkerMask(int margin,int mask)\r\n{\r\n    SendScintilla(SCI_SETMARGINMASKN, margin, mask);\r\n}\r\n\r\n\r\n// Return the state of a margin's sensitivity.\r\nbool QsciScintilla::marginSensitivity(int margin) const\r\n{\r\n    return SendScintilla(SCI_GETMARGINSENSITIVEN, margin);\r\n}\r\n\r\n\r\n// Enable and disable a margin's sensitivity.\r\nvoid QsciScintilla::setMarginSensitivity(int margin,bool sens)\r\n{\r\n    SendScintilla(SCI_SETMARGINSENSITIVEN, margin, sens);\r\n}\r\n\r\n\r\n// Return the width of a margin.\r\nint QsciScintilla::marginWidth(int margin) const\r\n{\r\n    return SendScintilla(SCI_GETMARGINWIDTHN, margin);\r\n}\r\n\r\n\r\n// Set the width of a margin.\r\nvoid QsciScintilla::setMarginWidth(int margin, int width)\r\n{\r\n    SendScintilla(SCI_SETMARGINWIDTHN, margin, width);\r\n}\r\n\r\n\r\n// Set the width of a margin to the width of some text.\r\nvoid QsciScintilla::setMarginWidth(int margin, const QString &s)\r\n{\r\n    int width = SendScintilla(SCI_TEXTWIDTH, STYLE_LINENUMBER,\r\n            ScintillaBytesConstData(textAsBytes(s)));\r\n\r\n    setMarginWidth(margin, width);\r\n}\r\n\r\n\r\n// Set the background colour of all margins.\r\nvoid QsciScintilla::setMarginsBackgroundColor(const QColor &col)\r\n{\r\n    handleStylePaperChange(col, STYLE_LINENUMBER);\r\n}\r\n\r\n\r\n// Set the foreground colour of all margins.\r\nvoid QsciScintilla::setMarginsForegroundColor(const QColor &col)\r\n{\r\n    handleStyleColorChange(col, STYLE_LINENUMBER);\r\n}\r\n\r\n\r\n// Set the font of all margins.\r\nvoid QsciScintilla::setMarginsFont(const QFont &f)\r\n{\r\n    setStylesFont(f, STYLE_LINENUMBER);\r\n}\r\n\r\n\r\n// Define an indicator.\r\nint QsciScintilla::indicatorDefine(IndicatorStyle style, int indicatorNumber)\r\n{\r\n    checkIndicator(indicatorNumber);\r\n\r\n    if (indicatorNumber >= 0)\r\n        SendScintilla(SCI_INDICSETSTYLE, indicatorNumber,\r\n                static_cast<long>(style));\r\n\r\n    return indicatorNumber;\r\n}\r\n\r\n\r\n// Return the state of an indicator being drawn under the text.\r\nbool QsciScintilla::indicatorDrawUnder(int indicatorNumber) const\r\n{\r\n    if (indicatorNumber < 0 || indicatorNumber >= INDIC_IME)\r\n        return false;\r\n\r\n    return SendScintilla(SCI_INDICGETUNDER, indicatorNumber);\r\n}\r\n\r\n\r\n// Set the state of indicators being drawn under the text.\r\nvoid QsciScintilla::setIndicatorDrawUnder(bool under, int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n                SendScintilla(SCI_INDICSETUNDER, i, under);\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_INDICSETUNDER, indicatorNumber, under);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Set the indicator foreground colour.\r\nvoid QsciScintilla::setIndicatorForegroundColor(const QColor &col,\r\n        int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        int alpha = col.alpha();\r\n\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n            {\r\n                SendScintilla(SCI_INDICSETFORE, i, col);\r\n                SendScintilla(SCI_INDICSETALPHA, i, alpha);\r\n            }\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_INDICSETFORE, indicatorNumber, col);\r\n            SendScintilla(SCI_INDICSETALPHA, indicatorNumber, alpha);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Set the indicator hover foreground colour.\r\nvoid QsciScintilla::setIndicatorHoverForegroundColor(const QColor &col,\r\n        int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n                SendScintilla(SCI_INDICSETHOVERFORE, i, col);\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_INDICSETHOVERFORE, indicatorNumber, col);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Set the indicator hover style.\r\nvoid QsciScintilla::setIndicatorHoverStyle(IndicatorStyle style,\r\n        int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n                SendScintilla(SCI_INDICSETHOVERSTYLE, i,\r\n                        static_cast<long>(style));\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_INDICSETHOVERSTYLE, indicatorNumber,\r\n                    static_cast<long>(style));\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Set the indicator outline colour.\r\nvoid QsciScintilla::setIndicatorOutlineColor(const QColor &col, int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        int alpha = col.alpha();\r\n\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n                SendScintilla(SCI_INDICSETOUTLINEALPHA, i, alpha);\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_INDICSETOUTLINEALPHA, indicatorNumber, alpha);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Fill a range with an indicator.\r\nvoid QsciScintilla::fillIndicatorRange(int lineFrom, int indexFrom,\r\n        int lineTo, int indexTo, int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        int start = positionFromLineIndex(lineFrom, indexFrom);\r\n        int finish = positionFromLineIndex(lineTo, indexTo);\r\n\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n            {\r\n                SendScintilla(SCI_SETINDICATORCURRENT, i);\r\n                SendScintilla(SCI_INDICATORFILLRANGE, start, finish - start);\r\n            }\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_SETINDICATORCURRENT, indicatorNumber);\r\n            SendScintilla(SCI_INDICATORFILLRANGE, start, finish - start);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Clear a range with an indicator.\r\nvoid QsciScintilla::clearIndicatorRange(int lineFrom, int indexFrom,\r\n        int lineTo, int indexTo, int indicatorNumber)\r\n{\r\n    if (indicatorNumber < INDIC_IME)\r\n    {\r\n        int start = positionFromLineIndex(lineFrom, indexFrom);\r\n        int finish = positionFromLineIndex(lineTo, indexTo);\r\n\r\n        // We ignore allocatedIndicators to allow any indicators defined\r\n        // elsewhere (e.g. in lexers) to be set.\r\n        if (indicatorNumber < 0)\r\n        {\r\n            for (int i = 0; i < INDIC_IME; ++i)\r\n            {\r\n                SendScintilla(SCI_SETINDICATORCURRENT, i);\r\n                SendScintilla(SCI_INDICATORCLEARRANGE, start, finish - start);\r\n            }\r\n        }\r\n        else\r\n        {\r\n            SendScintilla(SCI_SETINDICATORCURRENT, indicatorNumber);\r\n            SendScintilla(SCI_INDICATORCLEARRANGE, start, finish - start);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Define a marker based on a symbol.\r\nint QsciScintilla::markerDefine(MarkerSymbol sym, int markerNumber)\r\n{\r\n    checkMarker(markerNumber);\r\n\r\n    if (markerNumber >= 0)\r\n        SendScintilla(SCI_MARKERDEFINE, markerNumber, static_cast<long>(sym));\r\n\r\n    return markerNumber;\r\n}\r\n\r\n\r\n// Define a marker based on a character.\r\nint QsciScintilla::markerDefine(char ch, int markerNumber)\r\n{\r\n    checkMarker(markerNumber);\r\n\r\n    if (markerNumber >= 0)\r\n        SendScintilla(SCI_MARKERDEFINE, markerNumber,\r\n                static_cast<long>(SC_MARK_CHARACTER) + ch);\r\n\r\n    return markerNumber;\r\n}\r\n\r\n\r\n// Define a marker based on a QPixmap.\r\nint QsciScintilla::markerDefine(const QPixmap &pm, int markerNumber)\r\n{\r\n    checkMarker(markerNumber);\r\n\r\n    if (markerNumber >= 0)\r\n        SendScintilla(SCI_MARKERDEFINEPIXMAP, markerNumber, pm);\r\n\r\n    return markerNumber;\r\n}\r\n\r\n\r\n// Define a marker based on a QImage.\r\nint QsciScintilla::markerDefine(const QImage &im, int markerNumber)\r\n{\r\n    checkMarker(markerNumber);\r\n\r\n    if (markerNumber >= 0)\r\n    {\r\n        SendScintilla(SCI_RGBAIMAGESETHEIGHT, im.height());\r\n        SendScintilla(SCI_RGBAIMAGESETWIDTH, im.width());\r\n        SendScintilla(SCI_MARKERDEFINERGBAIMAGE, markerNumber, im);\r\n    }\r\n\r\n    return markerNumber;\r\n}\r\n\r\n\r\n// Add a marker to a line.\r\nint QsciScintilla::markerAdd(int linenr, int markerNumber)\r\n{\r\n    if (markerNumber < 0 || markerNumber > MARKER_MAX || (allocatedMarkers & (1 << markerNumber)) == 0)\r\n        return -1;\r\n\r\n    return SendScintilla(SCI_MARKERADD, linenr, markerNumber);\r\n}\r\n\r\n\r\n// Get the marker mask for a line.\r\nunsigned QsciScintilla::markersAtLine(int linenr) const\r\n{\r\n    return SendScintilla(SCI_MARKERGET, linenr);\r\n}\r\n\r\n\r\n// Delete a marker from a line.\r\nvoid QsciScintilla::markerDelete(int linenr, int markerNumber)\r\n{\r\n    if (markerNumber <= MARKER_MAX)\r\n    {\r\n        if (markerNumber < 0)\r\n        {\r\n            unsigned am = allocatedMarkers;\r\n\r\n            for (int m = 0; m <= MARKER_MAX; ++m)\r\n            {\r\n                if (am & 1)\r\n                    SendScintilla(SCI_MARKERDELETE, linenr, m);\r\n\r\n                am >>= 1;\r\n            }\r\n        }\r\n        else if (allocatedMarkers & (1 << markerNumber))\r\n            SendScintilla(SCI_MARKERDELETE, linenr, markerNumber);\r\n    }\r\n}\r\n\r\n//删除一行的全部marker\r\nvoid QsciScintilla::markerDelete(int linenr)\r\n{\r\n\t\tif (allocatedMarkers)\r\n\t\t\tSendScintilla(SCI_LINE_MARKERDELETE_ALL, linenr);\r\n}\r\n\r\n// Delete a marker from the text.\r\nvoid QsciScintilla::markerDeleteAll(int markerNumber)\r\n{\r\n    if (markerNumber <= MARKER_MAX)\r\n    {\r\n        if (markerNumber < 0)\r\n            SendScintilla(SCI_MARKERDELETEALL, -1);\r\n        else if (allocatedMarkers & (1 << markerNumber))\r\n            SendScintilla(SCI_MARKERDELETEALL, markerNumber);\r\n    }\r\n}\r\n\r\n\r\n// Delete a marker handle from the text.\r\nvoid QsciScintilla::markerDeleteHandle(int mhandle)\r\n{\r\n    SendScintilla(SCI_MARKERDELETEHANDLE, mhandle);\r\n}\r\n\r\n\r\n// Return the line containing a marker instance.\r\nint QsciScintilla::markerLine(int mhandle) const\r\n{\r\n    return SendScintilla(SCI_MARKERLINEFROMHANDLE, mhandle);\r\n}\r\n\r\n\r\n// Search forwards for a marker.\r\nint QsciScintilla::markerFindNext(int linenr, unsigned mask) const\r\n{\r\n    return SendScintilla(SCI_MARKERNEXT, linenr, mask);\r\n}\r\n\r\n\r\n// Search backwards for a marker.\r\nint QsciScintilla::markerFindPrevious(int linenr, unsigned mask) const\r\n{\r\n    return SendScintilla(SCI_MARKERPREVIOUS, linenr, mask);\r\n}\r\n\r\n\r\n// Set the marker background colour.\r\nvoid QsciScintilla::setMarkerBackgroundColor(const QColor &col, int markerNumber)\r\n{\r\n    if (markerNumber <= MARKER_MAX)\r\n    {\r\n        int alpha = col.alpha();\r\n\r\n        // An opaque background would make the text invisible.\r\n        if (alpha == 255)\r\n            alpha = SC_ALPHA_NOALPHA;\r\n\r\n        if (markerNumber < 0)\r\n        {\r\n            unsigned am = allocatedMarkers;\r\n\r\n            for (int m = 0; m <= MARKER_MAX; ++m)\r\n            {\r\n                if (am & 1)\r\n                {\r\n                    SendScintilla(SCI_MARKERSETBACK, m, col);\r\n                    SendScintilla(SCI_MARKERSETALPHA, m, alpha);\r\n                }\r\n\r\n                am >>= 1;\r\n            }\r\n        }\r\n        else if (allocatedMarkers & (1 << markerNumber))\r\n        {\r\n            SendScintilla(SCI_MARKERSETBACK, markerNumber, col);\r\n            SendScintilla(SCI_MARKERSETALPHA, markerNumber, alpha);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Set the marker foreground colour.\r\nvoid QsciScintilla::setMarkerForegroundColor(const QColor &col, int markerNumber)\r\n{\r\n    if (markerNumber <= MARKER_MAX)\r\n    {\r\n        if (markerNumber < 0)\r\n        {\r\n            unsigned am = allocatedMarkers;\r\n\r\n            for (int m = 0; m <= MARKER_MAX; ++m)\r\n            {\r\n                if (am & 1)\r\n                    SendScintilla(SCI_MARKERSETFORE, m, col);\r\n\r\n                am >>= 1;\r\n            }\r\n        }\r\n        else if (allocatedMarkers & (1 << markerNumber))\r\n        {\r\n            SendScintilla(SCI_MARKERSETFORE, markerNumber, col);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n// Check a marker, allocating a marker number if necessary.\r\nvoid QsciScintilla::checkMarker(int &markerNumber)\r\n{\r\n    allocateId(markerNumber, allocatedMarkers, 0, MARKER_MAX);\r\n}\r\n\r\n\r\n// Check an indicator, allocating an indicator number if necessary.\r\nvoid QsciScintilla::checkIndicator(int &indicatorNumber)\r\n{\r\n    allocateId(indicatorNumber, allocatedIndicators, INDIC_CONTAINER,\r\n            INDIC_IME - 1);\r\n}\r\n\r\n\r\n// Make sure an identifier is valid and allocate it if necessary.\r\nvoid QsciScintilla::allocateId(int &id, unsigned &allocated, int min, int max)\r\n{\r\n    if (id >= 0)\r\n    {\r\n        // Note that we allow existing identifiers to be explicitly redefined.\r\n        if (id > max)\r\n            id = -1;\r\n    }\r\n    else\r\n    {\r\n        unsigned aids = allocated >> min;\r\n\r\n        // Find the smallest unallocated identifier.\r\n        for (id = min; id <= max; ++id)\r\n        {\r\n            if ((aids & 1) == 0)\r\n                break;\r\n\r\n            aids >>= 1;\r\n        }\r\n    }\r\n\r\n    // Allocate the identifier if it is valid.\r\n    if (id >= 0)\r\n        allocated |= (1 << id);\r\n}\r\n\r\n\r\n// Reset the fold margin colours.\r\nvoid QsciScintilla::resetFoldMarginColors()\r\n{\r\n    SendScintilla(SCI_SETFOLDMARGINHICOLOUR, 0, 0L);\r\n    SendScintilla(SCI_SETFOLDMARGINCOLOUR, 0, 0L);\r\n}\r\n\r\n\r\n// Set the fold margin colours.\r\nvoid QsciScintilla::setFoldMarginColors(const QColor &fore, const QColor &back)\r\n{\r\n    SendScintilla(SCI_SETFOLDMARGINHICOLOUR, 1, fore);\r\n    SendScintilla(SCI_SETFOLDMARGINCOLOUR, 1, back);\r\n}\r\n\r\n\r\n// Set the call tips background colour.\r\nvoid QsciScintilla::setCallTipsBackgroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_CALLTIPSETBACK, col);\r\n}\r\n\r\n\r\n// Set the call tips foreground colour.\r\nvoid QsciScintilla::setCallTipsForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_CALLTIPSETFORE, col);\r\n}\r\n\r\n\r\n// Set the call tips highlight colour.\r\nvoid QsciScintilla::setCallTipsHighlightColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_CALLTIPSETFOREHLT, col);\r\n}\r\n\r\n\r\n// Set the matched brace background colour.\r\nvoid QsciScintilla::setMatchedBraceBackgroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_STYLESETBACK, STYLE_BRACELIGHT, col);\r\n}\r\n\r\n\r\n// Set the matched brace foreground colour.\r\nvoid QsciScintilla::setMatchedBraceForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_STYLESETFORE, STYLE_BRACELIGHT, col);\r\n}\r\n\r\n\r\n// Set the matched brace indicator.\r\nvoid QsciScintilla::setMatchedBraceIndicator(int indicatorNumber)\r\n{\r\n    SendScintilla(SCI_BRACEHIGHLIGHTINDICATOR, 1, indicatorNumber);\r\n}\r\n\r\n\r\n// Reset the matched brace indicator.\r\nvoid QsciScintilla::resetMatchedBraceIndicator()\r\n{\r\n    SendScintilla(SCI_BRACEHIGHLIGHTINDICATOR, 0, 0L);\r\n}\r\n\r\n\r\n// Set the unmatched brace background colour.\r\nvoid QsciScintilla::setUnmatchedBraceBackgroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_STYLESETBACK, STYLE_BRACEBAD, col);\r\n}\r\n\r\n\r\n// Set the unmatched brace foreground colour.\r\nvoid QsciScintilla::setUnmatchedBraceForegroundColor(const QColor &col)\r\n{\r\n    SendScintilla(SCI_STYLESETFORE, STYLE_BRACEBAD, col);\r\n}\r\n\r\n\r\n// Set the unmatched brace indicator.\r\nvoid QsciScintilla::setUnmatchedBraceIndicator(int indicatorNumber)\r\n{\r\n    SendScintilla(SCI_BRACEBADLIGHTINDICATOR, 1, indicatorNumber);\r\n}\r\n\r\n\r\n// Reset the unmatched brace indicator.\r\nvoid QsciScintilla::resetUnmatchedBraceIndicator()\r\n{\r\n    SendScintilla(SCI_BRACEBADLIGHTINDICATOR, 0, 0L);\r\n}\r\n\r\n\r\n// Detach any lexer.\r\nvoid QsciScintilla::detachLexer()\r\n{\r\n    if (!lex.isNull())\r\n    {\r\n        lex->setEditor(0);\r\n        lex->disconnect(this);\r\n\r\n        SendScintilla(SCI_STYLERESETDEFAULT);\r\n        SendScintilla(SCI_STYLECLEARALL);\r\n    }\r\n}\r\n\r\n\r\n// Set the lexer.\r\nvoid QsciScintilla::setLexer(QsciLexer *lexer)\r\n{\r\n    // Detach any current lexer.\r\n    detachLexer();\r\n\r\n    // Connect up the new lexer.\r\n    lex = lexer;\r\n\r\n    if (lex != nullptr)\r\n    {\r\n        SendScintilla(SCI_CLEARDOCUMENTSTYLE);\r\n\r\n        if (lex->lexer())\r\n            SendScintilla(SCI_SETLEXERLANGUAGE, lex->lexer());\r\n        else\r\n            SendScintilla(SCI_SETLEXER, lex->lexerId());\r\n\r\n        lex->setEditor(this);\r\n\r\n        connect(lex,SIGNAL(colorChanged(const QColor &, int)),\r\n                SLOT(handleStyleColorChange(const QColor &, int)));\r\n        connect(lex,SIGNAL(eolFillChanged(bool, int)),\r\n                SLOT(handleStyleEolFillChange(bool, int)));\r\n        connect(lex,SIGNAL(fontChanged(const QFont &, int)),\r\n                SLOT(handleStyleFontChange(const QFont &, int)));\r\n        connect(lex,SIGNAL(paperChanged(const QColor &, int)),\r\n                SLOT(handleStylePaperChange(const QColor &, int)));\r\n        connect(lex,SIGNAL(propertyChanged(const char *, const char *)),\r\n                SLOT(handlePropertyChange(const char *, const char *)));\r\n\r\n        SendScintilla(SCI_SETPROPERTY, \"fold\", \"1\");\r\n        SendScintilla(SCI_SETPROPERTY, \"fold.html\", \"1\");\r\n\r\n        // Set the keywords.  Scintilla allows for sets numbered 0 to\r\n        // KEYWORDSET_MAX (although the lexers only seem to exploit 0 to\r\n        // KEYWORDSET_MAX - 1).  We number from 1 in line with SciTE's property\r\n        // files.\r\n        for (int k = 0; k <= KEYWORDSET_MAX; ++k)\r\n        {\r\n            const char *kw = lex -> keywords(k + 1);\r\n\r\n            if (!kw)\r\n                kw = \"\";\r\n\r\n            SendScintilla(SCI_SETKEYWORDS, k, kw);\r\n        }\r\n\r\n        // Initialise each style.  Do the default first so its (possibly\r\n        // incorrect) font setting gets reset when style 0 is set.\r\n        setLexerStyle(STYLE_DEFAULT);\r\n\r\n        for (int s = 0; s <= STYLE_MAX; ++s)\r\n            if (!lex->description(s).isEmpty())\r\n                setLexerStyle(s);\r\n\r\n        // Initialise the properties.\r\n        lex->refreshProperties();\r\n\r\n        // Set the auto-completion fillups and word separators.\r\n        setAutoCompletionFillupsEnabled(fillups_enabled);\r\n        wseps = lex->autoCompletionWordSeparators();\r\n\r\n        wchars = lex->wordCharacters();\r\n\r\n        if (!wchars)\r\n            wchars = defaultWordChars;\r\n\r\n        SendScintilla(SCI_AUTOCSETIGNORECASE, !lex->caseSensitive());\r\n\r\n        recolor();\r\n\r\n\t\tint lang = lexer->lexerId();\r\n\r\n\t\tif (lang == L_XML || lang == L_HTML || lang == L_PHP || lang == L_ASP || lang == L_JSP)\r\n\t\t{\r\n\t\t\tsetHtmlHighLightTag(true);\r\n    }\r\n    else\r\n    {\r\n\t\t\tsetHtmlHighLightTag(false);\r\n\t\t}\r\n    }\r\n    else\r\n    {\r\n        SendScintilla(SCI_SETLEXER, SCLEX_CONTAINER);\r\n\r\n        setColor(nl_text_colour);\r\n        setPaper(nl_paper_colour);\r\n\r\n        SendScintilla(SCI_AUTOCSETFILLUPS, \"\");\r\n        SendScintilla(SCI_AUTOCSETIGNORECASE, false);\r\n        wseps.clear();\r\n        wchars = defaultWordChars;\r\n\r\n\t\tsetHtmlHighLightTag(false);\r\n    }\r\n}\r\n\r\n\r\n// Set a particular style of the current lexer.\r\nvoid QsciScintilla::setLexerStyle(int style)\r\n{\r\n    handleStyleColorChange(lex->color(style), style);\r\n    handleStyleEolFillChange(lex->eolFill(style), style);\r\n    handleStyleFontChange(lex->font(style), style);\r\n    handleStylePaperChange(lex->paper(style), style);\r\n}\r\n\r\n\r\n// Get the current lexer.\r\nQsciLexer *QsciScintilla::lexer() const\r\n{\r\n    return lex;\r\n}\r\n\r\n\r\n// Handle a change in lexer style foreground colour.\r\nvoid QsciScintilla::handleStyleColorChange(const QColor &c, int style)\r\n{\r\n    SendScintilla(SCI_STYLESETFORE, style, c);\r\n}\r\n\r\n\r\n// Handle a change in lexer style end-of-line fill.\r\nvoid QsciScintilla::handleStyleEolFillChange(bool eolfill, int style)\r\n{\r\n    SendScintilla(SCI_STYLESETEOLFILLED, style, eolfill);\r\n}\r\n\r\n\r\n// Handle a change in lexer style font.\r\nvoid QsciScintilla::handleStyleFontChange(const QFont &f, int style)\r\n{\r\n    setStylesFont(f, style);\r\n\r\n    if (style == lex->braceStyle())\r\n    {\r\n        setStylesFont(f, STYLE_BRACELIGHT);\r\n        setStylesFont(f, STYLE_BRACEBAD);\r\n    }\r\n}\r\n\r\n\r\n// Set the font for a style.\r\nvoid QsciScintilla::setStylesFont(const QFont &f, int style)\r\n{\r\n\t//20220629这里是中文编码的一个bug\r\n    SendScintilla(SCI_STYLESETFONT, style, f.family().toUtf8().data());\r\n    SendScintilla(SCI_STYLESETSIZEFRACTIONAL, style,\r\n            long(f.pointSizeF() * SC_FONT_SIZE_MULTIPLIER));\r\n\r\n    // Pass the Qt weight via the back door.\r\n    SendScintilla(SCI_STYLESETWEIGHT, style, -f.weight());\r\n\r\n    SendScintilla(SCI_STYLESETITALIC, style, f.italic());\r\n    SendScintilla(SCI_STYLESETUNDERLINE, style, f.underline());\r\n\r\n    // Tie the font settings of the default style to that of style 0 (the style\r\n    // conventionally used for whitespace by lexers).  This is needed so that\r\n    // fold marks, indentations, edge columns etc are set properly.\r\n    if (style == 0)\r\n        setStylesFont(f, STYLE_DEFAULT);\r\n}\r\n\r\n\r\n// Handle a change in lexer style background colour.\r\nvoid QsciScintilla::handleStylePaperChange(const QColor &c, int style)\r\n{\r\n    SendScintilla(SCI_STYLESETBACK, style, c);\r\n}\r\n\r\n\r\n// Handle a change in lexer property.\r\nvoid QsciScintilla::handlePropertyChange(const char *prop, const char *val)\r\n{\r\n    SendScintilla(SCI_SETPROPERTY, prop, val);\r\n}\r\n\r\n\r\n// Handle a change to the user visible user interface.\r\nvoid QsciScintilla::handleUpdateUI(int)\r\n{\r\n    int newPos = SendScintilla(SCI_GETCURRENTPOS);\r\n\r\n    if (newPos != oldPos)\r\n    {\r\n        oldPos = newPos;\r\n\r\n        int line = SendScintilla(SCI_LINEFROMPOSITION, newPos);\r\n        int col = SendScintilla(SCI_GETCOLUMN, newPos);\r\n\r\n        emit cursorPositionChanged(line, col);\r\n\r\n\t\tif (line != oldLine)\r\n\t\t{\r\n\t\t\toldLine = line;\r\n\t\t\temit cursorPosChange(line, newPos);\t\r\n        }\r\n    }\r\n\r\n\taddHotSpot();\r\n\r\n    if (braceMode != NoBraceMatch)\r\n        braceMatch();\r\n\r\n\t//只有html类语言，比如php jsp xml才会高亮tag\r\n\tif (isHtmlHighLightTag)\r\n\t{\r\n\t\tXmlMatchedTagsHighlighter xmlTagMatchHiliter(this);\r\n\t\txmlTagMatchHiliter.tagMatch(true);\r\n}\r\n}\r\n\r\n\r\n// Handle brace matching.\r\nvoid QsciScintilla::braceMatch()\r\n{\r\n    long braceAtCaret, braceOpposite;\r\n\r\n    findMatchingBrace(braceAtCaret, braceOpposite, braceMode);\r\n\r\n    if (braceAtCaret >= 0 && braceOpposite < 0)\r\n    {\r\n        SendScintilla(SCI_BRACEBADLIGHT, braceAtCaret);\r\n        SendScintilla(SCI_SETHIGHLIGHTGUIDE, 0UL);\r\n    }\r\n    else\r\n    {\r\n        char chBrace = SendScintilla(SCI_GETCHARAT, braceAtCaret);\r\n\r\n        SendScintilla(SCI_BRACEHIGHLIGHT, braceAtCaret, braceOpposite);\r\n\r\n        long columnAtCaret = SendScintilla(SCI_GETCOLUMN, braceAtCaret);\r\n        long columnOpposite = SendScintilla(SCI_GETCOLUMN, braceOpposite);\r\n\r\n        if (chBrace == ':')\r\n        {\r\n            long lineStart = SendScintilla(SCI_LINEFROMPOSITION, braceAtCaret);\r\n            long indentPos = SendScintilla(SCI_GETLINEINDENTPOSITION,\r\n                    lineStart);\r\n            long indentPosNext = SendScintilla(SCI_GETLINEINDENTPOSITION,\r\n                    lineStart + 1);\r\n\r\n            columnAtCaret = SendScintilla(SCI_GETCOLUMN, indentPos);\r\n\r\n            long columnAtCaretNext = SendScintilla(SCI_GETCOLUMN,\r\n                    indentPosNext);\r\n            long indentSize = SendScintilla(SCI_GETINDENT);\r\n\r\n            if (columnAtCaretNext - indentSize > 1)\r\n                columnAtCaret = columnAtCaretNext - indentSize;\r\n\r\n            if (columnOpposite == 0)\r\n                columnOpposite = columnAtCaret;\r\n        }\r\n\r\n        long column = columnAtCaret;\r\n\r\n        if (column > columnOpposite)\r\n            column = columnOpposite;\r\n\r\n        SendScintilla(SCI_SETHIGHLIGHTGUIDE, column);\r\n    }\r\n}\r\n\r\n\r\n// Check if the character at a position is a brace.\r\nlong QsciScintilla::checkBrace(long pos, int brace_style, bool &colonMode)\r\n{\r\n    long brace_pos = -1;\r\n    char ch = SendScintilla(SCI_GETCHARAT, pos);\r\n\r\n    if (ch == ':')\r\n    {\r\n        // A bit of a hack, we should really use a virtual.\r\n        if (!lex.isNull() && qstrcmp(lex->lexer(), \"python\") == 0)\r\n        {\r\n            brace_pos = pos;\r\n            colonMode = true;\r\n        }\r\n    }\r\n    else if (ch && strchr(\"[](){}<>\", ch))\r\n    {\r\n        if (brace_style < 0)\r\n            brace_pos = pos;\r\n        else\r\n        {\r\n            int style = SendScintilla(SCI_GETSTYLEAT, pos) & 0x1f;\r\n\r\n            if (style == brace_style)\r\n                brace_pos = pos;\r\n        }\r\n    }\r\n\r\n    return brace_pos;\r\n}\r\n\r\n\r\n// Find a brace and it's match.  Return true if the current position is inside\r\n// a pair of braces.\r\nbool QsciScintilla::findMatchingBrace(long &brace, long &other, BraceMatch mode)\r\n{\r\n    bool colonMode = false;\r\n    int brace_style = (lex.isNull() ? -1 : lex->braceStyle());\r\n\r\n    brace = -1;\r\n    other = -1;\r\n\r\n    long caretPos = SendScintilla(SCI_GETCURRENTPOS);\r\n\r\n    if (caretPos > 0)\r\n        brace = checkBrace(caretPos - 1, brace_style, colonMode);\r\n\r\n    bool isInside = false;\r\n\r\n    if (brace < 0 && mode == SloppyBraceMatch)\r\n    {\r\n        brace = checkBrace(caretPos, brace_style, colonMode);\r\n\r\n        if (brace >= 0 && !colonMode)\r\n            isInside = true;\r\n    }\r\n\r\n    if (brace >= 0)\r\n    {\r\n        if (colonMode)\r\n        {\r\n            // Find the end of the Python indented block.\r\n            long lineStart = SendScintilla(SCI_LINEFROMPOSITION, brace);\r\n            long lineMaxSubord = SendScintilla(SCI_GETLASTCHILD, lineStart, -1);\r\n\r\n            other = SendScintilla(SCI_GETLINEENDPOSITION, lineMaxSubord);\r\n        }\r\n        else\r\n            other = SendScintilla(SCI_BRACEMATCH, brace, 0L);\r\n\r\n        if (other > brace)\r\n            isInside = !isInside;\r\n    }\r\n\r\n    return isInside;\r\n}\r\n\r\n\r\n// Move to the matching brace.\r\nvoid QsciScintilla::moveToMatchingBrace()\r\n{\r\n    gotoMatchingBrace(false);\r\n}\r\n\r\n\r\n// Select to the matching brace.\r\nvoid QsciScintilla::selectToMatchingBrace()\r\n{\r\n    gotoMatchingBrace(true);\r\n}\r\n\r\n\r\n// Move to the matching brace and optionally select the text.\r\nvoid QsciScintilla::gotoMatchingBrace(bool select)\r\n{\r\n    long braceAtCaret;\r\n    long braceOpposite;\r\n\r\n    bool isInside = findMatchingBrace(braceAtCaret, braceOpposite,\r\n            SloppyBraceMatch);\r\n\r\n    if (braceOpposite >= 0)\r\n    {\r\n        // Convert the character positions into caret positions based on\r\n        // whether the caret position was inside or outside the braces.\r\n        if (isInside)\r\n        {\r\n            if (braceOpposite > braceAtCaret)\r\n                braceAtCaret++;\r\n            else\r\n                braceOpposite++;\r\n        }\r\n        else\r\n        {\r\n            if (braceOpposite > braceAtCaret)\r\n                braceOpposite++;\r\n            else\r\n                braceAtCaret++;\r\n        }\r\n\r\n        ensureLineVisible(SendScintilla(SCI_LINEFROMPOSITION, braceOpposite));\r\n\r\n        if (select)\r\n            SendScintilla(SCI_SETSEL, braceAtCaret, braceOpposite);\r\n        else\r\n            SendScintilla(SCI_SETSEL, braceOpposite, braceOpposite);\r\n    }\r\n}\r\n\r\n\r\n// Return a position from a line number and an index within the line.\r\nint QsciScintilla::positionFromLineIndex(int line, int index) const\r\n{\r\n    int pos = SendScintilla(SCI_POSITIONFROMLINE, line);\r\n\r\n    // Allow for multi-byte characters.\r\n    for(int i = 0; i < index; i++)\r\n        pos = SendScintilla(SCI_POSITIONAFTER, pos);\r\n\r\n    return pos;\r\n}\r\n\r\n\r\n// Return a line number and an index within the line from a position.\r\nvoid QsciScintilla::lineIndexFromPosition(int position, int *line, int *index) const\r\n{\r\n    int lin = SendScintilla(SCI_LINEFROMPOSITION, position);\r\n    int linpos = SendScintilla(SCI_POSITIONFROMLINE, lin);\r\n    int indx = 0;\r\n\r\n    // Allow for multi-byte characters.\r\n    while (linpos < position)\r\n    {\r\n        int new_linpos = SendScintilla(SCI_POSITIONAFTER, linpos);\r\n\r\n        // If the position hasn't moved then we must be at the end of the text\r\n        // (which implies that the position passed was beyond the end of the\r\n        // text).\r\n        if (new_linpos == linpos)\r\n            break;\r\n\r\n        linpos = new_linpos;\r\n        ++indx;\r\n    }\r\n\r\n    *line = lin;\r\n    *index = indx;\r\n}\r\n\r\n\r\n// Set the source of the automatic auto-completion list.\r\nvoid QsciScintilla::setAutoCompletionSource(AutoCompletionSource source)\r\n{\r\n    acSource = source;\r\n}\r\n\r\n\r\n// Set the threshold for automatic auto-completion.\r\nvoid QsciScintilla::setAutoCompletionThreshold(int thresh)\r\n{\r\n    acThresh = thresh;\r\n}\r\n\r\n\r\n// Set the auto-completion word separators if there is no current lexer.\r\nvoid QsciScintilla::setAutoCompletionWordSeparators(const QStringList &separators)\r\n{\r\n    if (lex.isNull())\r\n        wseps = separators;\r\n}\r\n\r\n\r\n// Explicitly auto-complete from all sources.\r\nvoid QsciScintilla::autoCompleteFromAll()\r\n{\r\n    startAutoCompletion(AcsAll, false, use_single != AcusNever);\r\n}\r\n\r\n\r\n// Explicitly auto-complete from the APIs.\r\nvoid QsciScintilla::autoCompleteFromAPIs()\r\n{\r\n    startAutoCompletion(AcsAPIs, false, use_single != AcusNever);\r\n}\r\n\r\n\r\n// Explicitly auto-complete from the document.\r\nvoid QsciScintilla::autoCompleteFromDocument()\r\n{\r\n    startAutoCompletion(AcsDocument, false, use_single != AcusNever);\r\n}\r\n\r\n\r\n// Check if a character can be in a word.\r\nbool QsciScintilla::isWordCharacter(char ch) const\r\n{\r\n    return (strchr(wchars, ch) != NULL);\r\n}\r\n\r\n\r\n// Return the set of valid word characters.\r\nconst char *QsciScintilla::wordCharacters() const\r\n{\r\n    return wchars;\r\n}\r\n\r\n\r\n// Recolour the document.\r\nvoid QsciScintilla::recolor(int start, int end)\r\n{\r\n    SendScintilla(SCI_COLOURISE, start, end);\r\n}\r\n\r\n\r\n// Registered a QPixmap image.\r\nvoid QsciScintilla::registerImage(int id, const QPixmap &pm)\r\n{\r\n    SendScintilla(SCI_REGISTERIMAGE, id, pm);\r\n}\r\n\r\n\r\n// Registered a QImage image.\r\nvoid QsciScintilla::registerImage(int id, const QImage &im)\r\n{\r\n    SendScintilla(SCI_RGBAIMAGESETHEIGHT, im.height());\r\n    SendScintilla(SCI_RGBAIMAGESETWIDTH, im.width());\r\n    SendScintilla(SCI_REGISTERRGBAIMAGE, id, im);\r\n}\r\n\r\n\r\n// Clear all registered images.\r\nvoid QsciScintilla::clearRegisteredImages()\r\n{\r\n    SendScintilla(SCI_CLEARREGISTEREDIMAGES);\r\n}\r\n\r\n\r\n// Enable auto-completion fill-ups.\r\nvoid QsciScintilla::setAutoCompletionFillupsEnabled(bool enable)\r\n{\r\n    const char *fillups;\r\n\r\n    if (!enable)\r\n        fillups = \"\";\r\n    else if (!lex.isNull())\r\n        fillups = lex->autoCompletionFillups();\r\n    else\r\n        fillups = explicit_fillups.data();\r\n\r\n    SendScintilla(SCI_AUTOCSETFILLUPS, fillups);\r\n\r\n    fillups_enabled = enable;\r\n}\r\n\r\n\r\n// See if auto-completion fill-ups are enabled.\r\nbool QsciScintilla::autoCompletionFillupsEnabled() const\r\n{\r\n    return fillups_enabled;\r\n}\r\n\r\n\r\n// Set the fill-up characters for auto-completion if there is no current lexer.\r\nvoid QsciScintilla::setAutoCompletionFillups(const char *fillups)\r\n{\r\n    explicit_fillups = fillups;\r\n    setAutoCompletionFillupsEnabled(fillups_enabled);\r\n}\r\n\r\n\r\n// Set the case sensitivity for auto-completion.\r\nvoid QsciScintilla::setAutoCompletionCaseSensitivity(bool cs)\r\n{\r\n    SendScintilla(SCI_AUTOCSETIGNORECASE, !cs);\r\n}\r\n\r\n\r\n// Return the case sensitivity for auto-completion.\r\nbool QsciScintilla::autoCompletionCaseSensitivity() const\r\n{\r\n    return !SendScintilla(SCI_AUTOCGETIGNORECASE);\r\n}\r\n\r\n\r\n// Set the replace word mode for auto-completion.\r\nvoid QsciScintilla::setAutoCompletionReplaceWord(bool replace)\r\n{\r\n    SendScintilla(SCI_AUTOCSETDROPRESTOFWORD, replace);\r\n}\r\n\r\n\r\n// Return the replace word mode for auto-completion.\r\nbool QsciScintilla::autoCompletionReplaceWord() const\r\n{\r\n    return SendScintilla(SCI_AUTOCGETDROPRESTOFWORD);\r\n}\r\n\r\n\r\n// Set the single item mode for auto-completion.\r\nvoid QsciScintilla::setAutoCompletionUseSingle(AutoCompletionUseSingle single)\r\n{\r\n    use_single = single;\r\n}\r\n\r\n\r\n// Return the single item mode for auto-completion.\r\nQsciScintilla::AutoCompletionUseSingle QsciScintilla::autoCompletionUseSingle() const\r\n{\r\n    return use_single;\r\n}\r\n\r\n\r\n// Set the single item mode for auto-completion (deprecated).\r\nvoid QsciScintilla::setAutoCompletionShowSingle(bool single)\r\n{\r\n    use_single = (single ? AcusExplicit : AcusNever);\r\n}\r\n\r\n\r\n// Return the single item mode for auto-completion (deprecated).\r\nbool QsciScintilla::autoCompletionShowSingle() const\r\n{\r\n    return (use_single != AcusNever);\r\n}\r\n\r\n\r\n// Set current call tip position.\r\nvoid QsciScintilla::setCallTipsPosition(CallTipsPosition position)\r\n{\r\n    SendScintilla(SCI_CALLTIPSETPOSITION, (position == CallTipsAboveText));\r\n    call_tips_position = position;\r\n}\r\n\r\n\r\n// Set current call tip style.\r\nvoid QsciScintilla::setCallTipsStyle(CallTipsStyle style)\r\n{\r\n    call_tips_style = style;\r\n}\r\n\r\n\r\n// Set maximum number of call tips displayed.\r\nvoid QsciScintilla::setCallTipsVisible(int nr)\r\n{\r\n    maxCallTips = nr;\r\n}\r\n\r\n\r\n// Set the document to display.\r\nvoid QsciScintilla::setDocument(const QsciDocument &document)\r\n{\r\n    if (doc.pdoc != document.pdoc)\r\n    {\r\n        doc.undisplay(this);\r\n        doc.attach(document);\r\n        doc.display(this,&document);\r\n    }\r\n}\r\n\r\n\r\n// Ensure the document is read-write and return true if was was read-only.\r\nbool QsciScintilla::ensureRW()\r\n{\r\n    bool ro = isReadOnly();\r\n\r\n    if (ro)\r\n        setReadOnly(false);\r\n\r\n    return ro;\r\n}\r\n\r\n\r\n// Return the number of the first visible line.\r\nint QsciScintilla::firstVisibleLine() const\r\n{\r\n    return SendScintilla(SCI_GETFIRSTVISIBLELINE);\r\n}\r\n\r\n\r\n// Set the number of the first visible line.\r\nvoid QsciScintilla::setFirstVisibleLine(int linenr)\r\n{\r\n    SendScintilla(SCI_SETFIRSTVISIBLELINE, linenr);\r\n}\r\n\r\n\r\n// Return the height in pixels of the text in a particular line.\r\nint QsciScintilla::textHeight(int linenr) const\r\n{\r\n    return SendScintilla(SCI_TEXTHEIGHT, linenr);\r\n}\r\n\r\n\r\n// See if auto-completion or user list is active.\r\nbool QsciScintilla::isListActive() const\r\n{\r\n    return SendScintilla(SCI_AUTOCACTIVE);\r\n}\r\n\r\n\r\n// Cancel any current auto-completion or user list.\r\nvoid QsciScintilla::cancelList()\r\n{\r\n    SendScintilla(SCI_AUTOCCANCEL);\r\n}\r\n\r\n\r\n// Handle a selection from the auto-completion list.\r\nvoid QsciScintilla::handleAutoCompletionSelection()\r\n{\r\n    if (!lex.isNull())\r\n    {\r\n        QsciAbstractAPIs *apis = lex->apis();\r\n\r\n        if (apis)\r\n            apis->autoCompletionSelected(acSelection);\r\n    }\r\n}\r\n\r\n\r\n// Display a user list.\r\nvoid QsciScintilla::showUserList(int id, const QStringList &list)\r\n{\r\n    // Sanity check to make sure auto-completion doesn't get confused.\r\n    if (id <= 0)\r\n        return;\r\n\r\n    SendScintilla(SCI_AUTOCSETSEPARATOR, userSeparator);\r\n\r\n    ScintillaBytes s = textAsBytes(list.join(QChar(userSeparator)));\r\n    SendScintilla(SCI_USERLISTSHOW, id, ScintillaBytesConstData(s));\r\n}\r\n\r\n\r\n// Translate the SCN_USERLISTSELECTION notification into something more useful.\r\nvoid QsciScintilla::handleUserListSelection(const char *text, int id)\r\n{\r\n    emit userListActivated(id, QString(text));\r\n\r\n    // Make sure the editor hasn't been deactivated as a side effect.\r\n    activateWindow();\r\n}\r\n\r\n\r\n// Return the case sensitivity of any lexer.\r\nbool QsciScintilla::caseSensitive() const\r\n{\r\n    return lex.isNull() ? true : lex->caseSensitive();\r\n}\r\n\r\n\r\n// Return true if the current list is an auto-completion list rather than a\r\n// user list.\r\nbool QsciScintilla::isAutoCompletionList() const\r\n{\r\n    return (SendScintilla(SCI_AUTOCGETSEPARATOR) == acSeparator);\r\n}\r\n\r\n\r\n// Read the text from a QIODevice.\r\nbool QsciScintilla::read(QIODevice *io)\r\n{\r\n    const int min_size = 1024 * 8;\r\n\r\n    int buf_size = min_size;\r\n    char *buf = new char[buf_size];\r\n\r\n    int data_len = 0;\r\n    bool ok = true;\r\n\r\n    qint64 part;\r\n\r\n    // Read the whole lot in so we don't have to worry about character\r\n    // boundaries.\r\n    do\r\n    {\r\n        // Make sure there is a minimum amount of room.\r\n        if (buf_size - data_len < min_size)\r\n        {\r\n            buf_size *= 2;\r\n            char *new_buf = new char[buf_size * 2];\r\n\r\n            memcpy(new_buf, buf, data_len);\r\n            delete[] buf;\r\n            buf = new_buf;\r\n        }\r\n\r\n        part = io->read(buf + data_len, buf_size - data_len - 1);\r\n        data_len += part;\r\n    }\r\n    while (part > 0);\r\n\r\n    if (part < 0)\r\n        ok = false;\r\n    else\r\n    {\r\n        buf[data_len] = '\\0';\r\n\r\n        bool ro = ensureRW();\r\n\r\n        SendScintilla(SCI_SETTEXT, buf);\r\n        SendScintilla(SCI_EMPTYUNDOBUFFER);\r\n\r\n        setReadOnly(ro);\r\n    }\r\n\r\n    delete[] buf;\r\n\r\n    return ok;\r\n}\r\n\r\n\r\n// Write the text to a QIODevice.\r\nbool QsciScintilla::write(QIODevice *io) const\r\n{\r\n    const char *buf = reinterpret_cast<const char *>(SendScintillaPtrResult(SCI_GETCHARACTERPOINTER));\r\n\r\n    const char *bp = buf;\r\n    uint buflen = qstrlen(buf);\r\n\r\n    while (buflen > 0)\r\n    {\r\n        qint64 part = io->write(bp, buflen);\r\n\r\n        if (part < 0)\r\n            return false;\r\n\r\n        bp += part;\r\n        buflen -= part;\r\n    }\r\n\r\n    return true;\r\n}\r\n\r\n//是否开启缩进。这个和前面的setIndentationGuides有冗余。暂时使用这个来确定，因为外部有一个详细检测是否python的作用\r\nvoid QsciScintilla::setIndentGuide(bool v)\r\n{\r\n\tisIndentGuide = v;\r\n}\r\n\r\nbool QsciScintilla::getIndentGuide()\r\n{\r\n\treturn isIndentGuide;\r\n}\r\n\r\nvoid QsciScintilla::setHtmlHighLightTag(bool v)\r\n{\r\n\tisHtmlHighLightTag = v;\r\n}\r\n\r\nbool QsciScintilla::getHtmlHighLightTag()\r\n{\r\n\treturn isHtmlHighLightTag;\r\n}\r\n\r\n\r\n// Return the word at the given coordinates.\r\nQString QsciScintilla::wordAtLineIndex(int line, int index) const\r\n{\r\n    return wordAtPosition(positionFromLineIndex(line, index));\r\n}\r\n\r\n\r\n// Return the word at the given coordinates.\r\nQString QsciScintilla::wordAtPoint(const QPoint &point) const\r\n{\r\n    long close_pos = SendScintilla(SCI_POSITIONFROMPOINTCLOSE, point.x(),\r\n            point.y());\r\n\r\n    return wordAtPosition(close_pos);\r\n}\r\n\r\n\r\n// Return the word at the given position.\r\nQString QsciScintilla::wordAtPosition(int position) const\r\n{\r\n    if (position < 0)\r\n        return QString();\r\n\r\n    long start_pos = SendScintilla(SCI_WORDSTARTPOSITION, position, true);\r\n    long end_pos = SendScintilla(SCI_WORDENDPOSITION, position, true);\r\n\r\n    if (start_pos >= end_pos)\r\n        return QString();\r\n\r\n    return text(start_pos, end_pos);\r\n}\r\n\r\n\r\n// Return the display style for annotations.\r\nQsciScintilla::AnnotationDisplay QsciScintilla::annotationDisplay() const\r\n{\r\n    return (AnnotationDisplay)SendScintilla(SCI_ANNOTATIONGETVISIBLE);\r\n}\r\n\r\n\r\n// Set the display style for annotations.\r\nvoid QsciScintilla::setAnnotationDisplay(QsciScintilla::AnnotationDisplay display)\r\n{\r\n    SendScintilla(SCI_ANNOTATIONSETVISIBLE, display);\r\n    setScrollBars();\r\n}\r\n\r\n\r\n// Clear annotations.\r\nvoid QsciScintilla::clearAnnotations(int line)\r\n{\r\n    if (line >= 0)\r\n        SendScintilla(SCI_ANNOTATIONSETTEXT, line, (const char *)0);\r\n    else\r\n        SendScintilla(SCI_ANNOTATIONCLEARALL);\r\n\r\n    setScrollBars();\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::annotate(int line, const QString &text, int style)\r\n{\r\n    int style_offset = SendScintilla(SCI_ANNOTATIONGETSTYLEOFFSET);\r\n\r\n    ScintillaBytes s = textAsBytes(text);\r\n\r\n    SendScintilla(SCI_ANNOTATIONSETTEXT, line, ScintillaBytesConstData(s));\r\n    SendScintilla(SCI_ANNOTATIONSETSTYLE, line, style - style_offset);\r\n\r\n    setScrollBars();\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::annotate(int line, const QString &text, const QsciStyle &style)\r\n{\r\n    style.apply(this);\r\n\r\n    annotate(line, text, style.style());\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::annotate(int line, const QsciStyledText &text)\r\n{\r\n    text.apply(this);\r\n\r\n    annotate(line, text.text(), text.style());\r\n}\r\n\r\n\r\n// Annotate a line.\r\nvoid QsciScintilla::annotate(int line, const QList<QsciStyledText> &text)\r\n{\r\n    char *styles;\r\n    ScintillaBytes styled_text = styleText(text, &styles,\r\n            SendScintilla(SCI_ANNOTATIONGETSTYLEOFFSET));\r\n\r\n    SendScintilla(SCI_ANNOTATIONSETTEXT, line,\r\n            ScintillaBytesConstData(styled_text));\r\n    SendScintilla(SCI_ANNOTATIONSETSTYLES, line, styles);\r\n\r\n    delete[] styles;\r\n}\r\n\r\n\r\n// Get the annotation for a line, if any.\r\nQString QsciScintilla::annotation(int line) const\r\n{\r\n    char *buf = new char[SendScintilla(SCI_ANNOTATIONGETTEXT, line, (const char *)0) + 1];\r\n\r\n    buf[SendScintilla(SCI_ANNOTATIONGETTEXT, line, buf)] = '\\0';\r\n\r\n    QString qs = bytesAsText(buf);\r\n    delete[] buf;\r\n\r\n    return qs;\r\n}\r\n\r\n\r\n// Convert a list of styled text to the low-level arrays.\r\nQsciScintillaBase::ScintillaBytes QsciScintilla::styleText(const QList<QsciStyledText> &styled_text, char **styles, int style_offset)\r\n{\r\n    QString text;\r\n    int i;\r\n\r\n    // Build the full text.\r\n    for (i = 0; i < styled_text.count(); ++i)\r\n    {\r\n        const QsciStyledText &st = styled_text[i];\r\n\r\n        st.apply(this);\r\n\r\n        text.append(st.text());\r\n    }\r\n\r\n    ScintillaBytes s = textAsBytes(text);\r\n\r\n    // There is a style byte for every byte.\r\n    char *sp = *styles = new char[s.length()];\r\n\r\n    for (i = 0; i < styled_text.count(); ++i)\r\n    {\r\n        const QsciStyledText &st = styled_text[i];\r\n        ScintillaBytes part = textAsBytes(st.text());\r\n        int part_length = part.length();\r\n\r\n        for (int c = 0; c < part_length; ++c)\r\n            *sp++ = (char)(st.style() - style_offset);\r\n    }\r\n\r\n    return s;\r\n}\r\n\r\n\r\n// Convert Scintilla modifiers to the Qt equivalent.\r\nint QsciScintilla::mapModifiers(int modifiers)\r\n{\r\n    int state = 0;\r\n\r\n    if (modifiers & SCMOD_SHIFT)\r\n        state |= Qt::ShiftModifier;\r\n\r\n    if (modifiers & SCMOD_CTRL)\r\n        state |= Qt::ControlModifier;\r\n\r\n    if (modifiers & SCMOD_ALT)\r\n        state |= Qt::AltModifier;\r\n\r\n    if (modifiers & (SCMOD_SUPER | SCMOD_META))\r\n        state |= Qt::MetaModifier;\r\n\r\n    return state;\r\n}\r\n\r\n// Re-implemented to handle shortcut overrides.\r\nbool QsciScintilla::event(QEvent *e)\r\n{\r\n    if (e->type() == QEvent::ShortcutOverride && !isReadOnly())\r\n    {\r\n        QKeyEvent *ke = static_cast<QKeyEvent *>(e);\r\n\r\n        if (ke->key())\r\n        {\r\n            // We want ordinary characters.\r\n            if ((ke->modifiers() == Qt::NoModifier || ke->modifiers() == Qt::ShiftModifier || ke->modifiers() == Qt::KeypadModifier) && ke->key() < Qt::Key_Escape)\r\n            {\r\n                ke->accept();\r\n                return true;\r\n            }\r\n\r\n            // We want any key that is bound.\r\n            QsciCommand *cmd = stdCmds->boundTo(ke->key() | (ke->modifiers() & ~Qt::KeypadModifier));\r\n\r\n            if (cmd)\r\n            {\r\n                ke->accept();\r\n                return true;\r\n            }\r\n        }\r\n    }\r\n\r\n    return QsciScintillaBase::event(e);\r\n}\r\n\r\n\r\n// Re-implemented to zoom when the Control modifier is pressed.\r\nvoid QsciScintilla::wheelEvent(QWheelEvent *e)\r\n{\r\n#if defined(Q_OS_MAC)\r\n    const Qt::KeyboardModifier zoom_modifier = Qt::MetaModifier;\r\n#else\r\n    const Qt::KeyboardModifier zoom_modifier = Qt::ControlModifier;\r\n#endif\r\n\r\n   if ((e->modifiers() & zoom_modifier) != 0)\r\n   {\r\n       QPoint ad = e->angleDelta();\r\n       int delta = (qAbs(ad.x()) > qAbs(ad.y())) ? ad.x() : ad.y();\r\n\r\n       if (delta > 0)\r\n           zoomIn();\r\n       else\r\n           zoomOut();\r\n   }\r\n   else \r\n   {\r\n       QsciScintillaBase::wheelEvent(e);\r\n   }\r\n}\r\n\r\n\r\n// Re-implemented to handle chenges to the enabled state.\r\nvoid QsciScintilla::changeEvent(QEvent *e)\r\n{\r\n    QsciScintillaBase::changeEvent(e);\r\n\r\n    if (e->type() != QEvent::EnabledChange)\r\n        return;\r\n\r\n    if (isEnabled())\r\n        SendScintilla(SCI_SETCARETSTYLE, CARETSTYLE_LINE);\r\n    else\r\n        SendScintilla(SCI_SETCARETSTYLE, CARETSTYLE_INVISIBLE);\r\n\r\n    QColor fore = palette().color(QPalette::Disabled, QPalette::Text);\r\n    QColor back = palette().color(QPalette::Disabled, QPalette::Base);\r\n\r\n    if (lex.isNull())\r\n    {\r\n        if (isEnabled())\r\n        {\r\n            fore = nl_text_colour;\r\n            back = nl_paper_colour;\r\n        }\r\n\r\n        SendScintilla(SCI_STYLESETFORE, 0, fore);\r\n\r\n        // Assume style 0 applies to everything so that we don't need to use\r\n        // SCI_STYLECLEARALL which clears everything.  We still have to set the\r\n        // default style as well for the background without any text.\r\n        SendScintilla(SCI_STYLESETBACK, 0, back);\r\n        SendScintilla(SCI_STYLESETBACK, STYLE_DEFAULT, back);\r\n    }\r\n    else\r\n    {\r\n        setEnabledColors(STYLE_DEFAULT, fore, back);\r\n\r\n        for (int s = 0; s <= STYLE_MAX; ++s)\r\n            if (!lex->description(s).isNull())\r\n                setEnabledColors(s, fore, back);\r\n    }\r\n}\r\n\r\n\r\n// Set the foreground and background colours for a style.\r\nvoid QsciScintilla::setEnabledColors(int style, QColor &fore, QColor &back)\r\n{\r\n    if (isEnabled())\r\n    {\r\n        fore = lex->color(style);\r\n        back = lex->paper(style);\r\n    }\r\n\r\n    handleStyleColorChange(fore, style);\r\n    handleStylePaperChange(back, style);\r\n}\r\n\r\n\r\n// Re-implemented to implement a more Qt-like context menu.\r\nvoid QsciScintilla::contextMenuEvent(QContextMenuEvent *e)\r\n{\r\n    if (contextMenuNeeded(e->x(), e->y()))\r\n    {\r\n        QMenu *menu = createStandardContextMenu();\r\n\r\n        contextUserDefineMenuEvent(menu);\r\n\r\n        if (menu)\r\n        {\r\n            menu->setAttribute(Qt::WA_DeleteOnClose);\r\n            menu->popup(e->globalPos());\r\n        }\r\n    }\r\n}\r\n\r\nvoid QsciScintilla::contextUserDefineMenuEvent(QMenu* menu)\r\n{\r\n}\r\n\r\n\r\n\r\n// Create an instance of the standard context menu.\r\nQMenu *QsciScintilla::createStandardContextMenu()\r\n{\r\n    bool read_only = isReadOnly();\r\n    bool has_selection = hasSelectedText();\r\n    QMenu *menu = new QMenu(this);\r\n    QAction *action;\r\n\r\n    if (!read_only)\r\n    {\r\n        /*action = menu->addAction(tr(\"&Undo\"), this, SLOT(undo()));\r\n        set_shortcut(action, QsciCommand::Undo);\r\n        action->setEnabled(isUndoAvailable());\r\n\r\n        action = menu->addAction(tr(\"&Redo\"), this, SLOT(redo()));\r\n        set_shortcut(action, QsciCommand::Redo);\r\n        action->setEnabled(isRedoAvailable());*/\r\n\r\n        menu->addSeparator();\r\n\r\n        action = menu->addAction(tr(\"&Cut\"), this, SLOT(cut()));\r\n        set_shortcut(action, QsciCommand::SelectionCut);\r\n        action->setEnabled(has_selection);\r\n    }\r\n\r\n    action = menu->addAction(tr(\"&Copy\"), this, SLOT(copy()));\r\n    action->setObjectName(\"copy\");\r\n    set_shortcut(action, QsciCommand::SelectionCopy);\r\n    action->setEnabled(has_selection);\r\n\r\n    if (!read_only)\r\n    {\r\n        action = menu->addAction(tr(\"&Paste\"), this, SLOT(paste()));\r\n        set_shortcut(action, QsciCommand::Paste);\r\n        action->setEnabled(SendScintilla(SCI_CANPASTE));\r\n\r\n        action = menu->addAction(tr(\"Delete\"), this, SLOT(delete_selection()));\r\n        action->setEnabled(has_selection);\r\n    }\r\n\r\n    if (!read_only && !menu->isEmpty())\r\n        menu->addSeparator();\r\n\r\n    action = menu->addAction(tr(\"Select All\"), this, SLOT(selectAll()));\r\n    set_shortcut(action, QsciCommand::SelectAll);\r\n    action->setEnabled(length() != 0);\r\n\r\n    return menu;\r\n}\r\n\r\n\r\n// Set the shortcut for an action using any current key binding.\r\nvoid QsciScintilla::set_shortcut(QAction *action, QsciCommand::Command cmd_id) const\r\n{\r\n    QsciCommand *cmd = stdCmds->find(cmd_id);\r\n\r\n    if (cmd && cmd->key())\r\n        action->setShortcut(QKeySequence(cmd->key()));\r\n}\r\n\r\n\r\n// Delete the current selection.\r\nvoid QsciScintilla::delete_selection()\r\n{\r\n    SendScintilla(SCI_CLEAR);\r\n}\r\n\r\n\r\n// Convert a Scintilla colour to a QColor.\r\nstatic QColor asQColor(long sci_colour)\r\n{\r\n    return QColor(\r\n            ((int)sci_colour) & 0x00ff,\r\n            ((int)(sci_colour >> 8)) & 0x00ff,\r\n            ((int)(sci_colour >> 16)) & 0x00ff);\r\n}\r\n\r\n\r\n// Set the scroll width.\r\nvoid QsciScintilla::setScrollWidth(int pixelWidth)\r\n{\r\n    SendScintilla(SCI_SETSCROLLWIDTH, pixelWidth);\r\n}\r\n\r\n// Get the scroll width.\r\nint QsciScintilla::scrollWidth() const\r\n{\r\n    return SendScintilla(SCI_GETSCROLLWIDTH);\r\n}\r\n\r\n\r\n// Set scroll width tracking.\r\nvoid QsciScintilla::setScrollWidthTracking(bool enabled)\r\n{\r\n    SendScintilla(SCI_SETSCROLLWIDTHTRACKING, enabled);\r\n}\r\n\r\n\r\n// Get scroll width tracking.\r\nbool QsciScintilla::scrollWidthTracking() const\r\n{\r\n    return SendScintilla(SCI_GETSCROLLWIDTHTRACKING);\r\n}\r\n"
  },
  {
    "path": "src/qscint/src/qsciscintillabase.cpp",
    "content": "// This module implements the \"official\" low-level API.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qsciscintillabase.h\"\n\n#include <QApplication>\n#include <QClipboard>\n#include <QColor>\n#include <QContextMenuEvent>\n#include <QDragEnterEvent>\n#include <QDragMoveEvent>\n#include <QDropEvent>\n#include <QDragLeaveEvent>\n#include <QFocusEvent>\n#include <QKeyEvent>\n#include <QList>\n#include <QMimeData>\n#include <QMouseEvent>\n#include <QPaintEvent>\n#include <QScrollBar>\n#include <QStyle>\n\n#include \"SciAccessibility.h\"\n#include \"ScintillaQt.h\"\n\n\n// The #defines in Scintilla.h and the enums in qsciscintillabase.h conflict\n// (because we want to use the same names) so we have to undefine those we use\n// in this file.\n#undef  SCI_SETCARETPERIOD\n#undef  SCK_DOWN\n#undef  SCK_UP\n#undef  SCK_LEFT\n#undef  SCK_RIGHT\n#undef  SCK_HOME\n#undef  SCK_END\n#undef  SCK_PRIOR\n#undef  SCK_NEXT\n#undef  SCK_DELETE\n#undef  SCK_INSERT\n#undef  SCK_ESCAPE\n#undef  SCK_BACK\n#undef  SCK_TAB\n#undef  SCK_RETURN\n#undef  SCK_ADD\n#undef  SCK_SUBTRACT\n#undef  SCK_DIVIDE\n#undef  SCK_WIN\n#undef  SCK_RWIN\n#undef  SCK_MENU\n#undef  SCN_URIDROPPED\n\n\n// Remember if we have linked the lexers.\nstatic bool lexersLinked = false;\n\n// The list of instances.\nstatic QList<QsciScintillaBase *> poolList;\n\n// Mime support.\nstatic const QLatin1String mimeTextPlain(\"text/plain\");\nstatic const QLatin1String mimeRectangularWin(\"MSDEVColumnSelect\");\nstatic const QLatin1String mimeRectangular(\"text/x-qscintilla-rectangular\");\n\n#if QT_VERSION < 0x060000 && defined(Q_OS_OSX)\nextern void initialiseRectangularPasteboardMime();\n#endif\n\n\n// The ctor.\nQsciScintillaBase::QsciScintillaBase(QWidget *parent)\n    : QAbstractScrollArea(parent), preeditPos(-1), preeditNrBytes(0),\n            clickCausedFocus(false)\n{\n#if !defined(QT_NO_ACCESSIBILITY)\n    QsciAccessibleScintillaBase::initialise();\n#endif\n\n    connectVerticalScrollBar();\n    connectHorizontalScrollBar();\n\n    setAcceptDrops(true);\n    setFocusPolicy(Qt::WheelFocus);\n    setAttribute(Qt::WA_KeyCompression);\n    setAttribute(Qt::WA_InputMethodEnabled);\n    setInputMethodHints(\n            Qt::ImhNoAutoUppercase|Qt::ImhNoPredictiveText|Qt::ImhMultiLine);\n\n    viewport()->setBackgroundRole(QPalette::Base);\n    viewport()->setMouseTracking(true);\n    viewport()->setAttribute(Qt::WA_NoSystemBackground);\n\n    triple_click.setSingleShot(true);\n\n#if QT_VERSION < 0x060000 && defined(Q_OS_OSX)\n    initialiseRectangularPasteboardMime();\n#endif\n\n    sci = new QsciScintillaQt(this);\n\n    SendScintilla(SCI_SETCARETPERIOD, QApplication::cursorFlashTime() / 2);\n\n    // Make sure the lexers are linked in.\n    if (!lexersLinked)\n    {\n        Scintilla_LinkLexers();\n        lexersLinked = true;\n    }\n\n    // Add it to the pool.\n    poolList.append(this);\n}\n\n\n// The dtor.\nQsciScintillaBase::~QsciScintillaBase()\n{\n    // The QsciScintillaQt object isn't a child so delete it explicitly.\n    delete sci;\n\n    // Remove it from the pool.\n    poolList.removeAt(poolList.indexOf(this));\n}\n\n\n// Return an instance from the pool.\nQsciScintillaBase *QsciScintillaBase::pool()\n{\n    return poolList.first();\n}\n\n\n// Tell Scintilla to update the scroll bars.  Scintilla should be doing this\n// itself.\nvoid QsciScintillaBase::setScrollBars()\n{\n    sci->SetScrollBars();\n}\n\nbool QsciScintillaBase::isInPasteStatus()\n{\n\treturn sci->IsInPasteStatus();\n}\n\n\n// Send a message to the real Scintilla widget using the low level Scintilla\n// API.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,\n        long lParam) const\n{\n    return sci->WndProc(msg, wParam, lParam);\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,\n        void *lParam) const\n{\n    return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(lParam));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, uintptr_t wParam,\n        const char *lParam) const\n{\n    return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(lParam));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg,\n        const char *lParam) const\n{\n    return sci->WndProc(msg, static_cast<uptr_t>(0),\n            reinterpret_cast<sptr_t>(lParam));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, const char *wParam,\n        const char *lParam) const\n{\n    return sci->WndProc(msg, reinterpret_cast<uptr_t>(wParam),\n            reinterpret_cast<sptr_t>(lParam));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, long wParam) const\n{\n    return sci->WndProc(msg, static_cast<uptr_t>(wParam),\n            static_cast<sptr_t>(0));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, int wParam) const\n{\n    return sci->WndProc(msg, static_cast<uptr_t>(wParam),\n            static_cast<sptr_t>(0));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, long cpMin, long cpMax,\n        char *lpstrText) const\n{\n    Sci_TextRange tr;\n\n    tr.chrg.cpMin = cpMin;\n    tr.chrg.cpMax = cpMax;\n    tr.lpstrText = lpstrText;\n\n    return sci->WndProc(msg, static_cast<uptr_t>(0),\n            reinterpret_cast<sptr_t>(&tr));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,\n        const QColor &col) const\n{\n    sptr_t lParam = (col.blue() << 16) | (col.green() << 8) | col.red();\n\n    return sci->WndProc(msg, wParam, lParam);\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, const QColor &col) const\n{\n    uptr_t wParam = (col.blue() << 16) | (col.green() << 8) | col.red();\n\n    return sci->WndProc(msg, wParam, static_cast<sptr_t>(0));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,\n        QPainter *hdc, const QRect &rc, long cpMin, long cpMax) const\n{\n    Sci_RangeToFormat rf;\n\n    rf.hdc = rf.hdcTarget = reinterpret_cast<Scintilla::SurfaceID>(hdc);\n\n    rf.rc.left = rc.left();\n    rf.rc.top = rc.top();\n    rf.rc.right = rc.right() + 1;\n    rf.rc.bottom = rc.bottom() + 1;\n\n    rf.chrg.cpMin = cpMin;\n    rf.chrg.cpMax = cpMax;\n\n    return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(&rf));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,\n        const QPixmap &lParam) const\n{\n    return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(&lParam));\n}\n\n\n// Overloaded message send.\nlong QsciScintillaBase::SendScintilla(unsigned int msg, unsigned long wParam,\n        const QImage &lParam) const\n{\n    return sci->WndProc(msg, wParam, reinterpret_cast<sptr_t>(&lParam));\n}\n\n\n// Send a message to the real Scintilla widget using the low level Scintilla\n// API that returns a pointer result.\nvoid *QsciScintillaBase::SendScintillaPtrResult(unsigned int msg) const\n{\n    return reinterpret_cast<void *>(sci->WndProc(msg, static_cast<uptr_t>(0),\n            static_cast<sptr_t>(0)));\n}\n\n\n// Re-implemented to handle font changes\nvoid QsciScintillaBase::changeEvent(QEvent *e)\n{\n    if (e->type() == QEvent::FontChange || e->type() == QEvent::ApplicationFontChange)\n        sci->InvalidateStyleRedraw();\n\n    QAbstractScrollArea::changeEvent(e);\n}\n\n\n// Re-implemented to handle the context menu.\nvoid QsciScintillaBase::contextMenuEvent(QContextMenuEvent *e)\n{\n    sci->ContextMenu(Scintilla::Point(e->globalX(), e->globalY()));\n}\n\n\n// Re-implemented to tell the widget it has the focus.\nvoid QsciScintillaBase::focusInEvent(QFocusEvent *e)\n{\n    sci->SetFocusState(true);\n    clickCausedFocus = (e->reason() == Qt::MouseFocusReason);\n    QAbstractScrollArea::focusInEvent(e);\n}\n\n\n// Re-implemented to tell the widget it has lost the focus.\nvoid QsciScintillaBase::focusOutEvent(QFocusEvent *e)\n{\n    if (e->reason() == Qt::ActiveWindowFocusReason)\n    {\n        // Only tell Scintilla we have lost focus if the new active window\n        // isn't our auto-completion list.  This is probably only an issue on\n        // Linux and there are still problems because subsequent focus out\n        // events don't always seem to get generated (at least with Qt5).\n\n        QWidget *aw = QApplication::activeWindow();\n\n        if (!aw || aw->parent() != this || !aw->inherits(\"QsciSciListBox\"))\n            sci->SetFocusState(false);\n    }\n    else\n    {\n        sci->SetFocusState(false);\n    }\n\n    QAbstractScrollArea::focusOutEvent(e);\n}\n\n\n// Re-implemented to make sure tabs are passed to the editor.\nbool QsciScintillaBase::focusNextPrevChild(bool next)\n{\n    if (!sci->pdoc->IsReadOnly())\n        return false;\n\n    return QAbstractScrollArea::focusNextPrevChild(next);\n}\n\n\n// Handle key presses.\nvoid QsciScintillaBase::keyPressEvent(QKeyEvent *e)\n{\n    int modifiers = 0;\n\n    if (e->modifiers() & Qt::ShiftModifier)\n        modifiers |= SCMOD_SHIFT;\n\n    if (e->modifiers() & Qt::ControlModifier)\n        modifiers |= SCMOD_CTRL;\n\n    if (e->modifiers() & Qt::AltModifier)\n        modifiers |= SCMOD_ALT;\n\n    if (e->modifiers() & Qt::MetaModifier)\n        modifiers |= SCMOD_META;\n\n    int key = commandKey(e->key(), modifiers);\n\n    if (key)\n    {\n        bool consumed = false;\n\n        sci->KeyDownWithModifiers(key, modifiers, &consumed);\n\n        if (consumed)\n        {\n            e->accept();\n            return;\n        }\n    }\n\n    QString text = e->text();\n\n    if (!text.isEmpty() && text[0].isPrint())\n    {\n        ScintillaBytes bytes = textAsBytes(text);\n        sci->AddCharUTF(bytes.data(), bytes.length());\n        e->accept();\n    }\n    else\n    {\n        QAbstractScrollArea::keyPressEvent(e);\n    }\n}\n\n\n// Map a Qt key to a valid Scintilla command key, or 0 if none.\nint QsciScintillaBase::commandKey(int qt_key, int &modifiers)\n{\n    int key;\n\n    switch (qt_key)\n    {\n    case Qt::Key_Down:\n        key = SCK_DOWN;\n        break;\n\n    case Qt::Key_Up:\n        key = SCK_UP;\n        break;\n\n    case Qt::Key_Left:\n        key = SCK_LEFT;\n        break;\n\n    case Qt::Key_Right:\n        key = SCK_RIGHT;\n        break;\n\n    case Qt::Key_Home:\n        key = SCK_HOME;\n        break;\n\n    case Qt::Key_End:\n        key = SCK_END;\n        break;\n\n    case Qt::Key_PageUp:\n        key = SCK_PRIOR;\n        break;\n\n    case Qt::Key_PageDown:\n        key = SCK_NEXT;\n        break;\n\n    case Qt::Key_Delete:\n        key = SCK_DELETE;\n        break;\n\n    case Qt::Key_Insert:\n        key = SCK_INSERT;\n        break;\n\n    case Qt::Key_Escape:\n        key = SCK_ESCAPE;\n        break;\n\n    case Qt::Key_Backspace:\n        key = SCK_BACK;\n        break;\n\n    case Qt::Key_Tab:\n        key = SCK_TAB;\n        break;\n\n    case Qt::Key_Backtab:\n        // Scintilla assumes a backtab is shift-tab.\n        key = SCK_TAB;\n        modifiers |= SCMOD_SHIFT;\n        break;\n\n    case Qt::Key_Return:\n    case Qt::Key_Enter:\n        key = SCK_RETURN;\n        break;\n\n    case Qt::Key_Super_L:\n        key = SCK_WIN;\n        break;\n\n    case Qt::Key_Super_R:\n        key = SCK_RWIN;\n        break;\n\n    case Qt::Key_Menu:\n        key = SCK_MENU;\n        break;\n\n    default:\n        if ((key = qt_key) > 0x7f)\n            key = 0;\n    }\n\n    return key;\n}\n\n\n// Encode a QString as bytes.\nQsciScintillaBase::ScintillaBytes QsciScintillaBase::textAsBytes(const QString &text) const\n{\n    if (sci->IsUnicodeMode())\n        return text.toUtf8();\n\n    return text.toLatin1();\n}\n\n\n// Decode bytes as a QString.\nQString QsciScintillaBase::bytesAsText(const char *bytes) const\n{\n    if (sci->IsUnicodeMode())\n        return QString::fromUtf8(bytes);\n\n    return QString::fromLatin1(bytes);\n}\n\n// Decode bytes as a QString.\nQString QsciScintillaBase::bytesAsText(const char *bytes, int length) const\n{\n\tif (sci->IsUnicodeMode())\n\t\treturn QString::fromUtf8(bytes, length);\n\n\treturn QString::fromLatin1(bytes,length);\n}\n\n// Handle a mouse button double click.\nvoid QsciScintillaBase::mouseDoubleClickEvent(QMouseEvent *e)\n{\n    if (e->button() != Qt::LeftButton)\n    {\n        e->ignore();\n        return;\n    }\n\n    setFocus();\n\n    // Make sure Scintilla will interpret this as a double-click.\n    unsigned clickTime = sci->lastClickTime + Scintilla::Platform::DoubleClickTime() - 1;\n\n    sci->ButtonDownWithModifiers(Scintilla::Point(e->x(), e->y()), clickTime,\n            eventModifiers(e));\n\n    // Remember the current position and time in case it turns into a triple\n    // click.\n    triple_click_at = e->globalPos();\n    triple_click.start(QApplication::doubleClickInterval());\n}\n\n\n// Handle a mouse move.\nvoid QsciScintillaBase::mouseMoveEvent(QMouseEvent *e)\n{\n    sci->ButtonMoveWithModifiers(Scintilla::Point(e->x(), e->y()), 0,\n            eventModifiers(e));\n}\n\n\n// Handle a mouse button press.\nvoid QsciScintillaBase::mousePressEvent(QMouseEvent *e)\n{\n    setFocus();\n\n    Scintilla::Point pt(e->x(), e->y());\n\n    if (e->button() == Qt::LeftButton || e->button() == Qt::RightButton)\n    {\n        unsigned clickTime;\n\n        // It is a triple click if the timer is running and the mouse hasn't\n        // moved too much.\n        if (triple_click.isActive() && (e->globalPos() - triple_click_at).manhattanLength() < QApplication::startDragDistance())\n            clickTime = sci->lastClickTime + Scintilla::Platform::DoubleClickTime() - 1;\n        else\n            clickTime = sci->lastClickTime + Scintilla::Platform::DoubleClickTime() + 1;\n\n        triple_click.stop();\n\n        // Scintilla uses the Alt modifier to initiate rectangular selection.\n        // However the GTK port (under X11, not Windows) uses the Control\n        // modifier (by default, although it is configurable).  It does this\n        // because most X11 window managers hijack Alt-drag to move the window.\n        // We do the same, except that (for the moment at least) we don't allow\n        // the modifier to be configured.\n        bool shift = e->modifiers() & Qt::ShiftModifier;\n        bool ctrl = e->modifiers() & Qt::ControlModifier;\n#if defined(Q_OS_MAC) || defined(Q_OS_WIN)\n        bool alt = e->modifiers() & Qt::AltModifier;\n#else\n        bool alt = ctrl;\n#endif\n\n        if (e->button() == Qt::LeftButton)\n            sci->ButtonDownWithModifiers(pt, clickTime,\n                    QsciScintillaQt::ModifierFlags(shift, ctrl, alt));\n        else\n            sci->RightButtonDownWithModifiers(pt, clickTime,\n                    QsciScintillaQt::ModifierFlags(shift, ctrl, alt));\n    }\n    else if (e->button() == Qt::MiddleButton)\n    {\n        QClipboard *cb = QApplication::clipboard();\n\n        if (cb->supportsSelection())\n        {\n            int pos = sci->PositionFromLocation(pt);\n\n            sci->sel.Clear();\n            sci->SetSelection(pos, pos);\n\n            sci->pasteFromClipboard(QClipboard::Selection);\n        }\n    }\n}\n\n\n// Handle a mouse button releases.\nvoid QsciScintillaBase::mouseReleaseEvent(QMouseEvent *e)\n{\n    if (e->button() != Qt::LeftButton)\n        return;\n\n    Scintilla::Point pt(e->x(), e->y());\n\n    if (sci->HaveMouseCapture())\n    {\n        bool ctrl = e->modifiers() & Qt::ControlModifier;\n\n        sci->ButtonUpWithModifiers(pt, 0,\n                QsciScintillaQt::ModifierFlags(false, ctrl, false));\n    }\n\n    if (!sci->pdoc->IsReadOnly() && !sci->PointInSelMargin(pt) && qApp->autoSipEnabled())\n    {\n        QStyle::RequestSoftwareInputPanel rsip = QStyle::RequestSoftwareInputPanel(style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));\n\n        if (!clickCausedFocus || rsip == QStyle::RSIP_OnMouseClick)\n            qApp->inputMethod()->show();\n    }\n\n    clickCausedFocus = false;\n}\n\n\n// Handle paint events.\nvoid QsciScintillaBase::paintEvent(QPaintEvent *e)\n{\n    sci->paintEvent(e);\n}\n\n\n// Handle resize events.\nvoid QsciScintillaBase::resizeEvent(QResizeEvent *)\n{\n    sci->ChangeSize();\n}\n\n\n// Re-implemented to suppress the default behaviour as Scintilla works at a\n// more fundamental level.  Note that this means that replacing the scrollbars\n// with custom versions does not work.\nvoid QsciScintillaBase::scrollContentsBy(int, int)\n{\n}\n\n\n// Handle the vertical scrollbar.\nvoid QsciScintillaBase::handleVSb(int value)\n{\n    sci->ScrollTo(value);\n}\n\n\n// Handle the horizontal scrollbar.\nvoid QsciScintillaBase::handleHSb(int value)\n{\n    sci->HorizontalScrollTo(value);\n}\n\n\n// Handle drag enters.\nvoid QsciScintillaBase::dragEnterEvent(QDragEnterEvent *e)\n{\n    QsciScintillaBase::dragMoveEvent(e);\n}\n\n\n// Handle drag leaves.\nvoid QsciScintillaBase::dragLeaveEvent(QDragLeaveEvent *)\n{\n    sci->SetDragPosition(Scintilla::SelectionPosition());\n}\n\n\n// Handle drag moves.\nvoid QsciScintillaBase::dragMoveEvent(QDragMoveEvent *e)\n{\n    if (e->mimeData()->hasUrls())\n    {\n        e->acceptProposedAction();\n    }\n    else\n    {\n        sci->SetDragPosition(\n                sci->SPositionFromLocation(\n                        Scintilla::Point(e->pos().x(), e->pos().y()), false,\n                        false, sci->UserVirtualSpace()));\n\n        acceptAction(e);\n    }\n}\n\n\n// Handle drops.\nvoid QsciScintillaBase::dropEvent(QDropEvent *e)\n{\n    if (e->mimeData()->hasUrls())\n    {\n        e->acceptProposedAction();\n\n        foreach (const QUrl &url, e->mimeData()->urls())\n            emit SCN_URIDROPPED(url);\n\n        return;\n    }\n\n    acceptAction(e);\n\n    if (!e->isAccepted())\n        return;\n\n    bool moving;\n    int len;\n    const char *s;\n    bool rectangular;\n\n    moving = (e->dropAction() == Qt::MoveAction);\n\n    QByteArray text = fromMimeData(e->mimeData(), rectangular);\n    len = text.length();\n    s = text.data();\n\n    std::string dest = Scintilla::Document::TransformLineEnds(s, len,\n                sci->pdoc->eolMode);\n\n    sci->DropAt(sci->posDrop, dest.c_str(), dest.length(), moving,\n            rectangular);\n\n    sci->Redraw();\n}\n\n\nvoid QsciScintillaBase::acceptAction(QDropEvent *e)\n{\n    if (sci->pdoc->IsReadOnly() || !canInsertFromMimeData(e->mimeData()))\n        e->ignore();\n    else\n        e->acceptProposedAction();\n}\n\n\n// See if a MIME data object can be decoded.\nbool QsciScintillaBase::canInsertFromMimeData(const QMimeData *source) const\n{\n    return source->hasFormat(mimeTextPlain);\n}\n\n\n// Create text from a MIME data object.\nQByteArray QsciScintillaBase::fromMimeData(const QMimeData *source, bool &rectangular) const\n{\n    // See if it is rectangular.  We try all of the different formats that\n    // Scintilla supports in case we are working across different platforms.\n    if (source->hasFormat(mimeRectangularWin))\n        rectangular = true;\n    else if (source->hasFormat(mimeRectangular))\n        rectangular = true;\n    else\n        rectangular = false;\n\n    // Note that we don't support Scintilla's hack of adding a '\\0' as Qt\n    // strips it off under the covers when pasting from another process.\n    QString utf8 = source->text();\n    QByteArray text;\n\n    if (sci->IsUnicodeMode())\n        text = utf8.toUtf8();\n    else\n        text = utf8.toLatin1();\n\n    return text;\n}\n\n\n// Create a MIME data object for some text.\nQMimeData *QsciScintillaBase::toMimeData(const QByteArray &text, bool rectangular) const\n{\n    QMimeData *mime = new QMimeData;\n\n    QString utf8;\n\n    if (sci->IsUnicodeMode())\n        utf8 = QString::fromUtf8(text.constData(), text.size());\n    else\n        utf8 = QString::fromLatin1(text.constData(), text.size());\n\n    mime->setText(utf8);\n\n    if (rectangular)\n    {\n        // Use the platform specific \"standard\" for specifying a rectangular\n        // selection.\n#if defined(Q_OS_WIN)\n        mime->setData(mimeRectangularWin, QByteArray());\n#else\n        mime->setData(mimeRectangular, QByteArray());\n#endif\n    }\n\n    return mime;\n}\n\n\n// Connect up the vertical scroll bar.\nvoid QsciScintillaBase::connectVerticalScrollBar()\n{\n    connect(verticalScrollBar(), SIGNAL(valueChanged(int)),\n            SLOT(handleVSb(int)));\n}\n\n\n// Connect up the horizontal scroll bar.\nvoid QsciScintillaBase::connectHorizontalScrollBar()\n{\n    connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),\n            SLOT(handleHSb(int)));\n}\n\n\n//! Replace the vertical scroll bar.\nvoid QsciScintillaBase::replaceVerticalScrollBar(QScrollBar *scrollBar)\n{\n    setVerticalScrollBar(scrollBar);\n    connectVerticalScrollBar();\n}\n\n\n// Replace the horizontal scroll bar.\nvoid QsciScintillaBase::replaceHorizontalScrollBar(QScrollBar *scrollBar)\n{\n    setHorizontalScrollBar(scrollBar);\n    connectHorizontalScrollBar();\n}\n\n\n// Return true if a context menu should be displayed.  This is provided as a\n// helper to QsciScintilla::contextMenuEvent().  A proper design would break\n// backwards compatibility.\nbool QsciScintillaBase::contextMenuNeeded(int x, int y) const\n{\n    Scintilla::Point pt(x, y);\n\n    // Clear any selection if the mouse is outside.\n    if (!sci->PointInSelection(pt))\n        sci->SetEmptySelection(sci->PositionFromLocation(pt));\n\n    // Respect SC_POPUP_*.\n    return sci->ShouldDisplayPopup(pt);\n}\n\n\n// Return the Scintilla keyboard modifiers set for a mouse event.\nint QsciScintillaBase::eventModifiers(QMouseEvent *e)\n{\n    bool shift = e->modifiers() & Qt::ShiftModifier;\n    bool ctrl = e->modifiers() & Qt::ControlModifier;\n    bool alt = e->modifiers() & Qt::AltModifier;\n\n    return QsciScintillaQt::ModifierFlags(shift, ctrl, alt);\n}\n"
  },
  {
    "path": "src/qscint/src/qscistyle.cpp",
    "content": "// This module implements the QsciStyle class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscistyle.h\"\n\n#include <qapplication.h>\n\n#include \"Qsci/qsciscintillabase.h\"\n\n\n// A ctor.\nQsciStyle::QsciStyle(int style)\n{\n    init(style);\n\n    QPalette pal = QApplication::palette();\n    setColor(pal.text().color());\n    setPaper(pal.base().color());\n\n    setFont(QApplication::font());\n    setEolFill(false);\n}\n\n\n// A ctor.\nQsciStyle::QsciStyle(int style, const QString &description,\n        const QColor &color, const QColor &paper, const QFont &font,\n        bool eolFill)\n{\n    init(style);\n\n    setDescription(description);\n\n    setColor(color);\n    setPaper(paper);\n\n    setFont(font);\n    setEolFill(eolFill);\n}\n\n\n// Initialisation common to all ctors.\nvoid QsciStyle::init(int style)\n{\n    // The next style number to allocate.  The initial values corresponds to\n    // the amount of space that Scintilla initially creates for styles.\n    static int next_style_nr = 63;\n\n    // See if a new style should be allocated.  Note that we allow styles to be\n    // passed in that are bigger than STYLE_MAX because the styles used for\n    // annotations are allowed to be.\n    if (style < 0)\n    {\n        // Note that we don't deal with the situation where the newly allocated\n        // style number has already been used explicitly.\n        if (next_style_nr > QsciScintillaBase::STYLE_LASTPREDEFINED)\n            style = next_style_nr--;\n    }\n\n    style_nr = style;\n\n    // Initialise the minor attributes.\n    setTextCase(QsciStyle::OriginalCase);\n    setVisible(true);\n    setChangeable(true);\n    setHotspot(false);\n}\n\n\n// Apply the style to a particular editor.\nvoid QsciStyle::apply(QsciScintillaBase *sci) const\n{\n    // Don't do anything if the style is invalid.\n    if (style_nr < 0)\n        return;\n\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETFORE, style_nr,\n            style_color);\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETBACK, style_nr,\n            style_paper);\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETFONT, style_nr,\n            style_font.family().toUtf8().data());\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETSIZEFRACTIONAL, style_nr,\n            long(style_font.pointSizeF() * QsciScintillaBase::SC_FONT_SIZE_MULTIPLIER));\n\n    // Pass the Qt weight via the back door.\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETWEIGHT, style_nr,\n            -style_font.weight());\n\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETITALIC, style_nr,\n            style_font.italic());\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETUNDERLINE, style_nr,\n            style_font.underline());\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETEOLFILLED, style_nr,\n            style_eol_fill);\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETCASE, style_nr,\n            (long)style_case);\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETVISIBLE, style_nr,\n            style_visible);\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETCHANGEABLE, style_nr,\n            style_changeable);\n    sci->SendScintilla(QsciScintillaBase::SCI_STYLESETHOTSPOT, style_nr,\n            style_hotspot);\n}\n\n\n// Set the color attribute.\nvoid QsciStyle::setColor(const QColor &color)\n{\n    style_color = color;\n}\n\n\n// Set the paper attribute.\nvoid QsciStyle::setPaper(const QColor &paper)\n{\n    style_paper = paper;\n}\n\n\n// Set the font attribute.\nvoid QsciStyle::setFont(const QFont &font)\n{\n    style_font = font;\n}\n\n\n// Set the eol fill attribute.\nvoid QsciStyle::setEolFill(bool eolFill)\n{\n    style_eol_fill = eolFill;\n}\n\n\n// Set the text case attribute.\nvoid QsciStyle::setTextCase(QsciStyle::TextCase text_case)\n{\n    style_case = text_case;\n}\n\n\n// Set the visible attribute.\nvoid QsciStyle::setVisible(bool visible)\n{\n    style_visible = visible;\n}\n\n\n// Set the changeable attribute.\nvoid QsciStyle::setChangeable(bool changeable)\n{\n    style_changeable = changeable;\n}\n\n\n// Set the hotspot attribute.\nvoid QsciStyle::setHotspot(bool hotspot)\n{\n    style_hotspot = hotspot;\n}\n\n\n// Refresh the style.  Note that since we had to add apply() then this can't do\n// anything useful so we leave it as a no-op.\nvoid QsciStyle::refresh()\n{\n}\n"
  },
  {
    "path": "src/qscint/src/qscistyledtext.cpp",
    "content": "// This module implements the QsciStyledText class.\n//\n// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>\n// \n// This file is part of QScintilla.\n// \n// This file may be used under the terms of the GNU General Public License\n// version 3.0 as published by the Free Software Foundation and appearing in\n// the file LICENSE included in the packaging of this file.  Please review the\n// following information to ensure the GNU General Public License version 3.0\n// requirements will be met: http://www.gnu.org/copyleft/gpl.html.\n// \n// If you do not wish to use this file under the terms of the GPL version 3.0\n// then you may purchase a commercial license.  For more information contact\n// info@riverbankcomputing.com.\n// \n// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE\n// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n\n\n#include \"Qsci/qscistyledtext.h\"\n\n#include \"Qsci/qsciscintillabase.h\"\n#include \"Qsci/qscistyle.h\"\n\n\n// A ctor.\nQsciStyledText::QsciStyledText(const QString &text, int style)\n    : styled_text(text), style_nr(style), explicit_style(0)\n{\n}\n\n\n// A ctor.\nQsciStyledText::QsciStyledText(const QString &text, const QsciStyle &style)\n    : styled_text(text), style_nr(-1)\n{\n    explicit_style = new QsciStyle(style);\n}\n\n\n// Return the number of the style.\nint QsciStyledText::style() const\n{\n    return explicit_style ? explicit_style->style() : style_nr;\n}\n\n\n// Apply any explicit style to an editor.\nvoid QsciStyledText::apply(QsciScintillaBase *sci) const\n{\n    if (explicit_style)\n        explicit_style->apply(sci);\n}\n"
  },
  {
    "path": "src/qscint/src/xmlMatchedTagsHighlighter.cpp",
    "content": "﻿// This file is part of Notepad-- project\r\n// Copyright (C)2023 zuowei.yin <cxasm@qq.com>\r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// at your option any later version.\r\n//\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n// GNU General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n\r\n// Tags matching routing rewritten by Dave Brotherstone May 2012\r\n// to remove need for regular expression searches (especially reverse regex searches)\r\n// Reverse regex are slow using the new regex engine, and hence cost too much time.\r\n\r\n\r\n#include \"xmlMatchedTagsHighlighter.h\"\r\n#include \"Qsci/qsciscintilla.h\"\r\n#include \"SciLexer.h\"\r\n#include \"Qsci/qscilexer.h\"\r\n#include \"Qsci/qsciscintillabase.h\"\r\n#include \"Scintilla.h\"\r\n\r\n\r\nusing namespace std;\r\n\r\nvector< pair<intptr_t, intptr_t> > XmlMatchedTagsHighlighter::getAttributesPos(intptr_t start, intptr_t end)\r\n{\r\n\tvector< pair<intptr_t, intptr_t> > attributes;\r\n\tintptr_t bufLen = end - start + 1;\r\n\tQByteArray text = _pEditView->bytes(start, end);\r\n\tchar *buf = text.data();\r\n\r\n\tenum {\\\r\n\t\tattr_invalid,\\\r\n\t\tattr_key,\\\r\n\t\tattr_pre_assign,\\\r\n\t\tattr_assign,\\\r\n\t\tattr_string,\\\r\n\t\tattr_single_quot_string,\\\r\n\t\tattr_value,\\\r\n\t\tattr_valid\\\r\n\t} state = attr_invalid;\r\n\r\n\tint startPos = -1;\r\n\tint oneMoreChar = 1;\r\n\tint i = 0;\r\n\tfor (; i < bufLen ; ++i)\r\n\t{\r\n\t\tswitch (buf[i])\r\n\t\t{\r\n\t\t\tcase ' ':\r\n\t\t\tcase '\\t':\r\n\t\t\tcase '\\n':\r\n\t\t\tcase '\\r':\r\n\t\t\t{\r\n\t\t\t\tif (state == attr_key)\r\n\t\t\t\t\tstate = attr_pre_assign;\r\n\t\t\t\telse if (state == attr_value)\r\n\t\t\t\t{\r\n\t\t\t\t\tstate = attr_valid;\r\n\t\t\t\t\toneMoreChar = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\t\tcase '=':\r\n\t\t\t{\r\n\t\t\t\tif (state == attr_key || state == attr_pre_assign)\r\n\t\t\t\t\tstate = attr_assign;\r\n\t\t\t\telse if (state == attr_assign || state == attr_value)\r\n\t\t\t\t\tstate = attr_invalid;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\t\tcase '\"':\r\n\t\t\t{\r\n\t\t\t\tif (state == attr_string)\r\n\t\t\t\t{\r\n\t\t\t\t\tstate = attr_valid;\r\n\t\t\t\t\toneMoreChar = 1;\r\n\t\t\t\t}\r\n\t\t\t\telse if (state == attr_key || state == attr_pre_assign || state == attr_value)\r\n\t\t\t\t\tstate = attr_invalid;\r\n\t\t\t\telse if (state == attr_assign)\r\n\t\t\t\t\tstate = attr_string;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\t\tcase '\\'':\r\n\t\t\t{\r\n\t\t\t\tif (state == attr_single_quot_string)\r\n\t\t\t\t{\r\n\t\t\t\t\tstate = attr_valid;\r\n\t\t\t\t\toneMoreChar = 1;\r\n\t\t\t\t}\r\n\t\t\t\telse if (state == attr_key || state == attr_pre_assign || state == attr_value)\r\n\t\t\t\t\tstate = attr_invalid;\r\n\t\t\t\telse if (state == attr_assign)\r\n\t\t\t\t\tstate = attr_single_quot_string;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\t\tdefault:\r\n\t\t\t{\r\n\t\t\t\tif (state == attr_invalid)\r\n\t\t\t\t{\r\n\t\t\t\t\tstate = attr_key;\r\n\t\t\t\t\tstartPos = i;\r\n\t\t\t\t}\r\n\t\t\t\telse if (state == attr_pre_assign)\r\n\t\t\t\t\tstate = attr_invalid;\r\n\t\t\t\telse if (state == attr_assign)\r\n\t\t\t\t\tstate = attr_value;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (state == attr_valid)\r\n\t\t{\r\n\t\t\tattributes.push_back(pair<intptr_t, intptr_t>(start+startPos, start+i+oneMoreChar));\r\n\t\t\tstate = attr_invalid;\r\n\t\t}\r\n\t}\r\n\tif (state == attr_value)\r\n\t\tattributes.push_back(pair<intptr_t, intptr_t>(start+startPos, start+i-1));\r\n\treturn attributes;\r\n}\r\n\r\n\r\n\r\nbool XmlMatchedTagsHighlighter::getXmlMatchedTagsPos(XmlMatchedTagsPos &xmlTags)\r\n{\r\n\tbool tagFound = false;\r\n\tintptr_t caret = _pEditView->SendScintilla(SCI_GETCURRENTPOS);\r\n\tintptr_t searchStartPoint = caret;\r\n    int styleAt;\r\n\tFindResult openFound;\r\n\t\r\n\t// Search back for the previous open angle bracket.\r\n\t// Keep looking whilst the angle bracket found is inside an XML attribute\r\n\tdo\r\n\t{\r\n\t\topenFound = findText(\"<\", searchStartPoint, 0, 0);\r\n\t\tstyleAt = _pEditView->SendScintilla(SCI_GETSTYLEAT, (int)openFound.start);\r\n\t\tsearchStartPoint = openFound.start - 1;\r\n\t} while (openFound.success && (styleAt == SCE_H_DOUBLESTRING || styleAt == SCE_H_SINGLESTRING || styleAt == SCE_H_COMMENT ) && searchStartPoint > 0);\r\n\r\n\tif (openFound.success && styleAt != SCE_H_CDATA)\r\n\t{\r\n\t\t// Found the \"<\" before the caret, now check there isn't a > between that position and the caret.\r\n\t\tFindResult closeFound;\r\n\t\tsearchStartPoint = openFound.start;\r\n\t\tdo\r\n\t\t{\r\n\t\t\tcloseFound = findText(\">\", searchStartPoint, caret, 0);\r\n\t\t\tstyleAt = _pEditView->SendScintilla(SCI_GETSTYLEAT, (int)closeFound.start);\r\n\t\t\tsearchStartPoint = closeFound.end;\r\n\t\t} while (closeFound.success && (styleAt == SCE_H_DOUBLESTRING || styleAt == SCE_H_SINGLESTRING || styleAt == SCE_H_COMMENT) && searchStartPoint <= caret);\r\n\r\n\t\tif (!closeFound.success)\r\n\t\t{\r\n\t\t\t// We're in a tag (either a start tag or an end tag)\r\n\t\t\tintptr_t nextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)(openFound.start + 1));\r\n\r\n\r\n\t\t\t/////////////////////////////////////////////////////////////////////////\r\n\t\t\t// CURSOR IN CLOSE TAG   \r\n\t\t\t/////////////////////////////////////////////////////////////////////////\r\n\t\t\tif ('/' == nextChar)\r\n\t\t\t{\r\n\t\t\t\txmlTags.tagCloseStart = openFound.start;\r\n\t\t\t\tintptr_t docLength = _pEditView->SendScintilla(SCI_GETLENGTH);\r\n\t\t\t\tFindResult endCloseTag = findText(\">\", caret, docLength, 0);\r\n\t\t\t\tif (endCloseTag.success)\r\n\t\t\t\t{\r\n\t\t\t\t\txmlTags.tagCloseEnd = endCloseTag.end;\r\n\t\t\t\t}\r\n\t\t\t\t// Now find the tagName\r\n\t\t\t\tintptr_t position = openFound.start + 2;\r\n\r\n\t\t\t\t// UTF-8 or ASCII tag name\r\n\t\t\t\tstd::string tagName;\r\n\t\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)position);\r\n\t\t\t\t// Checking for \" or ' is actually wrong here, but it means it works better with invalid XML\r\n\t\t\t\twhile (position < docLength && !isWhitespace(nextChar) && nextChar != '/' && nextChar != '>' && nextChar != '\\\"' && nextChar != '\\'')\r\n\t\t\t\t{\r\n\t\t\t\t\ttagName.push_back(static_cast<char>(nextChar));\r\n\t\t\t\t\t++position;\r\n\t\t\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)position);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t// Now we know where the end of the tag is, and we know what the tag is called\r\n\t\t\t\tif (tagName.size() != 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t/* Now we need to find the open tag.  The logic here is that we search for \"<TAGNAME\",\r\n\t\t\t\t\t * then check the next character - if it's one of '>', ' ', '\\\"' then we know we've found \r\n\t\t\t\t\t * a relevant tag. \r\n\t\t\t\t\t * We then need to check if either\r\n\t\t\t\t\t *    a) this tag is a self-closed tag - e.g. <TAGNAME attrib=\"value\" />\r\n\t\t\t\t\t * or b) this tag has another closing tag after it and before our closing tag\r\n\t\t\t\t\t *       e.g.  <TAGNAME attrib=\"value\">some text</TAGNAME></TAGNA|ME>\r\n\t\t\t\t\t *             (cursor represented by |)\r\n\t\t\t\t\t * If it's either of the above, then we continue searching, but only up to the\r\n\t\t\t\t\t * the point of the last find. (So in the (b) example above, we'd only search backwards \r\n\t\t\t\t\t * from the first \"<TAGNAME...\", as we know there's a close tag for the opened tag.\r\n\r\n\t\t\t\t\t * NOTE::  NEED TO CHECK THE ROTTEN CASE: ***********************************************************\r\n\t\t\t\t\t * <TAGNAME attrib=\"value\"><TAGNAME>something</TAGNAME></TAGNAME></TAGNA|ME>\r\n\t\t\t\t\t * Maybe count all closing tags between start point and start of our end tag.???\r\n\t\t\t\t\t */\r\n\t\t\t\t\tintptr_t currentEndPoint = xmlTags.tagCloseStart;\r\n\t\t\t\t\tintptr_t openTagsRemaining = 1;\r\n\t\t\t\t\tFindResult nextOpenTag;\r\n\t\t\t\t\tdo \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tnextOpenTag = findOpenTag(tagName, currentEndPoint, 0);\r\n\t\t\t\t\t\tif (nextOpenTag.success) \r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t--openTagsRemaining;\r\n\t\t\t\t\t\t\t// Open tag found\r\n\t\t\t\t\t\t\t// Now we need to check how many close tags there are between the open tag we just found,\r\n\t\t\t\t\t\t\t// and our close tag\r\n\t\t\t\t\t\t\t// eg. (Cursor == | )\r\n\t\t\t\t\t\t\t// <TAGNAME attrib=\"value\"><TAGNAME>something</TAGNAME></TAGNAME></TAGNA|ME>\r\n\t\t\t\t\t\t\t//                         ^^^^^^^^ we've found this guy\r\n\t\t\t\t\t\t\t//                                           ^^^^^^^^^^ ^^^^^^^^ Now we need to cound these fellas\r\n\t\t\t\t\t\t\tFindResult inbetweenCloseTag;\r\n\t\t\t\t\t\t\tintptr_t currentStartPosition = nextOpenTag.end;\r\n\t\t\t\t\t\t\tintptr_t closeTagsFound = 0;\r\n\t\t\t\t\t\t\tbool forwardSearch = (currentStartPosition < currentEndPoint);\r\n\r\n\t\t\t\t\t\t\tdo\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tinbetweenCloseTag = findCloseTag(tagName, currentStartPosition, currentEndPoint);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tif (inbetweenCloseTag.success)\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t++closeTagsFound;\r\n\t\t\t\t\t\t\t\t\tif (forwardSearch)\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tcurrentStartPosition = inbetweenCloseTag.end;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tcurrentStartPosition = inbetweenCloseTag.start - 1;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t} while (inbetweenCloseTag.success);\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t// If we didn't find any close tags between the open and our close,\r\n\t\t\t\t\t\t\t// and there's no open tags remaining to find\r\n\t\t\t\t\t\t\t// then the open we found was the right one, and we can return it\r\n\t\t\t\t\t\t\tif (0 == closeTagsFound && 0 == openTagsRemaining)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\txmlTags.tagOpenStart = nextOpenTag.start;\r\n\t\t\t\t\t\t\t\txmlTags.tagOpenEnd = nextOpenTag.end + 1;\r\n\t\t\t\t\t\t\t\txmlTags.tagNameEnd = nextOpenTag.start + static_cast<int32_t>(tagName.size()) + 1;  /* + 1 to account for '<' */\r\n\t\t\t\t\t\t\t\ttagFound = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t// Need to find the same number of opening tags, without closing tags etc.\r\n\t\t\t\t\t\t\t\topenTagsRemaining += closeTagsFound;\r\n\t\t\t\t\t\t\t\tcurrentEndPoint = nextOpenTag.start;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} while (!tagFound && openTagsRemaining > 0 && nextOpenTag.success);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t/////////////////////////////////////////////////////////////////////////\r\n\t\t\t// CURSOR IN OPEN TAG   \r\n\t\t\t/////////////////////////////////////////////////////////////////////////\r\n\t\t\t\tintptr_t position = openFound.start + 1;\r\n\t\t\t\tintptr_t docLength = _pEditView->SendScintilla(SCI_GETLENGTH);\r\n\t\t\t\t\r\n\t\t\t\txmlTags.tagOpenStart = openFound.start;\r\n\r\n\t\t\t\tstd::string tagName;\r\n\t\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)position);\r\n\t\t\t\t// Checking for \" or ' is actually wrong here, but it means it works better with invalid XML\r\n\t\t\t\twhile (position < docLength && !isWhitespace(nextChar) && nextChar != '/' && nextChar != '>' && nextChar != '\\\"' && nextChar != '\\'' )\r\n\t\t\t\t{\r\n\t\t\t\t\ttagName.push_back(static_cast<char>(nextChar));\r\n\t\t\t\t\t++position;\r\n\t\t\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)position);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t// Now we know where the end of the tag is, and we know what the tag is called\r\n\t\t\t\tif (tagName.size() != 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t// First we need to check if this is a self-closing tag.\r\n\t\t\t\t\t// If it is, then we can just return this tag to highlight itself.\r\n\t\t\t\t\txmlTags.tagNameEnd = openFound.start + static_cast<int32_t>(tagName.size()) + 1;\r\n\t\t\t\t\tintptr_t closeAnglePosition = findCloseAngle(position, docLength);\r\n\t\t\t\t\tif (-1 != closeAnglePosition)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\txmlTags.tagOpenEnd = closeAnglePosition + 1;\r\n\t\t\t\t\t\t// If it's a self closing tag\r\n\t\t\t\t\t\tif (_pEditView->SendScintilla(SCI_GETCHARAT, (int)(closeAnglePosition - 1)) == '/')\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t// Set it as found, and mark that there's no close tag\r\n\t\t\t\t\t\t\txmlTags.tagCloseEnd = -1;\r\n\t\t\t\t\t\t\txmlTags.tagCloseStart = -1;\r\n\t\t\t\t\t\t\ttagFound = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t// It's a normal open tag\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t/* Now we need to find the close tag.  The logic here is that we search for \"</TAGNAME\",\r\n\t\t\t\t\t\t\t * then check the next character - if it's '>' or whitespace followed by '>' then we've \r\n\t\t\t\t\t\t\t * found a relevant tag. \r\n\t\t\t\t\t\t\t * We then need to check if \r\n\t\t\t\t\t\t\t * our tag has another opening tag after it and before the closing tag we've found\r\n\t\t\t\t\t\t\t *       e.g.  <TA|GNAME><TAGNAME attrib=\"value\">some text</TAGNAME></TAGNAME>\r\n\t\t\t\t\t\t\t *             (cursor represented by |)\r\n\t\t\t\t\t\t\t */\r\n\t\t\t\t\t\t\tintptr_t currentStartPosition = xmlTags.tagOpenEnd;\r\n\t\t\t\t\t\t\tintptr_t closeTagsRemaining = 1;\r\n\t\t\t\t\t\t\tFindResult nextCloseTag;\r\n\t\t\t\t\t\t\tdo \r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tnextCloseTag = findCloseTag(tagName, currentStartPosition, docLength);\r\n\t\t\t\t\t\t\t\tif (nextCloseTag.success) \r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t--closeTagsRemaining;\r\n\t\t\t\t\t\t\t\t\t// Open tag found\r\n\t\t\t\t\t\t\t\t\t// Now we need to check how many close tags there are between the open tag we just found,\r\n\t\t\t\t\t\t\t\t\t// and our close tag\r\n\t\t\t\t\t\t\t\t\t// eg. (Cursor == | )\r\n\t\t\t\t\t\t\t\t\t// <TAGNAM|E attrib=\"value\"><TAGNAME>something</TAGNAME></TAGNAME></TAGNAME>\r\n\t\t\t\t\t\t\t\t\t//                                            ^^^^^^^^ we've found this guy\r\n\t\t\t\t\t\t\t\t\t//                         ^^^^^^^^^ Now we need to find this fella\r\n\t\t\t\t\t\t\t\t\tFindResult inbetweenOpenTag;\r\n\t\t\t\t\t\t\t\t\tintptr_t currentEndPosition = nextCloseTag.start;\r\n\t\t\t\t\t\t\t\t\tintptr_t openTagsFound = 0;\r\n\r\n\t\t\t\t\t\t\t\t\tdo\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tinbetweenOpenTag = findOpenTag(tagName, currentStartPosition, currentEndPosition);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tif (inbetweenOpenTag.success)\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t++openTagsFound;\r\n\t\t\t\t\t\t\t\t\t\t\tcurrentStartPosition = inbetweenOpenTag.end;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t} while (inbetweenOpenTag.success);\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t// If we didn't find any open tags between our open and the close,\r\n\t\t\t\t\t\t\t\t\t// and there's no close tags remaining to find\r\n\t\t\t\t\t\t\t\t\t// then the close we found was the right one, and we can return it\r\n\t\t\t\t\t\t\t\t\tif (0 == openTagsFound && 0 == closeTagsRemaining)\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\txmlTags.tagCloseStart = nextCloseTag.start;\r\n\t\t\t\t\t\t\t\t\t\txmlTags.tagCloseEnd = nextCloseTag.end + 1;\r\n\t\t\t\t\t\t\t\t\t\ttagFound = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t// Need to find the same number of closing tags, without opening tags etc.\r\n\t\t\t\t\t\t\t\t\t\tcloseTagsRemaining += openTagsFound;\r\n\t\t\t\t\t\t\t\t\t\tcurrentStartPosition = nextCloseTag.end;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} while (!tagFound && closeTagsRemaining > 0 && nextCloseTag.success);\r\n\t\t\t\t\t\t} // end if (selfclosingtag)... else {\r\n\t\t\t\t\t} // end if (-1 != closeAngle)  {\r\n\r\n\t\t\t\t} // end if tagName.size() != 0\r\n\t\t\t} // end open tag test\r\n\t\t}\r\n\t}\r\n\treturn tagFound;\r\n}\r\n\r\nXmlMatchedTagsHighlighter::FindResult XmlMatchedTagsHighlighter::findOpenTag(const std::string& tagName, intptr_t start, intptr_t end)\r\n{\r\n\tstd::string search(\"<\");\r\n\tsearch.append(tagName);\r\n\tFindResult openTagFound;\r\n\topenTagFound.success = false;\r\n\tFindResult result;\r\n\tintptr_t nextChar = 0; \r\n\tintptr_t styleAt;\r\n\tintptr_t searchStart = start;\r\n\tintptr_t searchEnd = end;\r\n\tbool forwardSearch = (start < end);\r\n\tdo\r\n\t{\r\n\t\t\r\n\t\tresult = findText(search.c_str(), searchStart, searchEnd, 0);\r\n\t\tif (result.success)\r\n\t\t{\r\n\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)result.end);\r\n\t\t\tstyleAt = _pEditView->SendScintilla(SCI_GETSTYLEAT, (int)result.start);\r\n\t\t\tif (styleAt != SCE_H_CDATA && styleAt != SCE_H_DOUBLESTRING && styleAt != SCE_H_SINGLESTRING && styleAt != SCE_H_COMMENT)\r\n\t\t\t{\r\n\t\t\t\t// We've got an open tag for this tag name (i.e. nextChar was space or '>')\r\n\t\t\t\t// Now we need to find the end of the start tag.\r\n\t\t\r\n\t\t\t\t// Common case, the tag is an empty tag with no whitespace. e.g. <TAGNAME>\r\n\t\t\t\tif (nextChar == '>')\r\n\t\t\t\t{\r\n\t\t\t\t\topenTagFound.end = result.end;\r\n\t\t\t\t\topenTagFound.success = true;\r\n\t\t\t\t}\r\n\t\t\t\telse if (isWhitespace(nextChar))\r\n\t\t\t\t{\r\n\t\t\t\t\tintptr_t closeAnglePosition = findCloseAngle(result.end, forwardSearch ? end : start);\r\n\t\t\t\t\tif (-1 != closeAnglePosition && '/' != _pEditView->SendScintilla(SCI_GETCHARAT, (int)(closeAnglePosition - 1)))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\topenTagFound.end = closeAnglePosition;\r\n\t\t\t\t\t\topenTagFound.success = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tif (forwardSearch)\r\n\t\t{\r\n\t\t\tsearchStart = result.end + 1;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsearchStart = result.start - 1;\r\n\t\t}\r\n\t\t\r\n\t\t// Loop while we've found a <TAGNAME, but it's either in a CDATA section,\r\n\t\t// or it's got more none whitespace characters after it. e.g. <TAGNAME2\r\n\t} while (result.success && !openTagFound.success);\r\n\t\r\n\topenTagFound.start = result.start;\r\n\r\n\r\n\treturn openTagFound;\r\n\r\n}\r\n\r\n\r\nintptr_t XmlMatchedTagsHighlighter::findCloseAngle(intptr_t startPosition, intptr_t endPosition)\r\n{\r\n\t// We'll search for the next '>', and check it's not in an attribute using the style\r\n\tFindResult closeAngle;\r\n\t\r\n\tbool isValidClose; \r\n\tintptr_t returnPosition = -1;\r\n\t\r\n\t// Only search forwards\r\n\tif (startPosition > endPosition)\r\n\t{\r\n\t\tintptr_t temp = endPosition;\r\n\t\tendPosition = startPosition;\r\n\t\tstartPosition = temp;\r\n\t}\r\n\r\n\tdo\r\n\t{\r\n\t\tisValidClose = false;\r\n\r\n\t\tcloseAngle = findText(\">\", startPosition, endPosition);\r\n\t\tif (closeAngle.success)\r\n\t\t{\r\n\t\t\tauto style = _pEditView->SendScintilla(SCI_GETSTYLEAT, (int)closeAngle.start);\r\n\t\t\t// As long as we're not in an attribute (  <TAGNAME attrib=\"val>ue\"> is VALID XML. )\r\n\t\t\tif (style != SCE_H_DOUBLESTRING && style != SCE_H_SINGLESTRING && style != SCE_H_COMMENT)\r\n\t\t\t{\r\n\t\t\t\treturnPosition = closeAngle.start;\r\n\t\t\t\tisValidClose = true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tstartPosition = closeAngle.end;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t\t\r\n\t} while (closeAngle.success && isValidClose == false);\r\n\r\n\treturn returnPosition;\r\n}\r\n\r\n\r\nXmlMatchedTagsHighlighter::FindResult XmlMatchedTagsHighlighter::findCloseTag(const std::string& tagName, intptr_t start, intptr_t end)\r\n{\r\n\tstd::string search(\"</\");\r\n\tsearch.append(tagName);\r\n\tFindResult closeTagFound;\r\n\tcloseTagFound.success = false;\r\n\tFindResult result;\r\n\tintptr_t nextChar; \r\n\tintptr_t searchStart = start;\r\n\tintptr_t searchEnd = end;\r\n\tbool forwardSearch = (start < end);\r\n\tbool validCloseTag;\r\n\tdo\r\n\t{\r\n\t\tvalidCloseTag = false;\r\n\t\tresult = findText(search.c_str(), searchStart, searchEnd, 0);\r\n\t\tif (result.success)\r\n\t\t{\r\n\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)result.end);\r\n\t\t\tauto styleAt = _pEditView->SendScintilla(SCI_GETSTYLEAT, (int)result.start);\r\n\t\t\r\n\t\t\t// Setup the parameters for the next search, if there is one.\r\n\t\t\tif (forwardSearch)\r\n\t\t\t{\r\n\t\t\t\tsearchStart = result.end + 1;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tsearchStart = result.start - 1;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tif (styleAt != SCE_H_CDATA && styleAt != SCE_H_SINGLESTRING && styleAt != SCE_H_DOUBLESTRING && styleAt != SCE_H_COMMENT) // If what we found was in CDATA section, it's not a valid tag.\r\n\t\t\t{\r\n\t\t\t\t// Common case - '>' follows the tag name directly\r\n\t\t\t\tif (nextChar == '>')\r\n\t\t\t\t{\r\n\t\t\t\t\tvalidCloseTag = true;\r\n\t\t\t\t\tcloseTagFound.start = result.start;\r\n\t\t\t\t\tcloseTagFound.end = result.end;\r\n\t\t\t\t\tcloseTagFound.success = true;\r\n\t\t\t\t}\r\n\t\t\t\telse if (isWhitespace(nextChar))  // Otherwise, if it's whitespace, then allow whitespace until a '>' - any other character is invalid.\r\n\t\t\t\t{\r\n\t\t\t\t\tintptr_t whitespacePoint = result.end;\r\n\t\t\t\t\tdo\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t++whitespacePoint;\r\n\t\t\t\t\t\tnextChar = _pEditView->SendScintilla(SCI_GETCHARAT, (int)whitespacePoint);\r\n\t\t\t\t\r\n\t\t\t\t\t} while (isWhitespace(nextChar));\r\n\t\t\t\r\n\t\t\t\t\tif (nextChar == '>')\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalidCloseTag = true;\r\n\t\t\t\t\t\tcloseTagFound.start = result.start;\r\n\t\t\t\t\t\tcloseTagFound.end = whitespacePoint;\r\n\t\t\t\t\t\tcloseTagFound.success = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t} while (result.success && !validCloseTag);\r\n\r\n\treturn closeTagFound;\r\n\r\n}\r\n\r\nXmlMatchedTagsHighlighter::FindResult XmlMatchedTagsHighlighter::findText(const char *text, intptr_t start, intptr_t end, int flags)\r\n{\r\n\tFindResult returnValue;\r\n\t\r\n#if 0\r\n\tSci_TextToFind search;\r\n\tsearch.lpstrText = const_cast<char *>(text); // Grrrrrr\r\n\tsearch.chrg.cpMin = static_cast<Sci_PositionCR>(start);\r\n\tsearch.chrg.cpMax = static_cast<Sci_PositionCR>(end);\r\n\r\n\tintptr_t result = _pEditView->SendScintilla(SCI_FINDTEXT, flags, reinterpret_cast<sptr_t>(&search));\r\n#endif\r\n\t_pEditView->SendScintilla(SCI_SETSEARCHFLAGS, flags);\r\n\r\n\t_pEditView->SendScintilla(SCI_SETTARGETSTART, (int)start);\r\n\t_pEditView->SendScintilla(SCI_SETTARGETEND, (int)end);\r\n\r\n\tlong lens = strlen(text);\r\n\tlong pos = _pEditView->SendScintilla(SCI_SEARCHINTARGET, lens, text/*,wordStr.c_str()*/);\r\n\r\n\tif (-1 == pos)\r\n\t{\r\n\t\treturnValue.success = false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\treturnValue.success = true;\r\n\t\treturnValue.start = pos;\r\n\t\treturnValue.end = pos + lens;\r\n\t}\r\n\treturn returnValue;\r\n}\r\n\r\nvoid clearIndicator(QsciScintilla* _pEditView, int indicatorNumber) {\r\n\tsize_t docStart = 0;\r\n\tsize_t docEnd = _pEditView->length();\r\n\t_pEditView->SendScintilla(SCI_SETINDICATORCURRENT, indicatorNumber);\r\n\t_pEditView->SendScintilla(SCI_INDICATORCLEARRANGE, docStart, docEnd - docStart);\r\n};\r\n\r\n\r\nvoid XmlMatchedTagsHighlighter::tagMatch(bool doHiliteAttr) \r\n{\r\n\t// Clean up all marks of previous action\r\n\tclearIndicator(_pEditView, SCE_UNIVERSAL_TAGMATCH);\r\n\tclearIndicator(_pEditView,SCE_UNIVERSAL_TAGATTR);\r\n\t\t\r\n\tQsciLexer* lexer = _pEditView->lexer();\r\n\tif (lexer == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Detect the current lang type. It works only with html and xml\r\n\tint lang = lexer->lexerId();\r\n\r\n\tif (lang != L_XML && lang != L_HTML && lang != L_PHP && lang != L_ASP && lang != L_JSP)\r\n\t\treturn;\r\n\r\n\t// If we're inside a code block (i.e not markup), don't try to match tags.\r\n\tif (lang == L_PHP || lang == L_ASP || lang == L_JSP)\r\n\t{\r\n\t\tstd::string codeBeginTag = lang == L_PHP ? \"<?\" : \"<%\";\r\n\t\tstd::string codeEndTag = lang == L_PHP ? \"?>\" : \"%>\";\r\n\r\n\t\tconst intptr_t caret = 1 + _pEditView->SendScintilla(SCI_GETCURRENTPOS); // +1 to deal with the case when the caret is between the angle and the question mark in \"<?\" (or between '<' and '%').\r\n\t\tconst FindResult startFound = findText(codeBeginTag.c_str(), caret, 0, 0); // This searches backwards from \"caret\".\r\n\t\tconst FindResult endFound= findText(codeEndTag.c_str(), caret, 0, 0); // This searches backwards from \"caret\".\r\n\r\n\t\tif (startFound.success)\r\n\t\t{\r\n\t\t\tif (! endFound.success)\r\n\t\t\t\treturn;\r\n\t\t\telse if (endFound.success && endFound.start <= startFound.end)\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\t// Get the original targets and search options to restore after tag matching operation\r\n\tauto originalStartPos = _pEditView->SendScintilla(SCI_GETTARGETSTART);\r\n\tauto originalEndPos = _pEditView->SendScintilla(SCI_GETTARGETEND);\r\n\tauto originalSearchFlags = _pEditView->SendScintilla(SCI_GETSEARCHFLAGS);\r\n\r\n\tXmlMatchedTagsPos xmlTags;\r\n\r\n    // Detect if it's a xml/html tag. If yes, Colour it!\r\n\tif (getXmlMatchedTagsPos(xmlTags))\r\n\t{\r\n\t\t_pEditView->SendScintilla(SCI_SETINDICATORCURRENT, SCE_UNIVERSAL_TAGMATCH);\r\n\t\tint openTagTailLen = 2;\r\n\r\n\t\t// Colourising the close tag firstly\r\n\t\tif ((xmlTags.tagCloseStart != -1) && (xmlTags.tagCloseEnd != -1))\r\n\t\t{\r\n\t\t\t_pEditView->SendScintilla(SCI_INDICATORFILLRANGE,  xmlTags.tagCloseStart, xmlTags.tagCloseEnd - xmlTags.tagCloseStart);\r\n\t\t\t// tag close is present, so it's not single tag\r\n\t\t\topenTagTailLen = 1;\r\n\t\t}\r\n\r\n\t\t// Colourising the open tag\r\n\t\t_pEditView->SendScintilla(SCI_INDICATORFILLRANGE,  xmlTags.tagOpenStart, xmlTags.tagNameEnd - xmlTags.tagOpenStart);\r\n\t\t_pEditView->SendScintilla(SCI_INDICATORFILLRANGE,  xmlTags.tagOpenEnd - openTagTailLen, openTagTailLen);\r\n\r\n        \r\n        // Colouising its attributs\r\n        if (doHiliteAttr)\r\n\t\t{\r\n\t\t\tvector< pair<intptr_t, intptr_t> > attributes = getAttributesPos(xmlTags.tagNameEnd, xmlTags.tagOpenEnd - openTagTailLen);\r\n\t\t\t_pEditView->SendScintilla(SCI_SETINDICATORCURRENT,  SCE_UNIVERSAL_TAGATTR);\r\n\t\t\tfor (size_t i = 0, len = attributes.size(); i < len ; ++i)\r\n\t\t\t{\r\n\t\t\t\t_pEditView->SendScintilla(SCI_INDICATORFILLRANGE,  attributes[i].first, attributes[i].second - attributes[i].first);\r\n\t\t\t}\r\n        }\r\n\r\n        // Colouising indent guide line position\r\n\t\tif (_pEditView->getIndentGuide())\r\n\t\t{\r\n\t\t\tintptr_t columnAtCaret  = _pEditView->SendScintilla(SCI_GETCOLUMN, (int)xmlTags.tagOpenStart);\r\n\t\t\tintptr_t columnOpposite = _pEditView->SendScintilla(SCI_GETCOLUMN, (int)xmlTags.tagCloseStart);\r\n\r\n\t\t\tintptr_t lineAtCaret  = _pEditView->SendScintilla(SCI_LINEFROMPOSITION, (int)xmlTags.tagOpenStart);\r\n\t\t\tintptr_t lineOpposite = _pEditView->SendScintilla(SCI_LINEFROMPOSITION, (int)xmlTags.tagCloseStart);\r\n\r\n\t\t\tif (xmlTags.tagCloseStart != -1 && lineAtCaret != lineOpposite)\r\n\t\t\t{\r\n\t\t\t\t_pEditView->SendScintilla(SCI_BRACEHIGHLIGHT, xmlTags.tagOpenStart, xmlTags.tagCloseEnd-1);\r\n\t\t\t\t_pEditView->SendScintilla(SCI_SETHIGHLIGHTGUIDE, (int)((columnAtCaret < columnOpposite)?columnAtCaret:columnOpposite));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// restore the original targets and search options to avoid the conflit with search/replace function\r\n\t_pEditView->SendScintilla(SCI_SETTARGETRANGE, originalStartPos, originalEndPos);\r\n\t_pEditView->SendScintilla(SCI_SETSEARCHFLAGS, originalSearchFlags);\r\n}\r\n"
  },
  {
    "path": "src/qscint/src/xmlMatchedTagsHighlighter.h",
    "content": "﻿// This file is part of Notepad-- project\r\n// Copyright (C)2023 zuowei.yin <cxasm@qq.com>\r\n\r\n// This program is free software: you can redistribute it and/or modify\r\n// it under the terms of the GNU General Public License as published by\r\n// the Free Software Foundation, either version 3 of the License, or\r\n// at your option any later version.\r\n//\r\n// This program is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n// GNU General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n\r\n#pragma once\r\n\r\n//#include <windows.h>\r\n#include <string>\r\n#include <vector>\r\n\r\nclass QsciScintilla;\r\n\r\n\r\nclass XmlMatchedTagsHighlighter {\r\npublic:\r\n\texplicit XmlMatchedTagsHighlighter(QsciScintilla *pEditView):_pEditView(pEditView){};\r\n\tvoid tagMatch(bool doHiliteAttr);\r\n\t\r\nprivate:\r\n\tQsciScintilla* _pEditView = nullptr;\r\n\t\r\n\tstruct XmlMatchedTagsPos {\r\n\t\tintptr_t tagOpenStart = 0;\r\n\t\tintptr_t tagNameEnd = 0;\r\n\t\tintptr_t tagOpenEnd = 0;\r\n\r\n\t\tintptr_t tagCloseStart = 0;\r\n\t\tintptr_t tagCloseEnd = 0;\r\n\t};\r\n\r\n\tstruct FindResult {\r\n\t\tintptr_t start = 0;\r\n\t\tintptr_t end = 0;\r\n\t\tbool success = false;\r\n\t};\r\n\t\r\n\tbool getXmlMatchedTagsPos(XmlMatchedTagsPos & tagsPos);\r\n\r\n\t// Allowed whitespace characters in XML\r\n\tbool isWhitespace(intptr_t ch) { return ch == ' ' || ch == '\\t' || ch == '\\r' || ch == '\\n'; }\r\n\r\n\tFindResult findText(const char *text, intptr_t start, intptr_t end, int flags = 0);\r\n\tFindResult findOpenTag(const std::string& tagName, intptr_t start, intptr_t end);\r\n\tFindResult findCloseTag(const std::string& tagName, intptr_t start, intptr_t end);\r\n\tintptr_t findCloseAngle(intptr_t startPosition, intptr_t endPosition);\r\n\t\r\n\tstd::vector< std::pair<intptr_t, intptr_t> > getAttributesPos(intptr_t start, intptr_t end);\r\n\t\r\n};\r\n\r\n\r\n"
  },
  {
    "path": "src/qss/black.qss",
    "content": "QPalette{background:#444444;}*{outline:0px;color:#DCDCDC;}\r\n\r\nQWidget[form=\"true\"],QLabel[frameShape=\"1\"]{\r\nborder:0px solid #242424;\r\nborder-radius:0px;\r\n}\r\n\r\nQWidget[form=\"bottom\"]{\r\nbackground:#484848;\r\n}\r\n\r\nQWidget[form=\"bottom\"] .QFrame{\r\nborder:0px solid #DCDCDC;\r\n}\r\n\r\nQWidget[form=\"bottom\"] QLabel,QWidget[form=\"title\"] QLabel{\r\nborder-radius:0px;\r\ncolor:#DCDCDC;\r\nbackground:none;\r\nborder-style:none;\r\n}\r\n\r\nQWidget[form=\"title\"],QWidget[nav=\"left\"],QWidget[nav=\"top\"] QAbstractButton{\r\nborder-style:none;\r\nborder-radius:0px;\r\npadding:0px;\r\ncolor:#DCDCDC;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\nQWidget[nav=\"top\"] QAbstractButton:hover,QWidget[nav=\"top\"] QAbstractButton:pressed,QWidget[nav=\"top\"] QAbstractButton:checked{\r\nborder-style:solid;\r\nborder-width:0px 0px 2px 0px;\r\npadding:0px 0px 0px 0px;\r\nborder-color:#00BB9E;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);\r\n}\r\n\r\nQWidget[nav=\"left\"] QAbstractButton{\r\nborder-radius:0px;\r\ncolor:#DCDCDC;\r\nbackground:none;\r\nborder-style:none;\r\n}\r\n\r\nQWidget[nav=\"left\"] QAbstractButton:hover{\r\ncolor:#FFFFFF;\r\nbackground-color:#00BB9E;\r\n}\r\n\r\nQWidget[nav=\"left\"] QAbstractButton:checked,QWidget[nav=\"left\"] QAbstractButton:pressed{\r\ncolor:#DCDCDC;\r\nborder-style:solid;\r\nborder-width:0px 0px 0px 2px;\r\npadding:4px 4px 4px 2px;\r\nborder-color:#00BB9E;\r\nbackground-color:#444444;\r\n}\r\n\r\nQWidget[video=\"true\"] QLabel{\r\ncolor:#DCDCDC;\r\nborder:1px solid #242424;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\nQWidget[video=\"true\"] QLabel:focus{\r\nborder:1px solid #00BB9E;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);\r\n}\r\n\r\nQToolButton,QToolButton:disabled{\r\n\tcolor:#000000;\r\n\tbackground-color:#ffffff;\r\n}\r\n\r\nQToolButton#leftBt,#leftSaveBt,#rightBt,#rightSaveBt,#leftReload,#rightReload,#toolButton,#toolButton1,#subToolButton,#addToolButton,#selectDir,#toolButtonBrowse,#definedFilterExt,#proLangBt{\r\nborder-style:none;\r\nborder:1px solid #646464;\r\nbackground-color:#383838;\r\ncolor:#ffffff;\r\npadding:1px;\r\nmin-height:8px;\r\nborder-radius:1px;\r\n}\r\n\r\nQToolButton#leftBt:hover,#leftSaveBt:hover,#rightBt:hover,#rightSaveBt:hover,#leftReload:hover,#rightReload:hover,#toolButton:hover,#toolButton1:hover,#subToolButton:hover,#addToolButton:hover,#selectDir:hover,#toolButtonBrowse:hover,#definedFilterExt:hover,#proLangBt:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\nQToolBar{\r\n\tbackground-color:rgb(232,232,232);\r\n\tborder:none;\r\n\tpadding:1px;\r\n}\r\n\r\nQHeaderView{\r\n\tbackground-color:#383838;\r\n\tborder: none;\r\n\tpadding:0px;\r\n}\r\n\r\nQFrame#leftSrc,QFrame#rightSrc{\r\n\tborder:none;\r\n\tpadding:0px;\r\n}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Left\"]{border:0px;background-color:#444444;}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Right\"]{border:0px;background-color:#444444;}\r\n\r\nQLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit,QMessageBox{\r\nborder:1px solid #242424;\r\nborder-radius:3px;\r\npadding:2px;\r\nbackground:none;\r\nselection-background-color:#000000;\r\nselection-color:#DCDCDC;\r\n}\r\n\r\nQLineEdit:focus,QTextEdit:focus,QPlainTextEdit:focus,QSpinBox:focus,QDoubleSpinBox:focus,QComboBox:focus,QDateEdit:focus,QTimeEdit:focus,QDateTimeEdit:focus,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QSpinBox:hover,QDoubleSpinBox:hover,QComboBox:hover,QDateEdit:hover,QTimeEdit:hover,QDateTimeEdit:hover{\r\nborder:1px solid #242424;\r\n}\r\n\r\nQLineEdit[echoMode=\"2\"]{\r\nlineedit-password-character:9679;\r\n}\r\n\r\n.QFrame{\r\nborder:1px solid #242424;\r\nborder-radius:3px;\r\n}\r\n\r\n.QGroupBox{\r\nborder:1px solid #242424;\r\nborder-radius:5px;\r\nmargin-top:3ex;\r\n}\r\n\r\n.QGroupBox::title{\r\nsubcontrol-origin:margin;\r\nposition:relative;\r\nleft:10px;\r\n}\r\n\r\n.QPushButton{\r\nborder-style:none;\r\nborder:1px solid #242424;\r\ncolor:#DCDCDC;\r\npadding:5px;\r\nmin-height:15px;\r\nmin-width:50px;\r\nborder-radius:5px;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);\r\nborder:0px;\r\n}\r\n\r\n.QPushButton:pressed{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\n.QToolButton::menu-indicator{\r\nimage:None;\r\n}\r\n\r\nQToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{\r\nborder-radius:3px;\r\ncolor:#DCDCDC;\r\npadding:3px;\r\nmargin:0px;\r\nbackground:none;\r\nborder-style:none;\r\n}\r\n\r\nQToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{\r\ncolor:#FFFFFF;\r\nmargin:1px 1px 2px 1px;\r\nbackground-color:rgba(51,127,209,230);\r\n}\r\n\r\nQPushButton#btnMenu_Close:hover{\r\ncolor:#FFFFFF;\r\nmargin:1px 1px 2px 1px;\r\nbackground-color:rgba(238,0,0,128);\r\n}\r\n\r\nQRadioButton::indicator{\r\nwidth:15px;\r\nheight:15px;\r\n}\r\n\r\nQRadioButton::indicator::unchecked{\r\nimage:url(:/qss/psblack/radiobutton_unchecked.png);\r\n}\r\n\r\nQRadioButton::indicator::unchecked:disabled{\r\nimage:url(:/qss/psblack/radiobutton_unchecked_disable.png);\r\n}\r\n\r\nQRadioButton::indicator::checked{\r\nimage:url(:/qss/psblack/radiobutton_checked.png);\r\n}\r\n\r\nQRadioButton::indicator::checked:disabled{\r\nimage:url(:/qss/psblack/radiobutton_checked_disable.png);\r\n}\r\n\r\nQGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{\r\npadding:0px -3px 0px 3px;\r\n}\r\n\r\n/*高度务必一样，否则图标不一样高导致高度无法对齐*/\r\nQTreeWidget::item\r\n{\r\ncolor:0xffffff;\r\nheight:20px;\r\n}\r\n\r\n\r\nQCheckBox::indicator,QGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{\r\nwidth:13px;\r\nheight:13px;\r\n}\r\n\r\n\r\nQCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeWidget::indicator:unchecked,QListWidget::indicator:unchecked{\r\nimage:url(:/qss/psblack/checkbox_unchecked.png);\r\n}\r\n\r\nQCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeWidget::indicator:unchecked:disabled,QListWidget::indicator:disabled{\r\nimage:url(:/qss/psblack/checkbox_unchecked_disable.png);\r\n}\r\n\r\nQCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeWidget::indicator:checked,QListWidget::indicator:checked{\r\nimage:url(:/qss/psblack/checkbox_checked.png);\r\n}\r\n\r\nQCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeWidget::indicator:checked:disabled,QListWidget::indicator:checked:disabled{\r\nimage:url(:/qss/psblack/checkbox_checked_disable.png);\r\n}\r\n\r\nQCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeWidget::indicator:indeterminate,QListWidget::indicator:indeterminate{\r\nimage:url(:/qss/psblack/checkbox_parcial.png);\r\n}\r\n\r\nQCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeWidget::indicator:indeterminate:disabled,QListWidget::indicator:indeterminate:disabled{\r\nimage:url(:/qss/psblack/checkbox_parcial_disable.png);\r\n}\r\n\r\nQTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{\r\nimage:url(:/qss/psblack/add_top.png);\r\nwidth:10px;\r\nheight:10px;\r\npadding:2px 5px 0px 0px;\r\n}\r\n\r\nQTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{\r\nimage:url(:/qss/psblack/add_bottom.png);\r\nwidth:10px;\r\nheight:10px;\r\npadding:0px 5px 2px 0px;\r\n}\r\n\r\nQTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{\r\ntop:-2px;\r\n}\r\n  \r\nQTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{\r\nbottom:-2px;\r\n}\r\n\r\nQComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{\r\nimage:url(:/qss/psblack/add_bottom.png);\r\nwidth:10px;\r\nheight:10px;\r\nright:2px;\r\n}\r\n\r\nQComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{\r\nsubcontrol-origin:padding;\r\nsubcontrol-position:top right;\r\nwidth:15px;\r\nborder-left-width:0px;\r\nborder-left-style:solid;\r\nborder-top-right-radius:3px;\r\nborder-bottom-right-radius:3px;\r\nborder-left-color:#242424;\r\n}\r\n\r\nQComboBox::drop-down:on{\r\ntop:1px;\r\n}\r\n\r\nQMenuBar::item{\r\ncolor:#000000;\r\nbackground-color:#e8e8e8;\r\nmargin:0px;\r\npadding:3px 10px;\r\n}\r\n\r\nQMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{\r\ncolor:#000000;\r\nbackground-color:#e8e8e8;\r\nborder:0px solid #242424;\r\nmargin:0px;\r\n}\r\n\r\nQMenu::item{\r\npadding:3px 20px;\r\nmin-width:80;\r\nmargin-left:3px;\r\n}\r\n\r\nQMenu::indicator{\r\nwidth:13px;\r\nheight:13px;\r\n}\r\n\r\nQMenu::item:selected,QMenuBar::item:selected{\r\ncolor:#DCDCDC;\r\nborder:0px solid #242424;\r\nbackground:#646464;\r\n}\r\n\r\nQMenu::separator{\r\nheight:1px;\r\nbackground:#242424;\r\n}\r\n\r\nQProgressBar{\r\nmin-height:10px;\r\nbackground:#484848;\r\nborder-radius:5px;\r\ntext-align:center;\r\nborder:1px solid #484848;\r\n}\r\n\r\nQProgressBar:chunk{\r\nborder-radius:5px;\r\nbackground-color:#242424;\r\n}\r\n\r\nQSlider::groove:horizontal{\r\nbackground:#484848;\r\nheight:8px;\r\nborder-radius:4px;\r\n}\r\n\r\nQSlider::add-page:horizontal{\r\nbackground:#484848;\r\nheight:8px;\r\nborder-radius:4px;\r\n}\r\n\r\nQSlider::sub-page:horizontal{\r\nbackground:#242424;\r\nheight:8px;\r\nborder-radius:4px;\r\n}\r\n\r\nQSlider::handle:horizontal{\r\nwidth:13px;\r\nmargin-top:-3px;\r\nmargin-bottom:-3px;\r\nborder-radius:6px;\r\nbackground:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #444444,stop:0.8 #242424);\r\n}\r\n\r\nQSlider::groove:vertical{\r\nwidth:8px;\r\nborder-radius:4px;\r\nbackground:#484848;\r\n}\r\n\r\nQSlider::add-page:vertical{\r\nwidth:8px;\r\nborder-radius:4px;\r\nbackground:#484848;\r\n}\r\n\r\nQSlider::sub-page:vertical{\r\nwidth:8px;\r\nborder-radius:4px;\r\nbackground:#242424;\r\n}\r\n\r\nQSlider::handle:vertical{\r\nheight:14px;\r\nmargin-left:-3px;\r\nmargin-right:-3px;\r\nborder-radius:6px;\r\nbackground:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #444444,stop:0.8 #242424);\r\n}\r\n\r\nQScrollBar:horizontal{\r\nbackground:#484848;\r\npadding:0px;\r\nborder-radius:6px;\r\nmax-height:12px;\r\n}\r\n\r\nQScrollBar::handle:horizontal{\r\nbackground:#525252;\r\nmin-width:50px;\r\nborder-radius:6px;\r\n}\r\n\r\nQScrollBar::handle:horizontal:hover{\r\nbackground:#242424;\r\n}\r\n\r\nQScrollBar::handle:horizontal:pressed{\r\nbackground:#242424;\r\n}\r\n\r\nQScrollBar::add-page:horizontal{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar::sub-page:horizontal{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar::add-line:horizontal{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar::sub-line:horizontal{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar:vertical{\r\nbackground:#484848;\r\npadding:0px;\r\nborder-radius:4px;\r\nmax-width:12px;\r\n}\r\n\r\nQScrollBar::handle:vertical{\r\nwidth: 12px;\r\nbackground:#808080;\r\nmin-height:50px;\r\nborder-radius:4px;\r\n}\r\n\r\nQScrollBar::handle:vertical:hover{\r\nbackground:#242424;\r\n}\r\n\r\nQScrollBar::handle:vertical:pressed{\r\nbackground:#ffffff;\r\n}\r\n\r\nQScrollBar::add-page:vertical{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar::sub-page:vertical{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar::add-line:vertical{\r\nbackground:none;\r\n}\r\n\r\nQScrollBar::sub-line:vertical{\r\nbackground:none;\r\n}\r\n\r\nQScrollArea{\r\nborder:0px;\r\n}\r\n\r\nQTreeView,QListView,QTableView,QTabWidget::pane{\r\nborder:1px solid #242424;\r\nselection-background-color:#646464;\r\nselection-color:#DCDCDC;\r\nalternate-background-color:#525252;\r\ngridline-color:#242424;\r\n}\r\n\r\n\r\nQTreeView::branch:closed:has-children{\r\nmargin:4px;\r\nborder-image:url(:/qss/psblack/branch_open.png);\r\n}\r\n\r\nQTreeView::branch:open:has-children{\r\nmargin:4px;\r\nborder-image:url(:/qss/psblack/branch_close.png);\r\n}\r\n\r\n\r\nQTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{\r\nbackground:#444444;\r\n}\r\n\r\n\r\n\r\nQTableView::item:selected,QListView::item:selected,QTreeView::item:selected{\r\n/*color:#FFAA00;*/\r\n/*background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #0000e0,stop:1 #8000ff);*/\r\nbackground:#646464;\r\n}\r\n\r\n\r\n/*\r\nQTableView::item:hover,QListView::item:hover,QTreeView::item:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);\r\n}*/\r\n\r\nQTableView::item,QListView::item,QTreeView::item{\r\npadding:1px;\r\nmargin:0px;\r\n}\r\n\r\n\r\nQHeaderView::section,QTableCornerButton:section{\r\npadding:3px;\r\nmargin:0px;\r\ncolor:#DCDCDC;\r\nborder:1px solid #242424;\r\nborder-left-width:0px;\r\nborder-right-width:1px;\r\nborder-top-width:0px;\r\nborder-bottom-width:1px;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);\r\n}\r\n\r\nQTabBar::tab{\r\ncolor:#DCDCDC;\r\nbackground-color:rgb(82,82,82);\r\nmargin-top:1px; \r\nmargin-right:1px; \r\nmargin-left:1px; \r\nmargin-bottom:2px; \r\npadding:1px;\r\nmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{\r\nborder-style:solid;\r\nborder-color:#00BB9E;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\nborder-top:2px solid;\r\nborder-top-color:#FAAA3C;\r\nmargin-top:0px; \r\nmargin-right:1px; \r\nmargin-left:0px; \r\nmargin-bottom:0px; \r\npadding:0px;\r\n}\r\n\r\nQStatusBar::item{\r\ncolor:0x222222;\r\nborder:0px solid #484848;\r\nborder-radius:3px;\r\n}\r\n\r\nQToolBox::tab,QGroupBox#gboxDevicePanel,QGroupBox#gboxDeviceTitle,QFrame#gboxDevicePanel,QFrame#gboxDeviceTitle{\r\npadding:3px;\r\nborder-radius:5px;\r\ncolor:#DCDCDC;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\nQToolTip{\r\nborder:0px solid #DCDCDC;\r\npadding:1px;\r\ncolor:#DCDCDC;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\nQToolBox::tab:selected{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);\r\n}\r\n\r\nQPrintPreviewDialog QToolButton{\r\nborder:0px solid #DCDCDC;\r\nborder-radius:0px;\r\nmargin:0px;\r\npadding:3px;\r\nbackground:none;\r\n}\r\n\r\nQColorDialog QPushButton,QFileDialog QPushButton{\r\nmin-width:80px;\r\n}\r\n\r\nQToolButton#qt_calendar_prevmonth{\r\nicon-size:0px;\r\nmin-width:20px;\r\nimage:url(:/qss/psblack/calendar_prevmonth.png);\r\n}\r\n\r\nQToolButton#qt_calendar_nextmonth{\r\nicon-size:0px;\r\nmin-width:20px;\r\nimage:url(:/qss/psblack/calendar_nextmonth.png);\r\n}\r\n\r\nQToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{\r\nborder:0px solid #DCDCDC;\r\nborder-radius:3px;\r\nmargin:3px 3px 3px 3px;\r\npadding:3px;\r\nbackground:none;\r\n}\r\n\r\nQToolButton#qt_calendar_prevmonth:hover,QToolButton#qt_calendar_nextmonth:hover,QToolButton#qt_calendar_monthbutton:hover,QToolButton#qt_calendar_yearbutton:hover,QToolButton#qt_calendar_prevmonth:pressed,QToolButton#qt_calendar_nextmonth:pressed,QToolButton#qt_calendar_monthbutton:pressed,QToolButton#qt_calendar_yearbutton:pressed{\r\nborder:0px solid #242424;\r\n}\r\n\r\nQCalendarWidget QSpinBox#qt_calendar_yearedit{\r\nmargin:2px;\r\n}\r\n\r\nQCalendarWidget QToolButton::menu-indicator{\r\nimage:None;\r\n}\r\n\r\nQCalendarWidget QTableView{\r\nborder-width:0px;\r\n}\r\n\r\nQCalendarWidget QWidget#qt_calendar_navigationbar{\r\nborder:1px solid #242424;\r\nborder-width:1px 1px 0px 1px;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);\r\n}\r\n\r\nQComboBox QAbstractItemView::item{\r\nmin-height:20px;\r\nmin-width:10px;\r\n}\r\n\r\nQTableView[model=\"true\"]::item{\r\npadding:0px;\r\nmargin:0px;\r\n}\r\n\r\nQTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{\r\nborder-width:0px;\r\nborder-radius:0px;\r\n}\r\n\r\nQTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{\r\nborder-width:0px;\r\nborder-radius:0px;\r\n}\r\n\r\nQLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{\r\nbackground:#444444;\r\n}\r\n\r\n*:disabled{\r\nbackground:#444444;\r\nborder-color:#484848;\r\n}\r\n\r\n/*TextColor:#DCDCDC*/\r\n/*PanelColor:#444444*/\r\n/*BorderColor:#242424*/\r\n/*NormalColorStart:#484848*/\r\n/*NormalColorEnd:#383838*/\r\n/*DarkColorStart:#646464*/\r\n/*DarkColorEnd:#525252*/\r\n/*HighColor:#00BB9E*/\r\n"
  },
  {
    "path": "src/qss/common.qss",
    "content": ".QPushButton{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\ncolor:#000000;\r\nbackground-color:#E1E1E1;\r\npadding:3px;\r\nmin-height:15px;\r\nmin-width:50px;\r\nborder-radius:3px;\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\nQTabBar::tab{ \r\n\t\tbackground-color:rgb(224,224,224);\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:1px;\r\n\t\tmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{ \r\n\t\tbackground-color:rgb(255,255,255);\r\n\t\tborder-top:3px solid;\r\n\t\tborder-top-color:#FAAA3C;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:0px;\r\n}\r\nQTabBar::close-button{ \r\n\t\timage: url(\\\":/notepad/closeTabButton.png\\\");\r\n}\r\nQTabBar::close-button:hover{ \r\n\t\timage: url(\\\":/notepad/closeTabButton_hover.png\\\");\r\n}\r\n\r\nQToolBar,QMessageBox,QHeaderView::section{ \r\n\t\tbackground-color:rgba(255, 255, 255, 255); \r\n\t\tborder: none; \r\n\t\tpadding: 1px; \r\n}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Left\"]{border:0px;background-color:#F0F0F0;}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Right\"]{border:0px;background-color:#F0F0F0;}\r\n\r\n\r\nQTreeWidget{ \r\n\t\tbackground-color:rgba(255, 255, 255, 255);\r\n\t\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQTreeWidget::item\r\n{\r\nheight:22px;\r\n} \r\n\r\nQTreeView::item::selected\r\n{\r\nbackground-color:#00CCFF;\r\n}\r\n\r\nQTreeView#resultTreeView{ \r\n\tbackground-color:#444444;\r\n\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQListWidget#filelistWidget{ \r\n\tcolor:#ffffff;\r\n\tbackground-color:#444444;\r\n\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\t\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#f0f0f0;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/qss/flatgray.qss",
    "content": "QPalette{background:#FFFFFF;}*{outline:0px;color:#57595B;}\n\nQGraphicsView{\nborder:1px solid #B6B6B6;\nqproperty-backgroundBrush:#FFFFFF;\n}\n\nQWidget[form=\"true\"],QLabel[frameShape=\"1\"]{\nborder:1px solid #B6B6B6;\nborder-radius:0px;\n}\n\nQWidget[form=\"bottom\"]{\nbackground:#E4E4E4;\n}\n\nQWidget[form=\"bottom\"] .QFrame{\nborder:1px solid #57595B;\n}\n\nQWidget[form=\"bottom\"] QLabel,QWidget[form=\"title\"] QLabel{\nborder-radius:0px;\ncolor:#57595B;\nbackground:none;\nborder-style:none;\n}\n\nQWidget[form=\"title\"],QWidget[nav=\"left\"],QWidget[nav=\"top\"] QAbstractButton{\nborder-style:none;\nborder-radius:0px;\npadding:5px;\ncolor:#57595B;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\nQWidget[nav=\"top\"] QAbstractButton:hover,QWidget[nav=\"top\"] QAbstractButton:pressed,QWidget[nav=\"top\"] QAbstractButton:checked{\nborder-style:solid;\nborder-width:0px 0px 2px 0px;\npadding:4px 4px 2px 4px;\nborder-color:#575959;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);\n}\n\nQWidget[nav=\"left\"] QAbstractButton{\nborder-radius:0px;\ncolor:#57595B;\nbackground:none;\nborder-style:none;\n}\n\nQWidget[nav=\"left\"] QAbstractButton:hover{\ncolor:#FFFFFF;\nbackground-color:#575959;\n}\n\nQWidget[nav=\"left\"] QAbstractButton:checked,QWidget[nav=\"left\"] QAbstractButton:pressed{\ncolor:#57595B;\nborder-style:solid;\nborder-width:0px 0px 0px 2px;\npadding:4px 4px 4px 2px;\nborder-color:#575959;\nbackground-color:#FFFFFF;\n}\n\nQWidget[video=\"true\"] QLabel{\ncolor:#57595B;\nborder:1px solid #B6B6B6;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\nQWidget[video=\"true\"] QLabel:focus{\nborder:1px solid #575959;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);\n}\n\nQLineEdit:read-only{\nbackground-color:#E4E4E4;\n}\n\nQLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{\nborder:1px solid #B6B6B6;\nborder-radius:3px;\npadding:2px;\nbackground:none;\nselection-background-color:#575959;\nselection-color:#FFFFFF;\n}\n\nQLineEdit:focus,QTextEdit:focus,QPlainTextEdit:focus,QSpinBox:focus,QDoubleSpinBox:focus,QComboBox:focus,QDateEdit:focus,QTimeEdit:focus,QDateTimeEdit:focus,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QSpinBox:hover,QDoubleSpinBox:hover,QComboBox:hover,QDateEdit:hover,QTimeEdit:hover,QDateTimeEdit:hover{\nborder:1px solid #B6B6B6;\n}\n\nQLineEdit[echoMode=\"2\"]{\nlineedit-password-character:9679;\n}\n\n.QFrame{\nborder:1px solid #B6B6B6;\nborder-radius:3px;\n}\n\n.QGroupBox{\nborder:1px solid #B6B6B6;\nborder-radius:5px;\nmargin-top:9px;\n}\n\n.QGroupBox::title{\nsubcontrol-origin:margin;\nposition:relative;\nleft:10px;\n}\n\n.QPushButton,.QToolButton{\nborder-style:none;\nborder:1px solid #B6B6B6;\ncolor:#57595B;\npadding:5px;\nmin-height:15px;\nborder-radius:5px;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\n.QPushButton:hover,.QToolButton:hover{\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);\n}\n\n.QPushButton:pressed,.QToolButton:pressed{\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\n.QToolButton::menu-indicator{\nimage:None;\n}\n\nQToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{\nborder-radius:3px;\ncolor:#57595B;\npadding:3px;\nmargin:0px;\nbackground:none;\nborder-style:none;\n}\n\nQToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{\ncolor:#FFFFFF;\nmargin:1px 1px 2px 1px;\nbackground-color:rgba(51,127,209,230);\n}\n\nQPushButton#btnMenu_Close:hover{\ncolor:#FFFFFF;\nmargin:1px 1px 2px 1px;\nbackground-color:rgba(238,0,0,128);\n}\n\nQRadioButton::indicator{\nwidth:15px;\nheight:15px;\n}\n\nQRadioButton::indicator::unchecked{\nimage:url(:/qss/flatgray/radiobutton_unchecked.png);\n}\n\nQRadioButton::indicator::unchecked:disabled{\nimage:url(:/qss/flatgray/radiobutton_unchecked_disable.png);\n}\n\nQRadioButton::indicator::checked{\nimage:url(:/qss/flatgray/radiobutton_checked.png);\n}\n\nQRadioButton::indicator::checked:disabled{\nimage:url(:/qss/flatgray/radiobutton_checked_disable.png);\n}\n\nQGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{\npadding:0px 0px 0px 0px;\n}\n\nQCheckBox::indicator,QGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{\nwidth:13px;\nheight:13px;\n}\n\nQCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeView::indicator:unchecked,QListView::indicator:unchecked,QTableView::indicator:unchecked{\nimage:url(:/qss/flatgray/checkbox_unchecked.png);\n}\n\nQCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeView::indicator:unchecked:disabled,QListView::indicator:unchecked:disabled,QTableView::indicator:unchecked:disabled{\nimage:url(:/qss/flatgray/checkbox_unchecked_disable.png);\n}\n\nQCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeView::indicator:checked,QListView::indicator:checked,QTableView::indicator:checked{\nimage:url(:/qss/flatgray/checkbox_checked.png);\n}\n\nQCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeView::indicator:checked:disabled,QListView::indicator:checked:disabled,QTableView::indicator:checked:disabled{\nimage:url(:/qss/flatgray/checkbox_checked_disable.png);\n}\n\nQCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeView::indicator:indeterminate,QListView::indicator:indeterminate,QTableView::indicator:indeterminate{\nimage:url(:/qss/flatgray/checkbox_parcial.png);\n}\n\nQCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeView::indicator:indeterminate:disabled,QListView::indicator:indeterminate:disabled,QTableView::indicator:indeterminate:disabled{\nimage:url(:/qss/flatgray/checkbox_parcial_disable.png);\n}\n\nQTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{\nimage:url(:/qss/flatgray/add_top.png);\nwidth:10px;\nheight:10px;\npadding:2px 5px 0px 0px;\n}\n\nQTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{\nimage:url(:/qss/flatgray/add_bottom.png);\nwidth:10px;\nheight:10px;\npadding:0px 5px 2px 0px;\n}\n\nQTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{\ntop:-2px;\n}\n  \nQTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{\nbottom:-2px;\n}\n\nQComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{\nimage:url(:/qss/flatgray/add_bottom.png);\nwidth:10px;\nheight:10px;\nright:2px;\n}\n\nQComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{\nsubcontrol-origin:padding;\nsubcontrol-position:top right;\nwidth:15px;\nborder-left-width:0px;\nborder-left-style:solid;\nborder-top-right-radius:3px;\nborder-bottom-right-radius:3px;\nborder-left-color:#B6B6B6;\n}\n\nQComboBox::drop-down:on{\ntop:1px;\n}\n\nQMenuBar::item{\ncolor:#57595B;\nbackground-color:#E4E4E4;\nmargin:0px;\npadding:3px 10px;\n}\n\nQMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{\ncolor:#57595B;\nbackground-color:#E4E4E4;\nborder:1px solid #B6B6B6;\nmargin:0px;\n}\n\nQMenu::item{\npadding:3px 20px;\n}\n\nQMenu::indicator{\nwidth:20px;\nheight:13px;\n}\n\nQMenu::indicator::checked{\nimage:url(:/qss/flatgray/menu_checked.png);\n}\n\nQMenu::right-arrow{\nimage:url(:/qss/flatgray/arrow_right.png);\nwidth:13px;\nheight:13px;\npadding:0px 3px 0px 0px;\n}\n\nQMenu::item:selected,QMenuBar::item:selected{\ncolor:#57595B;\nborder:0px solid #B6B6B6;\nbackground:#F6F6F6;\n}\n\nQMenu::separator{\nheight:1px;\nbackground:#B6B6B6;\n}\n\nQProgressBar{\nmin-height:10px;\nbackground:#E4E4E4;\nborder-radius:5px;\ntext-align:center;\nborder:1px solid #E4E4E4;\n}\n\nQProgressBar:chunk{\nborder-radius:5px;\nbackground-color:#B6B6B6;\n}\n\nQSlider::groove:horizontal{\nheight:8px;\nborder-radius:4px;\nbackground:#E4E4E4;\n}\n\nQSlider::add-page:horizontal{\nheight:8px;\nborder-radius:4px;\nbackground:#E4E4E4;\n}\n\nQSlider::sub-page:horizontal{\nheight:8px;\nborder-radius:4px;\nbackground:#B6B6B6;\n}\n\nQSlider::handle:horizontal{\nwidth:13px;\nmargin-top:-3px;\nmargin-bottom:-3px;\nborder-radius:6px;\nbackground:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #FFFFFF,stop:0.8 #B6B6B6);\n}\n\nQSlider::groove:vertical{\nwidth:8px;\nborder-radius:4px;\nbackground:#E4E4E4;\n}\n\nQSlider::add-page:vertical{\nwidth:8px;\nborder-radius:4px;\nbackground:#B6B6B6;\n}\n\nQSlider::sub-page:vertical{\nwidth:8px;\nborder-radius:4px;\nbackground:#E4E4E4;\n}\n\nQSlider::handle:vertical{\nheight:14px;\nmargin-left:-3px;\nmargin-right:-3px;\nborder-radius:6px;\nbackground:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #FFFFFF,stop:0.8 #B6B6B6);\n}\n\nQScrollBar:horizontal{\nbackground:#E4E4E4;\npadding:0px;\nborder-radius:6px;\nmax-height:12px;\n}\n\nQScrollBar::handle:horizontal{\nbackground:#B6B6B6;\nmin-width:50px;\nborder-radius:6px;\n}\n\nQScrollBar::handle:horizontal:hover{\nbackground:#575959;\n}\n\nQScrollBar::handle:horizontal:pressed{\nbackground:#575959;\n}\n\nQScrollBar::add-page:horizontal{\nbackground:none;\n}\n\nQScrollBar::sub-page:horizontal{\nbackground:none;\n}\n\nQScrollBar::add-line:horizontal{\nbackground:none;\n}\n\nQScrollBar::sub-line:horizontal{\nbackground:none;\n}\n\nQScrollBar:vertical{\nbackground:#E4E4E4;\npadding:0px;\nborder-radius:6px;\nmax-width:12px;\n}\n\nQScrollBar::handle:vertical{\nbackground:#B6B6B6;\nmin-height:50px;\nborder-radius:6px;\n}\n\nQScrollBar::handle:vertical:hover{\nbackground:#575959;\n}\n\nQScrollBar::handle:vertical:pressed{\nbackground:#575959;\n}\n\nQScrollBar::add-page:vertical{\nbackground:none;\n}\n\nQScrollBar::sub-page:vertical{\nbackground:none;\n}\n\nQScrollBar::add-line:vertical{\nbackground:none;\n}\n\nQScrollBar::sub-line:vertical{\nbackground:none;\n}\n\nQScrollArea{\nborder:0px;\n}\n\nQTreeView,QListView,QTableView,QTabWidget::pane{\nborder:1px solid #B6B6B6;\nselection-background-color:#F6F6F6;\nselection-color:#57595B;\nalternate-background-color:#F6F6F6;\ngridline-color:#B6B6B6;\n}\n\nQTreeView::branch:closed:has-children{\nmargin:4px;\nborder-image:url(:/qss/flatgray/branch_open.png);\n}\n\nQTreeView::branch:open:has-children{\nmargin:4px;\nborder-image:url(:/qss/flatgray/branch_close.png);\n}\n\nQTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{\nbackground:#FFFFFF;\n}\n\nQTableView::item:selected,QListView::item:selected,QTreeView::item:selected{\ncolor:#57595B;\nbackground:#E4E4E4;\n}\n\nQTableView::item:hover,QListView::item:hover,QTreeView::item:hover,QHeaderView,QHeaderView::section,QTableCornerButton:section{\ncolor:#57595B;\nbackground:#F6F6F6;\n}\n\nQTableView::item,QListView::item,QTreeView::item{\npadding:1px;\nmargin:0px;\nborder:0px;\n}\n\nQHeaderView::section,QTableCornerButton:section{\npadding:3px;\nmargin:0px;\nborder:1px solid #B6B6B6;\nborder-left-width:0px;\nborder-right-width:1px;\nborder-top-width:0px;\nborder-bottom-width:1px;\n}\n\nQTabBar::tab{\nborder:1px solid #B6B6B6;\ncolor:#57595B;\nmargin:0px;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);\n}\n\nQTabBar::tab:selected{\nborder-style:solid;\nborder-color:#575959;\nbackground:#FFFFFF;\n}\n\nQTabBar::tab:top,QTabBar::tab:bottom{\npadding:3px 8px 3px 8px;\n}\n\nQTabBar::tab:left,QTabBar::tab:right{\npadding:8px 3px 8px 3px;\n}\n\nQTabBar::tab:top:selected{\nborder-width:2px 0px 0px 0px;\n}\n\nQTabBar::tab:right:selected{\nborder-width:0px 0px 0px 2px;\n}\n\nQTabBar::tab:bottom:selected{\nborder-width:0px 0px 2px 0px;\n}\n\nQTabBar::tab:left:selected{\nborder-width:0px 2px 0px 0px;\n}\n\nQTabBar::tab:first:top:selected,QTabBar::tab:first:bottom:selected{\nborder-left-width:1px;\nborder-left-color:#B6B6B6;\n}\n\nQTabBar::tab:first:left:selected,QTabBar::tab:first:right:selected{\nborder-top-width:1px;\nborder-top-color:#B6B6B6;\n}\n\nQTabBar::tab:last:top:selected,QTabBar::tab:last:bottom:selected{\nborder-right-width:1px;\nborder-right-color:#B6B6B6;\n}\n\nQTabBar::tab:last:left:selected,QTabBar::tab:last:right:selected{\nborder-bottom-width:1px;\nborder-bottom-color:#B6B6B6;\n}\n\nQStatusBar::item{\nborder:0px solid #E4E4E4;\nborder-radius:3px;\n}\n\nQToolBox::tab,QWidget[form=\"panel\"]{\npadding:3px;\nborder-radius:5px;\ncolor:#57595B;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\nQWidget[flag=\"paneltitle\"]{\nborder-bottom-left-radius:0px;\nborder-bottom-right-radius:0px;\n}\n\nQWidget[flag=\"panelcontrol\"]{\nborder-top-width:0px;\nborder-top-left-radius:0px;\nborder-top-right-radius:0px;\n}\n\nQToolTip{\nborder:0px solid #57595B;\npadding:1px;\ncolor:#57595B;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\nQToolBox::tab:selected{\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);\n}\n\nQPrintPreviewDialog QToolButton{\nborder:0px solid #57595B;\nborder-radius:0px;\nmargin:0px;\npadding:3px;\nbackground:none;\n}\n\nQColorDialog QPushButton,QFileDialog QPushButton{\nmin-width:80px;\n}\n\nQToolButton#qt_calendar_prevmonth{\nicon-size:0px;\nmin-width:20px;\nimage:url(:/qss/flatgray/calendar_prevmonth.png);\n}\n\nQToolButton#qt_calendar_nextmonth{\nicon-size:0px;\nmin-width:20px;\nimage:url(:/qss/flatgray/calendar_nextmonth.png);\n}\n\nQToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{\nborder:0px solid #57595B;\nborder-radius:3px;\nmargin:3px 3px 3px 3px;\npadding:3px;\nbackground:none;\n}\n\nQToolButton#qt_calendar_prevmonth:hover,QToolButton#qt_calendar_nextmonth:hover,QToolButton#qt_calendar_monthbutton:hover,QToolButton#qt_calendar_yearbutton:hover,QToolButton#qt_calendar_prevmonth:pressed,QToolButton#qt_calendar_nextmonth:pressed,QToolButton#qt_calendar_monthbutton:pressed,QToolButton#qt_calendar_yearbutton:pressed{\nborder:1px solid #B6B6B6;\n}\n\nQCalendarWidget QSpinBox#qt_calendar_yearedit{\nmargin:2px;\n}\n\nQCalendarWidget QToolButton::menu-indicator{\nimage:None;\n}\n\nQCalendarWidget QTableView{\nborder-width:0px;\n}\n\nQCalendarWidget QWidget#qt_calendar_navigationbar{\nborder:1px solid #B6B6B6;\nborder-width:1px 1px 0px 1px;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);\n}\n\nQTableView[model=\"true\"]::item{\npadding:0px;\nmargin:0px;\n}\n\nQTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{\nborder-width:0px;\nborder-radius:0px;\n}\n\nQTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{\nborder-width:0px;\nborder-radius:0px;\n}\n\nQLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{\nbackground:#FFFFFF;\n}\n\nQTabWidget::pane:top{top:-1px;}\nQTabWidget::pane:bottom{bottom:-1px;}\nQTabWidget::pane:left{right:-1px;}\nQTabWidget::pane:right{left:-1px;}\n\nQDialog,QDial,#QUIWidgetMain{\nbackground-color:#FFFFFF;\ncolor:#57595B;\n}\n\nQDialogButtonBox>QPushButton{\nmin-width:50px;\n}\n\nQListView[noborder=\"true\"],QTreeView[noborder=\"true\"],QTabWidget[noborder=\"true\"]::pane{\nborder-width:0px;\n}\n\nQToolBar>*,QStatusBar>*{\nmargin:2px;\n}\n\n*:disabled,QMenu::item:disabled,QTabBar:tab:disabled,QHeaderView::section:disabled{\nbackground:#FFFFFF;\nborder-color:#E4E4E4;\ncolor:#B6B6B6;\n}\n\nQLabel:disabled{\nbackground:none;\n}\n\n/*TextColor:#57595B*/\n/*PanelColor:#FFFFFF*/\n/*BorderColor:#B6B6B6*/\n/*NormalColorStart:#E4E4E4*/\n/*NormalColorEnd:#E4E4E4*/\n/*DarkColorStart:#F6F6F6*/\n/*DarkColorEnd:#F6F6F6*/\n/*HighColor:#575959*/"
  },
  {
    "path": "src/qss/lightblue.qss",
    "content": "QPalette{background:#EAF7FF;}*{outline:0px;color:#386487;}\n\nQGraphicsView{\nborder:1px solid #C0DCF2;\nqproperty-backgroundBrush:#EAF7FF;\n}\n\nQWidget[form=\"true\"],QLabel[frameShape=\"1\"],QGraphicsView{\nborder:1px solid #C0DCF2;\nborder-radius:0px;\n}\n\nQWidget[form=\"bottom\"]{\nbackground:#DEF0FE;\n}\n\nQWidget[form=\"bottom\"] .QFrame{\nborder:1px solid #386487;\n}\n\nQWidget[form=\"bottom\"] QLabel,QWidget[form=\"title\"] QLabel{\nborder-radius:0px;\ncolor:#386487;\nbackground:none;\nborder-style:none;\n}\n\nQWidget[form=\"title\"],QWidget[nav=\"left\"],QWidget[nav=\"top\"] QAbstractButton{\nborder-style:none;\nborder-radius:0px;\npadding:5px;\ncolor:#386487;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\nQWidget[nav=\"top\"] QAbstractButton:hover,QWidget[nav=\"top\"] QAbstractButton:pressed,QWidget[nav=\"top\"] QAbstractButton:checked{\nborder-style:solid;\nborder-width:0px 0px 2px 0px;\npadding:4px 4px 2px 4px;\nborder-color:#386488;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\n}\n\nQWidget[nav=\"left\"] QAbstractButton{\nborder-radius:0px;\ncolor:#386487;\nbackground:none;\nborder-style:none;\n}\n\nQWidget[nav=\"left\"] QAbstractButton:hover{\ncolor:#FFFFFF;\nbackground-color:#386488;\n}\n\nQWidget[nav=\"left\"] QAbstractButton:checked,QWidget[nav=\"left\"] QAbstractButton:pressed{\ncolor:#386487;\nborder-style:solid;\nborder-width:0px 0px 0px 2px;\npadding:4px 4px 4px 2px;\nborder-color:#386488;\nbackground-color:#EAF7FF;\n}\n\nQWidget[video=\"true\"] QLabel{\ncolor:#386487;\nborder:1px solid #C0DCF2;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\nQWidget[video=\"true\"] QLabel:focus{\nborder:1px solid #386488;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\n}\n\nQLineEdit:read-only{\nbackground-color:#DEF0FE;\n}\n\nQLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{\nborder:1px solid #C0DCF2;\nborder-radius:3px;\npadding:2px;\nbackground:none;\nselection-background-color:#386488;\nselection-color:#FFFFFF;\n}\n\nQLineEdit:focus,QTextEdit:focus,QPlainTextEdit:focus,QSpinBox:focus,QDoubleSpinBox:focus,QComboBox:focus,QDateEdit:focus,QTimeEdit:focus,QDateTimeEdit:focus,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QSpinBox:hover,QDoubleSpinBox:hover,QComboBox:hover,QDateEdit:hover,QTimeEdit:hover,QDateTimeEdit:hover{\nborder:1px solid #C0DCF2;\n}\n\nQLineEdit[echoMode=\"2\"]{\nlineedit-password-character:9679;\n}\n\n.QFrame{\nborder:1px solid #C0DCF2;\nborder-radius:3px;\n}\n\n.QGroupBox{\nborder:1px solid #C0DCF2;\nborder-radius:5px;\nmargin-top:9px;\n}\n\n.QGroupBox::title{\nsubcontrol-origin:margin;\nposition:relative;\nleft:10px;\n}\n\n.QPushButton,.QToolButton{\nborder-style:none;\nborder:1px solid #C0DCF2;\ncolor:#386487;\npadding:5px;\nmin-height:15px;\nborder-radius:5px;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\n.QPushButton:hover,.QToolButton:hover{\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\n}\n\n.QPushButton:pressed,.QToolButton:pressed{\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\n.QToolButton::menu-indicator{\nimage:None;\n}\n\nQToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{\nborder-radius:3px;\ncolor:#386487;\npadding:3px;\nmargin:0px;\nbackground:none;\nborder-style:none;\n}\n\nQToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{\ncolor:#FFFFFF;\nmargin:1px 1px 2px 1px;\nbackground-color:rgba(51,127,209,230);\n}\n\nQPushButton#btnMenu_Close:hover{\ncolor:#FFFFFF;\nmargin:1px 1px 2px 1px;\nbackground-color:rgba(238,0,0,128);\n}\n\nQRadioButton::indicator{\nwidth:15px;\nheight:15px;\n}\n\nQRadioButton::indicator::unchecked{\nimage:url(:/qss/lightblue/radiobutton_unchecked.png);\n}\n\nQRadioButton::indicator::unchecked:disabled{\nimage:url(:/qss/lightblue/radiobutton_unchecked_disable.png);\n}\n\nQRadioButton::indicator::checked{\nimage:url(:/qss/lightblue/radiobutton_checked.png);\n}\n\nQRadioButton::indicator::checked:disabled{\nimage:url(:/qss/lightblue/radiobutton_checked_disable.png);\n}\n\nQGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{\npadding:0px 0px 0px 0px;\n}\n\nQCheckBox::indicator,QGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{\nwidth:13px;\nheight:13px;\n}\n\nQCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeView::indicator:unchecked,QListView::indicator:unchecked,QTableView::indicator:unchecked{\nimage:url(:/qss/lightblue/checkbox_unchecked.png);\n}\n\nQCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeView::indicator:unchecked:disabled,QListView::indicator:unchecked:disabled,QTableView::indicator:unchecked:disabled{\nimage:url(:/qss/lightblue/checkbox_unchecked_disable.png);\n}\n\nQCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeView::indicator:checked,QListView::indicator:checked,QTableView::indicator:checked{\nimage:url(:/qss/lightblue/checkbox_checked.png);\n}\n\nQCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeView::indicator:checked:disabled,QListView::indicator:checked:disabled,QTableView::indicator:checked:disabled{\nimage:url(:/qss/lightblue/checkbox_checked_disable.png);\n}\n\nQCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeView::indicator:indeterminate,QListView::indicator:indeterminate,QTableView::indicator:indeterminate{\nimage:url(:/qss/lightblue/checkbox_parcial.png);\n}\n\nQCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeView::indicator:indeterminate:disabled,QListView::indicator:indeterminate:disabled,QTableView::indicator:indeterminate:disabled{\nimage:url(:/qss/lightblue/checkbox_parcial_disable.png);\n}\n\nQTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{\nimage:url(:/qss/lightblue/add_top.png);\nwidth:10px;\nheight:10px;\npadding:2px 5px 0px 0px;\n}\n\nQTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{\nimage:url(:/qss/lightblue/add_bottom.png);\nwidth:10px;\nheight:10px;\npadding:0px 5px 2px 0px;\n}\n\nQTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{\ntop:-2px;\n}\n  \nQTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{\nbottom:-2px;\n}\n\nQComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{\nimage:url(:/qss/lightblue/add_bottom.png);\nwidth:10px;\nheight:10px;\nright:2px;\n}\n\nQComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{\nsubcontrol-origin:padding;\nsubcontrol-position:top right;\nwidth:15px;\nborder-left-width:0px;\nborder-left-style:solid;\nborder-top-right-radius:3px;\nborder-bottom-right-radius:3px;\nborder-left-color:#C0DCF2;\n}\n\nQComboBox::drop-down:on{\ntop:1px;\n}\n\nQMenuBar::item{\ncolor:#386487;\nbackground-color:#DEF0FE;\nmargin:0px;\npadding:3px 10px;\n}\n\nQMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{\ncolor:#386487;\nbackground-color:#DEF0FE;\nborder:1px solid #C0DCF2;\nmargin:0px;\n}\n\nQMenu::item{\npadding:3px 20px;\n}\n\nQMenu::indicator{\nwidth:20px;\nheight:13px;\n}\n\nQMenu::indicator::checked{\nimage:url(:/qss/lightblue/menu_checked.png);\n}\n\nQMenu::right-arrow{\nimage:url(:/qss/lightblue/arrow_right.png);\nwidth:13px;\nheight:13px;\npadding:0px 3px 0px 0px;\n}\n\nQMenu::item:selected,QMenuBar::item:selected{\ncolor:#386487;\nborder:0px solid #C0DCF2;\nbackground:#F2F9FF;\n}\n\nQMenu::separator{\nheight:1px;\nbackground:#C0DCF2;\n}\n\nQProgressBar{\nmin-height:10px;\nbackground:#DEF0FE;\nborder-radius:5px;\ntext-align:center;\nborder:1px solid #DEF0FE;\n}\n\nQProgressBar:chunk{\nborder-radius:5px;\nbackground-color:#C0DCF2;\n}\n\nQSlider::groove:horizontal{\nheight:8px;\nborder-radius:4px;\nbackground:#DEF0FE;\n}\n\nQSlider::add-page:horizontal{\nheight:8px;\nborder-radius:4px;\nbackground:#DEF0FE;\n}\n\nQSlider::sub-page:horizontal{\nheight:8px;\nborder-radius:4px;\nbackground:#C0DCF2;\n}\n\nQSlider::handle:horizontal{\nwidth:13px;\nmargin-top:-3px;\nmargin-bottom:-3px;\nborder-radius:6px;\nbackground:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #EAF7FF,stop:0.8 #C0DCF2);\n}\n\nQSlider::groove:vertical{\nwidth:8px;\nborder-radius:4px;\nbackground:#DEF0FE;\n}\n\nQSlider::add-page:vertical{\nwidth:8px;\nborder-radius:4px;\nbackground:#C0DCF2;\n}\n\nQSlider::sub-page:vertical{\nwidth:8px;\nborder-radius:4px;\nbackground:#DEF0FE;\n}\n\nQSlider::handle:vertical{\nheight:14px;\nmargin-left:-3px;\nmargin-right:-3px;\nborder-radius:6px;\nbackground:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #EAF7FF,stop:0.8 #C0DCF2);\n}\n\nQScrollBar:horizontal{\nbackground:#DEF0FE;\npadding:0px;\nborder-radius:6px;\nmax-height:12px;\n}\n\nQScrollBar::handle:horizontal{\nbackground:#C0DCF2;\nmin-width:50px;\nborder-radius:6px;\n}\n\nQScrollBar::handle:horizontal:hover{\nbackground:#386488;\n}\n\nQScrollBar::handle:horizontal:pressed{\nbackground:#386488;\n}\n\nQScrollBar::add-page:horizontal{\nbackground:none;\n}\n\nQScrollBar::sub-page:horizontal{\nbackground:none;\n}\n\nQScrollBar::add-line:horizontal{\nbackground:none;\n}\n\nQScrollBar::sub-line:horizontal{\nbackground:none;\n}\n\nQScrollBar:vertical{\nbackground:#DEF0FE;\npadding:0px;\nborder-radius:6px;\nmax-width:12px;\n}\n\nQScrollBar::handle:vertical{\nbackground:#C0DCF2;\nmin-height:50px;\nborder-radius:6px;\n}\n\nQScrollBar::handle:vertical:hover{\nbackground:#386488;\n}\n\nQScrollBar::handle:vertical:pressed{\nbackground:#386488;\n}\n\nQScrollBar::add-page:vertical{\nbackground:none;\n}\n\nQScrollBar::sub-page:vertical{\nbackground:none;\n}\n\nQScrollBar::add-line:vertical{\nbackground:none;\n}\n\nQScrollBar::sub-line:vertical{\nbackground:none;\n}\n\nQScrollArea{\nborder:0px;\n}\n\nQTreeView,QListView,QTableView,QTabWidget::pane{\n/*border:1px solid #C0DCF2*/\nselection-background-color:#F2F9FF;\nselection-color:#386487;\nalternate-background-color:#DAEFFF;\ngridline-color:#C0DCF2;\n}\n\nQTreeView::branch:closed:has-children{\nmargin:4px;\nborder-image:url(:/qss/lightblue/branch_open.png);\n}\n\nQTreeView::branch:open:has-children{\nmargin:4px;\nborder-image:url(:/qss/lightblue/branch_close.png);\n}\n\nQTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{\nbackground:#EAF7FF;\n}\n\nQTableView::item:selected,QListView::item:selected,QTreeView::item:selected{\ncolor:#386487;\nbackground:#C0DEF6;\n}\n\nQTableView::item:hover,QListView::item:hover,QTreeView::item:hover,QHeaderView,QHeaderView::section,QTableCornerButton:section{\ncolor:#386487;\nbackground:#DAEFFF;\n}\n\nQTableView::item,QListView::item,QTreeView::item{\npadding:1px;\nmargin:0px;\nborder:0px;\n}\n\nQHeaderView::section,QTableCornerButton:section{\npadding:3px;\nmargin:0px;\nborder:1px solid #C0DCF2;\nborder-left-width:0px;\nborder-right-width:1px;\nborder-top-width:0px;\nborder-bottom-width:1px;\n}\n\nQTabBar::tab{\nborder:1px solid #C0DCF2;\ncolor:#386487;\nmargin:0px;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\n}\n\nQTabBar::tab:selected{\nborder-style:solid;\nborder-color:#386488;\nbackground:#EAF7FF;\n}\n\nQTabBar::tab:top,QTabBar::tab:bottom{\npadding:3px 8px 3px 8px;\n}\n\nQTabBar::tab:left,QTabBar::tab:right{\npadding:8px 3px 8px 3px;\n}\n\nQTabBar::tab:top:selected{\nborder-width:2px 0px 0px 0px;\n}\n\nQTabBar::tab:right:selected{\nborder-width:0px 0px 0px 2px;\n}\n\nQTabBar::tab:bottom:selected{\nborder-width:0px 0px 2px 0px;\n}\n\nQTabBar::tab:left:selected{\nborder-width:0px 2px 0px 0px;\n}\n\nQTabBar::tab:first:top:selected,QTabBar::tab:first:bottom:selected{\nborder-left-width:1px;\nborder-left-color:#C0DCF2;\n}\n\nQTabBar::tab:first:left:selected,QTabBar::tab:first:right:selected{\nborder-top-width:1px;\nborder-top-color:#C0DCF2;\n}\n\nQTabBar::tab:last:top:selected,QTabBar::tab:last:bottom:selected{\nborder-right-width:1px;\nborder-right-color:#C0DCF2;\n}\n\nQTabBar::tab:last:left:selected,QTabBar::tab:last:right:selected{\nborder-bottom-width:1px;\nborder-bottom-color:#C0DCF2;\n}\n\nQStatusBar::item{\nborder:0px solid #DEF0FE;\nborder-radius:3px;\n}\n\nQToolBox::tab,QWidget[form=\"panel\"]{\npadding:3px;\nborder-radius:5px;\ncolor:#386487;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\nQWidget[flag=\"paneltitle\"]{\nborder-bottom-left-radius:0px;\nborder-bottom-right-radius:0px;\n}\n\nQWidget[flag=\"panelcontrol\"]{\nborder-top-width:0px;\nborder-top-left-radius:0px;\nborder-top-right-radius:0px;\n}\n\nQToolTip{\nborder:0px solid #386487;\npadding:1px;\ncolor:#386487;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\nQToolBox::tab:selected{\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\n}\n\nQPrintPreviewDialog QToolButton{\nborder:0px solid #386487;\nborder-radius:0px;\nmargin:0px;\npadding:3px;\nbackground:none;\n}\n\nQColorDialog QPushButton,QFileDialog QPushButton{\nmin-width:80px;\n}\n\nQToolButton#qt_calendar_prevmonth{\nicon-size:0px;\nmin-width:20px;\nimage:url(:/qss/lightblue/calendar_prevmonth.png);\n}\n\nQToolButton#qt_calendar_nextmonth{\nicon-size:0px;\nmin-width:20px;\nimage:url(:/qss/lightblue/calendar_nextmonth.png);\n}\n\nQToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{\nborder:0px solid #386487;\nborder-radius:3px;\nmargin:3px 3px 3px 3px;\npadding:3px;\nbackground:none;\n}\n\nQToolButton#qt_calendar_prevmonth:hover,QToolButton#qt_calendar_nextmonth:hover,QToolButton#qt_calendar_monthbutton:hover,QToolButton#qt_calendar_yearbutton:hover,QToolButton#qt_calendar_prevmonth:pressed,QToolButton#qt_calendar_nextmonth:pressed,QToolButton#qt_calendar_monthbutton:pressed,QToolButton#qt_calendar_yearbutton:pressed{\nborder:1px solid #C0DCF2;\n}\n\nQCalendarWidget QSpinBox#qt_calendar_yearedit{\nmargin:2px;\n}\n\nQCalendarWidget QToolButton::menu-indicator{\nimage:None;\n}\n\nQCalendarWidget QTableView{\nborder-width:0px;\n}\n\nQCalendarWidget QWidget#qt_calendar_navigationbar{\nborder:1px solid #C0DCF2;\nborder-width:1px 1px 0px 1px;\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\n}\n\nQTableView[model=\"true\"]::item{\npadding:0px;\nmargin:0px;\n}\n\nQTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{\nborder-width:0px;\nborder-radius:0px;\n}\n\nQTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{\nborder-width:0px;\nborder-radius:0px;\n}\n\nQLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{\nbackground:#EAF7FF;\n}\n\nQTabWidget::pane:top{top:-1px;}\nQTabWidget::pane:bottom{bottom:-1px;}\nQTabWidget::pane:left{right:-1px;}\nQTabWidget::pane:right{left:-1px;}\n\nQDialog,QDial,#QUIWidgetMain{\nbackground-color:#EAF7FF;\ncolor:#386487;\n}\n\nQDialogButtonBox>QPushButton{\nmin-width:50px;\n}\n\nQListView[noborder=\"true\"],QTreeView[noborder=\"true\"],QTabWidget[noborder=\"true\"]::pane{\nborder-width:0px;\n}\n\nQToolBar>*,QStatusBar>*{\nmargin:2px;\n}\n\n*:disabled,QMenu::item:disabled,QTabBar:tab:disabled,QHeaderView::section:disabled{\nbackground:#EAF7FF;\nborder-color:#DEF0FE;\ncolor:#C0DCF2;\n}\n\nQLabel:disabled{\nbackground:none;\n}\n\n/*TextColor:#386487*/\n/*PanelColor:#EAF7FF*/\n/*BorderColor:#C0DCF2*/\n/*NormalColorStart:#DEF0FE*/\n/*NormalColorEnd:#C0DEF6*/\n/*DarkColorStart:#F2F9FF*/\n/*DarkColorEnd:#DAEFFF*/\n/*HighColor:#386488*/\n"
  },
  {
    "path": "src/qss/lightbluestyle.qss",
    "content": ".QPushButton{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\ncolor:#386487;\r\npadding:3px;\r\nmin-height:15px;\r\nmin-width:50px;\r\nborder-radius:3px;\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\n.QPushButton:pressed{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\r\n}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Left\"]{border:0px;background-color:#EAF7FF;}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Right\"]{border:0px;background-color:#EAF7FF;}\r\n\r\n\r\nQToolButton#leftBt,#leftSaveBt,#rightBt,#rightSaveBt,#leftReload,#rightReload,#toolButton,#toolButton1,#subToolButton,#addToolButton,#selectDir,#toolButtonBrowse,#definedFilterExt,#proLangBt{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\nbackground-color:#EAF7FF;\r\ncolor:#386487;\r\npadding:1px;\r\nmin-height:8px;\r\nborder-radius:1px;\r\n}\r\n\r\n\r\nQToolButton#leftBt:hover,#leftSaveBt:hover,#rightBt:hover,#rightSaveBt:hover,#leftReload:hover,#rightReload:hover,#toolButton:hover,#toolButton1:hover,#subToolButton:hover,#addToolButton:hover,#selectDir:hover,#toolButtonBrowse:hover,#definedFilterExt:hover,#proLangBt:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\n\r\nQToolButton:pressed{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\r\n}\r\n\r\nQToolBar,QMessageBox,QHeaderView::section{\r\n   background-color:rgba(255, 255, 255, 255); \r\n\tborder: none;\r\n\tpadding: 1px;\r\n}\r\n\r\nQComboBox,QLineEdit,QSpinBox{\r\n\tbackground-color:#EAF7FF;\r\n\tborder:1px solid #C0DCF2;\r\n\tpadding: 1px;\r\n}\r\n\r\nQTreeWidget{\r\n   background-color:#EAF7FF;\r\n   border:1px solid #C0DCF2;\r\n}\r\n\t\r\nQTreeWidget::item\r\n{\r\nheight:22px\r\n}\r\n\r\nQTreeView::item::selected\r\n{\r\nbackground-color:#00CCFF;\r\n}\r\n\r\nQListWidget{\r\n\tbackground-color:#EAF7FF;\r\n\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{\r\nimage:url(:/qss/lightblue/add_bottom.png);\r\nwidth:10px;\r\nheight:10px;\r\nright:2px;\r\n}\r\n\r\nQComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{\r\nsubcontrol-origin:padding;\r\nsubcontrol-position:top right;\r\nwidth:15px;\r\nborder-left-width:0px;\r\nborder-left-style:solid;\r\nborder-top-right-radius:3px;\r\nborder-bottom-right-radius:3px;\r\nborder-left-color:#C0DCF2;\r\n}\r\n\r\nQComboBox::drop-down:on{\r\ntop:1px;\r\n}\r\n\t\r\nQWidget#tab_find,#tab_replace,#tab_dirfind,#tab_mark,#addDelName,#changeExt{\r\n\tbackground-color:#EAF7FF;\r\n}\r\n\r\nQTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{\r\nimage:url(:/qss/lightblue/add_top.png);\r\nwidth:10px;\r\nheight:10px;\r\npadding:2px 5px 0px 0px;\r\n}\r\n\r\nQTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{\r\nimage:url(:/qss/lightblue/add_bottom.png);\r\nwidth:10px;\r\nheight:10px;\r\npadding:0px 5px 2px 0px;\r\n}\r\n\r\nQTabWidget{\r\n  border:none;\r\n}\r\n\r\nQTabBar::tab{ \r\n\t\tbackground-color:#EAF7FF;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:1px;\r\n\t\tmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{ \r\n\t\tbackground-color:rgb(255,255,255);\r\n\t\tborder-top:3px solid;\r\n\t\tborder-top-color:#FAAA3C;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:0px;\r\n}\r\n\r\nQTabBar::close-button{ \r\n\t\timage: url(\\\":/notepad/closeTabButton.png\\\");\r\n}\r\nQTabBar::close-button:hover{ \r\n\t\timage: url(\\\":/notepad/closeTabButton_hover.png\\\");\r\n}\r\n\r\n/*设置垂直滚动条基本样式*/\r\nQScrollBar:vertical {\r\n    width: 15px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-top: 9px;\r\n    padding-bottom: 9px;\r\n\tbackground-color:#EAF7FF; \r\n}\r\n\r\nQScrollBar::handle:vertical {\r\n    width: 15px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:vertical:hover {\r\n    width: 15px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/3.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/1.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候 */\r\nQScrollBar::add-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/4.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候*/\r\nQScrollBar::sub-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/2.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n\r\n\r\n/*当滚动条滚动的时候，上面的部分和下面的部分*/\r\nQScrollBar::sub-page {\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\nQScrollBar::add-page \r\n{\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\n/*设置水平滚动条基本样式*/\r\nQScrollBar:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-left: 9px;\r\n    padding-right: 9px;\r\n}\r\n\r\nQScrollBar::handle:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:horizontal:hover {\r\n    height: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/5.png);\r\n    subcontrol-position: right;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/6.png);\r\n    subcontrol-position: left;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#EAF7FF;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/qss/myblack.qss",
    "content": ".QPushButton{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\ncolor:#000000;\r\nbackground-color:#E1E1E1;\r\npadding:3px;\r\nmin-height:15px;\r\nmin-width:50px;\r\nborder-radius:3px;\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\nQTabBar::tab{ \r\n\t\tbackground-color:rgb(224,224,224);\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:1px;\r\n\t\tmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{ \r\n\t\tbackground-color:rgb(255,255,255);\r\n\t\tborder-top:3px solid;\r\n\t\tborder-top-color:#FAAA3C;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:0px;\r\n}\r\nQTabBar::close-button{ \r\n\t\timage: url(\\\":/notepad/closeTabButton.png\\\");\r\n}\r\nQTabBar::close-button:hover{ \r\n\t\timage: url(\\\":/notepad/closeTabButton_hover.png\\\");\r\n}\r\n\r\nQToolBar,QMessageBox,QHeaderView::section{ \r\n\t\tbackground-color:rgba(255, 255, 255, 255); \r\n\t\tborder: none; \r\n\t\tpadding: 1px; \r\n}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Left\"]{border:0px;background-color:#F0F0F0;}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Right\"]{border:0px;background-color:#F0F0F0;}\r\n\r\n\r\nQTreeWidget{ \r\n\t\tbackground-color:rgba(255, 255, 255, 255);\r\n\t\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQTreeWidget::item\r\n{\r\nheight:22px;\r\n} \r\n\r\nQTreeView::item::selected\r\n{\r\nbackground-color:#00CCFF;\r\n}\r\n\r\nQTreeView#resultTreeView{ \r\n\tbackground-color:#444444;\r\n\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQListWidget#filelistWidget{ \r\n\tcolor:#ffffff;\r\n\tbackground-color:#444444;\r\n\tborder:1px solid #C0DCF2;\r\n}\r\n\r\n\r\n/*设置垂直滚动条基本样式*/\r\nQScrollBar:vertical {\r\n    width: 15px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-top: 9px;\r\n    padding-bottom: 9px;\r\n}\r\n\r\nQScrollBar::handle:vertical {\r\n    width: 15px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:vertical:hover {\r\n    width: 15px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/3.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/1.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候 */\r\nQScrollBar::add-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/4.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候*/\r\nQScrollBar::sub-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 12px;\r\n    border-image: url(:/Resources/img/2.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n\r\n\r\n/*当滚动条滚动的时候，上面的部分和下面的部分*/\r\nQScrollBar::sub-page {\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\nQScrollBar::add-page \r\n{\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\n/*设置水平滚动条基本样式*/\r\nQScrollBar:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-left: 9px;\r\n    padding-right: 9px;\r\n}\r\n\r\nQScrollBar::handle:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:horizontal:hover {\r\n    height: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/5.png);\r\n    subcontrol-position: right;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/6.png);\r\n    subcontrol-position: left;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\t\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#f0f0f0;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/qss/mystyle.qss",
    "content": ".QPushButton{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\ncolor:#000000;\r\nbackground-color:#E1E1E1;\r\npadding:3px;\r\nmin-height:15px;\r\nmin-width:50px;\r\nborder-radius:3px;\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\nQTabBar::tab{ \r\n\t\tbackground-color:rgb(224,224,224);\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:1px;\r\n\t\tmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{ \r\n\t\tbackground-color:rgb(255,255,255);\r\n\t\tborder-top:3px solid;\r\n\t\tborder-top-color:#FAAA3C;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:0px;\r\n}\r\nQTabBar::close-button{ \r\n\t\timage: url(\\\":/notepad/closeTabButton.png\\\");\r\n}\r\nQTabBar::close-button:hover{ \r\n\t\timage: url(\\\":/notepad/closeTabButton_hover.png\\\");\r\n}\r\n\r\nQToolBar,QMessageBox,QHeaderView::section{ \r\n\t\tbackground-color:rgba(255, 255, 255, 255); \r\n\t\tborder: none; \r\n\t\tpadding: 1px; \r\n}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Left\"]{border:0px;background-color:#F0F0F0;}\r\n\r\nQTabBar QToolButton[accessibleName=\"Scroll Right\"]{border:0px;background-color:#F0F0F0;}\r\n\r\n\r\nQTreeWidget{ \r\n\t\tbackground-color:rgba(255, 255, 255, 255); \r\n\t\tborder:1px solid #C0DCF2;\r\n}\r\n\r\nQTreeWidget::item\r\n{\r\nheight:22px;\r\n} \r\nQTreeView::item::selected\r\n{\r\nbackground-color:#00CCFF;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\t\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#f0f0f0;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/qss/mystyle_new.qss",
    "content": ".QPushButton{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\ncolor:#386487;\r\npadding:5px;\r\nmin-height:15px;\r\nborder-radius:5px;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\n.QPushButton:pressed{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\r\n}\r\n\r\nQToolButton#leftBt,#leftSaveBt,#rightBt,#rightSaveBt,#leftReload,#rightReload,#toolButton,#subToolButton,#addToolButton,#selectDir,#toolButtonBrowse,#definedFilterExt{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\nbackground-color:#EAF7FF; \r\n}\r\n\r\nQToolBar,QMessageBox{ \r\n\t\tbackground-color:#EAF7FF; \r\n\t\tborder: none; \r\n\t\tpadding: 1px; \r\n}\r\nQComboBox,QLineEdit,QSpinBox{\r\n\tbackground-color:#EAF7FF; \r\n\tborder:1px solid #C0DCF2;\r\n\tpadding: 1px; \r\n}\r\n\r\nQComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{\r\nimage:url(:/qss/lightblue/add_bottom.png);\r\nwidth:10px;\r\nheight:10px;\r\nright:2px;\r\n}\r\n\r\nQComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{\r\nsubcontrol-origin:padding;\r\nsubcontrol-position:top right;\r\nwidth:15px;\r\nborder-left-width:0px;\r\nborder-left-style:solid;\r\nborder-top-right-radius:3px;\r\nborder-bottom-right-radius:3px;\r\nborder-left-color:#C0DCF2;\r\n}\r\n\r\nQComboBox::drop-down:on{\r\ntop:1px;\r\n}\r\n\t\r\n\r\nQWidget#tab_find,#tab_replace,#tab_dirfind,#tab_mark,#addDelName,#changeExt{\r\n\tbackground-color:#EAF7FF;\r\n}\r\n\r\nQTabBar::tab{ \r\n\t\tbackground-color:#EAF7FF;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:1px;\r\n\t\tmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{ \r\n\t\tbackground-color:rgb(255,255,255);\r\n\t\tborder-top:3px solid;\r\n\t\tborder-top-color:#FAAA3C;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:0px;\r\n}\r\nQTabBar::close-button{ \r\n\t\timage: url(\\\":/notepad/closeTabButton.png\\\");\r\n}\r\nQTabBar::close-button:hover{ \r\n\t\timage: url(\\\":/notepad/closeTabButton_hover.png\\\");\r\n}\r\n\r\n\r\n\r\n/*设置垂直滚动条基本样式*/\r\nQScrollBar:vertical {\r\n    width: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-top: 9px;\r\n    padding-bottom: 9px;\r\n\tbackground-color:#EAF7FF; \r\n}\r\n\r\nQScrollBar::handle:vertical {\r\n    width: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:vertical:hover {\r\n    width: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/3.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/1.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候 */\r\nQScrollBar::add-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/4.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候*/\r\nQScrollBar::sub-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/2.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n\r\n\r\n/*当滚动条滚动的时候，上面的部分和下面的部分*/\r\nQScrollBar::sub-page:vertical {\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\nQScrollBar::add-page:vertical \r\n{\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\n/*设置水平滚动条基本样式*/\r\nQScrollBar:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-left: 9px;\r\n    padding-right: 9px;\r\n}\r\n\r\nQScrollBar::handle:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:horizontal:hover {\r\n    height: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/5.png);\r\n    subcontrol-position: right;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/6.png);\r\n    subcontrol-position: left;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#EAF7FF;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/qss/templetestyle.qss",
    "content": ".QPushButton{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\ncolor:#386487;\r\npadding:5px;\r\nmin-height:15px;\r\nborder-radius:5px;\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\r\n}\r\n\r\n.QPushButton:hover{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F2F9FF,stop:1 #DAEFFF);\r\n}\r\n\r\n.QPushButton:pressed{\r\nbackground:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #DEF0FE,stop:1 #C0DEF6);\r\n}\r\n\r\nQToolButton#leftBt,#leftSaveBt,#rightBt,#rightSaveBt,#leftReload,#rightReload,#toolButton,#subToolButton,#addToolButton,#selectDir,#toolButtonBrowse,#definedFilterExt{\r\nborder-style:none;\r\nborder:1px solid #C0DCF2;\r\nbackground-color:#EAF7FF; \r\n}\r\n\r\nQToolBar,QMessageBox,QHeaderView::section{\r\n\t\tbackground-color:#EAF7FF;\r\n\t\tborder: none;\r\n\t\tpadding: 1px;\r\n}\r\n\r\nQComboBox,QLineEdit,QSpinBox{\r\n\tbackground-color:#EAF7FF;\r\n\tborder:1px solid #C0DCF2;\r\n\tpadding: 1px;\r\n}\r\n\r\nQTreeWidget{\r\n   background-color:#EAF7FF;\r\n   border:1px solid #C0DCF2;\r\n}\r\n\t\r\nQTreeWidget::item\r\n{\r\nheight:22px\r\n}\r\n\r\nQTreeView::item::selected\r\n{\r\nbackground-color:#00CCFF;\r\n}\r\n\r\nQComboBox::down-arrow,QDateEdit[calendarPopup=\"true\"]::down-arrow,QTimeEdit[calendarPopup=\"true\"]::down-arrow,QDateTimeEdit[calendarPopup=\"true\"]::down-arrow{\r\nimage:url(:/qss/lightblue/add_bottom.png);\r\nwidth:10px;\r\nheight:10px;\r\nright:2px;\r\n}\r\n\r\nQComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{\r\nsubcontrol-origin:padding;\r\nsubcontrol-position:top right;\r\nwidth:15px;\r\nborder-left-width:0px;\r\nborder-left-style:solid;\r\nborder-top-right-radius:3px;\r\nborder-bottom-right-radius:3px;\r\nborder-left-color:#C0DCF2;\r\n}\r\n\r\nQComboBox::drop-down:on{\r\ntop:1px;\r\n}\r\n\t\r\nQWidget#tab_find,#tab_replace,#tab_dirfind,#tab_mark,#addDelName,#changeExt{\r\n\tbackground-color:#EAF7FF;\r\n}\r\n\r\nQTabBar::tab{ \r\n\t\tbackground-color:#EAF7FF;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:1px;\r\n\t\tmin-width:50px;\r\n}\r\n\r\nQTabBar::tab:selected{ \r\n\t\tbackground-color:rgb(255,255,255);\r\n\t\tborder-top:3px solid;\r\n\t\tborder-top-color:#FAAA3C;\r\n\t\tmargin-top:1px; \r\n\t\tmargin-right:1px; \r\n\t\tmargin-left:1px; \r\n\t\tmargin-bottom:2px; \r\n\t\tpadding:0px;\r\n}\r\n\r\nQTabBar::close-button{ \r\n\t\timage: url(\\\":/notepad/closeTabButton.png\\\");\r\n}\r\nQTabBar::close-button:hover{ \r\n\t\timage: url(\\\":/notepad/closeTabButton_hover.png\\\");\r\n}\r\n\r\n\r\n/*设置垂直滚动条基本样式*/\r\nQScrollBar:vertical {\r\n    width: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-top: 9px;\r\n    padding-bottom: 9px;\r\n\tbackground-color:#EAF7FF; \r\n}\r\n\r\nQScrollBar::handle:vertical {\r\n    width: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:vertical:hover {\r\n    width: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/3.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:vertical \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/1.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候 */\r\nQScrollBar::add-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/4.png);\r\n    subcontrol-position: bottom;\r\n}\r\n\r\n/*当鼠标放到下箭头上的时候*/\r\nQScrollBar::sub-line:vertical:hover \r\n{\r\n    height: 9px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/2.png);\r\n    subcontrol-position: top;\r\n}\r\n\r\n\r\n\r\n/*当滚动条滚动的时候，上面的部分和下面的部分*/\r\nQScrollBar::sub-page:vertical {\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\nQScrollBar::add-page:vertical \r\n{\r\n    background: rgba(0,0,0,10%);\r\n    border-radius: 4px;\r\n}\r\n\r\n/*设置水平滚动条基本样式*/\r\nQScrollBar:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,0%);\r\n    margin: 0px,0px,0px,0px;\r\n    /*留出9px给上面和下面的箭头*/\r\n    padding-left: 9px;\r\n    padding-right: 9px;\r\n}\r\n\r\nQScrollBar::handle:horizontal {\r\n    height: 10px;\r\n    background: rgba(0,0,0,25%);\r\n    /*滚动条两端变成椭圆 */\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\nQScrollBar::handle:horizontal:hover {\r\n    height: 10px;\r\n    /*鼠标放到滚动条上的时候，颜色变深*/\r\n    background: rgba(0,0,0,50%);\r\n    border-radius: 4px;\r\n    min-height: 20;\r\n}\r\n\r\n/*这个应该是设置下箭头的，3.png就是箭头*/\r\nQScrollBar::add-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/5.png);\r\n    subcontrol-position: right;\r\n}\r\n\r\n\r\n/*设置上箭头 */\r\nQScrollBar::sub-line:horizontal \r\n{\r\n    height: 10px;\r\n    width: 10px;\r\n    border-image: url(:/Resources/img/6.png);\r\n    subcontrol-position: left;\r\n}\r\n\r\nQMainWindow::separator\r\n{ \r\n\theight:1px; \r\n    margin: 0px;\r\n    padding: 0px;\r\n    background:#FF0000;\r\n}\r\n\r\nQDockWidget{\r\n    border:0px solid red;\r\n}\r\n\r\nQDockWidget::title {\r\n    background:#EAF7FF;\r\n    padding-top:0px;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/qtlangset.cpp",
    "content": "﻿#include \"qtlangset.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"nddsetting.h\"\r\n#include \"rcglobal.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"styleset.h\"\r\n#include \"extlexermanager.h\"\r\n\r\n#include <SciLexer.h>\r\n#include <qscilexer.h>\r\n#include <QSettings>\r\n#include <QColorDialog> \r\n#include <QMessageBox>\r\n#include <QSpinBox>\r\n#include <Qsci/qscilexerglobal.h>\r\n\r\n#include <QDebug>\r\n#include <QDir>\r\n\r\n\r\nQtLangSet::QtLangSet(QString initTag, QWidget *parent)\r\n\t: QMainWindow(parent), m_selectLexer(nullptr), m_selectStyleId(0), m_isStyleChange(false),m_isStyleChildChange(false), m_initShowLexerTag(initTag), m_previousSysLangItem(nullptr),m_isGlobelItem(false)\r\n{\r\n\tui.setupUi(this);\r\n\tinitLangList();\r\n\tinitUserDefineLangList();\r\n\r\n\tstartSignSlot();\r\n\r\n\tm_themesId = StyleSet::getCurrentSytleId();\r\n\tm_lastThemesId = -1;\r\n\tui.mainThemesCbox->setCurrentIndex(m_themesId);\r\n}\r\n\r\nQtLangSet::~QtLangSet()\r\n{\r\n\tif (nullptr != m_selectLexer)\r\n\t{\r\n\t\tdelete m_selectLexer;\r\n\t\tm_selectLexer = nullptr;\r\n\t}\r\n}\r\n\r\n\r\n//在同步字体时，务必先关闭关联槽函数，避免循环触发。务必配对使用\r\nvoid QtLangSet::enableFontChangeSensitive(bool isSensitive)\r\n{\r\n\tif (isSensitive)\r\n\t{\r\n\t\tconnect(ui.boldCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontBoldChange);\r\n\t\tconnect(ui.italicCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontItalicChange);\r\n\t\tconnect(ui.underlineCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontUnderlineChange);\r\n\t\tconnect(ui.fontSpinBox, SIGNAL(valueChanged(int)), this, SLOT(slot_fontSizeChange(int)));\r\n\t\tconnect(ui.fontComboBox, &QFontComboBox::currentFontChanged, this, &QtLangSet::slot_fontChange);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tdisconnect(ui.boldCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontBoldChange);\r\n\t\tdisconnect(ui.italicCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontItalicChange);\r\n\t\tdisconnect(ui.underlineCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontUnderlineChange);\r\n\t\tdisconnect(ui.fontSpinBox, SIGNAL(valueChanged(int)), this, SLOT(slot_fontSizeChange(int)));\r\n\t\tdisconnect(ui.fontComboBox, &QFontComboBox::currentFontChanged, this, &QtLangSet::slot_fontChange);\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::startSignSlot()\r\n{\r\n\t//开始本来使用的是QListWidget::currentItemChanged信号，但是发现该信号存在莫名其妙的触发机制。\r\n\t//估计是QT5.12的bug。所以换成itemClicked信号\r\n\tconnect(ui.langListWidget, &QListWidget::itemClicked, this, &QtLangSet::slot_itemSelect);\r\n\tconnect(ui.langListWidget, &QListWidget::currentRowChanged, this, &QtLangSet::slot_langListCurRowChanged);\r\n\r\n\tconnect(ui.userLangListWidget, &QListWidget::itemClicked, this, &QtLangSet::slot_userLangItemSelect);\r\n\r\n\r\n\tconnect(ui.styleListWidget, &QListWidget::itemClicked, this, &QtLangSet::slot_styleItemSelect);\r\n\tconnect(ui.styleListWidget, &QListWidget::currentRowChanged, this, &QtLangSet::slot_styleListCurRowChanged);\r\n\r\n\tconnect(ui.boldCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontBoldChange);\r\n\tconnect(ui.italicCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontItalicChange);\r\n\tconnect(ui.underlineCheckBox, &QCheckBox::stateChanged, this, &QtLangSet::slot_fontUnderlineChange);\r\n\tconnect(ui.fontSpinBox, SIGNAL(valueChanged(int)), this, SLOT(slot_fontSizeChange(int)));\r\n\tconnect(ui.fontComboBox, &QFontComboBox::currentFontChanged, this, &QtLangSet::slot_fontChange);\r\n}\r\n\r\n//让初始化时选择当前编辑器的语言\r\nvoid QtLangSet::selectInitLangTag(QString initLangTag)\r\n{\r\n\r\n\t//第一次必须以初始化lexid显示。这样做实在是因为初始化list启动后，会自动把第一个设置为当前。\r\n\t//这里还是有问题，是qt5.12.4的bug机制导致:如果没有选择QListWidget，会总是自动选择第一个\r\n\tif (!initLangTag.isEmpty())\r\n\t{\r\n\t\tQList<QListWidgetItem*> destItems = ui.langListWidget->findItems(initLangTag,Qt::MatchExactly);\r\n\t\tif (!destItems.isEmpty())\r\n\t\t{\r\n\t\t\tQListWidgetItem* newItem = destItems.first();\r\n\r\n\t\t\tui.langListWidget->scrollToItem(newItem);\r\n\t\t\tui.langListWidget->setCurrentItem(newItem);\r\n\t\t\tui.userLangListWidget->setCurrentItem(nullptr);\r\n\r\n\t\t\tslot_itemSelect(newItem);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tdestItems = ui.userLangListWidget->findItems(initLangTag, Qt::MatchExactly);\r\n\t\t\tif (!destItems.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tQListWidgetItem* userItem = destItems.first();\r\n\t\t\t\tui.userLangListWidget->scrollToItem(userItem);\r\n\t\t\t\tui.userLangListWidget->setCurrentItem(userItem);\r\n\t\t\t\tui.langListWidget->setCurrentItem(nullptr);\r\n\r\n\t\t\t\tslot_userLangItemSelect(userItem);\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_fontBoldChange(int state)\r\n{\r\n\t//即时设置风格\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\tif (m_curStyleData.font.bold() != ((state == Qt::Unchecked) ? false : true))\r\n\t\t{\r\n\t\t\tm_curStyleData.font.setBold((state == Qt::Unchecked) ? false : true);\r\n\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\tif (m_isGlobelItem)\r\n\t\t\t{\r\n\t\t\t\tif (ui.useGlobalFont->isVisible() && ui.useGbFontBold->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\tslot_useAlobalFontBold(true);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t\t}\r\n\t\t\t\telse if (ui.useGlobalFont->isVisible() && !ui.useGbFontBold->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t}\r\n\t\t\t\telse if (!ui.useGlobalFont->isVisible())\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局非第一个样式，修改当前全局字体大小\r\n\t\t\t\t\t\t//全局样式的非第一个\r\n\t\t\t\t\tStyleSet::setGlobalFont(m_selectStyleId, m_curStyleData.font);\r\n\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalFont(m_selectStyleId);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_fontItalicChange(int state)\r\n{\r\n\t//即时设置风格\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\tif (m_curStyleData.font.italic() != ((state == Qt::Unchecked) ? false : true))\r\n\t\t{\r\n\t\t\tm_curStyleData.font.setItalic((state == Qt::Unchecked) ? false : true);\r\n\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\tm_isStyleChange = true;\r\n\t\t\tif (m_isGlobelItem)\r\n\t\t\t{\r\n\t\t\t\tif (ui.useGlobalFont->isVisible() && ui.useGbFontItalic->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\tslot_useAlobalFontItalic(true);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t\t}\r\n\t\t\t\telse if (ui.useGlobalFont->isVisible() && !ui.useGbFontItalic->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t}\r\n\t\t\t\telse if (!ui.useGlobalFont->isVisible())\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局非第一个样式，修改当前全局字体大小\r\n\t\t\t\t\t\t//全局样式的非第一个\r\n\t\t\t\t\tStyleSet::setGlobalFont(m_selectStyleId, m_curStyleData.font);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalFont(m_selectStyleId);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_fontUnderlineChange(int state)\r\n{\r\n\t//即时设置风格\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\tif (m_curStyleData.font.underline() != ((state == Qt::Unchecked) ? false : true))\r\n\t\t{\r\n\t\t\tm_curStyleData.font.setUnderline((state == Qt::Unchecked) ? false : true);\r\n\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\tm_isStyleChange = true;\r\n\t\t\tif (m_isGlobelItem)\r\n\t\t\t{\r\n\t\t\t\tif (ui.useGlobalFont->isVisible() && ui.useGbFontUnderline->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\tslot_useAlobalFontUnderline(true);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t\t}\r\n\t\t\t\telse if (ui.useGlobalFont->isVisible() && !ui.useGbFontUnderline->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t}\r\n\t\t\t\telse if (!ui.useGlobalFont->isVisible())\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局非第一个样式，修改当前全局字体大小\r\n\t\t\t\t\t\t//全局样式的非第一个\r\n\t\t\t\t\tStyleSet::setGlobalFont(m_selectStyleId, m_curStyleData.font);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalFont(m_selectStyleId);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//发现一个qt现象：在debug断住该slot_fontSizeChange函数，会导致槽触发2次；不断住或者release模式直接跑，不会触发2次\r\nvoid QtLangSet::slot_fontSizeChange(int v)\r\n{\r\n\t//即时设置风格\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\t//全局修改，把所有语言的所有风格都设置\r\n\t\tif (m_isGlobelItem)\r\n\t\t{\r\n\t\t\tif (m_curStyleData.font.pointSize() != v)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.font.setPointSize(v);\r\n\t\t\t\t//qDebug() << m_curStyleData.font.family();\r\n\t\t\t\tm_isStyleChange = true;\r\n\t\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\r\n\t\t\t\t//全局第一个样式，修改所有语法样式\r\n\t\t\t\tif (ui.useGlobalFont->isVisible() && ui.useGbFontSize->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\tslot_useAlobalFontSize(true);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t\t}\r\n\t\t\t\telse if (ui.useGlobalFont->isVisible() && !ui.useGbFontSize->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t}\r\n\t\t\t\telse if (!ui.useGlobalFont->isVisible())\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局非第一个样式，修改当前全局字体大小\r\n\t\t\t\t\t//全局样式的非第一个\r\n\t\t\t\t\tStyleSet::setGlobalFont(m_selectStyleId, m_curStyleData.font);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalFont(m_selectStyleId);\r\n\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif (m_curStyleData.font.pointSize() != v)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.font.setPointSize(v);\r\n\t\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\t\tm_isStyleChange = true;\r\n\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, true);\r\n\t\t\t}\r\n\t\t}\r\n\t\t/*else if (!ui.modifyAllFont->isChecked())\r\n\t\t{\r\n\t\t\tif (m_curStyleData.font.pointSize() != v)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.font.setPointSize(v);\r\n\t\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\t\tm_isStyleChange = true;\r\n\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, true);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tm_curStyleData.font.setPointSize(v);\r\n\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\tm_isStyleChange = true;\r\n\t\t\t//即时设置风格\r\n\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t{\r\n\t\t\t\tint row = ui.styleListWidget->count();\r\n\r\n\t\t\t\tQListWidgetItem* item = nullptr;\r\n\r\n\t\t\t\tfor (int i = 0; i < row; ++i)\r\n\t\t\t\t{\r\n\t\t\t\t\titem = ui.styleListWidget->item(i);\r\n\t\t\t\t\tint styleId = item->data(Qt::UserRole).toInt();\r\n\r\n\t\t\t\t\t//所有字体大小修改为一致\r\n\t\t\t\t\tQFont f = m_selectLexer->font(styleId);\r\n\t\t\t\t\tf.setPointSize(v);\r\n\t\t\t\t\tm_selectLexer->setFont(f, styleId);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsaveCurLangSettings();\r\n\t\t\t\temit viewLexerChange(m_selectLexer->lexerTag());\r\n\t\t\t}\r\n\t\t}*/\r\n\t\t}\r\n\t}\r\n\r\n\r\nvoid QtLangSet::getCurUseLexerTags(QVector<QString>& tag)\r\n{\r\n\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\tif (pMainNote != nullptr)\r\n\t{\r\n\t\tpMainNote->getCurUseLexerTags(tag);\r\n\t}\r\n}\r\n\r\n//使用全局设置设定所有语言风格\r\nvoid QtLangSet::updateAllLangeStyleWithGlobal(GLOBAL_STYLE_SET flag)\r\n{\r\n\tQFont oldfont;\r\n\r\n\tbool isGlobalChange = false;\r\n\r\n\tfor (int index = 0; index <= L_TXT; ++index)\r\n\t{\r\n\t\t//GLOBAL本身不保存，因为GLOBAL不是语法样式，而是全局的属性风格\r\n\t\t//如果全局修改的是全局字体或字体大小，全局也修改一下。避免括弧等大小和全局字体不一样大。\r\n\t\t//全局颜色前景和背景时，也要特殊对待，要单独修改全局default的修改；否则编辑界面看起来颜色杂乱\r\n\t\tif (index == L_GLOBAL)\r\n\t\t{\r\n\t\t\tif (flag != GLOBAL_FONT_SIZE && flag != GLOBAL_FONT && flag != GLOBAL_FG_COLOR && flag != GLOBAL_BK_COLOR)\r\n\t\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\t}\r\n\r\n\t\tQsciLexer *pLexer = ScintillaEditView::createLexer(index);\r\n\t\tif (nullptr != pLexer)\r\n\t\t{\r\n\n\t\t\tswitch (flag)\r\n\t\t\t{\r\n\t\t\tcase GLOBAL_FONT:\r\n\t\t\t{\r\n\t\t\t\t//非全局修改所有的语法对应样式\r\n\t\t\t\tif (index != L_GLOBAL)\r\n\t\t\t\t{\r\n\t\t\t\tfor (int i = 0; i <= 255; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (!pLexer->description(i).isEmpty())\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\toldfont.setFamily(m_curStyleData.font.family());\r\n\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t//是全局属性修改字体\r\n\t\t\t\t\tQsciLexerGlobal* pGlobalLexer = dynamic_cast<QsciLexerGlobal*>(pLexer);\r\n\t\t\t\t\tif (pGlobalLexer != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfor (int i = 0; i <= GLOBAL_STYLES::URL_HOVERRED; ++i)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\t\toldfont.setFamily(m_curStyleData.font.family());\r\n\t\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tisGlobalChange = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tcase GLOBAL_FONT_SIZE:\r\n\t\t\t{\r\n\t\t\t\t//非全局修改所有的语法对应样式\r\n\t\t\t\tif (index != L_GLOBAL)\r\n\t\t\t\t{\r\n\t\t\t\tfor (int i = 0; i <= 255; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (!pLexer->description(i).isEmpty())\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\toldfont.setPointSize(m_curStyleData.font.pointSize());\r\n\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t//是全局\r\n\t\t\t\t\tQsciLexerGlobal* pGlobalLexer = dynamic_cast<QsciLexerGlobal*>(pLexer);\r\n\t\t\t\t\tif (pGlobalLexer != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfor (int i = 0; i <= GLOBAL_STYLES::URL_HOVERRED; ++i)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\t\toldfont.setPointSize(m_curStyleData.font.pointSize());\r\n\t\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tisGlobalChange = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tcase GLOBAL_FONT_BOLD:\r\n\t\t\t{\r\n\t\t\t\tfor (int i = 0; i <= 255; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (!pLexer->description(i).isEmpty())\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\toldfont.setBold(m_curStyleData.font.bold());\r\n\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tcase GLOBAL_FONT_UNDERLINE:\r\n\t\t\t{\r\n\t\t\t\tfor (int i = 0; i <= 255; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (!pLexer->description(i).isEmpty())\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\toldfont.setUnderline(m_curStyleData.font.underline());\r\n\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tcase GLOBAL_FONT_ITALIC:\r\n\t\t\t{\r\n\t\t\t\tfor (int i = 0; i <= 255; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (!pLexer->description(i).isEmpty())\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pLexer->font(i);\r\n\t\t\t\t\t\toldfont.setItalic(m_curStyleData.font.italic());\r\n\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tcase GLOBAL_FG_COLOR:\r\n\t\t\t{\r\n\t\t\t\t//非全局修改所有的语法对应样式\r\n\t\t\t\tif (index != L_GLOBAL)\r\n\t\t\t\t{\r\n\t\t\t\tpLexer->setColor(m_curStyleData.color, -1);\r\n\t\t\t\t\tpLexer->setDefaultColor(m_curStyleData.color);\r\n\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局时，只修改default的颜色\r\n\t\t\t\t\tpLexer->setColor(m_curStyleData.color, GLOBAL_STYLES::GLOBAL_OVERRIDE);\r\n\t\t\t\t\tpLexer->setColor(m_curStyleData.color, GLOBAL_STYLES::DEFAULT_STYLE);\r\n\t\t\t\t\tisGlobalChange = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tcase GLOBAL_BK_COLOR:\r\n\t\t\t{\r\n\t\t\t\t//非全局修改所有的语法对应样式\r\n\t\t\t\tif (index != L_GLOBAL)\r\n\t\t\t\t{\r\n\t\t\t\tpLexer->setPaper(m_curStyleData.paper, -1);\r\n\t\t\t\t//默认纸背景色会和QPalette保持一致。单独需要单独设置一下\r\n\t\t\t\tpLexer->setDefaultPaper(m_curStyleData.paper);\r\n\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局时，只修改default的颜色\r\n\t\t\t\t\tpLexer->setPaper(m_curStyleData.paper, GLOBAL_STYLES::GLOBAL_OVERRIDE);\r\n\t\t\t\t\tpLexer->setPaper(m_curStyleData.paper, GLOBAL_STYLES::DEFAULT_STYLE);\r\n\t\t\t\t\tisGlobalChange = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t\t}\n\t\t\t\r\n\t\t\tsaveLangeSet(pLexer);\r\n\t\t}\n\t\tdelete pLexer;\r\n\t}\r\n\r\n\t//如果全局变化了，把当前全局界面刷新一下\r\n\t//还有，还需要把当前打开文档的全局风格设置一下，否则全局不生效\r\n\tif (isGlobalChange)\r\n\t{\r\n\t\trefreshGlobalSet();\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::refreshGlobalSet()\r\n{\r\n\t\tm_previousSysLangItem = nullptr;\r\n\t\tslot_langListCurRowChanged(0);\r\n\r\n\t\tStyleSet::reloadGolbalStyleFromSetFile();\r\n\r\n\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\tif (pMainNote != nullptr)\r\n\t\t{\r\n\r\n\t\t\tfor (int i = 0; i <= GLOBAL_STYLES::URL_HOVERRED; ++i)\r\n\t\t\t{\r\n\t\t\t\tpMainNote->setGlobalFont(i);\r\n}\r\n\t\t}\r\n\t}\r\n\r\n//恢复所有语言的初始配置。与restoreOriginLangOneStyle类似，但是粒度更大\r\nvoid  QtLangSet::restoreOriginLangAllStyle()\r\n{\r\n\tQsciLexer *pLexer = nullptr;\r\n\r\n\t//一旦重置，当前修改无条件不保存。否则避免当前的刚刚重置，又被保存\r\n\tm_isStyleChange = false;\r\n\r\n\tfor (int index = 0; index <= L_TXT; ++index)\r\n\t{\r\n\t\tpLexer = ScintillaEditView::createLexer(index);\r\n\r\n\t\tif (pLexer == nullptr)\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\t//如果存在自定义的配置，直接全部删除掉\r\n\t\tQString cfgPath = QString(\"notepad/userstyle/%1/%2\").arg(StyleSet::getCurrentStyle()).arg(pLexer->lexerTag());\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\r\n\t\tif (QFile::exists(qs.fileName()))\r\n\t\t{\r\n\t\t\tQFile::remove(qs.fileName());\r\n\t\t}\r\n\n\t\tdelete pLexer;\r\n\t\tpLexer = nullptr;\r\n\r\n\t\t//如果是全局的，把当前内存中的全局风格也更新一下\r\n\t\tif (index == L_GLOBAL)\r\n\t\t{\r\n\t\t\tStyleSet::loadGolbalStyle();\r\n\t}\r\n}\r\n}\r\n\r\n//只在restoreOriginLangOneStyle中调用\r\nstatic void restoreLangFontFgColorToDarkStyle(QsciLexer *pLexer, int i)\r\n{\r\n\t//if (QtLangSet::s_darkColorMap.contains(pLexer->color(i).name()))\r\n\t//{\r\n\t//\tpLexer->setColor(QtLangSet::s_darkColorMap.value(pLexer->color(i).name()), i);\r\n\t//}\r\n\t}\r\n\r\n//只在restoreOriginLangOneStyle中调用\r\nstatic void restoreLangPaperColorToDarkStyle(QsciLexer *pLexer, int i)\r\n{\r\n\t//注意下面这个颜色和void StyleSet::setBlackStyle()中保持一致\r\n\t//背景也变成暗黑色\r\n\tif (StyleSet::foldbgColor != pLexer->paper(i))\r\n\t{\r\n\t\tpLexer->setPaper(StyleSet::foldbgColor, i);\r\n\t\tpLexer->setDefaultPaper(StyleSet::foldbgColor);\r\n\t}\r\n}\r\n\r\n//恢复所有语言的初始配置,只恢复GLOBAL_STYLE_SET指定的风格\r\nvoid QtLangSet::restoreOriginLangOneStyle(GLOBAL_STYLE_SET flag)\r\n{\r\n\r\n\tQFont oldfont;\r\n\tQFont curfont;\r\n\r\n\tQColor oldClor;\r\n\r\n\tfor (int index = 0; index <= L_TXT; ++index)\r\n\t{\r\n\t\tQsciLexer *pLexer = ScintillaEditView::createLexer(index);\r\n\t\tQsciLexer *pOriginLexer = ScintillaEditView::createLexer(index,\"\",true);\r\n\t\tif (nullptr != pLexer)\r\n\t\t{\n\t\t\tfor (int i = 0; i <= 255; ++i)\n\t\t\t{\n\t\t\t\tif (!pLexer->description(i).isEmpty())\n\t\t\t\t{\n\n\t\t\t\t\tswitch (flag)\r\n\t\t\t\t\t{\r\n\t\t\t\t\tcase GLOBAL_FONT:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pOriginLexer->font(i);\r\n\t\t\t\t\t\tpLexer->setFont(oldfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GLOBAL_FONT_SIZE:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pOriginLexer->font(i);\r\n\t\t\t\t\t\tcurfont = pLexer->font(i);\r\n\t\t\t\t\t\tcurfont.setPointSize(oldfont.pointSize());\r\n\t\t\t\t\t\tpLexer->setFont(curfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GLOBAL_FONT_BOLD:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pOriginLexer->font(i);\r\n\t\t\t\t\t\tcurfont = pLexer->font(i);\r\n\t\t\t\t\t\tcurfont.setBold(oldfont.bold());\r\n\t\t\t\t\t\tpLexer->setFont(curfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GLOBAL_FONT_UNDERLINE:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pOriginLexer->font(i);\r\n\t\t\t\t\t\tcurfont = pLexer->font(i);\r\n\t\t\t\t\t\tcurfont.setUnderline(oldfont.underline());\r\n\t\t\t\t\t\tpLexer->setFont(curfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GLOBAL_FONT_ITALIC:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldfont = pOriginLexer->font(i);\r\n\t\t\t\t\t\tcurfont = pLexer->font(i);\r\n\t\t\t\t\t\tcurfont.setItalic(oldfont.italic());\r\n\t\t\t\t\t\tpLexer->setFont(curfont, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GLOBAL_FG_COLOR:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldClor = pOriginLexer->color(i);\r\n\t\t\t\t\t\tpLexer->setColor(oldClor, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GLOBAL_BK_COLOR:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toldClor = pOriginLexer->paper(i);\r\n\t\t\t\t\t\tpLexer->setPaper(oldClor, i);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\r\n\r\n\t\t\tswitch (flag)\r\n\t\t\t{\r\n\t\t\tcase GLOBAL_FG_COLOR:\r\n\t\t\t\t//把默认颜色修改一下\r\n\t\t\t\toldClor = pOriginLexer->defaultColor();\r\n\t\t\t\tpLexer->setDefaultColor(oldClor);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GLOBAL_BK_COLOR:\r\n\t\t\t\t//把默认颜色修改一下\r\n\t\t\t\toldClor = pOriginLexer->defaultPaper();\r\n\t\t\t\tpLexer->setDefaultPaper(oldClor);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t}\r\n\t\t\tsaveLangeSet(pLexer);\r\n\t\t}\n\t\tdelete pLexer;\r\n\t\tdelete pOriginLexer;\r\n\t}\r\n\r\n\t//全局变化了，把当前全局界面刷新一下\r\n\t//还有，还需要把当前打开文档的全局风格设置一下，否则全局不生效\r\n\trefreshGlobalSet();\r\n}\r\n\r\n//预览全局修改字体效果。把当前所有的语法，风格字体都修改一遍\r\nvoid QtLangSet::previewAllGoblalChange()\r\n{\r\n\tQVector<QString> tags;\r\n\r\n\tgetCurUseLexerTags(tags);\r\n\r\n\tfor (int i = 0, s = tags.size(); i < s; ++i)\r\n\t{\r\n\t\temit viewLexerChange(tags.at(i));\r\n\t}\r\n\r\n\t//这里还差一步\r\n\t//这里还有问题，还需要把当前打开文档的全局风格设置一下，否则全局不生效\r\n\r\n\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\tif (pMainNote != nullptr)\r\n\t{\r\n\t\tfor (int i = 0; i <= GLOBAL_STYLES::URL_HOVERRED; ++i)\r\n\t\t{\r\n\t\t\tpMainNote->setGlobalFont(i);\r\n}\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_fontChange(const QFont &font)\r\n{\r\n\t//即时设置风格\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\t//全局修改\r\n\t\tif (m_isGlobelItem)\r\n\t  {\r\n\t\t\tif (m_curStyleData.font != font)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.font.setFamily(font.family());\r\n\t\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\t//修改所有字体\r\n\t\t\t\tif (ui.useGlobalFont->isVisible() && ui.useGbFont->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\t\tslot_useAlobalFont(true);\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t\t\t}\r\n\t\t\t\telse if (ui.useGlobalFont->isVisible() && !ui.useGbFont->isChecked())\r\n\t\t\t\t{\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\t\t\t\t}\r\n\t\t\t\telse if(!ui.useGlobalFont->isVisible())\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局样式的非第一个\r\n\t\t\t\t\tStyleSet::setGlobalFont(m_selectStyleId, m_curStyleData.font);\r\n\r\n\t\t\t\t\t//保存全局样式第一条样式本身\r\n\t\t\t\t\tsaveLangeSet(m_selectLexer);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalFont(m_selectStyleId);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n#if 0\r\n\t\t\t//统一修改字体，大小和风格保存不变\r\n\t\t\tQFont oldf = m_curStyleData.font;\r\n\t\t\tm_curStyleData.font = font;\r\n\t\t\tm_curStyleData.font.setBold(oldf.bold());\r\n\t\t\tm_curStyleData.font.setItalic(oldf.italic());\r\n\t\t\tm_curStyleData.font.setUnderline(oldf.underline());\r\n\r\n\t\t\tm_isStyleChange = true;\r\n\t\t\t//即时设置风格\r\n\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t{\r\n\t\t\t\tint row = ui.styleListWidget->count();\r\n\r\n\t\t\t\tQListWidgetItem* item = nullptr;\r\n\r\n\t\t\t\tfor (int i = 0; i < row; ++i)\r\n\t\t\t\t{\r\n\t\t\t\t\titem = ui.styleListWidget->item(i);\r\n\t\t\t\t\tint styleId = item->data(Qt::UserRole).toInt();\r\n\t\t\t\t\tQFont f = m_selectLexer->font(styleId);\r\n\r\n\t\t\t\t\t//新字体的名统一设置，但是风格字体大小保存老的一致\r\n\t\t\t\t\tQFont newFont = m_curStyleData.font;\r\n\t\t\t\t\tnewFont.setBold(f.bold());\r\n\t\t\t\t\tnewFont.setItalic(f.italic());\r\n\t\t\t\t\tnewFont.setUnderline(f.underline());\r\n\t\t\t\t\tnewFont.setPointSize(f.pointSize());\r\n\r\n\t\t\t\t\tm_selectLexer->setFont(newFont, styleId);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsaveCurLangSettings();\r\n\t\t\t\temit viewLexerChange(m_selectLexer->lexerTag());\r\n\t\t\t}\r\n#endif\r\n\t\t\tif (m_curStyleData.font != font)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.font.setFamily(font.family());\r\n\t\t\t\tm_selectLexer->setFont(m_curStyleData.font, m_selectStyleId);\r\n\t\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, true);\r\n\t\t\t\t\r\n\t\t}\r\n\t}\r\n}\r\n}\r\n\r\nvoid QtLangSet::initLangList()\r\n{\r\n\r\n\tfor (int i = 0; i <= L_TXT; ++i)\r\n\t{\r\n\t\tQsciLexer *pLexer = ScintillaEditView::createLexer(i);\r\n\t\tif (nullptr != pLexer)\r\n\t\t{\r\n\t\t\tQString langName = pLexer->lexerTag();\r\n\t\t\tQListWidgetItem *item = new QListWidgetItem(langName);\r\n\t\t\titem->setData(Qt::UserRole,i);\r\n\t\t\tui.langListWidget->addItem(item);\r\n\t\t\tdelete pLexer;\r\n\t\t}\r\n\t}\r\n\r\n\t//怀疑这个是队列链接的，会延迟执行。故总是导致选择的选不中，而是第一个语言asp。\r\n\tui.langListWidget->sortItems(Qt::AscendingOrder);\r\n\r\n\t//手动修改第一个名称为中文。\r\n\tif (ui.langListWidget->item(0)->text() == QString(\"AllGlobal\"))\r\n\t{\r\n\t\tui.langListWidget->item(0)->setText(tr(\"AllGlobal\"));\r\n}\r\n}\r\n\r\n//isLoadToUI是否加载显示到当前UI界面\r\nbool QtLangSet::readLangSetFile(QString langName,QString &keyword, QString &motherLang, QString & extTypes)\r\n{\r\n\tQString userLangFile = QString(\"notepad/userlang/%1\").arg(langName);//自定义语言中不能有.字符，否则可能有错，后续要检查\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\t//qDebug() << qs.fileName();\r\n\r\n\tif (!qs.contains(\"mz\"))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\t//自定义语言格式。\r\n\t//mz:ndd\r\n\t//name:xxx\r\n\t//mother:xxx none/cpp/html 就三种\r\n\t//ext:xx xx xx 文件关联后缀名\r\n\t//keword:xxx\r\n\tkeyword = qs.value(\"keyword\").toString();\r\n\textTypes = qs.value(\"ext\").toString();\r\n\tmotherLang = qs.value(\"mother\").toString();\r\n\r\n\treturn true;\r\n}\r\n\r\n//初始化用户自定义的语言配置\r\nvoid QtLangSet::initUserDefineLangList()\r\n{\r\n\tQString userLangDirPath = getUserLangDirPath();\r\n\r\n\t//遍历文件夹\r\n\tQDir dir_file(userLangDirPath);\r\n\tQFileInfoList list_file = dir_file.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks, QDir::Name);\r\n\r\n\tfor (int i = 0; i < list_file.size(); ++i)\r\n\t{  //将当前目录中所有文件添加到treewidget中\r\n\t\tQFileInfo fileInfo = list_file.at(i);\r\n\r\n\t\t//这个文件是ext和tag的映射文件，不做配置解析\r\n\t\tif (fileInfo.baseName() == \"ext_tag\")\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tui.userLangListWidget->addItem(fileInfo.baseName());\r\n\t}\r\n\tui.userLangListWidget->sortItems(Qt::AscendingOrder);\r\n}\r\n\r\n\r\n//切换当前语言。\r\n//QListWidget::currentItemChanged这个信号qt5.12.10中应该是存在bug,总是莫名其妙的要发一次currentItemChanged信号出来。导致第一次该选的项被覆盖。\r\n//换成itemClicked信号\r\nvoid QtLangSet::slot_itemSelect(QListWidgetItem *item)\r\n{\r\n\tif (item == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\t//qDebug() << item->text() << (previous ? previous->text() : 0);\r\n\r\n\t//如果前后主题发生了变化，则依旧要走更新，防止主题切换后没及时更新\r\n\tif (m_previousSysLangItem == item && (m_lastThemesId == m_themesId))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tui.curThemes->setText(tr(\"Current themes : %1, language : %2\").arg(StyleSet::getCurrentStyle()).arg(item->text()));\r\n\r\n\r\n\tui.langListWidget->scrollToItem(item);\r\n\r\n\tui.userLangListWidget->setCurrentItem(nullptr);\r\n\r\n\t//保存前一个已经修改的。询问用户是否保存\r\n\tif (m_isStyleChange && m_previousSysLangItem != nullptr && m_selectLexer !=nullptr)\r\n\t{\r\n\t\t//只有当前是非全局，才需要提示用户是否要保持。\r\n\t\t//全局的不需要提示，因为已经无条件全部保存过了。\r\n\t\tif (!m_isGlobelItem)\r\n\t\t{\r\n\t\t\tif (QMessageBox::Yes == QMessageBox::question(this, tr(\"Save Change\"), tr(\"%1 style configuration has been modified. Do you want to save it?\").arg(m_previousSysLangItem->text())))\r\n\t\t\t{\r\n\t\t\t\tsaveCurLangSettings();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (!item->isSelected())\r\n\t{\r\n\t\titem->setSelected(true);\r\n\t}\r\n\r\n\tui.styleListWidget->clear();\r\n\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\tdelete m_selectLexer;\r\n\t\tm_selectLexer = nullptr;\r\n\t}\r\n\r\n\tint lexId = item->data(Qt::UserRole).toInt();\r\n\r\n\t//全局的这个要单独对待，暂时没有任何风格。\r\n\tif (lexId == L_GLOBAL)\r\n\t{\r\n\t\tm_isGlobelItem = true;\r\n\t\tui.stackedWidget->setCurrentIndex(1);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tm_isGlobelItem = false;\r\n\t\tui.stackedWidget->setCurrentIndex(0);\r\n\r\n\t\t}\r\n\r\n\tQsciLexer *pLexer = ScintillaEditView::createLexer(lexId);\r\n\tif (nullptr != pLexer)\r\n\t{\r\n\t\tm_selectLexer = pLexer;\r\n\r\n\t\tQString keyword(m_selectLexer->keywords(1));\r\n\r\n\t\tui.keywordTe->setPlainText(keyword);\r\n\t\tui.motherLangCb->setCurrentIndex(0);\r\n\r\n\t\t//设置关联文件项\r\n\t\tQString langName = item->text();\r\n\t\tQStringList extList;\r\n\t\tExtLexerManager::getInstance()->getExtlistByLangTag(langName, extList);\r\n\t\tui.extFileType->setText(extList.join(','));\r\n\r\n\t\tfor (int i = 0; i <= 255; ++i)\n\t\t{\n\t\t\tQString desc = pLexer->description(i);\n\t\t\tif (!desc.isEmpty())\n\t\t\t{\n\t\t\t\tQListWidgetItem *itemtemp = new QListWidgetItem(desc);\r\n\t\t\t\titemtemp->setData(Qt::UserRole, i);\n\t\t\t\tui.styleListWidget->addItem(itemtemp);\n\t\t\t}\n\t\t}\r\n\t}\r\n\r\n\tm_previousSysLangItem = item;\r\n\r\n\t//自动显示第一条的结果\r\n\tQListWidgetItem *itemtemp = ui.styleListWidget->item(0);\r\n\tif (itemtemp != nullptr)\r\n\t{\r\n\t\titemtemp->setSelected(true);\r\n\t\tslot_styleItemSelect(itemtemp);\r\n\t}\r\n\r\n\tm_isStyleChange = false;\r\n\r\n\t//ui.extFileType->clear();\r\n\tui.motherLangCb->setCurrentIndex(0);\r\n}\r\n\r\nvoid QtLangSet::slot_langListCurRowChanged(int row)\r\n{\r\n\tQListWidgetItem* current = ui.langListWidget->item(row);\r\n\tslot_itemSelect(current);\r\n}\r\n\r\n//根据母亲模块语言，把属性风格显示出来\r\nvoid QtLangSet::displayUserMotherLangsStyle(QString langTagName, UserLangMother motherLang)\r\n{\r\n\tQsciLexer *pLexer = nullptr;\r\n\t\r\n\tui.styleListWidget->clear();\r\n\r\n\tswitch (motherLang)\r\n\t{\r\n\tcase MOTHER_NONE:\r\n\t\tpLexer = ScintillaEditView::createLexer(L_USER_TXT, langTagName);\r\n\t\tbreak;\r\n\tcase MOTHER_CPP:\r\n\t\tpLexer = ScintillaEditView::createLexer(L_USER_CPP, langTagName);\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tpLexer = ScintillaEditView::createLexer(L_USER_TXT, langTagName);\r\n\t\tbreak;\r\n\t}\r\n\r\n\tif (nullptr != pLexer)\r\n\t{\r\n\t\t//这里一定要以新语言的名称作为lexer的tag。\r\n\t\t//pLexer->setLexerTag(langTagName);\r\n\t\tpLexer->setIsUserDefineKeywords(true);\r\n\r\n\t\tif (m_selectLexer != nullptr)\r\n\t\t{\r\n\t\t\tdelete m_selectLexer;\r\n\t\t}\r\n\r\n\t\tm_selectLexer = pLexer;\r\n\r\n\t\tfor (int i = 0; i <= 255; ++i)\r\n\t\t{\r\n\t\t\tQString desc = pLexer->description(i);\r\n\t\t\tif (!desc.isEmpty())\r\n\t\t\t{\r\n\t\t\t\tQListWidgetItem *itemtemp = new QListWidgetItem(desc);\r\n\t\t\t\titemtemp->setData(Qt::UserRole, i);\r\n\t\t\t\tui.styleListWidget->addItem(itemtemp);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//自动显示第一条的结果\r\n\tQListWidgetItem *itemtemp = ui.styleListWidget->item(0);\r\n\tif (itemtemp != nullptr)\r\n\t{\r\n\t\titemtemp->setSelected(true);\r\n\t\tslot_styleItemSelect(itemtemp);\r\n\t}\r\n\r\n\tm_isStyleChange = false;\r\n\r\n}\r\n\r\n\r\n//点击当前用户自定义语言的语言item。todo:暂时没有做前一个的修改保存，需要用户每次修改后自己点击save，否则可能不会保存\r\nvoid QtLangSet::slot_userLangItemSelect(QListWidgetItem *item)\r\n{\r\n\tif (item == nullptr)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\t//肯定不能是全局设置了\r\n\tif(m_isGlobelItem || (ui.stackedWidget->currentIndex() == 1))\r\n\t{\r\n\t\tm_isGlobelItem = false;\r\n\t\tui.stackedWidget->setCurrentIndex(0);\r\n\r\n\t\t/*if (!ui.modiryAllColor->isEnabled())\r\n\t\t{\r\n\t\t\tui.modiryAllColor->setEnabled(true);\r\n\t\t}\r\n\t\tif (!ui.modifyAllFont->isEnabled())\r\n\t\t{\r\n\t\t\tui.modifyAllFont->setEnabled(true);\r\n\t\t}*/\r\n\t\t}\r\n\r\n\r\n\tm_previousSysLangItem = nullptr;\r\n\tui.langListWidget->setCurrentItem(nullptr);\r\n\r\n\tQString langName = item->text();\r\n\r\n\tQString keyword;\r\n\tQString motherLang;\r\n\tQString extTypes;\r\n\r\n\tif (readLangSetFile(langName, keyword, motherLang, extTypes))\r\n\t{\r\n\t\tui.keywordTe->setPlainText(keyword);\r\n\t\tui.motherLangCb->setCurrentText(motherLang);\r\n\t\tui.extFileType->setText(extTypes);\r\n\r\n\t\t//根据母亲模块语言，把属性风格显示出来\r\n\t\tdisplayUserMotherLangsStyle(langName, (UserLangMother)(LangType::L_USER_TXT + ui.motherLangCb->currentIndex()));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.statusBar->showMessage(tr(\"Read %1 language user define  format error.\").arg(langName), 10000);\r\n\t}\r\n}\r\n\r\n\r\n//获取当前ui上的字体\r\nvoid QtLangSet::getCurUiFont(QFont& font)\r\n{\r\n\tfont = ui.fontComboBox->currentFont();\r\n\tfont.setBold(ui.boldCheckBox->isChecked());\r\n\tfont.setItalic(ui.italicCheckBox->isChecked());\r\n\tfont.setUnderline(ui.underlineCheckBox->isChecked());\r\n\tfont.setPointSize(ui.fontSpinBox->value());\r\n}\r\n\r\nvoid QtLangSet::closeEvent(QCloseEvent * e)\r\n{\r\n\tsaveCurLangSettings();\r\n}\r\n\r\n//把item的对应风格显示在界面上\r\nvoid QtLangSet::syncShowStyleItemToUI(QListWidgetItem *item)\r\n{\r\n\tif (item != nullptr && m_selectLexer != nullptr)\r\n\t{\r\n\t\tint styleId = item->data(Qt::UserRole).toInt();\r\n\r\n\t\tif (m_selectStyleId == styleId && (m_lastThemesId == m_themesId))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!item->isSelected())\r\n\t\t{\r\n\t\t\titem->setSelected(true);\r\n\t\t}\r\n\r\n\t\tif (!ui.label_fc->isEnabled())\r\n\t\t{\r\n\t\t\tui.label_fc->setEnabled(true);\r\n\t\t\tui.toolButton->setEnabled(true);\r\n\t\t}\r\n\t\tif (!ui.label_bc->isEnabled())\r\n\t\t{\r\n\t\t\tui.label_bc->setEnabled(true);\r\n\t\t\tui.toolButton1->setEnabled(true);\r\n\t\t}\r\n\t\tif (!ui.fontComboBox->isEnabled())\r\n\t\t{\r\n\t\t\tui.fontComboBox->setEnabled(true);\r\n\t\t\tui.boldCheckBox->setEnabled(true);\r\n\t\t\tui.italicCheckBox->setEnabled(true);\r\n\t\t\tui.underlineCheckBox->setEnabled(true);\r\n\t\t}\r\n\t\tif (!ui.fontSpinBox->isEnabled())\r\n\t\t{\r\n\t\t\tui.fontSpinBox->setEnabled(true);\r\n\t\t}\r\n\t\t\r\n\t\tm_selectStyleId = styleId;\r\n\t\tQsciLexer::StyleData & sd = m_selectLexer->styleData(styleId);\r\n\t\tm_curStyleData = sd;\r\n\t\tsetStyleShow(sd.font, sd.color, sd.paper);\r\n\r\n\t\t//这里不能直接设置为非修改，如果之前已经修改过，则还是要认定为修改。\r\n\t\t//m_isStyleChange = false;\r\n\r\n\t\t//如果是全局，则把不能修改的全局样式灰掉，避免干扰用户的选择\r\n\t\tif (m_isGlobelItem)\r\n\t\t{\r\n\t\t\tQsciLexerGlobal* pGlobalLexer = dynamic_cast<QsciLexerGlobal*>(m_selectLexer);\r\n\t\t\tif (pGlobalLexer != nullptr)\r\n\t\t\t{\r\n\r\n\t\t\t\tint enableMask = pGlobalLexer->changeOperBit(styleId);\r\n\r\n\t\t\t\tif (!(enableMask & FG_BIT))\r\n\t\t\t\t{\r\n\t\t\t\t\tui.label_fc->setEnabled(false);\r\n\t\t\t\t\tui.toolButton->setEnabled(false);\r\n\t}\r\n\t\t\t\tif (!(enableMask & BG_BIT))\r\n\t\t\t\t{\r\n\t\t\t\t\tui.label_bc->setEnabled(false);\r\n\t\t\t\t\tui.toolButton1->setEnabled(false);\r\n}\r\n\t\t\t\tif (!(enableMask & FONT_BIT))\r\n\t\t\t\t{\r\n\t\t\t\t\tui.fontComboBox->setEnabled(false);\r\n\t\t\t\t\tui.boldCheckBox->setEnabled(false);\r\n\t\t\t\t\tui.italicCheckBox->setEnabled(false);\r\n\t\t\t\t\tui.underlineCheckBox->setEnabled(false);\r\n\t\t\t\t}\r\n\t\t\t\tif (!(enableMask & SIZE_BIT))\r\n\t\t\t\t{\r\n\t\t\t\t\tui.fontSpinBox->setEnabled(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n}\r\n//点击当前的风格item\r\nvoid QtLangSet::slot_styleItemSelect(QListWidgetItem *current)\r\n{\r\n    //qDebug() << \"slot_styleItemSelect\";\r\n\r\n\tsyncShowStyleItemToUI(current);\r\n\r\n\tif (m_isGlobelItem && ui.styleListWidget->item(0) == current)\r\n\t{\r\n\t\tui.useGlobalColor->setVisible(true); \r\n\t\tui.useGlobalFont->setVisible(true);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tif (ui.useGlobalColor->isVisible())\r\n\t\t{\r\n\t\t\tui.useGlobalColor->setVisible(false);\r\n}\r\n\t\tif (ui.useGlobalFont->isVisible())\r\n\t\t{\r\n\t\t\tui.useGlobalFont->setVisible(false);\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n//使用键盘上下切换\r\nvoid QtLangSet::slot_styleListCurRowChanged(int row)\r\n{\r\n    //qDebug() << \"slot_curRowChanged\";\r\n\tQListWidgetItem* current = ui.styleListWidget->item(row);\r\n\tslot_styleItemSelect(current);\r\n}\r\n\r\nvoid QtLangSet::fillForegroundColor(QColor& fcColor)\r\n{\r\n\tQPixmap f(32, 32);\r\n\tf.fill(fcColor);\r\n\tui.label_fc->setPixmap(f);\r\n}\r\n\r\nvoid QtLangSet::fillBackgroundColor(QColor &bkColor)\r\n{\r\n\r\n\tQPixmap b(32, 32);\r\n\tb.fill(bkColor);\r\n\tui.label_bc->setPixmap(b);\r\n}\r\n\r\nvoid QtLangSet::setStyleShow(QFont& font, QColor& fcColor, QColor &bkColor)\r\n{\r\n\t//修改字体会触发槽函数执行，务必先关闭一下信号\r\n\tenableFontChangeSensitive(false);\r\n\r\n\tui.fontComboBox->setCurrentFont(font);\r\n\tui.fontSpinBox->setValue(font.pointSize());\r\n\r\n\tui.boldCheckBox->setChecked(font.bold());\r\n\tui.italicCheckBox->setChecked(font.italic());\r\n\tui.underlineCheckBox->setChecked(font.underline());\r\n\r\n\tfillForegroundColor(fcColor);\r\n\tfillBackgroundColor(bkColor);\r\n\r\n\tenableFontChangeSensitive(true);\r\n\t\r\n}\r\n\r\n//读取特定语言的设置；StyleId-1则读取当前主题，否则指定的StyleId主题\r\nbool QtLangSet::readLangSettings(QsciLexer *lexer, QString tag, int StyleId)\r\n{\r\n\tQString cfgPath = QString(\"notepad/userstyle/%1/%2\").arg((StyleId == -1) ? StyleSet::getCurrentStyle() : StyleSet::getStyleName(StyleId)).arg(tag);\r\n\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\tif (QFile::exists(qs.fileName()))\r\n\t{\r\n\t\treturn lexer->readSettings(qs);\r\n\t}\r\n\telse//这里应该加个逻辑完备的保护。如果没有读取到用户配置，则应该从标准目标去读原始配置\r\n\t{\r\n\t\treturn readLangOriginSettings(lexer, tag, StyleId, true);\r\n\t}\r\n\t\r\n\treturn false;\r\n}\r\n\r\n//读取特定语言的原始样式设置；StyleId-1则读取当前主题，否则指定的StyleId主题\r\n//force:无条件读取\r\nbool QtLangSet::readLangOriginSettings(QsciLexer* lexer, QString tag, int StyleId, bool force)\r\n{\r\n\t//默认主题不需要读取，内存中已经存在\r\n\tif (StyleId == 0 && !force)\r\n\t{\r\n\t\treturn true;\r\n\t}\r\n\r\n\t//默认皮肤路径放在软件的同级目录下面的themes目录\r\n\tQString cfgPath = QString(\"%1/themes/%2/%3.ini\").arg(QCoreApplication::applicationDirPath()).arg((StyleId == -1)?StyleSet::getCurrentStyle(): StyleSet::getStyleName(StyleId)).arg(tag);\r\n\tQSettings qs(cfgPath, QSettings::IniFormat);\r\n\tif (QFile::exists(qs.fileName()))\r\n\t{\r\n\t\treturn lexer->readSettings(qs);\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n\r\n//保存一种语言的配置。\r\nvoid QtLangSet::saveLangeSet(QsciLexer *lexer, int StyleId)\r\n{\r\n\tif (lexer != nullptr)\r\n\t{\r\n\t\tQString tag = lexer->lexerTag();\r\n\r\n\t\tQString cfgPath =  QString(\"notepad/userstyle/%1/%2\").arg(((StyleId == -1) ? StyleSet::getCurrentStyle() : StyleSet::getStyleName(StyleId))).arg(tag);\r\n\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\t\tlexer->writeSettings(qs);\r\n\t\tqs.sync();\r\n\t}\r\n}\r\n\r\n//保存当前选定语言的配置\r\nbool QtLangSet::saveCurLangSettings()\r\n{\r\n\tif (m_isStyleChange && m_selectLexer != nullptr)\r\n\t{\r\n\t\tsaveLangeSet(m_selectLexer);\r\n\t\tm_isStyleChange = false;\r\n\t\tui.statusBar->showMessage(tr(\"Save Finished !\"),10000);\r\n\t\treturn true;\r\n\t}\r\n\tui.statusBar->showMessage(tr(\"Not change, no need save !\"),10000);\r\n\treturn false;\r\n}\r\n\r\nbool QtLangSet::isUseGlobalFgColor()\r\n{\r\n\treturn ui.useGlobalColor->isVisible() && ui.useGbFc->isChecked();\r\n}\r\n\r\nbool QtLangSet::isUseGlobalBgColor()\r\n{\r\n\treturn ui.useGlobalColor->isVisible() && ui.useGbBc->isChecked();\r\n}\r\n\r\n//修改前景色\r\nvoid QtLangSet::slot_changeFgColor()\r\n{\r\n\tQColor color = QColorDialog::getColor(m_curStyleData.color, this, tr(\"Style Foreground Color\"));\r\n\tif (color.isValid())\r\n\t{\r\n\t\t//全局修改\r\n\t\tif (m_isGlobelItem)\r\n\t\t{\r\n\t\t\tif (m_curStyleData.color != color)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.color = color;\r\n\t\t\t\tfillForegroundColor(color);\r\n\t\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\t//即时设置风格\r\n\t\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\t//此时一定是QsciLexerGlobal\r\n\t\t\t\t\tm_selectLexer->setColor(color, m_selectStyleId);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//只有在第一个全局样式时，isUseGlobalFgColor下面才为true。把所有语言的所有风格都设置\r\n\t\t\t\tif (isUseGlobalFgColor())\r\n\t\t\t\t{\r\n\t\t\t\t\tslot_useAlobalFgColor(true);\r\n\t\t\t\t}\r\n\t\t\t\telse if(!ui.useGlobalColor->isVisible())\r\n\t\t\t\t{\r\n\t\t\t\t\t//全局样式的非第一个\r\n\t\t\t\t\tStyleSet::setGlobalFgColor(m_selectStyleId, color);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalFgColor(m_selectStyleId);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//当前前景色是否变化\r\n\t\t\tif (m_curStyleData.color != color)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.color = color;\r\n\t\t\t\tfillForegroundColor(color);\r\n\t\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\t//即时设置风格\r\n\t\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tm_selectLexer->setColor(color, m_selectStyleId);\r\n\r\n\t\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, color, m_curStyleData.paper, m_curStyleData.font, false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/*else if (!ui.modiryAllColor->isChecked())\r\n\t\t{\r\n\t\t\t当前前景色是否变化\r\n\t\t\tif (m_curStyleData.color != color)\r\n\t\t\t{\r\n\t\t\tm_curStyleData.color = color;\r\n\t\t\tfillForegroundColor(color);\r\n\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\t即时设置风格\r\n\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t{\r\n\t\t\t\t\tm_selectLexer->setColor(color, m_selectStyleId);\r\n\r\n\t\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, color, m_curStyleData.paper, m_curStyleData.font, false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}*/\r\n\t\t/*else\r\n\t\t\t\t{\r\n\t\t\t全部风格颜色修改\r\n\t\t\t当前前景色是否变化\r\n\t\t\tm_curStyleData.color = color;\r\n\t\t\tfillForegroundColor(color);\r\n\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t即时设置风格\r\n\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t{\r\n\t\t\t\t\tm_selectLexer->setColor(color, -1);\r\n\t\t\t\tsaveCurLangSettings();\r\n\t\t\t\temit viewLexerChange(m_selectLexer->lexerTag());\r\n\t\t\t}\r\n\t\t\t*/\r\n\t//\t}\r\n\t\t}\r\n\t\r\n}\r\n\r\n//修改背景色\r\nvoid QtLangSet::slot_changeBkColor()\r\n{\r\n\tQColor color = QColorDialog::getColor(m_curStyleData.paper, this, tr(\"Style Background Color\"));\r\n\tif (color.isValid())\r\n\t{\r\n\t\t//全局修改，把所有语言的所有风格都设置\r\n\t\tif (m_isGlobelItem)\r\n\t\t{\r\n\t\t\tif (m_curStyleData.paper != color)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.paper = color;\r\n\t\t\t\tfillBackgroundColor(color);\r\n\t\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\t//即时设置风格\r\n\t\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tm_selectLexer->setPaper(color, m_selectStyleId);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isUseGlobalBgColor())\r\n\t\t\t\t{\r\n\t\t\t\t\tslot_useAlobalBkColor(true);\r\n\t\t\t\t}\r\n\t\t\t\telse if (!ui.useGlobalColor->isVisible())\r\n\t\t{\r\n\t\t\t\t\tStyleSet::setGlobalBgColor(m_selectStyleId, color);\r\n\r\n\t\t\t\t\t//这里就是全局的样式。通知当前所有的编辑框，去修改他们本身的全局样式\r\n\t\t\t\t\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\t\t\t\t\tif (pMainNote != nullptr)\r\n\t\t{\r\n\t\t\t\t\t\tpMainNote->setGlobalBgColor(m_selectStyleId);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//当前背景色是否变化\r\n\t\t\tif (m_curStyleData.paper != color)\r\n\t\t\t{\r\n\t\t\t\tm_curStyleData.paper = color;\r\n\t\t\t\tfillBackgroundColor(color);\r\n\t\t\t\tm_isStyleChange = true;\r\n\r\n\t\t\t\t//即时设置风格\r\n\t\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tm_selectLexer->setPaper(color, m_selectStyleId);\r\n\r\n\t\t\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, m_curStyleData.color, m_curStyleData.paper, m_curStyleData.font, false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t//\telse if (!ui.modiryAllColor->isChecked())\r\n\t//\t{\r\n\t//\t//当前前景色是否变化\r\n\t//\tif (m_curStyleData.paper != color)\r\n\t//\t{\r\n\t//\t\tm_curStyleData.paper = color;\r\n\t//\t\tfillBackgroundColor(color);\r\n\t//\t\tm_isStyleChange = true;\r\n\r\n\t//\t\t//即时设置风格\r\n\t//\t\tif (m_selectLexer != nullptr)\r\n\t//\t\t{\r\n\t//\t\t\tm_selectLexer->setPaper(color, m_selectStyleId);\r\n\t//\t\t\temit viewStyleChange(m_selectLexer->lexerTag(), m_selectStyleId, color, m_curStyleData.paper, m_curStyleData.font, false);\r\n\t//\t\t}\r\n\t//\t}\r\n\t//}\r\n\t\t\t\t\r\n}\r\n\t\t}\r\n\r\nvoid QtLangSet::slot_saveClick()\r\n{\r\n\tsaveCurLangSettings();\r\n}\r\n\r\n//恢复初始化设置\r\nvoid QtLangSet::slot_reset()\r\n{\r\n\tif (m_selectLexer != nullptr)\r\n\t{\r\n\t\tif (!m_isGlobelItem)\r\n\t\t{\r\n\t\t\tif (QMessageBox::Yes != QMessageBox::question(this, tr(\"Reset Style\"), tr(\"Are you sure to reset language %1 sytle\").arg(m_selectLexer->lexerTag())))\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t//一旦重置，当前修改无条件不保存。否则避免当前的刚刚重置，又被保存\r\n\t\t\tm_isStyleChange = false;\r\n\r\n\t\t\t//如果存在自定义的配置，也删除掉\r\n\t\t\tQString cfgPath = QString(\"notepad/userstyle/%1/%2\").arg(StyleSet::getCurrentStyle()).arg(m_selectLexer->lexerTag());\r\n\r\n\t\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\t\t\tif (QFile::exists(qs.fileName()))\r\n\t\t\t{\r\n\t\t\t\tQFile::remove(qs.fileName());\r\n\t\t\t}\r\n\r\n\t\t\t//一定要先保存，因为selectInitLangTag后可能会变化\r\n\t\t\tint row = ui.styleListWidget->currentRow();\r\n\r\n\t\t\t//强行让slot_itemSelect里面的进行切换\r\n\t\t\tm_previousSysLangItem = nullptr;\r\n\r\n\t\t\tselectInitLangTag(m_selectLexer->lexerTag());\r\n\r\n\t\t\t//手动刷新UI\r\n\t\t\tQListWidgetItem* styleItem = ui.styleListWidget->item(row);\r\n\r\n\t\t\tm_selectStyleId = -1;\r\n\r\n\t\t\tsyncShowStyleItemToUI(styleItem);\r\n\r\n\t\t\temit viewLexerChange(m_selectLexer->lexerTag());\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif (ui.useGlobalFont->isVisible())\r\n\t\t\t{\r\n\t\t\t//如果是全局重置，则把所有语言都重置\r\n\t\t\tif (QMessageBox::Yes != QMessageBox::question(this, tr(\"Reset All Style\"), tr(\"Are you sure to reset All language sytle\")))\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\trestoreOriginLangAllStyle();\r\n\r\n\t\t\tpreviewAllGoblalChange();\r\n\r\n\t\t\t//手动刷新UI。全局目前只有一行全局设置\r\n\r\n\t\t\tif (m_selectLexer != nullptr)\r\n\t\t\t{\r\n\t\t\t\tdelete m_selectLexer;\r\n\t\t\t}\r\n\r\n\t\t\t\tm_selectLexer = ScintillaEditView::createLexer(L_GLOBAL);\r\n\r\n\t\t\tQListWidgetItem* styleItem = ui.styleListWidget->item(0);\r\n\r\n\t\t\t\tm_selectStyleId = -1;\r\n\r\n\t\t\tsyncShowStyleItemToUI(styleItem);\r\n\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//重置所有全局样式\r\n\t\t\t\t//一旦重置，当前修改无条件不保存。否则避免当前的刚刚重置，又被保存\r\n\t\t\t\tm_isStyleChange = false;\r\n\r\n\t\t\t\t//如果存在自定义的配置，也删除掉\r\n\t\t\t\tQString cfgPath = QString(\"notepad/userstyle/%1/%2\").arg(StyleSet::getCurrentStyle()).arg(m_selectLexer->lexerTag());\r\n\r\n\t\t\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\t\t\t\tif (QFile::exists(qs.fileName()))\r\n\t\t\t\t{\r\n\t\t\t\t\tQFile::remove(qs.fileName());\r\n\t}\r\n\r\n\t\t\t\t//一定要先保存，因为selectInitLangTag后可能会变化\r\n\r\n\t\t\t\tint row = ui.styleListWidget->currentRow();\r\n\r\n\t\t\t\t//强行让slot_itemSelect里面的进行切换\r\n\t\t\t\tm_previousSysLangItem = nullptr;\r\n\r\n\t\t\t\t//这里必须写ALLglobal，否则中文查找不到\r\n\t\t\t\tselectInitLangTag(tr(\"AllGlobal\"));\r\n\r\n\t\t\t\t//手动刷新UI\r\n\t\t\t\tQListWidgetItem* styleItem = ui.styleListWidget->item(row);\r\n\r\n\t\t\t\tm_selectStyleId = -1;\r\n\r\n\t\t\t\tsyncShowStyleItemToUI(styleItem);\r\n\r\n\t\t\t\t//重新从加载一次纯净的全局样式。因为前面保存的已经删了，所以加载的是纯净的。\r\n\t\t\t\tStyleSet::loadGolbalStyle();\r\n\r\n\t\t\t\tupdateThemes();\r\n}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid QtLangSet::slot_useAlobalFgColor(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_FG_COLOR);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_FG_COLOR);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\r\n}\r\n\r\nvoid QtLangSet::slot_useAlobalBkColor(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_BK_COLOR);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_BK_COLOR);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_useAlobalFont(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_FONT);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_FONT);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_useAlobalFontSize(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_FONT_SIZE);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_FONT_SIZE);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_useAlobalFontBold(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_FONT_BOLD);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_FONT_BOLD);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_useAlobalFontUnderline(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_FONT_UNDERLINE);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_FONT_UNDERLINE);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n}\r\n\r\nvoid QtLangSet::slot_useAlobalFontItalic(bool check)\r\n{\r\n\tif (check)\r\n\t{\r\n\t\tupdateAllLangeStyleWithGlobal(GLOBAL_FONT_ITALIC);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n\telse\r\n\t{\r\n\t\trestoreOriginLangOneStyle(GLOBAL_FONT_ITALIC);\r\n\t\tpreviewAllGoblalChange();\r\n\t}\r\n}\r\n\r\n\r\n\r\n//把默认语言风格的部分颜色，替换为暗色下显眼的颜色\r\n//这个函数是可以处理自定义语言的。\r\n//void QtLangSet::setLangFontFgColorToDarkStyle(LangType langId, QString tag)\r\n//{\r\n//\tQColor blackColor(Qt::black);\r\n//\tQColor lightColor(0xdedede);\r\n//\r\n//\tQColor blackColor1(0x0000ff);\r\n//\tQColor lightColor1(0xffaa00);\r\n//\r\n//\r\n//\t//C++注释的默认颜色，不显眼\r\n//\tQColor blackColor2(0x007f00);\r\n//\tQColor lightColor2(0x009000);\r\n//\r\n//\tQColor blackColor3(0x7f7f00);\r\n//\tQColor lightColor3(0xfca287);\r\n//\r\n//\r\n//\tQColor blackColor4(0x8000ff);\r\n//\tQColor lightColor4(0xffaa00);\r\n//\r\n//\t注意下面这个颜色和void StyleSet::setBlackStyle()中保持一致\r\n//\tQColor bkPaperColor(0, 0, 0);\r\n//\r\n//\tQsciLexer *pLexer = ScintillaEditView::createLexer(langId, tag);\r\n//\t\tif (nullptr != pLexer)\r\n//\t\t{\r\n//\t\t\tfor (int i = 0; i <= 255; ++i)\r\n//\t\t\t{\r\n//\t\t\t\tif (!pLexer->description(i).isEmpty())\r\n//\t\t\t\t{\r\n//\t\t\t\t/*if (blackColor == pLexer->color(i))\r\n//\t\t\t\t\t{\r\n//\t\t\t\t\tpLexer->setColor(lightColor, i);\r\n//\t\t\t\t\t}\r\n//\t\t\t\t\telse if (blackColor1 == pLexer->color(i))\r\n//\t\t\t\t\t{\r\n//\t\t\t\t\t\tpLexer->setColor(lightColor1, i);\r\n//\t\t\t\t\t}\r\n//\t\t\t\telse if (blackColor2 == pLexer->color(i))\r\n//\t\t\t\t{\r\n//\t\t\t\t\tpLexer->setColor(lightColor2, i);\r\n//\t\t\t\t}\r\n//\t\t\t\telse if (blackColor3 == pLexer->color(i))\r\n//\t\t\t\t{\r\n//\t\t\t\t\tpLexer->setColor(lightColor3, i);\r\n//\t\t\t\t}\r\n//\t\t\t\telse if (blackColor4 == pLexer->color(i))\r\n//\t\t\t\t{\r\n//\t\t\t\t\tpLexer->setColor(lightColor4, i);\r\n//\t\t\t\t}*/\r\n//\r\n//\t\t\t\tif (QtLangSet::s_darkColorMap.contains(pLexer->color(i).name()))\r\n//\t\t\t\t{\r\n//\t\t\t\t\tpLexer->setColor(QtLangSet::s_darkColorMap.value(pLexer->color(i).name()), i);\r\n//\t\t\t\t}\r\n//\r\n//\t\t\t\t背景也变成暗黑色\r\n//\t\t\t\tif (StyleSet::foldbgColor != pLexer->paper(i))\r\n//\t\t\t\t{\r\n//\t\t\t\t\tpLexer->setPaper(StyleSet::foldbgColor, i);\r\n//\t\t\t\t}\r\n//\t\t\t}\r\n//\t\t}\r\n//\t\t默认纸背景色会和QPalette保持一致。但是因为黑色特色，其背景和QPalette不一样，所有需要单独设置一下\r\n//\t\tpLexer->setDefaultPaper(StyleSet::foldbgColor);\r\n//\t\t\tsaveLangeSet(pLexer);\r\n//\t\t\tdelete pLexer;\r\n//\t\t}\r\n//\t}\r\n\r\n//把暗色系下面不容易看清的颜色给替换一下。默认是有风格的，但是默认风格是亮色系的。\r\n//把凡是0x000000的字体，变成0xdedede\r\n//凡是0x0000ff的颜色，变成0xffff00\r\n//这个函数没有处理自定义语言。\r\n//void QtLangSet::setAllLangFontFgColorToDarkStyle()\r\n//{\r\n//\tinitDarkColorMap();\r\n//\r\n//\tfor (int index = 0; index <= L_TXT; ++index)\r\n//\t{\r\n//\t\tsetLangFontFgColorToDarkStyle((LangType)index);\r\n//\t}\r\n//}\r\n\r\n\r\n//从默认主题模板创建一份用户的语言风格文件\r\nvoid QtLangSet::createOneLangStyleFromThemes(int styleId, LangType langId, QString tag)\r\n{\r\n\tif (langId == L_GLOBAL)\r\n\t{\r\n\t\tqDebug(\"global call\");\r\n\t}\r\n\t//指定从原始模板的主题中读取一份数据\r\n\tQsciLexer* pLexer = ScintillaEditView::createLexer(langId, tag, true, styleId);\r\n\tif (nullptr != pLexer)\r\n\t{\r\n\t\tsaveLangeSet(pLexer, styleId);\r\n\t\tdelete pLexer;\r\n\t}\r\n}\r\n\r\n//从原始主题模板中，创建一份用户主题文件\r\nvoid QtLangSet::createUserStyleFormThemes(int styleId)\r\n{\r\n\tfor (int index = 0; index <= L_TXT; ++index)\r\n\t{\r\n\t\tcreateOneLangStyleFromThemes(styleId, (LangType)index);\r\n\t}\r\n}\r\n\r\n//检查当前是否已经存在暗黑色语言配置\r\n//bool QtLangSet::isExistDarkLangSetings()\r\n//{\r\n//\tQString cfgPath = QString(\"notepad/userstyle/black/AllGlobal\");\r\n//\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n//\treturn QFile::exists(qs.fileName());\r\n//}\r\n\r\n//检查当前是否已经存在主题配置\r\nbool QtLangSet::isExistThemesSetings(int styleId)\r\n{\r\n\tQString cfgPath = QString(\"notepad/userstyle/%1/AllGlobal\").arg(StyleSet::getStyleName(styleId));\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath);\r\n\treturn QFile::exists(qs.fileName());\r\n}\r\n\r\n//当前主题发生变化\r\nvoid QtLangSet::on_themesChange(int styleIndex)\r\n{\r\n\t//第一次启动时，防止初始情况没有初始化主题，故检测一下isExistThemesSetings\r\n\tif (m_themesId == styleIndex && isExistThemesSetings(styleIndex))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tui.statusBar->showMessage(tr(\"themes changing, please waiting ...\"), 5000);\r\n\r\n\tm_themesId = styleIndex;\r\n\r\n\t//这个有个耦合：先要设置QsciLexer的当前主题。只有默认主题才有详细独立的风格。\r\n\t//非默认主题，其初始风格全是默认样式。\r\n\r\n\tQsciLexer::setCurThemes(m_themesId);\r\n\r\n\t//如果不存在主题设置，则从模板里面拷贝一份出来\r\n\tif (!isExistThemesSetings(styleIndex))\r\n\t{\r\n\t\tcreateUserStyleFormThemes(styleIndex);\r\n\t}\r\n\r\n\tStyleSet::setCurrentStyle(styleIndex);\r\n\r\n\tNddSetting::updataKeyValueFromNumSets(SKIN_KEY, m_themesId);\r\n\r\n\t//这里就要及时切换当前主题，预览颜色\r\n\tupdateThemes();\r\n\r\n\t//下一步就是要更好当前编辑器的语法设置\r\n\tpreviewAllGoblalChange();\r\n\r\n\tint row = ui.langListWidget->currentRow();\r\n\r\n\t//手动刷新UI\r\n\tQListWidgetItem* styleItem = ui.langListWidget->item(row);\r\n\r\n\tslot_itemSelect(styleItem);\r\n\r\n\tm_lastThemesId = m_themesId;\r\n\r\n\tui.statusBar->showMessage(tr(\"themes changed finished ...\"), 5000);\r\n}\r\n\r\n//更新当前编辑框中主题的样式\r\nvoid QtLangSet::updateThemes()\r\n{\r\n\tCCNotePad* pMainNote = dynamic_cast<CCNotePad*>(parent());\r\n\tif (pMainNote != nullptr)\r\n\t{\r\n\t\tpMainNote->updateThemes();\r\n\t}\r\n}\r\n\r\n//增加一个快捷显示全局的按钮，避免用户经常找不到\r\nvoid QtLangSet::on_showGlobalItem()\r\n{\r\n\tif (ui.langListWidget->currentRow() != 0)\r\n\t{\r\n\t\tui.langListWidget->setCurrentRow(0);\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/qtlangset.h",
    "content": "﻿#pragma once\r\n\r\n#include <QMainWindow>\r\n#include <QListWidgetItem>\r\n#include <qscilexer.h>\r\n#include <QCloseEvent>\r\n#include \"ui_qtlangset.h\"\r\n#include \"rcglobal.h\"\r\n#include \"Qsci/qsciscintilla.h\"\r\n#include \"Scintilla.h\"\r\n#include \"SciLexer.h\"\r\n\r\nclass QsciLexer;\r\n\r\n\r\nenum GLOBAL_STYLE_SET {\r\n\tGLOBAL_FONT=0, //字体\r\n\tGLOBAL_FONT_SIZE, //字体大小\r\n\tGLOBAL_FONT_BOLD,//粗体\r\n\tGLOBAL_FONT_UNDERLINE,//下划线\r\n\tGLOBAL_FONT_ITALIC,//倾斜\r\n\tGLOBAL_FG_COLOR,//前景色\r\n\tGLOBAL_BK_COLOR,\r\n};\r\n\r\n\r\n\r\nclass QtLangSet : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tQtLangSet(QString initTag, QWidget *parent = nullptr);\r\n\t~QtLangSet();\r\n\r\n\t/*static void setAllLangFontFgColorToDarkStyle();*/\r\n    //static bool isExistDarkLangSetings();\r\n\tvoid selectInitLangTag(QString initLangTag);\r\n\tstatic bool readLangSettings(QsciLexer * lexer, QString tag, int StyleId = -1);\r\n\tstatic bool readLangOriginSettings(QsciLexer* lexer, QString tag, int StyleId=-1, bool force=false);\r\nprivate:\r\n\t//static void setLangFontFgColorToDarkStyle(LangType langId, QString tag=\"\");\r\n\tstatic void createOneLangStyleFromThemes(int styleId, LangType langId, QString tag = \"\");\r\n\tvoid startSignSlot();\r\n\r\n\r\n\r\nsignals:\r\n\tvoid viewStyleChange(QString tagName, int styleId, QColor & fgColor, QColor & bkColor, QFont & font, bool fontChange);\r\n\r\n\t//整个lexer发生了大改变\r\n\tvoid viewLexerChange(QString tagName);\r\n\r\nprotected:\r\n\tvoid closeEvent(QCloseEvent *e);\r\n\r\n\tvoid syncShowStyleItemToUI(QListWidgetItem * item);\r\n\r\nprivate slots:\r\n\r\n\tvoid slot_itemSelect(QListWidgetItem * item);\r\n\tvoid slot_langListCurRowChanged(int row);\r\n\t\r\n\tvoid slot_styleItemSelect(QListWidgetItem * item);\r\n\tvoid slot_styleListCurRowChanged(int row);\r\n\r\n\tvoid slot_saveClick();\r\n\tvoid slot_reset();\r\n\tvoid slot_changeFgColor();\r\n\tvoid slot_changeBkColor();\r\n\tvoid slot_fontBoldChange(int state);\r\n\tvoid slot_fontItalicChange(int state);\r\n\tvoid slot_fontUnderlineChange(int state);\r\n\tvoid slot_fontSizeChange(int v);\r\n\tvoid slot_fontChange(const QFont & font);\r\n\tvoid slot_userLangItemSelect(QListWidgetItem * item);\r\n\r\n\tvoid slot_useAlobalFgColor(bool);\r\n\tvoid slot_useAlobalBkColor(bool check);\r\n\tvoid slot_useAlobalFont(bool);\r\n\tvoid slot_useAlobalFontSize(bool);\r\n\tvoid slot_useAlobalFontBold(bool);\r\n\tvoid slot_useAlobalFontUnderline(bool);\r\n\tvoid slot_useAlobalFontItalic(bool);\r\n\tvoid on_themesChange(int index);\r\n\r\n\tvoid on_showGlobalItem();\r\n\r\n\r\nprivate:\r\n\tvoid initLangList();\r\n\tbool readLangSetFile(QString langName, QString & keyword, QString & motherLang, QString & extTypes);\r\n\tvoid initUserDefineLangList();\r\n\tvoid setStyleShow(QFont & font, QColor& fcColor, QColor &bkColor);\r\n\tstatic void saveLangeSet(QsciLexer * lexer, int styleId=-1);\r\n\tbool saveCurLangSettings();\r\n\tvoid fillForegroundColor(QColor & fcColor);\r\n\tvoid fillBackgroundColor(QColor & bkColor);\r\n\tvoid displayUserMotherLangsStyle(QString langTagName, UserLangMother motherLang);\r\n\tvoid getCurUiFont(QFont & font);\r\n\tvoid updateAllLangeStyleWithGlobal(GLOBAL_STYLE_SET flag);\r\n\tvoid restoreOriginLangOneStyle(GLOBAL_STYLE_SET flag);\r\n\tvoid restoreOriginLangAllStyle();\r\n\tvoid previewAllGoblalChange();\r\n\r\n\tvoid getCurUseLexerTags(QVector<QString>& tag);\r\n\tvoid enableFontChangeSensitive(bool isSensitive);\r\n\tvoid updateThemes();\r\n\r\n\tbool isUseGlobalFgColor();\r\n\tbool isUseGlobalBgColor();\r\n\r\n\tbool isExistThemesSetings(int styleId);\r\n\tvoid createUserStyleFormThemes(int styleId);\r\n\tvoid refreshGlobalSet();\r\nprivate:\r\n\tUi::QtLangSetClass ui;\r\n\r\n\tQsciLexer *m_selectLexer;\r\n\r\n\tint m_selectStyleId;\r\n\r\n\t//是否当前语法的style发生了变化\r\n\tbool m_isStyleChange;\r\n\r\n\t//是否当前选择风格的子风格发生了变化。\r\n\tbool m_isStyleChildChange;\r\n\tQsciLexer::StyleData m_curStyleData;\r\n\r\n\t//第一次以当前edit语法为准\r\n\tQString m_initShowLexerTag;\r\n\r\n\tQListWidgetItem * m_previousSysLangItem;\r\n\r\n\t//是否是全局修改项\r\n\tbool m_isGlobelItem;\r\n\r\n\tint m_themesId;\r\n\r\n\tint m_lastThemesId;\r\n\r\npublic:\r\n\t////黑色模式下不显眼的颜色，替换到显眼颜色\r\n\t//static QMap<QString, QColor> s_darkColorMap;\r\n};\r\n"
  },
  {
    "path": "src/qtlangset.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>QtLangSetClass</class>\r\n <widget class=\"QMainWindow\" name=\"QtLangSetClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>1029</width>\r\n    <height>660</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>QtLangSet</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/ndd.ico</normaloff>:/Resources/edit/global/ndd.ico</iconset>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QVBoxLayout\" name=\"verticalLayout_13\">\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout_8\">\r\n      <item>\r\n       <spacer name=\"horizontalSpacer_4\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeType\">\r\n         <enum>QSizePolicy::Preferred</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"pushButton\">\r\n        <property name=\"text\">\r\n         <string>Global Set</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QLabel\" name=\"label_10\">\r\n        <property name=\"text\">\r\n         <string>Select Main:</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QComboBox\" name=\"mainThemesCbox\">\r\n        <property name=\"minimumSize\">\r\n         <size>\r\n          <width>200</width>\r\n          <height>0</height>\r\n         </size>\r\n        </property>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Default(stylers.xml)</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Bespin</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Black board</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Blue Light</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Choco</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>DansLeRuSH-Dark</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Deep Black</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Lavender</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>HotFudgeSundae</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Misty Rose</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Mono Industrial</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Monokai</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Obsidian</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Plastic Code Wrap</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Ruby Blue</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Twilight</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Vibrant Ink</string>\r\n         </property>\r\n        </item>\r\n        <item>\r\n         <property name=\"text\">\r\n          <string>Yellow Rice</string>\r\n         </property>\r\n        </item>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QLabel\" name=\"curThemes\">\r\n        <property name=\"text\">\r\n         <string>TextLabel</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <spacer name=\"horizontalSpacer_3\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout_11\">\r\n      <item>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label\">\r\n          <property name=\"text\">\r\n           <string>Language</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QListWidget\" name=\"langListWidget\">\r\n          <property name=\"minimumSize\">\r\n           <size>\r\n            <width>100</width>\r\n            <height>0</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>220</width>\r\n            <height>16777215</height>\r\n           </size>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_5\">\r\n          <property name=\"text\">\r\n           <string>User Define Language</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QListWidget\" name=\"userLangListWidget\">\r\n          <property name=\"minimumSize\">\r\n           <size>\r\n            <width>100</width>\r\n            <height>0</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>220</width>\r\n            <height>150</height>\r\n           </size>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_2\">\r\n          <property name=\"text\">\r\n           <string>Style</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QListWidget\" name=\"styleListWidget\">\r\n          <property name=\"minimumSize\">\r\n           <size>\r\n            <width>250</width>\r\n            <height>0</height>\r\n           </size>\r\n          </property>\r\n          <property name=\"maximumSize\">\r\n           <size>\r\n            <width>500</width>\r\n            <height>16777215</height>\r\n           </size>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout_12\">\r\n        <item>\r\n         <layout class=\"QHBoxLayout\" name=\"horizontalLayout_9\">\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_10\">\r\n            <item>\r\n             <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n              <property name=\"title\">\r\n               <string>Color</string>\r\n              </property>\r\n              <layout class=\"QVBoxLayout\" name=\"verticalLayout_6\">\r\n               <item>\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_6\">\r\n                 <item>\r\n                  <widget class=\"QLabel\" name=\"label_3\">\r\n                   <property name=\"text\">\r\n                    <string>Foreground:</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QLabel\" name=\"label_fc\">\r\n                   <property name=\"sizePolicy\">\r\n                    <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Fixed\">\r\n                     <horstretch>0</horstretch>\r\n                     <verstretch>0</verstretch>\r\n                    </sizepolicy>\r\n                   </property>\r\n                   <property name=\"minimumSize\">\r\n                    <size>\r\n                     <width>32</width>\r\n                     <height>32</height>\r\n                    </size>\r\n                   </property>\r\n                   <property name=\"text\">\r\n                    <string>TextLabel</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QToolButton\" name=\"toolButton\">\r\n                   <property name=\"text\">\r\n                    <string>Select</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n               <item>\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_7\">\r\n                 <item>\r\n                  <widget class=\"QLabel\" name=\"label_4\">\r\n                   <property name=\"text\">\r\n                    <string>background:</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QLabel\" name=\"label_bc\">\r\n                   <property name=\"sizePolicy\">\r\n                    <sizepolicy hsizetype=\"Fixed\" vsizetype=\"Fixed\">\r\n                     <horstretch>0</horstretch>\r\n                     <verstretch>0</verstretch>\r\n                    </sizepolicy>\r\n                   </property>\r\n                   <property name=\"minimumSize\">\r\n                    <size>\r\n                     <width>32</width>\r\n                     <height>32</height>\r\n                    </size>\r\n                   </property>\r\n                   <property name=\"text\">\r\n                    <string>Same As Theme</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QToolButton\" name=\"toolButton1\">\r\n                   <property name=\"text\">\r\n                    <string>Select</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n              </layout>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QGroupBox\" name=\"useGlobalColor\">\r\n              <property name=\"title\">\r\n               <string>Use Global Color</string>\r\n              </property>\r\n              <layout class=\"QVBoxLayout\" name=\"verticalLayout_9\">\r\n               <item>\r\n                <widget class=\"QCheckBox\" name=\"useGbFc\">\r\n                 <property name=\"text\">\r\n                  <string>Use Global Foreground Color</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n               <item>\r\n                <widget class=\"QCheckBox\" name=\"useGbBc\">\r\n                 <property name=\"enabled\">\r\n                  <bool>true</bool>\r\n                 </property>\r\n                 <property name=\"text\">\r\n                  <string>Use Global Background Color</string>\r\n                 </property>\r\n                </widget>\r\n               </item>\r\n              </layout>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <spacer name=\"verticalSpacer\">\r\n              <property name=\"orientation\">\r\n               <enum>Qt::Vertical</enum>\r\n              </property>\r\n              <property name=\"sizeHint\" stdset=\"0\">\r\n               <size>\r\n                <width>20</width>\r\n                <height>40</height>\r\n               </size>\r\n              </property>\r\n             </spacer>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n          <item>\r\n           <layout class=\"QVBoxLayout\" name=\"verticalLayout_11\">\r\n            <item>\r\n             <widget class=\"QGroupBox\" name=\"groupBox_3\">\r\n              <property name=\"title\">\r\n               <string>Font</string>\r\n              </property>\r\n              <layout class=\"QVBoxLayout\" name=\"verticalLayout_8\">\r\n               <item>\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n                 <item>\r\n                  <widget class=\"QLabel\" name=\"label_7\">\r\n                   <property name=\"text\">\r\n                    <string>Name:</string>\r\n                   </property>\r\n                  </widget>\r\n                 </item>\r\n                 <item>\r\n                  <widget class=\"QFontComboBox\" name=\"fontComboBox\"/>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n               <item>\r\n                <layout class=\"QHBoxLayout\" name=\"horizontalLayout_10\">\r\n                 <item>\r\n                  <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"boldCheckBox\">\r\n                     <property name=\"text\">\r\n                      <string>Bold</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"italicCheckBox\">\r\n                     <property name=\"text\">\r\n                      <string>Italic</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"underlineCheckBox\">\r\n                     <property name=\"text\">\r\n                      <string>Underline</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                  </layout>\r\n                 </item>\r\n                 <item>\r\n                  <layout class=\"QVBoxLayout\" name=\"verticalLayout_7\">\r\n                   <item>\r\n                    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n                     <item>\r\n                      <widget class=\"QLabel\" name=\"label_8\">\r\n                       <property name=\"text\">\r\n                        <string>Font Size:</string>\r\n                       </property>\r\n                      </widget>\r\n                     </item>\r\n                     <item>\r\n                      <widget class=\"QSpinBox\" name=\"fontSpinBox\">\r\n                       <property name=\"singleStep\">\r\n                        <number>1</number>\r\n                       </property>\r\n                      </widget>\r\n                     </item>\r\n                    </layout>\r\n                   </item>\r\n                  </layout>\r\n                 </item>\r\n                </layout>\r\n               </item>\r\n              </layout>\r\n             </widget>\r\n            </item>\r\n            <item>\r\n             <widget class=\"QStackedWidget\" name=\"stackedWidget\">\r\n              <property name=\"currentIndex\">\r\n               <number>0</number>\r\n              </property>\r\n              <widget class=\"QWidget\" name=\"page_normal\">\r\n               <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n                <property name=\"leftMargin\">\r\n                 <number>0</number>\r\n                </property>\r\n                <property name=\"rightMargin\">\r\n                 <number>0</number>\r\n                </property>\r\n                <item row=\"0\" column=\"0\">\r\n                 <widget class=\"QGroupBox\" name=\"groupBox\">\r\n                  <property name=\"title\">\r\n                   <string>Keyword And Mother </string>\r\n                  </property>\r\n                  <layout class=\"QVBoxLayout\" name=\"verticalLayout_4\">\r\n                   <property name=\"leftMargin\">\r\n                    <number>0</number>\r\n                   </property>\r\n                   <property name=\"rightMargin\">\r\n                    <number>0</number>\r\n                   </property>\r\n                   <item>\r\n                    <widget class=\"QPlainTextEdit\" name=\"keywordTe\">\r\n                     <property name=\"readOnly\">\r\n                      <bool>true</bool>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n                     <item>\r\n                      <widget class=\"QLabel\" name=\"label_6\">\r\n                       <property name=\"text\">\r\n                        <string>Mother Language:</string>\r\n                       </property>\r\n                      </widget>\r\n                     </item>\r\n                     <item>\r\n                      <widget class=\"QComboBox\" name=\"motherLangCb\">\r\n                       <property name=\"enabled\">\r\n                        <bool>false</bool>\r\n                       </property>\r\n                       <item>\r\n                        <property name=\"text\">\r\n                         <string>None</string>\r\n                        </property>\r\n                       </item>\r\n                       <item>\r\n                        <property name=\"text\">\r\n                         <string>Cpp</string>\r\n                        </property>\r\n                       </item>\r\n                      </widget>\r\n                     </item>\r\n                    </layout>\r\n                   </item>\r\n                   <item>\r\n                    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_5\">\r\n                     <item>\r\n                      <widget class=\"QLabel\" name=\"label_9\">\r\n                       <property name=\"text\">\r\n                        <string>Ext File Type:</string>\r\n                       </property>\r\n                      </widget>\r\n                     </item>\r\n                     <item>\r\n                      <widget class=\"QLineEdit\" name=\"extFileType\">\r\n                       <property name=\"readOnly\">\r\n                        <bool>true</bool>\r\n                       </property>\r\n                      </widget>\r\n                     </item>\r\n                    </layout>\r\n                   </item>\r\n                  </layout>\r\n                 </widget>\r\n                </item>\r\n               </layout>\r\n              </widget>\r\n              <widget class=\"QWidget\" name=\"page_global\">\r\n               <layout class=\"QGridLayout\" name=\"gridLayout_2\">\r\n                <property name=\"leftMargin\">\r\n                 <number>0</number>\r\n                </property>\r\n                <property name=\"rightMargin\">\r\n                 <number>0</number>\r\n                </property>\r\n                <item row=\"0\" column=\"0\">\r\n                 <widget class=\"QGroupBox\" name=\"useGlobalFont\">\r\n                  <property name=\"title\">\r\n                   <string>Global Style Font</string>\r\n                  </property>\r\n                  <layout class=\"QVBoxLayout\" name=\"verticalLayout_5\">\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"useGbFont\">\r\n                     <property name=\"text\">\r\n                      <string>Use Global Font</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"useGbFontSize\">\r\n                     <property name=\"text\">\r\n                      <string>Use Global FontSize</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"useGbFontBold\">\r\n                     <property name=\"text\">\r\n                      <string>Use Global Bold Font</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"useGbFontItalic\">\r\n                     <property name=\"text\">\r\n                      <string>Use Global Italic Font</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                   <item>\r\n                    <widget class=\"QCheckBox\" name=\"useGbFontUnderline\">\r\n                     <property name=\"text\">\r\n                      <string>Use Global Underline Font</string>\r\n                     </property>\r\n                    </widget>\r\n                   </item>\r\n                  </layout>\r\n                 </widget>\r\n                </item>\r\n               </layout>\r\n              </widget>\r\n             </widget>\r\n            </item>\r\n           </layout>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\">\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"reset\">\r\n            <property name=\"text\">\r\n             <string>reset</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"saveBt\">\r\n            <property name=\"text\">\r\n             <string>Save</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QPushButton\" name=\"cancelBt\">\r\n            <property name=\"text\">\r\n             <string>Close</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QMenuBar\" name=\"menuBar\">\r\n   <property name=\"geometry\">\r\n    <rect>\r\n     <x>0</x>\r\n     <y>0</y>\r\n     <width>1029</width>\r\n     <height>23</height>\r\n    </rect>\r\n   </property>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>1016</x>\r\n     <y>625</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>709</x>\r\n     <y>561</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>saveBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_saveClick()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>843</x>\r\n     <y>625</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>575</x>\r\n     <y>559</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>toolButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_changeFgColor()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>725</x>\r\n     <y>123</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>462</x>\r\n     <y>561</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>reset</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_reset()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>669</x>\r\n     <y>625</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>814</x>\r\n     <y>697</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbFc</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalFgColor(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>726</x>\r\n     <y>225</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbFont</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalFont(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>844</x>\r\n     <y>238</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbFontBold</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalFontBold(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>844</x>\r\n     <y>238</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbFontItalic</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalFontItalic(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>844</x>\r\n     <y>238</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbFontUnderline</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalFontUnderline(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>844</x>\r\n     <y>238</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbFontSize</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalFontSize(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>844</x>\r\n     <y>238</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>useGbBc</sender>\r\n   <signal>clicked(bool)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_useAlobalBkColor(bool)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>726</x>\r\n     <y>247</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>toolButton1</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>slot_changeBkColor()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>725</x>\r\n     <y>163</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>491</x>\r\n     <y>363</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>mainThemesCbox</sender>\r\n   <signal>currentIndexChanged(int)</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>on_themesChange(int)</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>221</x>\r\n     <y>55</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>390</x>\r\n     <y>635</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>QtLangSetClass</receiver>\r\n   <slot>on_showGlobalItem()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>103</x>\r\n     <y>56</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>197</x>\r\n     <y>69</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_saveClick()</slot>\r\n  <slot>slot_changeFgColor()</slot>\r\n  <slot>slot_changeBkColor()</slot>\r\n  <slot>slot_reset()</slot>\r\n  <slot>slot_useAlobalFgColor(bool)</slot>\r\n  <slot>slot_useAlobalFont(bool)</slot>\r\n  <slot>slot_useAlobalFontSize(bool)</slot>\r\n  <slot>slot_useAlobalFontBold(bool)</slot>\r\n  <slot>slot_useAlobalFontUnderline(bool)</slot>\r\n  <slot>slot_useAlobalFontItalic(bool)</slot>\r\n  <slot>slot_useAlobalBkColor(bool)</slot>\r\n  <slot>on_themesChange(int)</slot>\r\n  <slot>on_showGlobalItem()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/rcglobal.cpp",
    "content": "﻿#include \"rcglobal.h\"\r\n#include <QSettings>\r\n#include <QFileInfo>\r\n#include <QDir>\r\n#include <QProcess>\r\n\r\nQString s_userLangDirPath;\r\n\r\nQString getUserLangDirPath()\r\n{\r\n\tif (s_userLangDirPath.isEmpty())\r\n\t{\r\n\t\tQString settingDir = QString(\"notepad/userlang/test\");\r\n\t\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, settingDir);\r\n\t\tQString qsSavePath = qs.fileName();\r\n\t\tQFileInfo fi(qsSavePath);\r\n\t\ts_userLangDirPath = fi.dir().absolutePath();\r\n\t\t//保存起来userLangPath，避免后续每次都要去查找。注意这个目录是在notepad/userlang这个级别\r\n\t}\r\n\treturn s_userLangDirPath;\r\n}\r\n\r\nconst int M_SIZE = 1024 * 1024;\r\nconst int G_SIZE = 1024 * 1024 * 1024;\r\n\r\n//把字节大小文件，转换为M 或 G 单位\r\nQString tranFileSize(qint64 fileSize)\r\n{\r\n\tfloat num = 0.0f;\r\n\tQString unit;\r\n\r\n\tif (fileSize >= G_SIZE)\r\n\t{\r\n\t\tnum = double(fileSize) / G_SIZE;\r\n\t\tunit = \"GB\";\r\n\t}\r\n\telse if (fileSize >= M_SIZE)\r\n\t{\r\n\t\tnum = double(fileSize) / M_SIZE;\r\n\t\tunit = \"MB\";\r\n\t}\r\n\telse if (fileSize > 1024)\r\n\t{\r\n\t\tnum = float(fileSize) / 1024;\r\n\t\tunit = \"KB\";\r\n\t}\r\n\telse\r\n\t{\r\n\t\treturn QString(\"%1\").arg(fileSize);\r\n\t}\r\n\t\r\n\treturn QString(\"%1 %2\").arg(num, 0, 'f' , 2).arg(unit);\r\n}\r\n\r\nvoid showFileInExplorer(QString path)\r\n{\r\n\tQString cmd;\r\n\r\n#ifdef _WIN32\r\n\tpath = path.replace(\"/\", \"\\\\\");\r\n\tcmd = QString(\"explorer.exe /select,%1\").arg(path);\r\n#endif\r\n\r\n#ifdef ubu\r\n\tpath = path.replace(\"\\\\\", \"/\");\r\n\tcmd = QString(\"nautilus %1\").arg(path);\r\n#endif\r\n\r\n#ifdef uos\r\n\tpath = path.replace(\"\\\\\", \"/\");\r\n\tcmd = QString(\"dde-file-manager %1\").arg(path);\r\n#endif \r\n\r\n#if defined(Q_OS_MAC)\r\n\tpath = path.replace(\"\\\\\", \"/\");\r\n\tcmd = QString(\"open -R %1\").arg(path);\r\n#endif\r\n\r\n\tQProcess process;\r\n\tprocess.startDetached(cmd);\r\n}\r\n"
  },
  {
    "path": "src/rcglobal.h",
    "content": "﻿#pragma once\r\n\r\n#include <QString>\r\n#include <QVector>\r\n#include <QTreeWidgetItem>\r\n#include <qscilexer.h>\r\n\r\n//#define TEST_PRE\r\n\r\n#ifdef TEST_PRE\r\nstatic const char* VersionStr = u8\"(内部测试非稳定) v2.0.0\";\r\n#else\r\n\r\nstatic const char* VersionStr = \"v1.23.2\";\r\n#endif // TEST_PRE\r\n\r\n\r\n#define NO_PLUGIN 1\r\n\r\n#define CMP_CODE_NOEQUAL\r\n\r\nenum RC_DIRECTION\r\n{\r\n\tRC_LEFT = 0,\r\n\tRC_RIGHT,\r\n};\r\n\r\nenum RC_CMP_RESULT\r\n{\r\n\tRC_RESULT_EQUAL=0,\r\n\tRC_RESULT_NOEQUAL,\r\n};\r\n\r\nenum RC_FILE_TYPE\r\n{\r\n\tRC_FILE = 1000,\r\n\tRC_DIR,\r\n\tRC_PAD_FILE\r\n};\r\n\r\nenum RC_ITEM_STATUS\r\n{\r\n\tRC_COLLAPSED = 0,\r\n\tRC_EXPANDED,\r\n};\r\n\r\n/* 是放置在block中的userState，-1是保留行，因为-1是默认没有时的值，标识新插入行 */\r\nenum RC_LINE_FORM\r\n{\r\n\tPAD_LINE = -2,//对齐行 \r\n\t//-1没有使用QTextBlock::userState()的默认值\r\n\tUNKNOWN_LINE =0, //未知就是没有换行符号。当做没有\r\n\tUNIX_LINE,\r\n\tDOS_LINE,\r\n\tMAC_LINE,\r\n};\r\n\r\n\r\nenum CODE_ID {\r\n\tUNKOWN = -2,//其实应该是ANSI中的非GBK编码。暂时不考虑其它国家语言编码，则直接按照ASCII进行字节处理\r\n\tANSI = -1,\r\n\tUTF8_NOBOM,//如果是这种，其实需要确定到底椒UTF8 还是ANSI\r\n\tUTF8_BOM, //UTF8_WITH BOM\r\n\tUNICODE_LE,\r\n\tUNICODE_BE,\r\n\tGBK,\r\n\t//增加国际化的几种语言\r\n\tEUC_JP,//日本鬼子\r\n\tShift_JIS,//日文另外一种\r\n\tEUC_KR,//韩国\r\n\tKOI8_R,//俄罗斯\r\n\tTSCII,//泰国\r\n\tTIS_620,//泰文\r\n\tBIG5,//繁体中文\r\n\tCODE_END //最后一个标志,在UI上是显示一个UNKNOWN，这是一个特殊\r\n};\r\n\r\n\r\ntypedef struct fileAttriNode_ {\r\n\tQString relativePath;//不带/而且不带最外层目录路径\r\n\tint type; //file or dirs，pad\r\n\t//int index; //用于表示先后顺序，用于向前向后的排序查找\r\n\tQTreeWidgetItem* parent; //父节点\r\n\tQTreeWidgetItem* selfItem; //如果是目录，则标记自己的节点\r\n\tfileAttriNode_()\r\n\t{\r\n\t\tparent = nullptr;\r\n\t}\r\n\tfileAttriNode_(QString relativePath_)\r\n\t{\r\n\t\trelativePath = relativePath_;\r\n\t}\r\n\r\n\tbool operator==(const fileAttriNode_& other) const\r\n\t{\r\n\t\treturn (relativePath.compare(other.relativePath) == 0);\r\n\t}\r\n\r\n}fileAttriNode;\r\n\r\n\r\n\r\nconst int MARGIN_NONE = 0;\r\nconst int MARGIN_SYNC_BT = 1;\r\nconst int MARGIN_SYNC_BT_BIT_MASK = 0x2;\r\n\r\nconst int MARGIN_VER_LINE = 2;\r\nconst int MARGIN_VER_LINE_BIT_MASK = 0x4;\r\n\r\n\r\nconst int MARGIN_LINE_NUM = 3;\r\n\r\nenum WORK_STATUS\r\n{\r\n\tFREE_STATUS = 0,\r\n\tCMP_WORKING\r\n};\r\n\r\n\r\n#define OPEN_UNDO_REDO 1\r\n\r\n#ifdef OPEN_UNDO_REDO\r\n\r\nclass BlockUserData;\r\n\r\n\r\nstruct WalkFileInfo {\r\n\tint direction;\r\n\tQTreeWidgetItem* root;\r\n\tQString path;\r\n\tWalkFileInfo(int dire_, QTreeWidgetItem* root_, QString path_) :direction(dire_), root(root_), path(path_)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\nconst int Item_RelativePath = Qt::ToolTipRole;\r\nconst int Item_Index = Qt::UserRole + 1;\r\nconst int DIR_ITEM_MAXSIZE_FILE = Qt::UserRole + 2;\r\n#endif\r\n\r\n//两种母版。一种是txt可自定义关键字。一种是CPP，可自定义关键字。\r\nenum UserLangMother\r\n{\r\n\tMOTHER_NONE = LangType::L_USER_TXT,\r\n\tMOTHER_CPP,\r\n};\r\n\r\nQString getUserLangDirPath();\r\n\r\n//在这定义一次即可。\r\n//#define uos 1\r\n\r\n#ifdef Q_OS_WIN\r\n#undef uos\r\n#endif\r\n\r\n#ifdef ubu\r\n#undef uos\r\n#endif\r\n\r\n#ifdef uos\r\n#undef ubu\r\n#endif\r\n\r\n#ifdef Q_OS_MAC\r\n#undef uos\r\n#endif\r\n\r\nvoid showFileInExplorer(QString path);\r\nQString tranFileSize(qint64 fileSize);\r\n"
  },
  {
    "path": "src/realcompare_zh.ts",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE TS>\n<TS version=\"2.1\" language=\"zh_CN\">\n<context>\n    <name>AboutNddClass</name>\n    <message>\n        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://gitee.com/cxasm/notepad--&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;Click to get the latest version of notepad-- or source code&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>\n        <translation type=\"obsolete\">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://gitee.com/cxasm/notepad--&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;点击获取最新版的 notepad-- 或开源代码&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>\n    </message>\n    <message>\n        <source>opensoure web：https://gitee.com/cxasm/notepad--</source>\n        <translation type=\"obsolete\">开源网址:https://gitee.com/cxasm/notepad--</translation>\n    </message>\n    <message>\n        <location filename=\"aboutndd.ui\" line=\"20\"/>\n        <location filename=\"ui_aboutndd.h\" line=\"100\"/>\n        <source>About Notepad--</source>\n        <translation type=\"unfinished\">关于 Notepad--</translation>\n    </message>\n    <message>\n        <location filename=\"aboutndd.ui\" line=\"41\"/>\n        <location filename=\"ui_aboutndd.h\" line=\"101\"/>\n        <source>General Public License</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"aboutndd.ui\" line=\"54\"/>\n        <location filename=\"ui_aboutndd.h\" line=\"102\"/>\n        <source>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.</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"aboutndd.ui\" line=\"63\"/>\n        <location filename=\"ui_aboutndd.h\" line=\"103\"/>\n        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Home: &lt;a href=&quot;https://gitee.com/cxasm/notepad--&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;https://gitee.com/cxasm/notepad--&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"aboutndd.ui\" line=\"84\"/>\n        <location filename=\"ui_aboutndd.h\" line=\"104\"/>\n        <source>Okay</source>\n        <translation type=\"unfinished\">好的</translation>\n    </message>\n</context>\n<context>\n    <name>AlignWinClass</name>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"20\"/>\n        <location filename=\"ui_alignwin.h\" line=\"139\"/>\n        <source>Pull Open</source>\n        <translation type=\"unfinished\">拉开操作</translation>\n    </message>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"36\"/>\n        <location filename=\"ui_alignwin.h\" line=\"140\"/>\n        <source>Pull Open Line Set</source>\n        <translation type=\"unfinished\">拉开行设置</translation>\n    </message>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"42\"/>\n        <location filename=\"ui_alignwin.h\" line=\"141\"/>\n        <source>Pull out the section with insufficient comparison results.</source>\n        <translation type=\"unfinished\">拉开对比结果不满意的部分行</translation>\n    </message>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"51\"/>\n        <location filename=\"ui_alignwin.h\" line=\"142\"/>\n        <source>Start LineNum:</source>\n        <translation type=\"unfinished\">开始行：</translation>\n    </message>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"65\"/>\n        <location filename=\"ui_alignwin.h\" line=\"143\"/>\n        <source>End LineNum:</source>\n        <translation type=\"unfinished\">结束行：</translation>\n    </message>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"99\"/>\n        <location filename=\"ui_alignwin.h\" line=\"144\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <location filename=\"alignwin.ui\" line=\"119\"/>\n        <location filename=\"ui_alignwin.h\" line=\"145\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>BatchFindReplace</name>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"63\"/>\n        <source>$1 has no find match work item</source>\n        <translation type=\"unfinished\">%1 没有对应的查找匹配项！</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"137\"/>\n        <source>Please input find keyword !</source>\n        <translation type=\"unfinished\">请输入批量查找的关键字！</translation>\n    </message>\n    <message>\n        <source>Batch Find Finished!</source>\n        <translation type=\"obsolete\">批量查找完成！</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"110\"/>\n        <source>Max find key word 20000 !</source>\n        <translation type=\"unfinished\">最多支持10000条关键字！ {20000 ?}</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"178\"/>\n        <location filename=\"batchfindreplace.cpp\" line=\"208\"/>\n        <location filename=\"batchfindreplace.cpp\" line=\"323\"/>\n        <source>Please fresh first !</source>\n        <translation type=\"unfinished\">查找替换表为空，请先刷新！</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"196\"/>\n        <source>Batch Find Finished! total %1 found.</source>\n        <translation type=\"unfinished\">批量查找完成！一共发现 %1 处。</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"234\"/>\n        <source>Batch Replace Finished, total Replace %1 times !</source>\n        <translation type=\"unfinished\">批量替换完成，一共替换 %1 处！</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"252\"/>\n        <source>Save File As ...</source>\n        <translation type=\"unfinished\">另存为文件 ...</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"283\"/>\n        <source>Export File finished !</source>\n        <translation type=\"unfinished\">导出配置文件成功 ！</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"287\"/>\n        <source>No Content to Export !</source>\n        <translation type=\"unfinished\">没有内容以供导出！</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.cpp\" line=\"341\"/>\n        <source>Batch Mark Finished, total Mark %1 times !</source>\n        <translation type=\"unfinished\">批量标记完成，一共标记 %1 处！</translation>\n    </message>\n</context>\n<context>\n    <name>BatchFindReplaceClass</name>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"14\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"195\"/>\n        <source>BatchFindReplace</source>\n        <translation type=\"unfinished\">批量查找替换</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"37\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"196\"/>\n        <source>Enter multiple find keywords, separated by blank characters</source>\n        <translation type=\"unfinished\">请输入多个查找关键字，使用空白符分隔开</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"51\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"197\"/>\n        <source>Enter multiple Replace keywords, separated by blank characters</source>\n        <translation type=\"unfinished\">请输入多个替换关键字，使用空白符分隔开</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"69\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"199\"/>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">关键词</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"74\"/>\n        <location filename=\"batchfindreplace.ui\" line=\"118\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"201\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"205\"/>\n        <source>Replace</source>\n        <translation type=\"unfinished\">替换</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"97\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"202\"/>\n        <source>Fresh</source>\n        <translation type=\"unfinished\">刷新</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"104\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"203\"/>\n        <source>swap</source>\n        <translation type=\"unfinished\">交换</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"111\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"204\"/>\n        <source>Find</source>\n        <translation type=\"unfinished\">查找</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"125\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"206\"/>\n        <source>Mark</source>\n        <translation type=\"unfinished\">标记</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"132\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"207\"/>\n        <source>ClearMark</source>\n        <translation type=\"unfinished\">清除标记</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"139\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"208\"/>\n        <source>Import</source>\n        <translation type=\"unfinished\">导入</translation>\n    </message>\n    <message>\n        <location filename=\"batchfindreplace.ui\" line=\"146\"/>\n        <location filename=\"ui_batchfindreplace.h\" line=\"209\"/>\n        <source>Export</source>\n        <translation type=\"unfinished\">导出</translation>\n    </message>\n</context>\n<context>\n    <name>BigFileMessageClass</name>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"14\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"141\"/>\n        <source>BigFileMessage</source>\n        <translation type=\"unfinished\">大文件打开方式</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"32\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"142\"/>\n        <source>TextLabel</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"39\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"143\"/>\n        <source>Open Mode</source>\n        <translation type=\"unfinished\">打开方式</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"83\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"149\"/>\n        <source>Big Text File(&lt; 8G) Read only open, load in blocks, and turn pages manually.</source>\n        <translation type=\"unfinished\">大文本只读模式（文件小于8G时推荐）可显示行号，行号跳转。</translation>\n    </message>\n    <message>\n        <source>Super Big Text Edit</source>\n        <translation type=\"obsolete\">超大文本模式</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"69\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"147\"/>\n        <source>Text Mode</source>\n        <translation type=\"unfinished\">文本模式</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"62\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"146\"/>\n        <source>Open directly in text mode.May be slow, Need wait.</source>\n        <translation type=\"unfinished\">直接以普通文本打开，注意：可能比较慢或卡顿，需要等待。（不推荐）</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"52\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"145\"/>\n        <source>Big Text</source>\n        <translation type=\"unfinished\">大文本模式</translation>\n    </message>\n    <message>\n        <source>Read only open, load in blocks, and turn pages manually.</source>\n        <translation type=\"obsolete\">分块只读打开大文件，速度快，需要手动进行前后翻页。（推荐）</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"76\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"148\"/>\n        <source>Hex Bin</source>\n        <translation type=\"unfinished\">二进制模式</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"45\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"144\"/>\n        <source>Binary Open,load in blocks, and turn pages manually.</source>\n        <translation type=\"unfinished\">二进制打开，速度快，需要手动进行前后翻页。</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"90\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"150\"/>\n        <source>Super big Text File(&gt; 8G bits) Read only open, load in blocks, and turn pages manually.</source>\n        <translation type=\"unfinished\">超大文本只读模式（文件大于8G时推荐）顺序翻页可显示行号，支持地址跳转。</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"97\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"151\"/>\n        <source>Super Big Text</source>\n        <translation type=\"unfinished\">超大文本模式</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"122\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"152\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <location filename=\"bigfilemessage.ui\" line=\"129\"/>\n        <location filename=\"ui_bigfilemessage.h\" line=\"153\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n</context>\n<context>\n    <name>CCNotePad</name>\n    <message>\n        <source>File</source>\n        <translation type=\"obsolete\">文件</translation>\n    </message>\n    <message>\n        <source>Edit</source>\n        <translation type=\"obsolete\">编辑</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"116\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1630\"/>\n        <source>Format Conversion</source>\n        <translation type=\"unfinished\">换行符转换</translation>\n    </message>\n    <message>\n        <source>Search</source>\n        <translation type=\"obsolete\">查找</translation>\n    </message>\n    <message>\n        <source>View</source>\n        <translation type=\"obsolete\">视图</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"217\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1638\"/>\n        <source>Display symbols</source>\n        <translation type=\"unfinished\">显示符号</translation>\n    </message>\n    <message>\n        <source>Encoding</source>\n        <translation type=\"obsolete\">编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"480\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1664\"/>\n        <source>Language</source>\n        <translation type=\"unfinished\">语言</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"276\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1644\"/>\n        <source>P</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"94\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1628\"/>\n        <source>Recene File</source>\n        <translation type=\"unfinished\">最近文件</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"291\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"874\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1424\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1645\"/>\n        <source>C</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"304\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1646\"/>\n        <source>J</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"313\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"842\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2085\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1420\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1623\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1647\"/>\n        <source>R</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"324\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1648\"/>\n        <source>H</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"330\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1649\"/>\n        <source>M</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"339\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1650\"/>\n        <source>B</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"348\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1651\"/>\n        <source>I</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"356\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1652\"/>\n        <source>N</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"365\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1653\"/>\n        <source>A</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"376\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1654\"/>\n        <source>S</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"388\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1655\"/>\n        <source>V</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"398\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1656\"/>\n        <source>L</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"406\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1657\"/>\n        <source>T</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"415\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1658\"/>\n        <source>F</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"424\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1103\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1452\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1453\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1497\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1659\"/>\n        <source>D</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"431\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1660\"/>\n        <source>O</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"438\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1661\"/>\n        <source>E</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"446\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1662\"/>\n        <source>G</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"527\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1670\"/>\n        <source>About</source>\n        <translation type=\"unfinished\">关于</translation>\n    </message>\n    <message>\n        <source>Compare</source>\n        <translation type=\"obsolete\">对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"506\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1667\"/>\n        <source>Recently</source>\n        <translation type=\"unfinished\">最近对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"573\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1335\"/>\n        <source>New</source>\n        <translation type=\"unfinished\">新建</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"584\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1339\"/>\n        <source>Open ...</source>\n        <translation type=\"unfinished\">打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"587\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1341\"/>\n        <source>Ctrl+O</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"592\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1343\"/>\n        <source>Save</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"595\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1345\"/>\n        <source>Ctrl+S</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"600\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1347\"/>\n        <source>Save As ...</source>\n        <translation type=\"unfinished\">另存为</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"603\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1349\"/>\n        <source>Ctrl+Alt+S</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"608\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2977\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3301\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1351\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"611\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1353\"/>\n        <source>Ctrl+W</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"616\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1355\"/>\n        <source>Exit</source>\n        <translation type=\"unfinished\">退出</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"619\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1357\"/>\n        <source>Ctrl+Q</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"624\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2983\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1359\"/>\n        <source>Close All</source>\n        <translation type=\"unfinished\">关闭所有</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"627\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1361\"/>\n        <source>Ctrl+Shift+W</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"632\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3012\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1363\"/>\n        <source>Undo</source>\n        <translation type=\"unfinished\">撤销</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"635\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1365\"/>\n        <source>Ctrl+Z</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"640\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3018\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1367\"/>\n        <source>Redo</source>\n        <translation type=\"unfinished\">重做</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"643\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1369\"/>\n        <source>Ctrl+Y</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"648\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2991\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1371\"/>\n        <source>Cut</source>\n        <translation type=\"unfinished\">剪切</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"651\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1373\"/>\n        <source>Ctrl+X</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"656\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2998\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1375\"/>\n        <source>Copy</source>\n        <translation type=\"unfinished\">拷贝</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"659\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1377\"/>\n        <source>Ctrl+C</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"664\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3004\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1379\"/>\n        <source>Paste</source>\n        <translation type=\"unfinished\">粘贴</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"667\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1381\"/>\n        <source>Ctrl+V</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"672\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1383\"/>\n        <source>Select All</source>\n        <translation type=\"unfinished\">全选</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"675\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1385\"/>\n        <source>Ctrl+A</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"683\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1387\"/>\n        <source>Windows(CR+LF)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"691\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1388\"/>\n        <source>Unix(LF)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"699\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1389\"/>\n        <source>Mac(CR)</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"704\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3026\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1390\"/>\n        <source>Find</source>\n        <translation type=\"unfinished\">查找</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"707\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1392\"/>\n        <source>Ctrl+F</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"712\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3032\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1394\"/>\n        <source>Replace</source>\n        <translation type=\"unfinished\">替换</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"720\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1398\"/>\n        <source>Go line</source>\n        <translation type=\"unfinished\">跳转</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"723\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1400\"/>\n        <source>Ctrl+G</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"731\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1402\"/>\n        <source>Show spaces/tabs</source>\n        <translation type=\"unfinished\">显示空格</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"739\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1403\"/>\n        <source>Show end of line</source>\n        <translation type=\"unfinished\">显示行尾</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"747\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1404\"/>\n        <source>Show all</source>\n        <translation type=\"unfinished\">显示所有</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"755\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1405\"/>\n        <source>Encode in GBK</source>\n        <translation type=\"unfinished\">使用编码 ANSI/GBK 打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"763\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1406\"/>\n        <source>Encode in UTF8</source>\n        <translation type=\"unfinished\">使用编码 UTF8 打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"771\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1407\"/>\n        <source>Encode in UTF8-BOM</source>\n        <translation type=\"unfinished\">使用编码 UTF8-BOM 打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"779\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1408\"/>\n        <source>Encode in UCS-2 BE BOM</source>\n        <translation type=\"unfinished\">使用编码 UCS-2 BE BOM 打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"787\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1409\"/>\n        <source>Encode in UCS-2 LE BOM</source>\n        <translation type=\"unfinished\">使用编码 UCS-2 LE BOM 打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"792\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1410\"/>\n        <source>Convert to GBK</source>\n        <translation type=\"unfinished\">转换为 ANSI/GBK 编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"797\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1411\"/>\n        <source>Convert to UTF8</source>\n        <translation type=\"unfinished\">转换为 UTF8 编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"802\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1412\"/>\n        <source>Convert to UTF8-BOM</source>\n        <translation type=\"unfinished\">转换为 UTF8-BOM 编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"807\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1413\"/>\n        <source>Convert to UCS-2 BE BOM</source>\n        <translation type=\"unfinished\">转换为 UCS-2 BE BOM 编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"812\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1414\"/>\n        <source>Convert to UCS-2 LE BOM</source>\n        <translation type=\"unfinished\">转换为 UCS-2 LE BOM 编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"817\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1415\"/>\n        <source>Batch convert</source>\n        <translation type=\"unfinished\">批量转换编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"822\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1416\"/>\n        <source>Options</source>\n        <translation type=\"unfinished\">选项</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"827\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1417\"/>\n        <source>BugFix</source>\n        <translation type=\"unfinished\">问题反馈</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1536\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1509\"/>\n        <source>Donate</source>\n        <translation type=\"unfinished\">捐赠作者</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1547\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1510\"/>\n        <source>Default</source>\n        <translation type=\"unfinished\">默认</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1555\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1511\"/>\n        <source>LightBlue</source>\n        <translation type=\"unfinished\">亮蓝</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1563\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1512\"/>\n        <source>ThinBlue</source>\n        <translation type=\"unfinished\">淡蓝</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1571\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1513\"/>\n        <source>RiceYellow</source>\n        <translation type=\"unfinished\">纸黄</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1579\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1907\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1514\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1597\"/>\n        <source>Yellow</source>\n        <translation type=\"unfinished\">黄色</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1587\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1515\"/>\n        <source>Silver</source>\n        <translation type=\"unfinished\">银色</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1595\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1516\"/>\n        <source>LavenderBlush</source>\n        <translation type=\"unfinished\">淡紫红</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1603\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1517\"/>\n        <source>MistyRose</source>\n        <translation type=\"unfinished\">浅玫瑰色</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1611\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1518\"/>\n        <source>English</source>\n        <translation type=\"unfinished\">英文</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1619\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1519\"/>\n        <source>Chinese</source>\n        <translation type=\"unfinished\">中文</translation>\n    </message>\n    <message>\n        <source>donate</source>\n        <translation type=\"obsolete\">捐赠软件</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1508\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1504\"/>\n        <source>TXT</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1531\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1508\"/>\n        <source>Search Result</source>\n        <translation type=\"unfinished\">查找结果</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1513\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1518\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2090\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1505\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1506\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1624\"/>\n        <source>test</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1526\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1507\"/>\n        <source>Go</source>\n        <oldsource>go</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"832\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1418\"/>\n        <source>File compare</source>\n        <translation type=\"unfinished\">文件对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"20\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1334\"/>\n        <source>notepad--</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"90\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1627\"/>\n        <source>&amp;File</source>\n        <oldsource>File(&amp;F)</oldsource>\n        <translation type=\"unfinished\">文件(&amp;F)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"112\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1629\"/>\n        <source>&amp;Edit</source>\n        <oldsource>Edit(&amp;E)</oldsource>\n        <translation type=\"unfinished\">编辑(&amp;E)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"124\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1631\"/>\n        <source>Blank CharOperate</source>\n        <translation type=\"unfinished\">空白字符操作</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"136\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1632\"/>\n        <source>Convert Case to</source>\n        <translation type=\"unfinished\">大小写转换</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"149\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1633\"/>\n        <source>Line Operations</source>\n        <translation type=\"unfinished\">行编辑</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"189\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1634\"/>\n        <source>&amp;Search</source>\n        <oldsource>Search(&amp;S)</oldsource>\n        <translation type=\"unfinished\">查找(&amp;S)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"193\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1635\"/>\n        <source>Bookmark</source>\n        <oldsource>Book Mark</oldsource>\n        <translation type=\"unfinished\">书签</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"198\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1636\"/>\n        <source>Mark Color</source>\n        <translation type=\"unfinished\">标记颜色...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"213\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1637\"/>\n        <source>&amp;View</source>\n        <oldsource>View(&amp;V)</oldsource>\n        <translation type=\"unfinished\">视图(&amp;V)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"225\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1639\"/>\n        <source>Icon Size</source>\n        <translation type=\"unfinished\">图标大小</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"241\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1640\"/>\n        <source>E&amp;ncoding</source>\n        <oldsource>Encoding(&amp;N)</oldsource>\n        <translation type=\"unfinished\">编码(&amp;N)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"245\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1641\"/>\n        <source>Other</source>\n        <translation type=\"unfinished\">其它编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"251\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1642\"/>\n        <source>Convert to Other</source>\n        <translation type=\"unfinished\">转换为其它编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"272\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1643\"/>\n        <source>&amp;Language</source>\n        <oldsource>Language(&amp;L)</oldsource>\n        <translation type=\"unfinished\">语言(&amp;L)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"476\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1663\"/>\n        <source>Se&amp;t</source>\n        <oldsource>Set(&amp;T)</oldsource>\n        <translation type=\"unfinished\">设置(&amp;T)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1709\"/>\n        <source>Format Language</source>\n        <translation type=\"unfinished\">格式化语言</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"494\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1665\"/>\n        <source>Feedback</source>\n        <translation type=\"unfinished\">反馈问题</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"502\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1666\"/>\n        <source>&amp;Compare</source>\n        <oldsource>Compare(&amp;C)</oldsource>\n        <translation type=\"unfinished\">对比(&amp;C)</translation>\n    </message>\n    <message>\n        <source>Recently(&amp;R)</source>\n        <translation type=\"obsolete\">最近对比(&amp;R)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"576\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1337\"/>\n        <source>Ctrl+T</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"715\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1396\"/>\n        <source>Ctrl+H</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"837\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1419\"/>\n        <source>Dir compare</source>\n        <translation type=\"unfinished\">目录对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"850\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1421\"/>\n        <source>XML</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"858\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1422\"/>\n        <source>YAML</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"866\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1423\"/>\n        <source>PHP</source>\n        <oldsource>Php</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"882\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1425\"/>\n        <source>C++</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"890\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1426\"/>\n        <source>C#</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"898\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1427\"/>\n        <source>Objective C</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"906\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1428\"/>\n        <source>Java</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"914\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1429\"/>\n        <source>RC</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"922\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1430\"/>\n        <source>HTML</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"930\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1431\"/>\n        <source>Makefile</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"938\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1432\"/>\n        <source>Pascal</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"946\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1433\"/>\n        <source>Batch</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"954\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1434\"/>\n        <source>ini</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"962\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1435\"/>\n        <source>Nfo</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"970\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1436\"/>\n        <source>Asp</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"978\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1437\"/>\n        <source>Sql</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"986\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1438\"/>\n        <source>Visual Basic</source>\n        <oldsource>Virsual Basic</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"994\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1439\"/>\n        <source>JavaScript</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1002\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1440\"/>\n        <source>CSS</source>\n        <oldsource>Css</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1010\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1441\"/>\n        <source>Perl</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1018\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1442\"/>\n        <source>Python</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1026\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1443\"/>\n        <source>Lua</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1034\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1444\"/>\n        <source>TeX</source>\n        <oldsource>Tex</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1042\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1445\"/>\n        <source>Fortran</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1050\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1446\"/>\n        <source>Shell</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1058\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1447\"/>\n        <source>ActionScript</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1066\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1448\"/>\n        <source>NSIS</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1074\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1449\"/>\n        <source>Tcl</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1082\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1450\"/>\n        <source>Lisp</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1090\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1451\"/>\n        <source>Scheme</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1098\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1452\"/>\n        <source>Assembly</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1111\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1454\"/>\n        <source>Diff</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1119\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1455\"/>\n        <source>Properties file</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1127\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1456\"/>\n        <source>PostScript</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1135\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1457\"/>\n        <source>Ruby</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1143\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1458\"/>\n        <source>Smalltalk</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1151\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1459\"/>\n        <source>VHDL</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1159\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1460\"/>\n        <source>AutoIt</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1167\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1461\"/>\n        <source>CMake</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1175\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1462\"/>\n        <source>PowerShell</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1183\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1463\"/>\n        <source>Jsp</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1191\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1464\"/>\n        <source>CoffeeScript</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1199\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1465\"/>\n        <source>BaanC</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1207\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1466\"/>\n        <source>S-Record</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1215\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1467\"/>\n        <source>TypeScript</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1223\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1468\"/>\n        <source>Visual Prolog</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1231\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1469\"/>\n        <source>Txt2tags</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1239\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1470\"/>\n        <source>Rust</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1247\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1471\"/>\n        <source>Registry</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1255\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1472\"/>\n        <source>REBOL</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1263\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1473\"/>\n        <source>OScript</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1271\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1474\"/>\n        <source>NCrontab</source>\n        <oldsource>Nncrontab</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1279\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1475\"/>\n        <source>Nim</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1287\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1476\"/>\n        <source>MMIXAL</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1295\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1477\"/>\n        <source>LaTeX</source>\n        <oldsource>LaTex</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1303\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1478\"/>\n        <source>Forth</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1311\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1479\"/>\n        <source>ESCRIPT</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1319\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1480\"/>\n        <source>Erlang</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1327\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1481\"/>\n        <source>Csound</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1335\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1482\"/>\n        <source>FreeBasic</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1343\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1483\"/>\n        <source>BlitzBasic</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1351\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1484\"/>\n        <source>PureBasic</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1359\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1485\"/>\n        <source>AviSynth</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1367\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1486\"/>\n        <source>ASN.1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1375\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1487\"/>\n        <source>Swift</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1383\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1488\"/>\n        <source>Intel HEX</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1391\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1489\"/>\n        <source>Fortran77</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1399\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1490\"/>\n        <source>Edifact</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1404\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1412\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1491\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1492\"/>\n        <source>MarkDown</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1420\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1493\"/>\n        <source>Octave</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1428\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1494\"/>\n        <source>Po</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1436\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1495\"/>\n        <source>Pov</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1444\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1496\"/>\n        <source>JSON</source>\n        <oldsource>json</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1460\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1498\"/>\n        <source>AVS</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1468\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1499\"/>\n        <source>Bash</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1476\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1500\"/>\n        <source>IDL</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1484\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1501\"/>\n        <source>Matlab</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1492\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1502\"/>\n        <source>SPICE</source>\n        <oldsource>Spice</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1500\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1503\"/>\n        <source>Verilog</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1624\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1520\"/>\n        <source>Register</source>\n        <translation type=\"unfinished\">注册版本</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1662\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1529\"/>\n        <source>Alt+X</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1954\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1604\"/>\n        <source>About Notepad--</source>\n        <translation type=\"unfinished\">关于 Notepad--</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2075\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1621\"/>\n        <source>Language File Suffix</source>\n        <translation type=\"unfinished\">语法文件后缀关联</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2080\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1622\"/>\n        <source>Shortcut Key Manager</source>\n        <translation type=\"unfinished\">快捷键管理</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2100\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1626\"/>\n        <source>Md5/Sha</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <source>Language Format</source>\n        <translation type=\"obsolete\">编程语言格式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1634\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1522\"/>\n        <source>Open In Text</source>\n        <translation type=\"unfinished\">以文本模式打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1639\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1523\"/>\n        <source>Open In Bin</source>\n        <translation type=\"unfinished\">以二进制模式打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1644\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1524\"/>\n        <source>Remove Head Blank</source>\n        <translation type=\"unfinished\">去除行首空白</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1649\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1525\"/>\n        <source>Remove  End Blank</source>\n        <translation type=\"unfinished\">去除行尾空白</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1654\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1526\"/>\n        <source>Remove Head End Blank</source>\n        <translation type=\"unfinished\">去除行首尾空白</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1659\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1527\"/>\n        <source>Column Block Editing</source>\n        <translation type=\"unfinished\">列块编辑</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1670\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1531\"/>\n        <source>Wrap</source>\n        <translation type=\"unfinished\">自动换行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1675\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1532\"/>\n        <source>Define Language</source>\n        <translation type=\"unfinished\">自定义语言</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1680\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1533\"/>\n        <source>UPPERCASE</source>\n        <translation type=\"unfinished\">转成大写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1685\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1534\"/>\n        <source>lowercase</source>\n        <translation type=\"unfinished\">转成小写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1690\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1535\"/>\n        <source>Proper Case</source>\n        <translation type=\"unfinished\">每词转成仅首字母大写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1695\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1536\"/>\n        <source>Proper Case (blend)</source>\n        <translation type=\"unfinished\">每词的首字母转成大写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1700\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1537\"/>\n        <source>Sentence case</source>\n        <translation type=\"unfinished\">每句转成仅首字母大写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1705\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1538\"/>\n        <source>Sentence case (blend)</source>\n        <translation type=\"unfinished\">每句的首字母转成大写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1710\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1539\"/>\n        <source>Invert Case</source>\n        <translation type=\"unfinished\">大小写互换</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1715\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1540\"/>\n        <source>Random Case</source>\n        <translation type=\"unfinished\">随机大小写</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1720\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1541\"/>\n        <source>Remove Empty Lines</source>\n        <translation type=\"unfinished\">移除空行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1725\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1542\"/>\n        <source>Remove Empty Lines (Containing Blank characters)</source>\n        <translation type=\"unfinished\">移除空行(包括空白字符)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1733\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1543\"/>\n        <source>UserDefine</source>\n        <translation type=\"unfinished\">用户自定义</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1738\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1544\"/>\n        <source>Column Block Mode</source>\n        <translation type=\"unfinished\">列块模式...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1743\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1545\"/>\n        <source>TAB to Space</source>\n        <translation type=\"unfinished\">TAB 转空格</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1748\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1546\"/>\n        <source>Space to TAB (All)</source>\n        <translation type=\"unfinished\">空格转 TAB (全部)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1753\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1547\"/>\n        <source>Space to TAB (Leading)</source>\n        <translation type=\"unfinished\">空格转 TAB (行首)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1758\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1548\"/>\n        <source>Duplicate Current Line</source>\n        <translation type=\"unfinished\">复制当前行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1761\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1550\"/>\n        <source>Ctrl+D</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1766\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1552\"/>\n        <source>Remove Duplicate Lines</source>\n        <translation type=\"unfinished\">删除重复行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1771\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1553\"/>\n        <source>Remove Consecutive Duplicate Lines</source>\n        <translation type=\"unfinished\">删除连续的重复行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1776\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1554\"/>\n        <source>Split Lines</source>\n        <translation type=\"unfinished\">分割行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1781\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1555\"/>\n        <source>Join Lines</source>\n        <translation type=\"unfinished\">合并行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1786\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1556\"/>\n        <source>Move Up Current Line</source>\n        <translation type=\"unfinished\">上移当前行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1789\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1558\"/>\n        <source>Ctrl+Shift+Up</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1794\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1560\"/>\n        <source>Move Down Current Line</source>\n        <translation type=\"unfinished\">下移当前行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1797\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1562\"/>\n        <source>Ctrl+Shift+Down</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1802\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1564\"/>\n        <source>Insert Blank Line Above Current</source>\n        <translation type=\"unfinished\">在当前行上方插入空行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1805\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1566\"/>\n        <source>Ctrl+Alt+Return</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1810\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1568\"/>\n        <source>Insert Blank Line Below Current</source>\n        <translation type=\"unfinished\">在当前行下方插入空行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1813\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1570\"/>\n        <source>Ctrl+Alt+Shift+Return</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1818\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1572\"/>\n        <source>Reverse Line Order</source>\n        <translation type=\"unfinished\">反排序行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1823\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1573\"/>\n        <source>Randomize Line Order</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1828\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1574\"/>\n        <source>Sort Lines Lexicographically Ascending</source>\n        <translation type=\"unfinished\">升序排列文本行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1833\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1575\"/>\n        <source>Sort Lines Lex. Ascending Ignoring Case</source>\n        <translation type=\"unfinished\">升序排列文本行（不分大小写）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1838\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1576\"/>\n        <source>Sort Lines As Integers Ascending</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1843\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1577\"/>\n        <source>Sort Lines As Decimals (Comma) Ascending</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1848\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1578\"/>\n        <source>Sort Lines As Decimals (Dot) Ascending</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1853\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1579\"/>\n        <source>Sort Lines Lexicographically Descending</source>\n        <translation type=\"unfinished\">降序排列文本行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1858\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1580\"/>\n        <source>Sort Lines Lex. Descending Ignoring Case</source>\n        <translation type=\"unfinished\">降序排列文本行（不分大小写）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1863\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1581\"/>\n        <source>Sort Lines As Integers Descending</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1868\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1582\"/>\n        <source>Sort Lines As Decimals (Comma) Descending</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1873\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1583\"/>\n        <source>Sort Lines As Decimals (Dot) Descending</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1878\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1584\"/>\n        <source>Find In Dir</source>\n        <translation type=\"unfinished\">在目录查找</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1881\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1586\"/>\n        <source>Ctrl+Shift+D</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1959\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1993\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1605\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1610\"/>\n        <source>1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1964\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1710\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1606\"/>\n        <source>Format Xml</source>\n        <translation type=\"unfinished\">格式化 Xml</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1969\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1711\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1607\"/>\n        <source>Format Json</source>\n        <translation type=\"unfinished\">格式化 Json</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1977\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1608\"/>\n        <source>Dark</source>\n        <translation type=\"unfinished\">深色</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1985\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1609\"/>\n        <source>VB</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2001\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1611\"/>\n        <source>2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2009\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1612\"/>\n        <source>3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2017\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1613\"/>\n        <source>4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2025\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1614\"/>\n        <source>5</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2033\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1615\"/>\n        <source>loop</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2038\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1616\"/>\n        <source>Clear History</source>\n        <translation type=\"unfinished\">清除历史打开记录</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2046\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1617\"/>\n        <source>FileListView</source>\n        <translation type=\"unfinished\">文件列表窗口</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2057\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1618\"/>\n        <source>Show ToolBar</source>\n        <translation type=\"unfinished\">显示工具栏</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2062\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1715\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1619\"/>\n        <source>Batch Find</source>\n        <translation type=\"unfinished\">批量查找替换</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2070\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1620\"/>\n        <source>Show Web Addr(Not recommended)</source>\n        <translation type=\"unfinished\">显示网站（不推荐开启）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1886\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1588\"/>\n        <source>Find Next</source>\n        <translation type=\"unfinished\">查找下一个</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"510\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1668\"/>\n        <source>menuDir</source>\n        <translation type=\"unfinished\">目录对比记录</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"515\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1669\"/>\n        <source>menuReceFile</source>\n        <translation type=\"unfinished\">文件对比记录</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"533\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1671\"/>\n        <source>T&amp;ools</source>\n        <oldsource>Tools(&amp;O)</oldsource>\n        <translation type=\"unfinished\">工具(&amp;O)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1629\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1521\"/>\n        <source>Theme Style</source>\n        <translation type=\"unfinished\">主题与语法样式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1889\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1590\"/>\n        <source>F3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1894\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1592\"/>\n        <source>Find Prev</source>\n        <translation type=\"unfinished\">查找前一个</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1897\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1594\"/>\n        <source>F4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1902\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1596\"/>\n        <source>Red</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1912\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1598\"/>\n        <source>Blue</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1920\"/>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1925\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1599\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1600\"/>\n        <source>Big5</source>\n        <translation type=\"unfinished\">Big5(繁体中文）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1933\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1601\"/>\n        <source>24x24</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1941\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1602\"/>\n        <source>36x36</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"1949\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1603\"/>\n        <source>48x48</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <source>AboutNdd</source>\n        <oldsource>About ndd</oldsource>\n        <translation type=\"obsolete\">关于 Ndd</translation>\n    </message>\n    <message>\n        <source>info</source>\n        <translation type=\"obsolete\">信息</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1165\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1283\"/>\n        <source>Ln:0\tCol:0</source>\n        <translation type=\"unfinished\">行 0 列 0</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1188\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1316\"/>\n        <source>Quit</source>\n        <translation type=\"unfinished\">退出</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1842\"/>\n        <source>load plugin in dir %1 success, plugin num %2</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2209\"/>\n        <source>Edit with Notepad--</source>\n        <oldsource>Edit with Notebook CC</oldsource>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2338\"/>\n        <source>Close Current Document</source>\n        <translation type=\"unfinished\">关闭当前文档</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2339\"/>\n        <source>Close Non-Current documents</source>\n        <translation type=\"unfinished\">关闭所有非当前文档</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2340\"/>\n        <source>Close Left All</source>\n        <translation type=\"unfinished\">关闭左边所有文档</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2341\"/>\n        <source>Close Right All</source>\n        <translation type=\"unfinished\">关闭右边所有文档</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2345\"/>\n        <source>Current Document Sava as...</source>\n        <translation type=\"unfinished\">当前文件另存为</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2347\"/>\n        <source>Show File in Explorer...</source>\n        <translation type=\"unfinished\">定位到文件路径</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2346\"/>\n        <source>Open in New Window</source>\n        <translation type=\"unfinished\">在新窗口中打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1026\"/>\n        <source>Can&apos;t Get Admin Auth, Open File %1 failed</source>\n        <translation type=\"unfinished\">获取管理员权限失败，打开文件 %1 失败。修改系统文件请以管理员权限执行ndd程序。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2224\"/>\n        <source>Please run in admin auth</source>\n        <translation type=\"unfinished\">请在管理员权限下执行程序</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2344\"/>\n        <source>Rename Current Document </source>\n        <translation type=\"unfinished\">重命名当前文件</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2355\"/>\n        <source>Reload With Text Mode</source>\n        <translation type=\"unfinished\">重新以文本模式打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2356\"/>\n        <source>Reload With Hex Mode</source>\n        <translation type=\"unfinished\">重新以二进制模式打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2359\"/>\n        <source>Select Left Cmp File</source>\n        <translation type=\"unfinished\">选择为左边对比文件</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2360\"/>\n        <source>Select Right Cmp File</source>\n        <translation type=\"unfinished\">选择为右边对比文件</translation>\n    </message>\n    <message>\n        <source>Big Text File ReadOnly</source>\n        <translation type=\"obsolete\">大文本文件只读模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2945\"/>\n        <source>New File</source>\n        <translation type=\"unfinished\">新建</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2951\"/>\n        <source>Open File</source>\n        <translation type=\"unfinished\">打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2957\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5635\"/>\n        <source>Save File</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2963\"/>\n        <source>Save All File</source>\n        <translation type=\"unfinished\">保存所有</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2970\"/>\n        <source>Cycle Auto Save</source>\n        <translation type=\"unfinished\">周期自动保存</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3038\"/>\n        <source>Mark</source>\n        <translation type=\"unfinished\">标记</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3047\"/>\n        <source>word highlight(F8)</source>\n        <translation type=\"unfinished\">高亮单词（F8)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3055\"/>\n        <source>clear all highlight(F7)</source>\n        <translation type=\"unfinished\">取消所有高亮（F7)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3065\"/>\n        <source>Zoom In</source>\n        <translation type=\"unfinished\">放大</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3071\"/>\n        <source>Zoom Out</source>\n        <translation type=\"unfinished\">缩小</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3081\"/>\n        <source>Word Wrap</source>\n        <translation type=\"unfinished\">自动换行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3094\"/>\n        <source>Show Blank</source>\n        <translation type=\"unfinished\">显示空白字符</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3104\"/>\n        <source>Indent Guide</source>\n        <translation type=\"unfinished\">缩进参考线</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3112\"/>\n        <source>tailf file</source>\n        <translation type=\"unfinished\">监控文件</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3120\"/>\n        <source>Pre Hex Page</source>\n        <translation type=\"unfinished\">上一页/位置</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3126\"/>\n        <source>Next Hex Page</source>\n        <translation type=\"unfinished\">下一页/位置</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3132\"/>\n        <source>Goto Hex Page</source>\n        <translation type=\"unfinished\">跳转到文件偏移地址</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3140\"/>\n        <source>File Compare</source>\n        <translation type=\"unfinished\">文件对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3146\"/>\n        <source>Dir Compare</source>\n        <translation type=\"unfinished\">目录对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3152\"/>\n        <source>Bin Compare</source>\n        <translation type=\"unfinished\">二进制对比</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3160\"/>\n        <source>transform encoding</source>\n        <translation type=\"unfinished\">转换编码</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3166\"/>\n        <source>batch rename file</source>\n        <translation type=\"unfinished\">批量重命名</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3309\"/>\n        <source>Zoom: %1%</source>\n        <translation type=\"unfinished\">缩放率: %1%</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3566\"/>\n        <source>Big5(Traditional Chinese)</source>\n        <translation type=\"unfinished\">Big5(繁体中文)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3640\"/>\n        <source>reload file %1 failed</source>\n        <translation type=\"unfinished\">重加载文件 %1 失败</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3733\"/>\n        <source>Yes[Reload]</source>\n        <translation type=\"unfinished\">是 [重新加载]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3733\"/>\n        <source>No[Drop]</source>\n        <translation type=\"unfinished\">否 [放弃更新]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3733\"/>\n        <source>On Tailf</source>\n        <translation type=\"unfinished\">开启自动监控</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4023\"/>\n        <source>Do you want to save changes to before closing?</source>\n        <oldsource>Do you want to save changes to « %1 » before closing?</oldsource>\n        <translation type=\"unfinished\">关闭文件之前，是否保存修改？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4024\"/>\n        <source>If you don&apos;t save the changes you made in file %1, you&apos;ll lose them forever.</source>\n        <translation type=\"unfinished\">如果你不保存在文件 %1 中的修改，变更操作将不会生效。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4027\"/>\n        <source>&amp;Yes</source>\n        <translation type=\"unfinished\">是[&amp;Y]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4030\"/>\n        <source>&amp;No</source>\n        <translation type=\"unfinished\">否[&amp;N]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4033\"/>\n        <source>&amp;Cancel</source>\n        <translation type=\"unfinished\">取消[&amp;C]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4218\"/>\n        <source>New File Finished [Text Mode] Zoom %1%</source>\n        <translation type=\"unfinished\">创建新文件成功 缩放率 %1%</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4541\"/>\n        <source>Use &lt; (Prev) or &gt; (Next) and Goto Buttons to Change Page Num .</source>\n        <oldsource>Use &lt; (Pre) or &gt; (Next) and Goto Buttons to Change Page Num .</oldsource>\n        <translation type=\"unfinished\">使用工具栏按钮 &lt; (前一页） &gt;（下一页） Go(跳转) 进行翻页。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4577\"/>\n        <source>File %1 \nFile Size %2 &gt; %3M, How to Open it ?</source>\n        <translation type=\"unfinished\"> 文件 %1 \n 文件大小 %2 大于 %3M，请选择打开方式。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3636\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4141\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4670\"/>\n        <source>File %1 open success. But Exist Garbled code !</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4781\"/>\n        <source>File %1 Open Finished [Text Mode] Zoom %2%</source>\n        <translation type=\"unfinished\">文件 %1 打开成功 [文本模式] 缩放率 %2%</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4957\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5033\"/>\n        <source>Format Error</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4957\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4961\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5033\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5037\"/>\n        <source>Not a txt format file , load with big txt is garbled code!</source>\n        <translation type=\"unfinished\">文件不是文本格式，强制以大文本打开时乱码！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5026\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5044\"/>\n        <source>Current offset is %1 , line nums is %2 - %3 load Contens Size is %4, File Total Size is %5</source>\n        <translation type=\"unfinished\">当前文件偏移 %1 ，行号 %2-%3 ，分块加载大小 %4 ，文件大小是 %5</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5192\"/>\n        <source>File List</source>\n        <translation type=\"unfinished\">文件列表</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5448\"/>\n        <source>Save Swap File %1 failed. Write the target file directly ?</source>\n        <translation type=\"unfinished\">保存交换文件 %1 失败，是否直接保存写入原始文件？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6555\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6581\"/>\n        <source>Current Zoom Value is %1%</source>\n        <translation type=\"unfinished\">当前缩放率 %1%</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6747\"/>\n        <source>Only Text File Can Use it !</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6760\"/>\n        <source>File %1 into tailf mode, readonly !</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7657\"/>\n        <source>out of file line range,mar line num is %1 !</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8280\"/>\n        <source>Registered Version</source>\n        <translation type=\"unfinished\">注册过的正版软件！（恭喜）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8284\"/>\n        <source>Free Trial</source>\n        <translation type=\"unfinished\">免费永久试用版本（捐赠可获取注册码）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8346\"/>\n        <source>%1 is not a file, skip open it...</source>\n        <translation type=\"unfinished\">%1 不是一个文件，跳过打开它......</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7565\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9482\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9570\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9589\"/>\n        <source>The ReadOnly document does not allow this operation.</source>\n        <translation type=\"unfinished\">当前只读显示文件不允许该操作！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9544\"/>\n        <source>Column Edit Mode Tips</source>\n        <translation type=\"unfinished\">列块模式提示</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9544\"/>\n        <source>&quot;ALT+Mouse Click&quot; or &quot;Alt+Shift+Arrow keys&quot; Switch to mode!</source>\n        <translation type=\"unfinished\">请使用&apos;ALT+鼠标点选&apos; 或 &apos;Alt+Shif+箭头键&apos;切换列块模式。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9984\"/>\n        <source>SortingError</source>\n        <translation type=\"unfinished\">排序错误</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9984\"/>\n        <source>Unable to perform numeric sorting due to line %1.</source>\n        <translation type=\"unfinished\">行 %1 不能进行排序操作！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"10046\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"10071\"/>\n        <source>what find is null !</source>\n        <translation type=\"unfinished\">查找字段为空</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"10135\"/>\n        <source>XML format error, please check!</source>\n        <oldsource>Xml format error, please check!</oldsource>\n        <translation type=\"unfinished\">Xml 格式化错误，请检查文件格式！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"10165\"/>\n        <source>JSON format error, please check!</source>\n        <oldsource>Json format error, please check!</oldsource>\n        <translation type=\"unfinished\">Json 格式化错误，请检查文件格式！</translation>\n    </message>\n    <message>\n        <source>The window background that has been opened will take effect after it is reopened.</source>\n        <translation type=\"obsolete\">已打开的窗口背景颜色，将在文件重新打开后才会生效！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3562\"/>\n        <source>GB18030(Simplified Chinese)</source>\n        <translation type=\"unfinished\">GB18030(简体中文)</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3586\"/>\n        <source>Language: %1</source>\n        <translation type=\"unfinished\">语法：%1</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3733\"/>\n        <source>Reload</source>\n        <translation type=\"unfinished\">重加载</translation>\n    </message>\n    <message>\n        <source>Yes</source>\n        <translation type=\"obsolete\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4633\"/>\n        <source>No</source>\n        <translation type=\"unfinished\">放弃修改</translation>\n    </message>\n    <message>\n        <source>Cancel</source>\n        <translation type=\"obsolete\">取消</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4145\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9188\"/>\n        <source>Restore Last Temp File %1 Failed</source>\n        <translation type=\"unfinished\">恢复临时文件 %1 失败！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4633\"/>\n        <source>Recover File?</source>\n        <translation type=\"unfinished\">是否恢复文件？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4633\"/>\n        <source>File %1 abnormally closed last time , Restore it ?</source>\n        <translation type=\"unfinished\">文件 %1 上次异常退出并留下未保存存档，是否恢复文件存档？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4633\"/>\n        <source>Restore</source>\n        <translation type=\"unfinished\">恢复文件？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4683\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5260\"/>\n        <source>File %1 Open Failed</source>\n        <translation type=\"unfinished\">文件 %1 打开失败！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8251\"/>\n        <source>\n&lt;a href=&quot;https://gitee.com/cxasm/notepad--&quot;&gt;https://gitee.com/cxasm/notepad--&lt;/a&gt;\n&lt;br/&gt;\n&lt;a href=&quot;https://github.com/cxasm/notepad--&quot;&gt;https://github.com/cxasm/notepad--&lt;/a&gt;\n</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8274\"/>\n        <source>Notepad-- Version %1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9297\"/>\n        <source>File %1 Open Finished [Text Mode]</source>\n        <translation type=\"unfinished\">文件 %1 打开成功 [文本模式]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4824\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4950\"/>\n        <source>Current offset is %1 , load Contens Size is %2, File Total Size is %3</source>\n        <translation type=\"unfinished\">当前文件偏移 %1 ， 加载内容大小是 %2，文件总大小是 %3 （字节）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5100\"/>\n        <source>File %1 Open Finished [Hex ReayOnly Mode]</source>\n        <translation type=\"unfinished\">文件 %1 打开成功 [二进制只读模式]</translation>\n    </message>\n    <message>\n        <source>file %1 may be a hex file , try open with text file.</source>\n        <translation type=\"obsolete\">文件 %1 可能是二进制文件，尝试以文本格式打开。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5453\"/>\n        <source>Save File %1 failed. You may not have write privileges \nPlease save as a new file!</source>\n        <translation type=\"unfinished\">保存文件 %1 失败！ 你可能没有文件写权限，请另存为一个新文件！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5994\"/>\n        <source>Cycle autosave on ...</source>\n        <translation type=\"unfinished\">周期性自动保存文件已开启...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6002\"/>\n        <source>Cycle autosave off ...</source>\n        <translation type=\"unfinished\">周期性自动保存文件已关闭...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6059\"/>\n        <source>The current document has been automatically saved</source>\n        <translation type=\"unfinished\">当前文件周期性自动保存完毕！</translation>\n    </message>\n    <message>\n        <source>file %1 was closed !</source>\n        <translation type=\"obsolete\">文件 %1 已经关闭 ！</translation>\n    </message>\n    <message>\n        <source>&quot;%1&quot;\n\n \nThis file has been modified by another program.\nDo you want to reload it?</source>\n        <translation type=\"obsolete\">%1\\n\\n \\n文件已在外部被其它程序修改。\\n是否重新加载该文件?</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3780\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3787\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3796\"/>\n        <source>Ln: %1\tCol: %2</source>\n        <translation type=\"unfinished\">行：%1 列：%2</translation>\n    </message>\n    <message>\n        <source>Save File?</source>\n        <translation type=\"obsolete\">保存文件？</translation>\n    </message>\n    <message>\n        <source>if save file %1 ?</source>\n        <translation type=\"obsolete\">是否保存文件 %1 ？</translation>\n    </message>\n    <message>\n        <source>Current offset is %1 , File Size is %2</source>\n        <translation type=\"obsolete\">当前文件偏移 %1 ， 文件大小是 %2 （字节）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1026\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5287\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5411\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5448\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5453\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5642\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5762\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5811\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\">错误</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5287\"/>\n        <source>file %1 not exist.</source>\n        <translation type=\"unfinished\">文件 %1 不存在</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5313\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8394\"/>\n        <source>file %1 already open at tab %2</source>\n        <translation type=\"unfinished\">文件 %1 已经在页面 %2 中打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5411\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5413\"/>\n        <source>Save File %1 failed. Can not write auth, Please save as new file</source>\n        <translation type=\"unfinished\">保存 %1 失败。当前文件没有写权限，请另存为一个新文件</translation>\n    </message>\n    <message>\n        <source>Open File %1 failed</source>\n        <translation type=\"obsolete\">打开文件 %1 失败</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4275\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5610\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5787\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7557\"/>\n        <source>Only Text File Can Use it, Current Doc is a Hex File !</source>\n        <translation type=\"unfinished\">只有文本模式才能使用该功能，当前文件是二进制文件！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"3733\"/>\n        <source>&quot;%1&quot; This file has been modified by another program. Do you want to reload it?</source>\n        <translation type=\"unfinished\">%1 该文件已在外部被其它程序修改，是否重新加载？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1002\"/>\n        <source>Run As Admin Failed to save the file. Please check the file permissions.</source>\n        <translation type=\"unfinished\">以管理员模式保存文件失败！请检查文件的权限。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"2095\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1625\"/>\n        <source>Plugin Manager</source>\n        <translation type=\"unfinished\">插件管理</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1807\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1831\"/>\n        <source>plugin %1 load failed !</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.ui\" line=\"539\"/>\n        <location filename=\"ui_ccnotepad.h\" line=\"1672\"/>\n        <source>Plugin</source>\n        <translation type=\"unfinished\">插件</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1893\"/>\n        <source>If display exceptions,Please Install System Font Courier</source>\n        <translation type=\"unfinished\">如果界面字体不满意，还请安装windows系统字体 Courier</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1969\"/>\n        <source>Set/Remove BookMark</source>\n        <translation type=\"unfinished\">设置/取消书签</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1972\"/>\n        <source>Next BookMark</source>\n        <translation type=\"unfinished\">下一书签</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1975\"/>\n        <source>Prev BookMark</source>\n        <translation type=\"unfinished\">上一书签</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1978\"/>\n        <source>ClearAll BookMark</source>\n        <translation type=\"unfinished\">清除所有书签</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1981\"/>\n        <source>Cut BookMark Lines</source>\n        <translation type=\"unfinished\">剪切书签行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1984\"/>\n        <source>Copy BookMark Lines</source>\n        <translation type=\"unfinished\">复制书签行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1987\"/>\n        <source>Paste BookMark Lines</source>\n        <translation type=\"unfinished\">粘贴(替换)书签行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1990\"/>\n        <source>Delete BookMark Lines</source>\n        <translation type=\"unfinished\">删除书签行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1993\"/>\n        <source>Delete UnBookMark Lines</source>\n        <translation type=\"unfinished\">删除未标记行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"1996\"/>\n        <source>Clip BookMark</source>\n        <translation type=\"unfinished\">反向标记书签</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2036\"/>\n        <source>Color %1</source>\n        <translation type=\"unfinished\">颜色 %1</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2351\"/>\n        <source>Cmd in Explorer...</source>\n        <translation type=\"unfinished\">在文件目录打开CMD窗口</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2435\"/>\n        <source>The currently file %1 is already in text mode</source>\n        <translation type=\"unfinished\">当前文件 %1 已经是文本模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2451\"/>\n        <source>The currently file %1 is already in bin mode</source>\n        <translation type=\"unfinished\">当前文件 %1 已经是二进制模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"2539\"/>\n        <source>open cmd in file dir %1 failed.</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"4788\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"9303\"/>\n        <source>File %1 Open Finished [Text ReadOnly Mode] (Note: display up to 50K bytes ...)</source>\n        <translation type=\"unfinished\">文件 %1 打开成功 [文本只读模式] （乱码：二进制文件强行以文本格式显示，最多显示50K字节的内容，后面忽略...）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5642\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5811\"/>\n        <source>file %1 already open at tab %2, please select other file name.</source>\n        <translation type=\"unfinished\">文件 %1 已经存在于页面 %2 中，请选择一个其它名称</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5723\"/>\n        <source>Rename File As ...</source>\n        <translation type=\"unfinished\">重命名...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5762\"/>\n        <source>file %1 reanme failed!</source>\n        <translation type=\"unfinished\">文件 %1 重命名失败！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5802\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"5839\"/>\n        <source>Save File As ...</source>\n        <translation type=\"unfinished\">另存为文件 ...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6332\"/>\n        <source>Close ?</source>\n        <translation type=\"unfinished\">关闭?</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"6332\"/>\n        <source>already has child window open, close all ?</source>\n        <translation type=\"unfinished\">目前还有子窗口处于打开状态，关闭所有窗口吗？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7299\"/>\n        <source>Find result</source>\n        <translation type=\"unfinished\">查找结果</translation>\n    </message>\n    <message>\n        <source>file was closed !</source>\n        <translation type=\"obsolete\">文件已关闭</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7476\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7488\"/>\n        <source>Find result - %1 hit</source>\n        <translation type=\"unfinished\">查找结果 - %1 命中</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7595\"/>\n        <source>Convert end of line In progress, please wait ...</source>\n        <translation type=\"unfinished\">行尾转换中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7600\"/>\n        <source>Convert end of line finish.</source>\n        <translation type=\"unfinished\">行尾转换完毕</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7625\"/>\n        <source>Go to line</source>\n        <translation type=\"unfinished\">跳转到行</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7625\"/>\n        <source>Line Num:</source>\n        <translation type=\"unfinished\">行号</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7966\"/>\n        <source>no more pre pos</source>\n        <translation type=\"unfinished\">没有前一个位置了</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8058\"/>\n        <source>no more next pos</source>\n        <translation type=\"unfinished\">没有后一个位置了</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8028\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8076\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8094\"/>\n        <source>The Last Page ! Current offset is %1 , load Contens Size is %2, File Total Size is %3</source>\n        <translation type=\"unfinished\">最后一页！当前文件偏移是 %1 ，加载内容大小是 %2 ，文件总大小是 %3 (字节）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8156\"/>\n        <source>Only Hex File Can Use it, Current Doc not a Hex File !</source>\n        <translation type=\"unfinished\">只有二进制文件具备该功能。当前文件不是二进制文件！</translation>\n    </message>\n    <message>\n        <source>The Last Page ! Current offset is %1 , File Size is %2</source>\n        <translation type=\"obsolete\">最后一页！当前文件偏移是 %1 ，文件大小是 %2 (字节）</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7390\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"7459\"/>\n        <source>file %1 was not exists !</source>\n        <translation type=\"unfinished\">文件 %1 不存在！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8172\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8223\"/>\n        <source>Error file offset addr , please check !</source>\n        <translation type=\"unfinished\">错误的文件偏移量地址，请检查！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8185\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8237\"/>\n        <source>File Size is %1, addr %2 is exceeds file size</source>\n        <translation type=\"unfinished\">文件大小是 %1，当前地址 %2 超过了文件大小。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8243\"/>\n        <source>Current Text Doc Can Not Use it !</source>\n        <oldsource>Current Text Doc Canp Not Use it !</oldsource>\n        <translation type=\"unfinished\">当前是常规文本文档，不能使用该功能！</translation>\n    </message>\n    <message>\n        <source>bugfix: https://github.com/cxasm/notepad-- \nchina: https://gitee.com/cxasm/notepad--</source>\n        <oldsource>bugfix: https://github.com/cxasm/notepad--</oldsource>\n        <translation type=\"obsolete\">bug反馈：https://github.com/cxasm/notepad--\n国内：https://gitee.com/cxasm/notepad--</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8778\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8812\"/>\n        <source>notice</source>\n        <translation type=\"unfinished\">消息</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8778\"/>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"8812\"/>\n        <source>file path not exist, remove recent record!</source>\n        <translation type=\"unfinished\">文件路径不存在，删除历史记录！</translation>\n    </message>\n</context>\n<context>\n    <name>CTipWin</name>\n    <message>\n        <location filename=\"ctipwin.ui\" line=\"30\"/>\n        <location filename=\"ui_ctipwin.h\" line=\"63\"/>\n        <source>Msg Tips</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>CmpareMode</name>\n    <message>\n        <location filename=\"CmpareMode.cpp\" line=\"219\"/>\n        <source>File Compare Finished !</source>\n        <translation type=\"unfinished\">文件对比完成！</translation>\n    </message>\n    <message>\n        <location filename=\"CmpareMode.cpp\" line=\"236\"/>\n        <location filename=\"CmpareMode.cpp\" line=\"241\"/>\n        <source>Error : Max Bin File Size is 10M ! Exceeding file size !</source>\n        <translation type=\"unfinished\">错误：二进制对比最大文件为10M ! 超过限制。</translation>\n    </message>\n    <message>\n        <location filename=\"CmpareMode.cpp\" line=\"1535\"/>\n        <source>File Start Pos Exceeding File Size !</source>\n        <translation type=\"unfinished\">文件开始偏移位置超过文件长度！</translation>\n    </message>\n    <message>\n        <location filename=\"CmpareMode.cpp\" line=\"3040\"/>\n        <source>BigFile Compare, left linenum %1 , right lineNum %2, Please Waiting !</source>\n        <translation type=\"unfinished\">大文件对比，左文件行数 %1 ，右文件行数 %2, 请等待 ！</translation>\n    </message>\n    <message>\n        <source>Compare Left, Total Step %1 Cur Deal step %2 ...</source>\n        <translation type=\"obsolete\">对比左文件，总步数 %1 当前处理 %2 步 ...</translation>\n    </message>\n    <message>\n        <source>Compare Right, Total Step %1 Cur Deal step %2 ...</source>\n        <translation type=\"obsolete\">对比右文件，总步数 %1 当前处理 %2 步 ...</translation>\n    </message>\n    <message>\n        <source>Outpu Compare Result, Total Step %1 , Current Step %2 ......</source>\n        <translation type=\"obsolete\">输出对比结果中，总步数 %1，当前第 %2 步 ......</translation>\n    </message>\n</context>\n<context>\n    <name>ColumnEdit</name>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"20\"/>\n        <location filename=\"ui_columnedit.h\" line=\"288\"/>\n        <source>ColumnEdit</source>\n        <translation type=\"unfinished\">列块编辑</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"44\"/>\n        <location filename=\"ui_columnedit.h\" line=\"289\"/>\n        <source>Insert Text</source>\n        <translation type=\"unfinished\">插入文本</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"65\"/>\n        <location filename=\"ui_columnedit.h\" line=\"290\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"72\"/>\n        <location filename=\"ui_columnedit.h\" line=\"291\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"83\"/>\n        <location filename=\"ui_columnedit.h\" line=\"292\"/>\n        <source>Insert Num</source>\n        <translation type=\"unfinished\">插入数字</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"103\"/>\n        <location filename=\"ui_columnedit.h\" line=\"293\"/>\n        <source>Initial value:</source>\n        <translation type=\"unfinished\">初始值：</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"110\"/>\n        <location filename=\"columnedit.ui\" line=\"116\"/>\n        <location filename=\"ui_columnedit.h\" line=\"294\"/>\n        <location filename=\"ui_columnedit.h\" line=\"295\"/>\n        <source>1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"143\"/>\n        <location filename=\"ui_columnedit.h\" line=\"296\"/>\n        <source>increment:</source>\n        <translation type=\"unfinished\">增量值：</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"183\"/>\n        <location filename=\"ui_columnedit.h\" line=\"297\"/>\n        <source>Repetitions:</source>\n        <translation type=\"unfinished\">重复次数：</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"223\"/>\n        <location filename=\"ui_columnedit.h\" line=\"298\"/>\n        <source>prefix string:</source>\n        <translation type=\"unfinished\">前缀字符串：</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"252\"/>\n        <location filename=\"ui_columnedit.h\" line=\"299\"/>\n        <source>Format</source>\n        <translation type=\"unfinished\">格式</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"260\"/>\n        <location filename=\"ui_columnedit.h\" line=\"300\"/>\n        <source>Decimal </source>\n        <translation type=\"unfinished\">十进制</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"283\"/>\n        <location filename=\"ui_columnedit.h\" line=\"301\"/>\n        <source>Hex</source>\n        <translation type=\"unfinished\">16进制</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"293\"/>\n        <location filename=\"ui_columnedit.h\" line=\"302\"/>\n        <source>Capital</source>\n        <translation type=\"unfinished\">大写</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"307\"/>\n        <location filename=\"ui_columnedit.h\" line=\"303\"/>\n        <source>Octal </source>\n        <translation type=\"unfinished\">八进制</translation>\n    </message>\n    <message>\n        <location filename=\"columnedit.ui\" line=\"314\"/>\n        <location filename=\"ui_columnedit.h\" line=\"304\"/>\n        <source>Binary</source>\n        <translation type=\"unfinished\">二进制</translation>\n    </message>\n</context>\n<context>\n    <name>CompareDirs</name>\n    <message>\n        <location filename=\"CompareDirs.ui\" line=\"14\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"218\"/>\n        <source>NetRegister Dirs</source>\n        <translation type=\"unfinished\">对比文件夹</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.ui\" line=\"84\"/>\n        <location filename=\"CompareDirs.ui\" line=\"212\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"220\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"232\"/>\n        <source>Open Dir</source>\n        <translatorcomment>打开文件夹</translatorcomment>\n        <translation type=\"unfinished\">打开</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.ui\" line=\"98\"/>\n        <location filename=\"CompareDirs.ui\" line=\"226\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"224\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"236\"/>\n        <source>Reload Dir</source>\n        <translation type=\"unfinished\">重载</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.ui\" line=\"144\"/>\n        <location filename=\"CompareDirs.ui\" line=\"266\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"230\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"242\"/>\n        <source>Name</source>\n        <translation type=\"unfinished\">文件名</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.ui\" line=\"149\"/>\n        <location filename=\"CompareDirs.ui\" line=\"271\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"229\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"241\"/>\n        <source>FileSize</source>\n        <translation type=\"unfinished\">大小</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.ui\" line=\"154\"/>\n        <location filename=\"CompareDirs.ui\" line=\"276\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"228\"/>\n        <location filename=\"ui_CompareDirs.h\" line=\"240\"/>\n        <source>Modify Time</source>\n        <oldsource>Time</oldsource>\n        <translation type=\"unfinished\">时间</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"80\"/>\n        <source>rule</source>\n        <translation type=\"unfinished\">规则</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"89\"/>\n        <source>all</source>\n        <translation type=\"unfinished\">全部</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"97\"/>\n        <source>diff</source>\n        <translation type=\"unfinished\">不同</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"105\"/>\n        <source>only diff</source>\n        <translation type=\"unfinished\">差异</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"113\"/>\n        <source>unique</source>\n        <translation type=\"unfinished\">独有</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"125\"/>\n        <source>expand</source>\n        <translation type=\"unfinished\">展开</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"133\"/>\n        <source>fold</source>\n        <translation type=\"unfinished\">收起</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"144\"/>\n        <source>clear</source>\n        <translation type=\"unfinished\">清空</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"152\"/>\n        <source>swap</source>\n        <translation type=\"unfinished\">交换</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"160\"/>\n        <source>reload</source>\n        <translation type=\"unfinished\">重载</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"263\"/>\n        <source>Status: normal</source>\n        <translation type=\"unfinished\">状态：正常</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"444\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"467\"/>\n        <source>error: %1 not a dir !</source>\n        <translation type=\"unfinished\">错误：%1 不是一个目录！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"762\"/>\n        <source>now busy, please try later ...</source>\n        <translation type=\"unfinished\">当前忙，稍后再试...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"835\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"857\"/>\n        <source>Copy to right</source>\n        <translation type=\"unfinished\">拷贝到右边</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"836\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"858\"/>\n        <source>Cover Diffent File To Right</source>\n        <translation type=\"unfinished\">覆盖不同文件到右边</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"837\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"859\"/>\n        <source>Cover Diffent File To Right (Traverse subdirectories)</source>\n        <translation type=\"unfinished\">覆盖不同文件到右边(递归子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"841\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"851\"/>\n        <source>Copy to left</source>\n        <translation type=\"unfinished\">拷贝到左边</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"842\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"852\"/>\n        <source>Cover Diffent File To Left</source>\n        <translation type=\"unfinished\">覆盖不同文件到左边</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"843\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"853\"/>\n        <source>Cover Diffent File To Left (Traverse subdirectories)</source>\n        <translation type=\"unfinished\">覆盖不同文件到左边(递归子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"870\"/>\n        <source>Mark as equal</source>\n        <translation type=\"unfinished\">标记为相等</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"879\"/>\n        <source>Copy Unique File To Other Side</source>\n        <translation type=\"unfinished\">拷贝独有文件到对方</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"889\"/>\n        <source>Copy Unique File To Other Side (Traverse subdirectories)</source>\n        <translation type=\"unfinished\">拷贝独有文件到对方(递归子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"895\"/>\n        <source>Delete This File</source>\n        <translation type=\"unfinished\">删除该文件</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"899\"/>\n        <source>Delete Only in This Side</source>\n        <translation type=\"unfinished\">删除本侧独有文件</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"905\"/>\n        <source>Cope Path To Clipboard</source>\n        <translation type=\"unfinished\">拷贝文件路径到剪切板</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"946\"/>\n        <source>Find File By Name</source>\n        <translation type=\"unfinished\">查找文件</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"990\"/>\n        <source>%1 not exist, please check!</source>\n        <translation type=\"unfinished\">文件 %1 不存在，请检查！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"991\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1029\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1186\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1221\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1291\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1325\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1372\"/>\n        <source>Notice</source>\n        <translation type=\"unfinished\">消息</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1020\"/>\n        <source>del file %1 success!</source>\n        <translation type=\"unfinished\">删除文件 %1 成功！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1024\"/>\n        <source>del file %1 failed, maybe other place using !</source>\n        <translation type=\"unfinished\">删除文件 %1 失败，可能其它地方在使用中！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1029\"/>\n        <source>Do you want to delete this files ?</source>\n        <translation type=\"unfinished\">您确定删除该文件吗？</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1068\"/>\n        <source>right Dirs No Find Prev!</source>\n        <translation type=\"unfinished\">右边目录没有找到前一个！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1069\"/>\n        <source>right Dirs No Find Next!</source>\n        <translation type=\"unfinished\">右边目录没有找到下一个！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1099\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1142\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1171\"/>\n        <source>Not Find</source>\n        <translation type=\"unfinished\">没有找到</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1069\"/>\n        <source>left Dirs No Find Next!</source>\n        <translation type=\"unfinished\">左边目录没有找到下一个！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1068\"/>\n        <source>left Dirs No Find Prev!</source>\n        <translation type=\"unfinished\">左边目录没有找到上一个！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1099\"/>\n        <source>can not find %1</source>\n        <translation type=\"unfinished\">没有找到相关文件 %1</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1186\"/>\n        <source>Do you want to overwrite all files (excluding folders) to the other side?</source>\n        <translation type=\"unfinished\">您确定覆盖目录下所有不同文件到对方吗？（不递归子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1206\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1274\"/>\n        <source>cover file %1 please waiting</source>\n        <translation type=\"unfinished\">覆盖文件 %1 请等待</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1212\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1282\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1316\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1362\"/>\n        <source>cover file finish, total cover %1 files</source>\n        <translation type=\"unfinished\">覆盖文件完成，一共覆盖 %1 个文件</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1221\"/>\n        <source>Do you want to overwrite all files (Traverse subdirs) to the other side?</source>\n        <translation type=\"unfinished\">您确定覆盖目录下所有不同文件到对方吗？（递归覆盖子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1291\"/>\n        <source>Do you want to copy unique files (excluding folders) to the other side?</source>\n        <translation type=\"unfinished\">您确定拷贝此目录下独有文件到对方？（不递归子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1325\"/>\n        <source>Do you want to copy unique files (Traverse subdirs) to the other side?</source>\n        <translation type=\"unfinished\">您确定拷贝此目录下独有文件到对方？（递归拷贝子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1372\"/>\n        <source>Do you want to delete all files (excluding folders) only in this side?</source>\n        <translation type=\"unfinished\">您确定删除目录下的独有文件吗？（不递归子目录）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1398\"/>\n        <source>delete file finish, total del %1 files</source>\n        <translation type=\"unfinished\">删除文件完成，一共删除 %1 个文件</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1480\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1564\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1654\"/>\n        <source>%1 not exist, skip ...</source>\n        <translation type=\"unfinished\">文件 %1 不存在，跳过...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1489\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1570\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1661\"/>\n        <source>%1 is exist, if replace ?</source>\n        <translation type=\"unfinished\">%1 已经存在，是否替换文件？</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1491\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1572\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1663\"/>\n        <source>Replace ?</source>\n        <translation type=\"unfinished\">是否替换？</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1546\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1646\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1718\"/>\n        <source>copy file %1 failed, please check file auth !</source>\n        <translation type=\"unfinished\">拷贝文件 %1 失败，请检查文件权限！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1734\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1745\"/>\n        <source>current file: %1</source>\n        <oldsource>current file %1</oldsource>\n        <translation type=\"unfinished\">当前文件：%1</translation>\n    </message>\n    <message>\n        <source>No</source>\n        <translation type=\"obsolete\">放弃修改</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1793\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1821\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1987\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2015\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1793\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1821\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1987\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2015\"/>\n        <source>Yes[hex cmp]</source>\n        <translation type=\"unfinished\">是[进行二进制对比]</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1793\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1821\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1987\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2015\"/>\n        <source>No[text cmp]</source>\n        <translation type=\"unfinished\">否[进行文件对比]</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2258\"/>\n        <source>current exec rule mode is quick mode, please wait ...</source>\n        <translation type=\"unfinished\">当前执行的对比模式是快速模式，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2262\"/>\n        <source>current exec rule mode is deep slow mode, please wait ...</source>\n        <translation type=\"unfinished\">当前执行的对比模式是深入文本慢速模式，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2296\"/>\n        <source>There are still %1 files haven&apos;t returned comparison results</source>\n        <translation type=\"unfinished\">还有 %1 个文件正在对比中</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2300\"/>\n        <source>file is %1 in comparing !</source>\n        <translation type=\"unfinished\">文件 %1 对比进行中！</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"3043\"/>\n        <source>load dir file tree in progress\n, please wait ...</source>\n        <translation type=\"unfinished\">正在加载文件树目录，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"3072\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"3080\"/>\n        <source>skip dir %1</source>\n        <translation type=\"unfinished\">跳过目录 %1</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"3103\"/>\n        <source>load %1 dir %2</source>\n        <translation type=\"unfinished\">加载第 %1 个目录 %2</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"3140\"/>\n        <source>skip file ext %1</source>\n        <translation type=\"unfinished\">跳过文件类型 %1</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"3146\"/>\n        <source>skip file prefix %1</source>\n        <translation type=\"unfinished\">跳过文件前缀 %1</translation>\n    </message>\n    <message>\n        <source>file [%1] not a text file, can&apos;t cmpare !!!</source>\n        <translation type=\"obsolete\">文件 [%1] 不是文本文件，不能进行比较！！！</translation>\n    </message>\n    <message>\n        <source>file [%1] may be not a text file, cmp is dangerous!\n Forced comparison ?</source>\n        <translation type=\"obsolete\">文件 [%1] 可能不是文本文件，比较操作危险，强行比较吗？（不建议）</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2125\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2142\"/>\n        <source>Open Directory</source>\n        <translation type=\"unfinished\">打开目录</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2206\"/>\n        <source>init dir file tree in progress\ntotal %1 file, please wait ...</source>\n        <translation type=\"unfinished\">初始化文件树目录中，一共 %1 文件，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2172\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2195\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2254\"/>\n        <source>Comparison in progress, please wait ...</source>\n        <translation type=\"unfinished\">对比文件进行中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"1793\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1821\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"1987\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2015\"/>\n        <source>file [%1] may be not a text file, cmp in hex mode?</source>\n        <translation type=\"unfinished\">文件 %1 可能不是文本格式，是否进行二进制格式对比？</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2281\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2282\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2626\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"3177\"/>\n        <source>compare canceled ...</source>\n        <translation type=\"unfinished\">对比被取消</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2323\"/>\n        <source>compare not finished, user canceled ...</source>\n        <translation type=\"unfinished\">对比没有完成，用户取消</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2324\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2409\"/>\n        <source>user canceled finished ...</source>\n        <translation type=\"unfinished\">用户取消完成</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2330\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2413\"/>\n        <location filename=\"CompareDirs.cpp\" line=\"2414\"/>\n        <source>compare file finish ...</source>\n        <translation type=\"unfinished\">文件对比完成</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2438\"/>\n        <source>load dir files, please wait ...</source>\n        <translation type=\"unfinished\">加载目录中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"CompareDirs.cpp\" line=\"2490\"/>\n        <source>load dir finish, total %1 files</source>\n        <translation type=\"unfinished\">加载目录完成，一共加载 %1 个文件</translation>\n    </message>\n</context>\n<context>\n    <name>CompareHexWin</name>\n    <message>\n        <location filename=\"comparehexwin.ui\" line=\"20\"/>\n        <location filename=\"ui_comparehexwin.h\" line=\"207\"/>\n        <source>NetRegister Bin File</source>\n        <translation type=\"unfinished\">二进制文件对比</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.ui\" line=\"81\"/>\n        <location filename=\"comparehexwin.ui\" line=\"180\"/>\n        <location filename=\"ui_comparehexwin.h\" line=\"209\"/>\n        <location filename=\"ui_comparehexwin.h\" line=\"217\"/>\n        <source>Open File</source>\n        <translation type=\"unfinished\">打开</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.ui\" line=\"104\"/>\n        <location filename=\"comparehexwin.ui\" line=\"203\"/>\n        <location filename=\"ui_comparehexwin.h\" line=\"213\"/>\n        <location filename=\"ui_comparehexwin.h\" line=\"221\"/>\n        <source>Save File</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"50\"/>\n        <location filename=\"comparehexwin.cpp\" line=\"51\"/>\n        <source>info</source>\n        <translation type=\"unfinished\">信息</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"59\"/>\n        <location filename=\"comparehexwin.cpp\" line=\"60\"/>\n        <source>rule</source>\n        <translation type=\"unfinished\">规则</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"68\"/>\n        <source>clear</source>\n        <translation type=\"unfinished\">清空</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"79\"/>\n        <location filename=\"comparehexwin.cpp\" line=\"80\"/>\n        <source>swap</source>\n        <translation type=\"unfinished\">交换</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"88\"/>\n        <location filename=\"comparehexwin.cpp\" line=\"89\"/>\n        <source>reload</source>\n        <translation type=\"unfinished\">重载</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"178\"/>\n        <source>Drag file support ...</source>\n        <translation type=\"unfinished\">支持文件拖动...</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"454\"/>\n        <source>Comparison in progress, please wait ...</source>\n        <translation type=\"unfinished\">对比文件进行中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"469\"/>\n        <source>Error : Max Bin File Size is 10M ! Exceeding file size !</source>\n        <translation type=\"unfinished\">错误：二进制对比最大文件为10M ! 超过限制。</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"498\"/>\n        <source>cmpare bin file in progress\nplease wait ...</source>\n        <translation type=\"unfinished\">二进制文件对比中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"624\"/>\n        <source>now busy, please try later ...</source>\n        <translation type=\"unfinished\">当前忙，稍后再试...</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"663\"/>\n        <location filename=\"comparehexwin.cpp\" line=\"668\"/>\n        <source>Compare Result</source>\n        <translation type=\"unfinished\">对比结果</translation>\n    </message>\n    <message>\n        <location filename=\"comparehexwin.cpp\" line=\"663\"/>\n        <location filename=\"comparehexwin.cpp\" line=\"668\"/>\n        <source>Left size %1 byte, right size %2 byte \nEqual content size %3 \nLeft Equal ratio %4 Right Equal ratio %5</source>\n        <translation type=\"unfinished\">左文件大小 %1 右文件大小 %2\n相等内容长度 %3 \n左边相等率 %4 右边相等率%5</translation>\n    </message>\n</context>\n<context>\n    <name>CompareWin</name>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"20\"/>\n        <location filename=\"ui_comparewin.h\" line=\"294\"/>\n        <source>NetRegister File</source>\n        <translation type=\"unfinished\">对比文件</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"100\"/>\n        <location filename=\"comparewin.ui\" line=\"296\"/>\n        <location filename=\"ui_comparewin.h\" line=\"296\"/>\n        <location filename=\"ui_comparewin.h\" line=\"319\"/>\n        <source>Open File</source>\n        <translation type=\"unfinished\">打开</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"120\"/>\n        <location filename=\"comparewin.ui\" line=\"316\"/>\n        <location filename=\"comparewin.cpp\" line=\"4493\"/>\n        <location filename=\"comparewin.cpp\" line=\"4523\"/>\n        <location filename=\"ui_comparewin.h\" line=\"300\"/>\n        <location filename=\"ui_comparewin.h\" line=\"323\"/>\n        <source>Save File</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"151\"/>\n        <location filename=\"comparewin.cpp\" line=\"4290\"/>\n        <location filename=\"comparewin.cpp\" line=\"4302\"/>\n        <location filename=\"ui_comparewin.h\" line=\"303\"/>\n        <source>left text code</source>\n        <translation type=\"unfinished\">左边编码</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"172\"/>\n        <location filename=\"comparewin.ui\" line=\"365\"/>\n        <location filename=\"ui_comparewin.h\" line=\"306\"/>\n        <location filename=\"ui_comparewin.h\" line=\"329\"/>\n        <source>UTF16-LE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"177\"/>\n        <location filename=\"comparewin.ui\" line=\"370\"/>\n        <location filename=\"ui_comparewin.h\" line=\"307\"/>\n        <location filename=\"ui_comparewin.h\" line=\"330\"/>\n        <source>UTF16-BG</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"162\"/>\n        <location filename=\"comparewin.ui\" line=\"355\"/>\n        <location filename=\"ui_comparewin.h\" line=\"304\"/>\n        <location filename=\"ui_comparewin.h\" line=\"327\"/>\n        <source>UTF-8</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"167\"/>\n        <location filename=\"comparewin.ui\" line=\"360\"/>\n        <location filename=\"ui_comparewin.h\" line=\"305\"/>\n        <location filename=\"ui_comparewin.h\" line=\"328\"/>\n        <source>UTF-8 BOM</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"182\"/>\n        <location filename=\"comparewin.ui\" line=\"375\"/>\n        <location filename=\"ui_comparewin.h\" line=\"308\"/>\n        <location filename=\"ui_comparewin.h\" line=\"331\"/>\n        <source>GBK</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"187\"/>\n        <location filename=\"comparewin.ui\" line=\"380\"/>\n        <location filename=\"ui_comparewin.h\" line=\"309\"/>\n        <location filename=\"ui_comparewin.h\" line=\"332\"/>\n        <source>EUC-JP</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"192\"/>\n        <location filename=\"comparewin.ui\" line=\"385\"/>\n        <location filename=\"ui_comparewin.h\" line=\"310\"/>\n        <location filename=\"ui_comparewin.h\" line=\"333\"/>\n        <source>Shift-JIS</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"197\"/>\n        <location filename=\"comparewin.ui\" line=\"390\"/>\n        <location filename=\"ui_comparewin.h\" line=\"311\"/>\n        <location filename=\"ui_comparewin.h\" line=\"334\"/>\n        <source>EUC-KR</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"202\"/>\n        <location filename=\"comparewin.ui\" line=\"395\"/>\n        <location filename=\"ui_comparewin.h\" line=\"312\"/>\n        <location filename=\"ui_comparewin.h\" line=\"335\"/>\n        <source>KOI8-R</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"207\"/>\n        <location filename=\"comparewin.ui\" line=\"400\"/>\n        <location filename=\"ui_comparewin.h\" line=\"313\"/>\n        <location filename=\"ui_comparewin.h\" line=\"336\"/>\n        <source>TSCII</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"212\"/>\n        <location filename=\"comparewin.ui\" line=\"405\"/>\n        <location filename=\"ui_comparewin.h\" line=\"314\"/>\n        <location filename=\"ui_comparewin.h\" line=\"337\"/>\n        <source>TIS_620</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"217\"/>\n        <location filename=\"comparewin.ui\" line=\"410\"/>\n        <location filename=\"ui_comparewin.h\" line=\"315\"/>\n        <location filename=\"ui_comparewin.h\" line=\"338\"/>\n        <source>BIG5</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"222\"/>\n        <location filename=\"comparewin.ui\" line=\"415\"/>\n        <location filename=\"ui_comparewin.h\" line=\"316\"/>\n        <location filename=\"ui_comparewin.h\" line=\"339\"/>\n        <source>UNKNOWN</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.ui\" line=\"344\"/>\n        <location filename=\"comparewin.cpp\" line=\"4289\"/>\n        <location filename=\"comparewin.cpp\" line=\"4303\"/>\n        <location filename=\"ui_comparewin.h\" line=\"326\"/>\n        <source>right text code</source>\n        <translation type=\"unfinished\">右边编码</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"313\"/>\n        <location filename=\"comparewin.cpp\" line=\"314\"/>\n        <source>white</source>\n        <translation type=\"unfinished\">空白</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"321\"/>\n        <location filename=\"comparewin.cpp\" line=\"322\"/>\n        <source>rule</source>\n        <translation type=\"unfinished\">规则</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"331\"/>\n        <location filename=\"comparewin.cpp\" line=\"332\"/>\n        <source>break</source>\n        <translation type=\"unfinished\">打断</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"341\"/>\n        <source>pull</source>\n        <translation type=\"unfinished\">拉开</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"342\"/>\n        <source>pull open</source>\n        <translation type=\"unfinished\">拉开对比显示</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"354\"/>\n        <location filename=\"comparewin.cpp\" line=\"355\"/>\n        <source>strict</source>\n        <translation type=\"unfinished\">严格</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"366\"/>\n        <location filename=\"comparewin.cpp\" line=\"367\"/>\n        <source>ignore</source>\n        <translation type=\"unfinished\">忽略</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"377\"/>\n        <location filename=\"comparewin.cpp\" line=\"378\"/>\n        <source>undo</source>\n        <translation type=\"unfinished\">撤销</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"388\"/>\n        <source>pre</source>\n        <translation type=\"unfinished\">上一个</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"389\"/>\n        <source>pre (F3)</source>\n        <translation type=\"unfinished\">上一个(F3)</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"398\"/>\n        <source>next</source>\n        <translation type=\"unfinished\">下一个</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"399\"/>\n        <source>next (F4)</source>\n        <translation type=\"unfinished\">下一个(F4)</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"411\"/>\n        <source>zoomin</source>\n        <translation type=\"unfinished\">放大</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"420\"/>\n        <source>zoomout</source>\n        <translation type=\"unfinished\">缩小</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"430\"/>\n        <source>clear</source>\n        <translation type=\"unfinished\">清空</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"431\"/>\n        <source>clear current compare</source>\n        <translation type=\"unfinished\">清空当前对比</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"439\"/>\n        <source>swap</source>\n        <translation type=\"unfinished\">交换</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"910\"/>\n        <source>Can not save file !</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"921\"/>\n        <source>Save File As ...</source>\n        <translation type=\"unfinished\">另存为文件 ...</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"6224\"/>\n        <source>Diff Status</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <source>reload</source>\n        <translation type=\"obsolete\">重载</translation>\n    </message>\n    <message>\n        <source>reload (F5)</source>\n        <translation type=\"obsolete\">重载(F5)</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"650\"/>\n        <source>Drag file support ...</source>\n        <translation type=\"unfinished\">支持文件拖动...</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"1711\"/>\n        <location filename=\"comparewin.cpp\" line=\"3267\"/>\n        <location filename=\"comparewin.cpp\" line=\"3701\"/>\n        <location filename=\"comparewin.cpp\" line=\"3715\"/>\n        <location filename=\"comparewin.cpp\" line=\"5301\"/>\n        <location filename=\"comparewin.cpp\" line=\"5684\"/>\n        <source>current has %1 differents</source>\n        <translation type=\"unfinished\">当前有 %1 处不同块</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"3849\"/>\n        <source>Current mode can not save file !</source>\n        <translation type=\"unfinished\">当前模式不能保存文件！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"968\"/>\n        <location filename=\"comparewin.cpp\" line=\"3859\"/>\n        <source>open file %1 failed</source>\n        <translation type=\"unfinished\">打开文件 %1 失败</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"1058\"/>\n        <location filename=\"comparewin.cpp\" line=\"3947\"/>\n        <source>save file finished !</source>\n        <translation type=\"unfinished\">保存文件成功！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4017\"/>\n        <location filename=\"comparewin.cpp\" line=\"4062\"/>\n        <location filename=\"comparewin.cpp\" line=\"4398\"/>\n        <location filename=\"comparewin.cpp\" line=\"4431\"/>\n        <source>The left document has been modified.</source>\n        <translation type=\"unfinished\">左边文档已经被修改</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4021\"/>\n        <location filename=\"comparewin.cpp\" line=\"4058\"/>\n        <location filename=\"comparewin.cpp\" line=\"4402\"/>\n        <location filename=\"comparewin.cpp\" line=\"4427\"/>\n        <source>The right document has been modified.</source>\n        <translation type=\"unfinished\">右边文档已经被修改</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4023\"/>\n        <location filename=\"comparewin.cpp\" line=\"4064\"/>\n        <location filename=\"comparewin.cpp\" line=\"4404\"/>\n        <location filename=\"comparewin.cpp\" line=\"4433\"/>\n        <source>Do you want to save your changes?</source>\n        <translation type=\"unfinished\">是否保存修改？</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4026\"/>\n        <location filename=\"comparewin.cpp\" line=\"4067\"/>\n        <source>Save</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4027\"/>\n        <location filename=\"comparewin.cpp\" line=\"4068\"/>\n        <source>Discard</source>\n        <translation type=\"unfinished\">放弃修改</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4028\"/>\n        <location filename=\"comparewin.cpp\" line=\"4069\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4129\"/>\n        <location filename=\"comparewin.cpp\" line=\"4212\"/>\n        <source>no more unequal block!</source>\n        <translation type=\"unfinished\">没有更多不等块！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4157\"/>\n        <source>the first one!</source>\n        <translation type=\"unfinished\">第一个不等块！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4170\"/>\n        <location filename=\"comparewin.cpp\" line=\"4253\"/>\n        <source>the %1 diff, total %2 diff</source>\n        <translation type=\"unfinished\">第 %1 处不同， 一共 %2 不同</translation>\n    </message>\n    <message>\n        <source>the %1 diff,total %2 diff</source>\n        <translation type=\"obsolete\">第 %1 处不同，一共 %2 处不同。</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4177\"/>\n        <source>already the first one!</source>\n        <translation type=\"unfinished\">已经是第一个不等块！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4240\"/>\n        <source>the last one!</source>\n        <translation type=\"unfinished\">最后一个不等块！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4259\"/>\n        <source>already the last one!</source>\n        <translation type=\"unfinished\">已经是最后一个不等块！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"968\"/>\n        <location filename=\"comparewin.cpp\" line=\"3849\"/>\n        <location filename=\"comparewin.cpp\" line=\"3859\"/>\n        <location filename=\"comparewin.cpp\" line=\"4756\"/>\n        <location filename=\"comparewin.cpp\" line=\"5151\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\">错误</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"440\"/>\n        <source>swap left Right windows</source>\n        <translation type=\"unfinished\">交换左右窗口位置</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"448\"/>\n        <source>refresh</source>\n        <translation type=\"unfinished\">刷新</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"449\"/>\n        <source>compare again (F5)</source>\n        <translation type=\"unfinished\">重新对比</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"460\"/>\n        <source>status</source>\n        <translation type=\"unfinished\">差异图</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"461\"/>\n        <source>show diff views</source>\n        <translation type=\"unfinished\">显示差异界面</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"4756\"/>\n        <location filename=\"comparewin.cpp\" line=\"5151\"/>\n        <source>The current comparison has encountered an error.Quit temporarily.</source>\n        <translation type=\"unfinished\">当前对比发生未知错误，暂时退出。</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"5104\"/>\n        <source>has %1 differents</source>\n        <translation type=\"unfinished\">有 %1 处不同</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"842\"/>\n        <location filename=\"comparewin.cpp\" line=\"5445\"/>\n        <source>Comparison in progress, please wait ...</source>\n        <translation type=\"unfinished\">对比文件进行中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"5472\"/>\n        <location filename=\"comparewin.cpp\" line=\"5480\"/>\n        <source>file [%1] maybe not a text file, forse cmpare?(dangerous, may be core)</source>\n        <translation type=\"unfinished\">文件 [%1] 可能不是文本,强行使用文本对比?(危险操作)</translation>\n    </message>\n    <message>\n        <source>file [%1] not a text file, can&apos;t cmpare !!!</source>\n        <translation type=\"obsolete\">文件 [%1] 不是文本文件，不能进行比较！！！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"5640\"/>\n        <source>no more undo operator!</source>\n        <translation type=\"unfinished\">没有更多撤销！</translation>\n    </message>\n    <message>\n        <location filename=\"comparewin.cpp\" line=\"6160\"/>\n        <source>now busy, please try later ...</source>\n        <translation type=\"unfinished\">当前忙，稍后再试...</translation>\n    </message>\n</context>\n<context>\n    <name>CompareWorker</name>\n    <message>\n        <location filename=\"compareworker.ui\" line=\"14\"/>\n        <location filename=\"ui_compareworker.h\" line=\"39\"/>\n        <source>CompareWorker</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>DiffStatusWinClass</name>\n    <message>\n        <location filename=\"diffstatuswin.ui\" line=\"26\"/>\n        <location filename=\"ui_diffstatuswin.h\" line=\"55\"/>\n        <source>DIFF</source>\n        <translation type=\"unfinished\">差异点</translation>\n    </message>\n</context>\n<context>\n    <name>DirCmpExtWin</name>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"14\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"183\"/>\n        <source>DirCmpExtWin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"20\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"184\"/>\n        <source>Cmp Mode</source>\n        <translation type=\"unfinished\">对比模式</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"36\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"186\"/>\n        <source>Compare file times and sizes (Fast mode)</source>\n        <translation type=\"unfinished\">对比文件大小和时间（快速模式）</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"26\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"185\"/>\n        <source>Compare files in depth(slow mode,Accurate results)</source>\n        <oldsource>Compare files in depth(slow mode)</oldsource>\n        <translation type=\"unfinished\">深度对比文件文本模式（慢速模式，结果更精确）</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"49\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"187\"/>\n        <source>Dir Cmp Options</source>\n        <translation type=\"unfinished\">文件夹对比选项</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"72\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"190\"/>\n        <source>Compare Hide Dirs</source>\n        <translation type=\"unfinished\">对比隐藏目录</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"62\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"189\"/>\n        <source>Compare All Files</source>\n        <translation type=\"unfinished\">对比所有文件</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"55\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"188\"/>\n        <source>Compare Support Ext Files</source>\n        <translation type=\"unfinished\">对比已知后缀的文件</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"82\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"191\"/>\n        <source>Skip Dirs</source>\n        <translation type=\"unfinished\">跳过目录</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"100\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"192\"/>\n        <source>Skip Load these Dirs(Separated by:)</source>\n        <translation type=\"unfinished\">对比时跳过如下目录（以:号分割）</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"107\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"193\"/>\n        <source>.svn:.vs:debug:Debug:release:Release</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"120\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"194\"/>\n        <source>Skip File Exts</source>\n        <translation type=\"unfinished\">跳过文件类型</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"138\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"195\"/>\n        <source>Skip Cmpare these File Exts(Separated by:)</source>\n        <translation type=\"unfinished\">对比时跳过以下文件类型（以:号分割）</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"145\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"196\"/>\n        <source>.sln:.vcxproj</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"158\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"197\"/>\n        <source>Skip FileName Prefix</source>\n        <translation type=\"unfinished\">跳过文件前缀</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"176\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"198\"/>\n        <source>Skip Cmpare these FileName Prefix(Separated by:)</source>\n        <translation type=\"unfinished\">对比时跳过以下文件名前缀（以:号分割）</translation>\n    </message>\n    <message>\n        <location filename=\"dircmpextwin.ui\" line=\"183\"/>\n        <location filename=\"ui_dircmpextwin.h\" line=\"199\"/>\n        <source>ui_</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>DirFindFile</name>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"26\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"144\"/>\n        <source>DirFindFile</source>\n        <translation type=\"unfinished\">查找文件</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"36\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"145\"/>\n        <source>Find Options</source>\n        <translation type=\"unfinished\">查找选项</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"44\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"146\"/>\n        <source>Find File Name</source>\n        <translation type=\"unfinished\">查找文件名</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"58\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"147\"/>\n        <source>find in left</source>\n        <translation type=\"unfinished\">在左边查找</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"68\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"148\"/>\n        <source>find in right</source>\n        <translation type=\"unfinished\">在右边查找</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"75\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"149\"/>\n        <source>case sensitive</source>\n        <translation type=\"unfinished\">区分大小写</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"92\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"150\"/>\n        <source>Find Prev</source>\n        <translation type=\"unfinished\">查找前一个</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"99\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"151\"/>\n        <source>Find Next</source>\n        <translation type=\"unfinished\">查找下一个</translation>\n    </message>\n    <message>\n        <location filename=\"dirfindfile.ui\" line=\"106\"/>\n        <location filename=\"ui_dirfindfile.h\" line=\"152\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>DocTypeListView</name>\n    <message>\n        <location filename=\"doctypelistview.ui\" line=\"14\"/>\n        <location filename=\"ui_doctypelistview.h\" line=\"135\"/>\n        <source>DocTypeListView</source>\n        <translation type=\"unfinished\">文件关联列表</translation>\n    </message>\n    <message>\n        <location filename=\"doctypelistview.ui\" line=\"22\"/>\n        <location filename=\"ui_doctypelistview.h\" line=\"136\"/>\n        <source>Support file </source>\n        <translation type=\"unfinished\">支持文件类型</translation>\n    </message>\n    <message>\n        <location filename=\"doctypelistview.ui\" line=\"71\"/>\n        <location filename=\"ui_doctypelistview.h\" line=\"137\"/>\n        <source>-&gt;</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"doctypelistview.ui\" line=\"78\"/>\n        <location filename=\"ui_doctypelistview.h\" line=\"138\"/>\n        <source>&lt;-</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"doctypelistview.ui\" line=\"100\"/>\n        <location filename=\"ui_doctypelistview.h\" line=\"139\"/>\n        <source>Custom extension</source>\n        <translation type=\"unfinished\">用户扩展类型</translation>\n    </message>\n    <message>\n        <source>support file </source>\n        <translation type=\"obsolete\">支持文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"doctypelistview.cpp\" line=\"250\"/>\n        <source>input file ext()</source>\n        <translation type=\"unfinished\">输入文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"doctypelistview.cpp\" line=\"250\"/>\n        <source>ext (Split With :)</source>\n        <translation type=\"unfinished\">后缀（用:号分割开）</translation>\n    </message>\n</context>\n<context>\n    <name>DonateClass</name>\n    <message>\n        <location filename=\"donate.ui\" line=\"32\"/>\n        <location filename=\"ui_donate.h\" line=\"115\"/>\n        <source>Donate Me</source>\n        <translation type=\"unfinished\">捐赠作者</translation>\n    </message>\n    <message>\n        <location filename=\"donate.ui\" line=\"112\"/>\n        <location filename=\"ui_donate.h\" line=\"117\"/>\n        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Donation Software Development By WeChat &lt;/p&gt;&lt;p&gt;Busy living, no time to improve software&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>\n        <translation type=\"unfinished\">现实生活中的一地鸡毛\n让我无法投入更多时间完善免费软件\n请通过微信扫码捐赠作者</translation>\n    </message>\n</context>\n<context>\n    <name>EncodeConvert</name>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"14\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"190\"/>\n        <source>EncodeConvert</source>\n        <translation type=\"unfinished\">文本编码转换</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"40\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"196\"/>\n        <source>filePath</source>\n        <translation type=\"unfinished\">文件路径</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"45\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"195\"/>\n        <source>file size</source>\n        <translation type=\"unfinished\">文件大小</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"50\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"194\"/>\n        <source>file code</source>\n        <translation type=\"unfinished\">文件编码</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"55\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"193\"/>\n        <source>convert code</source>\n        <translation type=\"unfinished\">转换为编码</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"60\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"192\"/>\n        <source>convert result</source>\n        <translation type=\"unfinished\">转换结果</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"75\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"197\"/>\n        <source>convert options</source>\n        <translation type=\"unfinished\">转换选项</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"83\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"198\"/>\n        <source>convert to code</source>\n        <translation type=\"unfinished\">转换为编码</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"97\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"199\"/>\n        <source>UTF8</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"102\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"200\"/>\n        <source>UTF8 BOM</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"117\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"203\"/>\n        <source>GBK</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"107\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"201\"/>\n        <source>UTF16-LE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"112\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"202\"/>\n        <source>UTF16-BE</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"129\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"205\"/>\n        <source>deal file ext</source>\n        <translation type=\"unfinished\">处理文件类型</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"143\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"206\"/>\n        <source>all support file ext</source>\n        <translation type=\"unfinished\">所有支持的文件类型</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"151\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"209\"/>\n        <source>user defined</source>\n        <translation type=\"unfinished\">自定义</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"154\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"211\"/>\n        <source>defined</source>\n        <translation type=\"unfinished\">自定义</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"181\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"212\"/>\n        <source>select dir</source>\n        <translation type=\"unfinished\">选择目录</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"188\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"213\"/>\n        <source>start</source>\n        <translation type=\"unfinished\">开始转换</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.ui\" line=\"198\"/>\n        <location filename=\"ui_encodeconvert.h\" line=\"214\"/>\n        <source>close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"69\"/>\n        <source>&amp;Show File in Explorer...</source>\n        <translation type=\"unfinished\">定位到文件目录</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"91\"/>\n        <source>input file ext()</source>\n        <translation type=\"unfinished\">输入文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"91\"/>\n        <source>ext (Split With :)</source>\n        <translation type=\"unfinished\">后缀（用:号分割开）</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"122\"/>\n        <source>Open Directory</source>\n        <translation type=\"unfinished\">打开目录</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"448\"/>\n        <source>start scan file text code, please wait...</source>\n        <translation type=\"unfinished\">开始扫描文件编码，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"469\"/>\n        <location filename=\"encodeconvert.cpp\" line=\"575\"/>\n        <source>ignore</source>\n        <translation type=\"unfinished\">忽略</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"483\"/>\n        <source>please wait, total file %1,cur scan index %2, scan finish %3%</source>\n        <translation type=\"unfinished\">请等待，一共 %1个文件，当前扫描第 %2 个，扫描完成率 %3%</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"487\"/>\n        <source>scan finished, total file %1</source>\n        <translation type=\"unfinished\">扫描完成，一共%1个文件</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"570\"/>\n        <source>already %1 ignore</source>\n        <translation type=\"unfinished\">已经是 %1编码,忽略</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"589\"/>\n        <source>total file %1,cur deal index %2,finish %3%</source>\n        <translation type=\"unfinished\">一共 %1 个文件，当前处理第 %2 个，完成率%3%</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"594\"/>\n        <source>total file %1,cur deal index %2,finish 100%</source>\n        <translation type=\"unfinished\">一共 %1 个 文件，当前处理第 %2 个，完成率100%</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"595\"/>\n        <source>convert finished !</source>\n        <translation type=\"unfinished\">转换完成！</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"616\"/>\n        <source>convert finish</source>\n        <translation type=\"unfinished\">转换完成</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"620\"/>\n        <source>convert fail</source>\n        <translation type=\"unfinished\">转换失败</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"621\"/>\n        <source>file %1 convert failed,pleas check...</source>\n        <translation type=\"unfinished\">文件 %1 转换编码失败，请检查...</translation>\n    </message>\n    <message>\n        <location filename=\"encodeconvert.cpp\" line=\"692\"/>\n        <source>please drop a file dir ...</source>\n        <translation type=\"unfinished\">请拖入一个文件夹...</translation>\n    </message>\n</context>\n<context>\n    <name>FileCmpRuleWin</name>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"20\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"160\"/>\n        <source>FileCmpRuleWin</source>\n        <translation type=\"unfinished\">文件对比规则</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"30\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"161\"/>\n        <source>Compare Options</source>\n        <translation type=\"unfinished\">对比选项</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"36\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"162\"/>\n        <source>Ignore whitespace characters before line</source>\n        <oldsource>Ignore whitespace characters</oldsource>\n        <translation type=\"unfinished\">忽略行前行尾空白字符</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"46\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"163\"/>\n        <source>Ignore whitespace characters At back of the line(such as python)</source>\n        <translation type=\"unfinished\">只忽略行尾的空白字符（比如python等语言）</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"53\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"164\"/>\n        <source>Ignore all whitespace characters</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"63\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"165\"/>\n        <source>Match Options</source>\n        <translation type=\"unfinished\">匹配选项</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"69\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"166\"/>\n        <source>Blank lines participate in matching</source>\n        <translation type=\"unfinished\">空行参与匹配</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"81\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"167\"/>\n        <source>Identify matching rates for rows that are equal</source>\n        <translation type=\"unfinished\">认定为匹配行的相似率</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"89\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"168\"/>\n        <source>Match &gt;= 50%</source>\n        <translation type=\"unfinished\">匹配度 &gt;= 50%</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"94\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"169\"/>\n        <source>Match &gt;= 70%</source>\n        <translation type=\"unfinished\">匹配度 &gt;= 70%</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"99\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"170\"/>\n        <source>Match &gt;= 90%</source>\n        <translation type=\"unfinished\">匹配度 &gt;= 90%</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"140\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"172\"/>\n        <source>Apply</source>\n        <translation type=\"unfinished\">确认</translation>\n    </message>\n    <message>\n        <location filename=\"filecmprulewin.ui\" line=\"147\"/>\n        <location filename=\"ui_filecmprulewin.h\" line=\"173\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n</context>\n<context>\n    <name>FileListView</name>\n    <message>\n        <location filename=\"filelistview.cpp\" line=\"40\"/>\n        <source>Show File in Explorer</source>\n        <translation type=\"unfinished\">定位到文件目录</translation>\n    </message>\n    <message>\n        <location filename=\"filelistview.cpp\" line=\"44\"/>\n        <source>Close File</source>\n        <translation type=\"unfinished\">关闭文件</translation>\n    </message>\n</context>\n<context>\n    <name>FileListViewClass</name>\n    <message>\n        <location filename=\"filelistview.ui\" line=\"14\"/>\n        <location filename=\"ui_filelistview.h\" line=\"51\"/>\n        <source>FileListView</source>\n        <translation type=\"unfinished\">文件列表窗口</translation>\n    </message>\n</context>\n<context>\n    <name>FileManager</name>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"245\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"322\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"341\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"512\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"531\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\">错误</translation>\n    </message>\n    <message>\n        <source>Open File %1 failed Can not read auth</source>\n        <translation type=\"obsolete\">打开文件 %1 失败。没有读文件的权限。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"245\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"322\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"512\"/>\n        <source>Open File %1 failed</source>\n        <translation type=\"unfinished\">打开文件 %1 失败。</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"341\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"531\"/>\n        <source>File is too big to be opened by Notepad--</source>\n        <translation type=\"unfinished\">文件太大，不能使用Notepad--打开！</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"365\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"552\"/>\n        <source>The file %1 is likely to be binary. Do you want to open it in binary?</source>\n        <translation type=\"unfinished\">文件 %1 可能是二进制格式，你想以二进制（只读）格式打开文件吗？</translation>\n    </message>\n    <message>\n        <source>Open with Text or Hex?</source>\n        <translation type=\"obsolete\">二进制或文本打开？</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"365\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"552\"/>\n        <source>Hex Open</source>\n        <translation type=\"unfinished\">以二进制打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"365\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"552\"/>\n        <source>Text Open</source>\n        <translation type=\"unfinished\">以文本打开</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"365\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"552\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"365\"/>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"552\"/>\n        <source>Open with Text or Hex? [Exist Garbled Code]</source>\n        <translation type=\"unfinished\">打开为文本或二进制？[检测存在乱码]</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/filemanager.cpp\" line=\"1247\"/>\n        <source>load bit text file tree in progress\nfile size %1, please wait ...</source>\n        <translation type=\"unfinished\">加载大文件中，文件大小 %1，请等待...</translation>\n    </message>\n    <message>\n        <source>File is too big to be opened by CC Notepad</source>\n        <translation type=\"obsolete\">文件太大不能使用Notepad打开！</translation>\n    </message>\n</context>\n<context>\n    <name>FindCmpWin</name>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"20\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"224\"/>\n        <source>Find text window</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"50\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"239\"/>\n        <source>find</source>\n        <translation type=\"unfinished\">查找</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"63\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"225\"/>\n        <source>Find what :</source>\n        <translation type=\"unfinished\">查找目标：</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"88\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"226\"/>\n        <source>Options</source>\n        <translation type=\"unfinished\">选项</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"94\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"227\"/>\n        <source>Backward direction</source>\n        <translation type=\"unfinished\">反向查找</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"101\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"228\"/>\n        <source>Match whole word only</source>\n        <translation type=\"unfinished\">全词匹配</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"108\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"229\"/>\n        <source>Match case</source>\n        <translation type=\"unfinished\">匹配大小写</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"115\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"230\"/>\n        <source>Wrap around</source>\n        <translation type=\"unfinished\">循环查找</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"128\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"231\"/>\n        <source>Search Mode</source>\n        <translation type=\"unfinished\">查找模式</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"136\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"232\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\">正则表达式</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"145\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"233\"/>\n        <source>Normal</source>\n        <translation type=\"unfinished\">普通</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"162\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"234\"/>\n        <source>Find Next</source>\n        <translation type=\"unfinished\">查找下一个</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"175\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"235\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"182\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"236\"/>\n        <source>Diretion</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"188\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"237\"/>\n        <source>Search In Left</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.ui\" line=\"198\"/>\n        <location filename=\"ui_findcmpwin.h\" line=\"238\"/>\n        <source>Search In Right</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.cpp\" line=\"168\"/>\n        <source>what find is null !</source>\n        <translation type=\"unfinished\">查找字段为空</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.cpp\" line=\"186\"/>\n        <source>cant&apos;t find text &apos;%1&apos;</source>\n        <translation type=\"unfinished\">找不到字段 &apos;%1&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"findcmpwin.cpp\" line=\"202\"/>\n        <source>no more find text &apos;%1&apos;</source>\n        <translation type=\"unfinished\">没有更多的字段 &apos;%1&apos;</translation>\n    </message>\n</context>\n<context>\n    <name>FindResultView</name>\n    <message>\n        <location filename=\"findresultview.cpp\" line=\"158\"/>\n        <source>Fold All</source>\n        <translation type=\"unfinished\">全部折叠</translation>\n    </message>\n    <message>\n        <location filename=\"findresultview.cpp\" line=\"159\"/>\n        <source>Expand All</source>\n        <translation type=\"unfinished\">全部展开</translation>\n    </message>\n    <message>\n        <location filename=\"findresultview.cpp\" line=\"167\"/>\n        <source>copy select line</source>\n        <translation type=\"unfinished\">复制选择行</translation>\n    </message>\n    <message>\n        <location filename=\"findresultview.cpp\" line=\"168\"/>\n        <source>warp</source>\n        <translation type=\"unfinished\">自动换行</translation>\n    </message>\n    <message>\n        <location filename=\"findresultview.cpp\" line=\"172\"/>\n        <source>clear</source>\n        <translation type=\"unfinished\">清空</translation>\n    </message>\n    <message>\n        <location filename=\"findresultview.cpp\" line=\"173\"/>\n        <source>close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>FindResultWin</name>\n    <message>\n        <location filename=\"findresultwin.ui\" line=\"20\"/>\n        <location filename=\"ui_findresultwin.h\" line=\"56\"/>\n        <source>FindResultWin</source>\n        <translation type=\"unfinished\">查找结果</translation>\n    </message>\n    <message>\n        <source>clear</source>\n        <translation type=\"obsolete\">清空</translation>\n    </message>\n    <message>\n        <source>clear this find result</source>\n        <translation type=\"obsolete\">清除当前结果</translation>\n    </message>\n    <message>\n        <source>clear all find result</source>\n        <translation type=\"obsolete\">清除所有结果</translation>\n    </message>\n    <message>\n        <source>copy item content</source>\n        <translation type=\"obsolete\">拷贝到剪切板</translation>\n    </message>\n    <message>\n        <source>copy select item (Ctrl Muli)</source>\n        <translation type=\"obsolete\">复制选中项（按ctrl多选）</translation>\n    </message>\n    <message>\n        <source>copy select Line (Ctrl Muli)</source>\n        <translation type=\"obsolete\">复制选中行（按ctrl多选）</translation>\n    </message>\n    <message>\n        <source>select section</source>\n        <translation type=\"obsolete\">选中所在节</translation>\n    </message>\n    <message>\n        <source>select all item</source>\n        <translation type=\"obsolete\">全部选择</translation>\n    </message>\n    <message>\n        <source>Zoom In</source>\n        <translation type=\"obsolete\">放大</translation>\n    </message>\n    <message>\n        <source>Zoom Out</source>\n        <translation type=\"obsolete\">缩小</translation>\n    </message>\n    <message>\n        <source>close</source>\n        <translation type=\"obsolete\">关闭</translation>\n    </message>\n    <message>\n        <source>%1 rows selected !</source>\n        <translation type=\"obsolete\">%1 行被选中！</translation>\n    </message>\n    <message>\n        <source>%1 items have been copied to the clipboard !</source>\n        <translation type=\"obsolete\">%1 项已经被复制到剪切板</translation>\n    </message>\n    <message>\n        <source>%1 lines have been copied to the clipboard !</source>\n        <translation type=\"obsolete\">%1 行已经被复制到剪切板</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"202\"/>\n        <source>Search &quot;%1&quot; (%2 hits)\n</source>\n        <translation type=\"unfinished\">查找 &quot;%1&quot; (%2 处命中)\n</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"221\"/>\n        <location filename=\"findresultwin.cpp\" line=\"225\"/>\n        <source>Line %1 : %2\n</source>\n        <translation type=\"unfinished\">行 %1 : %2\n</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"244\"/>\n        <source>&lt;font style=&apos;font-size:14px;font-weight:bold;color:#343497&apos;&gt;Search &quot;%1&quot; (%2 hits)&lt;/font&gt;</source>\n        <translation type=\"unfinished\">&lt;font style=&apos;font-size:14px;font-weight:bold;color:#343497&apos;&gt;查找 &quot;%1&quot; (%2 命中)&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"270\"/>\n        <source>&lt;font style=&apos;font-size:14px;font-weight:bold;color:#309730&apos;&gt;%1 (%2 hits)&lt;/font&gt;</source>\n        <translation type=\"unfinished\">&lt;font style=&apos;font-size:14px;font-weight:bold;color:#309730&apos;&gt;%1 (%2 命中)&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"274\"/>\n        <source>&lt;font style=&apos;font-size:14px;color:#99cc99&apos;&gt;%1 (%2 hits)&lt;/font&gt;</source>\n        <translation type=\"unfinished\">&lt;font style=&apos;font-size:14px;color:#99cc99&apos;&gt;%1 (%2 命中)&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"307\"/>\n        <source>&lt;font style=&apos;font-size:14px;&apos;&gt;Line &lt;/font&gt;&lt;font style=&apos;font-size:14px;color:#ff8040&apos;&gt;%1&lt;/font&gt; : %2</source>\n        <translation type=\"unfinished\">&lt;font style=&apos;font-size:14px;&apos;&gt;行 &lt;/font&gt;&lt;font style=&apos;font-size:14px;color:#ff8040&apos;&gt;%1&lt;/font&gt; : %2</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"311\"/>\n        <source>&lt;font style=&apos;font-size:14px;color:#ffffff&apos;&gt;Line &lt;/font&gt;&lt;font style=&apos;font-size:14px;color:#ff8040&apos;&gt;%1&lt;/font&gt; : %2</source>\n        <translation type=\"unfinished\">&lt;font style=&apos;font-size:14px;color:#ffffff&apos;&gt;行 &lt;/font&gt;&lt;font style=&apos;font-size:14px;color:#ff8040&apos;&gt;%1&lt;/font&gt; : %2</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"343\"/>\n        <source>Search &quot;%1&quot; (%2 hits in %3 files)\n</source>\n        <translation type=\"unfinished\">查找 &quot;%1&quot; (%2 处命中在 %3 文件)\n</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"376\"/>\n        <location filename=\"findresultwin.cpp\" line=\"380\"/>\n        <source> %1 (%2 hits)\n</source>\n        <translation type=\"unfinished\">%1 (%2 命中)\n</translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"394\"/>\n        <source>    Line %1: </source>\n        <translation type=\"unfinished\">    行 %1: </translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"398\"/>\n        <location filename=\"findresultwin.cpp\" line=\"402\"/>\n        <source>%1%2\n</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findresultwin.cpp\" line=\"456\"/>\n        <source>    Line </source>\n        <translation type=\"unfinished\">    行 </translation>\n    </message>\n    <message>\n        <source>&lt;font style=&apos;font-size:14px;font-weight:bold;color:#343497&apos;&gt;Search &quot;%1&quot; (%2 hits in %3 files)&lt;/font&gt;</source>\n        <translation type=\"obsolete\">&lt;font style=&apos;font-size:14px;font-weight:bold;color:#343497&apos;&gt;查找 &quot;%1&quot; (%2 命中在 %3 文件)&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <source>&lt;font style=&apos;font-weight:bold;color:#343497&apos;&gt;Search &quot;%1&quot; (%2 hits)&lt;/font&gt;</source>\n        <translation type=\"obsolete\">&lt;font style=&apos;font-weight:bold;color:#343497&apos;&gt;查找 &quot;%1&quot; (%2 命中)&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <source>&lt;font style=&apos;font-weight:bold;color:#309730&apos;&gt;%1 (%2 hits)&lt;/font&gt;</source>\n        <translation type=\"obsolete\">&lt;font style=&apos;font-weight:bold;color:#309730&apos;&gt;%1 (%2 命中)&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <source>&lt;font style=&apos;color:#ff8040&apos;&gt;Line %1&lt;/font&gt; : %2</source>\n        <oldsource>Line &lt;font style=&apos;color:#ff8040&apos;&gt;%1&lt;/font&gt; : %2</oldsource>\n        <translation type=\"obsolete\">&lt;font style=&apos;color:#ff8040&apos;&gt;行 %1&lt;/font&gt; : %2</translation>\n    </message>\n    <message>\n        <source>&lt;font style=&apos;font-weight:bold;color:#343497&apos;&gt;Search &quot;%1&quot; (%2 hits in %3 files)&lt;/font&gt;</source>\n        <translation type=\"obsolete\">&lt;font style=&apos;font-weight:bold;color:#343497&apos;&gt;查找 &quot;%1&quot; (%2 命中在 %3 个文件）&lt;/font&gt;</translation>\n    </message>\n    <message>\n        <source>Search &quot;%1&quot; (%2 hits)</source>\n        <translation type=\"obsolete\">查找 &quot;%1&quot; (%2 命中）</translation>\n    </message>\n    <message>\n        <source>%1 (%2 hits)</source>\n        <translation type=\"obsolete\">%1 (%2 命中)</translation>\n    </message>\n    <message>\n        <source>Search &quot;%1&quot; (%2 hits in %3 files)</source>\n        <translation type=\"obsolete\">查找 &quot;%1&quot; (%2 命中在 %3 个文件）</translation>\n    </message>\n</context>\n<context>\n    <name>FindWin</name>\n    <message>\n        <location filename=\"findwin.ui\" line=\"14\"/>\n        <location filename=\"ui_findwin.h\" line=\"1032\"/>\n        <source>MainWindow</source>\n        <translation type=\"unfinished\">查找与替换</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"47\"/>\n        <location filename=\"ui_findwin.h\" line=\"1061\"/>\n        <source>find</source>\n        <translation type=\"unfinished\">查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"66\"/>\n        <location filename=\"findwin.ui\" line=\"362\"/>\n        <location filename=\"findwin.ui\" line=\"732\"/>\n        <location filename=\"ui_findwin.h\" line=\"1033\"/>\n        <location filename=\"ui_findwin.h\" line=\"1062\"/>\n        <location filename=\"ui_findwin.h\" line=\"1081\"/>\n        <source>Find what :</source>\n        <translation type=\"unfinished\">查找目标：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"114\"/>\n        <location filename=\"findwin.ui\" line=\"451\"/>\n        <location filename=\"ui_findwin.h\" line=\"1034\"/>\n        <location filename=\"ui_findwin.h\" line=\"1064\"/>\n        <source>Backward direction</source>\n        <translation type=\"unfinished\">反向查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"121\"/>\n        <location filename=\"findwin.ui\" line=\"458\"/>\n        <location filename=\"findwin.ui\" line=\"890\"/>\n        <location filename=\"findwin.ui\" line=\"1207\"/>\n        <location filename=\"ui_findwin.h\" line=\"1035\"/>\n        <location filename=\"ui_findwin.h\" line=\"1065\"/>\n        <location filename=\"ui_findwin.h\" line=\"1087\"/>\n        <location filename=\"ui_findwin.h\" line=\"1105\"/>\n        <source>Match whole word only</source>\n        <translation type=\"unfinished\">全词匹配</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"128\"/>\n        <location filename=\"findwin.ui\" line=\"465\"/>\n        <location filename=\"findwin.ui\" line=\"903\"/>\n        <location filename=\"findwin.ui\" line=\"1214\"/>\n        <location filename=\"ui_findwin.h\" line=\"1036\"/>\n        <location filename=\"ui_findwin.h\" line=\"1066\"/>\n        <location filename=\"ui_findwin.h\" line=\"1088\"/>\n        <location filename=\"ui_findwin.h\" line=\"1106\"/>\n        <source>Match case</source>\n        <translation type=\"unfinished\">匹配大小写</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"135\"/>\n        <location filename=\"findwin.ui\" line=\"472\"/>\n        <location filename=\"ui_findwin.h\" line=\"1037\"/>\n        <location filename=\"ui_findwin.h\" line=\"1067\"/>\n        <source>Wrap around</source>\n        <translation type=\"unfinished\">循环查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"160\"/>\n        <location filename=\"findwin.ui\" line=\"497\"/>\n        <location filename=\"findwin.ui\" line=\"929\"/>\n        <location filename=\"findwin.ui\" line=\"1236\"/>\n        <location filename=\"ui_findwin.h\" line=\"1038\"/>\n        <location filename=\"ui_findwin.h\" line=\"1068\"/>\n        <location filename=\"ui_findwin.h\" line=\"1089\"/>\n        <location filename=\"ui_findwin.h\" line=\"1107\"/>\n        <source>Search Mode</source>\n        <translation type=\"unfinished\">查找模式</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"168\"/>\n        <location filename=\"findwin.ui\" line=\"515\"/>\n        <location filename=\"findwin.ui\" line=\"947\"/>\n        <location filename=\"findwin.ui\" line=\"1244\"/>\n        <location filename=\"ui_findwin.h\" line=\"1039\"/>\n        <location filename=\"ui_findwin.h\" line=\"1070\"/>\n        <location filename=\"ui_findwin.h\" line=\"1091\"/>\n        <location filename=\"ui_findwin.h\" line=\"1108\"/>\n        <source>Regular expression</source>\n        <translation type=\"unfinished\">正则表达式</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"177\"/>\n        <location filename=\"findwin.ui\" line=\"503\"/>\n        <location filename=\"findwin.ui\" line=\"935\"/>\n        <location filename=\"findwin.ui\" line=\"1253\"/>\n        <location filename=\"ui_findwin.h\" line=\"1040\"/>\n        <location filename=\"ui_findwin.h\" line=\"1069\"/>\n        <location filename=\"ui_findwin.h\" line=\"1090\"/>\n        <location filename=\"ui_findwin.h\" line=\"1109\"/>\n        <source>Normal</source>\n        <translation type=\"unfinished\">普通</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"187\"/>\n        <location filename=\"findwin.ui\" line=\"524\"/>\n        <location filename=\"findwin.ui\" line=\"956\"/>\n        <location filename=\"findwin.ui\" line=\"1263\"/>\n        <location filename=\"ui_findwin.h\" line=\"1041\"/>\n        <location filename=\"ui_findwin.h\" line=\"1071\"/>\n        <location filename=\"ui_findwin.h\" line=\"1092\"/>\n        <location filename=\"ui_findwin.h\" line=\"1110\"/>\n        <source>Extend(\\n,\\r,\\t,\\0,\\x...)</source>\n        <translation type=\"unfinished\">扩展(\\n,\\r,\\t,\\0,\\x...)</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"222\"/>\n        <location filename=\"ui_findwin.h\" line=\"1042\"/>\n        <source>Find Next(F3)</source>\n        <translation type=\"unfinished\">查找下一个(F3)</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"225\"/>\n        <location filename=\"ui_findwin.h\" line=\"1044\"/>\n        <source>F3</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"238\"/>\n        <location filename=\"ui_findwin.h\" line=\"1046\"/>\n        <source>Find Prev(F4)</source>\n        <translation type=\"unfinished\">查找上一个(F4)</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"241\"/>\n        <location filename=\"ui_findwin.h\" line=\"1048\"/>\n        <source>F4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"254\"/>\n        <location filename=\"ui_findwin.h\" line=\"1050\"/>\n        <source>Counter(T)</source>\n        <translation type=\"unfinished\">计数(T)</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"257\"/>\n        <location filename=\"ui_findwin.h\" line=\"1052\"/>\n        <source>Ctrl+T</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"292\"/>\n        <location filename=\"ui_findwin.h\" line=\"1058\"/>\n        <source>Copy Regular Result</source>\n        <translation type=\"unfinished\">提取正则结果到剪切板</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"565\"/>\n        <location filename=\"ui_findwin.h\" line=\"1072\"/>\n        <source>Find Next</source>\n        <translation type=\"unfinished\">查找下一个</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"853\"/>\n        <location filename=\"ui_findwin.h\" line=\"1086\"/>\n        <source>File Type :</source>\n        <translation type=\"unfinished\">文件类型：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"812\"/>\n        <location filename=\"ui_findwin.h\" line=\"1084\"/>\n        <source>Skip Dir Name :</source>\n        <translation type=\"unfinished\">跳过目录名：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1359\"/>\n        <location filename=\"ui_findwin.h\" line=\"1114\"/>\n        <source>Clear All</source>\n        <translation type=\"unfinished\">清除全部标记</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"270\"/>\n        <location filename=\"ui_findwin.h\" line=\"1054\"/>\n        <source>Find All in Current \n Document</source>\n        <translation type=\"unfinished\">在当前文件中查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"284\"/>\n        <location filename=\"ui_findwin.h\" line=\"1056\"/>\n        <source>Find All in All Opened \n Documents</source>\n        <translation type=\"unfinished\">查找所有打开文件</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"318\"/>\n        <location filename=\"findwin.ui\" line=\"642\"/>\n        <location filename=\"findwin.ui\" line=\"1119\"/>\n        <location filename=\"findwin.ui\" line=\"1378\"/>\n        <location filename=\"ui_findwin.h\" line=\"1060\"/>\n        <location filename=\"ui_findwin.h\" line=\"1077\"/>\n        <location filename=\"ui_findwin.h\" line=\"1102\"/>\n        <location filename=\"ui_findwin.h\" line=\"1115\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"341\"/>\n        <location filename=\"findwin.ui\" line=\"584\"/>\n        <location filename=\"ui_findwin.h\" line=\"1073\"/>\n        <location filename=\"ui_findwin.h\" line=\"1078\"/>\n        <source>Replace</source>\n        <translation type=\"unfinished\">替换</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"401\"/>\n        <location filename=\"findwin.ui\" line=\"771\"/>\n        <location filename=\"ui_findwin.h\" line=\"1063\"/>\n        <location filename=\"ui_findwin.h\" line=\"1082\"/>\n        <source>Replace with :</source>\n        <translation type=\"unfinished\">替换为：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"603\"/>\n        <location filename=\"ui_findwin.h\" line=\"1074\"/>\n        <source>Replace All</source>\n        <translation type=\"unfinished\">在当前文件中替换</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"622\"/>\n        <location filename=\"ui_findwin.h\" line=\"1075\"/>\n        <source>Replace All in All Opened \n Documents</source>\n        <translation type=\"unfinished\">替换所有打开文件</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1081\"/>\n        <location filename=\"ui_findwin.h\" line=\"1100\"/>\n        <source>Replace In File</source>\n        <translation type=\"unfinished\">在目录文件中替换</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"305\"/>\n        <location filename=\"findwin.ui\" line=\"1100\"/>\n        <location filename=\"ui_findwin.h\" line=\"1059\"/>\n        <location filename=\"ui_findwin.h\" line=\"1101\"/>\n        <source>Clear Result</source>\n        <translation type=\"unfinished\">清空结果</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1142\"/>\n        <location filename=\"ui_findwin.h\" line=\"1116\"/>\n        <source>Mark</source>\n        <translation type=\"unfinished\">标记</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1161\"/>\n        <location filename=\"ui_findwin.h\" line=\"1104\"/>\n        <source>Mark What</source>\n        <translation type=\"unfinished\">标记目标：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1302\"/>\n        <location filename=\"ui_findwin.h\" line=\"1111\"/>\n        <source>Mark All</source>\n        <translation type=\"unfinished\">全部标记</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1321\"/>\n        <location filename=\"ui_findwin.h\" line=\"1112\"/>\n        <source>Mark &amp; Bookmark</source>\n        <translation type=\"unfinished\">标记加书签</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1340\"/>\n        <location filename=\"ui_findwin.h\" line=\"1113\"/>\n        <source>Clear Mark</source>\n        <translation type=\"unfinished\">清除</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"665\"/>\n        <location filename=\"ui_findwin.h\" line=\"1103\"/>\n        <source>Dir Find</source>\n        <translation type=\"unfinished\">在目录查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"684\"/>\n        <location filename=\"ui_findwin.h\" line=\"1079\"/>\n        <source>Dest Dir :</source>\n        <translation type=\"unfinished\">目标目录：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"719\"/>\n        <location filename=\"ui_findwin.h\" line=\"1080\"/>\n        <source>Select</source>\n        <translation type=\"unfinished\">选择</translation>\n    </message>\n    <message>\n        <source>File Type</source>\n        <translation type=\"obsolete\">文件类型：</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"840\"/>\n        <location filename=\"ui_findwin.h\" line=\"1085\"/>\n        <source>*.c:*.cpp:*.h</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <source>Skip Dir Name</source>\n        <translation type=\"obsolete\">跳过目录名</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"799\"/>\n        <location filename=\"ui_findwin.h\" line=\"1083\"/>\n        <source>debug:Debug:.vs:.git:.svn</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"968\"/>\n        <location filename=\"ui_findwin.h\" line=\"1093\"/>\n        <source>Options</source>\n        <translation type=\"unfinished\">选项</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"974\"/>\n        <location filename=\"ui_findwin.h\" line=\"1094\"/>\n        <source>Skip child dirs</source>\n        <translation type=\"unfinished\">跳过子目录</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"981\"/>\n        <location filename=\"ui_findwin.h\" line=\"1095\"/>\n        <source>Skip hide file</source>\n        <translation type=\"unfinished\">跳过隐藏文件</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"994\"/>\n        <location filename=\"ui_findwin.h\" line=\"1096\"/>\n        <source>Skip binary file</source>\n        <translation type=\"unfinished\">跳过二进制文件</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1009\"/>\n        <location filename=\"ui_findwin.h\" line=\"1097\"/>\n        <source>Skip Big file exceed</source>\n        <translation type=\"unfinished\">跳过超过大小的文件</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1032\"/>\n        <location filename=\"ui_findwin.h\" line=\"1098\"/>\n        <source>MB</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"findwin.ui\" line=\"1062\"/>\n        <location filename=\"ui_findwin.h\" line=\"1099\"/>\n        <source>Find All</source>\n        <translation type=\"unfinished\">全部查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1028\"/>\n        <location filename=\"findwin.cpp\" line=\"1124\"/>\n        <location filename=\"findwin.cpp\" line=\"1568\"/>\n        <location filename=\"findwin.cpp\" line=\"1721\"/>\n        <location filename=\"findwin.cpp\" line=\"1813\"/>\n        <location filename=\"findwin.cpp\" line=\"1959\"/>\n        <location filename=\"findwin.cpp\" line=\"2053\"/>\n        <location filename=\"findwin.cpp\" line=\"2123\"/>\n        <location filename=\"findwin.cpp\" line=\"2328\"/>\n        <location filename=\"findwin.cpp\" line=\"2383\"/>\n        <location filename=\"findwin.cpp\" line=\"2931\"/>\n        <location filename=\"findwin.cpp\" line=\"3056\"/>\n        <source>what find is null !</source>\n        <translation type=\"unfinished\">查找字段为空</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1056\"/>\n        <location filename=\"findwin.cpp\" line=\"1619\"/>\n        <location filename=\"findwin.cpp\" line=\"1920\"/>\n        <location filename=\"findwin.cpp\" line=\"2167\"/>\n        <location filename=\"findwin.cpp\" line=\"2493\"/>\n        <source>cant&apos;t find text &apos;%1&apos;</source>\n        <translation type=\"unfinished\">找不到字段 &apos;%1&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1076\"/>\n        <location filename=\"findwin.cpp\" line=\"1940\"/>\n        <source>no more find text &apos;%1&apos;</source>\n        <translation type=\"unfinished\">没有更多的字段 &apos;%1&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"316\"/>\n        <location filename=\"findwin.cpp\" line=\"929\"/>\n        <location filename=\"findwin.cpp\" line=\"1135\"/>\n        <location filename=\"findwin.cpp\" line=\"1581\"/>\n        <source>The ReadOnly document does not allow this operation.</source>\n        <translation type=\"unfinished\">当前只读显示文件不允许该操作！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1681\"/>\n        <location filename=\"findwin.cpp\" line=\"1792\"/>\n        <location filename=\"findwin.cpp\" line=\"1879\"/>\n        <source>find finished, total %1 found!</source>\n        <translation type=\"unfinished\">查找完成，一共 %1 处发现。</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1192\"/>\n        <location filename=\"findwin.cpp\" line=\"1698\"/>\n        <source>The mode of the current document does not allow this operation.</source>\n        <translation type=\"unfinished\">当前模式下的文档不允许该操作！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1294\"/>\n        <location filename=\"findwin.cpp\" line=\"1384\"/>\n        <location filename=\"findwin.cpp\" line=\"1464\"/>\n        <location filename=\"findwin.cpp\" line=\"2065\"/>\n        <location filename=\"findwin.cpp\" line=\"2138\"/>\n        <location filename=\"findwin.cpp\" line=\"2343\"/>\n        <source>The ReadOnly document does not allow replacement.</source>\n        <translation type=\"unfinished\">当前只读文档不允许执行替换操作！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2020\"/>\n        <location filename=\"findwin.cpp\" line=\"2027\"/>\n        <source>no more replace text &apos;%1&apos;</source>\n        <translation type=\"unfinished\">没有更多替换文本 &apos;%1&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"907\"/>\n        <source>find-regex-zero-length-match</source>\n        <translation type=\"unfinished\">正则查找零长匹配</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1012\"/>\n        <source>target info linenum %1 pos is %2 - %3</source>\n        <translation type=\"unfinished\">目标在行 %1 位置 %2 - %3</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1160\"/>\n        <location filename=\"findwin.cpp\" line=\"1188\"/>\n        <source>count %1 times with &apos;%2&apos;</source>\n        <translation type=\"unfinished\">计数 %1 次匹配 &apos;%2&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1311\"/>\n        <location filename=\"findwin.cpp\" line=\"1403\"/>\n        <location filename=\"findwin.cpp\" line=\"1481\"/>\n        <source>total %1 keyword, please wait ...</source>\n        <translation type=\"unfinished\">一共 %1 关键字，请等待......</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1685\"/>\n        <source>find finished, total %1 found! Result in clipboard.</source>\n        <translation type=\"unfinished\">查找完成，一共 %1 处发现，目标结果字段已经提取到剪切板。</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2078\"/>\n        <location filename=\"findwin.cpp\" line=\"2200\"/>\n        <source>The mode of the current document does not allow replacement.</source>\n        <translation type=\"unfinished\">当前模式的文档不允许执行替换操作！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2127\"/>\n        <location filename=\"findwin.cpp\" line=\"2332\"/>\n        <source>Replace All current Doc</source>\n        <translation type=\"unfinished\">在当前文件中替换所有</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2127\"/>\n        <location filename=\"findwin.cpp\" line=\"2332\"/>\n        <source>Are you sure replace all occurrences in current documents?</source>\n        <translation type=\"unfinished\">是否确认在当前打开的文档中替换？</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2196\"/>\n        <location filename=\"findwin.cpp\" line=\"2367\"/>\n        <source>replace finished, total %1 replaced!</source>\n        <translation type=\"unfinished\">替换完成，一共 %1 处替换！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2388\"/>\n        <source>Replace All Open Doc</source>\n        <translation type=\"unfinished\">替换所有打开的文档</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2388\"/>\n        <source>Are you sure replace all occurrences in all open documents?</source>\n        <translation type=\"unfinished\">是否确认在所有打开的文档中替换？</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2452\"/>\n        <source>Replace in Opened Files: %1 occurrences were replaced.</source>\n        <translation type=\"unfinished\">在打开的文档中替换：%1 处已经被替换。</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2459\"/>\n        <location filename=\"findwin.cpp\" line=\"2573\"/>\n        <source>what mark is null !</source>\n        <translation type=\"unfinished\">标记字段为空！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2503\"/>\n        <source>cant&apos;t mark text &apos;%1&apos;</source>\n        <translation type=\"unfinished\">不能标记文本 ‘%1’</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2550\"/>\n        <source>mark finished, total %1 found!</source>\n        <translation type=\"unfinished\">标记完成，一共 %1 处发现！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2557\"/>\n        <source>The mode of the current document does not allow mark.</source>\n        <translation type=\"unfinished\">当前模式的文档不允许执行标记操作！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2608\"/>\n        <source>Open Directory</source>\n        <translation type=\"unfinished\">打开目录</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2752\"/>\n        <source>load dir file in progress\n, please wait ...</source>\n        <translation type=\"unfinished\">加载目录文件中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2789\"/>\n        <location filename=\"findwin.cpp\" line=\"2797\"/>\n        <source>skip dir %1</source>\n        <translation type=\"unfinished\">跳过目录 %1</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2805\"/>\n        <source>found %1 dir %2</source>\n        <translation type=\"unfinished\">发现 %1 个目录 %2</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2843\"/>\n        <source>ext type  skip file %1</source>\n        <translation type=\"unfinished\">跳过类型文件 %1</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2869\"/>\n        <source>found in dir canceled ...</source>\n        <translation type=\"unfinished\">查找取消...</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"3023\"/>\n        <source>find finished, walk %1 files, total %2 found in %3 file!</source>\n        <translation type=\"unfinished\">查找完成，遍历 %1 个文件，一共 %2 处发现在 %3 个文件！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"3144\"/>\n        <source>replace finished, walk %1 files, total %2 replace !</source>\n        <translation type=\"unfinished\">替换完成，遍历 %1 个文件，一共 %2 处替换！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"3153\"/>\n        <source>Only regular lookup mode can be used!</source>\n        <translation type=\"unfinished\">只在正则查找模式才能使用该功能！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1663\"/>\n        <location filename=\"findwin.cpp\" line=\"2877\"/>\n        <source>Continue Find ?</source>\n        <translation type=\"unfinished\">是否继续查找？</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1663\"/>\n        <location filename=\"findwin.cpp\" line=\"2877\"/>\n        <source>The search results have been greater than %1 times in %2 files, and more may be slow. Continue to search?</source>\n        <translation type=\"unfinished\">查找结果已经有 %1 处在 %2 个文件中，结果太多会比较慢，是否继续查找？</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1663\"/>\n        <location filename=\"findwin.cpp\" line=\"2877\"/>\n        <source>Yes</source>\n        <translation type=\"unfinished\">继续查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"1663\"/>\n        <location filename=\"findwin.cpp\" line=\"2877\"/>\n        <source>Abort</source>\n        <translation type=\"unfinished\">终止查找</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2924\"/>\n        <location filename=\"findwin.cpp\" line=\"3049\"/>\n        <source>please select find dest dir !</source>\n        <translation type=\"unfinished\">请选择目标文件夹！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"2939\"/>\n        <source>dest dir %1 not exist !</source>\n        <translation type=\"unfinished\">目标文件夹 %1 不存在！</translation>\n    </message>\n    <message>\n        <source>find finished, total %1 found in %2 file!</source>\n        <translation type=\"obsolete\">查找完成，一共发现 %1 处在 %2 个文件中！</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"3061\"/>\n        <source>Replace All Dirs</source>\n        <translation type=\"unfinished\">目录全部替换</translation>\n    </message>\n    <message>\n        <location filename=\"findwin.cpp\" line=\"3061\"/>\n        <source>Are you sure replace all &quot;%1&quot; to &quot;%2&quot; occurrences in selected dirs ?</source>\n        <translation type=\"unfinished\">您确定替换目录文件中所有 &quot;%1&quot; 为 &quot;%2&quot; 吗？</translation>\n    </message>\n    <message>\n        <source>replace finished, total %1 replace in %2 file!</source>\n        <translation type=\"obsolete\">替换完成，一共替换 %1 处在 %2 个文件中！</translation>\n    </message>\n</context>\n<context>\n    <name>GoToLineWin</name>\n    <message>\n        <location filename=\"gotolinewin.ui\" line=\"20\"/>\n        <location filename=\"ui_gotolinewin.h\" line=\"125\"/>\n        <source>GoToLineWin</source>\n        <translation type=\"unfinished\">跳转到行</translation>\n    </message>\n    <message>\n        <location filename=\"gotolinewin.ui\" line=\"50\"/>\n        <location filename=\"ui_gotolinewin.h\" line=\"126\"/>\n        <source>Line Num</source>\n        <translation type=\"unfinished\">行号</translation>\n    </message>\n    <message>\n        <location filename=\"gotolinewin.ui\" line=\"71\"/>\n        <location filename=\"ui_gotolinewin.h\" line=\"127\"/>\n        <source>Left</source>\n        <translation type=\"unfinished\">左边</translation>\n    </message>\n    <message>\n        <location filename=\"gotolinewin.ui\" line=\"81\"/>\n        <location filename=\"ui_gotolinewin.h\" line=\"128\"/>\n        <source>Right</source>\n        <translation type=\"unfinished\">右边</translation>\n    </message>\n    <message>\n        <location filename=\"gotolinewin.ui\" line=\"108\"/>\n        <location filename=\"ui_gotolinewin.h\" line=\"129\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <location filename=\"gotolinewin.ui\" line=\"115\"/>\n        <location filename=\"ui_gotolinewin.h\" line=\"130\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>HexCmpRangeWin</name>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"20\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"171\"/>\n        <source>HexCmpRangeWin</source>\n        <translation type=\"unfinished\">选择文件对比范围</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"32\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"172\"/>\n        <source>Max Bin File Size is 10M ! Exceeding file size ! \nSelect a shorter range for comparison. </source>\n        <translation type=\"unfinished\">文件最大对比长度为10M! 当前文件超过最大限制。\n请选择一个文件范围来进行对比。</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"40\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"174\"/>\n        <source>Select Range</source>\n        <translation type=\"unfinished\">选择对比范围</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"48\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"175\"/>\n        <source>Left Start Pos: </source>\n        <translation type=\"unfinished\">左边开始偏移值：</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"61\"/>\n        <location filename=\"hexcmprangewin.ui\" line=\"108\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"176\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"180\"/>\n        <source>0</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"68\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"177\"/>\n        <source>Left Compare Length:</source>\n        <translation type=\"unfinished\">左边对比长度：</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"81\"/>\n        <location filename=\"hexcmprangewin.ui\" line=\"128\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"178\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"182\"/>\n        <source>10240</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"95\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"179\"/>\n        <source>Right Start Pos:</source>\n        <translation type=\"unfinished\">右边开始偏移值：</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"115\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"181\"/>\n        <source>Right Compare Length:</source>\n        <translation type=\"unfinished\">右边对比长度：</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"165\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"184\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.ui\" line=\"172\"/>\n        <location filename=\"ui_hexcmprangewin.h\" line=\"185\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.cpp\" line=\"69\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\">错误</translation>\n    </message>\n    <message>\n        <location filename=\"hexcmprangewin.cpp\" line=\"69\"/>\n        <source>StartPos or cmpare lens value error.</source>\n        <translation type=\"unfinished\">开始位置或对比长度值错误！</translation>\n    </message>\n</context>\n<context>\n    <name>HexFileGoto</name>\n    <message>\n        <location filename=\"hexfilegoto.ui\" line=\"20\"/>\n        <location filename=\"ui_hexfilegoto.h\" line=\"148\"/>\n        <source>HexFileGoto</source>\n        <translation type=\"unfinished\">二进制跳转</translation>\n    </message>\n    <message>\n        <location filename=\"hexfilegoto.ui\" line=\"45\"/>\n        <location filename=\"ui_hexfilegoto.h\" line=\"149\"/>\n        <source>Addr</source>\n        <translation type=\"unfinished\">地址</translation>\n    </message>\n    <message>\n        <location filename=\"hexfilegoto.ui\" line=\"68\"/>\n        <location filename=\"ui_hexfilegoto.h\" line=\"150\"/>\n        <source>Dec Addr</source>\n        <translation type=\"unfinished\">10进制地址</translation>\n    </message>\n    <message>\n        <location filename=\"hexfilegoto.ui\" line=\"89\"/>\n        <location filename=\"ui_hexfilegoto.h\" line=\"151\"/>\n        <source>Hex Addr</source>\n        <translation type=\"unfinished\">16进制地址</translation>\n    </message>\n    <message>\n        <location filename=\"hexfilegoto.ui\" line=\"142\"/>\n        <location filename=\"ui_hexfilegoto.h\" line=\"152\"/>\n        <source>Go to</source>\n        <translation type=\"unfinished\">跳转</translation>\n    </message>\n    <message>\n        <location filename=\"hexfilegoto.ui\" line=\"149\"/>\n        <location filename=\"ui_hexfilegoto.h\" line=\"153\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>HexRuleWin</name>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"20\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"118\"/>\n        <source>HexRuleWinRule</source>\n        <translation type=\"unfinished\">bin对比规则</translation>\n    </message>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"30\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"119\"/>\n        <source>Mode</source>\n        <translation type=\"unfinished\">模式</translation>\n    </message>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"36\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"120\"/>\n        <source>Maximum Common String</source>\n        <translation type=\"unfinished\">最大公共内容方式</translation>\n    </message>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"46\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"121\"/>\n        <source>One-to-one Byte Contrast</source>\n        <translation type=\"unfinished\">按字节一对一比较</translation>\n    </message>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"56\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"122\"/>\n        <source>Highlight diff Background</source>\n        <translation type=\"unfinished\">高亮不同处背景</translation>\n    </message>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"91\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"123\"/>\n        <source>OK</source>\n        <translation type=\"unfinished\">确认</translation>\n    </message>\n    <message>\n        <location filename=\"hexrulewin.ui\" line=\"98\"/>\n        <location filename=\"ui_hexrulewin.h\" line=\"124\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n</context>\n<context>\n    <name>LangExtSet</name>\n    <message>\n        <location filename=\"langextset.cpp\" line=\"99\"/>\n        <source>current lang: %1 \next file suffix is : %2\nDouble-click a column item to modify the syntax association file.</source>\n        <translation type=\"unfinished\">当前语言：%1\n关联文件后缀是： %2\n双击列可修改关联文件后缀，多个后缀用 &apos;,&apos;号分隔开。</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.cpp\" line=\"108\"/>\n        <source>Not change, no need save !</source>\n        <translation type=\"unfinished\">没有改变，无需保存！</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.cpp\" line=\"156\"/>\n        <source>Save Finished !</source>\n        <translation type=\"unfinished\">保存成功！</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.cpp\" line=\"223\"/>\n        <source>Save Change</source>\n        <translation type=\"unfinished\">保存修改</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.cpp\" line=\"223\"/>\n        <source>Configuration has been modified. Do you want to save it?</source>\n        <translation type=\"unfinished\">配置已经被修改，您是否要保存？</translation>\n    </message>\n</context>\n<context>\n    <name>LangExtSetClass</name>\n    <message>\n        <location filename=\"langextset.ui\" line=\"14\"/>\n        <location filename=\"ui_langextset.h\" line=\"113\"/>\n        <source>LangExtSet</source>\n        <translation type=\"unfinished\">语法文件后缀关联</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.ui\" line=\"34\"/>\n        <location filename=\"ui_langextset.h\" line=\"115\"/>\n        <source>Language</source>\n        <translation type=\"unfinished\">语言</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.ui\" line=\"39\"/>\n        <location filename=\"ui_langextset.h\" line=\"117\"/>\n        <source>File Suffix</source>\n        <translation type=\"unfinished\">文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.ui\" line=\"72\"/>\n        <location filename=\"ui_langextset.h\" line=\"118\"/>\n        <source>Save</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"langextset.ui\" line=\"79\"/>\n        <location filename=\"ui_langextset.h\" line=\"119\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>LangStyleDefine</name>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"105\"/>\n        <source>Create New Languages</source>\n        <translation type=\"unfinished\">新建自定义语言</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"105\"/>\n        <source>Please Input Languages Name</source>\n        <translation type=\"unfinished\">请输入语言名称</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"111\"/>\n        <source>Name Error</source>\n        <translation type=\"unfinished\">名称错误</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"111\"/>\n        <source>Name can not contains char &apos;.&apos; </source>\n        <translation type=\"unfinished\">名称不能包含字符 &apos;.&apos;</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"131\"/>\n        <source>Ext is empty</source>\n        <translation type=\"unfinished\">后缀名为空</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"131\"/>\n        <source>input ext file tyle. Split with space char</source>\n        <translation type=\"unfinished\">请输入关联文件的后缀名，以空格分隔。</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"137\"/>\n        <source>Keyword is empty</source>\n        <translation type=\"unfinished\">关键词为空！</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"137\"/>\n        <source>input Keyword. Split with space char</source>\n        <translation type=\"unfinished\">请输入关键词，以空格分隔。</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"145\"/>\n        <source>Language name is empty</source>\n        <translation type=\"unfinished\">语言名称为空！</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"145\"/>\n        <source>Select Definition Language Text</source>\n        <translation type=\"unfinished\">请选择自定义语言名称</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"176\"/>\n        <source>Save %1 language finished !</source>\n        <translation type=\"unfinished\">保存语言 %1 完成！</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"196\"/>\n        <source>Delete Language</source>\n        <translation type=\"unfinished\">删除语言</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"196\"/>\n        <source>Are you sure delete user define lanuage %1</source>\n        <translation type=\"unfinished\">确定删除自定义语言 %1 吗？</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.cpp\" line=\"238\"/>\n        <source>Delete %1 language finished !</source>\n        <translation type=\"unfinished\">删除语言 %1 完成！</translation>\n    </message>\n</context>\n<context>\n    <name>LangStyleDefineClass</name>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"14\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"206\"/>\n        <source>LangStyleDefine</source>\n        <translation type=\"unfinished\">自定义语言</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"39\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"207\"/>\n        <source>Setting</source>\n        <translation type=\"unfinished\">设置</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"65\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"208\"/>\n        <source>Definition Language</source>\n        <translation type=\"unfinished\">自定义语言：</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"79\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"209\"/>\n        <source>Mother Language</source>\n        <translation type=\"unfinished\">母版语言：</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"87\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"210\"/>\n        <source>None</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"92\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"211\"/>\n        <source>Cpp</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"104\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"213\"/>\n        <source>Delete</source>\n        <translation type=\"unfinished\">删除</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"111\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"214\"/>\n        <source>New Create</source>\n        <translation type=\"unfinished\">新建</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"118\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"215\"/>\n        <source>Save</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"125\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"216\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"136\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"217\"/>\n        <source>Expand File Name:</source>\n        <translation type=\"unfinished\">关联文件后缀名：</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"146\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"218\"/>\n        <source>js cs (split with space）</source>\n        <translation type=\"unfinished\">比如 js ts (多个以空格分隔）</translation>\n    </message>\n    <message>\n        <location filename=\"langstyledefine.ui\" line=\"171\"/>\n        <location filename=\"ui_langstyledefine.h\" line=\"219\"/>\n        <source>Input Key Words</source>\n        <translation type=\"unfinished\">输入关键字</translation>\n    </message>\n</context>\n<context>\n    <name>LcsLine</name>\n    <message>\n        <location filename=\"LcsLine.cpp\" line=\"54\"/>\n        <source>left Big Step %1, dealed %2 Step, compute %3 step, total %4 steps ...</source>\n        <translation type=\"unfinished\">剩余步 %1次，已经处理 %2次， 当前小步对比循环 %3 次，还剩余 %4 次 ...</translation>\n    </message>\n    <message>\n        <location filename=\"LcsLine.cpp\" line=\"274\"/>\n        <source>Compare loop %1 times, %2 times left ...</source>\n        <translation type=\"unfinished\">对比循环 %1 次，还剩余 %2 次 ...</translation>\n    </message>\n</context>\n<context>\n    <name>MarkdownViewClass</name>\n    <message>\n        <location filename=\"markdownview.ui\" line=\"14\"/>\n        <location filename=\"ui_markdownview.h\" line=\"71\"/>\n        <source>MarkdownView</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n</context>\n<context>\n    <name>Md5hash</name>\n    <message>\n        <location filename=\"md5hash.cpp\" line=\"151\"/>\n        <source>Copy to clipboard Finished!</source>\n        <translation type=\"unfinished\">拷贝到剪切板完成！</translation>\n    </message>\n</context>\n<context>\n    <name>Md5hashClass</name>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"14\"/>\n        <location filename=\"ui_md5hash.h\" line=\"163\"/>\n        <source>Md5hash</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"28\"/>\n        <location filename=\"ui_md5hash.h\" line=\"164\"/>\n        <source>Copy Text Or Select File</source>\n        <translation type=\"unfinished\">拷贝文本或选择文件</translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"35\"/>\n        <location filename=\"ui_md5hash.h\" line=\"165\"/>\n        <source>select</source>\n        <translation type=\"unfinished\">选择</translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"47\"/>\n        <location filename=\"ui_md5hash.h\" line=\"166\"/>\n        <source>Algorithm</source>\n        <translation type=\"unfinished\">算法</translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"53\"/>\n        <location filename=\"ui_md5hash.h\" line=\"167\"/>\n        <source>Md4</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"60\"/>\n        <location filename=\"ui_md5hash.h\" line=\"168\"/>\n        <source>Sha1</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"67\"/>\n        <location filename=\"ui_md5hash.h\" line=\"169\"/>\n        <source>Sha3_256</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"74\"/>\n        <location filename=\"ui_md5hash.h\" line=\"170\"/>\n        <source>Md5</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"84\"/>\n        <location filename=\"ui_md5hash.h\" line=\"171\"/>\n        <source>Sha256</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"91\"/>\n        <location filename=\"ui_md5hash.h\" line=\"172\"/>\n        <source>Keccak_256</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"132\"/>\n        <location filename=\"ui_md5hash.h\" line=\"173\"/>\n        <source>Copy to Clipboard</source>\n        <translation type=\"unfinished\">拷贝到剪切板</translation>\n    </message>\n    <message>\n        <location filename=\"md5hash.ui\" line=\"139\"/>\n        <location filename=\"ui_md5hash.h\" line=\"174\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>NetRegister</name>\n    <message>\n        <source>notice</source>\n        <translation type=\"obsolete\">消息</translation>\n    </message>\n    <message>\n        <source>Font Lost</source>\n        <translation type=\"obsolete\">字体缺失</translation>\n    </message>\n    <message>\n        <source>Please Install System Font [Courier/SimSun/Times New Roman].The interface font will display exceptions</source>\n        <translation type=\"obsolete\">请安装至少一种系统字体[[Courier/SimSun/Times New Roman]。软件界面字体显示可能不满意。</translation>\n    </message>\n    <message>\n        <location filename=\"netregister.cpp\" line=\"203\"/>\n        <location filename=\"netregister.cpp\" line=\"207\"/>\n        <location filename=\"netregister.cpp\" line=\"220\"/>\n        <source>The new software has been released, please update it timely!</source>\n        <translation type=\"unfinished\">软件新版本已经发布，请及时更新！</translation>\n    </message>\n    <message>\n        <location filename=\"netregister.cpp\" line=\"182\"/>\n        <location filename=\"netregister.cpp\" line=\"237\"/>\n        <source>Software status is normal.</source>\n        <translation type=\"unfinished\">软件状态正常</translation>\n    </message>\n    <message>\n        <source>&lt;a href = &quot;www.itdp.cn&quot;&gt;&lt;u&gt;New Version Was Detected&lt;/u&gt;&lt;/a&gt;</source>\n        <translation type=\"obsolete\">&lt;a href = &quot;www.itdp.cn&quot;&gt;&lt;u&gt;发现新版本...&lt;/u&gt;&lt;/a&gt;</translation>\n    </message>\n    <message>\n        <source>%1 not exist, please check!</source>\n        <translation type=\"obsolete\">文件 %1 不存在，请检查！</translation>\n    </message>\n    <message>\n        <source>Notice</source>\n        <translation type=\"obsolete\">消息</translation>\n    </message>\n    <message>\n        <location filename=\"netregister.cpp\" line=\"304\"/>\n        <source>Please contact us. QQ Group:959439826</source>\n        <translation type=\"unfinished\">请加入我们QQ群：959439826</translation>\n    </message>\n    <message>\n        <source>Please contact us. QQ:959439826</source>\n        <translation type=\"obsolete\">请联系我们QQ群：959439826</translation>\n    </message>\n    <message>\n        <source>Close ?</source>\n        <translation type=\"obsolete\">关闭?</translation>\n    </message>\n    <message>\n        <source>already has child window open, close all ?</source>\n        <translation type=\"obsolete\">目前还有子窗口处于打开状态，关闭所有窗口吗？</translation>\n    </message>\n    <message>\n        <source>file path not exist, remove recent record!</source>\n        <translation type=\"obsolete\">文件路径不存在，删除历史记录！</translation>\n    </message>\n    <message>\n        <source>file [%1] may be not a text file, cmp in hex mode?</source>\n        <translation type=\"obsolete\">文件 %1 可能不是文本格式，是否进行二进制格式对比？</translation>\n    </message>\n</context>\n<context>\n    <name>OptionsView</name>\n    <message>\n        <location filename=\"optionsview.ui\" line=\"14\"/>\n        <location filename=\"ui_optionsview.h\" line=\"97\"/>\n        <source>OptionsView</source>\n        <translation type=\"unfinished\">设置</translation>\n    </message>\n    <message>\n        <location filename=\"optionsview.ui\" line=\"24\"/>\n        <location filename=\"ui_optionsview.h\" line=\"98\"/>\n        <source>Options</source>\n        <translation type=\"unfinished\">选项</translation>\n    </message>\n    <message>\n        <location filename=\"optionsview.ui\" line=\"63\"/>\n        <location filename=\"ui_optionsview.h\" line=\"99\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <source>Cancel</source>\n        <translation type=\"obsolete\">取消</translation>\n    </message>\n    <message>\n        <source>file correlation</source>\n        <translation type=\"obsolete\">文件关联</translation>\n    </message>\n    <message>\n        <location filename=\"optionsview.cpp\" line=\"19\"/>\n        <source>File Correlation</source>\n        <translation type=\"unfinished\">文件关联</translation>\n    </message>\n    <message>\n        <location filename=\"optionsview.cpp\" line=\"27\"/>\n        <source>Compare File Types</source>\n        <translation type=\"unfinished\">对比文件类型</translation>\n    </message>\n    <message>\n        <location filename=\"optionsview.cpp\" line=\"33\"/>\n        <source>Text And Fonts</source>\n        <translation type=\"unfinished\">文本和字体</translation>\n    </message>\n</context>\n<context>\n    <name>PluginMgrClass</name>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"14\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"117\"/>\n        <source>PluginMgr</source>\n        <translation type=\"unfinished\">插件管理</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"31\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"119\"/>\n        <source>Name</source>\n        <translation type=\"unfinished\">文件名</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"36\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"121\"/>\n        <source>Version</source>\n        <translation type=\"unfinished\">版本</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"41\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"123\"/>\n        <source>Auther</source>\n        <translation type=\"unfinished\">作者</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"46\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"125\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">说明</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"51\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"127\"/>\n        <source>Path</source>\n        <translation type=\"unfinished\">路径</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"74\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"128\"/>\n        <source>Plugin Dir</source>\n        <translation type=\"unfinished\">插件目录</translation>\n    </message>\n    <message>\n        <location filename=\"pluginmgr.ui\" line=\"81\"/>\n        <location filename=\"ui_pluginmgr.h\" line=\"129\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>ProgressWin</name>\n    <message>\n        <location filename=\"progresswin.ui\" line=\"17\"/>\n        <location filename=\"ui_progresswin.h\" line=\"105\"/>\n        <source>work progress</source>\n        <translation type=\"unfinished\">工作进度</translation>\n    </message>\n    <message>\n        <location filename=\"progresswin.ui\" line=\"51\"/>\n        <location filename=\"ui_progresswin.h\" line=\"106\"/>\n        <source>current progress</source>\n        <translation type=\"unfinished\">当前进度</translation>\n    </message>\n    <message>\n        <location filename=\"progresswin.ui\" line=\"85\"/>\n        <location filename=\"ui_progresswin.h\" line=\"107\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <source>close</source>\n        <translation type=\"obsolete\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"progresswin.cpp\" line=\"71\"/>\n        <source>Notice</source>\n        <translation type=\"unfinished\">消息</translation>\n    </message>\n    <message>\n        <location filename=\"progresswin.cpp\" line=\"71\"/>\n        <source>Are you sure to cancel?</source>\n        <translation type=\"unfinished\">您确定取消吗？</translation>\n    </message>\n</context>\n<context>\n    <name>QObject</name>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"144\"/>\n        <source>Text Mode</source>\n        <translation type=\"unfinished\">文本模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"147\"/>\n        <source>Hex ReadOnly Mode</source>\n        <translation type=\"unfinished\">二进制只读模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"150\"/>\n        <source>Big Text ReadOnly Mode</source>\n        <oldsource>Bit Text ReadOnly Mode</oldsource>\n        <translation type=\"unfinished\">大文本只读模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"153\"/>\n        <source>Big Text ReadWrite Mode</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"156\"/>\n        <source>Super Big Text ReadOnly Mode</source>\n        <translation type=\"unfinished\">超大文本只读模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"159\"/>\n        <source>Text ReadOnly Mode</source>\n        <translation type=\"unfinished\">文本只读模式</translation>\n    </message>\n    <message>\n        <location filename=\"cceditor/ccnotepad.cpp\" line=\"162\"/>\n        <source>File Mode</source>\n        <translation type=\"unfinished\">文件模式</translation>\n    </message>\n</context>\n<context>\n    <name>QsciCommand</name>\n    <message>\n        <source>Move down one line</source>\n        <translation type=\"unfinished\">光标下移一行</translation>\n    </message>\n    <message>\n        <source>Extend selection down one line</source>\n        <translation type=\"unfinished\">继续选中下一行</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection down one line</source>\n        <translation type=\"unfinished\">列编辑：扩展选中下一行</translation>\n    </message>\n    <message>\n        <source>Scroll view down one line</source>\n        <translation type=\"unfinished\">视图滚动到下一行</translation>\n    </message>\n    <message>\n        <source>Move up one line</source>\n        <translation type=\"unfinished\">光标上移一行</translation>\n    </message>\n    <message>\n        <source>Extend selection up one line</source>\n        <translation type=\"unfinished\">继续选中上一行</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection up one line</source>\n        <translation type=\"unfinished\">列编辑：继续选中上一行</translation>\n    </message>\n    <message>\n        <source>Scroll view up one line</source>\n        <translation type=\"unfinished\">视图滚动到上一行</translation>\n    </message>\n    <message>\n        <source>Scroll to start of document</source>\n        <translation type=\"unfinished\">光标移到行首</translation>\n    </message>\n    <message>\n        <source>Scroll to end of document</source>\n        <translation type=\"unfinished\">光标移到行尾</translation>\n    </message>\n    <message>\n        <source>Extend selection down one paragraph</source>\n        <translation type=\"unfinished\">继续选中下一段落</translation>\n    </message>\n    <message>\n        <source>Move up one paragraph</source>\n        <translation type=\"unfinished\">光标移到上一段落</translation>\n    </message>\n    <message>\n        <source>Extend selection up one paragraph</source>\n        <translation type=\"unfinished\">继续选中上一段落</translation>\n    </message>\n    <message>\n        <source>Move left one character</source>\n        <translation type=\"unfinished\">光标右移一格</translation>\n    </message>\n    <message>\n        <source>Extend selection left one character</source>\n        <translation type=\"unfinished\">继续选中左边一个字符</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection left one character</source>\n        <translation type=\"unfinished\">列编辑：继续选中左边一个字符</translation>\n    </message>\n    <message>\n        <source>Move right one character</source>\n        <translation type=\"unfinished\">光标右移一格</translation>\n    </message>\n    <message>\n        <source>Extend selection right one character</source>\n        <translation type=\"unfinished\">继续选中右边一个字符</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection right one character</source>\n        <translation type=\"unfinished\">列编辑：继续选中右边一个字符</translation>\n    </message>\n    <message>\n        <source>Move left one word</source>\n        <translation type=\"unfinished\">光标左移一个单词</translation>\n    </message>\n    <message>\n        <source>Extend selection left one word</source>\n        <translation type=\"unfinished\">继续选中左边一个单词</translation>\n    </message>\n    <message>\n        <source>Move right one word</source>\n        <translation type=\"unfinished\">光标右移一个单词</translation>\n    </message>\n    <message>\n        <source>Extend selection to start of document line</source>\n        <translation type=\"unfinished\">扩展选中光标至行首</translation>\n    </message>\n    <message>\n        <source>Move to first visible character in document line</source>\n        <translation type=\"unfinished\">光标移到行首</translation>\n    </message>\n    <message>\n        <source>Extend selection to first visible character in document line</source>\n        <translation type=\"unfinished\">扩展选中光标至行首</translation>\n    </message>\n    <message>\n        <source>Move to end of document line</source>\n        <translation type=\"unfinished\">光标移到行尾</translation>\n    </message>\n    <message>\n        <source>Extend selection to end of document line</source>\n        <translation type=\"unfinished\">扩展选中光标至行尾</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection to end of document line</source>\n        <translation type=\"unfinished\">列编辑：继续选中到文件尾部</translation>\n    </message>\n    <message>\n        <source>Move to start of document</source>\n        <translation type=\"unfinished\">光标移到文档首</translation>\n    </message>\n    <message>\n        <source>Extend selection to start of document</source>\n        <translation type=\"unfinished\">扩展选中光标至文档首部</translation>\n    </message>\n    <message>\n        <source>Move to end of document</source>\n        <translation type=\"unfinished\">光标移到文档尾</translation>\n    </message>\n    <message>\n        <source>Extend selection to end of document</source>\n        <translation type=\"unfinished\">扩展选中光标至文档尾部</translation>\n    </message>\n    <message>\n        <source>Move up one page</source>\n        <translation type=\"unfinished\">光标移到上一页</translation>\n    </message>\n    <message>\n        <source>Extend selection up one page</source>\n        <translation type=\"unfinished\">继续选中上一页</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection up one page</source>\n        <translation type=\"unfinished\">列编辑：继续选中上一页</translation>\n    </message>\n    <message>\n        <source>Move down one page</source>\n        <translation type=\"unfinished\">光标移到下一页</translation>\n    </message>\n    <message>\n        <source>Extend selection down one page</source>\n        <translation type=\"unfinished\">继续选中下一页</translation>\n    </message>\n    <message>\n        <source>Extend rectangular selection down one page</source>\n        <translation type=\"unfinished\">列编辑：扩展选中下一页</translation>\n    </message>\n    <message>\n        <source>Delete current character</source>\n        <translation type=\"unfinished\">删除当前字符</translation>\n    </message>\n    <message>\n        <source>Delete previous character</source>\n        <translation type=\"unfinished\">删除上一个字符</translation>\n    </message>\n    <message>\n        <source>Delete line to left</source>\n        <translation type=\"unfinished\">删除光标左边的行内容</translation>\n    </message>\n    <message>\n        <source>Delete line to right</source>\n        <translation type=\"unfinished\">删除光右边的行内容</translation>\n    </message>\n    <message>\n        <source>Delete current line</source>\n        <translation type=\"unfinished\">删除当前行</translation>\n    </message>\n    <message>\n        <source>Cut current line</source>\n        <translation type=\"unfinished\">剪切当前行</translation>\n    </message>\n    <message>\n        <source>Copy current line</source>\n        <translation type=\"unfinished\">复制当前行</translation>\n    </message>\n    <message>\n        <source>Select all</source>\n        <translation type=\"unfinished\">全选</translation>\n    </message>\n    <message>\n        <source>Convert selection to lower case</source>\n        <translation type=\"unfinished\">将选中文本转换为小写字母</translation>\n    </message>\n    <message>\n        <source>Convert selection to upper case</source>\n        <translation type=\"unfinished\">将选中文本转换为大写字母</translation>\n    </message>\n    <message>\n        <source>Cut selection</source>\n        <translation type=\"unfinished\">剪切选中内容</translation>\n    </message>\n    <message>\n        <source>Copy selection</source>\n        <translation type=\"unfinished\">复制选中内容</translation>\n    </message>\n    <message>\n        <source>Paste</source>\n        <translation type=\"unfinished\">粘贴</translation>\n    </message>\n    <message>\n        <source>Toggle insert/overtype</source>\n        <translation type=\"unfinished\">插入覆盖模式</translation>\n    </message>\n    <message>\n        <source>Insert newline</source>\n        <translation type=\"unfinished\">插入新行</translation>\n    </message>\n    <message>\n        <source>Indent one level</source>\n        <translation type=\"unfinished\">键入制表符</translation>\n    </message>\n    <message>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <source>Undo last command</source>\n        <translation type=\"unfinished\">撤销一步</translation>\n    </message>\n    <message>\n        <source>Redo last command</source>\n        <translation type=\"unfinished\">重做一步</translation>\n    </message>\n    <message>\n        <source>Zoom in</source>\n        <translation type=\"unfinished\">放大</translation>\n    </message>\n    <message>\n        <source>Zoom out</source>\n        <translation type=\"unfinished\">缩小</translation>\n    </message>\n</context>\n<context>\n    <name>QsciDisplayWindow</name>\n    <message>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"492\"/>\n        <source>Find Text</source>\n        <translation type=\"unfinished\">查找文本</translation>\n    </message>\n    <message>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"493\"/>\n        <source>Show File in Explorer</source>\n        <translation type=\"unfinished\">定位到文件目录</translation>\n    </message>\n    <message>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"494\"/>\n        <source>Save As ...</source>\n        <translation type=\"unfinished\">另存为</translation>\n    </message>\n    <message>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"560\"/>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"580\"/>\n        <source>Not Find</source>\n        <translation type=\"unfinished\">没有找到</translation>\n    </message>\n    <message>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"560\"/>\n        <source>Not Find Next!</source>\n        <translation type=\"unfinished\">找不到下一个！</translation>\n    </message>\n    <message>\n        <location filename=\"qscidisplaywindow.cpp\" line=\"580\"/>\n        <source>Not Find Prev!</source>\n        <translation type=\"unfinished\">找不到前一个！</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerGlobal</name>\n    <message>\n        <source>Global override</source>\n        <translation type=\"unfinished\">全局样式覆盖所有语言</translation>\n    </message>\n    <message>\n        <source>Default</source>\n        <translation type=\"unfinished\">默认</translation>\n    </message>\n    <message>\n        <source>Indent guideline style</source>\n        <translation type=\"unfinished\">缩进参考线风格</translation>\n    </message>\n    <message>\n        <source>Brace highlight style</source>\n        <translation type=\"unfinished\">括弧高亮风格</translation>\n    </message>\n    <message>\n        <source>Current line background colour</source>\n        <translation type=\"unfinished\">当前行背景色</translation>\n    </message>\n    <message>\n        <source>Select text colour</source>\n        <translation type=\"unfinished\">选中文本颜色</translation>\n    </message>\n    <message>\n        <source>Caret colour</source>\n        <translation type=\"unfinished\">光标颜色</translation>\n    </message>\n    <message>\n        <source>Line number margin</source>\n        <translation type=\"unfinished\">行号风格</translation>\n    </message>\n    <message>\n        <source>Bookmark margin</source>\n        <translation type=\"unfinished\">书签风格</translation>\n    </message>\n    <message>\n        <source>Fold</source>\n        <translation type=\"unfinished\">折叠符号风格</translation>\n    </message>\n    <message>\n        <source>Fold active</source>\n        <translation type=\"unfinished\">折叠激活风格（目前无效）</translation>\n    </message>\n    <message>\n        <source>Fold margin</source>\n        <translation type=\"unfinished\">折叠样式</translation>\n    </message>\n    <message>\n        <source>White space symbol</source>\n        <translation type=\"unfinished\">空白字符样式</translation>\n    </message>\n    <message>\n        <source>Smart HighLighting</source>\n        <translation type=\"unfinished\">智能高亮</translation>\n    </message>\n    <message>\n        <source>Find Mark Style</source>\n        <translation type=\"unfinished\">查找结果样式</translation>\n    </message>\n    <message>\n        <source>Mark Style 1</source>\n        <translation type=\"unfinished\">标记样式1</translation>\n    </message>\n    <message>\n        <source>Mark Style 2</source>\n        <translation type=\"unfinished\">标记样式2</translation>\n    </message>\n    <message>\n        <source>Mark Style 3</source>\n        <translation type=\"unfinished\">标记样式3</translation>\n    </message>\n    <message>\n        <source>Mark Style 4</source>\n        <translation type=\"unfinished\">标记样式4</translation>\n    </message>\n    <message>\n        <source>Mark Style 5</source>\n        <translation type=\"unfinished\">标记样式5</translation>\n    </message>\n    <message>\n        <source>URL hovered</source>\n        <translation type=\"unfinished\">网址鼠标悬浮样式</translation>\n    </message>\n</context>\n<context>\n    <name>QsciLexerText</name>\n    <message>\n        <source>Chinese And Others</source>\n        <translation type=\"unfinished\">中文字符及其它</translation>\n    </message>\n    <message>\n        <source>Ascii</source>\n        <translation type=\"unfinished\">英文字符</translation>\n    </message>\n    <message>\n        <source>Keyword</source>\n        <translation type=\"unfinished\">关键词</translation>\n    </message>\n</context>\n<context>\n    <name>QsciScintilla</name>\n    <message>\n        <source>&amp;Cut</source>\n        <translation type=\"unfinished\">剪切</translation>\n    </message>\n    <message>\n        <source>&amp;Copy</source>\n        <translation type=\"unfinished\">复制</translation>\n    </message>\n    <message>\n        <source>&amp;Paste</source>\n        <translation type=\"unfinished\">粘贴</translation>\n    </message>\n    <message>\n        <source>Delete</source>\n        <translation type=\"unfinished\">删除</translation>\n    </message>\n    <message>\n        <source>Select All</source>\n        <translation type=\"unfinished\">全选</translation>\n    </message>\n    <message>\n        <source>Show File in Explorer</source>\n        <translation type=\"unfinished\">定位到文件目录</translation>\n    </message>\n</context>\n<context>\n    <name>QtLangSet</name>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"953\"/>\n        <source>Save Change</source>\n        <translation type=\"unfinished\">保存修改</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"867\"/>\n        <location filename=\"qtlangset.cpp\" line=\"1666\"/>\n        <source>AllGlobal</source>\n        <translation type=\"unfinished\">全局格式统一设置</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"939\"/>\n        <source>Current themes : %1, language : %2</source>\n        <translation type=\"unfinished\">当前主题：%1，当前语言：%2</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"953\"/>\n        <source>%1 style configuration has been modified. Do you want to save it?</source>\n        <translation type=\"unfinished\">%1 类型的显示风格已经被修改，是否保存？</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1141\"/>\n        <source>Read %1 language user define  format error.</source>\n        <translation type=\"unfinished\">读取 %1 语言用户自定义格式失败！</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1372\"/>\n        <source>Save Finished !</source>\n        <translation type=\"unfinished\">保存成功！</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1375\"/>\n        <source>Not change, no need save !</source>\n        <translation type=\"unfinished\">没有改变，无需保存！</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1392\"/>\n        <source>Style Foreground Color</source>\n        <translatorcomment>风格背景色</translatorcomment>\n        <translation type=\"unfinished\">风格前景色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1493\"/>\n        <source>Style Background Color</source>\n        <translation type=\"unfinished\">风格背景色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1581\"/>\n        <source>Reset Style</source>\n        <translation type=\"unfinished\">重置风格</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1581\"/>\n        <source>Are you sure to reset language %1 sytle</source>\n        <translation type=\"unfinished\">您确定重置语言 %1 的风格吗？</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1620\"/>\n        <source>Reset All Style</source>\n        <translation type=\"unfinished\">重置所有风格</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1620\"/>\n        <source>Are you sure to reset All language sytle</source>\n        <translation type=\"unfinished\">您确定重置所有语言风格吗？</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1922\"/>\n        <source>themes changing, please waiting ...</source>\n        <translation type=\"unfinished\">主题切换中，请等待 ...</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.cpp\" line=\"1956\"/>\n        <source>themes changed finished ...</source>\n        <translation type=\"unfinished\">主题切换完成 ...</translation>\n    </message>\n</context>\n<context>\n    <name>QtLangSetClass</name>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"14\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"590\"/>\n        <source>QtLangSet</source>\n        <translation type=\"unfinished\">编程语言样式</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"43\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"591\"/>\n        <source>Global Set</source>\n        <translation type=\"unfinished\">全局设置</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"50\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"592\"/>\n        <source>Select Main:</source>\n        <translation type=\"unfinished\">选择主题：</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"64\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"593\"/>\n        <source>Default(stylers.xml)</source>\n        <translation type=\"unfinished\">默认主题</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"69\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"594\"/>\n        <source>Bespin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"74\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"595\"/>\n        <source>Black board</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"79\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"596\"/>\n        <source>Blue Light</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"84\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"597\"/>\n        <source>Choco</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"89\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"598\"/>\n        <source>DansLeRuSH-Dark</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"94\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"599\"/>\n        <source>Deep Black</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"99\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"600\"/>\n        <source>Lavender</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"104\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"601\"/>\n        <source>HotFudgeSundae</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"109\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"602\"/>\n        <source>Misty Rose</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"114\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"603\"/>\n        <source>Mono Industrial</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"119\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"604\"/>\n        <source>Monokai</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"124\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"605\"/>\n        <source>Obsidian</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"129\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"606\"/>\n        <source>Plastic Code Wrap</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"134\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"607\"/>\n        <source>Ruby Blue</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"139\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"608\"/>\n        <source>Twilight</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"144\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"609\"/>\n        <source>Vibrant Ink</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"149\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"610\"/>\n        <source>Yellow Rice</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"183\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"613\"/>\n        <source>Language</source>\n        <translation type=\"unfinished\">语言</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"206\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"614\"/>\n        <source>User Define Language</source>\n        <translation type=\"unfinished\">自定义语言</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"233\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"615\"/>\n        <source>Style</source>\n        <translation type=\"unfinished\">样式</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"264\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"616\"/>\n        <source>Color</source>\n        <translation type=\"unfinished\">颜色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"272\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"617\"/>\n        <source>Foreground:</source>\n        <translation type=\"unfinished\">前景色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"157\"/>\n        <location filename=\"qtlangset.ui\" line=\"291\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"612\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"618\"/>\n        <source>TextLabel</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"298\"/>\n        <location filename=\"qtlangset.ui\" line=\"335\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"619\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"622\"/>\n        <source>Select</source>\n        <translation type=\"unfinished\">选择</translation>\n    </message>\n    <message>\n        <source>All Style</source>\n        <translation type=\"obsolete\">修改所有风格</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"309\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"620\"/>\n        <source>background:</source>\n        <translation type=\"unfinished\">背景色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"328\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"621\"/>\n        <source>Same As Theme</source>\n        <translation type=\"unfinished\">与主题保存一致</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"390\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"626\"/>\n        <source>Font</source>\n        <translation type=\"unfinished\">字体</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"441\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"631\"/>\n        <source>Font Size:</source>\n        <translation type=\"unfinished\">字体大小</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"414\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"628\"/>\n        <source>Bold</source>\n        <translation type=\"unfinished\">粗体</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"421\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"629\"/>\n        <source>Italic</source>\n        <translation type=\"unfinished\">斜体</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"428\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"630\"/>\n        <source>Underline</source>\n        <translation type=\"unfinished\">下划线</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"398\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"627\"/>\n        <source>Name:</source>\n        <translation type=\"unfinished\">名称：</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"347\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"623\"/>\n        <source>Use Global Color</source>\n        <translation type=\"unfinished\">全局颜色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"477\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"632\"/>\n        <source>Keyword And Mother </source>\n        <translation type=\"unfinished\">关键词和母版</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"498\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"633\"/>\n        <source>Mother Language:</source>\n        <translation type=\"unfinished\">母版语言：</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"509\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"634\"/>\n        <source>None</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"514\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"635\"/>\n        <source>Cpp</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"526\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"637\"/>\n        <source>Ext File Type:</source>\n        <translation type=\"unfinished\">关联文件后缀名：</translation>\n    </message>\n    <message>\n        <source>Global Style Set</source>\n        <translation type=\"obsolete\">全局风格设置</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"353\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"624\"/>\n        <source>Use Global Foreground Color</source>\n        <translation type=\"unfinished\">使用全局前景色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"363\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"625\"/>\n        <source>Use Global Background Color</source>\n        <translation type=\"unfinished\">使用全局背景色</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"555\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"638\"/>\n        <source>Global Style Font</source>\n        <translation type=\"unfinished\">全局样式字体</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"561\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"639\"/>\n        <source>Use Global Font</source>\n        <translation type=\"unfinished\">使用全局字体</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"568\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"640\"/>\n        <source>Use Global FontSize</source>\n        <translation type=\"unfinished\">使用全局字体大小</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"575\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"641\"/>\n        <source>Use Global Bold Font</source>\n        <translation type=\"unfinished\">使用全局粗体样式</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"582\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"642\"/>\n        <source>Use Global Italic Font</source>\n        <translation type=\"unfinished\">使用全局斜体样式</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"589\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"643\"/>\n        <source>Use Global Underline Font</source>\n        <translation type=\"unfinished\">使用全局下划线样式</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"609\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"644\"/>\n        <source>reset</source>\n        <translation type=\"unfinished\">重置</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"616\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"645\"/>\n        <source>Save</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"qtlangset.ui\" line=\"623\"/>\n        <location filename=\"ui_qtlangset.h\" line=\"646\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <source>Cancel</source>\n        <translation type=\"obsolete\">取消</translation>\n    </message>\n</context>\n<context>\n    <name>RcTreeWidget</name>\n    <message>\n        <location filename=\"RcTreeWidget.cpp\" line=\"47\"/>\n        <source>Show File in Explorer</source>\n        <oldsource>Show File in Explorer...</oldsource>\n        <translation type=\"unfinished\">定位到文件目录</translation>\n    </message>\n</context>\n<context>\n    <name>ReNameWin</name>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"20\"/>\n        <location filename=\"ui_renamewin.h\" line=\"273\"/>\n        <source>ReNameBatchWin</source>\n        <translation type=\"unfinished\">批量重命名</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"32\"/>\n        <location filename=\"ui_renamewin.h\" line=\"274\"/>\n        <source>Select Dir</source>\n        <translation type=\"unfinished\">选择目录</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"42\"/>\n        <location filename=\"ui_renamewin.h\" line=\"275\"/>\n        <source>Browse</source>\n        <translation type=\"unfinished\">浏览</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"55\"/>\n        <location filename=\"ui_renamewin.h\" line=\"282\"/>\n        <source>AddDelNameString</source>\n        <translation type=\"unfinished\">增加删除</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"61\"/>\n        <location filename=\"ui_renamewin.h\" line=\"276\"/>\n        <source>Add Prefix</source>\n        <translation type=\"unfinished\">增加前缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"75\"/>\n        <location filename=\"ui_renamewin.h\" line=\"277\"/>\n        <source>Del Prefix</source>\n        <translation type=\"unfinished\">删除前缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"89\"/>\n        <location filename=\"ui_renamewin.h\" line=\"278\"/>\n        <source>Add Suffix</source>\n        <translation type=\"unfinished\">增加后缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"103\"/>\n        <location filename=\"ui_renamewin.h\" line=\"279\"/>\n        <source>Del Suffix</source>\n        <translation type=\"unfinished\">删除后缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"117\"/>\n        <location filename=\"ui_renamewin.h\" line=\"280\"/>\n        <source>Lower FileName</source>\n        <translation type=\"unfinished\">小写文件名</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"124\"/>\n        <location filename=\"ui_renamewin.h\" line=\"281\"/>\n        <source>Upper FileName</source>\n        <translation type=\"unfinished\">大写文件名</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"132\"/>\n        <location filename=\"ui_renamewin.h\" line=\"288\"/>\n        <source>ChangeExt</source>\n        <translation type=\"unfinished\">改变后缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"140\"/>\n        <location filename=\"ui_renamewin.h\" line=\"283\"/>\n        <source>Modify Ext To</source>\n        <translation type=\"unfinished\">修改文件后缀为</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"167\"/>\n        <location filename=\"ui_renamewin.h\" line=\"284\"/>\n        <source>Deal Ext Type</source>\n        <translation type=\"unfinished\">处理的后缀类型</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"181\"/>\n        <location filename=\"ui_renamewin.h\" line=\"285\"/>\n        <source>All File Ext Type</source>\n        <translation type=\"unfinished\">所有支持的类型</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"189\"/>\n        <location filename=\"ui_renamewin.h\" line=\"287\"/>\n        <source>defined</source>\n        <translation type=\"unfinished\">自定义</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"228\"/>\n        <location filename=\"ui_renamewin.h\" line=\"289\"/>\n        <source>Deal Child Dir</source>\n        <translation type=\"unfinished\">处理子目录</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"250\"/>\n        <location filename=\"ui_renamewin.h\" line=\"290\"/>\n        <source>Start</source>\n        <translation type=\"unfinished\">开始</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.ui\" line=\"257\"/>\n        <location filename=\"ui_renamewin.h\" line=\"291\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"32\"/>\n        <source>Open Directory</source>\n        <translation type=\"unfinished\">打开目录</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"66\"/>\n        <source>input file ext()</source>\n        <translation type=\"unfinished\">输入文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"66\"/>\n        <source>ext (Start With .)</source>\n        <translation type=\"unfinished\">后缀（以.开头）</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"97\"/>\n        <location filename=\"renamewin.cpp\" line=\"107\"/>\n        <location filename=\"renamewin.cpp\" line=\"119\"/>\n        <location filename=\"renamewin.cpp\" line=\"131\"/>\n        <location filename=\"renamewin.cpp\" line=\"143\"/>\n        <location filename=\"renamewin.cpp\" line=\"166\"/>\n        <location filename=\"renamewin.cpp\" line=\"306\"/>\n        <location filename=\"renamewin.cpp\" line=\"322\"/>\n        <location filename=\"renamewin.cpp\" line=\"458\"/>\n        <source>Notice</source>\n        <translation type=\"unfinished\">消息</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"97\"/>\n        <source>Please Select Dir</source>\n        <translation type=\"unfinished\">请选择目录</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"107\"/>\n        <source>Please Input Add File Prefix</source>\n        <translation type=\"unfinished\">请选择增加的文件前缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"119\"/>\n        <source>Please Input Del File Prefix</source>\n        <translation type=\"unfinished\">请选择删除的文件前缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"131\"/>\n        <source>Please Input Add File Suffix</source>\n        <translation type=\"unfinished\">请选择增加的文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"143\"/>\n        <source>Please Input Del File Suffix</source>\n        <translation type=\"unfinished\">请选择删除的文件后缀</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"166\"/>\n        <source>Please Select One Operator</source>\n        <translation type=\"unfinished\">请选择一个操作</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"229\"/>\n        <location filename=\"renamewin.cpp\" line=\"372\"/>\n        <source>rename file in progress, please wait ...</source>\n        <translation type=\"unfinished\">正在重命名文件中，请等待...</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"293\"/>\n        <location filename=\"renamewin.cpp\" line=\"444\"/>\n        <source>failed %1 file path %2, please check</source>\n        <translation type=\"unfinished\">失败 %1 个，文件路径 %2 请检查</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"306\"/>\n        <location filename=\"renamewin.cpp\" line=\"458\"/>\n        <source>Deal Finished, totol %1 files, failed %2 files</source>\n        <translation type=\"unfinished\">处理完成，一共 %1 个文件，失败 %2 个文件。</translation>\n    </message>\n    <message>\n        <location filename=\"renamewin.cpp\" line=\"322\"/>\n        <source>Please Select Dir Or Dest Ext</source>\n        <translation type=\"unfinished\">请选择目录或目标文件后缀</translation>\n    </message>\n</context>\n<context>\n    <name>ScintillaEditView</name>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1916\"/>\n        <source>Show File in Explorer</source>\n        <translation type=\"unfinished\">定位到文件目录</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1866\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"1920\"/>\n        <source>mark with color</source>\n        <translation type=\"unfinished\">使用颜色标记</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1877\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"1931\"/>\n        <source>Color %1</source>\n        <translation type=\"unfinished\">颜色 %1</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"310\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"1905\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"1957\"/>\n        <source>Clear Select</source>\n        <translation type=\"unfinished\">清除选择标记</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"311\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"1906\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"1958\"/>\n        <source>Clear All</source>\n        <translation type=\"unfinished\">清除全部标记</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1964\"/>\n        <source>Add/Del line comment</source>\n        <translation type=\"unfinished\">添加/删除当行注释</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1967\"/>\n        <source>Add Block comment</source>\n        <translation type=\"unfinished\">区块注释</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1970\"/>\n        <source>Del Block comment</source>\n        <translation type=\"unfinished\">清除区块注释</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1976\"/>\n        <source>Markdown View</source>\n        <translation type=\"unfinished\">预览 MarkDown</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"1978\"/>\n        <source>Word Count</source>\n        <translation type=\"unfinished\">字数统计</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"2303\"/>\n        <location filename=\"scintillaeditview.cpp\" line=\"2318\"/>\n        <source>Word Nums</source>\n        <translation type=\"unfinished\">字符数量</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"2303\"/>\n        <source>Current Select Word Nums is %1 . \nLine nums is %2 . \nSpace nums is %3, Non-space is %4 .</source>\n        <translation type=\"unfinished\">当前选择文本字符数量是 %1\n行数量是 %2\n空格字符 %3，非空格字符数 %4</translation>\n    </message>\n    <message>\n        <location filename=\"scintillaeditview.cpp\" line=\"2318\"/>\n        <source>Current Doc Word Nums is %1 . \nLine nums is %2 . \nSpace nums is %3, Non-space is %4 .</source>\n        <translation type=\"unfinished\">当前文本字符数量是 %1\n行数量是 %2\n空格字符 %3，非空格字符数 %4</translation>\n    </message>\n    <message>\n        <source>Current Select Word Nums is %1 .</source>\n        <translation type=\"obsolete\">当前选择的字符数量是 %1 .</translation>\n    </message>\n    <message>\n        <source>Current Doc Word Nums is %1 .</source>\n        <translation type=\"obsolete\">当前文档的字符数量是 %1 .</translation>\n    </message>\n</context>\n<context>\n    <name>ShortcutKeyEditWin</name>\n    <message>\n        <location filename=\"shortcutkeyeditwin.cpp\" line=\"36\"/>\n        <source>Error</source>\n        <translation type=\"unfinished\">错误</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeyeditwin.cpp\" line=\"36\"/>\n        <source>input right key !</source>\n        <translation type=\"unfinished\">请键入正确的键盘码 ！</translation>\n    </message>\n</context>\n<context>\n    <name>ShortcutKeyEditWinClass</name>\n    <message>\n        <location filename=\"shortcutkeyeditwin.ui\" line=\"14\"/>\n        <location filename=\"ui_shortcutkeyeditwin.h\" line=\"107\"/>\n        <source>ShortcutKeyEditWin</source>\n        <translation type=\"unfinished\">快捷键编辑</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeyeditwin.ui\" line=\"22\"/>\n        <location filename=\"ui_shortcutkeyeditwin.h\" line=\"108\"/>\n        <source>Current Key Sequence:</source>\n        <translation type=\"unfinished\">当前快捷键：</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeyeditwin.ui\" line=\"36\"/>\n        <location filename=\"ui_shortcutkeyeditwin.h\" line=\"109\"/>\n        <source>New Key Sequence:</source>\n        <translation type=\"unfinished\">新的快捷键：</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeyeditwin.ui\" line=\"50\"/>\n        <location filename=\"ui_shortcutkeyeditwin.h\" line=\"110\"/>\n        <source>Ok</source>\n        <translation type=\"unfinished\">确定</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeyeditwin.ui\" line=\"57\"/>\n        <location filename=\"ui_shortcutkeyeditwin.h\" line=\"111\"/>\n        <source>Cancel</source>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeyeditwin.ui\" line=\"64\"/>\n        <location filename=\"ui_shortcutkeyeditwin.h\" line=\"112\"/>\n        <source>Delete</source>\n        <translation type=\"unfinished\">删除</translation>\n    </message>\n</context>\n<context>\n    <name>ShortcutKeyMgr</name>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"80\"/>\n        <source>New File</source>\n        <translation type=\"unfinished\">新建</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"81\"/>\n        <source>Open File</source>\n        <translation type=\"unfinished\">打开</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"82\"/>\n        <source>Save File</source>\n        <translation type=\"unfinished\">保存</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"83\"/>\n        <source>Save All File</source>\n        <translation type=\"unfinished\">保存所有</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"84\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"85\"/>\n        <source>Close All</source>\n        <translation type=\"unfinished\">关闭所有</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"86\"/>\n        <source>Cut</source>\n        <translation type=\"unfinished\">剪切</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"87\"/>\n        <source>Copy</source>\n        <translation type=\"unfinished\">拷贝</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"88\"/>\n        <source>Paste</source>\n        <translation type=\"unfinished\">粘贴</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"89\"/>\n        <source>Undo</source>\n        <translation type=\"unfinished\">撤销</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"90\"/>\n        <source>Redo</source>\n        <translation type=\"unfinished\">重做</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"91\"/>\n        <source>Find</source>\n        <translation type=\"unfinished\">查找</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"92\"/>\n        <source>Replace</source>\n        <translation type=\"unfinished\">替换</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"93\"/>\n        <source>Dir Find</source>\n        <translation type=\"unfinished\">在目录查找</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"94\"/>\n        <source>Mark</source>\n        <translation type=\"unfinished\">标记</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"95\"/>\n        <source>word highlight(F8)</source>\n        <translation type=\"unfinished\">高亮单词（F8)</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"96\"/>\n        <source>clear all highlight(F7)</source>\n        <translation type=\"unfinished\">取消所有高亮（F7)</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"97\"/>\n        <source>Zoom In</source>\n        <translation type=\"unfinished\">放大</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"98\"/>\n        <source>Zoom Out</source>\n        <translation type=\"unfinished\">缩小</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"99\"/>\n        <source>Word Wrap</source>\n        <translation type=\"unfinished\">自动换行</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"100\"/>\n        <source>Show Blank</source>\n        <translation type=\"unfinished\">显示空白字符</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"101\"/>\n        <source>Indent Guide</source>\n        <translation type=\"unfinished\">缩进参考线</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"102\"/>\n        <source>Pre Hex Page</source>\n        <translation type=\"unfinished\">上一页/位置</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"103\"/>\n        <source>Next Hex Page</source>\n        <translation type=\"unfinished\">下一页/位置</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"104\"/>\n        <source>Goto Hex Page</source>\n        <translation type=\"unfinished\">跳转到文件偏移地址</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"105\"/>\n        <source>File Compare</source>\n        <translation type=\"unfinished\">文件对比</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"106\"/>\n        <source>Dir Compare</source>\n        <translation type=\"unfinished\">目录对比</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"107\"/>\n        <source>Bin Compare</source>\n        <translation type=\"unfinished\">二进制对比</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"108\"/>\n        <source>transform encoding</source>\n        <translation type=\"unfinished\">转换编码</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"109\"/>\n        <source>batch rename file</source>\n        <translation type=\"unfinished\">批量重命名</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"110\"/>\n        <source>Format Xml</source>\n        <translation type=\"unfinished\">格式化 Xml</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"111\"/>\n        <source>Format Json</source>\n        <translation type=\"unfinished\">格式化 Json</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"112\"/>\n        <source>Add/Del Line Comment</source>\n        <translation type=\"unfinished\">添加/删除当行注释</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"113\"/>\n        <source>Add Block Comment</source>\n        <translation type=\"unfinished\">区块注释</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"114\"/>\n        <source>Del Block Comment</source>\n        <translation type=\"unfinished\">清除区块注释</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"115\"/>\n        <source>Fold Level 1</source>\n        <translation type=\"unfinished\">折叠层次 1</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"116\"/>\n        <source>Fold Level 2</source>\n        <translation type=\"unfinished\">折叠层次 2</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"117\"/>\n        <source>Fold Level 3</source>\n        <translation type=\"unfinished\">折叠层次 3</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"118\"/>\n        <source>Fold Level 4</source>\n        <translation type=\"unfinished\">折叠层次 4</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"119\"/>\n        <source>Fold Level 5</source>\n        <translation type=\"unfinished\">折叠层次 5</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"120\"/>\n        <source>Fold Level 6</source>\n        <translation type=\"unfinished\">折叠层次 6</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"121\"/>\n        <source>Fold Level 7</source>\n        <translation type=\"unfinished\">折叠层次 7</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"122\"/>\n        <source>Fold Level 8</source>\n        <translation type=\"unfinished\">折叠层次 8</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"123\"/>\n        <source>UNFold Level 1</source>\n        <translation type=\"unfinished\">展开层次 1</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"124\"/>\n        <source>UNFold Level 2</source>\n        <translation type=\"unfinished\">展开层次 2</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"125\"/>\n        <source>UNFold Level 3</source>\n        <translation type=\"unfinished\">展开层次 3</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"126\"/>\n        <source>UNFold Level 4</source>\n        <translation type=\"unfinished\">展开层次 4</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"127\"/>\n        <source>UNFold Level 5</source>\n        <translation type=\"unfinished\">展开层次 5</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"128\"/>\n        <source>UNFold Level 6</source>\n        <translation type=\"unfinished\">展开层次 6</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"129\"/>\n        <source>UNFold Level 7</source>\n        <translation type=\"unfinished\">展开层次 7</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"130\"/>\n        <source>UNFold Level 8</source>\n        <translation type=\"unfinished\">展开层次 8</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"216\"/>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"252\"/>\n        <source>Can&apos;t Modify</source>\n        <translation type=\"unfinished\">不可修改</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"221\"/>\n        <source>Double Click To Modify</source>\n        <translation type=\"unfinished\">双击修改快捷键</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"298\"/>\n        <source>row %1 shortcut key &apos;%2&apos; can&apos;t modify !</source>\n        <translation type=\"unfinished\">行 %1 快捷键 ‘%2’不可修改！</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"327\"/>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"362\"/>\n        <source>modify row %1 to &apos;%2&apos; shortcut key success!</source>\n        <translation type=\"unfinished\">修改行 %1 快捷键为 %2 成功！</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"331\"/>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"366\"/>\n        <source>error:modify row %1 to &apos;%2&apos; shortcut key failed !</source>\n        <translation type=\"unfinished\">错误：修改行 %1 为快捷键 %2 失败！</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"338\"/>\n        <source>conflict error! &apos;%1&apos; Already exist at row %2</source>\n        <translation type=\"unfinished\">冲突错误！&apos;%1&apos; 已经存在行 %2 </translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"342\"/>\n        <source>conflict error! &apos;%1&apos; Already exist at qscint row %2</source>\n        <translation type=\"unfinished\">冲突错误！&apos;%1&apos; 已经存在于qscint表格行 %2 </translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.cpp\" line=\"372\"/>\n        <source>modify canceled !</source>\n        <translation type=\"unfinished\">修改取消！</translation>\n    </message>\n</context>\n<context>\n    <name>ShortcutKeyMgrClass</name>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"14\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"156\"/>\n        <source>ShortcutKeyMgr</source>\n        <translation type=\"unfinished\">快捷键管理</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"40\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"163\"/>\n        <source>Ndd Shortcut</source>\n        <translation type=\"unfinished\">Ndd 快捷键</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"65\"/>\n        <location filename=\"shortcutkeymgr.ui\" line=\"106\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"158\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"165\"/>\n        <source>Function</source>\n        <translation type=\"unfinished\">功能</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"70\"/>\n        <location filename=\"shortcutkeymgr.ui\" line=\"111\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"160\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"167\"/>\n        <source>Shortcut Key</source>\n        <translation type=\"unfinished\">快捷键</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"75\"/>\n        <location filename=\"shortcutkeymgr.ui\" line=\"116\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"162\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"169\"/>\n        <source>Comment</source>\n        <translation type=\"unfinished\">说明</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"84\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"170\"/>\n        <source>Qscint Shortcut</source>\n        <translation type=\"unfinished\">Qscint 快捷键</translation>\n    </message>\n    <message>\n        <location filename=\"shortcutkeymgr.ui\" line=\"153\"/>\n        <location filename=\"ui_shortcutkeymgr.h\" line=\"171\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>StatusWidget</name>\n    <message>\n        <location filename=\"statuswidget.ui\" line=\"32\"/>\n        <location filename=\"ui_statuswidget.h\" line=\"51\"/>\n        <source>notice msg</source>\n        <translation type=\"unfinished\">通知消息</translation>\n    </message>\n</context>\n<context>\n    <name>TextEditSetWin</name>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"14\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"246\"/>\n        <source>TextEditSetWin</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"22\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"247\"/>\n        <source>Tab Setting</source>\n        <translation type=\"unfinished\">Tab 设置</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"30\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"248\"/>\n        <source>Set Tab Length</source>\n        <translation type=\"unfinished\">Tab 字符长度</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"49\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"249\"/>\n        <source>Space Replacement Tab</source>\n        <translation type=\"unfinished\">使用空格替换tab</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"62\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"250\"/>\n        <source>Big Text Size</source>\n        <translation type=\"unfinished\">大文本文件大小</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"68\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"251\"/>\n        <source>Beyond this size, it can only be read-only and displayed in blocks</source>\n        <translation type=\"unfinished\">文本文件超过该值时，只能以只读的方式进行分块加载显示。</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"77\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"252\"/>\n        <source>Exceed(MB)</source>\n        <translation type=\"unfinished\">超过(MB)</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"227\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"261\"/>\n        <source>Clear openfile list record on close</source>\n        <translation type=\"unfinished\">关闭时清除打开历史记录</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"137\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"254\"/>\n        <source>Font Setting</source>\n        <translation type=\"unfinished\">字体设置</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"145\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"255\"/>\n        <source>Txt File Font:</source>\n        <translation type=\"unfinished\">Txt 文件字体</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"152\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"256\"/>\n        <source> Set</source>\n        <translation type=\"unfinished\">设置</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"176\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"257\"/>\n        <source>App Font Color:</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"183\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"258\"/>\n        <source>TextLabel</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"193\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"259\"/>\n        <source>Set</source>\n        <translation type=\"unfinished\">设置</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.ui\" line=\"220\"/>\n        <location filename=\"ui_texteditsetwin.h\" line=\"260\"/>\n        <source>Restore files opened on close</source>\n        <translation type=\"unfinished\">恢复上次关闭时的打开文件</translation>\n    </message>\n    <message>\n        <source>Remember files opened on close</source>\n        <translation type=\"obsolete\">记住最后打开的文件</translation>\n    </message>\n    <message>\n        <source>Txt File Font Set</source>\n        <translation type=\"obsolete\">txt 文件字体设置</translation>\n    </message>\n    <message>\n        <source>Txt Font Set（Only Text File)</source>\n        <oldsource>Txt Font Set</oldsource>\n        <translation type=\"obsolete\">文本默认字体设置（只对TXT文本有效）</translation>\n    </message>\n    <message>\n        <source>Programming Language Default Font</source>\n        <translation type=\"obsolete\">编程语言默认字体</translation>\n    </message>\n    <message>\n        <source>Txt Font Set(Only Windows)</source>\n        <translation type=\"obsolete\">文本默认字体设置</translation>\n    </message>\n    <message>\n        <source>Default Font</source>\n        <translation type=\"obsolete\">默认字体</translation>\n    </message>\n    <message>\n        <source>Select Font</source>\n        <translation type=\"obsolete\">选择字体</translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.cpp\" line=\"131\"/>\n        <source>App Font Foreground Color</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.cpp\" line=\"164\"/>\n        <source>The App Font</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"texteditsetwin.cpp\" line=\"193\"/>\n        <source>User define Txt Font</source>\n        <translation type=\"unfinished\">用户自定义文本字体</translation>\n    </message>\n</context>\n<context>\n    <name>TextFind</name>\n    <message>\n        <location filename=\"textfind.ui\" line=\"14\"/>\n        <location filename=\"ui_textfind.h\" line=\"108\"/>\n        <source>TextFind</source>\n        <translation type=\"unfinished\">查找文本</translation>\n    </message>\n    <message>\n        <location filename=\"textfind.ui\" line=\"24\"/>\n        <location filename=\"ui_textfind.h\" line=\"109\"/>\n        <source>Find Options</source>\n        <translation type=\"unfinished\">查找选项</translation>\n    </message>\n    <message>\n        <location filename=\"textfind.ui\" line=\"32\"/>\n        <location filename=\"ui_textfind.h\" line=\"110\"/>\n        <source>Find Text</source>\n        <translation type=\"unfinished\">查找文本</translation>\n    </message>\n    <message>\n        <location filename=\"textfind.ui\" line=\"49\"/>\n        <location filename=\"ui_textfind.h\" line=\"111\"/>\n        <source>Find Prev</source>\n        <translation type=\"unfinished\">查找前一个</translation>\n    </message>\n    <message>\n        <location filename=\"textfind.ui\" line=\"56\"/>\n        <location filename=\"ui_textfind.h\" line=\"112\"/>\n        <source>Find Next</source>\n        <translation type=\"unfinished\">查找下一个</translation>\n    </message>\n    <message>\n        <location filename=\"textfind.ui\" line=\"63\"/>\n        <location filename=\"ui_textfind.h\" line=\"113\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n</context>\n<context>\n    <name>UserRegister</name>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"22\"/>\n        <source>Free Trial</source>\n        <translation type=\"unfinished\">免费永久试用版本（捐赠可获取注册码）</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"26\"/>\n        <location filename=\"userregister.cpp\" line=\"76\"/>\n        <source>Registered Version</source>\n        <translation type=\"unfinished\">注册过的正版软件！（恭喜）</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"30\"/>\n        <source>License Expired</source>\n        <translation type=\"unfinished\">许可证过期（可捐赠获取）</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"34\"/>\n        <source>License Error</source>\n        <translation type=\"unfinished\">错误的注册码（可重新输入）</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"91\"/>\n        <location filename=\"userregister.cpp\" line=\"97\"/>\n        <location filename=\"userregister.cpp\" line=\"104\"/>\n        <location filename=\"userregister.cpp\" line=\"127\"/>\n        <location filename=\"userregister.cpp\" line=\"131\"/>\n        <location filename=\"userregister.cpp\" line=\"137\"/>\n        <source>Licence Key</source>\n        <translation type=\"unfinished\">许可证</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"91\"/>\n        <source>It is already a registered version.</source>\n        <translation type=\"unfinished\">当前已经是注册版！</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"97\"/>\n        <source>Please scanning the donation, Write your email address in the message area.\nYou will get the registration code!</source>\n        <translation type=\"unfinished\">请微信扫描捐赠，在留言处留下您的邮件地址，注册码将通过邮件发送给您。</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"104\"/>\n        <source>Please enter the correct registration code!</source>\n        <translation type=\"unfinished\">请输入正确的注册码！</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"127\"/>\n        <source>Congratulations on your successful registration.</source>\n        <translation type=\"unfinished\">恭喜注册成功！</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.cpp\" line=\"131\"/>\n        <location filename=\"userregister.cpp\" line=\"137\"/>\n        <source>Registration failed. Please try again later.</source>\n        <translation type=\"unfinished\">注册失败，请稍后再试！</translation>\n    </message>\n</context>\n<context>\n    <name>UserRegisterClass</name>\n    <message>\n        <location filename=\"userregister.ui\" line=\"20\"/>\n        <location filename=\"ui_userregister.h\" line=\"191\"/>\n        <source>UserRegister</source>\n        <translation type=\"unfinished\">捐赠获取注册码</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"115\"/>\n        <location filename=\"userregister.ui\" line=\"121\"/>\n        <location filename=\"ui_userregister.h\" line=\"194\"/>\n        <location filename=\"ui_userregister.h\" line=\"195\"/>\n        <source>Status</source>\n        <translation type=\"unfinished\">软件状态</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"138\"/>\n        <location filename=\"ui_userregister.h\" line=\"196\"/>\n        <source>Machine Id</source>\n        <translation type=\"unfinished\">机器码</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"155\"/>\n        <location filename=\"ui_userregister.h\" line=\"197\"/>\n        <source>Licence Key</source>\n        <translation type=\"unfinished\">序列号</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"165\"/>\n        <location filename=\"ui_userregister.h\" line=\"198\"/>\n        <source>22874567148</source>\n        <translation type=\"unfinished\"></translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"177\"/>\n        <location filename=\"ui_userregister.h\" line=\"199\"/>\n        <source>Register</source>\n        <translation type=\"unfinished\">注册</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"184\"/>\n        <location filename=\"ui_userregister.h\" line=\"200\"/>\n        <source>Close</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"userregister.ui\" line=\"193\"/>\n        <location filename=\"ui_userregister.h\" line=\"201\"/>\n        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Wechat scans the appreciation code on the left.&lt;/p&gt;&lt;p&gt;Leave your contact email in the donation message.&lt;/p&gt;&lt;p&gt;We will send you the registration code later.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>\n        <translation type=\"unfinished\">请微信扫码赞赏软件。\n在留言处留下您的邮件地址，注册码将通过邮件发送给您。\n在序列号处输入您得到的注册码，点击注册获取注册版软件\n您可以免费使用该软件，您也可以捐赠我们获取注册版。</translation>\n    </message>\n</context>\n<context>\n    <name>closeDlg</name>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"26\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"150\"/>\n        <source>closeDlg</source>\n        <translation type=\"unfinished\">关闭</translation>\n    </message>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"56\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"151\"/>\n        <source>Do you want to save your changes?</source>\n        <translation type=\"unfinished\">是否保存修改？</translation>\n    </message>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"63\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"152\"/>\n        <source>Save Left Document?</source>\n        <oldsource>save left document ?</oldsource>\n        <translation type=\"unfinished\">保存左边文档？</translation>\n    </message>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"73\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"153\"/>\n        <source>Save Right Document?</source>\n        <oldsource>save right document ?</oldsource>\n        <translation type=\"unfinished\">保存右边文档？</translation>\n    </message>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"143\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"154\"/>\n        <source>Save Selected</source>\n        <oldsource>save selected</oldsource>\n        <translation type=\"unfinished\">保存所选文档</translation>\n    </message>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"162\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"155\"/>\n        <source>Discard</source>\n        <oldsource>discard</oldsource>\n        <translation type=\"unfinished\">放弃修改</translation>\n    </message>\n    <message>\n        <location filename=\"closeDlg.ui\" line=\"181\"/>\n        <location filename=\"ui_closeDlg.h\" line=\"156\"/>\n        <source>Cancel</source>\n        <oldsource>cancel</oldsource>\n        <translation type=\"unfinished\">取消</translation>\n    </message>\n</context>\n<context>\n    <name>donate</name>\n    <message>\n        <source>donate</source>\n        <translation type=\"obsolete\">捐赠作者</translation>\n    </message>\n    <message>\n        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Donation Software Development By WeChat &lt;/p&gt;&lt;p&gt;Busy living, no time to improve software&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>\n        <translation type=\"obsolete\">现实生活中的一地鸡毛\n让我无法投入更多时间完善免费软件\n请通过微信扫码捐赠作者</translation>\n    </message>\n    <message>\n        <source>Donation Software Development By WeChat </source>\n        <translation type=\"obsolete\">通过微信捐赠CC对比软件发展\n感谢支持国产软件！</translation>\n    </message>\n</context>\n</TS>\n"
  },
  {
    "path": "src/renamewin.cpp",
    "content": "#include \"renamewin.h\"\r\n#include \"progresswin.h\"\r\n\r\n#include <QFileDialog>\r\n#include <QRadioButton> \r\n#include <QMessageBox>\r\n#include <QInputDialog>\r\n\r\n//批量修改文件夹下文件名称的功能\r\n\r\nReNameWin::ReNameWin(QWidget *parent)\r\n\t: QWidget(parent), m_extComBoxNum(0)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tconnect(ui.radioButtonAddPrefix, &QRadioButton::toggled, this, [this](bool status) {slot_renameOptionsChange(1,status); });\r\n\tconnect(ui.radioButtonDelPrefix, &QRadioButton::toggled, this, [this](bool status) {slot_renameOptionsChange(2, status); });\r\n\tconnect(ui.radioButtonAddSuffix, &QRadioButton::toggled, this, [this](bool status) {slot_renameOptionsChange(3, status); });\r\n\tconnect(ui.radioButtonDelSuffix, &QRadioButton::toggled, this, [this](bool status) {slot_renameOptionsChange(4, status); });\r\n\tconnect(ui.radioButtonLower, &QRadioButton::toggled, this, [this](bool status) {slot_renameOptionsChange(5, status); });\r\n\tconnect(ui.radioButtonUpper, &QRadioButton::toggled, this, [this](bool status) {slot_renameOptionsChange(6, status); });\r\n}\r\n\r\nReNameWin::~ReNameWin()\r\n{\r\n}\r\n\r\n\r\nvoid ReNameWin::slot_selectDir()\r\n{\r\n\tQString workDir = ui.lineEditDir->text();\r\n\tQString rootpath = QFileDialog::getExistingDirectory(this, tr(\"Open Directory\"), workDir, QFileDialog::DontResolveSymlinks);\r\n\r\n\tif (!rootpath.isEmpty())\r\n\t{\r\n\t\tui.lineEditDir->setText(rootpath);\r\n\t}\r\n}\r\n\r\n\r\n//改名，前缀后缀名称的修改\r\nvoid ReNameWin::slot_renameOptionsChange(int id, bool status)\r\n{\r\n\tswitch (id)\r\n\t{\r\n\tcase 1:\r\n\t\tui.lineEditAddPrefix->setEnabled(status);\r\n\t\tbreak;\r\n\tcase 2:\r\n\t\tui.lineEditDelPrefix->setEnabled(status);\r\n\t\tbreak;\r\n\tcase 3:\r\n\t\tui.lineEditAddSuffix->setEnabled(status);\r\n\t\tbreak;\r\n\tcase 4:\r\n\t\tui.lineEditDelSuffix->setEnabled(status);\r\n\t\tbreak;\r\n\tdefault:\n\t\tbreak;\r\n\t}\r\n}\r\n\r\nvoid ReNameWin::slot_userDefineExt()\r\n{\r\n\tbool ok = false;\r\n\tQString text = QInputDialog::getText(this, tr(\"input file ext()\"), tr(\"ext (Start With .)\"), QLineEdit::Normal, QString(\".cpp\"), &ok);\r\n\r\n\tif (ok && !text.isEmpty())\r\n\t{\r\n\t\ttext = text.trimmed();\r\n\t\tui.comboBoxExt->addItem(text);\r\n\r\n\t\t++m_extComBoxNum;\r\n\r\n\t\tui.comboBoxExt->setCurrentIndex(m_extComBoxNum);\r\n\t}\r\n}\r\n\r\nvoid ReNameWin::slot_startRename()\r\n{\r\n\tif (ui.optionsTab->currentIndex() == 0)\r\n\t{\r\n\t\tchangeFileName();\r\n\t}\r\n\telse if (ui.optionsTab->currentIndex() == 1)\r\n\t{\r\n\t\tchangeFileExt();\r\n\t}\r\n\t\r\n}\r\n\r\nvoid ReNameWin::changeFileName()\r\n{\r\n\tQString dealDir = ui.lineEditDir->text();\r\n\tif (dealDir.isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Select Dir\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tint type = -1;\r\n\tQString extrenFileName;\r\n\r\n\tbool addPrefix = ui.radioButtonAddPrefix->isChecked();\r\n\tif (addPrefix && ui.lineEditAddPrefix->text().isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Input Add File Prefix\"));\r\n\t\treturn;\r\n\t}\r\n\tif (addPrefix)\r\n\t{\r\n\t\ttype = 0;\r\n\t\textrenFileName = ui.lineEditAddPrefix->text();\r\n\t}\r\n\r\n\tbool delPrefix = ui.radioButtonDelPrefix->isChecked();\r\n\tif (delPrefix && ui.lineEditDelPrefix->text().isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Input Del File Prefix\"));\r\n\t\treturn;\r\n\t}\r\n\tif (delPrefix)\r\n\t{\r\n\t\ttype = 1;\r\n\t\textrenFileName = ui.lineEditDelPrefix->text();\r\n\t}\r\n\r\n\tbool addSuffix = ui.radioButtonAddSuffix->isChecked();\r\n\tif (addSuffix && ui.lineEditAddSuffix->text().isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Input Add File Suffix\"));\r\n\t\treturn;\r\n\t}\r\n\tif (addSuffix)\r\n\t{\r\n\t\ttype = 2;\r\n\t\textrenFileName = ui.lineEditAddSuffix->text();\r\n\t}\r\n\r\n\tbool delSuffix = ui.radioButtonDelSuffix->isChecked();\r\n\tif (delSuffix && ui.lineEditDelSuffix->text().isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Input Del File Suffix\"));\r\n\t\treturn;\r\n\t}\r\n\tif (delSuffix)\r\n\t{\r\n\t\ttype = 3;\r\n\t\textrenFileName = ui.lineEditDelSuffix->text();\r\n\t}\r\n\r\n\tbool toLowerFileName = ui.radioButtonLower->isChecked();\r\n\tif (toLowerFileName)\r\n\t{\r\n\t\ttype = 4;\r\n\t}\r\n\r\n\tbool toUpperFileName = ui.radioButtonUpper->isChecked();\r\n\tif (toUpperFileName)\r\n\t{\r\n\t\ttype = 5;\r\n\t}\r\n\r\n\tif (type == -1)\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Select One Operator\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tQList<QString> dirsList;\r\n\tdirsList.append(dealDir);\r\n\r\n\tint fileNums = 0;\r\n\tint failNums = 0;\r\n\tbool dealChildDir = ui.checkBoxDealChildDir->isChecked();\r\n\r\n\tQString oldName;\r\n\tQString newName;\r\n\r\n\tauto getNewName = [](QString oldName, int type, const QString& addOrDelFix)->QString {\r\n\r\n\t\tQFileInfo fi(oldName);\r\n\t\tQDir dir = fi.absoluteDir();\r\n\r\n\r\n\t\tswitch (type)\r\n\t\t{\r\n\t\t\t//增加前缀\r\n\t\tcase 0:\r\n\t\t\treturn QString(\"%1/%2.%3\").arg(dir.absolutePath()).arg(addOrDelFix+fi.baseName()).arg(fi.suffix());\r\n\t\tcase 1:\r\n\t\t{//删除前缀\r\n\t\t\tif (fi.baseName().startsWith(addOrDelFix) && (fi.baseName() != addOrDelFix))\r\n\t\t\t{\r\n\t\t\t\treturn QString(\"%1/%2.%3\").arg(dir.absolutePath()).arg(fi.baseName().mid(addOrDelFix.length())).arg(fi.suffix());\r\n\t\t\t}\r\n\t\t}\r\n\t\tbreak;\r\n\t\tcase 2:\r\n\t\t{\r\n\t\t\t//增加后缀\r\n\t\t\treturn QString(\"%1/%2.%3\").arg(dir.absolutePath()).arg(fi.baseName()+ addOrDelFix).arg(fi.suffix());\r\n\t\t}\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\t//删除后缀\r\n\t\t{\r\n\t\t\tif (fi.baseName().endsWith(addOrDelFix) && (fi.baseName() != addOrDelFix))\r\n\t\t\t{\r\n\t\t\t\treturn QString(\"%1/%2.%3\").arg(dir.absolutePath()).arg(fi.baseName().mid(0, fi.baseName().length() - addOrDelFix.length())).arg(fi.suffix());\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t\t\r\n\t\t\tbreak;\r\n\t\tcase 4:\r\n\t\t\treturn QString(\"%1/%2.%3\").arg(dir.absolutePath()).arg(fi.baseName().toLower()).arg(fi.suffix());\r\n\t\tcase 5:\r\n\t\t\treturn QString(\"%1/%2.%3\").arg(dir.absolutePath()).arg(fi.baseName().toUpper()).arg(fi.suffix());\r\n\t\tdefault:\n\t\t\tbreak;\r\n\t\t}\r\n\t\treturn QString();\r\n\t};\r\n\r\n\tProgressWin* m_loadFileProcessWin = new ProgressWin(this);\r\n\r\n\tm_loadFileProcessWin->setWindowModality(Qt::WindowModal);\r\n\r\n\tm_loadFileProcessWin->info(tr(\"rename file in progress, please wait ...\"));\r\n\r\n\tm_loadFileProcessWin->show();\r\n\r\n\tint processTotal = 0;\r\n\tbool isExistChildDir = false;\r\n\r\n\twhile (!dirsList.isEmpty())\r\n\t{\r\n\t\tQString path = dirsList.takeFirst();\r\n\r\n\t\t/*添加path路径文件*/\r\n\t\tQDir dir(path);\r\n\r\n\t\t//遍历各级子目录\r\n\r\n\t\tif (dealChildDir)\r\n\t\t{\r\n\t\t\tQFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::Hidden | QDir::NoSymLinks);   //获取当前所有目录\r\n\r\n\t\t\tfor (int i = 0; i != folder_list.size(); ++i)         //自动递归添加各目录到上一级目录\r\n\t\t\t{\r\n\t\t\t\tQString namepath = folder_list.at(i).absoluteFilePath();    //获取路径\r\n\t\t\t\t//必须放前面，因为以文件夹个数处理为进度条计数\r\n\t\t\t\tdirsList.push_front(namepath);\r\n\t\t\t}\r\n\t\t\tif ((processTotal == 0) && dirsList.size() > 0)\r\n\t\t\t{\r\n\t\t\t\t//以目录个数大概去统计进度\r\n\t\t\t\tprocessTotal = dirsList.size();\r\n\t\t\t\tm_loadFileProcessWin->setTotalSteps(processTotal);\r\n\r\n\t\t\t\tisExistChildDir = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (dirsList.size() < processTotal)\r\n\t\t\t{\r\n\t\t\t\tm_loadFileProcessWin->moveStep();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tQDir dir_file(path);\r\n\t\tdir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件\r\n\t\tQFileInfoList list_file = dir_file.entryInfoList();\r\n\r\n\t\t//说明没有子文件夹\r\n\t\tif ((processTotal == 0) && list_file.size() > 0)\r\n\t\t{\r\n\t\t\tprocessTotal = list_file.size();\r\n\t\t\tm_loadFileProcessWin->setTotalSteps(processTotal);\r\n\t\t}\r\n\r\n\t\tfor (int i = 0; i < list_file.size(); ++i)\r\n\t\t{\r\n\t\t\tQFileInfo fileInfo = list_file.at(i);\r\n\t\t\toldName = fileInfo.absoluteFilePath();\r\n\r\n\t\t\tnewName = getNewName(oldName,type, extrenFileName);\r\n\r\n\t\t\tif (!newName.isEmpty() && (newName != oldName))\r\n\t\t\t{\r\n\t\t\t\tif (!QFile::rename(oldName, newName))\r\n\t\t\t\t{\r\n\t\t\t\t\tfailNums++;\r\n\t\t\t\t\tm_loadFileProcessWin->info(tr(\"failed %1 file path %2, please check\").arg(failNums).arg(oldName));\r\n\t\t\t\t}\r\n\t\t\t\tfileNums++;\r\n\t\t\t}\r\n\r\n\t\t\t//没有子文件夹时，按文件数量走\r\n\t\t\tif (!isExistChildDir)\r\n\t\t\t{\r\n\t\t\t\tm_loadFileProcessWin->moveStep();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tQMessageBox::information(this, tr(\"Notice\"), tr(\"Deal Finished, totol %1 files, failed %2 files\").arg(fileNums).arg(failNums));\r\n\r\n\tdelete m_loadFileProcessWin;\r\n}\r\n\r\nvoid ReNameWin::changeFileExt()\r\n{\r\n\tQString dealDir = ui.lineEditDir->text();\r\n\tQString destExt = ui.lineEditDestExt->text();\r\n\tif (destExt.startsWith('.'))\r\n\t{\r\n\t\tdestExt = destExt.mid(1, destExt.length() - 1);\r\n\t}\r\n\r\n\tif (dealDir.isEmpty() || destExt.isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Notice\"), tr(\"Please Select Dir Or Dest Ext\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString filterExt;\r\n\tbool isNeedFilterExt = false;\r\n\r\n\tif (0 != ui.comboBoxExt->currentIndex())\r\n\t{\r\n\t\tfilterExt = ui.comboBoxExt->currentText();\r\n\r\n\t\tif (filterExt.startsWith('.'))\r\n\t\t{\r\n\t\t\tfilterExt = filterExt.mid(1, filterExt.length() - 1);\r\n\t\t}\r\n\t}\r\n\t//检查是否需要过滤只处理ext类型\r\n\tif (!filterExt.isEmpty())\r\n\t{\r\n\t\tisNeedFilterExt = true;\r\n\t}\r\n\r\n\tQList<QString> dirsList;\r\n\tdirsList.append(dealDir);\r\n\r\n\tint fileNums = 0;\r\n\tint failNums = 0;\r\n\tbool dealChildDir = ui.checkBoxDealChildDir->isChecked();\r\n\r\n\tQString oldName;\r\n\tQString newName;\r\n\r\n\tauto getNewName = [](QString oldName, const QString& destExt)->QString{\r\n\r\n\t\tQFileInfo fi(oldName);\r\n\r\n\t\t//没有后缀名，则不修改\r\n\t\tif (fi.suffix().isEmpty())\r\n\t\t{\r\n\t\t\treturn QString();\r\n\t\t}\r\n\t\tint oldExtSize = fi.suffix().length();\r\n\r\n\t\treturn QString(\"%1%2\").arg(oldName.mid(0, oldName.size()-oldExtSize)).arg(destExt);\r\n\t};\r\n\r\n\tProgressWin* m_loadFileProcessWin = new ProgressWin(this);\r\n\t\r\n\tm_loadFileProcessWin->setWindowModality(Qt::WindowModal);\r\n\r\n\tm_loadFileProcessWin->info(tr(\"rename file in progress, please wait ...\"));\r\n\r\n\tm_loadFileProcessWin->show();\r\n\r\n\tint processTotal = 0;\r\n\tbool isExistChildDir = false;\r\n\r\n\twhile (!dirsList.isEmpty())\r\n\t{\r\n\t\tQString path = dirsList.takeFirst();\r\n\r\n\t\t/*添加path路径文件*/\r\n\t\tQDir dir(path);\r\n\r\n\t\t//遍历各级子目录\r\n\r\n\t\tif (dealChildDir)\r\n\t\t{\r\n\t\t\tQFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::Hidden | QDir::NoSymLinks);   //获取当前所有目录\r\n\r\n\t\t\tfor (int i = 0; i != folder_list.size(); ++i)         //自动递归添加各目录到上一级目录\r\n\t\t\t{\r\n\t\t\t\tQString namepath = folder_list.at(i).absoluteFilePath();    //获取路径\r\n\t\t\t\t//必须放前面，因为以文件夹个数处理为进度条计数\r\n\t\t\t\tdirsList.push_front(namepath);\r\n\t\t\t}\r\n\t\t\tif ((processTotal == 0) && dirsList.size() > 0)\r\n\t\t\t{\r\n\t\t\t\t//以目录个数大概去统计进度\r\n\t\t\t\tprocessTotal = dirsList.size();\r\n\t\t\t\tm_loadFileProcessWin->setTotalSteps(processTotal);\r\n\r\n\t\t\t\tisExistChildDir = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (dirsList.size() < processTotal)\r\n\t\t\t{\r\n\t\t\t\tm_loadFileProcessWin->moveStep();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tQDir dir_file(path);\r\n\t\tdir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件\r\n\t\tQFileInfoList list_file = dir_file.entryInfoList();\r\n\r\n\t\t//说明没有子文件夹\r\n\t\tif ((processTotal == 0) && list_file.size() > 0)\r\n\t\t{\r\n\t\t\tprocessTotal = list_file.size();\r\n\t\t\tm_loadFileProcessWin->setTotalSteps(processTotal);\r\n\t\t}\r\n\r\n\t\tfor (int i = 0; i < list_file.size(); ++i)\r\n\t\t{  \r\n\t\t\tQFileInfo fileInfo = list_file.at(i);\r\n\t\t\toldName = fileInfo.absoluteFilePath();\r\n\r\n\t\t\tif (isNeedFilterExt)\r\n\t\t\t{\r\n\t\t\t\tif (fileInfo.suffix() != filterExt)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tnewName = getNewName(oldName, destExt);\r\n\r\n\t\t\tif (!newName.isEmpty() && (newName != oldName))\r\n\t\t\t{\r\n\t\t\t\tif (!QFile::rename(oldName, newName))\r\n\t\t\t\t{\r\n\t\t\t\t\tfailNums++;\r\n\t\t\t\t\tm_loadFileProcessWin->info(tr(\"failed %1 file path %2, please check\").arg(failNums).arg(oldName));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//没有子文件夹时，按文件数量走\r\n\t\t\tif (!isExistChildDir)\r\n\t\t\t{\r\n\t\t\t\tm_loadFileProcessWin->moveStep();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfileNums += list_file.size();\r\n\t}\r\n\r\n\tQMessageBox::information(this, tr(\"Notice\"), tr(\"Deal Finished, totol %1 files, failed %2 files\").arg(fileNums).arg(failNums));\r\n\r\n\tdelete m_loadFileProcessWin;\r\n}\r\n"
  },
  {
    "path": "src/renamewin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_renamewin.h\"\r\n\r\nclass ReNameWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tReNameWin(QWidget *parent = Q_NULLPTR);\r\n\t~ReNameWin();\r\n\r\n\t\r\n\r\nprivate slots:\r\n\tvoid slot_selectDir();\r\n\tvoid slot_renameOptionsChange(int id, bool status);\r\n\tvoid slot_userDefineExt();\r\n\tvoid slot_startRename();\r\n\r\nprivate:\r\n\tvoid changeFileExt();\r\n\tvoid changeFileName();\r\n\r\nprivate:\r\n\tUi::ReNameWin ui;\r\n\tint m_extComBoxNum;\r\n};\r\n"
  },
  {
    "path": "src/renamewin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>ReNameWin</class>\r\n <widget class=\"QWidget\" name=\"ReNameWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>462</width>\r\n    <height>256</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"maximumSize\">\r\n   <size>\r\n    <width>470</width>\r\n    <height>260</height>\r\n   </size>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>ReNameBatchWin</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/edit/global/notebook.png</normaloff>:/Resources/edit/global/notebook.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <widget class=\"QLabel\" name=\"label\">\r\n       <property name=\"text\">\r\n        <string>Select Dir</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QLineEdit\" name=\"lineEditDir\"/>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QToolButton\" name=\"toolButtonBrowse\">\r\n       <property name=\"text\">\r\n        <string>Browse</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QTabWidget\" name=\"optionsTab\">\r\n     <property name=\"currentIndex\">\r\n      <number>0</number>\r\n     </property>\r\n     <widget class=\"QWidget\" name=\"addDelName\">\r\n      <attribute name=\"title\">\r\n       <string>AddDelNameString</string>\r\n      </attribute>\r\n      <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n       <item row=\"0\" column=\"0\">\r\n        <widget class=\"QRadioButton\" name=\"radioButtonAddPrefix\">\r\n         <property name=\"text\">\r\n          <string>Add Prefix</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"0\" column=\"1\">\r\n        <widget class=\"QLineEdit\" name=\"lineEditAddPrefix\">\r\n         <property name=\"enabled\">\r\n          <bool>false</bool>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"0\" column=\"2\">\r\n        <widget class=\"QRadioButton\" name=\"radioButtonDelPrefix\">\r\n         <property name=\"text\">\r\n          <string>Del Prefix</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"0\" column=\"3\">\r\n        <widget class=\"QLineEdit\" name=\"lineEditDelPrefix\">\r\n         <property name=\"enabled\">\r\n          <bool>false</bool>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"1\" column=\"0\">\r\n        <widget class=\"QRadioButton\" name=\"radioButtonAddSuffix\">\r\n         <property name=\"text\">\r\n          <string>Add Suffix</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"1\" column=\"1\">\r\n        <widget class=\"QLineEdit\" name=\"lineEditAddSuffix\">\r\n         <property name=\"enabled\">\r\n          <bool>false</bool>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"1\" column=\"2\">\r\n        <widget class=\"QRadioButton\" name=\"radioButtonDelSuffix\">\r\n         <property name=\"text\">\r\n          <string>Del Suffix</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"1\" column=\"3\">\r\n        <widget class=\"QLineEdit\" name=\"lineEditDelSuffix\">\r\n         <property name=\"enabled\">\r\n          <bool>false</bool>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"2\" column=\"0\">\r\n        <widget class=\"QRadioButton\" name=\"radioButtonLower\">\r\n         <property name=\"text\">\r\n          <string>Lower FileName</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n       <item row=\"2\" column=\"1\" colspan=\"2\">\r\n        <widget class=\"QRadioButton\" name=\"radioButtonUpper\">\r\n         <property name=\"text\">\r\n          <string>Upper FileName</string>\r\n         </property>\r\n        </widget>\r\n       </item>\r\n      </layout>\r\n     </widget>\r\n     <widget class=\"QWidget\" name=\"changeExt\">\r\n      <attribute name=\"title\">\r\n       <string>ChangeExt</string>\r\n      </attribute>\r\n      <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n       <item>\r\n        <layout class=\"QHBoxLayout\" name=\"horizontalLayout_7\">\r\n         <item>\r\n          <widget class=\"QLabel\" name=\"label_2\">\r\n           <property name=\"text\">\r\n            <string>Modify Ext To</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QLineEdit\" name=\"lineEditDestExt\"/>\r\n         </item>\r\n         <item>\r\n          <spacer name=\"horizontalSpacer_4\">\r\n           <property name=\"orientation\">\r\n            <enum>Qt::Horizontal</enum>\r\n           </property>\r\n           <property name=\"sizeHint\" stdset=\"0\">\r\n            <size>\r\n             <width>40</width>\r\n             <height>20</height>\r\n            </size>\r\n           </property>\r\n          </spacer>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n       <item>\r\n        <layout class=\"QHBoxLayout\" name=\"horizontalLayout_9\">\r\n         <item>\r\n          <widget class=\"QLabel\" name=\"label_3\">\r\n           <property name=\"text\">\r\n            <string>Deal Ext Type</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QComboBox\" name=\"comboBoxExt\">\r\n           <property name=\"minimumSize\">\r\n            <size>\r\n             <width>150</width>\r\n             <height>0</height>\r\n            </size>\r\n           </property>\r\n           <item>\r\n            <property name=\"text\">\r\n             <string>All File Ext Type</string>\r\n            </property>\r\n           </item>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <widget class=\"QToolButton\" name=\"definedFilterExt\">\r\n           <property name=\"text\">\r\n            <string>defined</string>\r\n           </property>\r\n          </widget>\r\n         </item>\r\n         <item>\r\n          <spacer name=\"horizontalSpacer_3\">\r\n           <property name=\"orientation\">\r\n            <enum>Qt::Horizontal</enum>\r\n           </property>\r\n           <property name=\"sizeHint\" stdset=\"0\">\r\n            <size>\r\n             <width>40</width>\r\n             <height>20</height>\r\n            </size>\r\n           </property>\r\n          </spacer>\r\n         </item>\r\n        </layout>\r\n       </item>\r\n       <item>\r\n        <spacer name=\"verticalSpacer\">\r\n         <property name=\"orientation\">\r\n          <enum>Qt::Vertical</enum>\r\n         </property>\r\n         <property name=\"sizeHint\" stdset=\"0\">\r\n          <size>\r\n           <width>20</width>\r\n           <height>40</height>\r\n          </size>\r\n         </property>\r\n        </spacer>\r\n       </item>\r\n      </layout>\r\n     </widget>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QCheckBox\" name=\"checkBoxDealChildDir\">\r\n     <property name=\"text\">\r\n      <string>Deal Child Dir</string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_6\">\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"startBt\">\r\n       <property name=\"text\">\r\n        <string>Start</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"closeBt\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_2\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>closeBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ReNameWin</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>288</x>\r\n     <y>233</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>456</x>\r\n     <y>173</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>toolButtonBrowse</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ReNameWin</receiver>\r\n   <slot>slot_selectDir()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>420</x>\r\n     <y>15</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>462</x>\r\n     <y>54</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>startBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ReNameWin</receiver>\r\n   <slot>slot_startRename()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>213</x>\r\n     <y>234</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>455</x>\r\n     <y>232</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>definedFilterExt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ReNameWin</receiver>\r\n   <slot>slot_userDefineExt()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>307</x>\r\n     <y>106</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>457</x>\r\n     <y>136</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_selectDir()</slot>\r\n  <slot>slot_startRename()</slot>\r\n  <slot>slot_userDefineExt()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/replacecommand.h",
    "content": "﻿#pragma once\r\n#include \"command.h\"\r\n#include \"rcglobal.h\"\r\n\r\nclass CompareWin;\r\n\r\nclass ReplaceOperRecords {\r\npublic:\r\n\tRC_DIRECTION dir;\r\n\tint startPos; //开始位置\r\n\tint srcEndPos;//原始结束位置\r\n\tchar* srcContents; //原始文字内容\r\n\r\n\tint replaceLens;//替换长度\r\n\tchar* replaceContents;//替换内容\r\n\r\n\tReplaceOperRecords() :startPos(0), srcEndPos(0), srcContents(nullptr), replaceLens(0), replaceContents(nullptr)\r\n\t{\r\n\r\n\t}\r\n\r\n\t~ReplaceOperRecords()\r\n\t{\r\n\t\tif (srcContents != nullptr)\r\n\t\t{\r\n\t\t\tdelete[]srcContents;\r\n\t\t\tsrcContents = nullptr;\r\n\t\t}\r\n\t\tif (replaceContents != nullptr)\r\n\t\t{\r\n\t\t\tdelete[]replaceContents;\r\n\t\t\treplaceContents = nullptr;\r\n\t\t}\r\n\t}\r\n\r\n\tReplaceOperRecords(const ReplaceOperRecords& other) = delete;\r\n};\r\n\r\n\r\nclass ReplaceCommand :public Command\r\n{\r\npublic:\r\n\tReplaceCommand(CompareWin* operWin);\r\n\tvirtual ~ReplaceCommand();\r\n\r\n\tvirtual int getOperIndex()override;\r\n\tvirtual void undo()override;\r\n\r\n\tvirtual QString desc()override;\r\n\tvoid setDesc(QString v);\r\n\r\n\tvoid addRecord(ReplaceOperRecords* v);\r\n\tvoid setOperIndex(int v);\r\n\r\n\r\nprivate:\r\n\tQList<ReplaceOperRecords*> m_record;\r\n\tCompareWin* m_operWin;\r\n\tint m_index;\r\n\r\n\tQString m_desc;\r\n\r\n\tReplaceCommand(const ReplaceCommand& o) = delete;\r\n\tReplaceCommand& operator=(const ReplaceCommand& o) = delete;\r\n};\r\n\r\n"
  },
  {
    "path": "src/resource.h",
    "content": "﻿//{{NO_DEPENDENCIES}}\r\n// Microsoft Visual C++ 生成的包含文件。\r\n// 供 RealCompare.rc 使用\r\n//\r\n#define IDI_ICON1                       107\r\n\r\n// Next default values for new objects\r\n// \r\n#ifdef APSTUDIO_INVOKED\r\n#ifndef APSTUDIO_READONLY_SYMBOLS\r\n#define _APS_NEXT_RESOURCE_VALUE        108\r\n#define _APS_NEXT_COMMAND_VALUE         40001\r\n#define _APS_NEXT_CONTROL_VALUE         1001\r\n#define _APS_NEXT_SYMED_VALUE           101\r\n#endif\r\n#endif\r\n"
  },
  {
    "path": "src/rgba_icons.h",
    "content": "// This file is part of Notepad-- project\n// Copyright (C)2023 zuowei.yin <cxasm@qq.com>\n\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// at your option any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\n\nstatic const unsigned char bookmark18[1296] = {\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x77, 0xD0, 0x4B,\n\t0x5A, 0x74, 0xD0, 0xA3, 0x58, 0x72, 0xD0, 0xDB, 0x53, 0x6F, 0xCE, 0xFE,\n\t0x4E, 0x6C, 0xCD, 0xFE, 0x47, 0x66, 0xCB, 0xDB, 0x40, 0x61, 0xC9, 0xA3,\n\t0x38, 0x5B, 0xC7, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x60, 0x7A, 0xD2, 0x2B, 0x64, 0x7C, 0xD3, 0xC7, 0x6D, 0x85, 0xDB, 0xFF,\n\t0x6C, 0x84, 0xDB, 0xFF, 0x68, 0x82, 0xDA, 0xFF, 0x63, 0x7F, 0xD8, 0xFF,\n\t0x5D, 0x78, 0xD7, 0xFF, 0x56, 0x74, 0xD5, 0xFF, 0x4E, 0x6D, 0xD3, 0xFF,\n\t0x46, 0x66, 0xD1, 0xFF, 0x35, 0x58, 0xC6, 0xC7, 0x2C, 0x51, 0xC4, 0x2B,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x7C, 0xD3, 0x3B,\n\t0x69, 0x80, 0xD4, 0xE8, 0x75, 0x8B, 0xDD, 0xFF, 0x77, 0x8E, 0xDE, 0xFF,\n\t0x75, 0x8B, 0xDD, 0xFF, 0x71, 0x89, 0xDC, 0xFF, 0x6B, 0x84, 0xDB, 0xFF,\n\t0x63, 0x7F, 0xD8, 0xFF, 0x5B, 0x77, 0xD6, 0xFF, 0x53, 0x72, 0xD4, 0xFF,\n\t0x4A, 0x6A, 0xD2, 0xFF, 0x41, 0x63, 0xCF, 0xFF, 0x30, 0x54, 0xC5, 0xE8,\n\t0x27, 0x4C, 0xC2, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x60, 0x7A, 0xD2, 0x2B, 0x69, 0x80, 0xD4, 0xE8,\n\t0x78, 0x8E, 0xDE, 0xFF, 0x7E, 0x91, 0xE0, 0xFF, 0x80, 0x95, 0xE0, 0xFF,\n\t0x7E, 0x91, 0xE0, 0xFF, 0x78, 0x8E, 0xDE, 0xFF, 0x71, 0x89, 0xDC, 0xFF,\n\t0x68, 0x82, 0xDA, 0xFF, 0x60, 0x7A, 0xD8, 0xFF, 0x56, 0x74, 0xD5, 0xFF,\n\t0x4D, 0x6C, 0xD3, 0xFF, 0x44, 0x65, 0xD0, 0xFF, 0x3B, 0x5E, 0xCE, 0xFF,\n\t0x29, 0x4F, 0xC3, 0xE8, 0x1F, 0x46, 0xC0, 0x2B, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x64, 0x7C, 0xD3, 0xC7, 0x75, 0x8B, 0xDD, 0xFF,\n\t0x7E, 0x91, 0xE0, 0xFF, 0x86, 0x99, 0xE2, 0xFF, 0x8A, 0x9B, 0xE3, 0xFF,\n\t0x86, 0x99, 0xE2, 0xFF, 0x7E, 0x91, 0xE0, 0xFF, 0x75, 0x8B, 0xDD, 0xFF,\n\t0x6C, 0x84, 0xDB, 0xFF, 0x62, 0x7E, 0xD8, 0xFF, 0x59, 0x76, 0xD6, 0xFF,\n\t0x4F, 0x6E, 0xD3, 0xFF, 0x46, 0x66, 0xD1, 0xFF, 0x3C, 0x5F, 0xCE, 0xFF,\n\t0x32, 0x58, 0xCB, 0xFF, 0x21, 0x49, 0xC1, 0xC7, 0x00, 0x00, 0x00, 0x00,\n\t0x5B, 0x77, 0xD0, 0x4B, 0x6D, 0x85, 0xDB, 0xFF, 0x77, 0x8E, 0xDE, 0xFF,\n\t0x80, 0x95, 0xE0, 0xFF, 0x8A, 0x9B, 0xE3, 0xFF, 0x8F, 0xA0, 0xE3, 0xFF,\n\t0x8A, 0x9B, 0xE3, 0xFF, 0x80, 0x95, 0xE0, 0xFF, 0x77, 0x8E, 0xDE, 0xFF,\n\t0x6D, 0x85, 0xDB, 0xFF, 0x63, 0x7F, 0xD8, 0xFF, 0x59, 0x76, 0xD6, 0xFF,\n\t0x50, 0x70, 0xD3, 0xFF, 0x46, 0x67, 0xD1, 0xFF, 0x3D, 0x60, 0xCE, 0xFF,\n\t0x33, 0x58, 0xCC, 0xFF, 0x29, 0x51, 0xC9, 0xFF, 0x18, 0x41, 0xBE, 0x4B,\n\t0x5A, 0x74, 0xD0, 0xA3, 0x6C, 0x84, 0xDB, 0xFF, 0x75, 0x8B, 0xDD, 0xFF,\n\t0x7E, 0x91, 0xE0, 0xFF, 0x86, 0x99, 0xE2, 0xFF, 0x8A, 0x9B, 0xE3, 0xFF,\n\t0x86, 0x99, 0xE2, 0xFF, 0x7E, 0x91, 0xE0, 0xFF, 0x75, 0x8B, 0xDD, 0xFF,\n\t0x6C, 0x84, 0xDB, 0xFF, 0x62, 0x7E, 0xD8, 0xFF, 0x59, 0x76, 0xD6, 0xFF,\n\t0x4F, 0x6E, 0xD3, 0xFF, 0x46, 0x66, 0xD1, 0xFF, 0x3C, 0x5F, 0xCE, 0xFF,\n\t0x32, 0x58, 0xCB, 0xFF, 0x29, 0x50, 0xC9, 0xFF, 0x17, 0x41, 0xBE, 0xA3,\n\t0x58, 0x72, 0xD0, 0xDB, 0x68, 0x82, 0xDA, 0xFF, 0x71, 0x89, 0xDC, 0xFF,\n\t0x78, 0x8E, 0xDE, 0xFF, 0x7E, 0x91, 0xE0, 0xFF, 0x80, 0x95, 0xE0, 0xFF,\n\t0x7E, 0x91, 0xE0, 0xFF, 0x78, 0x8E, 0xDE, 0xFF, 0x71, 0x89, 0xDC, 0xFF,\n\t0x68, 0x82, 0xDA, 0xFF, 0x60, 0x7A, 0xD8, 0xFF, 0x56, 0x74, 0xD5, 0xFF,\n\t0x4D, 0x6C, 0xD3, 0xFF, 0x44, 0x65, 0xD0, 0xFF, 0x3B, 0x5E, 0xCE, 0xFF,\n\t0x31, 0x57, 0xCB, 0xFF, 0x27, 0x4F, 0xC8, 0xFF, 0x16, 0x40, 0xBE, 0xDB,\n\t0x53, 0x6F, 0xCE, 0xFE, 0x63, 0x7F, 0xD8, 0xFF, 0x6B, 0x84, 0xDB, 0xFF,\n\t0x71, 0x89, 0xDC, 0xFF, 0x75, 0x8B, 0xDD, 0xFF, 0x77, 0x8E, 0xDE, 0xFF,\n\t0x75, 0x8B, 0xDD, 0xFF, 0x71, 0x89, 0xDC, 0xFF, 0x6B, 0x84, 0xDB, 0xFF,\n\t0x63, 0x7F, 0xD8, 0xFF, 0x5B, 0x77, 0xD6, 0xFF, 0x53, 0x72, 0xD4, 0xFF,\n\t0x4A, 0x6A, 0xD2, 0xFF, 0x41, 0x63, 0xCF, 0xFF, 0x38, 0x5C, 0xCD, 0xFF,\n\t0x2F, 0x54, 0xCA, 0xFF, 0x25, 0x4D, 0xC8, 0xFF, 0x14, 0x3F, 0xBD, 0xFE,\n\t0x4E, 0x6C, 0xCD, 0xFE, 0x5D, 0x78, 0xD7, 0xFF, 0x63, 0x7F, 0xD8, 0xFF,\n\t0x68, 0x82, 0xDA, 0xFF, 0x6C, 0x84, 0xDB, 0xFF, 0x6D, 0x85, 0xDB, 0xFF,\n\t0x6C, 0x84, 0xDB, 0xFF, 0x68, 0x82, 0xDA, 0xFF, 0x63, 0x7F, 0xD8, 0xFF,\n\t0x5D, 0x78, 0xD7, 0xFF, 0x56, 0x74, 0xD5, 0xFF, 0x4E, 0x6D, 0xD3, 0xFF,\n\t0x46, 0x66, 0xD1, 0xFF, 0x3D, 0x61, 0xCE, 0xFF, 0x34, 0x59, 0xCC, 0xFF,\n\t0x2B, 0x52, 0xCA, 0xFF, 0x23, 0x4B, 0xC7, 0xFF, 0x11, 0x3B, 0xBD, 0xFE,\n\t0x47, 0x66, 0xCB, 0xDB, 0x56, 0x74, 0xD5, 0xFF, 0x5B, 0x77, 0xD6, 0xFF,\n\t0x60, 0x7A, 0xD8, 0xFF, 0x62, 0x7E, 0xD8, 0xFF, 0x63, 0x7F, 0xD8, 0xFF,\n\t0x62, 0x7E, 0xD8, 0xFF, 0x60, 0x7A, 0xD8, 0xFF, 0x5B, 0x77, 0xD6, 0xFF,\n\t0x56, 0x74, 0xD5, 0xFF, 0x4F, 0x6E, 0xD3, 0xFF, 0x48, 0x69, 0xD1, 0xFF,\n\t0x40, 0x63, 0xCF, 0xFF, 0x38, 0x5C, 0xCD, 0xFF, 0x30, 0x55, 0xCB, 0xFF,\n\t0x27, 0x4F, 0xC8, 0xFF, 0x1F, 0x49, 0xC6, 0xFF, 0x11, 0x3B, 0xBD, 0xDB,\n\t0x40, 0x61, 0xC9, 0xA3, 0x4E, 0x6D, 0xD3, 0xFF, 0x53, 0x72, 0xD4, 0xFF,\n\t0x56, 0x74, 0xD5, 0xFF, 0x59, 0x76, 0xD6, 0xFF, 0x59, 0x76, 0xD6, 0xFF,\n\t0x59, 0x76, 0xD6, 0xFF, 0x56, 0x74, 0xD5, 0xFF, 0x53, 0x72, 0xD4, 0xFF,\n\t0x4E, 0x6D, 0xD3, 0xFF, 0x48, 0x69, 0xD1, 0xFF, 0x41, 0x63, 0xCF, 0xFF,\n\t0x3B, 0x5E, 0xCE, 0xFF, 0x33, 0x58, 0xCC, 0xFF, 0x2B, 0x52, 0xCA, 0xFF,\n\t0x23, 0x4B, 0xC7, 0xFF, 0x1A, 0x46, 0xC5, 0xFF, 0x11, 0x3B, 0xBD, 0xA3,\n\t0x38, 0x5B, 0xC7, 0x4B, 0x46, 0x66, 0xD1, 0xFF, 0x4A, 0x6A, 0xD2, 0xFF,\n\t0x4D, 0x6C, 0xD3, 0xFF, 0x4F, 0x6E, 0xD3, 0xFF, 0x50, 0x70, 0xD3, 0xFF,\n\t0x4F, 0x6E, 0xD3, 0xFF, 0x4D, 0x6C, 0xD3, 0xFF, 0x4A, 0x6A, 0xD2, 0xFF,\n\t0x46, 0x66, 0xD1, 0xFF, 0x40, 0x63, 0xCF, 0xFF, 0x3B, 0x5E, 0xCE, 0xFF,\n\t0x34, 0x59, 0xCC, 0xFF, 0x2D, 0x54, 0xCA, 0xFF, 0x25, 0x4D, 0xC8, 0xFF,\n\t0x1E, 0x48, 0xC6, 0xFF, 0x19, 0x43, 0xC5, 0xFF, 0x11, 0x3B, 0xBD, 0x4B,\n\t0x00, 0x00, 0x00, 0x00, 0x35, 0x58, 0xC6, 0xC7, 0x41, 0x63, 0xCF, 0xFF,\n\t0x44, 0x65, 0xD0, 0xFF, 0x46, 0x66, 0xD1, 0xFF, 0x46, 0x67, 0xD1, 0xFF,\n\t0x46, 0x66, 0xD1, 0xFF, 0x44, 0x65, 0xD0, 0xFF, 0x41, 0x63, 0xCF, 0xFF,\n\t0x3D, 0x61, 0xCE, 0xFF, 0x38, 0x5C, 0xCD, 0xFF, 0x33, 0x58, 0xCC, 0xFF,\n\t0x2D, 0x54, 0xCA, 0xFF, 0x26, 0x4E, 0xC8, 0xFF, 0x1F, 0x49, 0xC6, 0xFF,\n\t0x19, 0x43, 0xC5, 0xFF, 0x11, 0x3B, 0xBD, 0xC7, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x2C, 0x51, 0xC4, 0x2B, 0x30, 0x54, 0xC5, 0xE8,\n\t0x3B, 0x5E, 0xCE, 0xFF, 0x3C, 0x5F, 0xCE, 0xFF, 0x3D, 0x60, 0xCE, 0xFF,\n\t0x3C, 0x5F, 0xCE, 0xFF, 0x3B, 0x5E, 0xCE, 0xFF, 0x38, 0x5C, 0xCD, 0xFF,\n\t0x34, 0x59, 0xCC, 0xFF, 0x30, 0x55, 0xCB, 0xFF, 0x2B, 0x52, 0xCA, 0xFF,\n\t0x25, 0x4D, 0xC8, 0xFF, 0x1F, 0x49, 0xC6, 0xFF, 0x19, 0x43, 0xC5, 0xFF,\n\t0x11, 0x3B, 0xBD, 0xE8, 0x11, 0x3B, 0xBD, 0x2B, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x4C, 0xC2, 0x3B,\n\t0x29, 0x4F, 0xC3, 0xE8, 0x32, 0x58, 0xCB, 0xFF, 0x33, 0x58, 0xCC, 0xFF,\n\t0x32, 0x58, 0xCB, 0xFF, 0x31, 0x57, 0xCB, 0xFF, 0x2F, 0x54, 0xCA, 0xFF,\n\t0x2B, 0x52, 0xCA, 0xFF, 0x27, 0x4F, 0xC8, 0xFF, 0x23, 0x4B, 0xC7, 0xFF,\n\t0x1E, 0x48, 0xC6, 0xFF, 0x19, 0x43, 0xC5, 0xFF, 0x11, 0x3B, 0xBD, 0xE8,\n\t0x11, 0x3B, 0xBD, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x1F, 0x46, 0xC0, 0x2B, 0x21, 0x49, 0xC1, 0xC7, 0x29, 0x51, 0xC9, 0xFF,\n\t0x29, 0x50, 0xC9, 0xFF, 0x27, 0x4F, 0xC8, 0xFF, 0x25, 0x4D, 0xC8, 0xFF,\n\t0x23, 0x4B, 0xC7, 0xFF, 0x1F, 0x49, 0xC6, 0xFF, 0x1A, 0x46, 0xC5, 0xFF,\n\t0x19, 0x43, 0xC5, 0xFF, 0x11, 0x3B, 0xBD, 0xC7, 0x11, 0x3B, 0xBD, 0x2B,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x41, 0xBE, 0x4B,\n\t0x17, 0x41, 0xBE, 0xA3, 0x16, 0x40, 0xBE, 0xDB, 0x14, 0x3F, 0xBD, 0xFE,\n\t0x11, 0x3B, 0xBD, 0xFE, 0x11, 0x3B, 0xBD, 0xDB, 0x11, 0x3B, 0xBD, 0xA3,\n\t0x11, 0x3B, 0xBD, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n};\n\nstatic const unsigned char bookmark14[784] = {\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x58, 0x73, 0xD0, 0x17, 0x5A, 0x74, 0xD0, 0x87, 0x58, 0x73, 0xD0, 0xD3,\n\t0x54, 0x70, 0xCF, 0xFB, 0x4E, 0x6C, 0xCD, 0xFB, 0x45, 0x64, 0xCB, 0xD3,\n\t0x3C, 0x5C, 0xC8, 0x87, 0x32, 0x56, 0xC6, 0x17, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x5F, 0x78, 0xD2, 0x5B, 0x64, 0x7D, 0xD3, 0xEC,\n\t0x6E, 0x86, 0xDB, 0xFF, 0x6C, 0x85, 0xDB, 0xFF, 0x67, 0x80, 0xDA, 0xFF,\n\t0x5F, 0x7B, 0xD7, 0xFF, 0x56, 0x74, 0xD5, 0xFF, 0x4B, 0x6B, 0xD2, 0xFF,\n\t0x38, 0x5B, 0xC7, 0xEC, 0x2D, 0x52, 0xC4, 0x5B, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x78, 0xD2, 0x5B,\n\t0x70, 0x88, 0xDC, 0xFF, 0x78, 0x8E, 0xDE, 0xFF, 0x7B, 0x91, 0xDF, 0xFF,\n\t0x78, 0x8E, 0xDE, 0xFF, 0x70, 0x88, 0xDC, 0xFF, 0x67, 0x80, 0xDA, 0xFF,\n\t0x5C, 0x78, 0xD7, 0xFF, 0x51, 0x6F, 0xD4, 0xFF, 0x45, 0x67, 0xD0, 0xFF,\n\t0x39, 0x5D, 0xCD, 0xFF, 0x25, 0x4C, 0xC2, 0x5B, 0x00, 0x00, 0x00, 0x00,\n\t0x58, 0x73, 0xD0, 0x17, 0x64, 0x7D, 0xD3, 0xEC, 0x78, 0x8E, 0xDE, 0xFF,\n\t0x82, 0x96, 0xE1, 0xFF, 0x87, 0x99, 0xE2, 0xFF, 0x82, 0x96, 0xE1, 0xFF,\n\t0x78, 0x8E, 0xDE, 0xFF, 0x6C, 0x85, 0xDB, 0xFF, 0x60, 0x7B, 0xD8, 0xFF,\n\t0x54, 0x73, 0xD4, 0xFF, 0x48, 0x69, 0xD1, 0xFF, 0x3C, 0x5F, 0xCE, 0xFF,\n\t0x28, 0x4D, 0xC3, 0xEC, 0x1B, 0x43, 0xBF, 0x17, 0x5A, 0x74, 0xD0, 0x87,\n\t0x6E, 0x86, 0xDB, 0xFF, 0x7B, 0x91, 0xDF, 0xFF, 0x87, 0x99, 0xE2, 0xFF,\n\t0x8D, 0x9F, 0xE2, 0xFF, 0x87, 0x99, 0xE2, 0xFF, 0x7B, 0x91, 0xDF, 0xFF,\n\t0x6E, 0x86, 0xDB, 0xFF, 0x62, 0x7E, 0xD8, 0xFF, 0x56, 0x74, 0xD5, 0xFF,\n\t0x49, 0x69, 0xD2, 0xFF, 0x3D, 0x60, 0xCE, 0xFF, 0x30, 0x55, 0xCB, 0xFF,\n\t0x1C, 0x44, 0xBF, 0x87, 0x58, 0x73, 0xD0, 0xD3, 0x6C, 0x85, 0xDB, 0xFF,\n\t0x78, 0x8E, 0xDE, 0xFF, 0x82, 0x96, 0xE1, 0xFF, 0x87, 0x99, 0xE2, 0xFF,\n\t0x82, 0x96, 0xE1, 0xFF, 0x78, 0x8E, 0xDE, 0xFF, 0x6C, 0x85, 0xDB, 0xFF,\n\t0x60, 0x7B, 0xD8, 0xFF, 0x54, 0x73, 0xD4, 0xFF, 0x48, 0x69, 0xD1, 0xFF,\n\t0x3C, 0x5F, 0xCE, 0xFF, 0x30, 0x55, 0xCB, 0xFF, 0x1B, 0x43, 0xBF, 0xD3,\n\t0x54, 0x70, 0xCF, 0xFB, 0x67, 0x80, 0xDA, 0xFF, 0x70, 0x88, 0xDC, 0xFF,\n\t0x78, 0x8E, 0xDE, 0xFF, 0x7B, 0x91, 0xDF, 0xFF, 0x78, 0x8E, 0xDE, 0xFF,\n\t0x70, 0x88, 0xDC, 0xFF, 0x67, 0x80, 0xDA, 0xFF, 0x5C, 0x78, 0xD7, 0xFF,\n\t0x51, 0x6F, 0xD4, 0xFF, 0x45, 0x67, 0xD0, 0xFF, 0x39, 0x5D, 0xCD, 0xFF,\n\t0x2D, 0x54, 0xCA, 0xFF, 0x19, 0x42, 0xBF, 0xFB, 0x4E, 0x6C, 0xCD, 0xFB,\n\t0x5F, 0x7B, 0xD7, 0xFF, 0x67, 0x80, 0xDA, 0xFF, 0x6C, 0x85, 0xDB, 0xFF,\n\t0x6E, 0x86, 0xDB, 0xFF, 0x6C, 0x85, 0xDB, 0xFF, 0x67, 0x80, 0xDA, 0xFF,\n\t0x5F, 0x7B, 0xD7, 0xFF, 0x56, 0x74, 0xD5, 0xFF, 0x4B, 0x6B, 0xD2, 0xFF,\n\t0x40, 0x63, 0xCF, 0xFF, 0x35, 0x59, 0xCC, 0xFF, 0x29, 0x51, 0xC9, 0xFF,\n\t0x16, 0x40, 0xBE, 0xFB, 0x45, 0x64, 0xCB, 0xD3, 0x56, 0x74, 0xD5, 0xFF,\n\t0x5C, 0x78, 0xD7, 0xFF, 0x60, 0x7B, 0xD8, 0xFF, 0x62, 0x7E, 0xD8, 0xFF,\n\t0x60, 0x7B, 0xD8, 0xFF, 0x5C, 0x78, 0xD7, 0xFF, 0x56, 0x74, 0xD5, 0xFF,\n\t0x4D, 0x6C, 0xD3, 0xFF, 0x44, 0x65, 0xD0, 0xFF, 0x3A, 0x5E, 0xCE, 0xFF,\n\t0x30, 0x55, 0xCB, 0xFF, 0x25, 0x4C, 0xC8, 0xFF, 0x11, 0x3B, 0xBD, 0xD3,\n\t0x3C, 0x5C, 0xC8, 0x87, 0x4B, 0x6B, 0xD2, 0xFF, 0x51, 0x6F, 0xD4, 0xFF,\n\t0x54, 0x73, 0xD4, 0xFF, 0x56, 0x74, 0xD5, 0xFF, 0x54, 0x73, 0xD4, 0xFF,\n\t0x51, 0x6F, 0xD4, 0xFF, 0x4B, 0x6B, 0xD2, 0xFF, 0x44, 0x65, 0xD0, 0xFF,\n\t0x3C, 0x5F, 0xCE, 0xFF, 0x32, 0x58, 0xCB, 0xFF, 0x29, 0x50, 0xC9, 0xFF,\n\t0x1E, 0x48, 0xC6, 0xFF, 0x11, 0x3B, 0xBD, 0x87, 0x32, 0x56, 0xC6, 0x17,\n\t0x38, 0x5B, 0xC7, 0xEC, 0x45, 0x67, 0xD0, 0xFF, 0x48, 0x69, 0xD1, 0xFF,\n\t0x49, 0x69, 0xD2, 0xFF, 0x48, 0x69, 0xD1, 0xFF, 0x45, 0x67, 0xD0, 0xFF,\n\t0x40, 0x63, 0xCF, 0xFF, 0x3A, 0x5E, 0xCE, 0xFF, 0x32, 0x58, 0xCB, 0xFF,\n\t0x2A, 0x51, 0xC9, 0xFF, 0x21, 0x4A, 0xC7, 0xFF, 0x11, 0x3B, 0xBD, 0xEC,\n\t0x11, 0x3B, 0xBD, 0x17, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x52, 0xC4, 0x5B,\n\t0x39, 0x5D, 0xCD, 0xFF, 0x3C, 0x5F, 0xCE, 0xFF, 0x3D, 0x60, 0xCE, 0xFF,\n\t0x3C, 0x5F, 0xCE, 0xFF, 0x39, 0x5D, 0xCD, 0xFF, 0x35, 0x59, 0xCC, 0xFF,\n\t0x30, 0x55, 0xCB, 0xFF, 0x29, 0x50, 0xC9, 0xFF, 0x21, 0x4A, 0xC7, 0xFF,\n\t0x19, 0x43, 0xC5, 0xFF, 0x11, 0x3B, 0xBD, 0x5B, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4C, 0xC2, 0x5B,\n\t0x28, 0x4D, 0xC3, 0xEC, 0x30, 0x55, 0xCB, 0xFF, 0x30, 0x55, 0xCB, 0xFF,\n\t0x2D, 0x54, 0xCA, 0xFF, 0x29, 0x51, 0xC9, 0xFF, 0x25, 0x4C, 0xC8, 0xFF,\n\t0x1E, 0x48, 0xC6, 0xFF, 0x11, 0x3B, 0xBD, 0xEC, 0x11, 0x3B, 0xBD, 0x5B,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x43, 0xBF, 0x17,\n\t0x1C, 0x44, 0xBF, 0x87, 0x1B, 0x43, 0xBF, 0xD3, 0x19, 0x42, 0xBF, 0xFB,\n\t0x16, 0x40, 0xBE, 0xFB, 0x11, 0x3B, 0xBD, 0xD3, 0x11, 0x3B, 0xBD, 0x87,\n\t0x11, 0x3B, 0xBD, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00\n};\n\nstatic const unsigned char hidelines_begin18[1296] = {\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xA6, 0x72, 0xFF,\n\t0x49, 0xA6, 0x72, 0xFF, 0x49, 0xA6, 0x72, 0x27, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xA4, 0x70, 0xFF,\n\t0x5F, 0xB1, 0x84, 0xFF, 0x47, 0xA4, 0x70, 0xFF, 0x47, 0xA4, 0x70, 0x27,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xA3, 0x6F, 0xFF,\n\t0x6F, 0xB9, 0x90, 0xFF, 0x61, 0xB1, 0x84, 0xFF, 0x46, 0xA3, 0x6F, 0xFF,\n\t0x46, 0xA3, 0x6F, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xA1, 0x6D, 0xFF,\n\t0x77, 0xBE, 0x97, 0xFF, 0x87, 0xC7, 0xA4, 0xFF, 0x5C, 0xAE, 0x81, 0xFF,\n\t0x44, 0xA1, 0x6D, 0xFF, 0x44, 0xA1, 0x6D, 0x22, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xA0, 0x6C, 0xFF,\n\t0x72, 0xBA, 0x93, 0xFF, 0x81, 0xC3, 0x9F, 0xFF, 0x82, 0xC4, 0xA0, 0xFF,\n\t0x5A, 0xAD, 0x7F, 0xFF, 0x43, 0xA0, 0x6C, 0xFF, 0x43, 0xA0, 0x6C, 0x22,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x9E, 0x6A, 0xFF,\n\t0x6D, 0xB8, 0x8E, 0xFF, 0x7B, 0xC0, 0x9A, 0xFF, 0x7C, 0xC0, 0x9B, 0xFF,\n\t0x7E, 0xC1, 0x9C, 0xFF, 0x58, 0xAB, 0x7D, 0xFF, 0x41, 0x9E, 0x6A, 0xFF,\n\t0x41, 0x9E, 0x6A, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9D, 0x69, 0xFF,\n\t0x68, 0xB4, 0x8A, 0xFF, 0x75, 0xBC, 0x95, 0xFF, 0x76, 0xBD, 0x96, 0xFF,\n\t0x78, 0xBE, 0x97, 0xFF, 0x7B, 0xBF, 0x99, 0xFF, 0x56, 0xAA, 0x7B, 0xFF,\n\t0x40, 0x9D, 0x69, 0xFF, 0x40, 0x9D, 0x69, 0x1D, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x9B, 0x67, 0xFF,\n\t0x63, 0xB2, 0x85, 0xFF, 0x6F, 0xB9, 0x90, 0xFF, 0x70, 0xBA, 0x91, 0xFF,\n\t0x72, 0xBB, 0x93, 0xFF, 0x75, 0xBC, 0x95, 0xFF, 0x78, 0xBE, 0x98, 0xFF,\n\t0x54, 0xA8, 0x7A, 0xFF, 0x3E, 0x9B, 0x67, 0xFF, 0x3E, 0x9B, 0x67, 0x18,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9A, 0x66, 0xFF,\n\t0x5E, 0xAE, 0x82, 0xFF, 0x69, 0xB5, 0x8B, 0xFF, 0x6B, 0xB6, 0x8C, 0xFF,\n\t0x6D, 0xB8, 0x8E, 0xFF, 0x70, 0xB9, 0x91, 0xFF, 0x73, 0xBB, 0x94, 0xFF,\n\t0x78, 0xBE, 0x97, 0xFF, 0x57, 0xAA, 0x7C, 0xFF, 0x3D, 0x9A, 0x66, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x98, 0x64, 0xFF,\n\t0x59, 0xAC, 0x7E, 0xFF, 0x63, 0xB2, 0x86, 0xFF, 0x65, 0xB3, 0x87, 0xFF,\n\t0x67, 0xB5, 0x8A, 0xFF, 0x6B, 0xB7, 0x8D, 0xFF, 0x6F, 0xB9, 0x90, 0xFF,\n\t0x73, 0xBB, 0x94, 0xFF, 0x51, 0xA6, 0x77, 0xFF, 0x3B, 0x98, 0x64, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x97, 0x63, 0xFF,\n\t0x54, 0xA8, 0x79, 0xFF, 0x5D, 0xAF, 0x81, 0xFF, 0x5F, 0xB0, 0x83, 0xFF,\n\t0x62, 0xB2, 0x86, 0xFF, 0x66, 0xB4, 0x89, 0xFF, 0x6B, 0xB7, 0x8D, 0xFF,\n\t0x4B, 0xA2, 0x72, 0xFF, 0x3A, 0x97, 0x63, 0xFF, 0x3A, 0x97, 0x63, 0x18,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x95, 0x61, 0xFF,\n\t0x4F, 0xA5, 0x75, 0xFF, 0x57, 0xAB, 0x7C, 0xFF, 0x5A, 0xAD, 0x7E, 0xFF,\n\t0x5D, 0xAF, 0x82, 0xFF, 0x62, 0xB2, 0x86, 0xFF, 0x47, 0x9F, 0x6E, 0xFF,\n\t0x38, 0x95, 0x61, 0xFF, 0x38, 0x95, 0x61, 0x1D, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x94, 0x60, 0xFF,\n\t0x4A, 0xA2, 0x71, 0xFF, 0x51, 0xA8, 0x78, 0xFF, 0x55, 0xAA, 0x7B, 0xFF,\n\t0x5A, 0xAD, 0x7E, 0xFF, 0x44, 0x9D, 0x6B, 0xFF, 0x37, 0x94, 0x60, 0xFF,\n\t0x37, 0x94, 0x60, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x92, 0x5E, 0xFF,\n\t0x45, 0x9F, 0x6C, 0xFF, 0x4C, 0xA5, 0x73, 0xFF, 0x51, 0xA8, 0x78, 0xFF,\n\t0x40, 0x9A, 0x67, 0xFF, 0x35, 0x92, 0x5E, 0xFF, 0x35, 0x92, 0x5E, 0x22,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x91, 0x5D, 0xFF,\n\t0x40, 0x9D, 0x69, 0xFF, 0x4A, 0xA4, 0x71, 0xFF, 0x3D, 0x98, 0x65, 0xFF,\n\t0x34, 0x91, 0x5D, 0xFF, 0x34, 0x91, 0x5D, 0x22, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x8F, 0x5B, 0xFF,\n\t0x3F, 0x9A, 0x67, 0xFF, 0x3A, 0x96, 0x62, 0xFF, 0x32, 0x8F, 0x5B, 0xFF,\n\t0x32, 0x8F, 0x5B, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x8E, 0x5A, 0xFF,\n\t0x3B, 0x96, 0x63, 0xFF, 0x31, 0x8E, 0x5A, 0xFF, 0x31, 0x8E, 0x5A, 0x27,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x8D, 0x59, 0xFF,\n\t0x30, 0x8D, 0x59, 0xFF, 0x30, 0x8D, 0x59, 0x27, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n};\n\nstatic const unsigned char hidelines_begin14[784] = {\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x49, 0xA6, 0x72, 0xFF, 0x4A, 0xA7, 0x73, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x47, 0xA4, 0x70, 0xFF, 0x68, 0xB6, 0x8B, 0xFF, 0x48, 0xA5, 0x71, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xA2, 0x6E, 0xFF,\n\t0x8E, 0xCA, 0xA8, 0xFF, 0x64, 0xB3, 0x87, 0xFF, 0x46, 0xA3, 0x6F, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x43, 0xA0, 0x6C, 0xFF, 0x86, 0xC5, 0xA2, 0xFF,\n\t0x86, 0xC6, 0xA2, 0xFF, 0x60, 0xB0, 0x83, 0xFF, 0x44, 0xA1, 0x6D, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x41, 0x9E, 0x6A, 0xFF, 0x7D, 0xC1, 0x9B, 0xFF, 0x7E, 0xC1, 0x9C, 0xFF,\n\t0x80, 0xC2, 0x9D, 0xFF, 0x5D, 0xAE, 0x81, 0xFF, 0x43, 0xA0, 0x6C, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9C, 0x68, 0xFF,\n\t0x75, 0xBC, 0x95, 0xFF, 0x76, 0xBD, 0x95, 0xFF, 0x78, 0xBE, 0x97, 0xFF,\n\t0x7B, 0xBF, 0x99, 0xFF, 0x5B, 0xAD, 0x7F, 0xFF, 0x41, 0x9E, 0x6A, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x3D, 0x9A, 0x66, 0xFF, 0x6D, 0xB8, 0x8E, 0xFF,\n\t0x6E, 0xB8, 0x8F, 0xFF, 0x70, 0xB9, 0x90, 0xFF, 0x74, 0xBB, 0x93, 0xFF,\n\t0x79, 0xBE, 0x97, 0xFF, 0x59, 0xAB, 0x7D, 0xFF, 0x3F, 0x9C, 0x68, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x3C, 0x99, 0x65, 0xFF, 0x64, 0xB3, 0x87, 0xFF, 0x66, 0xB4, 0x88, 0xFF,\n\t0x68, 0xB5, 0x8A, 0xFF, 0x6D, 0xB8, 0x8E, 0xFF, 0x72, 0xBA, 0x92, 0xFF,\n\t0x51, 0xA6, 0x76, 0xFF, 0x3D, 0x9A, 0x66, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x97, 0x63, 0xFF,\n\t0x5C, 0xAE, 0x80, 0xFF, 0x5E, 0xAF, 0x82, 0xFF, 0x61, 0xB1, 0x84, 0xFF,\n\t0x67, 0xB4, 0x89, 0xFF, 0x4C, 0xA3, 0x72, 0xFF, 0x3B, 0x98, 0x64, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x38, 0x95, 0x61, 0xFF, 0x54, 0xAA, 0x7A, 0xFF,\n\t0x56, 0xAB, 0x7C, 0xFF, 0x5B, 0xAE, 0x80, 0xFF, 0x46, 0x9F, 0x6D, 0xFF,\n\t0x39, 0x96, 0x62, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x36, 0x93, 0x5F, 0xFF, 0x4C, 0xA5, 0x73, 0xFF, 0x4F, 0xA7, 0x76, 0xFF,\n\t0x41, 0x9B, 0x68, 0xFF, 0x37, 0x94, 0x60, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x91, 0x5D, 0xFF,\n\t0x44, 0xA1, 0x6D, 0xFF, 0x3C, 0x97, 0x64, 0xFF, 0x35, 0x92, 0x5E, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x32, 0x8F, 0x5B, 0xFF, 0x3A, 0x96, 0x63, 0xFF,\n\t0x32, 0x8F, 0x5B, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x30, 0x8D, 0x59, 0xFF, 0x30, 0x8D, 0x59, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00\n};\n\nstatic const unsigned char hidelines_end18[1296] = {\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x49, 0xA6, 0x72, 0x27, 0x49, 0xA6, 0x72, 0xFF, 0x49, 0xA6, 0x72, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xA4, 0x70, 0x27,\n\t0x47, 0xA4, 0x70, 0xFF, 0x5F, 0xB1, 0x84, 0xFF, 0x47, 0xA4, 0x70, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x46, 0xA3, 0x6F, 0x27, 0x46, 0xA3, 0x6F, 0xFF,\n\t0x61, 0xB1, 0x84, 0xFF, 0x6F, 0xB9, 0x90, 0xFF, 0x46, 0xA3, 0x6F, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x44, 0xA1, 0x6D, 0x22, 0x44, 0xA1, 0x6D, 0xFF, 0x5C, 0xAE, 0x81, 0xFF,\n\t0x87, 0xC7, 0xA4, 0xFF, 0x77, 0xBE, 0x97, 0xFF, 0x44, 0xA1, 0x6D, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xA0, 0x6C, 0x22,\n\t0x43, 0xA0, 0x6C, 0xFF, 0x5A, 0xAD, 0x7F, 0xFF, 0x82, 0xC4, 0xA0, 0xFF,\n\t0x81, 0xC3, 0x9F, 0xFF, 0x72, 0xBA, 0x93, 0xFF, 0x43, 0xA0, 0x6C, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x41, 0x9E, 0x6A, 0x1D, 0x41, 0x9E, 0x6A, 0xFF,\n\t0x58, 0xAB, 0x7D, 0xFF, 0x7E, 0xC1, 0x9C, 0xFF, 0x7C, 0xC0, 0x9B, 0xFF,\n\t0x7B, 0xC0, 0x9A, 0xFF, 0x6D, 0xB8, 0x8E, 0xFF, 0x41, 0x9E, 0x6A, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x40, 0x9D, 0x69, 0x1D, 0x40, 0x9D, 0x69, 0xFF, 0x56, 0xAA, 0x7B, 0xFF,\n\t0x7B, 0xBF, 0x99, 0xFF, 0x78, 0xBE, 0x97, 0xFF, 0x76, 0xBD, 0x96, 0xFF,\n\t0x75, 0xBC, 0x95, 0xFF, 0x68, 0xB4, 0x8A, 0xFF, 0x40, 0x9D, 0x69, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x9B, 0x67, 0x18,\n\t0x3E, 0x9B, 0x67, 0xFF, 0x54, 0xA8, 0x7A, 0xFF, 0x78, 0xBE, 0x98, 0xFF,\n\t0x75, 0xBC, 0x95, 0xFF, 0x72, 0xBB, 0x93, 0xFF, 0x70, 0xBA, 0x91, 0xFF,\n\t0x6F, 0xB9, 0x90, 0xFF, 0x63, 0xB2, 0x85, 0xFF, 0x3E, 0x9B, 0x67, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9A, 0x66, 0xFF,\n\t0x57, 0xAA, 0x7C, 0xFF, 0x78, 0xBE, 0x97, 0xFF, 0x73, 0xBB, 0x94, 0xFF,\n\t0x70, 0xB9, 0x91, 0xFF, 0x6D, 0xB8, 0x8E, 0xFF, 0x6B, 0xB6, 0x8C, 0xFF,\n\t0x69, 0xB5, 0x8B, 0xFF, 0x5E, 0xAE, 0x82, 0xFF, 0x3D, 0x9A, 0x66, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x98, 0x64, 0xFF,\n\t0x51, 0xA6, 0x77, 0xFF, 0x73, 0xBB, 0x94, 0xFF, 0x6F, 0xB9, 0x90, 0xFF,\n\t0x6B, 0xB7, 0x8D, 0xFF, 0x67, 0xB5, 0x8A, 0xFF, 0x65, 0xB3, 0x87, 0xFF,\n\t0x63, 0xB2, 0x86, 0xFF, 0x59, 0xAC, 0x7E, 0xFF, 0x3B, 0x98, 0x64, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x97, 0x63, 0x18,\n\t0x3A, 0x97, 0x63, 0xFF, 0x4B, 0xA2, 0x72, 0xFF, 0x6B, 0xB7, 0x8D, 0xFF,\n\t0x66, 0xB4, 0x89, 0xFF, 0x62, 0xB2, 0x86, 0xFF, 0x5F, 0xB0, 0x83, 0xFF,\n\t0x5D, 0xAF, 0x81, 0xFF, 0x54, 0xA8, 0x79, 0xFF, 0x3A, 0x97, 0x63, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x38, 0x95, 0x61, 0x1D, 0x38, 0x95, 0x61, 0xFF, 0x47, 0x9F, 0x6E, 0xFF,\n\t0x62, 0xB2, 0x86, 0xFF, 0x5D, 0xAF, 0x82, 0xFF, 0x5A, 0xAD, 0x7E, 0xFF,\n\t0x57, 0xAB, 0x7C, 0xFF, 0x4F, 0xA5, 0x75, 0xFF, 0x38, 0x95, 0x61, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x37, 0x94, 0x60, 0x1D, 0x37, 0x94, 0x60, 0xFF,\n\t0x44, 0x9D, 0x6B, 0xFF, 0x5A, 0xAD, 0x7E, 0xFF, 0x55, 0xAA, 0x7B, 0xFF,\n\t0x51, 0xA8, 0x78, 0xFF, 0x4A, 0xA2, 0x71, 0xFF, 0x37, 0x94, 0x60, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x92, 0x5E, 0x22,\n\t0x35, 0x92, 0x5E, 0xFF, 0x40, 0x9A, 0x67, 0xFF, 0x51, 0xA8, 0x78, 0xFF,\n\t0x4C, 0xA5, 0x73, 0xFF, 0x45, 0x9F, 0x6C, 0xFF, 0x35, 0x92, 0x5E, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x34, 0x91, 0x5D, 0x22, 0x34, 0x91, 0x5D, 0xFF, 0x3D, 0x98, 0x65, 0xFF,\n\t0x4A, 0xA4, 0x71, 0xFF, 0x40, 0x9D, 0x69, 0xFF, 0x34, 0x91, 0x5D, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x32, 0x8F, 0x5B, 0x27, 0x32, 0x8F, 0x5B, 0xFF,\n\t0x3A, 0x96, 0x62, 0xFF, 0x3F, 0x9A, 0x67, 0xFF, 0x32, 0x8F, 0x5B, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x8E, 0x5A, 0x27,\n\t0x31, 0x8E, 0x5A, 0xFF, 0x3B, 0x96, 0x63, 0xFF, 0x31, 0x8E, 0x5A, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x30, 0x8D, 0x59, 0x27, 0x30, 0x8D, 0x59, 0xFF, 0x30, 0x8D, 0x59, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n};\n\nstatic const unsigned char hidelines_end14[784] = {\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x4A, 0xA7, 0x73, 0xFF, 0x49, 0xA6, 0x72, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xA5, 0x71, 0xFF,\n\t0x68, 0xB6, 0x8B, 0xFF, 0x47, 0xA4, 0x70, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x46, 0xA3, 0x6F, 0xFF, 0x64, 0xB3, 0x87, 0xFF, 0x8E, 0xCA, 0xA8, 0xFF,\n\t0x45, 0xA2, 0x6E, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x44, 0xA1, 0x6D, 0xFF, 0x60, 0xB0, 0x83, 0xFF,\n\t0x86, 0xC6, 0xA2, 0xFF, 0x86, 0xC5, 0xA2, 0xFF, 0x43, 0xA0, 0x6C, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xA0, 0x6C, 0xFF,\n\t0x5D, 0xAE, 0x81, 0xFF, 0x80, 0xC2, 0x9D, 0xFF, 0x7E, 0xC1, 0x9C, 0xFF,\n\t0x7D, 0xC1, 0x9B, 0xFF, 0x41, 0x9E, 0x6A, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x41, 0x9E, 0x6A, 0xFF, 0x5B, 0xAD, 0x7F, 0xFF, 0x7B, 0xBF, 0x99, 0xFF,\n\t0x78, 0xBE, 0x97, 0xFF, 0x76, 0xBD, 0x95, 0xFF, 0x75, 0xBC, 0x95, 0xFF,\n\t0x3F, 0x9C, 0x68, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x3F, 0x9C, 0x68, 0xFF, 0x59, 0xAB, 0x7D, 0xFF,\n\t0x79, 0xBE, 0x97, 0xFF, 0x74, 0xBB, 0x93, 0xFF, 0x70, 0xB9, 0x90, 0xFF,\n\t0x6E, 0xB8, 0x8F, 0xFF, 0x6D, 0xB8, 0x8E, 0xFF, 0x3D, 0x9A, 0x66, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x3D, 0x9A, 0x66, 0xFF, 0x51, 0xA6, 0x76, 0xFF, 0x72, 0xBA, 0x92, 0xFF,\n\t0x6D, 0xB8, 0x8E, 0xFF, 0x68, 0xB5, 0x8A, 0xFF, 0x66, 0xB4, 0x88, 0xFF,\n\t0x64, 0xB3, 0x87, 0xFF, 0x3C, 0x99, 0x65, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x3B, 0x98, 0x64, 0xFF, 0x4C, 0xA3, 0x72, 0xFF, 0x67, 0xB4, 0x89, 0xFF,\n\t0x61, 0xB1, 0x84, 0xFF, 0x5E, 0xAF, 0x82, 0xFF, 0x5C, 0xAE, 0x80, 0xFF,\n\t0x3A, 0x97, 0x63, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x39, 0x96, 0x62, 0xFF, 0x46, 0x9F, 0x6D, 0xFF, 0x5B, 0xAE, 0x80, 0xFF,\n\t0x56, 0xAB, 0x7C, 0xFF, 0x54, 0xAA, 0x7A, 0xFF, 0x38, 0x95, 0x61, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x37, 0x94, 0x60, 0xFF, 0x41, 0x9B, 0x68, 0xFF, 0x4F, 0xA7, 0x76, 0xFF,\n\t0x4C, 0xA5, 0x73, 0xFF, 0x36, 0x93, 0x5F, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x35, 0x92, 0x5E, 0xFF, 0x3C, 0x97, 0x64, 0xFF, 0x44, 0xA1, 0x6D, 0xFF,\n\t0x34, 0x91, 0x5D, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x32, 0x8F, 0x5B, 0xFF, 0x3A, 0x96, 0x63, 0xFF, 0x32, 0x8F, 0x5B, 0xFF,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x30, 0x8D, 0x59, 0xFF, 0x30, 0x8D, 0x59, 0xFF, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00\n};\n"
  },
  {
    "path": "src/scintillaeditview.cpp",
    "content": "﻿#include \"scintillaeditview.h\"\r\n\r\n#include \"common.h\"\r\n#include \"rgba_icons.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"styleset.h\"\r\n#include \"qtlangset.h\"\r\n#include \"findwin.h\"\r\n#include \"filemanager.h\"\r\n#include \"shortcutkeymgr.h\"\r\n#include \"markdownview.h\"\r\n\r\n#include <Scintilla.h>\r\n#include <SciLexer.h>\r\n#include <QImage>\r\n#include <Qsci/qscilexerpython.h>\r\n#include <Qsci/qscilexerasm.h>\r\n#include <Qsci/qscilexerbash.h>\r\n#include <Qsci/qscilexerbatch.h>\r\n#include <Qsci/qscilexercmake.h>\r\n#include <Qsci/qscilexercoffeescript.h>\r\n#include <Qsci/qscilexercpp.h>\r\n#include <Qsci/qscilexercsharp.h>\r\n#include <Qsci/qscilexercss.h>\r\n#include <Qsci/qscilexercustom.h>\r\n#include <Qsci/qscilexerd.h>\r\n#include <Qsci/qscilexerdiff.h>\r\n#include <Qsci/qscilexeredifact.h>\r\n#include <Qsci/qscilexerfortran.h>\r\n#include <Qsci/qscilexerfortran77.h>\r\n#include <Qsci/qscilexerhtml.h>\r\n#include <Qsci/qscilexeridl.h>\r\n#include <Qsci/qscilexerjava.h>\r\n#include <Qsci/qscilexerjavascript.h>\r\n#include <Qsci/qscilexerjson.h>\r\n#include <Qsci/qscilexerlua.h>\r\n#include <Qsci/qscilexermakefile.h>\r\n#include <Qsci/qscilexermarkdown.h>\r\n#include <Qsci/qscilexermatlab.h>\r\n#include <Qsci/qscilexeroctave.h>\r\n#include <Qsci/qscilexerpascal.h>\r\n#include <Qsci/qscilexerperl.h>\r\n#include <Qsci/qscilexerpo.h>\r\n#include <Qsci/qscilexerpostscript.h>\r\n#include <Qsci/qscilexerpov.h>\r\n#include <Qsci/qscilexerproperties.h>\r\n#include <Qsci/qscilexerpython.h>\r\n#include <Qsci/qscilexerr.h>\r\n#include <Qsci/qscilexerruby.h>\r\n#include <Qsci/qscilexerspice.h>\r\n#include <Qsci/qscilexersql.h>\r\n#include <Qsci/qscilexertcl.h>\r\n#include <Qsci/qscilexertex.h>\r\n#include <Qsci/qscilexerverilog.h>\r\n#include <Qsci/qscilexervhdl.h>\r\n#include <Qsci/qscilexerxml.h>\r\n#include <Qsci/qscilexeryaml.h>\r\n#include <Qsci/qscilexergo.h>\r\n#include <Qsci/qscilexertext.h>\r\n#include <Qsci/qscilexernsis.h>\r\n#include <Qsci/qscilexerglobal.h>\r\n#include <Qsci/qscilexerrust.h>\r\n#include <Qsci/qscilexervb.h>\r\n#include <QScrollBar>\r\n#include <unordered_set>\r\n#include <QClipboard>\r\n#include <QDesktopServices>\r\n#include <QDebug>\r\n#include <QMessageBox>\r\n\r\n\r\n#include <stdexcept>\r\n#include <mutex>\r\n\r\n\r\n\r\n// initialize the static variable\r\n#define DEFAULT_FONT_NAME \"Courier New\" //\"Microsoft YaHei\"  \r\n\r\n\r\nint ScintillaEditView::s_tabLens = 4;\r\n//默认不使用tab，使用space替换\r\nbool ScintillaEditView::s_noUseTab = true;\r\n\r\nint ScintillaEditView::s_bigTextSize = 100;\r\n\r\n\r\nconst int ScintillaEditView::_SC_MARGE_LINENUMBER = 0;\r\nconst int ScintillaEditView::_SC_MARGE_SYBOLE = 1;\r\nconst int ScintillaEditView::_SC_MARGE_FOLDER = 2;\r\n\r\n//大文本是分块显示，务必要把真实的偏移行号给显示出来\r\nconst int SC_BIGTEXT_LINES = 0;\r\n\r\nconst int MAX_PRE_NEXT_TIMES = 30;\r\n\r\nconst int INIT_BIG_RO_TEXT_LINE_WIDTH = 8;\r\n\r\n#ifdef Q_OS_WIN\r\nLanguageName ScintillaEditView::langNames[L_EXTERNAL + 1] = {\r\n{QString(\"normal\"),\t\tQString(\"Normal QString\"),\t\tQString(\"Normal text file\"),\t\t\t\t\t\t\t\tL_TXT,\t\t\tSCLEX_NULL},\r\n{QString(\"php\"),\t\t\tQString(\"PHP\"),\t\t\t\tQString(\"PHP Hypertext Preprocessor file\"),\t\t\t\tL_PHP,\t\t\tSCLEX_HTML},\r\n{QString(\"c\"),\t\t\t\tQString(\"C\"),\t\t\t\t\tQString(\"C source file\"),\t\t\t\t\t\t\t\t\tL_C,\t\t\tSCLEX_CPP},\r\n{QString(\"cpp\"),\t\t\tQString(\"C++\"),\t\t\t\tQString(\"C++ source file\"),\t\t\t\t\t\t\t\tL_CPP,\t\t\tSCLEX_CPP},\r\n{QString(\"cs\"),\t\t\tQString(\"C#\"),\t\t\t\t\tQString(\"C# source file\"),\t\t\t\t\t\t\t\t\tL_CS,\t\t\tSCLEX_CPP},\r\n{QString(\"objc\"),\t\t\tQString(\"Objective-C\"),\t\tQString(\"Objective-C source file\"),\t\t\t\t\t\tL_OBJC,\t\t\tSCLEX_CPP},\r\n{QString(\"java\"),\t\t\tQString(\"Java\"),\t\t\t\tQString(\"Java source file\"),\t\t\t\t\t\t\t\tL_JAVA,\t\t\tSCLEX_CPP},\r\n{QString(\"rc\"),\t\t\tQString(\"RC\"),\t\t\t\t\tQString(\"Windows Resource file\"),\t\t\t\t\t\t\tL_RC,\t\t\tSCLEX_CPP},\r\n{QString(\"html\"),\t\t\tQString(\"HTML\"),\t\t\t\tQString(\"Hyper Text Markup Language file\"),\t\t\t\tL_HTML,\t\t\tSCLEX_HTML},\r\n{QString(\"xml\"),\t\t\tQString(\"XML\"),\t\t\t\tQString(\"eXtensible Markup Language file\"),\t\t\t\tL_XML,\t\t\tSCLEX_XML},\r\n{QString(\"makefile\"),\t\tQString(\"Makefile\"),\t\t\tQString(\"Makefile\"),\t\t\t\t\t\t\t\t\t\tL_MAKEFILE,\t\tSCLEX_MAKEFILE},\r\n{QString(\"pascal\"),\t\tQString(\"Pascal\"),\t\t\t\tQString(\"Pascal source file\"),\t\t\t\t\t\t\t\tL_PASCAL,\t\tSCLEX_PASCAL},\r\n{QString(\"batch\"),\t\t\tQString(\"Batch\"),\t\t\t\tQString(\"Batch file\"),\t\t\t\t\t\t\t\t\t\tL_BATCH,\t\tSCLEX_BATCH},\r\n{QString(\"ini\"),\t\t\tQString(\"ini\"),\t\t\t\tQString(\"MS ini file\"),\t\t\t\t\t\t\t\t\tL_INI,\t\t\tSCLEX_PROPERTIES},\r\n{QString(\"nfo\"),\t\t\tQString(\"NFO\"),\t\t\t\tQString(\"MSDOS Style/ASCII Art\"),\t\t\t\t\t\t\tL_ASCII,\t\tSCLEX_NULL},\r\n{QString(\"udf\"),\t\t\tQString(\"udf\"),\t\t\t\tQString(\"User Defined language file\"),\t\t\t\t\t\tL_USER,\t\t\tSCLEX_USER},\r\n{QString(\"asp\"),\t\t\tQString(\"ASP\"),\t\t\t\tQString(\"Active Server Pages script file\"),\t\t\t\tL_ASP,\t\t\tSCLEX_HTML},\r\n{QString(\"sql\"),\t\t\tQString(\"SQL\"),\t\t\t\tQString(\"Structured Query Language file\"),\t\t\t\t\tL_SQL,\t\t\tSCLEX_SQL},\r\n{QString(\"vb\"),\t\t\tQString(\"Visual Basic\"),\t\tQString(\"Visual Basic file\"),\t\t\t\t\t\t\t\tL_VB,\t\t\tSCLEX_VB},\r\n{QString(\"javascript\"),\tQString(\"JavaScript\"),\t\t\tQString(\"JavaScript file\"),\t\t\t\t\t\t\t\tL_JS,\t\t\tL_JAVASCRIPT},\r\n{QString(\"css\"),\t\t\tQString(\"CSS\"),\t\t\t\tQString(\"Cascade Style Sheets File\"),\t\t\t\t\t\tL_CSS,\t\t\tSCLEX_CSS},\r\n{QString(\"perl\"),\t\t\tQString(\"Perl\"),\t\t\t\tQString(\"Perl source file\"),\t\t\t\t\t\t\t\tL_PERL,\t\t\tSCLEX_PERL},\r\n{QString(\"python\"),\t\tQString(\"Python\"),\t\t\t\tQString(\"Python file\"),\t\t\t\t\t\t\t\t\tL_PYTHON,\t\tSCLEX_PYTHON},\r\n{QString(\"lua\"),\t\t\tQString(\"Lua\"),\t\t\t\tQString(\"Lua source File\"),\t\t\t\t\t\t\t\tL_LUA,\t\t\tSCLEX_LUA},\r\n{QString(\"tex\"),\t\t\tQString(\"TeX\"),\t\t\t\tQString(\"TeX file\"),\t\t\t\t\t\t\t\t\t\tL_TEX,\t\t\tSCLEX_TEX},\r\n{QString(\"fortran\"),\t\tQString(\"Fortran free form\"),\tQString(\"Fortran free form source file\"),\t\t\t\t\tL_FORTRAN,\t\tSCLEX_FORTRAN},\r\n{QString(\"bash\"),\t\t\tQString(\"Shell\"),\t\t\t\tQString(\"Unix script file\"),\t\t\t\t\t\t\t\tL_BASH,\t\t\tSCLEX_BASH},\r\n{QString(\"actionscript\"),\tQString(\"ActionScript\"),\t\tQString(\"Flash ActionScript file\"),\t\t\t\t\t\tL_FLASH,\t\tSCLEX_CPP},\r\n{QString(\"nsis\"),\t\t\tQString(\"NSIS\"),\t\t\t\tQString(\"Nullsoft Scriptable Install System script file\"),\tL_NSIS,\t\t\tSCLEX_NSIS},\r\n{QString(\"tcl\"),\t\t\tQString(\"TCL\"),\t\t\t\tQString(\"Tool Command Language file\"),\t\t\t\t\t\tL_TCL,\t\t\tSCLEX_TCL},\r\n{QString(\"lisp\"),\t\t\tQString(\"Lisp\"),\t\t\t\tQString(\"List Processing language file\"),\t\t\t\t\tL_LISP,\t\t\tSCLEX_LISP},\r\n{QString(\"scheme\"),\t\tQString(\"Scheme\"),\t\t\t\tQString(\"Scheme file\"),\t\t\t\t\t\t\t\t\tL_SCHEME,\t\tSCLEX_LISP},\r\n{QString(\"asm\"),\t\t\tQString(\"Assembly\"),\t\t\tQString(\"Assembly language source file\"),\t\t\t\t\tL_ASM,\t\t\tSCLEX_ASM},\r\n{QString(\"diff\"),\t\t\tQString(\"Diff\"),\t\t\t\tQString(\"Diff file\"),\t\t\t\t\t\t\t\t\t\tL_DIFF,\t\t\tSCLEX_DIFF},\r\n{QString(\"props\"),\t\t\tQString(\"Properties file\"),\tQString(\"Properties file\"),\t\t\t\t\t\t\t\tL_PROPS,\t\tSCLEX_PROPERTIES},\r\n{QString(\"postscript\"),\tQString(\"PostScript\"),\t\t\tQString(\"PostScript file\"),\t\t\t\t\t\t\t\tL_PS,\t\t\tSCLEX_PS},\r\n{QString(\"ruby\"),\t\t\tQString(\"Ruby\"),\t\t\t\tQString(\"Ruby file\"),\t\t\t\t\t\t\t\t\t\tL_RUBY,\t\t\tSCLEX_RUBY},\r\n{QString(\"smalltalk\"),\t\tQString(\"Smalltalk\"),\t\t\tQString(\"Smalltalk file\"),\t\t\t\t\t\t\t\t\tL_SMALLTALK,\tSCLEX_SMALLTALK},\r\n{QString(\"vhdl\"),\t\t\tQString(\"VHDL\"),\t\t\t\tQString(\"VHSIC Hardware Description Language file\"),\t\tL_VHDL,\t\t\tSCLEX_VHDL},\r\n{QString(\"kix\"),\t\t\tQString(\"KiXtart\"),\t\t\tQString(\"KiXtart file\"),\t\t\t\t\t\t\t\t\tL_KIX,\t\t\tSCLEX_KIX},\r\n{QString(\"autoit\"),\t\tQString(\"AutoIt\"),\t\t\t\tQString(\"AutoIt\"),\t\t\t\t\t\t\t\t\t\t\tL_AU3,\t\t\tSCLEX_AU3},\r\n{QString(\"caml\"),\t\t\tQString(\"CAML\"),\t\t\t\tQString(\"Categorical Abstract Machine Language\"),\t\t\tL_CAML,\t\t\tSCLEX_CAML},\r\n{QString(\"ada\"),\t\t\tQString(\"Ada\"),\t\t\t\tQString(\"Ada file\"),\t\t\t\t\t\t\t\t\t\tL_ADA,\t\t\tSCLEX_ADA},\r\n{QString(\"verilog\"),\t\tQString(\"Verilog\"),\t\t\tQString(\"Verilog file\"),\t\t\t\t\t\t\t\t\tL_VERILOG,\t\tSCLEX_VERILOG},\r\n{QString(\"matlab\"),\t\tQString(\"MATLAB\"),\t\t\t\tQString(\"MATrix LABoratory\"),\t\t\t\t\t\t\t\tL_MATLAB,\t\tSCLEX_MATLAB},\r\n{QString(\"haskell\"),\t\tQString(\"Haskell\"),\t\t\tQString(\"Haskell\"),\t\t\t\t\t\t\t\t\t\tL_HASKELL,\t\tSCLEX_HASKELL},\r\n{QString(\"inno\"),\t\t\tQString(\"Inno Setup\"),\t\t\tQString(\"Inno Setup script\"),\t\t\t\t\t\t\t\tL_INNO,\t\t\tSCLEX_INNOSETUP},\r\n{QString(\"searchResult\"),\tQString(\"Internal Search\"),\tQString(\"Internal Search\"),\t\t\t\t\t\t\t\tL_SEARCHRESULT,\tSCLEX_SEARCHRESULT},\r\n{QString(\"cmake\"),\t\t\tQString(\"CMake\"),\t\t\t\tQString(\"CMake file\"),\t\t\t\t\t\t\t\t\t\tL_CMAKE,\t\tSCLEX_CMAKE},\r\n{QString(\"yaml\"),\t\t\tQString(\"YAML\"),\t\t\t\tQString(\"YAML Ain't Markup Language\"),\t\t\t\t\t\tL_YAML,\t\t\tSCLEX_YAML},\r\n{QString(\"cobol\"),\t\t\tQString(\"COBOL\"),\t\t\t\tQString(\"COmmon Business Oriented Language\"),\t\t\t\tL_COBOL,\t\tSCLEX_COBOL},\r\n{QString(\"gui4cli\"),\t\tQString(\"Gui4Cli\"),\t\t\tQString(\"Gui4Cli file\"),\t\t\t\t\t\t\t\t\tL_GUI4CLI,\t\tSCLEX_GUI4CLI},\r\n{QString(\"d\"),\t\t\t\tQString(\"D\"),\t\t\t\t\tQString(\"D programming language\"),\t\t\t\t\t\t\tL_D,\t\t\tSCLEX_D},\r\n{QString(\"powershell\"),\tQString(\"PowerShell\"),\t\t\tQString(\"Windows PowerShell\"),\t\t\t\t\t\t\t\tL_POWERSHELL,\tSCLEX_POWERSHELL},\r\n{QString(\"r\"),\t\t\t\tQString(\"R\"),\t\t\t\t\tQString(\"R programming language\"),\t\t\t\t\t\t\tL_R,\t\t\tSCLEX_R},\r\n{QString(\"jsp\"),\t\t\tQString(\"JSP\"),\t\t\t\tQString(\"JavaServer Pages script file\"),\t\t\t\t\tL_JSP,\t\t\tSCLEX_HTML},\r\n{QString(\"coffeescript\"),\tQString(\"CoffeeScript\"),\t\tQString(\"CoffeeScript file\"),\t\t\t\t\t\t\t\tL_COFFEESCRIPT,\tSCLEX_COFFEESCRIPT},\r\n{QString(\"json\"),\t\t\tQString(\"json\"),\t\t\t\tQString(\"JSON file\"),\t\t\t\t\t\t\t\t\t\tL_JSON,\t\t\tSCLEX_JSON },\r\n{QString(\"javascript.js\"), QString(\"JavaScript\"),\t\t\tQString(\"JavaScript file\"),\t\t\t\t\t\t\t\tL_JAVASCRIPT,\tSCLEX_CPP },\r\n{QString(\"fortran77\"),\t\tQString(\"Fortran fixed form\"),\tQString(\"Fortran fixed form source file\"),\t\t\t\t\tL_FORTRAN_77,\tSCLEX_F77},\r\n{QString(\"baanc\"),\t\t\tQString(\"BaanC\"),\t\t\t\tQString(\"BaanC File\"),\t\t\t\t\t\t\t\t\t\tL_BAANC,\t\tSCLEX_BAAN },\r\n{QString(\"srec\"),\t\t\tQString(\"S-Record\"),\t\t\tQString(\"Motorola S-Record binary data\"),\t\t\t\t\tL_SREC,\t\t\tSCLEX_SREC},\r\n{QString(\"ihex\"),\t\t\tQString(\"Intel HEX\"),\t\t\tQString(\"Intel HEX binary data\"),\t\t\t\t\t\t\tL_IHEX,\t\t\tSCLEX_IHEX},\r\n{QString(\"tehex\"),\t\t\tQString(\"Tektronix extended HEX\"),\tQString(\"Tektronix extended HEX binary data\"),\t\t\tL_TEHEX,\t\tSCLEX_TEHEX},\r\n{QString(\"swift\"),\t\t\tQString(\"Swift\"),              QString(\"Swift file\"),\t\t\t\t\t\t\t\t\t\tL_SWIFT,\t\tSCLEX_CPP},\r\n{QString(\"asn1\"),\t\t\tQString(\"ASN.1\"),\t\t\t\tQString(\"Abstract Syntax Notation One file\"),\t\t\t\tL_ASN1,\t\t\tSCLEX_ASN1},\r\n{QString(\"avs\"),\t\t\tQString(\"AviSynth\"),\t\t\tQString(\"AviSynth scripts files\"),\t\t\t\t\t\t\tL_AVS,\t\t\tSCLEX_AVS},\r\n{QString(\"blitzbasic\"),\tQString(\"BlitzBasic\"),\t\t\tQString(\"BlitzBasic file\"),\t\t\t\t\t\t\t\tL_BLITZBASIC,\tSCLEX_BLITZBASIC},\r\n{QString(\"purebasic\"),\t\tQString(\"PureBasic\"),\t\t\tQString(\"PureBasic file\"),\t\t\t\t\t\t\t\t\tL_PUREBASIC,\tSCLEX_PUREBASIC},\r\n{QString(\"freebasic\"),\t\tQString(\"FreeBasic\"),\t\t\tQString(\"FreeBasic file\"),\t\t\t\t\t\t\t\t\tL_FREEBASIC,\tSCLEX_FREEBASIC},\r\n{QString(\"csound\"),\t\tQString(\"Csound\"),\t\t\t\tQString(\"Csound file\"),\t\t\t\t\t\t\t\t\tL_CSOUND,\t\tSCLEX_CSOUND},\r\n{QString(\"erlang\"),\t\tQString(\"Erlang\"),\t\t\t\tQString(\"Erlang file\"),\t\t\t\t\t\t\t\t\tL_ERLANG,\t\tSCLEX_ERLANG},\r\n{QString(\"escript\"),\t\tQString(\"ESCRIPT\"),\t\t\tQString(\"ESCRIPT file\"),\t\t\t\t\t\t\t\t\tL_ESCRIPT,\t\tSCLEX_ESCRIPT},\r\n{QString(\"forth\"),\t\t\tQString(\"Forth\"),\t\t\t\tQString(\"Forth file\"),\t\t\t\t\t\t\t\t\t\tL_FORTH,\t\tSCLEX_FORTH},\r\n{QString(\"latex\"),\t\t\tQString(\"LaTeX\"),\t\t\t\tQString(\"LaTeX file\"),\t\t\t\t\t\t\t\t\t\tL_LATEX,\t\tSCLEX_LATEX},\r\n{QString(\"mmixal\"),\t\tQString(\"MMIXAL\"),\t\t\t\tQString(\"MMIXAL file\"),\t\t\t\t\t\t\t\t\tL_MMIXAL,\t\tSCLEX_MMIXAL},\r\n{QString(\"nim\"),\t\t\tQString(\"Nim\"),\t\t\t\tQString(\"Nim file\"),\t\t\t\t\t\t\t\t\t\tL_NIM,\t\t\tSCLEX_NIMROD},\r\n{QString(\"nncrontab\"),\t\tQString(\"Nncrontab\"),\t\t\tQString(\"extended crontab file\"),\t\t\t\t\t\t\tL_NNCRONTAB,\tSCLEX_NNCRONTAB},\r\n{QString(\"oscript\"),\t\tQString(\"OScript\"),\t\t\tQString(\"OScript source file\"),\t\t\t\t\t\t\tL_OSCRIPT,\t\tSCLEX_OSCRIPT},\r\n{QString(\"rebol\"),\t\t\tQString(\"REBOL\"),\t\t\t\tQString(\"REBOL file\"),\t\t\t\t\t\t\t\t\t\tL_REBOL,\t\tSCLEX_REBOL},\r\n{QString(\"registry\"),\t\tQString(\"registry\"),\t\t\tQString(\"registry file\"),\t\t\t\t\t\t\t\t\tL_REGISTRY,\t\tSCLEX_REGISTRY},\r\n{QString(\"rust\"),\t\t\tQString(\"Rust\"),\t\t\t\tQString(\"Rust file\"),\t\t\t\t\t\t\t\t\t\tL_RUST,\t\t\tSCLEX_RUST},\r\n{QString(\"spice\"),\t\t\tQString(\"Spice\"),\t\t\t\tQString(\"spice file\"),\t\t\t\t\t\t\t\t\t\tL_SPICE,\t\tSCLEX_SPICE},\r\n{QString(\"txt2tags\"),\t\tQString(\"txt2tags\"),\t\t\tQString(\"txt2tags file\"),\t\t\t\t\t\t\t\t\tL_TXT2TAGS,\t\tSCLEX_TXT2TAGS},\r\n{QString(\"visualprolog\"),\tQString(\"Visual Prolog\"),\t\tQString(\"Visual Prolog file\"),\t\t\t\t\t\t\t\tL_VISUALPROLOG,\tSCLEX_VISUALPROLOG},\r\n{QString(\"typescript\"),\tQString(\"TypeScript\"),\t\t\tQString(\"TypeScript file\"),\t\t\t\t\t\t\t\tL_TYPESCRIPT,\tSCLEX_CPP},\r\n{QString(\"edifact\"),\tQString(\"Edifact\"),\t\t\tQString(\"Edifact file\"),\t\t\t\t\t\t\t\tL_EDIFACT,\tSCLEX_EDIFACT},\r\n{QString(\"markdown\"),\tQString(\"Markdown\"),\t\t\tQString(\"Markdown file\"),\t\t\t\t\t\t\t\tL_MARKDOWN,\tSCLEX_MARKDOWN},\r\n{QString(\"octave\"),\tQString(\"Octave\"),\t\t\tQString(\"Octave file\"),\t\t\t\t\t\t\t\tL_OCTAVE,\tSCLEX_OCTAVE},\r\n{QString(\"po\"),\tQString(\"PO\"),\t\t\tQString(\"PO file\"),\t\t\t\t\t\t\t\tL_PO,\tSCLEX_PO},\r\n{QString(\"pov\"),\tQString(\"POV\"),\t\t\tQString(\"POV file\"),\t\t\t\t\t\t\t\tL_POV,\tSCLEX_POV},\r\n{QString(\"avs\"),\tQString(\"AVS\"),\t\t\tQString(\"AVS file\"),\t\t\t\t\t\t\t\tL_AVS,\tSCLEX_AVS},\r\n{QString(\"idl\"),\tQString(\"IDL\"),\t\t\tQString(\"IDL file\"),\t\t\t\t\t\t\t\tL_IDL,\tSCLEX_IDL},\r\n{QString(\"go\"),\tQString(\"GO\"),\t\t\tQString(\"GO file\"),\t\t\t\t\t\t\t\tL_GO,\tSCLEX_GO},\r\n{QString(\"txt\"),\tQString(\"TEXT\"),\t\t\tQString(\"TXT file\"),\t\t\t\t\t\t\t\tL_TXT,\tSCLEX_TXT},\r\n{QString(\"ext\"),\t\t\tQString(\"External\"),\t\t\tQString(\"External\"),\t\t\t\t\tL_EXTERNAL,\t\tSCLEX_NULL}\r\n};\r\n#endif\r\n\r\nScintillaEditView::ScintillaEditView(QWidget *parent,bool isBigText)\r\n\t: QsciScintilla(parent), m_NoteWin(nullptr), m_preFirstLineNum(0), m_curPos(0), m_hasHighlight(false), m_bookmarkPng(nullptr), m_styleColorMenu(nullptr), m_isBigText(isBigText), m_curBlockLineStartNum(0)\r\n#ifdef Q_OS_WIN\r\n    ,m_isInTailStatus(false)\r\n#endif\r\n{\r\n\tinit();\r\n}\r\n\r\nScintillaEditView::~ScintillaEditView()\r\n{\r\n\treleaseAllMark();\r\n\r\n\tif (m_bookmarkPng != nullptr)\r\n\t{\r\n\t\tdelete m_bookmarkPng;\r\n}\r\n#ifdef Q_OS_WIN\r\n\tdeleteTailFileThread();\r\n#endif\r\n}\r\n\r\nScintillaEditView::ScintillaEditView():QsciScintilla(nullptr),m_NoteWin(nullptr), m_preFirstLineNum(0), m_curPos(0), m_hasHighlight(false), m_bookmarkPng(nullptr), m_styleColorMenu(nullptr), m_isBigText(false), m_curBlockLineStartNum(0)\r\n#ifdef Q_OS_WIN\r\n, m_isInTailStatus(false)\r\n#endif\r\n{\r\n\tm_pScintillaFunc = (SCINTILLA_FUNC)this->SendScintillaPtrResult(SCI_GETDIRECTFUNCTION);\r\n\tm_pScintillaPtr = (SCINTILLA_PTR)this->SendScintillaPtrResult(SCI_GETDIRECTPOINTER);\r\n\r\n\r\n\tif (!m_pScintillaFunc)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTFUNCTION message failed\");\r\n\t}\r\n\r\n\tif (!m_pScintillaPtr)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTPOINTER message failed\");\r\n\t}\r\n}\r\n\r\nScintillaEditView* ScintillaEditView::createEditForSearch()\r\n{\r\n\treturn new ScintillaEditView();\r\n}\r\n\r\n\r\n//截获ESC键盘，让界面去退出当前的子界面\r\nvoid ScintillaEditView::keyPressEvent(QKeyEvent* event)\r\n{\r\n\tswitch (event->key())\r\n\t{\r\n\tcase Qt::Key_Escape:\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tm_NoteWin->on_quitActiveWindow();\r\n\t\t}\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn QsciScintilla::keyPressEvent(event);\r\n}\r\n\r\n\r\nvoid ScintillaEditView::mouseReleaseEvent(QMouseEvent* ev)\r\n{\r\n\tQsciScintilla::mouseReleaseEvent(ev);\r\n\r\n\tif (ev->button() == Qt::LeftButton)\r\n\t{\r\n\t\tif (hasSelectedText())\r\n\t\t{\r\n\t\t\temit delayWork();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid ScintillaEditView::setBigTextMode(bool isBigText)\r\n{\r\n\tm_isBigText = isBigText;\r\n}\r\n\r\nvoid ScintillaEditView::setLexer(QsciLexer * lexer)\r\n{\r\n\tQsciScintilla::setLexer(lexer);\r\n\r\n\tif (lexer != nullptr && lexer->lexerId() == L_TXT)\r\n\t{\r\n\t\tshowMargin(_SC_MARGE_FOLDER,false);\r\n\t\tupdateThemes();\r\n\t}\r\n\telse if(lexer != nullptr && lexer->lexerId() != L_TXT)\r\n\t{\r\n\t\tshowMargin(_SC_MARGE_FOLDER, true);\r\n\t\tupdateThemes();\r\n}\r\n}\r\n\r\nvoid ScintillaEditView::setNoteWidget(QWidget * win)\r\n{\r\n\tCCNotePad* pv = dynamic_cast<CCNotePad*>(win);\r\n\tif (pv != nullptr)\r\n\t{\r\n\t\tm_NoteWin = pv;\r\n\r\n\t\tif (m_styleColorMenu != nullptr)\r\n\t\t{\r\n\t\t\tm_styleColorMenu->addAction(tr(\"Clear Select\"), m_NoteWin, &CCNotePad::slot_clearWordHighlight);\r\n\t\t\tm_styleColorMenu->addAction(tr(\"Clear All\"), m_NoteWin, &CCNotePad::slot_clearMark);\r\n}\r\n}\r\n}\r\n\r\n\r\nvoid ScintillaEditView::updateLineNumbersMargin(bool forcedToHide) {\r\n\tif (forcedToHide)\r\n\t{\r\n\t\texecute(SCI_SETMARGINWIDTHN, _SC_MARGE_LINENUMBER, (sptr_t)0);\r\n\t}\r\n\telse \r\n\t{\r\n\t\tupdateLineNumberWidth(0);\r\n\t}\r\n\r\n}\r\n\r\n//根据现有滚动条来决定是否更新屏幕线宽长度。每滚动200个单位必须调整line宽\r\nvoid ScintillaEditView::autoAdjustLineWidth(int xScrollValue)\r\n{\r\n\t//如果是大文本模式，行号长度目前是固定不变的，不需要动态调整。\r\n\tif (m_isBigText)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tif (std::abs(xScrollValue - m_preFirstLineNum) > 200)\r\n\t{\r\n\t\tm_preFirstLineNum = xScrollValue;\r\n\r\n\t\tupdateLineNumberWidth(1);\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::updateLineNumberWidth(int lineNumberMarginDynamicWidth)\r\n{\r\n\tif (!m_isBigText)\r\n\t{\r\n\tauto linesVisible = execute(SCI_LINESONSCREEN);\r\n\tif (linesVisible)\r\n\t{\r\n\t\tint nbDigits = 0;\r\n\r\n\t\t\tif (lineNumberMarginDynamicWidth != 0)\r\n\t\t{\r\n\t\t\tint firstVisibleLineVis = execute(SCI_GETFIRSTVISIBLELINE);\r\n\t\t\tint lastVisibleLineVis = linesVisible + firstVisibleLineVis + 1;\r\n\t\t\tint lastVisibleLineDoc = execute(SCI_DOCLINEFROMVISIBLE, (long)lastVisibleLineVis);\r\n\r\n\t\t\tnbDigits = nbDigitsFromNbLines(lastVisibleLineDoc);\r\n\t\t\tnbDigits = nbDigits < 4 ? 4 : nbDigits;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tint nbLines = execute(SCI_GETLINECOUNT);\r\n\t\tnbDigits = nbDigitsFromNbLines(nbLines);\r\n\t\t\tnbDigits = nbDigits < 4 ? 4 : nbDigits;\r\n\t\t}\r\n\r\n\t\tauto pixelWidth = 6 + nbDigits * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<sptr_t>(\"8\"));\r\n\t\texecute(SCI_SETMARGINWIDTHN, _SC_MARGE_LINENUMBER, pixelWidth);\r\n\r\n\t\t\t\r\n\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tint pixelWidth = 6 + INIT_BIG_RO_TEXT_LINE_WIDTH * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<sptr_t>(\"8\"));\r\n\t\texecute(SCI_SETMARGINWIDTHN, SC_BIGTEXT_LINES, pixelWidth);\r\n\t}\r\n\t\r\n}\r\n\r\n\r\nvoid ScintillaEditView::showMargin(int whichMarge, bool willBeShowed)\r\n{\r\n\tif (whichMarge == _SC_MARGE_LINENUMBER)\r\n\t{\r\n\t\tbool forcedToHide = !willBeShowed;\r\n\t\tupdateLineNumbersMargin(forcedToHide);\r\n\t}\r\n\telse\r\n\t{\r\n\t//后面再来解决像素的问题\r\n\t\t//DPIManager& dpiManager = NppParameters::getInstance()._dpiManager;\r\n\t\tint width = 3;\r\n\t\tif (whichMarge == _SC_MARGE_SYBOLE)\r\n\t\t\twidth = 14;\r\n\t\telse if (whichMarge == _SC_MARGE_FOLDER)\r\n\t\t\twidth = 14;\r\n\t\texecute(SCI_SETMARGINWIDTHN, whichMarge, willBeShowed ? width : 0);\r\n\t}\r\n}\r\n\r\nsptr_t ScintillaEditView::execute(quint32 Msg, uptr_t wParam, sptr_t lParam) const {\r\n\ttry {\r\n\t\treturn (m_pScintillaFunc) ? m_pScintillaFunc(m_pScintillaPtr, Msg, wParam, lParam) : -1;\r\n\t}\r\n\tcatch (...)\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n};\r\n\r\n\r\nQString ScintillaEditView::getTagByLexerId(int lexerId)\r\n{\r\n\tswitch (lexerId)\r\n\t{\r\n\tcase L_PHP:\r\n\t\treturn \"php\";\r\n\r\n\tcase L_HTML:\r\n\t\treturn (\"html\");\r\n\r\n\tcase L_ASP:\r\n\t\treturn (\"asp\");\r\n\r\n\tcase L_JSP:\r\n\t\treturn(\"jsp\");\r\n\r\n\tcase L_C:\r\n\t\treturn(\"c\");\r\n\r\n\tcase L_RC:\r\n\t\treturn(\"rc\");\r\n\r\n\tcase L_CPP:\r\n\t\treturn \"cpp\";\r\n\r\n\tcase L_OBJC:\r\n\t\treturn (\"objc\");\r\n\t\r\n\tcase L_CS:\r\n\t\treturn (\"csharp\");\r\n\r\n\tcase L_JAVA:\r\n\t\treturn (\"java\");\r\n\r\n\tcase L_XML:\r\n\t\treturn \"xml\";\r\n\r\n\tcase L_MAKEFILE:\r\n\t\treturn \"makefile\";\r\n\r\n\tcase L_PASCAL:\r\n\t\treturn \"pascal\";\r\n\r\n\tcase L_BATCH:\r\n\t\treturn \"batch\";\r\n\r\n\tcase L_INI:\r\n\t\treturn(\"ini\");\r\n\r\n\tcase L_ASCII:\r\n\t\tbreak;\r\n\r\n\tcase L_USER:\r\n\t\tbreak;\r\n\r\n\tcase L_SQL:\r\n\t\treturn \"sql\";\r\n\t\t\r\n\tcase L_VB:\r\n\t\treturn \"vb\";\r\n\r\n\tcase L_CSS:\r\n\t\treturn \"css\";\r\n\r\n\tcase L_PERL:\r\n\t\treturn \"perl\";\r\n\r\n\tcase L_PYTHON:\r\n\t\treturn \"python\";\r\n\r\n\tcase L_LUA:\r\n\t\treturn \"lua\";\r\n\r\n\tcase L_TEX:\r\n\t\tbreak;\r\n\tcase L_FORTRAN:\r\n\t\treturn \"fortran\";\r\n\r\n\tcase L_BASH:\r\n\t\treturn \"bash\";\r\n\r\n\tcase L_FLASH:\r\n\t\treturn(\"flash\");\r\n\r\n\tcase L_MATLAB:\r\n\t\treturn (\"matlab\");\r\n\r\n\tcase L_MARKDOWN:\r\n\t\treturn(\"markdown\");\r\n\r\n\tcase L_NSIS:\r\n\t\treturn \"nsis\";\r\n\r\n\tcase L_TCL:\r\n\t\treturn \"tcl\";\r\n\r\n\tcase L_LISP:\r\n\t\tbreak;\r\n\tcase L_SCHEME:\r\n\t\tbreak;\r\n\tcase L_ASM:\r\n\t\tbreak;\r\n\tcase L_DIFF:\r\n\t\treturn \"diff\";\r\n\r\n\tcase L_PROPS:\r\n\t\treturn \"props\";\r\n\r\n\tcase L_PS:\r\n\t\tbreak;\r\n\r\n\tcase L_R:\r\n\t\treturn \"r\";\r\n\r\n\tcase L_RUBY:\r\n\t\treturn \"ruby\";\r\n\r\n\tcase L_SMALLTALK:\r\n\t\tbreak;\r\n\tcase L_VHDL:\r\n\t\treturn \"vhdl\";\r\n\r\n\tcase L_KIX:\r\n\t\tbreak;\r\n\tcase L_AU3:\r\n\t\tbreak;\r\n\tcase L_CAML:\r\n\t\tbreak;\r\n\tcase L_ADA:\r\n\t\tbreak;\r\n\tcase L_VERILOG:\r\n\t\treturn \"verilog\";\r\n\r\n\tcase L_HASKELL:\r\n\t\tbreak;\r\n\tcase L_INNO:\r\n\t\tbreak;\r\n\tcase L_SEARCHRESULT:\r\n\t\tbreak;\r\n\tcase L_CMAKE:\r\n\t\treturn \"cmake\";\r\n\r\n\tcase L_YAML:\r\n\t\treturn \"yaml\";\r\n\r\n\tcase L_COBOL:\r\n\t\tbreak;\r\n\tcase L_GUI4CLI:\r\n\t\tbreak;\r\n\tcase L_D:\r\n\t\tbreak;\r\n\tcase L_POWERSHELL:\r\n\t\tbreak;\r\n\r\n\tcase L_COFFEESCRIPT:\r\n\t\treturn \"coffeescript\";\r\n\r\n\tcase L_JSON:\r\n\t\treturn \"json\";\r\n\r\n\tcase L_JAVASCRIPT:\r\n\t\treturn (\"javascript\");\r\n\r\n\tcase L_FORTRAN_77:\r\n\t\treturn \"fortran77\";\r\n\r\n\tcase L_BAANC:\r\n\t\tbreak;\r\n\tcase L_SREC:\r\n\t\tbreak;\r\n\tcase L_IHEX:\r\n\t\tbreak;\r\n\tcase L_TEHEX:\r\n\t\tbreak;\r\n\tcase L_SWIFT:\r\n\t\tbreak;\r\n\tcase L_ASN1:\r\n\t\tbreak;\r\n\t//case L_AVS:\r\n\t//\treturn \"avs\";\r\n\r\n\tcase L_BLITZBASIC:\r\n\t\tbreak;\r\n\tcase L_PUREBASIC:\r\n\t\tbreak;\r\n\tcase L_FREEBASIC:\r\n\t\tbreak;\r\n\tcase L_CSOUND:\r\n\t\tbreak;\r\n\tcase L_ERLANG:\r\n\t\tbreak;\r\n\tcase L_ESCRIPT:\r\n\t\tbreak;\r\n\tcase L_FORTH:\r\n\t\tbreak;\r\n\tcase L_LATEX:\r\n\t\tbreak;\r\n\tcase L_MMIXAL:\r\n\t\tbreak;\r\n\tcase L_NIM:\r\n\t\tbreak;\r\n\tcase L_NNCRONTAB:\r\n\t\tbreak;\r\n\tcase L_OSCRIPT:\r\n\t\tbreak;\r\n\tcase L_REBOL:\r\n\t\tbreak;\r\n\tcase L_REGISTRY:\r\n\t\tbreak;\r\n\tcase L_RUST:\r\n\t\treturn \"rust\";\r\n\tcase L_SPICE:\r\n\t\treturn \"spice\";\r\n\tcase L_TXT2TAGS:\r\n\t\tbreak;\r\n\tcase L_VISUALPROLOG:\r\n\t\tbreak;\r\n\tcase L_TYPESCRIPT:\r\n\t\treturn(\"typescript\");\r\n\r\n\tcase L_EXTERNAL:\r\n\t\tbreak;\r\n\tcase L_IDL:\r\n\t\treturn(\"idl\");\r\n\r\n\tcase L_GO:\r\n\t\treturn(\"go\");\r\n\r\n\tcase L_GLOBAL:\r\n\t\treturn(\"AllGlobal\");\r\n\r\n\tcase L_TXT:\r\n\t\treturn(\"txt\");\r\n\r\n\tcase L_USER_TXT:\r\n\t\tbreak;\r\n\tcase L_USER_CPP:\r\n\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\t\r\n\treturn \"\";\r\n}\r\n\r\n//status : true 表示存在， false 表示不存在\r\n//tag，只有在用户自定义语法是，才需要给出。内部自带的语法不需要给出\r\n//isOrigin:是否原生lexer，即不读取用户修改过的配置风格\r\nQsciLexer* ScintillaEditView::createLexer(int lexerId, QString tag, bool isOrigin, int styleId)\r\n{\r\n\tQsciLexer* ret = nullptr;\r\n\r\n\tswitch (lexerId)\r\n\t{\r\n\tcase L_PHP:\r\n\t\tret = new QsciLexerHTML();\r\n\t\tret->setLexerTag(\"php\");\r\n\t\tret->setCommentLineSymbol(\"//\");\r\n\t\tret->setCommentStart(\"/*\");\r\n\t\tret->setCommentEnd(\"*/\");\r\n\t\tbreak;\r\n\tcase L_HTML:\r\n\t\tret = new QsciLexerHTML();\r\n\t\tret->setLexerTag(\"html\");\r\n\t\tbreak;\r\n\tcase L_ASP:\r\n\t\tret = new QsciLexerHTML();\r\n\t\tret->setLexerTag(\"asp\");\r\n\t\tbreak;\r\n\tcase L_JSP:\r\n\t\tret = new QsciLexerHTML();\r\n\t\tret->setLexerTag(\"jsp\");\r\n\t\tbreak;\r\n\tcase L_C:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tret->setLexerTag(\"c\");\r\n\t\tbreak;\r\n\tcase L_RC:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tret->setLexerTag(\"rc\");\r\n\t\tbreak;\r\n\tcase L_CPP:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tbreak;\r\n\tcase L_OBJC:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tret->setLexerTag(\"objc\");\r\n\t\tbreak;\r\n\tcase L_CS:\r\n\t\tret = new QsciLexerCSharp();\r\n\t\tret->setLexerTag(\"csharp\");\r\n\t\tbreak;\r\n\tcase L_JAVA:\r\n\t\tret = new QsciLexerJava();\r\n\t\tret->setLexerTag(\"java\");\r\n\t\tbreak;\r\n\tcase L_XML:\r\n\t\tret = new QsciLexerXML();\r\n\t\tbreak;\r\n\tcase L_MAKEFILE:\r\n\t\tret = new QsciLexerMakefile();\r\n\t\tbreak;\r\n\tcase L_PASCAL:\r\n\t\tret = new QsciLexerPascal();\r\n\t\tbreak;\r\n\tcase L_BATCH:\r\n\t\tret = new QsciLexerBatch();\r\n\t\tbreak;\r\n\tcase L_INI:\r\n\t\tret = new QsciLexerProperties();\r\n\t\tret->setLexerTag(\"ini\");\r\n\t\tbreak;\r\n\tcase L_ASCII:\r\n\t\tbreak;\r\n\tcase L_USER:\r\n\t\tbreak;\r\n\tcase L_SQL:\r\n\t\tret = new QsciLexerSQL();\r\n\t\tbreak;\r\n\tcase L_VB:\r\n\t\tret = new QsciLexerVB();\r\n\t\tbreak;\r\n\tcase L_CSS:\r\n\t\tret = new QsciLexerCSS();\r\n\t\tbreak;\r\n\tcase L_PERL:\r\n\t\tret = new QsciLexerPerl();\r\n\t\tbreak;\r\n\tcase L_PYTHON:\r\n\t\tret = new QsciLexerPython();\r\n\t\tbreak;\r\n\tcase L_LUA:\r\n\t\tret = new QsciLexerLua();\r\n\t\tbreak;\r\n\tcase L_TEX:\r\n\t\tbreak;\r\n\tcase L_FORTRAN:\r\n\t\tret = new QsciLexerFortran();\r\n\t\tbreak;\r\n\tcase L_BASH:\r\n\t\tret = new QsciLexerBash();\r\n\t\tbreak;\r\n\tcase L_FLASH:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tret->setLexerTag(\"flash\");\r\n\t\tbreak;\r\n\tcase L_MATLAB:\r\n\t\tret = new QsciLexerMatlab();\r\n\t\tbreak;\r\n\tcase L_MARKDOWN:\r\n\t\tret = new QsciLexerMarkdown();\r\n\t\tbreak;\r\n\tcase L_NSIS:\r\n\t\tret = new QsciLexerNsis();\r\n\t\tbreak;\r\n\tcase L_TCL:\r\n\t\tret = new QsciLexerTCL();\r\n\t\tbreak;\r\n\tcase L_LISP:\r\n\t\tbreak;\r\n\tcase L_SCHEME:\r\n\t\tbreak;\r\n\tcase L_ASM:\r\n\t\tret = new QsciLexerAsm();\r\n\t\tbreak;\r\n\tcase L_DIFF:\r\n\t\tret = new QsciLexerDiff();\r\n\t\tbreak;\r\n\tcase L_PROPS:\r\n\t\tret = new QsciLexerProperties();\r\n\t\tbreak;\r\n\tcase L_PS:\r\n\t\tbreak;\r\n\tcase L_R:\r\n\t\tret = new QsciLexerR();\r\n\t\tbreak;\r\n\tcase L_RUBY:\r\n\t\tret = new QsciLexerRuby();\r\n\t\tbreak;\r\n\tcase L_SMALLTALK:\r\n\t\tbreak;\r\n\tcase L_VHDL:\r\n\t\tret = new QsciLexerVHDL();\r\n\t\tbreak;\r\n\tcase L_KIX:\r\n\t\tbreak;\r\n\tcase L_AU3:\r\n\t\tbreak;\r\n\tcase L_CAML:\r\n\t\tbreak;\r\n\tcase L_ADA:\r\n\t\tbreak;\r\n\tcase L_VERILOG:\r\n\t\tret = new QsciLexerVerilog();\r\n\t\tbreak;\r\n\tcase L_HASKELL:\r\n\t\tbreak;\r\n\tcase L_INNO:\r\n\t\tbreak;\r\n\tcase L_SEARCHRESULT:\r\n\t\tbreak;\r\n\tcase L_CMAKE:\r\n\t\tret = new QsciLexerCMake();\r\n\t\tbreak;\r\n\tcase L_YAML:\r\n\t\tret = new QsciLexerYAML();\r\n\t\tbreak;\r\n\tcase L_COBOL:\r\n\t\tbreak;\r\n\tcase L_GUI4CLI:\r\n\t\tbreak;\r\n\tcase L_D:\r\n\t\tbreak;\r\n\tcase L_POWERSHELL:\r\n\t\tbreak;\r\n\r\n\tcase L_COFFEESCRIPT:\r\n\t\tret = new QsciLexerCoffeeScript();\r\n\t\tbreak;\r\n\tcase L_JSON:\r\n\t\tret = new QsciLexerJSON();\r\n\t\tbreak;\r\n\tcase L_JAVASCRIPT:\r\n\t\tret = new QsciLexerJavaScript();\r\n\t\tret->setLexerTag(\"javascript\");\r\n\t\tbreak;\r\n\tcase L_FORTRAN_77:\r\n\t\tret = new QsciLexerFortran77();\r\n\t\tbreak;\r\n\tcase L_BAANC:\r\n\t\tbreak;\r\n\tcase L_SREC:\r\n\t\tbreak;\r\n\tcase L_IHEX:\r\n\t\tbreak;\r\n\tcase L_TEHEX:\r\n\t\tbreak;\r\n\tcase L_SWIFT:\r\n\t\tbreak;\r\n\tcase L_ASN1:\r\n\t\tbreak;\r\n\tcase L_AVS:\r\n\t\t//ret = new QsciLexerAVS();\r\n\t\tbreak;\r\n\tcase L_BLITZBASIC:\r\n\t\tbreak;\r\n\tcase L_PUREBASIC:\r\n\t\tbreak;\r\n\tcase L_FREEBASIC:\r\n\t\tbreak;\r\n\tcase L_CSOUND:\r\n\t\tbreak;\r\n\tcase L_ERLANG:\r\n\t\tbreak;\r\n\tcase L_ESCRIPT:\r\n\t\tbreak;\r\n\tcase L_FORTH:\r\n\t\tbreak;\r\n\tcase L_LATEX:\r\n\t\tbreak;\r\n\tcase L_MMIXAL:\r\n\t\tbreak;\r\n\tcase L_NIM:\r\n\t\tbreak;\r\n\tcase L_NNCRONTAB:\r\n\t\tbreak;\r\n\tcase L_OSCRIPT:\r\n\t\tbreak;\r\n\tcase L_REBOL:\r\n\t\tbreak;\r\n\tcase L_REGISTRY:\r\n\t\tbreak;\r\n\tcase L_RUST:\r\n\t\tret = new QsciLexerRust();\r\n\t\tbreak;\r\n\tcase L_SPICE:\r\n\t\tret = new QsciLexerSpice();\r\n\t\tbreak;\r\n\tcase L_TXT2TAGS:\r\n\t\tbreak;\r\n\tcase L_VISUALPROLOG:\r\n\t\tbreak;\r\n\tcase L_TYPESCRIPT:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tret->setLexerTag(\"typescript\");\r\n\t\tbreak;\r\n\tcase L_EXTERNAL:\r\n\t\tbreak;\r\n\tcase L_IDL:\r\n\t\tret = new QsciLexerIDL();\r\n\t\tret->setLexerTag(\"idl\");\r\n\t\tbreak;\r\n\tcase L_GO:\r\n\t\tret = new QsciLexerGO();\r\n\t\tret->setLexerTag(\"go\");\r\n\t\tbreak;\r\n\tcase L_GLOBAL:\r\n\t\tret = new QsciLexerGlobal();\r\n\t\tret->setLexerTag(\"AllGlobal\");\r\n\t\tbreak;\r\n\tcase L_TXT:\r\n\t\tret = new QsciLexerText();\r\n\t\tret->setLexerTag(\"txt\");\r\n\t\tbreak;\r\n\tcase L_USER_TXT:\r\n\t\t//使用txt的语法解析器，但是自定义关键字，自定义tag语言标签。下同\r\n\t\tret = new QsciLexerText();\r\n\t\tret->setLexerTag(tag);\r\n\t\tret->setIsUserDefineKeywords(true);\r\n\t\tbreak;\r\n\tcase L_USER_CPP:\r\n\t\tret = new QsciLexerCPP();\r\n\t\tret->setLexerTag(tag);\r\n\t\tret->setIsUserDefineKeywords(true);\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\tif (ret != nullptr)\r\n\t{\r\n\t\tret->setLexerId(lexerId);\r\n\r\n\t\tif (!isOrigin)\r\n\t\t{\r\n\t\t\tQtLangSet::readLangSettings(ret, ret->lexerTag(), styleId);\r\n\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t//如果是读取原生风格，则只有默认主题具备，其余主题要从模板中加载\r\n\t\t\tQtLangSet::readLangOriginSettings(ret, ret->lexerTag(), styleId);\r\n\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n\r\nvoid ScintillaEditView::appendMarkRecord(FindRecords * r)\r\n{\r\n\tm_curMarkList.append(r);\r\n}\r\n\r\nvoid ScintillaEditView::releaseAllMark()\r\n{\r\n\tfor (int i = 0; i < m_curMarkList.size(); ++i)\r\n\t{\r\n\t\tdelete m_curMarkList.at(i);\r\n\t}\r\n\tm_curMarkList.clear();\r\n}\r\n\r\nQList<FindRecords *>& ScintillaEditView::getCurMarkRecord()\r\n{\r\n\treturn m_curMarkList;\r\n}\r\n\r\n////调整颜色\r\n//void ScintillaEditView::adjuctSkinStyle()\r\n//{\r\n//\tif (StyleSet::m_curStyleId != BLACK_SE)\r\n//\t{\r\n//\t\tsetMarginsForegroundColor(QColor(0x80, 0x80, 0x80)); //默认0x80, 0x80, 0x80\r\n//\t}\r\n//\telse\r\n//\t{\r\n//\t\tsetMarginsForegroundColor(QColor(0xde, 0xde, 0xde)); //默认0x80, 0x80, 0x80\r\n//\t}\r\n//\tsetMarginsBackgroundColor(StyleSet::marginsBackgroundColor);\r\n//\r\n//\tsetMarginBackgroundColor(_SC_MARGE_SYBOLE, StyleSet::bookmarkBkColor);\r\n//\tsetFoldMarginColors(StyleSet::marginsBackgroundColor, StyleSet::marginsBackgroundColor);\r\n//\tsetStyleOptions();\r\n//}\r\n\r\nvoid ScintillaEditView::setIndentGuide(bool willBeShowed)\r\n{\r\n\tQsciLexer* pLexer = this->lexer(); \r\n\tif (nullptr == pLexer)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\tconst int docIndentMode = (pLexer->lexerId() == L_PYTHON) ? SC_IV_LOOKFORWARD : SC_IV_LOOKBOTH;\r\n\texecute(SCI_SETINDENTATIONGUIDES, willBeShowed ? docIndentMode : SC_IV_NONE);\r\n\r\n\tQsciScintilla::setIndentGuide(willBeShowed);\r\n}\r\n\r\nvoid ScintillaEditView::init()\r\n{\r\n\tm_pScintillaFunc = (SCINTILLA_FUNC)this->SendScintillaPtrResult(SCI_GETDIRECTFUNCTION);\r\n\tm_pScintillaPtr = (SCINTILLA_PTR)this->SendScintillaPtrResult(SCI_GETDIRECTPOINTER);\r\n\r\n\r\n\tif (!m_pScintillaFunc)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTFUNCTION message failed\");\r\n\t}\r\n\r\n\tif (!m_pScintillaPtr)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTPOINTER message failed\");\r\n\t}\r\n\r\n\tif (m_isBigText)\r\n\t{\r\n\t\tthis->setMarginType(SC_BIGTEXT_LINES, TextMargin);\r\n\t}\r\n\telse\r\n\t{\r\n\t//开启行号marge\r\n\tsetMarginLineNumbers(_SC_MARGE_LINENUMBER, true);\r\n\t\tshowMargin(_SC_MARGE_LINENUMBER, true);\r\n\t//通过fold发现，尽量使用qscint的功能，因为他做了大量封装和简化\r\n\tsetFolding(BoxedTreeFoldStyle, _SC_MARGE_FOLDER);\r\n\t}\r\n\r\n\t//行号、符号、折叠。中间符号留一个很小的间隔。用于圆形的标记符号\r\n\tshowMargin(_SC_MARGE_SYBOLE, true);\r\n\tsetMarginType(_SC_MARGE_SYBOLE, QsciScintilla::SymbolMarginColor);\r\n\r\n\tm_bookmarkPng = new QPixmap(QString(\":/Resources/img/bookmark.png\"));\r\n\tmarkerDefine(*m_bookmarkPng, _SC_MARGE_SYBOLE);\r\n\tsetMarginSensitivity(_SC_MARGE_SYBOLE, true);\r\n\tconnect(this, &QsciScintilla::marginClicked, this, &ScintillaEditView::slot_bookMarkClicked);\r\n\r\n\t\r\n\t//开始括号匹配，比如html的<>，开启前后这类字段的匹配\r\n\tsetBraceMatching(SloppyBraceMatch);\r\n\r\n\t//自动补全效果不好，不开启20211017\r\n\t//setAutoCompletionSource(QsciScintilla::AcsAPIs);   //设置源，自动补全所有地方出现的\r\n\t//setAutoCompletionCaseSensitivity(true);   //设置自动补全大小写敏感\r\n\t//setAutoCompletionThreshold(1);    //设置每输入一个字符就会出现自动补全的提示\r\n\r\n\t//设置字体\r\n\tQFont font(DEFAULT_FONT_NAME, 11, QFont::Normal);\r\n\tsetFont(font);\r\n\tsetMarginsFont(font);\r\n\t\r\n\texecute(SCI_SETTABWIDTH, ScintillaEditView::s_tabLens);\r\n\r\n\t//使用空格替换tab\r\n\tsetIndentationsUseTabs(!ScintillaEditView::s_noUseTab);\r\n\r\n\t//这个无比要设置false，否则双击后高亮单词，拷贝时会拷贝多个选择。\r\n\texecute(SCI_SETMULTIPLESELECTION, true);\r\n\texecute(SCI_SETADDITIONALSELECTIONTYPING, true);\r\n\t\r\n\texecute(SCI_SETMULTIPASTE, SC_MULTIPASTE_EACH);\r\n\texecute(SCI_SETADDITIONALCARETSVISIBLE, true);\r\n\r\n\texecute(SCI_SETVIRTUALSPACEOPTIONS, SCVS_RECTANGULARSELECTION);\r\n\r\n\t//execute(SCI_SETSELFORE, true, 0x0);\r\n\t//execute(SCI_SETSELBACK, true, 0x9bff9b); //0x00ffff原来的黄色\r\n\r\n\t//设置查找到Mark的风格。定义其前景颜色和形状\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_EXT5, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_EXT5, 130);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_EXT5, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT5, 0x00ffff);\r\n\r\n\t//设置查找到Mark的风格。定义其前景颜色和形状\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_EXT4, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_EXT4, 130);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_EXT4, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT4, 0xffff00);\r\n\r\n\t//设置查找到Mark的风格。定义其前景颜色和形状\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_EXT3, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_EXT3, 130);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_EXT3, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT3, 0x0080ff);\r\n\r\n\t//设置查找到Mark的风格。定义其前景颜色和形状\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_EXT2, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_EXT2, 130);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_EXT2, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT2, 0xff0080);\r\n\r\n\t//设置查找到Mark的风格。定义其前景颜色和形状\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_EXT1, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_EXT1, 130);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_EXT1, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT1, 0xff8000);\r\n\r\n\t//下面这两个是HTML文件的tag高亮的表示。\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_TAGMATCH, INDIC_STRAIGHTBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_TAGMATCH, 100);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_TAGMATCH, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_TAGMATCH, 0xff0080);\r\n\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_TAGATTR, INDIC_STRAIGHTBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_TAGATTR, 100);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_TAGATTR, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_TAGATTR, 0x00ffff);\r\n\r\n\t//双击后同样的字段进行高亮\r\n\texecute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_SMART, INDIC_ROUNDBOX);\r\n\texecute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_SMART, 100);\r\n\texecute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_SMART, false);\r\n\t//execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_SMART, 0x00ff00);\r\n\r\n\t//设置空白字符的默认前景色\r\n\t//execute(SCI_SETWHITESPACEFORE, true, 0x6ab5ff); \r\n\texecute(SCI_SETWHITESPACESIZE,3);\r\n\r\n\tsetCaretLineVisible(true);\r\n\r\n\t//统一设置全局前景、背景、字体大小三个要素\r\n\tupdateThemes();\r\n\r\n\t//记住position变化。不能使用cursorPositionChanged，因为他的列考虑uft8字符，中文一个也算1个，每次列不一定相等。\r\n\t//要使用自定义的cursorPosChange，跟踪的是SCI_GETCURRENTPOS 的值。换行才会触发这个cursorPosChange。自定义的信号\r\n\tconnect(this,&QsciScintilla::cursorPosChange,this,&ScintillaEditView::slot_linePosChanged, Qt::QueuedConnection);\r\n\r\n\tconnect(this, &QsciScintilla::selectionChanged, this, &ScintillaEditView::slot_clearHightWord, Qt::QueuedConnection);\r\n\r\n\texecute(SCI_SETSCROLLWIDTH, 1);\r\n\r\n\tconnect(this->verticalScrollBar(), &QScrollBar::valueChanged, this, &ScintillaEditView::slot_scrollYValueChange);\r\n\tconnect(this, &ScintillaEditView::delayWork, this,&ScintillaEditView::slot_delayWork, Qt::QueuedConnection);\r\n\r\n\t//设置换行符号的格式\r\n#if defined(Q_OS_WIN)\r\n\texecute(SCI_SETEOLMODE, SC_EOL_CRLF);\r\n#elif !defined(Q_OS_MAC)\r\n\texecute(SCI_SETEOLMODE, SC_EOL_CR);\r\n#elif !defined(Q_OS_UNIX)\r\n\texecute(SCI_SETEOLMODE, SC_EOL_LF);\r\n#endif\r\n\r\n\t//开启新行自动缩进\r\n\tsetAutoIndent(true);\r\n\r\n\t//开启后可以保证长行在滚动条下完整显示\r\n\texecute(SCI_SETSCROLLWIDTHTRACKING, true);\r\n\r\n}\r\n\r\n//大文本不能显示行号，其实显示的是每一行的地址。\r\n//因为要跳转，所以没法实时计算当前位置所在的行号\r\nvoid ScintillaEditView::showBigTextLineAddr(qint64 fileOffset)\r\n{\r\n\tint nbDigits = 0;\r\n\r\n\tif (fileOffset < 0xffffffff)\r\n\t{\r\n\t\tnbDigits = 9;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tnbDigits = 13;\r\n\t}\r\n\tchar* lineString = new char[17];\r\n\tmemset(lineString, 0, 17);\r\n\r\n\tauto pixelWidth = 6 + nbDigits * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<sptr_t>(\"8\"));\r\n\tthis->execute(SCI_SETMARGINWIDTHN, SC_BIGTEXT_LINES, pixelWidth);\r\n\r\n\tint lineNums = this->lines();\r\n\tint lineLength = 0;\r\n\r\n\tint style = STYLE_LINENUMBER;\r\n\r\n\tfor (int i = 0; i < lineNums; ++i)\r\n\t{\r\n\t\tmemset(lineString, 0, 17);\r\n\r\n\t\tlineLength = this->lineLength(i);\r\n\r\n\t\tif (fileOffset < 0xffffffff)\r\n\t\t{\r\n\t\t\tsprintf(lineString, \"%08llX \", fileOffset);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsprintf(lineString, \"%012llX \", fileOffset);\r\n\t\t}\r\n\r\n\t\tQString num(lineString);\r\n\r\n\t\tfileOffset += lineLength;\r\n\t\tthis->setMarginText(i, num, style);\r\n\t}\r\n\r\n\tdelete[]lineString;\r\n}\r\n\r\nvoid ScintillaEditView::clearSuperBitLineCache()\r\n{\r\n\tm_addrLineNumMap.clear();\r\n}\r\n//20230116新增，尽可能的还是显示行号。如果发生了跳转，则没有办法计算前面的行号，\r\n//则只能显示地址。如果没跳转，而是动态顺序翻页，则可以显示行号\r\n//20230201发现一个问题。底层qscint是按照utf8字节流来计算字符大小的。如果原始文件的编码\r\n//不是utf8,比如GBK LE等，则大小是不能统一的。这是一个显示问题，但是不影响什么。\r\n//通过this->lineLength(i);来计算是以utf8计算。\r\nvoid ScintillaEditView::showBigTextLineAddr(qint64 fileOffset, qint64 fileEndOffset)\r\n{\r\n\tint nbDigits = 0;\r\n\r\n\tif (fileOffset < 0xffffffff)\r\n\t{\r\n\t\tnbDigits = INIT_BIG_RO_TEXT_LINE_WIDTH;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tnbDigits = 12;\r\n\t}\r\n\tchar* lineString = new char[17];\r\n\tmemset(lineString, 0, 17);\r\n\r\n\tauto pixelWidth = 6 + nbDigits * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<sptr_t>(\"8\"));\r\n\tthis->execute(SCI_SETMARGINWIDTHN, SC_BIGTEXT_LINES, pixelWidth);\r\n\r\n\tint lineNums = this->lines();\r\n\tint lineLength = 0;\r\n\r\n\tint style = STYLE_LINENUMBER;\r\n\r\n\tquint32 startLineNumOffset = 0;\r\n\tquint32 endLineNumOffset = 0;\r\n\r\n\tbool isShowLineNum = false; //显示行号还是地址\r\n\tbool startLineExist = false;\r\n\tbool endLineExist = false;\r\n\r\n\r\n\tif (fileOffset == 0)\r\n\t{\r\n\t\tisShowLineNum = true;\r\n\t\tstartLineExist = true;\r\n\t\tm_addrLineNumMap.insert(0, 1); //0地址对应第1行\r\n\t\tm_addrLineNumMap.insert(fileEndOffset, lineNums+1); //fileEndOffset地址对应最后一行\r\n\t}\r\n\r\n\tif (lineNums >= 1)\r\n\t{\r\n\t\tif (m_addrLineNumMap.contains(fileOffset))\r\n\t\t{\r\n\t\t\tisShowLineNum = true;\r\n\t\t\tstartLineExist = true;\r\n\r\n\t\t\tstartLineNumOffset = m_addrLineNumMap.value(fileOffset);\r\n\t\t}\r\n\t\telse if (m_addrLineNumMap.contains(fileEndOffset))\r\n\t\t{\r\n\t\t\tisShowLineNum = true;\r\n\t\t\tendLineExist = true;\r\n\r\n\t\t\tendLineNumOffset = m_addrLineNumMap.value(fileEndOffset);\r\n\t\t}\r\n\t}\r\n\r\n\t//不存在行号，只能显示地址\r\n\tif (!isShowLineNum)\r\n\t{\r\n\t\tfor (int i = 0; i < lineNums; ++i)\r\n\t\t{\r\n\t\t\tmemset(lineString, 0, 17);\r\n\r\n\t\t\tlineLength = this->lineLength(i);\r\n\r\n\t\t\tif (fileOffset < 0xffffffff)\r\n\t\t\t{\r\n\t\t\t\tsprintf(lineString, \"%08llX \", fileOffset);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tsprintf(lineString, \"%012llX \", fileOffset);\r\n\t\t\t}\r\n\r\n\t\t\tQString num(lineString);\r\n\r\n\t\t\tfileOffset += lineLength;\r\n\t\t\tthis->setMarginText(i, num, style);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\t//首行地址存在，从头到尾增加行号\r\n\t\tif (startLineExist)\r\n\t\t{\r\n\t\r\n\t\t\tfor (int i = 0; i < lineNums; ++i)\r\n\t\t\t{\r\n\t\t\t\tif (i == (lineNums - 1))\r\n\t\t\t\t{\r\n\t\t\t\t\t//m_addrLineNumMap.insert(fileOffset, startLineNumOffset + i);\r\n\t\t\t\t\tm_addrLineNumMap.insert(fileEndOffset, startLineNumOffset + i);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmemset(lineString, 0, 17);\r\n\t\t\t\t//lineLength = this->lineLength(i);\r\n\t\t\t\tsprintf(lineString, \"%08lld \", startLineNumOffset + i);\r\n\t\t\t\tQString num(lineString);\r\n\r\n\t\t\t\t//fileOffset += lineLength;\r\n\t\t\t\tthis->setMarginText(i, num, style);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (endLineExist)\r\n\t\t{\r\n\r\n\t\t\tstartLineNumOffset = endLineNumOffset - lineNums;\r\n\r\n\t\t\tfor (int i = 0; i < lineNums; ++i)\r\n\t\t\t{\r\n\t\t\t\tif (i == 0)\r\n\t\t\t\t{\r\n\t\t\t\t\t//m_addrLineNumMap.insert(fileOffset, startLineNumOffset + i);\r\n\t\t\t\t\tm_addrLineNumMap.insert(fileOffset, startLineNumOffset + i);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmemset(lineString, 0, 17);\r\n\t\t\t\t//lineLength = this->lineLength(i);\r\n\t\t\t\tsprintf(lineString, \"%08lld \", startLineNumOffset + i);\r\n\t\t\t\tQString num(lineString);\r\n\r\n\t\t\t\t//fileOffset += lineLength;\r\n\t\t\t\tthis->setMarginText(i, num, style);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tdelete[]lineString;\r\n}\r\n\r\n//大文本只读模式下，显示其文本\r\nvoid ScintillaEditView::showBigTextRoLineNum(BigTextEditFileMgr* txtFile, int blockIndex)\r\n{\r\n\r\n\tBlockIndex bi = txtFile->blocks.at(blockIndex);\r\n\r\n\tint nbDigits = 0;\r\n\r\n\tif (bi.fileOffset < 0xffffffff)\r\n\t{\r\n\t\tnbDigits = INIT_BIG_RO_TEXT_LINE_WIDTH;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tnbDigits = 12;\r\n\t}\r\n\tchar* lineString = new char[17];\r\n\tmemset(lineString, 0, 17);\r\n\r\n\tauto pixelWidth = 6 + nbDigits * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<sptr_t>(\"8\"));\r\n\tthis->execute(SCI_SETMARGINWIDTHN, SC_BIGTEXT_LINES, pixelWidth);\r\n\r\n\tint lineNums = this->lines();\r\n\r\n\tqint64 curLineNum = bi.lineNumStart + 1;//行号从1开始\r\n\r\n\tint style = STYLE_LINENUMBER;\r\n\r\n\tfor (int i = 0; i < lineNums; ++i)\r\n\t{\r\n\t\tmemset(lineString, 0, 17);\r\n\r\n\t\tif (bi.fileOffset < 0xffffffff)\r\n\t\t{\r\n\t\t\tsprintf(lineString, \"%08lld \", curLineNum+i);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsprintf(lineString, \"%012lld \", curLineNum + i);\r\n\t\t}\r\n\r\n\t\tQString num(lineString);\r\n\t\tthis->setMarginText(i, num, style);\r\n\t}\r\n\r\n\tdelete[]lineString;\r\n}\r\n\r\nvoid ScintillaEditView::bookmarkNext(bool forwardScan)\r\n{\r\n\tsize_t lineno = this->getCurrentLineNumber();\r\n\tint sci_marker = SCI_MARKERNEXT;\r\n\tsize_t lineStart = lineno + 1;\t//Scan starting from next line\r\n\tint lineRetry = 0;\t\t\t\t//If not found, try from the beginning\r\n\tif (!forwardScan)\r\n\t{\r\n\t\tlineStart = lineno - 1;\t\t//Scan starting from previous line\r\n\t\tlineRetry = int(this->execute(SCI_GETLINECOUNT));\t//If not found, try from the end\r\n\t\tsci_marker = SCI_MARKERPREVIOUS;\r\n\t}\r\n\tint nextLine = int(this->execute(sci_marker, lineStart, 1 << _SC_MARGE_SYBOLE));\r\n\tif (nextLine < 0)\r\n\t\tnextLine = int(this->execute(sci_marker, lineRetry, 1 << _SC_MARGE_SYBOLE));\r\n\r\n\tif (nextLine < 0)\r\n\t\treturn;\r\n\r\n\tthis->execute(SCI_ENSUREVISIBLEENFORCEPOLICY, nextLine);\r\n\tthis->execute(SCI_GOTOLINE, nextLine);\r\n}\r\n\r\nvoid ScintillaEditView::bookmarkAdd(intptr_t lineno) const {\r\n\tif (lineno == -1)\r\n\t\tlineno = getCurrentLineNumber();\r\n\tif (!bookmarkPresent(lineno))\r\n\t\tthis->execute(SCI_MARKERADD, lineno, _SC_MARGE_SYBOLE);\r\n}\r\n\r\nvoid ScintillaEditView::bookmarkDelete(size_t lineno) const {\r\n\tif (lineno == -1)\r\n\t\tlineno = this->getCurrentLineNumber();\r\n\twhile (bookmarkPresent(lineno))\r\n\t\tthis->execute(SCI_MARKERDELETE, lineno, _SC_MARGE_SYBOLE);\r\n}\r\n\r\nbool ScintillaEditView::bookmarkPresent(intptr_t lineno) const {\r\n\tif (lineno == -1)\r\n\t\tlineno = this->getCurrentLineNumber();\r\n\tint state = this->execute(SCI_MARKERGET, lineno);\r\n\treturn ((state & (1 << _SC_MARGE_SYBOLE)) != 0);\r\n}\r\n\r\nvoid ScintillaEditView::bookmarkToggle(intptr_t lineno) const {\r\n\tif (lineno == -1)\r\n\t\tlineno = this->getCurrentLineNumber();\r\n\r\n\tif (bookmarkPresent(lineno))\r\n\t\tbookmarkDelete(lineno);\r\n\telse\r\n\t\tbookmarkAdd(lineno);\r\n}\r\n\r\nvoid ScintillaEditView::bookmarkAdd(QSet<int>& lineSet)\r\n{\r\n\tQSet<int>::const_iterator i = lineSet.constBegin();\r\n\twhile (i != lineSet.constEnd()) {\r\n\t\tbookmarkAdd(*i);\r\n\t\t++i;\r\n\t}\r\n}\r\n\r\n\r\nvoid ScintillaEditView::bookmarkClearAll() const {\r\n\tthis->execute(SCI_MARKERDELETEALL, _SC_MARGE_SYBOLE);\r\n}\r\n\r\nvoid ScintillaEditView::slot_bookMarkClicked(int margin, int line, Qt::KeyboardModifiers state)\r\n{\r\n\tif (margin == _SC_MARGE_SYBOLE)\r\n\t{\r\n\t\tbookmarkToggle(line);\r\n\t}\r\n}\r\n\r\nstd::mutex mark_mutex;\r\n\r\nQString ScintillaEditView::getMarkedLine(int ln)\r\n{\r\n\tauto lineLen = this->execute(SCI_LINELENGTH, ln);\r\n\tauto lineBegin = this->execute(SCI_POSITIONFROMLINE, ln);\r\n\r\n\treturn this->getGenericTextAsQString(lineBegin, lineBegin + lineLen);\r\n}\r\n\r\nvoid ScintillaEditView::deleteMarkedline(int ln)\r\n{\r\n\tint lineLen = static_cast<int32_t>(this->execute(SCI_LINELENGTH, ln));\r\n\tint lineBegin = static_cast<int32_t>(this->execute(SCI_POSITIONFROMLINE, ln));\r\n\tbookmarkDelete(ln);\r\n\r\n\tQByteArray str2replace;\r\n\r\n\tthis->replaceTarget(str2replace, lineBegin, lineBegin + lineLen);\r\n}\r\n\r\nvoid str2Cliboard(QString& text)\r\n{\r\n\tQClipboard* clip = QApplication::clipboard();\r\n\tclip->setText(text);\r\n}\r\n\r\nvoid ScintillaEditView::cutMarkedLines()\r\n{\r\n\tstd::lock_guard<std::mutex> lock(mark_mutex);\r\n\r\n\tint lastLine = this->lastZeroBasedLineNumber();\r\n\tQString globalStr;\r\n\r\n\tthis->execute(SCI_BEGINUNDOACTION);\r\n\tfor (int i = lastLine; i >= 0; i--)\r\n\t{\r\n\t\tif (bookmarkPresent(i))\r\n\t\t{\r\n\t\t\tQString currentStr = getMarkedLine(i) + globalStr;\r\n\t\t\tglobalStr = currentStr;\r\n\r\n\t\t\tdeleteMarkedline(i);\r\n\t\t}\r\n\t}\r\n\tthis->execute(SCI_ENDUNDOACTION);\r\n\tstr2Cliboard(globalStr);\r\n}\r\n\r\nvoid ScintillaEditView::copyMarkedLines()\r\n{\r\n\tint lastLine = this->lastZeroBasedLineNumber();\r\n\tQString globalStr;\r\n\tfor (int i = lastLine; i >= 0; i--)\r\n\t{\r\n\t\tif (bookmarkPresent(i))\r\n\t\t{\r\n\t\t\tQString currentStr = getMarkedLine(i) + globalStr;\r\n\t\t\tglobalStr = currentStr;\r\n\t\t}\r\n\t}\r\n\tstr2Cliboard(globalStr);\r\n}\r\n\r\nvoid ScintillaEditView::replaceMarkedline(int ln, QByteArray& str)\r\n{\r\n\tint lineBegin = static_cast<int32_t>(this->execute(SCI_POSITIONFROMLINE, ln));\r\n\tint lineEnd = static_cast<int32_t>(this->execute(SCI_GETLINEENDPOSITION, ln));\r\n\r\n\tthis->replaceTarget(str, lineBegin, lineEnd);\r\n}\r\n\r\nvoid ScintillaEditView::pasteToMarkedLines()\r\n{\r\n\tstd::lock_guard<std::mutex> lock(mark_mutex);\r\n\r\n\tQClipboard* clip = QApplication::clipboard();\r\n\tconst  QMimeData *mimeData = clip->mimeData();\r\n\tif (!mimeData->hasText())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tint lastLine = this->lastZeroBasedLineNumber();\r\n\tQString clipboardStr = clip->text();\r\n\r\n\tthis->execute(SCI_BEGINUNDOACTION);\r\n\tfor (int i = lastLine; i >= 0; i--)\r\n\t{\r\n\t\tif (bookmarkPresent(i))\r\n\t\t{\r\n\t\t\tQByteArray text = clipboardStr.toUtf8();\r\n\t\t\treplaceMarkedline(i, text);\r\n\t\t}\r\n\t}\r\n\tthis->execute(SCI_ENDUNDOACTION);\r\n}\r\n\r\n//Y方向滚动条值变化后的槽函数\r\nvoid ScintillaEditView::slot_scrollYValueChange(int value)\r\n{\r\n\t//使用滚动条翻页的效果并不好。暂时不放开\r\n\t/*bool changePage = false;\r\n\r\n\tqDebug() << value << verticalScrollBar()->maximum() << verticalScrollBar()->minimum();\r\n\r\n\tif (value >= this->verticalScrollBar()->maximum())\r\n\t{\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tchangePage = m_NoteWin->nextPage(this);\r\n\t\t}\r\n\t}\r\n\telse if (value == this->verticalScrollBar()->minimum())\r\n\t{\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tchangePage = m_NoteWin->prePage(this);\r\n\t\t}\r\n\t}*/\r\n\r\n\tif (value >= this->verticalScrollBar()->maximum())\r\n\t{\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tm_NoteWin->showChangePageTips(this);\r\n\t\t}\r\n\t}\r\n\telse if (value == this->verticalScrollBar()->minimum())\r\n\t{\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tm_NoteWin->showChangePageTips(this);\r\n\t\t}\r\n\t}\r\n\r\n\tslot_delayWork();\r\n\tautoAdjustLineWidth(value);\r\n\r\n}\r\n\r\n\r\nvoid ScintillaEditView::deleteMarkedLines(bool isMarked)\r\n{\r\n\tstd::lock_guard<std::mutex> lock(mark_mutex);\r\n\r\n\tint lastLine = this->lastZeroBasedLineNumber();\r\n\r\n\tthis->execute(SCI_BEGINUNDOACTION);\r\n\tfor (int i = lastLine; i >= 0; i--)\r\n\t{\r\n\t\tif (bookmarkPresent(i) == isMarked)\r\n\t\t\tdeleteMarkedline(i);\r\n\t}\r\n\tthis->execute(SCI_ENDUNDOACTION);\r\n}\r\n\r\nvoid ScintillaEditView::inverseMarks()\r\n{\r\n\tint lastLine = this->lastZeroBasedLineNumber();\r\n\tfor (int i = 0; i <= lastLine; ++i)\r\n\t{\r\n\t\tif (bookmarkPresent(i))\r\n\t\t{\r\n\t\t\tbookmarkDelete(i);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tbookmarkAdd(i);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::slot_linePosChanged(int /*line*/, int pos)\r\n{\r\n\t//避免循环触发的slot_positionChanged\r\n\tif (m_curPos == pos)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tm_prePosRecord.append(pos);\r\n\r\n\tif (m_prePosRecord.size() >= MAX_PRE_NEXT_TIMES)\r\n\t{\r\n\t\tm_prePosRecord.takeFirst();\r\n\t}\r\n}\r\n\r\n//回退一个位置\r\nbool ScintillaEditView::gotoPrePos()\r\n{\r\n\tif (m_prePosRecord.size() > 1)\r\n\t{\r\n\t\tint v = m_prePosRecord.takeLast();\r\n\t\tm_nextPosRecord.push_front(v);\r\n\r\n\t\tif (m_nextPosRecord.size() >= MAX_PRE_NEXT_TIMES)\r\n\t\t{\r\n\t\t\tm_nextPosRecord.takeLast();\r\n\t\t}\r\n\r\n\t\tint pos = m_prePosRecord.last();\r\n\r\n\t\t//下面这个函数比较坑，里面要循环Index次，每次返回的index值是不一样的。只能使用SCI_GOTOPOS可自定义的信号\r\n\t\t//setCursorPosition(pos.line, pos.index);\r\n\r\n\t\t//会循环触发slot_positionChanged\r\n\t\tthis->execute(SCI_GOTOPOS, pos);\r\n\t\tm_curPos = pos;\r\n\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nbool ScintillaEditView::gotoNextPos()\r\n{\r\n\tif (m_nextPosRecord.size() > 0)\r\n\t{\r\n\t\tint pos =  m_nextPosRecord.takeFirst();\r\n\t\tm_prePosRecord.append(pos);\r\n\t\tthis->execute(SCI_GOTOPOS, pos);\r\n\t\tm_curPos = pos;\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nconst int MAXLINEHIGHLIGHT = 400;\r\n\r\nvoid ScintillaEditView::clearIndicator(int indicatorNumber) {\r\n\tsize_t docStart = 0;\r\n\tsize_t docEnd = length();\r\n\texecute(SCI_SETINDICATORCURRENT, indicatorNumber);\r\n\texecute(SCI_INDICATORCLEARRANGE, docStart, docEnd - docStart);\r\n};\r\n\r\nvoid ScintillaEditView::slot_clearHightWord()\r\n{\r\n\tif (m_hasHighlight)\r\n\t{\r\n\t\tm_hasHighlight = false;\r\n\t\tclearIndicator(SCE_UNIVERSAL_FOUND_STYLE_SMART);\r\n\t}\r\n}\r\n\r\n\r\nintptr_t ScintillaEditView::searchInTarget(QByteArray& text2Find,size_t fromPos, size_t toPos) const\r\n{\r\n\texecute(SCI_SETTARGETRANGE, fromPos, toPos);\r\n\treturn execute(SCI_SEARCHINTARGET, text2Find.size(), reinterpret_cast<sptr_t>(text2Find.data()));\r\n}\r\n\r\nintptr_t ScintillaEditView::replaceTargetRegExMode(QByteArray& re, intptr_t fromTargetPos, intptr_t toTargetPos) const\r\n{\r\n\tif (fromTargetPos != -1 || toTargetPos != -1)\r\n\t{\r\n\t\texecute(SCI_SETTARGETRANGE, fromTargetPos, toTargetPos);\r\n\t}\r\n\treturn execute(SCI_REPLACETARGETRE, re.size(), reinterpret_cast<sptr_t>(re.data()));\r\n}\r\n\r\n\r\n//替换fromTargetPos 到 toTargetPos的内容为str2replace。\r\nintptr_t ScintillaEditView::replaceTarget(QByteArray& str2replace, intptr_t fromTargetPos, intptr_t toTargetPos) const\r\n{\r\n\tif (fromTargetPos != -1 || toTargetPos != -1)\r\n\t{\r\n\t\texecute(SCI_SETTARGETRANGE, fromTargetPos, toTargetPos);\r\n\t}\r\n\r\n\treturn execute(SCI_REPLACETARGET, str2replace.size(), reinterpret_cast<sptr_t>(str2replace.data()));\r\n}\r\n\r\n\r\nvoid ScintillaEditView::highlightViewWithWord(QString & word2Hilite)\r\n{\r\n\tint originalStartPos = execute(SCI_GETTARGETSTART);\r\n\tint originalEndPos = execute(SCI_GETTARGETEND);\r\n\r\n\tint firstLine = static_cast<int>(this->execute(SCI_GETFIRSTVISIBLELINE));\r\n\tint nbLineOnScreen = this->execute(SCI_LINESONSCREEN);\r\n\tint nbLines = std::min(nbLineOnScreen, MAXLINEHIGHLIGHT) + 1;\r\n\tint lastLine = firstLine + nbLines;\r\n\tint startPos = 0;\r\n\tint endPos = 0;\r\n\tauto currentLine = firstLine;\r\n\tint prevDocLineChecked = -1;\t//invalid start\r\n\r\n\r\n\tauto searchMark = [this](int &startPos, int &endPos, QByteArray &word2Mark){\r\n\r\n\t\tint targetStart = 0;\r\n\t\tint targetEnd = 0;\r\n\r\n\t\tlong lens = word2Mark.length();\r\n\r\n\t\twhile (targetStart >= 0)\r\n\t\t{\r\n\t\t\texecute(SCI_SETTARGETRANGE, startPos, endPos);\r\n\r\n\t\t\ttargetStart = SendScintilla(SCI_SEARCHINTARGET, lens, word2Mark.data());\r\n\r\n\t\t\tif (targetStart == -1 || targetStart == -2)\r\n\t\t\t\tbreak;\r\n\r\n\t\t\ttargetEnd = int(this->execute(SCI_GETTARGETEND));\r\n\r\n\t\t\tif (targetEnd > endPos)\r\n\t\t\t{\r\n\t\t\t\t//we found a result but outside our range, therefore do not process it\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tint foundTextLen = targetEnd - targetStart;\r\n\r\n\t\t\tif (foundTextLen > 0)\r\n\t\t\t{\r\n\r\n\t\t\t\tthis->execute(SCI_SETINDICATORCURRENT, SCE_UNIVERSAL_FOUND_STYLE_SMART);\r\n\t\t\t\tthis->execute(SCI_INDICATORFILLRANGE, targetStart, foundTextLen);\r\n\t\t\t}\r\n\r\n\t\t\tif (targetStart + foundTextLen == endPos)\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tstartPos = targetStart + foundTextLen;\r\n\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tQByteArray whatMark = word2Hilite.toUtf8();\r\n\r\n\tSendScintilla(SCI_SETSEARCHFLAGS,  SCFIND_MATCHCASE /*| SCFIND_WHOLEWORD*/ | SCFIND_REGEXP_SKIPCRLFASONE);\r\n\r\n\tfor (; currentLine < lastLine; ++currentLine)\r\n\t{\r\n\t\tint docLine = static_cast<int>(this->execute(SCI_DOCLINEFROMVISIBLE, currentLine));\r\n\t\tif (docLine == prevDocLineChecked)\r\n\t\t\tcontinue;\t//still on same line (wordwrap)\r\n\t\tprevDocLineChecked = docLine;\r\n\t\tstartPos = static_cast<int>(this->execute(SCI_POSITIONFROMLINE, docLine));\r\n\t\tendPos = static_cast<int>(this->execute(SCI_POSITIONFROMLINE, docLine + 1));\r\n\r\n\t\tif (endPos == -1)\r\n\t\t{\t//past EOF\r\n\t\t\tendPos = this->length() - 1;\r\n\t\t\tsearchMark(startPos, endPos, whatMark);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsearchMark(startPos, endPos, whatMark);\r\n\t\t}\r\n\t}\r\n\r\n\tm_hasHighlight = true;\r\n\r\n\t// restore the original targets to avoid conflicts with the search/replace functions\r\n\tthis->execute(SCI_SETTARGETRANGE, originalStartPos, originalEndPos);\r\n}\r\n\r\nvoid ScintillaEditView::slot_markColorGroup(QAction *action)\r\n{\r\n\tCCNotePad::s_curMarkColorId = action->data().toInt();\r\n\tif (m_NoteWin != nullptr)\r\n\t{\r\n\t\tm_NoteWin->slot_wordHighlight();\r\n\t}\r\n}\r\n\r\n//修改标记样式的颜色\r\nvoid ScintillaEditView::changeStyleColor(int sytleId)\r\n{\r\n\tif (m_styleColorMenu == nullptr)\r\n\t{\r\n\t\tinitStyleColorMenu();\r\n\t}\r\n\tif( sytleId < 5)\r\n\t{\r\n\t\tQPixmap colorBar(36, 36);\r\n\t\tcolorBar.fill((&StyleSet::s_global_style->mark_style_1)[sytleId].bgColor);\r\n\t\tm_styleMarkActList.at(sytleId)->setIcon(colorBar);\r\n\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tm_NoteWin->changeMarkColor(sytleId);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::initStyleColorMenu()\r\n{\r\n\tif (m_styleColorMenu == nullptr)\r\n\t{\r\n\t\tm_styleColorMenu = new QMenu(tr(\"mark with color\"), this);\r\n\t\tQPixmap colorBar(36, 36);\r\n\r\n\t\tQActionGroup* markColorGroup = new QActionGroup(this);\r\n\t\tconnect(markColorGroup, &QActionGroup::triggered, this, &ScintillaEditView::slot_markColorGroup, Qt::QueuedConnection);\r\n\r\n\t\tint index = 1;\r\n\t\tauto initColorBar = [this, markColorGroup, &index](QPixmap& colorBar)->QAction* {\r\n\t\t\tQAction* action = new QAction(m_styleColorMenu);\r\n\t\t\taction->setIcon(colorBar);\r\n\t\t\taction->setCheckable(true);\r\n\t\t\taction->setText(tr(\"Color %1\").arg(index));\r\n\t\t\taction->setData(index + SCE_UNIVERSAL_FOUND_STYLE_EXT5 - 1);\r\n\t\t\t++index;\r\n\t\t\tm_styleColorMenu->addAction(action);\r\n\t\t\tmarkColorGroup->addAction(action);\r\n\t\t\treturn action;\r\n\t\t};\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_1.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_2.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_3.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_4.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_5.bgColor);\r\n\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\r\n\t\tm_styleColorMenu->addSeparator();\r\n\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\tm_styleColorMenu->addAction(tr(\"Clear Select\"), m_NoteWin, &CCNotePad::slot_clearWordHighlight);\r\n\t\tm_styleColorMenu->addAction(tr(\"Clear All\"), m_NoteWin, &CCNotePad::slot_clearMark);\r\n\t}\r\n}\r\n}\r\n\r\nvoid ScintillaEditView::contextUserDefineMenuEvent(QMenu* menu)\r\n{\r\n\t//QAction* action;\r\n\tif (menu != nullptr && (m_NoteWin !=nullptr))\r\n\t{\r\n\t\tmenu->addAction(tr(\"Show File in Explorer\"), m_NoteWin, &CCNotePad::slot_showFileInExplorer);\r\n\r\n\t\tif (m_styleColorMenu == nullptr)\r\n\t\t{\r\n\t\t\tm_styleColorMenu = new QMenu(tr(\"mark with color\"),this);\r\n\t\t\tQPixmap colorBar(36, 36);\r\n\r\n\t\t\tQActionGroup* markColorGroup = new QActionGroup(this);\r\n\t\t\tconnect(markColorGroup, &QActionGroup::triggered, this, &ScintillaEditView::slot_markColorGroup, Qt::QueuedConnection);\r\n\r\n\t\t\tint index = 1;\r\n\t\t\tauto initColorBar = [this, markColorGroup, &index](QPixmap& colorBar)->QAction* {\r\n\t\t\t\tQAction* action = new QAction(m_styleColorMenu);\r\n\t\t\t\taction->setIcon(colorBar);\r\n\t\t\t\taction->setCheckable(true);\r\n\t\t\t\taction->setText(tr(\"Color %1\").arg(index));\r\n\t\t\t\taction->setData(index + SCE_UNIVERSAL_FOUND_STYLE_EXT5-1);\r\n\t\t\t\t++index;\r\n\t\t\t\tm_styleColorMenu->addAction(action);\r\n\t\t\t\tmarkColorGroup->addAction(action);\r\n\t\t\t\treturn action;\r\n\t\t\t};\r\n\r\n\t\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_1.fgColor);\r\n\t\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_2.fgColor);\r\n\t\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_3.fgColor);\r\n\t\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_4.fgColor);\r\n\t\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\t\t\tcolorBar.fill(StyleSet::s_global_style->mark_style_5.fgColor);\r\n\t\t\tm_styleMarkActList.append(initColorBar(colorBar));\r\n\r\n\r\n\t\t\tm_styleColorMenu->addSeparator();\r\n\r\n\t\t\tm_styleColorMenu->addAction(tr(\"Clear Select\"), m_NoteWin, &CCNotePad::slot_clearWordHighlight);\r\n\t\t\tm_styleColorMenu->addAction(tr(\"Clear All\"), m_NoteWin, &CCNotePad::slot_clearMark);\r\n\t}\r\n\t\tmenu->addMenu(m_styleColorMenu);\r\n\r\n\t\tmenu->addSeparator();\r\n\r\n\t\tmenu->addAction(tr(\"Add/Del line comment\"), [this]() {\r\n\t\t\tdoBlockComment(cm_toggle);\r\n\t\t});\r\n\t\tmenu->addAction(tr(\"Add Block comment\"), [this]() {\r\n\t\t\tdoStreamComment();\r\n\t\t});\r\n\t\tmenu->addAction(tr(\"Del Block comment\"), [this]() {\r\n\t\t\tundoStreamComment();\r\n\t\t});\r\n\r\n\t\tmenu->addSeparator();\r\n\r\n\t\tmenu->addAction(tr(\"Markdown View\"), this, &ScintillaEditView::on_viewMarkdown);\r\n\r\n\t\tmenu->addAction(tr(\"Word Count\"), [this]() {\r\n\t\t\tshowWordNums();\r\n\t\t\t});\r\n\t\t\r\n\t}\r\n\tmenu->show();\r\n}\r\n\r\nvoid ScintillaEditView::replaceSelWith(const char* replaceText)\r\n{\r\n\texecute(SCI_REPLACESEL, 0, reinterpret_cast<sptr_t>(replaceText));\r\n}\r\n\r\nbool ScintillaEditView::doBlockComment(Comment_Mode currCommentMode)\r\n{\r\n\tif (this->isReadOnly())\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\t//-- BlockToStreamComment:\r\n\tQByteArray commentStart;\r\n\tQByteArray commentEnd;\r\n\r\n\tQByteArray symbolStart;\r\n\tQByteArray symbolEnd;\r\n\r\n\tQByteArray commentLineSymbol;\r\n\tQByteArray symbol;\r\n\r\n\r\n\tbool isSingleLineAdvancedMode = false;\r\n\tQsciLexer* pLexer = this->lexer();\r\n\r\n\tif (pLexer == nullptr)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tcommentLineSymbol = pLexer->getCommentLineSymbol();\r\n\t\tcommentStart = pLexer->getCommentStart();\r\n\t\tcommentEnd = pLexer->getCommentEnd();\r\n\t}\r\n\r\n\tif ((commentLineSymbol.isEmpty()) || commentLineSymbol.isEmpty())\r\n\t{\r\n\t\t// BlockToStreamComment: If there is no block-comment symbol, try the stream comment:\r\n\t\tif (!(commentStart.isEmpty() || commentEnd.isEmpty()))\r\n\t\t{\r\n\t\t\tif (currCommentMode == cm_comment)\r\n\t\t\t{\r\n\t\t\t\tisSingleLineAdvancedMode = true;\r\n\r\n\t\t\t}\r\n\t\t\telse if (currCommentMode == cm_uncomment)\r\n\t\t\t{\r\n\t\t\t\treturn undoStreamComment(false);\r\n\t\t\t}\r\n\t\t\telse if (currCommentMode == cm_toggle)\r\n\t\t\t{\r\n\t\t\t\tisSingleLineAdvancedMode = true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t//For Single Line NORMAL MODE\r\n\tQByteArray comment;\r\n\tsize_t comment_length = 0;\r\n\r\n\t//For Single Line ADVANCED MODE\r\n\tQByteArray advCommentStart;\r\n\tQByteArray advCommentEnd;\r\n\tsize_t advCommentStart_length = 0;\r\n\tsize_t advCommentEnd_length = 0;\r\n\r\n\tQByteArray aSpace(\" \");\r\n\r\n\t//Only values that have passed through will be assigned, to be sure they are valid!\r\n\tif (!isSingleLineAdvancedMode)\r\n\t{\r\n\t\tcomment = commentLineSymbol;\r\n\r\n\t\tif (!(pLexer->lexerId() == L_BAANC)) // BaanC standardization - no space.\r\n\t\t{\r\n\t\t\tcomment += aSpace;\r\n\t\t}\r\n\r\n\t\tcomment_length = comment.length();\r\n\t}\r\n\telse // isSingleLineAdvancedMode\r\n\t{\r\n\t\tadvCommentStart = commentStart;\r\n\t\tadvCommentStart += aSpace;\r\n\t\tadvCommentEnd = aSpace;\r\n\t\tadvCommentEnd += commentEnd;\r\n\r\n\t\tadvCommentStart_length = advCommentStart.length();\r\n\t\tadvCommentEnd_length = advCommentEnd.length();\r\n\t}\r\n\r\n\tsize_t selectionStart = this->execute(SCI_GETSELECTIONSTART);\r\n\tsize_t selectionEnd = this->execute(SCI_GETSELECTIONEND);\r\n\tsize_t caretPosition = this->execute(SCI_GETCURRENTPOS);\r\n\r\n\tbool move_caret = caretPosition < selectionEnd;\r\n\tintptr_t selStartLine = this->execute(SCI_LINEFROMPOSITION, selectionStart);\r\n\tintptr_t selEndLine = this->execute(SCI_LINEFROMPOSITION, selectionEnd);\r\n\tintptr_t lines = selEndLine - selStartLine;\r\n\r\n\tif ((lines > 0) && (selectionEnd == static_cast<size_t>(this->execute(SCI_POSITIONFROMLINE, selEndLine))))\r\n\t{\r\n\t\tselEndLine--;\r\n\t}\r\n\r\n\t// count lines which were un-commented to decide if undoStreamComment() shall be called.\r\n\tint nUncomments = 0;\r\n\t//Some Lexers need line-comments at the beginning of a line.\r\n\tconst bool avoidIndent = (pLexer->lexerId() == L_FORTRAN_77 || pLexer->lexerId() == L_BAANC);\r\n\t//Some Lexers comment blank lines, per their standards.\r\n\tconst bool commentEmptyLines = (pLexer->lexerId() == L_BAANC);\r\n\r\n\tthis->execute(SCI_BEGINUNDOACTION);\r\n\r\n\tfor (intptr_t i = selStartLine; i <= selEndLine; ++i)\r\n\t{\r\n\t\tsize_t lineStart = this->execute(SCI_POSITIONFROMLINE, i);\r\n\t\tsize_t lineIndent = this->execute(SCI_GETLINEINDENTPOSITION, i);\r\n\t\tsize_t lineEnd = this->execute(SCI_GETLINEENDPOSITION, i);\r\n\r\n\t\t// empty lines are not commented, unless required by the language.\r\n\t\tif (lineIndent == lineEnd && !commentEmptyLines)\r\n\t\t\tcontinue;\r\n\r\n\t\tif (avoidIndent)\r\n\t\t\tlineIndent = lineStart;\r\n\r\n\t\t//这里linebufferSize不需要包含字符串后面的\\0，所以不需要预留1个\\0符号\r\n\t\tsize_t linebufferSize = lineEnd - lineIndent;\r\n\r\n\t\tQByteArray linebuf;\r\n\t\tlinebuf.resize(linebufferSize);\r\n\t\tthis->getText(linebuf.data(), lineIndent, lineEnd);\r\n\r\n\t\tQByteArray linebufStr = linebuf;\r\n\r\n\t\tif (currCommentMode != cm_comment) // uncomment/toggle\r\n\t\t{\r\n\t\t\tif (!isSingleLineAdvancedMode)\r\n\t\t\t{\r\n\t\t\t\tif (qstrncmp(linebufStr.data(), comment.data(), !(pLexer->lexerId() == L_BAANC) ? comment_length - 1 : comment_length) == 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tsize_t len = (linebufStr[(int)comment_length - 1] == aSpace[0]) ? comment_length : (!(pLexer->lexerId() == L_BAANC) ? comment_length - 1 : comment_length);\r\n\r\n\t\t\t\t\tthis->execute(SCI_SETSEL, lineIndent, lineIndent + len);\r\n\t\t\t\t\tthis->replaceSelWith(\"\");\r\n\r\n\t\t\t\t\t// SELECTION RANGE ADJUSTMENT .......................\r\n\t\t\t\t\tif (i == selStartLine) // first selected line\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (selectionStart > lineIndent + len)\r\n\t\t\t\t\t\t\tselectionStart -= len;\r\n\t\t\t\t\t\telse if (selectionStart > lineIndent)\r\n\t\t\t\t\t\t\tselectionStart = lineIndent;\r\n\t\t\t\t\t} // ................................................\r\n\t\t\t\t\tif (i == selEndLine) // last selected line\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (selectionEnd > lineIndent + len)\r\n\t\t\t\t\t\t\tselectionEnd -= len;\r\n\t\t\t\t\t\telse if (selectionEnd > lineIndent)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tselectionEnd = lineIndent;\r\n\t\t\t\t\t\t\tif (lineIndent == lineStart && i != selStartLine)\r\n\t\t\t\t\t\t\t\t++selectionEnd; // avoid caret return in this case\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} // ................................................\r\n\t\t\t\t\telse // every iteration except the last selected line\r\n\t\t\t\t\t\tselectionEnd -= len;\r\n\t\t\t\t\t// ..................................................\r\n\r\n\t\t\t\t\t++nUncomments;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse \r\n\t\t\t{\r\n\t\t\t\tif ((qstrncmp(linebufStr.data(), advCommentStart.data(), advCommentStart_length - 1) == 0) &&\r\n\t\t\t\t\t(qstrncmp(linebufStr.mid(linebufStr.length() - advCommentEnd_length + 1, advCommentEnd_length - 1).data(), advCommentEnd.mid(1, advCommentEnd_length - 1).data(), advCommentEnd_length - 1) == 0))\r\n\t\t\t\t{\r\n\t\t\t\t\tsize_t startLen = linebufStr[(int)advCommentStart_length - 1] == aSpace[0] ? advCommentStart_length : advCommentStart_length - 1;\r\n\t\t\t\t\tsize_t endLen = linebufStr[int(linebufStr.length() - advCommentEnd_length)] == aSpace[0] ? advCommentEnd_length : advCommentEnd_length - 1;\r\n\r\n\t\t\t\t\tthis->execute(SCI_SETSEL, lineIndent, lineIndent + startLen);\r\n\t\t\t\t\tthis->replaceSelWith(\"\");\r\n\t\t\t\t\tthis->execute(SCI_SETSEL, lineEnd - startLen - endLen, lineEnd - startLen);\r\n\t\t\t\t\tthis->replaceSelWith(\"\");\r\n\r\n\t\t\t\t\t// SELECTION RANGE ADJUSTMENT .......................\r\n\t\t\t\t\tif (i == selStartLine) // first selected line\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (selectionStart > lineEnd - endLen)\r\n\t\t\t\t\t\t\tselectionStart = lineEnd - startLen - endLen;\r\n\t\t\t\t\t\telse if (selectionStart > lineIndent + startLen)\r\n\t\t\t\t\t\t\tselectionStart -= startLen;\r\n\t\t\t\t\t\telse if (selectionStart > lineIndent)\r\n\t\t\t\t\t\t\tselectionStart = lineIndent;\r\n\t\t\t\t\t} // ................................................\r\n\t\t\t\t\tif (i == selEndLine) // last selected line\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (selectionEnd > lineEnd)\r\n\t\t\t\t\t\t\tselectionEnd -= (startLen + endLen);\r\n\t\t\t\t\t\telse if (selectionEnd > lineEnd - endLen)\r\n\t\t\t\t\t\t\tselectionEnd = lineEnd - startLen - endLen;\r\n\t\t\t\t\t\telse if (selectionEnd > lineIndent + startLen)\r\n\t\t\t\t\t\t\tselectionEnd -= startLen;\r\n\t\t\t\t\t\telse if (selectionEnd > lineIndent)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tselectionEnd = lineIndent;\r\n\t\t\t\t\t\t\tif (lineIndent == lineStart && i != selStartLine)\r\n\t\t\t\t\t\t\t\t++selectionEnd; // avoid caret return in this case\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} // ................................................\r\n\t\t\t\t\telse // every iteration except the last selected line\r\n\t\t\t\t\t\tselectionEnd -= (startLen + endLen);\r\n\t\t\t\t\t// ..................................................\r\n\r\n\t\t\t\t\t++nUncomments;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} // uncomment/toggle\r\n\r\n\t\tif (currCommentMode != cm_uncomment) // comment/toggle\r\n\t\t{\r\n\t\t\tif (!isSingleLineAdvancedMode)\r\n\t\t\t{\r\n\t\t\t\tthis->insertCharsFrom(lineIndent, comment);\r\n\r\n\t\t\t\t// SELECTION RANGE ADJUSTMENT .......................\r\n\t\t\t\tif (i == selStartLine) // first selected line\r\n\t\t\t\t{\r\n\t\t\t\t\tif (selectionStart >= lineIndent)\r\n\t\t\t\t\t\tselectionStart += comment_length;\r\n\t\t\t\t} // ................................................\r\n\t\t\t\tif (i == selEndLine) // last selected line\r\n\t\t\t\t{\r\n\t\t\t\t\tif (selectionEnd >= lineIndent)\r\n\t\t\t\t\t\tselectionEnd += comment_length;\r\n\t\t\t\t} // ................................................\r\n\t\t\t\telse // every iteration except the last selected line\r\n\t\t\t\t\tselectionEnd += comment_length;\r\n\t\t\t\t// ..................................................\r\n\t\t\t}\r\n\t\t\telse // isSingleLineAdvancedMode\r\n\t\t\t{\r\n\t\t\t\tthis->insertCharsFrom(lineIndent, advCommentStart);\r\n\t\t\t\tthis->insertCharsFrom(lineEnd + advCommentStart_length, advCommentEnd);\r\n\r\n\t\t\t\t// SELECTION RANGE ADJUSTMENT .......................\r\n\t\t\t\tif (i == selStartLine) // first selected line\r\n\t\t\t\t{\r\n\t\t\t\t\tif (selectionStart >= lineIndent)\r\n\t\t\t\t\t\tselectionStart += advCommentStart_length;\r\n\t\t\t\t} // ................................................\r\n\t\t\t\tif (i == selEndLine) // last selected line\r\n\t\t\t\t{\r\n\t\t\t\t\tif (selectionEnd > lineEnd)\r\n\t\t\t\t\t\tselectionEnd += (advCommentStart_length + advCommentEnd_length);\r\n\t\t\t\t\telse if (selectionEnd >= lineIndent)\r\n\t\t\t\t\t\tselectionEnd += advCommentStart_length;\r\n\t\t\t\t} // ................................................\r\n\t\t\t\telse // every iteration except the last selected line\r\n\t\t\t\t\tselectionEnd += (advCommentStart_length + advCommentEnd_length);\r\n\t\t\t\t// ..................................................\r\n\t\t\t}\r\n\t\t} // comment/toggle\r\n\t} // for (...)\r\n\r\n\tif (move_caret)\r\n\t{\r\n\t\t// moving caret to the beginning of selected block\r\n\t\tthis->execute(SCI_GOTOPOS, selectionEnd);\r\n\t\tthis->execute(SCI_SETCURRENTPOS, selectionStart);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tthis->execute(SCI_SETSEL, selectionStart, selectionEnd);\r\n\t}\r\n\tthis->execute(SCI_ENDUNDOACTION);\r\n\r\n\t// undoStreamComment: If there were no block-comments to un-comment try uncommenting of stream-comment.\r\n\tif ((currCommentMode == cm_uncomment) && (nUncomments == 0))\r\n\t{\r\n\t\treturn undoStreamComment(false);\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n//显示文字的字数\r\nvoid ScintillaEditView::showWordNums()\r\n{\r\n\tif (hasSelectedText())\r\n\t{\r\n\t\tQString word = selectedText();\r\n\t\tif (!word.isEmpty())\r\n\t\t{\r\n\t\t\tint lineNum = word.count(\"\\n\");\r\n\t\t\tif (!word.endsWith(\"\\n\"))\r\n\t\t\t{\r\n\t\t\t\t++lineNum;\r\n\t\t}\r\n\r\n\t\t\t//\\s是包含了换行符的，所有要单独统计\\r\\n换换行符，排除一下\r\n\t\t\tQRegExp warpRe(\"[\\r\\n]\");\r\n\t\t\tint wrapNums = word.count(warpRe);\r\n\t\t\tQRegExp bkRe(\"\\\\s\");\r\n\t\t\tint blank = word.count(bkRe);\r\n\t\t\tQMessageBox::about(this, tr(\"Word Nums\"), tr(\"Current Select Word Nums is %1 . \\nLine nums is %2 . \\nSpace nums is %3, Non-space is %4 .\").\\\r\n\t\t\t\targ(word.size()-wrapNums).arg(lineNum).arg(blank-wrapNums).arg(word.size()-blank));\r\n\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tint lineNum = this->lines();\r\n\t\tQString text = this->text();\r\n\r\n\t\t//\\s是包含了换行符的，所有要单独统计\\r\\n换换行符，排除一下\r\n\t\tQRegExp warpRe(\"[\\r\\n]\");\r\n\t\tint wrapNums = text.count(warpRe);\r\n\t\tQRegExp bkRe(\"\\\\s\");\r\n\t\tint blank = text.count(bkRe);\r\n\r\n\t\tQMessageBox::about(this, tr(\"Word Nums\"), tr(\"Current Doc Word Nums is %1 . \\nLine nums is %2 . \\nSpace nums is %3, Non-space is %4 .\").\\\r\n\t\t\targ(text.size() - wrapNums).arg(lineNum).arg(blank - wrapNums).arg(text.size() - blank));\r\n\t}\r\n\t\r\n}\r\n\r\nbool ScintillaEditView::undoStreamComment(bool tryBlockComment)\r\n{\r\n\tQByteArray commentStart;\r\n\tQByteArray commentEnd;\r\n\tQByteArray commentLineSymbol;\r\n\r\n\tQByteArray symbolStart;\r\n\tQByteArray symbolEnd;\r\n\tQByteArray symbol;\r\n\r\n\tconst int charbufLen = 10;\r\n\tQByteArray charbuf;\r\n\tcharbuf.reserve(charbufLen);\r\n\r\n\tbool retVal = false;\r\n\r\n\tQsciLexer* pLexer = this->lexer();\r\n\t//-- Avoid side-effects (e.g. cursor moves number of comment-characters) when file is read-only.\r\n\tif (this->isReadOnly())\r\n\t\treturn false;\r\n\r\n\tif (pLexer->lexer() == nullptr)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\tcommentLineSymbol = pLexer->getCommentLineSymbol();\r\n\t\tcommentStart = pLexer->getCommentStart();\r\n\t\tcommentEnd = pLexer->getCommentEnd();\r\n\t}\r\n\r\n\r\n\t// BlockToStreamComment: If there is no stream-comment symbol and we came not from doBlockComment, try the block comment:\r\n\tif (commentStart.isEmpty() || commentEnd.isEmpty())\r\n\t{\r\n\t\tif (!commentLineSymbol.isEmpty() && tryBlockComment)\r\n\t\t\treturn doBlockComment(cm_uncomment);\r\n\t\telse\r\n\t\t\treturn false;\r\n\t}\r\n\r\n\tQByteArray start_comment(commentStart);\r\n\tQByteArray end_comment(commentEnd);\r\n\tQByteArray white_space(\" \");\r\n\tsize_t start_comment_length = start_comment.length();\r\n\tsize_t end_comment_length = end_comment.length();\r\n\r\n\t// do as long as stream-comments are within selection\r\n\tdo\r\n\t{\r\n\t\tauto selectionStart = this->execute(SCI_GETSELECTIONSTART);\r\n\t\tauto selectionEnd = this->execute(SCI_GETSELECTIONEND);\r\n\t\tauto caretPosition = this->execute(SCI_GETCURRENTPOS);\r\n\t\tauto docLength = this->execute(SCI_GETLENGTH);\r\n\r\n\t\t// checking if caret is located in _beginning_ of selected block\r\n\t\tbool move_caret = caretPosition < selectionEnd;\r\n\r\n\t\t//-- Note: The caretPosition is either at selectionEnd or at selectionStart!! selectionStart is always before (smaller) than selectionEnd!!\r\n\r\n\t\t//-- First, search all start_comment and end_comment before and after the selectionStart and selectionEnd position.\r\n\t\tconst int iSelStart = 0, iSelEnd = 1;\r\n\t\tconst size_t N_CMNT = 2;\r\n\t\tintptr_t posStartCommentBefore[N_CMNT], posEndCommentBefore[N_CMNT], posStartCommentAfter[N_CMNT], posEndCommentAfter[N_CMNT];\r\n\t\tbool blnStartCommentBefore[N_CMNT], blnEndCommentBefore[N_CMNT], blnStartCommentAfter[N_CMNT], blnEndCommentAfter[N_CMNT];\r\n\t\tintptr_t posStartComment, posEndComment;\r\n\t\tintptr_t selectionStartMove, selectionEndMove;\r\n\t\tint flags;\r\n\r\n\t\t//-- Directly use Scintilla-Functions\r\n\t\t//   rather than _findReplaceDlg.processFindNext()which does not return the find-position and is not quiet!\r\n\t\tflags = SCFIND_WORDSTART;\r\n\t\tthis->execute(SCI_SETSEARCHFLAGS, flags);\r\n\t\t//-- Find all start- and end-comments before and after the selectionStart position.\r\n\t\t//-- When searching upwards the start-position for searching must be moved one after the current position\r\n\t\t//   to find a search-string just starting before the current position!\r\n\t\t//-- Direction DIR_UP ---\r\n\t\tposStartCommentBefore[iSelStart] = this->searchInTarget(start_comment, selectionStart, 0);\r\n\t\t(posStartCommentBefore[iSelStart] == -1 ? blnStartCommentBefore[iSelStart] = false : blnStartCommentBefore[iSelStart] = true);\r\n\t\tposEndCommentBefore[iSelStart] = this->searchInTarget(end_comment, selectionStart, 0);\r\n\t\t(posEndCommentBefore[iSelStart] == -1 ? blnEndCommentBefore[iSelStart] = false : blnEndCommentBefore[iSelStart] = true);\r\n\t\t//-- Direction DIR_DOWN ---\r\n\t\tposStartCommentAfter[iSelStart] = this->searchInTarget(start_comment, selectionStart, docLength);\r\n\t\t(posStartCommentAfter[iSelStart] == -1 ? blnStartCommentAfter[iSelStart] = false : blnStartCommentAfter[iSelStart] = true);\r\n\t\tposEndCommentAfter[iSelStart] = this->searchInTarget(end_comment, selectionStart, docLength);\r\n\t\t(posEndCommentAfter[iSelStart] == -1 ? blnEndCommentAfter[iSelStart] = false : blnEndCommentAfter[iSelStart] = true);\r\n\r\n\t\t//-- Check, if selectionStart or selectionEnd is within a stream comment -----\r\n\t\t//   or if the selection includes a complete stream-comment!! ----------------\r\n\r\n\t\t//-- First, check if there is a stream-comment around the selectionStart position:\r\n\t\tif ((blnStartCommentBefore[iSelStart] && blnEndCommentAfter[iSelStart])\r\n\t\t\t&& (!blnEndCommentBefore[iSelStart] || (posStartCommentBefore[iSelStart] >= posEndCommentBefore[iSelStart]))\r\n\t\t\t&& (!blnStartCommentAfter[iSelStart] || (posEndCommentAfter[iSelStart] <= posStartCommentAfter[iSelStart])))\r\n\t\t{\r\n\t\t\tposStartComment = posStartCommentBefore[iSelStart];\r\n\t\t\tposEndComment = posEndCommentAfter[iSelStart];\r\n\t\t}\r\n\t\telse //-- Second, check if there is a stream-comment around the selectionEnd position:\r\n\t\t{\r\n\t\t\t//-- Find all start- and end-comments before and after the selectionEnd position.\r\n\t\t\t//-- Direction DIR_UP ---\r\n\t\t\tposStartCommentBefore[iSelEnd] = this->searchInTarget(start_comment, selectionEnd, 0);\r\n\t\t\t(posStartCommentBefore[iSelEnd] == -1 ? blnStartCommentBefore[iSelEnd] = false : blnStartCommentBefore[iSelEnd] = true);\r\n\t\t\tposEndCommentBefore[iSelEnd] = this->searchInTarget(end_comment, selectionEnd, 0);\r\n\t\t\t(posEndCommentBefore[iSelEnd] == -1 ? blnEndCommentBefore[iSelEnd] = false : blnEndCommentBefore[iSelEnd] = true);\r\n\t\t\t//-- Direction DIR_DOWN ---\r\n\t\t\tposStartCommentAfter[iSelEnd] = this->searchInTarget(start_comment, selectionEnd, docLength);\r\n\t\t\t(posStartCommentAfter[iSelEnd] == -1 ? blnStartCommentAfter[iSelEnd] = false : blnStartCommentAfter[iSelEnd] = true);\r\n\t\t\tposEndCommentAfter[iSelEnd] = this->searchInTarget(end_comment, selectionEnd, docLength);\r\n\t\t\t(posEndCommentAfter[iSelEnd] == -1 ? blnEndCommentAfter[iSelEnd] = false : blnEndCommentAfter[iSelEnd] = true);\r\n\r\n\t\t\tif ((blnStartCommentBefore[iSelEnd] && blnEndCommentAfter[iSelEnd])\r\n\t\t\t\t&& (!blnEndCommentBefore[iSelEnd] || (posStartCommentBefore[iSelEnd] >= posEndCommentBefore[iSelEnd]))\r\n\t\t\t\t&& (!blnStartCommentAfter[iSelEnd] || (posEndCommentAfter[iSelEnd] <= posStartCommentAfter[iSelEnd])))\r\n\t\t\t{\r\n\t\t\t\tposStartComment = posStartCommentBefore[iSelEnd];\r\n\t\t\t\tposEndComment = posEndCommentAfter[iSelEnd];\r\n\t\t\t}\r\n\t\t\t//-- Third, check if there is a stream-comment within the selected area:\r\n\t\t\telse if ((blnStartCommentAfter[iSelStart] && (posStartCommentAfter[iSelStart] < selectionEnd))\r\n\t\t\t\t&& (blnEndCommentBefore[iSelEnd] && (posEndCommentBefore[iSelEnd] > selectionStart)))\r\n\t\t\t{\r\n\t\t\t\t//-- If there are more than one stream-comment within the selection, take the first one after selectionStart!!\r\n\t\t\t\tposStartComment = posStartCommentAfter[iSelStart];\r\n\t\t\t\tposEndComment = posEndCommentAfter[iSelStart];\r\n\t\t\t}\r\n\t\t\t//-- Finally, if there is no stream-comment, return\r\n\t\t\telse\r\n\t\t\t\treturn retVal;\r\n\t\t}\r\n\r\n\t\t//-- Ok, there are valid start-comment and valid end-comment around the caret-position.\r\n\t\t//   Now, un-comment stream-comment:\r\n\t\tretVal = true;\r\n\t\tintptr_t startCommentLength = start_comment_length;\r\n\t\tintptr_t endCommentLength = end_comment_length;\r\n\r\n\t\t//-- First delete end-comment, so that posStartCommentBefore does not change!\r\n\t\t//-- Get character before end-comment to decide, if there is a white character before the end-comment, which will be removed too!\r\n\t\tthis->getText(charbuf.data(), posEndComment - 1, posEndComment);\r\n\t\tif (qstrncmp(charbuf, white_space, white_space.length()) == 0)\r\n\t\t{\r\n\t\t\tendCommentLength += 1;\r\n\t\t\tposEndComment -= 1;\r\n\t\t}\r\n\t\t//-- Delete end stream-comment string ---------\r\n\t\tthis->execute(SCI_BEGINUNDOACTION);\r\n\t\tthis->execute(SCI_SETSEL, posEndComment, posEndComment + endCommentLength);\r\n\t\tthis->execute(SCI_REPLACESEL, 0, reinterpret_cast<sptr_t>(\"\"));\r\n\r\n\t\t//-- Get character after start-comment to decide, if there is a white character after the start-comment, which will be removed too!\r\n\t\tthis->getText(charbuf.data(), posStartComment + startCommentLength, posStartComment + startCommentLength + 1);\r\n\t\tif (qstrncmp(charbuf, white_space, white_space.length()) == 0)\r\n\t\t\tstartCommentLength += 1;\r\n\r\n\t\t//-- Delete starting stream-comment string ---------\r\n\t\tthis->execute(SCI_SETSEL, posStartComment, posStartComment + startCommentLength);\r\n\t\tthis->execute(SCI_REPLACESEL, 0, reinterpret_cast<sptr_t>(\"\"));\r\n\t\tthis->execute(SCI_ENDUNDOACTION);\r\n\r\n\t\t//-- Reset selection before calling the routine\r\n\t\t//-- Determine selection movement\r\n\t\t//   selectionStart\r\n\t\tif (selectionStart > posStartComment)\r\n\t\t{\r\n\t\t\tif (selectionStart >= posStartComment + startCommentLength)\r\n\t\t\t\tselectionStartMove = -startCommentLength;\r\n\t\t\telse\r\n\t\t\t\tselectionStartMove = -selectionStart - posStartComment;\r\n\t\t}\r\n\t\telse\r\n\t\t\tselectionStartMove = 0;\r\n\r\n\t\t//   selectionEnd\r\n\t\tif (selectionEnd >= posEndComment + endCommentLength)\r\n\t\t\tselectionEndMove = -startCommentLength + endCommentLength;\r\n\t\telse if (selectionEnd <= posEndComment)\r\n\t\t\tselectionEndMove = -startCommentLength;\r\n\t\telse\r\n\t\t\tselectionEndMove = -startCommentLength + (selectionEnd - posEndComment);\r\n\r\n\t\t//-- Reset selection of text without deleted stream-comment-string\r\n\t\tif (move_caret)\r\n\t\t{\r\n\t\t\t// moving caret to the beginning of selected block\r\n\t\t\tthis->execute(SCI_GOTOPOS, selectionEnd + selectionEndMove);\r\n\t\t\tthis->execute(SCI_SETCURRENTPOS, selectionStart + selectionStartMove);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis->execute(SCI_SETSEL, selectionStart + selectionStartMove, selectionEnd + selectionEndMove);\r\n\t\t}\r\n\t} while (1); //do as long as stream-comments are within selection\r\n}\r\n\r\nbool ScintillaEditView::doStreamComment()\r\n{\r\n\tQByteArray commentStart;\r\n\tQByteArray commentEnd;\r\n\r\n\tQByteArray symbolStart;\r\n\tQByteArray symbolEnd;\r\n\r\n\t// BlockToStreamComment:\r\n\tQByteArray commentLineSymbol;\r\n\tQByteArray symbol;\r\n\r\n\r\n\tif (this->isReadOnly())\r\n\t\treturn false;\r\n\r\n\tQsciLexer* pLexer = this->lexer();\r\n\r\n\tif (pLexer == nullptr)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t// BlockToStreamComment: Next line needed to decide, if block-comment can be called below!\r\n\t\tcommentLineSymbol = pLexer->getCommentLineSymbol();\r\n\t\tcommentStart = pLexer->getCommentStart();\r\n\t\tcommentEnd = pLexer->getCommentEnd();\r\n\t}\r\n\r\n\t// BlockToStreamComment: If there is no stream-comment symbol, try the block comment:\r\n\tif (commentStart.isEmpty()||commentEnd.isEmpty())\r\n\t{\r\n\t\tif (!commentLineSymbol.isEmpty())\r\n\t\t\treturn doBlockComment(cm_comment);\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tQByteArray start_comment(commentStart);\r\n\tQByteArray end_comment(commentEnd);\r\n\tQByteArray white_space(\" \");\r\n\r\n\tstart_comment += white_space;\r\n\twhite_space += end_comment;\r\n\tend_comment = white_space;\r\n\tsize_t start_comment_length = start_comment.length();\r\n\tsize_t selectionStart = this->execute(SCI_GETSELECTIONSTART);\r\n\tsize_t selectionEnd = this->execute(SCI_GETSELECTIONEND);\r\n\tsize_t caretPosition = this->execute(SCI_GETCURRENTPOS);\r\n\t// checking if caret is located in _beginning_ of selected block\r\n\tbool move_caret = caretPosition < selectionEnd;\r\n\r\n\t// if there is no selection?\r\n\tif (selectionEnd - selectionStart <= 0)\r\n\t{\r\n\t\tauto selLine = this->execute(SCI_LINEFROMPOSITION, selectionStart);\r\n\t\tselectionStart = this->execute(SCI_GETLINEINDENTPOSITION, selLine);\r\n\t\tselectionEnd = this->execute(SCI_GETLINEENDPOSITION, selLine);\r\n\t}\r\n\tthis->execute(SCI_BEGINUNDOACTION);\r\n\tthis->insertCharsFrom(selectionStart, start_comment);\r\n\tselectionEnd += start_comment_length;\r\n\tselectionStart += start_comment_length;\r\n\tthis->insertCharsFrom(selectionEnd, end_comment);\r\n\tif (move_caret)\r\n\t{\r\n\t\t// moving caret to the beginning of selected block\r\n\t\tthis->execute(SCI_GOTOPOS, selectionEnd);\r\n\t\tthis->execute(SCI_SETCURRENTPOS, selectionStart);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tthis->execute(SCI_SETSEL, selectionStart, selectionEnd);\r\n\t}\r\n\tthis->execute(SCI_ENDUNDOACTION);\r\n\treturn true;\r\n}\r\n\r\nvoid ScintillaEditView::slot_delayWork()\r\n{\r\n\tif (!hasSelectedText())\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tQString word = selectedText();\r\n\tif (!word.isEmpty())\r\n\t{\r\n\t\thighlightViewWithWord(word);\r\n\t\t}\r\n\t\t\t}\r\n\r\nvoid ScintillaEditView::dragEnterEvent(QDragEnterEvent* event)\r\n{\r\n\tevent->accept();\r\n\t}\r\n\r\nvoid ScintillaEditView::dropEvent(QDropEvent* e)\r\n{\r\n\tQList<QUrl> urls = e->mimeData()->urls();\r\n\tif (!urls.isEmpty())\r\n\t{\r\n\r\n\tCCNotePad* pv = dynamic_cast<CCNotePad*>(m_NoteWin);\r\n\tif (pv != nullptr)\r\n\t{\r\n\t\tpv->receiveEditDrop(e);\r\n}\r\n\t\treturn;\r\n\t}\r\n\tQsciScintilla::dropEvent(e);\r\n}\r\n\r\n\r\n\r\nvoid ScintillaEditView::mouseDoubleClickEvent(QMouseEvent * e)\r\n{\r\n\tif (CCNotePad::s_hightWebAddr == 1)\r\n\t{\r\n\t\tdo {\r\n\t\t\tint position = this->execute(SCI_GETCURRENTPOS);\r\n\r\n\t\t\tauto indicMsk = this->execute(SCI_INDICATORALLONFOR, position);\r\n\t\t\tif (!(indicMsk & (1 << URL_INDIC)))\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tauto startPos = this->execute(SCI_INDICATORSTART, URL_INDIC, position);\r\n\t\t\tauto endPos = this->execute(SCI_INDICATOREND, URL_INDIC, position);\r\n\r\n\t\t\tif ((position < startPos) || (position > endPos))\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t// WM_LBUTTONUP goes to opening browser instead of Scintilla here, because the mouse is not captured.\r\n\t\t\t// The missing message causes mouse cursor flicker as soon as the mouse cursor is moved to a position outside the text editing area.\r\n\t\t\t//::PostMessage(this->getHSelf(), WM_LBUTTONUP, 0, 0);\r\n\r\n\t\t\t// Revert selection of current word. Best to this early, otherwise the\r\n\t\t\t// selected word is visible all the time while the browser is starting\r\n\t\t\texecute(SCI_SETSEL, position, position);\r\n\r\n\t\t\t// Open URL\r\n\t\t\tQByteArray url;\r\n\t\t\turl.resize(endPos - startPos);\r\n\t\t\tthis->getText(url.data(), static_cast<size_t>(startPos), static_cast<size_t>(endPos));\r\n\t\t\tQUrl urlweb(url);\r\n\t\t\tif (urlweb.isValid())\r\n\t\t\t{\r\n\t\t\t\tQDesktopServices::openUrl(urlweb);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} while (0);\r\n\t}\r\n\r\n\t//20230219先双击选中，再按住ctrl，再双击别的地方选中。此时是进入多选状态。\r\n\t//这里必须要直接返回，不能做delayWork。否则因为delaywork里面不能判断多选，而数据越界崩溃\r\n\tif (hasSelectedText())\r\n\t{\r\n\tQsciScintilla::mouseDoubleClickEvent(e);\r\n\t\treturn;\r\n\t}\r\n\r\n\t//执行下面mouseDoubleClickEvent后，又会选中。此时如果上面已经有选中，则会多选\r\n\tQsciScintilla::mouseDoubleClickEvent(e);\r\n\r\n\tif (hasSelectedText())\r\n\t{\r\n\t\temit delayWork();\r\n\t}\r\n\t\r\n}\r\n\r\nvoid ScintillaEditView::changeCase(const TextCaseType & caseToConvert, QString& strToConvert) const\r\n{\r\n\tif (strToConvert.isEmpty())\r\n\t\treturn;\r\n\r\n\tint nbChars = strToConvert.size();\r\n\r\n\tswitch (caseToConvert)\r\n\t{\r\n\tcase UPPERCASE:\r\n\t{\r\n\t\tstrToConvert = strToConvert.toUpper();\r\n\t\tbreak;\r\n\t}\r\n\tcase LOWERCASE:\r\n\t{\r\n\t\tstrToConvert = strToConvert.toLower();\r\n\t\tbreak;\r\n\t} \r\n\tcase TITLECASE_FORCE:\r\n\tcase TITLECASE_BLEND:\r\n\t{\r\n\t\tfor (int i = 0; i < nbChars; ++i)\r\n\t\t{\r\n\t\t\tif (strToConvert[i].isLetter())\r\n\t\t\t{\r\n\t\t\t\tif ((i < 1) ? true : !strToConvert[i - 1].isLetterOrNumber())\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toUpper();\r\n\t\t\t\telse if (caseToConvert == TITLECASE_FORCE)\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toLower();\r\n\t\t\t\t//An exception\r\n\t\t\t\tif ((i < 2) ? false : (strToConvert[i - 1] == L'\\'' && (strToConvert[i - 2].isLetter())))\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toLower();\r\n\t\t\t}\r\n\t\t}\r\n\t\tbreak;\r\n\t} //case TITLECASE\r\n\tcase SENTENCECASE_FORCE:\r\n\tcase SENTENCECASE_BLEND:\r\n\t{\r\n\t\tbool isNewSentence = true;\r\n\t\tbool wasEolR = false;\r\n\t\tbool wasEolN = false;\r\n\t\tfor (int i = 0; i < nbChars; ++i)\r\n\t\t{\r\n\t\t\tif (strToConvert[i].isLetter())\r\n\t\t\t{\r\n\t\t\t\tif (isNewSentence)\r\n\t\t\t\t{\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toUpper();\r\n\t\t\t\t\tisNewSentence = false;\r\n\t\t\t\t}\r\n\t\t\t\telse if (caseToConvert == SENTENCECASE_FORCE)\r\n\t\t\t\t{\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toLower();\r\n\t\t\t\t}\r\n\t\t\t\twasEolR = false;\r\n\t\t\t\twasEolN = false;\r\n\t\t\t\t//An exception\r\n\t\t\t\tif (strToConvert[i] == L'i' &&\r\n\t\t\t\t\t((i < 1) ? false : (strToConvert[i - 1].isSpace() || strToConvert[i - 1] == '(' || strToConvert[i - 1] == '\"')) && \\\r\n\t\t\t\t\t((i + 1 == nbChars) ? false : (strToConvert[i + 1].isSpace() || strToConvert[i + 1] == '\\'')))\r\n\t\t\t\t{\r\n\t\t\t\t\tstrToConvert[i] = L'I';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (strToConvert[i] == '.' || strToConvert[i] == '!' || strToConvert[i] == '?')\r\n\t\t\t{\r\n\t\t\t\tif ((i + 1 == nbChars) ? true : strToConvert[i + 1].isLetterOrNumber())\r\n\t\t\t\t\tisNewSentence = false;\r\n\t\t\t\telse\r\n\t\t\t\t\tisNewSentence = true;\r\n\t\t\t}\r\n\t\t\telse if (strToConvert[i] == '\\r')\r\n\t\t\t{\r\n\t\t\t\tif (wasEolR)\r\n\t\t\t\t\tisNewSentence = true;\r\n\t\t\t\telse\r\n\t\t\t\t\twasEolR = true;\r\n\t\t\t}\r\n\t\t\telse if (strToConvert[i] == '\\n')\r\n\t\t\t{\r\n\t\t\t\tif (wasEolN)\r\n\t\t\t\t\tisNewSentence = true;\r\n\t\t\t\telse\r\n\t\t\t\t\twasEolN = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tbreak;\r\n\t} //case SENTENCECASE\r\n\tcase INVERTCASE:\r\n\t{\r\n\t\tfor (int i = 0; i < nbChars; ++i)\r\n\t\t{\r\n\t\t\tif (strToConvert[i].isLower())\r\n\t\t\t\tstrToConvert[i] = strToConvert[i].toUpper();\r\n\t\t\telse\r\n\t\t\t\tstrToConvert[i] = strToConvert[i].toLower();\r\n\t\t}\r\n\t\tbreak;\r\n\t} //case INVERTCASE\r\n\tcase RANDOMCASE:\r\n\t{\r\n\t\tfor (int i = 0; i < nbChars; ++i)\r\n\t\t{\r\n\t\t\tif (strToConvert[i].isLetter())\r\n\t\t\t{\r\n\t\t\t\tif (std::rand() & true)\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toUpper();\r\n\t\t\t\telse\r\n\t\t\t\t\tstrToConvert[i] = strToConvert[i].toLower();\r\n\t\t\t}\r\n\t\t}\r\n\t\tbreak;\r\n\t}\r\n\t} //switch (caseToConvert)\r\n}\r\n\r\nvoid ScintillaEditView::convertSelectedTextTo(const TextCaseType & caseToConvert)\r\n{\r\n\tint selectionStart = execute(SCI_GETSELECTIONSTART);\r\n\tint selectionEnd = execute(SCI_GETSELECTIONEND);\r\n\r\n\tint strLen = (selectionEnd - selectionStart);\r\n\tif (strLen != 0)\r\n\t{\r\n\t\tint strSize = strLen + 1;\r\n\r\n\t\tchar *selectedStr = new char[strSize];\r\n\r\n\t\texecute(SCI_GETSELTEXT, 0, reinterpret_cast<sptr_t>(selectedStr));\r\n\r\n\t\tQString utf8Str(selectedStr);\r\n\t\tchangeCase(caseToConvert, utf8Str);\r\n\r\n\t\tQByteArray bytes = utf8Str.toUtf8();\r\n\r\n\t\texecute(SCI_SETTARGETRANGE, selectionStart, selectionEnd);\r\n\r\n\t\texecute(SCI_BEGINUNDOACTION);\r\n\t\texecute(SCI_REPLACETARGET, strLen, reinterpret_cast<sptr_t>(bytes.data()));\r\n\t\texecute(SCI_ENDUNDOACTION);\r\n\t\texecute(SCI_SETSEL, selectionStart, selectionEnd);\r\n\t\tdelete[] selectedStr;\r\n\t}\r\n}\r\n\r\n//获取当前选择的行范围\r\nstd::pair<size_t, size_t> ScintillaEditView::getSelectionLinesRange(intptr_t selectionNumber /* = -1 */) const\r\n{\r\n\tsize_t numSelections = execute(SCI_GETSELECTIONS);\r\n\r\n\tsize_t start_pos, end_pos;\r\n\r\n\tif ((selectionNumber < 0) || (static_cast<size_t>(selectionNumber) >= numSelections))\r\n\t{\r\n\t\tstart_pos = execute(SCI_GETSELECTIONSTART);\r\n\t\tend_pos = execute(SCI_GETSELECTIONEND);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tstart_pos = execute(SCI_GETSELECTIONNSTART, selectionNumber);\r\n\t\tend_pos = execute(SCI_GETSELECTIONNEND, selectionNumber);\r\n\t}\r\n\r\n\tsize_t line1 = execute(SCI_LINEFROMPOSITION, start_pos);\r\n\tsize_t line2 = execute(SCI_LINEFROMPOSITION, end_pos);\r\n\r\n\tif ((line1 != line2) && (static_cast<size_t>(execute(SCI_POSITIONFROMLINE, line2)) == end_pos))\r\n\t{\r\n\t\t// if the end of the selection includes the line-ending, \r\n\t\t// then don't include the following line in the range\r\n\t\t--line2;\r\n\t}\r\n\r\n\treturn std::pair<size_t, size_t>(line1, line2);\r\n}\r\n\r\n//获取内容。是uft8格式的。所有字符都以utf8编码\r\nvoid ScintillaEditView::getText(char *dest, size_t start, size_t end) const\r\n{\r\n\tSci_TextRange tr;\r\n\ttr.chrg.cpMin = static_cast<Sci_PositionCR>(start);\r\n\ttr.chrg.cpMax = static_cast<Sci_PositionCR>(end);\r\n\ttr.lpstrText = dest;\r\n\r\n\tthis->SendScintilla(SCI_GETTEXTRANGE, 0, &tr);\r\n}\r\n\r\nQString ScintillaEditView::getGenericTextAsQString(size_t start, size_t end) const\r\n{\r\n\tassert(end > start);\r\n\tconst size_t bufSize = end - start + 1;\r\n\r\n\tQByteArray bytes;\r\n\tbytes.resize(bufSize);\r\n\tgetText(bytes.data(), start, end);\r\n\r\n\treturn QString(bytes);\r\n}\r\n\r\nQString ScintillaEditView::getEOLString()\r\n{\r\n\tintptr_t eol_mode = execute(SCI_GETEOLMODE);\r\n\tif (eol_mode == SC_EOL_CRLF)\r\n\t{\r\n\t\treturn QString(\"\\r\\n\");\r\n\t}\r\n\telse if (eol_mode == SC_EOL_LF)\r\n\t{\r\n\t\treturn QString(\"\\n\");\r\n\t}\r\n\telse\r\n\t{\r\n\t\treturn QString(\"\\r\");\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\nsize_t vecRemoveDuplicates(QList<QString>& vec)\r\n{\r\n\r\n\tstd::unordered_set<std::string> seen;\r\n\tauto newEnd = std::remove_if(vec.begin(), vec.end(), [&seen](const QString& value)\r\n\t{\r\n\t\treturn !seen.insert(value.toStdString()).second;\r\n\t});\r\n\r\n\tvec.erase(newEnd, vec.end());\r\n\r\n\treturn vec.size();\r\n}\r\n\r\n\r\nvoid ScintillaEditView::removeAnyDuplicateLines()\r\n{\r\n\tsize_t fromLine = 0, toLine = 0;\r\n\tbool hasLineSelection = false;\r\n\r\n\tauto selStart = execute(SCI_GETSELECTIONSTART);\r\n\tauto selEnd = execute(SCI_GETSELECTIONEND);\r\n\thasLineSelection = selStart != selEnd;\r\n\r\n\tif (hasLineSelection)\r\n\t{\r\n\t\tconst std::pair<size_t, size_t> lineRange = getSelectionLinesRange();\r\n\t\t// One single line selection is not allowed.\r\n\t\tif (lineRange.first == lineRange.second)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfromLine = lineRange.first;\r\n\t\ttoLine = lineRange.second;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t// No selection.\r\n\t\tfromLine = 0;\r\n\t\ttoLine = execute(SCI_GETLINECOUNT) - 1;\r\n\t}\r\n\r\n\tif (fromLine >= toLine)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst auto startPos = execute(SCI_POSITIONFROMLINE, fromLine);\r\n\tconst auto endPos = execute(SCI_POSITIONFROMLINE, toLine) + execute(SCI_LINELENGTH, toLine);\r\n\tconst QString text = getGenericTextAsQString(startPos, endPos);\r\n\r\n\tQStringList linesVect = text.split(getEOLString());\r\n\r\n\tconst size_t lineCount = execute(SCI_GETLINECOUNT);\r\n\r\n\tconst bool doingEntireDocument = (toLine == (lineCount - 1));\r\n\tif (!doingEntireDocument)\r\n\t{\r\n\t\tif (linesVect.rbegin()->isEmpty())\r\n\t\t{\r\n\t\t\tlinesVect.pop_back();\r\n\t\t}\r\n\t}\r\n\r\n\tsize_t origSize = linesVect.size();\r\n\r\n\r\n\tsize_t newSize = vecRemoveDuplicates(linesVect);\r\n\r\n\tif (origSize != newSize)\r\n\t{\r\n\t\tQString joined = linesVect.join(getEOLString());\r\n\r\n\t\tif (!doingEntireDocument)\r\n\t\t{\r\n\t\t\tjoined += getEOLString();\r\n\t\t}\r\n\t\tif (text != joined)\r\n\t\t{\r\n\t\t\tQByteArray str2replace;\r\n\t\t\tstr2replace = joined.toUtf8();\r\n\r\n\t\t\treplaceTarget(str2replace, startPos, endPos);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::insertCharsFrom(size_t position, const QByteArray & text2insert) const\r\n{\r\n\tthis->SendScintilla(SCI_INSERTTEXT, position, text2insert.data());\r\n}\r\n\r\nvoid ScintillaEditView::appandGenericText(const QByteArray &text2Append) const\r\n{\r\n\tthis->SendScintilla(SCI_APPENDTEXT, text2Append.size(), text2Append.data());\r\n}\r\n\r\nvoid ScintillaEditView::insertNewLineAboveCurrentLine(bool)\r\n{\r\n\tQString newline = getEOLString();\r\n\tconst auto current_line = getCurrentLineNumber();\r\n\tif (current_line == 0)\r\n\t{\r\n\t\t// Special handling if caret is at first line.\r\n\t\tinsertCharsFrom(0, newline.toUtf8());\r\n\t}\r\n\telse\r\n\t{\r\n\t\tconst auto eol_length = newline.length();\r\n\t\tconst auto position = execute(SCI_POSITIONFROMLINE, current_line) - eol_length;\r\n\t\tinsertCharsFrom(position, newline.toUtf8());\r\n\t}\r\n\texecute(SCI_SETEMPTYSELECTION, execute(SCI_POSITIONFROMLINE, current_line));\r\n}\r\n\r\nvoid ScintillaEditView::insertNewLineBelowCurrentLine(bool)\r\n{\r\n\tQString newline = getEOLString();\r\n\tconst auto line_count = execute(SCI_GETLINECOUNT);\r\n\tconst auto current_line = getCurrentLineNumber();\r\n\tif (current_line == line_count - 1)\r\n\t{\r\n\t\t// Special handling if caret is at last line.\r\n\t\tappandGenericText(newline.toUtf8());\r\n\t}\r\n\telse\r\n\t{\r\n\t\tconst auto eol_length = newline.length();\r\n\t\tconst auto position = eol_length + execute(SCI_GETLINEENDPOSITION, current_line);\r\n\t\tinsertCharsFrom(position, newline.toUtf8());\r\n\t}\r\n\texecute(SCI_SETEMPTYSELECTION, execute(SCI_POSITIONFROMLINE, current_line + 1));\r\n}\r\n\r\nvoid ScintillaEditView::sortLines(size_t fromLine, size_t toLine, ISorter* pSort)\r\n{\r\n\tif (fromLine >= toLine)\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst auto startPos = execute(SCI_POSITIONFROMLINE, fromLine);\r\n\tconst auto endPos = execute(SCI_POSITIONFROMLINE, toLine) + execute(SCI_LINELENGTH, toLine);\r\n\r\n\tconst QString text = getGenericTextAsQString(startPos, endPos);\r\n\tQStringList splitText = text.split(getEOLString());\r\n\r\n\r\n\tconst size_t lineCount = execute(SCI_GETLINECOUNT);\r\n\tconst bool sortEntireDocument = toLine == lineCount - 1;\r\n\tif (!sortEntireDocument)\r\n\t{\r\n\t\tif (splitText.rbegin()->isEmpty())\r\n\t\t{\r\n\t\t\tsplitText.pop_back();\r\n\t\t}\r\n\t}\r\n\tassert(toLine - fromLine + 1 == splitText.size());\r\n\tconst QList<QString> sortedText = pSort->sort(splitText);\r\n\r\n\tQString joined = sortedText.join(getEOLString());\r\n\tif (sortEntireDocument)\r\n\t{\r\n\t\tassert(joined.length() == text.length());\r\n\t}\r\n\telse\r\n\t{\r\n\t\tassert(joined.length() + getEOLString().length() == text.length());\r\n\t\tjoined += getEOLString();\r\n\t}\r\n\tif (text != joined)\r\n\t{\r\n\t\tQByteArray bytes = joined.toUtf8();\r\n\t\treplaceTarget(bytes, startPos, endPos);\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::setFoldColor(int margin, QColor fgClack, QColor bkColor, QColor foreActive)\r\n{\r\n\tSendScintilla(SCI_MARKERSETFORE, margin, fgClack);\r\n\tSendScintilla(SCI_MARKERSETBACK, margin, bkColor);\r\n\tSendScintilla(SCI_MARKERSETBACKSELECTED, margin, foreActive);\r\n}\r\n\r\nColumnModeInfos ScintillaEditView::getColumnModeSelectInfo()\r\n{\r\n\tColumnModeInfos columnModeInfos;\r\n\tif (execute(SCI_GETSELECTIONS) > 1) // Multi-Selection || Column mode\r\n\t{\r\n\t\tintptr_t nbSel = execute(SCI_GETSELECTIONS);\r\n\r\n\t\tfor (int i = 0; i < nbSel; ++i)\r\n\t\t{\r\n\t\t\tintptr_t absPosSelStartPerLine = execute(SCI_GETSELECTIONNANCHOR, i);\r\n\t\t\tintptr_t absPosSelEndPerLine = execute(SCI_GETSELECTIONNCARET, i);\r\n\t\t\tintptr_t nbVirtualAnchorSpc = execute(SCI_GETSELECTIONNANCHORVIRTUALSPACE, i);\r\n\t\t\tintptr_t nbVirtualCaretSpc = execute(SCI_GETSELECTIONNCARETVIRTUALSPACE, i);\r\n\r\n\t\t\tif (absPosSelStartPerLine == absPosSelEndPerLine && execute(SCI_SELECTIONISRECTANGLE))\r\n\t\t\t{\r\n\t\t\t\tbool dir = nbVirtualAnchorSpc < nbVirtualCaretSpc ? L2R : R2L;\r\n\t\t\t\tcolumnModeInfos.push_back(ColumnModeInfo(absPosSelStartPerLine, absPosSelEndPerLine, i, dir, nbVirtualAnchorSpc, nbVirtualCaretSpc));\r\n\t\t\t}\r\n\t\t\telse if (absPosSelStartPerLine > absPosSelEndPerLine)\r\n\t\t\t\tcolumnModeInfos.push_back(ColumnModeInfo(absPosSelEndPerLine, absPosSelStartPerLine, i, R2L, nbVirtualAnchorSpc, nbVirtualCaretSpc));\r\n\t\t\telse\r\n\t\t\t\tcolumnModeInfos.push_back(ColumnModeInfo(absPosSelStartPerLine, absPosSelEndPerLine, i, L2R, nbVirtualAnchorSpc, nbVirtualCaretSpc));\r\n\t\t}\r\n\t}\r\n\treturn columnModeInfos;\r\n}\r\n\r\n\r\nvoid ScintillaEditView::columnReplace(ColumnModeInfos& cmi, QByteArray& str)\r\n{\r\n\tintptr_t totalDiff = 0;\r\n\tfor (size_t i = 0, len = cmi.size(); i < len; ++i)\r\n\t{\r\n\t\tif (cmi[i].isValid())\r\n\t\t{\r\n\t\t\tintptr_t len2beReplace = cmi[i]._selRpos - cmi[i]._selLpos;\r\n\t\t\tintptr_t diff = str.size() - len2beReplace;\r\n\r\n\t\t\tcmi[i]._selLpos += totalDiff;\r\n\t\t\tcmi[i]._selRpos += totalDiff;\r\n\t\t\tbool hasVirtualSpc = cmi[i]._nbVirtualAnchorSpc > 0;\r\n\r\n\t\t\tif (hasVirtualSpc) // if virtual space is present, then insert space\r\n\t\t\t{\r\n\t\t\t\tfor (intptr_t j = 0, k = cmi[i]._selLpos; j < cmi[i]._nbVirtualCaretSpc; ++j, ++k)\r\n\t\t\t\t{\r\n\t\t\t\t\texecute(SCI_INSERTTEXT, k, reinterpret_cast<sptr_t>(\" \"));\r\n\t\t\t\t}\r\n\t\t\t\tcmi[i]._selLpos += cmi[i]._nbVirtualAnchorSpc;\r\n\t\t\t\tcmi[i]._selRpos += cmi[i]._nbVirtualCaretSpc;\r\n\t\t\t}\r\n\r\n\t\t\texecute(SCI_SETTARGETRANGE, cmi[i]._selLpos, cmi[i]._selRpos);\r\n\r\n\t\t\texecute(SCI_REPLACETARGET, static_cast<int>(-1), reinterpret_cast<sptr_t>(str.data()));\r\n\r\n\t\t\tif (hasVirtualSpc)\r\n\t\t\t{\r\n\t\t\t\ttotalDiff += cmi[i]._nbVirtualAnchorSpc + str.size();\r\n\r\n\t\t\t\t// Now there's no more virtual space\r\n\t\t\t\tcmi[i]._nbVirtualAnchorSpc = 0;\r\n\t\t\t\tcmi[i]._nbVirtualCaretSpc = 0;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ttotalDiff += diff;\r\n\t\t\t}\r\n\t\t\tcmi[i]._selRpos += diff;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid ScintillaEditView::setMultiSelections(const ColumnModeInfos& cmi)\r\n{\r\n\tfor (size_t i = 0, len = cmi.size(); i < len; ++i)\r\n\t{\r\n\t\tif (cmi[i].isValid())\r\n\t\t{\r\n\t\t\tintptr_t selStart = cmi[i]._direction == L2R ? cmi[i]._selLpos : cmi[i]._selRpos;\r\n\t\t\tintptr_t selEnd = cmi[i]._direction == L2R ? cmi[i]._selRpos : cmi[i]._selLpos;\r\n\t\t\texecute(SCI_SETSELECTIONNSTART, i, selStart);\r\n\t\t\texecute(SCI_SETSELECTIONNEND, i, selEnd);\r\n\t\t}\r\n\r\n\t\tif (cmi[i]._nbVirtualAnchorSpc)\r\n\t\t\texecute(SCI_SETSELECTIONNANCHORVIRTUALSPACE, i, cmi[i]._nbVirtualAnchorSpc);\r\n\t\tif (cmi[i]._nbVirtualCaretSpc)\r\n\t\t\texecute(SCI_SETSELECTIONNCARETVIRTUALSPACE, i, cmi[i]._nbVirtualCaretSpc);\r\n\t}\r\n}\r\n\r\nint getNbDigits(int aNum, int base)\r\n{\r\n\tint nbChiffre = 1;\r\n\tint diviseur = base;\r\n\r\n\tfor (;;)\r\n\t{\r\n\t\tint result = aNum / diviseur;\r\n\t\tif (!result)\r\n\t\t\tbreak;\r\n\t\telse\r\n\t\t{\r\n\t\t\tdiviseur *= base;\r\n\t\t\t++nbChiffre;\r\n\t\t}\r\n\t}\r\n\tif ((base == 16) && (nbChiffre % 2 != 0))\r\n\t\tnbChiffre += 1;\r\n\r\n\treturn nbChiffre;\r\n}\r\n\r\nvoid ScintillaEditView::columnReplace(ColumnModeInfos& cmi, int initial, int incr, int repeat, int format, bool isCapital, QByteArray& prefix)\r\n{\r\n\tassert(repeat > 0);\r\n\r\n\t// If there is no column mode info available, no need to do anything\r\n\t// If required a message can be shown to user, that select column properly or something similar\r\n\t// It is just a double check as taken in callee method (in case this method is called from multiple places)\r\n\tif (cmi.size() <= 0)\r\n\t\treturn;\r\n\t// 0000 00 00 : Dec BASE_10\r\n\t// 0000 00 01 : Hex BASE_16\r\n\t// 0000 00 10 : Oct BASE_08\r\n\t// 0000 00 11 : Bin BASE_02\r\n\r\n\t// 0000 01 00 : 0 leading\r\n\r\n\t//Defined in ScintillaEditView.h :\r\n\t//const UCHAR MASK_FORMAT = 0x03;\r\n\t//const UCHAR MASK_ZERO_LEADING = 0x04;\r\n\r\n\tint base = format;\r\n\r\n\tconst int stringSize = 512;\r\n\tQByteArray str;\r\n\tstr.reserve(stringSize) ;\r\n\r\n\t// Compute the numbers to be placed at each column.\r\n\tstd::vector<int> numbers;\r\n\t{\r\n\t\tint curNumber = initial;\r\n\t\tconst size_t kiMaxSize = cmi.size();\r\n\t\twhile (numbers.size() < kiMaxSize)\r\n\t\t{\r\n\t\t\tfor (int i = 0; i < repeat; i++)\r\n\t\t\t{\r\n\t\t\t\tnumbers.push_back(curNumber);\r\n\t\t\t\tif (numbers.size() >= kiMaxSize)\r\n\t\t\t\t{\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcurNumber += incr;\r\n\t\t}\r\n\t}\r\n\r\n\tassert(numbers.size() > 0);\r\n\r\n\t/*const int kibEnd = getNbDigits(*numbers.rbegin(), base);\r\n\tconst int kibInit = getNbDigits(initial, base);\r\n\tconst int kib = std::max<int>(kibInit, kibEnd);*/\r\n\r\n\tintptr_t totalDiff = 0;\r\n\tconst size_t len = cmi.size();\r\n\tfor (size_t i = 0; i < len; i++)\r\n\t{\r\n\t\tif (cmi[i].isValid())\r\n\t\t{\r\n\t\t\tconst intptr_t len2beReplaced = cmi[i]._selRpos - cmi[i]._selLpos;\r\n\r\n\t\t\tif (base != 16)\r\n\t\t\t{\r\n\t\t\t\tstr = prefix + QString::number(numbers.at(i), base).toUtf8();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//16进制，判断大小写\r\n\t\t\t\tif (isCapital)\r\n\t\t\t\t{\r\n\t\t\t\t\tstr = prefix + QString::number(numbers.at(i), base).toUpper().toUtf8();\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tstr = prefix + QString::number(numbers.at(i), base).toUtf8();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst intptr_t diff = str.size() - len2beReplaced;\r\n\r\n\t\t\tcmi[i]._selLpos += totalDiff;\r\n\t\t\tcmi[i]._selRpos += totalDiff;\r\n\r\n\t\t\t\r\n\r\n\t\t\tconst bool hasVirtualSpc = cmi[i]._nbVirtualAnchorSpc > 0;\r\n\t\t\tif (hasVirtualSpc) // if virtual space is present, then insert space\r\n\t\t\t{\r\n\t\t\t\tfor (intptr_t j = 0, k = cmi[i]._selLpos; j < cmi[i]._nbVirtualCaretSpc; ++j, ++k)\r\n\t\t\t\t{\r\n\t\t\t\t\texecute(SCI_INSERTTEXT, k, reinterpret_cast<sptr_t>(\" \"));\r\n\t\t\t\t}\r\n\t\t\t\tcmi[i]._selLpos += cmi[i]._nbVirtualAnchorSpc;\r\n\t\t\t\tcmi[i]._selRpos += cmi[i]._nbVirtualCaretSpc;\r\n\t\t\t}\r\n\t\t\texecute(SCI_SETTARGETRANGE, cmi[i]._selLpos, cmi[i]._selRpos);\r\n\r\n\t\t\texecute(SCI_REPLACETARGET, static_cast<int>(-1), reinterpret_cast<sptr_t>(str.data()));\r\n\r\n\t\t\tif (hasVirtualSpc)\r\n\t\t\t{\r\n\t\t\t\ttotalDiff += cmi[i]._nbVirtualAnchorSpc + str.size();\r\n\t\t\t\t// Now there's no more virtual space\r\n\t\t\t\tcmi[i]._nbVirtualAnchorSpc = 0;\r\n\t\t\t\tcmi[i]._nbVirtualCaretSpc = 0;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ttotalDiff += diff;\r\n\t\t\t}\r\n\t\t\tcmi[i]._selRpos += diff;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::getVisibleStartAndEndPosition(int * startPos, int * endPos)\r\n{\r\n\tassert(startPos != NULL && endPos != NULL);\r\n\t// Get the position of the 1st and last showing chars from the edit view\r\n\tQRect rcEditView;\r\n\trcEditView = this->rect();\r\n\tint pos = execute(SCI_POSITIONFROMPOINT, 0, 0);\r\n\tint line = execute(SCI_LINEFROMPOSITION, pos);\r\n\t*startPos = static_cast<int32_t>(execute(SCI_POSITIONFROMLINE, line));\r\n\tpos = execute(SCI_POSITIONFROMPOINT, rcEditView.right() - rcEditView.left(), rcEditView.bottom() - rcEditView.top());\r\n\tline = execute(SCI_LINEFROMPOSITION, pos);\r\n\t*endPos = static_cast<int32_t>(execute(SCI_GETLINEENDPOSITION, line));\r\n}\r\n\r\nbool isUrlSchemeStartChar(QChar const c)\r\n{\r\n\treturn ((c >= 'A') && (c <= 'Z'))\r\n\t\t|| ((c >= 'a') && (c <= 'z'));\r\n}\r\n\r\nbool isUrlSchemeDelimiter(QChar const c)\r\n{\r\n\treturn   !(((c >= '0') && (c <= '9'))\r\n\t\t|| ((c >= 'A') && (c <= 'Z'))\r\n\t\t|| ((c >= 'a') && (c <= 'z'))\r\n\t\t|| (c == '_'));\r\n}\r\n\r\nbool scanToUrlStart(QString &text, int textLen, int start, int* distance, int* schemeLength)\r\n{\r\n\tint p = start;\r\n\tint p0 = 0;\r\n\tenum { sUnknown, sScheme } s = sUnknown;\r\n\twhile (p < textLen)\r\n\t{\r\n\t\tswitch (s)\r\n\t\t{\r\n\t\tcase sUnknown:\r\n\t\t\tif (isUrlSchemeStartChar(text[p]) && ((p == 0) || isUrlSchemeDelimiter(text[p - 1])))\r\n\t\t\t{\r\n\t\t\t\tp0 = p;\r\n\t\t\t\ts = sScheme;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase sScheme:\r\n\t\t\tif (text[p] == ':')\r\n\t\t\t{\r\n\t\t\t\t*distance = p0 - start;\r\n\t\t\t\t*schemeLength = p - p0 + 1;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\tif (!isUrlSchemeStartChar(text[p]))\r\n\t\t\t\ts = sUnknown;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tp++;\r\n\t}\r\n\t*schemeLength = 0;\r\n\t*distance = p - start;\r\n\treturn false;\r\n}\r\n\r\nbool isUrlTextChar(QChar const c)\r\n{\r\n\tif (c <= ' ') return false;\r\n\tswitch (c.digitValue())\r\n\t{\r\n\tcase ('\"'):\r\n\tcase ('#'):\r\n\tcase ('<'):\r\n\tcase ('>'):\r\n\tcase ('{'):\r\n\tcase ('}'):\r\n\tcase ('?'):\r\n\tcase ('\\u007F'):\r\n\t\treturn false;\r\n\t}\r\n\treturn true;\r\n}\r\n\r\nbool isUrlQueryDelimiter(QChar const c)\r\n{\r\n\tswitch (c.digitValue())\r\n\t{\r\n\tcase '&':\r\n\tcase '+':\r\n\tcase '=':\r\n\tcase ';':\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nvoid scanToUrlEnd(QString & text, int textLen, int start, int* distance)\r\n{\r\n\tint p = start;\r\n\tQChar q = 0;\r\n\tenum { sHostAndPath, sQuery, sQueryAfterDelimiter, sQueryQuotes, sQueryAfterQuotes, sFragment } s = sHostAndPath;\r\n\twhile (p < textLen)\r\n\t{\r\n\t\tswitch (s)\r\n\t\t{\r\n\t\tcase sHostAndPath:\r\n\t\t\tif (text[p] == QChar('?'))\r\n\t\t\t\ts = sQuery;\r\n\t\t\telse if (text[p] == '#')\r\n\t\t\t\ts = sFragment;\r\n\t\t\telse if (!isUrlTextChar(text[p]))\r\n\t\t\t{\r\n\t\t\t\t*distance = p - start;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase sQuery:\r\n\t\t\tif (text[p] == '#')\r\n\t\t\t\ts = sFragment;\r\n\t\t\telse if (isUrlQueryDelimiter(text[p]))\r\n\t\t\t\ts = sQueryAfterDelimiter;\r\n\t\t\telse if (!isUrlTextChar(text[p]))\r\n\t\t\t{\r\n\t\t\t\t*distance = p - start;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase sQueryAfterDelimiter:\r\n\t\t\tif ((text[p] == '\\'') || (text[p] == '\"') || (text[p] == '`'))\r\n\t\t\t{\r\n\t\t\t\tq = text[p];\r\n\t\t\t\ts = sQueryQuotes;\r\n\t\t\t}\r\n\t\t\telse if (text[p] == '(')\r\n\t\t\t{\r\n\t\t\t\tq = ')';\r\n\t\t\t\ts = sQueryQuotes;\r\n\t\t\t}\r\n\t\t\telse if (text[p] == '[')\r\n\t\t\t{\r\n\t\t\t\tq = ']';\r\n\t\t\t\ts = sQueryQuotes;\r\n\t\t\t}\r\n\t\t\telse if (text[p] == '{')\r\n\t\t\t{\r\n\t\t\t\tq = '}';\r\n\t\t\t\ts = sQueryQuotes;\r\n\t\t\t}\r\n\t\t\telse if (isUrlTextChar(text[p]))\r\n\t\t\t\ts = sQuery;\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t*distance = p - start;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase sQueryQuotes:\r\n\t\t\tif (text[p] < ' ')\r\n\t\t\t{\r\n\t\t\t\t*distance = p - start;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (text[p] == q)\r\n\t\t\t\ts = sQueryAfterQuotes;\r\n\t\t\tbreak;\r\n\r\n\t\tcase sQueryAfterQuotes:\r\n\t\t\tif (isUrlQueryDelimiter(text[p]))\r\n\t\t\t\ts = sQueryAfterDelimiter;\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t*distance = p - start;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase sFragment:\r\n\t\t\tif (!isUrlTextChar(text[p]))\r\n\t\t\t{\r\n\t\t\t\t*distance = p - start;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tp++;\r\n\t}\r\n\t*distance = p - start;\r\n}\r\n\r\n// removeUnwantedTrailingCharFromUrl removes a single unwanted trailing character from an URL.\r\n// It has to be called repeatedly, until it returns false, meaning that all unwanted characters are gone.\r\nbool removeUnwantedTrailingCharFromUrl(QChar const *text, int* length)\r\n{\r\n\tint l = *length - 1;\r\n\tif (l <= 0) return false;\r\n\t{ // remove unwanted single characters\r\n\t\tconst char *singleChars = \".,:;?!#\";\r\n\t\tfor (int i = 0; singleChars[i]; i++)\r\n\t\t\tif (text[l] == singleChars[i])\r\n\t\t\t{\r\n\t\t\t\t*length = l;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t}\r\n\t{ // remove unwanted closing parenthesis\r\n\t\tconst char *closingParenthesis = \")]\";\r\n\t\tconst char *openingParenthesis = \"([\";\r\n\t\tfor (int i = 0; closingParenthesis[i]; i++)\r\n\t\t\tif (text[l] == closingParenthesis[i])\r\n\t\t\t{\r\n\t\t\t\tint count = 0;\r\n\t\t\t\tfor (int j = l - 1; j >= 0; j--)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (text[j] == closingParenthesis[i])\r\n\t\t\t\t\t\tcount++;\r\n\t\t\t\t\tif (text[j] == openingParenthesis[i])\r\n\t\t\t\t\t\tif (count > 0)\r\n\t\t\t\t\t\t\tcount--;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (count != 0)\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t*length = l;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nbool isUrl(QString& text, int textLen, int start, int* segmentLen)\r\n{\r\n\tint dist = 0, schemeLen = 0;\r\n\tif (scanToUrlStart(text, textLen, start, &dist, &schemeLen))\r\n\t{\r\n\t\tif (dist)\r\n\t\t{\r\n\t\t\t*segmentLen = dist;\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tint len = 0;\r\n\t\tscanToUrlEnd(text, textLen, start + schemeLen, &len);\r\n\t\tif (len)\r\n\t\t{\r\n\t\t\tlen += schemeLen;\r\n\r\n\t\t\tQString urlStr = text.mid(start, len);\r\n\t\t\tif (urlStr.startsWith(\"http://\") || urlStr.startsWith(\"https://\"))\r\n\t\t\t{\r\n\r\n\t\t\t\tQUrl url(urlStr);\r\n\r\n\t\t\t\tbool r = url.isValid();\r\n\t\t\t\tif (r)\r\n\t\t\t\t{\r\n\t\t\t\t\twhile (removeUnwantedTrailingCharFromUrl(text.data() + start, &len));\r\n\t\t\t\t\t*segmentLen = len;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlen = 1;\r\n\t\tint lMax = textLen - start;\r\n\t\twhile (isUrlSchemeStartChar(text[start + len]) && (len < lMax)) len++;\r\n\t\t*segmentLen = len;\r\n\t\treturn false;\r\n\t}\r\n\t*segmentLen = dist;\r\n\treturn false;\r\n}\r\n\r\nquint32 ScintillaEditView::getBigTextBlockStartLine()\r\n{\r\n\treturn m_curBlockLineStartNum;\r\n}\r\n\r\nvoid ScintillaEditView::setBigTextBlockStartLine(quint32 line)\r\n{\r\n\tm_curBlockLineStartNum = line;\r\n}\r\n\r\nvoid ScintillaEditView::addHotSpot()\r\n{\r\n\tif (CCNotePad::s_hightWebAddr == 1)\r\n\t{\r\n\t\tint urlAction = urlNoUnderLineFg;\r\n\t\tint indicStyle = INDIC_PLAIN;\r\n\t\tint indicHoverStyle = INDIC_EXPLORERLINK;\r\n\t\tint indicStyleCur = this->execute(SCI_INDICGETSTYLE, URL_INDIC);\r\n\t\tint indicHoverStyleCur = this->execute(SCI_INDICGETHOVERSTYLE, URL_INDIC);\r\n\r\n\t\tif ((indicStyleCur != indicStyle) || (indicHoverStyleCur != indicHoverStyle))\r\n\t\t{\r\n\t\t\tthis->execute(SCI_INDICSETSTYLE, URL_INDIC, indicStyle);\r\n\t\t\tthis->execute(SCI_INDICSETHOVERSTYLE, URL_INDIC, indicHoverStyle);\r\n\t\t\tthis->execute(SCI_INDICSETALPHA, URL_INDIC, 70);\r\n\t\t\tthis->execute(SCI_INDICSETFLAGS, URL_INDIC, SC_INDICFLAG_VALUEFORE);\r\n\t\t}\r\n\r\n\t\tint startPos = 0;\r\n\t\tint endPos = -1;\r\n\t\tthis->getVisibleStartAndEndPosition(&startPos, &endPos);\r\n\t\tif (startPos >= endPos)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis->execute(SCI_SETINDICATORCURRENT, URL_INDIC);\r\n\t\tif (urlAction == urlDisable)\r\n\t\t{\r\n\t\t\tthis->execute(SCI_INDICATORCLEARRANGE, startPos, endPos - startPos);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tint indicFore = this->execute(SCI_STYLEGETFORE, STYLE_DEFAULT);\r\n\t\tthis->execute(SCI_SETINDICATORVALUE, indicFore);\r\n\r\n\t\tQByteArray encodedText;\r\n\t\tencodedText.resize(endPos - startPos);\r\n\t\tthis->getText(encodedText.data(), startPos, endPos);\r\n\r\n\t\tQString encodedTextStr(encodedText);\r\n\r\n\t\tint wideTextLen = encodedTextStr.size();\r\n\r\n\r\n\t\tif (wideTextLen > 0)\r\n\t\t{\r\n\t\t\tint startWide = 0;\r\n\t\t\tint lenWide = 0;\r\n\t\t\tint startEncoded = 0;\r\n\t\t\tint lenEncoded = 0;\r\n\t\t\twhile (true)\r\n\t\t\t{\r\n\t\t\t\tbool r = isUrl(encodedTextStr, encodedTextStr.size(), startWide, &lenWide);\r\n\t\t\t\tif (lenWide <= 0)\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tlenEncoded = encodedTextStr.mid(startWide, lenWide).toUtf8().size();\r\n\r\n\t\t\t\tif (r)\r\n\t\t\t\t\tthis->execute(SCI_INDICATORFILLRANGE, startEncoded + startPos, lenEncoded);\r\n\t\t\t\telse\r\n\t\t\t\t\tthis->execute(SCI_INDICATORCLEARRANGE, startEncoded + startPos, lenEncoded);\r\n\r\n\t\t\t\tstartWide += lenWide;\r\n\t\t\t\tstartEncoded += lenEncoded;\r\n\r\n\t\t\t\tif ((startWide >= wideTextLen) || ((startEncoded + startPos) >= endPos))\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tassert((startEncoded + startPos) == endPos);\r\n\t\t\tassert(startWide == wideTextLen);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::setStyleOptions()\r\n{\r\n#if 0\r\n\t//如果是黑色主题，则单独做一些风格设置\r\n\tif (StyleSet::m_curStyleId == BLACK_SE)\r\n\t{\r\n\t\tsetCaretLineBackgroundColor(QColor(0x333333));\r\n\t\tsetMatchedBraceForegroundColor(QColor(246, 81, 246));\r\n\t\tsetMatchedBraceBackgroundColor(QColor(18, 90, 36));\r\n\t\tsetCaretForegroundColor(QColor(255, 255, 255));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPEN, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDER, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERSUB, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERTAIL, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEREND, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPENMID, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERMIDTAIL, QColor(45, 130, 45), QColor(222, 222, 222));\r\n\t}\r\n\telse\r\n\t{\r\n\t\tsetCaretLineBackgroundColor(QColor(0xe8e8ff)); \r\n\t\tsetMatchedBraceForegroundColor(QColor(191, 141, 255));\r\n\t\tsetMatchedBraceBackgroundColor(QColor(222, 222, 222));\r\n\t\tsetCaretForegroundColor(QColor(0, 0, 0));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPEN, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDER, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERSUB, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERTAIL, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEREND, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPENMID, QColor(Qt::white), QColor(128, 128, 128));\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERMIDTAIL, QColor(Qt::white), QColor(128, 128, 128));\r\n\t}\r\n#endif\r\n}\r\n\r\n//在ScintillaEditView中直接设置这些One_Stype_Info的属性值\r\n//这里的style不一定是在lexer中的，而是默认的STYLE_*自定义的那些全局内部风格。\r\nvoid ScintillaEditView::updateThemes()\r\n{\r\n\t//第0个是GLOBAL_OVERRIDE，是Lexer的样式，不属于全局\r\n\tfor (int i = 1; i <= URL_HOVERRED; ++i)\r\n\t{\r\n\t\tsetGlobalFgColor(i);\r\n\t\tsetGlobalBgColor(i);\r\n\t\tsetGlobalFont(i);\r\n\t}\r\n}\r\n\r\nstatic void getFoldColor(QColor& fgColor, QColor& bgColor, QColor& activeFgColor)\r\n{\r\n\t//这里看起来反了，但是实际代码就是如此\r\n\tfgColor = StyleSet::s_global_style->fold.bgColor;\r\n\tbgColor = StyleSet::s_global_style->fold.fgColor;\r\n\t\r\n\tactiveFgColor = StyleSet::s_global_style->fold_active.fgColor;\r\n\t\r\n}\r\n\r\nvoid ScintillaEditView::setGlobalFgColor(int style)\r\n{\r\n\tswitch (style)\r\n\t{\r\n\t\tcase GLOBAL_OVERRIDE:\r\n\t\t{\r\n\t\t\t//全局前景色修改，是针对语法的lexer属性进行的修改，而非其余全局属性的修改。这点要区分开来\r\n\t\t}\r\n\t\tbreak;\r\n\r\n\t\tcase DEFAULT_STYLE:\r\n\t\t{\r\n\t\t\t//修改默认前景色\r\n\t\t\tSendScintilla(SCI_STYLESETFORE, StyleSet::s_global_style->default_style.styleId, StyleSet::s_global_style->default_style.fgColor);\r\n\t\t}\r\n\t\tbreak;\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETFORE, StyleSet::s_global_style->indent_guideline.styleId, StyleSet::s_global_style->indent_guideline.fgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETFORE, StyleSet::s_global_style->brace_highight.styleId, StyleSet::s_global_style->brace_highight.fgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETFORE, StyleSet::s_global_style->bad_brace_color.styleId, StyleSet::s_global_style->bad_brace_color.fgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\t\t//不能设置前景色，只能设置背景\r\n\t\tbreak;\r\n\t\t\r\n\tcase SELECT_TEXT_COLOR:\r\n\t\tSendScintilla(SCI_SETSELFORE, true, StyleSet::s_global_style->select_text_color.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase CARET_COLOUR:\r\n\t\tSendScintilla(SCI_SETCARETFORE, StyleSet::s_global_style->caret_colour.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase EDGE_COLOUR:\r\n\t\tSendScintilla(SCI_SETEDGECOLOUR, StyleSet::s_global_style->edge_colour.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETFORE, StyleSet::s_global_style->line_number_margin.styleId, StyleSet::s_global_style->line_number_margin.fgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BOOKMARK_MARGIN:\r\n\t\t//不能设置\r\n\t\tbreak;\r\n\r\n\tcase FOLD:\r\n\tcase FOLD_ACTIVE:\r\n\t{\r\n\t\tQColor foldfgColor = Qt::white, foldbgColor = Qt::gray, activeFoldFgColor = Qt::red;\r\n\t\tgetFoldColor(foldfgColor, foldbgColor, activeFoldFgColor);\r\n\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPEN, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDER, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERSUB, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERTAIL, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEREND, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPENMID, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERMIDTAIL, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\r\n\t\t//暂时开启，看看后面是否有错误\r\n\t\t//execute(SCI_MARKERENABLEHIGHLIGHT, true);\r\n\t}\r\n\t\tbreak;\r\n\r\n\tcase FOLD_MARGIN:\r\n\t\t//前景背景一起设置，不分开\r\n\t{\r\n\t\tsetFoldMarginColors(StyleSet::s_global_style->fold_margin.fgColor, StyleSet::s_global_style->fold_margin.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\t\tSendScintilla(SCI_SETWHITESPACEFORE, true, StyleSet::s_global_style->white_space_stybol.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\t//只能设置前景，不能设置背景\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_SMART, StyleSet::s_global_style->smart_highlighting.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase FIND_MARK_STYLE:\r\n\t\t//只能设置前景，不能设置背景。目前这条是空的，暂时没有使用\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE, StyleSet::s_global_style->find_mark_style.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase MARK_STYLE_1:\r\n\tcase MARK_STYLE_2:\r\n\tcase MARK_STYLE_3:\r\n\tcase MARK_STYLE_4:\r\n\tcase MARK_STYLE_5:\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\t\t//暂时没有使用\r\n\t\tbreak;\r\n\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_TAGMATCH, StyleSet::s_global_style->tags_match_highlight.fgColor);\r\n\t\tbreak;\r\n\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_TAGATTR, StyleSet::s_global_style->tags_attribute.fgColor);\r\n\t\tbreak;\r\n\r\n\t//case ACTIVE_TAB_FOCUSED:\r\n\t//case ACTIVE_TAB_UNFOCUSED:\r\n\t//case ACTIVE_TAB_TEXT:\r\n\t//case INACTIVE_TABS:\r\n\t//\tbreak;\r\n\r\n\tcase URL_HOVERRED:\r\n\t\tSendScintilla(SCI_INDICSETHOVERFORE, URL_INDIC, StyleSet::s_global_style->url_hoverred.fgColor);\r\n\t\tbreak;\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n};\r\n\r\nvoid ScintillaEditView::setGlobalBgColor(int style)\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase GLOBAL_OVERRIDE:\r\n\t{\r\n\r\n\t}\r\n\tbreak;\r\n\r\n\tcase DEFAULT_STYLE:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETBACK, StyleSet::s_global_style->default_style.styleId, StyleSet::s_global_style->default_style.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase INDENT_GUIDELINE:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETBACK, StyleSet::s_global_style->indent_guideline.styleId, StyleSet::s_global_style->indent_guideline.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETBACK, StyleSet::s_global_style->brace_highight.styleId, StyleSet::s_global_style->brace_highight.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t{\r\n\t\t//修改默认前景色\r\n\t\tSendScintilla(SCI_STYLESETBACK, StyleSet::s_global_style->bad_brace_color.styleId, StyleSet::s_global_style->bad_brace_color.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\t\t//不能设置前景色，只能设置背景\r\n\t\tSendScintilla(SCI_SETCARETLINEBACK, StyleSet::s_global_style->current_line_background_color.bgColor);\r\n\t\tbreak;\r\n\r\n\tcase SELECT_TEXT_COLOR:\r\n\t\tSendScintilla(SCI_SETSELBACK, true, StyleSet::s_global_style->select_text_color.bgColor);\r\n\t\tbreak;\r\n\r\n\tcase CARET_COLOUR:\r\n\t\t//不能设置\r\n\t\tbreak;\r\n\r\n\tcase EDGE_COLOUR:\r\n\t\t//不能设置\r\n\t\tbreak;\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t{\r\n\t\t//修改默认背景色\r\n\t\tSendScintilla(SCI_STYLESETBACK, StyleSet::s_global_style->line_number_margin.styleId, StyleSet::s_global_style->line_number_margin.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BOOKMARK_MARGIN:\r\n\t{\r\n\t\tif (StyleSet::s_global_style->bookmark_margin.bgColor.isValid())\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SETMARGINBACKN, _SC_MARGE_SYBOLE, StyleSet::s_global_style->bookmark_margin.bgColor);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tSendScintilla(SCI_SETMARGINBACKN, _SC_MARGE_SYBOLE, StyleSet::s_global_style->line_number_margin.bgColor);\r\n\t\t}\r\n\t}\r\n\t\tbreak;\r\n\r\n\tcase FOLD:\r\n\tcase FOLD_ACTIVE:\r\n\t{\r\n\t\tQColor foldfgColor = Qt::white, foldbgColor = Qt::gray, activeFoldFgColor = Qt::red;\r\n\t\tgetFoldColor(foldfgColor, foldbgColor, activeFoldFgColor);\r\n\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPEN, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDER, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERSUB, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERTAIL, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEREND, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDEROPENMID, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\t\tsetFoldColor(SC_MARKNUM_FOLDERMIDTAIL, foldfgColor, foldbgColor, activeFoldFgColor);\r\n\r\n\t\t//暂时不能开启。因为QT下面有一个1Pix的差异，如果开启，当前fold的变化会缺失1pix的宽度，看起来难看。\r\n\t\t// 这是QT的bug，暂时解决不了。\r\n\t\t//execute(SCI_MARKERENABLEHIGHLIGHT, true);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase FOLD_MARGIN:\r\n\t\t//前景背景一起设置，不分开\r\n\t{\r\n\t\tsetFoldMarginColors(StyleSet::s_global_style->fold_margin.fgColor, StyleSet::s_global_style->fold_margin.bgColor);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\t\t//不能设置\r\n\t\tbreak;\r\n\r\n\tcase SMART_HIGHLIGHTING:\r\n\t\t//不能设置\r\n\t\tbreak;\r\n\r\n\tcase FIND_MARK_STYLE:\r\n\t\t//不能设置\r\n\t\tbreak;\r\n\r\n\t//下面五个比较特殊，选择改动的是背景。单本质改动的样式却是前景\r\n\tcase MARK_STYLE_1:\r\n\t\t//只能设置前景，不能设置背景\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT5, StyleSet::s_global_style->mark_style_1.bgColor);\r\n\t\tchangeStyleColor(0);\r\n\t\tbreak;\r\n\r\n\tcase MARK_STYLE_2:\r\n\t\t//只能设置前景，不能设置背景\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT4, StyleSet::s_global_style->mark_style_2.bgColor);\r\n\t\tchangeStyleColor(1);\r\n\t\tbreak;\r\n\r\n\tcase MARK_STYLE_3:\r\n\t\t//只能设置前景，不能设置背景\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT3, StyleSet::s_global_style->mark_style_3.bgColor);\r\n\t\tchangeStyleColor(2);\r\n\t\tbreak;\r\n\r\n\tcase MARK_STYLE_4:\r\n\t\t//只能设置前景，不能设置背景\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT2, StyleSet::s_global_style->mark_style_4.bgColor);\r\n\t\tchangeStyleColor(3);\r\n\t\tbreak;\r\n\r\n\tcase MARK_STYLE_5:\r\n\t\t//只能设置前景，不能设置背景\r\n\t\tSendScintilla(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_EXT1, StyleSet::s_global_style->mark_style_5.bgColor);\r\n\t\tchangeStyleColor(4);\r\n\t\tbreak;\r\n\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\tcase TAGS_ATTRIBUTE:\r\n\t\tbreak;\r\n\r\n\t//case ACTIVE_TAB_FOCUSED:\r\n\t//case ACTIVE_TAB_UNFOCUSED:\r\n\t//case ACTIVE_TAB_TEXT:\r\n\t//case INACTIVE_TABS:\r\n\t//\tbreak;\r\n\tcase URL_HOVERRED:\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n};\r\n\r\n// Set the font for a style.\r\n//enum Font_Set_Bit {\r\n//\tBold_Bit = 0x1,\r\n//\tItalic_Bit = 0x2,\r\n//\tUnderline_Bit = 0x4,\r\n//\tFont_Name_Bit = 0x8,\r\n//\tFont_Size_Bit = 0x10,\r\n//};\r\nvoid ScintillaEditView::setStylesFont(const QFont& f, int style, int setBitMask)\r\n{\r\n\tif (setBitMask & Font_Name_Bit)\r\n\t{\r\n\t\tSendScintilla(SCI_STYLESETFONT, style, f.family().toUtf8().data());\r\n\t}\r\n\tif (setBitMask & Bold_Bit)\r\n\t{\r\n\t\tSendScintilla(SCI_STYLESETBOLD, style, f.bold());\r\n\t}\r\n\tif (setBitMask & Italic_Bit)\r\n\t{\r\n\t\tSendScintilla(SCI_STYLESETITALIC, style, f.italic());\r\n\t}\r\n\tif (setBitMask & Underline_Bit)\r\n\t{\r\n\t\tSendScintilla(SCI_STYLESETUNDERLINE, style, f.underline());\r\n\t}\r\n\r\n\tif (setBitMask & Font_Size_Bit && f.pointSize() > 2)\r\n\t{\r\n\t\tSendScintilla(SCI_STYLESETSIZE, style, f.pointSize());\r\n\t}\r\n\t//如果是行号大小变化，则必须动态计算行宽度\r\n\tif (style == STYLE_LINENUMBER)\r\n\t{\r\n\t\tupdateLineNumberWidth(1);\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::setGlobalFont(int style)\r\n{\r\n\tswitch (style)\r\n\t{\r\n\tcase GLOBAL_OVERRIDE:\r\n\tcase INDENT_GUIDELINE:\r\n\tcase CURRENT_LINE_BACKGROUND_COLOR:\r\n\tcase SELECT_TEXT_COLOR:\r\n\tcase CARET_COLOUR:\r\n\tcase EDGE_COLOUR:\r\n\tcase BOOKMARK_MARGIN:\r\n\tcase FOLD:\r\n\tcase FOLD_ACTIVE:\r\n\tcase FOLD_MARGIN:\r\n\tcase WHITE_SPACE_SYMBOL:\r\n\tcase SMART_HIGHLIGHTING:\r\n\tcase FIND_MARK_STYLE:\r\n\tcase MARK_STYLE_1:\r\n\tcase MARK_STYLE_2:\r\n\tcase MARK_STYLE_3:\r\n\tcase MARK_STYLE_4:\r\n\tcase MARK_STYLE_5:\r\n\tcase INCREMENTAL_HIGHLIGHT:\r\n\tcase TAGS_MATCH_HIGHLIGHT:\r\n\tcase TAGS_ATTRIBUTE:\r\n\t//case ACTIVE_TAB_FOCUSED:\r\n\t//case ACTIVE_TAB_UNFOCUSED:\r\n\t//case ACTIVE_TAB_TEXT:\r\n\t//case INACTIVE_TABS:\r\n\tcase URL_HOVERRED:\r\n\t\tbreak;\r\n\r\n\tcase DEFAULT_STYLE:\r\n\t{\r\n\t\tsetStylesFont(StyleSet::s_global_style->default_style.font, STYLE_DEFAULT, 0x1f);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BRACE_HIGHIGHT:\r\n\t{\r\n\t\tsetStylesFont(StyleSet::s_global_style->brace_highight.font, STYLE_BRACELIGHT, 0x1f);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase BAD_BRACE_COLOUR:\r\n\t{\r\n\t\tsetStylesFont(StyleSet::s_global_style->bad_brace_color.font, STYLE_BRACEBAD, 0x1f);\r\n\t}\r\n\tbreak;\r\n\r\n\tcase LINE_NUMBER_MARGIN:\r\n\t{\r\n\t\t//除了下划线不加，其余的都需要设置\r\n\t\tsetStylesFont(StyleSet::s_global_style->line_number_margin.font, STYLE_LINENUMBER, 0x1b);\r\n\t}\r\n\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n}\r\n\r\nbool ScintillaEditView::isFoldIndentBased() const\r\n{\r\n\tQsciLexer* lexer = this->lexer();\r\n\r\n\tif (lexer != nullptr)\r\n\t{\r\n\t\tint lexerId = lexer->lexerId();\r\n\r\n\t\treturn lexerId == L_PYTHON\r\n\t\t\t|| lexerId == L_COFFEESCRIPT\r\n\t\t\t|| lexerId == L_HASKELL\r\n\t\t\t|| lexerId == L_VB\r\n\t\t\t|| lexerId == L_YAML;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nconst int  MAX_FOLD_COLLAPSE_LEVEL = 8;\r\n\r\nstruct FoldLevelStack\r\n{\r\n\tint levelCount = 0;\r\n\tintptr_t levelStack[MAX_FOLD_COLLAPSE_LEVEL]{};\r\n\r\n\tvoid push(intptr_t level)\r\n\t{\r\n\t\twhile (levelCount != 0 && level <= levelStack[levelCount - 1])\r\n\t\t{\r\n\t\t\t--levelCount;\r\n\t\t}\r\n\t\tlevelStack[levelCount++] = level;\r\n\t}\r\n};\r\n\r\nbool ScintillaEditView::isFolded(size_t line)\r\n{\r\n\treturn (0 != execute(SCI_GETFOLDEXPANDED, line));\r\n};\r\n\r\nvoid ScintillaEditView::fold(size_t line, bool mode)\r\n{\r\n\tauto endStyled = execute(SCI_GETENDSTYLED);\r\n\tauto len = execute(SCI_GETTEXTLENGTH);\r\n\r\n\tif (endStyled < len)\r\n\t\texecute(SCI_COLOURISE, 0, -1);\r\n\r\n\tintptr_t headerLine;\r\n\tauto level = execute(SCI_GETFOLDLEVEL, line);\r\n\r\n\tif (level & SC_FOLDLEVELHEADERFLAG)\r\n\t\theaderLine = line;\r\n\telse\r\n\t{\r\n\t\theaderLine = execute(SCI_GETFOLDPARENT, line);\r\n\t\tif (headerLine == -1)\r\n\t\t\treturn;\r\n\t}\r\n\r\n\tif (isFolded(headerLine) != mode)\r\n\t{\r\n\t\texecute(SCI_TOGGLEFOLD, headerLine);\r\n\r\n\t\t//SCNotification scnN;\r\n\t\t//scnN.nmhdr.code = SCN_FOLDINGSTATECHANGED;\r\n\t\t//scnN.nmhdr.hwndFrom = _hSelf;\r\n\t\t//scnN.nmhdr.idFrom = 0;\r\n\t\t//scnN.line = headerLine;\r\n\t\t//scnN.foldLevelNow = isFolded(headerLine) ? 1 : 0; //folded:1, unfolded:0\r\n\r\n\t\t//::SendMessage(_hParent, WM_NOTIFY, 0, reinterpret_cast<LPARAM>(&scnN));\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::collapseFoldIndentBased(int level, bool mode)\r\n{\r\n\texecute(SCI_COLOURISE, 0, -1);\r\n\r\n\tFoldLevelStack levelStack;\r\n\t++level;\r\n\r\n\tconst intptr_t maxLine = execute(SCI_GETLINECOUNT);\r\n\tintptr_t line = 0;\r\n\r\n\twhile (line < maxLine)\r\n\t{\r\n\t\tintptr_t level = execute(SCI_GETFOLDLEVEL, line);\r\n\t\tif (level & SC_FOLDLEVELHEADERFLAG)\r\n\t\t{\r\n\t\t\tlevel &= SC_FOLDLEVELNUMBERMASK;\r\n\t\t\tlevelStack.push(level);\r\n\t\t\tif (level == levelStack.levelCount)\r\n\t\t\t{\r\n\t\t\t\tif (isFolded(line) != mode)\r\n\t\t\t\t{\r\n\t\t\t\t\tfold(line, mode);\r\n\t\t\t\t}\r\n\t\t\t\tline = execute(SCI_GETLASTCHILD, line, -1);\r\n\t\t\t}\r\n\t\t}\r\n\t\t++line;\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::collapse(int level, bool mode)\r\n{\r\n\tif (isFoldIndentBased())\r\n\t{\r\n\t\treturn collapseFoldIndentBased(level, mode);\r\n\t}\r\n\r\n\texecute(SCI_COLOURISE, 0, -1);\r\n\r\n\tintptr_t maxLine = execute(SCI_GETLINECOUNT);\r\n\r\n\tfor (int line = 0; line < maxLine; ++line)\r\n\t{\r\n\t\tintptr_t lineLevel = execute(SCI_GETFOLDLEVEL, line);\r\n\t\tif (lineLevel & SC_FOLDLEVELHEADERFLAG)\r\n\t\t{\r\n\t\t\tlineLevel -= SC_FOLDLEVELBASE;\r\n\t\t\tif (level == (lineLevel & SC_FOLDLEVELNUMBERMASK))\r\n\t\t\t\tif (isFolded(line) != mode)\r\n\t\t\t\t{\r\n\t\t\t\t\tfold(line, mode);\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvoid ScintillaEditView::comment(int type)\r\n{\r\n\tswitch (type)\r\n\t{\r\n\tcase ADD_DEL_LINE_COM:\r\n\t\tdoBlockComment(cm_toggle);\r\n\t\tbreak;\r\n\tcase ADD_BK_COM:\r\n\t\tdoStreamComment();\r\n\t\tbreak;\r\n\tcase DEL_BK_COM:\r\n\t\tundoStreamComment();\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n}\r\n\r\n#ifdef Q_OS_WIN\r\nvoid ScintillaEditView::deleteTailFileThread()\r\n{\r\n\tif (m_isInTailStatus)\r\n\t{\r\n\t\tm_isInTailStatus = false;\r\n\r\n\t\tqlonglong threadAddr = this->property(Tail_Thread).toLongLong();\r\n\r\n\t\tstd::thread* pListenThread = (std::thread*)(threadAddr);\r\n\r\n\t\tif (pListenThread->joinable())\r\n\t\t{\r\n\t\t\tpListenThread->join();\r\n\t\t}\r\n\r\n\t\tdelete pListenThread;\r\n\t}\r\n}\r\n#endif\r\n\r\n//显示markdown编辑器\r\nvoid ScintillaEditView::on_viewMarkdown()\r\n{\r\n\tif (m_markdownWin.isNull())\r\n\t{\r\n\t\tm_markdownWin = new MarkdownView(this);\r\n\t\tm_markdownWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\t\tconnect(this, &ScintillaEditView::textChanged, this, &ScintillaEditView::on_updataMarkdown);\r\n\t}\r\n\t\r\n\tQString text = this->text();\r\n\tm_markdownWin->viewMarkdown(text);\r\n\tm_markdownWin->show();\r\n}\r\n\r\nvoid ScintillaEditView::on_updataMarkdown()\r\n{\r\n\tif (!m_markdownWin.isNull())\r\n\t{\r\n\t\tQString text = this->text();\r\n\t\tm_markdownWin->viewMarkdown(text);\r\n\t\tm_markdownWin->show();\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/scintillaeditview.h",
    "content": "﻿#pragma once\r\n#include <qsciscintilla.h>\r\n#include <Scintilla.h>\r\n#include <SciLexer.h>\r\n#include <QMouseEvent>\r\n#include <QMimeData>\r\n#include <unordered_set>\r\n#include \"common.h\"\r\n#include \"Sorters.h\"\r\n#include \"markdownview.h\"\r\n\r\n\r\ntypedef sptr_t(*SCINTILLA_FUNC) (sptr_t ptr, unsigned int, uptr_t, sptr_t);\r\ntypedef sptr_t SCINTILLA_PTR;\r\n\r\n//const int MARK_BOOKMARK = 24;\r\n//const int MARK_HIDELINESBEGIN = 23;\r\n//const int MARK_HIDELINESEND = 22;\r\n//const int MARK_HIDELINESUNDERLINE = 21;\r\nconst int NB_FOLDER_STATE = 7;\r\n\r\nstruct LanguageName {\r\n\tconst QString lexerName;\r\n\tconst QString shortName;\r\n\tconst QString longName;\r\n\tLangType LangID = L_TXT;\r\n\tint lexerID = 0;\r\n};\r\n\r\nstruct PosInfo {\r\n\tint line;\r\n\tint index;\r\n\tPosInfo(int line_, int index_):line(line_),index(index_)\r\n\t{\r\n\r\n\t}\r\n};\r\n\r\nenum TextCaseType\r\n{\r\n\tUPPERCASE,\r\n\tLOWERCASE,\r\n\tTITLECASE_FORCE,\r\n\tTITLECASE_BLEND,\r\n\tSENTENCECASE_FORCE,\r\n\tSENTENCECASE_BLEND,\r\n\tINVERTCASE,\r\n\tRANDOMCASE\r\n};\r\n\r\nenum Comment_Mode \r\n{ \r\n\tcm_comment = 0, \r\n\tcm_uncomment, \r\n\tcm_toggle \r\n};\r\nconst bool L2R = true;\r\nconst bool R2L = false;\r\n\r\nstruct ColumnModeInfo {\r\n\tintptr_t _selLpos = 0;\r\n\tintptr_t _selRpos = 0;\r\n\tintptr_t _order = -1; // 0 based index\r\n\tbool _direction = L2R; // L2R or R2L\r\n\tintptr_t _nbVirtualCaretSpc = 0;\r\n\tintptr_t _nbVirtualAnchorSpc = 0;\r\n\r\n\tColumnModeInfo(intptr_t lPos, intptr_t rPos, intptr_t order, bool dir = L2R, intptr_t vAnchorNbSpc = 0, intptr_t vCaretNbSpc = 0)\r\n\t\t: _selLpos(lPos), _selRpos(rPos), _order(order), _direction(dir), _nbVirtualAnchorSpc(vAnchorNbSpc), _nbVirtualCaretSpc(vCaretNbSpc) {};\r\n\r\n\tbool isValid() const {\r\n\t\treturn (_order >= 0 && _selLpos >= 0 && _selRpos >= 0 && _selLpos <= _selRpos);\r\n\t};\r\n};\r\n\r\nstruct SortInPositionOrder {\r\n\tbool operator() (ColumnModeInfo& l, ColumnModeInfo& r) {\r\n\t\treturn (l._selLpos < r._selLpos);\r\n\t}\r\n};\r\n\r\nstruct SortInSelectOrder {\r\n\tbool operator() (ColumnModeInfo& l, ColumnModeInfo& r) {\r\n\t\treturn (l._order < r._order);\r\n\t}\r\n};\r\n\r\ntypedef std::vector<ColumnModeInfo> ColumnModeInfos;\r\n\r\nconst int MASK_FORMAT = 0x03;\r\nconst int MASK_ZERO_LEADING = 0x04;\r\nconst int BASE_10 = 0x00; // Dec\r\nconst int BASE_16 = 0x01; // Hex\r\nconst int BASE_08 = 0x02; // Oct\r\nconst int BASE_02 = 0x03; // Bin\r\n\r\n#define URL_INDIC 8\r\n\r\nenum urlMode {\r\n\turlDisable = 0, urlNoUnderLineFg, urlUnderLineFg, urlNoUnderLineBg, urlUnderLineBg,\r\n\turlMin = urlDisable,\r\n\turlMax = urlUnderLineBg\r\n};\r\n#define INDIC_EXPLORERLINK 22\r\n\r\nenum Font_Set_Bit {\r\n\tBold_Bit = 0x1,\r\n\tItalic_Bit = 0x2,\r\n\tUnderline_Bit = 0x4,\r\n\tFont_Name_Bit = 0x8,\r\n\tFont_Size_Bit = 0x10,\r\n\tALL_SET_Bit = 0x1f,\r\n};\r\n\r\nclass FindRecords;\r\nclass CCNotePad;\r\nstruct BigTextEditFileMgr;\r\n\r\nclass ScintillaEditView : public QsciScintilla\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tScintillaEditView(QWidget *parent,bool isBigText = false);\r\n\tvirtual ~ScintillaEditView();\r\n\r\n\tvirtual void setLexer(QsciLexer *lexer = 0);\r\n\r\n\tvoid setNoteWidget(QWidget* win);\r\n\t//void resetDefaultFontStyle();\r\n\tsptr_t execute(quint32 Msg, uptr_t wParam = 0, sptr_t lParam = 0) const;\r\n\r\n\tstatic QsciLexer * createLexer(int lexerId, QString tag=\"\", bool isOrigin=false, int styleId=-1);\r\n\tstatic QString getTagByLexerId(int lexerId);\r\n\r\n\tvoid appendMarkRecord(FindRecords *r);\r\n\tvoid releaseAllMark();\r\n\tQList<FindRecords*>& getCurMarkRecord();\r\n\r\n\tbool gotoPrePos();\r\n\tbool gotoNextPos();\r\n\r\n\t//设置文档的缩进参考线\r\n\tvoid setIndentGuide(bool willBeShowed);\r\n\r\n\tvoid convertSelectedTextTo(const TextCaseType & caseToConvert);\r\n\r\n\tvoid removeAnyDuplicateLines();\r\n\r\n\tvoid insertCharsFrom(size_t position, const QByteArray & text2insert) const;\r\n\r\n\r\n\tstd::pair<size_t, size_t> getSelectionLinesRange(intptr_t selectionNumber = -1) const;\r\n\r\n\tvoid insertNewLineAboveCurrentLine(bool check = true);\r\n\r\n\tvoid insertNewLineBelowCurrentLine(bool check = true);\r\n\r\n\tvoid sortLines(size_t fromLine, size_t toLine, ISorter * pSort);\r\n\r\n\r\n\tintptr_t lastZeroBasedLineNumber() const {\r\n\t\tauto endPos = execute(SCI_GETLENGTH);\r\n\t\treturn execute(SCI_LINEFROMPOSITION, endPos);\r\n\t};\r\n\r\n\tintptr_t getCurrentLineNumber()const {\r\n\t\treturn execute(SCI_LINEFROMPOSITION, execute(SCI_GETCURRENTPOS));\r\n\t};\r\n\r\n\tvoid bookmarkToggle(intptr_t lineno) const;\r\n\tvoid bookmarkClearAll() const;\r\n\tvoid bookmarkNext(bool forwardScan);\r\n\t\r\n\tvoid cutMarkedLines();\r\n\tvoid copyMarkedLines();\r\n\tvoid replaceMarkedline(int ln, QByteArray & str);\r\n\tvoid pasteToMarkedLines();\r\n\tvoid deleteMarkedLines(bool isMarked);\r\n\tvoid inverseMarks();\r\n\tintptr_t searchInTarget(QByteArray & text2Find, size_t fromPos, size_t toPos) const;\r\n\tintptr_t replaceTargetRegExMode(QByteArray & re, intptr_t fromTargetPos = -1, intptr_t toTargetPos = -1) const;\r\n\tintptr_t replaceTarget(QByteArray & str2replace, intptr_t fromTargetPos = -1, intptr_t toTargetPos = -1) const;\r\n\r\n\t//设置不同风格\r\n\tvoid setStyleOptions();\r\n\r\n\tColumnModeInfos getColumnModeSelectInfo();\r\n\r\n\tvoid columnReplace(ColumnModeInfos& cmi, QByteArray& str);\r\n\r\n\tvoid setMultiSelections(const ColumnModeInfos& cmi);\r\n\r\n\tvoid columnReplace(ColumnModeInfos& cmi, int initial, int incr, int repeat, int format, bool isCapital, QByteArray& prefix);\r\n\r\n\tvoid setBigTextMode(bool isBigText);\r\n\tvoid showBigTextLineAddr(qint64 fileOffset);\r\n\tvoid showBigTextLineAddr(qint64 fileStartOffset, qint64 fileEndOffset);\r\n\tvoid showBigTextRoLineNum(BigTextEditFileMgr* txtFile, int blockIndex);\r\n\tvoid updateThemes();\r\n\tvoid clearSuperBitLineCache();\r\n\r\n\t//下面三个函数，是设置全局样式的接口。全局样式不同于每个语法中的样式\r\n\tvoid setGlobalFgColor(int style);\r\n\tvoid setGlobalBgColor(int style);\r\n\tvoid setGlobalFont(int style);\r\n\t\r\n\t//获取当前块的开始行号。只在大文件只读模式下有效。其余模式下均返回0\r\n\tquint32 getBigTextBlockStartLine();\r\n\tvoid setBigTextBlockStartLine(quint32 line);\r\n\tvoid collapse(int level, bool mode);\r\n\tvoid comment(int type);\r\n#ifdef Q_OS_WIN\r\n\tvoid deleteTailFileThread();\r\n#endif\r\n\r\n\tvoid bookmarkAdd(QSet<int>& lineSet);\r\n\r\n\tstatic ScintillaEditView* createEditForSearch();\r\n\r\nsignals:\r\n\tvoid delayWork();\r\n\r\nprotected:\r\n\tvirtual void addHotSpot();\r\n\tvoid setStylesFont(const QFont& f, int style, int setBitMask = ALL_SET_Bit);\r\n\tvoid keyPressEvent(QKeyEvent* event) override;\r\n\tvirtual void mouseReleaseEvent(QMouseEvent* ev) override;\r\n\r\nprivate:\r\n\tScintillaEditView();\r\n\tvoid getText(char * dest, size_t start, size_t end) const;\r\n\r\n\tQString getGenericTextAsQString(size_t start, size_t end) const;\r\n\r\n\tQString getEOLString();\r\n\r\n\tvoid appandGenericText(const QByteArray & text2Append) const;\r\n\tQString getMarkedLine(int ln);\r\n\tvoid deleteMarkedline(int ln);\r\n\tvoid setFoldColor(int margin, QColor fgClack, QColor bkColor, QColor foreActive);\r\n\tbool doBlockComment(Comment_Mode currCommentMode);\r\n\tbool undoStreamComment(bool tryBlockComment = true);\r\n\tbool doStreamComment();\r\n\tvoid getVisibleStartAndEndPosition(int * startPos, int * endPos);\r\n\tvoid changeStyleColor(int sytleId);\r\n\tvoid initStyleColorMenu();\r\n\r\n\tbool isFolded(size_t line);\r\n\tvoid fold(size_t line, bool mode);\r\n\tvoid collapseFoldIndentBased(int level, bool mode);\r\n\tbool isFoldIndentBased() const;\r\n\r\n\r\npublic:\r\n\tstatic const int _SC_MARGE_LINENUMBER;\r\n\tstatic const int _SC_MARGE_SYBOLE;\r\n\tstatic const int _SC_MARGE_FOLDER;\r\n#ifdef Q_OS_WIN //目前这个破玩意压根没用\r\n\tstatic LanguageName langNames[L_EXTERNAL + 1];\r\n#endif\r\n\tstatic const int _markersArray[][NB_FOLDER_STATE];\r\n\r\nprotected:\r\n\tvoid dragEnterEvent(QDragEnterEvent* event) override;\r\n\tvoid dropEvent(QDropEvent* e) override;\r\n\tvoid mouseDoubleClickEvent(QMouseEvent *e) override;\r\n\tvoid contextUserDefineMenuEvent(QMenu * menu) override;\r\n\r\n\t\r\n\r\npublic slots:\r\n\tvoid updateLineNumberWidth(int lineNumberMarginDynamicWidth=0);\r\n\tvoid slot_linePosChanged(int line, int pos);\r\n\r\nprivate:\r\n\tvoid updateLineNumbersMargin(bool forcedToHide);\r\n\tvoid autoAdjustLineWidth(int xScrollValue);\r\n\tvoid showMargin(int whichMarge, bool willBeShowed);\r\n\tvoid init();\r\n\tvoid bookmarkAdd(intptr_t lineno) const;\r\n\tvoid bookmarkDelete(size_t lineno) const;\r\n\tbool bookmarkPresent(intptr_t lineno) const;\r\n\r\n\tvoid changeCase(const TextCaseType & caseToConvert, QString & strToConvert) const;\r\n\tvoid clearIndicator(int indicatorNumber);\r\n\r\n\tvoid highlightViewWithWord(QString & word2Hilite);\r\n\r\n\tvoid slot_markColorGroup(QAction * action);\r\n\r\n\tvoid replaceSelWith(const char* replaceText);\r\n\r\n\tvoid showWordNums();\r\nprivate slots:\r\n\tvoid slot_delayWork();\r\n\tvoid slot_scrollYValueChange(int value);\r\n\tvoid slot_clearHightWord();\r\n\r\n\tvoid slot_bookMarkClicked(int margin, int line, Qt::KeyboardModifiers state);\r\n\tvoid on_viewMarkdown();\r\n\tvoid on_updataMarkdown();\r\n\r\nprivate:\r\n\r\n\tSCINTILLA_FUNC m_pScintillaFunc;\r\n\tSCINTILLA_PTR  m_pScintillaPtr;\r\n\r\n\tCCNotePad* m_NoteWin;\r\n\tint m_preFirstLineNum;\r\n\r\n\tQList<FindRecords *> m_curMarkList;\r\n\r\n\tint m_curPos;\r\n\t//回退到上个位置\r\n\tQList<int> m_prePosRecord;\r\n\r\n\t//往前到下个位置\r\n\tQList<int> m_nextPosRecord;\r\n\r\n\tQPixmap* m_bookmarkPng;\r\n\r\n\tQMenu* m_styleColorMenu;\r\n\tQList<QAction*> m_styleMarkActList;\r\n\r\n\tbool m_isBigText;//大文本\r\n\r\n\tquint32 m_curBlockLineStartNum;\r\n\r\n\tQMap<qint64, quint32> m_addrLineNumMap;//大文本模式下，地址和行号的对应关系。只需要首尾即可\r\n\r\n\tQPointer<MarkdownView> m_markdownWin;\r\n\r\npublic:\r\n\tstatic int s_tabLens;\r\n\tstatic bool s_noUseTab;\r\n\tstatic int s_bigTextSize;\r\n\r\n\tbool m_hasHighlight;\r\n\r\n\r\n#ifdef Q_OS_WIN\r\n\tstd::atomic<bool> m_isInTailStatus;\r\n#endif\r\n};\r\n"
  },
  {
    "path": "src/scintillahexeditview.cpp",
    "content": "﻿#include \"scintillahexeditview.h\"\r\n#include \"styleset.h\"\r\n\r\n#include \"ccnotepad.h\"\r\n#include <stdexcept>\r\n#include <QMimeData>\r\n#include <QScrollBar>\r\n\r\nbool ScintillaHexEditView::_SciInit = false;\r\n#define DEFAULT_FONT_NAME \"Courier New\"\r\n\r\nconst int STYLE_COLOR_SELECT = 1;\r\n\r\nScintillaHexEditView::ScintillaHexEditView(QWidget *parent):QsciScintilla(parent), m_NoteWin(nullptr)\r\n{\r\n\tinit();\r\n}\r\n\r\nScintillaHexEditView::~ScintillaHexEditView()\r\n{\r\n}\r\n\r\nvoid ScintillaHexEditView::setNoteWidget(QWidget * win)\r\n{\r\n\tCCNotePad* pv = dynamic_cast<CCNotePad*>(win);\r\n\tif (pv != nullptr)\r\n\t{\r\n\t\tm_NoteWin = pv;\r\n}\r\n}\r\n\r\nsptr_t ScintillaHexEditView::execute(quint32 Msg, uptr_t wParam, sptr_t lParam) const {\r\n\ttry {\r\n\t\treturn (m_pScintillaFunc) ? m_pScintillaFunc(m_pScintillaPtr, Msg, wParam, lParam) : -1;\r\n\t}\r\n\tcatch (...)\r\n\t{\r\n\t\treturn -1;\r\n\t}\r\n};\r\n\r\nvoid ScintillaHexEditView::init()\r\n{\r\n\tif (!_SciInit)\r\n\t{\r\n\t\t_SciInit = true;\r\n\t}\r\n\r\n\tm_pScintillaFunc = (SCINTILLA_FUNC)this->SendScintillaPtrResult(SCI_GETDIRECTFUNCTION);\r\n\tm_pScintillaPtr = (SCINTILLA_PTR)this->SendScintillaPtrResult(SCI_GETDIRECTPOINTER);\r\n\r\n\r\n\tif (!m_pScintillaFunc)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTFUNCTION message failed\");\r\n\t}\r\n\r\n\tif (!m_pScintillaPtr)\r\n\t{\r\n\t\tthrow std::runtime_error(\"ScintillaEditView::init : SCI_GETDIRECTPOINTER message failed\");\r\n\t}\r\n\r\n\r\n\t//设置字体\r\n#if defined (Q_OS_MAC)\r\n    QFont font(DEFAULT_FONT_NAME, 12, QFont::Normal);\r\n#else\r\n\tQFont font(DEFAULT_FONT_NAME, 11, QFont::Normal);\r\n#endif\r\n\tsetFont(font);\r\n\tsetMarginsFont(font);\r\n\texecute(SCI_SETTABWIDTH, 4);\r\n\r\n\tupdateThemes();\r\n\r\n\tconnect(this->verticalScrollBar(), &QScrollBar::valueChanged, this, &ScintillaHexEditView::slot_scrollYValueChange);\r\n\r\n}\r\n\r\n//Y方向滚动条值变化后的槽函数\r\nvoid ScintillaHexEditView::slot_scrollYValueChange(int value)\r\n{\r\n\tif (value >= this->verticalScrollBar()->maximum())\r\n\t{\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tm_NoteWin->showChangePageTips(this);\r\n\t\t}\r\n\t}\r\n\telse if (value == this->verticalScrollBar()->minimum())\r\n\t{\r\n\t\tif (m_NoteWin != nullptr)\r\n\t\t{\r\n\t\t\tm_NoteWin->showChangePageTips(this);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid ScintillaHexEditView::dragEnterEvent(QDragEnterEvent* event)\r\n{\r\n\tevent->accept();\r\n\t}\r\n\t\r\n\r\nvoid ScintillaHexEditView::dropEvent(QDropEvent* e)\r\n{\r\n\tQList<QUrl> urls = e->mimeData()->urls();\r\n\tif (urls.isEmpty())\r\n\t\treturn;\r\n\r\n\tCCNotePad* pv = dynamic_cast<CCNotePad*>(m_NoteWin);\r\n\tif (pv != nullptr)\r\n\t\tpv->receiveEditDrop(e);\r\n\r\n\t//qDebug() << ui.leftSrc->geometry() << ui.rightSrc->geometry() << QCursor::pos() << this->mapFromGlobal(QCursor::pos());\r\n}\r\n\r\n\r\nvoid ScintillaHexEditView::updateThemes()\r\n{\r\n\t//如果是黑色主题，则单独做一些风格设置\r\n\tsetColor(StyleSet::s_global_style->default_style.fgColor);\r\n\tsetMarginsBackgroundColor(StyleSet::s_global_style->line_number_margin.bgColor);\r\n\tsetPaper(StyleSet::s_global_style->default_style.bgColor);\r\n}\r\n\r\nvoid  ScintillaHexEditView::setStyle(int style, int startPos, int length)\r\n{\r\n\tSendScintilla(SCI_STARTSTYLING, startPos);\r\n\tSendScintilla(SCI_SETSTYLING, length, style);\r\n}\r\n\r\n"
  },
  {
    "path": "src/scintillahexeditview.h",
    "content": "﻿#pragma once\r\n\r\n#include <qsciscintilla.h>\r\n#include <Scintilla.h>\r\n#include <Platform.h>\r\n#include <QDragEnterEvent>\r\n#include <QDropEvent>\r\n\r\ntypedef sptr_t(*SCINTILLA_FUNC) (sptr_t ptr, unsigned int, uptr_t, sptr_t);\r\ntypedef sptr_t SCINTILLA_PTR;\r\n\r\nclass CCNotePad;\r\nclass ScintillaHexEditView : public QsciScintilla\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tScintillaHexEditView(QWidget *parent = Q_NULLPTR);\r\n\tvirtual ~ScintillaHexEditView();\r\n\r\n\tvoid setNoteWidget(QWidget * win);\r\n\r\n\tsptr_t execute(quint32 Msg, uptr_t wParam = 0, sptr_t lParam = 0) const;\r\n\r\n\tvoid updateThemes();\r\n\r\nprivate:\r\n\tvoid init();\r\n\tvoid  setStyle(int style, int startPos, int length);\r\n\r\nprivate slots:\r\n\tvoid slot_scrollYValueChange(int value);\r\n\r\nprotected:\r\n\tvoid dragEnterEvent(QDragEnterEvent * event);\r\n\tvoid dropEvent(QDropEvent * e);\r\n\r\nprivate:\r\n\tstatic bool _SciInit;\r\n\r\n\tSCINTILLA_FUNC m_pScintillaFunc = nullptr;\r\n\tSCINTILLA_PTR  m_pScintillaPtr = 0;\r\n\r\n\tCCNotePad* m_NoteWin;\r\n};\r\n"
  },
  {
    "path": "src/shortcutkeyeditwin.cpp",
    "content": "#include \"shortcutkeyeditwin.h\"\r\n\r\n#include <QMessageBox> \r\n\r\nShortcutKeyEditWin::ShortcutKeyEditWin(QWidget *parent)\r\n\t: QDialog(parent)\r\n{\r\n\tui.setupUi(this);\r\n\tui.keySequenceEdit->setFocus();\r\n}\r\n\r\nShortcutKeyEditWin::~ShortcutKeyEditWin()\r\n{}\r\n\r\nvoid ShortcutKeyEditWin::setCurKeyDesc(QString desc)\r\n{\r\n\tui.curKeylineEdit->setText(desc);\r\n}\r\n\r\nvoid ShortcutKeyEditWin::setTitle(QString title)\r\n{\r\n\tthis->setWindowTitle(title);\r\n}\r\n\r\nQKeySequence ShortcutKeyEditWin::getNewKeySeq()\r\n{\r\n\treturn m_newKeys;\r\n}\r\n\r\n//ȷ޸ģȼһ¡ĸ\r\nvoid  ShortcutKeyEditWin::slot_ok()\r\n{\r\n\tQKeySequence keys = ui.keySequenceEdit->keySequence();\r\n\tif (keys.isEmpty())\r\n\t{\r\n\t\tQMessageBox::warning(this, tr(\"Error\"), tr(\"input right key !\"));\r\n\t\treturn;\r\n\t}\r\n\r\n\tm_newKeys = keys;\r\n\tdone(1);\r\n}\r\n\r\n//ɾΪ\r\nvoid  ShortcutKeyEditWin::on_delete()\r\n{\r\n\tdone(2);\r\n}\r\n"
  },
  {
    "path": "src/shortcutkeyeditwin.h",
    "content": "#pragma once\r\n\r\n#include <QDialog>\r\n#include \"ui_shortcutkeyeditwin.h\"\r\n\r\nclass ShortcutKeyEditWin : public QDialog\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tShortcutKeyEditWin(QWidget *parent = nullptr);\r\n\t~ShortcutKeyEditWin();\r\n\r\n\tvoid setCurKeyDesc(QString desc);\r\n\tQKeySequence getNewKeySeq();\r\n\tvoid setTitle(QString title);\r\n\r\nprivate slots:\r\n\tvoid slot_ok();\r\n\tvoid on_delete();\r\n\r\nprivate:\r\n\tUi::ShortcutKeyEditWinClass ui;\r\n\tQKeySequence m_newKeys;\r\n};\r\n"
  },
  {
    "path": "src/shortcutkeyeditwin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>ShortcutKeyEditWinClass</class>\r\n <widget class=\"QDialog\" name=\"ShortcutKeyEditWinClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>459</width>\r\n    <height>137</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>ShortcutKeyEditWin</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n   <item>\r\n    <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n     <item row=\"0\" column=\"0\">\r\n      <widget class=\"QLabel\" name=\"label\">\r\n       <property name=\"text\">\r\n        <string>Current Key Sequence:</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item row=\"0\" column=\"1\">\r\n      <widget class=\"QLineEdit\" name=\"curKeylineEdit\">\r\n       <property name=\"readOnly\">\r\n        <bool>true</bool>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item row=\"1\" column=\"0\">\r\n      <widget class=\"QLabel\" name=\"label_2\">\r\n       <property name=\"text\">\r\n        <string>New Key Sequence:</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item row=\"1\" column=\"1\">\r\n      <widget class=\"QKeySequenceEdit\" name=\"keySequenceEdit\"/>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"okBt\">\r\n       <property name=\"text\">\r\n        <string>Ok</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"cancelBt\">\r\n       <property name=\"text\">\r\n        <string>Cancel</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"deleteBt\">\r\n       <property name=\"text\">\r\n        <string>Delete</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>cancelBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ShortcutKeyEditWinClass</receiver>\r\n   <slot>reject()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>448</x>\r\n     <y>88</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>414</x>\r\n     <y>131</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>okBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ShortcutKeyEditWinClass</receiver>\r\n   <slot>slot_ok()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>163</x>\r\n     <y>88</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>186</x>\r\n     <y>128</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>deleteBt</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ShortcutKeyEditWinClass</receiver>\r\n   <slot>on_delete()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>332</x>\r\n     <y>111</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>311</x>\r\n     <y>130</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_ok()</slot>\r\n  <slot>on_reset()</slot>\r\n  <slot>on_delete()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/shortcutkeymgr.cpp",
    "content": "﻿#include \"shortcutkeymgr.h\"\r\n#include \"shortcutkeyeditwin.h\"\r\n#include \"ccnotepad.h\"\r\n\r\n#include <QTableWidgetItem>\r\n#include <QSettings>\r\n#include <Qsci/qscicommandset.h>\r\n#include <Qsci/qsciscintilla.h>\r\n#include <QDebug>\r\n\r\nQMap<QString, int>* ShortcutKeyMgr::s_shortcutKeysMap = nullptr;\r\n\r\nstruct ShortcutKeySt {\r\n\tQString iniTag;//保存在Ini文件中的名称\r\n\tQString name;//显示在表格中的名称\r\n\tQKeySequence key;\r\n\r\n\tbool canModify;//能否修改\r\n\r\n\tShortcutKeySt() = default;\r\n\tShortcutKeySt(QString name_, QString iniTag_, bool canMofidy=true) :name(name_), iniTag(iniTag_), canModify(canMofidy)\r\n\t{\r\n\r\n\t}\r\n\tShortcutKeySt(QString name_, QString iniTag_, QString keySeq, bool canMofidy = true) :name(name_), iniTag(iniTag_), canModify(canMofidy)\r\n\t{\r\n\t\tkey = QKeySequence(keySeq);\r\n\t}\r\n\r\n};\r\n\r\nQVector<ShortcutKeySt> shortCutTable;\r\n\r\n\r\nShortcutKeyMgr::ShortcutKeyMgr(QWidget *parent)\r\n\t: QMainWindow(parent)\r\n{\r\n\tui.setupUi(this);\r\n\tinitShortcutKeysMap();\r\n\tinitNddShortcutTable();\r\n\tm_pNoteEdit = parent;\r\n\tinitQscintShortcutTable();\r\n\r\n\tconnect(ui.tableWidget, &QTableWidget::itemDoubleClicked, this, &ShortcutKeyMgr::slot_edit);\r\n\r\n\tui.tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);\r\n\tui.tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);\r\n\tui.tableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);\r\n\tui.qscintTableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);\r\n\tui.qscintTableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);\r\n\tui.qscintTableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);\r\n\r\n\r\n\tQString tabQss = \"QHeaderView::section{\"\r\n\t\t\"border-top:0px solid #E5E5E5;\"\r\n\t\t\"border-left:0px solid #E5E5E5;\"\r\n\t\t\"border-right:0.5px solid #E5E5E5;\"\r\n\t\t\"border-bottom: 0.5px solid #E5E5E5;\"\r\n\t\t\"background-color:white;\"\r\n\t\t\"padding:4px;\"\r\n\t\t\"}\";\r\n\r\n\tui.tableWidget->horizontalHeader()->setStyleSheet(tabQss);\r\n\tui.tableWidget->verticalHeader()->setStyleSheet(tabQss);\r\n\r\n\tui.qscintTableWidget->horizontalHeader()->setStyleSheet(tabQss);\r\n\tui.qscintTableWidget->verticalHeader()->setStyleSheet(tabQss);\r\n\r\n}\r\n\r\nShortcutKeyMgr::~ShortcutKeyMgr()\r\n{}\r\n\r\nvoid ShortcutKeyMgr::initShortcutKeysMap()\r\n{\r\n\tif (s_shortcutKeysMap == nullptr)\r\n\t{\r\n\t\ts_shortcutKeysMap = new QMap<QString, int>();\r\n\r\n\t\tshortCutTable << ShortcutKeySt(tr(\"New File\"), New_File, QString(\"Ctrl+T\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Open File\"), Open_File, QString(\"Ctrl+O\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Save File\"), Save_File, QString(\"Ctrl+S\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Save All File\"), Save_All_File) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Close\"), Close, QString(\"Ctrl+W\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Close All\"), Close_All, QString(\"Ctrl+Shift+W\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Cut\"), Cut, QString(\"Ctrl+X\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Copy\"), Copy, QString(\"Ctrl+C\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Paste\"), Paste, QString(\"Ctrl+V\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Undo\"), Undo, QString(\"Ctrl+Z\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Redo\"), Redo, QString(\"Ctrl+Y\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Find\"), Find, QString(\"Ctrl+F\"), false) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Replace\"), Replace, QString(\"Ctrl+H\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Dir Find\"), DirFind, QString(\"Ctrl+Shift+D\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Mark\"), Mark) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"word highlight(F8)\"), Word_highlight, QString(\"F8\"))\\\r\n\t\t\t<< ShortcutKeySt(tr(\"clear all highlight(F7)\"), Clear_all_highlight, QString(\"F7\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Zoom In\"), Zoom_In) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Zoom Out\"), Zoom_Out) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Word Wrap\"), Word_Wrap) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Show Blank\"), Show_Blank) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Indent Guide\"), Indent_Guide) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Pre Hex Page\"), Pre_Page) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Next Hex Page\"), Next_Page)\\\r\n\t\t\t<< ShortcutKeySt(tr(\"Goto Hex Page\"), Goto_Page, QString(\"Ctrl+G\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"File Compare\"), File_Compare) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Dir Compare\"), Dir_Compare) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Bin Compare\"), Bin_Compare) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"transform encoding\"), Trans_code) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"batch rename file\"), Batch_rename) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Format Xml\"), Format_Xml) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Format Json\"), Format_Json) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Add/Del Line Comment\"), ADD_DELETE_LINE_COMMENT, QString(\"Ctrl+Q\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Add Block Comment\"), ADD_BLOCK_COMMENT, QString(\"Ctrl+K\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Del Block Comment\"), CANCEL_BLOCK_COMMENT, QString(\"Ctrl+Shift+K\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 1\"), FOLD_1, QString(\"Alt+1\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 2\"), FOLD_2, QString(\"Alt+2\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 3\"), FOLD_3, QString(\"Alt+3\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 4\"), FOLD_4, QString(\"Alt+4\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 5\"), FOLD_5, QString(\"Alt+5\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 6\"), FOLD_6, QString(\"Alt+6\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 7\"), FOLD_7, QString(\"Alt+7\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"Fold Level 8\"), FOLD_8, QString(\"Alt+8\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 1\"), UNFOLD_1, QString(\"Alt+Shift+1\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 2\"), UNFOLD_2, QString(\"Alt+Shift+2\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 3\"), UNFOLD_3, QString(\"Alt+Shift+3\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 4\"), UNFOLD_4, QString(\"Alt+Shift+4\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 5\"), UNFOLD_5, QString(\"Alt+Shift+5\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 6\"), UNFOLD_6, QString(\"Alt+Shift+6\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 7\"), UNFOLD_7, QString(\"Alt+Shift+7\")) \\\r\n\t\t\t<< ShortcutKeySt(tr(\"UNFold Level 8\"), UNFOLD_8, QString(\"Alt+Shift+8\"));\r\n\r\n\t\tfor (int i = 0; i < shortCutTable.size(); ++i)\r\n\t\t{\r\n\t\t\ts_shortcutKeysMap->insert(shortCutTable.at(i).iniTag, i);\r\n\t\t}\r\n\r\n\t\t//从文件中读取用户修改过的配置表。\r\n\t\tloadUserDefSet();\r\n\t}\r\n}\r\n\r\n//务必先调用initShortcutKeysMap()\r\nQKeySequence ShortcutKeyMgr::getUserDefShortcutKey(QString iniTag)\r\n{\r\n\tif (s_shortcutKeysMap->contains(iniTag))\r\n\t{\r\n\t\treturn shortCutTable.at(s_shortcutKeysMap->value(iniTag)).key;\r\n\t}\r\n\treturn QKeySequence();\r\n}\r\n\r\n//从用户ini配置中加载快捷键配置\r\nvoid ShortcutKeyMgr::loadUserDefSet()\r\n{\r\n\tQString userDefFile = QString(\"notepad/shortcuttab\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userDefFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tQStringList keys = qs.allKeys();\r\n\r\n\tQString keySeqStr;\r\n\r\n\tfor (int i = 0; i < keys.size(); ++i)\r\n\t{\r\n\t\tconst QString & initTag = keys.at(i);\r\n\r\n\t\tkeySeqStr = qs.value(initTag).toString();\r\n\r\n\t\tif (s_shortcutKeysMap->contains(initTag))\r\n\t\t{\r\n\t\t\tint index = s_shortcutKeysMap->value(initTag);\r\n\t\t\tshortCutTable[index].key = QKeySequence(keySeqStr);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//修改配置文件中的快捷键定义。inittag ini的key, keySeqStr ini的value。内存也修改了\r\nbool ShortcutKeyMgr::ModifyShortCutKey(QString initTag, QString keySeqStr)\r\n{\r\n\tQString userDefFile = QString(\"notepad/shortcuttab\");\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userDefFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tif (s_shortcutKeysMap->contains(initTag))\r\n\t{\r\n\t\tint index = s_shortcutKeysMap->value(initTag);\r\n\t\tif (!shortCutTable[index].canModify)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tshortCutTable[index].key = QKeySequence(keySeqStr);\r\n\t\tqs.setValue(initTag, keySeqStr);\r\n\t\tqs.sync();\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nvoid ShortcutKeyMgr::initNddShortcutTable()\r\n{\r\n\tfor (int i = 0; i < shortCutTable.size(); ++i)\r\n\t{\r\n\t\tui.tableWidget->insertRow(i);\r\n\r\n\t\tQTableWidgetItem* item = new QTableWidgetItem(shortCutTable.at(i).name);\r\n\t\titem->setFlags(item->flags() & ~Qt::ItemIsEditable);\r\n\t\tui.tableWidget->setItem(i, 0, item);\r\n\r\n\t\tqDebug() << shortCutTable.at(i).key.toString();\r\n\t\tQTableWidgetItem* item1 = new QTableWidgetItem(shortCutTable.at(i).key.toString());\r\n\t\tui.tableWidget->setItem(i, 1, item1);\r\n\r\n\t\tif (!shortCutTable.at(i).canModify)\r\n\t\t{\r\n\t\t\tQTableWidgetItem* item2 = new QTableWidgetItem(tr(\"Can't Modify\"));\r\n\t\t\tui.tableWidget->setItem(i, 2, item2);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tQTableWidgetItem* item2 = new QTableWidgetItem(tr(\"Double Click To Modify\"));\r\n\t\t\tui.tableWidget->setItem(i, 2, item2);\r\n\t\t}\r\n\t\t\r\n\t}\r\n}\r\n\r\n//初始化qscint内部的快捷键。目前这部分不能修改。\r\nvoid ShortcutKeyMgr::initQscintShortcutTable()\r\n{\r\n\tQsciScintilla* pNote = new QsciScintilla(nullptr);\r\n\tQsciCommandSet* cmdSet = pNote->standardCommands();\r\n\r\n\tQList<QsciCommand*>& cmdList = cmdSet->commands();\r\n\r\n\tint rowNum = 0;\r\n\tfor (int i = 0; i < cmdList.size(); ++i)\r\n\t{\r\n\t\tif (cmdList.at(i)->key() == 0)\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tui.qscintTableWidget->insertRow(rowNum);\r\n\r\n\t\tQTableWidgetItem* item = new QTableWidgetItem(cmdList.at(i)->description());\r\n\t\titem->setFlags(item->flags() & ~Qt::ItemIsEditable);\r\n\t\tui.qscintTableWidget->setItem(rowNum, 0, item);\r\n\r\n\t\tQTableWidgetItem* item1 = new QTableWidgetItem(QKeySequence(cmdList.at(i)->key()).toString());\r\n\t\tui.qscintTableWidget->setItem(rowNum, 1, item1);\r\n\r\n\t\tQTableWidgetItem* item2 = new QTableWidgetItem(tr(\"Can't Modify\"));\r\n\t\tui.qscintTableWidget->setItem(rowNum, 2, item2);\r\n\r\n\t\t++rowNum;\r\n\t\t\r\n\t}\r\n\tdelete pNote;\r\n}\r\n\r\n//type 0 ndd 1 qscint\r\nint ShortcutKeyMgr::isKeySeqExist(int row, QString keySeq, int &type)\r\n{\r\n\tint c = ui.tableWidget->rowCount();\r\n\tfor (int i = 0; i < c; ++i)\r\n\t{\r\n\t\tif (i == row)\r\n\t\t{\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (ui.tableWidget->item(i, 1)->text() == keySeq)\r\n\t\t{\r\n\t\t\ttype = 0;\r\n\t\t\treturn i;\r\n\t\t}\r\n\t}\r\n\r\n\tc = ui.qscintTableWidget->rowCount();\r\n\r\n\tfor (int i = 0; i < c; ++i)\r\n\t{\r\n\t\tif (ui.qscintTableWidget->item(i, 1)->text() == keySeq)\r\n\t\t{\r\n\t\t\ttype = 1;\r\n\t\t\treturn i;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\n//双击修改槽函数\r\nvoid ShortcutKeyMgr::slot_edit(QTableWidgetItem* item)\r\n{\r\n\tint row = item->row();\r\n\t\r\n\tif (!shortCutTable.at(row).canModify)\r\n\t{\r\n\t\tui.plainTextEdit->setPlainText(tr(\"row %1 shortcut key '%2' can't modify !\").arg(row + 1).arg(shortCutTable.at(row).key.toString()));\r\n\t\treturn;\r\n\t}\r\n\r\n\tShortcutKeyEditWin* pWin = new ShortcutKeyEditWin(this);\r\n\tpWin->setTitle(shortCutTable.at(row).name);\r\n\tpWin->setCurKeyDesc(shortCutTable.at(row).key.toString());\r\n\r\n\tint ret = pWin->exec();\r\n\tif (1 == ret) //确定\r\n\t{\r\n\t\tQKeySequence newKeySeq = pWin->getNewKeySeq();\r\n\r\n\t\tQTableWidgetItem* item = ui.tableWidget->item(row, 1);\r\n\t\tif (item != nullptr)\r\n\t\t{\r\n\t\t\t//检查是否冲突，如果冲突，则不设置。先预留\r\n\t\t\tint conflictType = 0;\r\n\t\t\tint existId = isKeySeqExist(row, newKeySeq.toString(), conflictType);\r\n\t\t\tif (-1 == existId)\r\n\t\t\t{\r\n\t\t\t\tif (ModifyShortCutKey(shortCutTable.at(row).iniTag, newKeySeq.toString()))\r\n\t\t\t\t{\r\n\t\t\t\t\tCCNotePad* pNotePad = dynamic_cast<CCNotePad*>(m_pNoteEdit);\r\n\t\t\t\t\tif (pNotePad != nullptr)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpNotePad->setUserDefShortcutKey(row);\r\n\t\t\t\t\t}\r\n\t\t\t\t\titem->setText(newKeySeq.toString());\r\n\t\t\t\t\tui.plainTextEdit->setPlainText(tr(\"modify row %1 to '%2' shortcut key success!\").arg(row + 1).arg(newKeySeq.toString()));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tui.plainTextEdit->setPlainText(tr(\"error:modify row %1 to '%2' shortcut key failed !\").arg(row + 1).arg(newKeySeq.toString()));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (conflictType == 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tui.plainTextEdit->setPlainText(tr(\"conflict error! '%1' Already exist at row %2\").arg(newKeySeq.toString()).arg(existId + 1));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tui.plainTextEdit->setPlainText(tr(\"conflict error! '%1' Already exist at qscint row %2\").arg(newKeySeq.toString()).arg(existId + 1));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse if (2 == ret)//删除\r\n\t{\r\n\t\tQKeySequence newKeySeq(QKeySequence::UnknownKey);\r\n\r\n\t\tQTableWidgetItem* item = ui.tableWidget->item(row, 1);\r\n\t\tif (item != nullptr)\r\n\t\t{\r\n\t\t\tif (ModifyShortCutKey(shortCutTable.at(row).iniTag, newKeySeq.toString()))\r\n\t\t\t{\r\n\t\t\t\tCCNotePad* pNotePad = dynamic_cast<CCNotePad*>(m_pNoteEdit);\r\n\t\t\t\tif (pNotePad != nullptr)\r\n\t\t\t\t{\r\n\t\t\t\t\tpNotePad->setUserDefShortcutKey(row);\r\n\t\t\t\t}\r\n\t\t\t\titem->setText(newKeySeq.toString());\r\n\t\t\t\tui.plainTextEdit->setPlainText(tr(\"modify row %1 to '%2' shortcut key success!\").arg(row + 1).arg(\"NULL\"));\r\n\t\t\t}\r\n\telse\r\n\t{\r\n\t\t\t\tui.plainTextEdit->setPlainText(tr(\"error:modify row %1 to '%2' shortcut key failed !\").arg(row + 1).arg(\"NULL\"));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.plainTextEdit->setPlainText(tr(\"modify canceled !\"));\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/shortcutkeymgr.h",
    "content": "﻿#pragma once\r\n\r\n#include <QMainWindow>\r\n#include \"ui_shortcutkeymgr.h\"\r\n\r\nenum Shortcut_Key_ID {\r\n\tNew_File_ID=0,\r\n\tOpen_File_ID,\r\n\tSave_File_ID,\r\n\tSave_All_File_ID,\r\n\tClose_ID,\r\n\tClose_All_ID,\r\n\tCut_ID,\r\n\tCopy_ID,\r\n\tPaste_ID,\r\n\tUndo_ID,\r\n\tRedo_ID,\r\n\tFind_ID,\r\n\tReplace_ID,\r\n\tDir_Find_ID,\r\n\tMark_ID,\r\n\tWord_highlight_ID,\r\n\tClear_all_highlight_ID,\r\n\tZoom_In_ID,\r\n\tZoom_Out_ID,\r\n\tWord_Wrap_ID,\r\n\tShow_Blank_ID,\r\n\tIndent_Guide_ID,\r\n\tPre_Page_ID,\r\n\tNext_Page_ID,\r\n\tGoto_Page_ID,\r\n\tFile_Compare_ID,\r\n\tDir_Compare_ID,\r\n\tBin_Compare_ID,\r\n\tTrans_code_ID,\r\n\tBatch_rename_ID,\r\n\tFormat_Xml_ID,\r\n\tFormat_Json_ID,\r\n\tADD_DEL_LINE_COM,\r\n\tADD_BK_COM,\r\n\tDEL_BK_COM,\r\n\tS_K_FOLD_1,\r\n\tS_K_FOLD_2,\r\n\tS_K_FOLD_3,\r\n\tS_K_FOLD_4,\r\n\tS_K_FOLD_5,\r\n\tS_K_FOLD_6,\r\n\tS_K_FOLD_7,\r\n\tS_K_FOLD_8,\r\n\tS_K_UNFOLD_1,\r\n\tS_K_UNFOLD_2,\r\n\tS_K_UNFOLD_3,\r\n\tS_K_UNFOLD_4,\r\n\tS_K_UNFOLD_5,\r\n\tS_K_UNFOLD_6,\r\n\tS_K_UNFOLD_7,\r\n\tS_K_UNFOLD_8,\r\n\r\n\tShortcut_End_ID,//总是在最底下\r\n};\r\n\r\nstatic const char* New_File = \"newfile\";\r\nstatic const char* Open_File = \"openfile\";\r\nstatic const char* Save_File = \"savefile\";\r\nstatic const char* Save_All_File = \"saveall\";\r\nstatic const char* Close = \"close\";\r\nstatic const char* Close_All = \"closeall\";\r\nstatic const char* Cut = \"cut\";\r\nstatic const char* Copy = \"copy\";\r\nstatic const char* Paste = \"paste\";\r\nstatic const char* Undo = \"undo\";\r\nstatic const char* Redo = \"redo\";\r\nstatic const char* Find = \"find\";\r\nstatic const char* Replace = \"replace\";\r\nstatic const char* DirFind = \"dirfind\";\r\nstatic const char* Mark = \"mark\";\r\nstatic const char* Word_highlight = \"wordlight\";\r\nstatic const char* Clear_all_highlight = \"clearwordlight\";\r\nstatic const char* Zoom_In = \"zoomin\";\r\nstatic const char* Zoom_Out =\"zoomout\";\r\nstatic const char* Word_Wrap = \"wordwrap\";\r\nstatic const char* Show_Blank = \"showblank\";\r\nstatic const char* Indent_Guide = \"indentguide\";\r\nstatic const char* Pre_Page = \"prepage\";\r\nstatic const char* Next_Page = \"nextpage\";\r\nstatic const char* Goto_Page = \"goto\";\r\nstatic const char* File_Compare = \"filecmp\";\r\nstatic const char* Dir_Compare =\"dircmp\";\r\nstatic const char* Bin_Compare =\"bincmp\";\r\nstatic const char* Trans_code = \"transcode\";\r\nstatic const char* Batch_rename = \"batchrename\";\r\nstatic const char* Format_Xml = \"formatxml\";\r\nstatic const char* Format_Json = \"formatjson\";\r\n\r\nstatic const char* ADD_DELETE_LINE_COMMENT = \"linecom\";\r\nstatic const char* ADD_BLOCK_COMMENT = \"bkcom\";\r\nstatic const char* CANCEL_BLOCK_COMMENT = \"cbkcom\";\r\n\r\nstatic const char* FOLD_1 = \"fold_1\";\r\nstatic const char* FOLD_2 = \"fold_2\";\r\nstatic const char* FOLD_3 = \"fold_3\";\r\nstatic const char* FOLD_4 = \"fold_4\";\r\nstatic const char* FOLD_5 = \"fold_5\";\r\nstatic const char* FOLD_6 = \"fold_6\";\r\nstatic const char* FOLD_7 = \"fold_7\";\r\nstatic const char* FOLD_8 = \"fold_8\";\r\nstatic const char* UNFOLD_1 = \"unfold_1\";\r\nstatic const char* UNFOLD_2 = \"unfold_2\";\r\nstatic const char* UNFOLD_3 = \"unfold_3\";\r\nstatic const char* UNFOLD_4 = \"unfold_4\";\r\nstatic const char* UNFOLD_5 = \"unfold_5\";\r\nstatic const char* UNFOLD_6 = \"unfold_6\";\r\nstatic const char* UNFOLD_7 = \"unfold_7\";\r\nstatic const char* UNFOLD_8 = \"unfold_8\";\r\n\r\nclass ShortcutKeyMgr : public QMainWindow\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tShortcutKeyMgr(QWidget *parent = nullptr);\r\n\t~ShortcutKeyMgr();\r\n\tstatic void initShortcutKeysMap();\r\n\tstatic QKeySequence getUserDefShortcutKey(QString iniTag);\r\n\r\nprivate:\r\n\t\r\n\tvoid initNddShortcutTable();\r\n\tvoid initQscintShortcutTable();\r\n\r\n\tstatic void loadUserDefSet();\r\n\tint isKeySeqExist(int row, QString keySeq, int& type);\r\n\tbool ModifyShortCutKey(QString initTag, QString keySeqStr);\r\nprivate slots:\r\n\tvoid slot_edit(QTableWidgetItem* item);\r\n\r\nprivate:\r\n\tUi::ShortcutKeyMgrClass ui;\r\n\tstatic QMap<QString, int>* s_shortcutKeysMap;\r\n\r\n\tQWidget* m_pNoteEdit;\r\n};\r\n"
  },
  {
    "path": "src/shortcutkeymgr.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>ShortcutKeyMgrClass</class>\r\n <widget class=\"QMainWindow\" name=\"ShortcutKeyMgrClass\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>766</width>\r\n    <height>508</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>ShortcutKeyMgr</string>\r\n  </property>\r\n  <widget class=\"QWidget\" name=\"centralWidget\">\r\n   <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n    <property name=\"spacing\">\r\n     <number>2</number>\r\n    </property>\r\n    <property name=\"leftMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"topMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <property name=\"rightMargin\">\r\n     <number>2</number>\r\n    </property>\r\n    <property name=\"bottomMargin\">\r\n     <number>3</number>\r\n    </property>\r\n    <item>\r\n     <widget class=\"QTabWidget\" name=\"tabWidget\">\r\n      <property name=\"currentIndex\">\r\n       <number>0</number>\r\n      </property>\r\n      <widget class=\"QWidget\" name=\"tab\">\r\n       <attribute name=\"title\">\r\n        <string>Ndd Shortcut</string>\r\n       </attribute>\r\n       <layout class=\"QGridLayout\" name=\"gridLayout_2\">\r\n        <property name=\"leftMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <property name=\"topMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <property name=\"rightMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <property name=\"bottomMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <item row=\"0\" column=\"0\">\r\n         <widget class=\"QTableWidget\" name=\"tableWidget\">\r\n          <property name=\"editTriggers\">\r\n           <set>QAbstractItemView::NoEditTriggers</set>\r\n          </property>\r\n          <attribute name=\"verticalHeaderShowSortIndicator\" stdset=\"0\">\r\n           <bool>false</bool>\r\n          </attribute>\r\n          <column>\r\n           <property name=\"text\">\r\n            <string>Function</string>\r\n           </property>\r\n          </column>\r\n          <column>\r\n           <property name=\"text\">\r\n            <string>Shortcut Key</string>\r\n           </property>\r\n          </column>\r\n          <column>\r\n           <property name=\"text\">\r\n            <string>Comment</string>\r\n           </property>\r\n          </column>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n      <widget class=\"QWidget\" name=\"tab_2\">\r\n       <attribute name=\"title\">\r\n        <string>Qscint Shortcut</string>\r\n       </attribute>\r\n       <layout class=\"QGridLayout\" name=\"gridLayout_3\">\r\n        <property name=\"leftMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <property name=\"topMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <property name=\"rightMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <property name=\"bottomMargin\">\r\n         <number>0</number>\r\n        </property>\r\n        <item row=\"0\" column=\"0\">\r\n         <widget class=\"QTableWidget\" name=\"qscintTableWidget\">\r\n          <property name=\"editTriggers\">\r\n           <set>QAbstractItemView::NoEditTriggers</set>\r\n          </property>\r\n          <column>\r\n           <property name=\"text\">\r\n            <string>Function</string>\r\n           </property>\r\n          </column>\r\n          <column>\r\n           <property name=\"text\">\r\n            <string>Shortcut Key</string>\r\n           </property>\r\n          </column>\r\n          <column>\r\n           <property name=\"text\">\r\n            <string>Comment</string>\r\n           </property>\r\n          </column>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <widget class=\"QPlainTextEdit\" name=\"plainTextEdit\">\r\n      <property name=\"maximumSize\">\r\n       <size>\r\n        <width>16777215</width>\r\n        <height>50</height>\r\n       </size>\r\n      </property>\r\n     </widget>\r\n    </item>\r\n    <item>\r\n     <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n      <item>\r\n       <spacer name=\"horizontalSpacer\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n      <item>\r\n       <widget class=\"QPushButton\" name=\"pushButton_2\">\r\n        <property name=\"text\">\r\n         <string>Close</string>\r\n        </property>\r\n       </widget>\r\n      </item>\r\n      <item>\r\n       <spacer name=\"horizontalSpacer_2\">\r\n        <property name=\"orientation\">\r\n         <enum>Qt::Horizontal</enum>\r\n        </property>\r\n        <property name=\"sizeHint\" stdset=\"0\">\r\n         <size>\r\n          <width>40</width>\r\n          <height>20</height>\r\n         </size>\r\n        </property>\r\n       </spacer>\r\n      </item>\r\n     </layout>\r\n    </item>\r\n   </layout>\r\n  </widget>\r\n  <widget class=\"QToolBar\" name=\"mainToolBar\">\r\n   <attribute name=\"toolBarArea\">\r\n    <enum>TopToolBarArea</enum>\r\n   </attribute>\r\n   <attribute name=\"toolBarBreak\">\r\n    <bool>false</bool>\r\n   </attribute>\r\n  </widget>\r\n  <widget class=\"QStatusBar\" name=\"statusBar\"/>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>pushButton_2</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>ShortcutKeyMgrClass</receiver>\r\n   <slot>close()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>432</x>\r\n     <y>465</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>465</x>\r\n     <y>481</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n</ui>\r\n"
  },
  {
    "path": "src/statuswidget.cpp",
    "content": "﻿#include \"statuswidget.h\"\r\n\r\nStatusWidget::StatusWidget(QWidget *parent)\r\n\t: QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\nStatusWidget::~StatusWidget()\r\n{\r\n}\r\n\r\nvoid StatusWidget::setTipMsg(QString msg)\r\n{\r\n\tui.msgLable->setText(msg);\r\n}\r\n\r\n"
  },
  {
    "path": "src/statuswidget.h",
    "content": "﻿#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_statuswidget.h\"\r\n\r\nclass StatusWidget : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tStatusWidget(QWidget *parent = Q_NULLPTR);\r\n\t~StatusWidget();\r\n\r\n\tvoid setTipMsg(QString msg);\r\n\r\nprivate:\r\n\tUi::StatusWidget ui;\r\n};\r\n"
  },
  {
    "path": "src/statuswidget.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>StatusWidget</class>\r\n <widget class=\"QWidget\" name=\"StatusWidget\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>715</width>\r\n    <height>81</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"contextMenuPolicy\">\r\n   <enum>Qt::NoContextMenu</enum>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string/>\r\n  </property>\r\n  <layout class=\"QGridLayout\" name=\"gridLayout\">\r\n   <property name=\"topMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"bottomMargin\">\r\n    <number>0</number>\r\n   </property>\r\n   <property name=\"spacing\">\r\n    <number>0</number>\r\n   </property>\r\n   <item row=\"0\" column=\"0\">\r\n    <widget class=\"QLabel\" name=\"msgLable\">\r\n     <property name=\"text\">\r\n      <string>notice msg</string>\r\n     </property>\r\n    </widget>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections/>\r\n</ui>\r\n"
  },
  {
    "path": "src/styleset.cpp",
    "content": "#include \"styleset.h\"\r\n#include \"ccnotepad.h\"\r\n#include <QFile>\r\n#include <QPalette>\r\n#include <QApplication>\r\n#include <QDebug>\r\n#include <Qsci/qscilexerglobal.h>\r\n\r\n\r\nQColor StyleSet::foldfgColor(0xe9, 0xe9, 0xe9, 100);\r\nQColor StyleSet::foldbgColor(0xff, 0xff, 0xff);\r\nQColor StyleSet::marginsBackgroundColor(0xf0f0f0);\r\nQColor StyleSet::bookmarkBkColor(0xececec);\r\n\r\nint StyleSet::m_curStyleId = 0;\r\n\r\n\r\nGLOBAL_STYLE_OPS* StyleSet::s_global_style = nullptr;\r\n\r\nStyleSet::StyleSet()\r\n{\r\n\tinit();\r\n}\r\n\r\nStyleSet::~StyleSet()\r\n{}\r\n\r\nvoid StyleSet::init()\r\n{\r\n\tif (s_global_style == nullptr)\r\n\t{\r\n\t\ts_global_style = new GLOBAL_STYLE_OPS();\r\n\r\n\t\ts_global_style->default_style.styleId = 32;\r\n\t\ts_global_style->indent_guideline.styleId = 37;\r\n\t\ts_global_style->brace_highight.styleId = 34;\r\n\t\ts_global_style->bad_brace_color.styleId = 35;\r\n\t\ts_global_style->current_line_background_color.styleId = -1;\r\n\t\ts_global_style->select_text_color.styleId = -1;\r\n\t\ts_global_style->caret_colour.styleId = 2069;\r\n\t\ts_global_style->edge_colour.styleId = -1;\r\n\t\ts_global_style->line_number_margin.styleId = 33;\r\n\t\ts_global_style->bookmark_margin.styleId = -1;\r\n\t\ts_global_style->fold.styleId = -1;\r\n\t\ts_global_style->fold_active.styleId = -1;\r\n\t\ts_global_style->fold_margin.styleId = -1;\r\n\t\ts_global_style->white_space_stybol.styleId = -1;\r\n\t\ts_global_style->smart_highlighting.styleId = 29;\r\n\t\ts_global_style->find_mark_style.styleId = 31;\r\n\t\ts_global_style->mark_style_1.styleId = 25;\r\n\t\ts_global_style->mark_style_2.styleId = 24;\r\n\t\ts_global_style->mark_style_3.styleId = 23;\r\n\t\ts_global_style->mark_style_4.styleId = 22;\r\n\t\ts_global_style->mark_style_5.styleId = 21;\r\n\t\ts_global_style->incremental_highlight.styleId = 28;\r\n\t\ts_global_style->tags_match_highlight.styleId = 27;\r\n\t\ts_global_style->tags_attribute.styleId = 26;\r\n\t\t//s_global_style->active_tab_focused.styleId = -1;\r\n\t\t//s_global_style->active_tab_unfocused.styleId = -1;\r\n\t\t//s_global_style->active_tab_text.styleId = -1;\r\n\t\t//s_global_style->inactive_tabs.styleId = -1;\r\n\t\ts_global_style->url_hoverred.styleId = -1;\r\n\t}\r\n\r\n}\r\n\r\nvoid StyleSet::setCommonStyle(QColor foldfgColor_, QColor foldbgColor_, QColor marginsBackgroundColor_, QString colorName)\r\n{\r\n\tfoldfgColor = foldfgColor_;\r\n\tfoldbgColor = foldbgColor_;\r\n\tmarginsBackgroundColor = marginsBackgroundColor_;\r\n\r\n\tQFile file(\":/qss/lightbluestyle.qss\"); //qssļ·:/lightblue.qss\r\n\tQString styleSheet;\r\n\tif (file.open(QIODevice::Text | QIODevice::ReadOnly))\r\n\t{\r\n\t\tstyleSheet = file.readAll();\r\n\t\tQPalette palette;\r\n\t\tpalette.setColor(QPalette::Window, foldbgColor_);\r\n\t\tpalette.setColor(QPalette::Base, foldbgColor_);\r\n\t\tpalette.setColor(QPalette::Button, foldbgColor_);\r\n\t\tqApp->setPalette(palette);\r\n\r\n\t\tif (colorName != \"#EAF7FF\")\r\n\t\t{\r\n\t\t\tstyleSheet.replace(\"#EAF7FF\", colorName);\r\n\t\t}\r\n\t\tqApp->setStyleSheet(styleSheet);\r\n\t}\r\n\tfile.close();\r\n}\r\n\r\nvoid StyleSet::setSkin(int id)\r\n{\r\n\tm_curStyleId = id;\r\n\tQsciLexer::setCurThemes(m_curStyleId);\r\n\tStyleSet::init();\r\n\tloadGolbalStyle();\r\n\r\n\tswitch (id)\r\n\t{\r\n\tcase DEFAULT_SE:\r\n\t\tsetDefaultStyle();\r\n\t\tbreak;\r\n\tcase BESPIN:\r\n\tcase BLACK_BOARD:\r\n\tcase BLUE_LIGHT:\r\n\tcase CHOCO:\r\n\tcase DANSLE_RUSH_DARK:\r\n\tcase DEEP_BLACK:\r\n\tcase LAVENDER:\r\n\tcase HOT_FUDGE_SUNDAE:\r\n\tcase MISTY_ROSE:\r\n\tcase MONO_INDUSTRIAL:\r\n\tcase MONOKAI:\r\n\tcase OBSIDIAN:\r\n\tcase PLASTIC_CODE:\r\n\tcase RUBY_BLUE:\r\n\tcase TWILIGHT:\r\n\tcase VIBRANT_INK:\r\n\tcase YELLOW_RICE:\r\n\t\tsetCommonStyle();\r\n\t\tbreak;\r\n\tcase MAX_SE:\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n}\r\n\r\n//¼Globalȫַ\r\nvoid StyleSet::reloadGolbalStyleFromSetFile()\r\n{\r\n\tloadGolbalStyle();\r\n}\r\n\r\nvoid StyleSet::loadGolbalStyle()\r\n{\r\n\tQsciLexer* pLexer = ScintillaEditView::createLexer(L_GLOBAL);\r\n\tQsciLexerGlobal* pGlobalLexer = dynamic_cast<QsciLexerGlobal*>(pLexer);\r\n\tif (pGlobalLexer != nullptr)\r\n\t{\r\n\t\t//ȡɫȻ롣ScintillaEditViewֱЩOne_Stype_Infoֵ\r\n\t\tOne_Stype_Info* pAddr = &s_global_style->global_style;\r\n\r\n\t\tfor (int i = 0; i <= URL_HOVERRED; ++i)\r\n\t\t{\r\n\t\t\tpAddr[i].fgColor = pGlobalLexer->color(i);\r\n\t\t\tpAddr[i].bgColor = pGlobalLexer->paper(i);\r\n\t\t\tpAddr[i].font = pGlobalLexer->font(i);\r\n\t\t}\r\n\t}\r\n\tdelete pLexer;\r\n}\r\n\r\nQString StyleSet::getCurrentStyle()\r\n{\r\n\treturn getStyleName(m_curStyleId);\r\n}\r\n\r\n//Ƿɫϵ\r\nbool StyleSet::isCurrentDeepStyle()\r\n{\r\n\tswitch (m_curStyleId)\r\n\t{\r\n\tcase DEFAULT_SE:\r\n\tcase BLUE_LIGHT:\r\n\tcase YELLOW_RICE:\r\n\tcase MISTY_ROSE:\r\n\tcase LAVENDER:\r\n\t\treturn false;\r\n\r\n\tcase BESPIN:\r\n\tcase BLACK_BOARD:\r\n\tcase CHOCO:\r\n\tcase DANSLE_RUSH_DARK:\r\n\tcase DEEP_BLACK:\r\n\tcase HOT_FUDGE_SUNDAE:\r\n\tcase MONO_INDUSTRIAL:\r\n\tcase MONOKAI:\r\n\tcase OBSIDIAN:\r\n\tcase PLASTIC_CODE:\r\n\tcase RUBY_BLUE:\r\n\tcase TWILIGHT:\r\n\tcase VIBRANT_INK:\r\n\t\treturn true;\r\n\r\n\tdefault:\r\n\t\tbreak;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nQString StyleSet::getStyleName(int styleId)\r\n{\r\n\tstatic const QString style[MAX_SE] = { \"Default\",\"Bespin\",\"Black board\",\"Blue light\",\\\r\n\t\t\"Choco\",\"DansLeRuSH-Dark\",\\\r\n\t\t\"Deep Black\",\"lavender\",\"HotFudgeSundae\",\"misty rose\",\\\r\n\t\t\"Mono Industrial\",\"Monokai\",\"Obsidian\",\"Plastic Code Wrap\",\\\r\n\t\t\"Ruby Blue\",\"Twilight\",\"Vibrant Ink\",\\\r\n\t\"yellow rice\" };\r\n\r\n\treturn style[styleId];\r\n}\r\n\r\nvoid StyleSet::setCurrentStyle(int themes)\r\n{\r\n\tsetSkin(themes);\r\n}\r\n\r\nvoid StyleSet::setDefaultStyle()\r\n{\r\n\tm_curStyleId = DEFAULT_SE;\r\n\r\n\tfoldfgColor = QColor(0xe9, 0xe9, 0xe9, 100);\r\n\tfoldbgColor = QColor(0xff, 0xff, 0xff);\r\n\tmarginsBackgroundColor = QColor(0xf0f0f0);\r\n\tbookmarkBkColor = QColor(0xececec);\r\n\r\n\tQFile file(\":/qss/mystyle.qss\"); //qssļ·:/lightblue.qss\r\n\tQString styleSheet;\r\n\tif (file.open(QIODevice::Text | QIODevice::ReadOnly))\r\n\t{\r\n\t\tstyleSheet = file.readAll();\r\n\t\tQPalette palette;\r\n\t\tpalette.setColor(QPalette::Window, QColor(0xf0, 0xf0, 0xf0));\r\n\t\tpalette.setColor(QPalette::Base, QColor(0xff, 0xff, 0xff));\r\n\t\tpalette.setColor(QPalette::Button, QColor(0xf0, 0xf0, 0xf0));\r\n\t\tqApp->setPalette(palette);\r\n\t\tqApp->setStyleSheet(styleSheet);\r\n\t}\r\n\tfile.close();\r\n}\r\n\r\nvoid StyleSet::setLightStyle()\r\n{\r\n\t//m_curStyleId = LIGHT_SE;\r\n\tbookmarkBkColor = QColor(0xE0F3Fc);\r\n\tsetCommonStyle(QColor(0xea, 0xf7, 0xff, 100), QColor(0xeaf7ff), QColor(0xe8f5fd), \"#EAF7FF\");\r\n}\r\n\r\nvoid StyleSet::setThinBlueStyle()\r\n{\r\n\t//m_curStyleId = THIN_BLUE_SE;\r\n\tbookmarkBkColor = QColor(0xE3e0F0);\r\n\tsetCommonStyle(QColor(0xd7, 0xe3, 0xf4, 100), QColor(0xd7e3f4), QColor(0xd5e1f1), \"#D7E3F4\");\r\n}\r\n\r\n//ֽ\r\nvoid StyleSet::setThinYellowStyle()\r\n{\r\n\t//m_curStyleId = THIN_YELLOW_SE;\r\n\tbookmarkBkColor = QColor(0xF4F0E0);\r\n\tsetCommonStyle(QColor(0xf9, 0xf0, 0xe1, 100), QColor(0xf9f0e1), QColor(0xf7f0e0), \"#F9F0E1\");\r\n}\r\n\r\n//ֽ\r\nvoid StyleSet::setRiceYellowStyle()\r\n{\r\n\t//m_curStyleId = RICE_YELLOW_SE;\r\n\tbookmarkBkColor = QColor(0xF0F0E8);\r\n\tsetCommonStyle(QColor(0xf6, 0xf3, 0xea, 100), QColor(0xf6f3ea), QColor(0xf4f1e9), \"#F6F3EA\");\r\n}\r\n\r\n//ɫ\r\nvoid StyleSet::setSilverStyle()\r\n{\r\n\t//m_curStyleId = SILVER_SE;\r\n\tbookmarkBkColor = QColor(0xE4E4E4);\r\n\tsetCommonStyle(QColor(0xe9, 0xe8, 0xe4, 100), QColor(0xe9e8e4), QColor(0xe7e6e2), \"#E9E8E4\");\r\n}\r\n\r\n//̸ɫ#FFF0F5\r\nvoid StyleSet::setLavenderBlushStyle()\r\n{\r\n\t//m_curStyleId = LAVENDER_SE;\r\n\tbookmarkBkColor = QColor(0xFCF0F0);\r\n\tsetCommonStyle(QColor(0xff, 0xf0, 0xf5, 100), QColor(0xFFF0F5), QColor(0xFdF0F3), \"#FFF0F5\");\r\n}\r\n\r\n//MistyRose\r\nvoid StyleSet::setMistyRoseStyle()\r\n{\r\n\t//m_curStyleId = MISTYROSE_SE;\r\n\tbookmarkBkColor = QColor(0xFCE0E0);\r\n\tsetCommonStyle(QColor(0xff, 0xe4, 0xe1, 100), QColor(0xFFE4E1), QColor(0xFdE2E0), \"#FFE4E1\");\r\n}\r\n\r\nvoid StyleSet::setBlackStyle()\r\n{\r\n#if 0\r\n\tm_curStyleId = BLACK_SE;\r\n\tfoldfgColor = QColor(0,0, 0);\r\n\tfoldbgColor = QColor(32, 32, 40);\r\n\t\r\n\t//עⰵģʽǵĴڱɫfoldbgColor˱༭ıɫ\r\n\t//ģʽ屳ȫǺɫ686868\r\n\tQColor blackPaletteColor(68,68,68);\r\n\r\n\tmarginsBackgroundColor = QColor(57, 58, 60);\r\n\tbookmarkBkColor = QColor(53,54,56);\r\n\r\n\tQFile file(\":/qss/black.qss\"); //qssļ·:/lightblue.qss\r\n\tQString styleSheet;\r\n\tif (file.open(QIODevice::Text | QIODevice::ReadOnly))\r\n\t{\r\n\t\tQPalette palette;\r\n\t\tpalette.setColor(QPalette::Window, blackPaletteColor);\r\n\t\tpalette.setColor(QPalette::Base, blackPaletteColor);\r\n\t\tpalette.setColor(QPalette::Button, blackPaletteColor);\r\n\r\n\t\tqApp->setPalette(palette);\r\n\r\n\t\tstyleSheet = file.readAll();\r\n\r\n\t\tqApp->setStyleSheet(styleSheet);\r\n\t}\r\n\tfile.close();\r\n#endif\r\n\r\n\tm_curStyleId = BLACK_SE;\r\n\r\n\tfoldfgColor = QColor(0xe9, 0xe9, 0xe9, 100);\r\n\tfoldbgColor = QColor(0xff, 0xff, 0xff);\r\n\tmarginsBackgroundColor = QColor(57, 58, 60);\r\n\tbookmarkBkColor = QColor(53, 54, 56);\r\n\r\n\tQFile file(\":/qss/myblack.qss\"); //qssļ·:/lightblue.qss\r\n\tQString styleSheet;\r\n\tif (file.open(QIODevice::Text | QIODevice::ReadOnly))\r\n\t{\r\n\t\tstyleSheet = file.readAll();\r\n\t\tQPalette palette;\r\n\t\tpalette.setColor(QPalette::Window, QColor(0xf0, 0xf0, 0xf0));\r\n\t\tpalette.setColor(QPalette::Base, QColor(0xff, 0xff, 0xff));\r\n\t\tpalette.setColor(QPalette::Button, QColor(0xf0, 0xf0, 0xf0));\r\n\t\tqApp->setPalette(palette);\r\n\t\tqApp->setStyleSheet(styleSheet);\r\n\t}\r\n\tfile.close();\r\n}\r\nvoid StyleSet::setCommonStyle()\r\n{\r\n\tQFile file(\":/qss/common.qss\");\r\n\tQString styleSheet;\r\n\tif (file.open(QIODevice::Text | QIODevice::ReadOnly))\r\n\t{\r\n\t\tstyleSheet = file.readAll();\r\n\t\tstyleSheet.replace(\"#ffffff\", s_global_style->default_style.fgColor.name());\r\n\t\tstyleSheet.replace(\"#444444\", s_global_style->default_style.bgColor.name());\r\n\t\tif (isCurrentDeepStyle())\r\n\t\t{\r\n\t\t\tstyleSheet.replace(\"#00CCFF\", \"#0000ff\");\r\n\t\t}\r\n\t\t\r\n\t\tQPalette palette;\r\n\t\tpalette.setColor(QPalette::Window, QColor(0xf0, 0xf0, 0xf0));\r\n\t\tpalette.setColor(QPalette::Base, QColor(0xff, 0xff, 0xff));\r\n\t\tpalette.setColor(QPalette::Button, QColor(0xf0, 0xf0, 0xf0));\r\n\t\tqApp->setPalette(palette);\r\n\t\tqApp->setStyleSheet(styleSheet);\r\n\t}\r\n\tfile.close();\r\n}\r\n\r\nvoid StyleSet::setGlobalFgColor(int style, QColor color)\r\n{\r\n\tOne_Stype_Info* pStyle = &StyleSet::s_global_style->global_style;\r\n\r\n\tif (pStyle[style].fgColor != color)\r\n\t{\r\n\t\tpStyle[style].fgColor = color;\r\n\t}\r\n}\r\n\r\nvoid StyleSet::setGlobalBgColor(int style, QColor color)\r\n{\r\n\tOne_Stype_Info* pStyle = &StyleSet::s_global_style->global_style;\r\n\r\n\tif (pStyle[style].bgColor != color)\r\n\t{\r\n\t\tpStyle[style].bgColor = color;\r\n\t}\r\n}\r\n\r\nvoid StyleSet::setGlobalFont(int style, QFont font)\r\n{\r\n\tOne_Stype_Info* pStyle = &StyleSet::s_global_style->global_style;\r\n\r\n\tif (pStyle[style].font != font)\r\n\t{\r\n\t\tpStyle[style].font = font;\r\n\t}\r\n}\r\n"
  },
  {
    "path": "src/styleset.h",
    "content": "#pragma once\r\n#include <QColor>\r\n#include <QFont>\r\n\r\nenum StyleId {\r\n\tDEFAULT_SE=0,\r\n\tBESPIN,\r\n\tBLACK_BOARD,\r\n\tBLUE_LIGHT,\r\n\tCHOCO,\r\n\tDANSLE_RUSH_DARK,\r\n\tDEEP_BLACK,\r\n\tLAVENDER,\r\n\tHOT_FUDGE_SUNDAE,\r\n\tMISTY_ROSE,\r\n\tMONO_INDUSTRIAL,\r\n\tMONOKAI,\r\n\tOBSIDIAN,\r\n\tPLASTIC_CODE,\r\n\tRUBY_BLUE,\r\n\tTWILIGHT,\r\n\tVIBRANT_INK,\r\n\tYELLOW_RICE,\r\n\tMAX_SE,\r\n};\r\n\r\n#define BLACK_SE DEEP_BLACK\r\n\r\nstruct One_Stype_Info {\r\n\tint styleId;\r\n\tQColor fgColor;\r\n\tQColor bgColor;\r\n\tQFont font; //fontУ1壬СЩԣŴСû壬дСʹСʾ\r\n\tOne_Stype_Info() :styleId(-1)\r\n\t{\r\n\t}\r\n\tOne_Stype_Info(int id, QColor fg, QColor bg) :styleId(id), fgColor(fg), bgColor(bg)\r\n\t{\r\n\t}\r\n};\r\n\r\n\r\n//ǰȫַԣеʽ޸ģ޸ṹ壬Ȼطٸ޸ĺĽṹ壬ͬ\r\nstruct GLOBAL_STYLE_OPS {\r\n\tOne_Stype_Info global_style;\r\n\tOne_Stype_Info default_style;\r\n\tOne_Stype_Info indent_guideline;\r\n\tOne_Stype_Info brace_highight;\r\n\tOne_Stype_Info bad_brace_color;\r\n\tOne_Stype_Info current_line_background_color;\r\n\tOne_Stype_Info select_text_color;\r\n\tOne_Stype_Info caret_colour;\r\n\tOne_Stype_Info edge_colour;\r\n\tOne_Stype_Info line_number_margin;\r\n\tOne_Stype_Info bookmark_margin;\r\n\tOne_Stype_Info fold;\r\n\tOne_Stype_Info fold_active;\r\n\tOne_Stype_Info fold_margin;\r\n\tOne_Stype_Info white_space_stybol;\r\n\tOne_Stype_Info smart_highlighting;\r\n\tOne_Stype_Info find_mark_style;\r\n\tOne_Stype_Info mark_style_1;\r\n\tOne_Stype_Info mark_style_2;\r\n\tOne_Stype_Info mark_style_3;\r\n\tOne_Stype_Info mark_style_4;\r\n\tOne_Stype_Info mark_style_5;\r\n\tOne_Stype_Info incremental_highlight;\r\n\tOne_Stype_Info tags_match_highlight;\r\n\tOne_Stype_Info tags_attribute;\r\n\t//One_Stype_Info active_tab_focused;\r\n\t//One_Stype_Info active_tab_unfocused;\r\n\t//One_Stype_Info active_tab_text;\r\n\t//One_Stype_Info inactive_tabs;\r\n\tOne_Stype_Info url_hoverred;\r\n};\r\n\r\nclass StyleSet \r\n{\r\npublic:\r\n\tStyleSet();\r\n\t~StyleSet();\r\n\r\n\tstatic void setCommonStyle(QColor foldfgColor_, QColor foldbgColor_, QColor marginsBackgroundColor_, QString colorName);\r\n\tstatic void init();\r\n\tstatic void loadGolbalStyle();\r\n\tstatic void reloadGolbalStyleFromSetFile();\r\n\tstatic void setSkin(int id);\r\n\tstatic void setCurrentStyle(int themes);\r\n\tstatic QString getCurrentStyle();\r\n\tstatic StyleId getCurrentSytleId()\r\n\t{\r\n\t\treturn StyleId(m_curStyleId);\r\n\t}\r\n\tstatic bool isCurrentDeepStyle();\r\n\r\n\tstatic QString getStyleName(int styleId);\r\n\tstatic QColor foldfgColor;\r\n\tstatic QColor foldbgColor;\r\n\tstatic QColor marginsBackgroundColor;\r\n\tstatic QColor bookmarkBkColor;\r\n\tstatic int m_curStyleId;\r\n\r\n\tstatic void setDefaultStyle();\r\n\tstatic void setLightStyle();\r\n\tstatic void setThinBlueStyle();\r\n\tstatic void setThinYellowStyle();\r\n\tstatic void setRiceYellowStyle();\r\n\tstatic void setSilverStyle();\r\n\tstatic void setLavenderBlushStyle();\r\n\tstatic void setMistyRoseStyle();\r\n\tstatic void setBlackStyle();\r\n\tstatic void setCommonStyle();\r\n\r\n\tstatic void setGlobalFgColor(int style, QColor color);\r\n\tstatic void setGlobalBgColor(int style, QColor color);\r\n\tstatic void setGlobalFont(int style, QFont font);\r\n\r\n\tstatic GLOBAL_STYLE_OPS* s_global_style;\r\n};\r\n"
  },
  {
    "path": "src/texteditsetwin.cpp",
    "content": "﻿#include \"texteditsetwin.h\"\r\n#include \"scintillaeditview.h\"\r\n#include \"ccnotepad.h\"\r\n#include \"qtlangset.h\"\r\n#include \"nddsetting.h\"\r\n#include <QFontDialog>\r\n#include <QColorDialog>\r\n\r\nTextEditSetWin::TextEditSetWin(QWidget *parent)\r\n\t: QWidget(parent), m_notepadWin(nullptr)\r\n{\r\n\tui.setupUi(this);\r\n\r\n\tif (ScintillaEditView::s_tabLens >= 0 && ScintillaEditView::s_tabLens <= 16)\r\n\t{\r\n\t\tui.spinBoxTabLens->setValue(ScintillaEditView::s_tabLens);\r\n\t}\r\n\r\n\tui.checkBoxReplaceTabToSpace->setChecked(ScintillaEditView::s_noUseTab);\r\n\r\n\tui.BigTextSizeLimit->setValue(ScintillaEditView::s_bigTextSize);\r\n\r\n\tui.restoreFile->setChecked((CCNotePad::s_restoreLastFile == 1));\r\n\r\n\tint clearOpenfilelist = NddSetting::getKeyValueFromDelayNumSets(CLEAR_OPENFILE_ON_CLOSE);\r\n\r\n\tui.openfileRecord->setChecked((clearOpenfilelist ==1));\r\n\r\n\tQPalette pal = QApplication::palette();\r\n\r\n\tQPixmap f(32, 32);\r\n\tf.fill(pal.text().color());\r\n\tui.appFontColorLabel->setPixmap(f);\r\n\r\n}\r\n\r\nTextEditSetWin::~TextEditSetWin()\r\n{\r\n\tsave();\r\n}\r\n\r\nvoid TextEditSetWin::setNotePadWin(QWidget *w)\r\n{\r\n\tm_notepadWin = w;\r\n}\r\n\r\n\r\n#if 0\r\n//弹出对话框时，默认初始化该值\r\nvoid TextEditSetWin::setProgramLangFont(QFont &font)\r\n{\r\n\tif (m_curProLangFont != font)\r\n\t{\r\n\t\tm_curProLangFont = font;\r\n\t}\r\n\tui.curProLangFontEdit->setText(font.toString());\r\n}\r\n#endif\r\n\r\nvoid TextEditSetWin::save()\r\n{\r\n\tbool lenChange = false;\r\n\r\n\tif (ui.spinBoxTabLens->value() != ScintillaEditView::s_tabLens)\r\n\t{\r\n\t\tScintillaEditView::s_tabLens = ui.spinBoxTabLens->value();\r\n\t\tlenChange = true;\r\n\t}\r\n\r\n\tbool useChange = false;\r\n\tif (ui.checkBoxReplaceTabToSpace->isChecked() != ScintillaEditView::s_noUseTab)\r\n\t{\r\n\t\tScintillaEditView::s_noUseTab = ui.checkBoxReplaceTabToSpace->isChecked();\r\n\t\tuseChange = true;\r\n\t}\r\n\r\n\tif (lenChange || useChange)\r\n\t{\r\n\t\temit sendTabFormatChange(lenChange, useChange);\r\n\t}\r\n\r\n\tif (ui.BigTextSizeLimit->value() != ScintillaEditView::s_bigTextSize)\r\n\t{\r\n\t\tScintillaEditView::s_bigTextSize = ui.BigTextSizeLimit->value();\r\n}\r\n\r\n\tint restoreFile = ui.restoreFile->isChecked() ? 1 : 0;\r\n\r\n\tif (restoreFile != CCNotePad::s_restoreLastFile)\r\n\t{\r\n\t\tCCNotePad::s_restoreLastFile = restoreFile;\r\n}\r\n\r\n\t//注意这里是禁用，和启用是相反的意思\r\n\tint clearOpenfilelist = (ui.openfileRecord->isChecked() ? 1 : 0);\r\n\r\n\tNddSetting::updataKeyValueFromDelayNumSets(CLEAR_OPENFILE_ON_CLOSE, clearOpenfilelist);\r\n}\r\n\r\nvoid TextEditSetWin::slot_txtFontSet()\r\n{\r\n\tCCNotePad* pMainWin = dynamic_cast<CCNotePad*>(m_notepadWin);\r\n\tif (pMainWin == nullptr)\r\n\t{\r\n\t\t//是从对比规则里面弹出来的，不进行文本的设置\r\n\t\treturn;\r\n\t}\r\n\tQtLangSet* pWin = pMainWin->getLangSet();\r\n\r\n#if 0\r\n\tQtLangSet* pWin = new QtLangSet(QString(\"txt\"), this);\r\n\tpWin->setAttribute(Qt::WA_DeleteOnClose);\r\n\r\n\tconnect(pWin, &QtLangSet::viewStyleChange, pMainWin, &CCNotePad::slot_viewStyleChange);\r\n\tconnect(pWin, &QtLangSet::viewLexerChange, pMainWin, &CCNotePad::slot_viewLexerChange);\r\n\tpWin->show();\r\n#endif\r\n\tif (pWin != nullptr)\r\n\t{\r\n\tpWin->selectInitLangTag(\"txt\");\r\n}\r\n}\r\n\r\n#if 0\r\n//app字体颜色设置\r\nvoid TextEditSetWin::slot_appFontColor()\r\n{\r\n\tQPalette pal = qApp->palette();\r\n\r\n\tQColor oldColor = pal.text().color();\r\n\tQColor color = QColorDialog::getColor(pal.text().color(), this, tr(\"App Font Foreground Color\"));\r\n\tif (color.isValid() && color != oldColor)\r\n\t{\r\n\t\tpal.setColor(QPalette::WindowText, color);//设置颜色\r\n\t\tpal.setColor(QPalette::Text, color);//设置颜色\r\n\t\tpal.setColor(QPalette::ButtonText, color);//设置颜色\r\n\t\tpal.setColor(QPalette::ToolTipText, color);\r\n\t\tqApp->setPalette(pal);\r\n\r\n\t\tQPixmap f(32, 32);\r\n\t\tf.fill(pal.text().color());\r\n\t\tui.appFontColorLabel->setPixmap(f);\r\n\r\n\t\t//发现如果修改APP字体颜色后，必须要把存在的窗口关闭一下，否则存在的窗口的字体颜色无法生效。\r\n\t\tCCNotePad* pMainWin = dynamic_cast<CCNotePad*>(m_notepadWin);\r\n\t\tif (pMainWin != nullptr)\r\n\t\t{\r\n\t\t\t//是从主界面调用的，执行一下颜色的更新\r\n\t\t\tpMainWin->changeAppFontColor(color);\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n}\r\n#endif\r\n#if 0\r\n//不能整体修改QApplication::font()，会引发语法里面的文字重叠破坏。\r\n//只针对菜单和状态栏，查找框字体进行修改。\r\nvoid TextEditSetWin::slot_selectAppFont()\r\n{\r\n\tQFont ft;\r\n\tQFont curAppFont = QApplication::font();\r\n\r\n\tbool ok = false;//定义bool型输出变量\r\n\tft = QFontDialog::getFont(&ok, curAppFont, this,tr(\"The App Font\"));\r\n\r\n\tif (ok)\r\n\t{\r\n\t\tui.appFontEdit->setText(ft.toString());\r\n\r\n\t\tif (curAppFont != ft)\r\n\t\t{\r\n\t\t\t//emit signAppFontChange(ft);\r\n\t\t\tQApplication::setFont(ft,\"FindResultWin\");\r\n\t\t}\r\n\t}\r\n\r\n}\r\n#endif\r\n\r\n#if 0\r\nvoid TextEditSetWin::slot_selectProLangFont()\r\n{\r\n\r\n#if defined(Q_OS_WIN)\r\n\t QFont ft(\"Courier New\", QsciLexer::s_defaultFontSize);\r\n#elif defined(Q_OS_MAC)\r\n\tQFont ft(\"Menlo\", s_defaultFontSize);\r\n#else\r\n\tQFont ft(\"Bitstream Vera Sans\", 9);\r\n#endif\r\n\r\n\tbool ok = false;//定义bool型输出变量\r\n\tft = QFontDialog::getFont(&ok, m_curProLangFont, this, tr(\"User define Txt Font\"));\r\n\r\n\tif (ok)\r\n\t{\r\n\t\tui.curProLangFontEdit->setText(ft.toString());\r\n\r\n\t\tif (m_curProLangFont != ft)\r\n\t\t{\r\n\t\t\tm_curProLangFont = ft;\r\n\t\t\temit signProLangFontChange(ft);\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tui.curProLangFontEdit->setText(ft.toString());\r\n\t\tm_curProLangFont = ft;\r\n\t}\r\n\r\n}\r\n#endif\r\n"
  },
  {
    "path": "src/texteditsetwin.h",
    "content": "#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_texteditsetwin.h\"\r\n\r\nclass TextEditSetWin : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tTextEditSetWin(QWidget *parent = Q_NULLPTR);\r\n\t~TextEditSetWin();\r\n\tvoid setNotePadWin(QWidget * w);\r\n\r\n#if 0\r\n\tvoid setProgramLangFont(QFont & font);\r\n#endif\r\nsignals:\r\n\tvoid sendTabFormatChange(bool, bool);\r\n\t//void signAppFontChange(QFont& font);\r\n\tvoid signProLangFontChange(QFont& font);\r\nprivate:\r\n\t\r\n\tvoid save();\r\n\r\n\r\n\r\nprivate slots:\r\n#if 0\r\n\tvoid slot_selectAppFont();\r\n\r\n\tvoid slot_selectProLangFont();\r\n\r\n\tvoid slot_appFontColor();\r\n#endif\r\n\tvoid slot_txtFontSet();\r\n\r\n\r\nprivate:\r\n\tUi::TextEditSetWin ui;\r\n\r\n\tQWidget* m_notepadWin;\r\n\r\n\t//QFont m_curProLangFont; //编程语言的font\r\n};\r\n"
  },
  {
    "path": "src/texteditsetwin.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>TextEditSetWin</class>\r\n <widget class=\"QWidget\" name=\"TextEditSetWin\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>617</width>\r\n    <height>300</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>TextEditSetWin</string>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_2\">\r\n     <item>\r\n      <widget class=\"QGroupBox\" name=\"groupBox\">\r\n       <property name=\"title\">\r\n        <string>Tab Setting</string>\r\n       </property>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n        <item>\r\n         <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n          <item>\r\n           <widget class=\"QLabel\" name=\"label\">\r\n            <property name=\"text\">\r\n             <string>Set Tab Length</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QSpinBox\" name=\"spinBoxTabLens\">\r\n            <property name=\"maximum\">\r\n             <number>16</number>\r\n            </property>\r\n            <property name=\"value\">\r\n             <number>4</number>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QCheckBox\" name=\"checkBoxReplaceTabToSpace\">\r\n          <property name=\"text\">\r\n           <string>Space Replacement Tab</string>\r\n          </property>\r\n          <property name=\"checked\">\r\n           <bool>true</bool>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QGroupBox\" name=\"groupBox_3\">\r\n       <property name=\"title\">\r\n        <string>Big Text Size</string>\r\n       </property>\r\n       <layout class=\"QVBoxLayout\" name=\"verticalLayout_3\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_4\">\r\n          <property name=\"text\">\r\n           <string>Beyond this size, it can only be read-only and displayed in blocks</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <layout class=\"QHBoxLayout\" name=\"horizontalLayout_4\">\r\n          <item>\r\n           <widget class=\"QLabel\" name=\"label_3\">\r\n            <property name=\"text\">\r\n             <string>Exceed(MB)</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QSpinBox\" name=\"BigTextSizeLimit\">\r\n            <property name=\"minimum\">\r\n             <number>50</number>\r\n            </property>\r\n            <property name=\"maximum\">\r\n             <number>600</number>\r\n            </property>\r\n            <property name=\"value\">\r\n             <number>100</number>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <widget class=\"QLabel\" name=\"label_5\">\r\n            <property name=\"text\">\r\n             <string>(50-600MB)</string>\r\n            </property>\r\n           </widget>\r\n          </item>\r\n          <item>\r\n           <spacer name=\"horizontalSpacer_2\">\r\n            <property name=\"orientation\">\r\n             <enum>Qt::Horizontal</enum>\r\n            </property>\r\n            <property name=\"sizeHint\" stdset=\"0\">\r\n             <size>\r\n              <width>40</width>\r\n              <height>20</height>\r\n             </size>\r\n            </property>\r\n           </spacer>\r\n          </item>\r\n         </layout>\r\n        </item>\r\n       </layout>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>437</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox_2\">\r\n     <property name=\"title\">\r\n      <string>Font Setting</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout_4\">\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_6\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_6\">\r\n          <property name=\"text\">\r\n           <string>Txt File Font:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QToolButton\" name=\"toolButton\">\r\n          <property name=\"text\">\r\n           <string> Set</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <spacer name=\"horizontalSpacer_4\">\r\n          <property name=\"orientation\">\r\n           <enum>Qt::Horizontal</enum>\r\n          </property>\r\n          <property name=\"sizeHint\" stdset=\"0\">\r\n           <size>\r\n            <width>40</width>\r\n            <height>20</height>\r\n           </size>\r\n          </property>\r\n         </spacer>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout_5\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label_2\">\r\n          <property name=\"text\">\r\n           <string>App Font Color:</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"appFontColorLabel\">\r\n          <property name=\"text\">\r\n           <string>TextLabel</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QToolButton\" name=\"toolButton1\">\r\n          <property name=\"enabled\">\r\n           <bool>false</bool>\r\n          </property>\r\n          <property name=\"text\">\r\n           <string>Set</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <spacer name=\"horizontalSpacer_5\">\r\n          <property name=\"orientation\">\r\n           <enum>Qt::Horizontal</enum>\r\n          </property>\r\n          <property name=\"sizeHint\" stdset=\"0\">\r\n           <size>\r\n            <width>40</width>\r\n            <height>20</height>\r\n           </size>\r\n          </property>\r\n         </spacer>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n     <item>\r\n      <widget class=\"QCheckBox\" name=\"restoreFile\">\r\n       <property name=\"text\">\r\n        <string>Restore files opened on close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QCheckBox\" name=\"openfileRecord\">\r\n       <property name=\"text\">\r\n        <string>Clear openfile list record on close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <spacer name=\"horizontalSpacer_3\">\r\n       <property name=\"orientation\">\r\n        <enum>Qt::Horizontal</enum>\r\n       </property>\r\n       <property name=\"sizeHint\" stdset=\"0\">\r\n        <size>\r\n         <width>40</width>\r\n         <height>20</height>\r\n        </size>\r\n       </property>\r\n      </spacer>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n   <item>\r\n    <spacer name=\"verticalSpacer\">\r\n     <property name=\"orientation\">\r\n      <enum>Qt::Vertical</enum>\r\n     </property>\r\n     <property name=\"sizeHint\" stdset=\"0\">\r\n      <size>\r\n       <width>20</width>\r\n       <height>40</height>\r\n      </size>\r\n     </property>\r\n    </spacer>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources/>\r\n <connections>\r\n  <connection>\r\n   <sender>toolButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>TextEditSetWin</receiver>\r\n   <slot>slot_txtFontSet()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>129</x>\r\n     <y>126</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>567</x>\r\n     <y>292</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>toolButton1</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>TextEditSetWin</receiver>\r\n   <slot>slot_appFontColor()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>195</x>\r\n     <y>151</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>193</x>\r\n     <y>304</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_selectFont()</slot>\r\n  <slot>slot_selectProLangFont()</slot>\r\n  <slot>slot_txtFontSet()</slot>\r\n  <slot>slot_selectAppFont()</slot>\r\n  <slot>slot_appFontColor()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/textfind.cpp",
    "content": "﻿#include \"textfind.h\"\r\n\r\nTextFind::TextFind(int dire, QWidget *parent): QWidget(parent)\r\n{\r\n\tui.setupUi(this);\r\n}\r\n\r\n\r\nTextFind::~TextFind()\r\n{\r\n}\r\n\r\n\r\nvoid TextFind::slot_findPrev()\r\n{\r\n\tQString text = ui.textLineEdit->text();\r\n\ttext = text.trimmed();\r\n\r\n\r\n\temit signFindFile(0, text);\r\n}\r\n\r\nvoid TextFind::slot_findNext()\r\n{\r\n\tQString text = ui.textLineEdit->text();\r\n\ttext = text.trimmed();\r\n\r\n\temit signFindFile(1, text);\r\n}"
  },
  {
    "path": "src/textfind.h",
    "content": "﻿#pragma once\r\n\r\n#include <QWidget>\r\n#include \"ui_textfind.h\"\r\n\r\nclass TextFind : public QWidget\r\n{\r\n\tQ_OBJECT\r\n\r\npublic:\r\n\tTextFind(int dire, QWidget *parent = Q_NULLPTR);\r\n\tvirtual ~TextFind();\r\n\r\nsignals:\r\n\tvoid signFindFile(int prevOrNext, QString text);\r\n\r\npublic slots:\r\n\tvoid slot_findPrev();\r\n\tvoid slot_findNext();\r\n\r\nprivate:\r\n\tUi::TextFind ui;\r\n};\r\n"
  },
  {
    "path": "src/textfind.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<ui version=\"4.0\">\r\n <class>TextFind</class>\r\n <widget class=\"QWidget\" name=\"TextFind\">\r\n  <property name=\"geometry\">\r\n   <rect>\r\n    <x>0</x>\r\n    <y>0</y>\r\n    <width>400</width>\r\n    <height>161</height>\r\n   </rect>\r\n  </property>\r\n  <property name=\"windowTitle\">\r\n   <string>TextFind</string>\r\n  </property>\r\n  <property name=\"windowIcon\">\r\n   <iconset resource=\"RealCompare.qrc\">\r\n    <normaloff>:/Resources/img/main.png</normaloff>:/Resources/img/main.png</iconset>\r\n  </property>\r\n  <layout class=\"QVBoxLayout\" name=\"verticalLayout_2\">\r\n   <item>\r\n    <widget class=\"QGroupBox\" name=\"groupBox\">\r\n     <property name=\"title\">\r\n      <string>Find Options</string>\r\n     </property>\r\n     <layout class=\"QVBoxLayout\" name=\"verticalLayout\">\r\n      <item>\r\n       <layout class=\"QHBoxLayout\" name=\"horizontalLayout\">\r\n        <item>\r\n         <widget class=\"QLabel\" name=\"label\">\r\n          <property name=\"text\">\r\n           <string>Find Text</string>\r\n          </property>\r\n         </widget>\r\n        </item>\r\n        <item>\r\n         <widget class=\"QLineEdit\" name=\"textLineEdit\"/>\r\n        </item>\r\n       </layout>\r\n      </item>\r\n     </layout>\r\n    </widget>\r\n   </item>\r\n   <item>\r\n    <layout class=\"QHBoxLayout\" name=\"horizontalLayout_3\">\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushPrevButton\">\r\n       <property name=\"text\">\r\n        <string>Find Prev</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushNextButton\">\r\n       <property name=\"text\">\r\n        <string>Find Next</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n     <item>\r\n      <widget class=\"QPushButton\" name=\"pushCloseButton\">\r\n       <property name=\"text\">\r\n        <string>Close</string>\r\n       </property>\r\n      </widget>\r\n     </item>\r\n    </layout>\r\n   </item>\r\n  </layout>\r\n </widget>\r\n <layoutdefault spacing=\"6\" margin=\"11\"/>\r\n <resources>\r\n  <include location=\"RealCompare.qrc\"/>\r\n </resources>\r\n <connections>\r\n  <connection>\r\n   <sender>pushPrevButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>TextFind</receiver>\r\n   <slot>slot_findPrev()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>77</x>\r\n     <y>120</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>94</x>\r\n     <y>153</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushNextButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>TextFind</receiver>\r\n   <slot>slot_findNext()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>230</x>\r\n     <y>123</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>256</x>\r\n     <y>157</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n  <connection>\r\n   <sender>pushCloseButton</sender>\r\n   <signal>clicked()</signal>\r\n   <receiver>TextFind</receiver>\r\n   <slot>hide()</slot>\r\n   <hints>\r\n    <hint type=\"sourcelabel\">\r\n     <x>348</x>\r\n     <y>126</y>\r\n    </hint>\r\n    <hint type=\"destinationlabel\">\r\n     <x>390</x>\r\n     <y>156</y>\r\n    </hint>\r\n   </hints>\r\n  </connection>\r\n </connections>\r\n <slots>\r\n  <slot>slot_findPrev()</slot>\r\n  <slot>slot_findNext()</slot>\r\n </slots>\r\n</ui>\r\n"
  },
  {
    "path": "src/themes/Bespin/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=BDAE9D\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=2A211C\r\nGlobal\\style1\\color=BDAE9D\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=2A211C\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=2A211C\r\nGlobal\\style3\\color=E5C138\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=2A211C\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=2A211C\r\nGlobal\\style5\\color=CCFF33\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=4B3C34\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=83675A\r\nGlobal\\style7\\color=37A8ED\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=80FF00\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style8\\paper=2A211C\r\nGlobal\\style9\\color=E5C138\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper=4C4A41\r\nGlobal\\style10\\color=BDAE9D\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=4C4A41\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=2A211C\r\nGlobal\\style13\\color=2E3436\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=6A5448\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=00FF40\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=FF0080\r\nGlobal\\style16\\color=CC0000\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=EDD400\r\nGlobal\\style17\\color=BDAE9D\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=FAAA3C\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=FFFF80\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=000000\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=808080\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=808000\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=808080\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=2A211C\r\nGlobal\\defaultcolor=BDAE9D\r\nGlobal\\defaultpaper=2A211C\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=BDAE9D\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=2A211C\r\nHTML\\style15\\color=F8F8F8\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=2A211C\r\nHTML\\style16\\color=F8F8F8\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=2A211C\r\nHTML\\style81\\color=F8F8F8\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=2A211C\r\nHTML\\style82\\color=ffff00\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=2A211C\r\nHTML\\style83\\color=FF3A83\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=2A211C\r\nHTML\\style84\\color=FFAA00\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=2A211C\r\nHTML\\style85\\color=55E439\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=2A211C\r\nHTML\\style86\\color=EB939A\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=2A211C\r\nHTML\\style87\\color=55E439\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=2A211C\r\nHTML\\defaultcolor=BDAE9D\r\nHTML\\defaultpaper=2A211C\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=BDAE9D\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=2A211C\r\nBash\\style1\\color=BDAE9D\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=2A211C\r\nBash\\style2\\color=ffff00\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=2A211C\r\nBash\\style3\\color=FF3A83\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=2A211C\r\nBash\\style4\\color=F6F080\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=2A211C\r\nBash\\style5\\color=55E439\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=2A211C\r\nBash\\style6\\color=55E439\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=2A211C\r\nBash\\style7\\color=FFAA00\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=2A211C\r\nBash\\style8\\color=EB939A\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=2A211C\r\nBash\\style9\\color=BDAE9D\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=2A211C\r\nBash\\style10\\color=BDAE9D\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=2A211C\r\nBash\\style11\\color=BDAE9D\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=2A211C\r\nBash\\style12\\color=BDAE9D\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=2A211C\r\nBash\\style13\\color=BDAE9D\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=2A211C\r\nBash\\defaultcolor=BDAE9D\r\nBash\\defaultpaper=2A211C\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=BDAE9D\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=2A211C\r\nBatch\\style1\\color=ffff00\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=2A211C\r\nBatch\\style2\\color=FFAA00\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=2A211C\r\nBatch\\style3\\color=EFE900\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=2A211C\r\nBatch\\style4\\color=FFAA00\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=2A211C\r\nBatch\\style5\\color=EB939A\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=2A211C\r\nBatch\\style6\\color=FB9A4B\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=2A211C\r\nBatch\\style7\\color=FFAA00\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=2A211C\r\nBatch\\defaultcolor=BDAE9D\r\nBatch\\defaultpaper=2A211C\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=BDAE9D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2A211C\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2A211C\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2A211C\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2A211C\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2A211C\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=2A211C\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2A211C\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2A211C\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2A211C\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2A211C\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2A211C\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2A211C\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2A211C\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2A211C\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=2A211C\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2A211C\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2A211C\r\nC%2B%2B\\defaultcolor=BDAE9D\r\nC%2B%2B\\defaultpaper=2A211C\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=BDAE9D\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=2A211C\r\nCMake\\style1\\color=ffff00\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=2A211C\r\nCMake\\style2\\color=55E439\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=2A211C\r\nCMake\\style3\\color=55E439\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=2A211C\r\nCMake\\style4\\color=55E439\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=2A211C\r\nCMake\\style5\\color=EB939A\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=2A211C\r\nCMake\\style6\\color=BDAE9D\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=2A211C\r\nCMake\\style7\\color=FB9A4B\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=2A211C\r\nCMake\\style8\\color=BDAE9D\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=2A211C\r\nCMake\\style9\\color=BDAE9D\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=2A211C\r\nCMake\\style10\\color=BDAE9D\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=2A211C\r\nCMake\\style11\\color=BDAE9D\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=2A211C\r\nCMake\\style12\\color=BDAE9D\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=2A211C\r\nCMake\\style13\\color=55E439\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=2A211C\r\nCMake\\style14\\color=FF3A83\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=2A211C\r\nCMake\\defaultcolor=BDAE9D\r\nCMake\\defaultpaper=2A211C\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=BDAE9D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2A211C\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2A211C\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2A211C\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2A211C\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2A211C\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=2A211C\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2A211C\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2A211C\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2A211C\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2A211C\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2A211C\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2A211C\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2A211C\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2A211C\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2A211C\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2A211C\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2A211C\r\nC%2B%2B\\defaultcolor=BDAE9D\r\nC%2B%2B\\defaultpaper=2A211C\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=BDAE9D\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=2A211C\r\nC%23\\style1\\color=ffff00\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=2A211C\r\nC%23\\style2\\color=ffff00\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=2A211C\r\nC%23\\style3\\color=ffff00\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=2A211C\r\nC%23\\style4\\color=FF3A83\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=2A211C\r\nC%23\\style5\\color=F6F080\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=2A211C\r\nC%23\\style6\\color=55E439\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=2A211C\r\nC%23\\style7\\color=55E439\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=2A211C\r\nC%23\\style9\\color=FFAA00\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=2A211C\r\nC%23\\style10\\color=FFAA00\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=2A211C\r\nC%23\\style11\\color=F8F8F8\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=2A211C\r\nC%23\\style13\\color=FF3A83\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=2A211C\r\nC%23\\style14\\color=FFB454\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=2A211C\r\nC%23\\style15\\color=ffff00\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=2A211C\r\nC%23\\style16\\color=FFAA00\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=2A211C\r\nC%23\\style17\\color=ffff00\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=2A211C\r\nC%23\\style18\\color=ffff00\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=2A211C\r\nC%23\\defaultcolor=BDAE9D\r\nC%23\\defaultpaper=2A211C\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=BDAE9D\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=2A211C\r\nCSS\\style1\\color=EFE900\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=2A211C\r\nCSS\\style2\\color=EFE900\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=2A211C\r\nCSS\\style3\\color=EFE900\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=2A211C\r\nCSS\\style4\\color=EFE900\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=2A211C\r\nCSS\\style5\\color=FFAA00\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=2A211C\r\nCSS\\style6\\color=EB939A\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=2A211C\r\nCSS\\style7\\color=EB939A\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=2A211C\r\nCSS\\style8\\color=FF3A83\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=2A211C\r\nCSS\\style9\\color=ffff00\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=2A211C\r\nCSS\\style10\\color=EFE900\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=2A211C\r\nCSS\\style11\\color=FFAA00\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=2A211C\r\nCSS\\style12\\color=FFAA00\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=2A211C\r\nCSS\\defaultcolor=BDAE9D\r\nCSS\\defaultpaper=2A211C\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=BDAE9D\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=2A211C\r\nDiff\\style1\\color=ffff00\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=2A211C\r\nDiff\\style2\\color=EB939A\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=2A211C\r\nDiff\\style3\\color=FFFF80\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=2A211C\r\nDiff\\style4\\color=8080FF\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=2A211C\r\nDiff\\style5\\color=FF8080\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=2A211C\r\nDiff\\style6\\color=00FF00\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=2A211C\r\nDiff\\defaultcolor=BDAE9D\r\nDiff\\defaultpaper=2A211C\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=BDAE9D\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=2A211C\r\nFortran\\style1\\color=ffff00\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=2A211C\r\nFortran\\style2\\color=FF3A83\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=2A211C\r\nFortran\\style3\\color=55E439\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=2A211C\r\nFortran\\style4\\color=55E439\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=2A211C\r\nFortran\\style5\\color=55E439\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=2A211C\r\nFortran\\style6\\color=FFAA00\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=2A211C\r\nFortran\\style7\\color=EB939A\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=2A211C\r\nFortran\\style8\\color=F6F080\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=2A211C\r\nFortran\\style9\\color=BDAE9D\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=2A211C\r\nFortran\\style10\\color=BDAE9D\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=2A211C\r\nFortran\\style11\\color=FFAA00\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=2A211C\r\nFortran\\style12\\color=BDAE9D\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=2A211C\r\nFortran\\style13\\color=EFE900\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=2A211C\r\nFortran\\style14\\color=BDAE9D\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=2A211C\r\nFortran\\defaultcolor=BDAE9D\r\nFortran\\defaultpaper=2A211C\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=BDAE9D\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=2A211C\r\nFortran77\\style1\\color=ffff00\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=2A211C\r\nFortran77\\style2\\color=FF3A83\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=2A211C\r\nFortran77\\style3\\color=55E439\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=2A211C\r\nFortran77\\style4\\color=55E439\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=2A211C\r\nFortran77\\style5\\color=55E439\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=2A211C\r\nFortran77\\style6\\color=FFAA00\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=2A211C\r\nFortran77\\style7\\color=EB939A\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=2A211C\r\nFortran77\\style8\\color=F6F080\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=2A211C\r\nFortran77\\style9\\color=BDAE9D\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=2A211C\r\nFortran77\\style10\\color=BDAE9D\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=2A211C\r\nFortran77\\style11\\color=FFAA00\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=2A211C\r\nFortran77\\style12\\color=BDAE9D\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=2A211C\r\nFortran77\\style13\\color=EFE900\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=2A211C\r\nFortran77\\style14\\color=BDAE9D\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=2A211C\r\nFortran77\\defaultcolor=BDAE9D\r\nFortran77\\defaultpaper=2A211C\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=BDAE9D\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=2A211C\r\nHTML\\style1\\color=37A8ED\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=2A211C\r\nHTML\\style2\\color=FF0000\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=2A211C\r\nHTML\\style3\\color=E5C138\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=2A211C\r\nHTML\\style4\\color=FF0080\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=2A211C\r\nHTML\\style5\\color=FF3A83\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=2A211C\r\nHTML\\style6\\color=80FF80\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=2A211C\r\nHTML\\style7\\color=55E439\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=2A211C\r\nHTML\\style9\\color=666666\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=2A211C\r\nHTML\\style10\\color=FF3A83\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=2A211C\r\nHTML\\style11\\color=37A8ED\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=2A211C\r\nHTML\\style17\\color=FF82B0\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=2A211C\r\nHTML\\style19\\color=FF8080\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=2A211C\r\nHTML\\style21\\color=55E439\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=2A211C\r\nHTML\\defaultcolor=BDAE9D\r\nHTML\\defaultpaper=2A211C\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=BDAE9D\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=2A211C\r\nProperties\\style1\\color=ffff00\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=2A211C\r\nProperties\\style2\\color=EFE900\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=2A211C\r\nProperties\\style3\\color=FFAA00\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=2A211C\r\nProperties\\style4\\color=EFE900\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=2A211C\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=2A211C\r\nProperties\\defaultcolor=BDAE9D\r\nProperties\\defaultpaper=2A211C\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=BDAE9D\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=2A211C\r\nJava\\style1\\color=ffff00\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=2A211C\r\nJava\\style2\\color=ffff00\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=2A211C\r\nJava\\style3\\color=ffff00\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=2A211C\r\nJava\\style4\\color=FF3A83\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=2A211C\r\nJava\\style5\\color=F6F080\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=2A211C\r\nJava\\style6\\color=55E439\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=2A211C\r\nJava\\style7\\color=55E439\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=2A211C\r\nJava\\style10\\color=FFAA00\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=2A211C\r\nJava\\style11\\color=F8F8F8\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=2A211C\r\nJava\\style13\\color=FF3A83\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=2A211C\r\nJava\\style14\\color=FFB454\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=2A211C\r\nJava\\style15\\color=ffff00\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=2A211C\r\nJava\\style16\\color=FFAA00\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=2A211C\r\nJava\\style17\\color=ffff00\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=2A211C\r\nJava\\style18\\color=ffff00\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=2A211C\r\nJava\\defaultcolor=BDAE9D\r\nJava\\defaultpaper=2A211C\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=BDAE9D\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=2A211C\r\nJavaScript\\style16\\color=FF5555\r\nJavaScript\\style16\\eolfill=false\r\nJavaScript\\style16\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style16\\paper=2A211C\r\nJavaScript\\style17\\color=FF0080\r\nJavaScript\\style17\\eolfill=false\r\nJavaScript\\style17\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style17\\paper=2A211C\r\nJavaScript\\style18\\color=FF0080\r\nJavaScript\\style18\\eolfill=false\r\nJavaScript\\style18\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style18\\paper=2A211C\r\nJavaScript\\style20\\color=00FF40\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=2A211C\r\nJavaScript\\style41\\color=BDAF9D\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=2A211C\r\nJavaScript\\style42\\color=666666\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=2A211C\r\nJavaScript\\style43\\color=666666\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=2A211C\r\nJavaScript\\style44\\color=FFFF80\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=2A211C\r\nJavaScript\\style45\\color=FF3A83\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=2A211C\r\nJavaScript\\style46\\color=BDAE9D\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=2A211C\r\nJavaScript\\style47\\color=37A3ED\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=2A211C\r\nJavaScript\\style48\\color=00FF40\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=2A211C\r\nJavaScript\\style49\\color=80FF00\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=2A211C\r\nJavaScript\\style50\\color=E5C138\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=2A211C\r\nJavaScript\\style51\\color=55E439\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=2A211C\r\nJavaScript\\style52\\color=FFB454\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=2A211C\r\nJavaScript\\defaultcolor=BDAE9D\r\nJavaScript\\defaultpaper=2A211C\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=BDAE9D\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=2A211C\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=2A211C\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=2A211C\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=2A211C\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=2A211C\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=2A211C\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=2A211C\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=2A211C\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=2A211C\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=2A211C\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=2A211C\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=2A211C\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=2A211C\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=BDAE9D\r\nJSON\\defaultpaper=2A211C\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=BDAE9D\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=2A211C\r\nLua\\style1\\color=ffff00\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=2A211C\r\nLua\\style2\\color=ffff00\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=2A211C\r\nLua\\style3\\color=ffff00\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=2A211C\r\nLua\\style4\\color=FF3A83\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=2A211C\r\nLua\\style5\\color=F6F080\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=2A211C\r\nLua\\style6\\color=55E439\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=2A211C\r\nLua\\style7\\color=55E439\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=2A211C\r\nLua\\style8\\color=55E439\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=2A211C\r\nLua\\style9\\color=FFAA00\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=2A211C\r\nLua\\style10\\color=FFAA00\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=2A211C\r\nLua\\style13\\color=BDAE9D\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=2A211C\r\nLua\\style14\\color=BDAE9D\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=2A211C\r\nLua\\style15\\color=BDAE9D\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=2A211C\r\nLua\\defaultcolor=BDAE9D\r\nLua\\defaultpaper=2A211C\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=BDAE9D\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=2A211C\r\nMakefile\\style1\\color=ffff00\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=2A211C\r\nMakefile\\style2\\color=FFAA00\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=2A211C\r\nMakefile\\style3\\color=EB939A\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=2A211C\r\nMakefile\\style4\\color=FFAA00\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=2A211C\r\nMakefile\\style5\\color=BDAE9D\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=2A211C\r\nMakefile\\style9\\color=FF5555\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=2A211C\r\nMakefile\\defaultcolor=BDAE9D\r\nMakefile\\defaultpaper=2A211C\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=BDAE9D\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=2A211C\r\nMatlab\\style1\\color=ffff00\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=2A211C\r\nMatlab\\style2\\color=EB939A\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=2A211C\r\nMatlab\\style3\\color=FF3A83\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=2A211C\r\nMatlab\\style4\\color=F6F080\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=2A211C\r\nMatlab\\style5\\color=55E439\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=2A211C\r\nMatlab\\style6\\color=FFAA00\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=2A211C\r\nMatlab\\style7\\color=EB939A\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=2A211C\r\nMatlab\\style8\\color=55E439\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=2A211C\r\nMatlab\\defaultcolor=BDAE9D\r\nMatlab\\defaultpaper=2A211C\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=BDAE9D\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=2A211C\r\nNSIS\\style1\\color=ffff00\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=2A211C\r\nNSIS\\style2\\color=55E439\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=2A211C\r\nNSIS\\style3\\color=55E439\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=2A211C\r\nNSIS\\style4\\color=55E439\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=2A211C\r\nNSIS\\style5\\color=FFB454\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=2A211C\r\nNSIS\\style6\\color=FB9A4B\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=2A211C\r\nNSIS\\style7\\color=EFE900\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=2A211C\r\nNSIS\\style8\\color=BDAE9D\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=2A211C\r\nNSIS\\style9\\color=EFE900\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=2A211C\r\nNSIS\\style10\\color=BDAE9D\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=2A211C\r\nNSIS\\style11\\color=BDAE9D\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=2A211C\r\nNSIS\\style12\\color=BDAE9D\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=2A211C\r\nNSIS\\style13\\color=55E439\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=2A211C\r\nNSIS\\style14\\color=FF3A83\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=2A211C\r\nNSIS\\style15\\color=BDAE9D\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=2A211C\r\nNSIS\\style16\\color=BDAE9D\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=2A211C\r\nNSIS\\style17\\color=BDAE9D\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=2A211C\r\nNSIS\\style18\\color=ffff00\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=2A211C\r\nNSIS\\defaultcolor=BDAE9D\r\nNSIS\\defaultpaper=2A211C\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=BDAE9D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2A211C\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2A211C\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2A211C\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2A211C\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2A211C\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=2A211C\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2A211C\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2A211C\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2A211C\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2A211C\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2A211C\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2A211C\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2A211C\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2A211C\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2A211C\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2A211C\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2A211C\r\nC%2B%2B\\style19\\color=FFAA00\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=2A211C\r\nC%2B%2B\\style20\\color=EB939A\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=2A211C\r\nC%2B%2B\\defaultcolor=BDAE9D\r\nC%2B%2B\\defaultpaper=2A211C\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=BDAE9D\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=2A211C\r\nPascal\\style1\\color=EB939A\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=2A211C\r\nPascal\\style2\\color=ffff00\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=2A211C\r\nPascal\\style3\\color=ffff00\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=2A211C\r\nPascal\\style4\\color=ffff00\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=2A211C\r\nPascal\\style5\\color=FFAA00\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=2A211C\r\nPascal\\style7\\color=FF3A83\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=2A211C\r\nPascal\\style9\\color=F6F080\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=2A211C\r\nPascal\\style12\\color=55E439\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=2A211C\r\nPascal\\style13\\color=FFAA00\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=2A211C\r\nPascal\\style14\\color=FFB454\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=2A211C\r\nPascal\\defaultcolor=BDAE9D\r\nPascal\\defaultpaper=2A211C\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=BDAE9D\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=2A211C\r\nPerl\\style1\\color=BDAE9D\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=2A211C\r\nPerl\\style2\\color=ffff00\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=2A211C\r\nPerl\\style3\\color=BDAE9D\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=2A211C\r\nPerl\\style4\\color=FF3A83\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=2A211C\r\nPerl\\style5\\color=F6F080\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=2A211C\r\nPerl\\style6\\color=55E439\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=2A211C\r\nPerl\\style7\\color=55E439\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=2A211C\r\nPerl\\style8\\color=BDAE9D\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=2A211C\r\nPerl\\style9\\color=FFAA00\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=2A211C\r\nPerl\\style10\\color=FFAA00\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=2A211C\r\nPerl\\style12\\color=BDAE9D\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=2A211C\r\nPerl\\style13\\color=BDAE9D\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=2A211C\r\nPerl\\style14\\color=BDAE9D\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=2A211C\r\nPerl\\style15\\color=F8F8F8\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=2A211C\r\nPerl\\style17\\color=FFB454\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=2A211C\r\nPerl\\style18\\color=BDAE9D\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=2A211C\r\nPerl\\style19\\color=BDAE9D\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=2A211C\r\nPerl\\style20\\color=BDAE9D\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=2A211C\r\nPerl\\style21\\color=BDAE9D\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=2A211C\r\nPerl\\defaultcolor=BDAE9D\r\nPerl\\defaultpaper=2A211C\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=BDAE9D\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=2A211C\r\nHTML\\style16\\color=FF5555\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=2A211C\r\nHTML\\style18\\color=FF0080\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=2A211C\r\nHTML\\style118\\color=F8F8F8\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=2A211C\r\nHTML\\style119\\color=55E439\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=2A211C\r\nHTML\\style120\\color=55E439\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=2A211C\r\nHTML\\style121\\color=37A3ED\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=2A211C\r\nHTML\\style122\\color=FF3A83\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=2A211C\r\nHTML\\style123\\color=BDAF9D\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=2A211C\r\nHTML\\style124\\color=666666\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=2A211C\r\nHTML\\style125\\color=666666\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=2A211C\r\nHTML\\style126\\color=55E439\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=2A211C\r\nHTML\\style127\\color=E5C138\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=2A211C\r\nHTML\\defaultcolor=BDAE9D\r\nHTML\\defaultpaper=2A211C\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=BDAE9D\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=2A211C\r\nProperties\\style1\\color=ffff00\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=2A211C\r\nProperties\\style3\\color=FFAA00\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=2A211C\r\nProperties\\style4\\color=EFE900\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=2A211C\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=2A211C\r\nProperties\\defaultcolor=BDAE9D\r\nProperties\\defaultpaper=2A211C\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=BDAE9D\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=2A211C\r\nPython\\style1\\color=ffff00\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=2A211C\r\nPython\\style2\\color=FF3A83\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=2A211C\r\nPython\\style3\\color=55E439\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=2A211C\r\nPython\\style4\\color=55E439\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=2A211C\r\nPython\\style5\\color=FFAA00\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=2A211C\r\nPython\\style6\\color=ffff00\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=2A211C\r\nPython\\style7\\color=ffff00\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=2A211C\r\nPython\\style8\\color=F8F8F8\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=2A211C\r\nPython\\style9\\color=EFE900\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=2A211C\r\nPython\\style10\\color=FFAA00\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=2A211C\r\nPython\\style11\\color=EB939A\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=2A211C\r\nPython\\style12\\color=55E439\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=2A211C\r\nPython\\defaultcolor=BDAE9D\r\nPython\\defaultpaper=2A211C\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=BDAE9D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2A211C\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2A211C\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2A211C\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2A211C\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2A211C\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=2A211C\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2A211C\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2A211C\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2A211C\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2A211C\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2A211C\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2A211C\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2A211C\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2A211C\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2A211C\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2A211C\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2A211C\r\nC%2B%2B\\defaultcolor=BDAE9D\r\nC%2B%2B\\defaultpaper=2A211C\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=BDAE9D\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=2A211C\r\nRuby\\style1\\color=BDAE9D\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=2A211C\r\nRuby\\style2\\color=ffff00\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=2A211C\r\nRuby\\style3\\color=BDAE9D\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=2A211C\r\nRuby\\style4\\color=FF3A83\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=2A211C\r\nRuby\\style5\\color=FFAA00\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=2A211C\r\nRuby\\style6\\color=55E439\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=2A211C\r\nRuby\\style7\\color=55E439\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=2A211C\r\nRuby\\style8\\color=EFE900\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=2A211C\r\nRuby\\style9\\color=EFE900\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=2A211C\r\nRuby\\style10\\color=FFAA00\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=2A211C\r\nRuby\\style11\\color=EB939A\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=2A211C\r\nRuby\\style12\\color=FFB454\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=2A211C\r\nRuby\\style13\\color=FB9A4B\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=2A211C\r\nRuby\\style14\\color=F8F8F8\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=2A211C\r\nRuby\\style15\\color=BDAE9D\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=2A211C\r\nRuby\\style16\\color=FB9A4B\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=2A211C\r\nRuby\\style17\\color=BDAE9D\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=2A211C\r\nRuby\\style18\\color=BDAE9D\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=2A211C\r\nRuby\\style19\\color=BDAE9D\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=2A211C\r\nRuby\\style24\\color=55E439\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=2A211C\r\nRuby\\defaultcolor=BDAE9D\r\nRuby\\defaultpaper=2A211C\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=BDAE9D\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=2A211C\r\nSQL\\style1\\color=ffff00\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=2A211C\r\nSQL\\style2\\color=ffff00\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=2A211C\r\nSQL\\style3\\color=ffff00\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=2A211C\r\nSQL\\style4\\color=FF3A83\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=2A211C\r\nSQL\\style5\\color=FFAA00\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=2A211C\r\nSQL\\style6\\color=55E439\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=2A211C\r\nSQL\\style7\\color=55E439\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=2A211C\r\nSQL\\style10\\color=FFAA00\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=2A211C\r\nSQL\\style16\\color=FFAA00\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=2A211C\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=2A211C\r\nSQL\\style24\\color=55E439\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=2A211C\r\nSQL\\defaultcolor=BDAE9D\r\nSQL\\defaultpaper=2A211C\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=BDAE9D\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=2A211C\r\nTCL\\style1\\color=ffff00\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=2A211C\r\nTCL\\style2\\color=ffff00\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=2A211C\r\nTCL\\style3\\color=ffff00\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=2A211C\r\nTCL\\style4\\color=FF3A83\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=2A211C\r\nTCL\\style5\\color=F6F080\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=2A211C\r\nTCL\\style6\\color=55E439\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=2A211C\r\nTCL\\style7\\color=55E439\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=2A211C\r\nTCL\\style9\\color=FFAA00\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=2A211C\r\nTCL\\style10\\color=FFAA00\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=2A211C\r\nTCL\\style11\\color=F8F8F8\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=2A211C\r\nTCL\\style13\\color=FF3A83\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=2A211C\r\nTCL\\style14\\color=FFB454\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=2A211C\r\nTCL\\style15\\color=ffff00\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=2A211C\r\nTCL\\style16\\color=FFAA00\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=2A211C\r\nTCL\\style17\\color=ffff00\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=2A211C\r\nTCL\\style18\\color=ffff00\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=2A211C\r\nTCL\\defaultcolor=BDAE9D\r\nTCL\\defaultpaper=2A211C\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=BDAE9D\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=2A211C\r\nTXT\\style1\\color=BDAE9D\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=2A211C\r\nTXT\\style2\\color=FFAA00\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=2A211C\r\nTXT\\defaultcolor=BDAE9D\r\nTXT\\defaultpaper=2A211C\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=BDAE9D\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=2A211C\r\nVB\\style1\\color=ffff00\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=2A211C\r\nVB\\style2\\color=FF3A83\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=2A211C\r\nVB\\style3\\color=FFAA00\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=2A211C\r\nVB\\style4\\color=55E439\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=2A211C\r\nVB\\style5\\color=FFAA00\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=2A211C\r\nVB\\style6\\color=FFAA00\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=2A211C\r\nVB\\style7\\color=F8F8F8\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=2A211C\r\nVB\\style8\\color=9DF39F\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=2A211C\r\nVB\\defaultcolor=BDAE9D\r\nVB\\defaultpaper=2A211C\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=BDAE9D\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=2A211C\r\nVerilog\\style1\\color=ffff00\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=2A211C\r\nVerilog\\style2\\color=ffff00\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=2A211C\r\nVerilog\\style3\\color=ffff00\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=2A211C\r\nVerilog\\style4\\color=FF3A83\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=2A211C\r\nVerilog\\style5\\color=F6F080\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=2A211C\r\nVerilog\\style6\\color=55E439\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=2A211C\r\nVerilog\\style7\\color=FFAA00\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=2A211C\r\nVerilog\\style9\\color=FFAA00\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=2A211C\r\nVerilog\\style10\\color=FFAA00\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=2A211C\r\nVerilog\\style11\\color=EB939A\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=2A211C\r\nVerilog\\style12\\color=55E439\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=2A211C\r\nVerilog\\style19\\color=BDAE9D\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=2A211C\r\nVerilog\\defaultcolor=BDAE9D\r\nVerilog\\defaultpaper=2A211C\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=BDAE9D\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=2A211C\r\nVHDL\\style1\\color=ffff00\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=2A211C\r\nVHDL\\style2\\color=ffff00\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=2A211C\r\nVHDL\\style3\\color=FF3A83\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=2A211C\r\nVHDL\\style4\\color=55E439\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=2A211C\r\nVHDL\\style5\\color=FFAA00\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=2A211C\r\nVHDL\\style6\\color=EB939A\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=2A211C\r\nVHDL\\style7\\color=55E439\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=2A211C\r\nVHDL\\style8\\color=FFAA00\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=2A211C\r\nVHDL\\style9\\color=FFAA00\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=2A211C\r\nVHDL\\style10\\color=BDAE9D\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=2A211C\r\nVHDL\\style11\\color=BDAE9D\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=2A211C\r\nVHDL\\style12\\color=BDAE9D\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=2A211C\r\nVHDL\\style13\\color=BDAE9D\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=2A211C\r\nVHDL\\style14\\color=BDAE9D\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=2A211C\r\nVHDL\\defaultcolor=BDAE9D\r\nVHDL\\defaultpaper=2A211C\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Bespin/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=BDAE9D\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=2A211C\r\nXML\\style1\\color=37A8ED\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=2A211C\r\nXML\\style2\\color=FF0000\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=2A211C\r\nXML\\style3\\color=BDAE9D\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=2A211C\r\nXML\\style4\\color=FF8080\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=2A211C\r\nXML\\style5\\color=FF3A83\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=2A211C\r\nXML\\style6\\color=80FF80\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=2A211C\r\nXML\\style7\\color=80FF00\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=2A211C\r\nXML\\style9\\color=666666\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=2A211C\r\nXML\\style10\\color=FF3A83\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=2A211C\r\nXML\\style11\\color=37A8ED\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=2A211C\r\nXML\\style12\\color=FF0080\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=2A211C\r\nXML\\style13\\color=FF0080\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=2A211C\r\nXML\\style17\\color=FF3A83\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=2A211C\r\nXML\\style21\\color=55E439\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=2A211C\r\nXML\\defaultcolor=BDAE9D\r\nXML\\defaultpaper=2A211C\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=F8F8F8\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=0C1021\r\nGlobal\\style1\\color=F8F8F8\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=0C1021\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=0C1021\r\nGlobal\\style3\\color=FCE94F\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=0C1021\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=0C1021\r\nGlobal\\style5\\color=0080C0\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=121830\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=253B76\r\nGlobal\\style7\\color=FFFFFF\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=112435\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style8\\paper=F3F3F3\r\nGlobal\\style9\\color=EEEEEC\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper=2E3436\r\nGlobal\\style10\\color=F8F8F8\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=2E3436\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=0C1021\r\nGlobal\\style13\\color=555753\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E3436\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=FF0000\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=F8F8F8\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=F8F8F8\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=F8F8F8\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=F8F8F8\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=F8F8F8\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=8000FF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=0C1021\r\nGlobal\\defaultcolor=F8F8F8\r\nGlobal\\defaultpaper=0C1021\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=0C1021\r\nHTML\\style15\\color=F8F8F8\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=0C1021\r\nHTML\\style16\\color=F8F8F8\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=0C1021\r\nHTML\\style81\\color=F8F8F8\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=0C1021\r\nHTML\\style82\\color=AEAEAE\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=0C1021\r\nHTML\\style83\\color=D8FA3C\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=0C1021\r\nHTML\\style84\\color=FBDE2D\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=0C1021\r\nHTML\\style85\\color=61CE3C\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=0C1021\r\nHTML\\style86\\color=8DA6CE\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=0C1021\r\nHTML\\style87\\color=61CE3C\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=0C1021\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=0C1021\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=F8F8F8\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=0C1021\r\nBash\\style1\\color=AEAEAE\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=0C1021\r\nBash\\style2\\color=AEAEAE\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=0C1021\r\nBash\\style3\\color=D8FA3C\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=0C1021\r\nBash\\style4\\color=FBDE2D\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=0C1021\r\nBash\\style5\\color=61CE3C\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=0C1021\r\nBash\\style6\\color=61CE3C\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=0C1021\r\nBash\\style7\\color=FBDE2D\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=0C1021\r\nBash\\style8\\color=8DA6CE\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=0C1021\r\nBash\\style9\\color=AEAEAE\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=0C1021\r\nBash\\style10\\color=AEAEAE\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=0C1021\r\nBash\\style11\\color=AEAEAE\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=0C1021\r\nBash\\style12\\color=AEAEAE\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=0C1021\r\nBash\\style13\\color=AEAEAE\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=0C1021\r\nBash\\defaultcolor=F8F8F8\r\nBash\\defaultpaper=0C1021\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=F8F8F8\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=0C1021\r\nBatch\\style1\\color=AEAEAE\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=0C1021\r\nBatch\\style2\\color=FBDE2D\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=0C1021\r\nBatch\\style3\\color=FF6400\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=0C1021\r\nBatch\\style4\\color=FBDE2D\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=0C1021\r\nBatch\\style5\\color=8DA6CE\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=0C1021\r\nBatch\\style6\\color=F8F8F8\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=0C1021\r\nBatch\\style7\\color=FBDE2D\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=0C1021\r\nBatch\\defaultcolor=F8F8F8\r\nBatch\\defaultpaper=0C1021\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0C1021\r\nC%2B%2B\\style1\\color=AEAEAE\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0C1021\r\nC%2B%2B\\style2\\color=AEAEAE\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0C1021\r\nC%2B%2B\\style3\\color=AEAEAE\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0C1021\r\nC%2B%2B\\style4\\color=D8FA3C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0C1021\r\nC%2B%2B\\style5\\color=FBDE2D\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=0C1021\r\nC%2B%2B\\style6\\color=61CE3C\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0C1021\r\nC%2B%2B\\style7\\color=61CE3C\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0C1021\r\nC%2B%2B\\style9\\color=FBDE2D\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0C1021\r\nC%2B%2B\\style10\\color=FBDE2D\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0C1021\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0C1021\r\nC%2B%2B\\style13\\color=D8FA3C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0C1021\r\nC%2B%2B\\style14\\color=61CE3C\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0C1021\r\nC%2B%2B\\style15\\color=AEAEAE\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0C1021\r\nC%2B%2B\\style16\\color=FBDE2D\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=0C1021\r\nC%2B%2B\\style17\\color=AEAEAE\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0C1021\r\nC%2B%2B\\style18\\color=AEAEAE\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0C1021\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0C1021\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=F8F8F8\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=0C1021\r\nCMake\\style1\\color=AEAEAE\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=0C1021\r\nCMake\\style2\\color=61CE3C\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=0C1021\r\nCMake\\style3\\color=61CE3C\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=0C1021\r\nCMake\\style4\\color=61CE3C\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=0C1021\r\nCMake\\style5\\color=8DA6CE\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=0C1021\r\nCMake\\style6\\color=AEAEAE\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=0C1021\r\nCMake\\style7\\color=F8F8F8\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=0C1021\r\nCMake\\style8\\color=AEAEAE\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=0C1021\r\nCMake\\style9\\color=AEAEAE\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=0C1021\r\nCMake\\style10\\color=AEAEAE\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=0C1021\r\nCMake\\style11\\color=AEAEAE\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=0C1021\r\nCMake\\style12\\color=AEAEAE\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=0C1021\r\nCMake\\style13\\color=61CE3C\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=0C1021\r\nCMake\\style14\\color=D8FA3C\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=0C1021\r\nCMake\\defaultcolor=F8F8F8\r\nCMake\\defaultpaper=0C1021\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0C1021\r\nC%2B%2B\\style1\\color=AEAEAE\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0C1021\r\nC%2B%2B\\style2\\color=AEAEAE\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0C1021\r\nC%2B%2B\\style3\\color=AEAEAE\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0C1021\r\nC%2B%2B\\style4\\color=D8FA3C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0C1021\r\nC%2B%2B\\style5\\color=FBDE2D\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=0C1021\r\nC%2B%2B\\style6\\color=61CE3C\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0C1021\r\nC%2B%2B\\style7\\color=61CE3C\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0C1021\r\nC%2B%2B\\style9\\color=FBDE2D\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0C1021\r\nC%2B%2B\\style10\\color=FBDE2D\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0C1021\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0C1021\r\nC%2B%2B\\style13\\color=D8FA3C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0C1021\r\nC%2B%2B\\style14\\color=61CE3C\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0C1021\r\nC%2B%2B\\style15\\color=AEAEAE\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0C1021\r\nC%2B%2B\\style16\\color=FBDE2D\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=0C1021\r\nC%2B%2B\\style17\\color=AEAEAE\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0C1021\r\nC%2B%2B\\style18\\color=AEAEAE\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0C1021\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0C1021\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=F8F8F8\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=0C1021\r\nC%23\\style1\\color=AEAEAE\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=0C1021\r\nC%23\\style2\\color=AEAEAE\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=0C1021\r\nC%23\\style3\\color=AEAEAE\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=0C1021\r\nC%23\\style4\\color=D8FA3C\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=0C1021\r\nC%23\\style5\\color=FBDE2D\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=0C1021\r\nC%23\\style6\\color=61CE3C\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=0C1021\r\nC%23\\style7\\color=61CE3C\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=0C1021\r\nC%23\\style9\\color=FBDE2D\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=0C1021\r\nC%23\\style10\\color=FBDE2D\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=0C1021\r\nC%23\\style11\\color=F8F8F8\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=0C1021\r\nC%23\\style13\\color=D8FA3C\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=0C1021\r\nC%23\\style14\\color=61CE3C\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=0C1021\r\nC%23\\style15\\color=AEAEAE\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=0C1021\r\nC%23\\style16\\color=FBDE2D\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=0C1021\r\nC%23\\style17\\color=AEAEAE\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=0C1021\r\nC%23\\style18\\color=AEAEAE\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=0C1021\r\nC%23\\defaultcolor=F8F8F8\r\nC%23\\defaultpaper=0C1021\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=F8F8F8\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=0C1021\r\nCSS\\style1\\color=FF6400\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=0C1021\r\nCSS\\style2\\color=FF6400\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=0C1021\r\nCSS\\style3\\color=FF6400\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=0C1021\r\nCSS\\style4\\color=FF6400\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=0C1021\r\nCSS\\style5\\color=FBDE2D\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=0C1021\r\nCSS\\style6\\color=8DA6CE\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=0C1021\r\nCSS\\style7\\color=8DA6CE\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=0C1021\r\nCSS\\style8\\color=D8FA3C\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=0C1021\r\nCSS\\style9\\color=AEAEAE\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=0C1021\r\nCSS\\style10\\color=FF6400\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=0C1021\r\nCSS\\style11\\color=FBDE2D\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=0C1021\r\nCSS\\style12\\color=FBDE2D\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=0C1021\r\nCSS\\defaultcolor=F8F8F8\r\nCSS\\defaultpaper=0C1021\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=F8F8F8\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=0C1021\r\nDiff\\style1\\color=AEAEAE\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=0C1021\r\nDiff\\style2\\color=8DA6CE\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=0C1021\r\nDiff\\style3\\color=AEAEAE\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=0C1021\r\nDiff\\style4\\color=AEAEAE\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=0C1021\r\nDiff\\style5\\color=AEAEAE\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=0C1021\r\nDiff\\style6\\color=AEAEAE\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=0C1021\r\nDiff\\defaultcolor=F8F8F8\r\nDiff\\defaultpaper=0C1021\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=F8F8F8\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=0C1021\r\nFortran\\style1\\color=AEAEAE\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=0C1021\r\nFortran\\style2\\color=D8FA3C\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=0C1021\r\nFortran\\style3\\color=61CE3C\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=0C1021\r\nFortran\\style4\\color=61CE3C\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=0C1021\r\nFortran\\style5\\color=61CE3C\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=0C1021\r\nFortran\\style6\\color=FBDE2D\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=0C1021\r\nFortran\\style7\\color=8DA6CE\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=0C1021\r\nFortran\\style8\\color=FBDE2D\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=0C1021\r\nFortran\\style9\\color=AEAEAE\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=0C1021\r\nFortran\\style10\\color=AEAEAE\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=0C1021\r\nFortran\\style11\\color=FBDE2D\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=0C1021\r\nFortran\\style12\\color=AEAEAE\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=0C1021\r\nFortran\\style13\\color=FF6400\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=0C1021\r\nFortran\\style14\\color=AEAEAE\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=0C1021\r\nFortran\\defaultcolor=F8F8F8\r\nFortran\\defaultpaper=0C1021\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=F8F8F8\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=0C1021\r\nFortran77\\style1\\color=AEAEAE\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=0C1021\r\nFortran77\\style2\\color=D8FA3C\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=0C1021\r\nFortran77\\style3\\color=61CE3C\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=0C1021\r\nFortran77\\style4\\color=61CE3C\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=0C1021\r\nFortran77\\style5\\color=61CE3C\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=0C1021\r\nFortran77\\style6\\color=FBDE2D\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=0C1021\r\nFortran77\\style7\\color=8DA6CE\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=0C1021\r\nFortran77\\style8\\color=FBDE2D\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=0C1021\r\nFortran77\\style9\\color=AEAEAE\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=0C1021\r\nFortran77\\style10\\color=AEAEAE\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=0C1021\r\nFortran77\\style11\\color=FBDE2D\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=0C1021\r\nFortran77\\style12\\color=AEAEAE\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=0C1021\r\nFortran77\\style13\\color=FF6400\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=0C1021\r\nFortran77\\style14\\color=AEAEAE\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=0C1021\r\nFortran77\\defaultcolor=F8F8F8\r\nFortran77\\defaultpaper=0C1021\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=0C1021\r\nHTML\\style1\\color=FF6400\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=0C1021\r\nHTML\\style2\\color=FF6400\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=0C1021\r\nHTML\\style3\\color=FF6400\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=0C1021\r\nHTML\\style4\\color=FF6400\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=0C1021\r\nHTML\\style5\\color=D8FA3C\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=0C1021\r\nHTML\\style6\\color=61CE3C\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=0C1021\r\nHTML\\style7\\color=61CE3C\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=0C1021\r\nHTML\\style9\\color=AEAEAE\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=0C1021\r\nHTML\\style10\\color=D8FA3C\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=0C1021\r\nHTML\\style11\\color=FF6400\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=0C1021\r\nHTML\\style17\\color=D8FA3C\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=0C1021\r\nHTML\\style19\\color=D8FA3C\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=0C1021\r\nHTML\\style21\\color=61CE3C\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=0C1021\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=0C1021\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F8\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=0C1021\r\nProperties\\style1\\color=AEAEAE\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=0C1021\r\nProperties\\style2\\color=FF6400\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=0C1021\r\nProperties\\style3\\color=FBDE2D\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=0C1021\r\nProperties\\style4\\color=FF6400\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=0C1021\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=0C1021\r\nProperties\\defaultcolor=F8F8F8\r\nProperties\\defaultpaper=0C1021\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=F8F8F8\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=0C1021\r\nJava\\style1\\color=AEAEAE\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=0C1021\r\nJava\\style2\\color=AEAEAE\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=0C1021\r\nJava\\style3\\color=AEAEAE\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=0C1021\r\nJava\\style4\\color=D8FA3C\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=0C1021\r\nJava\\style5\\color=FBDE2D\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=0C1021\r\nJava\\style6\\color=61CE3C\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=0C1021\r\nJava\\style7\\color=61CE3C\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=0C1021\r\nJava\\style10\\color=FBDE2D\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=0C1021\r\nJava\\style11\\color=F8F8F8\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=0C1021\r\nJava\\style13\\color=D8FA3C\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=0C1021\r\nJava\\style14\\color=61CE3C\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=0C1021\r\nJava\\style15\\color=AEAEAE\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=0C1021\r\nJava\\style16\\color=FBDE2D\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=0C1021\r\nJava\\style17\\color=AEAEAE\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=0C1021\r\nJava\\style18\\color=AEAEAE\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=0C1021\r\nJava\\defaultcolor=F8F8F8\r\nJava\\defaultpaper=0C1021\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=F8F8F8\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=0C1021\r\nJavaScript\\style20\\color=61CE3C\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=0C1021\r\nJavaScript\\style41\\color=F8F8F8\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=0C1021\r\nJavaScript\\style42\\color=AEAEAE\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=0C1021\r\nJavaScript\\style43\\color=AEAEAE\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=0C1021\r\nJavaScript\\style44\\color=AEAEAE\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=0C1021\r\nJavaScript\\style45\\color=D8FA3C\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=0C1021\r\nJavaScript\\style46\\color=F8F8F8\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=0C1021\r\nJavaScript\\style47\\color=FBDE2D\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=0C1021\r\nJavaScript\\style48\\color=61CE3C\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=0C1021\r\nJavaScript\\style49\\color=61CE3C\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=0C1021\r\nJavaScript\\style50\\color=F8F8F8\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=0C1021\r\nJavaScript\\style51\\color=61CE3C\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=0C1021\r\nJavaScript\\style52\\color=61CE3C\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=0C1021\r\nJavaScript\\defaultcolor=F8F8F8\r\nJavaScript\\defaultpaper=0C1021\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=F8F8F8\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=0C1021\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=0C1021\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=0C1021\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=0C1021\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=0C1021\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=0C1021\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=0C1021\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=0C1021\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=0C1021\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=0C1021\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=0C1021\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=0C1021\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=0C1021\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=F8F8F8\r\nJSON\\defaultpaper=0C1021\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=F8F8F8\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=0C1021\r\nLua\\style1\\color=AEAEAE\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=0C1021\r\nLua\\style2\\color=AEAEAE\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=0C1021\r\nLua\\style3\\color=AEAEAE\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=0C1021\r\nLua\\style4\\color=D8FA3C\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=0C1021\r\nLua\\style5\\color=FBDE2D\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=0C1021\r\nLua\\style6\\color=61CE3C\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=0C1021\r\nLua\\style7\\color=61CE3C\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=0C1021\r\nLua\\style8\\color=61CE3C\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=0C1021\r\nLua\\style9\\color=FBDE2D\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=0C1021\r\nLua\\style10\\color=FBDE2D\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=0C1021\r\nLua\\style13\\color=AEAEAE\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=0C1021\r\nLua\\style14\\color=AEAEAE\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=0C1021\r\nLua\\style15\\color=AEAEAE\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=0C1021\r\nLua\\defaultcolor=F8F8F8\r\nLua\\defaultpaper=0C1021\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=F8F8F8\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=0C1021\r\nMakefile\\style1\\color=AEAEAE\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=0C1021\r\nMakefile\\style2\\color=FBDE2D\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=0C1021\r\nMakefile\\style3\\color=8DA6CE\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=0C1021\r\nMakefile\\style4\\color=FBDE2D\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=0C1021\r\nMakefile\\style5\\color=7F90AA\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=0C1021\r\nMakefile\\style9\\color=FF8080\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=0C1021\r\nMakefile\\defaultcolor=F8F8F8\r\nMakefile\\defaultpaper=0C1021\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=F8F8F8\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=0C1021\r\nMatlab\\style1\\color=AEAEAE\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=0C1021\r\nMatlab\\style2\\color=8DA6CE\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=0C1021\r\nMatlab\\style3\\color=D8FA3C\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=0C1021\r\nMatlab\\style4\\color=FBDE2D\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=0C1021\r\nMatlab\\style5\\color=61CE3C\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=0C1021\r\nMatlab\\style6\\color=FBDE2D\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=0C1021\r\nMatlab\\style7\\color=8DA6CE\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=0C1021\r\nMatlab\\style8\\color=61CE3C\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=0C1021\r\nMatlab\\defaultcolor=F8F8F8\r\nMatlab\\defaultpaper=0C1021\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=F8F8F8\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=0C1021\r\nNSIS\\style1\\color=AEAEAE\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=0C1021\r\nNSIS\\style2\\color=61CE3C\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=0C1021\r\nNSIS\\style3\\color=61CE3C\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=0C1021\r\nNSIS\\style4\\color=61CE3C\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=0C1021\r\nNSIS\\style5\\color=8DA6CE\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=0C1021\r\nNSIS\\style6\\color=F8F8F8\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=0C1021\r\nNSIS\\style7\\color=FF6400\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=0C1021\r\nNSIS\\style8\\color=AEAEAE\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=0C1021\r\nNSIS\\style9\\color=FF6400\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=0C1021\r\nNSIS\\style10\\color=AEAEAE\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=0C1021\r\nNSIS\\style11\\color=AEAEAE\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=0C1021\r\nNSIS\\style12\\color=AEAEAE\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=0C1021\r\nNSIS\\style13\\color=61CE3C\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=0C1021\r\nNSIS\\style14\\color=D8FA3C\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=0C1021\r\nNSIS\\style15\\color=AEAEAE\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=0C1021\r\nNSIS\\style16\\color=AEAEAE\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=0C1021\r\nNSIS\\style17\\color=AEAEAE\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=0C1021\r\nNSIS\\style18\\color=AEAEAE\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=0C1021\r\nNSIS\\defaultcolor=F8F8F8\r\nNSIS\\defaultpaper=0C1021\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0C1021\r\nC%2B%2B\\style1\\color=AEAEAE\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0C1021\r\nC%2B%2B\\style2\\color=AEAEAE\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0C1021\r\nC%2B%2B\\style3\\color=AEAEAE\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0C1021\r\nC%2B%2B\\style4\\color=D8FA3C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0C1021\r\nC%2B%2B\\style5\\color=FBDE2D\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=0C1021\r\nC%2B%2B\\style6\\color=61CE3C\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0C1021\r\nC%2B%2B\\style7\\color=61CE3C\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0C1021\r\nC%2B%2B\\style9\\color=FBDE2D\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0C1021\r\nC%2B%2B\\style10\\color=FBDE2D\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0C1021\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0C1021\r\nC%2B%2B\\style13\\color=D8FA3C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0C1021\r\nC%2B%2B\\style14\\color=61CE3C\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0C1021\r\nC%2B%2B\\style15\\color=AEAEAE\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0C1021\r\nC%2B%2B\\style16\\color=FBDE2D\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=0C1021\r\nC%2B%2B\\style17\\color=AEAEAE\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0C1021\r\nC%2B%2B\\style18\\color=AEAEAE\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0C1021\r\nC%2B%2B\\style19\\color=FBDE2D\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=0C1021\r\nC%2B%2B\\style20\\color=AEAEAE\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=0C1021\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0C1021\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=F8F8F8\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=0C1021\r\nPascal\\style1\\color=8DA6CE\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=0C1021\r\nPascal\\style2\\color=AEAEAE\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=0C1021\r\nPascal\\style3\\color=AEAEAE\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=0C1021\r\nPascal\\style4\\color=AEAEAE\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=0C1021\r\nPascal\\style5\\color=FBDE2D\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=0C1021\r\nPascal\\style7\\color=D8FA3C\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=0C1021\r\nPascal\\style9\\color=FBDE2D\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=0C1021\r\nPascal\\style12\\color=61CE3C\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=0C1021\r\nPascal\\style13\\color=FBDE2D\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=0C1021\r\nPascal\\style14\\color=61CE3C\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=0C1021\r\nPascal\\defaultcolor=F8F8F8\r\nPascal\\defaultpaper=0C1021\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=F8F8F8\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=0C1021\r\nPerl\\style1\\color=AEAEAE\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=0C1021\r\nPerl\\style2\\color=AEAEAE\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=0C1021\r\nPerl\\style3\\color=AEAEAE\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=0C1021\r\nPerl\\style4\\color=D8FA3C\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=0C1021\r\nPerl\\style5\\color=FBDE2D\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=0C1021\r\nPerl\\style6\\color=61CE3C\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=0C1021\r\nPerl\\style7\\color=61CE3C\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=0C1021\r\nPerl\\style8\\color=AEAEAE\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=0C1021\r\nPerl\\style9\\color=FBDE2D\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=0C1021\r\nPerl\\style10\\color=FBDE2D\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=0C1021\r\nPerl\\style12\\color=AEAEAE\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=0C1021\r\nPerl\\style13\\color=AEAEAE\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=0C1021\r\nPerl\\style14\\color=AEAEAE\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=0C1021\r\nPerl\\style15\\color=F8F8F8\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=0C1021\r\nPerl\\style17\\color=61CE3C\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=0C1021\r\nPerl\\style18\\color=AEAEAE\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=0C1021\r\nPerl\\style19\\color=AEAEAE\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=0C1021\r\nPerl\\style20\\color=AEAEAE\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=0C1021\r\nPerl\\style21\\color=AEAEAE\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=0C1021\r\nPerl\\defaultcolor=F8F8F8\r\nPerl\\defaultpaper=0C1021\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=0C1021\r\nHTML\\style18\\color=F8F8F8\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=0C1021\r\nHTML\\style118\\color=F8F8F8\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=0C1021\r\nHTML\\style119\\color=61CE3C\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=0C1021\r\nHTML\\style120\\color=61CE3C\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=0C1021\r\nHTML\\style121\\color=FBDE2D\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=0C1021\r\nHTML\\style122\\color=D8FA3C\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=0C1021\r\nHTML\\style123\\color=F8F8F8\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=0C1021\r\nHTML\\style124\\color=AEAEAE\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=0C1021\r\nHTML\\style125\\color=AEAEAE\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=0C1021\r\nHTML\\style126\\color=61CE3C\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=0C1021\r\nHTML\\style127\\color=FBDE2D\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=0C1021\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=0C1021\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F8\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=0C1021\r\nProperties\\style1\\color=AEAEAE\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=0C1021\r\nProperties\\style3\\color=FBDE2D\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=0C1021\r\nProperties\\style4\\color=FF6400\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=0C1021\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=0C1021\r\nProperties\\defaultcolor=F8F8F8\r\nProperties\\defaultpaper=0C1021\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=F8F8F8\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=0C1021\r\nPython\\style1\\color=AEAEAE\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=0C1021\r\nPython\\style2\\color=D8FA3C\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=0C1021\r\nPython\\style3\\color=61CE3C\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=0C1021\r\nPython\\style4\\color=61CE3C\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=0C1021\r\nPython\\style5\\color=FBDE2D\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=0C1021\r\nPython\\style6\\color=AEAEAE\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=0C1021\r\nPython\\style7\\color=AEAEAE\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=0C1021\r\nPython\\style8\\color=FF6400\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=0C1021\r\nPython\\style9\\color=BECDE6\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=0C1021\r\nPython\\style10\\color=FBDE2D\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=0C1021\r\nPython\\style11\\color=8DA6CE\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=0C1021\r\nPython\\style12\\color=61CE3C\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=0C1021\r\nPython\\defaultcolor=F8F8F8\r\nPython\\defaultpaper=0C1021\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0C1021\r\nC%2B%2B\\style1\\color=AEAEAE\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0C1021\r\nC%2B%2B\\style2\\color=AEAEAE\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0C1021\r\nC%2B%2B\\style3\\color=AEAEAE\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0C1021\r\nC%2B%2B\\style4\\color=D8FA3C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0C1021\r\nC%2B%2B\\style5\\color=FBDE2D\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=0C1021\r\nC%2B%2B\\style6\\color=61CE3C\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0C1021\r\nC%2B%2B\\style7\\color=61CE3C\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0C1021\r\nC%2B%2B\\style9\\color=FBDE2D\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0C1021\r\nC%2B%2B\\style10\\color=FBDE2D\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0C1021\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0C1021\r\nC%2B%2B\\style13\\color=D8FA3C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0C1021\r\nC%2B%2B\\style14\\color=61CE3C\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0C1021\r\nC%2B%2B\\style15\\color=AEAEAE\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0C1021\r\nC%2B%2B\\style16\\color=FBDE2D\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=0C1021\r\nC%2B%2B\\style17\\color=AEAEAE\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0C1021\r\nC%2B%2B\\style18\\color=AEAEAE\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0C1021\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0C1021\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=F8F8F8\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=0C1021\r\nRuby\\style1\\color=AEAEAE\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=0C1021\r\nRuby\\style2\\color=AEAEAE\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=0C1021\r\nRuby\\style3\\color=AEAEAE\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=0C1021\r\nRuby\\style4\\color=D8FA3C\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=0C1021\r\nRuby\\style5\\color=FBDE2D\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=0C1021\r\nRuby\\style6\\color=61CE3C\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=0C1021\r\nRuby\\style7\\color=61CE3C\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=0C1021\r\nRuby\\style8\\color=FF6400\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=0C1021\r\nRuby\\style9\\color=FF6400\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=0C1021\r\nRuby\\style10\\color=FBDE2D\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=0C1021\r\nRuby\\style11\\color=8DA6CE\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=0C1021\r\nRuby\\style12\\color=61CE3C\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=0C1021\r\nRuby\\style13\\color=F8F8F8\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=0C1021\r\nRuby\\style14\\color=F8F8F8\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=0C1021\r\nRuby\\style15\\color=AEAEAE\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=0C1021\r\nRuby\\style16\\color=F8F8F8\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=0C1021\r\nRuby\\style17\\color=AEAEAE\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=0C1021\r\nRuby\\style18\\color=AEAEAE\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=0C1021\r\nRuby\\style19\\color=AEAEAE\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=0C1021\r\nRuby\\style24\\color=61CE3C\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=0C1021\r\nRuby\\defaultcolor=F8F8F8\r\nRuby\\defaultpaper=0C1021\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=F8F8F8\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=0C1021\r\nSQL\\style1\\color=AEAEAE\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=0C1021\r\nSQL\\style2\\color=AEAEAE\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=0C1021\r\nSQL\\style3\\color=AEAEAE\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=0C1021\r\nSQL\\style4\\color=D8FA3C\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=0C1021\r\nSQL\\style5\\color=FBDE2D\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=0C1021\r\nSQL\\style6\\color=61CE3C\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=0C1021\r\nSQL\\style7\\color=61CE3C\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=0C1021\r\nSQL\\style10\\color=FBDE2D\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=0C1021\r\nSQL\\style16\\color=FBDE2D\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=0C1021\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=0C1021\r\nSQL\\style24\\color=61CE3C\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=0C1021\r\nSQL\\defaultcolor=F8F8F8\r\nSQL\\defaultpaper=0C1021\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=F8F8F8\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=0C1021\r\nTCL\\style1\\color=AEAEAE\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=0C1021\r\nTCL\\style2\\color=AEAEAE\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=0C1021\r\nTCL\\style3\\color=AEAEAE\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=0C1021\r\nTCL\\style4\\color=D8FA3C\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=0C1021\r\nTCL\\style5\\color=FBDE2D\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=0C1021\r\nTCL\\style6\\color=61CE3C\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=0C1021\r\nTCL\\style7\\color=61CE3C\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=0C1021\r\nTCL\\style9\\color=FBDE2D\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=0C1021\r\nTCL\\style10\\color=FBDE2D\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=0C1021\r\nTCL\\style11\\color=F8F8F8\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=0C1021\r\nTCL\\style13\\color=D8FA3C\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=0C1021\r\nTCL\\style14\\color=61CE3C\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=0C1021\r\nTCL\\style15\\color=AEAEAE\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=0C1021\r\nTCL\\style16\\color=FBDE2D\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=0C1021\r\nTCL\\style17\\color=AEAEAE\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=0C1021\r\nTCL\\style18\\color=AEAEAE\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=0C1021\r\nTCL\\defaultcolor=F8F8F8\r\nTCL\\defaultpaper=0C1021\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=F8F8F8\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=0C1021\r\nTXT\\style1\\color=F8F8F8\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=0C1021\r\nTXT\\style2\\color=FBDE2D\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=0C1021\r\nTXT\\defaultcolor=F8F8F8\r\nTXT\\defaultpaper=0C1021\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=F8F8F8\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=0C1021\r\nVB\\style1\\color=AEAEAE\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=0C1021\r\nVB\\style2\\color=D8FA3C\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=0C1021\r\nVB\\style3\\color=FBDE2D\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=0C1021\r\nVB\\style4\\color=61CE3C\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=0C1021\r\nVB\\style5\\color=FBDE2D\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=0C1021\r\nVB\\style6\\color=FBDE2D\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=0C1021\r\nVB\\style7\\color=F8F8F8\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=0C1021\r\nVB\\style8\\color=8DA6CE\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=0C1021\r\nVB\\defaultcolor=F8F8F8\r\nVB\\defaultpaper=0C1021\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=F8F8F8\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=0C1021\r\nVerilog\\style1\\color=AEAEAE\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=0C1021\r\nVerilog\\style2\\color=AEAEAE\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=0C1021\r\nVerilog\\style3\\color=AEAEAE\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=0C1021\r\nVerilog\\style4\\color=D8FA3C\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=0C1021\r\nVerilog\\style5\\color=FBDE2D\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=0C1021\r\nVerilog\\style6\\color=61CE3C\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=0C1021\r\nVerilog\\style7\\color=FBDE2D\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=0C1021\r\nVerilog\\style9\\color=FBDE2D\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=0C1021\r\nVerilog\\style10\\color=FBDE2D\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=0C1021\r\nVerilog\\style11\\color=8DA6CE\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=0C1021\r\nVerilog\\style12\\color=61CE3C\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=0C1021\r\nVerilog\\style19\\color=AEAEAE\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=0C1021\r\nVerilog\\defaultcolor=F8F8F8\r\nVerilog\\defaultpaper=0C1021\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=F8F8F8\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=0C1021\r\nVHDL\\style1\\color=AEAEAE\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=0C1021\r\nVHDL\\style2\\color=AEAEAE\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=0C1021\r\nVHDL\\style3\\color=D8FA3C\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=0C1021\r\nVHDL\\style4\\color=61CE3C\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=0C1021\r\nVHDL\\style5\\color=FBDE2D\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=0C1021\r\nVHDL\\style6\\color=8DA6CE\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=0C1021\r\nVHDL\\style7\\color=61CE3C\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=0C1021\r\nVHDL\\style8\\color=FBDE2D\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=0C1021\r\nVHDL\\style9\\color=FBDE2D\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=0C1021\r\nVHDL\\style10\\color=AEAEAE\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=0C1021\r\nVHDL\\style11\\color=AEAEAE\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=0C1021\r\nVHDL\\style12\\color=AEAEAE\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=0C1021\r\nVHDL\\style13\\color=AEAEAE\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=0C1021\r\nVHDL\\style14\\color=AEAEAE\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=0C1021\r\nVHDL\\defaultcolor=F8F8F8\r\nVHDL\\defaultpaper=0C1021\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Black board/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=F8F8F8\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=0C1021\r\nXML\\style1\\color=FF6400\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=0C1021\r\nXML\\style2\\color=FF6400\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=0C1021\r\nXML\\style3\\color=FF6400\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=0C1021\r\nXML\\style4\\color=FF6400\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=0C1021\r\nXML\\style5\\color=D8FA3C\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=0C1021\r\nXML\\style6\\color=61CE3C\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=0C1021\r\nXML\\style7\\color=61CE3C\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=0C1021\r\nXML\\style9\\color=AEAEAE\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=0C1021\r\nXML\\style10\\color=D8FA3C\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=0C1021\r\nXML\\style11\\color=FF6400\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=0C1021\r\nXML\\style12\\color=7F90AA\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=0C1021\r\nXML\\style13\\color=7F90AA\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=0C1021\r\nXML\\style17\\color=D8FA3C\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=0C1021\r\nXML\\style21\\color=61CE3C\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=0C1021\r\nXML\\defaultcolor=F8F8F8\r\nXML\\defaultpaper=0C1021\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Blue light/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color = 0\r\nGlobal\\style0\\eolfill = false\r\nGlobal\\style0\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper = eaf7ff\r\nGlobal\\style1\\color = 0\r\nGlobal\\style1\\eolfill = false\r\nGlobal\\style1\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper = eaf7ff\r\nGlobal\\style2\\color = c0c0c0\r\nGlobal\\style2\\eolfill = false\r\nGlobal\\style2\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper = ffffff\r\nGlobal\\style3\\color = ff0000\r\nGlobal\\style3\\eolfill = false\r\nGlobal\\style3\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper = ffffff\r\nGlobal\\style4\\color = 800000\r\nGlobal\\style4\\eolfill = false\r\nGlobal\\style4\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper = ffffff\r\nGlobal\\style5\\color = 80c0\r\nGlobal\\style5\\eolfill = false\r\nGlobal\\style5\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper = e8e8ff\r\nGlobal\\style6\\color = 0\r\nGlobal\\style6\\eolfill = false\r\nGlobal\\style6\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper = c0c0c0\r\nGlobal\\style7\\color = 8000ff\r\nGlobal\\style7\\eolfill = false\r\nGlobal\\style7\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper = 919994\r\nGlobal\\style8\\color = 80ffff\r\nGlobal\\style8\\eolfill = false\r\nGlobal\\style8\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper = 112435\r\nGlobal\\style9\\color = 808080\r\nGlobal\\style9\\eolfill = false\r\nGlobal\\style9\\font = Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper = e8f5fd\r\nGlobal\\style10\\color = eeeeec\r\nGlobal\\style10\\eolfill = false\r\nGlobal\\style10\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper = e0f3fc\r\nGlobal\\style11\\color = 000000\r\nGlobal\\style11\\eolfill = false\r\nGlobal\\style11\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper = eaf7ff\r\nGlobal\\style12\\color = 000000\r\nGlobal\\style12\\eolfill = false\r\nGlobal\\style12\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper = eaf7ff\r\nGlobal\\style13\\color = eaf7ff\r\nGlobal\\style13\\eolfill = false\r\nGlobal\\style13\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper = e8f5fd\r\nGlobal\\style14\\color = ffb56a\r\nGlobal\\style14\\eolfill = false\r\nGlobal\\style14\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper = 80ff00\r\nGlobal\\style15\\color = ff00\r\nGlobal\\style15\\eolfill = false\r\nGlobal\\style15\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper = ff00\r\nGlobal\\style16\\color = fcaf3e\r\nGlobal\\style16\\eolfill = false\r\nGlobal\\style16\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper = ff0000\r\nGlobal\\style17\\color = 555753\r\nGlobal\\style17\\eolfill = false\r\nGlobal\\style17\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper = ffff\r\nGlobal\\style18\\color = fcaf3e\r\nGlobal\\style18\\eolfill = false\r\nGlobal\\style18\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper = ff8000\r\nGlobal\\style19\\color = faaa3c\r\nGlobal\\style19\\eolfill = false\r\nGlobal\\style19\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper = ffff00\r\nGlobal\\style20\\color = ffcab0\r\nGlobal\\style20\\eolfill = false\r\nGlobal\\style20\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper = 8000ff\r\nGlobal\\style21\\color = 0\r\nGlobal\\style21\\eolfill = false\r\nGlobal\\style21\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper = 8000\r\nGlobal\\style22\\color = 808080\r\nGlobal\\style22\\eolfill = false\r\nGlobal\\style22\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper = 80ff\r\nGlobal\\style23\\color = ffcab0\r\nGlobal\\style23\\eolfill = false\r\nGlobal\\style23\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper = 8000ff\r\nGlobal\\style24\\color = ffcab0\r\nGlobal\\style24\\eolfill = false\r\nGlobal\\style24\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper = ffff00\r\nGlobal\\style25\\color = ff\r\nGlobal\\style25\\eolfill = false\r\nGlobal\\style25\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper = c0c0c0\r\nGlobal\\defaultcolor = 0\r\nGlobal\\defaultpaper = eaf7ff\r\nGlobal\\defaultfont = Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = eaf7ff\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = eaf7ff\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = eaf7ff\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = eaf7ff\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = eaf7ff\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = eaf7ff\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = eaf7ff\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = eaf7ff\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = eaf7ff\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = eaf7ff\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = eaf7ff\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = eaf7ff\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = eaf7ff\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = eaf7ff\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = eaf7ff\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = eaf7ff\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = eaf7ff\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = eaf7ff\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = eaf7ff\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = eaf7ff\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = eaf7ff\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = eaf7ff\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = eaf7ff\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = eaf7ff\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = eaf7ff\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = eaf7ff\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = eaf7ff\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = eaf7ff\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = eaf7ff\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = eaf7ff\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = eaf7ff\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = eaf7ff\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = eaf7ff\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = eaf7ff\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = eaf7ff\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = eaf7ff\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = eaf7ff\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = eaf7ff\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = eaf7ff\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = eaf7ff\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = eaf7ff\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = eaf7ff\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = eaf7ff\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = eaf7ff\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = eaf7ff\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = eaf7ff\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = eaf7ff\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = eaf7ff\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = eaf7ff\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = eaf7ff\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = eaf7ff\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = eaf7ff\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = eaf7ff\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = eaf7ff\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = eaf7ff\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = eaf7ff\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = eaf7ff\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = eaf7ff\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = eaf7ff\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = eaf7ff\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = eaf7ff\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = eaf7ff\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = eaf7ff\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = eaf7ff\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = eaf7ff\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = eaf7ff\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = eaf7ff\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = eaf7ff\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = eaf7ff\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = eaf7ff\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = eaf7ff\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = eaf7ff\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = eaf7ff\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = eaf7ff\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = eaf7ff\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = eaf7ff\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = eaf7ff\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = eaf7ff\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = eaf7ff\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = eaf7ff\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = eaf7ff\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = eaf7ff\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = eaf7ff\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = eaf7ff\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = eaf7ff\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = eaf7ff\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = eaf7ff\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = eaf7ff\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = eaf7ff\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = eaf7ff\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = eaf7ff\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = eaf7ff\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = eaf7ff\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = eaf7ff\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = eaf7ff\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = eaf7ff\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = eaf7ff\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = eaf7ff\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = eaf7ff\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = eaf7ff\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = eaf7ff\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = eaf7ff\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = eaf7ff\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = eaf7ff\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = eaf7ff\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = eaf7ff\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = eaf7ff\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = eaf7ff\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = eaf7ff\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = eaf7ff\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/avs.ini",
    "content": "[Scintilla]\r\nAVS\\style0\\color = 0\r\nAVS\\style0\\eolfill = false\r\nAVS\\style0\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style0\\paper = eaf7ff\r\nAVS\\style1\\color = 7f00\r\nAVS\\style1\\eolfill = false\r\nAVS\\style1\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style1\\paper = eaf7ff\r\nAVS\\style2\\color = 7f00\r\nAVS\\style2\\eolfill = false\r\nAVS\\style2\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style2\\paper = eaf7ff\r\nAVS\\style3\\color = 7f00\r\nAVS\\style3\\eolfill = false\r\nAVS\\style3\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style3\\paper = eaf7ff\r\nAVS\\style4\\color = 7f7f\r\nAVS\\style4\\eolfill = false\r\nAVS\\style4\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style4\\paper = eaf7ff\r\nAVS\\style5\\color = 0\r\nAVS\\style5\\eolfill = false\r\nAVS\\style5\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style5\\paper = eaf7ff\r\nAVS\\style6\\color = 0\r\nAVS\\style6\\eolfill = false\r\nAVS\\style6\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style6\\paper = eaf7ff\r\nAVS\\style7\\color = 7f007f\r\nAVS\\style7\\eolfill = false\r\nAVS\\style7\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style7\\paper = eaf7ff\r\nAVS\\style8\\color = 7f007f\r\nAVS\\style8\\eolfill = false\r\nAVS\\style8\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style8\\paper = eaf7ff\r\nAVS\\style9\\color = 8000ff\r\nAVS\\style9\\eolfill = false\r\nAVS\\style9\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style9\\paper = eaf7ff\r\nAVS\\style10\\color = 8000ff\r\nAVS\\style10\\eolfill = false\r\nAVS\\style10\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style10\\paper = eaf7ff\r\nAVS\\style11\\color = 80c0\r\nAVS\\style11\\eolfill = false\r\nAVS\\style11\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style11\\paper = eaf7ff\r\nAVS\\style12\\color = 7f7f\r\nAVS\\style12\\eolfill = false\r\nAVS\\style12\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style12\\paper = eaf7ff\r\nAVS\\style13\\color = 8000ff\r\nAVS\\style13\\eolfill = false\r\nAVS\\style13\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style13\\paper = eaf7ff\r\nAVS\\style14\\color = 8000ff\r\nAVS\\style14\\eolfill = false\r\nAVS\\style14\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style14\\paper = eaf7ff\r\nAVS\\properties\\foldcomments = false\r\nAVS\\properties\\foldcompact = true\r\nAVS\\defaultcolor = 0\r\nAVS\\defaultpaper = eaf7ff\r\nAVS\\defaultfont = Courier New, 14, 0, 0, 0\r\nAVS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color = 808080\r\nBash\\style0\\eolfill = false\r\nBash\\style0\\font = Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper = eaf7ff\r\nBash\\style1\\color = ffff00\r\nBash\\style1\\eolfill = false\r\nBash\\style1\\font = Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper = eaf7ff\r\nBash\\style2\\color = 7f00\r\nBash\\style2\\eolfill = false\r\nBash\\style2\\font = Courier New, 11, 0, 0, 0\r\nBash\\style2\\paper = eaf7ff\r\nBash\\style3\\color = 7f7f\r\nBash\\style3\\eolfill = false\r\nBash\\style3\\font = Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper = eaf7ff\r\nBash\\style4\\color = 8000ff\r\nBash\\style4\\eolfill = false\r\nBash\\style4\\font = Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper = eaf7ff\r\nBash\\style5\\color = 7f007f\r\nBash\\style5\\eolfill = false\r\nBash\\style5\\font = Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper = eaf7ff\r\nBash\\style6\\color = 7f007f\r\nBash\\style6\\eolfill = false\r\nBash\\style6\\font = Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper = eaf7ff\r\nBash\\style7\\color = 0\r\nBash\\style7\\eolfill = false\r\nBash\\style7\\font = Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper = eaf7ff\r\nBash\\style8\\color = 0\r\nBash\\style8\\eolfill = false\r\nBash\\style8\\font = Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper = eaf7ff\r\nBash\\style9\\color = 0\r\nBash\\style9\\eolfill = false\r\nBash\\style9\\font = Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper = eaf7ff\r\nBash\\style10\\color = 0\r\nBash\\style10\\eolfill = false\r\nBash\\style10\\font = Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper = eaf7ff\r\nBash\\style11\\color = ffff00\r\nBash\\style11\\eolfill = false\r\nBash\\style11\\font = Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper = eaf7ff\r\nBash\\style12\\color = 0\r\nBash\\style12\\eolfill = false\r\nBash\\style12\\font = Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper = eaf7ff\r\nBash\\style13\\color = 7f007f\r\nBash\\style13\\eolfill = true\r\nBash\\style13\\font = Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper = eaf7ff\r\nBash\\properties\\foldcomments = false\r\nBash\\properties\\foldcompact = true\r\nBash\\defaultcolor = 0\r\nBash\\defaultpaper = eaf7ff\r\nBash\\defaultfont = Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color = 0\r\nBatch\\style0\\eolfill = false\r\nBatch\\style0\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper = eaf7ff\r\nBatch\\style1\\color = 7f00\r\nBatch\\style1\\eolfill = false\r\nBatch\\style1\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper = eaf7ff\r\nBatch\\style2\\color = 8000ff\r\nBatch\\style2\\eolfill = false\r\nBatch\\style2\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style2\\paper = eaf7ff\r\nBatch\\style3\\color = 7f007f\r\nBatch\\style3\\eolfill = true\r\nBatch\\style3\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper = eaf7ff\r\nBatch\\style4\\color = 7f7f00\r\nBatch\\style4\\eolfill = false\r\nBatch\\style4\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper = eaf7ff\r\nBatch\\style5\\color = 8000ff\r\nBatch\\style5\\eolfill = false\r\nBatch\\style5\\font = Courier New, 14, 1, 0, 0\r\nBatch\\style5\\paper = eaf7ff\r\nBatch\\style6\\color = 800080\r\nBatch\\style6\\eolfill = false\r\nBatch\\style6\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper = eaf7ff\r\nBatch\\style7\\color = 0\r\nBatch\\style7\\eolfill = false\r\nBatch\\style7\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper = eaf7ff\r\nBatch\\defaultcolor = 0\r\nBatch\\defaultpaper = eaf7ff\r\nBatch\\defaultfont = Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = eaf7ff\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = eaf7ff\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = eaf7ff\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = eaf7ff\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = eaf7ff\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = eaf7ff\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = eaf7ff\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = eaf7ff\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = eaf7ff\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = eaf7ff\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = eaf7ff\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = eaf7ff\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = eaf7ff\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = eaf7ff\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = eaf7ff\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = eaf7ff\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = eaf7ff\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = eaf7ff\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = eaf7ff\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = eaf7ff\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = eaf7ff\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = eaf7ff\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = eaf7ff\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = eaf7ff\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = eaf7ff\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = eaf7ff\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = eaf7ff\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = eaf7ff\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = eaf7ff\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = eaf7ff\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = eaf7ff\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = eaf7ff\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = eaf7ff\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = eaf7ff\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = eaf7ff\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = eaf7ff\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = eaf7ff\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = eaf7ff\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = eaf7ff\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = eaf7ff\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = eaf7ff\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = eaf7ff\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = eaf7ff\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = eaf7ff\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = eaf7ff\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = eaf7ff\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = eaf7ff\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = eaf7ff\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = eaf7ff\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = eaf7ff\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = eaf7ff\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = eaf7ff\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = eaf7ff\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = eaf7ff\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = eaf7ff\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = eaf7ff\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = eaf7ff\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color = 0\r\nCMake\\style0\\eolfill = false\r\nCMake\\style0\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper = eaf7ff\r\nCMake\\style1\\color = 7f00\r\nCMake\\style1\\eolfill = false\r\nCMake\\style1\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper = eaf7ff\r\nCMake\\style2\\color = 7f007f\r\nCMake\\style2\\eolfill = false\r\nCMake\\style2\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper = eaf7ff\r\nCMake\\style3\\color = 7f007f\r\nCMake\\style3\\eolfill = false\r\nCMake\\style3\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper = eaf7ff\r\nCMake\\style4\\color = 7f007f\r\nCMake\\style4\\eolfill = false\r\nCMake\\style4\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper = eaf7ff\r\nCMake\\style5\\color = 7f\r\nCMake\\style5\\eolfill = false\r\nCMake\\style5\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style5\\paper = eaf7ff\r\nCMake\\style6\\color = 800000\r\nCMake\\style6\\eolfill = false\r\nCMake\\style6\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper = eaf7ff\r\nCMake\\style7\\color = cc3300\r\nCMake\\style7\\eolfill = false\r\nCMake\\style7\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper = eaf7ff\r\nCMake\\style8\\color = 0\r\nCMake\\style8\\eolfill = false\r\nCMake\\style8\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper = eaf7ff\r\nCMake\\style9\\color = 7f\r\nCMake\\style9\\eolfill = false\r\nCMake\\style9\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style9\\paper = eaf7ff\r\nCMake\\style10\\color = 7f\r\nCMake\\style10\\eolfill = false\r\nCMake\\style10\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style10\\paper = eaf7ff\r\nCMake\\style11\\color = 7f\r\nCMake\\style11\\eolfill = false\r\nCMake\\style11\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style11\\paper = eaf7ff\r\nCMake\\style12\\color = 7f\r\nCMake\\style12\\eolfill = false\r\nCMake\\style12\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style12\\paper = eaf7ff\r\nCMake\\style13\\color = cc3300\r\nCMake\\style13\\eolfill = false\r\nCMake\\style13\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper = eaf7ff\r\nCMake\\style14\\color = 7f7f\r\nCMake\\style14\\eolfill = false\r\nCMake\\style14\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper = eaf7ff\r\nCMake\\properties\\foldatelse = false\r\nCMake\\defaultcolor = 0\r\nCMake\\defaultpaper = eaf7ff\r\nCMake\\defaultfont = Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/coffeescript.ini",
    "content": "[Scintilla]\r\nCoffeeScript\\style0\\color = 808080\r\nCoffeeScript\\style0\\eolfill = false\r\nCoffeeScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style0\\paper = eaf7ff\r\nCoffeeScript\\style1\\color = 7f00\r\nCoffeeScript\\style1\\eolfill = false\r\nCoffeeScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style1\\paper = eaf7ff\r\nCoffeeScript\\style2\\color = 7f00\r\nCoffeeScript\\style2\\eolfill = false\r\nCoffeeScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style2\\paper = eaf7ff\r\nCoffeeScript\\style3\\color = 3f703f\r\nCoffeeScript\\style3\\eolfill = false\r\nCoffeeScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style3\\paper = eaf7ff\r\nCoffeeScript\\style4\\color = 7f7f\r\nCoffeeScript\\style4\\eolfill = false\r\nCoffeeScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style4\\paper = eaf7ff\r\nCoffeeScript\\style5\\color = 8000ff\r\nCoffeeScript\\style5\\eolfill = false\r\nCoffeeScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style5\\paper = eaf7ff\r\nCoffeeScript\\style6\\color = 7f007f\r\nCoffeeScript\\style6\\eolfill = false\r\nCoffeeScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style6\\paper = eaf7ff\r\nCoffeeScript\\style7\\color = 7f007f\r\nCoffeeScript\\style7\\eolfill = false\r\nCoffeeScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style7\\paper = eaf7ff\r\nCoffeeScript\\style8\\color = 0\r\nCoffeeScript\\style8\\eolfill = false\r\nCoffeeScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style8\\paper = eaf7ff\r\nCoffeeScript\\style9\\color = 7f7f00\r\nCoffeeScript\\style9\\eolfill = false\r\nCoffeeScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style9\\paper = eaf7ff\r\nCoffeeScript\\style10\\color = 0\r\nCoffeeScript\\style10\\eolfill = false\r\nCoffeeScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style10\\paper = eaf7ff\r\nCoffeeScript\\style11\\color = 0\r\nCoffeeScript\\style11\\eolfill = false\r\nCoffeeScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style11\\paper = eaf7ff\r\nCoffeeScript\\style12\\color = 0\r\nCoffeeScript\\style12\\eolfill = true\r\nCoffeeScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style12\\paper = eaf7ff\r\nCoffeeScript\\style13\\color = 7f00\r\nCoffeeScript\\style13\\eolfill = true\r\nCoffeeScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style13\\paper = eaf7ff\r\nCoffeeScript\\style14\\color = 3f7f3f\r\nCoffeeScript\\style14\\eolfill = true\r\nCoffeeScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style14\\paper = eaf7ff\r\nCoffeeScript\\style15\\color = 3f703f\r\nCoffeeScript\\style15\\eolfill = false\r\nCoffeeScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style15\\paper = eaf7ff\r\nCoffeeScript\\style16\\color = 0\r\nCoffeeScript\\style16\\eolfill = false\r\nCoffeeScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style16\\paper = eaf7ff\r\nCoffeeScript\\style17\\color = 3060a0\r\nCoffeeScript\\style17\\eolfill = false\r\nCoffeeScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style17\\paper = eaf7ff\r\nCoffeeScript\\style18\\color = 804020\r\nCoffeeScript\\style18\\eolfill = false\r\nCoffeeScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style18\\paper = eaf7ff\r\nCoffeeScript\\style19\\color = 0\r\nCoffeeScript\\style19\\eolfill = false\r\nCoffeeScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style19\\paper = eaf7ff\r\nCoffeeScript\\style22\\color = 7f00\r\nCoffeeScript\\style22\\eolfill = false\r\nCoffeeScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style22\\paper = eaf7ff\r\nCoffeeScript\\style23\\color = 3f7f3f\r\nCoffeeScript\\style23\\eolfill = false\r\nCoffeeScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style23\\paper = eaf7ff\r\nCoffeeScript\\style24\\color = 7f00\r\nCoffeeScript\\style24\\eolfill = false\r\nCoffeeScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style24\\paper = eaf7ff\r\nCoffeeScript\\style25\\color = c06000\r\nCoffeeScript\\style25\\eolfill = false\r\nCoffeeScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style25\\paper = eaf7ff\r\nCoffeeScript\\properties\\foldcomments = false\r\nCoffeeScript\\properties\\foldcompact = true\r\nCoffeeScript\\properties\\stylepreprocessor = false\r\nCoffeeScript\\properties\\dollars = true\r\nCoffeeScript\\defaultcolor = 0\r\nCoffeeScript\\defaultpaper = eaf7ff\r\nCoffeeScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = eaf7ff\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = eaf7ff\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = eaf7ff\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = eaf7ff\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = eaf7ff\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = eaf7ff\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = eaf7ff\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = eaf7ff\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = eaf7ff\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = eaf7ff\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = eaf7ff\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = eaf7ff\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = eaf7ff\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = eaf7ff\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = eaf7ff\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = eaf7ff\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = eaf7ff\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = eaf7ff\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = eaf7ff\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = eaf7ff\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = eaf7ff\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = eaf7ff\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = eaf7ff\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = eaf7ff\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = eaf7ff\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = eaf7ff\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = eaf7ff\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = eaf7ff\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = eaf7ff\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = eaf7ff\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = eaf7ff\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = eaf7ff\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = eaf7ff\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = eaf7ff\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = eaf7ff\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = eaf7ff\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = eaf7ff\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = eaf7ff\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = eaf7ff\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = eaf7ff\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = eaf7ff\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = eaf7ff\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = eaf7ff\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = eaf7ff\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = eaf7ff\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = eaf7ff\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = eaf7ff\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = eaf7ff\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = eaf7ff\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = eaf7ff\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = eaf7ff\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = eaf7ff\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = eaf7ff\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = eaf7ff\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = eaf7ff\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = eaf7ff\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = eaf7ff\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color = 808080\r\nC%23\\style0\\eolfill = false\r\nC%23\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper = eaf7ff\r\nC%23\\style1\\color = 7f00\r\nC%23\\style1\\eolfill = false\r\nC%23\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper = eaf7ff\r\nC%23\\style2\\color = 7f00\r\nC%23\\style2\\eolfill = false\r\nC%23\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper = eaf7ff\r\nC%23\\style3\\color = 3f703f\r\nC%23\\style3\\eolfill = false\r\nC%23\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper = eaf7ff\r\nC%23\\style4\\color = 7f7f\r\nC%23\\style4\\eolfill = false\r\nC%23\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper = eaf7ff\r\nC%23\\style5\\color = 8000ff\r\nC%23\\style5\\eolfill = false\r\nC%23\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style5\\paper = eaf7ff\r\nC%23\\style6\\color = 7f007f\r\nC%23\\style6\\eolfill = false\r\nC%23\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper = eaf7ff\r\nC%23\\style7\\color = 7f007f\r\nC%23\\style7\\eolfill = false\r\nC%23\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper = eaf7ff\r\nC%23\\style8\\color = 0\r\nC%23\\style8\\eolfill = false\r\nC%23\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style8\\paper = eaf7ff\r\nC%23\\style9\\color = 7f7f00\r\nC%23\\style9\\eolfill = false\r\nC%23\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper = eaf7ff\r\nC%23\\style10\\color = 0\r\nC%23\\style10\\eolfill = false\r\nC%23\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper = eaf7ff\r\nC%23\\style11\\color = 0\r\nC%23\\style11\\eolfill = false\r\nC%23\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper = eaf7ff\r\nC%23\\style12\\color = 0\r\nC%23\\style12\\eolfill = true\r\nC%23\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style12\\paper = eaf7ff\r\nC%23\\style13\\color = 7f00\r\nC%23\\style13\\eolfill = true\r\nC%23\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper = eaf7ff\r\nC%23\\style14\\color = 3f7f3f\r\nC%23\\style14\\eolfill = true\r\nC%23\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper = eaf7ff\r\nC%23\\style15\\color = 3f703f\r\nC%23\\style15\\eolfill = false\r\nC%23\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper = eaf7ff\r\nC%23\\style16\\color = 0\r\nC%23\\style16\\eolfill = false\r\nC%23\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style16\\paper = eaf7ff\r\nC%23\\style17\\color = 3060a0\r\nC%23\\style17\\eolfill = false\r\nC%23\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper = eaf7ff\r\nC%23\\style18\\color = 804020\r\nC%23\\style18\\eolfill = false\r\nC%23\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper = eaf7ff\r\nC%23\\style19\\color = 0\r\nC%23\\style19\\eolfill = false\r\nC%23\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style19\\paper = eaf7ff\r\nC%23\\style20\\color = 7f007f\r\nC%23\\style20\\eolfill = false\r\nC%23\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style20\\paper = eaf7ff\r\nC%23\\style21\\color = 7f00\r\nC%23\\style21\\eolfill = true\r\nC%23\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style21\\paper = eaf7ff\r\nC%23\\style22\\color = 7f00\r\nC%23\\style22\\eolfill = true\r\nC%23\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style22\\paper = eaf7ff\r\nC%23\\style23\\color = 659900\r\nC%23\\style23\\eolfill = false\r\nC%23\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style23\\paper = eaf7ff\r\nC%23\\style24\\color = 3f703f\r\nC%23\\style24\\eolfill = false\r\nC%23\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style24\\paper = eaf7ff\r\nC%23\\style25\\color = c06000\r\nC%23\\style25\\eolfill = false\r\nC%23\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style25\\paper = eaf7ff\r\nC%23\\style26\\color = be07ff\r\nC%23\\style26\\eolfill = false\r\nC%23\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style26\\paper = eaf7ff\r\nC%23\\style27\\color = 0\r\nC%23\\style27\\eolfill = false\r\nC%23\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style27\\paper = eaf7ff\r\nC%23\\style64\\color = c0c0c0\r\nC%23\\style64\\eolfill = false\r\nC%23\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style64\\paper = eaf7ff\r\nC%23\\style65\\color = 90b090\r\nC%23\\style65\\eolfill = false\r\nC%23\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style65\\paper = eaf7ff\r\nC%23\\style66\\color = 90b090\r\nC%23\\style66\\eolfill = false\r\nC%23\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style66\\paper = eaf7ff\r\nC%23\\style67\\color = d0d0d0\r\nC%23\\style67\\eolfill = false\r\nC%23\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style67\\paper = eaf7ff\r\nC%23\\style68\\color = 90b090\r\nC%23\\style68\\eolfill = false\r\nC%23\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style68\\paper = eaf7ff\r\nC%23\\style69\\color = 9090b0\r\nC%23\\style69\\eolfill = false\r\nC%23\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style69\\paper = eaf7ff\r\nC%23\\style70\\color = b090b0\r\nC%23\\style70\\eolfill = false\r\nC%23\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style70\\paper = eaf7ff\r\nC%23\\style71\\color = b090b0\r\nC%23\\style71\\eolfill = false\r\nC%23\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style71\\paper = eaf7ff\r\nC%23\\style72\\color = c0c0c0\r\nC%23\\style72\\eolfill = false\r\nC%23\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style72\\paper = eaf7ff\r\nC%23\\style73\\color = b0b090\r\nC%23\\style73\\eolfill = false\r\nC%23\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style73\\paper = eaf7ff\r\nC%23\\style74\\color = b0b0b0\r\nC%23\\style74\\eolfill = false\r\nC%23\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style74\\paper = eaf7ff\r\nC%23\\style75\\color = b0b0b0\r\nC%23\\style75\\eolfill = false\r\nC%23\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style75\\paper = eaf7ff\r\nC%23\\style76\\color = 0\r\nC%23\\style76\\eolfill = true\r\nC%23\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style76\\paper = eaf7ff\r\nC%23\\style77\\color = 90b090\r\nC%23\\style77\\eolfill = true\r\nC%23\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style77\\paper = eaf7ff\r\nC%23\\style78\\color = 7faf7f\r\nC%23\\style78\\eolfill = true\r\nC%23\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style78\\paper = eaf7ff\r\nC%23\\style79\\color = c0c0c0\r\nC%23\\style79\\eolfill = false\r\nC%23\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style79\\paper = eaf7ff\r\nC%23\\style80\\color = c0c0c0\r\nC%23\\style80\\eolfill = false\r\nC%23\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style80\\paper = eaf7ff\r\nC%23\\style81\\color = c0c0c0\r\nC%23\\style81\\eolfill = false\r\nC%23\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style81\\paper = eaf7ff\r\nC%23\\style82\\color = c0c0c0\r\nC%23\\style82\\eolfill = false\r\nC%23\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style82\\paper = eaf7ff\r\nC%23\\style83\\color = b0b0b0\r\nC%23\\style83\\eolfill = false\r\nC%23\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style83\\paper = eaf7ff\r\nC%23\\style84\\color = b090b0\r\nC%23\\style84\\eolfill = false\r\nC%23\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style84\\paper = eaf7ff\r\nC%23\\style85\\color = 90b090\r\nC%23\\style85\\eolfill = true\r\nC%23\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style85\\paper = eaf7ff\r\nC%23\\style86\\color = 90b090\r\nC%23\\style86\\eolfill = true\r\nC%23\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style86\\paper = eaf7ff\r\nC%23\\style87\\color = a0c090\r\nC%23\\style87\\eolfill = false\r\nC%23\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style87\\paper = eaf7ff\r\nC%23\\style88\\color = c0c0c0\r\nC%23\\style88\\eolfill = false\r\nC%23\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style88\\paper = eaf7ff\r\nC%23\\style89\\color = d7a090\r\nC%23\\style89\\eolfill = false\r\nC%23\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style89\\paper = eaf7ff\r\nC%23\\style90\\color = c3a1cf\r\nC%23\\style90\\eolfill = false\r\nC%23\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style90\\paper = eaf7ff\r\nC%23\\style91\\color = 0\r\nC%23\\style91\\eolfill = false\r\nC%23\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style91\\paper = eaf7ff\r\nC%23\\properties\\foldatelse = false\r\nC%23\\properties\\foldcomments = false\r\nC%23\\properties\\foldcompact = true\r\nC%23\\properties\\foldpreprocessor = true\r\nC%23\\properties\\stylepreprocessor = false\r\nC%23\\properties\\dollars = true\r\nC%23\\properties\\highlighttriple = false\r\nC%23\\properties\\highlighthash = false\r\nC%23\\properties\\highlightback = false\r\nC%23\\properties\\highlightescape = false\r\nC%23\\properties\\verbatimstringescape = false\r\nC%23\\defaultcolor = 0\r\nC%23\\defaultpaper = eaf7ff\r\nC%23\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color = ff0080\r\nCSS\\style0\\eolfill = false\r\nCSS\\style0\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper = eaf7ff\r\nCSS\\style1\\color = 7f\r\nCSS\\style1\\eolfill = false\r\nCSS\\style1\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style1\\paper = eaf7ff\r\nCSS\\style2\\color = 0\r\nCSS\\style2\\eolfill = false\r\nCSS\\style2\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper = eaf7ff\r\nCSS\\style3\\color = 800000\r\nCSS\\style3\\eolfill = false\r\nCSS\\style3\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper = eaf7ff\r\nCSS\\style4\\color = ff0000\r\nCSS\\style4\\eolfill = false\r\nCSS\\style4\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper = eaf7ff\r\nCSS\\style5\\color = 0\r\nCSS\\style5\\eolfill = false\r\nCSS\\style5\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper = eaf7ff\r\nCSS\\style6\\color = 40e0\r\nCSS\\style6\\eolfill = false\r\nCSS\\style6\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper = eaf7ff\r\nCSS\\style7\\color = ff0000\r\nCSS\\style7\\eolfill = false\r\nCSS\\style7\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper = eaf7ff\r\nCSS\\style8\\color = 7f007f\r\nCSS\\style8\\eolfill = false\r\nCSS\\style8\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper = eaf7ff\r\nCSS\\style9\\color = 7f00\r\nCSS\\style9\\eolfill = false\r\nCSS\\style9\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper = eaf7ff\r\nCSS\\style10\\color = 7f7f\r\nCSS\\style10\\eolfill = false\r\nCSS\\style10\\font = Courier New, 14, 0, 1, 0\r\nCSS\\style10\\paper = eaf7ff\r\nCSS\\style11\\color = ff8000\r\nCSS\\style11\\eolfill = false\r\nCSS\\style11\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style11\\paper = eaf7ff\r\nCSS\\style12\\color = 7f7f00\r\nCSS\\style12\\eolfill = false\r\nCSS\\style12\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper = eaf7ff\r\nCSS\\style13\\color = 7f007f\r\nCSS\\style13\\eolfill = false\r\nCSS\\style13\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style13\\paper = eaf7ff\r\nCSS\\style14\\color = 7f007f\r\nCSS\\style14\\eolfill = false\r\nCSS\\style14\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style14\\paper = eaf7ff\r\nCSS\\style15\\color = a0e0\r\nCSS\\style15\\eolfill = false\r\nCSS\\style15\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style15\\paper = eaf7ff\r\nCSS\\style16\\color = 800000\r\nCSS\\style16\\eolfill = false\r\nCSS\\style16\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style16\\paper = eaf7ff\r\nCSS\\style17\\color = 0\r\nCSS\\style17\\eolfill = false\r\nCSS\\style17\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style17\\paper = eaf7ff\r\nCSS\\style18\\color = 0\r\nCSS\\style18\\eolfill = false\r\nCSS\\style18\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style18\\paper = eaf7ff\r\nCSS\\style19\\color = 0\r\nCSS\\style19\\eolfill = false\r\nCSS\\style19\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style19\\paper = eaf7ff\r\nCSS\\style20\\color = 0\r\nCSS\\style20\\eolfill = false\r\nCSS\\style20\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style20\\paper = eaf7ff\r\nCSS\\style21\\color = 0\r\nCSS\\style21\\eolfill = false\r\nCSS\\style21\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style21\\paper = eaf7ff\r\nCSS\\style22\\color = 7f7f00\r\nCSS\\style22\\eolfill = false\r\nCSS\\style22\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style22\\paper = eaf7ff\r\nCSS\\style23\\color = 0\r\nCSS\\style23\\eolfill = false\r\nCSS\\style23\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style23\\paper = eaf7ff\r\nCSS\\properties\\foldcomments = false\r\nCSS\\properties\\foldcompact = true\r\nCSS\\properties\\hsslanguage = false\r\nCSS\\properties\\lesslanguage = false\r\nCSS\\properties\\scsslanguage = false\r\nCSS\\defaultcolor = 0\r\nCSS\\defaultpaper = eaf7ff\r\nCSS\\defaultfont = Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color = 0\r\nDiff\\style0\\eolfill = false\r\nDiff\\style0\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper = eaf7ff\r\nDiff\\style1\\color = 7f00\r\nDiff\\style1\\eolfill = false\r\nDiff\\style1\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper = eaf7ff\r\nDiff\\style2\\color = 7f7f00\r\nDiff\\style2\\eolfill = false\r\nDiff\\style2\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper = eaf7ff\r\nDiff\\style3\\color = 7f0000\r\nDiff\\style3\\eolfill = false\r\nDiff\\style3\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper = eaf7ff\r\nDiff\\style4\\color = 7f007f\r\nDiff\\style4\\eolfill = false\r\nDiff\\style4\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper = eaf7ff\r\nDiff\\style5\\color = 7f7f\r\nDiff\\style5\\eolfill = false\r\nDiff\\style5\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper = eaf7ff\r\nDiff\\style6\\color = 7f\r\nDiff\\style6\\eolfill = false\r\nDiff\\style6\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper = eaf7ff\r\nDiff\\style7\\color = 7f7f7f\r\nDiff\\style7\\eolfill = false\r\nDiff\\style7\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style7\\paper = eaf7ff\r\nDiff\\style8\\color = 7f\r\nDiff\\style8\\eolfill = false\r\nDiff\\style8\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style8\\paper = eaf7ff\r\nDiff\\style9\\color = 7f\r\nDiff\\style9\\eolfill = false\r\nDiff\\style9\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style9\\paper = eaf7ff\r\nDiff\\style10\\color = 7f7f\r\nDiff\\style10\\eolfill = false\r\nDiff\\style10\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style10\\paper = eaf7ff\r\nDiff\\style11\\color = 7f7f\r\nDiff\\style11\\eolfill = false\r\nDiff\\style11\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style11\\paper = eaf7ff\r\nDiff\\defaultcolor = 0\r\nDiff\\defaultpaper = eaf7ff\r\nDiff\\defaultfont = Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/flash.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = eaf7ff\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = eaf7ff\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = eaf7ff\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = eaf7ff\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = eaf7ff\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = eaf7ff\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = eaf7ff\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = eaf7ff\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = eaf7ff\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = eaf7ff\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = eaf7ff\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = eaf7ff\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = eaf7ff\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = eaf7ff\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = eaf7ff\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = eaf7ff\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = eaf7ff\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = eaf7ff\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = eaf7ff\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = eaf7ff\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = eaf7ff\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = eaf7ff\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = eaf7ff\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = eaf7ff\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = eaf7ff\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = eaf7ff\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = eaf7ff\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = eaf7ff\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = eaf7ff\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = eaf7ff\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = eaf7ff\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = eaf7ff\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = eaf7ff\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = eaf7ff\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = eaf7ff\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = eaf7ff\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = eaf7ff\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = eaf7ff\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = eaf7ff\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = eaf7ff\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = eaf7ff\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = eaf7ff\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = eaf7ff\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = eaf7ff\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = eaf7ff\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = eaf7ff\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = eaf7ff\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = eaf7ff\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = eaf7ff\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = eaf7ff\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = eaf7ff\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = eaf7ff\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = eaf7ff\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = eaf7ff\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = eaf7ff\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = eaf7ff\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = eaf7ff\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color = 808080\r\nFortran\\style0\\eolfill = false\r\nFortran\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper = eaf7ff\r\nFortran\\style1\\color = 7f00\r\nFortran\\style1\\eolfill = false\r\nFortran\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper = eaf7ff\r\nFortran\\style2\\color = 7f7f\r\nFortran\\style2\\eolfill = false\r\nFortran\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper = eaf7ff\r\nFortran\\style3\\color = 7f007f\r\nFortran\\style3\\eolfill = false\r\nFortran\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper = eaf7ff\r\nFortran\\style4\\color = 7f007f\r\nFortran\\style4\\eolfill = false\r\nFortran\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper = eaf7ff\r\nFortran\\style5\\color = 0\r\nFortran\\style5\\eolfill = true\r\nFortran\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper = eaf7ff\r\nFortran\\style6\\color = 0\r\nFortran\\style6\\eolfill = false\r\nFortran\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style6\\paper = eaf7ff\r\nFortran\\style7\\color = 0\r\nFortran\\style7\\eolfill = false\r\nFortran\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper = eaf7ff\r\nFortran\\style8\\color = 8000ff\r\nFortran\\style8\\eolfill = false\r\nFortran\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper = eaf7ff\r\nFortran\\style9\\color = b00040\r\nFortran\\style9\\eolfill = false\r\nFortran\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper = eaf7ff\r\nFortran\\style10\\color = b04080\r\nFortran\\style10\\eolfill = false\r\nFortran\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper = eaf7ff\r\nFortran\\style11\\color = 7f7f00\r\nFortran\\style11\\eolfill = false\r\nFortran\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper = eaf7ff\r\nFortran\\style12\\color = 0\r\nFortran\\style12\\eolfill = false\r\nFortran\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style12\\paper = eaf7ff\r\nFortran\\style13\\color = e0c0e0\r\nFortran\\style13\\eolfill = false\r\nFortran\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper = eaf7ff\r\nFortran\\style14\\color = 0\r\nFortran\\style14\\eolfill = false\r\nFortran\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper = eaf7ff\r\nFortran\\properties\\foldcompact = true\r\nFortran\\defaultcolor = 0\r\nFortran\\defaultpaper = eaf7ff\r\nFortran\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color = 808080\r\nFortran77\\style0\\eolfill = false\r\nFortran77\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper = eaf7ff\r\nFortran77\\style1\\color = 7f00\r\nFortran77\\style1\\eolfill = false\r\nFortran77\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper = eaf7ff\r\nFortran77\\style2\\color = 7f7f\r\nFortran77\\style2\\eolfill = false\r\nFortran77\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper = eaf7ff\r\nFortran77\\style3\\color = 7f007f\r\nFortran77\\style3\\eolfill = false\r\nFortran77\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper = eaf7ff\r\nFortran77\\style4\\color = 7f007f\r\nFortran77\\style4\\eolfill = false\r\nFortran77\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper = eaf7ff\r\nFortran77\\style5\\color = 0\r\nFortran77\\style5\\eolfill = true\r\nFortran77\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper = eaf7ff\r\nFortran77\\style6\\color = 0\r\nFortran77\\style6\\eolfill = false\r\nFortran77\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style6\\paper = eaf7ff\r\nFortran77\\style7\\color = 0\r\nFortran77\\style7\\eolfill = false\r\nFortran77\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper = eaf7ff\r\nFortran77\\style8\\color = 8000ff\r\nFortran77\\style8\\eolfill = false\r\nFortran77\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper = eaf7ff\r\nFortran77\\style9\\color = b00040\r\nFortran77\\style9\\eolfill = false\r\nFortran77\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper = eaf7ff\r\nFortran77\\style10\\color = b04080\r\nFortran77\\style10\\eolfill = false\r\nFortran77\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper = eaf7ff\r\nFortran77\\style11\\color = 7f7f00\r\nFortran77\\style11\\eolfill = false\r\nFortran77\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper = eaf7ff\r\nFortran77\\style12\\color = 0\r\nFortran77\\style12\\eolfill = false\r\nFortran77\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style12\\paper = eaf7ff\r\nFortran77\\style13\\color = e0c0e0\r\nFortran77\\style13\\eolfill = false\r\nFortran77\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper = eaf7ff\r\nFortran77\\style14\\color = 0\r\nFortran77\\style14\\eolfill = false\r\nFortran77\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper = eaf7ff\r\nFortran77\\properties\\foldcompact = true\r\nFortran77\\defaultcolor = 0\r\nFortran77\\defaultpaper = eaf7ff\r\nFortran77\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/go.ini",
    "content": "[Scintilla]\r\nGO\\style0\\color = 808080\r\nGO\\style0\\eolfill = false\r\nGO\\style0\\font = Courier New, 14, 0, 0, 0\r\nGO\\style0\\paper = eaf7ff\r\nGO\\style1\\color = 7f00\r\nGO\\style1\\eolfill = false\r\nGO\\style1\\font = Courier New, 14, 0, 0, 0\r\nGO\\style1\\paper = eaf7ff\r\nGO\\style2\\color = 7f00\r\nGO\\style2\\eolfill = false\r\nGO\\style2\\font = Courier New, 14, 0, 0, 0\r\nGO\\style2\\paper = eaf7ff\r\nGO\\style3\\color = 3f703f\r\nGO\\style3\\eolfill = false\r\nGO\\style3\\font = Courier New, 14, 0, 0, 0\r\nGO\\style3\\paper = eaf7ff\r\nGO\\style4\\color = 7f7f\r\nGO\\style4\\eolfill = false\r\nGO\\style4\\font = Courier New, 14, 0, 0, 0\r\nGO\\style4\\paper = eaf7ff\r\nGO\\style5\\color = 8000ff\r\nGO\\style5\\eolfill = false\r\nGO\\style5\\font = Courier New, 14, 0, 0, 0\r\nGO\\style5\\paper = eaf7ff\r\nGO\\style6\\color = 7f007f\r\nGO\\style6\\eolfill = false\r\nGO\\style6\\font = Courier New, 14, 0, 0, 0\r\nGO\\style6\\paper = eaf7ff\r\nGO\\style7\\color = 7f007f\r\nGO\\style7\\eolfill = false\r\nGO\\style7\\font = Courier New, 14, 0, 0, 0\r\nGO\\style7\\paper = eaf7ff\r\nGO\\style8\\color = 0\r\nGO\\style8\\eolfill = false\r\nGO\\style8\\font = Courier New, 14, 0, 0, 0\r\nGO\\style8\\paper = eaf7ff\r\nGO\\style9\\color = 7f7f00\r\nGO\\style9\\eolfill = false\r\nGO\\style9\\font = Courier New, 14, 0, 0, 0\r\nGO\\style9\\paper = eaf7ff\r\nGO\\style10\\color = 0\r\nGO\\style10\\eolfill = false\r\nGO\\style10\\font = Courier New, 14, 0, 0, 0\r\nGO\\style10\\paper = eaf7ff\r\nGO\\style11\\color = 0\r\nGO\\style11\\eolfill = false\r\nGO\\style11\\font = Courier New, 14, 0, 0, 0\r\nGO\\style11\\paper = eaf7ff\r\nGO\\style12\\color = 0\r\nGO\\style12\\eolfill = true\r\nGO\\style12\\font = Courier New, 14, 0, 0, 0\r\nGO\\style12\\paper = eaf7ff\r\nGO\\style13\\color = 7f00\r\nGO\\style13\\eolfill = true\r\nGO\\style13\\font = Courier New, 14, 0, 0, 0\r\nGO\\style13\\paper = eaf7ff\r\nGO\\style14\\color = 3f7f3f\r\nGO\\style14\\eolfill = true\r\nGO\\style14\\font = Courier New, 14, 0, 0, 0\r\nGO\\style14\\paper = eaf7ff\r\nGO\\style15\\color = 3f703f\r\nGO\\style15\\eolfill = false\r\nGO\\style15\\font = Courier New, 14, 0, 0, 0\r\nGO\\style15\\paper = eaf7ff\r\nGO\\style16\\color = 0\r\nGO\\style16\\eolfill = false\r\nGO\\style16\\font = Courier New, 14, 0, 0, 0\r\nGO\\style16\\paper = eaf7ff\r\nGO\\style17\\color = 3060a0\r\nGO\\style17\\eolfill = false\r\nGO\\style17\\font = Courier New, 14, 0, 0, 0\r\nGO\\style17\\paper = eaf7ff\r\nGO\\style18\\color = 804020\r\nGO\\style18\\eolfill = false\r\nGO\\style18\\font = Courier New, 14, 0, 0, 0\r\nGO\\style18\\paper = eaf7ff\r\nGO\\style19\\color = 0\r\nGO\\style19\\eolfill = false\r\nGO\\style19\\font = Courier New, 14, 0, 0, 0\r\nGO\\style19\\paper = eaf7ff\r\nGO\\style20\\color = 7f007f\r\nGO\\style20\\eolfill = false\r\nGO\\style20\\font = Courier New, 14, 0, 0, 0\r\nGO\\style20\\paper = eaf7ff\r\nGO\\style21\\color = 7f00\r\nGO\\style21\\eolfill = true\r\nGO\\style21\\font = Courier New, 14, 0, 0, 0\r\nGO\\style21\\paper = eaf7ff\r\nGO\\style22\\color = 7f00\r\nGO\\style22\\eolfill = true\r\nGO\\style22\\font = Courier New, 14, 0, 0, 0\r\nGO\\style22\\paper = eaf7ff\r\nGO\\style23\\color = 659900\r\nGO\\style23\\eolfill = false\r\nGO\\style23\\font = Courier New, 14, 0, 0, 0\r\nGO\\style23\\paper = eaf7ff\r\nGO\\style24\\color = 3f703f\r\nGO\\style24\\eolfill = false\r\nGO\\style24\\font = Courier New, 14, 0, 0, 0\r\nGO\\style24\\paper = eaf7ff\r\nGO\\style25\\color = c06000\r\nGO\\style25\\eolfill = false\r\nGO\\style25\\font = Courier New, 14, 0, 0, 0\r\nGO\\style25\\paper = eaf7ff\r\nGO\\style26\\color = be07ff\r\nGO\\style26\\eolfill = false\r\nGO\\style26\\font = Courier New, 14, 0, 0, 0\r\nGO\\style26\\paper = eaf7ff\r\nGO\\style27\\color = 0\r\nGO\\style27\\eolfill = false\r\nGO\\style27\\font = Courier New, 14, 0, 0, 0\r\nGO\\style27\\paper = eaf7ff\r\nGO\\style64\\color = c0c0c0\r\nGO\\style64\\eolfill = false\r\nGO\\style64\\font = Courier New, 14, 0, 0, 0\r\nGO\\style64\\paper = eaf7ff\r\nGO\\style65\\color = 90b090\r\nGO\\style65\\eolfill = false\r\nGO\\style65\\font = Courier New, 14, 0, 0, 0\r\nGO\\style65\\paper = eaf7ff\r\nGO\\style66\\color = 90b090\r\nGO\\style66\\eolfill = false\r\nGO\\style66\\font = Courier New, 14, 0, 0, 0\r\nGO\\style66\\paper = eaf7ff\r\nGO\\style67\\color = d0d0d0\r\nGO\\style67\\eolfill = false\r\nGO\\style67\\font = Courier New, 14, 0, 0, 0\r\nGO\\style67\\paper = eaf7ff\r\nGO\\style68\\color = 90b090\r\nGO\\style68\\eolfill = false\r\nGO\\style68\\font = Courier New, 14, 0, 0, 0\r\nGO\\style68\\paper = eaf7ff\r\nGO\\style69\\color = 9090b0\r\nGO\\style69\\eolfill = false\r\nGO\\style69\\font = Courier New, 14, 0, 0, 0\r\nGO\\style69\\paper = eaf7ff\r\nGO\\style70\\color = b090b0\r\nGO\\style70\\eolfill = false\r\nGO\\style70\\font = Courier New, 14, 0, 0, 0\r\nGO\\style70\\paper = eaf7ff\r\nGO\\style71\\color = b090b0\r\nGO\\style71\\eolfill = false\r\nGO\\style71\\font = Courier New, 14, 0, 0, 0\r\nGO\\style71\\paper = eaf7ff\r\nGO\\style72\\color = c0c0c0\r\nGO\\style72\\eolfill = false\r\nGO\\style72\\font = Courier New, 14, 0, 0, 0\r\nGO\\style72\\paper = eaf7ff\r\nGO\\style73\\color = b0b090\r\nGO\\style73\\eolfill = false\r\nGO\\style73\\font = Courier New, 14, 0, 0, 0\r\nGO\\style73\\paper = eaf7ff\r\nGO\\style74\\color = b0b0b0\r\nGO\\style74\\eolfill = false\r\nGO\\style74\\font = Courier New, 14, 0, 0, 0\r\nGO\\style74\\paper = eaf7ff\r\nGO\\style75\\color = b0b0b0\r\nGO\\style75\\eolfill = false\r\nGO\\style75\\font = Courier New, 14, 0, 0, 0\r\nGO\\style75\\paper = eaf7ff\r\nGO\\style76\\color = 0\r\nGO\\style76\\eolfill = true\r\nGO\\style76\\font = Courier New, 14, 0, 0, 0\r\nGO\\style76\\paper = eaf7ff\r\nGO\\style77\\color = 90b090\r\nGO\\style77\\eolfill = true\r\nGO\\style77\\font = Courier New, 14, 0, 0, 0\r\nGO\\style77\\paper = eaf7ff\r\nGO\\style78\\color = 7faf7f\r\nGO\\style78\\eolfill = true\r\nGO\\style78\\font = Courier New, 14, 0, 0, 0\r\nGO\\style78\\paper = eaf7ff\r\nGO\\style79\\color = c0c0c0\r\nGO\\style79\\eolfill = false\r\nGO\\style79\\font = Courier New, 14, 0, 0, 0\r\nGO\\style79\\paper = eaf7ff\r\nGO\\style80\\color = c0c0c0\r\nGO\\style80\\eolfill = false\r\nGO\\style80\\font = Courier New, 14, 0, 0, 0\r\nGO\\style80\\paper = eaf7ff\r\nGO\\style81\\color = c0c0c0\r\nGO\\style81\\eolfill = false\r\nGO\\style81\\font = Courier New, 14, 0, 0, 0\r\nGO\\style81\\paper = eaf7ff\r\nGO\\style82\\color = c0c0c0\r\nGO\\style82\\eolfill = false\r\nGO\\style82\\font = Courier New, 14, 0, 0, 0\r\nGO\\style82\\paper = eaf7ff\r\nGO\\style83\\color = b0b0b0\r\nGO\\style83\\eolfill = false\r\nGO\\style83\\font = Courier New, 14, 0, 0, 0\r\nGO\\style83\\paper = eaf7ff\r\nGO\\style84\\color = b090b0\r\nGO\\style84\\eolfill = false\r\nGO\\style84\\font = Courier New, 14, 0, 0, 0\r\nGO\\style84\\paper = eaf7ff\r\nGO\\style85\\color = 90b090\r\nGO\\style85\\eolfill = true\r\nGO\\style85\\font = Courier New, 14, 0, 0, 0\r\nGO\\style85\\paper = eaf7ff\r\nGO\\style86\\color = 90b090\r\nGO\\style86\\eolfill = true\r\nGO\\style86\\font = Courier New, 14, 0, 0, 0\r\nGO\\style86\\paper = eaf7ff\r\nGO\\style87\\color = a0c090\r\nGO\\style87\\eolfill = false\r\nGO\\style87\\font = Courier New, 14, 0, 0, 0\r\nGO\\style87\\paper = eaf7ff\r\nGO\\style88\\color = c0c0c0\r\nGO\\style88\\eolfill = false\r\nGO\\style88\\font = Courier New, 14, 0, 0, 0\r\nGO\\style88\\paper = eaf7ff\r\nGO\\style89\\color = d7a090\r\nGO\\style89\\eolfill = false\r\nGO\\style89\\font = Courier New, 14, 0, 0, 0\r\nGO\\style89\\paper = eaf7ff\r\nGO\\style90\\color = c3a1cf\r\nGO\\style90\\eolfill = false\r\nGO\\style90\\font = Courier New, 14, 0, 0, 0\r\nGO\\style90\\paper = eaf7ff\r\nGO\\style91\\color = 0\r\nGO\\style91\\eolfill = false\r\nGO\\style91\\font = Courier New, 14, 0, 0, 0\r\nGO\\style91\\paper = eaf7ff\r\nGO\\properties\\foldatelse = false\r\nGO\\properties\\foldcomments = false\r\nGO\\properties\\foldcompact = true\r\nGO\\properties\\foldpreprocessor = true\r\nGO\\properties\\stylepreprocessor = false\r\nGO\\properties\\dollars = true\r\nGO\\properties\\highlighttriple = false\r\nGO\\properties\\highlighthash = false\r\nGO\\properties\\highlightback = false\r\nGO\\properties\\highlightescape = false\r\nGO\\properties\\verbatimstringescape = false\r\nGO\\defaultcolor = 0\r\nGO\\defaultpaper = eaf7ff\r\nGO\\defaultfont = Courier New, 14, 0, 0, 0\r\nGO\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = eaf7ff\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = eaf7ff\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = eaf7ff\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = eaf7ff\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = eaf7ff\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = eaf7ff\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = eaf7ff\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = eaf7ff\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = eaf7ff\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = eaf7ff\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = eaf7ff\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = eaf7ff\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = eaf7ff\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = eaf7ff\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = eaf7ff\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = eaf7ff\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = eaf7ff\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = eaf7ff\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = eaf7ff\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = eaf7ff\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = eaf7ff\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = eaf7ff\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = eaf7ff\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = eaf7ff\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = eaf7ff\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = eaf7ff\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = eaf7ff\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = eaf7ff\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = eaf7ff\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = eaf7ff\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = eaf7ff\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = eaf7ff\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = eaf7ff\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = eaf7ff\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = eaf7ff\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = eaf7ff\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = eaf7ff\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = eaf7ff\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = eaf7ff\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = eaf7ff\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = eaf7ff\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = eaf7ff\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = eaf7ff\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = eaf7ff\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = eaf7ff\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = eaf7ff\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = eaf7ff\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = eaf7ff\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = eaf7ff\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = eaf7ff\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = eaf7ff\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = eaf7ff\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = eaf7ff\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = eaf7ff\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = eaf7ff\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = eaf7ff\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = eaf7ff\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = eaf7ff\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = eaf7ff\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = eaf7ff\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = eaf7ff\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = eaf7ff\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = eaf7ff\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = eaf7ff\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = eaf7ff\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = eaf7ff\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = eaf7ff\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = eaf7ff\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = eaf7ff\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = eaf7ff\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = eaf7ff\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = eaf7ff\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = eaf7ff\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = eaf7ff\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = eaf7ff\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = eaf7ff\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = eaf7ff\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = eaf7ff\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = eaf7ff\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = eaf7ff\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = eaf7ff\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = eaf7ff\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = eaf7ff\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = eaf7ff\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = eaf7ff\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = eaf7ff\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = eaf7ff\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = eaf7ff\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = eaf7ff\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = eaf7ff\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = eaf7ff\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = eaf7ff\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = eaf7ff\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = eaf7ff\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = eaf7ff\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = eaf7ff\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = eaf7ff\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = eaf7ff\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = eaf7ff\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = eaf7ff\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = eaf7ff\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = eaf7ff\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = eaf7ff\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = eaf7ff\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = eaf7ff\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = eaf7ff\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = eaf7ff\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = eaf7ff\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = eaf7ff\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = eaf7ff\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/idl.ini",
    "content": "[Scintilla]\r\nIDL\\style0\\color = 808080\r\nIDL\\style0\\eolfill = false\r\nIDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style0\\paper = eaf7ff\r\nIDL\\style1\\color = 7f00\r\nIDL\\style1\\eolfill = false\r\nIDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style1\\paper = eaf7ff\r\nIDL\\style2\\color = 7f00\r\nIDL\\style2\\eolfill = false\r\nIDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style2\\paper = eaf7ff\r\nIDL\\style3\\color = 3f703f\r\nIDL\\style3\\eolfill = false\r\nIDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style3\\paper = eaf7ff\r\nIDL\\style4\\color = 7f7f\r\nIDL\\style4\\eolfill = false\r\nIDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style4\\paper = eaf7ff\r\nIDL\\style5\\color = 8000ff\r\nIDL\\style5\\eolfill = false\r\nIDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style5\\paper = eaf7ff\r\nIDL\\style6\\color = 7f007f\r\nIDL\\style6\\eolfill = false\r\nIDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style6\\paper = eaf7ff\r\nIDL\\style7\\color = 7f007f\r\nIDL\\style7\\eolfill = false\r\nIDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style7\\paper = eaf7ff\r\nIDL\\style8\\color = 804080\r\nIDL\\style8\\eolfill = false\r\nIDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style8\\paper = eaf7ff\r\nIDL\\style9\\color = 7f7f00\r\nIDL\\style9\\eolfill = false\r\nIDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style9\\paper = eaf7ff\r\nIDL\\style10\\color = 0\r\nIDL\\style10\\eolfill = false\r\nIDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style10\\paper = eaf7ff\r\nIDL\\style11\\color = 0\r\nIDL\\style11\\eolfill = false\r\nIDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style11\\paper = eaf7ff\r\nIDL\\style12\\color = 0\r\nIDL\\style12\\eolfill = true\r\nIDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style12\\paper = eaf7ff\r\nIDL\\style13\\color = 7f00\r\nIDL\\style13\\eolfill = true\r\nIDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style13\\paper = eaf7ff\r\nIDL\\style14\\color = 3f7f3f\r\nIDL\\style14\\eolfill = true\r\nIDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style14\\paper = eaf7ff\r\nIDL\\style15\\color = 3f703f\r\nIDL\\style15\\eolfill = false\r\nIDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style15\\paper = eaf7ff\r\nIDL\\style16\\color = 0\r\nIDL\\style16\\eolfill = false\r\nIDL\\style16\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style16\\paper = eaf7ff\r\nIDL\\style17\\color = 3060a0\r\nIDL\\style17\\eolfill = false\r\nIDL\\style17\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style17\\paper = eaf7ff\r\nIDL\\style18\\color = 804020\r\nIDL\\style18\\eolfill = false\r\nIDL\\style18\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style18\\paper = eaf7ff\r\nIDL\\style19\\color = 0\r\nIDL\\style19\\eolfill = false\r\nIDL\\style19\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style19\\paper = eaf7ff\r\nIDL\\style20\\color = 7f007f\r\nIDL\\style20\\eolfill = false\r\nIDL\\style20\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style20\\paper = eaf7ff\r\nIDL\\style21\\color = 7f00\r\nIDL\\style21\\eolfill = true\r\nIDL\\style21\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style21\\paper = eaf7ff\r\nIDL\\style22\\color = 7f00\r\nIDL\\style22\\eolfill = true\r\nIDL\\style22\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style22\\paper = eaf7ff\r\nIDL\\style23\\color = 659900\r\nIDL\\style23\\eolfill = false\r\nIDL\\style23\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style23\\paper = eaf7ff\r\nIDL\\style24\\color = 3f703f\r\nIDL\\style24\\eolfill = false\r\nIDL\\style24\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style24\\paper = eaf7ff\r\nIDL\\style25\\color = c06000\r\nIDL\\style25\\eolfill = false\r\nIDL\\style25\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style25\\paper = eaf7ff\r\nIDL\\style26\\color = be07ff\r\nIDL\\style26\\eolfill = false\r\nIDL\\style26\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style26\\paper = eaf7ff\r\nIDL\\style27\\color = 0\r\nIDL\\style27\\eolfill = false\r\nIDL\\style27\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style27\\paper = eaf7ff\r\nIDL\\style64\\color = c0c0c0\r\nIDL\\style64\\eolfill = false\r\nIDL\\style64\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style64\\paper = eaf7ff\r\nIDL\\style65\\color = 90b090\r\nIDL\\style65\\eolfill = false\r\nIDL\\style65\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style65\\paper = eaf7ff\r\nIDL\\style66\\color = 90b090\r\nIDL\\style66\\eolfill = false\r\nIDL\\style66\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style66\\paper = eaf7ff\r\nIDL\\style67\\color = d0d0d0\r\nIDL\\style67\\eolfill = false\r\nIDL\\style67\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style67\\paper = eaf7ff\r\nIDL\\style68\\color = 90b090\r\nIDL\\style68\\eolfill = false\r\nIDL\\style68\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style68\\paper = eaf7ff\r\nIDL\\style69\\color = 9090b0\r\nIDL\\style69\\eolfill = false\r\nIDL\\style69\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style69\\paper = eaf7ff\r\nIDL\\style70\\color = b090b0\r\nIDL\\style70\\eolfill = false\r\nIDL\\style70\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style70\\paper = eaf7ff\r\nIDL\\style71\\color = b090b0\r\nIDL\\style71\\eolfill = false\r\nIDL\\style71\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style71\\paper = eaf7ff\r\nIDL\\style72\\color = c0c0c0\r\nIDL\\style72\\eolfill = false\r\nIDL\\style72\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style72\\paper = eaf7ff\r\nIDL\\style73\\color = b0b090\r\nIDL\\style73\\eolfill = false\r\nIDL\\style73\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style73\\paper = eaf7ff\r\nIDL\\style74\\color = b0b0b0\r\nIDL\\style74\\eolfill = false\r\nIDL\\style74\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style74\\paper = eaf7ff\r\nIDL\\style75\\color = b0b0b0\r\nIDL\\style75\\eolfill = false\r\nIDL\\style75\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style75\\paper = eaf7ff\r\nIDL\\style76\\color = 0\r\nIDL\\style76\\eolfill = true\r\nIDL\\style76\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style76\\paper = eaf7ff\r\nIDL\\style77\\color = 90b090\r\nIDL\\style77\\eolfill = true\r\nIDL\\style77\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style77\\paper = eaf7ff\r\nIDL\\style78\\color = 7faf7f\r\nIDL\\style78\\eolfill = true\r\nIDL\\style78\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style78\\paper = eaf7ff\r\nIDL\\style79\\color = c0c0c0\r\nIDL\\style79\\eolfill = false\r\nIDL\\style79\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style79\\paper = eaf7ff\r\nIDL\\style80\\color = c0c0c0\r\nIDL\\style80\\eolfill = false\r\nIDL\\style80\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style80\\paper = eaf7ff\r\nIDL\\style81\\color = c0c0c0\r\nIDL\\style81\\eolfill = false\r\nIDL\\style81\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style81\\paper = eaf7ff\r\nIDL\\style82\\color = c0c0c0\r\nIDL\\style82\\eolfill = false\r\nIDL\\style82\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style82\\paper = eaf7ff\r\nIDL\\style83\\color = b0b0b0\r\nIDL\\style83\\eolfill = false\r\nIDL\\style83\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style83\\paper = eaf7ff\r\nIDL\\style84\\color = b090b0\r\nIDL\\style84\\eolfill = false\r\nIDL\\style84\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style84\\paper = eaf7ff\r\nIDL\\style85\\color = 90b090\r\nIDL\\style85\\eolfill = true\r\nIDL\\style85\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style85\\paper = eaf7ff\r\nIDL\\style86\\color = 90b090\r\nIDL\\style86\\eolfill = true\r\nIDL\\style86\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style86\\paper = eaf7ff\r\nIDL\\style87\\color = a0c090\r\nIDL\\style87\\eolfill = false\r\nIDL\\style87\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style87\\paper = eaf7ff\r\nIDL\\style88\\color = c0c0c0\r\nIDL\\style88\\eolfill = false\r\nIDL\\style88\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style88\\paper = eaf7ff\r\nIDL\\style89\\color = d7a090\r\nIDL\\style89\\eolfill = false\r\nIDL\\style89\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style89\\paper = eaf7ff\r\nIDL\\style90\\color = c3a1cf\r\nIDL\\style90\\eolfill = false\r\nIDL\\style90\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style90\\paper = eaf7ff\r\nIDL\\style91\\color = 0\r\nIDL\\style91\\eolfill = false\r\nIDL\\style91\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style91\\paper = eaf7ff\r\nIDL\\properties\\foldatelse = false\r\nIDL\\properties\\foldcomments = false\r\nIDL\\properties\\foldcompact = true\r\nIDL\\properties\\foldpreprocessor = true\r\nIDL\\properties\\stylepreprocessor = false\r\nIDL\\properties\\dollars = true\r\nIDL\\properties\\highlighttriple = false\r\nIDL\\properties\\highlighthash = false\r\nIDL\\properties\\highlightback = false\r\nIDL\\properties\\highlightescape = false\r\nIDL\\properties\\verbatimstringescape = false\r\nIDL\\defaultcolor = 0\r\nIDL\\defaultpaper = eaf7ff\r\nIDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nIDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = eaf7ff\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = eaf7ff\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = eaf7ff\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = eaf7ff\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = eaf7ff\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = eaf7ff\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = eaf7ff\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color = 808080\r\nJava\\style0\\eolfill = false\r\nJava\\style0\\font = Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper = eaf7ff\r\nJava\\style1\\color = 7f00\r\nJava\\style1\\eolfill = false\r\nJava\\style1\\font = Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper = eaf7ff\r\nJava\\style2\\color = 7f00\r\nJava\\style2\\eolfill = false\r\nJava\\style2\\font = Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper = eaf7ff\r\nJava\\style3\\color = 3f703f\r\nJava\\style3\\eolfill = false\r\nJava\\style3\\font = Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper = eaf7ff\r\nJava\\style4\\color = 7f7f\r\nJava\\style4\\eolfill = false\r\nJava\\style4\\font = Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper = eaf7ff\r\nJava\\style5\\color = 8000ff\r\nJava\\style5\\eolfill = false\r\nJava\\style5\\font = Courier New, 14, 0, 0, 0\r\nJava\\style5\\paper = eaf7ff\r\nJava\\style6\\color = 7f007f\r\nJava\\style6\\eolfill = false\r\nJava\\style6\\font = Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper = eaf7ff\r\nJava\\style7\\color = 7f007f\r\nJava\\style7\\eolfill = false\r\nJava\\style7\\font = Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper = eaf7ff\r\nJava\\style8\\color = 0\r\nJava\\style8\\eolfill = false\r\nJava\\style8\\font = Courier New, 14, 0, 0, 0\r\nJava\\style8\\paper = eaf7ff\r\nJava\\style9\\color = 7f7f00\r\nJava\\style9\\eolfill = false\r\nJava\\style9\\font = Courier New, 14, 0, 0, 0\r\nJava\\style9\\paper = eaf7ff\r\nJava\\style10\\color = 0\r\nJava\\style10\\eolfill = false\r\nJava\\style10\\font = Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper = eaf7ff\r\nJava\\style11\\color = 0\r\nJava\\style11\\eolfill = false\r\nJava\\style11\\font = Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper = eaf7ff\r\nJava\\style12\\color = 0\r\nJava\\style12\\eolfill = true\r\nJava\\style12\\font = Courier New, 14, 0, 0, 0\r\nJava\\style12\\paper = eaf7ff\r\nJava\\style13\\color = 7f00\r\nJava\\style13\\eolfill = true\r\nJava\\style13\\font = Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper = eaf7ff\r\nJava\\style14\\color = 3f7f3f\r\nJava\\style14\\eolfill = true\r\nJava\\style14\\font = Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper = eaf7ff\r\nJava\\style15\\color = 3f703f\r\nJava\\style15\\eolfill = false\r\nJava\\style15\\font = Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper = eaf7ff\r\nJava\\style16\\color = 0\r\nJava\\style16\\eolfill = false\r\nJava\\style16\\font = Courier New, 14, 0, 0, 0\r\nJava\\style16\\paper = eaf7ff\r\nJava\\style17\\color = 3060a0\r\nJava\\style17\\eolfill = false\r\nJava\\style17\\font = Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper = eaf7ff\r\nJava\\style18\\color = 804020\r\nJava\\style18\\eolfill = false\r\nJava\\style18\\font = Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper = eaf7ff\r\nJava\\style19\\color = 0\r\nJava\\style19\\eolfill = false\r\nJava\\style19\\font = Courier New, 14, 0, 0, 0\r\nJava\\style19\\paper = eaf7ff\r\nJava\\style20\\color = 7f007f\r\nJava\\style20\\eolfill = false\r\nJava\\style20\\font = Courier New, 14, 0, 0, 0\r\nJava\\style20\\paper = eaf7ff\r\nJava\\style21\\color = 7f00\r\nJava\\style21\\eolfill = true\r\nJava\\style21\\font = Courier New, 14, 0, 0, 0\r\nJava\\style21\\paper = eaf7ff\r\nJava\\style22\\color = 7f00\r\nJava\\style22\\eolfill = true\r\nJava\\style22\\font = Courier New, 14, 0, 0, 0\r\nJava\\style22\\paper = eaf7ff\r\nJava\\style23\\color = 659900\r\nJava\\style23\\eolfill = false\r\nJava\\style23\\font = Courier New, 14, 0, 0, 0\r\nJava\\style23\\paper = eaf7ff\r\nJava\\style24\\color = 3f703f\r\nJava\\style24\\eolfill = false\r\nJava\\style24\\font = Courier New, 14, 0, 0, 0\r\nJava\\style24\\paper = eaf7ff\r\nJava\\style25\\color = c06000\r\nJava\\style25\\eolfill = false\r\nJava\\style25\\font = Courier New, 14, 0, 0, 0\r\nJava\\style25\\paper = eaf7ff\r\nJava\\style26\\color = be07ff\r\nJava\\style26\\eolfill = false\r\nJava\\style26\\font = Courier New, 14, 0, 0, 0\r\nJava\\style26\\paper = eaf7ff\r\nJava\\style27\\color = 0\r\nJava\\style27\\eolfill = false\r\nJava\\style27\\font = Courier New, 14, 0, 0, 0\r\nJava\\style27\\paper = eaf7ff\r\nJava\\style64\\color = c0c0c0\r\nJava\\style64\\eolfill = false\r\nJava\\style64\\font = Courier New, 14, 0, 0, 0\r\nJava\\style64\\paper = eaf7ff\r\nJava\\style65\\color = 90b090\r\nJava\\style65\\eolfill = false\r\nJava\\style65\\font = Courier New, 14, 0, 0, 0\r\nJava\\style65\\paper = eaf7ff\r\nJava\\style66\\color = 90b090\r\nJava\\style66\\eolfill = false\r\nJava\\style66\\font = Courier New, 14, 0, 0, 0\r\nJava\\style66\\paper = eaf7ff\r\nJava\\style67\\color = d0d0d0\r\nJava\\style67\\eolfill = false\r\nJava\\style67\\font = Courier New, 14, 0, 0, 0\r\nJava\\style67\\paper = eaf7ff\r\nJava\\style68\\color = 90b090\r\nJava\\style68\\eolfill = false\r\nJava\\style68\\font = Courier New, 14, 0, 0, 0\r\nJava\\style68\\paper = eaf7ff\r\nJava\\style69\\color = 9090b0\r\nJava\\style69\\eolfill = false\r\nJava\\style69\\font = Courier New, 14, 0, 0, 0\r\nJava\\style69\\paper = eaf7ff\r\nJava\\style70\\color = b090b0\r\nJava\\style70\\eolfill = false\r\nJava\\style70\\font = Courier New, 14, 0, 0, 0\r\nJava\\style70\\paper = eaf7ff\r\nJava\\style71\\color = b090b0\r\nJava\\style71\\eolfill = false\r\nJava\\style71\\font = Courier New, 14, 0, 0, 0\r\nJava\\style71\\paper = eaf7ff\r\nJava\\style72\\color = c0c0c0\r\nJava\\style72\\eolfill = false\r\nJava\\style72\\font = Courier New, 14, 0, 0, 0\r\nJava\\style72\\paper = eaf7ff\r\nJava\\style73\\color = b0b090\r\nJava\\style73\\eolfill = false\r\nJava\\style73\\font = Courier New, 14, 0, 0, 0\r\nJava\\style73\\paper = eaf7ff\r\nJava\\style74\\color = b0b0b0\r\nJava\\style74\\eolfill = false\r\nJava\\style74\\font = Courier New, 14, 0, 0, 0\r\nJava\\style74\\paper = eaf7ff\r\nJava\\style75\\color = b0b0b0\r\nJava\\style75\\eolfill = false\r\nJava\\style75\\font = Courier New, 14, 0, 0, 0\r\nJava\\style75\\paper = eaf7ff\r\nJava\\style76\\color = 0\r\nJava\\style76\\eolfill = true\r\nJava\\style76\\font = Courier New, 14, 0, 0, 0\r\nJava\\style76\\paper = eaf7ff\r\nJava\\style77\\color = 90b090\r\nJava\\style77\\eolfill = true\r\nJava\\style77\\font = Courier New, 14, 0, 0, 0\r\nJava\\style77\\paper = eaf7ff\r\nJava\\style78\\color = 7faf7f\r\nJava\\style78\\eolfill = true\r\nJava\\style78\\font = Courier New, 14, 0, 0, 0\r\nJava\\style78\\paper = eaf7ff\r\nJava\\style79\\color = c0c0c0\r\nJava\\style79\\eolfill = false\r\nJava\\style79\\font = Courier New, 14, 0, 0, 0\r\nJava\\style79\\paper = eaf7ff\r\nJava\\style80\\color = c0c0c0\r\nJava\\style80\\eolfill = false\r\nJava\\style80\\font = Courier New, 14, 0, 0, 0\r\nJava\\style80\\paper = eaf7ff\r\nJava\\style81\\color = c0c0c0\r\nJava\\style81\\eolfill = false\r\nJava\\style81\\font = Courier New, 14, 0, 0, 0\r\nJava\\style81\\paper = eaf7ff\r\nJava\\style82\\color = c0c0c0\r\nJava\\style82\\eolfill = false\r\nJava\\style82\\font = Courier New, 14, 0, 0, 0\r\nJava\\style82\\paper = eaf7ff\r\nJava\\style83\\color = b0b0b0\r\nJava\\style83\\eolfill = false\r\nJava\\style83\\font = Courier New, 14, 0, 0, 0\r\nJava\\style83\\paper = eaf7ff\r\nJava\\style84\\color = b090b0\r\nJava\\style84\\eolfill = false\r\nJava\\style84\\font = Courier New, 14, 0, 0, 0\r\nJava\\style84\\paper = eaf7ff\r\nJava\\style85\\color = 90b090\r\nJava\\style85\\eolfill = true\r\nJava\\style85\\font = Courier New, 14, 0, 0, 0\r\nJava\\style85\\paper = eaf7ff\r\nJava\\style86\\color = 90b090\r\nJava\\style86\\eolfill = true\r\nJava\\style86\\font = Courier New, 14, 0, 0, 0\r\nJava\\style86\\paper = eaf7ff\r\nJava\\style87\\color = a0c090\r\nJava\\style87\\eolfill = false\r\nJava\\style87\\font = Courier New, 14, 0, 0, 0\r\nJava\\style87\\paper = eaf7ff\r\nJava\\style88\\color = c0c0c0\r\nJava\\style88\\eolfill = false\r\nJava\\style88\\font = Courier New, 14, 0, 0, 0\r\nJava\\style88\\paper = eaf7ff\r\nJava\\style89\\color = d7a090\r\nJava\\style89\\eolfill = false\r\nJava\\style89\\font = Courier New, 14, 0, 0, 0\r\nJava\\style89\\paper = eaf7ff\r\nJava\\style90\\color = c3a1cf\r\nJava\\style90\\eolfill = false\r\nJava\\style90\\font = Courier New, 14, 0, 0, 0\r\nJava\\style90\\paper = eaf7ff\r\nJava\\style91\\color = 0\r\nJava\\style91\\eolfill = false\r\nJava\\style91\\font = Courier New, 14, 0, 0, 0\r\nJava\\style91\\paper = eaf7ff\r\nJava\\properties\\foldatelse = false\r\nJava\\properties\\foldcomments = false\r\nJava\\properties\\foldcompact = true\r\nJava\\properties\\foldpreprocessor = true\r\nJava\\properties\\stylepreprocessor = false\r\nJava\\properties\\dollars = true\r\nJava\\properties\\highlighttriple = false\r\nJava\\properties\\highlighthash = false\r\nJava\\properties\\highlightback = false\r\nJava\\properties\\highlightescape = false\r\nJava\\properties\\verbatimstringescape = false\r\nJava\\defaultcolor = 0\r\nJava\\defaultpaper = eaf7ff\r\nJava\\defaultfont = Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color = 808080\r\nJavaScript\\style0\\eolfill = false\r\nJavaScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper = eaf7ff\r\nJavaScript\\style1\\color = 7f00\r\nJavaScript\\style1\\eolfill = false\r\nJavaScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style1\\paper = eaf7ff\r\nJavaScript\\style2\\color = 7f00\r\nJavaScript\\style2\\eolfill = false\r\nJavaScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style2\\paper = eaf7ff\r\nJavaScript\\style3\\color = 3f703f\r\nJavaScript\\style3\\eolfill = false\r\nJavaScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style3\\paper = eaf7ff\r\nJavaScript\\style4\\color = 7f7f\r\nJavaScript\\style4\\eolfill = false\r\nJavaScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style4\\paper = eaf7ff\r\nJavaScript\\style5\\color = 8000ff\r\nJavaScript\\style5\\eolfill = false\r\nJavaScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style5\\paper = eaf7ff\r\nJavaScript\\style6\\color = 7f007f\r\nJavaScript\\style6\\eolfill = false\r\nJavaScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style6\\paper = eaf7ff\r\nJavaScript\\style7\\color = 7f007f\r\nJavaScript\\style7\\eolfill = false\r\nJavaScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style7\\paper = eaf7ff\r\nJavaScript\\style8\\color = 0\r\nJavaScript\\style8\\eolfill = false\r\nJavaScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style8\\paper = eaf7ff\r\nJavaScript\\style9\\color = 7f7f00\r\nJavaScript\\style9\\eolfill = false\r\nJavaScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style9\\paper = eaf7ff\r\nJavaScript\\style10\\color = 0\r\nJavaScript\\style10\\eolfill = false\r\nJavaScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style10\\paper = eaf7ff\r\nJavaScript\\style11\\color = 0\r\nJavaScript\\style11\\eolfill = false\r\nJavaScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style11\\paper = eaf7ff\r\nJavaScript\\style12\\color = 0\r\nJavaScript\\style12\\eolfill = true\r\nJavaScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style12\\paper = eaf7ff\r\nJavaScript\\style13\\color = 7f00\r\nJavaScript\\style13\\eolfill = true\r\nJavaScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style13\\paper = eaf7ff\r\nJavaScript\\style14\\color = 3f7f3f\r\nJavaScript\\style14\\eolfill = true\r\nJavaScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style14\\paper = eaf7ff\r\nJavaScript\\style15\\color = 3f703f\r\nJavaScript\\style15\\eolfill = false\r\nJavaScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style15\\paper = eaf7ff\r\nJavaScript\\style16\\color = 0\r\nJavaScript\\style16\\eolfill = false\r\nJavaScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style16\\paper = eaf7ff\r\nJavaScript\\style17\\color = 3060a0\r\nJavaScript\\style17\\eolfill = false\r\nJavaScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style17\\paper = eaf7ff\r\nJavaScript\\style18\\color = 804020\r\nJavaScript\\style18\\eolfill = false\r\nJavaScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style18\\paper = eaf7ff\r\nJavaScript\\style19\\color = 0\r\nJavaScript\\style19\\eolfill = false\r\nJavaScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style19\\paper = eaf7ff\r\nJavaScript\\style20\\color = 7f007f\r\nJavaScript\\style20\\eolfill = false\r\nJavaScript\\style20\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper = eaf7ff\r\nJavaScript\\style21\\color = 7f00\r\nJavaScript\\style21\\eolfill = true\r\nJavaScript\\style21\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style21\\paper = eaf7ff\r\nJavaScript\\style22\\color = 7f00\r\nJavaScript\\style22\\eolfill = true\r\nJavaScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style22\\paper = eaf7ff\r\nJavaScript\\style23\\color = 659900\r\nJavaScript\\style23\\eolfill = false\r\nJavaScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style23\\paper = eaf7ff\r\nJavaScript\\style24\\color = 3f703f\r\nJavaScript\\style24\\eolfill = false\r\nJavaScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style24\\paper = eaf7ff\r\nJavaScript\\style25\\color = c06000\r\nJavaScript\\style25\\eolfill = false\r\nJavaScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style25\\paper = eaf7ff\r\nJavaScript\\style26\\color = be07ff\r\nJavaScript\\style26\\eolfill = false\r\nJavaScript\\style26\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style26\\paper = eaf7ff\r\nJavaScript\\style27\\color = 0\r\nJavaScript\\style27\\eolfill = false\r\nJavaScript\\style27\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style27\\paper = eaf7ff\r\nJavaScript\\style64\\color = c0c0c0\r\nJavaScript\\style64\\eolfill = false\r\nJavaScript\\style64\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style64\\paper = eaf7ff\r\nJavaScript\\style65\\color = 90b090\r\nJavaScript\\style65\\eolfill = false\r\nJavaScript\\style65\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style65\\paper = eaf7ff\r\nJavaScript\\style66\\color = 90b090\r\nJavaScript\\style66\\eolfill = false\r\nJavaScript\\style66\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style66\\paper = eaf7ff\r\nJavaScript\\style67\\color = d0d0d0\r\nJavaScript\\style67\\eolfill = false\r\nJavaScript\\style67\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style67\\paper = eaf7ff\r\nJavaScript\\style68\\color = 90b090\r\nJavaScript\\style68\\eolfill = false\r\nJavaScript\\style68\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style68\\paper = eaf7ff\r\nJavaScript\\style69\\color = 9090b0\r\nJavaScript\\style69\\eolfill = false\r\nJavaScript\\style69\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style69\\paper = eaf7ff\r\nJavaScript\\style70\\color = b090b0\r\nJavaScript\\style70\\eolfill = false\r\nJavaScript\\style70\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style70\\paper = eaf7ff\r\nJavaScript\\style71\\color = b090b0\r\nJavaScript\\style71\\eolfill = false\r\nJavaScript\\style71\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style71\\paper = eaf7ff\r\nJavaScript\\style72\\color = c0c0c0\r\nJavaScript\\style72\\eolfill = false\r\nJavaScript\\style72\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style72\\paper = eaf7ff\r\nJavaScript\\style73\\color = b0b090\r\nJavaScript\\style73\\eolfill = false\r\nJavaScript\\style73\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style73\\paper = eaf7ff\r\nJavaScript\\style74\\color = b0b0b0\r\nJavaScript\\style74\\eolfill = false\r\nJavaScript\\style74\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style74\\paper = eaf7ff\r\nJavaScript\\style75\\color = b0b0b0\r\nJavaScript\\style75\\eolfill = false\r\nJavaScript\\style75\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style75\\paper = eaf7ff\r\nJavaScript\\style76\\color = 0\r\nJavaScript\\style76\\eolfill = true\r\nJavaScript\\style76\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style76\\paper = eaf7ff\r\nJavaScript\\style77\\color = 90b090\r\nJavaScript\\style77\\eolfill = true\r\nJavaScript\\style77\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style77\\paper = eaf7ff\r\nJavaScript\\style78\\color = 7faf7f\r\nJavaScript\\style78\\eolfill = true\r\nJavaScript\\style78\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style78\\paper = eaf7ff\r\nJavaScript\\style79\\color = c0c0c0\r\nJavaScript\\style79\\eolfill = false\r\nJavaScript\\style79\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style79\\paper = eaf7ff\r\nJavaScript\\style80\\color = c0c0c0\r\nJavaScript\\style80\\eolfill = false\r\nJavaScript\\style80\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style80\\paper = eaf7ff\r\nJavaScript\\style81\\color = c0c0c0\r\nJavaScript\\style81\\eolfill = false\r\nJavaScript\\style81\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style81\\paper = eaf7ff\r\nJavaScript\\style82\\color = c0c0c0\r\nJavaScript\\style82\\eolfill = false\r\nJavaScript\\style82\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style82\\paper = eaf7ff\r\nJavaScript\\style83\\color = b0b0b0\r\nJavaScript\\style83\\eolfill = false\r\nJavaScript\\style83\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style83\\paper = eaf7ff\r\nJavaScript\\style84\\color = b090b0\r\nJavaScript\\style84\\eolfill = false\r\nJavaScript\\style84\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style84\\paper = eaf7ff\r\nJavaScript\\style85\\color = 90b090\r\nJavaScript\\style85\\eolfill = true\r\nJavaScript\\style85\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style85\\paper = eaf7ff\r\nJavaScript\\style86\\color = 90b090\r\nJavaScript\\style86\\eolfill = true\r\nJavaScript\\style86\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style86\\paper = eaf7ff\r\nJavaScript\\style87\\color = a0c090\r\nJavaScript\\style87\\eolfill = false\r\nJavaScript\\style87\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style87\\paper = eaf7ff\r\nJavaScript\\style88\\color = c0c0c0\r\nJavaScript\\style88\\eolfill = false\r\nJavaScript\\style88\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style88\\paper = eaf7ff\r\nJavaScript\\style89\\color = d7a090\r\nJavaScript\\style89\\eolfill = false\r\nJavaScript\\style89\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style89\\paper = eaf7ff\r\nJavaScript\\style90\\color = c3a1cf\r\nJavaScript\\style90\\eolfill = false\r\nJavaScript\\style90\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style90\\paper = eaf7ff\r\nJavaScript\\style91\\color = 0\r\nJavaScript\\style91\\eolfill = false\r\nJavaScript\\style91\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style91\\paper = eaf7ff\r\nJavaScript\\properties\\foldatelse = false\r\nJavaScript\\properties\\foldcomments = false\r\nJavaScript\\properties\\foldcompact = true\r\nJavaScript\\properties\\foldpreprocessor = true\r\nJavaScript\\properties\\stylepreprocessor = false\r\nJavaScript\\properties\\dollars = true\r\nJavaScript\\properties\\highlighttriple = false\r\nJavaScript\\properties\\highlighthash = false\r\nJavaScript\\properties\\highlightback = false\r\nJavaScript\\properties\\highlightescape = false\r\nJavaScript\\properties\\verbatimstringescape = false\r\nJavaScript\\defaultcolor = 0\r\nJavaScript\\defaultpaper = eaf7ff\r\nJavaScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color = 0\r\nJSON\\style0\\eolfill = false\r\nJSON\\style0\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper = eaf7ff\r\nJSON\\style1\\color = 7f7f\r\nJSON\\style1\\eolfill = false\r\nJSON\\style1\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper = eaf7ff\r\nJSON\\style2\\color = 7f0000\r\nJSON\\style2\\eolfill = false\r\nJSON\\style2\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper = eaf7ff\r\nJSON\\style3\\color = ffffff\r\nJSON\\style3\\eolfill = true\r\nJSON\\style3\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper = eaf7ff\r\nJSON\\style4\\color = 880ae8\r\nJSON\\style4\\eolfill = false\r\nJSON\\style4\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper = eaf7ff\r\nJSON\\style5\\color = b982e\r\nJSON\\style5\\eolfill = false\r\nJSON\\style5\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper = eaf7ff\r\nJSON\\style6\\color = 5bbae\r\nJSON\\style6\\eolfill = false\r\nJSON\\style6\\font = Courier New, 14, 0, 1, 0\r\nJSON\\style6\\paper = eaf7ff\r\nJSON\\style7\\color = 5bbae\r\nJSON\\style7\\eolfill = false\r\nJSON\\style7\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper = eaf7ff\r\nJSON\\style8\\color = 18644a\r\nJSON\\style8\\eolfill = false\r\nJSON\\style8\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper = eaf7ff\r\nJSON\\style9\\color = ff\r\nJSON\\style9\\eolfill = false\r\nJSON\\style9\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper = eaf7ff\r\nJSON\\style10\\color = d137c1\r\nJSON\\style10\\eolfill = false\r\nJSON\\style10\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper = eaf7ff\r\nJSON\\style11\\color = bcea7\r\nJSON\\style11\\eolfill = false\r\nJSON\\style11\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper = eaf7ff\r\nJSON\\style12\\color = ec2806\r\nJSON\\style12\\eolfill = false\r\nJSON\\style12\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper = eaf7ff\r\nJSON\\style13\\color = ffffff\r\nJSON\\style13\\eolfill = false\r\nJSON\\style13\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper = eaf7ff\r\nJSON\\properties\\allowcomments = true\r\nJSON\\properties\\escapesequence = true\r\nJSON\\properties\\foldcompact = true\r\nJSON\\defaultcolor = 0\r\nJSON\\defaultpaper = eaf7ff\r\nJSON\\defaultfont = Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/jsp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = eaf7ff\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = eaf7ff\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = eaf7ff\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = eaf7ff\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = eaf7ff\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = eaf7ff\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = eaf7ff\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = eaf7ff\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = eaf7ff\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = eaf7ff\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = eaf7ff\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = eaf7ff\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = eaf7ff\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = eaf7ff\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = eaf7ff\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = eaf7ff\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = eaf7ff\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = eaf7ff\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = eaf7ff\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = eaf7ff\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = eaf7ff\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = eaf7ff\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = eaf7ff\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = eaf7ff\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = eaf7ff\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = eaf7ff\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = eaf7ff\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = eaf7ff\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = eaf7ff\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = eaf7ff\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = eaf7ff\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = eaf7ff\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = eaf7ff\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = eaf7ff\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = eaf7ff\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = eaf7ff\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = eaf7ff\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = eaf7ff\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = eaf7ff\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = eaf7ff\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = eaf7ff\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = eaf7ff\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = eaf7ff\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = eaf7ff\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = eaf7ff\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = eaf7ff\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = eaf7ff\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = eaf7ff\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = eaf7ff\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = eaf7ff\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = eaf7ff\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = eaf7ff\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = eaf7ff\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = eaf7ff\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = eaf7ff\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = eaf7ff\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = eaf7ff\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = eaf7ff\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = eaf7ff\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = eaf7ff\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = eaf7ff\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = eaf7ff\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = eaf7ff\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = eaf7ff\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = eaf7ff\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = eaf7ff\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = eaf7ff\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = eaf7ff\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = eaf7ff\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = eaf7ff\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = eaf7ff\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = eaf7ff\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = eaf7ff\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = eaf7ff\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = eaf7ff\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = eaf7ff\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = eaf7ff\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = eaf7ff\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = eaf7ff\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = eaf7ff\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = eaf7ff\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = eaf7ff\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = eaf7ff\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = eaf7ff\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = eaf7ff\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = eaf7ff\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = eaf7ff\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = eaf7ff\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = eaf7ff\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = eaf7ff\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = eaf7ff\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = eaf7ff\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = eaf7ff\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = eaf7ff\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = eaf7ff\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = eaf7ff\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = eaf7ff\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = eaf7ff\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = eaf7ff\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = eaf7ff\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = eaf7ff\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = eaf7ff\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = eaf7ff\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = eaf7ff\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = eaf7ff\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = eaf7ff\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = eaf7ff\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = eaf7ff\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = eaf7ff\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = eaf7ff\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color = 0\r\nLua\\style0\\eolfill = false\r\nLua\\style0\\font = Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper = eaf7ff\r\nLua\\style1\\color = 7f00\r\nLua\\style1\\eolfill = true\r\nLua\\style1\\font = Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper = eaf7ff\r\nLua\\style2\\color = 7f00\r\nLua\\style2\\eolfill = false\r\nLua\\style2\\font = Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper = eaf7ff\r\nLua\\style4\\color = 7f7f\r\nLua\\style4\\eolfill = false\r\nLua\\style4\\font = Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper = eaf7ff\r\nLua\\style5\\color = 8000ff\r\nLua\\style5\\eolfill = false\r\nLua\\style5\\font = Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper = eaf7ff\r\nLua\\style6\\color = 7f007f\r\nLua\\style6\\eolfill = false\r\nLua\\style6\\font = Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper = eaf7ff\r\nLua\\style7\\color = 7f007f\r\nLua\\style7\\eolfill = false\r\nLua\\style7\\font = Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper = eaf7ff\r\nLua\\style8\\color = 7f007f\r\nLua\\style8\\eolfill = false\r\nLua\\style8\\font = Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper = eaf7ff\r\nLua\\style9\\color = 7f7f00\r\nLua\\style9\\eolfill = false\r\nLua\\style9\\font = Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper = eaf7ff\r\nLua\\style10\\color = 0\r\nLua\\style10\\eolfill = false\r\nLua\\style10\\font = Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper = eaf7ff\r\nLua\\style11\\color = 0\r\nLua\\style11\\eolfill = false\r\nLua\\style11\\font = Courier New, 14, 0, 0, 0\r\nLua\\style11\\paper = eaf7ff\r\nLua\\style12\\color = 0\r\nLua\\style12\\eolfill = true\r\nLua\\style12\\font = Courier New, 14, 0, 0, 0\r\nLua\\style12\\paper = eaf7ff\r\nLua\\style13\\color = 8000ff\r\nLua\\style13\\eolfill = false\r\nLua\\style13\\font = Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper = eaf7ff\r\nLua\\style14\\color = 8000ff\r\nLua\\style14\\eolfill = false\r\nLua\\style14\\font = Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper = eaf7ff\r\nLua\\style15\\color = 8000ff\r\nLua\\style15\\eolfill = false\r\nLua\\style15\\font = Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper = eaf7ff\r\nLua\\style16\\color = 0\r\nLua\\style16\\eolfill = false\r\nLua\\style16\\font = Courier New, 14, 0, 0, 0\r\nLua\\style16\\paper = eaf7ff\r\nLua\\style17\\color = 0\r\nLua\\style17\\eolfill = false\r\nLua\\style17\\font = Courier New, 14, 0, 0, 0\r\nLua\\style17\\paper = eaf7ff\r\nLua\\style18\\color = 0\r\nLua\\style18\\eolfill = false\r\nLua\\style18\\font = Courier New, 14, 0, 0, 0\r\nLua\\style18\\paper = eaf7ff\r\nLua\\style19\\color = 0\r\nLua\\style19\\eolfill = false\r\nLua\\style19\\font = Courier New, 14, 0, 0, 0\r\nLua\\style19\\paper = eaf7ff\r\nLua\\style20\\color = 7f7f00\r\nLua\\style20\\eolfill = false\r\nLua\\style20\\font = Courier New, 14, 0, 0, 0\r\nLua\\style20\\paper = eaf7ff\r\nLua\\properties\\foldcompact = true\r\nLua\\defaultcolor = 0\r\nLua\\defaultpaper = eaf7ff\r\nLua\\defaultfont = Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color = 0\r\nMakefile\\style0\\eolfill = false\r\nMakefile\\style0\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper = eaf7ff\r\nMakefile\\style1\\color = 7f00\r\nMakefile\\style1\\eolfill = false\r\nMakefile\\style1\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper = eaf7ff\r\nMakefile\\style2\\color = 7f7f00\r\nMakefile\\style2\\eolfill = false\r\nMakefile\\style2\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper = eaf7ff\r\nMakefile\\style3\\color = 80\r\nMakefile\\style3\\eolfill = false\r\nMakefile\\style3\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper = eaf7ff\r\nMakefile\\style4\\color = 0\r\nMakefile\\style4\\eolfill = false\r\nMakefile\\style4\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper = eaf7ff\r\nMakefile\\style5\\color = a00000\r\nMakefile\\style5\\eolfill = false\r\nMakefile\\style5\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper = eaf7ff\r\nMakefile\\style9\\color = ffff00\r\nMakefile\\style9\\eolfill = true\r\nMakefile\\style9\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper = eaf7ff\r\nMakefile\\defaultcolor = 0\r\nMakefile\\defaultpaper = eaf7ff\r\nMakefile\\defaultfont = Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color = 0\r\nMatlab\\style0\\eolfill = false\r\nMatlab\\style0\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper = eaf7ff\r\nMatlab\\style1\\color = 7f00\r\nMatlab\\style1\\eolfill = false\r\nMatlab\\style1\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper = eaf7ff\r\nMatlab\\style2\\color = 7f7f00\r\nMatlab\\style2\\eolfill = false\r\nMatlab\\style2\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper = eaf7ff\r\nMatlab\\style3\\color = 7f7f\r\nMatlab\\style3\\eolfill = false\r\nMatlab\\style3\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper = eaf7ff\r\nMatlab\\style4\\color = 8000ff\r\nMatlab\\style4\\eolfill = false\r\nMatlab\\style4\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper = eaf7ff\r\nMatlab\\style5\\color = 7f007f\r\nMatlab\\style5\\eolfill = false\r\nMatlab\\style5\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper = eaf7ff\r\nMatlab\\style6\\color = 0\r\nMatlab\\style6\\eolfill = false\r\nMatlab\\style6\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper = eaf7ff\r\nMatlab\\style7\\color = 0\r\nMatlab\\style7\\eolfill = false\r\nMatlab\\style7\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper = eaf7ff\r\nMatlab\\style8\\color = 7f007f\r\nMatlab\\style8\\eolfill = false\r\nMatlab\\style8\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper = eaf7ff\r\nMatlab\\defaultcolor = 0\r\nMatlab\\defaultpaper = eaf7ff\r\nMatlab\\defaultfont = Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color = 0\r\nNSIS\\style0\\eolfill = false\r\nNSIS\\style0\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper = eaf7ff\r\nNSIS\\style1\\color = 7f00\r\nNSIS\\style1\\eolfill = false\r\nNSIS\\style1\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper = eaf7ff\r\nNSIS\\style2\\color = 7f007f\r\nNSIS\\style2\\eolfill = false\r\nNSIS\\style2\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper = eaf7ff\r\nNSIS\\style3\\color = 7f007f\r\nNSIS\\style3\\eolfill = false\r\nNSIS\\style3\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper = eaf7ff\r\nNSIS\\style4\\color = 7f007f\r\nNSIS\\style4\\eolfill = false\r\nNSIS\\style4\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper = eaf7ff\r\nNSIS\\style5\\color = 8000ff\r\nNSIS\\style5\\eolfill = false\r\nNSIS\\style5\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper = eaf7ff\r\nNSIS\\style6\\color = 0\r\nNSIS\\style6\\eolfill = false\r\nNSIS\\style6\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper = eaf7ff\r\nNSIS\\style7\\color = 8000ff\r\nNSIS\\style7\\eolfill = false\r\nNSIS\\style7\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style7\\paper = eaf7ff\r\nNSIS\\style8\\color = 0\r\nNSIS\\style8\\eolfill = false\r\nNSIS\\style8\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper = eaf7ff\r\nNSIS\\style9\\color = 8000ff\r\nNSIS\\style9\\eolfill = false\r\nNSIS\\style9\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style9\\paper = eaf7ff\r\nNSIS\\style10\\color = 8000ff\r\nNSIS\\style10\\eolfill = false\r\nNSIS\\style10\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style10\\paper = eaf7ff\r\nNSIS\\style11\\color = 8000ff\r\nNSIS\\style11\\eolfill = false\r\nNSIS\\style11\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style11\\paper = eaf7ff\r\nNSIS\\style12\\color = 8000ff\r\nNSIS\\style12\\eolfill = false\r\nNSIS\\style12\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style12\\paper = eaf7ff\r\nNSIS\\style13\\color = 0\r\nNSIS\\style13\\eolfill = false\r\nNSIS\\style13\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper = eaf7ff\r\nNSIS\\style14\\color = 7f7f\r\nNSIS\\style14\\eolfill = false\r\nNSIS\\style14\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper = eaf7ff\r\nNSIS\\style15\\color = 0\r\nNSIS\\style15\\eolfill = false\r\nNSIS\\style15\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper = eaf7ff\r\nNSIS\\style16\\color = 0\r\nNSIS\\style16\\eolfill = false\r\nNSIS\\style16\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper = eaf7ff\r\nNSIS\\style17\\color = 8000ff\r\nNSIS\\style17\\eolfill = false\r\nNSIS\\style17\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style17\\paper = eaf7ff\r\nNSIS\\style18\\color = 7f00\r\nNSIS\\style18\\eolfill = false\r\nNSIS\\style18\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper = eaf7ff\r\nNSIS\\defaultcolor = 0\r\nNSIS\\defaultpaper = eaf7ff\r\nNSIS\\defaultfont = Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = eaf7ff\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = eaf7ff\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = eaf7ff\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = eaf7ff\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = eaf7ff\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = eaf7ff\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = eaf7ff\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = eaf7ff\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = eaf7ff\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = eaf7ff\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = eaf7ff\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = eaf7ff\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = eaf7ff\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = eaf7ff\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = eaf7ff\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = eaf7ff\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = eaf7ff\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = eaf7ff\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = eaf7ff\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = eaf7ff\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = eaf7ff\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = eaf7ff\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = eaf7ff\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = eaf7ff\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = eaf7ff\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = eaf7ff\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = eaf7ff\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = eaf7ff\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = eaf7ff\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = eaf7ff\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = eaf7ff\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = eaf7ff\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = eaf7ff\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = eaf7ff\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = eaf7ff\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = eaf7ff\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = eaf7ff\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = eaf7ff\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = eaf7ff\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = eaf7ff\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = eaf7ff\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = eaf7ff\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = eaf7ff\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = eaf7ff\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = eaf7ff\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = eaf7ff\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = eaf7ff\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = eaf7ff\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = eaf7ff\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = eaf7ff\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = eaf7ff\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = eaf7ff\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = eaf7ff\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = eaf7ff\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = eaf7ff\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = eaf7ff\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = eaf7ff\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color = 808080\r\nPascal\\style0\\eolfill = false\r\nPascal\\style0\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper = eaf7ff\r\nPascal\\style1\\color = 0\r\nPascal\\style1\\eolfill = false\r\nPascal\\style1\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper = eaf7ff\r\nPascal\\style2\\color = 7f00\r\nPascal\\style2\\eolfill = false\r\nPascal\\style2\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper = eaf7ff\r\nPascal\\style3\\color = 7f00\r\nPascal\\style3\\eolfill = false\r\nPascal\\style3\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper = eaf7ff\r\nPascal\\style4\\color = 7f00\r\nPascal\\style4\\eolfill = false\r\nPascal\\style4\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper = eaf7ff\r\nPascal\\style5\\color = 7f7f00\r\nPascal\\style5\\eolfill = false\r\nPascal\\style5\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper = eaf7ff\r\nPascal\\style6\\color = 7f7f00\r\nPascal\\style6\\eolfill = false\r\nPascal\\style6\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style6\\paper = eaf7ff\r\nPascal\\style7\\color = 7f7f\r\nPascal\\style7\\eolfill = false\r\nPascal\\style7\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper = eaf7ff\r\nPascal\\style8\\color = 7f7f\r\nPascal\\style8\\eolfill = false\r\nPascal\\style8\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper = eaf7ff\r\nPascal\\style9\\color = 8000ff\r\nPascal\\style9\\eolfill = false\r\nPascal\\style9\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style9\\paper = eaf7ff\r\nPascal\\style10\\color = 7f007f\r\nPascal\\style10\\eolfill = false\r\nPascal\\style10\\font = Courier New, 11, 0, 1, 0\r\nPascal\\style10\\paper = eaf7ff\r\nPascal\\style11\\color = 0\r\nPascal\\style11\\eolfill = true\r\nPascal\\style11\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style11\\paper = eaf7ff\r\nPascal\\style12\\color = 7f007f\r\nPascal\\style12\\eolfill = false\r\nPascal\\style12\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper = eaf7ff\r\nPascal\\style13\\color = 0\r\nPascal\\style13\\eolfill = false\r\nPascal\\style13\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style13\\paper = eaf7ff\r\nPascal\\style14\\color = 804080\r\nPascal\\style14\\eolfill = false\r\nPascal\\style14\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper = eaf7ff\r\nPascal\\properties\\foldcomments = false\r\nPascal\\properties\\foldcompact = true\r\nPascal\\properties\\foldpreprocessor = false\r\nPascal\\properties\\smarthighlight = true\r\nPascal\\defaultcolor = 0\r\nPascal\\defaultpaper = eaf7ff\r\nPascal\\defaultfont = Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color = 808080\r\nPerl\\style0\\eolfill = false\r\nPerl\\style0\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper = eaf7ff\r\nPerl\\style1\\color = ffff00\r\nPerl\\style1\\eolfill = false\r\nPerl\\style1\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper = eaf7ff\r\nPerl\\style2\\color = 7f00\r\nPerl\\style2\\eolfill = false\r\nPerl\\style2\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper = eaf7ff\r\nPerl\\style3\\color = 4000\r\nPerl\\style3\\eolfill = true\r\nPerl\\style3\\font = Courier New, 11, 0, 0, 0\r\nPerl\\style3\\paper = eaf7ff\r\nPerl\\style4\\color = 7f7f\r\nPerl\\style4\\eolfill = false\r\nPerl\\style4\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper = eaf7ff\r\nPerl\\style5\\color = 8000ff\r\nPerl\\style5\\eolfill = false\r\nPerl\\style5\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper = eaf7ff\r\nPerl\\style6\\color = 7f007f\r\nPerl\\style6\\eolfill = false\r\nPerl\\style6\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper = eaf7ff\r\nPerl\\style7\\color = 7f007f\r\nPerl\\style7\\eolfill = false\r\nPerl\\style7\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper = eaf7ff\r\nPerl\\style10\\color = 0\r\nPerl\\style10\\eolfill = false\r\nPerl\\style10\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper = eaf7ff\r\nPerl\\style11\\color = 0\r\nPerl\\style11\\eolfill = false\r\nPerl\\style11\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style11\\paper = eaf7ff\r\nPerl\\style12\\color = 0\r\nPerl\\style12\\eolfill = false\r\nPerl\\style12\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper = eaf7ff\r\nPerl\\style13\\color = 0\r\nPerl\\style13\\eolfill = false\r\nPerl\\style13\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper = eaf7ff\r\nPerl\\style14\\color = 0\r\nPerl\\style14\\eolfill = false\r\nPerl\\style14\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper = eaf7ff\r\nPerl\\style15\\color = 0\r\nPerl\\style15\\eolfill = false\r\nPerl\\style15\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper = eaf7ff\r\nPerl\\style17\\color = 0\r\nPerl\\style17\\eolfill = false\r\nPerl\\style17\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper = eaf7ff\r\nPerl\\style18\\color = 0\r\nPerl\\style18\\eolfill = false\r\nPerl\\style18\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper = eaf7ff\r\nPerl\\style20\\color = ffff00\r\nPerl\\style20\\eolfill = false\r\nPerl\\style20\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper = eaf7ff\r\nPerl\\style21\\color = 600000\r\nPerl\\style21\\eolfill = true\r\nPerl\\style21\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper = eaf7ff\r\nPerl\\style22\\color = 0\r\nPerl\\style22\\eolfill = false\r\nPerl\\style22\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style22\\paper = eaf7ff\r\nPerl\\style23\\color = 7f007f\r\nPerl\\style23\\eolfill = true\r\nPerl\\style23\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style23\\paper = eaf7ff\r\nPerl\\style24\\color = 7f007f\r\nPerl\\style24\\eolfill = true\r\nPerl\\style24\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style24\\paper = eaf7ff\r\nPerl\\style25\\color = 7f007f\r\nPerl\\style25\\eolfill = true\r\nPerl\\style25\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style25\\paper = eaf7ff\r\nPerl\\style26\\color = 7f007f\r\nPerl\\style26\\eolfill = false\r\nPerl\\style26\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style26\\paper = eaf7ff\r\nPerl\\style27\\color = 7f007f\r\nPerl\\style27\\eolfill = false\r\nPerl\\style27\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style27\\paper = eaf7ff\r\nPerl\\style28\\color = ffff00\r\nPerl\\style28\\eolfill = false\r\nPerl\\style28\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style28\\paper = eaf7ff\r\nPerl\\style29\\color = 0\r\nPerl\\style29\\eolfill = false\r\nPerl\\style29\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style29\\paper = eaf7ff\r\nPerl\\style30\\color = 0\r\nPerl\\style30\\eolfill = false\r\nPerl\\style30\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style30\\paper = eaf7ff\r\nPerl\\style31\\color = 4000\r\nPerl\\style31\\eolfill = true\r\nPerl\\style31\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style31\\paper = eaf7ff\r\nPerl\\style40\\color = 0\r\nPerl\\style40\\eolfill = false\r\nPerl\\style40\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style40\\paper = eaf7ff\r\nPerl\\style41\\color = c000c0\r\nPerl\\style41\\eolfill = false\r\nPerl\\style41\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style41\\paper = eaf7ff\r\nPerl\\style42\\color = c000c0\r\nPerl\\style42\\eolfill = true\r\nPerl\\style42\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style42\\paper = eaf7ff\r\nPerl\\style43\\color = d00000\r\nPerl\\style43\\eolfill = false\r\nPerl\\style43\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style43\\paper = eaf7ff\r\nPerl\\style44\\color = 0\r\nPerl\\style44\\eolfill = false\r\nPerl\\style44\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style44\\paper = eaf7ff\r\nPerl\\style54\\color = d00000\r\nPerl\\style54\\eolfill = false\r\nPerl\\style54\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style54\\paper = eaf7ff\r\nPerl\\style55\\color = d00000\r\nPerl\\style55\\eolfill = false\r\nPerl\\style55\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style55\\paper = eaf7ff\r\nPerl\\style57\\color = d00000\r\nPerl\\style57\\eolfill = false\r\nPerl\\style57\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style57\\paper = eaf7ff\r\nPerl\\style61\\color = d00000\r\nPerl\\style61\\eolfill = true\r\nPerl\\style61\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style61\\paper = eaf7ff\r\nPerl\\style62\\color = d00000\r\nPerl\\style62\\eolfill = true\r\nPerl\\style62\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style62\\paper = eaf7ff\r\nPerl\\style64\\color = d00000\r\nPerl\\style64\\eolfill = false\r\nPerl\\style64\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style64\\paper = eaf7ff\r\nPerl\\style65\\color = d00000\r\nPerl\\style65\\eolfill = false\r\nPerl\\style65\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style65\\paper = eaf7ff\r\nPerl\\style66\\color = d00000\r\nPerl\\style66\\eolfill = false\r\nPerl\\style66\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style66\\paper = eaf7ff\r\nPerl\\properties\\foldatelse = false\r\nPerl\\properties\\foldcomments = false\r\nPerl\\properties\\foldcompact = true\r\nPerl\\properties\\foldpackages = true\r\nPerl\\properties\\foldpodblocks = true\r\nPerl\\defaultcolor = 0\r\nPerl\\defaultpaper = eaf7ff\r\nPerl\\defaultfont = Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = eaf7ff\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = eaf7ff\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = eaf7ff\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = eaf7ff\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = eaf7ff\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = eaf7ff\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = eaf7ff\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = eaf7ff\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = eaf7ff\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = eaf7ff\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = eaf7ff\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = eaf7ff\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = eaf7ff\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = eaf7ff\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = eaf7ff\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = eaf7ff\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = eaf7ff\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = eaf7ff\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = eaf7ff\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = eaf7ff\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = eaf7ff\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = eaf7ff\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = eaf7ff\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = eaf7ff\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = eaf7ff\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = eaf7ff\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = eaf7ff\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = eaf7ff\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = eaf7ff\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = eaf7ff\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = eaf7ff\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = eaf7ff\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = eaf7ff\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = eaf7ff\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = eaf7ff\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = eaf7ff\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = eaf7ff\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = eaf7ff\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = eaf7ff\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = eaf7ff\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = eaf7ff\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = eaf7ff\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = eaf7ff\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = eaf7ff\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = eaf7ff\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = eaf7ff\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = eaf7ff\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = eaf7ff\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = eaf7ff\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = eaf7ff\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = eaf7ff\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = eaf7ff\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = eaf7ff\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = eaf7ff\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = eaf7ff\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = eaf7ff\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = eaf7ff\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = eaf7ff\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = eaf7ff\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = eaf7ff\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = eaf7ff\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = eaf7ff\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = eaf7ff\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = eaf7ff\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = eaf7ff\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = eaf7ff\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = eaf7ff\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = eaf7ff\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = eaf7ff\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = eaf7ff\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = eaf7ff\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = eaf7ff\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = eaf7ff\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = eaf7ff\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = eaf7ff\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = eaf7ff\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = eaf7ff\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = eaf7ff\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = eaf7ff\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = eaf7ff\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = eaf7ff\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = eaf7ff\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = eaf7ff\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = eaf7ff\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = eaf7ff\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = eaf7ff\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = eaf7ff\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = eaf7ff\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = eaf7ff\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = eaf7ff\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = eaf7ff\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = eaf7ff\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = eaf7ff\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = eaf7ff\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = eaf7ff\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = eaf7ff\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = eaf7ff\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = eaf7ff\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = eaf7ff\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = eaf7ff\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = eaf7ff\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = eaf7ff\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = eaf7ff\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = eaf7ff\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = eaf7ff\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = eaf7ff\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = eaf7ff\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = eaf7ff\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = eaf7ff\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = eaf7ff\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = eaf7ff\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = eaf7ff\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = eaf7ff\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = eaf7ff\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = eaf7ff\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = eaf7ff\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = eaf7ff\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color = 808080\r\nPython\\style0\\eolfill = false\r\nPython\\style0\\font = Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper = eaf7ff\r\nPython\\style1\\color = 7f00\r\nPython\\style1\\eolfill = false\r\nPython\\style1\\font = Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper = eaf7ff\r\nPython\\style2\\color = 7f7f\r\nPython\\style2\\eolfill = false\r\nPython\\style2\\font = Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper = eaf7ff\r\nPython\\style3\\color = 7f007f\r\nPython\\style3\\eolfill = false\r\nPython\\style3\\font = Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper = eaf7ff\r\nPython\\style4\\color = 7f007f\r\nPython\\style4\\eolfill = false\r\nPython\\style4\\font = Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper = eaf7ff\r\nPython\\style5\\color = ff\r\nPython\\style5\\eolfill = false\r\nPython\\style5\\font = Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper = eaf7ff\r\nPython\\style6\\color = 7f0000\r\nPython\\style6\\eolfill = false\r\nPython\\style6\\font = Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper = eaf7ff\r\nPython\\style7\\color = 7f0000\r\nPython\\style7\\eolfill = false\r\nPython\\style7\\font = Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper = eaf7ff\r\nPython\\style8\\color = ff\r\nPython\\style8\\eolfill = false\r\nPython\\style8\\font = Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper = eaf7ff\r\nPython\\style9\\color = 8000ff\r\nPython\\style9\\eolfill = false\r\nPython\\style9\\font = Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper = eaf7ff\r\nPython\\style10\\color = 0\r\nPython\\style10\\eolfill = false\r\nPython\\style10\\font = Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper = eaf7ff\r\nPython\\style11\\color = 0\r\nPython\\style11\\eolfill = false\r\nPython\\style11\\font = Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper = eaf7ff\r\nPython\\style12\\color = 7f7f7f\r\nPython\\style12\\eolfill = false\r\nPython\\style12\\font = Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper = eaf7ff\r\nPython\\style13\\color = 0\r\nPython\\style13\\eolfill = true\r\nPython\\style13\\font = Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper = eaf7ff\r\nPython\\style14\\color = 407090\r\nPython\\style14\\eolfill = false\r\nPython\\style14\\font = Courier New, 14, 0, 0, 0\r\nPython\\style14\\paper = eaf7ff\r\nPython\\style15\\color = 805000\r\nPython\\style15\\eolfill = false\r\nPython\\style15\\font = Courier New, 14, 0, 0, 0\r\nPython\\style15\\paper = eaf7ff\r\nPython\\style16\\color = 7f007f\r\nPython\\style16\\eolfill = false\r\nPython\\style16\\font = Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper = eaf7ff\r\nPython\\style17\\color = 7f007f\r\nPython\\style17\\eolfill = false\r\nPython\\style17\\font = Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper = eaf7ff\r\nPython\\style18\\color = 7f0000\r\nPython\\style18\\eolfill = false\r\nPython\\style18\\font = Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper = eaf7ff\r\nPython\\style19\\color = 7f0000\r\nPython\\style19\\eolfill = false\r\nPython\\style19\\font = Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper = eaf7ff\r\nPython\\properties\\foldcomments = false\r\nPython\\properties\\foldcompact = true\r\nPython\\properties\\foldquotes = false\r\nPython\\properties\\indentwarning = 0\r\nPython\\properties\\stringsovernewline = false\r\nPython\\properties\\v2unicode = true\r\nPython\\properties\\v3binaryoctal = true\r\nPython\\properties\\v3bytes = true\r\nPython\\properties\\highlightsubids = true\r\nPython\\defaultcolor = 0\r\nPython\\defaultpaper = eaf7ff\r\nPython\\defaultfont = Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = eaf7ff\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = eaf7ff\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = eaf7ff\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = eaf7ff\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = eaf7ff\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = eaf7ff\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = eaf7ff\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = eaf7ff\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = eaf7ff\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = eaf7ff\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = eaf7ff\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = eaf7ff\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = eaf7ff\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = eaf7ff\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = eaf7ff\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = eaf7ff\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = eaf7ff\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = eaf7ff\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = eaf7ff\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = eaf7ff\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = eaf7ff\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = eaf7ff\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = eaf7ff\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = eaf7ff\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = eaf7ff\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = eaf7ff\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = eaf7ff\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = eaf7ff\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = eaf7ff\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = eaf7ff\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = eaf7ff\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = eaf7ff\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = eaf7ff\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = eaf7ff\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = eaf7ff\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = eaf7ff\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = eaf7ff\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = eaf7ff\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = eaf7ff\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = eaf7ff\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = eaf7ff\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = eaf7ff\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = eaf7ff\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = eaf7ff\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = eaf7ff\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = eaf7ff\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = eaf7ff\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = eaf7ff\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = eaf7ff\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = eaf7ff\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = eaf7ff\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = eaf7ff\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = eaf7ff\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = eaf7ff\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = eaf7ff\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = eaf7ff\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = eaf7ff\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color = 808080\r\nRuby\\style0\\eolfill = false\r\nRuby\\style0\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper = eaf7ff\r\nRuby\\style1\\color = 0\r\nRuby\\style1\\eolfill = false\r\nRuby\\style1\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper = eaf7ff\r\nRuby\\style2\\color = 7f00\r\nRuby\\style2\\eolfill = false\r\nRuby\\style2\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper = eaf7ff\r\nRuby\\style3\\color = 4000\r\nRuby\\style3\\eolfill = true\r\nRuby\\style3\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper = eaf7ff\r\nRuby\\style4\\color = 7f7f\r\nRuby\\style4\\eolfill = false\r\nRuby\\style4\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper = eaf7ff\r\nRuby\\style5\\color = 8000ff\r\nRuby\\style5\\eolfill = false\r\nRuby\\style5\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper = eaf7ff\r\nRuby\\style6\\color = 7f007f\r\nRuby\\style6\\eolfill = false\r\nRuby\\style6\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper = eaf7ff\r\nRuby\\style7\\color = 7f007f\r\nRuby\\style7\\eolfill = false\r\nRuby\\style7\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper = eaf7ff\r\nRuby\\style8\\color = ff\r\nRuby\\style8\\eolfill = false\r\nRuby\\style8\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper = eaf7ff\r\nRuby\\style9\\color = 7f7f\r\nRuby\\style9\\eolfill = false\r\nRuby\\style9\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper = eaf7ff\r\nRuby\\style10\\color = 0\r\nRuby\\style10\\eolfill = false\r\nRuby\\style10\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper = eaf7ff\r\nRuby\\style11\\color = 0\r\nRuby\\style11\\eolfill = false\r\nRuby\\style11\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper = eaf7ff\r\nRuby\\style12\\color = 0\r\nRuby\\style12\\eolfill = false\r\nRuby\\style12\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper = eaf7ff\r\nRuby\\style13\\color = 800080\r\nRuby\\style13\\eolfill = false\r\nRuby\\style13\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper = eaf7ff\r\nRuby\\style14\\color = c0a030\r\nRuby\\style14\\eolfill = false\r\nRuby\\style14\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper = eaf7ff\r\nRuby\\style15\\color = a000a0\r\nRuby\\style15\\eolfill = false\r\nRuby\\style15\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper = eaf7ff\r\nRuby\\style16\\color = b00080\r\nRuby\\style16\\eolfill = false\r\nRuby\\style16\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper = eaf7ff\r\nRuby\\style17\\color = 8000b0\r\nRuby\\style17\\eolfill = false\r\nRuby\\style17\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper = eaf7ff\r\nRuby\\style18\\color = ffff00\r\nRuby\\style18\\eolfill = false\r\nRuby\\style18\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper = eaf7ff\r\nRuby\\style19\\color = 600000\r\nRuby\\style19\\eolfill = true\r\nRuby\\style19\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper = eaf7ff\r\nRuby\\style20\\color = 0\r\nRuby\\style20\\eolfill = false\r\nRuby\\style20\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style20\\paper = eaf7ff\r\nRuby\\style21\\color = 7f007f\r\nRuby\\style21\\eolfill = true\r\nRuby\\style21\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style21\\paper = eaf7ff\r\nRuby\\style24\\color = 7f007f\r\nRuby\\style24\\eolfill = false\r\nRuby\\style24\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper = eaf7ff\r\nRuby\\style25\\color = 7f007f\r\nRuby\\style25\\eolfill = false\r\nRuby\\style25\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style25\\paper = eaf7ff\r\nRuby\\style26\\color = ffff00\r\nRuby\\style26\\eolfill = false\r\nRuby\\style26\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style26\\paper = eaf7ff\r\nRuby\\style27\\color = 0\r\nRuby\\style27\\eolfill = false\r\nRuby\\style27\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style27\\paper = eaf7ff\r\nRuby\\style28\\color = 0\r\nRuby\\style28\\eolfill = false\r\nRuby\\style28\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style28\\paper = eaf7ff\r\nRuby\\style29\\color = 8000ff\r\nRuby\\style29\\eolfill = false\r\nRuby\\style29\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style29\\paper = eaf7ff\r\nRuby\\style30\\color = 0\r\nRuby\\style30\\eolfill = false\r\nRuby\\style30\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style30\\paper = eaf7ff\r\nRuby\\style31\\color = 0\r\nRuby\\style31\\eolfill = false\r\nRuby\\style31\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style31\\paper = eaf7ff\r\nRuby\\style40\\color = 0\r\nRuby\\style40\\eolfill = false\r\nRuby\\style40\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style40\\paper = eaf7ff\r\nRuby\\defaultcolor = 0\r\nRuby\\defaultpaper = eaf7ff\r\nRuby\\defaultfont = Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/rust.ini",
    "content": "[Scintilla]\r\nRUST\\style0\\color = 0\r\nRUST\\style0\\eolfill = false\r\nRUST\\style0\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style0\\paper = eaf7ff\r\nRUST\\style1\\color = 0\r\nRUST\\style1\\eolfill = false\r\nRUST\\style1\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style1\\paper = eaf7ff\r\nRUST\\style2\\color = 0\r\nRUST\\style2\\eolfill = false\r\nRUST\\style2\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style2\\paper = eaf7ff\r\nRUST\\style3\\color = 0\r\nRUST\\style3\\eolfill = false\r\nRUST\\style3\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style3\\paper = eaf7ff\r\nRUST\\style4\\color = 0\r\nRUST\\style4\\eolfill = false\r\nRUST\\style4\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style4\\paper = eaf7ff\r\nRUST\\style5\\color = 0\r\nRUST\\style5\\eolfill = false\r\nRUST\\style5\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style5\\paper = eaf7ff\r\nRUST\\style6\\color = ff\r\nRUST\\style6\\eolfill = false\r\nRUST\\style6\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style6\\paper = eaf7ff\r\nRUST\\style7\\color = ff\r\nRUST\\style7\\eolfill = false\r\nRUST\\style7\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style7\\paper = eaf7ff\r\nRUST\\style8\\color = ff\r\nRUST\\style8\\eolfill = false\r\nRUST\\style8\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style8\\paper = eaf7ff\r\nRUST\\style9\\color = ff\r\nRUST\\style9\\eolfill = false\r\nRUST\\style9\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style9\\paper = eaf7ff\r\nRUST\\style10\\color = ff\r\nRUST\\style10\\eolfill = false\r\nRUST\\style10\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style10\\paper = eaf7ff\r\nRUST\\style11\\color = ff\r\nRUST\\style11\\eolfill = false\r\nRUST\\style11\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style11\\paper = eaf7ff\r\nRUST\\style12\\color = ff\r\nRUST\\style12\\eolfill = false\r\nRUST\\style12\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style12\\paper = eaf7ff\r\nRUST\\style13\\color = 0\r\nRUST\\style13\\eolfill = false\r\nRUST\\style13\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style13\\paper = eaf7ff\r\nRUST\\style14\\color = 0\r\nRUST\\style14\\eolfill = false\r\nRUST\\style14\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style14\\paper = eaf7ff\r\nRUST\\style15\\color = 0\r\nRUST\\style15\\eolfill = false\r\nRUST\\style15\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style15\\paper = eaf7ff\r\nRUST\\style16\\color = 0\r\nRUST\\style16\\eolfill = false\r\nRUST\\style16\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style16\\paper = eaf7ff\r\nRUST\\style17\\color = 0\r\nRUST\\style17\\eolfill = false\r\nRUST\\style17\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style17\\paper = eaf7ff\r\nRUST\\style18\\color = 0\r\nRUST\\style18\\eolfill = false\r\nRUST\\style18\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style18\\paper = eaf7ff\r\nRUST\\style19\\color = 0\r\nRUST\\style19\\eolfill = false\r\nRUST\\style19\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style19\\paper = eaf7ff\r\nRUST\\style20\\color = 0\r\nRUST\\style20\\eolfill = false\r\nRUST\\style20\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style20\\paper = eaf7ff\r\nRUST\\style21\\color = 0\r\nRUST\\style21\\eolfill = false\r\nRUST\\style21\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style21\\paper = eaf7ff\r\nRUST\\style22\\color = 0\r\nRUST\\style22\\eolfill = false\r\nRUST\\style22\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style22\\paper = eaf7ff\r\nRUST\\style23\\color = 0\r\nRUST\\style23\\eolfill = false\r\nRUST\\style23\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style23\\paper = eaf7ff\r\nRUST\\defaultcolor = 0\r\nRUST\\defaultpaper = eaf7ff\r\nRUST\\defaultfont = Courier New, 14, 0, 0, 0\r\nRUST\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/spice.ini",
    "content": "[Scintilla]\r\nSpice\\style0\\color = 808080\r\nSpice\\style0\\eolfill = false\r\nSpice\\style0\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style0\\paper = eaf7ff\r\nSpice\\style1\\color = 0\r\nSpice\\style1\\eolfill = false\r\nSpice\\style1\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style1\\paper = eaf7ff\r\nSpice\\style2\\color = 7f\r\nSpice\\style2\\eolfill = false\r\nSpice\\style2\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style2\\paper = eaf7ff\r\nSpice\\style3\\color = 7f\r\nSpice\\style3\\eolfill = false\r\nSpice\\style3\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style3\\paper = eaf7ff\r\nSpice\\style4\\color = 40e0\r\nSpice\\style4\\eolfill = false\r\nSpice\\style4\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style4\\paper = eaf7ff\r\nSpice\\style5\\color = 7f7f\r\nSpice\\style5\\eolfill = false\r\nSpice\\style5\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style5\\paper = eaf7ff\r\nSpice\\style6\\color = 0\r\nSpice\\style6\\eolfill = false\r\nSpice\\style6\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style6\\paper = eaf7ff\r\nSpice\\style7\\color = 7f007f\r\nSpice\\style7\\eolfill = false\r\nSpice\\style7\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style7\\paper = eaf7ff\r\nSpice\\style8\\color = 7f00\r\nSpice\\style8\\eolfill = false\r\nSpice\\style8\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style8\\paper = eaf7ff\r\nSpice\\defaultcolor = 0\r\nSpice\\defaultpaper = eaf7ff\r\nSpice\\defaultfont = Courier New, 14, 0, 0, 0\r\nSpice\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color = 808080\r\nSQL\\style0\\eolfill = false\r\nSQL\\style0\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper = eaf7ff\r\nSQL\\style1\\color = 7f00\r\nSQL\\style1\\eolfill = false\r\nSQL\\style1\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper = eaf7ff\r\nSQL\\style2\\color = 7f00\r\nSQL\\style2\\eolfill = false\r\nSQL\\style2\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper = eaf7ff\r\nSQL\\style3\\color = 7f7f7f\r\nSQL\\style3\\eolfill = false\r\nSQL\\style3\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper = eaf7ff\r\nSQL\\style4\\color = 7f7f\r\nSQL\\style4\\eolfill = false\r\nSQL\\style4\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper = eaf7ff\r\nSQL\\style5\\color = 8000ff\r\nSQL\\style5\\eolfill = false\r\nSQL\\style5\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper = eaf7ff\r\nSQL\\style6\\color = 7f007f\r\nSQL\\style6\\eolfill = false\r\nSQL\\style6\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper = eaf7ff\r\nSQL\\style7\\color = 7f007f\r\nSQL\\style7\\eolfill = false\r\nSQL\\style7\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper = eaf7ff\r\nSQL\\style8\\color = 7f7f00\r\nSQL\\style8\\eolfill = false\r\nSQL\\style8\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style8\\paper = eaf7ff\r\nSQL\\style9\\color = 7f00\r\nSQL\\style9\\eolfill = true\r\nSQL\\style9\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style9\\paper = eaf7ff\r\nSQL\\style10\\color = 0\r\nSQL\\style10\\eolfill = false\r\nSQL\\style10\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper = eaf7ff\r\nSQL\\style11\\color = 0\r\nSQL\\style11\\eolfill = false\r\nSQL\\style11\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style11\\paper = eaf7ff\r\nSQL\\style13\\color = 7f00\r\nSQL\\style13\\eolfill = false\r\nSQL\\style13\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style13\\paper = eaf7ff\r\nSQL\\style15\\color = 7f00\r\nSQL\\style15\\eolfill = false\r\nSQL\\style15\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style15\\paper = eaf7ff\r\nSQL\\style17\\color = 3060a0\r\nSQL\\style17\\eolfill = false\r\nSQL\\style17\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style17\\paper = eaf7ff\r\nSQL\\style18\\color = 804020\r\nSQL\\style18\\eolfill = false\r\nSQL\\style18\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style18\\paper = eaf7ff\r\nSQL\\style19\\color = 4b0082\r\nSQL\\style19\\eolfill = false\r\nSQL\\style19\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper = eaf7ff\r\nSQL\\style20\\color = b00040\r\nSQL\\style20\\eolfill = false\r\nSQL\\style20\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style20\\paper = eaf7ff\r\nSQL\\style21\\color = 8b0000\r\nSQL\\style21\\eolfill = false\r\nSQL\\style21\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style21\\paper = eaf7ff\r\nSQL\\style22\\color = 800080\r\nSQL\\style22\\eolfill = false\r\nSQL\\style22\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style22\\paper = eaf7ff\r\nSQL\\style23\\color = 0\r\nSQL\\style23\\eolfill = false\r\nSQL\\style23\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style23\\paper = eaf7ff\r\nSQL\\style24\\color = 0\r\nSQL\\style24\\eolfill = false\r\nSQL\\style24\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper = eaf7ff\r\nSQL\\defaultcolor = 0\r\nSQL\\defaultpaper = eaf7ff\r\nSQL\\defaultfont = Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color = 808080\r\nTCL\\style0\\eolfill = false\r\nTCL\\style0\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper = eaf7ff\r\nTCL\\style1\\color = 7f00\r\nTCL\\style1\\eolfill = false\r\nTCL\\style1\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style1\\paper = eaf7ff\r\nTCL\\style2\\color = 7f00\r\nTCL\\style2\\eolfill = false\r\nTCL\\style2\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style2\\paper = eaf7ff\r\nTCL\\style3\\color = 7f7f\r\nTCL\\style3\\eolfill = false\r\nTCL\\style3\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper = eaf7ff\r\nTCL\\style4\\color = 7f007f\r\nTCL\\style4\\eolfill = false\r\nTCL\\style4\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style4\\paper = eaf7ff\r\nTCL\\style5\\color = 7f007f\r\nTCL\\style5\\eolfill = true\r\nTCL\\style5\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper = eaf7ff\r\nTCL\\style6\\color = 0\r\nTCL\\style6\\eolfill = false\r\nTCL\\style6\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style6\\paper = eaf7ff\r\nTCL\\style7\\color = 8000ff\r\nTCL\\style7\\eolfill = false\r\nTCL\\style7\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper = eaf7ff\r\nTCL\\style8\\color = 7f7f00\r\nTCL\\style8\\eolfill = false\r\nTCL\\style8\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style8\\paper = eaf7ff\r\nTCL\\style9\\color = 7f7f00\r\nTCL\\style9\\eolfill = false\r\nTCL\\style9\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper = eaf7ff\r\nTCL\\style10\\color = 7f007f\r\nTCL\\style10\\eolfill = false\r\nTCL\\style10\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper = eaf7ff\r\nTCL\\style11\\color = 8000ff\r\nTCL\\style11\\eolfill = false\r\nTCL\\style11\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style11\\paper = eaf7ff\r\nTCL\\style12\\color = 8000ff\r\nTCL\\style12\\eolfill = false\r\nTCL\\style12\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style12\\paper = eaf7ff\r\nTCL\\style13\\color = 8000ff\r\nTCL\\style13\\eolfill = false\r\nTCL\\style13\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style13\\paper = eaf7ff\r\nTCL\\style14\\color = 8000ff\r\nTCL\\style14\\eolfill = false\r\nTCL\\style14\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style14\\paper = eaf7ff\r\nTCL\\style15\\color = 8000ff\r\nTCL\\style15\\eolfill = false\r\nTCL\\style15\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style15\\paper = eaf7ff\r\nTCL\\style16\\color = 8000ff\r\nTCL\\style16\\eolfill = false\r\nTCL\\style16\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style16\\paper = eaf7ff\r\nTCL\\style17\\color = 8000ff\r\nTCL\\style17\\eolfill = false\r\nTCL\\style17\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper = eaf7ff\r\nTCL\\style18\\color = 8000ff\r\nTCL\\style18\\eolfill = false\r\nTCL\\style18\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper = eaf7ff\r\nTCL\\style19\\color = 8000ff\r\nTCL\\style19\\eolfill = false\r\nTCL\\style19\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style19\\paper = eaf7ff\r\nTCL\\style20\\color = 7f00\r\nTCL\\style20\\eolfill = true\r\nTCL\\style20\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style20\\paper = eaf7ff\r\nTCL\\style21\\color = 0\r\nTCL\\style21\\eolfill = false\r\nTCL\\style21\\font = Courier New, 8, 0, 0, 0\r\nTCL\\style21\\paper = eaf7ff\r\nTCL\\properties\\foldcomments = false\r\nTCL\\defaultcolor = 0\r\nTCL\\defaultpaper = eaf7ff\r\nTCL\\defaultfont = Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color = 0\r\nTXT\\style0\\eolfill = false\r\nTXT\\style0\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper = eaf7ff\r\nTXT\\style1\\color = 0\r\nTXT\\style1\\eolfill = false\r\nTXT\\style1\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper = eaf7ff\r\nTXT\\defaultcolor = 0\r\nTXT\\defaultpaper = eaf7ff\r\nTXT\\defaultfont = Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/typescript.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = eaf7ff\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = eaf7ff\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = eaf7ff\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = eaf7ff\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = eaf7ff\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = eaf7ff\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = eaf7ff\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = eaf7ff\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = eaf7ff\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = eaf7ff\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = eaf7ff\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = eaf7ff\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = eaf7ff\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = eaf7ff\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = eaf7ff\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = eaf7ff\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = eaf7ff\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = eaf7ff\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = eaf7ff\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = eaf7ff\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = eaf7ff\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = eaf7ff\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = eaf7ff\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = eaf7ff\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = eaf7ff\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = eaf7ff\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = eaf7ff\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = eaf7ff\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = eaf7ff\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = eaf7ff\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = eaf7ff\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = eaf7ff\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = eaf7ff\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = eaf7ff\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = eaf7ff\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = eaf7ff\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = eaf7ff\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = eaf7ff\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = eaf7ff\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = eaf7ff\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = eaf7ff\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = eaf7ff\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = eaf7ff\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = eaf7ff\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = eaf7ff\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = eaf7ff\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = eaf7ff\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = eaf7ff\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = eaf7ff\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = eaf7ff\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = eaf7ff\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = eaf7ff\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = eaf7ff\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = eaf7ff\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = eaf7ff\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = eaf7ff\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = eaf7ff\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color = 0\r\nVB\\style0\\eolfill = false\r\nVB\\style0\\font = Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper = eaf7ff\r\nVB\\style1\\color = 0\r\nVB\\style1\\eolfill = false\r\nVB\\style1\\font = Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper = eaf7ff\r\nVB\\style2\\color = 7f7f\r\nVB\\style2\\eolfill = false\r\nVB\\style2\\font = Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper = eaf7ff\r\nVB\\style3\\color = ff\r\nVB\\style3\\eolfill = false\r\nVB\\style3\\font = Courier New, 14, 1, 0, 0\r\nVB\\style3\\paper = eaf7ff\r\nVB\\style4\\color = 7f007f\r\nVB\\style4\\eolfill = false\r\nVB\\style4\\font = Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper = eaf7ff\r\nVB\\style5\\color = 0\r\nVB\\style5\\eolfill = false\r\nVB\\style5\\font = Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper = eaf7ff\r\nVB\\style6\\color = ff0000\r\nVB\\style6\\eolfill = false\r\nVB\\style6\\font = Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper = eaf7ff\r\nVB\\style7\\color = 0\r\nVB\\style7\\eolfill = false\r\nVB\\style7\\font = Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper = eaf7ff\r\nVB\\style8\\color = 0\r\nVB\\style8\\eolfill = false\r\nVB\\style8\\font = Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper = eaf7ff\r\nVB\\style9\\color = 0\r\nVB\\style9\\eolfill = false\r\nVB\\style9\\font = Courier New, 14, 0, 0, 0\r\nVB\\style9\\paper = eaf7ff\r\nVB\\style10\\color = ff\r\nVB\\style10\\eolfill = false\r\nVB\\style10\\font = Courier New, 14, 1, 0, 0\r\nVB\\style10\\paper = eaf7ff\r\nVB\\style11\\color = ff\r\nVB\\style11\\eolfill = false\r\nVB\\style11\\font = Courier New, 14, 1, 0, 0\r\nVB\\style11\\paper = eaf7ff\r\nVB\\style12\\color = ff\r\nVB\\style12\\eolfill = false\r\nVB\\style12\\font = Courier New, 14, 1, 0, 0\r\nVB\\style12\\paper = eaf7ff\r\nVB\\style13\\color = 0\r\nVB\\style13\\eolfill = false\r\nVB\\style13\\font = Courier New, 14, 0, 0, 0\r\nVB\\style13\\paper = eaf7ff\r\nVB\\style14\\color = 0\r\nVB\\style14\\eolfill = false\r\nVB\\style14\\font = Courier New, 14, 0, 0, 0\r\nVB\\style14\\paper = eaf7ff\r\nVB\\style15\\color = 0\r\nVB\\style15\\eolfill = false\r\nVB\\style15\\font = Courier New, 14, 0, 0, 0\r\nVB\\style15\\paper = eaf7ff\r\nVB\\style16\\color = 0\r\nVB\\style16\\eolfill = false\r\nVB\\style16\\font = Courier New, 14, 0, 0, 0\r\nVB\\style16\\paper = eaf7ff\r\nVB\\style17\\color = 0\r\nVB\\style17\\eolfill = false\r\nVB\\style17\\font = Courier New, 14, 0, 0, 0\r\nVB\\style17\\paper = eaf7ff\r\nVB\\style18\\color = 0\r\nVB\\style18\\eolfill = false\r\nVB\\style18\\font = Courier New, 14, 0, 0, 0\r\nVB\\style18\\paper = eaf7ff\r\nVB\\style19\\color = 0\r\nVB\\style19\\eolfill = false\r\nVB\\style19\\font = Courier New, 14, 0, 0, 0\r\nVB\\style19\\paper = eaf7ff\r\nVB\\style20\\color = 0\r\nVB\\style20\\eolfill = false\r\nVB\\style20\\font = Courier New, 14, 0, 0, 0\r\nVB\\style20\\paper = eaf7ff\r\nVB\\style21\\color = 0\r\nVB\\style21\\eolfill = false\r\nVB\\style21\\font = Courier New, 14, 0, 0, 0\r\nVB\\style21\\paper = eaf7ff\r\nVB\\style22\\color = ff\r\nVB\\style22\\eolfill = false\r\nVB\\style22\\font = Courier New, 14, 1, 0, 0\r\nVB\\style22\\paper = eaf7ff\r\nVB\\style23\\color = 0\r\nVB\\style23\\eolfill = false\r\nVB\\style23\\font = Courier New, 14, 0, 0, 0\r\nVB\\style23\\paper = eaf7ff\r\nVB\\defaultcolor = 0\r\nVB\\defaultpaper = eaf7ff\r\nVB\\defaultfont = Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color = 808080\r\nVerilog\\style0\\eolfill = false\r\nVerilog\\style0\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper = eaf7ff\r\nVerilog\\style1\\color = 7f00\r\nVerilog\\style1\\eolfill = false\r\nVerilog\\style1\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper = eaf7ff\r\nVerilog\\style2\\color = 7f00\r\nVerilog\\style2\\eolfill = false\r\nVerilog\\style2\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper = eaf7ff\r\nVerilog\\style3\\color = 3f7f3f\r\nVerilog\\style3\\eolfill = true\r\nVerilog\\style3\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper = eaf7ff\r\nVerilog\\style4\\color = 7f7f\r\nVerilog\\style4\\eolfill = false\r\nVerilog\\style4\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper = eaf7ff\r\nVerilog\\style5\\color = 8000ff\r\nVerilog\\style5\\eolfill = false\r\nVerilog\\style5\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper = eaf7ff\r\nVerilog\\style6\\color = 7f007f\r\nVerilog\\style6\\eolfill = false\r\nVerilog\\style6\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper = eaf7ff\r\nVerilog\\style7\\color = 7f7f\r\nVerilog\\style7\\eolfill = false\r\nVerilog\\style7\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper = eaf7ff\r\nVerilog\\style8\\color = 804020\r\nVerilog\\style8\\eolfill = false\r\nVerilog\\style8\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style8\\paper = eaf7ff\r\nVerilog\\style9\\color = 7f7f00\r\nVerilog\\style9\\eolfill = false\r\nVerilog\\style9\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper = eaf7ff\r\nVerilog\\style10\\color = 7070\r\nVerilog\\style10\\eolfill = false\r\nVerilog\\style10\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper = eaf7ff\r\nVerilog\\style11\\color = 0\r\nVerilog\\style11\\eolfill = false\r\nVerilog\\style11\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper = eaf7ff\r\nVerilog\\style12\\color = 0\r\nVerilog\\style12\\eolfill = true\r\nVerilog\\style12\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper = eaf7ff\r\nVerilog\\style19\\color = 2a00ff\r\nVerilog\\style19\\eolfill = false\r\nVerilog\\style19\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper = eaf7ff\r\nVerilog\\style20\\color = 2a00ff\r\nVerilog\\style20\\eolfill = false\r\nVerilog\\style20\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style20\\paper = eaf7ff\r\nVerilog\\style21\\color = 7f0000\r\nVerilog\\style21\\eolfill = false\r\nVerilog\\style21\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style21\\paper = eaf7ff\r\nVerilog\\style22\\color = 8000ff\r\nVerilog\\style22\\eolfill = false\r\nVerilog\\style22\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style22\\paper = eaf7ff\r\nVerilog\\style23\\color = ff\r\nVerilog\\style23\\eolfill = false\r\nVerilog\\style23\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style23\\paper = eaf7ff\r\nVerilog\\style24\\color = 5032\r\nVerilog\\style24\\eolfill = false\r\nVerilog\\style24\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style24\\paper = eaf7ff\r\nVerilog\\style64\\color = 0\r\nVerilog\\style64\\eolfill = true\r\nVerilog\\style64\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style64\\paper = eaf7ff\r\nVerilog\\style65\\color = 808080\r\nVerilog\\style65\\eolfill = true\r\nVerilog\\style65\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style65\\paper = eaf7ff\r\nVerilog\\style66\\color = 808080\r\nVerilog\\style66\\eolfill = true\r\nVerilog\\style66\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style66\\paper = eaf7ff\r\nVerilog\\style67\\color = 808080\r\nVerilog\\style67\\eolfill = true\r\nVerilog\\style67\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style67\\paper = eaf7ff\r\nVerilog\\style68\\color = 808080\r\nVerilog\\style68\\eolfill = true\r\nVerilog\\style68\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style68\\paper = eaf7ff\r\nVerilog\\style69\\color = 808080\r\nVerilog\\style69\\eolfill = true\r\nVerilog\\style69\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style69\\paper = eaf7ff\r\nVerilog\\style70\\color = 808080\r\nVerilog\\style70\\eolfill = true\r\nVerilog\\style70\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style70\\paper = eaf7ff\r\nVerilog\\style71\\color = 808080\r\nVerilog\\style71\\eolfill = true\r\nVerilog\\style71\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style71\\paper = eaf7ff\r\nVerilog\\style72\\color = 808080\r\nVerilog\\style72\\eolfill = true\r\nVerilog\\style72\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style72\\paper = eaf7ff\r\nVerilog\\style73\\color = 808080\r\nVerilog\\style73\\eolfill = true\r\nVerilog\\style73\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style73\\paper = eaf7ff\r\nVerilog\\style74\\color = 808080\r\nVerilog\\style74\\eolfill = true\r\nVerilog\\style74\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style74\\paper = eaf7ff\r\nVerilog\\style75\\color = 808080\r\nVerilog\\style75\\eolfill = true\r\nVerilog\\style75\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style75\\paper = eaf7ff\r\nVerilog\\style76\\color = 808080\r\nVerilog\\style76\\eolfill = true\r\nVerilog\\style76\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style76\\paper = eaf7ff\r\nVerilog\\style83\\color = 808080\r\nVerilog\\style83\\eolfill = true\r\nVerilog\\style83\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style83\\paper = eaf7ff\r\nVerilog\\style84\\color = 808080\r\nVerilog\\style84\\eolfill = true\r\nVerilog\\style84\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style84\\paper = eaf7ff\r\nVerilog\\style85\\color = 808080\r\nVerilog\\style85\\eolfill = true\r\nVerilog\\style85\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style85\\paper = eaf7ff\r\nVerilog\\style86\\color = 808080\r\nVerilog\\style86\\eolfill = true\r\nVerilog\\style86\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style86\\paper = eaf7ff\r\nVerilog\\style87\\color = 808080\r\nVerilog\\style87\\eolfill = true\r\nVerilog\\style87\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style87\\paper = eaf7ff\r\nVerilog\\style88\\color = 808080\r\nVerilog\\style88\\eolfill = true\r\nVerilog\\style88\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style88\\paper = eaf7ff\r\nVerilog\\properties\\foldatelse = false\r\nVerilog\\properties\\foldcomments = false\r\nVerilog\\properties\\foldcompact = true\r\nVerilog\\properties\\foldpreprocessor = false\r\nVerilog\\properties\\foldverilogflags = false\r\nVerilog\\defaultcolor = 0\r\nVerilog\\defaultpaper = eaf7ff\r\nVerilog\\defaultfont = Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color = 800080\r\nVHDL\\style0\\eolfill = false\r\nVHDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper = eaf7ff\r\nVHDL\\style1\\color = 7f00\r\nVHDL\\style1\\eolfill = false\r\nVHDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper = eaf7ff\r\nVHDL\\style2\\color = 3f7f3f\r\nVHDL\\style2\\eolfill = false\r\nVHDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper = eaf7ff\r\nVHDL\\style3\\color = 7f7f\r\nVHDL\\style3\\eolfill = false\r\nVHDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper = eaf7ff\r\nVHDL\\style4\\color = 7f007f\r\nVHDL\\style4\\eolfill = false\r\nVHDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper = eaf7ff\r\nVHDL\\style5\\color = 0\r\nVHDL\\style5\\eolfill = false\r\nVHDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper = eaf7ff\r\nVHDL\\style6\\color = 0\r\nVHDL\\style6\\eolfill = false\r\nVHDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper = eaf7ff\r\nVHDL\\style7\\color = 0\r\nVHDL\\style7\\eolfill = true\r\nVHDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper = eaf7ff\r\nVHDL\\style8\\color = 8000ff\r\nVHDL\\style8\\eolfill = false\r\nVHDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper = eaf7ff\r\nVHDL\\style9\\color = 7f7f\r\nVHDL\\style9\\eolfill = false\r\nVHDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper = eaf7ff\r\nVHDL\\style10\\color = 804020\r\nVHDL\\style10\\eolfill = false\r\nVHDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper = eaf7ff\r\nVHDL\\style11\\color = 808020\r\nVHDL\\style11\\eolfill = false\r\nVHDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper = eaf7ff\r\nVHDL\\style12\\color = 208020\r\nVHDL\\style12\\eolfill = false\r\nVHDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper = eaf7ff\r\nVHDL\\style13\\color = 208080\r\nVHDL\\style13\\eolfill = false\r\nVHDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper = eaf7ff\r\nVHDL\\style14\\color = 804020\r\nVHDL\\style14\\eolfill = false\r\nVHDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper = eaf7ff\r\nVHDL\\style15\\color = 0\r\nVHDL\\style15\\eolfill = false\r\nVHDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style15\\paper = eaf7ff\r\nVHDL\\properties\\foldcomments = true\r\nVHDL\\properties\\foldcompact = true\r\nVHDL\\properties\\foldatelse = true\r\nVHDL\\properties\\foldatbegin = true\r\nVHDL\\properties\\foldatparenthesis = true\r\nVHDL\\defaultcolor = 0\r\nVHDL\\defaultpaper = eaf7ff\r\nVHDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color = 0\r\nXML\\style0\\eolfill = false\r\nXML\\style0\\font = Courier New, 13, 0, 0, 0\r\nXML\\style0\\paper = eaf7ff\r\nXML\\style1\\color = ff\r\nXML\\style1\\eolfill = false\r\nXML\\style1\\font = Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper = eaf7ff\r\nXML\\style2\\color = ff\r\nXML\\style2\\eolfill = false\r\nXML\\style2\\font = Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper = eaf7ff\r\nXML\\style3\\color = ff0000\r\nXML\\style3\\eolfill = false\r\nXML\\style3\\font = Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper = eaf7ff\r\nXML\\style4\\color = ff0000\r\nXML\\style4\\eolfill = false\r\nXML\\style4\\font = Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper = eaf7ff\r\nXML\\style5\\color = 7f7f\r\nXML\\style5\\eolfill = false\r\nXML\\style5\\font = Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper = eaf7ff\r\nXML\\style6\\color = 7f007f\r\nXML\\style6\\eolfill = false\r\nXML\\style6\\font = Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper = eaf7ff\r\nXML\\style7\\color = 7f007f\r\nXML\\style7\\eolfill = false\r\nXML\\style7\\font = Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper = eaf7ff\r\nXML\\style8\\color = 800080\r\nXML\\style8\\eolfill = false\r\nXML\\style8\\font = Courier New, 14, 0, 0, 0\r\nXML\\style8\\paper = eaf7ff\r\nXML\\style9\\color = 808000\r\nXML\\style9\\eolfill = false\r\nXML\\style9\\font = Courier New, 9, 0, 0, 0\r\nXML\\style9\\paper = eaf7ff\r\nXML\\style10\\color = 800080\r\nXML\\style10\\eolfill = false\r\nXML\\style10\\font = Courier New, 13, 0, 0, 0\r\nXML\\style10\\paper = eaf7ff\r\nXML\\style11\\color = ff\r\nXML\\style11\\eolfill = false\r\nXML\\style11\\font = Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper = eaf7ff\r\nXML\\style12\\color = 800080\r\nXML\\style12\\eolfill = false\r\nXML\\style12\\font = Courier New, 14, 1, 0, 0\r\nXML\\style12\\paper = eaf7ff\r\nXML\\style13\\color = 800080\r\nXML\\style13\\eolfill = false\r\nXML\\style13\\font = Courier New, 14, 1, 0, 0\r\nXML\\style13\\paper = eaf7ff\r\nXML\\style14\\color = ff\r\nXML\\style14\\eolfill = false\r\nXML\\style14\\font = Courier New, 14, 0, 0, 0\r\nXML\\style14\\paper = eaf7ff\r\nXML\\style15\\color = 0\r\nXML\\style15\\eolfill = false\r\nXML\\style15\\font = Courier New, 14, 0, 0, 0\r\nXML\\style15\\paper = eaf7ff\r\nXML\\style16\\color = 0\r\nXML\\style16\\eolfill = false\r\nXML\\style16\\font = Courier New, 14, 0, 0, 0\r\nXML\\style16\\paper = eaf7ff\r\nXML\\style17\\color = 800000\r\nXML\\style17\\eolfill = true\r\nXML\\style17\\font = Courier New, 13, 0, 0, 0\r\nXML\\style17\\paper = eaf7ff\r\nXML\\style18\\color = 800000\r\nXML\\style18\\eolfill = false\r\nXML\\style18\\font = Courier New, 14, 0, 0, 0\r\nXML\\style18\\paper = eaf7ff\r\nXML\\style19\\color = 608060\r\nXML\\style19\\eolfill = false\r\nXML\\style19\\font = Courier New, 14, 0, 0, 0\r\nXML\\style19\\paper = eaf7ff\r\nXML\\style20\\color = 0\r\nXML\\style20\\eolfill = false\r\nXML\\style20\\font = Courier New, 14, 0, 0, 0\r\nXML\\style20\\paper = eaf7ff\r\nXML\\style21\\color = ff\r\nXML\\style21\\eolfill = false\r\nXML\\style21\\font = Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper = eaf7ff\r\nXML\\style22\\color = ff\r\nXML\\style22\\eolfill = false\r\nXML\\style22\\font = Courier New, 14, 1, 0, 0\r\nXML\\style22\\paper = eaf7ff\r\nXML\\style23\\color = 6600\r\nXML\\style23\\eolfill = false\r\nXML\\style23\\font = Courier New, 14, 0, 0, 0\r\nXML\\style23\\paper = eaf7ff\r\nXML\\style24\\color = 800000\r\nXML\\style24\\eolfill = false\r\nXML\\style24\\font = Courier New, 14, 0, 0, 0\r\nXML\\style24\\paper = eaf7ff\r\nXML\\style25\\color = 993300\r\nXML\\style25\\eolfill = false\r\nXML\\style25\\font = Courier New, 14, 0, 0, 0\r\nXML\\style25\\paper = eaf7ff\r\nXML\\style26\\color = 800000\r\nXML\\style26\\eolfill = false\r\nXML\\style26\\font = Courier New, 14, 0, 0, 0\r\nXML\\style26\\paper = eaf7ff\r\nXML\\style27\\color = 3366ff\r\nXML\\style27\\eolfill = false\r\nXML\\style27\\font = Courier New, 14, 0, 0, 0\r\nXML\\style27\\paper = eaf7ff\r\nXML\\style29\\color = 808000\r\nXML\\style29\\eolfill = false\r\nXML\\style29\\font = Courier New, 14, 0, 0, 0\r\nXML\\style29\\paper = eaf7ff\r\nXML\\style30\\color = 0\r\nXML\\style30\\eolfill = false\r\nXML\\style30\\font = Courier New, 14, 0, 0, 0\r\nXML\\style30\\paper = eaf7ff\r\nXML\\style31\\color = 66\r\nXML\\style31\\eolfill = false\r\nXML\\style31\\font = Courier New, 14, 0, 0, 0\r\nXML\\style31\\paper = eaf7ff\r\nXML\\style40\\color = 7f7f00\r\nXML\\style40\\eolfill = false\r\nXML\\style40\\font = Courier New, 14, 0, 0, 0\r\nXML\\style40\\paper = eaf7ff\r\nXML\\style41\\color = 0\r\nXML\\style41\\eolfill = true\r\nXML\\style41\\font = Courier New, 14, 1, 0, 0\r\nXML\\style41\\paper = eaf7ff\r\nXML\\style42\\color = 7f00\r\nXML\\style42\\eolfill = true\r\nXML\\style42\\font = Courier New, 14, 0, 0, 0\r\nXML\\style42\\paper = eaf7ff\r\nXML\\style43\\color = 7f00\r\nXML\\style43\\eolfill = false\r\nXML\\style43\\font = Courier New, 14, 0, 0, 0\r\nXML\\style43\\paper = eaf7ff\r\nXML\\style44\\color = 3f703f\r\nXML\\style44\\eolfill = true\r\nXML\\style44\\font = Courier New, 14, 1, 0, 0\r\nXML\\style44\\paper = eaf7ff\r\nXML\\style45\\color = 7f7f\r\nXML\\style45\\eolfill = false\r\nXML\\style45\\font = Courier New, 14, 0, 0, 0\r\nXML\\style45\\paper = eaf7ff\r\nXML\\style46\\color = 0\r\nXML\\style46\\eolfill = false\r\nXML\\style46\\font = Courier New, 14, 0, 0, 0\r\nXML\\style46\\paper = eaf7ff\r\nXML\\style47\\color = 8000ff\r\nXML\\style47\\eolfill = false\r\nXML\\style47\\font = Courier New, 14, 1, 0, 0\r\nXML\\style47\\paper = eaf7ff\r\nXML\\style48\\color = 7f007f\r\nXML\\style48\\eolfill = false\r\nXML\\style48\\font = Courier New, 14, 0, 0, 0\r\nXML\\style48\\paper = eaf7ff\r\nXML\\style49\\color = 7f007f\r\nXML\\style49\\eolfill = false\r\nXML\\style49\\font = Courier New, 14, 0, 0, 0\r\nXML\\style49\\paper = eaf7ff\r\nXML\\style50\\color = 0\r\nXML\\style50\\eolfill = false\r\nXML\\style50\\font = Courier New, 14, 1, 0, 0\r\nXML\\style50\\paper = eaf7ff\r\nXML\\style51\\color = 0\r\nXML\\style51\\eolfill = true\r\nXML\\style51\\font = Courier New, 14, 0, 0, 0\r\nXML\\style51\\paper = eaf7ff\r\nXML\\style52\\color = 0\r\nXML\\style52\\eolfill = false\r\nXML\\style52\\font = Courier New, 14, 0, 0, 0\r\nXML\\style52\\paper = eaf7ff\r\nXML\\style55\\color = 7f7f00\r\nXML\\style55\\eolfill = false\r\nXML\\style55\\font = Courier New, 14, 0, 0, 0\r\nXML\\style55\\paper = eaf7ff\r\nXML\\style56\\color = 0\r\nXML\\style56\\eolfill = true\r\nXML\\style56\\font = Courier New, 14, 1, 0, 0\r\nXML\\style56\\paper = eaf7ff\r\nXML\\style57\\color = 7f00\r\nXML\\style57\\eolfill = true\r\nXML\\style57\\font = Courier New, 14, 0, 0, 0\r\nXML\\style57\\paper = eaf7ff\r\nXML\\style58\\color = 7f00\r\nXML\\style58\\eolfill = false\r\nXML\\style58\\font = Courier New, 14, 0, 0, 0\r\nXML\\style58\\paper = eaf7ff\r\nXML\\style59\\color = 7f7f7f\r\nXML\\style59\\eolfill = true\r\nXML\\style59\\font = Courier New, 14, 1, 0, 0\r\nXML\\style59\\paper = eaf7ff\r\nXML\\style60\\color = 7f7f\r\nXML\\style60\\eolfill = false\r\nXML\\style60\\font = Courier New, 14, 0, 0, 0\r\nXML\\style60\\paper = eaf7ff\r\nXML\\style61\\color = 0\r\nXML\\style61\\eolfill = false\r\nXML\\style61\\font = Courier New, 14, 0, 0, 0\r\nXML\\style61\\paper = eaf7ff\r\nXML\\style62\\color = 8000ff\r\nXML\\style62\\eolfill = false\r\nXML\\style62\\font = Courier New, 14, 1, 0, 0\r\nXML\\style62\\paper = eaf7ff\r\nXML\\style63\\color = 7f007f\r\nXML\\style63\\eolfill = false\r\nXML\\style63\\font = Courier New, 14, 0, 0, 0\r\nXML\\style63\\paper = eaf7ff\r\nXML\\style64\\color = 7f007f\r\nXML\\style64\\eolfill = false\r\nXML\\style64\\font = Courier New, 14, 0, 0, 0\r\nXML\\style64\\paper = eaf7ff\r\nXML\\style65\\color = 0\r\nXML\\style65\\eolfill = false\r\nXML\\style65\\font = Courier New, 14, 1, 0, 0\r\nXML\\style65\\paper = eaf7ff\r\nXML\\style66\\color = 0\r\nXML\\style66\\eolfill = true\r\nXML\\style66\\font = Courier New, 14, 0, 0, 0\r\nXML\\style66\\paper = eaf7ff\r\nXML\\style67\\color = 0\r\nXML\\style67\\eolfill = false\r\nXML\\style67\\font = Courier New, 14, 0, 0, 0\r\nXML\\style67\\paper = eaf7ff\r\nXML\\style70\\color = 0\r\nXML\\style70\\eolfill = false\r\nXML\\style70\\font = Courier New, 14, 0, 0, 0\r\nXML\\style70\\paper = eaf7ff\r\nXML\\style71\\color = 0\r\nXML\\style71\\eolfill = true\r\nXML\\style71\\font = Courier New, 14, 0, 0, 0\r\nXML\\style71\\paper = eaf7ff\r\nXML\\style72\\color = 8000\r\nXML\\style72\\eolfill = true\r\nXML\\style72\\font = Courier New, 14, 0, 0, 0\r\nXML\\style72\\paper = eaf7ff\r\nXML\\style73\\color = ff0000\r\nXML\\style73\\eolfill = true\r\nXML\\style73\\font = Courier New, 14, 0, 0, 0\r\nXML\\style73\\paper = eaf7ff\r\nXML\\style74\\color = ff\r\nXML\\style74\\eolfill = true\r\nXML\\style74\\font = Courier New, 14, 0, 0, 0\r\nXML\\style74\\paper = eaf7ff\r\nXML\\style75\\color = 800080\r\nXML\\style75\\eolfill = true\r\nXML\\style75\\font = Courier New, 14, 0, 0, 0\r\nXML\\style75\\paper = eaf7ff\r\nXML\\style76\\color = ff\r\nXML\\style76\\eolfill = true\r\nXML\\style76\\font = Courier New, 14, 0, 0, 0\r\nXML\\style76\\paper = eaf7ff\r\nXML\\style77\\color = ff\r\nXML\\style77\\eolfill = true\r\nXML\\style77\\font = Courier New, 14, 0, 0, 0\r\nXML\\style77\\paper = eaf7ff\r\nXML\\style80\\color = 0\r\nXML\\style80\\eolfill = false\r\nXML\\style80\\font = Courier New, 14, 0, 0, 0\r\nXML\\style80\\paper = eaf7ff\r\nXML\\style81\\color = 0\r\nXML\\style81\\eolfill = true\r\nXML\\style81\\font = Courier New, 14, 0, 0, 0\r\nXML\\style81\\paper = eaf7ff\r\nXML\\style82\\color = 8000\r\nXML\\style82\\eolfill = true\r\nXML\\style82\\font = Courier New, 14, 0, 0, 0\r\nXML\\style82\\paper = eaf7ff\r\nXML\\style83\\color = ff0000\r\nXML\\style83\\eolfill = true\r\nXML\\style83\\font = Courier New, 14, 0, 0, 0\r\nXML\\style83\\paper = eaf7ff\r\nXML\\style84\\color = ff\r\nXML\\style84\\eolfill = true\r\nXML\\style84\\font = Courier New, 14, 0, 0, 0\r\nXML\\style84\\paper = eaf7ff\r\nXML\\style85\\color = 800080\r\nXML\\style85\\eolfill = true\r\nXML\\style85\\font = Courier New, 14, 0, 0, 0\r\nXML\\style85\\paper = eaf7ff\r\nXML\\style86\\color = ff\r\nXML\\style86\\eolfill = true\r\nXML\\style86\\font = Courier New, 14, 0, 0, 0\r\nXML\\style86\\paper = eaf7ff\r\nXML\\style87\\color = ff\r\nXML\\style87\\eolfill = true\r\nXML\\style87\\font = Courier New, 14, 0, 0, 0\r\nXML\\style87\\paper = eaf7ff\r\nXML\\style90\\color = 808080\r\nXML\\style90\\eolfill = false\r\nXML\\style90\\font = Courier New, 14, 0, 0, 0\r\nXML\\style90\\paper = eaf7ff\r\nXML\\style91\\color = 808080\r\nXML\\style91\\eolfill = true\r\nXML\\style91\\font = Courier New, 14, 0, 0, 0\r\nXML\\style91\\paper = eaf7ff\r\nXML\\style92\\color = 7f00\r\nXML\\style92\\eolfill = true\r\nXML\\style92\\font = Courier New, 14, 0, 0, 0\r\nXML\\style92\\paper = eaf7ff\r\nXML\\style93\\color = 7f7f\r\nXML\\style93\\eolfill = true\r\nXML\\style93\\font = Courier New, 14, 0, 0, 0\r\nXML\\style93\\paper = eaf7ff\r\nXML\\style94\\color = 7f007f\r\nXML\\style94\\eolfill = true\r\nXML\\style94\\font = Courier New, 14, 0, 0, 0\r\nXML\\style94\\paper = eaf7ff\r\nXML\\style95\\color = 7f007f\r\nXML\\style95\\eolfill = true\r\nXML\\style95\\font = Courier New, 14, 0, 0, 0\r\nXML\\style95\\paper = eaf7ff\r\nXML\\style96\\color = 8000ff\r\nXML\\style96\\eolfill = true\r\nXML\\style96\\font = Courier New, 14, 1, 0, 0\r\nXML\\style96\\paper = eaf7ff\r\nXML\\style97\\color = 7f0000\r\nXML\\style97\\eolfill = true\r\nXML\\style97\\font = Courier New, 14, 0, 0, 0\r\nXML\\style97\\paper = eaf7ff\r\nXML\\style98\\color = 7f0000\r\nXML\\style98\\eolfill = true\r\nXML\\style98\\font = Courier New, 14, 0, 0, 0\r\nXML\\style98\\paper = eaf7ff\r\nXML\\style99\\color = ff\r\nXML\\style99\\eolfill = true\r\nXML\\style99\\font = Courier New, 14, 1, 0, 0\r\nXML\\style99\\paper = eaf7ff\r\nXML\\style100\\color = 7f7f\r\nXML\\style100\\eolfill = true\r\nXML\\style100\\font = Courier New, 14, 1, 0, 0\r\nXML\\style100\\paper = eaf7ff\r\nXML\\style101\\color = 0\r\nXML\\style101\\eolfill = true\r\nXML\\style101\\font = Courier New, 14, 1, 0, 0\r\nXML\\style101\\paper = eaf7ff\r\nXML\\style102\\color = 0\r\nXML\\style102\\eolfill = true\r\nXML\\style102\\font = Courier New, 14, 0, 0, 0\r\nXML\\style102\\paper = eaf7ff\r\nXML\\style105\\color = 808080\r\nXML\\style105\\eolfill = false\r\nXML\\style105\\font = Courier New, 14, 0, 0, 0\r\nXML\\style105\\paper = eaf7ff\r\nXML\\style106\\color = 808080\r\nXML\\style106\\eolfill = true\r\nXML\\style106\\font = Courier New, 14, 0, 0, 0\r\nXML\\style106\\paper = eaf7ff\r\nXML\\style107\\color = 7f00\r\nXML\\style107\\eolfill = true\r\nXML\\style107\\font = Courier New, 14, 0, 0, 0\r\nXML\\style107\\paper = eaf7ff\r\nXML\\style108\\color = 7f7f\r\nXML\\style108\\eolfill = true\r\nXML\\style108\\font = Courier New, 14, 0, 0, 0\r\nXML\\style108\\paper = eaf7ff\r\nXML\\style109\\color = 7f007f\r\nXML\\style109\\eolfill = true\r\nXML\\style109\\font = Courier New, 14, 0, 0, 0\r\nXML\\style109\\paper = eaf7ff\r\nXML\\style110\\color = 7f007f\r\nXML\\style110\\eolfill = true\r\nXML\\style110\\font = Courier New, 14, 0, 0, 0\r\nXML\\style110\\paper = eaf7ff\r\nXML\\style111\\color = 8000ff\r\nXML\\style111\\eolfill = true\r\nXML\\style111\\font = Courier New, 14, 1, 0, 0\r\nXML\\style111\\paper = eaf7ff\r\nXML\\style112\\color = 7f0000\r\nXML\\style112\\eolfill = true\r\nXML\\style112\\font = Courier New, 14, 0, 0, 0\r\nXML\\style112\\paper = eaf7ff\r\nXML\\style113\\color = 7f0000\r\nXML\\style113\\eolfill = true\r\nXML\\style113\\font = Courier New, 14, 0, 0, 0\r\nXML\\style113\\paper = eaf7ff\r\nXML\\style114\\color = ff\r\nXML\\style114\\eolfill = true\r\nXML\\style114\\font = Courier New, 14, 1, 0, 0\r\nXML\\style114\\paper = eaf7ff\r\nXML\\style115\\color = 7f7f\r\nXML\\style115\\eolfill = true\r\nXML\\style115\\font = Courier New, 14, 1, 0, 0\r\nXML\\style115\\paper = eaf7ff\r\nXML\\style116\\color = 0\r\nXML\\style116\\eolfill = true\r\nXML\\style116\\font = Courier New, 14, 1, 0, 0\r\nXML\\style116\\paper = eaf7ff\r\nXML\\style117\\color = 0\r\nXML\\style117\\eolfill = true\r\nXML\\style117\\font = Courier New, 14, 0, 0, 0\r\nXML\\style117\\paper = eaf7ff\r\nXML\\style118\\color = 33\r\nXML\\style118\\eolfill = true\r\nXML\\style118\\font = Courier New, 14, 0, 0, 0\r\nXML\\style118\\paper = eaf7ff\r\nXML\\style119\\color = 7f00\r\nXML\\style119\\eolfill = false\r\nXML\\style119\\font = Courier New, 14, 0, 0, 0\r\nXML\\style119\\paper = eaf7ff\r\nXML\\style120\\color = 9f00\r\nXML\\style120\\eolfill = false\r\nXML\\style120\\font = Courier New, 14, 0, 0, 0\r\nXML\\style120\\paper = eaf7ff\r\nXML\\style121\\color = 7f007f\r\nXML\\style121\\eolfill = false\r\nXML\\style121\\font = Courier New, 14, 0, 1, 0\r\nXML\\style121\\paper = eaf7ff\r\nXML\\style122\\color = cc9900\r\nXML\\style122\\eolfill = false\r\nXML\\style122\\font = Courier New, 14, 0, 0, 0\r\nXML\\style122\\paper = eaf7ff\r\nXML\\style123\\color = 8000ff\r\nXML\\style123\\eolfill = false\r\nXML\\style123\\font = Courier New, 14, 0, 1, 0\r\nXML\\style123\\paper = eaf7ff\r\nXML\\style124\\color = 999999\r\nXML\\style124\\eolfill = false\r\nXML\\style124\\font = Courier New, 14, 0, 0, 0\r\nXML\\style124\\paper = eaf7ff\r\nXML\\style125\\color = 666666\r\nXML\\style125\\eolfill = false\r\nXML\\style125\\font = Courier New, 14, 0, 1, 0\r\nXML\\style125\\paper = eaf7ff\r\nXML\\style126\\color = 8000ff\r\nXML\\style126\\eolfill = false\r\nXML\\style126\\font = Courier New, 14, 0, 1, 0\r\nXML\\style126\\paper = eaf7ff\r\nXML\\style127\\color = 0\r\nXML\\style127\\eolfill = false\r\nXML\\style127\\font = Courier New, 14, 0, 0, 0\r\nXML\\style127\\paper = eaf7ff\r\nXML\\properties\\foldcompact = true\r\nXML\\properties\\foldpreprocessor = true\r\nXML\\properties\\casesensitivetags = false\r\nXML\\properties\\foldscriptcomments = false\r\nXML\\properties\\foldscriptheredocs = false\r\nXML\\properties\\djangotemplates = false\r\nXML\\properties\\makotemplates = false\r\nXML\\properties\\scriptsstyled = true\r\nXML\\defaultcolor = 0\r\nXML\\defaultpaper = eaf7ff\r\nXML\\defaultfont = Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Blue light/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color = 0\r\nYAML\\style0\\eolfill = false\r\nYAML\\style0\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style0\\paper = eaf7ff\r\nYAML\\style1\\color = 8800\r\nYAML\\style1\\eolfill = false\r\nYAML\\style1\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style1\\paper = eaf7ff\r\nYAML\\style2\\color = 88\r\nYAML\\style2\\eolfill = false\r\nYAML\\style2\\font = Courier New, 14, 1, 0, 0\r\nYAML\\style2\\paper = eaf7ff\r\nYAML\\style3\\color = 880088\r\nYAML\\style3\\eolfill = false\r\nYAML\\style3\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style3\\paper = eaf7ff\r\nYAML\\style4\\color = 880000\r\nYAML\\style4\\eolfill = false\r\nYAML\\style4\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style4\\paper = eaf7ff\r\nYAML\\style5\\color = 8888\r\nYAML\\style5\\eolfill = false\r\nYAML\\style5\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style5\\paper = eaf7ff\r\nYAML\\style6\\color = ffffff\r\nYAML\\style6\\eolfill = true\r\nYAML\\style6\\font = Courier New, 9, 1, 0, 0\r\nYAML\\style6\\paper = eaf7ff\r\nYAML\\style7\\color = 333366\r\nYAML\\style7\\eolfill = false\r\nYAML\\style7\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style7\\paper = eaf7ff\r\nYAML\\style8\\color = ffffff\r\nYAML\\style8\\eolfill = true\r\nYAML\\style8\\font = Courier New, 11, 1, 1, 0\r\nYAML\\style8\\paper = eaf7ff\r\nYAML\\style9\\color = 0\r\nYAML\\style9\\eolfill = false\r\nYAML\\style9\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style9\\paper = eaf7ff\r\nYAML\\properties\\foldcomments = false\r\nYAML\\defaultcolor = 0\r\nYAML\\defaultpaper = eaf7ff\r\nYAML\\defaultfont = Courier New, 14, 0, 0, 0\r\nYAML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/Choco/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=C3BE98\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=1A0F0B\r\nGlobal\\style1\\color=C3BE98\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=1A0F0B\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=1A0F0B\r\nGlobal\\style3\\color=FCE94F\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=1A0F0B\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=1A0F0B\r\nGlobal\\style5\\color=0080C0\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=281711\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=372017\r\nGlobal\\style7\\color=A7A7A7\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=112435\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style8\\paper=F3F3F3\r\nGlobal\\style9\\color=EEEEEC\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper=2E3436\r\nGlobal\\style10\\color=C3BE98\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=2E3436\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=1A0F0B\r\nGlobal\\style13\\color=555753\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E3436\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=FF0000\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=CC0000\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=EDD400\r\nGlobal\\style17\\color=80D4B2\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=3FBA89\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=101010\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=808080\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=FAAA3C\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=972FFF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=1A0F0B\r\nGlobal\\defaultcolor=C3BE98\r\nGlobal\\defaultpaper=1A0F0B\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=C3BE98\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=1A0F0B\r\nHTML\\style15\\color=C3BE98\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=1A0F0B\r\nHTML\\style16\\color=C3BE98\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=1A0F0B\r\nHTML\\style81\\color=C3BE98\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=1A0F0B\r\nHTML\\style82\\color=679D47\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=1A0F0B\r\nHTML\\style83\\color=DA5659\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=1A0F0B\r\nHTML\\style84\\color=B3935C\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=1A0F0B\r\nHTML\\style85\\color=7CA563\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=1A0F0B\r\nHTML\\style86\\color=D77261\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=1A0F0B\r\nHTML\\style87\\color=7CA563\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=1A0F0B\r\nHTML\\defaultcolor=C3BE98\r\nHTML\\defaultpaper=1A0F0B\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=C3BE98\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=1A0F0B\r\nBash\\style1\\color=C3BE98\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=1A0F0B\r\nBash\\style2\\color=679D47\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=1A0F0B\r\nBash\\style3\\color=DA5659\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=1A0F0B\r\nBash\\style4\\color=F1E694\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=1A0F0B\r\nBash\\style5\\color=7CA563\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=1A0F0B\r\nBash\\style6\\color=7CA563\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=1A0F0B\r\nBash\\style7\\color=B3935C\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=1A0F0B\r\nBash\\style8\\color=D77261\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=1A0F0B\r\nBash\\style9\\color=C3BE98\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=1A0F0B\r\nBash\\style10\\color=C3BE98\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=1A0F0B\r\nBash\\style11\\color=C3BE98\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=1A0F0B\r\nBash\\style12\\color=C3BE98\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=1A0F0B\r\nBash\\style13\\color=C3BE98\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=1A0F0B\r\nBash\\defaultcolor=C3BE98\r\nBash\\defaultpaper=1A0F0B\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=C3BE98\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=1A0F0B\r\nBatch\\style1\\color=679D47\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=1A0F0B\r\nBatch\\style2\\color=B3935C\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=1A0F0B\r\nBatch\\style3\\color=6D4C2F\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=1A0F0B\r\nBatch\\style4\\color=B3935C\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=1A0F0B\r\nBatch\\style5\\color=D77261\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=1A0F0B\r\nBatch\\style6\\color=7989A6\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=1A0F0B\r\nBatch\\style7\\color=B3935C\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=1A0F0B\r\nBatch\\defaultcolor=C3BE98\r\nBatch\\defaultpaper=1A0F0B\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C3BE98\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=1A0F0B\r\nC%2B%2B\\style1\\color=679D47\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=1A0F0B\r\nC%2B%2B\\style2\\color=679D47\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=1A0F0B\r\nC%2B%2B\\style3\\color=679D47\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=1A0F0B\r\nC%2B%2B\\style4\\color=DA5659\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=1A0F0B\r\nC%2B%2B\\style5\\color=F1E694\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=1A0F0B\r\nC%2B%2B\\style6\\color=7CA563\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=1A0F0B\r\nC%2B%2B\\style7\\color=7CA563\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=1A0F0B\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=1A0F0B\r\nC%2B%2B\\style10\\color=B3935C\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=1A0F0B\r\nC%2B%2B\\style11\\color=C3BE98\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=1A0F0B\r\nC%2B%2B\\style13\\color=DA5659\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=1A0F0B\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=1A0F0B\r\nC%2B%2B\\style15\\color=679D47\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=1A0F0B\r\nC%2B%2B\\style16\\color=B3935C\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=1A0F0B\r\nC%2B%2B\\style17\\color=679D47\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=1A0F0B\r\nC%2B%2B\\style18\\color=679D47\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=1A0F0B\r\nC%2B%2B\\defaultcolor=C3BE98\r\nC%2B%2B\\defaultpaper=1A0F0B\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=C3BE98\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=1A0F0B\r\nCMake\\style1\\color=679D47\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=1A0F0B\r\nCMake\\style2\\color=7CA563\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=1A0F0B\r\nCMake\\style3\\color=7CA563\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=1A0F0B\r\nCMake\\style4\\color=7CA563\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=1A0F0B\r\nCMake\\style5\\color=D77261\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=1A0F0B\r\nCMake\\style6\\color=C3BE98\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=1A0F0B\r\nCMake\\style7\\color=7989A6\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=1A0F0B\r\nCMake\\style8\\color=C3BE98\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=1A0F0B\r\nCMake\\style9\\color=C3BE98\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=1A0F0B\r\nCMake\\style10\\color=C3BE98\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=1A0F0B\r\nCMake\\style11\\color=C3BE98\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=1A0F0B\r\nCMake\\style12\\color=C3BE98\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=1A0F0B\r\nCMake\\style13\\color=7CA563\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=1A0F0B\r\nCMake\\style14\\color=DA5659\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=1A0F0B\r\nCMake\\defaultcolor=C3BE98\r\nCMake\\defaultpaper=1A0F0B\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C3BE98\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=1A0F0B\r\nC%2B%2B\\style1\\color=679D47\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=1A0F0B\r\nC%2B%2B\\style2\\color=679D47\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=1A0F0B\r\nC%2B%2B\\style3\\color=679D47\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=1A0F0B\r\nC%2B%2B\\style4\\color=DA5659\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=1A0F0B\r\nC%2B%2B\\style5\\color=F1E694\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=1A0F0B\r\nC%2B%2B\\style6\\color=7CA563\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=1A0F0B\r\nC%2B%2B\\style7\\color=7CA563\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=1A0F0B\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=1A0F0B\r\nC%2B%2B\\style10\\color=B3935C\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=1A0F0B\r\nC%2B%2B\\style11\\color=C3BE98\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=1A0F0B\r\nC%2B%2B\\style13\\color=DA5659\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=1A0F0B\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=1A0F0B\r\nC%2B%2B\\style15\\color=679D47\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=1A0F0B\r\nC%2B%2B\\style16\\color=B3935C\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=1A0F0B\r\nC%2B%2B\\style17\\color=679D47\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=1A0F0B\r\nC%2B%2B\\style18\\color=679D47\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=1A0F0B\r\nC%2B%2B\\defaultcolor=C3BE98\r\nC%2B%2B\\defaultpaper=1A0F0B\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=C3BE98\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=1A0F0B\r\nC%23\\style1\\color=679D47\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=1A0F0B\r\nC%23\\style2\\color=679D47\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=1A0F0B\r\nC%23\\style3\\color=679D47\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=1A0F0B\r\nC%23\\style4\\color=DA5659\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=1A0F0B\r\nC%23\\style5\\color=F1E694\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=1A0F0B\r\nC%23\\style6\\color=7CA563\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=1A0F0B\r\nC%23\\style7\\color=7CA563\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=1A0F0B\r\nC%23\\style9\\color=8996A8\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=1A0F0B\r\nC%23\\style10\\color=B3935C\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=1A0F0B\r\nC%23\\style11\\color=C3BE98\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=1A0F0B\r\nC%23\\style13\\color=DA5659\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=1A0F0B\r\nC%23\\style14\\color=E9C062\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=1A0F0B\r\nC%23\\style15\\color=679D47\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=1A0F0B\r\nC%23\\style16\\color=B3935C\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=1A0F0B\r\nC%23\\style17\\color=679D47\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=1A0F0B\r\nC%23\\style18\\color=679D47\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=1A0F0B\r\nC%23\\defaultcolor=C3BE98\r\nC%23\\defaultpaper=1A0F0B\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=C3BE98\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=1A0F0B\r\nCSS\\style1\\color=6D4C2F\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=1A0F0B\r\nCSS\\style2\\color=6D4C2F\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=1A0F0B\r\nCSS\\style3\\color=6D4C2F\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=1A0F0B\r\nCSS\\style4\\color=6D4C2F\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=1A0F0B\r\nCSS\\style5\\color=B3935C\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=1A0F0B\r\nCSS\\style6\\color=D77261\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=1A0F0B\r\nCSS\\style7\\color=D77261\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=1A0F0B\r\nCSS\\style8\\color=DA5659\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=1A0F0B\r\nCSS\\style9\\color=679D47\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=1A0F0B\r\nCSS\\style10\\color=6D4C2F\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=1A0F0B\r\nCSS\\style11\\color=B3935C\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=1A0F0B\r\nCSS\\style12\\color=B3935C\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=1A0F0B\r\nCSS\\defaultcolor=C3BE98\r\nCSS\\defaultpaper=1A0F0B\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=C3BE98\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=1A0F0B\r\nDiff\\style1\\color=679D47\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=1A0F0B\r\nDiff\\style2\\color=D77261\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=1A0F0B\r\nDiff\\style3\\color=C3BE98\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=1A0F0B\r\nDiff\\style4\\color=C3BE98\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=1A0F0B\r\nDiff\\style5\\color=C3BE98\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=1A0F0B\r\nDiff\\style6\\color=C3BE98\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=1A0F0B\r\nDiff\\defaultcolor=C3BE98\r\nDiff\\defaultpaper=1A0F0B\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=C3BE98\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=1A0F0B\r\nFortran\\style1\\color=679D47\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=1A0F0B\r\nFortran\\style2\\color=DA5659\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=1A0F0B\r\nFortran\\style3\\color=7CA563\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=1A0F0B\r\nFortran\\style4\\color=7CA563\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=1A0F0B\r\nFortran\\style5\\color=7CA563\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=1A0F0B\r\nFortran\\style6\\color=B3935C\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=1A0F0B\r\nFortran\\style7\\color=D77261\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=1A0F0B\r\nFortran\\style8\\color=F1E694\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=1A0F0B\r\nFortran\\style9\\color=C3BE98\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=1A0F0B\r\nFortran\\style10\\color=C3BE98\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=1A0F0B\r\nFortran\\style11\\color=8996A8\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=1A0F0B\r\nFortran\\style12\\color=C3BE98\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=1A0F0B\r\nFortran\\style13\\color=6D4C2F\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=1A0F0B\r\nFortran\\style14\\color=C3BE98\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=1A0F0B\r\nFortran\\defaultcolor=C3BE98\r\nFortran\\defaultpaper=1A0F0B\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=C3BE98\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=1A0F0B\r\nFortran77\\style1\\color=679D47\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=1A0F0B\r\nFortran77\\style2\\color=DA5659\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=1A0F0B\r\nFortran77\\style3\\color=7CA563\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=1A0F0B\r\nFortran77\\style4\\color=7CA563\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=1A0F0B\r\nFortran77\\style5\\color=7CA563\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=1A0F0B\r\nFortran77\\style6\\color=B3935C\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=1A0F0B\r\nFortran77\\style7\\color=D77261\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=1A0F0B\r\nFortran77\\style8\\color=F1E694\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=1A0F0B\r\nFortran77\\style9\\color=C3BE98\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=1A0F0B\r\nFortran77\\style10\\color=C3BE98\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=1A0F0B\r\nFortran77\\style11\\color=8996A8\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=1A0F0B\r\nFortran77\\style12\\color=C3BE98\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=1A0F0B\r\nFortran77\\style13\\color=6D4C2F\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=1A0F0B\r\nFortran77\\style14\\color=C3BE98\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=1A0F0B\r\nFortran77\\defaultcolor=C3BE98\r\nFortran77\\defaultpaper=1A0F0B\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=C3BE98\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=1A0F0B\r\nHTML\\style1\\color=6D4C2F\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=1A0F0B\r\nHTML\\style2\\color=6D4C2F\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=1A0F0B\r\nHTML\\style3\\color=6D4C2F\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=1A0F0B\r\nHTML\\style4\\color=6D4C2F\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=1A0F0B\r\nHTML\\style5\\color=DA5659\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=1A0F0B\r\nHTML\\style6\\color=7CA563\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=1A0F0B\r\nHTML\\style7\\color=7CA563\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=1A0F0B\r\nHTML\\style9\\color=679D47\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=1A0F0B\r\nHTML\\style10\\color=DA5659\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=1A0F0B\r\nHTML\\style11\\color=6D4C2F\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=1A0F0B\r\nHTML\\style17\\color=DA5659\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=1A0F0B\r\nHTML\\style19\\color=DA5659\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=1A0F0B\r\nHTML\\style21\\color=7CA563\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=1A0F0B\r\nHTML\\defaultcolor=C3BE98\r\nHTML\\defaultpaper=1A0F0B\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=C3BE98\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=1A0F0B\r\nProperties\\style1\\color=679D47\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=1A0F0B\r\nProperties\\style2\\color=6D4C2F\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=1A0F0B\r\nProperties\\style3\\color=B3935C\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=1A0F0B\r\nProperties\\style4\\color=6D4C2F\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=1A0F0B\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=1A0F0B\r\nProperties\\defaultcolor=C3BE98\r\nProperties\\defaultpaper=1A0F0B\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=C3BE98\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=1A0F0B\r\nJava\\style1\\color=679D47\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=1A0F0B\r\nJava\\style2\\color=679D47\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=1A0F0B\r\nJava\\style3\\color=679D47\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=1A0F0B\r\nJava\\style4\\color=DA5659\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=1A0F0B\r\nJava\\style5\\color=F1E694\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=1A0F0B\r\nJava\\style6\\color=7CA563\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=1A0F0B\r\nJava\\style7\\color=7CA563\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=1A0F0B\r\nJava\\style10\\color=B3935C\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=1A0F0B\r\nJava\\style11\\color=C3BE98\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=1A0F0B\r\nJava\\style13\\color=DA5659\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=1A0F0B\r\nJava\\style14\\color=E9C062\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=1A0F0B\r\nJava\\style15\\color=679D47\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=1A0F0B\r\nJava\\style16\\color=B3935C\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=1A0F0B\r\nJava\\style17\\color=679D47\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=1A0F0B\r\nJava\\style18\\color=679D47\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=1A0F0B\r\nJava\\defaultcolor=C3BE98\r\nJava\\defaultpaper=1A0F0B\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=C3BE98\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=1A0F0B\r\nJavaScript\\style20\\color=7CA563\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=1A0F0B\r\nJavaScript\\style41\\color=C3BE98\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=1A0F0B\r\nJavaScript\\style42\\color=679D47\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=1A0F0B\r\nJavaScript\\style43\\color=679D47\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=1A0F0B\r\nJavaScript\\style44\\color=679D47\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=1A0F0B\r\nJavaScript\\style45\\color=DA5659\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=1A0F0B\r\nJavaScript\\style46\\color=C3BE98\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=1A0F0B\r\nJavaScript\\style47\\color=B3935C\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=1A0F0B\r\nJavaScript\\style48\\color=7CA563\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=1A0F0B\r\nJavaScript\\style49\\color=7CA563\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=1A0F0B\r\nJavaScript\\style50\\color=C3BE98\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=1A0F0B\r\nJavaScript\\style51\\color=7CA563\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=1A0F0B\r\nJavaScript\\style52\\color=E9C062\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=1A0F0B\r\nJavaScript\\defaultcolor=C3BE98\r\nJavaScript\\defaultpaper=1A0F0B\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=C3BE98\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=1A0F0B\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=1A0F0B\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=1A0F0B\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=1A0F0B\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=1A0F0B\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=1A0F0B\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=1A0F0B\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=1A0F0B\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=1A0F0B\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=1A0F0B\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=1A0F0B\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=1A0F0B\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=1A0F0B\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=C3BE98\r\nJSON\\defaultpaper=1A0F0B\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=C3BE98\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=1A0F0B\r\nLua\\style1\\color=679D47\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=1A0F0B\r\nLua\\style2\\color=679D47\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=1A0F0B\r\nLua\\style3\\color=679D47\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=1A0F0B\r\nLua\\style4\\color=DA5659\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=1A0F0B\r\nLua\\style5\\color=F1E694\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=1A0F0B\r\nLua\\style6\\color=7CA563\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=1A0F0B\r\nLua\\style7\\color=7CA563\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=1A0F0B\r\nLua\\style8\\color=7CA563\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=1A0F0B\r\nLua\\style9\\color=8996A8\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=1A0F0B\r\nLua\\style10\\color=B3935C\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=1A0F0B\r\nLua\\style13\\color=C3BE98\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=1A0F0B\r\nLua\\style14\\color=C3BE98\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=1A0F0B\r\nLua\\style15\\color=C3BE98\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=1A0F0B\r\nLua\\defaultcolor=C3BE98\r\nLua\\defaultpaper=1A0F0B\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=C3BE98\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=1A0F0B\r\nMakefile\\style1\\color=679D47\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=1A0F0B\r\nMakefile\\style2\\color=8996A8\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=1A0F0B\r\nMakefile\\style3\\color=D77261\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=1A0F0B\r\nMakefile\\style4\\color=B3935C\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=1A0F0B\r\nMakefile\\style5\\color=7989A6\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=1A0F0B\r\nMakefile\\style9\\color=FF8080\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=1A0F0B\r\nMakefile\\defaultcolor=C3BE98\r\nMakefile\\defaultpaper=1A0F0B\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=C3BE98\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=1A0F0B\r\nMatlab\\style1\\color=679D47\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=1A0F0B\r\nMatlab\\style2\\color=D77261\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=1A0F0B\r\nMatlab\\style3\\color=DA5659\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=1A0F0B\r\nMatlab\\style4\\color=F1E694\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=1A0F0B\r\nMatlab\\style5\\color=7CA563\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=1A0F0B\r\nMatlab\\style6\\color=B3935C\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=1A0F0B\r\nMatlab\\style7\\color=D77261\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=1A0F0B\r\nMatlab\\style8\\color=7CA563\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=1A0F0B\r\nMatlab\\defaultcolor=C3BE98\r\nMatlab\\defaultpaper=1A0F0B\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=C3BE98\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=1A0F0B\r\nNSIS\\style1\\color=679D47\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=1A0F0B\r\nNSIS\\style2\\color=7CA563\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=1A0F0B\r\nNSIS\\style3\\color=7CA563\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=1A0F0B\r\nNSIS\\style4\\color=7CA563\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=1A0F0B\r\nNSIS\\style5\\color=C29863\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=1A0F0B\r\nNSIS\\style6\\color=7989A6\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=1A0F0B\r\nNSIS\\style7\\color=6D4C2F\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=1A0F0B\r\nNSIS\\style8\\color=C3BE98\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=1A0F0B\r\nNSIS\\style9\\color=6D4C2F\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=1A0F0B\r\nNSIS\\style10\\color=C3BE98\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=1A0F0B\r\nNSIS\\style11\\color=C3BE98\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=1A0F0B\r\nNSIS\\style12\\color=C3BE98\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=1A0F0B\r\nNSIS\\style13\\color=7CA563\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=1A0F0B\r\nNSIS\\style14\\color=DA5659\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=1A0F0B\r\nNSIS\\style15\\color=C3BE98\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=1A0F0B\r\nNSIS\\style16\\color=C3BE98\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=1A0F0B\r\nNSIS\\style17\\color=C3BE98\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=1A0F0B\r\nNSIS\\style18\\color=679D47\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=1A0F0B\r\nNSIS\\defaultcolor=C3BE98\r\nNSIS\\defaultpaper=1A0F0B\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C3BE98\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=1A0F0B\r\nC%2B%2B\\style1\\color=679D47\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=1A0F0B\r\nC%2B%2B\\style2\\color=679D47\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=1A0F0B\r\nC%2B%2B\\style3\\color=679D47\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=1A0F0B\r\nC%2B%2B\\style4\\color=DA5659\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=1A0F0B\r\nC%2B%2B\\style5\\color=F1E694\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=1A0F0B\r\nC%2B%2B\\style6\\color=7CA563\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=1A0F0B\r\nC%2B%2B\\style7\\color=7CA563\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=1A0F0B\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=1A0F0B\r\nC%2B%2B\\style10\\color=B3935C\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=1A0F0B\r\nC%2B%2B\\style11\\color=C3BE98\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=1A0F0B\r\nC%2B%2B\\style13\\color=DA5659\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=1A0F0B\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=1A0F0B\r\nC%2B%2B\\style15\\color=679D47\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=1A0F0B\r\nC%2B%2B\\style16\\color=B3935C\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=1A0F0B\r\nC%2B%2B\\style17\\color=679D47\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=1A0F0B\r\nC%2B%2B\\style18\\color=679D47\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=1A0F0B\r\nC%2B%2B\\style19\\color=B3935C\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=1A0F0B\r\nC%2B%2B\\style20\\color=C3BE98\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=1A0F0B\r\nC%2B%2B\\defaultcolor=C3BE98\r\nC%2B%2B\\defaultpaper=1A0F0B\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=C3BE98\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=1A0F0B\r\nPascal\\style1\\color=D77261\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=1A0F0B\r\nPascal\\style2\\color=679D47\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=1A0F0B\r\nPascal\\style3\\color=679D47\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=1A0F0B\r\nPascal\\style4\\color=679D47\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=1A0F0B\r\nPascal\\style5\\color=8996A8\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=1A0F0B\r\nPascal\\style7\\color=DA5659\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=1A0F0B\r\nPascal\\style9\\color=F1E694\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=1A0F0B\r\nPascal\\style12\\color=7CA563\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=1A0F0B\r\nPascal\\style13\\color=B3935C\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=1A0F0B\r\nPascal\\style14\\color=E9C062\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=1A0F0B\r\nPascal\\defaultcolor=C3BE98\r\nPascal\\defaultpaper=1A0F0B\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=C3BE98\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=1A0F0B\r\nPerl\\style1\\color=C3BE98\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=1A0F0B\r\nPerl\\style2\\color=679D47\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=1A0F0B\r\nPerl\\style3\\color=C3BE98\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=1A0F0B\r\nPerl\\style4\\color=DA5659\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=1A0F0B\r\nPerl\\style5\\color=F1E694\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=1A0F0B\r\nPerl\\style6\\color=7CA563\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=1A0F0B\r\nPerl\\style7\\color=7CA563\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=1A0F0B\r\nPerl\\style8\\color=C3BE98\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=1A0F0B\r\nPerl\\style9\\color=8996A8\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=1A0F0B\r\nPerl\\style10\\color=B3935C\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=1A0F0B\r\nPerl\\style12\\color=C3BE98\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=1A0F0B\r\nPerl\\style13\\color=C3BE98\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=1A0F0B\r\nPerl\\style14\\color=C3BE98\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=1A0F0B\r\nPerl\\style15\\color=C3BE98\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=1A0F0B\r\nPerl\\style17\\color=E9C062\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=1A0F0B\r\nPerl\\style18\\color=C3BE98\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=1A0F0B\r\nPerl\\style19\\color=C3BE98\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=1A0F0B\r\nPerl\\style20\\color=C3BE98\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=1A0F0B\r\nPerl\\style21\\color=C3BE98\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=1A0F0B\r\nPerl\\defaultcolor=C3BE98\r\nPerl\\defaultpaper=1A0F0B\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=C3BE98\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=1A0F0B\r\nHTML\\style18\\color=C3BE98\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=1A0F0B\r\nHTML\\style118\\color=C3BE98\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=1A0F0B\r\nHTML\\style119\\color=7CA563\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=1A0F0B\r\nHTML\\style120\\color=7CA563\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=1A0F0B\r\nHTML\\style121\\color=B3935C\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=1A0F0B\r\nHTML\\style122\\color=DA5659\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=1A0F0B\r\nHTML\\style123\\color=7989A6\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=1A0F0B\r\nHTML\\style124\\color=679D47\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=1A0F0B\r\nHTML\\style125\\color=679D47\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=1A0F0B\r\nHTML\\style126\\color=7CA563\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=1A0F0B\r\nHTML\\style127\\color=B3935C\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=1A0F0B\r\nHTML\\defaultcolor=C3BE98\r\nHTML\\defaultpaper=1A0F0B\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=C3BE98\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=1A0F0B\r\nProperties\\style1\\color=679D47\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=1A0F0B\r\nProperties\\style3\\color=B3935C\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=1A0F0B\r\nProperties\\style4\\color=6D4C2F\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=1A0F0B\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=1A0F0B\r\nProperties\\defaultcolor=C3BE98\r\nProperties\\defaultpaper=1A0F0B\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=C3BE98\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=1A0F0B\r\nPython\\style1\\color=679D47\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=1A0F0B\r\nPython\\style2\\color=DA5659\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=1A0F0B\r\nPython\\style3\\color=7CA563\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=1A0F0B\r\nPython\\style4\\color=7CA563\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=1A0F0B\r\nPython\\style5\\color=B3935C\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=1A0F0B\r\nPython\\style6\\color=C3BE98\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=1A0F0B\r\nPython\\style7\\color=C3BE98\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=1A0F0B\r\nPython\\style8\\color=C3BE98\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=1A0F0B\r\nPython\\style9\\color=C3BE98\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=1A0F0B\r\nPython\\style10\\color=B3935C\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=1A0F0B\r\nPython\\style11\\color=D77261\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=1A0F0B\r\nPython\\style12\\color=7CA563\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=1A0F0B\r\nPython\\defaultcolor=C3BE98\r\nPython\\defaultpaper=1A0F0B\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C3BE98\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=1A0F0B\r\nC%2B%2B\\style1\\color=679D47\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=1A0F0B\r\nC%2B%2B\\style2\\color=679D47\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=1A0F0B\r\nC%2B%2B\\style3\\color=679D47\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=1A0F0B\r\nC%2B%2B\\style4\\color=DA5659\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=1A0F0B\r\nC%2B%2B\\style5\\color=F1E694\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=1A0F0B\r\nC%2B%2B\\style6\\color=7CA563\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=1A0F0B\r\nC%2B%2B\\style7\\color=7CA563\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=1A0F0B\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=1A0F0B\r\nC%2B%2B\\style10\\color=B3935C\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=1A0F0B\r\nC%2B%2B\\style11\\color=C3BE98\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=1A0F0B\r\nC%2B%2B\\style13\\color=DA5659\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=1A0F0B\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=1A0F0B\r\nC%2B%2B\\style15\\color=679D47\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=1A0F0B\r\nC%2B%2B\\style16\\color=B3935C\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=1A0F0B\r\nC%2B%2B\\style17\\color=679D47\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=1A0F0B\r\nC%2B%2B\\style18\\color=679D47\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=1A0F0B\r\nC%2B%2B\\defaultcolor=C3BE98\r\nC%2B%2B\\defaultpaper=1A0F0B\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=C3BE98\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=1A0F0B\r\nRuby\\style1\\color=C3BE98\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=1A0F0B\r\nRuby\\style2\\color=679D47\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=1A0F0B\r\nRuby\\style3\\color=C3BE98\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=1A0F0B\r\nRuby\\style4\\color=DA5659\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=1A0F0B\r\nRuby\\style5\\color=B3935C\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=1A0F0B\r\nRuby\\style6\\color=7CA563\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=1A0F0B\r\nRuby\\style7\\color=7CA563\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=1A0F0B\r\nRuby\\style8\\color=6D4C2F\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=1A0F0B\r\nRuby\\style9\\color=6D4C2F\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=1A0F0B\r\nRuby\\style10\\color=B3935C\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=1A0F0B\r\nRuby\\style11\\color=D77261\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=1A0F0B\r\nRuby\\style12\\color=E9C062\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=1A0F0B\r\nRuby\\style13\\color=7989A6\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=1A0F0B\r\nRuby\\style14\\color=C3BE98\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=1A0F0B\r\nRuby\\style15\\color=C3BE98\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=1A0F0B\r\nRuby\\style16\\color=7989A6\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=1A0F0B\r\nRuby\\style17\\color=C3BE98\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=1A0F0B\r\nRuby\\style18\\color=C3BE98\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=1A0F0B\r\nRuby\\style19\\color=C3BE98\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=1A0F0B\r\nRuby\\style24\\color=7CA563\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=1A0F0B\r\nRuby\\defaultcolor=C3BE98\r\nRuby\\defaultpaper=1A0F0B\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=C3BE98\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=1A0F0B\r\nSQL\\style1\\color=679D47\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=1A0F0B\r\nSQL\\style2\\color=679D47\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=1A0F0B\r\nSQL\\style3\\color=679D47\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=1A0F0B\r\nSQL\\style4\\color=DA5659\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=1A0F0B\r\nSQL\\style5\\color=B3935C\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=1A0F0B\r\nSQL\\style6\\color=7CA563\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=1A0F0B\r\nSQL\\style7\\color=7CA563\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=1A0F0B\r\nSQL\\style10\\color=B3935C\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=1A0F0B\r\nSQL\\style16\\color=B3935C\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=1A0F0B\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=1A0F0B\r\nSQL\\style24\\color=7CA563\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=1A0F0B\r\nSQL\\defaultcolor=C3BE98\r\nSQL\\defaultpaper=1A0F0B\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=C3BE98\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=1A0F0B\r\nTCL\\style1\\color=679D47\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=1A0F0B\r\nTCL\\style2\\color=679D47\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=1A0F0B\r\nTCL\\style3\\color=679D47\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=1A0F0B\r\nTCL\\style4\\color=DA5659\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=1A0F0B\r\nTCL\\style5\\color=F1E694\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=1A0F0B\r\nTCL\\style6\\color=7CA563\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=1A0F0B\r\nTCL\\style7\\color=7CA563\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=1A0F0B\r\nTCL\\style9\\color=8996A8\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=1A0F0B\r\nTCL\\style10\\color=B3935C\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=1A0F0B\r\nTCL\\style11\\color=C3BE98\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=1A0F0B\r\nTCL\\style13\\color=DA5659\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=1A0F0B\r\nTCL\\style14\\color=E9C062\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=1A0F0B\r\nTCL\\style15\\color=679D47\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=1A0F0B\r\nTCL\\style16\\color=B3935C\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=1A0F0B\r\nTCL\\style17\\color=679D47\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=1A0F0B\r\nTCL\\style18\\color=679D47\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=1A0F0B\r\nTCL\\defaultcolor=C3BE98\r\nTCL\\defaultpaper=1A0F0B\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=C3BE98\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=1A0F0B\r\nTXT\\style1\\color=C3BE98\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=1A0F0B\r\nTXT\\style2\\color=B3935C\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=1A0F0B\r\nTXT\\defaultcolor=C3BE98\r\nTXT\\defaultpaper=1A0F0B\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=C3BE98\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=1A0F0B\r\nVB\\style1\\color=679D47\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=1A0F0B\r\nVB\\style2\\color=DA5659\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=1A0F0B\r\nVB\\style3\\color=B3935C\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=1A0F0B\r\nVB\\style4\\color=7CA563\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=1A0F0B\r\nVB\\style5\\color=8996A8\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=1A0F0B\r\nVB\\style6\\color=B3935C\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=1A0F0B\r\nVB\\style7\\color=C3BE98\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=1A0F0B\r\nVB\\style8\\color=A8799C\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=1A0F0B\r\nVB\\defaultcolor=C3BE98\r\nVB\\defaultpaper=1A0F0B\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=C3BE98\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=1A0F0B\r\nVerilog\\style1\\color=679D47\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=1A0F0B\r\nVerilog\\style2\\color=679D47\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=1A0F0B\r\nVerilog\\style3\\color=679D47\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=1A0F0B\r\nVerilog\\style4\\color=DA5659\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=1A0F0B\r\nVerilog\\style5\\color=F1E694\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=1A0F0B\r\nVerilog\\style6\\color=7CA563\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=1A0F0B\r\nVerilog\\style7\\color=B3935C\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=1A0F0B\r\nVerilog\\style9\\color=8996A8\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=1A0F0B\r\nVerilog\\style10\\color=B3935C\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=1A0F0B\r\nVerilog\\style11\\color=D77261\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=1A0F0B\r\nVerilog\\style12\\color=7CA563\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=1A0F0B\r\nVerilog\\style19\\color=C3BE98\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=1A0F0B\r\nVerilog\\defaultcolor=C3BE98\r\nVerilog\\defaultpaper=1A0F0B\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=C3BE98\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=1A0F0B\r\nVHDL\\style1\\color=679D47\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=1A0F0B\r\nVHDL\\style2\\color=679D47\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=1A0F0B\r\nVHDL\\style3\\color=DA5659\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=1A0F0B\r\nVHDL\\style4\\color=7CA563\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=1A0F0B\r\nVHDL\\style5\\color=B3935C\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=1A0F0B\r\nVHDL\\style6\\color=D77261\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=1A0F0B\r\nVHDL\\style7\\color=7CA563\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=1A0F0B\r\nVHDL\\style8\\color=B3935C\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=1A0F0B\r\nVHDL\\style9\\color=B3935C\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=1A0F0B\r\nVHDL\\style10\\color=C3BE98\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=1A0F0B\r\nVHDL\\style11\\color=C3BE98\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=1A0F0B\r\nVHDL\\style12\\color=C3BE98\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=1A0F0B\r\nVHDL\\style13\\color=C3BE98\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=1A0F0B\r\nVHDL\\style14\\color=C3BE98\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=1A0F0B\r\nVHDL\\defaultcolor=C3BE98\r\nVHDL\\defaultpaper=1A0F0B\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Choco/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=C3BE98\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=1A0F0B\r\nXML\\style1\\color=6D4C2F\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=1A0F0B\r\nXML\\style2\\color=6D4C2F\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=1A0F0B\r\nXML\\style3\\color=6D4C2F\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=1A0F0B\r\nXML\\style4\\color=6D4C2F\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=1A0F0B\r\nXML\\style5\\color=DA5659\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=1A0F0B\r\nXML\\style6\\color=7CA563\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=1A0F0B\r\nXML\\style7\\color=7CA563\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=1A0F0B\r\nXML\\style9\\color=679D47\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=1A0F0B\r\nXML\\style10\\color=DA5659\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=1A0F0B\r\nXML\\style11\\color=6D4C2F\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=1A0F0B\r\nXML\\style12\\color=494949\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=1A0F0B\r\nXML\\style13\\color=494949\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=1A0F0B\r\nXML\\style17\\color=DA5659\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=1A0F0B\r\nXML\\style21\\color=7CA563\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=1A0F0B\r\nXML\\defaultcolor=C3BE98\r\nXML\\defaultpaper=1A0F0B\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=C7C7C7\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=2E2E2E\r\nGlobal\\style1\\color=C7C7C7\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=2E2E2E\r\nGlobal\\style2\\color=4D4D4D\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=2E2E2E\r\nGlobal\\style3\\color=9865A8\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=A88AB6\r\nGlobal\\style4\\color=A88AB6\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=2E2E2E\r\nGlobal\\style5\\color=C7C7C7\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=363636\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=4D4D4D\r\nGlobal\\style7\\color=A7A7A7\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=2E2E2E\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style8\\paper=2E2E2E\r\nGlobal\\style9\\color=8F8F8F\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style9\\paper=363636\r\nGlobal\\style10\\color=C7C7C7\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=363636\r\nGlobal\\style11\\color=4D4D4D\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=2E2E2E\r\nGlobal\\style12\\color=666666\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=00FF00\r\nGlobal\\style13\\color=2E2E2E\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E2E2E\r\nGlobal\\style14\\color=4D4D4D\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=2E2E2E\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=2E2E2E\r\nGlobal\\style16\\color=A88AB6\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=2E2E2E\r\nGlobal\\style17\\color=E0E2E4\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=2E2E2E\r\nGlobal\\style18\\color=E0E2E4\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 18, 0, 0, 0\r\nGlobal\\style18\\paper=2E2E2E\r\nGlobal\\style19\\color=666666\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=2E2E2E\r\nGlobal\\style20\\color=F57F3D\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=2E2E2E\r\nGlobal\\style21\\color=AB7967\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=2E2E2E\r\nGlobal\\style22\\color=B2CCD6\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=2E2E2E\r\nGlobal\\style23\\color=A88AB6\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=2E2E2E\r\nGlobal\\style24\\color=B2CCD6\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=2E2E2E\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=2E2E2E\r\nGlobal\\defaultcolor=C7C7C7\r\nGlobal\\defaultpaper=2E2E2E\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=C7C7C7\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=2E2E2E\r\nHTML\\style15\\color=C7C7C7\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=2E2E2E\r\nHTML\\style16\\color=C7C7C7\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=2E2E2E\r\nHTML\\style81\\color=C7C7C7\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=2E2E2E\r\nHTML\\style82\\color=666666\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=2E2E2E\r\nHTML\\style83\\color=E6C74E\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=2E2E2E\r\nHTML\\style84\\color=9865A8\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=2E2E2E\r\nHTML\\style85\\color=F57F3D\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=2E2E2E\r\nHTML\\style86\\color=C7C7C7\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=2E2E2E\r\nHTML\\style87\\color=F57F3D\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=2E2E2E\r\nHTML\\defaultcolor=C7C7C7\r\nHTML\\defaultpaper=2E2E2E\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=C7C7C7\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=2E2E2E\r\nBash\\style1\\color=FF6464\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=2E2E2E\r\nBash\\style2\\color=666666\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=2E2E2E\r\nBash\\style3\\color=E6C74E\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=2E2E2E\r\nBash\\style4\\color=9865A8\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=2E2E2E\r\nBash\\style5\\color=F57F3D\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=2E2E2E\r\nBash\\style6\\color=F57F3D\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=2E2E2E\r\nBash\\style7\\color=8F8F8F\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=2E2E2E\r\nBash\\style8\\color=C7C7C7\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=2E2E2E\r\nBash\\style9\\color=FF5757\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=2E2E2E\r\nBash\\style10\\color=FF5757\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=2E2E2E\r\nBash\\style11\\color=F57F3D\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=2E2E2E\r\nBash\\style12\\color=F57F3D\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=2E2E2E\r\nBash\\style13\\color=F57F3D\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=2E2E2E\r\nBash\\defaultcolor=C7C7C7\r\nBash\\defaultpaper=2E2E2E\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=C7C7C7\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=2E2E2E\r\nBatch\\style1\\color=666666\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=2E2E2E\r\nBatch\\style2\\color=9865A8\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=2E2E2E\r\nBatch\\style3\\color=A88AB6\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=2E2E2E\r\nBatch\\style4\\color=9865A8\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=2E2E2E\r\nBatch\\style5\\color=E6C74E\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=2E2E2E\r\nBatch\\style6\\color=FF5757\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=2E2E2E\r\nBatch\\style7\\color=8F8F8F\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=2E2E2E\r\nBatch\\defaultcolor=C7C7C7\r\nBatch\\defaultpaper=2E2E2E\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C7C7C7\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2E2E2E\r\nC%2B%2B\\style1\\color=666666\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2E2E2E\r\nC%2B%2B\\style2\\color=666666\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2E2E2E\r\nC%2B%2B\\style3\\color=666666\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2E2E2E\r\nC%2B%2B\\style4\\color=E6C74E\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2E2E2E\r\nC%2B%2B\\style5\\color=9865A8\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=2E2E2E\r\nC%2B%2B\\style6\\color=F57F3D\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2E2E2E\r\nC%2B%2B\\style7\\color=F57F3D\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2E2E2E\r\nC%2B%2B\\style9\\color=FF5757\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2E2E2E\r\nC%2B%2B\\style10\\color=8F8F8F\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2E2E2E\r\nC%2B%2B\\style11\\color=C7C7C7\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2E2E2E\r\nC%2B%2B\\style13\\color=E6C74E\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2E2E2E\r\nC%2B%2B\\style14\\color=E6C74E\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2E2E2E\r\nC%2B%2B\\style15\\color=666666\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2E2E2E\r\nC%2B%2B\\style16\\color=9865A8\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2E2E2E\r\nC%2B%2B\\style17\\color=666666\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2E2E2E\r\nC%2B%2B\\style18\\color=666666\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2E2E2E\r\nC%2B%2B\\style23\\color=666666\r\nC%2B%2B\\style23\\eolfill=false\r\nC%2B%2B\\style23\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper=2E2E2E\r\nC%2B%2B\\style24\\color=666666\r\nC%2B%2B\\style24\\eolfill=false\r\nC%2B%2B\\style24\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper=2E2E2E\r\nC%2B%2B\\defaultcolor=C7C7C7\r\nC%2B%2B\\defaultpaper=2E2E2E\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=C7C7C7\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=2E2E2E\r\nCMake\\style1\\color=666666\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=2E2E2E\r\nCMake\\style2\\color=F57F3D\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=2E2E2E\r\nCMake\\style3\\color=F57F3D\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=2E2E2E\r\nCMake\\style4\\color=F57F3D\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=2E2E2E\r\nCMake\\style5\\color=E6C74E\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=2E2E2E\r\nCMake\\style6\\color=C7C7C7\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=2E2E2E\r\nCMake\\style7\\color=FF5757\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=2E2E2E\r\nCMake\\style8\\color=C7C7C7\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=2E2E2E\r\nCMake\\style9\\color=C7C7C7\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=2E2E2E\r\nCMake\\style10\\color=C7C7C7\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=2E2E2E\r\nCMake\\style11\\color=C7C7C7\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=2E2E2E\r\nCMake\\style12\\color=C7C7C7\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=2E2E2E\r\nCMake\\style13\\color=F57F3D\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=2E2E2E\r\nCMake\\style14\\color=E6C74E\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=2E2E2E\r\nCMake\\defaultcolor=C7C7C7\r\nCMake\\defaultpaper=2E2E2E\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/coffeescript.ini",
    "content": "[Scintilla]\r\nCoffeeScript\\style0\\color=C7C7C7\r\nCoffeeScript\\style0\\eolfill=false\r\nCoffeeScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style0\\paper=2E2E2E\r\nCoffeeScript\\style1\\color=666666\r\nCoffeeScript\\style1\\eolfill=false\r\nCoffeeScript\\style1\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style1\\paper=2E2E2E\r\nCoffeeScript\\style2\\color=666666\r\nCoffeeScript\\style2\\eolfill=false\r\nCoffeeScript\\style2\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style2\\paper=2E2E2E\r\nCoffeeScript\\style3\\color=666666\r\nCoffeeScript\\style3\\eolfill=false\r\nCoffeeScript\\style3\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style3\\paper=2E2E2E\r\nCoffeeScript\\style4\\color=E6C74E\r\nCoffeeScript\\style4\\eolfill=false\r\nCoffeeScript\\style4\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style4\\paper=2E2E2E\r\nCoffeeScript\\style5\\color=9865A8\r\nCoffeeScript\\style5\\eolfill=false\r\nCoffeeScript\\style5\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style5\\paper=2E2E2E\r\nCoffeeScript\\style6\\color=F57F3D\r\nCoffeeScript\\style6\\eolfill=false\r\nCoffeeScript\\style6\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style6\\paper=2E2E2E\r\nCoffeeScript\\style7\\color=F57F3D\r\nCoffeeScript\\style7\\eolfill=false\r\nCoffeeScript\\style7\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style7\\paper=2E2E2E\r\nCoffeeScript\\style9\\color=FF5757\r\nCoffeeScript\\style9\\eolfill=false\r\nCoffeeScript\\style9\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style9\\paper=2E2E2E\r\nCoffeeScript\\style10\\color=8F8F8F\r\nCoffeeScript\\style10\\eolfill=false\r\nCoffeeScript\\style10\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style10\\paper=2E2E2E\r\nCoffeeScript\\style11\\color=C7C7C7\r\nCoffeeScript\\style11\\eolfill=false\r\nCoffeeScript\\style11\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style11\\paper=2E2E2E\r\nCoffeeScript\\style13\\color=C7C7C7\r\nCoffeeScript\\style13\\eolfill=false\r\nCoffeeScript\\style13\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style13\\paper=2E2E2E\r\nCoffeeScript\\style14\\color=E6C74E\r\nCoffeeScript\\style14\\eolfill=false\r\nCoffeeScript\\style14\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style14\\paper=2E2E2E\r\nCoffeeScript\\style15\\color=666666\r\nCoffeeScript\\style15\\eolfill=false\r\nCoffeeScript\\style15\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style15\\paper=2E2E2E\r\nCoffeeScript\\style16\\color=9865A8\r\nCoffeeScript\\style16\\eolfill=false\r\nCoffeeScript\\style16\\font=Courier New, 14, 1, 0, 0\r\nCoffeeScript\\style16\\paper=2E2E2E\r\nCoffeeScript\\style17\\color=666666\r\nCoffeeScript\\style17\\eolfill=false\r\nCoffeeScript\\style17\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style17\\paper=2E2E2E\r\nCoffeeScript\\style18\\color=666666\r\nCoffeeScript\\style18\\eolfill=false\r\nCoffeeScript\\style18\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style18\\paper=2E2E2E\r\nCoffeeScript\\style19\\color=F57F3D\r\nCoffeeScript\\style19\\eolfill=false\r\nCoffeeScript\\style19\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style19\\paper=2E2E2E\r\nCoffeeScript\\style22\\color=666666\r\nCoffeeScript\\style22\\eolfill=false\r\nCoffeeScript\\style22\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style22\\paper=2E2E2E\r\nCoffeeScript\\style23\\color=E6C74E\r\nCoffeeScript\\style23\\eolfill=false\r\nCoffeeScript\\style23\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style23\\paper=2E2E2E\r\nCoffeeScript\\style24\\color=666666\r\nCoffeeScript\\style24\\eolfill=false\r\nCoffeeScript\\style24\\font=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style24\\paper=2E2E2E\r\nCoffeeScript\\defaultcolor=C7C7C7\r\nCoffeeScript\\defaultpaper=2E2E2E\r\nCoffeeScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nCoffeeScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C7C7C7\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2E2E2E\r\nC%2B%2B\\style1\\color=666666\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2E2E2E\r\nC%2B%2B\\style2\\color=666666\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2E2E2E\r\nC%2B%2B\\style3\\color=666666\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2E2E2E\r\nC%2B%2B\\style4\\color=E6C74E\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2E2E2E\r\nC%2B%2B\\style5\\color=9865A8\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=2E2E2E\r\nC%2B%2B\\style6\\color=F57F3D\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2E2E2E\r\nC%2B%2B\\style7\\color=F57F3D\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2E2E2E\r\nC%2B%2B\\style9\\color=FF5757\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2E2E2E\r\nC%2B%2B\\style10\\color=8F8F8F\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2E2E2E\r\nC%2B%2B\\style11\\color=C7C7C7\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2E2E2E\r\nC%2B%2B\\style13\\color=E6C74E\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2E2E2E\r\nC%2B%2B\\style14\\color=E6C74E\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2E2E2E\r\nC%2B%2B\\style15\\color=666666\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2E2E2E\r\nC%2B%2B\\style16\\color=9865A8\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2E2E2E\r\nC%2B%2B\\style17\\color=666666\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2E2E2E\r\nC%2B%2B\\style18\\color=666666\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2E2E2E\r\nC%2B%2B\\style23\\color=666666\r\nC%2B%2B\\style23\\eolfill=false\r\nC%2B%2B\\style23\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper=2E2E2E\r\nC%2B%2B\\style24\\color=666666\r\nC%2B%2B\\style24\\eolfill=false\r\nC%2B%2B\\style24\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper=2E2E2E\r\nC%2B%2B\\defaultcolor=C7C7C7\r\nC%2B%2B\\defaultpaper=2E2E2E\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=C7C7C7\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=2E2E2E\r\nC%23\\style1\\color=666666\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=2E2E2E\r\nC%23\\style2\\color=666666\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=2E2E2E\r\nC%23\\style3\\color=666666\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=2E2E2E\r\nC%23\\style4\\color=E6C74E\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=2E2E2E\r\nC%23\\style5\\color=9865A8\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=2E2E2E\r\nC%23\\style6\\color=F57F3D\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=2E2E2E\r\nC%23\\style7\\color=F57F3D\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=2E2E2E\r\nC%23\\style9\\color=FF5757\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=2E2E2E\r\nC%23\\style10\\color=8F8F8F\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=2E2E2E\r\nC%23\\style11\\color=C7C7C7\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=2E2E2E\r\nC%23\\style13\\color=E6C74E\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=2E2E2E\r\nC%23\\style14\\color=E6C74E\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=2E2E2E\r\nC%23\\style15\\color=666666\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=2E2E2E\r\nC%23\\style16\\color=9865A8\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=2E2E2E\r\nC%23\\style17\\color=666666\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=2E2E2E\r\nC%23\\style18\\color=666666\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=2E2E2E\r\nC%23\\style23\\color=666666\r\nC%23\\style23\\eolfill=false\r\nC%23\\style23\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style23\\paper=2E2E2E\r\nC%23\\style24\\color=666666\r\nC%23\\style24\\eolfill=false\r\nC%23\\style24\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style24\\paper=2E2E2E\r\nC%23\\defaultcolor=C7C7C7\r\nC%23\\defaultpaper=2E2E2E\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=C7C7C7\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=2E2E2E\r\nCSS\\style1\\color=A88AB6\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=2E2E2E\r\nCSS\\style2\\color=A88AB6\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=2E2E2E\r\nCSS\\style3\\color=F57F3D\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=2E2E2E\r\nCSS\\style4\\color=F57F3D\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=2E2E2E\r\nCSS\\style5\\color=8F8F8F\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=2E2E2E\r\nCSS\\style6\\color=FF5757\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=2E2E2E\r\nCSS\\style7\\color=9865A8\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=2E2E2E\r\nCSS\\style8\\color=A88AB6\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=2E2E2E\r\nCSS\\style9\\color=666666\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=2E2E2E\r\nCSS\\style10\\color=A88AB6\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=2E2E2E\r\nCSS\\style11\\color=E63232\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=2E2E2E\r\nCSS\\style12\\color=FF5757\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=2E2E2E\r\nCSS\\defaultcolor=C7C7C7\r\nCSS\\defaultpaper=2E2E2E\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=C7C7C7\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=2E2E2E\r\nDiff\\style1\\color=666666\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=2E2E2E\r\nDiff\\style2\\color=9865A8\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=2E2E2E\r\nDiff\\style3\\color=C7C7C7\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=2E2E2E\r\nDiff\\style4\\color=A88AB6\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=2E2E2E\r\nDiff\\style5\\color=A88AB6\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=2E2E2E\r\nDiff\\style6\\color=F57F3D\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=2E2E2E\r\nDiff\\defaultcolor=C7C7C7\r\nDiff\\defaultpaper=2E2E2E\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=C7C7C7\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=2E2E2E\r\nFortran\\style1\\color=666666\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=2E2E2E\r\nFortran\\style2\\color=E6C74E\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=2E2E2E\r\nFortran\\style3\\color=F57F3D\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=2E2E2E\r\nFortran\\style4\\color=F57F3D\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=2E2E2E\r\nFortran\\style5\\color=F57F3D\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=2E2E2E\r\nFortran\\style6\\color=8F8F8F\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=2E2E2E\r\nFortran\\style7\\color=C7C7C7\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=2E2E2E\r\nFortran\\style8\\color=9865A8\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=2E2E2E\r\nFortran\\style9\\color=FF5757\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=2E2E2E\r\nFortran\\style10\\color=C7C7C7\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=2E2E2E\r\nFortran\\style11\\color=FF5757\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=2E2E2E\r\nFortran\\style12\\color=C7C7C7\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=2E2E2E\r\nFortran\\style13\\color=A88AB6\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=2E2E2E\r\nFortran\\style14\\color=C7C7C7\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=2E2E2E\r\nFortran\\defaultcolor=C7C7C7\r\nFortran\\defaultpaper=2E2E2E\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=C7C7C7\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=2E2E2E\r\nFortran77\\style1\\color=666666\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=2E2E2E\r\nFortran77\\style2\\color=E6C74E\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=2E2E2E\r\nFortran77\\style3\\color=F57F3D\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=2E2E2E\r\nFortran77\\style4\\color=F57F3D\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=2E2E2E\r\nFortran77\\style5\\color=F57F3D\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=2E2E2E\r\nFortran77\\style6\\color=8F8F8F\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=2E2E2E\r\nFortran77\\style7\\color=C7C7C7\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=2E2E2E\r\nFortran77\\style8\\color=9865A8\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=2E2E2E\r\nFortran77\\style9\\color=FF5757\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=2E2E2E\r\nFortran77\\style10\\color=C7C7C7\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=2E2E2E\r\nFortran77\\style11\\color=FF5757\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=2E2E2E\r\nFortran77\\style12\\color=C7C7C7\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=2E2E2E\r\nFortran77\\style13\\color=A88AB6\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=2E2E2E\r\nFortran77\\style14\\color=C7C7C7\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=2E2E2E\r\nFortran77\\defaultcolor=C7C7C7\r\nFortran77\\defaultpaper=2E2E2E\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=C7C7C7\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=2E2E2E\r\nHTML\\style1\\color=A88AB6\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=2E2E2E\r\nHTML\\style2\\color=A88AB6\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=2E2E2E\r\nHTML\\style3\\color=FF5757\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=2E2E2E\r\nHTML\\style4\\color=FF5757\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=2E2E2E\r\nHTML\\style5\\color=E6C74E\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=2E2E2E\r\nHTML\\style6\\color=F57F3D\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=2E2E2E\r\nHTML\\style7\\color=F57F3D\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=2E2E2E\r\nHTML\\style9\\color=666666\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=2E2E2E\r\nHTML\\style10\\color=E6C74E\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=2E2E2E\r\nHTML\\style11\\color=A88AB6\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=2E2E2E\r\nHTML\\style17\\color=E6C74E\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=2E2E2E\r\nHTML\\style19\\color=E6C74E\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=2E2E2E\r\nHTML\\style21\\color=F57F3D\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=2E2E2E\r\nHTML\\defaultcolor=C7C7C7\r\nHTML\\defaultpaper=2E2E2E\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=C7C7C7\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=2E2E2E\r\nProperties\\style1\\color=666666\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=2E2E2E\r\nProperties\\style2\\color=A88AB6\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=2E2E2E\r\nProperties\\style3\\color=9865A8\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=2E2E2E\r\nProperties\\style4\\color=A88AB6\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=2E2E2E\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=2E2E2E\r\nProperties\\defaultcolor=C7C7C7\r\nProperties\\defaultpaper=2E2E2E\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=C7C7C7\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=2E2E2E\r\nJava\\style1\\color=666666\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=2E2E2E\r\nJava\\style2\\color=666666\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=2E2E2E\r\nJava\\style3\\color=666666\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=2E2E2E\r\nJava\\style4\\color=E6C74E\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=2E2E2E\r\nJava\\style5\\color=9865A8\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=2E2E2E\r\nJava\\style6\\color=F57F3D\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=2E2E2E\r\nJava\\style7\\color=F57F3D\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=2E2E2E\r\nJava\\style10\\color=8F8F8F\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=2E2E2E\r\nJava\\style11\\color=C7C7C7\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=2E2E2E\r\nJava\\style13\\color=E6C74E\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=2E2E2E\r\nJava\\style14\\color=E6C74E\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=2E2E2E\r\nJava\\style15\\color=666666\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=2E2E2E\r\nJava\\style16\\color=9865A8\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=2E2E2E\r\nJava\\style17\\color=666666\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=2E2E2E\r\nJava\\style18\\color=666666\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=2E2E2E\r\nJava\\defaultcolor=C7C7C7\r\nJava\\defaultpaper=2E2E2E\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=C7C7C7\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=2E2E2E\r\nJavaScript\\style15\\color=666666\r\nJavaScript\\style15\\eolfill=false\r\nJavaScript\\style15\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style15\\paper=2E2E2E\r\nJavaScript\\style17\\color=666666\r\nJavaScript\\style17\\eolfill=false\r\nJavaScript\\style17\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style17\\paper=2E2E2E\r\nJavaScript\\style18\\color=666666\r\nJavaScript\\style18\\eolfill=false\r\nJavaScript\\style18\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style18\\paper=2E2E2E\r\nJavaScript\\style20\\color=F57F3D\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=2E2E2E\r\nJavaScript\\style41\\color=C7C7C7\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=2E2E2E\r\nJavaScript\\style42\\color=666666\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=2E2E2E\r\nJavaScript\\style43\\color=666666\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=2E2E2E\r\nJavaScript\\style44\\color=666666\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=2E2E2E\r\nJavaScript\\style45\\color=E6C74E\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=2E2E2E\r\nJavaScript\\style46\\color=C7C7C7\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=2E2E2E\r\nJavaScript\\style47\\color=9865A8\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=2E2E2E\r\nJavaScript\\style48\\color=F57F3D\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=2E2E2E\r\nJavaScript\\style49\\color=F57F3D\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=2E2E2E\r\nJavaScript\\style50\\color=C7C7C7\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=2E2E2E\r\nJavaScript\\style51\\color=F57F3D\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=2E2E2E\r\nJavaScript\\style52\\color=E6C74E\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=2E2E2E\r\nJavaScript\\defaultcolor=C7C7C7\r\nJavaScript\\defaultpaper=2E2E2E\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=C7C7C7\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=2E2E2E\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=2E2E2E\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=2E2E2E\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=2E2E2E\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=2E2E2E\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=2E2E2E\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=2E2E2E\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=2E2E2E\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=2E2E2E\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=2E2E2E\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=2E2E2E\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=2E2E2E\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=2E2E2E\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=C7C7C7\r\nJSON\\defaultpaper=2E2E2E\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=C7C7C7\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=2E2E2E\r\nLua\\style1\\color=666666\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=2E2E2E\r\nLua\\style2\\color=666666\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=2E2E2E\r\nLua\\style3\\color=666666\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=2E2E2E\r\nLua\\style4\\color=E6C74E\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=2E2E2E\r\nLua\\style5\\color=9865A8\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=2E2E2E\r\nLua\\style6\\color=F57F3D\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=2E2E2E\r\nLua\\style7\\color=F57F3D\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=2E2E2E\r\nLua\\style8\\color=F57F3D\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=2E2E2E\r\nLua\\style9\\color=FF5757\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=2E2E2E\r\nLua\\style10\\color=8F8F8F\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=2E2E2E\r\nLua\\style11\\color=C7C7C7\r\nLua\\style11\\eolfill=false\r\nLua\\style11\\font=Courier New, 14, 0, 0, 0\r\nLua\\style11\\paper=2E2E2E\r\nLua\\style13\\color=C7C7C7\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=2E2E2E\r\nLua\\style14\\color=C7C7C7\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=2E2E2E\r\nLua\\style15\\color=C7C7C7\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=2E2E2E\r\nLua\\style20\\color=A88AB6\r\nLua\\style20\\eolfill=false\r\nLua\\style20\\font=Courier New, 14, 0, 0, 0\r\nLua\\style20\\paper=2E2E2E\r\nLua\\defaultcolor=C7C7C7\r\nLua\\defaultpaper=2E2E2E\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=C7C7C7\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=2E2E2E\r\nMakefile\\style1\\color=666666\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=2E2E2E\r\nMakefile\\style2\\color=FF5757\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=2E2E2E\r\nMakefile\\style3\\color=C7C7C7\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=2E2E2E\r\nMakefile\\style4\\color=8F8F8F\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=2E2E2E\r\nMakefile\\style5\\color=C7C7C7\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=2E2E2E\r\nMakefile\\style9\\color=FF5757\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=2E2E2E\r\nMakefile\\defaultcolor=C7C7C7\r\nMakefile\\defaultpaper=2E2E2E\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=C7C7C7\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=2E2E2E\r\nMatlab\\style1\\color=666666\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=2E2E2E\r\nMatlab\\style2\\color=E6C74E\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=2E2E2E\r\nMatlab\\style3\\color=E6C74E\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=2E2E2E\r\nMatlab\\style4\\color=9865A8\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=2E2E2E\r\nMatlab\\style5\\color=F57F3D\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=2E2E2E\r\nMatlab\\style6\\color=8F8F8F\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=2E2E2E\r\nMatlab\\style7\\color=C7C7C7\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=2E2E2E\r\nMatlab\\style8\\color=F57F3D\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=2E2E2E\r\nMatlab\\defaultcolor=C7C7C7\r\nMatlab\\defaultpaper=2E2E2E\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=C7C7C7\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=2E2E2E\r\nNSIS\\style1\\color=666666\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=2E2E2E\r\nNSIS\\style2\\color=F57F3D\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=2E2E2E\r\nNSIS\\style3\\color=F57F3D\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=2E2E2E\r\nNSIS\\style4\\color=F57F3D\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=2E2E2E\r\nNSIS\\style5\\color=E6C74E\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=2E2E2E\r\nNSIS\\style6\\color=FF5757\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=2E2E2E\r\nNSIS\\style7\\color=A88AB6\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=2E2E2E\r\nNSIS\\style8\\color=C7C7C7\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=2E2E2E\r\nNSIS\\style9\\color=A88AB6\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=2E2E2E\r\nNSIS\\style10\\color=C7C7C7\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=2E2E2E\r\nNSIS\\style11\\color=C7C7C7\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=2E2E2E\r\nNSIS\\style12\\color=A88AB6\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=2E2E2E\r\nNSIS\\style13\\color=F57F3D\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=2E2E2E\r\nNSIS\\style14\\color=E6C74E\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=2E2E2E\r\nNSIS\\style15\\color=A88AB6\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=2E2E2E\r\nNSIS\\style16\\color=C7C7C7\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=2E2E2E\r\nNSIS\\style17\\color=A88AB6\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=2E2E2E\r\nNSIS\\style18\\color=666666\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=2E2E2E\r\nNSIS\\defaultcolor=C7C7C7\r\nNSIS\\defaultpaper=2E2E2E\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C7C7C7\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2E2E2E\r\nC%2B%2B\\style1\\color=666666\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2E2E2E\r\nC%2B%2B\\style2\\color=666666\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2E2E2E\r\nC%2B%2B\\style3\\color=666666\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2E2E2E\r\nC%2B%2B\\style4\\color=E6C74E\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2E2E2E\r\nC%2B%2B\\style5\\color=9865A8\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=2E2E2E\r\nC%2B%2B\\style6\\color=F57F3D\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2E2E2E\r\nC%2B%2B\\style7\\color=F57F3D\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2E2E2E\r\nC%2B%2B\\style9\\color=FF5757\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2E2E2E\r\nC%2B%2B\\style10\\color=8F8F8F\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2E2E2E\r\nC%2B%2B\\style11\\color=C7C7C7\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2E2E2E\r\nC%2B%2B\\style13\\color=E6C74E\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2E2E2E\r\nC%2B%2B\\style14\\color=E6C74E\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2E2E2E\r\nC%2B%2B\\style15\\color=666666\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2E2E2E\r\nC%2B%2B\\style16\\color=9865A8\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2E2E2E\r\nC%2B%2B\\style17\\color=666666\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2E2E2E\r\nC%2B%2B\\style18\\color=666666\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2E2E2E\r\nC%2B%2B\\style19\\color=9865A8\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=2E2E2E\r\nC%2B%2B\\style20\\color=C7C7C7\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=2E2E2E\r\nC%2B%2B\\defaultcolor=C7C7C7\r\nC%2B%2B\\defaultpaper=2E2E2E\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=C7C7C7\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=2E2E2E\r\nPascal\\style1\\color=C7C7C7\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=2E2E2E\r\nPascal\\style2\\color=666666\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=2E2E2E\r\nPascal\\style3\\color=666666\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=2E2E2E\r\nPascal\\style4\\color=666666\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=2E2E2E\r\nPascal\\style5\\color=FF5757\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=2E2E2E\r\nPascal\\style6\\color=FF5757\r\nPascal\\style6\\eolfill=false\r\nPascal\\style6\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style6\\paper=2E2E2E\r\nPascal\\style7\\color=E6C74E\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=2E2E2E\r\nPascal\\style8\\color=E6C74E\r\nPascal\\style8\\eolfill=false\r\nPascal\\style8\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper=2E2E2E\r\nPascal\\style9\\color=9865A8\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=2E2E2E\r\nPascal\\style10\\color=F57F3D\r\nPascal\\style10\\eolfill=false\r\nPascal\\style10\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style10\\paper=2E2E2E\r\nPascal\\style12\\color=F57F3D\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=2E2E2E\r\nPascal\\style13\\color=8F8F8F\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=2E2E2E\r\nPascal\\style14\\color=E6C74E\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=2E2E2E\r\nPascal\\defaultcolor=C7C7C7\r\nPascal\\defaultpaper=2E2E2E\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=C7C7C7\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=2E2E2E\r\nPerl\\style1\\color=C7C7C7\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=2E2E2E\r\nPerl\\style2\\color=666666\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=2E2E2E\r\nPerl\\style3\\color=666666\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=2E2E2E\r\nPerl\\style4\\color=E6C74E\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=2E2E2E\r\nPerl\\style5\\color=9865A8\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=2E2E2E\r\nPerl\\style6\\color=F57F3D\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=2E2E2E\r\nPerl\\style7\\color=F57F3D\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=2E2E2E\r\nPerl\\style8\\color=C7C7C7\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=2E2E2E\r\nPerl\\style9\\color=FF5757\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=2E2E2E\r\nPerl\\style10\\color=8F8F8F\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=2E2E2E\r\nPerl\\style12\\color=C7C7C7\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=2E2E2E\r\nPerl\\style13\\color=C7C7C7\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=2E2E2E\r\nPerl\\style14\\color=C7C7C7\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=2E2E2E\r\nPerl\\style15\\color=C7C7C7\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=2E2E2E\r\nPerl\\style17\\color=E6C74E\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=2E2E2E\r\nPerl\\style18\\color=E6C74E\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=2E2E2E\r\nPerl\\style19\\color=F57F3D\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=2E2E2E\r\nPerl\\style20\\color=E6C74E\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=2E2E2E\r\nPerl\\style21\\color=C7C7C7\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=2E2E2E\r\nPerl\\defaultcolor=C7C7C7\r\nPerl\\defaultpaper=2E2E2E\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=C7C7C7\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=2E2E2E\r\nHTML\\style18\\color=E6C74E\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=2E2E2E\r\nHTML\\style118\\color=C7C7C7\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=2E2E2E\r\nHTML\\style119\\color=F57F3D\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=2E2E2E\r\nHTML\\style120\\color=F57F3D\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=2E2E2E\r\nHTML\\style121\\color=9865A8\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=2E2E2E\r\nHTML\\style122\\color=E6C74E\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=2E2E2E\r\nHTML\\style123\\color=FF5757\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=2E2E2E\r\nHTML\\style124\\color=808080\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=2E2E2E\r\nHTML\\style125\\color=808080\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=2E2E2E\r\nHTML\\style126\\color=F57F3D\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=2E2E2E\r\nHTML\\style127\\color=8F8F8F\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=2E2E2E\r\nHTML\\defaultcolor=C7C7C7\r\nHTML\\defaultpaper=2E2E2E\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=C7C7C7\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=2E2E2E\r\nProperties\\style1\\color=666666\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=2E2E2E\r\nProperties\\style2\\color=FF5757\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=F2F4FF\r\nProperties\\style3\\color=9865A8\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=2E2E2E\r\nProperties\\style4\\color=A88AB6\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=2E2E2E\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=2E2E2E\r\nProperties\\defaultcolor=C7C7C7\r\nProperties\\defaultpaper=2E2E2E\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=C7C7C7\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=2E2E2E\r\nPython\\style1\\color=666666\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=2E2E2E\r\nPython\\style2\\color=E6C74E\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=2E2E2E\r\nPython\\style3\\color=F57F3D\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=2E2E2E\r\nPython\\style4\\color=F57F3D\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=2E2E2E\r\nPython\\style5\\color=9865A8\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=2E2E2E\r\nPython\\style6\\color=F57F3D\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=2E2E2E\r\nPython\\style7\\color=F57F3D\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=2E2E2E\r\nPython\\style8\\color=C7C7C7\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=2E2E2E\r\nPython\\style9\\color=C7C7C7\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=2E2E2E\r\nPython\\style10\\color=8F8F8F\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=2E2E2E\r\nPython\\style11\\color=C7C7C7\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=2E2E2E\r\nPython\\style12\\color=F57F3D\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=2E2E2E\r\nPython\\defaultcolor=C7C7C7\r\nPython\\defaultpaper=2E2E2E\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=C7C7C7\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2E2E2E\r\nC%2B%2B\\style1\\color=666666\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2E2E2E\r\nC%2B%2B\\style2\\color=666666\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2E2E2E\r\nC%2B%2B\\style3\\color=666666\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2E2E2E\r\nC%2B%2B\\style4\\color=E6C74E\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2E2E2E\r\nC%2B%2B\\style5\\color=9865A8\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=2E2E2E\r\nC%2B%2B\\style6\\color=F57F3D\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2E2E2E\r\nC%2B%2B\\style7\\color=F57F3D\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2E2E2E\r\nC%2B%2B\\style9\\color=FF5757\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2E2E2E\r\nC%2B%2B\\style10\\color=8F8F8F\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2E2E2E\r\nC%2B%2B\\style11\\color=C7C7C7\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2E2E2E\r\nC%2B%2B\\style13\\color=E6C74E\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2E2E2E\r\nC%2B%2B\\style14\\color=E6C74E\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2E2E2E\r\nC%2B%2B\\style15\\color=666666\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2E2E2E\r\nC%2B%2B\\style16\\color=9865A8\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2E2E2E\r\nC%2B%2B\\style17\\color=666666\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2E2E2E\r\nC%2B%2B\\style18\\color=666666\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2E2E2E\r\nC%2B%2B\\style23\\color=666666\r\nC%2B%2B\\style23\\eolfill=false\r\nC%2B%2B\\style23\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper=2E2E2E\r\nC%2B%2B\\style24\\color=666666\r\nC%2B%2B\\style24\\eolfill=false\r\nC%2B%2B\\style24\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper=2E2E2E\r\nC%2B%2B\\defaultcolor=C7C7C7\r\nC%2B%2B\\defaultpaper=2E2E2E\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=C7C7C7\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=2E2E2E\r\nRuby\\style1\\color=C7C7C7\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=2E2E2E\r\nRuby\\style2\\color=666666\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=2E2E2E\r\nRuby\\style3\\color=666666\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=2E2E2E\r\nRuby\\style4\\color=E6C74E\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=2E2E2E\r\nRuby\\style5\\color=9865A8\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=2E2E2E\r\nRuby\\style6\\color=F57F3D\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=2E2E2E\r\nRuby\\style7\\color=F57F3D\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=2E2E2E\r\nRuby\\style8\\color=A88AB6\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=2E2E2E\r\nRuby\\style9\\color=A88AB6\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=2E2E2E\r\nRuby\\style10\\color=8F8F8F\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=2E2E2E\r\nRuby\\style11\\color=C7C7C7\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=2E2E2E\r\nRuby\\style12\\color=E6C74E\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=2E2E2E\r\nRuby\\style13\\color=FF5757\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=2E2E2E\r\nRuby\\style14\\color=C7C7C7\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=2E2E2E\r\nRuby\\style15\\color=A88AB6\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=2E2E2E\r\nRuby\\style16\\color=FF5757\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=2E2E2E\r\nRuby\\style17\\color=C7C7C7\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=2E2E2E\r\nRuby\\style18\\color=E6C74E\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=2E2E2E\r\nRuby\\style19\\color=C7C7C7\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=2E2E2E\r\nRuby\\style24\\color=F57F3D\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=2E2E2E\r\nRuby\\defaultcolor=C7C7C7\r\nRuby\\defaultpaper=2E2E2E\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=C7C7C7\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=2E2E2E\r\nSQL\\style1\\color=666666\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=2E2E2E\r\nSQL\\style2\\color=666666\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=2E2E2E\r\nSQL\\style4\\color=E6C74E\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=2E2E2E\r\nSQL\\style5\\color=9865A8\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=2E2E2E\r\nSQL\\style6\\color=F57F3D\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=2E2E2E\r\nSQL\\style7\\color=F57F3D\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=2E2E2E\r\nSQL\\style10\\color=8F8F8F\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=2E2E2E\r\nSQL\\defaultcolor=C7C7C7\r\nSQL\\defaultpaper=2E2E2E\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=C7C7C7\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=2E2E2E\r\nTCL\\style1\\color=666666\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=2E2E2E\r\nTCL\\style2\\color=666666\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=2E2E2E\r\nTCL\\style3\\color=666666\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=2E2E2E\r\nTCL\\style4\\color=E6C74E\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=2E2E2E\r\nTCL\\style5\\color=9865A8\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=2E2E2E\r\nTCL\\style6\\color=F57F3D\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=2E2E2E\r\nTCL\\style7\\color=F57F3D\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=2E2E2E\r\nTCL\\style9\\color=FF5757\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=2E2E2E\r\nTCL\\style10\\color=8F8F8F\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=2E2E2E\r\nTCL\\style11\\color=C7C7C7\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=2E2E2E\r\nTCL\\style13\\color=E6C74E\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=2E2E2E\r\nTCL\\style14\\color=E6C74E\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=2E2E2E\r\nTCL\\style15\\color=666666\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=2E2E2E\r\nTCL\\style16\\color=9865A8\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=2E2E2E\r\nTCL\\style17\\color=666666\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=2E2E2E\r\nTCL\\style18\\color=666666\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=2E2E2E\r\nTCL\\defaultcolor=C7C7C7\r\nTCL\\defaultpaper=2E2E2E\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=C7C7C7\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=2E2E2E\r\nTXT\\style1\\color=C7C7C7\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=2E2E2E\r\nTXT\\style2\\color=9865A8\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=2E2E2E\r\nTXT\\defaultcolor=C7C7C7\r\nTXT\\defaultpaper=2E2E2E\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=C7C7C7\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=2E2E2E\r\nVB\\style1\\color=666666\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=2E2E2E\r\nVB\\style2\\color=E6C74E\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=2E2E2E\r\nVB\\style3\\color=9865A8\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=2E2E2E\r\nVB\\style4\\color=F57F3D\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=2E2E2E\r\nVB\\style5\\color=FF5757\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=2E2E2E\r\nVB\\style6\\color=8F8F8F\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=2E2E2E\r\nVB\\style7\\color=C7C7C7\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=2E2E2E\r\nVB\\style8\\color=F57F3D\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=2E2E2E\r\nVB\\defaultcolor=C7C7C7\r\nVB\\defaultpaper=2E2E2E\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=C7C7C7\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=2E2E2E\r\nVerilog\\style1\\color=666666\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=2E2E2E\r\nVerilog\\style2\\color=666666\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=2E2E2E\r\nVerilog\\style3\\color=666666\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=2E2E2E\r\nVerilog\\style4\\color=E6C74E\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=2E2E2E\r\nVerilog\\style5\\color=9865A8\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=2E2E2E\r\nVerilog\\style6\\color=F57F3D\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=2E2E2E\r\nVerilog\\style7\\color=9865A8\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=2E2E2E\r\nVerilog\\style9\\color=FF5757\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=2E2E2E\r\nVerilog\\style10\\color=8F8F8F\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=2E2E2E\r\nVerilog\\style11\\color=C7C7C7\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=2E2E2E\r\nVerilog\\style12\\color=F57F3D\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=2E2E2E\r\nVerilog\\style19\\color=C7C7C7\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=2E2E2E\r\nVerilog\\defaultcolor=C7C7C7\r\nVerilog\\defaultpaper=2E2E2E\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=C7C7C7\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=2E2E2E\r\nVHDL\\style1\\color=666666\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=2E2E2E\r\nVHDL\\style2\\color=666666\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=2E2E2E\r\nVHDL\\style3\\color=E6C74E\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=2E2E2E\r\nVHDL\\style4\\color=F57F3D\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=2E2E2E\r\nVHDL\\style5\\color=8F8F8F\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=2E2E2E\r\nVHDL\\style6\\color=C7C7C7\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=2E2E2E\r\nVHDL\\style7\\color=F57F3D\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=2E2E2E\r\nVHDL\\style8\\color=9865A8\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=2E2E2E\r\nVHDL\\style9\\color=9865A8\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=2E2E2E\r\nVHDL\\style10\\color=C7C7C7\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=2E2E2E\r\nVHDL\\style11\\color=C7C7C7\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=2E2E2E\r\nVHDL\\style12\\color=C7C7C7\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=2E2E2E\r\nVHDL\\style13\\color=C7C7C7\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=2E2E2E\r\nVHDL\\style14\\color=C7C7C7\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=2E2E2E\r\nVHDL\\defaultcolor=C7C7C7\r\nVHDL\\defaultpaper=2E2E2E\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=C7C7C7\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=2E2E2E\r\nXML\\style1\\color=A88AB6\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=2E2E2E\r\nXML\\style2\\color=A88AB6\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=2E2E2E\r\nXML\\style3\\color=FF5757\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=2E2E2E\r\nXML\\style4\\color=FF5757\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=2E2E2E\r\nXML\\style5\\color=E6C74E\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=2E2E2E\r\nXML\\style6\\color=F57F3D\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=2E2E2E\r\nXML\\style7\\color=F57F3D\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=2E2E2E\r\nXML\\style9\\color=666666\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=2E2E2E\r\nXML\\style10\\color=E6C74E\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=2E2E2E\r\nXML\\style11\\color=A88AB6\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=2E2E2E\r\nXML\\style12\\color=A88AB6\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=2E2E2E\r\nXML\\style13\\color=A88AB6\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=2E2E2E\r\nXML\\style17\\color=F57F3D\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=2E2E2E\r\nXML\\style21\\color=F57F3D\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=2E2E2E\r\nXML\\defaultcolor=C7C7C7\r\nXML\\defaultpaper=2E2E2E\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/DansLeRuSH-Dark/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color=C7C7C7\r\nYAML\\style0\\eolfill=false\r\nYAML\\style0\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style0\\paper=2E2E2E\r\nYAML\\style1\\color=666666\r\nYAML\\style1\\eolfill=false\r\nYAML\\style1\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style1\\paper=2E2E2E\r\nYAML\\style2\\color=C7C7C7\r\nYAML\\style2\\eolfill=false\r\nYAML\\style2\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style2\\paper=2E2E2E\r\nYAML\\style3\\color=9865A8\r\nYAML\\style3\\eolfill=false\r\nYAML\\style3\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style3\\paper=2E2E2E\r\nYAML\\style4\\color=E6C74E\r\nYAML\\style4\\eolfill=false\r\nYAML\\style4\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style4\\paper=2E2E2E\r\nYAML\\style5\\color=A88AB6\r\nYAML\\style5\\eolfill=false\r\nYAML\\style5\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style5\\paper=2E2E2E\r\nYAML\\style6\\color=E6C74E\r\nYAML\\style6\\eolfill=false\r\nYAML\\style6\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style6\\paper=2E2E2E\r\nYAML\\style7\\color=E6C74E\r\nYAML\\style7\\eolfill=false\r\nYAML\\style7\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style7\\paper=2E2E2E\r\nYAML\\style8\\color=A88AB6\r\nYAML\\style8\\eolfill=false\r\nYAML\\style8\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style8\\paper=2E2E2E\r\nYAML\\defaultcolor=C7C7C7\r\nYAML\\defaultpaper=2E2E2E\r\nYAML\\defaultfont=Courier New, 14, 0, 0, 0\r\nYAML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=FFFFFF\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style0\\paper=000000\r\nGlobal\\style1\\color=FFFFFF\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style1\\paper=000000\r\nGlobal\\style2\\color=C0C0C0\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style2\\paper=000000\r\nGlobal\\style3\\color=00FF00\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style3\\paper=000000\r\nGlobal\\style4\\color=FF0000\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style4\\paper=000000\r\nGlobal\\style5\\color=0080C0\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style5\\paper=333333\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style6\\paper=6699CC\r\nGlobal\\style7\\color=FFFFFF\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style7\\paper=253B76\r\nGlobal\\style8\\color=80FFFF\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style8\\paper=112435\r\nGlobal\\style9\\color=C0C0C0\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style9\\paper=333333\r\nGlobal\\style10\\color=FFFFFF\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style10\\paper=333333\r\nGlobal\\style11\\color=6A6A6A\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style11\\paper=333333\r\nGlobal\\style12\\color=6A6A6A\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style12\\paper=000000\r\nGlobal\\style13\\color=1A1A1A\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style13\\paper=1A1A1A\r\nGlobal\\style14\\color=FF8080\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style14\\paper=EEEEEC\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style15\\paper=80FF00\r\nGlobal\\style16\\color=FFFF00\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=FFFFFF\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=FFFFFF\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=FFFFFF\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=FFFFFF\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=FFFFFF\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=555753\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style22\\paper=FF8000\r\nGlobal\\style23\\color=FCAF3E\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style23\\paper=0080FF\r\nGlobal\\style24\\color=FFFFFF\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style24\\paper=808080\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 13, 0, 0, 0\r\nGlobal\\style25\\paper=000000\r\nGlobal\\defaultcolor=FFFFFF\r\nGlobal\\defaultpaper=000000\r\nGlobal\\defaultfont=Courier New, 13, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper=000000\r\nHTML\\style15\\color=FFFFFF\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style15\\paper=000000\r\nHTML\\style16\\color=FFFFFF\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style16\\paper=FFC000\r\nHTML\\style81\\color=66FF00\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style81\\paper=C4F9FD\r\nHTML\\style82\\color=9933CC\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style82\\paper=C4F9FD\r\nHTML\\style83\\color=99CC99\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style83\\paper=C4F9FD\r\nHTML\\style84\\color=FFCC00\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style84\\paper=C4F9FD\r\nHTML\\style85\\color=66FF00\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style85\\paper=C4F9FD\r\nHTML\\style86\\color=FFFFFF\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style86\\paper=C4F9FD\r\nHTML\\style87\\color=66FF00\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style87\\paper=C4F9FD\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=000000\r\nHTML\\defaultfont=Courier New, 13, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=FFFFFF\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 13, 0, 0, 0\r\nBash\\style0\\paper=000000\r\nBash\\style1\\color=FFFFFF\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 13, 0, 0, 0\r\nBash\\style1\\paper=FF0000\r\nBash\\style2\\color=00FF00\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 13, 0, 0, 0\r\nBash\\style2\\paper=000000\r\nBash\\style3\\color=99CC99\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 13, 0, 0, 0\r\nBash\\style3\\paper=000000\r\nBash\\style4\\color=FF6600\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 13, 0, 0, 0\r\nBash\\style4\\paper=000000\r\nBash\\style5\\color=66FF00\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 13, 0, 0, 0\r\nBash\\style5\\paper=000000\r\nBash\\style6\\color=66FF00\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 13, 0, 0, 0\r\nBash\\style6\\paper=000000\r\nBash\\style7\\color=EDF8F9\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 13, 0, 0, 0\r\nBash\\style7\\paper=000000\r\nBash\\style8\\color=FFFFFF\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 13, 0, 0, 0\r\nBash\\style8\\paper=000000\r\nBash\\style9\\color=FF8040\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 13, 0, 0, 0\r\nBash\\style9\\paper=FFFFD9\r\nBash\\style10\\color=9933CC\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 13, 0, 0, 0\r\nBash\\style10\\paper=00FFFF\r\nBash\\style11\\color=804040\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 13, 0, 0, 0\r\nBash\\style11\\paper=E1FFF3\r\nBash\\style12\\color=FF6600\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 13, 0, 0, 0\r\nBash\\style12\\paper=FF0000\r\nBash\\style13\\color=99CC99\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 13, 0, 0, 0\r\nBash\\style13\\paper=0000FF\r\nBash\\defaultcolor=FFFFFF\r\nBash\\defaultpaper=000000\r\nBash\\defaultfont=Courier New, 13, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=FFFFFF\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style0\\paper=000000\r\nBatch\\style1\\color=00FF00\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style1\\paper=000000\r\nBatch\\style2\\color=FF6600\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 13, 1, 0, 0\r\nBatch\\style2\\paper=000000\r\nBatch\\style3\\color=99CC99\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style3\\paper=FFFF80\r\nBatch\\style4\\color=FF00FF\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style4\\paper=000000\r\nBatch\\style5\\color=339999\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style5\\paper=000000\r\nBatch\\style6\\color=FF8000\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style6\\paper=FCFFF0\r\nBatch\\style7\\color=99CC99\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 13, 0, 0, 0\r\nBatch\\style7\\paper=000000\r\nBatch\\defaultcolor=FFFFFF\r\nBatch\\defaultpaper=000000\r\nBatch\\defaultfont=Courier New, 13, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=00FF00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=00FF00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=00FF00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 13, 1, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=C0C0C0\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=00FF00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 13, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=00FF00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=00FF00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=FFFFFF\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style0\\paper=000000\r\nCMake\\style1\\color=00FF00\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style1\\paper=000000\r\nCMake\\style2\\color=66FF00\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style2\\paper=000000\r\nCMake\\style3\\color=66FF00\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style3\\paper=000000\r\nCMake\\style4\\color=66FF00\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style4\\paper=000000\r\nCMake\\style5\\color=FF6600\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style5\\paper=000000\r\nCMake\\style6\\color=66FF00\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style6\\paper=000000\r\nCMake\\style7\\color=FF8040\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style7\\paper=000000\r\nCMake\\style8\\color=FFCC00\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style8\\paper=000000\r\nCMake\\style9\\color=339999\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style9\\paper=000000\r\nCMake\\style10\\color=00FF00\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style10\\paper=000000\r\nCMake\\style11\\color=66FF00\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style11\\paper=000000\r\nCMake\\style12\\color=99CC99\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style12\\paper=000000\r\nCMake\\style13\\color=66FF00\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style13\\paper=000000\r\nCMake\\style14\\color=804040\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 13, 0, 0, 0\r\nCMake\\style14\\paper=000000\r\nCMake\\defaultcolor=FFFFFF\r\nCMake\\defaultpaper=000000\r\nCMake\\defaultfont=Courier New, 13, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=00FF00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=00FF00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=00FF00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 13, 1, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=FFFF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=FF8080\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=C0C0C0\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=00FF00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=00FFFF\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 13, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=00FF00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=00FF00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=FFFFFF\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style0\\paper=000000\r\nC%23\\style1\\color=00FF00\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style1\\paper=000000\r\nC%23\\style2\\color=00FF00\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style2\\paper=000000\r\nC%23\\style3\\color=00FF00\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style3\\paper=000000\r\nC%23\\style4\\color=FF8000\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style4\\paper=000000\r\nC%23\\style5\\color=FF6600\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 13, 1, 0, 0\r\nC%23\\style5\\paper=000000\r\nC%23\\style6\\color=66FF00\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style6\\paper=000000\r\nC%23\\style7\\color=66FF00\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style7\\paper=000000\r\nC%23\\style9\\color=EDF8F9\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style9\\paper=000000\r\nC%23\\style10\\color=FFCC00\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style10\\paper=000000\r\nC%23\\style11\\color=FFFFFF\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style11\\paper=000000\r\nC%23\\style13\\color=FFFFFF\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style13\\paper=000000\r\nC%23\\style14\\color=FFFFFF\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style14\\paper=000000\r\nC%23\\style15\\color=00FF00\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style15\\paper=000000\r\nC%23\\style16\\color=66FF00\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 13, 1, 0, 0\r\nC%23\\style16\\paper=000000\r\nC%23\\style17\\color=00FF00\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style17\\paper=000000\r\nC%23\\style18\\color=00FF00\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 13, 0, 0, 0\r\nC%23\\style18\\paper=000000\r\nC%23\\defaultcolor=FFFFFF\r\nC%23\\defaultpaper=000000\r\nC%23\\defaultfont=Courier New, 13, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=FFFFFF\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style0\\paper=000000\r\nCSS\\style1\\color=FF6600\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style1\\paper=000000\r\nCSS\\style2\\color=99CC99\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style2\\paper=000000\r\nCSS\\style3\\color=FF8000\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style3\\paper=000000\r\nCSS\\style4\\color=FF8080\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style4\\paper=000000\r\nCSS\\style5\\color=FFFFFF\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style5\\paper=000000\r\nCSS\\style6\\color=999966\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style6\\paper=000000\r\nCSS\\style7\\color=FFFFFF\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style7\\paper=000000\r\nCSS\\style8\\color=FFFFFF\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style8\\paper=000000\r\nCSS\\style9\\color=00FF00\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style9\\paper=000000\r\nCSS\\style10\\color=339999\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style10\\paper=000000\r\nCSS\\style11\\color=99CC99\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style11\\paper=000000\r\nCSS\\style12\\color=339999\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style12\\paper=000000\r\nCSS\\style13\\color=FFFF00\r\nCSS\\style13\\eolfill=false\r\nCSS\\style13\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style13\\paper=000000\r\nCSS\\style14\\color=FF8080\r\nCSS\\style14\\eolfill=false\r\nCSS\\style14\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style14\\paper=000000\r\nCSS\\style16\\color=800000\r\nCSS\\style16\\eolfill=false\r\nCSS\\style16\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style16\\paper=000000\r\nCSS\\style18\\color=FF8000\r\nCSS\\style18\\eolfill=false\r\nCSS\\style18\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style18\\paper=000000\r\nCSS\\style20\\color=FF8000\r\nCSS\\style20\\eolfill=false\r\nCSS\\style20\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style20\\paper=000000\r\nCSS\\style22\\color=339999\r\nCSS\\style22\\eolfill=false\r\nCSS\\style22\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style22\\paper=000000\r\nCSS\\style23\\color=FF8000\r\nCSS\\style23\\eolfill=false\r\nCSS\\style23\\font=Courier New, 13, 0, 0, 0\r\nCSS\\style23\\paper=000000\r\nCSS\\defaultcolor=FFFFFF\r\nCSS\\defaultpaper=000000\r\nCSS\\defaultfont=Courier New, 13, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=FFFFFF\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style0\\paper=000000\r\nDiff\\style1\\color=00FF00\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style1\\paper=000000\r\nDiff\\style2\\color=FF6600\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style2\\paper=000000\r\nDiff\\style3\\color=66FF00\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style3\\paper=000000\r\nDiff\\style4\\color=FF8000\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style4\\paper=000000\r\nDiff\\style5\\color=808040\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style5\\paper=000000\r\nDiff\\style6\\color=339999\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 13, 0, 0, 0\r\nDiff\\style6\\paper=000000\r\nDiff\\defaultcolor=FFFFFF\r\nDiff\\defaultpaper=000000\r\nDiff\\defaultfont=Courier New, 13, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=FFFFFF\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style0\\paper=000000\r\nFortran\\style1\\color=00FF00\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style1\\paper=000000\r\nFortran\\style2\\color=FF8000\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style2\\paper=000000\r\nFortran\\style3\\color=66FF00\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style3\\paper=000000\r\nFortran\\style4\\color=66FF00\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style4\\paper=000000\r\nFortran\\style5\\color=808040\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style5\\paper=000000\r\nFortran\\style6\\color=FFCC00\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style6\\paper=000000\r\nFortran\\style7\\color=FFFFFF\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style7\\paper=000000\r\nFortran\\style8\\color=FF6600\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style8\\paper=000000\r\nFortran\\style9\\color=66FF00\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style9\\paper=000000\r\nFortran\\style10\\color=0080C0\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style10\\paper=000000\r\nFortran\\style11\\color=800000\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style11\\paper=000000\r\nFortran\\style12\\color=66FF00\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style12\\paper=000000\r\nFortran\\style13\\color=FFFFFF\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style13\\paper=FF80FF\r\nFortran\\style14\\color=00FF00\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 13, 0, 0, 0\r\nFortran\\style14\\paper=000000\r\nFortran\\defaultcolor=FFFFFF\r\nFortran\\defaultpaper=000000\r\nFortran\\defaultfont=Courier New, 13, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=FFFFFF\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style0\\paper=000000\r\nFortran77\\style1\\color=00FF00\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style1\\paper=000000\r\nFortran77\\style2\\color=FF8000\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style2\\paper=000000\r\nFortran77\\style3\\color=66FF00\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style3\\paper=000000\r\nFortran77\\style4\\color=66FF00\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style4\\paper=000000\r\nFortran77\\style5\\color=808040\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style5\\paper=000000\r\nFortran77\\style6\\color=FFCC00\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style6\\paper=000000\r\nFortran77\\style7\\color=FFFFFF\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style7\\paper=000000\r\nFortran77\\style8\\color=FF6600\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style8\\paper=000000\r\nFortran77\\style9\\color=66FF00\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style9\\paper=000000\r\nFortran77\\style10\\color=0080C0\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style10\\paper=000000\r\nFortran77\\style11\\color=800000\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style11\\paper=000000\r\nFortran77\\style12\\color=66FF00\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style12\\paper=000000\r\nFortran77\\style13\\color=FFFFFF\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style13\\paper=FF80FF\r\nFortran77\\style14\\color=00FF00\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 13, 0, 0, 0\r\nFortran77\\style14\\paper=000000\r\nFortran77\\defaultcolor=FFFFFF\r\nFortran77\\defaultpaper=000000\r\nFortran77\\defaultfont=Courier New, 13, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper=000000\r\nHTML\\style1\\color=FF6600\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style1\\paper=000000\r\nHTML\\style2\\color=FF8080\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style2\\paper=000000\r\nHTML\\style3\\color=99CC99\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style3\\paper=000000\r\nHTML\\style4\\color=FF8080\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style4\\paper=000000\r\nHTML\\style5\\color=FF00FF\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style5\\paper=000000\r\nHTML\\style6\\color=FFFF00\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style6\\paper=000000\r\nHTML\\style7\\color=FFFF80\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style7\\paper=000000\r\nHTML\\style9\\color=00FF00\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style9\\paper=000000\r\nHTML\\style10\\color=0080FF\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper=000000\r\nHTML\\style11\\color=FF6600\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style11\\paper=000000\r\nHTML\\style17\\color=C0C0C0\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style17\\paper=000000\r\nHTML\\style19\\color=00FFFF\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style19\\paper=000000\r\nHTML\\style21\\color=FFFFFF\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style21\\paper=707070\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=000000\r\nHTML\\defaultfont=Courier New, 13, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style0\\paper=000000\r\nProperties\\style1\\color=00FF00\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style1\\paper=000000\r\nProperties\\style2\\color=66FF00\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style2\\paper=070707\r\nProperties\\style3\\color=99CC99\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style3\\paper=000000\r\nProperties\\style4\\color=99CC99\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style4\\paper=000000\r\nProperties\\style5\\color=FF6600\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style5\\paper=000000\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=000000\r\nProperties\\defaultfont=Courier New, 13, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=FFFFFF\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 13, 0, 0, 0\r\nJava\\style0\\paper=000000\r\nJava\\style1\\color=00FF00\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 13, 0, 0, 0\r\nJava\\style1\\paper=000000\r\nJava\\style2\\color=00FF00\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 13, 0, 0, 0\r\nJava\\style2\\paper=000000\r\nJava\\style3\\color=00FF00\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 13, 0, 0, 0\r\nJava\\style3\\paper=000000\r\nJava\\style4\\color=FF8000\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 13, 0, 0, 0\r\nJava\\style4\\paper=000000\r\nJava\\style5\\color=FF6600\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 13, 1, 0, 0\r\nJava\\style5\\paper=000000\r\nJava\\style6\\color=66FF00\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 13, 0, 0, 0\r\nJava\\style6\\paper=000000\r\nJava\\style7\\color=66FF00\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 13, 0, 0, 0\r\nJava\\style7\\paper=000000\r\nJava\\style10\\color=FFCC00\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 13, 0, 0, 0\r\nJava\\style10\\paper=000000\r\nJava\\style11\\color=FFFFFF\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 13, 0, 0, 0\r\nJava\\style11\\paper=000000\r\nJava\\style13\\color=FFFFFF\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 13, 0, 0, 0\r\nJava\\style13\\paper=000000\r\nJava\\style14\\color=FFFFFF\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 13, 0, 0, 0\r\nJava\\style14\\paper=000000\r\nJava\\style15\\color=00FF00\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 13, 0, 0, 0\r\nJava\\style15\\paper=000000\r\nJava\\style16\\color=66FF00\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 13, 1, 0, 0\r\nJava\\style16\\paper=000000\r\nJava\\style17\\color=00FF00\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 13, 0, 0, 0\r\nJava\\style17\\paper=000000\r\nJava\\style18\\color=00FF00\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 13, 0, 0, 0\r\nJava\\style18\\paper=000000\r\nJava\\defaultcolor=FFFFFF\r\nJava\\defaultpaper=000000\r\nJava\\defaultfont=Courier New, 13, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=FFFFFF\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style0\\paper=000000\r\nJavaScript\\style20\\color=FFFF00\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style20\\paper=000000\r\nJavaScript\\style41\\color=FFFFFF\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style41\\paper=000000\r\nJavaScript\\style42\\color=00FF00\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style42\\paper=000000\r\nJavaScript\\style43\\color=00FF00\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style43\\paper=000000\r\nJavaScript\\style44\\color=772CB7\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style44\\paper=070707\r\nJavaScript\\style45\\color=99CC99\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style45\\paper=000000\r\nJavaScript\\style46\\color=FF6600\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style46\\paper=000000\r\nJavaScript\\style47\\color=FFCC00\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style47\\paper=000000\r\nJavaScript\\style48\\color=FFFF00\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style48\\paper=000000\r\nJavaScript\\style49\\color=FFFF00\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style49\\paper=000000\r\nJavaScript\\style50\\color=999966\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style50\\paper=000000\r\nJavaScript\\style51\\color=CCCCCC\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style51\\paper=000000\r\nJavaScript\\style52\\color=339999\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 13, 0, 0, 0\r\nJavaScript\\style52\\paper=000000\r\nJavaScript\\defaultcolor=FFFFFF\r\nJavaScript\\defaultpaper=000000\r\nJavaScript\\defaultfont=Courier New, 13, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=FFFFFF\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style0\\paper=000000\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style1\\paper=000000\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style2\\paper=000000\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style3\\paper=000000\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style4\\paper=000000\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style5\\paper=000000\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style6\\paper=000000\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style7\\paper=000000\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style8\\paper=000000\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style9\\paper=000000\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style10\\paper=000000\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style11\\paper=000000\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style12\\paper=000000\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 13, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=FFFFFF\r\nJSON\\defaultpaper=000000\r\nJSON\\defaultfont=Courier New, 13, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=FFFFFF\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 13, 0, 0, 0\r\nLua\\style0\\paper=000000\r\nLua\\style1\\color=00FF00\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 13, 0, 0, 0\r\nLua\\style1\\paper=000000\r\nLua\\style2\\color=00FF00\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 13, 0, 0, 0\r\nLua\\style2\\paper=000000\r\nLua\\style3\\color=00FF00\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 13, 0, 0, 0\r\nLua\\style3\\paper=000000\r\nLua\\style4\\color=FF8000\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 13, 0, 0, 0\r\nLua\\style4\\paper=000000\r\nLua\\style5\\color=FF6600\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 13, 0, 0, 0\r\nLua\\style5\\paper=000000\r\nLua\\style6\\color=66FF00\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 13, 0, 0, 0\r\nLua\\style6\\paper=000000\r\nLua\\style7\\color=66FF00\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 13, 0, 0, 0\r\nLua\\style7\\paper=000000\r\nLua\\style8\\color=95004A\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 13, 0, 0, 0\r\nLua\\style8\\paper=000000\r\nLua\\style9\\color=EDF8F9\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 13, 0, 0, 0\r\nLua\\style9\\paper=000000\r\nLua\\style10\\color=FFCC00\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 13, 0, 0, 0\r\nLua\\style10\\paper=000000\r\nLua\\style13\\color=0080C0\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 13, 0, 0, 0\r\nLua\\style13\\paper=000000\r\nLua\\style14\\color=66FF00\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 13, 0, 0, 0\r\nLua\\style14\\paper=000000\r\nLua\\style15\\color=0000A0\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 13, 0, 0, 0\r\nLua\\style15\\paper=000000\r\nLua\\defaultcolor=FFFFFF\r\nLua\\defaultpaper=000000\r\nLua\\defaultfont=Courier New, 13, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=FFFFFF\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style0\\paper=000000\r\nMakefile\\style1\\color=00FF00\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style1\\paper=000000\r\nMakefile\\style2\\color=FFFF00\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style2\\paper=000000\r\nMakefile\\style3\\color=FF6600\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style3\\paper=000000\r\nMakefile\\style4\\color=FFFFFF\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style4\\paper=000000\r\nMakefile\\style5\\color=99CC99\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style5\\paper=000000\r\nMakefile\\style9\\color=FFFFFF\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 13, 0, 0, 0\r\nMakefile\\style9\\paper=000000\r\nMakefile\\defaultcolor=FFFFFF\r\nMakefile\\defaultpaper=000000\r\nMakefile\\defaultfont=Courier New, 13, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=FFFFFF\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style0\\paper=000000\r\nMatlab\\style1\\color=00FF00\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style1\\paper=000000\r\nMatlab\\style2\\color=66FF00\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style2\\paper=000000\r\nMatlab\\style3\\color=FF8000\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style3\\paper=000000\r\nMatlab\\style4\\color=FF6600\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style4\\paper=000000\r\nMatlab\\style5\\color=66FF00\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style5\\paper=000000\r\nMatlab\\style6\\color=FFCC00\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style6\\paper=000000\r\nMatlab\\style7\\color=FFFFFF\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style7\\paper=000000\r\nMatlab\\style8\\color=66FF00\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 13, 0, 0, 0\r\nMatlab\\style8\\paper=000000\r\nMatlab\\defaultcolor=FFFFFF\r\nMatlab\\defaultpaper=000000\r\nMatlab\\defaultfont=Courier New, 13, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=FFFFFF\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style0\\paper=000000\r\nNSIS\\style1\\color=00FF00\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style1\\paper=000000\r\nNSIS\\style2\\color=FFFF00\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style2\\paper=000000\r\nNSIS\\style3\\color=FFFF80\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style3\\paper=000000\r\nNSIS\\style4\\color=FFFF80\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style4\\paper=000000\r\nNSIS\\style5\\color=00FFFF\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style5\\paper=000000\r\nNSIS\\style6\\color=FF8000\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style6\\paper=000000\r\nNSIS\\style7\\color=FF00FF\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style7\\paper=000000\r\nNSIS\\style8\\color=0080FF\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style8\\paper=000000\r\nNSIS\\style9\\color=FF0080\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style9\\paper=000000\r\nNSIS\\style10\\color=FF8080\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style10\\paper=000000\r\nNSIS\\style11\\color=808040\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style11\\paper=000000\r\nNSIS\\style12\\color=800000\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style12\\paper=000000\r\nNSIS\\style13\\color=BCFF80\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style13\\paper=000000\r\nNSIS\\style14\\color=99CC99\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 13, 0, 0, 0\r\nNSIS\\style14\\paper=000000\r\nNSIS\\defaultcolor=FFFFFF\r\nNSIS\\defaultpaper=000000\r\nNSIS\\defaultfont=Courier New, 13, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=00FF00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=00FF00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=00FF00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=EDF8F9\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=66FF00\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=00FF00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 13, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=00FF00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=00FF00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\style19\\color=A001D6\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style19\\paper=000000\r\nC%2B%2B\\style20\\color=95004A\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style20\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=FFFFFF\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style0\\paper=000000\r\nPascal\\style1\\color=FFFFFF\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style1\\paper=000000\r\nPascal\\style2\\color=00FF00\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style2\\paper=000000\r\nPascal\\style3\\color=00FF00\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style3\\paper=000000\r\nPascal\\style4\\color=00FF00\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style4\\paper=000000\r\nPascal\\style5\\color=808080\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style5\\paper=000000\r\nPascal\\style7\\color=FF00FF\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style7\\paper=000000\r\nPascal\\style9\\color=00FFFF\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style9\\paper=000000\r\nPascal\\style12\\color=FFFF00\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style12\\paper=000000\r\nPascal\\style13\\color=FF8040\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style13\\paper=000000\r\nPascal\\style14\\color=FFFFFF\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 13, 0, 0, 0\r\nPascal\\style14\\paper=000000\r\nPascal\\defaultcolor=FFFFFF\r\nPascal\\defaultpaper=000000\r\nPascal\\defaultfont=Courier New, 13, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=FFFFFF\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style0\\paper=000000\r\nPerl\\style1\\color=FF80C0\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style1\\paper=000000\r\nPerl\\style2\\color=00FF00\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style2\\paper=000000\r\nPerl\\style3\\color=FFFFFF\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style3\\paper=000000\r\nPerl\\style4\\color=99CC99\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style4\\paper=000000\r\nPerl\\style5\\color=FF6600\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style5\\paper=000000\r\nPerl\\style6\\color=66FF00\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style6\\paper=000000\r\nPerl\\style7\\color=66FF00\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style7\\paper=000000\r\nPerl\\style8\\color=EDF8F9\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style8\\paper=000000\r\nPerl\\style9\\color=EDF8F9\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style9\\paper=000000\r\nPerl\\style10\\color=FFCC00\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style10\\paper=000000\r\nPerl\\style12\\color=FF8000\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style12\\paper=000000\r\nPerl\\style13\\color=CF34CF\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style13\\paper=000000\r\nPerl\\style14\\color=999966\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style14\\paper=000000\r\nPerl\\style15\\color=99CC99\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style15\\paper=000000\r\nPerl\\style17\\color=8080FF\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style17\\paper=F8FEDE\r\nPerl\\style18\\color=999966\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style18\\paper=FFEEEC\r\nPerl\\style19\\color=FF8000\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style19\\paper=000000\r\nPerl\\style20\\color=FFFF00\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style20\\paper=000000\r\nPerl\\style21\\color=66FF00\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 13, 0, 0, 0\r\nPerl\\style21\\paper=000000\r\nPerl\\defaultcolor=FFFFFF\r\nPerl\\defaultpaper=000000\r\nPerl\\defaultfont=Courier New, 13, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper=000000\r\nHTML\\style18\\color=99CC99\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style18\\paper=000000\r\nHTML\\style104\\color=FFFF80\r\nHTML\\style104\\eolfill=false\r\nHTML\\style104\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style104\\paper=000000\r\nHTML\\style118\\color=FFFFFF\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style118\\paper=000000\r\nHTML\\style119\\color=FFFF00\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style119\\paper=000000\r\nHTML\\style120\\color=FFFF80\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style120\\paper=000000\r\nHTML\\style121\\color=00FFFF\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style121\\paper=000000\r\nHTML\\style122\\color=FF00FF\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style122\\paper=000000\r\nHTML\\style123\\color=FF8000\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style123\\paper=000000\r\nHTML\\style124\\color=00FF00\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style124\\paper=000000\r\nHTML\\style125\\color=00FF00\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style125\\paper=000000\r\nHTML\\style126\\color=FFFF80\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style126\\paper=000000\r\nHTML\\style127\\color=C0C0C0\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 13, 0, 0, 0\r\nHTML\\style127\\paper=000000\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=000000\r\nHTML\\defaultfont=Courier New, 13, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style0\\paper=000000\r\nProperties\\style1\\color=00FF00\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style1\\paper=000000\r\nProperties\\style3\\color=99CC99\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style3\\paper=000000\r\nProperties\\style4\\color=99CC99\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style4\\paper=000000\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 13, 0, 0, 0\r\nProperties\\style5\\paper=000000\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=000000\r\nProperties\\defaultfont=Courier New, 13, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=FFFFFF\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 13, 0, 0, 0\r\nPython\\style0\\paper=000000\r\nPython\\style1\\color=00FF00\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 13, 0, 0, 0\r\nPython\\style1\\paper=000000\r\nPython\\style2\\color=99CC99\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 13, 0, 0, 0\r\nPython\\style2\\paper=000000\r\nPython\\style3\\color=66FF00\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 13, 0, 0, 0\r\nPython\\style3\\paper=000000\r\nPython\\style4\\color=66FF00\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 13, 0, 0, 0\r\nPython\\style4\\paper=000000\r\nPython\\style5\\color=FF6600\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 13, 1, 0, 0\r\nPython\\style5\\paper=000000\r\nPython\\style6\\color=FF8000\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 13, 0, 0, 0\r\nPython\\style6\\paper=000000\r\nPython\\style7\\color=FFFFFF\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 13, 0, 0, 0\r\nPython\\style7\\paper=000000\r\nPython\\style8\\color=FFFFFF\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 13, 0, 0, 0\r\nPython\\style8\\paper=000000\r\nPython\\style9\\color=FF00FF\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 13, 0, 0, 0\r\nPython\\style9\\paper=000000\r\nPython\\style10\\color=FFCC00\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 13, 0, 0, 0\r\nPython\\style10\\paper=000000\r\nPython\\style11\\color=FFFFFF\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 13, 0, 0, 0\r\nPython\\style11\\paper=000000\r\nPython\\style12\\color=00FF00\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 13, 0, 0, 0\r\nPython\\style12\\paper=000000\r\nPython\\style13\\color=FFFF00\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Courier New, 13, 0, 0, 0\r\nPython\\style13\\paper=000000\r\nPython\\style16\\color=66FF00\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Courier New, 13, 0, 0, 0\r\nPython\\style16\\paper=000000\r\nPython\\style17\\color=66FF00\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Courier New, 13, 0, 0, 0\r\nPython\\style17\\paper=000000\r\nPython\\style18\\color=FF8000\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Courier New, 13, 0, 0, 0\r\nPython\\style18\\paper=000000\r\nPython\\style19\\color=FFFFFF\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Courier New, 13, 0, 0, 0\r\nPython\\style19\\paper=000000\r\nPython\\defaultcolor=FFFFFF\r\nPython\\defaultpaper=000000\r\nPython\\defaultfont=Courier New, 13, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=00FF00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=00FF00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=00FF00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=EDF8F9\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=00FF00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 13, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=00FF00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=00FF00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 13, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=FFFFFF\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style0\\paper=000000\r\nRuby\\style1\\color=FFFFFF\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style1\\paper=000000\r\nRuby\\style2\\color=00FF00\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style2\\paper=000000\r\nRuby\\style3\\color=004000\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style3\\paper=C0FFC0\r\nRuby\\style4\\color=FF8000\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style4\\paper=000000\r\nRuby\\style5\\color=FF6600\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style5\\paper=000000\r\nRuby\\style6\\color=66FF00\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style6\\paper=000000\r\nRuby\\style7\\color=808000\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style7\\paper=000000\r\nRuby\\style8\\color=0080C0\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style8\\paper=000000\r\nRuby\\style9\\color=8080FF\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style9\\paper=FFFFCC\r\nRuby\\style10\\color=FFCC00\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style10\\paper=000000\r\nRuby\\style11\\color=FFFFFF\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style11\\paper=000000\r\nRuby\\style12\\color=339999\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style12\\paper=000000\r\nRuby\\style13\\color=FFCC00\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style13\\paper=000000\r\nRuby\\style14\\color=FFFFFF\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style14\\paper=000000\r\nRuby\\style15\\color=EDF8F9\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style15\\paper=000000\r\nRuby\\style16\\color=FFFFFF\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style16\\paper=000000\r\nRuby\\style17\\color=FFFFFF\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style17\\paper=000000\r\nRuby\\style18\\color=FFFF00\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style18\\paper=A08080\r\nRuby\\style19\\color=600000\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style19\\paper=FFF0D8\r\nRuby\\style24\\color=66FF00\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 13, 0, 0, 0\r\nRuby\\style24\\paper=000000\r\nRuby\\defaultcolor=FFFFFF\r\nRuby\\defaultpaper=000000\r\nRuby\\defaultfont=Courier New, 13, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=FFFFFF\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style0\\paper=000000\r\nSQL\\style1\\color=00FF00\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style1\\paper=000000\r\nSQL\\style2\\color=00FF00\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style2\\paper=000000\r\nSQL\\style3\\color=00FF00\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style3\\paper=000000\r\nSQL\\style4\\color=FF00FF\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style4\\paper=000000\r\nSQL\\style5\\color=00FFFF\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style5\\paper=000000\r\nSQL\\style6\\color=FFFF80\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style6\\paper=000000\r\nSQL\\style7\\color=FFFF00\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style7\\paper=000000\r\nSQL\\style10\\color=FF8000\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style10\\paper=000000\r\nSQL\\style16\\color=00FFFF\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style16\\paper=000000\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style19\\paper=000000\r\nSQL\\style24\\color=FFFF80\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 13, 0, 0, 0\r\nSQL\\style24\\paper=000000\r\nSQL\\defaultcolor=FFFFFF\r\nSQL\\defaultpaper=000000\r\nSQL\\defaultfont=Courier New, 13, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=FFFFFF\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style0\\paper=000000\r\nTCL\\style1\\color=00FF00\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style1\\paper=000000\r\nTCL\\style2\\color=00FF00\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style2\\paper=000000\r\nTCL\\style3\\color=00FF00\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style3\\paper=000000\r\nTCL\\style4\\color=FF8000\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style4\\paper=000000\r\nTCL\\style5\\color=FF6600\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style5\\paper=000000\r\nTCL\\style6\\color=66FF00\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style6\\paper=000000\r\nTCL\\style7\\color=66FF00\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style7\\paper=000000\r\nTCL\\style9\\color=EDF8F9\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style9\\paper=000000\r\nTCL\\style10\\color=FFCC00\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style10\\paper=000000\r\nTCL\\style11\\color=FFFFFF\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style11\\paper=000000\r\nTCL\\style13\\color=FFFFFF\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style13\\paper=000000\r\nTCL\\style14\\color=FFFFFF\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style14\\paper=000000\r\nTCL\\style15\\color=00FF00\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style15\\paper=000000\r\nTCL\\style16\\color=66FF00\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 13, 1, 0, 0\r\nTCL\\style16\\paper=000000\r\nTCL\\style17\\color=00FF00\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style17\\paper=000000\r\nTCL\\style18\\color=00FF00\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 13, 0, 0, 0\r\nTCL\\style18\\paper=000000\r\nTCL\\defaultcolor=FFFFFF\r\nTCL\\defaultpaper=000000\r\nTCL\\defaultfont=Courier New, 13, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=FFFFFF\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 13, 0, 0, 0\r\nTXT\\style0\\paper=000000\r\nTXT\\style1\\color=FFFFFF\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 13, 0, 0, 0\r\nTXT\\style1\\paper=000000\r\nTXT\\style2\\color=66FF00\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 13, 1, 0, 0\r\nTXT\\style2\\paper=000000\r\nTXT\\defaultcolor=FFFFFF\r\nTXT\\defaultpaper=000000\r\nTXT\\defaultfont=Courier New, 13, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=FFFFFF\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 13, 0, 0, 0\r\nVB\\style0\\paper=000000\r\nVB\\style1\\color=00FF00\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 13, 0, 0, 0\r\nVB\\style1\\paper=000000\r\nVB\\style2\\color=99CC99\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 13, 0, 0, 0\r\nVB\\style2\\paper=000000\r\nVB\\style3\\color=FF6600\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 13, 0, 0, 0\r\nVB\\style3\\paper=000000\r\nVB\\style4\\color=66FF00\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 13, 0, 0, 0\r\nVB\\style4\\paper=000000\r\nVB\\style5\\color=99CC99\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 13, 0, 0, 0\r\nVB\\style5\\paper=000000\r\nVB\\style6\\color=FFFFFF\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 13, 0, 0, 0\r\nVB\\style6\\paper=000000\r\nVB\\style7\\color=FFFFFF\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 13, 0, 0, 0\r\nVB\\style7\\paper=000000\r\nVB\\style8\\color=00FF00\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 13, 0, 0, 0\r\nVB\\style8\\paper=000000\r\nVB\\defaultcolor=FFFFFF\r\nVB\\defaultpaper=000000\r\nVB\\defaultfont=Courier New, 13, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=FFFFFF\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style0\\paper=000000\r\nVerilog\\style1\\color=00FF00\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style1\\paper=000000\r\nVerilog\\style2\\color=00FF00\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style2\\paper=000000\r\nVerilog\\style3\\color=00FF00\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style3\\paper=000000\r\nVerilog\\style4\\color=FF8000\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style4\\paper=000000\r\nVerilog\\style5\\color=FF6600\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style5\\paper=000000\r\nVerilog\\style6\\color=66FF00\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style6\\paper=000000\r\nVerilog\\style7\\color=66FF00\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style7\\paper=000000\r\nVerilog\\style9\\color=EDF8F9\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style9\\paper=000000\r\nVerilog\\style10\\color=FFCC00\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style10\\paper=000000\r\nVerilog\\style11\\color=FFFFFF\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style11\\paper=000000\r\nVerilog\\style12\\color=66FF00\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style12\\paper=F2F4FF\r\nVerilog\\style19\\color=FFFFFF\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 13, 0, 0, 0\r\nVerilog\\style19\\paper=000000\r\nVerilog\\defaultcolor=FFFFFF\r\nVerilog\\defaultpaper=000000\r\nVerilog\\defaultfont=Courier New, 13, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=FFFFFF\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style0\\paper=000000\r\nVHDL\\style1\\color=00FF00\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style1\\paper=000000\r\nVHDL\\style2\\color=00FF00\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style2\\paper=000000\r\nVHDL\\style3\\color=FF8000\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style3\\paper=000000\r\nVHDL\\style4\\color=66FF00\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style4\\paper=000000\r\nVHDL\\style5\\color=FFCC00\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style5\\paper=000000\r\nVHDL\\style6\\color=FFFFFF\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style6\\paper=000000\r\nVHDL\\style7\\color=66FF00\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style7\\paper=000000\r\nVHDL\\style8\\color=FF6600\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style8\\paper=000000\r\nVHDL\\style9\\color=808000\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style9\\paper=000000\r\nVHDL\\style10\\color=FFCC00\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style10\\paper=000000\r\nVHDL\\style11\\color=339999\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style11\\paper=000000\r\nVHDL\\style12\\color=800000\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style12\\paper=000000\r\nVHDL\\style13\\color=66FF00\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style13\\paper=000000\r\nVHDL\\style14\\color=B5E71F\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 13, 0, 0, 0\r\nVHDL\\style14\\paper=000000\r\nVHDL\\defaultcolor=FFFFFF\r\nVHDL\\defaultpaper=000000\r\nVHDL\\defaultfont=Courier New, 13, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=FFFFFF\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 13, 0, 0, 0\r\nXML\\style0\\paper=000000\r\nXML\\style1\\color=FF6600\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 13, 0, 0, 0\r\nXML\\style1\\paper=000000\r\nXML\\style2\\color=FF0000\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 13, 0, 0, 0\r\nXML\\style2\\paper=000000\r\nXML\\style3\\color=99CC99\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 13, 0, 0, 0\r\nXML\\style3\\paper=000000\r\nXML\\style4\\color=008000\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 13, 0, 0, 0\r\nXML\\style4\\paper=000000\r\nXML\\style5\\color=FF00FF\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 13, 0, 0, 0\r\nXML\\style5\\paper=000000\r\nXML\\style6\\color=FFFF00\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 13, 0, 0, 0\r\nXML\\style6\\paper=000000\r\nXML\\style7\\color=FFFF80\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 13, 0, 0, 0\r\nXML\\style7\\paper=000000\r\nXML\\style9\\color=00FF00\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 13, 0, 0, 0\r\nXML\\style9\\paper=000000\r\nXML\\style10\\color=0080FF\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 13, 0, 0, 0\r\nXML\\style10\\paper=000000\r\nXML\\style11\\color=FF6600\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 13, 0, 0, 0\r\nXML\\style11\\paper=000000\r\nXML\\style12\\color=00FF80\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 13, 0, 0, 0\r\nXML\\style12\\paper=000000\r\nXML\\style13\\color=80FF80\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 13, 0, 0, 0\r\nXML\\style13\\paper=000000\r\nXML\\style17\\color=FFCC00\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 13, 0, 0, 0\r\nXML\\style17\\paper=000000\r\nXML\\style21\\color=C0C0C0\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 13, 0, 0, 0\r\nXML\\style21\\paper=000000\r\nXML\\defaultcolor=FFFFFF\r\nXML\\defaultpaper=000000\r\nXML\\defaultfont=Courier New, 13, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Deep Black/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color=FFFFFF\r\nYAML\\style0\\eolfill=false\r\nYAML\\style0\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style0\\paper=000000\r\nYAML\\style1\\color=00FF00\r\nYAML\\style1\\eolfill=false\r\nYAML\\style1\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style1\\paper=000000\r\nYAML\\style2\\color=FFCC00\r\nYAML\\style2\\eolfill=false\r\nYAML\\style2\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style2\\paper=000000\r\nYAML\\style3\\color=00FFFF\r\nYAML\\style3\\eolfill=false\r\nYAML\\style3\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style3\\paper=000000\r\nYAML\\style4\\color=99CC99\r\nYAML\\style4\\eolfill=false\r\nYAML\\style4\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style4\\paper=000000\r\nYAML\\style5\\color=EDF8F9\r\nYAML\\style5\\eolfill=false\r\nYAML\\style5\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style5\\paper=000000\r\nYAML\\style6\\color=00FFFF\r\nYAML\\style6\\eolfill=false\r\nYAML\\style6\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style6\\paper=000000\r\nYAML\\style7\\color=66FF00\r\nYAML\\style7\\eolfill=false\r\nYAML\\style7\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style7\\paper=000000\r\nYAML\\style8\\color=99CC99\r\nYAML\\style8\\eolfill=false\r\nYAML\\style8\\font=Courier New, 13, 0, 0, 0\r\nYAML\\style8\\paper=000000\r\nYAML\\defaultcolor=FFFFFF\r\nYAML\\defaultpaper=000000\r\nYAML\\defaultfont=Courier New, 13, 0, 0, 0\r\nYAML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=B7975D\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style0\\paper=2B0F01\r\nGlobal\\style1\\color=B7975D\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style1\\paper=2B0F01\r\nGlobal\\style2\\color=8B642B\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style2\\paper=2B0F01\r\nGlobal\\style3\\color=2B0F01\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style3\\paper=EC6221\r\nGlobal\\style4\\color=FF00FF\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style4\\paper=2B0F01\r\nGlobal\\style5\\color=0080C0\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style5\\paper=432C13\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style6\\paper=585858\r\nGlobal\\style7\\color=FAF1C6\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style7\\paper=253B76\r\nGlobal\\style8\\color=8B642B\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style8\\paper=112435\r\nGlobal\\style9\\color=8B642B\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style9\\paper=43250B\r\nGlobal\\style10\\color=B7975D\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style10\\paper=43250B\r\nGlobal\\style11\\color=8B642B\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Consolas, 12, 0, 0, 0\r\nGlobal\\style11\\paper=43250B\r\nGlobal\\style12\\color=CFBA28\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Consolas, 12, 0, 0, 0\r\nGlobal\\style12\\paper=1A1A1A\r\nGlobal\\style13\\color=8B642B\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style13\\paper=43250B\r\nGlobal\\style14\\color=CFBA28\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style14\\paper=80FF00\r\nGlobal\\style15\\color=FFFF00\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style15\\paper=008947\r\nGlobal\\style16\\color=555753\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style16\\paper=7578DB\r\nGlobal\\style17\\color=FCAF3E\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style17\\paper=C11418\r\nGlobal\\style18\\color=80D4B2\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style18\\paper=0088CE\r\nGlobal\\style19\\color=FAAA3C\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style19\\paper=BCBB80\r\nGlobal\\style20\\color=FFCAB0\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style20\\paper=4AD231\r\nGlobal\\style21\\color=000000\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style21\\paper=CFBA28\r\nGlobal\\style22\\color=808080\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style22\\paper=2B0F01\r\nGlobal\\style23\\color=FFCAB0\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style23\\paper=990000\r\nGlobal\\style24\\color=000000\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style24\\paper=3D0B0C\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style25\\paper=2B0F01\r\nGlobal\\defaultcolor=B7975D\r\nGlobal\\defaultpaper=2B0F01\r\nGlobal\\defaultfont=Consolas, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=B7975D\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style0\\paper=2B0F01\r\nHTML\\style15\\color=C11418\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style15\\paper=9A7E13\r\nHTML\\style16\\color=D92B10\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style16\\paper=352319\r\nHTML\\style81\\color=B7975D\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style81\\paper=352319\r\nHTML\\style82\\color=208008\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style82\\paper=352319\r\nHTML\\style83\\color=AFA7D6\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style83\\paper=352319\r\nHTML\\style84\\color=4AD231\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style84\\paper=352319\r\nHTML\\style85\\color=BCBB80\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style85\\paper=352319\r\nHTML\\style86\\color=CFBA28\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style86\\paper=352319\r\nHTML\\defaultcolor=B7975D\r\nHTML\\defaultpaper=2B0F01\r\nHTML\\defaultfont=Consolas, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=B7975D\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Consolas, 14, 0, 0, 0\r\nBash\\style0\\paper=2B0F01\r\nBash\\style1\\color=FF00FF\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Consolas, 14, 0, 0, 0\r\nBash\\style1\\paper=2B0F01\r\nBash\\style2\\color=208008\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Consolas, 14, 0, 0, 0\r\nBash\\style2\\paper=2B0F01\r\nBash\\style3\\color=AFA7D6\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Consolas, 14, 0, 0, 0\r\nBash\\style3\\paper=2B0F01\r\nBash\\style4\\color=4AD231\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Consolas, 14, 0, 0, 0\r\nBash\\style4\\paper=2B0F01\r\nBash\\style5\\color=BCBB80\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Consolas, 14, 0, 0, 0\r\nBash\\style5\\paper=2B0F01\r\nBash\\style6\\color=BCBB80\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Consolas, 14, 0, 0, 0\r\nBash\\style6\\paper=2B0F01\r\nBash\\style7\\color=D6C479\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Consolas, 14, 0, 0, 0\r\nBash\\style7\\paper=2B0F01\r\nBash\\style8\\color=CFBA28\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Consolas, 14, 0, 0, 0\r\nBash\\style8\\paper=2B0F01\r\nBash\\style9\\color=BCBB80\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Consolas, 14, 0, 0, 0\r\nBash\\style9\\paper=2B0F01\r\nBash\\style10\\color=0088CE\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Consolas, 14, 0, 0, 0\r\nBash\\style10\\paper=2B0F01\r\nBash\\style11\\color=98AE66\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Consolas, 14, 0, 0, 0\r\nBash\\style11\\paper=602F1A\r\nBash\\style12\\color=C11418\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Consolas, 14, 0, 0, 0\r\nBash\\style12\\paper=2B0F01\r\nBash\\style13\\color=BCBB80\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Consolas, 14, 0, 0, 0\r\nBash\\style13\\paper=2B0F01\r\nBash\\defaultcolor=B7975D\r\nBash\\defaultpaper=2B0F01\r\nBash\\defaultfont=Consolas, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=B7975D\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style0\\paper=2B0F01\r\nBatch\\style1\\color=208008\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style1\\paper=2B0F01\r\nBatch\\style2\\color=4AD231\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Consolas, 14, 1, 0, 0\r\nBatch\\style2\\paper=2B0F01\r\nBatch\\style3\\color=0088CE\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style3\\paper=2B0F01\r\nBatch\\style4\\color=D6C479\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style4\\paper=2B0F01\r\nBatch\\style5\\color=D92B10\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style5\\paper=2B0F01\r\nBatch\\style6\\color=CFBA28\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style6\\paper=2B0F01\r\nBatch\\style7\\color=D6C479\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style7\\paper=2B0F01\r\nBatch\\defaultcolor=B7975D\r\nBatch\\defaultpaper=2B0F01\r\nBatch\\defaultfont=Consolas, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=B7975D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2B0F01\r\nC%2B%2B\\style1\\color=208008\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2B0F01\r\nC%2B%2B\\style2\\color=208008\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2B0F01\r\nC%2B%2B\\style3\\color=208008\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2B0F01\r\nC%2B%2B\\style4\\color=AFA7D6\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2B0F01\r\nC%2B%2B\\style5\\color=4AD231\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=2B0F01\r\nC%2B%2B\\style6\\color=BCBB80\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2B0F01\r\nC%2B%2B\\style7\\color=BCBB80\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2B0F01\r\nC%2B%2B\\style9\\color=C11418\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2B0F01\r\nC%2B%2B\\style10\\color=D6C479\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2B0F01\r\nC%2B%2B\\style11\\color=B7975D\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2B0F01\r\nC%2B%2B\\style13\\color=BCBB80\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2B0F01\r\nC%2B%2B\\style14\\color=0088CE\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2B0F01\r\nC%2B%2B\\style15\\color=208008\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2B0F01\r\nC%2B%2B\\style16\\color=CFBA28\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=2B0F01\r\nC%2B%2B\\style17\\color=208008\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2B0F01\r\nC%2B%2B\\style18\\color=FF00FF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2B0F01\r\nC%2B%2B\\defaultcolor=B7975D\r\nC%2B%2B\\defaultpaper=2B0F01\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=B7975D\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style0\\paper=2B0F01\r\nCMake\\style1\\color=208008\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style1\\paper=2B0F01\r\nCMake\\style2\\color=BCBB80\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style2\\paper=2B0F01\r\nCMake\\style3\\color=BCBB80\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style3\\paper=2B0F01\r\nCMake\\style4\\color=BCBB80\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style4\\paper=2B0F01\r\nCMake\\style5\\color=4AD231\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style5\\paper=2B0F01\r\nCMake\\style6\\color=B7975D\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style6\\paper=2B0F01\r\nCMake\\style7\\color=CFBA28\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style7\\paper=2B0F01\r\nCMake\\style8\\color=7578DB\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style8\\paper=2B0F01\r\nCMake\\style9\\color=4AD231\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style9\\paper=2B0F01\r\nCMake\\style10\\color=4AD231\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style10\\paper=2B0F01\r\nCMake\\style11\\color=4AD231\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style11\\paper=2B0F01\r\nCMake\\style12\\color=4AD231\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style12\\paper=2B0F01\r\nCMake\\style13\\color=CFBA28\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style13\\paper=2B0F01\r\nCMake\\style14\\color=AFA7D6\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style14\\paper=2B0F01\r\nCMake\\defaultcolor=B7975D\r\nCMake\\defaultpaper=2B0F01\r\nCMake\\defaultfont=Consolas, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/coffeescript.ini",
    "content": "[Scintilla]\r\nCoffeeScript\\style0\\color=B7975D\r\nCoffeeScript\\style0\\eolfill=false\r\nCoffeeScript\\style0\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style0\\paper=2B0F01\r\nCoffeeScript\\style1\\color=208008\r\nCoffeeScript\\style1\\eolfill=false\r\nCoffeeScript\\style1\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style1\\paper=2B0F01\r\nCoffeeScript\\style2\\color=208008\r\nCoffeeScript\\style2\\eolfill=false\r\nCoffeeScript\\style2\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style2\\paper=2B0F01\r\nCoffeeScript\\style3\\color=208008\r\nCoffeeScript\\style3\\eolfill=false\r\nCoffeeScript\\style3\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style3\\paper=2B0F01\r\nCoffeeScript\\style4\\color=AFA7D6\r\nCoffeeScript\\style4\\eolfill=false\r\nCoffeeScript\\style4\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style4\\paper=2B0F01\r\nCoffeeScript\\style5\\color=4AD231\r\nCoffeeScript\\style5\\eolfill=false\r\nCoffeeScript\\style5\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style5\\paper=2B0F01\r\nCoffeeScript\\style6\\color=BCBB80\r\nCoffeeScript\\style6\\eolfill=false\r\nCoffeeScript\\style6\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style6\\paper=2B0F01\r\nCoffeeScript\\style7\\color=BCBB80\r\nCoffeeScript\\style7\\eolfill=false\r\nCoffeeScript\\style7\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style7\\paper=2B0F01\r\nCoffeeScript\\style9\\color=C11418\r\nCoffeeScript\\style9\\eolfill=false\r\nCoffeeScript\\style9\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style9\\paper=2B0F01\r\nCoffeeScript\\style10\\color=D6C479\r\nCoffeeScript\\style10\\eolfill=false\r\nCoffeeScript\\style10\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style10\\paper=2B0F01\r\nCoffeeScript\\style11\\color=B7975D\r\nCoffeeScript\\style11\\eolfill=false\r\nCoffeeScript\\style11\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style11\\paper=2B0F01\r\nCoffeeScript\\style13\\color=BCBB80\r\nCoffeeScript\\style13\\eolfill=false\r\nCoffeeScript\\style13\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style13\\paper=2B0F01\r\nCoffeeScript\\style14\\color=0088CE\r\nCoffeeScript\\style14\\eolfill=false\r\nCoffeeScript\\style14\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style14\\paper=2B0F01\r\nCoffeeScript\\style15\\color=208008\r\nCoffeeScript\\style15\\eolfill=false\r\nCoffeeScript\\style15\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style15\\paper=2B0F01\r\nCoffeeScript\\style16\\color=CFBA28\r\nCoffeeScript\\style16\\eolfill=false\r\nCoffeeScript\\style16\\font=Consolas, 14, 1, 0, 0\r\nCoffeeScript\\style16\\paper=2B0F01\r\nCoffeeScript\\style17\\color=208008\r\nCoffeeScript\\style17\\eolfill=false\r\nCoffeeScript\\style17\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style17\\paper=2B0F01\r\nCoffeeScript\\style18\\color=FF00FF\r\nCoffeeScript\\style18\\eolfill=false\r\nCoffeeScript\\style18\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style18\\paper=2B0F01\r\nCoffeeScript\\style19\\color=D92B10\r\nCoffeeScript\\style19\\eolfill=false\r\nCoffeeScript\\style19\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style19\\paper=2B0F01\r\nCoffeeScript\\style22\\color=208008\r\nCoffeeScript\\style22\\eolfill=false\r\nCoffeeScript\\style22\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style22\\paper=2B0F01\r\nCoffeeScript\\style23\\color=0088CE\r\nCoffeeScript\\style23\\eolfill=false\r\nCoffeeScript\\style23\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style23\\paper=2B0F01\r\nCoffeeScript\\style24\\color=208008\r\nCoffeeScript\\style24\\eolfill=false\r\nCoffeeScript\\style24\\font=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\style24\\paper=2B0F01\r\nCoffeeScript\\defaultcolor=B7975D\r\nCoffeeScript\\defaultpaper=2B0F01\r\nCoffeeScript\\defaultfont=Consolas, 14, 0, 0, 0\r\nCoffeeScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=B7975D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2B0F01\r\nC%2B%2B\\style1\\color=208008\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2B0F01\r\nC%2B%2B\\style2\\color=208008\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2B0F01\r\nC%2B%2B\\style3\\color=208008\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2B0F01\r\nC%2B%2B\\style4\\color=AFA7D6\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2B0F01\r\nC%2B%2B\\style5\\color=4AD231\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=2B0F01\r\nC%2B%2B\\style6\\color=BCBB80\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2B0F01\r\nC%2B%2B\\style7\\color=BCBB80\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2B0F01\r\nC%2B%2B\\style9\\color=C11418\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2B0F01\r\nC%2B%2B\\style10\\color=D6C479\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2B0F01\r\nC%2B%2B\\style11\\color=B7975D\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2B0F01\r\nC%2B%2B\\style13\\color=BCBB80\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2B0F01\r\nC%2B%2B\\style14\\color=0088CE\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2B0F01\r\nC%2B%2B\\style15\\color=208008\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2B0F01\r\nC%2B%2B\\style16\\color=CFBA28\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2B0F01\r\nC%2B%2B\\style17\\color=208008\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2B0F01\r\nC%2B%2B\\style18\\color=FF00FF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2B0F01\r\nC%2B%2B\\defaultcolor=B7975D\r\nC%2B%2B\\defaultpaper=2B0F01\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=B7975D\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style0\\paper=2B0F01\r\nC%23\\style1\\color=208008\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style1\\paper=2B0F01\r\nC%23\\style2\\color=208008\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style2\\paper=2B0F01\r\nC%23\\style3\\color=208008\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style3\\paper=2B0F01\r\nC%23\\style4\\color=AFA7D6\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style4\\paper=2B0F01\r\nC%23\\style5\\color=4AD231\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Consolas, 14, 1, 0, 0\r\nC%23\\style5\\paper=2B0F01\r\nC%23\\style6\\color=BCBB80\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style6\\paper=2B0F01\r\nC%23\\style7\\color=BCBB80\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style7\\paper=2B0F01\r\nC%23\\style9\\color=C11418\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style9\\paper=2B0F01\r\nC%23\\style10\\color=D6C479\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style10\\paper=2B0F01\r\nC%23\\style11\\color=B7975D\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style11\\paper=2B0F01\r\nC%23\\style13\\color=BCBB80\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style13\\paper=2B0F01\r\nC%23\\style14\\color=0088CE\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style14\\paper=2B0F01\r\nC%23\\style15\\color=208008\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style15\\paper=2B0F01\r\nC%23\\style16\\color=CFBA28\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%23\\style16\\paper=2B0F01\r\nC%23\\style17\\color=208008\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style17\\paper=2B0F01\r\nC%23\\style18\\color=FF00FF\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style18\\paper=2B0F01\r\nC%23\\defaultcolor=B7975D\r\nC%23\\defaultpaper=2B0F01\r\nC%23\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=B7975D\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style0\\paper=2B0F01\r\nCSS\\style1\\color=0088CE\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style1\\paper=2B0F01\r\nCSS\\style2\\color=CFBA28\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style2\\paper=2B0F01\r\nCSS\\style3\\color=D92B10\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style3\\paper=2B0F01\r\nCSS\\style4\\color=C11418\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style4\\paper=2B0F01\r\nCSS\\style5\\color=D6C479\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style5\\paper=2B0F01\r\nCSS\\style6\\color=B7975D\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style6\\paper=2B0F01\r\nCSS\\style7\\color=FF00FF\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style7\\paper=2B0F01\r\nCSS\\style8\\color=BCBB80\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style8\\paper=2B0F01\r\nCSS\\style9\\color=208008\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style9\\paper=2B0F01\r\nCSS\\style10\\color=4AD231\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style10\\paper=2B0F01\r\nCSS\\style11\\color=C11418\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style11\\paper=2B0F01\r\nCSS\\style12\\color=0088CE\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style12\\paper=2B0F01\r\nCSS\\style13\\color=BCBB80\r\nCSS\\style13\\eolfill=false\r\nCSS\\style13\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style13\\paper=2B0F01\r\nCSS\\style14\\color=BCBB80\r\nCSS\\style14\\eolfill=false\r\nCSS\\style14\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style14\\paper=2B0F01\r\nCSS\\defaultcolor=B7975D\r\nCSS\\defaultpaper=2B0F01\r\nCSS\\defaultfont=Consolas, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=B7975D\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style0\\paper=2B0F01\r\nDiff\\style1\\color=208008\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style1\\paper=2B0F01\r\nDiff\\style2\\color=4AD231\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style2\\paper=2B0F01\r\nDiff\\style3\\color=CFBA28\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style3\\paper=2B0F01\r\nDiff\\style4\\color=D92B10\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style4\\paper=2B0F01\r\nDiff\\style5\\color=7578DB\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style5\\paper=2B0F01\r\nDiff\\style6\\color=0088CE\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style6\\paper=2B0F01\r\nDiff\\defaultcolor=B7975D\r\nDiff\\defaultpaper=2B0F01\r\nDiff\\defaultfont=Consolas, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=B7975D\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style0\\paper=2B0F01\r\nFortran\\style1\\color=208008\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style1\\paper=2B0F01\r\nFortran\\style2\\color=AFA7D6\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style2\\paper=2B0F01\r\nFortran\\style3\\color=BCBB80\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style3\\paper=2B0F01\r\nFortran\\style4\\color=BCBB80\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style4\\paper=2B0F01\r\nFortran\\style5\\color=C11418\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style5\\paper=2B0F01\r\nFortran\\style6\\color=D6C479\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style6\\paper=2B0F01\r\nFortran\\style7\\color=CFBA28\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style7\\paper=2B0F01\r\nFortran\\style8\\color=4AD231\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style8\\paper=2B0F01\r\nFortran\\style9\\color=0088CE\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style9\\paper=2B0F01\r\nFortran\\style10\\color=0088CE\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style10\\paper=2B0F01\r\nFortran\\style11\\color=208008\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style11\\paper=2B0F01\r\nFortran\\style12\\color=D6C479\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style12\\paper=2B0F01\r\nFortran\\style13\\color=D92B10\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style13\\paper=2B0F01\r\nFortran\\style14\\color=FF00FF\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style14\\paper=2B0F01\r\nFortran\\defaultcolor=B7975D\r\nFortran\\defaultpaper=2B0F01\r\nFortran\\defaultfont=Consolas, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=B7975D\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style0\\paper=2B0F01\r\nFortran77\\style1\\color=208008\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style1\\paper=2B0F01\r\nFortran77\\style2\\color=AFA7D6\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style2\\paper=2B0F01\r\nFortran77\\style3\\color=BCBB80\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style3\\paper=2B0F01\r\nFortran77\\style4\\color=BCBB80\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style4\\paper=2B0F01\r\nFortran77\\style5\\color=C11418\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style5\\paper=2B0F01\r\nFortran77\\style6\\color=D6C479\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style6\\paper=2B0F01\r\nFortran77\\style7\\color=CFBA28\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style7\\paper=2B0F01\r\nFortran77\\style8\\color=4AD231\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style8\\paper=2B0F01\r\nFortran77\\style9\\color=0088CE\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style9\\paper=2B0F01\r\nFortran77\\style10\\color=0088CE\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style10\\paper=2B0F01\r\nFortran77\\style11\\color=208008\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style11\\paper=2B0F01\r\nFortran77\\style12\\color=D6C479\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style12\\paper=2B0F01\r\nFortran77\\style13\\color=D92B10\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style13\\paper=2B0F01\r\nFortran77\\style14\\color=FF00FF\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style14\\paper=2B0F01\r\nFortran77\\defaultcolor=B7975D\r\nFortran77\\defaultpaper=2B0F01\r\nFortran77\\defaultfont=Consolas, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=B7975D\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style0\\paper=2B0F01\r\nHTML\\style1\\color=0088CE\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style1\\paper=2B0F01\r\nHTML\\style2\\color=FF00FF\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style2\\paper=2B0F01\r\nHTML\\style3\\color=B7975D\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style3\\paper=2B0F01\r\nHTML\\style4\\color=FF00FF\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style4\\paper=2B0F01\r\nHTML\\style5\\color=FF00FF\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style5\\paper=2B0F01\r\nHTML\\style6\\color=BCBB80\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style6\\paper=2B0F01\r\nHTML\\style7\\color=BCBB80\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style7\\paper=2B0F01\r\nHTML\\style9\\color=208008\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style9\\paper=2B0F01\r\nHTML\\style10\\color=7578DB\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style10\\paper=2B0F01\r\nHTML\\style11\\color=0088CE\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style11\\paper=2B0F01\r\nHTML\\style17\\color=BCBB80\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style17\\paper=2B0F01\r\nHTML\\style19\\color=BCBB80\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style19\\paper=2B0F01\r\nHTML\\style21\\color=2B0F01\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style21\\paper=77610F\r\nHTML\\defaultcolor=B7975D\r\nHTML\\defaultpaper=2B0F01\r\nHTML\\defaultfont=Consolas, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=B7975D\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style0\\paper=2B0F01\r\nProperties\\style1\\color=208008\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style1\\paper=2B0F01\r\nProperties\\style2\\color=0088CE\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style2\\paper=2B0F01\r\nProperties\\style3\\color=BCBB80\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style3\\paper=2B0F01\r\nProperties\\style4\\color=BCBB80\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style4\\paper=2B0F01\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style5\\paper=2B0F01\r\nProperties\\defaultcolor=B7975D\r\nProperties\\defaultpaper=2B0F01\r\nProperties\\defaultfont=Consolas, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=B7975D\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Consolas, 14, 0, 0, 0\r\nJava\\style0\\paper=2B0F01\r\nJava\\style1\\color=208008\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Consolas, 14, 0, 0, 0\r\nJava\\style1\\paper=2B0F01\r\nJava\\style2\\color=208008\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Consolas, 14, 0, 0, 0\r\nJava\\style2\\paper=2B0F01\r\nJava\\style3\\color=208008\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Consolas, 14, 0, 0, 0\r\nJava\\style3\\paper=2B0F01\r\nJava\\style4\\color=AFA7D6\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Consolas, 14, 0, 0, 0\r\nJava\\style4\\paper=2B0F01\r\nJava\\style5\\color=4AD231\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Consolas, 14, 1, 0, 0\r\nJava\\style5\\paper=2B0F01\r\nJava\\style6\\color=BCBB80\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Consolas, 14, 0, 0, 0\r\nJava\\style6\\paper=2B0F01\r\nJava\\style7\\color=BCBB80\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Consolas, 14, 0, 0, 0\r\nJava\\style7\\paper=2B0F01\r\nJava\\style10\\color=D6C479\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Consolas, 14, 0, 0, 0\r\nJava\\style10\\paper=2B0F01\r\nJava\\style11\\color=B7975D\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Consolas, 14, 0, 0, 0\r\nJava\\style11\\paper=2B0F01\r\nJava\\style13\\color=BCBB80\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Consolas, 14, 0, 0, 0\r\nJava\\style13\\paper=2B0F01\r\nJava\\style14\\color=0088CE\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Consolas, 14, 0, 0, 0\r\nJava\\style14\\paper=2B0F01\r\nJava\\style15\\color=208008\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Consolas, 14, 0, 0, 0\r\nJava\\style15\\paper=2B0F01\r\nJava\\style16\\color=CFBA28\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Consolas, 14, 1, 0, 0\r\nJava\\style16\\paper=2B0F01\r\nJava\\style17\\color=0088CE\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Consolas, 14, 0, 0, 0\r\nJava\\style17\\paper=2B0F01\r\nJava\\style18\\color=FF00FF\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Consolas, 14, 0, 0, 0\r\nJava\\style18\\paper=2B0F01\r\nJava\\defaultcolor=B7975D\r\nJava\\defaultpaper=2B0F01\r\nJava\\defaultfont=Consolas, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=B7975D\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=2B0F01\r\nJavaScript\\style17\\color=0088CE\r\nJavaScript\\style17\\eolfill=false\r\nJavaScript\\style17\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style17\\paper=2B0F01\r\nJavaScript\\style18\\color=FF00FF\r\nJavaScript\\style18\\eolfill=false\r\nJavaScript\\style18\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style18\\paper=2B0F01\r\nJavaScript\\style20\\color=BCBB80\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=2b0f01\r\nJavaScript\\style41\\color=B7975D\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=2B0F01\r\nJavaScript\\style42\\color=208008\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=2B0F01\r\nJavaScript\\style43\\color=208008\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=2B0F01\r\nJavaScript\\style44\\color=208008\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=2B0F01\r\nJavaScript\\style45\\color=AFA7D6\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=2B0F01\r\nJavaScript\\style46\\color=CFBA28\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=2B0F01\r\nJavaScript\\style47\\color=4AD231\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=2B0F01\r\nJavaScript\\style48\\color=BCBB80\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=2B0F01\r\nJavaScript\\style49\\color=BCBB80\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=2B0F01\r\nJavaScript\\style50\\color=B7975D\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=2B0F01\r\nJavaScript\\style51\\color=C11418\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=2B0F01\r\nJavaScript\\style52\\color=0088CE\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=2B0F01\r\nJavaScript\\defaultcolor=B7975D\r\nJavaScript\\defaultpaper=2B0F01\r\nJavaScript\\defaultfont=Consolas, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=B7975D\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style0\\paper=2B0F01\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style1\\paper=2B0F01\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style2\\paper=2B0F01\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style3\\paper=2B0F01\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style4\\paper=2B0F01\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style5\\paper=2B0F01\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style6\\paper=2B0F01\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style7\\paper=2B0F01\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style8\\paper=2B0F01\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style9\\paper=2B0F01\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style10\\paper=2B0F01\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style11\\paper=2B0F01\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style12\\paper=2B0F01\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=B7975D\r\nJSON\\defaultpaper=2B0F01\r\nJSON\\defaultfont=Consolas, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=B7975D\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Consolas, 14, 0, 0, 0\r\nLua\\style0\\paper=2B0F01\r\nLua\\style1\\color=208008\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Consolas, 14, 0, 0, 0\r\nLua\\style1\\paper=2B0F01\r\nLua\\style2\\color=208008\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Consolas, 14, 0, 0, 0\r\nLua\\style2\\paper=2B0F01\r\nLua\\style3\\color=208008\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Consolas, 14, 0, 0, 0\r\nLua\\style3\\paper=2B0F01\r\nLua\\style4\\color=AFA7D6\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Consolas, 14, 0, 0, 0\r\nLua\\style4\\paper=2B0F01\r\nLua\\style5\\color=4AD231\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Consolas, 14, 0, 0, 0\r\nLua\\style5\\paper=2B0F01\r\nLua\\style6\\color=BCBB80\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Consolas, 14, 0, 0, 0\r\nLua\\style6\\paper=2B0F01\r\nLua\\style7\\color=BCBB80\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Consolas, 14, 0, 0, 0\r\nLua\\style7\\paper=2B0F01\r\nLua\\style8\\color=BCBB80\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Consolas, 14, 0, 0, 0\r\nLua\\style8\\paper=2B0F01\r\nLua\\style9\\color=C11418\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Consolas, 14, 0, 0, 0\r\nLua\\style9\\paper=2B0F01\r\nLua\\style10\\color=D6C479\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Consolas, 14, 0, 0, 0\r\nLua\\style10\\paper=2B0F01\r\nLua\\style13\\color=D92B10\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Consolas, 14, 0, 0, 0\r\nLua\\style13\\paper=2B0F01\r\nLua\\style14\\color=CFBA28\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Consolas, 14, 0, 0, 0\r\nLua\\style14\\paper=2B0F01\r\nLua\\style15\\color=7578DB\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Consolas, 14, 0, 0, 0\r\nLua\\style15\\paper=2B0F01\r\nLua\\defaultcolor=B7975D\r\nLua\\defaultpaper=2B0F01\r\nLua\\defaultfont=Consolas, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=B7975D\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style0\\paper=2B0F01\r\nMakefile\\style1\\color=208008\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style1\\paper=2B0F01\r\nMakefile\\style2\\color=D92B10\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style2\\paper=2B0F01\r\nMakefile\\style3\\color=0088CE\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style3\\paper=2B0F01\r\nMakefile\\style4\\color=D6C479\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style4\\paper=2B0F01\r\nMakefile\\style5\\color=0088CE\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style5\\paper=2B0F01\r\nMakefile\\style9\\color=D92B10\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style9\\paper=2B0F01\r\nMakefile\\defaultcolor=B7975D\r\nMakefile\\defaultpaper=2B0F01\r\nMakefile\\defaultfont=Consolas, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=B7975D\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style0\\paper=2B0F01\r\nMatlab\\style1\\color=208008\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style1\\paper=2B0F01\r\nMatlab\\style2\\color=4AD231\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style2\\paper=2B0F01\r\nMatlab\\style3\\color=AFA7D6\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style3\\paper=2B0F01\r\nMatlab\\style4\\color=4AD231\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style4\\paper=2B0F01\r\nMatlab\\style5\\color=BCBB80\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style5\\paper=2B0F01\r\nMatlab\\style6\\color=D6C479\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style6\\paper=2B0F01\r\nMatlab\\style7\\color=CFBA28\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style7\\paper=2B0F01\r\nMatlab\\style8\\color=BCBB80\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style8\\paper=2B0F01\r\nMatlab\\defaultcolor=B7975D\r\nMatlab\\defaultpaper=2B0F01\r\nMatlab\\defaultfont=Consolas, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=B7975D\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style0\\paper=2B0F01\r\nNSIS\\style1\\color=208008\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style1\\paper=2B0F01\r\nNSIS\\style2\\color=BCBB80\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style2\\paper=2B0F01\r\nNSIS\\style3\\color=BCBB80\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style3\\paper=2B0F01\r\nNSIS\\style4\\color=BCBB80\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style4\\paper=2B0F01\r\nNSIS\\style5\\color=D92B10\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style5\\paper=2B0F01\r\nNSIS\\style6\\color=CFBA28\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style6\\paper=2B0F01\r\nNSIS\\style7\\color=7578DB\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style7\\paper=2B0F01\r\nNSIS\\style8\\color=BCBB80\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style8\\paper=2B0F01\r\nNSIS\\style9\\color=0088CE\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style9\\paper=2B0F01\r\nNSIS\\style10\\color=0088CE\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style10\\paper=2B0F01\r\nNSIS\\style11\\color=C11418\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style11\\paper=2B0F01\r\nNSIS\\style12\\color=4AD231\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style12\\paper=2B0F01\r\nNSIS\\style13\\color=CFBA28\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style13\\paper=2B0F01\r\nNSIS\\style14\\color=AFA7D6\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style14\\paper=2B0F01\r\nNSIS\\style15\\color=0088CE\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style15\\paper=2B0F01\r\nNSIS\\style16\\color=C11418\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style16\\paper=2B0F01\r\nNSIS\\style17\\color=4AD231\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style17\\paper=2B0F01\r\nNSIS\\style18\\color=208008\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style18\\paper=2B0F01\r\nNSIS\\defaultcolor=B7975D\r\nNSIS\\defaultpaper=2B0F01\r\nNSIS\\defaultfont=Consolas, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=B7975D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2B0F01\r\nC%2B%2B\\style1\\color=208008\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2B0F01\r\nC%2B%2B\\style2\\color=208008\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2B0F01\r\nC%2B%2B\\style3\\color=208008\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2B0F01\r\nC%2B%2B\\style4\\color=AFA7D6\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2B0F01\r\nC%2B%2B\\style5\\color=4AD231\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=2B0F01\r\nC%2B%2B\\style6\\color=BCBB80\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2B0F01\r\nC%2B%2B\\style7\\color=BCBB80\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2B0F01\r\nC%2B%2B\\style9\\color=C11418\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2B0F01\r\nC%2B%2B\\style10\\color=D6C479\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2B0F01\r\nC%2B%2B\\style11\\color=B7975D\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2B0F01\r\nC%2B%2B\\style13\\color=BCBB80\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2B0F01\r\nC%2B%2B\\style14\\color=0088CE\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2B0F01\r\nC%2B%2B\\style15\\color=208008\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2B0F01\r\nC%2B%2B\\style16\\color=CFBA28\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2B0F01\r\nC%2B%2B\\style17\\color=208008\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2B0F01\r\nC%2B%2B\\style18\\color=FF00FF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2B0F01\r\nC%2B%2B\\style19\\color=D92B10\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=2B0F01\r\nC%2B%2B\\style20\\color=0088CE\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=2B0F01\r\nC%2B%2B\\defaultcolor=B7975D\r\nC%2B%2B\\defaultpaper=2B0F01\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=B7975D\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style0\\paper=2B0F01\r\nPascal\\style1\\color=CFBA28\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style1\\paper=2B0F01\r\nPascal\\style2\\color=208008\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style2\\paper=2B0F01\r\nPascal\\style3\\color=208008\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style3\\paper=2B0F01\r\nPascal\\style4\\color=208008\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style4\\paper=2B0F01\r\nPascal\\style5\\color=C11418\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style5\\paper=2B0F01\r\nPascal\\style6\\color=C11418\r\nPascal\\style6\\eolfill=false\r\nPascal\\style6\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style6\\paper=2B0F01\r\nPascal\\style7\\color=AFA7D6\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style7\\paper=2B0F01\r\nPascal\\style8\\color=AFA7D6\r\nPascal\\style8\\eolfill=false\r\nPascal\\style8\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style8\\paper=2B0F01\r\nPascal\\style9\\color=4AD231\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style9\\paper=2B0F01\r\nPascal\\style10\\color=BCBB80\r\nPascal\\style10\\eolfill=false\r\nPascal\\style10\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style10\\paper=2B0F01\r\nPascal\\style12\\color=BCBB80\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style12\\paper=2B0F01\r\nPascal\\style13\\color=D6C479\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style13\\paper=2B0F01\r\nPascal\\style14\\color=0088CE\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style14\\paper=2B0F01\r\nPascal\\defaultcolor=B7975D\r\nPascal\\defaultpaper=2B0F01\r\nPascal\\defaultfont=Consolas, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=B7975D\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style0\\paper=2B0F01\r\nPerl\\style1\\color=FF00FF\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style1\\paper=2B0F01\r\nPerl\\style2\\color=208008\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style2\\paper=2B0F01\r\nPerl\\style3\\color=208008\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style3\\paper=2B0F01\r\nPerl\\style4\\color=AFA7D6\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style4\\paper=2B0F01\r\nPerl\\style5\\color=4AD231\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style5\\paper=2B0F01\r\nPerl\\style6\\color=BCBB80\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style6\\paper=2B0F01\r\nPerl\\style7\\color=BCBB80\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style7\\paper=2B0F01\r\nPerl\\style8\\color=D6C479\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style8\\paper=2B0F01\r\nPerl\\style9\\color=C11418\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style9\\paper=2B0F01\r\nPerl\\style10\\color=D6C479\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style10\\paper=2B0F01\r\nPerl\\style11\\color=CFBA28\r\nPerl\\style11\\eolfill=false\r\nPerl\\style11\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style11\\paper=2B0F01\r\nPerl\\style12\\color=CFBA28\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style12\\paper=2B0F01\r\nPerl\\style13\\color=CFBA28\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style13\\paper=2B0F01\r\nPerl\\style14\\color=CFBA28\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style14\\paper=2B0F01\r\nPerl\\style15\\color=CFBA28\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style15\\paper=2B0F01\r\nPerl\\style17\\color=0088CE\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style17\\paper=2B0F01\r\nPerl\\style18\\color=0088CE\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style18\\paper=2B0F01\r\nPerl\\style19\\color=BCBB80\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style19\\paper=2B0F01\r\nPerl\\style20\\color=98AE66\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style20\\paper=602F1A\r\nPerl\\style21\\color=BCBB80\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style21\\paper=2B0F01\r\nPerl\\style22\\color=BE211A\r\nPerl\\style22\\eolfill=false\r\nPerl\\style22\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style22\\paper=77610F\r\nPerl\\style23\\color=BCBB80\r\nPerl\\style23\\eolfill=false\r\nPerl\\style23\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style23\\paper=2B0F01\r\nPerl\\style24\\color=BCBB80\r\nPerl\\style24\\eolfill=false\r\nPerl\\style24\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style24\\paper=2B0F01\r\nPerl\\style25\\color=98AE66\r\nPerl\\style25\\eolfill=false\r\nPerl\\style25\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style25\\paper=602F1A\r\nPerl\\style26\\color=BCBB80\r\nPerl\\style26\\eolfill=false\r\nPerl\\style26\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style26\\paper=2B0F01\r\nPerl\\style27\\color=BCBB80\r\nPerl\\style27\\eolfill=false\r\nPerl\\style27\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style27\\paper=2B0F01\r\nPerl\\style28\\color=98AE66\r\nPerl\\style28\\eolfill=false\r\nPerl\\style28\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style28\\paper=602F1A\r\nPerl\\style29\\color=0088CE\r\nPerl\\style29\\eolfill=false\r\nPerl\\style29\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style29\\paper=2B0F01\r\nPerl\\style30\\color=BCBB80\r\nPerl\\style30\\eolfill=false\r\nPerl\\style30\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style30\\paper=2b0f01\r\nPerl\\style31\\color=208008\r\nPerl\\style31\\eolfill=false\r\nPerl\\style31\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style31\\paper=2B0F01\r\nPerl\\style41\\color=BCBB80\r\nPerl\\style41\\eolfill=false\r\nPerl\\style41\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style41\\paper=2b0f01\r\nPerl\\style42\\color=BCBB80\r\nPerl\\style42\\eolfill=false\r\nPerl\\style42\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style42\\paper=2b0f01\r\nPerl\\defaultcolor=B7975D\r\nPerl\\defaultpaper=2B0F01\r\nPerl\\defaultfont=Consolas, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=B7975D\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style0\\paper=2B0F01\r\nHTML\\style18\\color=C11418\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style18\\paper=2B0F01\r\nHTML\\style118\\color=B7975D\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style118\\paper=2B0F01\r\nHTML\\style119\\color=BCBB80\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style119\\paper=2B0F01\r\nHTML\\style120\\color=BCBB80\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style120\\paper=2B0F01\r\nHTML\\style121\\color=4AD231\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style121\\paper=2B0F01\r\nHTML\\style122\\color=AFA7D6\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style122\\paper=2B0F01\r\nHTML\\style123\\color=CFBA28\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style123\\paper=2B0F01\r\nHTML\\style124\\color=208008\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style124\\paper=2B0F01\r\nHTML\\style125\\color=208008\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style125\\paper=2B0F01\r\nHTML\\style126\\color=CFBA28\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style126\\paper=2B0F01\r\nHTML\\style127\\color=D6C479\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style127\\paper=2B0F01\r\nHTML\\defaultcolor=B7975D\r\nHTML\\defaultpaper=2B0F01\r\nHTML\\defaultfont=Consolas, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=B7975D\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style0\\paper=2B0F01\r\nProperties\\style1\\color=208008\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style1\\paper=2B0F01\r\nProperties\\style2\\color=0088CE\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style2\\paper=2B0F01\r\nProperties\\style3\\color=D6C479\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style3\\paper=2B0F01\r\nProperties\\style4\\color=D6C479\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style4\\paper=2B0F01\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style5\\paper=2B0F01\r\nProperties\\defaultcolor=B7975D\r\nProperties\\defaultpaper=2B0F01\r\nProperties\\defaultfont=Consolas, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=B7975D\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Consolas, 14, 0, 0, 0\r\nPython\\style0\\paper=2B0F01\r\nPython\\style1\\color=208008\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Consolas, 14, 0, 0, 0\r\nPython\\style1\\paper=2B0F01\r\nPython\\style2\\color=AFA7D6\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Consolas, 14, 0, 0, 0\r\nPython\\style2\\paper=2B0F01\r\nPython\\style3\\color=BCBB80\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Consolas, 14, 0, 0, 0\r\nPython\\style3\\paper=2B0F01\r\nPython\\style4\\color=BCBB80\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Consolas, 14, 0, 0, 0\r\nPython\\style4\\paper=2B0F01\r\nPython\\style5\\color=4AD231\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Consolas, 14, 1, 0, 0\r\nPython\\style5\\paper=2B0F01\r\nPython\\style6\\color=BCBB80\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Consolas, 14, 0, 0, 0\r\nPython\\style6\\paper=2B0F01\r\nPython\\style7\\color=BCBB80\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Consolas, 14, 0, 0, 0\r\nPython\\style7\\paper=2B0F01\r\nPython\\style8\\color=D92B10\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Consolas, 14, 0, 0, 0\r\nPython\\style8\\paper=2B0F01\r\nPython\\style9\\color=D92B10\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Consolas, 14, 0, 0, 0\r\nPython\\style9\\paper=2B0F01\r\nPython\\style10\\color=D6C479\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Consolas, 14, 0, 0, 0\r\nPython\\style10\\paper=2B0F01\r\nPython\\style11\\color=CFBA28\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Consolas, 14, 0, 0, 0\r\nPython\\style11\\paper=2B0F01\r\nPython\\style12\\color=208008\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Consolas, 14, 0, 0, 0\r\nPython\\style12\\paper=2B0F01\r\nPython\\style13\\color=208008\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Consolas, 14, 0, 0, 0\r\nPython\\style13\\paper=2B0F01\r\nPython\\style16\\color=BCBB80\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Consolas, 14, 0, 0, 0\r\nPython\\style16\\paper=2B0F01\r\nPython\\style17\\color=BCBB80\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Consolas, 14, 0, 0, 0\r\nPython\\style17\\paper=2B0F01\r\nPython\\style18\\color=BCBB80\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Consolas, 14, 0, 0, 0\r\nPython\\style18\\paper=2B0F01\r\nPython\\style19\\color=BCBB80\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Consolas, 14, 0, 0, 0\r\nPython\\style19\\paper=2B0F01\r\nPython\\defaultcolor=B7975D\r\nPython\\defaultpaper=2B0F01\r\nPython\\defaultfont=Consolas, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=B7975D\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=2B0F01\r\nC%2B%2B\\style1\\color=208008\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=2B0F01\r\nC%2B%2B\\style2\\color=208008\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=2B0F01\r\nC%2B%2B\\style3\\color=208008\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=2B0F01\r\nC%2B%2B\\style4\\color=AFA7D6\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=2B0F01\r\nC%2B%2B\\style5\\color=4AD231\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=2B0F01\r\nC%2B%2B\\style6\\color=BCBB80\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=2B0F01\r\nC%2B%2B\\style7\\color=BCBB80\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=2B0F01\r\nC%2B%2B\\style9\\color=C11418\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=2B0F01\r\nC%2B%2B\\style10\\color=D6C479\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=2B0F01\r\nC%2B%2B\\style11\\color=B7975D\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=2B0F01\r\nC%2B%2B\\style13\\color=BCBB80\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=2B0F01\r\nC%2B%2B\\style14\\color=0088CE\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=2B0F01\r\nC%2B%2B\\style15\\color=208008\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=2B0F01\r\nC%2B%2B\\style16\\color=D92B10\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=2B0F01\r\nC%2B%2B\\style17\\color=4AD231\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=2B0F01\r\nC%2B%2B\\style18\\color=FF00FF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=2B0F01\r\nC%2B%2B\\defaultcolor=B7975D\r\nC%2B%2B\\defaultpaper=2B0F01\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=B7975D\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style0\\paper=2B0F01\r\nRuby\\style1\\color=C11418\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style1\\paper=2B0F01\r\nRuby\\style2\\color=208008\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style2\\paper=2B0F01\r\nRuby\\style3\\color=B7975D\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style3\\paper=2B0F01\r\nRuby\\style4\\color=AFA7D6\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style4\\paper=2B0F01\r\nRuby\\style5\\color=4AD231\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style5\\paper=2B0F01\r\nRuby\\style6\\color=BCBB80\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style6\\paper=2B0F01\r\nRuby\\style7\\color=BCBB80\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style7\\paper=2B0F01\r\nRuby\\style8\\color=CFBA28\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style8\\paper=2B0F01\r\nRuby\\style9\\color=0088CE\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style9\\paper=2B0F01\r\nRuby\\style10\\color=D6C479\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style10\\paper=2B0F01\r\nRuby\\style11\\color=CFBA28\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style11\\paper=2B0F01\r\nRuby\\style12\\color=0088CE\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style12\\paper=2B0F01\r\nRuby\\style13\\color=CFBA28\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style13\\paper=2B0F01\r\nRuby\\style14\\color=B7975D\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style14\\paper=2B0F01\r\nRuby\\style15\\color=D92B10\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style15\\paper=2B0F01\r\nRuby\\style16\\color=CFBA28\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style16\\paper=2B0F01\r\nRuby\\style17\\color=B7975D\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style17\\paper=2B0F01\r\nRuby\\style18\\color=98AE66\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style18\\paper=602F1A\r\nRuby\\style19\\color=BCBB80\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style19\\paper=2B0F01\r\nRuby\\style24\\color=BCBB80\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style24\\paper=2B0F01\r\nRuby\\style25\\color=0088CE\r\nRuby\\style25\\eolfill=false\r\nRuby\\style25\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style25\\paper=2B0F01\r\nRuby\\defaultcolor=B7975D\r\nRuby\\defaultpaper=2B0F01\r\nRuby\\defaultfont=Consolas, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=B7975D\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style0\\paper=2B0F01\r\nSQL\\style1\\color=208008\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style1\\paper=2B0F01\r\nSQL\\style2\\color=208008\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style2\\paper=2B0F01\r\nSQL\\style3\\color=208008\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style3\\paper=2B0F01\r\nSQL\\style4\\color=AFA7D6\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style4\\paper=2B0F01\r\nSQL\\style5\\color=4AD231\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style5\\paper=2B0F01\r\nSQL\\style6\\color=CFBA28\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style6\\paper=2B0F01\r\nSQL\\style7\\color=BCBB80\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style7\\paper=2B0F01\r\nSQL\\style10\\color=D6C479\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style10\\paper=2B0F01\r\nSQL\\style11\\color=B7975D\r\nSQL\\style11\\eolfill=false\r\nSQL\\style11\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style11\\paper=2B0F01\r\nSQL\\style15\\color=208008\r\nSQL\\style15\\eolfill=false\r\nSQL\\style15\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style15\\paper=2B0F01\r\nSQL\\style16\\color=4AD231\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style16\\paper=2B0F01\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style19\\paper=2B0F01\r\nSQL\\style24\\color=CFBA28\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style24\\paper=2B0F01\r\nSQL\\defaultcolor=B7975D\r\nSQL\\defaultpaper=2B0F01\r\nSQL\\defaultfont=Consolas, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=B7975D\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style0\\paper=2B0F01\r\nTCL\\style1\\color=208008\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style1\\paper=2B0F01\r\nTCL\\style2\\color=208008\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style2\\paper=2B0F01\r\nTCL\\style3\\color=AFA7D6\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style3\\paper=2B0F01\r\nTCL\\style4\\color=BCBB80\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style4\\paper=2B0F01\r\nTCL\\style5\\color=BCBB80\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style5\\paper=2B0F01\r\nTCL\\style6\\color=D6C479\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style6\\paper=2B0F01\r\nTCL\\style7\\color=CFBA28\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style7\\paper=2B0F01\r\nTCL\\style8\\color=7578DB\r\nTCL\\style8\\eolfill=false\r\nTCL\\style8\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style8\\paper=2B0F01\r\nTCL\\style9\\color=0088CE\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style9\\paper=2B0F01\r\nTCL\\style10\\color=D92B10\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style10\\paper=2B0F01\r\nTCL\\style11\\color=0088CE\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style11\\paper=2B0F01\r\nTCL\\style12\\color=4AD231\r\nTCL\\style12\\eolfill=false\r\nTCL\\style12\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style12\\paper=2B0F01\r\nTCL\\style13\\color=7578DB\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Consolas, 14, 1, 0, 0\r\nTCL\\style13\\paper=2B0F01\r\nTCL\\style17\\color=208008\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style17\\paper=2B0F01\r\nTCL\\style18\\color=208008\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style18\\paper=2B0F01\r\nTCL\\defaultcolor=B7975D\r\nTCL\\defaultpaper=2B0F01\r\nTCL\\defaultfont=Consolas, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=B7975D\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Consolas, 14, 0, 0, 0\r\nTXT\\style0\\paper=2B0F01\r\nTXT\\style1\\color=B7975D\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Consolas, 14, 0, 0, 0\r\nTXT\\style1\\paper=2B0F01\r\nTXT\\style2\\color=7578DB\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Consolas, 14, 1, 0, 0\r\nTXT\\style2\\paper=2B0F01\r\nTXT\\defaultcolor=B7975D\r\nTXT\\defaultpaper=2B0F01\r\nTXT\\defaultfont=Consolas, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=B7975D\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Consolas, 14, 0, 0, 0\r\nVB\\style0\\paper=2B0F01\r\nVB\\style1\\color=208008\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Consolas, 14, 0, 0, 0\r\nVB\\style1\\paper=2B0F01\r\nVB\\style2\\color=AFA7D6\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Consolas, 14, 0, 0, 0\r\nVB\\style2\\paper=2B0F01\r\nVB\\style3\\color=4AD231\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Consolas, 14, 0, 0, 0\r\nVB\\style3\\paper=2B0F01\r\nVB\\style4\\color=BCBB80\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Consolas, 14, 0, 0, 0\r\nVB\\style4\\paper=2B0F01\r\nVB\\style5\\color=C11418\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Consolas, 14, 0, 0, 0\r\nVB\\style5\\paper=2B0F01\r\nVB\\style6\\color=D6C479\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Consolas, 14, 0, 0, 0\r\nVB\\style6\\paper=2B0F01\r\nVB\\style7\\color=B7975D\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Consolas, 14, 0, 0, 0\r\nVB\\style7\\paper=2B0F01\r\nVB\\style8\\color=BCBB80\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Consolas, 14, 0, 0, 0\r\nVB\\style8\\paper=2B0F01\r\nVB\\defaultcolor=B7975D\r\nVB\\defaultpaper=2B0F01\r\nVB\\defaultfont=Consolas, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=B7975D\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style0\\paper=2B0F01\r\nVerilog\\style1\\color=208008\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style1\\paper=2B0F01\r\nVerilog\\style2\\color=208008\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style2\\paper=2B0F01\r\nVerilog\\style3\\color=208008\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style3\\paper=2B0F01\r\nVerilog\\style4\\color=AFA7D6\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style4\\paper=2B0F01\r\nVerilog\\style5\\color=4AD231\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style5\\paper=2B0F01\r\nVerilog\\style6\\color=BCBB80\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style6\\paper=2B0F01\r\nVerilog\\style7\\color=7578DB\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style7\\paper=2B0F01\r\nVerilog\\style9\\color=C11418\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style9\\paper=2B0F01\r\nVerilog\\style10\\color=D6C479\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style10\\paper=2B0F01\r\nVerilog\\style11\\color=CFBA28\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style11\\paper=2B0F01\r\nVerilog\\style12\\color=208008\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style12\\paper=2B0F01\r\nVerilog\\style19\\color=B7975D\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style19\\paper=2B0F01\r\nVerilog\\defaultcolor=B7975D\r\nVerilog\\defaultpaper=2B0F01\r\nVerilog\\defaultfont=Consolas, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=B7975D\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style0\\paper=2B0F01\r\nVHDL\\style1\\color=208008\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style1\\paper=2B0F01\r\nVHDL\\style2\\color=208008\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style2\\paper=2B0F01\r\nVHDL\\style3\\color=AFA7D6\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style3\\paper=2B0F01\r\nVHDL\\style4\\color=BCBB80\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style4\\paper=2B0F01\r\nVHDL\\style5\\color=D6C479\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style5\\paper=2B0F01\r\nVHDL\\style6\\color=CFBA28\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style6\\paper=2B0F01\r\nVHDL\\style7\\color=208008\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style7\\paper=2B0F01\r\nVHDL\\style8\\color=4AD231\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style8\\paper=2B0F01\r\nVHDL\\style9\\color=C11418\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style9\\paper=2B0F01\r\nVHDL\\style10\\color=C11418\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style10\\paper=2B0F01\r\nVHDL\\style11\\color=0088CE\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style11\\paper=2B0F01\r\nVHDL\\style12\\color=0088CE\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style12\\paper=2B0F01\r\nVHDL\\style13\\color=D92B10\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style13\\paper=2B0F01\r\nVHDL\\style14\\color=CFBA28\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style14\\paper=2B0F01\r\nVHDL\\defaultcolor=B7975D\r\nVHDL\\defaultpaper=2B0F01\r\nVHDL\\defaultfont=Consolas, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=B7975D\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Consolas, 14, 0, 0, 0\r\nXML\\style0\\paper=2B0F01\r\nXML\\style1\\color=0088CE\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Consolas, 14, 0, 0, 0\r\nXML\\style1\\paper=2B0F01\r\nXML\\style2\\color=FF00FF\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Consolas, 14, 0, 0, 0\r\nXML\\style2\\paper=2B0F01\r\nXML\\style3\\color=B7975D\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Consolas, 14, 0, 0, 0\r\nXML\\style3\\paper=2B0F01\r\nXML\\style4\\color=FF00FF\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Consolas, 14, 0, 0, 0\r\nXML\\style4\\paper=2B0F01\r\nXML\\style5\\color=FF00FF\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Consolas, 14, 0, 0, 0\r\nXML\\style5\\paper=2B0F01\r\nXML\\style6\\color=BCBB80\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Consolas, 14, 0, 0, 0\r\nXML\\style6\\paper=2B0F01\r\nXML\\style7\\color=BCBB80\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Consolas, 14, 0, 0, 0\r\nXML\\style7\\paper=2B0F01\r\nXML\\style9\\color=208008\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Consolas, 14, 0, 0, 0\r\nXML\\style9\\paper=2B0F01\r\nXML\\style10\\color=7578DB\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Consolas, 14, 0, 0, 0\r\nXML\\style10\\paper=2B0F01\r\nXML\\style11\\color=0088CE\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Consolas, 14, 0, 0, 0\r\nXML\\style11\\paper=2B0F01\r\nXML\\style12\\color=C11418\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Consolas, 14, 0, 0, 0\r\nXML\\style12\\paper=9A7E13\r\nXML\\style13\\color=C11418\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Consolas, 14, 0, 0, 0\r\nXML\\style13\\paper=9A7E13\r\nXML\\style17\\color=BCBB80\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Consolas, 14, 0, 0, 0\r\nXML\\style17\\paper=2B0F01\r\nXML\\style21\\color=BE211A\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Consolas, 14, 0, 0, 0\r\nXML\\style21\\paper=77610F\r\nXML\\defaultcolor=B7975D\r\nXML\\defaultpaper=2B0F01\r\nXML\\defaultfont=Consolas, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/HotFudgeSundae/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color=B7975D\r\nYAML\\style0\\eolfill=false\r\nYAML\\style0\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style0\\paper=2B0F01\r\nYAML\\style1\\color=208008\r\nYAML\\style1\\eolfill=false\r\nYAML\\style1\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style1\\paper=2B0F01\r\nYAML\\style2\\color=CFBA28\r\nYAML\\style2\\eolfill=false\r\nYAML\\style2\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style2\\paper=2B0F01\r\nYAML\\style3\\color=4AD231\r\nYAML\\style3\\eolfill=false\r\nYAML\\style3\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style3\\paper=2B0F01\r\nYAML\\style4\\color=AFA7D6\r\nYAML\\style4\\eolfill=false\r\nYAML\\style4\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style4\\paper=2B0F01\r\nYAML\\style5\\color=0088CE\r\nYAML\\style5\\eolfill=false\r\nYAML\\style5\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style5\\paper=2B0F01\r\nYAML\\style6\\color=BCBB80\r\nYAML\\style6\\eolfill=false\r\nYAML\\style6\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style6\\paper=2B0F01\r\nYAML\\style7\\color=BCBB80\r\nYAML\\style7\\eolfill=false\r\nYAML\\style7\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style7\\paper=2B0F01\r\nYAML\\style8\\color=FF00FF\r\nYAML\\style8\\eolfill=false\r\nYAML\\style8\\font=Consolas, 14, 0, 0, 0\r\nYAML\\style8\\paper=2B0F01\r\nYAML\\defaultcolor=B7975D\r\nYAML\\defaultpaper=2B0F01\r\nYAML\\defaultfont=Consolas, 14, 0, 0, 0\r\nYAML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=FFFFFF\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=222C28\r\nGlobal\\style1\\color=FFFFFF\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=222C28\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=222C28\r\nGlobal\\style3\\color=FCE94F\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=222C28\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=222C28\r\nGlobal\\style5\\color=FFFFFF\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=2C3833\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=919994\r\nGlobal\\style7\\color=FFFFFF\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=222C28\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper=222C28\r\nGlobal\\style9\\color=EEEEEC\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper=2E3436\r\nGlobal\\style10\\color=FFFFFF\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=2E3436\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=222C28\r\nGlobal\\style13\\color=555753\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E3436\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=222C28\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=FFFFFF\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=FFFFFF\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=FFFFFF\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=FFFFFF\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=FFFFFF\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=8000FF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=222C28\r\nGlobal\\defaultcolor=FFFFFF\r\nGlobal\\defaultpaper=222C28\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=222C28\r\nHTML\\style15\\color=FFFFFF\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=222C28\r\nHTML\\style16\\color=FFFFFF\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=222C28\r\nHTML\\style81\\color=FFFFFF\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=222C28\r\nHTML\\style82\\color=666C68\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=222C28\r\nHTML\\style83\\color=E98800\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=222C28\r\nHTML\\style84\\color=A39E64\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=222C28\r\nHTML\\style85\\color=FFFFFF\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=222C28\r\nHTML\\style86\\color=C87500\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=222C28\r\nHTML\\style87\\color=FFFFFF\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=222C28\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=222C28\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=FFFFFF\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=222C28\r\nBash\\style1\\color=FFFFFF\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=222C28\r\nBash\\style2\\color=666C68\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=222C28\r\nBash\\style3\\color=E98800\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=222C28\r\nBash\\style4\\color=C23B00\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=222C28\r\nBash\\style5\\color=FFFFFF\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=222C28\r\nBash\\style6\\color=FFFFFF\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=222C28\r\nBash\\style7\\color=A8B3AB\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=222C28\r\nBash\\style8\\color=C87500\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=222C28\r\nBash\\style9\\color=FFFFFF\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=222C28\r\nBash\\style10\\color=FFFFFF\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=222C28\r\nBash\\style11\\color=FFFFFF\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=222C28\r\nBash\\style12\\color=FFFFFF\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=222C28\r\nBash\\style13\\color=FFFFFF\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=222C28\r\nBash\\defaultcolor=FFFFFF\r\nBash\\defaultpaper=222C28\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=FFFFFF\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=222C28\r\nBatch\\style1\\color=666C68\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=222C28\r\nBatch\\style2\\color=A8B3AB\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=222C28\r\nBatch\\style3\\color=909993\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=222C28\r\nBatch\\style4\\color=A8B3AB\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=222C28\r\nBatch\\style5\\color=C87500\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=222C28\r\nBatch\\style6\\color=648BD2\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=222C28\r\nBatch\\style7\\color=A8B3AB\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=222C28\r\nBatch\\defaultcolor=FFFFFF\r\nBatch\\defaultpaper=222C28\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=222C28\r\nC%2B%2B\\style1\\color=666C68\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=222C28\r\nC%2B%2B\\style2\\color=666C68\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=222C28\r\nC%2B%2B\\style3\\color=666C68\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=222C28\r\nC%2B%2B\\style4\\color=E98800\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=222C28\r\nC%2B%2B\\style5\\color=C23B00\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=222C28\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=222C28\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=222C28\r\nC%2B%2B\\style9\\color=A39E64\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=222C28\r\nC%2B%2B\\style10\\color=A8B3AB\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=222C28\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=222C28\r\nC%2B%2B\\style13\\color=E98800\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=222C28\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=222C28\r\nC%2B%2B\\style15\\color=666C68\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=222C28\r\nC%2B%2B\\style16\\color=A39E64\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=222C28\r\nC%2B%2B\\style17\\color=666C68\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=222C28\r\nC%2B%2B\\style18\\color=666C68\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=222C28\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=222C28\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=FFFFFF\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=222C28\r\nCMake\\style1\\color=666C68\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=222C28\r\nCMake\\style2\\color=FFFFFF\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=222C28\r\nCMake\\style3\\color=FFFFFF\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=222C28\r\nCMake\\style4\\color=FFFFFF\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=222C28\r\nCMake\\style5\\color=C87500\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=222C28\r\nCMake\\style6\\color=FFFFFF\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=222C28\r\nCMake\\style7\\color=648BD2\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=222C28\r\nCMake\\style8\\color=FFFFFF\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=222C28\r\nCMake\\style9\\color=FFFFFF\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=222C28\r\nCMake\\style10\\color=FFFFFF\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=222C28\r\nCMake\\style11\\color=FFFFFF\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=222C28\r\nCMake\\style12\\color=FFFFFF\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=222C28\r\nCMake\\style13\\color=FFFFFF\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=222C28\r\nCMake\\style14\\color=E98800\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=222C28\r\nCMake\\defaultcolor=FFFFFF\r\nCMake\\defaultpaper=222C28\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=222C28\r\nC%2B%2B\\style1\\color=666C68\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=222C28\r\nC%2B%2B\\style2\\color=666C68\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=222C28\r\nC%2B%2B\\style3\\color=666C68\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=222C28\r\nC%2B%2B\\style4\\color=E98800\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=222C28\r\nC%2B%2B\\style5\\color=C23B00\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=222C28\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=222C28\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=222C28\r\nC%2B%2B\\style9\\color=A39E64\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=222C28\r\nC%2B%2B\\style10\\color=A8B3AB\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=222C28\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=222C28\r\nC%2B%2B\\style13\\color=E98800\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=222C28\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=222C28\r\nC%2B%2B\\style15\\color=666C68\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=222C28\r\nC%2B%2B\\style16\\color=A39E64\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=222C28\r\nC%2B%2B\\style17\\color=666C68\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=222C28\r\nC%2B%2B\\style18\\color=666C68\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=222C28\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=222C28\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=FFFFFF\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=222C28\r\nC%23\\style1\\color=666C68\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=222C28\r\nC%23\\style2\\color=666C68\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=222C28\r\nC%23\\style3\\color=666C68\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=222C28\r\nC%23\\style4\\color=E98800\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=222C28\r\nC%23\\style5\\color=C23B00\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=222C28\r\nC%23\\style6\\color=FFFFFF\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=222C28\r\nC%23\\style7\\color=FFFFFF\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=222C28\r\nC%23\\style9\\color=A39E64\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=222C28\r\nC%23\\style10\\color=A8B3AB\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=222C28\r\nC%23\\style11\\color=FFFFFF\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=222C28\r\nC%23\\style13\\color=E98800\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=222C28\r\nC%23\\style14\\color=FFFFFF\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=222C28\r\nC%23\\style15\\color=666C68\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=222C28\r\nC%23\\style16\\color=A39E64\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=222C28\r\nC%23\\style17\\color=666C68\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=222C28\r\nC%23\\style18\\color=666C68\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=222C28\r\nC%23\\defaultcolor=FFFFFF\r\nC%23\\defaultpaper=222C28\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=FFFFFF\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=222C28\r\nCSS\\style1\\color=A65EFF\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=222C28\r\nCSS\\style2\\color=909993\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=222C28\r\nCSS\\style3\\color=909993\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=222C28\r\nCSS\\style4\\color=909993\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=222C28\r\nCSS\\style5\\color=A8B3AB\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=222C28\r\nCSS\\style6\\color=C87500\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=222C28\r\nCSS\\style7\\color=C87500\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=222C28\r\nCSS\\style8\\color=E98800\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=222C28\r\nCSS\\style9\\color=666C68\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=222C28\r\nCSS\\style10\\color=909993\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=222C28\r\nCSS\\style11\\color=A39E64\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=222C28\r\nCSS\\style12\\color=A39E64\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=222C28\r\nCSS\\defaultcolor=FFFFFF\r\nCSS\\defaultpaper=222C28\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=FFFFFF\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=222C28\r\nDiff\\style1\\color=666C68\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=222C28\r\nDiff\\style2\\color=C87500\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=222C28\r\nDiff\\style3\\color=FFFFFF\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=222C28\r\nDiff\\style4\\color=FFFFFF\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=222C28\r\nDiff\\style5\\color=FFFFFF\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=222C28\r\nDiff\\style6\\color=FFFFFF\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=222C28\r\nDiff\\defaultcolor=FFFFFF\r\nDiff\\defaultpaper=222C28\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=FFFFFF\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=222C28\r\nFortran\\style1\\color=666C68\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=222C28\r\nFortran\\style2\\color=E98800\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=222C28\r\nFortran\\style3\\color=FFFFFF\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=222C28\r\nFortran\\style4\\color=FFFFFF\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=222C28\r\nFortran\\style5\\color=FFFFFF\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=222C28\r\nFortran\\style6\\color=A8B3AB\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=222C28\r\nFortran\\style7\\color=C87500\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=222C28\r\nFortran\\style8\\color=C23B00\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=222C28\r\nFortran\\style9\\color=FFFFFF\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=222C28\r\nFortran\\style10\\color=FFFFFF\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=222C28\r\nFortran\\style11\\color=A39E64\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=222C28\r\nFortran\\style12\\color=FFFFFF\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=222C28\r\nFortran\\style13\\color=909993\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=222C28\r\nFortran\\style14\\color=FFFFFF\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=222C28\r\nFortran\\defaultcolor=FFFFFF\r\nFortran\\defaultpaper=222C28\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=FFFFFF\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=222C28\r\nFortran77\\style1\\color=666C68\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=222C28\r\nFortran77\\style2\\color=E98800\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=222C28\r\nFortran77\\style3\\color=FFFFFF\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=222C28\r\nFortran77\\style4\\color=FFFFFF\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=222C28\r\nFortran77\\style5\\color=FFFFFF\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=222C28\r\nFortran77\\style6\\color=A8B3AB\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=222C28\r\nFortran77\\style7\\color=C87500\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=222C28\r\nFortran77\\style8\\color=C23B00\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=222C28\r\nFortran77\\style9\\color=FFFFFF\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=222C28\r\nFortran77\\style10\\color=FFFFFF\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=222C28\r\nFortran77\\style11\\color=A39E64\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=222C28\r\nFortran77\\style12\\color=FFFFFF\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=222C28\r\nFortran77\\style13\\color=909993\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=222C28\r\nFortran77\\style14\\color=FFFFFF\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=222C28\r\nFortran77\\defaultcolor=FFFFFF\r\nFortran77\\defaultpaper=222C28\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=222C28\r\nHTML\\style1\\color=A65EFF\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=222C28\r\nHTML\\style2\\color=A65EFF\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=222C28\r\nHTML\\style3\\color=909993\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=222C28\r\nHTML\\style4\\color=909993\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=222C28\r\nHTML\\style5\\color=E98800\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=222C28\r\nHTML\\style6\\color=FFFFFF\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=222C28\r\nHTML\\style7\\color=FFFFFF\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=222C28\r\nHTML\\style9\\color=666C68\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=222C28\r\nHTML\\style10\\color=E98800\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=222C28\r\nHTML\\style11\\color=A65EFF\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=222C28\r\nHTML\\style17\\color=E98800\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=222C28\r\nHTML\\style19\\color=E98800\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=222C28\r\nHTML\\style21\\color=FFFFFF\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=222C28\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=222C28\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=222C28\r\nProperties\\style1\\color=666C68\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=222C28\r\nProperties\\style2\\color=909993\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=222C28\r\nProperties\\style3\\color=A8B3AB\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=222C28\r\nProperties\\style4\\color=A8B3AB\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=222C28\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=222C28\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=222C28\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=FFFFFF\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=222C28\r\nJava\\style1\\color=666C68\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=222C28\r\nJava\\style2\\color=666C68\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=222C28\r\nJava\\style3\\color=666C68\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=222C28\r\nJava\\style4\\color=E98800\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=222C28\r\nJava\\style5\\color=C23B00\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=222C28\r\nJava\\style6\\color=FFFFFF\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=222C28\r\nJava\\style7\\color=FFFFFF\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=222C28\r\nJava\\style10\\color=A8B3AB\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=222C28\r\nJava\\style11\\color=FFFFFF\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=222C28\r\nJava\\style13\\color=E98800\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=222C28\r\nJava\\style14\\color=FFFFFF\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=222C28\r\nJava\\style15\\color=666C68\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=222C28\r\nJava\\style16\\color=A39E64\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=222C28\r\nJava\\style17\\color=666C68\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=222C28\r\nJava\\style18\\color=666C68\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=222C28\r\nJava\\defaultcolor=FFFFFF\r\nJava\\defaultpaper=222C28\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=FFFFFF\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=222C28\r\nJavaScript\\style20\\color=FFFFFF\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=222C28\r\nJavaScript\\style41\\color=FFFFFF\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=222C28\r\nJavaScript\\style42\\color=666C68\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=222C28\r\nJavaScript\\style43\\color=666C68\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=222C28\r\nJavaScript\\style44\\color=666C68\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=222C28\r\nJavaScript\\style45\\color=E98800\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=222C28\r\nJavaScript\\style46\\color=FFFFFF\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=222C28\r\nJavaScript\\style47\\color=A8B3AB\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=222C28\r\nJavaScript\\style48\\color=FFFFFF\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=222C28\r\nJavaScript\\style49\\color=FFFFFF\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=222C28\r\nJavaScript\\style50\\color=FFFFFF\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=222C28\r\nJavaScript\\style51\\color=FFFFFF\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=222C28\r\nJavaScript\\style52\\color=FFFFFF\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=222C28\r\nJavaScript\\defaultcolor=FFFFFF\r\nJavaScript\\defaultpaper=222C28\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=FFFFFF\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=222C28\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=222C28\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=222C28\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=222C28\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=222C28\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=222C28\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=222C28\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=222C28\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=222C28\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=222C28\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=222C28\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=222C28\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=222C28\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=FFFFFF\r\nJSON\\defaultpaper=222C28\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=FFFFFF\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=222C28\r\nLua\\style1\\color=666C68\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=222C28\r\nLua\\style2\\color=666C68\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=222C28\r\nLua\\style3\\color=666C68\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=222C28\r\nLua\\style4\\color=E98800\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=222C28\r\nLua\\style5\\color=C23B00\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=222C28\r\nLua\\style6\\color=FFFFFF\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=222C28\r\nLua\\style7\\color=FFFFFF\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=222C28\r\nLua\\style8\\color=FFFFFF\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=222C28\r\nLua\\style9\\color=A39E64\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=222C28\r\nLua\\style10\\color=A8B3AB\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=222C28\r\nLua\\style13\\color=FFFFFF\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=222C28\r\nLua\\style14\\color=FFFFFF\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=222C28\r\nLua\\style15\\color=FFFFFF\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=222C28\r\nLua\\defaultcolor=FFFFFF\r\nLua\\defaultpaper=222C28\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=FFFFFF\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=222C28\r\nMakefile\\style1\\color=666C68\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=222C28\r\nMakefile\\style2\\color=A39E64\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=222C28\r\nMakefile\\style3\\color=C87500\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=222C28\r\nMakefile\\style4\\color=A8B3AB\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=222C28\r\nMakefile\\style5\\color=648BD2\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=222C28\r\nMakefile\\style9\\color=A65EFF\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=222C28\r\nMakefile\\defaultcolor=FFFFFF\r\nMakefile\\defaultpaper=222C28\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=FFFFFF\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=222C28\r\nMatlab\\style1\\color=666C68\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=222C28\r\nMatlab\\style2\\color=C87500\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=222C28\r\nMatlab\\style3\\color=E98800\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=222C28\r\nMatlab\\style4\\color=C23B00\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=222C28\r\nMatlab\\style5\\color=FFFFFF\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=222C28\r\nMatlab\\style6\\color=A8B3AB\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=222C28\r\nMatlab\\style7\\color=C87500\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=222C28\r\nMatlab\\style8\\color=FFFFFF\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=222C28\r\nMatlab\\defaultcolor=FFFFFF\r\nMatlab\\defaultpaper=222C28\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=FFFFFF\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=222C28\r\nNSIS\\style1\\color=666C68\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=222C28\r\nNSIS\\style2\\color=FFFFFF\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=222C28\r\nNSIS\\style3\\color=FFFFFF\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=222C28\r\nNSIS\\style4\\color=FFFFFF\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=222C28\r\nNSIS\\style5\\color=588E60\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=222C28\r\nNSIS\\style6\\color=648BD2\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=222C28\r\nNSIS\\style7\\color=909993\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=222C28\r\nNSIS\\style8\\color=FFFFFF\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=222C28\r\nNSIS\\style9\\color=909993\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=222C28\r\nNSIS\\style10\\color=FFFFFF\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=222C28\r\nNSIS\\style11\\color=FFFFFF\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=222C28\r\nNSIS\\style12\\color=FFFFFF\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=222C28\r\nNSIS\\style13\\color=FFFFFF\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=222C28\r\nNSIS\\style14\\color=E98800\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=222C28\r\nNSIS\\style15\\color=FFFFFF\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=222C28\r\nNSIS\\style16\\color=FFFFFF\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=222C28\r\nNSIS\\style17\\color=FFFFFF\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=222C28\r\nNSIS\\style18\\color=666C68\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=222C28\r\nNSIS\\defaultcolor=FFFFFF\r\nNSIS\\defaultpaper=222C28\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=222C28\r\nC%2B%2B\\style1\\color=666C68\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=222C28\r\nC%2B%2B\\style2\\color=666C68\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=222C28\r\nC%2B%2B\\style3\\color=666C68\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=222C28\r\nC%2B%2B\\style4\\color=E98800\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=222C28\r\nC%2B%2B\\style5\\color=C23B00\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=222C28\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=222C28\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=222C28\r\nC%2B%2B\\style9\\color=A39E64\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=222C28\r\nC%2B%2B\\style10\\color=A8B3AB\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=222C28\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=222C28\r\nC%2B%2B\\style13\\color=E98800\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=222C28\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=222C28\r\nC%2B%2B\\style15\\color=666C68\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=222C28\r\nC%2B%2B\\style16\\color=A39E64\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=222C28\r\nC%2B%2B\\style17\\color=666C68\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=222C28\r\nC%2B%2B\\style18\\color=666C68\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=222C28\r\nC%2B%2B\\style19\\color=A39E64\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=222C28\r\nC%2B%2B\\style20\\color=FFFFFF\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=222C28\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=222C28\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=FFFFFF\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=222C28\r\nPascal\\style1\\color=C87500\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=222C28\r\nPascal\\style2\\color=666C68\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=222C28\r\nPascal\\style3\\color=666C68\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=222C28\r\nPascal\\style4\\color=666C68\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=222C28\r\nPascal\\style5\\color=A39E64\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=222C28\r\nPascal\\style7\\color=E98800\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=222C28\r\nPascal\\style9\\color=C23B00\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=222C28\r\nPascal\\style12\\color=FFFFFF\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=222C28\r\nPascal\\style13\\color=A8B3AB\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=222C28\r\nPascal\\style14\\color=FFFFFF\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=222C28\r\nPascal\\defaultcolor=FFFFFF\r\nPascal\\defaultpaper=222C28\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=FFFFFF\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=222C28\r\nPerl\\style1\\color=FFFFFF\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=222C28\r\nPerl\\style2\\color=666C68\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=222C28\r\nPerl\\style3\\color=FFFFFF\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=222C28\r\nPerl\\style4\\color=E98800\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=222C28\r\nPerl\\style5\\color=C23B00\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=222C28\r\nPerl\\style6\\color=FFFFFF\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=222C28\r\nPerl\\style7\\color=FFFFFF\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=222C28\r\nPerl\\style8\\color=FFFFFF\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=222C28\r\nPerl\\style9\\color=A39E64\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=222C28\r\nPerl\\style10\\color=A8B3AB\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=222C28\r\nPerl\\style12\\color=FFFFFF\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=222C28\r\nPerl\\style13\\color=FFFFFF\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=222C28\r\nPerl\\style14\\color=FFFFFF\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=222C28\r\nPerl\\style15\\color=FFFFFF\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=222C28\r\nPerl\\style17\\color=FFFFFF\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=222C28\r\nPerl\\style18\\color=FFFFFF\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=222C28\r\nPerl\\style19\\color=FFFFFF\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=222C28\r\nPerl\\style20\\color=FFFFFF\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=222C28\r\nPerl\\style21\\color=FFFFFF\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=222C28\r\nPerl\\defaultcolor=FFFFFF\r\nPerl\\defaultpaper=222C28\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=222C28\r\nHTML\\style18\\color=FFFFFF\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=222C28\r\nHTML\\style118\\color=FFFFFF\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=222C28\r\nHTML\\style119\\color=FFFFFF\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=222C28\r\nHTML\\style120\\color=FFFFFF\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=222C28\r\nHTML\\style121\\color=A39E64\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=222C28\r\nHTML\\style122\\color=E98800\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=222C28\r\nHTML\\style123\\color=648BD2\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=222C28\r\nHTML\\style124\\color=666C68\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=222C28\r\nHTML\\style125\\color=666C68\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=222C28\r\nHTML\\style126\\color=FFFFFF\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=222C28\r\nHTML\\style127\\color=A8B3AB\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=222C28\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=222C28\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=222C28\r\nProperties\\style1\\color=666C68\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=222C28\r\nProperties\\style3\\color=A8B3AB\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=222C28\r\nProperties\\style4\\color=A8B3AB\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=222C28\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=222C28\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=222C28\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=FFFFFF\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=222C28\r\nPython\\style1\\color=666C68\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=222C28\r\nPython\\style2\\color=E98800\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=222C28\r\nPython\\style3\\color=FFFFFF\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=222C28\r\nPython\\style4\\color=FFFFFF\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=222C28\r\nPython\\style5\\color=A8B3AB\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=222C28\r\nPython\\style6\\color=666C68\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=222C28\r\nPython\\style7\\color=666C68\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=222C28\r\nPython\\style8\\color=588E60\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=222C28\r\nPython\\style9\\color=A39E64\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=222C28\r\nPython\\style10\\color=A8B3AB\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=222C28\r\nPython\\style11\\color=C87500\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=222C28\r\nPython\\style12\\color=666C68\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=222C28\r\nPython\\style13\\color=FFFFFF\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper=222C28\r\nPython\\style16\\color=FFFFFF\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper=222C28\r\nPython\\style17\\color=FFFFFF\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper=222C28\r\nPython\\style18\\color=666C68\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper=222C28\r\nPython\\style19\\color=666C68\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper=222C28\r\nPython\\defaultcolor=FFFFFF\r\nPython\\defaultpaper=222C28\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=222C28\r\nC%2B%2B\\style1\\color=666C68\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=222C28\r\nC%2B%2B\\style2\\color=666C68\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=222C28\r\nC%2B%2B\\style3\\color=666C68\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=222C28\r\nC%2B%2B\\style4\\color=E98800\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=222C28\r\nC%2B%2B\\style5\\color=C23B00\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=222C28\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=222C28\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=222C28\r\nC%2B%2B\\style9\\color=A39E64\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=222C28\r\nC%2B%2B\\style10\\color=A8B3AB\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=222C28\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=222C28\r\nC%2B%2B\\style13\\color=E98800\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=222C28\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=222C28\r\nC%2B%2B\\style15\\color=666C68\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=222C28\r\nC%2B%2B\\style16\\color=A39E64\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=222C28\r\nC%2B%2B\\style17\\color=666C68\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=222C28\r\nC%2B%2B\\style18\\color=666C68\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=222C28\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=222C28\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=FFFFFF\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=222C28\r\nRuby\\style1\\color=FFFFFF\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=222C28\r\nRuby\\style2\\color=666C68\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=222C28\r\nRuby\\style3\\color=FFFFFF\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=222C28\r\nRuby\\style4\\color=E98800\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=222C28\r\nRuby\\style5\\color=A39E64\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=222C28\r\nRuby\\style6\\color=FFFFFF\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=222C28\r\nRuby\\style7\\color=FFFFFF\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=222C28\r\nRuby\\style8\\color=FFFFFF\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=222C28\r\nRuby\\style9\\color=A8B3AB\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=222C28\r\nRuby\\style10\\color=A8B3AB\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=222C28\r\nRuby\\style11\\color=C87500\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=222C28\r\nRuby\\style12\\color=FFFFFF\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=222C28\r\nRuby\\style13\\color=648BD2\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=222C28\r\nRuby\\style14\\color=FFFFFF\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=222C28\r\nRuby\\style15\\color=FFFFFF\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=222C28\r\nRuby\\style16\\color=648BD2\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=222C28\r\nRuby\\style17\\color=FFFFFF\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=222C28\r\nRuby\\style18\\color=FFFFFF\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=222C28\r\nRuby\\style19\\color=FFFFFF\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=222C28\r\nRuby\\style24\\color=FFFFFF\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=222C28\r\nRuby\\defaultcolor=FFFFFF\r\nRuby\\defaultpaper=222C28\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=FFFFFF\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=222C28\r\nSQL\\style1\\color=666C68\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=222C28\r\nSQL\\style2\\color=666C68\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=222C28\r\nSQL\\style3\\color=666C68\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=222C28\r\nSQL\\style4\\color=E98800\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=222C28\r\nSQL\\style5\\color=A8B3AB\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=222C28\r\nSQL\\style6\\color=FFFFFF\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=222C28\r\nSQL\\style7\\color=FFFFFF\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=222C28\r\nSQL\\style10\\color=A8B3AB\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=222C28\r\nSQL\\style16\\color=A8B3AB\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=222C28\r\nSQL\\style19\\color=C0C0C0\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=222C28\r\nSQL\\style24\\color=FFFFFF\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=222C28\r\nSQL\\defaultcolor=FFFFFF\r\nSQL\\defaultpaper=222C28\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=FFFFFF\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=222C28\r\nTCL\\style1\\color=666C68\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=222C28\r\nTCL\\style2\\color=666C68\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=222C28\r\nTCL\\style3\\color=666C68\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=222C28\r\nTCL\\style4\\color=E98800\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=222C28\r\nTCL\\style5\\color=C23B00\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=222C28\r\nTCL\\style6\\color=FFFFFF\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=222C28\r\nTCL\\style7\\color=FFFFFF\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=222C28\r\nTCL\\style9\\color=A39E64\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=222C28\r\nTCL\\style10\\color=A8B3AB\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=222C28\r\nTCL\\style11\\color=FFFFFF\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=222C28\r\nTCL\\style13\\color=E98800\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=222C28\r\nTCL\\style14\\color=FFFFFF\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=222C28\r\nTCL\\style15\\color=666C68\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=222C28\r\nTCL\\style16\\color=A39E64\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=222C28\r\nTCL\\style17\\color=666C68\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=222C28\r\nTCL\\style18\\color=666C68\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=222C28\r\nTCL\\defaultcolor=FFFFFF\r\nTCL\\defaultpaper=222C28\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=FFFFFF\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=222C28\r\nTXT\\style1\\color=FFFFFF\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=222C28\r\nTXT\\style2\\color=A39E64\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=222C28\r\nTXT\\defaultcolor=FFFFFF\r\nTXT\\defaultpaper=222C28\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=FFFFFF\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=222C28\r\nVB\\style1\\color=666C68\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=222C28\r\nVB\\style2\\color=E98800\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=222C28\r\nVB\\style3\\color=A39E64\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=222C28\r\nVB\\style4\\color=FFFFFF\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=222C28\r\nVB\\style5\\color=A39E64\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=222C28\r\nVB\\style6\\color=A8B3AB\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=222C28\r\nVB\\style7\\color=FFFFFF\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=222C28\r\nVB\\style8\\color=FFFFFF\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=222C28\r\nVB\\defaultcolor=FFFFFF\r\nVB\\defaultpaper=222C28\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=FFFFFF\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=222C28\r\nVerilog\\style1\\color=666C68\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=222C28\r\nVerilog\\style2\\color=666C68\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=222C28\r\nVerilog\\style3\\color=666C68\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=222C28\r\nVerilog\\style4\\color=E98800\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=222C28\r\nVerilog\\style5\\color=C23B00\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=222C28\r\nVerilog\\style6\\color=FFFFFF\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=222C28\r\nVerilog\\style7\\color=A8B3AB\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=222C28\r\nVerilog\\style9\\color=A39E64\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=222C28\r\nVerilog\\style10\\color=A8B3AB\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=222C28\r\nVerilog\\style11\\color=C87500\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=222C28\r\nVerilog\\style12\\color=FFFFFF\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=222C28\r\nVerilog\\style19\\color=FFFFFF\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=222C28\r\nVerilog\\defaultcolor=FFFFFF\r\nVerilog\\defaultpaper=222C28\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=FFFFFF\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=222C28\r\nVHDL\\style1\\color=666C68\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=222C28\r\nVHDL\\style2\\color=666C68\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=222C28\r\nVHDL\\style3\\color=E98800\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=222C28\r\nVHDL\\style4\\color=FFFFFF\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=222C28\r\nVHDL\\style5\\color=A8B3AB\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=222C28\r\nVHDL\\style6\\color=C87500\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=222C28\r\nVHDL\\style7\\color=FFFFFF\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=222C28\r\nVHDL\\style8\\color=A39E64\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=222C28\r\nVHDL\\style9\\color=A39E64\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=222C28\r\nVHDL\\style10\\color=FFFFFF\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=222C28\r\nVHDL\\style11\\color=FFFFFF\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=222C28\r\nVHDL\\style12\\color=FFFFFF\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=222C28\r\nVHDL\\style13\\color=FFFFFF\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=222C28\r\nVHDL\\style14\\color=FFFFFF\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=222C28\r\nVHDL\\defaultcolor=FFFFFF\r\nVHDL\\defaultpaper=222C28\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Mono Industrial/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=FFFFFF\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=222C28\r\nXML\\style1\\color=A65EFF\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=222C28\r\nXML\\style2\\color=A65EFF\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=222C28\r\nXML\\style3\\color=909993\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=222C28\r\nXML\\style4\\color=909993\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=222C28\r\nXML\\style5\\color=E98800\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=222C28\r\nXML\\style6\\color=FFFFFF\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=222C28\r\nXML\\style7\\color=FFFFFF\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=222C28\r\nXML\\style9\\color=666C68\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=222C28\r\nXML\\style10\\color=E98800\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=222C28\r\nXML\\style11\\color=A65EFF\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=222C28\r\nXML\\style12\\color=FFFFFF\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=222C28\r\nXML\\style13\\color=FFFFFF\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=222C28\r\nXML\\style17\\color=E98800\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=222C28\r\nXML\\style21\\color=FFFFFF\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=222C28\r\nXML\\defaultcolor=FFFFFF\r\nXML\\defaultpaper=222C28\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=F8F8F2\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=272822\r\nGlobal\\style1\\color=F8F8F2\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=272822\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=272822\r\nGlobal\\style3\\color=FCE94F\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=272822\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=272822\r\nGlobal\\style5\\color=F8F8F2\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=3E3D32\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=49483E\r\nGlobal\\style7\\color=F8F8F0\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=272822\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper=272822\r\nGlobal\\style9\\color=EEEEEC\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper=2E3436\r\nGlobal\\style10\\color=F8F8F2\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=2E3436\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=272822\r\nGlobal\\style13\\color=555753\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E3436\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=272822\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=F8F8F2\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=F8F8F2\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=F8F8F2\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=F8F8F2\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=F8F8F2\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=8000FF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=272822\r\nGlobal\\defaultcolor=F8F8F2\r\nGlobal\\defaultpaper=272822\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F2\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=272822\r\nHTML\\style15\\color=F8F8F2\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=272822\r\nHTML\\style16\\color=F8F8F2\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=272822\r\nHTML\\style81\\color=F8F8F2\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=272822\r\nHTML\\style82\\color=75715E\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=272822\r\nHTML\\style83\\color=AE81FF\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=272822\r\nHTML\\style84\\color=F92672\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=272822\r\nHTML\\style85\\color=E6DB74\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=272822\r\nHTML\\style86\\color=66D9EF\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=272822\r\nHTML\\style87\\color=E6DB74\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=272822\r\nHTML\\defaultcolor=F8F8F2\r\nHTML\\defaultpaper=272822\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=F8F8F2\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=272822\r\nBash\\style1\\color=F8F8F2\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=272822\r\nBash\\style2\\color=75715E\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=272822\r\nBash\\style3\\color=AE81FF\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=272822\r\nBash\\style4\\color=66D9EF\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=272822\r\nBash\\style5\\color=E6DB74\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=272822\r\nBash\\style6\\color=E6DB74\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=272822\r\nBash\\style7\\color=F92672\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=272822\r\nBash\\style8\\color=66D9EF\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=272822\r\nBash\\style9\\color=F8F8F2\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=272822\r\nBash\\style10\\color=F8F8F2\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=272822\r\nBash\\style11\\color=F8F8F2\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=272822\r\nBash\\style12\\color=F8F8F2\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=272822\r\nBash\\style13\\color=F8F8F2\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=272822\r\nBash\\defaultcolor=F8F8F2\r\nBash\\defaultpaper=272822\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=F8F8F2\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=272822\r\nBatch\\style1\\color=75715E\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=272822\r\nBatch\\style2\\color=F92672\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=272822\r\nBatch\\style3\\color=A6E22E\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=272822\r\nBatch\\style4\\color=F92672\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=272822\r\nBatch\\style5\\color=66D9EF\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=272822\r\nBatch\\style6\\color=F8F8F2\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=272822\r\nBatch\\style7\\color=F92672\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=272822\r\nBatch\\defaultcolor=F8F8F2\r\nBatch\\defaultpaper=272822\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F2\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=272822\r\nC%2B%2B\\style1\\color=75715E\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=272822\r\nC%2B%2B\\style2\\color=75715E\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=272822\r\nC%2B%2B\\style3\\color=75715E\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=272822\r\nC%2B%2B\\style4\\color=AE81FF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=272822\r\nC%2B%2B\\style5\\color=66D9EF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=272822\r\nC%2B%2B\\style6\\color=E6DB74\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=272822\r\nC%2B%2B\\style7\\color=E6DB74\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=272822\r\nC%2B%2B\\style9\\color=F92672\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=272822\r\nC%2B%2B\\style10\\color=F92672\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=272822\r\nC%2B%2B\\style11\\color=F8F8F2\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=272822\r\nC%2B%2B\\style13\\color=AE81FF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=272822\r\nC%2B%2B\\style14\\color=E6DB74\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=272822\r\nC%2B%2B\\style15\\color=75715E\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=272822\r\nC%2B%2B\\style16\\color=F92672\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=272822\r\nC%2B%2B\\style17\\color=75715E\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=272822\r\nC%2B%2B\\style18\\color=75715E\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=272822\r\nC%2B%2B\\defaultcolor=F8F8F2\r\nC%2B%2B\\defaultpaper=272822\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=F8F8F2\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=272822\r\nCMake\\style1\\color=75715E\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=272822\r\nCMake\\style2\\color=E6DB74\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=272822\r\nCMake\\style3\\color=E6DB74\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=272822\r\nCMake\\style4\\color=E6DB74\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=272822\r\nCMake\\style5\\color=66D9EF\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=272822\r\nCMake\\style6\\color=F8F8F2\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=272822\r\nCMake\\style7\\color=F8F8F2\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=272822\r\nCMake\\style8\\color=F8F8F2\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=272822\r\nCMake\\style9\\color=F8F8F2\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=272822\r\nCMake\\style10\\color=F8F8F2\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=272822\r\nCMake\\style11\\color=F8F8F2\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=272822\r\nCMake\\style12\\color=F8F8F2\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=272822\r\nCMake\\style13\\color=E6DB74\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=272822\r\nCMake\\style14\\color=AE81FF\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=272822\r\nCMake\\defaultcolor=F8F8F2\r\nCMake\\defaultpaper=272822\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F2\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=272822\r\nC%2B%2B\\style1\\color=75715E\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=272822\r\nC%2B%2B\\style2\\color=75715E\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=272822\r\nC%2B%2B\\style3\\color=75715E\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=272822\r\nC%2B%2B\\style4\\color=AE81FF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=272822\r\nC%2B%2B\\style5\\color=66D9EF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=272822\r\nC%2B%2B\\style6\\color=E6DB74\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=272822\r\nC%2B%2B\\style7\\color=E6DB74\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=272822\r\nC%2B%2B\\style9\\color=F92672\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=272822\r\nC%2B%2B\\style10\\color=F92672\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=272822\r\nC%2B%2B\\style11\\color=F8F8F2\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=272822\r\nC%2B%2B\\style13\\color=AE81FF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=272822\r\nC%2B%2B\\style14\\color=E6DB74\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=272822\r\nC%2B%2B\\style15\\color=75715E\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=272822\r\nC%2B%2B\\style16\\color=F92672\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=272822\r\nC%2B%2B\\style17\\color=75715E\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=272822\r\nC%2B%2B\\style18\\color=75715E\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=272822\r\nC%2B%2B\\defaultcolor=F8F8F2\r\nC%2B%2B\\defaultpaper=272822\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=F8F8F2\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=272822\r\nC%23\\style1\\color=75715E\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=272822\r\nC%23\\style2\\color=75715E\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=272822\r\nC%23\\style3\\color=75715E\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=272822\r\nC%23\\style4\\color=AE81FF\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=272822\r\nC%23\\style5\\color=66D9EF\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=272822\r\nC%23\\style6\\color=E6DB74\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=272822\r\nC%23\\style7\\color=E6DB74\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=272822\r\nC%23\\style9\\color=F92672\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=272822\r\nC%23\\style10\\color=F92672\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=272822\r\nC%23\\style11\\color=F8F8F2\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=272822\r\nC%23\\style13\\color=AE81FF\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=272822\r\nC%23\\style14\\color=E6DB74\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=272822\r\nC%23\\style15\\color=75715E\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=272822\r\nC%23\\style16\\color=F92672\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=272822\r\nC%23\\style17\\color=75715E\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=272822\r\nC%23\\style18\\color=75715E\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=272822\r\nC%23\\defaultcolor=F8F8F2\r\nC%23\\defaultpaper=272822\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=F8F8F2\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=272822\r\nCSS\\style1\\color=F92672\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=272822\r\nCSS\\style2\\color=A6E22E\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=272822\r\nCSS\\style3\\color=A6E22E\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=272822\r\nCSS\\style4\\color=A6E22E\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=272822\r\nCSS\\style5\\color=F92672\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=272822\r\nCSS\\style6\\color=66D9EF\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=272822\r\nCSS\\style7\\color=66D9EF\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=272822\r\nCSS\\style8\\color=AE81FF\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=272822\r\nCSS\\style9\\color=75715E\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=272822\r\nCSS\\style10\\color=A6E22E\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=272822\r\nCSS\\style11\\color=F92672\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=272822\r\nCSS\\style12\\color=F92672\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=272822\r\nCSS\\defaultcolor=F8F8F2\r\nCSS\\defaultpaper=272822\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=F8F8F2\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=272822\r\nDiff\\style1\\color=75715E\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=272822\r\nDiff\\style2\\color=66D9EF\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=272822\r\nDiff\\style3\\color=66D9EF\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=272822\r\nDiff\\style4\\color=FD971F\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=272822\r\nDiff\\style5\\color=F92672\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=272822\r\nDiff\\style6\\color=A6E22E\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=272822\r\nDiff\\defaultcolor=F8F8F2\r\nDiff\\defaultpaper=272822\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=F8F8F2\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=272822\r\nFortran\\style1\\color=75715E\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=272822\r\nFortran\\style2\\color=AE81FF\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=272822\r\nFortran\\style3\\color=E6DB74\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=272822\r\nFortran\\style4\\color=E6DB74\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=272822\r\nFortran\\style5\\color=E6DB74\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=272822\r\nFortran\\style6\\color=F92672\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=272822\r\nFortran\\style7\\color=66D9EF\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=272822\r\nFortran\\style8\\color=66D9EF\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=272822\r\nFortran\\style9\\color=F8F8F2\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=272822\r\nFortran\\style10\\color=F8F8F2\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=272822\r\nFortran\\style11\\color=F92672\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=272822\r\nFortran\\style12\\color=F8F8F2\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=272822\r\nFortran\\style13\\color=A6E22E\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=272822\r\nFortran\\style14\\color=F8F8F2\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=272822\r\nFortran\\defaultcolor=F8F8F2\r\nFortran\\defaultpaper=272822\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=F8F8F2\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=272822\r\nFortran77\\style1\\color=75715E\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=272822\r\nFortran77\\style2\\color=AE81FF\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=272822\r\nFortran77\\style3\\color=E6DB74\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=272822\r\nFortran77\\style4\\color=E6DB74\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=272822\r\nFortran77\\style5\\color=E6DB74\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=272822\r\nFortran77\\style6\\color=F92672\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=272822\r\nFortran77\\style7\\color=66D9EF\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=272822\r\nFortran77\\style8\\color=66D9EF\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=272822\r\nFortran77\\style9\\color=F8F8F2\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=272822\r\nFortran77\\style10\\color=F8F8F2\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=272822\r\nFortran77\\style11\\color=F92672\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=272822\r\nFortran77\\style12\\color=F8F8F2\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=272822\r\nFortran77\\style13\\color=A6E22E\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=272822\r\nFortran77\\style14\\color=F8F8F2\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=272822\r\nFortran77\\defaultcolor=F8F8F2\r\nFortran77\\defaultpaper=272822\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F2\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=272822\r\nHTML\\style1\\color=F92672\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=272822\r\nHTML\\style2\\color=F92672\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=272822\r\nHTML\\style3\\color=A6E22E\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=272822\r\nHTML\\style4\\color=A6E22E\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=272822\r\nHTML\\style5\\color=AE81FF\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=272822\r\nHTML\\style6\\color=E6DB74\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=272822\r\nHTML\\style7\\color=E6DB74\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=272822\r\nHTML\\style9\\color=75715E\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=272822\r\nHTML\\style10\\color=AE81FF\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=272822\r\nHTML\\style11\\color=F92672\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=272822\r\nHTML\\style17\\color=AE81FF\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=272822\r\nHTML\\style19\\color=AE81FF\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=272822\r\nHTML\\style21\\color=E6DB74\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=272822\r\nHTML\\defaultcolor=F8F8F2\r\nHTML\\defaultpaper=272822\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F2\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=272822\r\nProperties\\style1\\color=75715E\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=272822\r\nProperties\\style2\\color=A6E22E\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=272822\r\nProperties\\style3\\color=F92672\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=272822\r\nProperties\\style4\\color=A6E22E\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=272822\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=272822\r\nProperties\\defaultcolor=F8F8F2\r\nProperties\\defaultpaper=272822\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=F8F8F2\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=272822\r\nJava\\style1\\color=75715E\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=272822\r\nJava\\style2\\color=75715E\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=272822\r\nJava\\style3\\color=75715E\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=272822\r\nJava\\style4\\color=AE81FF\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=272822\r\nJava\\style5\\color=66D9EF\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=272822\r\nJava\\style6\\color=E6DB74\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=272822\r\nJava\\style7\\color=E6DB74\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=272822\r\nJava\\style10\\color=F92672\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=272822\r\nJava\\style11\\color=F8F8F2\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=272822\r\nJava\\style13\\color=AE81FF\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=272822\r\nJava\\style14\\color=E6DB74\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=272822\r\nJava\\style15\\color=75715E\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=272822\r\nJava\\style16\\color=F92672\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=272822\r\nJava\\style17\\color=75715E\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=272822\r\nJava\\style18\\color=75715E\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=272822\r\nJava\\defaultcolor=F8F8F2\r\nJava\\defaultpaper=272822\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=F8F8F2\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=272822\r\nJavaScript\\style20\\color=E6DB74\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=272822\r\nJavaScript\\style41\\color=F8F8F2\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=272822\r\nJavaScript\\style42\\color=75715E\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=272822\r\nJavaScript\\style43\\color=75715E\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=272822\r\nJavaScript\\style44\\color=75715E\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=272822\r\nJavaScript\\style45\\color=AE81FF\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=272822\r\nJavaScript\\style46\\color=F8F8F2\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=272822\r\nJavaScript\\style47\\color=F92672\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=272822\r\nJavaScript\\style48\\color=E6DB74\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=272822\r\nJavaScript\\style49\\color=E6DB74\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=272822\r\nJavaScript\\style50\\color=F8F8F2\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=272822\r\nJavaScript\\style51\\color=E6DB74\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=272822\r\nJavaScript\\style52\\color=E6DB74\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=272822\r\nJavaScript\\defaultcolor=F8F8F2\r\nJavaScript\\defaultpaper=272822\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=F8F8F2\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=272822\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=272822\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=272822\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=272822\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=272822\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=272822\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=272822\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=272822\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=272822\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=272822\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=272822\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=272822\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=272822\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=F8F8F2\r\nJSON\\defaultpaper=272822\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=F8F8F2\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=272822\r\nLua\\style1\\color=75715E\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=272822\r\nLua\\style2\\color=75715E\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=272822\r\nLua\\style3\\color=75715E\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=272822\r\nLua\\style4\\color=AE81FF\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=272822\r\nLua\\style5\\color=66D9EF\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=272822\r\nLua\\style6\\color=E6DB74\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=272822\r\nLua\\style7\\color=E6DB74\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=272822\r\nLua\\style8\\color=E6DB74\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=272822\r\nLua\\style9\\color=F92672\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=272822\r\nLua\\style10\\color=F92672\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=272822\r\nLua\\style13\\color=F8F8F2\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=272822\r\nLua\\style14\\color=F8F8F2\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=272822\r\nLua\\style15\\color=F8F8F2\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=272822\r\nLua\\defaultcolor=F8F8F2\r\nLua\\defaultpaper=272822\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=F8F8F2\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=272822\r\nMakefile\\style1\\color=75715E\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=272822\r\nMakefile\\style2\\color=F92672\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=272822\r\nMakefile\\style3\\color=66D9EF\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=272822\r\nMakefile\\style4\\color=F92672\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=272822\r\nMakefile\\style5\\color=AE81FF\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=272822\r\nMakefile\\style9\\color=FD971F\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=272822\r\nMakefile\\defaultcolor=F8F8F2\r\nMakefile\\defaultpaper=272822\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=F8F8F2\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=272822\r\nMatlab\\style1\\color=75715E\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=272822\r\nMatlab\\style2\\color=66D9EF\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=272822\r\nMatlab\\style3\\color=AE81FF\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=272822\r\nMatlab\\style4\\color=66D9EF\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=272822\r\nMatlab\\style5\\color=E6DB74\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=272822\r\nMatlab\\style6\\color=F92672\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=272822\r\nMatlab\\style7\\color=66D9EF\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=272822\r\nMatlab\\style8\\color=E6DB74\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=272822\r\nMatlab\\defaultcolor=F8F8F2\r\nMatlab\\defaultpaper=272822\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=F8F8F2\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=272822\r\nNSIS\\style1\\color=75715E\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=272822\r\nNSIS\\style2\\color=E6DB74\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=272822\r\nNSIS\\style3\\color=E6DB74\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=272822\r\nNSIS\\style4\\color=E6DB74\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=272822\r\nNSIS\\style5\\color=66D9EF\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=272822\r\nNSIS\\style6\\color=F8F8F2\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=272822\r\nNSIS\\style7\\color=A6E22E\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=272822\r\nNSIS\\style8\\color=F8F8F2\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=272822\r\nNSIS\\style9\\color=A6E22E\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=272822\r\nNSIS\\style10\\color=F8F8F2\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=272822\r\nNSIS\\style11\\color=F8F8F2\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=272822\r\nNSIS\\style12\\color=F8F8F2\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=272822\r\nNSIS\\style13\\color=E6DB74\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=272822\r\nNSIS\\style14\\color=AE81FF\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=272822\r\nNSIS\\style15\\color=F8F8F2\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=272822\r\nNSIS\\style16\\color=F8F8F2\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=272822\r\nNSIS\\style17\\color=F8F8F2\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=272822\r\nNSIS\\style18\\color=75715E\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=272822\r\nNSIS\\defaultcolor=F8F8F2\r\nNSIS\\defaultpaper=272822\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F2\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=272822\r\nC%2B%2B\\style1\\color=75715E\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=272822\r\nC%2B%2B\\style2\\color=75715E\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=272822\r\nC%2B%2B\\style3\\color=75715E\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=272822\r\nC%2B%2B\\style4\\color=AE81FF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=272822\r\nC%2B%2B\\style5\\color=66D9EF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=272822\r\nC%2B%2B\\style6\\color=E6DB74\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=272822\r\nC%2B%2B\\style7\\color=E6DB74\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=272822\r\nC%2B%2B\\style9\\color=F92672\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=272822\r\nC%2B%2B\\style10\\color=F92672\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=272822\r\nC%2B%2B\\style11\\color=F8F8F2\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=272822\r\nC%2B%2B\\style13\\color=AE81FF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=272822\r\nC%2B%2B\\style14\\color=E6DB74\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=272822\r\nC%2B%2B\\style15\\color=75715E\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=272822\r\nC%2B%2B\\style16\\color=F92672\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=272822\r\nC%2B%2B\\style17\\color=75715E\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=272822\r\nC%2B%2B\\style18\\color=75715E\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=272822\r\nC%2B%2B\\style19\\color=F92672\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=272822\r\nC%2B%2B\\style20\\color=F8F8F2\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=272822\r\nC%2B%2B\\defaultcolor=F8F8F2\r\nC%2B%2B\\defaultpaper=272822\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=F8F8F2\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=272822\r\nPascal\\style1\\color=66D9EF\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=272822\r\nPascal\\style2\\color=75715E\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=272822\r\nPascal\\style3\\color=75715E\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=272822\r\nPascal\\style4\\color=75715E\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=272822\r\nPascal\\style5\\color=F92672\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=272822\r\nPascal\\style7\\color=AE81FF\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=272822\r\nPascal\\style9\\color=66D9EF\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=272822\r\nPascal\\style12\\color=E6DB74\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=272822\r\nPascal\\style13\\color=F92672\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=272822\r\nPascal\\style14\\color=E6DB74\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=272822\r\nPascal\\defaultcolor=F8F8F2\r\nPascal\\defaultpaper=272822\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=F8F8F2\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=272822\r\nPerl\\style1\\color=F8F8F2\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=272822\r\nPerl\\style2\\color=75715E\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=272822\r\nPerl\\style3\\color=F8F8F2\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=272822\r\nPerl\\style4\\color=AE81FF\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=272822\r\nPerl\\style5\\color=66D9EF\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=272822\r\nPerl\\style6\\color=E6DB74\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=272822\r\nPerl\\style7\\color=E6DB74\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=272822\r\nPerl\\style8\\color=F8F8F2\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=272822\r\nPerl\\style9\\color=F92672\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=272822\r\nPerl\\style10\\color=F92672\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=272822\r\nPerl\\style12\\color=F8F8F2\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=272822\r\nPerl\\style13\\color=F8F8F2\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=272822\r\nPerl\\style14\\color=F8F8F2\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=272822\r\nPerl\\style15\\color=F8F8F2\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=272822\r\nPerl\\style17\\color=E6DB74\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=272822\r\nPerl\\style18\\color=F8F8F2\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=272822\r\nPerl\\style19\\color=F8F8F2\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=272822\r\nPerl\\style20\\color=F8F8F2\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=272822\r\nPerl\\style21\\color=F8F8F2\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=272822\r\nPerl\\defaultcolor=F8F8F2\r\nPerl\\defaultpaper=272822\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F2\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=272822\r\nHTML\\style18\\color=F8F8F2\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=272822\r\nHTML\\style118\\color=F8F8F2\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=272822\r\nHTML\\style119\\color=E6DB74\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=272822\r\nHTML\\style120\\color=E6DB74\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=272822\r\nHTML\\style121\\color=F92672\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=272822\r\nHTML\\style122\\color=AE81FF\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=272822\r\nHTML\\style123\\color=F8F8F2\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=272822\r\nHTML\\style124\\color=75715E\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=272822\r\nHTML\\style125\\color=75715E\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=272822\r\nHTML\\style126\\color=E6DB74\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=272822\r\nHTML\\style127\\color=F92672\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=272822\r\nHTML\\defaultcolor=F8F8F2\r\nHTML\\defaultpaper=272822\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F2\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=272822\r\nProperties\\style1\\color=75715E\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=272822\r\nProperties\\style3\\color=F92672\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=272822\r\nProperties\\style4\\color=A6E22E\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=272822\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=272822\r\nProperties\\defaultcolor=F8F8F2\r\nProperties\\defaultpaper=272822\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=F8F8F2\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=272822\r\nPython\\style1\\color=75715E\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=272822\r\nPython\\style2\\color=AE81FF\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=272822\r\nPython\\style3\\color=E6DB74\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=272822\r\nPython\\style4\\color=E6DB74\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=272822\r\nPython\\style5\\color=F92672\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=272822\r\nPython\\style6\\color=75715E\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=272822\r\nPython\\style7\\color=A6E22E\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=272822\r\nPython\\style8\\color=FF8080\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=272822\r\nPython\\style9\\color=FD971F\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=272822\r\nPython\\style10\\color=F92672\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=272822\r\nPython\\style11\\color=66D9EF\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=272822\r\nPython\\style12\\color=75715E\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=272822\r\nPython\\style13\\color=E6DB74\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper=272822\r\nPython\\style16\\color=E6DB74\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper=272822\r\nPython\\style17\\color=E6DB74\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper=272822\r\nPython\\style18\\color=75715E\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper=272822\r\nPython\\style19\\color=A6E22E\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper=272822\r\nPython\\defaultcolor=F8F8F2\r\nPython\\defaultpaper=272822\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F2\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=272822\r\nC%2B%2B\\style1\\color=75715E\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=272822\r\nC%2B%2B\\style2\\color=75715E\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=272822\r\nC%2B%2B\\style3\\color=75715E\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=272822\r\nC%2B%2B\\style4\\color=AE81FF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=272822\r\nC%2B%2B\\style5\\color=66D9EF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=272822\r\nC%2B%2B\\style6\\color=E6DB74\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=272822\r\nC%2B%2B\\style7\\color=E6DB74\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=272822\r\nC%2B%2B\\style9\\color=F92672\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=272822\r\nC%2B%2B\\style10\\color=F92672\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=272822\r\nC%2B%2B\\style11\\color=F8F8F2\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=272822\r\nC%2B%2B\\style13\\color=AE81FF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=272822\r\nC%2B%2B\\style14\\color=E6DB74\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=272822\r\nC%2B%2B\\style15\\color=75715E\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=272822\r\nC%2B%2B\\style16\\color=F92672\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=272822\r\nC%2B%2B\\style17\\color=75715E\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=272822\r\nC%2B%2B\\style18\\color=75715E\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=272822\r\nC%2B%2B\\defaultcolor=F8F8F2\r\nC%2B%2B\\defaultpaper=272822\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=F8F8F2\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=272822\r\nRuby\\style1\\color=F8F8F2\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=272822\r\nRuby\\style2\\color=75715E\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=272822\r\nRuby\\style3\\color=F8F8F2\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=272822\r\nRuby\\style4\\color=AE81FF\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=272822\r\nRuby\\style5\\color=F92672\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=272822\r\nRuby\\style6\\color=E6DB74\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=272822\r\nRuby\\style7\\color=E6DB74\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=272822\r\nRuby\\style8\\color=F8F8F2\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=272822\r\nRuby\\style9\\color=A6E22E\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=272822\r\nRuby\\style10\\color=F92672\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=272822\r\nRuby\\style11\\color=66D9EF\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=272822\r\nRuby\\style12\\color=E6DB74\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=272822\r\nRuby\\style13\\color=F8F8F2\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=272822\r\nRuby\\style14\\color=F8F8F2\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=272822\r\nRuby\\style15\\color=F8F8F2\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=272822\r\nRuby\\style16\\color=F8F8F2\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=272822\r\nRuby\\style17\\color=F8F8F2\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=272822\r\nRuby\\style18\\color=F8F8F2\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=272822\r\nRuby\\style19\\color=F8F8F2\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=272822\r\nRuby\\style24\\color=E6DB74\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=272822\r\nRuby\\defaultcolor=F8F8F2\r\nRuby\\defaultpaper=272822\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=F8F8F2\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=272822\r\nSQL\\style1\\color=75715E\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=272822\r\nSQL\\style2\\color=75715E\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=272822\r\nSQL\\style3\\color=75715E\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=272822\r\nSQL\\style4\\color=AE81FF\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=272822\r\nSQL\\style5\\color=F92672\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=272822\r\nSQL\\style6\\color=E6DB74\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=272822\r\nSQL\\style7\\color=E6DB74\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=272822\r\nSQL\\style10\\color=F92672\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=272822\r\nSQL\\style16\\color=F92672\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=272822\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=272822\r\nSQL\\style24\\color=E6DB74\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=272822\r\nSQL\\defaultcolor=F8F8F2\r\nSQL\\defaultpaper=272822\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=F8F8F2\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=272822\r\nTCL\\style1\\color=75715E\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=272822\r\nTCL\\style2\\color=75715E\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=272822\r\nTCL\\style3\\color=75715E\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=272822\r\nTCL\\style4\\color=AE81FF\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=272822\r\nTCL\\style5\\color=66D9EF\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=272822\r\nTCL\\style6\\color=E6DB74\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=272822\r\nTCL\\style7\\color=E6DB74\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=272822\r\nTCL\\style9\\color=F92672\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=272822\r\nTCL\\style10\\color=F92672\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=272822\r\nTCL\\style11\\color=F8F8F2\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=272822\r\nTCL\\style13\\color=AE81FF\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=272822\r\nTCL\\style14\\color=E6DB74\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=272822\r\nTCL\\style15\\color=75715E\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=272822\r\nTCL\\style16\\color=F92672\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=272822\r\nTCL\\style17\\color=75715E\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=272822\r\nTCL\\style18\\color=75715E\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=272822\r\nTCL\\defaultcolor=F8F8F2\r\nTCL\\defaultpaper=272822\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=F8F8F2\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=272822\r\nTXT\\style1\\color=F8F8F2\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=272822\r\nTXT\\style2\\color=F92672\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=272822\r\nTXT\\defaultcolor=F8F8F2\r\nTXT\\defaultpaper=272822\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=F8F8F2\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=272822\r\nVB\\style1\\color=75715E\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=272822\r\nVB\\style2\\color=AE81FF\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=272822\r\nVB\\style3\\color=F92672\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=272822\r\nVB\\style4\\color=E6DB74\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=272822\r\nVB\\style5\\color=F92672\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=272822\r\nVB\\style6\\color=F92672\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=272822\r\nVB\\style7\\color=F8F8F2\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=272822\r\nVB\\style8\\color=F8F8F2\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=272822\r\nVB\\defaultcolor=F8F8F2\r\nVB\\defaultpaper=272822\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=F8F8F2\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=272822\r\nVerilog\\style1\\color=75715E\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=272822\r\nVerilog\\style2\\color=75715E\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=272822\r\nVerilog\\style3\\color=75715E\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=272822\r\nVerilog\\style4\\color=AE81FF\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=272822\r\nVerilog\\style5\\color=66D9EF\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=272822\r\nVerilog\\style6\\color=E6DB74\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=272822\r\nVerilog\\style7\\color=F92672\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=272822\r\nVerilog\\style9\\color=F92672\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=272822\r\nVerilog\\style10\\color=F92672\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=272822\r\nVerilog\\style11\\color=66D9EF\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=272822\r\nVerilog\\style12\\color=E6DB74\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=272822\r\nVerilog\\style19\\color=F8F8F2\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=272822\r\nVerilog\\defaultcolor=F8F8F2\r\nVerilog\\defaultpaper=272822\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=F8F8F2\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=272822\r\nVHDL\\style1\\color=75715E\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=272822\r\nVHDL\\style2\\color=75715E\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=272822\r\nVHDL\\style3\\color=AE81FF\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=272822\r\nVHDL\\style4\\color=E6DB74\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=272822\r\nVHDL\\style5\\color=F92672\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=272822\r\nVHDL\\style6\\color=66D9EF\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=272822\r\nVHDL\\style7\\color=E6DB74\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=272822\r\nVHDL\\style8\\color=F92672\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=272822\r\nVHDL\\style9\\color=F92672\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=272822\r\nVHDL\\style10\\color=F8F8F2\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=272822\r\nVHDL\\style11\\color=F8F8F2\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=272822\r\nVHDL\\style12\\color=F8F8F2\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=272822\r\nVHDL\\style13\\color=F8F8F2\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=272822\r\nVHDL\\style14\\color=F8F8F2\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=272822\r\nVHDL\\defaultcolor=F8F8F2\r\nVHDL\\defaultpaper=272822\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Monokai/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=F8F8F2\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=272822\r\nXML\\style1\\color=F92672\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=272822\r\nXML\\style2\\color=F92672\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=272822\r\nXML\\style3\\color=A6E22E\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=272822\r\nXML\\style4\\color=A6E22E\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=272822\r\nXML\\style5\\color=AE81FF\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=272822\r\nXML\\style6\\color=E6DB74\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=272822\r\nXML\\style7\\color=E6DB74\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=272822\r\nXML\\style9\\color=75715E\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=272822\r\nXML\\style10\\color=AE81FF\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=272822\r\nXML\\style11\\color=F92672\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=272822\r\nXML\\style12\\color=F8F8F2\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=272822\r\nXML\\style13\\color=F8F8F2\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=272822\r\nXML\\style17\\color=AE81FF\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=272822\r\nXML\\style21\\color=E6DB74\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=272822\r\nXML\\defaultcolor=F8F8F2\r\nXML\\defaultpaper=272822\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=E0E2E4\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=293134\r\nGlobal\\style1\\color=E0E2E4\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=293134\r\nGlobal\\style2\\color=394448\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=293134\r\nGlobal\\style3\\color=F3DB2E\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=293134\r\nGlobal\\style4\\color=FB0000\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=293134\r\nGlobal\\style5\\color=0080C0\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=2F393C\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=404E51\r\nGlobal\\style7\\color=C1CBD2\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=6699CC\r\nGlobal\\style8\\color=445257\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper=112435\r\nGlobal\\style9\\color=81969A\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style9\\paper=3F4B4E\r\nGlobal\\style10\\color=E0E2E4\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=3F4B4E\r\nGlobal\\style11\\color=6A8088\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=2F383C\r\nGlobal\\style12\\color=6A8088\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=293134\r\nGlobal\\style13\\color=343F41\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=343F41\r\nGlobal\\style14\\color=343F43\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=3476A3\r\nGlobal\\style15\\color=222222\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=56676D\r\nGlobal\\style16\\color=E0E2E4\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=6B8189\r\nGlobal\\style17\\color=E0E2E4\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00659B\r\nGlobal\\style18\\color=E0E2E4\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=00880B\r\nGlobal\\style19\\color=E0E2E4\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=A6AA00\r\nGlobal\\style20\\color=E0E2E4\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8A0B0B\r\nGlobal\\style21\\color=E0E2E4\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=44116F\r\nGlobal\\style22\\color=FFFF80\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=E0E2E4\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=4D5C62\r\nGlobal\\style24\\color=FFCAB0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=93975E\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=293134\r\nGlobal\\defaultcolor=E0E2E4\r\nGlobal\\defaultpaper=293134\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=E0E2E4\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=293134\r\nHTML\\style15\\color=D955C1\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=293134\r\nHTML\\style16\\color=D955C1\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=293134\r\nHTML\\style81\\color=E0E2E4\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=293134\r\nHTML\\style82\\color=66747B\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=293134\r\nHTML\\style83\\color=FFCD22\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=293134\r\nHTML\\style84\\color=93C763\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=293134\r\nHTML\\style85\\color=EC7600\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=293134\r\nHTML\\style86\\color=E0E2E4\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=293134\r\nHTML\\style87\\color=E0E2E4\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=293134\r\nHTML\\defaultcolor=E0E2E4\r\nHTML\\defaultpaper=293134\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=E0E2E4\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=293134\r\nBash\\style1\\color=FFC6C6\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=293134\r\nBash\\style2\\color=66747B\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=293134\r\nBash\\style3\\color=FFCD22\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=293134\r\nBash\\style4\\color=93C763\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=293134\r\nBash\\style5\\color=EC7600\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=293134\r\nBash\\style6\\color=FF8409\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=293134\r\nBash\\style7\\color=E8E2B7\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=293134\r\nBash\\style8\\color=678CB1\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=293134\r\nBash\\style9\\color=B7C8D9\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=293134\r\nBash\\style10\\color=A082BD\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=293134\r\nBash\\style11\\color=D39745\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=293134\r\nBash\\style12\\color=FF8409\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=293134\r\nBash\\style13\\color=EC7600\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=293134\r\nBash\\defaultcolor=E0E2E4\r\nBash\\defaultpaper=293134\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=E0E2E4\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=293134\r\nBatch\\style1\\color=66747B\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=293134\r\nBatch\\style2\\color=93C763\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=293134\r\nBatch\\style3\\color=C29F56\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=293134\r\nBatch\\style4\\color=D3DA50\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=293134\r\nBatch\\style5\\color=FFCD22\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=293134\r\nBatch\\style6\\color=678CB1\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=293134\r\nBatch\\style7\\color=E8E2B7\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=293134\r\nBatch\\defaultcolor=E0E2E4\r\nBatch\\defaultpaper=293134\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=E0E2E4\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=293134\r\nC%2B%2B\\style1\\color=66747B\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=293134\r\nC%2B%2B\\style2\\color=66747B\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=293134\r\nC%2B%2B\\style3\\color=6C788C\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=293134\r\nC%2B%2B\\style4\\color=FFCD22\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=293134\r\nC%2B%2B\\style5\\color=93C763\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=293134\r\nC%2B%2B\\style6\\color=EC7600\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=293134\r\nC%2B%2B\\style7\\color=FF8409\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=293134\r\nC%2B%2B\\style9\\color=A082BD\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=293134\r\nC%2B%2B\\style10\\color=E8E2B7\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=293134\r\nC%2B%2B\\style11\\color=E0E2E4\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=293134\r\nC%2B%2B\\style13\\color=E0E2E4\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=293134\r\nC%2B%2B\\style14\\color=D39745\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=293134\r\nC%2B%2B\\style15\\color=6C788C\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=293134\r\nC%2B%2B\\style16\\color=678CB1\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=293134\r\nC%2B%2B\\style17\\color=6C788C\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=293134\r\nC%2B%2B\\style18\\color=6C788C\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=293134\r\nC%2B%2B\\defaultcolor=E0E2E4\r\nC%2B%2B\\defaultpaper=293134\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=E0E2E4\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=293134\r\nCMake\\style1\\color=66747B\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=293134\r\nCMake\\style2\\color=E0E2E4\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=293134\r\nCMake\\style3\\color=E0E2E4\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=293134\r\nCMake\\style4\\color=E0E2E4\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=293134\r\nCMake\\style5\\color=93C763\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=293134\r\nCMake\\style6\\color=E0E2E4\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=293134\r\nCMake\\style7\\color=678CB1\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=293134\r\nCMake\\style8\\color=A082BD\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=293134\r\nCMake\\style9\\color=D0D2B5\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=293134\r\nCMake\\style10\\color=D0D2B5\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=293134\r\nCMake\\style11\\color=D0D2B5\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=293134\r\nCMake\\style12\\color=D0D2B5\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=293134\r\nCMake\\style13\\color=EC7600\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=293134\r\nCMake\\style14\\color=FFCD22\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=293134\r\nCMake\\defaultcolor=E0E2E4\r\nCMake\\defaultpaper=293134\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=E0E2E4\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=293134\r\nC%2B%2B\\style1\\color=66747B\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=293134\r\nC%2B%2B\\style2\\color=66747B\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=293134\r\nC%2B%2B\\style3\\color=6C788C\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=293134\r\nC%2B%2B\\style4\\color=FFCD22\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=293134\r\nC%2B%2B\\style5\\color=93C763\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=293134\r\nC%2B%2B\\style6\\color=EC7600\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=293134\r\nC%2B%2B\\style7\\color=FF8409\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=293134\r\nC%2B%2B\\style9\\color=A082BD\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=293134\r\nC%2B%2B\\style10\\color=E8E2B7\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=293134\r\nC%2B%2B\\style11\\color=E0E2E4\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=293134\r\nC%2B%2B\\style13\\color=E0E2E4\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=293134\r\nC%2B%2B\\style14\\color=D39745\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=293134\r\nC%2B%2B\\style15\\color=6C788C\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=293134\r\nC%2B%2B\\style16\\color=678CB1\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=293134\r\nC%2B%2B\\style17\\color=6C788C\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=293134\r\nC%2B%2B\\style18\\color=6C788C\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=293134\r\nC%2B%2B\\defaultcolor=E0E2E4\r\nC%2B%2B\\defaultpaper=293134\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=E0E2E4\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=293134\r\nC%23\\style1\\color=66747B\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=293134\r\nC%23\\style2\\color=66747B\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=293134\r\nC%23\\style3\\color=6C788C\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=293134\r\nC%23\\style4\\color=FFCD22\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=293134\r\nC%23\\style5\\color=93C763\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=293134\r\nC%23\\style6\\color=EC7600\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=293134\r\nC%23\\style7\\color=FF8409\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=293134\r\nC%23\\style9\\color=A082BD\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=293134\r\nC%23\\style10\\color=E8E2B7\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=293134\r\nC%23\\style11\\color=E0E2E4\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=293134\r\nC%23\\style13\\color=E0E2E4\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=293134\r\nC%23\\style14\\color=D39745\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=293134\r\nC%23\\style15\\color=6C788C\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=293134\r\nC%23\\style16\\color=678CB1\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=293134\r\nC%23\\style17\\color=6C788C\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=293134\r\nC%23\\style18\\color=6C788C\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=293134\r\nC%23\\defaultcolor=E0E2E4\r\nC%23\\defaultpaper=293134\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=E0E2E4\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=293134\r\nCSS\\style1\\color=D0D2B5\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=293134\r\nCSS\\style2\\color=93C763\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=293134\r\nCSS\\style3\\color=A082BD\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=293134\r\nCSS\\style4\\color=A082BD\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=293134\r\nCSS\\style5\\color=9CB4AA\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=293134\r\nCSS\\style6\\color=678CB1\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=293134\r\nCSS\\style7\\color=678CB1\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=293134\r\nCSS\\style8\\color=F0F0F0\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=293134\r\nCSS\\style9\\color=66747B\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=293134\r\nCSS\\style10\\color=D5AB55\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=293134\r\nCSS\\style11\\color=F3DB2E\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=293134\r\nCSS\\style12\\color=A082BD\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=293134\r\nCSS\\defaultcolor=E0E2E4\r\nCSS\\defaultpaper=293134\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=E0E2E4\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=293134\r\nDiff\\style1\\color=E0E2E4\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=293134\r\nDiff\\style2\\color=E0E2E4\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=293134\r\nDiff\\style3\\color=E0E2E4\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=293134\r\nDiff\\style4\\color=0080C0\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=293134\r\nDiff\\style5\\color=FF8080\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=293134\r\nDiff\\style6\\color=00FF40\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=293134\r\nDiff\\defaultcolor=E0E2E4\r\nDiff\\defaultpaper=293134\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=E0E2E4\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=293134\r\nFortran\\style1\\color=66747B\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=293134\r\nFortran\\style2\\color=FFCD22\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=293134\r\nFortran\\style3\\color=EC7600\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=293134\r\nFortran\\style4\\color=FF8409\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=293134\r\nFortran\\style5\\color=E0E2E4\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=293134\r\nFortran\\style6\\color=E8E2B7\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=293134\r\nFortran\\style7\\color=E0E2E4\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=293134\r\nFortran\\style8\\color=93C763\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=293134\r\nFortran\\style9\\color=E0E2E4\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=293134\r\nFortran\\style10\\color=E0E2E4\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=293134\r\nFortran\\style11\\color=A082BD\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=293134\r\nFortran\\style12\\color=E8E2B7\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=293134\r\nFortran\\style13\\color=678CB1\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=293134\r\nFortran\\style14\\color=9FAC95\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=293134\r\nFortran\\defaultcolor=E0E2E4\r\nFortran\\defaultpaper=293134\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=E0E2E4\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=293134\r\nFortran77\\style1\\color=66747B\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=293134\r\nFortran77\\style2\\color=FFCD22\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=293134\r\nFortran77\\style3\\color=EC7600\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=293134\r\nFortran77\\style4\\color=FF8409\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=293134\r\nFortran77\\style5\\color=E0E2E4\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=293134\r\nFortran77\\style6\\color=E8E2B7\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=293134\r\nFortran77\\style7\\color=E0E2E4\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=293134\r\nFortran77\\style8\\color=93C763\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=293134\r\nFortran77\\style9\\color=E0E2E4\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=293134\r\nFortran77\\style10\\color=E0E2E4\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=293134\r\nFortran77\\style11\\color=A082BD\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=293134\r\nFortran77\\style12\\color=E8E2B7\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=293134\r\nFortran77\\style13\\color=678CB1\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=293134\r\nFortran77\\style14\\color=9FAC95\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=293134\r\nFortran77\\defaultcolor=E0E2E4\r\nFortran77\\defaultpaper=293134\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=E0E2E4\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=293134\r\nHTML\\style1\\color=8CBBAD\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=293134\r\nHTML\\style2\\color=8CBBAD\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=293134\r\nHTML\\style3\\color=B3B689\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=293134\r\nHTML\\style4\\color=B3B689\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=293134\r\nHTML\\style5\\color=FFCD22\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=293134\r\nHTML\\style6\\color=E1E2CF\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=293134\r\nHTML\\style7\\color=E1E2CF\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=293134\r\nHTML\\style9\\color=66747B\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=293134\r\nHTML\\style10\\color=BBBBBB\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=293134\r\nHTML\\style11\\color=8CBBAD\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=293134\r\nHTML\\style17\\color=D0D2B5\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=293134\r\nHTML\\style19\\color=FF8000\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=293134\r\nHTML\\style21\\color=D39745\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=293134\r\nHTML\\defaultcolor=E0E2E4\r\nHTML\\defaultpaper=293134\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=E0E2E4\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=293134\r\nProperties\\style1\\color=66747B\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=293134\r\nProperties\\style2\\color=A082BD\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=293134\r\nProperties\\style3\\color=E8E2B7\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=293134\r\nProperties\\style4\\color=FFCD22\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=293134\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=293134\r\nProperties\\defaultcolor=E0E2E4\r\nProperties\\defaultpaper=293134\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=E0E2E4\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=293134\r\nJava\\style1\\color=66747B\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=293134\r\nJava\\style2\\color=66747B\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=293134\r\nJava\\style3\\color=6C788C\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=293134\r\nJava\\style4\\color=FFCD22\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=293134\r\nJava\\style5\\color=93C763\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=293134\r\nJava\\style6\\color=EC7600\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=293134\r\nJava\\style7\\color=FF8409\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=293134\r\nJava\\style10\\color=E8E2B7\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=293134\r\nJava\\style11\\color=E0E2E4\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=293134\r\nJava\\style13\\color=E0E2E4\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=293134\r\nJava\\style14\\color=D39745\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=293134\r\nJava\\style15\\color=6C788C\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=293134\r\nJava\\style16\\color=678CB1\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=293134\r\nJava\\style17\\color=6C788C\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=293134\r\nJava\\style18\\color=6C788C\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=293134\r\nJava\\defaultcolor=E0E2E4\r\nJava\\defaultpaper=293134\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=E0E2E4\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=293134\r\nJavaScript\\style20\\color=EC7600\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=293134\r\nJavaScript\\style41\\color=E0E2E4\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=293134\r\nJavaScript\\style42\\color=818E96\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=293134\r\nJavaScript\\style43\\color=818E96\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=293134\r\nJavaScript\\style44\\color=6C788C\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=293134\r\nJavaScript\\style45\\color=FFCD22\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=293134\r\nJavaScript\\style46\\color=E0E2E4\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=293134\r\nJavaScript\\style47\\color=93C763\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=293134\r\nJavaScript\\style48\\color=EC7600\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=293134\r\nJavaScript\\style49\\color=EC7600\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=293134\r\nJavaScript\\style50\\color=E8E2B7\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=293134\r\nJavaScript\\style51\\color=E0E2E4\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=293134\r\nJavaScript\\style52\\color=D39745\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=293134\r\nJavaScript\\defaultcolor=E0E2E4\r\nJavaScript\\defaultpaper=293134\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=E0E2E4\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=293134\r\nJSON\\style1\\color=FFCD22\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=293134\r\nJSON\\style2\\color=EC7600\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=293134\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=293134\r\nJSON\\style4\\color=678CB1\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=293134\r\nJSON\\style5\\color=FF8409\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=293134\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=293134\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=293134\r\nJSON\\style8\\color=E8E2B7\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=293134\r\nJSON\\style9\\color=EC7600\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=293134\r\nJSON\\style10\\color=0000A0\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=293134\r\nJSON\\style11\\color=93C763\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=293134\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=293134\r\nJSON\\style13\\color=D03565\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=293134\r\nJSON\\defaultcolor=E0E2E4\r\nJSON\\defaultpaper=293134\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=E0E2E4\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=293134\r\nLua\\style1\\color=66747B\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=293134\r\nLua\\style2\\color=66747B\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=293134\r\nLua\\style3\\color=6C788C\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=293134\r\nLua\\style4\\color=FFCD22\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=293134\r\nLua\\style5\\color=93C763\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=293134\r\nLua\\style6\\color=EC7600\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=293134\r\nLua\\style7\\color=FF8409\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=293134\r\nLua\\style8\\color=C29F56\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=293134\r\nLua\\style9\\color=A082BD\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=293134\r\nLua\\style10\\color=E8E2B7\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=293134\r\nLua\\style13\\color=678CB1\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=293134\r\nLua\\style14\\color=678CB1\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=293134\r\nLua\\style15\\color=678CB1\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=293134\r\nLua\\defaultcolor=E0E2E4\r\nLua\\defaultpaper=293134\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=E0E2E4\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=293134\r\nMakefile\\style1\\color=66747B\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=293134\r\nMakefile\\style2\\color=A082BD\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=293134\r\nMakefile\\style3\\color=678CB1\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=293134\r\nMakefile\\style4\\color=E8E2B7\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=293134\r\nMakefile\\style5\\color=93C763\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=293134\r\nMakefile\\style9\\color=D39745\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=293134\r\nMakefile\\defaultcolor=E0E2E4\r\nMakefile\\defaultpaper=293134\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=E0E2E4\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=293134\r\nMatlab\\style1\\color=66747B\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=293134\r\nMatlab\\style2\\color=E0E2E4\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=293134\r\nMatlab\\style3\\color=FFCD22\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=293134\r\nMatlab\\style4\\color=93C763\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=293134\r\nMatlab\\style5\\color=FF8409\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=293134\r\nMatlab\\style6\\color=E8E2B7\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=293134\r\nMatlab\\style7\\color=E0E2E4\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=293134\r\nMatlab\\style8\\color=EC7600\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=293134\r\nMatlab\\defaultcolor=E0E2E4\r\nMatlab\\defaultpaper=293134\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=E0E2E4\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=293134\r\nNSIS\\style1\\color=66747B\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=293134\r\nNSIS\\style2\\color=EC7600\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=293134\r\nNSIS\\style3\\color=E0E2E4\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=293134\r\nNSIS\\style4\\color=E0E2E4\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=293134\r\nNSIS\\style5\\color=93C763\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=293134\r\nNSIS\\style6\\color=678CB1\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=293134\r\nNSIS\\style7\\color=D39745\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=293134\r\nNSIS\\style8\\color=E0E2E4\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=293134\r\nNSIS\\style9\\color=D955C1\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=293134\r\nNSIS\\style10\\color=E0E2E4\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=293134\r\nNSIS\\style11\\color=E0E2E4\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=293134\r\nNSIS\\style12\\color=E0E2E4\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=293134\r\nNSIS\\style13\\color=E0E2E4\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=293134\r\nNSIS\\style14\\color=FFCD22\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=293134\r\nNSIS\\style15\\color=E0E2E4\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=293134\r\nNSIS\\style16\\color=E0E2E4\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=293134\r\nNSIS\\style17\\color=A082BD\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=293134\r\nNSIS\\style18\\color=6C788C\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=293134\r\nNSIS\\defaultcolor=E0E2E4\r\nNSIS\\defaultpaper=293134\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=E0E2E4\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=293134\r\nC%2B%2B\\style1\\color=66747B\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=293134\r\nC%2B%2B\\style2\\color=66747B\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=293134\r\nC%2B%2B\\style3\\color=6C788C\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=293134\r\nC%2B%2B\\style4\\color=FFCD22\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=293134\r\nC%2B%2B\\style5\\color=93C763\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=293134\r\nC%2B%2B\\style6\\color=EC7600\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=293134\r\nC%2B%2B\\style7\\color=FF8409\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=293134\r\nC%2B%2B\\style9\\color=A082BD\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=293134\r\nC%2B%2B\\style10\\color=E8E2B7\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=293134\r\nC%2B%2B\\style11\\color=E0E2E4\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=293134\r\nC%2B%2B\\style13\\color=E0E2E4\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=293134\r\nC%2B%2B\\style14\\color=D39745\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=293134\r\nC%2B%2B\\style15\\color=6C788C\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=293134\r\nC%2B%2B\\style16\\color=678CB1\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=293134\r\nC%2B%2B\\style17\\color=6C788C\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=293134\r\nC%2B%2B\\style18\\color=6C788C\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=293134\r\nC%2B%2B\\style19\\color=E0E2E4\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=293134\r\nC%2B%2B\\style20\\color=ABBFD3\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=293134\r\nC%2B%2B\\defaultcolor=E0E2E4\r\nC%2B%2B\\defaultpaper=293134\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=E0E2E4\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=293134\r\nPascal\\style1\\color=E0E2E4\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=293134\r\nPascal\\style2\\color=66747B\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=293134\r\nPascal\\style3\\color=6C788C\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=293134\r\nPascal\\style4\\color=66747B\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=293134\r\nPascal\\style5\\color=A082BD\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=293134\r\nPascal\\style6\\color=9473B5\r\nPascal\\style6\\eolfill=false\r\nPascal\\style6\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style6\\paper=293134\r\nPascal\\style7\\color=EC7600\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=293134\r\nPascal\\style8\\color=FFCD22\r\nPascal\\style8\\eolfill=false\r\nPascal\\style8\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper=293134\r\nPascal\\style9\\color=93C763\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=293134\r\nPascal\\style10\\color=EC7600\r\nPascal\\style10\\eolfill=false\r\nPascal\\style10\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style10\\paper=293134\r\nPascal\\style11\\color=EC7600\r\nPascal\\style11\\eolfill=false\r\nPascal\\style11\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style11\\paper=293134\r\nPascal\\style13\\color=E8E2B7\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=293134\r\nPascal\\style14\\color=D39745\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=293134\r\nPascal\\defaultcolor=E0E2E4\r\nPascal\\defaultpaper=293134\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=E0E2E4\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=293134\r\nPerl\\style1\\color=E0E2E4\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=293134\r\nPerl\\style2\\color=66747B\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=293134\r\nPerl\\style3\\color=E0E2E4\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=293134\r\nPerl\\style4\\color=FFCD22\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=293134\r\nPerl\\style5\\color=93C763\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=293134\r\nPerl\\style6\\color=EC7600\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=293134\r\nPerl\\style7\\color=FF8409\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=293134\r\nPerl\\style8\\color=E0E2E4\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=293134\r\nPerl\\style9\\color=A082BD\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=293134\r\nPerl\\style10\\color=E8E2B7\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=293134\r\nPerl\\style12\\color=678CB1\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=293134\r\nPerl\\style13\\color=5899C0\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=293134\r\nPerl\\style14\\color=5AB9BE\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=293134\r\nPerl\\style15\\color=E0E2E4\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=293134\r\nPerl\\style17\\color=D39745\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=293134\r\nPerl\\style18\\color=E0E2E4\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=293134\r\nPerl\\style19\\color=E0E2E4\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=293134\r\nPerl\\style20\\color=E0E2E4\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=293134\r\nPerl\\style21\\color=E0E2E4\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=293134\r\nPerl\\defaultcolor=E0E2E4\r\nPerl\\defaultpaper=293134\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=E0E2E4\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=293134\r\nHTML\\style18\\color=D955C1\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=293134\r\nHTML\\style118\\color=E0E2E4\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=293134\r\nHTML\\style119\\color=EC7600\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=293134\r\nHTML\\style120\\color=FF8409\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=293134\r\nHTML\\style121\\color=93C763\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=293134\r\nHTML\\style122\\color=FFCD22\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=293134\r\nHTML\\style123\\color=678CB1\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=293134\r\nHTML\\style124\\color=66747B\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=293134\r\nHTML\\style125\\color=66747B\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=293134\r\nHTML\\style126\\color=D39745\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=293134\r\nHTML\\style127\\color=E8E2B7\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=293134\r\nHTML\\defaultcolor=E0E2E4\r\nHTML\\defaultpaper=293134\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=E0E2E4\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=293134\r\nProperties\\style1\\color=66747B\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=293134\r\nProperties\\style2\\color=A082BD\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=293134\r\nProperties\\style3\\color=E8E2B7\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=293134\r\nProperties\\style4\\color=E0E2E4\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=293134\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=293134\r\nProperties\\defaultcolor=E0E2E4\r\nProperties\\defaultpaper=293134\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=E0E2E4\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=293134\r\nPython\\style1\\color=66747B\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=293134\r\nPython\\style2\\color=FFCD22\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=293134\r\nPython\\style3\\color=EC7600\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=293134\r\nPython\\style4\\color=FF8409\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=293134\r\nPython\\style5\\color=93C763\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=293134\r\nPython\\style6\\color=66747B\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=293134\r\nPython\\style7\\color=66747B\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=293134\r\nPython\\style8\\color=A082BD\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=293134\r\nPython\\style9\\color=678CB1\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=293134\r\nPython\\style10\\color=E8E2B7\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=293134\r\nPython\\style11\\color=E0E2E4\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=293134\r\nPython\\style12\\color=66747B\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=293134\r\nPython\\style13\\color=E0E2E4\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper=293134\r\nPython\\style16\\color=EC7600\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper=293134\r\nPython\\style17\\color=FF8409\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper=293134\r\nPython\\style18\\color=66747B\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper=293134\r\nPython\\style19\\color=66747B\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper=293134\r\nPython\\defaultcolor=E0E2E4\r\nPython\\defaultpaper=293134\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=E0E2E4\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=293134\r\nC%2B%2B\\style1\\color=66747B\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=293134\r\nC%2B%2B\\style2\\color=66747B\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=293134\r\nC%2B%2B\\style3\\color=6C788C\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=293134\r\nC%2B%2B\\style4\\color=FFCD22\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=293134\r\nC%2B%2B\\style5\\color=93C763\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=293134\r\nC%2B%2B\\style6\\color=EC7600\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=293134\r\nC%2B%2B\\style7\\color=FF8409\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=293134\r\nC%2B%2B\\style9\\color=A082BD\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=293134\r\nC%2B%2B\\style10\\color=E8E2B7\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=293134\r\nC%2B%2B\\style11\\color=E0E2E4\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=293134\r\nC%2B%2B\\style13\\color=E0E2E4\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=293134\r\nC%2B%2B\\style14\\color=D39745\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=293134\r\nC%2B%2B\\style15\\color=6C788C\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=293134\r\nC%2B%2B\\style16\\color=678CB1\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=293134\r\nC%2B%2B\\style17\\color=6C788C\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=293134\r\nC%2B%2B\\style18\\color=6C788C\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=293134\r\nC%2B%2B\\defaultcolor=E0E2E4\r\nC%2B%2B\\defaultpaper=293134\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=E0E2E4\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=293134\r\nRuby\\style1\\color=E0E2E4\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=293134\r\nRuby\\style2\\color=66747B\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=293134\r\nRuby\\style3\\color=E0E2E4\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=293134\r\nRuby\\style4\\color=FFCD22\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=293134\r\nRuby\\style5\\color=93C763\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=293134\r\nRuby\\style6\\color=EC7600\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=293134\r\nRuby\\style7\\color=FF8409\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=293134\r\nRuby\\style8\\color=A082BD\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=293134\r\nRuby\\style9\\color=678CB1\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=293134\r\nRuby\\style10\\color=E8E2B7\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=293134\r\nRuby\\style11\\color=E0E2E4\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=293134\r\nRuby\\style12\\color=D39745\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=293134\r\nRuby\\style13\\color=E0E2E4\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=293134\r\nRuby\\style14\\color=E0E2E4\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=293134\r\nRuby\\style15\\color=E0E2E4\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=293134\r\nRuby\\style16\\color=B6C8DA\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=293134\r\nRuby\\style17\\color=E0E2E4\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=293134\r\nRuby\\style18\\color=E0E2E4\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=293134\r\nRuby\\style19\\color=E0E2E4\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=293134\r\nRuby\\style24\\color=E0E2E4\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=293134\r\nRuby\\defaultcolor=E0E2E4\r\nRuby\\defaultpaper=293134\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=E0E2E4\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=293134\r\nSQL\\style1\\color=66747B\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=293134\r\nSQL\\style2\\color=66747B\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=293134\r\nSQL\\style3\\color=66747B\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=293134\r\nSQL\\style4\\color=FFCD22\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=293134\r\nSQL\\style5\\color=93C763\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=293134\r\nSQL\\style6\\color=EC7600\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=293134\r\nSQL\\style7\\color=EC7600\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=293134\r\nSQL\\style10\\color=E8E2B7\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=293134\r\nSQL\\style16\\color=93C763\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=293134\r\nSQL\\style19\\color=007FFF\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=293134\r\nSQL\\style24\\color=EC7600\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=293134\r\nSQL\\defaultcolor=E0E2E4\r\nSQL\\defaultpaper=293134\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=E0E2E4\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=293134\r\nTCL\\style1\\color=66747B\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=293134\r\nTCL\\style2\\color=66747B\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=293134\r\nTCL\\style3\\color=6C788C\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=293134\r\nTCL\\style4\\color=FFCD22\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=293134\r\nTCL\\style5\\color=93C763\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=293134\r\nTCL\\style6\\color=EC7600\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=293134\r\nTCL\\style7\\color=FF8409\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=293134\r\nTCL\\style9\\color=A082BD\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=293134\r\nTCL\\style10\\color=E8E2B7\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=293134\r\nTCL\\style11\\color=E0E2E4\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=293134\r\nTCL\\style13\\color=E0E2E4\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=293134\r\nTCL\\style14\\color=D39745\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=293134\r\nTCL\\style15\\color=6C788C\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=293134\r\nTCL\\style16\\color=678CB1\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=293134\r\nTCL\\style17\\color=6C788C\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=293134\r\nTCL\\style18\\color=6C788C\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=293134\r\nTCL\\defaultcolor=E0E2E4\r\nTCL\\defaultpaper=293134\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=E0E2E4\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=293134\r\nTXT\\style1\\color=E0E2E4\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=293134\r\nTXT\\style2\\color=678CB1\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=293134\r\nTXT\\defaultcolor=E0E2E4\r\nTXT\\defaultpaper=293134\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=E0E2E4\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=293134\r\nVB\\style1\\color=66747B\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=293134\r\nVB\\style2\\color=FFCD22\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=293134\r\nVB\\style3\\color=93C763\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=293134\r\nVB\\style4\\color=EC7600\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=293134\r\nVB\\style5\\color=A082BD\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=293134\r\nVB\\style6\\color=E8E2B7\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=293134\r\nVB\\style7\\color=E0E2E4\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=293134\r\nVB\\style8\\color=E0E2E4\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=293134\r\nVB\\defaultcolor=E0E2E4\r\nVB\\defaultpaper=293134\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=E0E2E4\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=293134\r\nVerilog\\style1\\color=66747B\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=293134\r\nVerilog\\style2\\color=66747B\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=293134\r\nVerilog\\style3\\color=66747B\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=293134\r\nVerilog\\style4\\color=FFCD22\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=293134\r\nVerilog\\style5\\color=93C763\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=293134\r\nVerilog\\style6\\color=EC7600\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=293134\r\nVerilog\\style7\\color=E0E2E4\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=293134\r\nVerilog\\style9\\color=A082BD\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=293134\r\nVerilog\\style10\\color=E8E2B7\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=293134\r\nVerilog\\style11\\color=E0E2E4\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=293134\r\nVerilog\\style12\\color=E0E2E4\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=293134\r\nVerilog\\style19\\color=E0E2E4\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=293134\r\nVerilog\\defaultcolor=E0E2E4\r\nVerilog\\defaultpaper=293134\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=E0E2E4\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=293134\r\nVHDL\\style1\\color=66747B\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=293134\r\nVHDL\\style2\\color=66747B\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=293134\r\nVHDL\\style3\\color=FFCD22\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=293134\r\nVHDL\\style4\\color=EC7600\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=293134\r\nVHDL\\style5\\color=E8E2B7\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=293134\r\nVHDL\\style6\\color=E0E2E4\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=293134\r\nVHDL\\style7\\color=E0E2E4\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=293134\r\nVHDL\\style8\\color=93C763\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=293134\r\nVHDL\\style9\\color=E0E2E4\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=293134\r\nVHDL\\style10\\color=E0E2E4\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=293134\r\nVHDL\\style11\\color=E0E2E4\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=293134\r\nVHDL\\style12\\color=E0E2E4\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=293134\r\nVHDL\\style13\\color=E0E2E4\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=293134\r\nVHDL\\style14\\color=E0E2E4\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=293134\r\nVHDL\\defaultcolor=E0E2E4\r\nVHDL\\defaultpaper=293134\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=E0E2E4\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=293134\r\nXML\\style1\\color=678CB1\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=293134\r\nXML\\style2\\color=678CB1\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=293134\r\nXML\\style3\\color=B3B689\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=293134\r\nXML\\style4\\color=B3B689\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=293134\r\nXML\\style5\\color=FFCD22\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=293134\r\nXML\\style6\\color=E1E2CF\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=293134\r\nXML\\style7\\color=E1E2CF\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=293134\r\nXML\\style9\\color=66747B\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=293134\r\nXML\\style10\\color=BBBBBB\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=293134\r\nXML\\style11\\color=678CB1\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=293134\r\nXML\\style12\\color=ABBFD3\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=293134\r\nXML\\style13\\color=ABBFD3\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=293134\r\nXML\\style17\\color=D5E6F0\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=293134\r\nXML\\style21\\color=D39745\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=293134\r\nXML\\defaultcolor=E0E2E4\r\nXML\\defaultpaper=293134\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Obsidian/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color=E0E2E4\r\nYAML\\style0\\eolfill=false\r\nYAML\\style0\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style0\\paper=293134\r\nYAML\\style1\\color=66747B\r\nYAML\\style1\\eolfill=false\r\nYAML\\style1\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style1\\paper=293134\r\nYAML\\style2\\color=678CB1\r\nYAML\\style2\\eolfill=false\r\nYAML\\style2\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style2\\paper=293134\r\nYAML\\style3\\color=93C763\r\nYAML\\style3\\eolfill=false\r\nYAML\\style3\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style3\\paper=293134\r\nYAML\\style4\\color=FFCD22\r\nYAML\\style4\\eolfill=false\r\nYAML\\style4\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style4\\paper=293134\r\nYAML\\style5\\color=A082BD\r\nYAML\\style5\\eolfill=false\r\nYAML\\style5\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style5\\paper=293134\r\nYAML\\style6\\color=E0E2E4\r\nYAML\\style6\\eolfill=false\r\nYAML\\style6\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style6\\paper=293134\r\nYAML\\style7\\color=E0E2E4\r\nYAML\\style7\\eolfill=false\r\nYAML\\style7\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style7\\paper=293134\r\nYAML\\style8\\color=E0E2E4\r\nYAML\\style8\\eolfill=false\r\nYAML\\style8\\font=Courier New, 14, 0, 0, 0\r\nYAML\\style8\\paper=293134\r\nYAML\\defaultcolor=E0E2E4\r\nYAML\\defaultpaper=293134\r\nYAML\\defaultfont=Courier New, 14, 0, 0, 0\r\nYAML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=F8F8F8\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=0B161D\r\nGlobal\\style1\\color=F8F8F8\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=0B161D\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=0B161D\r\nGlobal\\style3\\color=FCE94F\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper=0B161D\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=0B161D\r\nGlobal\\style5\\color=F8F8F8\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=11222D\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=162E3D\r\nGlobal\\style7\\color=8BA7A7\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=0B161D\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper=0B161D\r\nGlobal\\style9\\color=EEEEEC\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper=2E3436\r\nGlobal\\style10\\color=F8F8F8\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=2E3436\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=0B161D\r\nGlobal\\style13\\color=555753\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E3436\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=0B161D\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=F8F8F8\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=F8F8F8\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=F8F8F8\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=F8F8F8\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=F8F8F8\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=8000FF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=0B161D\r\nGlobal\\defaultcolor=F8F8F8\r\nGlobal\\defaultpaper=0B161D\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=0B161D\r\nHTML\\style15\\color=F8F8F8\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=0B161D\r\nHTML\\style16\\color=F8F8F8\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=0B161D\r\nHTML\\style81\\color=F8F8F8\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=0B161D\r\nHTML\\style82\\color=ffff00\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper=0B161D\r\nHTML\\style83\\color=FF3A83\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=0B161D\r\nHTML\\style84\\color=FFAA00\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=0B161D\r\nHTML\\style85\\color=55E439\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=0B161D\r\nHTML\\style86\\color=EB939A\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=0B161D\r\nHTML\\style87\\color=55E439\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=0B161D\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=0B161D\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=F8F8F8\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=0B161D\r\nBash\\style1\\color=F8F8F8\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=0B161D\r\nBash\\style2\\color=ffff00\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 14, 0, 0, 0\r\nBash\\style2\\paper=0B161D\r\nBash\\style3\\color=FF3A83\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=0B161D\r\nBash\\style4\\color=F6F080\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=0B161D\r\nBash\\style5\\color=55E439\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=0B161D\r\nBash\\style6\\color=55E439\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=0B161D\r\nBash\\style7\\color=FFAA00\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=0B161D\r\nBash\\style8\\color=EB939A\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=0B161D\r\nBash\\style9\\color=F8F8F8\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=0B161D\r\nBash\\style10\\color=F8F8F8\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=0B161D\r\nBash\\style11\\color=F8F8F8\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=0B161D\r\nBash\\style12\\color=F8F8F8\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=0B161D\r\nBash\\style13\\color=F8F8F8\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=0B161D\r\nBash\\defaultcolor=F8F8F8\r\nBash\\defaultpaper=0B161D\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=F8F8F8\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=0B161D\r\nBatch\\style1\\color=ffff00\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper=0B161D\r\nBatch\\style2\\color=FFAA00\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=0B161D\r\nBatch\\style3\\color=EFE900\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=0B161D\r\nBatch\\style4\\color=FFAA00\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=0B161D\r\nBatch\\style5\\color=EB939A\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=0B161D\r\nBatch\\style6\\color=FB9A4B\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=0B161D\r\nBatch\\style7\\color=FFAA00\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=0B161D\r\nBatch\\defaultcolor=F8F8F8\r\nBatch\\defaultpaper=0B161D\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0B161D\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0B161D\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0B161D\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0B161D\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0B161D\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=0B161D\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0B161D\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0B161D\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0B161D\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0B161D\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0B161D\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0B161D\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0B161D\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0B161D\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=0B161D\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0B161D\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0B161D\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0B161D\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=F8F8F8\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=0B161D\r\nCMake\\style1\\color=ffff00\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper=0B161D\r\nCMake\\style2\\color=55E439\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=0B161D\r\nCMake\\style3\\color=55E439\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=0B161D\r\nCMake\\style4\\color=55E439\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=0B161D\r\nCMake\\style5\\color=EB939A\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=0B161D\r\nCMake\\style6\\color=F8F8F8\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=0B161D\r\nCMake\\style7\\color=FB9A4B\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=0B161D\r\nCMake\\style8\\color=F8F8F8\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=0B161D\r\nCMake\\style9\\color=F8F8F8\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=0B161D\r\nCMake\\style10\\color=F8F8F8\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=0B161D\r\nCMake\\style11\\color=F8F8F8\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=0B161D\r\nCMake\\style12\\color=F8F8F8\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=0B161D\r\nCMake\\style13\\color=55E439\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=0B161D\r\nCMake\\style14\\color=FF3A83\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=0B161D\r\nCMake\\defaultcolor=F8F8F8\r\nCMake\\defaultpaper=0B161D\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0B161D\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0B161D\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0B161D\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0B161D\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0B161D\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=0B161D\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0B161D\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0B161D\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0B161D\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0B161D\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0B161D\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0B161D\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0B161D\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0B161D\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=0B161D\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0B161D\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0B161D\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0B161D\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=F8F8F8\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=0B161D\r\nC%23\\style1\\color=ffff00\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper=0B161D\r\nC%23\\style2\\color=ffff00\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper=0B161D\r\nC%23\\style3\\color=ffff00\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper=0B161D\r\nC%23\\style4\\color=FF3A83\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=0B161D\r\nC%23\\style5\\color=F6F080\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=0B161D\r\nC%23\\style6\\color=55E439\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=0B161D\r\nC%23\\style7\\color=55E439\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=0B161D\r\nC%23\\style9\\color=FFAA00\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=0B161D\r\nC%23\\style10\\color=FFAA00\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=0B161D\r\nC%23\\style11\\color=F8F8F8\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=0B161D\r\nC%23\\style13\\color=FF3A83\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=0B161D\r\nC%23\\style14\\color=FFB454\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=0B161D\r\nC%23\\style15\\color=ffff00\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper=0B161D\r\nC%23\\style16\\color=FFAA00\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=0B161D\r\nC%23\\style17\\color=ffff00\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper=0B161D\r\nC%23\\style18\\color=ffff00\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper=0B161D\r\nC%23\\defaultcolor=F8F8F8\r\nC%23\\defaultpaper=0B161D\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=F8F8F8\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=0B161D\r\nCSS\\style1\\color=EFE900\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=0B161D\r\nCSS\\style2\\color=EFE900\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=0B161D\r\nCSS\\style3\\color=EFE900\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=0B161D\r\nCSS\\style4\\color=EFE900\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=0B161D\r\nCSS\\style5\\color=FFAA00\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=0B161D\r\nCSS\\style6\\color=EB939A\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=0B161D\r\nCSS\\style7\\color=EB939A\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=0B161D\r\nCSS\\style8\\color=FF3A83\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=0B161D\r\nCSS\\style9\\color=ffff00\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper=0B161D\r\nCSS\\style10\\color=EFE900\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=0B161D\r\nCSS\\style11\\color=FFAA00\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=0B161D\r\nCSS\\style12\\color=FFAA00\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=0B161D\r\nCSS\\defaultcolor=F8F8F8\r\nCSS\\defaultpaper=0B161D\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=F8F8F8\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=0B161D\r\nDiff\\style1\\color=ffff00\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=0B161D\r\nDiff\\style2\\color=EB939A\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=0B161D\r\nDiff\\style3\\color=F8F8F8\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=0B161D\r\nDiff\\style4\\color=F8F8F8\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=0B161D\r\nDiff\\style5\\color=F8F8F8\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=0B161D\r\nDiff\\style6\\color=F8F8F8\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=0B161D\r\nDiff\\defaultcolor=F8F8F8\r\nDiff\\defaultpaper=0B161D\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=F8F8F8\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=0B161D\r\nFortran\\style1\\color=ffff00\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper=0B161D\r\nFortran\\style2\\color=FF3A83\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=0B161D\r\nFortran\\style3\\color=55E439\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=0B161D\r\nFortran\\style4\\color=55E439\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=0B161D\r\nFortran\\style5\\color=55E439\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=0B161D\r\nFortran\\style6\\color=FFAA00\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=0B161D\r\nFortran\\style7\\color=EB939A\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=0B161D\r\nFortran\\style8\\color=F6F080\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=0B161D\r\nFortran\\style9\\color=F8F8F8\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=0B161D\r\nFortran\\style10\\color=F8F8F8\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=0B161D\r\nFortran\\style11\\color=FFAA00\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=0B161D\r\nFortran\\style12\\color=F8F8F8\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=0B161D\r\nFortran\\style13\\color=EFE900\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=0B161D\r\nFortran\\style14\\color=F8F8F8\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=0B161D\r\nFortran\\defaultcolor=F8F8F8\r\nFortran\\defaultpaper=0B161D\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=F8F8F8\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=0B161D\r\nFortran77\\style1\\color=ffff00\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper=0B161D\r\nFortran77\\style2\\color=FF3A83\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=0B161D\r\nFortran77\\style3\\color=55E439\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=0B161D\r\nFortran77\\style4\\color=55E439\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=0B161D\r\nFortran77\\style5\\color=55E439\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=0B161D\r\nFortran77\\style6\\color=FFAA00\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=0B161D\r\nFortran77\\style7\\color=EB939A\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=0B161D\r\nFortran77\\style8\\color=F6F080\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=0B161D\r\nFortran77\\style9\\color=F8F8F8\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=0B161D\r\nFortran77\\style10\\color=F8F8F8\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=0B161D\r\nFortran77\\style11\\color=FFAA00\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=0B161D\r\nFortran77\\style12\\color=F8F8F8\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=0B161D\r\nFortran77\\style13\\color=EFE900\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=0B161D\r\nFortran77\\style14\\color=F8F8F8\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=0B161D\r\nFortran77\\defaultcolor=F8F8F8\r\nFortran77\\defaultpaper=0B161D\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=0B161D\r\nHTML\\style1\\color=EFE900\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=0B161D\r\nHTML\\style2\\color=EFE900\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=0B161D\r\nHTML\\style3\\color=EFE900\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=0B161D\r\nHTML\\style4\\color=EFE900\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=0B161D\r\nHTML\\style5\\color=FF3A83\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=0B161D\r\nHTML\\style6\\color=55E439\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=0B161D\r\nHTML\\style7\\color=55E439\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=0B161D\r\nHTML\\style9\\color=ffff00\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style9\\paper=0B161D\r\nHTML\\style10\\color=FF3A83\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=0B161D\r\nHTML\\style11\\color=EFE900\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=0B161D\r\nHTML\\style17\\color=FF3A83\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=0B161D\r\nHTML\\style19\\color=FF3A83\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=0B161D\r\nHTML\\style21\\color=55E439\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=0B161D\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=0B161D\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F8\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=0B161D\r\nProperties\\style1\\color=ffff00\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=0B161D\r\nProperties\\style2\\color=EFE900\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=0B161D\r\nProperties\\style3\\color=FFAA00\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=0B161D\r\nProperties\\style4\\color=EFE900\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=0B161D\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=0B161D\r\nProperties\\defaultcolor=F8F8F8\r\nProperties\\defaultpaper=0B161D\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=F8F8F8\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=0B161D\r\nJava\\style1\\color=ffff00\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper=0B161D\r\nJava\\style2\\color=ffff00\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper=0B161D\r\nJava\\style3\\color=ffff00\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper=0B161D\r\nJava\\style4\\color=FF3A83\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=0B161D\r\nJava\\style5\\color=F6F080\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=0B161D\r\nJava\\style6\\color=55E439\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=0B161D\r\nJava\\style7\\color=55E439\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=0B161D\r\nJava\\style10\\color=FFAA00\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=0B161D\r\nJava\\style11\\color=F8F8F8\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=0B161D\r\nJava\\style13\\color=FF3A83\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=0B161D\r\nJava\\style14\\color=FFB454\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=0B161D\r\nJava\\style15\\color=ffff00\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper=0B161D\r\nJava\\style16\\color=FFAA00\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=0B161D\r\nJava\\style17\\color=ffff00\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper=0B161D\r\nJava\\style18\\color=ffff00\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper=0B161D\r\nJava\\defaultcolor=F8F8F8\r\nJava\\defaultpaper=0B161D\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=F8F8F8\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=0B161D\r\nJavaScript\\style20\\color=55E439\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=0B161D\r\nJavaScript\\style41\\color=F8F8F8\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=0B161D\r\nJavaScript\\style42\\color=ffff00\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=0B161D\r\nJavaScript\\style43\\color=ffff00\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=0B161D\r\nJavaScript\\style44\\color=ffff00\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=0B161D\r\nJavaScript\\style45\\color=FF3A83\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=0B161D\r\nJavaScript\\style46\\color=F8F8F8\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=0B161D\r\nJavaScript\\style47\\color=FFAA00\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=0B161D\r\nJavaScript\\style48\\color=55E439\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=0B161D\r\nJavaScript\\style49\\color=55E439\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=0B161D\r\nJavaScript\\style50\\color=F8F8F8\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=0B161D\r\nJavaScript\\style51\\color=55E439\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=0B161D\r\nJavaScript\\style52\\color=FFB454\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=0B161D\r\nJavaScript\\defaultcolor=F8F8F8\r\nJavaScript\\defaultpaper=0B161D\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=F8F8F8\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=0B161D\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=0B161D\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=0B161D\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=0B161D\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=0B161D\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=0B161D\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=0B161D\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=0B161D\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=0B161D\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=0B161D\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=0B161D\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=0B161D\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=0B161D\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=F8F8F8\r\nJSON\\defaultpaper=0B161D\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=F8F8F8\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=0B161D\r\nLua\\style1\\color=ffff00\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper=0B161D\r\nLua\\style2\\color=ffff00\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper=0B161D\r\nLua\\style3\\color=ffff00\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 14, 0, 0, 0\r\nLua\\style3\\paper=0B161D\r\nLua\\style4\\color=FF3A83\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=0B161D\r\nLua\\style5\\color=F6F080\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=0B161D\r\nLua\\style6\\color=55E439\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=0B161D\r\nLua\\style7\\color=55E439\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=0B161D\r\nLua\\style8\\color=55E439\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=0B161D\r\nLua\\style9\\color=FFAA00\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=0B161D\r\nLua\\style10\\color=FFAA00\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=0B161D\r\nLua\\style13\\color=F8F8F8\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=0B161D\r\nLua\\style14\\color=F8F8F8\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=0B161D\r\nLua\\style15\\color=F8F8F8\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=0B161D\r\nLua\\defaultcolor=F8F8F8\r\nLua\\defaultpaper=0B161D\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=F8F8F8\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=0B161D\r\nMakefile\\style1\\color=ffff00\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper=0B161D\r\nMakefile\\style2\\color=FFAA00\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=0B161D\r\nMakefile\\style3\\color=EB939A\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=0B161D\r\nMakefile\\style4\\color=FFAA00\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=0B161D\r\nMakefile\\style5\\color=F6F080\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=0B161D\r\nMakefile\\style9\\color=EFE900\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=0B161D\r\nMakefile\\defaultcolor=F8F8F8\r\nMakefile\\defaultpaper=0B161D\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=F8F8F8\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=0B161D\r\nMatlab\\style1\\color=ffff00\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper=0B161D\r\nMatlab\\style2\\color=EB939A\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=0B161D\r\nMatlab\\style3\\color=FF3A83\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=0B161D\r\nMatlab\\style4\\color=F6F080\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=0B161D\r\nMatlab\\style5\\color=55E439\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=0B161D\r\nMatlab\\style6\\color=FFAA00\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=0B161D\r\nMatlab\\style7\\color=EB939A\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=0B161D\r\nMatlab\\style8\\color=55E439\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=0B161D\r\nMatlab\\defaultcolor=F8F8F8\r\nMatlab\\defaultpaper=0B161D\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=F8F8F8\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=0B161D\r\nNSIS\\style1\\color=ffff00\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper=0B161D\r\nNSIS\\style2\\color=55E439\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=0B161D\r\nNSIS\\style3\\color=55E439\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=0B161D\r\nNSIS\\style4\\color=55E439\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=0B161D\r\nNSIS\\style5\\color=FFB454\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=0B161D\r\nNSIS\\style6\\color=FB9A4B\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=0B161D\r\nNSIS\\style7\\color=EFE900\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=0B161D\r\nNSIS\\style8\\color=F8F8F8\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=0B161D\r\nNSIS\\style9\\color=EFE900\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=0B161D\r\nNSIS\\style10\\color=F8F8F8\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=0B161D\r\nNSIS\\style11\\color=F8F8F8\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=0B161D\r\nNSIS\\style12\\color=F8F8F8\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=0B161D\r\nNSIS\\style13\\color=55E439\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=0B161D\r\nNSIS\\style14\\color=FF3A83\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=0B161D\r\nNSIS\\style15\\color=F8F8F8\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper=0B161D\r\nNSIS\\style16\\color=F8F8F8\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper=0B161D\r\nNSIS\\style17\\color=F8F8F8\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style17\\paper=0B161D\r\nNSIS\\style18\\color=ffff00\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper=0B161D\r\nNSIS\\defaultcolor=F8F8F8\r\nNSIS\\defaultpaper=0B161D\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0B161D\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0B161D\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0B161D\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0B161D\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0B161D\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=0B161D\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0B161D\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0B161D\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0B161D\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0B161D\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0B161D\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0B161D\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0B161D\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0B161D\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=0B161D\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0B161D\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0B161D\r\nC%2B%2B\\style19\\color=FFAA00\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=0B161D\r\nC%2B%2B\\style20\\color=F8F8F8\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=0B161D\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0B161D\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=F8F8F8\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=0B161D\r\nPascal\\style1\\color=EB939A\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=0B161D\r\nPascal\\style2\\color=ffff00\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper=0B161D\r\nPascal\\style3\\color=ffff00\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper=0B161D\r\nPascal\\style4\\color=ffff00\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper=0B161D\r\nPascal\\style5\\color=FFAA00\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=0B161D\r\nPascal\\style7\\color=FF3A83\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=0B161D\r\nPascal\\style8\\color=55E439\r\nPascal\\style8\\eolfill=false\r\nPascal\\style8\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper=0B161D\r\nPascal\\style9\\color=F6F080\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=0B161D\r\nPascal\\style13\\color=FFAA00\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=0B161D\r\nPascal\\style14\\color=FFB454\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=0B161D\r\nPascal\\defaultcolor=F8F8F8\r\nPascal\\defaultpaper=0B161D\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=F8F8F8\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=0B161D\r\nPerl\\style1\\color=F8F8F8\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=0B161D\r\nPerl\\style2\\color=ffff00\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper=0B161D\r\nPerl\\style3\\color=F8F8F8\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=0B161D\r\nPerl\\style4\\color=FF3A83\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=0B161D\r\nPerl\\style5\\color=F6F080\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=0B161D\r\nPerl\\style6\\color=55E439\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=0B161D\r\nPerl\\style7\\color=55E439\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=0B161D\r\nPerl\\style8\\color=F8F8F8\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=0B161D\r\nPerl\\style9\\color=FFAA00\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=0B161D\r\nPerl\\style10\\color=FFAA00\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=0B161D\r\nPerl\\style12\\color=F8F8F8\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=0B161D\r\nPerl\\style13\\color=F8F8F8\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=0B161D\r\nPerl\\style14\\color=F8F8F8\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=0B161D\r\nPerl\\style15\\color=F8F8F8\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=0B161D\r\nPerl\\style17\\color=FFB454\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=0B161D\r\nPerl\\style18\\color=F8F8F8\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=0B161D\r\nPerl\\style19\\color=F8F8F8\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=0B161D\r\nPerl\\style20\\color=F8F8F8\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=0B161D\r\nPerl\\style21\\color=F8F8F8\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=0B161D\r\nPerl\\defaultcolor=F8F8F8\r\nPerl\\defaultpaper=0B161D\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=0B161D\r\nHTML\\style18\\color=F8F8F8\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=0B161D\r\nHTML\\style118\\color=F8F8F8\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=0B161D\r\nHTML\\style119\\color=55E439\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=0B161D\r\nHTML\\style120\\color=55E439\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=0B161D\r\nHTML\\style121\\color=FFAA00\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=0B161D\r\nHTML\\style122\\color=FF3A83\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=0B161D\r\nHTML\\style123\\color=FB9A4B\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=0B161D\r\nHTML\\style124\\color=ffff00\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper=0B161D\r\nHTML\\style125\\color=ffff00\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style125\\paper=0B161D\r\nHTML\\style126\\color=55E439\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=0B161D\r\nHTML\\style127\\color=FFAA00\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=0B161D\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=0B161D\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F8\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=0B161D\r\nProperties\\style1\\color=ffff00\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper=0B161D\r\nProperties\\style3\\color=FFAA00\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=0B161D\r\nProperties\\style4\\color=EFE900\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=0B161D\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=0B161D\r\nProperties\\defaultcolor=F8F8F8\r\nProperties\\defaultpaper=0B161D\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=F8F8F8\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=0B161D\r\nPython\\style1\\color=ffff00\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper=0B161D\r\nPython\\style2\\color=FF3A83\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=0B161D\r\nPython\\style3\\color=55E439\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=0B161D\r\nPython\\style4\\color=55E439\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=0B161D\r\nPython\\style5\\color=FFAA00\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=0B161D\r\nPython\\style6\\color=ffff00\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=0B161D\r\nPython\\style7\\color=ffff00\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=0B161D\r\nPython\\style8\\color=F8F8F8\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=0B161D\r\nPython\\style9\\color=F6F080\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=0B161D\r\nPython\\style10\\color=FFAA00\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=0B161D\r\nPython\\style11\\color=EB939A\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=0B161D\r\nPython\\style12\\color=ffff00\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=0B161D\r\nPython\\style13\\color=55E439\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper=0B161D\r\nPython\\style16\\color=55E439\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper=0B161D\r\nPython\\style17\\color=55E439\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper=0B161D\r\nPython\\style18\\color=ffff00\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper=0B161D\r\nPython\\style19\\color=ffff00\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper=0B161D\r\nPython\\defaultcolor=F8F8F8\r\nPython\\defaultpaper=0B161D\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=0B161D\r\nC%2B%2B\\style1\\color=ffff00\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=0B161D\r\nC%2B%2B\\style2\\color=ffff00\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=0B161D\r\nC%2B%2B\\style3\\color=ffff00\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=0B161D\r\nC%2B%2B\\style4\\color=FF3A83\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=0B161D\r\nC%2B%2B\\style5\\color=F6F080\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=0B161D\r\nC%2B%2B\\style6\\color=55E439\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=0B161D\r\nC%2B%2B\\style7\\color=55E439\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=0B161D\r\nC%2B%2B\\style9\\color=FFAA00\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=0B161D\r\nC%2B%2B\\style10\\color=FFAA00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=0B161D\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=0B161D\r\nC%2B%2B\\style13\\color=FF3A83\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=0B161D\r\nC%2B%2B\\style14\\color=FFB454\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=0B161D\r\nC%2B%2B\\style15\\color=ffff00\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=0B161D\r\nC%2B%2B\\style16\\color=FFAA00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=0B161D\r\nC%2B%2B\\style17\\color=ffff00\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=0B161D\r\nC%2B%2B\\style18\\color=ffff00\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=0B161D\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=0B161D\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=F8F8F8\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=0B161D\r\nRuby\\style1\\color=F8F8F8\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=0B161D\r\nRuby\\style2\\color=ffff00\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper=0B161D\r\nRuby\\style3\\color=F8F8F8\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=0B161D\r\nRuby\\style4\\color=FF3A83\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=0B161D\r\nRuby\\style5\\color=FFAA00\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=0B161D\r\nRuby\\style6\\color=55E439\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=0B161D\r\nRuby\\style7\\color=55E439\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=0B161D\r\nRuby\\style8\\color=EFE900\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=0B161D\r\nRuby\\style9\\color=EFE900\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=0B161D\r\nRuby\\style10\\color=FFAA00\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=0B161D\r\nRuby\\style11\\color=EB939A\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=0B161D\r\nRuby\\style12\\color=FFB454\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=0B161D\r\nRuby\\style13\\color=FB9A4B\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=0B161D\r\nRuby\\style14\\color=F8F8F8\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=0B161D\r\nRuby\\style15\\color=F8F8F8\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=0B161D\r\nRuby\\style16\\color=FB9A4B\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=0B161D\r\nRuby\\style17\\color=F8F8F8\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=0B161D\r\nRuby\\style18\\color=F8F8F8\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=0B161D\r\nRuby\\style19\\color=F8F8F8\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=0B161D\r\nRuby\\style24\\color=55E439\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=0B161D\r\nRuby\\defaultcolor=F8F8F8\r\nRuby\\defaultpaper=0B161D\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=F8F8F8\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=0B161D\r\nSQL\\style1\\color=ffff00\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper=0B161D\r\nSQL\\style2\\color=ffff00\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper=0B161D\r\nSQL\\style3\\color=ffff00\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper=0B161D\r\nSQL\\style4\\color=FF3A83\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=0B161D\r\nSQL\\style5\\color=FFAA00\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=0B161D\r\nSQL\\style6\\color=55E439\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=0B161D\r\nSQL\\style7\\color=55E439\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=0B161D\r\nSQL\\style10\\color=FFAA00\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=0B161D\r\nSQL\\style16\\color=FFAA00\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=0B161D\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=0B161D\r\nSQL\\style24\\color=55E439\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=0B161D\r\nSQL\\defaultcolor=F8F8F8\r\nSQL\\defaultpaper=0B161D\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=F8F8F8\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=0B161D\r\nTCL\\style1\\color=ffff00\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style1\\paper=0B161D\r\nTCL\\style2\\color=ffff00\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style2\\paper=0B161D\r\nTCL\\style3\\color=ffff00\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper=0B161D\r\nTCL\\style4\\color=FF3A83\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=0B161D\r\nTCL\\style5\\color=F6F080\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=0B161D\r\nTCL\\style6\\color=55E439\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=0B161D\r\nTCL\\style7\\color=55E439\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=0B161D\r\nTCL\\style9\\color=FFAA00\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=0B161D\r\nTCL\\style10\\color=FFAA00\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=0B161D\r\nTCL\\style11\\color=F8F8F8\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=0B161D\r\nTCL\\style13\\color=FF3A83\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=0B161D\r\nTCL\\style14\\color=FFB454\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=0B161D\r\nTCL\\style15\\color=ffff00\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style15\\paper=0B161D\r\nTCL\\style16\\color=FFAA00\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=0B161D\r\nTCL\\style17\\color=ffff00\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper=0B161D\r\nTCL\\style18\\color=ffff00\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper=0B161D\r\nTCL\\defaultcolor=F8F8F8\r\nTCL\\defaultpaper=0B161D\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=F8F8F8\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=0B161D\r\nTXT\\style1\\color=F8F8F8\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=0B161D\r\nTXT\\style2\\color=FFAA00\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=0B161D\r\nTXT\\defaultcolor=F8F8F8\r\nTXT\\defaultpaper=0B161D\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=F8F8F8\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=0B161D\r\nVB\\style1\\color=ffff00\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper=0B161D\r\nVB\\style2\\color=FF3A83\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=0B161D\r\nVB\\style3\\color=FFAA00\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=0B161D\r\nVB\\style4\\color=55E439\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=0B161D\r\nVB\\style5\\color=FFAA00\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=0B161D\r\nVB\\style6\\color=FFAA00\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=0B161D\r\nVB\\style7\\color=F8F8F8\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=0B161D\r\nVB\\style8\\color=9DF39F\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=0B161D\r\nVB\\defaultcolor=F8F8F8\r\nVB\\defaultpaper=0B161D\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=F8F8F8\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=0B161D\r\nVerilog\\style1\\color=ffff00\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper=0B161D\r\nVerilog\\style2\\color=ffff00\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper=0B161D\r\nVerilog\\style3\\color=ffff00\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper=0B161D\r\nVerilog\\style4\\color=FF3A83\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=0B161D\r\nVerilog\\style5\\color=F6F080\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=0B161D\r\nVerilog\\style6\\color=55E439\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=0B161D\r\nVerilog\\style7\\color=FFAA00\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=0B161D\r\nVerilog\\style9\\color=FFAA00\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=0B161D\r\nVerilog\\style10\\color=FFAA00\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=0B161D\r\nVerilog\\style11\\color=EB939A\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=0B161D\r\nVerilog\\style12\\color=55E439\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=0B161D\r\nVerilog\\style19\\color=F8F8F8\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=0B161D\r\nVerilog\\defaultcolor=F8F8F8\r\nVerilog\\defaultpaper=0B161D\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=F8F8F8\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=0B161D\r\nVHDL\\style1\\color=ffff00\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper=0B161D\r\nVHDL\\style2\\color=ffff00\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper=0B161D\r\nVHDL\\style3\\color=FF3A83\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=0B161D\r\nVHDL\\style4\\color=55E439\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=0B161D\r\nVHDL\\style5\\color=FFAA00\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=0B161D\r\nVHDL\\style6\\color=EB939A\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=0B161D\r\nVHDL\\style7\\color=55E439\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=0B161D\r\nVHDL\\style8\\color=FFAA00\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=0B161D\r\nVHDL\\style9\\color=FFAA00\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=0B161D\r\nVHDL\\style10\\color=F8F8F8\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=0B161D\r\nVHDL\\style11\\color=F8F8F8\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=0B161D\r\nVHDL\\style12\\color=F8F8F8\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=0B161D\r\nVHDL\\style13\\color=F8F8F8\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=0B161D\r\nVHDL\\style14\\color=F8F8F8\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=0B161D\r\nVHDL\\defaultcolor=F8F8F8\r\nVHDL\\defaultpaper=0B161D\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Plastic Code Wrap/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=F8F8F8\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=0B161D\r\nXML\\style1\\color=EFE900\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=0B161D\r\nXML\\style2\\color=EFE900\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=0B161D\r\nXML\\style3\\color=EFE900\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=0B161D\r\nXML\\style4\\color=EFE900\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=0B161D\r\nXML\\style5\\color=FF3A83\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=0B161D\r\nXML\\style6\\color=55E439\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=0B161D\r\nXML\\style7\\color=55E439\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=0B161D\r\nXML\\style9\\color=ffff00\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 14, 0, 0, 0\r\nXML\\style9\\paper=0B161D\r\nXML\\style10\\color=FF3A83\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=0B161D\r\nXML\\style11\\color=EFE900\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=0B161D\r\nXML\\style12\\color=9EFFFF\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=0B161D\r\nXML\\style13\\color=9EFFFF\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=0B161D\r\nXML\\style17\\color=FF3A83\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=0B161D\r\nXML\\style21\\color=55E439\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=0B161D\r\nXML\\defaultcolor=F8F8F8\r\nXML\\defaultpaper=0B161D\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=FFFF80\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=FF8000\r\nGlobal\\style1\\color=FFFFFF\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style1\\paper=112435\r\nGlobal\\style2\\color=0080FF\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style2\\paper=112435\r\nGlobal\\style3\\color=FFFFFF\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style3\\paper=112435\r\nGlobal\\style4\\color=FFFFFF\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style4\\paper=112435\r\nGlobal\\style5\\color=CCFF33\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style5\\paper=273A4B\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style6\\paper=0000FF\r\nGlobal\\style7\\color=FFFFFF\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style7\\paper=6699CC\r\nGlobal\\style8\\color=FFFFFF\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style8\\paper=FF0000\r\nGlobal\\style9\\color=FFFFFF\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=DejaVu Sans Mono, 12, 0, 0, 0\r\nGlobal\\style9\\paper=1F4661\r\nGlobal\\style10\\color=FFFFFF\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style10\\paper=1F4661\r\nGlobal\\style11\\color=FFFFFF\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style11\\paper=F0804F\r\nGlobal\\style12\\color=FFFFFF\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style12\\paper=112435\r\nGlobal\\style13\\color=4096BF\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style13\\paper=3476A3\r\nGlobal\\style14\\color=FF8080\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style14\\paper=112435\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=FFFFFF\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=FFFFFF\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=FFFFFF\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=FFFFFF\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=FFFFFF\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style23\\paper=8000FF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\style25\\paper=112435\r\nGlobal\\defaultcolor=FFFFFF\r\nGlobal\\defaultpaper=112435\r\nGlobal\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style0\\paper=112435\r\nHTML\\style15\\color=FFFFFF\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style15\\paper=112435\r\nHTML\\style16\\color=FFFFFF\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style16\\paper=112435\r\nHTML\\style81\\color=FFFFFF\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style81\\paper=112435\r\nHTML\\style82\\color=FFFFFF\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style82\\paper=112435\r\nHTML\\style83\\color=FFFFFF\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style83\\paper=112435\r\nHTML\\style84\\color=FFFFFF\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style84\\paper=112435\r\nHTML\\style85\\color=FFFFFF\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style85\\paper=112435\r\nHTML\\style86\\color=FFFFFF\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style86\\paper=112435\r\nHTML\\style87\\color=FFFFFF\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style87\\paper=112435\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=112435\r\nHTML\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=FFFFFF\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style0\\paper=112435\r\nBash\\style1\\color=FFFFFF\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style1\\paper=112435\r\nBash\\style2\\color=FFFFFF\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style2\\paper=112435\r\nBash\\style3\\color=FFFFFF\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style3\\paper=112435\r\nBash\\style4\\color=FFFFFF\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style4\\paper=112435\r\nBash\\style5\\color=FFFFFF\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style5\\paper=112435\r\nBash\\style6\\color=FFFFFF\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style6\\paper=112435\r\nBash\\style7\\color=FFFFFF\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style7\\paper=112435\r\nBash\\style8\\color=FFFFFF\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style8\\paper=112435\r\nBash\\style9\\color=FFFFFF\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style9\\paper=112435\r\nBash\\style10\\color=FFFFFF\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style10\\paper=112435\r\nBash\\style11\\color=FFFFFF\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style11\\paper=112435\r\nBash\\style12\\color=FFFFFF\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style12\\paper=112435\r\nBash\\style13\\color=FFFFFF\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\style13\\paper=112435\r\nBash\\defaultcolor=FFFFFF\r\nBash\\defaultpaper=112435\r\nBash\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=FFFFFF\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style0\\paper=112435\r\nBatch\\style1\\color=FFFFFF\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style1\\paper=112435\r\nBatch\\style2\\color=FFFFFF\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nBatch\\style2\\paper=112435\r\nBatch\\style3\\color=FFFFFF\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style3\\paper=112435\r\nBatch\\style4\\color=FFFFFF\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style4\\paper=112435\r\nBatch\\style5\\color=FFFFFF\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style5\\paper=112435\r\nBatch\\style6\\color=FFFFFF\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style6\\paper=112435\r\nBatch\\style7\\color=FFFFFF\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\style7\\paper=112435\r\nBatch\\defaultcolor=FFFFFF\r\nBatch\\defaultpaper=112435\r\nBatch\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=112435\r\nC%2B%2B\\style1\\color=FFFFFF\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=112435\r\nC%2B%2B\\style2\\color=FFFFFF\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=112435\r\nC%2B%2B\\style3\\color=FFFFFF\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=112435\r\nC%2B%2B\\style4\\color=FFFFFF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=112435\r\nC%2B%2B\\style5\\color=FFFFFF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=112435\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=112435\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=112435\r\nC%2B%2B\\style9\\color=FFFFFF\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=112435\r\nC%2B%2B\\style10\\color=FFFFFF\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=112435\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=112435\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=112435\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=112435\r\nC%2B%2B\\style15\\color=FFFFFF\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=112435\r\nC%2B%2B\\style16\\color=FFFFFF\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=112435\r\nC%2B%2B\\style17\\color=FFFFFF\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=112435\r\nC%2B%2B\\style18\\color=FFFFFF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=112435\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=112435\r\nC%2B%2B\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=112435\r\nC%2B%2B\\style1\\color=FFFFFF\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=112435\r\nC%2B%2B\\style2\\color=FFFFFF\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=112435\r\nC%2B%2B\\style3\\color=FFFFFF\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=112435\r\nC%2B%2B\\style4\\color=FFFFFF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=112435\r\nC%2B%2B\\style5\\color=FFFFFF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=112435\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=112435\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=112435\r\nC%2B%2B\\style9\\color=FFFFFF\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=112435\r\nC%2B%2B\\style10\\color=FFFFFF\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=112435\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=112435\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=112435\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=112435\r\nC%2B%2B\\style15\\color=FFFFFF\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=112435\r\nC%2B%2B\\style16\\color=FFFFFF\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=112435\r\nC%2B%2B\\style17\\color=FFFFFF\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=112435\r\nC%2B%2B\\style18\\color=FFFFFF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=112435\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=112435\r\nC%2B%2B\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=FFFFFF\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style0\\paper=112435\r\nC%23\\style1\\color=FFFFFF\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style1\\paper=112435\r\nC%23\\style2\\color=FFFFFF\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style2\\paper=112435\r\nC%23\\style3\\color=FFFFFF\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style3\\paper=112435\r\nC%23\\style4\\color=FFFFFF\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style4\\paper=112435\r\nC%23\\style5\\color=FFFFFF\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%23\\style5\\paper=112435\r\nC%23\\style6\\color=FFFFFF\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style6\\paper=112435\r\nC%23\\style7\\color=FFFFFF\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style7\\paper=112435\r\nC%23\\style9\\color=FFFFFF\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style9\\paper=112435\r\nC%23\\style10\\color=FFFFFF\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style10\\paper=112435\r\nC%23\\style11\\color=FFFFFF\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style11\\paper=112435\r\nC%23\\style13\\color=FFFFFF\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style13\\paper=112435\r\nC%23\\style14\\color=FFFFFF\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style14\\paper=112435\r\nC%23\\style15\\color=FFFFFF\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style15\\paper=112435\r\nC%23\\style16\\color=FFFFFF\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%23\\style16\\paper=112435\r\nC%23\\style17\\color=FFFFFF\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style17\\paper=112435\r\nC%23\\style18\\color=FFFFFF\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\style18\\paper=112435\r\nC%23\\defaultcolor=FFFFFF\r\nC%23\\defaultpaper=112435\r\nC%23\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=FFFFFF\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style0\\paper=112435\r\nCSS\\style1\\color=7BD827\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style1\\paper=112435\r\nCSS\\style2\\color=F4DD0B\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style2\\paper=112435\r\nCSS\\style3\\color=FFFF80\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style3\\paper=112435\r\nCSS\\style4\\color=FF0000\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style4\\paper=112435\r\nCSS\\style5\\color=FF00FF\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style5\\paper=112435\r\nCSS\\style6\\color=FFFFFF\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style6\\paper=112435\r\nCSS\\style7\\color=FF0000\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style7\\paper=112435\r\nCSS\\style8\\color=8DB0D3\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style8\\paper=112435\r\nCSS\\style9\\color=3A8BDA\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style9\\paper=112435\r\nCSS\\style10\\color=F08047\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style10\\paper=112435\r\nCSS\\style11\\color=FF00FF\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style11\\paper=112435\r\nCSS\\style12\\color=730080\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\style12\\paper=112435\r\nCSS\\defaultcolor=FFFFFF\r\nCSS\\defaultpaper=112435\r\nCSS\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=FFFFFF\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style0\\paper=112435\r\nDiff\\style1\\color=FFFFFF\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style1\\paper=112435\r\nDiff\\style2\\color=FFFFFF\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style2\\paper=112435\r\nDiff\\style3\\color=FFFFFF\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style3\\paper=112435\r\nDiff\\style4\\color=FFFFFF\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style4\\paper=112435\r\nDiff\\style5\\color=FFFFFF\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style5\\paper=112435\r\nDiff\\style6\\color=FFFFFF\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\style6\\paper=112435\r\nDiff\\defaultcolor=FFFFFF\r\nDiff\\defaultpaper=112435\r\nDiff\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=FFFFFF\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style0\\paper=112435\r\nFortran\\style1\\color=FFFFFF\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style1\\paper=112435\r\nFortran\\style2\\color=FFFFFF\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style2\\paper=112435\r\nFortran\\style3\\color=FFFFFF\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style3\\paper=112435\r\nFortran\\style4\\color=FFFFFF\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style4\\paper=112435\r\nFortran\\style5\\color=FFFFFF\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style5\\paper=112435\r\nFortran\\style6\\color=FFFFFF\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style6\\paper=112435\r\nFortran\\style7\\color=FFFFFF\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style7\\paper=112435\r\nFortran\\style8\\color=FFFFFF\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style8\\paper=112435\r\nFortran\\style9\\color=FFFFFF\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style9\\paper=112435\r\nFortran\\style10\\color=FFFFFF\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style10\\paper=112435\r\nFortran\\style11\\color=FFFFFF\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style11\\paper=112435\r\nFortran\\style12\\color=FFFFFF\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style12\\paper=112435\r\nFortran\\style13\\color=FFFFFF\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style13\\paper=112435\r\nFortran\\style14\\color=FFFFFF\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\style14\\paper=112435\r\nFortran\\defaultcolor=FFFFFF\r\nFortran\\defaultpaper=112435\r\nFortran\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=FFFFFF\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style0\\paper=112435\r\nFortran77\\style1\\color=FFFFFF\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style1\\paper=112435\r\nFortran77\\style2\\color=FFFFFF\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style2\\paper=112435\r\nFortran77\\style3\\color=FFFFFF\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style3\\paper=112435\r\nFortran77\\style4\\color=FFFFFF\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style4\\paper=112435\r\nFortran77\\style5\\color=FFFFFF\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style5\\paper=112435\r\nFortran77\\style6\\color=FFFFFF\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style6\\paper=112435\r\nFortran77\\style7\\color=FFFFFF\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style7\\paper=112435\r\nFortran77\\style8\\color=FFFFFF\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style8\\paper=112435\r\nFortran77\\style9\\color=FFFFFF\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style9\\paper=112435\r\nFortran77\\style10\\color=FFFFFF\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style10\\paper=112435\r\nFortran77\\style11\\color=FFFFFF\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style11\\paper=112435\r\nFortran77\\style12\\color=FFFFFF\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style12\\paper=112435\r\nFortran77\\style13\\color=FFFFFF\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style13\\paper=112435\r\nFortran77\\style14\\color=FFFFFF\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\style14\\paper=112435\r\nFortran77\\defaultcolor=FFFFFF\r\nFortran77\\defaultpaper=112435\r\nFortran77\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style0\\paper=112435\r\nHTML\\style1\\color=7BD827\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style1\\paper=112435\r\nHTML\\style2\\color=FF0000\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style2\\paper=112435\r\nHTML\\style3\\color=F0804F\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style3\\paper=112435\r\nHTML\\style4\\color=FF0000\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style4\\paper=112435\r\nHTML\\style5\\color=FF00FF\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style5\\paper=112435\r\nHTML\\style6\\color=8DB0D3\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style6\\paper=112435\r\nHTML\\style7\\color=FFFF00\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style7\\paper=112435\r\nHTML\\style9\\color=3A8BDA\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style9\\paper=112435\r\nHTML\\style10\\color=800080\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style10\\paper=112435\r\nHTML\\style11\\color=7BD827\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style11\\paper=112435\r\nHTML\\style17\\color=8080C0\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style17\\paper=112435\r\nHTML\\style19\\color=FFFF80\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style19\\paper=112435\r\nHTML\\style21\\color=FFFF00\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style21\\paper=112435\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=112435\r\nHTML\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style0\\paper=112435\r\nProperties\\style1\\color=FFFFFF\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style1\\paper=112435\r\nProperties\\style2\\color=FFFFFF\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style2\\paper=112435\r\nProperties\\style3\\color=FFFFFF\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style3\\paper=112435\r\nProperties\\style4\\color=FFFFFF\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style4\\paper=112435\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=112435\r\nProperties\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=FFFFFF\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style0\\paper=112435\r\nJava\\style1\\color=FFFFFF\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style1\\paper=112435\r\nJava\\style2\\color=FFFFFF\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style2\\paper=112435\r\nJava\\style3\\color=FFFFFF\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style3\\paper=112435\r\nJava\\style4\\color=FFFFFF\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style4\\paper=112435\r\nJava\\style5\\color=FFFFFF\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nJava\\style5\\paper=112435\r\nJava\\style6\\color=FFFFFF\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style6\\paper=112435\r\nJava\\style7\\color=FFFFFF\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style7\\paper=112435\r\nJava\\style10\\color=FFFFFF\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style10\\paper=112435\r\nJava\\style11\\color=FFFFFF\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style11\\paper=112435\r\nJava\\style13\\color=FFFFFF\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style13\\paper=112435\r\nJava\\style14\\color=FFFFFF\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style14\\paper=112435\r\nJava\\style15\\color=FFFFFF\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style15\\paper=112435\r\nJava\\style16\\color=FFFFFF\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nJava\\style16\\paper=112435\r\nJava\\style17\\color=FFFFFF\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style17\\paper=112435\r\nJava\\style18\\color=FFFFFF\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\style18\\paper=112435\r\nJava\\defaultcolor=FFFFFF\r\nJava\\defaultpaper=112435\r\nJava\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=FFFFFF\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=112435\r\nJavaScript\\style20\\color=F08047\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=112435\r\nJavaScript\\style41\\color=FFFFFF\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=112435\r\nJavaScript\\style42\\color=3A8BDA\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=112435\r\nJavaScript\\style43\\color=3A8BDA\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=112435\r\nJavaScript\\style44\\color=3A8BDA\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=112435\r\nJavaScript\\style45\\color=FF00FF\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=112435\r\nJavaScript\\style46\\color=8DB0D3\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=112435\r\nJavaScript\\style47\\color=FFFF80\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=112435\r\nJavaScript\\style48\\color=F08047\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=112435\r\nJavaScript\\style49\\color=F08047\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=112435\r\nJavaScript\\style50\\color=7BD827\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=112435\r\nJavaScript\\style51\\color=730080\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=112435\r\nJavaScript\\style52\\color=FF00FF\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=112435\r\nJavaScript\\defaultcolor=FFFFFF\r\nJavaScript\\defaultpaper=112435\r\nJavaScript\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=FFFFFF\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style0\\paper=112435\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style1\\paper=112435\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style2\\paper=112435\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style3\\paper=112435\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style4\\paper=112435\r\nJSON\\style5\\color=0000FF\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style5\\paper=112435\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style6\\paper=112435\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style7\\paper=112435\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style8\\paper=112435\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style9\\paper=112435\r\nJSON\\style10\\color=0000FF\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style10\\paper=112435\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style11\\paper=112435\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style12\\paper=112435\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=FFFFFF\r\nJSON\\defaultpaper=112435\r\nJSON\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=FFFFFF\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style0\\paper=112435\r\nLua\\style1\\color=FFFFFF\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style1\\paper=112435\r\nLua\\style2\\color=FFFFFF\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style2\\paper=112435\r\nLua\\style3\\color=FFFFFF\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style3\\paper=112435\r\nLua\\style4\\color=FFFFFF\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style4\\paper=112435\r\nLua\\style5\\color=FFFFFF\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style5\\paper=112435\r\nLua\\style6\\color=FFFFFF\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style6\\paper=112435\r\nLua\\style7\\color=FFFFFF\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style7\\paper=112435\r\nLua\\style8\\color=FFFFFF\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style8\\paper=112435\r\nLua\\style9\\color=FFFFFF\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style9\\paper=112435\r\nLua\\style10\\color=FFFFFF\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style10\\paper=112435\r\nLua\\style13\\color=FFFFFF\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style13\\paper=112435\r\nLua\\style14\\color=FFFFFF\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style14\\paper=112435\r\nLua\\style15\\color=FFFFFF\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\style15\\paper=112435\r\nLua\\defaultcolor=FFFFFF\r\nLua\\defaultpaper=112435\r\nLua\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=FFFFFF\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style0\\paper=112435\r\nMakefile\\style1\\color=FFFFFF\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style1\\paper=112435\r\nMakefile\\style2\\color=FFFFFF\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style2\\paper=112435\r\nMakefile\\style3\\color=FFFFFF\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style3\\paper=112435\r\nMakefile\\style4\\color=FFFFFF\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style4\\paper=112435\r\nMakefile\\style5\\color=FFFFFF\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style5\\paper=112435\r\nMakefile\\style9\\color=FFFFFF\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\style9\\paper=112435\r\nMakefile\\defaultcolor=FFFFFF\r\nMakefile\\defaultpaper=112435\r\nMakefile\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=FFFFFF\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style0\\paper=112435\r\nNSIS\\style1\\color=FFFFFF\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style1\\paper=112435\r\nNSIS\\style2\\color=FFFFFF\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style2\\paper=112435\r\nNSIS\\style3\\color=FFFFFF\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style3\\paper=112435\r\nNSIS\\style4\\color=FFFFFF\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style4\\paper=112435\r\nNSIS\\style5\\color=FFFFFF\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style5\\paper=112435\r\nNSIS\\style6\\color=FFFFFF\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style6\\paper=112435\r\nNSIS\\style7\\color=FFFFFF\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style7\\paper=112435\r\nNSIS\\style8\\color=FFFFFF\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style8\\paper=112435\r\nNSIS\\style9\\color=FFFFFF\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style9\\paper=112435\r\nNSIS\\style10\\color=FFFFFF\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style10\\paper=112435\r\nNSIS\\style11\\color=FFFFFF\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style11\\paper=112435\r\nNSIS\\style12\\color=FFFFFF\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style12\\paper=112435\r\nNSIS\\style13\\color=FFFFFF\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style13\\paper=112435\r\nNSIS\\style14\\color=FFFFFF\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\style14\\paper=112435\r\nNSIS\\defaultcolor=FFFFFF\r\nNSIS\\defaultpaper=112435\r\nNSIS\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=112435\r\nC%2B%2B\\style1\\color=FFFFFF\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=112435\r\nC%2B%2B\\style2\\color=FFFFFF\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=112435\r\nC%2B%2B\\style3\\color=FFFFFF\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=112435\r\nC%2B%2B\\style4\\color=FFFFFF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=112435\r\nC%2B%2B\\style5\\color=FFFFFF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=112435\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=112435\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=112435\r\nC%2B%2B\\style9\\color=FFFFFF\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=112435\r\nC%2B%2B\\style10\\color=FFFFFF\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=112435\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=112435\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=112435\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=112435\r\nC%2B%2B\\style15\\color=FFFFFF\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=112435\r\nC%2B%2B\\style16\\color=FFFFFF\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=112435\r\nC%2B%2B\\style17\\color=FFFFFF\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=112435\r\nC%2B%2B\\style18\\color=FFFFFF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=112435\r\nC%2B%2B\\style19\\color=FFFFFF\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=112435\r\nC%2B%2B\\style20\\color=FFFFFF\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=112435\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=112435\r\nC%2B%2B\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=FFFFFF\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style0\\paper=112435\r\nPascal\\style1\\color=FFFFFF\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style1\\paper=112435\r\nPascal\\style2\\color=FFFFFF\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style2\\paper=112435\r\nPascal\\style3\\color=FFFFFF\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style3\\paper=112435\r\nPascal\\style4\\color=FFFFFF\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style4\\paper=112435\r\nPascal\\style5\\color=FFFFFF\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style5\\paper=112435\r\nPascal\\style7\\color=FFFFFF\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style7\\paper=112435\r\nPascal\\style9\\color=FFFFFF\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style9\\paper=112435\r\nPascal\\style12\\color=FFFFFF\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style12\\paper=112435\r\nPascal\\style13\\color=FFFFFF\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style13\\paper=112435\r\nPascal\\style14\\color=FFFFFF\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\style14\\paper=112435\r\nPascal\\defaultcolor=FFFFFF\r\nPascal\\defaultpaper=112435\r\nPascal\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=FFFFFF\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style0\\paper=112435\r\nPerl\\style1\\color=FFFFFF\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style1\\paper=112435\r\nPerl\\style2\\color=FFFFFF\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style2\\paper=112435\r\nPerl\\style3\\color=FFFFFF\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style3\\paper=112435\r\nPerl\\style4\\color=FFFFFF\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style4\\paper=112435\r\nPerl\\style5\\color=FFFFFF\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style5\\paper=112435\r\nPerl\\style6\\color=FFFFFF\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style6\\paper=112435\r\nPerl\\style7\\color=FFFFFF\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style7\\paper=112435\r\nPerl\\style8\\color=FFFFFF\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style8\\paper=112435\r\nPerl\\style9\\color=FFFFFF\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style9\\paper=112435\r\nPerl\\style10\\color=FFFFFF\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style10\\paper=112435\r\nPerl\\style12\\color=FFFFFF\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style12\\paper=112435\r\nPerl\\style13\\color=FFFFFF\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style13\\paper=112435\r\nPerl\\style14\\color=FFFFFF\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style14\\paper=112435\r\nPerl\\style15\\color=FFFFFF\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style15\\paper=112435\r\nPerl\\style17\\color=FFFFFF\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style17\\paper=112435\r\nPerl\\style18\\color=FFFFFF\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style18\\paper=112435\r\nPerl\\style19\\color=FFFFFF\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style19\\paper=112435\r\nPerl\\style20\\color=FFFFFF\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style20\\paper=112435\r\nPerl\\style21\\color=FFFFFF\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\style21\\paper=112435\r\nPerl\\defaultcolor=FFFFFF\r\nPerl\\defaultpaper=112435\r\nPerl\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style0\\paper=112435\r\nHTML\\style18\\color=FFFFFF\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style18\\paper=112435\r\nHTML\\style118\\color=FFFFFF\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style118\\paper=112435\r\nHTML\\style119\\color=FFFF80\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style119\\paper=112435\r\nHTML\\style120\\color=F4DD0B\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style120\\paper=112435\r\nHTML\\style121\\color=E6A82D\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style121\\paper=112435\r\nHTML\\style122\\color=7BD827\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style122\\paper=112435\r\nHTML\\style123\\color=8DB0D3\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style123\\paper=112435\r\nHTML\\style124\\color=3A8BDA\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style124\\paper=112435\r\nHTML\\style125\\color=3A8BDA\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style125\\paper=112435\r\nHTML\\style126\\color=FFFF80\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style126\\paper=112435\r\nHTML\\style127\\color=F0804F\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\style127\\paper=112435\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=112435\r\nHTML\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style0\\paper=112435\r\nProperties\\style1\\color=FFFFFF\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style1\\paper=112435\r\nProperties\\style3\\color=FFFFFF\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style3\\paper=112435\r\nProperties\\style4\\color=FFFFFF\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\style4\\paper=112435\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=112435\r\nProperties\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=FFFFFF\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style0\\paper=112435\r\nPython\\style1\\color=FFFFFF\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style1\\paper=112435\r\nPython\\style2\\color=FFFFFF\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style2\\paper=112435\r\nPython\\style3\\color=FFFFFF\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style3\\paper=112435\r\nPython\\style4\\color=FFFFFF\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style4\\paper=112435\r\nPython\\style5\\color=FFFFFF\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nPython\\style5\\paper=112435\r\nPython\\style6\\color=FFFFFF\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style6\\paper=112435\r\nPython\\style7\\color=FFFFFF\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style7\\paper=112435\r\nPython\\style8\\color=FFFFFF\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style8\\paper=112435\r\nPython\\style9\\color=FFFFFF\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style9\\paper=112435\r\nPython\\style10\\color=FFFFFF\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style10\\paper=112435\r\nPython\\style11\\color=FFFFFF\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style11\\paper=112435\r\nPython\\style12\\color=FFFFFF\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style12\\paper=112435\r\nPython\\style13\\color=FFFFFF\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style13\\paper=112435\r\nPython\\style16\\color=FFFFFF\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style16\\paper=112435\r\nPython\\style17\\color=FFFFFF\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style17\\paper=112435\r\nPython\\style18\\color=FFFFFF\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style18\\paper=112435\r\nPython\\style19\\color=FFFFFF\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\style19\\paper=112435\r\nPython\\defaultcolor=FFFFFF\r\nPython\\defaultpaper=112435\r\nPython\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=112435\r\nC%2B%2B\\style1\\color=FFFFFF\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=112435\r\nC%2B%2B\\style2\\color=FFFFFF\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=112435\r\nC%2B%2B\\style3\\color=FFFFFF\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=112435\r\nC%2B%2B\\style4\\color=FFFFFF\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=112435\r\nC%2B%2B\\style5\\color=FFFFFF\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=112435\r\nC%2B%2B\\style6\\color=FFFFFF\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=112435\r\nC%2B%2B\\style7\\color=FFFFFF\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=112435\r\nC%2B%2B\\style9\\color=FFFFFF\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=112435\r\nC%2B%2B\\style10\\color=FFFFFF\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=112435\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=112435\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=112435\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=112435\r\nC%2B%2B\\style15\\color=FFFFFF\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=112435\r\nC%2B%2B\\style16\\color=FFFFFF\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=112435\r\nC%2B%2B\\style17\\color=FFFFFF\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=112435\r\nC%2B%2B\\style18\\color=FFFFFF\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=112435\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=112435\r\nC%2B%2B\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=FFFFFF\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style0\\paper=112435\r\nRuby\\style1\\color=FFFFFF\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style1\\paper=112435\r\nRuby\\style2\\color=FFFFFF\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style2\\paper=112435\r\nRuby\\style3\\color=FFFFFF\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style3\\paper=112435\r\nRuby\\style4\\color=FFFFFF\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style4\\paper=112435\r\nRuby\\style5\\color=FFFFFF\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style5\\paper=112435\r\nRuby\\style6\\color=FFFFFF\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style6\\paper=112435\r\nRuby\\style7\\color=FFFFFF\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style7\\paper=112435\r\nRuby\\style8\\color=FFFFFF\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style8\\paper=112435\r\nRuby\\style9\\color=FFFFFF\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style9\\paper=112435\r\nRuby\\style10\\color=FFFFFF\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style10\\paper=112435\r\nRuby\\style11\\color=FFFFFF\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style11\\paper=112435\r\nRuby\\style12\\color=FFFFFF\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style12\\paper=112435\r\nRuby\\style13\\color=FFFFFF\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style13\\paper=112435\r\nRuby\\style14\\color=FFFFFF\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style14\\paper=112435\r\nRuby\\style15\\color=FFFFFF\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style15\\paper=112435\r\nRuby\\style16\\color=FFFFFF\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style16\\paper=112435\r\nRuby\\style17\\color=FFFFFF\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style17\\paper=112435\r\nRuby\\style18\\color=FFFFFF\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style18\\paper=112435\r\nRuby\\style19\\color=FFFFFF\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style19\\paper=112435\r\nRuby\\style24\\color=FFFFFF\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\style24\\paper=112435\r\nRuby\\defaultcolor=FFFFFF\r\nRuby\\defaultpaper=112435\r\nRuby\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=FFFFFF\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style0\\paper=112435\r\nSQL\\style1\\color=3A8BDA\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style1\\paper=112435\r\nSQL\\style2\\color=3A8BDA\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style2\\paper=112435\r\nSQL\\style3\\color=3A8BDA\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style3\\paper=112435\r\nSQL\\style4\\color=F4DD0B\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style4\\paper=112435\r\nSQL\\style5\\color=7BC22F\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style5\\paper=112435\r\nSQL\\style6\\color=8DB0D3\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style6\\paper=112435\r\nSQL\\style7\\color=8DB0D3\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style7\\paper=112435\r\nSQL\\style10\\color=F08047\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style10\\paper=112435\r\nSQL\\style16\\color=7BC22F\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style16\\paper=112435\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style19\\paper=112435\r\nSQL\\style24\\color=8DB0D3\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\style24\\paper=112435\r\nSQL\\defaultcolor=FFFFFF\r\nSQL\\defaultpaper=112435\r\nSQL\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=FFFFFF\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style0\\paper=112435\r\nTCL\\style1\\color=FFFFFF\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style1\\paper=112435\r\nTCL\\style2\\color=FFFFFF\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style2\\paper=112435\r\nTCL\\style3\\color=FFFFFF\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style3\\paper=112435\r\nTCL\\style4\\color=FFFFFF\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style4\\paper=112435\r\nTCL\\style5\\color=FFFFFF\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style5\\paper=112435\r\nTCL\\style6\\color=FFFFFF\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style6\\paper=112435\r\nTCL\\style7\\color=FFFFFF\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style7\\paper=112435\r\nTCL\\style9\\color=FFFFFF\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style9\\paper=112435\r\nTCL\\style10\\color=FFFFFF\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style10\\paper=112435\r\nTCL\\style11\\color=FFFFFF\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style11\\paper=112435\r\nTCL\\style13\\color=FFFFFF\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style13\\paper=112435\r\nTCL\\style14\\color=FFFFFF\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style14\\paper=112435\r\nTCL\\style15\\color=FFFFFF\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style15\\paper=112435\r\nTCL\\style16\\color=FFFFFF\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nTCL\\style16\\paper=112435\r\nTCL\\style17\\color=FFFFFF\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style17\\paper=112435\r\nTCL\\style18\\color=FFFFFF\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\style18\\paper=112435\r\nTCL\\defaultcolor=FFFFFF\r\nTCL\\defaultpaper=112435\r\nTCL\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=FFFFFF\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTXT\\style0\\paper=112435\r\nTXT\\style1\\color=FFFFFF\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nTXT\\style1\\paper=112435\r\nTXT\\style2\\color=FFFFFF\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=DejaVu Sans Mono, 14, 1, 0, 0\r\nTXT\\style2\\paper=112435\r\nTXT\\defaultcolor=FFFFFF\r\nTXT\\defaultpaper=112435\r\nTXT\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=FFFFFF\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style0\\paper=112435\r\nVB\\style1\\color=FFFFFF\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style1\\paper=112435\r\nVB\\style2\\color=FFFFFF\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style2\\paper=112435\r\nVB\\style3\\color=FFFFFF\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style3\\paper=112435\r\nVB\\style4\\color=FFFFFF\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style4\\paper=112435\r\nVB\\style5\\color=FFFFFF\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style5\\paper=112435\r\nVB\\style6\\color=FFFFFF\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style6\\paper=112435\r\nVB\\style7\\color=FFFFFF\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style7\\paper=112435\r\nVB\\style8\\color=FFFFFF\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\style8\\paper=112435\r\nVB\\defaultcolor=FFFFFF\r\nVB\\defaultpaper=112435\r\nVB\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=FFFFFF\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style0\\paper=112435\r\nVHDL\\style1\\color=FFFFFF\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style1\\paper=112435\r\nVHDL\\style2\\color=FFFFFF\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style2\\paper=112435\r\nVHDL\\style3\\color=FFFFFF\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style3\\paper=112435\r\nVHDL\\style4\\color=FFFFFF\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style4\\paper=112435\r\nVHDL\\style5\\color=FFFFFF\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style5\\paper=112435\r\nVHDL\\style6\\color=FFFFFF\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style6\\paper=112435\r\nVHDL\\style7\\color=FFFFFF\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style7\\paper=112435\r\nVHDL\\style8\\color=FFFFFF\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style8\\paper=112435\r\nVHDL\\style9\\color=FFFFFF\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style9\\paper=112435\r\nVHDL\\style10\\color=FFFFFF\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style10\\paper=112435\r\nVHDL\\style11\\color=FFFFFF\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style11\\paper=112435\r\nVHDL\\style12\\color=FFFFFF\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style12\\paper=112435\r\nVHDL\\style13\\color=FFFFFF\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style13\\paper=112435\r\nVHDL\\style14\\color=FFFFFF\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\style14\\paper=112435\r\nVHDL\\defaultcolor=FFFFFF\r\nVHDL\\defaultpaper=112435\r\nVHDL\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Ruby Blue/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=FFFFFF\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style0\\paper=112435\r\nXML\\style1\\color=8DB0D3\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style1\\paper=112435\r\nXML\\style2\\color=FF0000\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style2\\paper=112435\r\nXML\\style3\\color=7BC22F\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style3\\paper=112435\r\nXML\\style4\\color=FF0000\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style4\\paper=112435\r\nXML\\style5\\color=FFFFFF\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style5\\paper=112435\r\nXML\\style6\\color=F08047\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style6\\paper=112435\r\nXML\\style7\\color=F08047\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style7\\paper=112435\r\nXML\\style9\\color=3A8BDA\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style9\\paper=112435\r\nXML\\style10\\color=800080\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style10\\paper=112435\r\nXML\\style11\\color=8DB0D3\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style11\\paper=112435\r\nXML\\style12\\color=FF00FF\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style12\\paper=112435\r\nXML\\style13\\color=FF00FF\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style13\\paper=112435\r\nXML\\style17\\color=FFFFFF\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style17\\paper=112435\r\nXML\\style21\\color=FFFF80\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\style21\\paper=112435\r\nXML\\defaultcolor=FFFFFF\r\nXML\\defaultpaper=112435\r\nXML\\defaultfont=DejaVu Sans Mono, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=F8F8F8\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style0\\paper=141414\r\nGlobal\\style1\\color=F8F8F8\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style1\\paper=141414\r\nGlobal\\style2\\color=888A85\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style2\\paper=141414\r\nGlobal\\style3\\color=FCE94F\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style3\\paper=141414\r\nGlobal\\style4\\color=EF2929\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style4\\paper=141414\r\nGlobal\\style5\\color=F8F8F8\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style5\\paper=292929\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style6\\paper=3E3E3E\r\nGlobal\\style7\\color=A7A7A7\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style7\\paper=141414\r\nGlobal\\style8\\color=EEEEEC\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style8\\paper=141414\r\nGlobal\\style9\\color=EEEEEC\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Consolas, 12, 0, 0, 0\r\nGlobal\\style9\\paper=2E3436\r\nGlobal\\style10\\color=F8F8F8\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style10\\paper=2E3436\r\nGlobal\\style11\\color=2E3436\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style11\\paper=EEEEEC\r\nGlobal\\style12\\color=2E3436\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style12\\paper=141414\r\nGlobal\\style13\\color=555753\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style13\\paper=2E3436\r\nGlobal\\style14\\color=FCAF3E\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style14\\paper=141414\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style15\\paper=8000FF\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=F8F8F8\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=F8F8F8\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=F8F8F8\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=F8F8F8\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=F8F8F8\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=b5834a\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style23\\paper=663a04\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Consolas, 14, 0, 0, 0\r\nGlobal\\style25\\paper=141414\r\nGlobal\\defaultcolor=F8F8F8\r\nGlobal\\defaultpaper=141414\r\nGlobal\\defaultfont=Consolas, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style0\\paper=141414\r\nHTML\\style15\\color=F8F8F8\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style15\\paper=141414\r\nHTML\\style16\\color=F8F8F8\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style16\\paper=141414\r\nHTML\\style81\\color=F8F8F8\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style81\\paper=141414\r\nHTML\\style82\\color=5F5A60\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style82\\paper=141414\r\nHTML\\style83\\color=CF6A4C\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style83\\paper=141414\r\nHTML\\style84\\color=CDA869\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style84\\paper=141414\r\nHTML\\style85\\color=8F9D6A\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style85\\paper=141414\r\nHTML\\style86\\color=CF6A4C\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style86\\paper=141414\r\nHTML\\style87\\color=8F9D6A\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style87\\paper=141414\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=141414\r\nHTML\\defaultfont=Consolas, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=F8F8F8\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Consolas, 14, 0, 0, 0\r\nBash\\style0\\paper=141414\r\nBash\\style1\\color=FF6464\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Consolas, 14, 0, 0, 0\r\nBash\\style1\\paper=141414\r\nBash\\style2\\color=5F5A60\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Consolas, 14, 0, 0, 0\r\nBash\\style2\\paper=141414\r\nBash\\style3\\color=CF6A4C\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Consolas, 14, 0, 0, 0\r\nBash\\style3\\paper=141414\r\nBash\\style4\\color=F9EE98\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Consolas, 14, 0, 0, 0\r\nBash\\style4\\paper=141414\r\nBash\\style5\\color=8F9D6A\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Consolas, 14, 0, 0, 0\r\nBash\\style5\\paper=141414\r\nBash\\style6\\color=8F9D6A\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Consolas, 14, 0, 0, 0\r\nBash\\style6\\paper=141414\r\nBash\\style7\\color=CDA869\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Consolas, 14, 0, 0, 0\r\nBash\\style7\\paper=141414\r\nBash\\style8\\color=CF6A4C\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Consolas, 14, 0, 0, 0\r\nBash\\style8\\paper=141414\r\nBash\\style9\\color=8996A8\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Consolas, 14, 0, 0, 0\r\nBash\\style9\\paper=141414\r\nBash\\style10\\color=8996A8\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Consolas, 14, 0, 0, 0\r\nBash\\style10\\paper=141414\r\nBash\\style11\\color=8F9D6A\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Consolas, 14, 0, 0, 0\r\nBash\\style11\\paper=141414\r\nBash\\style12\\color=8F9D6A\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Consolas, 14, 0, 0, 0\r\nBash\\style12\\paper=141414\r\nBash\\style13\\color=8F9D6A\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Consolas, 14, 0, 0, 0\r\nBash\\style13\\paper=141414\r\nBash\\defaultcolor=F8F8F8\r\nBash\\defaultpaper=141414\r\nBash\\defaultfont=Consolas, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=F8F8F8\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style0\\paper=141414\r\nBatch\\style1\\color=5F5A60\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style1\\paper=141414\r\nBatch\\style2\\color=CDA869\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Consolas, 14, 1, 0, 0\r\nBatch\\style2\\paper=141414\r\nBatch\\style3\\color=9B703F\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style3\\paper=141414\r\nBatch\\style4\\color=CDA869\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style4\\paper=141414\r\nBatch\\style5\\color=CF6A4C\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style5\\paper=141414\r\nBatch\\style6\\color=7587A6\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style6\\paper=141414\r\nBatch\\style7\\color=CDA869\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Consolas, 14, 0, 0, 0\r\nBatch\\style7\\paper=141414\r\nBatch\\defaultcolor=F8F8F8\r\nBatch\\defaultpaper=141414\r\nBatch\\defaultfont=Consolas, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=141414\r\nC%2B%2B\\style1\\color=5F5A60\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=141414\r\nC%2B%2B\\style2\\color=5F5A60\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=141414\r\nC%2B%2B\\style3\\color=5F5A60\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=141414\r\nC%2B%2B\\style4\\color=CF6A4C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=141414\r\nC%2B%2B\\style5\\color=F9EE98\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=141414\r\nC%2B%2B\\style6\\color=8F9D6A\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=141414\r\nC%2B%2B\\style7\\color=8F9D6A\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=141414\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=141414\r\nC%2B%2B\\style10\\color=CDA869\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=141414\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=141414\r\nC%2B%2B\\style13\\color=CF6A4C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=141414\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=141414\r\nC%2B%2B\\style15\\color=5F5A60\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=141414\r\nC%2B%2B\\style16\\color=CDA869\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper=141414\r\nC%2B%2B\\style17\\color=5F5A60\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=141414\r\nC%2B%2B\\style18\\color=5F5A60\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=141414\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=141414\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=F8F8F8\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style0\\paper=141414\r\nCMake\\style1\\color=5F5A60\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style1\\paper=141414\r\nCMake\\style2\\color=8F9D6A\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style2\\paper=141414\r\nCMake\\style3\\color=8F9D6A\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style3\\paper=141414\r\nCMake\\style4\\color=8F9D6A\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style4\\paper=141414\r\nCMake\\style5\\color=CF6A4C\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style5\\paper=141414\r\nCMake\\style6\\color=F8F8F8\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style6\\paper=141414\r\nCMake\\style7\\color=7587A6\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style7\\paper=141414\r\nCMake\\style8\\color=F8F8F8\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style8\\paper=141414\r\nCMake\\style9\\color=F8F8F8\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style9\\paper=141414\r\nCMake\\style10\\color=F8F8F8\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style10\\paper=141414\r\nCMake\\style11\\color=F8F8F8\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style11\\paper=141414\r\nCMake\\style12\\color=F8F8F8\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style12\\paper=141414\r\nCMake\\style13\\color=8F9D6A\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style13\\paper=141414\r\nCMake\\style14\\color=CF6A4C\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Consolas, 14, 0, 0, 0\r\nCMake\\style14\\paper=141414\r\nCMake\\defaultcolor=F8F8F8\r\nCMake\\defaultpaper=141414\r\nCMake\\defaultfont=Consolas, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=141414\r\nC%2B%2B\\style1\\color=5F5A60\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=141414\r\nC%2B%2B\\style2\\color=5F5A60\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=141414\r\nC%2B%2B\\style3\\color=5F5A60\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=141414\r\nC%2B%2B\\style4\\color=CF6A4C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=141414\r\nC%2B%2B\\style5\\color=F9EE98\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=141414\r\nC%2B%2B\\style6\\color=8F9D6A\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=141414\r\nC%2B%2B\\style7\\color=8F9D6A\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=141414\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=141414\r\nC%2B%2B\\style10\\color=CDA869\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=141414\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=141414\r\nC%2B%2B\\style13\\color=CF6A4C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=141414\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=141414\r\nC%2B%2B\\style15\\color=5F5A60\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=141414\r\nC%2B%2B\\style16\\color=CDA869\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=141414\r\nC%2B%2B\\style17\\color=5F5A60\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=141414\r\nC%2B%2B\\style18\\color=5F5A60\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=141414\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=141414\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=F8F8F8\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style0\\paper=141414\r\nC%23\\style1\\color=5F5A60\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style1\\paper=141414\r\nC%23\\style2\\color=5F5A60\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style2\\paper=141414\r\nC%23\\style3\\color=5F5A60\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style3\\paper=141414\r\nC%23\\style4\\color=CF6A4C\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style4\\paper=141414\r\nC%23\\style5\\color=F9EE98\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Consolas, 14, 1, 0, 0\r\nC%23\\style5\\paper=141414\r\nC%23\\style6\\color=8F9D6A\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style6\\paper=141414\r\nC%23\\style7\\color=8F9D6A\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style7\\paper=141414\r\nC%23\\style9\\color=8996A8\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style9\\paper=141414\r\nC%23\\style10\\color=CDA869\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style10\\paper=141414\r\nC%23\\style11\\color=F8F8F8\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style11\\paper=141414\r\nC%23\\style13\\color=CF6A4C\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style13\\paper=141414\r\nC%23\\style14\\color=E9C062\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style14\\paper=141414\r\nC%23\\style15\\color=5F5A60\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style15\\paper=141414\r\nC%23\\style16\\color=CDA869\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%23\\style16\\paper=141414\r\nC%23\\style17\\color=5F5A60\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style17\\paper=141414\r\nC%23\\style18\\color=5F5A60\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%23\\style18\\paper=141414\r\nC%23\\defaultcolor=F8F8F8\r\nC%23\\defaultpaper=141414\r\nC%23\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=F8F8F8\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style0\\paper=141414\r\nCSS\\style1\\color=9B703F\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style1\\paper=141414\r\nCSS\\style2\\color=9B703F\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style2\\paper=141414\r\nCSS\\style3\\color=9B703F\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style3\\paper=141414\r\nCSS\\style4\\color=9B703F\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style4\\paper=141414\r\nCSS\\style5\\color=CDA869\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style5\\paper=141414\r\nCSS\\style6\\color=CF6A4C\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style6\\paper=141414\r\nCSS\\style7\\color=CF6A4C\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style7\\paper=141414\r\nCSS\\style8\\color=CF6A4C\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style8\\paper=141414\r\nCSS\\style9\\color=5F5A60\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style9\\paper=141414\r\nCSS\\style10\\color=9B703F\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style10\\paper=141414\r\nCSS\\style11\\color=CDA869\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style11\\paper=141414\r\nCSS\\style12\\color=CDA869\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Consolas, 14, 0, 0, 0\r\nCSS\\style12\\paper=141414\r\nCSS\\defaultcolor=F8F8F8\r\nCSS\\defaultpaper=141414\r\nCSS\\defaultfont=Consolas, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=F8F8F8\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style0\\paper=141414\r\nDiff\\style1\\color=5F5A60\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style1\\paper=141414\r\nDiff\\style2\\color=5F5A60\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style2\\paper=141414\r\nDiff\\style3\\color=E8DD8E\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style3\\paper=141414\r\nDiff\\style4\\color=5F5A60\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style4\\paper=141414\r\nDiff\\style5\\color=CD6749\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style5\\paper=141414\r\nDiff\\style6\\color=8FC6E8\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Consolas, 14, 0, 0, 0\r\nDiff\\style6\\paper=141414\r\nDiff\\defaultcolor=F8F8F8\r\nDiff\\defaultpaper=141414\r\nDiff\\defaultfont=Consolas, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=F8F8F8\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style0\\paper=141414\r\nFortran\\style1\\color=5F5A60\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style1\\paper=141414\r\nFortran\\style2\\color=CF6A4C\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style2\\paper=141414\r\nFortran\\style3\\color=8F9D6A\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style3\\paper=141414\r\nFortran\\style4\\color=8F9D6A\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style4\\paper=141414\r\nFortran\\style5\\color=8F9D6A\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style5\\paper=141414\r\nFortran\\style6\\color=CDA869\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style6\\paper=141414\r\nFortran\\style7\\color=CF6A4C\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style7\\paper=141414\r\nFortran\\style8\\color=F9EE98\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style8\\paper=141414\r\nFortran\\style9\\color=F8F8F8\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style9\\paper=141414\r\nFortran\\style10\\color=F8F8F8\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style10\\paper=141414\r\nFortran\\style11\\color=8996A8\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style11\\paper=141414\r\nFortran\\style12\\color=F8F8F8\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style12\\paper=141414\r\nFortran\\style13\\color=9B703F\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style13\\paper=141414\r\nFortran\\style14\\color=F8F8F8\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Consolas, 14, 0, 0, 0\r\nFortran\\style14\\paper=141414\r\nFortran\\defaultcolor=F8F8F8\r\nFortran\\defaultpaper=141414\r\nFortran\\defaultfont=Consolas, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=F8F8F8\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style0\\paper=141414\r\nFortran77\\style1\\color=5F5A60\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style1\\paper=141414\r\nFortran77\\style2\\color=CF6A4C\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style2\\paper=141414\r\nFortran77\\style3\\color=8F9D6A\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style3\\paper=141414\r\nFortran77\\style4\\color=8F9D6A\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style4\\paper=141414\r\nFortran77\\style5\\color=8F9D6A\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style5\\paper=141414\r\nFortran77\\style6\\color=CDA869\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style6\\paper=141414\r\nFortran77\\style7\\color=CF6A4C\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style7\\paper=141414\r\nFortran77\\style8\\color=F9EE98\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style8\\paper=141414\r\nFortran77\\style9\\color=F8F8F8\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style9\\paper=141414\r\nFortran77\\style10\\color=F8F8F8\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style10\\paper=141414\r\nFortran77\\style11\\color=8996A8\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style11\\paper=141414\r\nFortran77\\style12\\color=F8F8F8\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style12\\paper=141414\r\nFortran77\\style13\\color=9B703F\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style13\\paper=141414\r\nFortran77\\style14\\color=F8F8F8\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Consolas, 14, 0, 0, 0\r\nFortran77\\style14\\paper=141414\r\nFortran77\\defaultcolor=F8F8F8\r\nFortran77\\defaultpaper=141414\r\nFortran77\\defaultfont=Consolas, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style0\\paper=141414\r\nHTML\\style1\\color=9B703F\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style1\\paper=141414\r\nHTML\\style2\\color=9B703F\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style2\\paper=141414\r\nHTML\\style3\\color=9B703F\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style3\\paper=141414\r\nHTML\\style4\\color=9B703F\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style4\\paper=141414\r\nHTML\\style5\\color=CF6A4C\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style5\\paper=141414\r\nHTML\\style6\\color=8F9D6A\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style6\\paper=141414\r\nHTML\\style7\\color=8F9D6A\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style7\\paper=141414\r\nHTML\\style9\\color=5F5A60\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style9\\paper=141414\r\nHTML\\style10\\color=CF6A4C\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style10\\paper=141414\r\nHTML\\style11\\color=9B703F\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style11\\paper=141414\r\nHTML\\style17\\color=CF6A4C\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style17\\paper=141414\r\nHTML\\style19\\color=CF6A4C\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style19\\paper=141414\r\nHTML\\style21\\color=8F9D6A\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style21\\paper=141414\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=141414\r\nHTML\\defaultfont=Consolas, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F8\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style0\\paper=141414\r\nProperties\\style1\\color=5F5A60\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style1\\paper=141414\r\nProperties\\style2\\color=9B703F\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style2\\paper=141414\r\nProperties\\style3\\color=CDA869\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style3\\paper=141414\r\nProperties\\style4\\color=9B703F\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style4\\paper=141414\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style5\\paper=141414\r\nProperties\\defaultcolor=F8F8F8\r\nProperties\\defaultpaper=141414\r\nProperties\\defaultfont=Consolas, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=F8F8F8\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Consolas, 14, 0, 0, 0\r\nJava\\style0\\paper=141414\r\nJava\\style1\\color=5F5A60\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Consolas, 14, 0, 0, 0\r\nJava\\style1\\paper=141414\r\nJava\\style2\\color=5F5A60\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Consolas, 14, 0, 0, 0\r\nJava\\style2\\paper=141414\r\nJava\\style3\\color=5F5A60\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Consolas, 14, 0, 0, 0\r\nJava\\style3\\paper=141414\r\nJava\\style4\\color=CF6A4C\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Consolas, 14, 0, 0, 0\r\nJava\\style4\\paper=141414\r\nJava\\style5\\color=F9EE98\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Consolas, 14, 1, 0, 0\r\nJava\\style5\\paper=141414\r\nJava\\style6\\color=8F9D6A\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Consolas, 14, 0, 0, 0\r\nJava\\style6\\paper=141414\r\nJava\\style7\\color=8F9D6A\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Consolas, 14, 0, 0, 0\r\nJava\\style7\\paper=141414\r\nJava\\style10\\color=CDA869\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Consolas, 14, 0, 0, 0\r\nJava\\style10\\paper=141414\r\nJava\\style11\\color=F8F8F8\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Consolas, 14, 0, 0, 0\r\nJava\\style11\\paper=141414\r\nJava\\style13\\color=CF6A4C\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Consolas, 14, 0, 0, 0\r\nJava\\style13\\paper=141414\r\nJava\\style14\\color=E9C062\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Consolas, 14, 0, 0, 0\r\nJava\\style14\\paper=141414\r\nJava\\style15\\color=5F5A60\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Consolas, 14, 0, 0, 0\r\nJava\\style15\\paper=141414\r\nJava\\style16\\color=CDA869\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Consolas, 14, 1, 0, 0\r\nJava\\style16\\paper=141414\r\nJava\\style17\\color=5F5A60\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Consolas, 14, 0, 0, 0\r\nJava\\style17\\paper=141414\r\nJava\\style18\\color=5F5A60\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Consolas, 14, 0, 0, 0\r\nJava\\style18\\paper=141414\r\nJava\\defaultcolor=F8F8F8\r\nJava\\defaultpaper=141414\r\nJava\\defaultfont=Consolas, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=F8F8F8\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=141414\r\nJavaScript\\style20\\color=8F9D6A\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=141414\r\nJavaScript\\style41\\color=F8F8F8\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=141414\r\nJavaScript\\style42\\color=5F5A60\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=141414\r\nJavaScript\\style43\\color=5F5A60\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=141414\r\nJavaScript\\style44\\color=5F5A60\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=141414\r\nJavaScript\\style45\\color=CF6A4C\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=141414\r\nJavaScript\\style46\\color=F8F8F8\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=141414\r\nJavaScript\\style47\\color=CDA869\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=141414\r\nJavaScript\\style48\\color=8F9D6A\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=141414\r\nJavaScript\\style49\\color=8F9D6A\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=141414\r\nJavaScript\\style50\\color=F8F8F8\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=141414\r\nJavaScript\\style51\\color=8F9D6A\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=141414\r\nJavaScript\\style52\\color=E9C062\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Consolas, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=141414\r\nJavaScript\\defaultcolor=F8F8F8\r\nJavaScript\\defaultpaper=141414\r\nJavaScript\\defaultfont=Consolas, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=F8F8F8\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style0\\paper=141414\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style1\\paper=141414\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style2\\paper=141414\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style3\\paper=141414\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style4\\paper=141414\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style5\\paper=141414\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style6\\paper=141414\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style7\\paper=141414\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style8\\paper=141414\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style9\\paper=141414\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style10\\paper=141414\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style11\\paper=141414\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style12\\paper=141414\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Consolas, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=F8F8F8\r\nJSON\\defaultpaper=141414\r\nJSON\\defaultfont=Consolas, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=F8F8F8\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Consolas, 14, 0, 0, 0\r\nLua\\style0\\paper=141414\r\nLua\\style1\\color=5F5A60\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Consolas, 14, 0, 0, 0\r\nLua\\style1\\paper=141414\r\nLua\\style2\\color=5F5A60\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Consolas, 14, 0, 0, 0\r\nLua\\style2\\paper=141414\r\nLua\\style3\\color=5F5A60\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Consolas, 14, 0, 0, 0\r\nLua\\style3\\paper=141414\r\nLua\\style4\\color=CF6A4C\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Consolas, 14, 0, 0, 0\r\nLua\\style4\\paper=141414\r\nLua\\style5\\color=F9EE98\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Consolas, 14, 0, 0, 0\r\nLua\\style5\\paper=141414\r\nLua\\style6\\color=8F9D6A\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Consolas, 14, 0, 0, 0\r\nLua\\style6\\paper=141414\r\nLua\\style7\\color=8F9D6A\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Consolas, 14, 0, 0, 0\r\nLua\\style7\\paper=141414\r\nLua\\style8\\color=8F9D6A\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Consolas, 14, 0, 0, 0\r\nLua\\style8\\paper=141414\r\nLua\\style9\\color=8996A8\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Consolas, 14, 0, 0, 0\r\nLua\\style9\\paper=141414\r\nLua\\style10\\color=CDA869\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Consolas, 14, 0, 0, 0\r\nLua\\style10\\paper=141414\r\nLua\\style13\\color=F8F8F8\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Consolas, 14, 0, 0, 0\r\nLua\\style13\\paper=141414\r\nLua\\style14\\color=F8F8F8\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Consolas, 14, 0, 0, 0\r\nLua\\style14\\paper=141414\r\nLua\\style15\\color=F8F8F8\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Consolas, 14, 0, 0, 0\r\nLua\\style15\\paper=141414\r\nLua\\defaultcolor=F8F8F8\r\nLua\\defaultpaper=141414\r\nLua\\defaultfont=Consolas, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=F8F8F8\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style0\\paper=141414\r\nMakefile\\style1\\color=5F5A60\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style1\\paper=141414\r\nMakefile\\style2\\color=8996A8\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style2\\paper=141414\r\nMakefile\\style3\\color=CF6A4C\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style3\\paper=141414\r\nMakefile\\style4\\color=CDA869\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style4\\paper=141414\r\nMakefile\\style5\\color=E8DD8E\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style5\\paper=141414\r\nMakefile\\style9\\color=E8DD8E\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Consolas, 14, 0, 0, 0\r\nMakefile\\style9\\paper=141414\r\nMakefile\\defaultcolor=F8F8F8\r\nMakefile\\defaultpaper=141414\r\nMakefile\\defaultfont=Consolas, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=F8F8F8\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style0\\paper=141414\r\nMatlab\\style1\\color=5F5A60\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style1\\paper=141414\r\nMatlab\\style2\\color=CF6A4C\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style2\\paper=141414\r\nMatlab\\style3\\color=CF6A4C\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style3\\paper=141414\r\nMatlab\\style4\\color=F9EE98\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style4\\paper=141414\r\nMatlab\\style5\\color=8F9D6A\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style5\\paper=141414\r\nMatlab\\style6\\color=CDA869\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style6\\paper=141414\r\nMatlab\\style7\\color=CF6A4C\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style7\\paper=141414\r\nMatlab\\style8\\color=8F9D6A\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Consolas, 14, 0, 0, 0\r\nMatlab\\style8\\paper=141414\r\nMatlab\\defaultcolor=F8F8F8\r\nMatlab\\defaultpaper=141414\r\nMatlab\\defaultfont=Consolas, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=F8F8F8\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style0\\paper=141414\r\nNSIS\\style1\\color=5F5A60\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style1\\paper=141414\r\nNSIS\\style2\\color=8F9D6A\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style2\\paper=141414\r\nNSIS\\style3\\color=8F9D6A\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style3\\paper=141414\r\nNSIS\\style4\\color=8F9D6A\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style4\\paper=141414\r\nNSIS\\style5\\color=DAD085\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style5\\paper=141414\r\nNSIS\\style6\\color=7587A6\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style6\\paper=141414\r\nNSIS\\style7\\color=9B703F\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style7\\paper=141414\r\nNSIS\\style8\\color=F8F8F8\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style8\\paper=141414\r\nNSIS\\style9\\color=9B703F\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style9\\paper=141414\r\nNSIS\\style10\\color=F8F8F8\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style10\\paper=141414\r\nNSIS\\style11\\color=8A97A8\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style11\\paper=141414\r\nNSIS\\style12\\color=8A97A8\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style12\\paper=141414\r\nNSIS\\style13\\color=8F9D6A\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style13\\paper=141414\r\nNSIS\\style14\\color=CF6A4C\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style14\\paper=141414\r\nNSIS\\style15\\color=9B703F\r\nNSIS\\style15\\eolfill=false\r\nNSIS\\style15\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style15\\paper=141414\r\nNSIS\\style16\\color=F8F8F8\r\nNSIS\\style16\\eolfill=false\r\nNSIS\\style16\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style16\\paper=141414\r\nNSIS\\style17\\color=9B703F\r\nNSIS\\style17\\eolfill=false\r\nNSIS\\style17\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style17\\paper=141414\r\nNSIS\\style18\\color=5F5A60\r\nNSIS\\style18\\eolfill=false\r\nNSIS\\style18\\font=Consolas, 14, 0, 0, 0\r\nNSIS\\style18\\paper=141414\r\nNSIS\\defaultcolor=F8F8F8\r\nNSIS\\defaultpaper=141414\r\nNSIS\\defaultfont=Consolas, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=141414\r\nC%2B%2B\\style1\\color=5F5A60\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=141414\r\nC%2B%2B\\style2\\color=5F5A60\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=141414\r\nC%2B%2B\\style3\\color=5F5A60\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=141414\r\nC%2B%2B\\style4\\color=CF6A4C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=141414\r\nC%2B%2B\\style5\\color=F9EE98\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=141414\r\nC%2B%2B\\style6\\color=8F9D6A\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=141414\r\nC%2B%2B\\style7\\color=8F9D6A\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=141414\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=141414\r\nC%2B%2B\\style10\\color=CDA869\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=141414\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=141414\r\nC%2B%2B\\style13\\color=CF6A4C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=141414\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=141414\r\nC%2B%2B\\style15\\color=5F5A60\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=141414\r\nC%2B%2B\\style16\\color=CDA869\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=141414\r\nC%2B%2B\\style17\\color=5F5A60\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=141414\r\nC%2B%2B\\style18\\color=5F5A60\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=141414\r\nC%2B%2B\\style19\\color=CDA869\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=141414\r\nC%2B%2B\\style20\\color=F8F8F8\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=141414\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=141414\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=F8F8F8\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style0\\paper=141414\r\nPascal\\style1\\color=CF6A4C\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style1\\paper=141414\r\nPascal\\style2\\color=5F5A60\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style2\\paper=141414\r\nPascal\\style3\\color=5F5A60\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style3\\paper=141414\r\nPascal\\style4\\color=5F5A60\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style4\\paper=141414\r\nPascal\\style5\\color=8996A8\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style5\\paper=141414\r\nPascal\\style7\\color=CF6A4C\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style7\\paper=141414\r\nPascal\\style9\\color=F9EE98\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style9\\paper=141414\r\nPascal\\style12\\color=8F9D6A\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style12\\paper=141414\r\nPascal\\style13\\color=CDA869\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style13\\paper=141414\r\nPascal\\style14\\color=E9C062\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Consolas, 14, 0, 0, 0\r\nPascal\\style14\\paper=141414\r\nPascal\\defaultcolor=F8F8F8\r\nPascal\\defaultpaper=141414\r\nPascal\\defaultfont=Consolas, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=F8F8F8\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style0\\paper=141414\r\nPerl\\style1\\color=F8F8F8\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style1\\paper=141414\r\nPerl\\style2\\color=5F5A60\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style2\\paper=141414\r\nPerl\\style3\\color=5F5A60\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style3\\paper=141414\r\nPerl\\style4\\color=CF6A4C\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style4\\paper=141414\r\nPerl\\style5\\color=F9EE98\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style5\\paper=141414\r\nPerl\\style6\\color=8F9D6A\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style6\\paper=141414\r\nPerl\\style7\\color=8F9D6A\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style7\\paper=141414\r\nPerl\\style8\\color=F8F8F8\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style8\\paper=141414\r\nPerl\\style9\\color=8996A8\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style9\\paper=141414\r\nPerl\\style10\\color=CDA869\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style10\\paper=141414\r\nPerl\\style12\\color=F8F8F8\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style12\\paper=141414\r\nPerl\\style13\\color=F8F8F8\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style13\\paper=141414\r\nPerl\\style14\\color=F8F8F8\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style14\\paper=141414\r\nPerl\\style15\\color=F8F8F8\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style15\\paper=141414\r\nPerl\\style17\\color=E9C062\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style17\\paper=141414\r\nPerl\\style18\\color=E9C062\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style18\\paper=141414\r\nPerl\\style19\\color=8F9D6A\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style19\\paper=141414\r\nPerl\\style20\\color=E9C062\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style20\\paper=141414\r\nPerl\\style21\\color=F8F8F8\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Consolas, 14, 0, 0, 0\r\nPerl\\style21\\paper=141414\r\nPerl\\defaultcolor=F8F8F8\r\nPerl\\defaultpaper=141414\r\nPerl\\defaultfont=Consolas, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=F8F8F8\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style0\\paper=141414\r\nHTML\\style18\\color=F8F8F8\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style18\\paper=141414\r\nHTML\\style118\\color=F8F8F8\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style118\\paper=141414\r\nHTML\\style119\\color=8F9D6A\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style119\\paper=141414\r\nHTML\\style120\\color=8F9D6A\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style120\\paper=141414\r\nHTML\\style121\\color=CDA869\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style121\\paper=141414\r\nHTML\\style122\\color=CF6A4C\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style122\\paper=141414\r\nHTML\\style123\\color=7587A6\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style123\\paper=141414\r\nHTML\\style124\\color=5F5A60\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style124\\paper=141414\r\nHTML\\style125\\color=5F5A60\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style125\\paper=141414\r\nHTML\\style126\\color=8F9D6A\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style126\\paper=141414\r\nHTML\\style127\\color=CDA869\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Consolas, 14, 0, 0, 0\r\nHTML\\style127\\paper=141414\r\nHTML\\defaultcolor=F8F8F8\r\nHTML\\defaultpaper=141414\r\nHTML\\defaultfont=Consolas, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=F8F8F8\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style0\\paper=141414\r\nProperties\\style1\\color=5F5A60\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style1\\paper=141414\r\nProperties\\style3\\color=CDA869\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style3\\paper=141414\r\nProperties\\style4\\color=9B703F\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style4\\paper=141414\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Consolas, 14, 0, 0, 0\r\nProperties\\style5\\paper=141414\r\nProperties\\defaultcolor=F8F8F8\r\nProperties\\defaultpaper=141414\r\nProperties\\defaultfont=Consolas, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=F8F8F8\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Consolas, 14, 0, 0, 0\r\nPython\\style0\\paper=141414\r\nPython\\style1\\color=5F5A60\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Consolas, 14, 0, 0, 0\r\nPython\\style1\\paper=141414\r\nPython\\style2\\color=CF6A4C\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Consolas, 14, 0, 0, 0\r\nPython\\style2\\paper=141414\r\nPython\\style3\\color=8F9D6A\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Consolas, 14, 0, 0, 0\r\nPython\\style3\\paper=141414\r\nPython\\style4\\color=8F9D6A\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Consolas, 14, 0, 0, 0\r\nPython\\style4\\paper=141414\r\nPython\\style5\\color=CDA869\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Consolas, 14, 1, 0, 0\r\nPython\\style5\\paper=141414\r\nPython\\style6\\color=8F9D6A\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Consolas, 14, 0, 0, 0\r\nPython\\style6\\paper=141414\r\nPython\\style7\\color=8F9D6A\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Consolas, 14, 0, 0, 0\r\nPython\\style7\\paper=141414\r\nPython\\style8\\color=F8F8F8\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Consolas, 14, 0, 0, 0\r\nPython\\style8\\paper=141414\r\nPython\\style9\\color=F8F8F8\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Consolas, 14, 0, 0, 0\r\nPython\\style9\\paper=141414\r\nPython\\style10\\color=CDA869\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Consolas, 14, 0, 0, 0\r\nPython\\style10\\paper=141414\r\nPython\\style11\\color=CF6A4C\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Consolas, 14, 0, 0, 0\r\nPython\\style11\\paper=141414\r\nPython\\style12\\color=5F5A60\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Consolas, 14, 0, 0, 0\r\nPython\\style12\\paper=141414\r\nPython\\style13\\color=8F9D6A\r\nPython\\style13\\eolfill=false\r\nPython\\style13\\font=Consolas, 14, 0, 0, 0\r\nPython\\style13\\paper=141414\r\nPython\\style16\\color=8F9D6A\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Consolas, 14, 0, 0, 0\r\nPython\\style16\\paper=141414\r\nPython\\style17\\color=8F9D6A\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Consolas, 14, 0, 0, 0\r\nPython\\style17\\paper=141414\r\nPython\\style18\\color=8F9D6A\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Consolas, 14, 0, 0, 0\r\nPython\\style18\\paper=141414\r\nPython\\style19\\color=8F9D6A\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Consolas, 14, 0, 0, 0\r\nPython\\style19\\paper=141414\r\nPython\\defaultcolor=F8F8F8\r\nPython\\defaultpaper=141414\r\nPython\\defaultfont=Consolas, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=F8F8F8\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=141414\r\nC%2B%2B\\style1\\color=5F5A60\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper=141414\r\nC%2B%2B\\style2\\color=5F5A60\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper=141414\r\nC%2B%2B\\style3\\color=5F5A60\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper=141414\r\nC%2B%2B\\style4\\color=CF6A4C\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=141414\r\nC%2B%2B\\style5\\color=F9EE98\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=141414\r\nC%2B%2B\\style6\\color=8F9D6A\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=141414\r\nC%2B%2B\\style7\\color=8F9D6A\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=141414\r\nC%2B%2B\\style9\\color=8996A8\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=141414\r\nC%2B%2B\\style10\\color=CDA869\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=141414\r\nC%2B%2B\\style11\\color=F8F8F8\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=141414\r\nC%2B%2B\\style13\\color=CF6A4C\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=141414\r\nC%2B%2B\\style14\\color=E9C062\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=141414\r\nC%2B%2B\\style15\\color=5F5A60\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper=141414\r\nC%2B%2B\\style16\\color=CDA869\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Consolas, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=141414\r\nC%2B%2B\\style17\\color=5F5A60\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper=141414\r\nC%2B%2B\\style18\\color=5F5A60\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper=141414\r\nC%2B%2B\\defaultcolor=F8F8F8\r\nC%2B%2B\\defaultpaper=141414\r\nC%2B%2B\\defaultfont=Consolas, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=F8F8F8\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style0\\paper=141414\r\nRuby\\style1\\color=F8F8F8\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style1\\paper=141414\r\nRuby\\style2\\color=5F5A60\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style2\\paper=141414\r\nRuby\\style3\\color=5F5A60\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style3\\paper=141414\r\nRuby\\style4\\color=CF6A4C\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style4\\paper=141414\r\nRuby\\style5\\color=CDA869\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style5\\paper=141414\r\nRuby\\style6\\color=8F9D6A\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style6\\paper=141414\r\nRuby\\style7\\color=8F9D6A\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style7\\paper=141414\r\nRuby\\style8\\color=9B703F\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style8\\paper=141414\r\nRuby\\style9\\color=9B703F\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style9\\paper=141414\r\nRuby\\style10\\color=CDA869\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style10\\paper=141414\r\nRuby\\style11\\color=CF6A4C\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style11\\paper=141414\r\nRuby\\style12\\color=E9C062\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style12\\paper=141414\r\nRuby\\style13\\color=7587A6\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style13\\paper=141414\r\nRuby\\style14\\color=F8F8F8\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style14\\paper=141414\r\nRuby\\style15\\color=9B703F\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style15\\paper=141414\r\nRuby\\style16\\color=7587A6\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style16\\paper=141414\r\nRuby\\style17\\color=F8F8F8\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style17\\paper=141414\r\nRuby\\style18\\color=E9C062\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style18\\paper=141414\r\nRuby\\style19\\color=F8F8F8\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style19\\paper=141414\r\nRuby\\style24\\color=8F9D6A\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Consolas, 14, 0, 0, 0\r\nRuby\\style24\\paper=141414\r\nRuby\\defaultcolor=F8F8F8\r\nRuby\\defaultpaper=141414\r\nRuby\\defaultfont=Consolas, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=F8F8F8\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style0\\paper=141414\r\nSQL\\style1\\color=5F5A60\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style1\\paper=141414\r\nSQL\\style2\\color=5F5A60\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style2\\paper=141414\r\nSQL\\style3\\color=5F5A60\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style3\\paper=141414\r\nSQL\\style4\\color=CF6A4C\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style4\\paper=141414\r\nSQL\\style5\\color=CDA869\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style5\\paper=141414\r\nSQL\\style6\\color=8F9D6A\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style6\\paper=141414\r\nSQL\\style7\\color=8F9D6A\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style7\\paper=141414\r\nSQL\\style10\\color=CDA869\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style10\\paper=141414\r\nSQL\\style16\\color=CDA869\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style16\\paper=141414\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style19\\paper=141414\r\nSQL\\style24\\color=8F9D6A\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Consolas, 14, 0, 0, 0\r\nSQL\\style24\\paper=141414\r\nSQL\\defaultcolor=F8F8F8\r\nSQL\\defaultpaper=141414\r\nSQL\\defaultfont=Consolas, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=F8F8F8\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style0\\paper=141414\r\nTCL\\style1\\color=5F5A60\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style1\\paper=141414\r\nTCL\\style2\\color=5F5A60\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style2\\paper=141414\r\nTCL\\style3\\color=5F5A60\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style3\\paper=141414\r\nTCL\\style4\\color=CF6A4C\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style4\\paper=141414\r\nTCL\\style5\\color=F9EE98\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style5\\paper=141414\r\nTCL\\style6\\color=8F9D6A\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style6\\paper=141414\r\nTCL\\style7\\color=8F9D6A\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style7\\paper=141414\r\nTCL\\style9\\color=8996A8\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style9\\paper=141414\r\nTCL\\style10\\color=CDA869\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style10\\paper=141414\r\nTCL\\style11\\color=F8F8F8\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style11\\paper=141414\r\nTCL\\style13\\color=CF6A4C\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style13\\paper=141414\r\nTCL\\style14\\color=E9C062\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style14\\paper=141414\r\nTCL\\style15\\color=5F5A60\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style15\\paper=141414\r\nTCL\\style16\\color=CDA869\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Consolas, 14, 1, 0, 0\r\nTCL\\style16\\paper=141414\r\nTCL\\style17\\color=5F5A60\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style17\\paper=141414\r\nTCL\\style18\\color=5F5A60\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Consolas, 14, 0, 0, 0\r\nTCL\\style18\\paper=141414\r\nTCL\\defaultcolor=F8F8F8\r\nTCL\\defaultpaper=141414\r\nTCL\\defaultfont=Consolas, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=F8F8F8\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Consolas, 14, 0, 0, 0\r\nTXT\\style0\\paper=141414\r\nTXT\\style1\\color=F8F8F8\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Consolas, 14, 0, 0, 0\r\nTXT\\style1\\paper=141414\r\nTXT\\style2\\color=CDA869\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Consolas, 14, 1, 0, 0\r\nTXT\\style2\\paper=141414\r\nTXT\\defaultcolor=F8F8F8\r\nTXT\\defaultpaper=141414\r\nTXT\\defaultfont=Consolas, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=F8F8F8\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Consolas, 14, 0, 0, 0\r\nVB\\style0\\paper=141414\r\nVB\\style1\\color=5F5A60\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Consolas, 14, 0, 0, 0\r\nVB\\style1\\paper=141414\r\nVB\\style2\\color=CF6A4C\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Consolas, 14, 0, 0, 0\r\nVB\\style2\\paper=141414\r\nVB\\style3\\color=CDA869\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Consolas, 14, 0, 0, 0\r\nVB\\style3\\paper=141414\r\nVB\\style4\\color=8F9D6A\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Consolas, 14, 0, 0, 0\r\nVB\\style4\\paper=141414\r\nVB\\style5\\color=8996A8\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Consolas, 14, 0, 0, 0\r\nVB\\style5\\paper=141414\r\nVB\\style6\\color=CDA869\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Consolas, 14, 0, 0, 0\r\nVB\\style6\\paper=141414\r\nVB\\style7\\color=F8F8F8\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Consolas, 14, 0, 0, 0\r\nVB\\style7\\paper=141414\r\nVB\\style8\\color=9B859D\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Consolas, 14, 0, 0, 0\r\nVB\\style8\\paper=141414\r\nVB\\defaultcolor=F8F8F8\r\nVB\\defaultpaper=141414\r\nVB\\defaultfont=Consolas, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=F8F8F8\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style0\\paper=141414\r\nVerilog\\style1\\color=5F5A60\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style1\\paper=141414\r\nVerilog\\style2\\color=5F5A60\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style2\\paper=141414\r\nVerilog\\style3\\color=5F5A60\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style3\\paper=141414\r\nVerilog\\style4\\color=CF6A4C\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style4\\paper=141414\r\nVerilog\\style5\\color=F9EE98\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style5\\paper=141414\r\nVerilog\\style6\\color=8F9D6A\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style6\\paper=141414\r\nVerilog\\style7\\color=CDA869\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style7\\paper=141414\r\nVerilog\\style9\\color=8996A8\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style9\\paper=141414\r\nVerilog\\style10\\color=CDA869\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style10\\paper=141414\r\nVerilog\\style11\\color=CF6A4C\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style11\\paper=141414\r\nVerilog\\style12\\color=8F9D6A\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style12\\paper=141414\r\nVerilog\\style19\\color=F8F8F8\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Consolas, 14, 0, 0, 0\r\nVerilog\\style19\\paper=141414\r\nVerilog\\defaultcolor=F8F8F8\r\nVerilog\\defaultpaper=141414\r\nVerilog\\defaultfont=Consolas, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=F8F8F8\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style0\\paper=141414\r\nVHDL\\style1\\color=5F5A60\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style1\\paper=141414\r\nVHDL\\style2\\color=5F5A60\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style2\\paper=141414\r\nVHDL\\style3\\color=CF6A4C\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style3\\paper=141414\r\nVHDL\\style4\\color=8F9D6A\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style4\\paper=141414\r\nVHDL\\style5\\color=CDA869\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style5\\paper=141414\r\nVHDL\\style6\\color=CF6A4C\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style6\\paper=141414\r\nVHDL\\style7\\color=8F9D6A\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style7\\paper=141414\r\nVHDL\\style8\\color=CDA869\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style8\\paper=141414\r\nVHDL\\style9\\color=CDA869\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style9\\paper=141414\r\nVHDL\\style10\\color=F8F8F8\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style10\\paper=141414\r\nVHDL\\style11\\color=F8F8F8\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style11\\paper=141414\r\nVHDL\\style12\\color=F8F8F8\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style12\\paper=141414\r\nVHDL\\style13\\color=F8F8F8\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style13\\paper=141414\r\nVHDL\\style14\\color=F8F8F8\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Consolas, 14, 0, 0, 0\r\nVHDL\\style14\\paper=141414\r\nVHDL\\defaultcolor=F8F8F8\r\nVHDL\\defaultpaper=141414\r\nVHDL\\defaultfont=Consolas, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Twilight/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=F8F8F8\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Consolas, 14, 0, 0, 0\r\nXML\\style0\\paper=141414\r\nXML\\style1\\color=9B703F\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Consolas, 14, 0, 0, 0\r\nXML\\style1\\paper=141414\r\nXML\\style2\\color=9B703F\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Consolas, 14, 0, 0, 0\r\nXML\\style2\\paper=141414\r\nXML\\style3\\color=CCCCCC\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Consolas, 14, 0, 0, 0\r\nXML\\style3\\paper=141414\r\nXML\\style4\\color=CCCCCC\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Consolas, 14, 0, 0, 0\r\nXML\\style4\\paper=141414\r\nXML\\style5\\color=CF6A4C\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Consolas, 14, 0, 0, 0\r\nXML\\style5\\paper=141414\r\nXML\\style6\\color=8F9D6A\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Consolas, 14, 0, 0, 0\r\nXML\\style6\\paper=141414\r\nXML\\style7\\color=8F9D6A\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Consolas, 14, 0, 0, 0\r\nXML\\style7\\paper=141414\r\nXML\\style9\\color=5F5A60\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Consolas, 14, 0, 0, 0\r\nXML\\style9\\paper=141414\r\nXML\\style10\\color=CF6A4C\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Consolas, 14, 0, 0, 0\r\nXML\\style10\\paper=141414\r\nXML\\style11\\color=9B703F\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Consolas, 14, 0, 0, 0\r\nXML\\style11\\paper=141414\r\nXML\\style12\\color=494949\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Consolas, 14, 0, 0, 0\r\nXML\\style12\\paper=141414\r\nXML\\style13\\color=494949\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Consolas, 14, 0, 0, 0\r\nXML\\style13\\paper=141414\r\nXML\\style17\\color=CF6A4C\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Consolas, 14, 0, 0, 0\r\nXML\\style17\\paper=141414\r\nXML\\style21\\color=8F9D6A\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Consolas, 14, 0, 0, 0\r\nXML\\style21\\paper=141414\r\nXML\\defaultcolor=F8F8F8\r\nXML\\defaultpaper=141414\r\nXML\\defaultfont=Consolas, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color=FFFF80\r\nGlobal\\style0\\eolfill=false\r\nGlobal\\style0\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper=FF8000\r\nGlobal\\style1\\color=FFFFFF\r\nGlobal\\style1\\eolfill=false\r\nGlobal\\style1\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper=000000\r\nGlobal\\style2\\color=C0C0C0\r\nGlobal\\style2\\eolfill=false\r\nGlobal\\style2\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper=000000\r\nGlobal\\style3\\color=99CC99\r\nGlobal\\style3\\eolfill=false\r\nGlobal\\style3\\font=Courier New, 16, 0, 0, 0\r\nGlobal\\style3\\paper=000000\r\nGlobal\\style4\\color=CCFF33\r\nGlobal\\style4\\eolfill=false\r\nGlobal\\style4\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper=000000\r\nGlobal\\style5\\color=0080C0\r\nGlobal\\style5\\eolfill=false\r\nGlobal\\style5\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper=333333\r\nGlobal\\style6\\color=ffff00\r\nGlobal\\style6\\eolfill=false\r\nGlobal\\style6\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper=6699CC\r\nGlobal\\style7\\color=FFFFFF\r\nGlobal\\style7\\eolfill=false\r\nGlobal\\style7\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper=112435\r\nGlobal\\style8\\color=80FFFF\r\nGlobal\\style8\\eolfill=false\r\nGlobal\\style8\\font=Courier New, 12, 0, 0, 0\r\nGlobal\\style8\\paper=F3F3F3\r\nGlobal\\style9\\color=E4E4E4\r\nGlobal\\style9\\eolfill=false\r\nGlobal\\style9\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style9\\paper=333333\r\nGlobal\\style10\\color=FFFFFF\r\nGlobal\\style10\\eolfill=false\r\nGlobal\\style10\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper=333333\r\nGlobal\\style11\\color=999999\r\nGlobal\\style11\\eolfill=false\r\nGlobal\\style11\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper=333333\r\nGlobal\\style12\\color=999999\r\nGlobal\\style12\\eolfill=false\r\nGlobal\\style12\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper=000000\r\nGlobal\\style13\\color=222222\r\nGlobal\\style13\\eolfill=false\r\nGlobal\\style13\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper=111111\r\nGlobal\\style14\\color=FF8080\r\nGlobal\\style14\\eolfill=false\r\nGlobal\\style14\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper=000000\r\nGlobal\\style15\\color=555753\r\nGlobal\\style15\\eolfill=false\r\nGlobal\\style15\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper=00FF00\r\nGlobal\\style16\\color=FCAF3E\r\nGlobal\\style16\\eolfill=false\r\nGlobal\\style16\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper=FF0000\r\nGlobal\\style17\\color=FFFFFF\r\nGlobal\\style17\\eolfill=false\r\nGlobal\\style17\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper=00FFFF\r\nGlobal\\style18\\color=FFFFFF\r\nGlobal\\style18\\eolfill=false\r\nGlobal\\style18\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper=FF8000\r\nGlobal\\style19\\color=FFFFFF\r\nGlobal\\style19\\eolfill=false\r\nGlobal\\style19\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper=FFFF00\r\nGlobal\\style20\\color=FFFFFF\r\nGlobal\\style20\\eolfill=false\r\nGlobal\\style20\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper=8000FF\r\nGlobal\\style21\\color=FFFFFF\r\nGlobal\\style21\\eolfill=false\r\nGlobal\\style21\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper=008000\r\nGlobal\\style22\\color=FFCAB0\r\nGlobal\\style22\\eolfill=false\r\nGlobal\\style22\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper=0080FF\r\nGlobal\\style23\\color=000000\r\nGlobal\\style23\\eolfill=false\r\nGlobal\\style23\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper=8000FF\r\nGlobal\\style24\\color=8080C0\r\nGlobal\\style24\\eolfill=false\r\nGlobal\\style24\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper=FFFF00\r\nGlobal\\style25\\color=FFFFFF\r\nGlobal\\style25\\eolfill=false\r\nGlobal\\style25\\font=Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper=000000\r\nGlobal\\defaultcolor=FFFFFF\r\nGlobal\\defaultpaper=000000\r\nGlobal\\defaultfont=Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=000000\r\nHTML\\style15\\color=FFFFFF\r\nHTML\\style15\\eolfill=false\r\nHTML\\style15\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper=000000\r\nHTML\\style16\\color=FFFFFF\r\nHTML\\style16\\eolfill=false\r\nHTML\\style16\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper=FFC000\r\nHTML\\style81\\color=66FF00\r\nHTML\\style81\\eolfill=false\r\nHTML\\style81\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper=C4F9FD\r\nHTML\\style82\\color=9933CC\r\nHTML\\style82\\eolfill=false\r\nHTML\\style82\\font=Courier New, 12, 0, 0, 0\r\nHTML\\style82\\paper=C4F9FD\r\nHTML\\style83\\color=99CC99\r\nHTML\\style83\\eolfill=false\r\nHTML\\style83\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper=C4F9FD\r\nHTML\\style84\\color=FFCC00\r\nHTML\\style84\\eolfill=false\r\nHTML\\style84\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper=C4F9FD\r\nHTML\\style85\\color=66FF00\r\nHTML\\style85\\eolfill=false\r\nHTML\\style85\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper=C4F9FD\r\nHTML\\style86\\color=FFFFFF\r\nHTML\\style86\\eolfill=false\r\nHTML\\style86\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper=C4F9FD\r\nHTML\\style87\\color=66FF00\r\nHTML\\style87\\eolfill=false\r\nHTML\\style87\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper=C4F9FD\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=000000\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color=FFFFFF\r\nBash\\style0\\eolfill=false\r\nBash\\style0\\font=Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper=000000\r\nBash\\style1\\color=FFFFFF\r\nBash\\style1\\eolfill=false\r\nBash\\style1\\font=Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper=FF0000\r\nBash\\style2\\color=9933CC\r\nBash\\style2\\eolfill=false\r\nBash\\style2\\font=Courier New, 12, 0, 0, 0\r\nBash\\style2\\paper=000000\r\nBash\\style3\\color=99CC99\r\nBash\\style3\\eolfill=false\r\nBash\\style3\\font=Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper=000000\r\nBash\\style4\\color=FF6600\r\nBash\\style4\\eolfill=false\r\nBash\\style4\\font=Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper=000000\r\nBash\\style5\\color=66FF00\r\nBash\\style5\\eolfill=false\r\nBash\\style5\\font=Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper=000000\r\nBash\\style6\\color=66FF00\r\nBash\\style6\\eolfill=false\r\nBash\\style6\\font=Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper=000000\r\nBash\\style7\\color=EDF8F9\r\nBash\\style7\\eolfill=false\r\nBash\\style7\\font=Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper=000000\r\nBash\\style8\\color=FFFFFF\r\nBash\\style8\\eolfill=false\r\nBash\\style8\\font=Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper=000000\r\nBash\\style9\\color=FF8040\r\nBash\\style9\\eolfill=false\r\nBash\\style9\\font=Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper=FFFFD9\r\nBash\\style10\\color=9933CC\r\nBash\\style10\\eolfill=false\r\nBash\\style10\\font=Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper=00FFFF\r\nBash\\style11\\color=804040\r\nBash\\style11\\eolfill=false\r\nBash\\style11\\font=Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper=E1FFF3\r\nBash\\style12\\color=FF6600\r\nBash\\style12\\eolfill=false\r\nBash\\style12\\font=Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper=FF0000\r\nBash\\style13\\color=99CC99\r\nBash\\style13\\eolfill=false\r\nBash\\style13\\font=Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper=0000FF\r\nBash\\defaultcolor=FFFFFF\r\nBash\\defaultpaper=000000\r\nBash\\defaultfont=Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color=FFFFFF\r\nBatch\\style0\\eolfill=false\r\nBatch\\style0\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper=000000\r\nBatch\\style1\\color=9933CC\r\nBatch\\style1\\eolfill=false\r\nBatch\\style1\\font=Courier New, 12, 0, 0, 0\r\nBatch\\style1\\paper=000000\r\nBatch\\style2\\color=FF6600\r\nBatch\\style2\\eolfill=false\r\nBatch\\style2\\font=Courier New, 14, 1, 0, 0\r\nBatch\\style2\\paper=000000\r\nBatch\\style3\\color=99CC99\r\nBatch\\style3\\eolfill=false\r\nBatch\\style3\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper=FFFF80\r\nBatch\\style4\\color=FF00FF\r\nBatch\\style4\\eolfill=false\r\nBatch\\style4\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper=000000\r\nBatch\\style5\\color=339999\r\nBatch\\style5\\eolfill=false\r\nBatch\\style5\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style5\\paper=000000\r\nBatch\\style6\\color=FF8000\r\nBatch\\style6\\eolfill=false\r\nBatch\\style6\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper=FCFFF0\r\nBatch\\style7\\color=99CC99\r\nBatch\\style7\\eolfill=false\r\nBatch\\style7\\font=Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper=000000\r\nBatch\\defaultcolor=FFFFFF\r\nBatch\\defaultpaper=000000\r\nBatch\\defaultfont=Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=9933CC\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=9933CC\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=9933CC\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=EDF8F9\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=9933CC\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=9933CC\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=9933CC\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color=FFFFFF\r\nCMake\\style0\\eolfill=false\r\nCMake\\style0\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper=000000\r\nCMake\\style1\\color=9933CC\r\nCMake\\style1\\eolfill=false\r\nCMake\\style1\\font=Courier New, 12, 0, 0, 0\r\nCMake\\style1\\paper=000000\r\nCMake\\style2\\color=66FF00\r\nCMake\\style2\\eolfill=false\r\nCMake\\style2\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper=000000\r\nCMake\\style3\\color=66FF00\r\nCMake\\style3\\eolfill=false\r\nCMake\\style3\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper=000000\r\nCMake\\style4\\color=66FF00\r\nCMake\\style4\\eolfill=false\r\nCMake\\style4\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper=000000\r\nCMake\\style5\\color=FF6600\r\nCMake\\style5\\eolfill=false\r\nCMake\\style5\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style5\\paper=000000\r\nCMake\\style6\\color=66FF00\r\nCMake\\style6\\eolfill=false\r\nCMake\\style6\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper=000000\r\nCMake\\style7\\color=FF8040\r\nCMake\\style7\\eolfill=false\r\nCMake\\style7\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper=000000\r\nCMake\\style8\\color=FFCC00\r\nCMake\\style8\\eolfill=false\r\nCMake\\style8\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper=000000\r\nCMake\\style9\\color=339999\r\nCMake\\style9\\eolfill=false\r\nCMake\\style9\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style9\\paper=000000\r\nCMake\\style10\\color=9933CC\r\nCMake\\style10\\eolfill=false\r\nCMake\\style10\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style10\\paper=000000\r\nCMake\\style11\\color=66FF00\r\nCMake\\style11\\eolfill=false\r\nCMake\\style11\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style11\\paper=000000\r\nCMake\\style12\\color=99CC99\r\nCMake\\style12\\eolfill=false\r\nCMake\\style12\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style12\\paper=000000\r\nCMake\\style13\\color=66FF00\r\nCMake\\style13\\eolfill=false\r\nCMake\\style13\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper=000000\r\nCMake\\style14\\color=804040\r\nCMake\\style14\\eolfill=false\r\nCMake\\style14\\font=Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper=000000\r\nCMake\\defaultcolor=FFFFFF\r\nCMake\\defaultpaper=000000\r\nCMake\\defaultfont=Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=9933CC\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=9933CC\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=9933CC\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=EDF8F9\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=9933CC\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=9933CC\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=9933CC\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color=FFFFFF\r\nC%23\\style0\\eolfill=false\r\nC%23\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper=000000\r\nC%23\\style1\\color=9933CC\r\nC%23\\style1\\eolfill=false\r\nC%23\\style1\\font=Courier New, 12, 0, 0, 0\r\nC%23\\style1\\paper=000000\r\nC%23\\style2\\color=9933CC\r\nC%23\\style2\\eolfill=false\r\nC%23\\style2\\font=Courier New, 12, 0, 0, 0\r\nC%23\\style2\\paper=000000\r\nC%23\\style3\\color=9933CC\r\nC%23\\style3\\eolfill=false\r\nC%23\\style3\\font=Courier New, 12, 0, 0, 0\r\nC%23\\style3\\paper=000000\r\nC%23\\style4\\color=FF8000\r\nC%23\\style4\\eolfill=false\r\nC%23\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper=000000\r\nC%23\\style5\\color=FF6600\r\nC%23\\style5\\eolfill=false\r\nC%23\\style5\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style5\\paper=000000\r\nC%23\\style6\\color=66FF00\r\nC%23\\style6\\eolfill=false\r\nC%23\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper=000000\r\nC%23\\style7\\color=66FF00\r\nC%23\\style7\\eolfill=false\r\nC%23\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper=000000\r\nC%23\\style9\\color=EDF8F9\r\nC%23\\style9\\eolfill=false\r\nC%23\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper=000000\r\nC%23\\style10\\color=FFCC00\r\nC%23\\style10\\eolfill=false\r\nC%23\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper=000000\r\nC%23\\style11\\color=FFFFFF\r\nC%23\\style11\\eolfill=false\r\nC%23\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper=000000\r\nC%23\\style13\\color=FFFFFF\r\nC%23\\style13\\eolfill=false\r\nC%23\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper=000000\r\nC%23\\style14\\color=FFFFFF\r\nC%23\\style14\\eolfill=false\r\nC%23\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper=000000\r\nC%23\\style15\\color=9933CC\r\nC%23\\style15\\eolfill=false\r\nC%23\\style15\\font=Courier New, 12, 0, 0, 0\r\nC%23\\style15\\paper=000000\r\nC%23\\style16\\color=66FF00\r\nC%23\\style16\\eolfill=false\r\nC%23\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%23\\style16\\paper=000000\r\nC%23\\style17\\color=9933CC\r\nC%23\\style17\\eolfill=false\r\nC%23\\style17\\font=Courier New, 12, 0, 0, 0\r\nC%23\\style17\\paper=000000\r\nC%23\\style18\\color=9933CC\r\nC%23\\style18\\eolfill=false\r\nC%23\\style18\\font=Courier New, 12, 0, 0, 0\r\nC%23\\style18\\paper=000000\r\nC%23\\defaultcolor=FFFFFF\r\nC%23\\defaultpaper=000000\r\nC%23\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color=FFFFFF\r\nCSS\\style0\\eolfill=false\r\nCSS\\style0\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper=000000\r\nCSS\\style1\\color=FF6600\r\nCSS\\style1\\eolfill=false\r\nCSS\\style1\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style1\\paper=000000\r\nCSS\\style2\\color=99CC99\r\nCSS\\style2\\eolfill=false\r\nCSS\\style2\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper=000000\r\nCSS\\style3\\color=FF8000\r\nCSS\\style3\\eolfill=false\r\nCSS\\style3\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper=000000\r\nCSS\\style4\\color=FF8080\r\nCSS\\style4\\eolfill=false\r\nCSS\\style4\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper=000000\r\nCSS\\style5\\color=FFFFFF\r\nCSS\\style5\\eolfill=false\r\nCSS\\style5\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper=000000\r\nCSS\\style6\\color=999966\r\nCSS\\style6\\eolfill=false\r\nCSS\\style6\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper=000000\r\nCSS\\style7\\color=FFFFFF\r\nCSS\\style7\\eolfill=false\r\nCSS\\style7\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper=000000\r\nCSS\\style8\\color=FFFFFF\r\nCSS\\style8\\eolfill=false\r\nCSS\\style8\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper=000000\r\nCSS\\style9\\color=9933CC\r\nCSS\\style9\\eolfill=false\r\nCSS\\style9\\font=Courier New, 12, 0, 0, 0\r\nCSS\\style9\\paper=000000\r\nCSS\\style10\\color=339999\r\nCSS\\style10\\eolfill=false\r\nCSS\\style10\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style10\\paper=000000\r\nCSS\\style11\\color=99CC99\r\nCSS\\style11\\eolfill=false\r\nCSS\\style11\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style11\\paper=000000\r\nCSS\\style12\\color=339999\r\nCSS\\style12\\eolfill=false\r\nCSS\\style12\\font=Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper=000000\r\nCSS\\defaultcolor=FFFFFF\r\nCSS\\defaultpaper=000000\r\nCSS\\defaultfont=Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color=FFFFFF\r\nDiff\\style0\\eolfill=false\r\nDiff\\style0\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper=000000\r\nDiff\\style1\\color=9933CC\r\nDiff\\style1\\eolfill=false\r\nDiff\\style1\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper=000000\r\nDiff\\style2\\color=FF6600\r\nDiff\\style2\\eolfill=false\r\nDiff\\style2\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper=000000\r\nDiff\\style3\\color=66FF00\r\nDiff\\style3\\eolfill=false\r\nDiff\\style3\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper=000000\r\nDiff\\style4\\color=FF8000\r\nDiff\\style4\\eolfill=false\r\nDiff\\style4\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper=000000\r\nDiff\\style5\\color=808040\r\nDiff\\style5\\eolfill=false\r\nDiff\\style5\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper=000000\r\nDiff\\style6\\color=339999\r\nDiff\\style6\\eolfill=false\r\nDiff\\style6\\font=Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper=000000\r\nDiff\\defaultcolor=FFFFFF\r\nDiff\\defaultpaper=000000\r\nDiff\\defaultfont=Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color=FFFFFF\r\nFortran\\style0\\eolfill=false\r\nFortran\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper=000000\r\nFortran\\style1\\color=9933CC\r\nFortran\\style1\\eolfill=false\r\nFortran\\style1\\font=Courier New, 12, 0, 0, 0\r\nFortran\\style1\\paper=000000\r\nFortran\\style2\\color=FF8000\r\nFortran\\style2\\eolfill=false\r\nFortran\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper=000000\r\nFortran\\style3\\color=66FF00\r\nFortran\\style3\\eolfill=false\r\nFortran\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper=000000\r\nFortran\\style4\\color=66FF00\r\nFortran\\style4\\eolfill=false\r\nFortran\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper=000000\r\nFortran\\style5\\color=808040\r\nFortran\\style5\\eolfill=false\r\nFortran\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper=000000\r\nFortran\\style6\\color=FFCC00\r\nFortran\\style6\\eolfill=false\r\nFortran\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style6\\paper=000000\r\nFortran\\style7\\color=FFFFFF\r\nFortran\\style7\\eolfill=false\r\nFortran\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper=000000\r\nFortran\\style8\\color=FF6600\r\nFortran\\style8\\eolfill=false\r\nFortran\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper=000000\r\nFortran\\style9\\color=66FF00\r\nFortran\\style9\\eolfill=false\r\nFortran\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper=000000\r\nFortran\\style10\\color=0080C0\r\nFortran\\style10\\eolfill=false\r\nFortran\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper=000000\r\nFortran\\style11\\color=800000\r\nFortran\\style11\\eolfill=false\r\nFortran\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper=000000\r\nFortran\\style12\\color=66FF00\r\nFortran\\style12\\eolfill=false\r\nFortran\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style12\\paper=000000\r\nFortran\\style13\\color=FFFFFF\r\nFortran\\style13\\eolfill=false\r\nFortran\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper=FF80FF\r\nFortran\\style14\\color=9933CC\r\nFortran\\style14\\eolfill=false\r\nFortran\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper=000000\r\nFortran\\defaultcolor=FFFFFF\r\nFortran\\defaultpaper=000000\r\nFortran\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color=FFFFFF\r\nFortran77\\style0\\eolfill=false\r\nFortran77\\style0\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper=000000\r\nFortran77\\style1\\color=9933CC\r\nFortran77\\style1\\eolfill=false\r\nFortran77\\style1\\font=Courier New, 12, 0, 0, 0\r\nFortran77\\style1\\paper=000000\r\nFortran77\\style2\\color=FF8000\r\nFortran77\\style2\\eolfill=false\r\nFortran77\\style2\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper=000000\r\nFortran77\\style3\\color=66FF00\r\nFortran77\\style3\\eolfill=false\r\nFortran77\\style3\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper=000000\r\nFortran77\\style4\\color=66FF00\r\nFortran77\\style4\\eolfill=false\r\nFortran77\\style4\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper=000000\r\nFortran77\\style5\\color=808040\r\nFortran77\\style5\\eolfill=false\r\nFortran77\\style5\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper=000000\r\nFortran77\\style6\\color=FFCC00\r\nFortran77\\style6\\eolfill=false\r\nFortran77\\style6\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style6\\paper=000000\r\nFortran77\\style7\\color=FFFFFF\r\nFortran77\\style7\\eolfill=false\r\nFortran77\\style7\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper=000000\r\nFortran77\\style8\\color=FF6600\r\nFortran77\\style8\\eolfill=false\r\nFortran77\\style8\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper=000000\r\nFortran77\\style9\\color=66FF00\r\nFortran77\\style9\\eolfill=false\r\nFortran77\\style9\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper=000000\r\nFortran77\\style10\\color=0080C0\r\nFortran77\\style10\\eolfill=false\r\nFortran77\\style10\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper=000000\r\nFortran77\\style11\\color=800000\r\nFortran77\\style11\\eolfill=false\r\nFortran77\\style11\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper=000000\r\nFortran77\\style12\\color=66FF00\r\nFortran77\\style12\\eolfill=false\r\nFortran77\\style12\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style12\\paper=000000\r\nFortran77\\style13\\color=FFFFFF\r\nFortran77\\style13\\eolfill=false\r\nFortran77\\style13\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper=FF80FF\r\nFortran77\\style14\\color=9933CC\r\nFortran77\\style14\\eolfill=false\r\nFortran77\\style14\\font=Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper=000000\r\nFortran77\\defaultcolor=FFFFFF\r\nFortran77\\defaultpaper=000000\r\nFortran77\\defaultfont=Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=000000\r\nHTML\\style1\\color=FF6600\r\nHTML\\style1\\eolfill=false\r\nHTML\\style1\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper=000000\r\nHTML\\style2\\color=FFFFFF\r\nHTML\\style2\\eolfill=false\r\nHTML\\style2\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper=000000\r\nHTML\\style3\\color=99CC99\r\nHTML\\style3\\eolfill=false\r\nHTML\\style3\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper=000000\r\nHTML\\style4\\color=FFFFFF\r\nHTML\\style4\\eolfill=false\r\nHTML\\style4\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper=000000\r\nHTML\\style5\\color=99CC99\r\nHTML\\style5\\eolfill=false\r\nHTML\\style5\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper=000000\r\nHTML\\style6\\color=66FF00\r\nHTML\\style6\\eolfill=false\r\nHTML\\style6\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper=000000\r\nHTML\\style7\\color=66FF00\r\nHTML\\style7\\eolfill=false\r\nHTML\\style7\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper=000000\r\nHTML\\style9\\color=9933CC\r\nHTML\\style9\\eolfill=false\r\nHTML\\style9\\font=Courier New, 12, 0, 0, 0\r\nHTML\\style9\\paper=000000\r\nHTML\\style10\\color=FFFFFF\r\nHTML\\style10\\eolfill=false\r\nHTML\\style10\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style10\\paper=000000\r\nHTML\\style11\\color=FF6600\r\nHTML\\style11\\eolfill=false\r\nHTML\\style11\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper=000000\r\nHTML\\style17\\color=FF8000\r\nHTML\\style17\\eolfill=false\r\nHTML\\style17\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper=000000\r\nHTML\\style19\\color=FF8000\r\nHTML\\style19\\eolfill=false\r\nHTML\\style19\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper=000000\r\nHTML\\style21\\color=FFFFFF\r\nHTML\\style21\\eolfill=false\r\nHTML\\style21\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper=707070\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=000000\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=000000\r\nProperties\\style1\\color=9933CC\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 12, 0, 0, 0\r\nProperties\\style1\\paper=000000\r\nProperties\\style2\\color=66FF00\r\nProperties\\style2\\eolfill=false\r\nProperties\\style2\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper=070707\r\nProperties\\style3\\color=99CC99\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=000000\r\nProperties\\style4\\color=99CC99\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=000000\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=000000\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=000000\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color=FFFFFF\r\nJava\\style0\\eolfill=false\r\nJava\\style0\\font=Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper=000000\r\nJava\\style1\\color=9933CC\r\nJava\\style1\\eolfill=false\r\nJava\\style1\\font=Courier New, 12, 0, 0, 0\r\nJava\\style1\\paper=000000\r\nJava\\style2\\color=9933CC\r\nJava\\style2\\eolfill=false\r\nJava\\style2\\font=Courier New, 12, 0, 0, 0\r\nJava\\style2\\paper=000000\r\nJava\\style3\\color=9933CC\r\nJava\\style3\\eolfill=false\r\nJava\\style3\\font=Courier New, 12, 0, 0, 0\r\nJava\\style3\\paper=000000\r\nJava\\style4\\color=FF8000\r\nJava\\style4\\eolfill=false\r\nJava\\style4\\font=Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper=000000\r\nJava\\style5\\color=FF6600\r\nJava\\style5\\eolfill=false\r\nJava\\style5\\font=Courier New, 14, 1, 0, 0\r\nJava\\style5\\paper=000000\r\nJava\\style6\\color=66FF00\r\nJava\\style6\\eolfill=false\r\nJava\\style6\\font=Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper=000000\r\nJava\\style7\\color=66FF00\r\nJava\\style7\\eolfill=false\r\nJava\\style7\\font=Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper=000000\r\nJava\\style10\\color=FFCC00\r\nJava\\style10\\eolfill=false\r\nJava\\style10\\font=Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper=000000\r\nJava\\style11\\color=FFFFFF\r\nJava\\style11\\eolfill=false\r\nJava\\style11\\font=Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper=000000\r\nJava\\style13\\color=FFFFFF\r\nJava\\style13\\eolfill=false\r\nJava\\style13\\font=Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper=000000\r\nJava\\style14\\color=FFFFFF\r\nJava\\style14\\eolfill=false\r\nJava\\style14\\font=Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper=000000\r\nJava\\style15\\color=9933CC\r\nJava\\style15\\eolfill=false\r\nJava\\style15\\font=Courier New, 12, 0, 0, 0\r\nJava\\style15\\paper=000000\r\nJava\\style16\\color=66FF00\r\nJava\\style16\\eolfill=false\r\nJava\\style16\\font=Courier New, 14, 1, 0, 0\r\nJava\\style16\\paper=000000\r\nJava\\style17\\color=9933CC\r\nJava\\style17\\eolfill=false\r\nJava\\style17\\font=Courier New, 12, 0, 0, 0\r\nJava\\style17\\paper=000000\r\nJava\\style18\\color=9933CC\r\nJava\\style18\\eolfill=false\r\nJava\\style18\\font=Courier New, 12, 0, 0, 0\r\nJava\\style18\\paper=000000\r\nJava\\defaultcolor=FFFFFF\r\nJava\\defaultpaper=000000\r\nJava\\defaultfont=Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color=FFFFFF\r\nJavaScript\\style0\\eolfill=false\r\nJavaScript\\style0\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper=000000\r\nJavaScript\\style20\\color=FFFF00\r\nJavaScript\\style20\\eolfill=false\r\nJavaScript\\style20\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper=000000\r\nJavaScript\\style41\\color=FFFFFF\r\nJavaScript\\style41\\eolfill=false\r\nJavaScript\\style41\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style41\\paper=000000\r\nJavaScript\\style42\\color=9933CC\r\nJavaScript\\style42\\eolfill=false\r\nJavaScript\\style42\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style42\\paper=000000\r\nJavaScript\\style43\\color=9933CC\r\nJavaScript\\style43\\eolfill=false\r\nJavaScript\\style43\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style43\\paper=000000\r\nJavaScript\\style44\\color=772CB7\r\nJavaScript\\style44\\eolfill=false\r\nJavaScript\\style44\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style44\\paper=070707\r\nJavaScript\\style45\\color=99CC99\r\nJavaScript\\style45\\eolfill=false\r\nJavaScript\\style45\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style45\\paper=000000\r\nJavaScript\\style46\\color=FF6600\r\nJavaScript\\style46\\eolfill=false\r\nJavaScript\\style46\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style46\\paper=000000\r\nJavaScript\\style47\\color=FFCC00\r\nJavaScript\\style47\\eolfill=false\r\nJavaScript\\style47\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style47\\paper=000000\r\nJavaScript\\style48\\color=FFFF00\r\nJavaScript\\style48\\eolfill=false\r\nJavaScript\\style48\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style48\\paper=000000\r\nJavaScript\\style49\\color=FFFF00\r\nJavaScript\\style49\\eolfill=false\r\nJavaScript\\style49\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style49\\paper=000000\r\nJavaScript\\style50\\color=999966\r\nJavaScript\\style50\\eolfill=false\r\nJavaScript\\style50\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style50\\paper=000000\r\nJavaScript\\style51\\color=CCCCCC\r\nJavaScript\\style51\\eolfill=false\r\nJavaScript\\style51\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style51\\paper=000000\r\nJavaScript\\style52\\color=339999\r\nJavaScript\\style52\\eolfill=false\r\nJavaScript\\style52\\font=Courier New, 14, 0, 0, 0\r\nJavaScript\\style52\\paper=000000\r\nJavaScript\\defaultcolor=FFFFFF\r\nJavaScript\\defaultpaper=000000\r\nJavaScript\\defaultfont=Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color=FFFFFF\r\nJSON\\style0\\eolfill=false\r\nJSON\\style0\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper=000000\r\nJSON\\style1\\color=FF8000\r\nJSON\\style1\\eolfill=false\r\nJSON\\style1\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper=000000\r\nJSON\\style2\\color=DCDCCC\r\nJSON\\style2\\eolfill=false\r\nJSON\\style2\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper=000000\r\nJSON\\style3\\color=808080\r\nJSON\\style3\\eolfill=false\r\nJSON\\style3\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper=000000\r\nJSON\\style4\\color=8CD0D3\r\nJSON\\style4\\eolfill=false\r\nJSON\\style4\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper=000000\r\nJSON\\style5\\color=ffaa00\r\nJSON\\style5\\eolfill=false\r\nJSON\\style5\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper=000000\r\nJSON\\style6\\color=008000\r\nJSON\\style6\\eolfill=false\r\nJSON\\style6\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style6\\paper=000000\r\nJSON\\style7\\color=008000\r\nJSON\\style7\\eolfill=false\r\nJSON\\style7\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper=000000\r\nJSON\\style8\\color=E3CEAB\r\nJSON\\style8\\eolfill=false\r\nJSON\\style8\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper=000000\r\nJSON\\style9\\color=FFFF80\r\nJSON\\style9\\eolfill=false\r\nJSON\\style9\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper=000000\r\nJSON\\style10\\color=ffaa00\r\nJSON\\style10\\eolfill=false\r\nJSON\\style10\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper=000000\r\nJSON\\style11\\color=18AF8A\r\nJSON\\style11\\eolfill=false\r\nJSON\\style11\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper=000000\r\nJSON\\style12\\color=FF0000\r\nJSON\\style12\\eolfill=false\r\nJSON\\style12\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper=000000\r\nJSON\\style13\\color=FFFF80\r\nJSON\\style13\\eolfill=false\r\nJSON\\style13\\font=Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper=FF0000\r\nJSON\\defaultcolor=FFFFFF\r\nJSON\\defaultpaper=000000\r\nJSON\\defaultfont=Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color=FFFFFF\r\nLua\\style0\\eolfill=false\r\nLua\\style0\\font=Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper=000000\r\nLua\\style1\\color=9933CC\r\nLua\\style1\\eolfill=false\r\nLua\\style1\\font=Courier New, 12, 0, 0, 0\r\nLua\\style1\\paper=000000\r\nLua\\style2\\color=9933CC\r\nLua\\style2\\eolfill=false\r\nLua\\style2\\font=Courier New, 12, 0, 0, 0\r\nLua\\style2\\paper=000000\r\nLua\\style3\\color=9933CC\r\nLua\\style3\\eolfill=false\r\nLua\\style3\\font=Courier New, 12, 0, 0, 0\r\nLua\\style3\\paper=000000\r\nLua\\style4\\color=FF8000\r\nLua\\style4\\eolfill=false\r\nLua\\style4\\font=Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper=000000\r\nLua\\style5\\color=FF6600\r\nLua\\style5\\eolfill=false\r\nLua\\style5\\font=Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper=000000\r\nLua\\style6\\color=66FF00\r\nLua\\style6\\eolfill=false\r\nLua\\style6\\font=Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper=000000\r\nLua\\style7\\color=66FF00\r\nLua\\style7\\eolfill=false\r\nLua\\style7\\font=Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper=000000\r\nLua\\style8\\color=95004A\r\nLua\\style8\\eolfill=false\r\nLua\\style8\\font=Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper=000000\r\nLua\\style9\\color=EDF8F9\r\nLua\\style9\\eolfill=false\r\nLua\\style9\\font=Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper=000000\r\nLua\\style10\\color=FFCC00\r\nLua\\style10\\eolfill=false\r\nLua\\style10\\font=Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper=000000\r\nLua\\style13\\color=0080C0\r\nLua\\style13\\eolfill=false\r\nLua\\style13\\font=Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper=000000\r\nLua\\style14\\color=66FF00\r\nLua\\style14\\eolfill=false\r\nLua\\style14\\font=Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper=000000\r\nLua\\style15\\color=0000A0\r\nLua\\style15\\eolfill=false\r\nLua\\style15\\font=Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper=000000\r\nLua\\defaultcolor=FFFFFF\r\nLua\\defaultpaper=000000\r\nLua\\defaultfont=Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color=FFFFFF\r\nMakefile\\style0\\eolfill=false\r\nMakefile\\style0\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper=000000\r\nMakefile\\style1\\color=9933CC\r\nMakefile\\style1\\eolfill=false\r\nMakefile\\style1\\font=Courier New, 12, 0, 0, 0\r\nMakefile\\style1\\paper=000000\r\nMakefile\\style2\\color=FFFF00\r\nMakefile\\style2\\eolfill=false\r\nMakefile\\style2\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper=000000\r\nMakefile\\style3\\color=FF6600\r\nMakefile\\style3\\eolfill=false\r\nMakefile\\style3\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper=000000\r\nMakefile\\style4\\color=FFFFFF\r\nMakefile\\style4\\eolfill=false\r\nMakefile\\style4\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper=000000\r\nMakefile\\style5\\color=99CC99\r\nMakefile\\style5\\eolfill=false\r\nMakefile\\style5\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper=000000\r\nMakefile\\style9\\color=FFFFFF\r\nMakefile\\style9\\eolfill=false\r\nMakefile\\style9\\font=Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper=000000\r\nMakefile\\defaultcolor=FFFFFF\r\nMakefile\\defaultpaper=000000\r\nMakefile\\defaultfont=Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color=FFFFFF\r\nMatlab\\style0\\eolfill=false\r\nMatlab\\style0\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper=000000\r\nMatlab\\style1\\color=9933CC\r\nMatlab\\style1\\eolfill=false\r\nMatlab\\style1\\font=Courier New, 12, 0, 0, 0\r\nMatlab\\style1\\paper=000000\r\nMatlab\\style2\\color=66FF00\r\nMatlab\\style2\\eolfill=false\r\nMatlab\\style2\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper=000000\r\nMatlab\\style3\\color=FF8000\r\nMatlab\\style3\\eolfill=false\r\nMatlab\\style3\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper=000000\r\nMatlab\\style4\\color=FF6600\r\nMatlab\\style4\\eolfill=false\r\nMatlab\\style4\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper=000000\r\nMatlab\\style5\\color=66FF00\r\nMatlab\\style5\\eolfill=false\r\nMatlab\\style5\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper=000000\r\nMatlab\\style6\\color=FFCC00\r\nMatlab\\style6\\eolfill=false\r\nMatlab\\style6\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper=000000\r\nMatlab\\style7\\color=FFFFFF\r\nMatlab\\style7\\eolfill=false\r\nMatlab\\style7\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper=000000\r\nMatlab\\style8\\color=66FF00\r\nMatlab\\style8\\eolfill=false\r\nMatlab\\style8\\font=Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper=000000\r\nMatlab\\defaultcolor=FFFFFF\r\nMatlab\\defaultpaper=000000\r\nMatlab\\defaultfont=Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color=FFFFFF\r\nNSIS\\style0\\eolfill=false\r\nNSIS\\style0\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper=000000\r\nNSIS\\style1\\color=9933CC\r\nNSIS\\style1\\eolfill=false\r\nNSIS\\style1\\font=Courier New, 12, 0, 0, 0\r\nNSIS\\style1\\paper=000000\r\nNSIS\\style2\\color=66FF00\r\nNSIS\\style2\\eolfill=false\r\nNSIS\\style2\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper=EEEEEE\r\nNSIS\\style3\\color=FFFF80\r\nNSIS\\style3\\eolfill=false\r\nNSIS\\style3\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper=C0C0C0\r\nNSIS\\style4\\color=FFFFFF\r\nNSIS\\style4\\eolfill=false\r\nNSIS\\style4\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper=C0C0C0\r\nNSIS\\style5\\color=FF6600\r\nNSIS\\style5\\eolfill=false\r\nNSIS\\style5\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper=000000\r\nNSIS\\style6\\color=FF8000\r\nNSIS\\style6\\eolfill=false\r\nNSIS\\style6\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper=000000\r\nNSIS\\style7\\color=99CC99\r\nNSIS\\style7\\eolfill=false\r\nNSIS\\style7\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style7\\paper=FFFF80\r\nNSIS\\style8\\color=FDFFEC\r\nNSIS\\style8\\eolfill=false\r\nNSIS\\style8\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper=FF80FF\r\nNSIS\\style9\\color=FF6600\r\nNSIS\\style9\\eolfill=false\r\nNSIS\\style9\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style9\\paper=000000\r\nNSIS\\style10\\color=FFFFFF\r\nNSIS\\style10\\eolfill=false\r\nNSIS\\style10\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style10\\paper=000000\r\nNSIS\\style11\\color=808040\r\nNSIS\\style11\\eolfill=false\r\nNSIS\\style11\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style11\\paper=000000\r\nNSIS\\style12\\color=800000\r\nNSIS\\style12\\eolfill=false\r\nNSIS\\style12\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style12\\paper=000000\r\nNSIS\\style13\\color=FF8000\r\nNSIS\\style13\\eolfill=false\r\nNSIS\\style13\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper=EFEFEF\r\nNSIS\\style14\\color=99CC99\r\nNSIS\\style14\\eolfill=false\r\nNSIS\\style14\\font=Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper=000000\r\nNSIS\\defaultcolor=FFFFFF\r\nNSIS\\defaultpaper=000000\r\nNSIS\\defaultfont=Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=9933CC\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=9933CC\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=9933CC\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=EDF8F9\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=66FF00\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=9933CC\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=9933CC\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=9933CC\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\style19\\color=A001D6\r\nC%2B%2B\\style19\\eolfill=false\r\nC%2B%2B\\style19\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper=000000\r\nC%2B%2B\\style20\\color=95004A\r\nC%2B%2B\\style20\\eolfill=false\r\nC%2B%2B\\style20\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color=FFFFFF\r\nPascal\\style0\\eolfill=false\r\nPascal\\style0\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper=000000\r\nPascal\\style1\\color=FFFFFF\r\nPascal\\style1\\eolfill=false\r\nPascal\\style1\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper=000000\r\nPascal\\style2\\color=9933CC\r\nPascal\\style2\\eolfill=false\r\nPascal\\style2\\font=Courier New, 12, 0, 0, 0\r\nPascal\\style2\\paper=000000\r\nPascal\\style3\\color=9933CC\r\nPascal\\style3\\eolfill=false\r\nPascal\\style3\\font=Courier New, 12, 0, 0, 0\r\nPascal\\style3\\paper=707070\r\nPascal\\style4\\color=9933CC\r\nPascal\\style4\\eolfill=false\r\nPascal\\style4\\font=Courier New, 12, 0, 0, 0\r\nPascal\\style4\\paper=000000\r\nPascal\\style5\\color=EDF8F9\r\nPascal\\style5\\eolfill=false\r\nPascal\\style5\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper=000000\r\nPascal\\style7\\color=FF8000\r\nPascal\\style7\\eolfill=false\r\nPascal\\style7\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper=000000\r\nPascal\\style9\\color=FF6600\r\nPascal\\style9\\eolfill=false\r\nPascal\\style9\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style9\\paper=000000\r\nPascal\\style12\\color=66FF00\r\nPascal\\style12\\eolfill=false\r\nPascal\\style12\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper=000000\r\nPascal\\style13\\color=FFCC00\r\nPascal\\style13\\eolfill=false\r\nPascal\\style13\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style13\\paper=000000\r\nPascal\\style14\\color=FFFFFF\r\nPascal\\style14\\eolfill=false\r\nPascal\\style14\\font=Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper=000000\r\nPascal\\defaultcolor=FFFFFF\r\nPascal\\defaultpaper=000000\r\nPascal\\defaultfont=Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color=FFFFFF\r\nPerl\\style0\\eolfill=false\r\nPerl\\style0\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper=000000\r\nPerl\\style1\\color=FF80C0\r\nPerl\\style1\\eolfill=false\r\nPerl\\style1\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper=000000\r\nPerl\\style2\\color=9933CC\r\nPerl\\style2\\eolfill=false\r\nPerl\\style2\\font=Courier New, 12, 0, 0, 0\r\nPerl\\style2\\paper=000000\r\nPerl\\style3\\color=FFFFFF\r\nPerl\\style3\\eolfill=false\r\nPerl\\style3\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style3\\paper=000000\r\nPerl\\style4\\color=99CC99\r\nPerl\\style4\\eolfill=false\r\nPerl\\style4\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper=000000\r\nPerl\\style5\\color=FF6600\r\nPerl\\style5\\eolfill=false\r\nPerl\\style5\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper=000000\r\nPerl\\style6\\color=66FF00\r\nPerl\\style6\\eolfill=false\r\nPerl\\style6\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper=000000\r\nPerl\\style7\\color=66FF00\r\nPerl\\style7\\eolfill=false\r\nPerl\\style7\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper=000000\r\nPerl\\style8\\color=EDF8F9\r\nPerl\\style8\\eolfill=false\r\nPerl\\style8\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style8\\paper=000000\r\nPerl\\style9\\color=EDF8F9\r\nPerl\\style9\\eolfill=false\r\nPerl\\style9\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style9\\paper=000000\r\nPerl\\style10\\color=FFCC00\r\nPerl\\style10\\eolfill=false\r\nPerl\\style10\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper=000000\r\nPerl\\style12\\color=FF8000\r\nPerl\\style12\\eolfill=false\r\nPerl\\style12\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper=000000\r\nPerl\\style13\\color=CF34CF\r\nPerl\\style13\\eolfill=false\r\nPerl\\style13\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper=000000\r\nPerl\\style14\\color=999966\r\nPerl\\style14\\eolfill=false\r\nPerl\\style14\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper=000000\r\nPerl\\style15\\color=99CC99\r\nPerl\\style15\\eolfill=false\r\nPerl\\style15\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper=000000\r\nPerl\\style17\\color=8080FF\r\nPerl\\style17\\eolfill=false\r\nPerl\\style17\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper=F8FEDE\r\nPerl\\style18\\color=999966\r\nPerl\\style18\\eolfill=false\r\nPerl\\style18\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper=FFEEEC\r\nPerl\\style19\\color=FF8000\r\nPerl\\style19\\eolfill=false\r\nPerl\\style19\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style19\\paper=000000\r\nPerl\\style20\\color=FFFF00\r\nPerl\\style20\\eolfill=false\r\nPerl\\style20\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper=000000\r\nPerl\\style21\\color=66FF00\r\nPerl\\style21\\eolfill=false\r\nPerl\\style21\\font=Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper=000000\r\nPerl\\defaultcolor=FFFFFF\r\nPerl\\defaultpaper=000000\r\nPerl\\defaultfont=Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color=FFFFFF\r\nHTML\\style0\\eolfill=false\r\nHTML\\style0\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style0\\paper=000000\r\nHTML\\style18\\color=99CC99\r\nHTML\\style18\\eolfill=false\r\nHTML\\style18\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper=000000\r\nHTML\\style118\\color=FFFFFF\r\nHTML\\style118\\eolfill=false\r\nHTML\\style118\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper=000000\r\nHTML\\style119\\color=66FF00\r\nHTML\\style119\\eolfill=false\r\nHTML\\style119\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper=000000\r\nHTML\\style120\\color=66FF00\r\nHTML\\style120\\eolfill=false\r\nHTML\\style120\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper=000000\r\nHTML\\style121\\color=FF6600\r\nHTML\\style121\\eolfill=false\r\nHTML\\style121\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style121\\paper=000000\r\nHTML\\style122\\color=FF8000\r\nHTML\\style122\\eolfill=false\r\nHTML\\style122\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper=000000\r\nHTML\\style123\\color=FFCC00\r\nHTML\\style123\\eolfill=false\r\nHTML\\style123\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style123\\paper=000000\r\nHTML\\style124\\color=9933CC\r\nHTML\\style124\\eolfill=false\r\nHTML\\style124\\font=Courier New, 12, 0, 0, 0\r\nHTML\\style124\\paper=000000\r\nHTML\\style125\\color=9933CC\r\nHTML\\style125\\eolfill=false\r\nHTML\\style125\\font=Courier New, 12, 0, 0, 0\r\nHTML\\style125\\paper=000000\r\nHTML\\style126\\color=66FF00\r\nHTML\\style126\\eolfill=false\r\nHTML\\style126\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style126\\paper=000000\r\nHTML\\style127\\color=66FF00\r\nHTML\\style127\\eolfill=false\r\nHTML\\style127\\font=Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper=000000\r\nHTML\\defaultcolor=FFFFFF\r\nHTML\\defaultpaper=000000\r\nHTML\\defaultfont=Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color=FFFFFF\r\nProperties\\style0\\eolfill=false\r\nProperties\\style0\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper=000000\r\nProperties\\style1\\color=9933CC\r\nProperties\\style1\\eolfill=false\r\nProperties\\style1\\font=Courier New, 12, 0, 0, 0\r\nProperties\\style1\\paper=000000\r\nProperties\\style3\\color=99CC99\r\nProperties\\style3\\eolfill=false\r\nProperties\\style3\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper=000000\r\nProperties\\style4\\color=99CC99\r\nProperties\\style4\\eolfill=false\r\nProperties\\style4\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper=000000\r\nProperties\\style5\\color=ffff00\r\nProperties\\style5\\eolfill=false\r\nProperties\\style5\\font=Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper=000000\r\nProperties\\defaultcolor=FFFFFF\r\nProperties\\defaultpaper=000000\r\nProperties\\defaultfont=Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color=FFFFFF\r\nPython\\style0\\eolfill=false\r\nPython\\style0\\font=Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper=000000\r\nPython\\style1\\color=9933CC\r\nPython\\style1\\eolfill=false\r\nPython\\style1\\font=Courier New, 12, 0, 0, 0\r\nPython\\style1\\paper=000000\r\nPython\\style2\\color=99CC99\r\nPython\\style2\\eolfill=false\r\nPython\\style2\\font=Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper=000000\r\nPython\\style3\\color=66FF00\r\nPython\\style3\\eolfill=false\r\nPython\\style3\\font=Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper=000000\r\nPython\\style4\\color=66FF00\r\nPython\\style4\\eolfill=false\r\nPython\\style4\\font=Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper=000000\r\nPython\\style5\\color=FF6600\r\nPython\\style5\\eolfill=false\r\nPython\\style5\\font=Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper=000000\r\nPython\\style6\\color=FF8000\r\nPython\\style6\\eolfill=false\r\nPython\\style6\\font=Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper=000000\r\nPython\\style7\\color=FFFFFF\r\nPython\\style7\\eolfill=false\r\nPython\\style7\\font=Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper=000000\r\nPython\\style8\\color=FFFFFF\r\nPython\\style8\\eolfill=false\r\nPython\\style8\\font=Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper=000000\r\nPython\\style9\\color=FF00FF\r\nPython\\style9\\eolfill=false\r\nPython\\style9\\font=Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper=000000\r\nPython\\style10\\color=FFCC00\r\nPython\\style10\\eolfill=false\r\nPython\\style10\\font=Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper=000000\r\nPython\\style11\\color=FFFFFF\r\nPython\\style11\\eolfill=false\r\nPython\\style11\\font=Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper=000000\r\nPython\\style12\\color=FFFF00\r\nPython\\style12\\eolfill=false\r\nPython\\style12\\font=Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper=000000\r\nPython\\style16\\color=66FF00\r\nPython\\style16\\eolfill=false\r\nPython\\style16\\font=Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper=000000\r\nPython\\style17\\color=66FF00\r\nPython\\style17\\eolfill=false\r\nPython\\style17\\font=Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper=000000\r\nPython\\style18\\color=FF8000\r\nPython\\style18\\eolfill=false\r\nPython\\style18\\font=Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper=000000\r\nPython\\style19\\color=FFFFFF\r\nPython\\style19\\eolfill=false\r\nPython\\style19\\font=Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper=000000\r\nPython\\defaultcolor=FFFFFF\r\nPython\\defaultpaper=000000\r\nPython\\defaultfont=Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color=FFFFFF\r\nC%2B%2B\\style0\\eolfill=false\r\nC%2B%2B\\style0\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper=000000\r\nC%2B%2B\\style1\\color=9933CC\r\nC%2B%2B\\style1\\eolfill=false\r\nC%2B%2B\\style1\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style1\\paper=000000\r\nC%2B%2B\\style2\\color=9933CC\r\nC%2B%2B\\style2\\eolfill=false\r\nC%2B%2B\\style2\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style2\\paper=000000\r\nC%2B%2B\\style3\\color=9933CC\r\nC%2B%2B\\style3\\eolfill=false\r\nC%2B%2B\\style3\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style3\\paper=000000\r\nC%2B%2B\\style4\\color=FF8000\r\nC%2B%2B\\style4\\eolfill=false\r\nC%2B%2B\\style4\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper=000000\r\nC%2B%2B\\style5\\color=FF6600\r\nC%2B%2B\\style5\\eolfill=false\r\nC%2B%2B\\style5\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper=000000\r\nC%2B%2B\\style6\\color=66FF00\r\nC%2B%2B\\style6\\eolfill=false\r\nC%2B%2B\\style6\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper=000000\r\nC%2B%2B\\style7\\color=66FF00\r\nC%2B%2B\\style7\\eolfill=false\r\nC%2B%2B\\style7\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper=000000\r\nC%2B%2B\\style9\\color=EDF8F9\r\nC%2B%2B\\style9\\eolfill=false\r\nC%2B%2B\\style9\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper=000000\r\nC%2B%2B\\style10\\color=FFCC00\r\nC%2B%2B\\style10\\eolfill=false\r\nC%2B%2B\\style10\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper=000000\r\nC%2B%2B\\style11\\color=FFFFFF\r\nC%2B%2B\\style11\\eolfill=false\r\nC%2B%2B\\style11\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper=000000\r\nC%2B%2B\\style13\\color=FFFFFF\r\nC%2B%2B\\style13\\eolfill=false\r\nC%2B%2B\\style13\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper=000000\r\nC%2B%2B\\style14\\color=FFFFFF\r\nC%2B%2B\\style14\\eolfill=false\r\nC%2B%2B\\style14\\font=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper=000000\r\nC%2B%2B\\style15\\color=9933CC\r\nC%2B%2B\\style15\\eolfill=false\r\nC%2B%2B\\style15\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style15\\paper=000000\r\nC%2B%2B\\style16\\color=66FF00\r\nC%2B%2B\\style16\\eolfill=false\r\nC%2B%2B\\style16\\font=Courier New, 14, 1, 0, 0\r\nC%2B%2B\\style16\\paper=000000\r\nC%2B%2B\\style17\\color=9933CC\r\nC%2B%2B\\style17\\eolfill=false\r\nC%2B%2B\\style17\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style17\\paper=000000\r\nC%2B%2B\\style18\\color=9933CC\r\nC%2B%2B\\style18\\eolfill=false\r\nC%2B%2B\\style18\\font=Courier New, 12, 0, 0, 0\r\nC%2B%2B\\style18\\paper=000000\r\nC%2B%2B\\defaultcolor=FFFFFF\r\nC%2B%2B\\defaultpaper=000000\r\nC%2B%2B\\defaultfont=Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color=FFFFFF\r\nRuby\\style0\\eolfill=false\r\nRuby\\style0\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper=000000\r\nRuby\\style1\\color=FFFFFF\r\nRuby\\style1\\eolfill=false\r\nRuby\\style1\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper=000000\r\nRuby\\style2\\color=9933CC\r\nRuby\\style2\\eolfill=false\r\nRuby\\style2\\font=Courier New, 12, 0, 0, 0\r\nRuby\\style2\\paper=000000\r\nRuby\\style3\\color=004000\r\nRuby\\style3\\eolfill=false\r\nRuby\\style3\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper=C0FFC0\r\nRuby\\style4\\color=FF8000\r\nRuby\\style4\\eolfill=false\r\nRuby\\style4\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper=000000\r\nRuby\\style5\\color=FF6600\r\nRuby\\style5\\eolfill=false\r\nRuby\\style5\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper=000000\r\nRuby\\style6\\color=66FF00\r\nRuby\\style6\\eolfill=false\r\nRuby\\style6\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper=000000\r\nRuby\\style7\\color=808000\r\nRuby\\style7\\eolfill=false\r\nRuby\\style7\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper=000000\r\nRuby\\style8\\color=0080C0\r\nRuby\\style8\\eolfill=false\r\nRuby\\style8\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper=000000\r\nRuby\\style9\\color=8080FF\r\nRuby\\style9\\eolfill=false\r\nRuby\\style9\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper=FFFFCC\r\nRuby\\style10\\color=FFCC00\r\nRuby\\style10\\eolfill=false\r\nRuby\\style10\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper=000000\r\nRuby\\style11\\color=FFFFFF\r\nRuby\\style11\\eolfill=false\r\nRuby\\style11\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper=000000\r\nRuby\\style12\\color=339999\r\nRuby\\style12\\eolfill=false\r\nRuby\\style12\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper=000000\r\nRuby\\style13\\color=FFCC00\r\nRuby\\style13\\eolfill=false\r\nRuby\\style13\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper=000000\r\nRuby\\style14\\color=FFFFFF\r\nRuby\\style14\\eolfill=false\r\nRuby\\style14\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper=000000\r\nRuby\\style15\\color=EDF8F9\r\nRuby\\style15\\eolfill=false\r\nRuby\\style15\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper=000000\r\nRuby\\style16\\color=FFFFFF\r\nRuby\\style16\\eolfill=false\r\nRuby\\style16\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper=000000\r\nRuby\\style17\\color=FFFFFF\r\nRuby\\style17\\eolfill=false\r\nRuby\\style17\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper=000000\r\nRuby\\style18\\color=FFFF00\r\nRuby\\style18\\eolfill=false\r\nRuby\\style18\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper=A08080\r\nRuby\\style19\\color=600000\r\nRuby\\style19\\eolfill=false\r\nRuby\\style19\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper=FFF0D8\r\nRuby\\style24\\color=66FF00\r\nRuby\\style24\\eolfill=false\r\nRuby\\style24\\font=Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper=000000\r\nRuby\\defaultcolor=FFFFFF\r\nRuby\\defaultpaper=000000\r\nRuby\\defaultfont=Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color=FFFFFF\r\nSQL\\style0\\eolfill=false\r\nSQL\\style0\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper=000000\r\nSQL\\style1\\color=9933CC\r\nSQL\\style1\\eolfill=false\r\nSQL\\style1\\font=Courier New, 12, 0, 0, 0\r\nSQL\\style1\\paper=000000\r\nSQL\\style2\\color=9933CC\r\nSQL\\style2\\eolfill=false\r\nSQL\\style2\\font=Courier New, 12, 0, 0, 0\r\nSQL\\style2\\paper=000000\r\nSQL\\style3\\color=9933CC\r\nSQL\\style3\\eolfill=false\r\nSQL\\style3\\font=Courier New, 12, 0, 0, 0\r\nSQL\\style3\\paper=000000\r\nSQL\\style4\\color=FF8000\r\nSQL\\style4\\eolfill=false\r\nSQL\\style4\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper=000000\r\nSQL\\style5\\color=FF6600\r\nSQL\\style5\\eolfill=false\r\nSQL\\style5\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper=000000\r\nSQL\\style6\\color=66FF00\r\nSQL\\style6\\eolfill=false\r\nSQL\\style6\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper=000000\r\nSQL\\style7\\color=66FF00\r\nSQL\\style7\\eolfill=false\r\nSQL\\style7\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper=000000\r\nSQL\\style10\\color=FFCC00\r\nSQL\\style10\\eolfill=false\r\nSQL\\style10\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper=000000\r\nSQL\\style16\\color=FF6600\r\nSQL\\style16\\eolfill=false\r\nSQL\\style16\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style16\\paper=000000\r\nSQL\\style19\\color=FF8080\r\nSQL\\style19\\eolfill=false\r\nSQL\\style19\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper=000000\r\nSQL\\style24\\color=66FF00\r\nSQL\\style24\\eolfill=false\r\nSQL\\style24\\font=Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper=000000\r\nSQL\\defaultcolor=FFFFFF\r\nSQL\\defaultpaper=000000\r\nSQL\\defaultfont=Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color=FFFFFF\r\nTCL\\style0\\eolfill=false\r\nTCL\\style0\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper=000000\r\nTCL\\style1\\color=9933CC\r\nTCL\\style1\\eolfill=false\r\nTCL\\style1\\font=Courier New, 12, 0, 0, 0\r\nTCL\\style1\\paper=000000\r\nTCL\\style2\\color=9933CC\r\nTCL\\style2\\eolfill=false\r\nTCL\\style2\\font=Courier New, 12, 0, 0, 0\r\nTCL\\style2\\paper=000000\r\nTCL\\style3\\color=9933CC\r\nTCL\\style3\\eolfill=false\r\nTCL\\style3\\font=Courier New, 12, 0, 0, 0\r\nTCL\\style3\\paper=000000\r\nTCL\\style4\\color=FF8000\r\nTCL\\style4\\eolfill=false\r\nTCL\\style4\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style4\\paper=000000\r\nTCL\\style5\\color=FF6600\r\nTCL\\style5\\eolfill=false\r\nTCL\\style5\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper=000000\r\nTCL\\style6\\color=66FF00\r\nTCL\\style6\\eolfill=false\r\nTCL\\style6\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style6\\paper=000000\r\nTCL\\style7\\color=66FF00\r\nTCL\\style7\\eolfill=false\r\nTCL\\style7\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper=000000\r\nTCL\\style9\\color=EDF8F9\r\nTCL\\style9\\eolfill=false\r\nTCL\\style9\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper=000000\r\nTCL\\style10\\color=FFCC00\r\nTCL\\style10\\eolfill=false\r\nTCL\\style10\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper=000000\r\nTCL\\style11\\color=FFFFFF\r\nTCL\\style11\\eolfill=false\r\nTCL\\style11\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style11\\paper=000000\r\nTCL\\style13\\color=FFFFFF\r\nTCL\\style13\\eolfill=false\r\nTCL\\style13\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style13\\paper=000000\r\nTCL\\style14\\color=FFFFFF\r\nTCL\\style14\\eolfill=false\r\nTCL\\style14\\font=Courier New, 14, 0, 0, 0\r\nTCL\\style14\\paper=000000\r\nTCL\\style15\\color=9933CC\r\nTCL\\style15\\eolfill=false\r\nTCL\\style15\\font=Courier New, 12, 0, 0, 0\r\nTCL\\style15\\paper=000000\r\nTCL\\style16\\color=66FF00\r\nTCL\\style16\\eolfill=false\r\nTCL\\style16\\font=Courier New, 14, 1, 0, 0\r\nTCL\\style16\\paper=000000\r\nTCL\\style17\\color=9933CC\r\nTCL\\style17\\eolfill=false\r\nTCL\\style17\\font=Courier New, 12, 0, 0, 0\r\nTCL\\style17\\paper=000000\r\nTCL\\style18\\color=9933CC\r\nTCL\\style18\\eolfill=false\r\nTCL\\style18\\font=Courier New, 12, 0, 0, 0\r\nTCL\\style18\\paper=000000\r\nTCL\\defaultcolor=FFFFFF\r\nTCL\\defaultpaper=000000\r\nTCL\\defaultfont=Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color=FFFFFF\r\nTXT\\style0\\eolfill=false\r\nTXT\\style0\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper=000000\r\nTXT\\style1\\color=FFFFFF\r\nTXT\\style1\\eolfill=false\r\nTXT\\style1\\font=Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper=000000\r\nTXT\\style2\\color=66FF00\r\nTXT\\style2\\eolfill=false\r\nTXT\\style2\\font=Courier New, 14, 1, 0, 0\r\nTXT\\style2\\paper=000000\r\nTXT\\defaultcolor=FFFFFF\r\nTXT\\defaultpaper=000000\r\nTXT\\defaultfont=Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color=FFFFFF\r\nVB\\style0\\eolfill=false\r\nVB\\style0\\font=Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper=000000\r\nVB\\style1\\color=9933CC\r\nVB\\style1\\eolfill=false\r\nVB\\style1\\font=Courier New, 12, 0, 0, 0\r\nVB\\style1\\paper=000000\r\nVB\\style2\\color=99CC99\r\nVB\\style2\\eolfill=false\r\nVB\\style2\\font=Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper=000000\r\nVB\\style3\\color=FF6600\r\nVB\\style3\\eolfill=false\r\nVB\\style3\\font=Courier New, 14, 0, 0, 0\r\nVB\\style3\\paper=000000\r\nVB\\style4\\color=66FF00\r\nVB\\style4\\eolfill=false\r\nVB\\style4\\font=Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper=000000\r\nVB\\style5\\color=99CC99\r\nVB\\style5\\eolfill=false\r\nVB\\style5\\font=Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper=000000\r\nVB\\style6\\color=FFFFFF\r\nVB\\style6\\eolfill=false\r\nVB\\style6\\font=Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper=000000\r\nVB\\style7\\color=FFFFFF\r\nVB\\style7\\eolfill=false\r\nVB\\style7\\font=Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper=000000\r\nVB\\style8\\color=00FF00\r\nVB\\style8\\eolfill=false\r\nVB\\style8\\font=Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper=000000\r\nVB\\defaultcolor=FFFFFF\r\nVB\\defaultpaper=000000\r\nVB\\defaultfont=Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color=FFFFFF\r\nVerilog\\style0\\eolfill=false\r\nVerilog\\style0\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper=000000\r\nVerilog\\style1\\color=9933CC\r\nVerilog\\style1\\eolfill=false\r\nVerilog\\style1\\font=Courier New, 12, 0, 0, 0\r\nVerilog\\style1\\paper=000000\r\nVerilog\\style2\\color=9933CC\r\nVerilog\\style2\\eolfill=false\r\nVerilog\\style2\\font=Courier New, 12, 0, 0, 0\r\nVerilog\\style2\\paper=000000\r\nVerilog\\style3\\color=9933CC\r\nVerilog\\style3\\eolfill=false\r\nVerilog\\style3\\font=Courier New, 12, 0, 0, 0\r\nVerilog\\style3\\paper=000000\r\nVerilog\\style4\\color=FF8000\r\nVerilog\\style4\\eolfill=false\r\nVerilog\\style4\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper=000000\r\nVerilog\\style5\\color=FF6600\r\nVerilog\\style5\\eolfill=false\r\nVerilog\\style5\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper=000000\r\nVerilog\\style6\\color=66FF00\r\nVerilog\\style6\\eolfill=false\r\nVerilog\\style6\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper=000000\r\nVerilog\\style7\\color=66FF00\r\nVerilog\\style7\\eolfill=false\r\nVerilog\\style7\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper=000000\r\nVerilog\\style9\\color=EDF8F9\r\nVerilog\\style9\\eolfill=false\r\nVerilog\\style9\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper=000000\r\nVerilog\\style10\\color=FFCC00\r\nVerilog\\style10\\eolfill=false\r\nVerilog\\style10\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper=000000\r\nVerilog\\style11\\color=FFFFFF\r\nVerilog\\style11\\eolfill=false\r\nVerilog\\style11\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper=000000\r\nVerilog\\style12\\color=66FF00\r\nVerilog\\style12\\eolfill=false\r\nVerilog\\style12\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper=F2F4FF\r\nVerilog\\style19\\color=FFFFFF\r\nVerilog\\style19\\eolfill=false\r\nVerilog\\style19\\font=Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper=000000\r\nVerilog\\defaultcolor=FFFFFF\r\nVerilog\\defaultpaper=000000\r\nVerilog\\defaultfont=Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color=FFFFFF\r\nVHDL\\style0\\eolfill=false\r\nVHDL\\style0\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper=000000\r\nVHDL\\style1\\color=9933CC\r\nVHDL\\style1\\eolfill=false\r\nVHDL\\style1\\font=Courier New, 12, 0, 0, 0\r\nVHDL\\style1\\paper=000000\r\nVHDL\\style2\\color=9933CC\r\nVHDL\\style2\\eolfill=false\r\nVHDL\\style2\\font=Courier New, 12, 0, 0, 0\r\nVHDL\\style2\\paper=000000\r\nVHDL\\style3\\color=FF8000\r\nVHDL\\style3\\eolfill=false\r\nVHDL\\style3\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper=000000\r\nVHDL\\style4\\color=66FF00\r\nVHDL\\style4\\eolfill=false\r\nVHDL\\style4\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper=000000\r\nVHDL\\style5\\color=FFCC00\r\nVHDL\\style5\\eolfill=false\r\nVHDL\\style5\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper=000000\r\nVHDL\\style6\\color=FFFFFF\r\nVHDL\\style6\\eolfill=false\r\nVHDL\\style6\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper=000000\r\nVHDL\\style7\\color=66FF00\r\nVHDL\\style7\\eolfill=false\r\nVHDL\\style7\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper=000000\r\nVHDL\\style8\\color=FF6600\r\nVHDL\\style8\\eolfill=false\r\nVHDL\\style8\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper=000000\r\nVHDL\\style9\\color=808000\r\nVHDL\\style9\\eolfill=false\r\nVHDL\\style9\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper=000000\r\nVHDL\\style10\\color=FFCC00\r\nVHDL\\style10\\eolfill=false\r\nVHDL\\style10\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper=000000\r\nVHDL\\style11\\color=339999\r\nVHDL\\style11\\eolfill=false\r\nVHDL\\style11\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper=000000\r\nVHDL\\style12\\color=800000\r\nVHDL\\style12\\eolfill=false\r\nVHDL\\style12\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper=000000\r\nVHDL\\style13\\color=66FF00\r\nVHDL\\style13\\eolfill=false\r\nVHDL\\style13\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper=000000\r\nVHDL\\style14\\color=B5E71F\r\nVHDL\\style14\\eolfill=false\r\nVHDL\\style14\\font=Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper=000000\r\nVHDL\\defaultcolor=FFFFFF\r\nVHDL\\defaultpaper=000000\r\nVHDL\\defaultfont=Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/Vibrant Ink/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color=FFFFFF\r\nXML\\style0\\eolfill=false\r\nXML\\style0\\font=Courier New, 14, 0, 0, 0\r\nXML\\style0\\paper=000000\r\nXML\\style1\\color=FF6600\r\nXML\\style1\\eolfill=false\r\nXML\\style1\\font=Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper=000000\r\nXML\\style2\\color=FF6600\r\nXML\\style2\\eolfill=false\r\nXML\\style2\\font=Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper=000000\r\nXML\\style3\\color=99CC99\r\nXML\\style3\\eolfill=false\r\nXML\\style3\\font=Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper=000000\r\nXML\\style4\\color=99CC99\r\nXML\\style4\\eolfill=false\r\nXML\\style4\\font=Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper=000000\r\nXML\\style5\\color=99CC99\r\nXML\\style5\\eolfill=false\r\nXML\\style5\\font=Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper=000000\r\nXML\\style6\\color=66FF00\r\nXML\\style6\\eolfill=false\r\nXML\\style6\\font=Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper=000000\r\nXML\\style7\\color=66FF00\r\nXML\\style7\\eolfill=false\r\nXML\\style7\\font=Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper=000000\r\nXML\\style9\\color=9933CC\r\nXML\\style9\\eolfill=false\r\nXML\\style9\\font=Courier New, 12, 0, 0, 0\r\nXML\\style9\\paper=000000\r\nXML\\style10\\color=FFFFFF\r\nXML\\style10\\eolfill=false\r\nXML\\style10\\font=Courier New, 14, 0, 0, 0\r\nXML\\style10\\paper=000000\r\nXML\\style11\\color=FF6600\r\nXML\\style11\\eolfill=false\r\nXML\\style11\\font=Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper=000000\r\nXML\\style12\\color=99CC99\r\nXML\\style12\\eolfill=false\r\nXML\\style12\\font=Courier New, 14, 0, 0, 0\r\nXML\\style12\\paper=000000\r\nXML\\style13\\color=99CC99\r\nXML\\style13\\eolfill=false\r\nXML\\style13\\font=Courier New, 14, 0, 0, 0\r\nXML\\style13\\paper=000000\r\nXML\\style17\\color=FFCC00\r\nXML\\style17\\eolfill=false\r\nXML\\style17\\font=Courier New, 14, 0, 0, 0\r\nXML\\style17\\paper=000000\r\nXML\\style21\\color=FFFFFF\r\nXML\\style21\\eolfill=false\r\nXML\\style21\\font=Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper=707070\r\nXML\\defaultcolor=FFFFFF\r\nXML\\defaultpaper=000000\r\nXML\\defaultfont=Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle=-1"
  },
  {
    "path": "src/themes/lavender/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color = 0\r\nGlobal\\style0\\eolfill = false\r\nGlobal\\style0\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper = fff0f5\r\nGlobal\\style1\\color = 0\r\nGlobal\\style1\\eolfill = false\r\nGlobal\\style1\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper = fff0f5\r\nGlobal\\style2\\color = c0c0c0\r\nGlobal\\style2\\eolfill = false\r\nGlobal\\style2\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper = ffffff\r\nGlobal\\style3\\color = ff0000\r\nGlobal\\style3\\eolfill = false\r\nGlobal\\style3\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper = ffffff\r\nGlobal\\style4\\color = 800000\r\nGlobal\\style4\\eolfill = false\r\nGlobal\\style4\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper = ffffff\r\nGlobal\\style5\\color = 80c0\r\nGlobal\\style5\\eolfill = false\r\nGlobal\\style5\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper = e8e8ff\r\nGlobal\\style6\\color = 0\r\nGlobal\\style6\\eolfill = false\r\nGlobal\\style6\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper = c0c0c0\r\nGlobal\\style7\\color = 8000ff\r\nGlobal\\style7\\eolfill = false\r\nGlobal\\style7\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper = 919994\r\nGlobal\\style8\\color = 80ffff\r\nGlobal\\style8\\eolfill = false\r\nGlobal\\style8\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper = 112435\r\nGlobal\\style9\\color = 808080\r\nGlobal\\style9\\eolfill = false\r\nGlobal\\style9\\font = Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper = fdf0f3\r\nGlobal\\style10\\color = eeeeec\r\nGlobal\\style10\\eolfill = false\r\nGlobal\\style10\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper = fcf0f0\r\nGlobal\\style11\\color = 000000\r\nGlobal\\style11\\eolfill = false\r\nGlobal\\style11\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper = fff0f5\r\nGlobal\\style12\\color = 000000\r\nGlobal\\style12\\eolfill = false\r\nGlobal\\style12\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper = fff0f5\r\nGlobal\\style13\\color = fff0f5\r\nGlobal\\style13\\eolfill = false\r\nGlobal\\style13\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper = fdf0f3\r\nGlobal\\style14\\color = ffb56a\r\nGlobal\\style14\\eolfill = false\r\nGlobal\\style14\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper = 80ff00\r\nGlobal\\style15\\color = ff00\r\nGlobal\\style15\\eolfill = false\r\nGlobal\\style15\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper = ff00\r\nGlobal\\style16\\color = fcaf3e\r\nGlobal\\style16\\eolfill = false\r\nGlobal\\style16\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper = ff0000\r\nGlobal\\style17\\color = 555753\r\nGlobal\\style17\\eolfill = false\r\nGlobal\\style17\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper = ffff\r\nGlobal\\style18\\color = fcaf3e\r\nGlobal\\style18\\eolfill = false\r\nGlobal\\style18\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper = ff8000\r\nGlobal\\style19\\color = faaa3c\r\nGlobal\\style19\\eolfill = false\r\nGlobal\\style19\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper = ffff00\r\nGlobal\\style20\\color = ffcab0\r\nGlobal\\style20\\eolfill = false\r\nGlobal\\style20\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper = 8000ff\r\nGlobal\\style21\\color = 0\r\nGlobal\\style21\\eolfill = false\r\nGlobal\\style21\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper = 8000\r\nGlobal\\style22\\color = 808080\r\nGlobal\\style22\\eolfill = false\r\nGlobal\\style22\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper = 80ff\r\nGlobal\\style23\\color = ffcab0\r\nGlobal\\style23\\eolfill = false\r\nGlobal\\style23\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper = 8000ff\r\nGlobal\\style24\\color = ffcab0\r\nGlobal\\style24\\eolfill = false\r\nGlobal\\style24\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper = ffff00\r\nGlobal\\style25\\color = ff\r\nGlobal\\style25\\eolfill = false\r\nGlobal\\style25\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper = c0c0c0\r\nGlobal\\defaultcolor = 0\r\nGlobal\\defaultpaper = fff0f5\r\nGlobal\\defaultfont = Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = fff0f5\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = fff0f5\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = fff0f5\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = fff0f5\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = fff0f5\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = fff0f5\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = fff0f5\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = fff0f5\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = fff0f5\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = fff0f5\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = fff0f5\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = fff0f5\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = fff0f5\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = fff0f5\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = fff0f5\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = fff0f5\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = fff0f5\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = fff0f5\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = fff0f5\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = fff0f5\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = fff0f5\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = fff0f5\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = fff0f5\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = fff0f5\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = fff0f5\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = fff0f5\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = fff0f5\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = fff0f5\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = fff0f5\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = fff0f5\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = fff0f5\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = fff0f5\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = fff0f5\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = fff0f5\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = fff0f5\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = fff0f5\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = fff0f5\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = fff0f5\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = fff0f5\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = fff0f5\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = fff0f5\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = fff0f5\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = fff0f5\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = fff0f5\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = fff0f5\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = fff0f5\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = fff0f5\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = fff0f5\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = fff0f5\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = fff0f5\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = fff0f5\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = fff0f5\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = fff0f5\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = fff0f5\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = fff0f5\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = fff0f5\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = fff0f5\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = fff0f5\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = fff0f5\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = fff0f5\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = fff0f5\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = fff0f5\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = fff0f5\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = fff0f5\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = fff0f5\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = fff0f5\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = fff0f5\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = fff0f5\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = fff0f5\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = fff0f5\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = fff0f5\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = fff0f5\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = fff0f5\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = fff0f5\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = fff0f5\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = fff0f5\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = fff0f5\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = fff0f5\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = fff0f5\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = fff0f5\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = fff0f5\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = fff0f5\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = fff0f5\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = fff0f5\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = fff0f5\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = fff0f5\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = fff0f5\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = fff0f5\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = fff0f5\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = fff0f5\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = fff0f5\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = fff0f5\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = fff0f5\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = fff0f5\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = fff0f5\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = fff0f5\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = fff0f5\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = fff0f5\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = fff0f5\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = fff0f5\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = fff0f5\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = fff0f5\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = fff0f5\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = fff0f5\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = fff0f5\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = fff0f5\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = fff0f5\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = fff0f5\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = fff0f5\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = fff0f5\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/avs.ini",
    "content": "[Scintilla]\r\nAVS\\style0\\color = 0\r\nAVS\\style0\\eolfill = false\r\nAVS\\style0\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style0\\paper = fff0f5\r\nAVS\\style1\\color = 7f00\r\nAVS\\style1\\eolfill = false\r\nAVS\\style1\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style1\\paper = fff0f5\r\nAVS\\style2\\color = 7f00\r\nAVS\\style2\\eolfill = false\r\nAVS\\style2\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style2\\paper = fff0f5\r\nAVS\\style3\\color = 7f00\r\nAVS\\style3\\eolfill = false\r\nAVS\\style3\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style3\\paper = fff0f5\r\nAVS\\style4\\color = 7f7f\r\nAVS\\style4\\eolfill = false\r\nAVS\\style4\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style4\\paper = fff0f5\r\nAVS\\style5\\color = 0\r\nAVS\\style5\\eolfill = false\r\nAVS\\style5\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style5\\paper = fff0f5\r\nAVS\\style6\\color = 0\r\nAVS\\style6\\eolfill = false\r\nAVS\\style6\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style6\\paper = fff0f5\r\nAVS\\style7\\color = 7f007f\r\nAVS\\style7\\eolfill = false\r\nAVS\\style7\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style7\\paper = fff0f5\r\nAVS\\style8\\color = 7f007f\r\nAVS\\style8\\eolfill = false\r\nAVS\\style8\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style8\\paper = fff0f5\r\nAVS\\style9\\color = 8000ff\r\nAVS\\style9\\eolfill = false\r\nAVS\\style9\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style9\\paper = fff0f5\r\nAVS\\style10\\color = 8000ff\r\nAVS\\style10\\eolfill = false\r\nAVS\\style10\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style10\\paper = fff0f5\r\nAVS\\style11\\color = 80c0\r\nAVS\\style11\\eolfill = false\r\nAVS\\style11\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style11\\paper = fff0f5\r\nAVS\\style12\\color = 7f7f\r\nAVS\\style12\\eolfill = false\r\nAVS\\style12\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style12\\paper = fff0f5\r\nAVS\\style13\\color = 8000ff\r\nAVS\\style13\\eolfill = false\r\nAVS\\style13\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style13\\paper = fff0f5\r\nAVS\\style14\\color = 8000ff\r\nAVS\\style14\\eolfill = false\r\nAVS\\style14\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style14\\paper = fff0f5\r\nAVS\\properties\\foldcomments = false\r\nAVS\\properties\\foldcompact = true\r\nAVS\\defaultcolor = 0\r\nAVS\\defaultpaper = fff0f5\r\nAVS\\defaultfont = Courier New, 14, 0, 0, 0\r\nAVS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color = 808080\r\nBash\\style0\\eolfill = false\r\nBash\\style0\\font = Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper = fff0f5\r\nBash\\style1\\color = ffff00\r\nBash\\style1\\eolfill = false\r\nBash\\style1\\font = Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper = fff0f5\r\nBash\\style2\\color = 7f00\r\nBash\\style2\\eolfill = false\r\nBash\\style2\\font = Courier New, 11, 0, 0, 0\r\nBash\\style2\\paper = fff0f5\r\nBash\\style3\\color = 7f7f\r\nBash\\style3\\eolfill = false\r\nBash\\style3\\font = Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper = fff0f5\r\nBash\\style4\\color = 8000ff\r\nBash\\style4\\eolfill = false\r\nBash\\style4\\font = Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper = fff0f5\r\nBash\\style5\\color = 7f007f\r\nBash\\style5\\eolfill = false\r\nBash\\style5\\font = Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper = fff0f5\r\nBash\\style6\\color = 7f007f\r\nBash\\style6\\eolfill = false\r\nBash\\style6\\font = Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper = fff0f5\r\nBash\\style7\\color = 0\r\nBash\\style7\\eolfill = false\r\nBash\\style7\\font = Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper = fff0f5\r\nBash\\style8\\color = 0\r\nBash\\style8\\eolfill = false\r\nBash\\style8\\font = Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper = fff0f5\r\nBash\\style9\\color = 0\r\nBash\\style9\\eolfill = false\r\nBash\\style9\\font = Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper = fff0f5\r\nBash\\style10\\color = 0\r\nBash\\style10\\eolfill = false\r\nBash\\style10\\font = Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper = fff0f5\r\nBash\\style11\\color = ffff00\r\nBash\\style11\\eolfill = false\r\nBash\\style11\\font = Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper = fff0f5\r\nBash\\style12\\color = 0\r\nBash\\style12\\eolfill = false\r\nBash\\style12\\font = Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper = fff0f5\r\nBash\\style13\\color = 7f007f\r\nBash\\style13\\eolfill = true\r\nBash\\style13\\font = Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper = fff0f5\r\nBash\\properties\\foldcomments = false\r\nBash\\properties\\foldcompact = true\r\nBash\\defaultcolor = 0\r\nBash\\defaultpaper = fff0f5\r\nBash\\defaultfont = Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color = 0\r\nBatch\\style0\\eolfill = false\r\nBatch\\style0\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper = fff0f5\r\nBatch\\style1\\color = 7f00\r\nBatch\\style1\\eolfill = false\r\nBatch\\style1\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper = fff0f5\r\nBatch\\style2\\color = 8000ff\r\nBatch\\style2\\eolfill = false\r\nBatch\\style2\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style2\\paper = fff0f5\r\nBatch\\style3\\color = 7f007f\r\nBatch\\style3\\eolfill = true\r\nBatch\\style3\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper = fff0f5\r\nBatch\\style4\\color = 7f7f00\r\nBatch\\style4\\eolfill = false\r\nBatch\\style4\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper = fff0f5\r\nBatch\\style5\\color = 8000ff\r\nBatch\\style5\\eolfill = false\r\nBatch\\style5\\font = Courier New, 14, 1, 0, 0\r\nBatch\\style5\\paper = fff0f5\r\nBatch\\style6\\color = 800080\r\nBatch\\style6\\eolfill = false\r\nBatch\\style6\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper = fff0f5\r\nBatch\\style7\\color = 0\r\nBatch\\style7\\eolfill = false\r\nBatch\\style7\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper = fff0f5\r\nBatch\\defaultcolor = 0\r\nBatch\\defaultpaper = fff0f5\r\nBatch\\defaultfont = Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = fff0f5\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = fff0f5\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = fff0f5\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = fff0f5\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = fff0f5\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = fff0f5\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = fff0f5\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = fff0f5\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = fff0f5\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = fff0f5\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = fff0f5\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = fff0f5\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = fff0f5\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = fff0f5\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = fff0f5\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = fff0f5\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = fff0f5\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = fff0f5\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = fff0f5\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = fff0f5\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = fff0f5\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = fff0f5\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = fff0f5\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = fff0f5\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = fff0f5\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = fff0f5\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = fff0f5\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = fff0f5\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = fff0f5\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = fff0f5\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = fff0f5\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = fff0f5\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = fff0f5\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = fff0f5\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = fff0f5\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = fff0f5\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = fff0f5\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = fff0f5\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = fff0f5\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = fff0f5\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = fff0f5\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = fff0f5\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = fff0f5\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = fff0f5\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = fff0f5\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = fff0f5\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = fff0f5\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = fff0f5\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = fff0f5\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = fff0f5\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = fff0f5\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = fff0f5\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = fff0f5\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = fff0f5\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = fff0f5\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = fff0f5\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = fff0f5\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color = 0\r\nCMake\\style0\\eolfill = false\r\nCMake\\style0\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper = fff0f5\r\nCMake\\style1\\color = 7f00\r\nCMake\\style1\\eolfill = false\r\nCMake\\style1\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper = fff0f5\r\nCMake\\style2\\color = 7f007f\r\nCMake\\style2\\eolfill = false\r\nCMake\\style2\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper = fff0f5\r\nCMake\\style3\\color = 7f007f\r\nCMake\\style3\\eolfill = false\r\nCMake\\style3\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper = fff0f5\r\nCMake\\style4\\color = 7f007f\r\nCMake\\style4\\eolfill = false\r\nCMake\\style4\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper = fff0f5\r\nCMake\\style5\\color = 7f\r\nCMake\\style5\\eolfill = false\r\nCMake\\style5\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style5\\paper = fff0f5\r\nCMake\\style6\\color = 800000\r\nCMake\\style6\\eolfill = false\r\nCMake\\style6\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper = fff0f5\r\nCMake\\style7\\color = cc3300\r\nCMake\\style7\\eolfill = false\r\nCMake\\style7\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper = fff0f5\r\nCMake\\style8\\color = 0\r\nCMake\\style8\\eolfill = false\r\nCMake\\style8\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper = fff0f5\r\nCMake\\style9\\color = 7f\r\nCMake\\style9\\eolfill = false\r\nCMake\\style9\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style9\\paper = fff0f5\r\nCMake\\style10\\color = 7f\r\nCMake\\style10\\eolfill = false\r\nCMake\\style10\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style10\\paper = fff0f5\r\nCMake\\style11\\color = 7f\r\nCMake\\style11\\eolfill = false\r\nCMake\\style11\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style11\\paper = fff0f5\r\nCMake\\style12\\color = 7f\r\nCMake\\style12\\eolfill = false\r\nCMake\\style12\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style12\\paper = fff0f5\r\nCMake\\style13\\color = cc3300\r\nCMake\\style13\\eolfill = false\r\nCMake\\style13\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper = fff0f5\r\nCMake\\style14\\color = 7f7f\r\nCMake\\style14\\eolfill = false\r\nCMake\\style14\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper = fff0f5\r\nCMake\\properties\\foldatelse = false\r\nCMake\\defaultcolor = 0\r\nCMake\\defaultpaper = fff0f5\r\nCMake\\defaultfont = Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/coffeescript.ini",
    "content": "[Scintilla]\r\nCoffeeScript\\style0\\color = 808080\r\nCoffeeScript\\style0\\eolfill = false\r\nCoffeeScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style0\\paper = fff0f5\r\nCoffeeScript\\style1\\color = 7f00\r\nCoffeeScript\\style1\\eolfill = false\r\nCoffeeScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style1\\paper = fff0f5\r\nCoffeeScript\\style2\\color = 7f00\r\nCoffeeScript\\style2\\eolfill = false\r\nCoffeeScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style2\\paper = fff0f5\r\nCoffeeScript\\style3\\color = 3f703f\r\nCoffeeScript\\style3\\eolfill = false\r\nCoffeeScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style3\\paper = fff0f5\r\nCoffeeScript\\style4\\color = 7f7f\r\nCoffeeScript\\style4\\eolfill = false\r\nCoffeeScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style4\\paper = fff0f5\r\nCoffeeScript\\style5\\color = 8000ff\r\nCoffeeScript\\style5\\eolfill = false\r\nCoffeeScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style5\\paper = fff0f5\r\nCoffeeScript\\style6\\color = 7f007f\r\nCoffeeScript\\style6\\eolfill = false\r\nCoffeeScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style6\\paper = fff0f5\r\nCoffeeScript\\style7\\color = 7f007f\r\nCoffeeScript\\style7\\eolfill = false\r\nCoffeeScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style7\\paper = fff0f5\r\nCoffeeScript\\style8\\color = 0\r\nCoffeeScript\\style8\\eolfill = false\r\nCoffeeScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style8\\paper = fff0f5\r\nCoffeeScript\\style9\\color = 7f7f00\r\nCoffeeScript\\style9\\eolfill = false\r\nCoffeeScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style9\\paper = fff0f5\r\nCoffeeScript\\style10\\color = 0\r\nCoffeeScript\\style10\\eolfill = false\r\nCoffeeScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style10\\paper = fff0f5\r\nCoffeeScript\\style11\\color = 0\r\nCoffeeScript\\style11\\eolfill = false\r\nCoffeeScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style11\\paper = fff0f5\r\nCoffeeScript\\style12\\color = 0\r\nCoffeeScript\\style12\\eolfill = true\r\nCoffeeScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style12\\paper = fff0f5\r\nCoffeeScript\\style13\\color = 7f00\r\nCoffeeScript\\style13\\eolfill = true\r\nCoffeeScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style13\\paper = fff0f5\r\nCoffeeScript\\style14\\color = 3f7f3f\r\nCoffeeScript\\style14\\eolfill = true\r\nCoffeeScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style14\\paper = fff0f5\r\nCoffeeScript\\style15\\color = 3f703f\r\nCoffeeScript\\style15\\eolfill = false\r\nCoffeeScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style15\\paper = fff0f5\r\nCoffeeScript\\style16\\color = 0\r\nCoffeeScript\\style16\\eolfill = false\r\nCoffeeScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style16\\paper = fff0f5\r\nCoffeeScript\\style17\\color = 3060a0\r\nCoffeeScript\\style17\\eolfill = false\r\nCoffeeScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style17\\paper = fff0f5\r\nCoffeeScript\\style18\\color = 804020\r\nCoffeeScript\\style18\\eolfill = false\r\nCoffeeScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style18\\paper = fff0f5\r\nCoffeeScript\\style19\\color = 0\r\nCoffeeScript\\style19\\eolfill = false\r\nCoffeeScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style19\\paper = fff0f5\r\nCoffeeScript\\style22\\color = 7f00\r\nCoffeeScript\\style22\\eolfill = false\r\nCoffeeScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style22\\paper = fff0f5\r\nCoffeeScript\\style23\\color = 3f7f3f\r\nCoffeeScript\\style23\\eolfill = false\r\nCoffeeScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style23\\paper = fff0f5\r\nCoffeeScript\\style24\\color = 7f00\r\nCoffeeScript\\style24\\eolfill = false\r\nCoffeeScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style24\\paper = fff0f5\r\nCoffeeScript\\style25\\color = c06000\r\nCoffeeScript\\style25\\eolfill = false\r\nCoffeeScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style25\\paper = fff0f5\r\nCoffeeScript\\properties\\foldcomments = false\r\nCoffeeScript\\properties\\foldcompact = true\r\nCoffeeScript\\properties\\stylepreprocessor = false\r\nCoffeeScript\\properties\\dollars = true\r\nCoffeeScript\\defaultcolor = 0\r\nCoffeeScript\\defaultpaper = fff0f5\r\nCoffeeScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = fff0f5\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = fff0f5\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = fff0f5\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = fff0f5\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = fff0f5\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = fff0f5\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = fff0f5\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = fff0f5\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = fff0f5\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = fff0f5\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = fff0f5\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = fff0f5\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = fff0f5\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = fff0f5\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = fff0f5\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = fff0f5\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = fff0f5\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = fff0f5\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = fff0f5\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = fff0f5\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = fff0f5\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = fff0f5\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = fff0f5\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = fff0f5\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = fff0f5\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = fff0f5\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = fff0f5\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = fff0f5\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = fff0f5\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = fff0f5\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = fff0f5\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = fff0f5\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = fff0f5\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = fff0f5\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = fff0f5\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = fff0f5\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = fff0f5\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = fff0f5\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = fff0f5\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = fff0f5\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = fff0f5\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = fff0f5\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = fff0f5\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = fff0f5\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = fff0f5\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = fff0f5\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = fff0f5\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = fff0f5\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = fff0f5\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = fff0f5\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = fff0f5\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = fff0f5\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = fff0f5\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = fff0f5\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = fff0f5\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = fff0f5\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = fff0f5\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color = 808080\r\nC%23\\style0\\eolfill = false\r\nC%23\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper = fff0f5\r\nC%23\\style1\\color = 7f00\r\nC%23\\style1\\eolfill = false\r\nC%23\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper = fff0f5\r\nC%23\\style2\\color = 7f00\r\nC%23\\style2\\eolfill = false\r\nC%23\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper = fff0f5\r\nC%23\\style3\\color = 3f703f\r\nC%23\\style3\\eolfill = false\r\nC%23\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper = fff0f5\r\nC%23\\style4\\color = 7f7f\r\nC%23\\style4\\eolfill = false\r\nC%23\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper = fff0f5\r\nC%23\\style5\\color = 8000ff\r\nC%23\\style5\\eolfill = false\r\nC%23\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style5\\paper = fff0f5\r\nC%23\\style6\\color = 7f007f\r\nC%23\\style6\\eolfill = false\r\nC%23\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper = fff0f5\r\nC%23\\style7\\color = 7f007f\r\nC%23\\style7\\eolfill = false\r\nC%23\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper = fff0f5\r\nC%23\\style8\\color = 0\r\nC%23\\style8\\eolfill = false\r\nC%23\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style8\\paper = fff0f5\r\nC%23\\style9\\color = 7f7f00\r\nC%23\\style9\\eolfill = false\r\nC%23\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper = fff0f5\r\nC%23\\style10\\color = 0\r\nC%23\\style10\\eolfill = false\r\nC%23\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper = fff0f5\r\nC%23\\style11\\color = 0\r\nC%23\\style11\\eolfill = false\r\nC%23\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper = fff0f5\r\nC%23\\style12\\color = 0\r\nC%23\\style12\\eolfill = true\r\nC%23\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style12\\paper = fff0f5\r\nC%23\\style13\\color = 7f00\r\nC%23\\style13\\eolfill = true\r\nC%23\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper = fff0f5\r\nC%23\\style14\\color = 3f7f3f\r\nC%23\\style14\\eolfill = true\r\nC%23\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper = fff0f5\r\nC%23\\style15\\color = 3f703f\r\nC%23\\style15\\eolfill = false\r\nC%23\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper = fff0f5\r\nC%23\\style16\\color = 0\r\nC%23\\style16\\eolfill = false\r\nC%23\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style16\\paper = fff0f5\r\nC%23\\style17\\color = 3060a0\r\nC%23\\style17\\eolfill = false\r\nC%23\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper = fff0f5\r\nC%23\\style18\\color = 804020\r\nC%23\\style18\\eolfill = false\r\nC%23\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper = fff0f5\r\nC%23\\style19\\color = 0\r\nC%23\\style19\\eolfill = false\r\nC%23\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style19\\paper = fff0f5\r\nC%23\\style20\\color = 7f007f\r\nC%23\\style20\\eolfill = false\r\nC%23\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style20\\paper = fff0f5\r\nC%23\\style21\\color = 7f00\r\nC%23\\style21\\eolfill = true\r\nC%23\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style21\\paper = fff0f5\r\nC%23\\style22\\color = 7f00\r\nC%23\\style22\\eolfill = true\r\nC%23\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style22\\paper = fff0f5\r\nC%23\\style23\\color = 659900\r\nC%23\\style23\\eolfill = false\r\nC%23\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style23\\paper = fff0f5\r\nC%23\\style24\\color = 3f703f\r\nC%23\\style24\\eolfill = false\r\nC%23\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style24\\paper = fff0f5\r\nC%23\\style25\\color = c06000\r\nC%23\\style25\\eolfill = false\r\nC%23\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style25\\paper = fff0f5\r\nC%23\\style26\\color = be07ff\r\nC%23\\style26\\eolfill = false\r\nC%23\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style26\\paper = fff0f5\r\nC%23\\style27\\color = 0\r\nC%23\\style27\\eolfill = false\r\nC%23\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style27\\paper = fff0f5\r\nC%23\\style64\\color = c0c0c0\r\nC%23\\style64\\eolfill = false\r\nC%23\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style64\\paper = fff0f5\r\nC%23\\style65\\color = 90b090\r\nC%23\\style65\\eolfill = false\r\nC%23\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style65\\paper = fff0f5\r\nC%23\\style66\\color = 90b090\r\nC%23\\style66\\eolfill = false\r\nC%23\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style66\\paper = fff0f5\r\nC%23\\style67\\color = d0d0d0\r\nC%23\\style67\\eolfill = false\r\nC%23\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style67\\paper = fff0f5\r\nC%23\\style68\\color = 90b090\r\nC%23\\style68\\eolfill = false\r\nC%23\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style68\\paper = fff0f5\r\nC%23\\style69\\color = 9090b0\r\nC%23\\style69\\eolfill = false\r\nC%23\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style69\\paper = fff0f5\r\nC%23\\style70\\color = b090b0\r\nC%23\\style70\\eolfill = false\r\nC%23\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style70\\paper = fff0f5\r\nC%23\\style71\\color = b090b0\r\nC%23\\style71\\eolfill = false\r\nC%23\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style71\\paper = fff0f5\r\nC%23\\style72\\color = c0c0c0\r\nC%23\\style72\\eolfill = false\r\nC%23\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style72\\paper = fff0f5\r\nC%23\\style73\\color = b0b090\r\nC%23\\style73\\eolfill = false\r\nC%23\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style73\\paper = fff0f5\r\nC%23\\style74\\color = b0b0b0\r\nC%23\\style74\\eolfill = false\r\nC%23\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style74\\paper = fff0f5\r\nC%23\\style75\\color = b0b0b0\r\nC%23\\style75\\eolfill = false\r\nC%23\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style75\\paper = fff0f5\r\nC%23\\style76\\color = 0\r\nC%23\\style76\\eolfill = true\r\nC%23\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style76\\paper = fff0f5\r\nC%23\\style77\\color = 90b090\r\nC%23\\style77\\eolfill = true\r\nC%23\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style77\\paper = fff0f5\r\nC%23\\style78\\color = 7faf7f\r\nC%23\\style78\\eolfill = true\r\nC%23\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style78\\paper = fff0f5\r\nC%23\\style79\\color = c0c0c0\r\nC%23\\style79\\eolfill = false\r\nC%23\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style79\\paper = fff0f5\r\nC%23\\style80\\color = c0c0c0\r\nC%23\\style80\\eolfill = false\r\nC%23\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style80\\paper = fff0f5\r\nC%23\\style81\\color = c0c0c0\r\nC%23\\style81\\eolfill = false\r\nC%23\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style81\\paper = fff0f5\r\nC%23\\style82\\color = c0c0c0\r\nC%23\\style82\\eolfill = false\r\nC%23\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style82\\paper = fff0f5\r\nC%23\\style83\\color = b0b0b0\r\nC%23\\style83\\eolfill = false\r\nC%23\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style83\\paper = fff0f5\r\nC%23\\style84\\color = b090b0\r\nC%23\\style84\\eolfill = false\r\nC%23\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style84\\paper = fff0f5\r\nC%23\\style85\\color = 90b090\r\nC%23\\style85\\eolfill = true\r\nC%23\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style85\\paper = fff0f5\r\nC%23\\style86\\color = 90b090\r\nC%23\\style86\\eolfill = true\r\nC%23\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style86\\paper = fff0f5\r\nC%23\\style87\\color = a0c090\r\nC%23\\style87\\eolfill = false\r\nC%23\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style87\\paper = fff0f5\r\nC%23\\style88\\color = c0c0c0\r\nC%23\\style88\\eolfill = false\r\nC%23\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style88\\paper = fff0f5\r\nC%23\\style89\\color = d7a090\r\nC%23\\style89\\eolfill = false\r\nC%23\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style89\\paper = fff0f5\r\nC%23\\style90\\color = c3a1cf\r\nC%23\\style90\\eolfill = false\r\nC%23\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style90\\paper = fff0f5\r\nC%23\\style91\\color = 0\r\nC%23\\style91\\eolfill = false\r\nC%23\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style91\\paper = fff0f5\r\nC%23\\properties\\foldatelse = false\r\nC%23\\properties\\foldcomments = false\r\nC%23\\properties\\foldcompact = true\r\nC%23\\properties\\foldpreprocessor = true\r\nC%23\\properties\\stylepreprocessor = false\r\nC%23\\properties\\dollars = true\r\nC%23\\properties\\highlighttriple = false\r\nC%23\\properties\\highlighthash = false\r\nC%23\\properties\\highlightback = false\r\nC%23\\properties\\highlightescape = false\r\nC%23\\properties\\verbatimstringescape = false\r\nC%23\\defaultcolor = 0\r\nC%23\\defaultpaper = fff0f5\r\nC%23\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color = ff0080\r\nCSS\\style0\\eolfill = false\r\nCSS\\style0\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper = fff0f5\r\nCSS\\style1\\color = 7f\r\nCSS\\style1\\eolfill = false\r\nCSS\\style1\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style1\\paper = fff0f5\r\nCSS\\style2\\color = 0\r\nCSS\\style2\\eolfill = false\r\nCSS\\style2\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper = fff0f5\r\nCSS\\style3\\color = 800000\r\nCSS\\style3\\eolfill = false\r\nCSS\\style3\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper = fff0f5\r\nCSS\\style4\\color = ff0000\r\nCSS\\style4\\eolfill = false\r\nCSS\\style4\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper = fff0f5\r\nCSS\\style5\\color = 0\r\nCSS\\style5\\eolfill = false\r\nCSS\\style5\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper = fff0f5\r\nCSS\\style6\\color = 40e0\r\nCSS\\style6\\eolfill = false\r\nCSS\\style6\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper = fff0f5\r\nCSS\\style7\\color = ff0000\r\nCSS\\style7\\eolfill = false\r\nCSS\\style7\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper = fff0f5\r\nCSS\\style8\\color = 7f007f\r\nCSS\\style8\\eolfill = false\r\nCSS\\style8\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper = fff0f5\r\nCSS\\style9\\color = 7f00\r\nCSS\\style9\\eolfill = false\r\nCSS\\style9\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper = fff0f5\r\nCSS\\style10\\color = 7f7f\r\nCSS\\style10\\eolfill = false\r\nCSS\\style10\\font = Courier New, 14, 0, 1, 0\r\nCSS\\style10\\paper = fff0f5\r\nCSS\\style11\\color = ff8000\r\nCSS\\style11\\eolfill = false\r\nCSS\\style11\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style11\\paper = fff0f5\r\nCSS\\style12\\color = 7f7f00\r\nCSS\\style12\\eolfill = false\r\nCSS\\style12\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper = fff0f5\r\nCSS\\style13\\color = 7f007f\r\nCSS\\style13\\eolfill = false\r\nCSS\\style13\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style13\\paper = fff0f5\r\nCSS\\style14\\color = 7f007f\r\nCSS\\style14\\eolfill = false\r\nCSS\\style14\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style14\\paper = fff0f5\r\nCSS\\style15\\color = a0e0\r\nCSS\\style15\\eolfill = false\r\nCSS\\style15\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style15\\paper = fff0f5\r\nCSS\\style16\\color = 800000\r\nCSS\\style16\\eolfill = false\r\nCSS\\style16\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style16\\paper = fff0f5\r\nCSS\\style17\\color = 0\r\nCSS\\style17\\eolfill = false\r\nCSS\\style17\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style17\\paper = fff0f5\r\nCSS\\style18\\color = 0\r\nCSS\\style18\\eolfill = false\r\nCSS\\style18\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style18\\paper = fff0f5\r\nCSS\\style19\\color = 0\r\nCSS\\style19\\eolfill = false\r\nCSS\\style19\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style19\\paper = fff0f5\r\nCSS\\style20\\color = 0\r\nCSS\\style20\\eolfill = false\r\nCSS\\style20\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style20\\paper = fff0f5\r\nCSS\\style21\\color = 0\r\nCSS\\style21\\eolfill = false\r\nCSS\\style21\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style21\\paper = fff0f5\r\nCSS\\style22\\color = 7f7f00\r\nCSS\\style22\\eolfill = false\r\nCSS\\style22\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style22\\paper = fff0f5\r\nCSS\\style23\\color = 0\r\nCSS\\style23\\eolfill = false\r\nCSS\\style23\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style23\\paper = fff0f5\r\nCSS\\properties\\foldcomments = false\r\nCSS\\properties\\foldcompact = true\r\nCSS\\properties\\hsslanguage = false\r\nCSS\\properties\\lesslanguage = false\r\nCSS\\properties\\scsslanguage = false\r\nCSS\\defaultcolor = 0\r\nCSS\\defaultpaper = fff0f5\r\nCSS\\defaultfont = Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color = 0\r\nDiff\\style0\\eolfill = false\r\nDiff\\style0\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper = fff0f5\r\nDiff\\style1\\color = 7f00\r\nDiff\\style1\\eolfill = false\r\nDiff\\style1\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper = fff0f5\r\nDiff\\style2\\color = 7f7f00\r\nDiff\\style2\\eolfill = false\r\nDiff\\style2\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper = fff0f5\r\nDiff\\style3\\color = 7f0000\r\nDiff\\style3\\eolfill = false\r\nDiff\\style3\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper = fff0f5\r\nDiff\\style4\\color = 7f007f\r\nDiff\\style4\\eolfill = false\r\nDiff\\style4\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper = fff0f5\r\nDiff\\style5\\color = 7f7f\r\nDiff\\style5\\eolfill = false\r\nDiff\\style5\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper = fff0f5\r\nDiff\\style6\\color = 7f\r\nDiff\\style6\\eolfill = false\r\nDiff\\style6\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper = fff0f5\r\nDiff\\style7\\color = 7f7f7f\r\nDiff\\style7\\eolfill = false\r\nDiff\\style7\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style7\\paper = fff0f5\r\nDiff\\style8\\color = 7f\r\nDiff\\style8\\eolfill = false\r\nDiff\\style8\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style8\\paper = fff0f5\r\nDiff\\style9\\color = 7f\r\nDiff\\style9\\eolfill = false\r\nDiff\\style9\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style9\\paper = fff0f5\r\nDiff\\style10\\color = 7f7f\r\nDiff\\style10\\eolfill = false\r\nDiff\\style10\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style10\\paper = fff0f5\r\nDiff\\style11\\color = 7f7f\r\nDiff\\style11\\eolfill = false\r\nDiff\\style11\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style11\\paper = fff0f5\r\nDiff\\defaultcolor = 0\r\nDiff\\defaultpaper = fff0f5\r\nDiff\\defaultfont = Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/flash.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = fff0f5\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = fff0f5\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = fff0f5\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = fff0f5\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = fff0f5\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = fff0f5\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = fff0f5\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = fff0f5\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = fff0f5\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = fff0f5\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = fff0f5\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = fff0f5\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = fff0f5\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = fff0f5\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = fff0f5\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = fff0f5\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = fff0f5\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = fff0f5\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = fff0f5\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = fff0f5\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = fff0f5\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = fff0f5\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = fff0f5\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = fff0f5\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = fff0f5\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = fff0f5\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = fff0f5\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = fff0f5\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = fff0f5\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = fff0f5\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = fff0f5\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = fff0f5\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = fff0f5\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = fff0f5\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = fff0f5\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = fff0f5\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = fff0f5\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = fff0f5\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = fff0f5\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = fff0f5\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = fff0f5\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = fff0f5\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = fff0f5\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = fff0f5\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = fff0f5\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = fff0f5\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = fff0f5\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = fff0f5\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = fff0f5\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = fff0f5\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = fff0f5\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = fff0f5\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = fff0f5\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = fff0f5\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = fff0f5\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = fff0f5\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = fff0f5\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color = 808080\r\nFortran\\style0\\eolfill = false\r\nFortran\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper = fff0f5\r\nFortran\\style1\\color = 7f00\r\nFortran\\style1\\eolfill = false\r\nFortran\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper = fff0f5\r\nFortran\\style2\\color = 7f7f\r\nFortran\\style2\\eolfill = false\r\nFortran\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper = fff0f5\r\nFortran\\style3\\color = 7f007f\r\nFortran\\style3\\eolfill = false\r\nFortran\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper = fff0f5\r\nFortran\\style4\\color = 7f007f\r\nFortran\\style4\\eolfill = false\r\nFortran\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper = fff0f5\r\nFortran\\style5\\color = 0\r\nFortran\\style5\\eolfill = true\r\nFortran\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper = fff0f5\r\nFortran\\style6\\color = 0\r\nFortran\\style6\\eolfill = false\r\nFortran\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style6\\paper = fff0f5\r\nFortran\\style7\\color = 0\r\nFortran\\style7\\eolfill = false\r\nFortran\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper = fff0f5\r\nFortran\\style8\\color = 8000ff\r\nFortran\\style8\\eolfill = false\r\nFortran\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper = fff0f5\r\nFortran\\style9\\color = b00040\r\nFortran\\style9\\eolfill = false\r\nFortran\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper = fff0f5\r\nFortran\\style10\\color = b04080\r\nFortran\\style10\\eolfill = false\r\nFortran\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper = fff0f5\r\nFortran\\style11\\color = 7f7f00\r\nFortran\\style11\\eolfill = false\r\nFortran\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper = fff0f5\r\nFortran\\style12\\color = 0\r\nFortran\\style12\\eolfill = false\r\nFortran\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style12\\paper = fff0f5\r\nFortran\\style13\\color = e0c0e0\r\nFortran\\style13\\eolfill = false\r\nFortran\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper = fff0f5\r\nFortran\\style14\\color = 0\r\nFortran\\style14\\eolfill = false\r\nFortran\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper = fff0f5\r\nFortran\\properties\\foldcompact = true\r\nFortran\\defaultcolor = 0\r\nFortran\\defaultpaper = fff0f5\r\nFortran\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color = 808080\r\nFortran77\\style0\\eolfill = false\r\nFortran77\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper = fff0f5\r\nFortran77\\style1\\color = 7f00\r\nFortran77\\style1\\eolfill = false\r\nFortran77\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper = fff0f5\r\nFortran77\\style2\\color = 7f7f\r\nFortran77\\style2\\eolfill = false\r\nFortran77\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper = fff0f5\r\nFortran77\\style3\\color = 7f007f\r\nFortran77\\style3\\eolfill = false\r\nFortran77\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper = fff0f5\r\nFortran77\\style4\\color = 7f007f\r\nFortran77\\style4\\eolfill = false\r\nFortran77\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper = fff0f5\r\nFortran77\\style5\\color = 0\r\nFortran77\\style5\\eolfill = true\r\nFortran77\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper = fff0f5\r\nFortran77\\style6\\color = 0\r\nFortran77\\style6\\eolfill = false\r\nFortran77\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style6\\paper = fff0f5\r\nFortran77\\style7\\color = 0\r\nFortran77\\style7\\eolfill = false\r\nFortran77\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper = fff0f5\r\nFortran77\\style8\\color = 8000ff\r\nFortran77\\style8\\eolfill = false\r\nFortran77\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper = fff0f5\r\nFortran77\\style9\\color = b00040\r\nFortran77\\style9\\eolfill = false\r\nFortran77\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper = fff0f5\r\nFortran77\\style10\\color = b04080\r\nFortran77\\style10\\eolfill = false\r\nFortran77\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper = fff0f5\r\nFortran77\\style11\\color = 7f7f00\r\nFortran77\\style11\\eolfill = false\r\nFortran77\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper = fff0f5\r\nFortran77\\style12\\color = 0\r\nFortran77\\style12\\eolfill = false\r\nFortran77\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style12\\paper = fff0f5\r\nFortran77\\style13\\color = e0c0e0\r\nFortran77\\style13\\eolfill = false\r\nFortran77\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper = fff0f5\r\nFortran77\\style14\\color = 0\r\nFortran77\\style14\\eolfill = false\r\nFortran77\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper = fff0f5\r\nFortran77\\properties\\foldcompact = true\r\nFortran77\\defaultcolor = 0\r\nFortran77\\defaultpaper = fff0f5\r\nFortran77\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/go.ini",
    "content": "[Scintilla]\r\nGO\\style0\\color = 808080\r\nGO\\style0\\eolfill = false\r\nGO\\style0\\font = Courier New, 14, 0, 0, 0\r\nGO\\style0\\paper = fff0f5\r\nGO\\style1\\color = 7f00\r\nGO\\style1\\eolfill = false\r\nGO\\style1\\font = Courier New, 14, 0, 0, 0\r\nGO\\style1\\paper = fff0f5\r\nGO\\style2\\color = 7f00\r\nGO\\style2\\eolfill = false\r\nGO\\style2\\font = Courier New, 14, 0, 0, 0\r\nGO\\style2\\paper = fff0f5\r\nGO\\style3\\color = 3f703f\r\nGO\\style3\\eolfill = false\r\nGO\\style3\\font = Courier New, 14, 0, 0, 0\r\nGO\\style3\\paper = fff0f5\r\nGO\\style4\\color = 7f7f\r\nGO\\style4\\eolfill = false\r\nGO\\style4\\font = Courier New, 14, 0, 0, 0\r\nGO\\style4\\paper = fff0f5\r\nGO\\style5\\color = 8000ff\r\nGO\\style5\\eolfill = false\r\nGO\\style5\\font = Courier New, 14, 0, 0, 0\r\nGO\\style5\\paper = fff0f5\r\nGO\\style6\\color = 7f007f\r\nGO\\style6\\eolfill = false\r\nGO\\style6\\font = Courier New, 14, 0, 0, 0\r\nGO\\style6\\paper = fff0f5\r\nGO\\style7\\color = 7f007f\r\nGO\\style7\\eolfill = false\r\nGO\\style7\\font = Courier New, 14, 0, 0, 0\r\nGO\\style7\\paper = fff0f5\r\nGO\\style8\\color = 0\r\nGO\\style8\\eolfill = false\r\nGO\\style8\\font = Courier New, 14, 0, 0, 0\r\nGO\\style8\\paper = fff0f5\r\nGO\\style9\\color = 7f7f00\r\nGO\\style9\\eolfill = false\r\nGO\\style9\\font = Courier New, 14, 0, 0, 0\r\nGO\\style9\\paper = fff0f5\r\nGO\\style10\\color = 0\r\nGO\\style10\\eolfill = false\r\nGO\\style10\\font = Courier New, 14, 0, 0, 0\r\nGO\\style10\\paper = fff0f5\r\nGO\\style11\\color = 0\r\nGO\\style11\\eolfill = false\r\nGO\\style11\\font = Courier New, 14, 0, 0, 0\r\nGO\\style11\\paper = fff0f5\r\nGO\\style12\\color = 0\r\nGO\\style12\\eolfill = true\r\nGO\\style12\\font = Courier New, 14, 0, 0, 0\r\nGO\\style12\\paper = fff0f5\r\nGO\\style13\\color = 7f00\r\nGO\\style13\\eolfill = true\r\nGO\\style13\\font = Courier New, 14, 0, 0, 0\r\nGO\\style13\\paper = fff0f5\r\nGO\\style14\\color = 3f7f3f\r\nGO\\style14\\eolfill = true\r\nGO\\style14\\font = Courier New, 14, 0, 0, 0\r\nGO\\style14\\paper = fff0f5\r\nGO\\style15\\color = 3f703f\r\nGO\\style15\\eolfill = false\r\nGO\\style15\\font = Courier New, 14, 0, 0, 0\r\nGO\\style15\\paper = fff0f5\r\nGO\\style16\\color = 0\r\nGO\\style16\\eolfill = false\r\nGO\\style16\\font = Courier New, 14, 0, 0, 0\r\nGO\\style16\\paper = fff0f5\r\nGO\\style17\\color = 3060a0\r\nGO\\style17\\eolfill = false\r\nGO\\style17\\font = Courier New, 14, 0, 0, 0\r\nGO\\style17\\paper = fff0f5\r\nGO\\style18\\color = 804020\r\nGO\\style18\\eolfill = false\r\nGO\\style18\\font = Courier New, 14, 0, 0, 0\r\nGO\\style18\\paper = fff0f5\r\nGO\\style19\\color = 0\r\nGO\\style19\\eolfill = false\r\nGO\\style19\\font = Courier New, 14, 0, 0, 0\r\nGO\\style19\\paper = fff0f5\r\nGO\\style20\\color = 7f007f\r\nGO\\style20\\eolfill = false\r\nGO\\style20\\font = Courier New, 14, 0, 0, 0\r\nGO\\style20\\paper = fff0f5\r\nGO\\style21\\color = 7f00\r\nGO\\style21\\eolfill = true\r\nGO\\style21\\font = Courier New, 14, 0, 0, 0\r\nGO\\style21\\paper = fff0f5\r\nGO\\style22\\color = 7f00\r\nGO\\style22\\eolfill = true\r\nGO\\style22\\font = Courier New, 14, 0, 0, 0\r\nGO\\style22\\paper = fff0f5\r\nGO\\style23\\color = 659900\r\nGO\\style23\\eolfill = false\r\nGO\\style23\\font = Courier New, 14, 0, 0, 0\r\nGO\\style23\\paper = fff0f5\r\nGO\\style24\\color = 3f703f\r\nGO\\style24\\eolfill = false\r\nGO\\style24\\font = Courier New, 14, 0, 0, 0\r\nGO\\style24\\paper = fff0f5\r\nGO\\style25\\color = c06000\r\nGO\\style25\\eolfill = false\r\nGO\\style25\\font = Courier New, 14, 0, 0, 0\r\nGO\\style25\\paper = fff0f5\r\nGO\\style26\\color = be07ff\r\nGO\\style26\\eolfill = false\r\nGO\\style26\\font = Courier New, 14, 0, 0, 0\r\nGO\\style26\\paper = fff0f5\r\nGO\\style27\\color = 0\r\nGO\\style27\\eolfill = false\r\nGO\\style27\\font = Courier New, 14, 0, 0, 0\r\nGO\\style27\\paper = fff0f5\r\nGO\\style64\\color = c0c0c0\r\nGO\\style64\\eolfill = false\r\nGO\\style64\\font = Courier New, 14, 0, 0, 0\r\nGO\\style64\\paper = fff0f5\r\nGO\\style65\\color = 90b090\r\nGO\\style65\\eolfill = false\r\nGO\\style65\\font = Courier New, 14, 0, 0, 0\r\nGO\\style65\\paper = fff0f5\r\nGO\\style66\\color = 90b090\r\nGO\\style66\\eolfill = false\r\nGO\\style66\\font = Courier New, 14, 0, 0, 0\r\nGO\\style66\\paper = fff0f5\r\nGO\\style67\\color = d0d0d0\r\nGO\\style67\\eolfill = false\r\nGO\\style67\\font = Courier New, 14, 0, 0, 0\r\nGO\\style67\\paper = fff0f5\r\nGO\\style68\\color = 90b090\r\nGO\\style68\\eolfill = false\r\nGO\\style68\\font = Courier New, 14, 0, 0, 0\r\nGO\\style68\\paper = fff0f5\r\nGO\\style69\\color = 9090b0\r\nGO\\style69\\eolfill = false\r\nGO\\style69\\font = Courier New, 14, 0, 0, 0\r\nGO\\style69\\paper = fff0f5\r\nGO\\style70\\color = b090b0\r\nGO\\style70\\eolfill = false\r\nGO\\style70\\font = Courier New, 14, 0, 0, 0\r\nGO\\style70\\paper = fff0f5\r\nGO\\style71\\color = b090b0\r\nGO\\style71\\eolfill = false\r\nGO\\style71\\font = Courier New, 14, 0, 0, 0\r\nGO\\style71\\paper = fff0f5\r\nGO\\style72\\color = c0c0c0\r\nGO\\style72\\eolfill = false\r\nGO\\style72\\font = Courier New, 14, 0, 0, 0\r\nGO\\style72\\paper = fff0f5\r\nGO\\style73\\color = b0b090\r\nGO\\style73\\eolfill = false\r\nGO\\style73\\font = Courier New, 14, 0, 0, 0\r\nGO\\style73\\paper = fff0f5\r\nGO\\style74\\color = b0b0b0\r\nGO\\style74\\eolfill = false\r\nGO\\style74\\font = Courier New, 14, 0, 0, 0\r\nGO\\style74\\paper = fff0f5\r\nGO\\style75\\color = b0b0b0\r\nGO\\style75\\eolfill = false\r\nGO\\style75\\font = Courier New, 14, 0, 0, 0\r\nGO\\style75\\paper = fff0f5\r\nGO\\style76\\color = 0\r\nGO\\style76\\eolfill = true\r\nGO\\style76\\font = Courier New, 14, 0, 0, 0\r\nGO\\style76\\paper = fff0f5\r\nGO\\style77\\color = 90b090\r\nGO\\style77\\eolfill = true\r\nGO\\style77\\font = Courier New, 14, 0, 0, 0\r\nGO\\style77\\paper = fff0f5\r\nGO\\style78\\color = 7faf7f\r\nGO\\style78\\eolfill = true\r\nGO\\style78\\font = Courier New, 14, 0, 0, 0\r\nGO\\style78\\paper = fff0f5\r\nGO\\style79\\color = c0c0c0\r\nGO\\style79\\eolfill = false\r\nGO\\style79\\font = Courier New, 14, 0, 0, 0\r\nGO\\style79\\paper = fff0f5\r\nGO\\style80\\color = c0c0c0\r\nGO\\style80\\eolfill = false\r\nGO\\style80\\font = Courier New, 14, 0, 0, 0\r\nGO\\style80\\paper = fff0f5\r\nGO\\style81\\color = c0c0c0\r\nGO\\style81\\eolfill = false\r\nGO\\style81\\font = Courier New, 14, 0, 0, 0\r\nGO\\style81\\paper = fff0f5\r\nGO\\style82\\color = c0c0c0\r\nGO\\style82\\eolfill = false\r\nGO\\style82\\font = Courier New, 14, 0, 0, 0\r\nGO\\style82\\paper = fff0f5\r\nGO\\style83\\color = b0b0b0\r\nGO\\style83\\eolfill = false\r\nGO\\style83\\font = Courier New, 14, 0, 0, 0\r\nGO\\style83\\paper = fff0f5\r\nGO\\style84\\color = b090b0\r\nGO\\style84\\eolfill = false\r\nGO\\style84\\font = Courier New, 14, 0, 0, 0\r\nGO\\style84\\paper = fff0f5\r\nGO\\style85\\color = 90b090\r\nGO\\style85\\eolfill = true\r\nGO\\style85\\font = Courier New, 14, 0, 0, 0\r\nGO\\style85\\paper = fff0f5\r\nGO\\style86\\color = 90b090\r\nGO\\style86\\eolfill = true\r\nGO\\style86\\font = Courier New, 14, 0, 0, 0\r\nGO\\style86\\paper = fff0f5\r\nGO\\style87\\color = a0c090\r\nGO\\style87\\eolfill = false\r\nGO\\style87\\font = Courier New, 14, 0, 0, 0\r\nGO\\style87\\paper = fff0f5\r\nGO\\style88\\color = c0c0c0\r\nGO\\style88\\eolfill = false\r\nGO\\style88\\font = Courier New, 14, 0, 0, 0\r\nGO\\style88\\paper = fff0f5\r\nGO\\style89\\color = d7a090\r\nGO\\style89\\eolfill = false\r\nGO\\style89\\font = Courier New, 14, 0, 0, 0\r\nGO\\style89\\paper = fff0f5\r\nGO\\style90\\color = c3a1cf\r\nGO\\style90\\eolfill = false\r\nGO\\style90\\font = Courier New, 14, 0, 0, 0\r\nGO\\style90\\paper = fff0f5\r\nGO\\style91\\color = 0\r\nGO\\style91\\eolfill = false\r\nGO\\style91\\font = Courier New, 14, 0, 0, 0\r\nGO\\style91\\paper = fff0f5\r\nGO\\properties\\foldatelse = false\r\nGO\\properties\\foldcomments = false\r\nGO\\properties\\foldcompact = true\r\nGO\\properties\\foldpreprocessor = true\r\nGO\\properties\\stylepreprocessor = false\r\nGO\\properties\\dollars = true\r\nGO\\properties\\highlighttriple = false\r\nGO\\properties\\highlighthash = false\r\nGO\\properties\\highlightback = false\r\nGO\\properties\\highlightescape = false\r\nGO\\properties\\verbatimstringescape = false\r\nGO\\defaultcolor = 0\r\nGO\\defaultpaper = fff0f5\r\nGO\\defaultfont = Courier New, 14, 0, 0, 0\r\nGO\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = fff0f5\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = fff0f5\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = fff0f5\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = fff0f5\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = fff0f5\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = fff0f5\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = fff0f5\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = fff0f5\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = fff0f5\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = fff0f5\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = fff0f5\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = fff0f5\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = fff0f5\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = fff0f5\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = fff0f5\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = fff0f5\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = fff0f5\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = fff0f5\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = fff0f5\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = fff0f5\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = fff0f5\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = fff0f5\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = fff0f5\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = fff0f5\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = fff0f5\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = fff0f5\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = fff0f5\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = fff0f5\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = fff0f5\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = fff0f5\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = fff0f5\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = fff0f5\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = fff0f5\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = fff0f5\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = fff0f5\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = fff0f5\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = fff0f5\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = fff0f5\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = fff0f5\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = fff0f5\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = fff0f5\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = fff0f5\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = fff0f5\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = fff0f5\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = fff0f5\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = fff0f5\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = fff0f5\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = fff0f5\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = fff0f5\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = fff0f5\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = fff0f5\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = fff0f5\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = fff0f5\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = fff0f5\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = fff0f5\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = fff0f5\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = fff0f5\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = fff0f5\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = fff0f5\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = fff0f5\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = fff0f5\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = fff0f5\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = fff0f5\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = fff0f5\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = fff0f5\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = fff0f5\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = fff0f5\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = fff0f5\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = fff0f5\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = fff0f5\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = fff0f5\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = fff0f5\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = fff0f5\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = fff0f5\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = fff0f5\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = fff0f5\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = fff0f5\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = fff0f5\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = fff0f5\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = fff0f5\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = fff0f5\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = fff0f5\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = fff0f5\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = fff0f5\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = fff0f5\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = fff0f5\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = fff0f5\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = fff0f5\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = fff0f5\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = fff0f5\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = fff0f5\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = fff0f5\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = fff0f5\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = fff0f5\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = fff0f5\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = fff0f5\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = fff0f5\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = fff0f5\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = fff0f5\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = fff0f5\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = fff0f5\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = fff0f5\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = fff0f5\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = fff0f5\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = fff0f5\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = fff0f5\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = fff0f5\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = fff0f5\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = fff0f5\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = fff0f5\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/idl.ini",
    "content": "[Scintilla]\r\nIDL\\style0\\color = 808080\r\nIDL\\style0\\eolfill = false\r\nIDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style0\\paper = fff0f5\r\nIDL\\style1\\color = 7f00\r\nIDL\\style1\\eolfill = false\r\nIDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style1\\paper = fff0f5\r\nIDL\\style2\\color = 7f00\r\nIDL\\style2\\eolfill = false\r\nIDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style2\\paper = fff0f5\r\nIDL\\style3\\color = 3f703f\r\nIDL\\style3\\eolfill = false\r\nIDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style3\\paper = fff0f5\r\nIDL\\style4\\color = 7f7f\r\nIDL\\style4\\eolfill = false\r\nIDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style4\\paper = fff0f5\r\nIDL\\style5\\color = 8000ff\r\nIDL\\style5\\eolfill = false\r\nIDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style5\\paper = fff0f5\r\nIDL\\style6\\color = 7f007f\r\nIDL\\style6\\eolfill = false\r\nIDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style6\\paper = fff0f5\r\nIDL\\style7\\color = 7f007f\r\nIDL\\style7\\eolfill = false\r\nIDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style7\\paper = fff0f5\r\nIDL\\style8\\color = 804080\r\nIDL\\style8\\eolfill = false\r\nIDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style8\\paper = fff0f5\r\nIDL\\style9\\color = 7f7f00\r\nIDL\\style9\\eolfill = false\r\nIDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style9\\paper = fff0f5\r\nIDL\\style10\\color = 0\r\nIDL\\style10\\eolfill = false\r\nIDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style10\\paper = fff0f5\r\nIDL\\style11\\color = 0\r\nIDL\\style11\\eolfill = false\r\nIDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style11\\paper = fff0f5\r\nIDL\\style12\\color = 0\r\nIDL\\style12\\eolfill = true\r\nIDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style12\\paper = fff0f5\r\nIDL\\style13\\color = 7f00\r\nIDL\\style13\\eolfill = true\r\nIDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style13\\paper = fff0f5\r\nIDL\\style14\\color = 3f7f3f\r\nIDL\\style14\\eolfill = true\r\nIDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style14\\paper = fff0f5\r\nIDL\\style15\\color = 3f703f\r\nIDL\\style15\\eolfill = false\r\nIDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style15\\paper = fff0f5\r\nIDL\\style16\\color = 0\r\nIDL\\style16\\eolfill = false\r\nIDL\\style16\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style16\\paper = fff0f5\r\nIDL\\style17\\color = 3060a0\r\nIDL\\style17\\eolfill = false\r\nIDL\\style17\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style17\\paper = fff0f5\r\nIDL\\style18\\color = 804020\r\nIDL\\style18\\eolfill = false\r\nIDL\\style18\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style18\\paper = fff0f5\r\nIDL\\style19\\color = 0\r\nIDL\\style19\\eolfill = false\r\nIDL\\style19\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style19\\paper = fff0f5\r\nIDL\\style20\\color = 7f007f\r\nIDL\\style20\\eolfill = false\r\nIDL\\style20\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style20\\paper = fff0f5\r\nIDL\\style21\\color = 7f00\r\nIDL\\style21\\eolfill = true\r\nIDL\\style21\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style21\\paper = fff0f5\r\nIDL\\style22\\color = 7f00\r\nIDL\\style22\\eolfill = true\r\nIDL\\style22\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style22\\paper = fff0f5\r\nIDL\\style23\\color = 659900\r\nIDL\\style23\\eolfill = false\r\nIDL\\style23\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style23\\paper = fff0f5\r\nIDL\\style24\\color = 3f703f\r\nIDL\\style24\\eolfill = false\r\nIDL\\style24\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style24\\paper = fff0f5\r\nIDL\\style25\\color = c06000\r\nIDL\\style25\\eolfill = false\r\nIDL\\style25\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style25\\paper = fff0f5\r\nIDL\\style26\\color = be07ff\r\nIDL\\style26\\eolfill = false\r\nIDL\\style26\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style26\\paper = fff0f5\r\nIDL\\style27\\color = 0\r\nIDL\\style27\\eolfill = false\r\nIDL\\style27\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style27\\paper = fff0f5\r\nIDL\\style64\\color = c0c0c0\r\nIDL\\style64\\eolfill = false\r\nIDL\\style64\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style64\\paper = fff0f5\r\nIDL\\style65\\color = 90b090\r\nIDL\\style65\\eolfill = false\r\nIDL\\style65\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style65\\paper = fff0f5\r\nIDL\\style66\\color = 90b090\r\nIDL\\style66\\eolfill = false\r\nIDL\\style66\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style66\\paper = fff0f5\r\nIDL\\style67\\color = d0d0d0\r\nIDL\\style67\\eolfill = false\r\nIDL\\style67\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style67\\paper = fff0f5\r\nIDL\\style68\\color = 90b090\r\nIDL\\style68\\eolfill = false\r\nIDL\\style68\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style68\\paper = fff0f5\r\nIDL\\style69\\color = 9090b0\r\nIDL\\style69\\eolfill = false\r\nIDL\\style69\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style69\\paper = fff0f5\r\nIDL\\style70\\color = b090b0\r\nIDL\\style70\\eolfill = false\r\nIDL\\style70\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style70\\paper = fff0f5\r\nIDL\\style71\\color = b090b0\r\nIDL\\style71\\eolfill = false\r\nIDL\\style71\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style71\\paper = fff0f5\r\nIDL\\style72\\color = c0c0c0\r\nIDL\\style72\\eolfill = false\r\nIDL\\style72\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style72\\paper = fff0f5\r\nIDL\\style73\\color = b0b090\r\nIDL\\style73\\eolfill = false\r\nIDL\\style73\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style73\\paper = fff0f5\r\nIDL\\style74\\color = b0b0b0\r\nIDL\\style74\\eolfill = false\r\nIDL\\style74\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style74\\paper = fff0f5\r\nIDL\\style75\\color = b0b0b0\r\nIDL\\style75\\eolfill = false\r\nIDL\\style75\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style75\\paper = fff0f5\r\nIDL\\style76\\color = 0\r\nIDL\\style76\\eolfill = true\r\nIDL\\style76\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style76\\paper = fff0f5\r\nIDL\\style77\\color = 90b090\r\nIDL\\style77\\eolfill = true\r\nIDL\\style77\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style77\\paper = fff0f5\r\nIDL\\style78\\color = 7faf7f\r\nIDL\\style78\\eolfill = true\r\nIDL\\style78\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style78\\paper = fff0f5\r\nIDL\\style79\\color = c0c0c0\r\nIDL\\style79\\eolfill = false\r\nIDL\\style79\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style79\\paper = fff0f5\r\nIDL\\style80\\color = c0c0c0\r\nIDL\\style80\\eolfill = false\r\nIDL\\style80\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style80\\paper = fff0f5\r\nIDL\\style81\\color = c0c0c0\r\nIDL\\style81\\eolfill = false\r\nIDL\\style81\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style81\\paper = fff0f5\r\nIDL\\style82\\color = c0c0c0\r\nIDL\\style82\\eolfill = false\r\nIDL\\style82\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style82\\paper = fff0f5\r\nIDL\\style83\\color = b0b0b0\r\nIDL\\style83\\eolfill = false\r\nIDL\\style83\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style83\\paper = fff0f5\r\nIDL\\style84\\color = b090b0\r\nIDL\\style84\\eolfill = false\r\nIDL\\style84\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style84\\paper = fff0f5\r\nIDL\\style85\\color = 90b090\r\nIDL\\style85\\eolfill = true\r\nIDL\\style85\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style85\\paper = fff0f5\r\nIDL\\style86\\color = 90b090\r\nIDL\\style86\\eolfill = true\r\nIDL\\style86\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style86\\paper = fff0f5\r\nIDL\\style87\\color = a0c090\r\nIDL\\style87\\eolfill = false\r\nIDL\\style87\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style87\\paper = fff0f5\r\nIDL\\style88\\color = c0c0c0\r\nIDL\\style88\\eolfill = false\r\nIDL\\style88\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style88\\paper = fff0f5\r\nIDL\\style89\\color = d7a090\r\nIDL\\style89\\eolfill = false\r\nIDL\\style89\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style89\\paper = fff0f5\r\nIDL\\style90\\color = c3a1cf\r\nIDL\\style90\\eolfill = false\r\nIDL\\style90\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style90\\paper = fff0f5\r\nIDL\\style91\\color = 0\r\nIDL\\style91\\eolfill = false\r\nIDL\\style91\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style91\\paper = fff0f5\r\nIDL\\properties\\foldatelse = false\r\nIDL\\properties\\foldcomments = false\r\nIDL\\properties\\foldcompact = true\r\nIDL\\properties\\foldpreprocessor = true\r\nIDL\\properties\\stylepreprocessor = false\r\nIDL\\properties\\dollars = true\r\nIDL\\properties\\highlighttriple = false\r\nIDL\\properties\\highlighthash = false\r\nIDL\\properties\\highlightback = false\r\nIDL\\properties\\highlightescape = false\r\nIDL\\properties\\verbatimstringescape = false\r\nIDL\\defaultcolor = 0\r\nIDL\\defaultpaper = fff0f5\r\nIDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nIDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = fff0f5\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = fff0f5\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = fff0f5\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = fff0f5\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = fff0f5\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = fff0f5\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = fff0f5\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color = 808080\r\nJava\\style0\\eolfill = false\r\nJava\\style0\\font = Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper = fff0f5\r\nJava\\style1\\color = 7f00\r\nJava\\style1\\eolfill = false\r\nJava\\style1\\font = Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper = fff0f5\r\nJava\\style2\\color = 7f00\r\nJava\\style2\\eolfill = false\r\nJava\\style2\\font = Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper = fff0f5\r\nJava\\style3\\color = 3f703f\r\nJava\\style3\\eolfill = false\r\nJava\\style3\\font = Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper = fff0f5\r\nJava\\style4\\color = 7f7f\r\nJava\\style4\\eolfill = false\r\nJava\\style4\\font = Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper = fff0f5\r\nJava\\style5\\color = 8000ff\r\nJava\\style5\\eolfill = false\r\nJava\\style5\\font = Courier New, 14, 0, 0, 0\r\nJava\\style5\\paper = fff0f5\r\nJava\\style6\\color = 7f007f\r\nJava\\style6\\eolfill = false\r\nJava\\style6\\font = Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper = fff0f5\r\nJava\\style7\\color = 7f007f\r\nJava\\style7\\eolfill = false\r\nJava\\style7\\font = Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper = fff0f5\r\nJava\\style8\\color = 0\r\nJava\\style8\\eolfill = false\r\nJava\\style8\\font = Courier New, 14, 0, 0, 0\r\nJava\\style8\\paper = fff0f5\r\nJava\\style9\\color = 7f7f00\r\nJava\\style9\\eolfill = false\r\nJava\\style9\\font = Courier New, 14, 0, 0, 0\r\nJava\\style9\\paper = fff0f5\r\nJava\\style10\\color = 0\r\nJava\\style10\\eolfill = false\r\nJava\\style10\\font = Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper = fff0f5\r\nJava\\style11\\color = 0\r\nJava\\style11\\eolfill = false\r\nJava\\style11\\font = Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper = fff0f5\r\nJava\\style12\\color = 0\r\nJava\\style12\\eolfill = true\r\nJava\\style12\\font = Courier New, 14, 0, 0, 0\r\nJava\\style12\\paper = fff0f5\r\nJava\\style13\\color = 7f00\r\nJava\\style13\\eolfill = true\r\nJava\\style13\\font = Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper = fff0f5\r\nJava\\style14\\color = 3f7f3f\r\nJava\\style14\\eolfill = true\r\nJava\\style14\\font = Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper = fff0f5\r\nJava\\style15\\color = 3f703f\r\nJava\\style15\\eolfill = false\r\nJava\\style15\\font = Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper = fff0f5\r\nJava\\style16\\color = 0\r\nJava\\style16\\eolfill = false\r\nJava\\style16\\font = Courier New, 14, 0, 0, 0\r\nJava\\style16\\paper = fff0f5\r\nJava\\style17\\color = 3060a0\r\nJava\\style17\\eolfill = false\r\nJava\\style17\\font = Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper = fff0f5\r\nJava\\style18\\color = 804020\r\nJava\\style18\\eolfill = false\r\nJava\\style18\\font = Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper = fff0f5\r\nJava\\style19\\color = 0\r\nJava\\style19\\eolfill = false\r\nJava\\style19\\font = Courier New, 14, 0, 0, 0\r\nJava\\style19\\paper = fff0f5\r\nJava\\style20\\color = 7f007f\r\nJava\\style20\\eolfill = false\r\nJava\\style20\\font = Courier New, 14, 0, 0, 0\r\nJava\\style20\\paper = fff0f5\r\nJava\\style21\\color = 7f00\r\nJava\\style21\\eolfill = true\r\nJava\\style21\\font = Courier New, 14, 0, 0, 0\r\nJava\\style21\\paper = fff0f5\r\nJava\\style22\\color = 7f00\r\nJava\\style22\\eolfill = true\r\nJava\\style22\\font = Courier New, 14, 0, 0, 0\r\nJava\\style22\\paper = fff0f5\r\nJava\\style23\\color = 659900\r\nJava\\style23\\eolfill = false\r\nJava\\style23\\font = Courier New, 14, 0, 0, 0\r\nJava\\style23\\paper = fff0f5\r\nJava\\style24\\color = 3f703f\r\nJava\\style24\\eolfill = false\r\nJava\\style24\\font = Courier New, 14, 0, 0, 0\r\nJava\\style24\\paper = fff0f5\r\nJava\\style25\\color = c06000\r\nJava\\style25\\eolfill = false\r\nJava\\style25\\font = Courier New, 14, 0, 0, 0\r\nJava\\style25\\paper = fff0f5\r\nJava\\style26\\color = be07ff\r\nJava\\style26\\eolfill = false\r\nJava\\style26\\font = Courier New, 14, 0, 0, 0\r\nJava\\style26\\paper = fff0f5\r\nJava\\style27\\color = 0\r\nJava\\style27\\eolfill = false\r\nJava\\style27\\font = Courier New, 14, 0, 0, 0\r\nJava\\style27\\paper = fff0f5\r\nJava\\style64\\color = c0c0c0\r\nJava\\style64\\eolfill = false\r\nJava\\style64\\font = Courier New, 14, 0, 0, 0\r\nJava\\style64\\paper = fff0f5\r\nJava\\style65\\color = 90b090\r\nJava\\style65\\eolfill = false\r\nJava\\style65\\font = Courier New, 14, 0, 0, 0\r\nJava\\style65\\paper = fff0f5\r\nJava\\style66\\color = 90b090\r\nJava\\style66\\eolfill = false\r\nJava\\style66\\font = Courier New, 14, 0, 0, 0\r\nJava\\style66\\paper = fff0f5\r\nJava\\style67\\color = d0d0d0\r\nJava\\style67\\eolfill = false\r\nJava\\style67\\font = Courier New, 14, 0, 0, 0\r\nJava\\style67\\paper = fff0f5\r\nJava\\style68\\color = 90b090\r\nJava\\style68\\eolfill = false\r\nJava\\style68\\font = Courier New, 14, 0, 0, 0\r\nJava\\style68\\paper = fff0f5\r\nJava\\style69\\color = 9090b0\r\nJava\\style69\\eolfill = false\r\nJava\\style69\\font = Courier New, 14, 0, 0, 0\r\nJava\\style69\\paper = fff0f5\r\nJava\\style70\\color = b090b0\r\nJava\\style70\\eolfill = false\r\nJava\\style70\\font = Courier New, 14, 0, 0, 0\r\nJava\\style70\\paper = fff0f5\r\nJava\\style71\\color = b090b0\r\nJava\\style71\\eolfill = false\r\nJava\\style71\\font = Courier New, 14, 0, 0, 0\r\nJava\\style71\\paper = fff0f5\r\nJava\\style72\\color = c0c0c0\r\nJava\\style72\\eolfill = false\r\nJava\\style72\\font = Courier New, 14, 0, 0, 0\r\nJava\\style72\\paper = fff0f5\r\nJava\\style73\\color = b0b090\r\nJava\\style73\\eolfill = false\r\nJava\\style73\\font = Courier New, 14, 0, 0, 0\r\nJava\\style73\\paper = fff0f5\r\nJava\\style74\\color = b0b0b0\r\nJava\\style74\\eolfill = false\r\nJava\\style74\\font = Courier New, 14, 0, 0, 0\r\nJava\\style74\\paper = fff0f5\r\nJava\\style75\\color = b0b0b0\r\nJava\\style75\\eolfill = false\r\nJava\\style75\\font = Courier New, 14, 0, 0, 0\r\nJava\\style75\\paper = fff0f5\r\nJava\\style76\\color = 0\r\nJava\\style76\\eolfill = true\r\nJava\\style76\\font = Courier New, 14, 0, 0, 0\r\nJava\\style76\\paper = fff0f5\r\nJava\\style77\\color = 90b090\r\nJava\\style77\\eolfill = true\r\nJava\\style77\\font = Courier New, 14, 0, 0, 0\r\nJava\\style77\\paper = fff0f5\r\nJava\\style78\\color = 7faf7f\r\nJava\\style78\\eolfill = true\r\nJava\\style78\\font = Courier New, 14, 0, 0, 0\r\nJava\\style78\\paper = fff0f5\r\nJava\\style79\\color = c0c0c0\r\nJava\\style79\\eolfill = false\r\nJava\\style79\\font = Courier New, 14, 0, 0, 0\r\nJava\\style79\\paper = fff0f5\r\nJava\\style80\\color = c0c0c0\r\nJava\\style80\\eolfill = false\r\nJava\\style80\\font = Courier New, 14, 0, 0, 0\r\nJava\\style80\\paper = fff0f5\r\nJava\\style81\\color = c0c0c0\r\nJava\\style81\\eolfill = false\r\nJava\\style81\\font = Courier New, 14, 0, 0, 0\r\nJava\\style81\\paper = fff0f5\r\nJava\\style82\\color = c0c0c0\r\nJava\\style82\\eolfill = false\r\nJava\\style82\\font = Courier New, 14, 0, 0, 0\r\nJava\\style82\\paper = fff0f5\r\nJava\\style83\\color = b0b0b0\r\nJava\\style83\\eolfill = false\r\nJava\\style83\\font = Courier New, 14, 0, 0, 0\r\nJava\\style83\\paper = fff0f5\r\nJava\\style84\\color = b090b0\r\nJava\\style84\\eolfill = false\r\nJava\\style84\\font = Courier New, 14, 0, 0, 0\r\nJava\\style84\\paper = fff0f5\r\nJava\\style85\\color = 90b090\r\nJava\\style85\\eolfill = true\r\nJava\\style85\\font = Courier New, 14, 0, 0, 0\r\nJava\\style85\\paper = fff0f5\r\nJava\\style86\\color = 90b090\r\nJava\\style86\\eolfill = true\r\nJava\\style86\\font = Courier New, 14, 0, 0, 0\r\nJava\\style86\\paper = fff0f5\r\nJava\\style87\\color = a0c090\r\nJava\\style87\\eolfill = false\r\nJava\\style87\\font = Courier New, 14, 0, 0, 0\r\nJava\\style87\\paper = fff0f5\r\nJava\\style88\\color = c0c0c0\r\nJava\\style88\\eolfill = false\r\nJava\\style88\\font = Courier New, 14, 0, 0, 0\r\nJava\\style88\\paper = fff0f5\r\nJava\\style89\\color = d7a090\r\nJava\\style89\\eolfill = false\r\nJava\\style89\\font = Courier New, 14, 0, 0, 0\r\nJava\\style89\\paper = fff0f5\r\nJava\\style90\\color = c3a1cf\r\nJava\\style90\\eolfill = false\r\nJava\\style90\\font = Courier New, 14, 0, 0, 0\r\nJava\\style90\\paper = fff0f5\r\nJava\\style91\\color = 0\r\nJava\\style91\\eolfill = false\r\nJava\\style91\\font = Courier New, 14, 0, 0, 0\r\nJava\\style91\\paper = fff0f5\r\nJava\\properties\\foldatelse = false\r\nJava\\properties\\foldcomments = false\r\nJava\\properties\\foldcompact = true\r\nJava\\properties\\foldpreprocessor = true\r\nJava\\properties\\stylepreprocessor = false\r\nJava\\properties\\dollars = true\r\nJava\\properties\\highlighttriple = false\r\nJava\\properties\\highlighthash = false\r\nJava\\properties\\highlightback = false\r\nJava\\properties\\highlightescape = false\r\nJava\\properties\\verbatimstringescape = false\r\nJava\\defaultcolor = 0\r\nJava\\defaultpaper = fff0f5\r\nJava\\defaultfont = Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color = 808080\r\nJavaScript\\style0\\eolfill = false\r\nJavaScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper = fff0f5\r\nJavaScript\\style1\\color = 7f00\r\nJavaScript\\style1\\eolfill = false\r\nJavaScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style1\\paper = fff0f5\r\nJavaScript\\style2\\color = 7f00\r\nJavaScript\\style2\\eolfill = false\r\nJavaScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style2\\paper = fff0f5\r\nJavaScript\\style3\\color = 3f703f\r\nJavaScript\\style3\\eolfill = false\r\nJavaScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style3\\paper = fff0f5\r\nJavaScript\\style4\\color = 7f7f\r\nJavaScript\\style4\\eolfill = false\r\nJavaScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style4\\paper = fff0f5\r\nJavaScript\\style5\\color = 8000ff\r\nJavaScript\\style5\\eolfill = false\r\nJavaScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style5\\paper = fff0f5\r\nJavaScript\\style6\\color = 7f007f\r\nJavaScript\\style6\\eolfill = false\r\nJavaScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style6\\paper = fff0f5\r\nJavaScript\\style7\\color = 7f007f\r\nJavaScript\\style7\\eolfill = false\r\nJavaScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style7\\paper = fff0f5\r\nJavaScript\\style8\\color = 0\r\nJavaScript\\style8\\eolfill = false\r\nJavaScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style8\\paper = fff0f5\r\nJavaScript\\style9\\color = 7f7f00\r\nJavaScript\\style9\\eolfill = false\r\nJavaScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style9\\paper = fff0f5\r\nJavaScript\\style10\\color = 0\r\nJavaScript\\style10\\eolfill = false\r\nJavaScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style10\\paper = fff0f5\r\nJavaScript\\style11\\color = 0\r\nJavaScript\\style11\\eolfill = false\r\nJavaScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style11\\paper = fff0f5\r\nJavaScript\\style12\\color = 0\r\nJavaScript\\style12\\eolfill = true\r\nJavaScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style12\\paper = fff0f5\r\nJavaScript\\style13\\color = 7f00\r\nJavaScript\\style13\\eolfill = true\r\nJavaScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style13\\paper = fff0f5\r\nJavaScript\\style14\\color = 3f7f3f\r\nJavaScript\\style14\\eolfill = true\r\nJavaScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style14\\paper = fff0f5\r\nJavaScript\\style15\\color = 3f703f\r\nJavaScript\\style15\\eolfill = false\r\nJavaScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style15\\paper = fff0f5\r\nJavaScript\\style16\\color = 0\r\nJavaScript\\style16\\eolfill = false\r\nJavaScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style16\\paper = fff0f5\r\nJavaScript\\style17\\color = 3060a0\r\nJavaScript\\style17\\eolfill = false\r\nJavaScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style17\\paper = fff0f5\r\nJavaScript\\style18\\color = 804020\r\nJavaScript\\style18\\eolfill = false\r\nJavaScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style18\\paper = fff0f5\r\nJavaScript\\style19\\color = 0\r\nJavaScript\\style19\\eolfill = false\r\nJavaScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style19\\paper = fff0f5\r\nJavaScript\\style20\\color = 7f007f\r\nJavaScript\\style20\\eolfill = false\r\nJavaScript\\style20\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper = fff0f5\r\nJavaScript\\style21\\color = 7f00\r\nJavaScript\\style21\\eolfill = true\r\nJavaScript\\style21\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style21\\paper = fff0f5\r\nJavaScript\\style22\\color = 7f00\r\nJavaScript\\style22\\eolfill = true\r\nJavaScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style22\\paper = fff0f5\r\nJavaScript\\style23\\color = 659900\r\nJavaScript\\style23\\eolfill = false\r\nJavaScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style23\\paper = fff0f5\r\nJavaScript\\style24\\color = 3f703f\r\nJavaScript\\style24\\eolfill = false\r\nJavaScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style24\\paper = fff0f5\r\nJavaScript\\style25\\color = c06000\r\nJavaScript\\style25\\eolfill = false\r\nJavaScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style25\\paper = fff0f5\r\nJavaScript\\style26\\color = be07ff\r\nJavaScript\\style26\\eolfill = false\r\nJavaScript\\style26\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style26\\paper = fff0f5\r\nJavaScript\\style27\\color = 0\r\nJavaScript\\style27\\eolfill = false\r\nJavaScript\\style27\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style27\\paper = fff0f5\r\nJavaScript\\style64\\color = c0c0c0\r\nJavaScript\\style64\\eolfill = false\r\nJavaScript\\style64\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style64\\paper = fff0f5\r\nJavaScript\\style65\\color = 90b090\r\nJavaScript\\style65\\eolfill = false\r\nJavaScript\\style65\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style65\\paper = fff0f5\r\nJavaScript\\style66\\color = 90b090\r\nJavaScript\\style66\\eolfill = false\r\nJavaScript\\style66\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style66\\paper = fff0f5\r\nJavaScript\\style67\\color = d0d0d0\r\nJavaScript\\style67\\eolfill = false\r\nJavaScript\\style67\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style67\\paper = fff0f5\r\nJavaScript\\style68\\color = 90b090\r\nJavaScript\\style68\\eolfill = false\r\nJavaScript\\style68\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style68\\paper = fff0f5\r\nJavaScript\\style69\\color = 9090b0\r\nJavaScript\\style69\\eolfill = false\r\nJavaScript\\style69\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style69\\paper = fff0f5\r\nJavaScript\\style70\\color = b090b0\r\nJavaScript\\style70\\eolfill = false\r\nJavaScript\\style70\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style70\\paper = fff0f5\r\nJavaScript\\style71\\color = b090b0\r\nJavaScript\\style71\\eolfill = false\r\nJavaScript\\style71\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style71\\paper = fff0f5\r\nJavaScript\\style72\\color = c0c0c0\r\nJavaScript\\style72\\eolfill = false\r\nJavaScript\\style72\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style72\\paper = fff0f5\r\nJavaScript\\style73\\color = b0b090\r\nJavaScript\\style73\\eolfill = false\r\nJavaScript\\style73\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style73\\paper = fff0f5\r\nJavaScript\\style74\\color = b0b0b0\r\nJavaScript\\style74\\eolfill = false\r\nJavaScript\\style74\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style74\\paper = fff0f5\r\nJavaScript\\style75\\color = b0b0b0\r\nJavaScript\\style75\\eolfill = false\r\nJavaScript\\style75\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style75\\paper = fff0f5\r\nJavaScript\\style76\\color = 0\r\nJavaScript\\style76\\eolfill = true\r\nJavaScript\\style76\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style76\\paper = fff0f5\r\nJavaScript\\style77\\color = 90b090\r\nJavaScript\\style77\\eolfill = true\r\nJavaScript\\style77\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style77\\paper = fff0f5\r\nJavaScript\\style78\\color = 7faf7f\r\nJavaScript\\style78\\eolfill = true\r\nJavaScript\\style78\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style78\\paper = fff0f5\r\nJavaScript\\style79\\color = c0c0c0\r\nJavaScript\\style79\\eolfill = false\r\nJavaScript\\style79\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style79\\paper = fff0f5\r\nJavaScript\\style80\\color = c0c0c0\r\nJavaScript\\style80\\eolfill = false\r\nJavaScript\\style80\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style80\\paper = fff0f5\r\nJavaScript\\style81\\color = c0c0c0\r\nJavaScript\\style81\\eolfill = false\r\nJavaScript\\style81\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style81\\paper = fff0f5\r\nJavaScript\\style82\\color = c0c0c0\r\nJavaScript\\style82\\eolfill = false\r\nJavaScript\\style82\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style82\\paper = fff0f5\r\nJavaScript\\style83\\color = b0b0b0\r\nJavaScript\\style83\\eolfill = false\r\nJavaScript\\style83\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style83\\paper = fff0f5\r\nJavaScript\\style84\\color = b090b0\r\nJavaScript\\style84\\eolfill = false\r\nJavaScript\\style84\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style84\\paper = fff0f5\r\nJavaScript\\style85\\color = 90b090\r\nJavaScript\\style85\\eolfill = true\r\nJavaScript\\style85\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style85\\paper = fff0f5\r\nJavaScript\\style86\\color = 90b090\r\nJavaScript\\style86\\eolfill = true\r\nJavaScript\\style86\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style86\\paper = fff0f5\r\nJavaScript\\style87\\color = a0c090\r\nJavaScript\\style87\\eolfill = false\r\nJavaScript\\style87\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style87\\paper = fff0f5\r\nJavaScript\\style88\\color = c0c0c0\r\nJavaScript\\style88\\eolfill = false\r\nJavaScript\\style88\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style88\\paper = fff0f5\r\nJavaScript\\style89\\color = d7a090\r\nJavaScript\\style89\\eolfill = false\r\nJavaScript\\style89\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style89\\paper = fff0f5\r\nJavaScript\\style90\\color = c3a1cf\r\nJavaScript\\style90\\eolfill = false\r\nJavaScript\\style90\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style90\\paper = fff0f5\r\nJavaScript\\style91\\color = 0\r\nJavaScript\\style91\\eolfill = false\r\nJavaScript\\style91\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style91\\paper = fff0f5\r\nJavaScript\\properties\\foldatelse = false\r\nJavaScript\\properties\\foldcomments = false\r\nJavaScript\\properties\\foldcompact = true\r\nJavaScript\\properties\\foldpreprocessor = true\r\nJavaScript\\properties\\stylepreprocessor = false\r\nJavaScript\\properties\\dollars = true\r\nJavaScript\\properties\\highlighttriple = false\r\nJavaScript\\properties\\highlighthash = false\r\nJavaScript\\properties\\highlightback = false\r\nJavaScript\\properties\\highlightescape = false\r\nJavaScript\\properties\\verbatimstringescape = false\r\nJavaScript\\defaultcolor = 0\r\nJavaScript\\defaultpaper = fff0f5\r\nJavaScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color = 0\r\nJSON\\style0\\eolfill = false\r\nJSON\\style0\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper = fff0f5\r\nJSON\\style1\\color = 7f7f\r\nJSON\\style1\\eolfill = false\r\nJSON\\style1\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper = fff0f5\r\nJSON\\style2\\color = 7f0000\r\nJSON\\style2\\eolfill = false\r\nJSON\\style2\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper = fff0f5\r\nJSON\\style3\\color = ffffff\r\nJSON\\style3\\eolfill = true\r\nJSON\\style3\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper = fff0f5\r\nJSON\\style4\\color = 880ae8\r\nJSON\\style4\\eolfill = false\r\nJSON\\style4\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper = fff0f5\r\nJSON\\style5\\color = b982e\r\nJSON\\style5\\eolfill = false\r\nJSON\\style5\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper = fff0f5\r\nJSON\\style6\\color = 5bbae\r\nJSON\\style6\\eolfill = false\r\nJSON\\style6\\font = Courier New, 14, 0, 1, 0\r\nJSON\\style6\\paper = fff0f5\r\nJSON\\style7\\color = 5bbae\r\nJSON\\style7\\eolfill = false\r\nJSON\\style7\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper = fff0f5\r\nJSON\\style8\\color = 18644a\r\nJSON\\style8\\eolfill = false\r\nJSON\\style8\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper = fff0f5\r\nJSON\\style9\\color = ff\r\nJSON\\style9\\eolfill = false\r\nJSON\\style9\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper = fff0f5\r\nJSON\\style10\\color = d137c1\r\nJSON\\style10\\eolfill = false\r\nJSON\\style10\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper = fff0f5\r\nJSON\\style11\\color = bcea7\r\nJSON\\style11\\eolfill = false\r\nJSON\\style11\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper = fff0f5\r\nJSON\\style12\\color = ec2806\r\nJSON\\style12\\eolfill = false\r\nJSON\\style12\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper = fff0f5\r\nJSON\\style13\\color = ffffff\r\nJSON\\style13\\eolfill = false\r\nJSON\\style13\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper = fff0f5\r\nJSON\\properties\\allowcomments = true\r\nJSON\\properties\\escapesequence = true\r\nJSON\\properties\\foldcompact = true\r\nJSON\\defaultcolor = 0\r\nJSON\\defaultpaper = fff0f5\r\nJSON\\defaultfont = Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/jsp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = fff0f5\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = fff0f5\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = fff0f5\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = fff0f5\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = fff0f5\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = fff0f5\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = fff0f5\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = fff0f5\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = fff0f5\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = fff0f5\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = fff0f5\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = fff0f5\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = fff0f5\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = fff0f5\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = fff0f5\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = fff0f5\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = fff0f5\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = fff0f5\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = fff0f5\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = fff0f5\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = fff0f5\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = fff0f5\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = fff0f5\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = fff0f5\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = fff0f5\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = fff0f5\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = fff0f5\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = fff0f5\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = fff0f5\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = fff0f5\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = fff0f5\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = fff0f5\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = fff0f5\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = fff0f5\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = fff0f5\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = fff0f5\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = fff0f5\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = fff0f5\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = fff0f5\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = fff0f5\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = fff0f5\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = fff0f5\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = fff0f5\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = fff0f5\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = fff0f5\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = fff0f5\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = fff0f5\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = fff0f5\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = fff0f5\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = fff0f5\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = fff0f5\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = fff0f5\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = fff0f5\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = fff0f5\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = fff0f5\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = fff0f5\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = fff0f5\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = fff0f5\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = fff0f5\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = fff0f5\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = fff0f5\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = fff0f5\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = fff0f5\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = fff0f5\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = fff0f5\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = fff0f5\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = fff0f5\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = fff0f5\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = fff0f5\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = fff0f5\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = fff0f5\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = fff0f5\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = fff0f5\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = fff0f5\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = fff0f5\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = fff0f5\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = fff0f5\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = fff0f5\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = fff0f5\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = fff0f5\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = fff0f5\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = fff0f5\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = fff0f5\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = fff0f5\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = fff0f5\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = fff0f5\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = fff0f5\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = fff0f5\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = fff0f5\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = fff0f5\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = fff0f5\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = fff0f5\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = fff0f5\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = fff0f5\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = fff0f5\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = fff0f5\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = fff0f5\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = fff0f5\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = fff0f5\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = fff0f5\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = fff0f5\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = fff0f5\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = fff0f5\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = fff0f5\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = fff0f5\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = fff0f5\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = fff0f5\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = fff0f5\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = fff0f5\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = fff0f5\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color = 0\r\nLua\\style0\\eolfill = false\r\nLua\\style0\\font = Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper = fff0f5\r\nLua\\style1\\color = 7f00\r\nLua\\style1\\eolfill = true\r\nLua\\style1\\font = Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper = fff0f5\r\nLua\\style2\\color = 7f00\r\nLua\\style2\\eolfill = false\r\nLua\\style2\\font = Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper = fff0f5\r\nLua\\style4\\color = 7f7f\r\nLua\\style4\\eolfill = false\r\nLua\\style4\\font = Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper = fff0f5\r\nLua\\style5\\color = 8000ff\r\nLua\\style5\\eolfill = false\r\nLua\\style5\\font = Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper = fff0f5\r\nLua\\style6\\color = 7f007f\r\nLua\\style6\\eolfill = false\r\nLua\\style6\\font = Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper = fff0f5\r\nLua\\style7\\color = 7f007f\r\nLua\\style7\\eolfill = false\r\nLua\\style7\\font = Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper = fff0f5\r\nLua\\style8\\color = 7f007f\r\nLua\\style8\\eolfill = false\r\nLua\\style8\\font = Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper = fff0f5\r\nLua\\style9\\color = 7f7f00\r\nLua\\style9\\eolfill = false\r\nLua\\style9\\font = Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper = fff0f5\r\nLua\\style10\\color = 0\r\nLua\\style10\\eolfill = false\r\nLua\\style10\\font = Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper = fff0f5\r\nLua\\style11\\color = 0\r\nLua\\style11\\eolfill = false\r\nLua\\style11\\font = Courier New, 14, 0, 0, 0\r\nLua\\style11\\paper = fff0f5\r\nLua\\style12\\color = 0\r\nLua\\style12\\eolfill = true\r\nLua\\style12\\font = Courier New, 14, 0, 0, 0\r\nLua\\style12\\paper = fff0f5\r\nLua\\style13\\color = 8000ff\r\nLua\\style13\\eolfill = false\r\nLua\\style13\\font = Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper = fff0f5\r\nLua\\style14\\color = 8000ff\r\nLua\\style14\\eolfill = false\r\nLua\\style14\\font = Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper = fff0f5\r\nLua\\style15\\color = 8000ff\r\nLua\\style15\\eolfill = false\r\nLua\\style15\\font = Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper = fff0f5\r\nLua\\style16\\color = 0\r\nLua\\style16\\eolfill = false\r\nLua\\style16\\font = Courier New, 14, 0, 0, 0\r\nLua\\style16\\paper = fff0f5\r\nLua\\style17\\color = 0\r\nLua\\style17\\eolfill = false\r\nLua\\style17\\font = Courier New, 14, 0, 0, 0\r\nLua\\style17\\paper = fff0f5\r\nLua\\style18\\color = 0\r\nLua\\style18\\eolfill = false\r\nLua\\style18\\font = Courier New, 14, 0, 0, 0\r\nLua\\style18\\paper = fff0f5\r\nLua\\style19\\color = 0\r\nLua\\style19\\eolfill = false\r\nLua\\style19\\font = Courier New, 14, 0, 0, 0\r\nLua\\style19\\paper = fff0f5\r\nLua\\style20\\color = 7f7f00\r\nLua\\style20\\eolfill = false\r\nLua\\style20\\font = Courier New, 14, 0, 0, 0\r\nLua\\style20\\paper = fff0f5\r\nLua\\properties\\foldcompact = true\r\nLua\\defaultcolor = 0\r\nLua\\defaultpaper = fff0f5\r\nLua\\defaultfont = Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color = 0\r\nMakefile\\style0\\eolfill = false\r\nMakefile\\style0\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper = fff0f5\r\nMakefile\\style1\\color = 7f00\r\nMakefile\\style1\\eolfill = false\r\nMakefile\\style1\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper = fff0f5\r\nMakefile\\style2\\color = 7f7f00\r\nMakefile\\style2\\eolfill = false\r\nMakefile\\style2\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper = fff0f5\r\nMakefile\\style3\\color = 80\r\nMakefile\\style3\\eolfill = false\r\nMakefile\\style3\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper = fff0f5\r\nMakefile\\style4\\color = 0\r\nMakefile\\style4\\eolfill = false\r\nMakefile\\style4\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper = fff0f5\r\nMakefile\\style5\\color = a00000\r\nMakefile\\style5\\eolfill = false\r\nMakefile\\style5\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper = fff0f5\r\nMakefile\\style9\\color = ffff00\r\nMakefile\\style9\\eolfill = true\r\nMakefile\\style9\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper = fff0f5\r\nMakefile\\defaultcolor = 0\r\nMakefile\\defaultpaper = fff0f5\r\nMakefile\\defaultfont = Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color = 0\r\nMatlab\\style0\\eolfill = false\r\nMatlab\\style0\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper = fff0f5\r\nMatlab\\style1\\color = 7f00\r\nMatlab\\style1\\eolfill = false\r\nMatlab\\style1\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper = fff0f5\r\nMatlab\\style2\\color = 7f7f00\r\nMatlab\\style2\\eolfill = false\r\nMatlab\\style2\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper = fff0f5\r\nMatlab\\style3\\color = 7f7f\r\nMatlab\\style3\\eolfill = false\r\nMatlab\\style3\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper = fff0f5\r\nMatlab\\style4\\color = 8000ff\r\nMatlab\\style4\\eolfill = false\r\nMatlab\\style4\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper = fff0f5\r\nMatlab\\style5\\color = 7f007f\r\nMatlab\\style5\\eolfill = false\r\nMatlab\\style5\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper = fff0f5\r\nMatlab\\style6\\color = 0\r\nMatlab\\style6\\eolfill = false\r\nMatlab\\style6\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper = fff0f5\r\nMatlab\\style7\\color = 0\r\nMatlab\\style7\\eolfill = false\r\nMatlab\\style7\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper = fff0f5\r\nMatlab\\style8\\color = 7f007f\r\nMatlab\\style8\\eolfill = false\r\nMatlab\\style8\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper = fff0f5\r\nMatlab\\defaultcolor = 0\r\nMatlab\\defaultpaper = fff0f5\r\nMatlab\\defaultfont = Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color = 0\r\nNSIS\\style0\\eolfill = false\r\nNSIS\\style0\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper = fff0f5\r\nNSIS\\style1\\color = 7f00\r\nNSIS\\style1\\eolfill = false\r\nNSIS\\style1\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper = fff0f5\r\nNSIS\\style2\\color = 7f007f\r\nNSIS\\style2\\eolfill = false\r\nNSIS\\style2\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper = fff0f5\r\nNSIS\\style3\\color = 7f007f\r\nNSIS\\style3\\eolfill = false\r\nNSIS\\style3\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper = fff0f5\r\nNSIS\\style4\\color = 7f007f\r\nNSIS\\style4\\eolfill = false\r\nNSIS\\style4\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper = fff0f5\r\nNSIS\\style5\\color = 8000ff\r\nNSIS\\style5\\eolfill = false\r\nNSIS\\style5\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper = fff0f5\r\nNSIS\\style6\\color = 0\r\nNSIS\\style6\\eolfill = false\r\nNSIS\\style6\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper = fff0f5\r\nNSIS\\style7\\color = 8000ff\r\nNSIS\\style7\\eolfill = false\r\nNSIS\\style7\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style7\\paper = fff0f5\r\nNSIS\\style8\\color = 0\r\nNSIS\\style8\\eolfill = false\r\nNSIS\\style8\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper = fff0f5\r\nNSIS\\style9\\color = 8000ff\r\nNSIS\\style9\\eolfill = false\r\nNSIS\\style9\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style9\\paper = fff0f5\r\nNSIS\\style10\\color = 8000ff\r\nNSIS\\style10\\eolfill = false\r\nNSIS\\style10\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style10\\paper = fff0f5\r\nNSIS\\style11\\color = 8000ff\r\nNSIS\\style11\\eolfill = false\r\nNSIS\\style11\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style11\\paper = fff0f5\r\nNSIS\\style12\\color = 8000ff\r\nNSIS\\style12\\eolfill = false\r\nNSIS\\style12\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style12\\paper = fff0f5\r\nNSIS\\style13\\color = 0\r\nNSIS\\style13\\eolfill = false\r\nNSIS\\style13\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper = fff0f5\r\nNSIS\\style14\\color = 7f7f\r\nNSIS\\style14\\eolfill = false\r\nNSIS\\style14\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper = fff0f5\r\nNSIS\\style15\\color = 0\r\nNSIS\\style15\\eolfill = false\r\nNSIS\\style15\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper = fff0f5\r\nNSIS\\style16\\color = 0\r\nNSIS\\style16\\eolfill = false\r\nNSIS\\style16\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper = fff0f5\r\nNSIS\\style17\\color = 8000ff\r\nNSIS\\style17\\eolfill = false\r\nNSIS\\style17\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style17\\paper = fff0f5\r\nNSIS\\style18\\color = 7f00\r\nNSIS\\style18\\eolfill = false\r\nNSIS\\style18\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper = fff0f5\r\nNSIS\\defaultcolor = 0\r\nNSIS\\defaultpaper = fff0f5\r\nNSIS\\defaultfont = Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = fff0f5\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = fff0f5\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = fff0f5\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = fff0f5\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = fff0f5\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = fff0f5\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = fff0f5\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = fff0f5\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = fff0f5\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = fff0f5\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = fff0f5\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = fff0f5\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = fff0f5\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = fff0f5\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = fff0f5\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = fff0f5\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = fff0f5\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = fff0f5\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = fff0f5\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = fff0f5\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = fff0f5\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = fff0f5\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = fff0f5\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = fff0f5\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = fff0f5\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = fff0f5\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = fff0f5\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = fff0f5\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = fff0f5\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = fff0f5\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = fff0f5\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = fff0f5\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = fff0f5\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = fff0f5\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = fff0f5\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = fff0f5\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = fff0f5\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = fff0f5\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = fff0f5\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = fff0f5\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = fff0f5\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = fff0f5\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = fff0f5\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = fff0f5\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = fff0f5\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = fff0f5\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = fff0f5\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = fff0f5\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = fff0f5\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = fff0f5\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = fff0f5\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = fff0f5\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = fff0f5\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = fff0f5\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = fff0f5\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = fff0f5\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = fff0f5\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color = 808080\r\nPascal\\style0\\eolfill = false\r\nPascal\\style0\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper = fff0f5\r\nPascal\\style1\\color = 0\r\nPascal\\style1\\eolfill = false\r\nPascal\\style1\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper = fff0f5\r\nPascal\\style2\\color = 7f00\r\nPascal\\style2\\eolfill = false\r\nPascal\\style2\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper = fff0f5\r\nPascal\\style3\\color = 7f00\r\nPascal\\style3\\eolfill = false\r\nPascal\\style3\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper = fff0f5\r\nPascal\\style4\\color = 7f00\r\nPascal\\style4\\eolfill = false\r\nPascal\\style4\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper = fff0f5\r\nPascal\\style5\\color = 7f7f00\r\nPascal\\style5\\eolfill = false\r\nPascal\\style5\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper = fff0f5\r\nPascal\\style6\\color = 7f7f00\r\nPascal\\style6\\eolfill = false\r\nPascal\\style6\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style6\\paper = fff0f5\r\nPascal\\style7\\color = 7f7f\r\nPascal\\style7\\eolfill = false\r\nPascal\\style7\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper = fff0f5\r\nPascal\\style8\\color = 7f7f\r\nPascal\\style8\\eolfill = false\r\nPascal\\style8\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper = fff0f5\r\nPascal\\style9\\color = 8000ff\r\nPascal\\style9\\eolfill = false\r\nPascal\\style9\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style9\\paper = fff0f5\r\nPascal\\style10\\color = 7f007f\r\nPascal\\style10\\eolfill = false\r\nPascal\\style10\\font = Courier New, 11, 0, 1, 0\r\nPascal\\style10\\paper = fff0f5\r\nPascal\\style11\\color = 0\r\nPascal\\style11\\eolfill = true\r\nPascal\\style11\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style11\\paper = fff0f5\r\nPascal\\style12\\color = 7f007f\r\nPascal\\style12\\eolfill = false\r\nPascal\\style12\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper = fff0f5\r\nPascal\\style13\\color = 0\r\nPascal\\style13\\eolfill = false\r\nPascal\\style13\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style13\\paper = fff0f5\r\nPascal\\style14\\color = 804080\r\nPascal\\style14\\eolfill = false\r\nPascal\\style14\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper = fff0f5\r\nPascal\\properties\\foldcomments = false\r\nPascal\\properties\\foldcompact = true\r\nPascal\\properties\\foldpreprocessor = false\r\nPascal\\properties\\smarthighlight = true\r\nPascal\\defaultcolor = 0\r\nPascal\\defaultpaper = fff0f5\r\nPascal\\defaultfont = Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color = 808080\r\nPerl\\style0\\eolfill = false\r\nPerl\\style0\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper = fff0f5\r\nPerl\\style1\\color = ffff00\r\nPerl\\style1\\eolfill = false\r\nPerl\\style1\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper = fff0f5\r\nPerl\\style2\\color = 7f00\r\nPerl\\style2\\eolfill = false\r\nPerl\\style2\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper = fff0f5\r\nPerl\\style3\\color = 4000\r\nPerl\\style3\\eolfill = true\r\nPerl\\style3\\font = Courier New, 11, 0, 0, 0\r\nPerl\\style3\\paper = fff0f5\r\nPerl\\style4\\color = 7f7f\r\nPerl\\style4\\eolfill = false\r\nPerl\\style4\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper = fff0f5\r\nPerl\\style5\\color = 8000ff\r\nPerl\\style5\\eolfill = false\r\nPerl\\style5\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper = fff0f5\r\nPerl\\style6\\color = 7f007f\r\nPerl\\style6\\eolfill = false\r\nPerl\\style6\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper = fff0f5\r\nPerl\\style7\\color = 7f007f\r\nPerl\\style7\\eolfill = false\r\nPerl\\style7\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper = fff0f5\r\nPerl\\style10\\color = 0\r\nPerl\\style10\\eolfill = false\r\nPerl\\style10\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper = fff0f5\r\nPerl\\style11\\color = 0\r\nPerl\\style11\\eolfill = false\r\nPerl\\style11\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style11\\paper = fff0f5\r\nPerl\\style12\\color = 0\r\nPerl\\style12\\eolfill = false\r\nPerl\\style12\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper = fff0f5\r\nPerl\\style13\\color = 0\r\nPerl\\style13\\eolfill = false\r\nPerl\\style13\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper = fff0f5\r\nPerl\\style14\\color = 0\r\nPerl\\style14\\eolfill = false\r\nPerl\\style14\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper = fff0f5\r\nPerl\\style15\\color = 0\r\nPerl\\style15\\eolfill = false\r\nPerl\\style15\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper = fff0f5\r\nPerl\\style17\\color = 0\r\nPerl\\style17\\eolfill = false\r\nPerl\\style17\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper = fff0f5\r\nPerl\\style18\\color = 0\r\nPerl\\style18\\eolfill = false\r\nPerl\\style18\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper = fff0f5\r\nPerl\\style20\\color = ffff00\r\nPerl\\style20\\eolfill = false\r\nPerl\\style20\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper = fff0f5\r\nPerl\\style21\\color = 600000\r\nPerl\\style21\\eolfill = true\r\nPerl\\style21\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper = fff0f5\r\nPerl\\style22\\color = 0\r\nPerl\\style22\\eolfill = false\r\nPerl\\style22\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style22\\paper = fff0f5\r\nPerl\\style23\\color = 7f007f\r\nPerl\\style23\\eolfill = true\r\nPerl\\style23\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style23\\paper = fff0f5\r\nPerl\\style24\\color = 7f007f\r\nPerl\\style24\\eolfill = true\r\nPerl\\style24\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style24\\paper = fff0f5\r\nPerl\\style25\\color = 7f007f\r\nPerl\\style25\\eolfill = true\r\nPerl\\style25\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style25\\paper = fff0f5\r\nPerl\\style26\\color = 7f007f\r\nPerl\\style26\\eolfill = false\r\nPerl\\style26\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style26\\paper = fff0f5\r\nPerl\\style27\\color = 7f007f\r\nPerl\\style27\\eolfill = false\r\nPerl\\style27\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style27\\paper = fff0f5\r\nPerl\\style28\\color = ffff00\r\nPerl\\style28\\eolfill = false\r\nPerl\\style28\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style28\\paper = fff0f5\r\nPerl\\style29\\color = 0\r\nPerl\\style29\\eolfill = false\r\nPerl\\style29\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style29\\paper = fff0f5\r\nPerl\\style30\\color = 0\r\nPerl\\style30\\eolfill = false\r\nPerl\\style30\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style30\\paper = fff0f5\r\nPerl\\style31\\color = 4000\r\nPerl\\style31\\eolfill = true\r\nPerl\\style31\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style31\\paper = fff0f5\r\nPerl\\style40\\color = 0\r\nPerl\\style40\\eolfill = false\r\nPerl\\style40\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style40\\paper = fff0f5\r\nPerl\\style41\\color = c000c0\r\nPerl\\style41\\eolfill = false\r\nPerl\\style41\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style41\\paper = fff0f5\r\nPerl\\style42\\color = c000c0\r\nPerl\\style42\\eolfill = true\r\nPerl\\style42\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style42\\paper = fff0f5\r\nPerl\\style43\\color = d00000\r\nPerl\\style43\\eolfill = false\r\nPerl\\style43\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style43\\paper = fff0f5\r\nPerl\\style44\\color = 0\r\nPerl\\style44\\eolfill = false\r\nPerl\\style44\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style44\\paper = fff0f5\r\nPerl\\style54\\color = d00000\r\nPerl\\style54\\eolfill = false\r\nPerl\\style54\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style54\\paper = fff0f5\r\nPerl\\style55\\color = d00000\r\nPerl\\style55\\eolfill = false\r\nPerl\\style55\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style55\\paper = fff0f5\r\nPerl\\style57\\color = d00000\r\nPerl\\style57\\eolfill = false\r\nPerl\\style57\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style57\\paper = fff0f5\r\nPerl\\style61\\color = d00000\r\nPerl\\style61\\eolfill = true\r\nPerl\\style61\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style61\\paper = fff0f5\r\nPerl\\style62\\color = d00000\r\nPerl\\style62\\eolfill = true\r\nPerl\\style62\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style62\\paper = fff0f5\r\nPerl\\style64\\color = d00000\r\nPerl\\style64\\eolfill = false\r\nPerl\\style64\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style64\\paper = fff0f5\r\nPerl\\style65\\color = d00000\r\nPerl\\style65\\eolfill = false\r\nPerl\\style65\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style65\\paper = fff0f5\r\nPerl\\style66\\color = d00000\r\nPerl\\style66\\eolfill = false\r\nPerl\\style66\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style66\\paper = fff0f5\r\nPerl\\properties\\foldatelse = false\r\nPerl\\properties\\foldcomments = false\r\nPerl\\properties\\foldcompact = true\r\nPerl\\properties\\foldpackages = true\r\nPerl\\properties\\foldpodblocks = true\r\nPerl\\defaultcolor = 0\r\nPerl\\defaultpaper = fff0f5\r\nPerl\\defaultfont = Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = fff0f5\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = fff0f5\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = fff0f5\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = fff0f5\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = fff0f5\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = fff0f5\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = fff0f5\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = fff0f5\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = fff0f5\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = fff0f5\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = fff0f5\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = fff0f5\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = fff0f5\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = fff0f5\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = fff0f5\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = fff0f5\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = fff0f5\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = fff0f5\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = fff0f5\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = fff0f5\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = fff0f5\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = fff0f5\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = fff0f5\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = fff0f5\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = fff0f5\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = fff0f5\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = fff0f5\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = fff0f5\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = fff0f5\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = fff0f5\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = fff0f5\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = fff0f5\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = fff0f5\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = fff0f5\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = fff0f5\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = fff0f5\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = fff0f5\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = fff0f5\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = fff0f5\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = fff0f5\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = fff0f5\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = fff0f5\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = fff0f5\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = fff0f5\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = fff0f5\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = fff0f5\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = fff0f5\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = fff0f5\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = fff0f5\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = fff0f5\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = fff0f5\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = fff0f5\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = fff0f5\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = fff0f5\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = fff0f5\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = fff0f5\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = fff0f5\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = fff0f5\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = fff0f5\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = fff0f5\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = fff0f5\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = fff0f5\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = fff0f5\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = fff0f5\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = fff0f5\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = fff0f5\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = fff0f5\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = fff0f5\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = fff0f5\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = fff0f5\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = fff0f5\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = fff0f5\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = fff0f5\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = fff0f5\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = fff0f5\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = fff0f5\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = fff0f5\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = fff0f5\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = fff0f5\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = fff0f5\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = fff0f5\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = fff0f5\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = fff0f5\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = fff0f5\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = fff0f5\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = fff0f5\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = fff0f5\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = fff0f5\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = fff0f5\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = fff0f5\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = fff0f5\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = fff0f5\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = fff0f5\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = fff0f5\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = fff0f5\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = fff0f5\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = fff0f5\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = fff0f5\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = fff0f5\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = fff0f5\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = fff0f5\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = fff0f5\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = fff0f5\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = fff0f5\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = fff0f5\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = fff0f5\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = fff0f5\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = fff0f5\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = fff0f5\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = fff0f5\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = fff0f5\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = fff0f5\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = fff0f5\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = fff0f5\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = fff0f5\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = fff0f5\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = fff0f5\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color = 808080\r\nPython\\style0\\eolfill = false\r\nPython\\style0\\font = Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper = fff0f5\r\nPython\\style1\\color = 7f00\r\nPython\\style1\\eolfill = false\r\nPython\\style1\\font = Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper = fff0f5\r\nPython\\style2\\color = 7f7f\r\nPython\\style2\\eolfill = false\r\nPython\\style2\\font = Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper = fff0f5\r\nPython\\style3\\color = 7f007f\r\nPython\\style3\\eolfill = false\r\nPython\\style3\\font = Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper = fff0f5\r\nPython\\style4\\color = 7f007f\r\nPython\\style4\\eolfill = false\r\nPython\\style4\\font = Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper = fff0f5\r\nPython\\style5\\color = ff\r\nPython\\style5\\eolfill = false\r\nPython\\style5\\font = Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper = fff0f5\r\nPython\\style6\\color = 7f0000\r\nPython\\style6\\eolfill = false\r\nPython\\style6\\font = Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper = fff0f5\r\nPython\\style7\\color = 7f0000\r\nPython\\style7\\eolfill = false\r\nPython\\style7\\font = Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper = fff0f5\r\nPython\\style8\\color = ff\r\nPython\\style8\\eolfill = false\r\nPython\\style8\\font = Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper = fff0f5\r\nPython\\style9\\color = 8000ff\r\nPython\\style9\\eolfill = false\r\nPython\\style9\\font = Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper = fff0f5\r\nPython\\style10\\color = 0\r\nPython\\style10\\eolfill = false\r\nPython\\style10\\font = Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper = fff0f5\r\nPython\\style11\\color = 0\r\nPython\\style11\\eolfill = false\r\nPython\\style11\\font = Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper = fff0f5\r\nPython\\style12\\color = 7f7f7f\r\nPython\\style12\\eolfill = false\r\nPython\\style12\\font = Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper = fff0f5\r\nPython\\style13\\color = 0\r\nPython\\style13\\eolfill = true\r\nPython\\style13\\font = Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper = fff0f5\r\nPython\\style14\\color = 407090\r\nPython\\style14\\eolfill = false\r\nPython\\style14\\font = Courier New, 14, 0, 0, 0\r\nPython\\style14\\paper = fff0f5\r\nPython\\style15\\color = 805000\r\nPython\\style15\\eolfill = false\r\nPython\\style15\\font = Courier New, 14, 0, 0, 0\r\nPython\\style15\\paper = fff0f5\r\nPython\\style16\\color = 7f007f\r\nPython\\style16\\eolfill = false\r\nPython\\style16\\font = Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper = fff0f5\r\nPython\\style17\\color = 7f007f\r\nPython\\style17\\eolfill = false\r\nPython\\style17\\font = Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper = fff0f5\r\nPython\\style18\\color = 7f0000\r\nPython\\style18\\eolfill = false\r\nPython\\style18\\font = Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper = fff0f5\r\nPython\\style19\\color = 7f0000\r\nPython\\style19\\eolfill = false\r\nPython\\style19\\font = Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper = fff0f5\r\nPython\\properties\\foldcomments = false\r\nPython\\properties\\foldcompact = true\r\nPython\\properties\\foldquotes = false\r\nPython\\properties\\indentwarning = 0\r\nPython\\properties\\stringsovernewline = false\r\nPython\\properties\\v2unicode = true\r\nPython\\properties\\v3binaryoctal = true\r\nPython\\properties\\v3bytes = true\r\nPython\\properties\\highlightsubids = true\r\nPython\\defaultcolor = 0\r\nPython\\defaultpaper = fff0f5\r\nPython\\defaultfont = Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = fff0f5\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = fff0f5\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = fff0f5\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = fff0f5\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = fff0f5\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = fff0f5\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = fff0f5\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = fff0f5\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = fff0f5\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = fff0f5\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = fff0f5\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = fff0f5\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = fff0f5\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = fff0f5\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = fff0f5\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = fff0f5\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = fff0f5\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = fff0f5\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = fff0f5\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = fff0f5\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = fff0f5\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = fff0f5\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = fff0f5\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = fff0f5\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = fff0f5\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = fff0f5\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = fff0f5\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = fff0f5\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = fff0f5\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = fff0f5\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = fff0f5\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = fff0f5\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = fff0f5\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = fff0f5\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = fff0f5\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = fff0f5\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = fff0f5\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = fff0f5\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = fff0f5\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = fff0f5\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = fff0f5\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = fff0f5\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = fff0f5\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = fff0f5\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = fff0f5\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = fff0f5\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = fff0f5\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = fff0f5\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = fff0f5\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = fff0f5\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = fff0f5\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = fff0f5\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = fff0f5\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = fff0f5\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = fff0f5\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = fff0f5\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = fff0f5\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color = 808080\r\nRuby\\style0\\eolfill = false\r\nRuby\\style0\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper = fff0f5\r\nRuby\\style1\\color = 0\r\nRuby\\style1\\eolfill = false\r\nRuby\\style1\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper = fff0f5\r\nRuby\\style2\\color = 7f00\r\nRuby\\style2\\eolfill = false\r\nRuby\\style2\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper = fff0f5\r\nRuby\\style3\\color = 4000\r\nRuby\\style3\\eolfill = true\r\nRuby\\style3\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper = fff0f5\r\nRuby\\style4\\color = 7f7f\r\nRuby\\style4\\eolfill = false\r\nRuby\\style4\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper = fff0f5\r\nRuby\\style5\\color = 8000ff\r\nRuby\\style5\\eolfill = false\r\nRuby\\style5\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper = fff0f5\r\nRuby\\style6\\color = 7f007f\r\nRuby\\style6\\eolfill = false\r\nRuby\\style6\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper = fff0f5\r\nRuby\\style7\\color = 7f007f\r\nRuby\\style7\\eolfill = false\r\nRuby\\style7\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper = fff0f5\r\nRuby\\style8\\color = ff\r\nRuby\\style8\\eolfill = false\r\nRuby\\style8\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper = fff0f5\r\nRuby\\style9\\color = 7f7f\r\nRuby\\style9\\eolfill = false\r\nRuby\\style9\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper = fff0f5\r\nRuby\\style10\\color = 0\r\nRuby\\style10\\eolfill = false\r\nRuby\\style10\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper = fff0f5\r\nRuby\\style11\\color = 0\r\nRuby\\style11\\eolfill = false\r\nRuby\\style11\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper = fff0f5\r\nRuby\\style12\\color = 0\r\nRuby\\style12\\eolfill = false\r\nRuby\\style12\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper = fff0f5\r\nRuby\\style13\\color = 800080\r\nRuby\\style13\\eolfill = false\r\nRuby\\style13\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper = fff0f5\r\nRuby\\style14\\color = c0a030\r\nRuby\\style14\\eolfill = false\r\nRuby\\style14\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper = fff0f5\r\nRuby\\style15\\color = a000a0\r\nRuby\\style15\\eolfill = false\r\nRuby\\style15\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper = fff0f5\r\nRuby\\style16\\color = b00080\r\nRuby\\style16\\eolfill = false\r\nRuby\\style16\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper = fff0f5\r\nRuby\\style17\\color = 8000b0\r\nRuby\\style17\\eolfill = false\r\nRuby\\style17\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper = fff0f5\r\nRuby\\style18\\color = ffff00\r\nRuby\\style18\\eolfill = false\r\nRuby\\style18\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper = fff0f5\r\nRuby\\style19\\color = 600000\r\nRuby\\style19\\eolfill = true\r\nRuby\\style19\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper = fff0f5\r\nRuby\\style20\\color = 0\r\nRuby\\style20\\eolfill = false\r\nRuby\\style20\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style20\\paper = fff0f5\r\nRuby\\style21\\color = 7f007f\r\nRuby\\style21\\eolfill = true\r\nRuby\\style21\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style21\\paper = fff0f5\r\nRuby\\style24\\color = 7f007f\r\nRuby\\style24\\eolfill = false\r\nRuby\\style24\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper = fff0f5\r\nRuby\\style25\\color = 7f007f\r\nRuby\\style25\\eolfill = false\r\nRuby\\style25\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style25\\paper = fff0f5\r\nRuby\\style26\\color = ffff00\r\nRuby\\style26\\eolfill = false\r\nRuby\\style26\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style26\\paper = fff0f5\r\nRuby\\style27\\color = 0\r\nRuby\\style27\\eolfill = false\r\nRuby\\style27\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style27\\paper = fff0f5\r\nRuby\\style28\\color = 0\r\nRuby\\style28\\eolfill = false\r\nRuby\\style28\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style28\\paper = fff0f5\r\nRuby\\style29\\color = 8000ff\r\nRuby\\style29\\eolfill = false\r\nRuby\\style29\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style29\\paper = fff0f5\r\nRuby\\style30\\color = 0\r\nRuby\\style30\\eolfill = false\r\nRuby\\style30\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style30\\paper = fff0f5\r\nRuby\\style31\\color = 0\r\nRuby\\style31\\eolfill = false\r\nRuby\\style31\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style31\\paper = fff0f5\r\nRuby\\style40\\color = 0\r\nRuby\\style40\\eolfill = false\r\nRuby\\style40\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style40\\paper = fff0f5\r\nRuby\\defaultcolor = 0\r\nRuby\\defaultpaper = fff0f5\r\nRuby\\defaultfont = Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/rust.ini",
    "content": "[Scintilla]\r\nRUST\\style0\\color = 0\r\nRUST\\style0\\eolfill = false\r\nRUST\\style0\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style0\\paper = fff0f5\r\nRUST\\style1\\color = 0\r\nRUST\\style1\\eolfill = false\r\nRUST\\style1\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style1\\paper = fff0f5\r\nRUST\\style2\\color = 0\r\nRUST\\style2\\eolfill = false\r\nRUST\\style2\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style2\\paper = fff0f5\r\nRUST\\style3\\color = 0\r\nRUST\\style3\\eolfill = false\r\nRUST\\style3\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style3\\paper = fff0f5\r\nRUST\\style4\\color = 0\r\nRUST\\style4\\eolfill = false\r\nRUST\\style4\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style4\\paper = fff0f5\r\nRUST\\style5\\color = 0\r\nRUST\\style5\\eolfill = false\r\nRUST\\style5\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style5\\paper = fff0f5\r\nRUST\\style6\\color = ff\r\nRUST\\style6\\eolfill = false\r\nRUST\\style6\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style6\\paper = fff0f5\r\nRUST\\style7\\color = ff\r\nRUST\\style7\\eolfill = false\r\nRUST\\style7\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style7\\paper = fff0f5\r\nRUST\\style8\\color = ff\r\nRUST\\style8\\eolfill = false\r\nRUST\\style8\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style8\\paper = fff0f5\r\nRUST\\style9\\color = ff\r\nRUST\\style9\\eolfill = false\r\nRUST\\style9\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style9\\paper = fff0f5\r\nRUST\\style10\\color = ff\r\nRUST\\style10\\eolfill = false\r\nRUST\\style10\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style10\\paper = fff0f5\r\nRUST\\style11\\color = ff\r\nRUST\\style11\\eolfill = false\r\nRUST\\style11\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style11\\paper = fff0f5\r\nRUST\\style12\\color = ff\r\nRUST\\style12\\eolfill = false\r\nRUST\\style12\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style12\\paper = fff0f5\r\nRUST\\style13\\color = 0\r\nRUST\\style13\\eolfill = false\r\nRUST\\style13\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style13\\paper = fff0f5\r\nRUST\\style14\\color = 0\r\nRUST\\style14\\eolfill = false\r\nRUST\\style14\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style14\\paper = fff0f5\r\nRUST\\style15\\color = 0\r\nRUST\\style15\\eolfill = false\r\nRUST\\style15\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style15\\paper = fff0f5\r\nRUST\\style16\\color = 0\r\nRUST\\style16\\eolfill = false\r\nRUST\\style16\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style16\\paper = fff0f5\r\nRUST\\style17\\color = 0\r\nRUST\\style17\\eolfill = false\r\nRUST\\style17\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style17\\paper = fff0f5\r\nRUST\\style18\\color = 0\r\nRUST\\style18\\eolfill = false\r\nRUST\\style18\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style18\\paper = fff0f5\r\nRUST\\style19\\color = 0\r\nRUST\\style19\\eolfill = false\r\nRUST\\style19\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style19\\paper = fff0f5\r\nRUST\\style20\\color = 0\r\nRUST\\style20\\eolfill = false\r\nRUST\\style20\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style20\\paper = fff0f5\r\nRUST\\style21\\color = 0\r\nRUST\\style21\\eolfill = false\r\nRUST\\style21\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style21\\paper = fff0f5\r\nRUST\\style22\\color = 0\r\nRUST\\style22\\eolfill = false\r\nRUST\\style22\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style22\\paper = fff0f5\r\nRUST\\style23\\color = 0\r\nRUST\\style23\\eolfill = false\r\nRUST\\style23\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style23\\paper = fff0f5\r\nRUST\\defaultcolor = 0\r\nRUST\\defaultpaper = fff0f5\r\nRUST\\defaultfont = Courier New, 14, 0, 0, 0\r\nRUST\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/spice.ini",
    "content": "[Scintilla]\r\nSpice\\style0\\color = 808080\r\nSpice\\style0\\eolfill = false\r\nSpice\\style0\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style0\\paper = fff0f5\r\nSpice\\style1\\color = 0\r\nSpice\\style1\\eolfill = false\r\nSpice\\style1\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style1\\paper = fff0f5\r\nSpice\\style2\\color = 7f\r\nSpice\\style2\\eolfill = false\r\nSpice\\style2\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style2\\paper = fff0f5\r\nSpice\\style3\\color = 7f\r\nSpice\\style3\\eolfill = false\r\nSpice\\style3\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style3\\paper = fff0f5\r\nSpice\\style4\\color = 40e0\r\nSpice\\style4\\eolfill = false\r\nSpice\\style4\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style4\\paper = fff0f5\r\nSpice\\style5\\color = 7f7f\r\nSpice\\style5\\eolfill = false\r\nSpice\\style5\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style5\\paper = fff0f5\r\nSpice\\style6\\color = 0\r\nSpice\\style6\\eolfill = false\r\nSpice\\style6\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style6\\paper = fff0f5\r\nSpice\\style7\\color = 7f007f\r\nSpice\\style7\\eolfill = false\r\nSpice\\style7\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style7\\paper = fff0f5\r\nSpice\\style8\\color = 7f00\r\nSpice\\style8\\eolfill = false\r\nSpice\\style8\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style8\\paper = fff0f5\r\nSpice\\defaultcolor = 0\r\nSpice\\defaultpaper = fff0f5\r\nSpice\\defaultfont = Courier New, 14, 0, 0, 0\r\nSpice\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color = 808080\r\nSQL\\style0\\eolfill = false\r\nSQL\\style0\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper = fff0f5\r\nSQL\\style1\\color = 7f00\r\nSQL\\style1\\eolfill = false\r\nSQL\\style1\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper = fff0f5\r\nSQL\\style2\\color = 7f00\r\nSQL\\style2\\eolfill = false\r\nSQL\\style2\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper = fff0f5\r\nSQL\\style3\\color = 7f7f7f\r\nSQL\\style3\\eolfill = false\r\nSQL\\style3\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper = fff0f5\r\nSQL\\style4\\color = 7f7f\r\nSQL\\style4\\eolfill = false\r\nSQL\\style4\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper = fff0f5\r\nSQL\\style5\\color = 8000ff\r\nSQL\\style5\\eolfill = false\r\nSQL\\style5\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper = fff0f5\r\nSQL\\style6\\color = 7f007f\r\nSQL\\style6\\eolfill = false\r\nSQL\\style6\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper = fff0f5\r\nSQL\\style7\\color = 7f007f\r\nSQL\\style7\\eolfill = false\r\nSQL\\style7\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper = fff0f5\r\nSQL\\style8\\color = 7f7f00\r\nSQL\\style8\\eolfill = false\r\nSQL\\style8\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style8\\paper = fff0f5\r\nSQL\\style9\\color = 7f00\r\nSQL\\style9\\eolfill = true\r\nSQL\\style9\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style9\\paper = fff0f5\r\nSQL\\style10\\color = 0\r\nSQL\\style10\\eolfill = false\r\nSQL\\style10\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper = fff0f5\r\nSQL\\style11\\color = 0\r\nSQL\\style11\\eolfill = false\r\nSQL\\style11\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style11\\paper = fff0f5\r\nSQL\\style13\\color = 7f00\r\nSQL\\style13\\eolfill = false\r\nSQL\\style13\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style13\\paper = fff0f5\r\nSQL\\style15\\color = 7f00\r\nSQL\\style15\\eolfill = false\r\nSQL\\style15\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style15\\paper = fff0f5\r\nSQL\\style17\\color = 3060a0\r\nSQL\\style17\\eolfill = false\r\nSQL\\style17\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style17\\paper = fff0f5\r\nSQL\\style18\\color = 804020\r\nSQL\\style18\\eolfill = false\r\nSQL\\style18\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style18\\paper = fff0f5\r\nSQL\\style19\\color = 4b0082\r\nSQL\\style19\\eolfill = false\r\nSQL\\style19\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper = fff0f5\r\nSQL\\style20\\color = b00040\r\nSQL\\style20\\eolfill = false\r\nSQL\\style20\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style20\\paper = fff0f5\r\nSQL\\style21\\color = 8b0000\r\nSQL\\style21\\eolfill = false\r\nSQL\\style21\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style21\\paper = fff0f5\r\nSQL\\style22\\color = 800080\r\nSQL\\style22\\eolfill = false\r\nSQL\\style22\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style22\\paper = fff0f5\r\nSQL\\style23\\color = 0\r\nSQL\\style23\\eolfill = false\r\nSQL\\style23\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style23\\paper = fff0f5\r\nSQL\\style24\\color = 0\r\nSQL\\style24\\eolfill = false\r\nSQL\\style24\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper = fff0f5\r\nSQL\\defaultcolor = 0\r\nSQL\\defaultpaper = fff0f5\r\nSQL\\defaultfont = Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color = 808080\r\nTCL\\style0\\eolfill = false\r\nTCL\\style0\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper = fff0f5\r\nTCL\\style1\\color = 7f00\r\nTCL\\style1\\eolfill = false\r\nTCL\\style1\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style1\\paper = fff0f5\r\nTCL\\style2\\color = 7f00\r\nTCL\\style2\\eolfill = false\r\nTCL\\style2\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style2\\paper = fff0f5\r\nTCL\\style3\\color = 7f7f\r\nTCL\\style3\\eolfill = false\r\nTCL\\style3\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper = fff0f5\r\nTCL\\style4\\color = 7f007f\r\nTCL\\style4\\eolfill = false\r\nTCL\\style4\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style4\\paper = fff0f5\r\nTCL\\style5\\color = 7f007f\r\nTCL\\style5\\eolfill = true\r\nTCL\\style5\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper = fff0f5\r\nTCL\\style6\\color = 0\r\nTCL\\style6\\eolfill = false\r\nTCL\\style6\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style6\\paper = fff0f5\r\nTCL\\style7\\color = 8000ff\r\nTCL\\style7\\eolfill = false\r\nTCL\\style7\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper = fff0f5\r\nTCL\\style8\\color = 7f7f00\r\nTCL\\style8\\eolfill = false\r\nTCL\\style8\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style8\\paper = fff0f5\r\nTCL\\style9\\color = 7f7f00\r\nTCL\\style9\\eolfill = false\r\nTCL\\style9\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper = fff0f5\r\nTCL\\style10\\color = 7f007f\r\nTCL\\style10\\eolfill = false\r\nTCL\\style10\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper = fff0f5\r\nTCL\\style11\\color = 8000ff\r\nTCL\\style11\\eolfill = false\r\nTCL\\style11\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style11\\paper = fff0f5\r\nTCL\\style12\\color = 8000ff\r\nTCL\\style12\\eolfill = false\r\nTCL\\style12\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style12\\paper = fff0f5\r\nTCL\\style13\\color = 8000ff\r\nTCL\\style13\\eolfill = false\r\nTCL\\style13\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style13\\paper = fff0f5\r\nTCL\\style14\\color = 8000ff\r\nTCL\\style14\\eolfill = false\r\nTCL\\style14\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style14\\paper = fff0f5\r\nTCL\\style15\\color = 8000ff\r\nTCL\\style15\\eolfill = false\r\nTCL\\style15\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style15\\paper = fff0f5\r\nTCL\\style16\\color = 8000ff\r\nTCL\\style16\\eolfill = false\r\nTCL\\style16\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style16\\paper = fff0f5\r\nTCL\\style17\\color = 8000ff\r\nTCL\\style17\\eolfill = false\r\nTCL\\style17\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper = fff0f5\r\nTCL\\style18\\color = 8000ff\r\nTCL\\style18\\eolfill = false\r\nTCL\\style18\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper = fff0f5\r\nTCL\\style19\\color = 8000ff\r\nTCL\\style19\\eolfill = false\r\nTCL\\style19\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style19\\paper = fff0f5\r\nTCL\\style20\\color = 7f00\r\nTCL\\style20\\eolfill = true\r\nTCL\\style20\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style20\\paper = fff0f5\r\nTCL\\style21\\color = 0\r\nTCL\\style21\\eolfill = false\r\nTCL\\style21\\font = Courier New, 8, 0, 0, 0\r\nTCL\\style21\\paper = fff0f5\r\nTCL\\properties\\foldcomments = false\r\nTCL\\defaultcolor = 0\r\nTCL\\defaultpaper = fff0f5\r\nTCL\\defaultfont = Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color = 0\r\nTXT\\style0\\eolfill = false\r\nTXT\\style0\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper = fff0f5\r\nTXT\\style1\\color = 0\r\nTXT\\style1\\eolfill = false\r\nTXT\\style1\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper = fff0f5\r\nTXT\\defaultcolor = 0\r\nTXT\\defaultpaper = fff0f5\r\nTXT\\defaultfont = Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/typescript.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = fff0f5\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = fff0f5\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = fff0f5\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = fff0f5\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = fff0f5\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = fff0f5\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = fff0f5\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = fff0f5\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = fff0f5\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = fff0f5\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = fff0f5\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = fff0f5\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = fff0f5\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = fff0f5\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = fff0f5\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = fff0f5\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = fff0f5\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = fff0f5\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = fff0f5\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = fff0f5\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = fff0f5\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = fff0f5\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = fff0f5\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = fff0f5\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = fff0f5\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = fff0f5\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = fff0f5\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = fff0f5\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = fff0f5\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = fff0f5\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = fff0f5\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = fff0f5\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = fff0f5\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = fff0f5\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = fff0f5\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = fff0f5\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = fff0f5\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = fff0f5\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = fff0f5\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = fff0f5\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = fff0f5\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = fff0f5\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = fff0f5\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = fff0f5\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = fff0f5\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = fff0f5\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = fff0f5\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = fff0f5\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = fff0f5\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = fff0f5\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = fff0f5\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = fff0f5\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = fff0f5\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = fff0f5\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = fff0f5\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = fff0f5\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = fff0f5\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color = 0\r\nVB\\style0\\eolfill = false\r\nVB\\style0\\font = Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper = fff0f5\r\nVB\\style1\\color = 0\r\nVB\\style1\\eolfill = false\r\nVB\\style1\\font = Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper = fff0f5\r\nVB\\style2\\color = 7f7f\r\nVB\\style2\\eolfill = false\r\nVB\\style2\\font = Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper = fff0f5\r\nVB\\style3\\color = ff\r\nVB\\style3\\eolfill = false\r\nVB\\style3\\font = Courier New, 14, 1, 0, 0\r\nVB\\style3\\paper = fff0f5\r\nVB\\style4\\color = 7f007f\r\nVB\\style4\\eolfill = false\r\nVB\\style4\\font = Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper = fff0f5\r\nVB\\style5\\color = 0\r\nVB\\style5\\eolfill = false\r\nVB\\style5\\font = Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper = fff0f5\r\nVB\\style6\\color = ff0000\r\nVB\\style6\\eolfill = false\r\nVB\\style6\\font = Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper = fff0f5\r\nVB\\style7\\color = 0\r\nVB\\style7\\eolfill = false\r\nVB\\style7\\font = Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper = fff0f5\r\nVB\\style8\\color = 0\r\nVB\\style8\\eolfill = false\r\nVB\\style8\\font = Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper = fff0f5\r\nVB\\style9\\color = 0\r\nVB\\style9\\eolfill = false\r\nVB\\style9\\font = Courier New, 14, 0, 0, 0\r\nVB\\style9\\paper = fff0f5\r\nVB\\style10\\color = ff\r\nVB\\style10\\eolfill = false\r\nVB\\style10\\font = Courier New, 14, 1, 0, 0\r\nVB\\style10\\paper = fff0f5\r\nVB\\style11\\color = ff\r\nVB\\style11\\eolfill = false\r\nVB\\style11\\font = Courier New, 14, 1, 0, 0\r\nVB\\style11\\paper = fff0f5\r\nVB\\style12\\color = ff\r\nVB\\style12\\eolfill = false\r\nVB\\style12\\font = Courier New, 14, 1, 0, 0\r\nVB\\style12\\paper = fff0f5\r\nVB\\style13\\color = 0\r\nVB\\style13\\eolfill = false\r\nVB\\style13\\font = Courier New, 14, 0, 0, 0\r\nVB\\style13\\paper = fff0f5\r\nVB\\style14\\color = 0\r\nVB\\style14\\eolfill = false\r\nVB\\style14\\font = Courier New, 14, 0, 0, 0\r\nVB\\style14\\paper = fff0f5\r\nVB\\style15\\color = 0\r\nVB\\style15\\eolfill = false\r\nVB\\style15\\font = Courier New, 14, 0, 0, 0\r\nVB\\style15\\paper = fff0f5\r\nVB\\style16\\color = 0\r\nVB\\style16\\eolfill = false\r\nVB\\style16\\font = Courier New, 14, 0, 0, 0\r\nVB\\style16\\paper = fff0f5\r\nVB\\style17\\color = 0\r\nVB\\style17\\eolfill = false\r\nVB\\style17\\font = Courier New, 14, 0, 0, 0\r\nVB\\style17\\paper = fff0f5\r\nVB\\style18\\color = 0\r\nVB\\style18\\eolfill = false\r\nVB\\style18\\font = Courier New, 14, 0, 0, 0\r\nVB\\style18\\paper = fff0f5\r\nVB\\style19\\color = 0\r\nVB\\style19\\eolfill = false\r\nVB\\style19\\font = Courier New, 14, 0, 0, 0\r\nVB\\style19\\paper = fff0f5\r\nVB\\style20\\color = 0\r\nVB\\style20\\eolfill = false\r\nVB\\style20\\font = Courier New, 14, 0, 0, 0\r\nVB\\style20\\paper = fff0f5\r\nVB\\style21\\color = 0\r\nVB\\style21\\eolfill = false\r\nVB\\style21\\font = Courier New, 14, 0, 0, 0\r\nVB\\style21\\paper = fff0f5\r\nVB\\style22\\color = ff\r\nVB\\style22\\eolfill = false\r\nVB\\style22\\font = Courier New, 14, 1, 0, 0\r\nVB\\style22\\paper = fff0f5\r\nVB\\style23\\color = 0\r\nVB\\style23\\eolfill = false\r\nVB\\style23\\font = Courier New, 14, 0, 0, 0\r\nVB\\style23\\paper = fff0f5\r\nVB\\defaultcolor = 0\r\nVB\\defaultpaper = fff0f5\r\nVB\\defaultfont = Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color = 808080\r\nVerilog\\style0\\eolfill = false\r\nVerilog\\style0\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper = fff0f5\r\nVerilog\\style1\\color = 7f00\r\nVerilog\\style1\\eolfill = false\r\nVerilog\\style1\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper = fff0f5\r\nVerilog\\style2\\color = 7f00\r\nVerilog\\style2\\eolfill = false\r\nVerilog\\style2\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper = fff0f5\r\nVerilog\\style3\\color = 3f7f3f\r\nVerilog\\style3\\eolfill = true\r\nVerilog\\style3\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper = fff0f5\r\nVerilog\\style4\\color = 7f7f\r\nVerilog\\style4\\eolfill = false\r\nVerilog\\style4\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper = fff0f5\r\nVerilog\\style5\\color = 8000ff\r\nVerilog\\style5\\eolfill = false\r\nVerilog\\style5\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper = fff0f5\r\nVerilog\\style6\\color = 7f007f\r\nVerilog\\style6\\eolfill = false\r\nVerilog\\style6\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper = fff0f5\r\nVerilog\\style7\\color = 7f7f\r\nVerilog\\style7\\eolfill = false\r\nVerilog\\style7\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper = fff0f5\r\nVerilog\\style8\\color = 804020\r\nVerilog\\style8\\eolfill = false\r\nVerilog\\style8\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style8\\paper = fff0f5\r\nVerilog\\style9\\color = 7f7f00\r\nVerilog\\style9\\eolfill = false\r\nVerilog\\style9\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper = fff0f5\r\nVerilog\\style10\\color = 7070\r\nVerilog\\style10\\eolfill = false\r\nVerilog\\style10\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper = fff0f5\r\nVerilog\\style11\\color = 0\r\nVerilog\\style11\\eolfill = false\r\nVerilog\\style11\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper = fff0f5\r\nVerilog\\style12\\color = 0\r\nVerilog\\style12\\eolfill = true\r\nVerilog\\style12\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper = fff0f5\r\nVerilog\\style19\\color = 2a00ff\r\nVerilog\\style19\\eolfill = false\r\nVerilog\\style19\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper = fff0f5\r\nVerilog\\style20\\color = 2a00ff\r\nVerilog\\style20\\eolfill = false\r\nVerilog\\style20\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style20\\paper = fff0f5\r\nVerilog\\style21\\color = 7f0000\r\nVerilog\\style21\\eolfill = false\r\nVerilog\\style21\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style21\\paper = fff0f5\r\nVerilog\\style22\\color = 8000ff\r\nVerilog\\style22\\eolfill = false\r\nVerilog\\style22\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style22\\paper = fff0f5\r\nVerilog\\style23\\color = ff\r\nVerilog\\style23\\eolfill = false\r\nVerilog\\style23\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style23\\paper = fff0f5\r\nVerilog\\style24\\color = 5032\r\nVerilog\\style24\\eolfill = false\r\nVerilog\\style24\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style24\\paper = fff0f5\r\nVerilog\\style64\\color = 0\r\nVerilog\\style64\\eolfill = true\r\nVerilog\\style64\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style64\\paper = fff0f5\r\nVerilog\\style65\\color = 808080\r\nVerilog\\style65\\eolfill = true\r\nVerilog\\style65\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style65\\paper = fff0f5\r\nVerilog\\style66\\color = 808080\r\nVerilog\\style66\\eolfill = true\r\nVerilog\\style66\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style66\\paper = fff0f5\r\nVerilog\\style67\\color = 808080\r\nVerilog\\style67\\eolfill = true\r\nVerilog\\style67\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style67\\paper = fff0f5\r\nVerilog\\style68\\color = 808080\r\nVerilog\\style68\\eolfill = true\r\nVerilog\\style68\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style68\\paper = fff0f5\r\nVerilog\\style69\\color = 808080\r\nVerilog\\style69\\eolfill = true\r\nVerilog\\style69\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style69\\paper = fff0f5\r\nVerilog\\style70\\color = 808080\r\nVerilog\\style70\\eolfill = true\r\nVerilog\\style70\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style70\\paper = fff0f5\r\nVerilog\\style71\\color = 808080\r\nVerilog\\style71\\eolfill = true\r\nVerilog\\style71\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style71\\paper = fff0f5\r\nVerilog\\style72\\color = 808080\r\nVerilog\\style72\\eolfill = true\r\nVerilog\\style72\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style72\\paper = fff0f5\r\nVerilog\\style73\\color = 808080\r\nVerilog\\style73\\eolfill = true\r\nVerilog\\style73\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style73\\paper = fff0f5\r\nVerilog\\style74\\color = 808080\r\nVerilog\\style74\\eolfill = true\r\nVerilog\\style74\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style74\\paper = fff0f5\r\nVerilog\\style75\\color = 808080\r\nVerilog\\style75\\eolfill = true\r\nVerilog\\style75\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style75\\paper = fff0f5\r\nVerilog\\style76\\color = 808080\r\nVerilog\\style76\\eolfill = true\r\nVerilog\\style76\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style76\\paper = fff0f5\r\nVerilog\\style83\\color = 808080\r\nVerilog\\style83\\eolfill = true\r\nVerilog\\style83\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style83\\paper = fff0f5\r\nVerilog\\style84\\color = 808080\r\nVerilog\\style84\\eolfill = true\r\nVerilog\\style84\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style84\\paper = fff0f5\r\nVerilog\\style85\\color = 808080\r\nVerilog\\style85\\eolfill = true\r\nVerilog\\style85\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style85\\paper = fff0f5\r\nVerilog\\style86\\color = 808080\r\nVerilog\\style86\\eolfill = true\r\nVerilog\\style86\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style86\\paper = fff0f5\r\nVerilog\\style87\\color = 808080\r\nVerilog\\style87\\eolfill = true\r\nVerilog\\style87\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style87\\paper = fff0f5\r\nVerilog\\style88\\color = 808080\r\nVerilog\\style88\\eolfill = true\r\nVerilog\\style88\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style88\\paper = fff0f5\r\nVerilog\\properties\\foldatelse = false\r\nVerilog\\properties\\foldcomments = false\r\nVerilog\\properties\\foldcompact = true\r\nVerilog\\properties\\foldpreprocessor = false\r\nVerilog\\properties\\foldverilogflags = false\r\nVerilog\\defaultcolor = 0\r\nVerilog\\defaultpaper = fff0f5\r\nVerilog\\defaultfont = Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color = 800080\r\nVHDL\\style0\\eolfill = false\r\nVHDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper = fff0f5\r\nVHDL\\style1\\color = 7f00\r\nVHDL\\style1\\eolfill = false\r\nVHDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper = fff0f5\r\nVHDL\\style2\\color = 3f7f3f\r\nVHDL\\style2\\eolfill = false\r\nVHDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper = fff0f5\r\nVHDL\\style3\\color = 7f7f\r\nVHDL\\style3\\eolfill = false\r\nVHDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper = fff0f5\r\nVHDL\\style4\\color = 7f007f\r\nVHDL\\style4\\eolfill = false\r\nVHDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper = fff0f5\r\nVHDL\\style5\\color = 0\r\nVHDL\\style5\\eolfill = false\r\nVHDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper = fff0f5\r\nVHDL\\style6\\color = 0\r\nVHDL\\style6\\eolfill = false\r\nVHDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper = fff0f5\r\nVHDL\\style7\\color = 0\r\nVHDL\\style7\\eolfill = true\r\nVHDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper = fff0f5\r\nVHDL\\style8\\color = 8000ff\r\nVHDL\\style8\\eolfill = false\r\nVHDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper = fff0f5\r\nVHDL\\style9\\color = 7f7f\r\nVHDL\\style9\\eolfill = false\r\nVHDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper = fff0f5\r\nVHDL\\style10\\color = 804020\r\nVHDL\\style10\\eolfill = false\r\nVHDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper = fff0f5\r\nVHDL\\style11\\color = 808020\r\nVHDL\\style11\\eolfill = false\r\nVHDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper = fff0f5\r\nVHDL\\style12\\color = 208020\r\nVHDL\\style12\\eolfill = false\r\nVHDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper = fff0f5\r\nVHDL\\style13\\color = 208080\r\nVHDL\\style13\\eolfill = false\r\nVHDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper = fff0f5\r\nVHDL\\style14\\color = 804020\r\nVHDL\\style14\\eolfill = false\r\nVHDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper = fff0f5\r\nVHDL\\style15\\color = 0\r\nVHDL\\style15\\eolfill = false\r\nVHDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style15\\paper = fff0f5\r\nVHDL\\properties\\foldcomments = true\r\nVHDL\\properties\\foldcompact = true\r\nVHDL\\properties\\foldatelse = true\r\nVHDL\\properties\\foldatbegin = true\r\nVHDL\\properties\\foldatparenthesis = true\r\nVHDL\\defaultcolor = 0\r\nVHDL\\defaultpaper = fff0f5\r\nVHDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color = 0\r\nXML\\style0\\eolfill = false\r\nXML\\style0\\font = Courier New, 13, 0, 0, 0\r\nXML\\style0\\paper = fff0f5\r\nXML\\style1\\color = ff\r\nXML\\style1\\eolfill = false\r\nXML\\style1\\font = Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper = fff0f5\r\nXML\\style2\\color = ff\r\nXML\\style2\\eolfill = false\r\nXML\\style2\\font = Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper = fff0f5\r\nXML\\style3\\color = ff0000\r\nXML\\style3\\eolfill = false\r\nXML\\style3\\font = Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper = fff0f5\r\nXML\\style4\\color = ff0000\r\nXML\\style4\\eolfill = false\r\nXML\\style4\\font = Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper = fff0f5\r\nXML\\style5\\color = 7f7f\r\nXML\\style5\\eolfill = false\r\nXML\\style5\\font = Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper = fff0f5\r\nXML\\style6\\color = 7f007f\r\nXML\\style6\\eolfill = false\r\nXML\\style6\\font = Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper = fff0f5\r\nXML\\style7\\color = 7f007f\r\nXML\\style7\\eolfill = false\r\nXML\\style7\\font = Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper = fff0f5\r\nXML\\style8\\color = 800080\r\nXML\\style8\\eolfill = false\r\nXML\\style8\\font = Courier New, 14, 0, 0, 0\r\nXML\\style8\\paper = fff0f5\r\nXML\\style9\\color = 808000\r\nXML\\style9\\eolfill = false\r\nXML\\style9\\font = Courier New, 9, 0, 0, 0\r\nXML\\style9\\paper = fff0f5\r\nXML\\style10\\color = 800080\r\nXML\\style10\\eolfill = false\r\nXML\\style10\\font = Courier New, 13, 0, 0, 0\r\nXML\\style10\\paper = fff0f5\r\nXML\\style11\\color = ff\r\nXML\\style11\\eolfill = false\r\nXML\\style11\\font = Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper = fff0f5\r\nXML\\style12\\color = 800080\r\nXML\\style12\\eolfill = false\r\nXML\\style12\\font = Courier New, 14, 1, 0, 0\r\nXML\\style12\\paper = fff0f5\r\nXML\\style13\\color = 800080\r\nXML\\style13\\eolfill = false\r\nXML\\style13\\font = Courier New, 14, 1, 0, 0\r\nXML\\style13\\paper = fff0f5\r\nXML\\style14\\color = ff\r\nXML\\style14\\eolfill = false\r\nXML\\style14\\font = Courier New, 14, 0, 0, 0\r\nXML\\style14\\paper = fff0f5\r\nXML\\style15\\color = 0\r\nXML\\style15\\eolfill = false\r\nXML\\style15\\font = Courier New, 14, 0, 0, 0\r\nXML\\style15\\paper = fff0f5\r\nXML\\style16\\color = 0\r\nXML\\style16\\eolfill = false\r\nXML\\style16\\font = Courier New, 14, 0, 0, 0\r\nXML\\style16\\paper = fff0f5\r\nXML\\style17\\color = 800000\r\nXML\\style17\\eolfill = true\r\nXML\\style17\\font = Courier New, 13, 0, 0, 0\r\nXML\\style17\\paper = fff0f5\r\nXML\\style18\\color = 800000\r\nXML\\style18\\eolfill = false\r\nXML\\style18\\font = Courier New, 14, 0, 0, 0\r\nXML\\style18\\paper = fff0f5\r\nXML\\style19\\color = 608060\r\nXML\\style19\\eolfill = false\r\nXML\\style19\\font = Courier New, 14, 0, 0, 0\r\nXML\\style19\\paper = fff0f5\r\nXML\\style20\\color = 0\r\nXML\\style20\\eolfill = false\r\nXML\\style20\\font = Courier New, 14, 0, 0, 0\r\nXML\\style20\\paper = fff0f5\r\nXML\\style21\\color = ff\r\nXML\\style21\\eolfill = false\r\nXML\\style21\\font = Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper = fff0f5\r\nXML\\style22\\color = ff\r\nXML\\style22\\eolfill = false\r\nXML\\style22\\font = Courier New, 14, 1, 0, 0\r\nXML\\style22\\paper = fff0f5\r\nXML\\style23\\color = 6600\r\nXML\\style23\\eolfill = false\r\nXML\\style23\\font = Courier New, 14, 0, 0, 0\r\nXML\\style23\\paper = fff0f5\r\nXML\\style24\\color = 800000\r\nXML\\style24\\eolfill = false\r\nXML\\style24\\font = Courier New, 14, 0, 0, 0\r\nXML\\style24\\paper = fff0f5\r\nXML\\style25\\color = 993300\r\nXML\\style25\\eolfill = false\r\nXML\\style25\\font = Courier New, 14, 0, 0, 0\r\nXML\\style25\\paper = fff0f5\r\nXML\\style26\\color = 800000\r\nXML\\style26\\eolfill = false\r\nXML\\style26\\font = Courier New, 14, 0, 0, 0\r\nXML\\style26\\paper = fff0f5\r\nXML\\style27\\color = 3366ff\r\nXML\\style27\\eolfill = false\r\nXML\\style27\\font = Courier New, 14, 0, 0, 0\r\nXML\\style27\\paper = fff0f5\r\nXML\\style29\\color = 808000\r\nXML\\style29\\eolfill = false\r\nXML\\style29\\font = Courier New, 14, 0, 0, 0\r\nXML\\style29\\paper = fff0f5\r\nXML\\style30\\color = 0\r\nXML\\style30\\eolfill = false\r\nXML\\style30\\font = Courier New, 14, 0, 0, 0\r\nXML\\style30\\paper = fff0f5\r\nXML\\style31\\color = 66\r\nXML\\style31\\eolfill = false\r\nXML\\style31\\font = Courier New, 14, 0, 0, 0\r\nXML\\style31\\paper = fff0f5\r\nXML\\style40\\color = 7f7f00\r\nXML\\style40\\eolfill = false\r\nXML\\style40\\font = Courier New, 14, 0, 0, 0\r\nXML\\style40\\paper = fff0f5\r\nXML\\style41\\color = 0\r\nXML\\style41\\eolfill = true\r\nXML\\style41\\font = Courier New, 14, 1, 0, 0\r\nXML\\style41\\paper = fff0f5\r\nXML\\style42\\color = 7f00\r\nXML\\style42\\eolfill = true\r\nXML\\style42\\font = Courier New, 14, 0, 0, 0\r\nXML\\style42\\paper = fff0f5\r\nXML\\style43\\color = 7f00\r\nXML\\style43\\eolfill = false\r\nXML\\style43\\font = Courier New, 14, 0, 0, 0\r\nXML\\style43\\paper = fff0f5\r\nXML\\style44\\color = 3f703f\r\nXML\\style44\\eolfill = true\r\nXML\\style44\\font = Courier New, 14, 1, 0, 0\r\nXML\\style44\\paper = fff0f5\r\nXML\\style45\\color = 7f7f\r\nXML\\style45\\eolfill = false\r\nXML\\style45\\font = Courier New, 14, 0, 0, 0\r\nXML\\style45\\paper = fff0f5\r\nXML\\style46\\color = 0\r\nXML\\style46\\eolfill = false\r\nXML\\style46\\font = Courier New, 14, 0, 0, 0\r\nXML\\style46\\paper = fff0f5\r\nXML\\style47\\color = 8000ff\r\nXML\\style47\\eolfill = false\r\nXML\\style47\\font = Courier New, 14, 1, 0, 0\r\nXML\\style47\\paper = fff0f5\r\nXML\\style48\\color = 7f007f\r\nXML\\style48\\eolfill = false\r\nXML\\style48\\font = Courier New, 14, 0, 0, 0\r\nXML\\style48\\paper = fff0f5\r\nXML\\style49\\color = 7f007f\r\nXML\\style49\\eolfill = false\r\nXML\\style49\\font = Courier New, 14, 0, 0, 0\r\nXML\\style49\\paper = fff0f5\r\nXML\\style50\\color = 0\r\nXML\\style50\\eolfill = false\r\nXML\\style50\\font = Courier New, 14, 1, 0, 0\r\nXML\\style50\\paper = fff0f5\r\nXML\\style51\\color = 0\r\nXML\\style51\\eolfill = true\r\nXML\\style51\\font = Courier New, 14, 0, 0, 0\r\nXML\\style51\\paper = fff0f5\r\nXML\\style52\\color = 0\r\nXML\\style52\\eolfill = false\r\nXML\\style52\\font = Courier New, 14, 0, 0, 0\r\nXML\\style52\\paper = fff0f5\r\nXML\\style55\\color = 7f7f00\r\nXML\\style55\\eolfill = false\r\nXML\\style55\\font = Courier New, 14, 0, 0, 0\r\nXML\\style55\\paper = fff0f5\r\nXML\\style56\\color = 0\r\nXML\\style56\\eolfill = true\r\nXML\\style56\\font = Courier New, 14, 1, 0, 0\r\nXML\\style56\\paper = fff0f5\r\nXML\\style57\\color = 7f00\r\nXML\\style57\\eolfill = true\r\nXML\\style57\\font = Courier New, 14, 0, 0, 0\r\nXML\\style57\\paper = fff0f5\r\nXML\\style58\\color = 7f00\r\nXML\\style58\\eolfill = false\r\nXML\\style58\\font = Courier New, 14, 0, 0, 0\r\nXML\\style58\\paper = fff0f5\r\nXML\\style59\\color = 7f7f7f\r\nXML\\style59\\eolfill = true\r\nXML\\style59\\font = Courier New, 14, 1, 0, 0\r\nXML\\style59\\paper = fff0f5\r\nXML\\style60\\color = 7f7f\r\nXML\\style60\\eolfill = false\r\nXML\\style60\\font = Courier New, 14, 0, 0, 0\r\nXML\\style60\\paper = fff0f5\r\nXML\\style61\\color = 0\r\nXML\\style61\\eolfill = false\r\nXML\\style61\\font = Courier New, 14, 0, 0, 0\r\nXML\\style61\\paper = fff0f5\r\nXML\\style62\\color = 8000ff\r\nXML\\style62\\eolfill = false\r\nXML\\style62\\font = Courier New, 14, 1, 0, 0\r\nXML\\style62\\paper = fff0f5\r\nXML\\style63\\color = 7f007f\r\nXML\\style63\\eolfill = false\r\nXML\\style63\\font = Courier New, 14, 0, 0, 0\r\nXML\\style63\\paper = fff0f5\r\nXML\\style64\\color = 7f007f\r\nXML\\style64\\eolfill = false\r\nXML\\style64\\font = Courier New, 14, 0, 0, 0\r\nXML\\style64\\paper = fff0f5\r\nXML\\style65\\color = 0\r\nXML\\style65\\eolfill = false\r\nXML\\style65\\font = Courier New, 14, 1, 0, 0\r\nXML\\style65\\paper = fff0f5\r\nXML\\style66\\color = 0\r\nXML\\style66\\eolfill = true\r\nXML\\style66\\font = Courier New, 14, 0, 0, 0\r\nXML\\style66\\paper = fff0f5\r\nXML\\style67\\color = 0\r\nXML\\style67\\eolfill = false\r\nXML\\style67\\font = Courier New, 14, 0, 0, 0\r\nXML\\style67\\paper = fff0f5\r\nXML\\style70\\color = 0\r\nXML\\style70\\eolfill = false\r\nXML\\style70\\font = Courier New, 14, 0, 0, 0\r\nXML\\style70\\paper = fff0f5\r\nXML\\style71\\color = 0\r\nXML\\style71\\eolfill = true\r\nXML\\style71\\font = Courier New, 14, 0, 0, 0\r\nXML\\style71\\paper = fff0f5\r\nXML\\style72\\color = 8000\r\nXML\\style72\\eolfill = true\r\nXML\\style72\\font = Courier New, 14, 0, 0, 0\r\nXML\\style72\\paper = fff0f5\r\nXML\\style73\\color = ff0000\r\nXML\\style73\\eolfill = true\r\nXML\\style73\\font = Courier New, 14, 0, 0, 0\r\nXML\\style73\\paper = fff0f5\r\nXML\\style74\\color = ff\r\nXML\\style74\\eolfill = true\r\nXML\\style74\\font = Courier New, 14, 0, 0, 0\r\nXML\\style74\\paper = fff0f5\r\nXML\\style75\\color = 800080\r\nXML\\style75\\eolfill = true\r\nXML\\style75\\font = Courier New, 14, 0, 0, 0\r\nXML\\style75\\paper = fff0f5\r\nXML\\style76\\color = ff\r\nXML\\style76\\eolfill = true\r\nXML\\style76\\font = Courier New, 14, 0, 0, 0\r\nXML\\style76\\paper = fff0f5\r\nXML\\style77\\color = ff\r\nXML\\style77\\eolfill = true\r\nXML\\style77\\font = Courier New, 14, 0, 0, 0\r\nXML\\style77\\paper = fff0f5\r\nXML\\style80\\color = 0\r\nXML\\style80\\eolfill = false\r\nXML\\style80\\font = Courier New, 14, 0, 0, 0\r\nXML\\style80\\paper = fff0f5\r\nXML\\style81\\color = 0\r\nXML\\style81\\eolfill = true\r\nXML\\style81\\font = Courier New, 14, 0, 0, 0\r\nXML\\style81\\paper = fff0f5\r\nXML\\style82\\color = 8000\r\nXML\\style82\\eolfill = true\r\nXML\\style82\\font = Courier New, 14, 0, 0, 0\r\nXML\\style82\\paper = fff0f5\r\nXML\\style83\\color = ff0000\r\nXML\\style83\\eolfill = true\r\nXML\\style83\\font = Courier New, 14, 0, 0, 0\r\nXML\\style83\\paper = fff0f5\r\nXML\\style84\\color = ff\r\nXML\\style84\\eolfill = true\r\nXML\\style84\\font = Courier New, 14, 0, 0, 0\r\nXML\\style84\\paper = fff0f5\r\nXML\\style85\\color = 800080\r\nXML\\style85\\eolfill = true\r\nXML\\style85\\font = Courier New, 14, 0, 0, 0\r\nXML\\style85\\paper = fff0f5\r\nXML\\style86\\color = ff\r\nXML\\style86\\eolfill = true\r\nXML\\style86\\font = Courier New, 14, 0, 0, 0\r\nXML\\style86\\paper = fff0f5\r\nXML\\style87\\color = ff\r\nXML\\style87\\eolfill = true\r\nXML\\style87\\font = Courier New, 14, 0, 0, 0\r\nXML\\style87\\paper = fff0f5\r\nXML\\style90\\color = 808080\r\nXML\\style90\\eolfill = false\r\nXML\\style90\\font = Courier New, 14, 0, 0, 0\r\nXML\\style90\\paper = fff0f5\r\nXML\\style91\\color = 808080\r\nXML\\style91\\eolfill = true\r\nXML\\style91\\font = Courier New, 14, 0, 0, 0\r\nXML\\style91\\paper = fff0f5\r\nXML\\style92\\color = 7f00\r\nXML\\style92\\eolfill = true\r\nXML\\style92\\font = Courier New, 14, 0, 0, 0\r\nXML\\style92\\paper = fff0f5\r\nXML\\style93\\color = 7f7f\r\nXML\\style93\\eolfill = true\r\nXML\\style93\\font = Courier New, 14, 0, 0, 0\r\nXML\\style93\\paper = fff0f5\r\nXML\\style94\\color = 7f007f\r\nXML\\style94\\eolfill = true\r\nXML\\style94\\font = Courier New, 14, 0, 0, 0\r\nXML\\style94\\paper = fff0f5\r\nXML\\style95\\color = 7f007f\r\nXML\\style95\\eolfill = true\r\nXML\\style95\\font = Courier New, 14, 0, 0, 0\r\nXML\\style95\\paper = fff0f5\r\nXML\\style96\\color = 8000ff\r\nXML\\style96\\eolfill = true\r\nXML\\style96\\font = Courier New, 14, 1, 0, 0\r\nXML\\style96\\paper = fff0f5\r\nXML\\style97\\color = 7f0000\r\nXML\\style97\\eolfill = true\r\nXML\\style97\\font = Courier New, 14, 0, 0, 0\r\nXML\\style97\\paper = fff0f5\r\nXML\\style98\\color = 7f0000\r\nXML\\style98\\eolfill = true\r\nXML\\style98\\font = Courier New, 14, 0, 0, 0\r\nXML\\style98\\paper = fff0f5\r\nXML\\style99\\color = ff\r\nXML\\style99\\eolfill = true\r\nXML\\style99\\font = Courier New, 14, 1, 0, 0\r\nXML\\style99\\paper = fff0f5\r\nXML\\style100\\color = 7f7f\r\nXML\\style100\\eolfill = true\r\nXML\\style100\\font = Courier New, 14, 1, 0, 0\r\nXML\\style100\\paper = fff0f5\r\nXML\\style101\\color = 0\r\nXML\\style101\\eolfill = true\r\nXML\\style101\\font = Courier New, 14, 1, 0, 0\r\nXML\\style101\\paper = fff0f5\r\nXML\\style102\\color = 0\r\nXML\\style102\\eolfill = true\r\nXML\\style102\\font = Courier New, 14, 0, 0, 0\r\nXML\\style102\\paper = fff0f5\r\nXML\\style105\\color = 808080\r\nXML\\style105\\eolfill = false\r\nXML\\style105\\font = Courier New, 14, 0, 0, 0\r\nXML\\style105\\paper = fff0f5\r\nXML\\style106\\color = 808080\r\nXML\\style106\\eolfill = true\r\nXML\\style106\\font = Courier New, 14, 0, 0, 0\r\nXML\\style106\\paper = fff0f5\r\nXML\\style107\\color = 7f00\r\nXML\\style107\\eolfill = true\r\nXML\\style107\\font = Courier New, 14, 0, 0, 0\r\nXML\\style107\\paper = fff0f5\r\nXML\\style108\\color = 7f7f\r\nXML\\style108\\eolfill = true\r\nXML\\style108\\font = Courier New, 14, 0, 0, 0\r\nXML\\style108\\paper = fff0f5\r\nXML\\style109\\color = 7f007f\r\nXML\\style109\\eolfill = true\r\nXML\\style109\\font = Courier New, 14, 0, 0, 0\r\nXML\\style109\\paper = fff0f5\r\nXML\\style110\\color = 7f007f\r\nXML\\style110\\eolfill = true\r\nXML\\style110\\font = Courier New, 14, 0, 0, 0\r\nXML\\style110\\paper = fff0f5\r\nXML\\style111\\color = 8000ff\r\nXML\\style111\\eolfill = true\r\nXML\\style111\\font = Courier New, 14, 1, 0, 0\r\nXML\\style111\\paper = fff0f5\r\nXML\\style112\\color = 7f0000\r\nXML\\style112\\eolfill = true\r\nXML\\style112\\font = Courier New, 14, 0, 0, 0\r\nXML\\style112\\paper = fff0f5\r\nXML\\style113\\color = 7f0000\r\nXML\\style113\\eolfill = true\r\nXML\\style113\\font = Courier New, 14, 0, 0, 0\r\nXML\\style113\\paper = fff0f5\r\nXML\\style114\\color = ff\r\nXML\\style114\\eolfill = true\r\nXML\\style114\\font = Courier New, 14, 1, 0, 0\r\nXML\\style114\\paper = fff0f5\r\nXML\\style115\\color = 7f7f\r\nXML\\style115\\eolfill = true\r\nXML\\style115\\font = Courier New, 14, 1, 0, 0\r\nXML\\style115\\paper = fff0f5\r\nXML\\style116\\color = 0\r\nXML\\style116\\eolfill = true\r\nXML\\style116\\font = Courier New, 14, 1, 0, 0\r\nXML\\style116\\paper = fff0f5\r\nXML\\style117\\color = 0\r\nXML\\style117\\eolfill = true\r\nXML\\style117\\font = Courier New, 14, 0, 0, 0\r\nXML\\style117\\paper = fff0f5\r\nXML\\style118\\color = 33\r\nXML\\style118\\eolfill = true\r\nXML\\style118\\font = Courier New, 14, 0, 0, 0\r\nXML\\style118\\paper = fff0f5\r\nXML\\style119\\color = 7f00\r\nXML\\style119\\eolfill = false\r\nXML\\style119\\font = Courier New, 14, 0, 0, 0\r\nXML\\style119\\paper = fff0f5\r\nXML\\style120\\color = 9f00\r\nXML\\style120\\eolfill = false\r\nXML\\style120\\font = Courier New, 14, 0, 0, 0\r\nXML\\style120\\paper = fff0f5\r\nXML\\style121\\color = 7f007f\r\nXML\\style121\\eolfill = false\r\nXML\\style121\\font = Courier New, 14, 0, 1, 0\r\nXML\\style121\\paper = fff0f5\r\nXML\\style122\\color = cc9900\r\nXML\\style122\\eolfill = false\r\nXML\\style122\\font = Courier New, 14, 0, 0, 0\r\nXML\\style122\\paper = fff0f5\r\nXML\\style123\\color = 8000ff\r\nXML\\style123\\eolfill = false\r\nXML\\style123\\font = Courier New, 14, 0, 1, 0\r\nXML\\style123\\paper = fff0f5\r\nXML\\style124\\color = 999999\r\nXML\\style124\\eolfill = false\r\nXML\\style124\\font = Courier New, 14, 0, 0, 0\r\nXML\\style124\\paper = fff0f5\r\nXML\\style125\\color = 666666\r\nXML\\style125\\eolfill = false\r\nXML\\style125\\font = Courier New, 14, 0, 1, 0\r\nXML\\style125\\paper = fff0f5\r\nXML\\style126\\color = 8000ff\r\nXML\\style126\\eolfill = false\r\nXML\\style126\\font = Courier New, 14, 0, 1, 0\r\nXML\\style126\\paper = fff0f5\r\nXML\\style127\\color = 0\r\nXML\\style127\\eolfill = false\r\nXML\\style127\\font = Courier New, 14, 0, 0, 0\r\nXML\\style127\\paper = fff0f5\r\nXML\\properties\\foldcompact = true\r\nXML\\properties\\foldpreprocessor = true\r\nXML\\properties\\casesensitivetags = false\r\nXML\\properties\\foldscriptcomments = false\r\nXML\\properties\\foldscriptheredocs = false\r\nXML\\properties\\djangotemplates = false\r\nXML\\properties\\makotemplates = false\r\nXML\\properties\\scriptsstyled = true\r\nXML\\defaultcolor = 0\r\nXML\\defaultpaper = fff0f5\r\nXML\\defaultfont = Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/lavender/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color = 0\r\nYAML\\style0\\eolfill = false\r\nYAML\\style0\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style0\\paper = fff0f5\r\nYAML\\style1\\color = 8800\r\nYAML\\style1\\eolfill = false\r\nYAML\\style1\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style1\\paper = fff0f5\r\nYAML\\style2\\color = 88\r\nYAML\\style2\\eolfill = false\r\nYAML\\style2\\font = Courier New, 14, 1, 0, 0\r\nYAML\\style2\\paper = fff0f5\r\nYAML\\style3\\color = 880088\r\nYAML\\style3\\eolfill = false\r\nYAML\\style3\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style3\\paper = fff0f5\r\nYAML\\style4\\color = 880000\r\nYAML\\style4\\eolfill = false\r\nYAML\\style4\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style4\\paper = fff0f5\r\nYAML\\style5\\color = 8888\r\nYAML\\style5\\eolfill = false\r\nYAML\\style5\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style5\\paper = fff0f5\r\nYAML\\style6\\color = ffffff\r\nYAML\\style6\\eolfill = true\r\nYAML\\style6\\font = Courier New, 9, 1, 0, 0\r\nYAML\\style6\\paper = fff0f5\r\nYAML\\style7\\color = 333366\r\nYAML\\style7\\eolfill = false\r\nYAML\\style7\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style7\\paper = fff0f5\r\nYAML\\style8\\color = ffffff\r\nYAML\\style8\\eolfill = true\r\nYAML\\style8\\font = Courier New, 11, 1, 1, 0\r\nYAML\\style8\\paper = fff0f5\r\nYAML\\style9\\color = 0\r\nYAML\\style9\\eolfill = false\r\nYAML\\style9\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style9\\paper = fff0f5\r\nYAML\\properties\\foldcomments = false\r\nYAML\\defaultcolor = 0\r\nYAML\\defaultpaper = fff0f5\r\nYAML\\defaultfont = Courier New, 14, 0, 0, 0\r\nYAML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color = 0\r\nGlobal\\style0\\eolfill = false\r\nGlobal\\style0\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper = ffe4e1\r\nGlobal\\style1\\color = 0\r\nGlobal\\style1\\eolfill = false\r\nGlobal\\style1\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper = ffe4e1\r\nGlobal\\style2\\color = c0c0c0\r\nGlobal\\style2\\eolfill = false\r\nGlobal\\style2\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper = ffffff\r\nGlobal\\style3\\color = ff0000\r\nGlobal\\style3\\eolfill = false\r\nGlobal\\style3\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper = ffffff\r\nGlobal\\style4\\color = 800000\r\nGlobal\\style4\\eolfill = false\r\nGlobal\\style4\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper = ffffff\r\nGlobal\\style5\\color = 80c0\r\nGlobal\\style5\\eolfill = false\r\nGlobal\\style5\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper = e8e8ff\r\nGlobal\\style6\\color = 0\r\nGlobal\\style6\\eolfill = false\r\nGlobal\\style6\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper = c0c0c0\r\nGlobal\\style7\\color = 8000ff\r\nGlobal\\style7\\eolfill = false\r\nGlobal\\style7\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper = 919994\r\nGlobal\\style8\\color = 80ffff\r\nGlobal\\style8\\eolfill = false\r\nGlobal\\style8\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper = 112435\r\nGlobal\\style9\\color = 808080\r\nGlobal\\style9\\eolfill = false\r\nGlobal\\style9\\font = Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper = fde2e0\r\nGlobal\\style10\\color = eeeeec\r\nGlobal\\style10\\eolfill = false\r\nGlobal\\style10\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper = fce0e0\r\nGlobal\\style11\\color = 000000\r\nGlobal\\style11\\eolfill = false\r\nGlobal\\style11\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper = ffe4e1\r\nGlobal\\style12\\color = 000000\r\nGlobal\\style12\\eolfill = false\r\nGlobal\\style12\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper = ffe4e1\r\nGlobal\\style13\\color = ffe4e1\r\nGlobal\\style13\\eolfill = false\r\nGlobal\\style13\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper = fde2e0\r\nGlobal\\style14\\color = ffb56a\r\nGlobal\\style14\\eolfill = false\r\nGlobal\\style14\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper = 80ff00\r\nGlobal\\style15\\color = ff00\r\nGlobal\\style15\\eolfill = false\r\nGlobal\\style15\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper = ff00\r\nGlobal\\style16\\color = fcaf3e\r\nGlobal\\style16\\eolfill = false\r\nGlobal\\style16\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper = ff0000\r\nGlobal\\style17\\color = 555753\r\nGlobal\\style17\\eolfill = false\r\nGlobal\\style17\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper = ffff\r\nGlobal\\style18\\color = fcaf3e\r\nGlobal\\style18\\eolfill = false\r\nGlobal\\style18\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper = ff8000\r\nGlobal\\style19\\color = faaa3c\r\nGlobal\\style19\\eolfill = false\r\nGlobal\\style19\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper = ffff00\r\nGlobal\\style20\\color = ffcab0\r\nGlobal\\style20\\eolfill = false\r\nGlobal\\style20\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper = 8000ff\r\nGlobal\\style21\\color = 0\r\nGlobal\\style21\\eolfill = false\r\nGlobal\\style21\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper = 8000\r\nGlobal\\style22\\color = 808080\r\nGlobal\\style22\\eolfill = false\r\nGlobal\\style22\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper = 80ff\r\nGlobal\\style23\\color = ffcab0\r\nGlobal\\style23\\eolfill = false\r\nGlobal\\style23\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper = 8000ff\r\nGlobal\\style24\\color = ffcab0\r\nGlobal\\style24\\eolfill = false\r\nGlobal\\style24\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper = ffff00\r\nGlobal\\style25\\color = ff\r\nGlobal\\style25\\eolfill = false\r\nGlobal\\style25\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper = c0c0c0\r\nGlobal\\defaultcolor = 0\r\nGlobal\\defaultpaper = ffe4e1\r\nGlobal\\defaultfont = Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = ffe4e1\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = ffe4e1\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = ffe4e1\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = ffe4e1\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = ffe4e1\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = ffe4e1\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = ffe4e1\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = ffe4e1\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = ffe4e1\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = ffe4e1\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = ffe4e1\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = ffe4e1\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = ffe4e1\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = ffe4e1\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = ffe4e1\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = ffe4e1\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = ffe4e1\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = ffe4e1\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = ffe4e1\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = ffe4e1\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = ffe4e1\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = ffe4e1\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = ffe4e1\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = ffe4e1\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = ffe4e1\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = ffe4e1\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = ffe4e1\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = ffe4e1\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = ffe4e1\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = ffe4e1\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = ffe4e1\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = ffe4e1\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = ffe4e1\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = ffe4e1\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = ffe4e1\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = ffe4e1\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = ffe4e1\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = ffe4e1\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = ffe4e1\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = ffe4e1\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = ffe4e1\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = ffe4e1\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = ffe4e1\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = ffe4e1\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = ffe4e1\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = ffe4e1\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = ffe4e1\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = ffe4e1\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = ffe4e1\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = ffe4e1\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = ffe4e1\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = ffe4e1\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = ffe4e1\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = ffe4e1\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = ffe4e1\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = ffe4e1\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = ffe4e1\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = ffe4e1\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = ffe4e1\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = ffe4e1\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = ffe4e1\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = ffe4e1\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = ffe4e1\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = ffe4e1\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = ffe4e1\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = ffe4e1\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = ffe4e1\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = ffe4e1\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = ffe4e1\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = ffe4e1\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = ffe4e1\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = ffe4e1\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = ffe4e1\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = ffe4e1\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = ffe4e1\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = ffe4e1\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = ffe4e1\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = ffe4e1\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = ffe4e1\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = ffe4e1\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = ffe4e1\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = ffe4e1\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = ffe4e1\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = ffe4e1\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = ffe4e1\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = ffe4e1\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = ffe4e1\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = ffe4e1\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = ffe4e1\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = ffe4e1\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = ffe4e1\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = ffe4e1\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = ffe4e1\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = ffe4e1\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = ffe4e1\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = ffe4e1\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = ffe4e1\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = ffe4e1\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = ffe4e1\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = ffe4e1\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = ffe4e1\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = ffe4e1\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = ffe4e1\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = ffe4e1\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = ffe4e1\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = ffe4e1\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = ffe4e1\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = ffe4e1\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = ffe4e1\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = ffe4e1\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/avs.ini",
    "content": "[Scintilla]\r\nAVS\\style0\\color = 0\r\nAVS\\style0\\eolfill = false\r\nAVS\\style0\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style0\\paper = ffe4e1\r\nAVS\\style1\\color = 7f00\r\nAVS\\style1\\eolfill = false\r\nAVS\\style1\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style1\\paper = ffe4e1\r\nAVS\\style2\\color = 7f00\r\nAVS\\style2\\eolfill = false\r\nAVS\\style2\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style2\\paper = ffe4e1\r\nAVS\\style3\\color = 7f00\r\nAVS\\style3\\eolfill = false\r\nAVS\\style3\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style3\\paper = ffe4e1\r\nAVS\\style4\\color = 7f7f\r\nAVS\\style4\\eolfill = false\r\nAVS\\style4\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style4\\paper = ffe4e1\r\nAVS\\style5\\color = 0\r\nAVS\\style5\\eolfill = false\r\nAVS\\style5\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style5\\paper = ffe4e1\r\nAVS\\style6\\color = 0\r\nAVS\\style6\\eolfill = false\r\nAVS\\style6\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style6\\paper = ffe4e1\r\nAVS\\style7\\color = 7f007f\r\nAVS\\style7\\eolfill = false\r\nAVS\\style7\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style7\\paper = ffe4e1\r\nAVS\\style8\\color = 7f007f\r\nAVS\\style8\\eolfill = false\r\nAVS\\style8\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style8\\paper = ffe4e1\r\nAVS\\style9\\color = 8000ff\r\nAVS\\style9\\eolfill = false\r\nAVS\\style9\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style9\\paper = ffe4e1\r\nAVS\\style10\\color = 8000ff\r\nAVS\\style10\\eolfill = false\r\nAVS\\style10\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style10\\paper = ffe4e1\r\nAVS\\style11\\color = 80c0\r\nAVS\\style11\\eolfill = false\r\nAVS\\style11\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style11\\paper = ffe4e1\r\nAVS\\style12\\color = 7f7f\r\nAVS\\style12\\eolfill = false\r\nAVS\\style12\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style12\\paper = ffe4e1\r\nAVS\\style13\\color = 8000ff\r\nAVS\\style13\\eolfill = false\r\nAVS\\style13\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style13\\paper = ffe4e1\r\nAVS\\style14\\color = 8000ff\r\nAVS\\style14\\eolfill = false\r\nAVS\\style14\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style14\\paper = ffe4e1\r\nAVS\\properties\\foldcomments = false\r\nAVS\\properties\\foldcompact = true\r\nAVS\\defaultcolor = 0\r\nAVS\\defaultpaper = ffe4e1\r\nAVS\\defaultfont = Courier New, 14, 0, 0, 0\r\nAVS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color = 808080\r\nBash\\style0\\eolfill = false\r\nBash\\style0\\font = Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper = ffe4e1\r\nBash\\style1\\color = ffff00\r\nBash\\style1\\eolfill = false\r\nBash\\style1\\font = Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper = ffe4e1\r\nBash\\style2\\color = 7f00\r\nBash\\style2\\eolfill = false\r\nBash\\style2\\font = Courier New, 11, 0, 0, 0\r\nBash\\style2\\paper = ffe4e1\r\nBash\\style3\\color = 7f7f\r\nBash\\style3\\eolfill = false\r\nBash\\style3\\font = Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper = ffe4e1\r\nBash\\style4\\color = 8000ff\r\nBash\\style4\\eolfill = false\r\nBash\\style4\\font = Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper = ffe4e1\r\nBash\\style5\\color = 7f007f\r\nBash\\style5\\eolfill = false\r\nBash\\style5\\font = Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper = ffe4e1\r\nBash\\style6\\color = 7f007f\r\nBash\\style6\\eolfill = false\r\nBash\\style6\\font = Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper = ffe4e1\r\nBash\\style7\\color = 0\r\nBash\\style7\\eolfill = false\r\nBash\\style7\\font = Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper = ffe4e1\r\nBash\\style8\\color = 0\r\nBash\\style8\\eolfill = false\r\nBash\\style8\\font = Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper = ffe4e1\r\nBash\\style9\\color = 0\r\nBash\\style9\\eolfill = false\r\nBash\\style9\\font = Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper = ffe4e1\r\nBash\\style10\\color = 0\r\nBash\\style10\\eolfill = false\r\nBash\\style10\\font = Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper = ffe4e1\r\nBash\\style11\\color = ffff00\r\nBash\\style11\\eolfill = false\r\nBash\\style11\\font = Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper = ffe4e1\r\nBash\\style12\\color = 0\r\nBash\\style12\\eolfill = false\r\nBash\\style12\\font = Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper = ffe4e1\r\nBash\\style13\\color = 7f007f\r\nBash\\style13\\eolfill = true\r\nBash\\style13\\font = Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper = ffe4e1\r\nBash\\properties\\foldcomments = false\r\nBash\\properties\\foldcompact = true\r\nBash\\defaultcolor = 0\r\nBash\\defaultpaper = ffe4e1\r\nBash\\defaultfont = Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color = 0\r\nBatch\\style0\\eolfill = false\r\nBatch\\style0\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper = ffe4e1\r\nBatch\\style1\\color = 7f00\r\nBatch\\style1\\eolfill = false\r\nBatch\\style1\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper = ffe4e1\r\nBatch\\style2\\color = 8000ff\r\nBatch\\style2\\eolfill = false\r\nBatch\\style2\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style2\\paper = ffe4e1\r\nBatch\\style3\\color = 7f007f\r\nBatch\\style3\\eolfill = true\r\nBatch\\style3\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper = ffe4e1\r\nBatch\\style4\\color = 7f7f00\r\nBatch\\style4\\eolfill = false\r\nBatch\\style4\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper = ffe4e1\r\nBatch\\style5\\color = 8000ff\r\nBatch\\style5\\eolfill = false\r\nBatch\\style5\\font = Courier New, 14, 1, 0, 0\r\nBatch\\style5\\paper = ffe4e1\r\nBatch\\style6\\color = 800080\r\nBatch\\style6\\eolfill = false\r\nBatch\\style6\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper = ffe4e1\r\nBatch\\style7\\color = 0\r\nBatch\\style7\\eolfill = false\r\nBatch\\style7\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper = ffe4e1\r\nBatch\\defaultcolor = 0\r\nBatch\\defaultpaper = ffe4e1\r\nBatch\\defaultfont = Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = ffe4e1\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = ffe4e1\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = ffe4e1\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = ffe4e1\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = ffe4e1\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = ffe4e1\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = ffe4e1\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = ffe4e1\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = ffe4e1\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = ffe4e1\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = ffe4e1\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = ffe4e1\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = ffe4e1\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = ffe4e1\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = ffe4e1\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = ffe4e1\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = ffe4e1\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = ffe4e1\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = ffe4e1\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = ffe4e1\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = ffe4e1\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = ffe4e1\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = ffe4e1\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = ffe4e1\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = ffe4e1\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = ffe4e1\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = ffe4e1\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = ffe4e1\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = ffe4e1\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = ffe4e1\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = ffe4e1\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = ffe4e1\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = ffe4e1\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = ffe4e1\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = ffe4e1\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = ffe4e1\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = ffe4e1\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = ffe4e1\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = ffe4e1\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = ffe4e1\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = ffe4e1\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = ffe4e1\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = ffe4e1\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = ffe4e1\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = ffe4e1\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = ffe4e1\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = ffe4e1\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = ffe4e1\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = ffe4e1\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = ffe4e1\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = ffe4e1\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = ffe4e1\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = ffe4e1\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = ffe4e1\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = ffe4e1\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = ffe4e1\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = ffe4e1\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color = 0\r\nCMake\\style0\\eolfill = false\r\nCMake\\style0\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper = ffe4e1\r\nCMake\\style1\\color = 7f00\r\nCMake\\style1\\eolfill = false\r\nCMake\\style1\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper = ffe4e1\r\nCMake\\style2\\color = 7f007f\r\nCMake\\style2\\eolfill = false\r\nCMake\\style2\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper = ffe4e1\r\nCMake\\style3\\color = 7f007f\r\nCMake\\style3\\eolfill = false\r\nCMake\\style3\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper = ffe4e1\r\nCMake\\style4\\color = 7f007f\r\nCMake\\style4\\eolfill = false\r\nCMake\\style4\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper = ffe4e1\r\nCMake\\style5\\color = 7f\r\nCMake\\style5\\eolfill = false\r\nCMake\\style5\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style5\\paper = ffe4e1\r\nCMake\\style6\\color = 800000\r\nCMake\\style6\\eolfill = false\r\nCMake\\style6\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper = ffe4e1\r\nCMake\\style7\\color = cc3300\r\nCMake\\style7\\eolfill = false\r\nCMake\\style7\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper = ffe4e1\r\nCMake\\style8\\color = 0\r\nCMake\\style8\\eolfill = false\r\nCMake\\style8\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper = ffe4e1\r\nCMake\\style9\\color = 7f\r\nCMake\\style9\\eolfill = false\r\nCMake\\style9\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style9\\paper = ffe4e1\r\nCMake\\style10\\color = 7f\r\nCMake\\style10\\eolfill = false\r\nCMake\\style10\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style10\\paper = ffe4e1\r\nCMake\\style11\\color = 7f\r\nCMake\\style11\\eolfill = false\r\nCMake\\style11\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style11\\paper = ffe4e1\r\nCMake\\style12\\color = 7f\r\nCMake\\style12\\eolfill = false\r\nCMake\\style12\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style12\\paper = ffe4e1\r\nCMake\\style13\\color = cc3300\r\nCMake\\style13\\eolfill = false\r\nCMake\\style13\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper = ffe4e1\r\nCMake\\style14\\color = 7f7f\r\nCMake\\style14\\eolfill = false\r\nCMake\\style14\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper = ffe4e1\r\nCMake\\properties\\foldatelse = false\r\nCMake\\defaultcolor = 0\r\nCMake\\defaultpaper = ffe4e1\r\nCMake\\defaultfont = Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/coffeescript.ini",
    "content": "[Scintilla]\r\nCoffeeScript\\style0\\color = 808080\r\nCoffeeScript\\style0\\eolfill = false\r\nCoffeeScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style0\\paper = ffe4e1\r\nCoffeeScript\\style1\\color = 7f00\r\nCoffeeScript\\style1\\eolfill = false\r\nCoffeeScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style1\\paper = ffe4e1\r\nCoffeeScript\\style2\\color = 7f00\r\nCoffeeScript\\style2\\eolfill = false\r\nCoffeeScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style2\\paper = ffe4e1\r\nCoffeeScript\\style3\\color = 3f703f\r\nCoffeeScript\\style3\\eolfill = false\r\nCoffeeScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style3\\paper = ffe4e1\r\nCoffeeScript\\style4\\color = 7f7f\r\nCoffeeScript\\style4\\eolfill = false\r\nCoffeeScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style4\\paper = ffe4e1\r\nCoffeeScript\\style5\\color = 8000ff\r\nCoffeeScript\\style5\\eolfill = false\r\nCoffeeScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style5\\paper = ffe4e1\r\nCoffeeScript\\style6\\color = 7f007f\r\nCoffeeScript\\style6\\eolfill = false\r\nCoffeeScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style6\\paper = ffe4e1\r\nCoffeeScript\\style7\\color = 7f007f\r\nCoffeeScript\\style7\\eolfill = false\r\nCoffeeScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style7\\paper = ffe4e1\r\nCoffeeScript\\style8\\color = 0\r\nCoffeeScript\\style8\\eolfill = false\r\nCoffeeScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style8\\paper = ffe4e1\r\nCoffeeScript\\style9\\color = 7f7f00\r\nCoffeeScript\\style9\\eolfill = false\r\nCoffeeScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style9\\paper = ffe4e1\r\nCoffeeScript\\style10\\color = 0\r\nCoffeeScript\\style10\\eolfill = false\r\nCoffeeScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style10\\paper = ffe4e1\r\nCoffeeScript\\style11\\color = 0\r\nCoffeeScript\\style11\\eolfill = false\r\nCoffeeScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style11\\paper = ffe4e1\r\nCoffeeScript\\style12\\color = 0\r\nCoffeeScript\\style12\\eolfill = true\r\nCoffeeScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style12\\paper = ffe4e1\r\nCoffeeScript\\style13\\color = 7f00\r\nCoffeeScript\\style13\\eolfill = true\r\nCoffeeScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style13\\paper = ffe4e1\r\nCoffeeScript\\style14\\color = 3f7f3f\r\nCoffeeScript\\style14\\eolfill = true\r\nCoffeeScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style14\\paper = ffe4e1\r\nCoffeeScript\\style15\\color = 3f703f\r\nCoffeeScript\\style15\\eolfill = false\r\nCoffeeScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style15\\paper = ffe4e1\r\nCoffeeScript\\style16\\color = 0\r\nCoffeeScript\\style16\\eolfill = false\r\nCoffeeScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style16\\paper = ffe4e1\r\nCoffeeScript\\style17\\color = 3060a0\r\nCoffeeScript\\style17\\eolfill = false\r\nCoffeeScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style17\\paper = ffe4e1\r\nCoffeeScript\\style18\\color = 804020\r\nCoffeeScript\\style18\\eolfill = false\r\nCoffeeScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style18\\paper = ffe4e1\r\nCoffeeScript\\style19\\color = 0\r\nCoffeeScript\\style19\\eolfill = false\r\nCoffeeScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style19\\paper = ffe4e1\r\nCoffeeScript\\style22\\color = 7f00\r\nCoffeeScript\\style22\\eolfill = false\r\nCoffeeScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style22\\paper = ffe4e1\r\nCoffeeScript\\style23\\color = 3f7f3f\r\nCoffeeScript\\style23\\eolfill = false\r\nCoffeeScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style23\\paper = ffe4e1\r\nCoffeeScript\\style24\\color = 7f00\r\nCoffeeScript\\style24\\eolfill = false\r\nCoffeeScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style24\\paper = ffe4e1\r\nCoffeeScript\\style25\\color = c06000\r\nCoffeeScript\\style25\\eolfill = false\r\nCoffeeScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style25\\paper = ffe4e1\r\nCoffeeScript\\properties\\foldcomments = false\r\nCoffeeScript\\properties\\foldcompact = true\r\nCoffeeScript\\properties\\stylepreprocessor = false\r\nCoffeeScript\\properties\\dollars = true\r\nCoffeeScript\\defaultcolor = 0\r\nCoffeeScript\\defaultpaper = ffe4e1\r\nCoffeeScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = ffe4e1\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = ffe4e1\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = ffe4e1\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = ffe4e1\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = ffe4e1\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = ffe4e1\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = ffe4e1\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = ffe4e1\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = ffe4e1\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = ffe4e1\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = ffe4e1\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = ffe4e1\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = ffe4e1\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = ffe4e1\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = ffe4e1\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = ffe4e1\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = ffe4e1\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = ffe4e1\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = ffe4e1\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = ffe4e1\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = ffe4e1\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = ffe4e1\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = ffe4e1\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = ffe4e1\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = ffe4e1\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = ffe4e1\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = ffe4e1\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = ffe4e1\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = ffe4e1\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = ffe4e1\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = ffe4e1\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = ffe4e1\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = ffe4e1\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = ffe4e1\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = ffe4e1\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = ffe4e1\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = ffe4e1\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = ffe4e1\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = ffe4e1\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = ffe4e1\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = ffe4e1\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = ffe4e1\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = ffe4e1\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = ffe4e1\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = ffe4e1\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = ffe4e1\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = ffe4e1\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = ffe4e1\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = ffe4e1\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = ffe4e1\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = ffe4e1\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = ffe4e1\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = ffe4e1\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = ffe4e1\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = ffe4e1\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = ffe4e1\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = ffe4e1\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color = 808080\r\nC%23\\style0\\eolfill = false\r\nC%23\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper = ffe4e1\r\nC%23\\style1\\color = 7f00\r\nC%23\\style1\\eolfill = false\r\nC%23\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper = ffe4e1\r\nC%23\\style2\\color = 7f00\r\nC%23\\style2\\eolfill = false\r\nC%23\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper = ffe4e1\r\nC%23\\style3\\color = 3f703f\r\nC%23\\style3\\eolfill = false\r\nC%23\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper = ffe4e1\r\nC%23\\style4\\color = 7f7f\r\nC%23\\style4\\eolfill = false\r\nC%23\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper = ffe4e1\r\nC%23\\style5\\color = 8000ff\r\nC%23\\style5\\eolfill = false\r\nC%23\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style5\\paper = ffe4e1\r\nC%23\\style6\\color = 7f007f\r\nC%23\\style6\\eolfill = false\r\nC%23\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper = ffe4e1\r\nC%23\\style7\\color = 7f007f\r\nC%23\\style7\\eolfill = false\r\nC%23\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper = ffe4e1\r\nC%23\\style8\\color = 0\r\nC%23\\style8\\eolfill = false\r\nC%23\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style8\\paper = ffe4e1\r\nC%23\\style9\\color = 7f7f00\r\nC%23\\style9\\eolfill = false\r\nC%23\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper = ffe4e1\r\nC%23\\style10\\color = 0\r\nC%23\\style10\\eolfill = false\r\nC%23\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper = ffe4e1\r\nC%23\\style11\\color = 0\r\nC%23\\style11\\eolfill = false\r\nC%23\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper = ffe4e1\r\nC%23\\style12\\color = 0\r\nC%23\\style12\\eolfill = true\r\nC%23\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style12\\paper = ffe4e1\r\nC%23\\style13\\color = 7f00\r\nC%23\\style13\\eolfill = true\r\nC%23\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper = ffe4e1\r\nC%23\\style14\\color = 3f7f3f\r\nC%23\\style14\\eolfill = true\r\nC%23\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper = ffe4e1\r\nC%23\\style15\\color = 3f703f\r\nC%23\\style15\\eolfill = false\r\nC%23\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper = ffe4e1\r\nC%23\\style16\\color = 0\r\nC%23\\style16\\eolfill = false\r\nC%23\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style16\\paper = ffe4e1\r\nC%23\\style17\\color = 3060a0\r\nC%23\\style17\\eolfill = false\r\nC%23\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper = ffe4e1\r\nC%23\\style18\\color = 804020\r\nC%23\\style18\\eolfill = false\r\nC%23\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper = ffe4e1\r\nC%23\\style19\\color = 0\r\nC%23\\style19\\eolfill = false\r\nC%23\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style19\\paper = ffe4e1\r\nC%23\\style20\\color = 7f007f\r\nC%23\\style20\\eolfill = false\r\nC%23\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style20\\paper = ffe4e1\r\nC%23\\style21\\color = 7f00\r\nC%23\\style21\\eolfill = true\r\nC%23\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style21\\paper = ffe4e1\r\nC%23\\style22\\color = 7f00\r\nC%23\\style22\\eolfill = true\r\nC%23\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style22\\paper = ffe4e1\r\nC%23\\style23\\color = 659900\r\nC%23\\style23\\eolfill = false\r\nC%23\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style23\\paper = ffe4e1\r\nC%23\\style24\\color = 3f703f\r\nC%23\\style24\\eolfill = false\r\nC%23\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style24\\paper = ffe4e1\r\nC%23\\style25\\color = c06000\r\nC%23\\style25\\eolfill = false\r\nC%23\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style25\\paper = ffe4e1\r\nC%23\\style26\\color = be07ff\r\nC%23\\style26\\eolfill = false\r\nC%23\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style26\\paper = ffe4e1\r\nC%23\\style27\\color = 0\r\nC%23\\style27\\eolfill = false\r\nC%23\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style27\\paper = ffe4e1\r\nC%23\\style64\\color = c0c0c0\r\nC%23\\style64\\eolfill = false\r\nC%23\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style64\\paper = ffe4e1\r\nC%23\\style65\\color = 90b090\r\nC%23\\style65\\eolfill = false\r\nC%23\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style65\\paper = ffe4e1\r\nC%23\\style66\\color = 90b090\r\nC%23\\style66\\eolfill = false\r\nC%23\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style66\\paper = ffe4e1\r\nC%23\\style67\\color = d0d0d0\r\nC%23\\style67\\eolfill = false\r\nC%23\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style67\\paper = ffe4e1\r\nC%23\\style68\\color = 90b090\r\nC%23\\style68\\eolfill = false\r\nC%23\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style68\\paper = ffe4e1\r\nC%23\\style69\\color = 9090b0\r\nC%23\\style69\\eolfill = false\r\nC%23\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style69\\paper = ffe4e1\r\nC%23\\style70\\color = b090b0\r\nC%23\\style70\\eolfill = false\r\nC%23\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style70\\paper = ffe4e1\r\nC%23\\style71\\color = b090b0\r\nC%23\\style71\\eolfill = false\r\nC%23\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style71\\paper = ffe4e1\r\nC%23\\style72\\color = c0c0c0\r\nC%23\\style72\\eolfill = false\r\nC%23\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style72\\paper = ffe4e1\r\nC%23\\style73\\color = b0b090\r\nC%23\\style73\\eolfill = false\r\nC%23\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style73\\paper = ffe4e1\r\nC%23\\style74\\color = b0b0b0\r\nC%23\\style74\\eolfill = false\r\nC%23\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style74\\paper = ffe4e1\r\nC%23\\style75\\color = b0b0b0\r\nC%23\\style75\\eolfill = false\r\nC%23\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style75\\paper = ffe4e1\r\nC%23\\style76\\color = 0\r\nC%23\\style76\\eolfill = true\r\nC%23\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style76\\paper = ffe4e1\r\nC%23\\style77\\color = 90b090\r\nC%23\\style77\\eolfill = true\r\nC%23\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style77\\paper = ffe4e1\r\nC%23\\style78\\color = 7faf7f\r\nC%23\\style78\\eolfill = true\r\nC%23\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style78\\paper = ffe4e1\r\nC%23\\style79\\color = c0c0c0\r\nC%23\\style79\\eolfill = false\r\nC%23\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style79\\paper = ffe4e1\r\nC%23\\style80\\color = c0c0c0\r\nC%23\\style80\\eolfill = false\r\nC%23\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style80\\paper = ffe4e1\r\nC%23\\style81\\color = c0c0c0\r\nC%23\\style81\\eolfill = false\r\nC%23\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style81\\paper = ffe4e1\r\nC%23\\style82\\color = c0c0c0\r\nC%23\\style82\\eolfill = false\r\nC%23\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style82\\paper = ffe4e1\r\nC%23\\style83\\color = b0b0b0\r\nC%23\\style83\\eolfill = false\r\nC%23\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style83\\paper = ffe4e1\r\nC%23\\style84\\color = b090b0\r\nC%23\\style84\\eolfill = false\r\nC%23\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style84\\paper = ffe4e1\r\nC%23\\style85\\color = 90b090\r\nC%23\\style85\\eolfill = true\r\nC%23\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style85\\paper = ffe4e1\r\nC%23\\style86\\color = 90b090\r\nC%23\\style86\\eolfill = true\r\nC%23\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style86\\paper = ffe4e1\r\nC%23\\style87\\color = a0c090\r\nC%23\\style87\\eolfill = false\r\nC%23\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style87\\paper = ffe4e1\r\nC%23\\style88\\color = c0c0c0\r\nC%23\\style88\\eolfill = false\r\nC%23\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style88\\paper = ffe4e1\r\nC%23\\style89\\color = d7a090\r\nC%23\\style89\\eolfill = false\r\nC%23\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style89\\paper = ffe4e1\r\nC%23\\style90\\color = c3a1cf\r\nC%23\\style90\\eolfill = false\r\nC%23\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style90\\paper = ffe4e1\r\nC%23\\style91\\color = 0\r\nC%23\\style91\\eolfill = false\r\nC%23\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style91\\paper = ffe4e1\r\nC%23\\properties\\foldatelse = false\r\nC%23\\properties\\foldcomments = false\r\nC%23\\properties\\foldcompact = true\r\nC%23\\properties\\foldpreprocessor = true\r\nC%23\\properties\\stylepreprocessor = false\r\nC%23\\properties\\dollars = true\r\nC%23\\properties\\highlighttriple = false\r\nC%23\\properties\\highlighthash = false\r\nC%23\\properties\\highlightback = false\r\nC%23\\properties\\highlightescape = false\r\nC%23\\properties\\verbatimstringescape = false\r\nC%23\\defaultcolor = 0\r\nC%23\\defaultpaper = ffe4e1\r\nC%23\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color = ff0080\r\nCSS\\style0\\eolfill = false\r\nCSS\\style0\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper = ffe4e1\r\nCSS\\style1\\color = 7f\r\nCSS\\style1\\eolfill = false\r\nCSS\\style1\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style1\\paper = ffe4e1\r\nCSS\\style2\\color = 0\r\nCSS\\style2\\eolfill = false\r\nCSS\\style2\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper = ffe4e1\r\nCSS\\style3\\color = 800000\r\nCSS\\style3\\eolfill = false\r\nCSS\\style3\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper = ffe4e1\r\nCSS\\style4\\color = ff0000\r\nCSS\\style4\\eolfill = false\r\nCSS\\style4\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper = ffe4e1\r\nCSS\\style5\\color = 0\r\nCSS\\style5\\eolfill = false\r\nCSS\\style5\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper = ffe4e1\r\nCSS\\style6\\color = 40e0\r\nCSS\\style6\\eolfill = false\r\nCSS\\style6\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper = ffe4e1\r\nCSS\\style7\\color = ff0000\r\nCSS\\style7\\eolfill = false\r\nCSS\\style7\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper = ffe4e1\r\nCSS\\style8\\color = 7f007f\r\nCSS\\style8\\eolfill = false\r\nCSS\\style8\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper = ffe4e1\r\nCSS\\style9\\color = 7f00\r\nCSS\\style9\\eolfill = false\r\nCSS\\style9\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper = ffe4e1\r\nCSS\\style10\\color = 7f7f\r\nCSS\\style10\\eolfill = false\r\nCSS\\style10\\font = Courier New, 14, 0, 1, 0\r\nCSS\\style10\\paper = ffe4e1\r\nCSS\\style11\\color = ff8000\r\nCSS\\style11\\eolfill = false\r\nCSS\\style11\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style11\\paper = ffe4e1\r\nCSS\\style12\\color = 7f7f00\r\nCSS\\style12\\eolfill = false\r\nCSS\\style12\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper = ffe4e1\r\nCSS\\style13\\color = 7f007f\r\nCSS\\style13\\eolfill = false\r\nCSS\\style13\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style13\\paper = ffe4e1\r\nCSS\\style14\\color = 7f007f\r\nCSS\\style14\\eolfill = false\r\nCSS\\style14\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style14\\paper = ffe4e1\r\nCSS\\style15\\color = a0e0\r\nCSS\\style15\\eolfill = false\r\nCSS\\style15\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style15\\paper = ffe4e1\r\nCSS\\style16\\color = 800000\r\nCSS\\style16\\eolfill = false\r\nCSS\\style16\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style16\\paper = ffe4e1\r\nCSS\\style17\\color = 0\r\nCSS\\style17\\eolfill = false\r\nCSS\\style17\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style17\\paper = ffe4e1\r\nCSS\\style18\\color = 0\r\nCSS\\style18\\eolfill = false\r\nCSS\\style18\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style18\\paper = ffe4e1\r\nCSS\\style19\\color = 0\r\nCSS\\style19\\eolfill = false\r\nCSS\\style19\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style19\\paper = ffe4e1\r\nCSS\\style20\\color = 0\r\nCSS\\style20\\eolfill = false\r\nCSS\\style20\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style20\\paper = ffe4e1\r\nCSS\\style21\\color = 0\r\nCSS\\style21\\eolfill = false\r\nCSS\\style21\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style21\\paper = ffe4e1\r\nCSS\\style22\\color = 7f7f00\r\nCSS\\style22\\eolfill = false\r\nCSS\\style22\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style22\\paper = ffe4e1\r\nCSS\\style23\\color = 0\r\nCSS\\style23\\eolfill = false\r\nCSS\\style23\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style23\\paper = ffe4e1\r\nCSS\\properties\\foldcomments = false\r\nCSS\\properties\\foldcompact = true\r\nCSS\\properties\\hsslanguage = false\r\nCSS\\properties\\lesslanguage = false\r\nCSS\\properties\\scsslanguage = false\r\nCSS\\defaultcolor = 0\r\nCSS\\defaultpaper = ffe4e1\r\nCSS\\defaultfont = Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color = 0\r\nDiff\\style0\\eolfill = false\r\nDiff\\style0\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper = ffe4e1\r\nDiff\\style1\\color = 7f00\r\nDiff\\style1\\eolfill = false\r\nDiff\\style1\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper = ffe4e1\r\nDiff\\style2\\color = 7f7f00\r\nDiff\\style2\\eolfill = false\r\nDiff\\style2\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper = ffe4e1\r\nDiff\\style3\\color = 7f0000\r\nDiff\\style3\\eolfill = false\r\nDiff\\style3\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper = ffe4e1\r\nDiff\\style4\\color = 7f007f\r\nDiff\\style4\\eolfill = false\r\nDiff\\style4\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper = ffe4e1\r\nDiff\\style5\\color = 7f7f\r\nDiff\\style5\\eolfill = false\r\nDiff\\style5\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper = ffe4e1\r\nDiff\\style6\\color = 7f\r\nDiff\\style6\\eolfill = false\r\nDiff\\style6\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper = ffe4e1\r\nDiff\\style7\\color = 7f7f7f\r\nDiff\\style7\\eolfill = false\r\nDiff\\style7\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style7\\paper = ffe4e1\r\nDiff\\style8\\color = 7f\r\nDiff\\style8\\eolfill = false\r\nDiff\\style8\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style8\\paper = ffe4e1\r\nDiff\\style9\\color = 7f\r\nDiff\\style9\\eolfill = false\r\nDiff\\style9\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style9\\paper = ffe4e1\r\nDiff\\style10\\color = 7f7f\r\nDiff\\style10\\eolfill = false\r\nDiff\\style10\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style10\\paper = ffe4e1\r\nDiff\\style11\\color = 7f7f\r\nDiff\\style11\\eolfill = false\r\nDiff\\style11\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style11\\paper = ffe4e1\r\nDiff\\defaultcolor = 0\r\nDiff\\defaultpaper = ffe4e1\r\nDiff\\defaultfont = Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/flash.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = ffe4e1\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = ffe4e1\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = ffe4e1\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = ffe4e1\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = ffe4e1\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = ffe4e1\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = ffe4e1\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = ffe4e1\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = ffe4e1\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = ffe4e1\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = ffe4e1\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = ffe4e1\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = ffe4e1\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = ffe4e1\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = ffe4e1\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = ffe4e1\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = ffe4e1\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = ffe4e1\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = ffe4e1\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = ffe4e1\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = ffe4e1\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = ffe4e1\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = ffe4e1\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = ffe4e1\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = ffe4e1\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = ffe4e1\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = ffe4e1\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = ffe4e1\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = ffe4e1\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = ffe4e1\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = ffe4e1\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = ffe4e1\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = ffe4e1\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = ffe4e1\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = ffe4e1\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = ffe4e1\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = ffe4e1\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = ffe4e1\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = ffe4e1\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = ffe4e1\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = ffe4e1\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = ffe4e1\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = ffe4e1\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = ffe4e1\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = ffe4e1\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = ffe4e1\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = ffe4e1\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = ffe4e1\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = ffe4e1\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = ffe4e1\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = ffe4e1\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = ffe4e1\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = ffe4e1\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = ffe4e1\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = ffe4e1\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = ffe4e1\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = ffe4e1\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color = 808080\r\nFortran\\style0\\eolfill = false\r\nFortran\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper = ffe4e1\r\nFortran\\style1\\color = 7f00\r\nFortran\\style1\\eolfill = false\r\nFortran\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper = ffe4e1\r\nFortran\\style2\\color = 7f7f\r\nFortran\\style2\\eolfill = false\r\nFortran\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper = ffe4e1\r\nFortran\\style3\\color = 7f007f\r\nFortran\\style3\\eolfill = false\r\nFortran\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper = ffe4e1\r\nFortran\\style4\\color = 7f007f\r\nFortran\\style4\\eolfill = false\r\nFortran\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper = ffe4e1\r\nFortran\\style5\\color = 0\r\nFortran\\style5\\eolfill = true\r\nFortran\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper = ffe4e1\r\nFortran\\style6\\color = 0\r\nFortran\\style6\\eolfill = false\r\nFortran\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style6\\paper = ffe4e1\r\nFortran\\style7\\color = 0\r\nFortran\\style7\\eolfill = false\r\nFortran\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper = ffe4e1\r\nFortran\\style8\\color = 8000ff\r\nFortran\\style8\\eolfill = false\r\nFortran\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper = ffe4e1\r\nFortran\\style9\\color = b00040\r\nFortran\\style9\\eolfill = false\r\nFortran\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper = ffe4e1\r\nFortran\\style10\\color = b04080\r\nFortran\\style10\\eolfill = false\r\nFortran\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper = ffe4e1\r\nFortran\\style11\\color = 7f7f00\r\nFortran\\style11\\eolfill = false\r\nFortran\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper = ffe4e1\r\nFortran\\style12\\color = 0\r\nFortran\\style12\\eolfill = false\r\nFortran\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style12\\paper = ffe4e1\r\nFortran\\style13\\color = e0c0e0\r\nFortran\\style13\\eolfill = false\r\nFortran\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper = ffe4e1\r\nFortran\\style14\\color = 0\r\nFortran\\style14\\eolfill = false\r\nFortran\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper = ffe4e1\r\nFortran\\properties\\foldcompact = true\r\nFortran\\defaultcolor = 0\r\nFortran\\defaultpaper = ffe4e1\r\nFortran\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color = 808080\r\nFortran77\\style0\\eolfill = false\r\nFortran77\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper = ffe4e1\r\nFortran77\\style1\\color = 7f00\r\nFortran77\\style1\\eolfill = false\r\nFortran77\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper = ffe4e1\r\nFortran77\\style2\\color = 7f7f\r\nFortran77\\style2\\eolfill = false\r\nFortran77\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper = ffe4e1\r\nFortran77\\style3\\color = 7f007f\r\nFortran77\\style3\\eolfill = false\r\nFortran77\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper = ffe4e1\r\nFortran77\\style4\\color = 7f007f\r\nFortran77\\style4\\eolfill = false\r\nFortran77\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper = ffe4e1\r\nFortran77\\style5\\color = 0\r\nFortran77\\style5\\eolfill = true\r\nFortran77\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper = ffe4e1\r\nFortran77\\style6\\color = 0\r\nFortran77\\style6\\eolfill = false\r\nFortran77\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style6\\paper = ffe4e1\r\nFortran77\\style7\\color = 0\r\nFortran77\\style7\\eolfill = false\r\nFortran77\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper = ffe4e1\r\nFortran77\\style8\\color = 8000ff\r\nFortran77\\style8\\eolfill = false\r\nFortran77\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper = ffe4e1\r\nFortran77\\style9\\color = b00040\r\nFortran77\\style9\\eolfill = false\r\nFortran77\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper = ffe4e1\r\nFortran77\\style10\\color = b04080\r\nFortran77\\style10\\eolfill = false\r\nFortran77\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper = ffe4e1\r\nFortran77\\style11\\color = 7f7f00\r\nFortran77\\style11\\eolfill = false\r\nFortran77\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper = ffe4e1\r\nFortran77\\style12\\color = 0\r\nFortran77\\style12\\eolfill = false\r\nFortran77\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style12\\paper = ffe4e1\r\nFortran77\\style13\\color = e0c0e0\r\nFortran77\\style13\\eolfill = false\r\nFortran77\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper = ffe4e1\r\nFortran77\\style14\\color = 0\r\nFortran77\\style14\\eolfill = false\r\nFortran77\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper = ffe4e1\r\nFortran77\\properties\\foldcompact = true\r\nFortran77\\defaultcolor = 0\r\nFortran77\\defaultpaper = ffe4e1\r\nFortran77\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/go.ini",
    "content": "[Scintilla]\r\nGO\\style0\\color = 808080\r\nGO\\style0\\eolfill = false\r\nGO\\style0\\font = Courier New, 14, 0, 0, 0\r\nGO\\style0\\paper = ffe4e1\r\nGO\\style1\\color = 7f00\r\nGO\\style1\\eolfill = false\r\nGO\\style1\\font = Courier New, 14, 0, 0, 0\r\nGO\\style1\\paper = ffe4e1\r\nGO\\style2\\color = 7f00\r\nGO\\style2\\eolfill = false\r\nGO\\style2\\font = Courier New, 14, 0, 0, 0\r\nGO\\style2\\paper = ffe4e1\r\nGO\\style3\\color = 3f703f\r\nGO\\style3\\eolfill = false\r\nGO\\style3\\font = Courier New, 14, 0, 0, 0\r\nGO\\style3\\paper = ffe4e1\r\nGO\\style4\\color = 7f7f\r\nGO\\style4\\eolfill = false\r\nGO\\style4\\font = Courier New, 14, 0, 0, 0\r\nGO\\style4\\paper = ffe4e1\r\nGO\\style5\\color = 8000ff\r\nGO\\style5\\eolfill = false\r\nGO\\style5\\font = Courier New, 14, 0, 0, 0\r\nGO\\style5\\paper = ffe4e1\r\nGO\\style6\\color = 7f007f\r\nGO\\style6\\eolfill = false\r\nGO\\style6\\font = Courier New, 14, 0, 0, 0\r\nGO\\style6\\paper = ffe4e1\r\nGO\\style7\\color = 7f007f\r\nGO\\style7\\eolfill = false\r\nGO\\style7\\font = Courier New, 14, 0, 0, 0\r\nGO\\style7\\paper = ffe4e1\r\nGO\\style8\\color = 0\r\nGO\\style8\\eolfill = false\r\nGO\\style8\\font = Courier New, 14, 0, 0, 0\r\nGO\\style8\\paper = ffe4e1\r\nGO\\style9\\color = 7f7f00\r\nGO\\style9\\eolfill = false\r\nGO\\style9\\font = Courier New, 14, 0, 0, 0\r\nGO\\style9\\paper = ffe4e1\r\nGO\\style10\\color = 0\r\nGO\\style10\\eolfill = false\r\nGO\\style10\\font = Courier New, 14, 0, 0, 0\r\nGO\\style10\\paper = ffe4e1\r\nGO\\style11\\color = 0\r\nGO\\style11\\eolfill = false\r\nGO\\style11\\font = Courier New, 14, 0, 0, 0\r\nGO\\style11\\paper = ffe4e1\r\nGO\\style12\\color = 0\r\nGO\\style12\\eolfill = true\r\nGO\\style12\\font = Courier New, 14, 0, 0, 0\r\nGO\\style12\\paper = ffe4e1\r\nGO\\style13\\color = 7f00\r\nGO\\style13\\eolfill = true\r\nGO\\style13\\font = Courier New, 14, 0, 0, 0\r\nGO\\style13\\paper = ffe4e1\r\nGO\\style14\\color = 3f7f3f\r\nGO\\style14\\eolfill = true\r\nGO\\style14\\font = Courier New, 14, 0, 0, 0\r\nGO\\style14\\paper = ffe4e1\r\nGO\\style15\\color = 3f703f\r\nGO\\style15\\eolfill = false\r\nGO\\style15\\font = Courier New, 14, 0, 0, 0\r\nGO\\style15\\paper = ffe4e1\r\nGO\\style16\\color = 0\r\nGO\\style16\\eolfill = false\r\nGO\\style16\\font = Courier New, 14, 0, 0, 0\r\nGO\\style16\\paper = ffe4e1\r\nGO\\style17\\color = 3060a0\r\nGO\\style17\\eolfill = false\r\nGO\\style17\\font = Courier New, 14, 0, 0, 0\r\nGO\\style17\\paper = ffe4e1\r\nGO\\style18\\color = 804020\r\nGO\\style18\\eolfill = false\r\nGO\\style18\\font = Courier New, 14, 0, 0, 0\r\nGO\\style18\\paper = ffe4e1\r\nGO\\style19\\color = 0\r\nGO\\style19\\eolfill = false\r\nGO\\style19\\font = Courier New, 14, 0, 0, 0\r\nGO\\style19\\paper = ffe4e1\r\nGO\\style20\\color = 7f007f\r\nGO\\style20\\eolfill = false\r\nGO\\style20\\font = Courier New, 14, 0, 0, 0\r\nGO\\style20\\paper = ffe4e1\r\nGO\\style21\\color = 7f00\r\nGO\\style21\\eolfill = true\r\nGO\\style21\\font = Courier New, 14, 0, 0, 0\r\nGO\\style21\\paper = ffe4e1\r\nGO\\style22\\color = 7f00\r\nGO\\style22\\eolfill = true\r\nGO\\style22\\font = Courier New, 14, 0, 0, 0\r\nGO\\style22\\paper = ffe4e1\r\nGO\\style23\\color = 659900\r\nGO\\style23\\eolfill = false\r\nGO\\style23\\font = Courier New, 14, 0, 0, 0\r\nGO\\style23\\paper = ffe4e1\r\nGO\\style24\\color = 3f703f\r\nGO\\style24\\eolfill = false\r\nGO\\style24\\font = Courier New, 14, 0, 0, 0\r\nGO\\style24\\paper = ffe4e1\r\nGO\\style25\\color = c06000\r\nGO\\style25\\eolfill = false\r\nGO\\style25\\font = Courier New, 14, 0, 0, 0\r\nGO\\style25\\paper = ffe4e1\r\nGO\\style26\\color = be07ff\r\nGO\\style26\\eolfill = false\r\nGO\\style26\\font = Courier New, 14, 0, 0, 0\r\nGO\\style26\\paper = ffe4e1\r\nGO\\style27\\color = 0\r\nGO\\style27\\eolfill = false\r\nGO\\style27\\font = Courier New, 14, 0, 0, 0\r\nGO\\style27\\paper = ffe4e1\r\nGO\\style64\\color = c0c0c0\r\nGO\\style64\\eolfill = false\r\nGO\\style64\\font = Courier New, 14, 0, 0, 0\r\nGO\\style64\\paper = ffe4e1\r\nGO\\style65\\color = 90b090\r\nGO\\style65\\eolfill = false\r\nGO\\style65\\font = Courier New, 14, 0, 0, 0\r\nGO\\style65\\paper = ffe4e1\r\nGO\\style66\\color = 90b090\r\nGO\\style66\\eolfill = false\r\nGO\\style66\\font = Courier New, 14, 0, 0, 0\r\nGO\\style66\\paper = ffe4e1\r\nGO\\style67\\color = d0d0d0\r\nGO\\style67\\eolfill = false\r\nGO\\style67\\font = Courier New, 14, 0, 0, 0\r\nGO\\style67\\paper = ffe4e1\r\nGO\\style68\\color = 90b090\r\nGO\\style68\\eolfill = false\r\nGO\\style68\\font = Courier New, 14, 0, 0, 0\r\nGO\\style68\\paper = ffe4e1\r\nGO\\style69\\color = 9090b0\r\nGO\\style69\\eolfill = false\r\nGO\\style69\\font = Courier New, 14, 0, 0, 0\r\nGO\\style69\\paper = ffe4e1\r\nGO\\style70\\color = b090b0\r\nGO\\style70\\eolfill = false\r\nGO\\style70\\font = Courier New, 14, 0, 0, 0\r\nGO\\style70\\paper = ffe4e1\r\nGO\\style71\\color = b090b0\r\nGO\\style71\\eolfill = false\r\nGO\\style71\\font = Courier New, 14, 0, 0, 0\r\nGO\\style71\\paper = ffe4e1\r\nGO\\style72\\color = c0c0c0\r\nGO\\style72\\eolfill = false\r\nGO\\style72\\font = Courier New, 14, 0, 0, 0\r\nGO\\style72\\paper = ffe4e1\r\nGO\\style73\\color = b0b090\r\nGO\\style73\\eolfill = false\r\nGO\\style73\\font = Courier New, 14, 0, 0, 0\r\nGO\\style73\\paper = ffe4e1\r\nGO\\style74\\color = b0b0b0\r\nGO\\style74\\eolfill = false\r\nGO\\style74\\font = Courier New, 14, 0, 0, 0\r\nGO\\style74\\paper = ffe4e1\r\nGO\\style75\\color = b0b0b0\r\nGO\\style75\\eolfill = false\r\nGO\\style75\\font = Courier New, 14, 0, 0, 0\r\nGO\\style75\\paper = ffe4e1\r\nGO\\style76\\color = 0\r\nGO\\style76\\eolfill = true\r\nGO\\style76\\font = Courier New, 14, 0, 0, 0\r\nGO\\style76\\paper = ffe4e1\r\nGO\\style77\\color = 90b090\r\nGO\\style77\\eolfill = true\r\nGO\\style77\\font = Courier New, 14, 0, 0, 0\r\nGO\\style77\\paper = ffe4e1\r\nGO\\style78\\color = 7faf7f\r\nGO\\style78\\eolfill = true\r\nGO\\style78\\font = Courier New, 14, 0, 0, 0\r\nGO\\style78\\paper = ffe4e1\r\nGO\\style79\\color = c0c0c0\r\nGO\\style79\\eolfill = false\r\nGO\\style79\\font = Courier New, 14, 0, 0, 0\r\nGO\\style79\\paper = ffe4e1\r\nGO\\style80\\color = c0c0c0\r\nGO\\style80\\eolfill = false\r\nGO\\style80\\font = Courier New, 14, 0, 0, 0\r\nGO\\style80\\paper = ffe4e1\r\nGO\\style81\\color = c0c0c0\r\nGO\\style81\\eolfill = false\r\nGO\\style81\\font = Courier New, 14, 0, 0, 0\r\nGO\\style81\\paper = ffe4e1\r\nGO\\style82\\color = c0c0c0\r\nGO\\style82\\eolfill = false\r\nGO\\style82\\font = Courier New, 14, 0, 0, 0\r\nGO\\style82\\paper = ffe4e1\r\nGO\\style83\\color = b0b0b0\r\nGO\\style83\\eolfill = false\r\nGO\\style83\\font = Courier New, 14, 0, 0, 0\r\nGO\\style83\\paper = ffe4e1\r\nGO\\style84\\color = b090b0\r\nGO\\style84\\eolfill = false\r\nGO\\style84\\font = Courier New, 14, 0, 0, 0\r\nGO\\style84\\paper = ffe4e1\r\nGO\\style85\\color = 90b090\r\nGO\\style85\\eolfill = true\r\nGO\\style85\\font = Courier New, 14, 0, 0, 0\r\nGO\\style85\\paper = ffe4e1\r\nGO\\style86\\color = 90b090\r\nGO\\style86\\eolfill = true\r\nGO\\style86\\font = Courier New, 14, 0, 0, 0\r\nGO\\style86\\paper = ffe4e1\r\nGO\\style87\\color = a0c090\r\nGO\\style87\\eolfill = false\r\nGO\\style87\\font = Courier New, 14, 0, 0, 0\r\nGO\\style87\\paper = ffe4e1\r\nGO\\style88\\color = c0c0c0\r\nGO\\style88\\eolfill = false\r\nGO\\style88\\font = Courier New, 14, 0, 0, 0\r\nGO\\style88\\paper = ffe4e1\r\nGO\\style89\\color = d7a090\r\nGO\\style89\\eolfill = false\r\nGO\\style89\\font = Courier New, 14, 0, 0, 0\r\nGO\\style89\\paper = ffe4e1\r\nGO\\style90\\color = c3a1cf\r\nGO\\style90\\eolfill = false\r\nGO\\style90\\font = Courier New, 14, 0, 0, 0\r\nGO\\style90\\paper = ffe4e1\r\nGO\\style91\\color = 0\r\nGO\\style91\\eolfill = false\r\nGO\\style91\\font = Courier New, 14, 0, 0, 0\r\nGO\\style91\\paper = ffe4e1\r\nGO\\properties\\foldatelse = false\r\nGO\\properties\\foldcomments = false\r\nGO\\properties\\foldcompact = true\r\nGO\\properties\\foldpreprocessor = true\r\nGO\\properties\\stylepreprocessor = false\r\nGO\\properties\\dollars = true\r\nGO\\properties\\highlighttriple = false\r\nGO\\properties\\highlighthash = false\r\nGO\\properties\\highlightback = false\r\nGO\\properties\\highlightescape = false\r\nGO\\properties\\verbatimstringescape = false\r\nGO\\defaultcolor = 0\r\nGO\\defaultpaper = ffe4e1\r\nGO\\defaultfont = Courier New, 14, 0, 0, 0\r\nGO\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = ffe4e1\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = ffe4e1\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = ffe4e1\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = ffe4e1\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = ffe4e1\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = ffe4e1\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = ffe4e1\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = ffe4e1\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = ffe4e1\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = ffe4e1\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = ffe4e1\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = ffe4e1\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = ffe4e1\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = ffe4e1\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = ffe4e1\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = ffe4e1\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = ffe4e1\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = ffe4e1\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = ffe4e1\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = ffe4e1\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = ffe4e1\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = ffe4e1\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = ffe4e1\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = ffe4e1\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = ffe4e1\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = ffe4e1\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = ffe4e1\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = ffe4e1\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = ffe4e1\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = ffe4e1\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = ffe4e1\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = ffe4e1\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = ffe4e1\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = ffe4e1\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = ffe4e1\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = ffe4e1\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = ffe4e1\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = ffe4e1\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = ffe4e1\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = ffe4e1\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = ffe4e1\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = ffe4e1\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = ffe4e1\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = ffe4e1\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = ffe4e1\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = ffe4e1\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = ffe4e1\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = ffe4e1\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = ffe4e1\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = ffe4e1\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = ffe4e1\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = ffe4e1\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = ffe4e1\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = ffe4e1\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = ffe4e1\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = ffe4e1\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = ffe4e1\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = ffe4e1\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = ffe4e1\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = ffe4e1\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = ffe4e1\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = ffe4e1\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = ffe4e1\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = ffe4e1\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = ffe4e1\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = ffe4e1\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = ffe4e1\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = ffe4e1\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = ffe4e1\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = ffe4e1\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = ffe4e1\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = ffe4e1\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = ffe4e1\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = ffe4e1\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = ffe4e1\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = ffe4e1\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = ffe4e1\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = ffe4e1\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = ffe4e1\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = ffe4e1\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = ffe4e1\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = ffe4e1\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = ffe4e1\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = ffe4e1\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = ffe4e1\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = ffe4e1\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = ffe4e1\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = ffe4e1\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = ffe4e1\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = ffe4e1\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = ffe4e1\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = ffe4e1\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = ffe4e1\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = ffe4e1\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = ffe4e1\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = ffe4e1\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = ffe4e1\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = ffe4e1\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = ffe4e1\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = ffe4e1\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = ffe4e1\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = ffe4e1\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = ffe4e1\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = ffe4e1\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = ffe4e1\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = ffe4e1\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = ffe4e1\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = ffe4e1\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = ffe4e1\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = ffe4e1\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/idl.ini",
    "content": "[Scintilla]\r\nIDL\\style0\\color = 808080\r\nIDL\\style0\\eolfill = false\r\nIDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style0\\paper = ffe4e1\r\nIDL\\style1\\color = 7f00\r\nIDL\\style1\\eolfill = false\r\nIDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style1\\paper = ffe4e1\r\nIDL\\style2\\color = 7f00\r\nIDL\\style2\\eolfill = false\r\nIDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style2\\paper = ffe4e1\r\nIDL\\style3\\color = 3f703f\r\nIDL\\style3\\eolfill = false\r\nIDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style3\\paper = ffe4e1\r\nIDL\\style4\\color = 7f7f\r\nIDL\\style4\\eolfill = false\r\nIDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style4\\paper = ffe4e1\r\nIDL\\style5\\color = 8000ff\r\nIDL\\style5\\eolfill = false\r\nIDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style5\\paper = ffe4e1\r\nIDL\\style6\\color = 7f007f\r\nIDL\\style6\\eolfill = false\r\nIDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style6\\paper = ffe4e1\r\nIDL\\style7\\color = 7f007f\r\nIDL\\style7\\eolfill = false\r\nIDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style7\\paper = ffe4e1\r\nIDL\\style8\\color = 804080\r\nIDL\\style8\\eolfill = false\r\nIDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style8\\paper = ffe4e1\r\nIDL\\style9\\color = 7f7f00\r\nIDL\\style9\\eolfill = false\r\nIDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style9\\paper = ffe4e1\r\nIDL\\style10\\color = 0\r\nIDL\\style10\\eolfill = false\r\nIDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style10\\paper = ffe4e1\r\nIDL\\style11\\color = 0\r\nIDL\\style11\\eolfill = false\r\nIDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style11\\paper = ffe4e1\r\nIDL\\style12\\color = 0\r\nIDL\\style12\\eolfill = true\r\nIDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style12\\paper = ffe4e1\r\nIDL\\style13\\color = 7f00\r\nIDL\\style13\\eolfill = true\r\nIDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style13\\paper = ffe4e1\r\nIDL\\style14\\color = 3f7f3f\r\nIDL\\style14\\eolfill = true\r\nIDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style14\\paper = ffe4e1\r\nIDL\\style15\\color = 3f703f\r\nIDL\\style15\\eolfill = false\r\nIDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style15\\paper = ffe4e1\r\nIDL\\style16\\color = 0\r\nIDL\\style16\\eolfill = false\r\nIDL\\style16\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style16\\paper = ffe4e1\r\nIDL\\style17\\color = 3060a0\r\nIDL\\style17\\eolfill = false\r\nIDL\\style17\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style17\\paper = ffe4e1\r\nIDL\\style18\\color = 804020\r\nIDL\\style18\\eolfill = false\r\nIDL\\style18\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style18\\paper = ffe4e1\r\nIDL\\style19\\color = 0\r\nIDL\\style19\\eolfill = false\r\nIDL\\style19\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style19\\paper = ffe4e1\r\nIDL\\style20\\color = 7f007f\r\nIDL\\style20\\eolfill = false\r\nIDL\\style20\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style20\\paper = ffe4e1\r\nIDL\\style21\\color = 7f00\r\nIDL\\style21\\eolfill = true\r\nIDL\\style21\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style21\\paper = ffe4e1\r\nIDL\\style22\\color = 7f00\r\nIDL\\style22\\eolfill = true\r\nIDL\\style22\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style22\\paper = ffe4e1\r\nIDL\\style23\\color = 659900\r\nIDL\\style23\\eolfill = false\r\nIDL\\style23\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style23\\paper = ffe4e1\r\nIDL\\style24\\color = 3f703f\r\nIDL\\style24\\eolfill = false\r\nIDL\\style24\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style24\\paper = ffe4e1\r\nIDL\\style25\\color = c06000\r\nIDL\\style25\\eolfill = false\r\nIDL\\style25\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style25\\paper = ffe4e1\r\nIDL\\style26\\color = be07ff\r\nIDL\\style26\\eolfill = false\r\nIDL\\style26\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style26\\paper = ffe4e1\r\nIDL\\style27\\color = 0\r\nIDL\\style27\\eolfill = false\r\nIDL\\style27\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style27\\paper = ffe4e1\r\nIDL\\style64\\color = c0c0c0\r\nIDL\\style64\\eolfill = false\r\nIDL\\style64\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style64\\paper = ffe4e1\r\nIDL\\style65\\color = 90b090\r\nIDL\\style65\\eolfill = false\r\nIDL\\style65\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style65\\paper = ffe4e1\r\nIDL\\style66\\color = 90b090\r\nIDL\\style66\\eolfill = false\r\nIDL\\style66\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style66\\paper = ffe4e1\r\nIDL\\style67\\color = d0d0d0\r\nIDL\\style67\\eolfill = false\r\nIDL\\style67\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style67\\paper = ffe4e1\r\nIDL\\style68\\color = 90b090\r\nIDL\\style68\\eolfill = false\r\nIDL\\style68\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style68\\paper = ffe4e1\r\nIDL\\style69\\color = 9090b0\r\nIDL\\style69\\eolfill = false\r\nIDL\\style69\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style69\\paper = ffe4e1\r\nIDL\\style70\\color = b090b0\r\nIDL\\style70\\eolfill = false\r\nIDL\\style70\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style70\\paper = ffe4e1\r\nIDL\\style71\\color = b090b0\r\nIDL\\style71\\eolfill = false\r\nIDL\\style71\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style71\\paper = ffe4e1\r\nIDL\\style72\\color = c0c0c0\r\nIDL\\style72\\eolfill = false\r\nIDL\\style72\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style72\\paper = ffe4e1\r\nIDL\\style73\\color = b0b090\r\nIDL\\style73\\eolfill = false\r\nIDL\\style73\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style73\\paper = ffe4e1\r\nIDL\\style74\\color = b0b0b0\r\nIDL\\style74\\eolfill = false\r\nIDL\\style74\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style74\\paper = ffe4e1\r\nIDL\\style75\\color = b0b0b0\r\nIDL\\style75\\eolfill = false\r\nIDL\\style75\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style75\\paper = ffe4e1\r\nIDL\\style76\\color = 0\r\nIDL\\style76\\eolfill = true\r\nIDL\\style76\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style76\\paper = ffe4e1\r\nIDL\\style77\\color = 90b090\r\nIDL\\style77\\eolfill = true\r\nIDL\\style77\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style77\\paper = ffe4e1\r\nIDL\\style78\\color = 7faf7f\r\nIDL\\style78\\eolfill = true\r\nIDL\\style78\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style78\\paper = ffe4e1\r\nIDL\\style79\\color = c0c0c0\r\nIDL\\style79\\eolfill = false\r\nIDL\\style79\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style79\\paper = ffe4e1\r\nIDL\\style80\\color = c0c0c0\r\nIDL\\style80\\eolfill = false\r\nIDL\\style80\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style80\\paper = ffe4e1\r\nIDL\\style81\\color = c0c0c0\r\nIDL\\style81\\eolfill = false\r\nIDL\\style81\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style81\\paper = ffe4e1\r\nIDL\\style82\\color = c0c0c0\r\nIDL\\style82\\eolfill = false\r\nIDL\\style82\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style82\\paper = ffe4e1\r\nIDL\\style83\\color = b0b0b0\r\nIDL\\style83\\eolfill = false\r\nIDL\\style83\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style83\\paper = ffe4e1\r\nIDL\\style84\\color = b090b0\r\nIDL\\style84\\eolfill = false\r\nIDL\\style84\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style84\\paper = ffe4e1\r\nIDL\\style85\\color = 90b090\r\nIDL\\style85\\eolfill = true\r\nIDL\\style85\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style85\\paper = ffe4e1\r\nIDL\\style86\\color = 90b090\r\nIDL\\style86\\eolfill = true\r\nIDL\\style86\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style86\\paper = ffe4e1\r\nIDL\\style87\\color = a0c090\r\nIDL\\style87\\eolfill = false\r\nIDL\\style87\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style87\\paper = ffe4e1\r\nIDL\\style88\\color = c0c0c0\r\nIDL\\style88\\eolfill = false\r\nIDL\\style88\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style88\\paper = ffe4e1\r\nIDL\\style89\\color = d7a090\r\nIDL\\style89\\eolfill = false\r\nIDL\\style89\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style89\\paper = ffe4e1\r\nIDL\\style90\\color = c3a1cf\r\nIDL\\style90\\eolfill = false\r\nIDL\\style90\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style90\\paper = ffe4e1\r\nIDL\\style91\\color = 0\r\nIDL\\style91\\eolfill = false\r\nIDL\\style91\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style91\\paper = ffe4e1\r\nIDL\\properties\\foldatelse = false\r\nIDL\\properties\\foldcomments = false\r\nIDL\\properties\\foldcompact = true\r\nIDL\\properties\\foldpreprocessor = true\r\nIDL\\properties\\stylepreprocessor = false\r\nIDL\\properties\\dollars = true\r\nIDL\\properties\\highlighttriple = false\r\nIDL\\properties\\highlighthash = false\r\nIDL\\properties\\highlightback = false\r\nIDL\\properties\\highlightescape = false\r\nIDL\\properties\\verbatimstringescape = false\r\nIDL\\defaultcolor = 0\r\nIDL\\defaultpaper = ffe4e1\r\nIDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nIDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = ffe4e1\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = ffe4e1\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = ffe4e1\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = ffe4e1\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = ffe4e1\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = ffe4e1\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = ffe4e1\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color = 808080\r\nJava\\style0\\eolfill = false\r\nJava\\style0\\font = Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper = ffe4e1\r\nJava\\style1\\color = 7f00\r\nJava\\style1\\eolfill = false\r\nJava\\style1\\font = Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper = ffe4e1\r\nJava\\style2\\color = 7f00\r\nJava\\style2\\eolfill = false\r\nJava\\style2\\font = Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper = ffe4e1\r\nJava\\style3\\color = 3f703f\r\nJava\\style3\\eolfill = false\r\nJava\\style3\\font = Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper = ffe4e1\r\nJava\\style4\\color = 7f7f\r\nJava\\style4\\eolfill = false\r\nJava\\style4\\font = Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper = ffe4e1\r\nJava\\style5\\color = 8000ff\r\nJava\\style5\\eolfill = false\r\nJava\\style5\\font = Courier New, 14, 0, 0, 0\r\nJava\\style5\\paper = ffe4e1\r\nJava\\style6\\color = 7f007f\r\nJava\\style6\\eolfill = false\r\nJava\\style6\\font = Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper = ffe4e1\r\nJava\\style7\\color = 7f007f\r\nJava\\style7\\eolfill = false\r\nJava\\style7\\font = Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper = ffe4e1\r\nJava\\style8\\color = 0\r\nJava\\style8\\eolfill = false\r\nJava\\style8\\font = Courier New, 14, 0, 0, 0\r\nJava\\style8\\paper = ffe4e1\r\nJava\\style9\\color = 7f7f00\r\nJava\\style9\\eolfill = false\r\nJava\\style9\\font = Courier New, 14, 0, 0, 0\r\nJava\\style9\\paper = ffe4e1\r\nJava\\style10\\color = 0\r\nJava\\style10\\eolfill = false\r\nJava\\style10\\font = Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper = ffe4e1\r\nJava\\style11\\color = 0\r\nJava\\style11\\eolfill = false\r\nJava\\style11\\font = Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper = ffe4e1\r\nJava\\style12\\color = 0\r\nJava\\style12\\eolfill = true\r\nJava\\style12\\font = Courier New, 14, 0, 0, 0\r\nJava\\style12\\paper = ffe4e1\r\nJava\\style13\\color = 7f00\r\nJava\\style13\\eolfill = true\r\nJava\\style13\\font = Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper = ffe4e1\r\nJava\\style14\\color = 3f7f3f\r\nJava\\style14\\eolfill = true\r\nJava\\style14\\font = Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper = ffe4e1\r\nJava\\style15\\color = 3f703f\r\nJava\\style15\\eolfill = false\r\nJava\\style15\\font = Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper = ffe4e1\r\nJava\\style16\\color = 0\r\nJava\\style16\\eolfill = false\r\nJava\\style16\\font = Courier New, 14, 0, 0, 0\r\nJava\\style16\\paper = ffe4e1\r\nJava\\style17\\color = 3060a0\r\nJava\\style17\\eolfill = false\r\nJava\\style17\\font = Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper = ffe4e1\r\nJava\\style18\\color = 804020\r\nJava\\style18\\eolfill = false\r\nJava\\style18\\font = Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper = ffe4e1\r\nJava\\style19\\color = 0\r\nJava\\style19\\eolfill = false\r\nJava\\style19\\font = Courier New, 14, 0, 0, 0\r\nJava\\style19\\paper = ffe4e1\r\nJava\\style20\\color = 7f007f\r\nJava\\style20\\eolfill = false\r\nJava\\style20\\font = Courier New, 14, 0, 0, 0\r\nJava\\style20\\paper = ffe4e1\r\nJava\\style21\\color = 7f00\r\nJava\\style21\\eolfill = true\r\nJava\\style21\\font = Courier New, 14, 0, 0, 0\r\nJava\\style21\\paper = ffe4e1\r\nJava\\style22\\color = 7f00\r\nJava\\style22\\eolfill = true\r\nJava\\style22\\font = Courier New, 14, 0, 0, 0\r\nJava\\style22\\paper = ffe4e1\r\nJava\\style23\\color = 659900\r\nJava\\style23\\eolfill = false\r\nJava\\style23\\font = Courier New, 14, 0, 0, 0\r\nJava\\style23\\paper = ffe4e1\r\nJava\\style24\\color = 3f703f\r\nJava\\style24\\eolfill = false\r\nJava\\style24\\font = Courier New, 14, 0, 0, 0\r\nJava\\style24\\paper = ffe4e1\r\nJava\\style25\\color = c06000\r\nJava\\style25\\eolfill = false\r\nJava\\style25\\font = Courier New, 14, 0, 0, 0\r\nJava\\style25\\paper = ffe4e1\r\nJava\\style26\\color = be07ff\r\nJava\\style26\\eolfill = false\r\nJava\\style26\\font = Courier New, 14, 0, 0, 0\r\nJava\\style26\\paper = ffe4e1\r\nJava\\style27\\color = 0\r\nJava\\style27\\eolfill = false\r\nJava\\style27\\font = Courier New, 14, 0, 0, 0\r\nJava\\style27\\paper = ffe4e1\r\nJava\\style64\\color = c0c0c0\r\nJava\\style64\\eolfill = false\r\nJava\\style64\\font = Courier New, 14, 0, 0, 0\r\nJava\\style64\\paper = ffe4e1\r\nJava\\style65\\color = 90b090\r\nJava\\style65\\eolfill = false\r\nJava\\style65\\font = Courier New, 14, 0, 0, 0\r\nJava\\style65\\paper = ffe4e1\r\nJava\\style66\\color = 90b090\r\nJava\\style66\\eolfill = false\r\nJava\\style66\\font = Courier New, 14, 0, 0, 0\r\nJava\\style66\\paper = ffe4e1\r\nJava\\style67\\color = d0d0d0\r\nJava\\style67\\eolfill = false\r\nJava\\style67\\font = Courier New, 14, 0, 0, 0\r\nJava\\style67\\paper = ffe4e1\r\nJava\\style68\\color = 90b090\r\nJava\\style68\\eolfill = false\r\nJava\\style68\\font = Courier New, 14, 0, 0, 0\r\nJava\\style68\\paper = ffe4e1\r\nJava\\style69\\color = 9090b0\r\nJava\\style69\\eolfill = false\r\nJava\\style69\\font = Courier New, 14, 0, 0, 0\r\nJava\\style69\\paper = ffe4e1\r\nJava\\style70\\color = b090b0\r\nJava\\style70\\eolfill = false\r\nJava\\style70\\font = Courier New, 14, 0, 0, 0\r\nJava\\style70\\paper = ffe4e1\r\nJava\\style71\\color = b090b0\r\nJava\\style71\\eolfill = false\r\nJava\\style71\\font = Courier New, 14, 0, 0, 0\r\nJava\\style71\\paper = ffe4e1\r\nJava\\style72\\color = c0c0c0\r\nJava\\style72\\eolfill = false\r\nJava\\style72\\font = Courier New, 14, 0, 0, 0\r\nJava\\style72\\paper = ffe4e1\r\nJava\\style73\\color = b0b090\r\nJava\\style73\\eolfill = false\r\nJava\\style73\\font = Courier New, 14, 0, 0, 0\r\nJava\\style73\\paper = ffe4e1\r\nJava\\style74\\color = b0b0b0\r\nJava\\style74\\eolfill = false\r\nJava\\style74\\font = Courier New, 14, 0, 0, 0\r\nJava\\style74\\paper = ffe4e1\r\nJava\\style75\\color = b0b0b0\r\nJava\\style75\\eolfill = false\r\nJava\\style75\\font = Courier New, 14, 0, 0, 0\r\nJava\\style75\\paper = ffe4e1\r\nJava\\style76\\color = 0\r\nJava\\style76\\eolfill = true\r\nJava\\style76\\font = Courier New, 14, 0, 0, 0\r\nJava\\style76\\paper = ffe4e1\r\nJava\\style77\\color = 90b090\r\nJava\\style77\\eolfill = true\r\nJava\\style77\\font = Courier New, 14, 0, 0, 0\r\nJava\\style77\\paper = ffe4e1\r\nJava\\style78\\color = 7faf7f\r\nJava\\style78\\eolfill = true\r\nJava\\style78\\font = Courier New, 14, 0, 0, 0\r\nJava\\style78\\paper = ffe4e1\r\nJava\\style79\\color = c0c0c0\r\nJava\\style79\\eolfill = false\r\nJava\\style79\\font = Courier New, 14, 0, 0, 0\r\nJava\\style79\\paper = ffe4e1\r\nJava\\style80\\color = c0c0c0\r\nJava\\style80\\eolfill = false\r\nJava\\style80\\font = Courier New, 14, 0, 0, 0\r\nJava\\style80\\paper = ffe4e1\r\nJava\\style81\\color = c0c0c0\r\nJava\\style81\\eolfill = false\r\nJava\\style81\\font = Courier New, 14, 0, 0, 0\r\nJava\\style81\\paper = ffe4e1\r\nJava\\style82\\color = c0c0c0\r\nJava\\style82\\eolfill = false\r\nJava\\style82\\font = Courier New, 14, 0, 0, 0\r\nJava\\style82\\paper = ffe4e1\r\nJava\\style83\\color = b0b0b0\r\nJava\\style83\\eolfill = false\r\nJava\\style83\\font = Courier New, 14, 0, 0, 0\r\nJava\\style83\\paper = ffe4e1\r\nJava\\style84\\color = b090b0\r\nJava\\style84\\eolfill = false\r\nJava\\style84\\font = Courier New, 14, 0, 0, 0\r\nJava\\style84\\paper = ffe4e1\r\nJava\\style85\\color = 90b090\r\nJava\\style85\\eolfill = true\r\nJava\\style85\\font = Courier New, 14, 0, 0, 0\r\nJava\\style85\\paper = ffe4e1\r\nJava\\style86\\color = 90b090\r\nJava\\style86\\eolfill = true\r\nJava\\style86\\font = Courier New, 14, 0, 0, 0\r\nJava\\style86\\paper = ffe4e1\r\nJava\\style87\\color = a0c090\r\nJava\\style87\\eolfill = false\r\nJava\\style87\\font = Courier New, 14, 0, 0, 0\r\nJava\\style87\\paper = ffe4e1\r\nJava\\style88\\color = c0c0c0\r\nJava\\style88\\eolfill = false\r\nJava\\style88\\font = Courier New, 14, 0, 0, 0\r\nJava\\style88\\paper = ffe4e1\r\nJava\\style89\\color = d7a090\r\nJava\\style89\\eolfill = false\r\nJava\\style89\\font = Courier New, 14, 0, 0, 0\r\nJava\\style89\\paper = ffe4e1\r\nJava\\style90\\color = c3a1cf\r\nJava\\style90\\eolfill = false\r\nJava\\style90\\font = Courier New, 14, 0, 0, 0\r\nJava\\style90\\paper = ffe4e1\r\nJava\\style91\\color = 0\r\nJava\\style91\\eolfill = false\r\nJava\\style91\\font = Courier New, 14, 0, 0, 0\r\nJava\\style91\\paper = ffe4e1\r\nJava\\properties\\foldatelse = false\r\nJava\\properties\\foldcomments = false\r\nJava\\properties\\foldcompact = true\r\nJava\\properties\\foldpreprocessor = true\r\nJava\\properties\\stylepreprocessor = false\r\nJava\\properties\\dollars = true\r\nJava\\properties\\highlighttriple = false\r\nJava\\properties\\highlighthash = false\r\nJava\\properties\\highlightback = false\r\nJava\\properties\\highlightescape = false\r\nJava\\properties\\verbatimstringescape = false\r\nJava\\defaultcolor = 0\r\nJava\\defaultpaper = ffe4e1\r\nJava\\defaultfont = Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color = 808080\r\nJavaScript\\style0\\eolfill = false\r\nJavaScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper = ffe4e1\r\nJavaScript\\style1\\color = 7f00\r\nJavaScript\\style1\\eolfill = false\r\nJavaScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style1\\paper = ffe4e1\r\nJavaScript\\style2\\color = 7f00\r\nJavaScript\\style2\\eolfill = false\r\nJavaScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style2\\paper = ffe4e1\r\nJavaScript\\style3\\color = 3f703f\r\nJavaScript\\style3\\eolfill = false\r\nJavaScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style3\\paper = ffe4e1\r\nJavaScript\\style4\\color = 7f7f\r\nJavaScript\\style4\\eolfill = false\r\nJavaScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style4\\paper = ffe4e1\r\nJavaScript\\style5\\color = 8000ff\r\nJavaScript\\style5\\eolfill = false\r\nJavaScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style5\\paper = ffe4e1\r\nJavaScript\\style6\\color = 7f007f\r\nJavaScript\\style6\\eolfill = false\r\nJavaScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style6\\paper = ffe4e1\r\nJavaScript\\style7\\color = 7f007f\r\nJavaScript\\style7\\eolfill = false\r\nJavaScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style7\\paper = ffe4e1\r\nJavaScript\\style8\\color = 0\r\nJavaScript\\style8\\eolfill = false\r\nJavaScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style8\\paper = ffe4e1\r\nJavaScript\\style9\\color = 7f7f00\r\nJavaScript\\style9\\eolfill = false\r\nJavaScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style9\\paper = ffe4e1\r\nJavaScript\\style10\\color = 0\r\nJavaScript\\style10\\eolfill = false\r\nJavaScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style10\\paper = ffe4e1\r\nJavaScript\\style11\\color = 0\r\nJavaScript\\style11\\eolfill = false\r\nJavaScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style11\\paper = ffe4e1\r\nJavaScript\\style12\\color = 0\r\nJavaScript\\style12\\eolfill = true\r\nJavaScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style12\\paper = ffe4e1\r\nJavaScript\\style13\\color = 7f00\r\nJavaScript\\style13\\eolfill = true\r\nJavaScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style13\\paper = ffe4e1\r\nJavaScript\\style14\\color = 3f7f3f\r\nJavaScript\\style14\\eolfill = true\r\nJavaScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style14\\paper = ffe4e1\r\nJavaScript\\style15\\color = 3f703f\r\nJavaScript\\style15\\eolfill = false\r\nJavaScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style15\\paper = ffe4e1\r\nJavaScript\\style16\\color = 0\r\nJavaScript\\style16\\eolfill = false\r\nJavaScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style16\\paper = ffe4e1\r\nJavaScript\\style17\\color = 3060a0\r\nJavaScript\\style17\\eolfill = false\r\nJavaScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style17\\paper = ffe4e1\r\nJavaScript\\style18\\color = 804020\r\nJavaScript\\style18\\eolfill = false\r\nJavaScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style18\\paper = ffe4e1\r\nJavaScript\\style19\\color = 0\r\nJavaScript\\style19\\eolfill = false\r\nJavaScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style19\\paper = ffe4e1\r\nJavaScript\\style20\\color = 7f007f\r\nJavaScript\\style20\\eolfill = false\r\nJavaScript\\style20\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper = ffe4e1\r\nJavaScript\\style21\\color = 7f00\r\nJavaScript\\style21\\eolfill = true\r\nJavaScript\\style21\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style21\\paper = ffe4e1\r\nJavaScript\\style22\\color = 7f00\r\nJavaScript\\style22\\eolfill = true\r\nJavaScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style22\\paper = ffe4e1\r\nJavaScript\\style23\\color = 659900\r\nJavaScript\\style23\\eolfill = false\r\nJavaScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style23\\paper = ffe4e1\r\nJavaScript\\style24\\color = 3f703f\r\nJavaScript\\style24\\eolfill = false\r\nJavaScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style24\\paper = ffe4e1\r\nJavaScript\\style25\\color = c06000\r\nJavaScript\\style25\\eolfill = false\r\nJavaScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style25\\paper = ffe4e1\r\nJavaScript\\style26\\color = be07ff\r\nJavaScript\\style26\\eolfill = false\r\nJavaScript\\style26\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style26\\paper = ffe4e1\r\nJavaScript\\style27\\color = 0\r\nJavaScript\\style27\\eolfill = false\r\nJavaScript\\style27\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style27\\paper = ffe4e1\r\nJavaScript\\style64\\color = c0c0c0\r\nJavaScript\\style64\\eolfill = false\r\nJavaScript\\style64\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style64\\paper = ffe4e1\r\nJavaScript\\style65\\color = 90b090\r\nJavaScript\\style65\\eolfill = false\r\nJavaScript\\style65\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style65\\paper = ffe4e1\r\nJavaScript\\style66\\color = 90b090\r\nJavaScript\\style66\\eolfill = false\r\nJavaScript\\style66\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style66\\paper = ffe4e1\r\nJavaScript\\style67\\color = d0d0d0\r\nJavaScript\\style67\\eolfill = false\r\nJavaScript\\style67\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style67\\paper = ffe4e1\r\nJavaScript\\style68\\color = 90b090\r\nJavaScript\\style68\\eolfill = false\r\nJavaScript\\style68\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style68\\paper = ffe4e1\r\nJavaScript\\style69\\color = 9090b0\r\nJavaScript\\style69\\eolfill = false\r\nJavaScript\\style69\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style69\\paper = ffe4e1\r\nJavaScript\\style70\\color = b090b0\r\nJavaScript\\style70\\eolfill = false\r\nJavaScript\\style70\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style70\\paper = ffe4e1\r\nJavaScript\\style71\\color = b090b0\r\nJavaScript\\style71\\eolfill = false\r\nJavaScript\\style71\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style71\\paper = ffe4e1\r\nJavaScript\\style72\\color = c0c0c0\r\nJavaScript\\style72\\eolfill = false\r\nJavaScript\\style72\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style72\\paper = ffe4e1\r\nJavaScript\\style73\\color = b0b090\r\nJavaScript\\style73\\eolfill = false\r\nJavaScript\\style73\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style73\\paper = ffe4e1\r\nJavaScript\\style74\\color = b0b0b0\r\nJavaScript\\style74\\eolfill = false\r\nJavaScript\\style74\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style74\\paper = ffe4e1\r\nJavaScript\\style75\\color = b0b0b0\r\nJavaScript\\style75\\eolfill = false\r\nJavaScript\\style75\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style75\\paper = ffe4e1\r\nJavaScript\\style76\\color = 0\r\nJavaScript\\style76\\eolfill = true\r\nJavaScript\\style76\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style76\\paper = ffe4e1\r\nJavaScript\\style77\\color = 90b090\r\nJavaScript\\style77\\eolfill = true\r\nJavaScript\\style77\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style77\\paper = ffe4e1\r\nJavaScript\\style78\\color = 7faf7f\r\nJavaScript\\style78\\eolfill = true\r\nJavaScript\\style78\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style78\\paper = ffe4e1\r\nJavaScript\\style79\\color = c0c0c0\r\nJavaScript\\style79\\eolfill = false\r\nJavaScript\\style79\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style79\\paper = ffe4e1\r\nJavaScript\\style80\\color = c0c0c0\r\nJavaScript\\style80\\eolfill = false\r\nJavaScript\\style80\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style80\\paper = ffe4e1\r\nJavaScript\\style81\\color = c0c0c0\r\nJavaScript\\style81\\eolfill = false\r\nJavaScript\\style81\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style81\\paper = ffe4e1\r\nJavaScript\\style82\\color = c0c0c0\r\nJavaScript\\style82\\eolfill = false\r\nJavaScript\\style82\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style82\\paper = ffe4e1\r\nJavaScript\\style83\\color = b0b0b0\r\nJavaScript\\style83\\eolfill = false\r\nJavaScript\\style83\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style83\\paper = ffe4e1\r\nJavaScript\\style84\\color = b090b0\r\nJavaScript\\style84\\eolfill = false\r\nJavaScript\\style84\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style84\\paper = ffe4e1\r\nJavaScript\\style85\\color = 90b090\r\nJavaScript\\style85\\eolfill = true\r\nJavaScript\\style85\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style85\\paper = ffe4e1\r\nJavaScript\\style86\\color = 90b090\r\nJavaScript\\style86\\eolfill = true\r\nJavaScript\\style86\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style86\\paper = ffe4e1\r\nJavaScript\\style87\\color = a0c090\r\nJavaScript\\style87\\eolfill = false\r\nJavaScript\\style87\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style87\\paper = ffe4e1\r\nJavaScript\\style88\\color = c0c0c0\r\nJavaScript\\style88\\eolfill = false\r\nJavaScript\\style88\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style88\\paper = ffe4e1\r\nJavaScript\\style89\\color = d7a090\r\nJavaScript\\style89\\eolfill = false\r\nJavaScript\\style89\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style89\\paper = ffe4e1\r\nJavaScript\\style90\\color = c3a1cf\r\nJavaScript\\style90\\eolfill = false\r\nJavaScript\\style90\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style90\\paper = ffe4e1\r\nJavaScript\\style91\\color = 0\r\nJavaScript\\style91\\eolfill = false\r\nJavaScript\\style91\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style91\\paper = ffe4e1\r\nJavaScript\\properties\\foldatelse = false\r\nJavaScript\\properties\\foldcomments = false\r\nJavaScript\\properties\\foldcompact = true\r\nJavaScript\\properties\\foldpreprocessor = true\r\nJavaScript\\properties\\stylepreprocessor = false\r\nJavaScript\\properties\\dollars = true\r\nJavaScript\\properties\\highlighttriple = false\r\nJavaScript\\properties\\highlighthash = false\r\nJavaScript\\properties\\highlightback = false\r\nJavaScript\\properties\\highlightescape = false\r\nJavaScript\\properties\\verbatimstringescape = false\r\nJavaScript\\defaultcolor = 0\r\nJavaScript\\defaultpaper = ffe4e1\r\nJavaScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color = 0\r\nJSON\\style0\\eolfill = false\r\nJSON\\style0\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper = ffe4e1\r\nJSON\\style1\\color = 7f7f\r\nJSON\\style1\\eolfill = false\r\nJSON\\style1\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper = ffe4e1\r\nJSON\\style2\\color = 7f0000\r\nJSON\\style2\\eolfill = false\r\nJSON\\style2\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper = ffe4e1\r\nJSON\\style3\\color = ffffff\r\nJSON\\style3\\eolfill = true\r\nJSON\\style3\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper = ffe4e1\r\nJSON\\style4\\color = 880ae8\r\nJSON\\style4\\eolfill = false\r\nJSON\\style4\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper = ffe4e1\r\nJSON\\style5\\color = b982e\r\nJSON\\style5\\eolfill = false\r\nJSON\\style5\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper = ffe4e1\r\nJSON\\style6\\color = 5bbae\r\nJSON\\style6\\eolfill = false\r\nJSON\\style6\\font = Courier New, 14, 0, 1, 0\r\nJSON\\style6\\paper = ffe4e1\r\nJSON\\style7\\color = 5bbae\r\nJSON\\style7\\eolfill = false\r\nJSON\\style7\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper = ffe4e1\r\nJSON\\style8\\color = 18644a\r\nJSON\\style8\\eolfill = false\r\nJSON\\style8\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper = ffe4e1\r\nJSON\\style9\\color = ff\r\nJSON\\style9\\eolfill = false\r\nJSON\\style9\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper = ffe4e1\r\nJSON\\style10\\color = d137c1\r\nJSON\\style10\\eolfill = false\r\nJSON\\style10\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper = ffe4e1\r\nJSON\\style11\\color = bcea7\r\nJSON\\style11\\eolfill = false\r\nJSON\\style11\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper = ffe4e1\r\nJSON\\style12\\color = ec2806\r\nJSON\\style12\\eolfill = false\r\nJSON\\style12\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper = ffe4e1\r\nJSON\\style13\\color = ffffff\r\nJSON\\style13\\eolfill = false\r\nJSON\\style13\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper = ffe4e1\r\nJSON\\properties\\allowcomments = true\r\nJSON\\properties\\escapesequence = true\r\nJSON\\properties\\foldcompact = true\r\nJSON\\defaultcolor = 0\r\nJSON\\defaultpaper = ffe4e1\r\nJSON\\defaultfont = Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/jsp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = ffe4e1\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = ffe4e1\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = ffe4e1\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = ffe4e1\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = ffe4e1\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = ffe4e1\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = ffe4e1\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = ffe4e1\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = ffe4e1\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = ffe4e1\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = ffe4e1\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = ffe4e1\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = ffe4e1\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = ffe4e1\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = ffe4e1\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = ffe4e1\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = ffe4e1\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = ffe4e1\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = ffe4e1\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = ffe4e1\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = ffe4e1\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = ffe4e1\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = ffe4e1\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = ffe4e1\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = ffe4e1\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = ffe4e1\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = ffe4e1\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = ffe4e1\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = ffe4e1\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = ffe4e1\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = ffe4e1\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = ffe4e1\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = ffe4e1\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = ffe4e1\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = ffe4e1\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = ffe4e1\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = ffe4e1\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = ffe4e1\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = ffe4e1\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = ffe4e1\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = ffe4e1\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = ffe4e1\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = ffe4e1\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = ffe4e1\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = ffe4e1\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = ffe4e1\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = ffe4e1\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = ffe4e1\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = ffe4e1\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = ffe4e1\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = ffe4e1\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = ffe4e1\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = ffe4e1\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = ffe4e1\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = ffe4e1\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = ffe4e1\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = ffe4e1\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = ffe4e1\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = ffe4e1\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = ffe4e1\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = ffe4e1\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = ffe4e1\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = ffe4e1\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = ffe4e1\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = ffe4e1\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = ffe4e1\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = ffe4e1\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = ffe4e1\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = ffe4e1\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = ffe4e1\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = ffe4e1\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = ffe4e1\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = ffe4e1\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = ffe4e1\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = ffe4e1\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = ffe4e1\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = ffe4e1\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = ffe4e1\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = ffe4e1\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = ffe4e1\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = ffe4e1\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = ffe4e1\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = ffe4e1\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = ffe4e1\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = ffe4e1\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = ffe4e1\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = ffe4e1\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = ffe4e1\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = ffe4e1\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = ffe4e1\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = ffe4e1\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = ffe4e1\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = ffe4e1\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = ffe4e1\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = ffe4e1\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = ffe4e1\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = ffe4e1\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = ffe4e1\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = ffe4e1\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = ffe4e1\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = ffe4e1\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = ffe4e1\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = ffe4e1\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = ffe4e1\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = ffe4e1\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = ffe4e1\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = ffe4e1\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = ffe4e1\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = ffe4e1\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = ffe4e1\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color = 0\r\nLua\\style0\\eolfill = false\r\nLua\\style0\\font = Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper = ffe4e1\r\nLua\\style1\\color = 7f00\r\nLua\\style1\\eolfill = true\r\nLua\\style1\\font = Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper = ffe4e1\r\nLua\\style2\\color = 7f00\r\nLua\\style2\\eolfill = false\r\nLua\\style2\\font = Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper = ffe4e1\r\nLua\\style4\\color = 7f7f\r\nLua\\style4\\eolfill = false\r\nLua\\style4\\font = Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper = ffe4e1\r\nLua\\style5\\color = 8000ff\r\nLua\\style5\\eolfill = false\r\nLua\\style5\\font = Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper = ffe4e1\r\nLua\\style6\\color = 7f007f\r\nLua\\style6\\eolfill = false\r\nLua\\style6\\font = Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper = ffe4e1\r\nLua\\style7\\color = 7f007f\r\nLua\\style7\\eolfill = false\r\nLua\\style7\\font = Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper = ffe4e1\r\nLua\\style8\\color = 7f007f\r\nLua\\style8\\eolfill = false\r\nLua\\style8\\font = Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper = ffe4e1\r\nLua\\style9\\color = 7f7f00\r\nLua\\style9\\eolfill = false\r\nLua\\style9\\font = Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper = ffe4e1\r\nLua\\style10\\color = 0\r\nLua\\style10\\eolfill = false\r\nLua\\style10\\font = Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper = ffe4e1\r\nLua\\style11\\color = 0\r\nLua\\style11\\eolfill = false\r\nLua\\style11\\font = Courier New, 14, 0, 0, 0\r\nLua\\style11\\paper = ffe4e1\r\nLua\\style12\\color = 0\r\nLua\\style12\\eolfill = true\r\nLua\\style12\\font = Courier New, 14, 0, 0, 0\r\nLua\\style12\\paper = ffe4e1\r\nLua\\style13\\color = 8000ff\r\nLua\\style13\\eolfill = false\r\nLua\\style13\\font = Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper = ffe4e1\r\nLua\\style14\\color = 8000ff\r\nLua\\style14\\eolfill = false\r\nLua\\style14\\font = Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper = ffe4e1\r\nLua\\style15\\color = 8000ff\r\nLua\\style15\\eolfill = false\r\nLua\\style15\\font = Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper = ffe4e1\r\nLua\\style16\\color = 0\r\nLua\\style16\\eolfill = false\r\nLua\\style16\\font = Courier New, 14, 0, 0, 0\r\nLua\\style16\\paper = ffe4e1\r\nLua\\style17\\color = 0\r\nLua\\style17\\eolfill = false\r\nLua\\style17\\font = Courier New, 14, 0, 0, 0\r\nLua\\style17\\paper = ffe4e1\r\nLua\\style18\\color = 0\r\nLua\\style18\\eolfill = false\r\nLua\\style18\\font = Courier New, 14, 0, 0, 0\r\nLua\\style18\\paper = ffe4e1\r\nLua\\style19\\color = 0\r\nLua\\style19\\eolfill = false\r\nLua\\style19\\font = Courier New, 14, 0, 0, 0\r\nLua\\style19\\paper = ffe4e1\r\nLua\\style20\\color = 7f7f00\r\nLua\\style20\\eolfill = false\r\nLua\\style20\\font = Courier New, 14, 0, 0, 0\r\nLua\\style20\\paper = ffe4e1\r\nLua\\properties\\foldcompact = true\r\nLua\\defaultcolor = 0\r\nLua\\defaultpaper = ffe4e1\r\nLua\\defaultfont = Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color = 0\r\nMakefile\\style0\\eolfill = false\r\nMakefile\\style0\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper = ffe4e1\r\nMakefile\\style1\\color = 7f00\r\nMakefile\\style1\\eolfill = false\r\nMakefile\\style1\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper = ffe4e1\r\nMakefile\\style2\\color = 7f7f00\r\nMakefile\\style2\\eolfill = false\r\nMakefile\\style2\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper = ffe4e1\r\nMakefile\\style3\\color = 80\r\nMakefile\\style3\\eolfill = false\r\nMakefile\\style3\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper = ffe4e1\r\nMakefile\\style4\\color = 0\r\nMakefile\\style4\\eolfill = false\r\nMakefile\\style4\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper = ffe4e1\r\nMakefile\\style5\\color = a00000\r\nMakefile\\style5\\eolfill = false\r\nMakefile\\style5\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper = ffe4e1\r\nMakefile\\style9\\color = ffff00\r\nMakefile\\style9\\eolfill = true\r\nMakefile\\style9\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper = ffe4e1\r\nMakefile\\defaultcolor = 0\r\nMakefile\\defaultpaper = ffe4e1\r\nMakefile\\defaultfont = Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color = 0\r\nMatlab\\style0\\eolfill = false\r\nMatlab\\style0\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper = ffe4e1\r\nMatlab\\style1\\color = 7f00\r\nMatlab\\style1\\eolfill = false\r\nMatlab\\style1\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper = ffe4e1\r\nMatlab\\style2\\color = 7f7f00\r\nMatlab\\style2\\eolfill = false\r\nMatlab\\style2\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper = ffe4e1\r\nMatlab\\style3\\color = 7f7f\r\nMatlab\\style3\\eolfill = false\r\nMatlab\\style3\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper = ffe4e1\r\nMatlab\\style4\\color = 8000ff\r\nMatlab\\style4\\eolfill = false\r\nMatlab\\style4\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper = ffe4e1\r\nMatlab\\style5\\color = 7f007f\r\nMatlab\\style5\\eolfill = false\r\nMatlab\\style5\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper = ffe4e1\r\nMatlab\\style6\\color = 0\r\nMatlab\\style6\\eolfill = false\r\nMatlab\\style6\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper = ffe4e1\r\nMatlab\\style7\\color = 0\r\nMatlab\\style7\\eolfill = false\r\nMatlab\\style7\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper = ffe4e1\r\nMatlab\\style8\\color = 7f007f\r\nMatlab\\style8\\eolfill = false\r\nMatlab\\style8\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper = ffe4e1\r\nMatlab\\defaultcolor = 0\r\nMatlab\\defaultpaper = ffe4e1\r\nMatlab\\defaultfont = Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color = 0\r\nNSIS\\style0\\eolfill = false\r\nNSIS\\style0\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper = ffe4e1\r\nNSIS\\style1\\color = 7f00\r\nNSIS\\style1\\eolfill = false\r\nNSIS\\style1\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper = ffe4e1\r\nNSIS\\style2\\color = 7f007f\r\nNSIS\\style2\\eolfill = false\r\nNSIS\\style2\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper = ffe4e1\r\nNSIS\\style3\\color = 7f007f\r\nNSIS\\style3\\eolfill = false\r\nNSIS\\style3\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper = ffe4e1\r\nNSIS\\style4\\color = 7f007f\r\nNSIS\\style4\\eolfill = false\r\nNSIS\\style4\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper = ffe4e1\r\nNSIS\\style5\\color = 8000ff\r\nNSIS\\style5\\eolfill = false\r\nNSIS\\style5\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper = ffe4e1\r\nNSIS\\style6\\color = 0\r\nNSIS\\style6\\eolfill = false\r\nNSIS\\style6\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper = ffe4e1\r\nNSIS\\style7\\color = 8000ff\r\nNSIS\\style7\\eolfill = false\r\nNSIS\\style7\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style7\\paper = ffe4e1\r\nNSIS\\style8\\color = 0\r\nNSIS\\style8\\eolfill = false\r\nNSIS\\style8\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper = ffe4e1\r\nNSIS\\style9\\color = 8000ff\r\nNSIS\\style9\\eolfill = false\r\nNSIS\\style9\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style9\\paper = ffe4e1\r\nNSIS\\style10\\color = 8000ff\r\nNSIS\\style10\\eolfill = false\r\nNSIS\\style10\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style10\\paper = ffe4e1\r\nNSIS\\style11\\color = 8000ff\r\nNSIS\\style11\\eolfill = false\r\nNSIS\\style11\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style11\\paper = ffe4e1\r\nNSIS\\style12\\color = 8000ff\r\nNSIS\\style12\\eolfill = false\r\nNSIS\\style12\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style12\\paper = ffe4e1\r\nNSIS\\style13\\color = 0\r\nNSIS\\style13\\eolfill = false\r\nNSIS\\style13\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper = ffe4e1\r\nNSIS\\style14\\color = 7f7f\r\nNSIS\\style14\\eolfill = false\r\nNSIS\\style14\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper = ffe4e1\r\nNSIS\\style15\\color = 0\r\nNSIS\\style15\\eolfill = false\r\nNSIS\\style15\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper = ffe4e1\r\nNSIS\\style16\\color = 0\r\nNSIS\\style16\\eolfill = false\r\nNSIS\\style16\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper = ffe4e1\r\nNSIS\\style17\\color = 8000ff\r\nNSIS\\style17\\eolfill = false\r\nNSIS\\style17\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style17\\paper = ffe4e1\r\nNSIS\\style18\\color = 7f00\r\nNSIS\\style18\\eolfill = false\r\nNSIS\\style18\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper = ffe4e1\r\nNSIS\\defaultcolor = 0\r\nNSIS\\defaultpaper = ffe4e1\r\nNSIS\\defaultfont = Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = ffe4e1\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = ffe4e1\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = ffe4e1\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = ffe4e1\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = ffe4e1\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = ffe4e1\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = ffe4e1\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = ffe4e1\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = ffe4e1\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = ffe4e1\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = ffe4e1\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = ffe4e1\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = ffe4e1\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = ffe4e1\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = ffe4e1\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = ffe4e1\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = ffe4e1\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = ffe4e1\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = ffe4e1\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = ffe4e1\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = ffe4e1\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = ffe4e1\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = ffe4e1\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = ffe4e1\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = ffe4e1\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = ffe4e1\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = ffe4e1\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = ffe4e1\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = ffe4e1\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = ffe4e1\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = ffe4e1\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = ffe4e1\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = ffe4e1\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = ffe4e1\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = ffe4e1\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = ffe4e1\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = ffe4e1\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = ffe4e1\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = ffe4e1\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = ffe4e1\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = ffe4e1\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = ffe4e1\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = ffe4e1\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = ffe4e1\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = ffe4e1\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = ffe4e1\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = ffe4e1\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = ffe4e1\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = ffe4e1\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = ffe4e1\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = ffe4e1\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = ffe4e1\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = ffe4e1\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = ffe4e1\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = ffe4e1\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = ffe4e1\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = ffe4e1\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color = 808080\r\nPascal\\style0\\eolfill = false\r\nPascal\\style0\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper = ffe4e1\r\nPascal\\style1\\color = 0\r\nPascal\\style1\\eolfill = false\r\nPascal\\style1\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper = ffe4e1\r\nPascal\\style2\\color = 7f00\r\nPascal\\style2\\eolfill = false\r\nPascal\\style2\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper = ffe4e1\r\nPascal\\style3\\color = 7f00\r\nPascal\\style3\\eolfill = false\r\nPascal\\style3\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper = ffe4e1\r\nPascal\\style4\\color = 7f00\r\nPascal\\style4\\eolfill = false\r\nPascal\\style4\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper = ffe4e1\r\nPascal\\style5\\color = 7f7f00\r\nPascal\\style5\\eolfill = false\r\nPascal\\style5\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper = ffe4e1\r\nPascal\\style6\\color = 7f7f00\r\nPascal\\style6\\eolfill = false\r\nPascal\\style6\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style6\\paper = ffe4e1\r\nPascal\\style7\\color = 7f7f\r\nPascal\\style7\\eolfill = false\r\nPascal\\style7\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper = ffe4e1\r\nPascal\\style8\\color = 7f7f\r\nPascal\\style8\\eolfill = false\r\nPascal\\style8\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper = ffe4e1\r\nPascal\\style9\\color = 8000ff\r\nPascal\\style9\\eolfill = false\r\nPascal\\style9\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style9\\paper = ffe4e1\r\nPascal\\style10\\color = 7f007f\r\nPascal\\style10\\eolfill = false\r\nPascal\\style10\\font = Courier New, 11, 0, 1, 0\r\nPascal\\style10\\paper = ffe4e1\r\nPascal\\style11\\color = 0\r\nPascal\\style11\\eolfill = true\r\nPascal\\style11\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style11\\paper = ffe4e1\r\nPascal\\style12\\color = 7f007f\r\nPascal\\style12\\eolfill = false\r\nPascal\\style12\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper = ffe4e1\r\nPascal\\style13\\color = 0\r\nPascal\\style13\\eolfill = false\r\nPascal\\style13\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style13\\paper = ffe4e1\r\nPascal\\style14\\color = 804080\r\nPascal\\style14\\eolfill = false\r\nPascal\\style14\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper = ffe4e1\r\nPascal\\properties\\foldcomments = false\r\nPascal\\properties\\foldcompact = true\r\nPascal\\properties\\foldpreprocessor = false\r\nPascal\\properties\\smarthighlight = true\r\nPascal\\defaultcolor = 0\r\nPascal\\defaultpaper = ffe4e1\r\nPascal\\defaultfont = Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color = 808080\r\nPerl\\style0\\eolfill = false\r\nPerl\\style0\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper = ffe4e1\r\nPerl\\style1\\color = ffff00\r\nPerl\\style1\\eolfill = false\r\nPerl\\style1\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper = ffe4e1\r\nPerl\\style2\\color = 7f00\r\nPerl\\style2\\eolfill = false\r\nPerl\\style2\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper = ffe4e1\r\nPerl\\style3\\color = 4000\r\nPerl\\style3\\eolfill = true\r\nPerl\\style3\\font = Courier New, 11, 0, 0, 0\r\nPerl\\style3\\paper = ffe4e1\r\nPerl\\style4\\color = 7f7f\r\nPerl\\style4\\eolfill = false\r\nPerl\\style4\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper = ffe4e1\r\nPerl\\style5\\color = 8000ff\r\nPerl\\style5\\eolfill = false\r\nPerl\\style5\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper = ffe4e1\r\nPerl\\style6\\color = 7f007f\r\nPerl\\style6\\eolfill = false\r\nPerl\\style6\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper = ffe4e1\r\nPerl\\style7\\color = 7f007f\r\nPerl\\style7\\eolfill = false\r\nPerl\\style7\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper = ffe4e1\r\nPerl\\style10\\color = 0\r\nPerl\\style10\\eolfill = false\r\nPerl\\style10\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper = ffe4e1\r\nPerl\\style11\\color = 0\r\nPerl\\style11\\eolfill = false\r\nPerl\\style11\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style11\\paper = ffe4e1\r\nPerl\\style12\\color = 0\r\nPerl\\style12\\eolfill = false\r\nPerl\\style12\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper = ffe4e1\r\nPerl\\style13\\color = 0\r\nPerl\\style13\\eolfill = false\r\nPerl\\style13\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper = ffe4e1\r\nPerl\\style14\\color = 0\r\nPerl\\style14\\eolfill = false\r\nPerl\\style14\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper = ffe4e1\r\nPerl\\style15\\color = 0\r\nPerl\\style15\\eolfill = false\r\nPerl\\style15\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper = ffe4e1\r\nPerl\\style17\\color = 0\r\nPerl\\style17\\eolfill = false\r\nPerl\\style17\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper = ffe4e1\r\nPerl\\style18\\color = 0\r\nPerl\\style18\\eolfill = false\r\nPerl\\style18\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper = ffe4e1\r\nPerl\\style20\\color = ffff00\r\nPerl\\style20\\eolfill = false\r\nPerl\\style20\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper = ffe4e1\r\nPerl\\style21\\color = 600000\r\nPerl\\style21\\eolfill = true\r\nPerl\\style21\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper = ffe4e1\r\nPerl\\style22\\color = 0\r\nPerl\\style22\\eolfill = false\r\nPerl\\style22\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style22\\paper = ffe4e1\r\nPerl\\style23\\color = 7f007f\r\nPerl\\style23\\eolfill = true\r\nPerl\\style23\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style23\\paper = ffe4e1\r\nPerl\\style24\\color = 7f007f\r\nPerl\\style24\\eolfill = true\r\nPerl\\style24\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style24\\paper = ffe4e1\r\nPerl\\style25\\color = 7f007f\r\nPerl\\style25\\eolfill = true\r\nPerl\\style25\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style25\\paper = ffe4e1\r\nPerl\\style26\\color = 7f007f\r\nPerl\\style26\\eolfill = false\r\nPerl\\style26\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style26\\paper = ffe4e1\r\nPerl\\style27\\color = 7f007f\r\nPerl\\style27\\eolfill = false\r\nPerl\\style27\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style27\\paper = ffe4e1\r\nPerl\\style28\\color = ffff00\r\nPerl\\style28\\eolfill = false\r\nPerl\\style28\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style28\\paper = ffe4e1\r\nPerl\\style29\\color = 0\r\nPerl\\style29\\eolfill = false\r\nPerl\\style29\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style29\\paper = ffe4e1\r\nPerl\\style30\\color = 0\r\nPerl\\style30\\eolfill = false\r\nPerl\\style30\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style30\\paper = ffe4e1\r\nPerl\\style31\\color = 4000\r\nPerl\\style31\\eolfill = true\r\nPerl\\style31\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style31\\paper = ffe4e1\r\nPerl\\style40\\color = 0\r\nPerl\\style40\\eolfill = false\r\nPerl\\style40\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style40\\paper = ffe4e1\r\nPerl\\style41\\color = c000c0\r\nPerl\\style41\\eolfill = false\r\nPerl\\style41\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style41\\paper = ffe4e1\r\nPerl\\style42\\color = c000c0\r\nPerl\\style42\\eolfill = true\r\nPerl\\style42\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style42\\paper = ffe4e1\r\nPerl\\style43\\color = d00000\r\nPerl\\style43\\eolfill = false\r\nPerl\\style43\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style43\\paper = ffe4e1\r\nPerl\\style44\\color = 0\r\nPerl\\style44\\eolfill = false\r\nPerl\\style44\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style44\\paper = ffe4e1\r\nPerl\\style54\\color = d00000\r\nPerl\\style54\\eolfill = false\r\nPerl\\style54\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style54\\paper = ffe4e1\r\nPerl\\style55\\color = d00000\r\nPerl\\style55\\eolfill = false\r\nPerl\\style55\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style55\\paper = ffe4e1\r\nPerl\\style57\\color = d00000\r\nPerl\\style57\\eolfill = false\r\nPerl\\style57\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style57\\paper = ffe4e1\r\nPerl\\style61\\color = d00000\r\nPerl\\style61\\eolfill = true\r\nPerl\\style61\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style61\\paper = ffe4e1\r\nPerl\\style62\\color = d00000\r\nPerl\\style62\\eolfill = true\r\nPerl\\style62\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style62\\paper = ffe4e1\r\nPerl\\style64\\color = d00000\r\nPerl\\style64\\eolfill = false\r\nPerl\\style64\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style64\\paper = ffe4e1\r\nPerl\\style65\\color = d00000\r\nPerl\\style65\\eolfill = false\r\nPerl\\style65\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style65\\paper = ffe4e1\r\nPerl\\style66\\color = d00000\r\nPerl\\style66\\eolfill = false\r\nPerl\\style66\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style66\\paper = ffe4e1\r\nPerl\\properties\\foldatelse = false\r\nPerl\\properties\\foldcomments = false\r\nPerl\\properties\\foldcompact = true\r\nPerl\\properties\\foldpackages = true\r\nPerl\\properties\\foldpodblocks = true\r\nPerl\\defaultcolor = 0\r\nPerl\\defaultpaper = ffe4e1\r\nPerl\\defaultfont = Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = ffe4e1\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = ffe4e1\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = ffe4e1\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = ffe4e1\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = ffe4e1\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = ffe4e1\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = ffe4e1\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = ffe4e1\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = ffe4e1\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = ffe4e1\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = ffe4e1\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = ffe4e1\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = ffe4e1\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = ffe4e1\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = ffe4e1\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = ffe4e1\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = ffe4e1\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = ffe4e1\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = ffe4e1\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = ffe4e1\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = ffe4e1\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = ffe4e1\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = ffe4e1\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = ffe4e1\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = ffe4e1\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = ffe4e1\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = ffe4e1\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = ffe4e1\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = ffe4e1\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = ffe4e1\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = ffe4e1\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = ffe4e1\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = ffe4e1\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = ffe4e1\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = ffe4e1\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = ffe4e1\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = ffe4e1\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = ffe4e1\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = ffe4e1\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = ffe4e1\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = ffe4e1\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = ffe4e1\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = ffe4e1\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = ffe4e1\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = ffe4e1\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = ffe4e1\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = ffe4e1\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = ffe4e1\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = ffe4e1\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = ffe4e1\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = ffe4e1\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = ffe4e1\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = ffe4e1\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = ffe4e1\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = ffe4e1\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = ffe4e1\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = ffe4e1\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = ffe4e1\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = ffe4e1\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = ffe4e1\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = ffe4e1\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = ffe4e1\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = ffe4e1\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = ffe4e1\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = ffe4e1\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = ffe4e1\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = ffe4e1\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = ffe4e1\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = ffe4e1\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = ffe4e1\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = ffe4e1\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = ffe4e1\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = ffe4e1\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = ffe4e1\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = ffe4e1\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = ffe4e1\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = ffe4e1\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = ffe4e1\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = ffe4e1\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = ffe4e1\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = ffe4e1\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = ffe4e1\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = ffe4e1\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = ffe4e1\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = ffe4e1\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = ffe4e1\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = ffe4e1\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = ffe4e1\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = ffe4e1\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = ffe4e1\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = ffe4e1\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = ffe4e1\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = ffe4e1\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = ffe4e1\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = ffe4e1\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = ffe4e1\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = ffe4e1\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = ffe4e1\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = ffe4e1\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = ffe4e1\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = ffe4e1\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = ffe4e1\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = ffe4e1\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = ffe4e1\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = ffe4e1\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = ffe4e1\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = ffe4e1\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = ffe4e1\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = ffe4e1\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = ffe4e1\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = ffe4e1\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = ffe4e1\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = ffe4e1\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = ffe4e1\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = ffe4e1\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = ffe4e1\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = ffe4e1\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color = 808080\r\nPython\\style0\\eolfill = false\r\nPython\\style0\\font = Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper = ffe4e1\r\nPython\\style1\\color = 7f00\r\nPython\\style1\\eolfill = false\r\nPython\\style1\\font = Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper = ffe4e1\r\nPython\\style2\\color = 7f7f\r\nPython\\style2\\eolfill = false\r\nPython\\style2\\font = Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper = ffe4e1\r\nPython\\style3\\color = 7f007f\r\nPython\\style3\\eolfill = false\r\nPython\\style3\\font = Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper = ffe4e1\r\nPython\\style4\\color = 7f007f\r\nPython\\style4\\eolfill = false\r\nPython\\style4\\font = Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper = ffe4e1\r\nPython\\style5\\color = ff\r\nPython\\style5\\eolfill = false\r\nPython\\style5\\font = Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper = ffe4e1\r\nPython\\style6\\color = 7f0000\r\nPython\\style6\\eolfill = false\r\nPython\\style6\\font = Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper = ffe4e1\r\nPython\\style7\\color = 7f0000\r\nPython\\style7\\eolfill = false\r\nPython\\style7\\font = Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper = ffe4e1\r\nPython\\style8\\color = ff\r\nPython\\style8\\eolfill = false\r\nPython\\style8\\font = Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper = ffe4e1\r\nPython\\style9\\color = 8000ff\r\nPython\\style9\\eolfill = false\r\nPython\\style9\\font = Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper = ffe4e1\r\nPython\\style10\\color = 0\r\nPython\\style10\\eolfill = false\r\nPython\\style10\\font = Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper = ffe4e1\r\nPython\\style11\\color = 0\r\nPython\\style11\\eolfill = false\r\nPython\\style11\\font = Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper = ffe4e1\r\nPython\\style12\\color = 7f7f7f\r\nPython\\style12\\eolfill = false\r\nPython\\style12\\font = Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper = ffe4e1\r\nPython\\style13\\color = 0\r\nPython\\style13\\eolfill = true\r\nPython\\style13\\font = Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper = ffe4e1\r\nPython\\style14\\color = 407090\r\nPython\\style14\\eolfill = false\r\nPython\\style14\\font = Courier New, 14, 0, 0, 0\r\nPython\\style14\\paper = ffe4e1\r\nPython\\style15\\color = 805000\r\nPython\\style15\\eolfill = false\r\nPython\\style15\\font = Courier New, 14, 0, 0, 0\r\nPython\\style15\\paper = ffe4e1\r\nPython\\style16\\color = 7f007f\r\nPython\\style16\\eolfill = false\r\nPython\\style16\\font = Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper = ffe4e1\r\nPython\\style17\\color = 7f007f\r\nPython\\style17\\eolfill = false\r\nPython\\style17\\font = Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper = ffe4e1\r\nPython\\style18\\color = 7f0000\r\nPython\\style18\\eolfill = false\r\nPython\\style18\\font = Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper = ffe4e1\r\nPython\\style19\\color = 7f0000\r\nPython\\style19\\eolfill = false\r\nPython\\style19\\font = Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper = ffe4e1\r\nPython\\properties\\foldcomments = false\r\nPython\\properties\\foldcompact = true\r\nPython\\properties\\foldquotes = false\r\nPython\\properties\\indentwarning = 0\r\nPython\\properties\\stringsovernewline = false\r\nPython\\properties\\v2unicode = true\r\nPython\\properties\\v3binaryoctal = true\r\nPython\\properties\\v3bytes = true\r\nPython\\properties\\highlightsubids = true\r\nPython\\defaultcolor = 0\r\nPython\\defaultpaper = ffe4e1\r\nPython\\defaultfont = Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = ffe4e1\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = ffe4e1\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = ffe4e1\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = ffe4e1\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = ffe4e1\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = ffe4e1\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = ffe4e1\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = ffe4e1\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = ffe4e1\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = ffe4e1\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = ffe4e1\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = ffe4e1\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = ffe4e1\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = ffe4e1\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = ffe4e1\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = ffe4e1\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = ffe4e1\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = ffe4e1\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = ffe4e1\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = ffe4e1\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = ffe4e1\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = ffe4e1\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = ffe4e1\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = ffe4e1\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = ffe4e1\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = ffe4e1\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = ffe4e1\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = ffe4e1\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = ffe4e1\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = ffe4e1\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = ffe4e1\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = ffe4e1\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = ffe4e1\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = ffe4e1\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = ffe4e1\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = ffe4e1\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = ffe4e1\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = ffe4e1\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = ffe4e1\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = ffe4e1\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = ffe4e1\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = ffe4e1\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = ffe4e1\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = ffe4e1\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = ffe4e1\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = ffe4e1\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = ffe4e1\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = ffe4e1\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = ffe4e1\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = ffe4e1\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = ffe4e1\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = ffe4e1\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = ffe4e1\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = ffe4e1\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = ffe4e1\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = ffe4e1\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = ffe4e1\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color = 808080\r\nRuby\\style0\\eolfill = false\r\nRuby\\style0\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper = ffe4e1\r\nRuby\\style1\\color = 0\r\nRuby\\style1\\eolfill = false\r\nRuby\\style1\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper = ffe4e1\r\nRuby\\style2\\color = 7f00\r\nRuby\\style2\\eolfill = false\r\nRuby\\style2\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper = ffe4e1\r\nRuby\\style3\\color = 4000\r\nRuby\\style3\\eolfill = true\r\nRuby\\style3\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper = ffe4e1\r\nRuby\\style4\\color = 7f7f\r\nRuby\\style4\\eolfill = false\r\nRuby\\style4\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper = ffe4e1\r\nRuby\\style5\\color = 8000ff\r\nRuby\\style5\\eolfill = false\r\nRuby\\style5\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper = ffe4e1\r\nRuby\\style6\\color = 7f007f\r\nRuby\\style6\\eolfill = false\r\nRuby\\style6\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper = ffe4e1\r\nRuby\\style7\\color = 7f007f\r\nRuby\\style7\\eolfill = false\r\nRuby\\style7\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper = ffe4e1\r\nRuby\\style8\\color = ff\r\nRuby\\style8\\eolfill = false\r\nRuby\\style8\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper = ffe4e1\r\nRuby\\style9\\color = 7f7f\r\nRuby\\style9\\eolfill = false\r\nRuby\\style9\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper = ffe4e1\r\nRuby\\style10\\color = 0\r\nRuby\\style10\\eolfill = false\r\nRuby\\style10\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper = ffe4e1\r\nRuby\\style11\\color = 0\r\nRuby\\style11\\eolfill = false\r\nRuby\\style11\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper = ffe4e1\r\nRuby\\style12\\color = 0\r\nRuby\\style12\\eolfill = false\r\nRuby\\style12\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper = ffe4e1\r\nRuby\\style13\\color = 800080\r\nRuby\\style13\\eolfill = false\r\nRuby\\style13\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper = ffe4e1\r\nRuby\\style14\\color = c0a030\r\nRuby\\style14\\eolfill = false\r\nRuby\\style14\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper = ffe4e1\r\nRuby\\style15\\color = a000a0\r\nRuby\\style15\\eolfill = false\r\nRuby\\style15\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper = ffe4e1\r\nRuby\\style16\\color = b00080\r\nRuby\\style16\\eolfill = false\r\nRuby\\style16\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper = ffe4e1\r\nRuby\\style17\\color = 8000b0\r\nRuby\\style17\\eolfill = false\r\nRuby\\style17\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper = ffe4e1\r\nRuby\\style18\\color = ffff00\r\nRuby\\style18\\eolfill = false\r\nRuby\\style18\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper = ffe4e1\r\nRuby\\style19\\color = 600000\r\nRuby\\style19\\eolfill = true\r\nRuby\\style19\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper = ffe4e1\r\nRuby\\style20\\color = 0\r\nRuby\\style20\\eolfill = false\r\nRuby\\style20\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style20\\paper = ffe4e1\r\nRuby\\style21\\color = 7f007f\r\nRuby\\style21\\eolfill = true\r\nRuby\\style21\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style21\\paper = ffe4e1\r\nRuby\\style24\\color = 7f007f\r\nRuby\\style24\\eolfill = false\r\nRuby\\style24\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper = ffe4e1\r\nRuby\\style25\\color = 7f007f\r\nRuby\\style25\\eolfill = false\r\nRuby\\style25\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style25\\paper = ffe4e1\r\nRuby\\style26\\color = ffff00\r\nRuby\\style26\\eolfill = false\r\nRuby\\style26\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style26\\paper = ffe4e1\r\nRuby\\style27\\color = 0\r\nRuby\\style27\\eolfill = false\r\nRuby\\style27\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style27\\paper = ffe4e1\r\nRuby\\style28\\color = 0\r\nRuby\\style28\\eolfill = false\r\nRuby\\style28\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style28\\paper = ffe4e1\r\nRuby\\style29\\color = 8000ff\r\nRuby\\style29\\eolfill = false\r\nRuby\\style29\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style29\\paper = ffe4e1\r\nRuby\\style30\\color = 0\r\nRuby\\style30\\eolfill = false\r\nRuby\\style30\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style30\\paper = ffe4e1\r\nRuby\\style31\\color = 0\r\nRuby\\style31\\eolfill = false\r\nRuby\\style31\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style31\\paper = ffe4e1\r\nRuby\\style40\\color = 0\r\nRuby\\style40\\eolfill = false\r\nRuby\\style40\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style40\\paper = ffe4e1\r\nRuby\\defaultcolor = 0\r\nRuby\\defaultpaper = ffe4e1\r\nRuby\\defaultfont = Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/rust.ini",
    "content": "[Scintilla]\r\nRUST\\style0\\color = 0\r\nRUST\\style0\\eolfill = false\r\nRUST\\style0\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style0\\paper = ffe4e1\r\nRUST\\style1\\color = 0\r\nRUST\\style1\\eolfill = false\r\nRUST\\style1\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style1\\paper = ffe4e1\r\nRUST\\style2\\color = 0\r\nRUST\\style2\\eolfill = false\r\nRUST\\style2\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style2\\paper = ffe4e1\r\nRUST\\style3\\color = 0\r\nRUST\\style3\\eolfill = false\r\nRUST\\style3\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style3\\paper = ffe4e1\r\nRUST\\style4\\color = 0\r\nRUST\\style4\\eolfill = false\r\nRUST\\style4\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style4\\paper = ffe4e1\r\nRUST\\style5\\color = 0\r\nRUST\\style5\\eolfill = false\r\nRUST\\style5\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style5\\paper = ffe4e1\r\nRUST\\style6\\color = ff\r\nRUST\\style6\\eolfill = false\r\nRUST\\style6\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style6\\paper = ffe4e1\r\nRUST\\style7\\color = ff\r\nRUST\\style7\\eolfill = false\r\nRUST\\style7\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style7\\paper = ffe4e1\r\nRUST\\style8\\color = ff\r\nRUST\\style8\\eolfill = false\r\nRUST\\style8\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style8\\paper = ffe4e1\r\nRUST\\style9\\color = ff\r\nRUST\\style9\\eolfill = false\r\nRUST\\style9\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style9\\paper = ffe4e1\r\nRUST\\style10\\color = ff\r\nRUST\\style10\\eolfill = false\r\nRUST\\style10\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style10\\paper = ffe4e1\r\nRUST\\style11\\color = ff\r\nRUST\\style11\\eolfill = false\r\nRUST\\style11\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style11\\paper = ffe4e1\r\nRUST\\style12\\color = ff\r\nRUST\\style12\\eolfill = false\r\nRUST\\style12\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style12\\paper = ffe4e1\r\nRUST\\style13\\color = 0\r\nRUST\\style13\\eolfill = false\r\nRUST\\style13\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style13\\paper = ffe4e1\r\nRUST\\style14\\color = 0\r\nRUST\\style14\\eolfill = false\r\nRUST\\style14\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style14\\paper = ffe4e1\r\nRUST\\style15\\color = 0\r\nRUST\\style15\\eolfill = false\r\nRUST\\style15\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style15\\paper = ffe4e1\r\nRUST\\style16\\color = 0\r\nRUST\\style16\\eolfill = false\r\nRUST\\style16\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style16\\paper = ffe4e1\r\nRUST\\style17\\color = 0\r\nRUST\\style17\\eolfill = false\r\nRUST\\style17\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style17\\paper = ffe4e1\r\nRUST\\style18\\color = 0\r\nRUST\\style18\\eolfill = false\r\nRUST\\style18\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style18\\paper = ffe4e1\r\nRUST\\style19\\color = 0\r\nRUST\\style19\\eolfill = false\r\nRUST\\style19\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style19\\paper = ffe4e1\r\nRUST\\style20\\color = 0\r\nRUST\\style20\\eolfill = false\r\nRUST\\style20\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style20\\paper = ffe4e1\r\nRUST\\style21\\color = 0\r\nRUST\\style21\\eolfill = false\r\nRUST\\style21\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style21\\paper = ffe4e1\r\nRUST\\style22\\color = 0\r\nRUST\\style22\\eolfill = false\r\nRUST\\style22\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style22\\paper = ffe4e1\r\nRUST\\style23\\color = 0\r\nRUST\\style23\\eolfill = false\r\nRUST\\style23\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style23\\paper = ffe4e1\r\nRUST\\defaultcolor = 0\r\nRUST\\defaultpaper = ffe4e1\r\nRUST\\defaultfont = Courier New, 14, 0, 0, 0\r\nRUST\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/spice.ini",
    "content": "[Scintilla]\r\nSpice\\style0\\color = 808080\r\nSpice\\style0\\eolfill = false\r\nSpice\\style0\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style0\\paper = ffe4e1\r\nSpice\\style1\\color = 0\r\nSpice\\style1\\eolfill = false\r\nSpice\\style1\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style1\\paper = ffe4e1\r\nSpice\\style2\\color = 7f\r\nSpice\\style2\\eolfill = false\r\nSpice\\style2\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style2\\paper = ffe4e1\r\nSpice\\style3\\color = 7f\r\nSpice\\style3\\eolfill = false\r\nSpice\\style3\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style3\\paper = ffe4e1\r\nSpice\\style4\\color = 40e0\r\nSpice\\style4\\eolfill = false\r\nSpice\\style4\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style4\\paper = ffe4e1\r\nSpice\\style5\\color = 7f7f\r\nSpice\\style5\\eolfill = false\r\nSpice\\style5\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style5\\paper = ffe4e1\r\nSpice\\style6\\color = 0\r\nSpice\\style6\\eolfill = false\r\nSpice\\style6\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style6\\paper = ffe4e1\r\nSpice\\style7\\color = 7f007f\r\nSpice\\style7\\eolfill = false\r\nSpice\\style7\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style7\\paper = ffe4e1\r\nSpice\\style8\\color = 7f00\r\nSpice\\style8\\eolfill = false\r\nSpice\\style8\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style8\\paper = ffe4e1\r\nSpice\\defaultcolor = 0\r\nSpice\\defaultpaper = ffe4e1\r\nSpice\\defaultfont = Courier New, 14, 0, 0, 0\r\nSpice\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color = 808080\r\nSQL\\style0\\eolfill = false\r\nSQL\\style0\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper = ffe4e1\r\nSQL\\style1\\color = 7f00\r\nSQL\\style1\\eolfill = false\r\nSQL\\style1\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper = ffe4e1\r\nSQL\\style2\\color = 7f00\r\nSQL\\style2\\eolfill = false\r\nSQL\\style2\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper = ffe4e1\r\nSQL\\style3\\color = 7f7f7f\r\nSQL\\style3\\eolfill = false\r\nSQL\\style3\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper = ffe4e1\r\nSQL\\style4\\color = 7f7f\r\nSQL\\style4\\eolfill = false\r\nSQL\\style4\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper = ffe4e1\r\nSQL\\style5\\color = 8000ff\r\nSQL\\style5\\eolfill = false\r\nSQL\\style5\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper = ffe4e1\r\nSQL\\style6\\color = 7f007f\r\nSQL\\style6\\eolfill = false\r\nSQL\\style6\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper = ffe4e1\r\nSQL\\style7\\color = 7f007f\r\nSQL\\style7\\eolfill = false\r\nSQL\\style7\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper = ffe4e1\r\nSQL\\style8\\color = 7f7f00\r\nSQL\\style8\\eolfill = false\r\nSQL\\style8\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style8\\paper = ffe4e1\r\nSQL\\style9\\color = 7f00\r\nSQL\\style9\\eolfill = true\r\nSQL\\style9\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style9\\paper = ffe4e1\r\nSQL\\style10\\color = 0\r\nSQL\\style10\\eolfill = false\r\nSQL\\style10\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper = ffe4e1\r\nSQL\\style11\\color = 0\r\nSQL\\style11\\eolfill = false\r\nSQL\\style11\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style11\\paper = ffe4e1\r\nSQL\\style13\\color = 7f00\r\nSQL\\style13\\eolfill = false\r\nSQL\\style13\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style13\\paper = ffe4e1\r\nSQL\\style15\\color = 7f00\r\nSQL\\style15\\eolfill = false\r\nSQL\\style15\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style15\\paper = ffe4e1\r\nSQL\\style17\\color = 3060a0\r\nSQL\\style17\\eolfill = false\r\nSQL\\style17\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style17\\paper = ffe4e1\r\nSQL\\style18\\color = 804020\r\nSQL\\style18\\eolfill = false\r\nSQL\\style18\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style18\\paper = ffe4e1\r\nSQL\\style19\\color = 4b0082\r\nSQL\\style19\\eolfill = false\r\nSQL\\style19\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper = ffe4e1\r\nSQL\\style20\\color = b00040\r\nSQL\\style20\\eolfill = false\r\nSQL\\style20\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style20\\paper = ffe4e1\r\nSQL\\style21\\color = 8b0000\r\nSQL\\style21\\eolfill = false\r\nSQL\\style21\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style21\\paper = ffe4e1\r\nSQL\\style22\\color = 800080\r\nSQL\\style22\\eolfill = false\r\nSQL\\style22\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style22\\paper = ffe4e1\r\nSQL\\style23\\color = 0\r\nSQL\\style23\\eolfill = false\r\nSQL\\style23\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style23\\paper = ffe4e1\r\nSQL\\style24\\color = 0\r\nSQL\\style24\\eolfill = false\r\nSQL\\style24\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper = ffe4e1\r\nSQL\\defaultcolor = 0\r\nSQL\\defaultpaper = ffe4e1\r\nSQL\\defaultfont = Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color = 808080\r\nTCL\\style0\\eolfill = false\r\nTCL\\style0\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper = ffe4e1\r\nTCL\\style1\\color = 7f00\r\nTCL\\style1\\eolfill = false\r\nTCL\\style1\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style1\\paper = ffe4e1\r\nTCL\\style2\\color = 7f00\r\nTCL\\style2\\eolfill = false\r\nTCL\\style2\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style2\\paper = ffe4e1\r\nTCL\\style3\\color = 7f7f\r\nTCL\\style3\\eolfill = false\r\nTCL\\style3\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper = ffe4e1\r\nTCL\\style4\\color = 7f007f\r\nTCL\\style4\\eolfill = false\r\nTCL\\style4\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style4\\paper = ffe4e1\r\nTCL\\style5\\color = 7f007f\r\nTCL\\style5\\eolfill = true\r\nTCL\\style5\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper = ffe4e1\r\nTCL\\style6\\color = 0\r\nTCL\\style6\\eolfill = false\r\nTCL\\style6\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style6\\paper = ffe4e1\r\nTCL\\style7\\color = 8000ff\r\nTCL\\style7\\eolfill = false\r\nTCL\\style7\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper = ffe4e1\r\nTCL\\style8\\color = 7f7f00\r\nTCL\\style8\\eolfill = false\r\nTCL\\style8\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style8\\paper = ffe4e1\r\nTCL\\style9\\color = 7f7f00\r\nTCL\\style9\\eolfill = false\r\nTCL\\style9\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper = ffe4e1\r\nTCL\\style10\\color = 7f007f\r\nTCL\\style10\\eolfill = false\r\nTCL\\style10\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper = ffe4e1\r\nTCL\\style11\\color = 8000ff\r\nTCL\\style11\\eolfill = false\r\nTCL\\style11\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style11\\paper = ffe4e1\r\nTCL\\style12\\color = 8000ff\r\nTCL\\style12\\eolfill = false\r\nTCL\\style12\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style12\\paper = ffe4e1\r\nTCL\\style13\\color = 8000ff\r\nTCL\\style13\\eolfill = false\r\nTCL\\style13\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style13\\paper = ffe4e1\r\nTCL\\style14\\color = 8000ff\r\nTCL\\style14\\eolfill = false\r\nTCL\\style14\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style14\\paper = ffe4e1\r\nTCL\\style15\\color = 8000ff\r\nTCL\\style15\\eolfill = false\r\nTCL\\style15\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style15\\paper = ffe4e1\r\nTCL\\style16\\color = 8000ff\r\nTCL\\style16\\eolfill = false\r\nTCL\\style16\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style16\\paper = ffe4e1\r\nTCL\\style17\\color = 8000ff\r\nTCL\\style17\\eolfill = false\r\nTCL\\style17\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper = ffe4e1\r\nTCL\\style18\\color = 8000ff\r\nTCL\\style18\\eolfill = false\r\nTCL\\style18\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper = ffe4e1\r\nTCL\\style19\\color = 8000ff\r\nTCL\\style19\\eolfill = false\r\nTCL\\style19\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style19\\paper = ffe4e1\r\nTCL\\style20\\color = 7f00\r\nTCL\\style20\\eolfill = true\r\nTCL\\style20\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style20\\paper = ffe4e1\r\nTCL\\style21\\color = 0\r\nTCL\\style21\\eolfill = false\r\nTCL\\style21\\font = Courier New, 8, 0, 0, 0\r\nTCL\\style21\\paper = ffe4e1\r\nTCL\\properties\\foldcomments = false\r\nTCL\\defaultcolor = 0\r\nTCL\\defaultpaper = ffe4e1\r\nTCL\\defaultfont = Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color = 0\r\nTXT\\style0\\eolfill = false\r\nTXT\\style0\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper = ffe4e1\r\nTXT\\style1\\color = 0\r\nTXT\\style1\\eolfill = false\r\nTXT\\style1\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper = ffe4e1\r\nTXT\\defaultcolor = 0\r\nTXT\\defaultpaper = ffe4e1\r\nTXT\\defaultfont = Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/typescript.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = ffe4e1\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = ffe4e1\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = ffe4e1\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = ffe4e1\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = ffe4e1\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = ffe4e1\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = ffe4e1\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = ffe4e1\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = ffe4e1\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = ffe4e1\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = ffe4e1\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = ffe4e1\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = ffe4e1\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = ffe4e1\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = ffe4e1\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = ffe4e1\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = ffe4e1\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = ffe4e1\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = ffe4e1\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = ffe4e1\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = ffe4e1\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = ffe4e1\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = ffe4e1\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = ffe4e1\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = ffe4e1\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = ffe4e1\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = ffe4e1\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = ffe4e1\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = ffe4e1\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = ffe4e1\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = ffe4e1\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = ffe4e1\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = ffe4e1\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = ffe4e1\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = ffe4e1\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = ffe4e1\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = ffe4e1\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = ffe4e1\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = ffe4e1\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = ffe4e1\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = ffe4e1\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = ffe4e1\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = ffe4e1\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = ffe4e1\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = ffe4e1\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = ffe4e1\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = ffe4e1\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = ffe4e1\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = ffe4e1\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = ffe4e1\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = ffe4e1\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = ffe4e1\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = ffe4e1\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = ffe4e1\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = ffe4e1\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = ffe4e1\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = ffe4e1\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color = 0\r\nVB\\style0\\eolfill = false\r\nVB\\style0\\font = Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper = ffe4e1\r\nVB\\style1\\color = 0\r\nVB\\style1\\eolfill = false\r\nVB\\style1\\font = Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper = ffe4e1\r\nVB\\style2\\color = 7f7f\r\nVB\\style2\\eolfill = false\r\nVB\\style2\\font = Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper = ffe4e1\r\nVB\\style3\\color = ff\r\nVB\\style3\\eolfill = false\r\nVB\\style3\\font = Courier New, 14, 1, 0, 0\r\nVB\\style3\\paper = ffe4e1\r\nVB\\style4\\color = 7f007f\r\nVB\\style4\\eolfill = false\r\nVB\\style4\\font = Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper = ffe4e1\r\nVB\\style5\\color = 0\r\nVB\\style5\\eolfill = false\r\nVB\\style5\\font = Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper = ffe4e1\r\nVB\\style6\\color = ff0000\r\nVB\\style6\\eolfill = false\r\nVB\\style6\\font = Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper = ffe4e1\r\nVB\\style7\\color = 0\r\nVB\\style7\\eolfill = false\r\nVB\\style7\\font = Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper = ffe4e1\r\nVB\\style8\\color = 0\r\nVB\\style8\\eolfill = false\r\nVB\\style8\\font = Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper = ffe4e1\r\nVB\\style9\\color = 0\r\nVB\\style9\\eolfill = false\r\nVB\\style9\\font = Courier New, 14, 0, 0, 0\r\nVB\\style9\\paper = ffe4e1\r\nVB\\style10\\color = ff\r\nVB\\style10\\eolfill = false\r\nVB\\style10\\font = Courier New, 14, 1, 0, 0\r\nVB\\style10\\paper = ffe4e1\r\nVB\\style11\\color = ff\r\nVB\\style11\\eolfill = false\r\nVB\\style11\\font = Courier New, 14, 1, 0, 0\r\nVB\\style11\\paper = ffe4e1\r\nVB\\style12\\color = ff\r\nVB\\style12\\eolfill = false\r\nVB\\style12\\font = Courier New, 14, 1, 0, 0\r\nVB\\style12\\paper = ffe4e1\r\nVB\\style13\\color = 0\r\nVB\\style13\\eolfill = false\r\nVB\\style13\\font = Courier New, 14, 0, 0, 0\r\nVB\\style13\\paper = ffe4e1\r\nVB\\style14\\color = 0\r\nVB\\style14\\eolfill = false\r\nVB\\style14\\font = Courier New, 14, 0, 0, 0\r\nVB\\style14\\paper = ffe4e1\r\nVB\\style15\\color = 0\r\nVB\\style15\\eolfill = false\r\nVB\\style15\\font = Courier New, 14, 0, 0, 0\r\nVB\\style15\\paper = ffe4e1\r\nVB\\style16\\color = 0\r\nVB\\style16\\eolfill = false\r\nVB\\style16\\font = Courier New, 14, 0, 0, 0\r\nVB\\style16\\paper = ffe4e1\r\nVB\\style17\\color = 0\r\nVB\\style17\\eolfill = false\r\nVB\\style17\\font = Courier New, 14, 0, 0, 0\r\nVB\\style17\\paper = ffe4e1\r\nVB\\style18\\color = 0\r\nVB\\style18\\eolfill = false\r\nVB\\style18\\font = Courier New, 14, 0, 0, 0\r\nVB\\style18\\paper = ffe4e1\r\nVB\\style19\\color = 0\r\nVB\\style19\\eolfill = false\r\nVB\\style19\\font = Courier New, 14, 0, 0, 0\r\nVB\\style19\\paper = ffe4e1\r\nVB\\style20\\color = 0\r\nVB\\style20\\eolfill = false\r\nVB\\style20\\font = Courier New, 14, 0, 0, 0\r\nVB\\style20\\paper = ffe4e1\r\nVB\\style21\\color = 0\r\nVB\\style21\\eolfill = false\r\nVB\\style21\\font = Courier New, 14, 0, 0, 0\r\nVB\\style21\\paper = ffe4e1\r\nVB\\style22\\color = ff\r\nVB\\style22\\eolfill = false\r\nVB\\style22\\font = Courier New, 14, 1, 0, 0\r\nVB\\style22\\paper = ffe4e1\r\nVB\\style23\\color = 0\r\nVB\\style23\\eolfill = false\r\nVB\\style23\\font = Courier New, 14, 0, 0, 0\r\nVB\\style23\\paper = ffe4e1\r\nVB\\defaultcolor = 0\r\nVB\\defaultpaper = ffe4e1\r\nVB\\defaultfont = Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color = 808080\r\nVerilog\\style0\\eolfill = false\r\nVerilog\\style0\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper = ffe4e1\r\nVerilog\\style1\\color = 7f00\r\nVerilog\\style1\\eolfill = false\r\nVerilog\\style1\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper = ffe4e1\r\nVerilog\\style2\\color = 7f00\r\nVerilog\\style2\\eolfill = false\r\nVerilog\\style2\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper = ffe4e1\r\nVerilog\\style3\\color = 3f7f3f\r\nVerilog\\style3\\eolfill = true\r\nVerilog\\style3\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper = ffe4e1\r\nVerilog\\style4\\color = 7f7f\r\nVerilog\\style4\\eolfill = false\r\nVerilog\\style4\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper = ffe4e1\r\nVerilog\\style5\\color = 8000ff\r\nVerilog\\style5\\eolfill = false\r\nVerilog\\style5\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper = ffe4e1\r\nVerilog\\style6\\color = 7f007f\r\nVerilog\\style6\\eolfill = false\r\nVerilog\\style6\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper = ffe4e1\r\nVerilog\\style7\\color = 7f7f\r\nVerilog\\style7\\eolfill = false\r\nVerilog\\style7\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper = ffe4e1\r\nVerilog\\style8\\color = 804020\r\nVerilog\\style8\\eolfill = false\r\nVerilog\\style8\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style8\\paper = ffe4e1\r\nVerilog\\style9\\color = 7f7f00\r\nVerilog\\style9\\eolfill = false\r\nVerilog\\style9\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper = ffe4e1\r\nVerilog\\style10\\color = 7070\r\nVerilog\\style10\\eolfill = false\r\nVerilog\\style10\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper = ffe4e1\r\nVerilog\\style11\\color = 0\r\nVerilog\\style11\\eolfill = false\r\nVerilog\\style11\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper = ffe4e1\r\nVerilog\\style12\\color = 0\r\nVerilog\\style12\\eolfill = true\r\nVerilog\\style12\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper = ffe4e1\r\nVerilog\\style19\\color = 2a00ff\r\nVerilog\\style19\\eolfill = false\r\nVerilog\\style19\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper = ffe4e1\r\nVerilog\\style20\\color = 2a00ff\r\nVerilog\\style20\\eolfill = false\r\nVerilog\\style20\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style20\\paper = ffe4e1\r\nVerilog\\style21\\color = 7f0000\r\nVerilog\\style21\\eolfill = false\r\nVerilog\\style21\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style21\\paper = ffe4e1\r\nVerilog\\style22\\color = 8000ff\r\nVerilog\\style22\\eolfill = false\r\nVerilog\\style22\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style22\\paper = ffe4e1\r\nVerilog\\style23\\color = ff\r\nVerilog\\style23\\eolfill = false\r\nVerilog\\style23\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style23\\paper = ffe4e1\r\nVerilog\\style24\\color = 5032\r\nVerilog\\style24\\eolfill = false\r\nVerilog\\style24\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style24\\paper = ffe4e1\r\nVerilog\\style64\\color = 0\r\nVerilog\\style64\\eolfill = true\r\nVerilog\\style64\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style64\\paper = ffe4e1\r\nVerilog\\style65\\color = 808080\r\nVerilog\\style65\\eolfill = true\r\nVerilog\\style65\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style65\\paper = ffe4e1\r\nVerilog\\style66\\color = 808080\r\nVerilog\\style66\\eolfill = true\r\nVerilog\\style66\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style66\\paper = ffe4e1\r\nVerilog\\style67\\color = 808080\r\nVerilog\\style67\\eolfill = true\r\nVerilog\\style67\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style67\\paper = ffe4e1\r\nVerilog\\style68\\color = 808080\r\nVerilog\\style68\\eolfill = true\r\nVerilog\\style68\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style68\\paper = ffe4e1\r\nVerilog\\style69\\color = 808080\r\nVerilog\\style69\\eolfill = true\r\nVerilog\\style69\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style69\\paper = ffe4e1\r\nVerilog\\style70\\color = 808080\r\nVerilog\\style70\\eolfill = true\r\nVerilog\\style70\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style70\\paper = ffe4e1\r\nVerilog\\style71\\color = 808080\r\nVerilog\\style71\\eolfill = true\r\nVerilog\\style71\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style71\\paper = ffe4e1\r\nVerilog\\style72\\color = 808080\r\nVerilog\\style72\\eolfill = true\r\nVerilog\\style72\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style72\\paper = ffe4e1\r\nVerilog\\style73\\color = 808080\r\nVerilog\\style73\\eolfill = true\r\nVerilog\\style73\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style73\\paper = ffe4e1\r\nVerilog\\style74\\color = 808080\r\nVerilog\\style74\\eolfill = true\r\nVerilog\\style74\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style74\\paper = ffe4e1\r\nVerilog\\style75\\color = 808080\r\nVerilog\\style75\\eolfill = true\r\nVerilog\\style75\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style75\\paper = ffe4e1\r\nVerilog\\style76\\color = 808080\r\nVerilog\\style76\\eolfill = true\r\nVerilog\\style76\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style76\\paper = ffe4e1\r\nVerilog\\style83\\color = 808080\r\nVerilog\\style83\\eolfill = true\r\nVerilog\\style83\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style83\\paper = ffe4e1\r\nVerilog\\style84\\color = 808080\r\nVerilog\\style84\\eolfill = true\r\nVerilog\\style84\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style84\\paper = ffe4e1\r\nVerilog\\style85\\color = 808080\r\nVerilog\\style85\\eolfill = true\r\nVerilog\\style85\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style85\\paper = ffe4e1\r\nVerilog\\style86\\color = 808080\r\nVerilog\\style86\\eolfill = true\r\nVerilog\\style86\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style86\\paper = ffe4e1\r\nVerilog\\style87\\color = 808080\r\nVerilog\\style87\\eolfill = true\r\nVerilog\\style87\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style87\\paper = ffe4e1\r\nVerilog\\style88\\color = 808080\r\nVerilog\\style88\\eolfill = true\r\nVerilog\\style88\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style88\\paper = ffe4e1\r\nVerilog\\properties\\foldatelse = false\r\nVerilog\\properties\\foldcomments = false\r\nVerilog\\properties\\foldcompact = true\r\nVerilog\\properties\\foldpreprocessor = false\r\nVerilog\\properties\\foldverilogflags = false\r\nVerilog\\defaultcolor = 0\r\nVerilog\\defaultpaper = ffe4e1\r\nVerilog\\defaultfont = Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color = 800080\r\nVHDL\\style0\\eolfill = false\r\nVHDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper = ffe4e1\r\nVHDL\\style1\\color = 7f00\r\nVHDL\\style1\\eolfill = false\r\nVHDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper = ffe4e1\r\nVHDL\\style2\\color = 3f7f3f\r\nVHDL\\style2\\eolfill = false\r\nVHDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper = ffe4e1\r\nVHDL\\style3\\color = 7f7f\r\nVHDL\\style3\\eolfill = false\r\nVHDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper = ffe4e1\r\nVHDL\\style4\\color = 7f007f\r\nVHDL\\style4\\eolfill = false\r\nVHDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper = ffe4e1\r\nVHDL\\style5\\color = 0\r\nVHDL\\style5\\eolfill = false\r\nVHDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper = ffe4e1\r\nVHDL\\style6\\color = 0\r\nVHDL\\style6\\eolfill = false\r\nVHDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper = ffe4e1\r\nVHDL\\style7\\color = 0\r\nVHDL\\style7\\eolfill = true\r\nVHDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper = ffe4e1\r\nVHDL\\style8\\color = 8000ff\r\nVHDL\\style8\\eolfill = false\r\nVHDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper = ffe4e1\r\nVHDL\\style9\\color = 7f7f\r\nVHDL\\style9\\eolfill = false\r\nVHDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper = ffe4e1\r\nVHDL\\style10\\color = 804020\r\nVHDL\\style10\\eolfill = false\r\nVHDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper = ffe4e1\r\nVHDL\\style11\\color = 808020\r\nVHDL\\style11\\eolfill = false\r\nVHDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper = ffe4e1\r\nVHDL\\style12\\color = 208020\r\nVHDL\\style12\\eolfill = false\r\nVHDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper = ffe4e1\r\nVHDL\\style13\\color = 208080\r\nVHDL\\style13\\eolfill = false\r\nVHDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper = ffe4e1\r\nVHDL\\style14\\color = 804020\r\nVHDL\\style14\\eolfill = false\r\nVHDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper = ffe4e1\r\nVHDL\\style15\\color = 0\r\nVHDL\\style15\\eolfill = false\r\nVHDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style15\\paper = ffe4e1\r\nVHDL\\properties\\foldcomments = true\r\nVHDL\\properties\\foldcompact = true\r\nVHDL\\properties\\foldatelse = true\r\nVHDL\\properties\\foldatbegin = true\r\nVHDL\\properties\\foldatparenthesis = true\r\nVHDL\\defaultcolor = 0\r\nVHDL\\defaultpaper = ffe4e1\r\nVHDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color = 0\r\nXML\\style0\\eolfill = false\r\nXML\\style0\\font = Courier New, 13, 0, 0, 0\r\nXML\\style0\\paper = ffe4e1\r\nXML\\style1\\color = ff\r\nXML\\style1\\eolfill = false\r\nXML\\style1\\font = Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper = ffe4e1\r\nXML\\style2\\color = ff\r\nXML\\style2\\eolfill = false\r\nXML\\style2\\font = Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper = ffe4e1\r\nXML\\style3\\color = ff0000\r\nXML\\style3\\eolfill = false\r\nXML\\style3\\font = Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper = ffe4e1\r\nXML\\style4\\color = ff0000\r\nXML\\style4\\eolfill = false\r\nXML\\style4\\font = Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper = ffe4e1\r\nXML\\style5\\color = 7f7f\r\nXML\\style5\\eolfill = false\r\nXML\\style5\\font = Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper = ffe4e1\r\nXML\\style6\\color = 7f007f\r\nXML\\style6\\eolfill = false\r\nXML\\style6\\font = Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper = ffe4e1\r\nXML\\style7\\color = 7f007f\r\nXML\\style7\\eolfill = false\r\nXML\\style7\\font = Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper = ffe4e1\r\nXML\\style8\\color = 800080\r\nXML\\style8\\eolfill = false\r\nXML\\style8\\font = Courier New, 14, 0, 0, 0\r\nXML\\style8\\paper = ffe4e1\r\nXML\\style9\\color = 808000\r\nXML\\style9\\eolfill = false\r\nXML\\style9\\font = Courier New, 9, 0, 0, 0\r\nXML\\style9\\paper = ffe4e1\r\nXML\\style10\\color = 800080\r\nXML\\style10\\eolfill = false\r\nXML\\style10\\font = Courier New, 13, 0, 0, 0\r\nXML\\style10\\paper = ffe4e1\r\nXML\\style11\\color = ff\r\nXML\\style11\\eolfill = false\r\nXML\\style11\\font = Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper = ffe4e1\r\nXML\\style12\\color = 800080\r\nXML\\style12\\eolfill = false\r\nXML\\style12\\font = Courier New, 14, 1, 0, 0\r\nXML\\style12\\paper = ffe4e1\r\nXML\\style13\\color = 800080\r\nXML\\style13\\eolfill = false\r\nXML\\style13\\font = Courier New, 14, 1, 0, 0\r\nXML\\style13\\paper = ffe4e1\r\nXML\\style14\\color = ff\r\nXML\\style14\\eolfill = false\r\nXML\\style14\\font = Courier New, 14, 0, 0, 0\r\nXML\\style14\\paper = ffe4e1\r\nXML\\style15\\color = 0\r\nXML\\style15\\eolfill = false\r\nXML\\style15\\font = Courier New, 14, 0, 0, 0\r\nXML\\style15\\paper = ffe4e1\r\nXML\\style16\\color = 0\r\nXML\\style16\\eolfill = false\r\nXML\\style16\\font = Courier New, 14, 0, 0, 0\r\nXML\\style16\\paper = ffe4e1\r\nXML\\style17\\color = 800000\r\nXML\\style17\\eolfill = true\r\nXML\\style17\\font = Courier New, 13, 0, 0, 0\r\nXML\\style17\\paper = ffe4e1\r\nXML\\style18\\color = 800000\r\nXML\\style18\\eolfill = false\r\nXML\\style18\\font = Courier New, 14, 0, 0, 0\r\nXML\\style18\\paper = ffe4e1\r\nXML\\style19\\color = 608060\r\nXML\\style19\\eolfill = false\r\nXML\\style19\\font = Courier New, 14, 0, 0, 0\r\nXML\\style19\\paper = ffe4e1\r\nXML\\style20\\color = 0\r\nXML\\style20\\eolfill = false\r\nXML\\style20\\font = Courier New, 14, 0, 0, 0\r\nXML\\style20\\paper = ffe4e1\r\nXML\\style21\\color = ff\r\nXML\\style21\\eolfill = false\r\nXML\\style21\\font = Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper = ffe4e1\r\nXML\\style22\\color = ff\r\nXML\\style22\\eolfill = false\r\nXML\\style22\\font = Courier New, 14, 1, 0, 0\r\nXML\\style22\\paper = ffe4e1\r\nXML\\style23\\color = 6600\r\nXML\\style23\\eolfill = false\r\nXML\\style23\\font = Courier New, 14, 0, 0, 0\r\nXML\\style23\\paper = ffe4e1\r\nXML\\style24\\color = 800000\r\nXML\\style24\\eolfill = false\r\nXML\\style24\\font = Courier New, 14, 0, 0, 0\r\nXML\\style24\\paper = ffe4e1\r\nXML\\style25\\color = 993300\r\nXML\\style25\\eolfill = false\r\nXML\\style25\\font = Courier New, 14, 0, 0, 0\r\nXML\\style25\\paper = ffe4e1\r\nXML\\style26\\color = 800000\r\nXML\\style26\\eolfill = false\r\nXML\\style26\\font = Courier New, 14, 0, 0, 0\r\nXML\\style26\\paper = ffe4e1\r\nXML\\style27\\color = 3366ff\r\nXML\\style27\\eolfill = false\r\nXML\\style27\\font = Courier New, 14, 0, 0, 0\r\nXML\\style27\\paper = ffe4e1\r\nXML\\style29\\color = 808000\r\nXML\\style29\\eolfill = false\r\nXML\\style29\\font = Courier New, 14, 0, 0, 0\r\nXML\\style29\\paper = ffe4e1\r\nXML\\style30\\color = 0\r\nXML\\style30\\eolfill = false\r\nXML\\style30\\font = Courier New, 14, 0, 0, 0\r\nXML\\style30\\paper = ffe4e1\r\nXML\\style31\\color = 66\r\nXML\\style31\\eolfill = false\r\nXML\\style31\\font = Courier New, 14, 0, 0, 0\r\nXML\\style31\\paper = ffe4e1\r\nXML\\style40\\color = 7f7f00\r\nXML\\style40\\eolfill = false\r\nXML\\style40\\font = Courier New, 14, 0, 0, 0\r\nXML\\style40\\paper = ffe4e1\r\nXML\\style41\\color = 0\r\nXML\\style41\\eolfill = true\r\nXML\\style41\\font = Courier New, 14, 1, 0, 0\r\nXML\\style41\\paper = ffe4e1\r\nXML\\style42\\color = 7f00\r\nXML\\style42\\eolfill = true\r\nXML\\style42\\font = Courier New, 14, 0, 0, 0\r\nXML\\style42\\paper = ffe4e1\r\nXML\\style43\\color = 7f00\r\nXML\\style43\\eolfill = false\r\nXML\\style43\\font = Courier New, 14, 0, 0, 0\r\nXML\\style43\\paper = ffe4e1\r\nXML\\style44\\color = 3f703f\r\nXML\\style44\\eolfill = true\r\nXML\\style44\\font = Courier New, 14, 1, 0, 0\r\nXML\\style44\\paper = ffe4e1\r\nXML\\style45\\color = 7f7f\r\nXML\\style45\\eolfill = false\r\nXML\\style45\\font = Courier New, 14, 0, 0, 0\r\nXML\\style45\\paper = ffe4e1\r\nXML\\style46\\color = 0\r\nXML\\style46\\eolfill = false\r\nXML\\style46\\font = Courier New, 14, 0, 0, 0\r\nXML\\style46\\paper = ffe4e1\r\nXML\\style47\\color = 8000ff\r\nXML\\style47\\eolfill = false\r\nXML\\style47\\font = Courier New, 14, 1, 0, 0\r\nXML\\style47\\paper = ffe4e1\r\nXML\\style48\\color = 7f007f\r\nXML\\style48\\eolfill = false\r\nXML\\style48\\font = Courier New, 14, 0, 0, 0\r\nXML\\style48\\paper = ffe4e1\r\nXML\\style49\\color = 7f007f\r\nXML\\style49\\eolfill = false\r\nXML\\style49\\font = Courier New, 14, 0, 0, 0\r\nXML\\style49\\paper = ffe4e1\r\nXML\\style50\\color = 0\r\nXML\\style50\\eolfill = false\r\nXML\\style50\\font = Courier New, 14, 1, 0, 0\r\nXML\\style50\\paper = ffe4e1\r\nXML\\style51\\color = 0\r\nXML\\style51\\eolfill = true\r\nXML\\style51\\font = Courier New, 14, 0, 0, 0\r\nXML\\style51\\paper = ffe4e1\r\nXML\\style52\\color = 0\r\nXML\\style52\\eolfill = false\r\nXML\\style52\\font = Courier New, 14, 0, 0, 0\r\nXML\\style52\\paper = ffe4e1\r\nXML\\style55\\color = 7f7f00\r\nXML\\style55\\eolfill = false\r\nXML\\style55\\font = Courier New, 14, 0, 0, 0\r\nXML\\style55\\paper = ffe4e1\r\nXML\\style56\\color = 0\r\nXML\\style56\\eolfill = true\r\nXML\\style56\\font = Courier New, 14, 1, 0, 0\r\nXML\\style56\\paper = ffe4e1\r\nXML\\style57\\color = 7f00\r\nXML\\style57\\eolfill = true\r\nXML\\style57\\font = Courier New, 14, 0, 0, 0\r\nXML\\style57\\paper = ffe4e1\r\nXML\\style58\\color = 7f00\r\nXML\\style58\\eolfill = false\r\nXML\\style58\\font = Courier New, 14, 0, 0, 0\r\nXML\\style58\\paper = ffe4e1\r\nXML\\style59\\color = 7f7f7f\r\nXML\\style59\\eolfill = true\r\nXML\\style59\\font = Courier New, 14, 1, 0, 0\r\nXML\\style59\\paper = ffe4e1\r\nXML\\style60\\color = 7f7f\r\nXML\\style60\\eolfill = false\r\nXML\\style60\\font = Courier New, 14, 0, 0, 0\r\nXML\\style60\\paper = ffe4e1\r\nXML\\style61\\color = 0\r\nXML\\style61\\eolfill = false\r\nXML\\style61\\font = Courier New, 14, 0, 0, 0\r\nXML\\style61\\paper = ffe4e1\r\nXML\\style62\\color = 8000ff\r\nXML\\style62\\eolfill = false\r\nXML\\style62\\font = Courier New, 14, 1, 0, 0\r\nXML\\style62\\paper = ffe4e1\r\nXML\\style63\\color = 7f007f\r\nXML\\style63\\eolfill = false\r\nXML\\style63\\font = Courier New, 14, 0, 0, 0\r\nXML\\style63\\paper = ffe4e1\r\nXML\\style64\\color = 7f007f\r\nXML\\style64\\eolfill = false\r\nXML\\style64\\font = Courier New, 14, 0, 0, 0\r\nXML\\style64\\paper = ffe4e1\r\nXML\\style65\\color = 0\r\nXML\\style65\\eolfill = false\r\nXML\\style65\\font = Courier New, 14, 1, 0, 0\r\nXML\\style65\\paper = ffe4e1\r\nXML\\style66\\color = 0\r\nXML\\style66\\eolfill = true\r\nXML\\style66\\font = Courier New, 14, 0, 0, 0\r\nXML\\style66\\paper = ffe4e1\r\nXML\\style67\\color = 0\r\nXML\\style67\\eolfill = false\r\nXML\\style67\\font = Courier New, 14, 0, 0, 0\r\nXML\\style67\\paper = ffe4e1\r\nXML\\style70\\color = 0\r\nXML\\style70\\eolfill = false\r\nXML\\style70\\font = Courier New, 14, 0, 0, 0\r\nXML\\style70\\paper = ffe4e1\r\nXML\\style71\\color = 0\r\nXML\\style71\\eolfill = true\r\nXML\\style71\\font = Courier New, 14, 0, 0, 0\r\nXML\\style71\\paper = ffe4e1\r\nXML\\style72\\color = 8000\r\nXML\\style72\\eolfill = true\r\nXML\\style72\\font = Courier New, 14, 0, 0, 0\r\nXML\\style72\\paper = ffe4e1\r\nXML\\style73\\color = ff0000\r\nXML\\style73\\eolfill = true\r\nXML\\style73\\font = Courier New, 14, 0, 0, 0\r\nXML\\style73\\paper = ffe4e1\r\nXML\\style74\\color = ff\r\nXML\\style74\\eolfill = true\r\nXML\\style74\\font = Courier New, 14, 0, 0, 0\r\nXML\\style74\\paper = ffe4e1\r\nXML\\style75\\color = 800080\r\nXML\\style75\\eolfill = true\r\nXML\\style75\\font = Courier New, 14, 0, 0, 0\r\nXML\\style75\\paper = ffe4e1\r\nXML\\style76\\color = ff\r\nXML\\style76\\eolfill = true\r\nXML\\style76\\font = Courier New, 14, 0, 0, 0\r\nXML\\style76\\paper = ffe4e1\r\nXML\\style77\\color = ff\r\nXML\\style77\\eolfill = true\r\nXML\\style77\\font = Courier New, 14, 0, 0, 0\r\nXML\\style77\\paper = ffe4e1\r\nXML\\style80\\color = 0\r\nXML\\style80\\eolfill = false\r\nXML\\style80\\font = Courier New, 14, 0, 0, 0\r\nXML\\style80\\paper = ffe4e1\r\nXML\\style81\\color = 0\r\nXML\\style81\\eolfill = true\r\nXML\\style81\\font = Courier New, 14, 0, 0, 0\r\nXML\\style81\\paper = ffe4e1\r\nXML\\style82\\color = 8000\r\nXML\\style82\\eolfill = true\r\nXML\\style82\\font = Courier New, 14, 0, 0, 0\r\nXML\\style82\\paper = ffe4e1\r\nXML\\style83\\color = ff0000\r\nXML\\style83\\eolfill = true\r\nXML\\style83\\font = Courier New, 14, 0, 0, 0\r\nXML\\style83\\paper = ffe4e1\r\nXML\\style84\\color = ff\r\nXML\\style84\\eolfill = true\r\nXML\\style84\\font = Courier New, 14, 0, 0, 0\r\nXML\\style84\\paper = ffe4e1\r\nXML\\style85\\color = 800080\r\nXML\\style85\\eolfill = true\r\nXML\\style85\\font = Courier New, 14, 0, 0, 0\r\nXML\\style85\\paper = ffe4e1\r\nXML\\style86\\color = ff\r\nXML\\style86\\eolfill = true\r\nXML\\style86\\font = Courier New, 14, 0, 0, 0\r\nXML\\style86\\paper = ffe4e1\r\nXML\\style87\\color = ff\r\nXML\\style87\\eolfill = true\r\nXML\\style87\\font = Courier New, 14, 0, 0, 0\r\nXML\\style87\\paper = ffe4e1\r\nXML\\style90\\color = 808080\r\nXML\\style90\\eolfill = false\r\nXML\\style90\\font = Courier New, 14, 0, 0, 0\r\nXML\\style90\\paper = ffe4e1\r\nXML\\style91\\color = 808080\r\nXML\\style91\\eolfill = true\r\nXML\\style91\\font = Courier New, 14, 0, 0, 0\r\nXML\\style91\\paper = ffe4e1\r\nXML\\style92\\color = 7f00\r\nXML\\style92\\eolfill = true\r\nXML\\style92\\font = Courier New, 14, 0, 0, 0\r\nXML\\style92\\paper = ffe4e1\r\nXML\\style93\\color = 7f7f\r\nXML\\style93\\eolfill = true\r\nXML\\style93\\font = Courier New, 14, 0, 0, 0\r\nXML\\style93\\paper = ffe4e1\r\nXML\\style94\\color = 7f007f\r\nXML\\style94\\eolfill = true\r\nXML\\style94\\font = Courier New, 14, 0, 0, 0\r\nXML\\style94\\paper = ffe4e1\r\nXML\\style95\\color = 7f007f\r\nXML\\style95\\eolfill = true\r\nXML\\style95\\font = Courier New, 14, 0, 0, 0\r\nXML\\style95\\paper = ffe4e1\r\nXML\\style96\\color = 8000ff\r\nXML\\style96\\eolfill = true\r\nXML\\style96\\font = Courier New, 14, 1, 0, 0\r\nXML\\style96\\paper = ffe4e1\r\nXML\\style97\\color = 7f0000\r\nXML\\style97\\eolfill = true\r\nXML\\style97\\font = Courier New, 14, 0, 0, 0\r\nXML\\style97\\paper = ffe4e1\r\nXML\\style98\\color = 7f0000\r\nXML\\style98\\eolfill = true\r\nXML\\style98\\font = Courier New, 14, 0, 0, 0\r\nXML\\style98\\paper = ffe4e1\r\nXML\\style99\\color = ff\r\nXML\\style99\\eolfill = true\r\nXML\\style99\\font = Courier New, 14, 1, 0, 0\r\nXML\\style99\\paper = ffe4e1\r\nXML\\style100\\color = 7f7f\r\nXML\\style100\\eolfill = true\r\nXML\\style100\\font = Courier New, 14, 1, 0, 0\r\nXML\\style100\\paper = ffe4e1\r\nXML\\style101\\color = 0\r\nXML\\style101\\eolfill = true\r\nXML\\style101\\font = Courier New, 14, 1, 0, 0\r\nXML\\style101\\paper = ffe4e1\r\nXML\\style102\\color = 0\r\nXML\\style102\\eolfill = true\r\nXML\\style102\\font = Courier New, 14, 0, 0, 0\r\nXML\\style102\\paper = ffe4e1\r\nXML\\style105\\color = 808080\r\nXML\\style105\\eolfill = false\r\nXML\\style105\\font = Courier New, 14, 0, 0, 0\r\nXML\\style105\\paper = ffe4e1\r\nXML\\style106\\color = 808080\r\nXML\\style106\\eolfill = true\r\nXML\\style106\\font = Courier New, 14, 0, 0, 0\r\nXML\\style106\\paper = ffe4e1\r\nXML\\style107\\color = 7f00\r\nXML\\style107\\eolfill = true\r\nXML\\style107\\font = Courier New, 14, 0, 0, 0\r\nXML\\style107\\paper = ffe4e1\r\nXML\\style108\\color = 7f7f\r\nXML\\style108\\eolfill = true\r\nXML\\style108\\font = Courier New, 14, 0, 0, 0\r\nXML\\style108\\paper = ffe4e1\r\nXML\\style109\\color = 7f007f\r\nXML\\style109\\eolfill = true\r\nXML\\style109\\font = Courier New, 14, 0, 0, 0\r\nXML\\style109\\paper = ffe4e1\r\nXML\\style110\\color = 7f007f\r\nXML\\style110\\eolfill = true\r\nXML\\style110\\font = Courier New, 14, 0, 0, 0\r\nXML\\style110\\paper = ffe4e1\r\nXML\\style111\\color = 8000ff\r\nXML\\style111\\eolfill = true\r\nXML\\style111\\font = Courier New, 14, 1, 0, 0\r\nXML\\style111\\paper = ffe4e1\r\nXML\\style112\\color = 7f0000\r\nXML\\style112\\eolfill = true\r\nXML\\style112\\font = Courier New, 14, 0, 0, 0\r\nXML\\style112\\paper = ffe4e1\r\nXML\\style113\\color = 7f0000\r\nXML\\style113\\eolfill = true\r\nXML\\style113\\font = Courier New, 14, 0, 0, 0\r\nXML\\style113\\paper = ffe4e1\r\nXML\\style114\\color = ff\r\nXML\\style114\\eolfill = true\r\nXML\\style114\\font = Courier New, 14, 1, 0, 0\r\nXML\\style114\\paper = ffe4e1\r\nXML\\style115\\color = 7f7f\r\nXML\\style115\\eolfill = true\r\nXML\\style115\\font = Courier New, 14, 1, 0, 0\r\nXML\\style115\\paper = ffe4e1\r\nXML\\style116\\color = 0\r\nXML\\style116\\eolfill = true\r\nXML\\style116\\font = Courier New, 14, 1, 0, 0\r\nXML\\style116\\paper = ffe4e1\r\nXML\\style117\\color = 0\r\nXML\\style117\\eolfill = true\r\nXML\\style117\\font = Courier New, 14, 0, 0, 0\r\nXML\\style117\\paper = ffe4e1\r\nXML\\style118\\color = 33\r\nXML\\style118\\eolfill = true\r\nXML\\style118\\font = Courier New, 14, 0, 0, 0\r\nXML\\style118\\paper = ffe4e1\r\nXML\\style119\\color = 7f00\r\nXML\\style119\\eolfill = false\r\nXML\\style119\\font = Courier New, 14, 0, 0, 0\r\nXML\\style119\\paper = ffe4e1\r\nXML\\style120\\color = 9f00\r\nXML\\style120\\eolfill = false\r\nXML\\style120\\font = Courier New, 14, 0, 0, 0\r\nXML\\style120\\paper = ffe4e1\r\nXML\\style121\\color = 7f007f\r\nXML\\style121\\eolfill = false\r\nXML\\style121\\font = Courier New, 14, 0, 1, 0\r\nXML\\style121\\paper = ffe4e1\r\nXML\\style122\\color = cc9900\r\nXML\\style122\\eolfill = false\r\nXML\\style122\\font = Courier New, 14, 0, 0, 0\r\nXML\\style122\\paper = ffe4e1\r\nXML\\style123\\color = 8000ff\r\nXML\\style123\\eolfill = false\r\nXML\\style123\\font = Courier New, 14, 0, 1, 0\r\nXML\\style123\\paper = ffe4e1\r\nXML\\style124\\color = 999999\r\nXML\\style124\\eolfill = false\r\nXML\\style124\\font = Courier New, 14, 0, 0, 0\r\nXML\\style124\\paper = ffe4e1\r\nXML\\style125\\color = 666666\r\nXML\\style125\\eolfill = false\r\nXML\\style125\\font = Courier New, 14, 0, 1, 0\r\nXML\\style125\\paper = ffe4e1\r\nXML\\style126\\color = 8000ff\r\nXML\\style126\\eolfill = false\r\nXML\\style126\\font = Courier New, 14, 0, 1, 0\r\nXML\\style126\\paper = ffe4e1\r\nXML\\style127\\color = 0\r\nXML\\style127\\eolfill = false\r\nXML\\style127\\font = Courier New, 14, 0, 0, 0\r\nXML\\style127\\paper = ffe4e1\r\nXML\\properties\\foldcompact = true\r\nXML\\properties\\foldpreprocessor = true\r\nXML\\properties\\casesensitivetags = false\r\nXML\\properties\\foldscriptcomments = false\r\nXML\\properties\\foldscriptheredocs = false\r\nXML\\properties\\djangotemplates = false\r\nXML\\properties\\makotemplates = false\r\nXML\\properties\\scriptsstyled = true\r\nXML\\defaultcolor = 0\r\nXML\\defaultpaper = ffe4e1\r\nXML\\defaultfont = Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/misty rose/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color = 0\r\nYAML\\style0\\eolfill = false\r\nYAML\\style0\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style0\\paper = ffe4e1\r\nYAML\\style1\\color = 8800\r\nYAML\\style1\\eolfill = false\r\nYAML\\style1\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style1\\paper = ffe4e1\r\nYAML\\style2\\color = 88\r\nYAML\\style2\\eolfill = false\r\nYAML\\style2\\font = Courier New, 14, 1, 0, 0\r\nYAML\\style2\\paper = ffe4e1\r\nYAML\\style3\\color = 880088\r\nYAML\\style3\\eolfill = false\r\nYAML\\style3\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style3\\paper = ffe4e1\r\nYAML\\style4\\color = 880000\r\nYAML\\style4\\eolfill = false\r\nYAML\\style4\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style4\\paper = ffe4e1\r\nYAML\\style5\\color = 8888\r\nYAML\\style5\\eolfill = false\r\nYAML\\style5\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style5\\paper = ffe4e1\r\nYAML\\style6\\color = ffffff\r\nYAML\\style6\\eolfill = true\r\nYAML\\style6\\font = Courier New, 9, 1, 0, 0\r\nYAML\\style6\\paper = ffe4e1\r\nYAML\\style7\\color = 333366\r\nYAML\\style7\\eolfill = false\r\nYAML\\style7\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style7\\paper = ffe4e1\r\nYAML\\style8\\color = ffffff\r\nYAML\\style8\\eolfill = true\r\nYAML\\style8\\font = Courier New, 11, 1, 1, 0\r\nYAML\\style8\\paper = ffe4e1\r\nYAML\\style9\\color = 0\r\nYAML\\style9\\eolfill = false\r\nYAML\\style9\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style9\\paper = ffe4e1\r\nYAML\\properties\\foldcomments = false\r\nYAML\\defaultcolor = 0\r\nYAML\\defaultpaper = ffe4e1\r\nYAML\\defaultfont = Courier New, 14, 0, 0, 0\r\nYAML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/AllGlobal.ini",
    "content": "[Scintilla]\r\nGlobal\\style0\\color = 0\r\nGlobal\\style0\\eolfill = false\r\nGlobal\\style0\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style0\\paper = f6f3ea\r\nGlobal\\style1\\color = 0\r\nGlobal\\style1\\eolfill = false\r\nGlobal\\style1\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style1\\paper = f6f3ea\r\nGlobal\\style2\\color = c0c0c0\r\nGlobal\\style2\\eolfill = false\r\nGlobal\\style2\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style2\\paper = ffffff\r\nGlobal\\style3\\color = ff0000\r\nGlobal\\style3\\eolfill = false\r\nGlobal\\style3\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style3\\paper = ffffff\r\nGlobal\\style4\\color = 800000\r\nGlobal\\style4\\eolfill = false\r\nGlobal\\style4\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style4\\paper = ffffff\r\nGlobal\\style5\\color = 80c0\r\nGlobal\\style5\\eolfill = false\r\nGlobal\\style5\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style5\\paper = e8e8ff\r\nGlobal\\style6\\color = 0\r\nGlobal\\style6\\eolfill = false\r\nGlobal\\style6\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style6\\paper = c0c0c0\r\nGlobal\\style7\\color = 8000ff\r\nGlobal\\style7\\eolfill = false\r\nGlobal\\style7\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style7\\paper = 919994\r\nGlobal\\style8\\color = 80ffff\r\nGlobal\\style8\\eolfill = false\r\nGlobal\\style8\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style8\\paper = 112435\r\nGlobal\\style9\\color = 808080\r\nGlobal\\style9\\eolfill = false\r\nGlobal\\style9\\font = Courier New, 12, 0, 0, 0\r\nGlobal\\style9\\paper = f4f1e9\r\nGlobal\\style10\\color = eeeeec\r\nGlobal\\style10\\eolfill = false\r\nGlobal\\style10\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style10\\paper = f0f0e8\r\nGlobal\\style11\\color = 000000\r\nGlobal\\style11\\eolfill = false\r\nGlobal\\style11\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style11\\paper = f6f3ea\r\nGlobal\\style12\\color = 000000\r\nGlobal\\style12\\eolfill = false\r\nGlobal\\style12\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style12\\paper = f6f3ea\r\nGlobal\\style13\\color = f6f3ea\r\nGlobal\\style13\\eolfill = false\r\nGlobal\\style13\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style13\\paper = f4f1e9\r\nGlobal\\style14\\color = ffb56a\r\nGlobal\\style14\\eolfill = false\r\nGlobal\\style14\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style14\\paper = 80ff00\r\nGlobal\\style15\\color = ff00\r\nGlobal\\style15\\eolfill = false\r\nGlobal\\style15\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style15\\paper = ff00\r\nGlobal\\style16\\color = fcaf3e\r\nGlobal\\style16\\eolfill = false\r\nGlobal\\style16\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style16\\paper = ff0000\r\nGlobal\\style17\\color = 555753\r\nGlobal\\style17\\eolfill = false\r\nGlobal\\style17\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style17\\paper = ffff\r\nGlobal\\style18\\color = fcaf3e\r\nGlobal\\style18\\eolfill = false\r\nGlobal\\style18\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style18\\paper = ff8000\r\nGlobal\\style19\\color = faaa3c\r\nGlobal\\style19\\eolfill = false\r\nGlobal\\style19\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style19\\paper = ffff00\r\nGlobal\\style20\\color = ffcab0\r\nGlobal\\style20\\eolfill = false\r\nGlobal\\style20\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style20\\paper = 8000ff\r\nGlobal\\style21\\color = 0\r\nGlobal\\style21\\eolfill = false\r\nGlobal\\style21\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style21\\paper = 8000\r\nGlobal\\style22\\color = 808080\r\nGlobal\\style22\\eolfill = false\r\nGlobal\\style22\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style22\\paper = 80ff\r\nGlobal\\style23\\color = ffcab0\r\nGlobal\\style23\\eolfill = false\r\nGlobal\\style23\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style23\\paper = 8000ff\r\nGlobal\\style24\\color = ffcab0\r\nGlobal\\style24\\eolfill = false\r\nGlobal\\style24\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style24\\paper = ffff00\r\nGlobal\\style25\\color = ff\r\nGlobal\\style25\\eolfill = false\r\nGlobal\\style25\\font = Courier New, 14, 0, 0, 0\r\nGlobal\\style25\\paper = c0c0c0\r\nGlobal\\defaultcolor = 0\r\nGlobal\\defaultpaper = f6f3ea\r\nGlobal\\defaultfont = Courier New, 14, 0, 0, 0\r\nGlobal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/asp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = f6f3ea\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = f6f3ea\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = f6f3ea\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = f6f3ea\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = f6f3ea\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = f6f3ea\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = f6f3ea\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = f6f3ea\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = f6f3ea\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = f6f3ea\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = f6f3ea\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = f6f3ea\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = f6f3ea\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = f6f3ea\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = f6f3ea\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = f6f3ea\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = f6f3ea\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = f6f3ea\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = f6f3ea\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = f6f3ea\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = f6f3ea\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = f6f3ea\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = f6f3ea\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = f6f3ea\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = f6f3ea\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = f6f3ea\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = f6f3ea\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = f6f3ea\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = f6f3ea\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = f6f3ea\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = f6f3ea\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = f6f3ea\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = f6f3ea\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = f6f3ea\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = f6f3ea\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = f6f3ea\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = f6f3ea\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = f6f3ea\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = f6f3ea\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = f6f3ea\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = f6f3ea\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = f6f3ea\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = f6f3ea\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = f6f3ea\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = f6f3ea\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = f6f3ea\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = f6f3ea\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = f6f3ea\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = f6f3ea\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = f6f3ea\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = f6f3ea\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = f6f3ea\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = f6f3ea\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = f6f3ea\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = f6f3ea\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = f6f3ea\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = f6f3ea\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = f6f3ea\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = f6f3ea\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = f6f3ea\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = f6f3ea\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = f6f3ea\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = f6f3ea\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = f6f3ea\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = f6f3ea\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = f6f3ea\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = f6f3ea\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = f6f3ea\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = f6f3ea\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = f6f3ea\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = f6f3ea\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = f6f3ea\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = f6f3ea\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = f6f3ea\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = f6f3ea\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = f6f3ea\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = f6f3ea\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = f6f3ea\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = f6f3ea\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = f6f3ea\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = f6f3ea\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = f6f3ea\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = f6f3ea\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = f6f3ea\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = f6f3ea\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = f6f3ea\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = f6f3ea\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = f6f3ea\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = f6f3ea\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = f6f3ea\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = f6f3ea\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = f6f3ea\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = f6f3ea\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = f6f3ea\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = f6f3ea\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = f6f3ea\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = f6f3ea\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = f6f3ea\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = f6f3ea\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = f6f3ea\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = f6f3ea\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = f6f3ea\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = f6f3ea\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = f6f3ea\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = f6f3ea\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = f6f3ea\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = f6f3ea\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = f6f3ea\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = f6f3ea\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = f6f3ea\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/avs.ini",
    "content": "[Scintilla]\r\nAVS\\style0\\color = 0\r\nAVS\\style0\\eolfill = false\r\nAVS\\style0\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style0\\paper = f6f3ea\r\nAVS\\style1\\color = 7f00\r\nAVS\\style1\\eolfill = false\r\nAVS\\style1\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style1\\paper = f6f3ea\r\nAVS\\style2\\color = 7f00\r\nAVS\\style2\\eolfill = false\r\nAVS\\style2\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style2\\paper = f6f3ea\r\nAVS\\style3\\color = 7f00\r\nAVS\\style3\\eolfill = false\r\nAVS\\style3\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style3\\paper = f6f3ea\r\nAVS\\style4\\color = 7f7f\r\nAVS\\style4\\eolfill = false\r\nAVS\\style4\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style4\\paper = f6f3ea\r\nAVS\\style5\\color = 0\r\nAVS\\style5\\eolfill = false\r\nAVS\\style5\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style5\\paper = f6f3ea\r\nAVS\\style6\\color = 0\r\nAVS\\style6\\eolfill = false\r\nAVS\\style6\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style6\\paper = f6f3ea\r\nAVS\\style7\\color = 7f007f\r\nAVS\\style7\\eolfill = false\r\nAVS\\style7\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style7\\paper = f6f3ea\r\nAVS\\style8\\color = 7f007f\r\nAVS\\style8\\eolfill = false\r\nAVS\\style8\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style8\\paper = f6f3ea\r\nAVS\\style9\\color = 8000ff\r\nAVS\\style9\\eolfill = false\r\nAVS\\style9\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style9\\paper = f6f3ea\r\nAVS\\style10\\color = 8000ff\r\nAVS\\style10\\eolfill = false\r\nAVS\\style10\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style10\\paper = f6f3ea\r\nAVS\\style11\\color = 80c0\r\nAVS\\style11\\eolfill = false\r\nAVS\\style11\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style11\\paper = f6f3ea\r\nAVS\\style12\\color = 7f7f\r\nAVS\\style12\\eolfill = false\r\nAVS\\style12\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style12\\paper = f6f3ea\r\nAVS\\style13\\color = 8000ff\r\nAVS\\style13\\eolfill = false\r\nAVS\\style13\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style13\\paper = f6f3ea\r\nAVS\\style14\\color = 8000ff\r\nAVS\\style14\\eolfill = false\r\nAVS\\style14\\font = Courier New, 14, 0, 0, 0\r\nAVS\\style14\\paper = f6f3ea\r\nAVS\\properties\\foldcomments = false\r\nAVS\\properties\\foldcompact = true\r\nAVS\\defaultcolor = 0\r\nAVS\\defaultpaper = f6f3ea\r\nAVS\\defaultfont = Courier New, 14, 0, 0, 0\r\nAVS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/bash.ini",
    "content": "[Scintilla]\r\nBash\\style0\\color = 808080\r\nBash\\style0\\eolfill = false\r\nBash\\style0\\font = Courier New, 14, 0, 0, 0\r\nBash\\style0\\paper = f6f3ea\r\nBash\\style1\\color = ffff00\r\nBash\\style1\\eolfill = false\r\nBash\\style1\\font = Courier New, 14, 0, 0, 0\r\nBash\\style1\\paper = f6f3ea\r\nBash\\style2\\color = 7f00\r\nBash\\style2\\eolfill = false\r\nBash\\style2\\font = Courier New, 11, 0, 0, 0\r\nBash\\style2\\paper = f6f3ea\r\nBash\\style3\\color = 7f7f\r\nBash\\style3\\eolfill = false\r\nBash\\style3\\font = Courier New, 14, 0, 0, 0\r\nBash\\style3\\paper = f6f3ea\r\nBash\\style4\\color = 8000ff\r\nBash\\style4\\eolfill = false\r\nBash\\style4\\font = Courier New, 14, 0, 0, 0\r\nBash\\style4\\paper = f6f3ea\r\nBash\\style5\\color = 7f007f\r\nBash\\style5\\eolfill = false\r\nBash\\style5\\font = Courier New, 14, 0, 0, 0\r\nBash\\style5\\paper = f6f3ea\r\nBash\\style6\\color = 7f007f\r\nBash\\style6\\eolfill = false\r\nBash\\style6\\font = Courier New, 14, 0, 0, 0\r\nBash\\style6\\paper = f6f3ea\r\nBash\\style7\\color = 0\r\nBash\\style7\\eolfill = false\r\nBash\\style7\\font = Courier New, 14, 0, 0, 0\r\nBash\\style7\\paper = f6f3ea\r\nBash\\style8\\color = 0\r\nBash\\style8\\eolfill = false\r\nBash\\style8\\font = Courier New, 14, 0, 0, 0\r\nBash\\style8\\paper = f6f3ea\r\nBash\\style9\\color = 0\r\nBash\\style9\\eolfill = false\r\nBash\\style9\\font = Courier New, 14, 0, 0, 0\r\nBash\\style9\\paper = f6f3ea\r\nBash\\style10\\color = 0\r\nBash\\style10\\eolfill = false\r\nBash\\style10\\font = Courier New, 14, 0, 0, 0\r\nBash\\style10\\paper = f6f3ea\r\nBash\\style11\\color = ffff00\r\nBash\\style11\\eolfill = false\r\nBash\\style11\\font = Courier New, 14, 0, 0, 0\r\nBash\\style11\\paper = f6f3ea\r\nBash\\style12\\color = 0\r\nBash\\style12\\eolfill = false\r\nBash\\style12\\font = Courier New, 14, 0, 0, 0\r\nBash\\style12\\paper = f6f3ea\r\nBash\\style13\\color = 7f007f\r\nBash\\style13\\eolfill = true\r\nBash\\style13\\font = Courier New, 14, 0, 0, 0\r\nBash\\style13\\paper = f6f3ea\r\nBash\\properties\\foldcomments = false\r\nBash\\properties\\foldcompact = true\r\nBash\\defaultcolor = 0\r\nBash\\defaultpaper = f6f3ea\r\nBash\\defaultfont = Courier New, 14, 0, 0, 0\r\nBash\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/batch.ini",
    "content": "[Scintilla]\r\nBatch\\style0\\color = 0\r\nBatch\\style0\\eolfill = false\r\nBatch\\style0\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style0\\paper = f6f3ea\r\nBatch\\style1\\color = 7f00\r\nBatch\\style1\\eolfill = false\r\nBatch\\style1\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style1\\paper = f6f3ea\r\nBatch\\style2\\color = 8000ff\r\nBatch\\style2\\eolfill = false\r\nBatch\\style2\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style2\\paper = f6f3ea\r\nBatch\\style3\\color = 7f007f\r\nBatch\\style3\\eolfill = true\r\nBatch\\style3\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style3\\paper = f6f3ea\r\nBatch\\style4\\color = 7f7f00\r\nBatch\\style4\\eolfill = false\r\nBatch\\style4\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style4\\paper = f6f3ea\r\nBatch\\style5\\color = 8000ff\r\nBatch\\style5\\eolfill = false\r\nBatch\\style5\\font = Courier New, 14, 1, 0, 0\r\nBatch\\style5\\paper = f6f3ea\r\nBatch\\style6\\color = 800080\r\nBatch\\style6\\eolfill = false\r\nBatch\\style6\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style6\\paper = f6f3ea\r\nBatch\\style7\\color = 0\r\nBatch\\style7\\eolfill = false\r\nBatch\\style7\\font = Courier New, 14, 0, 0, 0\r\nBatch\\style7\\paper = f6f3ea\r\nBatch\\defaultcolor = 0\r\nBatch\\defaultpaper = f6f3ea\r\nBatch\\defaultfont = Courier New, 14, 0, 0, 0\r\nBatch\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/c.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = f6f3ea\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = f6f3ea\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = f6f3ea\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = f6f3ea\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = f6f3ea\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = f6f3ea\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = f6f3ea\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = f6f3ea\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = f6f3ea\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = f6f3ea\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = f6f3ea\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = f6f3ea\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = f6f3ea\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = f6f3ea\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = f6f3ea\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = f6f3ea\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = f6f3ea\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = f6f3ea\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = f6f3ea\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = f6f3ea\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = f6f3ea\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = f6f3ea\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = f6f3ea\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = f6f3ea\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = f6f3ea\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = f6f3ea\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = f6f3ea\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = f6f3ea\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = f6f3ea\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = f6f3ea\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = f6f3ea\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = f6f3ea\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = f6f3ea\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = f6f3ea\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = f6f3ea\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = f6f3ea\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = f6f3ea\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = f6f3ea\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = f6f3ea\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = f6f3ea\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = f6f3ea\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = f6f3ea\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = f6f3ea\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = f6f3ea\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = f6f3ea\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = f6f3ea\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = f6f3ea\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = f6f3ea\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = f6f3ea\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = f6f3ea\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = f6f3ea\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = f6f3ea\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = f6f3ea\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = f6f3ea\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = f6f3ea\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = f6f3ea\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = f6f3ea\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/cmake.ini",
    "content": "[Scintilla]\r\nCMake\\style0\\color = 0\r\nCMake\\style0\\eolfill = false\r\nCMake\\style0\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style0\\paper = f6f3ea\r\nCMake\\style1\\color = 7f00\r\nCMake\\style1\\eolfill = false\r\nCMake\\style1\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style1\\paper = f6f3ea\r\nCMake\\style2\\color = 7f007f\r\nCMake\\style2\\eolfill = false\r\nCMake\\style2\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style2\\paper = f6f3ea\r\nCMake\\style3\\color = 7f007f\r\nCMake\\style3\\eolfill = false\r\nCMake\\style3\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style3\\paper = f6f3ea\r\nCMake\\style4\\color = 7f007f\r\nCMake\\style4\\eolfill = false\r\nCMake\\style4\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style4\\paper = f6f3ea\r\nCMake\\style5\\color = 7f\r\nCMake\\style5\\eolfill = false\r\nCMake\\style5\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style5\\paper = f6f3ea\r\nCMake\\style6\\color = 800000\r\nCMake\\style6\\eolfill = false\r\nCMake\\style6\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style6\\paper = f6f3ea\r\nCMake\\style7\\color = cc3300\r\nCMake\\style7\\eolfill = false\r\nCMake\\style7\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style7\\paper = f6f3ea\r\nCMake\\style8\\color = 0\r\nCMake\\style8\\eolfill = false\r\nCMake\\style8\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style8\\paper = f6f3ea\r\nCMake\\style9\\color = 7f\r\nCMake\\style9\\eolfill = false\r\nCMake\\style9\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style9\\paper = f6f3ea\r\nCMake\\style10\\color = 7f\r\nCMake\\style10\\eolfill = false\r\nCMake\\style10\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style10\\paper = f6f3ea\r\nCMake\\style11\\color = 7f\r\nCMake\\style11\\eolfill = false\r\nCMake\\style11\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style11\\paper = f6f3ea\r\nCMake\\style12\\color = 7f\r\nCMake\\style12\\eolfill = false\r\nCMake\\style12\\font = Courier New, 14, 1, 0, 0\r\nCMake\\style12\\paper = f6f3ea\r\nCMake\\style13\\color = cc3300\r\nCMake\\style13\\eolfill = false\r\nCMake\\style13\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style13\\paper = f6f3ea\r\nCMake\\style14\\color = 7f7f\r\nCMake\\style14\\eolfill = false\r\nCMake\\style14\\font = Courier New, 14, 0, 0, 0\r\nCMake\\style14\\paper = f6f3ea\r\nCMake\\properties\\foldatelse = false\r\nCMake\\defaultcolor = 0\r\nCMake\\defaultpaper = f6f3ea\r\nCMake\\defaultfont = Courier New, 14, 0, 0, 0\r\nCMake\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/coffeescript.ini",
    "content": "[Scintilla]\r\nCoffeeScript\\style0\\color = 808080\r\nCoffeeScript\\style0\\eolfill = false\r\nCoffeeScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style0\\paper = f6f3ea\r\nCoffeeScript\\style1\\color = 7f00\r\nCoffeeScript\\style1\\eolfill = false\r\nCoffeeScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style1\\paper = f6f3ea\r\nCoffeeScript\\style2\\color = 7f00\r\nCoffeeScript\\style2\\eolfill = false\r\nCoffeeScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style2\\paper = f6f3ea\r\nCoffeeScript\\style3\\color = 3f703f\r\nCoffeeScript\\style3\\eolfill = false\r\nCoffeeScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style3\\paper = f6f3ea\r\nCoffeeScript\\style4\\color = 7f7f\r\nCoffeeScript\\style4\\eolfill = false\r\nCoffeeScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style4\\paper = f6f3ea\r\nCoffeeScript\\style5\\color = 8000ff\r\nCoffeeScript\\style5\\eolfill = false\r\nCoffeeScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style5\\paper = f6f3ea\r\nCoffeeScript\\style6\\color = 7f007f\r\nCoffeeScript\\style6\\eolfill = false\r\nCoffeeScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style6\\paper = f6f3ea\r\nCoffeeScript\\style7\\color = 7f007f\r\nCoffeeScript\\style7\\eolfill = false\r\nCoffeeScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style7\\paper = f6f3ea\r\nCoffeeScript\\style8\\color = 0\r\nCoffeeScript\\style8\\eolfill = false\r\nCoffeeScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style8\\paper = f6f3ea\r\nCoffeeScript\\style9\\color = 7f7f00\r\nCoffeeScript\\style9\\eolfill = false\r\nCoffeeScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style9\\paper = f6f3ea\r\nCoffeeScript\\style10\\color = 0\r\nCoffeeScript\\style10\\eolfill = false\r\nCoffeeScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style10\\paper = f6f3ea\r\nCoffeeScript\\style11\\color = 0\r\nCoffeeScript\\style11\\eolfill = false\r\nCoffeeScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style11\\paper = f6f3ea\r\nCoffeeScript\\style12\\color = 0\r\nCoffeeScript\\style12\\eolfill = true\r\nCoffeeScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style12\\paper = f6f3ea\r\nCoffeeScript\\style13\\color = 7f00\r\nCoffeeScript\\style13\\eolfill = true\r\nCoffeeScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style13\\paper = f6f3ea\r\nCoffeeScript\\style14\\color = 3f7f3f\r\nCoffeeScript\\style14\\eolfill = true\r\nCoffeeScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style14\\paper = f6f3ea\r\nCoffeeScript\\style15\\color = 3f703f\r\nCoffeeScript\\style15\\eolfill = false\r\nCoffeeScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style15\\paper = f6f3ea\r\nCoffeeScript\\style16\\color = 0\r\nCoffeeScript\\style16\\eolfill = false\r\nCoffeeScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style16\\paper = f6f3ea\r\nCoffeeScript\\style17\\color = 3060a0\r\nCoffeeScript\\style17\\eolfill = false\r\nCoffeeScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style17\\paper = f6f3ea\r\nCoffeeScript\\style18\\color = 804020\r\nCoffeeScript\\style18\\eolfill = false\r\nCoffeeScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style18\\paper = f6f3ea\r\nCoffeeScript\\style19\\color = 0\r\nCoffeeScript\\style19\\eolfill = false\r\nCoffeeScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style19\\paper = f6f3ea\r\nCoffeeScript\\style22\\color = 7f00\r\nCoffeeScript\\style22\\eolfill = false\r\nCoffeeScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style22\\paper = f6f3ea\r\nCoffeeScript\\style23\\color = 3f7f3f\r\nCoffeeScript\\style23\\eolfill = false\r\nCoffeeScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style23\\paper = f6f3ea\r\nCoffeeScript\\style24\\color = 7f00\r\nCoffeeScript\\style24\\eolfill = false\r\nCoffeeScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style24\\paper = f6f3ea\r\nCoffeeScript\\style25\\color = c06000\r\nCoffeeScript\\style25\\eolfill = false\r\nCoffeeScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\style25\\paper = f6f3ea\r\nCoffeeScript\\properties\\foldcomments = false\r\nCoffeeScript\\properties\\foldcompact = true\r\nCoffeeScript\\properties\\stylepreprocessor = false\r\nCoffeeScript\\properties\\dollars = true\r\nCoffeeScript\\defaultcolor = 0\r\nCoffeeScript\\defaultpaper = f6f3ea\r\nCoffeeScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nCoffeeScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/cpp.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = f6f3ea\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = f6f3ea\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = f6f3ea\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = f6f3ea\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = f6f3ea\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = f6f3ea\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = f6f3ea\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = f6f3ea\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = f6f3ea\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = f6f3ea\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = f6f3ea\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = f6f3ea\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = f6f3ea\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = f6f3ea\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = f6f3ea\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = f6f3ea\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = f6f3ea\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = f6f3ea\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = f6f3ea\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = f6f3ea\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = f6f3ea\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = f6f3ea\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = f6f3ea\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = f6f3ea\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = f6f3ea\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = f6f3ea\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = f6f3ea\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = f6f3ea\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = f6f3ea\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = f6f3ea\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = f6f3ea\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = f6f3ea\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = f6f3ea\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = f6f3ea\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = f6f3ea\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = f6f3ea\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = f6f3ea\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = f6f3ea\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = f6f3ea\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = f6f3ea\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = f6f3ea\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = f6f3ea\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = f6f3ea\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = f6f3ea\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = f6f3ea\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = f6f3ea\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = f6f3ea\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = f6f3ea\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = f6f3ea\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = f6f3ea\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = f6f3ea\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = f6f3ea\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = f6f3ea\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = f6f3ea\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = f6f3ea\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = f6f3ea\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = f6f3ea\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/csharp.ini",
    "content": "[Scintilla]\r\nC%23\\style0\\color = 808080\r\nC%23\\style0\\eolfill = false\r\nC%23\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style0\\paper = f6f3ea\r\nC%23\\style1\\color = 7f00\r\nC%23\\style1\\eolfill = false\r\nC%23\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style1\\paper = f6f3ea\r\nC%23\\style2\\color = 7f00\r\nC%23\\style2\\eolfill = false\r\nC%23\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style2\\paper = f6f3ea\r\nC%23\\style3\\color = 3f703f\r\nC%23\\style3\\eolfill = false\r\nC%23\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style3\\paper = f6f3ea\r\nC%23\\style4\\color = 7f7f\r\nC%23\\style4\\eolfill = false\r\nC%23\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style4\\paper = f6f3ea\r\nC%23\\style5\\color = 8000ff\r\nC%23\\style5\\eolfill = false\r\nC%23\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style5\\paper = f6f3ea\r\nC%23\\style6\\color = 7f007f\r\nC%23\\style6\\eolfill = false\r\nC%23\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style6\\paper = f6f3ea\r\nC%23\\style7\\color = 7f007f\r\nC%23\\style7\\eolfill = false\r\nC%23\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style7\\paper = f6f3ea\r\nC%23\\style8\\color = 0\r\nC%23\\style8\\eolfill = false\r\nC%23\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style8\\paper = f6f3ea\r\nC%23\\style9\\color = 7f7f00\r\nC%23\\style9\\eolfill = false\r\nC%23\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style9\\paper = f6f3ea\r\nC%23\\style10\\color = 0\r\nC%23\\style10\\eolfill = false\r\nC%23\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style10\\paper = f6f3ea\r\nC%23\\style11\\color = 0\r\nC%23\\style11\\eolfill = false\r\nC%23\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style11\\paper = f6f3ea\r\nC%23\\style12\\color = 0\r\nC%23\\style12\\eolfill = true\r\nC%23\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style12\\paper = f6f3ea\r\nC%23\\style13\\color = 7f00\r\nC%23\\style13\\eolfill = true\r\nC%23\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style13\\paper = f6f3ea\r\nC%23\\style14\\color = 3f7f3f\r\nC%23\\style14\\eolfill = true\r\nC%23\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style14\\paper = f6f3ea\r\nC%23\\style15\\color = 3f703f\r\nC%23\\style15\\eolfill = false\r\nC%23\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style15\\paper = f6f3ea\r\nC%23\\style16\\color = 0\r\nC%23\\style16\\eolfill = false\r\nC%23\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style16\\paper = f6f3ea\r\nC%23\\style17\\color = 3060a0\r\nC%23\\style17\\eolfill = false\r\nC%23\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style17\\paper = f6f3ea\r\nC%23\\style18\\color = 804020\r\nC%23\\style18\\eolfill = false\r\nC%23\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style18\\paper = f6f3ea\r\nC%23\\style19\\color = 0\r\nC%23\\style19\\eolfill = false\r\nC%23\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style19\\paper = f6f3ea\r\nC%23\\style20\\color = 7f007f\r\nC%23\\style20\\eolfill = false\r\nC%23\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style20\\paper = f6f3ea\r\nC%23\\style21\\color = 7f00\r\nC%23\\style21\\eolfill = true\r\nC%23\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style21\\paper = f6f3ea\r\nC%23\\style22\\color = 7f00\r\nC%23\\style22\\eolfill = true\r\nC%23\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style22\\paper = f6f3ea\r\nC%23\\style23\\color = 659900\r\nC%23\\style23\\eolfill = false\r\nC%23\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style23\\paper = f6f3ea\r\nC%23\\style24\\color = 3f703f\r\nC%23\\style24\\eolfill = false\r\nC%23\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style24\\paper = f6f3ea\r\nC%23\\style25\\color = c06000\r\nC%23\\style25\\eolfill = false\r\nC%23\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style25\\paper = f6f3ea\r\nC%23\\style26\\color = be07ff\r\nC%23\\style26\\eolfill = false\r\nC%23\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style26\\paper = f6f3ea\r\nC%23\\style27\\color = 0\r\nC%23\\style27\\eolfill = false\r\nC%23\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style27\\paper = f6f3ea\r\nC%23\\style64\\color = c0c0c0\r\nC%23\\style64\\eolfill = false\r\nC%23\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style64\\paper = f6f3ea\r\nC%23\\style65\\color = 90b090\r\nC%23\\style65\\eolfill = false\r\nC%23\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style65\\paper = f6f3ea\r\nC%23\\style66\\color = 90b090\r\nC%23\\style66\\eolfill = false\r\nC%23\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style66\\paper = f6f3ea\r\nC%23\\style67\\color = d0d0d0\r\nC%23\\style67\\eolfill = false\r\nC%23\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style67\\paper = f6f3ea\r\nC%23\\style68\\color = 90b090\r\nC%23\\style68\\eolfill = false\r\nC%23\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style68\\paper = f6f3ea\r\nC%23\\style69\\color = 9090b0\r\nC%23\\style69\\eolfill = false\r\nC%23\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style69\\paper = f6f3ea\r\nC%23\\style70\\color = b090b0\r\nC%23\\style70\\eolfill = false\r\nC%23\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style70\\paper = f6f3ea\r\nC%23\\style71\\color = b090b0\r\nC%23\\style71\\eolfill = false\r\nC%23\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style71\\paper = f6f3ea\r\nC%23\\style72\\color = c0c0c0\r\nC%23\\style72\\eolfill = false\r\nC%23\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style72\\paper = f6f3ea\r\nC%23\\style73\\color = b0b090\r\nC%23\\style73\\eolfill = false\r\nC%23\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style73\\paper = f6f3ea\r\nC%23\\style74\\color = b0b0b0\r\nC%23\\style74\\eolfill = false\r\nC%23\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style74\\paper = f6f3ea\r\nC%23\\style75\\color = b0b0b0\r\nC%23\\style75\\eolfill = false\r\nC%23\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style75\\paper = f6f3ea\r\nC%23\\style76\\color = 0\r\nC%23\\style76\\eolfill = true\r\nC%23\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style76\\paper = f6f3ea\r\nC%23\\style77\\color = 90b090\r\nC%23\\style77\\eolfill = true\r\nC%23\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style77\\paper = f6f3ea\r\nC%23\\style78\\color = 7faf7f\r\nC%23\\style78\\eolfill = true\r\nC%23\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style78\\paper = f6f3ea\r\nC%23\\style79\\color = c0c0c0\r\nC%23\\style79\\eolfill = false\r\nC%23\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style79\\paper = f6f3ea\r\nC%23\\style80\\color = c0c0c0\r\nC%23\\style80\\eolfill = false\r\nC%23\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style80\\paper = f6f3ea\r\nC%23\\style81\\color = c0c0c0\r\nC%23\\style81\\eolfill = false\r\nC%23\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style81\\paper = f6f3ea\r\nC%23\\style82\\color = c0c0c0\r\nC%23\\style82\\eolfill = false\r\nC%23\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style82\\paper = f6f3ea\r\nC%23\\style83\\color = b0b0b0\r\nC%23\\style83\\eolfill = false\r\nC%23\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style83\\paper = f6f3ea\r\nC%23\\style84\\color = b090b0\r\nC%23\\style84\\eolfill = false\r\nC%23\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style84\\paper = f6f3ea\r\nC%23\\style85\\color = 90b090\r\nC%23\\style85\\eolfill = true\r\nC%23\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style85\\paper = f6f3ea\r\nC%23\\style86\\color = 90b090\r\nC%23\\style86\\eolfill = true\r\nC%23\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style86\\paper = f6f3ea\r\nC%23\\style87\\color = a0c090\r\nC%23\\style87\\eolfill = false\r\nC%23\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style87\\paper = f6f3ea\r\nC%23\\style88\\color = c0c0c0\r\nC%23\\style88\\eolfill = false\r\nC%23\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style88\\paper = f6f3ea\r\nC%23\\style89\\color = d7a090\r\nC%23\\style89\\eolfill = false\r\nC%23\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style89\\paper = f6f3ea\r\nC%23\\style90\\color = c3a1cf\r\nC%23\\style90\\eolfill = false\r\nC%23\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style90\\paper = f6f3ea\r\nC%23\\style91\\color = 0\r\nC%23\\style91\\eolfill = false\r\nC%23\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%23\\style91\\paper = f6f3ea\r\nC%23\\properties\\foldatelse = false\r\nC%23\\properties\\foldcomments = false\r\nC%23\\properties\\foldcompact = true\r\nC%23\\properties\\foldpreprocessor = true\r\nC%23\\properties\\stylepreprocessor = false\r\nC%23\\properties\\dollars = true\r\nC%23\\properties\\highlighttriple = false\r\nC%23\\properties\\highlighthash = false\r\nC%23\\properties\\highlightback = false\r\nC%23\\properties\\highlightescape = false\r\nC%23\\properties\\verbatimstringescape = false\r\nC%23\\defaultcolor = 0\r\nC%23\\defaultpaper = f6f3ea\r\nC%23\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%23\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/css.ini",
    "content": "[Scintilla]\r\nCSS\\style0\\color = ff0080\r\nCSS\\style0\\eolfill = false\r\nCSS\\style0\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style0\\paper = f6f3ea\r\nCSS\\style1\\color = 7f\r\nCSS\\style1\\eolfill = false\r\nCSS\\style1\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style1\\paper = f6f3ea\r\nCSS\\style2\\color = 0\r\nCSS\\style2\\eolfill = false\r\nCSS\\style2\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style2\\paper = f6f3ea\r\nCSS\\style3\\color = 800000\r\nCSS\\style3\\eolfill = false\r\nCSS\\style3\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style3\\paper = f6f3ea\r\nCSS\\style4\\color = ff0000\r\nCSS\\style4\\eolfill = false\r\nCSS\\style4\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style4\\paper = f6f3ea\r\nCSS\\style5\\color = 0\r\nCSS\\style5\\eolfill = false\r\nCSS\\style5\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style5\\paper = f6f3ea\r\nCSS\\style6\\color = 40e0\r\nCSS\\style6\\eolfill = false\r\nCSS\\style6\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style6\\paper = f6f3ea\r\nCSS\\style7\\color = ff0000\r\nCSS\\style7\\eolfill = false\r\nCSS\\style7\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style7\\paper = f6f3ea\r\nCSS\\style8\\color = 7f007f\r\nCSS\\style8\\eolfill = false\r\nCSS\\style8\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style8\\paper = f6f3ea\r\nCSS\\style9\\color = 7f00\r\nCSS\\style9\\eolfill = false\r\nCSS\\style9\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style9\\paper = f6f3ea\r\nCSS\\style10\\color = 7f7f\r\nCSS\\style10\\eolfill = false\r\nCSS\\style10\\font = Courier New, 14, 0, 1, 0\r\nCSS\\style10\\paper = f6f3ea\r\nCSS\\style11\\color = ff8000\r\nCSS\\style11\\eolfill = false\r\nCSS\\style11\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style11\\paper = f6f3ea\r\nCSS\\style12\\color = 7f7f00\r\nCSS\\style12\\eolfill = false\r\nCSS\\style12\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style12\\paper = f6f3ea\r\nCSS\\style13\\color = 7f007f\r\nCSS\\style13\\eolfill = false\r\nCSS\\style13\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style13\\paper = f6f3ea\r\nCSS\\style14\\color = 7f007f\r\nCSS\\style14\\eolfill = false\r\nCSS\\style14\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style14\\paper = f6f3ea\r\nCSS\\style15\\color = a0e0\r\nCSS\\style15\\eolfill = false\r\nCSS\\style15\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style15\\paper = f6f3ea\r\nCSS\\style16\\color = 800000\r\nCSS\\style16\\eolfill = false\r\nCSS\\style16\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style16\\paper = f6f3ea\r\nCSS\\style17\\color = 0\r\nCSS\\style17\\eolfill = false\r\nCSS\\style17\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style17\\paper = f6f3ea\r\nCSS\\style18\\color = 0\r\nCSS\\style18\\eolfill = false\r\nCSS\\style18\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style18\\paper = f6f3ea\r\nCSS\\style19\\color = 0\r\nCSS\\style19\\eolfill = false\r\nCSS\\style19\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style19\\paper = f6f3ea\r\nCSS\\style20\\color = 0\r\nCSS\\style20\\eolfill = false\r\nCSS\\style20\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style20\\paper = f6f3ea\r\nCSS\\style21\\color = 0\r\nCSS\\style21\\eolfill = false\r\nCSS\\style21\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style21\\paper = f6f3ea\r\nCSS\\style22\\color = 7f7f00\r\nCSS\\style22\\eolfill = false\r\nCSS\\style22\\font = Courier New, 14, 1, 0, 0\r\nCSS\\style22\\paper = f6f3ea\r\nCSS\\style23\\color = 0\r\nCSS\\style23\\eolfill = false\r\nCSS\\style23\\font = Courier New, 14, 0, 0, 0\r\nCSS\\style23\\paper = f6f3ea\r\nCSS\\properties\\foldcomments = false\r\nCSS\\properties\\foldcompact = true\r\nCSS\\properties\\hsslanguage = false\r\nCSS\\properties\\lesslanguage = false\r\nCSS\\properties\\scsslanguage = false\r\nCSS\\defaultcolor = 0\r\nCSS\\defaultpaper = f6f3ea\r\nCSS\\defaultfont = Courier New, 14, 0, 0, 0\r\nCSS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/diff.ini",
    "content": "[Scintilla]\r\nDiff\\style0\\color = 0\r\nDiff\\style0\\eolfill = false\r\nDiff\\style0\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style0\\paper = f6f3ea\r\nDiff\\style1\\color = 7f00\r\nDiff\\style1\\eolfill = false\r\nDiff\\style1\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style1\\paper = f6f3ea\r\nDiff\\style2\\color = 7f7f00\r\nDiff\\style2\\eolfill = false\r\nDiff\\style2\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style2\\paper = f6f3ea\r\nDiff\\style3\\color = 7f0000\r\nDiff\\style3\\eolfill = false\r\nDiff\\style3\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style3\\paper = f6f3ea\r\nDiff\\style4\\color = 7f007f\r\nDiff\\style4\\eolfill = false\r\nDiff\\style4\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style4\\paper = f6f3ea\r\nDiff\\style5\\color = 7f7f\r\nDiff\\style5\\eolfill = false\r\nDiff\\style5\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style5\\paper = f6f3ea\r\nDiff\\style6\\color = 7f\r\nDiff\\style6\\eolfill = false\r\nDiff\\style6\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style6\\paper = f6f3ea\r\nDiff\\style7\\color = 7f7f7f\r\nDiff\\style7\\eolfill = false\r\nDiff\\style7\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style7\\paper = f6f3ea\r\nDiff\\style8\\color = 7f\r\nDiff\\style8\\eolfill = false\r\nDiff\\style8\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style8\\paper = f6f3ea\r\nDiff\\style9\\color = 7f\r\nDiff\\style9\\eolfill = false\r\nDiff\\style9\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style9\\paper = f6f3ea\r\nDiff\\style10\\color = 7f7f\r\nDiff\\style10\\eolfill = false\r\nDiff\\style10\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style10\\paper = f6f3ea\r\nDiff\\style11\\color = 7f7f\r\nDiff\\style11\\eolfill = false\r\nDiff\\style11\\font = Courier New, 14, 0, 0, 0\r\nDiff\\style11\\paper = f6f3ea\r\nDiff\\defaultcolor = 0\r\nDiff\\defaultpaper = f6f3ea\r\nDiff\\defaultfont = Courier New, 14, 0, 0, 0\r\nDiff\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/flash.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = f6f3ea\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = f6f3ea\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = f6f3ea\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = f6f3ea\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = f6f3ea\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = f6f3ea\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = f6f3ea\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = f6f3ea\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = f6f3ea\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = f6f3ea\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = f6f3ea\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = f6f3ea\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = f6f3ea\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = f6f3ea\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = f6f3ea\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = f6f3ea\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = f6f3ea\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = f6f3ea\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = f6f3ea\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = f6f3ea\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = f6f3ea\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = f6f3ea\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = f6f3ea\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = f6f3ea\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = f6f3ea\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = f6f3ea\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = f6f3ea\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = f6f3ea\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = f6f3ea\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = f6f3ea\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = f6f3ea\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = f6f3ea\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = f6f3ea\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = f6f3ea\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = f6f3ea\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = f6f3ea\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = f6f3ea\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = f6f3ea\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = f6f3ea\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = f6f3ea\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = f6f3ea\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = f6f3ea\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = f6f3ea\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = f6f3ea\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = f6f3ea\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = f6f3ea\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = f6f3ea\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = f6f3ea\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = f6f3ea\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = f6f3ea\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = f6f3ea\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = f6f3ea\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = f6f3ea\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = f6f3ea\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = f6f3ea\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = f6f3ea\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = f6f3ea\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/fortran.ini",
    "content": "[Scintilla]\r\nFortran\\style0\\color = 808080\r\nFortran\\style0\\eolfill = false\r\nFortran\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style0\\paper = f6f3ea\r\nFortran\\style1\\color = 7f00\r\nFortran\\style1\\eolfill = false\r\nFortran\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style1\\paper = f6f3ea\r\nFortran\\style2\\color = 7f7f\r\nFortran\\style2\\eolfill = false\r\nFortran\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style2\\paper = f6f3ea\r\nFortran\\style3\\color = 7f007f\r\nFortran\\style3\\eolfill = false\r\nFortran\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style3\\paper = f6f3ea\r\nFortran\\style4\\color = 7f007f\r\nFortran\\style4\\eolfill = false\r\nFortran\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style4\\paper = f6f3ea\r\nFortran\\style5\\color = 0\r\nFortran\\style5\\eolfill = true\r\nFortran\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style5\\paper = f6f3ea\r\nFortran\\style6\\color = 0\r\nFortran\\style6\\eolfill = false\r\nFortran\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style6\\paper = f6f3ea\r\nFortran\\style7\\color = 0\r\nFortran\\style7\\eolfill = false\r\nFortran\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style7\\paper = f6f3ea\r\nFortran\\style8\\color = 8000ff\r\nFortran\\style8\\eolfill = false\r\nFortran\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style8\\paper = f6f3ea\r\nFortran\\style9\\color = b00040\r\nFortran\\style9\\eolfill = false\r\nFortran\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style9\\paper = f6f3ea\r\nFortran\\style10\\color = b04080\r\nFortran\\style10\\eolfill = false\r\nFortran\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style10\\paper = f6f3ea\r\nFortran\\style11\\color = 7f7f00\r\nFortran\\style11\\eolfill = false\r\nFortran\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style11\\paper = f6f3ea\r\nFortran\\style12\\color = 0\r\nFortran\\style12\\eolfill = false\r\nFortran\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran\\style12\\paper = f6f3ea\r\nFortran\\style13\\color = e0c0e0\r\nFortran\\style13\\eolfill = false\r\nFortran\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style13\\paper = f6f3ea\r\nFortran\\style14\\color = 0\r\nFortran\\style14\\eolfill = false\r\nFortran\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran\\style14\\paper = f6f3ea\r\nFortran\\properties\\foldcompact = true\r\nFortran\\defaultcolor = 0\r\nFortran\\defaultpaper = f6f3ea\r\nFortran\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/fortran77.ini",
    "content": "[Scintilla]\r\nFortran77\\style0\\color = 808080\r\nFortran77\\style0\\eolfill = false\r\nFortran77\\style0\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style0\\paper = f6f3ea\r\nFortran77\\style1\\color = 7f00\r\nFortran77\\style1\\eolfill = false\r\nFortran77\\style1\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style1\\paper = f6f3ea\r\nFortran77\\style2\\color = 7f7f\r\nFortran77\\style2\\eolfill = false\r\nFortran77\\style2\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style2\\paper = f6f3ea\r\nFortran77\\style3\\color = 7f007f\r\nFortran77\\style3\\eolfill = false\r\nFortran77\\style3\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style3\\paper = f6f3ea\r\nFortran77\\style4\\color = 7f007f\r\nFortran77\\style4\\eolfill = false\r\nFortran77\\style4\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style4\\paper = f6f3ea\r\nFortran77\\style5\\color = 0\r\nFortran77\\style5\\eolfill = true\r\nFortran77\\style5\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style5\\paper = f6f3ea\r\nFortran77\\style6\\color = 0\r\nFortran77\\style6\\eolfill = false\r\nFortran77\\style6\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style6\\paper = f6f3ea\r\nFortran77\\style7\\color = 0\r\nFortran77\\style7\\eolfill = false\r\nFortran77\\style7\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style7\\paper = f6f3ea\r\nFortran77\\style8\\color = 8000ff\r\nFortran77\\style8\\eolfill = false\r\nFortran77\\style8\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style8\\paper = f6f3ea\r\nFortran77\\style9\\color = b00040\r\nFortran77\\style9\\eolfill = false\r\nFortran77\\style9\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style9\\paper = f6f3ea\r\nFortran77\\style10\\color = b04080\r\nFortran77\\style10\\eolfill = false\r\nFortran77\\style10\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style10\\paper = f6f3ea\r\nFortran77\\style11\\color = 7f7f00\r\nFortran77\\style11\\eolfill = false\r\nFortran77\\style11\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style11\\paper = f6f3ea\r\nFortran77\\style12\\color = 0\r\nFortran77\\style12\\eolfill = false\r\nFortran77\\style12\\font = Courier New, 14, 1, 0, 0\r\nFortran77\\style12\\paper = f6f3ea\r\nFortran77\\style13\\color = e0c0e0\r\nFortran77\\style13\\eolfill = false\r\nFortran77\\style13\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style13\\paper = f6f3ea\r\nFortran77\\style14\\color = 0\r\nFortran77\\style14\\eolfill = false\r\nFortran77\\style14\\font = Courier New, 14, 0, 0, 0\r\nFortran77\\style14\\paper = f6f3ea\r\nFortran77\\properties\\foldcompact = true\r\nFortran77\\defaultcolor = 0\r\nFortran77\\defaultpaper = f6f3ea\r\nFortran77\\defaultfont = Courier New, 14, 0, 0, 0\r\nFortran77\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/go.ini",
    "content": "[Scintilla]\r\nGO\\style0\\color = 808080\r\nGO\\style0\\eolfill = false\r\nGO\\style0\\font = Courier New, 14, 0, 0, 0\r\nGO\\style0\\paper = f6f3ea\r\nGO\\style1\\color = 7f00\r\nGO\\style1\\eolfill = false\r\nGO\\style1\\font = Courier New, 14, 0, 0, 0\r\nGO\\style1\\paper = f6f3ea\r\nGO\\style2\\color = 7f00\r\nGO\\style2\\eolfill = false\r\nGO\\style2\\font = Courier New, 14, 0, 0, 0\r\nGO\\style2\\paper = f6f3ea\r\nGO\\style3\\color = 3f703f\r\nGO\\style3\\eolfill = false\r\nGO\\style3\\font = Courier New, 14, 0, 0, 0\r\nGO\\style3\\paper = f6f3ea\r\nGO\\style4\\color = 7f7f\r\nGO\\style4\\eolfill = false\r\nGO\\style4\\font = Courier New, 14, 0, 0, 0\r\nGO\\style4\\paper = f6f3ea\r\nGO\\style5\\color = 8000ff\r\nGO\\style5\\eolfill = false\r\nGO\\style5\\font = Courier New, 14, 0, 0, 0\r\nGO\\style5\\paper = f6f3ea\r\nGO\\style6\\color = 7f007f\r\nGO\\style6\\eolfill = false\r\nGO\\style6\\font = Courier New, 14, 0, 0, 0\r\nGO\\style6\\paper = f6f3ea\r\nGO\\style7\\color = 7f007f\r\nGO\\style7\\eolfill = false\r\nGO\\style7\\font = Courier New, 14, 0, 0, 0\r\nGO\\style7\\paper = f6f3ea\r\nGO\\style8\\color = 0\r\nGO\\style8\\eolfill = false\r\nGO\\style8\\font = Courier New, 14, 0, 0, 0\r\nGO\\style8\\paper = f6f3ea\r\nGO\\style9\\color = 7f7f00\r\nGO\\style9\\eolfill = false\r\nGO\\style9\\font = Courier New, 14, 0, 0, 0\r\nGO\\style9\\paper = f6f3ea\r\nGO\\style10\\color = 0\r\nGO\\style10\\eolfill = false\r\nGO\\style10\\font = Courier New, 14, 0, 0, 0\r\nGO\\style10\\paper = f6f3ea\r\nGO\\style11\\color = 0\r\nGO\\style11\\eolfill = false\r\nGO\\style11\\font = Courier New, 14, 0, 0, 0\r\nGO\\style11\\paper = f6f3ea\r\nGO\\style12\\color = 0\r\nGO\\style12\\eolfill = true\r\nGO\\style12\\font = Courier New, 14, 0, 0, 0\r\nGO\\style12\\paper = f6f3ea\r\nGO\\style13\\color = 7f00\r\nGO\\style13\\eolfill = true\r\nGO\\style13\\font = Courier New, 14, 0, 0, 0\r\nGO\\style13\\paper = f6f3ea\r\nGO\\style14\\color = 3f7f3f\r\nGO\\style14\\eolfill = true\r\nGO\\style14\\font = Courier New, 14, 0, 0, 0\r\nGO\\style14\\paper = f6f3ea\r\nGO\\style15\\color = 3f703f\r\nGO\\style15\\eolfill = false\r\nGO\\style15\\font = Courier New, 14, 0, 0, 0\r\nGO\\style15\\paper = f6f3ea\r\nGO\\style16\\color = 0\r\nGO\\style16\\eolfill = false\r\nGO\\style16\\font = Courier New, 14, 0, 0, 0\r\nGO\\style16\\paper = f6f3ea\r\nGO\\style17\\color = 3060a0\r\nGO\\style17\\eolfill = false\r\nGO\\style17\\font = Courier New, 14, 0, 0, 0\r\nGO\\style17\\paper = f6f3ea\r\nGO\\style18\\color = 804020\r\nGO\\style18\\eolfill = false\r\nGO\\style18\\font = Courier New, 14, 0, 0, 0\r\nGO\\style18\\paper = f6f3ea\r\nGO\\style19\\color = 0\r\nGO\\style19\\eolfill = false\r\nGO\\style19\\font = Courier New, 14, 0, 0, 0\r\nGO\\style19\\paper = f6f3ea\r\nGO\\style20\\color = 7f007f\r\nGO\\style20\\eolfill = false\r\nGO\\style20\\font = Courier New, 14, 0, 0, 0\r\nGO\\style20\\paper = f6f3ea\r\nGO\\style21\\color = 7f00\r\nGO\\style21\\eolfill = true\r\nGO\\style21\\font = Courier New, 14, 0, 0, 0\r\nGO\\style21\\paper = f6f3ea\r\nGO\\style22\\color = 7f00\r\nGO\\style22\\eolfill = true\r\nGO\\style22\\font = Courier New, 14, 0, 0, 0\r\nGO\\style22\\paper = f6f3ea\r\nGO\\style23\\color = 659900\r\nGO\\style23\\eolfill = false\r\nGO\\style23\\font = Courier New, 14, 0, 0, 0\r\nGO\\style23\\paper = f6f3ea\r\nGO\\style24\\color = 3f703f\r\nGO\\style24\\eolfill = false\r\nGO\\style24\\font = Courier New, 14, 0, 0, 0\r\nGO\\style24\\paper = f6f3ea\r\nGO\\style25\\color = c06000\r\nGO\\style25\\eolfill = false\r\nGO\\style25\\font = Courier New, 14, 0, 0, 0\r\nGO\\style25\\paper = f6f3ea\r\nGO\\style26\\color = be07ff\r\nGO\\style26\\eolfill = false\r\nGO\\style26\\font = Courier New, 14, 0, 0, 0\r\nGO\\style26\\paper = f6f3ea\r\nGO\\style27\\color = 0\r\nGO\\style27\\eolfill = false\r\nGO\\style27\\font = Courier New, 14, 0, 0, 0\r\nGO\\style27\\paper = f6f3ea\r\nGO\\style64\\color = c0c0c0\r\nGO\\style64\\eolfill = false\r\nGO\\style64\\font = Courier New, 14, 0, 0, 0\r\nGO\\style64\\paper = f6f3ea\r\nGO\\style65\\color = 90b090\r\nGO\\style65\\eolfill = false\r\nGO\\style65\\font = Courier New, 14, 0, 0, 0\r\nGO\\style65\\paper = f6f3ea\r\nGO\\style66\\color = 90b090\r\nGO\\style66\\eolfill = false\r\nGO\\style66\\font = Courier New, 14, 0, 0, 0\r\nGO\\style66\\paper = f6f3ea\r\nGO\\style67\\color = d0d0d0\r\nGO\\style67\\eolfill = false\r\nGO\\style67\\font = Courier New, 14, 0, 0, 0\r\nGO\\style67\\paper = f6f3ea\r\nGO\\style68\\color = 90b090\r\nGO\\style68\\eolfill = false\r\nGO\\style68\\font = Courier New, 14, 0, 0, 0\r\nGO\\style68\\paper = f6f3ea\r\nGO\\style69\\color = 9090b0\r\nGO\\style69\\eolfill = false\r\nGO\\style69\\font = Courier New, 14, 0, 0, 0\r\nGO\\style69\\paper = f6f3ea\r\nGO\\style70\\color = b090b0\r\nGO\\style70\\eolfill = false\r\nGO\\style70\\font = Courier New, 14, 0, 0, 0\r\nGO\\style70\\paper = f6f3ea\r\nGO\\style71\\color = b090b0\r\nGO\\style71\\eolfill = false\r\nGO\\style71\\font = Courier New, 14, 0, 0, 0\r\nGO\\style71\\paper = f6f3ea\r\nGO\\style72\\color = c0c0c0\r\nGO\\style72\\eolfill = false\r\nGO\\style72\\font = Courier New, 14, 0, 0, 0\r\nGO\\style72\\paper = f6f3ea\r\nGO\\style73\\color = b0b090\r\nGO\\style73\\eolfill = false\r\nGO\\style73\\font = Courier New, 14, 0, 0, 0\r\nGO\\style73\\paper = f6f3ea\r\nGO\\style74\\color = b0b0b0\r\nGO\\style74\\eolfill = false\r\nGO\\style74\\font = Courier New, 14, 0, 0, 0\r\nGO\\style74\\paper = f6f3ea\r\nGO\\style75\\color = b0b0b0\r\nGO\\style75\\eolfill = false\r\nGO\\style75\\font = Courier New, 14, 0, 0, 0\r\nGO\\style75\\paper = f6f3ea\r\nGO\\style76\\color = 0\r\nGO\\style76\\eolfill = true\r\nGO\\style76\\font = Courier New, 14, 0, 0, 0\r\nGO\\style76\\paper = f6f3ea\r\nGO\\style77\\color = 90b090\r\nGO\\style77\\eolfill = true\r\nGO\\style77\\font = Courier New, 14, 0, 0, 0\r\nGO\\style77\\paper = f6f3ea\r\nGO\\style78\\color = 7faf7f\r\nGO\\style78\\eolfill = true\r\nGO\\style78\\font = Courier New, 14, 0, 0, 0\r\nGO\\style78\\paper = f6f3ea\r\nGO\\style79\\color = c0c0c0\r\nGO\\style79\\eolfill = false\r\nGO\\style79\\font = Courier New, 14, 0, 0, 0\r\nGO\\style79\\paper = f6f3ea\r\nGO\\style80\\color = c0c0c0\r\nGO\\style80\\eolfill = false\r\nGO\\style80\\font = Courier New, 14, 0, 0, 0\r\nGO\\style80\\paper = f6f3ea\r\nGO\\style81\\color = c0c0c0\r\nGO\\style81\\eolfill = false\r\nGO\\style81\\font = Courier New, 14, 0, 0, 0\r\nGO\\style81\\paper = f6f3ea\r\nGO\\style82\\color = c0c0c0\r\nGO\\style82\\eolfill = false\r\nGO\\style82\\font = Courier New, 14, 0, 0, 0\r\nGO\\style82\\paper = f6f3ea\r\nGO\\style83\\color = b0b0b0\r\nGO\\style83\\eolfill = false\r\nGO\\style83\\font = Courier New, 14, 0, 0, 0\r\nGO\\style83\\paper = f6f3ea\r\nGO\\style84\\color = b090b0\r\nGO\\style84\\eolfill = false\r\nGO\\style84\\font = Courier New, 14, 0, 0, 0\r\nGO\\style84\\paper = f6f3ea\r\nGO\\style85\\color = 90b090\r\nGO\\style85\\eolfill = true\r\nGO\\style85\\font = Courier New, 14, 0, 0, 0\r\nGO\\style85\\paper = f6f3ea\r\nGO\\style86\\color = 90b090\r\nGO\\style86\\eolfill = true\r\nGO\\style86\\font = Courier New, 14, 0, 0, 0\r\nGO\\style86\\paper = f6f3ea\r\nGO\\style87\\color = a0c090\r\nGO\\style87\\eolfill = false\r\nGO\\style87\\font = Courier New, 14, 0, 0, 0\r\nGO\\style87\\paper = f6f3ea\r\nGO\\style88\\color = c0c0c0\r\nGO\\style88\\eolfill = false\r\nGO\\style88\\font = Courier New, 14, 0, 0, 0\r\nGO\\style88\\paper = f6f3ea\r\nGO\\style89\\color = d7a090\r\nGO\\style89\\eolfill = false\r\nGO\\style89\\font = Courier New, 14, 0, 0, 0\r\nGO\\style89\\paper = f6f3ea\r\nGO\\style90\\color = c3a1cf\r\nGO\\style90\\eolfill = false\r\nGO\\style90\\font = Courier New, 14, 0, 0, 0\r\nGO\\style90\\paper = f6f3ea\r\nGO\\style91\\color = 0\r\nGO\\style91\\eolfill = false\r\nGO\\style91\\font = Courier New, 14, 0, 0, 0\r\nGO\\style91\\paper = f6f3ea\r\nGO\\properties\\foldatelse = false\r\nGO\\properties\\foldcomments = false\r\nGO\\properties\\foldcompact = true\r\nGO\\properties\\foldpreprocessor = true\r\nGO\\properties\\stylepreprocessor = false\r\nGO\\properties\\dollars = true\r\nGO\\properties\\highlighttriple = false\r\nGO\\properties\\highlighthash = false\r\nGO\\properties\\highlightback = false\r\nGO\\properties\\highlightescape = false\r\nGO\\properties\\verbatimstringescape = false\r\nGO\\defaultcolor = 0\r\nGO\\defaultpaper = f6f3ea\r\nGO\\defaultfont = Courier New, 14, 0, 0, 0\r\nGO\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/html.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = f6f3ea\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = f6f3ea\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = f6f3ea\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = f6f3ea\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = f6f3ea\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = f6f3ea\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = f6f3ea\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = f6f3ea\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = f6f3ea\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = f6f3ea\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = f6f3ea\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = f6f3ea\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = f6f3ea\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = f6f3ea\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = f6f3ea\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = f6f3ea\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = f6f3ea\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = f6f3ea\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = f6f3ea\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = f6f3ea\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = f6f3ea\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = f6f3ea\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = f6f3ea\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = f6f3ea\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = f6f3ea\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = f6f3ea\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = f6f3ea\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = f6f3ea\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = f6f3ea\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = f6f3ea\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = f6f3ea\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = f6f3ea\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = f6f3ea\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = f6f3ea\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = f6f3ea\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = f6f3ea\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = f6f3ea\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = f6f3ea\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = f6f3ea\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = f6f3ea\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = f6f3ea\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = f6f3ea\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = f6f3ea\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = f6f3ea\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = f6f3ea\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = f6f3ea\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = f6f3ea\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = f6f3ea\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = f6f3ea\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = f6f3ea\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = f6f3ea\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = f6f3ea\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = f6f3ea\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = f6f3ea\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = f6f3ea\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = f6f3ea\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = f6f3ea\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = f6f3ea\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = f6f3ea\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = f6f3ea\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = f6f3ea\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = f6f3ea\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = f6f3ea\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = f6f3ea\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = f6f3ea\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = f6f3ea\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = f6f3ea\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = f6f3ea\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = f6f3ea\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = f6f3ea\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = f6f3ea\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = f6f3ea\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = f6f3ea\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = f6f3ea\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = f6f3ea\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = f6f3ea\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = f6f3ea\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = f6f3ea\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = f6f3ea\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = f6f3ea\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = f6f3ea\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = f6f3ea\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = f6f3ea\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = f6f3ea\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = f6f3ea\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = f6f3ea\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = f6f3ea\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = f6f3ea\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = f6f3ea\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = f6f3ea\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = f6f3ea\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = f6f3ea\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = f6f3ea\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = f6f3ea\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = f6f3ea\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = f6f3ea\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = f6f3ea\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = f6f3ea\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = f6f3ea\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = f6f3ea\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = f6f3ea\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = f6f3ea\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = f6f3ea\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = f6f3ea\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = f6f3ea\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = f6f3ea\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = f6f3ea\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = f6f3ea\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = f6f3ea\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = f6f3ea\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/idl.ini",
    "content": "[Scintilla]\r\nIDL\\style0\\color = 808080\r\nIDL\\style0\\eolfill = false\r\nIDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style0\\paper = f6f3ea\r\nIDL\\style1\\color = 7f00\r\nIDL\\style1\\eolfill = false\r\nIDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style1\\paper = f6f3ea\r\nIDL\\style2\\color = 7f00\r\nIDL\\style2\\eolfill = false\r\nIDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style2\\paper = f6f3ea\r\nIDL\\style3\\color = 3f703f\r\nIDL\\style3\\eolfill = false\r\nIDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style3\\paper = f6f3ea\r\nIDL\\style4\\color = 7f7f\r\nIDL\\style4\\eolfill = false\r\nIDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style4\\paper = f6f3ea\r\nIDL\\style5\\color = 8000ff\r\nIDL\\style5\\eolfill = false\r\nIDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style5\\paper = f6f3ea\r\nIDL\\style6\\color = 7f007f\r\nIDL\\style6\\eolfill = false\r\nIDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style6\\paper = f6f3ea\r\nIDL\\style7\\color = 7f007f\r\nIDL\\style7\\eolfill = false\r\nIDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style7\\paper = f6f3ea\r\nIDL\\style8\\color = 804080\r\nIDL\\style8\\eolfill = false\r\nIDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style8\\paper = f6f3ea\r\nIDL\\style9\\color = 7f7f00\r\nIDL\\style9\\eolfill = false\r\nIDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style9\\paper = f6f3ea\r\nIDL\\style10\\color = 0\r\nIDL\\style10\\eolfill = false\r\nIDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style10\\paper = f6f3ea\r\nIDL\\style11\\color = 0\r\nIDL\\style11\\eolfill = false\r\nIDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style11\\paper = f6f3ea\r\nIDL\\style12\\color = 0\r\nIDL\\style12\\eolfill = true\r\nIDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style12\\paper = f6f3ea\r\nIDL\\style13\\color = 7f00\r\nIDL\\style13\\eolfill = true\r\nIDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style13\\paper = f6f3ea\r\nIDL\\style14\\color = 3f7f3f\r\nIDL\\style14\\eolfill = true\r\nIDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style14\\paper = f6f3ea\r\nIDL\\style15\\color = 3f703f\r\nIDL\\style15\\eolfill = false\r\nIDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style15\\paper = f6f3ea\r\nIDL\\style16\\color = 0\r\nIDL\\style16\\eolfill = false\r\nIDL\\style16\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style16\\paper = f6f3ea\r\nIDL\\style17\\color = 3060a0\r\nIDL\\style17\\eolfill = false\r\nIDL\\style17\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style17\\paper = f6f3ea\r\nIDL\\style18\\color = 804020\r\nIDL\\style18\\eolfill = false\r\nIDL\\style18\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style18\\paper = f6f3ea\r\nIDL\\style19\\color = 0\r\nIDL\\style19\\eolfill = false\r\nIDL\\style19\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style19\\paper = f6f3ea\r\nIDL\\style20\\color = 7f007f\r\nIDL\\style20\\eolfill = false\r\nIDL\\style20\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style20\\paper = f6f3ea\r\nIDL\\style21\\color = 7f00\r\nIDL\\style21\\eolfill = true\r\nIDL\\style21\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style21\\paper = f6f3ea\r\nIDL\\style22\\color = 7f00\r\nIDL\\style22\\eolfill = true\r\nIDL\\style22\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style22\\paper = f6f3ea\r\nIDL\\style23\\color = 659900\r\nIDL\\style23\\eolfill = false\r\nIDL\\style23\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style23\\paper = f6f3ea\r\nIDL\\style24\\color = 3f703f\r\nIDL\\style24\\eolfill = false\r\nIDL\\style24\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style24\\paper = f6f3ea\r\nIDL\\style25\\color = c06000\r\nIDL\\style25\\eolfill = false\r\nIDL\\style25\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style25\\paper = f6f3ea\r\nIDL\\style26\\color = be07ff\r\nIDL\\style26\\eolfill = false\r\nIDL\\style26\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style26\\paper = f6f3ea\r\nIDL\\style27\\color = 0\r\nIDL\\style27\\eolfill = false\r\nIDL\\style27\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style27\\paper = f6f3ea\r\nIDL\\style64\\color = c0c0c0\r\nIDL\\style64\\eolfill = false\r\nIDL\\style64\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style64\\paper = f6f3ea\r\nIDL\\style65\\color = 90b090\r\nIDL\\style65\\eolfill = false\r\nIDL\\style65\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style65\\paper = f6f3ea\r\nIDL\\style66\\color = 90b090\r\nIDL\\style66\\eolfill = false\r\nIDL\\style66\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style66\\paper = f6f3ea\r\nIDL\\style67\\color = d0d0d0\r\nIDL\\style67\\eolfill = false\r\nIDL\\style67\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style67\\paper = f6f3ea\r\nIDL\\style68\\color = 90b090\r\nIDL\\style68\\eolfill = false\r\nIDL\\style68\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style68\\paper = f6f3ea\r\nIDL\\style69\\color = 9090b0\r\nIDL\\style69\\eolfill = false\r\nIDL\\style69\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style69\\paper = f6f3ea\r\nIDL\\style70\\color = b090b0\r\nIDL\\style70\\eolfill = false\r\nIDL\\style70\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style70\\paper = f6f3ea\r\nIDL\\style71\\color = b090b0\r\nIDL\\style71\\eolfill = false\r\nIDL\\style71\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style71\\paper = f6f3ea\r\nIDL\\style72\\color = c0c0c0\r\nIDL\\style72\\eolfill = false\r\nIDL\\style72\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style72\\paper = f6f3ea\r\nIDL\\style73\\color = b0b090\r\nIDL\\style73\\eolfill = false\r\nIDL\\style73\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style73\\paper = f6f3ea\r\nIDL\\style74\\color = b0b0b0\r\nIDL\\style74\\eolfill = false\r\nIDL\\style74\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style74\\paper = f6f3ea\r\nIDL\\style75\\color = b0b0b0\r\nIDL\\style75\\eolfill = false\r\nIDL\\style75\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style75\\paper = f6f3ea\r\nIDL\\style76\\color = 0\r\nIDL\\style76\\eolfill = true\r\nIDL\\style76\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style76\\paper = f6f3ea\r\nIDL\\style77\\color = 90b090\r\nIDL\\style77\\eolfill = true\r\nIDL\\style77\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style77\\paper = f6f3ea\r\nIDL\\style78\\color = 7faf7f\r\nIDL\\style78\\eolfill = true\r\nIDL\\style78\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style78\\paper = f6f3ea\r\nIDL\\style79\\color = c0c0c0\r\nIDL\\style79\\eolfill = false\r\nIDL\\style79\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style79\\paper = f6f3ea\r\nIDL\\style80\\color = c0c0c0\r\nIDL\\style80\\eolfill = false\r\nIDL\\style80\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style80\\paper = f6f3ea\r\nIDL\\style81\\color = c0c0c0\r\nIDL\\style81\\eolfill = false\r\nIDL\\style81\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style81\\paper = f6f3ea\r\nIDL\\style82\\color = c0c0c0\r\nIDL\\style82\\eolfill = false\r\nIDL\\style82\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style82\\paper = f6f3ea\r\nIDL\\style83\\color = b0b0b0\r\nIDL\\style83\\eolfill = false\r\nIDL\\style83\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style83\\paper = f6f3ea\r\nIDL\\style84\\color = b090b0\r\nIDL\\style84\\eolfill = false\r\nIDL\\style84\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style84\\paper = f6f3ea\r\nIDL\\style85\\color = 90b090\r\nIDL\\style85\\eolfill = true\r\nIDL\\style85\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style85\\paper = f6f3ea\r\nIDL\\style86\\color = 90b090\r\nIDL\\style86\\eolfill = true\r\nIDL\\style86\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style86\\paper = f6f3ea\r\nIDL\\style87\\color = a0c090\r\nIDL\\style87\\eolfill = false\r\nIDL\\style87\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style87\\paper = f6f3ea\r\nIDL\\style88\\color = c0c0c0\r\nIDL\\style88\\eolfill = false\r\nIDL\\style88\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style88\\paper = f6f3ea\r\nIDL\\style89\\color = d7a090\r\nIDL\\style89\\eolfill = false\r\nIDL\\style89\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style89\\paper = f6f3ea\r\nIDL\\style90\\color = c3a1cf\r\nIDL\\style90\\eolfill = false\r\nIDL\\style90\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style90\\paper = f6f3ea\r\nIDL\\style91\\color = 0\r\nIDL\\style91\\eolfill = false\r\nIDL\\style91\\font = Courier New, 14, 0, 0, 0\r\nIDL\\style91\\paper = f6f3ea\r\nIDL\\properties\\foldatelse = false\r\nIDL\\properties\\foldcomments = false\r\nIDL\\properties\\foldcompact = true\r\nIDL\\properties\\foldpreprocessor = true\r\nIDL\\properties\\stylepreprocessor = false\r\nIDL\\properties\\dollars = true\r\nIDL\\properties\\highlighttriple = false\r\nIDL\\properties\\highlighthash = false\r\nIDL\\properties\\highlightback = false\r\nIDL\\properties\\highlightescape = false\r\nIDL\\properties\\verbatimstringescape = false\r\nIDL\\defaultcolor = 0\r\nIDL\\defaultpaper = f6f3ea\r\nIDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nIDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/ini.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = f6f3ea\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = f6f3ea\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = f6f3ea\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = f6f3ea\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = f6f3ea\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = f6f3ea\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = f6f3ea\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/java.ini",
    "content": "[Scintilla]\r\nJava\\style0\\color = 808080\r\nJava\\style0\\eolfill = false\r\nJava\\style0\\font = Courier New, 14, 0, 0, 0\r\nJava\\style0\\paper = f6f3ea\r\nJava\\style1\\color = 7f00\r\nJava\\style1\\eolfill = false\r\nJava\\style1\\font = Courier New, 14, 0, 0, 0\r\nJava\\style1\\paper = f6f3ea\r\nJava\\style2\\color = 7f00\r\nJava\\style2\\eolfill = false\r\nJava\\style2\\font = Courier New, 14, 0, 0, 0\r\nJava\\style2\\paper = f6f3ea\r\nJava\\style3\\color = 3f703f\r\nJava\\style3\\eolfill = false\r\nJava\\style3\\font = Courier New, 14, 0, 0, 0\r\nJava\\style3\\paper = f6f3ea\r\nJava\\style4\\color = 7f7f\r\nJava\\style4\\eolfill = false\r\nJava\\style4\\font = Courier New, 14, 0, 0, 0\r\nJava\\style4\\paper = f6f3ea\r\nJava\\style5\\color = 8000ff\r\nJava\\style5\\eolfill = false\r\nJava\\style5\\font = Courier New, 14, 0, 0, 0\r\nJava\\style5\\paper = f6f3ea\r\nJava\\style6\\color = 7f007f\r\nJava\\style6\\eolfill = false\r\nJava\\style6\\font = Courier New, 14, 0, 0, 0\r\nJava\\style6\\paper = f6f3ea\r\nJava\\style7\\color = 7f007f\r\nJava\\style7\\eolfill = false\r\nJava\\style7\\font = Courier New, 14, 0, 0, 0\r\nJava\\style7\\paper = f6f3ea\r\nJava\\style8\\color = 0\r\nJava\\style8\\eolfill = false\r\nJava\\style8\\font = Courier New, 14, 0, 0, 0\r\nJava\\style8\\paper = f6f3ea\r\nJava\\style9\\color = 7f7f00\r\nJava\\style9\\eolfill = false\r\nJava\\style9\\font = Courier New, 14, 0, 0, 0\r\nJava\\style9\\paper = f6f3ea\r\nJava\\style10\\color = 0\r\nJava\\style10\\eolfill = false\r\nJava\\style10\\font = Courier New, 14, 0, 0, 0\r\nJava\\style10\\paper = f6f3ea\r\nJava\\style11\\color = 0\r\nJava\\style11\\eolfill = false\r\nJava\\style11\\font = Courier New, 14, 0, 0, 0\r\nJava\\style11\\paper = f6f3ea\r\nJava\\style12\\color = 0\r\nJava\\style12\\eolfill = true\r\nJava\\style12\\font = Courier New, 14, 0, 0, 0\r\nJava\\style12\\paper = f6f3ea\r\nJava\\style13\\color = 7f00\r\nJava\\style13\\eolfill = true\r\nJava\\style13\\font = Courier New, 14, 0, 0, 0\r\nJava\\style13\\paper = f6f3ea\r\nJava\\style14\\color = 3f7f3f\r\nJava\\style14\\eolfill = true\r\nJava\\style14\\font = Courier New, 14, 0, 0, 0\r\nJava\\style14\\paper = f6f3ea\r\nJava\\style15\\color = 3f703f\r\nJava\\style15\\eolfill = false\r\nJava\\style15\\font = Courier New, 14, 0, 0, 0\r\nJava\\style15\\paper = f6f3ea\r\nJava\\style16\\color = 0\r\nJava\\style16\\eolfill = false\r\nJava\\style16\\font = Courier New, 14, 0, 0, 0\r\nJava\\style16\\paper = f6f3ea\r\nJava\\style17\\color = 3060a0\r\nJava\\style17\\eolfill = false\r\nJava\\style17\\font = Courier New, 14, 0, 0, 0\r\nJava\\style17\\paper = f6f3ea\r\nJava\\style18\\color = 804020\r\nJava\\style18\\eolfill = false\r\nJava\\style18\\font = Courier New, 14, 0, 0, 0\r\nJava\\style18\\paper = f6f3ea\r\nJava\\style19\\color = 0\r\nJava\\style19\\eolfill = false\r\nJava\\style19\\font = Courier New, 14, 0, 0, 0\r\nJava\\style19\\paper = f6f3ea\r\nJava\\style20\\color = 7f007f\r\nJava\\style20\\eolfill = false\r\nJava\\style20\\font = Courier New, 14, 0, 0, 0\r\nJava\\style20\\paper = f6f3ea\r\nJava\\style21\\color = 7f00\r\nJava\\style21\\eolfill = true\r\nJava\\style21\\font = Courier New, 14, 0, 0, 0\r\nJava\\style21\\paper = f6f3ea\r\nJava\\style22\\color = 7f00\r\nJava\\style22\\eolfill = true\r\nJava\\style22\\font = Courier New, 14, 0, 0, 0\r\nJava\\style22\\paper = f6f3ea\r\nJava\\style23\\color = 659900\r\nJava\\style23\\eolfill = false\r\nJava\\style23\\font = Courier New, 14, 0, 0, 0\r\nJava\\style23\\paper = f6f3ea\r\nJava\\style24\\color = 3f703f\r\nJava\\style24\\eolfill = false\r\nJava\\style24\\font = Courier New, 14, 0, 0, 0\r\nJava\\style24\\paper = f6f3ea\r\nJava\\style25\\color = c06000\r\nJava\\style25\\eolfill = false\r\nJava\\style25\\font = Courier New, 14, 0, 0, 0\r\nJava\\style25\\paper = f6f3ea\r\nJava\\style26\\color = be07ff\r\nJava\\style26\\eolfill = false\r\nJava\\style26\\font = Courier New, 14, 0, 0, 0\r\nJava\\style26\\paper = f6f3ea\r\nJava\\style27\\color = 0\r\nJava\\style27\\eolfill = false\r\nJava\\style27\\font = Courier New, 14, 0, 0, 0\r\nJava\\style27\\paper = f6f3ea\r\nJava\\style64\\color = c0c0c0\r\nJava\\style64\\eolfill = false\r\nJava\\style64\\font = Courier New, 14, 0, 0, 0\r\nJava\\style64\\paper = f6f3ea\r\nJava\\style65\\color = 90b090\r\nJava\\style65\\eolfill = false\r\nJava\\style65\\font = Courier New, 14, 0, 0, 0\r\nJava\\style65\\paper = f6f3ea\r\nJava\\style66\\color = 90b090\r\nJava\\style66\\eolfill = false\r\nJava\\style66\\font = Courier New, 14, 0, 0, 0\r\nJava\\style66\\paper = f6f3ea\r\nJava\\style67\\color = d0d0d0\r\nJava\\style67\\eolfill = false\r\nJava\\style67\\font = Courier New, 14, 0, 0, 0\r\nJava\\style67\\paper = f6f3ea\r\nJava\\style68\\color = 90b090\r\nJava\\style68\\eolfill = false\r\nJava\\style68\\font = Courier New, 14, 0, 0, 0\r\nJava\\style68\\paper = f6f3ea\r\nJava\\style69\\color = 9090b0\r\nJava\\style69\\eolfill = false\r\nJava\\style69\\font = Courier New, 14, 0, 0, 0\r\nJava\\style69\\paper = f6f3ea\r\nJava\\style70\\color = b090b0\r\nJava\\style70\\eolfill = false\r\nJava\\style70\\font = Courier New, 14, 0, 0, 0\r\nJava\\style70\\paper = f6f3ea\r\nJava\\style71\\color = b090b0\r\nJava\\style71\\eolfill = false\r\nJava\\style71\\font = Courier New, 14, 0, 0, 0\r\nJava\\style71\\paper = f6f3ea\r\nJava\\style72\\color = c0c0c0\r\nJava\\style72\\eolfill = false\r\nJava\\style72\\font = Courier New, 14, 0, 0, 0\r\nJava\\style72\\paper = f6f3ea\r\nJava\\style73\\color = b0b090\r\nJava\\style73\\eolfill = false\r\nJava\\style73\\font = Courier New, 14, 0, 0, 0\r\nJava\\style73\\paper = f6f3ea\r\nJava\\style74\\color = b0b0b0\r\nJava\\style74\\eolfill = false\r\nJava\\style74\\font = Courier New, 14, 0, 0, 0\r\nJava\\style74\\paper = f6f3ea\r\nJava\\style75\\color = b0b0b0\r\nJava\\style75\\eolfill = false\r\nJava\\style75\\font = Courier New, 14, 0, 0, 0\r\nJava\\style75\\paper = f6f3ea\r\nJava\\style76\\color = 0\r\nJava\\style76\\eolfill = true\r\nJava\\style76\\font = Courier New, 14, 0, 0, 0\r\nJava\\style76\\paper = f6f3ea\r\nJava\\style77\\color = 90b090\r\nJava\\style77\\eolfill = true\r\nJava\\style77\\font = Courier New, 14, 0, 0, 0\r\nJava\\style77\\paper = f6f3ea\r\nJava\\style78\\color = 7faf7f\r\nJava\\style78\\eolfill = true\r\nJava\\style78\\font = Courier New, 14, 0, 0, 0\r\nJava\\style78\\paper = f6f3ea\r\nJava\\style79\\color = c0c0c0\r\nJava\\style79\\eolfill = false\r\nJava\\style79\\font = Courier New, 14, 0, 0, 0\r\nJava\\style79\\paper = f6f3ea\r\nJava\\style80\\color = c0c0c0\r\nJava\\style80\\eolfill = false\r\nJava\\style80\\font = Courier New, 14, 0, 0, 0\r\nJava\\style80\\paper = f6f3ea\r\nJava\\style81\\color = c0c0c0\r\nJava\\style81\\eolfill = false\r\nJava\\style81\\font = Courier New, 14, 0, 0, 0\r\nJava\\style81\\paper = f6f3ea\r\nJava\\style82\\color = c0c0c0\r\nJava\\style82\\eolfill = false\r\nJava\\style82\\font = Courier New, 14, 0, 0, 0\r\nJava\\style82\\paper = f6f3ea\r\nJava\\style83\\color = b0b0b0\r\nJava\\style83\\eolfill = false\r\nJava\\style83\\font = Courier New, 14, 0, 0, 0\r\nJava\\style83\\paper = f6f3ea\r\nJava\\style84\\color = b090b0\r\nJava\\style84\\eolfill = false\r\nJava\\style84\\font = Courier New, 14, 0, 0, 0\r\nJava\\style84\\paper = f6f3ea\r\nJava\\style85\\color = 90b090\r\nJava\\style85\\eolfill = true\r\nJava\\style85\\font = Courier New, 14, 0, 0, 0\r\nJava\\style85\\paper = f6f3ea\r\nJava\\style86\\color = 90b090\r\nJava\\style86\\eolfill = true\r\nJava\\style86\\font = Courier New, 14, 0, 0, 0\r\nJava\\style86\\paper = f6f3ea\r\nJava\\style87\\color = a0c090\r\nJava\\style87\\eolfill = false\r\nJava\\style87\\font = Courier New, 14, 0, 0, 0\r\nJava\\style87\\paper = f6f3ea\r\nJava\\style88\\color = c0c0c0\r\nJava\\style88\\eolfill = false\r\nJava\\style88\\font = Courier New, 14, 0, 0, 0\r\nJava\\style88\\paper = f6f3ea\r\nJava\\style89\\color = d7a090\r\nJava\\style89\\eolfill = false\r\nJava\\style89\\font = Courier New, 14, 0, 0, 0\r\nJava\\style89\\paper = f6f3ea\r\nJava\\style90\\color = c3a1cf\r\nJava\\style90\\eolfill = false\r\nJava\\style90\\font = Courier New, 14, 0, 0, 0\r\nJava\\style90\\paper = f6f3ea\r\nJava\\style91\\color = 0\r\nJava\\style91\\eolfill = false\r\nJava\\style91\\font = Courier New, 14, 0, 0, 0\r\nJava\\style91\\paper = f6f3ea\r\nJava\\properties\\foldatelse = false\r\nJava\\properties\\foldcomments = false\r\nJava\\properties\\foldcompact = true\r\nJava\\properties\\foldpreprocessor = true\r\nJava\\properties\\stylepreprocessor = false\r\nJava\\properties\\dollars = true\r\nJava\\properties\\highlighttriple = false\r\nJava\\properties\\highlighthash = false\r\nJava\\properties\\highlightback = false\r\nJava\\properties\\highlightescape = false\r\nJava\\properties\\verbatimstringescape = false\r\nJava\\defaultcolor = 0\r\nJava\\defaultpaper = f6f3ea\r\nJava\\defaultfont = Courier New, 14, 0, 0, 0\r\nJava\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/javascript.ini",
    "content": "[Scintilla]\r\nJavaScript\\style0\\color = 808080\r\nJavaScript\\style0\\eolfill = false\r\nJavaScript\\style0\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style0\\paper = f6f3ea\r\nJavaScript\\style1\\color = 7f00\r\nJavaScript\\style1\\eolfill = false\r\nJavaScript\\style1\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style1\\paper = f6f3ea\r\nJavaScript\\style2\\color = 7f00\r\nJavaScript\\style2\\eolfill = false\r\nJavaScript\\style2\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style2\\paper = f6f3ea\r\nJavaScript\\style3\\color = 3f703f\r\nJavaScript\\style3\\eolfill = false\r\nJavaScript\\style3\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style3\\paper = f6f3ea\r\nJavaScript\\style4\\color = 7f7f\r\nJavaScript\\style4\\eolfill = false\r\nJavaScript\\style4\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style4\\paper = f6f3ea\r\nJavaScript\\style5\\color = 8000ff\r\nJavaScript\\style5\\eolfill = false\r\nJavaScript\\style5\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style5\\paper = f6f3ea\r\nJavaScript\\style6\\color = 7f007f\r\nJavaScript\\style6\\eolfill = false\r\nJavaScript\\style6\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style6\\paper = f6f3ea\r\nJavaScript\\style7\\color = 7f007f\r\nJavaScript\\style7\\eolfill = false\r\nJavaScript\\style7\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style7\\paper = f6f3ea\r\nJavaScript\\style8\\color = 0\r\nJavaScript\\style8\\eolfill = false\r\nJavaScript\\style8\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style8\\paper = f6f3ea\r\nJavaScript\\style9\\color = 7f7f00\r\nJavaScript\\style9\\eolfill = false\r\nJavaScript\\style9\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style9\\paper = f6f3ea\r\nJavaScript\\style10\\color = 0\r\nJavaScript\\style10\\eolfill = false\r\nJavaScript\\style10\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style10\\paper = f6f3ea\r\nJavaScript\\style11\\color = 0\r\nJavaScript\\style11\\eolfill = false\r\nJavaScript\\style11\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style11\\paper = f6f3ea\r\nJavaScript\\style12\\color = 0\r\nJavaScript\\style12\\eolfill = true\r\nJavaScript\\style12\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style12\\paper = f6f3ea\r\nJavaScript\\style13\\color = 7f00\r\nJavaScript\\style13\\eolfill = true\r\nJavaScript\\style13\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style13\\paper = f6f3ea\r\nJavaScript\\style14\\color = 3f7f3f\r\nJavaScript\\style14\\eolfill = true\r\nJavaScript\\style14\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style14\\paper = f6f3ea\r\nJavaScript\\style15\\color = 3f703f\r\nJavaScript\\style15\\eolfill = false\r\nJavaScript\\style15\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style15\\paper = f6f3ea\r\nJavaScript\\style16\\color = 0\r\nJavaScript\\style16\\eolfill = false\r\nJavaScript\\style16\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style16\\paper = f6f3ea\r\nJavaScript\\style17\\color = 3060a0\r\nJavaScript\\style17\\eolfill = false\r\nJavaScript\\style17\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style17\\paper = f6f3ea\r\nJavaScript\\style18\\color = 804020\r\nJavaScript\\style18\\eolfill = false\r\nJavaScript\\style18\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style18\\paper = f6f3ea\r\nJavaScript\\style19\\color = 0\r\nJavaScript\\style19\\eolfill = false\r\nJavaScript\\style19\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style19\\paper = f6f3ea\r\nJavaScript\\style20\\color = 7f007f\r\nJavaScript\\style20\\eolfill = false\r\nJavaScript\\style20\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style20\\paper = f6f3ea\r\nJavaScript\\style21\\color = 7f00\r\nJavaScript\\style21\\eolfill = true\r\nJavaScript\\style21\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style21\\paper = f6f3ea\r\nJavaScript\\style22\\color = 7f00\r\nJavaScript\\style22\\eolfill = true\r\nJavaScript\\style22\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style22\\paper = f6f3ea\r\nJavaScript\\style23\\color = 659900\r\nJavaScript\\style23\\eolfill = false\r\nJavaScript\\style23\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style23\\paper = f6f3ea\r\nJavaScript\\style24\\color = 3f703f\r\nJavaScript\\style24\\eolfill = false\r\nJavaScript\\style24\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style24\\paper = f6f3ea\r\nJavaScript\\style25\\color = c06000\r\nJavaScript\\style25\\eolfill = false\r\nJavaScript\\style25\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style25\\paper = f6f3ea\r\nJavaScript\\style26\\color = be07ff\r\nJavaScript\\style26\\eolfill = false\r\nJavaScript\\style26\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style26\\paper = f6f3ea\r\nJavaScript\\style27\\color = 0\r\nJavaScript\\style27\\eolfill = false\r\nJavaScript\\style27\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style27\\paper = f6f3ea\r\nJavaScript\\style64\\color = c0c0c0\r\nJavaScript\\style64\\eolfill = false\r\nJavaScript\\style64\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style64\\paper = f6f3ea\r\nJavaScript\\style65\\color = 90b090\r\nJavaScript\\style65\\eolfill = false\r\nJavaScript\\style65\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style65\\paper = f6f3ea\r\nJavaScript\\style66\\color = 90b090\r\nJavaScript\\style66\\eolfill = false\r\nJavaScript\\style66\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style66\\paper = f6f3ea\r\nJavaScript\\style67\\color = d0d0d0\r\nJavaScript\\style67\\eolfill = false\r\nJavaScript\\style67\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style67\\paper = f6f3ea\r\nJavaScript\\style68\\color = 90b090\r\nJavaScript\\style68\\eolfill = false\r\nJavaScript\\style68\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style68\\paper = f6f3ea\r\nJavaScript\\style69\\color = 9090b0\r\nJavaScript\\style69\\eolfill = false\r\nJavaScript\\style69\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style69\\paper = f6f3ea\r\nJavaScript\\style70\\color = b090b0\r\nJavaScript\\style70\\eolfill = false\r\nJavaScript\\style70\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style70\\paper = f6f3ea\r\nJavaScript\\style71\\color = b090b0\r\nJavaScript\\style71\\eolfill = false\r\nJavaScript\\style71\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style71\\paper = f6f3ea\r\nJavaScript\\style72\\color = c0c0c0\r\nJavaScript\\style72\\eolfill = false\r\nJavaScript\\style72\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style72\\paper = f6f3ea\r\nJavaScript\\style73\\color = b0b090\r\nJavaScript\\style73\\eolfill = false\r\nJavaScript\\style73\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style73\\paper = f6f3ea\r\nJavaScript\\style74\\color = b0b0b0\r\nJavaScript\\style74\\eolfill = false\r\nJavaScript\\style74\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style74\\paper = f6f3ea\r\nJavaScript\\style75\\color = b0b0b0\r\nJavaScript\\style75\\eolfill = false\r\nJavaScript\\style75\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style75\\paper = f6f3ea\r\nJavaScript\\style76\\color = 0\r\nJavaScript\\style76\\eolfill = true\r\nJavaScript\\style76\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style76\\paper = f6f3ea\r\nJavaScript\\style77\\color = 90b090\r\nJavaScript\\style77\\eolfill = true\r\nJavaScript\\style77\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style77\\paper = f6f3ea\r\nJavaScript\\style78\\color = 7faf7f\r\nJavaScript\\style78\\eolfill = true\r\nJavaScript\\style78\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style78\\paper = f6f3ea\r\nJavaScript\\style79\\color = c0c0c0\r\nJavaScript\\style79\\eolfill = false\r\nJavaScript\\style79\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style79\\paper = f6f3ea\r\nJavaScript\\style80\\color = c0c0c0\r\nJavaScript\\style80\\eolfill = false\r\nJavaScript\\style80\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style80\\paper = f6f3ea\r\nJavaScript\\style81\\color = c0c0c0\r\nJavaScript\\style81\\eolfill = false\r\nJavaScript\\style81\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style81\\paper = f6f3ea\r\nJavaScript\\style82\\color = c0c0c0\r\nJavaScript\\style82\\eolfill = false\r\nJavaScript\\style82\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style82\\paper = f6f3ea\r\nJavaScript\\style83\\color = b0b0b0\r\nJavaScript\\style83\\eolfill = false\r\nJavaScript\\style83\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style83\\paper = f6f3ea\r\nJavaScript\\style84\\color = b090b0\r\nJavaScript\\style84\\eolfill = false\r\nJavaScript\\style84\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style84\\paper = f6f3ea\r\nJavaScript\\style85\\color = 90b090\r\nJavaScript\\style85\\eolfill = true\r\nJavaScript\\style85\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style85\\paper = f6f3ea\r\nJavaScript\\style86\\color = 90b090\r\nJavaScript\\style86\\eolfill = true\r\nJavaScript\\style86\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style86\\paper = f6f3ea\r\nJavaScript\\style87\\color = a0c090\r\nJavaScript\\style87\\eolfill = false\r\nJavaScript\\style87\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style87\\paper = f6f3ea\r\nJavaScript\\style88\\color = c0c0c0\r\nJavaScript\\style88\\eolfill = false\r\nJavaScript\\style88\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style88\\paper = f6f3ea\r\nJavaScript\\style89\\color = d7a090\r\nJavaScript\\style89\\eolfill = false\r\nJavaScript\\style89\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style89\\paper = f6f3ea\r\nJavaScript\\style90\\color = c3a1cf\r\nJavaScript\\style90\\eolfill = false\r\nJavaScript\\style90\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style90\\paper = f6f3ea\r\nJavaScript\\style91\\color = 0\r\nJavaScript\\style91\\eolfill = false\r\nJavaScript\\style91\\font = Courier New, 14, 0, 0, 0\r\nJavaScript\\style91\\paper = f6f3ea\r\nJavaScript\\properties\\foldatelse = false\r\nJavaScript\\properties\\foldcomments = false\r\nJavaScript\\properties\\foldcompact = true\r\nJavaScript\\properties\\foldpreprocessor = true\r\nJavaScript\\properties\\stylepreprocessor = false\r\nJavaScript\\properties\\dollars = true\r\nJavaScript\\properties\\highlighttriple = false\r\nJavaScript\\properties\\highlighthash = false\r\nJavaScript\\properties\\highlightback = false\r\nJavaScript\\properties\\highlightescape = false\r\nJavaScript\\properties\\verbatimstringescape = false\r\nJavaScript\\defaultcolor = 0\r\nJavaScript\\defaultpaper = f6f3ea\r\nJavaScript\\defaultfont = Courier New, 14, 0, 0, 0\r\nJavaScript\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/json.ini",
    "content": "[Scintilla]\r\nJSON\\style0\\color = 0\r\nJSON\\style0\\eolfill = false\r\nJSON\\style0\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style0\\paper = f6f3ea\r\nJSON\\style1\\color = 7f7f\r\nJSON\\style1\\eolfill = false\r\nJSON\\style1\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style1\\paper = f6f3ea\r\nJSON\\style2\\color = 7f0000\r\nJSON\\style2\\eolfill = false\r\nJSON\\style2\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style2\\paper = f6f3ea\r\nJSON\\style3\\color = ffffff\r\nJSON\\style3\\eolfill = true\r\nJSON\\style3\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style3\\paper = f6f3ea\r\nJSON\\style4\\color = 880ae8\r\nJSON\\style4\\eolfill = false\r\nJSON\\style4\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style4\\paper = f6f3ea\r\nJSON\\style5\\color = b982e\r\nJSON\\style5\\eolfill = false\r\nJSON\\style5\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style5\\paper = f6f3ea\r\nJSON\\style6\\color = 5bbae\r\nJSON\\style6\\eolfill = false\r\nJSON\\style6\\font = Courier New, 14, 0, 1, 0\r\nJSON\\style6\\paper = f6f3ea\r\nJSON\\style7\\color = 5bbae\r\nJSON\\style7\\eolfill = false\r\nJSON\\style7\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style7\\paper = f6f3ea\r\nJSON\\style8\\color = 18644a\r\nJSON\\style8\\eolfill = false\r\nJSON\\style8\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style8\\paper = f6f3ea\r\nJSON\\style9\\color = ff\r\nJSON\\style9\\eolfill = false\r\nJSON\\style9\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style9\\paper = f6f3ea\r\nJSON\\style10\\color = d137c1\r\nJSON\\style10\\eolfill = false\r\nJSON\\style10\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style10\\paper = f6f3ea\r\nJSON\\style11\\color = bcea7\r\nJSON\\style11\\eolfill = false\r\nJSON\\style11\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style11\\paper = f6f3ea\r\nJSON\\style12\\color = ec2806\r\nJSON\\style12\\eolfill = false\r\nJSON\\style12\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style12\\paper = f6f3ea\r\nJSON\\style13\\color = ffffff\r\nJSON\\style13\\eolfill = false\r\nJSON\\style13\\font = Courier New, 14, 0, 0, 0\r\nJSON\\style13\\paper = f6f3ea\r\nJSON\\properties\\allowcomments = true\r\nJSON\\properties\\escapesequence = true\r\nJSON\\properties\\foldcompact = true\r\nJSON\\defaultcolor = 0\r\nJSON\\defaultpaper = f6f3ea\r\nJSON\\defaultfont = Courier New, 14, 0, 0, 0\r\nJSON\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/jsp.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = f6f3ea\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = f6f3ea\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = f6f3ea\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = f6f3ea\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = f6f3ea\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = f6f3ea\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = f6f3ea\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = f6f3ea\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = f6f3ea\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = f6f3ea\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = f6f3ea\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = f6f3ea\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = f6f3ea\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = f6f3ea\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = f6f3ea\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = f6f3ea\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = f6f3ea\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = f6f3ea\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = f6f3ea\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = f6f3ea\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = f6f3ea\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = f6f3ea\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = f6f3ea\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = f6f3ea\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = f6f3ea\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = f6f3ea\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = f6f3ea\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = f6f3ea\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = f6f3ea\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = f6f3ea\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = f6f3ea\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = f6f3ea\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = f6f3ea\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = f6f3ea\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = f6f3ea\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = f6f3ea\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = f6f3ea\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = f6f3ea\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = f6f3ea\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = f6f3ea\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = f6f3ea\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = f6f3ea\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = f6f3ea\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = f6f3ea\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = f6f3ea\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = f6f3ea\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = f6f3ea\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = f6f3ea\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = f6f3ea\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = f6f3ea\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = f6f3ea\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = f6f3ea\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = f6f3ea\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = f6f3ea\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = f6f3ea\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = f6f3ea\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = f6f3ea\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = f6f3ea\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = f6f3ea\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = f6f3ea\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = f6f3ea\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = f6f3ea\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = f6f3ea\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = f6f3ea\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = f6f3ea\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = f6f3ea\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = f6f3ea\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = f6f3ea\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = f6f3ea\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = f6f3ea\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = f6f3ea\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = f6f3ea\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = f6f3ea\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = f6f3ea\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = f6f3ea\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = f6f3ea\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = f6f3ea\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = f6f3ea\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = f6f3ea\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = f6f3ea\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = f6f3ea\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = f6f3ea\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = f6f3ea\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = f6f3ea\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = f6f3ea\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = f6f3ea\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = f6f3ea\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = f6f3ea\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = f6f3ea\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = f6f3ea\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = f6f3ea\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = f6f3ea\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = f6f3ea\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = f6f3ea\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = f6f3ea\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = f6f3ea\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = f6f3ea\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = f6f3ea\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = f6f3ea\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = f6f3ea\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = f6f3ea\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = f6f3ea\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = f6f3ea\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = f6f3ea\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = f6f3ea\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = f6f3ea\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = f6f3ea\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = f6f3ea\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = f6f3ea\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = f6f3ea\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/lua.ini",
    "content": "[Scintilla]\r\nLua\\style0\\color = 0\r\nLua\\style0\\eolfill = false\r\nLua\\style0\\font = Courier New, 14, 0, 0, 0\r\nLua\\style0\\paper = f6f3ea\r\nLua\\style1\\color = 7f00\r\nLua\\style1\\eolfill = true\r\nLua\\style1\\font = Courier New, 14, 0, 0, 0\r\nLua\\style1\\paper = f6f3ea\r\nLua\\style2\\color = 7f00\r\nLua\\style2\\eolfill = false\r\nLua\\style2\\font = Courier New, 14, 0, 0, 0\r\nLua\\style2\\paper = f6f3ea\r\nLua\\style4\\color = 7f7f\r\nLua\\style4\\eolfill = false\r\nLua\\style4\\font = Courier New, 14, 0, 0, 0\r\nLua\\style4\\paper = f6f3ea\r\nLua\\style5\\color = 8000ff\r\nLua\\style5\\eolfill = false\r\nLua\\style5\\font = Courier New, 14, 0, 0, 0\r\nLua\\style5\\paper = f6f3ea\r\nLua\\style6\\color = 7f007f\r\nLua\\style6\\eolfill = false\r\nLua\\style6\\font = Courier New, 14, 0, 0, 0\r\nLua\\style6\\paper = f6f3ea\r\nLua\\style7\\color = 7f007f\r\nLua\\style7\\eolfill = false\r\nLua\\style7\\font = Courier New, 14, 0, 0, 0\r\nLua\\style7\\paper = f6f3ea\r\nLua\\style8\\color = 7f007f\r\nLua\\style8\\eolfill = false\r\nLua\\style8\\font = Courier New, 14, 0, 0, 0\r\nLua\\style8\\paper = f6f3ea\r\nLua\\style9\\color = 7f7f00\r\nLua\\style9\\eolfill = false\r\nLua\\style9\\font = Courier New, 14, 0, 0, 0\r\nLua\\style9\\paper = f6f3ea\r\nLua\\style10\\color = 0\r\nLua\\style10\\eolfill = false\r\nLua\\style10\\font = Courier New, 14, 0, 0, 0\r\nLua\\style10\\paper = f6f3ea\r\nLua\\style11\\color = 0\r\nLua\\style11\\eolfill = false\r\nLua\\style11\\font = Courier New, 14, 0, 0, 0\r\nLua\\style11\\paper = f6f3ea\r\nLua\\style12\\color = 0\r\nLua\\style12\\eolfill = true\r\nLua\\style12\\font = Courier New, 14, 0, 0, 0\r\nLua\\style12\\paper = f6f3ea\r\nLua\\style13\\color = 8000ff\r\nLua\\style13\\eolfill = false\r\nLua\\style13\\font = Courier New, 14, 0, 0, 0\r\nLua\\style13\\paper = f6f3ea\r\nLua\\style14\\color = 8000ff\r\nLua\\style14\\eolfill = false\r\nLua\\style14\\font = Courier New, 14, 0, 0, 0\r\nLua\\style14\\paper = f6f3ea\r\nLua\\style15\\color = 8000ff\r\nLua\\style15\\eolfill = false\r\nLua\\style15\\font = Courier New, 14, 0, 0, 0\r\nLua\\style15\\paper = f6f3ea\r\nLua\\style16\\color = 0\r\nLua\\style16\\eolfill = false\r\nLua\\style16\\font = Courier New, 14, 0, 0, 0\r\nLua\\style16\\paper = f6f3ea\r\nLua\\style17\\color = 0\r\nLua\\style17\\eolfill = false\r\nLua\\style17\\font = Courier New, 14, 0, 0, 0\r\nLua\\style17\\paper = f6f3ea\r\nLua\\style18\\color = 0\r\nLua\\style18\\eolfill = false\r\nLua\\style18\\font = Courier New, 14, 0, 0, 0\r\nLua\\style18\\paper = f6f3ea\r\nLua\\style19\\color = 0\r\nLua\\style19\\eolfill = false\r\nLua\\style19\\font = Courier New, 14, 0, 0, 0\r\nLua\\style19\\paper = f6f3ea\r\nLua\\style20\\color = 7f7f00\r\nLua\\style20\\eolfill = false\r\nLua\\style20\\font = Courier New, 14, 0, 0, 0\r\nLua\\style20\\paper = f6f3ea\r\nLua\\properties\\foldcompact = true\r\nLua\\defaultcolor = 0\r\nLua\\defaultpaper = f6f3ea\r\nLua\\defaultfont = Courier New, 14, 0, 0, 0\r\nLua\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/makefile.ini",
    "content": "[Scintilla]\r\nMakefile\\style0\\color = 0\r\nMakefile\\style0\\eolfill = false\r\nMakefile\\style0\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style0\\paper = f6f3ea\r\nMakefile\\style1\\color = 7f00\r\nMakefile\\style1\\eolfill = false\r\nMakefile\\style1\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style1\\paper = f6f3ea\r\nMakefile\\style2\\color = 7f7f00\r\nMakefile\\style2\\eolfill = false\r\nMakefile\\style2\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style2\\paper = f6f3ea\r\nMakefile\\style3\\color = 80\r\nMakefile\\style3\\eolfill = false\r\nMakefile\\style3\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style3\\paper = f6f3ea\r\nMakefile\\style4\\color = 0\r\nMakefile\\style4\\eolfill = false\r\nMakefile\\style4\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style4\\paper = f6f3ea\r\nMakefile\\style5\\color = a00000\r\nMakefile\\style5\\eolfill = false\r\nMakefile\\style5\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style5\\paper = f6f3ea\r\nMakefile\\style9\\color = ffff00\r\nMakefile\\style9\\eolfill = true\r\nMakefile\\style9\\font = Courier New, 14, 0, 0, 0\r\nMakefile\\style9\\paper = f6f3ea\r\nMakefile\\defaultcolor = 0\r\nMakefile\\defaultpaper = f6f3ea\r\nMakefile\\defaultfont = Courier New, 14, 0, 0, 0\r\nMakefile\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/matlab.ini",
    "content": "[Scintilla]\r\nMatlab\\style0\\color = 0\r\nMatlab\\style0\\eolfill = false\r\nMatlab\\style0\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style0\\paper = f6f3ea\r\nMatlab\\style1\\color = 7f00\r\nMatlab\\style1\\eolfill = false\r\nMatlab\\style1\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style1\\paper = f6f3ea\r\nMatlab\\style2\\color = 7f7f00\r\nMatlab\\style2\\eolfill = false\r\nMatlab\\style2\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style2\\paper = f6f3ea\r\nMatlab\\style3\\color = 7f7f\r\nMatlab\\style3\\eolfill = false\r\nMatlab\\style3\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style3\\paper = f6f3ea\r\nMatlab\\style4\\color = 8000ff\r\nMatlab\\style4\\eolfill = false\r\nMatlab\\style4\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style4\\paper = f6f3ea\r\nMatlab\\style5\\color = 7f007f\r\nMatlab\\style5\\eolfill = false\r\nMatlab\\style5\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style5\\paper = f6f3ea\r\nMatlab\\style6\\color = 0\r\nMatlab\\style6\\eolfill = false\r\nMatlab\\style6\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style6\\paper = f6f3ea\r\nMatlab\\style7\\color = 0\r\nMatlab\\style7\\eolfill = false\r\nMatlab\\style7\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style7\\paper = f6f3ea\r\nMatlab\\style8\\color = 7f007f\r\nMatlab\\style8\\eolfill = false\r\nMatlab\\style8\\font = Courier New, 14, 0, 0, 0\r\nMatlab\\style8\\paper = f6f3ea\r\nMatlab\\defaultcolor = 0\r\nMatlab\\defaultpaper = f6f3ea\r\nMatlab\\defaultfont = Courier New, 14, 0, 0, 0\r\nMatlab\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/nsis.ini",
    "content": "[Scintilla]\r\nNSIS\\style0\\color = 0\r\nNSIS\\style0\\eolfill = false\r\nNSIS\\style0\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style0\\paper = f6f3ea\r\nNSIS\\style1\\color = 7f00\r\nNSIS\\style1\\eolfill = false\r\nNSIS\\style1\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style1\\paper = f6f3ea\r\nNSIS\\style2\\color = 7f007f\r\nNSIS\\style2\\eolfill = false\r\nNSIS\\style2\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style2\\paper = f6f3ea\r\nNSIS\\style3\\color = 7f007f\r\nNSIS\\style3\\eolfill = false\r\nNSIS\\style3\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style3\\paper = f6f3ea\r\nNSIS\\style4\\color = 7f007f\r\nNSIS\\style4\\eolfill = false\r\nNSIS\\style4\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style4\\paper = f6f3ea\r\nNSIS\\style5\\color = 8000ff\r\nNSIS\\style5\\eolfill = false\r\nNSIS\\style5\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style5\\paper = f6f3ea\r\nNSIS\\style6\\color = 0\r\nNSIS\\style6\\eolfill = false\r\nNSIS\\style6\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style6\\paper = f6f3ea\r\nNSIS\\style7\\color = 8000ff\r\nNSIS\\style7\\eolfill = false\r\nNSIS\\style7\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style7\\paper = f6f3ea\r\nNSIS\\style8\\color = 0\r\nNSIS\\style8\\eolfill = false\r\nNSIS\\style8\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style8\\paper = f6f3ea\r\nNSIS\\style9\\color = 8000ff\r\nNSIS\\style9\\eolfill = false\r\nNSIS\\style9\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style9\\paper = f6f3ea\r\nNSIS\\style10\\color = 8000ff\r\nNSIS\\style10\\eolfill = false\r\nNSIS\\style10\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style10\\paper = f6f3ea\r\nNSIS\\style11\\color = 8000ff\r\nNSIS\\style11\\eolfill = false\r\nNSIS\\style11\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style11\\paper = f6f3ea\r\nNSIS\\style12\\color = 8000ff\r\nNSIS\\style12\\eolfill = false\r\nNSIS\\style12\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style12\\paper = f6f3ea\r\nNSIS\\style13\\color = 0\r\nNSIS\\style13\\eolfill = false\r\nNSIS\\style13\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style13\\paper = f6f3ea\r\nNSIS\\style14\\color = 7f7f\r\nNSIS\\style14\\eolfill = false\r\nNSIS\\style14\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style14\\paper = f6f3ea\r\nNSIS\\style15\\color = 0\r\nNSIS\\style15\\eolfill = false\r\nNSIS\\style15\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style15\\paper = f6f3ea\r\nNSIS\\style16\\color = 0\r\nNSIS\\style16\\eolfill = false\r\nNSIS\\style16\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style16\\paper = f6f3ea\r\nNSIS\\style17\\color = 8000ff\r\nNSIS\\style17\\eolfill = false\r\nNSIS\\style17\\font = Courier New, 14, 1, 0, 0\r\nNSIS\\style17\\paper = f6f3ea\r\nNSIS\\style18\\color = 7f00\r\nNSIS\\style18\\eolfill = false\r\nNSIS\\style18\\font = Courier New, 14, 0, 0, 0\r\nNSIS\\style18\\paper = f6f3ea\r\nNSIS\\defaultcolor = 0\r\nNSIS\\defaultpaper = f6f3ea\r\nNSIS\\defaultfont = Courier New, 14, 0, 0, 0\r\nNSIS\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/objc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = f6f3ea\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = f6f3ea\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = f6f3ea\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = f6f3ea\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = f6f3ea\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = f6f3ea\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = f6f3ea\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = f6f3ea\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = f6f3ea\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = f6f3ea\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = f6f3ea\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = f6f3ea\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = f6f3ea\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = f6f3ea\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = f6f3ea\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = f6f3ea\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = f6f3ea\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = f6f3ea\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = f6f3ea\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = f6f3ea\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = f6f3ea\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = f6f3ea\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = f6f3ea\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = f6f3ea\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = f6f3ea\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = f6f3ea\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = f6f3ea\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = f6f3ea\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = f6f3ea\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = f6f3ea\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = f6f3ea\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = f6f3ea\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = f6f3ea\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = f6f3ea\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = f6f3ea\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = f6f3ea\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = f6f3ea\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = f6f3ea\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = f6f3ea\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = f6f3ea\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = f6f3ea\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = f6f3ea\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = f6f3ea\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = f6f3ea\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = f6f3ea\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = f6f3ea\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = f6f3ea\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = f6f3ea\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = f6f3ea\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = f6f3ea\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = f6f3ea\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = f6f3ea\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = f6f3ea\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = f6f3ea\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = f6f3ea\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = f6f3ea\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = f6f3ea\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/pascal.ini",
    "content": "[Scintilla]\r\nPascal\\style0\\color = 808080\r\nPascal\\style0\\eolfill = false\r\nPascal\\style0\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style0\\paper = f6f3ea\r\nPascal\\style1\\color = 0\r\nPascal\\style1\\eolfill = false\r\nPascal\\style1\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style1\\paper = f6f3ea\r\nPascal\\style2\\color = 7f00\r\nPascal\\style2\\eolfill = false\r\nPascal\\style2\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style2\\paper = f6f3ea\r\nPascal\\style3\\color = 7f00\r\nPascal\\style3\\eolfill = false\r\nPascal\\style3\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style3\\paper = f6f3ea\r\nPascal\\style4\\color = 7f00\r\nPascal\\style4\\eolfill = false\r\nPascal\\style4\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style4\\paper = f6f3ea\r\nPascal\\style5\\color = 7f7f00\r\nPascal\\style5\\eolfill = false\r\nPascal\\style5\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style5\\paper = f6f3ea\r\nPascal\\style6\\color = 7f7f00\r\nPascal\\style6\\eolfill = false\r\nPascal\\style6\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style6\\paper = f6f3ea\r\nPascal\\style7\\color = 7f7f\r\nPascal\\style7\\eolfill = false\r\nPascal\\style7\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style7\\paper = f6f3ea\r\nPascal\\style8\\color = 7f7f\r\nPascal\\style8\\eolfill = false\r\nPascal\\style8\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style8\\paper = f6f3ea\r\nPascal\\style9\\color = 8000ff\r\nPascal\\style9\\eolfill = false\r\nPascal\\style9\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style9\\paper = f6f3ea\r\nPascal\\style10\\color = 7f007f\r\nPascal\\style10\\eolfill = false\r\nPascal\\style10\\font = Courier New, 11, 0, 1, 0\r\nPascal\\style10\\paper = f6f3ea\r\nPascal\\style11\\color = 0\r\nPascal\\style11\\eolfill = true\r\nPascal\\style11\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style11\\paper = f6f3ea\r\nPascal\\style12\\color = 7f007f\r\nPascal\\style12\\eolfill = false\r\nPascal\\style12\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style12\\paper = f6f3ea\r\nPascal\\style13\\color = 0\r\nPascal\\style13\\eolfill = false\r\nPascal\\style13\\font = Courier New, 14, 1, 0, 0\r\nPascal\\style13\\paper = f6f3ea\r\nPascal\\style14\\color = 804080\r\nPascal\\style14\\eolfill = false\r\nPascal\\style14\\font = Courier New, 14, 0, 0, 0\r\nPascal\\style14\\paper = f6f3ea\r\nPascal\\properties\\foldcomments = false\r\nPascal\\properties\\foldcompact = true\r\nPascal\\properties\\foldpreprocessor = false\r\nPascal\\properties\\smarthighlight = true\r\nPascal\\defaultcolor = 0\r\nPascal\\defaultpaper = f6f3ea\r\nPascal\\defaultfont = Courier New, 14, 0, 0, 0\r\nPascal\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/perl.ini",
    "content": "[Scintilla]\r\nPerl\\style0\\color = 808080\r\nPerl\\style0\\eolfill = false\r\nPerl\\style0\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style0\\paper = f6f3ea\r\nPerl\\style1\\color = ffff00\r\nPerl\\style1\\eolfill = false\r\nPerl\\style1\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style1\\paper = f6f3ea\r\nPerl\\style2\\color = 7f00\r\nPerl\\style2\\eolfill = false\r\nPerl\\style2\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style2\\paper = f6f3ea\r\nPerl\\style3\\color = 4000\r\nPerl\\style3\\eolfill = true\r\nPerl\\style3\\font = Courier New, 11, 0, 0, 0\r\nPerl\\style3\\paper = f6f3ea\r\nPerl\\style4\\color = 7f7f\r\nPerl\\style4\\eolfill = false\r\nPerl\\style4\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style4\\paper = f6f3ea\r\nPerl\\style5\\color = 8000ff\r\nPerl\\style5\\eolfill = false\r\nPerl\\style5\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style5\\paper = f6f3ea\r\nPerl\\style6\\color = 7f007f\r\nPerl\\style6\\eolfill = false\r\nPerl\\style6\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style6\\paper = f6f3ea\r\nPerl\\style7\\color = 7f007f\r\nPerl\\style7\\eolfill = false\r\nPerl\\style7\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style7\\paper = f6f3ea\r\nPerl\\style10\\color = 0\r\nPerl\\style10\\eolfill = false\r\nPerl\\style10\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style10\\paper = f6f3ea\r\nPerl\\style11\\color = 0\r\nPerl\\style11\\eolfill = false\r\nPerl\\style11\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style11\\paper = f6f3ea\r\nPerl\\style12\\color = 0\r\nPerl\\style12\\eolfill = false\r\nPerl\\style12\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style12\\paper = f6f3ea\r\nPerl\\style13\\color = 0\r\nPerl\\style13\\eolfill = false\r\nPerl\\style13\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style13\\paper = f6f3ea\r\nPerl\\style14\\color = 0\r\nPerl\\style14\\eolfill = false\r\nPerl\\style14\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style14\\paper = f6f3ea\r\nPerl\\style15\\color = 0\r\nPerl\\style15\\eolfill = false\r\nPerl\\style15\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style15\\paper = f6f3ea\r\nPerl\\style17\\color = 0\r\nPerl\\style17\\eolfill = false\r\nPerl\\style17\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style17\\paper = f6f3ea\r\nPerl\\style18\\color = 0\r\nPerl\\style18\\eolfill = false\r\nPerl\\style18\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style18\\paper = f6f3ea\r\nPerl\\style20\\color = ffff00\r\nPerl\\style20\\eolfill = false\r\nPerl\\style20\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style20\\paper = f6f3ea\r\nPerl\\style21\\color = 600000\r\nPerl\\style21\\eolfill = true\r\nPerl\\style21\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style21\\paper = f6f3ea\r\nPerl\\style22\\color = 0\r\nPerl\\style22\\eolfill = false\r\nPerl\\style22\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style22\\paper = f6f3ea\r\nPerl\\style23\\color = 7f007f\r\nPerl\\style23\\eolfill = true\r\nPerl\\style23\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style23\\paper = f6f3ea\r\nPerl\\style24\\color = 7f007f\r\nPerl\\style24\\eolfill = true\r\nPerl\\style24\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style24\\paper = f6f3ea\r\nPerl\\style25\\color = 7f007f\r\nPerl\\style25\\eolfill = true\r\nPerl\\style25\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style25\\paper = f6f3ea\r\nPerl\\style26\\color = 7f007f\r\nPerl\\style26\\eolfill = false\r\nPerl\\style26\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style26\\paper = f6f3ea\r\nPerl\\style27\\color = 7f007f\r\nPerl\\style27\\eolfill = false\r\nPerl\\style27\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style27\\paper = f6f3ea\r\nPerl\\style28\\color = ffff00\r\nPerl\\style28\\eolfill = false\r\nPerl\\style28\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style28\\paper = f6f3ea\r\nPerl\\style29\\color = 0\r\nPerl\\style29\\eolfill = false\r\nPerl\\style29\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style29\\paper = f6f3ea\r\nPerl\\style30\\color = 0\r\nPerl\\style30\\eolfill = false\r\nPerl\\style30\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style30\\paper = f6f3ea\r\nPerl\\style31\\color = 4000\r\nPerl\\style31\\eolfill = true\r\nPerl\\style31\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style31\\paper = f6f3ea\r\nPerl\\style40\\color = 0\r\nPerl\\style40\\eolfill = false\r\nPerl\\style40\\font = Courier New, 14, 0, 1, 0\r\nPerl\\style40\\paper = f6f3ea\r\nPerl\\style41\\color = c000c0\r\nPerl\\style41\\eolfill = false\r\nPerl\\style41\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style41\\paper = f6f3ea\r\nPerl\\style42\\color = c000c0\r\nPerl\\style42\\eolfill = true\r\nPerl\\style42\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style42\\paper = f6f3ea\r\nPerl\\style43\\color = d00000\r\nPerl\\style43\\eolfill = false\r\nPerl\\style43\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style43\\paper = f6f3ea\r\nPerl\\style44\\color = 0\r\nPerl\\style44\\eolfill = false\r\nPerl\\style44\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style44\\paper = f6f3ea\r\nPerl\\style54\\color = d00000\r\nPerl\\style54\\eolfill = false\r\nPerl\\style54\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style54\\paper = f6f3ea\r\nPerl\\style55\\color = d00000\r\nPerl\\style55\\eolfill = false\r\nPerl\\style55\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style55\\paper = f6f3ea\r\nPerl\\style57\\color = d00000\r\nPerl\\style57\\eolfill = false\r\nPerl\\style57\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style57\\paper = f6f3ea\r\nPerl\\style61\\color = d00000\r\nPerl\\style61\\eolfill = true\r\nPerl\\style61\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style61\\paper = f6f3ea\r\nPerl\\style62\\color = d00000\r\nPerl\\style62\\eolfill = true\r\nPerl\\style62\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style62\\paper = f6f3ea\r\nPerl\\style64\\color = d00000\r\nPerl\\style64\\eolfill = false\r\nPerl\\style64\\font = Courier New, 14, 1, 0, 0\r\nPerl\\style64\\paper = f6f3ea\r\nPerl\\style65\\color = d00000\r\nPerl\\style65\\eolfill = false\r\nPerl\\style65\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style65\\paper = f6f3ea\r\nPerl\\style66\\color = d00000\r\nPerl\\style66\\eolfill = false\r\nPerl\\style66\\font = Courier New, 14, 0, 0, 0\r\nPerl\\style66\\paper = f6f3ea\r\nPerl\\properties\\foldatelse = false\r\nPerl\\properties\\foldcomments = false\r\nPerl\\properties\\foldcompact = true\r\nPerl\\properties\\foldpackages = true\r\nPerl\\properties\\foldpodblocks = true\r\nPerl\\defaultcolor = 0\r\nPerl\\defaultpaper = f6f3ea\r\nPerl\\defaultfont = Courier New, 14, 0, 0, 0\r\nPerl\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/php.ini",
    "content": "[Scintilla]\r\nHTML\\style0\\color = 0\r\nHTML\\style0\\eolfill = false\r\nHTML\\style0\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style0\\paper = f6f3ea\r\nHTML\\style1\\color = ff\r\nHTML\\style1\\eolfill = false\r\nHTML\\style1\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style1\\paper = f6f3ea\r\nHTML\\style2\\color = ff0000\r\nHTML\\style2\\eolfill = false\r\nHTML\\style2\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style2\\paper = f6f3ea\r\nHTML\\style3\\color = ff0000\r\nHTML\\style3\\eolfill = false\r\nHTML\\style3\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style3\\paper = f6f3ea\r\nHTML\\style4\\color = ff0000\r\nHTML\\style4\\eolfill = false\r\nHTML\\style4\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style4\\paper = f6f3ea\r\nHTML\\style5\\color = 7f7f\r\nHTML\\style5\\eolfill = false\r\nHTML\\style5\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style5\\paper = f6f3ea\r\nHTML\\style6\\color = 7f007f\r\nHTML\\style6\\eolfill = false\r\nHTML\\style6\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style6\\paper = f6f3ea\r\nHTML\\style7\\color = 7f007f\r\nHTML\\style7\\eolfill = false\r\nHTML\\style7\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style7\\paper = f6f3ea\r\nHTML\\style8\\color = 800080\r\nHTML\\style8\\eolfill = false\r\nHTML\\style8\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style8\\paper = f6f3ea\r\nHTML\\style9\\color = 808000\r\nHTML\\style9\\eolfill = false\r\nHTML\\style9\\font = Courier New, 9, 0, 0, 0\r\nHTML\\style9\\paper = f6f3ea\r\nHTML\\style10\\color = 800080\r\nHTML\\style10\\eolfill = false\r\nHTML\\style10\\font = Courier New, 13, 0, 0, 0\r\nHTML\\style10\\paper = f6f3ea\r\nHTML\\style11\\color = ff\r\nHTML\\style11\\eolfill = false\r\nHTML\\style11\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style11\\paper = f6f3ea\r\nHTML\\style12\\color = ff\r\nHTML\\style12\\eolfill = false\r\nHTML\\style12\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style12\\paper = f6f3ea\r\nHTML\\style13\\color = ff\r\nHTML\\style13\\eolfill = false\r\nHTML\\style13\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style13\\paper = f6f3ea\r\nHTML\\style14\\color = ff\r\nHTML\\style14\\eolfill = false\r\nHTML\\style14\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style14\\paper = f6f3ea\r\nHTML\\style15\\color = 0\r\nHTML\\style15\\eolfill = false\r\nHTML\\style15\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style15\\paper = f6f3ea\r\nHTML\\style16\\color = 0\r\nHTML\\style16\\eolfill = false\r\nHTML\\style16\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style16\\paper = f6f3ea\r\nHTML\\style17\\color = 0\r\nHTML\\style17\\eolfill = false\r\nHTML\\style17\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style17\\paper = f6f3ea\r\nHTML\\style18\\color = ff\r\nHTML\\style18\\eolfill = false\r\nHTML\\style18\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style18\\paper = f6f3ea\r\nHTML\\style19\\color = ff00ff\r\nHTML\\style19\\eolfill = false\r\nHTML\\style19\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style19\\paper = f6f3ea\r\nHTML\\style20\\color = 0\r\nHTML\\style20\\eolfill = false\r\nHTML\\style20\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style20\\paper = f6f3ea\r\nHTML\\style21\\color = ff\r\nHTML\\style21\\eolfill = false\r\nHTML\\style21\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style21\\paper = f6f3ea\r\nHTML\\style22\\color = ff\r\nHTML\\style22\\eolfill = false\r\nHTML\\style22\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style22\\paper = f6f3ea\r\nHTML\\style23\\color = 6600\r\nHTML\\style23\\eolfill = false\r\nHTML\\style23\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style23\\paper = f6f3ea\r\nHTML\\style24\\color = 800000\r\nHTML\\style24\\eolfill = false\r\nHTML\\style24\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style24\\paper = f6f3ea\r\nHTML\\style25\\color = 993300\r\nHTML\\style25\\eolfill = false\r\nHTML\\style25\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style25\\paper = f6f3ea\r\nHTML\\style26\\color = 800000\r\nHTML\\style26\\eolfill = false\r\nHTML\\style26\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style26\\paper = f6f3ea\r\nHTML\\style27\\color = 3366ff\r\nHTML\\style27\\eolfill = false\r\nHTML\\style27\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style27\\paper = f6f3ea\r\nHTML\\style29\\color = 808000\r\nHTML\\style29\\eolfill = false\r\nHTML\\style29\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style29\\paper = f6f3ea\r\nHTML\\style30\\color = 0\r\nHTML\\style30\\eolfill = false\r\nHTML\\style30\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style30\\paper = f6f3ea\r\nHTML\\style31\\color = 66\r\nHTML\\style31\\eolfill = false\r\nHTML\\style31\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style31\\paper = f6f3ea\r\nHTML\\style40\\color = 7f7f00\r\nHTML\\style40\\eolfill = false\r\nHTML\\style40\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style40\\paper = f6f3ea\r\nHTML\\style41\\color = 0\r\nHTML\\style41\\eolfill = true\r\nHTML\\style41\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style41\\paper = f6f3ea\r\nHTML\\style42\\color = 7f00\r\nHTML\\style42\\eolfill = true\r\nHTML\\style42\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style42\\paper = f6f3ea\r\nHTML\\style43\\color = 7f00\r\nHTML\\style43\\eolfill = false\r\nHTML\\style43\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style43\\paper = f6f3ea\r\nHTML\\style44\\color = 3f703f\r\nHTML\\style44\\eolfill = true\r\nHTML\\style44\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style44\\paper = f6f3ea\r\nHTML\\style45\\color = 7f7f\r\nHTML\\style45\\eolfill = false\r\nHTML\\style45\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style45\\paper = f6f3ea\r\nHTML\\style46\\color = 0\r\nHTML\\style46\\eolfill = false\r\nHTML\\style46\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style46\\paper = f6f3ea\r\nHTML\\style47\\color = 8000ff\r\nHTML\\style47\\eolfill = false\r\nHTML\\style47\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style47\\paper = f6f3ea\r\nHTML\\style48\\color = 7f007f\r\nHTML\\style48\\eolfill = false\r\nHTML\\style48\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style48\\paper = f6f3ea\r\nHTML\\style49\\color = 7f007f\r\nHTML\\style49\\eolfill = false\r\nHTML\\style49\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style49\\paper = f6f3ea\r\nHTML\\style50\\color = 0\r\nHTML\\style50\\eolfill = false\r\nHTML\\style50\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style50\\paper = f6f3ea\r\nHTML\\style51\\color = 0\r\nHTML\\style51\\eolfill = true\r\nHTML\\style51\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style51\\paper = f6f3ea\r\nHTML\\style52\\color = 0\r\nHTML\\style52\\eolfill = false\r\nHTML\\style52\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style52\\paper = f6f3ea\r\nHTML\\style55\\color = 7f7f00\r\nHTML\\style55\\eolfill = false\r\nHTML\\style55\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style55\\paper = f6f3ea\r\nHTML\\style56\\color = 0\r\nHTML\\style56\\eolfill = true\r\nHTML\\style56\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style56\\paper = f6f3ea\r\nHTML\\style57\\color = 7f00\r\nHTML\\style57\\eolfill = true\r\nHTML\\style57\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style57\\paper = f6f3ea\r\nHTML\\style58\\color = 7f00\r\nHTML\\style58\\eolfill = false\r\nHTML\\style58\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style58\\paper = f6f3ea\r\nHTML\\style59\\color = 7f7f7f\r\nHTML\\style59\\eolfill = true\r\nHTML\\style59\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style59\\paper = f6f3ea\r\nHTML\\style60\\color = 7f7f\r\nHTML\\style60\\eolfill = false\r\nHTML\\style60\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style60\\paper = f6f3ea\r\nHTML\\style61\\color = 0\r\nHTML\\style61\\eolfill = false\r\nHTML\\style61\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style61\\paper = f6f3ea\r\nHTML\\style62\\color = 8000ff\r\nHTML\\style62\\eolfill = false\r\nHTML\\style62\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style62\\paper = f6f3ea\r\nHTML\\style63\\color = 7f007f\r\nHTML\\style63\\eolfill = false\r\nHTML\\style63\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style63\\paper = f6f3ea\r\nHTML\\style64\\color = 7f007f\r\nHTML\\style64\\eolfill = false\r\nHTML\\style64\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style64\\paper = f6f3ea\r\nHTML\\style65\\color = 0\r\nHTML\\style65\\eolfill = false\r\nHTML\\style65\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style65\\paper = f6f3ea\r\nHTML\\style66\\color = 0\r\nHTML\\style66\\eolfill = true\r\nHTML\\style66\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style66\\paper = f6f3ea\r\nHTML\\style67\\color = 0\r\nHTML\\style67\\eolfill = false\r\nHTML\\style67\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style67\\paper = f6f3ea\r\nHTML\\style70\\color = 0\r\nHTML\\style70\\eolfill = false\r\nHTML\\style70\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style70\\paper = f6f3ea\r\nHTML\\style71\\color = 0\r\nHTML\\style71\\eolfill = true\r\nHTML\\style71\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style71\\paper = f6f3ea\r\nHTML\\style72\\color = 8000\r\nHTML\\style72\\eolfill = true\r\nHTML\\style72\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style72\\paper = f6f3ea\r\nHTML\\style73\\color = ff0000\r\nHTML\\style73\\eolfill = true\r\nHTML\\style73\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style73\\paper = f6f3ea\r\nHTML\\style74\\color = ff\r\nHTML\\style74\\eolfill = true\r\nHTML\\style74\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style74\\paper = f6f3ea\r\nHTML\\style75\\color = 800080\r\nHTML\\style75\\eolfill = true\r\nHTML\\style75\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style75\\paper = f6f3ea\r\nHTML\\style76\\color = ff\r\nHTML\\style76\\eolfill = true\r\nHTML\\style76\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style76\\paper = f6f3ea\r\nHTML\\style77\\color = ff\r\nHTML\\style77\\eolfill = true\r\nHTML\\style77\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style77\\paper = f6f3ea\r\nHTML\\style80\\color = 0\r\nHTML\\style80\\eolfill = false\r\nHTML\\style80\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style80\\paper = f6f3ea\r\nHTML\\style81\\color = 0\r\nHTML\\style81\\eolfill = true\r\nHTML\\style81\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style81\\paper = f6f3ea\r\nHTML\\style82\\color = 8000\r\nHTML\\style82\\eolfill = true\r\nHTML\\style82\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style82\\paper = f6f3ea\r\nHTML\\style83\\color = ff0000\r\nHTML\\style83\\eolfill = true\r\nHTML\\style83\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style83\\paper = f6f3ea\r\nHTML\\style84\\color = ff\r\nHTML\\style84\\eolfill = true\r\nHTML\\style84\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style84\\paper = f6f3ea\r\nHTML\\style85\\color = 800080\r\nHTML\\style85\\eolfill = true\r\nHTML\\style85\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style85\\paper = f6f3ea\r\nHTML\\style86\\color = ff\r\nHTML\\style86\\eolfill = true\r\nHTML\\style86\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style86\\paper = f6f3ea\r\nHTML\\style87\\color = ff\r\nHTML\\style87\\eolfill = true\r\nHTML\\style87\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style87\\paper = f6f3ea\r\nHTML\\style90\\color = 808080\r\nHTML\\style90\\eolfill = false\r\nHTML\\style90\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style90\\paper = f6f3ea\r\nHTML\\style91\\color = 808080\r\nHTML\\style91\\eolfill = true\r\nHTML\\style91\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style91\\paper = f6f3ea\r\nHTML\\style92\\color = 7f00\r\nHTML\\style92\\eolfill = true\r\nHTML\\style92\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style92\\paper = f6f3ea\r\nHTML\\style93\\color = 7f7f\r\nHTML\\style93\\eolfill = true\r\nHTML\\style93\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style93\\paper = f6f3ea\r\nHTML\\style94\\color = 7f007f\r\nHTML\\style94\\eolfill = true\r\nHTML\\style94\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style94\\paper = f6f3ea\r\nHTML\\style95\\color = 7f007f\r\nHTML\\style95\\eolfill = true\r\nHTML\\style95\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style95\\paper = f6f3ea\r\nHTML\\style96\\color = 8000ff\r\nHTML\\style96\\eolfill = true\r\nHTML\\style96\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style96\\paper = f6f3ea\r\nHTML\\style97\\color = 7f0000\r\nHTML\\style97\\eolfill = true\r\nHTML\\style97\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style97\\paper = f6f3ea\r\nHTML\\style98\\color = 7f0000\r\nHTML\\style98\\eolfill = true\r\nHTML\\style98\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style98\\paper = f6f3ea\r\nHTML\\style99\\color = ff\r\nHTML\\style99\\eolfill = true\r\nHTML\\style99\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style99\\paper = f6f3ea\r\nHTML\\style100\\color = 7f7f\r\nHTML\\style100\\eolfill = true\r\nHTML\\style100\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style100\\paper = f6f3ea\r\nHTML\\style101\\color = 0\r\nHTML\\style101\\eolfill = true\r\nHTML\\style101\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style101\\paper = f6f3ea\r\nHTML\\style102\\color = 0\r\nHTML\\style102\\eolfill = true\r\nHTML\\style102\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style102\\paper = f6f3ea\r\nHTML\\style105\\color = 808080\r\nHTML\\style105\\eolfill = false\r\nHTML\\style105\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style105\\paper = f6f3ea\r\nHTML\\style106\\color = 808080\r\nHTML\\style106\\eolfill = true\r\nHTML\\style106\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style106\\paper = f6f3ea\r\nHTML\\style107\\color = 7f00\r\nHTML\\style107\\eolfill = true\r\nHTML\\style107\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style107\\paper = f6f3ea\r\nHTML\\style108\\color = 7f7f\r\nHTML\\style108\\eolfill = true\r\nHTML\\style108\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style108\\paper = f6f3ea\r\nHTML\\style109\\color = 7f007f\r\nHTML\\style109\\eolfill = true\r\nHTML\\style109\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style109\\paper = f6f3ea\r\nHTML\\style110\\color = 7f007f\r\nHTML\\style110\\eolfill = true\r\nHTML\\style110\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style110\\paper = f6f3ea\r\nHTML\\style111\\color = 8000ff\r\nHTML\\style111\\eolfill = true\r\nHTML\\style111\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style111\\paper = f6f3ea\r\nHTML\\style112\\color = 7f0000\r\nHTML\\style112\\eolfill = true\r\nHTML\\style112\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style112\\paper = f6f3ea\r\nHTML\\style113\\color = 7f0000\r\nHTML\\style113\\eolfill = true\r\nHTML\\style113\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style113\\paper = f6f3ea\r\nHTML\\style114\\color = ff\r\nHTML\\style114\\eolfill = true\r\nHTML\\style114\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style114\\paper = f6f3ea\r\nHTML\\style115\\color = 7f7f\r\nHTML\\style115\\eolfill = true\r\nHTML\\style115\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style115\\paper = f6f3ea\r\nHTML\\style116\\color = 0\r\nHTML\\style116\\eolfill = true\r\nHTML\\style116\\font = Courier New, 14, 1, 0, 0\r\nHTML\\style116\\paper = f6f3ea\r\nHTML\\style117\\color = 0\r\nHTML\\style117\\eolfill = true\r\nHTML\\style117\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style117\\paper = f6f3ea\r\nHTML\\style118\\color = 33\r\nHTML\\style118\\eolfill = true\r\nHTML\\style118\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style118\\paper = f6f3ea\r\nHTML\\style119\\color = 7f00\r\nHTML\\style119\\eolfill = false\r\nHTML\\style119\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style119\\paper = f6f3ea\r\nHTML\\style120\\color = 9f00\r\nHTML\\style120\\eolfill = false\r\nHTML\\style120\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style120\\paper = f6f3ea\r\nHTML\\style121\\color = 7f007f\r\nHTML\\style121\\eolfill = false\r\nHTML\\style121\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style121\\paper = f6f3ea\r\nHTML\\style122\\color = cc9900\r\nHTML\\style122\\eolfill = false\r\nHTML\\style122\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style122\\paper = f6f3ea\r\nHTML\\style123\\color = 8000ff\r\nHTML\\style123\\eolfill = false\r\nHTML\\style123\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style123\\paper = f6f3ea\r\nHTML\\style124\\color = 999999\r\nHTML\\style124\\eolfill = false\r\nHTML\\style124\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style124\\paper = f6f3ea\r\nHTML\\style125\\color = 666666\r\nHTML\\style125\\eolfill = false\r\nHTML\\style125\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style125\\paper = f6f3ea\r\nHTML\\style126\\color = 8000ff\r\nHTML\\style126\\eolfill = false\r\nHTML\\style126\\font = Courier New, 14, 0, 1, 0\r\nHTML\\style126\\paper = f6f3ea\r\nHTML\\style127\\color = 0\r\nHTML\\style127\\eolfill = false\r\nHTML\\style127\\font = Courier New, 14, 0, 0, 0\r\nHTML\\style127\\paper = f6f3ea\r\nHTML\\properties\\foldcompact = true\r\nHTML\\properties\\foldpreprocessor = true\r\nHTML\\properties\\casesensitivetags = false\r\nHTML\\properties\\foldscriptcomments = false\r\nHTML\\properties\\foldscriptheredocs = false\r\nHTML\\properties\\djangotemplates = false\r\nHTML\\properties\\makotemplates = false\r\nHTML\\defaultcolor = 0\r\nHTML\\defaultpaper = f6f3ea\r\nHTML\\defaultfont = Courier New, 14, 0, 0, 0\r\nHTML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/props.ini",
    "content": "[Scintilla]\r\nProperties\\style0\\color = 0\r\nProperties\\style0\\eolfill = false\r\nProperties\\style0\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style0\\paper = f6f3ea\r\nProperties\\style1\\color = 7f7f\r\nProperties\\style1\\eolfill = false\r\nProperties\\style1\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style1\\paper = f6f3ea\r\nProperties\\style2\\color = 7f007f\r\nProperties\\style2\\eolfill = true\r\nProperties\\style2\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style2\\paper = f6f3ea\r\nProperties\\style3\\color = b06000\r\nProperties\\style3\\eolfill = false\r\nProperties\\style3\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style3\\paper = f6f3ea\r\nProperties\\style4\\color = 7f7f00\r\nProperties\\style4\\eolfill = false\r\nProperties\\style4\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style4\\paper = f6f3ea\r\nProperties\\style5\\color = ff\r\nProperties\\style5\\eolfill = false\r\nProperties\\style5\\font = Courier New, 14, 0, 0, 0\r\nProperties\\style5\\paper = f6f3ea\r\nProperties\\properties\\foldcompact = true\r\nProperties\\properties\\initialspaces = true\r\nProperties\\defaultcolor = 0\r\nProperties\\defaultpaper = f6f3ea\r\nProperties\\defaultfont = Courier New, 14, 0, 0, 0\r\nProperties\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/python.ini",
    "content": "[Scintilla]\r\nPython\\style0\\color = 808080\r\nPython\\style0\\eolfill = false\r\nPython\\style0\\font = Courier New, 14, 0, 0, 0\r\nPython\\style0\\paper = f6f3ea\r\nPython\\style1\\color = 7f00\r\nPython\\style1\\eolfill = false\r\nPython\\style1\\font = Courier New, 14, 0, 0, 0\r\nPython\\style1\\paper = f6f3ea\r\nPython\\style2\\color = 7f7f\r\nPython\\style2\\eolfill = false\r\nPython\\style2\\font = Courier New, 14, 0, 0, 0\r\nPython\\style2\\paper = f6f3ea\r\nPython\\style3\\color = 7f007f\r\nPython\\style3\\eolfill = false\r\nPython\\style3\\font = Courier New, 14, 0, 0, 0\r\nPython\\style3\\paper = f6f3ea\r\nPython\\style4\\color = 7f007f\r\nPython\\style4\\eolfill = false\r\nPython\\style4\\font = Courier New, 14, 0, 0, 0\r\nPython\\style4\\paper = f6f3ea\r\nPython\\style5\\color = ff\r\nPython\\style5\\eolfill = false\r\nPython\\style5\\font = Courier New, 14, 1, 0, 0\r\nPython\\style5\\paper = f6f3ea\r\nPython\\style6\\color = 7f0000\r\nPython\\style6\\eolfill = false\r\nPython\\style6\\font = Courier New, 14, 0, 0, 0\r\nPython\\style6\\paper = f6f3ea\r\nPython\\style7\\color = 7f0000\r\nPython\\style7\\eolfill = false\r\nPython\\style7\\font = Courier New, 14, 0, 0, 0\r\nPython\\style7\\paper = f6f3ea\r\nPython\\style8\\color = ff\r\nPython\\style8\\eolfill = false\r\nPython\\style8\\font = Courier New, 14, 0, 0, 0\r\nPython\\style8\\paper = f6f3ea\r\nPython\\style9\\color = 8000ff\r\nPython\\style9\\eolfill = false\r\nPython\\style9\\font = Courier New, 14, 0, 0, 0\r\nPython\\style9\\paper = f6f3ea\r\nPython\\style10\\color = 0\r\nPython\\style10\\eolfill = false\r\nPython\\style10\\font = Courier New, 14, 0, 0, 0\r\nPython\\style10\\paper = f6f3ea\r\nPython\\style11\\color = 0\r\nPython\\style11\\eolfill = false\r\nPython\\style11\\font = Courier New, 14, 0, 0, 0\r\nPython\\style11\\paper = f6f3ea\r\nPython\\style12\\color = 7f7f7f\r\nPython\\style12\\eolfill = false\r\nPython\\style12\\font = Courier New, 14, 0, 0, 0\r\nPython\\style12\\paper = f6f3ea\r\nPython\\style13\\color = 0\r\nPython\\style13\\eolfill = true\r\nPython\\style13\\font = Courier New, 14, 0, 0, 0\r\nPython\\style13\\paper = f6f3ea\r\nPython\\style14\\color = 407090\r\nPython\\style14\\eolfill = false\r\nPython\\style14\\font = Courier New, 14, 0, 0, 0\r\nPython\\style14\\paper = f6f3ea\r\nPython\\style15\\color = 805000\r\nPython\\style15\\eolfill = false\r\nPython\\style15\\font = Courier New, 14, 0, 0, 0\r\nPython\\style15\\paper = f6f3ea\r\nPython\\style16\\color = 7f007f\r\nPython\\style16\\eolfill = false\r\nPython\\style16\\font = Courier New, 14, 0, 0, 0\r\nPython\\style16\\paper = f6f3ea\r\nPython\\style17\\color = 7f007f\r\nPython\\style17\\eolfill = false\r\nPython\\style17\\font = Courier New, 14, 0, 0, 0\r\nPython\\style17\\paper = f6f3ea\r\nPython\\style18\\color = 7f0000\r\nPython\\style18\\eolfill = false\r\nPython\\style18\\font = Courier New, 14, 0, 0, 0\r\nPython\\style18\\paper = f6f3ea\r\nPython\\style19\\color = 7f0000\r\nPython\\style19\\eolfill = false\r\nPython\\style19\\font = Courier New, 14, 0, 0, 0\r\nPython\\style19\\paper = f6f3ea\r\nPython\\properties\\foldcomments = false\r\nPython\\properties\\foldcompact = true\r\nPython\\properties\\foldquotes = false\r\nPython\\properties\\indentwarning = 0\r\nPython\\properties\\stringsovernewline = false\r\nPython\\properties\\v2unicode = true\r\nPython\\properties\\v3binaryoctal = true\r\nPython\\properties\\v3bytes = true\r\nPython\\properties\\highlightsubids = true\r\nPython\\defaultcolor = 0\r\nPython\\defaultpaper = f6f3ea\r\nPython\\defaultfont = Courier New, 14, 0, 0, 0\r\nPython\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/rc.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = f6f3ea\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = f6f3ea\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = f6f3ea\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = f6f3ea\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = f6f3ea\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = f6f3ea\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = f6f3ea\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = f6f3ea\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = f6f3ea\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = f6f3ea\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = f6f3ea\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = f6f3ea\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = f6f3ea\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = f6f3ea\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = f6f3ea\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = f6f3ea\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = f6f3ea\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = f6f3ea\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = f6f3ea\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = f6f3ea\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = f6f3ea\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = f6f3ea\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = f6f3ea\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = f6f3ea\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = f6f3ea\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = f6f3ea\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = f6f3ea\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = f6f3ea\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = f6f3ea\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = f6f3ea\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = f6f3ea\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = f6f3ea\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = f6f3ea\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = f6f3ea\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = f6f3ea\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = f6f3ea\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = f6f3ea\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = f6f3ea\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = f6f3ea\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = f6f3ea\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = f6f3ea\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = f6f3ea\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = f6f3ea\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = f6f3ea\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = f6f3ea\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = f6f3ea\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = f6f3ea\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = f6f3ea\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = f6f3ea\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = f6f3ea\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = f6f3ea\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = f6f3ea\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = f6f3ea\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = f6f3ea\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = f6f3ea\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = f6f3ea\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = f6f3ea\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/ruby.ini",
    "content": "[Scintilla]\r\nRuby\\style0\\color = 808080\r\nRuby\\style0\\eolfill = false\r\nRuby\\style0\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style0\\paper = f6f3ea\r\nRuby\\style1\\color = 0\r\nRuby\\style1\\eolfill = false\r\nRuby\\style1\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style1\\paper = f6f3ea\r\nRuby\\style2\\color = 7f00\r\nRuby\\style2\\eolfill = false\r\nRuby\\style2\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style2\\paper = f6f3ea\r\nRuby\\style3\\color = 4000\r\nRuby\\style3\\eolfill = true\r\nRuby\\style3\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style3\\paper = f6f3ea\r\nRuby\\style4\\color = 7f7f\r\nRuby\\style4\\eolfill = false\r\nRuby\\style4\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style4\\paper = f6f3ea\r\nRuby\\style5\\color = 8000ff\r\nRuby\\style5\\eolfill = false\r\nRuby\\style5\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style5\\paper = f6f3ea\r\nRuby\\style6\\color = 7f007f\r\nRuby\\style6\\eolfill = false\r\nRuby\\style6\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style6\\paper = f6f3ea\r\nRuby\\style7\\color = 7f007f\r\nRuby\\style7\\eolfill = false\r\nRuby\\style7\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style7\\paper = f6f3ea\r\nRuby\\style8\\color = ff\r\nRuby\\style8\\eolfill = false\r\nRuby\\style8\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style8\\paper = f6f3ea\r\nRuby\\style9\\color = 7f7f\r\nRuby\\style9\\eolfill = false\r\nRuby\\style9\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style9\\paper = f6f3ea\r\nRuby\\style10\\color = 0\r\nRuby\\style10\\eolfill = false\r\nRuby\\style10\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style10\\paper = f6f3ea\r\nRuby\\style11\\color = 0\r\nRuby\\style11\\eolfill = false\r\nRuby\\style11\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style11\\paper = f6f3ea\r\nRuby\\style12\\color = 0\r\nRuby\\style12\\eolfill = false\r\nRuby\\style12\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style12\\paper = f6f3ea\r\nRuby\\style13\\color = 800080\r\nRuby\\style13\\eolfill = false\r\nRuby\\style13\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style13\\paper = f6f3ea\r\nRuby\\style14\\color = c0a030\r\nRuby\\style14\\eolfill = false\r\nRuby\\style14\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style14\\paper = f6f3ea\r\nRuby\\style15\\color = a000a0\r\nRuby\\style15\\eolfill = false\r\nRuby\\style15\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style15\\paper = f6f3ea\r\nRuby\\style16\\color = b00080\r\nRuby\\style16\\eolfill = false\r\nRuby\\style16\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style16\\paper = f6f3ea\r\nRuby\\style17\\color = 8000b0\r\nRuby\\style17\\eolfill = false\r\nRuby\\style17\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style17\\paper = f6f3ea\r\nRuby\\style18\\color = ffff00\r\nRuby\\style18\\eolfill = false\r\nRuby\\style18\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style18\\paper = f6f3ea\r\nRuby\\style19\\color = 600000\r\nRuby\\style19\\eolfill = true\r\nRuby\\style19\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style19\\paper = f6f3ea\r\nRuby\\style20\\color = 0\r\nRuby\\style20\\eolfill = false\r\nRuby\\style20\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style20\\paper = f6f3ea\r\nRuby\\style21\\color = 7f007f\r\nRuby\\style21\\eolfill = true\r\nRuby\\style21\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style21\\paper = f6f3ea\r\nRuby\\style24\\color = 7f007f\r\nRuby\\style24\\eolfill = false\r\nRuby\\style24\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style24\\paper = f6f3ea\r\nRuby\\style25\\color = 7f007f\r\nRuby\\style25\\eolfill = false\r\nRuby\\style25\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style25\\paper = f6f3ea\r\nRuby\\style26\\color = ffff00\r\nRuby\\style26\\eolfill = false\r\nRuby\\style26\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style26\\paper = f6f3ea\r\nRuby\\style27\\color = 0\r\nRuby\\style27\\eolfill = false\r\nRuby\\style27\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style27\\paper = f6f3ea\r\nRuby\\style28\\color = 0\r\nRuby\\style28\\eolfill = false\r\nRuby\\style28\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style28\\paper = f6f3ea\r\nRuby\\style29\\color = 8000ff\r\nRuby\\style29\\eolfill = false\r\nRuby\\style29\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style29\\paper = f6f3ea\r\nRuby\\style30\\color = 0\r\nRuby\\style30\\eolfill = false\r\nRuby\\style30\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style30\\paper = f6f3ea\r\nRuby\\style31\\color = 0\r\nRuby\\style31\\eolfill = false\r\nRuby\\style31\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style31\\paper = f6f3ea\r\nRuby\\style40\\color = 0\r\nRuby\\style40\\eolfill = false\r\nRuby\\style40\\font = Courier New, 14, 0, 0, 0\r\nRuby\\style40\\paper = f6f3ea\r\nRuby\\defaultcolor = 0\r\nRuby\\defaultpaper = f6f3ea\r\nRuby\\defaultfont = Courier New, 14, 0, 0, 0\r\nRuby\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/rust.ini",
    "content": "[Scintilla]\r\nRUST\\style0\\color = 0\r\nRUST\\style0\\eolfill = false\r\nRUST\\style0\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style0\\paper = f6f3ea\r\nRUST\\style1\\color = 0\r\nRUST\\style1\\eolfill = false\r\nRUST\\style1\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style1\\paper = f6f3ea\r\nRUST\\style2\\color = 0\r\nRUST\\style2\\eolfill = false\r\nRUST\\style2\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style2\\paper = f6f3ea\r\nRUST\\style3\\color = 0\r\nRUST\\style3\\eolfill = false\r\nRUST\\style3\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style3\\paper = f6f3ea\r\nRUST\\style4\\color = 0\r\nRUST\\style4\\eolfill = false\r\nRUST\\style4\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style4\\paper = f6f3ea\r\nRUST\\style5\\color = 0\r\nRUST\\style5\\eolfill = false\r\nRUST\\style5\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style5\\paper = f6f3ea\r\nRUST\\style6\\color = ff\r\nRUST\\style6\\eolfill = false\r\nRUST\\style6\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style6\\paper = f6f3ea\r\nRUST\\style7\\color = ff\r\nRUST\\style7\\eolfill = false\r\nRUST\\style7\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style7\\paper = f6f3ea\r\nRUST\\style8\\color = ff\r\nRUST\\style8\\eolfill = false\r\nRUST\\style8\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style8\\paper = f6f3ea\r\nRUST\\style9\\color = ff\r\nRUST\\style9\\eolfill = false\r\nRUST\\style9\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style9\\paper = f6f3ea\r\nRUST\\style10\\color = ff\r\nRUST\\style10\\eolfill = false\r\nRUST\\style10\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style10\\paper = f6f3ea\r\nRUST\\style11\\color = ff\r\nRUST\\style11\\eolfill = false\r\nRUST\\style11\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style11\\paper = f6f3ea\r\nRUST\\style12\\color = ff\r\nRUST\\style12\\eolfill = false\r\nRUST\\style12\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style12\\paper = f6f3ea\r\nRUST\\style13\\color = 0\r\nRUST\\style13\\eolfill = false\r\nRUST\\style13\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style13\\paper = f6f3ea\r\nRUST\\style14\\color = 0\r\nRUST\\style14\\eolfill = false\r\nRUST\\style14\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style14\\paper = f6f3ea\r\nRUST\\style15\\color = 0\r\nRUST\\style15\\eolfill = false\r\nRUST\\style15\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style15\\paper = f6f3ea\r\nRUST\\style16\\color = 0\r\nRUST\\style16\\eolfill = false\r\nRUST\\style16\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style16\\paper = f6f3ea\r\nRUST\\style17\\color = 0\r\nRUST\\style17\\eolfill = false\r\nRUST\\style17\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style17\\paper = f6f3ea\r\nRUST\\style18\\color = 0\r\nRUST\\style18\\eolfill = false\r\nRUST\\style18\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style18\\paper = f6f3ea\r\nRUST\\style19\\color = 0\r\nRUST\\style19\\eolfill = false\r\nRUST\\style19\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style19\\paper = f6f3ea\r\nRUST\\style20\\color = 0\r\nRUST\\style20\\eolfill = false\r\nRUST\\style20\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style20\\paper = f6f3ea\r\nRUST\\style21\\color = 0\r\nRUST\\style21\\eolfill = false\r\nRUST\\style21\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style21\\paper = f6f3ea\r\nRUST\\style22\\color = 0\r\nRUST\\style22\\eolfill = false\r\nRUST\\style22\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style22\\paper = f6f3ea\r\nRUST\\style23\\color = 0\r\nRUST\\style23\\eolfill = false\r\nRUST\\style23\\font = Courier New, 14, 0, 0, 0\r\nRUST\\style23\\paper = f6f3ea\r\nRUST\\defaultcolor = 0\r\nRUST\\defaultpaper = f6f3ea\r\nRUST\\defaultfont = Courier New, 14, 0, 0, 0\r\nRUST\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/spice.ini",
    "content": "[Scintilla]\r\nSpice\\style0\\color = 808080\r\nSpice\\style0\\eolfill = false\r\nSpice\\style0\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style0\\paper = f6f3ea\r\nSpice\\style1\\color = 0\r\nSpice\\style1\\eolfill = false\r\nSpice\\style1\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style1\\paper = f6f3ea\r\nSpice\\style2\\color = 7f\r\nSpice\\style2\\eolfill = false\r\nSpice\\style2\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style2\\paper = f6f3ea\r\nSpice\\style3\\color = 7f\r\nSpice\\style3\\eolfill = false\r\nSpice\\style3\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style3\\paper = f6f3ea\r\nSpice\\style4\\color = 40e0\r\nSpice\\style4\\eolfill = false\r\nSpice\\style4\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style4\\paper = f6f3ea\r\nSpice\\style5\\color = 7f7f\r\nSpice\\style5\\eolfill = false\r\nSpice\\style5\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style5\\paper = f6f3ea\r\nSpice\\style6\\color = 0\r\nSpice\\style6\\eolfill = false\r\nSpice\\style6\\font = Courier New, 14, 1, 0, 0\r\nSpice\\style6\\paper = f6f3ea\r\nSpice\\style7\\color = 7f007f\r\nSpice\\style7\\eolfill = false\r\nSpice\\style7\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style7\\paper = f6f3ea\r\nSpice\\style8\\color = 7f00\r\nSpice\\style8\\eolfill = false\r\nSpice\\style8\\font = Courier New, 14, 0, 0, 0\r\nSpice\\style8\\paper = f6f3ea\r\nSpice\\defaultcolor = 0\r\nSpice\\defaultpaper = f6f3ea\r\nSpice\\defaultfont = Courier New, 14, 0, 0, 0\r\nSpice\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/sql.ini",
    "content": "[Scintilla]\r\nSQL\\style0\\color = 808080\r\nSQL\\style0\\eolfill = false\r\nSQL\\style0\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style0\\paper = f6f3ea\r\nSQL\\style1\\color = 7f00\r\nSQL\\style1\\eolfill = false\r\nSQL\\style1\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style1\\paper = f6f3ea\r\nSQL\\style2\\color = 7f00\r\nSQL\\style2\\eolfill = false\r\nSQL\\style2\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style2\\paper = f6f3ea\r\nSQL\\style3\\color = 7f7f7f\r\nSQL\\style3\\eolfill = false\r\nSQL\\style3\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style3\\paper = f6f3ea\r\nSQL\\style4\\color = 7f7f\r\nSQL\\style4\\eolfill = false\r\nSQL\\style4\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style4\\paper = f6f3ea\r\nSQL\\style5\\color = 8000ff\r\nSQL\\style5\\eolfill = false\r\nSQL\\style5\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style5\\paper = f6f3ea\r\nSQL\\style6\\color = 7f007f\r\nSQL\\style6\\eolfill = false\r\nSQL\\style6\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style6\\paper = f6f3ea\r\nSQL\\style7\\color = 7f007f\r\nSQL\\style7\\eolfill = false\r\nSQL\\style7\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style7\\paper = f6f3ea\r\nSQL\\style8\\color = 7f7f00\r\nSQL\\style8\\eolfill = false\r\nSQL\\style8\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style8\\paper = f6f3ea\r\nSQL\\style9\\color = 7f00\r\nSQL\\style9\\eolfill = true\r\nSQL\\style9\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style9\\paper = f6f3ea\r\nSQL\\style10\\color = 0\r\nSQL\\style10\\eolfill = false\r\nSQL\\style10\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style10\\paper = f6f3ea\r\nSQL\\style11\\color = 0\r\nSQL\\style11\\eolfill = false\r\nSQL\\style11\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style11\\paper = f6f3ea\r\nSQL\\style13\\color = 7f00\r\nSQL\\style13\\eolfill = false\r\nSQL\\style13\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style13\\paper = f6f3ea\r\nSQL\\style15\\color = 7f00\r\nSQL\\style15\\eolfill = false\r\nSQL\\style15\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style15\\paper = f6f3ea\r\nSQL\\style17\\color = 3060a0\r\nSQL\\style17\\eolfill = false\r\nSQL\\style17\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style17\\paper = f6f3ea\r\nSQL\\style18\\color = 804020\r\nSQL\\style18\\eolfill = false\r\nSQL\\style18\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style18\\paper = f6f3ea\r\nSQL\\style19\\color = 4b0082\r\nSQL\\style19\\eolfill = false\r\nSQL\\style19\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style19\\paper = f6f3ea\r\nSQL\\style20\\color = b00040\r\nSQL\\style20\\eolfill = false\r\nSQL\\style20\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style20\\paper = f6f3ea\r\nSQL\\style21\\color = 8b0000\r\nSQL\\style21\\eolfill = false\r\nSQL\\style21\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style21\\paper = f6f3ea\r\nSQL\\style22\\color = 800080\r\nSQL\\style22\\eolfill = false\r\nSQL\\style22\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style22\\paper = f6f3ea\r\nSQL\\style23\\color = 0\r\nSQL\\style23\\eolfill = false\r\nSQL\\style23\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style23\\paper = f6f3ea\r\nSQL\\style24\\color = 0\r\nSQL\\style24\\eolfill = false\r\nSQL\\style24\\font = Courier New, 14, 0, 0, 0\r\nSQL\\style24\\paper = f6f3ea\r\nSQL\\defaultcolor = 0\r\nSQL\\defaultpaper = f6f3ea\r\nSQL\\defaultfont = Courier New, 14, 0, 0, 0\r\nSQL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/tcl.ini",
    "content": "[Scintilla]\r\nTCL\\style0\\color = 808080\r\nTCL\\style0\\eolfill = false\r\nTCL\\style0\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style0\\paper = f6f3ea\r\nTCL\\style1\\color = 7f00\r\nTCL\\style1\\eolfill = false\r\nTCL\\style1\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style1\\paper = f6f3ea\r\nTCL\\style2\\color = 7f00\r\nTCL\\style2\\eolfill = false\r\nTCL\\style2\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style2\\paper = f6f3ea\r\nTCL\\style3\\color = 7f7f\r\nTCL\\style3\\eolfill = false\r\nTCL\\style3\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style3\\paper = f6f3ea\r\nTCL\\style4\\color = 7f007f\r\nTCL\\style4\\eolfill = false\r\nTCL\\style4\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style4\\paper = f6f3ea\r\nTCL\\style5\\color = 7f007f\r\nTCL\\style5\\eolfill = true\r\nTCL\\style5\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style5\\paper = f6f3ea\r\nTCL\\style6\\color = 0\r\nTCL\\style6\\eolfill = false\r\nTCL\\style6\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style6\\paper = f6f3ea\r\nTCL\\style7\\color = 8000ff\r\nTCL\\style7\\eolfill = false\r\nTCL\\style7\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style7\\paper = f6f3ea\r\nTCL\\style8\\color = 7f7f00\r\nTCL\\style8\\eolfill = false\r\nTCL\\style8\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style8\\paper = f6f3ea\r\nTCL\\style9\\color = 7f7f00\r\nTCL\\style9\\eolfill = false\r\nTCL\\style9\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style9\\paper = f6f3ea\r\nTCL\\style10\\color = 7f007f\r\nTCL\\style10\\eolfill = false\r\nTCL\\style10\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style10\\paper = f6f3ea\r\nTCL\\style11\\color = 8000ff\r\nTCL\\style11\\eolfill = false\r\nTCL\\style11\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style11\\paper = f6f3ea\r\nTCL\\style12\\color = 8000ff\r\nTCL\\style12\\eolfill = false\r\nTCL\\style12\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style12\\paper = f6f3ea\r\nTCL\\style13\\color = 8000ff\r\nTCL\\style13\\eolfill = false\r\nTCL\\style13\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style13\\paper = f6f3ea\r\nTCL\\style14\\color = 8000ff\r\nTCL\\style14\\eolfill = false\r\nTCL\\style14\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style14\\paper = f6f3ea\r\nTCL\\style15\\color = 8000ff\r\nTCL\\style15\\eolfill = false\r\nTCL\\style15\\font = Courier New, 14, 1, 0, 0\r\nTCL\\style15\\paper = f6f3ea\r\nTCL\\style16\\color = 8000ff\r\nTCL\\style16\\eolfill = false\r\nTCL\\style16\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style16\\paper = f6f3ea\r\nTCL\\style17\\color = 8000ff\r\nTCL\\style17\\eolfill = false\r\nTCL\\style17\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style17\\paper = f6f3ea\r\nTCL\\style18\\color = 8000ff\r\nTCL\\style18\\eolfill = false\r\nTCL\\style18\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style18\\paper = f6f3ea\r\nTCL\\style19\\color = 8000ff\r\nTCL\\style19\\eolfill = false\r\nTCL\\style19\\font = Courier New, 14, 0, 0, 0\r\nTCL\\style19\\paper = f6f3ea\r\nTCL\\style20\\color = 7f00\r\nTCL\\style20\\eolfill = true\r\nTCL\\style20\\font = Courier New, 9, 0, 0, 0\r\nTCL\\style20\\paper = f6f3ea\r\nTCL\\style21\\color = 0\r\nTCL\\style21\\eolfill = false\r\nTCL\\style21\\font = Courier New, 8, 0, 0, 0\r\nTCL\\style21\\paper = f6f3ea\r\nTCL\\properties\\foldcomments = false\r\nTCL\\defaultcolor = 0\r\nTCL\\defaultpaper = f6f3ea\r\nTCL\\defaultfont = Courier New, 14, 0, 0, 0\r\nTCL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/txt.ini",
    "content": "[Scintilla]\r\nTXT\\style0\\color = 0\r\nTXT\\style0\\eolfill = false\r\nTXT\\style0\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style0\\paper = f6f3ea\r\nTXT\\style1\\color = 0\r\nTXT\\style1\\eolfill = false\r\nTXT\\style1\\font = Courier New, 14, 0, 0, 0\r\nTXT\\style1\\paper = f6f3ea\r\nTXT\\defaultcolor = 0\r\nTXT\\defaultpaper = f6f3ea\r\nTXT\\defaultfont = Courier New, 14, 0, 0, 0\r\nTXT\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/typescript.ini",
    "content": "[Scintilla]\r\nC%2B%2B\\style0\\color = 808080\r\nC%2B%2B\\style0\\eolfill = false\r\nC%2B%2B\\style0\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style0\\paper = f6f3ea\r\nC%2B%2B\\style1\\color = 7f00\r\nC%2B%2B\\style1\\eolfill = false\r\nC%2B%2B\\style1\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style1\\paper = f6f3ea\r\nC%2B%2B\\style2\\color = 7f00\r\nC%2B%2B\\style2\\eolfill = false\r\nC%2B%2B\\style2\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style2\\paper = f6f3ea\r\nC%2B%2B\\style3\\color = 3f703f\r\nC%2B%2B\\style3\\eolfill = false\r\nC%2B%2B\\style3\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style3\\paper = f6f3ea\r\nC%2B%2B\\style4\\color = 7f7f\r\nC%2B%2B\\style4\\eolfill = false\r\nC%2B%2B\\style4\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style4\\paper = f6f3ea\r\nC%2B%2B\\style5\\color = 8000ff\r\nC%2B%2B\\style5\\eolfill = false\r\nC%2B%2B\\style5\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style5\\paper = f6f3ea\r\nC%2B%2B\\style6\\color = 7f007f\r\nC%2B%2B\\style6\\eolfill = false\r\nC%2B%2B\\style6\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style6\\paper = f6f3ea\r\nC%2B%2B\\style7\\color = 7f007f\r\nC%2B%2B\\style7\\eolfill = false\r\nC%2B%2B\\style7\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style7\\paper = f6f3ea\r\nC%2B%2B\\style8\\color = 0\r\nC%2B%2B\\style8\\eolfill = false\r\nC%2B%2B\\style8\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style8\\paper = f6f3ea\r\nC%2B%2B\\style9\\color = 7f7f00\r\nC%2B%2B\\style9\\eolfill = false\r\nC%2B%2B\\style9\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style9\\paper = f6f3ea\r\nC%2B%2B\\style10\\color = 0\r\nC%2B%2B\\style10\\eolfill = false\r\nC%2B%2B\\style10\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style10\\paper = f6f3ea\r\nC%2B%2B\\style11\\color = 0\r\nC%2B%2B\\style11\\eolfill = false\r\nC%2B%2B\\style11\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style11\\paper = f6f3ea\r\nC%2B%2B\\style12\\color = 0\r\nC%2B%2B\\style12\\eolfill = true\r\nC%2B%2B\\style12\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style12\\paper = f6f3ea\r\nC%2B%2B\\style13\\color = 7f00\r\nC%2B%2B\\style13\\eolfill = true\r\nC%2B%2B\\style13\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style13\\paper = f6f3ea\r\nC%2B%2B\\style14\\color = 3f7f3f\r\nC%2B%2B\\style14\\eolfill = true\r\nC%2B%2B\\style14\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style14\\paper = f6f3ea\r\nC%2B%2B\\style15\\color = 3f703f\r\nC%2B%2B\\style15\\eolfill = false\r\nC%2B%2B\\style15\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style15\\paper = f6f3ea\r\nC%2B%2B\\style16\\color = 0\r\nC%2B%2B\\style16\\eolfill = false\r\nC%2B%2B\\style16\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style16\\paper = f6f3ea\r\nC%2B%2B\\style17\\color = 3060a0\r\nC%2B%2B\\style17\\eolfill = false\r\nC%2B%2B\\style17\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style17\\paper = f6f3ea\r\nC%2B%2B\\style18\\color = 804020\r\nC%2B%2B\\style18\\eolfill = false\r\nC%2B%2B\\style18\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style18\\paper = f6f3ea\r\nC%2B%2B\\style19\\color = 0\r\nC%2B%2B\\style19\\eolfill = false\r\nC%2B%2B\\style19\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style19\\paper = f6f3ea\r\nC%2B%2B\\style20\\color = 7f007f\r\nC%2B%2B\\style20\\eolfill = false\r\nC%2B%2B\\style20\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style20\\paper = f6f3ea\r\nC%2B%2B\\style21\\color = 7f00\r\nC%2B%2B\\style21\\eolfill = true\r\nC%2B%2B\\style21\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style21\\paper = f6f3ea\r\nC%2B%2B\\style22\\color = 7f00\r\nC%2B%2B\\style22\\eolfill = true\r\nC%2B%2B\\style22\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style22\\paper = f6f3ea\r\nC%2B%2B\\style23\\color = 659900\r\nC%2B%2B\\style23\\eolfill = false\r\nC%2B%2B\\style23\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style23\\paper = f6f3ea\r\nC%2B%2B\\style24\\color = 3f703f\r\nC%2B%2B\\style24\\eolfill = false\r\nC%2B%2B\\style24\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style24\\paper = f6f3ea\r\nC%2B%2B\\style25\\color = c06000\r\nC%2B%2B\\style25\\eolfill = false\r\nC%2B%2B\\style25\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style25\\paper = f6f3ea\r\nC%2B%2B\\style26\\color = be07ff\r\nC%2B%2B\\style26\\eolfill = false\r\nC%2B%2B\\style26\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style26\\paper = f6f3ea\r\nC%2B%2B\\style27\\color = 0\r\nC%2B%2B\\style27\\eolfill = false\r\nC%2B%2B\\style27\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style27\\paper = f6f3ea\r\nC%2B%2B\\style64\\color = c0c0c0\r\nC%2B%2B\\style64\\eolfill = false\r\nC%2B%2B\\style64\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style64\\paper = f6f3ea\r\nC%2B%2B\\style65\\color = 90b090\r\nC%2B%2B\\style65\\eolfill = false\r\nC%2B%2B\\style65\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style65\\paper = f6f3ea\r\nC%2B%2B\\style66\\color = 90b090\r\nC%2B%2B\\style66\\eolfill = false\r\nC%2B%2B\\style66\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style66\\paper = f6f3ea\r\nC%2B%2B\\style67\\color = d0d0d0\r\nC%2B%2B\\style67\\eolfill = false\r\nC%2B%2B\\style67\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style67\\paper = f6f3ea\r\nC%2B%2B\\style68\\color = 90b090\r\nC%2B%2B\\style68\\eolfill = false\r\nC%2B%2B\\style68\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style68\\paper = f6f3ea\r\nC%2B%2B\\style69\\color = 9090b0\r\nC%2B%2B\\style69\\eolfill = false\r\nC%2B%2B\\style69\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style69\\paper = f6f3ea\r\nC%2B%2B\\style70\\color = b090b0\r\nC%2B%2B\\style70\\eolfill = false\r\nC%2B%2B\\style70\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style70\\paper = f6f3ea\r\nC%2B%2B\\style71\\color = b090b0\r\nC%2B%2B\\style71\\eolfill = false\r\nC%2B%2B\\style71\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style71\\paper = f6f3ea\r\nC%2B%2B\\style72\\color = c0c0c0\r\nC%2B%2B\\style72\\eolfill = false\r\nC%2B%2B\\style72\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style72\\paper = f6f3ea\r\nC%2B%2B\\style73\\color = b0b090\r\nC%2B%2B\\style73\\eolfill = false\r\nC%2B%2B\\style73\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style73\\paper = f6f3ea\r\nC%2B%2B\\style74\\color = b0b0b0\r\nC%2B%2B\\style74\\eolfill = false\r\nC%2B%2B\\style74\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style74\\paper = f6f3ea\r\nC%2B%2B\\style75\\color = b0b0b0\r\nC%2B%2B\\style75\\eolfill = false\r\nC%2B%2B\\style75\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style75\\paper = f6f3ea\r\nC%2B%2B\\style76\\color = 0\r\nC%2B%2B\\style76\\eolfill = true\r\nC%2B%2B\\style76\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style76\\paper = f6f3ea\r\nC%2B%2B\\style77\\color = 90b090\r\nC%2B%2B\\style77\\eolfill = true\r\nC%2B%2B\\style77\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style77\\paper = f6f3ea\r\nC%2B%2B\\style78\\color = 7faf7f\r\nC%2B%2B\\style78\\eolfill = true\r\nC%2B%2B\\style78\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style78\\paper = f6f3ea\r\nC%2B%2B\\style79\\color = c0c0c0\r\nC%2B%2B\\style79\\eolfill = false\r\nC%2B%2B\\style79\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style79\\paper = f6f3ea\r\nC%2B%2B\\style80\\color = c0c0c0\r\nC%2B%2B\\style80\\eolfill = false\r\nC%2B%2B\\style80\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style80\\paper = f6f3ea\r\nC%2B%2B\\style81\\color = c0c0c0\r\nC%2B%2B\\style81\\eolfill = false\r\nC%2B%2B\\style81\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style81\\paper = f6f3ea\r\nC%2B%2B\\style82\\color = c0c0c0\r\nC%2B%2B\\style82\\eolfill = false\r\nC%2B%2B\\style82\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style82\\paper = f6f3ea\r\nC%2B%2B\\style83\\color = b0b0b0\r\nC%2B%2B\\style83\\eolfill = false\r\nC%2B%2B\\style83\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style83\\paper = f6f3ea\r\nC%2B%2B\\style84\\color = b090b0\r\nC%2B%2B\\style84\\eolfill = false\r\nC%2B%2B\\style84\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style84\\paper = f6f3ea\r\nC%2B%2B\\style85\\color = 90b090\r\nC%2B%2B\\style85\\eolfill = true\r\nC%2B%2B\\style85\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style85\\paper = f6f3ea\r\nC%2B%2B\\style86\\color = 90b090\r\nC%2B%2B\\style86\\eolfill = true\r\nC%2B%2B\\style86\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style86\\paper = f6f3ea\r\nC%2B%2B\\style87\\color = a0c090\r\nC%2B%2B\\style87\\eolfill = false\r\nC%2B%2B\\style87\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style87\\paper = f6f3ea\r\nC%2B%2B\\style88\\color = c0c0c0\r\nC%2B%2B\\style88\\eolfill = false\r\nC%2B%2B\\style88\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style88\\paper = f6f3ea\r\nC%2B%2B\\style89\\color = d7a090\r\nC%2B%2B\\style89\\eolfill = false\r\nC%2B%2B\\style89\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style89\\paper = f6f3ea\r\nC%2B%2B\\style90\\color = c3a1cf\r\nC%2B%2B\\style90\\eolfill = false\r\nC%2B%2B\\style90\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style90\\paper = f6f3ea\r\nC%2B%2B\\style91\\color = 0\r\nC%2B%2B\\style91\\eolfill = false\r\nC%2B%2B\\style91\\font = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\style91\\paper = f6f3ea\r\nC%2B%2B\\properties\\foldatelse = false\r\nC%2B%2B\\properties\\foldcomments = false\r\nC%2B%2B\\properties\\foldcompact = true\r\nC%2B%2B\\properties\\foldpreprocessor = true\r\nC%2B%2B\\properties\\stylepreprocessor = false\r\nC%2B%2B\\properties\\dollars = true\r\nC%2B%2B\\properties\\highlighttriple = false\r\nC%2B%2B\\properties\\highlighthash = false\r\nC%2B%2B\\properties\\highlightback = false\r\nC%2B%2B\\properties\\highlightescape = false\r\nC%2B%2B\\properties\\verbatimstringescape = false\r\nC%2B%2B\\defaultcolor = 0\r\nC%2B%2B\\defaultpaper = f6f3ea\r\nC%2B%2B\\defaultfont = Courier New, 14, 0, 0, 0\r\nC%2B%2B\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/vb.ini",
    "content": "[Scintilla]\r\nVB\\style0\\color = 0\r\nVB\\style0\\eolfill = false\r\nVB\\style0\\font = Courier New, 14, 0, 0, 0\r\nVB\\style0\\paper = f6f3ea\r\nVB\\style1\\color = 0\r\nVB\\style1\\eolfill = false\r\nVB\\style1\\font = Courier New, 14, 0, 0, 0\r\nVB\\style1\\paper = f6f3ea\r\nVB\\style2\\color = 7f7f\r\nVB\\style2\\eolfill = false\r\nVB\\style2\\font = Courier New, 14, 0, 0, 0\r\nVB\\style2\\paper = f6f3ea\r\nVB\\style3\\color = ff\r\nVB\\style3\\eolfill = false\r\nVB\\style3\\font = Courier New, 14, 1, 0, 0\r\nVB\\style3\\paper = f6f3ea\r\nVB\\style4\\color = 7f007f\r\nVB\\style4\\eolfill = false\r\nVB\\style4\\font = Courier New, 14, 0, 0, 0\r\nVB\\style4\\paper = f6f3ea\r\nVB\\style5\\color = 0\r\nVB\\style5\\eolfill = false\r\nVB\\style5\\font = Courier New, 14, 0, 0, 0\r\nVB\\style5\\paper = f6f3ea\r\nVB\\style6\\color = ff0000\r\nVB\\style6\\eolfill = false\r\nVB\\style6\\font = Courier New, 14, 0, 0, 0\r\nVB\\style6\\paper = f6f3ea\r\nVB\\style7\\color = 0\r\nVB\\style7\\eolfill = false\r\nVB\\style7\\font = Courier New, 14, 0, 0, 0\r\nVB\\style7\\paper = f6f3ea\r\nVB\\style8\\color = 0\r\nVB\\style8\\eolfill = false\r\nVB\\style8\\font = Courier New, 14, 0, 0, 0\r\nVB\\style8\\paper = f6f3ea\r\nVB\\style9\\color = 0\r\nVB\\style9\\eolfill = false\r\nVB\\style9\\font = Courier New, 14, 0, 0, 0\r\nVB\\style9\\paper = f6f3ea\r\nVB\\style10\\color = ff\r\nVB\\style10\\eolfill = false\r\nVB\\style10\\font = Courier New, 14, 1, 0, 0\r\nVB\\style10\\paper = f6f3ea\r\nVB\\style11\\color = ff\r\nVB\\style11\\eolfill = false\r\nVB\\style11\\font = Courier New, 14, 1, 0, 0\r\nVB\\style11\\paper = f6f3ea\r\nVB\\style12\\color = ff\r\nVB\\style12\\eolfill = false\r\nVB\\style12\\font = Courier New, 14, 1, 0, 0\r\nVB\\style12\\paper = f6f3ea\r\nVB\\style13\\color = 0\r\nVB\\style13\\eolfill = false\r\nVB\\style13\\font = Courier New, 14, 0, 0, 0\r\nVB\\style13\\paper = f6f3ea\r\nVB\\style14\\color = 0\r\nVB\\style14\\eolfill = false\r\nVB\\style14\\font = Courier New, 14, 0, 0, 0\r\nVB\\style14\\paper = f6f3ea\r\nVB\\style15\\color = 0\r\nVB\\style15\\eolfill = false\r\nVB\\style15\\font = Courier New, 14, 0, 0, 0\r\nVB\\style15\\paper = f6f3ea\r\nVB\\style16\\color = 0\r\nVB\\style16\\eolfill = false\r\nVB\\style16\\font = Courier New, 14, 0, 0, 0\r\nVB\\style16\\paper = f6f3ea\r\nVB\\style17\\color = 0\r\nVB\\style17\\eolfill = false\r\nVB\\style17\\font = Courier New, 14, 0, 0, 0\r\nVB\\style17\\paper = f6f3ea\r\nVB\\style18\\color = 0\r\nVB\\style18\\eolfill = false\r\nVB\\style18\\font = Courier New, 14, 0, 0, 0\r\nVB\\style18\\paper = f6f3ea\r\nVB\\style19\\color = 0\r\nVB\\style19\\eolfill = false\r\nVB\\style19\\font = Courier New, 14, 0, 0, 0\r\nVB\\style19\\paper = f6f3ea\r\nVB\\style20\\color = 0\r\nVB\\style20\\eolfill = false\r\nVB\\style20\\font = Courier New, 14, 0, 0, 0\r\nVB\\style20\\paper = f6f3ea\r\nVB\\style21\\color = 0\r\nVB\\style21\\eolfill = false\r\nVB\\style21\\font = Courier New, 14, 0, 0, 0\r\nVB\\style21\\paper = f6f3ea\r\nVB\\style22\\color = ff\r\nVB\\style22\\eolfill = false\r\nVB\\style22\\font = Courier New, 14, 1, 0, 0\r\nVB\\style22\\paper = f6f3ea\r\nVB\\style23\\color = 0\r\nVB\\style23\\eolfill = false\r\nVB\\style23\\font = Courier New, 14, 0, 0, 0\r\nVB\\style23\\paper = f6f3ea\r\nVB\\defaultcolor = 0\r\nVB\\defaultpaper = f6f3ea\r\nVB\\defaultfont = Courier New, 14, 0, 0, 0\r\nVB\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/verilog.ini",
    "content": "[Scintilla]\r\nVerilog\\style0\\color = 808080\r\nVerilog\\style0\\eolfill = false\r\nVerilog\\style0\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style0\\paper = f6f3ea\r\nVerilog\\style1\\color = 7f00\r\nVerilog\\style1\\eolfill = false\r\nVerilog\\style1\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style1\\paper = f6f3ea\r\nVerilog\\style2\\color = 7f00\r\nVerilog\\style2\\eolfill = false\r\nVerilog\\style2\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style2\\paper = f6f3ea\r\nVerilog\\style3\\color = 3f7f3f\r\nVerilog\\style3\\eolfill = true\r\nVerilog\\style3\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style3\\paper = f6f3ea\r\nVerilog\\style4\\color = 7f7f\r\nVerilog\\style4\\eolfill = false\r\nVerilog\\style4\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style4\\paper = f6f3ea\r\nVerilog\\style5\\color = 8000ff\r\nVerilog\\style5\\eolfill = false\r\nVerilog\\style5\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style5\\paper = f6f3ea\r\nVerilog\\style6\\color = 7f007f\r\nVerilog\\style6\\eolfill = false\r\nVerilog\\style6\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style6\\paper = f6f3ea\r\nVerilog\\style7\\color = 7f7f\r\nVerilog\\style7\\eolfill = false\r\nVerilog\\style7\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style7\\paper = f6f3ea\r\nVerilog\\style8\\color = 804020\r\nVerilog\\style8\\eolfill = false\r\nVerilog\\style8\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style8\\paper = f6f3ea\r\nVerilog\\style9\\color = 7f7f00\r\nVerilog\\style9\\eolfill = false\r\nVerilog\\style9\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style9\\paper = f6f3ea\r\nVerilog\\style10\\color = 7070\r\nVerilog\\style10\\eolfill = false\r\nVerilog\\style10\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style10\\paper = f6f3ea\r\nVerilog\\style11\\color = 0\r\nVerilog\\style11\\eolfill = false\r\nVerilog\\style11\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style11\\paper = f6f3ea\r\nVerilog\\style12\\color = 0\r\nVerilog\\style12\\eolfill = true\r\nVerilog\\style12\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style12\\paper = f6f3ea\r\nVerilog\\style19\\color = 2a00ff\r\nVerilog\\style19\\eolfill = false\r\nVerilog\\style19\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style19\\paper = f6f3ea\r\nVerilog\\style20\\color = 2a00ff\r\nVerilog\\style20\\eolfill = false\r\nVerilog\\style20\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style20\\paper = f6f3ea\r\nVerilog\\style21\\color = 7f0000\r\nVerilog\\style21\\eolfill = false\r\nVerilog\\style21\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style21\\paper = f6f3ea\r\nVerilog\\style22\\color = 8000ff\r\nVerilog\\style22\\eolfill = false\r\nVerilog\\style22\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style22\\paper = f6f3ea\r\nVerilog\\style23\\color = ff\r\nVerilog\\style23\\eolfill = false\r\nVerilog\\style23\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style23\\paper = f6f3ea\r\nVerilog\\style24\\color = 5032\r\nVerilog\\style24\\eolfill = false\r\nVerilog\\style24\\font = Courier New, 14, 0, 0, 0\r\nVerilog\\style24\\paper = f6f3ea\r\nVerilog\\style64\\color = 0\r\nVerilog\\style64\\eolfill = true\r\nVerilog\\style64\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style64\\paper = f6f3ea\r\nVerilog\\style65\\color = 808080\r\nVerilog\\style65\\eolfill = true\r\nVerilog\\style65\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style65\\paper = f6f3ea\r\nVerilog\\style66\\color = 808080\r\nVerilog\\style66\\eolfill = true\r\nVerilog\\style66\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style66\\paper = f6f3ea\r\nVerilog\\style67\\color = 808080\r\nVerilog\\style67\\eolfill = true\r\nVerilog\\style67\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style67\\paper = f6f3ea\r\nVerilog\\style68\\color = 808080\r\nVerilog\\style68\\eolfill = true\r\nVerilog\\style68\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style68\\paper = f6f3ea\r\nVerilog\\style69\\color = 808080\r\nVerilog\\style69\\eolfill = true\r\nVerilog\\style69\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style69\\paper = f6f3ea\r\nVerilog\\style70\\color = 808080\r\nVerilog\\style70\\eolfill = true\r\nVerilog\\style70\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style70\\paper = f6f3ea\r\nVerilog\\style71\\color = 808080\r\nVerilog\\style71\\eolfill = true\r\nVerilog\\style71\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style71\\paper = f6f3ea\r\nVerilog\\style72\\color = 808080\r\nVerilog\\style72\\eolfill = true\r\nVerilog\\style72\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style72\\paper = f6f3ea\r\nVerilog\\style73\\color = 808080\r\nVerilog\\style73\\eolfill = true\r\nVerilog\\style73\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style73\\paper = f6f3ea\r\nVerilog\\style74\\color = 808080\r\nVerilog\\style74\\eolfill = true\r\nVerilog\\style74\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style74\\paper = f6f3ea\r\nVerilog\\style75\\color = 808080\r\nVerilog\\style75\\eolfill = true\r\nVerilog\\style75\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style75\\paper = f6f3ea\r\nVerilog\\style76\\color = 808080\r\nVerilog\\style76\\eolfill = true\r\nVerilog\\style76\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style76\\paper = f6f3ea\r\nVerilog\\style83\\color = 808080\r\nVerilog\\style83\\eolfill = true\r\nVerilog\\style83\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style83\\paper = f6f3ea\r\nVerilog\\style84\\color = 808080\r\nVerilog\\style84\\eolfill = true\r\nVerilog\\style84\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style84\\paper = f6f3ea\r\nVerilog\\style85\\color = 808080\r\nVerilog\\style85\\eolfill = true\r\nVerilog\\style85\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style85\\paper = f6f3ea\r\nVerilog\\style86\\color = 808080\r\nVerilog\\style86\\eolfill = true\r\nVerilog\\style86\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style86\\paper = f6f3ea\r\nVerilog\\style87\\color = 808080\r\nVerilog\\style87\\eolfill = true\r\nVerilog\\style87\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style87\\paper = f6f3ea\r\nVerilog\\style88\\color = 808080\r\nVerilog\\style88\\eolfill = true\r\nVerilog\\style88\\font = Courier New, 14, 0, 1, 0\r\nVerilog\\style88\\paper = f6f3ea\r\nVerilog\\properties\\foldatelse = false\r\nVerilog\\properties\\foldcomments = false\r\nVerilog\\properties\\foldcompact = true\r\nVerilog\\properties\\foldpreprocessor = false\r\nVerilog\\properties\\foldverilogflags = false\r\nVerilog\\defaultcolor = 0\r\nVerilog\\defaultpaper = f6f3ea\r\nVerilog\\defaultfont = Courier New, 14, 0, 0, 0\r\nVerilog\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/vhdl.ini",
    "content": "[Scintilla]\r\nVHDL\\style0\\color = 800080\r\nVHDL\\style0\\eolfill = false\r\nVHDL\\style0\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style0\\paper = f6f3ea\r\nVHDL\\style1\\color = 7f00\r\nVHDL\\style1\\eolfill = false\r\nVHDL\\style1\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style1\\paper = f6f3ea\r\nVHDL\\style2\\color = 3f7f3f\r\nVHDL\\style2\\eolfill = false\r\nVHDL\\style2\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style2\\paper = f6f3ea\r\nVHDL\\style3\\color = 7f7f\r\nVHDL\\style3\\eolfill = false\r\nVHDL\\style3\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style3\\paper = f6f3ea\r\nVHDL\\style4\\color = 7f007f\r\nVHDL\\style4\\eolfill = false\r\nVHDL\\style4\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style4\\paper = f6f3ea\r\nVHDL\\style5\\color = 0\r\nVHDL\\style5\\eolfill = false\r\nVHDL\\style5\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style5\\paper = f6f3ea\r\nVHDL\\style6\\color = 0\r\nVHDL\\style6\\eolfill = false\r\nVHDL\\style6\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style6\\paper = f6f3ea\r\nVHDL\\style7\\color = 0\r\nVHDL\\style7\\eolfill = true\r\nVHDL\\style7\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style7\\paper = f6f3ea\r\nVHDL\\style8\\color = 8000ff\r\nVHDL\\style8\\eolfill = false\r\nVHDL\\style8\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style8\\paper = f6f3ea\r\nVHDL\\style9\\color = 7f7f\r\nVHDL\\style9\\eolfill = false\r\nVHDL\\style9\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style9\\paper = f6f3ea\r\nVHDL\\style10\\color = 804020\r\nVHDL\\style10\\eolfill = false\r\nVHDL\\style10\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style10\\paper = f6f3ea\r\nVHDL\\style11\\color = 808020\r\nVHDL\\style11\\eolfill = false\r\nVHDL\\style11\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style11\\paper = f6f3ea\r\nVHDL\\style12\\color = 208020\r\nVHDL\\style12\\eolfill = false\r\nVHDL\\style12\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style12\\paper = f6f3ea\r\nVHDL\\style13\\color = 208080\r\nVHDL\\style13\\eolfill = false\r\nVHDL\\style13\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style13\\paper = f6f3ea\r\nVHDL\\style14\\color = 804020\r\nVHDL\\style14\\eolfill = false\r\nVHDL\\style14\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style14\\paper = f6f3ea\r\nVHDL\\style15\\color = 0\r\nVHDL\\style15\\eolfill = false\r\nVHDL\\style15\\font = Courier New, 14, 0, 0, 0\r\nVHDL\\style15\\paper = f6f3ea\r\nVHDL\\properties\\foldcomments = true\r\nVHDL\\properties\\foldcompact = true\r\nVHDL\\properties\\foldatelse = true\r\nVHDL\\properties\\foldatbegin = true\r\nVHDL\\properties\\foldatparenthesis = true\r\nVHDL\\defaultcolor = 0\r\nVHDL\\defaultpaper = f6f3ea\r\nVHDL\\defaultfont = Courier New, 14, 0, 0, 0\r\nVHDL\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/xml.ini",
    "content": "[Scintilla]\r\nXML\\style0\\color = 0\r\nXML\\style0\\eolfill = false\r\nXML\\style0\\font = Courier New, 13, 0, 0, 0\r\nXML\\style0\\paper = f6f3ea\r\nXML\\style1\\color = ff\r\nXML\\style1\\eolfill = false\r\nXML\\style1\\font = Courier New, 14, 0, 0, 0\r\nXML\\style1\\paper = f6f3ea\r\nXML\\style2\\color = ff\r\nXML\\style2\\eolfill = false\r\nXML\\style2\\font = Courier New, 14, 0, 0, 0\r\nXML\\style2\\paper = f6f3ea\r\nXML\\style3\\color = ff0000\r\nXML\\style3\\eolfill = false\r\nXML\\style3\\font = Courier New, 14, 0, 0, 0\r\nXML\\style3\\paper = f6f3ea\r\nXML\\style4\\color = ff0000\r\nXML\\style4\\eolfill = false\r\nXML\\style4\\font = Courier New, 14, 0, 0, 0\r\nXML\\style4\\paper = f6f3ea\r\nXML\\style5\\color = 7f7f\r\nXML\\style5\\eolfill = false\r\nXML\\style5\\font = Courier New, 14, 0, 0, 0\r\nXML\\style5\\paper = f6f3ea\r\nXML\\style6\\color = 7f007f\r\nXML\\style6\\eolfill = false\r\nXML\\style6\\font = Courier New, 14, 0, 0, 0\r\nXML\\style6\\paper = f6f3ea\r\nXML\\style7\\color = 7f007f\r\nXML\\style7\\eolfill = false\r\nXML\\style7\\font = Courier New, 14, 0, 0, 0\r\nXML\\style7\\paper = f6f3ea\r\nXML\\style8\\color = 800080\r\nXML\\style8\\eolfill = false\r\nXML\\style8\\font = Courier New, 14, 0, 0, 0\r\nXML\\style8\\paper = f6f3ea\r\nXML\\style9\\color = 808000\r\nXML\\style9\\eolfill = false\r\nXML\\style9\\font = Courier New, 9, 0, 0, 0\r\nXML\\style9\\paper = f6f3ea\r\nXML\\style10\\color = 800080\r\nXML\\style10\\eolfill = false\r\nXML\\style10\\font = Courier New, 13, 0, 0, 0\r\nXML\\style10\\paper = f6f3ea\r\nXML\\style11\\color = ff\r\nXML\\style11\\eolfill = false\r\nXML\\style11\\font = Courier New, 14, 0, 0, 0\r\nXML\\style11\\paper = f6f3ea\r\nXML\\style12\\color = 800080\r\nXML\\style12\\eolfill = false\r\nXML\\style12\\font = Courier New, 14, 1, 0, 0\r\nXML\\style12\\paper = f6f3ea\r\nXML\\style13\\color = 800080\r\nXML\\style13\\eolfill = false\r\nXML\\style13\\font = Courier New, 14, 1, 0, 0\r\nXML\\style13\\paper = f6f3ea\r\nXML\\style14\\color = ff\r\nXML\\style14\\eolfill = false\r\nXML\\style14\\font = Courier New, 14, 0, 0, 0\r\nXML\\style14\\paper = f6f3ea\r\nXML\\style15\\color = 0\r\nXML\\style15\\eolfill = false\r\nXML\\style15\\font = Courier New, 14, 0, 0, 0\r\nXML\\style15\\paper = f6f3ea\r\nXML\\style16\\color = 0\r\nXML\\style16\\eolfill = false\r\nXML\\style16\\font = Courier New, 14, 0, 0, 0\r\nXML\\style16\\paper = f6f3ea\r\nXML\\style17\\color = 800000\r\nXML\\style17\\eolfill = true\r\nXML\\style17\\font = Courier New, 13, 0, 0, 0\r\nXML\\style17\\paper = f6f3ea\r\nXML\\style18\\color = 800000\r\nXML\\style18\\eolfill = false\r\nXML\\style18\\font = Courier New, 14, 0, 0, 0\r\nXML\\style18\\paper = f6f3ea\r\nXML\\style19\\color = 608060\r\nXML\\style19\\eolfill = false\r\nXML\\style19\\font = Courier New, 14, 0, 0, 0\r\nXML\\style19\\paper = f6f3ea\r\nXML\\style20\\color = 0\r\nXML\\style20\\eolfill = false\r\nXML\\style20\\font = Courier New, 14, 0, 0, 0\r\nXML\\style20\\paper = f6f3ea\r\nXML\\style21\\color = ff\r\nXML\\style21\\eolfill = false\r\nXML\\style21\\font = Courier New, 14, 0, 0, 0\r\nXML\\style21\\paper = f6f3ea\r\nXML\\style22\\color = ff\r\nXML\\style22\\eolfill = false\r\nXML\\style22\\font = Courier New, 14, 1, 0, 0\r\nXML\\style22\\paper = f6f3ea\r\nXML\\style23\\color = 6600\r\nXML\\style23\\eolfill = false\r\nXML\\style23\\font = Courier New, 14, 0, 0, 0\r\nXML\\style23\\paper = f6f3ea\r\nXML\\style24\\color = 800000\r\nXML\\style24\\eolfill = false\r\nXML\\style24\\font = Courier New, 14, 0, 0, 0\r\nXML\\style24\\paper = f6f3ea\r\nXML\\style25\\color = 993300\r\nXML\\style25\\eolfill = false\r\nXML\\style25\\font = Courier New, 14, 0, 0, 0\r\nXML\\style25\\paper = f6f3ea\r\nXML\\style26\\color = 800000\r\nXML\\style26\\eolfill = false\r\nXML\\style26\\font = Courier New, 14, 0, 0, 0\r\nXML\\style26\\paper = f6f3ea\r\nXML\\style27\\color = 3366ff\r\nXML\\style27\\eolfill = false\r\nXML\\style27\\font = Courier New, 14, 0, 0, 0\r\nXML\\style27\\paper = f6f3ea\r\nXML\\style29\\color = 808000\r\nXML\\style29\\eolfill = false\r\nXML\\style29\\font = Courier New, 14, 0, 0, 0\r\nXML\\style29\\paper = f6f3ea\r\nXML\\style30\\color = 0\r\nXML\\style30\\eolfill = false\r\nXML\\style30\\font = Courier New, 14, 0, 0, 0\r\nXML\\style30\\paper = f6f3ea\r\nXML\\style31\\color = 66\r\nXML\\style31\\eolfill = false\r\nXML\\style31\\font = Courier New, 14, 0, 0, 0\r\nXML\\style31\\paper = f6f3ea\r\nXML\\style40\\color = 7f7f00\r\nXML\\style40\\eolfill = false\r\nXML\\style40\\font = Courier New, 14, 0, 0, 0\r\nXML\\style40\\paper = f6f3ea\r\nXML\\style41\\color = 0\r\nXML\\style41\\eolfill = true\r\nXML\\style41\\font = Courier New, 14, 1, 0, 0\r\nXML\\style41\\paper = f6f3ea\r\nXML\\style42\\color = 7f00\r\nXML\\style42\\eolfill = true\r\nXML\\style42\\font = Courier New, 14, 0, 0, 0\r\nXML\\style42\\paper = f6f3ea\r\nXML\\style43\\color = 7f00\r\nXML\\style43\\eolfill = false\r\nXML\\style43\\font = Courier New, 14, 0, 0, 0\r\nXML\\style43\\paper = f6f3ea\r\nXML\\style44\\color = 3f703f\r\nXML\\style44\\eolfill = true\r\nXML\\style44\\font = Courier New, 14, 1, 0, 0\r\nXML\\style44\\paper = f6f3ea\r\nXML\\style45\\color = 7f7f\r\nXML\\style45\\eolfill = false\r\nXML\\style45\\font = Courier New, 14, 0, 0, 0\r\nXML\\style45\\paper = f6f3ea\r\nXML\\style46\\color = 0\r\nXML\\style46\\eolfill = false\r\nXML\\style46\\font = Courier New, 14, 0, 0, 0\r\nXML\\style46\\paper = f6f3ea\r\nXML\\style47\\color = 8000ff\r\nXML\\style47\\eolfill = false\r\nXML\\style47\\font = Courier New, 14, 1, 0, 0\r\nXML\\style47\\paper = f6f3ea\r\nXML\\style48\\color = 7f007f\r\nXML\\style48\\eolfill = false\r\nXML\\style48\\font = Courier New, 14, 0, 0, 0\r\nXML\\style48\\paper = f6f3ea\r\nXML\\style49\\color = 7f007f\r\nXML\\style49\\eolfill = false\r\nXML\\style49\\font = Courier New, 14, 0, 0, 0\r\nXML\\style49\\paper = f6f3ea\r\nXML\\style50\\color = 0\r\nXML\\style50\\eolfill = false\r\nXML\\style50\\font = Courier New, 14, 1, 0, 0\r\nXML\\style50\\paper = f6f3ea\r\nXML\\style51\\color = 0\r\nXML\\style51\\eolfill = true\r\nXML\\style51\\font = Courier New, 14, 0, 0, 0\r\nXML\\style51\\paper = f6f3ea\r\nXML\\style52\\color = 0\r\nXML\\style52\\eolfill = false\r\nXML\\style52\\font = Courier New, 14, 0, 0, 0\r\nXML\\style52\\paper = f6f3ea\r\nXML\\style55\\color = 7f7f00\r\nXML\\style55\\eolfill = false\r\nXML\\style55\\font = Courier New, 14, 0, 0, 0\r\nXML\\style55\\paper = f6f3ea\r\nXML\\style56\\color = 0\r\nXML\\style56\\eolfill = true\r\nXML\\style56\\font = Courier New, 14, 1, 0, 0\r\nXML\\style56\\paper = f6f3ea\r\nXML\\style57\\color = 7f00\r\nXML\\style57\\eolfill = true\r\nXML\\style57\\font = Courier New, 14, 0, 0, 0\r\nXML\\style57\\paper = f6f3ea\r\nXML\\style58\\color = 7f00\r\nXML\\style58\\eolfill = false\r\nXML\\style58\\font = Courier New, 14, 0, 0, 0\r\nXML\\style58\\paper = f6f3ea\r\nXML\\style59\\color = 7f7f7f\r\nXML\\style59\\eolfill = true\r\nXML\\style59\\font = Courier New, 14, 1, 0, 0\r\nXML\\style59\\paper = f6f3ea\r\nXML\\style60\\color = 7f7f\r\nXML\\style60\\eolfill = false\r\nXML\\style60\\font = Courier New, 14, 0, 0, 0\r\nXML\\style60\\paper = f6f3ea\r\nXML\\style61\\color = 0\r\nXML\\style61\\eolfill = false\r\nXML\\style61\\font = Courier New, 14, 0, 0, 0\r\nXML\\style61\\paper = f6f3ea\r\nXML\\style62\\color = 8000ff\r\nXML\\style62\\eolfill = false\r\nXML\\style62\\font = Courier New, 14, 1, 0, 0\r\nXML\\style62\\paper = f6f3ea\r\nXML\\style63\\color = 7f007f\r\nXML\\style63\\eolfill = false\r\nXML\\style63\\font = Courier New, 14, 0, 0, 0\r\nXML\\style63\\paper = f6f3ea\r\nXML\\style64\\color = 7f007f\r\nXML\\style64\\eolfill = false\r\nXML\\style64\\font = Courier New, 14, 0, 0, 0\r\nXML\\style64\\paper = f6f3ea\r\nXML\\style65\\color = 0\r\nXML\\style65\\eolfill = false\r\nXML\\style65\\font = Courier New, 14, 1, 0, 0\r\nXML\\style65\\paper = f6f3ea\r\nXML\\style66\\color = 0\r\nXML\\style66\\eolfill = true\r\nXML\\style66\\font = Courier New, 14, 0, 0, 0\r\nXML\\style66\\paper = f6f3ea\r\nXML\\style67\\color = 0\r\nXML\\style67\\eolfill = false\r\nXML\\style67\\font = Courier New, 14, 0, 0, 0\r\nXML\\style67\\paper = f6f3ea\r\nXML\\style70\\color = 0\r\nXML\\style70\\eolfill = false\r\nXML\\style70\\font = Courier New, 14, 0, 0, 0\r\nXML\\style70\\paper = f6f3ea\r\nXML\\style71\\color = 0\r\nXML\\style71\\eolfill = true\r\nXML\\style71\\font = Courier New, 14, 0, 0, 0\r\nXML\\style71\\paper = f6f3ea\r\nXML\\style72\\color = 8000\r\nXML\\style72\\eolfill = true\r\nXML\\style72\\font = Courier New, 14, 0, 0, 0\r\nXML\\style72\\paper = f6f3ea\r\nXML\\style73\\color = ff0000\r\nXML\\style73\\eolfill = true\r\nXML\\style73\\font = Courier New, 14, 0, 0, 0\r\nXML\\style73\\paper = f6f3ea\r\nXML\\style74\\color = ff\r\nXML\\style74\\eolfill = true\r\nXML\\style74\\font = Courier New, 14, 0, 0, 0\r\nXML\\style74\\paper = f6f3ea\r\nXML\\style75\\color = 800080\r\nXML\\style75\\eolfill = true\r\nXML\\style75\\font = Courier New, 14, 0, 0, 0\r\nXML\\style75\\paper = f6f3ea\r\nXML\\style76\\color = ff\r\nXML\\style76\\eolfill = true\r\nXML\\style76\\font = Courier New, 14, 0, 0, 0\r\nXML\\style76\\paper = f6f3ea\r\nXML\\style77\\color = ff\r\nXML\\style77\\eolfill = true\r\nXML\\style77\\font = Courier New, 14, 0, 0, 0\r\nXML\\style77\\paper = f6f3ea\r\nXML\\style80\\color = 0\r\nXML\\style80\\eolfill = false\r\nXML\\style80\\font = Courier New, 14, 0, 0, 0\r\nXML\\style80\\paper = f6f3ea\r\nXML\\style81\\color = 0\r\nXML\\style81\\eolfill = true\r\nXML\\style81\\font = Courier New, 14, 0, 0, 0\r\nXML\\style81\\paper = f6f3ea\r\nXML\\style82\\color = 8000\r\nXML\\style82\\eolfill = true\r\nXML\\style82\\font = Courier New, 14, 0, 0, 0\r\nXML\\style82\\paper = f6f3ea\r\nXML\\style83\\color = ff0000\r\nXML\\style83\\eolfill = true\r\nXML\\style83\\font = Courier New, 14, 0, 0, 0\r\nXML\\style83\\paper = f6f3ea\r\nXML\\style84\\color = ff\r\nXML\\style84\\eolfill = true\r\nXML\\style84\\font = Courier New, 14, 0, 0, 0\r\nXML\\style84\\paper = f6f3ea\r\nXML\\style85\\color = 800080\r\nXML\\style85\\eolfill = true\r\nXML\\style85\\font = Courier New, 14, 0, 0, 0\r\nXML\\style85\\paper = f6f3ea\r\nXML\\style86\\color = ff\r\nXML\\style86\\eolfill = true\r\nXML\\style86\\font = Courier New, 14, 0, 0, 0\r\nXML\\style86\\paper = f6f3ea\r\nXML\\style87\\color = ff\r\nXML\\style87\\eolfill = true\r\nXML\\style87\\font = Courier New, 14, 0, 0, 0\r\nXML\\style87\\paper = f6f3ea\r\nXML\\style90\\color = 808080\r\nXML\\style90\\eolfill = false\r\nXML\\style90\\font = Courier New, 14, 0, 0, 0\r\nXML\\style90\\paper = f6f3ea\r\nXML\\style91\\color = 808080\r\nXML\\style91\\eolfill = true\r\nXML\\style91\\font = Courier New, 14, 0, 0, 0\r\nXML\\style91\\paper = f6f3ea\r\nXML\\style92\\color = 7f00\r\nXML\\style92\\eolfill = true\r\nXML\\style92\\font = Courier New, 14, 0, 0, 0\r\nXML\\style92\\paper = f6f3ea\r\nXML\\style93\\color = 7f7f\r\nXML\\style93\\eolfill = true\r\nXML\\style93\\font = Courier New, 14, 0, 0, 0\r\nXML\\style93\\paper = f6f3ea\r\nXML\\style94\\color = 7f007f\r\nXML\\style94\\eolfill = true\r\nXML\\style94\\font = Courier New, 14, 0, 0, 0\r\nXML\\style94\\paper = f6f3ea\r\nXML\\style95\\color = 7f007f\r\nXML\\style95\\eolfill = true\r\nXML\\style95\\font = Courier New, 14, 0, 0, 0\r\nXML\\style95\\paper = f6f3ea\r\nXML\\style96\\color = 8000ff\r\nXML\\style96\\eolfill = true\r\nXML\\style96\\font = Courier New, 14, 1, 0, 0\r\nXML\\style96\\paper = f6f3ea\r\nXML\\style97\\color = 7f0000\r\nXML\\style97\\eolfill = true\r\nXML\\style97\\font = Courier New, 14, 0, 0, 0\r\nXML\\style97\\paper = f6f3ea\r\nXML\\style98\\color = 7f0000\r\nXML\\style98\\eolfill = true\r\nXML\\style98\\font = Courier New, 14, 0, 0, 0\r\nXML\\style98\\paper = f6f3ea\r\nXML\\style99\\color = ff\r\nXML\\style99\\eolfill = true\r\nXML\\style99\\font = Courier New, 14, 1, 0, 0\r\nXML\\style99\\paper = f6f3ea\r\nXML\\style100\\color = 7f7f\r\nXML\\style100\\eolfill = true\r\nXML\\style100\\font = Courier New, 14, 1, 0, 0\r\nXML\\style100\\paper = f6f3ea\r\nXML\\style101\\color = 0\r\nXML\\style101\\eolfill = true\r\nXML\\style101\\font = Courier New, 14, 1, 0, 0\r\nXML\\style101\\paper = f6f3ea\r\nXML\\style102\\color = 0\r\nXML\\style102\\eolfill = true\r\nXML\\style102\\font = Courier New, 14, 0, 0, 0\r\nXML\\style102\\paper = f6f3ea\r\nXML\\style105\\color = 808080\r\nXML\\style105\\eolfill = false\r\nXML\\style105\\font = Courier New, 14, 0, 0, 0\r\nXML\\style105\\paper = f6f3ea\r\nXML\\style106\\color = 808080\r\nXML\\style106\\eolfill = true\r\nXML\\style106\\font = Courier New, 14, 0, 0, 0\r\nXML\\style106\\paper = f6f3ea\r\nXML\\style107\\color = 7f00\r\nXML\\style107\\eolfill = true\r\nXML\\style107\\font = Courier New, 14, 0, 0, 0\r\nXML\\style107\\paper = f6f3ea\r\nXML\\style108\\color = 7f7f\r\nXML\\style108\\eolfill = true\r\nXML\\style108\\font = Courier New, 14, 0, 0, 0\r\nXML\\style108\\paper = f6f3ea\r\nXML\\style109\\color = 7f007f\r\nXML\\style109\\eolfill = true\r\nXML\\style109\\font = Courier New, 14, 0, 0, 0\r\nXML\\style109\\paper = f6f3ea\r\nXML\\style110\\color = 7f007f\r\nXML\\style110\\eolfill = true\r\nXML\\style110\\font = Courier New, 14, 0, 0, 0\r\nXML\\style110\\paper = f6f3ea\r\nXML\\style111\\color = 8000ff\r\nXML\\style111\\eolfill = true\r\nXML\\style111\\font = Courier New, 14, 1, 0, 0\r\nXML\\style111\\paper = f6f3ea\r\nXML\\style112\\color = 7f0000\r\nXML\\style112\\eolfill = true\r\nXML\\style112\\font = Courier New, 14, 0, 0, 0\r\nXML\\style112\\paper = f6f3ea\r\nXML\\style113\\color = 7f0000\r\nXML\\style113\\eolfill = true\r\nXML\\style113\\font = Courier New, 14, 0, 0, 0\r\nXML\\style113\\paper = f6f3ea\r\nXML\\style114\\color = ff\r\nXML\\style114\\eolfill = true\r\nXML\\style114\\font = Courier New, 14, 1, 0, 0\r\nXML\\style114\\paper = f6f3ea\r\nXML\\style115\\color = 7f7f\r\nXML\\style115\\eolfill = true\r\nXML\\style115\\font = Courier New, 14, 1, 0, 0\r\nXML\\style115\\paper = f6f3ea\r\nXML\\style116\\color = 0\r\nXML\\style116\\eolfill = true\r\nXML\\style116\\font = Courier New, 14, 1, 0, 0\r\nXML\\style116\\paper = f6f3ea\r\nXML\\style117\\color = 0\r\nXML\\style117\\eolfill = true\r\nXML\\style117\\font = Courier New, 14, 0, 0, 0\r\nXML\\style117\\paper = f6f3ea\r\nXML\\style118\\color = 33\r\nXML\\style118\\eolfill = true\r\nXML\\style118\\font = Courier New, 14, 0, 0, 0\r\nXML\\style118\\paper = f6f3ea\r\nXML\\style119\\color = 7f00\r\nXML\\style119\\eolfill = false\r\nXML\\style119\\font = Courier New, 14, 0, 0, 0\r\nXML\\style119\\paper = f6f3ea\r\nXML\\style120\\color = 9f00\r\nXML\\style120\\eolfill = false\r\nXML\\style120\\font = Courier New, 14, 0, 0, 0\r\nXML\\style120\\paper = f6f3ea\r\nXML\\style121\\color = 7f007f\r\nXML\\style121\\eolfill = false\r\nXML\\style121\\font = Courier New, 14, 0, 1, 0\r\nXML\\style121\\paper = f6f3ea\r\nXML\\style122\\color = cc9900\r\nXML\\style122\\eolfill = false\r\nXML\\style122\\font = Courier New, 14, 0, 0, 0\r\nXML\\style122\\paper = f6f3ea\r\nXML\\style123\\color = 8000ff\r\nXML\\style123\\eolfill = false\r\nXML\\style123\\font = Courier New, 14, 0, 1, 0\r\nXML\\style123\\paper = f6f3ea\r\nXML\\style124\\color = 999999\r\nXML\\style124\\eolfill = false\r\nXML\\style124\\font = Courier New, 14, 0, 0, 0\r\nXML\\style124\\paper = f6f3ea\r\nXML\\style125\\color = 666666\r\nXML\\style125\\eolfill = false\r\nXML\\style125\\font = Courier New, 14, 0, 1, 0\r\nXML\\style125\\paper = f6f3ea\r\nXML\\style126\\color = 8000ff\r\nXML\\style126\\eolfill = false\r\nXML\\style126\\font = Courier New, 14, 0, 1, 0\r\nXML\\style126\\paper = f6f3ea\r\nXML\\style127\\color = 0\r\nXML\\style127\\eolfill = false\r\nXML\\style127\\font = Courier New, 14, 0, 0, 0\r\nXML\\style127\\paper = f6f3ea\r\nXML\\properties\\foldcompact = true\r\nXML\\properties\\foldpreprocessor = true\r\nXML\\properties\\casesensitivetags = false\r\nXML\\properties\\foldscriptcomments = false\r\nXML\\properties\\foldscriptheredocs = false\r\nXML\\properties\\djangotemplates = false\r\nXML\\properties\\makotemplates = false\r\nXML\\properties\\scriptsstyled = true\r\nXML\\defaultcolor = 0\r\nXML\\defaultpaper = f6f3ea\r\nXML\\defaultfont = Courier New, 14, 0, 0, 0\r\nXML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/themes/yellow rice/yaml.ini",
    "content": "[Scintilla]\r\nYAML\\style0\\color = 0\r\nYAML\\style0\\eolfill = false\r\nYAML\\style0\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style0\\paper = f6f3ea\r\nYAML\\style1\\color = 8800\r\nYAML\\style1\\eolfill = false\r\nYAML\\style1\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style1\\paper = f6f3ea\r\nYAML\\style2\\color = 88\r\nYAML\\style2\\eolfill = false\r\nYAML\\style2\\font = Courier New, 14, 1, 0, 0\r\nYAML\\style2\\paper = f6f3ea\r\nYAML\\style3\\color = 880088\r\nYAML\\style3\\eolfill = false\r\nYAML\\style3\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style3\\paper = f6f3ea\r\nYAML\\style4\\color = 880000\r\nYAML\\style4\\eolfill = false\r\nYAML\\style4\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style4\\paper = f6f3ea\r\nYAML\\style5\\color = 8888\r\nYAML\\style5\\eolfill = false\r\nYAML\\style5\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style5\\paper = f6f3ea\r\nYAML\\style6\\color = ffffff\r\nYAML\\style6\\eolfill = true\r\nYAML\\style6\\font = Courier New, 9, 1, 0, 0\r\nYAML\\style6\\paper = f6f3ea\r\nYAML\\style7\\color = 333366\r\nYAML\\style7\\eolfill = false\r\nYAML\\style7\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style7\\paper = f6f3ea\r\nYAML\\style8\\color = ffffff\r\nYAML\\style8\\eolfill = true\r\nYAML\\style8\\font = Courier New, 11, 1, 1, 0\r\nYAML\\style8\\paper = f6f3ea\r\nYAML\\style9\\color = 0\r\nYAML\\style9\\eolfill = false\r\nYAML\\style9\\font = Courier New, 14, 0, 0, 0\r\nYAML\\style9\\paper = f6f3ea\r\nYAML\\properties\\foldcomments = false\r\nYAML\\defaultcolor = 0\r\nYAML\\defaultpaper = f6f3ea\r\nYAML\\defaultfont = Courier New, 14, 0, 0, 0\r\nYAML\\autoindentstyle = -1\r\n\r\n"
  },
  {
    "path": "src/userlexdef.cpp",
    "content": "#include \"userlexdef.h\"\r\n#include \"rcglobal.h\"\r\n#include <QSettings>\r\n\r\n\r\nUserLexDef::UserLexDef(QObject *parent):QObject(parent)\r\n{\r\n}\r\n\r\nUserLexDef::~UserLexDef()\r\n{\r\n}\r\n\r\n\r\n//Լһ׶ȡͱõĽӿ\r\n\r\nbool UserLexDef::readUserSettings(QString langTagName)\r\n{\r\n\t//ԶԸʽ\r\n\t//mz:ndd\r\n\t//name:xxx\r\n\t//mother:xxx none/cpp/html \r\n\t//keword:xxx\r\n\r\n\tQString userLangFile = QString(\"notepad/userlang/%1\").arg(langTagName);\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\r\n\tif (!qs.contains(QString(\"mz\")))\r\n\t{\r\n\t\t//MzΪNddļ\r\n\t\treturn false;\r\n\t}\r\n\tif (qs.value(\"mz\").toString() != QString(\"ndd\"))\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\r\n\tm_motherLang = qs.value(\"mother\").toString();\r\n\tm_keyword = qs.value(\"keword\").toString().toUtf8();\r\n\t/*m_keyword.append(\"\\0\");*/\r\n\r\n\treturn true;\r\n\t\r\n}\r\n\r\nvoid UserLexDef::setKeyword(QString words)\r\n{\r\n\tm_keyword = words.toUtf8();\r\n\tif (!m_keyword.endsWith('\\0'))\r\n\t{\r\n\t\tm_keyword.append('\\0');\r\n\t}\r\n}\r\n\r\nvoid UserLexDef::setExtFileTypes(QString extType)\r\n{\r\n\tm_extTypes = extType;\r\n}\r\n\r\nQString UserLangMotherToName(UserLangMother words)\r\n{\r\n\tQString name;\r\n\r\n\tswitch (words)\r\n\t{\r\n\tcase MOTHER_NONE:\r\n\t\tname = \"None\";\r\n\t\tbreak;\r\n\tcase MOTHER_CPP:\r\n\t\tname = \"Cpp\";\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tname = \"None\";\r\n\t\tbreak;\r\n\t}\r\n\treturn name;\r\n}\r\n\r\nvoid UserLexDef::setMotherLang(UserLangMother words)\r\n{\r\n\tm_motherLang = UserLangMotherToName(words);\r\n}\r\n\r\nbool UserLexDef::writeUserSettings(QString langTagName)\r\n{\r\n\t//ԶԸʽ\r\n\t//mz:ndd\r\n\t//name:xxx\r\n\t//mother:xxx none/cpp/html \r\n\t//ext:xx xx xx ļ׺\r\n\t//keyword:xxx\r\n\r\n\tQString userLangFile = QString(\"notepad/userlang/%1\").arg(langTagName);\r\n\tQSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile);\r\n\tqs.setIniCodec(\"UTF-8\");\r\n\tqs.clear();\r\n\r\n\tqs.setValue(\"mz\", langTagName);\r\n\tqs.setValue(\"mother\", m_motherLang); \r\n\tqs.setValue(\"ext\", m_extTypes);\r\n\tqs.setValue(\"keyword\", m_keyword.data());\r\n\r\n\treturn true;\r\n}\r\n\r\nconst char * UserLexDef::keywords(int set) const\r\n{\r\n\tif (m_keyword.isEmpty())\r\n\t{\r\n\t\treturn nullptr;\r\n\t}\r\n\r\n\treturn m_keyword.data();\r\n}\r\n\r\n \r\n"
  },
  {
    "path": "src/userlexdef.h",
    "content": "#pragma once\r\n\r\n#include <QObject>\r\n#include \"rcglobal.h\"\r\n\r\nclass UserLexDef:public QObject\r\n{\r\npublic:\r\n\tUserLexDef(QObject *parent);\r\n\tvirtual ~UserLexDef();\r\n\r\n\tbool readUserSettings(QString langTagName);\r\n\r\n\tvoid setKeyword(QString words);\r\n\r\n\tvoid setExtFileTypes(QString extType);\r\n\r\n\tvoid setMotherLang(UserLangMother words);\r\n\r\n\tbool writeUserSettings(QString langTagName);\r\n\r\n\tconst char *keywords(int set=0) const;\r\n\r\nprivate:\r\n\tQByteArray m_keyword;\r\n\tQString m_motherLang;\r\n\tQString m_extTypes;\r\n};\r\n\r\n"
  },
  {
    "path": "win.bat",
    "content": "cd build/bin\n\nwindeployqt notepad--.exe\n@REM copy .\\src\\qscint\\libqscint.a .\\%1\\plugin\n@REM copy .\\src\\plugin\\^*\\^*.dll .\\%1\\plugin\n"
  },
  {
    "path": "win.mk",
    "content": "\n# 基于 Git Bash 环境编写\n# 设置编译链信息是为了避免环境存在多个Qt环境时编译异常\n\n# 填入Qt的Mingw相关工具安装路径 （不使用MINGW时可不填）\n# 填入Mingw Qt G++程序完整路径\nQt_MINGW_CXX_COMPILER:=d:/SOFT/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe\n# 填入Mingw Qt GCC程序完整路径\nQt_MINGW_C_COMPILER:=d:/SOFT/Qt/Qt5.14.2/Tools/mingw730_64/bin/gcc.exe\n# 填入Mingw Qt库查找路径\nQt_MINGW_PREFIX_PATH:=d:/SOFT/Qt/Qt5.14.2/5.14.2/mingw73_64\n# 指定生成的Makefiles格式\nQt_MINGW_G:=CodeBlocks - MinGW Makefiles\n\n# 填入Qt的msvc相关工具安装路径 （不使用MSVC时可不填）\n# 填入Msvc Qt库查找路径\nQt_MSVC_PREFIX_PATH:=d:/CompilationTools/Qt/5.15.2/msvc2019_64\n\n\nall:msvc\n\n\nmingw:\n\tcmake -G\"${Qt_MINGW_G}\" -Bbuild -DCMAKE_BUILD_TYPE=Release -DPLUGIN_EN=on -DCMAKE_PREFIX_PATH=${Qt_MINGW_PREFIX_PATH} -DCMAKE_CXX_COMPILER=${Qt_MINGW_CXX_COMPILER} -DCMAKE_C_COMPILER=${Qt_MINGW_C_COMPILER} .\n\tcmake --build ./build --config=Release -- -j$$(nproc)\n\tmkdir -p build/bin/plugin\n\tcp -f build/NotePad--.exe build/bin/\n\tcd build/bin && windeployqt --qmldir=${Qt_MINGW_PREFIX_PATH}/qml NotePad--.exe\n\tcp -r -f build/src/*/*/*.dll build/bin/plugin\n\tcp -r -f build/src/*/*.a build/bin/plugin\n\tcd build && cpack --config CPackConfig.cmake\n\nmsvc:\n\tcmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DPLUGIN_EN=on -DCMAKE_PREFIX_PATH=${Qt_MSVC_PREFIX_PATH} .\n\tcmake --build ./build --config=Release -j$$(nproc)\n\tmkdir -p build/bin/plugin\n\tcp -f build/Release/NotePad--.exe build/bin/\n\tcd build/bin && windeployqt  --qmldir=${Qt_MSVC_PREFIX_PATH}/qml NotePad--.exe\n\tcp -r -f build/src/*/*/Release/*.dll build/bin/plugin\n\tcp -r -f build/src/*/Release/*.lib build/bin/plugin\n\tcd build && cpack --config CPackConfig.cmake\n\n"
  }
]